@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
@@ -32,7 +32,7 @@ const trTRPickers = {
32
32
  timePickerToolbarTitle: 'Saat seç',
33
33
  dateRangePickerToolbarTitle: 'Tarih aralığı seçin',
34
34
  // Clock labels
35
- clockLabelText: (view, time, utils, formattedTime) => `${timeViews[view]} seç. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Zaman seçilmedi' : `Seçilen zaman: ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
35
+ clockLabelText: (view, formattedTime) => `${timeViews[view]} seç. ${!formattedTime ? 'Zaman seçilmedi' : `Seçilen zaman: ${formattedTime}`}`,
36
36
  hoursClockNumberText: hours => `${hours} saat`,
37
37
  minutesClockNumberText: minutes => `${minutes} dakika`,
38
38
  secondsClockNumberText: seconds => `${seconds} saniye`,
@@ -44,8 +44,8 @@ const trTRPickers = {
44
44
  calendarWeekNumberAriaLabelText: weekNumber => `Hafta ${weekNumber}`,
45
45
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
46
46
  // Open picker labels
47
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Tarih seçin, seçilen tarih: ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Tarih seç',
48
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Saat seçin, seçilen saat: ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Saat seç',
47
+ openDatePickerDialogue: formattedDate => formattedDate ? `Tarih seçin, seçilen tarih: ${formattedDate}` : 'Tarih seç',
48
+ openTimePickerDialogue: formattedTime => formattedTime ? `Saat seçin, seçilen saat: ${formattedTime}` : 'Saat seç',
49
49
  // fieldClearLabel: 'Clear',
50
50
 
51
51
  // Table labels
@@ -31,7 +31,7 @@ const ukUAPickers = {
31
31
  timePickerToolbarTitle: 'Вибрати час',
32
32
  dateRangePickerToolbarTitle: 'Вибрати календарний період',
33
33
  // Clock labels
34
- clockLabelText: (view, time, utils, formattedTime) => `Вибрати ${timeViews[view]}. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Час не вибраний' : `Вибрано час ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
34
+ clockLabelText: (view, formattedTime) => `Вибрати ${timeViews[view]}. ${!formattedTime ? 'Час не вибраний' : `Вибрано час ${formattedTime}`}`,
35
35
  hoursClockNumberText: hours => `${hours} годин`,
36
36
  minutesClockNumberText: minutes => `${minutes} хвилин`,
37
37
  secondsClockNumberText: seconds => `${seconds} секунд`,
@@ -43,8 +43,8 @@ const ukUAPickers = {
43
43
  calendarWeekNumberAriaLabelText: weekNumber => `Тиждень ${weekNumber}`,
44
44
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
45
45
  // Open picker labels
46
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Оберіть дату, обрана дата ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Оберіть дату',
47
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Оберіть час, обраний час ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Оберіть час',
46
+ openDatePickerDialogue: formattedDate => formattedDate ? `Оберіть дату, обрана дата ${formattedDate}` : 'Оберіть дату',
47
+ openTimePickerDialogue: formattedTime => formattedTime ? `Оберіть час, обраний час ${formattedTime}` : 'Оберіть час',
48
48
  fieldClearLabel: 'Очистити дані',
49
49
  // Table labels
50
50
  timeTableLabel: 'оберіть час',
@@ -32,7 +32,7 @@ const urPKPickers = {
32
32
  timePickerToolbarTitle: 'وقت منتخب کریں',
33
33
  dateRangePickerToolbarTitle: 'تاریخوں کی رینج منتخب کریں',
34
34
  // Clock labels
35
- clockLabelText: (view, time, utils, formattedTime) => `${timeViews[view]} منتخب کریں ${!formattedTime && (time === null || !utils.isValid(time)) ? 'کوئی وقت منتخب نہیں' : `منتخب وقت ہے ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
35
+ clockLabelText: (view, formattedTime) => `${timeViews[view]} منتخب کریں ${!formattedTime ? 'کوئی وقت منتخب نہیں' : `منتخب وقت ہے ${formattedTime}`}`,
36
36
  hoursClockNumberText: hours => `${hours} گھنٹے`,
37
37
  minutesClockNumberText: minutes => `${minutes} منٹ`,
38
38
  secondsClockNumberText: seconds => `${seconds} سیکنڈ`,
@@ -44,8 +44,8 @@ const urPKPickers = {
44
44
  calendarWeekNumberAriaLabelText: weekNumber => `ہفتہ ${weekNumber}`,
45
45
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
46
46
  // Open picker labels
47
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `تاریخ منتخب کریں، منتخب شدہ تاریخ ہے ${formattedDate ?? utils.format(value, 'fullDate')}` : 'تاریخ منتخب کریں',
48
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `وقت منتخب کریں، منتخب شدہ وقت ہے ${formattedTime ?? utils.format(value, 'fullTime')}` : 'وقت منتخب کریں',
47
+ openDatePickerDialogue: formattedDate => formattedDate ? `تاریخ منتخب کریں، منتخب شدہ تاریخ ہے ${formattedDate}` : 'تاریخ منتخب کریں',
48
+ openTimePickerDialogue: formattedTime => formattedTime ? `وقت منتخب کریں، منتخب شدہ وقت ہے ${formattedTime}` : 'وقت منتخب کریں',
49
49
  // fieldClearLabel: 'Clear',
50
50
 
51
51
  // Table labels
@@ -20,6 +20,6 @@ export const buildGetOpenDialogAriaText = params => {
20
20
  return value => {
21
21
  const formattedValue = value !== null && utils.isValid(value) ? utils.format(value, formatKey) : null;
22
22
  const translation = propsTranslation ?? contextTranslation;
23
- return translation(value, utils, formattedValue);
23
+ return translation(formattedValue);
24
24
  };
25
25
  };
@@ -31,7 +31,7 @@ const viVNPickers = {
31
31
  timePickerToolbarTitle: 'Chọn giờ',
32
32
  dateRangePickerToolbarTitle: 'Chọn khoảng ngày',
33
33
  // Clock labels
34
- clockLabelText: (view, time, utils, formattedTime) => `Chọn ${views[view]}. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Không có giờ được chọn' : `Giờ được chọn là ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
34
+ clockLabelText: (view, formattedTime) => `Chọn ${views[view]}. ${!formattedTime ? 'Không có giờ được chọn' : `Giờ được chọn là ${formattedTime}`}`,
35
35
  hoursClockNumberText: hours => `${hours} giờ`,
36
36
  minutesClockNumberText: minutes => `${minutes} phút`,
37
37
  secondsClockNumberText: seconds => `${seconds} giây`,
@@ -43,8 +43,8 @@ const viVNPickers = {
43
43
  calendarWeekNumberAriaLabelText: weekNumber => `Tuần ${weekNumber}`,
44
44
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
45
45
  // Open picker labels
46
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Chọn ngày, ngày đã chọn là ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Chọn ngày',
47
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Chọn giờ, giờ đã chọn là ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Chọn giờ',
46
+ openDatePickerDialogue: formattedDate => formattedDate ? `Chọn ngày, ngày đã chọn là ${formattedDate}` : 'Chọn ngày',
47
+ openTimePickerDialogue: formattedTime => formattedTime ? `Chọn giờ, giờ đã chọn là ${formattedTime}` : 'Chọn giờ',
48
48
  fieldClearLabel: 'Xóa giá trị',
49
49
  // Table labels
50
50
  timeTableLabel: 'chọn giờ',
@@ -31,7 +31,7 @@ const zhCNPickers = {
31
31
  timePickerToolbarTitle: '选择时间',
32
32
  dateRangePickerToolbarTitle: '选择时间范围',
33
33
  // Clock labels
34
- clockLabelText: (view, time, utils, formattedTime) => `选择 ${views[view]}. ${!formattedTime && (time === null || !utils.isValid(time)) ? '未选择时间' : `已选择${formattedTime ?? utils.format(time, 'fullTime')}`}`,
34
+ clockLabelText: (view, formattedTime) => `选择 ${views[view]}. ${!formattedTime ? '未选择时间' : `已选择${formattedTime}`}`,
35
35
  hoursClockNumberText: hours => `${hours}小时`,
36
36
  minutesClockNumberText: minutes => `${minutes}分钟`,
37
37
  secondsClockNumberText: seconds => `${seconds}秒`,
@@ -43,8 +43,8 @@ const zhCNPickers = {
43
43
  calendarWeekNumberAriaLabelText: weekNumber => `第${weekNumber}周`,
44
44
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
45
45
  // Open picker labels
46
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `选择日期,已选择${formattedDate ?? utils.format(value, 'fullDate')}` : '选择日期',
47
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `选择时间,已选择${formattedTime ?? utils.format(value, 'fullTime')}` : '选择时间',
46
+ openDatePickerDialogue: formattedDate => formattedDate ? `选择日期,已选择${formattedDate}` : '选择日期',
47
+ openTimePickerDialogue: formattedTime => formattedTime ? `选择时间,已选择${formattedTime}` : '选择时间',
48
48
  fieldClearLabel: '清除',
49
49
  // Table labels
50
50
  timeTableLabel: '选择时间',
@@ -31,7 +31,7 @@ const zhHKPickers = {
31
31
  timePickerToolbarTitle: '選擇時間',
32
32
  dateRangePickerToolbarTitle: '選擇時間範圍',
33
33
  // Clock labels
34
- clockLabelText: (view, time, utils, formattedTime) => `選擇 ${views[view]}. ${!formattedTime && (time === null || !utils.isValid(time)) ? '未選擇時間' : `已選擇${formattedTime ?? utils.format(time, 'fullTime')}`}`,
34
+ clockLabelText: (view, formattedTime) => `選擇 ${views[view]}. ${!formattedTime ? '未選擇時間' : `已選擇${formattedTime}`}`,
35
35
  hoursClockNumberText: hours => `${hours}小時`,
36
36
  minutesClockNumberText: minutes => `${minutes}分鐘`,
37
37
  secondsClockNumberText: seconds => `${seconds}秒`,
@@ -43,8 +43,8 @@ const zhHKPickers = {
43
43
  calendarWeekNumberAriaLabelText: weekNumber => `第${weekNumber}週`,
44
44
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
45
45
  // Open picker labels
46
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `選擇日期,已選擇${formattedDate ?? utils.format(value, 'fullDate')}` : '選擇日期',
47
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `選擇時間,已選擇${formattedTime ?? utils.format(value, 'fullTime')}` : '選擇時間',
46
+ openDatePickerDialogue: formattedDate => formattedDate ? `選擇日期,已選擇${formattedDate}` : '選擇日期',
47
+ openTimePickerDialogue: formattedTime => formattedTime ? `選擇時間,已選擇${formattedTime}` : '選擇時間',
48
48
  fieldClearLabel: '清除',
49
49
  // Table labels
50
50
  timeTableLabel: '選擇時間',
@@ -5,13 +5,12 @@ import useEventCallback from '@mui/utils/useEventCallback';
5
5
  import { useLocalizationContext } from "../internals/hooks/useUtils.js";
6
6
  /**
7
7
  * Utility hook to check if a given value is valid based on the provided validation props.
8
- * @template TDate
9
8
  * @template TValue The value type. It will be either the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
10
9
  * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
11
- * @param {UseValidationOptions<TValue, TDate, TError, TValidationProps>} options The options to configure the hook.
10
+ * @param {UseValidationOptions<TValue, TError, TValidationProps>} options The options to configure the hook.
12
11
  * @param {TValue} options.value The value to validate.
13
12
  * @param {PickersTimezone} options.timezone The timezone to use for the validation.
14
- * @param {Validator<TValue, TDate, TError, TValidationProps>} options.validator The validator function to use.
13
+ * @param {Validator<TValue, TError, TValidationProps>} options.validator The validator function to use.
15
14
  * @param {TValidationProps} options.props The validation props, they differ depending on the component.
16
15
  * @param {(error: TError, value: TValue) => void} options.onError Callback fired when the error associated with the current value changes.
17
16
  */
@@ -1,5 +1,10 @@
1
1
  import { applyDefaultDate } from "../internals/utils/date-utils.js";
2
2
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
3
+
4
+ /**
5
+ * Validation props used by the Date Picker, Date Field and Date Calendar components.
6
+ */
7
+
3
8
  export const validateDate = ({
4
9
  props,
5
10
  value,
@@ -1,6 +1,11 @@
1
1
  import { validateDate } from "./validateDate.js";
2
2
  import { validateTime } from "./validateTime.js";
3
3
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
4
+
5
+ /**
6
+ * Validation props used by the Date Time Picker and Date Time Field components.
7
+ */
8
+
4
9
  export const validateDateTime = ({
5
10
  adapter,
6
11
  value,
@@ -1,5 +1,10 @@
1
1
  import { createIsAfterIgnoreDatePart } from "../internals/utils/time-utils.js";
2
2
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
3
+
4
+ /**
5
+ * Validation props used by the Time Picker, Time Field and Clock components.
6
+ */
7
+
3
8
  export const validateTime = ({
4
9
  adapter,
5
10
  value,
@@ -30,12 +30,10 @@ var _dateCalendarClasses = require("./dateCalendarClasses");
30
30
  var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
31
31
  var _valueManagers = require("../internals/utils/valueManagers");
32
32
  var _dimensions = require("../internals/constants/dimensions");
33
+ var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
33
34
  var _jsxRuntime = require("react/jsx-runtime");
34
- 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"];
35
- const useUtilityClasses = ownerState => {
36
- const {
37
- classes
38
- } = ownerState;
35
+ 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"];
36
+ const useUtilityClasses = classes => {
39
37
  const slots = {
40
38
  root: ['root'],
41
39
  viewTransitionContainer: ['viewTransitionContainer']
@@ -91,6 +89,9 @@ const DateCalendarViewTransitionContainer = (0, _styles.styled)(_PickersFadeTran
91
89
  */
92
90
  const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps, ref) {
93
91
  const utils = (0, _useUtils.useUtils)();
92
+ const {
93
+ ownerState
94
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
94
95
  const id = (0, _utils.unstable_useId)();
95
96
  const props = useDateCalendarDefaultizedProps(inProps, 'MuiDateCalendar');
96
97
  const {
@@ -112,6 +113,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
112
113
  views,
113
114
  openTo,
114
115
  className,
116
+ classes: classesProp,
115
117
  disabled,
116
118
  readOnly,
117
119
  minDate,
@@ -210,7 +212,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
210
212
  timezone,
211
213
  labelId: gridLabelId
212
214
  },
213
- ownerState: props
215
+ ownerState
214
216
  });
215
217
  const handleDateMonthChange = (0, _utils.unstable_useEventCallback)(newDate => {
216
218
  const startOfMonth = utils.startOfMonth(newDate);
@@ -269,8 +271,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
269
271
  }
270
272
  }, [value]); // eslint-disable-line
271
273
 
272
- const ownerState = props;
273
- const classes = useUtilityClasses(ownerState);
274
+ const classes = useUtilityClasses(classesProp);
274
275
  const baseDateValidationProps = {
275
276
  disablePast,
276
277
  disableFuture,
@@ -372,9 +373,9 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
372
373
  className: _propTypes.default.string,
373
374
  /**
374
375
  * Formats the day of week displayed in the calendar header.
375
- * @param {TDate} date The date of the day of week provided by the adapter.
376
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
376
377
  * @returns {string} The name to display.
377
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
378
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
378
379
  */
379
380
  dayOfWeekFormatter: _propTypes.default.func,
380
381
  /**
@@ -383,7 +384,8 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
383
384
  */
384
385
  defaultValue: _propTypes.default.object,
385
386
  /**
386
- * If `true`, the picker and text field are disabled.
387
+ * If `true`, the component is disabled.
388
+ * When disabled, the value cannot be changed and no interaction is possible.
387
389
  * @default false
388
390
  */
389
391
  disabled: _propTypes.default.bool,
@@ -454,8 +456,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
454
456
  onFocusedViewChange: _propTypes.default.func,
455
457
  /**
456
458
  * Callback fired on month change.
457
- * @template TDate
458
- * @param {TDate} month The new month.
459
+ * @param {PickerValidDate} month The new month.
459
460
  */
460
461
  onMonthChange: _propTypes.default.func,
461
462
  /**
@@ -466,8 +467,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
466
467
  onViewChange: _propTypes.default.func,
467
468
  /**
468
469
  * Callback fired on year change.
469
- * @template TDate
470
- * @param {TDate} year The new year.
470
+ * @param {PickerValidDate} year The new year.
471
471
  */
472
472
  onYearChange: _propTypes.default.func,
473
473
  /**
@@ -477,7 +477,8 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
477
477
  */
478
478
  openTo: _propTypes.default.oneOf(['day', 'month', 'year']),
479
479
  /**
480
- * Make picker read only.
480
+ * If `true`, the component is read-only.
481
+ * When read-only, the value cannot be changed but the user can interact with the interface.
481
482
  * @default false
482
483
  */
483
484
  readOnly: _propTypes.default.bool,
@@ -502,22 +503,19 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
502
503
  *
503
504
  * 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.
504
505
  *
505
- * @template TDate
506
- * @param {TDate} day The date to test.
506
+ * @param {PickerValidDate} day The date to test.
507
507
  * @returns {boolean} If `true` the date will be disabled.
508
508
  */
509
509
  shouldDisableDate: _propTypes.default.func,
510
510
  /**
511
511
  * Disable specific month.
512
- * @template TDate
513
- * @param {TDate} month The month to test.
512
+ * @param {PickerValidDate} month The month to test.
514
513
  * @returns {boolean} If `true`, the month will be disabled.
515
514
  */
516
515
  shouldDisableMonth: _propTypes.default.func,
517
516
  /**
518
517
  * Disable specific year.
519
- * @template TDate
520
- * @param {TDate} year The year to test.
518
+ * @param {PickerValidDate} year The year to test.
521
519
  * @returns {boolean} If `true`, the year will be disabled.
522
520
  */
523
521
  shouldDisableYear: _propTypes.default.func,
@@ -17,20 +17,18 @@ var _styles = require("@mui/material/styles");
17
17
  var _utils = require("@mui/utils");
18
18
  var _clsx = _interopRequireDefault(require("clsx"));
19
19
  var _PickersDay = require("../PickersDay/PickersDay");
20
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
20
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
21
21
  var _useUtils = require("../internals/hooks/useUtils");
22
22
  var _dimensions = require("../internals/constants/dimensions");
23
23
  var _PickersSlideTransition = require("./PickersSlideTransition");
24
24
  var _useIsDateDisabled = require("./useIsDateDisabled");
25
25
  var _dateUtils = require("../internals/utils/date-utils");
26
26
  var _dayCalendarClasses = require("./dayCalendarClasses");
27
+ var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
27
28
  var _jsxRuntime = require("react/jsx-runtime");
28
29
  const _excluded = ["parentProps", "day", "focusableDay", "selectedDays", "isDateDisabled", "currentMonthNumber", "isViewFocused"],
29
30
  _excluded2 = ["ownerState"];
30
- const useUtilityClasses = ownerState => {
31
- const {
32
- classes
33
- } = ownerState;
31
+ const useUtilityClasses = classes => {
34
32
  const slots = {
35
33
  root: ['root'],
36
34
  header: ['header'],
@@ -163,9 +161,13 @@ function WrappedDay(_ref) {
163
161
  } = parentProps;
164
162
  const utils = (0, _useUtils.useUtils)();
165
163
  const now = (0, _useUtils.useNow)(timezone);
164
+ const {
165
+ ownerState
166
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
166
167
  const isFocusableDay = focusableDay !== null && utils.isSameDay(day, focusableDay);
167
168
  const isSelected = selectedDays.some(selectedDay => utils.isSameDay(selectedDay, day));
168
169
  const isToday = utils.isSameDay(day, now);
170
+ const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);
169
171
  const Day = slots?.day ?? _PickersDay.PickersDay;
170
172
  // We don't want to pass to ownerState down, to avoid re-rendering all the day whenever a prop changes.
171
173
  const _useSlotProps = (0, _useSlotProps2.default)({
@@ -179,13 +181,13 @@ function WrappedDay(_ref) {
179
181
  // it is used in date range dragging logic by accessing `dataset.timestamp`
180
182
  'data-timestamp': utils.toJsDate(day).valueOf()
181
183
  }, other),
182
- ownerState: (0, _extends2.default)({}, parentProps, {
184
+ ownerState: (0, _extends2.default)({}, ownerState, {
183
185
  day,
184
- selected: isSelected
186
+ isDayDisabled: isDisabled,
187
+ isDaySelected: isSelected
185
188
  })
186
189
  }),
187
190
  dayProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
188
- const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);
189
191
  const outsideCurrentMonth = React.useMemo(() => utils.getMonth(day) !== currentMonthNumber, [utils, day, currentMonthNumber]);
190
192
  const isFirstVisibleCell = React.useMemo(() => {
191
193
  const startOfMonth = utils.startOfMonth(utils.setMonth(day, currentMonthNumber));
@@ -228,6 +230,7 @@ function DayCalendar(inProps) {
228
230
  const {
229
231
  onFocusedDayChange,
230
232
  className,
233
+ classes: classesProp,
231
234
  currentMonth,
232
235
  selectedDays,
233
236
  focusedDay,
@@ -258,7 +261,7 @@ function DayCalendar(inProps) {
258
261
  timezone
259
262
  } = props;
260
263
  const now = (0, _useUtils.useNow)(timezone);
261
- const classes = useUtilityClasses(props);
264
+ const classes = useUtilityClasses(classesProp);
262
265
  const isRtl = (0, _RtlProvider.useRtl)();
263
266
  const isDateDisabled = (0, _useIsDateDisabled.useIsDateDisabled)({
264
267
  shouldDisableDate,
@@ -270,7 +273,7 @@ function DayCalendar(inProps) {
270
273
  disableFuture,
271
274
  timezone
272
275
  });
273
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
276
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
274
277
  const [internalHasFocus, setInternalHasFocus] = (0, _utils.unstable_useControlled)({
275
278
  name: 'DayCalendar',
276
279
  state: 'hasFocus',
@@ -44,7 +44,7 @@ const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function Dat
44
44
  } = themeProps,
45
45
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
46
  const ownerState = themeProps;
47
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? _PickersTextField.PickersTextField : _TextField.default);
47
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
48
48
  const textFieldProps = (0, _useSlotProps.default)({
49
49
  elementType: TextField,
50
50
  externalSlotProps: slotProps?.textField,
@@ -96,6 +96,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
96
96
  defaultValue: _propTypes.default.object,
97
97
  /**
98
98
  * If `true`, the component is disabled.
99
+ * When disabled, the value cannot be changed and no interaction is possible.
99
100
  * @default false
100
101
  */
101
102
  disabled: _propTypes.default.bool,
@@ -110,7 +111,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
110
111
  */
111
112
  disablePast: _propTypes.default.bool,
112
113
  /**
113
- * @default false
114
+ * @default true
114
115
  */
115
116
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
116
117
  /**
@@ -225,8 +226,8 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
225
226
  */
226
227
  onSelectedSectionsChange: _propTypes.default.func,
227
228
  /**
228
- * It prevents the user from changing the value of the field
229
- * (not from interacting with the field).
229
+ * If `true`, the component is read-only.
230
+ * When read-only, the value cannot be changed but the user can interact with the interface.
230
231
  * @default false
231
232
  */
232
233
  readOnly: _propTypes.default.bool,
@@ -256,22 +257,19 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
256
257
  *
257
258
  * 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.
258
259
  *
259
- * @template TDate
260
- * @param {TDate} day The date to test.
260
+ * @param {PickerValidDate} day The date to test.
261
261
  * @returns {boolean} If `true` the date will be disabled.
262
262
  */
263
263
  shouldDisableDate: _propTypes.default.func,
264
264
  /**
265
265
  * Disable specific month.
266
- * @template TDate
267
- * @param {TDate} month The month to test.
266
+ * @param {PickerValidDate} month The month to test.
268
267
  * @returns {boolean} If `true`, the month will be disabled.
269
268
  */
270
269
  shouldDisableMonth: _propTypes.default.func,
271
270
  /**
272
271
  * Disable specific year.
273
- * @template TDate
274
- * @param {TDate} year The year to test.
272
+ * @param {PickerValidDate} year The year to test.
275
273
  * @returns {boolean} If `true`, the year will be disabled.
276
274
  */
277
275
  shouldDisableYear: _propTypes.default.func,
@@ -72,9 +72,9 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
72
72
  closeOnSelect: _propTypes.default.bool,
73
73
  /**
74
74
  * Formats the day of week displayed in the calendar header.
75
- * @param {TDate} date The date of the day of week provided by the adapter.
75
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
76
76
  * @returns {string} The name to display.
77
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
77
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
78
78
  */
79
79
  dayOfWeekFormatter: _propTypes.default.func,
80
80
  /**
@@ -89,7 +89,8 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
89
89
  */
90
90
  desktopModeMediaQuery: _propTypes.default.string,
91
91
  /**
92
- * If `true`, the picker and text field are disabled.
92
+ * If `true`, the component is disabled.
93
+ * When disabled, the value cannot be changed and no interaction is possible.
93
94
  * @default false
94
95
  */
95
96
  disabled: _propTypes.default.bool,
@@ -118,7 +119,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
118
119
  */
119
120
  displayWeekNumber: _propTypes.default.bool,
120
121
  /**
121
- * @default false
122
+ * @default true
122
123
  */
123
124
  enableAccessibleFieldDOMStructure: _propTypes.default.any,
124
125
  /**
@@ -208,8 +209,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
208
209
  onError: _propTypes.default.func,
209
210
  /**
210
211
  * Callback fired on month change.
211
- * @template TDate
212
- * @param {TDate} month The new month.
212
+ * @param {PickerValidDate} month The new month.
213
213
  */
214
214
  onMonthChange: _propTypes.default.func,
215
215
  /**
@@ -230,8 +230,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
230
230
  onViewChange: _propTypes.default.func,
231
231
  /**
232
232
  * Callback fired on year change.
233
- * @template TDate
234
- * @param {TDate} year The new year.
233
+ * @param {PickerValidDate} year The new year.
235
234
  */
236
235
  onYearChange: _propTypes.default.func,
237
236
  /**
@@ -249,6 +248,11 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
249
248
  * Force rendering in particular orientation.
250
249
  */
251
250
  orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
251
+ /**
252
+ * If `true`, the component is read-only.
253
+ * When read-only, the value cannot be changed but the user can interact with the interface.
254
+ * @default false
255
+ */
252
256
  readOnly: _propTypes.default.bool,
253
257
  /**
254
258
  * If `true`, disable heavy animations.
@@ -281,22 +285,19 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
281
285
  *
282
286
  * 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.
283
287
  *
284
- * @template TDate
285
- * @param {TDate} day The date to test.
288
+ * @param {PickerValidDate} day The date to test.
286
289
  * @returns {boolean} If `true` the date will be disabled.
287
290
  */
288
291
  shouldDisableDate: _propTypes.default.func,
289
292
  /**
290
293
  * Disable specific month.
291
- * @template TDate
292
- * @param {TDate} month The month to test.
294
+ * @param {PickerValidDate} month The month to test.
293
295
  * @returns {boolean} If `true`, the month will be disabled.
294
296
  */
295
297
  shouldDisableMonth: _propTypes.default.func,
296
298
  /**
297
299
  * Disable specific year.
298
- * @template TDate
299
- * @param {TDate} year The year to test.
300
+ * @param {PickerValidDate} year The year to test.
300
301
  * @returns {boolean} If `true`, the year will be disabled.
301
302
  */
302
303
  shouldDisableYear: _propTypes.default.func,
@@ -16,7 +16,7 @@ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
16
16
  var _styles = require("@mui/material/styles");
17
17
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
18
18
  var _PickersToolbar = require("../internals/components/PickersToolbar");
19
- var _usePickersTranslations = require("../hooks/usePickersTranslations");
19
+ var _usePickerTranslations = require("../hooks/usePickerTranslations");
20
20
  var _useUtils = require("../internals/hooks/useUtils");
21
21
  var _datePickerToolbarClasses = require("./datePickerToolbarClasses");
22
22
  var _dateUtils = require("../internals/utils/date-utils");
@@ -76,7 +76,7 @@ const DatePickerToolbar = exports.DatePickerToolbar = /*#__PURE__*/React.forward
76
76
  } = props,
77
77
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
78
78
  const utils = (0, _useUtils.useUtils)();
79
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
79
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
80
80
  const classes = useUtilityClasses(props);
81
81
  const dateText = React.useMemo(() => {
82
82
  if (!value) {
@@ -114,6 +114,11 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
114
114
  */
115
115
  classes: _propTypes.default.object,
116
116
  className: _propTypes.default.string,
117
+ /**
118
+ * If `true`, the component is disabled.
119
+ * When disabled, the value cannot be changed and no interaction is possible.
120
+ * @default false
121
+ */
117
122
  disabled: _propTypes.default.bool,
118
123
  /**
119
124
  * If `true`, show the toolbar even in desktop mode.
@@ -128,6 +133,11 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
128
133
  * @param {TView} view The view to open
129
134
  */
130
135
  onViewChange: _propTypes.default.func.isRequired,
136
+ /**
137
+ * If `true`, the component is read-only.
138
+ * When read-only, the value cannot be changed but the user can interact with the interface.
139
+ * @default false
140
+ */
131
141
  readOnly: _propTypes.default.bool,
132
142
  /**
133
143
  * The system prop that allows defining system overrides as well as additional CSS styles.