@mui/x-date-pickers 7.0.0-beta.0 → 7.0.0-beta.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 (283) hide show
  1. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +5 -0
  2. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +5 -0
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +0 -1
  4. package/AdapterDayjs/AdapterDayjs.d.ts +5 -0
  5. package/AdapterDayjs/AdapterDayjs.js +0 -1
  6. package/AdapterLuxon/AdapterLuxon.d.ts +5 -0
  7. package/AdapterLuxon/AdapterLuxon.js +1 -2
  8. package/AdapterMoment/AdapterMoment.d.ts +5 -0
  9. package/AdapterMoment/AdapterMoment.js +0 -1
  10. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +5 -0
  11. package/AdapterMomentHijri/AdapterMomentHijri.js +0 -1
  12. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +5 -0
  13. package/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -1
  14. package/CHANGELOG.md +406 -1
  15. package/DateCalendar/DateCalendar.d.ts +2 -1
  16. package/DateCalendar/DateCalendar.js +5 -5
  17. package/DateCalendar/DateCalendar.types.d.ts +6 -6
  18. package/DateCalendar/DayCalendar.d.ts +6 -6
  19. package/DateCalendar/useCalendarState.d.ts +7 -7
  20. package/DateCalendar/useIsDateDisabled.d.ts +2 -1
  21. package/DateField/DateField.d.ts +2 -1
  22. package/DateField/DateField.js +5 -5
  23. package/DateField/DateField.types.d.ts +7 -7
  24. package/DateField/useDateField.d.ts +2 -1
  25. package/DatePicker/DatePicker.d.ts +2 -1
  26. package/DatePicker/DatePicker.js +5 -5
  27. package/DatePicker/DatePicker.types.d.ts +4 -3
  28. package/DatePicker/DatePickerToolbar.d.ts +3 -3
  29. package/DatePicker/DatePickerToolbar.js +1 -1
  30. package/DatePicker/shared.d.ts +6 -6
  31. package/DateTimeField/DateTimeField.d.ts +2 -1
  32. package/DateTimeField/DateTimeField.js +9 -9
  33. package/DateTimeField/DateTimeField.types.d.ts +7 -7
  34. package/DateTimeField/useDateTimeField.d.ts +2 -1
  35. package/DateTimePicker/DateTimePicker.d.ts +2 -1
  36. package/DateTimePicker/DateTimePicker.js +9 -9
  37. package/DateTimePicker/DateTimePicker.types.d.ts +4 -3
  38. package/DateTimePicker/DateTimePickerToolbar.d.ts +3 -2
  39. package/DateTimePicker/DateTimePickerToolbar.js +1 -1
  40. package/DateTimePicker/shared.d.ts +6 -6
  41. package/DesktopDatePicker/DesktopDatePicker.d.ts +2 -1
  42. package/DesktopDatePicker/DesktopDatePicker.js +5 -5
  43. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +4 -4
  44. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +2 -1
  45. package/DesktopDateTimePicker/DesktopDateTimePicker.js +9 -9
  46. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -4
  47. package/DesktopTimePicker/DesktopTimePicker.d.ts +2 -1
  48. package/DesktopTimePicker/DesktopTimePicker.js +5 -5
  49. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +4 -4
  50. package/DigitalClock/DigitalClock.d.ts +2 -1
  51. package/DigitalClock/DigitalClock.js +5 -5
  52. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  53. package/LocalizationProvider/LocalizationProvider.d.ts +5 -5
  54. package/MobileDatePicker/MobileDatePicker.d.ts +2 -1
  55. package/MobileDatePicker/MobileDatePicker.js +5 -5
  56. package/MobileDatePicker/MobileDatePicker.types.d.ts +4 -4
  57. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +2 -1
  58. package/MobileDateTimePicker/MobileDateTimePicker.js +9 -9
  59. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
  60. package/MobileTimePicker/MobileTimePicker.d.ts +2 -1
  61. package/MobileTimePicker/MobileTimePicker.js +5 -5
  62. package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
  63. package/MonthCalendar/MonthCalendar.d.ts +3 -2
  64. package/MonthCalendar/MonthCalendar.js +5 -5
  65. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  66. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +2 -1
  67. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  68. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +4 -3
  69. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +5 -5
  70. package/PickersCalendarHeader/PickersCalendarHeader.d.ts +2 -1
  71. package/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  72. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +6 -6
  73. package/PickersDay/PickersDay.d.ts +3 -2
  74. package/PickersDay/PickersDay.js +1 -1
  75. package/PickersLayout/PickersLayout.d.ts +2 -1
  76. package/PickersLayout/PickersLayout.types.d.ts +7 -6
  77. package/PickersLayout/usePickerLayout.d.ts +2 -1
  78. package/StaticDatePicker/StaticDatePicker.d.ts +2 -1
  79. package/StaticDatePicker/StaticDatePicker.js +5 -5
  80. package/StaticDatePicker/StaticDatePicker.types.d.ts +4 -4
  81. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +2 -1
  82. package/StaticDateTimePicker/StaticDateTimePicker.js +9 -9
  83. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +4 -4
  84. package/StaticTimePicker/StaticTimePicker.d.ts +2 -1
  85. package/StaticTimePicker/StaticTimePicker.js +5 -5
  86. package/StaticTimePicker/StaticTimePicker.types.d.ts +4 -4
  87. package/TimeClock/Clock.d.ts +3 -3
  88. package/TimeClock/ClockNumbers.d.ts +4 -4
  89. package/TimeClock/TimeClock.d.ts +2 -1
  90. package/TimeClock/TimeClock.js +5 -5
  91. package/TimeClock/TimeClock.types.d.ts +3 -3
  92. package/TimeField/TimeField.d.ts +2 -1
  93. package/TimeField/TimeField.js +5 -5
  94. package/TimeField/TimeField.types.d.ts +7 -7
  95. package/TimeField/useTimeField.d.ts +2 -1
  96. package/TimePicker/TimePicker.d.ts +2 -1
  97. package/TimePicker/TimePicker.js +5 -5
  98. package/TimePicker/TimePicker.types.d.ts +4 -3
  99. package/TimePicker/TimePickerToolbar.d.ts +3 -2
  100. package/TimePicker/TimePickerToolbar.js +1 -1
  101. package/TimePicker/shared.d.ts +5 -5
  102. package/TimePicker/timePickerToolbarClasses.d.ts +8 -0
  103. package/YearCalendar/YearCalendar.d.ts +2 -1
  104. package/YearCalendar/YearCalendar.js +5 -5
  105. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  106. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +3 -2
  107. package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
  108. package/index.js +1 -1
  109. package/internals/hooks/date-helpers-hooks.d.ts +5 -5
  110. package/internals/hooks/useClockReferenceDate.d.ts +3 -3
  111. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -1
  112. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -7
  113. package/internals/hooks/useField/useField.d.ts +2 -2
  114. package/internals/hooks/useField/useField.types.d.ts +7 -7
  115. package/internals/hooks/useField/useField.utils.d.ts +13 -13
  116. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +3 -3
  117. package/internals/hooks/useField/useFieldState.d.ts +2 -2
  118. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -1
  119. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
  120. package/internals/hooks/usePicker/usePicker.d.ts +2 -2
  121. package/internals/hooks/usePicker/usePicker.types.d.ts +4 -4
  122. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  123. package/internals/hooks/usePicker/usePickerValue.types.d.ts +5 -5
  124. package/internals/hooks/usePicker/usePickerViews.d.ts +5 -5
  125. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -1
  126. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
  127. package/internals/hooks/useUtils.d.ts +6 -6
  128. package/internals/hooks/useValidation.d.ts +3 -2
  129. package/internals/hooks/useValueWithTimezone.d.ts +3 -3
  130. package/internals/hooks/useViews.d.ts +2 -1
  131. package/internals/models/fields.d.ts +2 -2
  132. package/internals/models/props/basePickerProps.d.ts +3 -2
  133. package/internals/models/props/clock.d.ts +4 -4
  134. package/internals/models/validation.d.ts +7 -7
  135. package/internals/utils/date-time-utils.d.ts +5 -5
  136. package/internals/utils/date-utils.d.ts +12 -12
  137. package/internals/utils/getDefaultReferenceDate.d.ts +3 -3
  138. package/internals/utils/time-utils.d.ts +6 -6
  139. package/internals/utils/validation/validateDate.d.ts +2 -2
  140. package/internals/utils/validation/validateDateTime.d.ts +2 -2
  141. package/internals/utils/validation/validateTime.d.ts +2 -2
  142. package/internals/utils/valueManagers.d.ts +2 -2
  143. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +0 -1
  144. package/legacy/AdapterDayjs/AdapterDayjs.js +0 -1
  145. package/legacy/AdapterLuxon/AdapterLuxon.js +1 -2
  146. package/legacy/AdapterMoment/AdapterMoment.js +0 -1
  147. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +0 -1
  148. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -1
  149. package/legacy/DateCalendar/DateCalendar.js +5 -5
  150. package/legacy/DateField/DateField.js +5 -5
  151. package/legacy/DatePicker/DatePicker.js +5 -5
  152. package/legacy/DatePicker/DatePickerToolbar.js +1 -1
  153. package/legacy/DateTimeField/DateTimeField.js +9 -9
  154. package/legacy/DateTimePicker/DateTimePicker.js +9 -9
  155. package/legacy/DateTimePicker/DateTimePickerToolbar.js +1 -1
  156. package/legacy/DesktopDatePicker/DesktopDatePicker.js +5 -5
  157. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +9 -9
  158. package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -5
  159. package/legacy/DigitalClock/DigitalClock.js +5 -5
  160. package/legacy/MobileDatePicker/MobileDatePicker.js +5 -5
  161. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +9 -9
  162. package/legacy/MobileTimePicker/MobileTimePicker.js +5 -5
  163. package/legacy/MonthCalendar/MonthCalendar.js +5 -5
  164. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  165. package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  166. package/legacy/PickersDay/PickersDay.js +1 -1
  167. package/legacy/StaticDatePicker/StaticDatePicker.js +5 -5
  168. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +9 -9
  169. package/legacy/StaticTimePicker/StaticTimePicker.js +5 -5
  170. package/legacy/TimeClock/TimeClock.js +5 -5
  171. package/legacy/TimeField/TimeField.js +5 -5
  172. package/legacy/TimePicker/TimePicker.js +5 -5
  173. package/legacy/TimePicker/TimePickerToolbar.js +1 -1
  174. package/legacy/YearCalendar/YearCalendar.js +5 -5
  175. package/legacy/index.js +1 -1
  176. package/locales/beBY.d.ts +6 -6
  177. package/locales/caES.d.ts +6 -6
  178. package/locales/csCZ.d.ts +6 -6
  179. package/locales/daDK.d.ts +6 -6
  180. package/locales/deDE.d.ts +6 -6
  181. package/locales/elGR.d.ts +6 -6
  182. package/locales/enUS.d.ts +6 -6
  183. package/locales/esES.d.ts +6 -6
  184. package/locales/eu.d.ts +6 -6
  185. package/locales/faIR.d.ts +6 -6
  186. package/locales/fiFI.d.ts +6 -6
  187. package/locales/frFR.d.ts +6 -6
  188. package/locales/heIL.d.ts +6 -6
  189. package/locales/huHU.d.ts +6 -6
  190. package/locales/isIS.d.ts +6 -6
  191. package/locales/itIT.d.ts +6 -6
  192. package/locales/jaJP.d.ts +6 -6
  193. package/locales/koKR.d.ts +6 -6
  194. package/locales/kzKZ.d.ts +6 -6
  195. package/locales/mk.d.ts +6 -6
  196. package/locales/nbNO.d.ts +6 -6
  197. package/locales/nlNL.d.ts +6 -6
  198. package/locales/plPL.d.ts +6 -6
  199. package/locales/ptBR.d.ts +6 -6
  200. package/locales/roRO.d.ts +6 -6
  201. package/locales/ruRU.d.ts +6 -6
  202. package/locales/skSK.d.ts +6 -6
  203. package/locales/svSE.d.ts +6 -6
  204. package/locales/trTR.d.ts +6 -6
  205. package/locales/ukUA.d.ts +6 -6
  206. package/locales/urPK.d.ts +6 -6
  207. package/locales/utils/getPickersLocalization.d.ts +6 -6
  208. package/locales/utils/pickersLocaleTextApi.d.ts +6 -6
  209. package/locales/viVN.d.ts +6 -6
  210. package/locales/zhCN.d.ts +6 -6
  211. package/locales/zhHK.d.ts +6 -6
  212. package/models/adapters.d.ts +2 -1
  213. package/models/fields.d.ts +3 -2
  214. package/models/pickers.d.ts +3 -0
  215. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +0 -1
  216. package/modern/AdapterDayjs/AdapterDayjs.js +0 -1
  217. package/modern/AdapterLuxon/AdapterLuxon.js +1 -2
  218. package/modern/AdapterMoment/AdapterMoment.js +0 -1
  219. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +0 -1
  220. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -1
  221. package/modern/DateCalendar/DateCalendar.js +5 -5
  222. package/modern/DateField/DateField.js +5 -5
  223. package/modern/DatePicker/DatePicker.js +5 -5
  224. package/modern/DatePicker/DatePickerToolbar.js +1 -1
  225. package/modern/DateTimeField/DateTimeField.js +9 -9
  226. package/modern/DateTimePicker/DateTimePicker.js +9 -9
  227. package/modern/DateTimePicker/DateTimePickerToolbar.js +1 -1
  228. package/modern/DesktopDatePicker/DesktopDatePicker.js +5 -5
  229. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +9 -9
  230. package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -5
  231. package/modern/DigitalClock/DigitalClock.js +5 -5
  232. package/modern/MobileDatePicker/MobileDatePicker.js +5 -5
  233. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +9 -9
  234. package/modern/MobileTimePicker/MobileTimePicker.js +5 -5
  235. package/modern/MonthCalendar/MonthCalendar.js +5 -5
  236. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  237. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  238. package/modern/PickersDay/PickersDay.js +1 -1
  239. package/modern/StaticDatePicker/StaticDatePicker.js +5 -5
  240. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +9 -9
  241. package/modern/StaticTimePicker/StaticTimePicker.js +5 -5
  242. package/modern/TimeClock/TimeClock.js +5 -5
  243. package/modern/TimeField/TimeField.js +5 -5
  244. package/modern/TimePicker/TimePicker.js +5 -5
  245. package/modern/TimePicker/TimePickerToolbar.js +1 -1
  246. package/modern/YearCalendar/YearCalendar.js +5 -5
  247. package/modern/index.js +1 -1
  248. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +0 -1
  249. package/node/AdapterDayjs/AdapterDayjs.js +0 -1
  250. package/node/AdapterLuxon/AdapterLuxon.js +1 -2
  251. package/node/AdapterMoment/AdapterMoment.js +0 -1
  252. package/node/AdapterMomentHijri/AdapterMomentHijri.js +0 -1
  253. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -1
  254. package/node/DateCalendar/DateCalendar.js +5 -5
  255. package/node/DateField/DateField.js +5 -5
  256. package/node/DatePicker/DatePicker.js +5 -5
  257. package/node/DatePicker/DatePickerToolbar.js +1 -1
  258. package/node/DateTimeField/DateTimeField.js +9 -9
  259. package/node/DateTimePicker/DateTimePicker.js +9 -9
  260. package/node/DateTimePicker/DateTimePickerToolbar.js +1 -1
  261. package/node/DesktopDatePicker/DesktopDatePicker.js +5 -5
  262. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +9 -9
  263. package/node/DesktopTimePicker/DesktopTimePicker.js +5 -5
  264. package/node/DigitalClock/DigitalClock.js +5 -5
  265. package/node/MobileDatePicker/MobileDatePicker.js +5 -5
  266. package/node/MobileDateTimePicker/MobileDateTimePicker.js +9 -9
  267. package/node/MobileTimePicker/MobileTimePicker.js +5 -5
  268. package/node/MonthCalendar/MonthCalendar.js +5 -5
  269. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  270. package/node/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  271. package/node/PickersDay/PickersDay.js +1 -1
  272. package/node/StaticDatePicker/StaticDatePicker.js +5 -5
  273. package/node/StaticDateTimePicker/StaticDateTimePicker.js +9 -9
  274. package/node/StaticTimePicker/StaticTimePicker.js +5 -5
  275. package/node/TimeClock/TimeClock.js +5 -5
  276. package/node/TimeField/TimeField.js +5 -5
  277. package/node/TimePicker/TimePicker.js +5 -5
  278. package/node/TimePicker/TimePickerToolbar.js +1 -1
  279. package/node/YearCalendar/YearCalendar.js +5 -5
  280. package/node/index.js +1 -1
  281. package/package.json +5 -5
  282. package/themeAugmentation/props.d.ts +31 -31
  283. package/timeViewRenderers/timeViewRenderers.d.ts +4 -4
@@ -341,7 +341,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
341
341
  * The default selected value.
342
342
  * Used when the component is not controlled.
343
343
  */
344
- defaultValue: PropTypes.any,
344
+ defaultValue: PropTypes.object,
345
345
  /**
346
346
  * If `true`, the picker views and text field are disabled.
347
347
  * @default false
@@ -370,12 +370,12 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
370
370
  * Maximal selectable time.
371
371
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
372
372
  */
373
- maxTime: PropTypes.any,
373
+ maxTime: PropTypes.object,
374
374
  /**
375
375
  * Minimal selectable time.
376
376
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
377
377
  */
378
- minTime: PropTypes.any,
378
+ minTime: PropTypes.object,
379
379
  /**
380
380
  * Step over minutes.
381
381
  * @default 1
@@ -418,7 +418,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
418
418
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
419
419
  * @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.
420
420
  */
421
- referenceDate: PropTypes.any,
421
+ referenceDate: PropTypes.object,
422
422
  /**
423
423
  * Disable specific time.
424
424
  * @template TDate
@@ -454,7 +454,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
454
454
  * The selected value.
455
455
  * Used when the component is controlled.
456
456
  */
457
- value: PropTypes.any,
457
+ value: PropTypes.object,
458
458
  /**
459
459
  * The visible view.
460
460
  * Used when the component view is controlled.
@@ -1,9 +1,9 @@
1
1
  import { TimeClockClasses } from './timeClockClasses';
2
2
  import { PickersArrowSwitcherSlots, PickersArrowSwitcherSlotProps } from '../internals/components/PickersArrowSwitcher';
3
3
  import { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/clock';
4
- import { TimeView } from '../models';
4
+ import { PickerValidDate, TimeView } from '../models';
5
5
  import { TimeViewWithMeridiem } from '../internals/models';
6
- export interface ExportedTimeClockProps<TDate> extends ExportedBaseClockProps<TDate> {
6
+ export interface ExportedTimeClockProps<TDate extends PickerValidDate> extends ExportedBaseClockProps<TDate> {
7
7
  /**
8
8
  * Display ampm controls under the clock (instead of in the toolbar).
9
9
  * @default false
@@ -14,7 +14,7 @@ export interface TimeClockSlots extends PickersArrowSwitcherSlots {
14
14
  }
15
15
  export interface TimeClockSlotProps extends PickersArrowSwitcherSlotProps {
16
16
  }
17
- export interface TimeClockProps<TDate, TView extends TimeViewWithMeridiem = TimeView> extends ExportedTimeClockProps<TDate>, BaseClockProps<TDate, TView> {
17
+ export interface TimeClockProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem = TimeView> extends ExportedTimeClockProps<TDate>, BaseClockProps<TDate, TView> {
18
18
  /**
19
19
  * Available views.
20
20
  * @default ['hours', 'minutes']
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { TimeFieldProps } from './TimeField.types';
3
- type TimeFieldComponent = (<TDate>(props: TimeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ import { PickerValidDate } from '../models';
4
+ type TimeFieldComponent = (<TDate extends PickerValidDate>(props: TimeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
5
  propTypes?: any;
5
6
  };
6
7
  /**
@@ -89,7 +89,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
89
89
  /**
90
90
  * The default value. Use when the component is not controlled.
91
91
  */
92
- defaultValue: PropTypes.any,
92
+ defaultValue: PropTypes.object,
93
93
  /**
94
94
  * If `true`, the component is disabled.
95
95
  * @default false
@@ -182,12 +182,12 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
182
182
  * Maximal selectable time.
183
183
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
184
184
  */
185
- maxTime: PropTypes.any,
185
+ maxTime: PropTypes.object,
186
186
  /**
187
187
  * Minimal selectable time.
188
188
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
189
189
  */
190
- minTime: PropTypes.any,
190
+ minTime: PropTypes.object,
191
191
  /**
192
192
  * Step over minutes.
193
193
  * @default 1
@@ -235,7 +235,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
235
235
  * For example, on time fields it will be used to determine the date to set.
236
236
  * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
237
237
  */
238
- referenceDate: PropTypes.any,
238
+ referenceDate: PropTypes.object,
239
239
  /**
240
240
  * If `true`, the label is displayed as required and the `input` element is required.
241
241
  * @default false
@@ -312,7 +312,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
312
312
  * The selected value.
313
313
  * Used when the component is controlled.
314
314
  */
315
- value: PropTypes.any,
315
+ value: PropTypes.object,
316
316
  /**
317
317
  * The variant to use.
318
318
  * @default 'outlined'
@@ -5,18 +5,18 @@ import { UseFieldInternalProps } from '../internals/hooks/useField';
5
5
  import { DefaultizedProps, MakeOptional } from '../internals/models/helpers';
6
6
  import { BaseTimeValidationProps, TimeValidationProps } from '../internals/models/validation';
7
7
  import { FieldsTextFieldProps } from '../internals/models/fields';
8
- import { FieldSection, TimeValidationError } from '../models';
8
+ import { FieldSection, PickerValidDate, TimeValidationError } from '../models';
9
9
  import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '../hooks/useClearableField';
10
- export interface UseTimeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<TDate | null, TDate, FieldSection, TimeValidationError>, 'format'>, TimeValidationProps<TDate>, BaseTimeValidationProps {
10
+ export interface UseTimeFieldProps<TDate extends PickerValidDate> extends MakeOptional<UseFieldInternalProps<TDate | null, TDate, FieldSection, TimeValidationError>, 'format'>, TimeValidationProps<TDate>, BaseTimeValidationProps {
11
11
  /**
12
12
  * 12h/24h view for hour selection clock.
13
13
  * @default `utils.is12HourCycleInCurrentLocale()`
14
14
  */
15
15
  ampm?: boolean;
16
16
  }
17
- export type UseTimeFieldDefaultizedProps<TDate> = DefaultizedProps<UseTimeFieldProps<TDate>, keyof BaseTimeValidationProps | 'format'>;
18
- export type UseTimeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseTimeFieldProps<TDate>> & UseTimeFieldProps<TDate>;
19
- export interface TimeFieldProps<TDate> extends UseTimeFieldComponentProps<TDate, FieldsTextFieldProps> {
17
+ export type UseTimeFieldDefaultizedProps<TDate extends PickerValidDate> = DefaultizedProps<UseTimeFieldProps<TDate>, keyof BaseTimeValidationProps | 'format'>;
18
+ export type UseTimeFieldComponentProps<TDate extends PickerValidDate, TChildProps extends {}> = Omit<TChildProps, keyof UseTimeFieldProps<TDate>> & UseTimeFieldProps<TDate>;
19
+ export interface TimeFieldProps<TDate extends PickerValidDate> extends UseTimeFieldComponentProps<TDate, FieldsTextFieldProps> {
20
20
  /**
21
21
  * Overridable component slots.
22
22
  * @default {}
@@ -28,7 +28,7 @@ export interface TimeFieldProps<TDate> extends UseTimeFieldComponentProps<TDate,
28
28
  */
29
29
  slotProps?: TimeFieldSlotProps<TDate>;
30
30
  }
31
- export type TimeFieldOwnerState<TDate> = TimeFieldProps<TDate>;
31
+ export type TimeFieldOwnerState<TDate extends PickerValidDate> = TimeFieldProps<TDate>;
32
32
  export interface TimeFieldSlots extends UseClearableFieldSlots {
33
33
  /**
34
34
  * Form control with an input to render the value.
@@ -37,6 +37,6 @@ export interface TimeFieldSlots extends UseClearableFieldSlots {
37
37
  */
38
38
  textField?: React.ElementType;
39
39
  }
40
- export interface TimeFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
40
+ export interface TimeFieldSlotProps<TDate extends PickerValidDate> extends UseClearableFieldSlotProps {
41
41
  textField?: SlotComponentProps<typeof TextField, {}, TimeFieldOwnerState<TDate>>;
42
42
  }
@@ -1,2 +1,3 @@
1
1
  import { UseTimeFieldProps, UseTimeFieldComponentProps } from './TimeField.types';
2
- export declare const useTimeField: <TDate, TChildProps extends {}>(inProps: UseTimeFieldComponentProps<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseTimeFieldProps<TDate>, "format" | keyof import("../internals").BaseTimeValidationProps> & Required<Pick<UseTimeFieldProps<TDate>, "format" | keyof import("../internals").BaseTimeValidationProps>>, keyof UseTimeFieldProps<any>>>;
2
+ import { PickerValidDate } from '../models';
3
+ export declare const useTimeField: <TDate extends PickerValidDate, TChildProps extends {}>(inProps: UseTimeFieldComponentProps<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseTimeFieldProps<TDate>, "format" | keyof import("../internals").BaseTimeValidationProps> & Required<Pick<UseTimeFieldProps<TDate>, "format" | keyof import("../internals").BaseTimeValidationProps>>, keyof UseTimeFieldProps<any>>>;
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { TimePickerProps } from './TimePicker.types';
3
- type TimePickerComponent = (<TDate>(props: TimePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ import { PickerValidDate } from '../models';
4
+ type TimePickerComponent = (<TDate extends PickerValidDate>(props: TimePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
5
  propTypes?: any;
5
6
  };
6
7
  /**
@@ -75,7 +75,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
75
75
  * The default value.
76
76
  * Used when the component is not controlled.
77
77
  */
78
- defaultValue: PropTypes.any,
78
+ defaultValue: PropTypes.object,
79
79
  /**
80
80
  * CSS media query when `Mobile` mode will be changed to `Desktop`.
81
81
  * @default '@media (pointer: fine)'
@@ -135,12 +135,12 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
135
135
  * Maximal selectable time.
136
136
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
137
137
  */
138
- maxTime: PropTypes.any,
138
+ maxTime: PropTypes.object,
139
139
  /**
140
140
  * Minimal selectable time.
141
141
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
142
142
  */
143
- minTime: PropTypes.any,
143
+ minTime: PropTypes.object,
144
144
  /**
145
145
  * Step over minutes.
146
146
  * @default 1
@@ -220,7 +220,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
220
220
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
221
221
  * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
222
222
  */
223
- referenceDate: PropTypes.any,
223
+ referenceDate: PropTypes.object,
224
224
  /**
225
225
  * The currently selected sections.
226
226
  * This prop accept four formats:
@@ -289,7 +289,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
289
289
  * The selected value.
290
290
  * Used when the component is controlled.
291
291
  */
292
- value: PropTypes.any,
292
+ value: PropTypes.object,
293
293
  /**
294
294
  * The visible view.
295
295
  * Used when the component view is controlled.
@@ -1,11 +1,12 @@
1
1
  import { DesktopTimePickerProps, DesktopTimePickerSlots, DesktopTimePickerSlotProps } from '../DesktopTimePicker';
2
2
  import { TimeViewWithMeridiem } from '../internals/models';
3
3
  import { MobileTimePickerProps, MobileTimePickerSlots, MobileTimePickerSlotProps } from '../MobileTimePicker';
4
- export interface TimePickerSlots<TDate> extends DesktopTimePickerSlots<TDate>, MobileTimePickerSlots<TDate, TimeViewWithMeridiem> {
4
+ import { PickerValidDate } from '../models';
5
+ export interface TimePickerSlots<TDate extends PickerValidDate> extends DesktopTimePickerSlots<TDate>, MobileTimePickerSlots<TDate, TimeViewWithMeridiem> {
5
6
  }
6
- export interface TimePickerSlotProps<TDate> extends DesktopTimePickerSlotProps<TDate>, MobileTimePickerSlotProps<TDate, TimeViewWithMeridiem> {
7
+ export interface TimePickerSlotProps<TDate extends PickerValidDate> extends DesktopTimePickerSlotProps<TDate>, MobileTimePickerSlotProps<TDate, TimeViewWithMeridiem> {
7
8
  }
8
- export interface TimePickerProps<TDate> extends DesktopTimePickerProps<TDate>, Omit<MobileTimePickerProps<TDate, TimeViewWithMeridiem>, 'views'> {
9
+ export interface TimePickerProps<TDate extends PickerValidDate> extends DesktopTimePickerProps<TDate>, Omit<MobileTimePickerProps<TDate, TimeViewWithMeridiem>, 'views'> {
9
10
  /**
10
11
  * CSS media query when `Mobile` mode will be changed to `Desktop`.
11
12
  * @default '@media (pointer: fine)'
@@ -2,7 +2,8 @@ import * as React from 'react';
2
2
  import { BaseToolbarProps, ExportedBaseToolbarProps } from '../internals/models/props/toolbar';
3
3
  import { TimePickerToolbarClasses } from './timePickerToolbarClasses';
4
4
  import { TimeViewWithMeridiem } from '../internals/models';
5
- export interface TimePickerToolbarProps<TDate> extends BaseToolbarProps<TDate | null, TimeViewWithMeridiem> {
5
+ import { PickerValidDate } from '../models';
6
+ export interface TimePickerToolbarProps<TDate extends PickerValidDate> extends BaseToolbarProps<TDate | null, TimeViewWithMeridiem> {
6
7
  ampm?: boolean;
7
8
  ampmInClock?: boolean;
8
9
  classes?: Partial<TimePickerToolbarClasses>;
@@ -21,7 +22,7 @@ export interface ExportedTimePickerToolbarProps extends ExportedBaseToolbarProps
21
22
  *
22
23
  * - [TimePickerToolbar API](https://mui.com/x/api/date-pickers/time-picker-toolbar/)
23
24
  */
24
- declare function TimePickerToolbar<TDate extends unknown>(inProps: TimePickerToolbarProps<TDate>): React.JSX.Element;
25
+ declare function TimePickerToolbar<TDate extends PickerValidDate>(inProps: TimePickerToolbarProps<TDate>): React.JSX.Element;
25
26
  declare namespace TimePickerToolbar {
26
27
  var propTypes: any;
27
28
  }
@@ -241,7 +241,7 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
241
241
  * @default "––"
242
242
  */
243
243
  toolbarPlaceholder: PropTypes.node,
244
- value: PropTypes.any,
244
+ value: PropTypes.object,
245
245
  /**
246
246
  * Currently visible picker view.
247
247
  */
@@ -5,12 +5,12 @@ import { BasePickerInputProps } from '../internals/models/props/basePickerProps'
5
5
  import { BaseTimeValidationProps } from '../internals/models/validation';
6
6
  import { LocalizedComponent } from '../locales/utils/pickersLocaleTextApi';
7
7
  import { TimePickerToolbarProps, ExportedTimePickerToolbarProps } from './TimePickerToolbar';
8
- import { TimeValidationError } from '../models';
8
+ import { PickerValidDate, TimeValidationError } from '../models';
9
9
  import { PickerViewRendererLookup } from '../internals/hooks/usePicker/usePickerViews';
10
10
  import { TimeViewRendererProps } from '../timeViewRenderers';
11
11
  import { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/clock';
12
12
  import { TimeViewWithMeridiem } from '../internals/models';
13
- export interface BaseTimePickerSlots<TDate> extends TimeClockSlots {
13
+ export interface BaseTimePickerSlots<TDate extends PickerValidDate> extends TimeClockSlots {
14
14
  /**
15
15
  * Custom component for the toolbar rendered above the views.
16
16
  * @default TimePickerToolbar
@@ -20,7 +20,7 @@ export interface BaseTimePickerSlots<TDate> extends TimeClockSlots {
20
20
  export interface BaseTimePickerSlotProps extends TimeClockSlotProps {
21
21
  toolbar?: ExportedTimePickerToolbarProps;
22
22
  }
23
- export interface BaseTimePickerProps<TDate, TView extends TimeViewWithMeridiem> extends BasePickerInputProps<TDate | null, TDate, TView, TimeValidationError>, ExportedBaseClockProps<TDate> {
23
+ export interface BaseTimePickerProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem> extends BasePickerInputProps<TDate | null, TDate, TView, TimeValidationError>, ExportedBaseClockProps<TDate> {
24
24
  /**
25
25
  * Display ampm controls under the clock (instead of in the toolbar).
26
26
  * @default true on desktop, false on mobile
@@ -43,6 +43,6 @@ export interface BaseTimePickerProps<TDate, TView extends TimeViewWithMeridiem>
43
43
  */
44
44
  viewRenderers?: Partial<PickerViewRendererLookup<TDate | null, TView, TimeViewRendererProps<TView, BaseClockProps<TDate, TView>>, {}>>;
45
45
  }
46
- type UseTimePickerDefaultizedProps<TDate, TView extends TimeViewWithMeridiem, Props extends BaseTimePickerProps<TDate, TView>> = LocalizedComponent<TDate, DefaultizedProps<Props, 'views' | 'openTo' | 'ampm' | keyof BaseTimeValidationProps>>;
47
- export declare function useTimePickerDefaultizedProps<TDate, TView extends TimeViewWithMeridiem, Props extends BaseTimePickerProps<TDate, TView>>(props: Props, name: string): UseTimePickerDefaultizedProps<TDate, TView, Props>;
46
+ type UseTimePickerDefaultizedProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem, Props extends BaseTimePickerProps<TDate, TView>> = LocalizedComponent<TDate, DefaultizedProps<Props, 'views' | 'openTo' | 'ampm' | keyof BaseTimeValidationProps>>;
47
+ export declare function useTimePickerDefaultizedProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem, Props extends BaseTimePickerProps<TDate, TView>>(props: Props, name: string): UseTimePickerDefaultizedProps<TDate, TView, Props>;
48
48
  export {};
@@ -1,11 +1,19 @@
1
1
  export interface TimePickerToolbarClasses {
2
+ /** Styles applied to the root element. */
2
3
  root: string;
4
+ /** Styles applied to the separator element. */
3
5
  separator: string;
6
+ /** Styles applied to the time sections element. */
4
7
  hourMinuteLabel: string;
8
+ /** Styles applied to the time sections element in landscape mode. */
5
9
  hourMinuteLabelLandscape: string;
10
+ /** Styles applied to the time sections element in "rtl" theme mode. */
6
11
  hourMinuteLabelReverse: string;
12
+ /** Styles applied to the meridiem selection element. */
7
13
  ampmSelection: string;
14
+ /** Styles applied to the meridiem selection element in landscape mode. */
8
15
  ampmLandscape: string;
16
+ /** Styles applied to the meridiem label element. */
9
17
  ampmLabel: string;
10
18
  }
11
19
  export type TimePickerToolbarClassKey = keyof TimePickerToolbarClasses;
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { YearCalendarProps } from './YearCalendar.types';
3
- type YearCalendarComponent = (<TDate>(props: YearCalendarProps<TDate>) => React.JSX.Element) & {
3
+ import { PickerValidDate } from '../models';
4
+ type YearCalendarComponent = (<TDate extends PickerValidDate>(props: YearCalendarProps<TDate>) => React.JSX.Element) & {
4
5
  propTypes?: any;
5
6
  };
6
7
  /**
@@ -270,7 +270,7 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
270
270
  * The default selected value.
271
271
  * Used when the component is not controlled.
272
272
  */
273
- defaultValue: PropTypes.any,
273
+ defaultValue: PropTypes.object,
274
274
  /**
275
275
  * If `true` picker is disabled
276
276
  */
@@ -295,11 +295,11 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
295
295
  /**
296
296
  * Maximal selectable date.
297
297
  */
298
- maxDate: PropTypes.any,
298
+ maxDate: PropTypes.object,
299
299
  /**
300
300
  * Minimal selectable date.
301
301
  */
302
- minDate: PropTypes.any,
302
+ minDate: PropTypes.object,
303
303
  /**
304
304
  * Callback fired when the value changes.
305
305
  * @template TDate
@@ -316,7 +316,7 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
316
316
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
317
317
  * @default The closest valid year using the validation props, except callbacks such as `shouldDisableYear`.
318
318
  */
319
- referenceDate: PropTypes.any,
319
+ referenceDate: PropTypes.object,
320
320
  /**
321
321
  * Disable specific year.
322
322
  * @template TDate
@@ -340,7 +340,7 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
340
340
  * The selected value.
341
341
  * Used when the component is controlled.
342
342
  */
343
- value: PropTypes.any,
343
+ value: PropTypes.object,
344
344
  /**
345
345
  * Years rendered per row.
346
346
  * @default 3
@@ -2,7 +2,7 @@ import { SxProps } from '@mui/system';
2
2
  import { Theme } from '@mui/material/styles';
3
3
  import { YearCalendarClasses } from './yearCalendarClasses';
4
4
  import { BaseDateValidationProps, YearValidationProps } from '../internals/models/validation';
5
- import { TimezoneProps } from '../models';
5
+ import { PickerValidDate, TimezoneProps } from '../models';
6
6
  export interface ExportedYearCalendarProps {
7
7
  /**
8
8
  * Years rendered per row.
@@ -10,7 +10,7 @@ export interface ExportedYearCalendarProps {
10
10
  */
11
11
  yearsPerRow?: 3 | 4;
12
12
  }
13
- export interface YearCalendarProps<TDate> extends ExportedYearCalendarProps, YearValidationProps<TDate>, BaseDateValidationProps<TDate>, TimezoneProps {
13
+ export interface YearCalendarProps<TDate extends PickerValidDate> extends ExportedYearCalendarProps, YearValidationProps<TDate>, BaseDateValidationProps<TDate>, TimezoneProps {
14
14
  autoFocus?: boolean;
15
15
  className?: string;
16
16
  /**
@@ -3,7 +3,8 @@ import { DateCalendarProps } from '../DateCalendar';
3
3
  import { DateOrTimeViewWithMeridiem } from '../internals/models';
4
4
  import { MultiSectionDigitalClockProps } from '../MultiSectionDigitalClock';
5
5
  import type { DateTimePickerProps } from '../DateTimePicker/DateTimePicker.types';
6
- export interface DateTimeViewRendererProps<TDate> extends Omit<DateCalendarProps<TDate> & MultiSectionDigitalClockProps<TDate>, 'views' | 'openTo' | 'view' | 'onViewChange' | 'focusedView' | 'slots' | 'slotProps'>, Pick<DateTimePickerProps<TDate>, 'slots' | 'slotProps'> {
6
+ import { PickerValidDate } from '../models';
7
+ export interface DateTimeViewRendererProps<TDate extends PickerValidDate> extends Omit<DateCalendarProps<TDate> & MultiSectionDigitalClockProps<TDate>, 'views' | 'openTo' | 'view' | 'onViewChange' | 'focusedView' | 'slots' | 'slotProps'>, Pick<DateTimePickerProps<TDate>, 'slots' | 'slotProps'> {
7
8
  view: DateOrTimeViewWithMeridiem;
8
9
  onViewChange?: (view: DateOrTimeViewWithMeridiem) => void;
9
10
  views: readonly DateOrTimeViewWithMeridiem[];
@@ -11,4 +12,4 @@ export interface DateTimeViewRendererProps<TDate> extends Omit<DateCalendarProps
11
12
  timeViewsCount: number;
12
13
  shouldRenderTimeInASingleColumn: boolean;
13
14
  }
14
- export declare const renderDesktopDateTimeView: <TDate extends unknown>({ view, onViewChange, views, focusedView, onFocusedViewChange, value, defaultValue, referenceDate, onChange, className, classes, disableFuture, disablePast, minDate, minTime, maxDate, maxTime, shouldDisableDate, shouldDisableMonth, shouldDisableYear, shouldDisableTime, reduceAnimations, minutesStep, ampm, onMonthChange, monthsPerRow, onYearChange, yearsPerRow, slots, slotProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, sx, autoFocus, fixedWeekNumber, displayWeekNumber, timezone, disableIgnoringDatePartForTimeValidation, timeSteps, skipDisabled, timeViewsCount, shouldRenderTimeInASingleColumn, }: DateTimeViewRendererProps<TDate>) => React.JSX.Element;
15
+ export declare const renderDesktopDateTimeView: <TDate extends PickerValidDate>({ view, onViewChange, views, focusedView, onFocusedViewChange, value, defaultValue, referenceDate, onChange, className, classes, disableFuture, disablePast, minDate, minTime, maxDate, maxTime, shouldDisableDate, shouldDisableMonth, shouldDisableYear, shouldDisableTime, reduceAnimations, minutesStep, ampm, onMonthChange, monthsPerRow, onYearChange, yearsPerRow, slots, slotProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, sx, autoFocus, fixedWeekNumber, displayWeekNumber, timezone, disableIgnoringDatePartForTimeValidation, timeSteps, skipDisabled, timeViewsCount, shouldRenderTimeInASingleColumn, }: DateTimeViewRendererProps<TDate>) => React.JSX.Element;
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { DateCalendarProps } from '../DateCalendar';
3
- import { DateView } from '../models';
3
+ import { DateView, PickerValidDate } from '../models';
4
4
  import { DateOrTimeViewWithMeridiem } from '../internals/models';
5
- export interface DateViewRendererProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends Omit<DateCalendarProps<TDate>, 'views' | 'openTo' | 'view' | 'onViewChange' | 'focusedView'> {
5
+ export interface DateViewRendererProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends Omit<DateCalendarProps<TDate>, 'views' | 'openTo' | 'view' | 'onViewChange' | 'focusedView'> {
6
6
  view: TView;
7
7
  onViewChange?: (view: TView) => void;
8
8
  views: readonly TView[];
9
9
  focusedView: TView | null;
10
10
  }
11
- export declare const renderDateViewCalendar: <TDate extends unknown>({ view, onViewChange, views, focusedView, onFocusedViewChange, value, defaultValue, referenceDate, onChange, className, classes, disableFuture, disablePast, minDate, maxDate, shouldDisableDate, shouldDisableMonth, shouldDisableYear, reduceAnimations, onMonthChange, monthsPerRow, onYearChange, yearsPerRow, slots, slotProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, sx, autoFocus, fixedWeekNumber, displayWeekNumber, timezone, }: DateViewRendererProps<TDate, DateView>) => React.JSX.Element;
11
+ export declare const renderDateViewCalendar: <TDate extends PickerValidDate>({ view, onViewChange, views, focusedView, onFocusedViewChange, value, defaultValue, referenceDate, onChange, className, classes, disableFuture, disablePast, minDate, maxDate, shouldDisableDate, shouldDisableMonth, shouldDisableYear, reduceAnimations, onMonthChange, monthsPerRow, onYearChange, yearsPerRow, slots, slotProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, sx, autoFocus, fixedWeekNumber, displayWeekNumber, timezone, }: DateViewRendererProps<TDate, DateView>) => React.JSX.Element;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.0.0-beta.0
2
+ * @mui/x-date-pickers v7.0.0-beta.2
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -1,16 +1,16 @@
1
1
  import { PickerOnChangeFn } from './useViews';
2
2
  import { PickerSelectionState } from './usePicker';
3
- import { PickersTimezone } from '../../models';
4
- export interface MonthValidationOptions<TDate> {
3
+ import { PickersTimezone, PickerValidDate } from '../../models';
4
+ export interface MonthValidationOptions<TDate extends PickerValidDate> {
5
5
  disablePast?: boolean;
6
6
  disableFuture?: boolean;
7
7
  minDate: TDate;
8
8
  maxDate: TDate;
9
9
  timezone: PickersTimezone;
10
10
  }
11
- export declare function useNextMonthDisabled<TDate>(month: TDate, { disableFuture, maxDate, timezone, }: Pick<MonthValidationOptions<TDate>, 'disableFuture' | 'maxDate' | 'timezone'>): boolean;
12
- export declare function usePreviousMonthDisabled<TDate>(month: TDate, { disablePast, minDate, timezone, }: Pick<MonthValidationOptions<TDate>, 'disablePast' | 'minDate' | 'timezone'>): boolean;
13
- export declare function useMeridiemMode<TDate>(date: TDate | null, ampm: boolean | undefined, onChange: PickerOnChangeFn<TDate>, selectionState?: PickerSelectionState): {
11
+ export declare function useNextMonthDisabled<TDate extends PickerValidDate>(month: TDate, { disableFuture, maxDate, timezone, }: Pick<MonthValidationOptions<TDate>, 'disableFuture' | 'maxDate' | 'timezone'>): boolean;
12
+ export declare function usePreviousMonthDisabled<TDate extends PickerValidDate>(month: TDate, { disablePast, minDate, timezone, }: Pick<MonthValidationOptions<TDate>, 'disablePast' | 'minDate' | 'timezone'>): boolean;
13
+ export declare function useMeridiemMode<TDate extends PickerValidDate>(date: TDate | null, ampm: boolean | undefined, onChange: PickerOnChangeFn<TDate>, selectionState?: PickerSelectionState): {
14
14
  meridiemMode: import("../utils/time-utils").Meridiem | null;
15
15
  handleMeridiemChange: (mode: 'am' | 'pm') => void;
16
16
  };
@@ -1,8 +1,8 @@
1
- import { MuiPickersAdapter, PickersTimezone } from '../../models';
2
- export declare const useClockReferenceDate: <TDate, TProps extends {}>({ value, referenceDate: referenceDateProp, utils, props, timezone, }: {
1
+ import { MuiPickersAdapter, PickersTimezone, PickerValidDate } from '../../models';
2
+ export declare const useClockReferenceDate: <TDate extends PickerValidDate, TProps extends {}>({ value, referenceDate: referenceDateProp, utils, props, timezone, }: {
3
3
  value: TDate;
4
4
  referenceDate: TDate | undefined;
5
5
  utils: MuiPickersAdapter<TDate, any>;
6
6
  props: TProps;
7
7
  timezone: PickersTimezone;
8
- }) => any;
8
+ }) => TDate;
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { UseDesktopPickerParams, UseDesktopPickerProps } from './useDesktopPicker.types';
3
+ import { PickerValidDate } from '../../../models';
3
4
  import { DateOrTimeViewWithMeridiem } from '../../models';
4
5
  /**
5
6
  * Hook managing all the single-date desktop pickers:
@@ -7,6 +8,6 @@ import { DateOrTimeViewWithMeridiem } from '../../models';
7
8
  * - DesktopDateTimePicker
8
9
  * - DesktopTimePicker
9
10
  */
10
- export declare const useDesktopPicker: <TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseDesktopPickerProps<TDate, TView, any, TExternalProps>>({ props, getOpenDialogAriaText, ...pickerParams }: UseDesktopPickerParams<TDate, TView, TExternalProps>) => {
11
+ export declare const useDesktopPicker: <TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseDesktopPickerProps<TDate, TView, any, TExternalProps>>({ props, getOpenDialogAriaText, ...pickerParams }: UseDesktopPickerParams<TDate, TView, TExternalProps>) => {
11
12
  renderPicker: () => React.JSX.Element;
12
13
  };
@@ -6,13 +6,13 @@ import { SlotComponentProps } from '@mui/base/utils';
6
6
  import { BaseNonStaticPickerProps, BasePickerProps, BaseNonRangeNonStaticPickerProps } from '../../models/props/basePickerProps';
7
7
  import { PickersPopperSlots, PickersPopperSlotProps } from '../../components/PickersPopper';
8
8
  import { UsePickerParams, UsePickerProps } from '../usePicker';
9
- import { BaseSingleInputFieldProps, FieldSection, MuiPickersAdapter } from '../../../models';
9
+ import { BaseSingleInputFieldProps, FieldSection, MuiPickersAdapter, PickerValidDate } from '../../../models';
10
10
  import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps, PickersLayoutSlotProps } from '../../../PickersLayout/PickersLayout.types';
11
11
  import { UsePickerValueNonStaticProps } from '../usePicker/usePickerValue.types';
12
12
  import { UsePickerViewsNonStaticProps, UsePickerViewsProps } from '../usePicker/usePickerViews';
13
13
  import { DateOrTimeViewWithMeridiem } from '../../models';
14
14
  import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '../../../hooks/useClearableField';
15
- export interface UseDesktopPickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends Pick<PickersPopperSlots, 'desktopPaper' | 'desktopTransition' | 'desktopTrapFocus' | 'popper'>, ExportedPickersLayoutSlots<TDate | null, TDate, TView>, UseClearableFieldSlots {
15
+ export interface UseDesktopPickerSlots<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends Pick<PickersPopperSlots, 'desktopPaper' | 'desktopTransition' | 'desktopTrapFocus' | 'popper'>, ExportedPickersLayoutSlots<TDate | null, TDate, TView>, UseClearableFieldSlots {
16
16
  /**
17
17
  * Component used to enter the date with the keyboard.
18
18
  */
@@ -38,22 +38,22 @@ export interface UseDesktopPickerSlots<TDate, TView extends DateOrTimeViewWithMe
38
38
  */
39
39
  openPickerIcon: React.ElementType;
40
40
  }
41
- export interface UseDesktopPickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedUseDesktopPickerSlotProps<TDate, TView>, Pick<PickersLayoutSlotProps<TDate | null, TDate, TView>, 'toolbar'> {
41
+ export interface UseDesktopPickerSlotProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedUseDesktopPickerSlotProps<TDate, TView>, Pick<PickersLayoutSlotProps<TDate | null, TDate, TView>, 'toolbar'> {
42
42
  }
43
- export interface ExportedUseDesktopPickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlotProps, ExportedPickersLayoutSlotProps<TDate | null, TDate, TView>, UseClearableFieldSlotProps {
43
+ export interface ExportedUseDesktopPickerSlotProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlotProps, ExportedPickersLayoutSlotProps<TDate | null, TDate, TView>, UseClearableFieldSlotProps {
44
44
  field?: SlotComponentProps<React.ElementType<BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, unknown>>, {}, UsePickerProps<TDate | null, TDate, any, FieldSection, any, any, any>>;
45
45
  textField?: SlotComponentProps<typeof TextField, {}, Record<string, any>>;
46
46
  inputAdornment?: Partial<InputAdornmentProps>;
47
47
  openPickerButton?: SlotComponentProps<typeof IconButton, {}, UseDesktopPickerProps<TDate, any, any, any>>;
48
48
  openPickerIcon?: Record<string, any>;
49
49
  }
50
- export interface DesktopOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, BaseNonRangeNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, FieldSection>, UsePickerViewsNonStaticProps {
50
+ export interface DesktopOnlyPickerProps<TDate extends PickerValidDate> extends BaseNonStaticPickerProps, BaseNonRangeNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, FieldSection>, UsePickerViewsNonStaticProps {
51
51
  /**
52
52
  * If `true`, the `input` element is focused during the first mount.
53
53
  */
54
54
  autoFocus?: boolean;
55
55
  }
56
- export interface UseDesktopPickerProps<TDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<any, any, TView, any, any>> extends BasePickerProps<TDate | null, TDate, TView, TError, TExternalProps, {}>, DesktopOnlyPickerProps<TDate> {
56
+ export interface UseDesktopPickerProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<any, any, TView, any, any>> extends BasePickerProps<TDate | null, TDate, TView, TError, TExternalProps, {}>, DesktopOnlyPickerProps<TDate> {
57
57
  /**
58
58
  * Overridable component slots.
59
59
  * @default {}
@@ -65,7 +65,7 @@ export interface UseDesktopPickerProps<TDate, TView extends DateOrTimeViewWithMe
65
65
  */
66
66
  slotProps?: UseDesktopPickerSlotProps<TDate, TView>;
67
67
  }
68
- export interface UseDesktopPickerParams<TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseDesktopPickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<TDate | null, TDate, TView, FieldSection, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
68
+ export interface UseDesktopPickerParams<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseDesktopPickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<TDate | null, TDate, TView, FieldSection, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
69
69
  props: TExternalProps;
70
70
  getOpenDialogAriaText: (date: TDate | null, utils: MuiPickersAdapter<TDate>) => string;
71
71
  }
@@ -1,5 +1,5 @@
1
1
  import { UseFieldParams, UseFieldResponse, UseFieldForwardedProps, UseFieldInternalProps } from './useField.types';
2
- import { FieldSection } from '../../../models';
3
- export declare const useField: <TValue, TDate, TSection extends FieldSection, TForwardedProps extends UseFieldForwardedProps, TInternalProps extends UseFieldInternalProps<any, any, any, any> & {
2
+ import { FieldSection, PickerValidDate } from '../../../models';
3
+ export declare const useField: <TValue, TDate extends PickerValidDate, TSection extends FieldSection, TForwardedProps extends UseFieldForwardedProps, TInternalProps extends UseFieldInternalProps<any, any, any, any> & {
4
4
  minutesStep?: number | undefined;
5
5
  }>(params: UseFieldParams<TValue, TDate, TSection, TForwardedProps, TInternalProps>) => UseFieldResponse<TForwardedProps>;
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
- import { FieldSectionType, FieldSection, FieldSelectedSections, MuiPickersAdapter, TimezoneProps, FieldSectionContentType, FieldValueType, PickersTimezone } from '../../../models';
2
+ import { FieldSectionType, FieldSection, FieldSelectedSections, MuiPickersAdapter, TimezoneProps, FieldSectionContentType, FieldValueType, PickersTimezone, PickerValidDate } from '../../../models';
3
3
  import type { PickerValueManager } from '../usePicker';
4
4
  import { InferError, Validator } from '../useValidation';
5
- export interface UseFieldParams<TValue, TDate, TSection extends FieldSection, TForwardedProps extends UseFieldForwardedProps, TInternalProps extends UseFieldInternalProps<any, any, any, any>> {
5
+ export interface UseFieldParams<TValue, TDate extends PickerValidDate, TSection extends FieldSection, TForwardedProps extends UseFieldForwardedProps, TInternalProps extends UseFieldInternalProps<any, any, any, any>> {
6
6
  forwardedProps: TForwardedProps;
7
7
  internalProps: TInternalProps;
8
8
  valueManager: PickerValueManager<TValue, TDate, InferError<TInternalProps>>;
@@ -10,7 +10,7 @@ export interface UseFieldParams<TValue, TDate, TSection extends FieldSection, TF
10
10
  validator: Validator<TValue, TDate, InferError<TInternalProps>, UseFieldValidationProps<TValue, TInternalProps>>;
11
11
  valueType: FieldValueType;
12
12
  }
13
- export interface UseFieldInternalProps<TValue, TDate, TSection extends FieldSection, TError> extends TimezoneProps {
13
+ export interface UseFieldInternalProps<TValue, TDate extends PickerValidDate, TSection extends FieldSection, TError> extends TimezoneProps {
14
14
  /**
15
15
  * The selected value.
16
16
  * Used when the component is controlled.
@@ -147,13 +147,13 @@ export type UseFieldResponse<TForwardedProps extends UseFieldForwardedProps> = O
147
147
  autoComplete: 'off';
148
148
  };
149
149
  export type FieldSectionWithoutPosition<TSection extends FieldSection = FieldSection> = Omit<TSection, 'start' | 'end' | 'startInInput' | 'endInInput'>;
150
- export type FieldSectionValueBoundaries<TDate, SectionType extends FieldSectionType> = {
150
+ export type FieldSectionValueBoundaries<TDate extends PickerValidDate, SectionType extends FieldSectionType> = {
151
151
  minimum: number;
152
152
  maximum: number;
153
153
  } & (SectionType extends 'day' ? {
154
154
  longestMonth: TDate;
155
155
  } : {});
156
- export type FieldSectionsValueBoundaries<TDate> = {
156
+ export type FieldSectionsValueBoundaries<TDate extends PickerValidDate> = {
157
157
  [SectionType in FieldSectionType]: (params: {
158
158
  currentDate: TDate | null;
159
159
  format: string;
@@ -168,7 +168,7 @@ export interface FieldChangeHandlerContext<TError> {
168
168
  * Object used to access and update the active date (i.e: the date containing the active section).
169
169
  * Mainly useful in the range fields where we need to update the date containing the active section without impacting the other one.
170
170
  */
171
- interface FieldActiveDateManager<TValue, TDate, TSection extends FieldSection> {
171
+ interface FieldActiveDateManager<TValue, TDate extends PickerValidDate, TSection extends FieldSection> {
172
172
  /**
173
173
  * Active date from `state.value`.
174
174
  */
@@ -200,7 +200,7 @@ export type FieldSelectedSectionsIndexes = {
200
200
  */
201
201
  shouldSelectBoundarySelectors: boolean;
202
202
  };
203
- export interface FieldValueManager<TValue, TDate, TSection extends FieldSection> {
203
+ export interface FieldValueManager<TValue, TDate extends PickerValidDate, TSection extends FieldSection> {
204
204
  /**
205
205
  * Creates the section list from the current value.
206
206
  * The `prevSections` are used on the range fields to avoid losing the sections of a partially filled date when editing the other date.