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

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 (580) 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 +2007 -230
  21. package/DateCalendar/DateCalendar.js +41 -22
  22. package/DateCalendar/DateCalendar.types.d.ts +2 -1
  23. package/DateCalendar/DayCalendar.d.ts +1 -2
  24. package/DateCalendar/DayCalendar.js +12 -36
  25. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  26. package/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  27. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  28. package/DateCalendar/PickersSlideTransition.js +12 -5
  29. package/DateCalendar/useCalendarState.d.ts +13 -27
  30. package/DateCalendar/useCalendarState.js +65 -55
  31. package/DateField/DateField.js +29 -33
  32. package/DateField/DateField.types.d.ts +7 -15
  33. package/DateField/useDateField.d.ts +1 -1
  34. package/DateField/useDateField.js +14 -11
  35. package/DatePicker/DatePicker.js +1 -1
  36. package/DatePicker/DatePicker.types.d.ts +7 -3
  37. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  38. package/DatePicker/DatePickerToolbar.js +17 -33
  39. package/DatePicker/shared.d.ts +6 -5
  40. package/DateTimeField/DateTimeField.js +29 -33
  41. package/DateTimeField/DateTimeField.types.d.ts +7 -16
  42. package/DateTimeField/useDateTimeField.d.ts +1 -1
  43. package/DateTimeField/useDateTimeField.js +14 -11
  44. package/DateTimePicker/DateTimePicker.js +2 -2
  45. package/DateTimePicker/DateTimePicker.types.d.ts +4 -5
  46. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
  47. package/DateTimePicker/DateTimePickerTabs.js +15 -20
  48. package/DateTimePicker/DateTimePickerToolbar.d.ts +16 -5
  49. package/DateTimePicker/DateTimePickerToolbar.js +88 -80
  50. package/DateTimePicker/shared.d.ts +8 -8
  51. package/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  52. package/DesktopDatePicker/DesktopDatePicker.js +11 -17
  53. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
  54. package/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  55. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
  56. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +2 -2
  57. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  58. package/DesktopTimePicker/DesktopTimePicker.js +6 -22
  59. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  60. package/DigitalClock/DigitalClock.js +13 -11
  61. package/DigitalClock/DigitalClock.types.d.ts +8 -2
  62. package/MobileDatePicker/MobileDatePicker.js +4 -14
  63. package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
  64. package/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  65. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
  66. package/MobileTimePicker/MobileTimePicker.js +4 -14
  67. package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
  68. package/MonthCalendar/MonthCalendar.d.ts +1 -1
  69. package/MonthCalendar/MonthCalendar.js +31 -11
  70. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  71. package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
  72. package/{modern/MonthCalendar/PickersMonth.js → MonthCalendar/MonthCalendarButton.js} +20 -61
  73. package/MonthCalendar/index.d.ts +0 -3
  74. package/MonthCalendar/index.js +1 -2
  75. package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
  76. package/MonthCalendar/monthCalendarClasses.js +1 -1
  77. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  78. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +6 -6
  79. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +4 -4
  80. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  81. package/PickersActionBar/PickersActionBar.d.ts +6 -7
  82. package/PickersActionBar/PickersActionBar.js +26 -17
  83. package/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
  84. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +4 -6
  85. package/PickersLayout/PickersLayout.d.ts +7 -5
  86. package/PickersLayout/PickersLayout.js +23 -42
  87. package/PickersLayout/PickersLayout.types.d.ts +20 -22
  88. package/PickersLayout/usePickerLayout.d.ts +5 -4
  89. package/PickersLayout/usePickerLayout.js +26 -53
  90. package/PickersSectionList/PickersSectionList.js +21 -16
  91. package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
  92. package/PickersShortcuts/PickersShortcuts.d.ts +9 -11
  93. package/PickersShortcuts/PickersShortcuts.js +21 -11
  94. package/PickersShortcuts/index.d.ts +1 -1
  95. package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
  96. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  97. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
  98. package/PickersTextField/PickersInput/PickersInput.js +20 -14
  99. package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
  100. package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  101. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
  102. package/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
  103. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  104. package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
  105. package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  106. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  107. package/PickersTextField/PickersTextField.js +75 -62
  108. package/PickersTextField/PickersTextField.types.d.ts +43 -4
  109. package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
  110. package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  111. package/README.md +8 -5
  112. package/StaticDatePicker/StaticDatePicker.js +2 -2
  113. package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
  114. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  115. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
  116. package/StaticTimePicker/StaticTimePicker.js +2 -2
  117. package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
  118. package/TimeClock/Clock.d.ts +4 -0
  119. package/TimeClock/Clock.js +27 -27
  120. package/TimeClock/ClockNumber.js +15 -11
  121. package/TimeClock/ClockPointer.d.ts +6 -1
  122. package/TimeClock/ClockPointer.js +16 -10
  123. package/TimeClock/TimeClock.js +30 -12
  124. package/TimeField/TimeField.js +28 -32
  125. package/TimeField/TimeField.types.d.ts +7 -16
  126. package/TimeField/useTimeField.d.ts +1 -1
  127. package/TimeField/useTimeField.js +14 -11
  128. package/TimePicker/TimePicker.js +2 -2
  129. package/TimePicker/TimePicker.types.d.ts +4 -5
  130. package/TimePicker/TimePickerToolbar.d.ts +1 -3
  131. package/TimePicker/TimePickerToolbar.js +36 -51
  132. package/TimePicker/shared.d.ts +6 -6
  133. package/YearCalendar/YearCalendar.js +46 -13
  134. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  135. package/YearCalendar/YearCalendarButton.d.ts +23 -0
  136. package/{modern/YearCalendar/PickersYear.js → YearCalendar/YearCalendarButton.js} +20 -59
  137. package/YearCalendar/index.d.ts +0 -3
  138. package/YearCalendar/index.js +1 -2
  139. package/YearCalendar/yearCalendarClasses.d.ts +7 -1
  140. package/YearCalendar/yearCalendarClasses.js +1 -1
  141. package/hooks/index.d.ts +2 -0
  142. package/hooks/index.js +3 -1
  143. package/hooks/useClearableField.d.ts +5 -3
  144. package/hooks/useClearableField.js +4 -2
  145. package/hooks/useIsValidValue.d.ts +7 -0
  146. package/hooks/useIsValidValue.js +11 -0
  147. package/hooks/useParsedFormat.d.ts +9 -7
  148. package/hooks/useParsedFormat.js +11 -13
  149. package/hooks/usePickerActionsContext.d.ts +7 -0
  150. package/hooks/usePickerActionsContext.js +15 -0
  151. package/hooks/usePickerContext.d.ts +5 -1
  152. package/hooks/usePickerContext.js +2 -2
  153. package/hooks/useSplitFieldProps.d.ts +12 -3
  154. package/hooks/useSplitFieldProps.js +8 -3
  155. package/index.d.ts +1 -0
  156. package/index.js +3 -2
  157. package/internals/components/PickerFieldUI.d.ts +133 -0
  158. package/internals/components/PickerFieldUI.js +317 -0
  159. package/internals/components/{PickersPopper.d.ts → PickerPopper/PickerPopper.d.ts} +26 -25
  160. package/{modern/internals/components/PickersPopper.js → internals/components/PickerPopper/PickerPopper.js} +47 -47
  161. package/internals/components/PickerPopper/index.d.ts +4 -0
  162. package/internals/components/PickerPopper/index.js +2 -0
  163. package/internals/components/PickerPopper/pickerPopperClasses.d.ts +9 -0
  164. package/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  165. package/internals/components/PickerProvider.d.ts +86 -32
  166. package/internals/components/PickerProvider.js +25 -7
  167. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  168. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +11 -8
  169. package/internals/components/PickersModalDialog.d.ts +1 -3
  170. package/internals/components/PickersModalDialog.js +9 -3
  171. package/internals/components/PickersToolbar.d.ts +2 -3
  172. package/internals/components/PickersToolbar.js +15 -12
  173. package/internals/components/PickersToolbarButton.js +4 -6
  174. package/internals/components/PickersToolbarText.js +11 -13
  175. package/internals/hooks/date-helpers-hooks.js +4 -3
  176. package/internals/hooks/useClockReferenceDate.d.ts +2 -1
  177. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  178. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  179. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -38
  180. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  181. package/internals/hooks/useField/index.d.ts +2 -0
  182. package/internals/hooks/useField/index.js +2 -1
  183. package/internals/hooks/useField/useField.d.ts +3 -3
  184. package/internals/hooks/useField/useField.js +17 -4
  185. package/internals/hooks/useField/useField.types.d.ts +55 -48
  186. package/internals/hooks/useField/useField.utils.d.ts +4 -3
  187. package/internals/hooks/useField/useField.utils.js +2 -2
  188. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +6 -5
  189. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
  190. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  191. package/internals/hooks/useField/useFieldState.d.ts +9 -8
  192. package/internals/hooks/useField/useFieldState.js +2 -3
  193. package/internals/hooks/useField/useFieldV6TextField.d.ts +4 -3
  194. package/internals/hooks/useField/useFieldV6TextField.js +5 -2
  195. package/internals/hooks/useField/useFieldV7TextField.js +6 -3
  196. package/internals/hooks/useFieldOwnerState.d.ts +6 -0
  197. package/internals/hooks/useFieldOwnerState.js +16 -0
  198. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  199. package/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  200. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +15 -22
  201. package/internals/hooks/useNullablePickerContext.d.ts +5 -0
  202. package/internals/hooks/useNullablePickerContext.js +10 -0
  203. package/internals/hooks/useOpenState.d.ts +3 -2
  204. package/internals/hooks/useOpenState.js +11 -9
  205. package/internals/hooks/usePicker/index.d.ts +1 -1
  206. package/internals/hooks/usePicker/usePicker.d.ts +3 -4
  207. package/internals/hooks/usePicker/usePicker.js +4 -20
  208. package/internals/hooks/usePicker/usePicker.types.d.ts +10 -10
  209. package/internals/hooks/usePicker/usePickerProvider.d.ts +45 -10
  210. package/internals/hooks/usePicker/usePickerProvider.js +50 -16
  211. package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
  212. package/internals/hooks/usePicker/usePickerValue.js +84 -214
  213. package/internals/hooks/usePicker/usePickerValue.types.d.ts +130 -75
  214. package/internals/hooks/usePicker/usePickerViews.d.ts +59 -41
  215. package/internals/hooks/usePicker/usePickerViews.js +31 -20
  216. package/internals/hooks/useReduceAnimations.d.ts +2 -0
  217. package/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  218. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -1
  219. package/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  220. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -13
  221. package/internals/hooks/useToolbarOwnerState.d.ts +10 -0
  222. package/internals/hooks/useToolbarOwnerState.js +13 -0
  223. package/internals/hooks/useUtils.d.ts +4 -3
  224. package/internals/hooks/useUtils.js +1 -1
  225. package/internals/hooks/useValueWithTimezone.d.ts +5 -4
  226. package/internals/hooks/useViews.d.ts +5 -5
  227. package/internals/index.d.ts +27 -18
  228. package/internals/index.js +13 -8
  229. package/internals/models/common.d.ts +1 -1
  230. package/internals/models/fields.d.ts +8 -24
  231. package/internals/models/index.d.ts +1 -0
  232. package/internals/models/index.js +2 -1
  233. package/internals/models/manager.d.ts +15 -0
  234. package/internals/models/manager.js +1 -0
  235. package/internals/models/pickers.d.ts +1 -0
  236. package/internals/models/pickers.js +1 -0
  237. package/internals/models/props/basePickerProps.d.ts +3 -33
  238. package/internals/models/props/tabs.d.ts +0 -13
  239. package/internals/models/props/time.d.ts +2 -1
  240. package/internals/models/props/toolbar.d.ts +1 -19
  241. package/internals/models/value.d.ts +9 -0
  242. package/internals/utils/date-utils.d.ts +1 -1
  243. package/internals/utils/date-utils.js +1 -1
  244. package/internals/utils/utils.d.ts +3 -0
  245. package/internals/utils/utils.js +11 -1
  246. package/internals/utils/valueManagers.d.ts +4 -3
  247. package/internals/utils/valueManagers.js +4 -4
  248. package/locales/index.d.ts +1 -0
  249. package/locales/index.js +1 -0
  250. package/locales/nbNO.js +15 -19
  251. package/locales/nlNL.js +7 -7
  252. package/locales/roRO.js +15 -18
  253. package/locales/utils/getPickersLocalization.d.ts +0 -7
  254. package/locales/utils/getPickersLocalization.js +0 -13
  255. package/locales/zhTW.d.ts +80 -0
  256. package/locales/zhTW.js +73 -0
  257. package/managers/index.d.ts +6 -0
  258. package/managers/index.js +3 -0
  259. package/managers/package.json +6 -0
  260. package/managers/useDateManager.d.ts +27 -0
  261. package/managers/useDateManager.js +55 -0
  262. package/managers/useDateTimeManager.d.ts +28 -0
  263. package/managers/useDateTimeManager.js +60 -0
  264. package/managers/useTimeManager.d.ts +28 -0
  265. package/managers/useTimeManager.js +51 -0
  266. package/models/adapters.d.ts +5 -5
  267. package/models/fields.d.ts +33 -9
  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 +7 -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 +41 -22
  282. package/modern/DateCalendar/DayCalendar.js +12 -36
  283. package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  284. package/modern/DateCalendar/PickersSlideTransition.js +12 -5
  285. package/modern/DateCalendar/useCalendarState.js +65 -55
  286. package/modern/DateField/DateField.js +29 -33
  287. package/modern/DateField/useDateField.js +14 -11
  288. package/modern/DatePicker/DatePicker.js +1 -1
  289. package/modern/DatePicker/DatePickerToolbar.js +17 -33
  290. package/modern/DateTimeField/DateTimeField.js +29 -33
  291. package/modern/DateTimeField/useDateTimeField.js +14 -11
  292. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  293. package/modern/DateTimePicker/DateTimePickerTabs.js +15 -20
  294. package/modern/DateTimePicker/DateTimePickerToolbar.js +88 -80
  295. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  296. package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -17
  297. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  298. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  299. package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
  300. package/modern/DigitalClock/DigitalClock.js +13 -11
  301. package/modern/MobileDatePicker/MobileDatePicker.js +4 -14
  302. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  303. package/modern/MobileTimePicker/MobileTimePicker.js +4 -14
  304. package/modern/MonthCalendar/MonthCalendar.js +31 -11
  305. package/{MonthCalendar/PickersMonth.js → modern/MonthCalendar/MonthCalendarButton.js} +20 -61
  306. package/modern/MonthCalendar/index.js +1 -2
  307. package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
  308. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  309. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  310. package/modern/PickersActionBar/PickersActionBar.js +26 -17
  311. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
  312. package/modern/PickersLayout/PickersLayout.js +23 -42
  313. package/modern/PickersLayout/usePickerLayout.js +26 -53
  314. package/modern/PickersSectionList/PickersSectionList.js +21 -16
  315. package/modern/PickersShortcuts/PickersShortcuts.js +21 -11
  316. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  317. package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
  318. package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  319. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
  320. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  321. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  322. package/modern/PickersTextField/PickersTextField.js +75 -62
  323. package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  324. package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
  325. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  326. package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
  327. package/modern/TimeClock/Clock.js +27 -27
  328. package/modern/TimeClock/ClockNumber.js +15 -11
  329. package/modern/TimeClock/ClockPointer.js +16 -10
  330. package/modern/TimeClock/TimeClock.js +30 -12
  331. package/modern/TimeField/TimeField.js +28 -32
  332. package/modern/TimeField/useTimeField.js +14 -11
  333. package/modern/TimePicker/TimePicker.js +2 -2
  334. package/modern/TimePicker/TimePickerToolbar.js +36 -51
  335. package/modern/YearCalendar/YearCalendar.js +46 -13
  336. package/{YearCalendar/PickersYear.js → modern/YearCalendar/YearCalendarButton.js} +20 -59
  337. package/modern/YearCalendar/index.js +1 -2
  338. package/modern/YearCalendar/yearCalendarClasses.js +1 -1
  339. package/modern/hooks/index.js +3 -1
  340. package/modern/hooks/useClearableField.js +4 -2
  341. package/modern/hooks/useIsValidValue.js +11 -0
  342. package/modern/hooks/useParsedFormat.js +11 -13
  343. package/modern/hooks/usePickerActionsContext.js +15 -0
  344. package/modern/hooks/usePickerContext.js +2 -2
  345. package/modern/hooks/useSplitFieldProps.js +8 -3
  346. package/modern/index.js +3 -2
  347. package/modern/internals/components/PickerFieldUI.js +317 -0
  348. package/{internals/components/PickersPopper.js → modern/internals/components/PickerPopper/PickerPopper.js} +47 -47
  349. package/modern/internals/components/PickerPopper/index.js +2 -0
  350. package/modern/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  351. package/modern/internals/components/PickerProvider.js +25 -7
  352. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  353. package/modern/internals/components/PickersModalDialog.js +9 -3
  354. package/modern/internals/components/PickersToolbar.js +15 -12
  355. package/modern/internals/components/PickersToolbarButton.js +4 -6
  356. package/modern/internals/components/PickersToolbarText.js +11 -13
  357. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  358. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  359. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  360. package/modern/internals/hooks/useField/index.js +2 -1
  361. package/modern/internals/hooks/useField/useField.js +17 -4
  362. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  363. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  364. package/modern/internals/hooks/useField/useFieldState.js +2 -3
  365. package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
  366. package/modern/internals/hooks/useField/useFieldV7TextField.js +6 -3
  367. package/modern/internals/hooks/useFieldOwnerState.js +16 -0
  368. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  369. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  370. package/modern/internals/hooks/useOpenState.js +11 -9
  371. package/modern/internals/hooks/usePicker/usePicker.js +4 -20
  372. package/modern/internals/hooks/usePicker/usePickerProvider.js +50 -16
  373. package/modern/internals/hooks/usePicker/usePickerValue.js +84 -214
  374. package/modern/internals/hooks/usePicker/usePickerViews.js +31 -20
  375. package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  376. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  377. package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
  378. package/modern/internals/hooks/useUtils.js +1 -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 +41 -22
  410. package/node/DateCalendar/DayCalendar.js +12 -37
  411. package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  412. package/node/DateCalendar/PickersSlideTransition.js +12 -5
  413. package/node/DateCalendar/useCalendarState.js +66 -57
  414. package/node/DateField/DateField.js +29 -33
  415. package/node/DateField/useDateField.js +13 -10
  416. package/node/DatePicker/DatePicker.js +1 -1
  417. package/node/DatePicker/DatePickerToolbar.js +17 -33
  418. package/node/DateTimeField/DateTimeField.js +29 -33
  419. package/node/DateTimeField/useDateTimeField.js +13 -10
  420. package/node/DateTimePicker/DateTimePicker.js +2 -2
  421. package/node/DateTimePicker/DateTimePickerTabs.js +15 -20
  422. package/node/DateTimePicker/DateTimePickerToolbar.js +89 -80
  423. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  424. package/node/DesktopDatePicker/DesktopDatePicker.js +11 -17
  425. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  426. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -35
  427. package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
  428. package/node/DigitalClock/DigitalClock.js +13 -11
  429. package/node/MobileDatePicker/MobileDatePicker.js +4 -14
  430. package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  431. package/node/MobileTimePicker/MobileTimePicker.js +4 -14
  432. package/node/MonthCalendar/MonthCalendar.js +31 -11
  433. package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  434. package/node/MonthCalendar/index.js +1 -8
  435. package/node/MonthCalendar/monthCalendarClasses.js +1 -1
  436. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  437. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
  438. package/node/PickersActionBar/PickersActionBar.js +28 -19
  439. package/node/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
  440. package/node/PickersLayout/PickersLayout.js +23 -42
  441. package/node/PickersLayout/usePickerLayout.js +30 -57
  442. package/node/PickersSectionList/PickersSectionList.js +21 -16
  443. package/node/PickersShortcuts/PickersShortcuts.js +21 -11
  444. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  445. package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
  446. package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  447. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
  448. package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  449. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  450. package/node/PickersTextField/PickersTextField.js +75 -62
  451. package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
  452. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  453. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  454. package/node/StaticTimePicker/StaticTimePicker.js +2 -2
  455. package/node/TimeClock/Clock.js +27 -27
  456. package/node/TimeClock/ClockNumber.js +15 -11
  457. package/node/TimeClock/ClockPointer.js +15 -10
  458. package/node/TimeClock/TimeClock.js +30 -12
  459. package/node/TimeField/TimeField.js +28 -32
  460. package/node/TimeField/useTimeField.js +13 -10
  461. package/node/TimePicker/TimePicker.js +2 -2
  462. package/node/TimePicker/TimePickerToolbar.js +36 -51
  463. package/node/YearCalendar/YearCalendar.js +45 -12
  464. package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  465. package/node/YearCalendar/index.js +1 -8
  466. package/node/YearCalendar/yearCalendarClasses.js +1 -1
  467. package/node/hooks/index.js +15 -1
  468. package/node/hooks/useClearableField.js +4 -2
  469. package/node/hooks/useIsValidValue.js +18 -0
  470. package/node/hooks/useParsedFormat.js +11 -13
  471. package/node/hooks/usePickerActionsContext.js +22 -0
  472. package/node/hooks/usePickerContext.js +5 -4
  473. package/node/hooks/useSplitFieldProps.js +7 -2
  474. package/node/index.js +13 -1
  475. package/node/internals/components/PickerFieldUI.js +329 -0
  476. package/node/internals/components/{PickersPopper.js → PickerPopper/PickerPopper.js} +48 -48
  477. package/node/internals/components/PickerPopper/index.js +25 -0
  478. package/node/internals/components/PickerPopper/pickerPopperClasses.js +14 -0
  479. package/node/internals/components/PickerProvider.js +27 -9
  480. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  481. package/node/internals/components/PickersModalDialog.js +9 -3
  482. package/node/internals/components/PickersToolbar.js +15 -12
  483. package/node/internals/components/PickersToolbarButton.js +4 -6
  484. package/node/internals/components/PickersToolbarText.js +10 -12
  485. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  486. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +37 -122
  487. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  488. package/node/internals/hooks/useField/index.js +8 -1
  489. package/node/internals/hooks/useField/useField.js +16 -3
  490. package/node/internals/hooks/useField/useField.utils.js +2 -2
  491. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +56 -0
  492. package/node/internals/hooks/useField/useFieldState.js +2 -3
  493. package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
  494. package/node/internals/hooks/useField/useFieldV7TextField.js +6 -3
  495. package/node/internals/hooks/useFieldOwnerState.js +24 -0
  496. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
  497. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  498. package/node/internals/hooks/useOpenState.js +12 -9
  499. package/node/internals/hooks/usePicker/usePicker.js +4 -20
  500. package/node/internals/hooks/usePicker/usePickerProvider.js +51 -17
  501. package/node/internals/hooks/usePicker/usePickerValue.js +84 -213
  502. package/node/internals/hooks/usePicker/usePickerViews.js +31 -21
  503. package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
  504. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  505. package/node/internals/hooks/useToolbarOwnerState.js +21 -0
  506. package/node/internals/hooks/useUtils.js +1 -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 +5 -5
  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 -32
  561. package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  562. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  563. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  564. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  565. package/modern/AdapterDateFnsV3/index.js +0 -1
  566. package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
  567. package/modern/YearCalendar/pickersYearClasses.js +0 -5
  568. package/modern/internals/components/pickersPopperClasses.js +0 -5
  569. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  570. package/modern/internals/hooks/useIsLandscape.js +0 -35
  571. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  572. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  573. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  574. package/node/MonthCalendar/pickersMonthClasses.js +0 -12
  575. package/node/YearCalendar/pickersYearClasses.js +0 -12
  576. package/node/internals/components/pickersPopperClasses.js +0 -12
  577. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  578. package/node/internals/hooks/useIsLandscape.js +0 -43
  579. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +0 -38
  580. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
@@ -2,13 +2,13 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["ampm", "ampmInClock", "value", "onChange", "view", "isLandscape", "onViewChange", "toolbarFormat", "toolbarPlaceholder", "views", "toolbarVariant", "toolbarTitle", "className"];
5
+ const _excluded = ["ampm", "ampmInClock", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "className", "classes"];
6
6
  import * as React from 'react';
7
+ import clsx from 'clsx';
7
8
  import PropTypes from 'prop-types';
8
- import { useRtl } from '@mui/system/RtlProvider';
9
9
  import { styled, useThemeProps } from '@mui/material/styles';
10
10
  import composeClasses from '@mui/utils/composeClasses';
11
- import clsx from 'clsx';
11
+ import { shouldForwardProp } from '@mui/system/createStyled';
12
12
  import { PickersToolbarText } from "../internals/components/PickersToolbarText.js";
13
13
  import { PickersToolbar } from "../internals/components/PickersToolbar.js";
14
14
  import { PickersToolbarButton } from "../internals/components/PickersToolbarButton.js";
@@ -21,20 +21,20 @@ import { formatMeridiem } from "../internals/utils/date-utils.js";
21
21
  import { pickersToolbarTextClasses } from "../internals/components/pickersToolbarTextClasses.js";
22
22
  import { pickersToolbarClasses } from "../internals/components/pickersToolbarClasses.js";
23
23
  import { usePickerContext } from "../hooks/usePickerContext.js";
24
+ import { useToolbarOwnerState } from "../internals/hooks/useToolbarOwnerState.js";
24
25
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
- const useUtilityClasses = ownerState => {
26
+ const useUtilityClasses = (classes, ownerState) => {
26
27
  const {
27
- classes,
28
- isLandscape,
29
- isRtl
28
+ pickerOrientation,
29
+ toolbarDirection
30
30
  } = ownerState;
31
31
  const slots = {
32
32
  root: ['root'],
33
33
  dateContainer: ['dateContainer'],
34
- timeContainer: ['timeContainer', isRtl && 'timeLabelReverse'],
35
- timeDigitsContainer: ['timeDigitsContainer', isRtl && 'timeLabelReverse'],
34
+ timeContainer: ['timeContainer', toolbarDirection === 'rtl' && 'timeLabelReverse'],
35
+ timeDigitsContainer: ['timeDigitsContainer', toolbarDirection === 'rtl' && 'timeLabelReverse'],
36
36
  separator: ['separator'],
37
- ampmSelection: ['ampmSelection', isLandscape && 'ampmLandscape'],
37
+ ampmSelection: ['ampmSelection', pickerOrientation === 'landscape' && 'ampmLandscape'],
38
38
  ampmLabel: ['ampmLabel']
39
39
  };
40
40
  return composeClasses(slots, getDateTimePickerToolbarUtilityClass, classes);
@@ -42,7 +42,8 @@ const useUtilityClasses = ownerState => {
42
42
  const DateTimePickerToolbarRoot = styled(PickersToolbar, {
43
43
  name: 'MuiDateTimePickerToolbar',
44
44
  slot: 'Root',
45
- overridesResolver: (props, styles) => styles.root
45
+ overridesResolver: (props, styles) => styles.root,
46
+ shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'toolbarVariant'
46
47
  })(({
47
48
  theme
48
49
  }) => ({
@@ -64,7 +65,7 @@ const DateTimePickerToolbarRoot = styled(PickersToolbar, {
64
65
  }, {
65
66
  props: {
66
67
  toolbarVariant: 'desktop',
67
- isLandscape: true
68
+ pickerOrientation: 'landscape'
68
69
  },
69
70
  style: {
70
71
  borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
@@ -72,7 +73,7 @@ const DateTimePickerToolbarRoot = styled(PickersToolbar, {
72
73
  }, {
73
74
  props: {
74
75
  toolbarVariant: 'desktop',
75
- isLandscape: false
76
+ pickerOrientation: 'portrait'
76
77
  },
77
78
  style: {
78
79
  paddingLeft: 24,
@@ -92,13 +93,14 @@ const DateTimePickerToolbarDateContainer = styled('div', {
92
93
  const DateTimePickerToolbarTimeContainer = styled('div', {
93
94
  name: 'MuiDateTimePickerToolbar',
94
95
  slot: 'TimeContainer',
95
- overridesResolver: (props, styles) => styles.timeContainer
96
+ overridesResolver: (props, styles) => styles.timeContainer,
97
+ shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'toolbarVariant'
96
98
  })({
97
99
  display: 'flex',
98
100
  flexDirection: 'row',
99
101
  variants: [{
100
102
  props: {
101
- isRtl: true
103
+ toolbarDirection: 'rtl'
102
104
  },
103
105
  style: {
104
106
  flexDirection: 'row-reverse'
@@ -106,7 +108,7 @@ const DateTimePickerToolbarTimeContainer = styled('div', {
106
108
  }, {
107
109
  props: {
108
110
  toolbarVariant: 'desktop',
109
- isLandscape: false
111
+ pickerOrientation: 'portrait'
110
112
  },
111
113
  style: {
112
114
  gap: 9,
@@ -115,18 +117,18 @@ const DateTimePickerToolbarTimeContainer = styled('div', {
115
117
  }
116
118
  }, {
117
119
  props: ({
118
- isLandscape,
120
+ pickerOrientation,
119
121
  toolbarVariant
120
- }) => isLandscape && toolbarVariant !== 'desktop',
122
+ }) => pickerOrientation === 'landscape' && toolbarVariant !== 'desktop',
121
123
  style: {
122
124
  flexDirection: 'column'
123
125
  }
124
126
  }, {
125
127
  props: ({
126
- isLandscape,
128
+ pickerOrientation,
127
129
  toolbarVariant,
128
- isRtl
129
- }) => isLandscape && toolbarVariant !== 'desktop' && isRtl,
130
+ toolbarDirection
131
+ }) => pickerOrientation === 'landscape' && toolbarVariant !== 'desktop' && toolbarDirection === 'rtl',
130
132
  style: {
131
133
  flexDirection: 'column-reverse'
132
134
  }
@@ -135,12 +137,13 @@ const DateTimePickerToolbarTimeContainer = styled('div', {
135
137
  const DateTimePickerToolbarTimeDigitsContainer = styled('div', {
136
138
  name: 'MuiDateTimePickerToolbar',
137
139
  slot: 'TimeDigitsContainer',
138
- overridesResolver: (props, styles) => styles.timeDigitsContainer
140
+ overridesResolver: (props, styles) => styles.timeDigitsContainer,
141
+ shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'toolbarVariant'
139
142
  })({
140
143
  display: 'flex',
141
144
  variants: [{
142
145
  props: {
143
- isRtl: true
146
+ toolbarDirection: 'rtl'
144
147
  },
145
148
  style: {
146
149
  flexDirection: 'row-reverse'
@@ -157,7 +160,8 @@ const DateTimePickerToolbarTimeDigitsContainer = styled('div', {
157
160
  const DateTimePickerToolbarSeparator = styled(PickersToolbarText, {
158
161
  name: 'MuiDateTimePickerToolbar',
159
162
  slot: 'Separator',
160
- overridesResolver: (props, styles) => styles.separator
163
+ overridesResolver: (props, styles) => styles.separator,
164
+ shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'toolbarVariant'
161
165
  })({
162
166
  margin: '0 4px 0 2px',
163
167
  cursor: 'default',
@@ -190,7 +194,7 @@ const DateTimePickerToolbarAmPmSelection = styled('div', {
190
194
  },
191
195
  variants: [{
192
196
  props: {
193
- isLandscape: true
197
+ pickerOrientation: 'landscape'
194
198
  },
195
199
  style: {
196
200
  margin: '4px 0 auto',
@@ -201,6 +205,13 @@ const DateTimePickerToolbarAmPmSelection = styled('div', {
201
205
  }]
202
206
  });
203
207
 
208
+ /**
209
+ * If `forceDesktopVariant` is set to `true`, the toolbar will always be rendered in the desktop mode.
210
+ * If `onViewChange` is defined, the toolbar will call it instead of calling the default handler from `usePickerContext`.
211
+ * This is used by the Date Time Range Picker Toolbar.
212
+ */
213
+ export const DateTimePickerToolbarOverrideContext = /*#__PURE__*/React.createContext(null);
214
+
204
215
  /**
205
216
  * Demos:
206
217
  *
@@ -219,40 +230,45 @@ function DateTimePickerToolbar(inProps) {
219
230
  const {
220
231
  ampm,
221
232
  ampmInClock,
222
- value,
223
- onChange,
224
- view,
225
- isLandscape,
226
- onViewChange,
227
233
  toolbarFormat,
228
234
  toolbarPlaceholder = '––',
229
- views,
230
- toolbarVariant = 'mobile',
231
235
  toolbarTitle: inToolbarTitle,
232
- className
236
+ className,
237
+ classes: classesProp
233
238
  } = props,
234
239
  other = _objectWithoutPropertiesLoose(props, _excluded);
235
- const isRtl = useRtl();
236
240
  const {
241
+ value: valueContext,
242
+ setValue: setValueContext,
237
243
  disabled,
238
- readOnly
244
+ readOnly,
245
+ variant,
246
+ orientation,
247
+ view: viewContext,
248
+ setView: setViewContext,
249
+ views
239
250
  } = usePickerContext();
240
- const ownerState = _extends({}, props, {
241
- isRtl
242
- });
251
+ const translations = usePickerTranslations();
252
+ const ownerState = useToolbarOwnerState();
253
+ const classes = useUtilityClasses(classesProp, ownerState);
243
254
  const utils = useUtils();
255
+ const overrides = React.useContext(DateTimePickerToolbarOverrideContext);
256
+ const value = overrides ? overrides.value : valueContext;
257
+ const setValue = overrides ? overrides.setValue : setValueContext;
258
+ const view = overrides ? overrides.view : viewContext;
259
+ const setView = overrides ? overrides.setView : setViewContext;
244
260
  const {
245
261
  meridiemMode,
246
262
  handleMeridiemChange
247
- } = useMeridiemMode(value, ampm, onChange);
248
- const showAmPmControl = Boolean(ampm && !ampmInClock);
263
+ } = useMeridiemMode(value, ampm, newValue => setValue(newValue, {
264
+ changeImportance: 'set'
265
+ }));
266
+ const toolbarVariant = overrides?.forceDesktopVariant ? 'desktop' : variant;
249
267
  const isDesktop = toolbarVariant === 'desktop';
250
- const translations = usePickerTranslations();
251
- const classes = useUtilityClasses(ownerState);
268
+ const showAmPmControl = Boolean(ampm && !ampmInClock);
252
269
  const toolbarTitle = inToolbarTitle ?? translations.dateTimePickerToolbarTitle;
253
- const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
254
270
  const dateText = React.useMemo(() => {
255
- if (!value) {
271
+ if (!utils.isValid(value)) {
256
272
  return toolbarPlaceholder;
257
273
  }
258
274
  if (toolbarFormat) {
@@ -260,10 +276,16 @@ function DateTimePickerToolbar(inProps) {
260
276
  }
261
277
  return utils.format(value, 'shortDate');
262
278
  }, [value, toolbarFormat, toolbarPlaceholder, utils]);
279
+ const formatSection = (format, fallback) => {
280
+ if (!utils.isValid(value)) {
281
+ return fallback;
282
+ }
283
+ return utils.format(value, format);
284
+ };
263
285
  return /*#__PURE__*/_jsxs(DateTimePickerToolbarRoot, _extends({
264
- isLandscape: isLandscape,
265
286
  className: clsx(classes.root, className),
266
- toolbarTitle: toolbarTitle
287
+ toolbarTitle: toolbarTitle,
288
+ toolbarVariant: toolbarVariant
267
289
  }, other, {
268
290
  ownerState: ownerState,
269
291
  children: [/*#__PURE__*/_jsxs(DateTimePickerToolbarDateContainer, {
@@ -272,40 +294,43 @@ function DateTimePickerToolbar(inProps) {
272
294
  children: [views.includes('year') && /*#__PURE__*/_jsx(PickersToolbarButton, {
273
295
  tabIndex: -1,
274
296
  variant: "subtitle1",
275
- onClick: () => onViewChange('year'),
297
+ onClick: () => setView('year'),
276
298
  selected: view === 'year',
277
- value: value ? utils.format(value, 'year') : '–'
299
+ value: formatSection('year', '–')
278
300
  }), views.includes('day') && /*#__PURE__*/_jsx(PickersToolbarButton, {
279
301
  tabIndex: -1,
280
302
  variant: isDesktop ? 'h5' : 'h4',
281
- onClick: () => onViewChange('day'),
303
+ onClick: () => setView('day'),
282
304
  selected: view === 'day',
283
305
  value: dateText
284
306
  })]
285
307
  }), /*#__PURE__*/_jsxs(DateTimePickerToolbarTimeContainer, {
286
308
  className: classes.timeContainer,
287
309
  ownerState: ownerState,
310
+ toolbarVariant: toolbarVariant,
288
311
  children: [/*#__PURE__*/_jsxs(DateTimePickerToolbarTimeDigitsContainer, {
289
312
  className: classes.timeDigitsContainer,
290
313
  ownerState: ownerState,
314
+ toolbarVariant: toolbarVariant,
291
315
  children: [views.includes('hours') && /*#__PURE__*/_jsxs(React.Fragment, {
292
316
  children: [/*#__PURE__*/_jsx(PickersToolbarButton, {
293
317
  variant: isDesktop ? 'h5' : 'h3',
294
- width: isDesktop && !isLandscape ? MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
295
- onClick: () => onViewChange('hours'),
318
+ width: isDesktop && orientation === 'portrait' ? MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
319
+ onClick: () => setView('hours'),
296
320
  selected: view === 'hours',
297
- value: value ? formatHours(value) : '--'
321
+ value: formatSection(ampm ? 'hours12h' : 'hours24h', '--')
298
322
  }), /*#__PURE__*/_jsx(DateTimePickerToolbarSeparator, {
299
323
  variant: isDesktop ? 'h5' : 'h3',
300
324
  value: ":",
301
325
  className: classes.separator,
302
- ownerState: ownerState
326
+ ownerState: ownerState,
327
+ toolbarVariant: toolbarVariant
303
328
  }), /*#__PURE__*/_jsx(PickersToolbarButton, {
304
329
  variant: isDesktop ? 'h5' : 'h3',
305
- width: isDesktop && !isLandscape ? MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
306
- onClick: () => onViewChange('minutes'),
330
+ width: isDesktop && orientation === 'portrait' ? MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
331
+ onClick: () => setView('minutes'),
307
332
  selected: view === 'minutes' || !views.includes('minutes') && view === 'hours',
308
- value: value ? utils.format(value, 'minutes') : '--',
333
+ value: formatSection('minutes', '--'),
309
334
  disabled: !views.includes('minutes')
310
335
  })]
311
336
  }), views.includes('seconds') && /*#__PURE__*/_jsxs(React.Fragment, {
@@ -313,13 +338,14 @@ function DateTimePickerToolbar(inProps) {
313
338
  variant: isDesktop ? 'h5' : 'h3',
314
339
  value: ":",
315
340
  className: classes.separator,
316
- ownerState: ownerState
341
+ ownerState: ownerState,
342
+ toolbarVariant: toolbarVariant
317
343
  }), /*#__PURE__*/_jsx(PickersToolbarButton, {
318
344
  variant: isDesktop ? 'h5' : 'h3',
319
- width: isDesktop && !isLandscape ? MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
320
- onClick: () => onViewChange('seconds'),
345
+ width: isDesktop && orientation === 'portrait' ? MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
346
+ onClick: () => setView('seconds'),
321
347
  selected: view === 'seconds',
322
- value: value ? utils.format(value, 'seconds') : '--'
348
+ value: formatSection('seconds', '--')
323
349
  })]
324
350
  })]
325
351
  }), showAmPmControl && !isDesktop && /*#__PURE__*/_jsxs(DateTimePickerToolbarAmPmSelection, {
@@ -342,7 +368,7 @@ function DateTimePickerToolbar(inProps) {
342
368
  })]
343
369
  }), ampm && isDesktop && /*#__PURE__*/_jsx(PickersToolbarButton, {
344
370
  variant: "h5",
345
- onClick: () => onViewChange('meridiem'),
371
+ onClick: () => setView('meridiem'),
346
372
  selected: view === 'meridiem',
347
373
  value: value && meridiemMode ? formatMeridiem(utils, meridiemMode) : '--',
348
374
  width: MULTI_SECTION_CLOCK_SECTION_WIDTH
@@ -367,14 +393,6 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
367
393
  * @default `true` for Desktop, `false` for Mobile.
368
394
  */
369
395
  hidden: PropTypes.bool,
370
- isLandscape: PropTypes.bool.isRequired,
371
- onChange: PropTypes.func.isRequired,
372
- /**
373
- * Callback called when a toolbar is clicked
374
- * @template TView
375
- * @param {TView} view The view to open
376
- */
377
- onViewChange: PropTypes.func.isRequired,
378
396
  /**
379
397
  * The system prop that allows defining system overrides as well as additional CSS styles.
380
398
  */
@@ -392,16 +410,6 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
392
410
  /**
393
411
  * If provided, it will be used instead of `dateTimePickerToolbarTitle` from localization.
394
412
  */
395
- toolbarTitle: PropTypes.node,
396
- toolbarVariant: PropTypes.oneOf(['desktop', 'mobile']),
397
- value: PropTypes.object,
398
- /**
399
- * Currently visible picker view.
400
- */
401
- view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
402
- /**
403
- * Available views.
404
- */
405
- views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
413
+ toolbarTitle: PropTypes.node
406
414
  } : void 0;
407
415
  export { DateTimePickerToolbar };
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["className"];
5
+ const _excluded = ["className", "classes"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
@@ -12,10 +12,7 @@ import composeClasses from '@mui/utils/composeClasses';
12
12
  import { DAY_SIZE, DAY_MARGIN } from "../internals/constants/dimensions.js";
13
13
  import { getDayCalendarSkeletonUtilityClass } from "./dayCalendarSkeletonClasses.js";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
- const useUtilityClasses = ownerState => {
16
- const {
17
- classes
18
- } = ownerState;
15
+ const useUtilityClasses = classes => {
19
16
  const slots = {
20
17
  root: ['root'],
21
18
  week: ['week'],
@@ -45,14 +42,9 @@ const DayCalendarSkeletonDay = styled(Skeleton, {
45
42
  overridesResolver: (props, styles) => styles.daySkeleton
46
43
  })({
47
44
  margin: `0 ${DAY_MARGIN}px`,
48
- variants: [{
49
- props: {
50
- day: 0
51
- },
52
- style: {
53
- visibility: 'hidden'
54
- }
55
- }]
45
+ '&[data-day-in-month="0"]': {
46
+ visibility: 'hidden'
47
+ }
56
48
  });
57
49
  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]];
58
50
 
@@ -71,23 +63,22 @@ function DayCalendarSkeleton(inProps) {
71
63
  name: 'MuiDayCalendarSkeleton'
72
64
  });
73
65
  const {
74
- className
66
+ className,
67
+ classes: classesProp
75
68
  } = props,
76
69
  other = _objectWithoutPropertiesLoose(props, _excluded);
77
- const classes = useUtilityClasses(other);
70
+ const classes = useUtilityClasses(classesProp);
78
71
  return /*#__PURE__*/_jsx(DayCalendarSkeletonRoot, _extends({
79
72
  className: clsx(classes.root, className)
80
73
  }, other, {
81
74
  children: monthMap.map((week, index) => /*#__PURE__*/_jsx(DayCalendarSkeletonWeek, {
82
75
  className: classes.week,
83
- children: week.map((day, index2) => /*#__PURE__*/_jsx(DayCalendarSkeletonDay, {
76
+ children: week.map((dayInMonth, index2) => /*#__PURE__*/_jsx(DayCalendarSkeletonDay, {
84
77
  variant: "circular",
85
78
  width: DAY_SIZE,
86
79
  height: DAY_SIZE,
87
80
  className: classes.daySkeleton,
88
- ownerState: {
89
- day
90
- }
81
+ "data-day-in-month": dayInMonth
91
82
  }, index2))
92
83
  }, index))
93
84
  }));
@@ -7,15 +7,14 @@ import resolveComponentProps from '@mui/utils/resolveComponentProps';
7
7
  import { refType } from '@mui/utils';
8
8
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
9
9
  import { useDatePickerDefaultizedProps } from "../DatePicker/shared.js";
10
- import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
11
10
  import { useUtils } from "../internals/hooks/useUtils.js";
12
11
  import { validateDate, extractValidationProps } from "../validation/index.js";
13
12
  import { useDesktopPicker } from "../internals/hooks/useDesktopPicker/index.js";
14
- import { CalendarIcon } from "../icons/index.js";
15
13
  import { DateField } from "../DateField/index.js";
16
14
  import { renderDateViewCalendar } from "../dateViewRenderers/index.js";
17
15
  import { resolveDateFormat } from "../internals/utils/date-utils.js";
18
- import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalization.js";
16
+ const emptyActions = [];
17
+
19
18
  /**
20
19
  * Demos:
21
20
  *
@@ -27,7 +26,6 @@ import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalizat
27
26
  * - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
28
27
  */
29
28
  const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
30
- const translations = usePickerTranslations();
31
29
  const utils = useUtils();
32
30
 
33
31
  // Props with the default values common to all date pickers
@@ -40,34 +38,30 @@ const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePick
40
38
 
41
39
  // Props with the default values specific to the desktop variant
42
40
  const props = _extends({}, defaultizedProps, {
41
+ closeOnSelect: defaultizedProps.closeOnSelect ?? true,
43
42
  viewRenderers,
44
43
  format: resolveDateFormat(utils, defaultizedProps, false),
45
44
  yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
46
45
  slots: _extends({
47
- openPickerIcon: CalendarIcon,
48
46
  field: DateField
49
47
  }, defaultizedProps.slots),
50
48
  slotProps: _extends({}, defaultizedProps.slotProps, {
51
- field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
52
- ref
53
- }),
49
+ field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps)),
54
50
  toolbar: _extends({
55
51
  hidden: true
56
- }, defaultizedProps.slotProps?.toolbar)
52
+ }, defaultizedProps.slotProps?.toolbar),
53
+ actionBar: ownerState => _extends({
54
+ actions: emptyActions
55
+ }, resolveComponentProps(defaultizedProps.slotProps?.actionBar, ownerState))
57
56
  })
58
57
  });
59
58
  const {
60
59
  renderPicker
61
60
  } = useDesktopPicker({
61
+ ref,
62
62
  props,
63
63
  valueManager: singleItemValueManager,
64
64
  valueType: 'date',
65
- getOpenDialogAriaText: buildGetOpenDialogAriaText({
66
- utils,
67
- formatKey: 'fullDate',
68
- contextTranslation: translations.openDatePickerDialogue,
69
- propsTranslation: props.localeText?.openDatePickerDialogue
70
- }),
71
65
  validator: validateDate
72
66
  });
73
67
  return renderPicker();
@@ -86,8 +80,8 @@ DesktopDatePicker.propTypes = {
86
80
  autoFocus: PropTypes.bool,
87
81
  className: PropTypes.string,
88
82
  /**
89
- * If `true`, the popover or modal will close after submitting the full date.
90
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
83
+ * If `true`, the Picker will close after submitting the full date.
84
+ * @default true
91
85
  */
92
86
  closeOnSelect: PropTypes.bool,
93
87
  /**
@@ -12,10 +12,8 @@ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
12
12
  import { DateTimeField } from "../DateTimeField/index.js";
13
13
  import { useDateTimePickerDefaultizedProps } from "../DateTimePicker/shared.js";
14
14
  import { renderDateViewCalendar } from "../dateViewRenderers/dateViewRenderers.js";
15
- import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
16
15
  import { useUtils } from "../internals/hooks/useUtils.js";
17
16
  import { validateDateTime, extractValidationProps } from "../validation/index.js";
18
- import { CalendarIcon } from "../icons/index.js";
19
17
  import { useDesktopPicker } from "../internals/hooks/useDesktopPicker/index.js";
20
18
  import { resolveDateTimeFormat, resolveTimeViewsResponse } from "../internals/utils/date-time-utils.js";
21
19
  import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from "../timeViewRenderers/index.js";
@@ -25,9 +23,13 @@ import { DesktopDateTimePickerLayout } from "./DesktopDateTimePickerLayout.js";
25
23
  import { VIEW_HEIGHT } from "../internals/constants/dimensions.js";
26
24
  import { isInternalTimeView } from "../internals/utils/time-utils.js";
27
25
  import { isDatePickerView } from "../internals/utils/date-utils.js";
28
- import { buildGetOpenDialogAriaText } from "../locales/utils/getPickersLocalization.js";
29
26
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
- const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
27
+ const rendererInterceptor = function RendererInterceptor(props) {
28
+ const {
29
+ viewRenderers,
30
+ popperView,
31
+ rendererProps
32
+ } = props;
31
33
  const {
32
34
  openTo,
33
35
  focusedView,
@@ -46,8 +48,10 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
46
48
  }]
47
49
  });
48
50
  const isTimeViewActive = isInternalTimeView(popperView);
51
+ const dateView = isTimeViewActive ? 'day' : popperView;
52
+ const timeView = isTimeViewActive ? popperView : 'hours';
49
53
  return /*#__PURE__*/_jsxs(React.Fragment, {
50
- children: [inViewRenderers[!isTimeViewActive ? popperView : 'day']?.(_extends({}, rendererProps, {
54
+ children: [viewRenderers[dateView]?.(_extends({}, rendererProps, {
51
55
  view: !isTimeViewActive ? popperView : 'day',
52
56
  focusedView: focusedView && isDatePickerView(focusedView) ? focusedView : null,
53
57
  views: rendererProps.views.filter(isDatePickerView),
@@ -60,7 +64,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
60
64
  sx: {
61
65
  gridColumn: 2
62
66
  }
63
- }), inViewRenderers[isTimeViewActive ? popperView : 'hours']?.(_extends({}, finalProps, {
67
+ }), viewRenderers[timeView]?.(_extends({}, finalProps, {
64
68
  view: isTimeViewActive ? popperView : 'hours',
65
69
  focusedView: focusedView && isInternalTimeView(focusedView) ? focusedView : null,
66
70
  openTo: isInternalTimeView(openTo) ? openTo : 'hours',
@@ -83,7 +87,6 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
83
87
  * - [DesktopDateTimePicker API](https://mui.com/x/api/date-pickers/desktop-date-time-picker/)
84
88
  */
85
89
  const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
86
- const translations = usePickerTranslations();
87
90
  const utils = useUtils();
88
91
 
89
92
  // Props with the default values common to all date time pickers
@@ -108,7 +111,6 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
108
111
  // Need to avoid adding the `meridiem` view when unexpected renderer is specified
109
112
  const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === renderMultiSectionDigitalClockTimeView.name;
110
113
  const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
111
- const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
112
114
 
113
115
  // Props with the default values specific to the desktop variant
114
116
  const props = _extends({}, defaultizedProps, {
@@ -122,38 +124,26 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
122
124
  shouldRenderTimeInASingleColumn,
123
125
  slots: _extends({
124
126
  field: DateTimeField,
125
- layout: DesktopDateTimePickerLayout,
126
- openPickerIcon: CalendarIcon
127
+ layout: DesktopDateTimePickerLayout
127
128
  }, defaultizedProps.slots),
128
129
  slotProps: _extends({}, defaultizedProps.slotProps, {
129
- field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
130
- ref
131
- }),
130
+ field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps)),
132
131
  toolbar: _extends({
133
132
  hidden: true,
134
- ampmInClock,
135
- toolbarVariant: 'desktop'
133
+ ampmInClock
136
134
  }, defaultizedProps.slotProps?.toolbar),
137
135
  tabs: _extends({
138
136
  hidden: true
139
- }, defaultizedProps.slotProps?.tabs),
140
- actionBar: ownerState => _extends({
141
- actions: actionBarActions
142
- }, resolveComponentProps(defaultizedProps.slotProps?.actionBar, ownerState))
137
+ }, defaultizedProps.slotProps?.tabs)
143
138
  })
144
139
  });
145
140
  const {
146
141
  renderPicker
147
142
  } = useDesktopPicker({
143
+ ref,
148
144
  props,
149
145
  valueManager: singleItemValueManager,
150
146
  valueType: 'date-time',
151
- getOpenDialogAriaText: buildGetOpenDialogAriaText({
152
- utils,
153
- formatKey: 'fullDate',
154
- contextTranslation: translations.openDatePickerDialogue,
155
- propsTranslation: props.localeText?.openDatePickerDialogue
156
- }),
157
147
  validator: validateDateTime,
158
148
  rendererInterceptor
159
149
  });
@@ -183,8 +173,8 @@ DesktopDateTimePicker.propTypes = {
183
173
  autoFocus: PropTypes.bool,
184
174
  className: PropTypes.string,
185
175
  /**
186
- * If `true`, the popover or modal will close after submitting the full date.
187
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
176
+ * If `true`, the Picker will close after submitting the full date.
177
+ * @default false
188
178
  */
189
179
  closeOnSelect: PropTypes.bool,
190
180
  /**