@mui/x-date-pickers 8.0.0-alpha.2 → 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 +376 -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/PickersActionBar/PickersActionBar.js +8 -1
- package/PickersLayout/PickersLayout.js +2 -2
- package/PickersLayout/PickersLayout.types.d.ts +4 -2
- package/PickersLayout/usePickerLayout.js +3 -3
- package/PickersShortcuts/PickersShortcuts.js +8 -1
- 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 +2 -15
- 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/useOpenState.d.ts +3 -2
- package/internals/hooks/useOpenState.js +10 -9
- 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 +17 -6
- package/internals/hooks/usePicker/usePickerProvider.js +14 -12
- package/internals/hooks/usePicker/usePickerValue.js +22 -11
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +26 -0
- 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/PickersActionBar/PickersActionBar.js +8 -1
- package/modern/PickersLayout/PickersLayout.js +2 -2
- package/modern/PickersLayout/usePickerLayout.js +3 -3
- package/modern/PickersShortcuts/PickersShortcuts.js +8 -1
- 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/useOpenState.js +10 -9
- package/modern/internals/hooks/usePicker/usePicker.js +3 -3
- package/modern/internals/hooks/usePicker/usePickerProvider.js +14 -12
- package/modern/internals/hooks/usePicker/usePickerValue.js +22 -11
- 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/PickersActionBar/PickersActionBar.js +8 -1
- package/node/PickersLayout/PickersLayout.js +2 -2
- package/node/PickersLayout/usePickerLayout.js +3 -3
- package/node/PickersShortcuts/PickersShortcuts.js +8 -1
- 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/useOpenState.js +10 -9
- package/node/internals/hooks/usePicker/usePicker.js +3 -3
- package/node/internals/hooks/usePicker/usePickerProvider.js +15 -13
- package/node/internals/hooks/usePicker/usePickerValue.js +22 -11
- 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
|
@@ -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
|
}));
|
|
@@ -16,11 +16,8 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
|
|
|
16
16
|
var _PickersToolbarText = require("./PickersToolbarText");
|
|
17
17
|
var _pickersToolbarClasses = require("./pickersToolbarClasses");
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
const _excluded = ["align", "className", "selected", "typographyClassName", "value", "variant", "width"];
|
|
20
|
-
const useUtilityClasses =
|
|
21
|
-
const {
|
|
22
|
-
classes
|
|
23
|
-
} = ownerState;
|
|
19
|
+
const _excluded = ["align", "className", "classes", "selected", "typographyClassName", "value", "variant", "width"];
|
|
20
|
+
const useUtilityClasses = classes => {
|
|
24
21
|
const slots = {
|
|
25
22
|
root: ['root']
|
|
26
23
|
};
|
|
@@ -43,6 +40,7 @@ const PickersToolbarButton = exports.PickersToolbarButton = /*#__PURE__*/React.f
|
|
|
43
40
|
const {
|
|
44
41
|
align,
|
|
45
42
|
className,
|
|
43
|
+
classes: classesProp,
|
|
46
44
|
selected,
|
|
47
45
|
typographyClassName,
|
|
48
46
|
value,
|
|
@@ -50,7 +48,7 @@ const PickersToolbarButton = exports.PickersToolbarButton = /*#__PURE__*/React.f
|
|
|
50
48
|
width
|
|
51
49
|
} = props,
|
|
52
50
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
53
|
-
const classes = useUtilityClasses(
|
|
51
|
+
const classes = useUtilityClasses(classesProp);
|
|
54
52
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersToolbarButtonRoot, (0, _extends2.default)({
|
|
55
53
|
variant: "text",
|
|
56
54
|
ref: ref,
|
|
@@ -15,29 +15,23 @@ var _styles = require("@mui/material/styles");
|
|
|
15
15
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
16
16
|
var _pickersToolbarTextClasses = require("./pickersToolbarTextClasses");
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
const _excluded = ["className", "selected", "value"];
|
|
19
|
-
const useUtilityClasses =
|
|
20
|
-
const {
|
|
21
|
-
classes,
|
|
22
|
-
selected
|
|
23
|
-
} = ownerState;
|
|
18
|
+
const _excluded = ["className", "classes", "selected", "value"];
|
|
19
|
+
const useUtilityClasses = classes => {
|
|
24
20
|
const slots = {
|
|
25
|
-
root: ['root'
|
|
21
|
+
root: ['root']
|
|
26
22
|
};
|
|
27
23
|
return (0, _composeClasses.default)(slots, _pickersToolbarTextClasses.getPickersToolbarTextUtilityClass, classes);
|
|
28
24
|
};
|
|
29
25
|
const PickersToolbarTextRoot = (0, _styles.styled)(_Typography.default, {
|
|
30
26
|
name: 'MuiPickersToolbarText',
|
|
31
27
|
slot: 'Root',
|
|
32
|
-
overridesResolver: (_, styles) => [styles.root
|
|
33
|
-
[`&.${_pickersToolbarTextClasses.pickersToolbarTextClasses.selected}`]: styles.selected
|
|
34
|
-
}]
|
|
28
|
+
overridesResolver: (_, styles) => [styles.root]
|
|
35
29
|
})(({
|
|
36
30
|
theme
|
|
37
31
|
}) => ({
|
|
38
32
|
transition: theme.transitions.create('color'),
|
|
39
33
|
color: (theme.vars || theme).palette.text.secondary,
|
|
40
|
-
[
|
|
34
|
+
[`&[data-selected]`]: {
|
|
41
35
|
color: (theme.vars || theme).palette.text.primary
|
|
42
36
|
}
|
|
43
37
|
}));
|
|
@@ -48,14 +42,18 @@ const PickersToolbarText = exports.PickersToolbarText = /*#__PURE__*/React.forwa
|
|
|
48
42
|
});
|
|
49
43
|
const {
|
|
50
44
|
className,
|
|
45
|
+
classes: classesProp,
|
|
46
|
+
selected,
|
|
51
47
|
value
|
|
52
48
|
} = props,
|
|
53
49
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
54
|
-
const classes = useUtilityClasses(
|
|
50
|
+
const classes = useUtilityClasses(classesProp);
|
|
55
51
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersToolbarTextRoot, (0, _extends2.default)({
|
|
56
52
|
ref: ref,
|
|
57
53
|
className: (0, _clsx.default)(classes.root, className),
|
|
58
54
|
component: "span"
|
|
55
|
+
}, selected && {
|
|
56
|
+
'data-selected': true
|
|
59
57
|
}, other, {
|
|
60
58
|
children: value
|
|
61
59
|
}));
|
|
@@ -12,7 +12,7 @@ const useOpenState = ({
|
|
|
12
12
|
onClose
|
|
13
13
|
}) => {
|
|
14
14
|
const isControllingOpenProp = React.useRef(typeof open === 'boolean').current;
|
|
15
|
-
const [openState,
|
|
15
|
+
const [openState, setOpenState] = React.useState(false);
|
|
16
16
|
|
|
17
17
|
// It is required to update inner state in useEffect in order to avoid situation when
|
|
18
18
|
// Our component is not mounted yet, but `open` state is set to `true` (for example initially opened)
|
|
@@ -21,23 +21,24 @@ const useOpenState = ({
|
|
|
21
21
|
if (typeof open !== 'boolean') {
|
|
22
22
|
throw new Error('You must not mix controlling and uncontrolled mode for `open` prop');
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
setOpenState(open);
|
|
25
25
|
}
|
|
26
26
|
}, [isControllingOpenProp, open]);
|
|
27
|
-
const
|
|
27
|
+
const setOpen = React.useCallback(action => {
|
|
28
|
+
const newOpen = typeof action === 'function' ? action(openState) : action;
|
|
28
29
|
if (!isControllingOpenProp) {
|
|
29
|
-
|
|
30
|
+
setOpenState(newOpen);
|
|
30
31
|
}
|
|
31
|
-
if (
|
|
32
|
+
if (newOpen && onOpen) {
|
|
32
33
|
onOpen();
|
|
33
34
|
}
|
|
34
|
-
if (!
|
|
35
|
+
if (!newOpen && onClose) {
|
|
35
36
|
onClose();
|
|
36
37
|
}
|
|
37
|
-
}, [isControllingOpenProp, onOpen, onClose]);
|
|
38
|
+
}, [isControllingOpenProp, onOpen, onClose, openState]);
|
|
38
39
|
return {
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
open: openState,
|
|
41
|
+
setOpen
|
|
41
42
|
};
|
|
42
43
|
};
|
|
43
44
|
exports.useOpenState = useOpenState;
|
|
@@ -44,11 +44,11 @@ const usePicker = ({
|
|
|
44
44
|
});
|
|
45
45
|
const providerProps = (0, _usePickerProvider.usePickerProvider)({
|
|
46
46
|
props,
|
|
47
|
-
pickerValueResponse,
|
|
48
47
|
localeText,
|
|
49
48
|
valueManager,
|
|
50
49
|
variant,
|
|
51
|
-
|
|
50
|
+
paramsFromUsePickerValue: pickerValueResponse.provider,
|
|
51
|
+
paramsFromUsePickerViews: pickerViewsResponse.provider
|
|
52
52
|
});
|
|
53
53
|
return {
|
|
54
54
|
// Picker value
|
|
@@ -57,7 +57,7 @@ const usePicker = ({
|
|
|
57
57
|
fieldProps: pickerValueResponse.fieldProps,
|
|
58
58
|
// Picker views
|
|
59
59
|
renderCurrentView: pickerViewsResponse.renderCurrentView,
|
|
60
|
-
hasUIView: pickerViewsResponse.hasUIView,
|
|
60
|
+
hasUIView: pickerViewsResponse.provider.hasUIView,
|
|
61
61
|
shouldRestoreFocus: pickerViewsResponse.shouldRestoreFocus,
|
|
62
62
|
// Picker layout
|
|
63
63
|
layoutProps: (0, _extends2.default)({}, pickerViewsResponse.layoutProps, pickerValueResponse.layoutProps),
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.usePickerOrientation = void 0;
|
|
9
9
|
exports.usePickerProvider = usePickerProvider;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
11
|
var React = _interopRequireWildcard(require("react"));
|
|
11
12
|
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
12
13
|
var _useUtils = require("../useUtils");
|
|
@@ -46,31 +47,28 @@ exports.usePickerOrientation = usePickerOrientation;
|
|
|
46
47
|
function usePickerProvider(parameters) {
|
|
47
48
|
const {
|
|
48
49
|
props,
|
|
49
|
-
pickerValueResponse,
|
|
50
50
|
valueManager,
|
|
51
51
|
localeText,
|
|
52
52
|
variant,
|
|
53
|
-
|
|
53
|
+
paramsFromUsePickerValue,
|
|
54
|
+
paramsFromUsePickerViews
|
|
54
55
|
} = parameters;
|
|
55
56
|
const utils = (0, _useUtils.useUtils)();
|
|
56
|
-
const orientation = usePickerOrientation(views, props.orientation);
|
|
57
|
+
const orientation = usePickerOrientation(paramsFromUsePickerViews.views, props.orientation);
|
|
57
58
|
const ownerState = React.useMemo(() => ({
|
|
58
|
-
isPickerValueEmpty: valueManager.areValuesEqual(utils,
|
|
59
|
-
isPickerOpen:
|
|
59
|
+
isPickerValueEmpty: valueManager.areValuesEqual(utils, paramsFromUsePickerValue.value, valueManager.emptyValue),
|
|
60
|
+
isPickerOpen: paramsFromUsePickerValue.contextValue.open,
|
|
60
61
|
isPickerDisabled: props.disabled ?? false,
|
|
61
62
|
isPickerReadOnly: props.readOnly ?? false,
|
|
62
63
|
pickerOrientation: orientation,
|
|
63
64
|
pickerVariant: variant
|
|
64
|
-
}), [utils, valueManager,
|
|
65
|
-
const contextValue = React.useMemo(() => ({
|
|
66
|
-
onOpen: pickerValueResponse.actions.onOpen,
|
|
67
|
-
onClose: pickerValueResponse.actions.onClose,
|
|
68
|
-
open: pickerValueResponse.open,
|
|
65
|
+
}), [utils, valueManager, paramsFromUsePickerValue.value, paramsFromUsePickerValue.contextValue.open, orientation, variant, props.disabled, props.readOnly]);
|
|
66
|
+
const contextValue = React.useMemo(() => (0, _extends2.default)({}, paramsFromUsePickerValue.contextValue, {
|
|
69
67
|
disabled: props.disabled ?? false,
|
|
70
68
|
readOnly: props.readOnly ?? false,
|
|
71
69
|
variant,
|
|
72
70
|
orientation
|
|
73
|
-
}), [
|
|
71
|
+
}), [paramsFromUsePickerValue.contextValue, variant, orientation, props.disabled, props.readOnly]);
|
|
74
72
|
const privateContextValue = React.useMemo(() => ({
|
|
75
73
|
ownerState
|
|
76
74
|
}), [ownerState]);
|
|
@@ -82,6 +80,10 @@ function usePickerProvider(parameters) {
|
|
|
82
80
|
}
|
|
83
81
|
|
|
84
82
|
/**
|
|
85
|
-
* Props used to create the
|
|
83
|
+
* Props used to create the picker's contexts.
|
|
86
84
|
* Those props are exposed on all the pickers.
|
|
85
|
+
*/
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Props used to create the picker's contexts and that are not available on static pickers.
|
|
87
89
|
*/
|