@mui/x-date-pickers 7.0.0-alpha.3 → 7.0.0-alpha.5
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/AdapterLuxon/AdapterLuxon.d.ts +27 -27
- package/AdapterLuxon/AdapterLuxon.js +0 -1
- package/CHANGELOG.md +245 -0
- package/DateCalendar/DateCalendar.types.d.ts +6 -6
- package/DateCalendar/DayCalendar.d.ts +4 -4
- package/DateCalendar/index.d.ts +1 -1
- package/DateCalendar/useCalendarState.js +0 -1
- package/DateField/DateField.js +17 -50
- package/DateField/DateField.types.d.ts +5 -9
- package/DateField/useDateField.d.ts +2 -2
- package/DateField/useDateField.js +1 -5
- package/DatePicker/DatePicker.js +5 -1
- package/DatePicker/DatePicker.types.d.ts +6 -6
- package/DatePicker/index.d.ts +1 -1
- package/DatePicker/shared.d.ts +6 -6
- package/DateTimeField/DateTimeField.js +17 -50
- package/DateTimeField/DateTimeField.types.d.ts +5 -9
- package/DateTimeField/useDateTimeField.d.ts +2 -2
- package/DateTimeField/useDateTimeField.js +1 -5
- package/DateTimePicker/DateTimePicker.js +5 -1
- package/DateTimePicker/DateTimePicker.types.d.ts +6 -6
- package/DateTimePicker/index.d.ts +1 -1
- package/DateTimePicker/shared.d.ts +6 -6
- package/DesktopDatePicker/DesktopDatePicker.js +7 -2
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +6 -6
- package/DesktopDatePicker/index.d.ts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
- package/DesktopDateTimePicker/index.d.ts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
- package/DesktopTimePicker/index.d.ts +1 -1
- package/DigitalClock/DigitalClock.types.d.ts +4 -4
- package/DigitalClock/index.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.js +7 -2
- package/MobileDatePicker/MobileDatePicker.types.d.ts +6 -6
- package/MobileDatePicker/index.d.ts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +6 -6
- package/MobileDateTimePicker/index.d.ts +1 -1
- package/MobileTimePicker/MobileTimePicker.js +5 -1
- package/MobileTimePicker/MobileTimePicker.types.d.ts +6 -6
- package/MobileTimePicker/index.d.ts +1 -1
- package/MonthCalendar/MonthCalendar.js +0 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +4 -4
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +3 -3
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -2
- package/MultiSectionDigitalClock/index.d.ts +1 -1
- package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +2 -2
- package/PickersCalendarHeader/PickersCalendarHeader.js +4 -4
- package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +8 -8
- package/PickersCalendarHeader/index.d.ts +1 -1
- package/PickersLayout/PickersLayout.types.d.ts +6 -6
- package/PickersLayout/index.d.ts +1 -1
- package/StaticDatePicker/StaticDatePicker.js +1 -1
- package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
- package/StaticDatePicker/index.d.ts +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
- package/StaticDateTimePicker/index.d.ts +1 -1
- package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
- package/StaticTimePicker/index.d.ts +1 -1
- package/TimeClock/Clock.js +0 -1
- package/TimeClock/ClockPointer.js +0 -1
- package/TimeClock/TimeClock.types.d.ts +5 -5
- package/TimeClock/index.d.ts +1 -1
- package/TimeField/TimeField.js +17 -50
- package/TimeField/TimeField.types.d.ts +5 -9
- package/TimeField/useTimeField.d.ts +2 -2
- package/TimeField/useTimeField.js +1 -5
- package/TimePicker/TimePicker.js +5 -1
- package/TimePicker/TimePicker.types.d.ts +6 -6
- package/TimePicker/index.d.ts +1 -1
- package/TimePicker/shared.d.ts +5 -5
- package/YearCalendar/YearCalendar.js +0 -1
- package/hooks/index.d.ts +1 -0
- package/hooks/useClearableField.d.ts +32 -20
- package/hooks/useClearableField.js +32 -33
- package/index.js +1 -1
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +9 -9
- package/internals/components/PickersArrowSwitcher/index.d.ts +3 -1
- package/internals/components/PickersArrowSwitcher/index.js +2 -1
- package/internals/components/PickersModalDialog.d.ts +4 -4
- package/internals/components/PickersPopper.d.ts +4 -4
- package/internals/components/PickersTextField/Outline.d.ts +7 -1
- package/internals/components/PickersTextField/Outline.js +2 -4
- package/internals/components/PickersTextField/PickersInput.d.ts +1 -2
- package/internals/components/PickersTextField/PickersInput.js +117 -112
- package/internals/components/PickersTextField/PickersInput.types.d.ts +35 -20
- package/internals/components/PickersTextField/PickersTextField.js +57 -48
- package/internals/components/PickersTextField/PickersTextField.types.d.ts +19 -16
- package/internals/components/PickersTextField/pickersTextFieldClasses.d.ts +11 -7
- package/internals/components/PickersTextField/pickersTextFieldClasses.js +1 -1
- package/internals/constants/dimensions.d.ts +1 -1
- package/internals/constants/dimensions.js +1 -1
- package/internals/demo/DemoContainer.d.ts +4 -0
- package/internals/demo/DemoContainer.js +47 -19
- package/internals/hooks/useClockReferenceDate.js +0 -1
- package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +8 -8
- package/internals/hooks/useField/index.d.ts +1 -1
- package/internals/hooks/useField/useField.js +3 -3
- package/internals/hooks/useField/useField.types.d.ts +4 -24
- package/internals/hooks/useField/useField.utils.js +24 -6
- package/internals/hooks/useField/useFieldState.js +7 -3
- package/internals/hooks/useMobilePicker/index.d.ts +1 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
- package/internals/hooks/useStaticPicker/index.d.ts +1 -1
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +5 -5
- package/internals/hooks/useViews.js +0 -1
- package/internals/index.d.ts +7 -6
- package/internals/index.js +1 -0
- package/internals/models/props/basePickerProps.d.ts +4 -0
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +3 -0
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
- package/legacy/AdapterLuxon/AdapterLuxon.js +0 -1
- package/legacy/DateCalendar/useCalendarState.js +0 -1
- package/legacy/DateField/DateField.js +19 -47
- package/legacy/DateField/useDateField.js +1 -4
- package/legacy/DatePicker/DatePicker.js +5 -1
- package/legacy/DateTimeField/DateTimeField.js +19 -47
- package/legacy/DateTimeField/useDateTimeField.js +1 -4
- package/legacy/DateTimePicker/DateTimePicker.js +5 -1
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +7 -2
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/legacy/MobileDatePicker/MobileDatePicker.js +7 -2
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
- package/legacy/MonthCalendar/MonthCalendar.js +0 -1
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -2
- package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +2 -2
- package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +4 -4
- package/legacy/StaticDatePicker/StaticDatePicker.js +1 -1
- package/legacy/TimeClock/Clock.js +0 -1
- package/legacy/TimeClock/ClockPointer.js +0 -1
- package/legacy/TimeField/TimeField.js +19 -47
- package/legacy/TimeField/useTimeField.js +1 -4
- package/legacy/TimePicker/TimePicker.js +5 -1
- package/legacy/YearCalendar/YearCalendar.js +0 -1
- package/legacy/hooks/useClearableField.js +30 -32
- package/legacy/index.js +1 -1
- package/legacy/internals/components/PickersArrowSwitcher/index.js +2 -1
- package/legacy/internals/components/PickersTextField/Outline.js +1 -4
- package/legacy/internals/components/PickersTextField/PickersInput.js +119 -115
- package/legacy/internals/components/PickersTextField/PickersTextField.js +51 -51
- package/legacy/internals/components/PickersTextField/pickersTextFieldClasses.js +1 -1
- package/legacy/internals/constants/dimensions.js +1 -1
- package/legacy/internals/demo/DemoContainer.js +45 -19
- package/legacy/internals/hooks/useClockReferenceDate.js +0 -1
- package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/legacy/internals/hooks/useField/useField.js +4 -4
- package/legacy/internals/hooks/useField/useField.utils.js +26 -6
- package/legacy/internals/hooks/useField/useFieldState.js +7 -3
- package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/legacy/internals/hooks/useViews.js +0 -1
- package/legacy/internals/index.js +1 -0
- package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +24 -0
- package/legacy/locales/plPL.js +0 -1
- package/legacy/locales/svSE.js +0 -1
- package/legacy/locales/urPK.js +0 -1
- package/locales/plPL.js +0 -1
- package/locales/svSE.js +0 -1
- package/locales/urPK.js +0 -1
- package/models/fields.d.ts +2 -1
- package/modern/AdapterLuxon/AdapterLuxon.js +0 -1
- package/modern/DateCalendar/useCalendarState.js +0 -1
- package/modern/DateField/DateField.js +17 -50
- package/modern/DateField/useDateField.js +1 -5
- package/modern/DatePicker/DatePicker.js +5 -1
- package/modern/DateTimeField/DateTimeField.js +17 -50
- package/modern/DateTimeField/useDateTimeField.js +1 -5
- package/modern/DateTimePicker/DateTimePicker.js +5 -1
- package/modern/DesktopDatePicker/DesktopDatePicker.js +7 -2
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/modern/MobileDatePicker/MobileDatePicker.js +7 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
- package/modern/MonthCalendar/MonthCalendar.js +0 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -2
- package/modern/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +2 -2
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +4 -4
- package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
- package/modern/TimeClock/Clock.js +0 -1
- package/modern/TimeClock/ClockPointer.js +0 -1
- package/modern/TimeField/TimeField.js +17 -50
- package/modern/TimeField/useTimeField.js +1 -5
- package/modern/TimePicker/TimePicker.js +5 -1
- package/modern/YearCalendar/YearCalendar.js +0 -1
- package/modern/hooks/useClearableField.js +32 -33
- package/modern/index.js +1 -1
- package/modern/internals/components/PickersArrowSwitcher/index.js +2 -1
- package/modern/internals/components/PickersTextField/Outline.js +2 -4
- package/modern/internals/components/PickersTextField/PickersInput.js +116 -112
- package/modern/internals/components/PickersTextField/PickersTextField.js +57 -47
- package/modern/internals/components/PickersTextField/pickersTextFieldClasses.js +1 -1
- package/modern/internals/constants/dimensions.js +1 -1
- package/modern/internals/demo/DemoContainer.js +47 -19
- package/modern/internals/hooks/useClockReferenceDate.js +0 -1
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/modern/internals/hooks/useField/useField.js +3 -3
- package/modern/internals/hooks/useField/useField.utils.js +24 -6
- package/modern/internals/hooks/useField/useFieldState.js +7 -3
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/modern/internals/hooks/useViews.js +0 -1
- package/modern/internals/index.js +1 -0
- package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
- package/modern/locales/plPL.js +0 -1
- package/modern/locales/svSE.js +0 -1
- package/modern/locales/urPK.js +0 -1
- package/node/AdapterLuxon/AdapterLuxon.js +0 -1
- package/node/DateCalendar/useCalendarState.js +0 -1
- package/node/DateField/DateField.js +18 -51
- package/node/DateField/useDateField.js +1 -5
- package/node/DatePicker/DatePicker.js +5 -1
- package/node/DateTimeField/DateTimeField.js +18 -51
- package/node/DateTimeField/useDateTimeField.js +1 -5
- package/node/DateTimePicker/DateTimePicker.js +5 -1
- package/node/DesktopDatePicker/DesktopDatePicker.js +10 -5
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/node/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/node/MobileDatePicker/MobileDatePicker.js +10 -5
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/node/MobileTimePicker/MobileTimePicker.js +5 -1
- package/node/MonthCalendar/MonthCalendar.js +0 -1
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -2
- package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +2 -2
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +4 -4
- package/node/StaticDatePicker/StaticDatePicker.js +2 -2
- package/node/TimeClock/Clock.js +0 -1
- package/node/TimeClock/ClockPointer.js +0 -1
- package/node/TimeField/TimeField.js +18 -51
- package/node/TimeField/useTimeField.js +1 -5
- package/node/TimePicker/TimePicker.js +5 -1
- package/node/YearCalendar/YearCalendar.js +0 -1
- package/node/hooks/useClearableField.js +33 -34
- package/node/index.js +1 -1
- package/node/internals/components/PickersArrowSwitcher/index.js +14 -1
- package/node/internals/components/PickersTextField/Outline.js +2 -4
- package/node/internals/components/PickersTextField/PickersInput.js +119 -115
- package/node/internals/components/PickersTextField/PickersTextField.js +58 -48
- package/node/internals/components/PickersTextField/pickersTextFieldClasses.js +1 -1
- package/node/internals/constants/dimensions.js +1 -1
- package/node/internals/demo/DemoContainer.js +47 -19
- package/node/internals/hooks/useClockReferenceDate.js +0 -1
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/node/internals/hooks/useField/useField.js +3 -3
- package/node/internals/hooks/useField/useField.utils.js +24 -6
- package/node/internals/hooks/useField/useFieldState.js +7 -3
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/node/internals/hooks/useViews.js +0 -1
- package/node/internals/index.js +7 -0
- package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +34 -0
- package/node/locales/plPL.js +0 -1
- package/node/locales/svSE.js +0 -1
- package/node/locales/urPK.js +0 -1
- package/package.json +6 -6
- package/themeAugmentation/overrides.d.ts +5 -7
- package/themeAugmentation/props.d.ts +6 -8
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
4
|
-
_excluded2 = ["inputRef"],
|
|
5
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
6
|
import MuiTextField from '@mui/material/TextField';
|
|
@@ -11,6 +9,7 @@ import { useSlotProps } from '@mui/base/utils';
|
|
|
11
9
|
import { refType } from '@mui/utils';
|
|
12
10
|
import { useDateField } from './useDateField';
|
|
13
11
|
import { useClearableField } from '../hooks';
|
|
12
|
+
import { convertFieldResponseIntoMuiTextFieldProps } from '../internals/utils/convertFieldResponseIntoMuiTextFieldProps';
|
|
14
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
14
|
/**
|
|
16
15
|
* Demos:
|
|
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
22
21
|
*
|
|
23
22
|
* - [DateField API](https://mui.com/x/api/date-pickers/date-field/)
|
|
24
23
|
*/
|
|
25
|
-
const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps,
|
|
24
|
+
const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, inRef) {
|
|
26
25
|
const themeProps = useThemeProps({
|
|
27
26
|
props: inProps,
|
|
28
27
|
name: 'MuiDateField'
|
|
@@ -36,58 +35,26 @@ const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, ref)
|
|
|
36
35
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
37
36
|
const ownerState = themeProps;
|
|
38
37
|
const TextField = slots?.textField ?? MuiTextField;
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
38
|
+
const textFieldProps = useSlotProps({
|
|
39
|
+
elementType: TextField,
|
|
40
|
+
externalSlotProps: slotProps?.textField,
|
|
41
|
+
externalForwardedProps: other,
|
|
42
|
+
additionalProps: {
|
|
43
|
+
ref: inRef
|
|
44
|
+
},
|
|
45
|
+
ownerState
|
|
46
|
+
});
|
|
49
47
|
|
|
50
48
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
51
49
|
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
52
50
|
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}),
|
|
57
|
-
{
|
|
58
|
-
ref: inputRef,
|
|
59
|
-
onPaste,
|
|
60
|
-
onKeyDown,
|
|
61
|
-
inputMode,
|
|
62
|
-
readOnly,
|
|
63
|
-
clearable,
|
|
64
|
-
onClear
|
|
65
|
-
} = _useDateField,
|
|
66
|
-
fieldProps = _objectWithoutPropertiesLoose(_useDateField, _excluded3);
|
|
67
|
-
const {
|
|
68
|
-
InputProps: ProcessedInputProps,
|
|
69
|
-
fieldProps: processedFieldProps
|
|
70
|
-
} = useClearableField({
|
|
71
|
-
onClear,
|
|
72
|
-
clearable,
|
|
73
|
-
fieldProps,
|
|
74
|
-
InputProps: fieldProps.InputProps,
|
|
51
|
+
const fieldResponse = useDateField(textFieldProps);
|
|
52
|
+
const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
|
|
53
|
+
const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
|
|
75
54
|
slots,
|
|
76
55
|
slotProps
|
|
77
|
-
});
|
|
78
|
-
return /*#__PURE__*/_jsx(TextField, _extends({
|
|
79
|
-
ref: ref
|
|
80
|
-
}, processedFieldProps, {
|
|
81
|
-
InputProps: _extends({}, ProcessedInputProps, {
|
|
82
|
-
readOnly
|
|
83
|
-
}),
|
|
84
|
-
inputProps: _extends({}, fieldProps.inputProps, {
|
|
85
|
-
inputMode,
|
|
86
|
-
onPaste,
|
|
87
|
-
onKeyDown,
|
|
88
|
-
ref: inputRef
|
|
89
|
-
})
|
|
90
56
|
}));
|
|
57
|
+
return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
|
|
91
58
|
});
|
|
92
59
|
process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
93
60
|
// ----------------------------- Warning --------------------------------
|
|
@@ -265,7 +232,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
265
232
|
* 4. If `null` is provided, no section will be selected
|
|
266
233
|
* If not provided, the selected sections will be handled internally.
|
|
267
234
|
*/
|
|
268
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
235
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
269
236
|
endIndex: PropTypes.number.isRequired,
|
|
270
237
|
startIndex: PropTypes.number.isRequired
|
|
271
238
|
})]),
|
|
@@ -16,17 +16,13 @@ const useDefaultizedDateField = props => {
|
|
|
16
16
|
maxDate: applyDefaultDate(utils, props.maxDate, defaultDates.maxDate)
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
|
-
export const useDateField =
|
|
20
|
-
props: inProps,
|
|
21
|
-
inputRef
|
|
22
|
-
}) => {
|
|
19
|
+
export const useDateField = inProps => {
|
|
23
20
|
const props = useDefaultizedDateField(inProps);
|
|
24
21
|
const {
|
|
25
22
|
forwardedProps,
|
|
26
23
|
internalProps
|
|
27
24
|
} = splitFieldInternalAndForwardedProps(props, 'date');
|
|
28
25
|
return useField({
|
|
29
|
-
inputRef,
|
|
30
26
|
forwardedProps,
|
|
31
27
|
internalProps,
|
|
32
28
|
valueManager: singleItemValueManager,
|
|
@@ -160,6 +160,10 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
160
160
|
* @default 3
|
|
161
161
|
*/
|
|
162
162
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
163
|
+
/**
|
|
164
|
+
* Name attribute used by the `input` element in the Field.
|
|
165
|
+
*/
|
|
166
|
+
name: PropTypes.string,
|
|
163
167
|
/**
|
|
164
168
|
* Callback fired when the value is accepted.
|
|
165
169
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -258,7 +262,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
258
262
|
* 4. If `null` is provided, no section will be selected
|
|
259
263
|
* If not provided, the selected sections will be handled internally.
|
|
260
264
|
*/
|
|
261
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
265
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
262
266
|
endIndex: PropTypes.number.isRequired,
|
|
263
267
|
startIndex: PropTypes.number.isRequired
|
|
264
268
|
})]),
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
4
|
-
_excluded2 = ["inputRef"],
|
|
5
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
6
|
import MuiTextField from '@mui/material/TextField';
|
|
@@ -11,6 +9,7 @@ import { useSlotProps } from '@mui/base/utils';
|
|
|
11
9
|
import { refType } from '@mui/utils';
|
|
12
10
|
import { useDateTimeField } from './useDateTimeField';
|
|
13
11
|
import { useClearableField } from '../hooks';
|
|
12
|
+
import { convertFieldResponseIntoMuiTextFieldProps } from '../internals/utils/convertFieldResponseIntoMuiTextFieldProps';
|
|
14
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
14
|
/**
|
|
16
15
|
* Demos:
|
|
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
22
21
|
*
|
|
23
22
|
* - [DateTimeField API](https://mui.com/x/api/date-pickers/date-time-field/)
|
|
24
23
|
*/
|
|
25
|
-
const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps,
|
|
24
|
+
const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps, inRef) {
|
|
26
25
|
const themeProps = useThemeProps({
|
|
27
26
|
props: inProps,
|
|
28
27
|
name: 'MuiDateTimeField'
|
|
@@ -36,58 +35,26 @@ const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inPro
|
|
|
36
35
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
37
36
|
const ownerState = themeProps;
|
|
38
37
|
const TextField = slots?.textField ?? MuiTextField;
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
38
|
+
const textFieldProps = useSlotProps({
|
|
39
|
+
elementType: TextField,
|
|
40
|
+
externalSlotProps: slotProps?.textField,
|
|
41
|
+
externalForwardedProps: other,
|
|
42
|
+
ownerState,
|
|
43
|
+
additionalProps: {
|
|
44
|
+
ref: inRef
|
|
45
|
+
}
|
|
46
|
+
});
|
|
49
47
|
|
|
50
48
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
51
49
|
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
52
50
|
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}),
|
|
57
|
-
{
|
|
58
|
-
ref: inputRef,
|
|
59
|
-
onPaste,
|
|
60
|
-
onKeyDown,
|
|
61
|
-
inputMode,
|
|
62
|
-
readOnly,
|
|
63
|
-
clearable,
|
|
64
|
-
onClear
|
|
65
|
-
} = _useDateTimeField,
|
|
66
|
-
fieldProps = _objectWithoutPropertiesLoose(_useDateTimeField, _excluded3);
|
|
67
|
-
const {
|
|
68
|
-
InputProps: ProcessedInputProps,
|
|
69
|
-
fieldProps: processedFieldProps
|
|
70
|
-
} = useClearableField({
|
|
71
|
-
onClear,
|
|
72
|
-
clearable,
|
|
73
|
-
fieldProps,
|
|
74
|
-
InputProps: fieldProps.InputProps,
|
|
51
|
+
const fieldResponse = useDateTimeField(textFieldProps);
|
|
52
|
+
const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
|
|
53
|
+
const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
|
|
75
54
|
slots,
|
|
76
55
|
slotProps
|
|
77
|
-
});
|
|
78
|
-
return /*#__PURE__*/_jsx(TextField, _extends({
|
|
79
|
-
ref: ref
|
|
80
|
-
}, processedFieldProps, {
|
|
81
|
-
InputProps: _extends({}, ProcessedInputProps, {
|
|
82
|
-
readOnly
|
|
83
|
-
}),
|
|
84
|
-
inputProps: _extends({}, fieldProps.inputProps, {
|
|
85
|
-
inputMode,
|
|
86
|
-
onPaste,
|
|
87
|
-
onKeyDown,
|
|
88
|
-
ref: inputRef
|
|
89
|
-
})
|
|
90
56
|
}));
|
|
57
|
+
return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
|
|
91
58
|
});
|
|
92
59
|
process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
93
60
|
// ----------------------------- Warning --------------------------------
|
|
@@ -298,7 +265,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
|
298
265
|
* 4. If `null` is provided, no section will be selected
|
|
299
266
|
* If not provided, the selected sections will be handled internally.
|
|
300
267
|
*/
|
|
301
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
268
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
302
269
|
endIndex: PropTypes.number.isRequired,
|
|
303
270
|
startIndex: PropTypes.number.isRequired
|
|
304
271
|
})]),
|
|
@@ -21,17 +21,13 @@ const useDefaultizedDateTimeField = props => {
|
|
|
21
21
|
maxTime: props.maxDateTime ?? props.maxTime
|
|
22
22
|
});
|
|
23
23
|
};
|
|
24
|
-
export const useDateTimeField =
|
|
25
|
-
props: inProps,
|
|
26
|
-
inputRef
|
|
27
|
-
}) => {
|
|
24
|
+
export const useDateTimeField = inProps => {
|
|
28
25
|
const props = useDefaultizedDateTimeField(inProps);
|
|
29
26
|
const {
|
|
30
27
|
forwardedProps,
|
|
31
28
|
internalProps
|
|
32
29
|
} = splitFieldInternalAndForwardedProps(props, 'date-time');
|
|
33
30
|
return useField({
|
|
34
|
-
inputRef,
|
|
35
31
|
forwardedProps,
|
|
36
32
|
internalProps,
|
|
37
33
|
valueManager: singleItemValueManager,
|
|
@@ -198,6 +198,10 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
198
198
|
* @default 3
|
|
199
199
|
*/
|
|
200
200
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
201
|
+
/**
|
|
202
|
+
* Name attribute used by the `input` element in the Field.
|
|
203
|
+
*/
|
|
204
|
+
name: PropTypes.string,
|
|
201
205
|
/**
|
|
202
206
|
* Callback fired when the value is accepted.
|
|
203
207
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -296,7 +300,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
296
300
|
* 4. If `null` is provided, no section will be selected
|
|
297
301
|
* If not provided, the selected sections will be handled internally.
|
|
298
302
|
*/
|
|
299
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
303
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
300
304
|
endIndex: PropTypes.number.isRequired,
|
|
301
305
|
startIndex: PropTypes.number.isRequired
|
|
302
306
|
})]),
|
|
@@ -5,7 +5,8 @@ import { resolveComponentProps } from '@mui/base/utils';
|
|
|
5
5
|
import { refType } from '@mui/utils';
|
|
6
6
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
7
7
|
import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
|
|
8
|
-
import { useLocaleText, useUtils
|
|
8
|
+
import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
|
|
9
|
+
import { validateDate } from '../internals/utils/validation/validateDate';
|
|
9
10
|
import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
|
|
10
11
|
import { CalendarIcon } from '../icons';
|
|
11
12
|
import { DateField } from '../DateField';
|
|
@@ -174,6 +175,10 @@ DesktopDatePicker.propTypes = {
|
|
|
174
175
|
* @default 3
|
|
175
176
|
*/
|
|
176
177
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
178
|
+
/**
|
|
179
|
+
* Name attribute used by the `input` element in the Field.
|
|
180
|
+
*/
|
|
181
|
+
name: PropTypes.string,
|
|
177
182
|
/**
|
|
178
183
|
* Callback fired when the value is accepted.
|
|
179
184
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -272,7 +277,7 @@ DesktopDatePicker.propTypes = {
|
|
|
272
277
|
* 4. If `null` is provided, no section will be selected
|
|
273
278
|
* If not provided, the selected sections will be handled internally.
|
|
274
279
|
*/
|
|
275
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
280
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
276
281
|
endIndex: PropTypes.number.isRequired,
|
|
277
282
|
startIndex: PropTypes.number.isRequired
|
|
278
283
|
})]),
|
|
@@ -251,6 +251,10 @@ DesktopDateTimePicker.propTypes = {
|
|
|
251
251
|
* @default 3
|
|
252
252
|
*/
|
|
253
253
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
254
|
+
/**
|
|
255
|
+
* Name attribute used by the `input` element in the Field.
|
|
256
|
+
*/
|
|
257
|
+
name: PropTypes.string,
|
|
254
258
|
/**
|
|
255
259
|
* Callback fired when the value is accepted.
|
|
256
260
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -349,7 +353,7 @@ DesktopDateTimePicker.propTypes = {
|
|
|
349
353
|
* 4. If `null` is provided, no section will be selected
|
|
350
354
|
* If not provided, the selected sections will be handled internally.
|
|
351
355
|
*/
|
|
352
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
356
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
353
357
|
endIndex: PropTypes.number.isRequired,
|
|
354
358
|
startIndex: PropTypes.number.isRequired
|
|
355
359
|
})]),
|
|
@@ -185,6 +185,10 @@ DesktopTimePicker.propTypes = {
|
|
|
185
185
|
* @default 1
|
|
186
186
|
*/
|
|
187
187
|
minutesStep: PropTypes.number,
|
|
188
|
+
/**
|
|
189
|
+
* Name attribute used by the `input` element in the Field.
|
|
190
|
+
*/
|
|
191
|
+
name: PropTypes.string,
|
|
188
192
|
/**
|
|
189
193
|
* Callback fired when the value is accepted.
|
|
190
194
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -265,7 +269,7 @@ DesktopTimePicker.propTypes = {
|
|
|
265
269
|
* 4. If `null` is provided, no section will be selected
|
|
266
270
|
* If not provided, the selected sections will be handled internally.
|
|
267
271
|
*/
|
|
268
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
272
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
269
273
|
endIndex: PropTypes.number.isRequired,
|
|
270
274
|
startIndex: PropTypes.number.isRequired
|
|
271
275
|
})]),
|
|
@@ -5,7 +5,8 @@ import { resolveComponentProps } from '@mui/base/utils';
|
|
|
5
5
|
import { refType } from '@mui/utils';
|
|
6
6
|
import { useMobilePicker } from '../internals/hooks/useMobilePicker';
|
|
7
7
|
import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
|
|
8
|
-
import {
|
|
8
|
+
import { useUtils, useLocaleText } from '../internals/hooks/useUtils';
|
|
9
|
+
import { validateDate } from '../internals/utils/validation/validateDate';
|
|
9
10
|
import { DateField } from '../DateField';
|
|
10
11
|
import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
|
|
11
12
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
@@ -171,6 +172,10 @@ MobileDatePicker.propTypes = {
|
|
|
171
172
|
* @default 3
|
|
172
173
|
*/
|
|
173
174
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
175
|
+
/**
|
|
176
|
+
* Name attribute used by the `input` element in the Field.
|
|
177
|
+
*/
|
|
178
|
+
name: PropTypes.string,
|
|
174
179
|
/**
|
|
175
180
|
* Callback fired when the value is accepted.
|
|
176
181
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -269,7 +274,7 @@ MobileDatePicker.propTypes = {
|
|
|
269
274
|
* 4. If `null` is provided, no section will be selected
|
|
270
275
|
* If not provided, the selected sections will be handled internally.
|
|
271
276
|
*/
|
|
272
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
277
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
273
278
|
endIndex: PropTypes.number.isRequired,
|
|
274
279
|
startIndex: PropTypes.number.isRequired
|
|
275
280
|
})]),
|
|
@@ -220,6 +220,10 @@ MobileDateTimePicker.propTypes = {
|
|
|
220
220
|
* @default 3
|
|
221
221
|
*/
|
|
222
222
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
223
|
+
/**
|
|
224
|
+
* Name attribute used by the `input` element in the Field.
|
|
225
|
+
*/
|
|
226
|
+
name: PropTypes.string,
|
|
223
227
|
/**
|
|
224
228
|
* Callback fired when the value is accepted.
|
|
225
229
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -318,7 +322,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
318
322
|
* 4. If `null` is provided, no section will be selected
|
|
319
323
|
* If not provided, the selected sections will be handled internally.
|
|
320
324
|
*/
|
|
321
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
325
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
322
326
|
endIndex: PropTypes.number.isRequired,
|
|
323
327
|
startIndex: PropTypes.number.isRequired
|
|
324
328
|
})]),
|
|
@@ -164,6 +164,10 @@ MobileTimePicker.propTypes = {
|
|
|
164
164
|
* @default 1
|
|
165
165
|
*/
|
|
166
166
|
minutesStep: PropTypes.number,
|
|
167
|
+
/**
|
|
168
|
+
* Name attribute used by the `input` element in the Field.
|
|
169
|
+
*/
|
|
170
|
+
name: PropTypes.string,
|
|
167
171
|
/**
|
|
168
172
|
* Callback fired when the value is accepted.
|
|
169
173
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -244,7 +248,7 @@ MobileTimePicker.propTypes = {
|
|
|
244
248
|
* 4. If `null` is provided, no section will be selected
|
|
245
249
|
* If not provided, the selected sections will be handled internally.
|
|
246
250
|
*/
|
|
247
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
251
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
248
252
|
endIndex: PropTypes.number.isRequired,
|
|
249
253
|
startIndex: PropTypes.number.isRequired
|
|
250
254
|
})]),
|
|
@@ -110,7 +110,6 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
|
|
|
110
110
|
granularity: SECTION_TYPE_GRANULARITY.month
|
|
111
111
|
}), [] // eslint-disable-line react-hooks/exhaustive-deps
|
|
112
112
|
);
|
|
113
|
-
|
|
114
113
|
const ownerState = props;
|
|
115
114
|
const classes = useUtilityClasses(ownerState);
|
|
116
115
|
const todayMonth = React.useMemo(() => utils.getMonth(now), [utils, now]);
|
|
@@ -36,7 +36,12 @@ const MultiSectionDigitalClockSectionRoot = styled(MenuList, {
|
|
|
36
36
|
'@media (prefers-reduced-motion: no-preference)': {
|
|
37
37
|
scrollBehavior: ownerState.alreadyRendered ? 'smooth' : 'auto'
|
|
38
38
|
},
|
|
39
|
-
'
|
|
39
|
+
'@media (pointer: fine)': {
|
|
40
|
+
'&:hover': {
|
|
41
|
+
overflowY: 'auto'
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
'@media (pointer: none), (pointer: coarse)': {
|
|
40
45
|
overflowY: 'auto'
|
|
41
46
|
},
|
|
42
47
|
'&:not(:first-of-type)': {
|
|
@@ -152,7 +157,8 @@ export const MultiSectionDigitalClockSection = /*#__PURE__*/React.forwardRef(fun
|
|
|
152
157
|
"aria-disabled": readOnly,
|
|
153
158
|
"aria-label": option.ariaLabel,
|
|
154
159
|
"aria-selected": isSelected,
|
|
155
|
-
tabIndex: tabIndex
|
|
160
|
+
tabIndex: tabIndex,
|
|
161
|
+
className: classes.item
|
|
156
162
|
}, slotProps?.digitalClockSectionItem, {
|
|
157
163
|
children: option.label
|
|
158
164
|
}), option.label);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
2
2
|
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
3
3
|
export function getMultiSectionDigitalClockSectionUtilityClass(slot) {
|
|
4
|
-
return generateUtilityClass('
|
|
4
|
+
return generateUtilityClass('MuiMultiSectionDigitalClockSection', slot);
|
|
5
5
|
}
|
|
6
|
-
export const multiSectionDigitalClockSectionClasses = generateUtilityClasses('
|
|
6
|
+
export const multiSectionDigitalClockSectionClasses = generateUtilityClasses('MuiMultiSectionDigitalClockSection', ['root', 'item']);
|
|
@@ -38,13 +38,13 @@ const PickersCalendarHeaderRoot = styled('div', {
|
|
|
38
38
|
})({
|
|
39
39
|
display: 'flex',
|
|
40
40
|
alignItems: 'center',
|
|
41
|
-
marginTop:
|
|
42
|
-
marginBottom:
|
|
41
|
+
marginTop: 12,
|
|
42
|
+
marginBottom: 4,
|
|
43
43
|
paddingLeft: 24,
|
|
44
44
|
paddingRight: 12,
|
|
45
45
|
// prevent jumping in safari
|
|
46
|
-
maxHeight:
|
|
47
|
-
minHeight:
|
|
46
|
+
maxHeight: 40,
|
|
47
|
+
minHeight: 40
|
|
48
48
|
});
|
|
49
49
|
const PickersCalendarHeaderLabelContainer = styled('div', {
|
|
50
50
|
name: 'MuiPickersCalendarHeader',
|
|
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
|
|
5
5
|
import { renderDateViewCalendar } from '../dateViewRenderers';
|
|
6
6
|
import { useStaticPicker } from '../internals/hooks/useStaticPicker';
|
|
7
|
-
import { validateDate } from '../internals';
|
|
7
|
+
import { validateDate } from '../internals/utils/validation/validateDate';
|
|
8
8
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
9
9
|
/**
|
|
10
10
|
* Demos:
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
4
|
-
_excluded2 = ["inputRef"],
|
|
5
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
6
|
import MuiTextField from '@mui/material/TextField';
|
|
@@ -11,6 +9,7 @@ import { useSlotProps } from '@mui/base/utils';
|
|
|
11
9
|
import { refType } from '@mui/utils';
|
|
12
10
|
import { useTimeField } from './useTimeField';
|
|
13
11
|
import { useClearableField } from '../hooks';
|
|
12
|
+
import { convertFieldResponseIntoMuiTextFieldProps } from '../internals/utils/convertFieldResponseIntoMuiTextFieldProps';
|
|
14
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
14
|
/**
|
|
16
15
|
* Demos:
|
|
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
22
21
|
*
|
|
23
22
|
* - [TimeField API](https://mui.com/x/api/date-pickers/time-field/)
|
|
24
23
|
*/
|
|
25
|
-
const TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps,
|
|
24
|
+
const TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, inRef) {
|
|
26
25
|
const themeProps = useThemeProps({
|
|
27
26
|
props: inProps,
|
|
28
27
|
name: 'MuiTimeField'
|
|
@@ -36,58 +35,26 @@ const TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, ref)
|
|
|
36
35
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
37
36
|
const ownerState = themeProps;
|
|
38
37
|
const TextField = slots?.textField ?? MuiTextField;
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
38
|
+
const textFieldProps = useSlotProps({
|
|
39
|
+
elementType: TextField,
|
|
40
|
+
externalSlotProps: slotProps?.textField,
|
|
41
|
+
externalForwardedProps: other,
|
|
42
|
+
ownerState,
|
|
43
|
+
additionalProps: {
|
|
44
|
+
ref: inRef
|
|
45
|
+
}
|
|
46
|
+
});
|
|
49
47
|
|
|
50
48
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
51
49
|
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
52
50
|
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}),
|
|
57
|
-
{
|
|
58
|
-
ref: inputRef,
|
|
59
|
-
onPaste,
|
|
60
|
-
onKeyDown,
|
|
61
|
-
inputMode,
|
|
62
|
-
readOnly,
|
|
63
|
-
clearable,
|
|
64
|
-
onClear
|
|
65
|
-
} = _useTimeField,
|
|
66
|
-
fieldProps = _objectWithoutPropertiesLoose(_useTimeField, _excluded3);
|
|
67
|
-
const {
|
|
68
|
-
InputProps: ProcessedInputProps,
|
|
69
|
-
fieldProps: processedFieldProps
|
|
70
|
-
} = useClearableField({
|
|
71
|
-
onClear,
|
|
72
|
-
clearable,
|
|
73
|
-
fieldProps,
|
|
74
|
-
InputProps: fieldProps.InputProps,
|
|
51
|
+
const fieldResponse = useTimeField(textFieldProps);
|
|
52
|
+
const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
|
|
53
|
+
const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
|
|
75
54
|
slots,
|
|
76
55
|
slotProps
|
|
77
|
-
});
|
|
78
|
-
return /*#__PURE__*/_jsx(TextField, _extends({
|
|
79
|
-
ref: ref
|
|
80
|
-
}, processedFieldProps, {
|
|
81
|
-
InputProps: _extends({}, ProcessedInputProps, {
|
|
82
|
-
readOnly
|
|
83
|
-
}),
|
|
84
|
-
inputProps: _extends({}, fieldProps.inputProps, {
|
|
85
|
-
inputMode,
|
|
86
|
-
onPaste,
|
|
87
|
-
onKeyDown,
|
|
88
|
-
ref: inputRef
|
|
89
|
-
})
|
|
90
56
|
}));
|
|
57
|
+
return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
|
|
91
58
|
});
|
|
92
59
|
process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
93
60
|
// ----------------------------- Warning --------------------------------
|
|
@@ -282,7 +249,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
282
249
|
* 4. If `null` is provided, no section will be selected
|
|
283
250
|
* If not provided, the selected sections will be handled internally.
|
|
284
251
|
*/
|
|
285
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
252
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
286
253
|
endIndex: PropTypes.number.isRequired,
|
|
287
254
|
startIndex: PropTypes.number.isRequired
|
|
288
255
|
})]),
|