@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
|
@@ -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 useMultiInputDateTimeRangeField = ({
|
|
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.useDateTimeRangeManager)(sharedProps);
|
|
26
|
+
const sharedPropsWithDefaults = (0, _internals.useFieldInternalPropsWithDefaults)({
|
|
27
|
+
manager,
|
|
28
|
+
internalProps: sharedProps
|
|
29
|
+
});
|
|
25
30
|
const {
|
|
26
31
|
value: valueProp,
|
|
27
32
|
defaultValue,
|
|
@@ -37,13 +42,13 @@ const useMultiInputDateTimeRangeField = ({
|
|
|
37
42
|
timezone: timezoneProp,
|
|
38
43
|
enableAccessibleFieldDOMStructure,
|
|
39
44
|
autoFocus
|
|
40
|
-
} =
|
|
45
|
+
} = sharedPropsWithDefaults;
|
|
41
46
|
const {
|
|
42
47
|
value,
|
|
43
48
|
handleValueChange,
|
|
44
49
|
timezone
|
|
45
50
|
} = (0, _internals.useControlledValueWithTimezone)({
|
|
46
|
-
name: '
|
|
51
|
+
name: 'useMultiInputDateTimeRangeField',
|
|
47
52
|
timezone: timezoneProp,
|
|
48
53
|
value: valueProp,
|
|
49
54
|
defaultValue,
|
|
@@ -55,11 +60,11 @@ const useMultiInputDateTimeRangeField = ({
|
|
|
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.validateDateTimeRange,
|
|
62
|
-
onError:
|
|
67
|
+
onError: sharedPropsWithDefaults.onError
|
|
63
68
|
});
|
|
64
69
|
|
|
65
70
|
// TODO: Maybe export utility from `useField` instead of copy/pasting the logic
|
|
@@ -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 useMultiInputTimeRangeField = ({
|
|
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.useTimeRangeManager)(sharedProps);
|
|
26
|
+
const sharedPropsWithDefaults = (0, _internals.useFieldInternalPropsWithDefaults)({
|
|
27
|
+
manager,
|
|
28
|
+
internalProps: sharedProps
|
|
29
|
+
});
|
|
25
30
|
const {
|
|
26
31
|
value: valueProp,
|
|
27
32
|
defaultValue,
|
|
@@ -37,13 +42,13 @@ const useMultiInputTimeRangeField = ({
|
|
|
37
42
|
timezone: timezoneProp,
|
|
38
43
|
enableAccessibleFieldDOMStructure,
|
|
39
44
|
autoFocus
|
|
40
|
-
} =
|
|
45
|
+
} = sharedPropsWithDefaults;
|
|
41
46
|
const {
|
|
42
47
|
value,
|
|
43
48
|
handleValueChange,
|
|
44
49
|
timezone
|
|
45
50
|
} = (0, _internals.useControlledValueWithTimezone)({
|
|
46
|
-
name: '
|
|
51
|
+
name: 'useMultiInputTimeRangeField',
|
|
47
52
|
timezone: timezoneProp,
|
|
48
53
|
value: valueProp,
|
|
49
54
|
defaultValue,
|
|
@@ -55,11 +60,11 @@ const useMultiInputTimeRangeField = ({
|
|
|
55
60
|
validationError,
|
|
56
61
|
getValidationErrorForNewValue
|
|
57
62
|
} = (0, _validation.useValidation)({
|
|
58
|
-
props:
|
|
59
|
-
validator: _validation2.validateTimeRange,
|
|
63
|
+
props: sharedPropsWithDefaults,
|
|
60
64
|
value,
|
|
61
65
|
timezone,
|
|
62
|
-
|
|
66
|
+
validator: _validation2.validateTimeRange,
|
|
67
|
+
onError: sharedPropsWithDefaults.onError
|
|
63
68
|
});
|
|
64
69
|
|
|
65
70
|
// TODO: Maybe export utility from `useField` instead of copy/pasting the logic
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useNullablePickerRangePositionContext = useNullablePickerRangePositionContext;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _usePickerRangePositionContext = require("../../hooks/usePickerRangePositionContext");
|
|
10
|
+
/**
|
|
11
|
+
* Returns information about the range position of the picker that wraps the current component.
|
|
12
|
+
* If no picker wraps the current component, returns `null`.
|
|
13
|
+
*/
|
|
14
|
+
function useNullablePickerRangePositionContext() {
|
|
15
|
+
return React.useContext(_usePickerRangePositionContext.PickerRangePositionContext);
|
|
16
|
+
}
|
|
@@ -14,6 +14,7 @@ var _styles = require("@mui/material/styles");
|
|
|
14
14
|
var _PickersLayout = require("@mui/x-date-pickers/PickersLayout");
|
|
15
15
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
16
16
|
var _useRangePosition = require("../useRangePosition");
|
|
17
|
+
var _usePickerRangePositionContext = require("../../../hooks/usePickerRangePositionContext");
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
19
|
const _excluded = ["props", "ref"];
|
|
19
20
|
const PickerStaticLayout = (0, _styles.styled)(_PickersLayout.PickersLayout)(({
|
|
@@ -43,12 +44,8 @@ const useStaticRangePicker = _ref => {
|
|
|
43
44
|
displayStaticWrapperAs,
|
|
44
45
|
autoFocus
|
|
45
46
|
} = props;
|
|
47
|
+
const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props);
|
|
46
48
|
const {
|
|
47
|
-
rangePosition,
|
|
48
|
-
onRangePositionChange
|
|
49
|
-
} = (0, _useRangePosition.useRangePosition)(props);
|
|
50
|
-
const {
|
|
51
|
-
layoutProps,
|
|
52
49
|
providerProps,
|
|
53
50
|
renderCurrentView
|
|
54
51
|
} = (0, _internals.usePicker)((0, _extends2.default)({}, pickerParams, {
|
|
@@ -56,29 +53,22 @@ const useStaticRangePicker = _ref => {
|
|
|
56
53
|
autoFocusView: autoFocus ?? false,
|
|
57
54
|
fieldRef: undefined,
|
|
58
55
|
localeText,
|
|
59
|
-
additionalViewProps: {
|
|
60
|
-
rangePosition,
|
|
61
|
-
onRangePositionChange
|
|
62
|
-
},
|
|
63
56
|
variant: displayStaticWrapperAs
|
|
64
57
|
}));
|
|
65
58
|
const Layout = slots?.layout ?? PickerStaticLayout;
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
className: (0, _clsx.default)(className, slotProps?.layout?.className),
|
|
78
|
-
ref: ref,
|
|
79
|
-
children: renderCurrentView()
|
|
59
|
+
const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_usePickerRangePositionContext.PickerRangePositionContext.Provider, {
|
|
60
|
+
value: rangePositionResponse,
|
|
61
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
|
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
|
|
63
|
+
slots: slots,
|
|
64
|
+
slotProps: slotProps,
|
|
65
|
+
sx: [...(Array.isArray(sx) ? sx : [sx]), ...(Array.isArray(slotProps?.layout?.sx) ? slotProps.layout.sx : [slotProps?.layout?.sx])],
|
|
66
|
+
className: (0, _clsx.default)(className, slotProps?.layout?.className),
|
|
67
|
+
ref: ref,
|
|
68
|
+
children: renderCurrentView()
|
|
69
|
+
}))
|
|
80
70
|
}))
|
|
81
|
-
})
|
|
71
|
+
});
|
|
82
72
|
return {
|
|
83
73
|
renderPicker
|
|
84
74
|
};
|
|
@@ -15,7 +15,8 @@ function calculateRangeChange({
|
|
|
15
15
|
shouldMergeDateAndTime = false,
|
|
16
16
|
referenceDate
|
|
17
17
|
}) {
|
|
18
|
-
const
|
|
18
|
+
const start = !utils.isValid(range[0]) ? null : range[0];
|
|
19
|
+
const end = !utils.isValid(range[1]) ? null : range[1];
|
|
19
20
|
if (shouldMergeDateAndTime && selectedDate) {
|
|
20
21
|
// If there is a date already selected, then we want to keep its time
|
|
21
22
|
if (start && rangePosition === 'start') {
|
|
@@ -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 = "MTczNjM3NzIwMDAwMA==";
|
|
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
|
|
@@ -19,8 +19,8 @@ const rangeValueManager = exports.rangeValueManager = {
|
|
|
19
19
|
referenceDate: referenceDateProp
|
|
20
20
|
} = _ref,
|
|
21
21
|
params = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
22
|
-
const shouldKeepStartDate =
|
|
23
|
-
const shouldKeepEndDate =
|
|
22
|
+
const shouldKeepStartDate = params.utils.isValid(value[0]);
|
|
23
|
+
const shouldKeepEndDate = params.utils.isValid(value[1]);
|
|
24
24
|
if (shouldKeepStartDate && shouldKeepEndDate) {
|
|
25
25
|
return value;
|
|
26
26
|
}
|
|
@@ -33,8 +33,8 @@ const rangeValueManager = exports.rangeValueManager = {
|
|
|
33
33
|
hasError: error => error[0] != null || error[1] != null,
|
|
34
34
|
defaultErrorState: [null, null],
|
|
35
35
|
getTimezone: (utils, value) => {
|
|
36
|
-
const timezoneStart =
|
|
37
|
-
const timezoneEnd =
|
|
36
|
+
const timezoneStart = utils.isValid(value[0]) ? utils.getTimezone(value[0]) : null;
|
|
37
|
+
const timezoneEnd = utils.isValid(value[1]) ? utils.getTimezone(value[1]) : null;
|
|
38
38
|
if (timezoneStart != null && timezoneEnd != null && timezoneStart !== timezoneEnd) {
|
|
39
39
|
throw new Error('MUI X: The timezone of the start and the end date should be the same.');
|
|
40
40
|
}
|
|
@@ -46,8 +46,8 @@ const getRangeFieldValueManager = ({
|
|
|
46
46
|
dateSeparator = '–'
|
|
47
47
|
}) => ({
|
|
48
48
|
updateReferenceValue: (utils, value, prevReferenceValue) => {
|
|
49
|
-
const shouldKeepStartDate =
|
|
50
|
-
const shouldKeepEndDate =
|
|
49
|
+
const shouldKeepStartDate = utils.isValid(value[0]);
|
|
50
|
+
const shouldKeepEndDate = utils.isValid(value[1]);
|
|
51
51
|
if (!shouldKeepStartDate && !shouldKeepEndDate) {
|
|
52
52
|
return prevReferenceValue;
|
|
53
53
|
}
|
|
@@ -118,7 +118,7 @@ const getRangeFieldValueManager = ({
|
|
|
118
118
|
},
|
|
119
119
|
getNewValuesFromNewActiveDate: newActiveDate => ({
|
|
120
120
|
value: updateDateInRange(newActiveDate, state.value),
|
|
121
|
-
referenceValue:
|
|
121
|
+
referenceValue: !utils.isValid(newActiveDate) ? state.referenceValue : updateDateInRange(newActiveDate, state.referenceValue)
|
|
122
122
|
})
|
|
123
123
|
};
|
|
124
124
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useDateRangeManager", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useDateRangeManager.useDateRangeManager;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "useDateTimeRangeManager", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _useDateTimeRangeManager.useDateTimeRangeManager;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "useTimeRangeManager", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _useTimeRangeManager.useTimeRangeManager;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _useDateRangeManager = require("./useDateRangeManager");
|
|
25
|
+
var _useTimeRangeManager = require("./useTimeRangeManager");
|
|
26
|
+
var _useDateTimeRangeManager = require("./useDateTimeRangeManager");
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.useDateRangeManager = useDateRangeManager;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _internals = require("@mui/x-date-pickers/internals");
|
|
13
|
+
var _valueManagers = require("../internals/utils/valueManagers");
|
|
14
|
+
var _validation = require("../validation");
|
|
15
|
+
function useDateRangeManager(parameters = {}) {
|
|
16
|
+
const {
|
|
17
|
+
enableAccessibleFieldDOMStructure = true,
|
|
18
|
+
dateSeparator
|
|
19
|
+
} = parameters;
|
|
20
|
+
return React.useMemo(() => ({
|
|
21
|
+
valueType: 'date',
|
|
22
|
+
validator: _validation.validateDateRange,
|
|
23
|
+
internal_valueManager: _valueManagers.rangeValueManager,
|
|
24
|
+
internal_fieldValueManager: (0, _valueManagers.getRangeFieldValueManager)({
|
|
25
|
+
dateSeparator
|
|
26
|
+
}),
|
|
27
|
+
internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
|
|
28
|
+
internal_applyDefaultsToFieldInternalProps: ({
|
|
29
|
+
internalProps,
|
|
30
|
+
utils,
|
|
31
|
+
defaultDates
|
|
32
|
+
}) => (0, _extends2.default)({}, internalProps, (0, _internals.getDateFieldInternalPropsDefaults)({
|
|
33
|
+
defaultDates,
|
|
34
|
+
utils,
|
|
35
|
+
internalProps
|
|
36
|
+
}))
|
|
37
|
+
}), [enableAccessibleFieldDOMStructure, dateSeparator]);
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.useDateTimeRangeManager = useDateTimeRangeManager;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _internals = require("@mui/x-date-pickers/internals");
|
|
13
|
+
var _valueManagers = require("../internals/utils/valueManagers");
|
|
14
|
+
var _validation = require("../validation");
|
|
15
|
+
function useDateTimeRangeManager(parameters = {}) {
|
|
16
|
+
const {
|
|
17
|
+
enableAccessibleFieldDOMStructure = true,
|
|
18
|
+
dateSeparator
|
|
19
|
+
} = parameters;
|
|
20
|
+
return React.useMemo(() => ({
|
|
21
|
+
valueType: 'date-time',
|
|
22
|
+
validator: _validation.validateDateTimeRange,
|
|
23
|
+
internal_valueManager: _valueManagers.rangeValueManager,
|
|
24
|
+
internal_fieldValueManager: (0, _valueManagers.getRangeFieldValueManager)({
|
|
25
|
+
dateSeparator
|
|
26
|
+
}),
|
|
27
|
+
internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
|
|
28
|
+
internal_applyDefaultsToFieldInternalProps: ({
|
|
29
|
+
internalProps,
|
|
30
|
+
utils,
|
|
31
|
+
defaultDates
|
|
32
|
+
}) => (0, _extends2.default)({}, internalProps, (0, _internals.getDateTimeFieldInternalPropsDefaults)({
|
|
33
|
+
internalProps,
|
|
34
|
+
utils,
|
|
35
|
+
defaultDates
|
|
36
|
+
}))
|
|
37
|
+
}), [enableAccessibleFieldDOMStructure, dateSeparator]);
|
|
38
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.useTimeRangeManager = useTimeRangeManager;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _internals = require("@mui/x-date-pickers/internals");
|
|
13
|
+
var _valueManagers = require("../internals/utils/valueManagers");
|
|
14
|
+
var _validation = require("../validation");
|
|
15
|
+
function useTimeRangeManager(parameters = {}) {
|
|
16
|
+
const {
|
|
17
|
+
enableAccessibleFieldDOMStructure = true,
|
|
18
|
+
dateSeparator
|
|
19
|
+
} = parameters;
|
|
20
|
+
return React.useMemo(() => ({
|
|
21
|
+
valueType: 'time',
|
|
22
|
+
validator: _validation.validateTimeRange,
|
|
23
|
+
internal_valueManager: _valueManagers.rangeValueManager,
|
|
24
|
+
internal_fieldValueManager: (0, _valueManagers.getRangeFieldValueManager)({
|
|
25
|
+
dateSeparator
|
|
26
|
+
}),
|
|
27
|
+
internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
|
|
28
|
+
internal_applyDefaultsToFieldInternalProps: ({
|
|
29
|
+
internalProps,
|
|
30
|
+
utils
|
|
31
|
+
}) => (0, _extends2.default)({}, internalProps, (0, _internals.getTimeFieldInternalPropsDefaults)({
|
|
32
|
+
utils,
|
|
33
|
+
internalProps
|
|
34
|
+
}))
|
|
35
|
+
}), [enableAccessibleFieldDOMStructure, dateSeparator]);
|
|
36
|
+
}
|
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.7",
|
|
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.7",
|
|
41
|
+
"@mui/x-internals": "8.0.0-alpha.7",
|
|
42
|
+
"@mui/x-license": "8.0.0-alpha.7"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@emotion/react": "^11.9.0",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"@mui/material": "^5.15.14 || ^6.0.0",
|
|
48
48
|
"@mui/system": "^5.15.14 || ^6.0.0",
|
|
49
49
|
"date-fns": "^2.25.0 || ^3.2.0 || ^4.0.0",
|
|
50
|
-
"date-fns-jalali": "^2.13.0-0 || ^3.2.0-0",
|
|
50
|
+
"date-fns-jalali": "^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0",
|
|
51
51
|
"dayjs": "^1.10.7",
|
|
52
52
|
"luxon": "^3.0.2",
|
|
53
53
|
"moment": "^2.29.4",
|