@mui/x-date-pickers 7.22.3 → 8.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +1 -1
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +3 -3
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +1 -1
  4. package/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts +1 -1
  5. package/AdapterDateFnsV3/AdapterDateFnsV3.d.ts +1 -1
  6. package/AdapterDayjs/AdapterDayjs.d.ts +2 -2
  7. package/AdapterLuxon/AdapterLuxon.d.ts +2 -2
  8. package/AdapterMoment/AdapterMoment.d.ts +2 -2
  9. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +2 -2
  10. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +2 -2
  11. package/CHANGELOG.md +348 -12
  12. package/DateCalendar/DateCalendar.d.ts +1 -2
  13. package/DateCalendar/DateCalendar.js +21 -22
  14. package/DateCalendar/DateCalendar.types.d.ts +21 -31
  15. package/DateCalendar/DayCalendar.d.ts +25 -24
  16. package/DateCalendar/DayCalendar.js +13 -10
  17. package/DateCalendar/index.d.ts +1 -0
  18. package/DateCalendar/useCalendarState.d.ts +16 -16
  19. package/DateCalendar/useIsDateDisabled.d.ts +2 -2
  20. package/DateField/DateField.d.ts +1 -2
  21. package/DateField/DateField.js +8 -10
  22. package/DateField/DateField.types.d.ts +8 -9
  23. package/DateField/index.d.ts +1 -1
  24. package/DateField/useDateField.d.ts +1 -2
  25. package/DatePicker/DatePicker.d.ts +1 -2
  26. package/DatePicker/DatePicker.js +15 -14
  27. package/DatePicker/DatePicker.types.d.ts +10 -11
  28. package/DatePicker/DatePickerToolbar.d.ts +2 -2
  29. package/DatePicker/DatePickerToolbar.js +2 -4
  30. package/DatePicker/shared.d.ts +11 -11
  31. package/DateTimeField/DateTimeField.d.ts +1 -2
  32. package/DateTimeField/DateTimeField.js +9 -12
  33. package/DateTimeField/DateTimeField.types.d.ts +9 -14
  34. package/DateTimeField/index.d.ts +1 -1
  35. package/DateTimeField/useDateTimeField.d.ts +1 -2
  36. package/DateTimePicker/DateTimePicker.d.ts +1 -2
  37. package/DateTimePicker/DateTimePicker.js +16 -16
  38. package/DateTimePicker/DateTimePicker.types.d.ts +10 -13
  39. package/DateTimePicker/DateTimePickerTabs.d.ts +1 -2
  40. package/DateTimePicker/DateTimePickerTabs.js +2 -2
  41. package/DateTimePicker/DateTimePickerToolbar.d.ts +5 -5
  42. package/DateTimePicker/DateTimePickerToolbar.js +8 -7
  43. package/DateTimePicker/shared.d.ts +12 -12
  44. package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -2
  45. package/DesktopDatePicker/DesktopDatePicker.js +17 -16
  46. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -7
  47. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -2
  48. package/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  49. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
  50. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +1 -2
  51. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
  52. package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -2
  53. package/DesktopTimePicker/DesktopTimePicker.js +11 -6
  54. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
  55. package/DigitalClock/DigitalClock.d.ts +1 -2
  56. package/DigitalClock/DigitalClock.js +8 -6
  57. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  58. package/LocalizationProvider/LocalizationProvider.d.ts +12 -12
  59. package/MobileDatePicker/MobileDatePicker.d.ts +1 -2
  60. package/MobileDatePicker/MobileDatePicker.js +17 -16
  61. package/MobileDatePicker/MobileDatePicker.types.d.ts +7 -7
  62. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +2 -2
  63. package/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  64. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +7 -7
  65. package/MobileTimePicker/MobileTimePicker.d.ts +2 -2
  66. package/MobileTimePicker/MobileTimePicker.js +11 -6
  67. package/MobileTimePicker/MobileTimePicker.types.d.ts +7 -7
  68. package/MonthCalendar/MonthCalendar.d.ts +3 -4
  69. package/MonthCalendar/MonthCalendar.js +18 -14
  70. package/MonthCalendar/MonthCalendar.types.d.ts +14 -15
  71. package/MonthCalendar/PickersMonth.js +17 -13
  72. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +1 -2
  73. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
  74. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +3 -4
  75. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +9 -9
  76. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +2 -3
  77. package/PickersActionBar/PickersActionBar.js +2 -2
  78. package/PickersCalendarHeader/PickersCalendarHeader.d.ts +1 -2
  79. package/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  80. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +9 -9
  81. package/PickersDay/PickersDay.d.ts +8 -8
  82. package/PickersLayout/PickersLayout.d.ts +2 -3
  83. package/PickersLayout/PickersLayout.js +0 -2
  84. package/PickersLayout/PickersLayout.types.d.ts +16 -19
  85. package/PickersLayout/index.d.ts +1 -1
  86. package/PickersLayout/usePickerLayout.d.ts +1 -2
  87. package/PickersLayout/usePickerLayout.js +18 -23
  88. package/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
  89. package/PickersTextField/PickersTextField.js +2 -2
  90. package/README.md +4 -4
  91. package/StaticDatePicker/StaticDatePicker.d.ts +1 -2
  92. package/StaticDatePicker/StaticDatePicker.js +14 -13
  93. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  94. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -2
  95. package/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  96. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  97. package/StaticTimePicker/StaticTimePicker.d.ts +1 -2
  98. package/StaticTimePicker/StaticTimePicker.js +8 -3
  99. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  100. package/TimeClock/Clock.d.ts +4 -5
  101. package/TimeClock/Clock.js +4 -3
  102. package/TimeClock/ClockNumbers.d.ts +5 -5
  103. package/TimeClock/TimeClock.d.ts +1 -2
  104. package/TimeClock/TimeClock.js +8 -6
  105. package/TimeClock/TimeClock.types.d.ts +4 -4
  106. package/TimeField/TimeField.d.ts +1 -2
  107. package/TimeField/TimeField.js +6 -6
  108. package/TimeField/TimeField.types.d.ts +9 -14
  109. package/TimeField/index.d.ts +1 -1
  110. package/TimeField/useTimeField.d.ts +1 -2
  111. package/TimePicker/TimePicker.d.ts +1 -2
  112. package/TimePicker/TimePicker.js +9 -4
  113. package/TimePicker/TimePicker.types.d.ts +10 -13
  114. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  115. package/TimePicker/TimePickerToolbar.js +8 -7
  116. package/TimePicker/shared.d.ts +10 -10
  117. package/YearCalendar/PickersYear.js +17 -13
  118. package/YearCalendar/YearCalendar.d.ts +1 -2
  119. package/YearCalendar/YearCalendar.js +18 -14
  120. package/YearCalendar/YearCalendar.types.d.ts +14 -15
  121. package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
  122. package/hooks/index.d.ts +2 -2
  123. package/hooks/index.js +2 -2
  124. package/hooks/useClearableField.js +4 -3
  125. package/hooks/useParsedFormat.d.ts +2 -3
  126. package/hooks/useParsedFormat.js +2 -2
  127. package/hooks/usePickerContext.d.ts +4 -0
  128. package/hooks/usePickerContext.js +15 -0
  129. package/hooks/usePickerTranslations.d.ts +1 -0
  130. package/{modern/hooks/usePickersTranslations.js → hooks/usePickerTranslations.js} +1 -1
  131. package/hooks/useSplitFieldProps.d.ts +3 -3
  132. package/index.js +1 -1
  133. package/internals/components/PickerProvider.d.ts +67 -0
  134. package/internals/components/PickerProvider.js +40 -0
  135. package/internals/hooks/date-helpers-hooks.d.ts +6 -6
  136. package/internals/hooks/defaultizedFieldProps.d.ts +7 -8
  137. package/internals/hooks/useClockReferenceDate.d.ts +5 -5
  138. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -2
  139. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
  140. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +15 -15
  141. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +5 -5
  142. package/internals/hooks/useField/useField.d.ts +3 -3
  143. package/internals/hooks/useField/useField.js +1 -1
  144. package/internals/hooks/useField/useField.types.d.ts +40 -50
  145. package/internals/hooks/useField/useField.utils.d.ts +15 -15
  146. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +4 -4
  147. package/internals/hooks/useField/useFieldState.d.ts +4 -4
  148. package/internals/hooks/useField/useFieldState.js +4 -3
  149. package/internals/hooks/useField/useFieldV7TextField.js +4 -3
  150. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -2
  151. package/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
  152. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +12 -12
  153. package/internals/hooks/usePicker/usePicker.d.ts +2 -2
  154. package/internals/hooks/usePicker/usePicker.js +15 -10
  155. package/internals/hooks/usePicker/usePicker.types.d.ts +9 -7
  156. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +6 -8
  157. package/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
  158. package/internals/hooks/usePicker/usePickerProvider.d.ts +26 -0
  159. package/internals/hooks/usePicker/usePickerProvider.js +77 -0
  160. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  161. package/internals/hooks/usePicker/usePickerValue.js +7 -10
  162. package/internals/hooks/usePicker/usePickerValue.types.d.ts +38 -39
  163. package/internals/hooks/usePicker/usePickerViews.d.ts +7 -11
  164. package/internals/hooks/usePicker/usePickerViews.js +1 -0
  165. package/internals/hooks/usePickerPrivateContext.d.ts +4 -0
  166. package/internals/hooks/usePickerPrivateContext.js +9 -0
  167. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -2
  168. package/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
  169. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
  170. package/internals/hooks/useUtils.d.ts +7 -7
  171. package/internals/hooks/useValueWithTimezone.d.ts +19 -15
  172. package/internals/hooks/useValueWithTimezone.js +13 -1
  173. package/internals/hooks/useViews.d.ts +3 -3
  174. package/internals/hooks/useViews.js +1 -1
  175. package/internals/index.d.ts +7 -5
  176. package/internals/index.js +2 -1
  177. package/internals/models/common.d.ts +2 -1
  178. package/internals/models/fields.d.ts +32 -7
  179. package/internals/models/formProps.d.ts +14 -0
  180. package/internals/models/helpers.d.ts +0 -4
  181. package/internals/models/index.d.ts +2 -0
  182. package/internals/models/index.js +3 -1
  183. package/internals/models/props/basePickerProps.d.ts +5 -6
  184. package/internals/models/props/{clock.d.ts → time.d.ts} +10 -17
  185. package/internals/models/props/toolbar.d.ts +0 -2
  186. package/internals/models/validation.d.ts +21 -25
  187. package/internals/models/value.d.ts +3 -0
  188. package/internals/models/value.js +1 -0
  189. package/internals/utils/date-time-utils.d.ts +7 -7
  190. package/internals/utils/date-utils.d.ts +17 -17
  191. package/internals/utils/getDefaultReferenceDate.d.ts +10 -10
  192. package/internals/utils/time-utils.d.ts +5 -5
  193. package/internals/utils/valueManagers.d.ts +3 -3
  194. package/locales/beBY.d.ts +3 -3
  195. package/locales/beBY.js +3 -3
  196. package/locales/bgBG.d.ts +3 -3
  197. package/locales/bgBG.js +3 -3
  198. package/locales/caES.d.ts +3 -3
  199. package/locales/caES.js +3 -3
  200. package/locales/csCZ.d.ts +3 -3
  201. package/locales/csCZ.js +3 -3
  202. package/locales/daDK.d.ts +3 -3
  203. package/locales/daDK.js +3 -3
  204. package/locales/deDE.d.ts +3 -3
  205. package/locales/deDE.js +3 -3
  206. package/locales/elGR.d.ts +3 -3
  207. package/locales/elGR.js +12 -13
  208. package/locales/enUS.d.ts +4 -4
  209. package/locales/enUS.js +3 -3
  210. package/locales/esES.d.ts +3 -3
  211. package/locales/esES.js +3 -3
  212. package/locales/eu.d.ts +3 -3
  213. package/locales/eu.js +3 -3
  214. package/locales/faIR.d.ts +3 -3
  215. package/locales/faIR.js +3 -3
  216. package/locales/fiFI.d.ts +3 -3
  217. package/locales/fiFI.js +3 -3
  218. package/locales/frFR.d.ts +3 -3
  219. package/locales/frFR.js +3 -3
  220. package/locales/heIL.d.ts +3 -3
  221. package/locales/heIL.js +3 -3
  222. package/locales/hrHR.d.ts +3 -3
  223. package/locales/hrHR.js +3 -3
  224. package/locales/huHU.d.ts +3 -3
  225. package/locales/huHU.js +3 -3
  226. package/locales/isIS.d.ts +3 -3
  227. package/locales/isIS.js +3 -3
  228. package/locales/itIT.d.ts +3 -3
  229. package/locales/itIT.js +3 -3
  230. package/locales/jaJP.d.ts +3 -3
  231. package/locales/jaJP.js +3 -3
  232. package/locales/koKR.d.ts +3 -3
  233. package/locales/koKR.js +3 -3
  234. package/locales/kzKZ.d.ts +3 -3
  235. package/locales/kzKZ.js +3 -3
  236. package/locales/mk.d.ts +3 -3
  237. package/locales/mk.js +3 -3
  238. package/locales/nbNO.d.ts +3 -3
  239. package/locales/nbNO.js +3 -3
  240. package/locales/nlNL.d.ts +3 -3
  241. package/locales/nlNL.js +3 -3
  242. package/locales/nnNO.d.ts +3 -3
  243. package/locales/nnNO.js +3 -3
  244. package/locales/plPL.d.ts +3 -3
  245. package/locales/plPL.js +3 -3
  246. package/locales/ptBR.d.ts +3 -3
  247. package/locales/ptBR.js +5 -3
  248. package/locales/ptPT.d.ts +3 -3
  249. package/locales/ptPT.js +3 -3
  250. package/locales/roRO.d.ts +3 -3
  251. package/locales/roRO.js +3 -3
  252. package/locales/ruRU.d.ts +3 -3
  253. package/locales/ruRU.js +3 -3
  254. package/locales/skSK.d.ts +3 -3
  255. package/locales/skSK.js +3 -3
  256. package/locales/svSE.d.ts +3 -3
  257. package/locales/svSE.js +3 -3
  258. package/locales/trTR.d.ts +3 -3
  259. package/locales/trTR.js +3 -3
  260. package/locales/ukUA.d.ts +3 -3
  261. package/locales/ukUA.js +3 -3
  262. package/locales/urPK.d.ts +3 -3
  263. package/locales/urPK.js +3 -3
  264. package/locales/utils/getPickersLocalization.d.ts +9 -9
  265. package/locales/utils/getPickersLocalization.js +1 -1
  266. package/locales/utils/pickersLocaleTextApi.d.ts +12 -36
  267. package/locales/viVN.d.ts +3 -3
  268. package/locales/viVN.js +3 -3
  269. package/locales/zhCN.d.ts +3 -3
  270. package/locales/zhCN.js +3 -3
  271. package/locales/zhHK.d.ts +3 -3
  272. package/locales/zhHK.js +3 -3
  273. package/models/adapters.d.ts +151 -202
  274. package/models/common.d.ts +1 -0
  275. package/models/fields.d.ts +9 -42
  276. package/models/pickers.d.ts +28 -6
  277. package/modern/DateCalendar/DateCalendar.js +21 -22
  278. package/modern/DateCalendar/DayCalendar.js +13 -10
  279. package/modern/DateField/DateField.js +8 -10
  280. package/modern/DatePicker/DatePicker.js +15 -14
  281. package/modern/DatePicker/DatePickerToolbar.js +2 -4
  282. package/modern/DateTimeField/DateTimeField.js +9 -12
  283. package/modern/DateTimePicker/DateTimePicker.js +16 -16
  284. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  285. package/modern/DateTimePicker/DateTimePickerToolbar.js +8 -7
  286. package/modern/DesktopDatePicker/DesktopDatePicker.js +17 -16
  287. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  288. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
  289. package/modern/DesktopTimePicker/DesktopTimePicker.js +11 -6
  290. package/modern/DigitalClock/DigitalClock.js +8 -6
  291. package/modern/MobileDatePicker/MobileDatePicker.js +17 -16
  292. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  293. package/modern/MobileTimePicker/MobileTimePicker.js +11 -6
  294. package/modern/MonthCalendar/MonthCalendar.js +18 -14
  295. package/modern/MonthCalendar/PickersMonth.js +17 -13
  296. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
  297. package/modern/PickersActionBar/PickersActionBar.js +2 -2
  298. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  299. package/modern/PickersLayout/PickersLayout.js +0 -2
  300. package/modern/PickersLayout/usePickerLayout.js +18 -23
  301. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
  302. package/modern/PickersTextField/PickersTextField.js +2 -2
  303. package/modern/StaticDatePicker/StaticDatePicker.js +14 -13
  304. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  305. package/modern/StaticTimePicker/StaticTimePicker.js +8 -3
  306. package/modern/TimeClock/Clock.js +4 -3
  307. package/modern/TimeClock/TimeClock.js +8 -6
  308. package/modern/TimeField/TimeField.js +6 -6
  309. package/modern/TimePicker/TimePicker.js +9 -4
  310. package/modern/TimePicker/TimePickerToolbar.js +8 -7
  311. package/modern/YearCalendar/PickersYear.js +17 -13
  312. package/modern/YearCalendar/YearCalendar.js +18 -14
  313. package/modern/hooks/index.js +2 -2
  314. package/modern/hooks/useClearableField.js +4 -3
  315. package/modern/hooks/useParsedFormat.js +2 -2
  316. package/modern/hooks/usePickerContext.js +15 -0
  317. package/{hooks/usePickersTranslations.js → modern/hooks/usePickerTranslations.js} +1 -1
  318. package/modern/index.js +1 -1
  319. package/modern/internals/components/PickerProvider.js +40 -0
  320. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
  321. package/modern/internals/hooks/useField/useField.js +1 -1
  322. package/modern/internals/hooks/useField/useFieldState.js +4 -3
  323. package/modern/internals/hooks/useField/useFieldV7TextField.js +4 -3
  324. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
  325. package/modern/internals/hooks/usePicker/usePicker.js +15 -10
  326. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
  327. package/modern/internals/hooks/usePicker/usePickerProvider.js +77 -0
  328. package/modern/internals/hooks/usePicker/usePickerValue.js +7 -10
  329. package/modern/internals/hooks/usePicker/usePickerViews.js +1 -0
  330. package/modern/internals/hooks/usePickerPrivateContext.js +9 -0
  331. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
  332. package/modern/internals/hooks/useValueWithTimezone.js +13 -1
  333. package/modern/internals/hooks/useViews.js +1 -1
  334. package/modern/internals/index.js +2 -1
  335. package/modern/internals/models/formProps.js +1 -0
  336. package/modern/internals/models/index.js +3 -1
  337. package/modern/internals/models/props/time.js +1 -0
  338. package/modern/internals/models/value.js +1 -0
  339. package/modern/locales/beBY.js +3 -3
  340. package/modern/locales/bgBG.js +3 -3
  341. package/modern/locales/caES.js +3 -3
  342. package/modern/locales/csCZ.js +3 -3
  343. package/modern/locales/daDK.js +3 -3
  344. package/modern/locales/deDE.js +3 -3
  345. package/modern/locales/elGR.js +12 -13
  346. package/modern/locales/enUS.js +3 -3
  347. package/modern/locales/esES.js +3 -3
  348. package/modern/locales/eu.js +3 -3
  349. package/modern/locales/faIR.js +3 -3
  350. package/modern/locales/fiFI.js +3 -3
  351. package/modern/locales/frFR.js +3 -3
  352. package/modern/locales/heIL.js +3 -3
  353. package/modern/locales/hrHR.js +3 -3
  354. package/modern/locales/huHU.js +3 -3
  355. package/modern/locales/isIS.js +3 -3
  356. package/modern/locales/itIT.js +3 -3
  357. package/modern/locales/jaJP.js +3 -3
  358. package/modern/locales/koKR.js +3 -3
  359. package/modern/locales/kzKZ.js +3 -3
  360. package/modern/locales/mk.js +3 -3
  361. package/modern/locales/nbNO.js +3 -3
  362. package/modern/locales/nlNL.js +3 -3
  363. package/modern/locales/nnNO.js +3 -3
  364. package/modern/locales/plPL.js +3 -3
  365. package/modern/locales/ptBR.js +5 -3
  366. package/modern/locales/ptPT.js +3 -3
  367. package/modern/locales/roRO.js +3 -3
  368. package/modern/locales/ruRU.js +3 -3
  369. package/modern/locales/skSK.js +3 -3
  370. package/modern/locales/svSE.js +3 -3
  371. package/modern/locales/trTR.js +3 -3
  372. package/modern/locales/ukUA.js +3 -3
  373. package/modern/locales/urPK.js +3 -3
  374. package/modern/locales/utils/getPickersLocalization.js +1 -1
  375. package/modern/locales/viVN.js +3 -3
  376. package/modern/locales/zhCN.js +3 -3
  377. package/modern/locales/zhHK.js +3 -3
  378. package/modern/validation/useValidation.js +2 -3
  379. package/modern/validation/validateDate.js +5 -0
  380. package/modern/validation/validateDateTime.js +5 -0
  381. package/modern/validation/validateTime.js +5 -0
  382. package/node/DateCalendar/DateCalendar.js +21 -22
  383. package/node/DateCalendar/DayCalendar.js +13 -10
  384. package/node/DateField/DateField.js +8 -10
  385. package/node/DatePicker/DatePicker.js +15 -14
  386. package/node/DatePicker/DatePickerToolbar.js +2 -4
  387. package/node/DateTimeField/DateTimeField.js +9 -12
  388. package/node/DateTimePicker/DateTimePicker.js +16 -16
  389. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  390. package/node/DateTimePicker/DateTimePickerToolbar.js +8 -7
  391. package/node/DesktopDatePicker/DesktopDatePicker.js +17 -16
  392. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  393. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
  394. package/node/DesktopTimePicker/DesktopTimePicker.js +11 -6
  395. package/node/DigitalClock/DigitalClock.js +8 -6
  396. package/node/MobileDatePicker/MobileDatePicker.js +17 -16
  397. package/node/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  398. package/node/MobileTimePicker/MobileTimePicker.js +11 -6
  399. package/node/MonthCalendar/MonthCalendar.js +18 -14
  400. package/node/MonthCalendar/PickersMonth.js +17 -13
  401. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
  402. package/node/PickersActionBar/PickersActionBar.js +2 -2
  403. package/node/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  404. package/node/PickersLayout/PickersLayout.js +0 -2
  405. package/node/PickersLayout/usePickerLayout.js +18 -23
  406. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
  407. package/node/PickersTextField/PickersTextField.js +2 -2
  408. package/node/StaticDatePicker/StaticDatePicker.js +14 -13
  409. package/node/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  410. package/node/StaticTimePicker/StaticTimePicker.js +8 -3
  411. package/node/TimeClock/Clock.js +4 -3
  412. package/node/TimeClock/TimeClock.js +8 -6
  413. package/node/TimeField/TimeField.js +6 -6
  414. package/node/TimePicker/TimePicker.js +9 -4
  415. package/node/TimePicker/TimePickerToolbar.js +8 -7
  416. package/node/YearCalendar/PickersYear.js +17 -13
  417. package/node/YearCalendar/YearCalendar.js +18 -14
  418. package/node/hooks/index.js +6 -6
  419. package/node/hooks/useClearableField.js +4 -3
  420. package/node/hooks/useParsedFormat.js +2 -2
  421. package/node/hooks/usePickerContext.js +21 -0
  422. package/node/hooks/usePickerTranslations.js +10 -0
  423. package/node/index.js +1 -1
  424. package/node/internals/components/PickerProvider.js +48 -0
  425. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
  426. package/node/internals/hooks/useField/useField.js +1 -1
  427. package/node/internals/hooks/useField/useFieldState.js +4 -3
  428. package/node/internals/hooks/useField/useFieldV7TextField.js +4 -3
  429. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
  430. package/node/internals/hooks/usePicker/usePicker.js +15 -10
  431. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
  432. package/node/internals/hooks/usePicker/usePickerProvider.js +87 -0
  433. package/node/internals/hooks/usePicker/usePickerValue.js +6 -10
  434. package/node/internals/hooks/usePicker/usePickerViews.js +1 -0
  435. package/node/internals/hooks/usePickerPrivateContext.js +15 -0
  436. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
  437. package/node/internals/hooks/useValueWithTimezone.js +13 -1
  438. package/node/internals/hooks/useViews.js +3 -3
  439. package/node/internals/index.js +14 -7
  440. package/node/internals/models/index.js +22 -0
  441. package/node/internals/models/props/time.js +5 -0
  442. package/node/internals/models/value.js +5 -0
  443. package/node/locales/beBY.js +3 -3
  444. package/node/locales/bgBG.js +3 -3
  445. package/node/locales/caES.js +3 -3
  446. package/node/locales/csCZ.js +3 -3
  447. package/node/locales/daDK.js +3 -3
  448. package/node/locales/deDE.js +3 -3
  449. package/node/locales/elGR.js +12 -13
  450. package/node/locales/enUS.js +3 -3
  451. package/node/locales/esES.js +3 -3
  452. package/node/locales/eu.js +3 -3
  453. package/node/locales/faIR.js +3 -3
  454. package/node/locales/fiFI.js +3 -3
  455. package/node/locales/frFR.js +3 -3
  456. package/node/locales/heIL.js +3 -3
  457. package/node/locales/hrHR.js +3 -3
  458. package/node/locales/huHU.js +3 -3
  459. package/node/locales/isIS.js +3 -3
  460. package/node/locales/itIT.js +3 -3
  461. package/node/locales/jaJP.js +3 -3
  462. package/node/locales/koKR.js +3 -3
  463. package/node/locales/kzKZ.js +3 -3
  464. package/node/locales/mk.js +3 -3
  465. package/node/locales/nbNO.js +3 -3
  466. package/node/locales/nlNL.js +3 -3
  467. package/node/locales/nnNO.js +3 -3
  468. package/node/locales/plPL.js +3 -3
  469. package/node/locales/ptBR.js +5 -3
  470. package/node/locales/ptPT.js +3 -3
  471. package/node/locales/roRO.js +3 -3
  472. package/node/locales/ruRU.js +3 -3
  473. package/node/locales/skSK.js +3 -3
  474. package/node/locales/svSE.js +3 -3
  475. package/node/locales/trTR.js +3 -3
  476. package/node/locales/ukUA.js +3 -3
  477. package/node/locales/urPK.js +3 -3
  478. package/node/locales/utils/getPickersLocalization.js +1 -1
  479. package/node/locales/viVN.js +3 -3
  480. package/node/locales/zhCN.js +3 -3
  481. package/node/locales/zhHK.js +3 -3
  482. package/node/validation/useValidation.js +2 -3
  483. package/node/validation/validateDate.js +4 -0
  484. package/node/validation/validateDateTime.js +4 -0
  485. package/node/validation/validateTime.js +4 -0
  486. package/package.json +5 -5
  487. package/themeAugmentation/props.d.ts +28 -28
  488. package/timeViewRenderers/timeViewRenderers.d.ts +6 -6
  489. package/validation/extractValidationProps.d.ts +4 -4
  490. package/validation/useValidation.d.ts +9 -10
  491. package/validation/useValidation.js +2 -3
  492. package/validation/validateDate.d.ts +7 -2
  493. package/validation/validateDate.js +5 -0
  494. package/validation/validateDateTime.d.ts +10 -4
  495. package/validation/validateDateTime.js +5 -0
  496. package/validation/validateTime.d.ts +7 -2
  497. package/validation/validateTime.js +5 -0
  498. package/hooks/usePickersContext.d.ts +0 -4
  499. package/hooks/usePickersContext.js +0 -15
  500. package/hooks/usePickersTranslations.d.ts +0 -2
  501. package/internals/components/PickersProvider.d.ts +0 -34
  502. package/internals/components/PickersProvider.js +0 -26
  503. package/internals/hooks/usePicker/usePickerOwnerState.d.ts +0 -9
  504. package/internals/hooks/usePicker/usePickerOwnerState.js +0 -13
  505. package/modern/hooks/usePickersContext.js +0 -15
  506. package/modern/internals/components/PickersProvider.js +0 -26
  507. package/modern/internals/hooks/usePicker/usePickerOwnerState.js +0 -13
  508. package/node/hooks/usePickersContext.js +0 -21
  509. package/node/hooks/usePickersTranslations.js +0 -10
  510. package/node/internals/components/PickersProvider.js +0 -34
  511. package/node/internals/hooks/usePicker/usePickerOwnerState.js +0 -20
  512. /package/internals/models/{props/clock.js → formProps.js} +0 -0
  513. /package/{modern/internals/models/props/clock.js → internals/models/props/time.js} +0 -0
  514. /package/node/internals/models/{props/clock.js → formProps.js} +0 -0
@@ -15,17 +15,13 @@ var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
15
15
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
16
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
17
17
  var _pickersYearClasses = require("./pickersYearClasses");
18
+ var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["autoFocus", "className", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "yearsPerRow", "slots", "slotProps"];
20
- const useUtilityClasses = ownerState => {
21
- const {
22
- disabled,
23
- selected,
24
- classes
25
- } = ownerState;
20
+ const _excluded = ["autoFocus", "className", "classes", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "yearsPerRow", "slots", "slotProps"];
21
+ const useUtilityClasses = (classes, ownerState) => {
26
22
  const slots = {
27
23
  root: ['root'],
28
- yearButton: ['yearButton', disabled && 'disabled', selected && 'selected']
24
+ yearButton: ['yearButton', ownerState.isYearDisabled && 'disabled', ownerState.isYearSelected && 'selected']
29
25
  };
30
26
  return (0, _composeClasses.default)(slots, _pickersYearClasses.getPickersYearUtilityClass, classes);
31
27
  };
@@ -101,9 +97,10 @@ const PickersYear = exports.PickersYear = /*#__PURE__*/React.memo(function Picke
101
97
  const {
102
98
  autoFocus,
103
99
  className,
100
+ classes: classesProp,
104
101
  children,
105
- disabled,
106
- selected,
102
+ disabled = false,
103
+ selected = false,
107
104
  value,
108
105
  tabIndex,
109
106
  onClick,
@@ -119,7 +116,14 @@ const PickersYear = exports.PickersYear = /*#__PURE__*/React.memo(function Picke
119
116
  } = props,
120
117
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
121
118
  const ref = React.useRef(null);
122
- const classes = useUtilityClasses(props);
119
+ const {
120
+ ownerState: pickerOwnerState
121
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
122
+ const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
123
+ isYearDisabled: disabled,
124
+ isYearSelected: selected
125
+ });
126
+ const classes = useUtilityClasses(classesProp, ownerState);
123
127
 
124
128
  // We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button
125
129
  (0, _useEnhancedEffect.default)(() => {
@@ -146,12 +150,12 @@ const PickersYear = exports.PickersYear = /*#__PURE__*/React.memo(function Picke
146
150
  onFocus: event => onFocus(event, value),
147
151
  onBlur: event => onBlur(event, value)
148
152
  },
149
- ownerState: props,
153
+ ownerState,
150
154
  className: classes.yearButton
151
155
  });
152
156
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersYearRoot, (0, _extends2.default)({
153
157
  className: (0, _clsx.default)(classes.root, className),
154
- ownerState: props
158
+ ownerState: ownerState
155
159
  }, other, {
156
160
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(YearButton, (0, _extends2.default)({}, yearButtonProps))
157
161
  }));
@@ -23,12 +23,10 @@ var _valueManagers = require("../internals/utils/valueManagers");
23
23
  var _getDefaultReferenceDate = require("../internals/utils/getDefaultReferenceDate");
24
24
  var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
25
25
  var _dimensions = require("../internals/constants/dimensions");
26
+ var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
26
27
  var _jsxRuntime = require("react/jsx-runtime");
27
- const _excluded = ["autoFocus", "className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
28
- const useUtilityClasses = ownerState => {
29
- const {
30
- classes
31
- } = ownerState;
28
+ const _excluded = ["autoFocus", "className", "classes", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
29
+ const useUtilityClasses = classes => {
32
30
  const slots = {
33
31
  root: ['root']
34
32
  };
@@ -81,6 +79,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
81
79
  const {
82
80
  autoFocus,
83
81
  className,
82
+ classes: classesProp,
84
83
  value: valueProp,
85
84
  defaultValue,
86
85
  referenceDate: referenceDateProp,
@@ -112,12 +111,16 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
112
111
  timezone: timezoneProp,
113
112
  value: valueProp,
114
113
  defaultValue,
115
- onChange: onChange,
114
+ referenceDate: referenceDateProp,
115
+ onChange,
116
116
  valueManager: _valueManagers.singleItemValueManager
117
117
  });
118
118
  const now = (0, _useUtils.useNow)(timezone);
119
119
  const isRtl = (0, _RtlProvider.useRtl)();
120
120
  const utils = (0, _useUtils.useUtils)();
121
+ const {
122
+ ownerState
123
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
121
124
  const referenceDate = React.useMemo(() => _valueManagers.singleItemValueManager.getInitialReferenceValue({
122
125
  value,
123
126
  utils,
@@ -127,8 +130,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
127
130
  granularity: _getDefaultReferenceDate.SECTION_TYPE_GRANULARITY.year
128
131
  }), [] // eslint-disable-line react-hooks/exhaustive-deps
129
132
  );
130
- const ownerState = props;
131
- const classes = useUtilityClasses(ownerState);
133
+ const classes = useUtilityClasses(classesProp);
132
134
  const todayYear = React.useMemo(() => utils.getYear(now), [utils, now]);
133
135
  const selectedYear = React.useMemo(() => {
134
136
  if (value != null) {
@@ -291,7 +293,9 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
291
293
  */
292
294
  defaultValue: _propTypes.default.object,
293
295
  /**
294
- * If `true` picker is disabled
296
+ * If `true`, the component is disabled.
297
+ * When disabled, the value cannot be changed and no interaction is possible.
298
+ * @default false
295
299
  */
296
300
  disabled: _propTypes.default.bool,
297
301
  /**
@@ -323,14 +327,15 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
323
327
  minDate: _propTypes.default.object,
324
328
  /**
325
329
  * Callback fired when the value changes.
326
- * @template TDate
327
- * @param {TDate} value The new value.
330
+ * @param {PickerValidDate} value The new value.
328
331
  */
329
332
  onChange: _propTypes.default.func,
330
333
  onFocusedViewChange: _propTypes.default.func,
331
334
  onYearFocus: _propTypes.default.func,
332
335
  /**
333
- * If `true` picker is readonly
336
+ * If `true`, the component is read-only.
337
+ * When read-only, the value cannot be changed but the user can interact with the interface.
338
+ * @default false
334
339
  */
335
340
  readOnly: _propTypes.default.bool,
336
341
  /**
@@ -340,8 +345,7 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
340
345
  referenceDate: _propTypes.default.object,
341
346
  /**
342
347
  * Disable specific year.
343
- * @template TDate
344
- * @param {TDate} year The year to test.
348
+ * @param {PickerValidDate} year The year to test.
345
349
  * @returns {boolean} If `true`, the year will be disabled.
346
350
  */
347
351
  shouldDisableYear: _propTypes.default.func,
@@ -15,16 +15,16 @@ Object.defineProperty(exports, "useParsedFormat", {
15
15
  return _useParsedFormat.useParsedFormat;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "usePickersContext", {
18
+ Object.defineProperty(exports, "usePickerContext", {
19
19
  enumerable: true,
20
20
  get: function () {
21
- return _usePickersContext.usePickersContext;
21
+ return _usePickerContext.usePickerContext;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "usePickersTranslations", {
24
+ Object.defineProperty(exports, "usePickerTranslations", {
25
25
  enumerable: true,
26
26
  get: function () {
27
- return _usePickersTranslations.usePickersTranslations;
27
+ return _usePickerTranslations.usePickerTranslations;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "useSplitFieldProps", {
@@ -34,7 +34,7 @@ Object.defineProperty(exports, "useSplitFieldProps", {
34
34
  }
35
35
  });
36
36
  var _useClearableField = require("./useClearableField");
37
- var _usePickersTranslations = require("./usePickersTranslations");
37
+ var _usePickerTranslations = require("./usePickerTranslations");
38
38
  var _useSplitFieldProps = require("./useSplitFieldProps");
39
39
  var _useParsedFormat = require("./useParsedFormat");
40
- var _usePickersContext = require("./usePickersContext");
40
+ var _usePickerContext = require("./usePickerContext");
@@ -14,12 +14,12 @@ var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
14
14
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
15
15
  var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
16
16
  var _icons = require("../icons");
17
- var _usePickersTranslations = require("./usePickersTranslations");
17
+ var _usePickerTranslations = require("./usePickerTranslations");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  const _excluded = ["clearable", "onClear", "InputProps", "sx", "slots", "slotProps"],
20
20
  _excluded2 = ["ownerState"];
21
21
  const useClearableField = props => {
22
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
22
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
23
23
  const {
24
24
  clearable,
25
25
  onClear,
@@ -37,7 +37,8 @@ const useClearableField = props => {
37
37
  ownerState: {},
38
38
  className: 'clearButton',
39
39
  additionalProps: {
40
- title: translations.fieldClearLabel
40
+ title: translations.fieldClearLabel,
41
+ tabIndex: -1
41
42
  }
42
43
  }),
43
44
  iconButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
@@ -11,7 +11,7 @@ var _RtlProvider = require("@mui/system/RtlProvider");
11
11
  var _useUtils = require("../internals/hooks/useUtils");
12
12
  var _buildSectionsFromFormat = require("../internals/hooks/useField/buildSectionsFromFormat");
13
13
  var _useField = require("../internals/hooks/useField/useField.utils");
14
- var _usePickersTranslations = require("./usePickersTranslations");
14
+ var _usePickerTranslations = require("./usePickerTranslations");
15
15
  /**
16
16
  * Returns the parsed format to be rendered in the field when there is no value or in other parts of the Picker.
17
17
  * This format is localized (e.g: `AAAA` for the year with the French locale) and cannot be parsed by your date library.
@@ -29,7 +29,7 @@ const useParsedFormat = parameters => {
29
29
  } = parameters;
30
30
  const utils = (0, _useUtils.useUtils)();
31
31
  const isRtl = (0, _RtlProvider.useRtl)();
32
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
32
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
33
33
  const localizedDigits = React.useMemo(() => (0, _useField.getLocalizedDigits)(utils), [utils]);
34
34
  return React.useMemo(() => {
35
35
  const sections = (0, _buildSectionsFromFormat.buildSectionsFromFormat)({
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.usePickerContext = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _PickerProvider = require("../internals/components/PickerProvider");
11
+ /**
12
+ * Returns the context passed by the picker that wraps the current component.
13
+ */
14
+ const usePickerContext = () => {
15
+ const value = React.useContext(_PickerProvider.PickerContext);
16
+ if (value == null) {
17
+ throw new Error(['MUI X: The `usePickerContext` can only be called in fields that are used as a slot of a picker component'].join('\n'));
18
+ }
19
+ return value;
20
+ };
21
+ exports.usePickerContext = usePickerContext;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.usePickerTranslations = void 0;
8
+ var _useUtils = require("../internals/hooks/useUtils");
9
+ const usePickerTranslations = () => (0, _useUtils.useLocalizationContext)().localeText;
10
+ exports.usePickerTranslations = usePickerTranslations;
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.22.3
2
+ * @mui/x-date-pickers v8.0.0-alpha.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PickerPrivateContext = exports.PickerContext = void 0;
8
+ exports.PickerProvider = PickerProvider;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _LocalizationProvider = require("../../LocalizationProvider");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ const PickerContext = exports.PickerContext = /*#__PURE__*/React.createContext(null);
13
+ const PickerPrivateContext = exports.PickerPrivateContext = /*#__PURE__*/React.createContext({
14
+ ownerState: {
15
+ isPickerDisabled: false,
16
+ isPickerReadOnly: false,
17
+ isPickerValueEmpty: false,
18
+ isPickerOpen: false,
19
+ pickerVariant: 'desktop',
20
+ pickerOrientation: 'portrait'
21
+ }
22
+ });
23
+
24
+ /**
25
+ * Provides the context for the various parts of a picker component:
26
+ * - contextValue: the context for the picker sub-components.
27
+ * - localizationProvider: the translations passed through the props and through a parent LocalizationProvider.
28
+ *
29
+ * @ignore - do not document.
30
+ */
31
+ function PickerProvider(props) {
32
+ const {
33
+ contextValue,
34
+ privateContextValue,
35
+ localeText,
36
+ children
37
+ } = props;
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerContext.Provider, {
39
+ value: contextValue,
40
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerPrivateContext.Provider, {
41
+ value: privateContextValue,
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
43
+ localeText: localeText,
44
+ children: children
45
+ })
46
+ })
47
+ });
48
+ }
@@ -17,7 +17,7 @@ var _useId = _interopRequireDefault(require("@mui/utils/useId"));
17
17
  var _PickersPopper = require("../../components/PickersPopper");
18
18
  var _usePicker = require("../usePicker");
19
19
  var _PickersLayout = require("../../../PickersLayout");
20
- var _PickersProvider = require("../../components/PickersProvider");
20
+ var _PickerProvider = require("../../components/PickerProvider");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
22
  const _excluded = ["props", "getOpenDialogAriaText"],
23
23
  _excluded2 = ["ownerState"],
@@ -63,17 +63,18 @@ const useDesktopPicker = _ref => {
63
63
  actions,
64
64
  hasUIView,
65
65
  layoutProps,
66
+ providerProps,
66
67
  renderCurrentView,
67
68
  shouldRestoreFocus,
68
69
  fieldProps: pickerFieldProps,
69
- contextValue,
70
70
  ownerState
71
71
  } = (0, _usePicker.usePicker)((0, _extends2.default)({}, pickerParams, {
72
72
  props,
73
73
  fieldRef,
74
+ localeText,
74
75
  autoFocusView: true,
75
76
  additionalViewProps: {},
76
- wrapperVariant: 'desktop'
77
+ variant: 'desktop'
77
78
  }));
78
79
  const InputAdornment = slots.inputAdornment ?? _InputAdornment.default;
79
80
  const _useSlotProps = (0, _useSlotProps3.default)({
@@ -82,7 +83,7 @@ const useDesktopPicker = _ref => {
82
83
  additionalProps: {
83
84
  position: 'end'
84
85
  },
85
- ownerState: props
86
+ ownerState
86
87
  }),
87
88
  inputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
88
89
  const OpenPickerButton = slots.openPickerButton ?? _IconButton.default;
@@ -95,7 +96,7 @@ const useDesktopPicker = _ref => {
95
96
  'aria-label': getOpenDialogAriaText(pickerFieldProps.value),
96
97
  edge: inputAdornmentProps.position
97
98
  },
98
- ownerState: props
99
+ ownerState
99
100
  }),
100
101
  openPickerButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps2, _excluded3);
101
102
  const OpenPickerIcon = slots.openPickerIcon;
@@ -108,27 +109,32 @@ const useDesktopPicker = _ref => {
108
109
  const fieldProps = (0, _useSlotProps3.default)({
109
110
  elementType: Field,
110
111
  externalSlotProps: innerSlotProps?.field,
111
- additionalProps: (0, _extends2.default)({}, pickerFieldProps, isToolbarHidden && {
112
- id: labelId
113
- }, {
112
+ additionalProps: (0, _extends2.default)({
113
+ // Internal props
114
114
  readOnly,
115
115
  disabled,
116
- className,
117
- sx,
118
116
  format,
119
117
  formatDensity,
120
118
  enableAccessibleFieldDOMStructure,
121
119
  selectedSections,
122
120
  onSelectedSectionsChange,
123
121
  timezone,
122
+ autoFocus: autoFocus && !props.open
123
+ }, pickerFieldProps, {
124
+ // onChange and value
125
+
126
+ // Forwarded props
127
+ className,
128
+ sx,
124
129
  label,
125
130
  name,
126
- autoFocus: autoFocus && !props.open,
127
131
  focused: open ? true : undefined
128
- }, inputRef ? {
132
+ }, isToolbarHidden && {
133
+ id: labelId
134
+ }, !!inputRef && {
129
135
  inputRef
130
- } : {}),
131
- ownerState: props
136
+ }),
137
+ ownerState
132
138
  });
133
139
 
134
140
  // TODO: Move to `useSlotProps` when https://github.com/mui/material-ui/pull/35088 will be merged
@@ -166,9 +172,7 @@ const useDesktopPicker = _ref => {
166
172
  }, innerSlotProps?.popper)
167
173
  });
168
174
  const handleFieldRef = (0, _useForkRef.default)(fieldRef, fieldProps.unstableFieldRef);
169
- const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickersProvider.PickersProvider, {
170
- contextValue: contextValue,
171
- localeText: localeText,
175
+ const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickerProvider.PickerProvider, (0, _extends2.default)({}, providerProps, {
172
176
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, fieldProps, {
173
177
  slots: slotsForField,
174
178
  slotProps: slotProps,
@@ -189,7 +193,7 @@ const useDesktopPicker = _ref => {
189
193
  children: renderCurrentView()
190
194
  }))
191
195
  }))]
192
- });
196
+ }));
193
197
  return {
194
198
  renderPicker
195
199
  };
@@ -25,7 +25,7 @@ const useField = params => {
25
25
  internalProps: {
26
26
  unstableFieldRef,
27
27
  minutesStep,
28
- enableAccessibleFieldDOMStructure = false,
28
+ enableAccessibleFieldDOMStructure = true,
29
29
  disabled = false,
30
30
  readOnly = false
31
31
  },
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _useControlled = _interopRequireDefault(require("@mui/utils/useControlled"));
12
12
  var _RtlProvider = require("@mui/system/RtlProvider");
13
- var _usePickersTranslations = require("../../../hooks/usePickersTranslations");
13
+ var _usePickerTranslations = require("../../../hooks/usePickerTranslations");
14
14
  var _useUtils = require("../useUtils");
15
15
  var _useField = require("./useField.utils");
16
16
  var _buildSectionsFromFormat = require("./buildSectionsFromFormat");
@@ -18,7 +18,7 @@ var _useValueWithTimezone = require("../useValueWithTimezone");
18
18
  var _getDefaultReferenceDate = require("../../utils/getDefaultReferenceDate");
19
19
  const useFieldState = params => {
20
20
  const utils = (0, _useUtils.useUtils)();
21
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
21
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
22
22
  const adapter = (0, _useUtils.useLocalizationContext)();
23
23
  const isRtl = (0, _RtlProvider.useRtl)();
24
24
  const {
@@ -38,7 +38,7 @@ const useFieldState = params => {
38
38
  onSelectedSectionsChange,
39
39
  shouldRespectLeadingZeros = false,
40
40
  timezone: timezoneProp,
41
- enableAccessibleFieldDOMStructure = false
41
+ enableAccessibleFieldDOMStructure = true
42
42
  }
43
43
  } = params;
44
44
  const {
@@ -49,6 +49,7 @@ const useFieldState = params => {
49
49
  timezone: timezoneProp,
50
50
  value: valueProp,
51
51
  defaultValue,
52
+ referenceDate: referenceDateProp,
52
53
  onChange,
53
54
  valueManager
54
55
  });
@@ -13,7 +13,7 @@ var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedE
13
13
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
14
14
  var _useField = require("./useField.utils");
15
15
  var _utils = require("../../utils/utils");
16
- var _usePickersTranslations = require("../../../hooks/usePickersTranslations");
16
+ var _usePickerTranslations = require("../../../hooks/usePickerTranslations");
17
17
  var _useUtils = require("../useUtils");
18
18
  const useFieldV7TextField = params => {
19
19
  const {
@@ -47,7 +47,7 @@ const useFieldV7TextField = params => {
47
47
  } = params;
48
48
  const sectionListRef = React.useRef(null);
49
49
  const handleSectionListRef = (0, _useForkRef.default)(inSectionListRef, sectionListRef);
50
- const translations = (0, _usePickersTranslations.usePickersTranslations)();
50
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
51
51
  const utils = (0, _useUtils.useUtils)();
52
52
  const id = (0, _useId.default)();
53
53
  const [focused, setFocused] = React.useState(false);
@@ -206,8 +206,9 @@ const useFieldV7TextField = params => {
206
206
  if (focused || !sectionListRef.current) {
207
207
  return;
208
208
  }
209
+ const activeElement = (0, _utils.getActiveElement)(document);
209
210
  setFocused(true);
210
- const isFocusInsideASection = sectionListRef.current.getSectionIndexFromDOMElement((0, _utils.getActiveElement)(document)) != null;
211
+ const isFocusInsideASection = sectionListRef.current.getSectionIndexFromDOMElement(activeElement) != null;
211
212
  if (!isFocusInsideASection) {
212
213
  setSelectedSections(sectionOrder.startIndex);
213
214
  }
@@ -16,7 +16,7 @@ var _PickersModalDialog = require("../../components/PickersModalDialog");
16
16
  var _usePicker = require("../usePicker");
17
17
  var _utils = require("../../utils/utils");
18
18
  var _PickersLayout = require("../../../PickersLayout");
19
- var _PickersProvider = require("../../components/PickersProvider");
19
+ var _PickerProvider = require("../../components/PickerProvider");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  const _excluded = ["props", "getOpenDialogAriaText"];
22
22
  /**
@@ -56,42 +56,49 @@ const useMobilePicker = _ref => {
56
56
  open,
57
57
  actions,
58
58
  layoutProps,
59
+ providerProps,
59
60
  renderCurrentView,
60
61
  fieldProps: pickerFieldProps,
61
- contextValue
62
+ ownerState
62
63
  } = (0, _usePicker.usePicker)((0, _extends2.default)({}, pickerParams, {
63
64
  props,
64
65
  fieldRef,
66
+ localeText,
65
67
  autoFocusView: true,
66
68
  additionalViewProps: {},
67
- wrapperVariant: 'mobile'
69
+ variant: 'mobile'
68
70
  }));
69
71
  const Field = slots.field;
70
72
  const fieldProps = (0, _useSlotProps.default)({
71
73
  elementType: Field,
72
74
  externalSlotProps: innerSlotProps?.field,
73
- additionalProps: (0, _extends2.default)({}, pickerFieldProps, isToolbarHidden && {
74
- id: labelId
75
- }, !(disabled || readOnly) && {
76
- onClick: actions.onOpen,
77
- onKeyDown: (0, _utils.onSpaceOrEnter)(actions.onOpen)
78
- }, {
75
+ additionalProps: (0, _extends2.default)({
76
+ // Internal props
79
77
  readOnly: readOnly ?? true,
80
78
  disabled,
81
- className,
82
- sx,
83
79
  format,
84
80
  formatDensity,
85
81
  enableAccessibleFieldDOMStructure,
86
82
  selectedSections,
87
83
  onSelectedSectionsChange,
88
- timezone,
84
+ timezone
85
+ }, pickerFieldProps, {
86
+ // onChange and value
87
+
88
+ // Forwarded props
89
+ className,
90
+ sx,
89
91
  label,
90
92
  name
91
- }, inputRef ? {
93
+ }, isToolbarHidden && {
94
+ id: labelId
95
+ }, !(disabled || readOnly) && {
96
+ onClick: actions.onOpen,
97
+ onKeyDown: (0, _utils.onSpaceOrEnter)(actions.onOpen)
98
+ }, !!inputRef && {
92
99
  inputRef
93
- } : {}),
94
- ownerState: props
100
+ }),
101
+ ownerState
95
102
  });
96
103
 
97
104
  // TODO: Move to `useSlotProps` when https://github.com/mui/material-ui/pull/35088 will be merged
@@ -119,9 +126,7 @@ const useMobilePicker = _ref => {
119
126
  }, innerSlotProps?.mobilePaper)
120
127
  });
121
128
  const handleFieldRef = (0, _useForkRef.default)(fieldRef, fieldProps.unstableFieldRef);
122
- const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickersProvider.PickersProvider, {
123
- contextValue: contextValue,
124
- localeText: localeText,
129
+ const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickerProvider.PickerProvider, (0, _extends2.default)({}, providerProps, {
125
130
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, fieldProps, {
126
131
  slots: slotsForField,
127
132
  slotProps: slotProps,
@@ -136,7 +141,7 @@ const useMobilePicker = _ref => {
136
141
  children: renderCurrentView()
137
142
  }))
138
143
  }))]
139
- });
144
+ }));
140
145
  return {
141
146
  renderPicker
142
147
  };
@@ -8,17 +8,18 @@ var _warning = require("@mui/x-internals/warning");
8
8
  var _usePickerValue = require("./usePickerValue");
9
9
  var _usePickerViews = require("./usePickerViews");
10
10
  var _usePickerLayoutProps = require("./usePickerLayoutProps");
11
- var _usePickerOwnerState = require("./usePickerOwnerState");
11
+ var _usePickerProvider = require("./usePickerProvider");
12
12
  const usePicker = ({
13
13
  props,
14
14
  valueManager,
15
15
  valueType,
16
- wrapperVariant,
16
+ variant,
17
17
  additionalViewProps,
18
18
  validator,
19
19
  autoFocusView,
20
20
  rendererInterceptor,
21
- fieldRef
21
+ fieldRef,
22
+ localeText
22
23
  }) => {
23
24
  if (process.env.NODE_ENV !== 'production') {
24
25
  if (props.renderInput != null) {
@@ -29,7 +30,7 @@ const usePicker = ({
29
30
  props,
30
31
  valueManager,
31
32
  valueType,
32
- wrapperVariant,
33
+ variant,
33
34
  validator
34
35
  });
35
36
  const pickerViewsResponse = (0, _usePickerViews.usePickerViews)({
@@ -42,13 +43,17 @@ const usePicker = ({
42
43
  });
43
44
  const pickerLayoutResponse = (0, _usePickerLayoutProps.usePickerLayoutProps)({
44
45
  props,
45
- wrapperVariant,
46
+ variant,
46
47
  propsFromPickerValue: pickerValueResponse.layoutProps,
47
48
  propsFromPickerViews: pickerViewsResponse.layoutProps
48
49
  });
49
- const pickerOwnerState = (0, _usePickerOwnerState.usePickerOwnerState)({
50
+ const providerProps = (0, _usePickerProvider.usePickerProvider)({
50
51
  props,
51
- pickerValueResponse
52
+ pickerValueResponse,
53
+ localeText,
54
+ valueManager,
55
+ variant,
56
+ views: pickerViewsResponse.views
52
57
  });
53
58
  return {
54
59
  // Picker value
@@ -61,10 +66,10 @@ const usePicker = ({
61
66
  shouldRestoreFocus: pickerViewsResponse.shouldRestoreFocus,
62
67
  // Picker layout
63
68
  layoutProps: pickerLayoutResponse.layoutProps,
64
- // Picker context
65
- contextValue: pickerValueResponse.contextValue,
69
+ // Picker provider
70
+ providerProps,
66
71
  // Picker owner state
67
- ownerState: pickerOwnerState
72
+ ownerState: providerProps.privateContextValue.ownerState
68
73
  };
69
74
  };
70
75
  exports.usePicker = usePicker;