@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
@@ -7,14 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.DateTimePickerToolbar = DateTimePickerToolbar;
10
+ exports.DateTimePickerToolbarOverrideContext = void 0;
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
13
  var React = _interopRequireWildcard(require("react"));
14
+ var _clsx = _interopRequireDefault(require("clsx"));
13
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _RtlProvider = require("@mui/system/RtlProvider");
15
16
  var _styles = require("@mui/material/styles");
16
17
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
17
- var _clsx = _interopRequireDefault(require("clsx"));
18
+ var _createStyled = require("@mui/system/createStyled");
18
19
  var _PickersToolbarText = require("../internals/components/PickersToolbarText");
19
20
  var _PickersToolbar = require("../internals/components/PickersToolbar");
20
21
  var _PickersToolbarButton = require("../internals/components/PickersToolbarButton");
@@ -27,21 +28,21 @@ var _dateUtils = require("../internals/utils/date-utils");
27
28
  var _pickersToolbarTextClasses = require("../internals/components/pickersToolbarTextClasses");
28
29
  var _pickersToolbarClasses = require("../internals/components/pickersToolbarClasses");
29
30
  var _usePickerContext = require("../hooks/usePickerContext");
31
+ var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
30
32
  var _jsxRuntime = require("react/jsx-runtime");
31
- const _excluded = ["ampm", "ampmInClock", "value", "onChange", "view", "isLandscape", "onViewChange", "toolbarFormat", "toolbarPlaceholder", "views", "toolbarVariant", "toolbarTitle", "className"];
32
- const useUtilityClasses = ownerState => {
33
+ const _excluded = ["ampm", "ampmInClock", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "className", "classes"];
34
+ const useUtilityClasses = (classes, ownerState) => {
33
35
  const {
34
- classes,
35
- isLandscape,
36
- isRtl
36
+ pickerOrientation,
37
+ toolbarDirection
37
38
  } = ownerState;
38
39
  const slots = {
39
40
  root: ['root'],
40
41
  dateContainer: ['dateContainer'],
41
- timeContainer: ['timeContainer', isRtl && 'timeLabelReverse'],
42
- timeDigitsContainer: ['timeDigitsContainer', isRtl && 'timeLabelReverse'],
42
+ timeContainer: ['timeContainer', toolbarDirection === 'rtl' && 'timeLabelReverse'],
43
+ timeDigitsContainer: ['timeDigitsContainer', toolbarDirection === 'rtl' && 'timeLabelReverse'],
43
44
  separator: ['separator'],
44
- ampmSelection: ['ampmSelection', isLandscape && 'ampmLandscape'],
45
+ ampmSelection: ['ampmSelection', pickerOrientation === 'landscape' && 'ampmLandscape'],
45
46
  ampmLabel: ['ampmLabel']
46
47
  };
47
48
  return (0, _composeClasses.default)(slots, _dateTimePickerToolbarClasses.getDateTimePickerToolbarUtilityClass, classes);
@@ -49,7 +50,8 @@ const useUtilityClasses = ownerState => {
49
50
  const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToolbar, {
50
51
  name: 'MuiDateTimePickerToolbar',
51
52
  slot: 'Root',
52
- overridesResolver: (props, styles) => styles.root
53
+ overridesResolver: (props, styles) => styles.root,
54
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
53
55
  })(({
54
56
  theme
55
57
  }) => ({
@@ -71,7 +73,7 @@ const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToo
71
73
  }, {
72
74
  props: {
73
75
  toolbarVariant: 'desktop',
74
- isLandscape: true
76
+ pickerOrientation: 'landscape'
75
77
  },
76
78
  style: {
77
79
  borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
@@ -79,7 +81,7 @@ const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToo
79
81
  }, {
80
82
  props: {
81
83
  toolbarVariant: 'desktop',
82
- isLandscape: false
84
+ pickerOrientation: 'portrait'
83
85
  },
84
86
  style: {
85
87
  paddingLeft: 24,
@@ -99,13 +101,14 @@ const DateTimePickerToolbarDateContainer = (0, _styles.styled)('div', {
99
101
  const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
100
102
  name: 'MuiDateTimePickerToolbar',
101
103
  slot: 'TimeContainer',
102
- overridesResolver: (props, styles) => styles.timeContainer
104
+ overridesResolver: (props, styles) => styles.timeContainer,
105
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
103
106
  })({
104
107
  display: 'flex',
105
108
  flexDirection: 'row',
106
109
  variants: [{
107
110
  props: {
108
- isRtl: true
111
+ toolbarDirection: 'rtl'
109
112
  },
110
113
  style: {
111
114
  flexDirection: 'row-reverse'
@@ -113,7 +116,7 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
113
116
  }, {
114
117
  props: {
115
118
  toolbarVariant: 'desktop',
116
- isLandscape: false
119
+ pickerOrientation: 'portrait'
117
120
  },
118
121
  style: {
119
122
  gap: 9,
@@ -122,18 +125,18 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
122
125
  }
123
126
  }, {
124
127
  props: ({
125
- isLandscape,
128
+ pickerOrientation,
126
129
  toolbarVariant
127
- }) => isLandscape && toolbarVariant !== 'desktop',
130
+ }) => pickerOrientation === 'landscape' && toolbarVariant !== 'desktop',
128
131
  style: {
129
132
  flexDirection: 'column'
130
133
  }
131
134
  }, {
132
135
  props: ({
133
- isLandscape,
136
+ pickerOrientation,
134
137
  toolbarVariant,
135
- isRtl
136
- }) => isLandscape && toolbarVariant !== 'desktop' && isRtl,
138
+ toolbarDirection
139
+ }) => pickerOrientation === 'landscape' && toolbarVariant !== 'desktop' && toolbarDirection === 'rtl',
137
140
  style: {
138
141
  flexDirection: 'column-reverse'
139
142
  }
@@ -142,12 +145,13 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
142
145
  const DateTimePickerToolbarTimeDigitsContainer = (0, _styles.styled)('div', {
143
146
  name: 'MuiDateTimePickerToolbar',
144
147
  slot: 'TimeDigitsContainer',
145
- overridesResolver: (props, styles) => styles.timeDigitsContainer
148
+ overridesResolver: (props, styles) => styles.timeDigitsContainer,
149
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
146
150
  })({
147
151
  display: 'flex',
148
152
  variants: [{
149
153
  props: {
150
- isRtl: true
154
+ toolbarDirection: 'rtl'
151
155
  },
152
156
  style: {
153
157
  flexDirection: 'row-reverse'
@@ -164,7 +168,8 @@ const DateTimePickerToolbarTimeDigitsContainer = (0, _styles.styled)('div', {
164
168
  const DateTimePickerToolbarSeparator = (0, _styles.styled)(_PickersToolbarText.PickersToolbarText, {
165
169
  name: 'MuiDateTimePickerToolbar',
166
170
  slot: 'Separator',
167
- overridesResolver: (props, styles) => styles.separator
171
+ overridesResolver: (props, styles) => styles.separator,
172
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
168
173
  })({
169
174
  margin: '0 4px 0 2px',
170
175
  cursor: 'default',
@@ -197,7 +202,7 @@ const DateTimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
197
202
  },
198
203
  variants: [{
199
204
  props: {
200
- isLandscape: true
205
+ pickerOrientation: 'landscape'
201
206
  },
202
207
  style: {
203
208
  margin: '4px 0 auto',
@@ -208,6 +213,13 @@ const DateTimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
208
213
  }]
209
214
  });
210
215
 
216
+ /**
217
+ * If `forceDesktopVariant` is set to `true`, the toolbar will always be rendered in the desktop mode.
218
+ * If `onViewChange` is defined, the toolbar will call it instead of calling the default handler from `usePickerContext`.
219
+ * This is used by the Date Time Range Picker Toolbar.
220
+ */
221
+ const DateTimePickerToolbarOverrideContext = exports.DateTimePickerToolbarOverrideContext = /*#__PURE__*/React.createContext(null);
222
+
211
223
  /**
212
224
  * Demos:
213
225
  *
@@ -226,40 +238,45 @@ function DateTimePickerToolbar(inProps) {
226
238
  const {
227
239
  ampm,
228
240
  ampmInClock,
229
- value,
230
- onChange,
231
- view,
232
- isLandscape,
233
- onViewChange,
234
241
  toolbarFormat,
235
242
  toolbarPlaceholder = '––',
236
- views,
237
- toolbarVariant = 'mobile',
238
243
  toolbarTitle: inToolbarTitle,
239
- className
244
+ className,
245
+ classes: classesProp
240
246
  } = props,
241
247
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
242
- const isRtl = (0, _RtlProvider.useRtl)();
243
248
  const {
249
+ value: valueContext,
250
+ setValue: setValueContext,
244
251
  disabled,
245
- readOnly
252
+ readOnly,
253
+ variant,
254
+ orientation,
255
+ view: viewContext,
256
+ setView: setViewContext,
257
+ views
246
258
  } = (0, _usePickerContext.usePickerContext)();
247
- const ownerState = (0, _extends2.default)({}, props, {
248
- isRtl
249
- });
259
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
260
+ const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
261
+ const classes = useUtilityClasses(classesProp, ownerState);
250
262
  const utils = (0, _useUtils.useUtils)();
263
+ const overrides = React.useContext(DateTimePickerToolbarOverrideContext);
264
+ const value = overrides ? overrides.value : valueContext;
265
+ const setValue = overrides ? overrides.setValue : setValueContext;
266
+ const view = overrides ? overrides.view : viewContext;
267
+ const setView = overrides ? overrides.setView : setViewContext;
251
268
  const {
252
269
  meridiemMode,
253
270
  handleMeridiemChange
254
- } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, onChange);
255
- const showAmPmControl = Boolean(ampm && !ampmInClock);
271
+ } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, newValue => setValue(newValue, {
272
+ changeImportance: 'set'
273
+ }));
274
+ const toolbarVariant = overrides?.forceDesktopVariant ? 'desktop' : variant;
256
275
  const isDesktop = toolbarVariant === 'desktop';
257
- const translations = (0, _usePickerTranslations.usePickerTranslations)();
258
- const classes = useUtilityClasses(ownerState);
276
+ const showAmPmControl = Boolean(ampm && !ampmInClock);
259
277
  const toolbarTitle = inToolbarTitle ?? translations.dateTimePickerToolbarTitle;
260
- const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
261
278
  const dateText = React.useMemo(() => {
262
- if (!value) {
279
+ if (!utils.isValid(value)) {
263
280
  return toolbarPlaceholder;
264
281
  }
265
282
  if (toolbarFormat) {
@@ -267,10 +284,16 @@ function DateTimePickerToolbar(inProps) {
267
284
  }
268
285
  return utils.format(value, 'shortDate');
269
286
  }, [value, toolbarFormat, toolbarPlaceholder, utils]);
287
+ const formatSection = (format, fallback) => {
288
+ if (!utils.isValid(value)) {
289
+ return fallback;
290
+ }
291
+ return utils.format(value, format);
292
+ };
270
293
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarRoot, (0, _extends2.default)({
271
- isLandscape: isLandscape,
272
294
  className: (0, _clsx.default)(classes.root, className),
273
- toolbarTitle: toolbarTitle
295
+ toolbarTitle: toolbarTitle,
296
+ toolbarVariant: toolbarVariant
274
297
  }, other, {
275
298
  ownerState: ownerState,
276
299
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarDateContainer, {
@@ -279,40 +302,43 @@ function DateTimePickerToolbar(inProps) {
279
302
  children: [views.includes('year') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
280
303
  tabIndex: -1,
281
304
  variant: "subtitle1",
282
- onClick: () => onViewChange('year'),
305
+ onClick: () => setView('year'),
283
306
  selected: view === 'year',
284
- value: value ? utils.format(value, 'year') : '–'
307
+ value: formatSection('year', '–')
285
308
  }), views.includes('day') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
286
309
  tabIndex: -1,
287
310
  variant: isDesktop ? 'h5' : 'h4',
288
- onClick: () => onViewChange('day'),
311
+ onClick: () => setView('day'),
289
312
  selected: view === 'day',
290
313
  value: dateText
291
314
  })]
292
315
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarTimeContainer, {
293
316
  className: classes.timeContainer,
294
317
  ownerState: ownerState,
318
+ toolbarVariant: toolbarVariant,
295
319
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarTimeDigitsContainer, {
296
320
  className: classes.timeDigitsContainer,
297
321
  ownerState: ownerState,
322
+ toolbarVariant: toolbarVariant,
298
323
  children: [views.includes('hours') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
299
324
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
300
325
  variant: isDesktop ? 'h5' : 'h3',
301
- width: isDesktop && !isLandscape ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
302
- onClick: () => onViewChange('hours'),
326
+ width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
327
+ onClick: () => setView('hours'),
303
328
  selected: view === 'hours',
304
- value: value ? formatHours(value) : '--'
329
+ value: formatSection(ampm ? 'hours12h' : 'hours24h', '--')
305
330
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimePickerToolbarSeparator, {
306
331
  variant: isDesktop ? 'h5' : 'h3',
307
332
  value: ":",
308
333
  className: classes.separator,
309
- ownerState: ownerState
334
+ ownerState: ownerState,
335
+ toolbarVariant: toolbarVariant
310
336
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
311
337
  variant: isDesktop ? 'h5' : 'h3',
312
- width: isDesktop && !isLandscape ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
313
- onClick: () => onViewChange('minutes'),
338
+ width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
339
+ onClick: () => setView('minutes'),
314
340
  selected: view === 'minutes' || !views.includes('minutes') && view === 'hours',
315
- value: value ? utils.format(value, 'minutes') : '--',
341
+ value: formatSection('minutes', '--'),
316
342
  disabled: !views.includes('minutes')
317
343
  })]
318
344
  }), views.includes('seconds') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
@@ -320,13 +346,14 @@ function DateTimePickerToolbar(inProps) {
320
346
  variant: isDesktop ? 'h5' : 'h3',
321
347
  value: ":",
322
348
  className: classes.separator,
323
- ownerState: ownerState
349
+ ownerState: ownerState,
350
+ toolbarVariant: toolbarVariant
324
351
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
325
352
  variant: isDesktop ? 'h5' : 'h3',
326
- width: isDesktop && !isLandscape ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
327
- onClick: () => onViewChange('seconds'),
353
+ width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
354
+ onClick: () => setView('seconds'),
328
355
  selected: view === 'seconds',
329
- value: value ? utils.format(value, 'seconds') : '--'
356
+ value: formatSection('seconds', '--')
330
357
  })]
331
358
  })]
332
359
  }), showAmPmControl && !isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarAmPmSelection, {
@@ -349,7 +376,7 @@ function DateTimePickerToolbar(inProps) {
349
376
  })]
350
377
  }), ampm && isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
351
378
  variant: "h5",
352
- onClick: () => onViewChange('meridiem'),
379
+ onClick: () => setView('meridiem'),
353
380
  selected: view === 'meridiem',
354
381
  value: value && meridiemMode ? (0, _dateUtils.formatMeridiem)(utils, meridiemMode) : '--',
355
382
  width: _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH
@@ -374,14 +401,6 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
374
401
  * @default `true` for Desktop, `false` for Mobile.
375
402
  */
376
403
  hidden: _propTypes.default.bool,
377
- isLandscape: _propTypes.default.bool.isRequired,
378
- onChange: _propTypes.default.func.isRequired,
379
- /**
380
- * Callback called when a toolbar is clicked
381
- * @template TView
382
- * @param {TView} view The view to open
383
- */
384
- onViewChange: _propTypes.default.func.isRequired,
385
404
  /**
386
405
  * The system prop that allows defining system overrides as well as additional CSS styles.
387
406
  */
@@ -399,15 +418,5 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
399
418
  /**
400
419
  * If provided, it will be used instead of `dateTimePickerToolbarTitle` from localization.
401
420
  */
402
- toolbarTitle: _propTypes.default.node,
403
- toolbarVariant: _propTypes.default.oneOf(['desktop', 'mobile']),
404
- value: _propTypes.default.object,
405
- /**
406
- * Currently visible picker view.
407
- */
408
- view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
409
- /**
410
- * Available views.
411
- */
412
- views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
421
+ toolbarTitle: _propTypes.default.node
413
422
  } : void 0;
@@ -18,11 +18,8 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
18
18
  var _dimensions = require("../internals/constants/dimensions");
19
19
  var _dayCalendarSkeletonClasses = require("./dayCalendarSkeletonClasses");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
- const _excluded = ["className"];
22
- const useUtilityClasses = ownerState => {
23
- const {
24
- classes
25
- } = ownerState;
21
+ const _excluded = ["className", "classes"];
22
+ const useUtilityClasses = classes => {
26
23
  const slots = {
27
24
  root: ['root'],
28
25
  week: ['week'],
@@ -52,14 +49,9 @@ const DayCalendarSkeletonDay = (0, _styles.styled)(_Skeleton.default, {
52
49
  overridesResolver: (props, styles) => styles.daySkeleton
53
50
  })({
54
51
  margin: `0 ${_dimensions.DAY_MARGIN}px`,
55
- variants: [{
56
- props: {
57
- day: 0
58
- },
59
- style: {
60
- visibility: 'hidden'
61
- }
62
- }]
52
+ '&[data-day-in-month="0"]': {
53
+ visibility: 'hidden'
54
+ }
63
55
  });
64
56
  const monthMap = [[0, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 0]];
65
57
 
@@ -78,23 +70,22 @@ function DayCalendarSkeleton(inProps) {
78
70
  name: 'MuiDayCalendarSkeleton'
79
71
  });
80
72
  const {
81
- className
73
+ className,
74
+ classes: classesProp
82
75
  } = props,
83
76
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
84
- const classes = useUtilityClasses(other);
77
+ const classes = useUtilityClasses(classesProp);
85
78
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(DayCalendarSkeletonRoot, (0, _extends2.default)({
86
79
  className: (0, _clsx.default)(classes.root, className)
87
80
  }, other, {
88
81
  children: monthMap.map((week, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(DayCalendarSkeletonWeek, {
89
82
  className: classes.week,
90
- children: week.map((day, index2) => /*#__PURE__*/(0, _jsxRuntime.jsx)(DayCalendarSkeletonDay, {
83
+ children: week.map((dayInMonth, index2) => /*#__PURE__*/(0, _jsxRuntime.jsx)(DayCalendarSkeletonDay, {
91
84
  variant: "circular",
92
85
  width: _dimensions.DAY_SIZE,
93
86
  height: _dimensions.DAY_SIZE,
94
87
  className: classes.daySkeleton,
95
- ownerState: {
96
- day
97
- }
88
+ "data-day-in-month": dayInMonth
98
89
  }, index2))
99
90
  }, index))
100
91
  }));
@@ -14,15 +14,14 @@ var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveC
14
14
  var _utils = require("@mui/utils");
15
15
  var _valueManagers = require("../internals/utils/valueManagers");
16
16
  var _shared = require("../DatePicker/shared");
17
- var _usePickerTranslations = require("../hooks/usePickerTranslations");
18
17
  var _useUtils = require("../internals/hooks/useUtils");
19
18
  var _validation = require("../validation");
20
19
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
21
- var _icons = require("../icons");
22
20
  var _DateField = require("../DateField");
23
21
  var _dateViewRenderers = require("../dateViewRenderers");
24
22
  var _dateUtils = require("../internals/utils/date-utils");
25
- var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
23
+ const emptyActions = [];
24
+
26
25
  /**
27
26
  * Demos:
28
27
  *
@@ -34,7 +33,6 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
34
33
  * - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
35
34
  */
36
35
  const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
37
- const translations = (0, _usePickerTranslations.usePickerTranslations)();
38
36
  const utils = (0, _useUtils.useUtils)();
39
37
 
40
38
  // Props with the default values common to all date pickers
@@ -47,34 +45,30 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
47
45
 
48
46
  // Props with the default values specific to the desktop variant
49
47
  const props = (0, _extends2.default)({}, defaultizedProps, {
48
+ closeOnSelect: defaultizedProps.closeOnSelect ?? true,
50
49
  viewRenderers,
51
50
  format: (0, _dateUtils.resolveDateFormat)(utils, defaultizedProps, false),
52
51
  yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
53
52
  slots: (0, _extends2.default)({
54
- openPickerIcon: _icons.CalendarIcon,
55
53
  field: _DateField.DateField
56
54
  }, defaultizedProps.slots),
57
55
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
58
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
59
- ref
60
- }),
56
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
61
57
  toolbar: (0, _extends2.default)({
62
58
  hidden: true
63
- }, defaultizedProps.slotProps?.toolbar)
59
+ }, defaultizedProps.slotProps?.toolbar),
60
+ actionBar: ownerState => (0, _extends2.default)({
61
+ actions: emptyActions
62
+ }, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
64
63
  })
65
64
  });
66
65
  const {
67
66
  renderPicker
68
67
  } = (0, _useDesktopPicker.useDesktopPicker)({
68
+ ref,
69
69
  props,
70
70
  valueManager: _valueManagers.singleItemValueManager,
71
71
  valueType: 'date',
72
- getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
73
- utils,
74
- formatKey: 'fullDate',
75
- contextTranslation: translations.openDatePickerDialogue,
76
- propsTranslation: props.localeText?.openDatePickerDialogue
77
- }),
78
72
  validator: _validation.validateDate
79
73
  });
80
74
  return renderPicker();
@@ -93,8 +87,8 @@ DesktopDatePicker.propTypes = {
93
87
  autoFocus: _propTypes.default.bool,
94
88
  className: _propTypes.default.string,
95
89
  /**
96
- * If `true`, the popover or modal will close after submitting the full date.
97
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
90
+ * If `true`, the Picker will close after submitting the full date.
91
+ * @default true
98
92
  */
99
93
  closeOnSelect: _propTypes.default.bool,
100
94
  /**
@@ -18,10 +18,8 @@ var _valueManagers = require("../internals/utils/valueManagers");
18
18
  var _DateTimeField = require("../DateTimeField");
19
19
  var _shared = require("../DateTimePicker/shared");
20
20
  var _dateViewRenderers = require("../dateViewRenderers/dateViewRenderers");
21
- var _usePickerTranslations = require("../hooks/usePickerTranslations");
22
21
  var _useUtils = require("../internals/hooks/useUtils");
23
22
  var _validation = require("../validation");
24
- var _icons = require("../icons");
25
23
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
26
24
  var _dateTimeUtils = require("../internals/utils/date-time-utils");
27
25
  var _timeViewRenderers = require("../timeViewRenderers");
@@ -31,10 +29,14 @@ var _DesktopDateTimePickerLayout = require("./DesktopDateTimePickerLayout");
31
29
  var _dimensions = require("../internals/constants/dimensions");
32
30
  var _timeUtils = require("../internals/utils/time-utils");
33
31
  var _dateUtils = require("../internals/utils/date-utils");
34
- var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
35
32
  var _jsxRuntime = require("react/jsx-runtime");
36
33
  const _excluded = ["openTo", "focusedView", "timeViewsCount"];
37
- const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
34
+ const rendererInterceptor = function RendererInterceptor(props) {
35
+ const {
36
+ viewRenderers,
37
+ popperView,
38
+ rendererProps
39
+ } = props;
38
40
  const {
39
41
  openTo,
40
42
  focusedView,
@@ -53,8 +55,10 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
53
55
  }]
54
56
  });
55
57
  const isTimeViewActive = (0, _timeUtils.isInternalTimeView)(popperView);
58
+ const dateView = isTimeViewActive ? 'day' : popperView;
59
+ const timeView = isTimeViewActive ? popperView : 'hours';
56
60
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
57
- children: [inViewRenderers[!isTimeViewActive ? popperView : 'day']?.((0, _extends2.default)({}, rendererProps, {
61
+ children: [viewRenderers[dateView]?.((0, _extends2.default)({}, rendererProps, {
58
62
  view: !isTimeViewActive ? popperView : 'day',
59
63
  focusedView: focusedView && (0, _dateUtils.isDatePickerView)(focusedView) ? focusedView : null,
60
64
  views: rendererProps.views.filter(_dateUtils.isDatePickerView),
@@ -67,7 +71,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
67
71
  sx: {
68
72
  gridColumn: 2
69
73
  }
70
- }), inViewRenderers[isTimeViewActive ? popperView : 'hours']?.((0, _extends2.default)({}, finalProps, {
74
+ }), viewRenderers[timeView]?.((0, _extends2.default)({}, finalProps, {
71
75
  view: isTimeViewActive ? popperView : 'hours',
72
76
  focusedView: focusedView && (0, _timeUtils.isInternalTimeView)(focusedView) ? focusedView : null,
73
77
  openTo: (0, _timeUtils.isInternalTimeView)(openTo) ? openTo : 'hours',
@@ -90,7 +94,6 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
90
94
  * - [DesktopDateTimePicker API](https://mui.com/x/api/date-pickers/desktop-date-time-picker/)
91
95
  */
92
96
  const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
93
- const translations = (0, _usePickerTranslations.usePickerTranslations)();
94
97
  const utils = (0, _useUtils.useUtils)();
95
98
 
96
99
  // Props with the default values common to all date time pickers
@@ -115,7 +118,6 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
115
118
  // Need to avoid adding the `meridiem` view when unexpected renderer is specified
116
119
  const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
117
120
  const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
118
- const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
119
121
 
120
122
  // Props with the default values specific to the desktop variant
121
123
  const props = (0, _extends2.default)({}, defaultizedProps, {
@@ -129,38 +131,26 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
129
131
  shouldRenderTimeInASingleColumn,
130
132
  slots: (0, _extends2.default)({
131
133
  field: _DateTimeField.DateTimeField,
132
- layout: _DesktopDateTimePickerLayout.DesktopDateTimePickerLayout,
133
- openPickerIcon: _icons.CalendarIcon
134
+ layout: _DesktopDateTimePickerLayout.DesktopDateTimePickerLayout
134
135
  }, defaultizedProps.slots),
135
136
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
136
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
137
- ref
138
- }),
137
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
139
138
  toolbar: (0, _extends2.default)({
140
139
  hidden: true,
141
- ampmInClock,
142
- toolbarVariant: 'desktop'
140
+ ampmInClock
143
141
  }, defaultizedProps.slotProps?.toolbar),
144
142
  tabs: (0, _extends2.default)({
145
143
  hidden: true
146
- }, defaultizedProps.slotProps?.tabs),
147
- actionBar: ownerState => (0, _extends2.default)({
148
- actions: actionBarActions
149
- }, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
144
+ }, defaultizedProps.slotProps?.tabs)
150
145
  })
151
146
  });
152
147
  const {
153
148
  renderPicker
154
149
  } = (0, _useDesktopPicker.useDesktopPicker)({
150
+ ref,
155
151
  props,
156
152
  valueManager: _valueManagers.singleItemValueManager,
157
153
  valueType: 'date-time',
158
- getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
159
- utils,
160
- formatKey: 'fullDate',
161
- contextTranslation: translations.openDatePickerDialogue,
162
- propsTranslation: props.localeText?.openDatePickerDialogue
163
- }),
164
154
  validator: _validation.validateDateTime,
165
155
  rendererInterceptor
166
156
  });
@@ -190,8 +180,8 @@ DesktopDateTimePicker.propTypes = {
190
180
  autoFocus: _propTypes.default.bool,
191
181
  className: _propTypes.default.string,
192
182
  /**
193
- * If `true`, the popover or modal will close after submitting the full date.
194
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
183
+ * If `true`, the Picker will close after submitting the full date.
184
+ * @default false
195
185
  */
196
186
  closeOnSelect: _propTypes.default.bool,
197
187
  /**