@mui/x-date-pickers-pro 6.0.1 → 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 (90) hide show
  1. package/CHANGELOG.md +116 -10
  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.js +1 -1
  18. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +7 -5
  19. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +1 -1
  20. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -5
  21. package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -2
  22. package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  23. package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -2
  24. package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  25. package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +14 -2
  26. package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -2
  27. package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  28. package/internal/hooks/useRangePickerInputProps.d.ts +2 -2
  29. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -1
  30. package/internal/models/dateRange.d.ts +2 -1
  31. package/internal/models/dateTimeRange.d.ts +2 -1
  32. package/internal/models/fields.d.ts +1 -1
  33. package/internal/models/timeRange.d.ts +2 -1
  34. package/internal/utils/releaseInfo.js +1 -1
  35. package/internal/utils/valueManagers.js +3 -9
  36. package/legacy/DateRangePickerDay/DateRangePickerDay.js +4 -7
  37. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  38. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +13 -2
  39. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -2
  40. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
  41. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +4 -2
  42. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
  43. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +4 -2
  44. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
  45. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +4 -2
  46. package/legacy/index.js +1 -1
  47. package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +1 -1
  48. package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +1 -1
  49. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  50. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  51. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  52. package/legacy/internal/utils/releaseInfo.js +1 -1
  53. package/legacy/internal/utils/valueManagers.js +2 -8
  54. package/modern/DateRangePickerDay/DateRangePickerDay.js +3 -6
  55. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  56. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
  57. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
  58. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
  59. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
  60. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
  61. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
  62. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
  63. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
  64. package/modern/index.js +1 -1
  65. package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +1 -1
  66. package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +1 -1
  67. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  68. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  69. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  70. package/modern/internal/utils/releaseInfo.js +1 -1
  71. package/modern/internal/utils/valueManagers.js +3 -9
  72. package/node/DateRangePickerDay/DateRangePickerDay.js +3 -6
  73. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  74. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
  75. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
  76. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
  77. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
  78. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
  79. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
  80. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
  81. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
  82. package/node/index.js +1 -1
  83. package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +1 -1
  84. package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +1 -1
  85. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  86. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  87. package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  88. package/node/internal/utils/releaseInfo.js +1 -1
  89. package/node/internal/utils/valueManagers.js +2 -8
  90. package/package.json +5 -5
@@ -5,7 +5,7 @@ import Typography, { TypographyProps } from '@mui/material/Typography';
5
5
  import { SlotComponentProps } from '@mui/base/utils';
6
6
  import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout/PickersLayout.types';
7
7
  import { DateOrTimeView, UsePickerParams, BasePickerProps, PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, UncapitalizeObjectKeys, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
8
- import { DateRange } from '../../models';
8
+ import { DateRange, RangeFieldSection } from '../../models';
9
9
  import { BaseMultiInputFieldProps } from '../../models/fields';
10
10
  import { UseRangePositionProps, UseRangePositionResponse } from '../useRangePosition';
11
11
  export interface UseDesktopRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends Pick<PickersPopperSlotsComponent, 'DesktopPaper' | 'DesktopTransition' | 'DesktopTrapFocus' | 'Popper'>, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView> {
@@ -21,13 +21,15 @@ export interface UseDesktopRangePickerSlotsComponent<TDate, TView extends DateOr
21
21
  TextField?: React.ElementType<TextFieldProps>;
22
22
  }
23
23
  export interface UseDesktopRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends PickersPopperSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView> {
24
- field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, unknown>>, {}, unknown>;
24
+ field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, RangeFieldSection, unknown>>, {}, unknown>;
25
25
  fieldRoot?: SlotComponentProps<typeof Stack, {}, unknown>;
26
26
  fieldSeparator?: SlotComponentProps<typeof Typography, {}, unknown>;
27
- textField?: SlotComponentProps<typeof TextField, {}, unknown>;
27
+ textField?: SlotComponentProps<typeof TextField, {}, {
28
+ position?: 'start' | 'end';
29
+ } & Record<string, any>>;
28
30
  toolbar?: ExportedBaseToolbarProps;
29
31
  }
30
- export interface DesktopRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null>, UsePickerViewsNonStaticProps, UseRangePositionProps {
32
+ export interface DesktopRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, RangeFieldSection>, UsePickerViewsNonStaticProps, UseRangePositionProps {
31
33
  /**
32
34
  * If `true`, the start `input` element is focused during the first mount.
33
35
  */
@@ -47,6 +49,6 @@ export interface UseDesktopRangePickerProps<TDate, TView extends DateOrTimeView,
47
49
  }
48
50
  export interface DesktopRangePickerAdditionalViewProps extends UseRangePositionResponse {
49
51
  }
50
- export interface UseDesktopRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, TExternalProps, DesktopRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
52
+ export interface UseDesktopRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, RangeFieldSection, TExternalProps, DesktopRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
51
53
  props: TExternalProps;
52
54
  }
@@ -86,7 +86,7 @@ export const useMobileRangePicker = ({
86
86
  const externalInputProps = resolveComponentProps(innerSlotProps == null ? void 0 : innerSlotProps.textField, ownerState);
87
87
  return _extends({}, isToolbarHidden && {
88
88
  id: `${labelId}-${ownerState.position}`
89
- }, externalInputProps, ownerState.position === 'start' ? fieldSlotProps.startInput : fieldSlotProps.endInput);
89
+ }, ownerState.position === 'start' ? fieldSlotProps.startInput : fieldSlotProps.endInput, externalInputProps);
90
90
  },
91
91
  root: ownerState => {
92
92
  const externalRootProps = resolveComponentProps(innerSlotProps == null ? void 0 : innerSlotProps.fieldRoot, ownerState);
@@ -5,7 +5,7 @@ import Typography, { TypographyProps } from '@mui/material/Typography';
5
5
  import { SlotComponentProps } from '@mui/base/utils';
6
6
  import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout/PickersLayout.types';
7
7
  import { DateOrTimeView, UsePickerParams, BasePickerProps, PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, UncapitalizeObjectKeys, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
8
- import { DateRange } from '../../models';
8
+ import { DateRange, RangeFieldSection } from '../../models';
9
9
  import { BaseMultiInputFieldProps } from '../../models/fields';
10
10
  import { UseRangePositionProps, UseRangePositionResponse } from '../useRangePosition';
11
11
  export interface UseMobileRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends PickersModalDialogSlotsComponent, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView> {
@@ -20,13 +20,15 @@ export interface UseMobileRangePickerSlotsComponent<TDate, TView extends DateOrT
20
20
  TextField?: React.ElementType<TextFieldProps>;
21
21
  }
22
22
  export interface UseMobileRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends PickersModalDialogSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView> {
23
- field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, unknown>>, {}, unknown>;
23
+ field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, RangeFieldSection, unknown>>, {}, unknown>;
24
24
  fieldRoot?: SlotComponentProps<typeof Stack, {}, unknown>;
25
25
  fieldSeparator?: SlotComponentProps<typeof Typography, {}, unknown>;
26
- textField?: SlotComponentProps<typeof TextField, {}, unknown>;
26
+ textField?: SlotComponentProps<typeof TextField, {}, {
27
+ position?: 'start' | 'end';
28
+ } & Record<string, any>>;
27
29
  toolbar?: ExportedBaseToolbarProps;
28
30
  }
29
- export interface MobileRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null>, UsePickerViewsNonStaticProps, UseRangePositionProps {
31
+ export interface MobileRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, RangeFieldSection>, UsePickerViewsNonStaticProps, UseRangePositionProps {
30
32
  }
31
33
  export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeView, TError, TExternalProps extends UsePickerViewsProps<any, TView, any, any>> extends MobileRangeOnlyPickerProps<TDate>, BasePickerProps<DateRange<TDate>, TDate, TView, TError, TExternalProps, MobileRangePickerAdditionalViewProps> {
32
34
  /**
@@ -42,6 +44,6 @@ export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeView,
42
44
  }
43
45
  export interface MobileRangePickerAdditionalViewProps extends UseRangePositionResponse {
44
46
  }
45
- export interface UseMobileRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, TExternalProps, MobileRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
47
+ export interface UseMobileRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, RangeFieldSection, TExternalProps, MobileRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
46
48
  props: TExternalProps;
47
49
  }
@@ -1,4 +1,3 @@
1
- import { UseDateFieldProps } from '@mui/x-date-pickers/DateField';
2
1
  import { UseMultiInputDateRangeFieldParams } from '../../../MultiInputDateRangeField/MultiInputDateRangeField.types';
3
2
  import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
4
- export declare const useMultiInputDateRangeField: <TDate, TChildProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps: inStartTextFieldProps, endTextFieldProps: inEndTextFieldProps, startInputRef, endInputRef, }: UseMultiInputDateRangeFieldParams<TDate, TChildProps>) => UseMultiInputRangeFieldResponse<Omit<TChildProps, keyof UseDateFieldProps<TDate>>>;
3
+ export declare const useMultiInputDateRangeField: <TDate, TTextFieldProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, startInputRef, unstableStartFieldRef, endTextFieldProps, endInputRef, unstableEndFieldRef, }: UseMultiInputDateRangeFieldParams<TDate, TTextFieldProps>) => UseMultiInputRangeFieldResponse<TTextFieldProps>;
@@ -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 = "MTY3ODMwMjAwMDAwMA==";
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.