@mui/x-date-pickers 7.22.1 → 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 +143 -92
  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 +4 -4
  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
@@ -12,7 +12,7 @@ import useId from '@mui/utils/useId';
12
12
  import { PickersPopper } from "../../components/PickersPopper.js";
13
13
  import { usePicker } from "../usePicker/index.js";
14
14
  import { PickersLayout } from "../../../PickersLayout/index.js";
15
- import { PickersProvider } from "../../components/PickersProvider.js";
15
+ import { PickerProvider } from "../../components/PickerProvider.js";
16
16
 
17
17
  /**
18
18
  * Hook managing all the single-date desktop pickers:
@@ -56,14 +56,15 @@ export const useDesktopPicker = _ref => {
56
56
  actions,
57
57
  hasUIView,
58
58
  layoutProps,
59
+ providerProps,
59
60
  renderCurrentView,
60
61
  shouldRestoreFocus,
61
62
  fieldProps: pickerFieldProps,
62
- contextValue,
63
63
  ownerState
64
64
  } = usePicker(_extends({}, pickerParams, {
65
65
  props,
66
66
  fieldRef,
67
+ localeText,
67
68
  autoFocusView: true,
68
69
  additionalViewProps: {},
69
70
  wrapperVariant: 'desktop'
@@ -75,7 +76,7 @@ export const useDesktopPicker = _ref => {
75
76
  additionalProps: {
76
77
  position: 'end'
77
78
  },
78
- ownerState: props
79
+ ownerState
79
80
  }),
80
81
  inputAdornmentProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
81
82
  const OpenPickerButton = slots.openPickerButton ?? IconButton;
@@ -88,7 +89,7 @@ export const useDesktopPicker = _ref => {
88
89
  'aria-label': getOpenDialogAriaText(pickerFieldProps.value),
89
90
  edge: inputAdornmentProps.position
90
91
  },
91
- ownerState: props
92
+ ownerState
92
93
  }),
93
94
  openPickerButtonProps = _objectWithoutPropertiesLoose(_useSlotProps2, _excluded3);
94
95
  const OpenPickerIcon = slots.openPickerIcon;
@@ -101,27 +102,32 @@ export const useDesktopPicker = _ref => {
101
102
  const fieldProps = useSlotProps({
102
103
  elementType: Field,
103
104
  externalSlotProps: innerSlotProps?.field,
104
- additionalProps: _extends({}, pickerFieldProps, isToolbarHidden && {
105
- id: labelId
106
- }, {
105
+ additionalProps: _extends({
106
+ // Internal props
107
107
  readOnly,
108
108
  disabled,
109
- className,
110
- sx,
111
109
  format,
112
110
  formatDensity,
113
111
  enableAccessibleFieldDOMStructure,
114
112
  selectedSections,
115
113
  onSelectedSectionsChange,
116
114
  timezone,
115
+ autoFocus: autoFocus && !props.open
116
+ }, pickerFieldProps, {
117
+ // onChange and value
118
+
119
+ // Forwarded props
120
+ className,
121
+ sx,
117
122
  label,
118
123
  name,
119
- autoFocus: autoFocus && !props.open,
120
124
  focused: open ? true : undefined
121
- }, inputRef ? {
125
+ }, isToolbarHidden && {
126
+ id: labelId
127
+ }, !!inputRef && {
122
128
  inputRef
123
- } : {}),
124
- ownerState: props
129
+ }),
130
+ ownerState
125
131
  });
126
132
 
127
133
  // TODO: Move to `useSlotProps` when https://github.com/mui/material-ui/pull/35088 will be merged
@@ -159,9 +165,7 @@ export const useDesktopPicker = _ref => {
159
165
  }, innerSlotProps?.popper)
160
166
  });
161
167
  const handleFieldRef = useForkRef(fieldRef, fieldProps.unstableFieldRef);
162
- const renderPicker = () => /*#__PURE__*/_jsxs(PickersProvider, {
163
- contextValue: contextValue,
164
- localeText: localeText,
168
+ const renderPicker = () => /*#__PURE__*/_jsxs(PickerProvider, _extends({}, providerProps, {
165
169
  children: [/*#__PURE__*/_jsx(Field, _extends({}, fieldProps, {
166
170
  slots: slotsForField,
167
171
  slotProps: slotProps,
@@ -182,7 +186,7 @@ export const useDesktopPicker = _ref => {
182
186
  children: renderCurrentView()
183
187
  }))
184
188
  }))]
185
- });
189
+ }));
186
190
  return {
187
191
  renderPicker
188
192
  };
@@ -17,7 +17,7 @@ export const useField = params => {
17
17
  internalProps: {
18
18
  unstableFieldRef,
19
19
  minutesStep,
20
- enableAccessibleFieldDOMStructure = false,
20
+ enableAccessibleFieldDOMStructure = true,
21
21
  disabled = false,
22
22
  readOnly = false
23
23
  },
@@ -571,7 +571,8 @@ export const parseSelectedSections = (selectedSections, sections) => {
571
571
  return 'all';
572
572
  }
573
573
  if (typeof selectedSections === 'string') {
574
- return sections.findIndex(section => section.type === selectedSections);
574
+ const index = sections.findIndex(section => section.type === selectedSections);
575
+ return index === -1 ? null : index;
575
576
  }
576
577
  return selectedSections;
577
578
  };
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import useControlled from '@mui/utils/useControlled';
4
4
  import { useRtl } from '@mui/system/RtlProvider';
5
- import { usePickersTranslations } from "../../../hooks/usePickersTranslations.js";
5
+ import { usePickerTranslations } from "../../../hooks/usePickerTranslations.js";
6
6
  import { useUtils, useLocalizationContext } from "../useUtils.js";
7
7
  import { mergeDateIntoReferenceDate, getSectionsBoundaries, validateSections, getDateFromDateSections, parseSelectedSections, getLocalizedDigits } from "./useField.utils.js";
8
8
  import { buildSectionsFromFormat } from "./buildSectionsFromFormat.js";
@@ -10,7 +10,7 @@ import { useValueWithTimezone } from "../useValueWithTimezone.js";
10
10
  import { getSectionTypeGranularity } from "../../utils/getDefaultReferenceDate.js";
11
11
  export const useFieldState = params => {
12
12
  const utils = useUtils();
13
- const translations = usePickersTranslations();
13
+ const translations = usePickerTranslations();
14
14
  const adapter = useLocalizationContext();
15
15
  const isRtl = useRtl();
16
16
  const {
@@ -30,7 +30,7 @@ export const useFieldState = params => {
30
30
  onSelectedSectionsChange,
31
31
  shouldRespectLeadingZeros = false,
32
32
  timezone: timezoneProp,
33
- enableAccessibleFieldDOMStructure = false
33
+ enableAccessibleFieldDOMStructure = true
34
34
  }
35
35
  } = params;
36
36
  const {
@@ -5,7 +5,7 @@ import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
5
5
  import useId from '@mui/utils/useId';
6
6
  import { getSectionValueNow, getSectionValueText, parseSelectedSections } from "./useField.utils.js";
7
7
  import { getActiveElement } from "../../utils/utils.js";
8
- import { usePickersTranslations } from "../../../hooks/usePickersTranslations.js";
8
+ import { usePickerTranslations } from "../../../hooks/usePickerTranslations.js";
9
9
  import { useUtils } from "../useUtils.js";
10
10
  export const useFieldV7TextField = params => {
11
11
  const {
@@ -39,7 +39,7 @@ export const useFieldV7TextField = params => {
39
39
  } = params;
40
40
  const sectionListRef = React.useRef(null);
41
41
  const handleSectionListRef = useForkRef(inSectionListRef, sectionListRef);
42
- const translations = usePickersTranslations();
42
+ const translations = usePickerTranslations();
43
43
  const utils = useUtils();
44
44
  const id = useId();
45
45
  const [focused, setFocused] = React.useState(false);
@@ -9,7 +9,7 @@ import { PickersModalDialog } from "../../components/PickersModalDialog.js";
9
9
  import { usePicker } from "../usePicker/index.js";
10
10
  import { onSpaceOrEnter } from "../../utils/utils.js";
11
11
  import { PickersLayout } from "../../../PickersLayout/index.js";
12
- import { PickersProvider } from "../../components/PickersProvider.js";
12
+ import { PickerProvider } from "../../components/PickerProvider.js";
13
13
 
14
14
  /**
15
15
  * Hook managing all the single-date mobile pickers:
@@ -49,12 +49,14 @@ export const useMobilePicker = _ref => {
49
49
  open,
50
50
  actions,
51
51
  layoutProps,
52
+ providerProps,
52
53
  renderCurrentView,
53
54
  fieldProps: pickerFieldProps,
54
- contextValue
55
+ ownerState
55
56
  } = usePicker(_extends({}, pickerParams, {
56
57
  props,
57
58
  fieldRef,
59
+ localeText,
58
60
  autoFocusView: true,
59
61
  additionalViewProps: {},
60
62
  wrapperVariant: 'mobile'
@@ -63,28 +65,33 @@ export const useMobilePicker = _ref => {
63
65
  const fieldProps = useSlotProps({
64
66
  elementType: Field,
65
67
  externalSlotProps: innerSlotProps?.field,
66
- additionalProps: _extends({}, pickerFieldProps, isToolbarHidden && {
67
- id: labelId
68
- }, !(disabled || readOnly) && {
69
- onClick: actions.onOpen,
70
- onKeyDown: onSpaceOrEnter(actions.onOpen)
71
- }, {
68
+ additionalProps: _extends({
69
+ // Internal props
72
70
  readOnly: readOnly ?? true,
73
71
  disabled,
74
- className,
75
- sx,
76
72
  format,
77
73
  formatDensity,
78
74
  enableAccessibleFieldDOMStructure,
79
75
  selectedSections,
80
76
  onSelectedSectionsChange,
81
- timezone,
77
+ timezone
78
+ }, pickerFieldProps, {
79
+ // onChange and value
80
+
81
+ // Forwarded props
82
+ className,
83
+ sx,
82
84
  label,
83
85
  name
84
- }, inputRef ? {
86
+ }, isToolbarHidden && {
87
+ id: labelId
88
+ }, !(disabled || readOnly) && {
89
+ onClick: actions.onOpen,
90
+ onKeyDown: onSpaceOrEnter(actions.onOpen)
91
+ }, !!inputRef && {
85
92
  inputRef
86
- } : {}),
87
- ownerState: props
93
+ }),
94
+ ownerState
88
95
  });
89
96
 
90
97
  // TODO: Move to `useSlotProps` when https://github.com/mui/material-ui/pull/35088 will be merged
@@ -112,9 +119,7 @@ export const useMobilePicker = _ref => {
112
119
  }, innerSlotProps?.mobilePaper)
113
120
  });
114
121
  const handleFieldRef = useForkRef(fieldRef, fieldProps.unstableFieldRef);
115
- const renderPicker = () => /*#__PURE__*/_jsxs(PickersProvider, {
116
- contextValue: contextValue,
117
- localeText: localeText,
122
+ const renderPicker = () => /*#__PURE__*/_jsxs(PickerProvider, _extends({}, providerProps, {
118
123
  children: [/*#__PURE__*/_jsx(Field, _extends({}, fieldProps, {
119
124
  slots: slotsForField,
120
125
  slotProps: slotProps,
@@ -129,7 +134,7 @@ export const useMobilePicker = _ref => {
129
134
  children: renderCurrentView()
130
135
  }))
131
136
  }))]
132
- });
137
+ }));
133
138
  return {
134
139
  renderPicker
135
140
  };
@@ -3,6 +3,7 @@ import { usePickerValue } from "./usePickerValue.js";
3
3
  import { usePickerViews } from "./usePickerViews.js";
4
4
  import { usePickerLayoutProps } from "./usePickerLayoutProps.js";
5
5
  import { usePickerOwnerState } from "./usePickerOwnerState.js";
6
+ import { usePickerProvider } from "./usePickerProvider.js";
6
7
  export const usePicker = ({
7
8
  props,
8
9
  valueManager,
@@ -12,7 +13,8 @@ export const usePicker = ({
12
13
  validator,
13
14
  autoFocusView,
14
15
  rendererInterceptor,
15
- fieldRef
16
+ fieldRef,
17
+ localeText
16
18
  }) => {
17
19
  if (process.env.NODE_ENV !== 'production') {
18
20
  if (props.renderInput != null) {
@@ -42,7 +44,13 @@ export const usePicker = ({
42
44
  });
43
45
  const pickerOwnerState = usePickerOwnerState({
44
46
  props,
45
- pickerValueResponse
47
+ pickerValueResponse,
48
+ valueManager
49
+ });
50
+ const providerProps = usePickerProvider({
51
+ pickerValueResponse,
52
+ ownerState: pickerOwnerState,
53
+ localeText
46
54
  });
47
55
  return {
48
56
  // Picker value
@@ -55,8 +63,8 @@ export const usePicker = ({
55
63
  shouldRestoreFocus: pickerViewsResponse.shouldRestoreFocus,
56
64
  // Picker layout
57
65
  layoutProps: pickerLayoutResponse.layoutProps,
58
- // Picker context
59
- contextValue: pickerValueResponse.contextValue,
66
+ // Picker provider
67
+ providerProps,
60
68
  // Picker owner state
61
69
  ownerState: pickerOwnerState
62
70
  };
@@ -1,13 +1,16 @@
1
1
  import * as React from 'react';
2
+ import { useUtils } from "../useUtils.js";
2
3
  export function usePickerOwnerState(parameters) {
3
4
  const {
4
5
  props,
5
- pickerValueResponse
6
+ pickerValueResponse,
7
+ valueManager
6
8
  } = parameters;
9
+ const utils = useUtils();
7
10
  return React.useMemo(() => ({
8
- value: pickerValueResponse.viewProps.value,
9
- open: pickerValueResponse.open,
10
- disabled: props.disabled ?? false,
11
- readOnly: props.readOnly ?? false
12
- }), [pickerValueResponse.viewProps.value, pickerValueResponse.open, props.disabled, props.readOnly]);
11
+ isPickerValueEmpty: valueManager.areValuesEqual(utils, pickerValueResponse.viewProps.value, valueManager.emptyValue),
12
+ isPickerOpen: pickerValueResponse.open,
13
+ isPickerDisabled: props.disabled ?? false,
14
+ isPickerReadOnly: props.readOnly ?? false
15
+ }), [utils, valueManager, pickerValueResponse.viewProps.value, pickerValueResponse.open, props.disabled, props.readOnly]);
13
16
  }
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ export function usePickerProvider(parameters) {
3
+ const {
4
+ pickerValueResponse,
5
+ ownerState,
6
+ localeText
7
+ } = parameters;
8
+ const contextValue = React.useMemo(() => ({
9
+ onOpen: pickerValueResponse.actions.onOpen,
10
+ onClose: pickerValueResponse.actions.onClose,
11
+ open: pickerValueResponse.open
12
+ }), [pickerValueResponse.actions.onOpen, pickerValueResponse.actions.onClose, pickerValueResponse.open]);
13
+ const privateContextValue = React.useMemo(() => ({
14
+ ownerState
15
+ }), [ownerState]);
16
+ return {
17
+ localeText,
18
+ contextValue,
19
+ privateContextValue
20
+ };
21
+ }
@@ -5,6 +5,7 @@ import { useOpenState } from "../useOpenState.js";
5
5
  import { useLocalizationContext, useUtils } from "../useUtils.js";
6
6
  import { useValidation } from "../../../validation/index.js";
7
7
  import { useValueWithTimezone } from "../useValueWithTimezone.js";
8
+
8
9
  /**
9
10
  * Decide if the new value should be published
10
11
  * The published value will be passed to `onChange` if defined.
@@ -333,17 +334,11 @@ export const usePickerValue = ({
333
334
  onSelectShortcut: handleSelectShortcut,
334
335
  isValid
335
336
  });
336
- const contextValue = React.useMemo(() => ({
337
- onOpen: handleOpen,
338
- onClose: handleClose,
339
- open: isOpen
340
- }), [isOpen, handleClose, handleOpen]);
341
337
  return {
342
338
  open: isOpen,
343
339
  fieldProps: fieldResponse,
344
340
  viewProps: viewResponse,
345
341
  layoutProps: layoutResponse,
346
- actions,
347
- contextValue
342
+ actions
348
343
  };
349
344
  };
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { PickerPrivateContext } from "../components/PickerProvider.js";
5
+
6
+ /**
7
+ * Returns the private context passed by the picker that wraps the current component.
8
+ */
9
+ export const usePickerPrivateContext = () => React.useContext(PickerPrivateContext);
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import { styled } from '@mui/material/styles';
7
7
  import { usePicker } from "../usePicker/index.js";
8
- import { LocalizationProvider } from "../../../LocalizationProvider/index.js";
8
+ import { PickerProvider } from "../../components/PickerProvider.js";
9
9
  import { PickersLayout } from "../../../PickersLayout/index.js";
10
10
  import { DIALOG_WIDTH } from "../../constants/dimensions.js";
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -40,17 +40,18 @@ export const useStaticPicker = _ref => {
40
40
  } = props;
41
41
  const {
42
42
  layoutProps,
43
+ providerProps,
43
44
  renderCurrentView
44
45
  } = usePicker(_extends({}, pickerParams, {
45
46
  props,
46
47
  autoFocusView: autoFocus ?? false,
47
48
  fieldRef: undefined,
49
+ localeText,
48
50
  additionalViewProps: {},
49
51
  wrapperVariant: displayStaticWrapperAs
50
52
  }));
51
53
  const Layout = slots?.layout ?? PickerStaticLayout;
52
- const renderPicker = () => /*#__PURE__*/_jsx(LocalizationProvider, {
53
- localeText: localeText,
54
+ const renderPicker = () => /*#__PURE__*/_jsx(PickerProvider, _extends({}, providerProps, {
54
55
  children: /*#__PURE__*/_jsx(Layout, _extends({}, layoutProps, slotProps?.layout, {
55
56
  slots: slots,
56
57
  slotProps: slotProps,
@@ -59,7 +60,7 @@ export const useStaticPicker = _ref => {
59
60
  ref: ref,
60
61
  children: renderCurrentView()
61
62
  }))
62
- });
63
+ }));
63
64
  return {
64
65
  renderPicker
65
66
  };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import useEventCallback from '@mui/utils/useEventCallback';
3
- import { unstable_useControlled as useControlled } from '@mui/utils';
3
+ import useControlled from '@mui/utils/useControlled';
4
4
  let warnedOnceNotValidView = false;
5
5
  export function useViews({
6
6
  onChange,
@@ -1,5 +1,5 @@
1
1
  export { PickersArrowSwitcher } from "./components/PickersArrowSwitcher/PickersArrowSwitcher.js";
2
- export { PickersProvider } from "./components/PickersProvider.js";
2
+ export { PickerProvider } from "./components/PickerProvider.js";
3
3
  export { PickersModalDialog } from "./components/PickersModalDialog.js";
4
4
  export { PickersPopper } from "./components/PickersPopper.js";
5
5
  export { PickersToolbar } from "./components/PickersToolbar.js";
@@ -13,6 +13,7 @@ export { DAY_MARGIN, DIALOG_WIDTH, VIEW_HEIGHT } from "./constants/dimensions.js
13
13
  export { useControlledValueWithTimezone } from "./hooks/useValueWithTimezone.js";
14
14
  export { useField, createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections } from "./hooks/useField/index.js";
15
15
  export { usePicker } from "./hooks/usePicker/index.js";
16
+ export { usePickerPrivateContext } from "./hooks/usePickerPrivateContext.js";
16
17
  export { useStaticPicker } from "./hooks/useStaticPicker/index.js";
17
18
  export { useLocalizationContext, useDefaultDates, useUtils, useNow } from "./hooks/useUtils.js";
18
19
  export { useViews } from "./hooks/useViews.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,4 @@
1
1
  export * from "./fields.js";
2
- export * from "./common.js";
2
+ export * from "./common.js";
3
+ export * from "./value.js";
4
+ export * from "./formProps.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -33,7 +33,7 @@ const beBYPickers = {
33
33
  timePickerToolbarTitle: 'Абраць час',
34
34
  dateRangePickerToolbarTitle: 'Абраць каляндарны перыяд',
35
35
  // Clock labels
36
- clockLabelText: (view, time, utils, formattedTime) => `Абярыце ${views[view]}. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Час не абраны' : `Абраны час ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
36
+ clockLabelText: (view, formattedTime) => `Абярыце ${views[view]}. ${!formattedTime ? 'Час не абраны' : `Абраны час ${formattedTime}`}`,
37
37
  hoursClockNumberText: hours => `${hours} гадзін`,
38
38
  minutesClockNumberText: minutes => `${minutes} хвілін`,
39
39
  secondsClockNumberText: seconds => `${seconds} секунд`,
@@ -45,8 +45,8 @@ const beBYPickers = {
45
45
  calendarWeekNumberAriaLabelText: weekNumber => `Тыдзень ${weekNumber}`,
46
46
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
47
47
  // Open picker labels
48
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Абраць дату, абрана дата ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Абраць дату',
49
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Абраць час, абрыны час ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Абраць час',
48
+ openDatePickerDialogue: formattedDate => formattedDate ? `Абраць дату, абрана дата ${formattedDate}` : 'Абраць дату',
49
+ openTimePickerDialogue: formattedTime => formattedTime ? `Абраць час, абрыны час ${formattedTime}` : 'Абраць час',
50
50
  // fieldClearLabel: 'Clear',
51
51
 
52
52
  // Table labels
@@ -31,7 +31,7 @@ const bgBGPickers = {
31
31
  timePickerToolbarTitle: 'Избери час',
32
32
  dateRangePickerToolbarTitle: 'Избери времеви период',
33
33
  // Clock labels
34
- clockLabelText: (view, time, adapter) => `Избери ${views[view]}. ${time === null ? 'Не е избран час' : `Избраният час е ${adapter.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 bgBGPickers = {
43
43
  calendarWeekNumberAriaLabelText: weekNumber => `Седмица ${weekNumber}`,
44
44
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
45
45
  // Open picker labels
46
- openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Избери дата, избраната дата е ${utils.format(value, 'fullDate')}` : 'Избери дата',
47
- openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Избери час, избраният час е ${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 caESPickers = {
31
31
  timePickerToolbarTitle: 'Seleccionar hora',
32
32
  dateRangePickerToolbarTitle: 'Seleccionar rang de dates',
33
33
  // Clock labels
34
- clockLabelText: (view, time, utils, formattedTime) => `Selecciona ${views[view]}. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Hora no seleccionada' : `L'hora seleccionada és ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
34
+ clockLabelText: (view, formattedTime) => `Selecciona ${views[view]}. ${!formattedTime ? 'Hora no seleccionada' : `L'hora seleccionada és ${formattedTime}`}`,
35
35
  hoursClockNumberText: hours => `${hours} hores`,
36
36
  minutesClockNumberText: minutes => `${minutes} minuts`,
37
37
  secondsClockNumberText: seconds => `${seconds} segons`,
@@ -43,8 +43,8 @@ const caESPickers = {
43
43
  calendarWeekNumberAriaLabelText: weekNumber => `Setmana ${weekNumber}`,
44
44
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
45
45
  // Open picker labels
46
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Tria la data, la data triada és ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Tria la data',
47
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Tria l'hora, l'hora triada és ${formattedTime ?? utils.format(value, 'fullTime')}` : "Tria l'hora",
46
+ openDatePickerDialogue: formattedDate => formattedDate ? `Tria la data, la data triada és ${formattedDate}` : 'Tria la data',
47
+ openTimePickerDialogue: formattedTime => formattedTime ? `Tria l'hora, l'hora triada és ${formattedTime}` : "Tria l'hora",
48
48
  fieldClearLabel: 'Netega el valor',
49
49
  // Table labels
50
50
  timeTableLabel: 'tria la data',
@@ -32,7 +32,7 @@ const csCZPickers = {
32
32
  timePickerToolbarTitle: 'Vyberte čas',
33
33
  dateRangePickerToolbarTitle: 'Vyberete rozmezí dat',
34
34
  // Clock labels
35
- clockLabelText: (view, time, utils, formattedTime) => `${timeViews[view] ?? view} vybrány. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Není vybrán čas' : `Vybraný čas je ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
35
+ clockLabelText: (view, formattedTime) => `${timeViews[view] ?? view} vybrány. ${!formattedTime ? 'Není vybrán čas' : `Vybraný čas je ${formattedTime}`}`,
36
36
  hoursClockNumberText: hours => `${hours} hodin`,
37
37
  minutesClockNumberText: minutes => `${minutes} minut`,
38
38
  secondsClockNumberText: seconds => `${seconds} sekund`,
@@ -44,8 +44,8 @@ const csCZPickers = {
44
44
  calendarWeekNumberAriaLabelText: weekNumber => `${weekNumber} týden v roce`,
45
45
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
46
46
  // Open picker labels
47
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Vyberte datum, vybrané datum je ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Vyberte datum',
48
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Vyberte čas, vybraný čas je ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Vyberte čas',
47
+ openDatePickerDialogue: formattedDate => formattedDate ? `Vyberte datum, vybrané datum je ${formattedDate}` : 'Vyberte datum',
48
+ openTimePickerDialogue: formattedTime => formattedTime ? `Vyberte čas, vybraný čas je ${formattedTime}` : 'Vyberte čas',
49
49
  fieldClearLabel: 'Vymazat',
50
50
  // Table labels
51
51
  timeTableLabel: 'vyberte čas',
@@ -32,7 +32,7 @@ const daDKPickers = {
32
32
  timePickerToolbarTitle: 'Vælg tidspunkt',
33
33
  dateRangePickerToolbarTitle: 'Vælg datointerval',
34
34
  // Clock labels
35
- clockLabelText: (view, time, utils, formattedTime) => `Vælg ${timeViews[view] ?? view}. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Intet tidspunkt valgt' : `Valgte tidspunkt er ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
35
+ clockLabelText: (view, formattedTime) => `Vælg ${timeViews[view] ?? view}. ${!formattedTime ? 'Intet tidspunkt valgt' : `Valgte tidspunkt er ${formattedTime}`}`,
36
36
  hoursClockNumberText: hours => `${hours} timer`,
37
37
  minutesClockNumberText: minutes => `${minutes} minutter`,
38
38
  secondsClockNumberText: seconds => `${seconds} sekunder`,
@@ -44,8 +44,8 @@ const daDKPickers = {
44
44
  calendarWeekNumberAriaLabelText: weekNumber => `Uge ${weekNumber}`,
45
45
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
46
46
  // Open picker labels
47
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Vælg dato, valgte dato er ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Vælg dato',
48
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Vælg tidspunkt, valgte tidspunkt er ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Vælg tidspunkt',
47
+ openDatePickerDialogue: formattedDate => formattedDate ? `Vælg dato, valgte dato er ${formattedDate}` : 'Vælg dato',
48
+ openTimePickerDialogue: formattedTime => formattedTime ? `Vælg tidspunkt, valgte tidspunkt er ${formattedTime}` : 'Vælg tidspunkt',
49
49
  fieldClearLabel: 'ryd felt',
50
50
  // Table labels
51
51
  timeTableLabel: 'vælg tidspunkt',
@@ -32,7 +32,7 @@ const deDEPickers = {
32
32
  timePickerToolbarTitle: 'Uhrzeit auswählen',
33
33
  dateRangePickerToolbarTitle: 'Datumsbereich auswählen',
34
34
  // Clock labels
35
- clockLabelText: (view, time, utils, formattedTime) => `${timeViews[view] ?? view} auswählen. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Keine Uhrzeit ausgewählt' : `Gewählte Uhrzeit ist ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
35
+ clockLabelText: (view, formattedTime) => `${timeViews[view] ?? view} auswählen. ${!formattedTime ? 'Keine Uhrzeit ausgewählt' : `Gewählte Uhrzeit ist ${formattedTime}`}`,
36
36
  hoursClockNumberText: hours => `${hours} ${timeViews.hours}`,
37
37
  minutesClockNumberText: minutes => `${minutes} ${timeViews.minutes}`,
38
38
  secondsClockNumberText: seconds => `${seconds} ${timeViews.seconds}`,
@@ -44,8 +44,8 @@ const deDEPickers = {
44
44
  calendarWeekNumberAriaLabelText: weekNumber => `Woche ${weekNumber}`,
45
45
  calendarWeekNumberText: weekNumber => `${weekNumber}`,
46
46
  // Open picker labels
47
- openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Datum auswählen, gewähltes Datum ist ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Datum auswählen',
48
- openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Uhrzeit auswählen, gewählte Uhrzeit ist ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Uhrzeit auswählen',
47
+ openDatePickerDialogue: formattedDate => formattedDate ? `Datum auswählen, gewähltes Datum ist ${formattedDate}` : 'Datum auswählen',
48
+ openTimePickerDialogue: formattedTime => formattedTime ? `Uhrzeit auswählen, gewählte Uhrzeit ist ${formattedTime}` : 'Uhrzeit auswählen',
49
49
  fieldClearLabel: 'Wert leeren',
50
50
  // Table labels
51
51
  timeTableLabel: 'Uhrzeit auswählen',