@mui/x-date-pickers-pro 8.0.0-alpha.5 → 8.0.0-alpha.7
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/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.d.ts +1 -1
- package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
- package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.d.ts +1 -1
- package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
- package/CHANGELOG.md +206 -1
- package/DateRangeCalendar/DateRangeCalendar.js +9 -7
- package/DateRangePicker/DateRangePicker.js +1 -1
- package/DateRangePicker/DateRangePicker.types.d.ts +5 -0
- package/DateRangePicker/DateRangePickerToolbar.d.ts +2 -3
- package/DateRangePicker/DateRangePickerToolbar.js +25 -31
- package/DateRangePicker/shared.d.ts +1 -1
- package/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
- package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +4 -5
- package/DateTimeRangePicker/DateTimeRangePickerTabs.js +25 -24
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -10
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +7 -5
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -4
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +66 -69
- package/DateTimeRangePicker/shared.d.ts +2 -2
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
- package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +7 -2
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +2 -3
- package/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
- package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +2 -2
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +2 -3
- package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
- package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +2 -2
- package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
- package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +1 -0
- package/hooks/package.json +6 -0
- package/hooks/usePickerRangePositionContext.d.ts +7 -0
- package/hooks/usePickerRangePositionContext.js +15 -0
- package/index.d.ts +2 -0
- package/index.js +4 -2
- package/internals/hooks/models/useRangePicker.d.ts +4 -4
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +35 -53
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +7 -9
- package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +6 -6
- package/internals/hooks/useEnrichedRangePickerFieldProps.js +11 -8
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +24 -40
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -9
- package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +10 -12
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +11 -6
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +2 -2
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +12 -7
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +2 -2
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +13 -8
- package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
- package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
- package/internals/hooks/useRangePosition.d.ts +1 -1
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +6 -6
- package/internals/utils/date-range-manager.js +2 -1
- package/internals/utils/releaseInfo.js +1 -1
- package/internals/utils/valueManagers.js +7 -7
- package/managers/index.d.ts +6 -0
- package/managers/index.js +3 -0
- package/managers/package.json +6 -0
- package/managers/useDateRangeManager.d.ts +15 -0
- package/managers/useDateRangeManager.js +31 -0
- package/managers/useDateTimeRangeManager.d.ts +15 -0
- package/managers/useDateTimeRangeManager.js +31 -0
- package/managers/useTimeRangeManager.d.ts +15 -0
- package/managers/useTimeRangeManager.js +29 -0
- package/models/range.d.ts +0 -1
- package/modern/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/modern/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.js +9 -7
- package/modern/DateRangePicker/DateRangePicker.js +1 -1
- package/modern/DateRangePicker/DateRangePickerToolbar.js +25 -31
- package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
- package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +25 -24
- package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +7 -5
- package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +66 -69
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
- package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
- package/modern/hooks/index.js +1 -0
- package/modern/hooks/usePickerRangePositionContext.js +15 -0
- package/modern/index.js +4 -2
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +35 -53
- package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +11 -8
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +24 -40
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +11 -6
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +12 -7
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +13 -8
- package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
- package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
- package/modern/internals/utils/date-range-manager.js +2 -1
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/modern/internals/utils/valueManagers.js +7 -7
- package/modern/managers/index.js +3 -0
- package/modern/managers/useDateRangeManager.js +31 -0
- package/modern/managers/useDateTimeRangeManager.js +31 -0
- package/modern/managers/useTimeRangeManager.js +29 -0
- package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/node/DateRangeCalendar/DateRangeCalendar.js +9 -7
- package/node/DateRangePicker/DateRangePicker.js +1 -1
- package/node/DateRangePicker/DateRangePickerToolbar.js +24 -30
- package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
- package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +24 -23
- package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +7 -5
- package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +65 -68
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
- package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
- package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +12 -14
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +12 -14
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +12 -14
- package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
- package/node/hooks/index.js +12 -0
- package/node/hooks/usePickerRangePositionContext.js +22 -0
- package/node/index.js +23 -1
- package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +35 -53
- package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +11 -8
- package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +24 -40
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +10 -5
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +11 -6
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +12 -7
- package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
- package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
- package/node/internals/utils/date-range-manager.js +2 -1
- package/node/internals/utils/releaseInfo.js +1 -1
- package/node/internals/utils/valueManagers.js +7 -7
- package/node/managers/index.js +26 -0
- package/node/managers/useDateRangeManager.js +38 -0
- package/node/managers/useDateTimeRangeManager.js +38 -0
- package/node/managers/useTimeRangeManager.js +36 -0
- package/package.json +5 -5
|
@@ -18,8 +18,9 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
|
|
|
18
18
|
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
|
+
var _hooks2 = require("../hooks");
|
|
21
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _excluded = ["
|
|
23
|
+
const _excluded = ["toolbarFormat", "className", "classes"];
|
|
23
24
|
const useUtilityClasses = classes => {
|
|
24
25
|
const slots = {
|
|
25
26
|
root: ['root'],
|
|
@@ -56,38 +57,48 @@ const DateRangePickerToolbar = exports.DateRangePickerToolbar = /*#__PURE__*/Rea
|
|
|
56
57
|
name: 'MuiDateRangePickerToolbar'
|
|
57
58
|
});
|
|
58
59
|
const {
|
|
59
|
-
|
|
60
|
-
rangePosition,
|
|
61
|
-
onRangePositionChange,
|
|
62
|
-
toolbarFormat,
|
|
60
|
+
toolbarFormat: toolbarFormatProp,
|
|
63
61
|
className,
|
|
64
62
|
classes: classesProp
|
|
65
63
|
} = props,
|
|
66
64
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
65
|
+
const {
|
|
66
|
+
value
|
|
67
|
+
} = (0, _hooks.usePickerContext)();
|
|
67
68
|
const translations = (0, _hooks.usePickerTranslations)();
|
|
68
69
|
const ownerState = (0, _internals.useToolbarOwnerState)();
|
|
70
|
+
const {
|
|
71
|
+
rangePosition,
|
|
72
|
+
onRangePositionChange
|
|
73
|
+
} = (0, _hooks2.usePickerRangePositionContext)();
|
|
69
74
|
const classes = useUtilityClasses(classesProp);
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
|
|
76
|
+
// This can't be a default value when spreading because it breaks the API generation.
|
|
77
|
+
const toolbarFormat = toolbarFormatProp ?? utils.formats.shortDate;
|
|
78
|
+
const formatDate = (date, fallback) => {
|
|
79
|
+
if (!utils.isValid(date)) {
|
|
80
|
+
return fallback;
|
|
81
|
+
}
|
|
82
|
+
return utils.formatByString(date, toolbarFormat);
|
|
83
|
+
};
|
|
72
84
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DateRangePickerToolbarRoot, (0, _extends2.default)({}, other, {
|
|
73
85
|
toolbarTitle: translations.dateRangePickerToolbarTitle,
|
|
74
|
-
isLandscape: false,
|
|
75
86
|
className: (0, _clsx.default)(classes.root, className),
|
|
76
87
|
ownerState: ownerState,
|
|
77
88
|
ref: ref,
|
|
78
89
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateRangePickerToolbarContainer, {
|
|
79
90
|
className: classes.container,
|
|
80
91
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersToolbarButton, {
|
|
81
|
-
variant:
|
|
82
|
-
value:
|
|
92
|
+
variant: value[0] == null ? 'h6' : 'h5',
|
|
93
|
+
value: formatDate(value[0], translations.start),
|
|
83
94
|
selected: rangePosition === 'start',
|
|
84
95
|
onClick: () => onRangePositionChange('start')
|
|
85
96
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
|
|
86
97
|
variant: "h5",
|
|
87
98
|
children: ["\xA0", '–', "\xA0"]
|
|
88
99
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersToolbarButton, {
|
|
89
|
-
variant:
|
|
90
|
-
value:
|
|
100
|
+
variant: value[1] == null ? 'h6' : 'h5',
|
|
101
|
+
value: formatDate(value[1], translations.end),
|
|
91
102
|
selected: rangePosition === 'end',
|
|
92
103
|
onClick: () => onRangePositionChange('end')
|
|
93
104
|
})]
|
|
@@ -109,14 +120,6 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
|
|
|
109
120
|
* @default `true` for Desktop, `false` for Mobile.
|
|
110
121
|
*/
|
|
111
122
|
hidden: _propTypes.default.bool,
|
|
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
|
-
rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
|
|
120
123
|
/**
|
|
121
124
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
122
125
|
*/
|
|
@@ -130,14 +133,5 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
|
|
|
130
133
|
* Toolbar value placeholder—it is displayed when the value is empty.
|
|
131
134
|
* @default "––"
|
|
132
135
|
*/
|
|
133
|
-
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
|
|
136
|
+
toolbarPlaceholder: _propTypes.default.node
|
|
143
137
|
} : void 0;
|
|
@@ -75,8 +75,8 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePicker.propTypes = {
|
|
|
75
75
|
calendars: _propTypes.default.oneOf([1, 2, 3]),
|
|
76
76
|
className: _propTypes.default.string,
|
|
77
77
|
/**
|
|
78
|
-
* If `true`, the
|
|
79
|
-
* @default
|
|
78
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
79
|
+
* @default false
|
|
80
80
|
*/
|
|
81
81
|
closeOnSelect: _propTypes.default.bool,
|
|
82
82
|
/**
|
|
@@ -19,6 +19,7 @@ var _hooks = require("@mui/x-date-pickers/hooks");
|
|
|
19
19
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
20
20
|
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
21
21
|
var _dateTimeRangePickerTabsClasses = require("./dateTimeRangePickerTabsClasses");
|
|
22
|
+
var _hooks2 = require("../hooks");
|
|
22
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
24
|
const viewToTab = (view, rangePosition) => {
|
|
24
25
|
if ((0, _internals.isDatePickerView)(view)) {
|
|
@@ -76,12 +77,8 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
76
77
|
});
|
|
77
78
|
const {
|
|
78
79
|
dateIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.DateRangeIcon, {}),
|
|
79
|
-
onViewChange,
|
|
80
80
|
timeIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.TimeIcon, {}),
|
|
81
|
-
view,
|
|
82
81
|
hidden = typeof window === 'undefined' || window.innerHeight < 667,
|
|
83
|
-
rangePosition,
|
|
84
|
-
onRangePositionChange,
|
|
85
82
|
className,
|
|
86
83
|
classes: classesProp,
|
|
87
84
|
sx
|
|
@@ -90,8 +87,16 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
90
87
|
const {
|
|
91
88
|
ownerState
|
|
92
89
|
} = (0, _internals.usePickerPrivateContext)();
|
|
90
|
+
const {
|
|
91
|
+
view,
|
|
92
|
+
setView
|
|
93
|
+
} = (0, _hooks.usePickerContext)();
|
|
93
94
|
const classes = useUtilityClasses(classesProp);
|
|
94
|
-
const
|
|
95
|
+
const {
|
|
96
|
+
rangePosition,
|
|
97
|
+
onRangePositionChange
|
|
98
|
+
} = (0, _hooks2.usePickerRangePositionContext)();
|
|
99
|
+
const value = React.useMemo(() => view == null ? null : viewToTab(view, rangePosition), [view, rangePosition]);
|
|
95
100
|
const isPreviousHidden = value === 'start-date';
|
|
96
101
|
const isNextHidden = value === 'end-time';
|
|
97
102
|
const tabLabel = React.useMemo(() => {
|
|
@@ -116,18 +121,26 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
116
121
|
}
|
|
117
122
|
});
|
|
118
123
|
const changeToPreviousTab = (0, _useEventCallback.default)(() => {
|
|
119
|
-
const previousTab = tabOptions[tabOptions.indexOf(value) - 1];
|
|
120
|
-
|
|
124
|
+
const previousTab = value == null ? tabOptions[0] : tabOptions[tabOptions.indexOf(value) - 1];
|
|
125
|
+
setView(tabToView(previousTab));
|
|
121
126
|
handleRangePositionChange(previousTab);
|
|
122
127
|
});
|
|
123
128
|
const changeToNextTab = (0, _useEventCallback.default)(() => {
|
|
124
|
-
const nextTab = tabOptions[tabOptions.indexOf(value) + 1];
|
|
125
|
-
|
|
129
|
+
const nextTab = value == null ? tabOptions[0] : tabOptions[tabOptions.indexOf(value) + 1];
|
|
130
|
+
setView(tabToView(nextTab));
|
|
126
131
|
handleRangePositionChange(nextTab);
|
|
127
132
|
});
|
|
128
133
|
if (hidden) {
|
|
129
134
|
return null;
|
|
130
135
|
}
|
|
136
|
+
let startIcon;
|
|
137
|
+
if (view == null) {
|
|
138
|
+
startIcon = null;
|
|
139
|
+
} else if ((0, _internals.isDatePickerView)(view)) {
|
|
140
|
+
startIcon = dateIcon;
|
|
141
|
+
} else {
|
|
142
|
+
startIcon = timeIcon;
|
|
143
|
+
}
|
|
131
144
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimeRangePickerTabsRoot, {
|
|
132
145
|
ownerState: ownerState,
|
|
133
146
|
className: (0, _clsx.default)(classes.root, className),
|
|
@@ -140,7 +153,7 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
140
153
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerTabFiller, {
|
|
141
154
|
className: classes.filler
|
|
142
155
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerTab, {
|
|
143
|
-
startIcon:
|
|
156
|
+
startIcon: startIcon,
|
|
144
157
|
className: classes.tabButton,
|
|
145
158
|
size: "large",
|
|
146
159
|
children: tabLabel
|
|
@@ -174,14 +187,6 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerTabs.propTypes = {
|
|
|
174
187
|
* @default `window.innerHeight < 667` for `DesktopDateTimeRangePicker` and `MobileDateTimeRangePicker`
|
|
175
188
|
*/
|
|
176
189
|
hidden: _propTypes.default.bool,
|
|
177
|
-
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
|
-
rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
|
|
185
190
|
/**
|
|
186
191
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
187
192
|
*/
|
|
@@ -190,9 +195,5 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerTabs.propTypes = {
|
|
|
190
195
|
* Time tab icon.
|
|
191
196
|
* @default TimeIcon
|
|
192
197
|
*/
|
|
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
|
|
198
|
+
timeIcon: _propTypes.default.element
|
|
198
199
|
} : void 0;
|
|
@@ -10,15 +10,14 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
10
10
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
11
11
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
12
12
|
var _dateRangeManager = require("../internals/utils/date-range-manager");
|
|
13
|
-
|
|
13
|
+
var _hooks = require("../hooks");
|
|
14
|
+
const _excluded = ["viewRenderer", "value", "onChange", "defaultValue", "onViewChange", "views", "className"];
|
|
14
15
|
/**
|
|
15
16
|
* @ignore - internal component.
|
|
16
17
|
*/
|
|
17
|
-
function DateTimeRangePickerTimeWrapper(props
|
|
18
|
+
function DateTimeRangePickerTimeWrapper(props) {
|
|
18
19
|
const utils = (0, _internals.useUtils)();
|
|
19
20
|
const {
|
|
20
|
-
rangePosition,
|
|
21
|
-
onRangePositionChange,
|
|
22
21
|
viewRenderer,
|
|
23
22
|
value,
|
|
24
23
|
onChange,
|
|
@@ -27,6 +26,10 @@ function DateTimeRangePickerTimeWrapper(props, ref) {
|
|
|
27
26
|
views
|
|
28
27
|
} = props,
|
|
29
28
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
29
|
+
const {
|
|
30
|
+
rangePosition,
|
|
31
|
+
onRangePositionChange
|
|
32
|
+
} = (0, _hooks.usePickerRangePositionContext)();
|
|
30
33
|
if (!viewRenderer) {
|
|
31
34
|
return null;
|
|
32
35
|
}
|
|
@@ -54,7 +57,6 @@ function DateTimeRangePickerTimeWrapper(props, ref) {
|
|
|
54
57
|
onChange(newRange, isFullRangeSelected ? 'finish' : 'partial', selectedView);
|
|
55
58
|
};
|
|
56
59
|
return viewRenderer((0, _extends2.default)({}, other, {
|
|
57
|
-
ref,
|
|
58
60
|
views,
|
|
59
61
|
onViewChange,
|
|
60
62
|
value: currentValue,
|
|
@@ -19,8 +19,9 @@ var _hooks = require("@mui/x-date-pickers/hooks");
|
|
|
19
19
|
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
|
+
var _hooks2 = require("../hooks");
|
|
22
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const _excluded = ["
|
|
24
|
+
const _excluded = ["className", "classes", "classes", "ampm", "hidden", "toolbarFormat", "toolbarPlaceholder", "titleId", "sx"];
|
|
24
25
|
const useUtilityClasses = classes => {
|
|
25
26
|
const slots = {
|
|
26
27
|
root: ['root'],
|
|
@@ -57,16 +58,8 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
57
58
|
});
|
|
58
59
|
const utils = (0, _internals.useUtils)();
|
|
59
60
|
const {
|
|
60
|
-
value: [start, end],
|
|
61
|
-
rangePosition,
|
|
62
|
-
onRangePositionChange,
|
|
63
61
|
className,
|
|
64
62
|
classes: classesProp,
|
|
65
|
-
onViewChange,
|
|
66
|
-
onChange,
|
|
67
|
-
view,
|
|
68
|
-
isLandscape,
|
|
69
|
-
views,
|
|
70
63
|
ampm,
|
|
71
64
|
hidden,
|
|
72
65
|
toolbarFormat,
|
|
@@ -76,14 +69,22 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
76
69
|
} = props,
|
|
77
70
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
78
71
|
const {
|
|
72
|
+
value,
|
|
73
|
+
setValue,
|
|
79
74
|
disabled,
|
|
80
|
-
readOnly
|
|
75
|
+
readOnly,
|
|
76
|
+
view,
|
|
77
|
+
setView,
|
|
78
|
+
views
|
|
81
79
|
} = (0, _hooks.usePickerContext)();
|
|
82
80
|
const translations = (0, _hooks.usePickerTranslations)();
|
|
83
81
|
const ownerState = (0, _internals.useToolbarOwnerState)();
|
|
82
|
+
const {
|
|
83
|
+
rangePosition,
|
|
84
|
+
onRangePositionChange
|
|
85
|
+
} = (0, _hooks2.usePickerRangePositionContext)();
|
|
84
86
|
const classes = useUtilityClasses(classesProp);
|
|
85
87
|
const commonToolbarProps = {
|
|
86
|
-
isLandscape,
|
|
87
88
|
views,
|
|
88
89
|
ampm,
|
|
89
90
|
disabled,
|
|
@@ -92,69 +93,84 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
92
93
|
toolbarFormat,
|
|
93
94
|
toolbarPlaceholder
|
|
94
95
|
};
|
|
95
|
-
const
|
|
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
|
-
const handleOnChange = React.useCallback(newDate => {
|
|
96
|
+
const wrappedSetValue = React.useCallback(newDate => {
|
|
114
97
|
const {
|
|
115
98
|
nextSelection,
|
|
116
99
|
newRange
|
|
117
100
|
} = (0, _dateRangeManager.calculateRangeChange)({
|
|
118
101
|
newDate,
|
|
119
102
|
utils,
|
|
120
|
-
range:
|
|
103
|
+
range: value,
|
|
121
104
|
rangePosition,
|
|
122
105
|
allowRangeFlip: true
|
|
123
106
|
});
|
|
124
107
|
onRangePositionChange(nextSelection);
|
|
125
|
-
|
|
126
|
-
|
|
108
|
+
setValue(newRange, {
|
|
109
|
+
changeImportance: 'set'
|
|
110
|
+
});
|
|
111
|
+
}, [setValue, onRangePositionChange, value, rangePosition, utils]);
|
|
112
|
+
const startOverrides = React.useMemo(() => {
|
|
113
|
+
const handleStartRangeViewChange = newView => {
|
|
114
|
+
if (newView === 'year' || newView === 'month') {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (rangePosition !== 'start') {
|
|
118
|
+
onRangePositionChange('start');
|
|
119
|
+
}
|
|
120
|
+
setView(newView);
|
|
121
|
+
};
|
|
122
|
+
return {
|
|
123
|
+
value: value[0],
|
|
124
|
+
setValue: wrappedSetValue,
|
|
125
|
+
forceDesktopVariant: true,
|
|
126
|
+
setView: handleStartRangeViewChange,
|
|
127
|
+
view: rangePosition === 'start' ? view : null
|
|
128
|
+
};
|
|
129
|
+
}, [value, wrappedSetValue, rangePosition, view, onRangePositionChange, setView]);
|
|
130
|
+
const endOverrides = React.useMemo(() => {
|
|
131
|
+
const handleEndRangeViewChange = newView => {
|
|
132
|
+
if (newView === 'year' || newView === 'month') {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (rangePosition !== 'end') {
|
|
136
|
+
onRangePositionChange('end');
|
|
137
|
+
}
|
|
138
|
+
setView(newView);
|
|
139
|
+
};
|
|
140
|
+
return {
|
|
141
|
+
value: value[1],
|
|
142
|
+
setValue: wrappedSetValue,
|
|
143
|
+
forceDesktopVariant: true,
|
|
144
|
+
setView: handleEndRangeViewChange,
|
|
145
|
+
view: rangePosition === 'end' ? view : null
|
|
146
|
+
};
|
|
147
|
+
}, [value, wrappedSetValue, rangePosition, view, onRangePositionChange, setView]);
|
|
127
148
|
if (hidden) {
|
|
128
149
|
return null;
|
|
129
150
|
}
|
|
130
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
151
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimeRangePickerToolbarRoot, (0, _extends2.default)({
|
|
131
152
|
className: (0, _clsx.default)(classes.root, className),
|
|
132
153
|
ownerState: ownerState,
|
|
133
154
|
ref: ref,
|
|
134
155
|
sx: sx
|
|
135
156
|
}, other, {
|
|
136
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
137
|
-
value:
|
|
138
|
-
children:
|
|
139
|
-
value: start,
|
|
140
|
-
onViewChange: handleStartRangeViewChange,
|
|
157
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.DateTimePickerToolbarOverrideContext.Provider, {
|
|
158
|
+
value: startOverrides,
|
|
159
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerToolbarStart, (0, _extends2.default)({
|
|
141
160
|
toolbarTitle: translations.start,
|
|
142
161
|
ownerState: ownerState,
|
|
143
|
-
view: rangePosition === 'start' ? view : undefined,
|
|
144
162
|
className: classes.startToolbar,
|
|
145
|
-
onChange: handleOnChange,
|
|
146
163
|
titleId: titleId ? `${titleId}-start-toolbar` : undefined
|
|
147
|
-
}, commonToolbarProps))
|
|
148
|
-
|
|
149
|
-
|
|
164
|
+
}, commonToolbarProps))
|
|
165
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.DateTimePickerToolbarOverrideContext.Provider, {
|
|
166
|
+
value: endOverrides,
|
|
167
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerToolbarEnd, (0, _extends2.default)({
|
|
150
168
|
toolbarTitle: translations.end,
|
|
151
169
|
ownerState: ownerState,
|
|
152
|
-
view: rangePosition === 'end' ? view : undefined,
|
|
153
170
|
className: classes.endToolbar,
|
|
154
|
-
onChange: handleOnChange,
|
|
155
171
|
titleId: titleId ? `${titleId}-end-toolbar` : undefined
|
|
156
|
-
}, commonToolbarProps))
|
|
157
|
-
})
|
|
172
|
+
}, commonToolbarProps))
|
|
173
|
+
})]
|
|
158
174
|
}));
|
|
159
175
|
});
|
|
160
176
|
process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
|
|
@@ -173,16 +189,6 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
|
|
|
173
189
|
* @default `true` for Desktop, `false` for Mobile.
|
|
174
190
|
*/
|
|
175
191
|
hidden: _propTypes.default.bool,
|
|
176
|
-
isLandscape: _propTypes.default.bool.isRequired,
|
|
177
|
-
onChange: _propTypes.default.func.isRequired,
|
|
178
|
-
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
|
-
rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
|
|
186
192
|
/**
|
|
187
193
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
188
194
|
*/
|
|
@@ -196,14 +202,5 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
|
|
|
196
202
|
* Toolbar value placeholder—it is displayed when the value is empty.
|
|
197
203
|
* @default "––"
|
|
198
204
|
*/
|
|
199
|
-
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
|
|
205
|
+
toolbarPlaceholder: _propTypes.default.node
|
|
209
206
|
} : void 0;
|
|
@@ -20,6 +20,8 @@ var _dateRangeViewRenderers = require("../dateRangeViewRenderers");
|
|
|
20
20
|
var _MultiInputDateRangeField = require("../MultiInputDateRangeField");
|
|
21
21
|
var _useDesktopRangePicker = require("../internals/hooks/useDesktopRangePicker");
|
|
22
22
|
var _validation2 = require("../validation");
|
|
23
|
+
const emptyActions = [];
|
|
24
|
+
|
|
23
25
|
/**
|
|
24
26
|
* Demos:
|
|
25
27
|
*
|
|
@@ -39,6 +41,7 @@ const DesktopDateRangePicker = exports.DesktopDateRangePicker = /*#__PURE__*/Rea
|
|
|
39
41
|
day: _dateRangeViewRenderers.renderDateRangeViewCalendar
|
|
40
42
|
}, defaultizedProps.viewRenderers);
|
|
41
43
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
44
|
+
closeOnSelect: defaultizedProps.closeOnSelect ?? true,
|
|
42
45
|
viewRenderers,
|
|
43
46
|
format: utils.formats.keyboardDate,
|
|
44
47
|
calendars: defaultizedProps.calendars ?? 2,
|
|
@@ -53,7 +56,10 @@ const DesktopDateRangePicker = exports.DesktopDateRangePicker = /*#__PURE__*/Rea
|
|
|
53
56
|
}),
|
|
54
57
|
toolbar: (0, _extends2.default)({
|
|
55
58
|
hidden: true
|
|
56
|
-
}, defaultizedProps.slotProps?.toolbar)
|
|
59
|
+
}, defaultizedProps.slotProps?.toolbar),
|
|
60
|
+
actionBar: ownerState => (0, _extends2.default)({
|
|
61
|
+
actions: emptyActions
|
|
62
|
+
}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
|
|
57
63
|
})
|
|
58
64
|
});
|
|
59
65
|
const {
|
|
@@ -85,8 +91,8 @@ DesktopDateRangePicker.propTypes = {
|
|
|
85
91
|
calendars: _propTypes.default.oneOf([1, 2, 3]),
|
|
86
92
|
className: _propTypes.default.string,
|
|
87
93
|
/**
|
|
88
|
-
* If `true`, the
|
|
89
|
-
* @default
|
|
94
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
95
|
+
* @default true
|
|
90
96
|
*/
|
|
91
97
|
closeOnSelect: _propTypes.default.bool,
|
|
92
98
|
/**
|
|
@@ -28,16 +28,23 @@ var _shared = require("../DateTimeRangePicker/shared");
|
|
|
28
28
|
var _MultiInputDateTimeRangeField = require("../MultiInputDateTimeRangeField");
|
|
29
29
|
var _DateTimeRangePickerTimeWrapper = require("../DateTimeRangePicker/DateTimeRangePickerTimeWrapper");
|
|
30
30
|
var _dimensions = require("../internals/constants/dimensions");
|
|
31
|
+
var _hooks = require("../hooks");
|
|
31
32
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
32
|
-
const _excluded = ["openTo"
|
|
33
|
-
const rendererInterceptor = function
|
|
33
|
+
const _excluded = ["openTo"];
|
|
34
|
+
const rendererInterceptor = function RendererInterceptor(props) {
|
|
34
35
|
const {
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
viewRenderers,
|
|
37
|
+
popperView,
|
|
38
|
+
rendererProps
|
|
39
|
+
} = props;
|
|
40
|
+
const {
|
|
41
|
+
openTo
|
|
37
42
|
} = rendererProps,
|
|
38
43
|
otherProps = (0, _objectWithoutPropertiesLoose2.default)(rendererProps, _excluded);
|
|
44
|
+
const {
|
|
45
|
+
rangePosition
|
|
46
|
+
} = (0, _hooks.usePickerRangePositionContext)();
|
|
39
47
|
const finalProps = (0, _extends2.default)({}, otherProps, {
|
|
40
|
-
rangePosition,
|
|
41
48
|
focusedView: null,
|
|
42
49
|
sx: [{
|
|
43
50
|
[`&.${_MultiSectionDigitalClock.multiSectionDigitalClockClasses.root}`]: {
|
|
@@ -50,7 +57,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
50
57
|
});
|
|
51
58
|
const isTimeViewActive = (0, _internals.isInternalTimeView)(popperView);
|
|
52
59
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
53
|
-
children: [
|
|
60
|
+
children: [viewRenderers.day?.((0, _extends2.default)({}, rendererProps, {
|
|
54
61
|
availableRangePositions: [rangePosition],
|
|
55
62
|
view: !isTimeViewActive ? popperView : 'day',
|
|
56
63
|
views: rendererProps.views.filter(_internals.isDatePickerView),
|
|
@@ -66,7 +73,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
66
73
|
view: isTimeViewActive ? popperView : 'hours',
|
|
67
74
|
views: finalProps.views.filter(_internals.isInternalTimeView),
|
|
68
75
|
openTo: (0, _internals.isInternalTimeView)(openTo) ? openTo : 'hours',
|
|
69
|
-
viewRenderer:
|
|
76
|
+
viewRenderer: viewRenderers[isTimeViewActive ? popperView : 'hours'],
|
|
70
77
|
sx: [{
|
|
71
78
|
gridColumn: 3
|
|
72
79
|
}, ...finalProps.sx]
|
|
@@ -99,7 +106,6 @@ const DesktopDateTimeRangePicker = exports.DesktopDateTimeRangePicker = /*#__PUR
|
|
|
99
106
|
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
100
107
|
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
|
|
101
108
|
const views = !shouldHoursRendererContainMeridiemView ? defaultizedProps.views.filter(view => view !== 'meridiem') : defaultizedProps.views;
|
|
102
|
-
const actionBarActions = defaultizedProps.shouldRenderTimeInASingleColumn ? [] : ['accept'];
|
|
103
109
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
104
110
|
views,
|
|
105
111
|
viewRenderers,
|
|
@@ -120,10 +126,7 @@ const DesktopDateTimeRangePicker = exports.DesktopDateTimeRangePicker = /*#__PUR
|
|
|
120
126
|
}, defaultizedProps.slotProps?.tabs),
|
|
121
127
|
toolbar: (0, _extends2.default)({
|
|
122
128
|
hidden: true
|
|
123
|
-
}, defaultizedProps.slotProps?.toolbar)
|
|
124
|
-
actionBar: ownerState => (0, _extends2.default)({
|
|
125
|
-
actions: actionBarActions
|
|
126
|
-
}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
|
|
129
|
+
}, defaultizedProps.slotProps?.toolbar)
|
|
127
130
|
})
|
|
128
131
|
});
|
|
129
132
|
const {
|
|
@@ -161,8 +164,8 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
161
164
|
calendars: _propTypes.default.oneOf([1, 2, 3]),
|
|
162
165
|
className: _propTypes.default.string,
|
|
163
166
|
/**
|
|
164
|
-
* If `true`, the
|
|
165
|
-
* @default
|
|
167
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
168
|
+
* @default false
|
|
166
169
|
*/
|
|
167
170
|
closeOnSelect: _propTypes.default.bool,
|
|
168
171
|
/**
|
|
@@ -81,8 +81,8 @@ MobileDateRangePicker.propTypes = {
|
|
|
81
81
|
autoFocus: _propTypes.default.bool,
|
|
82
82
|
className: _propTypes.default.string,
|
|
83
83
|
/**
|
|
84
|
-
* If `true`, the
|
|
85
|
-
* @default
|
|
84
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
85
|
+
* @default false
|
|
86
86
|
*/
|
|
87
87
|
closeOnSelect: _propTypes.default.bool,
|
|
88
88
|
/**
|
|
@@ -26,17 +26,24 @@ var _shared = require("../DateTimeRangePicker/shared");
|
|
|
26
26
|
var _MultiInputDateTimeRangeField = require("../MultiInputDateTimeRangeField");
|
|
27
27
|
var _DateTimeRangePickerTimeWrapper = require("../DateTimeRangePicker/DateTimeRangePickerTimeWrapper");
|
|
28
28
|
var _dimensions = require("../internals/constants/dimensions");
|
|
29
|
+
var _hooks = require("../hooks");
|
|
29
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
30
|
-
const _excluded = ["view", "openTo"
|
|
31
|
-
const rendererInterceptor = function
|
|
31
|
+
const _excluded = ["view", "openTo"];
|
|
32
|
+
const rendererInterceptor = function RendererInterceptor(props) {
|
|
33
|
+
const {
|
|
34
|
+
viewRenderers,
|
|
35
|
+
popperView,
|
|
36
|
+
rendererProps
|
|
37
|
+
} = props;
|
|
38
|
+
const {
|
|
39
|
+
rangePosition
|
|
40
|
+
} = (0, _hooks.usePickerRangePositionContext)();
|
|
32
41
|
const {
|
|
33
42
|
view,
|
|
34
|
-
openTo
|
|
35
|
-
rangePosition
|
|
43
|
+
openTo
|
|
36
44
|
} = rendererProps,
|
|
37
45
|
otherRendererProps = (0, _objectWithoutPropertiesLoose2.default)(rendererProps, _excluded);
|
|
38
46
|
const finalProps = (0, _extends2.default)({}, otherRendererProps, {
|
|
39
|
-
rangePosition,
|
|
40
47
|
focusedView: null,
|
|
41
48
|
sx: [{
|
|
42
49
|
width: _internals.DIALOG_WIDTH,
|
|
@@ -60,7 +67,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
60
67
|
}]
|
|
61
68
|
});
|
|
62
69
|
const isTimeView = (0, _internals.isInternalTimeView)(popperView);
|
|
63
|
-
const viewRenderer =
|
|
70
|
+
const viewRenderer = viewRenderers[popperView];
|
|
64
71
|
if (!viewRenderer) {
|
|
65
72
|
return null;
|
|
66
73
|
}
|
|
@@ -155,8 +162,8 @@ MobileDateTimeRangePicker.propTypes = {
|
|
|
155
162
|
autoFocus: _propTypes.default.bool,
|
|
156
163
|
className: _propTypes.default.string,
|
|
157
164
|
/**
|
|
158
|
-
* If `true`, the
|
|
159
|
-
* @default
|
|
165
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
166
|
+
* @default false
|
|
160
167
|
*/
|
|
161
168
|
closeOnSelect: _propTypes.default.bool,
|
|
162
169
|
/**
|