@mui/x-date-pickers-pro 7.0.0-beta.1 → 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 +159 -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 +3 -3
  149. package/themeAugmentation/props.d.ts +17 -17
@@ -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
  /**
@@ -148,7 +148,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
148
148
  /**
149
149
  * The default value. Use when the component is not controlled.
150
150
  */
151
- defaultValue: PropTypes.arrayOf(PropTypes.any),
151
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
152
152
  /**
153
153
  * Defines the `flex-direction` style property.
154
154
  * It is applied for all screen sizes.
@@ -187,11 +187,11 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
187
187
  /**
188
188
  * Maximal selectable date.
189
189
  */
190
- maxDate: PropTypes.any,
190
+ maxDate: PropTypes.object,
191
191
  /**
192
192
  * Minimal selectable date.
193
193
  */
194
- minDate: PropTypes.any,
194
+ minDate: PropTypes.object,
195
195
  /**
196
196
  * Callback fired when the value changes.
197
197
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -224,7 +224,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
224
224
  * For example, on time fields it will be used to determine the date to set.
225
225
  * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
226
226
  */
227
- referenceDate: PropTypes.any,
227
+ referenceDate: PropTypes.object,
228
228
  /**
229
229
  * The currently selected sections.
230
230
  * This prop accept four formats:
@@ -308,6 +308,6 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
308
308
  * The selected value.
309
309
  * Used when the component is controlled.
310
310
  */
311
- value: PropTypes.arrayOf(PropTypes.any)
311
+ value: PropTypes.arrayOf(PropTypes.object)
312
312
  } : void 0;
313
313
  export { MultiInputDateRangeField };
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { SlotComponentProps } from '@mui/base/utils';
3
4
  import Typography from '@mui/material/Typography';
4
5
  import Stack, { StackProps } from '@mui/material/Stack';
@@ -7,11 +8,11 @@ import { UseDateRangeFieldProps } from '../internals/models/dateRange';
7
8
  import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
8
9
  import { MultiInputFieldRefs } from '../internals/models/fields';
9
10
  import { MultiInputRangeFieldClasses, RangePosition } from '../models';
10
- export type UseMultiInputDateRangeFieldParams<TDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateRangeFieldProps<TDate>, TTextFieldSlotProps>;
11
- export interface UseMultiInputDateRangeFieldProps<TDate> extends Omit<UseDateRangeFieldProps<TDate>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
11
+ export type UseMultiInputDateRangeFieldParams<TDate extends PickerValidDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateRangeFieldProps<TDate>, TTextFieldSlotProps>;
12
+ export interface UseMultiInputDateRangeFieldProps<TDate extends PickerValidDate> extends Omit<UseDateRangeFieldProps<TDate>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
12
13
  }
13
- export type UseMultiInputDateRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TDate>> & UseMultiInputDateRangeFieldProps<TDate>;
14
- export interface MultiInputDateRangeFieldProps<TDate> extends UseMultiInputDateRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
14
+ export type UseMultiInputDateRangeFieldComponentProps<TDate extends PickerValidDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TDate>> & UseMultiInputDateRangeFieldProps<TDate>;
15
+ export interface MultiInputDateRangeFieldProps<TDate extends PickerValidDate> extends UseMultiInputDateRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
15
16
  autoFocus?: boolean;
16
17
  /**
17
18
  * Override or extend the styles applied to the component.
@@ -28,7 +29,7 @@ export interface MultiInputDateRangeFieldProps<TDate> extends UseMultiInputDateR
28
29
  */
29
30
  slotProps?: MultiInputDateRangeFieldSlotProps<TDate>;
30
31
  }
31
- export type MultiInputDateRangeFieldOwnerState<TDate> = MultiInputDateRangeFieldProps<TDate>;
32
+ export type MultiInputDateRangeFieldOwnerState<TDate extends PickerValidDate> = MultiInputDateRangeFieldProps<TDate>;
32
33
  export interface MultiInputDateRangeFieldSlots {
33
34
  /**
34
35
  * Element rendered at the root.
@@ -48,7 +49,7 @@ export interface MultiInputDateRangeFieldSlots {
48
49
  */
49
50
  separator?: React.ElementType;
50
51
  }
51
- export interface MultiInputDateRangeFieldSlotProps<TDate> {
52
+ export interface MultiInputDateRangeFieldSlotProps<TDate extends PickerValidDate> {
52
53
  root?: SlotComponentProps<typeof Stack, {}, MultiInputDateRangeFieldOwnerState<TDate>>;
53
54
  textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateRangeFieldOwnerState<TDate> & {
54
55
  position: RangePosition;
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { MultiInputDateTimeRangeFieldProps } from './MultiInputDateTimeRangeField.types';
3
4
  import { MultiInputRangeFieldClasses } from '../models';
4
5
  export declare const multiInputDateTimeRangeFieldClasses: MultiInputRangeFieldClasses;
5
6
  export declare const getMultiInputDateTimeRangeFieldUtilityClass: (slot: string) => string;
6
- type MultiInputDateTimeRangeFieldComponent = (<TDate>(props: MultiInputDateTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
+ type MultiInputDateTimeRangeFieldComponent = (<TDate extends PickerValidDate>(props: MultiInputDateTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
8
  propTypes?: any;
8
9
  };
9
10
  /**
@@ -153,7 +153,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
153
153
  /**
154
154
  * The default value. Use when the component is not controlled.
155
155
  */
156
- defaultValue: PropTypes.arrayOf(PropTypes.any),
156
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
157
157
  /**
158
158
  * Defines the `flex-direction` style property.
159
159
  * It is applied for all screen sizes.
@@ -197,29 +197,29 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
197
197
  /**
198
198
  * Maximal selectable date.
199
199
  */
200
- maxDate: PropTypes.any,
200
+ maxDate: PropTypes.object,
201
201
  /**
202
202
  * Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
203
203
  */
204
- maxDateTime: PropTypes.any,
204
+ maxDateTime: PropTypes.object,
205
205
  /**
206
206
  * Maximal selectable time.
207
207
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
208
208
  */
209
- maxTime: PropTypes.any,
209
+ maxTime: PropTypes.object,
210
210
  /**
211
211
  * Minimal selectable date.
212
212
  */
213
- minDate: PropTypes.any,
213
+ minDate: PropTypes.object,
214
214
  /**
215
215
  * Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
216
216
  */
217
- minDateTime: PropTypes.any,
217
+ minDateTime: PropTypes.object,
218
218
  /**
219
219
  * Minimal selectable time.
220
220
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
221
221
  */
222
- minTime: PropTypes.any,
222
+ minTime: PropTypes.object,
223
223
  /**
224
224
  * Step over minutes.
225
225
  * @default 1
@@ -257,7 +257,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
257
257
  * For example, on time fields it will be used to determine the date to set.
258
258
  * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
259
259
  */
260
- referenceDate: PropTypes.any,
260
+ referenceDate: PropTypes.object,
261
261
  /**
262
262
  * The currently selected sections.
263
263
  * This prop accept four formats:
@@ -349,6 +349,6 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
349
349
  * The selected value.
350
350
  * Used when the component is controlled.
351
351
  */
352
- value: PropTypes.arrayOf(PropTypes.any)
352
+ value: PropTypes.arrayOf(PropTypes.object)
353
353
  } : void 0;
354
354
  export { MultiInputDateTimeRangeField };
@@ -3,15 +3,16 @@ import { SlotComponentProps } from '@mui/base/utils';
3
3
  import Typography from '@mui/material/Typography';
4
4
  import Stack, { StackProps } from '@mui/material/Stack';
5
5
  import TextField from '@mui/material/TextField';
6
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
6
7
  import { UseDateTimeRangeFieldDefaultizedProps, UseDateTimeRangeFieldProps } from '../internals/models/dateTimeRange';
7
8
  import { MultiInputFieldRefs } from '../internals/models/fields';
8
9
  import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
9
10
  import { MultiInputRangeFieldClasses, RangePosition } from '../models';
10
- export type UseMultiInputDateTimeRangeFieldParams<TDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateTimeRangeFieldProps<TDate>, TTextFieldSlotProps>;
11
- export interface UseMultiInputDateTimeRangeFieldProps<TDate> extends Omit<UseDateTimeRangeFieldProps<TDate>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
11
+ export type UseMultiInputDateTimeRangeFieldParams<TDate extends PickerValidDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateTimeRangeFieldProps<TDate>, TTextFieldSlotProps>;
12
+ export interface UseMultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate> extends Omit<UseDateTimeRangeFieldProps<TDate>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
12
13
  }
13
- export type UseMultiInputDateTimeRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TDate>> & UseMultiInputDateTimeRangeFieldProps<TDate>;
14
- export interface MultiInputDateTimeRangeFieldProps<TDate> extends UseMultiInputDateTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
14
+ export type UseMultiInputDateTimeRangeFieldComponentProps<TDate extends PickerValidDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TDate>> & UseMultiInputDateTimeRangeFieldProps<TDate>;
15
+ export interface MultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate> extends UseMultiInputDateTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
15
16
  autoFocus?: boolean;
16
17
  /**
17
18
  * Override or extend the styles applied to the component.
@@ -28,7 +29,7 @@ export interface MultiInputDateTimeRangeFieldProps<TDate> extends UseMultiInputD
28
29
  */
29
30
  slotProps?: MultiInputDateTimeRangeFieldSlotProps<TDate>;
30
31
  }
31
- export type MultiInputDateTimeRangeFieldOwnerState<TDate> = MultiInputDateTimeRangeFieldProps<TDate>;
32
+ export type MultiInputDateTimeRangeFieldOwnerState<TDate extends PickerValidDate> = MultiInputDateTimeRangeFieldProps<TDate>;
32
33
  export interface MultiInputDateTimeRangeFieldSlots {
33
34
  /**
34
35
  * Element rendered at the root.
@@ -48,11 +49,11 @@ export interface MultiInputDateTimeRangeFieldSlots {
48
49
  */
49
50
  separator?: React.ElementType;
50
51
  }
51
- export interface MultiInputDateTimeRangeFieldSlotProps<TDate> {
52
+ export interface MultiInputDateTimeRangeFieldSlotProps<TDate extends PickerValidDate> {
52
53
  root?: SlotComponentProps<typeof Stack, {}, MultiInputDateTimeRangeFieldOwnerState<TDate>>;
53
54
  textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateTimeRangeFieldOwnerState<TDate> & {
54
55
  position: RangePosition;
55
56
  }>;
56
57
  separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateTimeRangeFieldOwnerState<TDate>>;
57
58
  }
58
- export type UseMultiInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps extends {}> = UseDateTimeRangeFieldDefaultizedProps<TDate> & Omit<AdditionalProps, 'value' | 'defaultValue' | 'onChange'>;
59
+ export type UseMultiInputDateTimeRangeFieldDefaultizedProps<TDate extends PickerValidDate, AdditionalProps extends {}> = UseDateTimeRangeFieldDefaultizedProps<TDate> & Omit<AdditionalProps, 'value' | 'defaultValue' | 'onChange'>;
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
3
  import { MultiInputTimeRangeFieldProps } from './MultiInputTimeRangeField.types';
3
4
  import { MultiInputRangeFieldClasses } from '../models';
4
5
  export declare const multiInputTimeRangeFieldClasses: MultiInputRangeFieldClasses;
5
6
  export declare const getMultiInputTimeRangeFieldUtilityClass: (slot: string) => string;
6
- type MultiInputTimeRangeFieldComponent = (<TDate>(props: MultiInputTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
+ type MultiInputTimeRangeFieldComponent = (<TDate extends PickerValidDate>(props: MultiInputTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
8
  propTypes?: any;
8
9
  };
9
10
  /**