@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
@@ -75,9 +75,9 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
75
75
  closeOnSelect: PropTypes.bool,
76
76
  /**
77
77
  * Formats the day of week displayed in the calendar header.
78
- * @param {TDate} date The date of the day of week provided by the adapter.
78
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
79
79
  * @returns {string} The name to display.
80
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
80
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
81
81
  */
82
82
  dayOfWeekFormatter: PropTypes.func,
83
83
  /**
@@ -92,7 +92,8 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
92
92
  */
93
93
  desktopModeMediaQuery: PropTypes.string,
94
94
  /**
95
- * If `true`, the picker and text field are disabled.
95
+ * If `true`, the component is disabled.
96
+ * When disabled, the value cannot be changed and no interaction is possible.
96
97
  * @default false
97
98
  */
98
99
  disabled: PropTypes.bool,
@@ -126,7 +127,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
126
127
  */
127
128
  displayWeekNumber: PropTypes.bool,
128
129
  /**
129
- * @default false
130
+ * @default true
130
131
  */
131
132
  enableAccessibleFieldDOMStructure: PropTypes.any,
132
133
  /**
@@ -239,8 +240,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
239
240
  onError: PropTypes.func,
240
241
  /**
241
242
  * Callback fired on month change.
242
- * @template TDate
243
- * @param {TDate} month The new month.
243
+ * @param {PickerValidDate} month The new month.
244
244
  */
245
245
  onMonthChange: PropTypes.func,
246
246
  /**
@@ -261,8 +261,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
261
261
  onViewChange: PropTypes.func,
262
262
  /**
263
263
  * Callback fired on year change.
264
- * @template TDate
265
- * @param {TDate} year The new year.
264
+ * @param {PickerValidDate} year The new year.
266
265
  */
267
266
  onYearChange: PropTypes.func,
268
267
  /**
@@ -280,6 +279,11 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
280
279
  * Force rendering in particular orientation.
281
280
  */
282
281
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
282
+ /**
283
+ * If `true`, the component is read-only.
284
+ * When read-only, the value cannot be changed but the user can interact with the interface.
285
+ * @default false
286
+ */
283
287
  readOnly: PropTypes.bool,
284
288
  /**
285
289
  * If `true`, disable heavy animations.
@@ -312,30 +316,26 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
312
316
  *
313
317
  * 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.
314
318
  *
315
- * @template TDate
316
- * @param {TDate} day The date to test.
319
+ * @param {PickerValidDate} day The date to test.
317
320
  * @returns {boolean} If `true` the date will be disabled.
318
321
  */
319
322
  shouldDisableDate: PropTypes.func,
320
323
  /**
321
324
  * Disable specific month.
322
- * @template TDate
323
- * @param {TDate} month The month to test.
325
+ * @param {PickerValidDate} month The month to test.
324
326
  * @returns {boolean} If `true`, the month will be disabled.
325
327
  */
326
328
  shouldDisableMonth: PropTypes.func,
327
329
  /**
328
330
  * Disable specific time.
329
- * @template TDate
330
- * @param {TDate} value The value to check.
331
+ * @param {PickerValidDate} value The value to check.
331
332
  * @param {TimeView} view The clock type of the timeValue.
332
333
  * @returns {boolean} If `true` the time will be disabled.
333
334
  */
334
335
  shouldDisableTime: PropTypes.func,
335
336
  /**
336
337
  * Disable specific year.
337
- * @template TDate
338
- * @param {TDate} year The year to test.
338
+ * @param {PickerValidDate} year The year to test.
339
339
  * @returns {boolean} If `true`, the year will be disabled.
340
340
  */
341
341
  shouldDisableYear: PropTypes.func,
@@ -8,7 +8,7 @@ import Tabs, { tabsClasses } from '@mui/material/Tabs';
8
8
  import { styled, useThemeProps } from '@mui/material/styles';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
10
  import { TimeIcon, DateRangeIcon } from "../icons/index.js";
11
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
11
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
12
12
  import { getDateTimePickerTabsUtilityClass } from "./dateTimePickerTabsClasses.js";
13
13
  import { isDatePickerView } from "../internals/utils/date-utils.js";
14
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -74,7 +74,7 @@ const DateTimePickerTabs = function DateTimePickerTabs(inProps) {
74
74
  className,
75
75
  sx
76
76
  } = props;
77
- const translations = usePickersTranslations();
77
+ const translations = usePickerTranslations();
78
78
  const classes = useUtilityClasses(props);
79
79
  const handleChange = (event, value) => {
80
80
  onViewChange(tabToView(value));
@@ -12,7 +12,7 @@ import clsx from 'clsx';
12
12
  import { PickersToolbarText } from "../internals/components/PickersToolbarText.js";
13
13
  import { PickersToolbar } from "../internals/components/PickersToolbar.js";
14
14
  import { PickersToolbarButton } from "../internals/components/PickersToolbarButton.js";
15
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
15
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
16
16
  import { useUtils } from "../internals/hooks/useUtils.js";
17
17
  import { dateTimePickerToolbarClasses, getDateTimePickerToolbarUtilityClass } from "./dateTimePickerToolbarClasses.js";
18
18
  import { useMeridiemMode } from "../internals/hooks/date-helpers-hooks.js";
@@ -244,7 +244,7 @@ function DateTimePickerToolbar(inProps) {
244
244
  } = useMeridiemMode(value, ampm, onChange);
245
245
  const showAmPmControl = Boolean(ampm && !ampmInClock);
246
246
  const isDesktop = toolbarVariant === 'desktop';
247
- const translations = usePickersTranslations();
247
+ const translations = usePickerTranslations();
248
248
  const classes = useUtilityClasses(ownerState);
249
249
  const toolbarTitle = inToolbarTitle ?? translations.dateTimePickerToolbarTitle;
250
250
  const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
@@ -359,6 +359,11 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
359
359
  */
360
360
  classes: PropTypes.object,
361
361
  className: PropTypes.string,
362
+ /**
363
+ * If `true`, the component is disabled.
364
+ * When disabled, the value cannot be changed and no interaction is possible.
365
+ * @default false
366
+ */
362
367
  disabled: PropTypes.bool,
363
368
  /**
364
369
  * If `true`, show the toolbar even in desktop mode.
@@ -373,6 +378,11 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
373
378
  * @param {TView} view The view to open
374
379
  */
375
380
  onViewChange: PropTypes.func.isRequired,
381
+ /**
382
+ * If `true`, the component is read-only.
383
+ * When read-only, the value cannot be changed but the user can interact with the interface.
384
+ * @default false
385
+ */
376
386
  readOnly: PropTypes.bool,
377
387
  /**
378
388
  * The system prop that allows defining system overrides as well as additional CSS styles.
@@ -7,7 +7,7 @@ import resolveComponentProps from '@mui/utils/resolveComponentProps';
7
7
  import { refType } from '@mui/utils';
8
8
  import { singleItemValueManager } from "../internals/utils/valueManagers.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 { validateDate, extractValidationProps } from "../validation/index.js";
13
13
  import { useDesktopPicker } from "../internals/hooks/useDesktopPicker/index.js";
@@ -27,7 +27,7 @@ import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalizat
27
27
  * - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
28
28
  */
29
29
  const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(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 pickers
@@ -92,9 +92,9 @@ DesktopDatePicker.propTypes = {
92
92
  closeOnSelect: PropTypes.bool,
93
93
  /**
94
94
  * Formats the day of week displayed in the calendar header.
95
- * @param {TDate} date The date of the day of week provided by the adapter.
95
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
96
96
  * @returns {string} The name to display.
97
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
97
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
98
98
  */
99
99
  dayOfWeekFormatter: PropTypes.func,
100
100
  /**
@@ -103,7 +103,8 @@ DesktopDatePicker.propTypes = {
103
103
  */
104
104
  defaultValue: PropTypes.object,
105
105
  /**
106
- * If `true`, the picker and text field are disabled.
106
+ * If `true`, the component is disabled.
107
+ * When disabled, the value cannot be changed and no interaction is possible.
107
108
  * @default false
108
109
  */
109
110
  disabled: PropTypes.bool,
@@ -132,7 +133,7 @@ DesktopDatePicker.propTypes = {
132
133
  */
133
134
  displayWeekNumber: PropTypes.bool,
134
135
  /**
135
- * @default false
136
+ * @default true
136
137
  */
137
138
  enableAccessibleFieldDOMStructure: PropTypes.any,
138
139
  /**
@@ -222,8 +223,7 @@ DesktopDatePicker.propTypes = {
222
223
  onError: PropTypes.func,
223
224
  /**
224
225
  * Callback fired on month change.
225
- * @template TDate
226
- * @param {TDate} month The new month.
226
+ * @param {PickerValidDate} month The new month.
227
227
  */
228
228
  onMonthChange: PropTypes.func,
229
229
  /**
@@ -244,8 +244,7 @@ DesktopDatePicker.propTypes = {
244
244
  onViewChange: PropTypes.func,
245
245
  /**
246
246
  * Callback fired on year change.
247
- * @template TDate
248
- * @param {TDate} year The new year.
247
+ * @param {PickerValidDate} year The new year.
249
248
  */
250
249
  onYearChange: PropTypes.func,
251
250
  /**
@@ -263,6 +262,11 @@ DesktopDatePicker.propTypes = {
263
262
  * Force rendering in particular orientation.
264
263
  */
265
264
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
265
+ /**
266
+ * If `true`, the component is read-only.
267
+ * When read-only, the value cannot be changed but the user can interact with the interface.
268
+ * @default false
269
+ */
266
270
  readOnly: PropTypes.bool,
267
271
  /**
268
272
  * If `true`, disable heavy animations.
@@ -295,22 +299,19 @@ DesktopDatePicker.propTypes = {
295
299
  *
296
300
  * 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.
297
301
  *
298
- * @template TDate
299
- * @param {TDate} day The date to test.
302
+ * @param {PickerValidDate} day The date to test.
300
303
  * @returns {boolean} If `true` the date will be disabled.
301
304
  */
302
305
  shouldDisableDate: PropTypes.func,
303
306
  /**
304
307
  * Disable specific month.
305
- * @template TDate
306
- * @param {TDate} month The month to test.
308
+ * @param {PickerValidDate} month The month to test.
307
309
  * @returns {boolean} If `true`, the month will be disabled.
308
310
  */
309
311
  shouldDisableMonth: PropTypes.func,
310
312
  /**
311
313
  * Disable specific year.
312
- * @template TDate
313
- * @param {TDate} year The year to test.
314
+ * @param {PickerValidDate} year The year to test.
314
315
  * @returns {boolean} If `true`, the year will be disabled.
315
316
  */
316
317
  shouldDisableYear: PropTypes.func,
@@ -12,7 +12,7 @@ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
12
12
  import { DateTimeField } from "../DateTimeField/index.js";
13
13
  import { useDateTimePickerDefaultizedProps } from "../DateTimePicker/shared.js";
14
14
  import { renderDateViewCalendar } from "../dateViewRenderers/dateViewRenderers.js";
15
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
15
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
16
16
  import { useUtils } from "../internals/hooks/useUtils.js";
17
17
  import { validateDateTime, extractValidationProps } from "../validation/index.js";
18
18
  import { CalendarIcon } from "../icons/index.js";
@@ -83,7 +83,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
83
83
  * - [DesktopDateTimePicker API](https://mui.com/x/api/date-pickers/desktop-date-time-picker/)
84
84
  */
85
85
  const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
86
- const translations = usePickersTranslations();
86
+ const translations = usePickerTranslations();
87
87
  const utils = useUtils();
88
88
 
89
89
  // Props with the default values common to all date time pickers
@@ -189,9 +189,9 @@ DesktopDateTimePicker.propTypes = {
189
189
  closeOnSelect: PropTypes.bool,
190
190
  /**
191
191
  * Formats the day of week displayed in the calendar header.
192
- * @param {TDate} date The date of the day of week provided by the adapter.
192
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
193
193
  * @returns {string} The name to display.
194
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
194
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
195
195
  */
196
196
  dayOfWeekFormatter: PropTypes.func,
197
197
  /**
@@ -200,7 +200,8 @@ DesktopDateTimePicker.propTypes = {
200
200
  */
201
201
  defaultValue: PropTypes.object,
202
202
  /**
203
- * If `true`, the picker and text field are disabled.
203
+ * If `true`, the component is disabled.
204
+ * When disabled, the value cannot be changed and no interaction is possible.
204
205
  * @default false
205
206
  */
206
207
  disabled: PropTypes.bool,
@@ -234,7 +235,7 @@ DesktopDateTimePicker.propTypes = {
234
235
  */
235
236
  displayWeekNumber: PropTypes.bool,
236
237
  /**
237
- * @default false
238
+ * @default true
238
239
  */
239
240
  enableAccessibleFieldDOMStructure: PropTypes.any,
240
241
  /**
@@ -347,8 +348,7 @@ DesktopDateTimePicker.propTypes = {
347
348
  onError: PropTypes.func,
348
349
  /**
349
350
  * Callback fired on month change.
350
- * @template TDate
351
- * @param {TDate} month The new month.
351
+ * @param {PickerValidDate} month The new month.
352
352
  */
353
353
  onMonthChange: PropTypes.func,
354
354
  /**
@@ -369,8 +369,7 @@ DesktopDateTimePicker.propTypes = {
369
369
  onViewChange: PropTypes.func,
370
370
  /**
371
371
  * Callback fired on year change.
372
- * @template TDate
373
- * @param {TDate} year The new year.
372
+ * @param {PickerValidDate} year The new year.
374
373
  */
375
374
  onYearChange: PropTypes.func,
376
375
  /**
@@ -388,6 +387,11 @@ DesktopDateTimePicker.propTypes = {
388
387
  * Force rendering in particular orientation.
389
388
  */
390
389
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
390
+ /**
391
+ * If `true`, the component is read-only.
392
+ * When read-only, the value cannot be changed but the user can interact with the interface.
393
+ * @default false
394
+ */
391
395
  readOnly: PropTypes.bool,
392
396
  /**
393
397
  * If `true`, disable heavy animations.
@@ -420,30 +424,26 @@ DesktopDateTimePicker.propTypes = {
420
424
  *
421
425
  * 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.
422
426
  *
423
- * @template TDate
424
- * @param {TDate} day The date to test.
427
+ * @param {PickerValidDate} day The date to test.
425
428
  * @returns {boolean} If `true` the date will be disabled.
426
429
  */
427
430
  shouldDisableDate: PropTypes.func,
428
431
  /**
429
432
  * Disable specific month.
430
- * @template TDate
431
- * @param {TDate} month The month to test.
433
+ * @param {PickerValidDate} month The month to test.
432
434
  * @returns {boolean} If `true`, the month will be disabled.
433
435
  */
434
436
  shouldDisableMonth: PropTypes.func,
435
437
  /**
436
438
  * Disable specific time.
437
- * @template TDate
438
- * @param {TDate} value The value to check.
439
+ * @param {PickerValidDate} value The value to check.
439
440
  * @param {TimeView} view The clock type of the timeValue.
440
441
  * @returns {boolean} If `true` the time will be disabled.
441
442
  */
442
443
  shouldDisableTime: PropTypes.func,
443
444
  /**
444
445
  * Disable specific year.
445
- * @template TDate
446
- * @param {TDate} year The year to test.
446
+ * @param {PickerValidDate} year The year to test.
447
447
  * @returns {boolean} If `true`, the year will be disabled.
448
448
  */
449
449
  shouldDisableYear: PropTypes.func,
@@ -66,6 +66,11 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes =
66
66
  */
67
67
  classes: PropTypes.object,
68
68
  className: PropTypes.string,
69
+ /**
70
+ * If `true`, the component is disabled.
71
+ * When disabled, the value cannot be changed and no interaction is possible.
72
+ * @default false
73
+ */
69
74
  disabled: PropTypes.bool,
70
75
  isLandscape: PropTypes.bool.isRequired,
71
76
  /**
@@ -87,6 +92,11 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes =
87
92
  * Force rendering in particular orientation.
88
93
  */
89
94
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
95
+ /**
96
+ * If `true`, the component is read-only.
97
+ * When read-only, the value cannot be changed but the user can interact with the interface.
98
+ * @default false
99
+ */
90
100
  readOnly: PropTypes.bool,
91
101
  /**
92
102
  * The props used for each component slot.
@@ -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 { ClockIcon } from "../icons/index.js";
@@ -28,7 +28,7 @@ import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalizat
28
28
  * - [DesktopTimePicker API](https://mui.com/x/api/date-pickers/desktop-time-picker/)
29
29
  */
30
30
  const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
31
- const translations = usePickersTranslations();
31
+ const translations = usePickerTranslations();
32
32
  const utils = useUtils();
33
33
 
34
34
  // Props with the default values common to all time pickers
@@ -127,7 +127,8 @@ DesktopTimePicker.propTypes = {
127
127
  */
128
128
  defaultValue: PropTypes.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.bool,
@@ -152,7 +153,7 @@ DesktopTimePicker.propTypes = {
152
153
  */
153
154
  disablePast: PropTypes.bool,
154
155
  /**
155
- * @default false
156
+ * @default true
156
157
  */
157
158
  enableAccessibleFieldDOMStructure: PropTypes.any,
158
159
  /**
@@ -260,6 +261,11 @@ DesktopTimePicker.propTypes = {
260
261
  * Force rendering in particular orientation.
261
262
  */
262
263
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
264
+ /**
265
+ * If `true`, the component is read-only.
266
+ * When read-only, the value cannot be changed but the user can interact with the interface.
267
+ * @default false
268
+ */
263
269
  readOnly: PropTypes.bool,
264
270
  /**
265
271
  * If `true`, disable heavy animations.
@@ -283,8 +289,7 @@ DesktopTimePicker.propTypes = {
283
289
  selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
284
290
  /**
285
291
  * Disable specific time.
286
- * @template TDate
287
- * @param {TDate} value The value to check.
292
+ * @param {PickerValidDate} value The value to check.
288
293
  * @param {TimeView} view The clock type of the timeValue.
289
294
  * @returns {boolean} If `true` the time will be disabled.
290
295
  */
@@ -13,7 +13,7 @@ import composeClasses from '@mui/utils/composeClasses';
13
13
  import MenuItem from '@mui/material/MenuItem';
14
14
  import MenuList from '@mui/material/MenuList';
15
15
  import useForkRef from '@mui/utils/useForkRef';
16
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
16
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
17
17
  import { useUtils, useNow } from "../internals/hooks/useUtils.js";
18
18
  import { createIsAfterIgnoreDatePart } from "../internals/utils/time-utils.js";
19
19
  import { PickerViewRoot } from "../internals/components/PickerViewRoot/index.js";
@@ -152,7 +152,7 @@ export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(
152
152
  onChange,
153
153
  valueManager: singleItemValueManager
154
154
  });
155
- const translations = usePickersTranslations();
155
+ const translations = usePickerTranslations();
156
156
  const now = useNow(timezone);
157
157
  const ownerState = React.useMemo(() => _extends({}, props, {
158
158
  alreadyRendered: !!containerRef.current
@@ -335,7 +335,8 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
335
335
  */
336
336
  defaultValue: PropTypes.object,
337
337
  /**
338
- * If `true`, the picker views and text field are disabled.
338
+ * If `true`, the component is disabled.
339
+ * When disabled, the value cannot be changed and no interaction is possible.
339
340
  * @default false
340
341
  */
341
342
  disabled: PropTypes.bool,
@@ -402,7 +403,8 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
402
403
  */
403
404
  openTo: PropTypes.oneOf(['hours']),
404
405
  /**
405
- * If `true`, the picker views and text field are read-only.
406
+ * If `true`, the component is read-only.
407
+ * When read-only, the value cannot be changed but the user can interact with the interface.
406
408
  * @default false
407
409
  */
408
410
  readOnly: PropTypes.bool,
@@ -413,8 +415,7 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
413
415
  referenceDate: PropTypes.object,
414
416
  /**
415
417
  * Disable specific time.
416
- * @template TDate
417
- * @param {TDate} value The value to check.
418
+ * @param {PickerValidDate} value The value to check.
418
419
  * @param {TimeView} view The clock type of the timeValue.
419
420
  * @returns {boolean} If `true` the time will be disabled.
420
421
  */
@@ -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,