@mui/x-date-pickers-pro 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 (149) hide show
  1. package/CHANGELOG.md +406 -1
  2. package/DateRangeCalendar/DateRangeCalendar.d.ts +2 -1
  3. package/DateRangeCalendar/DateRangeCalendar.js +6 -6
  4. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +7 -7
  5. package/DateRangeCalendar/useDragRange.d.ts +4 -4
  6. package/DateRangePicker/DateRangePicker.d.ts +2 -1
  7. package/DateRangePicker/DateRangePicker.js +5 -5
  8. package/DateRangePicker/DateRangePicker.types.d.ts +4 -3
  9. package/DateRangePicker/DateRangePickerToolbar.d.ts +3 -2
  10. package/DateRangePicker/DateRangePickerToolbar.js +1 -1
  11. package/DateRangePicker/shared.d.ts +6 -5
  12. package/DateRangePickerDay/DateRangePickerDay.d.ts +3 -2
  13. package/DateRangePickerDay/DateRangePickerDay.js +2 -2
  14. package/DateTimeRangePicker/DateTimeRangePicker.d.ts +2 -1
  15. package/DateTimeRangePicker/DateTimeRangePicker.js +9 -9
  16. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +4 -3
  17. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +3 -2
  18. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +3 -2
  19. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +1 -1
  20. package/DateTimeRangePicker/shared.d.ts +6 -5
  21. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +2 -1
  22. package/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -5
  23. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +4 -3
  24. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +2 -1
  25. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +9 -9
  26. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +4 -3
  27. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.d.ts +2 -1
  28. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +2 -1
  29. package/MobileDateRangePicker/MobileDateRangePicker.js +5 -5
  30. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +4 -3
  31. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +2 -1
  32. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +9 -9
  33. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +4 -3
  34. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +2 -1
  35. package/MultiInputDateRangeField/MultiInputDateRangeField.js +5 -5
  36. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +7 -6
  37. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +2 -1
  38. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +9 -9
  39. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +8 -7
  40. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +2 -1
  41. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +5 -5
  42. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +8 -7
  43. package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +2 -1
  44. package/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -5
  45. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +7 -6
  46. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +3 -2
  47. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +2 -1
  48. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +9 -9
  49. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +7 -6
  50. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +3 -2
  51. package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +2 -1
  52. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -5
  53. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +7 -6
  54. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +3 -2
  55. package/StaticDateRangePicker/StaticDateRangePicker.d.ts +2 -1
  56. package/StaticDateRangePicker/StaticDateRangePicker.js +5 -5
  57. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +4 -3
  58. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +3 -2
  59. package/index.d.ts +7 -1
  60. package/index.js +7 -2
  61. package/internals/hooks/models/useRangePicker.d.ts +6 -5
  62. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +2 -1
  63. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +1 -1
  64. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +6 -5
  65. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +4 -4
  66. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +2 -1
  67. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +1 -1
  68. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +6 -5
  69. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +2 -1
  70. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +3 -2
  71. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +3 -2
  72. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +2 -1
  73. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +5 -4
  74. package/internals/models/dateRange.d.ts +4 -3
  75. package/internals/models/dateTimeRange.d.ts +3 -2
  76. package/internals/models/fields.d.ts +2 -2
  77. package/internals/models/timeRange.d.ts +3 -2
  78. package/internals/utils/date-range-manager.d.ts +5 -5
  79. package/internals/utils/date-utils.d.ts +5 -5
  80. package/internals/utils/releaseInfo.js +1 -1
  81. package/internals/utils/validation/validateDateRange.d.ts +2 -2
  82. package/internals/utils/validation/validateDateTimeRange.d.ts +2 -2
  83. package/internals/utils/valueManagers.d.ts +2 -1
  84. package/legacy/DateRangeCalendar/DateRangeCalendar.js +6 -6
  85. package/legacy/DateRangePicker/DateRangePicker.js +5 -5
  86. package/legacy/DateRangePicker/DateRangePickerToolbar.js +1 -1
  87. package/legacy/DateRangePickerDay/DateRangePickerDay.js +2 -2
  88. package/legacy/DateTimeRangePicker/DateTimeRangePicker.js +9 -9
  89. package/legacy/DateTimeRangePicker/DateTimeRangePickerToolbar.js +1 -1
  90. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -5
  91. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +9 -9
  92. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +5 -5
  93. package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +9 -9
  94. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +5 -5
  95. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +9 -9
  96. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +5 -5
  97. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -5
  98. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +9 -9
  99. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -5
  100. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +5 -5
  101. package/legacy/index.js +21 -2
  102. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +1 -1
  103. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +1 -1
  104. package/legacy/internals/utils/releaseInfo.js +1 -1
  105. package/models/range.d.ts +3 -2
  106. package/modern/DateRangeCalendar/DateRangeCalendar.js +6 -6
  107. package/modern/DateRangePicker/DateRangePicker.js +5 -5
  108. package/modern/DateRangePicker/DateRangePickerToolbar.js +1 -1
  109. package/modern/DateRangePickerDay/DateRangePickerDay.js +2 -2
  110. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +9 -9
  111. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +1 -1
  112. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -5
  113. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +9 -9
  114. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +5 -5
  115. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +9 -9
  116. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +5 -5
  117. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +9 -9
  118. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +5 -5
  119. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -5
  120. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +9 -9
  121. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -5
  122. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +5 -5
  123. package/modern/index.js +7 -2
  124. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +1 -1
  125. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +1 -1
  126. package/modern/internals/utils/releaseInfo.js +1 -1
  127. package/node/DateRangeCalendar/DateRangeCalendar.js +7 -7
  128. package/node/DateRangePicker/DateRangePicker.js +5 -5
  129. package/node/DateRangePicker/DateRangePickerToolbar.js +1 -1
  130. package/node/DateRangePickerDay/DateRangePickerDay.js +3 -3
  131. package/node/DateTimeRangePicker/DateTimeRangePicker.js +9 -9
  132. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +1 -1
  133. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -5
  134. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +9 -9
  135. package/node/MobileDateRangePicker/MobileDateRangePicker.js +5 -5
  136. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +9 -9
  137. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +5 -5
  138. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +9 -9
  139. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +5 -5
  140. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -5
  141. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +9 -9
  142. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -5
  143. package/node/StaticDateRangePicker/StaticDateRangePicker.js +5 -5
  144. package/node/index.js +18 -9
  145. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
  146. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -2
  147. package/node/internals/utils/releaseInfo.js +1 -1
  148. package/package.json +7 -7
  149. package/themeAugmentation/props.d.ts +17 -17
@@ -1,21 +1,22 @@
1
1
  import * as React from 'react';
2
2
  import { LocalizedComponent } from '@mui/x-date-pickers/locales';
3
3
  import { DefaultizedProps, BaseDateValidationProps, BasePickerInputProps, PickerViewRendererLookup } from '@mui/x-date-pickers/internals';
4
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
4
5
  import { DateRangeValidationError, DateRange } from '../models';
5
6
  import { DateRangeCalendarSlots, DateRangeCalendarSlotProps, ExportedDateRangeCalendarProps } from '../DateRangeCalendar';
6
7
  import { DateRangePickerToolbarProps, ExportedDateRangePickerToolbarProps } from './DateRangePickerToolbar';
7
8
  import { DateRangeViewRendererProps } from '../dateRangeViewRenderers';
8
- export interface BaseDateRangePickerSlots<TDate> extends DateRangeCalendarSlots<TDate> {
9
+ export interface BaseDateRangePickerSlots<TDate extends PickerValidDate> extends DateRangeCalendarSlots<TDate> {
9
10
  /**
10
11
  * Custom component for the toolbar rendered above the views.
11
12
  * @default DateTimePickerToolbar
12
13
  */
13
14
  toolbar?: React.JSXElementConstructor<DateRangePickerToolbarProps<TDate>>;
14
15
  }
15
- export interface BaseDateRangePickerSlotProps<TDate> extends DateRangeCalendarSlotProps<TDate> {
16
+ export interface BaseDateRangePickerSlotProps<TDate extends PickerValidDate> extends DateRangeCalendarSlotProps<TDate> {
16
17
  toolbar?: ExportedDateRangePickerToolbarProps;
17
18
  }
18
- export interface BaseDateRangePickerProps<TDate> extends Omit<BasePickerInputProps<DateRange<TDate>, TDate, 'day', DateRangeValidationError>, 'view' | 'views' | 'openTo' | 'onViewChange' | 'orientation'>, ExportedDateRangeCalendarProps<TDate>, BaseDateValidationProps<TDate> {
19
+ export interface BaseDateRangePickerProps<TDate extends PickerValidDate> extends Omit<BasePickerInputProps<DateRange<TDate>, TDate, 'day', DateRangeValidationError>, 'view' | 'views' | 'openTo' | 'onViewChange' | 'orientation'>, ExportedDateRangeCalendarProps<TDate>, BaseDateValidationProps<TDate> {
19
20
  /**
20
21
  * Overridable component slots.
21
22
  * @default {}
@@ -33,6 +34,6 @@ export interface BaseDateRangePickerProps<TDate> extends Omit<BasePickerInputPro
33
34
  */
34
35
  viewRenderers?: Partial<PickerViewRendererLookup<DateRange<TDate>, 'day', DateRangeViewRendererProps<TDate, 'day'>, {}>>;
35
36
  }
36
- type UseDateRangePickerDefaultizedProps<TDate, Props extends BaseDateRangePickerProps<TDate>> = LocalizedComponent<TDate, DefaultizedProps<Props, keyof BaseDateValidationProps<TDate>>>;
37
- export declare function useDateRangePickerDefaultizedProps<TDate, Props extends BaseDateRangePickerProps<TDate>>(props: Props, name: string): UseDateRangePickerDefaultizedProps<TDate, Props>;
37
+ type UseDateRangePickerDefaultizedProps<TDate extends PickerValidDate, Props extends BaseDateRangePickerProps<TDate>> = LocalizedComponent<TDate, DefaultizedProps<Props, keyof BaseDateValidationProps<TDate>>>;
38
+ export declare function useDateRangePickerDefaultizedProps<TDate extends PickerValidDate, Props extends BaseDateRangePickerProps<TDate>>(props: Props, name: string): UseDateRangePickerDefaultizedProps<TDate, Props>;
38
39
  export {};
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { PickersDayProps } from '@mui/x-date-pickers/PickersDay';
3
4
  import { DateRangePickerDayClasses } from './dateRangePickerDayClasses';
4
- export interface DateRangePickerDayProps<TDate> extends Omit<PickersDayProps<TDate>, 'classes' | 'onBlur' | 'onFocus' | 'onKeyDown'> {
5
+ export interface DateRangePickerDayProps<TDate extends PickerValidDate> extends Omit<PickersDayProps<TDate>, 'classes' | 'onBlur' | 'onFocus' | 'onKeyDown'> {
5
6
  /**
6
7
  * Set to `true` if the `day` is in a highlighted date range.
7
8
  */
@@ -35,7 +36,7 @@ export interface DateRangePickerDayProps<TDate> extends Omit<PickersDayProps<TDa
35
36
  */
36
37
  isVisuallySelected?: boolean;
37
38
  }
38
- type DateRangePickerDayComponent = <TDate>(props: DateRangePickerDayProps<TDate> & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element;
39
+ type DateRangePickerDayComponent = <TDate extends PickerValidDate>(props: DateRangePickerDayProps<TDate> & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element;
39
40
  /**
40
41
  * Demos:
41
42
  *
@@ -4,7 +4,7 @@ const _excluded = ["className", "day", "outsideCurrentMonth", "isEndOfHighlighti
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
7
- import { useLicenseVerifier } from '@mui/x-license-pro';
7
+ import { useLicenseVerifier } from '@mui/x-license';
8
8
  import { alpha, styled, useThemeProps } from '@mui/material/styles';
9
9
  import { unstable_composeClasses as composeClasses } from '@mui/utils';
10
10
  import { useUtils } from '@mui/x-date-pickers/internals';
@@ -237,7 +237,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
237
237
  /**
238
238
  * The date to show.
239
239
  */
240
- day: PropTypes.any.isRequired,
240
+ day: PropTypes.object.isRequired,
241
241
  /**
242
242
  * If `true`, renders as disabled.
243
243
  * @default false
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { DateTimeRangePickerProps } from './DateTimeRangePicker.types';
3
- type DateTimeRangePickerComponent = (<TDate>(props: DateTimeRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ type DateTimeRangePickerComponent = (<TDate extends PickerValidDate>(props: DateTimeRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
5
  propTypes?: any;
5
6
  };
6
7
  declare const DateTimeRangePicker: DateTimeRangePickerComponent;
@@ -81,7 +81,7 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePicker.propTypes = {
81
81
  * The default value.
82
82
  * Used when the component is not controlled.
83
83
  */
84
- defaultValue: PropTypes.arrayOf(PropTypes.any),
84
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
85
85
  /**
86
86
  * CSS media query when `Mobile` mode will be changed to `Desktop`.
87
87
  * @default '@media (pointer: fine)'
@@ -175,29 +175,29 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePicker.propTypes = {
175
175
  /**
176
176
  * Maximal selectable date.
177
177
  */
178
- maxDate: PropTypes.any,
178
+ maxDate: PropTypes.object,
179
179
  /**
180
180
  * Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
181
181
  */
182
- maxDateTime: PropTypes.any,
182
+ maxDateTime: PropTypes.object,
183
183
  /**
184
184
  * Maximal selectable time.
185
185
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
186
186
  */
187
- maxTime: PropTypes.any,
187
+ maxTime: PropTypes.object,
188
188
  /**
189
189
  * Minimal selectable date.
190
190
  */
191
- minDate: PropTypes.any,
191
+ minDate: PropTypes.object,
192
192
  /**
193
193
  * Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
194
194
  */
195
- minDateTime: PropTypes.any,
195
+ minDateTime: PropTypes.object,
196
196
  /**
197
197
  * Minimal selectable time.
198
198
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
199
199
  */
200
- minTime: PropTypes.any,
200
+ minTime: PropTypes.object,
201
201
  /**
202
202
  * Step over minutes.
203
203
  * @default 1
@@ -290,7 +290,7 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePicker.propTypes = {
290
290
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
291
291
  * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
292
292
  */
293
- referenceDate: PropTypes.any,
293
+ referenceDate: PropTypes.object,
294
294
  /**
295
295
  * Component rendered on the "day" view when `props.loading` is true.
296
296
  * @returns {React.ReactNode} The node to render when loading.
@@ -387,7 +387,7 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePicker.propTypes = {
387
387
  * The selected value.
388
388
  * Used when the component is controlled.
389
389
  */
390
- value: PropTypes.arrayOf(PropTypes.any),
390
+ value: PropTypes.arrayOf(PropTypes.object),
391
391
  /**
392
392
  * The visible view.
393
393
  * Used when the component view is controlled.
@@ -1,10 +1,11 @@
1
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
1
2
  import { DesktopDateTimeRangePickerProps, DesktopDateTimeRangePickerSlots, DesktopDateTimeRangePickerSlotProps } from '../DesktopDateTimeRangePicker';
2
3
  import { MobileDateTimeRangePickerProps, MobileDateTimeRangePickerSlots, MobileDateTimeRangePickerSlotProps } from '../MobileDateTimeRangePicker';
3
- export interface DateTimeRangePickerSlots<TDate> extends DesktopDateTimeRangePickerSlots<TDate>, MobileDateTimeRangePickerSlots<TDate> {
4
+ export interface DateTimeRangePickerSlots<TDate extends PickerValidDate> extends DesktopDateTimeRangePickerSlots<TDate>, MobileDateTimeRangePickerSlots<TDate> {
4
5
  }
5
- export interface DateTimeRangePickerSlotProps<TDate> extends DesktopDateTimeRangePickerSlotProps<TDate>, MobileDateTimeRangePickerSlotProps<TDate> {
6
+ export interface DateTimeRangePickerSlotProps<TDate extends PickerValidDate> extends DesktopDateTimeRangePickerSlotProps<TDate>, MobileDateTimeRangePickerSlotProps<TDate> {
6
7
  }
7
- export interface DateTimeRangePickerProps<TDate> extends DesktopDateTimeRangePickerProps<TDate>, MobileDateTimeRangePickerProps<TDate> {
8
+ export interface DateTimeRangePickerProps<TDate extends PickerValidDate> extends DesktopDateTimeRangePickerProps<TDate>, MobileDateTimeRangePickerProps<TDate> {
8
9
  /**
9
10
  * CSS media query when `Mobile` mode will be changed to `Desktop`.
10
11
  * @default '@media (pointer: fine)'
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { PickerSelectionState, PickerViewRenderer, TimeViewWithMeridiem, BaseClockProps } from '@mui/x-date-pickers/internals';
3
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
3
4
  import { DateTimeRangePickerView } from '../internals/models';
4
5
  import { DateRange } from '../models';
5
6
  import { UseRangePositionResponse } from '../internals/hooks/useRangePosition';
6
- export type DateTimeRangePickerTimeWrapperProps<TDate, TView extends DateTimeRangePickerView, TComponentProps extends Omit<BaseClockProps<TDate, TimeViewWithMeridiem>, 'value' | 'defaultValue' | 'onChange'>> = Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'> & Omit<TComponentProps, 'views' | 'view' | 'onViewChange' | 'value' | 'defaultValue' | 'onChange'> & {
7
+ export type DateTimeRangePickerTimeWrapperProps<TDate extends PickerValidDate, TView extends DateTimeRangePickerView, TComponentProps extends Omit<BaseClockProps<TDate, TimeViewWithMeridiem>, 'value' | 'defaultValue' | 'onChange'>> = Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'> & Omit<TComponentProps, 'views' | 'view' | 'onViewChange' | 'value' | 'defaultValue' | 'onChange'> & {
7
8
  view: TView;
8
9
  onViewChange?: (view: TView) => void;
9
10
  views: readonly TView[];
@@ -16,5 +17,5 @@ export type DateTimeRangePickerTimeWrapperProps<TDate, TView extends DateTimeRan
16
17
  /**
17
18
  * @ignore - internal component.
18
19
  */
19
- declare function DateTimeRangePickerTimeWrapper<TDate, TView extends DateTimeRangePickerView, TComponentProps extends Omit<BaseClockProps<TDate, TimeViewWithMeridiem>, 'value' | 'defaultValue' | 'onChange'>>(props: DateTimeRangePickerTimeWrapperProps<TDate, TView, TComponentProps>, ref: React.Ref<HTMLDivElement>): React.ReactNode;
20
+ declare function DateTimeRangePickerTimeWrapper<TDate extends PickerValidDate, TView extends DateTimeRangePickerView, TComponentProps extends Omit<BaseClockProps<TDate, TimeViewWithMeridiem>, 'value' | 'defaultValue' | 'onChange'>>(props: DateTimeRangePickerTimeWrapperProps<TDate, TView, TComponentProps>, ref: React.Ref<HTMLDivElement>): React.ReactNode;
20
21
  export { DateTimeRangePickerTimeWrapper };
@@ -1,15 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import { BaseToolbarProps, ExportedBaseToolbarProps, DateOrTimeViewWithMeridiem, WrapperVariant } from '@mui/x-date-pickers/internals';
3
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
3
4
  import { DateRange } from '../models';
4
5
  import { UseRangePositionResponse } from '../internals/hooks/useRangePosition';
5
6
  import { DateTimeRangePickerToolbarClasses } from './dateTimeRangePickerToolbarClasses';
6
7
  type DateTimeRangeViews = Exclude<DateOrTimeViewWithMeridiem, 'year' | 'month'>;
7
- export interface DateTimeRangePickerToolbarProps<TDate> extends BaseToolbarProps<DateRange<TDate>, DateTimeRangeViews>, Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'>, ExportedDateTimeRangePickerToolbarProps {
8
+ export interface DateTimeRangePickerToolbarProps<TDate extends PickerValidDate> extends BaseToolbarProps<DateRange<TDate>, DateTimeRangeViews>, Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'>, ExportedDateTimeRangePickerToolbarProps {
8
9
  ampm?: boolean;
9
10
  toolbarVariant?: WrapperVariant;
10
11
  }
11
12
  export interface ExportedDateTimeRangePickerToolbarProps extends ExportedBaseToolbarProps {
12
13
  classes?: Partial<DateTimeRangePickerToolbarClasses>;
13
14
  }
14
- declare const DateTimeRangePickerToolbar: React.ForwardRefExoticComponent<DateTimeRangePickerToolbarProps<unknown> & React.RefAttributes<HTMLDivElement>>;
15
+ declare const DateTimeRangePickerToolbar: React.ForwardRefExoticComponent<DateTimeRangePickerToolbarProps<PickerValidDate> & React.RefAttributes<HTMLDivElement>>;
15
16
  export { DateTimeRangePickerToolbar };
@@ -166,7 +166,7 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
166
166
  */
167
167
  toolbarPlaceholder: PropTypes.node,
168
168
  toolbarVariant: PropTypes.oneOf(['desktop', 'mobile']),
169
- value: PropTypes.arrayOf(PropTypes.any).isRequired,
169
+ value: PropTypes.arrayOf(PropTypes.object).isRequired,
170
170
  /**
171
171
  * Currently visible picker view.
172
172
  */
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { LocalizedComponent } from '@mui/x-date-pickers/locales';
3
3
  import { DefaultizedProps, BaseDateValidationProps, BasePickerInputProps, PickerViewRendererLookup, BaseClockProps, DesktopOnlyTimePickerProps, TimeViewWithMeridiem, UseViewsOptions, DateTimeValidationProps } from '@mui/x-date-pickers/internals';
4
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
4
5
  import { TimeViewRendererProps } from '@mui/x-date-pickers/timeViewRenderers';
5
6
  import { DigitalClockSlots, DigitalClockSlotProps } from '@mui/x-date-pickers/DigitalClock';
6
7
  import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from '@mui/x-date-pickers/MultiSectionDigitalClock';
@@ -10,7 +11,7 @@ import { DateRangeCalendarSlots, DateRangeCalendarSlotProps, ExportedDateRangeCa
10
11
  import { DateTimeRangePickerToolbarProps, ExportedDateTimeRangePickerToolbarProps } from './DateTimeRangePickerToolbar';
11
12
  import { DateRangeViewRendererProps } from '../dateRangeViewRenderers';
12
13
  import { DateTimeRangePickerTabsProps, ExportedDateTimeRangePickerTabsProps } from './DateTimeRangePickerTabs';
13
- export interface BaseDateTimeRangePickerSlots<TDate> extends DateRangeCalendarSlots<TDate>, DigitalClockSlots, MultiSectionDigitalClockSlots {
14
+ export interface BaseDateTimeRangePickerSlots<TDate extends PickerValidDate> extends DateRangeCalendarSlots<TDate>, DigitalClockSlots, MultiSectionDigitalClockSlots {
14
15
  /**
15
16
  * Tabs enabling toggling between date and time pickers.
16
17
  * @default DateTimeRangePickerTabs
@@ -22,7 +23,7 @@ export interface BaseDateTimeRangePickerSlots<TDate> extends DateRangeCalendarSl
22
23
  */
23
24
  toolbar?: React.JSXElementConstructor<DateTimeRangePickerToolbarProps<TDate>>;
24
25
  }
25
- export interface BaseDateTimeRangePickerSlotProps<TDate> extends DateRangeCalendarSlotProps<TDate>, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {
26
+ export interface BaseDateTimeRangePickerSlotProps<TDate extends PickerValidDate> extends DateRangeCalendarSlotProps<TDate>, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {
26
27
  /**
27
28
  * Props passed down to the tabs component.
28
29
  */
@@ -32,7 +33,7 @@ export interface BaseDateTimeRangePickerSlotProps<TDate> extends DateRangeCalend
32
33
  */
33
34
  toolbar?: ExportedDateTimeRangePickerToolbarProps;
34
35
  }
35
- export interface BaseDateTimeRangePickerProps<TDate> extends Omit<BasePickerInputProps<DateRange<TDate>, TDate, DateTimeRangePickerView, DateTimeRangeValidationError>, 'orientation' | 'views' | 'openTo'>, ExportedDateRangeCalendarProps<TDate>, BaseDateValidationProps<TDate>, DesktopOnlyTimePickerProps<TDate>, Partial<Pick<UseViewsOptions<DateRange<TDate>, DateTimeRangePickerViewExternal>, 'openTo' | 'views'>>, DateTimeValidationProps<TDate> {
36
+ export interface BaseDateTimeRangePickerProps<TDate extends PickerValidDate> extends Omit<BasePickerInputProps<DateRange<TDate>, TDate, DateTimeRangePickerView, DateTimeRangeValidationError>, 'orientation' | 'views' | 'openTo'>, ExportedDateRangeCalendarProps<TDate>, BaseDateValidationProps<TDate>, DesktopOnlyTimePickerProps<TDate>, Partial<Pick<UseViewsOptions<DateRange<TDate>, DateTimeRangePickerViewExternal>, 'openTo' | 'views'>>, DateTimeValidationProps<TDate> {
36
37
  /**
37
38
  * Overridable component slots.
38
39
  * @default {}
@@ -52,9 +53,9 @@ export interface BaseDateTimeRangePickerProps<TDate> extends Omit<BasePickerInpu
52
53
  view: DateTimeRangePickerView;
53
54
  }, {}>>;
54
55
  }
55
- type UseDateTimeRangePickerDefaultizedProps<TDate, Props extends BaseDateTimeRangePickerProps<TDate>> = LocalizedComponent<TDate, Omit<DefaultizedProps<Props, 'openTo' | 'ampm' | keyof BaseDateValidationProps<TDate>>, 'views'>> & {
56
+ type UseDateTimeRangePickerDefaultizedProps<TDate extends PickerValidDate, Props extends BaseDateTimeRangePickerProps<TDate>> = LocalizedComponent<TDate, Omit<DefaultizedProps<Props, 'openTo' | 'ampm' | keyof BaseDateValidationProps<TDate>>, 'views'>> & {
56
57
  shouldRenderTimeInASingleColumn: boolean;
57
58
  views: readonly DateTimeRangePickerView[];
58
59
  };
59
- export declare function useDateTimeRangePickerDefaultizedProps<TDate, Props extends BaseDateTimeRangePickerProps<TDate>>(props: Props, name: string): UseDateTimeRangePickerDefaultizedProps<TDate, Props>;
60
+ export declare function useDateTimeRangePickerDefaultizedProps<TDate extends PickerValidDate, Props extends BaseDateTimeRangePickerProps<TDate>>(props: Props, name: string): UseDateTimeRangePickerDefaultizedProps<TDate, Props>;
60
61
  export {};
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { DesktopDateRangePickerProps } from './DesktopDateRangePicker.types';
3
- type DesktopDateRangePickerComponent = (<TDate>(props: DesktopDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ type DesktopDateRangePickerComponent = (<TDate extends PickerValidDate>(props: DesktopDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
5
  propTypes?: any;
5
6
  };
6
7
  /**
@@ -102,7 +102,7 @@ DesktopDateRangePicker.propTypes = {
102
102
  * The default value.
103
103
  * Used when the component is not controlled.
104
104
  */
105
- defaultValue: PropTypes.arrayOf(PropTypes.any),
105
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
106
106
  /**
107
107
  * If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
108
108
  * @default false
@@ -183,11 +183,11 @@ DesktopDateRangePicker.propTypes = {
183
183
  /**
184
184
  * Maximal selectable date.
185
185
  */
186
- maxDate: PropTypes.any,
186
+ maxDate: PropTypes.object,
187
187
  /**
188
188
  * Minimal selectable date.
189
189
  */
190
- minDate: PropTypes.any,
190
+ minDate: PropTypes.object,
191
191
  /**
192
192
  * Name attribute used by the `input` element in the Field.
193
193
  * Ignored if the field has several inputs.
@@ -263,7 +263,7 @@ DesktopDateRangePicker.propTypes = {
263
263
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
264
264
  * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
265
265
  */
266
- referenceDate: PropTypes.any,
266
+ referenceDate: PropTypes.object,
267
267
  /**
268
268
  * Component rendered on the "day" view when `props.loading` is true.
269
269
  * @returns {React.ReactNode} The node to render when loading.
@@ -331,7 +331,7 @@ DesktopDateRangePicker.propTypes = {
331
331
  * The selected value.
332
332
  * Used when the component is controlled.
333
333
  */
334
- value: PropTypes.arrayOf(PropTypes.any),
334
+ value: PropTypes.arrayOf(PropTypes.object),
335
335
  /**
336
336
  * Define custom view renderers for each section.
337
337
  * If `null`, the section will only have field editing.
@@ -1,11 +1,12 @@
1
1
  import { MakeOptional } from '@mui/x-date-pickers/internals';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { UseDesktopRangePickerSlots, UseDesktopRangePickerSlotProps, DesktopRangeOnlyPickerProps } from '../internals/hooks/useDesktopRangePicker';
3
4
  import { BaseDateRangePickerProps, BaseDateRangePickerSlots, BaseDateRangePickerSlotProps } from '../DateRangePicker/shared';
4
- export interface DesktopDateRangePickerSlots<TDate> extends BaseDateRangePickerSlots<TDate>, MakeOptional<UseDesktopRangePickerSlots<TDate, 'day'>, 'field'> {
5
+ export interface DesktopDateRangePickerSlots<TDate extends PickerValidDate> extends BaseDateRangePickerSlots<TDate>, MakeOptional<UseDesktopRangePickerSlots<TDate, 'day'>, 'field'> {
5
6
  }
6
- export interface DesktopDateRangePickerSlotProps<TDate> extends BaseDateRangePickerSlotProps<TDate>, Omit<UseDesktopRangePickerSlotProps<TDate, 'day'>, 'tabs'> {
7
+ export interface DesktopDateRangePickerSlotProps<TDate extends PickerValidDate> extends BaseDateRangePickerSlotProps<TDate>, Omit<UseDesktopRangePickerSlotProps<TDate, 'day'>, 'tabs'> {
7
8
  }
8
- export interface DesktopDateRangePickerProps<TDate> extends BaseDateRangePickerProps<TDate>, DesktopRangeOnlyPickerProps<TDate> {
9
+ export interface DesktopDateRangePickerProps<TDate extends PickerValidDate> extends BaseDateRangePickerProps<TDate>, DesktopRangeOnlyPickerProps<TDate> {
9
10
  /**
10
11
  * The number of calendars to render on **desktop**.
11
12
  * @default 2
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { DesktopDateTimeRangePickerProps } from './DesktopDateTimeRangePicker.types';
3
- type DesktopDateRangePickerComponent = (<TDate>(props: DesktopDateTimeRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ type DesktopDateRangePickerComponent = (<TDate extends PickerValidDate>(props: DesktopDateTimeRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
5
  propTypes?: any;
5
6
  };
6
7
  declare const DesktopDateTimeRangePicker: DesktopDateRangePickerComponent;
@@ -164,7 +164,7 @@ DesktopDateTimeRangePicker.propTypes = {
164
164
  * The default value.
165
165
  * Used when the component is not controlled.
166
166
  */
167
- defaultValue: PropTypes.arrayOf(PropTypes.any),
167
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
168
168
  /**
169
169
  * If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
170
170
  * @default false
@@ -252,29 +252,29 @@ DesktopDateTimeRangePicker.propTypes = {
252
252
  /**
253
253
  * Maximal selectable date.
254
254
  */
255
- maxDate: PropTypes.any,
255
+ maxDate: PropTypes.object,
256
256
  /**
257
257
  * Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
258
258
  */
259
- maxDateTime: PropTypes.any,
259
+ maxDateTime: PropTypes.object,
260
260
  /**
261
261
  * Maximal selectable time.
262
262
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
263
263
  */
264
- maxTime: PropTypes.any,
264
+ maxTime: PropTypes.object,
265
265
  /**
266
266
  * Minimal selectable date.
267
267
  */
268
- minDate: PropTypes.any,
268
+ minDate: PropTypes.object,
269
269
  /**
270
270
  * Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
271
271
  */
272
- minDateTime: PropTypes.any,
272
+ minDateTime: PropTypes.object,
273
273
  /**
274
274
  * Minimal selectable time.
275
275
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
276
276
  */
277
- minTime: PropTypes.any,
277
+ minTime: PropTypes.object,
278
278
  /**
279
279
  * Step over minutes.
280
280
  * @default 1
@@ -367,7 +367,7 @@ DesktopDateTimeRangePicker.propTypes = {
367
367
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
368
368
  * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
369
369
  */
370
- referenceDate: PropTypes.any,
370
+ referenceDate: PropTypes.object,
371
371
  /**
372
372
  * Component rendered on the "day" view when `props.loading` is true.
373
373
  * @returns {React.ReactNode} The node to render when loading.
@@ -464,7 +464,7 @@ DesktopDateTimeRangePicker.propTypes = {
464
464
  * The selected value.
465
465
  * Used when the component is controlled.
466
466
  */
467
- value: PropTypes.arrayOf(PropTypes.any),
467
+ value: PropTypes.arrayOf(PropTypes.object),
468
468
  /**
469
469
  * The visible view.
470
470
  * Used when the component view is controlled.
@@ -1,12 +1,13 @@
1
1
  import { MakeOptional } from '@mui/x-date-pickers/internals';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { UseDesktopRangePickerSlots, UseDesktopRangePickerSlotProps, DesktopRangeOnlyPickerProps } from '../internals/hooks/useDesktopRangePicker';
3
4
  import { BaseDateTimeRangePickerProps, BaseDateTimeRangePickerSlots, BaseDateTimeRangePickerSlotProps } from '../DateTimeRangePicker/shared';
4
5
  import { DateTimeRangePickerView } from '../internals/models';
5
- export interface DesktopDateTimeRangePickerSlots<TDate> extends BaseDateTimeRangePickerSlots<TDate>, MakeOptional<UseDesktopRangePickerSlots<TDate, DateTimeRangePickerView>, 'field'> {
6
+ export interface DesktopDateTimeRangePickerSlots<TDate extends PickerValidDate> extends BaseDateTimeRangePickerSlots<TDate>, MakeOptional<UseDesktopRangePickerSlots<TDate, DateTimeRangePickerView>, 'field'> {
6
7
  }
7
- export interface DesktopDateTimeRangePickerSlotProps<TDate> extends BaseDateTimeRangePickerSlotProps<TDate>, Omit<UseDesktopRangePickerSlotProps<TDate, DateTimeRangePickerView>, 'tabs' | 'toolbar'> {
8
+ export interface DesktopDateTimeRangePickerSlotProps<TDate extends PickerValidDate> extends BaseDateTimeRangePickerSlotProps<TDate>, Omit<UseDesktopRangePickerSlotProps<TDate, DateTimeRangePickerView>, 'tabs' | 'toolbar'> {
8
9
  }
9
- export interface DesktopDateTimeRangePickerProps<TDate> extends BaseDateTimeRangePickerProps<TDate>, DesktopRangeOnlyPickerProps<TDate> {
10
+ export interface DesktopDateTimeRangePickerProps<TDate extends PickerValidDate> extends BaseDateTimeRangePickerProps<TDate>, DesktopRangeOnlyPickerProps<TDate> {
10
11
  /**
11
12
  * The number of calendars to render on **desktop**.
12
13
  * @default 1
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { PickersLayoutProps } from '@mui/x-date-pickers/PickersLayout';
3
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
3
4
  import { DateRange } from '../models';
4
5
  import { DateTimeRangePickerView } from '../internals/models/dateTimeRange';
5
6
  /**
6
7
  * @ignore - internal component.
7
8
  */
8
- export declare function DesktopDateTimeRangePickerLayout<TDate>(props: PickersLayoutProps<DateRange<TDate>, TDate, DateTimeRangePickerView>): React.JSX.Element;
9
+ export declare function DesktopDateTimeRangePickerLayout<TDate extends PickerValidDate>(props: PickersLayoutProps<DateRange<TDate>, TDate, DateTimeRangePickerView>): React.JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { MobileDateRangePickerProps } from './MobileDateRangePicker.types';
3
- type MobileDateRangePickerComponent = (<TDate>(props: MobileDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ type MobileDateRangePickerComponent = (<TDate extends PickerValidDate>(props: MobileDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
5
  propTypes?: any;
5
6
  };
6
7
  /**
@@ -98,7 +98,7 @@ MobileDateRangePicker.propTypes = {
98
98
  * The default value.
99
99
  * Used when the component is not controlled.
100
100
  */
101
- defaultValue: PropTypes.arrayOf(PropTypes.any),
101
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
102
102
  /**
103
103
  * If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
104
104
  * @default false
@@ -179,11 +179,11 @@ MobileDateRangePicker.propTypes = {
179
179
  /**
180
180
  * Maximal selectable date.
181
181
  */
182
- maxDate: PropTypes.any,
182
+ maxDate: PropTypes.object,
183
183
  /**
184
184
  * Minimal selectable date.
185
185
  */
186
- minDate: PropTypes.any,
186
+ minDate: PropTypes.object,
187
187
  /**
188
188
  * Name attribute used by the `input` element in the Field.
189
189
  * Ignored if the field has several inputs.
@@ -259,7 +259,7 @@ MobileDateRangePicker.propTypes = {
259
259
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
260
260
  * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
261
261
  */
262
- referenceDate: PropTypes.any,
262
+ referenceDate: PropTypes.object,
263
263
  /**
264
264
  * Component rendered on the "day" view when `props.loading` is true.
265
265
  * @returns {React.ReactNode} The node to render when loading.
@@ -327,7 +327,7 @@ MobileDateRangePicker.propTypes = {
327
327
  * The selected value.
328
328
  * Used when the component is controlled.
329
329
  */
330
- value: PropTypes.arrayOf(PropTypes.any),
330
+ value: PropTypes.arrayOf(PropTypes.object),
331
331
  /**
332
332
  * Define custom view renderers for each section.
333
333
  * If `null`, the section will only have field editing.
@@ -1,11 +1,12 @@
1
1
  import { MakeOptional } from '@mui/x-date-pickers/internals';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { UseMobileRangePickerSlots, UseMobileRangePickerSlotProps, MobileRangeOnlyPickerProps } from '../internals/hooks/useMobileRangePicker';
3
4
  import { BaseDateRangePickerProps, BaseDateRangePickerSlots, BaseDateRangePickerSlotProps } from '../DateRangePicker/shared';
4
- export interface MobileDateRangePickerSlots<TDate> extends BaseDateRangePickerSlots<TDate>, MakeOptional<UseMobileRangePickerSlots<TDate, 'day'>, 'field'> {
5
+ export interface MobileDateRangePickerSlots<TDate extends PickerValidDate> extends BaseDateRangePickerSlots<TDate>, MakeOptional<UseMobileRangePickerSlots<TDate, 'day'>, 'field'> {
5
6
  }
6
- export interface MobileDateRangePickerSlotProps<TDate> extends BaseDateRangePickerSlotProps<TDate>, Omit<UseMobileRangePickerSlotProps<TDate, 'day'>, 'tabs'> {
7
+ export interface MobileDateRangePickerSlotProps<TDate extends PickerValidDate> extends BaseDateRangePickerSlotProps<TDate>, Omit<UseMobileRangePickerSlotProps<TDate, 'day'>, 'tabs'> {
7
8
  }
8
- export interface MobileDateRangePickerProps<TDate> extends BaseDateRangePickerProps<TDate>, MobileRangeOnlyPickerProps<TDate> {
9
+ export interface MobileDateRangePickerProps<TDate extends PickerValidDate> extends BaseDateRangePickerProps<TDate>, MobileRangeOnlyPickerProps<TDate> {
9
10
  /**
10
11
  * Overridable component slots.
11
12
  * @default {}
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { MobileDateTimeRangePickerProps } from './MobileDateTimeRangePicker.types';
3
- type MobileDateRangePickerComponent = (<TDate>(props: MobileDateTimeRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ type MobileDateRangePickerComponent = (<TDate extends PickerValidDate>(props: MobileDateTimeRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
5
  propTypes?: any;
5
6
  };
6
7
  declare const MobileDateTimeRangePicker: MobileDateRangePickerComponent;
@@ -163,7 +163,7 @@ MobileDateTimeRangePicker.propTypes = {
163
163
  * The default value.
164
164
  * Used when the component is not controlled.
165
165
  */
166
- defaultValue: PropTypes.arrayOf(PropTypes.any),
166
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
167
167
  /**
168
168
  * If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
169
169
  * @default false
@@ -251,29 +251,29 @@ MobileDateTimeRangePicker.propTypes = {
251
251
  /**
252
252
  * Maximal selectable date.
253
253
  */
254
- maxDate: PropTypes.any,
254
+ maxDate: PropTypes.object,
255
255
  /**
256
256
  * Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
257
257
  */
258
- maxDateTime: PropTypes.any,
258
+ maxDateTime: PropTypes.object,
259
259
  /**
260
260
  * Maximal selectable time.
261
261
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
262
262
  */
263
- maxTime: PropTypes.any,
263
+ maxTime: PropTypes.object,
264
264
  /**
265
265
  * Minimal selectable date.
266
266
  */
267
- minDate: PropTypes.any,
267
+ minDate: PropTypes.object,
268
268
  /**
269
269
  * Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
270
270
  */
271
- minDateTime: PropTypes.any,
271
+ minDateTime: PropTypes.object,
272
272
  /**
273
273
  * Minimal selectable time.
274
274
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
275
275
  */
276
- minTime: PropTypes.any,
276
+ minTime: PropTypes.object,
277
277
  /**
278
278
  * Step over minutes.
279
279
  * @default 1
@@ -366,7 +366,7 @@ MobileDateTimeRangePicker.propTypes = {
366
366
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
367
367
  * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
368
368
  */
369
- referenceDate: PropTypes.any,
369
+ referenceDate: PropTypes.object,
370
370
  /**
371
371
  * Component rendered on the "day" view when `props.loading` is true.
372
372
  * @returns {React.ReactNode} The node to render when loading.
@@ -463,7 +463,7 @@ MobileDateTimeRangePicker.propTypes = {
463
463
  * The selected value.
464
464
  * Used when the component is controlled.
465
465
  */
466
- value: PropTypes.arrayOf(PropTypes.any),
466
+ value: PropTypes.arrayOf(PropTypes.object),
467
467
  /**
468
468
  * The visible view.
469
469
  * Used when the component view is controlled.
@@ -1,12 +1,13 @@
1
1
  import { MakeOptional } from '@mui/x-date-pickers/internals';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { UseMobileRangePickerSlots, UseMobileRangePickerSlotProps, MobileRangeOnlyPickerProps } from '../internals/hooks/useMobileRangePicker';
3
4
  import { BaseDateTimeRangePickerProps, BaseDateTimeRangePickerSlots, BaseDateTimeRangePickerSlotProps } from '../DateTimeRangePicker/shared';
4
5
  import { DateTimeRangePickerView } from '../internals/models';
5
- export interface MobileDateTimeRangePickerSlots<TDate> extends BaseDateTimeRangePickerSlots<TDate>, MakeOptional<UseMobileRangePickerSlots<TDate, DateTimeRangePickerView>, 'field'> {
6
+ export interface MobileDateTimeRangePickerSlots<TDate extends PickerValidDate> extends BaseDateTimeRangePickerSlots<TDate>, MakeOptional<UseMobileRangePickerSlots<TDate, DateTimeRangePickerView>, 'field'> {
6
7
  }
7
- export interface MobileDateTimeRangePickerSlotProps<TDate> extends BaseDateTimeRangePickerSlotProps<TDate>, Omit<UseMobileRangePickerSlotProps<TDate, DateTimeRangePickerView>, 'tabs' | 'toolbar'> {
8
+ export interface MobileDateTimeRangePickerSlotProps<TDate extends PickerValidDate> extends BaseDateTimeRangePickerSlotProps<TDate>, Omit<UseMobileRangePickerSlotProps<TDate, DateTimeRangePickerView>, 'tabs' | 'toolbar'> {
8
9
  }
9
- export interface MobileDateTimeRangePickerProps<TDate> extends BaseDateTimeRangePickerProps<TDate>, MobileRangeOnlyPickerProps<TDate> {
10
+ export interface MobileDateTimeRangePickerProps<TDate extends PickerValidDate> extends BaseDateTimeRangePickerProps<TDate>, MobileRangeOnlyPickerProps<TDate> {
10
11
  /**
11
12
  * Overridable component slots.
12
13
  * @default {}
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { MultiInputDateRangeFieldProps } from './MultiInputDateRangeField.types';
3
4
  import { MultiInputRangeFieldClasses } from '../models';
4
5
  export declare const multiInputDateRangeFieldClasses: MultiInputRangeFieldClasses;
5
6
  export declare const getMultiInputDateRangeFieldUtilityClass: (slot: string) => string;
6
- type MultiInputDateRangeFieldComponent = (<TDate>(props: MultiInputDateRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
+ type MultiInputDateRangeFieldComponent = (<TDate extends PickerValidDate>(props: MultiInputDateRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
8
  propTypes?: any;
8
9
  };
9
10
  /**