@mui/x-date-pickers 8.0.0-alpha.0 → 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 (584) 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 +2215 -119
  21. package/DateCalendar/DateCalendar.js +5 -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 -45
  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 +92 -93
  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 -46
  56. package/DesktopTimePicker/DesktopTimePicker.js +6 -22
  57. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  58. package/DigitalClock/DigitalClock.js +14 -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 +32 -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 +12 -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 -54
  85. package/PickersLayout/PickersLayout.types.d.ts +20 -22
  86. package/PickersLayout/usePickerLayout.d.ts +5 -4
  87. package/PickersLayout/usePickerLayout.js +26 -57
  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 +51 -44
  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 +10 -7
  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 +28 -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 +31 -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 +40 -64
  130. package/TimePicker/shared.d.ts +6 -6
  131. package/YearCalendar/YearCalendar.js +47 -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 +15 -6
  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 +94 -14
  164. package/internals/components/PickerProvider.js +28 -8
  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 +16 -15
  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 +36 -121
  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 +56 -49
  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 +3 -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 +8 -4
  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 +35 -69
  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 +10 -29
  206. package/internals/hooks/usePicker/usePicker.types.d.ts +11 -11
  207. package/internals/hooks/usePicker/usePickerProvider.d.ts +58 -7
  208. package/internals/hooks/usePicker/usePickerProvider.js +102 -12
  209. package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
  210. package/internals/hooks/usePicker/usePickerValue.js +100 -218
  211. package/internals/hooks/usePicker/usePickerValue.types.d.ts +135 -79
  212. package/internals/hooks/usePicker/usePickerViews.d.ts +59 -40
  213. package/internals/hooks/usePicker/usePickerViews.js +31 -19
  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 +8 -13
  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 +20 -15
  224. package/internals/hooks/useValueWithTimezone.js +13 -1
  225. package/internals/hooks/useViews.d.ts +5 -5
  226. package/internals/index.d.ts +28 -19
  227. package/internals/index.js +13 -8
  228. package/internals/models/common.d.ts +2 -1
  229. package/internals/models/fields.d.ts +8 -24
  230. package/internals/models/index.d.ts +1 -0
  231. package/internals/models/index.js +2 -1
  232. package/internals/models/manager.d.ts +15 -0
  233. package/internals/models/manager.js +1 -0
  234. package/internals/models/pickers.d.ts +1 -0
  235. package/internals/models/pickers.js +1 -0
  236. package/internals/models/props/basePickerProps.d.ts +3 -33
  237. package/internals/models/props/tabs.d.ts +0 -13
  238. package/internals/models/props/time.d.ts +2 -1
  239. package/internals/models/props/toolbar.d.ts +1 -20
  240. package/internals/models/value.d.ts +9 -0
  241. package/internals/utils/date-utils.d.ts +3 -3
  242. package/internals/utils/date-utils.js +1 -1
  243. package/internals/utils/utils.d.ts +3 -0
  244. package/internals/utils/utils.js +11 -1
  245. package/internals/utils/valueManagers.d.ts +4 -3
  246. package/internals/utils/valueManagers.js +4 -4
  247. package/locales/index.d.ts +1 -0
  248. package/locales/index.js +1 -0
  249. package/locales/nbNO.js +15 -19
  250. package/locales/nlNL.js +7 -7
  251. package/locales/roRO.js +15 -18
  252. package/locales/utils/getPickersLocalization.d.ts +0 -7
  253. package/locales/utils/getPickersLocalization.js +0 -13
  254. package/locales/zhTW.d.ts +80 -0
  255. package/locales/zhTW.js +73 -0
  256. package/managers/index.d.ts +6 -0
  257. package/managers/index.js +3 -0
  258. package/managers/package.json +6 -0
  259. package/managers/useDateManager.d.ts +27 -0
  260. package/managers/useDateManager.js +55 -0
  261. package/managers/useDateTimeManager.d.ts +28 -0
  262. package/managers/useDateTimeManager.js +60 -0
  263. package/managers/useTimeManager.d.ts +28 -0
  264. package/managers/useTimeManager.js +51 -0
  265. package/models/adapters.d.ts +5 -5
  266. package/models/common.d.ts +1 -0
  267. package/models/fields.d.ts +33 -10
  268. package/models/index.d.ts +1 -0
  269. package/models/index.js +1 -0
  270. package/models/manager.d.ts +87 -0
  271. package/models/manager.js +1 -0
  272. package/models/pickers.d.ts +25 -0
  273. package/models/validation.d.ts +2 -1
  274. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  275. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  276. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  277. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  278. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  279. package/modern/AdapterDateFnsV2/index.js +1 -0
  280. package/modern/AdapterMoment/AdapterMoment.js +10 -0
  281. package/modern/DateCalendar/DateCalendar.js +5 -4
  282. package/modern/DateCalendar/DayCalendar.js +2 -0
  283. package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  284. package/modern/DateCalendar/PickersSlideTransition.js +12 -5
  285. package/modern/DateField/DateField.js +29 -33
  286. package/modern/DateField/useDateField.js +14 -11
  287. package/modern/DatePicker/DatePicker.js +1 -1
  288. package/modern/DatePicker/DatePickerToolbar.js +17 -45
  289. package/modern/DateTimeField/DateTimeField.js +29 -33
  290. package/modern/DateTimeField/useDateTimeField.js +14 -11
  291. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  292. package/modern/DateTimePicker/DateTimePickerTabs.js +15 -20
  293. package/modern/DateTimePicker/DateTimePickerToolbar.js +92 -93
  294. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  295. package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -17
  296. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  297. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -46
  298. package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
  299. package/modern/DigitalClock/DigitalClock.js +14 -11
  300. package/modern/MobileDatePicker/MobileDatePicker.js +4 -14
  301. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  302. package/modern/MobileTimePicker/MobileTimePicker.js +4 -14
  303. package/modern/MonthCalendar/MonthCalendar.js +32 -11
  304. package/{MonthCalendar/PickersMonth.js → modern/MonthCalendar/MonthCalendarButton.js} +20 -61
  305. package/modern/MonthCalendar/index.js +1 -2
  306. package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
  307. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +12 -7
  308. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  309. package/modern/PickersActionBar/PickersActionBar.js +26 -17
  310. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  311. package/modern/PickersLayout/PickersLayout.js +23 -54
  312. package/modern/PickersLayout/usePickerLayout.js +26 -57
  313. package/modern/PickersSectionList/PickersSectionList.js +21 -16
  314. package/modern/PickersShortcuts/PickersShortcuts.js +21 -11
  315. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  316. package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
  317. package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  318. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +51 -44
  319. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  320. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  321. package/modern/PickersTextField/PickersTextField.js +75 -62
  322. package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  323. package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
  324. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  325. package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
  326. package/modern/TimeClock/Clock.js +28 -27
  327. package/modern/TimeClock/ClockNumber.js +15 -11
  328. package/modern/TimeClock/ClockPointer.js +16 -10
  329. package/modern/TimeClock/TimeClock.js +31 -12
  330. package/modern/TimeField/TimeField.js +28 -32
  331. package/modern/TimeField/useTimeField.js +14 -11
  332. package/modern/TimePicker/TimePicker.js +2 -2
  333. package/modern/TimePicker/TimePickerToolbar.js +40 -64
  334. package/modern/YearCalendar/YearCalendar.js +47 -13
  335. package/{YearCalendar/PickersYear.js → modern/YearCalendar/YearCalendarButton.js} +20 -59
  336. package/modern/YearCalendar/index.js +1 -2
  337. package/modern/YearCalendar/yearCalendarClasses.js +1 -1
  338. package/modern/hooks/index.js +3 -1
  339. package/modern/hooks/useClearableField.js +4 -2
  340. package/modern/hooks/useIsValidValue.js +11 -0
  341. package/modern/hooks/useParsedFormat.js +11 -13
  342. package/modern/hooks/usePickerActionsContext.js +15 -0
  343. package/modern/hooks/usePickerContext.js +2 -2
  344. package/modern/hooks/useSplitFieldProps.js +8 -3
  345. package/modern/index.js +3 -2
  346. package/modern/internals/components/PickerFieldUI.js +317 -0
  347. package/{internals/components/PickersPopper.js → modern/internals/components/PickerPopper/PickerPopper.js} +47 -47
  348. package/modern/internals/components/PickerPopper/index.js +2 -0
  349. package/modern/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  350. package/modern/internals/components/PickerProvider.js +28 -8
  351. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  352. package/modern/internals/components/PickersModalDialog.js +9 -3
  353. package/modern/internals/components/PickersToolbar.js +16 -15
  354. package/modern/internals/components/PickersToolbarButton.js +4 -6
  355. package/modern/internals/components/PickersToolbarText.js +11 -13
  356. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  357. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +36 -121
  358. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  359. package/modern/internals/hooks/useField/index.js +2 -1
  360. package/modern/internals/hooks/useField/useField.js +17 -4
  361. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  362. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  363. package/modern/internals/hooks/useField/useFieldState.js +3 -3
  364. package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
  365. package/modern/internals/hooks/useField/useFieldV7TextField.js +8 -4
  366. package/modern/internals/hooks/useFieldOwnerState.js +16 -0
  367. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
  368. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  369. package/modern/internals/hooks/useOpenState.js +11 -9
  370. package/modern/internals/hooks/usePicker/usePicker.js +10 -29
  371. package/modern/internals/hooks/usePicker/usePickerProvider.js +102 -12
  372. package/modern/internals/hooks/usePicker/usePickerValue.js +100 -218
  373. package/modern/internals/hooks/usePicker/usePickerViews.js +31 -19
  374. package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  375. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +8 -13
  376. package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
  377. package/modern/internals/hooks/useUtils.js +1 -1
  378. package/modern/internals/hooks/useValueWithTimezone.js +13 -1
  379. package/modern/internals/index.js +13 -8
  380. package/modern/internals/models/index.js +2 -1
  381. package/modern/internals/models/manager.js +1 -0
  382. package/modern/internals/models/pickers.js +1 -0
  383. package/modern/internals/utils/date-utils.js +1 -1
  384. package/modern/internals/utils/utils.js +11 -1
  385. package/modern/internals/utils/valueManagers.js +4 -4
  386. package/modern/locales/index.js +1 -0
  387. package/modern/locales/nbNO.js +15 -19
  388. package/modern/locales/nlNL.js +7 -7
  389. package/modern/locales/roRO.js +15 -18
  390. package/modern/locales/utils/getPickersLocalization.js +0 -13
  391. package/modern/locales/zhTW.js +73 -0
  392. package/modern/managers/index.js +3 -0
  393. package/modern/managers/useDateManager.js +55 -0
  394. package/modern/managers/useDateTimeManager.js +60 -0
  395. package/modern/managers/useTimeManager.js +51 -0
  396. package/modern/models/index.js +1 -0
  397. package/modern/models/manager.js +1 -0
  398. package/modern/validation/useValidation.js +1 -1
  399. package/modern/validation/validateDate.js +8 -0
  400. package/modern/validation/validateDateTime.js +8 -0
  401. package/modern/validation/validateTime.js +8 -0
  402. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  403. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  404. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  405. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  406. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  407. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  408. package/node/AdapterMoment/AdapterMoment.js +10 -0
  409. package/node/DateCalendar/DateCalendar.js +5 -4
  410. package/node/DateCalendar/DayCalendar.js +1 -0
  411. package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  412. package/node/DateCalendar/PickersSlideTransition.js +12 -5
  413. package/node/DateField/DateField.js +29 -33
  414. package/node/DateField/useDateField.js +13 -10
  415. package/node/DatePicker/DatePicker.js +1 -1
  416. package/node/DatePicker/DatePickerToolbar.js +17 -45
  417. package/node/DateTimeField/DateTimeField.js +29 -33
  418. package/node/DateTimeField/useDateTimeField.js +13 -10
  419. package/node/DateTimePicker/DateTimePicker.js +2 -2
  420. package/node/DateTimePicker/DateTimePickerTabs.js +15 -20
  421. package/node/DateTimePicker/DateTimePickerToolbar.js +93 -93
  422. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  423. package/node/DesktopDatePicker/DesktopDatePicker.js +11 -17
  424. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  425. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -47
  426. package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
  427. package/node/DigitalClock/DigitalClock.js +14 -11
  428. package/node/MobileDatePicker/MobileDatePicker.js +4 -14
  429. package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  430. package/node/MobileTimePicker/MobileTimePicker.js +4 -14
  431. package/node/MonthCalendar/MonthCalendar.js +32 -11
  432. package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  433. package/node/MonthCalendar/index.js +1 -8
  434. package/node/MonthCalendar/monthCalendarClasses.js +1 -1
  435. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +12 -7
  436. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
  437. package/node/PickersActionBar/PickersActionBar.js +28 -19
  438. package/node/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  439. package/node/PickersLayout/PickersLayout.js +23 -54
  440. package/node/PickersLayout/usePickerLayout.js +30 -61
  441. package/node/PickersSectionList/PickersSectionList.js +21 -16
  442. package/node/PickersShortcuts/PickersShortcuts.js +21 -11
  443. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  444. package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
  445. package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  446. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +51 -44
  447. package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  448. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  449. package/node/PickersTextField/PickersTextField.js +75 -62
  450. package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
  451. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  452. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  453. package/node/StaticTimePicker/StaticTimePicker.js +2 -2
  454. package/node/TimeClock/Clock.js +28 -27
  455. package/node/TimeClock/ClockNumber.js +15 -11
  456. package/node/TimeClock/ClockPointer.js +15 -10
  457. package/node/TimeClock/TimeClock.js +31 -12
  458. package/node/TimeField/TimeField.js +28 -32
  459. package/node/TimeField/useTimeField.js +13 -10
  460. package/node/TimePicker/TimePicker.js +2 -2
  461. package/node/TimePicker/TimePickerToolbar.js +40 -64
  462. package/node/YearCalendar/YearCalendar.js +46 -12
  463. package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  464. package/node/YearCalendar/index.js +1 -8
  465. package/node/YearCalendar/yearCalendarClasses.js +1 -1
  466. package/node/hooks/index.js +15 -1
  467. package/node/hooks/useClearableField.js +4 -2
  468. package/node/hooks/useIsValidValue.js +18 -0
  469. package/node/hooks/useParsedFormat.js +11 -13
  470. package/node/hooks/usePickerActionsContext.js +22 -0
  471. package/node/hooks/usePickerContext.js +5 -4
  472. package/node/hooks/useSplitFieldProps.js +7 -2
  473. package/node/index.js +13 -1
  474. package/node/internals/components/PickerFieldUI.js +329 -0
  475. package/node/internals/components/{PickersPopper.js → PickerPopper/PickerPopper.js} +48 -48
  476. package/node/internals/components/PickerPopper/index.js +25 -0
  477. package/node/internals/components/PickerPopper/pickerPopperClasses.js +14 -0
  478. package/node/internals/components/PickerProvider.js +30 -10
  479. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  480. package/node/internals/components/PickersModalDialog.js +9 -3
  481. package/node/internals/components/PickersToolbar.js +16 -15
  482. package/node/internals/components/PickersToolbarButton.js +4 -6
  483. package/node/internals/components/PickersToolbarText.js +10 -12
  484. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  485. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +38 -123
  486. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  487. package/node/internals/hooks/useField/index.js +8 -1
  488. package/node/internals/hooks/useField/useField.js +16 -3
  489. package/node/internals/hooks/useField/useField.utils.js +2 -2
  490. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +56 -0
  491. package/node/internals/hooks/useField/useFieldState.js +3 -3
  492. package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
  493. package/node/internals/hooks/useField/useFieldV7TextField.js +8 -4
  494. package/node/internals/hooks/useFieldOwnerState.js +24 -0
  495. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +36 -70
  496. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  497. package/node/internals/hooks/useOpenState.js +12 -9
  498. package/node/internals/hooks/usePicker/usePicker.js +10 -29
  499. package/node/internals/hooks/usePicker/usePickerProvider.js +105 -12
  500. package/node/internals/hooks/usePicker/usePickerValue.js +100 -217
  501. package/node/internals/hooks/usePicker/usePickerViews.js +31 -20
  502. package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
  503. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +8 -13
  504. package/node/internals/hooks/useToolbarOwnerState.js +21 -0
  505. package/node/internals/hooks/useUtils.js +1 -1
  506. package/node/internals/hooks/useValueWithTimezone.js +13 -1
  507. package/node/internals/index.js +87 -34
  508. package/node/internals/models/index.js +11 -0
  509. package/node/internals/models/manager.js +5 -0
  510. package/node/internals/models/pickers.js +5 -0
  511. package/node/internals/utils/date-utils.js +1 -1
  512. package/node/internals/utils/utils.js +14 -2
  513. package/node/internals/utils/valueManagers.js +4 -4
  514. package/node/locales/index.js +11 -0
  515. package/node/locales/nbNO.js +15 -19
  516. package/node/locales/nlNL.js +7 -7
  517. package/node/locales/roRO.js +15 -18
  518. package/node/locales/utils/getPickersLocalization.js +2 -16
  519. package/node/locales/zhTW.js +79 -0
  520. package/node/managers/index.js +26 -0
  521. package/node/managers/useDateManager.js +63 -0
  522. package/node/managers/useDateTimeManager.js +68 -0
  523. package/node/managers/useTimeManager.js +59 -0
  524. package/node/models/index.js +11 -0
  525. package/node/models/manager.js +5 -0
  526. package/node/validation/useValidation.js +1 -1
  527. package/node/validation/validateDate.js +8 -0
  528. package/node/validation/validateDateTime.js +8 -0
  529. package/node/validation/validateTime.js +8 -0
  530. package/package.json +7 -7
  531. package/themeAugmentation/components.d.ts +3 -11
  532. package/themeAugmentation/overrides.d.ts +5 -7
  533. package/themeAugmentation/props.d.ts +7 -9
  534. package/validation/extractValidationProps.d.ts +1 -1
  535. package/validation/useValidation.d.ts +7 -6
  536. package/validation/useValidation.js +1 -1
  537. package/validation/validateDate.d.ts +12 -3
  538. package/validation/validateDate.js +8 -0
  539. package/validation/validateDateTime.d.ts +12 -4
  540. package/validation/validateDateTime.js +8 -0
  541. package/validation/validateTime.d.ts +12 -3
  542. package/validation/validateTime.js +8 -0
  543. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  544. package/AdapterDateFnsJalaliV3/index.js +0 -1
  545. package/AdapterDateFnsV3/index.d.ts +0 -1
  546. package/AdapterDateFnsV3/index.js +0 -1
  547. package/MonthCalendar/PickersMonth.d.ts +0 -28
  548. package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
  549. package/MonthCalendar/pickersMonthClasses.js +0 -5
  550. package/YearCalendar/PickersYear.d.ts +0 -27
  551. package/YearCalendar/pickersYearClasses.d.ts +0 -13
  552. package/YearCalendar/pickersYearClasses.js +0 -5
  553. package/internals/components/pickersPopperClasses.d.ts +0 -9
  554. package/internals/components/pickersPopperClasses.js +0 -5
  555. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  556. package/internals/hooks/defaultizedFieldProps.js +0 -40
  557. package/internals/hooks/useDefaultReduceAnimations.d.ts +0 -2
  558. package/internals/hooks/useIsLandscape.d.ts +0 -4
  559. package/internals/hooks/useIsLandscape.js +0 -35
  560. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +0 -33
  561. package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -34
  562. package/internals/hooks/usePicker/usePickerOwnerState.d.ts +0 -10
  563. package/internals/hooks/usePicker/usePickerOwnerState.js +0 -16
  564. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  565. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  566. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  567. package/modern/AdapterDateFnsV3/index.js +0 -1
  568. package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
  569. package/modern/YearCalendar/pickersYearClasses.js +0 -5
  570. package/modern/internals/components/pickersPopperClasses.js +0 -5
  571. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  572. package/modern/internals/hooks/useIsLandscape.js +0 -35
  573. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +0 -34
  574. package/modern/internals/hooks/usePicker/usePickerOwnerState.js +0 -16
  575. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  576. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  577. package/node/MonthCalendar/pickersMonthClasses.js +0 -12
  578. package/node/YearCalendar/pickersYearClasses.js +0 -12
  579. package/node/internals/components/pickersPopperClasses.js +0 -12
  580. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  581. package/node/internals/hooks/useIsLandscape.js +0 -43
  582. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +0 -41
  583. package/node/internals/hooks/usePicker/usePickerOwnerState.js +0 -23
  584. 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");
@@ -24,19 +23,20 @@ var _useUtils = require("../internals/hooks/useUtils");
24
23
  var _dateHelpersHooks = require("../internals/hooks/date-helpers-hooks");
25
24
  var _timePickerToolbarClasses = require("./timePickerToolbarClasses");
26
25
  var _dateUtils = require("../internals/utils/date-utils");
26
+ var _hooks = require("../hooks");
27
+ var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
27
28
  var _jsxRuntime = require("react/jsx-runtime");
28
- const _excluded = ["ampm", "ampmInClock", "value", "isLandscape", "onChange", "view", "onViewChange", "views", "disabled", "readOnly", "className"];
29
- const useUtilityClasses = ownerState => {
29
+ const _excluded = ["ampm", "ampmInClock", "className", "classes"];
30
+ const useUtilityClasses = (classes, ownerState) => {
30
31
  const {
31
- isLandscape,
32
- classes,
33
- isRtl
32
+ pickerOrientation,
33
+ toolbarDirection
34
34
  } = ownerState;
35
35
  const slots = {
36
36
  root: ['root'],
37
37
  separator: ['separator'],
38
- hourMinuteLabel: ['hourMinuteLabel', isLandscape && 'hourMinuteLabelLandscape', isRtl && 'hourMinuteLabelReverse'],
39
- ampmSelection: ['ampmSelection', isLandscape && 'ampmLandscape'],
38
+ hourMinuteLabel: ['hourMinuteLabel', pickerOrientation === 'landscape' && 'hourMinuteLabelLandscape', toolbarDirection === 'rtl' && 'hourMinuteLabelReverse'],
39
+ ampmSelection: ['ampmSelection', pickerOrientation === 'landscape' && 'ampmLandscape'],
40
40
  ampmLabel: ['ampmLabel']
41
41
  };
42
42
  return (0, _composeClasses.default)(slots, _timePickerToolbarClasses.getTimePickerToolbarUtilityClass, classes);
@@ -68,14 +68,14 @@ const TimePickerToolbarHourMinuteLabel = (0, _styles.styled)('div', {
68
68
  alignItems: 'flex-end',
69
69
  variants: [{
70
70
  props: {
71
- isRtl: true
71
+ toolbarDirection: 'rtl'
72
72
  },
73
73
  style: {
74
74
  flexDirection: 'row-reverse'
75
75
  }
76
76
  }, {
77
77
  props: {
78
- isLandscape: true
78
+ pickerOrientation: 'landscape'
79
79
  },
80
80
  style: {
81
81
  marginTop: 'auto'
@@ -100,7 +100,7 @@ const TimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
100
100
  },
101
101
  variants: [{
102
102
  props: {
103
- isLandscape: true
103
+ pickerOrientation: 'landscape'
104
104
  },
105
105
  style: {
106
106
  margin: '4px 0 auto',
@@ -129,30 +129,36 @@ function TimePickerToolbar(inProps) {
129
129
  const {
130
130
  ampm,
131
131
  ampmInClock,
132
- value,
133
- isLandscape,
134
- onChange,
135
- view,
136
- onViewChange,
137
- views,
138
- disabled,
139
- readOnly,
140
- className
132
+ className,
133
+ classes: classesProp
141
134
  } = props,
142
135
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
143
136
  const utils = (0, _useUtils.useUtils)();
144
137
  const translations = (0, _usePickerTranslations.usePickerTranslations)();
145
- const isRtl = (0, _RtlProvider.useRtl)();
138
+ const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
139
+ const classes = useUtilityClasses(classesProp, ownerState);
140
+ const {
141
+ value,
142
+ setValue,
143
+ disabled,
144
+ readOnly,
145
+ view,
146
+ setView,
147
+ views
148
+ } = (0, _hooks.usePickerContext)();
146
149
  const showAmPmControl = Boolean(ampm && !ampmInClock && views.includes('hours'));
147
150
  const {
148
151
  meridiemMode,
149
152
  handleMeridiemChange
150
- } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, onChange);
151
- const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
152
- const ownerState = (0, _extends2.default)({}, props, {
153
- isRtl
154
- });
155
- 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
+ };
156
162
  const separator = /*#__PURE__*/(0, _jsxRuntime.jsx)(TimePickerToolbarSeparator, {
157
163
  tabIndex: -1,
158
164
  value: ":",
@@ -163,7 +169,6 @@ function TimePickerToolbar(inProps) {
163
169
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimePickerToolbarRoot, (0, _extends2.default)({
164
170
  landscapeDirection: "row",
165
171
  toolbarTitle: translations.timePickerToolbarTitle,
166
- isLandscape: isLandscape,
167
172
  ownerState: ownerState,
168
173
  className: (0, _clsx.default)(classes.root, className)
169
174
  }, other, {
@@ -173,20 +178,20 @@ function TimePickerToolbar(inProps) {
173
178
  children: [(0, _utils.arrayIncludes)(views, 'hours') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
174
179
  tabIndex: -1,
175
180
  variant: "h3",
176
- onClick: () => onViewChange('hours'),
181
+ onClick: () => setView('hours'),
177
182
  selected: view === 'hours',
178
- value: value ? formatHours(value) : '--'
183
+ value: formatSection(ampm ? 'hours12h' : 'hours24h')
179
184
  }), (0, _utils.arrayIncludes)(views, ['hours', 'minutes']) && separator, (0, _utils.arrayIncludes)(views, 'minutes') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
180
185
  tabIndex: -1,
181
186
  variant: "h3",
182
- onClick: () => onViewChange('minutes'),
187
+ onClick: () => setView('minutes'),
183
188
  selected: view === 'minutes',
184
- value: value ? utils.format(value, 'minutes') : '--'
189
+ value: formatSection('minutes')
185
190
  }), (0, _utils.arrayIncludes)(views, ['minutes', 'seconds']) && separator, (0, _utils.arrayIncludes)(views, 'seconds') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
186
191
  variant: "h3",
187
- onClick: () => onViewChange('seconds'),
192
+ onClick: () => setView('seconds'),
188
193
  selected: view === 'seconds',
189
- value: value ? utils.format(value, 'seconds') : '--'
194
+ value: formatSection('seconds')
190
195
  })]
191
196
  }), showAmPmControl && /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimePickerToolbarAmPmSelection, {
192
197
  className: classes.ampmSelection,
@@ -223,31 +228,11 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
223
228
  */
224
229
  classes: _propTypes.default.object,
225
230
  className: _propTypes.default.string,
226
- /**
227
- * If `true`, the component is disabled.
228
- * When disabled, the value cannot be changed and no interaction is possible.
229
- * @default false
230
- */
231
- disabled: _propTypes.default.bool,
232
231
  /**
233
232
  * If `true`, show the toolbar even in desktop mode.
234
233
  * @default `true` for Desktop, `false` for Mobile.
235
234
  */
236
235
  hidden: _propTypes.default.bool,
237
- isLandscape: _propTypes.default.bool.isRequired,
238
- onChange: _propTypes.default.func.isRequired,
239
- /**
240
- * Callback called when a toolbar is clicked
241
- * @template TView
242
- * @param {TView} view The view to open
243
- */
244
- onViewChange: _propTypes.default.func.isRequired,
245
- /**
246
- * If `true`, the component is read-only.
247
- * When read-only, the value cannot be changed but the user can interact with the interface.
248
- * @default false
249
- */
250
- readOnly: _propTypes.default.bool,
251
236
  /**
252
237
  * The system prop that allows defining system overrides as well as additional CSS styles.
253
238
  */
@@ -261,14 +246,5 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
261
246
  * Toolbar value placeholder—it is displayed when the value is empty.
262
247
  * @default "––"
263
248
  */
264
- toolbarPlaceholder: _propTypes.default.node,
265
- value: _propTypes.default.object,
266
- /**
267
- * Currently visible picker view.
268
- */
269
- view: _propTypes.default.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired,
270
- /**
271
- * Available views.
272
- */
273
- views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired).isRequired
249
+ toolbarPlaceholder: _propTypes.default.node
274
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,
@@ -111,6 +137,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
111
137
  timezone: timezoneProp,
112
138
  value: valueProp,
113
139
  defaultValue,
140
+ referenceDate: referenceDateProp,
114
141
  onChange,
115
142
  valueManager: _valueManagers.singleItemValueManager
116
143
  });
@@ -245,18 +272,23 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
245
272
  if (yearsOrder === 'desc') {
246
273
  yearRange.reverse();
247
274
  }
248
- 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)({
249
280
  ref: handleRef,
250
281
  className: (0, _clsx.default)(classes.root, className),
251
282
  ownerState: ownerState,
252
283
  role: "radiogroup",
253
- "aria-labelledby": gridLabelId
284
+ "aria-labelledby": gridLabelId,
285
+ yearsPerRow: yearsPerRow
254
286
  }, other, {
255
- children: yearRange.map(year => {
287
+ children: [yearRange.map(year => {
256
288
  const yearNumber = utils.getYear(year);
257
289
  const isSelected = yearNumber === selectedYear;
258
290
  const isDisabled = disabled || isYearDisabled(year);
259
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersYear.PickersYear, {
291
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_YearCalendarButton.YearCalendarButton, {
260
292
  selected: isSelected,
261
293
  value: yearNumber,
262
294
  onClick: handleYearSelection,
@@ -267,12 +299,14 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
267
299
  onFocus: handleYearFocus,
268
300
  onBlur: handleYearBlur,
269
301
  "aria-current": todayYear === yearNumber ? 'date' : undefined,
270
- yearsPerRow: yearsPerRow,
271
302
  slots: slots,
272
303
  slotProps: slotProps,
304
+ classes: classesProp,
273
305
  children: utils.format(year, 'year')
274
306
  }, utils.format(year, 'year'));
275
- })
307
+ }), Array.from({
308
+ length: fillerAmount
309
+ }, (_, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(YearCalendarButtonFiller, {}, index))]
276
310
  }));
277
311
  });
278
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;