@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
@@ -1,20 +1,22 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["label", "autoFocus", "disableUnderline", "ownerState"];
3
+ const _excluded = ["label", "autoFocus", "disableUnderline", "ownerState", "classes"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
- import { useFormControl } from '@mui/material/FormControl';
7
6
  import { styled, useThemeProps } from '@mui/material/styles';
7
+ import { shouldForwardProp } from '@mui/system/createStyled';
8
8
  import { refType } from '@mui/utils';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
10
  import { pickersInputClasses, getPickersInputUtilityClass } from "./pickersInputClasses.js";
11
11
  import { PickersInputBase } from "../PickersInputBase/index.js";
12
12
  import { PickersInputBaseRoot } from "../PickersInputBase/PickersInputBase.js";
13
+ import { usePickerTextFieldOwnerState } from "../usePickerTextFieldOwnerState.js";
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
14
15
  const PickersInputRoot = styled(PickersInputBaseRoot, {
15
16
  name: 'MuiPickersInput',
16
17
  slot: 'Root',
17
- overridesResolver: (props, styles) => styles.root
18
+ overridesResolver: (props, styles) => styles.root,
19
+ shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'disableUnderline'
18
20
  })(({
19
21
  theme
20
22
  }) => {
@@ -31,7 +33,7 @@ const PickersInputRoot = styled(PickersInputBaseRoot, {
31
33
  // @ts-ignore
32
34
  .filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({
33
35
  props: {
34
- color
36
+ inputColor: color
35
37
  },
36
38
  style: {
37
39
  '&::after': {
@@ -96,18 +98,18 @@ const PickersInputRoot = styled(PickersInputBaseRoot, {
96
98
  }]
97
99
  };
98
100
  });
99
- const useUtilityClasses = ownerState => {
101
+ const useUtilityClasses = (classes, ownerState) => {
100
102
  const {
101
- classes,
102
- disableUnderline
103
+ inputHasUnderline
103
104
  } = ownerState;
104
105
  const slots = {
105
- root: ['root', !disableUnderline && 'underline'],
106
+ root: ['root', !inputHasUnderline && 'underline'],
106
107
  input: ['input']
107
108
  };
108
109
  const composedClasses = composeClasses(slots, getPickersInputUtilityClass, classes);
109
110
  return _extends({}, classes, composedClasses);
110
111
  };
112
+
111
113
  /**
112
114
  * @ignore - internal component.
113
115
  */
@@ -119,18 +121,22 @@ const PickersInput = /*#__PURE__*/React.forwardRef(function PickersInput(inProps
119
121
  const {
120
122
  label,
121
123
  disableUnderline = false,
122
- ownerState: ownerStateProp
124
+ classes: classesProp
123
125
  } = props,
124
126
  other = _objectWithoutPropertiesLoose(props, _excluded);
125
- const muiFormControl = useFormControl();
126
- const ownerState = _extends({}, props, ownerStateProp, muiFormControl, {
127
- disableUnderline,
128
- color: muiFormControl?.color || 'primary'
127
+ const pickerTextFieldOwnerState = usePickerTextFieldOwnerState();
128
+ const ownerState = _extends({}, pickerTextFieldOwnerState, {
129
+ inputHasUnderline: !disableUnderline
129
130
  });
130
- const classes = useUtilityClasses(ownerState);
131
+ const classes = useUtilityClasses(classesProp, ownerState);
131
132
  return /*#__PURE__*/_jsx(PickersInputBase, _extends({
132
133
  slots: {
133
134
  root: PickersInputRoot
135
+ },
136
+ slotProps: {
137
+ root: {
138
+ disableUnderline
139
+ }
134
140
  }
135
141
  }, other, {
136
142
  label: label,
@@ -5,4 +5,4 @@ import { pickersInputBaseClasses } from "../PickersInputBase/index.js";
5
5
  export function getPickersInputUtilityClass(slot) {
6
6
  return generateUtilityClass('MuiPickersFilledInput', slot);
7
7
  }
8
- export const pickersInputClasses = _extends({}, pickersInputBaseClasses, generateUtilityClasses('MuiPickersInput', ['root', 'input']));
8
+ export const pickersInputClasses = _extends({}, pickersInputBaseClasses, generateUtilityClasses('MuiPickersInput', ['root', 'underline', 'input']));
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "value", "onChange", "id", "autoFocus", "endAdornment", "startAdornment", "renderSuffix", "slots", "slotProps", "contentEditable", "tabIndex", "onInput", "onPaste", "onKeyDown", "fullWidth", "name", "readOnly", "inputProps", "inputRef", "sectionListRef", "onFocus", "onBlur"];
3
+ const _excluded = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "value", "onChange", "id", "autoFocus", "endAdornment", "startAdornment", "renderSuffix", "slots", "slotProps", "contentEditable", "tabIndex", "onInput", "onPaste", "onKeyDown", "fullWidth", "name", "readOnly", "inputProps", "inputRef", "sectionListRef", "onFocus", "onBlur", "classes", "ownerState"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { useFormControl } from '@mui/material/FormControl';
@@ -11,9 +11,9 @@ import composeClasses from '@mui/utils/composeClasses';
11
11
  import capitalize from '@mui/utils/capitalize';
12
12
  import useSlotProps from '@mui/utils/useSlotProps';
13
13
  import visuallyHidden from '@mui/utils/visuallyHidden';
14
- import { useRtl } from '@mui/system/RtlProvider';
15
14
  import { pickersInputBaseClasses, getPickersInputBaseUtilityClass } from "./pickersInputBaseClasses.js";
16
15
  import { Unstable_PickersSectionList as PickersSectionList, Unstable_PickersSectionListRoot as PickersSectionListRoot, Unstable_PickersSectionListSection as PickersSectionListSection, Unstable_PickersSectionListSectionSeparator as PickersSectionListSectionSeparator, Unstable_PickersSectionListSectionContent as PickersSectionListSectionContent } from "../../PickersSectionList/index.js";
16
+ import { usePickerTextFieldOwnerState } from "../usePickerTextFieldOwnerState.js";
17
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
18
  const round = value => Math.round(value * 1e5) / 1e5;
19
19
  export const PickersInputBaseRoot = styled('div', {
@@ -35,7 +35,7 @@ export const PickersInputBaseRoot = styled('div', {
35
35
  letterSpacing: `${round(0.15 / 16)}em`,
36
36
  variants: [{
37
37
  props: {
38
- fullWidth: true
38
+ isInputInFullWidth: true
39
39
  },
40
40
  style: {
41
41
  width: '100%'
@@ -64,36 +64,35 @@ export const PickersInputBaseSectionsContainer = styled(PickersSectionListRoot,
64
64
  width: '182px',
65
65
  variants: [{
66
66
  props: {
67
- isRtl: true
67
+ fieldDirection: 'rtl'
68
68
  },
69
69
  style: {
70
70
  textAlign: 'right /*! @noflip */'
71
71
  }
72
72
  }, {
73
73
  props: {
74
- size: 'small'
74
+ inputSize: 'small'
75
75
  },
76
76
  style: {
77
77
  paddingTop: 1
78
78
  }
79
79
  }, {
80
80
  props: {
81
- adornedStart: false,
82
- focused: false,
83
- filled: false
81
+ hasStartAdornment: false,
82
+ isFieldFocused: false,
83
+ isFieldValueEmpty: true
84
84
  },
85
85
  style: {
86
86
  color: 'currentColor',
87
87
  opacity: 0
88
88
  }
89
89
  }, {
90
- // Can't use the object notation because label can be null or undefined
91
- props: ({
92
- adornedStart,
93
- focused,
94
- filled,
95
- label
96
- }) => !adornedStart && !focused && !filled && label == null,
90
+ props: {
91
+ hasStartAdornment: false,
92
+ isFieldFocused: false,
93
+ isFieldValueEmpty: true,
94
+ inputHasLabel: false
95
+ },
97
96
  style: theme.vars ? {
98
97
  opacity: theme.vars.opacity.inputPlaceholder
99
98
  } : {
@@ -142,21 +141,20 @@ const PickersInputBaseInput = styled('input', {
142
141
  slot: 'Input',
143
142
  overridesResolver: (props, styles) => styles.hiddenInput
144
143
  })(_extends({}, visuallyHidden));
145
- const useUtilityClasses = ownerState => {
144
+ const useUtilityClasses = (classes, ownerState) => {
146
145
  const {
147
- focused,
148
- disabled,
149
- error,
150
- classes,
151
- fullWidth,
152
- readOnly,
153
- color,
154
- size,
155
- endAdornment,
156
- startAdornment
146
+ isFieldFocused,
147
+ isFieldDisabled,
148
+ isFieldReadOnly,
149
+ hasFieldError,
150
+ inputSize,
151
+ isInputInFullWidth,
152
+ inputColor,
153
+ hasStartAdornment,
154
+ hasEndAdornment
157
155
  } = ownerState;
158
156
  const slots = {
159
- root: ['root', focused && !disabled && 'focused', disabled && 'disabled', readOnly && 'readOnly', error && 'error', fullWidth && 'fullWidth', `color${capitalize(color)}`, size === 'small' && 'inputSizeSmall', Boolean(startAdornment) && 'adornedStart', Boolean(endAdornment) && 'adornedEnd'],
157
+ root: ['root', isFieldFocused && !isFieldDisabled && 'focused', isFieldDisabled && 'disabled', isFieldReadOnly && 'readOnly', hasFieldError && 'error', isInputInFullWidth && 'fullWidth', `color${capitalize(inputColor)}`, inputSize === 'small' && 'inputSizeSmall', hasStartAdornment && 'adornedStart', hasEndAdornment && 'adornedEnd'],
160
158
  notchedOutline: ['notchedOutline'],
161
159
  input: ['input'],
162
160
  sectionsContainer: ['sectionsContainer'],
@@ -166,6 +164,7 @@ const useUtilityClasses = ownerState => {
166
164
  };
167
165
  return composeClasses(slots, getPickersInputBaseUtilityClass, classes);
168
166
  };
167
+
169
168
  /**
170
169
  * @ignore - internal component.
171
170
  */
@@ -196,21 +195,27 @@ const PickersInputBase = /*#__PURE__*/React.forwardRef(function PickersInputBase
196
195
  inputRef,
197
196
  sectionListRef,
198
197
  onFocus,
199
- onBlur
198
+ onBlur,
199
+ classes: classesProp,
200
+ ownerState: ownerStateProp
200
201
  } = props,
201
202
  other = _objectWithoutPropertiesLoose(props, _excluded);
203
+ const ownerStateContext = usePickerTextFieldOwnerState();
202
204
  const rootRef = React.useRef(null);
203
205
  const handleRootRef = useForkRef(ref, rootRef);
204
206
  const handleInputRef = useForkRef(inputProps?.ref, inputRef);
205
- const isRtl = useRtl();
206
207
  const muiFormControl = useFormControl();
207
208
  if (!muiFormControl) {
208
209
  throw new Error('MUI X: PickersInputBase should always be used inside a PickersTextField component');
209
210
  }
211
+ const ownerState = ownerStateProp ?? ownerStateContext;
210
212
  const handleInputFocus = event => {
211
213
  muiFormControl.onFocus?.(event);
212
214
  onFocus?.(event);
213
215
  };
216
+ const handleHiddenInputFocus = event => {
217
+ handleInputFocus(event);
218
+ };
214
219
  const handleInputBlur = event => {
215
220
  muiFormControl.onBlur?.(event);
216
221
  onBlur?.(event);
@@ -230,10 +235,7 @@ const PickersInputBase = /*#__PURE__*/React.forwardRef(function PickersInputBase
230
235
  muiFormControl.onFilled();
231
236
  }
232
237
  }, [muiFormControl, areAllSectionsEmpty]);
233
- const ownerState = _extends({}, props, muiFormControl, {
234
- isRtl
235
- });
236
- const classes = useUtilityClasses(ownerState);
238
+ const classes = useUtilityClasses(classesProp, ownerState);
237
239
  const InputRoot = slots?.root || PickersInputBaseRoot;
238
240
  const inputRootProps = useSlotProps({
239
241
  elementType: InputRoot,
@@ -266,16 +268,16 @@ const PickersInputBase = /*#__PURE__*/React.forwardRef(function PickersInputBase
266
268
  sectionSeparator: PickersInputBaseSectionSeparator
267
269
  },
268
270
  slotProps: {
269
- root: {
271
+ root: _extends({}, slotProps?.input, {
270
272
  ownerState
271
- },
273
+ }),
272
274
  sectionContent: {
273
275
  className: pickersInputBaseClasses.sectionContent
274
276
  },
275
277
  sectionSeparator: ({
276
- position
278
+ separatorPosition
277
279
  }) => ({
278
- className: position === 'before' ? pickersInputBaseClasses.sectionBefore : pickersInputBaseClasses.sectionAfter
280
+ className: separatorPosition === 'before' ? pickersInputBaseClasses.sectionBefore : pickersInputBaseClasses.sectionAfter
279
281
  })
280
282
  }
281
283
  }), endAdornment, renderSuffix ? renderSuffix(_extends({}, muiFormControl)) : null, /*#__PURE__*/_jsx(PickersInputBaseInput, _extends({
@@ -289,6 +291,10 @@ const PickersInputBase = /*#__PURE__*/React.forwardRef(function PickersInputBase
289
291
  readOnly: readOnly,
290
292
  required: muiFormControl.required,
291
293
  disabled: muiFormControl.disabled
294
+ // Hidden input element cannot be focused, trigger the root focus instead
295
+ // This allows to maintain the ability to do `inputRef.current.focus()` to focus the field
296
+ ,
297
+ onFocus: handleHiddenInputFocus
292
298
  }, inputProps, {
293
299
  ref: handleInputRef
294
300
  }))]
@@ -3,6 +3,8 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  const _excluded = ["children", "className", "label", "notched", "shrink"];
4
4
  import * as React from 'react';
5
5
  import { styled } from '@mui/material/styles';
6
+ import { shouldForwardProp } from '@mui/system/createStyled';
7
+ import { usePickerTextFieldOwnerState } from "../usePickerTextFieldOwnerState.js";
6
8
  import { jsx as _jsx } from "react/jsx-runtime";
7
9
  const OutlineRoot = styled('fieldset', {
8
10
  name: 'MuiPickersOutlinedInput',
@@ -36,7 +38,9 @@ const OutlineLabel = styled('span')(({
36
38
  fontFamily: theme.typography.fontFamily,
37
39
  fontSize: 'inherit'
38
40
  }));
39
- const OutlineLegend = styled('legend')(({
41
+ const OutlineLegend = styled('legend', {
42
+ shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'notched'
43
+ })(({
40
44
  theme
41
45
  }) => ({
42
46
  float: 'unset',
@@ -47,7 +51,7 @@ const OutlineLegend = styled('legend')(({
47
51
  // Fix Horizontal scroll when label too long
48
52
  variants: [{
49
53
  props: {
50
- withLabel: false
54
+ inputHasLabel: false
51
55
  },
52
56
  style: {
53
57
  padding: 0,
@@ -60,7 +64,7 @@ const OutlineLegend = styled('legend')(({
60
64
  }
61
65
  }, {
62
66
  props: {
63
- withLabel: true
67
+ inputHasLabel: true
64
68
  },
65
69
  style: {
66
70
  display: 'block',
@@ -86,7 +90,7 @@ const OutlineLegend = styled('legend')(({
86
90
  }
87
91
  }, {
88
92
  props: {
89
- withLabel: true,
93
+ inputHasLabel: true,
90
94
  notched: true
91
95
  },
92
96
  style: {
@@ -106,13 +110,11 @@ const OutlineLegend = styled('legend')(({
106
110
  export default function Outline(props) {
107
111
  const {
108
112
  className,
109
- label
113
+ label,
114
+ notched
110
115
  } = props,
111
116
  other = _objectWithoutPropertiesLoose(props, _excluded);
112
- const withLabel = label != null && label !== '';
113
- const ownerState = _extends({}, props, {
114
- withLabel
115
- });
117
+ const ownerState = usePickerTextFieldOwnerState();
116
118
  return /*#__PURE__*/_jsx(OutlineRoot, _extends({
117
119
  "aria-hidden": true,
118
120
  className: className
@@ -120,7 +122,8 @@ export default function Outline(props) {
120
122
  ownerState: ownerState,
121
123
  children: /*#__PURE__*/_jsx(OutlineLegend, {
122
124
  ownerState: ownerState,
123
- children: withLabel ? /*#__PURE__*/_jsx(OutlineLabel, {
125
+ notched: notched,
126
+ children: label ? /*#__PURE__*/_jsx(OutlineLabel, {
124
127
  children: label
125
128
  }) :
126
129
  /*#__PURE__*/
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["label", "autoFocus", "ownerState", "notched"];
3
+ const _excluded = ["label", "autoFocus", "ownerState", "classes", "notched"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { useFormControl } from '@mui/material/FormControl';
@@ -51,7 +51,7 @@ const PickersOutlinedInputRoot = styled(PickersInputBaseRoot, {
51
51
  // @ts-ignore
52
52
  .filter(key => (theme.vars ?? theme).palette[key]?.main ?? false).map(color => ({
53
53
  props: {
54
- color
54
+ inputColor: color
55
55
  },
56
56
  style: {
57
57
  [`&.${pickersOutlinedInputClasses.focused}:not(.${pickersOutlinedInputClasses.error}) .${pickersOutlinedInputClasses.notchedOutline}`]: {
@@ -70,17 +70,14 @@ const PickersOutlinedInputSectionsContainer = styled(PickersInputBaseSectionsCon
70
70
  padding: '16.5px 0',
71
71
  variants: [{
72
72
  props: {
73
- size: 'small'
73
+ inputSize: 'small'
74
74
  },
75
75
  style: {
76
76
  padding: '8.5px 0'
77
77
  }
78
78
  }]
79
79
  });
80
- const useUtilityClasses = ownerState => {
81
- const {
82
- classes
83
- } = ownerState;
80
+ const useUtilityClasses = classes => {
84
81
  const slots = {
85
82
  root: ['root'],
86
83
  notchedOutline: ['notchedOutline'],
@@ -89,6 +86,7 @@ const useUtilityClasses = ownerState => {
89
86
  const composedClasses = composeClasses(slots, getPickersOutlinedInputUtilityClass, classes);
90
87
  return _extends({}, classes, composedClasses);
91
88
  };
89
+
92
90
  /**
93
91
  * @ignore - internal component.
94
92
  */
@@ -99,15 +97,12 @@ const PickersOutlinedInput = /*#__PURE__*/React.forwardRef(function PickersOutli
99
97
  });
100
98
  const {
101
99
  label,
102
- ownerState: ownerStateProp,
100
+ classes: classesProp,
103
101
  notched
104
102
  } = props,
105
103
  other = _objectWithoutPropertiesLoose(props, _excluded);
106
104
  const muiFormControl = useFormControl();
107
- const ownerState = _extends({}, props, ownerStateProp, muiFormControl, {
108
- color: muiFormControl?.color || 'primary'
109
- });
110
- const classes = useUtilityClasses(ownerState);
105
+ const classes = useUtilityClasses(classesProp);
111
106
  return /*#__PURE__*/_jsx(PickersInputBase, _extends({
112
107
  slots: {
113
108
  root: PickersOutlinedInputRoot,
@@ -119,8 +114,7 @@ const PickersOutlinedInput = /*#__PURE__*/React.forwardRef(function PickersOutli
119
114
  className: classes.notchedOutline,
120
115
  label: label != null && label !== '' && muiFormControl?.required ? /*#__PURE__*/_jsxs(React.Fragment, {
121
116
  children: [label, "\u2009", '*']
122
- }) : label,
123
- ownerState: ownerState
117
+ }) : label
124
118
  })
125
119
  }, other, {
126
120
  label: label,
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["onFocus", "onBlur", "className", "color", "disabled", "error", "variant", "required", "InputProps", "inputProps", "inputRef", "sectionListRef", "elements", "areAllSectionsEmpty", "onClick", "onKeyDown", "onKeyUp", "onPaste", "onInput", "endAdornment", "startAdornment", "tabIndex", "contentEditable", "focused", "value", "onChange", "fullWidth", "id", "name", "helperText", "FormHelperTextProps", "label", "InputLabelProps"];
5
+ const _excluded = ["onFocus", "onBlur", "className", "classes", "color", "disabled", "error", "variant", "required", "InputProps", "inputProps", "inputRef", "sectionListRef", "elements", "areAllSectionsEmpty", "onClick", "onKeyDown", "onKeyUp", "onPaste", "onInput", "endAdornment", "startAdornment", "tabIndex", "contentEditable", "focused", "value", "onChange", "fullWidth", "id", "name", "helperText", "FormHelperTextProps", "label", "InputLabelProps"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
@@ -18,6 +18,8 @@ import { getPickersTextFieldUtilityClass } from "./pickersTextFieldClasses.js";
18
18
  import { PickersOutlinedInput } from "./PickersOutlinedInput/index.js";
19
19
  import { PickersFilledInput } from "./PickersFilledInput/index.js";
20
20
  import { PickersInput } from "./PickersInput/index.js";
21
+ import { useFieldOwnerState } from "../internals/hooks/useFieldOwnerState.js";
22
+ import { PickerTextFieldOwnerStateContext } from "./usePickerTextFieldOwnerState.js";
21
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
24
  const VARIANT_COMPONENT = {
23
25
  standard: PickersInput,
@@ -29,15 +31,14 @@ const PickersTextFieldRoot = styled(FormControl, {
29
31
  slot: 'Root',
30
32
  overridesResolver: (props, styles) => styles.root
31
33
  })({});
32
- const useUtilityClasses = ownerState => {
34
+ const useUtilityClasses = (classes, ownerState) => {
33
35
  const {
34
- focused,
35
- disabled,
36
- classes,
37
- required
36
+ isFieldFocused,
37
+ isFieldDisabled,
38
+ isFieldRequired
38
39
  } = ownerState;
39
40
  const slots = {
40
- root: ['root', focused && !disabled && 'focused', disabled && 'disabled', required && 'required']
41
+ root: ['root', isFieldFocused && !isFieldDisabled && 'focused', isFieldDisabled && 'disabled', isFieldRequired && 'required']
41
42
  };
42
43
  return composeClasses(slots, getPickersTextFieldUtilityClass, classes);
43
44
  };
@@ -51,6 +52,7 @@ const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTextField
51
52
  onFocus,
52
53
  onBlur,
53
54
  className,
55
+ classes: classesProp,
54
56
  color = 'primary',
55
57
  disabled = false,
56
58
  error = false,
@@ -91,64 +93,75 @@ const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTextField
91
93
  const id = useId(idProp);
92
94
  const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
93
95
  const inputLabelId = label && id ? `${id}-label` : undefined;
94
- const ownerState = _extends({}, props, {
95
- color,
96
- disabled,
97
- error,
98
- focused,
99
- required,
100
- variant
96
+ const fieldOwnerState = useFieldOwnerState({
97
+ disabled: props.disabled,
98
+ required: props.required,
99
+ readOnly: InputProps?.readOnly
101
100
  });
102
- const classes = useUtilityClasses(ownerState);
101
+ const ownerState = React.useMemo(() => _extends({}, fieldOwnerState, {
102
+ isFieldValueEmpty: areAllSectionsEmpty,
103
+ isFieldFocused: focused ?? false,
104
+ hasFieldError: error ?? false,
105
+ inputSize: props.size ?? 'medium',
106
+ inputColor: color ?? 'primary',
107
+ isInputInFullWidth: fullWidth ?? false,
108
+ hasStartAdornment: Boolean(startAdornment ?? InputProps?.startAdornment),
109
+ hasEndAdornment: Boolean(endAdornment ?? InputProps?.endAdornment),
110
+ inputHasLabel: !!label
111
+ }), [fieldOwnerState, areAllSectionsEmpty, focused, error, props.size, color, fullWidth, startAdornment, endAdornment, InputProps?.startAdornment, InputProps?.endAdornment, label]);
112
+ const classes = useUtilityClasses(classesProp, ownerState);
103
113
  const PickersInputComponent = VARIANT_COMPONENT[variant];
104
- return /*#__PURE__*/_jsxs(PickersTextFieldRoot, _extends({
105
- className: clsx(classes.root, className),
106
- ref: handleRootRef,
107
- focused: focused,
108
- disabled: disabled,
109
- variant: variant,
110
- error: error,
111
- color: color,
112
- fullWidth: fullWidth,
113
- required: required,
114
- ownerState: ownerState
115
- }, other, {
116
- children: [/*#__PURE__*/_jsx(InputLabel, _extends({
117
- htmlFor: id,
118
- id: inputLabelId
119
- }, InputLabelProps, {
120
- children: label
121
- })), /*#__PURE__*/_jsx(PickersInputComponent, _extends({
122
- elements: elements,
123
- areAllSectionsEmpty: areAllSectionsEmpty,
124
- onClick: onClick,
125
- onKeyDown: onKeyDown,
126
- onKeyUp: onKeyUp,
127
- onInput: onInput,
128
- onPaste: onPaste,
129
- onFocus: onFocus,
130
- onBlur: onBlur,
131
- endAdornment: endAdornment,
132
- startAdornment: startAdornment,
133
- tabIndex: tabIndex,
134
- contentEditable: contentEditable,
135
- value: value,
136
- onChange: onChange,
137
- id: id,
114
+ return /*#__PURE__*/_jsx(PickerTextFieldOwnerStateContext.Provider, {
115
+ value: ownerState,
116
+ children: /*#__PURE__*/_jsxs(PickersTextFieldRoot, _extends({
117
+ className: clsx(classes.root, className),
118
+ ref: handleRootRef,
119
+ focused: focused,
120
+ disabled: disabled,
121
+ variant: variant,
122
+ error: error,
123
+ color: color,
138
124
  fullWidth: fullWidth,
139
- inputProps: inputProps,
140
- inputRef: inputRef,
141
- sectionListRef: sectionListRef,
142
- label: label,
143
- name: name,
144
- role: "group",
145
- "aria-labelledby": inputLabelId
146
- }, InputProps)), helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({
147
- id: helperTextId
148
- }, FormHelperTextProps, {
149
- children: helperText
150
- }))]
151
- }));
125
+ required: required,
126
+ ownerState: ownerState
127
+ }, other, {
128
+ children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabel, _extends({
129
+ htmlFor: id,
130
+ id: inputLabelId
131
+ }, InputLabelProps, {
132
+ children: label
133
+ })), /*#__PURE__*/_jsx(PickersInputComponent, _extends({
134
+ elements: elements,
135
+ areAllSectionsEmpty: areAllSectionsEmpty,
136
+ onClick: onClick,
137
+ onKeyDown: onKeyDown,
138
+ onKeyUp: onKeyUp,
139
+ onInput: onInput,
140
+ onPaste: onPaste,
141
+ onFocus: onFocus,
142
+ onBlur: onBlur,
143
+ endAdornment: endAdornment,
144
+ startAdornment: startAdornment,
145
+ tabIndex: tabIndex,
146
+ contentEditable: contentEditable,
147
+ value: value,
148
+ onChange: onChange,
149
+ id: id,
150
+ fullWidth: fullWidth,
151
+ inputProps: inputProps,
152
+ inputRef: inputRef,
153
+ sectionListRef: sectionListRef,
154
+ label: label,
155
+ name: name,
156
+ role: "group",
157
+ "aria-labelledby": inputLabelId
158
+ }, InputProps)), helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({
159
+ id: helperTextId
160
+ }, FormHelperTextProps, {
161
+ children: helperText
162
+ }))]
163
+ }))
164
+ });
152
165
  });
153
166
  process.env.NODE_ENV !== "production" ? PickersTextField.propTypes = {
154
167
  // ----------------------------- Warning --------------------------------
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ export const PickerTextFieldOwnerStateContext = /*#__PURE__*/React.createContext(null);
5
+ export const usePickerTextFieldOwnerState = () => {
6
+ const value = React.useContext(PickerTextFieldOwnerStateContext);
7
+ if (value == null) {
8
+ throw new Error(['MUI X: The `usePickerTextFieldOwnerState` can only be called in components that are used inside a PickerTextField component'].join('\n'));
9
+ }
10
+ return value;
11
+ };
@@ -41,11 +41,11 @@ const StaticDatePicker = /*#__PURE__*/React.forwardRef(function StaticDatePicker
41
41
  const {
42
42
  renderPicker
43
43
  } = useStaticPicker({
44
+ ref,
44
45
  props,
45
46
  valueManager: singleItemValueManager,
46
47
  valueType: 'date',
47
- validator: validateDate,
48
- ref
48
+ validator: validateDate
49
49
  });
50
50
  return renderPicker();
51
51
  });
@@ -51,11 +51,11 @@ const StaticDateTimePicker = /*#__PURE__*/React.forwardRef(function StaticDateTi
51
51
  const {
52
52
  renderPicker
53
53
  } = useStaticPicker({
54
+ ref,
54
55
  props,
55
56
  valueManager: singleItemValueManager,
56
57
  valueType: 'date-time',
57
- validator: validateDateTime,
58
- ref
58
+ validator: validateDateTime
59
59
  });
60
60
  return renderPicker();
61
61
  });
@@ -43,11 +43,11 @@ const StaticTimePicker = /*#__PURE__*/React.forwardRef(function StaticTimePicker
43
43
  const {
44
44
  renderPicker
45
45
  } = useStaticPicker({
46
+ ref,
46
47
  props,
47
48
  valueManager: singleItemValueManager,
48
49
  valueType: 'time',
49
- validator: validateTime,
50
- ref
50
+ validator: validateTime
51
51
  });
52
52
  return renderPicker();
53
53
  });