@mui/x-date-pickers 9.0.0-alpha.4 → 9.0.0-rc.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.
- package/AdapterDateFnsBase/AdapterDateFnsBase.mjs +1 -1
- package/AdapterDayjs/AdapterDayjs.mjs +1 -1
- package/AdapterLuxon/AdapterLuxon.mjs +1 -1
- package/AdapterMoment/AdapterMoment.mjs +1 -1
- package/AdapterMomentHijri/AdapterMomentHijri.mjs +1 -1
- package/AdapterMomentJalaali/AdapterMomentJalaali.mjs +1 -1
- package/CHANGELOG.md +262 -2
- package/DateCalendar/DateCalendar.js +1 -1
- package/DateCalendar/DateCalendar.mjs +1 -1
- package/DateCalendar/DayCalendar.d.mts +7 -7
- package/DateCalendar/DayCalendar.d.ts +7 -7
- package/DateCalendar/DayCalendar.js +23 -25
- package/DateCalendar/DayCalendar.mjs +23 -25
- package/DateField/DateField.d.mts +1 -1
- package/DateField/DateField.d.ts +1 -1
- package/DateField/DateField.js +22 -4
- package/DateField/DateField.mjs +22 -4
- package/DateField/DateField.types.d.mts +3 -3
- package/DateField/DateField.types.d.ts +3 -3
- package/DateField/useDateField.d.mts +1 -1
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +1 -1
- package/DateField/useDateField.mjs +1 -1
- package/DatePicker/DatePicker.d.mts +1 -1
- package/DatePicker/DatePicker.d.ts +1 -1
- package/DatePicker/DatePicker.js +1 -5
- package/DatePicker/DatePicker.mjs +1 -5
- package/DatePicker/DatePicker.types.d.mts +3 -3
- package/DatePicker/DatePicker.types.d.ts +3 -3
- package/DateTimeField/DateTimeField.d.mts +1 -1
- package/DateTimeField/DateTimeField.d.ts +1 -1
- package/DateTimeField/DateTimeField.js +22 -4
- package/DateTimeField/DateTimeField.mjs +22 -4
- package/DateTimeField/DateTimeField.types.d.mts +2 -2
- package/DateTimeField/DateTimeField.types.d.ts +2 -2
- package/DateTimeField/useDateTimeField.d.mts +1 -1
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimeField/useDateTimeField.js +1 -1
- package/DateTimeField/useDateTimeField.mjs +1 -1
- package/DateTimePicker/DateTimePicker.d.mts +1 -1
- package/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/DateTimePicker/DateTimePicker.js +1 -5
- package/DateTimePicker/DateTimePicker.mjs +1 -5
- package/DateTimePicker/DateTimePicker.types.d.mts +3 -3
- package/DateTimePicker/DateTimePicker.types.d.ts +3 -3
- package/DesktopDatePicker/DesktopDatePicker.d.mts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +1 -5
- package/DesktopDatePicker/DesktopDatePicker.mjs +1 -5
- package/DesktopDatePicker/DesktopDatePicker.types.d.mts +3 -3
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +3 -3
- package/DesktopDateTimePicker/DesktopDateTimePicker.d.mts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -5
- package/DesktopDateTimePicker/DesktopDateTimePicker.mjs +1 -5
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.mts +3 -3
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +3 -3
- package/DesktopTimePicker/DesktopTimePicker.d.mts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.js +0 -4
- package/DesktopTimePicker/DesktopTimePicker.mjs +0 -4
- package/DesktopTimePicker/DesktopTimePicker.types.d.mts +3 -3
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +3 -3
- package/DigitalClock/DigitalClock.d.mts +1 -1
- package/DigitalClock/DigitalClock.d.ts +1 -1
- package/DigitalClock/DigitalClock.js +2 -2
- package/DigitalClock/DigitalClock.mjs +3 -3
- package/MobileDatePicker/MobileDatePicker.d.mts +1 -1
- package/MobileDatePicker/MobileDatePicker.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.js +1 -5
- package/MobileDatePicker/MobileDatePicker.mjs +1 -5
- package/MobileDatePicker/MobileDatePicker.types.d.mts +3 -3
- package/MobileDatePicker/MobileDatePicker.types.d.ts +3 -3
- package/MobileDateTimePicker/MobileDateTimePicker.d.mts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +1 -5
- package/MobileDateTimePicker/MobileDateTimePicker.mjs +1 -5
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.mts +3 -3
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +3 -3
- package/MobileTimePicker/MobileTimePicker.d.mts +1 -1
- package/MobileTimePicker/MobileTimePicker.d.ts +1 -1
- package/MobileTimePicker/MobileTimePicker.js +0 -4
- package/MobileTimePicker/MobileTimePicker.mjs +0 -4
- package/MobileTimePicker/MobileTimePicker.types.d.mts +3 -3
- package/MobileTimePicker/MobileTimePicker.types.d.ts +3 -3
- package/MonthCalendar/MonthCalendarButton.js +2 -2
- package/MonthCalendar/MonthCalendarButton.mjs +3 -3
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +2 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.mjs +3 -3
- package/PickerDay/PickerDay.d.mts +14 -0
- package/PickerDay/PickerDay.d.ts +14 -0
- package/{PickerDay2/PickerDay2.js → PickerDay/PickerDay.js} +110 -45
- package/{PickerDay2/PickerDay2.mjs → PickerDay/PickerDay.mjs} +110 -45
- package/PickerDay/PickerDay.types.d.mts +137 -0
- package/PickerDay/PickerDay.types.d.ts +137 -0
- package/PickerDay/index.d.mts +4 -0
- package/PickerDay/index.d.ts +4 -0
- package/PickerDay/index.js +25 -0
- package/PickerDay/index.mjs +2 -0
- package/{PickerDay2/pickerDay2Classes.d.mts → PickerDay/pickerDayClasses.d.mts} +4 -4
- package/{PickerDay2/pickerDay2Classes.d.ts → PickerDay/pickerDayClasses.d.ts} +4 -4
- package/PickerDay/pickerDayClasses.js +14 -0
- package/PickerDay/pickerDayClasses.mjs +6 -0
- package/PickersTextField/PickersFilledInput/PickersFilledInput.js +27 -1
- package/PickersTextField/PickersFilledInput/PickersFilledInput.mjs +27 -1
- package/PickersTextField/PickersInput/PickersInput.js +27 -1
- package/PickersTextField/PickersInput/PickersInput.mjs +27 -1
- package/PickersTextField/PickersInputBase/PickersInputBase.js +26 -0
- package/PickersTextField/PickersInputBase/PickersInputBase.mjs +26 -0
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.mts +26 -0
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +26 -0
- package/PickersTextField/PickersOutlinedInput/Outline.js +1 -1
- package/PickersTextField/PickersOutlinedInput/Outline.mjs +1 -1
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +27 -1
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.mjs +27 -1
- package/PickersTextField/PickersTextField.js +42 -2
- package/PickersTextField/PickersTextField.mjs +42 -2
- package/PickersTextField/PickersTextField.types.d.mts +22 -6
- package/PickersTextField/PickersTextField.types.d.ts +22 -6
- package/StaticDatePicker/StaticDatePicker.js +1 -1
- package/StaticDatePicker/StaticDatePicker.mjs +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.mjs +1 -1
- package/TimeField/TimeField.d.mts +1 -1
- package/TimeField/TimeField.d.ts +1 -1
- package/TimeField/TimeField.js +22 -4
- package/TimeField/TimeField.mjs +22 -4
- package/TimeField/TimeField.types.d.mts +2 -2
- package/TimeField/TimeField.types.d.ts +2 -2
- package/TimeField/useTimeField.d.mts +1 -1
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimePicker/TimePicker.d.mts +1 -1
- package/TimePicker/TimePicker.d.ts +1 -1
- package/TimePicker/TimePicker.js +0 -4
- package/TimePicker/TimePicker.mjs +0 -4
- package/TimePicker/TimePicker.types.d.mts +3 -3
- package/TimePicker/TimePicker.types.d.ts +3 -3
- package/YearCalendar/YearCalendarButton.js +2 -2
- package/YearCalendar/YearCalendarButton.mjs +3 -3
- package/hooks/useParsedFormat.js +5 -7
- package/hooks/useParsedFormat.mjs +5 -7
- package/hooks/useSplitFieldProps.d.mts +1 -1
- package/hooks/useSplitFieldProps.d.ts +1 -1
- package/hooks/useSplitFieldProps.js +1 -1
- package/hooks/useSplitFieldProps.mjs +1 -1
- package/index.d.mts +1 -2
- package/index.d.ts +1 -2
- package/index.js +2 -14
- package/index.mjs +2 -3
- package/internals/components/PickerFieldUI.d.mts +22 -13
- package/internals/components/PickerFieldUI.d.ts +22 -13
- package/internals/components/PickerFieldUI.js +22 -80
- package/internals/components/PickerFieldUI.mjs +22 -80
- package/internals/components/PickerPopper/PickerPopper.js +3 -0
- package/internals/components/PickerPopper/PickerPopper.mjs +3 -0
- package/internals/components/PickersToolbar.js +3 -1
- package/internals/components/PickersToolbar.mjs +3 -1
- package/internals/demo/DemoContainer.js +6 -8
- package/internals/demo/DemoContainer.mjs +6 -8
- package/internals/hooks/PickerDay.types.d.mts +12 -0
- package/internals/hooks/PickerDay.types.d.ts +12 -0
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.mts +2 -2
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.mts +6 -6
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +6 -6
- package/internals/hooks/useField/buildSectionsFromFormat.d.mts +0 -1
- package/internals/hooks/useField/buildSectionsFromFormat.d.ts +0 -1
- package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/internals/hooks/useField/buildSectionsFromFormat.mjs +1 -1
- package/internals/hooks/useField/index.d.mts +1 -1
- package/internals/hooks/useField/index.d.ts +1 -1
- package/internals/hooks/useField/index.js +2 -8
- package/internals/hooks/useField/index.mjs +1 -1
- package/internals/hooks/useField/useField.d.mts +2 -2
- package/internals/hooks/useField/useField.d.ts +2 -2
- package/internals/hooks/useField/useField.js +265 -8
- package/internals/hooks/useField/useField.mjs +264 -8
- package/internals/hooks/useField/useField.types.d.mts +11 -50
- package/internals/hooks/useField/useField.types.d.ts +11 -50
- package/internals/hooks/useField/useField.utils.d.mts +2 -3
- package/internals/hooks/useField/useField.utils.d.ts +2 -3
- package/internals/hooks/useField/useField.utils.js +8 -65
- package/internals/hooks/useField/useField.utils.mjs +6 -62
- package/internals/hooks/useField/useFieldHiddenInputProps.d.mts +2 -4
- package/internals/hooks/useField/useFieldHiddenInputProps.d.ts +2 -4
- package/internals/hooks/useField/useFieldHiddenInputProps.js +1 -3
- package/internals/hooks/useField/useFieldHiddenInputProps.mjs +1 -3
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +0 -1
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.mjs +0 -1
- package/internals/hooks/useField/useFieldRootProps.d.mts +5 -5
- package/internals/hooks/useField/useFieldRootProps.d.ts +5 -5
- package/internals/hooks/useField/useFieldRootProps.js +183 -11
- package/internals/hooks/useField/useFieldRootProps.mjs +183 -11
- package/internals/hooks/useField/useFieldSectionContainerProps.d.mts +3 -5
- package/internals/hooks/useField/useFieldSectionContainerProps.d.ts +3 -5
- package/internals/hooks/useField/useFieldSectionContainerProps.js +2 -4
- package/internals/hooks/useField/useFieldSectionContainerProps.mjs +2 -4
- package/internals/hooks/useField/useFieldSectionContentProps.d.mts +6 -7
- package/internals/hooks/useField/useFieldSectionContentProps.d.ts +6 -7
- package/internals/hooks/useField/useFieldSectionContentProps.js +2 -4
- package/internals/hooks/useField/useFieldSectionContentProps.mjs +2 -4
- package/internals/hooks/useField/useFieldState.d.mts +4 -4
- package/internals/hooks/useField/useFieldState.d.ts +4 -4
- package/internals/hooks/useField/useFieldState.js +3 -6
- package/internals/hooks/useField/useFieldState.mjs +3 -6
- package/internals/hooks/useMobilePicker/useMobilePicker.d.mts +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.mts +6 -6
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +6 -6
- package/internals/hooks/useNullableFieldPrivateContext.d.mts +1 -1
- package/internals/hooks/useNullableFieldPrivateContext.d.ts +1 -1
- package/internals/hooks/usePicker/usePicker.js +1 -3
- package/internals/hooks/usePicker/usePicker.mjs +1 -3
- package/{PickersDay → internals/hooks}/usePickerDayOwnerState.d.mts +2 -3
- package/{PickersDay → internals/hooks}/usePickerDayOwnerState.d.ts +2 -3
- package/{PickersDay → internals/hooks}/usePickerDayOwnerState.js +3 -5
- package/{PickersDay → internals/hooks}/usePickerDayOwnerState.mjs +3 -5
- package/internals/index.d.mts +4 -4
- package/internals/index.d.ts +4 -4
- package/internals/index.js +9 -9
- package/internals/index.mjs +3 -3
- package/internals/models/manager.d.mts +3 -5
- package/internals/models/manager.d.ts +3 -5
- package/internals/utils/valueManagers.js +1 -2
- package/internals/utils/valueManagers.mjs +2 -3
- package/managers/index.d.mts +2 -2
- package/managers/index.d.ts +2 -2
- package/managers/useDateManager.d.mts +3 -6
- package/managers/useDateManager.d.ts +3 -6
- package/managers/useDateManager.js +2 -6
- package/managers/useDateManager.mjs +2 -6
- package/managers/useDateTimeManager.d.mts +3 -6
- package/managers/useDateTimeManager.d.ts +3 -6
- package/managers/useDateTimeManager.js +2 -6
- package/managers/useDateTimeManager.mjs +2 -6
- package/managers/useTimeManager.d.mts +4 -6
- package/managers/useTimeManager.d.ts +4 -6
- package/managers/useTimeManager.js +1 -3
- package/managers/useTimeManager.mjs +1 -3
- package/models/fields.d.mts +3 -4
- package/models/fields.d.ts +3 -4
- package/models/manager.d.mts +2 -8
- package/models/manager.d.ts +2 -8
- package/package.json +55 -69
- package/themeAugmentation/components.d.mts +4 -8
- package/themeAugmentation/components.d.ts +4 -8
- package/themeAugmentation/overrides.d.mts +2 -4
- package/themeAugmentation/overrides.d.ts +2 -4
- package/themeAugmentation/props.d.mts +5 -7
- package/themeAugmentation/props.d.ts +5 -7
- package/PickerDay2/PickerDay2.d.mts +0 -7
- package/PickerDay2/PickerDay2.d.ts +0 -7
- package/PickerDay2/PickerDay2.types.d.mts +0 -18
- package/PickerDay2/PickerDay2.types.d.ts +0 -18
- package/PickerDay2/index.d.mts +0 -4
- package/PickerDay2/index.d.ts +0 -4
- package/PickerDay2/index.js +0 -25
- package/PickerDay2/index.mjs +0 -2
- package/PickerDay2/pickerDay2Classes.js +0 -14
- package/PickerDay2/pickerDay2Classes.mjs +0 -6
- package/PickersDay/PickersDay.d.mts +0 -15
- package/PickersDay/PickersDay.d.ts +0 -15
- package/PickersDay/PickersDay.js +0 -384
- package/PickersDay/PickersDay.mjs +0 -377
- package/PickersDay/PickersDay.types.d.mts +0 -114
- package/PickersDay/PickersDay.types.d.ts +0 -114
- package/PickersDay/index.d.mts +0 -4
- package/PickersDay/index.d.ts +0 -4
- package/PickersDay/index.js +0 -25
- package/PickersDay/index.mjs +0 -2
- package/PickersDay/pickersDayClasses.d.mts +0 -19
- package/PickersDay/pickersDayClasses.d.ts +0 -19
- package/PickersDay/pickersDayClasses.js +0 -14
- package/PickersDay/pickersDayClasses.mjs +0 -6
- package/internals/hooks/useField/useFieldRootHandleKeyDown.d.mts +0 -16
- package/internals/hooks/useField/useFieldRootHandleKeyDown.d.ts +0 -16
- package/internals/hooks/useField/useFieldRootHandleKeyDown.js +0 -211
- package/internals/hooks/useField/useFieldRootHandleKeyDown.mjs +0 -205
- package/internals/hooks/useField/useFieldV6TextField.d.mts +0 -26
- package/internals/hooks/useField/useFieldV6TextField.d.ts +0 -26
- package/internals/hooks/useField/useFieldV6TextField.js +0 -422
- package/internals/hooks/useField/useFieldV6TextField.mjs +0 -413
- package/internals/hooks/useField/useFieldV7TextField.d.mts +0 -3
- package/internals/hooks/useField/useFieldV7TextField.d.ts +0 -3
- package/internals/hooks/useField/useFieldV7TextField.js +0 -272
- package/internals/hooks/useField/useFieldV7TextField.mjs +0 -264
- /package/{PickerDay2/PickerDay2.types.js → PickerDay/PickerDay.types.js} +0 -0
- /package/{PickerDay2/PickerDay2.types.mjs → PickerDay/PickerDay.types.mjs} +0 -0
- /package/{PickersDay/PickersDay.types.js → internals/hooks/PickerDay.types.js} +0 -0
- /package/{PickersDay/PickersDay.types.mjs → internals/hooks/PickerDay.types.mjs} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { TextFieldProps } from '@mui/material/TextField';
|
|
3
2
|
import { IconButtonProps } from '@mui/material/IconButton';
|
|
4
3
|
import { InputAdornmentProps } from '@mui/material/InputAdornment';
|
|
5
4
|
import { SvgIconProps } from '@mui/material/SvgIcon';
|
|
@@ -8,21 +7,25 @@ import { FieldOwnerState } from "../../models/index.js";
|
|
|
8
7
|
import { UseFieldOwnerStateParameters } from "../hooks/useFieldOwnerState.js";
|
|
9
8
|
import type { UseFieldReturnValue, UseFieldProps } from "../hooks/useField/index.js";
|
|
10
9
|
import { PickersTextFieldProps } from "../../PickersTextField/index.js";
|
|
11
|
-
export declare const cleanFieldResponse: <TFieldResponse extends MakeOptional<UseFieldReturnValue<
|
|
10
|
+
export declare const cleanFieldResponse: <TFieldResponse extends MakeOptional<UseFieldReturnValue<ExportedPickerFieldUIProps & {
|
|
12
11
|
[key: string]: any;
|
|
13
|
-
}>, "onClear" | "clearable">>({
|
|
14
|
-
enableAccessibleFieldDOMStructure,
|
|
15
|
-
...fieldResponse
|
|
16
|
-
}: TFieldResponse) => ExportedPickerFieldUIProps & {
|
|
12
|
+
}>, "onClear" | "clearable">>(fieldResponse: TFieldResponse) => ExportedPickerFieldUIProps & {
|
|
17
13
|
openPickerAriaLabel: string;
|
|
18
|
-
textFieldProps:
|
|
14
|
+
textFieldProps: Partial<PickersTextFieldProps> & {
|
|
15
|
+
inputProps?: Record<string, any>;
|
|
16
|
+
InputProps?: Record<string, any>;
|
|
17
|
+
slotProps?: {
|
|
18
|
+
input?: Record<string, any>;
|
|
19
|
+
htmlInput?: Record<string, any>;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
19
22
|
};
|
|
20
23
|
export declare const PickerFieldUIContext: React.Context<PickerFieldUIContextValue>;
|
|
21
24
|
/**
|
|
22
25
|
* Adds the button to open the Picker and the button to clear the value of the field.
|
|
23
26
|
* @ignore - internal component.
|
|
24
27
|
*/
|
|
25
|
-
export declare function PickerFieldUI<
|
|
28
|
+
export declare function PickerFieldUI<TProps extends UseFieldProps>(props: PickerFieldUIProps<TProps>): import("react/jsx-runtime").JSX.Element;
|
|
26
29
|
export interface ExportedPickerFieldUIProps {
|
|
27
30
|
/**
|
|
28
31
|
* If `true`, a clear button will be shown in the field allowing value clearing.
|
|
@@ -46,11 +49,11 @@ export interface ExportedPickerFieldUIProps {
|
|
|
46
49
|
*/
|
|
47
50
|
openPickerButtonPosition?: 'start' | 'end';
|
|
48
51
|
}
|
|
49
|
-
export interface PickerFieldUIProps<
|
|
52
|
+
export interface PickerFieldUIProps<TProps extends UseFieldProps> {
|
|
50
53
|
/**
|
|
51
54
|
* Object returned by the `useField` hook or one of its wrapper (for example `useDateField`).
|
|
52
55
|
*/
|
|
53
|
-
fieldResponse: UseFieldReturnValue<
|
|
56
|
+
fieldResponse: UseFieldReturnValue<TProps>;
|
|
54
57
|
/**
|
|
55
58
|
* The component to use to render the Picker opening icon if none is provided in the Picker's slots.
|
|
56
59
|
*/
|
|
@@ -59,7 +62,7 @@ export interface PickerFieldUIProps<TEnableAccessibleFieldDOMStructure extends b
|
|
|
59
62
|
export interface PickerFieldUISlots {
|
|
60
63
|
/**
|
|
61
64
|
* Form control with an input to render the value.
|
|
62
|
-
* @default <PickersTextField
|
|
65
|
+
* @default <PickersTextField />
|
|
63
66
|
*/
|
|
64
67
|
textField?: React.ElementType;
|
|
65
68
|
/**
|
|
@@ -90,7 +93,12 @@ export interface PickerFieldUISlotsFromContext extends PickerFieldUISlots {
|
|
|
90
93
|
openPickerIcon?: React.ElementType;
|
|
91
94
|
}
|
|
92
95
|
export interface PickerFieldUISlotProps {
|
|
93
|
-
textField?: SlotComponentPropsFromProps<
|
|
96
|
+
textField?: SlotComponentPropsFromProps<PickersTextFieldProps & {
|
|
97
|
+
slotProps?: {
|
|
98
|
+
input?: Record<string, any>;
|
|
99
|
+
htmlInput?: Record<string, any>;
|
|
100
|
+
};
|
|
101
|
+
}, {}, FieldOwnerState>;
|
|
94
102
|
inputAdornment?: SlotComponentPropsFromProps<InputAdornmentProps, {}, FieldInputAdornmentOwnerState>;
|
|
95
103
|
clearIcon?: SlotComponentPropsFromProps<SvgIconProps, {}, FieldOwnerState>;
|
|
96
104
|
clearButton?: SlotComponentPropsFromProps<IconButtonProps, {}, FieldOwnerState>;
|
|
@@ -111,6 +119,7 @@ export declare function mergeSlotProps<TProps extends {}, TOwnerState extends Fi
|
|
|
111
119
|
/**
|
|
112
120
|
* The `textField` slot props cannot be handled inside `PickerFieldUI` because it would be a breaking change to not pass the enriched props to `useField`.
|
|
113
121
|
* Once the non-accessible DOM structure will be removed, we will be able to remove the `textField` slot and clean this logic.
|
|
122
|
+
* TODO: Address with the needed support for the `textField` slotProps given the change of minimum version of MUI.
|
|
114
123
|
*/
|
|
115
124
|
export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerStateParameters & {
|
|
116
125
|
inputProps?: {};
|
|
@@ -118,7 +127,7 @@ export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerState
|
|
|
118
127
|
}>(parameters: UseFieldTextFieldPropsParameters): TProps;
|
|
119
128
|
interface UseFieldTextFieldPropsParameters {
|
|
120
129
|
slotProps: {
|
|
121
|
-
textField?:
|
|
130
|
+
textField?: PickerFieldUISlotProps['textField'];
|
|
122
131
|
} | undefined;
|
|
123
132
|
ref: React.Ref<HTMLDivElement>;
|
|
124
133
|
externalForwardedProps: any;
|
|
@@ -18,10 +18,8 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
18
18
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
19
19
|
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
20
20
|
var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
|
|
21
|
-
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
22
21
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
23
22
|
var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
|
|
24
|
-
var _version = require("@mui/material/version");
|
|
25
23
|
var _useSlotProps5 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
26
24
|
var _useFieldOwnerState = require("../hooks/useFieldOwnerState");
|
|
27
25
|
var _hooks = require("../../hooks");
|
|
@@ -29,95 +27,40 @@ var _icons = require("../../icons");
|
|
|
29
27
|
var _useNullablePickerContext = require("../hooks/useNullablePickerContext");
|
|
30
28
|
var _PickersTextField = require("../../PickersTextField");
|
|
31
29
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
32
|
-
const _excluded = ["
|
|
33
|
-
_excluded2 = ["
|
|
34
|
-
_excluded3 = ["
|
|
30
|
+
const _excluded = ["InputProps", "readOnly", "onClear", "clearable", "clearButtonPosition", "openPickerButtonPosition", "openPickerAriaLabel"],
|
|
31
|
+
_excluded2 = ["ownerState"],
|
|
32
|
+
_excluded3 = ["ownerState"],
|
|
35
33
|
_excluded4 = ["ownerState"],
|
|
36
34
|
_excluded5 = ["ownerState"],
|
|
37
|
-
_excluded6 = ["
|
|
38
|
-
_excluded7 = ["ownerState"],
|
|
39
|
-
_excluded8 = ["InputProps", "inputProps"];
|
|
35
|
+
_excluded6 = ["InputProps", "inputProps"];
|
|
40
36
|
const noop = () => {};
|
|
41
|
-
const cleanFieldResponse =
|
|
42
|
-
let {
|
|
43
|
-
enableAccessibleFieldDOMStructure
|
|
44
|
-
} = _ref,
|
|
45
|
-
fieldResponse = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
46
|
-
if (enableAccessibleFieldDOMStructure) {
|
|
47
|
-
const {
|
|
48
|
-
InputProps,
|
|
49
|
-
readOnly,
|
|
50
|
-
onClear,
|
|
51
|
-
clearable,
|
|
52
|
-
clearButtonPosition,
|
|
53
|
-
openPickerButtonPosition,
|
|
54
|
-
openPickerAriaLabel
|
|
55
|
-
} = fieldResponse,
|
|
56
|
-
other = (0, _objectWithoutPropertiesLoose2.default)(fieldResponse, _excluded2);
|
|
57
|
-
const mergedInputProps = _version.major >= 6 && other?.slotProps?.input ? mergeSlotProps(other?.slotProps?.input, InputProps) : noop;
|
|
58
|
-
return {
|
|
59
|
-
clearable,
|
|
60
|
-
onClear,
|
|
61
|
-
clearButtonPosition,
|
|
62
|
-
openPickerButtonPosition,
|
|
63
|
-
openPickerAriaLabel,
|
|
64
|
-
textFieldProps: (0, _extends2.default)({}, other, _version.major >= 6 && other?.slotProps?.input ? {
|
|
65
|
-
slotProps: (0, _extends2.default)({}, other?.slotProps, {
|
|
66
|
-
input: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(mergedInputProps, ownerState), {
|
|
67
|
-
readOnly
|
|
68
|
-
})
|
|
69
|
-
})
|
|
70
|
-
} : {
|
|
71
|
-
InputProps: (0, _extends2.default)({}, InputProps ?? {}, {
|
|
72
|
-
readOnly
|
|
73
|
-
})
|
|
74
|
-
})
|
|
75
|
-
};
|
|
76
|
-
}
|
|
37
|
+
const cleanFieldResponse = fieldResponse => {
|
|
77
38
|
const {
|
|
78
|
-
onPaste,
|
|
79
|
-
onKeyDown,
|
|
80
|
-
inputMode,
|
|
81
|
-
readOnly,
|
|
82
39
|
InputProps,
|
|
83
|
-
|
|
84
|
-
inputRef,
|
|
40
|
+
readOnly,
|
|
85
41
|
onClear,
|
|
86
42
|
clearable,
|
|
87
43
|
clearButtonPosition,
|
|
88
44
|
openPickerButtonPosition,
|
|
89
45
|
openPickerAriaLabel
|
|
90
46
|
} = fieldResponse,
|
|
91
|
-
other = (0, _objectWithoutPropertiesLoose2.default)(fieldResponse,
|
|
92
|
-
const mergedInputProps =
|
|
93
|
-
const mergedHtmlInputProps = _version.major >= 6 && other?.slotProps?.htmlInput ? mergeSlotProps(other?.slotProps?.htmlInput, inputProps) : noop;
|
|
47
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(fieldResponse, _excluded);
|
|
48
|
+
const mergedInputProps = other?.slotProps?.input ? mergeSlotProps(other?.slotProps?.input, InputProps) : noop;
|
|
94
49
|
return {
|
|
95
50
|
clearable,
|
|
96
51
|
onClear,
|
|
97
52
|
clearButtonPosition,
|
|
98
53
|
openPickerButtonPosition,
|
|
99
54
|
openPickerAriaLabel,
|
|
100
|
-
textFieldProps: (0, _extends2.default)({}, other,
|
|
55
|
+
textFieldProps: (0, _extends2.default)({}, other, other?.slotProps?.input || other?.slotProps?.htmlInput ? {
|
|
101
56
|
slotProps: (0, _extends2.default)({}, other?.slotProps, {
|
|
102
57
|
input: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(mergedInputProps, ownerState), {
|
|
103
58
|
readOnly
|
|
104
|
-
}),
|
|
105
|
-
htmlInput: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(mergedHtmlInputProps, ownerState), {
|
|
106
|
-
inputMode,
|
|
107
|
-
onPaste,
|
|
108
|
-
onKeyDown,
|
|
109
|
-
ref: inputRef
|
|
110
59
|
})
|
|
111
60
|
})
|
|
112
61
|
} : {
|
|
113
62
|
InputProps: (0, _extends2.default)({}, InputProps ?? {}, {
|
|
114
63
|
readOnly
|
|
115
|
-
}),
|
|
116
|
-
inputProps: (0, _extends2.default)({}, inputProps ?? {}, {
|
|
117
|
-
inputMode,
|
|
118
|
-
onPaste,
|
|
119
|
-
onKeyDown,
|
|
120
|
-
ref: inputRef
|
|
121
64
|
})
|
|
122
65
|
})
|
|
123
66
|
};
|
|
@@ -159,7 +102,7 @@ function PickerFieldUI(props) {
|
|
|
159
102
|
const triggerStatus = pickerContext ? pickerContext.triggerStatus : 'hidden';
|
|
160
103
|
const clearButtonPosition = clearable ? clearButtonPositionProp : null;
|
|
161
104
|
const openPickerButtonPosition = triggerStatus !== 'hidden' ? openPickerButtonPositionProp : null;
|
|
162
|
-
const TextField = pickerFieldUIContext.slots.textField ??
|
|
105
|
+
const TextField = pickerFieldUIContext.slots.textField ?? _PickersTextField.PickersTextField;
|
|
163
106
|
const InputAdornment = pickerFieldUIContext.slots.inputAdornment ?? _InputAdornment.default;
|
|
164
107
|
const _useSlotProps = (0, _useSlotProps5.default)({
|
|
165
108
|
elementType: InputAdornment,
|
|
@@ -171,7 +114,7 @@ function PickerFieldUI(props) {
|
|
|
171
114
|
position: 'start'
|
|
172
115
|
})
|
|
173
116
|
}),
|
|
174
|
-
startInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps,
|
|
117
|
+
startInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
|
|
175
118
|
const _useSlotProps2 = (0, _useSlotProps5.default)({
|
|
176
119
|
elementType: InputAdornment,
|
|
177
120
|
externalSlotProps: pickerFieldUIContext.slotProps.inputAdornment,
|
|
@@ -182,7 +125,7 @@ function PickerFieldUI(props) {
|
|
|
182
125
|
position: 'end'
|
|
183
126
|
})
|
|
184
127
|
}),
|
|
185
|
-
endInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps2,
|
|
128
|
+
endInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps2, _excluded3);
|
|
186
129
|
const OpenPickerButton = pickerFieldUIContext.slots.openPickerButton ?? _IconButton.default;
|
|
187
130
|
// We don't want to forward the `ownerState` to the `<IconButton />` component, see mui/material-ui#34056
|
|
188
131
|
const _useSlotProps3 = (0, _useSlotProps5.default)({
|
|
@@ -200,7 +143,7 @@ function PickerFieldUI(props) {
|
|
|
200
143
|
},
|
|
201
144
|
ownerState
|
|
202
145
|
}),
|
|
203
|
-
openPickerButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps3,
|
|
146
|
+
openPickerButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps3, _excluded4);
|
|
204
147
|
const OpenPickerIcon = pickerFieldUIContext.slots.openPickerIcon ?? defaultOpenPickerIcon;
|
|
205
148
|
const openPickerIconProps = (0, _useSlotProps5.default)({
|
|
206
149
|
elementType: OpenPickerIcon,
|
|
@@ -224,7 +167,7 @@ function PickerFieldUI(props) {
|
|
|
224
167
|
},
|
|
225
168
|
ownerState
|
|
226
169
|
}),
|
|
227
|
-
clearButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps4,
|
|
170
|
+
clearButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps4, _excluded5);
|
|
228
171
|
const ClearIcon = pickerFieldUIContext.slots.clearIcon ?? _icons.ClearIcon;
|
|
229
172
|
const clearIconProps = (0, _useSlotProps5.default)({
|
|
230
173
|
elementType: ClearIcon,
|
|
@@ -236,7 +179,7 @@ function PickerFieldUI(props) {
|
|
|
236
179
|
});
|
|
237
180
|
textFieldProps.ref = (0, _useForkRef.default)(textFieldProps.ref, pickerContext?.rootRef);
|
|
238
181
|
const additionalTextFieldInputProps = {};
|
|
239
|
-
const textFieldInputProps = (0, _resolveComponentProps.default)(
|
|
182
|
+
const textFieldInputProps = (0, _resolveComponentProps.default)(textFieldProps?.slotProps?.input ?? textFieldProps.InputProps, ownerState);
|
|
240
183
|
if (pickerContext) {
|
|
241
184
|
additionalTextFieldInputProps.ref = pickerContext.triggerRef;
|
|
242
185
|
}
|
|
@@ -279,18 +222,16 @@ function PickerFieldUI(props) {
|
|
|
279
222
|
}
|
|
280
223
|
}, ...(Array.isArray(textFieldProps.sx) ? textFieldProps.sx : [textFieldProps.sx])];
|
|
281
224
|
}
|
|
282
|
-
const resolvedTextFieldInputProps =
|
|
225
|
+
const resolvedTextFieldInputProps = textFieldProps?.slotProps?.input ? (0, _resolveComponentProps.default)(mergeSlotProps(textFieldInputProps, additionalTextFieldInputProps), ownerState) : (0, _extends2.default)({}, textFieldInputProps, additionalTextFieldInputProps);
|
|
283
226
|
|
|
284
227
|
// We need to resolve the `inputProps` since we are messing with those props in this component.
|
|
285
|
-
textFieldProps.inputProps =
|
|
228
|
+
textFieldProps.inputProps = textFieldProps?.slotProps?.htmlInput ? (0, _resolveComponentProps.default)(textFieldProps.slotProps.htmlInput, ownerState) : textFieldProps.inputProps;
|
|
286
229
|
|
|
287
230
|
// Remove the `input` slotProps to avoid them overriding the manually resolved `InputProps`.
|
|
288
|
-
//
|
|
231
|
+
// `slotProps` would take precedence over `InputProps`.
|
|
289
232
|
delete textFieldProps?.slotProps?.input;
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
delete textFieldProps?.slotProps;
|
|
293
|
-
}
|
|
233
|
+
// Remove the `slotProps` on `PickersTextField` as they are not supported.
|
|
234
|
+
delete textFieldProps?.slotProps;
|
|
294
235
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, textFieldProps, {
|
|
295
236
|
InputProps: resolvedTextFieldInputProps
|
|
296
237
|
}));
|
|
@@ -310,6 +251,7 @@ function mergeSlotProps(slotPropsA, slotPropsB) {
|
|
|
310
251
|
/**
|
|
311
252
|
* The `textField` slot props cannot be handled inside `PickerFieldUI` because it would be a breaking change to not pass the enriched props to `useField`.
|
|
312
253
|
* Once the non-accessible DOM structure will be removed, we will be able to remove the `textField` slot and clean this logic.
|
|
254
|
+
* TODO: Address with the needed support for the `textField` slotProps given the change of minimum version of MUI.
|
|
313
255
|
*/
|
|
314
256
|
function useFieldTextFieldProps(parameters) {
|
|
315
257
|
const {
|
|
@@ -324,7 +266,7 @@ function useFieldTextFieldProps(parameters) {
|
|
|
324
266
|
InputProps,
|
|
325
267
|
inputProps
|
|
326
268
|
} = externalForwardedProps,
|
|
327
|
-
otherExternalForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(externalForwardedProps,
|
|
269
|
+
otherExternalForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(externalForwardedProps, _excluded6);
|
|
328
270
|
const textFieldProps = (0, _useSlotProps5.default)({
|
|
329
271
|
elementType: _PickersTextField.PickersTextField,
|
|
330
272
|
externalSlotProps: mergeSlotProps(pickerFieldUIContext.slotProps.textField, slotProps?.textField),
|
|
@@ -2,22 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["
|
|
6
|
-
_excluded2 = ["
|
|
7
|
-
_excluded3 = ["
|
|
5
|
+
const _excluded = ["InputProps", "readOnly", "onClear", "clearable", "clearButtonPosition", "openPickerButtonPosition", "openPickerAriaLabel"],
|
|
6
|
+
_excluded2 = ["ownerState"],
|
|
7
|
+
_excluded3 = ["ownerState"],
|
|
8
8
|
_excluded4 = ["ownerState"],
|
|
9
9
|
_excluded5 = ["ownerState"],
|
|
10
|
-
_excluded6 = ["
|
|
11
|
-
_excluded7 = ["ownerState"],
|
|
12
|
-
_excluded8 = ["InputProps", "inputProps"];
|
|
10
|
+
_excluded6 = ["InputProps", "inputProps"];
|
|
13
11
|
import * as React from 'react';
|
|
14
12
|
import useEventCallback from '@mui/utils/useEventCallback';
|
|
15
13
|
import useForkRef from '@mui/utils/useForkRef';
|
|
16
14
|
import resolveComponentProps from '@mui/utils/resolveComponentProps';
|
|
17
|
-
import MuiTextField from '@mui/material/TextField';
|
|
18
15
|
import MuiIconButton from '@mui/material/IconButton';
|
|
19
16
|
import MuiInputAdornment from '@mui/material/InputAdornment';
|
|
20
|
-
import { major as materialMajor } from '@mui/material/version';
|
|
21
17
|
import useSlotProps from '@mui/utils/useSlotProps';
|
|
22
18
|
import { useFieldOwnerState } from "../hooks/useFieldOwnerState.mjs";
|
|
23
19
|
import { usePickerTranslations } from "../../hooks/index.mjs";
|
|
@@ -26,86 +22,33 @@ import { useNullablePickerContext } from "../hooks/useNullablePickerContext.mjs"
|
|
|
26
22
|
import { PickersTextField } from "../../PickersTextField/index.mjs";
|
|
27
23
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
24
|
const noop = () => {};
|
|
29
|
-
export const cleanFieldResponse =
|
|
30
|
-
let {
|
|
31
|
-
enableAccessibleFieldDOMStructure
|
|
32
|
-
} = _ref,
|
|
33
|
-
fieldResponse = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
34
|
-
if (enableAccessibleFieldDOMStructure) {
|
|
35
|
-
const {
|
|
36
|
-
InputProps,
|
|
37
|
-
readOnly,
|
|
38
|
-
onClear,
|
|
39
|
-
clearable,
|
|
40
|
-
clearButtonPosition,
|
|
41
|
-
openPickerButtonPosition,
|
|
42
|
-
openPickerAriaLabel
|
|
43
|
-
} = fieldResponse,
|
|
44
|
-
other = _objectWithoutPropertiesLoose(fieldResponse, _excluded2);
|
|
45
|
-
const mergedInputProps = materialMajor >= 6 && other?.slotProps?.input ? mergeSlotProps(other?.slotProps?.input, InputProps) : noop;
|
|
46
|
-
return {
|
|
47
|
-
clearable,
|
|
48
|
-
onClear,
|
|
49
|
-
clearButtonPosition,
|
|
50
|
-
openPickerButtonPosition,
|
|
51
|
-
openPickerAriaLabel,
|
|
52
|
-
textFieldProps: _extends({}, other, materialMajor >= 6 && other?.slotProps?.input ? {
|
|
53
|
-
slotProps: _extends({}, other?.slotProps, {
|
|
54
|
-
input: ownerState => _extends({}, resolveComponentProps(mergedInputProps, ownerState), {
|
|
55
|
-
readOnly
|
|
56
|
-
})
|
|
57
|
-
})
|
|
58
|
-
} : {
|
|
59
|
-
InputProps: _extends({}, InputProps ?? {}, {
|
|
60
|
-
readOnly
|
|
61
|
-
})
|
|
62
|
-
})
|
|
63
|
-
};
|
|
64
|
-
}
|
|
25
|
+
export const cleanFieldResponse = fieldResponse => {
|
|
65
26
|
const {
|
|
66
|
-
onPaste,
|
|
67
|
-
onKeyDown,
|
|
68
|
-
inputMode,
|
|
69
|
-
readOnly,
|
|
70
27
|
InputProps,
|
|
71
|
-
|
|
72
|
-
inputRef,
|
|
28
|
+
readOnly,
|
|
73
29
|
onClear,
|
|
74
30
|
clearable,
|
|
75
31
|
clearButtonPosition,
|
|
76
32
|
openPickerButtonPosition,
|
|
77
33
|
openPickerAriaLabel
|
|
78
34
|
} = fieldResponse,
|
|
79
|
-
other = _objectWithoutPropertiesLoose(fieldResponse,
|
|
80
|
-
const mergedInputProps =
|
|
81
|
-
const mergedHtmlInputProps = materialMajor >= 6 && other?.slotProps?.htmlInput ? mergeSlotProps(other?.slotProps?.htmlInput, inputProps) : noop;
|
|
35
|
+
other = _objectWithoutPropertiesLoose(fieldResponse, _excluded);
|
|
36
|
+
const mergedInputProps = other?.slotProps?.input ? mergeSlotProps(other?.slotProps?.input, InputProps) : noop;
|
|
82
37
|
return {
|
|
83
38
|
clearable,
|
|
84
39
|
onClear,
|
|
85
40
|
clearButtonPosition,
|
|
86
41
|
openPickerButtonPosition,
|
|
87
42
|
openPickerAriaLabel,
|
|
88
|
-
textFieldProps: _extends({}, other,
|
|
43
|
+
textFieldProps: _extends({}, other, other?.slotProps?.input || other?.slotProps?.htmlInput ? {
|
|
89
44
|
slotProps: _extends({}, other?.slotProps, {
|
|
90
45
|
input: ownerState => _extends({}, resolveComponentProps(mergedInputProps, ownerState), {
|
|
91
46
|
readOnly
|
|
92
|
-
}),
|
|
93
|
-
htmlInput: ownerState => _extends({}, resolveComponentProps(mergedHtmlInputProps, ownerState), {
|
|
94
|
-
inputMode,
|
|
95
|
-
onPaste,
|
|
96
|
-
onKeyDown,
|
|
97
|
-
ref: inputRef
|
|
98
47
|
})
|
|
99
48
|
})
|
|
100
49
|
} : {
|
|
101
50
|
InputProps: _extends({}, InputProps ?? {}, {
|
|
102
51
|
readOnly
|
|
103
|
-
}),
|
|
104
|
-
inputProps: _extends({}, inputProps ?? {}, {
|
|
105
|
-
inputMode,
|
|
106
|
-
onPaste,
|
|
107
|
-
onKeyDown,
|
|
108
|
-
ref: inputRef
|
|
109
52
|
})
|
|
110
53
|
})
|
|
111
54
|
};
|
|
@@ -146,7 +89,7 @@ export function PickerFieldUI(props) {
|
|
|
146
89
|
const triggerStatus = pickerContext ? pickerContext.triggerStatus : 'hidden';
|
|
147
90
|
const clearButtonPosition = clearable ? clearButtonPositionProp : null;
|
|
148
91
|
const openPickerButtonPosition = triggerStatus !== 'hidden' ? openPickerButtonPositionProp : null;
|
|
149
|
-
const TextField = pickerFieldUIContext.slots.textField ??
|
|
92
|
+
const TextField = pickerFieldUIContext.slots.textField ?? PickersTextField;
|
|
150
93
|
const InputAdornment = pickerFieldUIContext.slots.inputAdornment ?? MuiInputAdornment;
|
|
151
94
|
const _useSlotProps = useSlotProps({
|
|
152
95
|
elementType: InputAdornment,
|
|
@@ -158,7 +101,7 @@ export function PickerFieldUI(props) {
|
|
|
158
101
|
position: 'start'
|
|
159
102
|
})
|
|
160
103
|
}),
|
|
161
|
-
startInputAdornmentProps = _objectWithoutPropertiesLoose(_useSlotProps,
|
|
104
|
+
startInputAdornmentProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
162
105
|
const _useSlotProps2 = useSlotProps({
|
|
163
106
|
elementType: InputAdornment,
|
|
164
107
|
externalSlotProps: pickerFieldUIContext.slotProps.inputAdornment,
|
|
@@ -169,7 +112,7 @@ export function PickerFieldUI(props) {
|
|
|
169
112
|
position: 'end'
|
|
170
113
|
})
|
|
171
114
|
}),
|
|
172
|
-
endInputAdornmentProps = _objectWithoutPropertiesLoose(_useSlotProps2,
|
|
115
|
+
endInputAdornmentProps = _objectWithoutPropertiesLoose(_useSlotProps2, _excluded3);
|
|
173
116
|
const OpenPickerButton = pickerFieldUIContext.slots.openPickerButton ?? MuiIconButton;
|
|
174
117
|
// We don't want to forward the `ownerState` to the `<IconButton />` component, see mui/material-ui#34056
|
|
175
118
|
const _useSlotProps3 = useSlotProps({
|
|
@@ -187,7 +130,7 @@ export function PickerFieldUI(props) {
|
|
|
187
130
|
},
|
|
188
131
|
ownerState
|
|
189
132
|
}),
|
|
190
|
-
openPickerButtonProps = _objectWithoutPropertiesLoose(_useSlotProps3,
|
|
133
|
+
openPickerButtonProps = _objectWithoutPropertiesLoose(_useSlotProps3, _excluded4);
|
|
191
134
|
const OpenPickerIcon = pickerFieldUIContext.slots.openPickerIcon ?? defaultOpenPickerIcon;
|
|
192
135
|
const openPickerIconProps = useSlotProps({
|
|
193
136
|
elementType: OpenPickerIcon,
|
|
@@ -211,7 +154,7 @@ export function PickerFieldUI(props) {
|
|
|
211
154
|
},
|
|
212
155
|
ownerState
|
|
213
156
|
}),
|
|
214
|
-
clearButtonProps = _objectWithoutPropertiesLoose(_useSlotProps4,
|
|
157
|
+
clearButtonProps = _objectWithoutPropertiesLoose(_useSlotProps4, _excluded5);
|
|
215
158
|
const ClearIcon = pickerFieldUIContext.slots.clearIcon ?? MuiClearIcon;
|
|
216
159
|
const clearIconProps = useSlotProps({
|
|
217
160
|
elementType: ClearIcon,
|
|
@@ -223,7 +166,7 @@ export function PickerFieldUI(props) {
|
|
|
223
166
|
});
|
|
224
167
|
textFieldProps.ref = useForkRef(textFieldProps.ref, pickerContext?.rootRef);
|
|
225
168
|
const additionalTextFieldInputProps = {};
|
|
226
|
-
const textFieldInputProps = resolveComponentProps(
|
|
169
|
+
const textFieldInputProps = resolveComponentProps(textFieldProps?.slotProps?.input ?? textFieldProps.InputProps, ownerState);
|
|
227
170
|
if (pickerContext) {
|
|
228
171
|
additionalTextFieldInputProps.ref = pickerContext.triggerRef;
|
|
229
172
|
}
|
|
@@ -266,18 +209,16 @@ export function PickerFieldUI(props) {
|
|
|
266
209
|
}
|
|
267
210
|
}, ...(Array.isArray(textFieldProps.sx) ? textFieldProps.sx : [textFieldProps.sx])];
|
|
268
211
|
}
|
|
269
|
-
const resolvedTextFieldInputProps =
|
|
212
|
+
const resolvedTextFieldInputProps = textFieldProps?.slotProps?.input ? resolveComponentProps(mergeSlotProps(textFieldInputProps, additionalTextFieldInputProps), ownerState) : _extends({}, textFieldInputProps, additionalTextFieldInputProps);
|
|
270
213
|
|
|
271
214
|
// We need to resolve the `inputProps` since we are messing with those props in this component.
|
|
272
|
-
textFieldProps.inputProps =
|
|
215
|
+
textFieldProps.inputProps = textFieldProps?.slotProps?.htmlInput ? resolveComponentProps(textFieldProps.slotProps.htmlInput, ownerState) : textFieldProps.inputProps;
|
|
273
216
|
|
|
274
217
|
// Remove the `input` slotProps to avoid them overriding the manually resolved `InputProps`.
|
|
275
|
-
//
|
|
218
|
+
// `slotProps` would take precedence over `InputProps`.
|
|
276
219
|
delete textFieldProps?.slotProps?.input;
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
delete textFieldProps?.slotProps;
|
|
280
|
-
}
|
|
220
|
+
// Remove the `slotProps` on `PickersTextField` as they are not supported.
|
|
221
|
+
delete textFieldProps?.slotProps;
|
|
281
222
|
return /*#__PURE__*/_jsx(TextField, _extends({}, textFieldProps, {
|
|
282
223
|
InputProps: resolvedTextFieldInputProps
|
|
283
224
|
}));
|
|
@@ -297,6 +238,7 @@ export function mergeSlotProps(slotPropsA, slotPropsB) {
|
|
|
297
238
|
/**
|
|
298
239
|
* The `textField` slot props cannot be handled inside `PickerFieldUI` because it would be a breaking change to not pass the enriched props to `useField`.
|
|
299
240
|
* Once the non-accessible DOM structure will be removed, we will be able to remove the `textField` slot and clean this logic.
|
|
241
|
+
* TODO: Address with the needed support for the `textField` slotProps given the change of minimum version of MUI.
|
|
300
242
|
*/
|
|
301
243
|
export function useFieldTextFieldProps(parameters) {
|
|
302
244
|
const {
|
|
@@ -311,7 +253,7 @@ export function useFieldTextFieldProps(parameters) {
|
|
|
311
253
|
InputProps,
|
|
312
254
|
inputProps
|
|
313
255
|
} = externalForwardedProps,
|
|
314
|
-
otherExternalForwardedProps = _objectWithoutPropertiesLoose(externalForwardedProps,
|
|
256
|
+
otherExternalForwardedProps = _objectWithoutPropertiesLoose(externalForwardedProps, _excluded6);
|
|
315
257
|
const textFieldProps = useSlotProps({
|
|
316
258
|
elementType: PickersTextField,
|
|
317
259
|
externalSlotProps: mergeSlotProps(pickerFieldUIContext.slotProps.textField, slotProps?.textField),
|
|
@@ -100,6 +100,9 @@ function useClickAwayListener(active, onClickAway) {
|
|
|
100
100
|
// Only special HTML elements have these default behaviors.
|
|
101
101
|
const handleClickAway = (0, _useEventCallback.default)(event => {
|
|
102
102
|
if (!activatedRef.current) {
|
|
103
|
+
// Reset syntheticEventRef to avoid stale state when a programmatic click
|
|
104
|
+
// (e.g., ButtonBase Enter key handler) sets it without a preceding mousedown.
|
|
105
|
+
syntheticEventRef.current = false;
|
|
103
106
|
return;
|
|
104
107
|
}
|
|
105
108
|
|
|
@@ -93,6 +93,9 @@ function useClickAwayListener(active, onClickAway) {
|
|
|
93
93
|
// Only special HTML elements have these default behaviors.
|
|
94
94
|
const handleClickAway = useEventCallback(event => {
|
|
95
95
|
if (!activatedRef.current) {
|
|
96
|
+
// Reset syntheticEventRef to avoid stale state when a programmatic click
|
|
97
|
+
// (e.g., ButtonBase Enter key handler) sets it without a preceding mousedown.
|
|
98
|
+
syntheticEventRef.current = false;
|
|
96
99
|
return;
|
|
97
100
|
}
|
|
98
101
|
|
|
@@ -108,10 +108,12 @@ const PickersToolbar = exports.PickersToolbar = /*#__PURE__*/React.forwardRef(fu
|
|
|
108
108
|
ownerState: ownerState
|
|
109
109
|
}, other, {
|
|
110
110
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
111
|
-
color: "text.secondary",
|
|
112
111
|
variant: "overline",
|
|
113
112
|
id: titleId,
|
|
114
113
|
className: classes.title,
|
|
114
|
+
sx: {
|
|
115
|
+
color: 'text.secondary'
|
|
116
|
+
},
|
|
115
117
|
children: toolbarTitle
|
|
116
118
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersToolbarContent, {
|
|
117
119
|
className: classes.content,
|
|
@@ -101,10 +101,12 @@ export const PickersToolbar = /*#__PURE__*/React.forwardRef(function PickersTool
|
|
|
101
101
|
ownerState: ownerState
|
|
102
102
|
}, other, {
|
|
103
103
|
children: [/*#__PURE__*/_jsx(Typography, {
|
|
104
|
-
color: "text.secondary",
|
|
105
104
|
variant: "overline",
|
|
106
105
|
id: titleId,
|
|
107
106
|
className: classes.title,
|
|
107
|
+
sx: {
|
|
108
|
+
color: 'text.secondary'
|
|
109
|
+
},
|
|
108
110
|
children: toolbarTitle
|
|
109
111
|
}), /*#__PURE__*/_jsx(PickersToolbarContent, {
|
|
110
112
|
className: classes.content,
|
|
@@ -50,26 +50,24 @@ function DemoItem(props) {
|
|
|
50
50
|
label,
|
|
51
51
|
children,
|
|
52
52
|
component,
|
|
53
|
-
sx: sxProp
|
|
54
|
-
alignItems = 'stretch'
|
|
53
|
+
sx: sxProp
|
|
55
54
|
} = props;
|
|
56
55
|
let spacing;
|
|
57
|
-
let sx =
|
|
56
|
+
let sx = {};
|
|
58
57
|
if (component && getChildTypeFromChildName(component) === 'multi-input-range-field') {
|
|
59
58
|
spacing = 1.5;
|
|
60
|
-
sx =
|
|
59
|
+
sx = {
|
|
61
60
|
[`& .${_TextField.textFieldClasses.root}`]: {
|
|
62
61
|
flexGrow: 1
|
|
63
62
|
}
|
|
64
|
-
}
|
|
63
|
+
};
|
|
65
64
|
} else {
|
|
66
65
|
spacing = 1;
|
|
67
66
|
}
|
|
68
67
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Stack.default, {
|
|
69
68
|
direction: "column",
|
|
70
|
-
alignItems: alignItems,
|
|
71
69
|
spacing: spacing,
|
|
72
|
-
sx: sx,
|
|
70
|
+
sx: [...(Array.isArray(sxProp) ? sxProp : [sxProp]), sx],
|
|
73
71
|
children: [label && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
74
72
|
variant: "body2",
|
|
75
73
|
children: label
|
|
@@ -179,7 +177,7 @@ function DemoContainer(props) {
|
|
|
179
177
|
// Inject sx styles to the `DemoItem` if it is a direct child of `DemoContainer`.
|
|
180
178
|
// @ts-ignore
|
|
181
179
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
182
|
-
sx: (0, _extends2.default)({}, extraSx, demoItemSx)
|
|
180
|
+
sx: [(0, _extends2.default)({}, extraSx, demoItemSx), ...(Array.isArray(child.props.sx) ? child.props.sx : [child.props.sx])]
|
|
183
181
|
});
|
|
184
182
|
}
|
|
185
183
|
return child;
|
|
@@ -41,26 +41,24 @@ export function DemoItem(props) {
|
|
|
41
41
|
label,
|
|
42
42
|
children,
|
|
43
43
|
component,
|
|
44
|
-
sx: sxProp
|
|
45
|
-
alignItems = 'stretch'
|
|
44
|
+
sx: sxProp
|
|
46
45
|
} = props;
|
|
47
46
|
let spacing;
|
|
48
|
-
let sx =
|
|
47
|
+
let sx = {};
|
|
49
48
|
if (component && getChildTypeFromChildName(component) === 'multi-input-range-field') {
|
|
50
49
|
spacing = 1.5;
|
|
51
|
-
sx =
|
|
50
|
+
sx = {
|
|
52
51
|
[`& .${textFieldClasses.root}`]: {
|
|
53
52
|
flexGrow: 1
|
|
54
53
|
}
|
|
55
|
-
}
|
|
54
|
+
};
|
|
56
55
|
} else {
|
|
57
56
|
spacing = 1;
|
|
58
57
|
}
|
|
59
58
|
return /*#__PURE__*/_jsxs(Stack, {
|
|
60
59
|
direction: "column",
|
|
61
|
-
alignItems: alignItems,
|
|
62
60
|
spacing: spacing,
|
|
63
|
-
sx: sx,
|
|
61
|
+
sx: [...(Array.isArray(sxProp) ? sxProp : [sxProp]), sx],
|
|
64
62
|
children: [label && /*#__PURE__*/_jsx(Typography, {
|
|
65
63
|
variant: "body2",
|
|
66
64
|
children: label
|
|
@@ -170,7 +168,7 @@ export function DemoContainer(props) {
|
|
|
170
168
|
// Inject sx styles to the `DemoItem` if it is a direct child of `DemoContainer`.
|
|
171
169
|
// @ts-ignore
|
|
172
170
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
173
|
-
sx: _extends({}, extraSx, demoItemSx)
|
|
171
|
+
sx: [_extends({}, extraSx, demoItemSx), ...(Array.isArray(child.props.sx) ? child.props.sx : [child.props.sx])]
|
|
174
172
|
});
|
|
175
173
|
}
|
|
176
174
|
return child;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PickerValidDate } from "../../models/index.mjs";
|
|
2
|
+
export interface PickerDayOwnerState {
|
|
3
|
+
day: PickerValidDate;
|
|
4
|
+
isDaySelected: boolean;
|
|
5
|
+
isDayDisabled: boolean;
|
|
6
|
+
isDayCurrent: boolean;
|
|
7
|
+
isDayOutsideMonth: boolean;
|
|
8
|
+
isDayStartOfWeek: boolean;
|
|
9
|
+
isDayEndOfWeek: boolean;
|
|
10
|
+
disableHighlightToday: boolean;
|
|
11
|
+
showDaysOutsideCurrentMonth: boolean;
|
|
12
|
+
}
|