@mui/x-date-pickers 8.0.0-alpha.3 → 8.0.0-alpha.4
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 +274 -0
- package/DateField/useDateField.d.ts +1 -1
- package/DatePicker/DatePickerToolbar.js +8 -9
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimePicker/DateTimePickerToolbar.d.ts +6 -2
- package/DateTimePicker/DateTimePickerToolbar.js +53 -39
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
- package/DigitalClock/DigitalClock.js +13 -11
- package/DigitalClock/DigitalClock.types.d.ts +8 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -7
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +12 -10
- package/PickersLayout/PickersLayout.js +2 -2
- package/PickersLayout/PickersLayout.types.d.ts +4 -2
- package/PickersLayout/usePickerLayout.js +3 -3
- package/README.md +1 -1
- package/TimeClock/Clock.js +18 -21
- package/TimeClock/ClockNumber.js +15 -11
- package/TimeClock/ClockPointer.d.ts +6 -1
- package/TimeClock/ClockPointer.js +14 -10
- package/TimeClock/TimeClock.js +9 -8
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimePicker/TimePickerToolbar.js +14 -17
- package/hooks/useClearableField.d.ts +5 -3
- package/hooks/useClearableField.js +4 -2
- package/index.js +1 -1
- package/internals/components/PickerProvider.d.ts +1 -1
- package/internals/components/PickersPopper.d.ts +11 -7
- package/internals/components/PickersPopper.js +18 -20
- package/internals/components/PickersToolbar.js +15 -12
- package/internals/components/PickersToolbarButton.js +4 -6
- package/internals/components/PickersToolbarText.js +11 -13
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +3 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +3 -2
- package/internals/hooks/usePicker/usePicker.js +3 -3
- package/internals/hooks/usePicker/usePicker.types.d.ts +3 -2
- package/internals/hooks/usePicker/usePickerProvider.d.ts +15 -4
- package/internals/hooks/usePicker/usePickerProvider.js +8 -4
- package/internals/hooks/usePicker/usePickerViews.d.ts +5 -15
- package/internals/hooks/usePicker/usePickerViews.js +5 -6
- package/internals/hooks/useToolbarOwnerState.d.ts +10 -0
- package/internals/hooks/useToolbarOwnerState.js +13 -0
- package/internals/index.d.ts +5 -1
- package/internals/index.js +3 -1
- package/internals/models/common.d.ts +1 -1
- package/locales/roRO.js +15 -18
- package/modern/DatePicker/DatePickerToolbar.js +8 -9
- package/modern/DateTimePicker/DateTimePickerToolbar.js +53 -39
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
- package/modern/DigitalClock/DigitalClock.js +13 -11
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -7
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +12 -10
- package/modern/PickersLayout/PickersLayout.js +2 -2
- package/modern/PickersLayout/usePickerLayout.js +3 -3
- package/modern/TimeClock/Clock.js +18 -21
- package/modern/TimeClock/ClockNumber.js +15 -11
- package/modern/TimeClock/ClockPointer.js +14 -10
- package/modern/TimeClock/TimeClock.js +9 -8
- package/modern/TimePicker/TimePickerToolbar.js +14 -17
- package/modern/hooks/useClearableField.js +4 -2
- package/modern/index.js +1 -1
- package/modern/internals/components/PickersPopper.js +18 -20
- package/modern/internals/components/PickersToolbar.js +15 -12
- package/modern/internals/components/PickersToolbarButton.js +4 -6
- package/modern/internals/components/PickersToolbarText.js +11 -13
- package/modern/internals/hooks/usePicker/usePicker.js +3 -3
- package/modern/internals/hooks/usePicker/usePickerProvider.js +8 -4
- package/modern/internals/hooks/usePicker/usePickerViews.js +5 -6
- package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
- package/modern/internals/index.js +3 -1
- package/modern/locales/roRO.js +15 -18
- package/node/DatePicker/DatePickerToolbar.js +8 -9
- package/node/DateTimePicker/DateTimePickerToolbar.js +54 -39
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
- package/node/DigitalClock/DigitalClock.js +13 -11
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -7
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +12 -10
- package/node/PickersLayout/PickersLayout.js +2 -2
- package/node/PickersLayout/usePickerLayout.js +3 -3
- package/node/TimeClock/Clock.js +18 -21
- package/node/TimeClock/ClockNumber.js +15 -11
- package/node/TimeClock/ClockPointer.js +14 -10
- package/node/TimeClock/TimeClock.js +9 -8
- package/node/TimePicker/TimePickerToolbar.js +14 -17
- package/node/hooks/useClearableField.js +4 -2
- package/node/index.js +1 -1
- package/node/internals/components/PickersPopper.js +18 -20
- package/node/internals/components/PickersToolbar.js +15 -12
- package/node/internals/components/PickersToolbarButton.js +4 -6
- package/node/internals/components/PickersToolbarText.js +10 -12
- package/node/internals/hooks/usePicker/usePicker.js +3 -3
- package/node/internals/hooks/usePicker/usePickerProvider.js +8 -4
- package/node/internals/hooks/usePicker/usePickerViews.js +5 -6
- package/node/internals/hooks/useToolbarOwnerState.js +21 -0
- package/node/internals/index.js +15 -1
- package/node/locales/roRO.js +15 -18
- package/package.json +1 -1
|
@@ -18,12 +18,10 @@ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
|
18
18
|
var _multiSectionDigitalClockSectionClasses = require("./multiSectionDigitalClockSectionClasses");
|
|
19
19
|
var _dimensions = require("../internals/constants/dimensions");
|
|
20
20
|
var _utils = require("../internals/utils/utils");
|
|
21
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
21
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _excluded = ["autoFocus", "onChange", "className", "disabled", "readOnly", "items", "active", "slots", "slotProps", "skipDisabled"];
|
|
23
|
-
const useUtilityClasses =
|
|
24
|
-
const {
|
|
25
|
-
classes
|
|
26
|
-
} = ownerState;
|
|
23
|
+
const _excluded = ["autoFocus", "onChange", "className", "classes", "disabled", "readOnly", "items", "active", "slots", "slotProps", "skipDisabled"];
|
|
24
|
+
const useUtilityClasses = classes => {
|
|
27
25
|
const slots = {
|
|
28
26
|
root: ['root'],
|
|
29
27
|
item: ['item']
|
|
@@ -63,7 +61,7 @@ const MultiSectionDigitalClockSectionRoot = (0, _styles.styled)(_MenuList.defaul
|
|
|
63
61
|
},
|
|
64
62
|
variants: [{
|
|
65
63
|
props: {
|
|
66
|
-
|
|
64
|
+
hasDigitalClockAlreadyBeenRendered: true
|
|
67
65
|
},
|
|
68
66
|
style: {
|
|
69
67
|
'@media (prefers-reduced-motion: no-preference)': {
|
|
@@ -115,6 +113,7 @@ const MultiSectionDigitalClockSection = exports.MultiSectionDigitalClockSection
|
|
|
115
113
|
autoFocus,
|
|
116
114
|
onChange,
|
|
117
115
|
className,
|
|
116
|
+
classes: classesProp,
|
|
118
117
|
disabled,
|
|
119
118
|
readOnly,
|
|
120
119
|
items,
|
|
@@ -124,10 +123,13 @@ const MultiSectionDigitalClockSection = exports.MultiSectionDigitalClockSection
|
|
|
124
123
|
skipDisabled
|
|
125
124
|
} = props,
|
|
126
125
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
const
|
|
126
|
+
const {
|
|
127
|
+
ownerState: pickerOwnerState
|
|
128
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
129
|
+
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
130
|
+
hasDigitalClockAlreadyBeenRendered: !!containerRef.current
|
|
131
|
+
});
|
|
132
|
+
const classes = useUtilityClasses(classesProp);
|
|
131
133
|
const DigitalClockSectionItem = slots?.digitalClockSectionItem ?? MultiSectionDigitalClockSectionItem;
|
|
132
134
|
React.useEffect(() => {
|
|
133
135
|
if (containerRef.current === null) {
|
|
@@ -55,7 +55,7 @@ const PickersLayoutRoot = exports.PickersLayoutRoot = (0, _styles.styled)('div',
|
|
|
55
55
|
}, {
|
|
56
56
|
props: {
|
|
57
57
|
pickerOrientation: 'landscape',
|
|
58
|
-
|
|
58
|
+
layoutDirection: 'rtl'
|
|
59
59
|
},
|
|
60
60
|
style: {
|
|
61
61
|
[`& .${_pickersLayoutClasses.pickersLayoutClasses.toolbar}`]: {
|
|
@@ -79,7 +79,7 @@ const PickersLayoutRoot = exports.PickersLayoutRoot = (0, _styles.styled)('div',
|
|
|
79
79
|
}, {
|
|
80
80
|
props: {
|
|
81
81
|
pickerOrientation: 'portrait',
|
|
82
|
-
|
|
82
|
+
layoutDirection: 'rtl'
|
|
83
83
|
},
|
|
84
84
|
style: {
|
|
85
85
|
[`& .${_pickersLayoutClasses.pickersLayoutClasses.shortcuts}`]: {
|
|
@@ -66,9 +66,9 @@ const usePickerLayout = props => {
|
|
|
66
66
|
// - For pickers value: PickerValidDate | null
|
|
67
67
|
// - For range pickers value: [PickerValidDate | null, PickerValidDate | null]
|
|
68
68
|
} = props;
|
|
69
|
-
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
70
|
-
isRtl
|
|
71
|
-
});
|
|
69
|
+
const ownerState = React.useMemo(() => (0, _extends2.default)({}, pickerOwnerState, {
|
|
70
|
+
layoutDirection: isRtl ? 'rtl' : 'ltr'
|
|
71
|
+
}), [pickerOwnerState, isRtl]);
|
|
72
72
|
const classes = useUtilityClasses(classesProp, ownerState);
|
|
73
73
|
|
|
74
74
|
// Action bar
|
package/node/TimeClock/Clock.js
CHANGED
|
@@ -19,20 +19,17 @@ var _useUtils = require("../internals/hooks/useUtils");
|
|
|
19
19
|
var _shared = require("./shared");
|
|
20
20
|
var _clockClasses = require("./clockClasses");
|
|
21
21
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
22
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
22
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const useUtilityClasses = ownerState => {
|
|
24
|
-
const {
|
|
25
|
-
classes,
|
|
26
|
-
meridiemMode
|
|
27
|
-
} = ownerState;
|
|
24
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
28
25
|
const slots = {
|
|
29
26
|
root: ['root'],
|
|
30
27
|
clock: ['clock'],
|
|
31
28
|
wrapper: ['wrapper'],
|
|
32
29
|
squareMask: ['squareMask'],
|
|
33
30
|
pin: ['pin'],
|
|
34
|
-
amButton: ['amButton',
|
|
35
|
-
pmButton: ['pmButton',
|
|
31
|
+
amButton: ['amButton', ownerState.clockMeridiemMode === 'am' && 'selected'],
|
|
32
|
+
pmButton: ['pmButton', ownerState.clockMeridiemMode === 'pm' && 'selected'],
|
|
36
33
|
meridiemText: ['meridiemText']
|
|
37
34
|
};
|
|
38
35
|
return (0, _utils.unstable_composeClasses)(slots, _clockClasses.getClockUtilityClass, classes);
|
|
@@ -86,7 +83,7 @@ const ClockSquareMask = (0, _styles.styled)('div', {
|
|
|
86
83
|
userSelect: 'none',
|
|
87
84
|
variants: [{
|
|
88
85
|
props: {
|
|
89
|
-
|
|
86
|
+
isClockDisabled: false
|
|
90
87
|
},
|
|
91
88
|
style: {
|
|
92
89
|
'@media (pointer: fine)': {
|
|
@@ -190,13 +187,20 @@ function Clock(inProps) {
|
|
|
190
187
|
viewValue,
|
|
191
188
|
disabled = false,
|
|
192
189
|
readOnly,
|
|
193
|
-
className
|
|
190
|
+
className,
|
|
191
|
+
classes: classesProp
|
|
194
192
|
} = props;
|
|
195
|
-
const ownerState = props;
|
|
196
193
|
const utils = (0, _useUtils.useUtils)();
|
|
197
194
|
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
195
|
+
const {
|
|
196
|
+
ownerState: pickerOwnerState
|
|
197
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
198
|
+
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
199
|
+
isClockDisabled: disabled,
|
|
200
|
+
clockMeridiemMode: meridiemMode
|
|
201
|
+
});
|
|
198
202
|
const isMoving = React.useRef(false);
|
|
199
|
-
const classes = useUtilityClasses(ownerState);
|
|
203
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
200
204
|
const isSelectedTimeDisabled = isTimeDisabled(viewValue, type);
|
|
201
205
|
const isPointerInner = !ampm && type === 'hours' && (viewValue < 1 || viewValue > 12);
|
|
202
206
|
const handleValueChange = (newValue, isFinish) => {
|
|
@@ -244,12 +248,7 @@ function Clock(inProps) {
|
|
|
244
248
|
}
|
|
245
249
|
setTime(event.nativeEvent, 'finish');
|
|
246
250
|
};
|
|
247
|
-
const
|
|
248
|
-
if (type === 'hours') {
|
|
249
|
-
return true;
|
|
250
|
-
}
|
|
251
|
-
return viewValue % 5 === 0;
|
|
252
|
-
}, [type, viewValue]);
|
|
251
|
+
const isPointerBetweenTwoClockValues = type === 'hours' ? false : viewValue % 5 !== 0;
|
|
253
252
|
const keyboardControlStep = type === 'minutes' ? minutesStep : 1;
|
|
254
253
|
const listboxRef = React.useRef(null);
|
|
255
254
|
// Since this is rendered when a Popper is opened we can't use passive effects.
|
|
@@ -310,9 +309,7 @@ function Clock(inProps) {
|
|
|
310
309
|
onTouchEnd: handleTouchEnd,
|
|
311
310
|
onMouseUp: handleMouseUp,
|
|
312
311
|
onMouseMove: handleMouseMove,
|
|
313
|
-
ownerState:
|
|
314
|
-
disabled
|
|
315
|
-
},
|
|
312
|
+
ownerState: ownerState,
|
|
316
313
|
className: classes.squareMask
|
|
317
314
|
}), !isSelectedTimeDisabled && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
318
315
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ClockPin, {
|
|
@@ -321,7 +318,7 @@ function Clock(inProps) {
|
|
|
321
318
|
type: type,
|
|
322
319
|
viewValue: viewValue,
|
|
323
320
|
isInner: isPointerInner,
|
|
324
|
-
|
|
321
|
+
isBetweenTwoClockValues: isPointerBetweenTwoClockValues
|
|
325
322
|
})]
|
|
326
323
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(ClockWrapper, {
|
|
327
324
|
"aria-activedescendant": selectedId,
|
|
@@ -14,16 +14,12 @@ var _styles = require("@mui/material/styles");
|
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
15
|
var _shared = require("./shared");
|
|
16
16
|
var _clockNumberClasses = require("./clockNumberClasses");
|
|
17
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
const _excluded = ["className", "disabled", "index", "inner", "label", "selected"];
|
|
19
|
-
const useUtilityClasses = ownerState => {
|
|
20
|
-
const {
|
|
21
|
-
classes,
|
|
22
|
-
selected,
|
|
23
|
-
disabled
|
|
24
|
-
} = ownerState;
|
|
19
|
+
const _excluded = ["className", "classes", "disabled", "index", "inner", "label", "selected"];
|
|
20
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
25
21
|
const slots = {
|
|
26
|
-
root: ['root',
|
|
22
|
+
root: ['root', ownerState.isClockNumberSelected && 'selected', ownerState.isClockNumberDisabled && 'disabled']
|
|
27
23
|
};
|
|
28
24
|
return (0, _composeClasses.default)(slots, _clockNumberClasses.getClockNumberUtilityClass, classes);
|
|
29
25
|
};
|
|
@@ -60,7 +56,7 @@ const ClockNumberRoot = (0, _styles.styled)('span', {
|
|
|
60
56
|
},
|
|
61
57
|
variants: [{
|
|
62
58
|
props: {
|
|
63
|
-
|
|
59
|
+
isClockNumberInInnerRing: true
|
|
64
60
|
},
|
|
65
61
|
style: (0, _extends2.default)({}, theme.typography.body2, {
|
|
66
62
|
color: (theme.vars || theme).palette.text.secondary
|
|
@@ -78,6 +74,7 @@ function ClockNumber(inProps) {
|
|
|
78
74
|
});
|
|
79
75
|
const {
|
|
80
76
|
className,
|
|
77
|
+
classes: classesProp,
|
|
81
78
|
disabled,
|
|
82
79
|
index,
|
|
83
80
|
inner,
|
|
@@ -85,8 +82,15 @@ function ClockNumber(inProps) {
|
|
|
85
82
|
selected
|
|
86
83
|
} = props,
|
|
87
84
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
88
|
-
const
|
|
89
|
-
|
|
85
|
+
const {
|
|
86
|
+
ownerState: pickerOwnerState
|
|
87
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
88
|
+
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
89
|
+
isClockNumberInInnerRing: inner,
|
|
90
|
+
isClockNumberSelected: selected,
|
|
91
|
+
isClockNumberDisabled: disabled
|
|
92
|
+
});
|
|
93
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
90
94
|
const angle = index % 12 / 12 * Math.PI * 2 - Math.PI / 2;
|
|
91
95
|
const length = (_shared.CLOCK_WIDTH - _shared.CLOCK_HOUR_WIDTH - 2) / 2 * (inner ? 0.65 : 1);
|
|
92
96
|
const x = Math.round(Math.cos(angle) * length);
|
|
@@ -14,12 +14,10 @@ var _styles = require("@mui/material/styles");
|
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
15
|
var _shared = require("./shared");
|
|
16
16
|
var _clockPointerClasses = require("./clockPointerClasses");
|
|
17
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
const _excluded = ["className", "
|
|
19
|
-
const useUtilityClasses =
|
|
20
|
-
const {
|
|
21
|
-
classes
|
|
22
|
-
} = ownerState;
|
|
19
|
+
const _excluded = ["className", "classes", "isBetweenTwoClockValues", "isInner", "type", "viewValue"];
|
|
20
|
+
const useUtilityClasses = classes => {
|
|
23
21
|
const slots = {
|
|
24
22
|
root: ['root'],
|
|
25
23
|
thumb: ['thumb']
|
|
@@ -41,7 +39,7 @@ const ClockPointerRoot = (0, _styles.styled)('div', {
|
|
|
41
39
|
transformOrigin: 'center bottom 0px',
|
|
42
40
|
variants: [{
|
|
43
41
|
props: {
|
|
44
|
-
|
|
42
|
+
isClockPointerAnimated: true
|
|
45
43
|
},
|
|
46
44
|
style: {
|
|
47
45
|
transition: theme.transitions.create(['transform', 'height'])
|
|
@@ -66,7 +64,7 @@ const ClockPointerThumb = (0, _styles.styled)('div', {
|
|
|
66
64
|
boxSizing: 'content-box',
|
|
67
65
|
variants: [{
|
|
68
66
|
props: {
|
|
69
|
-
|
|
67
|
+
isBetweenTwoClockValues: false
|
|
70
68
|
},
|
|
71
69
|
style: {
|
|
72
70
|
backgroundColor: (theme.vars || theme).palette.primary.main
|
|
@@ -84,6 +82,8 @@ function ClockPointer(inProps) {
|
|
|
84
82
|
});
|
|
85
83
|
const {
|
|
86
84
|
className,
|
|
85
|
+
classes: classesProp,
|
|
86
|
+
isBetweenTwoClockValues,
|
|
87
87
|
isInner,
|
|
88
88
|
type,
|
|
89
89
|
viewValue
|
|
@@ -93,10 +93,14 @@ function ClockPointer(inProps) {
|
|
|
93
93
|
React.useEffect(() => {
|
|
94
94
|
previousType.current = type;
|
|
95
95
|
}, [type]);
|
|
96
|
-
const
|
|
97
|
-
|
|
96
|
+
const {
|
|
97
|
+
ownerState: pickerOwnerState
|
|
98
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
99
|
+
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
100
|
+
isClockPointerAnimated: previousType.current !== type,
|
|
101
|
+
isClockPointerBetweenTwoValues: isBetweenTwoClockValues
|
|
98
102
|
});
|
|
99
|
-
const classes = useUtilityClasses(
|
|
103
|
+
const classes = useUtilityClasses(classesProp);
|
|
100
104
|
const getAngleStyle = () => {
|
|
101
105
|
const max = type === 'hours' ? 12 : 60;
|
|
102
106
|
let angle = 360 / max * viewValue;
|
|
@@ -27,12 +27,10 @@ var _ClockNumbers = require("./ClockNumbers");
|
|
|
27
27
|
var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
|
|
28
28
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
29
29
|
var _useClockReferenceDate = require("../internals/hooks/useClockReferenceDate");
|
|
30
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
30
31
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
|
-
const _excluded = ["ampm", "ampmInClock", "autoFocus", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableTime", "showViewSwitcher", "onChange", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "timezone"];
|
|
32
|
-
const useUtilityClasses =
|
|
33
|
-
const {
|
|
34
|
-
classes
|
|
35
|
-
} = ownerState;
|
|
32
|
+
const _excluded = ["ampm", "ampmInClock", "autoFocus", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableTime", "showViewSwitcher", "onChange", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "classes", "disabled", "readOnly", "timezone"];
|
|
33
|
+
const useUtilityClasses = classes => {
|
|
36
34
|
const slots = {
|
|
37
35
|
root: ['root'],
|
|
38
36
|
arrowSwitcher: ['arrowSwitcher']
|
|
@@ -100,6 +98,7 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
100
98
|
focusedView,
|
|
101
99
|
onFocusedViewChange,
|
|
102
100
|
className,
|
|
101
|
+
classes: classesProp,
|
|
103
102
|
disabled,
|
|
104
103
|
readOnly,
|
|
105
104
|
timezone: timezoneProp
|
|
@@ -127,6 +126,10 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
127
126
|
});
|
|
128
127
|
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
129
128
|
const now = (0, _useUtils.useNow)(timezone);
|
|
129
|
+
const selectedId = (0, _utils.unstable_useId)();
|
|
130
|
+
const {
|
|
131
|
+
ownerState
|
|
132
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
130
133
|
const {
|
|
131
134
|
view,
|
|
132
135
|
setView,
|
|
@@ -221,7 +224,6 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
221
224
|
throw new Error('not supported');
|
|
222
225
|
}
|
|
223
226
|
}, [ampm, valueOrReferenceDate, disableIgnoringDatePartForTimeValidation, maxTime, meridiemMode, minTime, minutesStep, shouldDisableTime, utils, disableFuture, disablePast, now, views]);
|
|
224
|
-
const selectedId = (0, _utils.unstable_useId)();
|
|
225
227
|
const viewProps = React.useMemo(() => {
|
|
226
228
|
switch (view) {
|
|
227
229
|
case 'hours':
|
|
@@ -286,8 +288,7 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
286
288
|
throw new Error('You must provide the type for ClockView');
|
|
287
289
|
}
|
|
288
290
|
}, [view, utils, value, ampm, translations.hoursClockNumberText, translations.minutesClockNumberText, translations.secondsClockNumberText, meridiemMode, setValueAndGoToNextView, valueOrReferenceDate, isTimeDisabled, selectedId, disabled]);
|
|
289
|
-
const
|
|
290
|
-
const classes = useUtilityClasses(ownerState);
|
|
291
|
+
const classes = useUtilityClasses(classesProp);
|
|
291
292
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimeClockRoot, (0, _extends2.default)({
|
|
292
293
|
ref: ref,
|
|
293
294
|
className: (0, _clsx.default)(classes.root, className),
|
|
@@ -12,7 +12,6 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
-
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
16
15
|
var _styles = require("@mui/material/styles");
|
|
17
16
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
18
17
|
var _PickersToolbarText = require("../internals/components/PickersToolbarText");
|
|
@@ -25,19 +24,19 @@ var _dateHelpersHooks = require("../internals/hooks/date-helpers-hooks");
|
|
|
25
24
|
var _timePickerToolbarClasses = require("./timePickerToolbarClasses");
|
|
26
25
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
27
26
|
var _hooks = require("../hooks");
|
|
27
|
+
var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
|
|
28
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
-
const _excluded = ["ampm", "ampmInClock", "value", "isLandscape", "onChange", "view", "onViewChange", "views", "className"];
|
|
30
|
-
const useUtilityClasses = ownerState => {
|
|
29
|
+
const _excluded = ["ampm", "ampmInClock", "value", "isLandscape", "onChange", "view", "onViewChange", "views", "className", "classes"];
|
|
30
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
31
31
|
const {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
isRtl
|
|
32
|
+
pickerOrientation,
|
|
33
|
+
toolbarDirection
|
|
35
34
|
} = ownerState;
|
|
36
35
|
const slots = {
|
|
37
36
|
root: ['root'],
|
|
38
37
|
separator: ['separator'],
|
|
39
|
-
hourMinuteLabel: ['hourMinuteLabel',
|
|
40
|
-
ampmSelection: ['ampmSelection',
|
|
38
|
+
hourMinuteLabel: ['hourMinuteLabel', pickerOrientation === 'landscape' && 'hourMinuteLabelLandscape', toolbarDirection === 'rtl' && 'hourMinuteLabelReverse'],
|
|
39
|
+
ampmSelection: ['ampmSelection', pickerOrientation === 'landscape' && 'ampmLandscape'],
|
|
41
40
|
ampmLabel: ['ampmLabel']
|
|
42
41
|
};
|
|
43
42
|
return (0, _composeClasses.default)(slots, _timePickerToolbarClasses.getTimePickerToolbarUtilityClass, classes);
|
|
@@ -69,14 +68,14 @@ const TimePickerToolbarHourMinuteLabel = (0, _styles.styled)('div', {
|
|
|
69
68
|
alignItems: 'flex-end',
|
|
70
69
|
variants: [{
|
|
71
70
|
props: {
|
|
72
|
-
|
|
71
|
+
toolbarDirection: 'rtl'
|
|
73
72
|
},
|
|
74
73
|
style: {
|
|
75
74
|
flexDirection: 'row-reverse'
|
|
76
75
|
}
|
|
77
76
|
}, {
|
|
78
77
|
props: {
|
|
79
|
-
|
|
78
|
+
pickerOrientation: 'landscape'
|
|
80
79
|
},
|
|
81
80
|
style: {
|
|
82
81
|
marginTop: 'auto'
|
|
@@ -101,7 +100,7 @@ const TimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
|
|
|
101
100
|
},
|
|
102
101
|
variants: [{
|
|
103
102
|
props: {
|
|
104
|
-
|
|
103
|
+
pickerOrientation: 'landscape'
|
|
105
104
|
},
|
|
106
105
|
style: {
|
|
107
106
|
margin: '4px 0 auto',
|
|
@@ -136,12 +135,14 @@ function TimePickerToolbar(inProps) {
|
|
|
136
135
|
view,
|
|
137
136
|
onViewChange,
|
|
138
137
|
views,
|
|
139
|
-
className
|
|
138
|
+
className,
|
|
139
|
+
classes: classesProp
|
|
140
140
|
} = props,
|
|
141
141
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
142
142
|
const utils = (0, _useUtils.useUtils)();
|
|
143
143
|
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
144
|
-
const
|
|
144
|
+
const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
|
|
145
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
145
146
|
const {
|
|
146
147
|
disabled,
|
|
147
148
|
readOnly
|
|
@@ -152,10 +153,6 @@ function TimePickerToolbar(inProps) {
|
|
|
152
153
|
handleMeridiemChange
|
|
153
154
|
} = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, onChange);
|
|
154
155
|
const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
|
|
155
|
-
const ownerState = (0, _extends2.default)({}, props, {
|
|
156
|
-
isRtl
|
|
157
|
-
});
|
|
158
|
-
const classes = useUtilityClasses(ownerState);
|
|
159
156
|
const separator = /*#__PURE__*/(0, _jsxRuntime.jsx)(TimePickerToolbarSeparator, {
|
|
160
157
|
tabIndex: -1,
|
|
161
158
|
value: ":",
|
|
@@ -15,11 +15,13 @@ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
|
15
15
|
var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
|
|
16
16
|
var _icons = require("../icons");
|
|
17
17
|
var _usePickerTranslations = require("./usePickerTranslations");
|
|
18
|
+
var _useFieldOwnerState = require("../internals/hooks/useFieldOwnerState");
|
|
18
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
20
|
const _excluded = ["clearable", "onClear", "InputProps", "sx", "slots", "slotProps"],
|
|
20
21
|
_excluded2 = ["ownerState"];
|
|
21
22
|
const useClearableField = props => {
|
|
22
23
|
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
24
|
+
const ownerState = (0, _useFieldOwnerState.useFieldOwnerState)(props);
|
|
23
25
|
const {
|
|
24
26
|
clearable,
|
|
25
27
|
onClear,
|
|
@@ -34,7 +36,7 @@ const useClearableField = props => {
|
|
|
34
36
|
const _useSlotProps = (0, _useSlotProps2.default)({
|
|
35
37
|
elementType: IconButton,
|
|
36
38
|
externalSlotProps: slotProps?.clearButton,
|
|
37
|
-
ownerState
|
|
39
|
+
ownerState,
|
|
38
40
|
className: 'clearButton',
|
|
39
41
|
additionalProps: {
|
|
40
42
|
title: translations.fieldClearLabel,
|
|
@@ -46,7 +48,7 @@ const useClearableField = props => {
|
|
|
46
48
|
const endClearIconProps = (0, _useSlotProps2.default)({
|
|
47
49
|
elementType: EndClearIcon,
|
|
48
50
|
externalSlotProps: slotProps?.clearIcon,
|
|
49
|
-
ownerState
|
|
51
|
+
ownerState
|
|
50
52
|
});
|
|
51
53
|
return (0, _extends2.default)({}, other, {
|
|
52
54
|
InputProps: (0, _extends2.default)({}, InputProps, {
|
package/node/index.js
CHANGED
|
@@ -20,12 +20,10 @@ var _styles = require("@mui/material/styles");
|
|
|
20
20
|
var _pickersPopperClasses = require("./pickersPopperClasses");
|
|
21
21
|
var _utils2 = require("../utils/utils");
|
|
22
22
|
var _useDefaultReduceAnimations = require("../hooks/useDefaultReduceAnimations");
|
|
23
|
+
var _usePickerPrivateContext = require("../hooks/usePickerPrivateContext");
|
|
23
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
-
const _excluded = ["PaperComponent", "
|
|
25
|
-
const useUtilityClasses =
|
|
26
|
-
const {
|
|
27
|
-
classes
|
|
28
|
-
} = ownerState;
|
|
25
|
+
const _excluded = ["PaperComponent", "ownerState", "children", "paperSlotProps", "paperClasses", "onPaperClick", "onPaperTouchStart"];
|
|
26
|
+
const useUtilityClasses = classes => {
|
|
29
27
|
const slots = {
|
|
30
28
|
root: ['root'],
|
|
31
29
|
paper: ['paper']
|
|
@@ -50,8 +48,8 @@ const PickersPopperPaper = (0, _styles.styled)(_Paper.default, {
|
|
|
50
48
|
transformOrigin: 'top center',
|
|
51
49
|
variants: [{
|
|
52
50
|
props: ({
|
|
53
|
-
|
|
54
|
-
}) => ['top', 'top-start', 'top-end'].includes(
|
|
51
|
+
popperPlacement
|
|
52
|
+
}) => ['top', 'top-start', 'top-end'].includes(popperPlacement),
|
|
55
53
|
style: {
|
|
56
54
|
transformOrigin: 'bottom center'
|
|
57
55
|
}
|
|
@@ -175,8 +173,7 @@ function useClickAwayListener(active, onClickAway) {
|
|
|
175
173
|
const PickersPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
176
174
|
const {
|
|
177
175
|
PaperComponent,
|
|
178
|
-
|
|
179
|
-
ownerState: inOwnerState,
|
|
176
|
+
ownerState,
|
|
180
177
|
children,
|
|
181
178
|
paperSlotProps,
|
|
182
179
|
paperClasses,
|
|
@@ -186,9 +183,6 @@ const PickersPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) =>
|
|
|
186
183
|
// https://mui.com/material-ui/transitions/#child-requirement
|
|
187
184
|
} = props,
|
|
188
185
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
189
|
-
const ownerState = (0, _extends2.default)({}, inOwnerState, {
|
|
190
|
-
placement: popperPlacement
|
|
191
|
-
});
|
|
192
186
|
const paperProps = (0, _useSlotProps.default)({
|
|
193
187
|
elementType: PaperComponent,
|
|
194
188
|
externalSlotProps: paperSlotProps,
|
|
@@ -227,10 +221,11 @@ function PickersPopper(inProps) {
|
|
|
227
221
|
onDismiss,
|
|
228
222
|
open,
|
|
229
223
|
role,
|
|
230
|
-
placement,
|
|
224
|
+
placement = 'bottom',
|
|
231
225
|
slots,
|
|
232
226
|
slotProps,
|
|
233
|
-
reduceAnimations: inReduceAnimations
|
|
227
|
+
reduceAnimations: inReduceAnimations,
|
|
228
|
+
classes: classesProp
|
|
234
229
|
} = props;
|
|
235
230
|
React.useEffect(() => {
|
|
236
231
|
function handleKeyDown(nativeEvent) {
|
|
@@ -264,10 +259,15 @@ function PickersPopper(inProps) {
|
|
|
264
259
|
const paperRef = React.useRef(null);
|
|
265
260
|
const handleRef = (0, _utils.unstable_useForkRef)(paperRef, containerRef);
|
|
266
261
|
const handlePaperRef = (0, _utils.unstable_useForkRef)(handleRef, clickAwayRef);
|
|
267
|
-
const
|
|
268
|
-
const classes = useUtilityClasses(ownerState);
|
|
262
|
+
const classes = useUtilityClasses(classesProp);
|
|
269
263
|
const defaultReduceAnimations = (0, _useDefaultReduceAnimations.useDefaultReduceAnimations)();
|
|
270
264
|
const reduceAnimations = inReduceAnimations ?? defaultReduceAnimations;
|
|
265
|
+
const {
|
|
266
|
+
ownerState: pickerOwnerState
|
|
267
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
268
|
+
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
269
|
+
popperPlacement: placement
|
|
270
|
+
});
|
|
271
271
|
const handleKeyDown = event => {
|
|
272
272
|
if (event.key === 'Escape') {
|
|
273
273
|
// stop the propagation to avoid closing parent modal
|
|
@@ -291,12 +291,11 @@ function PickersPopper(inProps) {
|
|
|
291
291
|
onKeyDown: handleKeyDown
|
|
292
292
|
},
|
|
293
293
|
className: classes.root,
|
|
294
|
-
ownerState
|
|
294
|
+
ownerState
|
|
295
295
|
});
|
|
296
296
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Popper, (0, _extends2.default)({}, popperProps, {
|
|
297
297
|
children: ({
|
|
298
|
-
TransitionProps
|
|
299
|
-
placement: popperPlacement
|
|
298
|
+
TransitionProps
|
|
300
299
|
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(FocusTrap, (0, _extends2.default)({
|
|
301
300
|
open: open,
|
|
302
301
|
disableAutoFocus: true
|
|
@@ -312,7 +311,6 @@ function PickersPopper(inProps) {
|
|
|
312
311
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersPopperPaperWrapper, {
|
|
313
312
|
PaperComponent: Paper,
|
|
314
313
|
ownerState: ownerState,
|
|
315
|
-
popperPlacement: popperPlacement,
|
|
316
314
|
ref: handlePaperRef,
|
|
317
315
|
onPaperClick: onPaperClick,
|
|
318
316
|
onPaperTouchStart: onPaperTouchStart,
|
|
@@ -13,13 +13,12 @@ var _clsx = _interopRequireDefault(require("clsx"));
|
|
|
13
13
|
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
14
14
|
var _styles = require("@mui/material/styles");
|
|
15
15
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
16
|
+
var _createStyled = require("@mui/system/createStyled");
|
|
16
17
|
var _pickersToolbarClasses = require("./pickersToolbarClasses");
|
|
18
|
+
var _useToolbarOwnerState = require("../hooks/useToolbarOwnerState");
|
|
17
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
const _excluded = ["children", "className", "toolbarTitle", "hidden", "titleId", "isLandscape", "classes", "landscapeDirection"];
|
|
19
|
-
const useUtilityClasses =
|
|
20
|
-
const {
|
|
21
|
-
classes
|
|
22
|
-
} = ownerState;
|
|
20
|
+
const _excluded = ["children", "className", "classes", "toolbarTitle", "hidden", "titleId", "isLandscape", "classes", "landscapeDirection"];
|
|
21
|
+
const useUtilityClasses = classes => {
|
|
23
22
|
const slots = {
|
|
24
23
|
root: ['root'],
|
|
25
24
|
content: ['content']
|
|
@@ -40,7 +39,7 @@ const PickersToolbarRoot = (0, _styles.styled)('div', {
|
|
|
40
39
|
padding: theme.spacing(2, 3),
|
|
41
40
|
variants: [{
|
|
42
41
|
props: {
|
|
43
|
-
|
|
42
|
+
pickerOrientation: 'landscape'
|
|
44
43
|
},
|
|
45
44
|
style: {
|
|
46
45
|
height: 'auto',
|
|
@@ -54,7 +53,8 @@ const PickersToolbarRoot = (0, _styles.styled)('div', {
|
|
|
54
53
|
const PickersToolbarContent = (0, _styles.styled)('div', {
|
|
55
54
|
name: 'MuiPickersToolbar',
|
|
56
55
|
slot: 'Content',
|
|
57
|
-
overridesResolver: (props, styles) => styles.content
|
|
56
|
+
overridesResolver: (props, styles) => styles.content,
|
|
57
|
+
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'landscapeDirection'
|
|
58
58
|
})({
|
|
59
59
|
display: 'flex',
|
|
60
60
|
flexWrap: 'wrap',
|
|
@@ -65,7 +65,7 @@ const PickersToolbarContent = (0, _styles.styled)('div', {
|
|
|
65
65
|
flexDirection: 'row',
|
|
66
66
|
variants: [{
|
|
67
67
|
props: {
|
|
68
|
-
|
|
68
|
+
pickerOrientation: 'landscape'
|
|
69
69
|
},
|
|
70
70
|
style: {
|
|
71
71
|
justifyContent: 'flex-start',
|
|
@@ -74,7 +74,7 @@ const PickersToolbarContent = (0, _styles.styled)('div', {
|
|
|
74
74
|
}
|
|
75
75
|
}, {
|
|
76
76
|
props: {
|
|
77
|
-
|
|
77
|
+
pickerOrientation: 'landscape',
|
|
78
78
|
landscapeDirection: 'row'
|
|
79
79
|
},
|
|
80
80
|
style: {
|
|
@@ -90,13 +90,15 @@ const PickersToolbar = exports.PickersToolbar = /*#__PURE__*/React.forwardRef(fu
|
|
|
90
90
|
const {
|
|
91
91
|
children,
|
|
92
92
|
className,
|
|
93
|
+
classes: classesProp,
|
|
93
94
|
toolbarTitle,
|
|
94
95
|
hidden,
|
|
95
|
-
titleId
|
|
96
|
+
titleId,
|
|
97
|
+
landscapeDirection
|
|
96
98
|
} = props,
|
|
97
99
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
98
|
-
const ownerState =
|
|
99
|
-
const classes = useUtilityClasses(
|
|
100
|
+
const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
|
|
101
|
+
const classes = useUtilityClasses(classesProp);
|
|
100
102
|
if (hidden) {
|
|
101
103
|
return null;
|
|
102
104
|
}
|
|
@@ -113,6 +115,7 @@ const PickersToolbar = exports.PickersToolbar = /*#__PURE__*/React.forwardRef(fu
|
|
|
113
115
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersToolbarContent, {
|
|
114
116
|
className: classes.content,
|
|
115
117
|
ownerState: ownerState,
|
|
118
|
+
landscapeDirection: landscapeDirection,
|
|
116
119
|
children: children
|
|
117
120
|
})]
|
|
118
121
|
}));
|