@mui/x-date-pickers 7.0.0 → 7.1.1
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/CHANGELOG.md +246 -4
- package/DateCalendar/DateCalendar.js +1 -1
- package/DateCalendar/DayCalendar.d.ts +1 -1
- package/DateField/DateField.js +1 -1
- package/DatePicker/DatePicker.js +1 -1
- package/DatePicker/DatePickerToolbar.js +11 -6
- package/DateTimeField/DateTimeField.js +2 -2
- package/DateTimeField/DateTimeField.types.d.ts +1 -1
- package/DateTimePicker/DateTimePicker.js +2 -2
- package/DateTimePicker/DateTimePickerToolbar.js +97 -45
- package/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
- package/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/DesktopTimePicker/DesktopTimePicker.js +1 -1
- package/DigitalClock/DigitalClock.js +15 -7
- package/MobileDatePicker/MobileDatePicker.js +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/MobileTimePicker/MobileTimePicker.js +1 -1
- package/MonthCalendar/PickersMonth.js +12 -6
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
- package/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
- package/PickersDay/PickersDay.js +30 -15
- package/PickersLayout/PickersLayout.js +31 -17
- package/PickersShortcuts/PickersShortcuts.d.ts +1 -1
- package/PickersShortcuts/PickersShortcuts.js +1 -1
- package/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
- package/PickersTextField/PickersInput/PickersInput.js +76 -54
- package/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +7 -0
- package/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
- package/README.md +1 -1
- package/StaticDatePicker/StaticDatePicker.js +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/StaticTimePicker/StaticTimePicker.js +1 -1
- package/TimeClock/Clock.js +48 -35
- package/TimeClock/ClockNumber.js +12 -7
- package/TimeClock/ClockPointer.js +23 -13
- package/TimeClock/TimeClock.js +1 -1
- package/TimeField/TimeField.js +2 -2
- package/TimeField/TimeField.types.d.ts +1 -1
- package/TimePicker/TimePicker.js +1 -1
- package/TimePicker/TimePickerToolbar.js +25 -16
- package/YearCalendar/PickersYear.js +12 -6
- package/index.js +1 -1
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
- package/internals/components/PickersPopper.js +12 -8
- package/internals/components/PickersToolbar.js +39 -18
- package/internals/hooks/useField/useField.js +4 -2
- package/internals/hooks/useField/useField.types.d.ts +2 -1
- package/internals/hooks/useField/useFieldV6TextField.js +10 -3
- package/internals/models/props/clock.d.ts +1 -1
- package/locales/faIR.js +7 -8
- package/locales/itIT.js +16 -20
- package/locales/ptBR.js +14 -17
- package/locales/ukUA.js +15 -19
- package/locales/zhHK.js +14 -17
- package/modern/DateCalendar/DateCalendar.js +1 -1
- package/modern/DateField/DateField.js +1 -1
- package/modern/DatePicker/DatePicker.js +1 -1
- package/modern/DatePicker/DatePickerToolbar.js +11 -6
- package/modern/DateTimeField/DateTimeField.js +2 -2
- package/modern/DateTimePicker/DateTimePicker.js +2 -2
- package/modern/DateTimePicker/DateTimePickerToolbar.js +97 -45
- package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
- package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -1
- package/modern/DigitalClock/DigitalClock.js +15 -7
- package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/modern/MobileTimePicker/MobileTimePicker.js +1 -1
- package/modern/MonthCalendar/PickersMonth.js +12 -6
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
- package/modern/PickersDay/PickersDay.js +30 -15
- package/modern/PickersLayout/PickersLayout.js +31 -17
- package/modern/PickersShortcuts/PickersShortcuts.js +1 -1
- package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
- package/modern/PickersTextField/PickersInput/PickersInput.js +76 -54
- package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
- package/modern/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
- package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
- package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/modern/StaticTimePicker/StaticTimePicker.js +1 -1
- package/modern/TimeClock/Clock.js +48 -35
- package/modern/TimeClock/ClockNumber.js +12 -7
- package/modern/TimeClock/ClockPointer.js +23 -13
- package/modern/TimeClock/TimeClock.js +1 -1
- package/modern/TimeField/TimeField.js +2 -2
- package/modern/TimePicker/TimePicker.js +1 -1
- package/modern/TimePicker/TimePickerToolbar.js +25 -16
- package/modern/YearCalendar/PickersYear.js +12 -6
- package/modern/index.js +1 -1
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
- package/modern/internals/components/PickersPopper.js +12 -8
- package/modern/internals/components/PickersToolbar.js +39 -18
- package/modern/internals/hooks/useField/useField.js +4 -2
- package/modern/internals/hooks/useField/useFieldV6TextField.js +10 -3
- package/modern/locales/faIR.js +7 -8
- package/modern/locales/itIT.js +16 -20
- package/modern/locales/ptBR.js +14 -17
- package/modern/locales/ukUA.js +15 -19
- package/modern/locales/zhHK.js +14 -17
- package/node/DateCalendar/DateCalendar.js +1 -1
- package/node/DateField/DateField.js +1 -1
- package/node/DatePicker/DatePicker.js +1 -1
- package/node/DatePicker/DatePickerToolbar.js +11 -6
- package/node/DateTimeField/DateTimeField.js +2 -2
- package/node/DateTimePicker/DateTimePicker.js +2 -2
- package/node/DateTimePicker/DateTimePickerToolbar.js +97 -45
- package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
- package/node/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/node/DesktopTimePicker/DesktopTimePicker.js +1 -1
- package/node/DigitalClock/DigitalClock.js +15 -7
- package/node/MobileDatePicker/MobileDatePicker.js +1 -1
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/node/MobileTimePicker/MobileTimePicker.js +1 -1
- package/node/MonthCalendar/PickersMonth.js +12 -6
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -1
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
- package/node/PickersDay/PickersDay.js +30 -15
- package/node/PickersLayout/PickersLayout.js +31 -17
- package/node/PickersShortcuts/PickersShortcuts.js +1 -1
- package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
- package/node/PickersTextField/PickersInput/PickersInput.js +76 -54
- package/node/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
- package/node/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
- package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
- package/node/StaticDatePicker/StaticDatePicker.js +1 -1
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/node/StaticTimePicker/StaticTimePicker.js +1 -1
- package/node/TimeClock/Clock.js +48 -35
- package/node/TimeClock/ClockNumber.js +12 -7
- package/node/TimeClock/ClockPointer.js +23 -13
- package/node/TimeClock/TimeClock.js +1 -1
- package/node/TimeField/TimeField.js +2 -2
- package/node/TimePicker/TimePicker.js +1 -1
- package/node/TimePicker/TimePickerToolbar.js +25 -16
- package/node/YearCalendar/PickersYear.js +12 -6
- package/node/index.js +1 -1
- package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
- package/node/internals/components/PickersPopper.js +12 -8
- package/node/internals/components/PickersToolbar.js +39 -18
- package/node/internals/hooks/useField/useField.js +4 -2
- package/node/internals/hooks/useField/useFieldV6TextField.js +10 -3
- package/node/locales/faIR.js +7 -8
- package/node/locales/itIT.js +16 -20
- package/node/locales/ptBR.js +14 -17
- package/node/locales/ukUA.js +15 -19
- package/node/locales/zhHK.js +14 -17
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["label", "autoFocus", "ownerState"];
|
|
3
|
+
const _excluded = ["label", "autoFocus", "disableUnderline", "ownerState"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { useFormControl } from '@mui/material/FormControl';
|
|
@@ -16,70 +16,85 @@ const PickersInputRoot = styled(PickersInputBaseRoot, {
|
|
|
16
16
|
slot: 'Root',
|
|
17
17
|
overridesResolver: (props, styles) => styles.root
|
|
18
18
|
})(({
|
|
19
|
-
theme
|
|
20
|
-
ownerState
|
|
19
|
+
theme
|
|
21
20
|
}) => {
|
|
22
21
|
const light = theme.palette.mode === 'light';
|
|
23
22
|
let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
|
|
24
23
|
if (theme.vars) {
|
|
25
24
|
bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;
|
|
26
25
|
}
|
|
27
|
-
return
|
|
26
|
+
return {
|
|
28
27
|
'label + &': {
|
|
29
28
|
marginTop: 16
|
|
30
|
-
}
|
|
31
|
-
}, !ownerState.disableUnderline && {
|
|
32
|
-
'&::after': {
|
|
33
|
-
background: 'red',
|
|
34
|
-
// @ts-ignore
|
|
35
|
-
borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color].main}`,
|
|
36
|
-
left: 0,
|
|
37
|
-
bottom: 0,
|
|
38
|
-
// Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
|
|
39
|
-
content: '""',
|
|
40
|
-
position: 'absolute',
|
|
41
|
-
right: 0,
|
|
42
|
-
transform: 'scaleX(0)',
|
|
43
|
-
transition: theme.transitions.create('transform', {
|
|
44
|
-
duration: theme.transitions.duration.shorter,
|
|
45
|
-
easing: theme.transitions.easing.easeOut
|
|
46
|
-
}),
|
|
47
|
-
pointerEvents: 'none' // Transparent to the hover style.
|
|
48
|
-
},
|
|
49
|
-
[`&.${pickersInputClasses.focused}:after`]: {
|
|
50
|
-
// translateX(0) is a workaround for Safari transform scale bug
|
|
51
|
-
// See https://github.com/mui/material-ui/issues/31766
|
|
52
|
-
transform: 'scaleX(1) translateX(0)'
|
|
53
29
|
},
|
|
54
|
-
[
|
|
55
|
-
|
|
56
|
-
|
|
30
|
+
variants: [...Object.keys((theme.vars ?? theme).palette)
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
.filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({
|
|
33
|
+
props: {
|
|
34
|
+
color
|
|
35
|
+
},
|
|
36
|
+
style: {
|
|
37
|
+
'&::after': {
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
borderBottom: `2px solid ${(theme.vars || theme).palette[color].main}`
|
|
40
|
+
}
|
|
57
41
|
}
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
42
|
+
})), {
|
|
43
|
+
props: {
|
|
44
|
+
disableUnderline: false
|
|
45
|
+
},
|
|
46
|
+
style: {
|
|
47
|
+
'&::after': {
|
|
48
|
+
background: 'red',
|
|
49
|
+
left: 0,
|
|
50
|
+
bottom: 0,
|
|
51
|
+
// Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
|
|
52
|
+
content: '""',
|
|
53
|
+
position: 'absolute',
|
|
54
|
+
right: 0,
|
|
55
|
+
transform: 'scaleX(0)',
|
|
56
|
+
transition: theme.transitions.create('transform', {
|
|
57
|
+
duration: theme.transitions.duration.shorter,
|
|
58
|
+
easing: theme.transitions.easing.easeOut
|
|
59
|
+
}),
|
|
60
|
+
pointerEvents: 'none' // Transparent to the hover style.
|
|
61
|
+
},
|
|
62
|
+
[`&.${pickersInputClasses.focused}:after`]: {
|
|
63
|
+
// translateX(0) is a workaround for Safari transform scale bug
|
|
64
|
+
// See https://github.com/mui/material-ui/issues/31766
|
|
65
|
+
transform: 'scaleX(1) translateX(0)'
|
|
66
|
+
},
|
|
67
|
+
[`&.${pickersInputClasses.error}`]: {
|
|
68
|
+
'&:before, &:after': {
|
|
69
|
+
borderBottomColor: (theme.vars || theme).palette.error.main
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
'&::before': {
|
|
73
|
+
borderBottom: `1px solid ${bottomLineColor}`,
|
|
74
|
+
left: 0,
|
|
75
|
+
bottom: 0,
|
|
76
|
+
// Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
|
|
77
|
+
content: '"\\00a0"',
|
|
78
|
+
position: 'absolute',
|
|
79
|
+
right: 0,
|
|
80
|
+
transition: theme.transitions.create('border-bottom-color', {
|
|
81
|
+
duration: theme.transitions.duration.shorter
|
|
82
|
+
}),
|
|
83
|
+
pointerEvents: 'none' // Transparent to the hover style.
|
|
84
|
+
},
|
|
85
|
+
[`&:hover:not(.${pickersInputClasses.disabled}, .${pickersInputClasses.error}):before`]: {
|
|
86
|
+
borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,
|
|
87
|
+
// Reset on touch devices, it doesn't add specificity
|
|
88
|
+
'@media (hover: none)': {
|
|
89
|
+
borderBottom: `1px solid ${bottomLineColor}`
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
[`&.${pickersInputClasses.disabled}:before`]: {
|
|
93
|
+
borderBottomStyle: 'dotted'
|
|
94
|
+
}
|
|
77
95
|
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
borderBottomStyle: 'dotted'
|
|
81
|
-
}
|
|
82
|
-
});
|
|
96
|
+
}]
|
|
97
|
+
};
|
|
83
98
|
});
|
|
84
99
|
const useUtilityClasses = ownerState => {
|
|
85
100
|
const {
|
|
@@ -103,11 +118,13 @@ const PickersInput = /*#__PURE__*/React.forwardRef(function PickersInput(inProps
|
|
|
103
118
|
});
|
|
104
119
|
const {
|
|
105
120
|
label,
|
|
121
|
+
disableUnderline = false,
|
|
106
122
|
ownerState: ownerStateProp
|
|
107
123
|
} = props,
|
|
108
124
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
109
125
|
const muiFormControl = useFormControl();
|
|
110
126
|
const ownerState = _extends({}, props, ownerStateProp, muiFormControl, {
|
|
127
|
+
disableUnderline,
|
|
111
128
|
color: muiFormControl?.color || 'primary'
|
|
112
129
|
});
|
|
113
130
|
const classes = useUtilityClasses(ownerState);
|
|
@@ -178,6 +195,11 @@ process.env.NODE_ENV !== "production" ? PickersInput.propTypes = {
|
|
|
178
195
|
getSectionIndexFromDOMElement: PropTypes.func.isRequired
|
|
179
196
|
})
|
|
180
197
|
})]),
|
|
198
|
+
/**
|
|
199
|
+
* The props used for each component slot.
|
|
200
|
+
* @default {}
|
|
201
|
+
*/
|
|
202
|
+
slotProps: PropTypes.object,
|
|
181
203
|
/**
|
|
182
204
|
* The components used for each slot inside.
|
|
183
205
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "value", "onChange", "id", "autoFocus", "endAdornment", "startAdornment", "renderSuffix", "slots", "contentEditable", "tabIndex", "onInput", "onPaste", "onKeyDown", "fullWidth", "name", "readOnly", "inputProps", "inputRef", "sectionListRef"];
|
|
3
|
+
const _excluded = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "value", "onChange", "id", "autoFocus", "endAdornment", "startAdornment", "renderSuffix", "slots", "slotProps", "contentEditable", "tabIndex", "onInput", "onPaste", "onKeyDown", "fullWidth", "name", "readOnly", "inputProps", "inputRef", "sectionListRef"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { useFormControl } from '@mui/material/FormControl';
|
|
@@ -9,6 +9,7 @@ import useForkRef from '@mui/utils/useForkRef';
|
|
|
9
9
|
import { refType } from '@mui/utils';
|
|
10
10
|
import composeClasses from '@mui/utils/composeClasses';
|
|
11
11
|
import capitalize from '@mui/utils/capitalize';
|
|
12
|
+
import { useSlotProps } from '@mui/base/utils';
|
|
12
13
|
import visuallyHidden from '@mui/utils/visuallyHidden';
|
|
13
14
|
import { pickersInputBaseClasses, getPickersInputBaseUtilityClass } from './pickersInputBaseClasses';
|
|
14
15
|
import { Unstable_PickersSectionList as PickersSectionList, Unstable_PickersSectionListRoot as PickersSectionListRoot, Unstable_PickersSectionListSection as PickersSectionListSection, Unstable_PickersSectionListSectionSeparator as PickersSectionListSectionSeparator, Unstable_PickersSectionListSectionContent as PickersSectionListSectionContent } from '../../PickersSectionList';
|
|
@@ -20,8 +21,7 @@ export const PickersInputBaseRoot = styled('div', {
|
|
|
20
21
|
slot: 'Root',
|
|
21
22
|
overridesResolver: (props, styles) => styles.root
|
|
22
23
|
})(({
|
|
23
|
-
theme
|
|
24
|
-
ownerState
|
|
24
|
+
theme
|
|
25
25
|
}) => _extends({}, theme.typography.body1, {
|
|
26
26
|
color: (theme.vars || theme).palette.text.primary,
|
|
27
27
|
cursor: 'text',
|
|
@@ -32,17 +32,22 @@ export const PickersInputBaseRoot = styled('div', {
|
|
|
32
32
|
position: 'relative',
|
|
33
33
|
boxSizing: 'border-box',
|
|
34
34
|
// Prevent padding issue with fullWidth.
|
|
35
|
-
letterSpacing: `${round(0.15 / 16)}em
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
letterSpacing: `${round(0.15 / 16)}em`,
|
|
36
|
+
variants: [{
|
|
37
|
+
props: {
|
|
38
|
+
fullWidth: true
|
|
39
|
+
},
|
|
40
|
+
style: {
|
|
41
|
+
width: '100%'
|
|
42
|
+
}
|
|
43
|
+
}]
|
|
38
44
|
}));
|
|
39
45
|
export const PickersInputBaseSectionsContainer = styled(PickersSectionListRoot, {
|
|
40
46
|
name: 'MuiPickersInputBase',
|
|
41
47
|
slot: 'SectionsContainer',
|
|
42
48
|
overridesResolver: (props, styles) => styles.sectionsContainer
|
|
43
49
|
})(({
|
|
44
|
-
theme
|
|
45
|
-
ownerState
|
|
50
|
+
theme
|
|
46
51
|
}) => _extends({
|
|
47
52
|
padding: '4px 0 5px',
|
|
48
53
|
fontFamily: theme.typography.fontFamily,
|
|
@@ -57,19 +62,41 @@ export const PickersInputBaseSectionsContainer = styled(PickersSectionListRoot,
|
|
|
57
62
|
letterSpacing: 'inherit',
|
|
58
63
|
// Baseline behavior
|
|
59
64
|
width: '182px'
|
|
60
|
-
}, ownerState.size === 'small' && {
|
|
61
|
-
paddingTop: 1
|
|
62
65
|
}, theme.direction === 'rtl' && {
|
|
63
66
|
textAlign: 'right /*! @noflip */'
|
|
64
|
-
},
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
67
|
+
}, {
|
|
68
|
+
variants: [{
|
|
69
|
+
props: {
|
|
70
|
+
size: 'small'
|
|
71
|
+
},
|
|
72
|
+
style: {
|
|
73
|
+
paddingTop: 1
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
props: {
|
|
77
|
+
adornedStart: false,
|
|
78
|
+
focused: false,
|
|
79
|
+
filled: false
|
|
80
|
+
},
|
|
81
|
+
style: {
|
|
82
|
+
color: 'currentColor',
|
|
83
|
+
opacity: 0
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
86
|
+
// Can't use the object notation because label can be null or undefined
|
|
87
|
+
props: ({
|
|
88
|
+
adornedStart,
|
|
89
|
+
focused,
|
|
90
|
+
filled,
|
|
91
|
+
label
|
|
92
|
+
}) => !adornedStart && !focused && !filled && label == null,
|
|
93
|
+
style: theme.vars ? {
|
|
94
|
+
opacity: theme.vars.opacity.inputPlaceholder
|
|
95
|
+
} : {
|
|
96
|
+
opacity: theme.palette.mode === 'light' ? 0.42 : 0.5
|
|
97
|
+
}
|
|
98
|
+
}]
|
|
99
|
+
}));
|
|
73
100
|
const PickersInputBaseSection = styled(PickersSectionListSection, {
|
|
74
101
|
name: 'MuiPickersInputBase',
|
|
75
102
|
slot: 'Section',
|
|
@@ -153,6 +180,7 @@ const PickersInputBase = /*#__PURE__*/React.forwardRef(function PickersInputBase
|
|
|
153
180
|
startAdornment,
|
|
154
181
|
renderSuffix,
|
|
155
182
|
slots,
|
|
183
|
+
slotProps,
|
|
156
184
|
contentEditable,
|
|
157
185
|
tabIndex,
|
|
158
186
|
onInput,
|
|
@@ -199,12 +227,19 @@ const PickersInputBase = /*#__PURE__*/React.forwardRef(function PickersInputBase
|
|
|
199
227
|
const ownerState = _extends({}, props, muiFormControl);
|
|
200
228
|
const classes = useUtilityClasses(ownerState);
|
|
201
229
|
const InputRoot = slots?.root || PickersInputBaseRoot;
|
|
202
|
-
const
|
|
203
|
-
|
|
230
|
+
const inputRootProps = useSlotProps({
|
|
231
|
+
elementType: InputRoot,
|
|
232
|
+
externalSlotProps: slotProps?.root,
|
|
233
|
+
externalForwardedProps: other,
|
|
234
|
+
additionalProps: {
|
|
235
|
+
'aria-invalid': muiFormControl.error,
|
|
236
|
+
ref: handleRootRef
|
|
237
|
+
},
|
|
204
238
|
className: classes.root,
|
|
205
|
-
ownerState
|
|
206
|
-
|
|
207
|
-
|
|
239
|
+
ownerState
|
|
240
|
+
});
|
|
241
|
+
const InputSectionsContainer = slots?.input || PickersInputBaseSectionsContainer;
|
|
242
|
+
return /*#__PURE__*/_jsxs(InputRoot, _extends({}, inputRootProps, {
|
|
208
243
|
children: [startAdornment, /*#__PURE__*/_jsx(PickersSectionList, {
|
|
209
244
|
sectionListRef: sectionListRef,
|
|
210
245
|
elements: elements,
|
|
@@ -307,6 +342,11 @@ process.env.NODE_ENV !== "production" ? PickersInputBase.propTypes = {
|
|
|
307
342
|
getSectionIndexFromDOMElement: PropTypes.func.isRequired
|
|
308
343
|
})
|
|
309
344
|
})]),
|
|
345
|
+
/**
|
|
346
|
+
* The props used for each component slot.
|
|
347
|
+
* @default {}
|
|
348
|
+
*/
|
|
349
|
+
slotProps: PropTypes.object,
|
|
310
350
|
/**
|
|
311
351
|
* The components used for each slot inside.
|
|
312
352
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
const _excluded = ["children", "className", "label", "notched", "shrink"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { styled } from '@mui/material/styles';
|
|
@@ -37,51 +37,68 @@ const OutlineLabel = styled('span')(({
|
|
|
37
37
|
fontSize: 'inherit'
|
|
38
38
|
}));
|
|
39
39
|
const OutlineLegend = styled('legend')(({
|
|
40
|
-
ownerState,
|
|
41
40
|
theme
|
|
42
|
-
}) =>
|
|
41
|
+
}) => ({
|
|
43
42
|
float: 'unset',
|
|
44
43
|
// Fix conflict with bootstrap
|
|
45
44
|
width: 'auto',
|
|
46
45
|
// Fix conflict with bootstrap
|
|
47
|
-
overflow: 'hidden'
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
46
|
+
overflow: 'hidden',
|
|
47
|
+
// Fix Horizontal scroll when label too long
|
|
48
|
+
variants: [{
|
|
49
|
+
props: {
|
|
50
|
+
withLabel: false
|
|
51
|
+
},
|
|
52
|
+
style: {
|
|
53
|
+
padding: 0,
|
|
54
|
+
lineHeight: '11px',
|
|
55
|
+
// sync with `height` in `legend` styles
|
|
56
|
+
transition: theme.transitions.create('width', {
|
|
57
|
+
duration: 150,
|
|
58
|
+
easing: theme.transitions.easing.easeOut
|
|
59
|
+
})
|
|
60
|
+
}
|
|
61
|
+
}, {
|
|
62
|
+
props: {
|
|
63
|
+
withLabel: true
|
|
64
|
+
},
|
|
65
|
+
style: {
|
|
66
|
+
display: 'block',
|
|
67
|
+
// Fix conflict with normalize.css and sanitize.css
|
|
68
|
+
padding: 0,
|
|
69
|
+
height: 11,
|
|
70
|
+
// sync with `lineHeight` in `legend` styles
|
|
71
|
+
fontSize: '0.75em',
|
|
72
|
+
visibility: 'hidden',
|
|
73
|
+
maxWidth: 0.01,
|
|
74
|
+
transition: theme.transitions.create('max-width', {
|
|
75
|
+
duration: 50,
|
|
76
|
+
easing: theme.transitions.easing.easeOut
|
|
77
|
+
}),
|
|
78
|
+
whiteSpace: 'nowrap',
|
|
79
|
+
'& > span': {
|
|
80
|
+
paddingLeft: 5,
|
|
81
|
+
paddingRight: 5,
|
|
82
|
+
display: 'inline-block',
|
|
83
|
+
opacity: 0,
|
|
84
|
+
visibility: 'visible'
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}, {
|
|
88
|
+
props: {
|
|
89
|
+
withLabel: true,
|
|
90
|
+
notched: true
|
|
91
|
+
},
|
|
92
|
+
style: {
|
|
93
|
+
maxWidth: '100%',
|
|
94
|
+
transition: theme.transitions.create('max-width', {
|
|
95
|
+
duration: 100,
|
|
96
|
+
easing: theme.transitions.easing.easeOut,
|
|
97
|
+
delay: 50
|
|
98
|
+
})
|
|
99
|
+
}
|
|
100
|
+
}]
|
|
101
|
+
}));
|
|
85
102
|
|
|
86
103
|
/**
|
|
87
104
|
* @ignore - internal component.
|
|
@@ -18,8 +18,7 @@ const PickersOutlinedInputRoot = styled(PickersInputBaseRoot, {
|
|
|
18
18
|
slot: 'Root',
|
|
19
19
|
overridesResolver: (props, styles) => styles.root
|
|
20
20
|
})(({
|
|
21
|
-
theme
|
|
22
|
-
ownerState
|
|
21
|
+
theme
|
|
23
22
|
}) => {
|
|
24
23
|
const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
|
|
25
24
|
return {
|
|
@@ -36,8 +35,6 @@ const PickersOutlinedInputRoot = styled(PickersInputBaseRoot, {
|
|
|
36
35
|
},
|
|
37
36
|
[`&.${pickersOutlinedInputClasses.focused} .${pickersOutlinedInputClasses.notchedOutline}`]: {
|
|
38
37
|
borderStyle: 'solid',
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
borderColor: (theme.vars || theme).palette[ownerState.color].main,
|
|
41
38
|
borderWidth: 2
|
|
42
39
|
},
|
|
43
40
|
[`&.${pickersOutlinedInputClasses.disabled}`]: {
|
|
@@ -50,20 +47,37 @@ const PickersOutlinedInputRoot = styled(PickersInputBaseRoot, {
|
|
|
50
47
|
},
|
|
51
48
|
[`&.${pickersOutlinedInputClasses.error} .${pickersOutlinedInputClasses.notchedOutline}`]: {
|
|
52
49
|
borderColor: (theme.vars || theme).palette.error.main
|
|
53
|
-
}
|
|
50
|
+
},
|
|
51
|
+
variants: Object.keys((theme.vars ?? theme).palette)
|
|
52
|
+
// @ts-ignore
|
|
53
|
+
.filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({
|
|
54
|
+
props: {
|
|
55
|
+
color
|
|
56
|
+
},
|
|
57
|
+
style: {
|
|
58
|
+
[`&.${pickersOutlinedInputClasses.focused}:not(.${pickersOutlinedInputClasses.error}) .${pickersOutlinedInputClasses.notchedOutline}`]: {
|
|
59
|
+
// @ts-ignore
|
|
60
|
+
borderColor: (theme.vars || theme).palette[color].main
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}))
|
|
54
64
|
};
|
|
55
65
|
});
|
|
56
66
|
const PickersOutlinedInputSectionsContainer = styled(PickersInputBaseSectionsContainer, {
|
|
57
67
|
name: 'MuiPickersOutlinedInput',
|
|
58
68
|
slot: 'SectionsContainer',
|
|
59
69
|
overridesResolver: (props, styles) => styles.sectionsContainer
|
|
60
|
-
})(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
70
|
+
})({
|
|
71
|
+
padding: '16.5px 0',
|
|
72
|
+
variants: [{
|
|
73
|
+
props: {
|
|
74
|
+
size: 'small'
|
|
75
|
+
},
|
|
76
|
+
style: {
|
|
77
|
+
padding: '8.5px 0'
|
|
78
|
+
}
|
|
79
|
+
}]
|
|
80
|
+
});
|
|
67
81
|
const useUtilityClasses = ownerState => {
|
|
68
82
|
const {
|
|
69
83
|
classes
|
|
@@ -172,6 +186,11 @@ process.env.NODE_ENV !== "production" ? PickersOutlinedInput.propTypes = {
|
|
|
172
186
|
getSectionIndexFromDOMElement: PropTypes.func.isRequired
|
|
173
187
|
})
|
|
174
188
|
})]),
|
|
189
|
+
/**
|
|
190
|
+
* The props used for each component slot.
|
|
191
|
+
* @default {}
|
|
192
|
+
*/
|
|
193
|
+
slotProps: PropTypes.object,
|
|
175
194
|
/**
|
|
176
195
|
* The components used for each slot inside.
|
|
177
196
|
*
|
|
@@ -64,7 +64,7 @@ StaticDatePicker.propTypes = {
|
|
|
64
64
|
* Formats the day of week displayed in the calendar header.
|
|
65
65
|
* @param {TDate} date The date of the day of week provided by the adapter.
|
|
66
66
|
* @returns {string} The name to display.
|
|
67
|
-
* @default (
|
|
67
|
+
* @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
68
68
|
*/
|
|
69
69
|
dayOfWeekFormatter: PropTypes.func,
|
|
70
70
|
/**
|
|
@@ -64,7 +64,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
64
64
|
// ----------------------------------------------------------------------
|
|
65
65
|
/**
|
|
66
66
|
* 12h/24h view for hour selection clock.
|
|
67
|
-
* @default
|
|
67
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
68
68
|
*/
|
|
69
69
|
ampm: PropTypes.bool,
|
|
70
70
|
/**
|
|
@@ -84,7 +84,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
84
84
|
* Formats the day of week displayed in the calendar header.
|
|
85
85
|
* @param {TDate} date The date of the day of week provided by the adapter.
|
|
86
86
|
* @returns {string} The name to display.
|
|
87
|
-
* @default (
|
|
87
|
+
* @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
88
88
|
*/
|
|
89
89
|
dayOfWeekFormatter: PropTypes.func,
|
|
90
90
|
/**
|
|
@@ -56,7 +56,7 @@ StaticTimePicker.propTypes = {
|
|
|
56
56
|
// ----------------------------------------------------------------------
|
|
57
57
|
/**
|
|
58
58
|
* 12h/24h view for hour selection clock.
|
|
59
|
-
* @default
|
|
59
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
60
60
|
*/
|
|
61
61
|
ampm: PropTypes.bool,
|
|
62
62
|
/**
|