@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
@@ -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";
@@ -149,10 +149,11 @@ export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(
149
149
  timezone: timezoneProp,
150
150
  value: valueProp,
151
151
  defaultValue,
152
+ referenceDate: referenceDateProp,
152
153
  onChange,
153
154
  valueManager: singleItemValueManager
154
155
  });
155
- const translations = usePickersTranslations();
156
+ const translations = usePickerTranslations();
156
157
  const now = useNow(timezone);
157
158
  const ownerState = React.useMemo(() => _extends({}, props, {
158
159
  alreadyRendered: !!containerRef.current
@@ -335,7 +336,8 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
335
336
  */
336
337
  defaultValue: PropTypes.object,
337
338
  /**
338
- * If `true`, the picker views and text field are disabled.
339
+ * If `true`, the component is disabled.
340
+ * When disabled, the value cannot be changed and no interaction is possible.
339
341
  * @default false
340
342
  */
341
343
  disabled: PropTypes.bool,
@@ -402,7 +404,8 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
402
404
  */
403
405
  openTo: PropTypes.oneOf(['hours']),
404
406
  /**
405
- * If `true`, the picker views and text field are read-only.
407
+ * If `true`, the component is read-only.
408
+ * When read-only, the value cannot be changed but the user can interact with the interface.
406
409
  * @default false
407
410
  */
408
411
  readOnly: PropTypes.bool,
@@ -413,8 +416,7 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
413
416
  referenceDate: PropTypes.object,
414
417
  /**
415
418
  * Disable specific time.
416
- * @template TDate
417
- * @param {TDate} value The value to check.
419
+ * @param {PickerValidDate} value The value to check.
418
420
  * @param {TimeView} view The clock type of the timeValue.
419
421
  * @returns {boolean} If `true` the time will be disabled.
420
422
  */
@@ -2,9 +2,9 @@ import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/utils';
3
3
  import MenuItem from '@mui/material/MenuItem';
4
4
  import { DigitalClockClasses } from './digitalClockClasses';
5
- import { BaseClockProps, DigitalClockOnlyProps, ExportedBaseClockProps } from '../internals/models/props/clock';
6
- import { PickerValidDate, TimeView } from '../models';
7
- export interface ExportedDigitalClockProps<TDate extends PickerValidDate> extends ExportedBaseClockProps<TDate>, DigitalClockOnlyProps {
5
+ import { BaseClockProps, DigitalClockOnlyProps, ExportedBaseClockProps } from '../internals/models/props/time';
6
+ import { TimeView } from '../models';
7
+ export interface ExportedDigitalClockProps extends ExportedBaseClockProps, DigitalClockOnlyProps {
8
8
  }
9
9
  export interface DigitalClockSlots {
10
10
  /**
@@ -16,7 +16,7 @@ export interface DigitalClockSlots {
16
16
  export interface DigitalClockSlotProps {
17
17
  digitalClockItem?: SlotComponentProps<typeof MenuItem, {}, Record<string, any>>;
18
18
  }
19
- export interface DigitalClockProps<TDate extends PickerValidDate> extends ExportedDigitalClockProps<TDate>, BaseClockProps<TDate, Extract<TimeView, 'hours'>> {
19
+ export interface DigitalClockProps extends ExportedDigitalClockProps, BaseClockProps<Extract<TimeView, 'hours'>> {
20
20
  /**
21
21
  * Available views.
22
22
  * @default ['hours']
@@ -1,25 +1,25 @@
1
1
  import * as React from 'react';
2
2
  import { AdapterFormats, MuiPickersAdapter, PickerValidDate } from '../models';
3
3
  import { PickersInputLocaleText } from '../locales';
4
- export interface MuiPickersAdapterContextValue<TDate extends PickerValidDate> {
4
+ export interface MuiPickersAdapterContextValue {
5
5
  defaultDates: {
6
- minDate: TDate;
7
- maxDate: TDate;
6
+ minDate: PickerValidDate;
7
+ maxDate: PickerValidDate;
8
8
  };
9
- utils: MuiPickersAdapter<TDate>;
10
- localeText: PickersInputLocaleText<TDate> | undefined;
9
+ utils: MuiPickersAdapter;
10
+ localeText: PickersInputLocaleText | undefined;
11
11
  }
12
- export type MuiPickersAdapterContextNullableValue<TDate extends PickerValidDate> = {
13
- [K in keyof MuiPickersAdapterContextValue<TDate>]: MuiPickersAdapterContextValue<TDate>[K] | null;
12
+ export type MuiPickersAdapterContextNullableValue = {
13
+ [K in keyof MuiPickersAdapterContextValue]: MuiPickersAdapterContextValue[K] | null;
14
14
  };
15
- export declare const MuiPickersAdapterContext: React.Context<MuiPickersAdapterContextNullableValue<any> | null>;
16
- export interface LocalizationProviderProps<TDate extends PickerValidDate, TLocale> {
15
+ export declare const MuiPickersAdapterContext: React.Context<MuiPickersAdapterContextNullableValue | null>;
16
+ export interface LocalizationProviderProps<TLocale> {
17
17
  children?: React.ReactNode;
18
18
  /**
19
19
  * Date library adapter class function.
20
20
  * @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#setup-your-date-library-adapter date adapter setup section} for more details.
21
21
  */
22
- dateAdapter?: new (...args: any) => MuiPickersAdapter<TDate, TLocale>;
22
+ dateAdapter?: new (...args: any) => MuiPickersAdapter<TLocale>;
23
23
  /** Formats that are used for any child pickers */
24
24
  dateFormats?: Partial<AdapterFormats>;
25
25
  /**
@@ -36,9 +36,9 @@ export interface LocalizationProviderProps<TDate extends PickerValidDate, TLocal
36
36
  /**
37
37
  * Locale for components texts
38
38
  */
39
- localeText?: PickersInputLocaleText<TDate>;
39
+ localeText?: PickersInputLocaleText;
40
40
  }
41
- type LocalizationProviderComponent = (<TDate extends PickerValidDate, TLocale>(props: LocalizationProviderProps<TDate, TLocale>) => React.JSX.Element) & {
41
+ type LocalizationProviderComponent = (<TLocale>(props: LocalizationProviderProps<TLocale>) => React.JSX.Element) & {
42
42
  propTypes?: any;
43
43
  };
44
44
  /**
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { MobileDatePickerProps } from './MobileDatePicker.types';
3
- import { PickerValidDate } from '../models';
4
- type MobileDatePickerComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MobileDatePickerProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ type MobileDatePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileDatePickerProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
4
  propTypes?: any;
6
5
  };
7
6
  /**
@@ -7,7 +7,7 @@ import resolveComponentProps from '@mui/utils/resolveComponentProps';
7
7
  import { refType } from '@mui/utils';
8
8
  import { useMobilePicker } from "../internals/hooks/useMobilePicker/index.js";
9
9
  import { useDatePickerDefaultizedProps } from "../DatePicker/shared.js";
10
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
10
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
11
11
  import { useUtils } from "../internals/hooks/useUtils.js";
12
12
  import { extractValidationProps, validateDate } from "../validation/index.js";
13
13
  import { DateField } from "../DateField/index.js";
@@ -26,7 +26,7 @@ import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalizat
26
26
  * - [MobileDatePicker API](https://mui.com/x/api/date-pickers/mobile-date-picker/)
27
27
  */
28
28
  const MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
29
- const translations = usePickersTranslations();
29
+ const translations = usePickerTranslations();
30
30
  const utils = useUtils();
31
31
 
32
32
  // Props with the default values common to all date pickers
@@ -89,9 +89,9 @@ MobileDatePicker.propTypes = {
89
89
  closeOnSelect: PropTypes.bool,
90
90
  /**
91
91
  * Formats the day of week displayed in the calendar header.
92
- * @param {TDate} date The date of the day of week provided by the adapter.
92
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
93
93
  * @returns {string} The name to display.
94
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
94
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
95
95
  */
96
96
  dayOfWeekFormatter: PropTypes.func,
97
97
  /**
@@ -100,7 +100,8 @@ MobileDatePicker.propTypes = {
100
100
  */
101
101
  defaultValue: PropTypes.object,
102
102
  /**
103
- * If `true`, the picker and text field are disabled.
103
+ * If `true`, the component is disabled.
104
+ * When disabled, the value cannot be changed and no interaction is possible.
104
105
  * @default false
105
106
  */
106
107
  disabled: PropTypes.bool,
@@ -129,7 +130,7 @@ MobileDatePicker.propTypes = {
129
130
  */
130
131
  displayWeekNumber: PropTypes.bool,
131
132
  /**
132
- * @default false
133
+ * @default true
133
134
  */
134
135
  enableAccessibleFieldDOMStructure: PropTypes.any,
135
136
  /**
@@ -219,8 +220,7 @@ MobileDatePicker.propTypes = {
219
220
  onError: PropTypes.func,
220
221
  /**
221
222
  * Callback fired on month change.
222
- * @template TDate
223
- * @param {TDate} month The new month.
223
+ * @param {PickerValidDate} month The new month.
224
224
  */
225
225
  onMonthChange: PropTypes.func,
226
226
  /**
@@ -241,8 +241,7 @@ MobileDatePicker.propTypes = {
241
241
  onViewChange: PropTypes.func,
242
242
  /**
243
243
  * Callback fired on year change.
244
- * @template TDate
245
- * @param {TDate} year The new year.
244
+ * @param {PickerValidDate} year The new year.
246
245
  */
247
246
  onYearChange: PropTypes.func,
248
247
  /**
@@ -260,6 +259,11 @@ MobileDatePicker.propTypes = {
260
259
  * Force rendering in particular orientation.
261
260
  */
262
261
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
262
+ /**
263
+ * If `true`, the component is read-only.
264
+ * When read-only, the value cannot be changed but the user can interact with the interface.
265
+ * @default false
266
+ */
263
267
  readOnly: PropTypes.bool,
264
268
  /**
265
269
  * If `true`, disable heavy animations.
@@ -292,22 +296,19 @@ MobileDatePicker.propTypes = {
292
296
  *
293
297
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
294
298
  *
295
- * @template TDate
296
- * @param {TDate} day The date to test.
299
+ * @param {PickerValidDate} day The date to test.
297
300
  * @returns {boolean} If `true` the date will be disabled.
298
301
  */
299
302
  shouldDisableDate: PropTypes.func,
300
303
  /**
301
304
  * Disable specific month.
302
- * @template TDate
303
- * @param {TDate} month The month to test.
305
+ * @param {PickerValidDate} month The month to test.
304
306
  * @returns {boolean} If `true`, the month will be disabled.
305
307
  */
306
308
  shouldDisableMonth: PropTypes.func,
307
309
  /**
308
310
  * Disable specific year.
309
- * @template TDate
310
- * @param {TDate} year The year to test.
311
+ * @param {PickerValidDate} year The year to test.
311
312
  * @returns {boolean} If `true`, the year will be disabled.
312
313
  */
313
314
  shouldDisableYear: PropTypes.func,
@@ -1,22 +1,22 @@
1
+ import { MakeOptional } from '@mui/x-internals/types';
1
2
  import { UseMobilePickerSlots, MobileOnlyPickerProps, ExportedUseMobilePickerSlotProps } from '../internals/hooks/useMobilePicker';
2
3
  import { BaseDatePickerProps, BaseDatePickerSlots, BaseDatePickerSlotProps } from '../DatePicker/shared';
3
- import { MakeOptional } from '../internals/models/helpers';
4
- import { DateView, PickerValidDate } from '../models';
5
- export interface MobileDatePickerSlots<TDate extends PickerValidDate> extends BaseDatePickerSlots<TDate>, MakeOptional<UseMobilePickerSlots<TDate, DateView>, 'field'> {
4
+ import { DateView } from '../models';
5
+ export interface MobileDatePickerSlots extends BaseDatePickerSlots, MakeOptional<UseMobilePickerSlots<DateView>, 'field'> {
6
6
  }
7
- export interface MobileDatePickerSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDatePickerSlotProps<TDate>, ExportedUseMobilePickerSlotProps<TDate, DateView, TEnableAccessibleFieldDOMStructure> {
7
+ export interface MobileDatePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDatePickerSlotProps, ExportedUseMobilePickerSlotProps<DateView, TEnableAccessibleFieldDOMStructure> {
8
8
  }
9
- export interface MobileDatePickerProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends BaseDatePickerProps<TDate>, MobileOnlyPickerProps {
9
+ export interface MobileDatePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDatePickerProps, MobileOnlyPickerProps {
10
10
  /**
11
11
  * Overridable component slots.
12
12
  * @default {}
13
13
  */
14
- slots?: MobileDatePickerSlots<TDate>;
14
+ slots?: MobileDatePickerSlots;
15
15
  /**
16
16
  * The props used for each component slot.
17
17
  * @default {}
18
18
  */
19
- slotProps?: MobileDatePickerSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
19
+ slotProps?: MobileDatePickerSlotProps<TEnableAccessibleFieldDOMStructure>;
20
20
  /**
21
21
  * Years rendered per row.
22
22
  * @default 3
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { MobileDateTimePickerProps } from './MobileDateTimePicker.types';
3
- import { DateOrTimeView, PickerValidDate } from '../models';
4
- type MobileDateTimePickerComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MobileDateTimePickerProps<TDate, DateOrTimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ import { DateOrTimeView } from '../models';
4
+ type MobileDateTimePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileDateTimePickerProps<DateOrTimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
5
  propTypes?: any;
6
6
  };
7
7
  /**
@@ -8,7 +8,7 @@ import { refType } from '@mui/utils';
8
8
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
9
9
  import { DateTimeField } from "../DateTimeField/index.js";
10
10
  import { useDateTimePickerDefaultizedProps } from "../DateTimePicker/shared.js";
11
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
11
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
12
12
  import { useUtils } from "../internals/hooks/useUtils.js";
13
13
  import { extractValidationProps, validateDateTime } from "../validation/index.js";
14
14
  import { useMobilePicker } from "../internals/hooks/useMobilePicker/index.js";
@@ -27,7 +27,7 @@ import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalizat
27
27
  * - [MobileDateTimePicker API](https://mui.com/x/api/date-pickers/mobile-date-time-picker/)
28
28
  */
29
29
  const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimePicker(inProps, ref) {
30
- const translations = usePickersTranslations();
30
+ const translations = usePickerTranslations();
31
31
  const utils = useUtils();
32
32
 
33
33
  // Props with the default values common to all date time pickers
@@ -109,9 +109,9 @@ MobileDateTimePicker.propTypes = {
109
109
  closeOnSelect: PropTypes.bool,
110
110
  /**
111
111
  * Formats the day of week displayed in the calendar header.
112
- * @param {TDate} date The date of the day of week provided by the adapter.
112
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
113
113
  * @returns {string} The name to display.
114
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
114
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
115
115
  */
116
116
  dayOfWeekFormatter: PropTypes.func,
117
117
  /**
@@ -120,7 +120,8 @@ MobileDateTimePicker.propTypes = {
120
120
  */
121
121
  defaultValue: PropTypes.object,
122
122
  /**
123
- * If `true`, the picker and text field are disabled.
123
+ * If `true`, the component is disabled.
124
+ * When disabled, the value cannot be changed and no interaction is possible.
124
125
  * @default false
125
126
  */
126
127
  disabled: PropTypes.bool,
@@ -154,7 +155,7 @@ MobileDateTimePicker.propTypes = {
154
155
  */
155
156
  displayWeekNumber: PropTypes.bool,
156
157
  /**
157
- * @default false
158
+ * @default true
158
159
  */
159
160
  enableAccessibleFieldDOMStructure: PropTypes.any,
160
161
  /**
@@ -267,8 +268,7 @@ MobileDateTimePicker.propTypes = {
267
268
  onError: PropTypes.func,
268
269
  /**
269
270
  * Callback fired on month change.
270
- * @template TDate
271
- * @param {TDate} month The new month.
271
+ * @param {PickerValidDate} month The new month.
272
272
  */
273
273
  onMonthChange: PropTypes.func,
274
274
  /**
@@ -289,8 +289,7 @@ MobileDateTimePicker.propTypes = {
289
289
  onViewChange: PropTypes.func,
290
290
  /**
291
291
  * Callback fired on year change.
292
- * @template TDate
293
- * @param {TDate} year The new year.
292
+ * @param {PickerValidDate} year The new year.
294
293
  */
295
294
  onYearChange: PropTypes.func,
296
295
  /**
@@ -308,6 +307,11 @@ MobileDateTimePicker.propTypes = {
308
307
  * Force rendering in particular orientation.
309
308
  */
310
309
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
310
+ /**
311
+ * If `true`, the component is read-only.
312
+ * When read-only, the value cannot be changed but the user can interact with the interface.
313
+ * @default false
314
+ */
311
315
  readOnly: PropTypes.bool,
312
316
  /**
313
317
  * If `true`, disable heavy animations.
@@ -340,30 +344,26 @@ MobileDateTimePicker.propTypes = {
340
344
  *
341
345
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
342
346
  *
343
- * @template TDate
344
- * @param {TDate} day The date to test.
347
+ * @param {PickerValidDate} day The date to test.
345
348
  * @returns {boolean} If `true` the date will be disabled.
346
349
  */
347
350
  shouldDisableDate: PropTypes.func,
348
351
  /**
349
352
  * Disable specific month.
350
- * @template TDate
351
- * @param {TDate} month The month to test.
353
+ * @param {PickerValidDate} month The month to test.
352
354
  * @returns {boolean} If `true`, the month will be disabled.
353
355
  */
354
356
  shouldDisableMonth: PropTypes.func,
355
357
  /**
356
358
  * Disable specific time.
357
- * @template TDate
358
- * @param {TDate} value The value to check.
359
+ * @param {PickerValidDate} value The value to check.
359
360
  * @param {TimeView} view The clock type of the timeValue.
360
361
  * @returns {boolean} If `true` the time will be disabled.
361
362
  */
362
363
  shouldDisableTime: PropTypes.func,
363
364
  /**
364
365
  * Disable specific year.
365
- * @template TDate
366
- * @param {TDate} year The year to test.
366
+ * @param {PickerValidDate} year The year to test.
367
367
  * @returns {boolean} If `true`, the year will be disabled.
368
368
  */
369
369
  shouldDisableYear: PropTypes.func,
@@ -1,21 +1,21 @@
1
+ import { MakeOptional } from '@mui/x-internals/types';
1
2
  import { UseMobilePickerSlots, ExportedUseMobilePickerSlotProps, MobileOnlyPickerProps } from '../internals/hooks/useMobilePicker';
2
3
  import { BaseDateTimePickerProps, BaseDateTimePickerSlots, BaseDateTimePickerSlotProps } from '../DateTimePicker/shared';
3
- import { MakeOptional } from '../internals/models/helpers';
4
- import { DateOrTimeView, PickerValidDate } from '../models';
4
+ import { DateOrTimeView } from '../models';
5
5
  import { DateOrTimeViewWithMeridiem } from '../internals/models';
6
- export interface MobileDateTimePickerSlots<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends BaseDateTimePickerSlots<TDate>, MakeOptional<UseMobilePickerSlots<TDate, TView>, 'field'> {
6
+ export interface MobileDateTimePickerSlots<TView extends DateOrTimeViewWithMeridiem> extends BaseDateTimePickerSlots, MakeOptional<UseMobilePickerSlots<TView>, 'field'> {
7
7
  }
8
- export interface MobileDateTimePickerSlotProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps<TDate>, ExportedUseMobilePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure> {
8
+ export interface MobileDateTimePickerSlotProps<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps, ExportedUseMobilePickerSlotProps<TView, TEnableAccessibleFieldDOMStructure> {
9
9
  }
10
- export interface MobileDateTimePickerProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem = DateOrTimeView, TEnableAccessibleFieldDOMStructure extends boolean = false> extends BaseDateTimePickerProps<TDate, TView>, MobileOnlyPickerProps {
10
+ export interface MobileDateTimePickerProps<TView extends DateOrTimeViewWithMeridiem = DateOrTimeView, TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDateTimePickerProps<TView>, MobileOnlyPickerProps {
11
11
  /**
12
12
  * Overridable component slots.
13
13
  * @default {}
14
14
  */
15
- slots?: MobileDateTimePickerSlots<TDate, TView>;
15
+ slots?: MobileDateTimePickerSlots<TView>;
16
16
  /**
17
17
  * The props used for each component slot.
18
18
  * @default {}
19
19
  */
20
- slotProps?: MobileDateTimePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure>;
20
+ slotProps?: MobileDateTimePickerSlotProps<TView, TEnableAccessibleFieldDOMStructure>;
21
21
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { MobileTimePickerProps } from './MobileTimePicker.types';
3
- import { PickerValidDate, TimeView } from '../models';
4
- type MobileTimePickerComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MobileTimePickerProps<TDate, TimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ import { TimeView } from '../models';
4
+ type MobileTimePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileTimePickerProps<TimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
5
  propTypes?: any;
6
6
  };
7
7
  /**
@@ -8,7 +8,7 @@ import { refType } from '@mui/utils';
8
8
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
9
9
  import { TimeField } from "../TimeField/index.js";
10
10
  import { useTimePickerDefaultizedProps } from "../TimePicker/shared.js";
11
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
11
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
12
12
  import { useUtils } from "../internals/hooks/useUtils.js";
13
13
  import { extractValidationProps, validateTime } from "../validation/index.js";
14
14
  import { useMobilePicker } from "../internals/hooks/useMobilePicker/index.js";
@@ -26,7 +26,7 @@ import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalizat
26
26
  * - [MobileTimePicker API](https://mui.com/x/api/date-pickers/mobile-time-picker/)
27
27
  */
28
28
  const MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(inProps, ref) {
29
- const translations = usePickersTranslations();
29
+ const translations = usePickerTranslations();
30
30
  const utils = useUtils();
31
31
 
32
32
  // Props with the default values common to all time pickers
@@ -106,7 +106,8 @@ MobileTimePicker.propTypes = {
106
106
  */
107
107
  defaultValue: PropTypes.object,
108
108
  /**
109
- * If `true`, the picker and text field are disabled.
109
+ * If `true`, the component is disabled.
110
+ * When disabled, the value cannot be changed and no interaction is possible.
110
111
  * @default false
111
112
  */
112
113
  disabled: PropTypes.bool,
@@ -131,7 +132,7 @@ MobileTimePicker.propTypes = {
131
132
  */
132
133
  disablePast: PropTypes.bool,
133
134
  /**
134
- * @default false
135
+ * @default true
135
136
  */
136
137
  enableAccessibleFieldDOMStructure: PropTypes.any,
137
138
  /**
@@ -239,6 +240,11 @@ MobileTimePicker.propTypes = {
239
240
  * Force rendering in particular orientation.
240
241
  */
241
242
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
243
+ /**
244
+ * If `true`, the component is read-only.
245
+ * When read-only, the value cannot be changed but the user can interact with the interface.
246
+ * @default false
247
+ */
242
248
  readOnly: PropTypes.bool,
243
249
  /**
244
250
  * If `true`, disable heavy animations.
@@ -262,8 +268,7 @@ MobileTimePicker.propTypes = {
262
268
  selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
263
269
  /**
264
270
  * Disable specific time.
265
- * @template TDate
266
- * @param {TDate} value The value to check.
271
+ * @param {PickerValidDate} value The value to check.
267
272
  * @param {TimeView} view The clock type of the timeValue.
268
273
  * @returns {boolean} If `true` the time will be disabled.
269
274
  */
@@ -1,21 +1,21 @@
1
+ import { MakeOptional } from '@mui/x-internals/types';
1
2
  import { UseMobilePickerSlots, ExportedUseMobilePickerSlotProps, MobileOnlyPickerProps } from '../internals/hooks/useMobilePicker';
2
3
  import { BaseTimePickerProps, BaseTimePickerSlots, BaseTimePickerSlotProps } from '../TimePicker/shared';
3
- import { MakeOptional } from '../internals/models/helpers';
4
- import { PickerValidDate, TimeView } from '../models';
4
+ import { TimeView } from '../models';
5
5
  import { TimeViewWithMeridiem } from '../internals/models';
6
- export interface MobileTimePickerSlots<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem> extends BaseTimePickerSlots<TDate>, MakeOptional<UseMobilePickerSlots<TDate, TView>, 'field'> {
6
+ export interface MobileTimePickerSlots<TView extends TimeViewWithMeridiem> extends BaseTimePickerSlots, MakeOptional<UseMobilePickerSlots<TView>, 'field'> {
7
7
  }
8
- export interface MobileTimePickerSlotProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseTimePickerSlotProps, ExportedUseMobilePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure> {
8
+ export interface MobileTimePickerSlotProps<TView extends TimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseTimePickerSlotProps, ExportedUseMobilePickerSlotProps<TView, TEnableAccessibleFieldDOMStructure> {
9
9
  }
10
- export interface MobileTimePickerProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem = TimeView, TEnableAccessibleFieldDOMStructure extends boolean = false> extends BaseTimePickerProps<TDate, TView>, MobileOnlyPickerProps {
10
+ export interface MobileTimePickerProps<TView extends TimeViewWithMeridiem = TimeView, TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseTimePickerProps<TView>, MobileOnlyPickerProps {
11
11
  /**
12
12
  * Overridable component slots.
13
13
  * @default {}
14
14
  */
15
- slots?: MobileTimePickerSlots<TDate, TView>;
15
+ slots?: MobileTimePickerSlots<TView>;
16
16
  /**
17
17
  * The props used for each component slot.
18
18
  * @default {}
19
19
  */
20
- slotProps?: MobileTimePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure>;
20
+ slotProps?: MobileTimePickerSlotProps<TView, TEnableAccessibleFieldDOMStructure>;
21
21
  }
@@ -1,9 +1,8 @@
1
1
  import * as React from 'react';
2
- import { DefaultizedProps } from '../internals/models/helpers';
2
+ import { DefaultizedProps } from '@mui/x-internals/types';
3
3
  import { MonthCalendarProps } from './MonthCalendar.types';
4
- import { PickerValidDate } from '../models';
5
- export declare function useMonthCalendarDefaultizedProps<TDate extends PickerValidDate>(props: MonthCalendarProps<TDate>, name: string): DefaultizedProps<MonthCalendarProps<TDate>, 'minDate' | 'maxDate' | 'disableFuture' | 'disablePast'>;
6
- type MonthCalendarComponent = (<TDate extends PickerValidDate>(props: MonthCalendarProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ export declare function useMonthCalendarDefaultizedProps(props: MonthCalendarProps, name: string): DefaultizedProps<MonthCalendarProps, 'minDate' | 'maxDate' | 'disableFuture' | 'disablePast'>;
5
+ type MonthCalendarComponent = ((props: MonthCalendarProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
6
  propTypes?: any;
8
7
  };
9
8
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
- const _excluded = ["className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "shouldDisableMonth", "readOnly", "disableHighlightToday", "autoFocus", "onMonthFocus", "hasFocus", "onFocusedViewChange", "monthsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
5
+ const _excluded = ["className", "classes", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "shouldDisableMonth", "readOnly", "disableHighlightToday", "autoFocus", "onMonthFocus", "hasFocus", "onFocusedViewChange", "monthsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
@@ -17,11 +17,9 @@ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
17
17
  import { SECTION_TYPE_GRANULARITY } from "../internals/utils/getDefaultReferenceDate.js";
18
18
  import { useControlledValueWithTimezone } from "../internals/hooks/useValueWithTimezone.js";
19
19
  import { DIALOG_WIDTH } from "../internals/constants/dimensions.js";
20
+ import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
20
21
  import { jsx as _jsx } from "react/jsx-runtime";
21
- const useUtilityClasses = ownerState => {
22
- const {
23
- classes
24
- } = ownerState;
22
+ const useUtilityClasses = classes => {
25
23
  const slots = {
26
24
  root: ['root']
27
25
  };
@@ -68,6 +66,7 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
68
66
  const props = useMonthCalendarDefaultizedProps(inProps, 'MuiMonthCalendar');
69
67
  const {
70
68
  className,
69
+ classes: classesProp,
71
70
  value: valueProp,
72
71
  defaultValue,
73
72
  referenceDate: referenceDateProp,
@@ -99,12 +98,16 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
99
98
  timezone: timezoneProp,
100
99
  value: valueProp,
101
100
  defaultValue,
102
- onChange: onChange,
101
+ referenceDate: referenceDateProp,
102
+ onChange,
103
103
  valueManager: singleItemValueManager
104
104
  });
105
105
  const now = useNow(timezone);
106
106
  const isRtl = useRtl();
107
107
  const utils = useUtils();
108
+ const {
109
+ ownerState
110
+ } = usePickerPrivateContext();
108
111
  const referenceDate = React.useMemo(() => singleItemValueManager.getInitialReferenceValue({
109
112
  value,
110
113
  utils,
@@ -114,8 +117,7 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
114
117
  granularity: SECTION_TYPE_GRANULARITY.month
115
118
  }), [] // eslint-disable-line react-hooks/exhaustive-deps
116
119
  );
117
- const ownerState = props;
118
- const classes = useUtilityClasses(ownerState);
120
+ const classes = useUtilityClasses(classesProp);
119
121
  const todayMonth = React.useMemo(() => utils.getMonth(now), [utils, now]);
120
122
  const selectedMonth = React.useMemo(() => {
121
123
  if (value != null) {
@@ -252,7 +254,9 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
252
254
  */
253
255
  defaultValue: PropTypes.object,
254
256
  /**
255
- * If `true` picker is disabled
257
+ * If `true`, the component is disabled.
258
+ * When disabled, the value cannot be changed and no interaction is possible.
259
+ * @default false
256
260
  */
257
261
  disabled: PropTypes.bool,
258
262
  /**
@@ -289,14 +293,15 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
289
293
  monthsPerRow: PropTypes.oneOf([3, 4]),
290
294
  /**
291
295
  * Callback fired when the value changes.
292
- * @template TDate
293
- * @param {TDate} value The new value.
296
+ * @param {PickerValidDate} value The new value.
294
297
  */
295
298
  onChange: PropTypes.func,
296
299
  onFocusedViewChange: PropTypes.func,
297
300
  onMonthFocus: PropTypes.func,
298
301
  /**
299
- * If `true` picker is readonly
302
+ * If `true`, the component is read-only.
303
+ * When read-only, the value cannot be changed but the user can interact with the interface.
304
+ * @default false
300
305
  */
301
306
  readOnly: PropTypes.bool,
302
307
  /**
@@ -306,8 +311,7 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
306
311
  referenceDate: PropTypes.object,
307
312
  /**
308
313
  * Disable specific month.
309
- * @template TDate
310
- * @param {TDate} month The month to test.
314
+ * @param {PickerValidDate} month The month to test.
311
315
  * @returns {boolean} If `true`, the month will be disabled.
312
316
  */
313
317
  shouldDisableMonth: PropTypes.func,