@mui/x-date-pickers 7.22.1 → 8.0.0-alpha.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 (498) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +1 -1
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +3 -3
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +1 -1
  4. package/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts +1 -1
  5. package/AdapterDateFnsV3/AdapterDateFnsV3.d.ts +1 -1
  6. package/AdapterDayjs/AdapterDayjs.d.ts +2 -2
  7. package/AdapterLuxon/AdapterLuxon.d.ts +2 -2
  8. package/AdapterMoment/AdapterMoment.d.ts +2 -2
  9. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +2 -2
  10. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +2 -2
  11. package/CHANGELOG.md +143 -92
  12. package/DateCalendar/DateCalendar.d.ts +1 -2
  13. package/DateCalendar/DateCalendar.js +20 -22
  14. package/DateCalendar/DateCalendar.types.d.ts +21 -31
  15. package/DateCalendar/DayCalendar.d.ts +25 -24
  16. package/DateCalendar/DayCalendar.js +13 -10
  17. package/DateCalendar/index.d.ts +1 -0
  18. package/DateCalendar/useCalendarState.d.ts +16 -16
  19. package/DateCalendar/useIsDateDisabled.d.ts +2 -2
  20. package/DateField/DateField.d.ts +1 -2
  21. package/DateField/DateField.js +8 -10
  22. package/DateField/DateField.types.d.ts +8 -9
  23. package/DateField/index.d.ts +1 -1
  24. package/DateField/useDateField.d.ts +1 -2
  25. package/DatePicker/DatePicker.d.ts +1 -2
  26. package/DatePicker/DatePicker.js +15 -14
  27. package/DatePicker/DatePicker.types.d.ts +10 -11
  28. package/DatePicker/DatePickerToolbar.d.ts +2 -2
  29. package/DatePicker/DatePickerToolbar.js +12 -2
  30. package/DatePicker/shared.d.ts +11 -11
  31. package/DateTimeField/DateTimeField.d.ts +1 -2
  32. package/DateTimeField/DateTimeField.js +9 -12
  33. package/DateTimeField/DateTimeField.types.d.ts +9 -14
  34. package/DateTimeField/index.d.ts +1 -1
  35. package/DateTimeField/useDateTimeField.d.ts +1 -2
  36. package/DateTimePicker/DateTimePicker.d.ts +1 -2
  37. package/DateTimePicker/DateTimePicker.js +16 -16
  38. package/DateTimePicker/DateTimePicker.types.d.ts +10 -13
  39. package/DateTimePicker/DateTimePickerTabs.d.ts +1 -2
  40. package/DateTimePicker/DateTimePickerTabs.js +2 -2
  41. package/DateTimePicker/DateTimePickerToolbar.d.ts +3 -3
  42. package/DateTimePicker/DateTimePickerToolbar.js +12 -2
  43. package/DateTimePicker/shared.d.ts +12 -12
  44. package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -2
  45. package/DesktopDatePicker/DesktopDatePicker.js +17 -16
  46. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -7
  47. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -2
  48. package/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  49. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
  50. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +1 -2
  51. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
  52. package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -2
  53. package/DesktopTimePicker/DesktopTimePicker.js +11 -6
  54. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
  55. package/DigitalClock/DigitalClock.d.ts +1 -2
  56. package/DigitalClock/DigitalClock.js +7 -6
  57. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  58. package/LocalizationProvider/LocalizationProvider.d.ts +12 -12
  59. package/MobileDatePicker/MobileDatePicker.d.ts +1 -2
  60. package/MobileDatePicker/MobileDatePicker.js +17 -16
  61. package/MobileDatePicker/MobileDatePicker.types.d.ts +7 -7
  62. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +2 -2
  63. package/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  64. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +7 -7
  65. package/MobileTimePicker/MobileTimePicker.d.ts +2 -2
  66. package/MobileTimePicker/MobileTimePicker.js +11 -6
  67. package/MobileTimePicker/MobileTimePicker.types.d.ts +7 -7
  68. package/MonthCalendar/MonthCalendar.d.ts +3 -4
  69. package/MonthCalendar/MonthCalendar.js +17 -14
  70. package/MonthCalendar/MonthCalendar.types.d.ts +14 -15
  71. package/MonthCalendar/PickersMonth.js +17 -13
  72. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +1 -2
  73. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
  74. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +3 -4
  75. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +9 -9
  76. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +2 -3
  77. package/PickersActionBar/PickersActionBar.js +2 -2
  78. package/PickersCalendarHeader/PickersCalendarHeader.d.ts +1 -2
  79. package/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  80. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +9 -9
  81. package/PickersDay/PickersDay.d.ts +8 -8
  82. package/PickersLayout/PickersLayout.d.ts +2 -3
  83. package/PickersLayout/PickersLayout.js +10 -0
  84. package/PickersLayout/PickersLayout.types.d.ts +14 -17
  85. package/PickersLayout/index.d.ts +1 -1
  86. package/PickersLayout/usePickerLayout.d.ts +1 -2
  87. package/PickersLayout/usePickerLayout.js +17 -18
  88. package/README.md +2 -2
  89. package/StaticDatePicker/StaticDatePicker.d.ts +1 -2
  90. package/StaticDatePicker/StaticDatePicker.js +14 -13
  91. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  92. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -2
  93. package/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  94. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  95. package/StaticTimePicker/StaticTimePicker.d.ts +1 -2
  96. package/StaticTimePicker/StaticTimePicker.js +8 -3
  97. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  98. package/TimeClock/Clock.d.ts +4 -5
  99. package/TimeClock/Clock.js +3 -3
  100. package/TimeClock/ClockNumbers.d.ts +5 -5
  101. package/TimeClock/TimeClock.d.ts +1 -2
  102. package/TimeClock/TimeClock.js +7 -6
  103. package/TimeClock/TimeClock.types.d.ts +4 -4
  104. package/TimeField/TimeField.d.ts +1 -2
  105. package/TimeField/TimeField.js +6 -6
  106. package/TimeField/TimeField.types.d.ts +9 -14
  107. package/TimeField/index.d.ts +1 -1
  108. package/TimeField/useTimeField.d.ts +1 -2
  109. package/TimePicker/TimePicker.d.ts +1 -2
  110. package/TimePicker/TimePicker.js +9 -4
  111. package/TimePicker/TimePicker.types.d.ts +10 -13
  112. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  113. package/TimePicker/TimePickerToolbar.js +12 -2
  114. package/TimePicker/shared.d.ts +10 -10
  115. package/YearCalendar/PickersYear.js +17 -13
  116. package/YearCalendar/YearCalendar.d.ts +1 -2
  117. package/YearCalendar/YearCalendar.js +17 -14
  118. package/YearCalendar/YearCalendar.types.d.ts +14 -15
  119. package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
  120. package/hooks/index.d.ts +2 -2
  121. package/hooks/index.js +2 -2
  122. package/hooks/useClearableField.js +4 -3
  123. package/hooks/useParsedFormat.d.ts +2 -3
  124. package/hooks/useParsedFormat.js +2 -2
  125. package/hooks/usePickerContext.d.ts +4 -0
  126. package/hooks/usePickerContext.js +15 -0
  127. package/hooks/usePickerTranslations.d.ts +1 -0
  128. package/{modern/hooks/usePickersTranslations.js → hooks/usePickerTranslations.js} +1 -1
  129. package/index.js +1 -1
  130. package/internals/components/{PickersProvider.d.ts → PickerProvider.d.ts} +15 -8
  131. package/internals/components/PickerProvider.js +38 -0
  132. package/internals/hooks/date-helpers-hooks.d.ts +6 -6
  133. package/internals/hooks/defaultizedFieldProps.d.ts +7 -8
  134. package/internals/hooks/useClockReferenceDate.d.ts +5 -5
  135. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -2
  136. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
  137. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +15 -15
  138. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +5 -5
  139. package/internals/hooks/useField/useField.d.ts +3 -3
  140. package/internals/hooks/useField/useField.js +1 -1
  141. package/internals/hooks/useField/useField.types.d.ts +38 -48
  142. package/internals/hooks/useField/useField.utils.d.ts +13 -13
  143. package/internals/hooks/useField/useField.utils.js +2 -1
  144. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +4 -4
  145. package/internals/hooks/useField/useFieldState.d.ts +4 -4
  146. package/internals/hooks/useField/useFieldState.js +3 -3
  147. package/internals/hooks/useField/useFieldV7TextField.js +2 -2
  148. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -2
  149. package/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
  150. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +12 -12
  151. package/internals/hooks/usePicker/usePicker.d.ts +2 -2
  152. package/internals/hooks/usePicker/usePicker.js +12 -4
  153. package/internals/hooks/usePicker/usePicker.types.d.ts +7 -5
  154. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +2 -3
  155. package/internals/hooks/usePicker/usePickerOwnerState.d.ts +4 -3
  156. package/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
  157. package/internals/hooks/usePicker/usePickerProvider.d.ts +10 -0
  158. package/internals/hooks/usePicker/usePickerProvider.js +21 -0
  159. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  160. package/internals/hooks/usePicker/usePickerValue.js +2 -7
  161. package/internals/hooks/usePicker/usePickerValue.types.d.ts +32 -34
  162. package/internals/hooks/usePicker/usePickerViews.d.ts +6 -11
  163. package/internals/hooks/usePickerPrivateContext.d.ts +4 -0
  164. package/internals/hooks/usePickerPrivateContext.js +9 -0
  165. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -2
  166. package/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
  167. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
  168. package/internals/hooks/useUtils.d.ts +7 -7
  169. package/internals/hooks/useValueWithTimezone.d.ts +5 -5
  170. package/internals/hooks/useViews.d.ts +3 -3
  171. package/internals/hooks/useViews.js +1 -1
  172. package/internals/index.d.ts +6 -4
  173. package/internals/index.js +2 -1
  174. package/internals/models/fields.d.ts +32 -7
  175. package/internals/models/formProps.d.ts +14 -0
  176. package/internals/models/helpers.d.ts +0 -4
  177. package/internals/models/index.d.ts +2 -0
  178. package/internals/models/index.js +3 -1
  179. package/internals/models/props/basePickerProps.d.ts +5 -6
  180. package/internals/models/props/{clock.d.ts → time.d.ts} +10 -17
  181. package/internals/models/props/toolbar.d.ts +2 -3
  182. package/internals/models/validation.d.ts +21 -25
  183. package/internals/models/value.d.ts +3 -0
  184. package/internals/models/value.js +1 -0
  185. package/internals/utils/date-time-utils.d.ts +7 -7
  186. package/internals/utils/date-utils.d.ts +16 -16
  187. package/internals/utils/getDefaultReferenceDate.d.ts +10 -10
  188. package/internals/utils/time-utils.d.ts +5 -5
  189. package/internals/utils/valueManagers.d.ts +3 -3
  190. package/locales/beBY.d.ts +3 -3
  191. package/locales/beBY.js +3 -3
  192. package/locales/bgBG.d.ts +3 -3
  193. package/locales/bgBG.js +3 -3
  194. package/locales/caES.d.ts +3 -3
  195. package/locales/caES.js +3 -3
  196. package/locales/csCZ.d.ts +3 -3
  197. package/locales/csCZ.js +3 -3
  198. package/locales/daDK.d.ts +3 -3
  199. package/locales/daDK.js +3 -3
  200. package/locales/deDE.d.ts +3 -3
  201. package/locales/deDE.js +3 -3
  202. package/locales/elGR.d.ts +3 -3
  203. package/locales/elGR.js +12 -13
  204. package/locales/enUS.d.ts +4 -4
  205. package/locales/enUS.js +3 -3
  206. package/locales/esES.d.ts +3 -3
  207. package/locales/esES.js +3 -3
  208. package/locales/eu.d.ts +3 -3
  209. package/locales/eu.js +3 -3
  210. package/locales/faIR.d.ts +3 -3
  211. package/locales/faIR.js +3 -3
  212. package/locales/fiFI.d.ts +3 -3
  213. package/locales/fiFI.js +3 -3
  214. package/locales/frFR.d.ts +3 -3
  215. package/locales/frFR.js +3 -3
  216. package/locales/heIL.d.ts +3 -3
  217. package/locales/heIL.js +3 -3
  218. package/locales/hrHR.d.ts +3 -3
  219. package/locales/hrHR.js +3 -3
  220. package/locales/huHU.d.ts +3 -3
  221. package/locales/huHU.js +3 -3
  222. package/locales/isIS.d.ts +3 -3
  223. package/locales/isIS.js +3 -3
  224. package/locales/itIT.d.ts +3 -3
  225. package/locales/itIT.js +3 -3
  226. package/locales/jaJP.d.ts +3 -3
  227. package/locales/jaJP.js +3 -3
  228. package/locales/koKR.d.ts +3 -3
  229. package/locales/koKR.js +3 -3
  230. package/locales/kzKZ.d.ts +3 -3
  231. package/locales/kzKZ.js +3 -3
  232. package/locales/mk.d.ts +3 -3
  233. package/locales/mk.js +3 -3
  234. package/locales/nbNO.d.ts +3 -3
  235. package/locales/nbNO.js +3 -3
  236. package/locales/nlNL.d.ts +3 -3
  237. package/locales/nlNL.js +3 -3
  238. package/locales/nnNO.d.ts +3 -3
  239. package/locales/nnNO.js +3 -3
  240. package/locales/plPL.d.ts +3 -3
  241. package/locales/plPL.js +3 -3
  242. package/locales/ptBR.d.ts +3 -3
  243. package/locales/ptBR.js +5 -3
  244. package/locales/ptPT.d.ts +3 -3
  245. package/locales/ptPT.js +3 -3
  246. package/locales/roRO.d.ts +3 -3
  247. package/locales/roRO.js +3 -3
  248. package/locales/ruRU.d.ts +3 -3
  249. package/locales/ruRU.js +3 -3
  250. package/locales/skSK.d.ts +3 -3
  251. package/locales/skSK.js +3 -3
  252. package/locales/svSE.d.ts +3 -3
  253. package/locales/svSE.js +3 -3
  254. package/locales/trTR.d.ts +3 -3
  255. package/locales/trTR.js +3 -3
  256. package/locales/ukUA.d.ts +3 -3
  257. package/locales/ukUA.js +3 -3
  258. package/locales/urPK.d.ts +3 -3
  259. package/locales/urPK.js +3 -3
  260. package/locales/utils/getPickersLocalization.d.ts +9 -9
  261. package/locales/utils/getPickersLocalization.js +1 -1
  262. package/locales/utils/pickersLocaleTextApi.d.ts +12 -36
  263. package/locales/viVN.d.ts +3 -3
  264. package/locales/viVN.js +3 -3
  265. package/locales/zhCN.d.ts +3 -3
  266. package/locales/zhCN.js +3 -3
  267. package/locales/zhHK.d.ts +3 -3
  268. package/locales/zhHK.js +3 -3
  269. package/models/adapters.d.ts +151 -202
  270. package/models/fields.d.ts +9 -41
  271. package/models/pickers.d.ts +10 -6
  272. package/modern/DateCalendar/DateCalendar.js +20 -22
  273. package/modern/DateCalendar/DayCalendar.js +13 -10
  274. package/modern/DateField/DateField.js +8 -10
  275. package/modern/DatePicker/DatePicker.js +15 -14
  276. package/modern/DatePicker/DatePickerToolbar.js +12 -2
  277. package/modern/DateTimeField/DateTimeField.js +9 -12
  278. package/modern/DateTimePicker/DateTimePicker.js +16 -16
  279. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  280. package/modern/DateTimePicker/DateTimePickerToolbar.js +12 -2
  281. package/modern/DesktopDatePicker/DesktopDatePicker.js +17 -16
  282. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  283. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
  284. package/modern/DesktopTimePicker/DesktopTimePicker.js +11 -6
  285. package/modern/DigitalClock/DigitalClock.js +7 -6
  286. package/modern/MobileDatePicker/MobileDatePicker.js +17 -16
  287. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  288. package/modern/MobileTimePicker/MobileTimePicker.js +11 -6
  289. package/modern/MonthCalendar/MonthCalendar.js +17 -14
  290. package/modern/MonthCalendar/PickersMonth.js +17 -13
  291. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
  292. package/modern/PickersActionBar/PickersActionBar.js +2 -2
  293. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  294. package/modern/PickersLayout/PickersLayout.js +10 -0
  295. package/modern/PickersLayout/usePickerLayout.js +17 -18
  296. package/modern/StaticDatePicker/StaticDatePicker.js +14 -13
  297. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  298. package/modern/StaticTimePicker/StaticTimePicker.js +8 -3
  299. package/modern/TimeClock/Clock.js +3 -3
  300. package/modern/TimeClock/TimeClock.js +7 -6
  301. package/modern/TimeField/TimeField.js +6 -6
  302. package/modern/TimePicker/TimePicker.js +9 -4
  303. package/modern/TimePicker/TimePickerToolbar.js +12 -2
  304. package/modern/YearCalendar/PickersYear.js +17 -13
  305. package/modern/YearCalendar/YearCalendar.js +17 -14
  306. package/modern/hooks/index.js +2 -2
  307. package/modern/hooks/useClearableField.js +4 -3
  308. package/modern/hooks/useParsedFormat.js +2 -2
  309. package/modern/hooks/usePickerContext.js +15 -0
  310. package/{hooks/usePickersTranslations.js → modern/hooks/usePickerTranslations.js} +1 -1
  311. package/modern/index.js +1 -1
  312. package/modern/internals/components/PickerProvider.js +38 -0
  313. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
  314. package/modern/internals/hooks/useField/useField.js +1 -1
  315. package/modern/internals/hooks/useField/useField.utils.js +2 -1
  316. package/modern/internals/hooks/useField/useFieldState.js +3 -3
  317. package/modern/internals/hooks/useField/useFieldV7TextField.js +2 -2
  318. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
  319. package/modern/internals/hooks/usePicker/usePicker.js +12 -4
  320. package/modern/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
  321. package/modern/internals/hooks/usePicker/usePickerProvider.js +21 -0
  322. package/modern/internals/hooks/usePicker/usePickerValue.js +2 -7
  323. package/modern/internals/hooks/usePickerPrivateContext.js +9 -0
  324. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
  325. package/modern/internals/hooks/useViews.js +1 -1
  326. package/modern/internals/index.js +2 -1
  327. package/modern/internals/models/formProps.js +1 -0
  328. package/modern/internals/models/index.js +3 -1
  329. package/modern/internals/models/props/time.js +1 -0
  330. package/modern/internals/models/value.js +1 -0
  331. package/modern/locales/beBY.js +3 -3
  332. package/modern/locales/bgBG.js +3 -3
  333. package/modern/locales/caES.js +3 -3
  334. package/modern/locales/csCZ.js +3 -3
  335. package/modern/locales/daDK.js +3 -3
  336. package/modern/locales/deDE.js +3 -3
  337. package/modern/locales/elGR.js +12 -13
  338. package/modern/locales/enUS.js +3 -3
  339. package/modern/locales/esES.js +3 -3
  340. package/modern/locales/eu.js +3 -3
  341. package/modern/locales/faIR.js +3 -3
  342. package/modern/locales/fiFI.js +3 -3
  343. package/modern/locales/frFR.js +3 -3
  344. package/modern/locales/heIL.js +3 -3
  345. package/modern/locales/hrHR.js +3 -3
  346. package/modern/locales/huHU.js +3 -3
  347. package/modern/locales/isIS.js +3 -3
  348. package/modern/locales/itIT.js +3 -3
  349. package/modern/locales/jaJP.js +3 -3
  350. package/modern/locales/koKR.js +3 -3
  351. package/modern/locales/kzKZ.js +3 -3
  352. package/modern/locales/mk.js +3 -3
  353. package/modern/locales/nbNO.js +3 -3
  354. package/modern/locales/nlNL.js +3 -3
  355. package/modern/locales/nnNO.js +3 -3
  356. package/modern/locales/plPL.js +3 -3
  357. package/modern/locales/ptBR.js +5 -3
  358. package/modern/locales/ptPT.js +3 -3
  359. package/modern/locales/roRO.js +3 -3
  360. package/modern/locales/ruRU.js +3 -3
  361. package/modern/locales/skSK.js +3 -3
  362. package/modern/locales/svSE.js +3 -3
  363. package/modern/locales/trTR.js +3 -3
  364. package/modern/locales/ukUA.js +3 -3
  365. package/modern/locales/urPK.js +3 -3
  366. package/modern/locales/utils/getPickersLocalization.js +1 -1
  367. package/modern/locales/viVN.js +3 -3
  368. package/modern/locales/zhCN.js +3 -3
  369. package/modern/locales/zhHK.js +3 -3
  370. package/modern/validation/useValidation.js +2 -3
  371. package/modern/validation/validateDate.js +5 -0
  372. package/modern/validation/validateDateTime.js +5 -0
  373. package/modern/validation/validateTime.js +5 -0
  374. package/node/DateCalendar/DateCalendar.js +20 -22
  375. package/node/DateCalendar/DayCalendar.js +13 -10
  376. package/node/DateField/DateField.js +8 -10
  377. package/node/DatePicker/DatePicker.js +15 -14
  378. package/node/DatePicker/DatePickerToolbar.js +12 -2
  379. package/node/DateTimeField/DateTimeField.js +9 -12
  380. package/node/DateTimePicker/DateTimePicker.js +16 -16
  381. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  382. package/node/DateTimePicker/DateTimePickerToolbar.js +12 -2
  383. package/node/DesktopDatePicker/DesktopDatePicker.js +17 -16
  384. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  385. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
  386. package/node/DesktopTimePicker/DesktopTimePicker.js +11 -6
  387. package/node/DigitalClock/DigitalClock.js +7 -6
  388. package/node/MobileDatePicker/MobileDatePicker.js +17 -16
  389. package/node/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  390. package/node/MobileTimePicker/MobileTimePicker.js +11 -6
  391. package/node/MonthCalendar/MonthCalendar.js +17 -14
  392. package/node/MonthCalendar/PickersMonth.js +17 -13
  393. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
  394. package/node/PickersActionBar/PickersActionBar.js +2 -2
  395. package/node/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  396. package/node/PickersLayout/PickersLayout.js +10 -0
  397. package/node/PickersLayout/usePickerLayout.js +17 -18
  398. package/node/StaticDatePicker/StaticDatePicker.js +14 -13
  399. package/node/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  400. package/node/StaticTimePicker/StaticTimePicker.js +8 -3
  401. package/node/TimeClock/Clock.js +3 -3
  402. package/node/TimeClock/TimeClock.js +7 -6
  403. package/node/TimeField/TimeField.js +6 -6
  404. package/node/TimePicker/TimePicker.js +9 -4
  405. package/node/TimePicker/TimePickerToolbar.js +12 -2
  406. package/node/YearCalendar/PickersYear.js +17 -13
  407. package/node/YearCalendar/YearCalendar.js +17 -14
  408. package/node/hooks/index.js +6 -6
  409. package/node/hooks/useClearableField.js +4 -3
  410. package/node/hooks/useParsedFormat.js +2 -2
  411. package/node/hooks/usePickerContext.js +21 -0
  412. package/node/hooks/usePickerTranslations.js +10 -0
  413. package/node/index.js +1 -1
  414. package/node/internals/components/PickerProvider.js +46 -0
  415. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
  416. package/node/internals/hooks/useField/useField.js +1 -1
  417. package/node/internals/hooks/useField/useField.utils.js +2 -1
  418. package/node/internals/hooks/useField/useFieldState.js +3 -3
  419. package/node/internals/hooks/useField/useFieldV7TextField.js +2 -2
  420. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
  421. package/node/internals/hooks/usePicker/usePicker.js +12 -4
  422. package/node/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
  423. package/node/internals/hooks/usePicker/usePickerProvider.js +28 -0
  424. package/node/internals/hooks/usePicker/usePickerValue.js +1 -7
  425. package/node/internals/hooks/usePickerPrivateContext.js +15 -0
  426. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
  427. package/node/internals/hooks/useViews.js +3 -3
  428. package/node/internals/index.js +14 -7
  429. package/node/internals/models/index.js +22 -0
  430. package/node/internals/models/props/time.js +5 -0
  431. package/node/internals/models/value.js +5 -0
  432. package/node/locales/beBY.js +3 -3
  433. package/node/locales/bgBG.js +3 -3
  434. package/node/locales/caES.js +3 -3
  435. package/node/locales/csCZ.js +3 -3
  436. package/node/locales/daDK.js +3 -3
  437. package/node/locales/deDE.js +3 -3
  438. package/node/locales/elGR.js +12 -13
  439. package/node/locales/enUS.js +3 -3
  440. package/node/locales/esES.js +3 -3
  441. package/node/locales/eu.js +3 -3
  442. package/node/locales/faIR.js +3 -3
  443. package/node/locales/fiFI.js +3 -3
  444. package/node/locales/frFR.js +3 -3
  445. package/node/locales/heIL.js +3 -3
  446. package/node/locales/hrHR.js +3 -3
  447. package/node/locales/huHU.js +3 -3
  448. package/node/locales/isIS.js +3 -3
  449. package/node/locales/itIT.js +3 -3
  450. package/node/locales/jaJP.js +3 -3
  451. package/node/locales/koKR.js +3 -3
  452. package/node/locales/kzKZ.js +3 -3
  453. package/node/locales/mk.js +3 -3
  454. package/node/locales/nbNO.js +3 -3
  455. package/node/locales/nlNL.js +3 -3
  456. package/node/locales/nnNO.js +3 -3
  457. package/node/locales/plPL.js +3 -3
  458. package/node/locales/ptBR.js +5 -3
  459. package/node/locales/ptPT.js +3 -3
  460. package/node/locales/roRO.js +3 -3
  461. package/node/locales/ruRU.js +3 -3
  462. package/node/locales/skSK.js +3 -3
  463. package/node/locales/svSE.js +3 -3
  464. package/node/locales/trTR.js +3 -3
  465. package/node/locales/ukUA.js +3 -3
  466. package/node/locales/urPK.js +3 -3
  467. package/node/locales/utils/getPickersLocalization.js +1 -1
  468. package/node/locales/viVN.js +3 -3
  469. package/node/locales/zhCN.js +3 -3
  470. package/node/locales/zhHK.js +3 -3
  471. package/node/validation/useValidation.js +2 -3
  472. package/node/validation/validateDate.js +4 -0
  473. package/node/validation/validateDateTime.js +4 -0
  474. package/node/validation/validateTime.js +4 -0
  475. package/package.json +4 -4
  476. package/themeAugmentation/props.d.ts +28 -28
  477. package/timeViewRenderers/timeViewRenderers.d.ts +6 -6
  478. package/validation/extractValidationProps.d.ts +4 -4
  479. package/validation/useValidation.d.ts +9 -10
  480. package/validation/useValidation.js +2 -3
  481. package/validation/validateDate.d.ts +7 -2
  482. package/validation/validateDate.js +5 -0
  483. package/validation/validateDateTime.d.ts +10 -4
  484. package/validation/validateDateTime.js +5 -0
  485. package/validation/validateTime.d.ts +7 -2
  486. package/validation/validateTime.js +5 -0
  487. package/hooks/usePickersContext.d.ts +0 -4
  488. package/hooks/usePickersContext.js +0 -15
  489. package/hooks/usePickersTranslations.d.ts +0 -2
  490. package/internals/components/PickersProvider.js +0 -26
  491. package/modern/hooks/usePickersContext.js +0 -15
  492. package/modern/internals/components/PickersProvider.js +0 -26
  493. package/node/hooks/usePickersContext.js +0 -21
  494. package/node/hooks/usePickersTranslations.js +0 -10
  495. package/node/internals/components/PickersProvider.js +0 -34
  496. /package/internals/models/{props/clock.js → formProps.js} +0 -0
  497. /package/{modern/internals/models/props/clock.js → internals/models/props/time.js} +0 -0
  498. /package/node/internals/models/{props/clock.js → formProps.js} +0 -0
@@ -2,9 +2,9 @@ import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/utils';
3
3
  import MenuItem from '@mui/material/MenuItem';
4
4
  import { DigitalClockClasses } from './digitalClockClasses';
5
- import { BaseClockProps, DigitalClockOnlyProps, ExportedBaseClockProps } from '../internals/models/props/clock';
6
- import { PickerValidDate, TimeView } from '../models';
7
- export interface ExportedDigitalClockProps<TDate extends PickerValidDate> extends ExportedBaseClockProps<TDate>, DigitalClockOnlyProps {
5
+ import { BaseClockProps, DigitalClockOnlyProps, ExportedBaseClockProps } from '../internals/models/props/time';
6
+ import { TimeView } from '../models';
7
+ export interface ExportedDigitalClockProps extends ExportedBaseClockProps, DigitalClockOnlyProps {
8
8
  }
9
9
  export interface DigitalClockSlots {
10
10
  /**
@@ -16,7 +16,7 @@ export interface DigitalClockSlots {
16
16
  export interface DigitalClockSlotProps {
17
17
  digitalClockItem?: SlotComponentProps<typeof MenuItem, {}, Record<string, any>>;
18
18
  }
19
- export interface DigitalClockProps<TDate extends PickerValidDate> extends ExportedDigitalClockProps<TDate>, BaseClockProps<TDate, Extract<TimeView, 'hours'>> {
19
+ export interface DigitalClockProps extends ExportedDigitalClockProps, BaseClockProps<Extract<TimeView, 'hours'>> {
20
20
  /**
21
21
  * Available views.
22
22
  * @default ['hours']
@@ -1,25 +1,25 @@
1
1
  import * as React from 'react';
2
2
  import { AdapterFormats, MuiPickersAdapter, PickerValidDate } from '../models';
3
3
  import { PickersInputLocaleText } from '../locales';
4
- export interface MuiPickersAdapterContextValue<TDate extends PickerValidDate> {
4
+ export interface MuiPickersAdapterContextValue {
5
5
  defaultDates: {
6
- minDate: TDate;
7
- maxDate: TDate;
6
+ minDate: PickerValidDate;
7
+ maxDate: PickerValidDate;
8
8
  };
9
- utils: MuiPickersAdapter<TDate>;
10
- localeText: PickersInputLocaleText<TDate> | undefined;
9
+ utils: MuiPickersAdapter;
10
+ localeText: PickersInputLocaleText | undefined;
11
11
  }
12
- export type MuiPickersAdapterContextNullableValue<TDate extends PickerValidDate> = {
13
- [K in keyof MuiPickersAdapterContextValue<TDate>]: MuiPickersAdapterContextValue<TDate>[K] | null;
12
+ export type MuiPickersAdapterContextNullableValue = {
13
+ [K in keyof MuiPickersAdapterContextValue]: MuiPickersAdapterContextValue[K] | null;
14
14
  };
15
- export declare const MuiPickersAdapterContext: React.Context<MuiPickersAdapterContextNullableValue<any> | null>;
16
- export interface LocalizationProviderProps<TDate extends PickerValidDate, TLocale> {
15
+ export declare const MuiPickersAdapterContext: React.Context<MuiPickersAdapterContextNullableValue | null>;
16
+ export interface LocalizationProviderProps<TLocale> {
17
17
  children?: React.ReactNode;
18
18
  /**
19
19
  * Date library adapter class function.
20
20
  * @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#setup-your-date-library-adapter date adapter setup section} for more details.
21
21
  */
22
- dateAdapter?: new (...args: any) => MuiPickersAdapter<TDate, TLocale>;
22
+ dateAdapter?: new (...args: any) => MuiPickersAdapter<TLocale>;
23
23
  /** Formats that are used for any child pickers */
24
24
  dateFormats?: Partial<AdapterFormats>;
25
25
  /**
@@ -36,9 +36,9 @@ export interface LocalizationProviderProps<TDate extends PickerValidDate, TLocal
36
36
  /**
37
37
  * Locale for components texts
38
38
  */
39
- localeText?: PickersInputLocaleText<TDate>;
39
+ localeText?: PickersInputLocaleText;
40
40
  }
41
- type LocalizationProviderComponent = (<TDate extends PickerValidDate, TLocale>(props: LocalizationProviderProps<TDate, TLocale>) => React.JSX.Element) & {
41
+ type LocalizationProviderComponent = (<TLocale>(props: LocalizationProviderProps<TLocale>) => React.JSX.Element) & {
42
42
  propTypes?: any;
43
43
  };
44
44
  /**
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { MobileDatePickerProps } from './MobileDatePicker.types';
3
- import { PickerValidDate } from '../models';
4
- type MobileDatePickerComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MobileDatePickerProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ type MobileDatePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileDatePickerProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
4
  propTypes?: any;
6
5
  };
7
6
  /**
@@ -7,7 +7,7 @@ import resolveComponentProps from '@mui/utils/resolveComponentProps';
7
7
  import { refType } from '@mui/utils';
8
8
  import { useMobilePicker } from "../internals/hooks/useMobilePicker/index.js";
9
9
  import { useDatePickerDefaultizedProps } from "../DatePicker/shared.js";
10
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
10
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
11
11
  import { useUtils } from "../internals/hooks/useUtils.js";
12
12
  import { extractValidationProps, validateDate } from "../validation/index.js";
13
13
  import { DateField } from "../DateField/index.js";
@@ -26,7 +26,7 @@ import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalizat
26
26
  * - [MobileDatePicker API](https://mui.com/x/api/date-pickers/mobile-date-picker/)
27
27
  */
28
28
  const MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
29
- const translations = usePickersTranslations();
29
+ const translations = usePickerTranslations();
30
30
  const utils = useUtils();
31
31
 
32
32
  // Props with the default values common to all date pickers
@@ -89,9 +89,9 @@ MobileDatePicker.propTypes = {
89
89
  closeOnSelect: PropTypes.bool,
90
90
  /**
91
91
  * Formats the day of week displayed in the calendar header.
92
- * @param {TDate} date The date of the day of week provided by the adapter.
92
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
93
93
  * @returns {string} The name to display.
94
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
94
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
95
95
  */
96
96
  dayOfWeekFormatter: PropTypes.func,
97
97
  /**
@@ -100,7 +100,8 @@ MobileDatePicker.propTypes = {
100
100
  */
101
101
  defaultValue: PropTypes.object,
102
102
  /**
103
- * If `true`, the picker and text field are disabled.
103
+ * If `true`, the component is disabled.
104
+ * When disabled, the value cannot be changed and no interaction is possible.
104
105
  * @default false
105
106
  */
106
107
  disabled: PropTypes.bool,
@@ -129,7 +130,7 @@ MobileDatePicker.propTypes = {
129
130
  */
130
131
  displayWeekNumber: PropTypes.bool,
131
132
  /**
132
- * @default false
133
+ * @default true
133
134
  */
134
135
  enableAccessibleFieldDOMStructure: PropTypes.any,
135
136
  /**
@@ -219,8 +220,7 @@ MobileDatePicker.propTypes = {
219
220
  onError: PropTypes.func,
220
221
  /**
221
222
  * Callback fired on month change.
222
- * @template TDate
223
- * @param {TDate} month The new month.
223
+ * @param {PickerValidDate} month The new month.
224
224
  */
225
225
  onMonthChange: PropTypes.func,
226
226
  /**
@@ -241,8 +241,7 @@ MobileDatePicker.propTypes = {
241
241
  onViewChange: PropTypes.func,
242
242
  /**
243
243
  * Callback fired on year change.
244
- * @template TDate
245
- * @param {TDate} year The new year.
244
+ * @param {PickerValidDate} year The new year.
246
245
  */
247
246
  onYearChange: PropTypes.func,
248
247
  /**
@@ -260,6 +259,11 @@ MobileDatePicker.propTypes = {
260
259
  * Force rendering in particular orientation.
261
260
  */
262
261
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
262
+ /**
263
+ * If `true`, the component is read-only.
264
+ * When read-only, the value cannot be changed but the user can interact with the interface.
265
+ * @default false
266
+ */
263
267
  readOnly: PropTypes.bool,
264
268
  /**
265
269
  * If `true`, disable heavy animations.
@@ -292,22 +296,19 @@ MobileDatePicker.propTypes = {
292
296
  *
293
297
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
294
298
  *
295
- * @template TDate
296
- * @param {TDate} day The date to test.
299
+ * @param {PickerValidDate} day The date to test.
297
300
  * @returns {boolean} If `true` the date will be disabled.
298
301
  */
299
302
  shouldDisableDate: PropTypes.func,
300
303
  /**
301
304
  * Disable specific month.
302
- * @template TDate
303
- * @param {TDate} month The month to test.
305
+ * @param {PickerValidDate} month The month to test.
304
306
  * @returns {boolean} If `true`, the month will be disabled.
305
307
  */
306
308
  shouldDisableMonth: PropTypes.func,
307
309
  /**
308
310
  * Disable specific year.
309
- * @template TDate
310
- * @param {TDate} year The year to test.
311
+ * @param {PickerValidDate} year The year to test.
311
312
  * @returns {boolean} If `true`, the year will be disabled.
312
313
  */
313
314
  shouldDisableYear: PropTypes.func,
@@ -1,22 +1,22 @@
1
+ import { MakeOptional } from '@mui/x-internals/types';
1
2
  import { UseMobilePickerSlots, MobileOnlyPickerProps, ExportedUseMobilePickerSlotProps } from '../internals/hooks/useMobilePicker';
2
3
  import { BaseDatePickerProps, BaseDatePickerSlots, BaseDatePickerSlotProps } from '../DatePicker/shared';
3
- import { MakeOptional } from '../internals/models/helpers';
4
- import { DateView, PickerValidDate } from '../models';
5
- export interface MobileDatePickerSlots<TDate extends PickerValidDate> extends BaseDatePickerSlots<TDate>, MakeOptional<UseMobilePickerSlots<TDate, DateView>, 'field'> {
4
+ import { DateView } from '../models';
5
+ export interface MobileDatePickerSlots extends BaseDatePickerSlots, MakeOptional<UseMobilePickerSlots<DateView>, 'field'> {
6
6
  }
7
- export interface MobileDatePickerSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDatePickerSlotProps<TDate>, ExportedUseMobilePickerSlotProps<TDate, DateView, TEnableAccessibleFieldDOMStructure> {
7
+ export interface MobileDatePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDatePickerSlotProps, ExportedUseMobilePickerSlotProps<DateView, TEnableAccessibleFieldDOMStructure> {
8
8
  }
9
- export interface MobileDatePickerProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends BaseDatePickerProps<TDate>, MobileOnlyPickerProps {
9
+ export interface MobileDatePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDatePickerProps, MobileOnlyPickerProps {
10
10
  /**
11
11
  * Overridable component slots.
12
12
  * @default {}
13
13
  */
14
- slots?: MobileDatePickerSlots<TDate>;
14
+ slots?: MobileDatePickerSlots;
15
15
  /**
16
16
  * The props used for each component slot.
17
17
  * @default {}
18
18
  */
19
- slotProps?: MobileDatePickerSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
19
+ slotProps?: MobileDatePickerSlotProps<TEnableAccessibleFieldDOMStructure>;
20
20
  /**
21
21
  * Years rendered per row.
22
22
  * @default 3
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { MobileDateTimePickerProps } from './MobileDateTimePicker.types';
3
- import { DateOrTimeView, PickerValidDate } from '../models';
4
- type MobileDateTimePickerComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MobileDateTimePickerProps<TDate, DateOrTimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ import { DateOrTimeView } from '../models';
4
+ type MobileDateTimePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileDateTimePickerProps<DateOrTimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
5
  propTypes?: any;
6
6
  };
7
7
  /**
@@ -8,7 +8,7 @@ import { refType } from '@mui/utils';
8
8
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
9
9
  import { DateTimeField } from "../DateTimeField/index.js";
10
10
  import { useDateTimePickerDefaultizedProps } from "../DateTimePicker/shared.js";
11
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
11
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
12
12
  import { useUtils } from "../internals/hooks/useUtils.js";
13
13
  import { extractValidationProps, validateDateTime } from "../validation/index.js";
14
14
  import { useMobilePicker } from "../internals/hooks/useMobilePicker/index.js";
@@ -27,7 +27,7 @@ import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalizat
27
27
  * - [MobileDateTimePicker API](https://mui.com/x/api/date-pickers/mobile-date-time-picker/)
28
28
  */
29
29
  const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimePicker(inProps, ref) {
30
- const translations = usePickersTranslations();
30
+ const translations = usePickerTranslations();
31
31
  const utils = useUtils();
32
32
 
33
33
  // Props with the default values common to all date time pickers
@@ -109,9 +109,9 @@ MobileDateTimePicker.propTypes = {
109
109
  closeOnSelect: PropTypes.bool,
110
110
  /**
111
111
  * Formats the day of week displayed in the calendar header.
112
- * @param {TDate} date The date of the day of week provided by the adapter.
112
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
113
113
  * @returns {string} The name to display.
114
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
114
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
115
115
  */
116
116
  dayOfWeekFormatter: PropTypes.func,
117
117
  /**
@@ -120,7 +120,8 @@ MobileDateTimePicker.propTypes = {
120
120
  */
121
121
  defaultValue: PropTypes.object,
122
122
  /**
123
- * If `true`, the picker and text field are disabled.
123
+ * If `true`, the component is disabled.
124
+ * When disabled, the value cannot be changed and no interaction is possible.
124
125
  * @default false
125
126
  */
126
127
  disabled: PropTypes.bool,
@@ -154,7 +155,7 @@ MobileDateTimePicker.propTypes = {
154
155
  */
155
156
  displayWeekNumber: PropTypes.bool,
156
157
  /**
157
- * @default false
158
+ * @default true
158
159
  */
159
160
  enableAccessibleFieldDOMStructure: PropTypes.any,
160
161
  /**
@@ -267,8 +268,7 @@ MobileDateTimePicker.propTypes = {
267
268
  onError: PropTypes.func,
268
269
  /**
269
270
  * Callback fired on month change.
270
- * @template TDate
271
- * @param {TDate} month The new month.
271
+ * @param {PickerValidDate} month The new month.
272
272
  */
273
273
  onMonthChange: PropTypes.func,
274
274
  /**
@@ -289,8 +289,7 @@ MobileDateTimePicker.propTypes = {
289
289
  onViewChange: PropTypes.func,
290
290
  /**
291
291
  * Callback fired on year change.
292
- * @template TDate
293
- * @param {TDate} year The new year.
292
+ * @param {PickerValidDate} year The new year.
294
293
  */
295
294
  onYearChange: PropTypes.func,
296
295
  /**
@@ -308,6 +307,11 @@ MobileDateTimePicker.propTypes = {
308
307
  * Force rendering in particular orientation.
309
308
  */
310
309
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
310
+ /**
311
+ * If `true`, the component is read-only.
312
+ * When read-only, the value cannot be changed but the user can interact with the interface.
313
+ * @default false
314
+ */
311
315
  readOnly: PropTypes.bool,
312
316
  /**
313
317
  * If `true`, disable heavy animations.
@@ -340,30 +344,26 @@ MobileDateTimePicker.propTypes = {
340
344
  *
341
345
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
342
346
  *
343
- * @template TDate
344
- * @param {TDate} day The date to test.
347
+ * @param {PickerValidDate} day The date to test.
345
348
  * @returns {boolean} If `true` the date will be disabled.
346
349
  */
347
350
  shouldDisableDate: PropTypes.func,
348
351
  /**
349
352
  * Disable specific month.
350
- * @template TDate
351
- * @param {TDate} month The month to test.
353
+ * @param {PickerValidDate} month The month to test.
352
354
  * @returns {boolean} If `true`, the month will be disabled.
353
355
  */
354
356
  shouldDisableMonth: PropTypes.func,
355
357
  /**
356
358
  * Disable specific time.
357
- * @template TDate
358
- * @param {TDate} value The value to check.
359
+ * @param {PickerValidDate} value The value to check.
359
360
  * @param {TimeView} view The clock type of the timeValue.
360
361
  * @returns {boolean} If `true` the time will be disabled.
361
362
  */
362
363
  shouldDisableTime: PropTypes.func,
363
364
  /**
364
365
  * Disable specific year.
365
- * @template TDate
366
- * @param {TDate} year The year to test.
366
+ * @param {PickerValidDate} year The year to test.
367
367
  * @returns {boolean} If `true`, the year will be disabled.
368
368
  */
369
369
  shouldDisableYear: PropTypes.func,
@@ -1,21 +1,21 @@
1
+ import { MakeOptional } from '@mui/x-internals/types';
1
2
  import { UseMobilePickerSlots, ExportedUseMobilePickerSlotProps, MobileOnlyPickerProps } from '../internals/hooks/useMobilePicker';
2
3
  import { BaseDateTimePickerProps, BaseDateTimePickerSlots, BaseDateTimePickerSlotProps } from '../DateTimePicker/shared';
3
- import { MakeOptional } from '../internals/models/helpers';
4
- import { DateOrTimeView, PickerValidDate } from '../models';
4
+ import { DateOrTimeView } from '../models';
5
5
  import { DateOrTimeViewWithMeridiem } from '../internals/models';
6
- export interface MobileDateTimePickerSlots<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends BaseDateTimePickerSlots<TDate>, MakeOptional<UseMobilePickerSlots<TDate, TView>, 'field'> {
6
+ export interface MobileDateTimePickerSlots<TView extends DateOrTimeViewWithMeridiem> extends BaseDateTimePickerSlots, MakeOptional<UseMobilePickerSlots<TView>, 'field'> {
7
7
  }
8
- export interface MobileDateTimePickerSlotProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps<TDate>, ExportedUseMobilePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure> {
8
+ export interface MobileDateTimePickerSlotProps<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps, ExportedUseMobilePickerSlotProps<TView, TEnableAccessibleFieldDOMStructure> {
9
9
  }
10
- export interface MobileDateTimePickerProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem = DateOrTimeView, TEnableAccessibleFieldDOMStructure extends boolean = false> extends BaseDateTimePickerProps<TDate, TView>, MobileOnlyPickerProps {
10
+ export interface MobileDateTimePickerProps<TView extends DateOrTimeViewWithMeridiem = DateOrTimeView, TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDateTimePickerProps<TView>, MobileOnlyPickerProps {
11
11
  /**
12
12
  * Overridable component slots.
13
13
  * @default {}
14
14
  */
15
- slots?: MobileDateTimePickerSlots<TDate, TView>;
15
+ slots?: MobileDateTimePickerSlots<TView>;
16
16
  /**
17
17
  * The props used for each component slot.
18
18
  * @default {}
19
19
  */
20
- slotProps?: MobileDateTimePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure>;
20
+ slotProps?: MobileDateTimePickerSlotProps<TView, TEnableAccessibleFieldDOMStructure>;
21
21
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { MobileTimePickerProps } from './MobileTimePicker.types';
3
- import { PickerValidDate, TimeView } from '../models';
4
- type MobileTimePickerComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MobileTimePickerProps<TDate, TimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ import { TimeView } from '../models';
4
+ type MobileTimePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileTimePickerProps<TimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
5
  propTypes?: any;
6
6
  };
7
7
  /**
@@ -8,7 +8,7 @@ import { refType } from '@mui/utils';
8
8
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
9
9
  import { TimeField } from "../TimeField/index.js";
10
10
  import { useTimePickerDefaultizedProps } from "../TimePicker/shared.js";
11
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
11
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
12
12
  import { useUtils } from "../internals/hooks/useUtils.js";
13
13
  import { extractValidationProps, validateTime } from "../validation/index.js";
14
14
  import { useMobilePicker } from "../internals/hooks/useMobilePicker/index.js";
@@ -26,7 +26,7 @@ import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalizat
26
26
  * - [MobileTimePicker API](https://mui.com/x/api/date-pickers/mobile-time-picker/)
27
27
  */
28
28
  const MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(inProps, ref) {
29
- const translations = usePickersTranslations();
29
+ const translations = usePickerTranslations();
30
30
  const utils = useUtils();
31
31
 
32
32
  // Props with the default values common to all time pickers
@@ -106,7 +106,8 @@ MobileTimePicker.propTypes = {
106
106
  */
107
107
  defaultValue: PropTypes.object,
108
108
  /**
109
- * If `true`, the picker and text field are disabled.
109
+ * If `true`, the component is disabled.
110
+ * When disabled, the value cannot be changed and no interaction is possible.
110
111
  * @default false
111
112
  */
112
113
  disabled: PropTypes.bool,
@@ -131,7 +132,7 @@ MobileTimePicker.propTypes = {
131
132
  */
132
133
  disablePast: PropTypes.bool,
133
134
  /**
134
- * @default false
135
+ * @default true
135
136
  */
136
137
  enableAccessibleFieldDOMStructure: PropTypes.any,
137
138
  /**
@@ -239,6 +240,11 @@ MobileTimePicker.propTypes = {
239
240
  * Force rendering in particular orientation.
240
241
  */
241
242
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
243
+ /**
244
+ * If `true`, the component is read-only.
245
+ * When read-only, the value cannot be changed but the user can interact with the interface.
246
+ * @default false
247
+ */
242
248
  readOnly: PropTypes.bool,
243
249
  /**
244
250
  * If `true`, disable heavy animations.
@@ -262,8 +268,7 @@ MobileTimePicker.propTypes = {
262
268
  selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
263
269
  /**
264
270
  * Disable specific time.
265
- * @template TDate
266
- * @param {TDate} value The value to check.
271
+ * @param {PickerValidDate} value The value to check.
267
272
  * @param {TimeView} view The clock type of the timeValue.
268
273
  * @returns {boolean} If `true` the time will be disabled.
269
274
  */
@@ -1,21 +1,21 @@
1
+ import { MakeOptional } from '@mui/x-internals/types';
1
2
  import { UseMobilePickerSlots, ExportedUseMobilePickerSlotProps, MobileOnlyPickerProps } from '../internals/hooks/useMobilePicker';
2
3
  import { BaseTimePickerProps, BaseTimePickerSlots, BaseTimePickerSlotProps } from '../TimePicker/shared';
3
- import { MakeOptional } from '../internals/models/helpers';
4
- import { PickerValidDate, TimeView } from '../models';
4
+ import { TimeView } from '../models';
5
5
  import { TimeViewWithMeridiem } from '../internals/models';
6
- export interface MobileTimePickerSlots<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem> extends BaseTimePickerSlots<TDate>, MakeOptional<UseMobilePickerSlots<TDate, TView>, 'field'> {
6
+ export interface MobileTimePickerSlots<TView extends TimeViewWithMeridiem> extends BaseTimePickerSlots, MakeOptional<UseMobilePickerSlots<TView>, 'field'> {
7
7
  }
8
- export interface MobileTimePickerSlotProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseTimePickerSlotProps, ExportedUseMobilePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure> {
8
+ export interface MobileTimePickerSlotProps<TView extends TimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseTimePickerSlotProps, ExportedUseMobilePickerSlotProps<TView, TEnableAccessibleFieldDOMStructure> {
9
9
  }
10
- export interface MobileTimePickerProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem = TimeView, TEnableAccessibleFieldDOMStructure extends boolean = false> extends BaseTimePickerProps<TDate, TView>, MobileOnlyPickerProps {
10
+ export interface MobileTimePickerProps<TView extends TimeViewWithMeridiem = TimeView, TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseTimePickerProps<TView>, MobileOnlyPickerProps {
11
11
  /**
12
12
  * Overridable component slots.
13
13
  * @default {}
14
14
  */
15
- slots?: MobileTimePickerSlots<TDate, TView>;
15
+ slots?: MobileTimePickerSlots<TView>;
16
16
  /**
17
17
  * The props used for each component slot.
18
18
  * @default {}
19
19
  */
20
- slotProps?: MobileTimePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure>;
20
+ slotProps?: MobileTimePickerSlotProps<TView, TEnableAccessibleFieldDOMStructure>;
21
21
  }
@@ -1,9 +1,8 @@
1
1
  import * as React from 'react';
2
- import { DefaultizedProps } from '../internals/models/helpers';
2
+ import { DefaultizedProps } from '@mui/x-internals/types';
3
3
  import { MonthCalendarProps } from './MonthCalendar.types';
4
- import { PickerValidDate } from '../models';
5
- export declare function useMonthCalendarDefaultizedProps<TDate extends PickerValidDate>(props: MonthCalendarProps<TDate>, name: string): DefaultizedProps<MonthCalendarProps<TDate>, 'minDate' | 'maxDate' | 'disableFuture' | 'disablePast'>;
6
- type MonthCalendarComponent = (<TDate extends PickerValidDate>(props: MonthCalendarProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ export declare function useMonthCalendarDefaultizedProps(props: MonthCalendarProps, name: string): DefaultizedProps<MonthCalendarProps, 'minDate' | 'maxDate' | 'disableFuture' | 'disablePast'>;
5
+ type MonthCalendarComponent = ((props: MonthCalendarProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
6
  propTypes?: any;
8
7
  };
9
8
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
- const _excluded = ["className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "shouldDisableMonth", "readOnly", "disableHighlightToday", "autoFocus", "onMonthFocus", "hasFocus", "onFocusedViewChange", "monthsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
5
+ const _excluded = ["className", "classes", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "shouldDisableMonth", "readOnly", "disableHighlightToday", "autoFocus", "onMonthFocus", "hasFocus", "onFocusedViewChange", "monthsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
@@ -17,11 +17,9 @@ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
17
17
  import { SECTION_TYPE_GRANULARITY } from "../internals/utils/getDefaultReferenceDate.js";
18
18
  import { useControlledValueWithTimezone } from "../internals/hooks/useValueWithTimezone.js";
19
19
  import { DIALOG_WIDTH } from "../internals/constants/dimensions.js";
20
+ import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
20
21
  import { jsx as _jsx } from "react/jsx-runtime";
21
- const useUtilityClasses = ownerState => {
22
- const {
23
- classes
24
- } = ownerState;
22
+ const useUtilityClasses = classes => {
25
23
  const slots = {
26
24
  root: ['root']
27
25
  };
@@ -68,6 +66,7 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
68
66
  const props = useMonthCalendarDefaultizedProps(inProps, 'MuiMonthCalendar');
69
67
  const {
70
68
  className,
69
+ classes: classesProp,
71
70
  value: valueProp,
72
71
  defaultValue,
73
72
  referenceDate: referenceDateProp,
@@ -99,12 +98,15 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
99
98
  timezone: timezoneProp,
100
99
  value: valueProp,
101
100
  defaultValue,
102
- onChange: onChange,
101
+ onChange,
103
102
  valueManager: singleItemValueManager
104
103
  });
105
104
  const now = useNow(timezone);
106
105
  const isRtl = useRtl();
107
106
  const utils = useUtils();
107
+ const {
108
+ ownerState
109
+ } = usePickerPrivateContext();
108
110
  const referenceDate = React.useMemo(() => singleItemValueManager.getInitialReferenceValue({
109
111
  value,
110
112
  utils,
@@ -114,8 +116,7 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
114
116
  granularity: SECTION_TYPE_GRANULARITY.month
115
117
  }), [] // eslint-disable-line react-hooks/exhaustive-deps
116
118
  );
117
- const ownerState = props;
118
- const classes = useUtilityClasses(ownerState);
119
+ const classes = useUtilityClasses(classesProp);
119
120
  const todayMonth = React.useMemo(() => utils.getMonth(now), [utils, now]);
120
121
  const selectedMonth = React.useMemo(() => {
121
122
  if (value != null) {
@@ -252,7 +253,9 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
252
253
  */
253
254
  defaultValue: PropTypes.object,
254
255
  /**
255
- * If `true` picker is disabled
256
+ * If `true`, the component is disabled.
257
+ * When disabled, the value cannot be changed and no interaction is possible.
258
+ * @default false
256
259
  */
257
260
  disabled: PropTypes.bool,
258
261
  /**
@@ -289,14 +292,15 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
289
292
  monthsPerRow: PropTypes.oneOf([3, 4]),
290
293
  /**
291
294
  * Callback fired when the value changes.
292
- * @template TDate
293
- * @param {TDate} value The new value.
295
+ * @param {PickerValidDate} value The new value.
294
296
  */
295
297
  onChange: PropTypes.func,
296
298
  onFocusedViewChange: PropTypes.func,
297
299
  onMonthFocus: PropTypes.func,
298
300
  /**
299
- * If `true` picker is readonly
301
+ * If `true`, the component is read-only.
302
+ * When read-only, the value cannot be changed but the user can interact with the interface.
303
+ * @default false
300
304
  */
301
305
  readOnly: PropTypes.bool,
302
306
  /**
@@ -306,8 +310,7 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
306
310
  referenceDate: PropTypes.object,
307
311
  /**
308
312
  * Disable specific month.
309
- * @template TDate
310
- * @param {TDate} month The month to test.
313
+ * @param {PickerValidDate} month The month to test.
311
314
  * @returns {boolean} If `true`, the month will be disabled.
312
315
  */
313
316
  shouldDisableMonth: PropTypes.func,