@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
|
@@ -36,16 +36,24 @@ const DigitalClockRoot = styled(PickerViewRoot, {
|
|
|
36
36
|
name: 'MuiDigitalClock',
|
|
37
37
|
slot: 'Root',
|
|
38
38
|
overridesResolver: (props, styles) => styles.root
|
|
39
|
-
})(
|
|
40
|
-
ownerState
|
|
41
|
-
}) => ({
|
|
39
|
+
})({
|
|
42
40
|
overflowY: 'auto',
|
|
43
41
|
width: '100%',
|
|
44
42
|
'@media (prefers-reduced-motion: no-preference)': {
|
|
45
|
-
scrollBehavior:
|
|
43
|
+
scrollBehavior: 'auto'
|
|
46
44
|
},
|
|
47
|
-
maxHeight: DIGITAL_CLOCK_VIEW_HEIGHT
|
|
48
|
-
|
|
45
|
+
maxHeight: DIGITAL_CLOCK_VIEW_HEIGHT,
|
|
46
|
+
variants: [{
|
|
47
|
+
props: {
|
|
48
|
+
alreadyRendered: true
|
|
49
|
+
},
|
|
50
|
+
style: {
|
|
51
|
+
'@media (prefers-reduced-motion: no-preference)': {
|
|
52
|
+
scrollBehavior: 'smooth'
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}]
|
|
56
|
+
});
|
|
49
57
|
const DigitalClockList = styled(MenuList, {
|
|
50
58
|
name: 'MuiDigitalClock',
|
|
51
59
|
slot: 'List',
|
|
@@ -266,7 +274,7 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
|
|
|
266
274
|
// ----------------------------------------------------------------------
|
|
267
275
|
/**
|
|
268
276
|
* 12h/24h view for hour selection clock.
|
|
269
|
-
* @default
|
|
277
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
270
278
|
*/
|
|
271
279
|
ampm: PropTypes.bool,
|
|
272
280
|
/**
|
|
@@ -83,7 +83,7 @@ MobileDatePicker.propTypes = {
|
|
|
83
83
|
* Formats the day of week displayed in the calendar header.
|
|
84
84
|
* @param {TDate} date The date of the day of week provided by the adapter.
|
|
85
85
|
* @returns {string} The name to display.
|
|
86
|
-
* @default (
|
|
86
|
+
* @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
87
87
|
*/
|
|
88
88
|
dayOfWeekFormatter: PropTypes.func,
|
|
89
89
|
/**
|
|
@@ -78,7 +78,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
78
78
|
// ----------------------------------------------------------------------
|
|
79
79
|
/**
|
|
80
80
|
* 12h/24h view for hour selection clock.
|
|
81
|
-
* @default
|
|
81
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
82
82
|
*/
|
|
83
83
|
ampm: PropTypes.bool,
|
|
84
84
|
/**
|
|
@@ -103,7 +103,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
103
103
|
* Formats the day of week displayed in the calendar header.
|
|
104
104
|
* @param {TDate} date The date of the day of week provided by the adapter.
|
|
105
105
|
* @returns {string} The name to display.
|
|
106
|
-
* @default (
|
|
106
|
+
* @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
107
107
|
*/
|
|
108
108
|
dayOfWeekFormatter: PropTypes.func,
|
|
109
109
|
/**
|
|
@@ -71,7 +71,7 @@ MobileTimePicker.propTypes = {
|
|
|
71
71
|
// ----------------------------------------------------------------------
|
|
72
72
|
/**
|
|
73
73
|
* 12h/24h view for hour selection clock.
|
|
74
|
-
* @default
|
|
74
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
75
75
|
*/
|
|
76
76
|
ampm: PropTypes.bool,
|
|
77
77
|
/**
|
|
@@ -22,14 +22,20 @@ const PickersMonthRoot = styled('div', {
|
|
|
22
22
|
name: 'MuiPickersMonth',
|
|
23
23
|
slot: 'Root',
|
|
24
24
|
overridesResolver: (_, styles) => [styles.root]
|
|
25
|
-
})(
|
|
26
|
-
ownerState
|
|
27
|
-
}) => ({
|
|
28
|
-
flexBasis: ownerState.monthsPerRow === 3 ? '33.3%' : '25%',
|
|
25
|
+
})({
|
|
29
26
|
display: 'flex',
|
|
30
27
|
alignItems: 'center',
|
|
31
|
-
justifyContent: 'center'
|
|
32
|
-
|
|
28
|
+
justifyContent: 'center',
|
|
29
|
+
flexBasis: '33.3%',
|
|
30
|
+
variants: [{
|
|
31
|
+
props: {
|
|
32
|
+
monthsPerRow: 4
|
|
33
|
+
},
|
|
34
|
+
style: {
|
|
35
|
+
flexBasis: '25%'
|
|
36
|
+
}
|
|
37
|
+
}]
|
|
38
|
+
});
|
|
33
39
|
const PickersMonthButton = styled('button', {
|
|
34
40
|
name: 'MuiPickersMonth',
|
|
35
41
|
slot: 'MonthButton',
|
|
@@ -331,7 +331,7 @@ process.env.NODE_ENV !== "production" ? MultiSectionDigitalClock.propTypes = {
|
|
|
331
331
|
// ----------------------------------------------------------------------
|
|
332
332
|
/**
|
|
333
333
|
* 12h/24h view for hour selection clock.
|
|
334
|
-
* @default
|
|
334
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
335
335
|
*/
|
|
336
336
|
ampm: PropTypes.bool,
|
|
337
337
|
/**
|
|
@@ -26,15 +26,14 @@ const MultiSectionDigitalClockSectionRoot = styled(MenuList, {
|
|
|
26
26
|
slot: 'Root',
|
|
27
27
|
overridesResolver: (_, styles) => styles.root
|
|
28
28
|
})(({
|
|
29
|
-
theme
|
|
30
|
-
ownerState
|
|
29
|
+
theme
|
|
31
30
|
}) => ({
|
|
32
31
|
maxHeight: DIGITAL_CLOCK_VIEW_HEIGHT,
|
|
33
32
|
width: 56,
|
|
34
33
|
padding: 0,
|
|
35
34
|
overflow: 'hidden',
|
|
36
35
|
'@media (prefers-reduced-motion: no-preference)': {
|
|
37
|
-
scrollBehavior:
|
|
36
|
+
scrollBehavior: 'auto'
|
|
38
37
|
},
|
|
39
38
|
'@media (pointer: fine)': {
|
|
40
39
|
'&:hover': {
|
|
@@ -52,7 +51,17 @@ const MultiSectionDigitalClockSectionRoot = styled(MenuList, {
|
|
|
52
51
|
content: '""',
|
|
53
52
|
// subtracting the height of one item, extra margin and borders to make sure the max height is correct
|
|
54
53
|
height: 'calc(100% - 40px - 6px)'
|
|
55
|
-
}
|
|
54
|
+
},
|
|
55
|
+
variants: [{
|
|
56
|
+
props: {
|
|
57
|
+
alreadyRendered: true
|
|
58
|
+
},
|
|
59
|
+
style: {
|
|
60
|
+
'@media (prefers-reduced-motion: no-preference)': {
|
|
61
|
+
scrollBehavior: 'smooth'
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}]
|
|
56
65
|
}));
|
|
57
66
|
const MultiSectionDigitalClockSectionItem = styled(MenuItem, {
|
|
58
67
|
name: 'MuiMultiSectionDigitalClockSection',
|
|
@@ -72,15 +72,19 @@ const PickersCalendarHeaderSwitchViewButton = styled(IconButton, {
|
|
|
72
72
|
name: 'MuiPickersCalendarHeader',
|
|
73
73
|
slot: 'SwitchViewButton',
|
|
74
74
|
overridesResolver: (_, styles) => styles.switchViewButton
|
|
75
|
-
})(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
75
|
+
})({
|
|
76
|
+
marginRight: 'auto',
|
|
77
|
+
variants: [{
|
|
78
|
+
props: {
|
|
79
|
+
view: 'year'
|
|
80
|
+
},
|
|
81
|
+
style: {
|
|
82
|
+
[`.${pickersCalendarHeaderClasses.switchViewIcon}`]: {
|
|
83
|
+
transform: 'rotate(180deg)'
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}]
|
|
87
|
+
});
|
|
84
88
|
const PickersCalendarHeaderSwitchViewIcon = styled(ArrowDropDownIcon, {
|
|
85
89
|
name: 'MuiPickersCalendarHeader',
|
|
86
90
|
slot: 'SwitchViewIcon',
|
package/PickersDay/PickersDay.js
CHANGED
|
@@ -30,8 +30,7 @@ const useUtilityClasses = ownerState => {
|
|
|
30
30
|
return composeClasses(slots, getPickersDayUtilityClass, classes);
|
|
31
31
|
};
|
|
32
32
|
const styleArg = ({
|
|
33
|
-
theme
|
|
34
|
-
ownerState
|
|
33
|
+
theme
|
|
35
34
|
}) => _extends({}, theme.typography.caption, {
|
|
36
35
|
width: DAY_SIZE,
|
|
37
36
|
height: DAY_SIZE,
|
|
@@ -69,15 +68,33 @@ const styleArg = ({
|
|
|
69
68
|
},
|
|
70
69
|
[`&.${pickersDayClasses.disabled}&.${pickersDayClasses.selected}`]: {
|
|
71
70
|
opacity: 0.6
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
71
|
+
},
|
|
72
|
+
variants: [{
|
|
73
|
+
props: {
|
|
74
|
+
disableMargin: false
|
|
75
|
+
},
|
|
76
|
+
style: {
|
|
77
|
+
margin: `0 ${DAY_MARGIN}px`
|
|
78
|
+
}
|
|
79
|
+
}, {
|
|
80
|
+
props: {
|
|
81
|
+
outsideCurrentMonth: true,
|
|
82
|
+
showDaysOutsideCurrentMonth: true
|
|
83
|
+
},
|
|
84
|
+
style: {
|
|
85
|
+
color: (theme.vars || theme).palette.text.secondary
|
|
86
|
+
}
|
|
87
|
+
}, {
|
|
88
|
+
props: {
|
|
89
|
+
disableHighlightToday: false,
|
|
90
|
+
today: true
|
|
91
|
+
},
|
|
92
|
+
style: {
|
|
93
|
+
[`&:not(.${pickersDayClasses.selected})`]: {
|
|
94
|
+
border: `1px solid ${(theme.vars || theme).palette.text.secondary}`
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}]
|
|
81
98
|
});
|
|
82
99
|
const overridesResolver = (props, styles) => {
|
|
83
100
|
const {
|
|
@@ -95,11 +112,9 @@ const PickersDayFiller = styled('div', {
|
|
|
95
112
|
slot: 'Root',
|
|
96
113
|
overridesResolver
|
|
97
114
|
})(({
|
|
98
|
-
theme
|
|
99
|
-
ownerState
|
|
115
|
+
theme
|
|
100
116
|
}) => _extends({}, styleArg({
|
|
101
|
-
theme
|
|
102
|
-
ownerState
|
|
117
|
+
theme
|
|
103
118
|
}), {
|
|
104
119
|
// visibility: 'hidden' does not work here as it hides the element from screen readers as well
|
|
105
120
|
opacity: 0,
|
|
@@ -23,30 +23,44 @@ const PickersLayoutRoot = styled('div', {
|
|
|
23
23
|
slot: 'Root',
|
|
24
24
|
overridesResolver: (props, styles) => styles.root
|
|
25
25
|
})(({
|
|
26
|
-
theme
|
|
27
|
-
ownerState
|
|
26
|
+
theme
|
|
28
27
|
}) => ({
|
|
29
28
|
display: 'grid',
|
|
30
29
|
gridAutoColumns: 'max-content auto max-content',
|
|
31
30
|
gridAutoRows: 'max-content auto max-content',
|
|
32
|
-
[`& .${pickersLayoutClasses.toolbar}`]: ownerState.isLandscape ? {
|
|
33
|
-
gridColumn: theme.direction === 'rtl' ? 3 : 1,
|
|
34
|
-
gridRow: '2 / 3'
|
|
35
|
-
} : {
|
|
36
|
-
gridColumn: '2 / 4',
|
|
37
|
-
gridRow: 1
|
|
38
|
-
},
|
|
39
|
-
[`.${pickersLayoutClasses.shortcuts}`]: ownerState.isLandscape ? {
|
|
40
|
-
gridColumn: '2 / 4',
|
|
41
|
-
gridRow: 1
|
|
42
|
-
} : {
|
|
43
|
-
gridColumn: theme.direction === 'rtl' ? 3 : 1,
|
|
44
|
-
gridRow: '2 / 3'
|
|
45
|
-
},
|
|
46
31
|
[`& .${pickersLayoutClasses.actionBar}`]: {
|
|
47
32
|
gridColumn: '1 / 4',
|
|
48
33
|
gridRow: 3
|
|
49
|
-
}
|
|
34
|
+
},
|
|
35
|
+
variants: [{
|
|
36
|
+
props: {
|
|
37
|
+
isLandscape: true
|
|
38
|
+
},
|
|
39
|
+
style: {
|
|
40
|
+
[`& .${pickersLayoutClasses.toolbar}`]: {
|
|
41
|
+
gridColumn: theme.direction === 'rtl' ? 3 : 1,
|
|
42
|
+
gridRow: '2 / 3'
|
|
43
|
+
},
|
|
44
|
+
[`.${pickersLayoutClasses.shortcuts}`]: {
|
|
45
|
+
gridColumn: '2 / 4',
|
|
46
|
+
gridRow: 1
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}, {
|
|
50
|
+
props: {
|
|
51
|
+
isLandscape: false
|
|
52
|
+
},
|
|
53
|
+
style: {
|
|
54
|
+
[`& .${pickersLayoutClasses.toolbar}`]: {
|
|
55
|
+
gridColumn: '2 / 4',
|
|
56
|
+
gridRow: 1
|
|
57
|
+
},
|
|
58
|
+
[`& .${pickersLayoutClasses.shortcuts}`]: {
|
|
59
|
+
gridColumn: theme.direction === 'rtl' ? 3 : 1,
|
|
60
|
+
gridRow: '2 / 3'
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}]
|
|
50
64
|
}));
|
|
51
65
|
PickersLayoutRoot.propTypes = {
|
|
52
66
|
// ----------------------------- Warning --------------------------------
|
|
@@ -13,7 +13,7 @@ export interface ExportedPickersShortcutProps<TValue> extends Omit<ListProps, 'o
|
|
|
13
13
|
/**
|
|
14
14
|
* Ordered array of shortcuts to display.
|
|
15
15
|
* If empty, does not display the shortcuts.
|
|
16
|
-
* @default
|
|
16
|
+
* @default []
|
|
17
17
|
*/
|
|
18
18
|
items?: PickersShortcutsItem<TValue>[];
|
|
19
19
|
/**
|
|
@@ -91,7 +91,7 @@ process.env.NODE_ENV !== "production" ? PickersShortcuts.propTypes = {
|
|
|
91
91
|
/**
|
|
92
92
|
* Ordered array of shortcuts to display.
|
|
93
93
|
* If empty, does not display the shortcuts.
|
|
94
|
-
* @default
|
|
94
|
+
* @default []
|
|
95
95
|
*/
|
|
96
96
|
items: PropTypes.arrayOf(PropTypes.shape({
|
|
97
97
|
getValue: PropTypes.func.isRequired,
|
|
@@ -1,10 +1,11 @@
|
|
|
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';
|
|
7
7
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
8
|
+
import { shouldForwardProp } from '@mui/system';
|
|
8
9
|
import { refType } from '@mui/utils';
|
|
9
10
|
import composeClasses from '@mui/utils/composeClasses';
|
|
10
11
|
import { pickersFilledInputClasses, getPickersFilledInputUtilityClass } from './pickersFilledInputClasses';
|
|
@@ -14,17 +15,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
14
15
|
const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
|
|
15
16
|
name: 'MuiPickersFilledInput',
|
|
16
17
|
slot: 'Root',
|
|
17
|
-
overridesResolver: (props, styles) => styles.root
|
|
18
|
+
overridesResolver: (props, styles) => styles.root,
|
|
19
|
+
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'disableUnderline'
|
|
18
20
|
})(({
|
|
19
|
-
theme
|
|
20
|
-
ownerState
|
|
21
|
+
theme
|
|
21
22
|
}) => {
|
|
22
23
|
const light = theme.palette.mode === 'light';
|
|
23
24
|
const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
|
|
24
25
|
const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';
|
|
25
26
|
const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';
|
|
26
27
|
const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';
|
|
27
|
-
return
|
|
28
|
+
return {
|
|
28
29
|
backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,
|
|
29
30
|
borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,
|
|
30
31
|
borderTopRightRadius: (theme.vars || theme).shape.borderRadius,
|
|
@@ -44,83 +45,136 @@ const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
|
|
|
44
45
|
},
|
|
45
46
|
[`&.${pickersFilledInputClasses.disabled}`]: {
|
|
46
47
|
backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground
|
|
47
|
-
}
|
|
48
|
-
}, !ownerState.disableUnderline && {
|
|
49
|
-
'&::after': {
|
|
50
|
-
borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color || 'primary']?.main}`,
|
|
51
|
-
left: 0,
|
|
52
|
-
bottom: 0,
|
|
53
|
-
// Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
|
|
54
|
-
content: '""',
|
|
55
|
-
position: 'absolute',
|
|
56
|
-
right: 0,
|
|
57
|
-
transform: 'scaleX(0)',
|
|
58
|
-
transition: theme.transitions.create('transform', {
|
|
59
|
-
duration: theme.transitions.duration.shorter,
|
|
60
|
-
easing: theme.transitions.easing.easeOut
|
|
61
|
-
}),
|
|
62
|
-
pointerEvents: 'none' // Transparent to the hover style.
|
|
63
|
-
},
|
|
64
|
-
[`&.${pickersFilledInputClasses.focused}:after`]: {
|
|
65
|
-
// translateX(0) is a workaround for Safari transform scale bug
|
|
66
|
-
// See https://github.com/mui/material-ui/issues/31766
|
|
67
|
-
transform: 'scaleX(1) translateX(0)'
|
|
68
48
|
},
|
|
69
|
-
[
|
|
70
|
-
|
|
71
|
-
|
|
49
|
+
variants: [...Object.keys((theme.vars ?? theme).palette)
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
.filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({
|
|
52
|
+
props: {
|
|
53
|
+
color,
|
|
54
|
+
disableUnderline: false
|
|
55
|
+
},
|
|
56
|
+
style: {
|
|
57
|
+
'&::after': {
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
borderBottom: `2px solid ${(theme.vars || theme).palette[color]?.main}`
|
|
60
|
+
}
|
|
72
61
|
}
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
62
|
+
})), {
|
|
63
|
+
props: {
|
|
64
|
+
disableUnderline: false
|
|
65
|
+
},
|
|
66
|
+
style: {
|
|
67
|
+
'&::after': {
|
|
68
|
+
left: 0,
|
|
69
|
+
bottom: 0,
|
|
70
|
+
// Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
|
|
71
|
+
content: '""',
|
|
72
|
+
position: 'absolute',
|
|
73
|
+
right: 0,
|
|
74
|
+
transform: 'scaleX(0)',
|
|
75
|
+
transition: theme.transitions.create('transform', {
|
|
76
|
+
duration: theme.transitions.duration.shorter,
|
|
77
|
+
easing: theme.transitions.easing.easeOut
|
|
78
|
+
}),
|
|
79
|
+
pointerEvents: 'none' // Transparent to the hover style.
|
|
80
|
+
},
|
|
81
|
+
[`&.${pickersFilledInputClasses.focused}:after`]: {
|
|
82
|
+
// translateX(0) is a workaround for Safari transform scale bug
|
|
83
|
+
// See https://github.com/mui/material-ui/issues/31766
|
|
84
|
+
transform: 'scaleX(1) translateX(0)'
|
|
85
|
+
},
|
|
86
|
+
[`&.${pickersFilledInputClasses.error}`]: {
|
|
87
|
+
'&:before, &:after': {
|
|
88
|
+
borderBottomColor: (theme.vars || theme).palette.error.main
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
'&::before': {
|
|
92
|
+
borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,
|
|
93
|
+
left: 0,
|
|
94
|
+
bottom: 0,
|
|
95
|
+
// Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
|
|
96
|
+
content: '"\\00a0"',
|
|
97
|
+
position: 'absolute',
|
|
98
|
+
right: 0,
|
|
99
|
+
transition: theme.transitions.create('border-bottom-color', {
|
|
100
|
+
duration: theme.transitions.duration.shorter
|
|
101
|
+
}),
|
|
102
|
+
pointerEvents: 'none' // Transparent to the hover style.
|
|
103
|
+
},
|
|
104
|
+
[`&:hover:not(.${pickersFilledInputClasses.disabled}, .${pickersFilledInputClasses.error}):before`]: {
|
|
105
|
+
borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`
|
|
106
|
+
},
|
|
107
|
+
[`&.${pickersFilledInputClasses.disabled}:before`]: {
|
|
108
|
+
borderBottomStyle: 'dotted'
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}, {
|
|
112
|
+
props: ({
|
|
113
|
+
startAdornment
|
|
114
|
+
}) => !!startAdornment,
|
|
115
|
+
style: {
|
|
116
|
+
paddingLeft: 12
|
|
117
|
+
}
|
|
118
|
+
}, {
|
|
119
|
+
props: ({
|
|
120
|
+
endAdornment
|
|
121
|
+
}) => !!endAdornment,
|
|
122
|
+
style: {
|
|
123
|
+
paddingRight: 12
|
|
124
|
+
}
|
|
125
|
+
}]
|
|
126
|
+
};
|
|
98
127
|
});
|
|
99
128
|
const PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer, {
|
|
100
129
|
name: 'MuiPickersFilledInput',
|
|
101
130
|
slot: 'sectionsContainer',
|
|
102
131
|
overridesResolver: (props, styles) => styles.sectionsContainer
|
|
103
|
-
})(
|
|
104
|
-
ownerState
|
|
105
|
-
}) => _extends({
|
|
132
|
+
})({
|
|
106
133
|
paddingTop: 25,
|
|
107
134
|
paddingRight: 12,
|
|
108
135
|
paddingBottom: 8,
|
|
109
|
-
paddingLeft: 12
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
},
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
136
|
+
paddingLeft: 12,
|
|
137
|
+
variants: [{
|
|
138
|
+
props: {
|
|
139
|
+
size: 'small'
|
|
140
|
+
},
|
|
141
|
+
style: {
|
|
142
|
+
paddingTop: 21,
|
|
143
|
+
paddingBottom: 4
|
|
144
|
+
}
|
|
145
|
+
}, {
|
|
146
|
+
props: ({
|
|
147
|
+
startAdornment
|
|
148
|
+
}) => !!startAdornment,
|
|
149
|
+
style: {
|
|
150
|
+
paddingLeft: 0
|
|
151
|
+
}
|
|
152
|
+
}, {
|
|
153
|
+
props: ({
|
|
154
|
+
endAdornment
|
|
155
|
+
}) => !!endAdornment,
|
|
156
|
+
style: {
|
|
157
|
+
paddingRight: 0
|
|
158
|
+
}
|
|
159
|
+
}, {
|
|
160
|
+
props: {
|
|
161
|
+
hiddenLabel: true
|
|
162
|
+
},
|
|
163
|
+
style: {
|
|
164
|
+
paddingTop: 16,
|
|
165
|
+
paddingBottom: 17
|
|
166
|
+
}
|
|
167
|
+
}, {
|
|
168
|
+
props: {
|
|
169
|
+
hiddenLabel: true,
|
|
170
|
+
size: 'small'
|
|
171
|
+
},
|
|
172
|
+
style: {
|
|
173
|
+
paddingTop: 8,
|
|
174
|
+
paddingBottom: 9
|
|
175
|
+
}
|
|
176
|
+
}]
|
|
177
|
+
});
|
|
124
178
|
const useUtilityClasses = ownerState => {
|
|
125
179
|
const {
|
|
126
180
|
classes,
|
|
@@ -143,6 +197,7 @@ const PickersFilledInput = /*#__PURE__*/React.forwardRef(function PickersFilledI
|
|
|
143
197
|
});
|
|
144
198
|
const {
|
|
145
199
|
label,
|
|
200
|
+
disableUnderline = false,
|
|
146
201
|
ownerState: ownerStateProp
|
|
147
202
|
} = props,
|
|
148
203
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
@@ -155,6 +210,11 @@ const PickersFilledInput = /*#__PURE__*/React.forwardRef(function PickersFilledI
|
|
|
155
210
|
slots: {
|
|
156
211
|
root: PickersFilledInputRoot,
|
|
157
212
|
input: PickersFilledSectionsContainer
|
|
213
|
+
},
|
|
214
|
+
slotProps: {
|
|
215
|
+
root: {
|
|
216
|
+
disableUnderline
|
|
217
|
+
}
|
|
158
218
|
}
|
|
159
219
|
}, other, {
|
|
160
220
|
label: label,
|
|
@@ -220,6 +280,11 @@ process.env.NODE_ENV !== "production" ? PickersFilledInput.propTypes = {
|
|
|
220
280
|
getSectionIndexFromDOMElement: PropTypes.func.isRequired
|
|
221
281
|
})
|
|
222
282
|
})]),
|
|
283
|
+
/**
|
|
284
|
+
* The props used for each component slot.
|
|
285
|
+
* @default {}
|
|
286
|
+
*/
|
|
287
|
+
slotProps: PropTypes.object,
|
|
223
288
|
/**
|
|
224
289
|
* The components used for each slot inside.
|
|
225
290
|
*
|