@mui/x-date-pickers-pro 6.0.2 → 6.0.3

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 (82) hide show
  1. package/CHANGELOG.md +58 -5
  2. package/DateRangePickerDay/DateRangePickerDay.js +3 -6
  3. package/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  4. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +8 -10
  5. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
  6. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +8 -8
  7. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
  8. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +8 -8
  9. package/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
  10. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
  11. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
  12. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
  13. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
  14. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
  15. package/index.d.ts +1 -1
  16. package/index.js +1 -1
  17. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +4 -4
  18. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +4 -4
  19. package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -2
  20. package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  21. package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -2
  22. package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  23. package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +14 -2
  24. package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -2
  25. package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  26. package/internal/hooks/useRangePickerInputProps.d.ts +2 -2
  27. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -1
  28. package/internal/models/dateRange.d.ts +2 -1
  29. package/internal/models/dateTimeRange.d.ts +2 -1
  30. package/internal/models/fields.d.ts +1 -1
  31. package/internal/models/timeRange.d.ts +2 -1
  32. package/internal/utils/releaseInfo.js +1 -1
  33. package/internal/utils/valueManagers.js +3 -9
  34. package/legacy/DateRangePickerDay/DateRangePickerDay.js +4 -7
  35. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  36. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +13 -2
  37. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -2
  38. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
  39. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +4 -2
  40. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
  41. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +4 -2
  42. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
  43. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +4 -2
  44. package/legacy/index.js +1 -1
  45. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  46. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  47. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  48. package/legacy/internal/utils/releaseInfo.js +1 -1
  49. package/legacy/internal/utils/valueManagers.js +2 -8
  50. package/modern/DateRangePickerDay/DateRangePickerDay.js +3 -6
  51. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  52. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
  53. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
  54. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
  55. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
  56. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
  57. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
  58. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
  59. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
  60. package/modern/index.js +1 -1
  61. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  62. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  63. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  64. package/modern/internal/utils/releaseInfo.js +1 -1
  65. package/modern/internal/utils/valueManagers.js +3 -9
  66. package/node/DateRangePickerDay/DateRangePickerDay.js +3 -6
  67. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  68. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
  69. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
  70. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
  71. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
  72. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
  73. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
  74. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
  75. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
  76. package/node/index.js +1 -1
  77. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  78. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  79. package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  80. package/node/internal/utils/releaseInfo.js +1 -1
  81. package/node/internal/utils/valueManagers.js +2 -8
  82. package/package.json +4 -4
@@ -9,10 +9,12 @@ import { validateDateRange } from '../validation/useDateRangeValidation';
9
9
  import { rangeValueManager } from '../../utils/valueManagers';
10
10
  export const useMultiInputDateRangeField = ({
11
11
  sharedProps: inSharedProps,
12
- startTextFieldProps: inStartTextFieldProps,
13
- endTextFieldProps: inEndTextFieldProps,
12
+ startTextFieldProps,
14
13
  startInputRef,
15
- endInputRef
14
+ unstableStartFieldRef,
15
+ endTextFieldProps,
16
+ endInputRef,
17
+ unstableEndFieldRef
16
18
  }) => {
17
19
  var _firstDefaultValue$cu;
18
20
  const sharedProps = useDefaultizedDateRangeFieldProps(inSharedProps);
@@ -23,7 +25,9 @@ export const useMultiInputDateRangeField = ({
23
25
  format,
24
26
  onChange,
25
27
  disabled,
26
- readOnly
28
+ readOnly,
29
+ selectedSections,
30
+ onSelectedSectionsChange
27
31
  } = sharedProps;
28
32
  const firstDefaultValue = React.useRef(defaultValue);
29
33
  const [value, setValue] = useControlled({
@@ -42,9 +46,7 @@ export const useMultiInputDateRangeField = ({
42
46
  validationError: validateDateRange({
43
47
  adapter,
44
48
  value: newDateRange,
45
- props: _extends({}, sharedProps, {
46
- value: newDateRange
47
- })
49
+ props: sharedProps
48
50
  })
49
51
  });
50
52
  onChange == null ? void 0 : onChange(newDateRange, context);
@@ -55,32 +57,38 @@ export const useMultiInputDateRangeField = ({
55
57
  const validationError = useValidation(_extends({}, sharedProps, {
56
58
  value
57
59
  }), validateDateRange, rangeValueManager.isSameError, rangeValueManager.defaultErrorState);
58
- const startInputProps = _extends({
60
+ const startFieldProps = _extends({
59
61
  error: !!validationError[0]
60
- }, inStartTextFieldProps, {
62
+ }, startTextFieldProps, {
61
63
  disabled,
62
64
  readOnly,
63
65
  format,
66
+ unstableFieldRef: unstableStartFieldRef,
64
67
  value: valueProp === undefined ? undefined : valueProp[0],
65
68
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
66
- onChange: handleStartDateChange
69
+ onChange: handleStartDateChange,
70
+ selectedSections,
71
+ onSelectedSectionsChange
67
72
  });
68
- const endInputProps = _extends({
73
+ const endFieldProps = _extends({
69
74
  error: !!validationError[1]
70
- }, inEndTextFieldProps, {
75
+ }, endTextFieldProps, {
71
76
  format,
72
77
  disabled,
73
78
  readOnly,
79
+ unstableFieldRef: unstableEndFieldRef,
74
80
  value: valueProp === undefined ? undefined : valueProp[1],
75
81
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
76
- onChange: handleEndDateChange
82
+ onChange: handleEndDateChange,
83
+ selectedSections,
84
+ onSelectedSectionsChange
77
85
  });
78
86
  const startDateResponse = useDateField({
79
- props: startInputProps,
87
+ props: startFieldProps,
80
88
  inputRef: startInputRef
81
89
  });
82
90
  const endDateResponse = useDateField({
83
- props: endInputProps,
91
+ props: endFieldProps,
84
92
  inputRef: endInputRef
85
93
  });
86
94
  return {
@@ -1,5 +1,4 @@
1
- import { UseDateTimeFieldProps } from '@mui/x-date-pickers/DateTimeField';
2
1
  import type { UseMultiInputDateTimeRangeFieldDefaultizedProps, UseMultiInputDateTimeRangeFieldParams, UseMultiInputDateTimeRangeFieldProps } from '../../../MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types';
3
2
  import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
4
3
  export declare const useDefaultizedDateTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseMultiInputDateTimeRangeFieldProps<TDate>) => UseMultiInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
5
- export declare const useMultiInputDateTimeRangeField: <TDate, TChildProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps: inStartTextFieldProps, endTextFieldProps: inEndTextFieldProps, startInputRef, endInputRef, }: UseMultiInputDateTimeRangeFieldParams<TDate, TChildProps>) => UseMultiInputRangeFieldResponse<Omit<TChildProps, keyof UseDateTimeFieldProps<TDate>>>;
4
+ export declare const useMultiInputDateTimeRangeField: <TDate, TTextFieldProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, startInputRef, unstableStartFieldRef, endTextFieldProps, endInputRef, unstableEndFieldRef, }: UseMultiInputDateTimeRangeFieldParams<TDate, TTextFieldProps>) => UseMultiInputRangeFieldResponse<TTextFieldProps>;
@@ -25,10 +25,12 @@ export const useDefaultizedDateTimeRangeFieldProps = props => {
25
25
  };
26
26
  export const useMultiInputDateTimeRangeField = ({
27
27
  sharedProps: inSharedProps,
28
- startTextFieldProps: inStartTextFieldProps,
29
- endTextFieldProps: inEndTextFieldProps,
28
+ startTextFieldProps,
30
29
  startInputRef,
31
- endInputRef
30
+ unstableStartFieldRef,
31
+ endTextFieldProps,
32
+ endInputRef,
33
+ unstableEndFieldRef
32
34
  }) => {
33
35
  var _firstDefaultValue$cu;
34
36
  const sharedProps = useDefaultizedDateTimeRangeFieldProps(inSharedProps);
@@ -58,9 +60,7 @@ export const useMultiInputDateTimeRangeField = ({
58
60
  validationError: validateDateTimeRange({
59
61
  adapter,
60
62
  value: newDateRange,
61
- props: _extends({}, sharedProps, {
62
- value: newDateRange
63
- })
63
+ props: sharedProps
64
64
  })
65
65
  });
66
66
  onChange == null ? void 0 : onChange(newDateRange, context);
@@ -71,32 +71,34 @@ export const useMultiInputDateTimeRangeField = ({
71
71
  const validationError = useValidation(_extends({}, sharedProps, {
72
72
  value
73
73
  }), validateDateTimeRange, rangeValueManager.isSameError, rangeValueManager.defaultErrorState);
74
- const startInputProps = _extends({
74
+ const startFieldProps = _extends({
75
75
  error: !!validationError[0]
76
- }, inStartTextFieldProps, {
76
+ }, startTextFieldProps, {
77
77
  format,
78
78
  disabled,
79
79
  readOnly,
80
+ unstableFieldRef: unstableStartFieldRef,
80
81
  value: valueProp === undefined ? undefined : valueProp[0],
81
82
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
82
83
  onChange: handleStartDateChange
83
84
  });
84
- const endInputProps = _extends({
85
+ const endFieldProps = _extends({
85
86
  error: !!validationError[1]
86
- }, inEndTextFieldProps, {
87
+ }, endTextFieldProps, {
87
88
  format,
88
89
  disabled,
89
90
  readOnly,
91
+ unstableFieldRef: unstableEndFieldRef,
90
92
  value: valueProp === undefined ? undefined : valueProp[1],
91
93
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
92
94
  onChange: handleEndDateChange
93
95
  });
94
96
  const startDateResponse = useDateTimeField({
95
- props: startInputProps,
97
+ props: startFieldProps,
96
98
  inputRef: startInputRef
97
99
  });
98
100
  const endDateResponse = useDateTimeField({
99
- props: endInputProps,
101
+ props: endFieldProps,
100
102
  inputRef: endInputRef
101
103
  });
102
104
  return {
@@ -1,5 +1,17 @@
1
- import { UseFieldResponse, UseFieldForwardedProps } from '@mui/x-date-pickers/internals';
2
- export interface UseMultiInputRangeFieldResponse<TForwardedProps extends UseFieldForwardedProps> {
1
+ import * as React from 'react';
2
+ import { FieldRef } from '@mui/x-date-pickers/models';
3
+ import { UseFieldResponse } from '@mui/x-date-pickers/internals';
4
+ import { RangeFieldSection } from '../../models/fields';
5
+ export interface UseMultiInputRangeFieldParams<TSharedProps extends {}, TTextFieldProps extends {}> {
6
+ sharedProps: TSharedProps;
7
+ startTextFieldProps: TTextFieldProps;
8
+ startInputRef?: React.Ref<HTMLInputElement>;
9
+ unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
10
+ endTextFieldProps: TTextFieldProps;
11
+ endInputRef?: React.Ref<HTMLInputElement>;
12
+ unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
13
+ }
14
+ export interface UseMultiInputRangeFieldResponse<TForwardedProps extends {}> {
3
15
  startDate: UseFieldResponse<TForwardedProps>;
4
16
  endDate: UseFieldResponse<TForwardedProps>;
5
17
  }
@@ -1,5 +1,4 @@
1
- import { UseTimeFieldProps } from '@mui/x-date-pickers/TimeField';
2
1
  import type { UseMultiInputTimeRangeFieldDefaultizedProps, UseMultiInputTimeRangeFieldParams, UseMultiInputTimeRangeFieldProps } from '../../../MultiInputTimeRangeField/MultiInputTimeRangeField.types';
3
2
  import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
4
3
  export declare const useDefaultizedTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseMultiInputTimeRangeFieldProps<TDate>) => UseMultiInputTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
5
- export declare const useMultiInputTimeRangeField: <TDate, TChildProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps: inStartTextFieldProps, endTextFieldProps: inEndTextFieldProps, startInputRef, endInputRef, }: UseMultiInputTimeRangeFieldParams<TDate, TChildProps>) => UseMultiInputRangeFieldResponse<Omit<TChildProps, keyof UseTimeFieldProps<TDate>>>;
4
+ export declare const useMultiInputTimeRangeField: <TDate, TTextFieldProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, startInputRef, unstableStartFieldRef, endTextFieldProps, endInputRef, unstableEndFieldRef, }: UseMultiInputTimeRangeFieldParams<TDate, TTextFieldProps>) => UseMultiInputRangeFieldResponse<TTextFieldProps>;
@@ -19,10 +19,12 @@ export const useDefaultizedTimeRangeFieldProps = props => {
19
19
  };
20
20
  export const useMultiInputTimeRangeField = ({
21
21
  sharedProps: inSharedProps,
22
- startTextFieldProps: inStartTextFieldProps,
23
- endTextFieldProps: inEndTextFieldProps,
22
+ startTextFieldProps,
24
23
  startInputRef,
25
- endInputRef
24
+ unstableStartFieldRef,
25
+ endTextFieldProps,
26
+ endInputRef,
27
+ unstableEndFieldRef
26
28
  }) => {
27
29
  var _firstDefaultValue$cu;
28
30
  const sharedProps = useDefaultizedTimeRangeFieldProps(inSharedProps);
@@ -52,9 +54,7 @@ export const useMultiInputTimeRangeField = ({
52
54
  validationError: validateTimeRange({
53
55
  adapter,
54
56
  value: newDateRange,
55
- props: _extends({}, sharedProps, {
56
- value: newDateRange
57
- })
57
+ props: sharedProps
58
58
  })
59
59
  });
60
60
  onChange == null ? void 0 : onChange(newDateRange, context);
@@ -65,32 +65,34 @@ export const useMultiInputTimeRangeField = ({
65
65
  const validationError = useValidation(_extends({}, sharedProps, {
66
66
  value
67
67
  }), validateTimeRange, rangeValueManager.isSameError, rangeValueManager.defaultErrorState);
68
- const startInputProps = _extends({
68
+ const startFieldProps = _extends({
69
69
  error: !!validationError[0]
70
- }, inStartTextFieldProps, {
70
+ }, startTextFieldProps, {
71
71
  format,
72
72
  disabled,
73
73
  readOnly,
74
+ unstableFieldRef: unstableStartFieldRef,
74
75
  value: valueProp === undefined ? undefined : valueProp[0],
75
76
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
76
77
  onChange: handleStartDateChange
77
78
  });
78
- const endInputProps = _extends({
79
+ const endFieldProps = _extends({
79
80
  error: !!validationError[1]
80
- }, inEndTextFieldProps, {
81
+ }, endTextFieldProps, {
81
82
  format,
82
83
  disabled,
83
84
  readOnly,
85
+ unstableFieldRef: unstableEndFieldRef,
84
86
  value: valueProp === undefined ? undefined : valueProp[1],
85
87
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
86
88
  onChange: handleEndDateChange
87
89
  });
88
90
  const startDateResponse = useTimeField({
89
- props: startInputProps,
91
+ props: startFieldProps,
90
92
  inputRef: startInputRef
91
93
  });
92
94
  const endDateResponse = useTimeField({
93
- props: endInputProps,
95
+ props: endFieldProps,
94
96
  inputRef: endInputRef
95
97
  });
96
98
  return {
@@ -1,7 +1,7 @@
1
1
  import { PickersInputLocaleText } from '@mui/x-date-pickers';
2
2
  import { DateOrTimeView, UsePickerResponse, WrapperVariant } from '@mui/x-date-pickers/internals';
3
- import { DateRange, MultiInputFieldSlotRootProps, MultiInputFieldSlotTextFieldProps, RangePosition } from '../models';
4
- interface UseRangePickerFieldParams<TDate, TView extends DateOrTimeView> extends Pick<UsePickerResponse<DateRange<TDate>, TView, any>, 'open' | 'actions'> {
3
+ import { DateRange, MultiInputFieldSlotRootProps, MultiInputFieldSlotTextFieldProps, RangeFieldSection, RangePosition } from '../models';
4
+ interface UseRangePickerFieldParams<TDate, TView extends DateOrTimeView> extends Pick<UsePickerResponse<DateRange<TDate>, TView, RangeFieldSection, any>, 'open' | 'actions'> {
5
5
  wrapperVariant: WrapperVariant;
6
6
  readOnly?: boolean;
7
7
  disabled?: boolean;
@@ -3,6 +3,7 @@ import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponen
3
3
  import { DateOrTimeView, BasePickerProps, UsePickerParams, ExportedBaseToolbarProps, StaticOnlyPickerProps, UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
4
4
  import { DateRange } from '../../models/range';
5
5
  import { UseRangePositionProps } from '../useRangePosition';
6
+ import { RangeFieldSection } from '../../models/fields';
6
7
  export interface UseStaticRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView> {
7
8
  }
8
9
  export interface UseStaticRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView> {
@@ -22,7 +23,7 @@ export interface UseStaticRangePickerProps<TDate, TView extends DateOrTimeView,
22
23
  */
23
24
  slotProps?: UseStaticRangePickerSlotsComponentsProps<TDate, TView>;
24
25
  }
25
- export interface UseStaticRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseStaticRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, TExternalProps, {}>, 'valueManager' | 'validator'> {
26
+ export interface UseStaticRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseStaticRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, RangeFieldSection, TExternalProps, {}>, 'valueManager' | 'validator'> {
26
27
  props: TExternalProps;
27
28
  /**
28
29
  * Ref to pass to the root element
@@ -1,6 +1,7 @@
1
1
  import { BaseDateValidationProps, DefaultizedProps, MakeOptional, UseFieldInternalProps } from '@mui/x-date-pickers/internals';
2
2
  import { DateRange } from './range';
3
3
  import type { DateRangeValidationError } from '../hooks/validation/useDateRangeValidation';
4
+ import { RangeFieldSection } from './fields';
4
5
  /**
5
6
  * Props used to validate a day value in range pickers.
6
7
  */
@@ -24,6 +25,6 @@ export interface BaseRangeProps {
24
25
  */
25
26
  disabled?: boolean;
26
27
  }
27
- export interface UseDateRangeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<DateRange<TDate>, DateRangeValidationError>, 'format'>, DayRangeValidationProps<TDate>, BaseDateValidationProps<TDate>, BaseRangeProps {
28
+ export interface UseDateRangeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<DateRange<TDate>, RangeFieldSection, DateRangeValidationError>, 'format'>, DayRangeValidationProps<TDate>, BaseDateValidationProps<TDate>, BaseRangeProps {
28
29
  }
29
30
  export type UseDateRangeFieldDefaultizedProps<TDate> = DefaultizedProps<UseDateRangeFieldProps<TDate>, keyof BaseDateValidationProps<TDate> | 'format'>;
@@ -2,7 +2,8 @@ import { BaseDateValidationProps, TimeValidationProps, DefaultizedProps, MakeOpt
2
2
  import { BaseRangeProps, DayRangeValidationProps } from './dateRange';
3
3
  import { DateRange } from './range';
4
4
  import { DateTimeRangeValidationError } from '../hooks/validation/useDateTimeRangeValidation';
5
- export interface UseDateTimeRangeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<DateRange<TDate>, DateTimeRangeValidationError>, 'format'>, DayRangeValidationProps<TDate>, TimeValidationProps<TDate>, BaseDateValidationProps<TDate>, BaseRangeProps {
5
+ import { RangeFieldSection } from './fields';
6
+ export interface UseDateTimeRangeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<DateRange<TDate>, RangeFieldSection, DateTimeRangeValidationError>, 'format'>, DayRangeValidationProps<TDate>, TimeValidationProps<TDate>, BaseDateValidationProps<TDate>, BaseRangeProps {
6
7
  /**
7
8
  * Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
8
9
  */
@@ -27,7 +27,7 @@ export interface MultiInputFieldSlotRootProps {
27
27
  * Props the multi input field can receive when used inside a picker.
28
28
  * Only contains what the MUI component are passing to the field, not what users can pass using the `props.slotProps.field`.
29
29
  */
30
- export interface BaseMultiInputFieldProps<TValue, TError> extends BaseFieldProps<TValue, TError> {
30
+ export interface BaseMultiInputFieldProps<TValue, TSection extends FieldSection, TError> extends BaseFieldProps<TValue, TSection, TError> {
31
31
  slots?: {};
32
32
  slotProps?: {
33
33
  root?: SlotComponentProps<React.ElementType<MultiInputFieldSlotRootProps>, {}, Record<string, any>>;
@@ -2,7 +2,8 @@ import { BaseTimeValidationProps, TimeValidationProps, DefaultizedProps, MakeOpt
2
2
  import { DateRange } from './range';
3
3
  import { TimeRangeValidationError } from '../hooks/validation/useTimeRangeValidation';
4
4
  import { BaseRangeProps } from './dateRange';
5
- export interface UseTimeRangeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<DateRange<TDate>, TimeRangeValidationError>, 'format'>, TimeValidationProps<TDate>, BaseTimeValidationProps, BaseRangeProps {
5
+ import { RangeFieldSection } from './fields';
6
+ export interface UseTimeRangeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<DateRange<TDate>, RangeFieldSection, TimeRangeValidationError>, 'format'>, TimeValidationProps<TDate>, BaseTimeValidationProps, BaseRangeProps {
6
7
  /**
7
8
  * 12h/24h view for hour selection clock.
8
9
  * @default `utils.is12HourCycleInCurrentLocale()`
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY3ODkxNzYwMDAwMA==";
3
+ const releaseInfo = "MTY3OTUyNjAwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -1,11 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { replaceInvalidDateByNull, splitFormatIntoSections, addPositionPropertiesToSections, createDateStrForInputFromSections, getSectionOrder } from '@mui/x-date-pickers/internals';
2
+ import { replaceInvalidDateByNull, splitFormatIntoSections, addPositionPropertiesToSections, createDateStrForInputFromSections, areDatesEqual } from '@mui/x-date-pickers/internals';
3
3
  import { splitDateRangeSections, removeLastSeparator } from './date-fields-utils';
4
4
  export const rangeValueManager = {
5
5
  emptyValue: [null, null],
6
6
  getTodayValue: utils => [utils.date(), utils.date()],
7
7
  cleanValue: (utils, value) => value.map(date => replaceInvalidDateByNull(utils, date)),
8
- areValuesEqual: (utils, a, b) => utils.isEqual(a[0], b[0]) && utils.isEqual(a[1], b[1]),
8
+ areValuesEqual: (utils, a, b) => areDatesEqual(utils, a[0], b[0]) && areDatesEqual(utils, a[1], b[1]),
9
9
  isSameError: (a, b) => b !== null && a[1] === b[1] && a[0] === b[0],
10
10
  defaultErrorState: [null, null]
11
11
  };
@@ -80,11 +80,5 @@ export const rangeFieldValueManager = {
80
80
  })
81
81
  };
82
82
  },
83
- hasError: error => error[0] != null || error[1] != null,
84
- getSectionOrder: (utils, localeText, format, isRTL) => {
85
- const splitedFormat = splitFormatIntoSections(utils, localeText, format, null);
86
- return getSectionOrder([...splitedFormat.slice(0, splitedFormat.length - 1), _extends({}, splitedFormat[splitedFormat.length - 1], {
87
- endSeparator: ' – '
88
- }), ...splitedFormat], isRTL);
89
- }
83
+ hasError: error => error[0] != null || error[1] != null
90
84
  };
@@ -61,7 +61,7 @@ var DateRangePickerDayRoot = styled('div', {
61
61
  })), _extends2), ownerState.isHighlighting && {
62
62
  borderRadius: 0,
63
63
  color: (theme.vars || theme).palette.primary.contrastText,
64
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.lightChannel, " / 0.6)") : alpha(theme.palette.primary.light, 0.6),
64
+ backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / ").concat(theme.vars.palette.action.focusOpacity, ")") : alpha(theme.palette.primary.main, theme.palette.action.focusOpacity),
65
65
  '&:first-of-type': startBorderStyle,
66
66
  '&:last-of-type': endBorderStyle
67
67
  }, (ownerState.isStartOfHighlighting || ownerState.isFirstVisibleCell) && _extends({}, startBorderStyle, {
@@ -114,20 +114,17 @@ var DateRangePickerDayDay = styled(PickersDay, {
114
114
  return [_defineProperty({}, "&.".concat(dateRangePickerDayClasses.dayInsideRangeInterval), styles.dayInsideRangeInterval), _defineProperty({}, "&.".concat(dateRangePickerDayClasses.dayOutsideRangeInterval), styles.dayOutsideRangeInterval), _defineProperty({}, "&.".concat(dateRangePickerDayClasses.notSelectedDate), styles.notSelectedDate), styles.day];
115
115
  }
116
116
  })(function (_ref18) {
117
- var theme = _ref18.theme,
118
- ownerState = _ref18.ownerState;
117
+ var ownerState = _ref18.ownerState;
119
118
  return _extends({
120
119
  // Required to overlap preview border
121
120
  transform: 'scale(1.1)',
122
121
  '& > *': {
123
122
  transform: 'scale(0.9)'
124
123
  }
125
- }, !ownerState.selected && {
126
- backgroundColor: 'transparent'
127
124
  }, !ownerState.selected && ownerState.isHighlighting && _defineProperty({
128
- color: theme.palette.getContrastText(alpha(theme.palette.primary.light, 0.6))
125
+ opacity: 0.7
129
126
  }, "&.".concat(pickersDayClasses.dayOutsideMonth), {
130
- color: alpha(theme.palette.getContrastText(theme.palette.primary.light), 0.4)
127
+ opacity: 0.4
131
128
  }), ownerState.draggable && {
132
129
  cursor: 'grab'
133
130
  }, ownerState.draggable && {
@@ -287,6 +287,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
287
287
  * The system prop, which allows defining system overrides as well as additional CSS styles.
288
288
  */
289
289
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
290
+ unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
291
+ unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
290
292
  /**
291
293
  * The selected value.
292
294
  * Used when the component is controlled.
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
3
+ var _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableStartFieldRef", "unstableEndFieldRef", "autoFocus"],
4
4
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
5
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
@@ -71,6 +71,9 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
71
71
  disablePast = themeProps.disablePast,
72
72
  selectedSections = themeProps.selectedSections,
73
73
  onSelectedSectionsChange = themeProps.onSelectedSectionsChange,
74
+ unstableStartFieldRef = themeProps.unstableStartFieldRef,
75
+ unstableEndFieldRef = themeProps.unstableEndFieldRef,
76
+ autoFocus = themeProps.autoFocus,
74
77
  other = _objectWithoutProperties(themeProps, _excluded);
75
78
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
76
79
  var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
@@ -89,6 +92,9 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
89
92
  var startTextFieldProps = useSlotProps({
90
93
  elementType: TextField,
91
94
  externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
95
+ additionalProps: {
96
+ autoFocus: autoFocus
97
+ },
92
98
  ownerState: _extends({}, ownerState, {
93
99
  position: 'start'
94
100
  })
@@ -133,7 +139,9 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
133
139
  startTextFieldProps: startTextFieldProps,
134
140
  endTextFieldProps: endTextFieldProps,
135
141
  startInputRef: startTextFieldProps.inputRef,
136
- endInputRef: endTextFieldProps.inputRef
142
+ unstableStartFieldRef: unstableStartFieldRef,
143
+ endInputRef: endTextFieldProps.inputRef,
144
+ unstableEndFieldRef: unstableEndFieldRef
137
145
  }),
138
146
  _useMultiInputDateTim2 = _useMultiInputDateTim.startDate,
139
147
  onStartInputKeyDown = _useMultiInputDateTim2.onKeyDown,
@@ -179,6 +187,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
179
187
  * @default `utils.is12HourCycleInCurrentLocale()`
180
188
  */
181
189
  ampm: PropTypes.bool,
190
+ autoFocus: PropTypes.bool,
182
191
  className: PropTypes.string,
183
192
  /**
184
193
  * Overridable components.
@@ -344,6 +353,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
344
353
  * The system prop, which allows defining system overrides as well as additional CSS styles.
345
354
  */
346
355
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
356
+ unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
357
+ unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
347
358
  /**
348
359
  * The selected value.
349
360
  * Used when the component is controlled.
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
3
+ var _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableStartFieldRef", "unstableEndFieldRef", "autoFocus"],
4
4
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
5
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
@@ -66,6 +66,9 @@ var MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
66
66
  disablePast = themeProps.disablePast,
67
67
  selectedSections = themeProps.selectedSections,
68
68
  onSelectedSectionsChange = themeProps.onSelectedSectionsChange,
69
+ unstableStartFieldRef = themeProps.unstableStartFieldRef,
70
+ unstableEndFieldRef = themeProps.unstableEndFieldRef,
71
+ autoFocus = themeProps.autoFocus,
69
72
  other = _objectWithoutProperties(themeProps, _excluded);
70
73
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
71
74
  var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
@@ -84,6 +87,9 @@ var MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
84
87
  var startTextFieldProps = useSlotProps({
85
88
  elementType: TextField,
86
89
  externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
90
+ additionalProps: {
91
+ autoFocus: autoFocus
92
+ },
87
93
  ownerState: _extends({}, ownerState, {
88
94
  position: 'start'
89
95
  })
@@ -123,7 +129,9 @@ var MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
123
129
  startTextFieldProps: startTextFieldProps,
124
130
  endTextFieldProps: endTextFieldProps,
125
131
  startInputRef: startTextFieldProps.inputRef,
126
- endInputRef: endTextFieldProps.inputRef
132
+ unstableStartFieldRef: unstableStartFieldRef,
133
+ endInputRef: endTextFieldProps.inputRef,
134
+ unstableEndFieldRef: unstableEndFieldRef
127
135
  }),
128
136
  _useMultiInputTimeRan2 = _useMultiInputTimeRan.startDate,
129
137
  onStartInputKeyDown = _useMultiInputTimeRan2.onKeyDown,
@@ -169,6 +177,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
169
177
  * @default `utils.is12HourCycleInCurrentLocale()`
170
178
  */
171
179
  ampm: PropTypes.bool,
180
+ autoFocus: PropTypes.bool,
172
181
  className: PropTypes.string,
173
182
  /**
174
183
  * Overridable components.
@@ -310,6 +319,8 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
310
319
  * The system prop, which allows defining system overrides as well as additional CSS styles.
311
320
  */
312
321
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
322
+ unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
323
+ unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
313
324
  /**
314
325
  * The selected value.
315
326
  * Used when the component is controlled.
@@ -247,6 +247,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
247
247
  * The system prop that allows defining system overrides as well as additional CSS styles.
248
248
  */
249
249
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
250
+ /**
251
+ * The ref object used to imperatively interact with the field.
252
+ */
253
+ unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
250
254
  /**
251
255
  * The selected value.
252
256
  * Used when the component is controlled.
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"];
3
+ var _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
4
4
  import { useUtils, useDefaultDates, applyDefaultDate, useField } from '@mui/x-date-pickers/internals';
5
5
  import { rangeValueManager, rangeFieldValueManager } from '../internal/utils/valueManagers';
6
6
  import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
@@ -33,6 +33,7 @@ export var useSingleInputDateRangeField = function useSingleInputDateRangeField(
33
33
  disablePast = _useDefaultizedDateRa.disablePast,
34
34
  selectedSections = _useDefaultizedDateRa.selectedSections,
35
35
  onSelectedSectionsChange = _useDefaultizedDateRa.onSelectedSectionsChange,
36
+ unstableFieldRef = _useDefaultizedDateRa.unstableFieldRef,
36
37
  other = _objectWithoutProperties(_useDefaultizedDateRa, _excluded);
37
38
  return useField({
38
39
  inputRef: inputRef,
@@ -50,7 +51,8 @@ export var useSingleInputDateRangeField = function useSingleInputDateRangeField(
50
51
  disableFuture: disableFuture,
51
52
  disablePast: disablePast,
52
53
  selectedSections: selectedSections,
53
- onSelectedSectionsChange: onSelectedSectionsChange
54
+ onSelectedSectionsChange: onSelectedSectionsChange,
55
+ unstableFieldRef: unstableFieldRef
54
56
  },
55
57
  valueManager: rangeValueManager,
56
58
  fieldValueManager: rangeFieldValueManager,
@@ -295,6 +295,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
295
295
  * The system prop that allows defining system overrides as well as additional CSS styles.
296
296
  */
297
297
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
298
+ /**
299
+ * The ref object used to imperatively interact with the field.
300
+ */
301
+ unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
298
302
  /**
299
303
  * The selected value.
300
304
  * Used when the component is controlled.
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange"];
3
+ var _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
4
4
  import { useUtils, useField, applyDefaultDate, useDefaultDates } from '@mui/x-date-pickers/internals';
5
5
  import { rangeValueManager, rangeFieldValueManager } from '../internal/utils/valueManagers';
6
6
  import { validateDateTimeRange } from '../internal/hooks/validation/useDateTimeRangeValidation';
@@ -45,6 +45,7 @@ export var useSingleInputDateTimeRangeField = function useSingleInputDateTimeRan
45
45
  disableIgnoringDatePartForTimeValidation = _useDefaultizedTimeRa.disableIgnoringDatePartForTimeValidation,
46
46
  selectedSections = _useDefaultizedTimeRa.selectedSections,
47
47
  onSelectedSectionsChange = _useDefaultizedTimeRa.onSelectedSectionsChange,
48
+ unstableFieldRef = _useDefaultizedTimeRa.unstableFieldRef,
48
49
  other = _objectWithoutProperties(_useDefaultizedTimeRa, _excluded);
49
50
  return useField({
50
51
  inputRef: inputRef,
@@ -67,7 +68,8 @@ export var useSingleInputDateTimeRangeField = function useSingleInputDateTimeRan
67
68
  shouldDisableTime: shouldDisableTime,
68
69
  disableIgnoringDatePartForTimeValidation: disableIgnoringDatePartForTimeValidation,
69
70
  selectedSections: selectedSections,
70
- onSelectedSectionsChange: onSelectedSectionsChange
71
+ onSelectedSectionsChange: onSelectedSectionsChange,
72
+ unstableFieldRef: unstableFieldRef
71
73
  },
72
74
  valueManager: rangeValueManager,
73
75
  fieldValueManager: rangeFieldValueManager,
@@ -271,6 +271,10 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
271
271
  * The system prop that allows defining system overrides as well as additional CSS styles.
272
272
  */
273
273
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
274
+ /**
275
+ * The ref object used to imperatively interact with the field.
276
+ */
277
+ unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
274
278
  /**
275
279
  * The selected value.
276
280
  * Used when the component is controlled.