@mui/x-date-pickers-pro 7.0.0-beta.2 → 7.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +429 -30
- package/DateRangeCalendar/DateRangeCalendar.js +3 -1
- package/DateRangeCalendar/DateRangeCalendar.types.d.ts +3 -0
- package/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/DateRangePicker/DateRangePicker.js +9 -9
- package/DateRangePicker/DateRangePicker.types.d.ts +3 -3
- package/DateRangePicker/DateRangePickerToolbar.d.ts +5 -2
- package/DateRangePicker/DateRangePickerToolbar.js +22 -2
- package/DateTimeRangePicker/DateTimeRangePicker.d.ts +1 -1
- package/DateTimeRangePicker/DateTimeRangePicker.js +11 -12
- package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +3 -3
- package/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +3 -0
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +45 -9
- package/DateTimeRangePicker/shared.js +8 -3
- package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +1 -1
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -9
- package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +3 -3
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +1 -1
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +11 -12
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +3 -3
- package/MobileDateRangePicker/MobileDateRangePicker.d.ts +1 -1
- package/MobileDateRangePicker/MobileDateRangePicker.js +9 -9
- package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +3 -3
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +1 -1
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +11 -12
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +3 -3
- package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +1 -1
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -19
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +11 -14
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +1 -1
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -19
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +12 -16
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +1 -1
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +17 -19
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +12 -16
- package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +2 -2
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
- package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +11 -14
- package/SingleInputDateRangeField/index.d.ts +1 -1
- package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +2 -3
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -15
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +2 -2
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +12 -10
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +12 -15
- package/SingleInputDateTimeRangeField/index.d.ts +1 -1
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +2 -3
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -20
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +2 -2
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +11 -9
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +12 -15
- package/SingleInputTimeRangeField/index.d.ts +1 -1
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +2 -3
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -14
- package/StaticDateRangePicker/StaticDateRangePicker.js +0 -1
- package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +1 -1
- package/index.d.ts +0 -1
- package/index.js +2 -1
- package/internals/hooks/models/useRangePicker.d.ts +5 -5
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +16 -7
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +5 -5
- package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +15 -15
- package/internals/hooks/useEnrichedRangePickerFieldProps.js +37 -40
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +5 -5
- package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +21 -0
- package/internals/hooks/useMultiInputFieldSelectedSections.js +43 -0
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +2 -3
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
- package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +4 -4
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +2 -3
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
- package/internals/hooks/useRangePosition.d.ts +2 -4
- package/internals/hooks/useRangePosition.js +3 -6
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +1 -2
- package/internals/models/dateRange.d.ts +3 -15
- package/internals/models/dateTimeRange.d.ts +4 -6
- package/internals/models/index.d.ts +0 -1
- package/internals/models/index.js +0 -1
- package/internals/models/timeRange.d.ts +3 -6
- package/internals/utils/date-fields-utils.d.ts +1 -5
- package/internals/utils/releaseInfo.js +1 -1
- package/internals/utils/valueManagers.d.ts +1 -2
- package/internals/utils/valueManagers.js +11 -6
- package/models/fields.d.ts +69 -0
- package/models/index.d.ts +1 -0
- package/models/index.js +1 -0
- package/modern/DateRangeCalendar/DateRangeCalendar.js +3 -1
- package/modern/DateRangePicker/DateRangePicker.js +9 -9
- package/modern/DateRangePicker/DateRangePickerToolbar.js +22 -2
- package/modern/DateTimeRangePicker/DateTimeRangePicker.js +11 -12
- package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
- package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +45 -9
- package/modern/DateTimeRangePicker/shared.js +7 -2
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -9
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +11 -12
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +9 -9
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +11 -12
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -19
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -19
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +17 -19
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -14
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +12 -10
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -19
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +11 -9
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -13
- package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -1
- package/modern/index.js +2 -1
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +16 -7
- package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +34 -37
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
- package/modern/internals/hooks/useMultiInputFieldSelectedSections.js +40 -0
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -30
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -24
- package/modern/internals/hooks/useRangePosition.js +3 -6
- package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
- package/modern/internals/models/index.js +0 -1
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/modern/internals/utils/valueManagers.js +11 -6
- package/modern/models/index.js +1 -0
- package/node/DateRangeCalendar/DateRangeCalendar.js +3 -1
- package/node/DateRangePicker/DateRangePicker.js +9 -9
- package/node/DateRangePicker/DateRangePickerToolbar.js +22 -2
- package/node/DateTimeRangePicker/DateTimeRangePicker.js +11 -12
- package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
- package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +45 -9
- package/node/DateTimeRangePicker/shared.js +7 -2
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -9
- package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +11 -12
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +9 -9
- package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +13 -14
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -19
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -19
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +17 -19
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -16
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +15 -13
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -21
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +11 -9
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -15
- package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -1
- package/node/index.js +1 -1
- package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +16 -7
- package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +33 -36
- package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
- package/node/internals/hooks/useMultiInputFieldSelectedSections.js +50 -0
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +16 -11
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
- package/node/internals/hooks/useRangePosition.js +3 -8
- package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
- package/node/internals/models/index.js +0 -11
- package/node/internals/utils/releaseInfo.js +1 -1
- package/node/internals/utils/valueManagers.js +10 -5
- package/node/models/index.js +11 -0
- package/package.json +5 -5
- package/themeAugmentation/props.d.ts +15 -14
- package/internals/models/fields.d.ts +0 -49
- package/legacy/AdapterDateFns/index.js +0 -1
- package/legacy/AdapterDateFnsJalali/index.js +0 -1
- package/legacy/AdapterDateFnsV3/index.js +0 -1
- package/legacy/AdapterDayjs/index.js +0 -1
- package/legacy/AdapterLuxon/index.js +0 -1
- package/legacy/AdapterMoment/index.js +0 -1
- package/legacy/AdapterMomentHijri/index.js +0 -1
- package/legacy/AdapterMomentJalaali/index.js +0 -1
- package/legacy/DateRangeCalendar/DateRangeCalendar.js +0 -764
- package/legacy/DateRangeCalendar/DateRangeCalendar.types.js +0 -1
- package/legacy/DateRangeCalendar/dateRangeCalendarClasses.js +0 -5
- package/legacy/DateRangeCalendar/index.js +0 -2
- package/legacy/DateRangeCalendar/useDragRange.js +0 -258
- package/legacy/DateRangePicker/DateRangePicker.js +0 -334
- package/legacy/DateRangePicker/DateRangePicker.types.js +0 -1
- package/legacy/DateRangePicker/DateRangePickerToolbar.js +0 -127
- package/legacy/DateRangePicker/dateRangePickerToolbarClasses.js +0 -5
- package/legacy/DateRangePicker/index.js +0 -3
- package/legacy/DateRangePicker/shared.js +0 -33
- package/legacy/DateRangePickerDay/DateRangePickerDay.js +0 -366
- package/legacy/DateRangePickerDay/dateRangePickerDayClasses.js +0 -5
- package/legacy/DateRangePickerDay/index.js +0 -2
- package/legacy/DateTimeRangePicker/DateTimeRangePicker.js +0 -413
- package/legacy/DateTimeRangePicker/DateTimeRangePicker.types.js +0 -1
- package/legacy/DateTimeRangePicker/DateTimeRangePickerTabs.js +0 -191
- package/legacy/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +0 -57
- package/legacy/DateTimeRangePicker/DateTimeRangePickerToolbar.js +0 -184
- package/legacy/DateTimeRangePicker/dateTimeRangePickerTabsClasses.js +0 -6
- package/legacy/DateTimeRangePicker/dateTimeRangePickerToolbarClasses.js +0 -5
- package/legacy/DateTimeRangePicker/index.js +0 -5
- package/legacy/DateTimeRangePicker/shared.js +0 -54
- package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -343
- package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.types.js +0 -1
- package/legacy/DesktopDateRangePicker/index.js +0 -1
- package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +0 -491
- package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.js +0 -1
- package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.js +0 -48
- package/legacy/DesktopDateTimeRangePicker/index.js +0 -1
- package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -339
- package/legacy/MobileDateRangePicker/MobileDateRangePicker.types.js +0 -1
- package/legacy/MobileDateRangePicker/index.js +0 -1
- package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +0 -484
- package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.js +0 -1
- package/legacy/MobileDateTimeRangePicker/index.js +0 -1
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +0 -316
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
- package/legacy/MultiInputDateRangeField/index.js +0 -2
- package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +0 -357
- package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
- package/legacy/MultiInputDateTimeRangeField/index.js +0 -2
- package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +0 -330
- package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
- package/legacy/MultiInputTimeRangeField/index.js +0 -2
- package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +0 -307
- package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.types.js +0 -1
- package/legacy/SingleInputDateRangeField/index.js +0 -2
- package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +0 -30
- package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +0 -348
- package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +0 -1
- package/legacy/SingleInputDateTimeRangeField/index.js +0 -2
- package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +0 -35
- package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +0 -321
- package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +0 -1
- package/legacy/SingleInputTimeRangeField/index.js +0 -2
- package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +0 -29
- package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -276
- package/legacy/StaticDateRangePicker/StaticDateRangePicker.types.js +0 -1
- package/legacy/StaticDateRangePicker/index.js +0 -1
- package/legacy/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -87
- package/legacy/dateRangeViewRenderers/index.js +0 -1
- package/legacy/index.js +0 -52
- package/legacy/internals/constants/dimensions.js +0 -5
- package/legacy/internals/hooks/models/index.js +0 -1
- package/legacy/internals/hooks/models/useRangePicker.js +0 -1
- package/legacy/internals/hooks/useDesktopRangePicker/index.js +0 -1
- package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +0 -154
- package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.js +0 -1
- package/legacy/internals/hooks/useEnrichedRangePickerFieldProps.js +0 -258
- package/legacy/internals/hooks/useMobileRangePicker/index.js +0 -1
- package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +0 -144
- package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.js +0 -1
- package/legacy/internals/hooks/useMultiInputRangeField/shared.js +0 -9
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -102
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -115
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -109
- package/legacy/internals/hooks/useRangePosition.js +0 -39
- package/legacy/internals/hooks/useStaticRangePicker/index.js +0 -1
- package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -76
- package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.js +0 -1
- package/legacy/internals/models/dateRange.js +0 -1
- package/legacy/internals/models/dateTimeRange.js +0 -1
- package/legacy/internals/models/index.js +0 -5
- package/legacy/internals/models/rangePickerProps.js +0 -1
- package/legacy/internals/models/timeRange.js +0 -1
- package/legacy/internals/utils/date-fields-utils.js +0 -26
- package/legacy/internals/utils/date-range-manager.js +0 -65
- package/legacy/internals/utils/date-utils.js +0 -12
- package/legacy/internals/utils/releaseInfo.js +0 -13
- package/legacy/internals/utils/validation/validateDateRange.js +0 -45
- package/legacy/internals/utils/validation/validateDateTimeRange.js +0 -45
- package/legacy/internals/utils/validation/validateTimeRange.js +0 -32
- package/legacy/internals/utils/valueManagers.js +0 -135
- package/legacy/locales/index.js +0 -1
- package/legacy/models/index.js +0 -3
- package/legacy/models/multiInputRangeFieldClasses.js +0 -1
- package/legacy/models/range.js +0 -1
- package/legacy/models/validation.js +0 -1
- package/legacy/themeAugmentation/index.js +0 -4
- package/modern/internals/models/fields.js +0 -1
- /package/{internals/models → models}/fields.js +0 -0
- /package/{legacy/internals → modern}/models/fields.js +0 -0
- /package/node/{internals/models → models}/fields.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "
|
|
3
|
+
const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
@@ -11,6 +11,7 @@ import { styled, useThemeProps } from '@mui/material/styles';
|
|
|
11
11
|
import { useSlotProps } from '@mui/base/utils';
|
|
12
12
|
import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
|
|
13
13
|
import { splitFieldInternalAndForwardedProps, convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
14
|
+
import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
|
|
14
15
|
import { useMultiInputDateTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField';
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -59,14 +60,12 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
59
60
|
name: 'MuiMultiInputDateTimeRangeField'
|
|
60
61
|
});
|
|
61
62
|
const {
|
|
62
|
-
internalProps
|
|
63
|
+
internalProps,
|
|
63
64
|
forwardedProps
|
|
64
65
|
} = splitFieldInternalAndForwardedProps(themeProps, 'date-time');
|
|
65
66
|
const {
|
|
66
67
|
slots,
|
|
67
68
|
slotProps,
|
|
68
|
-
disabled,
|
|
69
|
-
autoFocus,
|
|
70
69
|
unstableStartFieldRef,
|
|
71
70
|
unstableEndFieldRef,
|
|
72
71
|
className
|
|
@@ -85,13 +84,10 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
85
84
|
ownerState,
|
|
86
85
|
className: clsx(className, classes.root)
|
|
87
86
|
});
|
|
88
|
-
const TextField = slots?.textField ?? MuiTextField;
|
|
87
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
89
88
|
const startTextFieldProps = useSlotProps({
|
|
90
89
|
elementType: TextField,
|
|
91
90
|
externalSlotProps: slotProps?.textField,
|
|
92
|
-
additionalProps: {
|
|
93
|
-
autoFocus
|
|
94
|
-
},
|
|
95
91
|
ownerState: _extends({}, ownerState, {
|
|
96
92
|
position: 'start'
|
|
97
93
|
})
|
|
@@ -111,9 +107,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
111
107
|
className: classes.separator
|
|
112
108
|
});
|
|
113
109
|
const fieldResponse = useMultiInputDateTimeRangeField({
|
|
114
|
-
sharedProps:
|
|
115
|
-
disabled
|
|
116
|
-
}),
|
|
110
|
+
sharedProps: internalProps,
|
|
117
111
|
startTextFieldProps,
|
|
118
112
|
endTextFieldProps,
|
|
119
113
|
unstableStartFieldRef,
|
|
@@ -139,6 +133,9 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
139
133
|
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
140
134
|
*/
|
|
141
135
|
ampm: PropTypes.bool,
|
|
136
|
+
/**
|
|
137
|
+
* If `true`, the `input` element is focused during the first mount.
|
|
138
|
+
*/
|
|
142
139
|
autoFocus: PropTypes.bool,
|
|
143
140
|
/**
|
|
144
141
|
* Override or extend the styles applied to the component.
|
|
@@ -180,6 +177,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
180
177
|
* Add an element between each child.
|
|
181
178
|
*/
|
|
182
179
|
divider: PropTypes.node,
|
|
180
|
+
/**
|
|
181
|
+
* @default false
|
|
182
|
+
*/
|
|
183
|
+
enableAccessibleFieldDOMStructure: PropTypes.bool,
|
|
183
184
|
/**
|
|
184
185
|
* Format of the date when rendered in the input(s).
|
|
185
186
|
*/
|
|
@@ -256,17 +257,14 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
256
257
|
referenceDate: PropTypes.object,
|
|
257
258
|
/**
|
|
258
259
|
* The currently selected sections.
|
|
259
|
-
* This prop
|
|
260
|
+
* This prop accepts four formats:
|
|
260
261
|
* 1. If a number is provided, the section at this index will be selected.
|
|
261
|
-
* 2. If
|
|
262
|
-
* 3. If
|
|
263
|
-
* 4. If `null` is provided, no section will be selected
|
|
262
|
+
* 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
263
|
+
* 3. If `"all"` is provided, all the sections will be selected.
|
|
264
|
+
* 4. If `null` is provided, no section will be selected.
|
|
264
265
|
* If not provided, the selected sections will be handled internally.
|
|
265
266
|
*/
|
|
266
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number,
|
|
267
|
-
endIndex: PropTypes.number.isRequired,
|
|
268
|
-
startIndex: PropTypes.number.isRequired
|
|
269
|
-
})]),
|
|
267
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
270
268
|
/**
|
|
271
269
|
* Disable specific date.
|
|
272
270
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "
|
|
3
|
+
const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { clsx } from 'clsx';
|
|
@@ -11,6 +11,7 @@ import { styled, useThemeProps } from '@mui/material/styles';
|
|
|
11
11
|
import { useSlotProps } from '@mui/base/utils';
|
|
12
12
|
import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
|
|
13
13
|
import { splitFieldInternalAndForwardedProps, convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
14
|
+
import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
|
|
14
15
|
import { useMultiInputTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField';
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -59,14 +60,12 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
59
60
|
name: 'MuiMultiInputTimeRangeField'
|
|
60
61
|
});
|
|
61
62
|
const {
|
|
62
|
-
internalProps
|
|
63
|
+
internalProps,
|
|
63
64
|
forwardedProps
|
|
64
65
|
} = splitFieldInternalAndForwardedProps(themeProps, 'time');
|
|
65
66
|
const {
|
|
66
67
|
slots,
|
|
67
68
|
slotProps,
|
|
68
|
-
disabled,
|
|
69
|
-
autoFocus,
|
|
70
69
|
unstableStartFieldRef,
|
|
71
70
|
unstableEndFieldRef,
|
|
72
71
|
className
|
|
@@ -85,13 +84,10 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
85
84
|
ownerState,
|
|
86
85
|
className: clsx(className, classes.root)
|
|
87
86
|
});
|
|
88
|
-
const TextField = slots?.textField ?? MuiTextField;
|
|
87
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
89
88
|
const startTextFieldProps = useSlotProps({
|
|
90
89
|
elementType: TextField,
|
|
91
90
|
externalSlotProps: slotProps?.textField,
|
|
92
|
-
additionalProps: {
|
|
93
|
-
autoFocus
|
|
94
|
-
},
|
|
95
91
|
ownerState: _extends({}, ownerState, {
|
|
96
92
|
position: 'start'
|
|
97
93
|
})
|
|
@@ -111,9 +107,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
111
107
|
className: classes.separator
|
|
112
108
|
});
|
|
113
109
|
const fieldResponse = useMultiInputTimeRangeField({
|
|
114
|
-
sharedProps:
|
|
115
|
-
disabled
|
|
116
|
-
}),
|
|
110
|
+
sharedProps: internalProps,
|
|
117
111
|
startTextFieldProps,
|
|
118
112
|
endTextFieldProps,
|
|
119
113
|
unstableStartFieldRef,
|
|
@@ -139,6 +133,9 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
139
133
|
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
140
134
|
*/
|
|
141
135
|
ampm: PropTypes.bool,
|
|
136
|
+
/**
|
|
137
|
+
* If `true`, the `input` element is focused during the first mount.
|
|
138
|
+
*/
|
|
142
139
|
autoFocus: PropTypes.bool,
|
|
143
140
|
/**
|
|
144
141
|
* Override or extend the styles applied to the component.
|
|
@@ -180,6 +177,10 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
180
177
|
* Add an element between each child.
|
|
181
178
|
*/
|
|
182
179
|
divider: PropTypes.node,
|
|
180
|
+
/**
|
|
181
|
+
* @default false
|
|
182
|
+
*/
|
|
183
|
+
enableAccessibleFieldDOMStructure: PropTypes.bool,
|
|
183
184
|
/**
|
|
184
185
|
* Format of the date when rendered in the input(s).
|
|
185
186
|
*/
|
|
@@ -240,17 +241,14 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
240
241
|
referenceDate: PropTypes.object,
|
|
241
242
|
/**
|
|
242
243
|
* The currently selected sections.
|
|
243
|
-
* This prop
|
|
244
|
+
* This prop accepts four formats:
|
|
244
245
|
* 1. If a number is provided, the section at this index will be selected.
|
|
245
|
-
* 2. If
|
|
246
|
-
* 3. If
|
|
247
|
-
* 4. If `null` is provided, no section will be selected
|
|
246
|
+
* 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
247
|
+
* 3. If `"all"` is provided, all the sections will be selected.
|
|
248
|
+
* 4. If `null` is provided, no section will be selected.
|
|
248
249
|
* If not provided, the selected sections will be handled internally.
|
|
249
250
|
*/
|
|
250
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number,
|
|
251
|
-
endIndex: PropTypes.number.isRequired,
|
|
252
|
-
startIndex: PropTypes.number.isRequired
|
|
253
|
-
})]),
|
|
251
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
254
252
|
/**
|
|
255
253
|
* Disable specific time.
|
|
256
254
|
* @template TDate
|
|
@@ -6,9 +6,10 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import MuiTextField from '@mui/material/TextField';
|
|
7
7
|
import { useThemeProps } from '@mui/material/styles';
|
|
8
8
|
import { useSlotProps } from '@mui/base/utils';
|
|
9
|
+
import { refType } from '@mui/utils';
|
|
9
10
|
import { useClearableField } from '@mui/x-date-pickers/hooks';
|
|
10
11
|
import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
11
|
-
import {
|
|
12
|
+
import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
|
|
12
13
|
import { useSingleInputDateRangeField } from './useSingleInputDateRangeField';
|
|
13
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
15
|
/**
|
|
@@ -34,7 +35,7 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
34
35
|
} = themeProps,
|
|
35
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
36
37
|
const ownerState = themeProps;
|
|
37
|
-
const TextField = slots?.textField ?? MuiTextField;
|
|
38
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
38
39
|
const textFieldProps = useSlotProps({
|
|
39
40
|
elementType: TextField,
|
|
40
41
|
externalSlotProps: slotProps?.textField,
|
|
@@ -100,6 +101,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
100
101
|
* @default false
|
|
101
102
|
*/
|
|
102
103
|
disablePast: PropTypes.bool,
|
|
104
|
+
/**
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
enableAccessibleFieldDOMStructure: PropTypes.bool,
|
|
103
108
|
/**
|
|
104
109
|
* If `true`, the component is displayed in focused state.
|
|
105
110
|
*/
|
|
@@ -226,17 +231,14 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
226
231
|
required: PropTypes.bool,
|
|
227
232
|
/**
|
|
228
233
|
* The currently selected sections.
|
|
229
|
-
* This prop
|
|
234
|
+
* This prop accepts four formats:
|
|
230
235
|
* 1. If a number is provided, the section at this index will be selected.
|
|
231
|
-
* 2. If
|
|
232
|
-
* 3. If
|
|
233
|
-
* 4. If `null` is provided, no section will be selected
|
|
236
|
+
* 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
237
|
+
* 3. If `"all"` is provided, all the sections will be selected.
|
|
238
|
+
* 4. If `null` is provided, no section will be selected.
|
|
234
239
|
* If not provided, the selected sections will be handled internally.
|
|
235
240
|
*/
|
|
236
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number,
|
|
237
|
-
endIndex: PropTypes.number.isRequired,
|
|
238
|
-
startIndex: PropTypes.number.isRequired
|
|
239
|
-
})]),
|
|
241
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
240
242
|
/**
|
|
241
243
|
* Disable specific date.
|
|
242
244
|
*
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useUtils, useDefaultDates, applyDefaultDate, useField, splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
|
|
1
|
+
import { useField, splitFieldInternalAndForwardedProps, useDefaultizedDateField } from '@mui/x-date-pickers/internals';
|
|
3
2
|
import { rangeValueManager, rangeFieldValueManager } from '../internals/utils/valueManagers';
|
|
4
3
|
import { validateDateRange } from '../internals/utils/validation/validateDateRange';
|
|
5
|
-
export const useDefaultizedDateRangeFieldProps = props => {
|
|
6
|
-
const utils = useUtils();
|
|
7
|
-
const defaultDates = useDefaultDates();
|
|
8
|
-
return _extends({}, props, {
|
|
9
|
-
disablePast: props.disablePast ?? false,
|
|
10
|
-
disableFuture: props.disableFuture ?? false,
|
|
11
|
-
format: props.format ?? utils.formats.keyboardDate,
|
|
12
|
-
minDate: applyDefaultDate(utils, props.minDate, defaultDates.minDate),
|
|
13
|
-
maxDate: applyDefaultDate(utils, props.maxDate, defaultDates.maxDate)
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
4
|
export const useSingleInputDateRangeField = inProps => {
|
|
17
|
-
const props =
|
|
5
|
+
const props = useDefaultizedDateField(inProps);
|
|
18
6
|
const {
|
|
19
7
|
forwardedProps,
|
|
20
8
|
internalProps
|
|
@@ -5,10 +5,11 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import MuiTextField from '@mui/material/TextField';
|
|
7
7
|
import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
8
|
+
import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
|
|
8
9
|
import { useThemeProps } from '@mui/material/styles';
|
|
10
|
+
import { refType } from '@mui/utils';
|
|
9
11
|
import { useSlotProps } from '@mui/base/utils';
|
|
10
12
|
import { useClearableField } from '@mui/x-date-pickers/hooks';
|
|
11
|
-
import { refType } from '@mui/utils';
|
|
12
13
|
import { useSingleInputDateTimeRangeField } from './useSingleInputDateTimeRangeField';
|
|
13
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
15
|
/**
|
|
@@ -34,7 +35,7 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
|
|
|
34
35
|
} = themeProps,
|
|
35
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
36
37
|
const ownerState = themeProps;
|
|
37
|
-
const TextField = slots?.textField ?? MuiTextField;
|
|
38
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
38
39
|
const textFieldProps = useSlotProps({
|
|
39
40
|
elementType: TextField,
|
|
40
41
|
externalSlotProps: slotProps?.textField,
|
|
@@ -110,6 +111,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
110
111
|
* @default false
|
|
111
112
|
*/
|
|
112
113
|
disablePast: PropTypes.bool,
|
|
114
|
+
/**
|
|
115
|
+
* @default false
|
|
116
|
+
*/
|
|
117
|
+
enableAccessibleFieldDOMStructure: PropTypes.bool,
|
|
113
118
|
/**
|
|
114
119
|
* If `true`, the component is displayed in focused state.
|
|
115
120
|
*/
|
|
@@ -259,17 +264,14 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
259
264
|
required: PropTypes.bool,
|
|
260
265
|
/**
|
|
261
266
|
* The currently selected sections.
|
|
262
|
-
* This prop
|
|
267
|
+
* This prop accepts four formats:
|
|
263
268
|
* 1. If a number is provided, the section at this index will be selected.
|
|
264
|
-
* 2. If
|
|
265
|
-
* 3. If
|
|
266
|
-
* 4. If `null` is provided, no section will be selected
|
|
269
|
+
* 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
270
|
+
* 3. If `"all"` is provided, all the sections will be selected.
|
|
271
|
+
* 4. If `null` is provided, no section will be selected.
|
|
267
272
|
* If not provided, the selected sections will be handled internally.
|
|
268
273
|
*/
|
|
269
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number,
|
|
270
|
-
endIndex: PropTypes.number.isRequired,
|
|
271
|
-
startIndex: PropTypes.number.isRequired
|
|
272
|
-
})]),
|
|
274
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
273
275
|
/**
|
|
274
276
|
* Disable specific date.
|
|
275
277
|
*
|
|
@@ -1,25 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useUtils, useField, applyDefaultDate, useDefaultDates, splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
|
|
1
|
+
import { useField, splitFieldInternalAndForwardedProps, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
|
|
3
2
|
import { rangeValueManager, rangeFieldValueManager } from '../internals/utils/valueManagers';
|
|
4
3
|
import { validateDateTimeRange } from '../internals/utils/validation/validateDateTimeRange';
|
|
5
|
-
export const useDefaultizedTimeRangeFieldProps = props => {
|
|
6
|
-
const utils = useUtils();
|
|
7
|
-
const defaultDates = useDefaultDates();
|
|
8
|
-
const ampm = props.ampm ?? utils.is12HourCycleInCurrentLocale();
|
|
9
|
-
const defaultFormat = ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h;
|
|
10
|
-
return _extends({}, props, {
|
|
11
|
-
disablePast: props.disablePast ?? false,
|
|
12
|
-
disableFuture: props.disableFuture ?? false,
|
|
13
|
-
format: props.format ?? defaultFormat,
|
|
14
|
-
minDate: applyDefaultDate(utils, props.minDateTime ?? props.minDate, defaultDates.minDate),
|
|
15
|
-
maxDate: applyDefaultDate(utils, props.maxDateTime ?? props.maxDate, defaultDates.maxDate),
|
|
16
|
-
minTime: props.minDateTime ?? props.minTime,
|
|
17
|
-
maxTime: props.maxDateTime ?? props.maxTime,
|
|
18
|
-
disableIgnoringDatePartForTimeValidation: Boolean(props.minDateTime || props.maxDateTime)
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
4
|
export const useSingleInputDateTimeRangeField = inProps => {
|
|
22
|
-
const props =
|
|
5
|
+
const props = useDefaultizedDateTimeField(inProps);
|
|
23
6
|
const {
|
|
24
7
|
forwardedProps,
|
|
25
8
|
internalProps
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import MuiTextField from '@mui/material/TextField';
|
|
7
7
|
import { useClearableField } from '@mui/x-date-pickers/hooks';
|
|
8
8
|
import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
9
|
+
import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
|
|
9
10
|
import { useThemeProps } from '@mui/material/styles';
|
|
10
11
|
import { useSlotProps } from '@mui/base/utils';
|
|
11
12
|
import { refType } from '@mui/utils';
|
|
@@ -34,7 +35,7 @@ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
34
35
|
} = themeProps,
|
|
35
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
36
37
|
const ownerState = themeProps;
|
|
37
|
-
const TextField = slots?.textField ?? MuiTextField;
|
|
38
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
38
39
|
const textFieldProps = useSlotProps({
|
|
39
40
|
elementType: TextField,
|
|
40
41
|
externalSlotProps: slotProps?.textField,
|
|
@@ -110,6 +111,10 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
110
111
|
* @default false
|
|
111
112
|
*/
|
|
112
113
|
disablePast: PropTypes.bool,
|
|
114
|
+
/**
|
|
115
|
+
* @default false
|
|
116
|
+
*/
|
|
117
|
+
enableAccessibleFieldDOMStructure: PropTypes.bool,
|
|
113
118
|
/**
|
|
114
119
|
* If `true`, the component is displayed in focused state.
|
|
115
120
|
*/
|
|
@@ -243,17 +248,14 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
243
248
|
required: PropTypes.bool,
|
|
244
249
|
/**
|
|
245
250
|
* The currently selected sections.
|
|
246
|
-
* This prop
|
|
251
|
+
* This prop accepts four formats:
|
|
247
252
|
* 1. If a number is provided, the section at this index will be selected.
|
|
248
|
-
* 2. If
|
|
249
|
-
* 3. If
|
|
250
|
-
* 4. If `null` is provided, no section will be selected
|
|
253
|
+
* 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
254
|
+
* 3. If `"all"` is provided, all the sections will be selected.
|
|
255
|
+
* 4. If `null` is provided, no section will be selected.
|
|
251
256
|
* If not provided, the selected sections will be handled internally.
|
|
252
257
|
*/
|
|
253
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number,
|
|
254
|
-
endIndex: PropTypes.number.isRequired,
|
|
255
|
-
startIndex: PropTypes.number.isRequired
|
|
256
|
-
})]),
|
|
258
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
257
259
|
/**
|
|
258
260
|
* Disable specific time.
|
|
259
261
|
* @template TDate
|
|
@@ -1,19 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useUtils, useField, splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
|
|
1
|
+
import { useField, splitFieldInternalAndForwardedProps, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
|
|
3
2
|
import { rangeValueManager, rangeFieldValueManager } from '../internals/utils/valueManagers';
|
|
4
3
|
import { validateTimeRange } from '../internals/utils/validation/validateTimeRange';
|
|
5
|
-
export const useDefaultizedTimeRangeFieldProps = props => {
|
|
6
|
-
const utils = useUtils();
|
|
7
|
-
const ampm = props.ampm ?? utils.is12HourCycleInCurrentLocale();
|
|
8
|
-
const defaultFormat = ampm ? utils.formats.fullTime12h : utils.formats.fullTime24h;
|
|
9
|
-
return _extends({}, props, {
|
|
10
|
-
disablePast: props.disablePast ?? false,
|
|
11
|
-
disableFuture: props.disableFuture ?? false,
|
|
12
|
-
format: props.format ?? defaultFormat
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
4
|
export const useSingleInputTimeRangeField = inProps => {
|
|
16
|
-
const props =
|
|
5
|
+
const props = useDefaultizedTimeField(inProps);
|
|
17
6
|
const {
|
|
18
7
|
forwardedProps,
|
|
19
8
|
internalProps
|
|
@@ -130,7 +130,6 @@ StaticDateRangePicker.propTypes = {
|
|
|
130
130
|
/**
|
|
131
131
|
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
132
132
|
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
133
|
-
* @default undefined
|
|
134
133
|
*/
|
|
135
134
|
fixedWeekNumber: PropTypes.number,
|
|
136
135
|
/**
|
package/modern/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-date-pickers-pro v7.0.0-beta.
|
|
2
|
+
* @mui/x-date-pickers-pro v7.0.0-beta.5
|
|
3
3
|
*
|
|
4
4
|
* @license MUI X Commercial
|
|
5
5
|
* This source code is licensed under the commercial license found in the
|
|
@@ -21,6 +21,7 @@ export * from './MultiInputDateTimeRangeField';
|
|
|
21
21
|
export * from './SingleInputDateRangeField';
|
|
22
22
|
export * from './SingleInputTimeRangeField';
|
|
23
23
|
export * from './SingleInputDateTimeRangeField';
|
|
24
|
+
|
|
24
25
|
// Calendars
|
|
25
26
|
export * from './DateRangeCalendar';
|
|
26
27
|
|
|
@@ -26,6 +26,9 @@ export const useDesktopRangePicker = _ref => {
|
|
|
26
26
|
sx,
|
|
27
27
|
format,
|
|
28
28
|
formatDensity,
|
|
29
|
+
enableAccessibleFieldDOMStructure,
|
|
30
|
+
selectedSections,
|
|
31
|
+
onSelectedSectionsChange,
|
|
29
32
|
timezone,
|
|
30
33
|
label,
|
|
31
34
|
inputRef,
|
|
@@ -40,12 +43,14 @@ export const useDesktopRangePicker = _ref => {
|
|
|
40
43
|
const fieldContainerRef = React.useRef(null);
|
|
41
44
|
const anchorRef = React.useRef(null);
|
|
42
45
|
const popperRef = React.useRef(null);
|
|
46
|
+
const startFieldRef = React.useRef(null);
|
|
47
|
+
const endFieldRef = React.useRef(null);
|
|
43
48
|
const initialView = React.useRef(props.openTo ?? null);
|
|
49
|
+
const fieldType = slots.field.fieldType ?? 'multi-input';
|
|
44
50
|
const {
|
|
45
51
|
rangePosition,
|
|
46
|
-
onRangePositionChange
|
|
47
|
-
|
|
48
|
-
} = useRangePosition(props);
|
|
52
|
+
onRangePositionChange
|
|
53
|
+
} = useRangePosition(props, fieldType === 'single-input' ? startFieldRef : undefined);
|
|
49
54
|
const {
|
|
50
55
|
open,
|
|
51
56
|
actions,
|
|
@@ -57,6 +62,7 @@ export const useDesktopRangePicker = _ref => {
|
|
|
57
62
|
props,
|
|
58
63
|
wrapperVariant: 'desktop',
|
|
59
64
|
autoFocusView: false,
|
|
65
|
+
fieldRef: rangePosition === 'start' ? startFieldRef : endFieldRef,
|
|
60
66
|
additionalViewProps: {
|
|
61
67
|
rangePosition,
|
|
62
68
|
onRangePositionChange
|
|
@@ -77,7 +83,6 @@ export const useDesktopRangePicker = _ref => {
|
|
|
77
83
|
});
|
|
78
84
|
};
|
|
79
85
|
const Field = slots.field;
|
|
80
|
-
const fieldType = Field.fieldType ?? 'multi-input';
|
|
81
86
|
const fieldProps = useSlotProps({
|
|
82
87
|
elementType: Field,
|
|
83
88
|
externalSlotProps: slotProps?.field,
|
|
@@ -88,13 +93,16 @@ export const useDesktopRangePicker = _ref => {
|
|
|
88
93
|
sx,
|
|
89
94
|
format,
|
|
90
95
|
formatDensity,
|
|
96
|
+
enableAccessibleFieldDOMStructure,
|
|
97
|
+
selectedSections,
|
|
98
|
+
onSelectedSectionsChange,
|
|
91
99
|
timezone,
|
|
92
100
|
autoFocus: autoFocus && !props.open,
|
|
93
101
|
ref: fieldContainerRef
|
|
94
|
-
},
|
|
102
|
+
}, inputRef ? {
|
|
95
103
|
inputRef,
|
|
96
104
|
name
|
|
97
|
-
}),
|
|
105
|
+
} : {}),
|
|
98
106
|
ownerState: props
|
|
99
107
|
});
|
|
100
108
|
const enrichedFieldProps = useEnrichedRangePickerFieldProps({
|
|
@@ -109,11 +117,12 @@ export const useDesktopRangePicker = _ref => {
|
|
|
109
117
|
onBlur: handleBlur,
|
|
110
118
|
rangePosition,
|
|
111
119
|
onRangePositionChange,
|
|
112
|
-
singleInputFieldRef,
|
|
113
120
|
pickerSlotProps: slotProps,
|
|
114
121
|
pickerSlots: slots,
|
|
115
122
|
fieldProps,
|
|
116
123
|
anchorRef,
|
|
124
|
+
startFieldRef,
|
|
125
|
+
endFieldRef,
|
|
117
126
|
currentView: layoutProps.view !== props.openTo ? layoutProps.view : undefined,
|
|
118
127
|
initialView: initialView.current ?? undefined,
|
|
119
128
|
onViewChange: layoutProps.onViewChange
|