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

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 (576) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +2 -4
  2. package/AdapterDateFns/AdapterDateFns.js +49 -47
  3. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -1
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -4
  5. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  6. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts} +2 -2
  7. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  8. package/AdapterDateFnsJalaliV2/index.d.ts +1 -0
  9. package/AdapterDateFnsJalaliV2/index.js +1 -0
  10. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  11. package/{AdapterDateFnsV3/AdapterDateFnsV3.d.ts → AdapterDateFnsV2/AdapterDateFnsV2.d.ts} +2 -2
  12. package/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  13. package/AdapterDateFnsV2/index.d.ts +1 -0
  14. package/AdapterDateFnsV2/index.js +1 -0
  15. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  16. package/AdapterDayjs/AdapterDayjs.d.ts +1 -1
  17. package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
  18. package/AdapterMoment/AdapterMoment.d.ts +1 -1
  19. package/AdapterMoment/AdapterMoment.js +10 -0
  20. package/CHANGELOG.md +1903 -231
  21. package/DateCalendar/DateCalendar.js +4 -4
  22. package/DateCalendar/DateCalendar.types.d.ts +2 -1
  23. package/DateCalendar/DayCalendar.js +2 -0
  24. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  25. package/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  26. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  27. package/DateCalendar/PickersSlideTransition.js +12 -5
  28. package/DateCalendar/useCalendarState.d.ts +6 -4
  29. package/DateField/DateField.js +29 -33
  30. package/DateField/DateField.types.d.ts +7 -15
  31. package/DateField/useDateField.d.ts +1 -1
  32. package/DateField/useDateField.js +14 -11
  33. package/DatePicker/DatePicker.js +1 -1
  34. package/DatePicker/DatePicker.types.d.ts +7 -3
  35. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  36. package/DatePicker/DatePickerToolbar.js +17 -33
  37. package/DatePicker/shared.d.ts +6 -5
  38. package/DateTimeField/DateTimeField.js +29 -33
  39. package/DateTimeField/DateTimeField.types.d.ts +7 -16
  40. package/DateTimeField/useDateTimeField.d.ts +1 -1
  41. package/DateTimeField/useDateTimeField.js +14 -11
  42. package/DateTimePicker/DateTimePicker.js +2 -2
  43. package/DateTimePicker/DateTimePicker.types.d.ts +4 -5
  44. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
  45. package/DateTimePicker/DateTimePickerTabs.js +15 -20
  46. package/DateTimePicker/DateTimePickerToolbar.d.ts +16 -5
  47. package/DateTimePicker/DateTimePickerToolbar.js +88 -80
  48. package/DateTimePicker/shared.d.ts +8 -8
  49. package/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  50. package/DesktopDatePicker/DesktopDatePicker.js +11 -17
  51. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
  52. package/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  53. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
  54. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +2 -2
  55. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  56. package/DesktopTimePicker/DesktopTimePicker.js +6 -22
  57. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  58. package/DigitalClock/DigitalClock.js +13 -11
  59. package/DigitalClock/DigitalClock.types.d.ts +8 -2
  60. package/MobileDatePicker/MobileDatePicker.js +4 -14
  61. package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
  62. package/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  63. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
  64. package/MobileTimePicker/MobileTimePicker.js +4 -14
  65. package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
  66. package/MonthCalendar/MonthCalendar.d.ts +1 -1
  67. package/MonthCalendar/MonthCalendar.js +31 -11
  68. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  69. package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
  70. package/{modern/MonthCalendar/PickersMonth.js → MonthCalendar/MonthCalendarButton.js} +20 -61
  71. package/MonthCalendar/index.d.ts +0 -3
  72. package/MonthCalendar/index.js +1 -2
  73. package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
  74. package/MonthCalendar/monthCalendarClasses.js +1 -1
  75. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  76. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +6 -6
  77. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +4 -4
  78. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  79. package/PickersActionBar/PickersActionBar.d.ts +6 -7
  80. package/PickersActionBar/PickersActionBar.js +26 -17
  81. package/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  82. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +3 -4
  83. package/PickersLayout/PickersLayout.d.ts +7 -5
  84. package/PickersLayout/PickersLayout.js +23 -42
  85. package/PickersLayout/PickersLayout.types.d.ts +20 -22
  86. package/PickersLayout/usePickerLayout.d.ts +5 -4
  87. package/PickersLayout/usePickerLayout.js +26 -53
  88. package/PickersSectionList/PickersSectionList.js +21 -16
  89. package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
  90. package/PickersShortcuts/PickersShortcuts.d.ts +9 -11
  91. package/PickersShortcuts/PickersShortcuts.js +21 -11
  92. package/PickersShortcuts/index.d.ts +1 -1
  93. package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
  94. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  95. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
  96. package/PickersTextField/PickersInput/PickersInput.js +20 -14
  97. package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
  98. package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  99. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
  100. package/PickersTextField/PickersInputBase/PickersInputBase.js +43 -37
  101. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  102. package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
  103. package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  104. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  105. package/PickersTextField/PickersTextField.js +75 -62
  106. package/PickersTextField/PickersTextField.types.d.ts +43 -4
  107. package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
  108. package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  109. package/README.md +8 -5
  110. package/StaticDatePicker/StaticDatePicker.js +2 -2
  111. package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
  112. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  113. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
  114. package/StaticTimePicker/StaticTimePicker.js +2 -2
  115. package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
  116. package/TimeClock/Clock.d.ts +4 -0
  117. package/TimeClock/Clock.js +27 -27
  118. package/TimeClock/ClockNumber.js +15 -11
  119. package/TimeClock/ClockPointer.d.ts +6 -1
  120. package/TimeClock/ClockPointer.js +16 -10
  121. package/TimeClock/TimeClock.js +30 -12
  122. package/TimeField/TimeField.js +28 -32
  123. package/TimeField/TimeField.types.d.ts +7 -16
  124. package/TimeField/useTimeField.d.ts +1 -1
  125. package/TimeField/useTimeField.js +14 -11
  126. package/TimePicker/TimePicker.js +2 -2
  127. package/TimePicker/TimePicker.types.d.ts +4 -5
  128. package/TimePicker/TimePickerToolbar.d.ts +1 -3
  129. package/TimePicker/TimePickerToolbar.js +36 -51
  130. package/TimePicker/shared.d.ts +6 -6
  131. package/YearCalendar/YearCalendar.js +46 -13
  132. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  133. package/YearCalendar/YearCalendarButton.d.ts +23 -0
  134. package/{modern/YearCalendar/PickersYear.js → YearCalendar/YearCalendarButton.js} +20 -59
  135. package/YearCalendar/index.d.ts +0 -3
  136. package/YearCalendar/index.js +1 -2
  137. package/YearCalendar/yearCalendarClasses.d.ts +7 -1
  138. package/YearCalendar/yearCalendarClasses.js +1 -1
  139. package/hooks/index.d.ts +2 -0
  140. package/hooks/index.js +3 -1
  141. package/hooks/useClearableField.d.ts +5 -3
  142. package/hooks/useClearableField.js +4 -2
  143. package/hooks/useIsValidValue.d.ts +7 -0
  144. package/hooks/useIsValidValue.js +11 -0
  145. package/hooks/useParsedFormat.d.ts +9 -7
  146. package/hooks/useParsedFormat.js +11 -13
  147. package/hooks/usePickerActionsContext.d.ts +7 -0
  148. package/hooks/usePickerActionsContext.js +15 -0
  149. package/hooks/usePickerContext.d.ts +5 -1
  150. package/hooks/usePickerContext.js +2 -2
  151. package/hooks/useSplitFieldProps.d.ts +12 -3
  152. package/hooks/useSplitFieldProps.js +8 -3
  153. package/index.d.ts +1 -0
  154. package/index.js +3 -2
  155. package/internals/components/PickerFieldUI.d.ts +133 -0
  156. package/internals/components/PickerFieldUI.js +317 -0
  157. package/internals/components/{PickersPopper.d.ts → PickerPopper/PickerPopper.d.ts} +26 -25
  158. package/{modern/internals/components/PickersPopper.js → internals/components/PickerPopper/PickerPopper.js} +47 -47
  159. package/internals/components/PickerPopper/index.d.ts +4 -0
  160. package/internals/components/PickerPopper/index.js +2 -0
  161. package/internals/components/PickerPopper/pickerPopperClasses.d.ts +9 -0
  162. package/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  163. package/internals/components/PickerProvider.d.ts +86 -32
  164. package/internals/components/PickerProvider.js +25 -7
  165. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  166. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +11 -8
  167. package/internals/components/PickersModalDialog.d.ts +1 -3
  168. package/internals/components/PickersModalDialog.js +9 -3
  169. package/internals/components/PickersToolbar.d.ts +2 -3
  170. package/internals/components/PickersToolbar.js +15 -12
  171. package/internals/components/PickersToolbarButton.js +4 -6
  172. package/internals/components/PickersToolbarText.js +11 -13
  173. package/internals/hooks/date-helpers-hooks.js +4 -3
  174. package/internals/hooks/useClockReferenceDate.d.ts +2 -1
  175. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  176. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  177. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -38
  178. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  179. package/internals/hooks/useField/index.d.ts +2 -0
  180. package/internals/hooks/useField/index.js +2 -1
  181. package/internals/hooks/useField/useField.d.ts +3 -3
  182. package/internals/hooks/useField/useField.js +17 -4
  183. package/internals/hooks/useField/useField.types.d.ts +55 -48
  184. package/internals/hooks/useField/useField.utils.d.ts +4 -3
  185. package/internals/hooks/useField/useField.utils.js +2 -2
  186. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +6 -5
  187. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
  188. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  189. package/internals/hooks/useField/useFieldState.d.ts +9 -8
  190. package/internals/hooks/useField/useFieldState.js +2 -3
  191. package/internals/hooks/useField/useFieldV6TextField.d.ts +4 -3
  192. package/internals/hooks/useField/useFieldV6TextField.js +5 -2
  193. package/internals/hooks/useField/useFieldV7TextField.js +6 -3
  194. package/internals/hooks/useFieldOwnerState.d.ts +6 -0
  195. package/internals/hooks/useFieldOwnerState.js +16 -0
  196. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  197. package/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  198. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +15 -22
  199. package/internals/hooks/useNullablePickerContext.d.ts +5 -0
  200. package/internals/hooks/useNullablePickerContext.js +10 -0
  201. package/internals/hooks/useOpenState.d.ts +3 -2
  202. package/internals/hooks/useOpenState.js +11 -9
  203. package/internals/hooks/usePicker/index.d.ts +1 -1
  204. package/internals/hooks/usePicker/usePicker.d.ts +3 -4
  205. package/internals/hooks/usePicker/usePicker.js +4 -20
  206. package/internals/hooks/usePicker/usePicker.types.d.ts +10 -10
  207. package/internals/hooks/usePicker/usePickerProvider.d.ts +45 -10
  208. package/internals/hooks/usePicker/usePickerProvider.js +50 -16
  209. package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
  210. package/internals/hooks/usePicker/usePickerValue.js +84 -214
  211. package/internals/hooks/usePicker/usePickerValue.types.d.ts +130 -75
  212. package/internals/hooks/usePicker/usePickerViews.d.ts +59 -41
  213. package/internals/hooks/usePicker/usePickerViews.js +31 -20
  214. package/internals/hooks/useReduceAnimations.d.ts +2 -0
  215. package/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  216. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -1
  217. package/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  218. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -13
  219. package/internals/hooks/useToolbarOwnerState.d.ts +10 -0
  220. package/internals/hooks/useToolbarOwnerState.js +13 -0
  221. package/internals/hooks/useUtils.d.ts +4 -3
  222. package/internals/hooks/useUtils.js +1 -1
  223. package/internals/hooks/useValueWithTimezone.d.ts +5 -4
  224. package/internals/hooks/useViews.d.ts +5 -5
  225. package/internals/index.d.ts +27 -18
  226. package/internals/index.js +13 -8
  227. package/internals/models/common.d.ts +1 -1
  228. package/internals/models/fields.d.ts +8 -24
  229. package/internals/models/index.d.ts +1 -0
  230. package/internals/models/index.js +2 -1
  231. package/internals/models/manager.d.ts +15 -0
  232. package/internals/models/manager.js +1 -0
  233. package/internals/models/pickers.d.ts +1 -0
  234. package/internals/models/pickers.js +1 -0
  235. package/internals/models/props/basePickerProps.d.ts +3 -33
  236. package/internals/models/props/tabs.d.ts +0 -13
  237. package/internals/models/props/time.d.ts +2 -1
  238. package/internals/models/props/toolbar.d.ts +1 -19
  239. package/internals/models/value.d.ts +9 -0
  240. package/internals/utils/date-utils.d.ts +1 -1
  241. package/internals/utils/date-utils.js +1 -1
  242. package/internals/utils/utils.d.ts +3 -0
  243. package/internals/utils/utils.js +11 -1
  244. package/internals/utils/valueManagers.d.ts +4 -3
  245. package/internals/utils/valueManagers.js +4 -4
  246. package/locales/index.d.ts +1 -0
  247. package/locales/index.js +1 -0
  248. package/locales/nbNO.js +15 -19
  249. package/locales/nlNL.js +7 -7
  250. package/locales/roRO.js +15 -18
  251. package/locales/utils/getPickersLocalization.d.ts +0 -7
  252. package/locales/utils/getPickersLocalization.js +0 -13
  253. package/locales/zhTW.d.ts +80 -0
  254. package/locales/zhTW.js +73 -0
  255. package/managers/index.d.ts +6 -0
  256. package/managers/index.js +3 -0
  257. package/managers/package.json +6 -0
  258. package/managers/useDateManager.d.ts +27 -0
  259. package/managers/useDateManager.js +55 -0
  260. package/managers/useDateTimeManager.d.ts +28 -0
  261. package/managers/useDateTimeManager.js +60 -0
  262. package/managers/useTimeManager.d.ts +28 -0
  263. package/managers/useTimeManager.js +51 -0
  264. package/models/adapters.d.ts +5 -5
  265. package/models/fields.d.ts +33 -9
  266. package/models/index.d.ts +1 -0
  267. package/models/index.js +1 -0
  268. package/models/manager.d.ts +87 -0
  269. package/models/manager.js +1 -0
  270. package/models/pickers.d.ts +7 -0
  271. package/models/validation.d.ts +2 -1
  272. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  273. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  274. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  275. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  276. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  277. package/modern/AdapterDateFnsV2/index.js +1 -0
  278. package/modern/AdapterMoment/AdapterMoment.js +10 -0
  279. package/modern/DateCalendar/DateCalendar.js +4 -4
  280. package/modern/DateCalendar/DayCalendar.js +2 -0
  281. package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  282. package/modern/DateCalendar/PickersSlideTransition.js +12 -5
  283. package/modern/DateField/DateField.js +29 -33
  284. package/modern/DateField/useDateField.js +14 -11
  285. package/modern/DatePicker/DatePicker.js +1 -1
  286. package/modern/DatePicker/DatePickerToolbar.js +17 -33
  287. package/modern/DateTimeField/DateTimeField.js +29 -33
  288. package/modern/DateTimeField/useDateTimeField.js +14 -11
  289. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  290. package/modern/DateTimePicker/DateTimePickerTabs.js +15 -20
  291. package/modern/DateTimePicker/DateTimePickerToolbar.js +88 -80
  292. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  293. package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -17
  294. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  295. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  296. package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
  297. package/modern/DigitalClock/DigitalClock.js +13 -11
  298. package/modern/MobileDatePicker/MobileDatePicker.js +4 -14
  299. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  300. package/modern/MobileTimePicker/MobileTimePicker.js +4 -14
  301. package/modern/MonthCalendar/MonthCalendar.js +31 -11
  302. package/{MonthCalendar/PickersMonth.js → modern/MonthCalendar/MonthCalendarButton.js} +20 -61
  303. package/modern/MonthCalendar/index.js +1 -2
  304. package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
  305. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  306. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  307. package/modern/PickersActionBar/PickersActionBar.js +26 -17
  308. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  309. package/modern/PickersLayout/PickersLayout.js +23 -42
  310. package/modern/PickersLayout/usePickerLayout.js +26 -53
  311. package/modern/PickersSectionList/PickersSectionList.js +21 -16
  312. package/modern/PickersShortcuts/PickersShortcuts.js +21 -11
  313. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  314. package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
  315. package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  316. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +43 -37
  317. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  318. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  319. package/modern/PickersTextField/PickersTextField.js +75 -62
  320. package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  321. package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
  322. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  323. package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
  324. package/modern/TimeClock/Clock.js +27 -27
  325. package/modern/TimeClock/ClockNumber.js +15 -11
  326. package/modern/TimeClock/ClockPointer.js +16 -10
  327. package/modern/TimeClock/TimeClock.js +30 -12
  328. package/modern/TimeField/TimeField.js +28 -32
  329. package/modern/TimeField/useTimeField.js +14 -11
  330. package/modern/TimePicker/TimePicker.js +2 -2
  331. package/modern/TimePicker/TimePickerToolbar.js +36 -51
  332. package/modern/YearCalendar/YearCalendar.js +46 -13
  333. package/{YearCalendar/PickersYear.js → modern/YearCalendar/YearCalendarButton.js} +20 -59
  334. package/modern/YearCalendar/index.js +1 -2
  335. package/modern/YearCalendar/yearCalendarClasses.js +1 -1
  336. package/modern/hooks/index.js +3 -1
  337. package/modern/hooks/useClearableField.js +4 -2
  338. package/modern/hooks/useIsValidValue.js +11 -0
  339. package/modern/hooks/useParsedFormat.js +11 -13
  340. package/modern/hooks/usePickerActionsContext.js +15 -0
  341. package/modern/hooks/usePickerContext.js +2 -2
  342. package/modern/hooks/useSplitFieldProps.js +8 -3
  343. package/modern/index.js +3 -2
  344. package/modern/internals/components/PickerFieldUI.js +317 -0
  345. package/{internals/components/PickersPopper.js → modern/internals/components/PickerPopper/PickerPopper.js} +47 -47
  346. package/modern/internals/components/PickerPopper/index.js +2 -0
  347. package/modern/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  348. package/modern/internals/components/PickerProvider.js +25 -7
  349. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  350. package/modern/internals/components/PickersModalDialog.js +9 -3
  351. package/modern/internals/components/PickersToolbar.js +15 -12
  352. package/modern/internals/components/PickersToolbarButton.js +4 -6
  353. package/modern/internals/components/PickersToolbarText.js +11 -13
  354. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  355. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  356. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  357. package/modern/internals/hooks/useField/index.js +2 -1
  358. package/modern/internals/hooks/useField/useField.js +17 -4
  359. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  360. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  361. package/modern/internals/hooks/useField/useFieldState.js +2 -3
  362. package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
  363. package/modern/internals/hooks/useField/useFieldV7TextField.js +6 -3
  364. package/modern/internals/hooks/useFieldOwnerState.js +16 -0
  365. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  366. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  367. package/modern/internals/hooks/useOpenState.js +11 -9
  368. package/modern/internals/hooks/usePicker/usePicker.js +4 -20
  369. package/modern/internals/hooks/usePicker/usePickerProvider.js +50 -16
  370. package/modern/internals/hooks/usePicker/usePickerValue.js +84 -214
  371. package/modern/internals/hooks/usePicker/usePickerViews.js +31 -20
  372. package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  373. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  374. package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
  375. package/modern/internals/hooks/useUtils.js +1 -1
  376. package/modern/internals/index.js +13 -8
  377. package/modern/internals/models/index.js +2 -1
  378. package/modern/internals/models/manager.js +1 -0
  379. package/modern/internals/models/pickers.js +1 -0
  380. package/modern/internals/utils/date-utils.js +1 -1
  381. package/modern/internals/utils/utils.js +11 -1
  382. package/modern/internals/utils/valueManagers.js +4 -4
  383. package/modern/locales/index.js +1 -0
  384. package/modern/locales/nbNO.js +15 -19
  385. package/modern/locales/nlNL.js +7 -7
  386. package/modern/locales/roRO.js +15 -18
  387. package/modern/locales/utils/getPickersLocalization.js +0 -13
  388. package/modern/locales/zhTW.js +73 -0
  389. package/modern/managers/index.js +3 -0
  390. package/modern/managers/useDateManager.js +55 -0
  391. package/modern/managers/useDateTimeManager.js +60 -0
  392. package/modern/managers/useTimeManager.js +51 -0
  393. package/modern/models/index.js +1 -0
  394. package/modern/models/manager.js +1 -0
  395. package/modern/validation/useValidation.js +1 -1
  396. package/modern/validation/validateDate.js +8 -0
  397. package/modern/validation/validateDateTime.js +8 -0
  398. package/modern/validation/validateTime.js +8 -0
  399. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  400. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  401. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  402. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  403. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  404. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  405. package/node/AdapterMoment/AdapterMoment.js +10 -0
  406. package/node/DateCalendar/DateCalendar.js +4 -4
  407. package/node/DateCalendar/DayCalendar.js +1 -0
  408. package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  409. package/node/DateCalendar/PickersSlideTransition.js +12 -5
  410. package/node/DateField/DateField.js +29 -33
  411. package/node/DateField/useDateField.js +13 -10
  412. package/node/DatePicker/DatePicker.js +1 -1
  413. package/node/DatePicker/DatePickerToolbar.js +17 -33
  414. package/node/DateTimeField/DateTimeField.js +29 -33
  415. package/node/DateTimeField/useDateTimeField.js +13 -10
  416. package/node/DateTimePicker/DateTimePicker.js +2 -2
  417. package/node/DateTimePicker/DateTimePickerTabs.js +15 -20
  418. package/node/DateTimePicker/DateTimePickerToolbar.js +89 -80
  419. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  420. package/node/DesktopDatePicker/DesktopDatePicker.js +11 -17
  421. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  422. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -35
  423. package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
  424. package/node/DigitalClock/DigitalClock.js +13 -11
  425. package/node/MobileDatePicker/MobileDatePicker.js +4 -14
  426. package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  427. package/node/MobileTimePicker/MobileTimePicker.js +4 -14
  428. package/node/MonthCalendar/MonthCalendar.js +31 -11
  429. package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  430. package/node/MonthCalendar/index.js +1 -8
  431. package/node/MonthCalendar/monthCalendarClasses.js +1 -1
  432. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  433. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
  434. package/node/PickersActionBar/PickersActionBar.js +28 -19
  435. package/node/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  436. package/node/PickersLayout/PickersLayout.js +23 -42
  437. package/node/PickersLayout/usePickerLayout.js +30 -57
  438. package/node/PickersSectionList/PickersSectionList.js +21 -16
  439. package/node/PickersShortcuts/PickersShortcuts.js +21 -11
  440. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  441. package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
  442. package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  443. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +43 -37
  444. package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  445. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  446. package/node/PickersTextField/PickersTextField.js +75 -62
  447. package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
  448. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  449. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  450. package/node/StaticTimePicker/StaticTimePicker.js +2 -2
  451. package/node/TimeClock/Clock.js +27 -27
  452. package/node/TimeClock/ClockNumber.js +15 -11
  453. package/node/TimeClock/ClockPointer.js +15 -10
  454. package/node/TimeClock/TimeClock.js +30 -12
  455. package/node/TimeField/TimeField.js +28 -32
  456. package/node/TimeField/useTimeField.js +13 -10
  457. package/node/TimePicker/TimePicker.js +2 -2
  458. package/node/TimePicker/TimePickerToolbar.js +36 -51
  459. package/node/YearCalendar/YearCalendar.js +45 -12
  460. package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  461. package/node/YearCalendar/index.js +1 -8
  462. package/node/YearCalendar/yearCalendarClasses.js +1 -1
  463. package/node/hooks/index.js +15 -1
  464. package/node/hooks/useClearableField.js +4 -2
  465. package/node/hooks/useIsValidValue.js +18 -0
  466. package/node/hooks/useParsedFormat.js +11 -13
  467. package/node/hooks/usePickerActionsContext.js +22 -0
  468. package/node/hooks/usePickerContext.js +5 -4
  469. package/node/hooks/useSplitFieldProps.js +7 -2
  470. package/node/index.js +13 -1
  471. package/node/internals/components/PickerFieldUI.js +329 -0
  472. package/node/internals/components/{PickersPopper.js → PickerPopper/PickerPopper.js} +48 -48
  473. package/node/internals/components/PickerPopper/index.js +25 -0
  474. package/node/internals/components/PickerPopper/pickerPopperClasses.js +14 -0
  475. package/node/internals/components/PickerProvider.js +27 -9
  476. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  477. package/node/internals/components/PickersModalDialog.js +9 -3
  478. package/node/internals/components/PickersToolbar.js +15 -12
  479. package/node/internals/components/PickersToolbarButton.js +4 -6
  480. package/node/internals/components/PickersToolbarText.js +10 -12
  481. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  482. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +37 -122
  483. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  484. package/node/internals/hooks/useField/index.js +8 -1
  485. package/node/internals/hooks/useField/useField.js +16 -3
  486. package/node/internals/hooks/useField/useField.utils.js +2 -2
  487. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +56 -0
  488. package/node/internals/hooks/useField/useFieldState.js +2 -3
  489. package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
  490. package/node/internals/hooks/useField/useFieldV7TextField.js +6 -3
  491. package/node/internals/hooks/useFieldOwnerState.js +24 -0
  492. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
  493. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  494. package/node/internals/hooks/useOpenState.js +12 -9
  495. package/node/internals/hooks/usePicker/usePicker.js +4 -20
  496. package/node/internals/hooks/usePicker/usePickerProvider.js +51 -17
  497. package/node/internals/hooks/usePicker/usePickerValue.js +84 -213
  498. package/node/internals/hooks/usePicker/usePickerViews.js +31 -21
  499. package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
  500. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  501. package/node/internals/hooks/useToolbarOwnerState.js +21 -0
  502. package/node/internals/hooks/useUtils.js +1 -1
  503. package/node/internals/index.js +87 -34
  504. package/node/internals/models/index.js +11 -0
  505. package/node/internals/models/manager.js +5 -0
  506. package/node/internals/models/pickers.js +5 -0
  507. package/node/internals/utils/date-utils.js +1 -1
  508. package/node/internals/utils/utils.js +14 -2
  509. package/node/internals/utils/valueManagers.js +4 -4
  510. package/node/locales/index.js +11 -0
  511. package/node/locales/nbNO.js +15 -19
  512. package/node/locales/nlNL.js +7 -7
  513. package/node/locales/roRO.js +15 -18
  514. package/node/locales/utils/getPickersLocalization.js +2 -16
  515. package/node/locales/zhTW.js +79 -0
  516. package/node/managers/index.js +26 -0
  517. package/node/managers/useDateManager.js +63 -0
  518. package/node/managers/useDateTimeManager.js +68 -0
  519. package/node/managers/useTimeManager.js +59 -0
  520. package/node/models/index.js +11 -0
  521. package/node/models/manager.js +5 -0
  522. package/node/validation/useValidation.js +1 -1
  523. package/node/validation/validateDate.js +8 -0
  524. package/node/validation/validateDateTime.js +8 -0
  525. package/node/validation/validateTime.js +8 -0
  526. package/package.json +5 -5
  527. package/themeAugmentation/components.d.ts +3 -11
  528. package/themeAugmentation/overrides.d.ts +5 -7
  529. package/themeAugmentation/props.d.ts +7 -9
  530. package/validation/extractValidationProps.d.ts +1 -1
  531. package/validation/useValidation.d.ts +7 -6
  532. package/validation/useValidation.js +1 -1
  533. package/validation/validateDate.d.ts +12 -3
  534. package/validation/validateDate.js +8 -0
  535. package/validation/validateDateTime.d.ts +12 -4
  536. package/validation/validateDateTime.js +8 -0
  537. package/validation/validateTime.d.ts +12 -3
  538. package/validation/validateTime.js +8 -0
  539. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  540. package/AdapterDateFnsJalaliV3/index.js +0 -1
  541. package/AdapterDateFnsV3/index.d.ts +0 -1
  542. package/AdapterDateFnsV3/index.js +0 -1
  543. package/MonthCalendar/PickersMonth.d.ts +0 -28
  544. package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
  545. package/MonthCalendar/pickersMonthClasses.js +0 -5
  546. package/YearCalendar/PickersYear.d.ts +0 -27
  547. package/YearCalendar/pickersYearClasses.d.ts +0 -13
  548. package/YearCalendar/pickersYearClasses.js +0 -5
  549. package/internals/components/pickersPopperClasses.d.ts +0 -9
  550. package/internals/components/pickersPopperClasses.js +0 -5
  551. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  552. package/internals/hooks/defaultizedFieldProps.js +0 -40
  553. package/internals/hooks/useDefaultReduceAnimations.d.ts +0 -2
  554. package/internals/hooks/useIsLandscape.d.ts +0 -4
  555. package/internals/hooks/useIsLandscape.js +0 -35
  556. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +0 -32
  557. package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  558. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  559. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  560. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  561. package/modern/AdapterDateFnsV3/index.js +0 -1
  562. package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
  563. package/modern/YearCalendar/pickersYearClasses.js +0 -5
  564. package/modern/internals/components/pickersPopperClasses.js +0 -5
  565. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  566. package/modern/internals/hooks/useIsLandscape.js +0 -35
  567. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  568. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  569. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  570. package/node/MonthCalendar/pickersMonthClasses.js +0 -12
  571. package/node/YearCalendar/pickersYearClasses.js +0 -12
  572. package/node/internals/components/pickersPopperClasses.js +0 -12
  573. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  574. package/node/internals/hooks/useIsLandscape.js +0 -43
  575. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +0 -38
  576. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
@@ -12,7 +12,6 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
- var _RtlProvider = require("@mui/system/RtlProvider");
16
15
  var _styles = require("@mui/material/styles");
17
16
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
18
17
  var _PickersToolbarText = require("../internals/components/PickersToolbarText");
@@ -25,19 +24,19 @@ var _dateHelpersHooks = require("../internals/hooks/date-helpers-hooks");
25
24
  var _timePickerToolbarClasses = require("./timePickerToolbarClasses");
26
25
  var _dateUtils = require("../internals/utils/date-utils");
27
26
  var _hooks = require("../hooks");
27
+ var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
28
28
  var _jsxRuntime = require("react/jsx-runtime");
29
- const _excluded = ["ampm", "ampmInClock", "value", "isLandscape", "onChange", "view", "onViewChange", "views", "className"];
30
- const useUtilityClasses = ownerState => {
29
+ const _excluded = ["ampm", "ampmInClock", "className", "classes"];
30
+ const useUtilityClasses = (classes, ownerState) => {
31
31
  const {
32
- isLandscape,
33
- classes,
34
- isRtl
32
+ pickerOrientation,
33
+ toolbarDirection
35
34
  } = ownerState;
36
35
  const slots = {
37
36
  root: ['root'],
38
37
  separator: ['separator'],
39
- hourMinuteLabel: ['hourMinuteLabel', isLandscape && 'hourMinuteLabelLandscape', isRtl && 'hourMinuteLabelReverse'],
40
- ampmSelection: ['ampmSelection', isLandscape && 'ampmLandscape'],
38
+ hourMinuteLabel: ['hourMinuteLabel', pickerOrientation === 'landscape' && 'hourMinuteLabelLandscape', toolbarDirection === 'rtl' && 'hourMinuteLabelReverse'],
39
+ ampmSelection: ['ampmSelection', pickerOrientation === 'landscape' && 'ampmLandscape'],
41
40
  ampmLabel: ['ampmLabel']
42
41
  };
43
42
  return (0, _composeClasses.default)(slots, _timePickerToolbarClasses.getTimePickerToolbarUtilityClass, classes);
@@ -69,14 +68,14 @@ const TimePickerToolbarHourMinuteLabel = (0, _styles.styled)('div', {
69
68
  alignItems: 'flex-end',
70
69
  variants: [{
71
70
  props: {
72
- isRtl: true
71
+ toolbarDirection: 'rtl'
73
72
  },
74
73
  style: {
75
74
  flexDirection: 'row-reverse'
76
75
  }
77
76
  }, {
78
77
  props: {
79
- isLandscape: true
78
+ pickerOrientation: 'landscape'
80
79
  },
81
80
  style: {
82
81
  marginTop: 'auto'
@@ -101,7 +100,7 @@ const TimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
101
100
  },
102
101
  variants: [{
103
102
  props: {
104
- isLandscape: true
103
+ pickerOrientation: 'landscape'
105
104
  },
106
105
  style: {
107
106
  margin: '4px 0 auto',
@@ -130,32 +129,36 @@ function TimePickerToolbar(inProps) {
130
129
  const {
131
130
  ampm,
132
131
  ampmInClock,
133
- value,
134
- isLandscape,
135
- onChange,
136
- view,
137
- onViewChange,
138
- views,
139
- className
132
+ className,
133
+ classes: classesProp
140
134
  } = props,
141
135
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
142
136
  const utils = (0, _useUtils.useUtils)();
143
137
  const translations = (0, _usePickerTranslations.usePickerTranslations)();
144
- const isRtl = (0, _RtlProvider.useRtl)();
138
+ const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
139
+ const classes = useUtilityClasses(classesProp, ownerState);
145
140
  const {
141
+ value,
142
+ setValue,
146
143
  disabled,
147
- readOnly
144
+ readOnly,
145
+ view,
146
+ setView,
147
+ views
148
148
  } = (0, _hooks.usePickerContext)();
149
149
  const showAmPmControl = Boolean(ampm && !ampmInClock && views.includes('hours'));
150
150
  const {
151
151
  meridiemMode,
152
152
  handleMeridiemChange
153
- } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, onChange);
154
- const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
155
- const ownerState = (0, _extends2.default)({}, props, {
156
- isRtl
157
- });
158
- const classes = useUtilityClasses(ownerState);
153
+ } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, newValue => setValue(newValue, {
154
+ changeImportance: 'set'
155
+ }));
156
+ const formatSection = format => {
157
+ if (!utils.isValid(value)) {
158
+ return '--';
159
+ }
160
+ return utils.format(value, format);
161
+ };
159
162
  const separator = /*#__PURE__*/(0, _jsxRuntime.jsx)(TimePickerToolbarSeparator, {
160
163
  tabIndex: -1,
161
164
  value: ":",
@@ -166,7 +169,6 @@ function TimePickerToolbar(inProps) {
166
169
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimePickerToolbarRoot, (0, _extends2.default)({
167
170
  landscapeDirection: "row",
168
171
  toolbarTitle: translations.timePickerToolbarTitle,
169
- isLandscape: isLandscape,
170
172
  ownerState: ownerState,
171
173
  className: (0, _clsx.default)(classes.root, className)
172
174
  }, other, {
@@ -176,20 +178,20 @@ function TimePickerToolbar(inProps) {
176
178
  children: [(0, _utils.arrayIncludes)(views, 'hours') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
177
179
  tabIndex: -1,
178
180
  variant: "h3",
179
- onClick: () => onViewChange('hours'),
181
+ onClick: () => setView('hours'),
180
182
  selected: view === 'hours',
181
- value: value ? formatHours(value) : '--'
183
+ value: formatSection(ampm ? 'hours12h' : 'hours24h')
182
184
  }), (0, _utils.arrayIncludes)(views, ['hours', 'minutes']) && separator, (0, _utils.arrayIncludes)(views, 'minutes') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
183
185
  tabIndex: -1,
184
186
  variant: "h3",
185
- onClick: () => onViewChange('minutes'),
187
+ onClick: () => setView('minutes'),
186
188
  selected: view === 'minutes',
187
- value: value ? utils.format(value, 'minutes') : '--'
189
+ value: formatSection('minutes')
188
190
  }), (0, _utils.arrayIncludes)(views, ['minutes', 'seconds']) && separator, (0, _utils.arrayIncludes)(views, 'seconds') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
189
191
  variant: "h3",
190
- onClick: () => onViewChange('seconds'),
192
+ onClick: () => setView('seconds'),
191
193
  selected: view === 'seconds',
192
- value: value ? utils.format(value, 'seconds') : '--'
194
+ value: formatSection('seconds')
193
195
  })]
194
196
  }), showAmPmControl && /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimePickerToolbarAmPmSelection, {
195
197
  className: classes.ampmSelection,
@@ -231,14 +233,6 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
231
233
  * @default `true` for Desktop, `false` for Mobile.
232
234
  */
233
235
  hidden: _propTypes.default.bool,
234
- isLandscape: _propTypes.default.bool.isRequired,
235
- onChange: _propTypes.default.func.isRequired,
236
- /**
237
- * Callback called when a toolbar is clicked
238
- * @template TView
239
- * @param {TView} view The view to open
240
- */
241
- onViewChange: _propTypes.default.func.isRequired,
242
236
  /**
243
237
  * The system prop that allows defining system overrides as well as additional CSS styles.
244
238
  */
@@ -252,14 +246,5 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
252
246
  * Toolbar value placeholder—it is displayed when the value is empty.
253
247
  * @default "––"
254
248
  */
255
- toolbarPlaceholder: _propTypes.default.node,
256
- value: _propTypes.default.object,
257
- /**
258
- * Currently visible picker view.
259
- */
260
- view: _propTypes.default.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired,
261
- /**
262
- * Available views.
263
- */
264
- views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired).isRequired
249
+ toolbarPlaceholder: _propTypes.default.node
265
250
  } : void 0;
@@ -13,9 +13,10 @@ var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _clsx = _interopRequireDefault(require("clsx"));
15
15
  var _RtlProvider = require("@mui/system/RtlProvider");
16
+ var _createStyled = require("@mui/system/createStyled");
16
17
  var _styles = require("@mui/material/styles");
17
18
  var _utils = require("@mui/utils");
18
- var _PickersYear = require("./PickersYear");
19
+ var _YearCalendarButton = require("./YearCalendarButton");
19
20
  var _useUtils = require("../internals/hooks/useUtils");
20
21
  var _yearCalendarClasses = require("./yearCalendarClasses");
21
22
  var _dateUtils = require("../internals/utils/date-utils");
@@ -44,6 +45,7 @@ function useYearCalendarDefaultizedProps(props, name) {
44
45
  disableFuture: false
45
46
  }, themeProps, {
46
47
  yearsPerRow: themeProps.yearsPerRow ?? 3,
48
+ yearsOrder: themeProps.yearsOrder ?? 'asc',
47
49
  minDate: (0, _dateUtils.applyDefaultDate)(utils, themeProps.minDate, defaultDates.minDate),
48
50
  maxDate: (0, _dateUtils.applyDefaultDate)(utils, themeProps.maxDate, defaultDates.maxDate)
49
51
  });
@@ -51,19 +53,43 @@ function useYearCalendarDefaultizedProps(props, name) {
51
53
  const YearCalendarRoot = (0, _styles.styled)('div', {
52
54
  name: 'MuiYearCalendar',
53
55
  slot: 'Root',
54
- overridesResolver: (props, styles) => styles.root
56
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'yearsPerRow'
55
57
  })({
56
58
  display: 'flex',
57
- flexDirection: 'row',
58
59
  flexWrap: 'wrap',
60
+ justifyContent: 'space-evenly',
61
+ rowGap: 12,
62
+ padding: '6px 0',
59
63
  overflowY: 'auto',
60
64
  height: '100%',
61
- padding: '0 4px',
62
65
  width: _dimensions.DIALOG_WIDTH,
63
66
  maxHeight: _dimensions.MAX_CALENDAR_HEIGHT,
64
67
  // avoid padding increasing width over defined
65
68
  boxSizing: 'border-box',
66
- position: 'relative'
69
+ position: 'relative',
70
+ variants: [{
71
+ props: {
72
+ yearsPerRow: 3
73
+ },
74
+ style: {
75
+ columnGap: 24
76
+ }
77
+ }, {
78
+ props: {
79
+ yearsPerRow: 4
80
+ },
81
+ style: {
82
+ columnGap: 0,
83
+ padding: '0 2px'
84
+ }
85
+ }]
86
+ });
87
+ const YearCalendarButtonFiller = (0, _styles.styled)('div', {
88
+ name: 'MuiYearCalendar',
89
+ slot: 'ButtonFiller'
90
+ })({
91
+ height: 36,
92
+ width: 72
67
93
  });
68
94
  /**
69
95
  * Demos:
@@ -94,7 +120,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
94
120
  onYearFocus,
95
121
  hasFocus,
96
122
  onFocusedViewChange,
97
- yearsOrder = 'asc',
123
+ yearsOrder,
98
124
  yearsPerRow,
99
125
  timezone: timezoneProp,
100
126
  gridLabelId,
@@ -246,18 +272,23 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
246
272
  if (yearsOrder === 'desc') {
247
273
  yearRange.reverse();
248
274
  }
249
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(YearCalendarRoot, (0, _extends2.default)({
275
+ let fillerAmount = yearsPerRow - yearRange.length % yearsPerRow;
276
+ if (fillerAmount === yearsPerRow) {
277
+ fillerAmount = 0;
278
+ }
279
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(YearCalendarRoot, (0, _extends2.default)({
250
280
  ref: handleRef,
251
281
  className: (0, _clsx.default)(classes.root, className),
252
282
  ownerState: ownerState,
253
283
  role: "radiogroup",
254
- "aria-labelledby": gridLabelId
284
+ "aria-labelledby": gridLabelId,
285
+ yearsPerRow: yearsPerRow
255
286
  }, other, {
256
- children: yearRange.map(year => {
287
+ children: [yearRange.map(year => {
257
288
  const yearNumber = utils.getYear(year);
258
289
  const isSelected = yearNumber === selectedYear;
259
290
  const isDisabled = disabled || isYearDisabled(year);
260
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersYear.PickersYear, {
291
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_YearCalendarButton.YearCalendarButton, {
261
292
  selected: isSelected,
262
293
  value: yearNumber,
263
294
  onClick: handleYearSelection,
@@ -268,12 +299,14 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
268
299
  onFocus: handleYearFocus,
269
300
  onBlur: handleYearBlur,
270
301
  "aria-current": todayYear === yearNumber ? 'date' : undefined,
271
- yearsPerRow: yearsPerRow,
272
302
  slots: slots,
273
303
  slotProps: slotProps,
304
+ classes: classesProp,
274
305
  children: utils.format(year, 'year')
275
306
  }, utils.format(year, 'year'));
276
- })
307
+ }), Array.from({
308
+ length: fillerAmount
309
+ }, (_, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(YearCalendarButtonFiller, {}, index))]
277
310
  }));
278
311
  });
279
312
  process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
@@ -5,51 +5,31 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.PickersYear = void 0;
8
+ exports.YearCalendarButton = void 0;
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
- var _clsx = _interopRequireDefault(require("clsx"));
13
12
  var _styles = require("@mui/material/styles");
14
13
  var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
15
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
15
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
17
- var _pickersYearClasses = require("./pickersYearClasses");
18
16
  var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
17
+ var _yearCalendarClasses = require("./yearCalendarClasses");
19
18
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["autoFocus", "className", "classes", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "yearsPerRow", "slots", "slotProps"];
19
+ const _excluded = ["autoFocus", "classes", "disabled", "selected", "value", "onClick", "onKeyDown", "onFocus", "onBlur", "slots", "slotProps"];
21
20
  const useUtilityClasses = (classes, ownerState) => {
22
21
  const slots = {
23
- root: ['root'],
24
- yearButton: ['yearButton', ownerState.isYearDisabled && 'disabled', ownerState.isYearSelected && 'selected']
22
+ button: ['button', ownerState.isYearDisabled && 'disabled', ownerState.isYearSelected && 'selected']
25
23
  };
26
- return (0, _composeClasses.default)(slots, _pickersYearClasses.getPickersYearUtilityClass, classes);
24
+ return (0, _composeClasses.default)(slots, _yearCalendarClasses.getYearCalendarUtilityClass, classes);
27
25
  };
28
- const PickersYearRoot = (0, _styles.styled)('div', {
29
- name: 'MuiPickersYear',
30
- slot: 'Root',
31
- overridesResolver: (_, styles) => [styles.root]
32
- })({
33
- display: 'flex',
34
- alignItems: 'center',
35
- justifyContent: 'center',
36
- flexBasis: '33.3%',
37
- variants: [{
38
- props: {
39
- yearsPerRow: 4
40
- },
41
- style: {
42
- flexBasis: '25%'
43
- }
44
- }]
45
- });
46
- const YearCalendarButton = (0, _styles.styled)('button', {
47
- name: 'MuiPickersYear',
48
- slot: 'YearButton',
49
- overridesResolver: (_, styles) => [styles.yearButton, {
50
- [`&.${_pickersYearClasses.pickersYearClasses.disabled}`]: styles.disabled
26
+ const DefaultYearButton = (0, _styles.styled)('button', {
27
+ name: 'MuiYearCalendar',
28
+ slot: 'Button',
29
+ overridesResolver: (_, styles) => [styles.button, {
30
+ [`&.${_yearCalendarClasses.yearCalendarClasses.disabled}`]: styles.disabled
51
31
  }, {
52
- [`&.${_pickersYearClasses.pickersYearClasses.selected}`]: styles.selected
32
+ [`&.${_yearCalendarClasses.yearCalendarClasses.selected}`]: styles.selected
53
33
  }]
54
34
  })(({
55
35
  theme
@@ -59,7 +39,6 @@ const YearCalendarButton = (0, _styles.styled)('button', {
59
39
  border: 0,
60
40
  outline: 0
61
41
  }, theme.typography.subtitle1, {
62
- margin: '6px 0',
63
42
  height: 36,
64
43
  width: 72,
65
44
  borderRadius: 18,
@@ -74,10 +53,10 @@ const YearCalendarButton = (0, _styles.styled)('button', {
74
53
  cursor: 'auto',
75
54
  pointerEvents: 'none'
76
55
  },
77
- [`&.${_pickersYearClasses.pickersYearClasses.disabled}`]: {
56
+ [`&.${_yearCalendarClasses.yearCalendarClasses.disabled}`]: {
78
57
  color: (theme.vars || theme).palette.text.secondary
79
58
  },
80
- [`&.${_pickersYearClasses.pickersYearClasses.selected}`]: {
59
+ [`&.${_yearCalendarClasses.yearCalendarClasses.selected}`]: {
81
60
  color: (theme.vars || theme).palette.primary.contrastText,
82
61
  backgroundColor: (theme.vars || theme).palette.primary.main,
83
62
  '&:focus, &:hover': {
@@ -89,28 +68,17 @@ const YearCalendarButton = (0, _styles.styled)('button', {
89
68
  /**
90
69
  * @ignore - internal component.
91
70
  */
92
- const PickersYear = exports.PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps) {
93
- const props = (0, _styles.useThemeProps)({
94
- props: inProps,
95
- name: 'MuiPickersYear'
96
- });
71
+ const YearCalendarButton = exports.YearCalendarButton = /*#__PURE__*/React.memo(function YearCalendarButton(props) {
97
72
  const {
98
73
  autoFocus,
99
- className,
100
74
  classes: classesProp,
101
- children,
102
- disabled = false,
103
- selected = false,
75
+ disabled,
76
+ selected,
104
77
  value,
105
- tabIndex,
106
78
  onClick,
107
79
  onKeyDown,
108
80
  onFocus,
109
81
  onBlur,
110
- 'aria-current': ariaCurrent
111
- // We don't want to forward this prop to the root element
112
- ,
113
-
114
82
  slots,
115
83
  slotProps
116
84
  } = props,
@@ -132,18 +100,16 @@ const PickersYear = exports.PickersYear = /*#__PURE__*/React.memo(function Picke
132
100
  ref.current?.focus();
133
101
  }
134
102
  }, [autoFocus]);
135
- const YearButton = slots?.yearButton ?? YearCalendarButton;
103
+ const YearButton = slots?.yearButton ?? DefaultYearButton;
136
104
  const yearButtonProps = (0, _useSlotProps.default)({
137
105
  elementType: YearButton,
138
106
  externalSlotProps: slotProps?.yearButton,
107
+ externalForwardedProps: other,
139
108
  additionalProps: {
140
- children,
141
109
  disabled,
142
- tabIndex,
143
110
  ref,
144
111
  type: 'button',
145
112
  role: 'radio',
146
- 'aria-current': ariaCurrent,
147
113
  'aria-checked': selected,
148
114
  onClick: event => onClick(event, value),
149
115
  onKeyDown: event => onKeyDown(event, value),
@@ -151,12 +117,7 @@ const PickersYear = exports.PickersYear = /*#__PURE__*/React.memo(function Picke
151
117
  onBlur: event => onBlur(event, value)
152
118
  },
153
119
  ownerState,
154
- className: classes.yearButton
120
+ className: classes.button
155
121
  });
156
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersYearRoot, (0, _extends2.default)({
157
- className: (0, _clsx.default)(classes.root, className),
158
- ownerState: ownerState
159
- }, other, {
160
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(YearButton, (0, _extends2.default)({}, yearButtonProps))
161
- }));
122
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(YearButton, (0, _extends2.default)({}, yearButtonProps));
162
123
  });
@@ -15,12 +15,6 @@ Object.defineProperty(exports, "getYearCalendarUtilityClass", {
15
15
  return _yearCalendarClasses.getYearCalendarUtilityClass;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "pickersYearClasses", {
19
- enumerable: true,
20
- get: function () {
21
- return _pickersYearClasses.pickersYearClasses;
22
- }
23
- });
24
18
  Object.defineProperty(exports, "yearCalendarClasses", {
25
19
  enumerable: true,
26
20
  get: function () {
@@ -28,5 +22,4 @@ Object.defineProperty(exports, "yearCalendarClasses", {
28
22
  }
29
23
  });
30
24
  var _YearCalendar = require("./YearCalendar");
31
- var _yearCalendarClasses = require("./yearCalendarClasses");
32
- var _pickersYearClasses = require("./pickersYearClasses");
25
+ var _yearCalendarClasses = require("./yearCalendarClasses");
@@ -9,4 +9,4 @@ var _utils = require("@mui/utils");
9
9
  function getYearCalendarUtilityClass(slot) {
10
10
  return (0, _utils.unstable_generateUtilityClass)('MuiYearCalendar', slot);
11
11
  }
12
- const yearCalendarClasses = exports.yearCalendarClasses = (0, _utils.unstable_generateUtilityClasses)('MuiYearCalendar', ['root']);
12
+ const yearCalendarClasses = exports.yearCalendarClasses = (0, _utils.unstable_generateUtilityClasses)('MuiYearCalendar', ['root', 'button', 'disabled', 'selected']);
@@ -9,12 +9,24 @@ Object.defineProperty(exports, "useClearableField", {
9
9
  return _useClearableField.useClearableField;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "useIsValidValue", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useIsValidValue.useIsValidValue;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "useParsedFormat", {
13
19
  enumerable: true,
14
20
  get: function () {
15
21
  return _useParsedFormat.useParsedFormat;
16
22
  }
17
23
  });
24
+ Object.defineProperty(exports, "usePickerActionsContext", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _usePickerActionsContext.usePickerActionsContext;
28
+ }
29
+ });
18
30
  Object.defineProperty(exports, "usePickerContext", {
19
31
  enumerable: true,
20
32
  get: function () {
@@ -37,4 +49,6 @@ var _useClearableField = require("./useClearableField");
37
49
  var _usePickerTranslations = require("./usePickerTranslations");
38
50
  var _useSplitFieldProps = require("./useSplitFieldProps");
39
51
  var _useParsedFormat = require("./useParsedFormat");
40
- var _usePickerContext = require("./usePickerContext");
52
+ var _usePickerContext = require("./usePickerContext");
53
+ var _usePickerActionsContext = require("./usePickerActionsContext");
54
+ var _useIsValidValue = require("./useIsValidValue");
@@ -15,11 +15,13 @@ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
15
15
  var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
16
16
  var _icons = require("../icons");
17
17
  var _usePickerTranslations = require("./usePickerTranslations");
18
+ var _useFieldOwnerState = require("../internals/hooks/useFieldOwnerState");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
20
  const _excluded = ["clearable", "onClear", "InputProps", "sx", "slots", "slotProps"],
20
21
  _excluded2 = ["ownerState"];
21
22
  const useClearableField = props => {
22
23
  const translations = (0, _usePickerTranslations.usePickerTranslations)();
24
+ const ownerState = (0, _useFieldOwnerState.useFieldOwnerState)(props);
23
25
  const {
24
26
  clearable,
25
27
  onClear,
@@ -34,7 +36,7 @@ const useClearableField = props => {
34
36
  const _useSlotProps = (0, _useSlotProps2.default)({
35
37
  elementType: IconButton,
36
38
  externalSlotProps: slotProps?.clearButton,
37
- ownerState: {},
39
+ ownerState,
38
40
  className: 'clearButton',
39
41
  additionalProps: {
40
42
  title: translations.fieldClearLabel,
@@ -46,7 +48,7 @@ const useClearableField = props => {
46
48
  const endClearIconProps = (0, _useSlotProps2.default)({
47
49
  elementType: EndClearIcon,
48
50
  externalSlotProps: slotProps?.clearIcon,
49
- ownerState: {}
51
+ ownerState
50
52
  });
51
53
  return (0, _extends2.default)({}, other, {
52
54
  InputProps: (0, _extends2.default)({}, InputProps, {
@@ -0,0 +1,18 @@
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.IsValidValueContext = void 0;
9
+ exports.useIsValidValue = useIsValidValue;
10
+ var React = _interopRequireWildcard(require("react"));
11
+ const IsValidValueContext = exports.IsValidValueContext = /*#__PURE__*/React.createContext(() => true);
12
+
13
+ /**
14
+ * Returns a function to check if a value is valid according to the validation props passed to the parent picker.
15
+ */
16
+ function useIsValidValue() {
17
+ return React.useContext(IsValidValueContext);
18
+ }
@@ -12,32 +12,30 @@ 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
14
  var _usePickerTranslations = require("./usePickerTranslations");
15
+ var _useNullablePickerContext = require("../internals/hooks/useNullablePickerContext");
15
16
  /**
16
17
  * Returns the parsed format to be rendered in the field when there is no value or in other parts of the Picker.
17
- * This format is localized (e.g: `AAAA` for the year with the French locale) and cannot be parsed by your date library.
18
+ * This format is localized (for example `AAAA` for the year with the French locale) and cannot be parsed by your date library.
18
19
  * @param {object} The parameters needed to build the placeholder.
19
- * @param {string} params.format Format of the date to use.
20
- * @param {'dense' | 'spacious'} params.formatDensity Density of the format (setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character).
21
- * @param {boolean} params.shouldRespectLeadingZeros If `true`, the format will respect the leading zeroes, if `false`, the format will always add leading zeroes.
20
+ * @param {string} params.format Format to parse.
22
21
  * @returns
23
22
  */
24
- const useParsedFormat = parameters => {
25
- const {
26
- format,
27
- formatDensity = 'dense',
28
- shouldRespectLeadingZeros = false
29
- } = parameters;
23
+ const useParsedFormat = (parameters = {}) => {
24
+ const pickerContext = (0, _useNullablePickerContext.useNullablePickerContext)();
30
25
  const utils = (0, _useUtils.useUtils)();
31
26
  const isRtl = (0, _RtlProvider.useRtl)();
32
27
  const translations = (0, _usePickerTranslations.usePickerTranslations)();
33
28
  const localizedDigits = React.useMemo(() => (0, _useField.getLocalizedDigits)(utils), [utils]);
29
+ const {
30
+ format = pickerContext?.fieldFormat ?? utils.formats.fullDate
31
+ } = parameters;
34
32
  return React.useMemo(() => {
35
33
  const sections = (0, _buildSectionsFromFormat.buildSectionsFromFormat)({
36
34
  utils,
37
35
  format,
38
- formatDensity,
36
+ formatDensity: 'dense',
39
37
  isRtl,
40
- shouldRespectLeadingZeros,
38
+ shouldRespectLeadingZeros: true,
41
39
  localeText: translations,
42
40
  localizedDigits,
43
41
  date: null,
@@ -45,6 +43,6 @@ const useParsedFormat = parameters => {
45
43
  enableAccessibleFieldDOMStructure: false
46
44
  });
47
45
  return sections.map(section => `${section.startSeparator}${section.placeholder}${section.endSeparator}`).join('');
48
- }, [utils, isRtl, translations, localizedDigits, format, formatDensity, shouldRespectLeadingZeros]);
46
+ }, [utils, isRtl, translations, localizedDigits, format]);
49
47
  };
50
48
  exports.useParsedFormat = useParsedFormat;
@@ -0,0 +1,22 @@
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.usePickerActionsContext = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _PickerProvider = require("../internals/components/PickerProvider");
11
+ /**
12
+ * Returns a subset of the context passed by the picker wrapping the current component.
13
+ * It only contains the actions and never causes a re-render of the component using it.
14
+ */
15
+ const usePickerActionsContext = () => {
16
+ const value = React.useContext(_PickerProvider.PickerActionsContext);
17
+ if (value == null) {
18
+ throw new Error(['MUI X: The `usePickerActionsContext` can only be called in fields that are used as a slot of a picker component'].join('\n'));
19
+ }
20
+ return value;
21
+ };
22
+ exports.usePickerActionsContext = usePickerActionsContext;
@@ -5,16 +5,17 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.usePickerContext = void 0;
8
+ exports.usePickerContext = exports.PickerContext = void 0;
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _PickerProvider = require("../internals/components/PickerProvider");
10
+ const PickerContext = exports.PickerContext = /*#__PURE__*/React.createContext(null);
11
+
11
12
  /**
12
13
  * Returns the context passed by the picker that wraps the current component.
13
14
  */
14
15
  const usePickerContext = () => {
15
- const value = React.useContext(_PickerProvider.PickerContext);
16
+ const value = React.useContext(PickerContext);
16
17
  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
+ throw new Error('MUI X: The `usePickerContext` hook can only be called inside the context of a picker component');
18
19
  }
19
20
  return value;
20
21
  };