@mui/x-date-pickers-pro 6.18.0 → 7.0.0-alpha.0

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 (87) hide show
  1. package/CHANGELOG.md +212 -5
  2. package/DateRangeCalendar/DateRangeCalendar.js +4 -20
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +4 -16
  4. package/DateRangePicker/DateRangePicker.js +0 -12
  5. package/DateRangePicker/DateRangePicker.types.d.ts +1 -14
  6. package/DateRangePicker/shared.d.ts +3 -15
  7. package/DateRangePicker/shared.js +7 -15
  8. package/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -12
  9. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +3 -15
  10. package/MobileDateRangePicker/MobileDateRangePicker.js +0 -12
  11. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +3 -15
  12. package/MultiInputDateRangeField/MultiInputDateRangeField.js +6 -22
  13. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +4 -17
  14. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +4 -20
  15. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +4 -17
  16. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +4 -20
  17. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +4 -17
  18. package/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -21
  19. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +3 -15
  20. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -21
  21. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +3 -15
  22. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -21
  23. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +3 -15
  24. package/StaticDateRangePicker/StaticDateRangePicker.js +0 -12
  25. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +2 -14
  26. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +1 -1
  27. package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -4
  28. package/index.js +1 -1
  29. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +2 -2
  30. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +6 -6
  31. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +2 -2
  32. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +9 -3
  33. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +9 -3
  34. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  35. package/internals/utils/releaseInfo.js +1 -1
  36. package/legacy/DateRangeCalendar/DateRangeCalendar.js +4 -20
  37. package/legacy/DateRangePicker/DateRangePicker.js +0 -12
  38. package/legacy/DateRangePicker/shared.js +7 -13
  39. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -12
  40. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -12
  41. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +6 -22
  42. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +4 -20
  43. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +4 -20
  44. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -21
  45. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -21
  46. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -21
  47. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -12
  48. package/legacy/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -4
  49. package/legacy/index.js +1 -1
  50. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +9 -3
  51. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +9 -3
  52. package/legacy/internals/utils/releaseInfo.js +1 -1
  53. package/modern/DateRangeCalendar/DateRangeCalendar.js +4 -20
  54. package/modern/DateRangePicker/DateRangePicker.js +0 -12
  55. package/modern/DateRangePicker/shared.js +6 -14
  56. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -12
  57. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -12
  58. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +5 -21
  59. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +4 -20
  60. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +4 -20
  61. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -20
  62. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -20
  63. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -20
  64. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -12
  65. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -4
  66. package/modern/index.js +1 -1
  67. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +9 -3
  68. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +9 -3
  69. package/modern/internals/utils/releaseInfo.js +1 -1
  70. package/node/DateRangeCalendar/DateRangeCalendar.js +3 -19
  71. package/node/DateRangePicker/DateRangePicker.js +0 -12
  72. package/node/DateRangePicker/shared.js +5 -13
  73. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -12
  74. package/node/MobileDateRangePicker/MobileDateRangePicker.js +0 -12
  75. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +4 -20
  76. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +3 -19
  77. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +3 -19
  78. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -20
  79. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -20
  80. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -20
  81. package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -12
  82. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -4
  83. package/node/index.js +1 -1
  84. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +9 -3
  85. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +9 -3
  86. package/node/internals/utils/releaseInfo.js +1 -1
  87. package/package.json +3 -3
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/base/utils';
3
3
  import TextField from '@mui/material/TextField';
4
4
  import { FieldsTextFieldProps } from '@mui/x-date-pickers/internals/models/fields';
5
- import { UncapitalizeObjectKeys, FieldSlotsComponents, FieldSlotsComponentsProps } from '@mui/x-date-pickers/internals';
5
+ import { FieldSlotsComponents, FieldSlotsComponentsProps } from '@mui/x-date-pickers/internals';
6
6
  import { UseTimeRangeFieldDefaultizedProps, UseTimeRangeFieldProps } from '../internals/models';
7
7
  export interface UseSingleInputTimeRangeFieldParams<TDate, TChildProps extends {}> {
8
8
  props: UseSingleInputTimeRangeFieldComponentProps<TDate, TChildProps>;
@@ -13,23 +13,11 @@ export interface UseSingleInputTimeRangeFieldProps<TDate> extends UseTimeRangeFi
13
13
  export type UseSingleInputTimeRangeFieldDefaultizedProps<TDate, AdditionalProps extends {}> = UseTimeRangeFieldDefaultizedProps<TDate> & AdditionalProps;
14
14
  export type UseSingleInputTimeRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseSingleInputTimeRangeFieldProps<TDate>> & UseSingleInputTimeRangeFieldProps<TDate>;
15
15
  export interface SingleInputTimeRangeFieldProps<TDate> extends UseSingleInputTimeRangeFieldComponentProps<TDate, FieldsTextFieldProps> {
16
- /**
17
- * Overridable components.
18
- * @default {}
19
- * @deprecated Please use `slots`.
20
- */
21
- components?: SingleInputTimeRangeFieldSlotsComponent;
22
- /**
23
- * The props used for each component slot.
24
- * @default {}
25
- * @deprecated Please use `slotProps`.
26
- */
27
- componentsProps?: SingleInputTimeRangeFieldSlotsComponentsProps<TDate>;
28
16
  /**
29
17
  * Overridable component slots.
30
18
  * @default {}
31
19
  */
32
- slots?: UncapitalizeObjectKeys<SingleInputTimeRangeFieldSlotsComponent>;
20
+ slots?: SingleInputTimeRangeFieldSlotsComponent;
33
21
  /**
34
22
  * The props used for each component slot.
35
23
  * @default {}
@@ -43,7 +31,7 @@ export interface SingleInputTimeRangeFieldSlotsComponent extends FieldSlotsCompo
43
31
  * Receives the same props as `@mui/material/TextField`.
44
32
  * @default TextField from '@mui/material'
45
33
  */
46
- TextField?: React.ElementType;
34
+ textField?: React.ElementType;
47
35
  }
48
36
  export interface SingleInputTimeRangeFieldSlotsComponentsProps<TDate> extends FieldSlotsComponentsProps {
49
37
  textField?: SlotComponentProps<typeof TextField, {}, SingleInputTimeRangeFieldOwnerState<TDate>>;
@@ -69,18 +69,6 @@ StaticDateRangePicker.propTypes = {
69
69
  * Class name applied to the root element.
70
70
  */
71
71
  className: PropTypes.string,
72
- /**
73
- * Overridable components.
74
- * @default {}
75
- * @deprecated Please use `slots`.
76
- */
77
- components: PropTypes.object,
78
- /**
79
- * The props used for each component slot.
80
- * @default {}
81
- * @deprecated Please use `slotProps`.
82
- */
83
- componentsProps: PropTypes.object,
84
72
  /**
85
73
  * Position the current month is rendered in.
86
74
  * @default 1
@@ -1,4 +1,4 @@
1
- import { MakeOptional, UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
1
+ import { MakeOptional } from '@mui/x-date-pickers/internals';
2
2
  import { StaticRangeOnlyPickerProps, UseStaticRangePickerSlotsComponent, UseStaticRangePickerSlotsComponentsProps } from '../internals/hooks/useStaticRangePicker';
3
3
  import { BaseDateRangePickerProps, BaseDateRangePickerSlotsComponent, BaseDateRangePickerSlotsComponentsProps } from '../DateRangePicker/shared';
4
4
  export interface StaticDateRangePickerSlotsComponent<TDate> extends BaseDateRangePickerSlotsComponent<TDate>, UseStaticRangePickerSlotsComponent<TDate, 'day'> {
@@ -6,23 +6,11 @@ export interface StaticDateRangePickerSlotsComponent<TDate> extends BaseDateRang
6
6
  export interface StaticDateRangePickerSlotsComponentsProps<TDate> extends BaseDateRangePickerSlotsComponentsProps<TDate>, UseStaticRangePickerSlotsComponentsProps<TDate, 'day'> {
7
7
  }
8
8
  export interface StaticDateRangePickerProps<TDate> extends BaseDateRangePickerProps<TDate>, MakeOptional<StaticRangeOnlyPickerProps, 'displayStaticWrapperAs'> {
9
- /**
10
- * Overridable components.
11
- * @default {}
12
- * @deprecated Please use `slots`.
13
- */
14
- components?: StaticDateRangePickerSlotsComponent<TDate>;
15
- /**
16
- * The props used for each component slot.
17
- * @default {}
18
- * @deprecated Please use `slotProps`.
19
- */
20
- componentsProps?: StaticDateRangePickerSlotsComponentsProps<TDate>;
21
9
  /**
22
10
  * Overridable component slots.
23
11
  * @default {}
24
12
  */
25
- slots?: UncapitalizeObjectKeys<StaticDateRangePickerSlotsComponent<TDate>>;
13
+ slots?: StaticDateRangePickerSlotsComponent<TDate>;
26
14
  /**
27
15
  * The props used for each component slot.
28
16
  * @default {}
@@ -10,4 +10,4 @@ export interface DateRangeViewRendererProps<TDate, TView extends DateOrTimeViewW
10
10
  * We don't pass all the props down to `DateRangeCalendar`,
11
11
  * because otherwise some unwanted props would be passed to the HTML element.
12
12
  */
13
- export declare const renderDateRangeViewCalendar: <TDate extends unknown>({ value, defaultValue, referenceDate, onChange, className, classes, disableFuture, disablePast, minDate, maxDate, shouldDisableDate, reduceAnimations, onMonthChange, defaultCalendarMonth, rangePosition, defaultRangePosition, onRangePositionChange, calendars, currentMonthCalendarPosition, components, componentsProps, slots, slotProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, disableAutoMonthSwitching, sx, autoFocus, fixedWeekNumber, disableDragEditing, displayWeekNumber, timezone, }: DateRangeViewRendererProps<TDate, any>) => React.JSX.Element;
13
+ export declare const renderDateRangeViewCalendar: <TDate extends unknown>({ value, defaultValue, referenceDate, onChange, className, classes, disableFuture, disablePast, minDate, maxDate, shouldDisableDate, reduceAnimations, onMonthChange, defaultCalendarMonth, rangePosition, defaultRangePosition, onRangePositionChange, calendars, currentMonthCalendarPosition, slots, slotProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, disableAutoMonthSwitching, sx, autoFocus, fixedWeekNumber, disableDragEditing, displayWeekNumber, timezone, }: DateRangeViewRendererProps<TDate, any>) => React.JSX.Element;
@@ -25,8 +25,6 @@ export const renderDateRangeViewCalendar = ({
25
25
  onRangePositionChange,
26
26
  calendars,
27
27
  currentMonthCalendarPosition,
28
- components,
29
- componentsProps,
30
28
  slots,
31
29
  slotProps,
32
30
  loading,
@@ -63,8 +61,6 @@ export const renderDateRangeViewCalendar = ({
63
61
  onRangePositionChange: onRangePositionChange,
64
62
  calendars: calendars,
65
63
  currentMonthCalendarPosition: currentMonthCalendarPosition,
66
- components: components,
67
- componentsProps: componentsProps,
68
64
  slots: slots,
69
65
  slotProps: slotProps,
70
66
  loading: loading,
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v6.18.0
2
+ * @mui/x-date-pickers-pro v7.0.0-alpha.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,4 +1,4 @@
1
- import { UsePickerParams, BasePickerProps, PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, UncapitalizeObjectKeys, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
1
+ import { UsePickerParams, BasePickerProps, PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
2
2
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
3
  import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout';
4
4
  import { DateRange, RangeFieldSection, BaseRangeNonStaticPickerProps } from '../../models';
@@ -20,7 +20,7 @@ export interface UseDesktopRangePickerProps<TDate, TView extends DateOrTimeViewW
20
20
  * Overridable component slots.
21
21
  * @default {}
22
22
  */
23
- slots: UncapitalizeObjectKeys<UseDesktopRangePickerSlotsComponent<TDate, TView>>;
23
+ slots: UseDesktopRangePickerSlotsComponent<TDate, TView>;
24
24
  /**
25
25
  * The props used for each component slot.
26
26
  * @default {}
@@ -6,28 +6,28 @@ import { SlotComponentProps } from '@mui/base/utils';
6
6
  import { BaseSingleInputFieldProps } from '@mui/x-date-pickers/models';
7
7
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
8
8
  import { PickersInputLocaleText } from '@mui/x-date-pickers/locales';
9
- import { BaseFieldProps, UsePickerResponse, WrapperVariant, UncapitalizeObjectKeys, UsePickerProps, FieldSlotsComponents, FieldSlotsComponentsProps } from '@mui/x-date-pickers/internals';
9
+ import { BaseFieldProps, UsePickerResponse, WrapperVariant, UsePickerProps, FieldSlotsComponents, FieldSlotsComponentsProps } from '@mui/x-date-pickers/internals';
10
10
  import { BaseMultiInputFieldProps, DateRange, RangeFieldSection, RangePosition, UseDateRangeFieldProps } from '../models';
11
11
  import { UseRangePositionResponse } from './useRangePosition';
12
12
  export interface RangePickerFieldSlotsComponent extends FieldSlotsComponents {
13
- Field: React.ElementType;
13
+ field: React.ElementType;
14
14
  /**
15
15
  * Element rendered at the root.
16
16
  * Ignored if the field has only one input.
17
17
  */
18
- FieldRoot?: React.ElementType<StackProps>;
18
+ fieldRoot?: React.ElementType<StackProps>;
19
19
  /**
20
20
  * Element rendered between the two inputs.
21
21
  * Ignored if the field has only one input.
22
22
  */
23
- FieldSeparator?: React.ElementType<TypographyProps>;
23
+ fieldSeparator?: React.ElementType<TypographyProps>;
24
24
  /**
25
25
  * Form control with an input to render a date or time inside the default field.
26
26
  * It is rendered twice: once for the start element and once for the end element.
27
27
  * Receives the same props as `@mui/material/TextField`.
28
28
  * @default TextField from '@mui/material'
29
29
  */
30
- TextField?: React.ElementType<TextFieldProps>;
30
+ textField?: React.ElementType<TextFieldProps>;
31
31
  }
32
32
  export interface RangePickerFieldSlotsComponentsProps<TDate> extends FieldSlotsComponentsProps {
33
33
  field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, TDate, RangeFieldSection, unknown>>, {}, UsePickerProps<DateRange<TDate>, TDate, any, RangeFieldSection, any, any, any>>;
@@ -48,7 +48,7 @@ export interface UseEnrichedRangePickerFieldPropsParams<TDate, TView extends Dat
48
48
  label?: React.ReactNode;
49
49
  localeText: PickersInputLocaleText<TDate> | undefined;
50
50
  pickerSlotProps: RangePickerFieldSlotsComponentsProps<TDate> | undefined;
51
- pickerSlots: UncapitalizeObjectKeys<RangePickerFieldSlotsComponent> | undefined;
51
+ pickerSlots: RangePickerFieldSlotsComponent | undefined;
52
52
  fieldProps: FieldProps;
53
53
  anchorRef?: React.Ref<HTMLDivElement>;
54
54
  }
@@ -1,4 +1,4 @@
1
- import { UsePickerParams, BasePickerProps, PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, UncapitalizeObjectKeys, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
1
+ import { UsePickerParams, BasePickerProps, PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
2
2
  import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout';
3
3
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
4
4
  import { DateRange, RangeFieldSection, BaseRangeNonStaticPickerProps } from '../../models';
@@ -16,7 +16,7 @@ export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeViewWi
16
16
  * Overridable component slots.
17
17
  * @default {}
18
18
  */
19
- slots: UncapitalizeObjectKeys<UseMobileRangePickerSlotsComponent<TDate, TView>>;
19
+ slots: UseMobileRangePickerSlotsComponent<TDate, TView>;
20
20
  /**
21
21
  * The props used for each component slot.
22
22
  * @default {}
@@ -41,7 +41,9 @@ export const useMultiInputDateTimeRangeField = ({
41
41
  timezone: timezoneProp,
42
42
  onChange,
43
43
  disabled,
44
- readOnly
44
+ readOnly,
45
+ selectedSections,
46
+ onSelectedSectionsChange
45
47
  } = sharedProps;
46
48
  const {
47
49
  value,
@@ -89,7 +91,9 @@ export const useMultiInputDateTimeRangeField = ({
89
91
  unstableFieldRef: unstableStartFieldRef,
90
92
  value: valueProp === undefined ? undefined : valueProp[0],
91
93
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
92
- onChange: handleStartDateChange
94
+ onChange: handleStartDateChange,
95
+ selectedSections,
96
+ onSelectedSectionsChange
93
97
  });
94
98
  const endFieldProps = _extends({
95
99
  error: !!validationError[1]
@@ -102,7 +106,9 @@ export const useMultiInputDateTimeRangeField = ({
102
106
  unstableFieldRef: unstableEndFieldRef,
103
107
  value: valueProp === undefined ? undefined : valueProp[1],
104
108
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
105
- onChange: handleEndDateChange
109
+ onChange: handleEndDateChange,
110
+ selectedSections,
111
+ onSelectedSectionsChange
106
112
  });
107
113
  const startDateResponse = useDateTimeField({
108
114
  props: startFieldProps,
@@ -35,7 +35,9 @@ export const useMultiInputTimeRangeField = ({
35
35
  timezone: timezoneProp,
36
36
  onChange,
37
37
  disabled,
38
- readOnly
38
+ readOnly,
39
+ selectedSections,
40
+ onSelectedSectionsChange
39
41
  } = sharedProps;
40
42
  const {
41
43
  value,
@@ -83,7 +85,9 @@ export const useMultiInputTimeRangeField = ({
83
85
  unstableFieldRef: unstableStartFieldRef,
84
86
  value: valueProp === undefined ? undefined : valueProp[0],
85
87
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
86
- onChange: handleStartDateChange
88
+ onChange: handleStartDateChange,
89
+ selectedSections,
90
+ onSelectedSectionsChange
87
91
  });
88
92
  const endFieldProps = _extends({
89
93
  error: !!validationError[1]
@@ -96,7 +100,9 @@ export const useMultiInputTimeRangeField = ({
96
100
  unstableFieldRef: unstableEndFieldRef,
97
101
  value: valueProp === undefined ? undefined : valueProp[1],
98
102
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
99
- onChange: handleEndDateChange
103
+ onChange: handleEndDateChange,
104
+ selectedSections,
105
+ onSelectedSectionsChange
100
106
  });
101
107
  const startDateResponse = useTimeField({
102
108
  props: startFieldProps,
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { BasePickerProps, UsePickerParams, ExportedBaseToolbarProps, StaticOnlyPickerProps, UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
2
+ import { BasePickerProps, UsePickerParams, ExportedBaseToolbarProps, StaticOnlyPickerProps } from '@mui/x-date-pickers/internals';
3
3
  import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout';
4
4
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
5
5
  import { DateRange } from '../../models/range';
@@ -17,7 +17,7 @@ export interface UseStaticRangePickerProps<TDate, TView extends DateOrTimeViewWi
17
17
  * Overridable components.
18
18
  * @default {}
19
19
  */
20
- slots?: UncapitalizeObjectKeys<UseStaticRangePickerSlotsComponent<TDate, TView>>;
20
+ slots?: UseStaticRangePickerSlotsComponent<TDate, TView>;
21
21
  /**
22
22
  * The props used for each component slot.
23
23
  * @default {}
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY5ODk2NjAwMDAwMA==";
3
+ const releaseInfo = "MTY5OTU3MDgwMDAwMA==";
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
@@ -2,7 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
- var _excluded = ["value", "defaultValue", "referenceDate", "onChange", "className", "disableFuture", "disablePast", "minDate", "maxDate", "shouldDisableDate", "reduceAnimations", "onMonthChange", "defaultCalendarMonth", "rangePosition", "defaultRangePosition", "onRangePositionChange", "calendars", "currentMonthCalendarPosition", "components", "componentsProps", "slots", "slotProps", "loading", "renderLoading", "disableHighlightToday", "readOnly", "disabled", "showDaysOutsideCurrentMonth", "dayOfWeekFormatter", "disableAutoMonthSwitching", "autoFocus", "fixedWeekNumber", "disableDragEditing", "displayWeekNumber", "timezone"],
5
+ var _excluded = ["value", "defaultValue", "referenceDate", "onChange", "className", "disableFuture", "disablePast", "minDate", "maxDate", "shouldDisableDate", "reduceAnimations", "onMonthChange", "defaultCalendarMonth", "rangePosition", "defaultRangePosition", "onRangePositionChange", "calendars", "currentMonthCalendarPosition", "slots", "slotProps", "loading", "renderLoading", "disableHighlightToday", "readOnly", "disabled", "showDaysOutsideCurrentMonth", "dayOfWeekFormatter", "disableAutoMonthSwitching", "autoFocus", "fixedWeekNumber", "disableDragEditing", "displayWeekNumber", "timezone"],
6
6
  _excluded2 = ["isDragging", "rangeDragDay", "draggingDatePosition"];
7
7
  import * as React from 'react';
8
8
  import PropTypes from 'prop-types';
@@ -14,7 +14,7 @@ import { styled, useThemeProps } from '@mui/material/styles';
14
14
  import { unstable_composeClasses as composeClasses } from '@mui/utils';
15
15
  import { Watermark } from '@mui/x-license-pro';
16
16
  import { PickersCalendarHeader } from '@mui/x-date-pickers/PickersCalendarHeader';
17
- import { applyDefaultDate, DAY_MARGIN, DayCalendar, useDefaultReduceAnimations, PickersArrowSwitcher, useCalendarState, useDefaultDates, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils, useNow, uncapitalizeObjectKeys, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, buildWarning, useControlledValueWithTimezone } from '@mui/x-date-pickers/internals';
17
+ import { applyDefaultDate, DAY_MARGIN, DayCalendar, useDefaultReduceAnimations, PickersArrowSwitcher, useCalendarState, useDefaultDates, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils, useNow, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, buildWarning, useControlledValueWithTimezone } from '@mui/x-date-pickers/internals';
18
18
  import { getReleaseInfo } from '../internals/utils/releaseInfo';
19
19
  import { dateRangeCalendarClasses, getDateRangeCalendarUtilityClass } from './dateRangeCalendarClasses';
20
20
  import { isEndOfRange, isRangeValid, isStartOfRange, isWithinRange } from '../internals/utils/date-utils';
@@ -147,10 +147,8 @@ var DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalendar
147
147
  calendars = props.calendars,
148
148
  _props$currentMonthCa = props.currentMonthCalendarPosition,
149
149
  currentMonthCalendarPosition = _props$currentMonthCa === void 0 ? 1 : _props$currentMonthCa,
150
- components = props.components,
151
- componentsProps = props.componentsProps,
152
- innerSlots = props.slots,
153
- innerSlotProps = props.slotProps,
150
+ slots = props.slots,
151
+ slotProps = props.slotProps,
154
152
  loading = props.loading,
155
153
  renderLoading = props.renderLoading,
156
154
  disableHighlightToday = props.disableHighlightToday,
@@ -179,8 +177,6 @@ var DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalendar
179
177
  var utils = useUtils();
180
178
  var localeText = useLocaleText();
181
179
  var now = useNow(timezone);
182
- var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
183
- var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
184
180
  var _useRangePosition = useRangePosition({
185
181
  rangePosition: rangePositionProp,
186
182
  defaultRangePosition: inDefaultRangePosition,
@@ -523,18 +519,6 @@ process.env.NODE_ENV !== "production" ? DateRangeCalendar.propTypes = {
523
519
  calendars: PropTypes.oneOf([1, 2, 3]),
524
520
  classes: PropTypes.object,
525
521
  className: PropTypes.string,
526
- /**
527
- * Overridable components.
528
- * @default {}
529
- * @deprecated Please use `slots`.
530
- */
531
- components: PropTypes.object,
532
- /**
533
- * The props used for each component slot.
534
- * @default {}
535
- * @deprecated Please use `slotProps`.
536
- */
537
- componentsProps: PropTypes.object,
538
522
  /**
539
523
  * Position the current month is rendered in.
540
524
  * @default 1
@@ -67,18 +67,6 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
67
67
  * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
68
68
  */
69
69
  closeOnSelect: PropTypes.bool,
70
- /**
71
- * Overridable components.
72
- * @default {}
73
- * @deprecated Please use `slots`.
74
- */
75
- components: PropTypes.object,
76
- /**
77
- * The props used for each component slot.
78
- * @default {}
79
- * @deprecated Please use `slotProps`.
80
- */
81
- componentsProps: PropTypes.object,
82
70
  /**
83
71
  * Position the current month is rendered in.
84
72
  * @default 1
@@ -1,21 +1,16 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["components", "componentsProps"];
4
2
  import * as React from 'react';
5
3
  import { useThemeProps } from '@mui/material/styles';
6
- import { useDefaultDates, useUtils, applyDefaultDate, uncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
4
+ import { useDefaultDates, useUtils, applyDefaultDate } from '@mui/x-date-pickers/internals';
7
5
  import { DateRangePickerToolbar } from './DateRangePickerToolbar';
8
6
  export function useDateRangePickerDefaultizedProps(props, name) {
9
- var _themeProps$disableFu, _themeProps$disablePa, _themeProps$slots, _themeProps$slotProps;
7
+ var _themeProps$disableFu, _themeProps$disablePa;
10
8
  var utils = useUtils();
11
9
  var defaultDates = useDefaultDates();
12
- var _useThemeProps = useThemeProps({
13
- props: props,
14
- name: name
15
- }),
16
- components = _useThemeProps.components,
17
- componentsProps = _useThemeProps.componentsProps,
18
- themeProps = _objectWithoutProperties(_useThemeProps, _excluded);
10
+ var themeProps = useThemeProps({
11
+ props: props,
12
+ name: name
13
+ });
19
14
  var localeText = React.useMemo(function () {
20
15
  var _themeProps$localeTex;
21
16
  if (((_themeProps$localeTex = themeProps.localeText) == null ? void 0 : _themeProps$localeTex.toolbarTitle) == null) {
@@ -33,7 +28,6 @@ export function useDateRangePickerDefaultizedProps(props, name) {
33
28
  maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate),
34
29
  slots: _extends({
35
30
  toolbar: DateRangePickerToolbar
36
- }, (_themeProps$slots = themeProps.slots) != null ? _themeProps$slots : uncapitalizeObjectKeys(components)),
37
- slotProps: (_themeProps$slotProps = themeProps.slotProps) != null ? _themeProps$slotProps : componentsProps
31
+ }, themeProps.slots)
38
32
  });
39
33
  }
@@ -82,18 +82,6 @@ DesktopDateRangePicker.propTypes = {
82
82
  * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
83
83
  */
84
84
  closeOnSelect: PropTypes.bool,
85
- /**
86
- * Overridable components.
87
- * @default {}
88
- * @deprecated Please use `slots`.
89
- */
90
- components: PropTypes.object,
91
- /**
92
- * The props used for each component slot.
93
- * @default {}
94
- * @deprecated Please use `slotProps`.
95
- */
96
- componentsProps: PropTypes.object,
97
85
  /**
98
86
  * Position the current month is rendered in.
99
87
  * @default 1
@@ -82,18 +82,6 @@ MobileDateRangePicker.propTypes = {
82
82
  * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
83
83
  */
84
84
  closeOnSelect: PropTypes.bool,
85
- /**
86
- * Overridable components.
87
- * @default {}
88
- * @deprecated Please use `slots`.
89
- */
90
- components: PropTypes.object,
91
- /**
92
- * The props used for each component slot.
93
- * @default {}
94
- * @deprecated Please use `slotProps`.
95
- */
96
- componentsProps: PropTypes.object,
97
85
  /**
98
86
  * Position the current month is rendered in.
99
87
  * @default 1
@@ -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", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
3
+ var _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
4
4
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
5
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
@@ -12,7 +12,7 @@ import Typography from '@mui/material/Typography';
12
12
  import { styled, useThemeProps } from '@mui/material/styles';
13
13
  import { useSlotProps } from '@mui/base/utils';
14
14
  import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
15
- import { splitFieldInternalAndForwardedProps, uncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
15
+ import { splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
16
16
  import { useMultiInputDateRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField';
17
17
  import { jsx as _jsx } from "react/jsx-runtime";
18
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -65,7 +65,7 @@ var MultiInputDateRangeFieldSeparator = styled(function (props) {
65
65
  * - [MultiInputDateRangeField API](https://mui.com/x/api/multi-input-date-range-field/)
66
66
  */
67
67
  var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateRangeField(inProps, ref) {
68
- var _slots$root, _slots$textField, _slots$separator, _slotProps$separator;
68
+ var _slots$root, _slots$textField, _slots$separator;
69
69
  var themeProps = useThemeProps({
70
70
  props: inProps,
71
71
  name: 'MuiMultiInputDateRangeField'
@@ -73,18 +73,14 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
73
73
  var _splitFieldInternalAn = splitFieldInternalAndForwardedProps(themeProps, 'date'),
74
74
  dateFieldInternalProps = _splitFieldInternalAn.internalProps,
75
75
  forwardedProps = _splitFieldInternalAn.forwardedProps;
76
- var innerSlots = forwardedProps.slots,
77
- innerSlotProps = forwardedProps.slotProps,
78
- components = forwardedProps.components,
79
- componentsProps = forwardedProps.componentsProps,
76
+ var slots = forwardedProps.slots,
77
+ slotProps = forwardedProps.slotProps,
80
78
  disabled = forwardedProps.disabled,
81
79
  autoFocus = forwardedProps.autoFocus,
82
80
  unstableStartFieldRef = forwardedProps.unstableStartFieldRef,
83
81
  unstableEndFieldRef = forwardedProps.unstableEndFieldRef,
84
82
  className = forwardedProps.className,
85
83
  otherForwardedProps = _objectWithoutProperties(forwardedProps, _excluded);
86
- var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
87
- var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
88
84
  var ownerState = themeProps;
89
85
  var classes = useUtilityClasses(ownerState);
90
86
  var Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputDateRangeFieldRoot;
@@ -119,7 +115,7 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
119
115
  var Separator = (_slots$separator = slots == null ? void 0 : slots.separator) != null ? _slots$separator : MultiInputDateRangeFieldSeparator;
120
116
  var separatorProps = useSlotProps({
121
117
  elementType: Separator,
122
- externalSlotProps: (_slotProps$separator = slotProps == null ? void 0 : slotProps.separator) != null ? _slotProps$separator : componentsProps == null ? void 0 : componentsProps.separator,
118
+ externalSlotProps: slotProps == null ? void 0 : slotProps.separator,
123
119
  ownerState: ownerState,
124
120
  className: classes.separator
125
121
  });
@@ -185,18 +181,6 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
185
181
  classes: PropTypes.object,
186
182
  className: PropTypes.string,
187
183
  component: PropTypes.elementType,
188
- /**
189
- * Overridable components.
190
- * @default {}
191
- * @deprecated Please use `slots`.
192
- */
193
- components: PropTypes.object,
194
- /**
195
- * The props used for each component slot.
196
- * @default {}
197
- * @deprecated Please use `slotProps`.
198
- */
199
- componentsProps: PropTypes.object,
200
184
  /**
201
185
  * The default value. Use when the component is not controlled.
202
186
  */
@@ -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", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
3
+ var _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
4
4
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
5
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
@@ -12,7 +12,7 @@ import Typography from '@mui/material/Typography';
12
12
  import { styled, useThemeProps } from '@mui/material/styles';
13
13
  import { useSlotProps } from '@mui/base/utils';
14
14
  import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
15
- import { splitFieldInternalAndForwardedProps, uncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
15
+ import { splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
16
16
  import { useMultiInputDateTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField';
17
17
  import { jsx as _jsx } from "react/jsx-runtime";
18
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -73,18 +73,14 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
73
73
  var _splitFieldInternalAn = splitFieldInternalAndForwardedProps(themeProps, 'date-time'),
74
74
  dateTimeFieldInternalProps = _splitFieldInternalAn.internalProps,
75
75
  forwardedProps = _splitFieldInternalAn.forwardedProps;
76
- var innerSlots = forwardedProps.slots,
77
- innerSlotProps = forwardedProps.slotProps,
78
- components = forwardedProps.components,
79
- componentsProps = forwardedProps.componentsProps,
76
+ var slots = forwardedProps.slots,
77
+ slotProps = forwardedProps.slotProps,
80
78
  disabled = forwardedProps.disabled,
81
79
  autoFocus = forwardedProps.autoFocus,
82
80
  unstableStartFieldRef = forwardedProps.unstableStartFieldRef,
83
81
  unstableEndFieldRef = forwardedProps.unstableEndFieldRef,
84
82
  className = forwardedProps.className,
85
83
  otherForwardedProps = _objectWithoutProperties(forwardedProps, _excluded);
86
- var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
87
- var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
88
84
  var ownerState = themeProps;
89
85
  var classes = useUtilityClasses(ownerState);
90
86
  var Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputDateTimeRangeFieldRoot;
@@ -190,18 +186,6 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
190
186
  classes: PropTypes.object,
191
187
  className: PropTypes.string,
192
188
  component: PropTypes.elementType,
193
- /**
194
- * Overridable components.
195
- * @default {}
196
- * @deprecated Please use `slots`.
197
- */
198
- components: PropTypes.object,
199
- /**
200
- * The props used for each component slot.
201
- * @default {}
202
- * @deprecated Please use `slotProps`.
203
- */
204
- componentsProps: PropTypes.object,
205
189
  /**
206
190
  * The default value. Use when the component is not controlled.
207
191
  */