@mui/x-date-pickers-pro 8.0.0-alpha.5 → 8.0.0-alpha.6
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 +79 -0
- package/DateRangePicker/DateRangePickerToolbar.d.ts +1 -1
- package/DateRangePicker/DateRangePickerToolbar.js +2 -16
- package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +2 -2
- package/DateTimeRangePicker/DateTimeRangePickerTabs.js +18 -18
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -3
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +49 -50
- package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +2 -2
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +2 -3
- package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +2 -2
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +2 -3
- package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +2 -2
- package/index.js +1 -1
- package/internals/hooks/models/useRangePicker.d.ts +2 -2
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +13 -14
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +4 -4
- package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +2 -2
- package/internals/hooks/useEnrichedRangePickerFieldProps.js +8 -5
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +5 -7
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +4 -4
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +4 -4
- package/internals/utils/releaseInfo.js +1 -1
- package/modern/DateRangePicker/DateRangePickerToolbar.js +2 -16
- package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +18 -18
- package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +49 -50
- package/modern/index.js +1 -1
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +13 -14
- package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +8 -5
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +5 -7
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/node/DateRangePicker/DateRangePickerToolbar.js +2 -16
- package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +17 -17
- package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +48 -49
- package/node/index.js +1 -1
- package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +13 -14
- package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +8 -5
- package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +5 -7
- package/node/internals/utils/releaseInfo.js +1 -1
- package/package.json +4 -4
|
@@ -19,7 +19,7 @@ var _internals = require("@mui/x-date-pickers/internals");
|
|
|
19
19
|
var _hooks = require("@mui/x-date-pickers/hooks");
|
|
20
20
|
var _dateRangePickerToolbarClasses = require("./dateRangePickerToolbarClasses");
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _excluded = ["value", "rangePosition", "onRangePositionChange", "toolbarFormat", "className", "classes"
|
|
22
|
+
const _excluded = ["value", "rangePosition", "onRangePositionChange", "toolbarFormat", "className", "classes"];
|
|
23
23
|
const useUtilityClasses = classes => {
|
|
24
24
|
const slots = {
|
|
25
25
|
root: ['root'],
|
|
@@ -110,12 +110,6 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
|
|
|
110
110
|
*/
|
|
111
111
|
hidden: _propTypes.default.bool,
|
|
112
112
|
onRangePositionChange: _propTypes.default.func.isRequired,
|
|
113
|
-
/**
|
|
114
|
-
* Callback called when a toolbar is clicked
|
|
115
|
-
* @template TView
|
|
116
|
-
* @param {TView} view The view to open
|
|
117
|
-
*/
|
|
118
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
119
113
|
rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
|
|
120
114
|
/**
|
|
121
115
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
@@ -131,13 +125,5 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
|
|
|
131
125
|
* @default "––"
|
|
132
126
|
*/
|
|
133
127
|
toolbarPlaceholder: _propTypes.default.node,
|
|
134
|
-
value: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
|
|
135
|
-
/**
|
|
136
|
-
* Currently visible picker view.
|
|
137
|
-
*/
|
|
138
|
-
view: _propTypes.default.oneOf(['day']).isRequired,
|
|
139
|
-
/**
|
|
140
|
-
* Available views.
|
|
141
|
-
*/
|
|
142
|
-
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day'])).isRequired
|
|
128
|
+
value: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
|
|
143
129
|
} : void 0;
|
|
@@ -76,9 +76,7 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
76
76
|
});
|
|
77
77
|
const {
|
|
78
78
|
dateIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.DateRangeIcon, {}),
|
|
79
|
-
onViewChange,
|
|
80
79
|
timeIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.TimeIcon, {}),
|
|
81
|
-
view,
|
|
82
80
|
hidden = typeof window === 'undefined' || window.innerHeight < 667,
|
|
83
81
|
rangePosition,
|
|
84
82
|
onRangePositionChange,
|
|
@@ -90,8 +88,12 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
90
88
|
const {
|
|
91
89
|
ownerState
|
|
92
90
|
} = (0, _internals.usePickerPrivateContext)();
|
|
91
|
+
const {
|
|
92
|
+
view,
|
|
93
|
+
onViewChange
|
|
94
|
+
} = (0, _hooks.usePickerContext)();
|
|
93
95
|
const classes = useUtilityClasses(classesProp);
|
|
94
|
-
const value = React.useMemo(() => viewToTab(view, rangePosition), [view, rangePosition]);
|
|
96
|
+
const value = React.useMemo(() => view == null ? null : viewToTab(view, rangePosition), [view, rangePosition]);
|
|
95
97
|
const isPreviousHidden = value === 'start-date';
|
|
96
98
|
const isNextHidden = value === 'end-time';
|
|
97
99
|
const tabLabel = React.useMemo(() => {
|
|
@@ -116,18 +118,26 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
116
118
|
}
|
|
117
119
|
});
|
|
118
120
|
const changeToPreviousTab = (0, _useEventCallback.default)(() => {
|
|
119
|
-
const previousTab = tabOptions[tabOptions.indexOf(value) - 1];
|
|
121
|
+
const previousTab = value == null ? tabOptions[0] : tabOptions[tabOptions.indexOf(value) - 1];
|
|
120
122
|
onViewChange(tabToView(previousTab));
|
|
121
123
|
handleRangePositionChange(previousTab);
|
|
122
124
|
});
|
|
123
125
|
const changeToNextTab = (0, _useEventCallback.default)(() => {
|
|
124
|
-
const nextTab = tabOptions[tabOptions.indexOf(value) + 1];
|
|
126
|
+
const nextTab = value == null ? tabOptions[0] : tabOptions[tabOptions.indexOf(value) + 1];
|
|
125
127
|
onViewChange(tabToView(nextTab));
|
|
126
128
|
handleRangePositionChange(nextTab);
|
|
127
129
|
});
|
|
128
130
|
if (hidden) {
|
|
129
131
|
return null;
|
|
130
132
|
}
|
|
133
|
+
let startIcon;
|
|
134
|
+
if (view == null) {
|
|
135
|
+
startIcon = null;
|
|
136
|
+
} else if ((0, _internals.isDatePickerView)(view)) {
|
|
137
|
+
startIcon = dateIcon;
|
|
138
|
+
} else {
|
|
139
|
+
startIcon = timeIcon;
|
|
140
|
+
}
|
|
131
141
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimeRangePickerTabsRoot, {
|
|
132
142
|
ownerState: ownerState,
|
|
133
143
|
className: (0, _clsx.default)(classes.root, className),
|
|
@@ -140,7 +150,7 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
140
150
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerTabFiller, {
|
|
141
151
|
className: classes.filler
|
|
142
152
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerTab, {
|
|
143
|
-
startIcon:
|
|
153
|
+
startIcon: startIcon,
|
|
144
154
|
className: classes.tabButton,
|
|
145
155
|
size: "large",
|
|
146
156
|
children: tabLabel
|
|
@@ -175,12 +185,6 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerTabs.propTypes = {
|
|
|
175
185
|
*/
|
|
176
186
|
hidden: _propTypes.default.bool,
|
|
177
187
|
onRangePositionChange: _propTypes.default.func.isRequired,
|
|
178
|
-
/**
|
|
179
|
-
* Callback called when a tab is clicked.
|
|
180
|
-
* @template TView
|
|
181
|
-
* @param {TView} view The view to open
|
|
182
|
-
*/
|
|
183
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
184
188
|
rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
|
|
185
189
|
/**
|
|
186
190
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
@@ -190,9 +194,5 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerTabs.propTypes = {
|
|
|
190
194
|
* Time tab icon.
|
|
191
195
|
* @default TimeIcon
|
|
192
196
|
*/
|
|
193
|
-
timeIcon: _propTypes.default.element
|
|
194
|
-
/**
|
|
195
|
-
* Currently visible picker view.
|
|
196
|
-
*/
|
|
197
|
-
view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired
|
|
197
|
+
timeIcon: _propTypes.default.element
|
|
198
198
|
} : void 0;
|
|
@@ -20,7 +20,7 @@ var _DateTimePicker = require("@mui/x-date-pickers/DateTimePicker");
|
|
|
20
20
|
var _dateTimeRangePickerToolbarClasses = require("./dateTimeRangePickerToolbarClasses");
|
|
21
21
|
var _dateRangeManager = require("../internals/utils/date-range-manager");
|
|
22
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const _excluded = ["value", "rangePosition", "onRangePositionChange", "className", "classes", "
|
|
23
|
+
const _excluded = ["value", "rangePosition", "onRangePositionChange", "className", "classes", "onChange", "classes", "isLandscape", "ampm", "hidden", "toolbarFormat", "toolbarPlaceholder", "titleId", "sx"];
|
|
24
24
|
const useUtilityClasses = classes => {
|
|
25
25
|
const slots = {
|
|
26
26
|
root: ['root'],
|
|
@@ -62,11 +62,8 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
62
62
|
onRangePositionChange,
|
|
63
63
|
className,
|
|
64
64
|
classes: classesProp,
|
|
65
|
-
onViewChange,
|
|
66
65
|
onChange,
|
|
67
|
-
view,
|
|
68
66
|
isLandscape,
|
|
69
|
-
views,
|
|
70
67
|
ampm,
|
|
71
68
|
hidden,
|
|
72
69
|
toolbarFormat,
|
|
@@ -77,7 +74,10 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
77
74
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
78
75
|
const {
|
|
79
76
|
disabled,
|
|
80
|
-
readOnly
|
|
77
|
+
readOnly,
|
|
78
|
+
view,
|
|
79
|
+
onViewChange,
|
|
80
|
+
views
|
|
81
81
|
} = (0, _hooks.usePickerContext)();
|
|
82
82
|
const translations = (0, _hooks.usePickerTranslations)();
|
|
83
83
|
const ownerState = (0, _internals.useToolbarOwnerState)();
|
|
@@ -92,24 +92,6 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
92
92
|
toolbarFormat,
|
|
93
93
|
toolbarPlaceholder
|
|
94
94
|
};
|
|
95
|
-
const handleStartRangeViewChange = React.useCallback(newView => {
|
|
96
|
-
if (newView === 'year' || newView === 'month') {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
if (rangePosition !== 'start') {
|
|
100
|
-
onRangePositionChange('start');
|
|
101
|
-
}
|
|
102
|
-
onViewChange(newView);
|
|
103
|
-
}, [onRangePositionChange, onViewChange, rangePosition]);
|
|
104
|
-
const handleEndRangeViewChange = React.useCallback(newView => {
|
|
105
|
-
if (newView === 'year' || newView === 'month') {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (rangePosition !== 'end') {
|
|
109
|
-
onRangePositionChange('end');
|
|
110
|
-
}
|
|
111
|
-
onViewChange(newView);
|
|
112
|
-
}, [onRangePositionChange, onViewChange, rangePosition]);
|
|
113
95
|
const handleOnChange = React.useCallback(newDate => {
|
|
114
96
|
const {
|
|
115
97
|
nextSelection,
|
|
@@ -124,37 +106,68 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
124
106
|
onRangePositionChange(nextSelection);
|
|
125
107
|
onChange(newRange);
|
|
126
108
|
}, [onChange, onRangePositionChange, props.value, rangePosition, utils]);
|
|
109
|
+
const startOverrides = React.useMemo(() => {
|
|
110
|
+
const handleStartRangeViewChange = newView => {
|
|
111
|
+
if (newView === 'year' || newView === 'month') {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (rangePosition !== 'start') {
|
|
115
|
+
onRangePositionChange('start');
|
|
116
|
+
}
|
|
117
|
+
onViewChange(newView);
|
|
118
|
+
};
|
|
119
|
+
return {
|
|
120
|
+
forceDesktopVariant: true,
|
|
121
|
+
onViewChange: handleStartRangeViewChange,
|
|
122
|
+
view: rangePosition === 'start' ? view : null
|
|
123
|
+
};
|
|
124
|
+
}, [rangePosition, view, onRangePositionChange, onViewChange]);
|
|
125
|
+
const endOverrides = React.useMemo(() => {
|
|
126
|
+
const handleEndRangeViewChange = newView => {
|
|
127
|
+
if (newView === 'year' || newView === 'month') {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (rangePosition !== 'end') {
|
|
131
|
+
onRangePositionChange('end');
|
|
132
|
+
}
|
|
133
|
+
onViewChange(newView);
|
|
134
|
+
};
|
|
135
|
+
return {
|
|
136
|
+
forceDesktopVariant: true,
|
|
137
|
+
onViewChange: handleEndRangeViewChange,
|
|
138
|
+
view: rangePosition === 'end' ? view : null
|
|
139
|
+
};
|
|
140
|
+
}, [rangePosition, view, onRangePositionChange, onViewChange]);
|
|
127
141
|
if (hidden) {
|
|
128
142
|
return null;
|
|
129
143
|
}
|
|
130
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
144
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimeRangePickerToolbarRoot, (0, _extends2.default)({
|
|
131
145
|
className: (0, _clsx.default)(classes.root, className),
|
|
132
146
|
ownerState: ownerState,
|
|
133
147
|
ref: ref,
|
|
134
148
|
sx: sx
|
|
135
149
|
}, other, {
|
|
136
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
137
|
-
value:
|
|
138
|
-
children:
|
|
150
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.DateTimePickerToolbarOverrideContext.Provider, {
|
|
151
|
+
value: startOverrides,
|
|
152
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerToolbarStart, (0, _extends2.default)({
|
|
139
153
|
value: start,
|
|
140
|
-
onViewChange: handleStartRangeViewChange,
|
|
141
154
|
toolbarTitle: translations.start,
|
|
142
155
|
ownerState: ownerState,
|
|
143
|
-
view: rangePosition === 'start' ? view : undefined,
|
|
144
156
|
className: classes.startToolbar,
|
|
145
157
|
onChange: handleOnChange,
|
|
146
158
|
titleId: titleId ? `${titleId}-start-toolbar` : undefined
|
|
147
|
-
}, commonToolbarProps))
|
|
159
|
+
}, commonToolbarProps))
|
|
160
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.DateTimePickerToolbarOverrideContext.Provider, {
|
|
161
|
+
value: endOverrides,
|
|
162
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerToolbarEnd, (0, _extends2.default)({
|
|
148
163
|
value: end,
|
|
149
|
-
onViewChange: handleEndRangeViewChange,
|
|
150
164
|
toolbarTitle: translations.end,
|
|
151
165
|
ownerState: ownerState,
|
|
152
|
-
view: rangePosition === 'end' ? view : undefined,
|
|
153
166
|
className: classes.endToolbar,
|
|
154
167
|
onChange: handleOnChange,
|
|
155
168
|
titleId: titleId ? `${titleId}-end-toolbar` : undefined
|
|
156
|
-
}, commonToolbarProps))
|
|
157
|
-
})
|
|
169
|
+
}, commonToolbarProps))
|
|
170
|
+
})]
|
|
158
171
|
}));
|
|
159
172
|
});
|
|
160
173
|
process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
|
|
@@ -176,12 +189,6 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
|
|
|
176
189
|
isLandscape: _propTypes.default.bool.isRequired,
|
|
177
190
|
onChange: _propTypes.default.func.isRequired,
|
|
178
191
|
onRangePositionChange: _propTypes.default.func.isRequired,
|
|
179
|
-
/**
|
|
180
|
-
* Callback called when a toolbar is clicked
|
|
181
|
-
* @template TView
|
|
182
|
-
* @param {TView} view The view to open
|
|
183
|
-
*/
|
|
184
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
185
192
|
rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
|
|
186
193
|
/**
|
|
187
194
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
@@ -197,13 +204,5 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
|
|
|
197
204
|
* @default "––"
|
|
198
205
|
*/
|
|
199
206
|
toolbarPlaceholder: _propTypes.default.node,
|
|
200
|
-
value: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
|
|
201
|
-
/**
|
|
202
|
-
* Currently visible picker view.
|
|
203
|
-
*/
|
|
204
|
-
view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'seconds']).isRequired,
|
|
205
|
-
/**
|
|
206
|
-
* Available views.
|
|
207
|
-
*/
|
|
208
|
-
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'seconds']).isRequired).isRequired
|
|
207
|
+
value: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
|
|
209
208
|
} : void 0;
|
package/node/index.js
CHANGED
|
@@ -67,8 +67,6 @@ const useDesktopRangePicker = _ref => {
|
|
|
67
67
|
fieldRef = endFieldRef;
|
|
68
68
|
}
|
|
69
69
|
const {
|
|
70
|
-
open,
|
|
71
|
-
actions,
|
|
72
70
|
layoutProps,
|
|
73
71
|
providerProps,
|
|
74
72
|
renderCurrentView,
|
|
@@ -87,8 +85,8 @@ const useDesktopRangePicker = _ref => {
|
|
|
87
85
|
}
|
|
88
86
|
}));
|
|
89
87
|
React.useEffect(() => {
|
|
90
|
-
if (
|
|
91
|
-
initialView.current =
|
|
88
|
+
if (providerProps.contextValue.view) {
|
|
89
|
+
initialView.current = providerProps.contextValue.view;
|
|
92
90
|
}
|
|
93
91
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
94
92
|
}, []);
|
|
@@ -97,7 +95,9 @@ const useDesktopRangePicker = _ref => {
|
|
|
97
95
|
if (fieldContainerRef.current?.contains((0, _internals.getActiveElement)(document)) || popperRef.current?.contains((0, _internals.getActiveElement)(document))) {
|
|
98
96
|
return;
|
|
99
97
|
}
|
|
100
|
-
|
|
98
|
+
|
|
99
|
+
// This direct access to `providerProps` will go away once the range fields stop having their views in a tooltip.
|
|
100
|
+
providerProps.privateContextValue.dismissViews();
|
|
101
101
|
});
|
|
102
102
|
};
|
|
103
103
|
const Field = slots.field;
|
|
@@ -132,8 +132,9 @@ const useDesktopRangePicker = _ref => {
|
|
|
132
132
|
const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)({
|
|
133
133
|
variant: 'desktop',
|
|
134
134
|
fieldType,
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
// These direct access to `providerProps` will go away once the range fields handle the picker opening
|
|
136
|
+
open: providerProps.contextValue.open,
|
|
137
|
+
setOpen: providerProps.contextValue.setOpen,
|
|
137
138
|
readOnly,
|
|
138
139
|
disableOpenPicker,
|
|
139
140
|
label,
|
|
@@ -148,9 +149,9 @@ const useDesktopRangePicker = _ref => {
|
|
|
148
149
|
startFieldRef,
|
|
149
150
|
endFieldRef,
|
|
150
151
|
singleInputFieldRef,
|
|
151
|
-
currentView:
|
|
152
|
+
currentView: providerProps.contextValue.view !== props.openTo ? providerProps.contextValue.view : undefined,
|
|
152
153
|
initialView: initialView.current ?? undefined,
|
|
153
|
-
onViewChange:
|
|
154
|
+
onViewChange: providerProps.contextValue.onViewChange
|
|
154
155
|
});
|
|
155
156
|
const slotPropsForLayout = (0, _extends2.default)({}, slotProps, {
|
|
156
157
|
tabs: (0, _extends2.default)({}, slotProps?.tabs, {
|
|
@@ -164,14 +165,12 @@ const useDesktopRangePicker = _ref => {
|
|
|
164
165
|
});
|
|
165
166
|
const Layout = slots?.layout ?? _PickersLayout.PickersLayout;
|
|
166
167
|
const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
|
|
167
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersPopper,
|
|
168
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersPopper, {
|
|
168
169
|
role: "tooltip",
|
|
169
170
|
placement: "bottom-start",
|
|
170
171
|
containerRef: popperRef,
|
|
171
172
|
anchorEl: anchorRef.current,
|
|
172
|
-
onBlur: handleBlur
|
|
173
|
-
}, actions, {
|
|
174
|
-
open: open,
|
|
173
|
+
onBlur: handleBlur,
|
|
175
174
|
slots: slots,
|
|
176
175
|
slotProps: slotProps,
|
|
177
176
|
shouldRestoreFocus: shouldRestoreFocus,
|
|
@@ -181,7 +180,7 @@ const useDesktopRangePicker = _ref => {
|
|
|
181
180
|
slotProps: slotPropsForLayout,
|
|
182
181
|
children: renderCurrentView()
|
|
183
182
|
}))
|
|
184
|
-
})
|
|
183
|
+
})]
|
|
185
184
|
}));
|
|
186
185
|
return {
|
|
187
186
|
renderPicker
|
|
@@ -18,7 +18,7 @@ const _excluded = ["clearable", "onClear"];
|
|
|
18
18
|
const useMultiInputFieldSlotProps = ({
|
|
19
19
|
variant,
|
|
20
20
|
open,
|
|
21
|
-
|
|
21
|
+
setOpen,
|
|
22
22
|
readOnly,
|
|
23
23
|
labelId,
|
|
24
24
|
disableOpenPicker,
|
|
@@ -62,14 +62,16 @@ const useMultiInputFieldSlotProps = ({
|
|
|
62
62
|
event.stopPropagation();
|
|
63
63
|
onRangePositionChange('start');
|
|
64
64
|
if (!readOnly && !disableOpenPicker) {
|
|
65
|
-
|
|
65
|
+
event.preventDefault();
|
|
66
|
+
setOpen(true);
|
|
66
67
|
}
|
|
67
68
|
};
|
|
68
69
|
const openRangeEndSelection = event => {
|
|
69
70
|
event.stopPropagation();
|
|
70
71
|
onRangePositionChange('end');
|
|
71
72
|
if (!readOnly && !disableOpenPicker) {
|
|
72
|
-
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
setOpen(true);
|
|
73
75
|
}
|
|
74
76
|
};
|
|
75
77
|
const handleFocusStart = () => {
|
|
@@ -156,7 +158,7 @@ const useMultiInputFieldSlotProps = ({
|
|
|
156
158
|
const useSingleInputFieldSlotProps = ({
|
|
157
159
|
variant,
|
|
158
160
|
open,
|
|
159
|
-
|
|
161
|
+
setOpen,
|
|
160
162
|
readOnly,
|
|
161
163
|
labelId,
|
|
162
164
|
disableOpenPicker,
|
|
@@ -205,7 +207,8 @@ const useSingleInputFieldSlotProps = ({
|
|
|
205
207
|
const openPicker = event => {
|
|
206
208
|
event.stopPropagation();
|
|
207
209
|
if (!readOnly && !disableOpenPicker) {
|
|
208
|
-
|
|
210
|
+
event.preventDefault();
|
|
211
|
+
setOpen(true);
|
|
209
212
|
}
|
|
210
213
|
};
|
|
211
214
|
const slots = (0, _extends2.default)({}, fieldProps.slots, {
|
|
@@ -65,8 +65,6 @@ const useMobileRangePicker = _ref => {
|
|
|
65
65
|
fieldRef = endFieldRef;
|
|
66
66
|
}
|
|
67
67
|
const {
|
|
68
|
-
open,
|
|
69
|
-
actions,
|
|
70
68
|
layoutProps,
|
|
71
69
|
providerProps,
|
|
72
70
|
renderCurrentView,
|
|
@@ -114,8 +112,9 @@ const useMobileRangePicker = _ref => {
|
|
|
114
112
|
const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)({
|
|
115
113
|
variant: 'mobile',
|
|
116
114
|
fieldType,
|
|
117
|
-
|
|
118
|
-
|
|
115
|
+
// These direct access to `providerProps` will go away once the range fields handle the picker opening
|
|
116
|
+
open: providerProps.contextValue.open,
|
|
117
|
+
setOpen: providerProps.contextValue.setOpen,
|
|
119
118
|
readOnly,
|
|
120
119
|
labelId,
|
|
121
120
|
disableOpenPicker,
|
|
@@ -164,8 +163,7 @@ const useMobileRangePicker = _ref => {
|
|
|
164
163
|
}, innerSlotProps?.mobilePaper)
|
|
165
164
|
});
|
|
166
165
|
const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
|
|
167
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersModalDialog,
|
|
168
|
-
open: open,
|
|
166
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersModalDialog, {
|
|
169
167
|
slots: slots,
|
|
170
168
|
slotProps: slotProps,
|
|
171
169
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
|
|
@@ -173,7 +171,7 @@ const useMobileRangePicker = _ref => {
|
|
|
173
171
|
slotProps: slotPropsForLayout,
|
|
174
172
|
children: renderCurrentView()
|
|
175
173
|
}))
|
|
176
|
-
})
|
|
174
|
+
})]
|
|
177
175
|
}));
|
|
178
176
|
return {
|
|
179
177
|
renderPicker
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getReleaseInfo = void 0;
|
|
7
7
|
var _utils = require("@mui/utils");
|
|
8
8
|
const getReleaseInfo = () => {
|
|
9
|
-
const releaseInfo = "
|
|
9
|
+
const releaseInfo = "MTczNTE2NDAwMDAwMA==";
|
|
10
10
|
if (process.env.NODE_ENV !== 'production') {
|
|
11
11
|
// A simple hack to set the value in the test environment (has no build step).
|
|
12
12
|
// eslint-disable-next-line no-useless-concat
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-date-pickers-pro",
|
|
3
|
-
"version": "8.0.0-alpha.
|
|
3
|
+
"version": "8.0.0-alpha.6",
|
|
4
4
|
"description": "The Pro plan edition of the Date and Time Picker components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"clsx": "^2.1.1",
|
|
38
38
|
"prop-types": "^15.8.1",
|
|
39
39
|
"react-transition-group": "^4.4.5",
|
|
40
|
-
"@mui/x-date-pickers": "8.0.0-alpha.
|
|
41
|
-
"@mui/x-
|
|
42
|
-
"@mui/x-
|
|
40
|
+
"@mui/x-date-pickers": "8.0.0-alpha.6",
|
|
41
|
+
"@mui/x-internals": "8.0.0-alpha.6",
|
|
42
|
+
"@mui/x-license": "8.0.0-alpha.6"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@emotion/react": "^11.9.0",
|