@mui/x-date-pickers 6.5.0 → 6.7.0

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 (343) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +6 -0
  2. package/AdapterDateFns/AdapterDateFns.js +38 -19
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +6 -0
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +35 -16
  5. package/AdapterDayjs/AdapterDayjs.d.ts +14 -1
  6. package/AdapterDayjs/AdapterDayjs.js +143 -25
  7. package/AdapterLuxon/AdapterLuxon.d.ts +7 -1
  8. package/AdapterLuxon/AdapterLuxon.js +78 -28
  9. package/AdapterMoment/AdapterMoment.d.ts +12 -1
  10. package/AdapterMoment/AdapterMoment.js +103 -13
  11. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +4 -0
  12. package/AdapterMomentHijri/AdapterMomentHijri.js +30 -19
  13. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +4 -0
  14. package/AdapterMomentJalaali/AdapterMomentJalaali.js +30 -19
  15. package/CHANGELOG.md +150 -2
  16. package/DateCalendar/DateCalendar.js +2 -2
  17. package/DateCalendar/DayCalendar.d.ts +1 -1
  18. package/DateCalendar/PickersCalendarHeader.d.ts +1 -1
  19. package/DateCalendar/PickersCalendarHeader.js +2 -2
  20. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  21. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  22. package/DateField/DateField.js +6 -0
  23. package/DateField/DateField.types.d.ts +1 -1
  24. package/DatePicker/DatePickerToolbar.js +6 -15
  25. package/DatePicker/shared.d.ts +1 -5
  26. package/DatePicker/shared.js +1 -16
  27. package/DateTimeField/DateTimeField.js +6 -0
  28. package/DateTimeField/DateTimeField.types.d.ts +1 -1
  29. package/DateTimePicker/DateTimePicker.js +19 -2
  30. package/DateTimePicker/DateTimePicker.types.d.ts +4 -3
  31. package/DateTimePicker/DateTimePickerTabs.d.ts +3 -3
  32. package/DateTimePicker/DateTimePickerTabs.js +6 -5
  33. package/DateTimePicker/DateTimePickerToolbar.d.ts +5 -4
  34. package/DateTimePicker/DateTimePickerToolbar.js +46 -22
  35. package/DateTimePicker/shared.d.ts +6 -6
  36. package/DayCalendarSkeleton/DayCalendarSkeleton.d.ts +1 -1
  37. package/DesktopDatePicker/DesktopDatePicker.js +5 -4
  38. package/DesktopDateTimePicker/DesktopDateTimePicker.js +58 -11
  39. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +10 -3
  40. package/DesktopTimePicker/DesktopTimePicker.js +7 -3
  41. package/LocalizationProvider/LocalizationProvider.js +1 -0
  42. package/MobileDatePicker/MobileDatePicker.js +3 -2
  43. package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  44. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +8 -7
  45. package/MobileTimePicker/MobileTimePicker.js +5 -1
  46. package/MonthCalendar/MonthCalendar.js +2 -2
  47. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
  48. package/PickersActionBar/PickersActionBar.d.ts +2 -2
  49. package/PickersLayout/PickersLayout.d.ts +1 -1
  50. package/PickersShortcuts/PickersShortcuts.d.ts +2 -2
  51. package/README.md +5 -5
  52. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -1
  53. package/TimeClock/Clock.d.ts +1 -1
  54. package/TimeClock/ClockNumber.d.ts +1 -1
  55. package/TimeClock/ClockNumbers.d.ts +2 -2
  56. package/TimeClock/ClockPointer.d.ts +1 -1
  57. package/TimeField/TimeField.js +6 -0
  58. package/TimeField/TimeField.types.d.ts +1 -1
  59. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  60. package/TimePicker/shared.d.ts +1 -1
  61. package/YearCalendar/YearCalendar.js +2 -2
  62. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +13 -0
  63. package/dateTimeViewRenderers/dateTimeViewRenderers.js +148 -0
  64. package/dateTimeViewRenderers/index.d.ts +2 -0
  65. package/dateTimeViewRenderers/index.js +1 -0
  66. package/dateTimeViewRenderers/package.json +6 -0
  67. package/dateViewRenderers/dateViewRenderers.d.ts +3 -2
  68. package/dateViewRenderers/dateViewRenderers.js +2 -2
  69. package/icons/index.d.ts +42 -0
  70. package/{internals/components/icons → icons}/index.js +7 -7
  71. package/icons/package.json +6 -0
  72. package/index.d.ts +1 -0
  73. package/index.js +3 -2
  74. package/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.d.ts +2 -0
  75. package/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
  76. package/internals/components/DateTimeViewWrapper/index.d.ts +1 -0
  77. package/internals/components/DateTimeViewWrapper/index.js +1 -0
  78. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  79. package/internals/components/PickersModalDialog.d.ts +1 -1
  80. package/internals/components/PickersPopper.d.ts +1 -1
  81. package/internals/components/PickersToolbarButton.d.ts +1 -0
  82. package/internals/components/PickersToolbarButton.js +8 -3
  83. package/internals/constants/dimensions.d.ts +1 -0
  84. package/internals/constants/dimensions.js +2 -1
  85. package/internals/demo/DemoContainer.d.ts +2 -2
  86. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
  87. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
  88. package/internals/hooks/useField/useField.d.ts +1 -1
  89. package/internals/hooks/useField/useField.js +8 -3
  90. package/internals/hooks/useField/useField.types.d.ts +8 -2
  91. package/internals/hooks/useField/useFieldState.d.ts +1 -1
  92. package/internals/hooks/useField/useFieldState.js +22 -2
  93. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
  94. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +2 -2
  95. package/internals/hooks/usePicker/usePickerValue.types.d.ts +32 -2
  96. package/internals/hooks/usePicker/usePickerViews.js +8 -10
  97. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -2
  98. package/internals/hooks/useViews.js +10 -9
  99. package/internals/index.d.ts +2 -1
  100. package/internals/index.js +2 -1
  101. package/internals/models/fields.d.ts +1 -1
  102. package/internals/utils/date-time-utils.d.ts +6 -0
  103. package/internals/utils/date-time-utils.js +41 -0
  104. package/internals/utils/date-utils.d.ts +8 -1
  105. package/internals/utils/date-utils.js +35 -0
  106. package/internals/utils/fields.js +1 -1
  107. package/internals/utils/getDefaultReferenceDate.d.ts +15 -0
  108. package/internals/utils/getDefaultReferenceDate.js +62 -0
  109. package/internals/utils/time-utils.d.ts +8 -2
  110. package/internals/utils/time-utils.js +28 -0
  111. package/internals/utils/validation/extractValidationProps.d.ts +1 -1
  112. package/internals/utils/valueManagers.js +21 -3
  113. package/internals/utils/views.d.ts +2 -3
  114. package/internals/utils/views.js +6 -2
  115. package/legacy/AdapterDateFns/AdapterDateFns.js +38 -19
  116. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +35 -16
  117. package/legacy/AdapterDayjs/AdapterDayjs.js +147 -25
  118. package/legacy/AdapterLuxon/AdapterLuxon.js +78 -28
  119. package/legacy/AdapterMoment/AdapterMoment.js +109 -17
  120. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +30 -19
  121. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +30 -19
  122. package/legacy/DateCalendar/DateCalendar.js +2 -2
  123. package/legacy/DateCalendar/PickersCalendarHeader.js +2 -2
  124. package/legacy/DateField/DateField.js +6 -0
  125. package/legacy/DatePicker/DatePickerToolbar.js +6 -15
  126. package/legacy/DatePicker/shared.js +1 -15
  127. package/legacy/DateTimeField/DateTimeField.js +6 -0
  128. package/legacy/DateTimePicker/DateTimePicker.js +19 -2
  129. package/legacy/DateTimePicker/DateTimePickerTabs.js +6 -5
  130. package/legacy/DateTimePicker/DateTimePickerToolbar.js +51 -23
  131. package/legacy/DesktopDatePicker/DesktopDatePicker.js +5 -4
  132. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +59 -11
  133. package/legacy/DesktopTimePicker/DesktopTimePicker.js +7 -3
  134. package/legacy/LocalizationProvider/LocalizationProvider.js +1 -0
  135. package/legacy/MobileDatePicker/MobileDatePicker.js +3 -2
  136. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  137. package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
  138. package/legacy/MonthCalendar/MonthCalendar.js +2 -2
  139. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
  140. package/legacy/TimeField/TimeField.js +6 -0
  141. package/legacy/YearCalendar/YearCalendar.js +2 -2
  142. package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +147 -0
  143. package/legacy/dateTimeViewRenderers/index.js +1 -0
  144. package/legacy/dateViewRenderers/dateViewRenderers.js +2 -4
  145. package/legacy/{internals/components/icons → icons}/index.js +7 -7
  146. package/legacy/index.js +3 -2
  147. package/legacy/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
  148. package/legacy/internals/components/DateTimeViewWrapper/index.js +1 -0
  149. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  150. package/legacy/internals/components/PickersToolbarButton.js +7 -2
  151. package/legacy/internals/constants/dimensions.js +2 -1
  152. package/legacy/internals/hooks/useField/useField.js +8 -3
  153. package/legacy/internals/hooks/useField/useFieldState.js +22 -2
  154. package/legacy/internals/hooks/usePicker/usePickerViews.js +4 -4
  155. package/legacy/internals/hooks/useViews.js +10 -9
  156. package/legacy/internals/index.js +2 -1
  157. package/legacy/internals/utils/date-time-utils.js +39 -0
  158. package/legacy/internals/utils/date-utils.js +38 -0
  159. package/legacy/internals/utils/fields.js +1 -1
  160. package/legacy/internals/utils/getDefaultReferenceDate.js +64 -0
  161. package/legacy/internals/utils/time-utils.js +29 -0
  162. package/legacy/internals/utils/valueManagers.js +20 -4
  163. package/legacy/internals/utils/views.js +7 -5
  164. package/legacy/locales/deDE.js +2 -2
  165. package/legacy/locales/index.js +17 -15
  166. package/legacy/locales/roRO.js +81 -0
  167. package/legacy/locales/viVN.js +93 -0
  168. package/legacy/models/index.js +1 -0
  169. package/legacy/models/timezone.js +1 -0
  170. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +16 -1
  171. package/legacy/tests/describeGregorianAdapter/testCalculations.js +349 -79
  172. package/legacy/tests/describeGregorianAdapter/testLocalization.js +3 -3
  173. package/legacy/tests/describeValidation/testDayViewValidation.js +129 -52
  174. package/legacy/tests/describeValidation/testMinutesViewValidation.js +3 -10
  175. package/legacy/tests/describeValidation/testMonthViewValidation.js +3 -10
  176. package/legacy/tests/describeValidation/testYearViewValidation.js +3 -10
  177. package/legacy/tests/describeValue/describeValue.js +12 -5
  178. package/legacy/tests/describeValue/testControlledUnControlled.js +19 -4
  179. package/legacy/tests/describeValue/testPickerActionBar.js +12 -10
  180. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +10 -7
  181. package/legacy/timeViewRenderers/timeViewRenderers.js +1 -1
  182. package/locales/deDE.js +2 -2
  183. package/locales/index.d.ts +17 -15
  184. package/locales/index.js +17 -15
  185. package/locales/roRO.d.ts +53 -0
  186. package/locales/roRO.js +63 -0
  187. package/locales/viVN.d.ts +53 -0
  188. package/locales/viVN.js +57 -0
  189. package/models/adapters.d.ts +187 -46
  190. package/models/fields.d.ts +1 -1
  191. package/models/index.d.ts +1 -0
  192. package/models/index.js +1 -0
  193. package/models/timezone.d.ts +1 -0
  194. package/models/timezone.js +1 -0
  195. package/modern/AdapterDateFns/AdapterDateFns.js +38 -19
  196. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +35 -16
  197. package/modern/AdapterDayjs/AdapterDayjs.js +142 -25
  198. package/modern/AdapterLuxon/AdapterLuxon.js +77 -28
  199. package/modern/AdapterMoment/AdapterMoment.js +102 -13
  200. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +30 -19
  201. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +30 -19
  202. package/modern/DateCalendar/DateCalendar.js +2 -2
  203. package/modern/DateCalendar/PickersCalendarHeader.js +2 -2
  204. package/modern/DateField/DateField.js +6 -0
  205. package/modern/DatePicker/DatePickerToolbar.js +6 -15
  206. package/modern/DatePicker/shared.js +1 -16
  207. package/modern/DateTimeField/DateTimeField.js +6 -0
  208. package/modern/DateTimePicker/DateTimePicker.js +19 -2
  209. package/modern/DateTimePicker/DateTimePickerTabs.js +6 -5
  210. package/modern/DateTimePicker/DateTimePickerToolbar.js +46 -22
  211. package/modern/DesktopDatePicker/DesktopDatePicker.js +5 -4
  212. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +57 -10
  213. package/modern/DesktopTimePicker/DesktopTimePicker.js +7 -3
  214. package/modern/LocalizationProvider/LocalizationProvider.js +1 -0
  215. package/modern/MobileDatePicker/MobileDatePicker.js +3 -2
  216. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  217. package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
  218. package/modern/MonthCalendar/MonthCalendar.js +2 -2
  219. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
  220. package/modern/TimeField/TimeField.js +6 -0
  221. package/modern/YearCalendar/YearCalendar.js +2 -2
  222. package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +147 -0
  223. package/modern/dateTimeViewRenderers/index.js +1 -0
  224. package/modern/dateViewRenderers/dateViewRenderers.js +2 -2
  225. package/modern/{internals/components/icons → icons}/index.js +7 -7
  226. package/modern/index.js +3 -2
  227. package/modern/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
  228. package/modern/internals/components/DateTimeViewWrapper/index.js +1 -0
  229. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  230. package/modern/internals/components/PickersToolbarButton.js +8 -3
  231. package/modern/internals/constants/dimensions.js +2 -1
  232. package/modern/internals/hooks/useField/useField.js +8 -3
  233. package/modern/internals/hooks/useField/useFieldState.js +22 -2
  234. package/modern/internals/hooks/usePicker/usePickerViews.js +8 -10
  235. package/modern/internals/hooks/useViews.js +10 -9
  236. package/modern/internals/index.js +2 -1
  237. package/modern/internals/utils/date-time-utils.js +41 -0
  238. package/modern/internals/utils/date-utils.js +35 -0
  239. package/modern/internals/utils/fields.js +1 -1
  240. package/modern/internals/utils/getDefaultReferenceDate.js +58 -0
  241. package/modern/internals/utils/time-utils.js +28 -0
  242. package/modern/internals/utils/valueManagers.js +21 -3
  243. package/modern/internals/utils/views.js +6 -2
  244. package/modern/locales/deDE.js +2 -2
  245. package/modern/locales/index.js +17 -15
  246. package/modern/locales/roRO.js +60 -0
  247. package/modern/locales/viVN.js +57 -0
  248. package/modern/models/index.js +1 -0
  249. package/modern/models/timezone.js +1 -0
  250. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +13 -1
  251. package/modern/tests/describeGregorianAdapter/testCalculations.js +347 -79
  252. package/modern/tests/describeGregorianAdapter/testLocalization.js +3 -3
  253. package/modern/tests/describeValidation/testDayViewValidation.js +129 -52
  254. package/modern/tests/describeValidation/testMinutesViewValidation.js +3 -10
  255. package/modern/tests/describeValidation/testMonthViewValidation.js +3 -10
  256. package/modern/tests/describeValidation/testYearViewValidation.js +3 -10
  257. package/modern/tests/describeValue/describeValue.js +13 -4
  258. package/modern/tests/describeValue/testControlledUnControlled.js +15 -4
  259. package/modern/tests/describeValue/testPickerActionBar.js +19 -17
  260. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +10 -7
  261. package/modern/timeViewRenderers/timeViewRenderers.js +1 -1
  262. package/node/AdapterDateFns/AdapterDateFns.js +38 -19
  263. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +35 -16
  264. package/node/AdapterDayjs/AdapterDayjs.js +142 -25
  265. package/node/AdapterLuxon/AdapterLuxon.js +77 -28
  266. package/node/AdapterMoment/AdapterMoment.js +102 -13
  267. package/node/AdapterMomentHijri/AdapterMomentHijri.js +30 -19
  268. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +30 -19
  269. package/node/DateCalendar/DateCalendar.js +2 -2
  270. package/node/DateCalendar/PickersCalendarHeader.js +2 -2
  271. package/node/DateField/DateField.js +6 -0
  272. package/node/DatePicker/DatePickerToolbar.js +6 -15
  273. package/node/DatePicker/shared.js +0 -17
  274. package/node/DateTimeField/DateTimeField.js +6 -0
  275. package/node/DateTimePicker/DateTimePicker.js +19 -2
  276. package/node/DateTimePicker/DateTimePickerTabs.js +6 -5
  277. package/node/DateTimePicker/DateTimePickerToolbar.js +46 -22
  278. package/node/DesktopDatePicker/DesktopDatePicker.js +4 -3
  279. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +59 -12
  280. package/node/DesktopTimePicker/DesktopTimePicker.js +9 -5
  281. package/node/LocalizationProvider/LocalizationProvider.js +1 -0
  282. package/node/MobileDatePicker/MobileDatePicker.js +2 -1
  283. package/node/MobileDateTimePicker/MobileDateTimePicker.js +7 -3
  284. package/node/MobileTimePicker/MobileTimePicker.js +7 -3
  285. package/node/MonthCalendar/MonthCalendar.js +2 -2
  286. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +3 -2
  287. package/node/TimeField/TimeField.js +6 -0
  288. package/node/YearCalendar/YearCalendar.js +2 -2
  289. package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +156 -0
  290. package/node/dateTimeViewRenderers/index.js +12 -0
  291. package/node/dateViewRenderers/dateViewRenderers.js +3 -3
  292. package/node/{internals/components/icons → icons}/index.js +15 -15
  293. package/node/index.js +13 -1
  294. package/node/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +12 -0
  295. package/node/internals/components/DateTimeViewWrapper/index.js +12 -0
  296. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  297. package/node/internals/components/PickersToolbarButton.js +8 -3
  298. package/node/internals/constants/dimensions.js +4 -2
  299. package/node/internals/hooks/useField/useField.js +8 -3
  300. package/node/internals/hooks/useField/useFieldState.js +22 -2
  301. package/node/internals/hooks/usePicker/usePickerViews.js +8 -10
  302. package/node/internals/hooks/useViews.js +10 -9
  303. package/node/internals/index.js +13 -0
  304. package/node/internals/utils/date-time-utils.js +49 -0
  305. package/node/internals/utils/date-utils.js +40 -2
  306. package/node/internals/utils/fields.js +1 -1
  307. package/node/internals/utils/getDefaultReferenceDate.js +66 -0
  308. package/node/internals/utils/time-utils.js +32 -2
  309. package/node/internals/utils/valueManagers.js +21 -2
  310. package/node/internals/utils/views.js +8 -5
  311. package/node/locales/deDE.js +2 -2
  312. package/node/locales/index.js +119 -97
  313. package/node/locales/roRO.js +67 -0
  314. package/node/locales/viVN.js +64 -0
  315. package/node/models/index.js +11 -0
  316. package/node/models/timezone.js +5 -0
  317. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +13 -1
  318. package/node/tests/describeGregorianAdapter/testCalculations.js +347 -79
  319. package/node/tests/describeGregorianAdapter/testLocalization.js +3 -4
  320. package/node/tests/describeValidation/testDayViewValidation.js +129 -52
  321. package/node/tests/describeValidation/testMinutesViewValidation.js +3 -10
  322. package/node/tests/describeValidation/testMonthViewValidation.js +3 -10
  323. package/node/tests/describeValidation/testYearViewValidation.js +3 -10
  324. package/node/tests/describeValue/describeValue.js +13 -4
  325. package/node/tests/describeValue/testControlledUnControlled.js +15 -4
  326. package/node/tests/describeValue/testPickerActionBar.js +19 -16
  327. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +9 -6
  328. package/node/timeViewRenderers/timeViewRenderers.js +1 -1
  329. package/package.json +4 -4
  330. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +14 -1
  331. package/tests/describeGregorianAdapter/testCalculations.js +347 -79
  332. package/tests/describeGregorianAdapter/testLocalization.js +3 -3
  333. package/tests/describeValidation/testDayViewValidation.js +129 -52
  334. package/tests/describeValidation/testMinutesViewValidation.js +3 -10
  335. package/tests/describeValidation/testMonthViewValidation.js +3 -10
  336. package/tests/describeValidation/testYearViewValidation.js +3 -10
  337. package/tests/describeValue/describeValue.js +13 -4
  338. package/tests/describeValue/testControlledUnControlled.js +15 -4
  339. package/tests/describeValue/testPickerActionBar.js +19 -17
  340. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +10 -7
  341. package/timeViewRenderers/timeViewRenderers.d.ts +4 -4
  342. package/timeViewRenderers/timeViewRenderers.js +1 -1
  343. package/internals/components/icons/index.d.ts +0 -42
@@ -1,3 +1,4 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
1
2
  import _extends from "@babel/runtime/helpers/esm/extends";
2
3
  import * as React from 'react';
3
4
  import PropTypes from 'prop-types';
@@ -5,35 +6,61 @@ import { resolveComponentProps } from '@mui/base/utils';
5
6
  import { singleItemValueManager } from '../internals/utils/valueManagers';
6
7
  import { DateTimeField } from '../DateTimeField';
7
8
  import { useDateTimePickerDefaultizedProps } from '../DateTimePicker/shared';
8
- import { renderDateViewCalendar } from '../dateViewRenderers';
9
- import { useLocaleText, validateDateTime } from '../internals';
10
- import { Calendar } from '../internals/components/icons';
9
+ import { renderDateViewCalendar } from '../dateViewRenderers/dateViewRenderers';
10
+ import { renderDesktopDateTimeView } from '../dateTimeViewRenderers';
11
+ import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
12
+ import { validateDateTime } from '../internals/utils/validation/validateDateTime';
13
+ import { CalendarIcon } from '../icons';
11
14
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
12
15
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
16
+ import { resolveDateTimeFormat } from '../internals/utils/date-time-utils';
13
17
  var DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
14
- var _defaultizedProps$amp, _defaultizedProps$yea, _defaultizedProps$slo2, _defaultizedProps$slo3;
18
+ var _defaultizedProps$amp, _defaultizedProps$yea, _defaultizedProps$slo2, _defaultizedProps$slo3, _defaultizedProps$slo4;
15
19
  var localeText = useLocaleText();
20
+ var utils = useUtils();
16
21
 
17
22
  // Props with the default values common to all date time pickers
18
23
  var defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiDesktopDateTimePicker');
19
- var viewRenderers = _extends({
24
+ var timeSteps = _extends({
25
+ hours: 1,
26
+ minutes: 5,
27
+ seconds: 5
28
+ }, defaultizedProps.timeSteps);
29
+ var shouldUseNewRenderer = !defaultizedProps.viewRenderers || Object.keys(defaultizedProps.viewRenderers).length === 0;
30
+ var viewRenderers =
31
+ // we can only ensure the expected two-column layout if none of the renderers are overridden
32
+ shouldUseNewRenderer ? {
33
+ day: renderDesktopDateTimeView,
34
+ month: renderDesktopDateTimeView,
35
+ year: renderDesktopDateTimeView,
36
+ hours: renderDesktopDateTimeView,
37
+ minutes: renderDesktopDateTimeView,
38
+ seconds: renderDesktopDateTimeView,
39
+ meridiem: renderDesktopDateTimeView
40
+ } : _extends({
20
41
  day: renderDateViewCalendar,
21
42
  month: renderDateViewCalendar,
22
43
  year: renderDateViewCalendar,
23
44
  hours: null,
24
45
  minutes: null,
25
- seconds: null
46
+ seconds: null,
47
+ meridiem: null
26
48
  }, defaultizedProps.viewRenderers);
27
49
  var ampmInClock = (_defaultizedProps$amp = defaultizedProps.ampmInClock) != null ? _defaultizedProps$amp : true;
50
+ // add "accept" action only when the new date time view renderers are used
51
+ var actionBarActions = shouldUseNewRenderer ? ['accept'] : [];
28
52
 
29
53
  // Props with the default values specific to the desktop variant
30
54
  var props = _extends({}, defaultizedProps, {
31
55
  viewRenderers: viewRenderers,
56
+ format: resolveDateTimeFormat(utils, defaultizedProps),
57
+ views: defaultizedProps.ampm ? [].concat(_toConsumableArray(defaultizedProps.views), ['meridiem']) : defaultizedProps.views,
32
58
  yearsPerRow: (_defaultizedProps$yea = defaultizedProps.yearsPerRow) != null ? _defaultizedProps$yea : 4,
33
59
  ampmInClock: ampmInClock,
60
+ timeSteps: timeSteps,
34
61
  slots: _extends({
35
62
  field: DateTimeField,
36
- openPickerIcon: Calendar
63
+ openPickerIcon: CalendarIcon
37
64
  }, defaultizedProps.slots),
38
65
  slotProps: _extends({}, defaultizedProps.slotProps, {
39
66
  field: function field(ownerState) {
@@ -44,11 +71,15 @@ var DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTi
44
71
  },
45
72
  toolbar: _extends({
46
73
  hidden: true,
47
- ampmInClock: ampmInClock
74
+ ampmInClock: ampmInClock,
75
+ toolbarVariant: shouldUseNewRenderer ? 'desktop' : 'mobile'
48
76
  }, (_defaultizedProps$slo2 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo2.toolbar),
49
77
  tabs: _extends({
50
78
  hidden: true
51
- }, (_defaultizedProps$slo3 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo3.tabs)
79
+ }, (_defaultizedProps$slo3 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo3.tabs),
80
+ actionBar: _extends({
81
+ actions: actionBarActions
82
+ }, (_defaultizedProps$slo4 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo4.actionBar)
52
83
  })
53
84
  });
54
85
  var _useDesktopPicker = useDesktopPicker({
@@ -295,7 +326,7 @@ DesktopDateTimePicker.propTypes = {
295
326
  * Used when the component view is not controlled.
296
327
  * Must be a valid option from `views` list.
297
328
  */
298
- openTo: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
329
+ openTo: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
299
330
  /**
300
331
  * Force rendering in particular orientation.
301
332
  */
@@ -373,6 +404,11 @@ DesktopDateTimePicker.propTypes = {
373
404
  * @default false
374
405
  */
375
406
  showDaysOutsideCurrentMonth: PropTypes.bool,
407
+ /**
408
+ * If `true`, disabled digital clock items will not be rendered.
409
+ * @default false
410
+ */
411
+ skipDisabled: PropTypes.bool,
376
412
  /**
377
413
  * The props used for each component slot.
378
414
  * @default {}
@@ -387,6 +423,17 @@ DesktopDateTimePicker.propTypes = {
387
423
  * The system prop that allows defining system overrides as well as additional CSS styles.
388
424
  */
389
425
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
426
+ /**
427
+ * The time steps between two time unit options.
428
+ * For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
429
+ * When single column time renderer is used, only `timeStep.minutes` will be used.
430
+ * @default{ hours: 1, minutes: 5, seconds: 5 }
431
+ */
432
+ timeSteps: PropTypes.shape({
433
+ hours: PropTypes.number,
434
+ minutes: PropTypes.number,
435
+ seconds: PropTypes.number
436
+ }),
390
437
  /**
391
438
  * The selected value.
392
439
  * Used when the component is controlled.
@@ -397,7 +444,7 @@ DesktopDateTimePicker.propTypes = {
397
444
  * Used when the component view is controlled.
398
445
  * Must be a valid option from `views` list.
399
446
  */
400
- view: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
447
+ view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
401
448
  /**
402
449
  * Define custom view renderers for each section.
403
450
  * If `null`, the section will only have field editing.
@@ -406,6 +453,7 @@ DesktopDateTimePicker.propTypes = {
406
453
  viewRenderers: PropTypes.shape({
407
454
  day: PropTypes.func,
408
455
  hours: PropTypes.func,
456
+ meridiem: PropTypes.func,
409
457
  minutes: PropTypes.func,
410
458
  month: PropTypes.func,
411
459
  seconds: PropTypes.func,
@@ -6,14 +6,17 @@ import { resolveComponentProps } from '@mui/base/utils';
6
6
  import { singleItemValueManager } from '../internals/utils/valueManagers';
7
7
  import { TimeField } from '../TimeField';
8
8
  import { useTimePickerDefaultizedProps } from '../TimePicker/shared';
9
- import { useLocaleText, validateTime } from '../internals';
10
- import { Clock } from '../internals/components/icons';
9
+ import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
10
+ import { validateTime } from '../internals/utils/validation/validateTime';
11
+ import { ClockIcon } from '../icons';
11
12
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
12
13
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
13
14
  import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '../timeViewRenderers';
15
+ import { resolveTimeFormat } from '../internals/utils/time-utils';
14
16
  var DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
15
17
  var _defaultizedProps$thr, _defaultizedProps$amp, _viewRenderers$hours, _defaultizedProps$slo2, _defaultizedProps$slo3;
16
18
  var localeText = useLocaleText();
19
+ var utils = useUtils();
17
20
 
18
21
  // Props with the default values common to all time pickers
19
22
  var defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiDesktopTimePicker');
@@ -42,12 +45,13 @@ var DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker
42
45
  ampmInClock: ampmInClock,
43
46
  timeSteps: timeSteps,
44
47
  viewRenderers: viewRenderers,
48
+ format: resolveTimeFormat(utils, defaultizedProps),
45
49
  // Setting only `hours` time view in case of single column time picker
46
50
  // Allows for easy view lifecycle management
47
51
  views: shouldRenderTimeInASingleColumn ? ['hours'] : views,
48
52
  slots: _extends({
49
53
  field: TimeField,
50
- openPickerIcon: Clock
54
+ openPickerIcon: ClockIcon
51
55
  }, defaultizedProps.slots),
52
56
  slotProps: _extends({}, defaultizedProps.slotProps, {
53
57
  field: function field(ownerState) {
@@ -109,6 +109,7 @@ process.env.NODE_ENV !== "production" ? LocalizationProvider.propTypes = {
109
109
  keyboardDateTime: PropTypes.string,
110
110
  keyboardDateTime12h: PropTypes.string,
111
111
  keyboardDateTime24h: PropTypes.string,
112
+ meridiem: PropTypes.string,
112
113
  minutes: PropTypes.string,
113
114
  month: PropTypes.string,
114
115
  monthAndDate: PropTypes.string,
@@ -3,12 +3,13 @@ import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { resolveComponentProps } from '@mui/base/utils';
5
5
  import { useMobilePicker } from '../internals/hooks/useMobilePicker';
6
- import { getDatePickerFieldFormat, useDatePickerDefaultizedProps } from '../DatePicker/shared';
6
+ import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
7
7
  import { useLocaleText, useUtils, validateDate } from '../internals';
8
8
  import { DateField } from '../DateField';
9
9
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
10
10
  import { singleItemValueManager } from '../internals/utils/valueManagers';
11
11
  import { renderDateViewCalendar } from '../dateViewRenderers';
12
+ import { resolveDateFormat } from '../internals/utils/date-utils';
12
13
  var MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
13
14
  var _defaultizedProps$slo2;
14
15
  var localeText = useLocaleText();
@@ -25,7 +26,7 @@ var MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(i
25
26
  // Props with the default values specific to the mobile variant
26
27
  var props = _extends({}, defaultizedProps, {
27
28
  viewRenderers: viewRenderers,
28
- format: getDatePickerFieldFormat(utils, defaultizedProps),
29
+ format: resolveDateFormat(utils, defaultizedProps, false),
29
30
  slots: _extends({
30
31
  field: DateField
31
32
  }, defaultizedProps.slots),
@@ -5,14 +5,17 @@ import { resolveComponentProps } from '@mui/base/utils';
5
5
  import { singleItemValueManager } from '../internals/utils/valueManagers';
6
6
  import { DateTimeField } from '../DateTimeField';
7
7
  import { useDateTimePickerDefaultizedProps } from '../DateTimePicker/shared';
8
- import { useLocaleText, validateDateTime } from '../internals';
8
+ import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
9
+ import { validateDateTime } from '../internals/utils/validation/validateDateTime';
9
10
  import { useMobilePicker } from '../internals/hooks/useMobilePicker';
10
11
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
11
12
  import { renderDateViewCalendar } from '../dateViewRenderers';
12
13
  import { renderTimeViewClock } from '../timeViewRenderers';
14
+ import { resolveDateTimeFormat } from '../internals/utils/date-time-utils';
13
15
  var MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimePicker(inProps, ref) {
14
16
  var _defaultizedProps$amp, _defaultizedProps$slo2, _defaultizedProps$slo3;
15
17
  var localeText = useLocaleText();
18
+ var utils = useUtils();
16
19
 
17
20
  // Props with the default values common to all date time pickers
18
21
  var defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiMobileDateTimePicker');
@@ -29,6 +32,7 @@ var MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTime
29
32
  // Props with the default values specific to the mobile variant
30
33
  var props = _extends({}, defaultizedProps, {
31
34
  viewRenderers: viewRenderers,
35
+ format: resolveDateTimeFormat(utils, defaultizedProps),
32
36
  ampmInClock: ampmInClock,
33
37
  slots: _extends({
34
38
  field: DateTimeField
@@ -5,13 +5,16 @@ import { resolveComponentProps } from '@mui/base/utils';
5
5
  import { singleItemValueManager } from '../internals/utils/valueManagers';
6
6
  import { TimeField } from '../TimeField';
7
7
  import { useTimePickerDefaultizedProps } from '../TimePicker/shared';
8
- import { useLocaleText, validateTime } from '../internals';
8
+ import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
9
+ import { validateTime } from '../internals/utils/validation/validateTime';
9
10
  import { useMobilePicker } from '../internals/hooks/useMobilePicker';
10
11
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
11
12
  import { renderTimeViewClock } from '../timeViewRenderers';
13
+ import { resolveTimeFormat } from '../internals/utils/time-utils';
12
14
  var MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(inProps, ref) {
13
15
  var _defaultizedProps$amp, _defaultizedProps$slo2;
14
16
  var localeText = useLocaleText();
17
+ var utils = useUtils();
15
18
 
16
19
  // Props with the default values common to all time pickers
17
20
  var defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiMobileTimePicker');
@@ -26,6 +29,7 @@ var MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(i
26
29
  var props = _extends({}, defaultizedProps, {
27
30
  ampmInClock: ampmInClock,
28
31
  viewRenderers: viewRenderers,
32
+ format: resolveTimeFormat(utils, defaultizedProps),
29
33
  slots: _extends({
30
34
  field: TimeField
31
35
  }, defaultizedProps.slots),
@@ -120,7 +120,7 @@ export var MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalendar(
120
120
  onFocusedViewChange(newHasFocus);
121
121
  }
122
122
  });
123
- var isMonthDisabled = useEventCallback(function (month) {
123
+ var isMonthDisabled = React.useCallback(function (month) {
124
124
  var firstEnabledMonth = utils.startOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate);
125
125
  var lastEnabledMonth = utils.startOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate);
126
126
  if (utils.isBefore(month, firstEnabledMonth)) {
@@ -133,7 +133,7 @@ export var MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalendar(
133
133
  return false;
134
134
  }
135
135
  return shouldDisableMonth(month);
136
- });
136
+ }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableMonth, utils]);
137
137
  var handleMonthSelection = useEventCallback(function (event, month) {
138
138
  if (readOnly) {
139
139
  return;
@@ -9,7 +9,7 @@ import MenuList from '@mui/material/MenuList';
9
9
  import MenuItem from '@mui/material/MenuItem';
10
10
  import useForkRef from '@mui/utils/useForkRef';
11
11
  import { getMultiSectionDigitalClockSectionUtilityClass } from './multiSectionDigitalClockSectionClasses';
12
- import { DIGITAL_CLOCK_VIEW_HEIGHT } from '../internals/constants/dimensions';
12
+ import { DIGITAL_CLOCK_VIEW_HEIGHT, MULTI_SECTION_CLOCK_SECTION_WIDTH } from '../internals/constants/dimensions';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  var useUtilityClasses = function useUtilityClasses(ownerState) {
15
15
  var classes = ownerState.classes;
@@ -43,7 +43,8 @@ var MultiSectionDigitalClockSectionRoot = styled(MenuList, {
43
43
  '&:after': {
44
44
  display: 'block',
45
45
  content: '""',
46
- height: 188
46
+ // subtracting the height of one item, extra margin and borders to make sure the max height is correct
47
+ height: 'calc(100% - 40px - 6px)'
47
48
  }
48
49
  };
49
50
  });
@@ -58,7 +59,7 @@ var MultiSectionDigitalClockSectionItem = styled(MenuItem, {
58
59
  return {
59
60
  padding: 8,
60
61
  margin: '2px 4px',
61
- width: 48,
62
+ width: MULTI_SECTION_CLOCK_SECTION_WIDTH,
62
63
  justifyContent: 'center',
63
64
  '&:first-of-type': {
64
65
  marginTop: 4
@@ -240,6 +240,12 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
240
240
  * @default false
241
241
  */
242
242
  readOnly: PropTypes.bool,
243
+ /**
244
+ * The date used to generate a part of the date-time that is not present in the format when both `value` and `defaultValue` are not present.
245
+ * For example, on time fields it will be used to determine the date to set.
246
+ * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
247
+ */
248
+ referenceDate: PropTypes.any,
243
249
  /**
244
250
  * If `true`, the label is displayed as required and the `input` element is required.
245
251
  * @default false
@@ -122,7 +122,7 @@ export var YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(in
122
122
  onFocusedViewChange(newHasFocus);
123
123
  }
124
124
  });
125
- var isYearDisabled = useEventCallback(function (dateToValidate) {
125
+ var isYearDisabled = React.useCallback(function (dateToValidate) {
126
126
  if (disablePast && utils.isBeforeYear(dateToValidate, now)) {
127
127
  return true;
128
128
  }
@@ -139,7 +139,7 @@ export var YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(in
139
139
  return true;
140
140
  }
141
141
  return false;
142
- });
142
+ }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableYear, utils]);
143
143
  var handleYearSelection = useEventCallback(function (event, year) {
144
144
  if (readOnly) {
145
145
  return;
@@ -0,0 +1,147 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import * as React from 'react';
4
+ import Divider from '@mui/material/Divider';
5
+ import { resolveComponentProps } from '@mui/base/utils';
6
+ import { DateCalendar } from '../DateCalendar';
7
+ import { MultiSectionDigitalClock, multiSectionDigitalClockSectionClasses } from '../MultiSectionDigitalClock';
8
+ import { DateTimeViewWrapper } from '../internals/components/DateTimeViewWrapper';
9
+ import { isInternalTimeView } from '../internals/utils/time-utils';
10
+ import { isDatePickerView } from '../internals/utils/date-utils';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ export var renderDesktopDateTimeView = function renderDesktopDateTimeView(_ref) {
14
+ var _resolveComponentProp, _resolveComponentProp2, _slotProps$actionBar;
15
+ var view = _ref.view,
16
+ onViewChange = _ref.onViewChange,
17
+ views = _ref.views,
18
+ focusedView = _ref.focusedView,
19
+ onFocusedViewChange = _ref.onFocusedViewChange,
20
+ value = _ref.value,
21
+ defaultValue = _ref.defaultValue,
22
+ onChange = _ref.onChange,
23
+ className = _ref.className,
24
+ classes = _ref.classes,
25
+ disableFuture = _ref.disableFuture,
26
+ disablePast = _ref.disablePast,
27
+ minDate = _ref.minDate,
28
+ minTime = _ref.minTime,
29
+ maxDate = _ref.maxDate,
30
+ maxTime = _ref.maxTime,
31
+ shouldDisableDate = _ref.shouldDisableDate,
32
+ shouldDisableMonth = _ref.shouldDisableMonth,
33
+ shouldDisableYear = _ref.shouldDisableYear,
34
+ shouldDisableTime = _ref.shouldDisableTime,
35
+ shouldDisableClock = _ref.shouldDisableClock,
36
+ reduceAnimations = _ref.reduceAnimations,
37
+ minutesStep = _ref.minutesStep,
38
+ ampm = _ref.ampm,
39
+ onMonthChange = _ref.onMonthChange,
40
+ monthsPerRow = _ref.monthsPerRow,
41
+ onYearChange = _ref.onYearChange,
42
+ yearsPerRow = _ref.yearsPerRow,
43
+ defaultCalendarMonth = _ref.defaultCalendarMonth,
44
+ components = _ref.components,
45
+ componentsProps = _ref.componentsProps,
46
+ slots = _ref.slots,
47
+ slotProps = _ref.slotProps,
48
+ loading = _ref.loading,
49
+ renderLoading = _ref.renderLoading,
50
+ disableHighlightToday = _ref.disableHighlightToday,
51
+ readOnly = _ref.readOnly,
52
+ disabled = _ref.disabled,
53
+ showDaysOutsideCurrentMonth = _ref.showDaysOutsideCurrentMonth,
54
+ dayOfWeekFormatter = _ref.dayOfWeekFormatter,
55
+ sx = _ref.sx,
56
+ autoFocus = _ref.autoFocus,
57
+ fixedWeekNumber = _ref.fixedWeekNumber,
58
+ displayWeekNumber = _ref.displayWeekNumber,
59
+ disableIgnoringDatePartForTimeValidation = _ref.disableIgnoringDatePartForTimeValidation,
60
+ timeSteps = _ref.timeSteps,
61
+ skipDisabled = _ref.skipDisabled,
62
+ timeViewsCount = _ref.timeViewsCount;
63
+ var isActionBarVisible = !!((_resolveComponentProp = resolveComponentProps((_slotProps$actionBar = slotProps == null ? void 0 : slotProps.actionBar) != null ? _slotProps$actionBar : componentsProps == null ? void 0 : componentsProps.actionBar, {})) != null && (_resolveComponentProp2 = _resolveComponentProp.actions) != null && _resolveComponentProp2.length);
64
+ return /*#__PURE__*/_jsxs(React.Fragment, {
65
+ children: [/*#__PURE__*/_jsxs(DateTimeViewWrapper, {
66
+ children: [/*#__PURE__*/_jsx(DateCalendar, {
67
+ view: isDatePickerView(view) ? view : 'day',
68
+ onViewChange: onViewChange,
69
+ views: views.filter(isDatePickerView),
70
+ focusedView: focusedView && isDatePickerView(focusedView) ? focusedView : null,
71
+ onFocusedViewChange: onFocusedViewChange,
72
+ value: value,
73
+ defaultValue: defaultValue,
74
+ onChange: onChange,
75
+ className: className,
76
+ classes: classes,
77
+ disableFuture: disableFuture,
78
+ disablePast: disablePast,
79
+ minDate: minDate,
80
+ maxDate: maxDate,
81
+ shouldDisableDate: shouldDisableDate,
82
+ shouldDisableMonth: shouldDisableMonth,
83
+ shouldDisableYear: shouldDisableYear,
84
+ reduceAnimations: reduceAnimations,
85
+ onMonthChange: onMonthChange,
86
+ monthsPerRow: monthsPerRow,
87
+ onYearChange: onYearChange,
88
+ yearsPerRow: yearsPerRow,
89
+ defaultCalendarMonth: defaultCalendarMonth,
90
+ components: components,
91
+ componentsProps: componentsProps,
92
+ slots: slots,
93
+ slotProps: slotProps,
94
+ loading: loading,
95
+ renderLoading: renderLoading,
96
+ disableHighlightToday: disableHighlightToday,
97
+ readOnly: readOnly,
98
+ disabled: disabled,
99
+ showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth,
100
+ dayOfWeekFormatter: dayOfWeekFormatter,
101
+ sx: sx,
102
+ autoFocus: autoFocus,
103
+ fixedWeekNumber: fixedWeekNumber,
104
+ displayWeekNumber: displayWeekNumber
105
+ }), timeViewsCount > 0 && /*#__PURE__*/_jsxs(React.Fragment, {
106
+ children: [/*#__PURE__*/_jsx(Divider, {
107
+ orientation: "vertical"
108
+ }), /*#__PURE__*/_jsx(MultiSectionDigitalClock, {
109
+ view: isInternalTimeView(view) ? view : 'hours',
110
+ onViewChange: onViewChange,
111
+ focusedView: focusedView && isInternalTimeView(focusedView) ? focusedView : null,
112
+ onFocusedViewChange: onFocusedViewChange,
113
+ views: views.filter(isInternalTimeView),
114
+ value: value,
115
+ defaultValue: defaultValue,
116
+ onChange: onChange,
117
+ className: className,
118
+ classes: classes,
119
+ disableFuture: disableFuture,
120
+ disablePast: disablePast,
121
+ minTime: minTime,
122
+ maxTime: maxTime,
123
+ shouldDisableTime: shouldDisableTime,
124
+ shouldDisableClock: shouldDisableClock,
125
+ minutesStep: minutesStep,
126
+ ampm: ampm,
127
+ components: components,
128
+ componentsProps: componentsProps,
129
+ slots: slots,
130
+ slotProps: slotProps,
131
+ readOnly: readOnly,
132
+ disabled: disabled,
133
+ sx: _extends(_defineProperty({
134
+ borderBottom: 0,
135
+ width: 'auto'
136
+ }, ".".concat(multiSectionDigitalClockSectionClasses.root), {
137
+ maxHeight: '100%'
138
+ }), Array.isArray(sx) ? sx : [sx]),
139
+ autoFocus: autoFocus,
140
+ disableIgnoringDatePartForTimeValidation: disableIgnoringDatePartForTimeValidation,
141
+ timeSteps: timeSteps,
142
+ skipDisabled: skipDisabled
143
+ })]
144
+ })]
145
+ }), isActionBarVisible && /*#__PURE__*/_jsx(Divider, {})]
146
+ });
147
+ };
@@ -0,0 +1 @@
1
+ export { renderDesktopDateTimeView } from './dateTimeViewRenderers';
@@ -1,9 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { DateCalendar } from '../DateCalendar';
3
+ import { isDatePickerView } from '../internals/utils/date-utils';
3
4
  import { jsx as _jsx } from "react/jsx-runtime";
4
- var isDatePickerView = function isDatePickerView(view) {
5
- return view === 'year' || view === 'month' || view === 'day';
6
- };
7
5
  export var renderDateViewCalendar = function renderDateViewCalendar(_ref) {
8
6
  var view = _ref.view,
9
7
  onViewChange = _ref.onViewChange,
@@ -47,7 +45,7 @@ export var renderDateViewCalendar = function renderDateViewCalendar(_ref) {
47
45
  view: view,
48
46
  onViewChange: onViewChange,
49
47
  views: views.filter(isDatePickerView),
50
- focusedView: focusedView,
48
+ focusedView: focusedView && isDatePickerView(focusedView) ? focusedView : null,
51
49
  onFocusedViewChange: onFocusedViewChange,
52
50
  value: value,
53
51
  defaultValue: defaultValue,
@@ -6,35 +6,35 @@ import * as React from 'react';
6
6
  */
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
- export var ArrowDropDown = createSvgIcon( /*#__PURE__*/_jsx("path", {
9
+ export var ArrowDropDownIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
10
10
  d: "M7 10l5 5 5-5z"
11
11
  }), 'ArrowDropDown');
12
12
 
13
13
  /**
14
14
  * @ignore - internal component.
15
15
  */
16
- export var ArrowLeft = createSvgIcon( /*#__PURE__*/_jsx("path", {
16
+ export var ArrowLeftIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
17
17
  d: "M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"
18
18
  }), 'ArrowLeft');
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
22
22
  */
23
- export var ArrowRight = createSvgIcon( /*#__PURE__*/_jsx("path", {
23
+ export var ArrowRightIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
24
24
  d: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"
25
25
  }), 'ArrowRight');
26
26
 
27
27
  /**
28
28
  * @ignore - internal component.
29
29
  */
30
- export var Calendar = createSvgIcon( /*#__PURE__*/_jsx("path", {
30
+ export var CalendarIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
31
31
  d: "M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"
32
32
  }), 'Calendar');
33
33
 
34
34
  /**
35
35
  * @ignore - internal component.
36
36
  */
37
- export var Clock = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
37
+ export var ClockIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
38
38
  children: [/*#__PURE__*/_jsx("path", {
39
39
  d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
40
40
  }), /*#__PURE__*/_jsx("path", {
@@ -45,14 +45,14 @@ export var Clock = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
45
45
  /**
46
46
  * @ignore - internal component.
47
47
  */
48
- export var DateRange = createSvgIcon( /*#__PURE__*/_jsx("path", {
48
+ export var DateRangeIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
49
49
  d: "M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"
50
50
  }), 'DateRange');
51
51
 
52
52
  /**
53
53
  * @ignore - internal component.
54
54
  */
55
- export var Time = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
55
+ export var TimeIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
56
56
  children: [/*#__PURE__*/_jsx("path", {
57
57
  d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
58
58
  }), /*#__PURE__*/_jsx("path", {
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v6.5.0
2
+ * @mui/x-date-pickers v6.7.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -47,4 +47,5 @@ export * from './PickersLayout';
47
47
  export * from './PickersActionBar';
48
48
  export * from './PickersShortcuts';
49
49
  export { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from './internals/utils/utils';
50
- export * from './models';
50
+ export * from './models';
51
+ export * from './icons';
@@ -0,0 +1,5 @@
1
+ import { styled } from '@mui/material/styles';
2
+ export var DateTimeViewWrapper = styled('div')({
3
+ display: 'flex',
4
+ margin: '0 auto'
5
+ });
@@ -0,0 +1 @@
1
+ export { DateTimeViewWrapper } from './DateTimeViewWrapper';
@@ -11,7 +11,7 @@ import { useTheme, styled, useThemeProps } from '@mui/material/styles';
11
11
  import { unstable_composeClasses as composeClasses } from '@mui/utils';
12
12
  import { useSlotProps } from '@mui/base/utils';
13
13
  import IconButton from '@mui/material/IconButton';
14
- import { ArrowLeft, ArrowRight } from '../icons';
14
+ import { ArrowLeftIcon, ArrowRightIcon } from '../../../icons';
15
15
  import { getPickersArrowSwitcherUtilityClass } from './pickersArrowSwitcherClasses';
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -130,7 +130,7 @@ export var PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Pickers
130
130
  }),
131
131
  className: classes.button
132
132
  });
133
- var LeftArrowIcon = (_slots$leftArrowIcon = slots == null ? void 0 : slots.leftArrowIcon) != null ? _slots$leftArrowIcon : ArrowLeft;
133
+ var LeftArrowIcon = (_slots$leftArrowIcon = slots == null ? void 0 : slots.leftArrowIcon) != null ? _slots$leftArrowIcon : ArrowLeftIcon;
134
134
  // The spread is here to avoid this bug mui/material-ui#34056
135
135
  var _useSlotProps = useSlotProps({
136
136
  elementType: LeftArrowIcon,
@@ -142,7 +142,7 @@ export var PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Pickers
142
142
  }),
143
143
  leftArrowIconOwnerState = _useSlotProps.ownerState,
144
144
  leftArrowIconProps = _objectWithoutProperties(_useSlotProps, _excluded2);
145
- var RightArrowIcon = (_slots$rightArrowIcon = slots == null ? void 0 : slots.rightArrowIcon) != null ? _slots$rightArrowIcon : ArrowRight;
145
+ var RightArrowIcon = (_slots$rightArrowIcon = slots == null ? void 0 : slots.rightArrowIcon) != null ? _slots$rightArrowIcon : ArrowRightIcon;
146
146
  // The spread is here to avoid this bug mui/material-ui#34056
147
147
  var _useSlotProps2 = useSlotProps({
148
148
  elementType: RightArrowIcon,