@mui/x-date-pickers 5.0.0 → 5.0.2

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 (325) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/CalendarPicker/CalendarPicker.js +1 -1
  3. package/CalendarPicker/DayPicker.d.ts +3 -1
  4. package/CalendarPicker/DayPicker.js +89 -15
  5. package/CalendarPicker/PickersCalendarHeader.d.ts +4 -2
  6. package/CalendarPicker/PickersCalendarHeader.js +59 -12
  7. package/CalendarPicker/PickersFadeTransitionGroup.d.ts +4 -3
  8. package/CalendarPicker/PickersFadeTransitionGroup.js +33 -11
  9. package/CalendarPicker/PickersSlideTransition.d.ts +3 -1
  10. package/CalendarPicker/PickersSlideTransition.js +47 -17
  11. package/CalendarPicker/dayPickerClasses.d.ts +17 -0
  12. package/CalendarPicker/dayPickerClasses.js +3 -0
  13. package/CalendarPicker/index.d.ts +9 -0
  14. package/CalendarPicker/index.js +5 -1
  15. package/CalendarPicker/pickersCalendarHeaderClasses.d.ts +15 -0
  16. package/CalendarPicker/pickersCalendarHeaderClasses.js +3 -0
  17. package/CalendarPicker/pickersFadeTransitionGroupClasses.d.ts +7 -0
  18. package/CalendarPicker/pickersFadeTransitionGroupClasses.js +3 -0
  19. package/CalendarPicker/pickersSlideTransitionClasses.d.ts +19 -0
  20. package/CalendarPicker/pickersSlideTransitionClasses.js +5 -0
  21. package/CalendarPickerSkeleton/CalendarPickerSkeleton.d.ts +1 -1
  22. package/CalendarPickerSkeleton/CalendarPickerSkeleton.js +10 -9
  23. package/ClockPicker/Clock.d.ts +4 -1
  24. package/ClockPicker/Clock.js +74 -13
  25. package/ClockPicker/ClockNumber.d.ts +3 -2
  26. package/ClockPicker/ClockNumber.js +35 -8
  27. package/ClockPicker/ClockPointer.d.ts +3 -12
  28. package/ClockPicker/ClockPointer.js +67 -56
  29. package/ClockPicker/clockClasses.d.ts +19 -0
  30. package/ClockPicker/clockClasses.js +5 -0
  31. package/ClockPicker/clockNumberClasses.d.ts +11 -0
  32. package/ClockPicker/clockNumberClasses.js +5 -0
  33. package/ClockPicker/clockPointerClasses.d.ts +9 -0
  34. package/ClockPicker/clockPointerClasses.js +5 -0
  35. package/ClockPicker/index.d.ts +9 -0
  36. package/ClockPicker/index.js +4 -1
  37. package/DatePicker/DatePicker.js +3 -0
  38. package/DatePicker/DatePickerToolbar.d.ts +5 -2
  39. package/DatePicker/DatePickerToolbar.js +28 -9
  40. package/DatePicker/datePickerToolbarClasses.d.ts +9 -0
  41. package/DatePicker/datePickerToolbarClasses.js +5 -0
  42. package/DatePicker/index.d.ts +3 -0
  43. package/DatePicker/index.js +2 -1
  44. package/DatePicker/shared.d.ts +3 -0
  45. package/DateTimePicker/DateTimePicker.js +3 -0
  46. package/DateTimePicker/DateTimePickerTabs.d.ts +6 -1
  47. package/DateTimePicker/DateTimePickerTabs.js +31 -3
  48. package/DateTimePicker/DateTimePickerToolbar.d.ts +5 -2
  49. package/DateTimePicker/DateTimePickerToolbar.js +33 -12
  50. package/DateTimePicker/dateTimePickerTabsClasses.d.ts +7 -0
  51. package/DateTimePicker/dateTimePickerTabsClasses.js +5 -0
  52. package/DateTimePicker/dateTimePickerToolbarClasses.d.ts +13 -0
  53. package/DateTimePicker/dateTimePickerToolbarClasses.js +5 -0
  54. package/DateTimePicker/index.d.ts +5 -0
  55. package/DateTimePicker/index.js +3 -1
  56. package/DateTimePicker/shared.d.ts +3 -0
  57. package/DesktopDatePicker/DesktopDatePicker.js +3 -0
  58. package/DesktopDateTimePicker/DesktopDateTimePicker.js +4 -1
  59. package/DesktopTimePicker/DesktopTimePicker.js +3 -0
  60. package/MobileDatePicker/MobileDatePicker.js +3 -0
  61. package/MobileDateTimePicker/MobileDateTimePicker.js +4 -1
  62. package/MobileTimePicker/MobileTimePicker.js +3 -0
  63. package/MonthPicker/PickersMonth.d.ts +2 -3
  64. package/MonthPicker/PickersMonth.js +26 -6
  65. package/MonthPicker/index.d.ts +2 -0
  66. package/MonthPicker/index.js +2 -1
  67. package/MonthPicker/pickersMonthClasses.d.ts +9 -0
  68. package/MonthPicker/pickersMonthClasses.js +7 -0
  69. package/PickersDay/PickersDay.js +3 -2
  70. package/StaticDatePicker/StaticDatePicker.js +8 -3
  71. package/StaticDateTimePicker/StaticDateTimePicker.js +9 -4
  72. package/StaticTimePicker/StaticTimePicker.js +8 -3
  73. package/TimePicker/TimePicker.js +3 -0
  74. package/TimePicker/TimePickerToolbar.d.ts +1 -1
  75. package/TimePicker/TimePickerToolbar.js +19 -6
  76. package/TimePicker/index.d.ts +3 -0
  77. package/TimePicker/index.js +2 -1
  78. package/TimePicker/shared.d.ts +3 -0
  79. package/TimePicker/timePickerToolbarClasses.d.ts +1 -0
  80. package/YearPicker/PickersYear.d.ts +4 -13
  81. package/YearPicker/PickersYear.js +21 -7
  82. package/YearPicker/YearPicker.d.ts +1 -1
  83. package/YearPicker/index.d.ts +2 -0
  84. package/YearPicker/index.js +2 -1
  85. package/YearPicker/pickersYearClasses.d.ts +17 -0
  86. package/YearPicker/pickersYearClasses.js +7 -0
  87. package/YearPicker/yearPickerClasses.d.ts +1 -1
  88. package/index.js +1 -1
  89. package/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.d.ts +4 -2
  90. package/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +44 -5
  91. package/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.d.ts +9 -0
  92. package/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.js +5 -0
  93. package/internals/components/PickerStaticWrapper/PickerStaticWrapper.d.ts +1 -0
  94. package/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +6 -3
  95. package/internals/components/PickersArrowSwitcher.d.ts +2 -0
  96. package/internals/components/PickersArrowSwitcher.js +23 -4
  97. package/internals/components/PickersPopper.d.ts +3 -1
  98. package/internals/components/PickersPopper.js +36 -8
  99. package/internals/components/PickersToolbar.d.ts +2 -1
  100. package/internals/components/PickersToolbar.js +29 -8
  101. package/internals/components/PickersToolbarButton.d.ts +2 -0
  102. package/internals/components/PickersToolbarButton.js +28 -4
  103. package/internals/components/PickersToolbarText.d.ts +3 -1
  104. package/internals/components/PickersToolbarText.js +25 -6
  105. package/internals/components/PureDateInput.js +10 -2
  106. package/internals/components/pickersArrowSwitcherClasses.d.ts +11 -0
  107. package/internals/components/pickersArrowSwitcherClasses.js +5 -0
  108. package/internals/components/pickersPopperClasses.d.ts +9 -0
  109. package/internals/components/pickersPopperClasses.js +5 -0
  110. package/internals/components/pickersToolbarButtonClasses.d.ts +7 -0
  111. package/internals/components/pickersToolbarButtonClasses.js +5 -0
  112. package/internals/components/pickersToolbarClasses.d.ts +13 -0
  113. package/internals/components/pickersToolbarClasses.js +5 -0
  114. package/internals/components/pickersToolbarTextClasses.d.ts +9 -0
  115. package/internals/components/pickersToolbarTextClasses.js +7 -0
  116. package/internals/index.d.ts +21 -1
  117. package/internals/index.js +8 -1
  118. package/internals/utils/date-utils.d.ts +1 -1
  119. package/legacy/CalendarPicker/CalendarPicker.js +2 -1
  120. package/legacy/CalendarPicker/DayPicker.js +102 -15
  121. package/legacy/CalendarPicker/PickersCalendarHeader.js +67 -12
  122. package/legacy/CalendarPicker/PickersFadeTransitionGroup.js +30 -10
  123. package/legacy/CalendarPicker/PickersSlideTransition.js +42 -24
  124. package/legacy/CalendarPicker/dayPickerClasses.js +5 -0
  125. package/legacy/CalendarPicker/index.js +5 -1
  126. package/legacy/CalendarPicker/pickersCalendarHeaderClasses.js +5 -0
  127. package/legacy/CalendarPicker/pickersFadeTransitionGroupClasses.js +5 -0
  128. package/legacy/CalendarPicker/pickersSlideTransitionClasses.js +8 -0
  129. package/legacy/CalendarPickerSkeleton/CalendarPickerSkeleton.js +9 -8
  130. package/legacy/ClockPicker/Clock.js +86 -13
  131. package/legacy/ClockPicker/ClockNumber.js +34 -11
  132. package/legacy/ClockPicker/ClockPointer.js +67 -81
  133. package/legacy/ClockPicker/clockClasses.js +5 -0
  134. package/legacy/ClockPicker/clockNumberClasses.js +5 -0
  135. package/legacy/ClockPicker/clockPointerClasses.js +5 -0
  136. package/legacy/ClockPicker/index.js +4 -1
  137. package/legacy/DatePicker/DatePicker.js +3 -0
  138. package/legacy/DatePicker/DatePickerToolbar.js +26 -9
  139. package/legacy/DatePicker/datePickerToolbarClasses.js +5 -0
  140. package/legacy/DatePicker/index.js +2 -1
  141. package/legacy/DateTimePicker/DateTimePicker.js +3 -0
  142. package/legacy/DateTimePicker/DateTimePickerTabs.js +31 -3
  143. package/legacy/DateTimePicker/DateTimePickerToolbar.js +31 -12
  144. package/legacy/DateTimePicker/dateTimePickerTabsClasses.js +5 -0
  145. package/legacy/DateTimePicker/dateTimePickerToolbarClasses.js +5 -0
  146. package/legacy/DateTimePicker/index.js +3 -1
  147. package/legacy/DesktopDatePicker/DesktopDatePicker.js +3 -0
  148. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +4 -1
  149. package/legacy/DesktopTimePicker/DesktopTimePicker.js +3 -0
  150. package/legacy/MobileDatePicker/MobileDatePicker.js +3 -0
  151. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +4 -1
  152. package/legacy/MobileTimePicker/MobileTimePicker.js +3 -0
  153. package/legacy/MonthPicker/PickersMonth.js +26 -8
  154. package/legacy/MonthPicker/index.js +2 -1
  155. package/legacy/MonthPicker/pickersMonthClasses.js +7 -0
  156. package/legacy/PickersDay/PickersDay.js +3 -2
  157. package/legacy/StaticDatePicker/StaticDatePicker.js +7 -2
  158. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +8 -3
  159. package/legacy/StaticTimePicker/StaticTimePicker.js +7 -2
  160. package/legacy/TimePicker/TimePicker.js +3 -0
  161. package/legacy/TimePicker/TimePickerToolbar.js +19 -11
  162. package/legacy/TimePicker/index.js +2 -1
  163. package/legacy/YearPicker/PickersYear.js +20 -10
  164. package/legacy/YearPicker/index.js +2 -1
  165. package/legacy/YearPicker/pickersYearClasses.js +7 -0
  166. package/legacy/index.js +1 -1
  167. package/legacy/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +46 -5
  168. package/legacy/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.js +5 -0
  169. package/legacy/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +5 -2
  170. package/legacy/internals/components/PickersArrowSwitcher.js +21 -4
  171. package/legacy/internals/components/PickersPopper.js +38 -8
  172. package/legacy/internals/components/PickersToolbar.js +26 -8
  173. package/legacy/internals/components/PickersToolbarButton.js +28 -4
  174. package/legacy/internals/components/PickersToolbarText.js +24 -6
  175. package/legacy/internals/components/PureDateInput.js +10 -2
  176. package/legacy/internals/components/pickersArrowSwitcherClasses.js +5 -0
  177. package/legacy/internals/components/pickersPopperClasses.js +5 -0
  178. package/legacy/internals/components/pickersToolbarButtonClasses.js +5 -0
  179. package/legacy/internals/components/pickersToolbarClasses.js +5 -0
  180. package/legacy/internals/components/pickersToolbarTextClasses.js +7 -0
  181. package/legacy/internals/index.js +8 -1
  182. package/legacy/locales/deDE.js +18 -11
  183. package/legacy/locales/index.js +1 -0
  184. package/legacy/locales/isIS.js +54 -0
  185. package/locales/deDE.js +16 -11
  186. package/locales/index.d.ts +1 -0
  187. package/locales/index.js +1 -0
  188. package/locales/isIS.d.ts +35 -0
  189. package/locales/isIS.js +40 -0
  190. package/modern/CalendarPicker/CalendarPicker.js +1 -1
  191. package/modern/CalendarPicker/DayPicker.js +89 -15
  192. package/modern/CalendarPicker/PickersCalendarHeader.js +59 -12
  193. package/modern/CalendarPicker/PickersFadeTransitionGroup.js +33 -11
  194. package/modern/CalendarPicker/PickersSlideTransition.js +47 -17
  195. package/modern/CalendarPicker/dayPickerClasses.js +3 -0
  196. package/modern/CalendarPicker/index.js +5 -1
  197. package/modern/CalendarPicker/pickersCalendarHeaderClasses.js +3 -0
  198. package/modern/CalendarPicker/pickersFadeTransitionGroupClasses.js +3 -0
  199. package/modern/CalendarPicker/pickersSlideTransitionClasses.js +5 -0
  200. package/modern/CalendarPickerSkeleton/CalendarPickerSkeleton.js +10 -9
  201. package/modern/ClockPicker/Clock.js +74 -13
  202. package/modern/ClockPicker/ClockNumber.js +35 -8
  203. package/modern/ClockPicker/ClockPointer.js +67 -56
  204. package/modern/ClockPicker/clockClasses.js +5 -0
  205. package/modern/ClockPicker/clockNumberClasses.js +5 -0
  206. package/modern/ClockPicker/clockPointerClasses.js +5 -0
  207. package/modern/ClockPicker/index.js +4 -1
  208. package/modern/DatePicker/DatePicker.js +3 -0
  209. package/modern/DatePicker/DatePickerToolbar.js +28 -9
  210. package/modern/DatePicker/datePickerToolbarClasses.js +5 -0
  211. package/modern/DatePicker/index.js +2 -1
  212. package/modern/DateTimePicker/DateTimePicker.js +3 -0
  213. package/modern/DateTimePicker/DateTimePickerTabs.js +31 -3
  214. package/modern/DateTimePicker/DateTimePickerToolbar.js +33 -12
  215. package/modern/DateTimePicker/dateTimePickerTabsClasses.js +5 -0
  216. package/modern/DateTimePicker/dateTimePickerToolbarClasses.js +5 -0
  217. package/modern/DateTimePicker/index.js +3 -1
  218. package/modern/DesktopDatePicker/DesktopDatePicker.js +3 -0
  219. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +4 -1
  220. package/modern/DesktopTimePicker/DesktopTimePicker.js +3 -0
  221. package/modern/MobileDatePicker/MobileDatePicker.js +3 -0
  222. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -1
  223. package/modern/MobileTimePicker/MobileTimePicker.js +3 -0
  224. package/modern/MonthPicker/PickersMonth.js +26 -6
  225. package/modern/MonthPicker/index.js +2 -1
  226. package/modern/MonthPicker/pickersMonthClasses.js +7 -0
  227. package/modern/PickersDay/PickersDay.js +3 -2
  228. package/modern/StaticDatePicker/StaticDatePicker.js +8 -3
  229. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +9 -4
  230. package/modern/StaticTimePicker/StaticTimePicker.js +8 -3
  231. package/modern/TimePicker/TimePicker.js +3 -0
  232. package/modern/TimePicker/TimePickerToolbar.js +19 -6
  233. package/modern/TimePicker/index.js +2 -1
  234. package/modern/YearPicker/PickersYear.js +21 -7
  235. package/modern/YearPicker/index.js +2 -1
  236. package/modern/YearPicker/pickersYearClasses.js +7 -0
  237. package/modern/index.js +1 -1
  238. package/modern/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +44 -5
  239. package/modern/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.js +5 -0
  240. package/modern/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +6 -3
  241. package/modern/internals/components/PickersArrowSwitcher.js +23 -4
  242. package/modern/internals/components/PickersPopper.js +36 -8
  243. package/modern/internals/components/PickersToolbar.js +29 -8
  244. package/modern/internals/components/PickersToolbarButton.js +28 -4
  245. package/modern/internals/components/PickersToolbarText.js +25 -6
  246. package/modern/internals/components/PureDateInput.js +10 -2
  247. package/modern/internals/components/pickersArrowSwitcherClasses.js +5 -0
  248. package/modern/internals/components/pickersPopperClasses.js +5 -0
  249. package/modern/internals/components/pickersToolbarButtonClasses.js +5 -0
  250. package/modern/internals/components/pickersToolbarClasses.js +5 -0
  251. package/modern/internals/components/pickersToolbarTextClasses.js +7 -0
  252. package/modern/internals/index.js +8 -1
  253. package/modern/locales/deDE.js +15 -10
  254. package/modern/locales/index.js +1 -0
  255. package/modern/locales/isIS.js +40 -0
  256. package/node/CalendarPicker/CalendarPicker.js +1 -1
  257. package/node/CalendarPicker/DayPicker.js +91 -14
  258. package/node/CalendarPicker/PickersCalendarHeader.js +59 -11
  259. package/node/CalendarPicker/PickersFadeTransitionGroup.js +32 -12
  260. package/node/CalendarPicker/PickersSlideTransition.js +45 -16
  261. package/node/CalendarPicker/dayPickerClasses.js +14 -0
  262. package/node/CalendarPicker/index.js +33 -1
  263. package/node/CalendarPicker/pickersCalendarHeaderClasses.js +14 -0
  264. package/node/CalendarPicker/pickersFadeTransitionGroupClasses.js +14 -0
  265. package/node/CalendarPicker/pickersSlideTransitionClasses.js +16 -0
  266. package/node/CalendarPickerSkeleton/CalendarPickerSkeleton.js +9 -10
  267. package/node/ClockPicker/Clock.js +73 -11
  268. package/node/ClockPicker/ClockNumber.js +32 -8
  269. package/node/ClockPicker/ClockPointer.js +71 -63
  270. package/node/ClockPicker/clockClasses.js +16 -0
  271. package/node/ClockPicker/clockNumberClasses.js +16 -0
  272. package/node/ClockPicker/clockPointerClasses.js +16 -0
  273. package/node/ClockPicker/index.js +25 -1
  274. package/node/DatePicker/DatePicker.js +3 -0
  275. package/node/DatePicker/DatePickerToolbar.js +27 -9
  276. package/node/DatePicker/datePickerToolbarClasses.js +16 -0
  277. package/node/DatePicker/index.js +9 -1
  278. package/node/DateTimePicker/DateTimePicker.js +3 -0
  279. package/node/DateTimePicker/DateTimePickerTabs.js +31 -2
  280. package/node/DateTimePicker/DateTimePickerToolbar.js +32 -14
  281. package/node/DateTimePicker/dateTimePickerTabsClasses.js +16 -0
  282. package/node/DateTimePicker/dateTimePickerToolbarClasses.js +16 -0
  283. package/node/DateTimePicker/index.js +17 -1
  284. package/node/DesktopDatePicker/DesktopDatePicker.js +3 -0
  285. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -2
  286. package/node/DesktopTimePicker/DesktopTimePicker.js +3 -0
  287. package/node/MobileDatePicker/MobileDatePicker.js +3 -0
  288. package/node/MobileDateTimePicker/MobileDateTimePicker.js +5 -2
  289. package/node/MobileTimePicker/MobileTimePicker.js +3 -0
  290. package/node/MonthPicker/PickersMonth.js +24 -6
  291. package/node/MonthPicker/index.js +9 -1
  292. package/node/MonthPicker/pickersMonthClasses.js +18 -0
  293. package/node/PickersDay/PickersDay.js +3 -2
  294. package/node/StaticDatePicker/StaticDatePicker.js +8 -3
  295. package/node/StaticDateTimePicker/StaticDateTimePicker.js +10 -5
  296. package/node/StaticTimePicker/StaticTimePicker.js +8 -3
  297. package/node/TimePicker/TimePicker.js +3 -0
  298. package/node/TimePicker/TimePickerToolbar.js +19 -8
  299. package/node/TimePicker/index.js +9 -1
  300. package/node/YearPicker/PickersYear.js +24 -14
  301. package/node/YearPicker/index.js +9 -1
  302. package/node/YearPicker/pickersYearClasses.js +18 -0
  303. package/node/index.js +1 -1
  304. package/node/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +44 -4
  305. package/node/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.js +16 -0
  306. package/node/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +7 -3
  307. package/node/internals/components/PickersArrowSwitcher.js +22 -4
  308. package/node/internals/components/PickersPopper.js +37 -10
  309. package/node/internals/components/PickersToolbar.js +28 -8
  310. package/node/internals/components/PickersToolbarButton.js +28 -3
  311. package/node/internals/components/PickersToolbarText.js +24 -5
  312. package/node/internals/components/PureDateInput.js +13 -4
  313. package/node/internals/components/pickersArrowSwitcherClasses.js +16 -0
  314. package/node/internals/components/pickersPopperClasses.js +16 -0
  315. package/node/internals/components/pickersToolbarButtonClasses.js +16 -0
  316. package/node/internals/components/pickersToolbarClasses.js +16 -0
  317. package/node/internals/components/pickersToolbarTextClasses.js +18 -0
  318. package/node/internals/index.js +51 -1
  319. package/node/locales/deDE.js +16 -11
  320. package/node/locales/index.js +13 -0
  321. package/node/locales/isIS.js +49 -0
  322. package/package.json +2 -2
  323. package/themeAugmentation/components.d.ts +138 -4
  324. package/themeAugmentation/overrides.d.ts +57 -5
  325. package/themeAugmentation/props.d.ts +47 -7
@@ -3,17 +3,30 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  const _excluded = ["parsedValue", "isLandscape", "isMobileKeyboardViewOpen", "onChange", "toggleMobileKeyboardView", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "views"];
4
4
  import * as React from 'react';
5
5
  import Typography from '@mui/material/Typography';
6
- import { styled } from '@mui/material/styles';
7
- import { generateUtilityClasses } from '@mui/material';
8
- import { PickersToolbar, pickersToolbarClasses } from '../internals/components/PickersToolbar';
6
+ import { styled, useThemeProps } from '@mui/material/styles';
7
+ import { unstable_composeClasses as composeClasses } from '@mui/material';
8
+ import { PickersToolbar } from '../internals/components/PickersToolbar';
9
+ import { pickersToolbarClasses } from '../internals/components/pickersToolbarClasses';
9
10
  import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
10
11
  import { isYearAndMonthViews, isYearOnlyView } from './shared';
12
+ import { getDatePickerToolbarUtilityClass } from './datePickerToolbarClasses';
11
13
  import { jsx as _jsx } from "react/jsx-runtime";
12
- export const datePickerToolbarClasses = generateUtilityClasses('MuiDatePickerToolbar', ['root', 'title']);
14
+
15
+ const useUtilityClasses = ownerState => {
16
+ const {
17
+ classes
18
+ } = ownerState;
19
+ const slots = {
20
+ root: ['root'],
21
+ title: ['title']
22
+ };
23
+ return composeClasses(slots, getDatePickerToolbarUtilityClass, classes);
24
+ };
25
+
13
26
  const DatePickerToolbarRoot = styled(PickersToolbar, {
14
27
  name: 'MuiDatePickerToolbar',
15
28
  slot: 'Root',
16
- overridesResolver: (props, styles) => styles.root
29
+ overridesResolver: (_, styles) => styles.root
17
30
  })({
18
31
  [`& .${pickersToolbarClasses.penIconButton}`]: {
19
32
  position: 'relative',
@@ -23,7 +36,7 @@ const DatePickerToolbarRoot = styled(PickersToolbar, {
23
36
  const DatePickerToolbarTitle = styled(Typography, {
24
37
  name: 'MuiDatePickerToolbar',
25
38
  slot: 'Title',
26
- overridesResolver: (props, styles) => styles.title
39
+ overridesResolver: (_, styles) => styles.title
27
40
  })(({
28
41
  ownerState
29
42
  }) => _extends({}, ownerState.isLandscape && {
@@ -33,7 +46,12 @@ const DatePickerToolbarTitle = styled(Typography, {
33
46
  /**
34
47
  * @ignore - internal component.
35
48
  */
36
- export const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePickerToolbar(props, ref) {
49
+ export const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePickerToolbar(inProps, ref) {
50
+ const props = useThemeProps({
51
+ props: inProps,
52
+ name: 'MuiDatePickerToolbar'
53
+ });
54
+
37
55
  const {
38
56
  parsedValue,
39
57
  isLandscape,
@@ -48,6 +66,7 @@ export const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePick
48
66
 
49
67
  const utils = useUtils();
50
68
  const localeText = useLocaleText();
69
+ const classes = useUtilityClasses(props);
51
70
  const toolbarTitle = toolbarTitleProp ?? localeText.datePickerDefaultToolbarTitle;
52
71
  const dateText = React.useMemo(() => {
53
72
  if (!parsedValue) {
@@ -79,13 +98,13 @@ export const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePick
79
98
  toggleMobileKeyboardView: toggleMobileKeyboardView,
80
99
  isLandscape: isLandscape,
81
100
  ownerState: ownerState,
82
- className: datePickerToolbarClasses.root
101
+ className: classes.root
83
102
  }, other, {
84
103
  children: /*#__PURE__*/_jsx(DatePickerToolbarTitle, {
85
104
  variant: "h4",
86
105
  align: isLandscape ? 'left' : 'center',
87
106
  ownerState: ownerState,
88
- className: datePickerToolbarClasses.title,
107
+ className: classes.title,
89
108
  children: dateText
90
109
  })
91
110
  }));
@@ -0,0 +1,5 @@
1
+ import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
2
+ export function getDatePickerToolbarUtilityClass(slot) {
3
+ return generateUtilityClass('MuiDatePickerToolbar', slot);
4
+ }
5
+ export const datePickerToolbarClasses = generateUtilityClasses('MuiDatePickerToolbar', ['root', 'title']);
@@ -1 +1,2 @@
1
- export { DatePicker } from './DatePicker';
1
+ export { DatePicker } from './DatePicker';
2
+ export { datePickerToolbarClasses } from './datePickerToolbarClasses';
@@ -366,6 +366,8 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
366
366
 
367
367
  /**
368
368
  * First view to show.
369
+ * Must be a valid option from `views` list
370
+ * @default 'day'
369
371
  */
370
372
  openTo: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
371
373
 
@@ -524,6 +526,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
524
526
 
525
527
  /**
526
528
  * Array of views to show.
529
+ * @default ['year', 'day', 'hours', 'minutes']
527
530
  */
528
531
  views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired)
529
532
  } : void 0;
@@ -3,10 +3,12 @@ import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import Tab from '@mui/material/Tab';
5
5
  import Tabs, { tabsClasses } from '@mui/material/Tabs';
6
- import { styled } from '@mui/material/styles';
6
+ import { styled, useThemeProps } from '@mui/material/styles';
7
+ import { unstable_composeClasses as composeClasses } from '@mui/material';
7
8
  import { Time, DateRange } from '../internals/components/icons';
8
9
  import { WrapperVariantContext } from '../internals/components/wrappers/WrapperVariantContext';
9
10
  import { useLocaleText } from '../internals/hooks/useUtils';
11
+ import { getDateTimePickerTabsUtilityClass } from './dateTimePickerTabsClasses';
10
12
  import { jsx as _jsx } from "react/jsx-runtime";
11
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
14
 
@@ -26,7 +28,21 @@ const tabToView = tab => {
26
28
  return 'hours';
27
29
  };
28
30
 
29
- const DateTimePickerTabsRoot = styled(Tabs)(({
31
+ const useUtilityClasses = ownerState => {
32
+ const {
33
+ classes
34
+ } = ownerState;
35
+ const slots = {
36
+ root: ['root']
37
+ };
38
+ return composeClasses(slots, getDateTimePickerTabsUtilityClass, classes);
39
+ };
40
+
41
+ const DateTimePickerTabsRoot = styled(Tabs, {
42
+ name: 'MuiDateTimePickerTabs',
43
+ slot: 'Root',
44
+ overridesResolver: (_, styles) => styles.root
45
+ })(({
30
46
  ownerState,
31
47
  theme
32
48
  }) => _extends({
@@ -40,7 +56,11 @@ const DateTimePickerTabsRoot = styled(Tabs)(({
40
56
  }
41
57
  }));
42
58
 
43
- const DateTimePickerTabs = props => {
59
+ const DateTimePickerTabs = function DateTimePickerTabs(inProps) {
60
+ const props = useThemeProps({
61
+ props: inProps,
62
+ name: 'MuiDateTimePickerTabs'
63
+ });
44
64
  const {
45
65
  dateRangeIcon = /*#__PURE__*/_jsx(DateRange, {}),
46
66
  onChange,
@@ -54,6 +74,8 @@ const DateTimePickerTabs = props => {
54
74
  wrapperVariant
55
75
  });
56
76
 
77
+ const classes = useUtilityClasses(ownerState);
78
+
57
79
  const handleChange = (event, value) => {
58
80
  onChange(tabToView(value));
59
81
  };
@@ -63,6 +85,7 @@ const DateTimePickerTabs = props => {
63
85
  variant: "fullWidth",
64
86
  value: viewToTab(view),
65
87
  onChange: handleChange,
88
+ className: classes.root,
66
89
  children: [/*#__PURE__*/_jsx(Tab, {
67
90
  value: "date",
68
91
  "aria-label": localeText.dateTableLabel,
@@ -85,6 +108,11 @@ process.env.NODE_ENV !== "production" ? DateTimePickerTabs.propTypes = {
85
108
  // | To update them edit the TypeScript types and run "yarn proptypes" |
86
109
  // ----------------------------------------------------------------------
87
110
 
111
+ /**
112
+ * Override or extend the styles applied to the component.
113
+ */
114
+ classes: PropTypes.object,
115
+
88
116
  /**
89
117
  * Date tab icon.
90
118
  * @default DateRange
@@ -2,15 +2,30 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["ampm", "parsedValue", "isMobileKeyboardViewOpen", "onChange", "openView", "setOpenView", "toggleMobileKeyboardView", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "views"];
4
4
  import * as React from 'react';
5
- import { styled } from '@mui/material/styles';
6
- import { generateUtilityClasses } from '@mui/material';
5
+ import { styled, useThemeProps } from '@mui/material/styles';
6
+ import { unstable_composeClasses as composeClasses } from '@mui/material';
7
7
  import { PickersToolbarText } from '../internals/components/PickersToolbarText';
8
- import { PickersToolbar, pickersToolbarClasses } from '../internals/components/PickersToolbar';
8
+ import { PickersToolbar } from '../internals/components/PickersToolbar';
9
+ import { pickersToolbarClasses } from '../internals/components/pickersToolbarClasses';
9
10
  import { PickersToolbarButton } from '../internals/components/PickersToolbarButton';
10
11
  import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
12
+ import { getDateTimePickerToolbarUtilityClass } from './dateTimePickerToolbarClasses';
11
13
  import { jsx as _jsx } from "react/jsx-runtime";
12
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
- export const dateTimePickerToolbarClasses = generateUtilityClasses('MuiDateTimePickerToolbar', ['root', 'dateContainer', 'timeContainer', 'separator']);
15
+
16
+ const useUtilityClasses = ownerState => {
17
+ const {
18
+ classes
19
+ } = ownerState;
20
+ const slots = {
21
+ root: ['root'],
22
+ dateContainer: ['dateContainer'],
23
+ timeContainer: ['timeContainer'],
24
+ separator: ['separator']
25
+ };
26
+ return composeClasses(slots, getDateTimePickerToolbarUtilityClass, classes);
27
+ };
28
+
14
29
  const DateTimePickerToolbarRoot = styled(PickersToolbar, {
15
30
  name: 'MuiDateTimePickerToolbar',
16
31
  slot: 'Root',
@@ -53,7 +68,12 @@ const DateTimePickerToolbarSeparator = styled(PickersToolbarText, {
53
68
  * @ignore - internal component.
54
69
  */
55
70
 
56
- export const DateTimePickerToolbar = props => {
71
+ export function DateTimePickerToolbar(inProps) {
72
+ const props = useThemeProps({
73
+ props: inProps,
74
+ name: 'MuiDateTimePickerToolbar'
75
+ });
76
+
57
77
  const {
58
78
  ampm,
59
79
  parsedValue,
@@ -68,8 +88,10 @@ export const DateTimePickerToolbar = props => {
68
88
  } = props,
69
89
  other = _objectWithoutPropertiesLoose(props, _excluded);
70
90
 
91
+ const ownerState = props;
71
92
  const utils = useUtils();
72
93
  const localeText = useLocaleText();
94
+ const classes = useUtilityClasses(ownerState);
73
95
  const toolbarTitle = toolbarTitleProp ?? localeText.dateTimePickerDefaultToolbarTitle;
74
96
 
75
97
  const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
@@ -85,17 +107,16 @@ export const DateTimePickerToolbar = props => {
85
107
 
86
108
  return utils.format(parsedValue, 'shortDate');
87
109
  }, [parsedValue, toolbarFormat, toolbarPlaceholder, utils]);
88
- const ownerState = props;
89
110
  return /*#__PURE__*/_jsxs(DateTimePickerToolbarRoot, _extends({
90
111
  toolbarTitle: toolbarTitle,
91
112
  isMobileKeyboardViewOpen: isMobileKeyboardViewOpen,
92
113
  toggleMobileKeyboardView: toggleMobileKeyboardView,
93
- className: dateTimePickerToolbarClasses.root
114
+ className: classes.root
94
115
  }, other, {
95
116
  isLandscape: false,
96
117
  ownerState: ownerState,
97
118
  children: [/*#__PURE__*/_jsxs(DateTimePickerToolbarDateContainer, {
98
- className: dateTimePickerToolbarClasses.dateContainer,
119
+ className: classes.dateContainer,
99
120
  ownerState: ownerState,
100
121
  children: [views.includes('year') && /*#__PURE__*/_jsx(PickersToolbarButton, {
101
122
  tabIndex: -1,
@@ -111,7 +132,7 @@ export const DateTimePickerToolbar = props => {
111
132
  value: dateText
112
133
  })]
113
134
  }), /*#__PURE__*/_jsxs(DateTimePickerToolbarTimeContainer, {
114
- className: dateTimePickerToolbarClasses.timeContainer,
135
+ className: classes.timeContainer,
115
136
  ownerState: ownerState,
116
137
  children: [views.includes('hours') && /*#__PURE__*/_jsx(PickersToolbarButton, {
117
138
  variant: "h3",
@@ -122,7 +143,7 @@ export const DateTimePickerToolbar = props => {
122
143
  children: [/*#__PURE__*/_jsx(DateTimePickerToolbarSeparator, {
123
144
  variant: "h3",
124
145
  value: ":",
125
- className: dateTimePickerToolbarClasses.separator,
146
+ className: classes.separator,
126
147
  ownerState: ownerState
127
148
  }), /*#__PURE__*/_jsx(PickersToolbarButton, {
128
149
  variant: "h3",
@@ -134,7 +155,7 @@ export const DateTimePickerToolbar = props => {
134
155
  children: [/*#__PURE__*/_jsx(DateTimePickerToolbarSeparator, {
135
156
  variant: "h3",
136
157
  value: ":",
137
- className: dateTimePickerToolbarClasses.separator,
158
+ className: classes.separator,
138
159
  ownerState: ownerState
139
160
  }), /*#__PURE__*/_jsx(PickersToolbarButton, {
140
161
  variant: "h3",
@@ -145,4 +166,4 @@ export const DateTimePickerToolbar = props => {
145
166
  })]
146
167
  })]
147
168
  }));
148
- };
169
+ }
@@ -0,0 +1,5 @@
1
+ import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
2
+ export function getDateTimePickerTabsUtilityClass(slot) {
3
+ return generateUtilityClass('MuiDateTimePickerTabs', slot);
4
+ }
5
+ export const dateTimePickerTabsClasses = generateUtilityClasses('MuiDateTimePickerTabs', ['root']);
@@ -0,0 +1,5 @@
1
+ import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
2
+ export function getDateTimePickerToolbarUtilityClass(slot) {
3
+ return generateUtilityClass('MuiDateTimePickerToolbar', slot);
4
+ }
5
+ export const dateTimePickerToolbarClasses = generateUtilityClasses('MuiDateTimePickerToolbar', ['root', 'dateContainer', 'timeContainer', 'separator']);
@@ -1,2 +1,4 @@
1
1
  export { DateTimePicker } from './DateTimePicker';
2
- export { DateTimePickerTabs } from './DateTimePickerTabs';
2
+ export { DateTimePickerTabs } from './DateTimePickerTabs';
3
+ export { dateTimePickerTabsClasses } from './dateTimePickerTabsClasses';
4
+ export { dateTimePickerToolbarClasses } from './dateTimePickerToolbarClasses';
@@ -292,6 +292,8 @@ process.env.NODE_ENV !== "production" ? DesktopDatePicker.propTypes = {
292
292
 
293
293
  /**
294
294
  * First view to show.
295
+ * Must be a valid option from `views` list
296
+ * @default 'day'
295
297
  */
296
298
  openTo: PropTypes.oneOf(['day', 'month', 'year']),
297
299
 
@@ -436,6 +438,7 @@ process.env.NODE_ENV !== "production" ? DesktopDatePicker.propTypes = {
436
438
 
437
439
  /**
438
440
  * Array of views to show.
441
+ * @default ['year', 'day']
439
442
  */
440
443
  views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired)
441
444
  } : void 0;
@@ -10,7 +10,7 @@ import { CalendarOrClockPicker } from '../internals/components/CalendarOrClockPi
10
10
  import { useDateTimeValidation } from '../internals/hooks/validation/useDateTimeValidation';
11
11
  import { KeyboardDateInput } from '../internals/components/KeyboardDateInput';
12
12
  import { usePickerState } from '../internals/hooks/usePickerState';
13
- import { DateTimePickerTabs } from '../DateTimePicker';
13
+ import { DateTimePickerTabs } from '../DateTimePicker/DateTimePickerTabs';
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
 
16
16
  /**
@@ -375,6 +375,8 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePicker.propTypes = {
375
375
 
376
376
  /**
377
377
  * First view to show.
378
+ * Must be a valid option from `views` list
379
+ * @default 'day'
378
380
  */
379
381
  openTo: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
380
382
 
@@ -533,6 +535,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePicker.propTypes = {
533
535
 
534
536
  /**
535
537
  * Array of views to show.
538
+ * @default ['year', 'day', 'hours', 'minutes']
536
539
  */
537
540
  views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired)
538
541
  } : void 0;
@@ -269,6 +269,8 @@ process.env.NODE_ENV !== "production" ? DesktopTimePicker.propTypes = {
269
269
 
270
270
  /**
271
271
  * First view to show.
272
+ * Must be a valid option from `views` list
273
+ * @default 'hours'
272
274
  */
273
275
  openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
274
276
 
@@ -350,6 +352,7 @@ process.env.NODE_ENV !== "production" ? DesktopTimePicker.propTypes = {
350
352
 
351
353
  /**
352
354
  * Array of views to show.
355
+ * @default ['hours', 'minutes']
353
356
  */
354
357
  views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired)
355
358
  } : void 0;
@@ -292,6 +292,8 @@ process.env.NODE_ENV !== "production" ? MobileDatePicker.propTypes = {
292
292
 
293
293
  /**
294
294
  * First view to show.
295
+ * Must be a valid option from `views` list
296
+ * @default 'day'
295
297
  */
296
298
  openTo: PropTypes.oneOf(['day', 'month', 'year']),
297
299
 
@@ -421,6 +423,7 @@ process.env.NODE_ENV !== "production" ? MobileDatePicker.propTypes = {
421
423
 
422
424
  /**
423
425
  * Array of views to show.
426
+ * @default ['year', 'day']
424
427
  */
425
428
  views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired)
426
429
  } : void 0;
@@ -10,7 +10,7 @@ import { CalendarOrClockPicker } from '../internals/components/CalendarOrClockPi
10
10
  import { useDateTimeValidation } from '../internals/hooks/validation/useDateTimeValidation';
11
11
  import { PureDateInput } from '../internals/components/PureDateInput';
12
12
  import { usePickerState } from '../internals/hooks/usePickerState';
13
- import { DateTimePickerTabs } from '../DateTimePicker';
13
+ import { DateTimePickerTabs } from '../DateTimePicker/DateTimePickerTabs';
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
 
16
16
  /**
@@ -375,6 +375,8 @@ process.env.NODE_ENV !== "production" ? MobileDateTimePicker.propTypes = {
375
375
 
376
376
  /**
377
377
  * First view to show.
378
+ * Must be a valid option from `views` list
379
+ * @default 'day'
378
380
  */
379
381
  openTo: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
380
382
 
@@ -518,6 +520,7 @@ process.env.NODE_ENV !== "production" ? MobileDateTimePicker.propTypes = {
518
520
 
519
521
  /**
520
522
  * Array of views to show.
523
+ * @default ['year', 'day', 'hours', 'minutes']
521
524
  */
522
525
  views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired)
523
526
  } : void 0;
@@ -269,6 +269,8 @@ process.env.NODE_ENV !== "production" ? MobileTimePicker.propTypes = {
269
269
 
270
270
  /**
271
271
  * First view to show.
272
+ * Must be a valid option from `views` list
273
+ * @default 'hours'
272
274
  */
273
275
  openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
274
276
 
@@ -335,6 +337,7 @@ process.env.NODE_ENV !== "production" ? MobileTimePicker.propTypes = {
335
337
 
336
338
  /**
337
339
  * Array of views to show.
340
+ * @default ['hours', 'minutes']
338
341
  */
339
342
  views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired)
340
343
  } : void 0;
@@ -2,15 +2,32 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  const _excluded = ["disabled", "onSelect", "selected", "value", "tabIndex", "hasFocus", "onFocus", "onBlur"];
4
4
  import * as React from 'react';
5
- import clsx from 'clsx';
6
5
  import Typography from '@mui/material/Typography';
7
6
  import { styled, alpha } from '@mui/material/styles';
8
- import { generateUtilityClasses } from '@mui/material';
7
+ import { unstable_composeClasses as composeClasses } from '@mui/material';
9
8
  import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/material/utils';
10
9
  import { onSpaceOrEnter } from '../internals/utils/utils';
10
+ import { getPickersMonthUtilityClass, pickersMonthClasses } from './pickersMonthClasses';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
- const classes = generateUtilityClasses('PrivatePickersMonth', ['root', 'selected']);
13
- const PickersMonthRoot = styled(Typography)(({
12
+
13
+ const useUtilityClasses = ownerState => {
14
+ const {
15
+ classes,
16
+ selected
17
+ } = ownerState;
18
+ const slots = {
19
+ root: ['root', selected && 'selected']
20
+ };
21
+ return composeClasses(slots, getPickersMonthUtilityClass, classes);
22
+ };
23
+
24
+ const PickersMonthRoot = styled(Typography, {
25
+ name: 'PrivatePickersMonth',
26
+ slot: 'Root',
27
+ overridesResolver: (_, styles) => [styles.root, {
28
+ [`&.${pickersMonthClasses.selected}`]: styles.selected
29
+ }]
30
+ })(({
14
31
  theme
15
32
  }) => _extends({
16
33
  flex: '1 0 33.33%',
@@ -33,7 +50,7 @@ const PickersMonthRoot = styled(Typography)(({
33
50
  pointerEvents: 'none',
34
51
  color: theme.palette.text.secondary
35
52
  },
36
- [`&.${classes.selected}`]: {
53
+ [`&.${pickersMonthClasses.selected}`]: {
37
54
  color: theme.palette.primary.contrastText,
38
55
  backgroundColor: theme.palette.primary.main,
39
56
  '&:focus, &:hover': {
@@ -49,6 +66,7 @@ const noop = () => {};
49
66
 
50
67
 
51
68
  export const PickersMonth = props => {
69
+ // TODO v6 add 'useThemeProps' once the component class names are aligned
52
70
  const {
53
71
  disabled,
54
72
  onSelect,
@@ -61,6 +79,8 @@ export const PickersMonth = props => {
61
79
  } = props,
62
80
  other = _objectWithoutPropertiesLoose(props, _excluded);
63
81
 
82
+ const classes = useUtilityClasses(props);
83
+
64
84
  const handleSelection = () => {
65
85
  onSelect(value);
66
86
  };
@@ -75,7 +95,7 @@ export const PickersMonth = props => {
75
95
  ref: ref,
76
96
  component: "button",
77
97
  type: "button",
78
- className: clsx(classes.root, selected && classes.selected),
98
+ className: classes.root,
79
99
  tabIndex: tabIndex,
80
100
  onClick: handleSelection,
81
101
  onKeyDown: onSpaceOrEnter(handleSelection),
@@ -1,2 +1,3 @@
1
1
  export { MonthPicker } from './MonthPicker';
2
- export { monthPickerClasses, getMonthPickerUtilityClass } from './monthPickerClasses';
2
+ export { monthPickerClasses, getMonthPickerUtilityClass } from './monthPickerClasses';
3
+ export { pickersMonthClasses } from './pickersMonthClasses';
@@ -0,0 +1,7 @@
1
+ import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
2
+ export function getPickersMonthUtilityClass(slot) {
3
+ // TODO v6 Rename 'PrivatePickersMonth' to 'MuiPickersMonth' to follow convention
4
+ return generateUtilityClass('PrivatePickersMonth', slot);
5
+ }
6
+ export const pickersMonthClasses = generateUtilityClasses( // TODO v6 Rename 'PrivatePickersMonth' to 'MuiPickersMonth' to follow convention
7
+ 'PrivatePickersMonth', ['root', 'selected']);
@@ -20,12 +20,13 @@ const useUtilityClasses = ownerState => {
20
20
  disableMargin,
21
21
  disableHighlightToday,
22
22
  today,
23
+ disabled,
23
24
  outsideCurrentMonth,
24
25
  showDaysOutsideCurrentMonth,
25
26
  classes
26
27
  } = ownerState;
27
28
  const slots = {
28
- root: ['root', selected && 'selected', !disableMargin && 'dayWithMargin', !disableHighlightToday && today && 'today', outsideCurrentMonth && showDaysOutsideCurrentMonth && 'dayOutsideMonth'],
29
+ root: ['root', selected && 'selected', disabled && 'disabled', !disableMargin && 'dayWithMargin', !disableHighlightToday && today && 'today', outsideCurrentMonth && showDaysOutsideCurrentMonth && 'dayOutsideMonth', outsideCurrentMonth && !showDaysOutsideCurrentMonth && 'hiddenDaySpacingFiller'],
29
30
  hiddenDaySpacingFiller: ['hiddenDaySpacingFiller']
30
31
  };
31
32
  return composeClasses(slots, getPickersDayUtilityClass, classes);
@@ -207,7 +208,7 @@ const PickersDayRaw = /*#__PURE__*/React.forwardRef(function PickersDay(inProps,
207
208
  }));
208
209
  });
209
210
  export const areDayPropsEqual = (prevProps, nextProps) => {
210
- return prevProps.autoFocus === nextProps.autoFocus && prevProps.isAnimating === nextProps.isAnimating && prevProps.today === nextProps.today && prevProps.disabled === nextProps.disabled && prevProps.selected === nextProps.selected && prevProps.disableMargin === nextProps.disableMargin && prevProps.showDaysOutsideCurrentMonth === nextProps.showDaysOutsideCurrentMonth && prevProps.disableHighlightToday === nextProps.disableHighlightToday && prevProps.className === nextProps.className && prevProps.outsideCurrentMonth === nextProps.outsideCurrentMonth && prevProps.onFocus === nextProps.onFocus && prevProps.onBlur === nextProps.onBlur && prevProps.onDaySelect === nextProps.onDaySelect;
211
+ return prevProps.autoFocus === nextProps.autoFocus && prevProps.isAnimating === nextProps.isAnimating && prevProps.today === nextProps.today && prevProps.disabled === nextProps.disabled && prevProps.selected === nextProps.selected && prevProps.disableMargin === nextProps.disableMargin && prevProps.showDaysOutsideCurrentMonth === nextProps.showDaysOutsideCurrentMonth && prevProps.disableHighlightToday === nextProps.disableHighlightToday && prevProps.className === nextProps.className && prevProps.sx === nextProps.sx && prevProps.outsideCurrentMonth === nextProps.outsideCurrentMonth && prevProps.onFocus === nextProps.onFocus && prevProps.onBlur === nextProps.onBlur && prevProps.onDaySelect === nextProps.onDaySelect;
211
212
  };
212
213
  process.env.NODE_ENV !== "production" ? PickersDayRaw.propTypes = {
213
214
  // ----------------------------- Warning --------------------------------
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["ToolbarComponent", "value", "onChange", "displayStaticWrapperAs", "components", "componentsProps"];
3
+ const _excluded = ["ToolbarComponent", "value", "onChange", "displayStaticWrapperAs", "components", "componentsProps", "className"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { useDatePickerDefaultizedProps, datePickerValueManager } from '../DatePicker/shared';
@@ -29,7 +29,8 @@ export const StaticDatePicker = /*#__PURE__*/React.forwardRef(function StaticDat
29
29
  ToolbarComponent = DatePickerToolbar,
30
30
  displayStaticWrapperAs = 'mobile',
31
31
  components,
32
- componentsProps
32
+ componentsProps,
33
+ className
33
34
  } = props,
34
35
  other = _objectWithoutPropertiesLoose(props, _excluded);
35
36
 
@@ -49,7 +50,8 @@ export const StaticDatePicker = /*#__PURE__*/React.forwardRef(function StaticDat
49
50
  return /*#__PURE__*/_jsx(PickerStaticWrapper, _extends({
50
51
  displayStaticWrapperAs: displayStaticWrapperAs,
51
52
  components: components,
52
- componentsProps: componentsProps
53
+ componentsProps: componentsProps,
54
+ className: className
53
55
  }, wrapperProps, {
54
56
  children: /*#__PURE__*/_jsx(CalendarOrClockPicker, _extends({}, pickerProps, {
55
57
  toolbarTitle: props.label || props.toolbarTitle,
@@ -274,6 +276,8 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes = {
274
276
 
275
277
  /**
276
278
  * First view to show.
279
+ * Must be a valid option from `views` list
280
+ * @default 'day'
277
281
  */
278
282
  openTo: PropTypes.oneOf(['day', 'month', 'year']),
279
283
 
@@ -403,6 +407,7 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes = {
403
407
 
404
408
  /**
405
409
  * Array of views to show.
410
+ * @default ['year', 'day']
406
411
  */
407
412
  views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired)
408
413
  } : void 0;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["displayStaticWrapperAs", "onChange", "ToolbarComponent", "value", "components", "componentsProps", "hideTabs"];
3
+ const _excluded = ["displayStaticWrapperAs", "onChange", "ToolbarComponent", "value", "components", "componentsProps", "hideTabs", "className"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { useDateTimePickerDefaultizedProps, dateTimePickerValueManager } from '../DateTimePicker/shared';
@@ -9,7 +9,7 @@ import { PickerStaticWrapper } from '../internals/components/PickerStaticWrapper
9
9
  import { CalendarOrClockPicker } from '../internals/components/CalendarOrClockPicker';
10
10
  import { useDateTimeValidation } from '../internals/hooks/validation/useDateTimeValidation';
11
11
  import { usePickerState } from '../internals/hooks/usePickerState';
12
- import { DateTimePickerTabs } from '../DateTimePicker';
12
+ import { DateTimePickerTabs } from '../DateTimePicker/DateTimePickerTabs';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
 
15
15
  /**
@@ -31,7 +31,8 @@ export const StaticDateTimePicker = /*#__PURE__*/React.forwardRef(function Stati
31
31
  ToolbarComponent = DateTimePickerToolbar,
32
32
  components: providedComponents,
33
33
  componentsProps,
34
- hideTabs = displayStaticWrapperAs === 'desktop'
34
+ hideTabs = displayStaticWrapperAs === 'desktop',
35
+ className
35
36
  } = props,
36
37
  other = _objectWithoutPropertiesLoose(props, _excluded);
37
38
 
@@ -55,7 +56,8 @@ export const StaticDateTimePicker = /*#__PURE__*/React.forwardRef(function Stati
55
56
  return /*#__PURE__*/_jsx(PickerStaticWrapper, _extends({
56
57
  displayStaticWrapperAs: displayStaticWrapperAs,
57
58
  components: components,
58
- componentsProps: componentsProps
59
+ componentsProps: componentsProps,
60
+ className: className
59
61
  }, wrapperProps, {
60
62
  children: /*#__PURE__*/_jsx(CalendarOrClockPicker, _extends({}, pickerProps, {
61
63
  toolbarTitle: props.label || props.toolbarTitle,
@@ -357,6 +359,8 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes = {
357
359
 
358
360
  /**
359
361
  * First view to show.
362
+ * Must be a valid option from `views` list
363
+ * @default 'day'
360
364
  */
361
365
  openTo: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
362
366
 
@@ -500,6 +504,7 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes = {
500
504
 
501
505
  /**
502
506
  * Array of views to show.
507
+ * @default ['year', 'day', 'hours', 'minutes']
503
508
  */
504
509
  views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired)
505
510
  } : void 0;