@mui/x-date-pickers 9.0.0-alpha.4 → 9.0.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 +374 -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 -28
- package/DateField/DateField.mjs +22 -28
- 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 -28
- package/DateTimeField/DateTimeField.mjs +22 -28
- 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/LocalizationProvider/LocalizationProvider.d.mts +0 -6
- package/LocalizationProvider/LocalizationProvider.d.ts +0 -6
- package/LocalizationProvider/LocalizationProvider.js +1 -10
- package/LocalizationProvider/LocalizationProvider.mjs +0 -9
- package/LocalizationProvider/index.d.mts +1 -1
- package/LocalizationProvider/index.d.ts +1 -1
- package/LocalizationProvider/index.js +0 -6
- package/LocalizationProvider/index.mjs +1 -1
- 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 +37 -16
- package/PickersTextField/PickersFilledInput/PickersFilledInput.mjs +37 -16
- package/PickersTextField/PickersInput/PickersInput.js +35 -14
- package/PickersTextField/PickersInput/PickersInput.mjs +35 -14
- package/PickersTextField/PickersInputBase/PickersInputBase.js +38 -8
- package/PickersTextField/PickersInputBase/PickersInputBase.mjs +38 -8
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.mts +56 -13
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +56 -13
- package/PickersTextField/PickersOutlinedInput/Outline.js +1 -1
- package/PickersTextField/PickersOutlinedInput/Outline.mjs +1 -1
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +33 -11
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.mjs +33 -11
- package/PickersTextField/PickersTextField.js +92 -39
- package/PickersTextField/PickersTextField.mjs +92 -39
- package/PickersTextField/PickersTextField.types.d.mts +56 -28
- package/PickersTextField/PickersTextField.types.d.ts +56 -28
- package/PickersTextField/index.d.mts +1 -1
- package/PickersTextField/index.d.ts +1 -1
- 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 +23 -29
- package/TimeField/TimeField.mjs +23 -29
- 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 +11 -17
- package/internals/components/PickerFieldUI.d.ts +11 -17
- package/internals/components/PickerFieldUI.js +65 -114
- package/internals/components/PickerFieldUI.mjs +65 -114
- 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,7 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import { useRtl } from '@mui/system/RtlProvider';
|
|
5
4
|
import { usePickerAdapter } from "./usePickerAdapter.mjs";
|
|
6
5
|
import { buildSectionsFromFormat } from "../internals/hooks/useField/buildSectionsFromFormat.mjs";
|
|
7
6
|
import { getLocalizedDigits } from "../internals/hooks/useField/useField.utils.mjs";
|
|
@@ -17,7 +16,6 @@ import { useNullablePickerContext } from "../internals/hooks/useNullablePickerCo
|
|
|
17
16
|
export const useParsedFormat = (parameters = {}) => {
|
|
18
17
|
const pickerContext = useNullablePickerContext();
|
|
19
18
|
const adapter = usePickerAdapter();
|
|
20
|
-
const isRtl = useRtl();
|
|
21
19
|
const translations = usePickerTranslations();
|
|
22
20
|
const localizedDigits = React.useMemo(() => getLocalizedDigits(adapter), [adapter]);
|
|
23
21
|
const {
|
|
@@ -28,14 +26,14 @@ export const useParsedFormat = (parameters = {}) => {
|
|
|
28
26
|
adapter,
|
|
29
27
|
format,
|
|
30
28
|
formatDensity: 'dense',
|
|
31
|
-
isRtl
|
|
29
|
+
// Pass `isRtl: false` to prevent RTL format reversal.
|
|
30
|
+
// `useParsedFormat` builds a display string, not a field layout.
|
|
31
|
+
isRtl: false,
|
|
32
32
|
shouldRespectLeadingZeros: true,
|
|
33
33
|
localeText: translations,
|
|
34
34
|
localizedDigits,
|
|
35
|
-
date: null
|
|
36
|
-
// TODO v9: Make sure we still don't reverse in `buildSectionsFromFormat` when using `useParsedFormat`.
|
|
37
|
-
enableAccessibleFieldDOMStructure: false
|
|
35
|
+
date: null
|
|
38
36
|
});
|
|
39
37
|
return sections.map(section => `${section.startSeparator}${section.placeholder}${section.endSeparator}`).join('');
|
|
40
|
-
}, [adapter,
|
|
38
|
+
}, [adapter, translations, localizedDigits, format]);
|
|
41
39
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from "../validation/extractValidationProps.mjs";
|
|
2
2
|
import { PickerValueType } from "../models/common.mjs";
|
|
3
|
-
declare const SHARED_FIELD_INTERNAL_PROP_NAMES: readonly ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "fieldRef", "startFieldRef", "endFieldRef", "
|
|
3
|
+
declare const SHARED_FIELD_INTERNAL_PROP_NAMES: readonly ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "fieldRef", "startFieldRef", "endFieldRef", "disabled", "readOnly", "dateSeparator", "autoFocus", "focused"];
|
|
4
4
|
export type InternalPropNames<TValueType extends PickerValueType> = (typeof SHARED_FIELD_INTERNAL_PROP_NAMES)[number] | (TValueType extends 'date' | 'date-time' ? (typeof DATE_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'time' | 'date-time' ? (typeof TIME_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'date-time' ? (typeof DATE_TIME_VALIDATION_PROP_NAMES)[number] : never);
|
|
5
5
|
/**
|
|
6
6
|
* Split the props received by the field component into:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from "../validation/extractValidationProps.js";
|
|
2
2
|
import { PickerValueType } from "../models/common.js";
|
|
3
|
-
declare const SHARED_FIELD_INTERNAL_PROP_NAMES: readonly ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "fieldRef", "startFieldRef", "endFieldRef", "
|
|
3
|
+
declare const SHARED_FIELD_INTERNAL_PROP_NAMES: readonly ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "fieldRef", "startFieldRef", "endFieldRef", "disabled", "readOnly", "dateSeparator", "autoFocus", "focused"];
|
|
4
4
|
export type InternalPropNames<TValueType extends PickerValueType> = (typeof SHARED_FIELD_INTERNAL_PROP_NAMES)[number] | (TValueType extends 'date' | 'date-time' ? (typeof DATE_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'time' | 'date-time' ? (typeof TIME_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'date-time' ? (typeof DATE_TIME_VALIDATION_PROP_NAMES)[number] : never);
|
|
5
5
|
/**
|
|
6
6
|
* Split the props received by the field component into:
|
|
@@ -10,7 +10,7 @@ exports.useSplitFieldProps = void 0;
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _extractValidationProps = require("../validation/extractValidationProps");
|
|
13
|
-
const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'fieldRef', 'startFieldRef', 'endFieldRef', '
|
|
13
|
+
const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'fieldRef', 'startFieldRef', 'endFieldRef', 'disabled', 'readOnly', 'dateSeparator', 'autoFocus', 'focused'];
|
|
14
14
|
/**
|
|
15
15
|
* Split the props received by the field component into:
|
|
16
16
|
* - `internalProps` which are used by the various hooks called by the field component.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from "../validation/extractValidationProps.mjs";
|
|
6
|
-
const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'fieldRef', 'startFieldRef', 'endFieldRef', '
|
|
6
|
+
const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'fieldRef', 'startFieldRef', 'endFieldRef', 'disabled', 'readOnly', 'dateSeparator', 'autoFocus', 'focused'];
|
|
7
7
|
/**
|
|
8
8
|
* Split the props received by the field component into:
|
|
9
9
|
* - `internalProps` which are used by the various hooks called by the field component.
|
package/index.d.mts
CHANGED
|
@@ -2,8 +2,7 @@ export * from "./TimeClock/index.mjs";
|
|
|
2
2
|
export * from "./DigitalClock/index.mjs";
|
|
3
3
|
export * from "./MultiSectionDigitalClock/index.mjs";
|
|
4
4
|
export * from "./LocalizationProvider/index.mjs";
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./PickerDay2/index.mjs";
|
|
5
|
+
export * from "./PickerDay/index.mjs";
|
|
7
6
|
export * from "./locales/utils/pickersLocaleTextApi.mjs";
|
|
8
7
|
export * from "./DateField/index.mjs";
|
|
9
8
|
export * from "./TimeField/index.mjs";
|
package/index.d.ts
CHANGED
|
@@ -2,8 +2,7 @@ export * from "./TimeClock/index.js";
|
|
|
2
2
|
export * from "./DigitalClock/index.js";
|
|
3
3
|
export * from "./MultiSectionDigitalClock/index.js";
|
|
4
4
|
export * from "./LocalizationProvider/index.js";
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./PickerDay2/index.js";
|
|
5
|
+
export * from "./PickerDay/index.js";
|
|
7
6
|
export * from "./locales/utils/pickersLocaleTextApi.js";
|
|
8
7
|
export * from "./DateField/index.js";
|
|
9
8
|
export * from "./TimeField/index.js";
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-date-pickers v9.0.0
|
|
2
|
+
* @mui/x-date-pickers v9.0.0
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -67,19 +67,7 @@ Object.keys(_LocalizationProvider).forEach(function (key) {
|
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
69
|
});
|
|
70
|
-
var
|
|
71
|
-
Object.keys(_PickersDay).forEach(function (key) {
|
|
72
|
-
if (key === "default" || key === "__esModule") return;
|
|
73
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
74
|
-
if (key in exports && exports[key] === _PickersDay[key]) return;
|
|
75
|
-
Object.defineProperty(exports, key, {
|
|
76
|
-
enumerable: true,
|
|
77
|
-
get: function () {
|
|
78
|
-
return _PickersDay[key];
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
var _PickerDay = require("./PickerDay2");
|
|
70
|
+
var _PickerDay = require("./PickerDay");
|
|
83
71
|
Object.keys(_PickerDay).forEach(function (key) {
|
|
84
72
|
if (key === "default" || key === "__esModule") return;
|
|
85
73
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
package/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-date-pickers v9.0.0
|
|
2
|
+
* @mui/x-date-pickers v9.0.0
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -10,8 +10,7 @@ export * from "./TimeClock/index.mjs";
|
|
|
10
10
|
export * from "./DigitalClock/index.mjs";
|
|
11
11
|
export * from "./MultiSectionDigitalClock/index.mjs";
|
|
12
12
|
export * from "./LocalizationProvider/index.mjs";
|
|
13
|
-
export * from "./
|
|
14
|
-
export * from "./PickerDay2/index.mjs";
|
|
13
|
+
export * from "./PickerDay/index.mjs";
|
|
15
14
|
export * from "./locales/utils/pickersLocaleTextApi.mjs";
|
|
16
15
|
|
|
17
16
|
// Fields
|
|
@@ -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,18 @@ import { FieldOwnerState } from "../../models/index.mjs";
|
|
|
8
7
|
import { UseFieldOwnerStateParameters } from "../hooks/useFieldOwnerState.mjs";
|
|
9
8
|
import type { UseFieldReturnValue, UseFieldProps } from "../hooks/useField/index.mjs";
|
|
10
9
|
import { PickersTextFieldProps } from "../../PickersTextField/index.mjs";
|
|
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>;
|
|
19
15
|
};
|
|
20
16
|
export declare const PickerFieldUIContext: React.Context<PickerFieldUIContextValue>;
|
|
21
17
|
/**
|
|
22
18
|
* Adds the button to open the Picker and the button to clear the value of the field.
|
|
23
19
|
* @ignore - internal component.
|
|
24
20
|
*/
|
|
25
|
-
export declare function PickerFieldUI<
|
|
21
|
+
export declare function PickerFieldUI<TProps extends UseFieldProps>(props: PickerFieldUIProps<TProps>): import("react/jsx-runtime").JSX.Element;
|
|
26
22
|
export interface ExportedPickerFieldUIProps {
|
|
27
23
|
/**
|
|
28
24
|
* If `true`, a clear button will be shown in the field allowing value clearing.
|
|
@@ -46,11 +42,11 @@ export interface ExportedPickerFieldUIProps {
|
|
|
46
42
|
*/
|
|
47
43
|
openPickerButtonPosition?: 'start' | 'end';
|
|
48
44
|
}
|
|
49
|
-
export interface PickerFieldUIProps<
|
|
45
|
+
export interface PickerFieldUIProps<TProps extends UseFieldProps> {
|
|
50
46
|
/**
|
|
51
47
|
* Object returned by the `useField` hook or one of its wrapper (for example `useDateField`).
|
|
52
48
|
*/
|
|
53
|
-
fieldResponse: UseFieldReturnValue<
|
|
49
|
+
fieldResponse: UseFieldReturnValue<TProps>;
|
|
54
50
|
/**
|
|
55
51
|
* The component to use to render the Picker opening icon if none is provided in the Picker's slots.
|
|
56
52
|
*/
|
|
@@ -59,7 +55,7 @@ export interface PickerFieldUIProps<TEnableAccessibleFieldDOMStructure extends b
|
|
|
59
55
|
export interface PickerFieldUISlots {
|
|
60
56
|
/**
|
|
61
57
|
* Form control with an input to render the value.
|
|
62
|
-
* @default <PickersTextField
|
|
58
|
+
* @default <PickersTextField />
|
|
63
59
|
*/
|
|
64
60
|
textField?: React.ElementType;
|
|
65
61
|
/**
|
|
@@ -90,7 +86,7 @@ export interface PickerFieldUISlotsFromContext extends PickerFieldUISlots {
|
|
|
90
86
|
openPickerIcon?: React.ElementType;
|
|
91
87
|
}
|
|
92
88
|
export interface PickerFieldUISlotProps {
|
|
93
|
-
textField?: SlotComponentPropsFromProps<
|
|
89
|
+
textField?: SlotComponentPropsFromProps<PickersTextFieldProps, {}, FieldOwnerState>;
|
|
94
90
|
inputAdornment?: SlotComponentPropsFromProps<InputAdornmentProps, {}, FieldInputAdornmentOwnerState>;
|
|
95
91
|
clearIcon?: SlotComponentPropsFromProps<SvgIconProps, {}, FieldOwnerState>;
|
|
96
92
|
clearButton?: SlotComponentPropsFromProps<IconButtonProps, {}, FieldOwnerState>;
|
|
@@ -111,14 +107,12 @@ export declare function mergeSlotProps<TProps extends {}, TOwnerState extends Fi
|
|
|
111
107
|
/**
|
|
112
108
|
* 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
109
|
* Once the non-accessible DOM structure will be removed, we will be able to remove the `textField` slot and clean this logic.
|
|
110
|
+
* TODO: Address with the needed support for the `textField` slotProps given the change of minimum version of MUI.
|
|
114
111
|
*/
|
|
115
|
-
export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerStateParameters
|
|
116
|
-
inputProps?: {};
|
|
117
|
-
InputProps?: {};
|
|
118
|
-
}>(parameters: UseFieldTextFieldPropsParameters): TProps;
|
|
112
|
+
export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerStateParameters>(parameters: UseFieldTextFieldPropsParameters): TProps;
|
|
119
113
|
interface UseFieldTextFieldPropsParameters {
|
|
120
114
|
slotProps: {
|
|
121
|
-
textField?:
|
|
115
|
+
textField?: PickerFieldUISlotProps['textField'];
|
|
122
116
|
} | undefined;
|
|
123
117
|
ref: React.Ref<HTMLDivElement>;
|
|
124
118
|
externalForwardedProps: any;
|
|
@@ -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,18 @@ 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>;
|
|
19
15
|
};
|
|
20
16
|
export declare const PickerFieldUIContext: React.Context<PickerFieldUIContextValue>;
|
|
21
17
|
/**
|
|
22
18
|
* Adds the button to open the Picker and the button to clear the value of the field.
|
|
23
19
|
* @ignore - internal component.
|
|
24
20
|
*/
|
|
25
|
-
export declare function PickerFieldUI<
|
|
21
|
+
export declare function PickerFieldUI<TProps extends UseFieldProps>(props: PickerFieldUIProps<TProps>): import("react/jsx-runtime").JSX.Element;
|
|
26
22
|
export interface ExportedPickerFieldUIProps {
|
|
27
23
|
/**
|
|
28
24
|
* If `true`, a clear button will be shown in the field allowing value clearing.
|
|
@@ -46,11 +42,11 @@ export interface ExportedPickerFieldUIProps {
|
|
|
46
42
|
*/
|
|
47
43
|
openPickerButtonPosition?: 'start' | 'end';
|
|
48
44
|
}
|
|
49
|
-
export interface PickerFieldUIProps<
|
|
45
|
+
export interface PickerFieldUIProps<TProps extends UseFieldProps> {
|
|
50
46
|
/**
|
|
51
47
|
* Object returned by the `useField` hook or one of its wrapper (for example `useDateField`).
|
|
52
48
|
*/
|
|
53
|
-
fieldResponse: UseFieldReturnValue<
|
|
49
|
+
fieldResponse: UseFieldReturnValue<TProps>;
|
|
54
50
|
/**
|
|
55
51
|
* The component to use to render the Picker opening icon if none is provided in the Picker's slots.
|
|
56
52
|
*/
|
|
@@ -59,7 +55,7 @@ export interface PickerFieldUIProps<TEnableAccessibleFieldDOMStructure extends b
|
|
|
59
55
|
export interface PickerFieldUISlots {
|
|
60
56
|
/**
|
|
61
57
|
* Form control with an input to render the value.
|
|
62
|
-
* @default <PickersTextField
|
|
58
|
+
* @default <PickersTextField />
|
|
63
59
|
*/
|
|
64
60
|
textField?: React.ElementType;
|
|
65
61
|
/**
|
|
@@ -90,7 +86,7 @@ export interface PickerFieldUISlotsFromContext extends PickerFieldUISlots {
|
|
|
90
86
|
openPickerIcon?: React.ElementType;
|
|
91
87
|
}
|
|
92
88
|
export interface PickerFieldUISlotProps {
|
|
93
|
-
textField?: SlotComponentPropsFromProps<
|
|
89
|
+
textField?: SlotComponentPropsFromProps<PickersTextFieldProps, {}, FieldOwnerState>;
|
|
94
90
|
inputAdornment?: SlotComponentPropsFromProps<InputAdornmentProps, {}, FieldInputAdornmentOwnerState>;
|
|
95
91
|
clearIcon?: SlotComponentPropsFromProps<SvgIconProps, {}, FieldOwnerState>;
|
|
96
92
|
clearButton?: SlotComponentPropsFromProps<IconButtonProps, {}, FieldOwnerState>;
|
|
@@ -111,14 +107,12 @@ export declare function mergeSlotProps<TProps extends {}, TOwnerState extends Fi
|
|
|
111
107
|
/**
|
|
112
108
|
* 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
109
|
* Once the non-accessible DOM structure will be removed, we will be able to remove the `textField` slot and clean this logic.
|
|
110
|
+
* TODO: Address with the needed support for the `textField` slotProps given the change of minimum version of MUI.
|
|
114
111
|
*/
|
|
115
|
-
export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerStateParameters
|
|
116
|
-
inputProps?: {};
|
|
117
|
-
InputProps?: {};
|
|
118
|
-
}>(parameters: UseFieldTextFieldPropsParameters): TProps;
|
|
112
|
+
export declare function useFieldTextFieldProps<TProps extends UseFieldOwnerStateParameters>(parameters: UseFieldTextFieldPropsParameters): TProps;
|
|
119
113
|
interface UseFieldTextFieldPropsParameters {
|
|
120
114
|
slotProps: {
|
|
121
|
-
textField?:
|
|
115
|
+
textField?: PickerFieldUISlotProps['textField'];
|
|
122
116
|
} | undefined;
|
|
123
117
|
ref: React.Ref<HTMLDivElement>;
|
|
124
118
|
externalForwardedProps: any;
|
|
@@ -18,107 +18,58 @@ 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"));
|
|
24
|
+
var _warning = require("@mui/x-internals/warning");
|
|
26
25
|
var _useFieldOwnerState = require("../hooks/useFieldOwnerState");
|
|
27
26
|
var _hooks = require("../../hooks");
|
|
28
27
|
var _icons = require("../../icons");
|
|
29
28
|
var _useNullablePickerContext = require("../hooks/useNullablePickerContext");
|
|
30
29
|
var _PickersTextField = require("../../PickersTextField");
|
|
31
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
32
|
-
const _excluded = ["
|
|
33
|
-
_excluded2 = ["
|
|
34
|
-
_excluded3 = ["
|
|
31
|
+
const _excluded = ["readOnly", "onClear", "clearable", "clearButtonPosition", "openPickerButtonPosition", "openPickerAriaLabel", "InputProps", "inputProps", "InputLabelProps", "FormHelperTextProps"],
|
|
32
|
+
_excluded2 = ["ownerState"],
|
|
33
|
+
_excluded3 = ["ownerState"],
|
|
35
34
|
_excluded4 = ["ownerState"],
|
|
36
35
|
_excluded5 = ["ownerState"],
|
|
37
|
-
_excluded6 = ["
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const cleanFieldResponse = _ref => {
|
|
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
|
-
}
|
|
77
|
-
const {
|
|
78
|
-
onPaste,
|
|
79
|
-
onKeyDown,
|
|
80
|
-
inputMode,
|
|
36
|
+
_excluded6 = ["InputProps", "inputProps", "InputLabelProps", "FormHelperTextProps"];
|
|
37
|
+
const cleanFieldResponse = fieldResponse => {
|
|
38
|
+
const _ref = fieldResponse,
|
|
39
|
+
{
|
|
81
40
|
readOnly,
|
|
82
|
-
InputProps,
|
|
83
|
-
inputProps,
|
|
84
|
-
inputRef,
|
|
85
41
|
onClear,
|
|
86
42
|
clearable,
|
|
87
43
|
clearButtonPosition,
|
|
88
44
|
openPickerButtonPosition,
|
|
89
|
-
openPickerAriaLabel
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
45
|
+
openPickerAriaLabel,
|
|
46
|
+
// TODO v10: remove
|
|
47
|
+
// Explicitly discard legacy props that are no longer supported on `PickersTextField`.
|
|
48
|
+
// Without this, any leftover values would silently leak into `...other` and end up spread
|
|
49
|
+
// as unknown attributes on the underlying form control.
|
|
50
|
+
InputProps: legacyInputProps,
|
|
51
|
+
inputProps: legacyHtmlInputProps,
|
|
52
|
+
InputLabelProps: legacyInputLabelProps,
|
|
53
|
+
FormHelperTextProps: legacyFormHelperTextProps
|
|
54
|
+
} = _ref,
|
|
55
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
56
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
57
|
+
if (legacyInputProps || legacyHtmlInputProps || legacyInputLabelProps || legacyFormHelperTextProps) {
|
|
58
|
+
(0, _warning.warnOnce)(['MUI X: The `InputProps`, `inputProps`, `InputLabelProps` and `FormHelperTextProps` props are no longer supported on Picker / Field components.', 'They have been silently dropped because they would otherwise be forwarded as unknown attributes on the underlying form control.', 'Use the `slotProps` shape instead (`slotProps.input`, `slotProps.htmlInput`, `slotProps.inputLabel`, `slotProps.formHelperText`).', 'See https://mui.com/x/migration/migration-pickers-v8/#textfield-props for migration details.']);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
94
61
|
return {
|
|
95
62
|
clearable,
|
|
96
63
|
onClear,
|
|
97
64
|
clearButtonPosition,
|
|
98
65
|
openPickerButtonPosition,
|
|
99
66
|
openPickerAriaLabel,
|
|
100
|
-
textFieldProps: (0, _extends2.default)({}, other,
|
|
67
|
+
textFieldProps: (0, _extends2.default)({}, other, {
|
|
101
68
|
slotProps: (0, _extends2.default)({}, other?.slotProps, {
|
|
102
|
-
input:
|
|
69
|
+
input: (0, _extends2.default)({}, other?.slotProps?.input, {
|
|
103
70
|
readOnly
|
|
104
|
-
}),
|
|
105
|
-
htmlInput: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(mergedHtmlInputProps, ownerState), {
|
|
106
|
-
inputMode,
|
|
107
|
-
onPaste,
|
|
108
|
-
onKeyDown,
|
|
109
|
-
ref: inputRef
|
|
110
71
|
})
|
|
111
72
|
})
|
|
112
|
-
} : {
|
|
113
|
-
InputProps: (0, _extends2.default)({}, InputProps ?? {}, {
|
|
114
|
-
readOnly
|
|
115
|
-
}),
|
|
116
|
-
inputProps: (0, _extends2.default)({}, inputProps ?? {}, {
|
|
117
|
-
inputMode,
|
|
118
|
-
onPaste,
|
|
119
|
-
onKeyDown,
|
|
120
|
-
ref: inputRef
|
|
121
|
-
})
|
|
122
73
|
})
|
|
123
74
|
};
|
|
124
75
|
};
|
|
@@ -159,7 +110,7 @@ function PickerFieldUI(props) {
|
|
|
159
110
|
const triggerStatus = pickerContext ? pickerContext.triggerStatus : 'hidden';
|
|
160
111
|
const clearButtonPosition = clearable ? clearButtonPositionProp : null;
|
|
161
112
|
const openPickerButtonPosition = triggerStatus !== 'hidden' ? openPickerButtonPositionProp : null;
|
|
162
|
-
const TextField = pickerFieldUIContext.slots.textField ??
|
|
113
|
+
const TextField = pickerFieldUIContext.slots.textField ?? _PickersTextField.PickersTextField;
|
|
163
114
|
const InputAdornment = pickerFieldUIContext.slots.inputAdornment ?? _InputAdornment.default;
|
|
164
115
|
const _useSlotProps = (0, _useSlotProps5.default)({
|
|
165
116
|
elementType: InputAdornment,
|
|
@@ -171,7 +122,7 @@ function PickerFieldUI(props) {
|
|
|
171
122
|
position: 'start'
|
|
172
123
|
})
|
|
173
124
|
}),
|
|
174
|
-
startInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps,
|
|
125
|
+
startInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
|
|
175
126
|
const _useSlotProps2 = (0, _useSlotProps5.default)({
|
|
176
127
|
elementType: InputAdornment,
|
|
177
128
|
externalSlotProps: pickerFieldUIContext.slotProps.inputAdornment,
|
|
@@ -182,7 +133,7 @@ function PickerFieldUI(props) {
|
|
|
182
133
|
position: 'end'
|
|
183
134
|
})
|
|
184
135
|
}),
|
|
185
|
-
endInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps2,
|
|
136
|
+
endInputAdornmentProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps2, _excluded3);
|
|
186
137
|
const OpenPickerButton = pickerFieldUIContext.slots.openPickerButton ?? _IconButton.default;
|
|
187
138
|
// We don't want to forward the `ownerState` to the `<IconButton />` component, see mui/material-ui#34056
|
|
188
139
|
const _useSlotProps3 = (0, _useSlotProps5.default)({
|
|
@@ -200,7 +151,7 @@ function PickerFieldUI(props) {
|
|
|
200
151
|
},
|
|
201
152
|
ownerState
|
|
202
153
|
}),
|
|
203
|
-
openPickerButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps3,
|
|
154
|
+
openPickerButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps3, _excluded4);
|
|
204
155
|
const OpenPickerIcon = pickerFieldUIContext.slots.openPickerIcon ?? defaultOpenPickerIcon;
|
|
205
156
|
const openPickerIconProps = (0, _useSlotProps5.default)({
|
|
206
157
|
elementType: OpenPickerIcon,
|
|
@@ -224,7 +175,7 @@ function PickerFieldUI(props) {
|
|
|
224
175
|
},
|
|
225
176
|
ownerState
|
|
226
177
|
}),
|
|
227
|
-
clearButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps4,
|
|
178
|
+
clearButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps4, _excluded5);
|
|
228
179
|
const ClearIcon = pickerFieldUIContext.slots.clearIcon ?? _icons.ClearIcon;
|
|
229
180
|
const clearIconProps = (0, _useSlotProps5.default)({
|
|
230
181
|
elementType: ClearIcon,
|
|
@@ -235,13 +186,14 @@ function PickerFieldUI(props) {
|
|
|
235
186
|
ownerState
|
|
236
187
|
});
|
|
237
188
|
textFieldProps.ref = (0, _useForkRef.default)(textFieldProps.ref, pickerContext?.rootRef);
|
|
238
|
-
const
|
|
239
|
-
const
|
|
189
|
+
const externalInputSlotProps = textFieldProps.slotProps?.input;
|
|
190
|
+
const additionalInputSlotProps = {};
|
|
191
|
+
const forkedInputRef = (0, _useForkRef.default)(externalInputSlotProps?.ref, pickerContext?.triggerRef);
|
|
240
192
|
if (pickerContext) {
|
|
241
|
-
|
|
193
|
+
additionalInputSlotProps.ref = forkedInputRef;
|
|
242
194
|
}
|
|
243
|
-
if (!
|
|
244
|
-
|
|
195
|
+
if (!externalInputSlotProps?.startAdornment && (clearButtonPosition === 'start' || openPickerButtonPosition === 'start')) {
|
|
196
|
+
additionalInputSlotProps.startAdornment = /*#__PURE__*/(0, _jsxRuntime.jsxs)(InputAdornment, (0, _extends2.default)({}, startInputAdornmentProps, {
|
|
245
197
|
children: [openPickerButtonPosition === 'start' && /*#__PURE__*/(0, _jsxRuntime.jsx)(OpenPickerButton, (0, _extends2.default)({}, openPickerButtonProps, {
|
|
246
198
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(OpenPickerIcon, (0, _extends2.default)({}, openPickerIconProps))
|
|
247
199
|
})), clearButtonPosition === 'start' && /*#__PURE__*/(0, _jsxRuntime.jsx)(ClearButton, (0, _extends2.default)({}, clearButtonProps, {
|
|
@@ -249,8 +201,8 @@ function PickerFieldUI(props) {
|
|
|
249
201
|
}))]
|
|
250
202
|
}));
|
|
251
203
|
}
|
|
252
|
-
if (!
|
|
253
|
-
|
|
204
|
+
if (!externalInputSlotProps?.endAdornment && (clearButtonPosition === 'end' || openPickerButtonPosition === 'end')) {
|
|
205
|
+
additionalInputSlotProps.endAdornment = /*#__PURE__*/(0, _jsxRuntime.jsxs)(InputAdornment, (0, _extends2.default)({}, endInputAdornmentProps, {
|
|
254
206
|
children: [clearButtonPosition === 'end' && /*#__PURE__*/(0, _jsxRuntime.jsx)(ClearButton, (0, _extends2.default)({}, clearButtonProps, {
|
|
255
207
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ClearIcon, (0, _extends2.default)({}, clearIconProps))
|
|
256
208
|
})), openPickerButtonPosition === 'end' && /*#__PURE__*/(0, _jsxRuntime.jsx)(OpenPickerButton, (0, _extends2.default)({}, openPickerButtonProps, {
|
|
@@ -259,8 +211,8 @@ function PickerFieldUI(props) {
|
|
|
259
211
|
}));
|
|
260
212
|
}
|
|
261
213
|
// handle the case of showing custom `inputAdornment` for Field components
|
|
262
|
-
if (!
|
|
263
|
-
|
|
214
|
+
if (!additionalInputSlotProps.endAdornment && !additionalInputSlotProps.startAdornment && pickerFieldUIContext.slots.inputAdornment) {
|
|
215
|
+
additionalInputSlotProps.endAdornment = /*#__PURE__*/(0, _jsxRuntime.jsx)(InputAdornment, (0, _extends2.default)({}, endInputAdornmentProps));
|
|
264
216
|
}
|
|
265
217
|
if (clearButtonPosition != null) {
|
|
266
218
|
textFieldProps.sx = [{
|
|
@@ -279,21 +231,10 @@ function PickerFieldUI(props) {
|
|
|
279
231
|
}
|
|
280
232
|
}, ...(Array.isArray(textFieldProps.sx) ? textFieldProps.sx : [textFieldProps.sx])];
|
|
281
233
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
// Remove the `input` slotProps to avoid them overriding the manually resolved `InputProps`.
|
|
288
|
-
// Relevant on `materialMajor >= 6` since `slotProps` would take precedence.
|
|
289
|
-
delete textFieldProps?.slotProps?.input;
|
|
290
|
-
if (fieldResponse.enableAccessibleFieldDOMStructure) {
|
|
291
|
-
// Remove the `slotProps` on `PickersTextField` as they are not supported.
|
|
292
|
-
delete textFieldProps?.slotProps;
|
|
293
|
-
}
|
|
294
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, textFieldProps, {
|
|
295
|
-
InputProps: resolvedTextFieldInputProps
|
|
296
|
-
}));
|
|
234
|
+
textFieldProps.slotProps = (0, _extends2.default)({}, textFieldProps.slotProps, {
|
|
235
|
+
input: (0, _extends2.default)({}, externalInputSlotProps, additionalInputSlotProps)
|
|
236
|
+
});
|
|
237
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, textFieldProps));
|
|
297
238
|
}
|
|
298
239
|
function mergeSlotProps(slotPropsA, slotPropsB) {
|
|
299
240
|
if (!slotPropsA) {
|
|
@@ -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 {
|
|
@@ -320,15 +262,28 @@ function useFieldTextFieldProps(parameters) {
|
|
|
320
262
|
const pickerFieldUIContext = React.useContext(PickerFieldUIContext);
|
|
321
263
|
const pickerContext = (0, _useNullablePickerContext.useNullablePickerContext)();
|
|
322
264
|
const ownerState = (0, _useFieldOwnerState.useFieldOwnerState)(externalForwardedProps);
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
265
|
+
|
|
266
|
+
// TODO v10: remove
|
|
267
|
+
// Strip the legacy `InputProps` / `inputProps` / `InputLabelProps` / `FormHelperTextProps`
|
|
268
|
+
// before they reach `PickersTextField`, which would silently ignore them. JS users without
|
|
269
|
+
// TypeScript checks would otherwise see their configuration vanish.
|
|
270
|
+
const _ref2 = externalForwardedProps ?? {},
|
|
271
|
+
{
|
|
272
|
+
InputProps: legacyInputProps,
|
|
273
|
+
inputProps: legacyHtmlInputProps,
|
|
274
|
+
InputLabelProps: legacyInputLabelProps,
|
|
275
|
+
FormHelperTextProps: legacyFormHelperTextProps
|
|
276
|
+
} = _ref2,
|
|
277
|
+
sanitizedExternalForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(_ref2, _excluded6);
|
|
278
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
279
|
+
if (legacyInputProps || legacyHtmlInputProps || legacyInputLabelProps || legacyFormHelperTextProps) {
|
|
280
|
+
(0, _warning.warnOnce)(['MUI X: Field components no longer accept the `InputProps`, `inputProps`, `InputLabelProps` and `FormHelperTextProps` props.', 'They have been dropped to avoid leaking unknown attributes onto the underlying form control.', 'Use the nested `slotProps.textField.slotProps.{input,htmlInput,inputLabel,formHelperText}` shape instead.']);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
328
283
|
const textFieldProps = (0, _useSlotProps5.default)({
|
|
329
284
|
elementType: _PickersTextField.PickersTextField,
|
|
330
285
|
externalSlotProps: mergeSlotProps(pickerFieldUIContext.slotProps.textField, slotProps?.textField),
|
|
331
|
-
externalForwardedProps:
|
|
286
|
+
externalForwardedProps: sanitizedExternalForwardedProps,
|
|
332
287
|
additionalProps: {
|
|
333
288
|
ref,
|
|
334
289
|
sx: pickerContext?.rootSx,
|
|
@@ -374,10 +329,6 @@ function useFieldTextFieldProps(parameters) {
|
|
|
374
329
|
}
|
|
375
330
|
};
|
|
376
331
|
}
|
|
377
|
-
|
|
378
|
-
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
379
|
-
textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
|
|
380
|
-
textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
|
|
381
332
|
return textFieldProps;
|
|
382
333
|
}
|
|
383
334
|
function PickerFieldUIContextProvider(props) {
|