@mui/x-date-pickers 7.22.2 → 8.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +1 -1
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +3 -3
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +1 -1
  4. package/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts +1 -1
  5. package/AdapterDateFnsV3/AdapterDateFnsV3.d.ts +1 -1
  6. package/AdapterDayjs/AdapterDayjs.d.ts +2 -2
  7. package/AdapterLuxon/AdapterLuxon.d.ts +2 -2
  8. package/AdapterMoment/AdapterMoment.d.ts +2 -2
  9. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +2 -2
  10. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +2 -2
  11. package/CHANGELOG.md +142 -155
  12. package/DateCalendar/DateCalendar.d.ts +1 -2
  13. package/DateCalendar/DateCalendar.js +20 -22
  14. package/DateCalendar/DateCalendar.types.d.ts +21 -31
  15. package/DateCalendar/DayCalendar.d.ts +25 -24
  16. package/DateCalendar/DayCalendar.js +13 -10
  17. package/DateCalendar/index.d.ts +1 -0
  18. package/DateCalendar/useCalendarState.d.ts +16 -16
  19. package/DateCalendar/useIsDateDisabled.d.ts +2 -2
  20. package/DateField/DateField.d.ts +1 -2
  21. package/DateField/DateField.js +8 -10
  22. package/DateField/DateField.types.d.ts +8 -9
  23. package/DateField/index.d.ts +1 -1
  24. package/DateField/useDateField.d.ts +1 -2
  25. package/DatePicker/DatePicker.d.ts +1 -2
  26. package/DatePicker/DatePicker.js +15 -14
  27. package/DatePicker/DatePicker.types.d.ts +10 -11
  28. package/DatePicker/DatePickerToolbar.d.ts +2 -2
  29. package/DatePicker/DatePickerToolbar.js +12 -2
  30. package/DatePicker/shared.d.ts +11 -11
  31. package/DateTimeField/DateTimeField.d.ts +1 -2
  32. package/DateTimeField/DateTimeField.js +9 -12
  33. package/DateTimeField/DateTimeField.types.d.ts +9 -14
  34. package/DateTimeField/index.d.ts +1 -1
  35. package/DateTimeField/useDateTimeField.d.ts +1 -2
  36. package/DateTimePicker/DateTimePicker.d.ts +1 -2
  37. package/DateTimePicker/DateTimePicker.js +16 -16
  38. package/DateTimePicker/DateTimePicker.types.d.ts +10 -13
  39. package/DateTimePicker/DateTimePickerTabs.d.ts +1 -2
  40. package/DateTimePicker/DateTimePickerTabs.js +2 -2
  41. package/DateTimePicker/DateTimePickerToolbar.d.ts +3 -3
  42. package/DateTimePicker/DateTimePickerToolbar.js +12 -2
  43. package/DateTimePicker/shared.d.ts +12 -12
  44. package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -2
  45. package/DesktopDatePicker/DesktopDatePicker.js +17 -16
  46. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -7
  47. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -2
  48. package/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  49. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
  50. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +1 -2
  51. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
  52. package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -2
  53. package/DesktopTimePicker/DesktopTimePicker.js +11 -6
  54. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
  55. package/DigitalClock/DigitalClock.d.ts +1 -2
  56. package/DigitalClock/DigitalClock.js +7 -6
  57. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  58. package/LocalizationProvider/LocalizationProvider.d.ts +12 -12
  59. package/MobileDatePicker/MobileDatePicker.d.ts +1 -2
  60. package/MobileDatePicker/MobileDatePicker.js +17 -16
  61. package/MobileDatePicker/MobileDatePicker.types.d.ts +7 -7
  62. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +2 -2
  63. package/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  64. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +7 -7
  65. package/MobileTimePicker/MobileTimePicker.d.ts +2 -2
  66. package/MobileTimePicker/MobileTimePicker.js +11 -6
  67. package/MobileTimePicker/MobileTimePicker.types.d.ts +7 -7
  68. package/MonthCalendar/MonthCalendar.d.ts +3 -4
  69. package/MonthCalendar/MonthCalendar.js +17 -14
  70. package/MonthCalendar/MonthCalendar.types.d.ts +14 -15
  71. package/MonthCalendar/PickersMonth.js +17 -13
  72. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +1 -2
  73. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
  74. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +3 -4
  75. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +9 -9
  76. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +2 -3
  77. package/PickersActionBar/PickersActionBar.js +2 -2
  78. package/PickersCalendarHeader/PickersCalendarHeader.d.ts +1 -2
  79. package/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  80. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +9 -9
  81. package/PickersDay/PickersDay.d.ts +8 -8
  82. package/PickersLayout/PickersLayout.d.ts +2 -3
  83. package/PickersLayout/PickersLayout.js +10 -0
  84. package/PickersLayout/PickersLayout.types.d.ts +14 -17
  85. package/PickersLayout/index.d.ts +1 -1
  86. package/PickersLayout/usePickerLayout.d.ts +1 -2
  87. package/PickersLayout/usePickerLayout.js +17 -18
  88. package/README.md +2 -2
  89. package/StaticDatePicker/StaticDatePicker.d.ts +1 -2
  90. package/StaticDatePicker/StaticDatePicker.js +14 -13
  91. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  92. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -2
  93. package/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  94. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  95. package/StaticTimePicker/StaticTimePicker.d.ts +1 -2
  96. package/StaticTimePicker/StaticTimePicker.js +8 -3
  97. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  98. package/TimeClock/Clock.d.ts +4 -5
  99. package/TimeClock/Clock.js +3 -3
  100. package/TimeClock/ClockNumbers.d.ts +5 -5
  101. package/TimeClock/TimeClock.d.ts +1 -2
  102. package/TimeClock/TimeClock.js +7 -6
  103. package/TimeClock/TimeClock.types.d.ts +4 -4
  104. package/TimeField/TimeField.d.ts +1 -2
  105. package/TimeField/TimeField.js +6 -6
  106. package/TimeField/TimeField.types.d.ts +9 -14
  107. package/TimeField/index.d.ts +1 -1
  108. package/TimeField/useTimeField.d.ts +1 -2
  109. package/TimePicker/TimePicker.d.ts +1 -2
  110. package/TimePicker/TimePicker.js +9 -4
  111. package/TimePicker/TimePicker.types.d.ts +10 -13
  112. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  113. package/TimePicker/TimePickerToolbar.js +12 -2
  114. package/TimePicker/shared.d.ts +10 -10
  115. package/YearCalendar/PickersYear.js +17 -13
  116. package/YearCalendar/YearCalendar.d.ts +1 -2
  117. package/YearCalendar/YearCalendar.js +17 -14
  118. package/YearCalendar/YearCalendar.types.d.ts +14 -15
  119. package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
  120. package/hooks/index.d.ts +2 -2
  121. package/hooks/index.js +2 -2
  122. package/hooks/useClearableField.js +4 -3
  123. package/hooks/useParsedFormat.d.ts +2 -3
  124. package/hooks/useParsedFormat.js +2 -2
  125. package/hooks/usePickerContext.d.ts +4 -0
  126. package/hooks/usePickerContext.js +15 -0
  127. package/hooks/usePickerTranslations.d.ts +1 -0
  128. package/{modern/hooks/usePickersTranslations.js → hooks/usePickerTranslations.js} +1 -1
  129. package/index.js +1 -1
  130. package/internals/components/{PickersProvider.d.ts → PickerProvider.d.ts} +15 -8
  131. package/internals/components/PickerProvider.js +38 -0
  132. package/internals/hooks/date-helpers-hooks.d.ts +6 -6
  133. package/internals/hooks/defaultizedFieldProps.d.ts +7 -8
  134. package/internals/hooks/useClockReferenceDate.d.ts +5 -5
  135. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -2
  136. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
  137. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +15 -15
  138. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +5 -5
  139. package/internals/hooks/useField/useField.d.ts +3 -3
  140. package/internals/hooks/useField/useField.js +1 -1
  141. package/internals/hooks/useField/useField.types.d.ts +38 -48
  142. package/internals/hooks/useField/useField.utils.d.ts +13 -13
  143. package/internals/hooks/useField/useField.utils.js +2 -1
  144. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +4 -4
  145. package/internals/hooks/useField/useFieldState.d.ts +4 -4
  146. package/internals/hooks/useField/useFieldState.js +3 -3
  147. package/internals/hooks/useField/useFieldV7TextField.js +2 -2
  148. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -2
  149. package/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
  150. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +12 -12
  151. package/internals/hooks/usePicker/usePicker.d.ts +2 -2
  152. package/internals/hooks/usePicker/usePicker.js +12 -4
  153. package/internals/hooks/usePicker/usePicker.types.d.ts +7 -5
  154. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +2 -3
  155. package/internals/hooks/usePicker/usePickerOwnerState.d.ts +4 -3
  156. package/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
  157. package/internals/hooks/usePicker/usePickerProvider.d.ts +10 -0
  158. package/internals/hooks/usePicker/usePickerProvider.js +21 -0
  159. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  160. package/internals/hooks/usePicker/usePickerValue.js +2 -7
  161. package/internals/hooks/usePicker/usePickerValue.types.d.ts +32 -34
  162. package/internals/hooks/usePicker/usePickerViews.d.ts +6 -11
  163. package/internals/hooks/usePickerPrivateContext.d.ts +4 -0
  164. package/internals/hooks/usePickerPrivateContext.js +9 -0
  165. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -2
  166. package/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
  167. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
  168. package/internals/hooks/useUtils.d.ts +7 -7
  169. package/internals/hooks/useValueWithTimezone.d.ts +5 -5
  170. package/internals/hooks/useViews.d.ts +3 -3
  171. package/internals/hooks/useViews.js +1 -1
  172. package/internals/index.d.ts +6 -4
  173. package/internals/index.js +2 -1
  174. package/internals/models/fields.d.ts +32 -7
  175. package/internals/models/formProps.d.ts +14 -0
  176. package/internals/models/helpers.d.ts +0 -4
  177. package/internals/models/index.d.ts +2 -0
  178. package/internals/models/index.js +3 -1
  179. package/internals/models/props/basePickerProps.d.ts +5 -6
  180. package/internals/models/props/{clock.d.ts → time.d.ts} +10 -17
  181. package/internals/models/props/toolbar.d.ts +2 -3
  182. package/internals/models/validation.d.ts +21 -25
  183. package/internals/models/value.d.ts +3 -0
  184. package/internals/models/value.js +1 -0
  185. package/internals/utils/date-time-utils.d.ts +7 -7
  186. package/internals/utils/date-utils.d.ts +16 -16
  187. package/internals/utils/getDefaultReferenceDate.d.ts +10 -10
  188. package/internals/utils/time-utils.d.ts +5 -5
  189. package/internals/utils/valueManagers.d.ts +3 -3
  190. package/locales/beBY.d.ts +3 -3
  191. package/locales/beBY.js +3 -3
  192. package/locales/bgBG.d.ts +3 -3
  193. package/locales/bgBG.js +3 -3
  194. package/locales/caES.d.ts +3 -3
  195. package/locales/caES.js +3 -3
  196. package/locales/csCZ.d.ts +3 -3
  197. package/locales/csCZ.js +3 -3
  198. package/locales/daDK.d.ts +3 -3
  199. package/locales/daDK.js +3 -3
  200. package/locales/deDE.d.ts +3 -3
  201. package/locales/deDE.js +3 -3
  202. package/locales/elGR.d.ts +3 -3
  203. package/locales/elGR.js +12 -13
  204. package/locales/enUS.d.ts +4 -4
  205. package/locales/enUS.js +3 -3
  206. package/locales/esES.d.ts +3 -3
  207. package/locales/esES.js +3 -3
  208. package/locales/eu.d.ts +3 -3
  209. package/locales/eu.js +3 -3
  210. package/locales/faIR.d.ts +3 -3
  211. package/locales/faIR.js +3 -3
  212. package/locales/fiFI.d.ts +3 -3
  213. package/locales/fiFI.js +3 -3
  214. package/locales/frFR.d.ts +3 -3
  215. package/locales/frFR.js +3 -3
  216. package/locales/heIL.d.ts +3 -3
  217. package/locales/heIL.js +3 -3
  218. package/locales/hrHR.d.ts +3 -3
  219. package/locales/hrHR.js +3 -3
  220. package/locales/huHU.d.ts +3 -3
  221. package/locales/huHU.js +3 -3
  222. package/locales/isIS.d.ts +3 -3
  223. package/locales/isIS.js +3 -3
  224. package/locales/itIT.d.ts +3 -3
  225. package/locales/itIT.js +3 -3
  226. package/locales/jaJP.d.ts +3 -3
  227. package/locales/jaJP.js +3 -3
  228. package/locales/koKR.d.ts +3 -3
  229. package/locales/koKR.js +3 -3
  230. package/locales/kzKZ.d.ts +3 -3
  231. package/locales/kzKZ.js +3 -3
  232. package/locales/mk.d.ts +3 -3
  233. package/locales/mk.js +3 -3
  234. package/locales/nbNO.d.ts +3 -3
  235. package/locales/nbNO.js +3 -3
  236. package/locales/nlNL.d.ts +3 -3
  237. package/locales/nlNL.js +3 -3
  238. package/locales/nnNO.d.ts +3 -3
  239. package/locales/nnNO.js +3 -3
  240. package/locales/plPL.d.ts +3 -3
  241. package/locales/plPL.js +3 -3
  242. package/locales/ptBR.d.ts +3 -3
  243. package/locales/ptBR.js +5 -3
  244. package/locales/ptPT.d.ts +3 -3
  245. package/locales/ptPT.js +3 -3
  246. package/locales/roRO.d.ts +3 -3
  247. package/locales/roRO.js +3 -3
  248. package/locales/ruRU.d.ts +3 -3
  249. package/locales/ruRU.js +3 -3
  250. package/locales/skSK.d.ts +3 -3
  251. package/locales/skSK.js +3 -3
  252. package/locales/svSE.d.ts +3 -3
  253. package/locales/svSE.js +3 -3
  254. package/locales/trTR.d.ts +3 -3
  255. package/locales/trTR.js +3 -3
  256. package/locales/ukUA.d.ts +3 -3
  257. package/locales/ukUA.js +3 -3
  258. package/locales/urPK.d.ts +3 -3
  259. package/locales/urPK.js +3 -3
  260. package/locales/utils/getPickersLocalization.d.ts +9 -9
  261. package/locales/utils/getPickersLocalization.js +1 -1
  262. package/locales/utils/pickersLocaleTextApi.d.ts +12 -36
  263. package/locales/viVN.d.ts +3 -3
  264. package/locales/viVN.js +3 -3
  265. package/locales/zhCN.d.ts +3 -3
  266. package/locales/zhCN.js +3 -3
  267. package/locales/zhHK.d.ts +3 -3
  268. package/locales/zhHK.js +3 -3
  269. package/models/adapters.d.ts +151 -202
  270. package/models/fields.d.ts +9 -41
  271. package/models/pickers.d.ts +10 -6
  272. package/modern/DateCalendar/DateCalendar.js +20 -22
  273. package/modern/DateCalendar/DayCalendar.js +13 -10
  274. package/modern/DateField/DateField.js +8 -10
  275. package/modern/DatePicker/DatePicker.js +15 -14
  276. package/modern/DatePicker/DatePickerToolbar.js +12 -2
  277. package/modern/DateTimeField/DateTimeField.js +9 -12
  278. package/modern/DateTimePicker/DateTimePicker.js +16 -16
  279. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  280. package/modern/DateTimePicker/DateTimePickerToolbar.js +12 -2
  281. package/modern/DesktopDatePicker/DesktopDatePicker.js +17 -16
  282. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  283. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
  284. package/modern/DesktopTimePicker/DesktopTimePicker.js +11 -6
  285. package/modern/DigitalClock/DigitalClock.js +7 -6
  286. package/modern/MobileDatePicker/MobileDatePicker.js +17 -16
  287. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  288. package/modern/MobileTimePicker/MobileTimePicker.js +11 -6
  289. package/modern/MonthCalendar/MonthCalendar.js +17 -14
  290. package/modern/MonthCalendar/PickersMonth.js +17 -13
  291. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
  292. package/modern/PickersActionBar/PickersActionBar.js +2 -2
  293. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  294. package/modern/PickersLayout/PickersLayout.js +10 -0
  295. package/modern/PickersLayout/usePickerLayout.js +17 -18
  296. package/modern/StaticDatePicker/StaticDatePicker.js +14 -13
  297. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  298. package/modern/StaticTimePicker/StaticTimePicker.js +8 -3
  299. package/modern/TimeClock/Clock.js +3 -3
  300. package/modern/TimeClock/TimeClock.js +7 -6
  301. package/modern/TimeField/TimeField.js +6 -6
  302. package/modern/TimePicker/TimePicker.js +9 -4
  303. package/modern/TimePicker/TimePickerToolbar.js +12 -2
  304. package/modern/YearCalendar/PickersYear.js +17 -13
  305. package/modern/YearCalendar/YearCalendar.js +17 -14
  306. package/modern/hooks/index.js +2 -2
  307. package/modern/hooks/useClearableField.js +4 -3
  308. package/modern/hooks/useParsedFormat.js +2 -2
  309. package/modern/hooks/usePickerContext.js +15 -0
  310. package/{hooks/usePickersTranslations.js → modern/hooks/usePickerTranslations.js} +1 -1
  311. package/modern/index.js +1 -1
  312. package/modern/internals/components/PickerProvider.js +38 -0
  313. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
  314. package/modern/internals/hooks/useField/useField.js +1 -1
  315. package/modern/internals/hooks/useField/useField.utils.js +2 -1
  316. package/modern/internals/hooks/useField/useFieldState.js +3 -3
  317. package/modern/internals/hooks/useField/useFieldV7TextField.js +2 -2
  318. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
  319. package/modern/internals/hooks/usePicker/usePicker.js +12 -4
  320. package/modern/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
  321. package/modern/internals/hooks/usePicker/usePickerProvider.js +21 -0
  322. package/modern/internals/hooks/usePicker/usePickerValue.js +2 -7
  323. package/modern/internals/hooks/usePickerPrivateContext.js +9 -0
  324. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
  325. package/modern/internals/hooks/useViews.js +1 -1
  326. package/modern/internals/index.js +2 -1
  327. package/modern/internals/models/formProps.js +1 -0
  328. package/modern/internals/models/index.js +3 -1
  329. package/modern/internals/models/props/time.js +1 -0
  330. package/modern/internals/models/value.js +1 -0
  331. package/modern/locales/beBY.js +3 -3
  332. package/modern/locales/bgBG.js +3 -3
  333. package/modern/locales/caES.js +3 -3
  334. package/modern/locales/csCZ.js +3 -3
  335. package/modern/locales/daDK.js +3 -3
  336. package/modern/locales/deDE.js +3 -3
  337. package/modern/locales/elGR.js +12 -13
  338. package/modern/locales/enUS.js +3 -3
  339. package/modern/locales/esES.js +3 -3
  340. package/modern/locales/eu.js +3 -3
  341. package/modern/locales/faIR.js +3 -3
  342. package/modern/locales/fiFI.js +3 -3
  343. package/modern/locales/frFR.js +3 -3
  344. package/modern/locales/heIL.js +3 -3
  345. package/modern/locales/hrHR.js +3 -3
  346. package/modern/locales/huHU.js +3 -3
  347. package/modern/locales/isIS.js +3 -3
  348. package/modern/locales/itIT.js +3 -3
  349. package/modern/locales/jaJP.js +3 -3
  350. package/modern/locales/koKR.js +3 -3
  351. package/modern/locales/kzKZ.js +3 -3
  352. package/modern/locales/mk.js +3 -3
  353. package/modern/locales/nbNO.js +3 -3
  354. package/modern/locales/nlNL.js +3 -3
  355. package/modern/locales/nnNO.js +3 -3
  356. package/modern/locales/plPL.js +3 -3
  357. package/modern/locales/ptBR.js +5 -3
  358. package/modern/locales/ptPT.js +3 -3
  359. package/modern/locales/roRO.js +3 -3
  360. package/modern/locales/ruRU.js +3 -3
  361. package/modern/locales/skSK.js +3 -3
  362. package/modern/locales/svSE.js +3 -3
  363. package/modern/locales/trTR.js +3 -3
  364. package/modern/locales/ukUA.js +3 -3
  365. package/modern/locales/urPK.js +3 -3
  366. package/modern/locales/utils/getPickersLocalization.js +1 -1
  367. package/modern/locales/viVN.js +3 -3
  368. package/modern/locales/zhCN.js +3 -3
  369. package/modern/locales/zhHK.js +3 -3
  370. package/modern/validation/useValidation.js +2 -3
  371. package/modern/validation/validateDate.js +5 -0
  372. package/modern/validation/validateDateTime.js +5 -0
  373. package/modern/validation/validateTime.js +5 -0
  374. package/node/DateCalendar/DateCalendar.js +20 -22
  375. package/node/DateCalendar/DayCalendar.js +13 -10
  376. package/node/DateField/DateField.js +8 -10
  377. package/node/DatePicker/DatePicker.js +15 -14
  378. package/node/DatePicker/DatePickerToolbar.js +12 -2
  379. package/node/DateTimeField/DateTimeField.js +9 -12
  380. package/node/DateTimePicker/DateTimePicker.js +16 -16
  381. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  382. package/node/DateTimePicker/DateTimePickerToolbar.js +12 -2
  383. package/node/DesktopDatePicker/DesktopDatePicker.js +17 -16
  384. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  385. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
  386. package/node/DesktopTimePicker/DesktopTimePicker.js +11 -6
  387. package/node/DigitalClock/DigitalClock.js +7 -6
  388. package/node/MobileDatePicker/MobileDatePicker.js +17 -16
  389. package/node/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  390. package/node/MobileTimePicker/MobileTimePicker.js +11 -6
  391. package/node/MonthCalendar/MonthCalendar.js +17 -14
  392. package/node/MonthCalendar/PickersMonth.js +17 -13
  393. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
  394. package/node/PickersActionBar/PickersActionBar.js +2 -2
  395. package/node/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  396. package/node/PickersLayout/PickersLayout.js +10 -0
  397. package/node/PickersLayout/usePickerLayout.js +17 -18
  398. package/node/StaticDatePicker/StaticDatePicker.js +14 -13
  399. package/node/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  400. package/node/StaticTimePicker/StaticTimePicker.js +8 -3
  401. package/node/TimeClock/Clock.js +3 -3
  402. package/node/TimeClock/TimeClock.js +7 -6
  403. package/node/TimeField/TimeField.js +6 -6
  404. package/node/TimePicker/TimePicker.js +9 -4
  405. package/node/TimePicker/TimePickerToolbar.js +12 -2
  406. package/node/YearCalendar/PickersYear.js +17 -13
  407. package/node/YearCalendar/YearCalendar.js +17 -14
  408. package/node/hooks/index.js +6 -6
  409. package/node/hooks/useClearableField.js +4 -3
  410. package/node/hooks/useParsedFormat.js +2 -2
  411. package/node/hooks/usePickerContext.js +21 -0
  412. package/node/hooks/usePickerTranslations.js +10 -0
  413. package/node/index.js +1 -1
  414. package/node/internals/components/PickerProvider.js +46 -0
  415. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
  416. package/node/internals/hooks/useField/useField.js +1 -1
  417. package/node/internals/hooks/useField/useField.utils.js +2 -1
  418. package/node/internals/hooks/useField/useFieldState.js +3 -3
  419. package/node/internals/hooks/useField/useFieldV7TextField.js +2 -2
  420. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
  421. package/node/internals/hooks/usePicker/usePicker.js +12 -4
  422. package/node/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
  423. package/node/internals/hooks/usePicker/usePickerProvider.js +28 -0
  424. package/node/internals/hooks/usePicker/usePickerValue.js +1 -7
  425. package/node/internals/hooks/usePickerPrivateContext.js +15 -0
  426. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
  427. package/node/internals/hooks/useViews.js +3 -3
  428. package/node/internals/index.js +14 -7
  429. package/node/internals/models/index.js +22 -0
  430. package/node/internals/models/props/time.js +5 -0
  431. package/node/internals/models/value.js +5 -0
  432. package/node/locales/beBY.js +3 -3
  433. package/node/locales/bgBG.js +3 -3
  434. package/node/locales/caES.js +3 -3
  435. package/node/locales/csCZ.js +3 -3
  436. package/node/locales/daDK.js +3 -3
  437. package/node/locales/deDE.js +3 -3
  438. package/node/locales/elGR.js +12 -13
  439. package/node/locales/enUS.js +3 -3
  440. package/node/locales/esES.js +3 -3
  441. package/node/locales/eu.js +3 -3
  442. package/node/locales/faIR.js +3 -3
  443. package/node/locales/fiFI.js +3 -3
  444. package/node/locales/frFR.js +3 -3
  445. package/node/locales/heIL.js +3 -3
  446. package/node/locales/hrHR.js +3 -3
  447. package/node/locales/huHU.js +3 -3
  448. package/node/locales/isIS.js +3 -3
  449. package/node/locales/itIT.js +3 -3
  450. package/node/locales/jaJP.js +3 -3
  451. package/node/locales/koKR.js +3 -3
  452. package/node/locales/kzKZ.js +3 -3
  453. package/node/locales/mk.js +3 -3
  454. package/node/locales/nbNO.js +3 -3
  455. package/node/locales/nlNL.js +3 -3
  456. package/node/locales/nnNO.js +3 -3
  457. package/node/locales/plPL.js +3 -3
  458. package/node/locales/ptBR.js +5 -3
  459. package/node/locales/ptPT.js +3 -3
  460. package/node/locales/roRO.js +3 -3
  461. package/node/locales/ruRU.js +3 -3
  462. package/node/locales/skSK.js +3 -3
  463. package/node/locales/svSE.js +3 -3
  464. package/node/locales/trTR.js +3 -3
  465. package/node/locales/ukUA.js +3 -3
  466. package/node/locales/urPK.js +3 -3
  467. package/node/locales/utils/getPickersLocalization.js +1 -1
  468. package/node/locales/viVN.js +3 -3
  469. package/node/locales/zhCN.js +3 -3
  470. package/node/locales/zhHK.js +3 -3
  471. package/node/validation/useValidation.js +2 -3
  472. package/node/validation/validateDate.js +4 -0
  473. package/node/validation/validateDateTime.js +4 -0
  474. package/node/validation/validateTime.js +4 -0
  475. package/package.json +3 -3
  476. package/themeAugmentation/props.d.ts +28 -28
  477. package/timeViewRenderers/timeViewRenderers.d.ts +6 -6
  478. package/validation/extractValidationProps.d.ts +4 -4
  479. package/validation/useValidation.d.ts +9 -10
  480. package/validation/useValidation.js +2 -3
  481. package/validation/validateDate.d.ts +7 -2
  482. package/validation/validateDate.js +5 -0
  483. package/validation/validateDateTime.d.ts +10 -4
  484. package/validation/validateDateTime.js +5 -0
  485. package/validation/validateTime.d.ts +7 -2
  486. package/validation/validateTime.js +5 -0
  487. package/hooks/usePickersContext.d.ts +0 -4
  488. package/hooks/usePickersContext.js +0 -15
  489. package/hooks/usePickersTranslations.d.ts +0 -2
  490. package/internals/components/PickersProvider.js +0 -26
  491. package/modern/hooks/usePickersContext.js +0 -15
  492. package/modern/internals/components/PickersProvider.js +0 -26
  493. package/node/hooks/usePickersContext.js +0 -21
  494. package/node/hooks/usePickersTranslations.js +0 -10
  495. package/node/internals/components/PickersProvider.js +0 -34
  496. /package/internals/models/{props/clock.js → formProps.js} +0 -0
  497. /package/{modern/internals/models/props/clock.js → internals/models/props/time.js} +0 -0
  498. /package/node/internals/models/{props/clock.js → formProps.js} +0 -0
@@ -1,12 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { TextFieldProps } from '@mui/material/TextField';
3
- import { SxProps } from '@mui/material/styles';
4
- import type { BaseFieldProps } from '../internals/models/fields';
5
- import type { ExportedUseClearableFieldProps, UseClearableFieldResponse, UseClearableFieldSlotProps, UseClearableFieldSlots } from '../hooks/useClearableField';
6
- import { ExportedPickersSectionListProps, PickersSectionListRef } from '../PickersSectionList';
7
- import type { UseFieldResponse } from '../internals/hooks/useField';
3
+ import type { ExportedUseClearableFieldProps, UseClearableFieldResponse } from '../hooks/useClearableField';
4
+ import { ExportedPickersSectionListProps } from '../PickersSectionList';
5
+ import type { UseFieldInternalProps, UseFieldResponse } from '../internals/hooks/useField';
8
6
  import type { PickersTextFieldProps } from '../PickersTextField';
9
- import { PickerValidDate } from './pickers';
7
+ import { BaseForwardedSingleInputFieldProps } from '../internals/models';
10
8
  export type FieldSectionType = 'year' | 'month' | 'day' | 'weekDay' | 'hours' | 'minutes' | 'seconds' | 'meridiem' | 'empty';
11
9
  export type FieldSectionContentType = 'digit' | 'digit-with-letter' | 'letter';
12
10
  export type FieldValueType = 'date' | 'time' | 'date-time';
@@ -101,48 +99,18 @@ export interface FieldRef<TSection extends FieldSection> {
101
99
  isFieldFocused: () => boolean;
102
100
  }
103
101
  export type FieldSelectedSections = number | FieldSectionType | null | 'all';
104
- interface BaseForwardedCommonSingleInputFieldProps extends ExportedUseClearableFieldProps {
105
- ref?: React.Ref<HTMLDivElement>;
106
- sx?: SxProps<any>;
107
- label?: React.ReactNode;
108
- id?: string;
109
- name?: string;
110
- onKeyDown?: React.KeyboardEventHandler;
111
- onBlur?: React.FocusEventHandler;
112
- focused?: boolean;
113
- InputProps?: {
114
- ref?: React.Ref<any>;
115
- endAdornment?: React.ReactNode;
116
- startAdornment?: React.ReactNode;
117
- };
118
- inputProps?: {
119
- 'aria-label'?: string;
120
- };
121
- slots?: UseClearableFieldSlots;
122
- slotProps?: UseClearableFieldSlotProps & {
123
- textField?: {};
124
- };
125
- }
126
- interface BaseForwardedV6SingleInputFieldProps {
127
- inputRef?: React.Ref<HTMLInputElement>;
128
- }
129
- interface BaseForwardedV7SingleInputFieldProps {
130
- sectionListRef?: React.Ref<PickersSectionListRef>;
131
- }
132
- type BaseForwardedSingleInputFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = BaseForwardedCommonSingleInputFieldProps & (TEnableAccessibleFieldDOMStructure extends false ? BaseForwardedV6SingleInputFieldProps : BaseForwardedV7SingleInputFieldProps);
133
102
  /**
134
- * Props the single input field can receive when used inside a picker.
135
- * Only contains what the MUI components are passing to the field,
136
- * not what users can pass using the `props.slotProps.field`.
103
+ * Props the prop `slotProps.field` of a picker can receive.
137
104
  */
138
- export type BaseSingleInputFieldProps<TValue, TDate extends PickerValidDate, TSection extends FieldSection, TEnableAccessibleFieldDOMStructure extends boolean, TError> = BaseFieldProps<TValue, TDate, TSection, TEnableAccessibleFieldDOMStructure, TError> & BaseForwardedSingleInputFieldProps<TEnableAccessibleFieldDOMStructure>;
105
+ export type PickerFieldSlotProps<TValue, TSection extends FieldSection, TEnableAccessibleFieldDOMStructure extends boolean> = ExportedUseClearableFieldProps & Pick<UseFieldInternalProps<TValue, TSection, TEnableAccessibleFieldDOMStructure, unknown>, 'shouldRespectLeadingZeros' | 'readOnly'> & React.HTMLAttributes<HTMLDivElement> & {
106
+ ref?: React.Ref<HTMLDivElement>;
107
+ };
139
108
  /**
140
109
  * Props the text field receives when used with a single input picker.
141
110
  * Only contains what the MUI components are passing to the text field, not what users can pass using the `props.slotProps.field` and `props.slotProps.textField`.
142
111
  */
143
- export type BaseSingleInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseClearableFieldResponse<UseFieldResponse<TEnableAccessibleFieldDOMStructure, BaseForwardedSingleInputFieldProps<TEnableAccessibleFieldDOMStructure>>>;
112
+ export type BaseSingleInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseClearableFieldResponse<UseFieldResponse<TEnableAccessibleFieldDOMStructure, BaseForwardedSingleInputFieldProps>>;
144
113
  /**
145
114
  * Props the built-in text field component can receive.
146
115
  */
147
116
  export type BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = TEnableAccessibleFieldDOMStructure extends false ? Omit<TextFieldProps, 'autoComplete' | 'error' | 'maxRows' | 'minRows' | 'multiline' | 'placeholder' | 'rows' | 'select' | 'SelectProps' | 'type'> : Partial<Omit<PickersTextFieldProps, keyof ExportedPickersSectionListProps>>;
148
- export {};
@@ -10,21 +10,25 @@ export interface PickerChangeHandlerContext<TError> {
10
10
  export interface PickerValidDateLookup {
11
11
  }
12
12
  export type PickerValidDate = keyof PickerValidDateLookup extends never ? any : PickerValidDateLookup[keyof PickerValidDateLookup];
13
- export interface PickerOwnerState<TValue> {
13
+ export interface PickerOwnerState {
14
14
  /**
15
- * The value currently displayed in the field and in the view.
15
+ * `true` if the value of the picker is currently empty.
16
+ * Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
16
17
  */
17
- value: TValue;
18
+ isPickerValueEmpty: boolean;
18
19
  /**
19
20
  * `true` if the picker is open, `false` otherwise.
21
+ * Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
20
22
  */
21
- open: boolean;
23
+ isPickerOpen: boolean;
22
24
  /**
23
25
  * `true` if the picker is disabled, `false` otherwise.
26
+ * Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
24
27
  */
25
- disabled: boolean;
28
+ isPickerDisabled: boolean;
26
29
  /**
27
30
  * `true` if the picker is read-only, `false` otherwise.
31
+ * Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
28
32
  */
29
- readOnly: boolean;
33
+ isPickerReadOnly: boolean;
30
34
  }
@@ -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 = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsOrder", "yearsPerRow", "monthsPerRow", "timezone"];
5
+ const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "classes", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsOrder", "yearsPerRow", "monthsPerRow", "timezone"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
@@ -24,11 +24,9 @@ import { getDateCalendarUtilityClass } from "./dateCalendarClasses.js";
24
24
  import { useControlledValueWithTimezone } from "../internals/hooks/useValueWithTimezone.js";
25
25
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
26
26
  import { VIEW_HEIGHT } from "../internals/constants/dimensions.js";
27
+ import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
27
28
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
28
- const useUtilityClasses = ownerState => {
29
- const {
30
- classes
31
- } = ownerState;
29
+ const useUtilityClasses = classes => {
32
30
  const slots = {
33
31
  root: ['root'],
34
32
  viewTransitionContainer: ['viewTransitionContainer']
@@ -84,6 +82,9 @@ const DateCalendarViewTransitionContainer = styled(PickersFadeTransitionGroup, {
84
82
  */
85
83
  export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps, ref) {
86
84
  const utils = useUtils();
85
+ const {
86
+ ownerState
87
+ } = usePickerPrivateContext();
87
88
  const id = useId();
88
89
  const props = useDateCalendarDefaultizedProps(inProps, 'MuiDateCalendar');
89
90
  const {
@@ -105,6 +106,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
105
106
  views,
106
107
  openTo,
107
108
  className,
109
+ classes: classesProp,
108
110
  disabled,
109
111
  readOnly,
110
112
  minDate,
@@ -203,7 +205,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
203
205
  timezone,
204
206
  labelId: gridLabelId
205
207
  },
206
- ownerState: props
208
+ ownerState
207
209
  });
208
210
  const handleDateMonthChange = useEventCallback(newDate => {
209
211
  const startOfMonth = utils.startOfMonth(newDate);
@@ -262,8 +264,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
262
264
  }
263
265
  }, [value]); // eslint-disable-line
264
266
 
265
- const ownerState = props;
266
- const classes = useUtilityClasses(ownerState);
267
+ const classes = useUtilityClasses(classesProp);
267
268
  const baseDateValidationProps = {
268
269
  disablePast,
269
270
  disableFuture,
@@ -365,9 +366,9 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
365
366
  className: PropTypes.string,
366
367
  /**
367
368
  * Formats the day of week displayed in the calendar header.
368
- * @param {TDate} date The date of the day of week provided by the adapter.
369
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
369
370
  * @returns {string} The name to display.
370
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
371
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
371
372
  */
372
373
  dayOfWeekFormatter: PropTypes.func,
373
374
  /**
@@ -376,7 +377,8 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
376
377
  */
377
378
  defaultValue: PropTypes.object,
378
379
  /**
379
- * If `true`, the picker and text field are disabled.
380
+ * If `true`, the component is disabled.
381
+ * When disabled, the value cannot be changed and no interaction is possible.
380
382
  * @default false
381
383
  */
382
384
  disabled: PropTypes.bool,
@@ -447,8 +449,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
447
449
  onFocusedViewChange: PropTypes.func,
448
450
  /**
449
451
  * Callback fired on month change.
450
- * @template TDate
451
- * @param {TDate} month The new month.
452
+ * @param {PickerValidDate} month The new month.
452
453
  */
453
454
  onMonthChange: PropTypes.func,
454
455
  /**
@@ -459,8 +460,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
459
460
  onViewChange: PropTypes.func,
460
461
  /**
461
462
  * Callback fired on year change.
462
- * @template TDate
463
- * @param {TDate} year The new year.
463
+ * @param {PickerValidDate} year The new year.
464
464
  */
465
465
  onYearChange: PropTypes.func,
466
466
  /**
@@ -470,7 +470,8 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
470
470
  */
471
471
  openTo: PropTypes.oneOf(['day', 'month', 'year']),
472
472
  /**
473
- * Make picker read only.
473
+ * If `true`, the component is read-only.
474
+ * When read-only, the value cannot be changed but the user can interact with the interface.
474
475
  * @default false
475
476
  */
476
477
  readOnly: PropTypes.bool,
@@ -495,22 +496,19 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
495
496
  *
496
497
  * 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.
497
498
  *
498
- * @template TDate
499
- * @param {TDate} day The date to test.
499
+ * @param {PickerValidDate} day The date to test.
500
500
  * @returns {boolean} If `true` the date will be disabled.
501
501
  */
502
502
  shouldDisableDate: PropTypes.func,
503
503
  /**
504
504
  * Disable specific month.
505
- * @template TDate
506
- * @param {TDate} month The month to test.
505
+ * @param {PickerValidDate} month The month to test.
507
506
  * @returns {boolean} If `true`, the month will be disabled.
508
507
  */
509
508
  shouldDisableMonth: PropTypes.func,
510
509
  /**
511
510
  * Disable specific year.
512
- * @template TDate
513
- * @param {TDate} year The year to test.
511
+ * @param {PickerValidDate} year The year to test.
514
512
  * @returns {boolean} If `true`, the year will be disabled.
515
513
  */
516
514
  shouldDisableYear: PropTypes.func,
@@ -11,18 +11,16 @@ import { styled, useThemeProps } from '@mui/material/styles';
11
11
  import { unstable_composeClasses as composeClasses, unstable_useControlled as useControlled } from '@mui/utils';
12
12
  import clsx from 'clsx';
13
13
  import { PickersDay } from "../PickersDay/PickersDay.js";
14
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
14
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
15
15
  import { useUtils, useNow } from "../internals/hooks/useUtils.js";
16
16
  import { DAY_SIZE, DAY_MARGIN } from "../internals/constants/dimensions.js";
17
17
  import { PickersSlideTransition } from "./PickersSlideTransition.js";
18
18
  import { useIsDateDisabled } from "./useIsDateDisabled.js";
19
19
  import { findClosestEnabledDate, getWeekdays } from "../internals/utils/date-utils.js";
20
20
  import { getDayCalendarUtilityClass } from "./dayCalendarClasses.js";
21
+ import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
21
22
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
- const useUtilityClasses = ownerState => {
23
- const {
24
- classes
25
- } = ownerState;
23
+ const useUtilityClasses = classes => {
26
24
  const slots = {
27
25
  root: ['root'],
28
26
  header: ['header'],
@@ -155,9 +153,13 @@ function WrappedDay(_ref) {
155
153
  } = parentProps;
156
154
  const utils = useUtils();
157
155
  const now = useNow(timezone);
156
+ const {
157
+ ownerState
158
+ } = usePickerPrivateContext();
158
159
  const isFocusableDay = focusableDay !== null && utils.isSameDay(day, focusableDay);
159
160
  const isSelected = selectedDays.some(selectedDay => utils.isSameDay(selectedDay, day));
160
161
  const isToday = utils.isSameDay(day, now);
162
+ const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);
161
163
  const Day = slots?.day ?? PickersDay;
162
164
  // We don't want to pass to ownerState down, to avoid re-rendering all the day whenever a prop changes.
163
165
  const _useSlotProps = useSlotProps({
@@ -171,13 +173,13 @@ function WrappedDay(_ref) {
171
173
  // it is used in date range dragging logic by accessing `dataset.timestamp`
172
174
  'data-timestamp': utils.toJsDate(day).valueOf()
173
175
  }, other),
174
- ownerState: _extends({}, parentProps, {
176
+ ownerState: _extends({}, ownerState, {
175
177
  day,
176
- selected: isSelected
178
+ isDayDisabled: isDisabled,
179
+ isDaySelected: isSelected
177
180
  })
178
181
  }),
179
182
  dayProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
180
- const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);
181
183
  const outsideCurrentMonth = React.useMemo(() => utils.getMonth(day) !== currentMonthNumber, [utils, day, currentMonthNumber]);
182
184
  const isFirstVisibleCell = React.useMemo(() => {
183
185
  const startOfMonth = utils.startOfMonth(utils.setMonth(day, currentMonthNumber));
@@ -220,6 +222,7 @@ export function DayCalendar(inProps) {
220
222
  const {
221
223
  onFocusedDayChange,
222
224
  className,
225
+ classes: classesProp,
223
226
  currentMonth,
224
227
  selectedDays,
225
228
  focusedDay,
@@ -250,7 +253,7 @@ export function DayCalendar(inProps) {
250
253
  timezone
251
254
  } = props;
252
255
  const now = useNow(timezone);
253
- const classes = useUtilityClasses(props);
256
+ const classes = useUtilityClasses(classesProp);
254
257
  const isRtl = useRtl();
255
258
  const isDateDisabled = useIsDateDisabled({
256
259
  shouldDisableDate,
@@ -262,7 +265,7 @@ export function DayCalendar(inProps) {
262
265
  disableFuture,
263
266
  timezone
264
267
  });
265
- const translations = usePickersTranslations();
268
+ const translations = usePickerTranslations();
266
269
  const [internalHasFocus, setInternalHasFocus] = useControlled({
267
270
  name: 'DayCalendar',
268
271
  state: 'hasFocus',
@@ -37,7 +37,7 @@ const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, inRe
37
37
  } = themeProps,
38
38
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
39
39
  const ownerState = themeProps;
40
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
40
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
41
41
  const textFieldProps = useSlotProps({
42
42
  elementType: TextField,
43
43
  externalSlotProps: slotProps?.textField,
@@ -89,6 +89,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
89
89
  defaultValue: PropTypes.object,
90
90
  /**
91
91
  * If `true`, the component is disabled.
92
+ * When disabled, the value cannot be changed and no interaction is possible.
92
93
  * @default false
93
94
  */
94
95
  disabled: PropTypes.bool,
@@ -103,7 +104,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
103
104
  */
104
105
  disablePast: PropTypes.bool,
105
106
  /**
106
- * @default false
107
+ * @default true
107
108
  */
108
109
  enableAccessibleFieldDOMStructure: PropTypes.bool,
109
110
  /**
@@ -218,8 +219,8 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
218
219
  */
219
220
  onSelectedSectionsChange: PropTypes.func,
220
221
  /**
221
- * It prevents the user from changing the value of the field
222
- * (not from interacting with the field).
222
+ * If `true`, the component is read-only.
223
+ * When read-only, the value cannot be changed but the user can interact with the interface.
223
224
  * @default false
224
225
  */
225
226
  readOnly: PropTypes.bool,
@@ -249,22 +250,19 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
249
250
  *
250
251
  * 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.
251
252
  *
252
- * @template TDate
253
- * @param {TDate} day The date to test.
253
+ * @param {PickerValidDate} day The date to test.
254
254
  * @returns {boolean} If `true` the date will be disabled.
255
255
  */
256
256
  shouldDisableDate: PropTypes.func,
257
257
  /**
258
258
  * Disable specific month.
259
- * @template TDate
260
- * @param {TDate} month The month to test.
259
+ * @param {PickerValidDate} month The month to test.
261
260
  * @returns {boolean} If `true`, the month will be disabled.
262
261
  */
263
262
  shouldDisableMonth: PropTypes.func,
264
263
  /**
265
264
  * Disable specific year.
266
- * @template TDate
267
- * @param {TDate} year The year to test.
265
+ * @param {PickerValidDate} year The year to test.
268
266
  * @returns {boolean} If `true`, the year will be disabled.
269
267
  */
270
268
  shouldDisableYear: PropTypes.func,
@@ -65,9 +65,9 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
65
65
  closeOnSelect: PropTypes.bool,
66
66
  /**
67
67
  * Formats the day of week displayed in the calendar header.
68
- * @param {TDate} date The date of the day of week provided by the adapter.
68
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
69
69
  * @returns {string} The name to display.
70
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
70
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
71
71
  */
72
72
  dayOfWeekFormatter: PropTypes.func,
73
73
  /**
@@ -82,7 +82,8 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
82
82
  */
83
83
  desktopModeMediaQuery: PropTypes.string,
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.bool,
@@ -111,7 +112,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
111
112
  */
112
113
  displayWeekNumber: PropTypes.bool,
113
114
  /**
114
- * @default false
115
+ * @default true
115
116
  */
116
117
  enableAccessibleFieldDOMStructure: PropTypes.any,
117
118
  /**
@@ -201,8 +202,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
201
202
  onError: PropTypes.func,
202
203
  /**
203
204
  * Callback fired on month change.
204
- * @template TDate
205
- * @param {TDate} month The new month.
205
+ * @param {PickerValidDate} month The new month.
206
206
  */
207
207
  onMonthChange: PropTypes.func,
208
208
  /**
@@ -223,8 +223,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
223
223
  onViewChange: PropTypes.func,
224
224
  /**
225
225
  * Callback fired on year change.
226
- * @template TDate
227
- * @param {TDate} year The new year.
226
+ * @param {PickerValidDate} year The new year.
228
227
  */
229
228
  onYearChange: PropTypes.func,
230
229
  /**
@@ -242,6 +241,11 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
242
241
  * Force rendering in particular orientation.
243
242
  */
244
243
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
244
+ /**
245
+ * If `true`, the component is read-only.
246
+ * When read-only, the value cannot be changed but the user can interact with the interface.
247
+ * @default false
248
+ */
245
249
  readOnly: PropTypes.bool,
246
250
  /**
247
251
  * If `true`, disable heavy animations.
@@ -274,22 +278,19 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
274
278
  *
275
279
  * 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.
276
280
  *
277
- * @template TDate
278
- * @param {TDate} day The date to test.
281
+ * @param {PickerValidDate} day The date to test.
279
282
  * @returns {boolean} If `true` the date will be disabled.
280
283
  */
281
284
  shouldDisableDate: PropTypes.func,
282
285
  /**
283
286
  * Disable specific month.
284
- * @template TDate
285
- * @param {TDate} month The month to test.
287
+ * @param {PickerValidDate} month The month to test.
286
288
  * @returns {boolean} If `true`, the month will be disabled.
287
289
  */
288
290
  shouldDisableMonth: PropTypes.func,
289
291
  /**
290
292
  * Disable specific year.
291
- * @template TDate
292
- * @param {TDate} year The year to test.
293
+ * @param {PickerValidDate} year The year to test.
293
294
  * @returns {boolean} If `true`, the year will be disabled.
294
295
  */
295
296
  shouldDisableYear: PropTypes.func,
@@ -10,7 +10,7 @@ import Typography from '@mui/material/Typography';
10
10
  import { styled, useThemeProps } from '@mui/material/styles';
11
11
  import composeClasses from '@mui/utils/composeClasses';
12
12
  import { PickersToolbar } from "../internals/components/PickersToolbar.js";
13
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
13
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
14
14
  import { useUtils } from "../internals/hooks/useUtils.js";
15
15
  import { getDatePickerToolbarUtilityClass } from "./datePickerToolbarClasses.js";
16
16
  import { resolveDateFormat } from "../internals/utils/date-utils.js";
@@ -69,7 +69,7 @@ export const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePick
69
69
  } = props,
70
70
  other = _objectWithoutPropertiesLoose(props, _excluded);
71
71
  const utils = useUtils();
72
- const translations = usePickersTranslations();
72
+ const translations = usePickerTranslations();
73
73
  const classes = useUtilityClasses(props);
74
74
  const dateText = React.useMemo(() => {
75
75
  if (!value) {
@@ -107,6 +107,11 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
107
107
  */
108
108
  classes: PropTypes.object,
109
109
  className: PropTypes.string,
110
+ /**
111
+ * If `true`, the component is disabled.
112
+ * When disabled, the value cannot be changed and no interaction is possible.
113
+ * @default false
114
+ */
110
115
  disabled: PropTypes.bool,
111
116
  /**
112
117
  * If `true`, show the toolbar even in desktop mode.
@@ -121,6 +126,11 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
121
126
  * @param {TView} view The view to open
122
127
  */
123
128
  onViewChange: PropTypes.func.isRequired,
129
+ /**
130
+ * If `true`, the component is read-only.
131
+ * When read-only, the value cannot be changed but the user can interact with the interface.
132
+ * @default false
133
+ */
124
134
  readOnly: PropTypes.bool,
125
135
  /**
126
136
  * The system prop that allows defining system overrides as well as additional CSS styles.
@@ -37,7 +37,7 @@ const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inPro
37
37
  } = themeProps,
38
38
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
39
39
  const ownerState = themeProps;
40
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
40
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
41
41
  const textFieldProps = useSlotProps({
42
42
  elementType: TextField,
43
43
  externalSlotProps: slotProps?.textField,
@@ -94,6 +94,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
94
94
  defaultValue: PropTypes.object,
95
95
  /**
96
96
  * If `true`, the component is disabled.
97
+ * When disabled, the value cannot be changed and no interaction is possible.
97
98
  * @default false
98
99
  */
99
100
  disabled: PropTypes.bool,
@@ -113,7 +114,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
113
114
  */
114
115
  disablePast: PropTypes.bool,
115
116
  /**
116
- * @default false
117
+ * @default true
117
118
  */
118
119
  enableAccessibleFieldDOMStructure: PropTypes.bool,
119
120
  /**
@@ -251,8 +252,8 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
251
252
  */
252
253
  onSelectedSectionsChange: PropTypes.func,
253
254
  /**
254
- * It prevents the user from changing the value of the field
255
- * (not from interacting with the field).
255
+ * If `true`, the component is read-only.
256
+ * When read-only, the value cannot be changed but the user can interact with the interface.
256
257
  * @default false
257
258
  */
258
259
  readOnly: PropTypes.bool,
@@ -282,30 +283,26 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
282
283
  *
283
284
  * 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.
284
285
  *
285
- * @template TDate
286
- * @param {TDate} day The date to test.
286
+ * @param {PickerValidDate} day The date to test.
287
287
  * @returns {boolean} If `true` the date will be disabled.
288
288
  */
289
289
  shouldDisableDate: PropTypes.func,
290
290
  /**
291
291
  * Disable specific month.
292
- * @template TDate
293
- * @param {TDate} month The month to test.
292
+ * @param {PickerValidDate} month The month to test.
294
293
  * @returns {boolean} If `true`, the month will be disabled.
295
294
  */
296
295
  shouldDisableMonth: PropTypes.func,
297
296
  /**
298
297
  * Disable specific time.
299
- * @template TDate
300
- * @param {TDate} value The value to check.
298
+ * @param {PickerValidDate} value The value to check.
301
299
  * @param {TimeView} view The clock type of the timeValue.
302
300
  * @returns {boolean} If `true` the time will be disabled.
303
301
  */
304
302
  shouldDisableTime: PropTypes.func,
305
303
  /**
306
304
  * Disable specific year.
307
- * @template TDate
308
- * @param {TDate} year The year to test.
305
+ * @param {PickerValidDate} year The year to test.
309
306
  * @returns {boolean} If `true`, the year will be disabled.
310
307
  */
311
308
  shouldDisableYear: PropTypes.func,