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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +2 -4
  2. package/AdapterDateFns/AdapterDateFns.js +49 -47
  3. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -1
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -4
  5. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  6. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts} +2 -2
  7. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  8. package/AdapterDateFnsJalaliV2/index.d.ts +1 -0
  9. package/AdapterDateFnsJalaliV2/index.js +1 -0
  10. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  11. package/{AdapterDateFnsV3/AdapterDateFnsV3.d.ts → AdapterDateFnsV2/AdapterDateFnsV2.d.ts} +2 -2
  12. package/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  13. package/AdapterDateFnsV2/index.d.ts +1 -0
  14. package/AdapterDateFnsV2/index.js +1 -0
  15. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  16. package/AdapterDayjs/AdapterDayjs.d.ts +1 -1
  17. package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
  18. package/AdapterMoment/AdapterMoment.d.ts +1 -1
  19. package/AdapterMoment/AdapterMoment.js +10 -0
  20. package/CHANGELOG.md +2215 -119
  21. package/DateCalendar/DateCalendar.js +5 -4
  22. package/DateCalendar/DateCalendar.types.d.ts +2 -1
  23. package/DateCalendar/DayCalendar.js +2 -0
  24. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  25. package/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  26. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  27. package/DateCalendar/PickersSlideTransition.js +12 -5
  28. package/DateCalendar/useCalendarState.d.ts +6 -4
  29. package/DateField/DateField.js +29 -33
  30. package/DateField/DateField.types.d.ts +7 -15
  31. package/DateField/useDateField.d.ts +1 -1
  32. package/DateField/useDateField.js +14 -11
  33. package/DatePicker/DatePicker.js +1 -1
  34. package/DatePicker/DatePicker.types.d.ts +7 -3
  35. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  36. package/DatePicker/DatePickerToolbar.js +17 -45
  37. package/DatePicker/shared.d.ts +6 -5
  38. package/DateTimeField/DateTimeField.js +29 -33
  39. package/DateTimeField/DateTimeField.types.d.ts +7 -16
  40. package/DateTimeField/useDateTimeField.d.ts +1 -1
  41. package/DateTimeField/useDateTimeField.js +14 -11
  42. package/DateTimePicker/DateTimePicker.js +2 -2
  43. package/DateTimePicker/DateTimePicker.types.d.ts +4 -5
  44. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
  45. package/DateTimePicker/DateTimePickerTabs.js +15 -20
  46. package/DateTimePicker/DateTimePickerToolbar.d.ts +16 -5
  47. package/DateTimePicker/DateTimePickerToolbar.js +92 -93
  48. package/DateTimePicker/shared.d.ts +8 -8
  49. package/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  50. package/DesktopDatePicker/DesktopDatePicker.js +11 -17
  51. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
  52. package/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  53. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
  54. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +2 -2
  55. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -46
  56. package/DesktopTimePicker/DesktopTimePicker.js +6 -22
  57. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  58. package/DigitalClock/DigitalClock.js +14 -11
  59. package/DigitalClock/DigitalClock.types.d.ts +8 -2
  60. package/MobileDatePicker/MobileDatePicker.js +4 -14
  61. package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
  62. package/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  63. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
  64. package/MobileTimePicker/MobileTimePicker.js +4 -14
  65. package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
  66. package/MonthCalendar/MonthCalendar.d.ts +1 -1
  67. package/MonthCalendar/MonthCalendar.js +32 -11
  68. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  69. package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
  70. package/{modern/MonthCalendar/PickersMonth.js → MonthCalendar/MonthCalendarButton.js} +20 -61
  71. package/MonthCalendar/index.d.ts +0 -3
  72. package/MonthCalendar/index.js +1 -2
  73. package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
  74. package/MonthCalendar/monthCalendarClasses.js +1 -1
  75. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +12 -7
  76. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +6 -6
  77. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +4 -4
  78. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  79. package/PickersActionBar/PickersActionBar.d.ts +6 -7
  80. package/PickersActionBar/PickersActionBar.js +26 -17
  81. package/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  82. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +3 -4
  83. package/PickersLayout/PickersLayout.d.ts +7 -5
  84. package/PickersLayout/PickersLayout.js +23 -54
  85. package/PickersLayout/PickersLayout.types.d.ts +20 -22
  86. package/PickersLayout/usePickerLayout.d.ts +5 -4
  87. package/PickersLayout/usePickerLayout.js +26 -57
  88. package/PickersSectionList/PickersSectionList.js +21 -16
  89. package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
  90. package/PickersShortcuts/PickersShortcuts.d.ts +9 -11
  91. package/PickersShortcuts/PickersShortcuts.js +21 -11
  92. package/PickersShortcuts/index.d.ts +1 -1
  93. package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
  94. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  95. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
  96. package/PickersTextField/PickersInput/PickersInput.js +20 -14
  97. package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
  98. package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  99. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
  100. package/PickersTextField/PickersInputBase/PickersInputBase.js +51 -44
  101. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  102. package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
  103. package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  104. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  105. package/PickersTextField/PickersTextField.js +75 -62
  106. package/PickersTextField/PickersTextField.types.d.ts +43 -4
  107. package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
  108. package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  109. package/README.md +10 -7
  110. package/StaticDatePicker/StaticDatePicker.js +2 -2
  111. package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
  112. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  113. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
  114. package/StaticTimePicker/StaticTimePicker.js +2 -2
  115. package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
  116. package/TimeClock/Clock.d.ts +4 -0
  117. package/TimeClock/Clock.js +28 -27
  118. package/TimeClock/ClockNumber.js +15 -11
  119. package/TimeClock/ClockPointer.d.ts +6 -1
  120. package/TimeClock/ClockPointer.js +16 -10
  121. package/TimeClock/TimeClock.js +31 -12
  122. package/TimeField/TimeField.js +28 -32
  123. package/TimeField/TimeField.types.d.ts +7 -16
  124. package/TimeField/useTimeField.d.ts +1 -1
  125. package/TimeField/useTimeField.js +14 -11
  126. package/TimePicker/TimePicker.js +2 -2
  127. package/TimePicker/TimePicker.types.d.ts +4 -5
  128. package/TimePicker/TimePickerToolbar.d.ts +1 -3
  129. package/TimePicker/TimePickerToolbar.js +40 -64
  130. package/TimePicker/shared.d.ts +6 -6
  131. package/YearCalendar/YearCalendar.js +47 -13
  132. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  133. package/YearCalendar/YearCalendarButton.d.ts +23 -0
  134. package/{modern/YearCalendar/PickersYear.js → YearCalendar/YearCalendarButton.js} +20 -59
  135. package/YearCalendar/index.d.ts +0 -3
  136. package/YearCalendar/index.js +1 -2
  137. package/YearCalendar/yearCalendarClasses.d.ts +7 -1
  138. package/YearCalendar/yearCalendarClasses.js +1 -1
  139. package/hooks/index.d.ts +2 -0
  140. package/hooks/index.js +3 -1
  141. package/hooks/useClearableField.d.ts +5 -3
  142. package/hooks/useClearableField.js +4 -2
  143. package/hooks/useIsValidValue.d.ts +7 -0
  144. package/hooks/useIsValidValue.js +11 -0
  145. package/hooks/useParsedFormat.d.ts +9 -7
  146. package/hooks/useParsedFormat.js +11 -13
  147. package/hooks/usePickerActionsContext.d.ts +7 -0
  148. package/hooks/usePickerActionsContext.js +15 -0
  149. package/hooks/usePickerContext.d.ts +5 -1
  150. package/hooks/usePickerContext.js +2 -2
  151. package/hooks/useSplitFieldProps.d.ts +15 -6
  152. package/hooks/useSplitFieldProps.js +8 -3
  153. package/index.d.ts +1 -0
  154. package/index.js +3 -2
  155. package/internals/components/PickerFieldUI.d.ts +133 -0
  156. package/internals/components/PickerFieldUI.js +317 -0
  157. package/internals/components/{PickersPopper.d.ts → PickerPopper/PickerPopper.d.ts} +26 -25
  158. package/{modern/internals/components/PickersPopper.js → internals/components/PickerPopper/PickerPopper.js} +47 -47
  159. package/internals/components/PickerPopper/index.d.ts +4 -0
  160. package/internals/components/PickerPopper/index.js +2 -0
  161. package/internals/components/PickerPopper/pickerPopperClasses.d.ts +9 -0
  162. package/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  163. package/internals/components/PickerProvider.d.ts +94 -14
  164. package/internals/components/PickerProvider.js +28 -8
  165. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  166. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +11 -8
  167. package/internals/components/PickersModalDialog.d.ts +1 -3
  168. package/internals/components/PickersModalDialog.js +9 -3
  169. package/internals/components/PickersToolbar.d.ts +2 -3
  170. package/internals/components/PickersToolbar.js +16 -15
  171. package/internals/components/PickersToolbarButton.js +4 -6
  172. package/internals/components/PickersToolbarText.js +11 -13
  173. package/internals/hooks/date-helpers-hooks.js +4 -3
  174. package/internals/hooks/useClockReferenceDate.d.ts +2 -1
  175. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  176. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +36 -121
  177. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -38
  178. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  179. package/internals/hooks/useField/index.d.ts +2 -0
  180. package/internals/hooks/useField/index.js +2 -1
  181. package/internals/hooks/useField/useField.d.ts +3 -3
  182. package/internals/hooks/useField/useField.js +17 -4
  183. package/internals/hooks/useField/useField.types.d.ts +56 -49
  184. package/internals/hooks/useField/useField.utils.d.ts +4 -3
  185. package/internals/hooks/useField/useField.utils.js +2 -2
  186. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +6 -5
  187. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
  188. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  189. package/internals/hooks/useField/useFieldState.d.ts +9 -8
  190. package/internals/hooks/useField/useFieldState.js +3 -3
  191. package/internals/hooks/useField/useFieldV6TextField.d.ts +4 -3
  192. package/internals/hooks/useField/useFieldV6TextField.js +5 -2
  193. package/internals/hooks/useField/useFieldV7TextField.js +8 -4
  194. package/internals/hooks/useFieldOwnerState.d.ts +6 -0
  195. package/internals/hooks/useFieldOwnerState.js +16 -0
  196. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  197. package/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
  198. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +15 -22
  199. package/internals/hooks/useNullablePickerContext.d.ts +5 -0
  200. package/internals/hooks/useNullablePickerContext.js +10 -0
  201. package/internals/hooks/useOpenState.d.ts +3 -2
  202. package/internals/hooks/useOpenState.js +11 -9
  203. package/internals/hooks/usePicker/index.d.ts +1 -1
  204. package/internals/hooks/usePicker/usePicker.d.ts +3 -4
  205. package/internals/hooks/usePicker/usePicker.js +10 -29
  206. package/internals/hooks/usePicker/usePicker.types.d.ts +11 -11
  207. package/internals/hooks/usePicker/usePickerProvider.d.ts +58 -7
  208. package/internals/hooks/usePicker/usePickerProvider.js +102 -12
  209. package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
  210. package/internals/hooks/usePicker/usePickerValue.js +100 -218
  211. package/internals/hooks/usePicker/usePickerValue.types.d.ts +135 -79
  212. package/internals/hooks/usePicker/usePickerViews.d.ts +59 -40
  213. package/internals/hooks/usePicker/usePickerViews.js +31 -19
  214. package/internals/hooks/useReduceAnimations.d.ts +2 -0
  215. package/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  216. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -1
  217. package/internals/hooks/useStaticPicker/useStaticPicker.js +8 -13
  218. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -13
  219. package/internals/hooks/useToolbarOwnerState.d.ts +10 -0
  220. package/internals/hooks/useToolbarOwnerState.js +13 -0
  221. package/internals/hooks/useUtils.d.ts +4 -3
  222. package/internals/hooks/useUtils.js +1 -1
  223. package/internals/hooks/useValueWithTimezone.d.ts +20 -15
  224. package/internals/hooks/useValueWithTimezone.js +13 -1
  225. package/internals/hooks/useViews.d.ts +5 -5
  226. package/internals/index.d.ts +28 -19
  227. package/internals/index.js +13 -8
  228. package/internals/models/common.d.ts +2 -1
  229. package/internals/models/fields.d.ts +8 -24
  230. package/internals/models/index.d.ts +1 -0
  231. package/internals/models/index.js +2 -1
  232. package/internals/models/manager.d.ts +15 -0
  233. package/internals/models/manager.js +1 -0
  234. package/internals/models/pickers.d.ts +1 -0
  235. package/internals/models/pickers.js +1 -0
  236. package/internals/models/props/basePickerProps.d.ts +3 -33
  237. package/internals/models/props/tabs.d.ts +0 -13
  238. package/internals/models/props/time.d.ts +2 -1
  239. package/internals/models/props/toolbar.d.ts +1 -20
  240. package/internals/models/value.d.ts +9 -0
  241. package/internals/utils/date-utils.d.ts +3 -3
  242. package/internals/utils/date-utils.js +1 -1
  243. package/internals/utils/utils.d.ts +3 -0
  244. package/internals/utils/utils.js +11 -1
  245. package/internals/utils/valueManagers.d.ts +4 -3
  246. package/internals/utils/valueManagers.js +4 -4
  247. package/locales/index.d.ts +1 -0
  248. package/locales/index.js +1 -0
  249. package/locales/nbNO.js +15 -19
  250. package/locales/nlNL.js +7 -7
  251. package/locales/roRO.js +15 -18
  252. package/locales/utils/getPickersLocalization.d.ts +0 -7
  253. package/locales/utils/getPickersLocalization.js +0 -13
  254. package/locales/zhTW.d.ts +80 -0
  255. package/locales/zhTW.js +73 -0
  256. package/managers/index.d.ts +6 -0
  257. package/managers/index.js +3 -0
  258. package/managers/package.json +6 -0
  259. package/managers/useDateManager.d.ts +27 -0
  260. package/managers/useDateManager.js +55 -0
  261. package/managers/useDateTimeManager.d.ts +28 -0
  262. package/managers/useDateTimeManager.js +60 -0
  263. package/managers/useTimeManager.d.ts +28 -0
  264. package/managers/useTimeManager.js +51 -0
  265. package/models/adapters.d.ts +5 -5
  266. package/models/common.d.ts +1 -0
  267. package/models/fields.d.ts +33 -10
  268. package/models/index.d.ts +1 -0
  269. package/models/index.js +1 -0
  270. package/models/manager.d.ts +87 -0
  271. package/models/manager.js +1 -0
  272. package/models/pickers.d.ts +25 -0
  273. package/models/validation.d.ts +2 -1
  274. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  275. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  276. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  277. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  278. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  279. package/modern/AdapterDateFnsV2/index.js +1 -0
  280. package/modern/AdapterMoment/AdapterMoment.js +10 -0
  281. package/modern/DateCalendar/DateCalendar.js +5 -4
  282. package/modern/DateCalendar/DayCalendar.js +2 -0
  283. package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  284. package/modern/DateCalendar/PickersSlideTransition.js +12 -5
  285. package/modern/DateField/DateField.js +29 -33
  286. package/modern/DateField/useDateField.js +14 -11
  287. package/modern/DatePicker/DatePicker.js +1 -1
  288. package/modern/DatePicker/DatePickerToolbar.js +17 -45
  289. package/modern/DateTimeField/DateTimeField.js +29 -33
  290. package/modern/DateTimeField/useDateTimeField.js +14 -11
  291. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  292. package/modern/DateTimePicker/DateTimePickerTabs.js +15 -20
  293. package/modern/DateTimePicker/DateTimePickerToolbar.js +92 -93
  294. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  295. package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -17
  296. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  297. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -46
  298. package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
  299. package/modern/DigitalClock/DigitalClock.js +14 -11
  300. package/modern/MobileDatePicker/MobileDatePicker.js +4 -14
  301. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  302. package/modern/MobileTimePicker/MobileTimePicker.js +4 -14
  303. package/modern/MonthCalendar/MonthCalendar.js +32 -11
  304. package/{MonthCalendar/PickersMonth.js → modern/MonthCalendar/MonthCalendarButton.js} +20 -61
  305. package/modern/MonthCalendar/index.js +1 -2
  306. package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
  307. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +12 -7
  308. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  309. package/modern/PickersActionBar/PickersActionBar.js +26 -17
  310. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  311. package/modern/PickersLayout/PickersLayout.js +23 -54
  312. package/modern/PickersLayout/usePickerLayout.js +26 -57
  313. package/modern/PickersSectionList/PickersSectionList.js +21 -16
  314. package/modern/PickersShortcuts/PickersShortcuts.js +21 -11
  315. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  316. package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
  317. package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  318. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +51 -44
  319. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  320. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  321. package/modern/PickersTextField/PickersTextField.js +75 -62
  322. package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  323. package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
  324. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  325. package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
  326. package/modern/TimeClock/Clock.js +28 -27
  327. package/modern/TimeClock/ClockNumber.js +15 -11
  328. package/modern/TimeClock/ClockPointer.js +16 -10
  329. package/modern/TimeClock/TimeClock.js +31 -12
  330. package/modern/TimeField/TimeField.js +28 -32
  331. package/modern/TimeField/useTimeField.js +14 -11
  332. package/modern/TimePicker/TimePicker.js +2 -2
  333. package/modern/TimePicker/TimePickerToolbar.js +40 -64
  334. package/modern/YearCalendar/YearCalendar.js +47 -13
  335. package/{YearCalendar/PickersYear.js → modern/YearCalendar/YearCalendarButton.js} +20 -59
  336. package/modern/YearCalendar/index.js +1 -2
  337. package/modern/YearCalendar/yearCalendarClasses.js +1 -1
  338. package/modern/hooks/index.js +3 -1
  339. package/modern/hooks/useClearableField.js +4 -2
  340. package/modern/hooks/useIsValidValue.js +11 -0
  341. package/modern/hooks/useParsedFormat.js +11 -13
  342. package/modern/hooks/usePickerActionsContext.js +15 -0
  343. package/modern/hooks/usePickerContext.js +2 -2
  344. package/modern/hooks/useSplitFieldProps.js +8 -3
  345. package/modern/index.js +3 -2
  346. package/modern/internals/components/PickerFieldUI.js +317 -0
  347. package/{internals/components/PickersPopper.js → modern/internals/components/PickerPopper/PickerPopper.js} +47 -47
  348. package/modern/internals/components/PickerPopper/index.js +2 -0
  349. package/modern/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  350. package/modern/internals/components/PickerProvider.js +28 -8
  351. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  352. package/modern/internals/components/PickersModalDialog.js +9 -3
  353. package/modern/internals/components/PickersToolbar.js +16 -15
  354. package/modern/internals/components/PickersToolbarButton.js +4 -6
  355. package/modern/internals/components/PickersToolbarText.js +11 -13
  356. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  357. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +36 -121
  358. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  359. package/modern/internals/hooks/useField/index.js +2 -1
  360. package/modern/internals/hooks/useField/useField.js +17 -4
  361. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  362. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  363. package/modern/internals/hooks/useField/useFieldState.js +3 -3
  364. package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
  365. package/modern/internals/hooks/useField/useFieldV7TextField.js +8 -4
  366. package/modern/internals/hooks/useFieldOwnerState.js +16 -0
  367. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
  368. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  369. package/modern/internals/hooks/useOpenState.js +11 -9
  370. package/modern/internals/hooks/usePicker/usePicker.js +10 -29
  371. package/modern/internals/hooks/usePicker/usePickerProvider.js +102 -12
  372. package/modern/internals/hooks/usePicker/usePickerValue.js +100 -218
  373. package/modern/internals/hooks/usePicker/usePickerViews.js +31 -19
  374. package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  375. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +8 -13
  376. package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
  377. package/modern/internals/hooks/useUtils.js +1 -1
  378. package/modern/internals/hooks/useValueWithTimezone.js +13 -1
  379. package/modern/internals/index.js +13 -8
  380. package/modern/internals/models/index.js +2 -1
  381. package/modern/internals/models/manager.js +1 -0
  382. package/modern/internals/models/pickers.js +1 -0
  383. package/modern/internals/utils/date-utils.js +1 -1
  384. package/modern/internals/utils/utils.js +11 -1
  385. package/modern/internals/utils/valueManagers.js +4 -4
  386. package/modern/locales/index.js +1 -0
  387. package/modern/locales/nbNO.js +15 -19
  388. package/modern/locales/nlNL.js +7 -7
  389. package/modern/locales/roRO.js +15 -18
  390. package/modern/locales/utils/getPickersLocalization.js +0 -13
  391. package/modern/locales/zhTW.js +73 -0
  392. package/modern/managers/index.js +3 -0
  393. package/modern/managers/useDateManager.js +55 -0
  394. package/modern/managers/useDateTimeManager.js +60 -0
  395. package/modern/managers/useTimeManager.js +51 -0
  396. package/modern/models/index.js +1 -0
  397. package/modern/models/manager.js +1 -0
  398. package/modern/validation/useValidation.js +1 -1
  399. package/modern/validation/validateDate.js +8 -0
  400. package/modern/validation/validateDateTime.js +8 -0
  401. package/modern/validation/validateTime.js +8 -0
  402. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  403. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  404. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  405. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  406. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  407. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  408. package/node/AdapterMoment/AdapterMoment.js +10 -0
  409. package/node/DateCalendar/DateCalendar.js +5 -4
  410. package/node/DateCalendar/DayCalendar.js +1 -0
  411. package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  412. package/node/DateCalendar/PickersSlideTransition.js +12 -5
  413. package/node/DateField/DateField.js +29 -33
  414. package/node/DateField/useDateField.js +13 -10
  415. package/node/DatePicker/DatePicker.js +1 -1
  416. package/node/DatePicker/DatePickerToolbar.js +17 -45
  417. package/node/DateTimeField/DateTimeField.js +29 -33
  418. package/node/DateTimeField/useDateTimeField.js +13 -10
  419. package/node/DateTimePicker/DateTimePicker.js +2 -2
  420. package/node/DateTimePicker/DateTimePickerTabs.js +15 -20
  421. package/node/DateTimePicker/DateTimePickerToolbar.js +93 -93
  422. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  423. package/node/DesktopDatePicker/DesktopDatePicker.js +11 -17
  424. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  425. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -47
  426. package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
  427. package/node/DigitalClock/DigitalClock.js +14 -11
  428. package/node/MobileDatePicker/MobileDatePicker.js +4 -14
  429. package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  430. package/node/MobileTimePicker/MobileTimePicker.js +4 -14
  431. package/node/MonthCalendar/MonthCalendar.js +32 -11
  432. package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  433. package/node/MonthCalendar/index.js +1 -8
  434. package/node/MonthCalendar/monthCalendarClasses.js +1 -1
  435. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +12 -7
  436. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
  437. package/node/PickersActionBar/PickersActionBar.js +28 -19
  438. package/node/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  439. package/node/PickersLayout/PickersLayout.js +23 -54
  440. package/node/PickersLayout/usePickerLayout.js +30 -61
  441. package/node/PickersSectionList/PickersSectionList.js +21 -16
  442. package/node/PickersShortcuts/PickersShortcuts.js +21 -11
  443. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  444. package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
  445. package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  446. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +51 -44
  447. package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  448. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  449. package/node/PickersTextField/PickersTextField.js +75 -62
  450. package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
  451. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  452. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  453. package/node/StaticTimePicker/StaticTimePicker.js +2 -2
  454. package/node/TimeClock/Clock.js +28 -27
  455. package/node/TimeClock/ClockNumber.js +15 -11
  456. package/node/TimeClock/ClockPointer.js +15 -10
  457. package/node/TimeClock/TimeClock.js +31 -12
  458. package/node/TimeField/TimeField.js +28 -32
  459. package/node/TimeField/useTimeField.js +13 -10
  460. package/node/TimePicker/TimePicker.js +2 -2
  461. package/node/TimePicker/TimePickerToolbar.js +40 -64
  462. package/node/YearCalendar/YearCalendar.js +46 -12
  463. package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  464. package/node/YearCalendar/index.js +1 -8
  465. package/node/YearCalendar/yearCalendarClasses.js +1 -1
  466. package/node/hooks/index.js +15 -1
  467. package/node/hooks/useClearableField.js +4 -2
  468. package/node/hooks/useIsValidValue.js +18 -0
  469. package/node/hooks/useParsedFormat.js +11 -13
  470. package/node/hooks/usePickerActionsContext.js +22 -0
  471. package/node/hooks/usePickerContext.js +5 -4
  472. package/node/hooks/useSplitFieldProps.js +7 -2
  473. package/node/index.js +13 -1
  474. package/node/internals/components/PickerFieldUI.js +329 -0
  475. package/node/internals/components/{PickersPopper.js → PickerPopper/PickerPopper.js} +48 -48
  476. package/node/internals/components/PickerPopper/index.js +25 -0
  477. package/node/internals/components/PickerPopper/pickerPopperClasses.js +14 -0
  478. package/node/internals/components/PickerProvider.js +30 -10
  479. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  480. package/node/internals/components/PickersModalDialog.js +9 -3
  481. package/node/internals/components/PickersToolbar.js +16 -15
  482. package/node/internals/components/PickersToolbarButton.js +4 -6
  483. package/node/internals/components/PickersToolbarText.js +10 -12
  484. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  485. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +38 -123
  486. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  487. package/node/internals/hooks/useField/index.js +8 -1
  488. package/node/internals/hooks/useField/useField.js +16 -3
  489. package/node/internals/hooks/useField/useField.utils.js +2 -2
  490. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +56 -0
  491. package/node/internals/hooks/useField/useFieldState.js +3 -3
  492. package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
  493. package/node/internals/hooks/useField/useFieldV7TextField.js +8 -4
  494. package/node/internals/hooks/useFieldOwnerState.js +24 -0
  495. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +36 -70
  496. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  497. package/node/internals/hooks/useOpenState.js +12 -9
  498. package/node/internals/hooks/usePicker/usePicker.js +10 -29
  499. package/node/internals/hooks/usePicker/usePickerProvider.js +105 -12
  500. package/node/internals/hooks/usePicker/usePickerValue.js +100 -217
  501. package/node/internals/hooks/usePicker/usePickerViews.js +31 -20
  502. package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
  503. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +8 -13
  504. package/node/internals/hooks/useToolbarOwnerState.js +21 -0
  505. package/node/internals/hooks/useUtils.js +1 -1
  506. package/node/internals/hooks/useValueWithTimezone.js +13 -1
  507. package/node/internals/index.js +87 -34
  508. package/node/internals/models/index.js +11 -0
  509. package/node/internals/models/manager.js +5 -0
  510. package/node/internals/models/pickers.js +5 -0
  511. package/node/internals/utils/date-utils.js +1 -1
  512. package/node/internals/utils/utils.js +14 -2
  513. package/node/internals/utils/valueManagers.js +4 -4
  514. package/node/locales/index.js +11 -0
  515. package/node/locales/nbNO.js +15 -19
  516. package/node/locales/nlNL.js +7 -7
  517. package/node/locales/roRO.js +15 -18
  518. package/node/locales/utils/getPickersLocalization.js +2 -16
  519. package/node/locales/zhTW.js +79 -0
  520. package/node/managers/index.js +26 -0
  521. package/node/managers/useDateManager.js +63 -0
  522. package/node/managers/useDateTimeManager.js +68 -0
  523. package/node/managers/useTimeManager.js +59 -0
  524. package/node/models/index.js +11 -0
  525. package/node/models/manager.js +5 -0
  526. package/node/validation/useValidation.js +1 -1
  527. package/node/validation/validateDate.js +8 -0
  528. package/node/validation/validateDateTime.js +8 -0
  529. package/node/validation/validateTime.js +8 -0
  530. package/package.json +7 -7
  531. package/themeAugmentation/components.d.ts +3 -11
  532. package/themeAugmentation/overrides.d.ts +5 -7
  533. package/themeAugmentation/props.d.ts +7 -9
  534. package/validation/extractValidationProps.d.ts +1 -1
  535. package/validation/useValidation.d.ts +7 -6
  536. package/validation/useValidation.js +1 -1
  537. package/validation/validateDate.d.ts +12 -3
  538. package/validation/validateDate.js +8 -0
  539. package/validation/validateDateTime.d.ts +12 -4
  540. package/validation/validateDateTime.js +8 -0
  541. package/validation/validateTime.d.ts +12 -3
  542. package/validation/validateTime.js +8 -0
  543. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  544. package/AdapterDateFnsJalaliV3/index.js +0 -1
  545. package/AdapterDateFnsV3/index.d.ts +0 -1
  546. package/AdapterDateFnsV3/index.js +0 -1
  547. package/MonthCalendar/PickersMonth.d.ts +0 -28
  548. package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
  549. package/MonthCalendar/pickersMonthClasses.js +0 -5
  550. package/YearCalendar/PickersYear.d.ts +0 -27
  551. package/YearCalendar/pickersYearClasses.d.ts +0 -13
  552. package/YearCalendar/pickersYearClasses.js +0 -5
  553. package/internals/components/pickersPopperClasses.d.ts +0 -9
  554. package/internals/components/pickersPopperClasses.js +0 -5
  555. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  556. package/internals/hooks/defaultizedFieldProps.js +0 -40
  557. package/internals/hooks/useDefaultReduceAnimations.d.ts +0 -2
  558. package/internals/hooks/useIsLandscape.d.ts +0 -4
  559. package/internals/hooks/useIsLandscape.js +0 -35
  560. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +0 -33
  561. package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -34
  562. package/internals/hooks/usePicker/usePickerOwnerState.d.ts +0 -10
  563. package/internals/hooks/usePicker/usePickerOwnerState.js +0 -16
  564. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  565. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  566. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  567. package/modern/AdapterDateFnsV3/index.js +0 -1
  568. package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
  569. package/modern/YearCalendar/pickersYearClasses.js +0 -5
  570. package/modern/internals/components/pickersPopperClasses.js +0 -5
  571. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  572. package/modern/internals/hooks/useIsLandscape.js +0 -35
  573. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +0 -34
  574. package/modern/internals/hooks/usePicker/usePickerOwnerState.js +0 -16
  575. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  576. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  577. package/node/MonthCalendar/pickersMonthClasses.js +0 -12
  578. package/node/YearCalendar/pickersYearClasses.js +0 -12
  579. package/node/internals/components/pickersPopperClasses.js +0 -12
  580. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  581. package/node/internals/hooks/useIsLandscape.js +0 -43
  582. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +0 -41
  583. package/node/internals/hooks/usePicker/usePickerOwnerState.js +0 -23
  584. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
@@ -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");
@@ -26,21 +27,22 @@ var _dimensions = require("../internals/constants/dimensions");
26
27
  var _dateUtils = require("../internals/utils/date-utils");
27
28
  var _pickersToolbarTextClasses = require("../internals/components/pickersToolbarTextClasses");
28
29
  var _pickersToolbarClasses = require("../internals/components/pickersToolbarClasses");
30
+ var _usePickerContext = require("../hooks/usePickerContext");
31
+ var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
29
32
  var _jsxRuntime = require("react/jsx-runtime");
30
- const _excluded = ["ampm", "ampmInClock", "value", "onChange", "view", "isLandscape", "onViewChange", "toolbarFormat", "toolbarPlaceholder", "views", "disabled", "readOnly", "toolbarVariant", "toolbarTitle", "className"];
31
- const useUtilityClasses = ownerState => {
33
+ const _excluded = ["ampm", "ampmInClock", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "className", "classes"];
34
+ const useUtilityClasses = (classes, ownerState) => {
32
35
  const {
33
- classes,
34
- isLandscape,
35
- isRtl
36
+ pickerOrientation,
37
+ toolbarDirection
36
38
  } = ownerState;
37
39
  const slots = {
38
40
  root: ['root'],
39
41
  dateContainer: ['dateContainer'],
40
- timeContainer: ['timeContainer', isRtl && 'timeLabelReverse'],
41
- timeDigitsContainer: ['timeDigitsContainer', isRtl && 'timeLabelReverse'],
42
+ timeContainer: ['timeContainer', toolbarDirection === 'rtl' && 'timeLabelReverse'],
43
+ timeDigitsContainer: ['timeDigitsContainer', toolbarDirection === 'rtl' && 'timeLabelReverse'],
42
44
  separator: ['separator'],
43
- ampmSelection: ['ampmSelection', isLandscape && 'ampmLandscape'],
45
+ ampmSelection: ['ampmSelection', pickerOrientation === 'landscape' && 'ampmLandscape'],
44
46
  ampmLabel: ['ampmLabel']
45
47
  };
46
48
  return (0, _composeClasses.default)(slots, _dateTimePickerToolbarClasses.getDateTimePickerToolbarUtilityClass, classes);
@@ -48,7 +50,8 @@ const useUtilityClasses = ownerState => {
48
50
  const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToolbar, {
49
51
  name: 'MuiDateTimePickerToolbar',
50
52
  slot: 'Root',
51
- overridesResolver: (props, styles) => styles.root
53
+ overridesResolver: (props, styles) => styles.root,
54
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
52
55
  })(({
53
56
  theme
54
57
  }) => ({
@@ -70,7 +73,7 @@ const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToo
70
73
  }, {
71
74
  props: {
72
75
  toolbarVariant: 'desktop',
73
- isLandscape: true
76
+ pickerOrientation: 'landscape'
74
77
  },
75
78
  style: {
76
79
  borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
@@ -78,7 +81,7 @@ const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToo
78
81
  }, {
79
82
  props: {
80
83
  toolbarVariant: 'desktop',
81
- isLandscape: false
84
+ pickerOrientation: 'portrait'
82
85
  },
83
86
  style: {
84
87
  paddingLeft: 24,
@@ -98,13 +101,14 @@ const DateTimePickerToolbarDateContainer = (0, _styles.styled)('div', {
98
101
  const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
99
102
  name: 'MuiDateTimePickerToolbar',
100
103
  slot: 'TimeContainer',
101
- overridesResolver: (props, styles) => styles.timeContainer
104
+ overridesResolver: (props, styles) => styles.timeContainer,
105
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
102
106
  })({
103
107
  display: 'flex',
104
108
  flexDirection: 'row',
105
109
  variants: [{
106
110
  props: {
107
- isRtl: true
111
+ toolbarDirection: 'rtl'
108
112
  },
109
113
  style: {
110
114
  flexDirection: 'row-reverse'
@@ -112,7 +116,7 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
112
116
  }, {
113
117
  props: {
114
118
  toolbarVariant: 'desktop',
115
- isLandscape: false
119
+ pickerOrientation: 'portrait'
116
120
  },
117
121
  style: {
118
122
  gap: 9,
@@ -121,18 +125,18 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
121
125
  }
122
126
  }, {
123
127
  props: ({
124
- isLandscape,
128
+ pickerOrientation,
125
129
  toolbarVariant
126
- }) => isLandscape && toolbarVariant !== 'desktop',
130
+ }) => pickerOrientation === 'landscape' && toolbarVariant !== 'desktop',
127
131
  style: {
128
132
  flexDirection: 'column'
129
133
  }
130
134
  }, {
131
135
  props: ({
132
- isLandscape,
136
+ pickerOrientation,
133
137
  toolbarVariant,
134
- isRtl
135
- }) => isLandscape && toolbarVariant !== 'desktop' && isRtl,
138
+ toolbarDirection
139
+ }) => pickerOrientation === 'landscape' && toolbarVariant !== 'desktop' && toolbarDirection === 'rtl',
136
140
  style: {
137
141
  flexDirection: 'column-reverse'
138
142
  }
@@ -141,12 +145,13 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
141
145
  const DateTimePickerToolbarTimeDigitsContainer = (0, _styles.styled)('div', {
142
146
  name: 'MuiDateTimePickerToolbar',
143
147
  slot: 'TimeDigitsContainer',
144
- overridesResolver: (props, styles) => styles.timeDigitsContainer
148
+ overridesResolver: (props, styles) => styles.timeDigitsContainer,
149
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
145
150
  })({
146
151
  display: 'flex',
147
152
  variants: [{
148
153
  props: {
149
- isRtl: true
154
+ toolbarDirection: 'rtl'
150
155
  },
151
156
  style: {
152
157
  flexDirection: 'row-reverse'
@@ -163,7 +168,8 @@ const DateTimePickerToolbarTimeDigitsContainer = (0, _styles.styled)('div', {
163
168
  const DateTimePickerToolbarSeparator = (0, _styles.styled)(_PickersToolbarText.PickersToolbarText, {
164
169
  name: 'MuiDateTimePickerToolbar',
165
170
  slot: 'Separator',
166
- overridesResolver: (props, styles) => styles.separator
171
+ overridesResolver: (props, styles) => styles.separator,
172
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
167
173
  })({
168
174
  margin: '0 4px 0 2px',
169
175
  cursor: 'default',
@@ -196,7 +202,7 @@ const DateTimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
196
202
  },
197
203
  variants: [{
198
204
  props: {
199
- isLandscape: true
205
+ pickerOrientation: 'landscape'
200
206
  },
201
207
  style: {
202
208
  margin: '4px 0 auto',
@@ -207,6 +213,13 @@ const DateTimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
207
213
  }]
208
214
  });
209
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
+
210
223
  /**
211
224
  * Demos:
212
225
  *
@@ -225,38 +238,45 @@ function DateTimePickerToolbar(inProps) {
225
238
  const {
226
239
  ampm,
227
240
  ampmInClock,
228
- value,
229
- onChange,
230
- view,
231
- isLandscape,
232
- onViewChange,
233
241
  toolbarFormat,
234
242
  toolbarPlaceholder = '––',
235
- views,
236
- disabled,
237
- readOnly,
238
- toolbarVariant = 'mobile',
239
243
  toolbarTitle: inToolbarTitle,
240
- className
244
+ className,
245
+ classes: classesProp
241
246
  } = props,
242
247
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
243
- const isRtl = (0, _RtlProvider.useRtl)();
244
- const ownerState = (0, _extends2.default)({}, props, {
245
- isRtl
246
- });
248
+ const {
249
+ value: valueContext,
250
+ setValue: setValueContext,
251
+ disabled,
252
+ readOnly,
253
+ variant,
254
+ orientation,
255
+ view: viewContext,
256
+ setView: setViewContext,
257
+ views
258
+ } = (0, _usePickerContext.usePickerContext)();
259
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
260
+ const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
261
+ const classes = useUtilityClasses(classesProp, ownerState);
247
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;
248
268
  const {
249
269
  meridiemMode,
250
270
  handleMeridiemChange
251
- } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, onChange);
252
- 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;
253
275
  const isDesktop = toolbarVariant === 'desktop';
254
- const translations = (0, _usePickerTranslations.usePickerTranslations)();
255
- const classes = useUtilityClasses(ownerState);
276
+ const showAmPmControl = Boolean(ampm && !ampmInClock);
256
277
  const toolbarTitle = inToolbarTitle ?? translations.dateTimePickerToolbarTitle;
257
- const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
258
278
  const dateText = React.useMemo(() => {
259
- if (!value) {
279
+ if (!utils.isValid(value)) {
260
280
  return toolbarPlaceholder;
261
281
  }
262
282
  if (toolbarFormat) {
@@ -264,10 +284,16 @@ function DateTimePickerToolbar(inProps) {
264
284
  }
265
285
  return utils.format(value, 'shortDate');
266
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
+ };
267
293
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarRoot, (0, _extends2.default)({
268
- isLandscape: isLandscape,
269
294
  className: (0, _clsx.default)(classes.root, className),
270
- toolbarTitle: toolbarTitle
295
+ toolbarTitle: toolbarTitle,
296
+ toolbarVariant: toolbarVariant
271
297
  }, other, {
272
298
  ownerState: ownerState,
273
299
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarDateContainer, {
@@ -276,40 +302,43 @@ function DateTimePickerToolbar(inProps) {
276
302
  children: [views.includes('year') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
277
303
  tabIndex: -1,
278
304
  variant: "subtitle1",
279
- onClick: () => onViewChange('year'),
305
+ onClick: () => setView('year'),
280
306
  selected: view === 'year',
281
- value: value ? utils.format(value, 'year') : '–'
307
+ value: formatSection('year', '–')
282
308
  }), views.includes('day') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
283
309
  tabIndex: -1,
284
310
  variant: isDesktop ? 'h5' : 'h4',
285
- onClick: () => onViewChange('day'),
311
+ onClick: () => setView('day'),
286
312
  selected: view === 'day',
287
313
  value: dateText
288
314
  })]
289
315
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarTimeContainer, {
290
316
  className: classes.timeContainer,
291
317
  ownerState: ownerState,
318
+ toolbarVariant: toolbarVariant,
292
319
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarTimeDigitsContainer, {
293
320
  className: classes.timeDigitsContainer,
294
321
  ownerState: ownerState,
322
+ toolbarVariant: toolbarVariant,
295
323
  children: [views.includes('hours') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
296
324
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
297
325
  variant: isDesktop ? 'h5' : 'h3',
298
- width: isDesktop && !isLandscape ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
299
- onClick: () => onViewChange('hours'),
326
+ width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
327
+ onClick: () => setView('hours'),
300
328
  selected: view === 'hours',
301
- value: value ? formatHours(value) : '--'
329
+ value: formatSection(ampm ? 'hours12h' : 'hours24h', '--')
302
330
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimePickerToolbarSeparator, {
303
331
  variant: isDesktop ? 'h5' : 'h3',
304
332
  value: ":",
305
333
  className: classes.separator,
306
- ownerState: ownerState
334
+ ownerState: ownerState,
335
+ toolbarVariant: toolbarVariant
307
336
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
308
337
  variant: isDesktop ? 'h5' : 'h3',
309
- width: isDesktop && !isLandscape ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
310
- onClick: () => onViewChange('minutes'),
338
+ width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
339
+ onClick: () => setView('minutes'),
311
340
  selected: view === 'minutes' || !views.includes('minutes') && view === 'hours',
312
- value: value ? utils.format(value, 'minutes') : '--',
341
+ value: formatSection('minutes', '--'),
313
342
  disabled: !views.includes('minutes')
314
343
  })]
315
344
  }), views.includes('seconds') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
@@ -317,13 +346,14 @@ function DateTimePickerToolbar(inProps) {
317
346
  variant: isDesktop ? 'h5' : 'h3',
318
347
  value: ":",
319
348
  className: classes.separator,
320
- ownerState: ownerState
349
+ ownerState: ownerState,
350
+ toolbarVariant: toolbarVariant
321
351
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
322
352
  variant: isDesktop ? 'h5' : 'h3',
323
- width: isDesktop && !isLandscape ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
324
- onClick: () => onViewChange('seconds'),
353
+ width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
354
+ onClick: () => setView('seconds'),
325
355
  selected: view === 'seconds',
326
- value: value ? utils.format(value, 'seconds') : '--'
356
+ value: formatSection('seconds', '--')
327
357
  })]
328
358
  })]
329
359
  }), showAmPmControl && !isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarAmPmSelection, {
@@ -346,7 +376,7 @@ function DateTimePickerToolbar(inProps) {
346
376
  })]
347
377
  }), ampm && isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
348
378
  variant: "h5",
349
- onClick: () => onViewChange('meridiem'),
379
+ onClick: () => setView('meridiem'),
350
380
  selected: view === 'meridiem',
351
381
  value: value && meridiemMode ? (0, _dateUtils.formatMeridiem)(utils, meridiemMode) : '--',
352
382
  width: _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH
@@ -366,31 +396,11 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
366
396
  */
367
397
  classes: _propTypes.default.object,
368
398
  className: _propTypes.default.string,
369
- /**
370
- * If `true`, the component is disabled.
371
- * When disabled, the value cannot be changed and no interaction is possible.
372
- * @default false
373
- */
374
- disabled: _propTypes.default.bool,
375
399
  /**
376
400
  * If `true`, show the toolbar even in desktop mode.
377
401
  * @default `true` for Desktop, `false` for Mobile.
378
402
  */
379
403
  hidden: _propTypes.default.bool,
380
- isLandscape: _propTypes.default.bool.isRequired,
381
- onChange: _propTypes.default.func.isRequired,
382
- /**
383
- * Callback called when a toolbar is clicked
384
- * @template TView
385
- * @param {TView} view The view to open
386
- */
387
- onViewChange: _propTypes.default.func.isRequired,
388
- /**
389
- * If `true`, the component is read-only.
390
- * When read-only, the value cannot be changed but the user can interact with the interface.
391
- * @default false
392
- */
393
- readOnly: _propTypes.default.bool,
394
404
  /**
395
405
  * The system prop that allows defining system overrides as well as additional CSS styles.
396
406
  */
@@ -408,15 +418,5 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
408
418
  /**
409
419
  * If provided, it will be used instead of `dateTimePickerToolbarTitle` from localization.
410
420
  */
411
- toolbarTitle: _propTypes.default.node,
412
- toolbarVariant: _propTypes.default.oneOf(['desktop', 'mobile']),
413
- value: _propTypes.default.object,
414
- /**
415
- * Currently visible picker view.
416
- */
417
- view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
418
- /**
419
- * Available views.
420
- */
421
- views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
421
+ toolbarTitle: _propTypes.default.node
422
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
  /**