@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
|
@@ -1,32 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useSingleInputDateRangeField = void 0;
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
8
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
11
9
|
var _hooks = require("@mui/x-date-pickers/hooks");
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
const props = (0, _internals.useDefaultizedDateField)(inProps);
|
|
10
|
+
var _managers = require("../managers");
|
|
11
|
+
const useSingleInputDateRangeField = props => {
|
|
12
|
+
const manager = (0, _managers.useDateRangeManager)(props);
|
|
16
13
|
const {
|
|
17
14
|
forwardedProps,
|
|
18
15
|
internalProps
|
|
19
16
|
} = (0, _hooks.useSplitFieldProps)(props, 'date');
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
const internalPropsWithDefaults = (0, _internals.useFieldInternalPropsWithDefaults)({
|
|
18
|
+
manager,
|
|
19
|
+
internalProps
|
|
20
|
+
});
|
|
23
21
|
return (0, _internals.useField)({
|
|
24
22
|
forwardedProps,
|
|
25
|
-
internalProps,
|
|
26
|
-
valueManager:
|
|
27
|
-
fieldValueManager,
|
|
28
|
-
validator:
|
|
29
|
-
valueType:
|
|
23
|
+
internalProps: internalPropsWithDefaults,
|
|
24
|
+
valueManager: manager.internal_valueManager,
|
|
25
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
26
|
+
validator: manager.validator,
|
|
27
|
+
valueType: manager.valueType
|
|
30
28
|
});
|
|
31
29
|
};
|
|
32
30
|
exports.useSingleInputDateRangeField = useSingleInputDateRangeField;
|
|
@@ -1,32 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useSingleInputDateTimeRangeField = void 0;
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
8
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
11
9
|
var _hooks = require("@mui/x-date-pickers/hooks");
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
const props = (0, _internals.useDefaultizedDateTimeField)(inProps);
|
|
10
|
+
var _managers = require("../managers");
|
|
11
|
+
const useSingleInputDateTimeRangeField = props => {
|
|
12
|
+
const manager = (0, _managers.useDateTimeRangeManager)(props);
|
|
16
13
|
const {
|
|
17
14
|
forwardedProps,
|
|
18
15
|
internalProps
|
|
19
16
|
} = (0, _hooks.useSplitFieldProps)(props, 'date-time');
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
const internalPropsWithDefaults = (0, _internals.useFieldInternalPropsWithDefaults)({
|
|
18
|
+
manager,
|
|
19
|
+
internalProps
|
|
20
|
+
});
|
|
23
21
|
return (0, _internals.useField)({
|
|
24
22
|
forwardedProps,
|
|
25
|
-
internalProps,
|
|
26
|
-
valueManager:
|
|
27
|
-
fieldValueManager,
|
|
28
|
-
validator:
|
|
29
|
-
valueType:
|
|
23
|
+
internalProps: internalPropsWithDefaults,
|
|
24
|
+
valueManager: manager.internal_valueManager,
|
|
25
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
26
|
+
validator: manager.validator,
|
|
27
|
+
valueType: manager.valueType
|
|
30
28
|
});
|
|
31
29
|
};
|
|
32
30
|
exports.useSingleInputDateTimeRangeField = useSingleInputDateTimeRangeField;
|
|
@@ -1,32 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useSingleInputTimeRangeField = void 0;
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
8
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
11
9
|
var _hooks = require("@mui/x-date-pickers/hooks");
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
const props = (0, _internals.useDefaultizedTimeField)(inProps);
|
|
10
|
+
var _managers = require("../managers");
|
|
11
|
+
const useSingleInputTimeRangeField = props => {
|
|
12
|
+
const manager = (0, _managers.useTimeRangeManager)(props);
|
|
16
13
|
const {
|
|
17
14
|
forwardedProps,
|
|
18
15
|
internalProps
|
|
19
16
|
} = (0, _hooks.useSplitFieldProps)(props, 'time');
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
const internalPropsWithDefaults = (0, _internals.useFieldInternalPropsWithDefaults)({
|
|
18
|
+
manager,
|
|
19
|
+
internalProps
|
|
20
|
+
});
|
|
23
21
|
return (0, _internals.useField)({
|
|
24
22
|
forwardedProps,
|
|
25
|
-
internalProps,
|
|
26
|
-
valueManager:
|
|
27
|
-
fieldValueManager,
|
|
28
|
-
validator:
|
|
29
|
-
valueType:
|
|
23
|
+
internalProps: internalPropsWithDefaults,
|
|
24
|
+
valueManager: manager.internal_valueManager,
|
|
25
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
26
|
+
validator: manager.validator,
|
|
27
|
+
valueType: manager.valueType
|
|
30
28
|
});
|
|
31
29
|
};
|
|
32
30
|
exports.useSingleInputTimeRangeField = useSingleInputTimeRangeField;
|
|
@@ -26,9 +26,6 @@ const renderDateRangeViewCalendar = ({
|
|
|
26
26
|
shouldDisableDate,
|
|
27
27
|
reduceAnimations,
|
|
28
28
|
onMonthChange,
|
|
29
|
-
rangePosition,
|
|
30
|
-
defaultRangePosition,
|
|
31
|
-
onRangePositionChange,
|
|
32
29
|
calendars,
|
|
33
30
|
currentMonthCalendarPosition,
|
|
34
31
|
slots,
|
|
@@ -65,9 +62,6 @@ const renderDateRangeViewCalendar = ({
|
|
|
65
62
|
shouldDisableDate: shouldDisableDate,
|
|
66
63
|
reduceAnimations: reduceAnimations,
|
|
67
64
|
onMonthChange: onMonthChange,
|
|
68
|
-
rangePosition: rangePosition,
|
|
69
|
-
defaultRangePosition: defaultRangePosition,
|
|
70
|
-
onRangePositionChange: onRangePositionChange,
|
|
71
65
|
calendars: calendars,
|
|
72
66
|
currentMonthCalendarPosition: currentMonthCalendarPosition,
|
|
73
67
|
slots: slots,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "usePickerRangePositionContext", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _usePickerRangePositionContext.usePickerRangePositionContext;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _usePickerRangePositionContext = require("./usePickerRangePositionContext");
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.PickerRangePositionContext = void 0;
|
|
9
|
+
exports.usePickerRangePositionContext = usePickerRangePositionContext;
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
const PickerRangePositionContext = exports.PickerRangePositionContext = /*#__PURE__*/React.createContext(null);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Returns information about the range position of the picker that wraps the current component.
|
|
15
|
+
*/
|
|
16
|
+
function usePickerRangePositionContext() {
|
|
17
|
+
const value = React.useContext(PickerRangePositionContext);
|
|
18
|
+
if (value == null) {
|
|
19
|
+
throw new Error(['MUI X: The `usePickerRangePositionContext` can only be called in components that are used inside a picker component'].join('\n'));
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
}
|
package/node/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-date-pickers-pro v8.0.0-alpha.
|
|
2
|
+
* @mui/x-date-pickers-pro v8.0.0-alpha.7
|
|
3
3
|
*
|
|
4
4
|
* @license MUI X Commercial
|
|
5
5
|
* This source code is licensed under the commercial license found in the
|
|
@@ -219,6 +219,17 @@ Object.keys(_models).forEach(function (key) {
|
|
|
219
219
|
}
|
|
220
220
|
});
|
|
221
221
|
});
|
|
222
|
+
var _hooks = require("./hooks");
|
|
223
|
+
Object.keys(_hooks).forEach(function (key) {
|
|
224
|
+
if (key === "default" || key === "__esModule") return;
|
|
225
|
+
if (key in exports && exports[key] === _hooks[key]) return;
|
|
226
|
+
Object.defineProperty(exports, key, {
|
|
227
|
+
enumerable: true,
|
|
228
|
+
get: function () {
|
|
229
|
+
return _hooks[key];
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
});
|
|
222
233
|
var _validation = require("./validation");
|
|
223
234
|
Object.keys(_validation).forEach(function (key) {
|
|
224
235
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -229,4 +240,15 @@ Object.keys(_validation).forEach(function (key) {
|
|
|
229
240
|
return _validation[key];
|
|
230
241
|
}
|
|
231
242
|
});
|
|
243
|
+
});
|
|
244
|
+
var _managers = require("./managers");
|
|
245
|
+
Object.keys(_managers).forEach(function (key) {
|
|
246
|
+
if (key === "default" || key === "__esModule") return;
|
|
247
|
+
if (key in exports && exports[key] === _managers[key]) return;
|
|
248
|
+
Object.defineProperty(exports, key, {
|
|
249
|
+
enumerable: true,
|
|
250
|
+
get: function () {
|
|
251
|
+
return _managers[key];
|
|
252
|
+
}
|
|
253
|
+
});
|
|
232
254
|
});
|
|
@@ -16,6 +16,7 @@ var _internals = require("@mui/x-date-pickers/internals");
|
|
|
16
16
|
var _useEnrichedRangePickerFieldProps = require("../useEnrichedRangePickerFieldProps");
|
|
17
17
|
var _releaseInfo = require("../../utils/releaseInfo");
|
|
18
18
|
var _useRangePosition = require("../useRangePosition");
|
|
19
|
+
var _usePickerRangePositionContext = require("../../../hooks/usePickerRangePositionContext");
|
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
21
|
const _excluded = ["props"];
|
|
21
22
|
const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
|
|
@@ -54,22 +55,16 @@ const useDesktopRangePicker = _ref => {
|
|
|
54
55
|
const singleInputFieldRef = React.useRef(null);
|
|
55
56
|
const initialView = React.useRef(props.openTo ?? null);
|
|
56
57
|
const fieldType = slots.field.fieldType ?? 'multi-input';
|
|
57
|
-
const
|
|
58
|
-
rangePosition,
|
|
59
|
-
onRangePositionChange
|
|
60
|
-
} = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
|
|
58
|
+
const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
|
|
61
59
|
let fieldRef;
|
|
62
60
|
if (fieldType === 'single-input') {
|
|
63
61
|
fieldRef = singleInputFieldRef;
|
|
64
|
-
} else if (rangePosition === 'start') {
|
|
62
|
+
} else if (rangePositionResponse.rangePosition === 'start') {
|
|
65
63
|
fieldRef = startFieldRef;
|
|
66
64
|
} else {
|
|
67
65
|
fieldRef = endFieldRef;
|
|
68
66
|
}
|
|
69
67
|
const {
|
|
70
|
-
open,
|
|
71
|
-
actions,
|
|
72
|
-
layoutProps,
|
|
73
68
|
providerProps,
|
|
74
69
|
renderCurrentView,
|
|
75
70
|
shouldRestoreFocus,
|
|
@@ -80,15 +75,11 @@ const useDesktopRangePicker = _ref => {
|
|
|
80
75
|
variant: 'desktop',
|
|
81
76
|
autoFocusView: false,
|
|
82
77
|
fieldRef,
|
|
83
|
-
localeText
|
|
84
|
-
additionalViewProps: {
|
|
85
|
-
rangePosition,
|
|
86
|
-
onRangePositionChange
|
|
87
|
-
}
|
|
78
|
+
localeText
|
|
88
79
|
}));
|
|
89
80
|
React.useEffect(() => {
|
|
90
|
-
if (
|
|
91
|
-
initialView.current =
|
|
81
|
+
if (providerProps.contextValue.view) {
|
|
82
|
+
initialView.current = providerProps.contextValue.view;
|
|
92
83
|
}
|
|
93
84
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
94
85
|
}, []);
|
|
@@ -97,7 +88,9 @@ const useDesktopRangePicker = _ref => {
|
|
|
97
88
|
if (fieldContainerRef.current?.contains((0, _internals.getActiveElement)(document)) || popperRef.current?.contains((0, _internals.getActiveElement)(document))) {
|
|
98
89
|
return;
|
|
99
90
|
}
|
|
100
|
-
|
|
91
|
+
|
|
92
|
+
// This direct access to `providerProps` will go away once the range fields stop having their views in a tooltip.
|
|
93
|
+
providerProps.privateContextValue.dismissViews();
|
|
101
94
|
});
|
|
102
95
|
};
|
|
103
96
|
const Field = slots.field;
|
|
@@ -129,18 +122,17 @@ const useDesktopRangePicker = _ref => {
|
|
|
129
122
|
}),
|
|
130
123
|
ownerState
|
|
131
124
|
});
|
|
132
|
-
const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)({
|
|
125
|
+
const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)((0, _extends2.default)({
|
|
133
126
|
variant: 'desktop',
|
|
134
127
|
fieldType,
|
|
135
|
-
|
|
136
|
-
|
|
128
|
+
// These direct access to `providerProps` will go away once the range fields handle the picker opening
|
|
129
|
+
open: providerProps.contextValue.open,
|
|
130
|
+
setOpen: providerProps.contextValue.setOpen,
|
|
137
131
|
readOnly,
|
|
138
132
|
disableOpenPicker,
|
|
139
133
|
label,
|
|
140
134
|
localeText,
|
|
141
135
|
onBlur: handleBlur,
|
|
142
|
-
rangePosition,
|
|
143
|
-
onRangePositionChange,
|
|
144
136
|
pickerSlotProps: slotProps,
|
|
145
137
|
pickerSlots: slots,
|
|
146
138
|
fieldProps,
|
|
@@ -148,40 +140,30 @@ const useDesktopRangePicker = _ref => {
|
|
|
148
140
|
startFieldRef,
|
|
149
141
|
endFieldRef,
|
|
150
142
|
singleInputFieldRef,
|
|
151
|
-
currentView:
|
|
152
|
-
initialView: initialView.current ?? undefined
|
|
153
|
-
|
|
154
|
-
});
|
|
155
|
-
const slotPropsForLayout = (0, _extends2.default)({}, slotProps, {
|
|
156
|
-
tabs: (0, _extends2.default)({}, slotProps?.tabs, {
|
|
157
|
-
rangePosition,
|
|
158
|
-
onRangePositionChange
|
|
159
|
-
}),
|
|
160
|
-
toolbar: (0, _extends2.default)({}, slotProps?.toolbar, {
|
|
161
|
-
rangePosition,
|
|
162
|
-
onRangePositionChange
|
|
163
|
-
})
|
|
164
|
-
});
|
|
143
|
+
currentView: providerProps.contextValue.view !== props.openTo ? providerProps.contextValue.view : undefined,
|
|
144
|
+
initialView: initialView.current ?? undefined
|
|
145
|
+
}, rangePositionResponse));
|
|
165
146
|
const Layout = slots?.layout ?? _PickersLayout.PickersLayout;
|
|
166
|
-
const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.
|
|
167
|
-
children:
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
slots: slots,
|
|
176
|
-
slotProps: slotProps,
|
|
177
|
-
shouldRestoreFocus: shouldRestoreFocus,
|
|
178
|
-
reduceAnimations: reduceAnimations,
|
|
179
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
|
|
147
|
+
const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
|
|
148
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_usePickerRangePositionContext.PickerRangePositionContext.Provider, {
|
|
149
|
+
value: rangePositionResponse,
|
|
150
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersPopper, {
|
|
151
|
+
role: "tooltip",
|
|
152
|
+
placement: "bottom-start",
|
|
153
|
+
containerRef: popperRef,
|
|
154
|
+
anchorEl: anchorRef.current,
|
|
155
|
+
onBlur: handleBlur,
|
|
180
156
|
slots: slots,
|
|
181
|
-
slotProps:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
157
|
+
slotProps: slotProps,
|
|
158
|
+
shouldRestoreFocus: shouldRestoreFocus,
|
|
159
|
+
reduceAnimations: reduceAnimations,
|
|
160
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
|
|
161
|
+
slots: slots,
|
|
162
|
+
slotProps: slotProps,
|
|
163
|
+
children: renderCurrentView()
|
|
164
|
+
}))
|
|
165
|
+
})]
|
|
166
|
+
})
|
|
185
167
|
}));
|
|
186
168
|
return {
|
|
187
169
|
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,
|
|
@@ -32,7 +32,7 @@ const useMultiInputFieldSlotProps = ({
|
|
|
32
32
|
anchorRef,
|
|
33
33
|
currentView,
|
|
34
34
|
initialView,
|
|
35
|
-
|
|
35
|
+
setView,
|
|
36
36
|
startFieldRef,
|
|
37
37
|
endFieldRef
|
|
38
38
|
}) => {
|
|
@@ -62,21 +62,23 @@ 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 = () => {
|
|
76
78
|
if (open) {
|
|
77
79
|
onRangePositionChange('start');
|
|
78
80
|
if (previousRangePosition.current !== 'start' && initialView) {
|
|
79
|
-
|
|
81
|
+
setView?.(initialView);
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
};
|
|
@@ -84,7 +86,7 @@ const useMultiInputFieldSlotProps = ({
|
|
|
84
86
|
if (open) {
|
|
85
87
|
onRangePositionChange('end');
|
|
86
88
|
if (previousRangePosition.current !== 'end' && initialView) {
|
|
87
|
-
|
|
89
|
+
setView?.(initialView);
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
92
|
};
|
|
@@ -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, {
|
|
@@ -18,6 +18,7 @@ var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
|
18
18
|
var _useEnrichedRangePickerFieldProps = require("../useEnrichedRangePickerFieldProps");
|
|
19
19
|
var _releaseInfo = require("../../utils/releaseInfo");
|
|
20
20
|
var _useRangePosition = require("../useRangePosition");
|
|
21
|
+
var _usePickerRangePositionContext = require("../../../hooks/usePickerRangePositionContext");
|
|
21
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
23
|
const _excluded = ["props"];
|
|
23
24
|
const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
|
|
@@ -50,24 +51,18 @@ const useMobileRangePicker = _ref => {
|
|
|
50
51
|
const endFieldRef = React.useRef(null);
|
|
51
52
|
const singleInputFieldRef = React.useRef(null);
|
|
52
53
|
const fieldType = slots.field.fieldType ?? 'multi-input';
|
|
53
|
-
const
|
|
54
|
-
rangePosition,
|
|
55
|
-
onRangePositionChange
|
|
56
|
-
} = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
|
|
54
|
+
const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
|
|
57
55
|
const labelId = (0, _useId.default)();
|
|
58
56
|
const contextTranslations = (0, _hooks.usePickerTranslations)();
|
|
59
57
|
let fieldRef;
|
|
60
58
|
if (fieldType === 'single-input') {
|
|
61
59
|
fieldRef = singleInputFieldRef;
|
|
62
|
-
} else if (rangePosition === 'start') {
|
|
60
|
+
} else if (rangePositionResponse.rangePosition === 'start') {
|
|
63
61
|
fieldRef = startFieldRef;
|
|
64
62
|
} else {
|
|
65
63
|
fieldRef = endFieldRef;
|
|
66
64
|
}
|
|
67
65
|
const {
|
|
68
|
-
open,
|
|
69
|
-
actions,
|
|
70
|
-
layoutProps,
|
|
71
66
|
providerProps,
|
|
72
67
|
renderCurrentView,
|
|
73
68
|
fieldProps: pickerFieldProps,
|
|
@@ -77,11 +72,7 @@ const useMobileRangePicker = _ref => {
|
|
|
77
72
|
variant: 'mobile',
|
|
78
73
|
autoFocusView: true,
|
|
79
74
|
fieldRef,
|
|
80
|
-
localeText
|
|
81
|
-
additionalViewProps: {
|
|
82
|
-
rangePosition,
|
|
83
|
-
onRangePositionChange
|
|
84
|
-
}
|
|
75
|
+
localeText
|
|
85
76
|
}));
|
|
86
77
|
const Field = slots.field;
|
|
87
78
|
const fieldProps = (0, _useSlotProps.default)({
|
|
@@ -111,36 +102,24 @@ const useMobileRangePicker = _ref => {
|
|
|
111
102
|
ownerState
|
|
112
103
|
});
|
|
113
104
|
const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
|
|
114
|
-
const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)({
|
|
105
|
+
const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)((0, _extends2.default)({
|
|
115
106
|
variant: 'mobile',
|
|
116
107
|
fieldType,
|
|
117
|
-
|
|
118
|
-
|
|
108
|
+
// These direct access to `providerProps` will go away once the range fields handle the picker opening
|
|
109
|
+
open: providerProps.contextValue.open,
|
|
110
|
+
setOpen: providerProps.contextValue.setOpen,
|
|
119
111
|
readOnly,
|
|
120
112
|
labelId,
|
|
121
113
|
disableOpenPicker,
|
|
122
114
|
label,
|
|
123
115
|
localeText,
|
|
124
|
-
rangePosition,
|
|
125
|
-
onRangePositionChange,
|
|
126
116
|
pickerSlots: slots,
|
|
127
117
|
pickerSlotProps: innerSlotProps,
|
|
128
118
|
fieldProps,
|
|
129
119
|
startFieldRef,
|
|
130
120
|
endFieldRef,
|
|
131
121
|
singleInputFieldRef
|
|
132
|
-
});
|
|
133
|
-
const slotPropsForLayout = (0, _extends2.default)({}, innerSlotProps, {
|
|
134
|
-
tabs: (0, _extends2.default)({}, innerSlotProps?.tabs, {
|
|
135
|
-
rangePosition,
|
|
136
|
-
onRangePositionChange
|
|
137
|
-
}),
|
|
138
|
-
toolbar: (0, _extends2.default)({}, innerSlotProps?.toolbar, {
|
|
139
|
-
titleId: labelId,
|
|
140
|
-
rangePosition,
|
|
141
|
-
onRangePositionChange
|
|
142
|
-
})
|
|
143
|
-
});
|
|
122
|
+
}, rangePositionResponse));
|
|
144
123
|
const Layout = slots?.layout ?? _PickersLayout.PickersLayout;
|
|
145
124
|
const finalLocaleText = (0, _extends2.default)({}, contextTranslations, localeText);
|
|
146
125
|
let labelledById = pickerParams.valueType === 'date-time' ? `${labelId}-start-toolbar ${labelId}-end-toolbar` : labelId;
|
|
@@ -159,21 +138,26 @@ const useMobileRangePicker = _ref => {
|
|
|
159
138
|
labelledById = labels.length > 0 ? labels.join(' ') : undefined;
|
|
160
139
|
}
|
|
161
140
|
const slotProps = (0, _extends2.default)({}, innerSlotProps, {
|
|
141
|
+
toolbar: (0, _extends2.default)({}, innerSlotProps?.toolbar, {
|
|
142
|
+
titleId: labelId
|
|
143
|
+
}),
|
|
162
144
|
mobilePaper: (0, _extends2.default)({
|
|
163
145
|
'aria-labelledby': labelledById
|
|
164
146
|
}, innerSlotProps?.mobilePaper)
|
|
165
147
|
});
|
|
166
|
-
const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.
|
|
167
|
-
children:
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
slotProps: slotProps,
|
|
171
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
|
|
148
|
+
const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
|
|
149
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_usePickerRangePositionContext.PickerRangePositionContext.Provider, {
|
|
150
|
+
value: rangePositionResponse,
|
|
151
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersModalDialog, {
|
|
172
152
|
slots: slots,
|
|
173
|
-
slotProps:
|
|
174
|
-
children:
|
|
175
|
-
|
|
176
|
-
|
|
153
|
+
slotProps: slotProps,
|
|
154
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
|
|
155
|
+
slots: slots,
|
|
156
|
+
slotProps: slotProps,
|
|
157
|
+
children: renderCurrentView()
|
|
158
|
+
}))
|
|
159
|
+
})]
|
|
160
|
+
})
|
|
177
161
|
}));
|
|
178
162
|
return {
|
|
179
163
|
renderPicker
|
|
@@ -14,14 +14,19 @@ var _validation2 = require("../../../validation");
|
|
|
14
14
|
var _valueManagers = require("../../utils/valueManagers");
|
|
15
15
|
var _shared = require("./shared");
|
|
16
16
|
var _useMultiInputFieldSelectedSections = require("../useMultiInputFieldSelectedSections");
|
|
17
|
+
var _managers = require("../../../managers");
|
|
17
18
|
const useMultiInputDateRangeField = ({
|
|
18
|
-
sharedProps
|
|
19
|
+
sharedProps,
|
|
19
20
|
startTextFieldProps,
|
|
20
21
|
unstableStartFieldRef,
|
|
21
22
|
endTextFieldProps,
|
|
22
23
|
unstableEndFieldRef
|
|
23
24
|
}) => {
|
|
24
|
-
const
|
|
25
|
+
const manager = (0, _managers.useDateRangeManager)(sharedProps);
|
|
26
|
+
const sharedPropsWithDefaults = (0, _internals.useFieldInternalPropsWithDefaults)({
|
|
27
|
+
manager,
|
|
28
|
+
internalProps: sharedProps
|
|
29
|
+
});
|
|
25
30
|
const {
|
|
26
31
|
value: valueProp,
|
|
27
32
|
defaultValue,
|
|
@@ -37,7 +42,7 @@ const useMultiInputDateRangeField = ({
|
|
|
37
42
|
timezone: timezoneProp,
|
|
38
43
|
enableAccessibleFieldDOMStructure,
|
|
39
44
|
autoFocus
|
|
40
|
-
} =
|
|
45
|
+
} = sharedPropsWithDefaults;
|
|
41
46
|
const {
|
|
42
47
|
value,
|
|
43
48
|
handleValueChange,
|
|
@@ -55,11 +60,11 @@ const useMultiInputDateRangeField = ({
|
|
|
55
60
|
validationError,
|
|
56
61
|
getValidationErrorForNewValue
|
|
57
62
|
} = (0, _validation.useValidation)({
|
|
58
|
-
props:
|
|
63
|
+
props: sharedPropsWithDefaults,
|
|
59
64
|
value,
|
|
60
65
|
timezone,
|
|
61
66
|
validator: _validation2.validateDateRange,
|
|
62
|
-
onError:
|
|
67
|
+
onError: sharedPropsWithDefaults.onError
|
|
63
68
|
});
|
|
64
69
|
|
|
65
70
|
// TODO: Maybe export utility from `useField` instead of copy/pasting the logic
|