@mui/x-date-pickers 7.0.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +71 -0
- package/DatePicker/DatePickerToolbar.js +11 -6
- package/DateTimePicker/DateTimePickerToolbar.js +97 -45
- package/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
- package/DigitalClock/DigitalClock.js +14 -6
- package/MonthCalendar/PickersMonth.js +12 -6
- 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/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/TimeClock/Clock.js +48 -35
- package/TimeClock/ClockNumber.js +12 -7
- package/TimeClock/ClockPointer.js +23 -13
- 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 +1 -0
- package/internals/hooks/useField/useFieldV6TextField.js +8 -3
- package/locales/itIT.js +16 -20
- package/locales/zhHK.js +14 -17
- package/modern/DatePicker/DatePickerToolbar.js +11 -6
- package/modern/DateTimePicker/DateTimePickerToolbar.js +97 -45
- package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
- package/modern/DigitalClock/DigitalClock.js +14 -6
- package/modern/MonthCalendar/PickersMonth.js +12 -6
- 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/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/TimeClock/Clock.js +48 -35
- package/modern/TimeClock/ClockNumber.js +12 -7
- package/modern/TimeClock/ClockPointer.js +23 -13
- 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 +8 -3
- package/modern/locales/itIT.js +16 -20
- package/modern/locales/zhHK.js +14 -17
- package/node/DatePicker/DatePickerToolbar.js +11 -6
- package/node/DateTimePicker/DateTimePickerToolbar.js +97 -45
- package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
- package/node/DigitalClock/DigitalClock.js +14 -6
- package/node/MonthCalendar/PickersMonth.js +12 -6
- 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/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/TimeClock/Clock.js +48 -35
- package/node/TimeClock/ClockNumber.js +12 -7
- package/node/TimeClock/ClockPointer.js +23 -13
- 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 +8 -3
- package/node/locales/itIT.js +16 -20
- package/node/locales/zhHK.js +14 -17
- package/package.json +1 -1
|
@@ -202,9 +202,11 @@ export const useField = params => {
|
|
|
202
202
|
event.preventDefault();
|
|
203
203
|
onClear?.(event, ...args);
|
|
204
204
|
clearValue();
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
if (!interactions.isFieldFocused()) {
|
|
206
|
+
// setSelectedSections is called internally
|
|
207
207
|
interactions.focusField(0);
|
|
208
|
+
} else {
|
|
209
|
+
setSelectedSections(sectionOrder.startIndex);
|
|
208
210
|
}
|
|
209
211
|
});
|
|
210
212
|
const commonForwardedProps = {
|
|
@@ -124,6 +124,7 @@ export interface UseFieldV6ForwardedProps {
|
|
|
124
124
|
onClick?: React.MouseEventHandler;
|
|
125
125
|
onFocus?: () => void;
|
|
126
126
|
onPaste?: React.ClipboardEventHandler<HTMLDivElement>;
|
|
127
|
+
placeholder?: string;
|
|
127
128
|
}
|
|
128
129
|
interface UseFieldV6AdditionalProps extends Required<Pick<React.InputHTMLAttributes<HTMLInputElement>, 'inputMode' | 'placeholder' | 'value' | 'onChange' | 'autoComplete'>> {
|
|
129
130
|
enableAccessibleFieldDOMStructure: false;
|
|
@@ -43,7 +43,8 @@ export const useFieldV6TextField = params => {
|
|
|
43
43
|
onClick,
|
|
44
44
|
onPaste,
|
|
45
45
|
onBlur,
|
|
46
|
-
inputRef: inputRefProp
|
|
46
|
+
inputRef: inputRefProp,
|
|
47
|
+
placeholder: inPlaceholder
|
|
47
48
|
},
|
|
48
49
|
internalProps: {
|
|
49
50
|
readOnly = false
|
|
@@ -127,7 +128,6 @@ export const useFieldV6TextField = params => {
|
|
|
127
128
|
}), [inputRef, parsedSelectedSections, sections, setSelectedSections]);
|
|
128
129
|
const syncSelectionFromDOM = () => {
|
|
129
130
|
if (readOnly) {
|
|
130
|
-
setSelectedSections(null);
|
|
131
131
|
return;
|
|
132
132
|
}
|
|
133
133
|
const browserStartIndex = inputRef.current.selectionStart ?? 0;
|
|
@@ -275,7 +275,12 @@ export const useFieldV6TextField = params => {
|
|
|
275
275
|
sectionIndex: activeSectionIndex
|
|
276
276
|
});
|
|
277
277
|
});
|
|
278
|
-
const placeholder = React.useMemo(() =>
|
|
278
|
+
const placeholder = React.useMemo(() => {
|
|
279
|
+
if (inPlaceholder) {
|
|
280
|
+
return inPlaceholder;
|
|
281
|
+
}
|
|
282
|
+
return fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL);
|
|
283
|
+
}, [inPlaceholder, fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
|
|
279
284
|
const valueStr = React.useMemo(() => state.tempValueStrAndroid ?? fieldValueManager.getV6InputValueFromSections(state.sections, localizedDigits, isRTL), [state.sections, fieldValueManager, state.tempValueStrAndroid, localizedDigits, isRTL]);
|
|
280
285
|
React.useEffect(() => {
|
|
281
286
|
// Select all the sections when focused on mount (`autoFocus = true` on the input)
|
package/locales/itIT.js
CHANGED
|
@@ -16,11 +16,10 @@ const itITPickers = {
|
|
|
16
16
|
// DateRange labels
|
|
17
17
|
start: 'Inizio',
|
|
18
18
|
end: 'Fine',
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
startDate: 'Data di inizio',
|
|
20
|
+
startTime: 'Ora di inizio',
|
|
21
|
+
endDate: 'Data di fine',
|
|
22
|
+
endTime: 'Ora di fine',
|
|
24
23
|
// Action bar
|
|
25
24
|
cancelButtonLabel: 'Cancellare',
|
|
26
25
|
clearButtonLabel: 'Sgomberare',
|
|
@@ -46,8 +45,7 @@ const itITPickers = {
|
|
|
46
45
|
// Open picker labels
|
|
47
46
|
openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Scegli la data, la data selezionata è ${utils.format(value, 'fullDate')}` : 'Scegli la data',
|
|
48
47
|
openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Scegli l'ora, l'ora selezionata è ${utils.format(value, 'fullTime')}` : "Scegli l'ora",
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
fieldClearLabel: 'Cancella valore',
|
|
51
49
|
// Table labels
|
|
52
50
|
timeTableLabel: "scegli un'ora",
|
|
53
51
|
dateTableLabel: 'scegli una data',
|
|
@@ -55,23 +53,21 @@ const itITPickers = {
|
|
|
55
53
|
fieldYearPlaceholder: params => 'A'.repeat(params.digitAmount),
|
|
56
54
|
fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',
|
|
57
55
|
fieldDayPlaceholder: () => 'GG',
|
|
58
|
-
|
|
56
|
+
fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'GGGG' : 'GG',
|
|
59
57
|
fieldHoursPlaceholder: () => 'hh',
|
|
60
58
|
fieldMinutesPlaceholder: () => 'mm',
|
|
61
59
|
fieldSecondsPlaceholder: () => 'ss',
|
|
62
|
-
fieldMeridiemPlaceholder: () => 'aa'
|
|
63
|
-
|
|
60
|
+
fieldMeridiemPlaceholder: () => 'aa',
|
|
64
61
|
// View names
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
62
|
+
year: 'Anno',
|
|
63
|
+
month: 'Mese',
|
|
64
|
+
day: 'Giorno',
|
|
65
|
+
weekDay: 'Giorno della settimana',
|
|
66
|
+
hours: 'Ore',
|
|
67
|
+
minutes: 'Minuti',
|
|
68
|
+
seconds: 'Secondi',
|
|
69
|
+
meridiem: 'Meridiano',
|
|
74
70
|
// Common
|
|
75
|
-
|
|
71
|
+
empty: 'Vuoto'
|
|
76
72
|
};
|
|
77
73
|
export const itIT = getPickersLocalization(itITPickers);
|
package/locales/zhHK.js
CHANGED
|
@@ -16,11 +16,10 @@ const zhHKPickers = {
|
|
|
16
16
|
// DateRange labels
|
|
17
17
|
start: '開始',
|
|
18
18
|
end: '結束',
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
startDate: '開始日期',
|
|
20
|
+
startTime: '開始時間',
|
|
21
|
+
endDate: '結束日期',
|
|
22
|
+
endTime: '結束時間',
|
|
24
23
|
// Action bar
|
|
25
24
|
cancelButtonLabel: '取消',
|
|
26
25
|
clearButtonLabel: '清除',
|
|
@@ -59,19 +58,17 @@ const zhHKPickers = {
|
|
|
59
58
|
fieldHoursPlaceholder: () => 'hh',
|
|
60
59
|
fieldMinutesPlaceholder: () => 'mm',
|
|
61
60
|
fieldSecondsPlaceholder: () => 'ss',
|
|
62
|
-
fieldMeridiemPlaceholder: () => 'aa'
|
|
63
|
-
|
|
61
|
+
fieldMeridiemPlaceholder: () => 'aa',
|
|
64
62
|
// View names
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
63
|
+
year: '年',
|
|
64
|
+
month: '月',
|
|
65
|
+
day: '日',
|
|
66
|
+
weekDay: '星期',
|
|
67
|
+
hours: '小時',
|
|
68
|
+
minutes: '分鐘',
|
|
69
|
+
seconds: '秒',
|
|
70
|
+
meridiem: '子午線',
|
|
74
71
|
// Common
|
|
75
|
-
|
|
72
|
+
empty: '空值'
|
|
76
73
|
};
|
|
77
74
|
export const zhHK = getPickersLocalization(zhHKPickers);
|
|
@@ -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 = ["value", "isLandscape", "onChange", "toolbarFormat", "toolbarPlaceholder", "views", "className", "onViewChange", "view"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
@@ -31,11 +31,16 @@ const DatePickerToolbarTitle = styled(Typography, {
|
|
|
31
31
|
name: 'MuiDatePickerToolbar',
|
|
32
32
|
slot: 'Title',
|
|
33
33
|
overridesResolver: (_, styles) => styles.title
|
|
34
|
-
})(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
34
|
+
})({
|
|
35
|
+
variants: [{
|
|
36
|
+
props: {
|
|
37
|
+
isLandscape: true
|
|
38
|
+
},
|
|
39
|
+
style: {
|
|
40
|
+
margin: 'auto 16px auto auto'
|
|
41
|
+
}
|
|
42
|
+
}]
|
|
43
|
+
});
|
|
39
44
|
/**
|
|
40
45
|
* Demos:
|
|
41
46
|
*
|
|
@@ -40,20 +40,41 @@ const DateTimePickerToolbarRoot = styled(PickersToolbar, {
|
|
|
40
40
|
slot: 'Root',
|
|
41
41
|
overridesResolver: (props, styles) => styles.root
|
|
42
42
|
})(({
|
|
43
|
-
theme
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
paddingRight: ownerState.toolbarVariant === 'desktop' && !ownerState.isLandscape ? 0 : 16,
|
|
48
|
-
borderBottom: ownerState.toolbarVariant === 'desktop' ? `1px solid ${(theme.vars || theme).palette.divider}` : undefined,
|
|
49
|
-
borderRight: ownerState.toolbarVariant === 'desktop' && ownerState.isLandscape ? `1px solid ${(theme.vars || theme).palette.divider}` : undefined,
|
|
43
|
+
theme
|
|
44
|
+
}) => ({
|
|
45
|
+
paddingLeft: 16,
|
|
46
|
+
paddingRight: 16,
|
|
50
47
|
justifyContent: 'space-around',
|
|
51
|
-
position: 'relative'
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
position: 'relative',
|
|
49
|
+
variants: [{
|
|
50
|
+
props: {
|
|
51
|
+
toolbarVariant: 'desktop'
|
|
52
|
+
},
|
|
53
|
+
style: {
|
|
54
|
+
borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,
|
|
55
|
+
[`& .${pickersToolbarClasses.content} .${pickersToolbarTextClasses.selected}`]: {
|
|
56
|
+
color: (theme.vars || theme).palette.primary.main,
|
|
57
|
+
fontWeight: theme.typography.fontWeightBold
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
props: {
|
|
62
|
+
toolbarVariant: 'desktop',
|
|
63
|
+
isLandscape: true
|
|
64
|
+
},
|
|
65
|
+
style: {
|
|
66
|
+
borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
props: {
|
|
70
|
+
toolbarVariant: 'desktop',
|
|
71
|
+
isLandscape: false
|
|
72
|
+
},
|
|
73
|
+
style: {
|
|
74
|
+
paddingLeft: 24,
|
|
75
|
+
paddingRight: 0
|
|
76
|
+
}
|
|
77
|
+
}]
|
|
57
78
|
}));
|
|
58
79
|
DateTimePickerToolbarRoot.propTypes = {
|
|
59
80
|
// ----------------------------- Warning --------------------------------
|
|
@@ -86,19 +107,35 @@ const DateTimePickerToolbarTimeContainer = styled('div', {
|
|
|
86
107
|
slot: 'TimeContainer',
|
|
87
108
|
overridesResolver: (props, styles) => styles.timeContainer
|
|
88
109
|
})(({
|
|
89
|
-
theme
|
|
90
|
-
ownerState
|
|
110
|
+
theme
|
|
91
111
|
}) => {
|
|
92
|
-
const direction = ownerState.isLandscape && ownerState.toolbarVariant !== 'desktop' ? 'column' : 'row';
|
|
93
112
|
return _extends({
|
|
94
113
|
display: 'flex',
|
|
95
|
-
flexDirection:
|
|
96
|
-
},
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
114
|
+
flexDirection: 'row'
|
|
115
|
+
}, theme.direction === 'rtl' && {
|
|
116
|
+
flexDirection: 'row-reverse'
|
|
117
|
+
}, {
|
|
118
|
+
variants: [{
|
|
119
|
+
props: ({
|
|
120
|
+
isLandscape,
|
|
121
|
+
toolbarVariant
|
|
122
|
+
}) => isLandscape && toolbarVariant !== 'desktop',
|
|
123
|
+
style: _extends({
|
|
124
|
+
flexDirection: 'column'
|
|
125
|
+
}, theme.direction === 'rtl' && {
|
|
126
|
+
flexDirection: 'column-reverse'
|
|
127
|
+
})
|
|
128
|
+
}, {
|
|
129
|
+
props: {
|
|
130
|
+
toolbarVariant: 'desktop',
|
|
131
|
+
isLandscape: false
|
|
132
|
+
},
|
|
133
|
+
style: {
|
|
134
|
+
gap: 9,
|
|
135
|
+
marginRight: 4,
|
|
136
|
+
alignSelf: 'flex-end'
|
|
137
|
+
}
|
|
138
|
+
}]
|
|
102
139
|
});
|
|
103
140
|
});
|
|
104
141
|
const DateTimePickerToolbarTimeDigitsContainer = styled('div', {
|
|
@@ -106,14 +143,20 @@ const DateTimePickerToolbarTimeDigitsContainer = styled('div', {
|
|
|
106
143
|
slot: 'TimeDigitsContainer',
|
|
107
144
|
overridesResolver: (props, styles) => styles.timeDigitsContainer
|
|
108
145
|
})(({
|
|
109
|
-
theme
|
|
110
|
-
ownerState
|
|
146
|
+
theme
|
|
111
147
|
}) => _extends({
|
|
112
148
|
display: 'flex'
|
|
113
|
-
}, ownerState.toolbarVariant === 'desktop' && {
|
|
114
|
-
gap: 1.5
|
|
115
149
|
}, theme.direction === 'rtl' && {
|
|
116
150
|
flexDirection: 'row-reverse'
|
|
151
|
+
}, {
|
|
152
|
+
variants: [{
|
|
153
|
+
props: {
|
|
154
|
+
toolbarVariant: 'desktop'
|
|
155
|
+
},
|
|
156
|
+
style: {
|
|
157
|
+
gap: 1.5
|
|
158
|
+
}
|
|
159
|
+
}]
|
|
117
160
|
}));
|
|
118
161
|
DateTimePickerToolbarTimeContainer.propTypes = {
|
|
119
162
|
// ----------------------------- Warning --------------------------------
|
|
@@ -128,12 +171,18 @@ const DateTimePickerToolbarSeparator = styled(PickersToolbarText, {
|
|
|
128
171
|
name: 'MuiDateTimePickerToolbar',
|
|
129
172
|
slot: 'Separator',
|
|
130
173
|
overridesResolver: (props, styles) => styles.separator
|
|
131
|
-
})(
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
174
|
+
})({
|
|
175
|
+
margin: '0 4px 0 2px',
|
|
176
|
+
cursor: 'default',
|
|
177
|
+
variants: [{
|
|
178
|
+
props: {
|
|
179
|
+
toolbarVariant: 'desktop'
|
|
180
|
+
},
|
|
181
|
+
style: {
|
|
182
|
+
margin: 0
|
|
183
|
+
}
|
|
184
|
+
}]
|
|
185
|
+
});
|
|
137
186
|
|
|
138
187
|
// Taken from TimePickerToolbar
|
|
139
188
|
const DateTimePickerToolbarAmPmSelection = styled('div', {
|
|
@@ -144,23 +193,26 @@ const DateTimePickerToolbarAmPmSelection = styled('div', {
|
|
|
144
193
|
}, {
|
|
145
194
|
[`&.${dateTimePickerToolbarClasses.ampmLandscape}`]: styles.ampmLandscape
|
|
146
195
|
}, styles.ampmSelection]
|
|
147
|
-
})(
|
|
148
|
-
ownerState
|
|
149
|
-
}) => _extends({
|
|
196
|
+
})({
|
|
150
197
|
display: 'flex',
|
|
151
198
|
flexDirection: 'column',
|
|
152
199
|
marginRight: 'auto',
|
|
153
|
-
marginLeft: 12
|
|
154
|
-
}, ownerState.isLandscape && {
|
|
155
|
-
margin: '4px 0 auto',
|
|
156
|
-
flexDirection: 'row',
|
|
157
|
-
justifyContent: 'space-around',
|
|
158
|
-
width: '100%'
|
|
159
|
-
}, {
|
|
200
|
+
marginLeft: 12,
|
|
160
201
|
[`& .${dateTimePickerToolbarClasses.ampmLabel}`]: {
|
|
161
202
|
fontSize: 17
|
|
162
|
-
}
|
|
163
|
-
|
|
203
|
+
},
|
|
204
|
+
variants: [{
|
|
205
|
+
props: {
|
|
206
|
+
isLandscape: true
|
|
207
|
+
},
|
|
208
|
+
style: {
|
|
209
|
+
margin: '4px 0 auto',
|
|
210
|
+
flexDirection: 'row',
|
|
211
|
+
justifyContent: 'space-around',
|
|
212
|
+
width: '100%'
|
|
213
|
+
}
|
|
214
|
+
}]
|
|
215
|
+
});
|
|
164
216
|
|
|
165
217
|
/**
|
|
166
218
|
* Demos:
|
|
@@ -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 = ["className"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
@@ -41,13 +41,17 @@ const DayCalendarSkeletonDay = styled(Skeleton, {
|
|
|
41
41
|
name: 'MuiDayCalendarSkeleton',
|
|
42
42
|
slot: 'DaySkeleton',
|
|
43
43
|
overridesResolver: (props, styles) => styles.daySkeleton
|
|
44
|
-
})(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
})({
|
|
45
|
+
margin: `0 ${DAY_MARGIN}px`,
|
|
46
|
+
variants: [{
|
|
47
|
+
props: {
|
|
48
|
+
day: 0
|
|
49
|
+
},
|
|
50
|
+
style: {
|
|
51
|
+
visibility: 'hidden'
|
|
52
|
+
}
|
|
53
|
+
}]
|
|
54
|
+
});
|
|
51
55
|
DayCalendarSkeletonDay.propTypes = {
|
|
52
56
|
// ----------------------------- Warning --------------------------------
|
|
53
57
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -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',
|
|
@@ -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',
|
|
@@ -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',
|
|
@@ -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 --------------------------------
|