@mui/x-date-pickers 7.0.0-beta.7 → 7.1.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 (209) hide show
  1. package/AdapterDateFns/AdapterDateFns.js +1 -1
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.js +1 -2
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -4
  4. package/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
  5. package/AdapterDayjs/AdapterDayjs.js +2 -4
  6. package/AdapterLuxon/AdapterLuxon.js +12 -9
  7. package/AdapterMoment/AdapterMoment.js +5 -6
  8. package/CHANGELOG.md +266 -12
  9. package/DateCalendar/DateCalendar.js +14 -16
  10. package/DateCalendar/DayCalendar.js +5 -6
  11. package/DateField/DateField.js +3 -4
  12. package/DatePicker/DatePicker.js +1 -1
  13. package/DatePicker/DatePickerToolbar.js +11 -6
  14. package/DatePicker/shared.d.ts +2 -1
  15. package/DatePicker/shared.js +3 -5
  16. package/DateTimeField/DateTimeField.js +3 -4
  17. package/DateTimePicker/DateTimePicker.js +1 -1
  18. package/DateTimePicker/DateTimePickerToolbar.js +98 -46
  19. package/DateTimePicker/shared.d.ts +2 -1
  20. package/DateTimePicker/shared.js +11 -13
  21. package/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  22. package/DesktopDatePicker/DesktopDatePicker.js +7 -11
  23. package/DesktopDateTimePicker/DesktopDateTimePicker.js +72 -37
  24. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +12 -0
  25. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +101 -0
  26. package/DesktopDateTimePicker/index.d.ts +1 -0
  27. package/DesktopDateTimePicker/index.js +2 -1
  28. package/DesktopTimePicker/DesktopTimePicker.js +8 -12
  29. package/DigitalClock/DigitalClock.js +16 -9
  30. package/LocalizationProvider/LocalizationProvider.js +1 -2
  31. package/MobileDatePicker/MobileDatePicker.js +6 -10
  32. package/MobileDateTimePicker/MobileDateTimePicker.js +8 -12
  33. package/MobileTimePicker/MobileTimePicker.js +6 -10
  34. package/MonthCalendar/MonthCalendar.js +4 -4
  35. package/MonthCalendar/PickersMonth.js +13 -8
  36. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -1
  37. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +1 -1
  38. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +16 -9
  39. package/PickersActionBar/PickersActionBar.js +1 -1
  40. package/PickersCalendarHeader/PickersCalendarHeader.js +17 -14
  41. package/PickersDay/PickersDay.js +30 -15
  42. package/PickersLayout/PickersLayout.js +31 -17
  43. package/PickersLayout/usePickerLayout.js +8 -9
  44. package/PickersSectionList/PickersSectionList.js +9 -11
  45. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +138 -74
  46. package/PickersTextField/PickersInput/PickersInput.js +77 -55
  47. package/PickersTextField/PickersInputBase/PickersInputBase.js +67 -28
  48. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +7 -0
  49. package/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  50. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +33 -14
  51. package/README.md +1 -1
  52. package/StaticDatePicker/StaticDatePicker.js +4 -5
  53. package/StaticDateTimePicker/StaticDateTimePicker.js +6 -7
  54. package/StaticTimePicker/StaticTimePicker.js +3 -4
  55. package/TimeClock/Clock.js +48 -35
  56. package/TimeClock/ClockNumber.js +12 -7
  57. package/TimeClock/ClockPointer.js +23 -13
  58. package/TimeClock/TimeClock.js +1 -1
  59. package/TimeField/TimeField.js +2 -3
  60. package/TimePicker/TimePickerToolbar.js +25 -16
  61. package/TimePicker/shared.d.ts +2 -1
  62. package/TimePicker/shared.js +5 -7
  63. package/YearCalendar/PickersYear.js +12 -6
  64. package/YearCalendar/YearCalendar.js +5 -6
  65. package/hooks/useClearableField.js +6 -7
  66. package/index.js +1 -1
  67. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +19 -15
  68. package/internals/components/PickersModalDialog.js +6 -7
  69. package/internals/components/PickersPopper.js +25 -24
  70. package/internals/components/PickersToolbar.js +42 -24
  71. package/internals/hooks/date-helpers-hooks.js +1 -1
  72. package/internals/hooks/defaultizedFieldProps.js +15 -18
  73. package/internals/hooks/useClockReferenceDate.js +1 -1
  74. package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
  75. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +11 -12
  76. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
  77. package/internals/hooks/useField/buildSectionsFromFormat.js +35 -31
  78. package/internals/hooks/useField/useField.js +6 -4
  79. package/internals/hooks/useField/useField.types.d.ts +1 -0
  80. package/internals/hooks/useField/useField.utils.js +4 -7
  81. package/internals/hooks/useField/useFieldCharacterEditing.js +1 -2
  82. package/internals/hooks/useField/useFieldState.js +1 -1
  83. package/internals/hooks/useField/useFieldV6TextField.js +17 -18
  84. package/internals/hooks/useField/useFieldV7TextField.js +9 -11
  85. package/internals/hooks/useMobilePicker/useMobilePicker.js +7 -8
  86. package/internals/hooks/useOpenState.js +1 -1
  87. package/internals/hooks/usePicker/index.d.ts +1 -0
  88. package/internals/hooks/usePicker/usePickerViews.d.ts +4 -2
  89. package/internals/hooks/usePicker/usePickerViews.js +1 -2
  90. package/internals/hooks/useStaticPicker/useStaticPicker.js +13 -17
  91. package/internals/hooks/useValueWithTimezone.js +5 -6
  92. package/internals/hooks/useViews.js +3 -4
  93. package/internals/index.d.ts +1 -1
  94. package/internals/models/validation.d.ts +1 -1
  95. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +3 -3
  96. package/internals/utils/date-time-utils.js +2 -5
  97. package/internals/utils/fields.js +1 -1
  98. package/internals/utils/getDefaultReferenceDate.js +2 -6
  99. package/internals/utils/views.js +1 -1
  100. package/locales/csCZ.js +1 -4
  101. package/locales/daDK.js +1 -4
  102. package/locales/deDE.js +1 -4
  103. package/locales/huHU.js +1 -4
  104. package/locales/itIT.js +16 -20
  105. package/locales/jaJP.js +1 -4
  106. package/locales/roRO.js +1 -4
  107. package/locales/skSK.js +1 -4
  108. package/locales/zhHK.js +14 -17
  109. package/modern/AdapterLuxon/AdapterLuxon.js +9 -4
  110. package/modern/DateCalendar/DateCalendar.js +1 -1
  111. package/modern/DateField/DateField.js +1 -1
  112. package/modern/DatePicker/DatePicker.js +1 -1
  113. package/modern/DatePicker/DatePickerToolbar.js +11 -6
  114. package/modern/DateTimeField/DateTimeField.js +1 -1
  115. package/modern/DateTimePicker/DateTimePicker.js +1 -1
  116. package/modern/DateTimePicker/DateTimePickerToolbar.js +97 -45
  117. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  118. package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
  119. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +64 -25
  120. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +101 -0
  121. package/modern/DesktopDateTimePicker/index.js +2 -1
  122. package/modern/DigitalClock/DigitalClock.js +14 -6
  123. package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
  124. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
  125. package/modern/MonthCalendar/PickersMonth.js +12 -6
  126. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  127. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  128. package/modern/PickersDay/PickersDay.js +30 -15
  129. package/modern/PickersLayout/PickersLayout.js +31 -17
  130. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  131. package/modern/PickersTextField/PickersInput/PickersInput.js +76 -54
  132. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  133. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  134. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  135. package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
  136. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
  137. package/modern/TimeClock/Clock.js +48 -35
  138. package/modern/TimeClock/ClockNumber.js +12 -7
  139. package/modern/TimeClock/ClockPointer.js +23 -13
  140. package/modern/TimePicker/TimePickerToolbar.js +25 -16
  141. package/modern/YearCalendar/PickersYear.js +12 -6
  142. package/modern/index.js +1 -1
  143. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  144. package/modern/internals/components/PickersPopper.js +13 -9
  145. package/modern/internals/components/PickersToolbar.js +39 -18
  146. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +34 -30
  147. package/modern/internals/hooks/useField/useField.js +4 -2
  148. package/modern/internals/hooks/useField/useFieldV6TextField.js +8 -3
  149. package/modern/internals/hooks/useField/useFieldV7TextField.js +1 -1
  150. package/modern/internals/hooks/useOpenState.js +1 -1
  151. package/modern/internals/utils/fields.js +1 -1
  152. package/modern/locales/itIT.js +16 -20
  153. package/modern/locales/zhHK.js +14 -17
  154. package/node/AdapterLuxon/AdapterLuxon.js +9 -4
  155. package/node/DateCalendar/DateCalendar.js +1 -1
  156. package/node/DateField/DateField.js +1 -1
  157. package/node/DatePicker/DatePicker.js +1 -1
  158. package/node/DatePicker/DatePickerToolbar.js +11 -6
  159. package/node/DateTimeField/DateTimeField.js +1 -1
  160. package/node/DateTimePicker/DateTimePicker.js +1 -1
  161. package/node/DateTimePicker/DateTimePickerToolbar.js +97 -45
  162. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  163. package/node/DesktopDatePicker/DesktopDatePicker.js +1 -1
  164. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +63 -25
  165. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +108 -0
  166. package/node/DesktopDateTimePicker/index.js +8 -1
  167. package/node/DigitalClock/DigitalClock.js +14 -6
  168. package/node/MobileDatePicker/MobileDatePicker.js +1 -1
  169. package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
  170. package/node/MonthCalendar/PickersMonth.js +12 -6
  171. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  172. package/node/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  173. package/node/PickersDay/PickersDay.js +30 -15
  174. package/node/PickersLayout/PickersLayout.js +31 -17
  175. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  176. package/node/PickersTextField/PickersInput/PickersInput.js +76 -54
  177. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  178. package/node/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  179. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  180. package/node/StaticDatePicker/StaticDatePicker.js +1 -1
  181. package/node/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
  182. package/node/TimeClock/Clock.js +48 -35
  183. package/node/TimeClock/ClockNumber.js +12 -7
  184. package/node/TimeClock/ClockPointer.js +23 -13
  185. package/node/TimePicker/TimePickerToolbar.js +25 -16
  186. package/node/YearCalendar/PickersYear.js +12 -6
  187. package/node/index.js +1 -1
  188. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  189. package/node/internals/components/PickersPopper.js +13 -9
  190. package/node/internals/components/PickersToolbar.js +39 -18
  191. package/node/internals/hooks/useField/buildSectionsFromFormat.js +34 -30
  192. package/node/internals/hooks/useField/useField.js +4 -2
  193. package/node/internals/hooks/useField/useFieldV6TextField.js +8 -3
  194. package/node/internals/hooks/useField/useFieldV7TextField.js +1 -1
  195. package/node/internals/hooks/useOpenState.js +1 -1
  196. package/node/internals/utils/fields.js +1 -1
  197. package/node/locales/itIT.js +16 -20
  198. package/node/locales/zhHK.js +14 -17
  199. package/package.json +5 -5
  200. package/timeViewRenderers/timeViewRenderers.js +1 -1
  201. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +0 -15
  202. package/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -163
  203. package/dateTimeViewRenderers/index.d.ts +0 -2
  204. package/dateTimeViewRenderers/index.js +0 -1
  205. package/dateTimeViewRenderers/package.json +0 -6
  206. package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -162
  207. package/modern/dateTimeViewRenderers/index.js +0 -1
  208. package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -171
  209. package/node/dateTimeViewRenderers/index.js +0 -12
@@ -48,20 +48,41 @@ const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToo
48
48
  slot: 'Root',
49
49
  overridesResolver: (props, styles) => styles.root
50
50
  })(({
51
- theme,
52
- ownerState
53
- }) => (0, _extends2.default)({
54
- paddingLeft: ownerState.toolbarVariant === 'desktop' && !ownerState.isLandscape ? 24 : 16,
55
- paddingRight: ownerState.toolbarVariant === 'desktop' && !ownerState.isLandscape ? 0 : 16,
56
- borderBottom: ownerState.toolbarVariant === 'desktop' ? `1px solid ${(theme.vars || theme).palette.divider}` : undefined,
57
- borderRight: ownerState.toolbarVariant === 'desktop' && ownerState.isLandscape ? `1px solid ${(theme.vars || theme).palette.divider}` : undefined,
51
+ theme
52
+ }) => ({
53
+ paddingLeft: 16,
54
+ paddingRight: 16,
58
55
  justifyContent: 'space-around',
59
- position: 'relative'
60
- }, ownerState.toolbarVariant === 'desktop' && {
61
- [`& .${_internals.pickersToolbarClasses.content} .${_pickersToolbarTextClasses.pickersToolbarTextClasses.selected}`]: {
62
- color: (theme.vars || theme).palette.primary.main,
63
- fontWeight: theme.typography.fontWeightBold
64
- }
56
+ position: 'relative',
57
+ variants: [{
58
+ props: {
59
+ toolbarVariant: 'desktop'
60
+ },
61
+ style: {
62
+ borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,
63
+ [`& .${_internals.pickersToolbarClasses.content} .${_pickersToolbarTextClasses.pickersToolbarTextClasses.selected}`]: {
64
+ color: (theme.vars || theme).palette.primary.main,
65
+ fontWeight: theme.typography.fontWeightBold
66
+ }
67
+ }
68
+ }, {
69
+ props: {
70
+ toolbarVariant: 'desktop',
71
+ isLandscape: true
72
+ },
73
+ style: {
74
+ borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
75
+ }
76
+ }, {
77
+ props: {
78
+ toolbarVariant: 'desktop',
79
+ isLandscape: false
80
+ },
81
+ style: {
82
+ paddingLeft: 24,
83
+ paddingRight: 0
84
+ }
85
+ }]
65
86
  }));
66
87
  DateTimePickerToolbarRoot.propTypes = {
67
88
  // ----------------------------- Warning --------------------------------
@@ -94,19 +115,35 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
94
115
  slot: 'TimeContainer',
95
116
  overridesResolver: (props, styles) => styles.timeContainer
96
117
  })(({
97
- theme,
98
- ownerState
118
+ theme
99
119
  }) => {
100
- const direction = ownerState.isLandscape && ownerState.toolbarVariant !== 'desktop' ? 'column' : 'row';
101
120
  return (0, _extends2.default)({
102
121
  display: 'flex',
103
- flexDirection: direction
104
- }, ownerState.toolbarVariant === 'desktop' && (0, _extends2.default)({}, !ownerState.isLandscape && {
105
- gap: 9,
106
- marginRight: 4,
107
- alignSelf: 'flex-end'
108
- }), theme.direction === 'rtl' && {
109
- flexDirection: `${direction}-reverse`
122
+ flexDirection: 'row'
123
+ }, theme.direction === 'rtl' && {
124
+ flexDirection: 'row-reverse'
125
+ }, {
126
+ variants: [{
127
+ props: ({
128
+ isLandscape,
129
+ toolbarVariant
130
+ }) => isLandscape && toolbarVariant !== 'desktop',
131
+ style: (0, _extends2.default)({
132
+ flexDirection: 'column'
133
+ }, theme.direction === 'rtl' && {
134
+ flexDirection: 'column-reverse'
135
+ })
136
+ }, {
137
+ props: {
138
+ toolbarVariant: 'desktop',
139
+ isLandscape: false
140
+ },
141
+ style: {
142
+ gap: 9,
143
+ marginRight: 4,
144
+ alignSelf: 'flex-end'
145
+ }
146
+ }]
110
147
  });
111
148
  });
112
149
  const DateTimePickerToolbarTimeDigitsContainer = (0, _styles.styled)('div', {
@@ -114,14 +151,20 @@ const DateTimePickerToolbarTimeDigitsContainer = (0, _styles.styled)('div', {
114
151
  slot: 'TimeDigitsContainer',
115
152
  overridesResolver: (props, styles) => styles.timeDigitsContainer
116
153
  })(({
117
- theme,
118
- ownerState
154
+ theme
119
155
  }) => (0, _extends2.default)({
120
156
  display: 'flex'
121
- }, ownerState.toolbarVariant === 'desktop' && {
122
- gap: 1.5
123
157
  }, theme.direction === 'rtl' && {
124
158
  flexDirection: 'row-reverse'
159
+ }, {
160
+ variants: [{
161
+ props: {
162
+ toolbarVariant: 'desktop'
163
+ },
164
+ style: {
165
+ gap: 1.5
166
+ }
167
+ }]
125
168
  }));
126
169
  DateTimePickerToolbarTimeContainer.propTypes = {
127
170
  // ----------------------------- Warning --------------------------------
@@ -136,12 +179,18 @@ const DateTimePickerToolbarSeparator = (0, _styles.styled)(_PickersToolbarText.P
136
179
  name: 'MuiDateTimePickerToolbar',
137
180
  slot: 'Separator',
138
181
  overridesResolver: (props, styles) => styles.separator
139
- })(({
140
- ownerState
141
- }) => ({
142
- margin: ownerState.toolbarVariant === 'desktop' ? 0 : '0 4px 0 2px',
143
- cursor: 'default'
144
- }));
182
+ })({
183
+ margin: '0 4px 0 2px',
184
+ cursor: 'default',
185
+ variants: [{
186
+ props: {
187
+ toolbarVariant: 'desktop'
188
+ },
189
+ style: {
190
+ margin: 0
191
+ }
192
+ }]
193
+ });
145
194
 
146
195
  // Taken from TimePickerToolbar
147
196
  const DateTimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
@@ -152,23 +201,26 @@ const DateTimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
152
201
  }, {
153
202
  [`&.${_dateTimePickerToolbarClasses.dateTimePickerToolbarClasses.ampmLandscape}`]: styles.ampmLandscape
154
203
  }, styles.ampmSelection]
155
- })(({
156
- ownerState
157
- }) => (0, _extends2.default)({
204
+ })({
158
205
  display: 'flex',
159
206
  flexDirection: 'column',
160
207
  marginRight: 'auto',
161
- marginLeft: 12
162
- }, ownerState.isLandscape && {
163
- margin: '4px 0 auto',
164
- flexDirection: 'row',
165
- justifyContent: 'space-around',
166
- width: '100%'
167
- }, {
208
+ marginLeft: 12,
168
209
  [`& .${_dateTimePickerToolbarClasses.dateTimePickerToolbarClasses.ampmLabel}`]: {
169
210
  fontSize: 17
170
- }
171
- }));
211
+ },
212
+ variants: [{
213
+ props: {
214
+ isLandscape: true
215
+ },
216
+ style: {
217
+ margin: '4px 0 auto',
218
+ flexDirection: 'row',
219
+ justifyContent: 'space-around',
220
+ width: '100%'
221
+ }
222
+ }]
223
+ });
172
224
 
173
225
  /**
174
226
  * Demos:
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.DayCalendarSkeleton = DayCalendarSkeleton;
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
@@ -50,13 +50,17 @@ const DayCalendarSkeletonDay = (0, _styles.styled)(_Skeleton.default, {
50
50
  name: 'MuiDayCalendarSkeleton',
51
51
  slot: 'DaySkeleton',
52
52
  overridesResolver: (props, styles) => styles.daySkeleton
53
- })(({
54
- ownerState
55
- }) => (0, _extends2.default)({
56
- margin: `0 ${_dimensions.DAY_MARGIN}px`
57
- }, ownerState.day === 0 && {
58
- visibility: 'hidden'
59
- }));
53
+ })({
54
+ margin: `0 ${_dimensions.DAY_MARGIN}px`,
55
+ variants: [{
56
+ props: {
57
+ day: 0
58
+ },
59
+ style: {
60
+ visibility: 'hidden'
61
+ }
62
+ }]
63
+ });
60
64
  DayCalendarSkeletonDay.propTypes = {
61
65
  // ----------------------------- Warning --------------------------------
62
66
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -290,7 +290,7 @@ DesktopDatePicker.propTypes = {
290
290
  /**
291
291
  * Disable specific date.
292
292
  *
293
- * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
293
+ * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
294
294
  *
295
295
  * @template TDate
296
296
  * @param {TDate} day The date to test.
@@ -6,23 +6,67 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.DesktopDateTimePicker = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
10
  var React = _interopRequireWildcard(require("react"));
10
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
12
  var _utils = require("@mui/base/utils");
12
13
  var _utils2 = require("@mui/utils");
14
+ var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
13
15
  var _valueManagers = require("../internals/utils/valueManagers");
14
16
  var _DateTimeField = require("../DateTimeField");
15
17
  var _shared = require("../DateTimePicker/shared");
16
18
  var _dateViewRenderers = require("../dateViewRenderers/dateViewRenderers");
17
- var _dateTimeViewRenderers = require("../dateTimeViewRenderers");
18
19
  var _useUtils = require("../internals/hooks/useUtils");
19
20
  var _validateDateTime = require("../internals/utils/validation/validateDateTime");
20
21
  var _icons = require("../icons");
21
22
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
22
23
  var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
23
24
  var _dateTimeUtils = require("../internals/utils/date-time-utils");
25
+ var _timeViewRenderers = require("../timeViewRenderers");
26
+ var _internals = require("../internals");
27
+ var _MultiSectionDigitalClock = require("../MultiSectionDigitalClock");
28
+ var _DigitalClock = require("../DigitalClock");
29
+ var _DesktopDateTimePickerLayout = require("./DesktopDateTimePickerLayout");
30
+ var _jsxRuntime = require("react/jsx-runtime");
31
+ const _excluded = ["openTo", "focusedView", "timeViewsCount"];
24
32
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
25
33
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
34
+ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
35
+ const {
36
+ openTo,
37
+ focusedView,
38
+ timeViewsCount
39
+ } = rendererProps,
40
+ otherProps = (0, _objectWithoutPropertiesLoose2.default)(rendererProps, _excluded);
41
+ const finalProps = (0, _extends2.default)({}, otherProps, {
42
+ focusedView: null,
43
+ sx: [{
44
+ [`&.${_MultiSectionDigitalClock.multiSectionDigitalClockClasses.root}`]: {
45
+ borderBottom: 0
46
+ },
47
+ [`&.${_MultiSectionDigitalClock.multiSectionDigitalClockClasses.root}, .${_MultiSectionDigitalClock.multiSectionDigitalClockSectionClasses.root}, &.${_DigitalClock.digitalClockClasses.root}`]: {
48
+ maxHeight: _internals.VIEW_HEIGHT
49
+ }
50
+ }]
51
+ });
52
+ const isTimeViewActive = (0, _internals.isInternalTimeView)(popperView);
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
54
+ children: [inViewRenderers[!isTimeViewActive ? popperView : 'day']?.((0, _extends2.default)({}, rendererProps, {
55
+ view: !isTimeViewActive ? popperView : 'day',
56
+ focusedView: focusedView && (0, _internals.isDatePickerView)(focusedView) ? focusedView : null,
57
+ views: rendererProps.views.filter(_internals.isDatePickerView)
58
+ })), timeViewsCount > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider.default, {
60
+ orientation: "vertical"
61
+ }), inViewRenderers[isTimeViewActive ? popperView : 'hours']?.((0, _extends2.default)({}, finalProps, {
62
+ view: isTimeViewActive ? popperView : 'hours',
63
+ focusedView: focusedView && (0, _internals.isInternalTimeView)(focusedView) ? focusedView : null,
64
+ openTo: (0, _internals.isInternalTimeView)(openTo) ? openTo : 'hours',
65
+ views: rendererProps.views.filter(_internals.isInternalTimeView)
66
+ }))]
67
+ })]
68
+ });
69
+ };
26
70
  /**
27
71
  * Demos:
28
72
  *
@@ -42,32 +86,24 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
42
86
  const {
43
87
  shouldRenderTimeInASingleColumn,
44
88
  thresholdToRenderTimeInASingleColumn,
45
- views,
89
+ views: resolvedViews,
46
90
  timeSteps
47
91
  } = (0, _dateTimeUtils.resolveTimeViewsResponse)(defaultizedProps);
48
- const shouldUseNewRenderer = !defaultizedProps.viewRenderers || Object.keys(defaultizedProps.viewRenderers).length === 0;
49
- const viewRenderers =
50
- // we can only ensure the expected two-column layout if none of the renderers are overridden
51
- shouldUseNewRenderer ? {
52
- day: _dateTimeViewRenderers.renderDesktopDateTimeView,
53
- month: _dateTimeViewRenderers.renderDesktopDateTimeView,
54
- year: _dateTimeViewRenderers.renderDesktopDateTimeView,
55
- hours: _dateTimeViewRenderers.renderDesktopDateTimeView,
56
- minutes: _dateTimeViewRenderers.renderDesktopDateTimeView,
57
- seconds: _dateTimeViewRenderers.renderDesktopDateTimeView,
58
- meridiem: _dateTimeViewRenderers.renderDesktopDateTimeView
59
- } : (0, _extends2.default)({
92
+ const renderTimeView = shouldRenderTimeInASingleColumn ? _timeViewRenderers.renderDigitalClockTimeView : _timeViewRenderers.renderMultiSectionDigitalClockTimeView;
93
+ const viewRenderers = (0, _extends2.default)({
60
94
  day: _dateViewRenderers.renderDateViewCalendar,
61
95
  month: _dateViewRenderers.renderDateViewCalendar,
62
96
  year: _dateViewRenderers.renderDateViewCalendar,
63
- hours: null,
64
- minutes: null,
65
- seconds: null,
66
- meridiem: null
97
+ hours: renderTimeView,
98
+ minutes: renderTimeView,
99
+ seconds: renderTimeView,
100
+ meridiem: renderTimeView
67
101
  }, defaultizedProps.viewRenderers);
68
102
  const ampmInClock = defaultizedProps.ampmInClock ?? true;
69
- // add "accept" action only when the new date time view renderers are used
70
- const actionBarActions = shouldUseNewRenderer ? ['accept'] : [];
103
+ // Need to avoid adding the `meridiem` view when unexpected renderer is specified
104
+ const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
105
+ const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
106
+ const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
71
107
 
72
108
  // Props with the default values specific to the desktop variant
73
109
  const props = (0, _extends2.default)({}, defaultizedProps, {
@@ -81,6 +117,7 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
81
117
  shouldRenderTimeInASingleColumn,
82
118
  slots: (0, _extends2.default)({
83
119
  field: _DateTimeField.DateTimeField,
120
+ layout: _DesktopDateTimePickerLayout.DesktopDateTimePickerLayout,
84
121
  openPickerIcon: _icons.CalendarIcon
85
122
  }, defaultizedProps.slots),
86
123
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
@@ -90,14 +127,14 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
90
127
  toolbar: (0, _extends2.default)({
91
128
  hidden: true,
92
129
  ampmInClock,
93
- toolbarVariant: shouldUseNewRenderer ? 'desktop' : 'mobile'
130
+ toolbarVariant: 'desktop'
94
131
  }, defaultizedProps.slotProps?.toolbar),
95
132
  tabs: (0, _extends2.default)({
96
133
  hidden: true
97
134
  }, defaultizedProps.slotProps?.tabs),
98
- actionBar: (0, _extends2.default)({
135
+ actionBar: ownerState => (0, _extends2.default)({
99
136
  actions: actionBarActions
100
- }, defaultizedProps.slotProps?.actionBar)
137
+ }, (0, _utils.resolveComponentProps)(defaultizedProps.slotProps?.actionBar, ownerState))
101
138
  })
102
139
  });
103
140
  const {
@@ -107,7 +144,8 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
107
144
  valueManager: _valueManagers.singleItemValueManager,
108
145
  valueType: 'date-time',
109
146
  getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? localeText.openDatePickerDialogue,
110
- validator: _validateDateTime.validateDateTime
147
+ validator: _validateDateTime.validateDateTime,
148
+ rendererInterceptor
111
149
  });
112
150
  return renderPicker();
113
151
  });
@@ -366,7 +404,7 @@ DesktopDateTimePicker.propTypes = {
366
404
  /**
367
405
  * Disable specific date.
368
406
  *
369
- * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
407
+ * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
370
408
  *
371
409
  * @template TDate
372
410
  * @param {TDate} day The date to test.
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DesktopDateTimePickerLayout = DesktopDateTimePickerLayout;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+ var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
12
+ var _PickersLayout = require("../PickersLayout");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ /**
17
+ * @ignore - internal component.
18
+ */
19
+ function DesktopDateTimePickerLayout(props) {
20
+ const {
21
+ toolbar,
22
+ tabs,
23
+ content,
24
+ actionBar,
25
+ shortcuts
26
+ } = (0, _PickersLayout.usePickerLayout)(props);
27
+ const {
28
+ sx,
29
+ className,
30
+ isLandscape,
31
+ ref
32
+ } = props;
33
+ const isActionBarVisible = actionBar && (actionBar.props.actions?.length ?? 0) > 0;
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickersLayout.PickersLayoutRoot, {
35
+ ref: ref,
36
+ className: (0, _clsx.default)(className, _PickersLayout.pickersLayoutClasses.root),
37
+ sx: [{
38
+ [`& .${_PickersLayout.pickersLayoutClasses.tabs}`]: {
39
+ gridRow: 4,
40
+ gridColumn: '1 / 4'
41
+ },
42
+ [`& .${_PickersLayout.pickersLayoutClasses.actionBar}`]: {
43
+ gridRow: 5
44
+ }
45
+ }, ...(Array.isArray(sx) ? sx : [sx])],
46
+ ownerState: props,
47
+ children: [isLandscape ? shortcuts : toolbar, isLandscape ? toolbar : shortcuts, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickersLayout.PickersLayoutContentWrapper, {
48
+ className: _PickersLayout.pickersLayoutClasses.contentWrapper,
49
+ sx: {
50
+ display: 'grid'
51
+ },
52
+ children: [content, tabs, isActionBarVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider.default, {
53
+ sx: {
54
+ gridRow: 3,
55
+ gridColumn: '1 / 4'
56
+ }
57
+ })]
58
+ }), actionBar]
59
+ });
60
+ }
61
+ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes = {
62
+ // ----------------------------- Warning --------------------------------
63
+ // | These PropTypes are generated from the TypeScript type definitions |
64
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
65
+ // ----------------------------------------------------------------------
66
+ children: _propTypes.default.node,
67
+ /**
68
+ * Override or extend the styles applied to the component.
69
+ */
70
+ classes: _propTypes.default.object,
71
+ className: _propTypes.default.string,
72
+ disabled: _propTypes.default.bool,
73
+ isLandscape: _propTypes.default.bool.isRequired,
74
+ isValid: _propTypes.default.func.isRequired,
75
+ onAccept: _propTypes.default.func.isRequired,
76
+ onCancel: _propTypes.default.func.isRequired,
77
+ onChange: _propTypes.default.func.isRequired,
78
+ onClear: _propTypes.default.func.isRequired,
79
+ onClose: _propTypes.default.func.isRequired,
80
+ onDismiss: _propTypes.default.func.isRequired,
81
+ onOpen: _propTypes.default.func.isRequired,
82
+ onSelectShortcut: _propTypes.default.func.isRequired,
83
+ onSetToday: _propTypes.default.func.isRequired,
84
+ onViewChange: _propTypes.default.func.isRequired,
85
+ /**
86
+ * Force rendering in particular orientation.
87
+ */
88
+ orientation: _propTypes.default.oneOf(['landscape', 'portrait']),
89
+ readOnly: _propTypes.default.bool,
90
+ /**
91
+ * The props used for each component slot.
92
+ * @default {}
93
+ */
94
+ slotProps: _propTypes.default.object,
95
+ /**
96
+ * Overridable component slots.
97
+ * @default {}
98
+ */
99
+ slots: _propTypes.default.object,
100
+ /**
101
+ * The system prop that allows defining system overrides as well as additional CSS styles.
102
+ */
103
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
104
+ value: _propTypes.default.any,
105
+ view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
106
+ views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired,
107
+ wrapperVariant: _propTypes.default.oneOf(['desktop', 'mobile'])
108
+ } : void 0;
@@ -9,4 +9,11 @@ Object.defineProperty(exports, "DesktopDateTimePicker", {
9
9
  return _DesktopDateTimePicker.DesktopDateTimePicker;
10
10
  }
11
11
  });
12
- var _DesktopDateTimePicker = require("./DesktopDateTimePicker");
12
+ Object.defineProperty(exports, "DesktopDateTimePickerLayout", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _DesktopDateTimePickerLayout.DesktopDateTimePickerLayout;
16
+ }
17
+ });
18
+ var _DesktopDateTimePicker = require("./DesktopDateTimePicker");
19
+ var _DesktopDateTimePickerLayout = require("./DesktopDateTimePickerLayout");
@@ -45,16 +45,24 @@ const DigitalClockRoot = (0, _styles.styled)(_PickerViewRoot.PickerViewRoot, {
45
45
  name: 'MuiDigitalClock',
46
46
  slot: 'Root',
47
47
  overridesResolver: (props, styles) => styles.root
48
- })(({
49
- ownerState
50
- }) => ({
48
+ })({
51
49
  overflowY: 'auto',
52
50
  width: '100%',
53
51
  '@media (prefers-reduced-motion: no-preference)': {
54
- scrollBehavior: ownerState.alreadyRendered ? 'smooth' : 'auto'
52
+ scrollBehavior: 'auto'
55
53
  },
56
- maxHeight: _dimensions.DIGITAL_CLOCK_VIEW_HEIGHT
57
- }));
54
+ maxHeight: _dimensions.DIGITAL_CLOCK_VIEW_HEIGHT,
55
+ variants: [{
56
+ props: {
57
+ alreadyRendered: true
58
+ },
59
+ style: {
60
+ '@media (prefers-reduced-motion: no-preference)': {
61
+ scrollBehavior: 'smooth'
62
+ }
63
+ }
64
+ }]
65
+ });
58
66
  const DigitalClockList = (0, _styles.styled)(_MenuList.default, {
59
67
  name: 'MuiDigitalClock',
60
68
  slot: 'List',
@@ -287,7 +287,7 @@ MobileDatePicker.propTypes = {
287
287
  /**
288
288
  * Disable specific date.
289
289
  *
290
- * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
290
+ * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
291
291
  *
292
292
  * @template TDate
293
293
  * @param {TDate} day The date to test.
@@ -335,7 +335,7 @@ MobileDateTimePicker.propTypes = {
335
335
  /**
336
336
  * Disable specific date.
337
337
  *
338
- * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
338
+ * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
339
339
  *
340
340
  * @template TDate
341
341
  * @param {TDate} day The date to test.
@@ -31,14 +31,20 @@ const PickersMonthRoot = (0, _styles.styled)('div', {
31
31
  name: 'MuiPickersMonth',
32
32
  slot: 'Root',
33
33
  overridesResolver: (_, styles) => [styles.root]
34
- })(({
35
- ownerState
36
- }) => ({
37
- flexBasis: ownerState.monthsPerRow === 3 ? '33.3%' : '25%',
34
+ })({
38
35
  display: 'flex',
39
36
  alignItems: 'center',
40
- justifyContent: 'center'
41
- }));
37
+ justifyContent: 'center',
38
+ flexBasis: '33.3%',
39
+ variants: [{
40
+ props: {
41
+ monthsPerRow: 4
42
+ },
43
+ style: {
44
+ flexBasis: '25%'
45
+ }
46
+ }]
47
+ });
42
48
  const PickersMonthButton = (0, _styles.styled)('button', {
43
49
  name: 'MuiPickersMonth',
44
50
  slot: 'MonthButton',
@@ -35,15 +35,14 @@ const MultiSectionDigitalClockSectionRoot = (0, _styles.styled)(_MenuList.defaul
35
35
  slot: 'Root',
36
36
  overridesResolver: (_, styles) => styles.root
37
37
  })(({
38
- theme,
39
- ownerState
38
+ theme
40
39
  }) => ({
41
40
  maxHeight: _dimensions.DIGITAL_CLOCK_VIEW_HEIGHT,
42
41
  width: 56,
43
42
  padding: 0,
44
43
  overflow: 'hidden',
45
44
  '@media (prefers-reduced-motion: no-preference)': {
46
- scrollBehavior: ownerState.alreadyRendered ? 'smooth' : 'auto'
45
+ scrollBehavior: 'auto'
47
46
  },
48
47
  '@media (pointer: fine)': {
49
48
  '&:hover': {
@@ -61,7 +60,17 @@ const MultiSectionDigitalClockSectionRoot = (0, _styles.styled)(_MenuList.defaul
61
60
  content: '""',
62
61
  // subtracting the height of one item, extra margin and borders to make sure the max height is correct
63
62
  height: 'calc(100% - 40px - 6px)'
64
- }
63
+ },
64
+ variants: [{
65
+ props: {
66
+ alreadyRendered: true
67
+ },
68
+ style: {
69
+ '@media (prefers-reduced-motion: no-preference)': {
70
+ scrollBehavior: 'smooth'
71
+ }
72
+ }
73
+ }]
65
74
  }));
66
75
  const MultiSectionDigitalClockSectionItem = (0, _styles.styled)(_MenuItem.default, {
67
76
  name: 'MuiMultiSectionDigitalClockSection',
@@ -80,15 +80,19 @@ const PickersCalendarHeaderSwitchViewButton = (0, _styles.styled)(_IconButton.de
80
80
  name: 'MuiPickersCalendarHeader',
81
81
  slot: 'SwitchViewButton',
82
82
  overridesResolver: (_, styles) => styles.switchViewButton
83
- })(({
84
- ownerState
85
- }) => (0, _extends2.default)({
86
- marginRight: 'auto'
87
- }, ownerState.view === 'year' && {
88
- [`.${_pickersCalendarHeaderClasses.pickersCalendarHeaderClasses.switchViewIcon}`]: {
89
- transform: 'rotate(180deg)'
90
- }
91
- }));
83
+ })({
84
+ marginRight: 'auto',
85
+ variants: [{
86
+ props: {
87
+ view: 'year'
88
+ },
89
+ style: {
90
+ [`.${_pickersCalendarHeaderClasses.pickersCalendarHeaderClasses.switchViewIcon}`]: {
91
+ transform: 'rotate(180deg)'
92
+ }
93
+ }
94
+ }]
95
+ });
92
96
  const PickersCalendarHeaderSwitchViewIcon = (0, _styles.styled)(_icons.ArrowDropDownIcon, {
93
97
  name: 'MuiPickersCalendarHeader',
94
98
  slot: 'SwitchViewIcon',