@mui/x-date-pickers 7.22.3 → 8.0.0-alpha.1

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 (514) 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 +348 -12
  12. package/DateCalendar/DateCalendar.d.ts +1 -2
  13. package/DateCalendar/DateCalendar.js +21 -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 +2 -4
  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 +5 -5
  42. package/DateTimePicker/DateTimePickerToolbar.js +8 -7
  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 +0 -2
  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 +8 -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 +18 -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 +8 -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 +0 -2
  84. package/PickersLayout/PickersLayout.types.d.ts +16 -19
  85. package/PickersLayout/index.d.ts +1 -1
  86. package/PickersLayout/usePickerLayout.d.ts +1 -2
  87. package/PickersLayout/usePickerLayout.js +18 -23
  88. package/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
  89. package/PickersTextField/PickersTextField.js +2 -2
  90. package/README.md +4 -4
  91. package/StaticDatePicker/StaticDatePicker.d.ts +1 -2
  92. package/StaticDatePicker/StaticDatePicker.js +14 -13
  93. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  94. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -2
  95. package/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  96. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  97. package/StaticTimePicker/StaticTimePicker.d.ts +1 -2
  98. package/StaticTimePicker/StaticTimePicker.js +8 -3
  99. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  100. package/TimeClock/Clock.d.ts +4 -5
  101. package/TimeClock/Clock.js +4 -3
  102. package/TimeClock/ClockNumbers.d.ts +5 -5
  103. package/TimeClock/TimeClock.d.ts +1 -2
  104. package/TimeClock/TimeClock.js +8 -6
  105. package/TimeClock/TimeClock.types.d.ts +4 -4
  106. package/TimeField/TimeField.d.ts +1 -2
  107. package/TimeField/TimeField.js +6 -6
  108. package/TimeField/TimeField.types.d.ts +9 -14
  109. package/TimeField/index.d.ts +1 -1
  110. package/TimeField/useTimeField.d.ts +1 -2
  111. package/TimePicker/TimePicker.d.ts +1 -2
  112. package/TimePicker/TimePicker.js +9 -4
  113. package/TimePicker/TimePicker.types.d.ts +10 -13
  114. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  115. package/TimePicker/TimePickerToolbar.js +8 -7
  116. package/TimePicker/shared.d.ts +10 -10
  117. package/YearCalendar/PickersYear.js +17 -13
  118. package/YearCalendar/YearCalendar.d.ts +1 -2
  119. package/YearCalendar/YearCalendar.js +18 -14
  120. package/YearCalendar/YearCalendar.types.d.ts +14 -15
  121. package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
  122. package/hooks/index.d.ts +2 -2
  123. package/hooks/index.js +2 -2
  124. package/hooks/useClearableField.js +4 -3
  125. package/hooks/useParsedFormat.d.ts +2 -3
  126. package/hooks/useParsedFormat.js +2 -2
  127. package/hooks/usePickerContext.d.ts +4 -0
  128. package/hooks/usePickerContext.js +15 -0
  129. package/hooks/usePickerTranslations.d.ts +1 -0
  130. package/{modern/hooks/usePickersTranslations.js → hooks/usePickerTranslations.js} +1 -1
  131. package/hooks/useSplitFieldProps.d.ts +3 -3
  132. package/index.js +1 -1
  133. package/internals/components/PickerProvider.d.ts +67 -0
  134. package/internals/components/PickerProvider.js +40 -0
  135. package/internals/hooks/date-helpers-hooks.d.ts +6 -6
  136. package/internals/hooks/defaultizedFieldProps.d.ts +7 -8
  137. package/internals/hooks/useClockReferenceDate.d.ts +5 -5
  138. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -2
  139. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
  140. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +15 -15
  141. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +5 -5
  142. package/internals/hooks/useField/useField.d.ts +3 -3
  143. package/internals/hooks/useField/useField.js +1 -1
  144. package/internals/hooks/useField/useField.types.d.ts +40 -50
  145. package/internals/hooks/useField/useField.utils.d.ts +15 -15
  146. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +4 -4
  147. package/internals/hooks/useField/useFieldState.d.ts +4 -4
  148. package/internals/hooks/useField/useFieldState.js +4 -3
  149. package/internals/hooks/useField/useFieldV7TextField.js +4 -3
  150. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -2
  151. package/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
  152. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +12 -12
  153. package/internals/hooks/usePicker/usePicker.d.ts +2 -2
  154. package/internals/hooks/usePicker/usePicker.js +15 -10
  155. package/internals/hooks/usePicker/usePicker.types.d.ts +9 -7
  156. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +6 -8
  157. package/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
  158. package/internals/hooks/usePicker/usePickerProvider.d.ts +26 -0
  159. package/internals/hooks/usePicker/usePickerProvider.js +77 -0
  160. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  161. package/internals/hooks/usePicker/usePickerValue.js +7 -10
  162. package/internals/hooks/usePicker/usePickerValue.types.d.ts +38 -39
  163. package/internals/hooks/usePicker/usePickerViews.d.ts +7 -11
  164. package/internals/hooks/usePicker/usePickerViews.js +1 -0
  165. package/internals/hooks/usePickerPrivateContext.d.ts +4 -0
  166. package/internals/hooks/usePickerPrivateContext.js +9 -0
  167. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -2
  168. package/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
  169. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
  170. package/internals/hooks/useUtils.d.ts +7 -7
  171. package/internals/hooks/useValueWithTimezone.d.ts +19 -15
  172. package/internals/hooks/useValueWithTimezone.js +13 -1
  173. package/internals/hooks/useViews.d.ts +3 -3
  174. package/internals/hooks/useViews.js +1 -1
  175. package/internals/index.d.ts +7 -5
  176. package/internals/index.js +2 -1
  177. package/internals/models/common.d.ts +2 -1
  178. package/internals/models/fields.d.ts +32 -7
  179. package/internals/models/formProps.d.ts +14 -0
  180. package/internals/models/helpers.d.ts +0 -4
  181. package/internals/models/index.d.ts +2 -0
  182. package/internals/models/index.js +3 -1
  183. package/internals/models/props/basePickerProps.d.ts +5 -6
  184. package/internals/models/props/{clock.d.ts → time.d.ts} +10 -17
  185. package/internals/models/props/toolbar.d.ts +0 -2
  186. package/internals/models/validation.d.ts +21 -25
  187. package/internals/models/value.d.ts +3 -0
  188. package/internals/models/value.js +1 -0
  189. package/internals/utils/date-time-utils.d.ts +7 -7
  190. package/internals/utils/date-utils.d.ts +17 -17
  191. package/internals/utils/getDefaultReferenceDate.d.ts +10 -10
  192. package/internals/utils/time-utils.d.ts +5 -5
  193. package/internals/utils/valueManagers.d.ts +3 -3
  194. package/locales/beBY.d.ts +3 -3
  195. package/locales/beBY.js +3 -3
  196. package/locales/bgBG.d.ts +3 -3
  197. package/locales/bgBG.js +3 -3
  198. package/locales/caES.d.ts +3 -3
  199. package/locales/caES.js +3 -3
  200. package/locales/csCZ.d.ts +3 -3
  201. package/locales/csCZ.js +3 -3
  202. package/locales/daDK.d.ts +3 -3
  203. package/locales/daDK.js +3 -3
  204. package/locales/deDE.d.ts +3 -3
  205. package/locales/deDE.js +3 -3
  206. package/locales/elGR.d.ts +3 -3
  207. package/locales/elGR.js +12 -13
  208. package/locales/enUS.d.ts +4 -4
  209. package/locales/enUS.js +3 -3
  210. package/locales/esES.d.ts +3 -3
  211. package/locales/esES.js +3 -3
  212. package/locales/eu.d.ts +3 -3
  213. package/locales/eu.js +3 -3
  214. package/locales/faIR.d.ts +3 -3
  215. package/locales/faIR.js +3 -3
  216. package/locales/fiFI.d.ts +3 -3
  217. package/locales/fiFI.js +3 -3
  218. package/locales/frFR.d.ts +3 -3
  219. package/locales/frFR.js +3 -3
  220. package/locales/heIL.d.ts +3 -3
  221. package/locales/heIL.js +3 -3
  222. package/locales/hrHR.d.ts +3 -3
  223. package/locales/hrHR.js +3 -3
  224. package/locales/huHU.d.ts +3 -3
  225. package/locales/huHU.js +3 -3
  226. package/locales/isIS.d.ts +3 -3
  227. package/locales/isIS.js +3 -3
  228. package/locales/itIT.d.ts +3 -3
  229. package/locales/itIT.js +3 -3
  230. package/locales/jaJP.d.ts +3 -3
  231. package/locales/jaJP.js +3 -3
  232. package/locales/koKR.d.ts +3 -3
  233. package/locales/koKR.js +3 -3
  234. package/locales/kzKZ.d.ts +3 -3
  235. package/locales/kzKZ.js +3 -3
  236. package/locales/mk.d.ts +3 -3
  237. package/locales/mk.js +3 -3
  238. package/locales/nbNO.d.ts +3 -3
  239. package/locales/nbNO.js +3 -3
  240. package/locales/nlNL.d.ts +3 -3
  241. package/locales/nlNL.js +3 -3
  242. package/locales/nnNO.d.ts +3 -3
  243. package/locales/nnNO.js +3 -3
  244. package/locales/plPL.d.ts +3 -3
  245. package/locales/plPL.js +3 -3
  246. package/locales/ptBR.d.ts +3 -3
  247. package/locales/ptBR.js +5 -3
  248. package/locales/ptPT.d.ts +3 -3
  249. package/locales/ptPT.js +3 -3
  250. package/locales/roRO.d.ts +3 -3
  251. package/locales/roRO.js +3 -3
  252. package/locales/ruRU.d.ts +3 -3
  253. package/locales/ruRU.js +3 -3
  254. package/locales/skSK.d.ts +3 -3
  255. package/locales/skSK.js +3 -3
  256. package/locales/svSE.d.ts +3 -3
  257. package/locales/svSE.js +3 -3
  258. package/locales/trTR.d.ts +3 -3
  259. package/locales/trTR.js +3 -3
  260. package/locales/ukUA.d.ts +3 -3
  261. package/locales/ukUA.js +3 -3
  262. package/locales/urPK.d.ts +3 -3
  263. package/locales/urPK.js +3 -3
  264. package/locales/utils/getPickersLocalization.d.ts +9 -9
  265. package/locales/utils/getPickersLocalization.js +1 -1
  266. package/locales/utils/pickersLocaleTextApi.d.ts +12 -36
  267. package/locales/viVN.d.ts +3 -3
  268. package/locales/viVN.js +3 -3
  269. package/locales/zhCN.d.ts +3 -3
  270. package/locales/zhCN.js +3 -3
  271. package/locales/zhHK.d.ts +3 -3
  272. package/locales/zhHK.js +3 -3
  273. package/models/adapters.d.ts +151 -202
  274. package/models/common.d.ts +1 -0
  275. package/models/fields.d.ts +9 -42
  276. package/models/pickers.d.ts +28 -6
  277. package/modern/DateCalendar/DateCalendar.js +21 -22
  278. package/modern/DateCalendar/DayCalendar.js +13 -10
  279. package/modern/DateField/DateField.js +8 -10
  280. package/modern/DatePicker/DatePicker.js +15 -14
  281. package/modern/DatePicker/DatePickerToolbar.js +2 -4
  282. package/modern/DateTimeField/DateTimeField.js +9 -12
  283. package/modern/DateTimePicker/DateTimePicker.js +16 -16
  284. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  285. package/modern/DateTimePicker/DateTimePickerToolbar.js +8 -7
  286. package/modern/DesktopDatePicker/DesktopDatePicker.js +17 -16
  287. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  288. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
  289. package/modern/DesktopTimePicker/DesktopTimePicker.js +11 -6
  290. package/modern/DigitalClock/DigitalClock.js +8 -6
  291. package/modern/MobileDatePicker/MobileDatePicker.js +17 -16
  292. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  293. package/modern/MobileTimePicker/MobileTimePicker.js +11 -6
  294. package/modern/MonthCalendar/MonthCalendar.js +18 -14
  295. package/modern/MonthCalendar/PickersMonth.js +17 -13
  296. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
  297. package/modern/PickersActionBar/PickersActionBar.js +2 -2
  298. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  299. package/modern/PickersLayout/PickersLayout.js +0 -2
  300. package/modern/PickersLayout/usePickerLayout.js +18 -23
  301. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
  302. package/modern/PickersTextField/PickersTextField.js +2 -2
  303. package/modern/StaticDatePicker/StaticDatePicker.js +14 -13
  304. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  305. package/modern/StaticTimePicker/StaticTimePicker.js +8 -3
  306. package/modern/TimeClock/Clock.js +4 -3
  307. package/modern/TimeClock/TimeClock.js +8 -6
  308. package/modern/TimeField/TimeField.js +6 -6
  309. package/modern/TimePicker/TimePicker.js +9 -4
  310. package/modern/TimePicker/TimePickerToolbar.js +8 -7
  311. package/modern/YearCalendar/PickersYear.js +17 -13
  312. package/modern/YearCalendar/YearCalendar.js +18 -14
  313. package/modern/hooks/index.js +2 -2
  314. package/modern/hooks/useClearableField.js +4 -3
  315. package/modern/hooks/useParsedFormat.js +2 -2
  316. package/modern/hooks/usePickerContext.js +15 -0
  317. package/{hooks/usePickersTranslations.js → modern/hooks/usePickerTranslations.js} +1 -1
  318. package/modern/index.js +1 -1
  319. package/modern/internals/components/PickerProvider.js +40 -0
  320. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
  321. package/modern/internals/hooks/useField/useField.js +1 -1
  322. package/modern/internals/hooks/useField/useFieldState.js +4 -3
  323. package/modern/internals/hooks/useField/useFieldV7TextField.js +4 -3
  324. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
  325. package/modern/internals/hooks/usePicker/usePicker.js +15 -10
  326. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
  327. package/modern/internals/hooks/usePicker/usePickerProvider.js +77 -0
  328. package/modern/internals/hooks/usePicker/usePickerValue.js +7 -10
  329. package/modern/internals/hooks/usePicker/usePickerViews.js +1 -0
  330. package/modern/internals/hooks/usePickerPrivateContext.js +9 -0
  331. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
  332. package/modern/internals/hooks/useValueWithTimezone.js +13 -1
  333. package/modern/internals/hooks/useViews.js +1 -1
  334. package/modern/internals/index.js +2 -1
  335. package/modern/internals/models/formProps.js +1 -0
  336. package/modern/internals/models/index.js +3 -1
  337. package/modern/internals/models/props/time.js +1 -0
  338. package/modern/internals/models/value.js +1 -0
  339. package/modern/locales/beBY.js +3 -3
  340. package/modern/locales/bgBG.js +3 -3
  341. package/modern/locales/caES.js +3 -3
  342. package/modern/locales/csCZ.js +3 -3
  343. package/modern/locales/daDK.js +3 -3
  344. package/modern/locales/deDE.js +3 -3
  345. package/modern/locales/elGR.js +12 -13
  346. package/modern/locales/enUS.js +3 -3
  347. package/modern/locales/esES.js +3 -3
  348. package/modern/locales/eu.js +3 -3
  349. package/modern/locales/faIR.js +3 -3
  350. package/modern/locales/fiFI.js +3 -3
  351. package/modern/locales/frFR.js +3 -3
  352. package/modern/locales/heIL.js +3 -3
  353. package/modern/locales/hrHR.js +3 -3
  354. package/modern/locales/huHU.js +3 -3
  355. package/modern/locales/isIS.js +3 -3
  356. package/modern/locales/itIT.js +3 -3
  357. package/modern/locales/jaJP.js +3 -3
  358. package/modern/locales/koKR.js +3 -3
  359. package/modern/locales/kzKZ.js +3 -3
  360. package/modern/locales/mk.js +3 -3
  361. package/modern/locales/nbNO.js +3 -3
  362. package/modern/locales/nlNL.js +3 -3
  363. package/modern/locales/nnNO.js +3 -3
  364. package/modern/locales/plPL.js +3 -3
  365. package/modern/locales/ptBR.js +5 -3
  366. package/modern/locales/ptPT.js +3 -3
  367. package/modern/locales/roRO.js +3 -3
  368. package/modern/locales/ruRU.js +3 -3
  369. package/modern/locales/skSK.js +3 -3
  370. package/modern/locales/svSE.js +3 -3
  371. package/modern/locales/trTR.js +3 -3
  372. package/modern/locales/ukUA.js +3 -3
  373. package/modern/locales/urPK.js +3 -3
  374. package/modern/locales/utils/getPickersLocalization.js +1 -1
  375. package/modern/locales/viVN.js +3 -3
  376. package/modern/locales/zhCN.js +3 -3
  377. package/modern/locales/zhHK.js +3 -3
  378. package/modern/validation/useValidation.js +2 -3
  379. package/modern/validation/validateDate.js +5 -0
  380. package/modern/validation/validateDateTime.js +5 -0
  381. package/modern/validation/validateTime.js +5 -0
  382. package/node/DateCalendar/DateCalendar.js +21 -22
  383. package/node/DateCalendar/DayCalendar.js +13 -10
  384. package/node/DateField/DateField.js +8 -10
  385. package/node/DatePicker/DatePicker.js +15 -14
  386. package/node/DatePicker/DatePickerToolbar.js +2 -4
  387. package/node/DateTimeField/DateTimeField.js +9 -12
  388. package/node/DateTimePicker/DateTimePicker.js +16 -16
  389. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  390. package/node/DateTimePicker/DateTimePickerToolbar.js +8 -7
  391. package/node/DesktopDatePicker/DesktopDatePicker.js +17 -16
  392. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  393. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
  394. package/node/DesktopTimePicker/DesktopTimePicker.js +11 -6
  395. package/node/DigitalClock/DigitalClock.js +8 -6
  396. package/node/MobileDatePicker/MobileDatePicker.js +17 -16
  397. package/node/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  398. package/node/MobileTimePicker/MobileTimePicker.js +11 -6
  399. package/node/MonthCalendar/MonthCalendar.js +18 -14
  400. package/node/MonthCalendar/PickersMonth.js +17 -13
  401. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
  402. package/node/PickersActionBar/PickersActionBar.js +2 -2
  403. package/node/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  404. package/node/PickersLayout/PickersLayout.js +0 -2
  405. package/node/PickersLayout/usePickerLayout.js +18 -23
  406. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
  407. package/node/PickersTextField/PickersTextField.js +2 -2
  408. package/node/StaticDatePicker/StaticDatePicker.js +14 -13
  409. package/node/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  410. package/node/StaticTimePicker/StaticTimePicker.js +8 -3
  411. package/node/TimeClock/Clock.js +4 -3
  412. package/node/TimeClock/TimeClock.js +8 -6
  413. package/node/TimeField/TimeField.js +6 -6
  414. package/node/TimePicker/TimePicker.js +9 -4
  415. package/node/TimePicker/TimePickerToolbar.js +8 -7
  416. package/node/YearCalendar/PickersYear.js +17 -13
  417. package/node/YearCalendar/YearCalendar.js +18 -14
  418. package/node/hooks/index.js +6 -6
  419. package/node/hooks/useClearableField.js +4 -3
  420. package/node/hooks/useParsedFormat.js +2 -2
  421. package/node/hooks/usePickerContext.js +21 -0
  422. package/node/hooks/usePickerTranslations.js +10 -0
  423. package/node/index.js +1 -1
  424. package/node/internals/components/PickerProvider.js +48 -0
  425. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
  426. package/node/internals/hooks/useField/useField.js +1 -1
  427. package/node/internals/hooks/useField/useFieldState.js +4 -3
  428. package/node/internals/hooks/useField/useFieldV7TextField.js +4 -3
  429. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
  430. package/node/internals/hooks/usePicker/usePicker.js +15 -10
  431. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
  432. package/node/internals/hooks/usePicker/usePickerProvider.js +87 -0
  433. package/node/internals/hooks/usePicker/usePickerValue.js +6 -10
  434. package/node/internals/hooks/usePicker/usePickerViews.js +1 -0
  435. package/node/internals/hooks/usePickerPrivateContext.js +15 -0
  436. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
  437. package/node/internals/hooks/useValueWithTimezone.js +13 -1
  438. package/node/internals/hooks/useViews.js +3 -3
  439. package/node/internals/index.js +14 -7
  440. package/node/internals/models/index.js +22 -0
  441. package/node/internals/models/props/time.js +5 -0
  442. package/node/internals/models/value.js +5 -0
  443. package/node/locales/beBY.js +3 -3
  444. package/node/locales/bgBG.js +3 -3
  445. package/node/locales/caES.js +3 -3
  446. package/node/locales/csCZ.js +3 -3
  447. package/node/locales/daDK.js +3 -3
  448. package/node/locales/deDE.js +3 -3
  449. package/node/locales/elGR.js +12 -13
  450. package/node/locales/enUS.js +3 -3
  451. package/node/locales/esES.js +3 -3
  452. package/node/locales/eu.js +3 -3
  453. package/node/locales/faIR.js +3 -3
  454. package/node/locales/fiFI.js +3 -3
  455. package/node/locales/frFR.js +3 -3
  456. package/node/locales/heIL.js +3 -3
  457. package/node/locales/hrHR.js +3 -3
  458. package/node/locales/huHU.js +3 -3
  459. package/node/locales/isIS.js +3 -3
  460. package/node/locales/itIT.js +3 -3
  461. package/node/locales/jaJP.js +3 -3
  462. package/node/locales/koKR.js +3 -3
  463. package/node/locales/kzKZ.js +3 -3
  464. package/node/locales/mk.js +3 -3
  465. package/node/locales/nbNO.js +3 -3
  466. package/node/locales/nlNL.js +3 -3
  467. package/node/locales/nnNO.js +3 -3
  468. package/node/locales/plPL.js +3 -3
  469. package/node/locales/ptBR.js +5 -3
  470. package/node/locales/ptPT.js +3 -3
  471. package/node/locales/roRO.js +3 -3
  472. package/node/locales/ruRU.js +3 -3
  473. package/node/locales/skSK.js +3 -3
  474. package/node/locales/svSE.js +3 -3
  475. package/node/locales/trTR.js +3 -3
  476. package/node/locales/ukUA.js +3 -3
  477. package/node/locales/urPK.js +3 -3
  478. package/node/locales/utils/getPickersLocalization.js +1 -1
  479. package/node/locales/viVN.js +3 -3
  480. package/node/locales/zhCN.js +3 -3
  481. package/node/locales/zhHK.js +3 -3
  482. package/node/validation/useValidation.js +2 -3
  483. package/node/validation/validateDate.js +4 -0
  484. package/node/validation/validateDateTime.js +4 -0
  485. package/node/validation/validateTime.js +4 -0
  486. package/package.json +5 -5
  487. package/themeAugmentation/props.d.ts +28 -28
  488. package/timeViewRenderers/timeViewRenderers.d.ts +6 -6
  489. package/validation/extractValidationProps.d.ts +4 -4
  490. package/validation/useValidation.d.ts +9 -10
  491. package/validation/useValidation.js +2 -3
  492. package/validation/validateDate.d.ts +7 -2
  493. package/validation/validateDate.js +5 -0
  494. package/validation/validateDateTime.d.ts +10 -4
  495. package/validation/validateDateTime.js +5 -0
  496. package/validation/validateTime.d.ts +7 -2
  497. package/validation/validateTime.js +5 -0
  498. package/hooks/usePickersContext.d.ts +0 -4
  499. package/hooks/usePickersContext.js +0 -15
  500. package/hooks/usePickersTranslations.d.ts +0 -2
  501. package/internals/components/PickersProvider.d.ts +0 -34
  502. package/internals/components/PickersProvider.js +0 -26
  503. package/internals/hooks/usePicker/usePickerOwnerState.d.ts +0 -9
  504. package/internals/hooks/usePicker/usePickerOwnerState.js +0 -13
  505. package/modern/hooks/usePickersContext.js +0 -15
  506. package/modern/internals/components/PickersProvider.js +0 -26
  507. package/modern/internals/hooks/usePicker/usePickerOwnerState.js +0 -13
  508. package/node/hooks/usePickersContext.js +0 -21
  509. package/node/hooks/usePickersTranslations.js +0 -10
  510. package/node/internals/components/PickersProvider.js +0 -34
  511. package/node/internals/hooks/usePicker/usePickerOwnerState.js +0 -20
  512. /package/internals/models/{props/clock.js → formProps.js} +0 -0
  513. /package/{modern/internals/models/props/clock.js → internals/models/props/time.js} +0 -0
  514. /package/node/internals/models/{props/clock.js → formProps.js} +0 -0
@@ -74,7 +74,6 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes =
74
74
  */
75
75
  classes: _propTypes.default.object,
76
76
  className: _propTypes.default.string,
77
- disabled: _propTypes.default.bool,
78
77
  isLandscape: _propTypes.default.bool.isRequired,
79
78
  /**
80
79
  * `true` if the application is in right-to-left direction.
@@ -95,7 +94,6 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes =
95
94
  * Force rendering in particular orientation.
96
95
  */
97
96
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
98
- readOnly: _propTypes.default.bool,
99
97
  /**
100
98
  * The props used for each component slot.
101
99
  * @default {}
@@ -15,7 +15,7 @@ var _utils = require("@mui/utils");
15
15
  var _valueManagers = require("../internals/utils/valueManagers");
16
16
  var _TimeField = require("../TimeField");
17
17
  var _shared = require("../TimePicker/shared");
18
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
18
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
19
19
  var _useUtils = require("../internals/hooks/useUtils");
20
20
  var _validation = require("../validation");
21
21
  var _icons = require("../icons");
@@ -35,7 +35,7 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
35
35
  * - [DesktopTimePicker API](https://mui.com/x/api/date-pickers/desktop-time-picker/)
36
36
  */
37
37
  const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
38
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
38
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
39
39
  const utils = (0, _useUtils.useUtils)();
40
40
 
41
41
  // Props with the default values common to all time pickers
@@ -134,7 +134,8 @@ DesktopTimePicker.propTypes = {
134
134
  */
135
135
  defaultValue: _propTypes.default.object,
136
136
  /**
137
- * If `true`, the picker and text field are disabled.
137
+ * If `true`, the component is disabled.
138
+ * When disabled, the value cannot be changed and no interaction is possible.
138
139
  * @default false
139
140
  */
140
141
  disabled: _propTypes.default.bool,
@@ -159,7 +160,7 @@ DesktopTimePicker.propTypes = {
159
160
  */
160
161
  disablePast: _propTypes.default.bool,
161
162
  /**
162
- * @default false
163
+ * @default true
163
164
  */
164
165
  enableAccessibleFieldDOMStructure: _propTypes.default.any,
165
166
  /**
@@ -267,6 +268,11 @@ DesktopTimePicker.propTypes = {
267
268
  * Force rendering in particular orientation.
268
269
  */
269
270
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
271
+ /**
272
+ * If `true`, the component is read-only.
273
+ * When read-only, the value cannot be changed but the user can interact with the interface.
274
+ * @default false
275
+ */
270
276
  readOnly: _propTypes.default.bool,
271
277
  /**
272
278
  * If `true`, disable heavy animations.
@@ -290,8 +296,7 @@ DesktopTimePicker.propTypes = {
290
296
  selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number]),
291
297
  /**
292
298
  * Disable specific time.
293
- * @template TDate
294
- * @param {TDate} value The value to check.
299
+ * @param {PickerValidDate} value The value to check.
295
300
  * @param {TimeView} view The clock type of the timeValue.
296
301
  * @returns {boolean} If `true` the time will be disabled.
297
302
  */
@@ -19,7 +19,7 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
19
19
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
20
20
  var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
21
21
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
22
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
22
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
23
23
  var _useUtils = require("../internals/hooks/useUtils");
24
24
  var _timeUtils = require("../internals/utils/time-utils");
25
25
  var _PickerViewRoot = require("../internals/components/PickerViewRoot");
@@ -156,10 +156,11 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
156
156
  timezone: timezoneProp,
157
157
  value: valueProp,
158
158
  defaultValue,
159
+ referenceDate: referenceDateProp,
159
160
  onChange,
160
161
  valueManager: _valueManagers.singleItemValueManager
161
162
  });
162
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
163
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
163
164
  const now = (0, _useUtils.useNow)(timezone);
164
165
  const ownerState = React.useMemo(() => (0, _extends2.default)({}, props, {
165
166
  alreadyRendered: !!containerRef.current
@@ -342,7 +343,8 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
342
343
  */
343
344
  defaultValue: _propTypes.default.object,
344
345
  /**
345
- * If `true`, the picker views and text field are disabled.
346
+ * If `true`, the component is disabled.
347
+ * When disabled, the value cannot be changed and no interaction is possible.
346
348
  * @default false
347
349
  */
348
350
  disabled: _propTypes.default.bool,
@@ -409,7 +411,8 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
409
411
  */
410
412
  openTo: _propTypes.default.oneOf(['hours']),
411
413
  /**
412
- * If `true`, the picker views and text field are read-only.
414
+ * If `true`, the component is read-only.
415
+ * When read-only, the value cannot be changed but the user can interact with the interface.
413
416
  * @default false
414
417
  */
415
418
  readOnly: _propTypes.default.bool,
@@ -420,8 +423,7 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
420
423
  referenceDate: _propTypes.default.object,
421
424
  /**
422
425
  * Disable specific time.
423
- * @template TDate
424
- * @param {TDate} value The value to check.
426
+ * @param {PickerValidDate} value The value to check.
425
427
  * @param {TimeView} view The clock type of the timeValue.
426
428
  * @returns {boolean} If `true` the time will be disabled.
427
429
  */
@@ -14,7 +14,7 @@ var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveC
14
14
  var _utils = require("@mui/utils");
15
15
  var _useMobilePicker = require("../internals/hooks/useMobilePicker");
16
16
  var _shared = require("../DatePicker/shared");
17
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
17
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
18
18
  var _useUtils = require("../internals/hooks/useUtils");
19
19
  var _validation = require("../validation");
20
20
  var _DateField = require("../DateField");
@@ -33,7 +33,7 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
33
33
  * - [MobileDatePicker API](https://mui.com/x/api/date-pickers/mobile-date-picker/)
34
34
  */
35
35
  const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
36
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
36
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
37
37
  const utils = (0, _useUtils.useUtils)();
38
38
 
39
39
  // Props with the default values common to all date pickers
@@ -96,9 +96,9 @@ MobileDatePicker.propTypes = {
96
96
  closeOnSelect: _propTypes.default.bool,
97
97
  /**
98
98
  * Formats the day of week displayed in the calendar header.
99
- * @param {TDate} date The date of the day of week provided by the adapter.
99
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
100
100
  * @returns {string} The name to display.
101
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
101
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
102
102
  */
103
103
  dayOfWeekFormatter: _propTypes.default.func,
104
104
  /**
@@ -107,7 +107,8 @@ MobileDatePicker.propTypes = {
107
107
  */
108
108
  defaultValue: _propTypes.default.object,
109
109
  /**
110
- * If `true`, the picker and text field are disabled.
110
+ * If `true`, the component is disabled.
111
+ * When disabled, the value cannot be changed and no interaction is possible.
111
112
  * @default false
112
113
  */
113
114
  disabled: _propTypes.default.bool,
@@ -136,7 +137,7 @@ MobileDatePicker.propTypes = {
136
137
  */
137
138
  displayWeekNumber: _propTypes.default.bool,
138
139
  /**
139
- * @default false
140
+ * @default true
140
141
  */
141
142
  enableAccessibleFieldDOMStructure: _propTypes.default.any,
142
143
  /**
@@ -226,8 +227,7 @@ MobileDatePicker.propTypes = {
226
227
  onError: _propTypes.default.func,
227
228
  /**
228
229
  * Callback fired on month change.
229
- * @template TDate
230
- * @param {TDate} month The new month.
230
+ * @param {PickerValidDate} month The new month.
231
231
  */
232
232
  onMonthChange: _propTypes.default.func,
233
233
  /**
@@ -248,8 +248,7 @@ MobileDatePicker.propTypes = {
248
248
  onViewChange: _propTypes.default.func,
249
249
  /**
250
250
  * Callback fired on year change.
251
- * @template TDate
252
- * @param {TDate} year The new year.
251
+ * @param {PickerValidDate} year The new year.
253
252
  */
254
253
  onYearChange: _propTypes.default.func,
255
254
  /**
@@ -267,6 +266,11 @@ MobileDatePicker.propTypes = {
267
266
  * Force rendering in particular orientation.
268
267
  */
269
268
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
269
+ /**
270
+ * If `true`, the component is read-only.
271
+ * When read-only, the value cannot be changed but the user can interact with the interface.
272
+ * @default false
273
+ */
270
274
  readOnly: _propTypes.default.bool,
271
275
  /**
272
276
  * If `true`, disable heavy animations.
@@ -299,22 +303,19 @@ MobileDatePicker.propTypes = {
299
303
  *
300
304
  * 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.
301
305
  *
302
- * @template TDate
303
- * @param {TDate} day The date to test.
306
+ * @param {PickerValidDate} day The date to test.
304
307
  * @returns {boolean} If `true` the date will be disabled.
305
308
  */
306
309
  shouldDisableDate: _propTypes.default.func,
307
310
  /**
308
311
  * Disable specific month.
309
- * @template TDate
310
- * @param {TDate} month The month to test.
312
+ * @param {PickerValidDate} month The month to test.
311
313
  * @returns {boolean} If `true`, the month will be disabled.
312
314
  */
313
315
  shouldDisableMonth: _propTypes.default.func,
314
316
  /**
315
317
  * Disable specific year.
316
- * @template TDate
317
- * @param {TDate} year The year to test.
318
+ * @param {PickerValidDate} year The year to test.
318
319
  * @returns {boolean} If `true`, the year will be disabled.
319
320
  */
320
321
  shouldDisableYear: _propTypes.default.func,
@@ -15,7 +15,7 @@ var _utils = require("@mui/utils");
15
15
  var _valueManagers = require("../internals/utils/valueManagers");
16
16
  var _DateTimeField = require("../DateTimeField");
17
17
  var _shared = require("../DateTimePicker/shared");
18
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
18
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
19
19
  var _useUtils = require("../internals/hooks/useUtils");
20
20
  var _validation = require("../validation");
21
21
  var _useMobilePicker = require("../internals/hooks/useMobilePicker");
@@ -34,7 +34,7 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
34
34
  * - [MobileDateTimePicker API](https://mui.com/x/api/date-pickers/mobile-date-time-picker/)
35
35
  */
36
36
  const MobileDateTimePicker = exports.MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimePicker(inProps, ref) {
37
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
37
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
38
38
  const utils = (0, _useUtils.useUtils)();
39
39
 
40
40
  // Props with the default values common to all date time pickers
@@ -116,9 +116,9 @@ MobileDateTimePicker.propTypes = {
116
116
  closeOnSelect: _propTypes.default.bool,
117
117
  /**
118
118
  * Formats the day of week displayed in the calendar header.
119
- * @param {TDate} date The date of the day of week provided by the adapter.
119
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
120
120
  * @returns {string} The name to display.
121
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
121
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
122
122
  */
123
123
  dayOfWeekFormatter: _propTypes.default.func,
124
124
  /**
@@ -127,7 +127,8 @@ MobileDateTimePicker.propTypes = {
127
127
  */
128
128
  defaultValue: _propTypes.default.object,
129
129
  /**
130
- * If `true`, the picker and text field are disabled.
130
+ * If `true`, the component is disabled.
131
+ * When disabled, the value cannot be changed and no interaction is possible.
131
132
  * @default false
132
133
  */
133
134
  disabled: _propTypes.default.bool,
@@ -161,7 +162,7 @@ MobileDateTimePicker.propTypes = {
161
162
  */
162
163
  displayWeekNumber: _propTypes.default.bool,
163
164
  /**
164
- * @default false
165
+ * @default true
165
166
  */
166
167
  enableAccessibleFieldDOMStructure: _propTypes.default.any,
167
168
  /**
@@ -274,8 +275,7 @@ MobileDateTimePicker.propTypes = {
274
275
  onError: _propTypes.default.func,
275
276
  /**
276
277
  * Callback fired on month change.
277
- * @template TDate
278
- * @param {TDate} month The new month.
278
+ * @param {PickerValidDate} month The new month.
279
279
  */
280
280
  onMonthChange: _propTypes.default.func,
281
281
  /**
@@ -296,8 +296,7 @@ MobileDateTimePicker.propTypes = {
296
296
  onViewChange: _propTypes.default.func,
297
297
  /**
298
298
  * Callback fired on year change.
299
- * @template TDate
300
- * @param {TDate} year The new year.
299
+ * @param {PickerValidDate} year The new year.
301
300
  */
302
301
  onYearChange: _propTypes.default.func,
303
302
  /**
@@ -315,6 +314,11 @@ MobileDateTimePicker.propTypes = {
315
314
  * Force rendering in particular orientation.
316
315
  */
317
316
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
317
+ /**
318
+ * If `true`, the component is read-only.
319
+ * When read-only, the value cannot be changed but the user can interact with the interface.
320
+ * @default false
321
+ */
318
322
  readOnly: _propTypes.default.bool,
319
323
  /**
320
324
  * If `true`, disable heavy animations.
@@ -347,30 +351,26 @@ MobileDateTimePicker.propTypes = {
347
351
  *
348
352
  * 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.
349
353
  *
350
- * @template TDate
351
- * @param {TDate} day The date to test.
354
+ * @param {PickerValidDate} day The date to test.
352
355
  * @returns {boolean} If `true` the date will be disabled.
353
356
  */
354
357
  shouldDisableDate: _propTypes.default.func,
355
358
  /**
356
359
  * Disable specific month.
357
- * @template TDate
358
- * @param {TDate} month The month to test.
360
+ * @param {PickerValidDate} month The month to test.
359
361
  * @returns {boolean} If `true`, the month will be disabled.
360
362
  */
361
363
  shouldDisableMonth: _propTypes.default.func,
362
364
  /**
363
365
  * Disable specific time.
364
- * @template TDate
365
- * @param {TDate} value The value to check.
366
+ * @param {PickerValidDate} value The value to check.
366
367
  * @param {TimeView} view The clock type of the timeValue.
367
368
  * @returns {boolean} If `true` the time will be disabled.
368
369
  */
369
370
  shouldDisableTime: _propTypes.default.func,
370
371
  /**
371
372
  * Disable specific year.
372
- * @template TDate
373
- * @param {TDate} year The year to test.
373
+ * @param {PickerValidDate} year The year to test.
374
374
  * @returns {boolean} If `true`, the year will be disabled.
375
375
  */
376
376
  shouldDisableYear: _propTypes.default.func,
@@ -15,7 +15,7 @@ var _utils = require("@mui/utils");
15
15
  var _valueManagers = require("../internals/utils/valueManagers");
16
16
  var _TimeField = require("../TimeField");
17
17
  var _shared = require("../TimePicker/shared");
18
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
18
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
19
19
  var _useUtils = require("../internals/hooks/useUtils");
20
20
  var _validation = require("../validation");
21
21
  var _useMobilePicker = require("../internals/hooks/useMobilePicker");
@@ -33,7 +33,7 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
33
33
  * - [MobileTimePicker API](https://mui.com/x/api/date-pickers/mobile-time-picker/)
34
34
  */
35
35
  const MobileTimePicker = exports.MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(inProps, ref) {
36
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
36
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
37
37
  const utils = (0, _useUtils.useUtils)();
38
38
 
39
39
  // Props with the default values common to all time pickers
@@ -113,7 +113,8 @@ MobileTimePicker.propTypes = {
113
113
  */
114
114
  defaultValue: _propTypes.default.object,
115
115
  /**
116
- * If `true`, the picker and text field are disabled.
116
+ * If `true`, the component is disabled.
117
+ * When disabled, the value cannot be changed and no interaction is possible.
117
118
  * @default false
118
119
  */
119
120
  disabled: _propTypes.default.bool,
@@ -138,7 +139,7 @@ MobileTimePicker.propTypes = {
138
139
  */
139
140
  disablePast: _propTypes.default.bool,
140
141
  /**
141
- * @default false
142
+ * @default true
142
143
  */
143
144
  enableAccessibleFieldDOMStructure: _propTypes.default.any,
144
145
  /**
@@ -246,6 +247,11 @@ MobileTimePicker.propTypes = {
246
247
  * Force rendering in particular orientation.
247
248
  */
248
249
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
250
+ /**
251
+ * If `true`, the component is read-only.
252
+ * When read-only, the value cannot be changed but the user can interact with the interface.
253
+ * @default false
254
+ */
249
255
  readOnly: _propTypes.default.bool,
250
256
  /**
251
257
  * If `true`, disable heavy animations.
@@ -269,8 +275,7 @@ MobileTimePicker.propTypes = {
269
275
  selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number]),
270
276
  /**
271
277
  * Disable specific time.
272
- * @template TDate
273
- * @param {TDate} value The value to check.
278
+ * @param {PickerValidDate} value The value to check.
274
279
  * @param {TimeView} view The clock type of the timeValue.
275
280
  * @returns {boolean} If `true` the time will be disabled.
276
281
  */
@@ -24,12 +24,10 @@ var _valueManagers = require("../internals/utils/valueManagers");
24
24
  var _getDefaultReferenceDate = require("../internals/utils/getDefaultReferenceDate");
25
25
  var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
26
26
  var _dimensions = require("../internals/constants/dimensions");
27
+ var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
27
28
  var _jsxRuntime = require("react/jsx-runtime");
28
- const _excluded = ["className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "shouldDisableMonth", "readOnly", "disableHighlightToday", "autoFocus", "onMonthFocus", "hasFocus", "onFocusedViewChange", "monthsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
29
- const useUtilityClasses = ownerState => {
30
- const {
31
- classes
32
- } = ownerState;
29
+ 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"];
30
+ const useUtilityClasses = classes => {
33
31
  const slots = {
34
32
  root: ['root']
35
33
  };
@@ -76,6 +74,7 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
76
74
  const props = useMonthCalendarDefaultizedProps(inProps, 'MuiMonthCalendar');
77
75
  const {
78
76
  className,
77
+ classes: classesProp,
79
78
  value: valueProp,
80
79
  defaultValue,
81
80
  referenceDate: referenceDateProp,
@@ -107,12 +106,16 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
107
106
  timezone: timezoneProp,
108
107
  value: valueProp,
109
108
  defaultValue,
110
- onChange: onChange,
109
+ referenceDate: referenceDateProp,
110
+ onChange,
111
111
  valueManager: _valueManagers.singleItemValueManager
112
112
  });
113
113
  const now = (0, _useUtils.useNow)(timezone);
114
114
  const isRtl = (0, _RtlProvider.useRtl)();
115
115
  const utils = (0, _useUtils.useUtils)();
116
+ const {
117
+ ownerState
118
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
116
119
  const referenceDate = React.useMemo(() => _valueManagers.singleItemValueManager.getInitialReferenceValue({
117
120
  value,
118
121
  utils,
@@ -122,8 +125,7 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
122
125
  granularity: _getDefaultReferenceDate.SECTION_TYPE_GRANULARITY.month
123
126
  }), [] // eslint-disable-line react-hooks/exhaustive-deps
124
127
  );
125
- const ownerState = props;
126
- const classes = useUtilityClasses(ownerState);
128
+ const classes = useUtilityClasses(classesProp);
127
129
  const todayMonth = React.useMemo(() => utils.getMonth(now), [utils, now]);
128
130
  const selectedMonth = React.useMemo(() => {
129
131
  if (value != null) {
@@ -260,7 +262,9 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
260
262
  */
261
263
  defaultValue: _propTypes.default.object,
262
264
  /**
263
- * If `true` picker is disabled
265
+ * If `true`, the component is disabled.
266
+ * When disabled, the value cannot be changed and no interaction is possible.
267
+ * @default false
264
268
  */
265
269
  disabled: _propTypes.default.bool,
266
270
  /**
@@ -297,14 +301,15 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
297
301
  monthsPerRow: _propTypes.default.oneOf([3, 4]),
298
302
  /**
299
303
  * Callback fired when the value changes.
300
- * @template TDate
301
- * @param {TDate} value The new value.
304
+ * @param {PickerValidDate} value The new value.
302
305
  */
303
306
  onChange: _propTypes.default.func,
304
307
  onFocusedViewChange: _propTypes.default.func,
305
308
  onMonthFocus: _propTypes.default.func,
306
309
  /**
307
- * If `true` picker is readonly
310
+ * If `true`, the component is read-only.
311
+ * When read-only, the value cannot be changed but the user can interact with the interface.
312
+ * @default false
308
313
  */
309
314
  readOnly: _propTypes.default.bool,
310
315
  /**
@@ -314,8 +319,7 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
314
319
  referenceDate: _propTypes.default.object,
315
320
  /**
316
321
  * Disable specific month.
317
- * @template TDate
318
- * @param {TDate} month The month to test.
322
+ * @param {PickerValidDate} month The month to test.
319
323
  * @returns {boolean} If `true`, the month will be disabled.
320
324
  */
321
325
  shouldDisableMonth: _propTypes.default.func,
@@ -15,17 +15,13 @@ var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
15
15
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
16
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
17
17
  var _pickersMonthClasses = require("./pickersMonthClasses");
18
+ var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["autoFocus", "className", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "aria-label", "monthsPerRow", "slots", "slotProps"];
20
- const useUtilityClasses = ownerState => {
21
- const {
22
- disabled,
23
- selected,
24
- classes
25
- } = ownerState;
20
+ const _excluded = ["autoFocus", "className", "classes", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "aria-label", "monthsPerRow", "slots", "slotProps"];
21
+ const useUtilityClasses = (classes, ownerState) => {
26
22
  const slots = {
27
23
  root: ['root'],
28
- monthButton: ['monthButton', disabled && 'disabled', selected && 'selected']
24
+ monthButton: ['monthButton', ownerState.isMonthDisabled && 'disabled', ownerState.isMonthSelected && 'selected']
29
25
  };
30
26
  return (0, _composeClasses.default)(slots, _pickersMonthClasses.getPickersMonthUtilityClass, classes);
31
27
  };
@@ -101,9 +97,10 @@ const PickersMonth = exports.PickersMonth = /*#__PURE__*/React.memo(function Pic
101
97
  const {
102
98
  autoFocus,
103
99
  className,
100
+ classes: classesProp,
104
101
  children,
105
- disabled,
106
- selected,
102
+ disabled = false,
103
+ selected = false,
107
104
  value,
108
105
  tabIndex,
109
106
  onClick,
@@ -120,7 +117,14 @@ const PickersMonth = exports.PickersMonth = /*#__PURE__*/React.memo(function Pic
120
117
  } = props,
121
118
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
122
119
  const ref = React.useRef(null);
123
- const classes = useUtilityClasses(props);
120
+ const {
121
+ ownerState: pickerOwnerState
122
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
123
+ const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
124
+ isMonthDisabled: disabled,
125
+ isMonthSelected: selected
126
+ });
127
+ const classes = useUtilityClasses(classesProp, ownerState);
124
128
 
125
129
  // We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button
126
130
  (0, _useEnhancedEffect.default)(() => {
@@ -148,12 +152,12 @@ const PickersMonth = exports.PickersMonth = /*#__PURE__*/React.memo(function Pic
148
152
  onFocus: event => onFocus(event, value),
149
153
  onBlur: event => onBlur(event, value)
150
154
  },
151
- ownerState: props,
155
+ ownerState,
152
156
  className: classes.monthButton
153
157
  });
154
158
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersMonthRoot, (0, _extends2.default)({
155
159
  className: (0, _clsx.default)(classes.root, className),
156
- ownerState: props
160
+ ownerState: ownerState
157
161
  }, other, {
158
162
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(MonthButton, (0, _extends2.default)({}, monthButtonProps))
159
163
  }));
@@ -16,7 +16,7 @@ var _RtlProvider = require("@mui/system/RtlProvider");
16
16
  var _styles = require("@mui/material/styles");
17
17
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
18
18
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
19
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
19
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
20
20
  var _useUtils = require("../internals/hooks/useUtils");
21
21
  var _timeUtils = require("../internals/utils/time-utils");
22
22
  var _useViews = require("../internals/hooks/useViews");
@@ -108,10 +108,11 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
108
108
  timezone: timezoneProp,
109
109
  value: valueProp,
110
110
  defaultValue,
111
+ referenceDate: referenceDateProp,
111
112
  onChange,
112
113
  valueManager: _valueManagers.singleItemValueManager
113
114
  });
114
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
115
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
115
116
  const now = (0, _useUtils.useNow)(timezone);
116
117
  const timeSteps = React.useMemo(() => (0, _extends2.default)({
117
118
  hours: 1,
@@ -375,7 +376,8 @@ process.env.NODE_ENV !== "production" ? MultiSectionDigitalClock.propTypes = {
375
376
  */
376
377
  defaultValue: _propTypes.default.object,
377
378
  /**
378
- * If `true`, the picker views and text field are disabled.
379
+ * If `true`, the component is disabled.
380
+ * When disabled, the value cannot be changed and no interaction is possible.
379
381
  * @default false
380
382
  */
381
383
  disabled: _propTypes.default.bool,
@@ -442,7 +444,8 @@ process.env.NODE_ENV !== "production" ? MultiSectionDigitalClock.propTypes = {
442
444
  */
443
445
  openTo: _propTypes.default.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
444
446
  /**
445
- * If `true`, the picker views and text field are read-only.
447
+ * If `true`, the component is read-only.
448
+ * When read-only, the value cannot be changed but the user can interact with the interface.
446
449
  * @default false
447
450
  */
448
451
  readOnly: _propTypes.default.bool,
@@ -453,8 +456,7 @@ process.env.NODE_ENV !== "production" ? MultiSectionDigitalClock.propTypes = {
453
456
  referenceDate: _propTypes.default.object,
454
457
  /**
455
458
  * Disable specific time.
456
- * @template TDate
457
- * @param {TDate} value The value to check.
459
+ * @param {PickerValidDate} value The value to check.
458
460
  * @param {TimeView} view The clock type of the timeValue.
459
461
  * @returns {boolean} If `true` the time will be disabled.
460
462
  */
@@ -13,7 +13,7 @@ var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _Button = _interopRequireDefault(require("@mui/material/Button"));
15
15
  var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
16
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
16
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  const _excluded = ["onAccept", "onClear", "onCancel", "onSetToday", "actions"];
19
19
  /**
@@ -35,7 +35,7 @@ function PickersActionBar(props) {
35
35
  actions
36
36
  } = props,
37
37
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
38
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
38
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
39
39
  if (actions == null || actions.length === 0) {
40
40
  return null;
41
41
  }
@@ -17,7 +17,7 @@ var _styles = require("@mui/material/styles");
17
17
  var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
18
18
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
19
19
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
20
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
20
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
21
21
  var _useUtils = require("../internals/hooks/useUtils");
22
22
  var _PickersFadeTransitionGroup = require("../DateCalendar/PickersFadeTransitionGroup");
23
23
  var _icons = require("../icons");
@@ -117,7 +117,7 @@ const PickersCalendarHeaderSwitchViewIcon = (0, _styles.styled)(_icons.ArrowDrop
117
117
  * - [PickersCalendarHeader API](https://mui.com/x/api/date-pickers/pickers-calendar-header/)
118
118
  */
119
119
  const PickersCalendarHeader = exports.PickersCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersCalendarHeader(inProps, ref) {
120
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
120
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
121
121
  const utils = (0, _useUtils.useUtils)();
122
122
  const props = (0, _styles.useThemeProps)({
123
123
  props: inProps,