@mui/x-date-pickers-pro 8.0.0-alpha.6 → 8.0.0-alpha.8
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 +242 -1
- package/DateRangeCalendar/DateRangeCalendar.js +12 -10
- 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 +27 -19
- package/DateRangePicker/shared.d.ts +1 -1
- package/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
- package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +3 -4
- package/DateTimeRangePicker/DateTimeRangePickerTabs.js +10 -9
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -10
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -3
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +29 -31
- package/DateTimeRangePicker/shared.d.ts +2 -2
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
- package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +5 -0
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
- package/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
- package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +9 -4
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +12 -116
- package/MultiInputDateRangeField/index.d.ts +5 -3
- package/MultiInputDateRangeField/index.js +2 -2
- package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +6 -0
- package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +9 -4
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +12 -116
- package/MultiInputDateTimeRangeField/index.d.ts +5 -3
- package/MultiInputDateTimeRangeField/index.js +2 -2
- package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +6 -0
- package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +9 -4
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -117
- package/MultiInputTimeRangeField/index.d.ts +5 -3
- package/MultiInputTimeRangeField/index.js +2 -2
- package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +6 -0
- package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +20 -30
- package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -17
- package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +20 -30
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +6 -18
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -30
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +6 -18
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
- package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
- package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
- package/hooks/index.d.ts +2 -0
- package/hooks/index.js +2 -0
- package/hooks/package.json +6 -0
- package/hooks/useMultiInputRangeField/index.d.ts +1 -0
- package/hooks/useMultiInputRangeField/index.js +1 -0
- package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +53 -0
- package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
- package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +17 -0
- package/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
- package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +17 -0
- package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -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/index.d.ts +1 -1
- package/internals/hooks/models/useRangePicker.d.ts +6 -8
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +40 -67
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +3 -5
- package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +18 -9
- package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +39 -52
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +33 -56
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +3 -5
- package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
- package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
- package/internals/hooks/useRangePosition.d.ts +2 -2
- package/internals/hooks/useRangePosition.js +1 -1
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
- package/internals/models/dateTimeRange.d.ts +1 -6
- package/internals/models/fields.d.ts +1 -2
- package/internals/models/index.d.ts +0 -1
- package/internals/models/index.js +0 -1
- package/internals/models/managers.d.ts +3 -0
- package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +3 -0
- package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +133 -0
- package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +72 -0
- package/internals/utils/createMultiInputRangeField/index.d.ts +3 -0
- package/internals/utils/createMultiInputRangeField/index.js +2 -0
- 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 +33 -0
- package/managers/useDateTimeRangeManager.d.ts +15 -0
- package/managers/useDateTimeRangeManager.js +33 -0
- package/managers/useTimeRangeManager.d.ts +15 -0
- package/managers/useTimeRangeManager.js +31 -0
- package/models/fields.d.ts +1 -2
- package/models/index.d.ts +0 -2
- package/models/index.js +0 -2
- 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 +12 -10
- package/modern/DateRangePicker/DateRangePicker.js +1 -1
- package/modern/DateRangePicker/DateRangePickerToolbar.js +27 -19
- package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
- package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +10 -9
- package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
- package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +29 -31
- 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/MultiInputDateRangeField/MultiInputDateRangeField.js +12 -116
- package/modern/MultiInputDateRangeField/index.js +2 -2
- package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +12 -116
- package/modern/MultiInputDateTimeRangeField/index.js +2 -2
- package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -117
- package/modern/MultiInputTimeRangeField/index.js +2 -2
- package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +20 -30
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +20 -30
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -30
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
- package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
- package/modern/hooks/index.js +2 -0
- package/modern/hooks/useMultiInputRangeField/index.js +1 -0
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
- package/modern/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
- package/modern/hooks/usePickerRangePositionContext.js +15 -0
- package/modern/index.js +4 -2
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +40 -67
- package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +39 -52
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +33 -56
- package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
- package/modern/internals/hooks/useRangePosition.js +1 -1
- package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
- package/modern/internals/models/index.js +0 -1
- package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +133 -0
- package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
- 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 +33 -0
- package/modern/managers/useDateTimeRangeManager.js +33 -0
- package/modern/managers/useTimeRangeManager.js +31 -0
- package/modern/models/index.js +0 -2
- package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/node/DateRangeCalendar/DateRangeCalendar.js +12 -10
- package/node/DateRangePicker/DateRangePicker.js +1 -1
- package/node/DateRangePicker/DateRangePickerToolbar.js +26 -18
- package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
- package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +10 -9
- package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
- package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +29 -31
- 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/MultiInputDateRangeField/MultiInputDateRangeField.js +11 -119
- package/node/MultiInputDateRangeField/index.js +3 -9
- package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +11 -119
- package/node/MultiInputDateTimeRangeField/index.js +3 -9
- package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +12 -120
- package/node/MultiInputTimeRangeField/index.js +3 -9
- package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +19 -29
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +19 -29
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +19 -29
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
- package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
- package/node/hooks/index.js +19 -0
- package/node/hooks/useMultiInputRangeField/index.js +12 -0
- package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
- package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
- package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
- package/node/hooks/usePickerRangePositionContext.js +22 -0
- package/node/index.js +23 -1
- package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +39 -66
- package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +41 -54
- package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +32 -55
- package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
- package/node/internals/hooks/useRangePosition.js +1 -1
- package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
- package/node/internals/models/index.js +0 -11
- package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +140 -0
- package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
- 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 +40 -0
- package/node/managers/useDateTimeRangeManager.js +40 -0
- package/node/managers/useTimeRangeManager.js +38 -0
- package/node/models/index.js +0 -22
- package/package.json +5 -5
- package/themeAugmentation/overrides.d.ts +6 -4
- package/themeAugmentation/props.d.ts +2 -2
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -55
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -56
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -56
- package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +0 -20
- package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
- package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
- package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
- package/internals/models/timeRange.d.ts +0 -6
- package/internals/models/timeRange.js +0 -1
- package/models/dateRange.d.ts +0 -7
- package/models/dateRange.js +0 -1
- package/models/multiInputRangeFieldClasses.d.ts +0 -7
- package/models/multiInputRangeFieldClasses.js +0 -1
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
- package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
- package/modern/internals/models/timeRange.js +0 -1
- package/modern/models/dateRange.js +0 -1
- package/modern/models/multiInputRangeFieldClasses.js +0 -1
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
- package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -121
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -121
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -121
- package/node/internals/models/timeRange.js +0 -5
- package/node/models/dateRange.js +0 -5
- package/node/models/multiInputRangeFieldClasses.js +0 -5
- /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
- /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
- /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
- /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
- /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
- /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["slots", "slotProps"
|
|
4
|
+
const _excluded = ["slots", "slotProps"];
|
|
6
5
|
import * as React from 'react';
|
|
7
6
|
import PropTypes from 'prop-types';
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
|
|
7
|
+
import { DateRangeIcon } from '@mui/x-date-pickers/icons';
|
|
8
|
+
import { PickerFieldUI, useFieldTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
11
9
|
import { useThemeProps } from '@mui/material/styles';
|
|
12
10
|
import { refType } from '@mui/utils';
|
|
13
|
-
import useSlotProps from '@mui/utils/useSlotProps';
|
|
14
|
-
import { useClearableField } from '@mui/x-date-pickers/hooks';
|
|
15
11
|
import { useSingleInputDateTimeRangeField } from "./useSingleInputDateTimeRangeField.js";
|
|
16
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
13
|
/**
|
|
@@ -31,33 +27,21 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
|
|
|
31
27
|
});
|
|
32
28
|
const {
|
|
33
29
|
slots,
|
|
34
|
-
slotProps
|
|
35
|
-
InputProps,
|
|
36
|
-
inputProps
|
|
30
|
+
slotProps
|
|
37
31
|
} = themeProps,
|
|
38
32
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
externalSlotProps: slotProps?.textField,
|
|
44
|
-
externalForwardedProps: other,
|
|
45
|
-
ownerState,
|
|
46
|
-
additionalProps: {
|
|
47
|
-
ref: inRef
|
|
48
|
-
}
|
|
33
|
+
const textFieldProps = useFieldTextFieldProps({
|
|
34
|
+
slotProps,
|
|
35
|
+
ref: inRef,
|
|
36
|
+
externalForwardedProps: other
|
|
49
37
|
});
|
|
50
|
-
|
|
51
|
-
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
52
|
-
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
53
|
-
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
54
38
|
const fieldResponse = useSingleInputDateTimeRangeField(textFieldProps);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
39
|
+
return /*#__PURE__*/_jsx(PickerFieldUI, {
|
|
40
|
+
slots: slots,
|
|
41
|
+
slotProps: slotProps,
|
|
42
|
+
fieldResponse: fieldResponse,
|
|
43
|
+
defaultOpenPickerIcon: DateRangeIcon
|
|
44
|
+
});
|
|
61
45
|
});
|
|
62
46
|
SingleInputDateTimeRangeField.fieldType = 'single-input';
|
|
63
47
|
process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes = {
|
|
@@ -81,6 +65,12 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
81
65
|
* @default false
|
|
82
66
|
*/
|
|
83
67
|
clearable: PropTypes.bool,
|
|
68
|
+
/**
|
|
69
|
+
* The position at which the clear button is placed.
|
|
70
|
+
* If the field is not clearable, the button is not rendered.
|
|
71
|
+
* @default 'end'
|
|
72
|
+
*/
|
|
73
|
+
clearButtonPosition: PropTypes.oneOf(['end', 'start']),
|
|
84
74
|
/**
|
|
85
75
|
* The color of the component.
|
|
86
76
|
* It supports both default and custom theme colors, which can be added as shown in the
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import { useField, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
|
|
3
|
+
import { useField, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
|
|
5
4
|
import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const props = useDefaultizedDateTimeField(inProps);
|
|
5
|
+
import { useDateTimeRangeManager } from "../managers/index.js";
|
|
6
|
+
export const useSingleInputDateTimeRangeField = props => {
|
|
7
|
+
const manager = useDateTimeRangeManager(props);
|
|
10
8
|
const {
|
|
11
9
|
forwardedProps,
|
|
12
10
|
internalProps
|
|
13
11
|
} = useSplitFieldProps(props, 'date-time');
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
|
|
13
|
+
manager,
|
|
14
|
+
internalProps
|
|
15
|
+
});
|
|
17
16
|
return useField({
|
|
18
17
|
forwardedProps,
|
|
19
|
-
internalProps,
|
|
20
|
-
valueManager:
|
|
21
|
-
fieldValueManager,
|
|
22
|
-
validator:
|
|
23
|
-
valueType:
|
|
18
|
+
internalProps: internalPropsWithDefaults,
|
|
19
|
+
valueManager: manager.internal_valueManager,
|
|
20
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
21
|
+
validator: manager.validator,
|
|
22
|
+
valueType: manager.valueType,
|
|
23
|
+
getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
|
|
24
24
|
});
|
|
25
25
|
};
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["slots", "slotProps"
|
|
4
|
+
const _excluded = ["slots", "slotProps"];
|
|
6
5
|
import * as React from 'react';
|
|
7
6
|
import PropTypes from 'prop-types';
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import { convertFieldResponseIntoMuiTextFieldProps, useFieldOwnerState } from '@mui/x-date-pickers/internals';
|
|
11
|
-
import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
|
|
7
|
+
import { ClockIcon } from '@mui/x-date-pickers/icons';
|
|
8
|
+
import { PickerFieldUI, useFieldTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
12
9
|
import { useThemeProps } from '@mui/material/styles';
|
|
13
|
-
import useSlotProps from '@mui/utils/useSlotProps';
|
|
14
10
|
import { refType } from '@mui/utils';
|
|
15
11
|
import { useSingleInputTimeRangeField } from "./useSingleInputTimeRangeField.js";
|
|
16
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -31,33 +27,21 @@ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
31
27
|
});
|
|
32
28
|
const {
|
|
33
29
|
slots,
|
|
34
|
-
slotProps
|
|
35
|
-
InputProps,
|
|
36
|
-
inputProps
|
|
30
|
+
slotProps
|
|
37
31
|
} = themeProps,
|
|
38
32
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
externalSlotProps: slotProps?.textField,
|
|
44
|
-
externalForwardedProps: other,
|
|
45
|
-
ownerState,
|
|
46
|
-
additionalProps: {
|
|
47
|
-
ref: inRef
|
|
48
|
-
}
|
|
33
|
+
const textFieldProps = useFieldTextFieldProps({
|
|
34
|
+
slotProps,
|
|
35
|
+
ref: inRef,
|
|
36
|
+
externalForwardedProps: other
|
|
49
37
|
});
|
|
50
|
-
|
|
51
|
-
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
52
|
-
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
53
|
-
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
54
38
|
const fieldResponse = useSingleInputTimeRangeField(textFieldProps);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
39
|
+
return /*#__PURE__*/_jsx(PickerFieldUI, {
|
|
40
|
+
slots: slots,
|
|
41
|
+
slotProps: slotProps,
|
|
42
|
+
fieldResponse: fieldResponse,
|
|
43
|
+
defaultOpenPickerIcon: ClockIcon
|
|
44
|
+
});
|
|
61
45
|
});
|
|
62
46
|
SingleInputTimeRangeField.fieldType = 'single-input';
|
|
63
47
|
process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
@@ -81,6 +65,12 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
81
65
|
* @default false
|
|
82
66
|
*/
|
|
83
67
|
clearable: PropTypes.bool,
|
|
68
|
+
/**
|
|
69
|
+
* The position at which the clear button is placed.
|
|
70
|
+
* If the field is not clearable, the button is not rendered.
|
|
71
|
+
* @default 'end'
|
|
72
|
+
*/
|
|
73
|
+
clearButtonPosition: PropTypes.oneOf(['end', 'start']),
|
|
84
74
|
/**
|
|
85
75
|
* The color of the component.
|
|
86
76
|
* It supports both default and custom theme colors, which can be added as shown in the
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import { useField, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
|
|
3
|
+
import { useField, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
|
|
5
4
|
import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const props = useDefaultizedTimeField(inProps);
|
|
5
|
+
import { useTimeRangeManager } from "../managers/index.js";
|
|
6
|
+
export const useSingleInputTimeRangeField = props => {
|
|
7
|
+
const manager = useTimeRangeManager(props);
|
|
10
8
|
const {
|
|
11
9
|
forwardedProps,
|
|
12
10
|
internalProps
|
|
13
11
|
} = useSplitFieldProps(props, 'time');
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
|
|
13
|
+
manager,
|
|
14
|
+
internalProps
|
|
15
|
+
});
|
|
17
16
|
return useField({
|
|
18
17
|
forwardedProps,
|
|
19
|
-
internalProps,
|
|
20
|
-
valueManager:
|
|
21
|
-
fieldValueManager,
|
|
22
|
-
validator:
|
|
23
|
-
valueType:
|
|
18
|
+
internalProps: internalPropsWithDefaults,
|
|
19
|
+
valueManager: manager.internal_valueManager,
|
|
20
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
21
|
+
validator: manager.validator,
|
|
22
|
+
valueType: manager.valueType,
|
|
23
|
+
getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
|
|
24
24
|
});
|
|
25
25
|
};
|
|
@@ -19,9 +19,6 @@ export const renderDateRangeViewCalendar = ({
|
|
|
19
19
|
shouldDisableDate,
|
|
20
20
|
reduceAnimations,
|
|
21
21
|
onMonthChange,
|
|
22
|
-
rangePosition,
|
|
23
|
-
defaultRangePosition,
|
|
24
|
-
onRangePositionChange,
|
|
25
22
|
calendars,
|
|
26
23
|
currentMonthCalendarPosition,
|
|
27
24
|
slots,
|
|
@@ -58,9 +55,6 @@ export const renderDateRangeViewCalendar = ({
|
|
|
58
55
|
shouldDisableDate: shouldDisableDate,
|
|
59
56
|
reduceAnimations: reduceAnimations,
|
|
60
57
|
onMonthChange: onMonthChange,
|
|
61
|
-
rangePosition: rangePosition,
|
|
62
|
-
defaultRangePosition: defaultRangePosition,
|
|
63
|
-
onRangePositionChange: onRangePositionChange,
|
|
64
58
|
calendars: calendars,
|
|
65
59
|
currentMonthCalendarPosition: currentMonthCalendarPosition,
|
|
66
60
|
slots: slots,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useMultiInputRangeField } from "./useMultiInputRangeField.js";
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import useEventCallback from '@mui/utils/useEventCallback';
|
|
5
|
+
import { useControlledValueWithTimezone, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
|
|
6
|
+
import { useValidation } from '@mui/x-date-pickers/validation';
|
|
7
|
+
import { useMultiInputRangeFieldTextFieldProps } from "./useMultiInputRangeFieldTextFieldProps.js";
|
|
8
|
+
import { useMultiInputRangeFieldSelectedSections } from "./useMultiInputRangeFieldSelectedSections.js";
|
|
9
|
+
/**
|
|
10
|
+
* Basic example:
|
|
11
|
+
*
|
|
12
|
+
* ```tsx
|
|
13
|
+
* import Box from '@mui/material/Box';
|
|
14
|
+
* import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
|
|
15
|
+
* import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
|
|
16
|
+
* import { useDateRangeManager } from '@mui/x-date-pickers-pro/managers';
|
|
17
|
+
*
|
|
18
|
+
* function MultiInputField(props) {
|
|
19
|
+
* const manager = useDateRangeManager();
|
|
20
|
+
* const { internalProps, forwardedProps } = useSplitFieldProps(props, 'date');
|
|
21
|
+
* const { startDate, endDate } = useMultiInputRangeField({
|
|
22
|
+
* manager,
|
|
23
|
+
* internalProps,
|
|
24
|
+
* startForwardedProps: forwardedProps,
|
|
25
|
+
* endForwardedProps: forwardedProps,
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* return (
|
|
29
|
+
* <Box {...forwardedProps}>
|
|
30
|
+
* <PickersTextField {...startDate} />
|
|
31
|
+
* <span>{' – '}</span>
|
|
32
|
+
* <PickersTextField {...endDate} />
|
|
33
|
+
* </Box>
|
|
34
|
+
* );
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @param {UseMultiInputRangeFieldParameters<TManager, TForwardedProps>} parameters The parameters of the hook.
|
|
39
|
+
* @param {TManager} parameters.manager The manager of the field.
|
|
40
|
+
* @param {PickerManagerFieldInternalProps<TManager>} parameters.internalProps The internal props of the field.
|
|
41
|
+
* @param {TForwardedProps} parameters.startForwardedProps The forwarded props of the start field.
|
|
42
|
+
* @param {TForwardedProps} parameters.endForwardedProps The forwarded props of the end field.
|
|
43
|
+
* @returns {UseMultiInputRangeFieldReturnValue<TManager, TForwardedProps>} The props to pass to the start and the end components.
|
|
44
|
+
*/
|
|
45
|
+
export function useMultiInputRangeField(parameters) {
|
|
46
|
+
const {
|
|
47
|
+
manager,
|
|
48
|
+
internalProps,
|
|
49
|
+
startForwardedProps,
|
|
50
|
+
endForwardedProps
|
|
51
|
+
} = parameters;
|
|
52
|
+
const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
|
|
53
|
+
manager,
|
|
54
|
+
internalProps
|
|
55
|
+
});
|
|
56
|
+
const {
|
|
57
|
+
value: valueProp,
|
|
58
|
+
defaultValue,
|
|
59
|
+
format,
|
|
60
|
+
formatDensity,
|
|
61
|
+
shouldRespectLeadingZeros,
|
|
62
|
+
onChange,
|
|
63
|
+
disabled,
|
|
64
|
+
readOnly,
|
|
65
|
+
selectedSections,
|
|
66
|
+
onSelectedSectionsChange,
|
|
67
|
+
timezone: timezoneProp,
|
|
68
|
+
enableAccessibleFieldDOMStructure,
|
|
69
|
+
autoFocus,
|
|
70
|
+
referenceDate,
|
|
71
|
+
unstableStartFieldRef,
|
|
72
|
+
unstableEndFieldRef
|
|
73
|
+
} = internalPropsWithDefaults;
|
|
74
|
+
const {
|
|
75
|
+
value,
|
|
76
|
+
handleValueChange,
|
|
77
|
+
timezone
|
|
78
|
+
} = useControlledValueWithTimezone({
|
|
79
|
+
name: 'useMultiInputRangeField',
|
|
80
|
+
timezone: timezoneProp,
|
|
81
|
+
value: valueProp,
|
|
82
|
+
defaultValue,
|
|
83
|
+
referenceDate,
|
|
84
|
+
onChange,
|
|
85
|
+
valueManager: manager.internal_valueManager
|
|
86
|
+
});
|
|
87
|
+
const {
|
|
88
|
+
validationError,
|
|
89
|
+
getValidationErrorForNewValue
|
|
90
|
+
} = useValidation({
|
|
91
|
+
props: internalPropsWithDefaults,
|
|
92
|
+
value,
|
|
93
|
+
timezone,
|
|
94
|
+
validator: manager.validator,
|
|
95
|
+
onError: internalPropsWithDefaults.onError
|
|
96
|
+
});
|
|
97
|
+
const buildChangeHandler = index => {
|
|
98
|
+
return (newSingleValue, rawContext) => {
|
|
99
|
+
const newRange = index === 0 ? [newSingleValue, value[1]] : [value[0], newSingleValue];
|
|
100
|
+
const context = _extends({}, rawContext, {
|
|
101
|
+
validationError: getValidationErrorForNewValue(newRange)
|
|
102
|
+
});
|
|
103
|
+
handleValueChange(newRange, context);
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
const handleStartDateChange = useEventCallback(buildChangeHandler(0));
|
|
107
|
+
const handleEndDateChange = useEventCallback(buildChangeHandler(1));
|
|
108
|
+
const selectedSectionsResponse = useMultiInputRangeFieldSelectedSections({
|
|
109
|
+
selectedSections,
|
|
110
|
+
onSelectedSectionsChange,
|
|
111
|
+
unstableStartFieldRef,
|
|
112
|
+
unstableEndFieldRef
|
|
113
|
+
});
|
|
114
|
+
const sharedProps = {
|
|
115
|
+
disabled,
|
|
116
|
+
readOnly,
|
|
117
|
+
timezone,
|
|
118
|
+
format,
|
|
119
|
+
formatDensity,
|
|
120
|
+
shouldRespectLeadingZeros,
|
|
121
|
+
enableAccessibleFieldDOMStructure
|
|
122
|
+
};
|
|
123
|
+
const startDateProps = useMultiInputRangeFieldTextFieldProps({
|
|
124
|
+
valueType: manager.valueType,
|
|
125
|
+
fieldProps: _extends({
|
|
126
|
+
error: !!validationError[0]
|
|
127
|
+
}, startForwardedProps, selectedSectionsResponse.start, sharedProps, {
|
|
128
|
+
value: valueProp === undefined ? undefined : valueProp[0],
|
|
129
|
+
defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
|
|
130
|
+
onChange: handleStartDateChange,
|
|
131
|
+
autoFocus // Do not add on end field.
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
const endDateProps = useMultiInputRangeFieldTextFieldProps({
|
|
135
|
+
valueType: manager.valueType,
|
|
136
|
+
fieldProps: _extends({
|
|
137
|
+
error: !!validationError[1]
|
|
138
|
+
}, endForwardedProps, selectedSectionsResponse.end, sharedProps, {
|
|
139
|
+
value: valueProp === undefined ? undefined : valueProp[1],
|
|
140
|
+
defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
|
|
141
|
+
onChange: handleEndDateChange
|
|
142
|
+
})
|
|
143
|
+
});
|
|
144
|
+
return {
|
|
145
|
+
startDate: startDateProps,
|
|
146
|
+
endDate: endDateProps,
|
|
147
|
+
enableAccessibleFieldDOMStructure
|
|
148
|
+
};
|
|
149
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import * as React from 'react';
|
|
2
4
|
import useForkRef from '@mui/utils/useForkRef';
|
|
3
5
|
import useEventCallback from '@mui/utils/useEventCallback';
|
|
4
|
-
export const
|
|
6
|
+
export const useMultiInputRangeFieldSelectedSections = parameters => {
|
|
5
7
|
const unstableEndFieldRef = React.useRef(null);
|
|
6
|
-
const handleUnstableEndFieldRef = useForkRef(
|
|
7
|
-
const [startSelectedSection, setStartSelectedSection] = React.useState(
|
|
8
|
+
const handleUnstableEndFieldRef = useForkRef(parameters.unstableEndFieldRef, unstableEndFieldRef);
|
|
9
|
+
const [startSelectedSection, setStartSelectedSection] = React.useState(parameters.selectedSections ?? null);
|
|
8
10
|
const [endSelectedSection, setEndSelectedSection] = React.useState(null);
|
|
9
11
|
const getActiveField = () => {
|
|
10
12
|
if (unstableEndFieldRef.current && unstableEndFieldRef.current.isFieldFocused()) {
|
|
@@ -15,25 +17,25 @@ export const useMultiInputFieldSelectedSections = params => {
|
|
|
15
17
|
const handleStartSelectedSectionChange = useEventCallback(newSelectedSections => {
|
|
16
18
|
setStartSelectedSection(newSelectedSections);
|
|
17
19
|
if (getActiveField() === 'start') {
|
|
18
|
-
|
|
20
|
+
parameters.onSelectedSectionsChange?.(newSelectedSections);
|
|
19
21
|
}
|
|
20
22
|
});
|
|
21
23
|
const handleEndSelectedSectionChange = useEventCallback(newSelectedSections => {
|
|
22
24
|
setEndSelectedSection(newSelectedSections);
|
|
23
25
|
if (getActiveField() === 'end') {
|
|
24
|
-
|
|
26
|
+
parameters.onSelectedSectionsChange?.(newSelectedSections);
|
|
25
27
|
}
|
|
26
28
|
});
|
|
27
29
|
const activeField = getActiveField();
|
|
28
30
|
return {
|
|
29
31
|
start: {
|
|
30
|
-
unstableFieldRef:
|
|
31
|
-
selectedSections: activeField === 'start' &&
|
|
32
|
+
unstableFieldRef: parameters.unstableStartFieldRef,
|
|
33
|
+
selectedSections: activeField === 'start' && parameters.selectedSections !== undefined ? parameters.selectedSections : startSelectedSection,
|
|
32
34
|
onSelectedSectionsChange: handleStartSelectedSectionChange
|
|
33
35
|
},
|
|
34
36
|
end: {
|
|
35
37
|
unstableFieldRef: handleUnstableEndFieldRef,
|
|
36
|
-
selectedSections: activeField === 'end' &&
|
|
38
|
+
selectedSections: activeField === 'end' && parameters.selectedSections !== undefined ? parameters.selectedSections : endSelectedSection,
|
|
37
39
|
onSelectedSectionsChange: handleEndSelectedSectionChange
|
|
38
40
|
}
|
|
39
41
|
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
const _excluded = ["clearable", "onClear"];
|
|
3
|
+
import { useDateManager, useDateTimeManager, useTimeManager } from '@mui/x-date-pickers/managers';
|
|
4
|
+
import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
|
|
5
|
+
import { useField, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
|
|
6
|
+
/**
|
|
7
|
+
* @ignore - internal hook.
|
|
8
|
+
*/
|
|
9
|
+
export function useMultiInputRangeFieldTextFieldProps(parameters) {
|
|
10
|
+
const {
|
|
11
|
+
fieldProps,
|
|
12
|
+
valueType
|
|
13
|
+
} = parameters;
|
|
14
|
+
let useManager;
|
|
15
|
+
switch (valueType) {
|
|
16
|
+
case 'date':
|
|
17
|
+
{
|
|
18
|
+
useManager = useDateManager;
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
case 'time':
|
|
22
|
+
{
|
|
23
|
+
useManager = useTimeManager;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
case 'date-time':
|
|
27
|
+
{
|
|
28
|
+
useManager = useDateTimeManager;
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
default:
|
|
32
|
+
{
|
|
33
|
+
throw new Error(`Unknown valueType: ${valueType}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const manager = useManager({
|
|
37
|
+
enableAccessibleFieldDOMStructure: fieldProps.enableAccessibleFieldDOMStructure
|
|
38
|
+
});
|
|
39
|
+
const {
|
|
40
|
+
forwardedProps,
|
|
41
|
+
internalProps
|
|
42
|
+
} = useSplitFieldProps(fieldProps, 'date');
|
|
43
|
+
const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
|
|
44
|
+
manager,
|
|
45
|
+
internalProps
|
|
46
|
+
});
|
|
47
|
+
const _ref = useField({
|
|
48
|
+
forwardedProps,
|
|
49
|
+
internalProps: internalPropsWithDefaults,
|
|
50
|
+
valueManager: manager.internal_valueManager,
|
|
51
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
52
|
+
validator: manager.validator,
|
|
53
|
+
valueType: manager.valueType,
|
|
54
|
+
// TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
|
|
55
|
+
getOpenPickerButtonAriaLabel: () => ''
|
|
56
|
+
}),
|
|
57
|
+
fieldResponse = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
58
|
+
return fieldResponse;
|
|
59
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
export const PickerRangePositionContext = /*#__PURE__*/React.createContext(null);
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Returns information about the range position of the picker that wraps the current component.
|
|
8
|
+
*/
|
|
9
|
+
export function usePickerRangePositionContext() {
|
|
10
|
+
const value = React.useContext(PickerRangePositionContext);
|
|
11
|
+
if (value == null) {
|
|
12
|
+
throw new Error(['MUI X: The `usePickerRangePositionContext` can only be called in components that are used inside a picker component'].join('\n'));
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}
|
package/modern/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.8
|
|
3
3
|
*
|
|
4
4
|
* @license MUI X Commercial
|
|
5
5
|
* This source code is licensed under the commercial license found in the
|
|
@@ -32,4 +32,6 @@ export * from "./MobileDateTimeRangePicker/index.js";
|
|
|
32
32
|
// View renderers
|
|
33
33
|
export * from "./dateRangeViewRenderers/index.js";
|
|
34
34
|
export * from "./models/index.js";
|
|
35
|
-
export * from "./
|
|
35
|
+
export * from "./hooks/index.js";
|
|
36
|
+
export * from "./validation/index.js";
|
|
37
|
+
export * from "./managers/index.js";
|