@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
package/TimeClock/Clock.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
import clsx from 'clsx';
|
|
4
3
|
import IconButton from '@mui/material/IconButton';
|
|
@@ -66,9 +65,7 @@ const ClockSquareMask = styled('div', {
|
|
|
66
65
|
name: 'MuiClock',
|
|
67
66
|
slot: 'SquareMask',
|
|
68
67
|
overridesResolver: (_, styles) => styles.squareMask
|
|
69
|
-
})(
|
|
70
|
-
ownerState
|
|
71
|
-
}) => _extends({
|
|
68
|
+
})({
|
|
72
69
|
width: '100%',
|
|
73
70
|
height: '100%',
|
|
74
71
|
position: 'absolute',
|
|
@@ -76,16 +73,22 @@ const ClockSquareMask = styled('div', {
|
|
|
76
73
|
outline: 0,
|
|
77
74
|
// Disable scroll capabilities.
|
|
78
75
|
touchAction: 'none',
|
|
79
|
-
userSelect: 'none'
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
76
|
+
userSelect: 'none',
|
|
77
|
+
variants: [{
|
|
78
|
+
props: {
|
|
79
|
+
disabled: false
|
|
80
|
+
},
|
|
81
|
+
style: {
|
|
82
|
+
'@media (pointer: fine)': {
|
|
83
|
+
cursor: 'pointer',
|
|
84
|
+
borderRadius: '50%'
|
|
85
|
+
},
|
|
86
|
+
'&:active': {
|
|
87
|
+
cursor: 'move'
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}]
|
|
91
|
+
});
|
|
89
92
|
const ClockPin = styled('div', {
|
|
90
93
|
name: 'MuiClock',
|
|
91
94
|
slot: 'Pin',
|
|
@@ -107,44 +110,54 @@ const ClockAmButton = styled(IconButton, {
|
|
|
107
110
|
slot: 'AmButton',
|
|
108
111
|
overridesResolver: (_, styles) => styles.amButton
|
|
109
112
|
})(({
|
|
110
|
-
theme
|
|
111
|
-
|
|
112
|
-
}) => _extends({
|
|
113
|
+
theme
|
|
114
|
+
}) => ({
|
|
113
115
|
zIndex: 1,
|
|
114
116
|
position: 'absolute',
|
|
115
117
|
bottom: 8,
|
|
116
118
|
left: 8,
|
|
117
119
|
paddingLeft: 4,
|
|
118
120
|
paddingRight: 4,
|
|
119
|
-
width: CLOCK_HOUR_WIDTH
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
width: CLOCK_HOUR_WIDTH,
|
|
122
|
+
variants: [{
|
|
123
|
+
props: {
|
|
124
|
+
meridiemMode: 'am'
|
|
125
|
+
},
|
|
126
|
+
style: {
|
|
127
|
+
backgroundColor: (theme.vars || theme).palette.primary.main,
|
|
128
|
+
color: (theme.vars || theme).palette.primary.contrastText,
|
|
129
|
+
'&:hover': {
|
|
130
|
+
backgroundColor: (theme.vars || theme).palette.primary.light
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}]
|
|
126
134
|
}));
|
|
127
135
|
const ClockPmButton = styled(IconButton, {
|
|
128
136
|
name: 'MuiClock',
|
|
129
137
|
slot: 'PmButton',
|
|
130
138
|
overridesResolver: (_, styles) => styles.pmButton
|
|
131
139
|
})(({
|
|
132
|
-
theme
|
|
133
|
-
|
|
134
|
-
}) => _extends({
|
|
140
|
+
theme
|
|
141
|
+
}) => ({
|
|
135
142
|
zIndex: 1,
|
|
136
143
|
position: 'absolute',
|
|
137
144
|
bottom: 8,
|
|
138
145
|
right: 8,
|
|
139
146
|
paddingLeft: 4,
|
|
140
147
|
paddingRight: 4,
|
|
141
|
-
width: CLOCK_HOUR_WIDTH
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
+
width: CLOCK_HOUR_WIDTH,
|
|
149
|
+
variants: [{
|
|
150
|
+
props: {
|
|
151
|
+
meridiemMode: 'pm'
|
|
152
|
+
},
|
|
153
|
+
style: {
|
|
154
|
+
backgroundColor: (theme.vars || theme).palette.primary.main,
|
|
155
|
+
color: (theme.vars || theme).palette.primary.contrastText,
|
|
156
|
+
'&:hover': {
|
|
157
|
+
backgroundColor: (theme.vars || theme).palette.primary.light
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}]
|
|
148
161
|
}));
|
|
149
162
|
const ClockMeridiemText = styled(Typography, {
|
|
150
163
|
name: 'MuiClock',
|
|
@@ -178,7 +191,7 @@ export function Clock(inProps) {
|
|
|
178
191
|
selectedId,
|
|
179
192
|
type,
|
|
180
193
|
viewValue,
|
|
181
|
-
disabled,
|
|
194
|
+
disabled = false,
|
|
182
195
|
readOnly,
|
|
183
196
|
className
|
|
184
197
|
} = props;
|
package/TimeClock/ClockNumber.js
CHANGED
|
@@ -28,9 +28,8 @@ const ClockNumberRoot = styled('span', {
|
|
|
28
28
|
[`&.${clockNumberClasses.selected}`]: styles.selected
|
|
29
29
|
}]
|
|
30
30
|
})(({
|
|
31
|
-
theme
|
|
32
|
-
|
|
33
|
-
}) => _extends({
|
|
31
|
+
theme
|
|
32
|
+
}) => ({
|
|
34
33
|
height: CLOCK_HOUR_WIDTH,
|
|
35
34
|
width: CLOCK_HOUR_WIDTH,
|
|
36
35
|
position: 'absolute',
|
|
@@ -50,10 +49,16 @@ const ClockNumberRoot = styled('span', {
|
|
|
50
49
|
[`&.${clockNumberClasses.disabled}`]: {
|
|
51
50
|
pointerEvents: 'none',
|
|
52
51
|
color: (theme.vars || theme).palette.text.disabled
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
},
|
|
53
|
+
variants: [{
|
|
54
|
+
props: {
|
|
55
|
+
inner: true
|
|
56
|
+
},
|
|
57
|
+
style: _extends({}, theme.typography.body2, {
|
|
58
|
+
color: (theme.vars || theme).palette.text.secondary
|
|
59
|
+
})
|
|
60
|
+
}]
|
|
61
|
+
}));
|
|
57
62
|
|
|
58
63
|
/**
|
|
59
64
|
* @ignore - internal component.
|
|
@@ -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", "hasSelected", "isInner", "type", "viewValue"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
@@ -23,26 +23,30 @@ const ClockPointerRoot = styled('div', {
|
|
|
23
23
|
slot: 'Root',
|
|
24
24
|
overridesResolver: (_, styles) => styles.root
|
|
25
25
|
})(({
|
|
26
|
-
theme
|
|
27
|
-
|
|
28
|
-
}) => _extends({
|
|
26
|
+
theme
|
|
27
|
+
}) => ({
|
|
29
28
|
width: 2,
|
|
30
29
|
backgroundColor: (theme.vars || theme).palette.primary.main,
|
|
31
30
|
position: 'absolute',
|
|
32
31
|
left: 'calc(50% - 1px)',
|
|
33
32
|
bottom: '50%',
|
|
34
|
-
transformOrigin: 'center bottom 0px'
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
transformOrigin: 'center bottom 0px',
|
|
34
|
+
variants: [{
|
|
35
|
+
props: {
|
|
36
|
+
shouldAnimate: true
|
|
37
|
+
},
|
|
38
|
+
style: {
|
|
39
|
+
transition: theme.transitions.create(['transform', 'height'])
|
|
40
|
+
}
|
|
41
|
+
}]
|
|
37
42
|
}));
|
|
38
43
|
const ClockPointerThumb = styled('div', {
|
|
39
44
|
name: 'MuiClockPointer',
|
|
40
45
|
slot: 'Thumb',
|
|
41
46
|
overridesResolver: (_, styles) => styles.thumb
|
|
42
47
|
})(({
|
|
43
|
-
theme
|
|
44
|
-
|
|
45
|
-
}) => _extends({
|
|
48
|
+
theme
|
|
49
|
+
}) => ({
|
|
46
50
|
width: 4,
|
|
47
51
|
height: 4,
|
|
48
52
|
backgroundColor: (theme.vars || theme).palette.primary.contrastText,
|
|
@@ -51,9 +55,15 @@ const ClockPointerThumb = styled('div', {
|
|
|
51
55
|
top: -21,
|
|
52
56
|
left: `calc(50% - ${CLOCK_HOUR_WIDTH / 2}px)`,
|
|
53
57
|
border: `${(CLOCK_HOUR_WIDTH - 4) / 2}px solid ${(theme.vars || theme).palette.primary.main}`,
|
|
54
|
-
boxSizing: 'content-box'
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
boxSizing: 'content-box',
|
|
59
|
+
variants: [{
|
|
60
|
+
props: {
|
|
61
|
+
hasSelected: true
|
|
62
|
+
},
|
|
63
|
+
style: {
|
|
64
|
+
backgroundColor: (theme.vars || theme).palette.primary.main
|
|
65
|
+
}
|
|
66
|
+
}]
|
|
57
67
|
}));
|
|
58
68
|
|
|
59
69
|
/**
|
package/TimeClock/TimeClock.js
CHANGED
|
@@ -317,7 +317,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
317
317
|
// ----------------------------------------------------------------------
|
|
318
318
|
/**
|
|
319
319
|
* 12h/24h view for hour selection clock.
|
|
320
|
-
* @default
|
|
320
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
321
321
|
*/
|
|
322
322
|
ampm: PropTypes.bool,
|
|
323
323
|
/**
|
package/TimeField/TimeField.js
CHANGED
|
@@ -64,7 +64,7 @@ process.env.NODE_ENV !== "production" ? TimeField.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
|
/**
|
|
@@ -275,7 +275,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
275
275
|
* Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
|
|
276
276
|
* This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.
|
|
277
277
|
*
|
|
278
|
-
* @default
|
|
278
|
+
* @default false
|
|
279
279
|
*/
|
|
280
280
|
shouldRespectLeadingZeros: PropTypes.bool,
|
|
281
281
|
/**
|
|
@@ -9,7 +9,7 @@ import { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFie
|
|
|
9
9
|
export interface UseTimeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<TDate | null, TDate, FieldSection, TEnableAccessibleFieldDOMStructure, TimeValidationError>, 'format'>, TimeValidationProps<TDate>, BaseTimeValidationProps, ExportedUseClearableFieldProps {
|
|
10
10
|
/**
|
|
11
11
|
* 12h/24h view for hour selection clock.
|
|
12
|
-
* @default
|
|
12
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
13
13
|
*/
|
|
14
14
|
ampm?: boolean;
|
|
15
15
|
}
|
package/TimePicker/TimePicker.js
CHANGED
|
@@ -50,7 +50,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
50
50
|
// ----------------------------------------------------------------------
|
|
51
51
|
/**
|
|
52
52
|
* 12h/24h view for hour selection clock.
|
|
53
|
-
* @default
|
|
53
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
54
54
|
*/
|
|
55
55
|
ampm: PropTypes.bool,
|
|
56
56
|
/**
|
|
@@ -53,16 +53,22 @@ const TimePickerToolbarHourMinuteLabel = styled('div', {
|
|
|
53
53
|
[`&.${timePickerToolbarClasses.hourMinuteLabelReverse}`]: styles.hourMinuteLabelReverse
|
|
54
54
|
}, styles.hourMinuteLabel]
|
|
55
55
|
})(({
|
|
56
|
-
theme
|
|
57
|
-
ownerState
|
|
56
|
+
theme
|
|
58
57
|
}) => _extends({
|
|
59
58
|
display: 'flex',
|
|
60
59
|
justifyContent: 'flex-end',
|
|
61
60
|
alignItems: 'flex-end'
|
|
62
|
-
}, ownerState.isLandscape && {
|
|
63
|
-
marginTop: 'auto'
|
|
64
61
|
}, theme.direction === 'rtl' && {
|
|
65
62
|
flexDirection: 'row-reverse'
|
|
63
|
+
}, {
|
|
64
|
+
variants: [{
|
|
65
|
+
props: {
|
|
66
|
+
isLandscape: true
|
|
67
|
+
},
|
|
68
|
+
style: {
|
|
69
|
+
marginTop: 'auto'
|
|
70
|
+
}
|
|
71
|
+
}]
|
|
66
72
|
}));
|
|
67
73
|
TimePickerToolbarHourMinuteLabel.propTypes = {
|
|
68
74
|
// ----------------------------- Warning --------------------------------
|
|
@@ -81,23 +87,26 @@ const TimePickerToolbarAmPmSelection = styled('div', {
|
|
|
81
87
|
}, {
|
|
82
88
|
[`&.${timePickerToolbarClasses.ampmLandscape}`]: styles.ampmLandscape
|
|
83
89
|
}, styles.ampmSelection]
|
|
84
|
-
})(
|
|
85
|
-
ownerState
|
|
86
|
-
}) => _extends({
|
|
90
|
+
})({
|
|
87
91
|
display: 'flex',
|
|
88
92
|
flexDirection: 'column',
|
|
89
93
|
marginRight: 'auto',
|
|
90
|
-
marginLeft: 12
|
|
91
|
-
}, ownerState.isLandscape && {
|
|
92
|
-
margin: '4px 0 auto',
|
|
93
|
-
flexDirection: 'row',
|
|
94
|
-
justifyContent: 'space-around',
|
|
95
|
-
flexBasis: '100%'
|
|
96
|
-
}, {
|
|
94
|
+
marginLeft: 12,
|
|
97
95
|
[`& .${timePickerToolbarClasses.ampmLabel}`]: {
|
|
98
96
|
fontSize: 17
|
|
99
|
-
}
|
|
100
|
-
|
|
97
|
+
},
|
|
98
|
+
variants: [{
|
|
99
|
+
props: {
|
|
100
|
+
isLandscape: true
|
|
101
|
+
},
|
|
102
|
+
style: {
|
|
103
|
+
margin: '4px 0 auto',
|
|
104
|
+
flexDirection: 'row',
|
|
105
|
+
justifyContent: 'space-around',
|
|
106
|
+
flexBasis: '100%'
|
|
107
|
+
}
|
|
108
|
+
}]
|
|
109
|
+
});
|
|
101
110
|
TimePickerToolbarAmPmSelection.propTypes = {
|
|
102
111
|
// ----------------------------- Warning --------------------------------
|
|
103
112
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -23,14 +23,20 @@ const PickersYearRoot = styled('div', {
|
|
|
23
23
|
name: 'MuiPickersYear',
|
|
24
24
|
slot: 'Root',
|
|
25
25
|
overridesResolver: (_, styles) => [styles.root]
|
|
26
|
-
})(
|
|
27
|
-
ownerState
|
|
28
|
-
}) => ({
|
|
29
|
-
flexBasis: ownerState.yearsPerRow === 3 ? '33.3%' : '25%',
|
|
26
|
+
})({
|
|
30
27
|
display: 'flex',
|
|
31
28
|
alignItems: 'center',
|
|
32
|
-
justifyContent: 'center'
|
|
33
|
-
|
|
29
|
+
justifyContent: 'center',
|
|
30
|
+
flexBasis: '33.3%',
|
|
31
|
+
variants: [{
|
|
32
|
+
props: {
|
|
33
|
+
yearsPerRow: 4
|
|
34
|
+
},
|
|
35
|
+
style: {
|
|
36
|
+
flexBasis: '25%'
|
|
37
|
+
}
|
|
38
|
+
}]
|
|
39
|
+
});
|
|
34
40
|
const PickersYearButton = styled('button', {
|
|
35
41
|
name: 'MuiPickersYear',
|
|
36
42
|
slot: 'YearButton',
|
package/index.js
CHANGED
|
@@ -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", "slots", "slotProps", "isNextDisabled", "isNextHidden", "onGoToNext", "nextLabel", "isPreviousDisabled", "isPreviousHidden", "onGoToPrevious", "previousLabel"],
|
|
4
4
|
_excluded2 = ["ownerState"],
|
|
5
5
|
_excluded3 = ["ownerState"];
|
|
@@ -34,11 +34,16 @@ const PickersArrowSwitcherButton = styled(IconButton, {
|
|
|
34
34
|
name: 'MuiPickersArrowSwitcher',
|
|
35
35
|
slot: 'Button',
|
|
36
36
|
overridesResolver: (props, styles) => styles.button
|
|
37
|
-
})(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
37
|
+
})({
|
|
38
|
+
variants: [{
|
|
39
|
+
props: {
|
|
40
|
+
hidden: true
|
|
41
|
+
},
|
|
42
|
+
style: {
|
|
43
|
+
visibility: 'hidden'
|
|
44
|
+
}
|
|
45
|
+
}]
|
|
46
|
+
});
|
|
42
47
|
const useUtilityClasses = ownerState => {
|
|
43
48
|
const {
|
|
44
49
|
classes
|
|
@@ -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 = ["PaperComponent", "popperPlacement", "ownerState", "children", "paperSlotProps", "paperClasses", "onPaperClick", "onPaperTouchStart"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { useSlotProps } from '@mui/base/utils';
|
|
@@ -37,14 +37,18 @@ const PickersPopperPaper = styled(MuiPaper, {
|
|
|
37
37
|
name: 'MuiPickersPopper',
|
|
38
38
|
slot: 'Paper',
|
|
39
39
|
overridesResolver: (_, styles) => styles.paper
|
|
40
|
-
})(
|
|
41
|
-
ownerState
|
|
42
|
-
}) => _extends({
|
|
40
|
+
})({
|
|
43
41
|
outline: 0,
|
|
44
|
-
transformOrigin: 'top center'
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
transformOrigin: 'top center',
|
|
43
|
+
variants: [{
|
|
44
|
+
props: ({
|
|
45
|
+
placement
|
|
46
|
+
}) => ['top', 'top-start', 'top-end'].includes(placement),
|
|
47
|
+
style: {
|
|
48
|
+
transformOrigin: 'bottom center'
|
|
49
|
+
}
|
|
50
|
+
}]
|
|
51
|
+
});
|
|
48
52
|
function clickedRootScrollbar(event, doc) {
|
|
49
53
|
return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;
|
|
50
54
|
}
|
|
@@ -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", "toolbarTitle", "hidden", "titleId", "isLandscape", "classes", "landscapeDirection"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
@@ -26,36 +26,57 @@ const PickersToolbarRoot = styled('div', {
|
|
|
26
26
|
slot: 'Root',
|
|
27
27
|
overridesResolver: (props, styles) => styles.root
|
|
28
28
|
})(({
|
|
29
|
-
theme
|
|
30
|
-
|
|
31
|
-
}) => _extends({
|
|
29
|
+
theme
|
|
30
|
+
}) => ({
|
|
32
31
|
display: 'flex',
|
|
33
32
|
flexDirection: 'column',
|
|
34
33
|
alignItems: 'flex-start',
|
|
35
34
|
justifyContent: 'space-between',
|
|
36
|
-
padding: theme.spacing(2, 3)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
padding: theme.spacing(2, 3),
|
|
36
|
+
variants: [{
|
|
37
|
+
props: {
|
|
38
|
+
isLandscape: true
|
|
39
|
+
},
|
|
40
|
+
style: {
|
|
41
|
+
height: 'auto',
|
|
42
|
+
maxWidth: 160,
|
|
43
|
+
padding: 16,
|
|
44
|
+
justifyContent: 'flex-start',
|
|
45
|
+
flexWrap: 'wrap'
|
|
46
|
+
}
|
|
47
|
+
}]
|
|
43
48
|
}));
|
|
44
49
|
const PickersToolbarContent = styled('div', {
|
|
45
50
|
name: 'MuiPickersToolbar',
|
|
46
51
|
slot: 'Content',
|
|
47
52
|
overridesResolver: (props, styles) => styles.content
|
|
48
|
-
})(
|
|
49
|
-
ownerState
|
|
50
|
-
}) => ({
|
|
53
|
+
})({
|
|
51
54
|
display: 'flex',
|
|
52
55
|
flexWrap: 'wrap',
|
|
53
56
|
width: '100%',
|
|
54
|
-
justifyContent: ownerState.isLandscape ? 'flex-start' : 'space-between',
|
|
55
|
-
flexDirection: ownerState.isLandscape ? ownerState.landscapeDirection ?? 'column' : 'row',
|
|
56
57
|
flex: 1,
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
justifyContent: 'space-between',
|
|
59
|
+
alignItems: 'center',
|
|
60
|
+
flexDirection: 'row',
|
|
61
|
+
variants: [{
|
|
62
|
+
props: {
|
|
63
|
+
isLandscape: true
|
|
64
|
+
},
|
|
65
|
+
style: {
|
|
66
|
+
justifyContent: 'flex-start',
|
|
67
|
+
alignItems: 'flex-start',
|
|
68
|
+
flexDirection: 'column'
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
props: {
|
|
72
|
+
isLandscape: true,
|
|
73
|
+
landscapeDirection: 'row'
|
|
74
|
+
},
|
|
75
|
+
style: {
|
|
76
|
+
flexDirection: 'row'
|
|
77
|
+
}
|
|
78
|
+
}]
|
|
79
|
+
});
|
|
59
80
|
export const PickersToolbar = /*#__PURE__*/React.forwardRef(function PickersToolbar(inProps, ref) {
|
|
60
81
|
const props = useThemeProps({
|
|
61
82
|
props: inProps,
|
|
@@ -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 = {
|
|
@@ -68,7 +68,7 @@ export interface UseFieldInternalProps<TValue, TDate extends PickerValidDate, TS
|
|
|
68
68
|
* Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
|
|
69
69
|
* This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.
|
|
70
70
|
*
|
|
71
|
-
* @default
|
|
71
|
+
* @default false
|
|
72
72
|
*/
|
|
73
73
|
shouldRespectLeadingZeros?: boolean;
|
|
74
74
|
/**
|
|
@@ -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
|
|
@@ -111,7 +112,8 @@ export const useFieldV6TextField = params => {
|
|
|
111
112
|
getActiveSectionIndexFromDOM: () => {
|
|
112
113
|
const browserStartIndex = inputRef.current.selectionStart ?? 0;
|
|
113
114
|
const browserEndIndex = inputRef.current.selectionEnd ?? 0;
|
|
114
|
-
|
|
115
|
+
const isInputReadOnly = !!inputRef.current?.readOnly;
|
|
116
|
+
if (browserStartIndex === 0 && browserEndIndex === 0 || isInputReadOnly) {
|
|
115
117
|
return null;
|
|
116
118
|
}
|
|
117
119
|
const nextSectionIndex = browserStartIndex <= sections[0].startInInput ? 1 // Special case if browser index is in invisible characters at the beginning.
|
|
@@ -275,7 +277,12 @@ export const useFieldV6TextField = params => {
|
|
|
275
277
|
sectionIndex: activeSectionIndex
|
|
276
278
|
});
|
|
277
279
|
});
|
|
278
|
-
const placeholder = React.useMemo(() =>
|
|
280
|
+
const placeholder = React.useMemo(() => {
|
|
281
|
+
if (inPlaceholder) {
|
|
282
|
+
return inPlaceholder;
|
|
283
|
+
}
|
|
284
|
+
return fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL);
|
|
285
|
+
}, [inPlaceholder, fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
|
|
279
286
|
const valueStr = React.useMemo(() => state.tempValueStrAndroid ?? fieldValueManager.getV6InputValueFromSections(state.sections, localizedDigits, isRTL), [state.sections, fieldValueManager, state.tempValueStrAndroid, localizedDigits, isRTL]);
|
|
280
287
|
React.useEffect(() => {
|
|
281
288
|
// Select all the sections when focused on mount (`autoFocus = true` on the input)
|
|
@@ -8,7 +8,7 @@ import { TimeViewWithMeridiem } from '../common';
|
|
|
8
8
|
export interface ExportedBaseClockProps<TDate extends PickerValidDate> extends TimeValidationProps<TDate>, BaseTimeValidationProps, TimezoneProps {
|
|
9
9
|
/**
|
|
10
10
|
* 12h/24h view for hour selection clock.
|
|
11
|
-
* @default
|
|
11
|
+
* @default utils.is12HourCycleInCurrentLocale()
|
|
12
12
|
*/
|
|
13
13
|
ampm?: boolean;
|
|
14
14
|
}
|
package/locales/faIR.js
CHANGED
|
@@ -59,16 +59,15 @@ const faIRPickers = {
|
|
|
59
59
|
fieldHoursPlaceholder: () => 'hh',
|
|
60
60
|
fieldMinutesPlaceholder: () => 'mm',
|
|
61
61
|
fieldSecondsPlaceholder: () => 'ss',
|
|
62
|
-
fieldMeridiemPlaceholder: () => 'aa'
|
|
63
|
-
|
|
62
|
+
fieldMeridiemPlaceholder: () => 'aa',
|
|
64
63
|
// View names
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
year: 'سال',
|
|
65
|
+
month: 'ماه',
|
|
66
|
+
day: 'روز',
|
|
68
67
|
// weekDay: 'Week day',
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
hours: 'ساعت ها',
|
|
69
|
+
minutes: 'دقیقه ها',
|
|
70
|
+
seconds: 'ثانیه ها'
|
|
72
71
|
// meridiem: 'Meridiem',
|
|
73
72
|
|
|
74
73
|
// Common
|