@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
@@ -152,7 +152,6 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
152
152
  */
153
153
  classes: _propTypes.default.object,
154
154
  className: _propTypes.default.string,
155
- disabled: _propTypes.default.bool,
156
155
  isLandscape: _propTypes.default.bool.isRequired,
157
156
  /**
158
157
  * `true` if the application is in right-to-left direction.
@@ -173,7 +172,6 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
173
172
  * Force rendering in particular orientation.
174
173
  */
175
174
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
176
- readOnly: _propTypes.default.bool,
177
175
  /**
178
176
  * The props used for each component slot.
179
177
  * @default {}
@@ -14,13 +14,13 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
14
14
  var _PickersActionBar = require("../PickersActionBar");
15
15
  var _pickersLayoutClasses = require("./pickersLayoutClasses");
16
16
  var _PickersShortcuts = require("../PickersShortcuts");
17
+ var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
17
18
  var _jsxRuntime = require("react/jsx-runtime");
18
19
  function toolbarHasView(toolbarProps) {
19
20
  return toolbarProps.view !== null;
20
21
  }
21
- const useUtilityClasses = ownerState => {
22
+ const useUtilityClasses = (classes, ownerState) => {
22
23
  const {
23
- classes,
24
24
  isLandscape
25
25
  } = ownerState;
26
26
  const slots = {
@@ -35,6 +35,9 @@ const useUtilityClasses = ownerState => {
35
35
  return (0, _composeClasses.default)(slots, _pickersLayoutClasses.getPickersLayoutUtilityClass, classes);
36
36
  };
37
37
  const usePickerLayout = props => {
38
+ const {
39
+ ownerState: pickersOwnerState
40
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
38
41
  const {
39
42
  wrapperVariant,
40
43
  onAccept,
@@ -49,17 +52,20 @@ const usePickerLayout = props => {
49
52
  onSelectShortcut,
50
53
  isValid,
51
54
  isLandscape,
52
- disabled,
53
- readOnly,
54
55
  children,
55
56
  slots,
56
- slotProps
57
+ slotProps,
58
+ classes: classesProp
57
59
  // TODO: Remove this "as" hack. It get introduced to mark `value` prop in PickersLayoutProps as not required.
58
60
  // The true type should be
59
- // - For pickers value: TDate | null
60
- // - For range pickers value: [TDate | null, TDate | null]
61
+ // - For pickers value: PickerValidDate | null
62
+ // - For range pickers value: [PickerValidDate | null, PickerValidDate | null]
61
63
  } = props;
62
- const classes = useUtilityClasses(props);
64
+ const ownerState = (0, _extends2.default)({}, pickersOwnerState, {
65
+ wrapperVariant,
66
+ isLandscape
67
+ });
68
+ const classes = useUtilityClasses(classesProp, ownerState);
63
69
 
64
70
  // Action bar
65
71
  const ActionBar = slots?.actionBar ?? _PickersActionBar.PickersActionBar;
@@ -74,9 +80,7 @@ const usePickerLayout = props => {
74
80
  actions: wrapperVariant === 'desktop' ? [] : ['cancel', 'accept']
75
81
  },
76
82
  className: classes.actionBar,
77
- ownerState: (0, _extends2.default)({}, props, {
78
- wrapperVariant
79
- })
83
+ ownerState
80
84
  });
81
85
  const actionBar = /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionBar, (0, _extends2.default)({}, actionBarProps));
82
86
 
@@ -91,14 +95,10 @@ const usePickerLayout = props => {
91
95
  value,
92
96
  view,
93
97
  onViewChange,
94
- views,
95
- disabled,
96
- readOnly
98
+ views
97
99
  },
98
100
  className: classes.toolbar,
99
- ownerState: (0, _extends2.default)({}, props, {
100
- wrapperVariant
101
- })
101
+ ownerState
102
102
  });
103
103
  const toolbar = toolbarHasView(toolbarProps) && !!Toolbar ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Toolbar, (0, _extends2.default)({}, toolbarProps)) : null;
104
104
 
@@ -124,12 +124,7 @@ const usePickerLayout = props => {
124
124
  onChange: onSelectShortcut
125
125
  },
126
126
  className: classes.shortcuts,
127
- ownerState: {
128
- isValid,
129
- isLandscape,
130
- onChange: onSelectShortcut,
131
- wrapperVariant
132
- }
127
+ ownerState
133
128
  });
134
129
  const shortcuts = view && !!Shortcuts ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Shortcuts, (0, _extends2.default)({}, shortcutsProps)) : null;
135
130
  return {
@@ -22,7 +22,7 @@ var _RtlProvider = require("@mui/system/RtlProvider");
22
22
  var _pickersInputBaseClasses = require("./pickersInputBaseClasses");
23
23
  var _PickersSectionList = require("../../PickersSectionList");
24
24
  var _jsxRuntime = require("react/jsx-runtime");
25
- const _excluded = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "value", "onChange", "id", "autoFocus", "endAdornment", "startAdornment", "renderSuffix", "slots", "slotProps", "contentEditable", "tabIndex", "onInput", "onPaste", "onKeyDown", "fullWidth", "name", "readOnly", "inputProps", "inputRef", "sectionListRef"];
25
+ const _excluded = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "value", "onChange", "id", "autoFocus", "endAdornment", "startAdornment", "renderSuffix", "slots", "slotProps", "contentEditable", "tabIndex", "onInput", "onPaste", "onKeyDown", "fullWidth", "name", "readOnly", "inputProps", "inputRef", "sectionListRef", "onFocus", "onBlur"];
26
26
  const round = value => Math.round(value * 1e5) / 1e5;
27
27
  const PickersInputBaseRoot = exports.PickersInputBaseRoot = (0, _styles.styled)('div', {
28
28
  name: 'MuiPickersInputBase',
@@ -202,7 +202,9 @@ const PickersInputBase = exports.PickersInputBase = /*#__PURE__*/React.forwardRe
202
202
  readOnly,
203
203
  inputProps,
204
204
  inputRef,
205
- sectionListRef
205
+ sectionListRef,
206
+ onFocus,
207
+ onBlur
206
208
  } = props,
207
209
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
208
210
  const rootRef = React.useRef(null);
@@ -214,13 +216,12 @@ const PickersInputBase = exports.PickersInputBase = /*#__PURE__*/React.forwardRe
214
216
  throw new Error('MUI X: PickersInputBase should always be used inside a PickersTextField component');
215
217
  }
216
218
  const handleInputFocus = event => {
217
- // Fix a bug with IE11 where the focus/blur events are triggered
218
- // while the component is disabled.
219
- if (muiFormControl.disabled) {
220
- event.stopPropagation();
221
- return;
222
- }
223
219
  muiFormControl.onFocus?.(event);
220
+ onFocus?.(event);
221
+ };
222
+ const handleInputBlur = event => {
223
+ muiFormControl.onBlur?.(event);
224
+ onBlur?.(event);
224
225
  };
225
226
  React.useEffect(() => {
226
227
  if (muiFormControl) {
@@ -262,7 +263,7 @@ const PickersInputBase = exports.PickersInputBase = /*#__PURE__*/React.forwardRe
262
263
  tabIndex: tabIndex,
263
264
  className: classes.sectionsContainer,
264
265
  onFocus: handleInputFocus,
265
- onBlur: muiFormControl.onBlur,
266
+ onBlur: handleInputBlur,
266
267
  onInput: onInput,
267
268
  onPaste: onPaste,
268
269
  onKeyDown: onKeyDown,
@@ -112,8 +112,6 @@ const PickersTextField = exports.PickersTextField = /*#__PURE__*/React.forwardRe
112
112
  className: (0, _clsx.default)(classes.root, className),
113
113
  ref: handleRootRef,
114
114
  focused: focused,
115
- onFocus: onFocus,
116
- onBlur: onBlur,
117
115
  disabled: disabled,
118
116
  variant: variant,
119
117
  error: error,
@@ -135,6 +133,8 @@ const PickersTextField = exports.PickersTextField = /*#__PURE__*/React.forwardRe
135
133
  onKeyUp: onKeyUp,
136
134
  onInput: onInput,
137
135
  onPaste: onPaste,
136
+ onFocus: onFocus,
137
+ onBlur: onBlur,
138
138
  endAdornment: endAdornment,
139
139
  startAdornment: startAdornment,
140
140
  tabIndex: tabIndex,
@@ -71,9 +71,9 @@ StaticDatePicker.propTypes = {
71
71
  className: _propTypes.default.string,
72
72
  /**
73
73
  * Formats the day of week displayed in the calendar header.
74
- * @param {TDate} date The date of the day of week provided by the adapter.
74
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
75
75
  * @returns {string} The name to display.
76
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
76
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
77
77
  */
78
78
  dayOfWeekFormatter: _propTypes.default.func,
79
79
  /**
@@ -82,7 +82,8 @@ StaticDatePicker.propTypes = {
82
82
  */
83
83
  defaultValue: _propTypes.default.object,
84
84
  /**
85
- * If `true`, the picker and text field are disabled.
85
+ * If `true`, the component is disabled.
86
+ * When disabled, the value cannot be changed and no interaction is possible.
86
87
  * @default false
87
88
  */
88
89
  disabled: _propTypes.default.bool,
@@ -175,8 +176,7 @@ StaticDatePicker.propTypes = {
175
176
  onError: _propTypes.default.func,
176
177
  /**
177
178
  * Callback fired on month change.
178
- * @template TDate
179
- * @param {TDate} month The new month.
179
+ * @param {PickerValidDate} month The new month.
180
180
  */
181
181
  onMonthChange: _propTypes.default.func,
182
182
  /**
@@ -187,8 +187,7 @@ StaticDatePicker.propTypes = {
187
187
  onViewChange: _propTypes.default.func,
188
188
  /**
189
189
  * Callback fired on year change.
190
- * @template TDate
191
- * @param {TDate} year The new year.
190
+ * @param {PickerValidDate} year The new year.
192
191
  */
193
192
  onYearChange: _propTypes.default.func,
194
193
  /**
@@ -201,6 +200,11 @@ StaticDatePicker.propTypes = {
201
200
  * Force rendering in particular orientation.
202
201
  */
203
202
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
203
+ /**
204
+ * If `true`, the component is read-only.
205
+ * When read-only, the value cannot be changed but the user can interact with the interface.
206
+ * @default false
207
+ */
204
208
  readOnly: _propTypes.default.bool,
205
209
  /**
206
210
  * If `true`, disable heavy animations.
@@ -223,22 +227,19 @@ StaticDatePicker.propTypes = {
223
227
  *
224
228
  * 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.
225
229
  *
226
- * @template TDate
227
- * @param {TDate} day The date to test.
230
+ * @param {PickerValidDate} day The date to test.
228
231
  * @returns {boolean} If `true` the date will be disabled.
229
232
  */
230
233
  shouldDisableDate: _propTypes.default.func,
231
234
  /**
232
235
  * Disable specific month.
233
- * @template TDate
234
- * @param {TDate} month The month to test.
236
+ * @param {PickerValidDate} month The month to test.
235
237
  * @returns {boolean} If `true`, the month will be disabled.
236
238
  */
237
239
  shouldDisableMonth: _propTypes.default.func,
238
240
  /**
239
241
  * Disable specific year.
240
- * @template TDate
241
- * @param {TDate} year The year to test.
242
+ * @param {PickerValidDate} year The year to test.
242
243
  * @returns {boolean} If `true`, the year will be disabled.
243
244
  */
244
245
  shouldDisableYear: _propTypes.default.func,
@@ -91,9 +91,9 @@ StaticDateTimePicker.propTypes = {
91
91
  className: _propTypes.default.string,
92
92
  /**
93
93
  * Formats the day of week displayed in the calendar header.
94
- * @param {TDate} date The date of the day of week provided by the adapter.
94
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
95
95
  * @returns {string} The name to display.
96
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
96
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
97
97
  */
98
98
  dayOfWeekFormatter: _propTypes.default.func,
99
99
  /**
@@ -102,7 +102,8 @@ StaticDateTimePicker.propTypes = {
102
102
  */
103
103
  defaultValue: _propTypes.default.object,
104
104
  /**
105
- * If `true`, the picker and text field are disabled.
105
+ * If `true`, the component is disabled.
106
+ * When disabled, the value cannot be changed and no interaction is possible.
106
107
  * @default false
107
108
  */
108
109
  disabled: _propTypes.default.bool,
@@ -223,8 +224,7 @@ StaticDateTimePicker.propTypes = {
223
224
  onError: _propTypes.default.func,
224
225
  /**
225
226
  * Callback fired on month change.
226
- * @template TDate
227
- * @param {TDate} month The new month.
227
+ * @param {PickerValidDate} month The new month.
228
228
  */
229
229
  onMonthChange: _propTypes.default.func,
230
230
  /**
@@ -235,8 +235,7 @@ StaticDateTimePicker.propTypes = {
235
235
  onViewChange: _propTypes.default.func,
236
236
  /**
237
237
  * Callback fired on year change.
238
- * @template TDate
239
- * @param {TDate} year The new year.
238
+ * @param {PickerValidDate} year The new year.
240
239
  */
241
240
  onYearChange: _propTypes.default.func,
242
241
  /**
@@ -249,6 +248,11 @@ StaticDateTimePicker.propTypes = {
249
248
  * Force rendering in particular orientation.
250
249
  */
251
250
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
251
+ /**
252
+ * If `true`, the component is read-only.
253
+ * When read-only, the value cannot be changed but the user can interact with the interface.
254
+ * @default false
255
+ */
252
256
  readOnly: _propTypes.default.bool,
253
257
  /**
254
258
  * If `true`, disable heavy animations.
@@ -271,30 +275,26 @@ StaticDateTimePicker.propTypes = {
271
275
  *
272
276
  * 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.
273
277
  *
274
- * @template TDate
275
- * @param {TDate} day The date to test.
278
+ * @param {PickerValidDate} day The date to test.
276
279
  * @returns {boolean} If `true` the date will be disabled.
277
280
  */
278
281
  shouldDisableDate: _propTypes.default.func,
279
282
  /**
280
283
  * Disable specific month.
281
- * @template TDate
282
- * @param {TDate} month The month to test.
284
+ * @param {PickerValidDate} month The month to test.
283
285
  * @returns {boolean} If `true`, the month will be disabled.
284
286
  */
285
287
  shouldDisableMonth: _propTypes.default.func,
286
288
  /**
287
289
  * Disable specific time.
288
- * @template TDate
289
- * @param {TDate} value The value to check.
290
+ * @param {PickerValidDate} value The value to check.
290
291
  * @param {TimeView} view The clock type of the timeValue.
291
292
  * @returns {boolean} If `true` the time will be disabled.
292
293
  */
293
294
  shouldDisableTime: _propTypes.default.func,
294
295
  /**
295
296
  * Disable specific year.
296
- * @template TDate
297
- * @param {TDate} year The year to test.
297
+ * @param {PickerValidDate} year The year to test.
298
298
  * @returns {boolean} If `true`, the year will be disabled.
299
299
  */
300
300
  shouldDisableYear: _propTypes.default.func,
@@ -87,7 +87,8 @@ StaticTimePicker.propTypes = {
87
87
  */
88
88
  defaultValue: _propTypes.default.object,
89
89
  /**
90
- * If `true`, the picker and text field are disabled.
90
+ * If `true`, the component is disabled.
91
+ * When disabled, the value cannot be changed and no interaction is possible.
91
92
  * @default false
92
93
  */
93
94
  disabled: _propTypes.default.bool,
@@ -179,6 +180,11 @@ StaticTimePicker.propTypes = {
179
180
  * Force rendering in particular orientation.
180
181
  */
181
182
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
183
+ /**
184
+ * If `true`, the component is read-only.
185
+ * When read-only, the value cannot be changed but the user can interact with the interface.
186
+ * @default false
187
+ */
182
188
  readOnly: _propTypes.default.bool,
183
189
  /**
184
190
  * If `true`, disable heavy animations.
@@ -192,8 +198,7 @@ StaticTimePicker.propTypes = {
192
198
  referenceDate: _propTypes.default.object,
193
199
  /**
194
200
  * Disable specific time.
195
- * @template TDate
196
- * @param {TDate} value The value to check.
201
+ * @param {PickerValidDate} value The value to check.
197
202
  * @param {TimeView} view The clock type of the timeValue.
198
203
  * @returns {boolean} If `true` the time will be disabled.
199
204
  */
@@ -14,7 +14,7 @@ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _utils = require("@mui/utils");
16
16
  var _ClockPointer = require("./ClockPointer");
17
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
17
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
18
18
  var _useUtils = require("../internals/hooks/useUtils");
19
19
  var _shared = require("./shared");
20
20
  var _clockClasses = require("./clockClasses");
@@ -194,7 +194,7 @@ function Clock(inProps) {
194
194
  } = props;
195
195
  const ownerState = props;
196
196
  const utils = (0, _useUtils.useUtils)();
197
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
197
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
198
198
  const isMoving = React.useRef(false);
199
199
  const classes = useUtilityClasses(ownerState);
200
200
  const isSelectedTimeDisabled = isTimeDisabled(viewValue, type);
@@ -230,6 +230,7 @@ function Clock(inProps) {
230
230
  setTime(event, 'finish');
231
231
  isMoving.current = false;
232
232
  }
233
+ event.preventDefault();
233
234
  };
234
235
  const handleMouseMove = event => {
235
236
  // event.buttons & PRIMARY_MOUSE_BUTTON
@@ -324,7 +325,7 @@ function Clock(inProps) {
324
325
  })]
325
326
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ClockWrapper, {
326
327
  "aria-activedescendant": selectedId,
327
- "aria-label": translations.clockLabelText(type, value, utils, value == null ? null : utils.format(value, 'fullTime')),
328
+ "aria-label": translations.clockLabelText(type, value == null ? null : utils.format(value, 'fullTime')),
328
329
  ref: listboxRef,
329
330
  role: "listbox",
330
331
  onKeyDown: handleKeyDown,
@@ -14,7 +14,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
  var _styles = require("@mui/material/styles");
16
16
  var _utils = require("@mui/utils");
17
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
17
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
18
18
  var _useUtils = require("../internals/hooks/useUtils");
19
19
  var _PickersArrowSwitcher = require("../internals/components/PickersArrowSwitcher");
20
20
  var _timeUtils = require("../internals/utils/time-utils");
@@ -114,6 +114,7 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
114
114
  timezone: timezoneProp,
115
115
  value: valueProp,
116
116
  defaultValue,
117
+ referenceDate: referenceDateProp,
117
118
  onChange,
118
119
  valueManager: _valueManagers.singleItemValueManager
119
120
  });
@@ -124,7 +125,7 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
124
125
  props,
125
126
  timezone
126
127
  });
127
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
128
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
128
129
  const now = (0, _useUtils.useNow)(timezone);
129
130
  const {
130
131
  view,
@@ -352,7 +353,8 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
352
353
  */
353
354
  defaultValue: _propTypes.default.object,
354
355
  /**
355
- * If `true`, the picker views and text field are disabled.
356
+ * If `true`, the component is disabled.
357
+ * When disabled, the value cannot be changed and no interaction is possible.
356
358
  * @default false
357
359
  */
358
360
  disabled: _propTypes.default.bool,
@@ -419,7 +421,8 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
419
421
  */
420
422
  openTo: _propTypes.default.oneOf(['hours', 'minutes', 'seconds']),
421
423
  /**
422
- * If `true`, the picker views and text field are read-only.
424
+ * If `true`, the component is read-only.
425
+ * When read-only, the value cannot be changed but the user can interact with the interface.
423
426
  * @default false
424
427
  */
425
428
  readOnly: _propTypes.default.bool,
@@ -430,8 +433,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
430
433
  referenceDate: _propTypes.default.object,
431
434
  /**
432
435
  * Disable specific time.
433
- * @template TDate
434
- * @param {TDate} value The value to check.
436
+ * @param {PickerValidDate} value The value to check.
435
437
  * @param {TimeView} view The clock type of the timeValue.
436
438
  * @returns {boolean} If `true` the time will be disabled.
437
439
  */
@@ -44,7 +44,7 @@ const TimeField = exports.TimeField = /*#__PURE__*/React.forwardRef(function Tim
44
44
  } = themeProps,
45
45
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
46
  const ownerState = themeProps;
47
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? _PickersTextField.PickersTextField : _TextField.default);
47
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
48
48
  const textFieldProps = (0, _useSlotProps.default)({
49
49
  elementType: TextField,
50
50
  externalSlotProps: slotProps?.textField,
@@ -101,6 +101,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
101
101
  defaultValue: _propTypes.default.object,
102
102
  /**
103
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.default.bool,
@@ -120,7 +121,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
120
121
  */
121
122
  disablePast: _propTypes.default.bool,
122
123
  /**
123
- * @default false
124
+ * @default true
124
125
  */
125
126
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
126
127
  /**
@@ -240,8 +241,8 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
240
241
  */
241
242
  onSelectedSectionsChange: _propTypes.default.func,
242
243
  /**
243
- * It prevents the user from changing the value of the field
244
- * (not from interacting with the field).
244
+ * If `true`, the component is read-only.
245
+ * When read-only, the value cannot be changed but the user can interact with the interface.
245
246
  * @default false
246
247
  */
247
248
  readOnly: _propTypes.default.bool,
@@ -268,8 +269,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
268
269
  selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number]),
269
270
  /**
270
271
  * Disable specific time.
271
- * @template TDate
272
- * @param {TDate} value The value to check.
272
+ * @param {PickerValidDate} value The value to check.
273
273
  * @param {TimeView} view The clock type of the timeValue.
274
274
  * @returns {boolean} If `true` the time will be disabled.
275
275
  */
@@ -92,7 +92,8 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
92
92
  */
93
93
  desktopModeMediaQuery: _propTypes.default.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.default.bool,
@@ -117,7 +118,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
117
118
  */
118
119
  disablePast: _propTypes.default.bool,
119
120
  /**
120
- * @default false
121
+ * @default true
121
122
  */
122
123
  enableAccessibleFieldDOMStructure: _propTypes.default.any,
123
124
  /**
@@ -225,6 +226,11 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
225
226
  * Force rendering in particular orientation.
226
227
  */
227
228
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
229
+ /**
230
+ * If `true`, the component is read-only.
231
+ * When read-only, the value cannot be changed but the user can interact with the interface.
232
+ * @default false
233
+ */
228
234
  readOnly: _propTypes.default.bool,
229
235
  /**
230
236
  * If `true`, disable heavy animations.
@@ -248,8 +254,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
248
254
  selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number]),
249
255
  /**
250
256
  * Disable specific time.
251
- * @template TDate
252
- * @param {TDate} value The value to check.
257
+ * @param {PickerValidDate} value The value to check.
253
258
  * @param {TimeView} view The clock type of the timeValue.
254
259
  * @returns {boolean} If `true` the time will be disabled.
255
260
  */
@@ -19,13 +19,14 @@ var _PickersToolbarText = require("../internals/components/PickersToolbarText");
19
19
  var _PickersToolbarButton = require("../internals/components/PickersToolbarButton");
20
20
  var _PickersToolbar = require("../internals/components/PickersToolbar");
21
21
  var _utils = require("../internals/utils/utils");
22
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
22
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
23
23
  var _useUtils = require("../internals/hooks/useUtils");
24
24
  var _dateHelpersHooks = require("../internals/hooks/date-helpers-hooks");
25
25
  var _timePickerToolbarClasses = require("./timePickerToolbarClasses");
26
26
  var _dateUtils = require("../internals/utils/date-utils");
27
+ var _hooks = require("../hooks");
27
28
  var _jsxRuntime = require("react/jsx-runtime");
28
- const _excluded = ["ampm", "ampmInClock", "value", "isLandscape", "onChange", "view", "onViewChange", "views", "disabled", "readOnly", "className"];
29
+ const _excluded = ["ampm", "ampmInClock", "value", "isLandscape", "onChange", "view", "onViewChange", "views", "className"];
29
30
  const useUtilityClasses = ownerState => {
30
31
  const {
31
32
  isLandscape,
@@ -135,14 +136,16 @@ function TimePickerToolbar(inProps) {
135
136
  view,
136
137
  onViewChange,
137
138
  views,
138
- disabled,
139
- readOnly,
140
139
  className
141
140
  } = props,
142
141
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
143
142
  const utils = (0, _useUtils.useUtils)();
144
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
143
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
145
144
  const isRtl = (0, _RtlProvider.useRtl)();
145
+ const {
146
+ disabled,
147
+ readOnly
148
+ } = (0, _hooks.usePickerContext)();
146
149
  const showAmPmControl = Boolean(ampm && !ampmInClock && views.includes('hours'));
147
150
  const {
148
151
  meridiemMode,
@@ -223,7 +226,6 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
223
226
  */
224
227
  classes: _propTypes.default.object,
225
228
  className: _propTypes.default.string,
226
- disabled: _propTypes.default.bool,
227
229
  /**
228
230
  * If `true`, show the toolbar even in desktop mode.
229
231
  * @default `true` for Desktop, `false` for Mobile.
@@ -237,7 +239,6 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
237
239
  * @param {TView} view The view to open
238
240
  */
239
241
  onViewChange: _propTypes.default.func.isRequired,
240
- readOnly: _propTypes.default.bool,
241
242
  /**
242
243
  * The system prop that allows defining system overrides as well as additional CSS styles.
243
244
  */