@mui/x-date-pickers 5.0.2 → 6.0.0-alpha.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 (252) hide show
  1. package/CHANGELOG.md +212 -3
  2. package/CalendarPicker/CalendarPicker.d.ts +8 -2
  3. package/CalendarPicker/CalendarPicker.js +54 -71
  4. package/CalendarPicker/DayPicker.d.ts +2 -2
  5. package/CalendarPicker/DayPicker.js +6 -2
  6. package/CalendarPicker/PickersCalendarHeader.d.ts +3 -10
  7. package/CalendarPicker/PickersCalendarHeader.js +7 -20
  8. package/CalendarPicker/useCalendarState.d.ts +2 -2
  9. package/CalendarPicker/useCalendarState.js +7 -7
  10. package/ClockPicker/Clock.d.ts +9 -4
  11. package/ClockPicker/Clock.js +13 -13
  12. package/ClockPicker/ClockNumbers.d.ts +3 -3
  13. package/ClockPicker/ClockNumbers.js +2 -2
  14. package/ClockPicker/ClockPicker.d.ts +8 -58
  15. package/ClockPicker/ClockPicker.js +52 -128
  16. package/ClockPicker/ClockPointer.d.ts +1 -1
  17. package/ClockPicker/ClockPointer.js +4 -4
  18. package/DateField/useDateField.d.ts +1 -1
  19. package/DateField/useDateField.js +5 -1
  20. package/DatePicker/DatePicker.js +10 -20
  21. package/DateTimePicker/DateTimePicker.js +10 -39
  22. package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -1
  23. package/DesktopDatePicker/DesktopDatePicker.js +14 -22
  24. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -1
  25. package/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
  26. package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -1
  27. package/DesktopTimePicker/DesktopTimePicker.js +9 -21
  28. package/LocalizationProvider/LocalizationProvider.d.ts +10 -11
  29. package/LocalizationProvider/LocalizationProvider.js +31 -24
  30. package/MobileDatePicker/MobileDatePicker.d.ts +1 -1
  31. package/MobileDatePicker/MobileDatePicker.js +14 -22
  32. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -1
  33. package/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
  34. package/MobileTimePicker/MobileTimePicker.d.ts +1 -1
  35. package/MobileTimePicker/MobileTimePicker.js +9 -21
  36. package/MonthPicker/MonthPicker.d.ts +12 -9
  37. package/MonthPicker/MonthPicker.js +60 -57
  38. package/MonthPicker/PickersMonth.d.ts +10 -7
  39. package/MonthPicker/PickersMonth.js +76 -44
  40. package/MonthPicker/pickersMonthClasses.d.ts +9 -1
  41. package/MonthPicker/pickersMonthClasses.js +1 -1
  42. package/PickersDay/PickersDay.d.ts +0 -6
  43. package/PickersDay/PickersDay.js +0 -5
  44. package/StaticDatePicker/StaticDatePicker.d.ts +1 -1
  45. package/StaticDatePicker/StaticDatePicker.js +17 -23
  46. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -1
  47. package/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
  48. package/StaticTimePicker/StaticTimePicker.d.ts +1 -1
  49. package/StaticTimePicker/StaticTimePicker.js +17 -22
  50. package/TimePicker/TimePicker.js +5 -19
  51. package/YearPicker/PickersYear.d.ts +7 -6
  52. package/YearPicker/PickersYear.js +34 -23
  53. package/YearPicker/YearPicker.d.ts +21 -4
  54. package/YearPicker/YearPicker.js +109 -49
  55. package/YearPicker/pickersYearClasses.d.ts +1 -1
  56. package/index.js +1 -1
  57. package/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
  58. package/internals/components/PickerStaticWrapper/PickerStaticWrapper.d.ts +20 -6
  59. package/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +38 -22
  60. package/internals/components/PickerStaticWrapper/index.d.ts +1 -1
  61. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.d.ts +3 -0
  62. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +166 -0
  63. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +63 -0
  64. package/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
  65. package/internals/components/PickersArrowSwitcher/index.d.ts +2 -0
  66. package/internals/components/PickersArrowSwitcher/index.js +1 -0
  67. package/internals/components/{pickersArrowSwitcherClasses.d.ts → PickersArrowSwitcher/pickersArrowSwitcherClasses.d.ts} +0 -0
  68. package/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
  69. package/internals/components/PickersPopper.d.ts +2 -6
  70. package/internals/components/PickersPopper.js +5 -5
  71. package/internals/components/PickersToolbar.d.ts +1 -1
  72. package/internals/components/PickersToolbar.js +1 -2
  73. package/internals/components/PickersToolbarText.d.ts +1 -1
  74. package/internals/components/wrappers/DesktopTooltipWrapper.d.ts +1 -1
  75. package/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
  76. package/internals/components/wrappers/DesktopWrapper.d.ts +8 -3
  77. package/internals/components/wrappers/DesktopWrapper.js +26 -21
  78. package/internals/components/wrappers/MobileWrapper.d.ts +8 -3
  79. package/internals/components/wrappers/MobileWrapper.js +23 -18
  80. package/internals/hooks/useField/useField.interfaces.d.ts +0 -1
  81. package/internals/hooks/useField/useField.js +19 -23
  82. package/internals/hooks/useField/useField.utils.js +10 -2
  83. package/internals/hooks/useUtils.d.ts +5 -2
  84. package/internals/hooks/useUtils.js +11 -2
  85. package/internals/hooks/validation/useDateValidation.d.ts +4 -4
  86. package/internals/hooks/validation/useDateValidation.js +12 -2
  87. package/internals/index.d.ts +5 -5
  88. package/internals/index.js +3 -3
  89. package/internals/models/muiPickersAdapter.d.ts +12 -7
  90. package/internals/models/props/baseToolbarProps.d.ts +0 -8
  91. package/internals/models/props/staticPickerProps.d.ts +2 -8
  92. package/legacy/CalendarPicker/CalendarPicker.js +52 -69
  93. package/legacy/CalendarPicker/DayPicker.js +6 -2
  94. package/legacy/CalendarPicker/PickersCalendarHeader.js +7 -20
  95. package/legacy/CalendarPicker/useCalendarState.js +7 -7
  96. package/legacy/ClockPicker/Clock.js +13 -13
  97. package/legacy/ClockPicker/ClockNumbers.js +2 -2
  98. package/legacy/ClockPicker/ClockPicker.js +57 -133
  99. package/legacy/ClockPicker/ClockPointer.js +4 -4
  100. package/legacy/DateField/useDateField.js +5 -1
  101. package/legacy/DatePicker/DatePicker.js +10 -20
  102. package/legacy/DateTimePicker/DateTimePicker.js +10 -39
  103. package/legacy/DesktopDatePicker/DesktopDatePicker.js +13 -21
  104. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
  105. package/legacy/DesktopTimePicker/DesktopTimePicker.js +8 -20
  106. package/legacy/LocalizationProvider/LocalizationProvider.js +28 -23
  107. package/legacy/MobileDatePicker/MobileDatePicker.js +13 -21
  108. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
  109. package/legacy/MobileTimePicker/MobileTimePicker.js +8 -20
  110. package/legacy/MonthPicker/MonthPicker.js +67 -62
  111. package/legacy/MonthPicker/PickersMonth.js +89 -57
  112. package/legacy/MonthPicker/pickersMonthClasses.js +1 -1
  113. package/legacy/PickersDay/PickersDay.js +0 -5
  114. package/legacy/StaticDatePicker/StaticDatePicker.js +17 -24
  115. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +17 -43
  116. package/legacy/StaticTimePicker/StaticTimePicker.js +17 -23
  117. package/legacy/TimePicker/TimePicker.js +5 -19
  118. package/legacy/YearPicker/PickersYear.js +35 -25
  119. package/legacy/YearPicker/YearPicker.js +111 -51
  120. package/legacy/index.js +1 -1
  121. package/legacy/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
  122. package/legacy/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +41 -24
  123. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +180 -0
  124. package/legacy/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
  125. package/legacy/internals/components/PickersArrowSwitcher/index.js +1 -0
  126. package/legacy/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
  127. package/legacy/internals/components/PickersPopper.js +5 -5
  128. package/legacy/internals/components/PickersToolbar.js +1 -2
  129. package/legacy/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
  130. package/legacy/internals/components/wrappers/DesktopWrapper.js +26 -21
  131. package/legacy/internals/components/wrappers/MobileWrapper.js +22 -17
  132. package/legacy/internals/hooks/useField/useField.js +21 -23
  133. package/legacy/internals/hooks/useField/useField.utils.js +10 -2
  134. package/legacy/internals/hooks/useUtils.js +13 -2
  135. package/legacy/internals/hooks/validation/useDateValidation.js +12 -2
  136. package/legacy/internals/index.js +3 -3
  137. package/legacy/locales/faIR.js +52 -0
  138. package/legacy/locales/fiFI.js +61 -0
  139. package/legacy/locales/index.js +2 -0
  140. package/legacy/locales/isIS.js +0 -1
  141. package/locales/faIR.d.ts +35 -0
  142. package/locales/faIR.js +36 -0
  143. package/locales/fiFI.d.ts +35 -0
  144. package/locales/fiFI.js +45 -0
  145. package/locales/index.d.ts +2 -0
  146. package/locales/index.js +2 -0
  147. package/locales/isIS.js +0 -1
  148. package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
  149. package/modern/CalendarPicker/CalendarPicker.js +54 -71
  150. package/modern/CalendarPicker/DayPicker.js +6 -2
  151. package/modern/CalendarPicker/PickersCalendarHeader.js +7 -20
  152. package/modern/CalendarPicker/useCalendarState.js +7 -7
  153. package/modern/ClockPicker/Clock.js +13 -13
  154. package/modern/ClockPicker/ClockNumbers.js +2 -2
  155. package/modern/ClockPicker/ClockPicker.js +52 -128
  156. package/modern/ClockPicker/ClockPointer.js +4 -4
  157. package/modern/DateField/useDateField.js +5 -1
  158. package/modern/DatePicker/DatePicker.js +10 -20
  159. package/modern/DateTimePicker/DateTimePicker.js +10 -39
  160. package/modern/DesktopDatePicker/DesktopDatePicker.js +14 -22
  161. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
  162. package/modern/DesktopTimePicker/DesktopTimePicker.js +9 -21
  163. package/modern/LocalizationProvider/LocalizationProvider.js +29 -24
  164. package/modern/MobileDatePicker/MobileDatePicker.js +14 -22
  165. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
  166. package/modern/MobileTimePicker/MobileTimePicker.js +9 -21
  167. package/modern/MonthPicker/MonthPicker.js +60 -57
  168. package/modern/MonthPicker/PickersMonth.js +76 -44
  169. package/modern/MonthPicker/pickersMonthClasses.js +1 -1
  170. package/modern/PickersDay/PickersDay.js +0 -5
  171. package/modern/StaticDatePicker/StaticDatePicker.js +17 -23
  172. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
  173. package/modern/StaticTimePicker/StaticTimePicker.js +17 -22
  174. package/modern/TimePicker/TimePicker.js +5 -19
  175. package/modern/YearPicker/PickersYear.js +34 -23
  176. package/modern/YearPicker/YearPicker.js +109 -49
  177. package/modern/index.js +1 -1
  178. package/modern/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
  179. package/modern/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +38 -22
  180. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +164 -0
  181. package/modern/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
  182. package/modern/internals/components/PickersArrowSwitcher/index.js +1 -0
  183. package/modern/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
  184. package/modern/internals/components/PickersPopper.js +5 -5
  185. package/modern/internals/components/PickersToolbar.js +1 -2
  186. package/modern/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
  187. package/modern/internals/components/wrappers/DesktopWrapper.js +26 -21
  188. package/modern/internals/components/wrappers/MobileWrapper.js +23 -18
  189. package/modern/internals/hooks/useField/useField.js +19 -21
  190. package/modern/internals/hooks/useField/useField.utils.js +10 -2
  191. package/modern/internals/hooks/useUtils.js +11 -2
  192. package/modern/internals/hooks/validation/useDateValidation.js +12 -2
  193. package/modern/internals/index.js +3 -3
  194. package/modern/locales/faIR.js +36 -0
  195. package/modern/locales/fiFI.js +45 -0
  196. package/modern/locales/index.js +2 -0
  197. package/modern/locales/isIS.js +0 -1
  198. package/node/CalendarPicker/CalendarPicker.js +54 -71
  199. package/node/CalendarPicker/DayPicker.js +5 -1
  200. package/node/CalendarPicker/PickersCalendarHeader.js +7 -21
  201. package/node/CalendarPicker/useCalendarState.js +6 -6
  202. package/node/ClockPicker/Clock.js +12 -12
  203. package/node/ClockPicker/ClockNumbers.js +2 -2
  204. package/node/ClockPicker/ClockPicker.js +52 -129
  205. package/node/ClockPicker/ClockPointer.js +4 -4
  206. package/node/DateField/useDateField.js +5 -1
  207. package/node/DatePicker/DatePicker.js +10 -20
  208. package/node/DateTimePicker/DateTimePicker.js +10 -39
  209. package/node/DesktopDatePicker/DesktopDatePicker.js +14 -22
  210. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
  211. package/node/DesktopTimePicker/DesktopTimePicker.js +9 -21
  212. package/node/LocalizationProvider/LocalizationProvider.js +31 -25
  213. package/node/MobileDatePicker/MobileDatePicker.js +14 -22
  214. package/node/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
  215. package/node/MobileTimePicker/MobileTimePicker.js +9 -21
  216. package/node/MonthPicker/MonthPicker.js +61 -58
  217. package/node/MonthPicker/PickersMonth.js +71 -43
  218. package/node/MonthPicker/pickersMonthClasses.js +1 -1
  219. package/node/PickersDay/PickersDay.js +0 -5
  220. package/node/StaticDatePicker/StaticDatePicker.js +17 -23
  221. package/node/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
  222. package/node/StaticTimePicker/StaticTimePicker.js +17 -22
  223. package/node/TimePicker/TimePicker.js +5 -19
  224. package/node/YearPicker/PickersYear.js +33 -22
  225. package/node/YearPicker/YearPicker.js +111 -49
  226. package/node/index.js +1 -1
  227. package/node/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
  228. package/node/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +39 -22
  229. package/node/internals/components/{PickersArrowSwitcher.js → PickersArrowSwitcher/PickersArrowSwitcher.js} +102 -58
  230. package/node/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
  231. package/node/internals/components/PickersArrowSwitcher/index.js +13 -0
  232. package/node/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
  233. package/node/internals/components/PickersPopper.js +5 -5
  234. package/node/internals/components/PickersToolbar.js +1 -2
  235. package/node/internals/components/wrappers/DesktopTooltipWrapper.js +30 -24
  236. package/node/internals/components/wrappers/DesktopWrapper.js +27 -21
  237. package/node/internals/components/wrappers/MobileWrapper.js +24 -18
  238. package/node/internals/hooks/useField/useField.js +19 -23
  239. package/node/internals/hooks/useField/useField.utils.js +10 -2
  240. package/node/internals/hooks/useUtils.js +15 -2
  241. package/node/internals/hooks/validation/useDateValidation.js +14 -4
  242. package/node/internals/index.js +8 -2
  243. package/node/locales/faIR.js +45 -0
  244. package/node/locales/fiFI.js +54 -0
  245. package/node/locales/index.js +26 -0
  246. package/node/locales/isIS.js +0 -1
  247. package/package.json +4 -4
  248. package/themeAugmentation/props.d.ts +3 -3
  249. package/internals/components/PickersArrowSwitcher.d.ts +0 -62
  250. package/internals/components/PickersArrowSwitcher.js +0 -124
  251. package/legacy/internals/components/PickersArrowSwitcher.js +0 -128
  252. package/modern/internals/components/PickersArrowSwitcher.js +0 -124
@@ -9,7 +9,6 @@ import { PickersFadeTransitionGroup } from './PickersFadeTransitionGroup';
9
9
  import { ArrowDropDown } from '../internals/components/icons';
10
10
  import { PickersArrowSwitcher } from '../internals/components/PickersArrowSwitcher';
11
11
  import { usePreviousMonthDisabled, useNextMonthDisabled } from '../internals/hooks/date-helpers-hooks';
12
- import { buildDeprecatedPropsWarning } from '../internals/utils/warning';
13
12
  import { getPickersCalendarHeaderUtilityClass } from './pickersCalendarHeaderClasses';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
15
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -87,7 +86,6 @@ const PickersCalendarHeaderSwitchViewIcon = styled(ArrowDropDown, {
87
86
  }, ownerState.openView === 'year' && {
88
87
  transform: 'rotate(180deg)'
89
88
  }));
90
- const deprecatedPropsWarning = buildDeprecatedPropsWarning('Props for translation are deprecated. See https://mui.com/x/react-date-pickers/localization for more information.');
91
89
  /**
92
90
  * @ignore - do not document.
93
91
  */
@@ -104,27 +102,16 @@ export function PickersCalendarHeader(inProps) {
104
102
  disabled,
105
103
  disableFuture,
106
104
  disablePast,
107
- getViewSwitchingButtonText: getViewSwitchingButtonTextProp,
108
- leftArrowButtonText: leftArrowButtonTextProp,
109
105
  maxDate,
110
106
  minDate,
111
107
  onMonthChange,
112
108
  onViewChange,
113
109
  openView: currentView,
114
110
  reduceAnimations,
115
- rightArrowButtonText: rightArrowButtonTextProp,
116
111
  views,
117
112
  labelId
118
113
  } = props;
119
- deprecatedPropsWarning({
120
- leftArrowButtonText: leftArrowButtonTextProp,
121
- rightArrowButtonText: rightArrowButtonTextProp,
122
- getViewSwitchingButtonText: getViewSwitchingButtonTextProp
123
- });
124
114
  const localeText = useLocaleText();
125
- const leftArrowButtonText = leftArrowButtonTextProp != null ? leftArrowButtonTextProp : localeText.previousMonth;
126
- const rightArrowButtonText = rightArrowButtonTextProp != null ? rightArrowButtonTextProp : localeText.nextMonth;
127
- const getViewSwitchingButtonText = getViewSwitchingButtonTextProp != null ? getViewSwitchingButtonTextProp : localeText.calendarViewSwitchingButtonAriaLabel;
128
115
  const utils = useUtils();
129
116
  const classes = useUtilityClasses(props);
130
117
  const switchViewButtonProps = componentsProps.switchViewButton || {};
@@ -184,7 +171,7 @@ export function PickersCalendarHeader(inProps) {
184
171
  }), views.length > 1 && !disabled && /*#__PURE__*/_jsx(PickersCalendarHeaderSwitchViewButton, _extends({
185
172
  size: "small",
186
173
  as: components.SwitchViewButton,
187
- "aria-label": getViewSwitchingButtonText(currentView),
174
+ "aria-label": localeText.calendarViewSwitchingButtonAriaLabel(currentView),
188
175
  className: classes.switchViewButton
189
176
  }, switchViewButtonProps, {
190
177
  children: /*#__PURE__*/_jsx(PickersCalendarHeaderSwitchViewIcon, {
@@ -196,14 +183,14 @@ export function PickersCalendarHeader(inProps) {
196
183
  }), /*#__PURE__*/_jsx(Fade, {
197
184
  in: currentView === 'day',
198
185
  children: /*#__PURE__*/_jsx(PickersArrowSwitcher, {
199
- leftArrowButtonText: leftArrowButtonText,
200
- rightArrowButtonText: rightArrowButtonText,
201
186
  components: components,
202
187
  componentsProps: componentsProps,
203
- onLeftClick: selectPreviousMonth,
204
- onRightClick: selectNextMonth,
205
- isLeftDisabled: isPreviousMonthDisabled,
206
- isRightDisabled: isNextMonthDisabled
188
+ onGoToPrevious: selectPreviousMonth,
189
+ isPreviousDisabled: isPreviousMonthDisabled,
190
+ previousLabel: localeText.previousMonth,
191
+ onGoToNext: selectNextMonth,
192
+ isNextDisabled: isNextMonthDisabled,
193
+ nextLabel: localeText.nextMonth
207
194
  })
208
195
  })]
209
196
  });
@@ -25,10 +25,10 @@ interface ChangeFocusedDayPayload<TDate> {
25
25
  export declare const createCalendarStateReducer: <TDate extends unknown>(reduceAnimations: boolean, disableSwitchToMonthOnDayFocus: boolean, utils: MuiPickersAdapter<TDate>) => (state: CalendarState<TDate>, action: {
26
26
  type: "finishMonthSwitchingAnimation";
27
27
  } | ReducerAction<"changeMonth", ChangeMonthPayload<TDate>> | ReducerAction<"changeFocusedDay", ChangeFocusedDayPayload<TDate>>) => CalendarState<TDate>;
28
- interface CalendarStateInput<TDate> extends Pick<CalendarPickerDefaultizedProps<TDate>, 'date' | 'defaultCalendarMonth' | 'disableFuture' | 'disablePast' | 'minDate' | 'maxDate' | 'onMonthChange' | 'reduceAnimations' | 'shouldDisableDate'> {
28
+ interface CalendarStateInput<TDate> extends Pick<CalendarPickerDefaultizedProps<TDate>, 'value' | 'defaultCalendarMonth' | 'disableFuture' | 'disablePast' | 'minDate' | 'maxDate' | 'onMonthChange' | 'reduceAnimations' | 'shouldDisableDate'> {
29
29
  disableSwitchToMonthOnDayFocus?: boolean;
30
30
  }
31
- export declare const useCalendarState: <TDate extends unknown>({ date, defaultCalendarMonth, disableFuture, disablePast, disableSwitchToMonthOnDayFocus, maxDate, minDate, onMonthChange, reduceAnimations, shouldDisableDate, }: CalendarStateInput<TDate>) => {
31
+ export declare const useCalendarState: <TDate extends unknown>({ value, defaultCalendarMonth, disableFuture, disablePast, disableSwitchToMonthOnDayFocus, maxDate, minDate, onMonthChange, reduceAnimations, shouldDisableDate, }: CalendarStateInput<TDate>) => {
32
32
  calendarState: CalendarState<TDate>;
33
33
  changeMonth: (newDate: TDate) => void;
34
34
  changeFocusedDay: (newFocusedDate: TDate | null, withoutMonthSwitchingAnimation?: boolean) => void;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
- import { useIsDayDisabled } from '../internals/hooks/validation/useDateValidation';
3
+ import { useIsDateDisabled } from '../internals/hooks/validation/useDateValidation';
4
4
  import { useUtils, useNow } from '../internals/hooks/useUtils';
5
5
  export const createCalendarStateReducer = (reduceAnimations, disableSwitchToMonthOnDayFocus, utils) => (state, action) => {
6
6
  switch (action.type) {
@@ -36,7 +36,7 @@ export const createCalendarStateReducer = (reduceAnimations, disableSwitchToMont
36
36
  }
37
37
  };
38
38
  export const useCalendarState = ({
39
- date,
39
+ value,
40
40
  defaultCalendarMonth,
41
41
  disableFuture,
42
42
  disablePast,
@@ -54,8 +54,8 @@ export const useCalendarState = ({
54
54
  const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations), disableSwitchToMonthOnDayFocus, utils)).current;
55
55
  const [calendarState, dispatch] = React.useReducer(reducerFn, {
56
56
  isMonthSwitchingAnimating: false,
57
- focusedDay: date || now,
58
- currentMonth: utils.startOfMonth((_ref = date != null ? date : defaultCalendarMonth) != null ? _ref : now),
57
+ focusedDay: value || now,
58
+ currentMonth: utils.startOfMonth((_ref = value != null ? value : defaultCalendarMonth) != null ? _ref : now),
59
59
  slideDirection: 'left'
60
60
  });
61
61
  const handleChangeMonth = React.useCallback(payload => {
@@ -68,7 +68,7 @@ export const useCalendarState = ({
68
68
  }
69
69
  }, [onMonthChange]);
70
70
  const changeMonth = React.useCallback(newDate => {
71
- const newDateRequested = newDate != null ? newDate : now;
71
+ const newDateRequested = newDate;
72
72
 
73
73
  if (utils.isSameMonth(newDateRequested, calendarState.currentMonth)) {
74
74
  return;
@@ -78,8 +78,8 @@ export const useCalendarState = ({
78
78
  newMonth: utils.startOfMonth(newDateRequested),
79
79
  direction: utils.isAfterDay(newDateRequested, calendarState.currentMonth) ? 'left' : 'right'
80
80
  });
81
- }, [calendarState.currentMonth, handleChangeMonth, now, utils]);
82
- const isDateDisabled = useIsDayDisabled({
81
+ }, [calendarState.currentMonth, handleChangeMonth, utils]);
82
+ const isDateDisabled = useIsDateDisabled({
83
83
  shouldDisableDate,
84
84
  minDate,
85
85
  maxDate,
@@ -1,15 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { PickerSelectionState } from '../internals/hooks/usePickerState';
3
3
  import { useMeridiemMode } from '../internals/hooks/date-helpers-hooks';
4
- import { ClockPickerView, MuiPickersAdapter } from '../internals/models';
4
+ import { ClockPickerView } from '../internals/models';
5
5
  import { ClockClasses } from './clockClasses';
6
6
  export interface ClockProps<TDate> extends ReturnType<typeof useMeridiemMode> {
7
7
  ampm: boolean;
8
8
  ampmInClock: boolean;
9
9
  autoFocus?: boolean;
10
10
  children: readonly React.ReactNode[];
11
- date: TDate | null;
12
- getClockLabelText: (view: ClockPickerView, time: TDate | null, adapter: MuiPickersAdapter<TDate>) => string;
13
11
  isTimeDisabled: (timeValue: number, type: ClockPickerView) => boolean;
14
12
  minutesStep?: number;
15
13
  onChange: (value: number, isFinish?: PickerSelectionState) => void;
@@ -19,7 +17,14 @@ export interface ClockProps<TDate> extends ReturnType<typeof useMeridiemMode> {
19
17
  */
20
18
  selectedId: string | undefined;
21
19
  type: ClockPickerView;
22
- value: number;
20
+ /**
21
+ * The numeric value of the current view.
22
+ */
23
+ viewValue: number;
24
+ /**
25
+ * The current full date value.
26
+ */
27
+ value: TDate | null;
23
28
  disabled?: boolean;
24
29
  readOnly?: boolean;
25
30
  className?: string;
@@ -6,7 +6,7 @@ import Typography from '@mui/material/Typography';
6
6
  import { styled, useThemeProps } from '@mui/material/styles';
7
7
  import { unstable_useEnhancedEffect as useEnhancedEffect, unstable_composeClasses as composeClasses } from '@mui/utils';
8
8
  import { ClockPointer } from './ClockPointer';
9
- import { useUtils } from '../internals/hooks/useUtils';
9
+ import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
10
10
  import { WrapperVariantContext } from '../internals/components/wrappers/WrapperVariantContext';
11
11
  import { getHours, getMinutes } from './shared';
12
12
  import { getClockUtilityClass } from './clockClasses';
@@ -155,8 +155,7 @@ export function Clock(inProps) {
155
155
  ampmInClock,
156
156
  autoFocus,
157
157
  children,
158
- date,
159
- getClockLabelText,
158
+ value,
160
159
  handleMeridiemChange,
161
160
  isTimeDisabled,
162
161
  meridiemMode,
@@ -164,18 +163,19 @@ export function Clock(inProps) {
164
163
  onChange,
165
164
  selectedId,
166
165
  type,
167
- value,
166
+ viewValue,
168
167
  disabled,
169
168
  readOnly,
170
169
  className
171
170
  } = props;
172
171
  const ownerState = props;
173
172
  const utils = useUtils();
173
+ const localeText = useLocaleText();
174
174
  const wrapperVariant = React.useContext(WrapperVariantContext);
175
175
  const isMoving = React.useRef(false);
176
176
  const classes = useUtilityClasses(ownerState);
177
- const isSelectedTimeDisabled = isTimeDisabled(value, type);
178
- const isPointerInner = !ampm && type === 'hours' && (value < 1 || value > 12);
177
+ const isSelectedTimeDisabled = isTimeDisabled(viewValue, type);
178
+ const isPointerInner = !ampm && type === 'hours' && (viewValue < 1 || viewValue > 12);
179
179
 
180
180
  const handleValueChange = (newValue, isFinish) => {
181
181
  if (disabled || readOnly) {
@@ -237,8 +237,8 @@ export function Clock(inProps) {
237
237
  return true;
238
238
  }
239
239
 
240
- return value % 5 === 0;
241
- }, [type, value]);
240
+ return viewValue % 5 === 0;
241
+ }, [type, viewValue]);
242
242
  const keyboardControlStep = type === 'minutes' ? minutesStep : 1;
243
243
  const listboxRef = React.useRef(null); // Since this is rendered when a Popper is opened we can't use passive effects.
244
244
  // Focusing in passive effects in Popper causes scroll jump.
@@ -269,12 +269,12 @@ export function Clock(inProps) {
269
269
  break;
270
270
 
271
271
  case 'ArrowUp':
272
- handleValueChange(value + keyboardControlStep, 'partial');
272
+ handleValueChange(viewValue + keyboardControlStep, 'partial');
273
273
  event.preventDefault();
274
274
  break;
275
275
 
276
276
  case 'ArrowDown':
277
- handleValueChange(value - keyboardControlStep, 'partial');
277
+ handleValueChange(viewValue - keyboardControlStep, 'partial');
278
278
  event.preventDefault();
279
279
  break;
280
280
 
@@ -299,15 +299,15 @@ export function Clock(inProps) {
299
299
  }), !isSelectedTimeDisabled && /*#__PURE__*/_jsxs(React.Fragment, {
300
300
  children: [/*#__PURE__*/_jsx(ClockPin, {
301
301
  className: classes.pin
302
- }), date && /*#__PURE__*/_jsx(ClockPointer, {
302
+ }), value != null && /*#__PURE__*/_jsx(ClockPointer, {
303
303
  type: type,
304
- value: value,
304
+ viewValue: viewValue,
305
305
  isInner: isPointerInner,
306
306
  hasSelected: hasSelected
307
307
  })]
308
308
  }), /*#__PURE__*/_jsx(ClockWrapper, {
309
309
  "aria-activedescendant": selectedId,
310
- "aria-label": getClockLabelText(type, date, utils),
310
+ "aria-label": localeText.clockLabelText(type, value, utils),
311
311
  ref: listboxRef,
312
312
  role: "listbox",
313
313
  onKeyDown: handleKeyDown,
@@ -3,7 +3,7 @@ import { MuiPickersAdapter } from '../internals/models';
3
3
  import { PickerSelectionState } from '../internals/hooks/usePickerState';
4
4
  interface GetHourNumbersOptions<TDate> {
5
5
  ampm: boolean;
6
- date: TDate;
6
+ value: TDate | null;
7
7
  getClockNumberText: (hour: string) => string;
8
8
  isDisabled: (value: number) => boolean;
9
9
  onChange: (value: number, isFinish?: PickerSelectionState) => void;
@@ -17,8 +17,8 @@ interface GetHourNumbersOptions<TDate> {
17
17
  /**
18
18
  * @ignore - internal component.
19
19
  */
20
- export declare const getHourNumbers: <TDate extends unknown>({ ampm, date, getClockNumberText, isDisabled, selectedId, utils, }: GetHourNumbersOptions<TDate>) => JSX.Element[];
21
- export declare const getMinutesNumbers: <TDate extends unknown>({ utils, value, isDisabled, getClockNumberText, selectedId, }: Omit<GetHourNumbersOptions<TDate>, "date" | "ampm"> & {
20
+ export declare const getHourNumbers: <TDate extends unknown>({ ampm, value, getClockNumberText, isDisabled, selectedId, utils, }: GetHourNumbersOptions<TDate>) => JSX.Element[];
21
+ export declare const getMinutesNumbers: <TDate extends unknown>({ utils, value, isDisabled, getClockNumberText, selectedId, }: Omit<GetHourNumbersOptions<TDate>, "value" | "ampm"> & {
22
22
  value: number;
23
23
  }) => JSX.Element[];
24
24
  export {};
@@ -7,13 +7,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
7
  */
8
8
  export const getHourNumbers = ({
9
9
  ampm,
10
- date,
10
+ value,
11
11
  getClockNumberText,
12
12
  isDisabled,
13
13
  selectedId,
14
14
  utils
15
15
  }) => {
16
- const currentHours = date ? utils.getHours(date) : null;
16
+ const currentHours = value ? utils.getHours(value) : null;
17
17
  const hourNumbers = [];
18
18
  const startHour = ampm ? 1 : 0;
19
19
  const endHour = ampm ? 12 : 23;
@@ -1,8 +1,10 @@
1
1
  import * as React from 'react';
2
+ import { Theme } from '@mui/material/styles';
3
+ import { SxProps } from '@mui/system';
2
4
  import { PickersArrowSwitcherSlotsComponent, PickersArrowSwitcherSlotsComponentsProps } from '../internals/components/PickersArrowSwitcher';
3
5
  import { PickerOnChangeFn } from '../internals/hooks/useViews';
4
6
  import { ExportedTimeValidationProps } from '../internals/hooks/validation/useTimeValidation';
5
- import { ClockPickerView, MuiPickersAdapter } from '../internals/models';
7
+ import { ClockPickerView } from '../internals/models';
6
8
  import { ClockPickerClasses } from './clockPickerClasses';
7
9
  export interface ExportedClockPickerProps<TDate> extends ExportedTimeValidationProps<TDate> {
8
10
  /**
@@ -15,33 +17,17 @@ export interface ExportedClockPickerProps<TDate> extends ExportedTimeValidationP
15
17
  * @default false
16
18
  */
17
19
  ampmInClock?: boolean;
18
- /**
19
- * Accessible text that helps user to understand which time and view is selected.
20
- * @template TDate
21
- * @param {ClockPickerView} view The current view rendered.
22
- * @param {TDate | null} time The current time.
23
- * @param {MuiPickersAdapter<TDate>} adapter The current date adapter.
24
- * @returns {string} The clock label.
25
- * @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
26
- * @default <TDate extends any>(
27
- * view: ClockView,
28
- * time: TDate | null,
29
- * adapter: MuiPickersAdapter<TDate>,
30
- * ) =>
31
- * `Select ${view}. ${
32
- * time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`
33
- * }`
34
- */
35
- getClockLabelText?: (view: ClockPickerView, time: TDate | null, adapter: MuiPickersAdapter<TDate>) => string;
36
20
  }
37
21
  export interface ClockPickerSlotsComponent extends PickersArrowSwitcherSlotsComponent {
38
22
  }
39
- export interface ClockPickerComponentsPropsOverrides {
40
- }
41
23
  export interface ClockPickerSlotsComponentsProps extends PickersArrowSwitcherSlotsComponentsProps {
42
24
  }
43
25
  export interface ClockPickerProps<TDate> extends ExportedClockPickerProps<TDate> {
44
26
  className?: string;
27
+ /**
28
+ * The system prop that allows defining system overrides as well as additional CSS styles.
29
+ */
30
+ sx?: SxProps<Theme>;
45
31
  /**
46
32
  * Set to `true` if focus should be moved to clock picker.
47
33
  */
@@ -63,47 +49,11 @@ export interface ClockPickerProps<TDate> extends ExportedClockPickerProps<TDate>
63
49
  /**
64
50
  * Selected date @DateIOType.
65
51
  */
66
- date: TDate | null;
67
- /**
68
- * Get clock number aria-text for hours.
69
- * @param {string} hours The hours to format.
70
- * @returns {string} the formatted hours text.
71
- * @default (hours: string) => `${hours} hours`
72
- * @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
73
- */
74
- getHoursClockNumberText?: (hours: string) => string;
75
- /**
76
- * Get clock number aria-text for minutes.
77
- * @param {string} minutes The minutes to format.
78
- * @returns {string} the formatted minutes text.
79
- * @default (minutes: string) => `${minutes} minutes`
80
- * @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
81
- */
82
- getMinutesClockNumberText?: (minutes: string) => string;
83
- /**
84
- * Get clock number aria-text for seconds.
85
- * @param {string} seconds The seconds to format.
86
- * @returns {string} the formatted seconds text.
87
- * @default (seconds: string) => `${seconds} seconds`
88
- * @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
89
- */
90
- getSecondsClockNumberText?: (seconds: string) => string;
91
- /**
92
- * Left arrow icon aria-label text.
93
- * @default 'open previous view'
94
- * @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
95
- */
96
- leftArrowButtonText?: string;
52
+ value: TDate | null;
97
53
  /**
98
54
  * On change callback @DateIOType.
99
55
  */
100
56
  onChange: PickerOnChangeFn<TDate>;
101
- /**
102
- * Right arrow icon aria-label text.
103
- * @default 'open next view'
104
- * @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
105
- */
106
- rightArrowButtonText?: string;
107
57
  showViewSwitcher?: boolean;
108
58
  /**
109
59
  * Controlled open view.