@mui/x-date-pickers-pro 7.0.0-beta.1 → 7.0.0-beta.4
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 +437 -4
- package/DateRangeCalendar/DateRangeCalendar.d.ts +2 -1
- package/DateRangeCalendar/DateRangeCalendar.js +9 -7
- package/DateRangeCalendar/DateRangeCalendar.types.d.ts +10 -7
- package/DateRangeCalendar/useDragRange.d.ts +4 -4
- package/DateRangePicker/DateRangePicker.d.ts +2 -1
- package/DateRangePicker/DateRangePicker.js +14 -14
- package/DateRangePicker/DateRangePicker.types.d.ts +5 -4
- package/DateRangePicker/DateRangePickerToolbar.d.ts +6 -2
- package/DateRangePicker/DateRangePickerToolbar.js +7 -1
- package/DateRangePicker/shared.d.ts +6 -5
- package/DateRangePickerDay/DateRangePickerDay.d.ts +3 -2
- package/DateRangePickerDay/DateRangePickerDay.js +2 -2
- package/DateTimeRangePicker/DateTimeRangePicker.d.ts +2 -1
- package/DateTimeRangePicker/DateTimeRangePicker.js +20 -21
- package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +5 -4
- package/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +3 -2
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +6 -2
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -1
- package/DateTimeRangePicker/shared.d.ts +6 -5
- package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +2 -1
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +14 -14
- package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +5 -4
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +2 -1
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -21
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +5 -4
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.d.ts +2 -1
- package/MobileDateRangePicker/MobileDateRangePicker.d.ts +2 -1
- package/MobileDateRangePicker/MobileDateRangePicker.js +14 -14
- package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +5 -4
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +2 -1
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -21
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +5 -4
- package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +2 -1
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -24
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +12 -14
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +2 -1
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -28
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +13 -16
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +2 -1
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +22 -24
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +13 -16
- package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +3 -2
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -15
- package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +11 -13
- package/SingleInputDateRangeField/index.d.ts +1 -1
- package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +3 -3
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -15
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +3 -2
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +21 -19
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +12 -14
- package/SingleInputDateTimeRangeField/index.d.ts +1 -1
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +3 -3
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -20
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +3 -2
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +16 -14
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +12 -14
- package/SingleInputTimeRangeField/index.d.ts +1 -1
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +3 -3
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -14
- package/StaticDateRangePicker/StaticDateRangePicker.d.ts +2 -1
- package/StaticDateRangePicker/StaticDateRangePicker.js +5 -6
- package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +4 -3
- package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +3 -2
- package/index.d.ts +7 -2
- package/index.js +8 -2
- package/internals/hooks/models/useRangePicker.d.ts +8 -7
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +2 -1
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +17 -8
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +7 -6
- package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +15 -15
- package/internals/hooks/useEnrichedRangePickerFieldProps.js +37 -40
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +2 -1
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -6
- package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +21 -0
- package/internals/hooks/useMultiInputFieldSelectedSections.js +43 -0
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +2 -1
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +3 -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 +3 -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.d.ts +2 -1
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +6 -6
- package/internals/models/dateRange.d.ts +5 -16
- package/internals/models/dateTimeRange.d.ts +5 -6
- package/internals/models/index.d.ts +0 -1
- package/internals/models/index.js +0 -1
- package/internals/models/timeRange.d.ts +4 -6
- package/internals/utils/date-fields-utils.d.ts +1 -5
- package/internals/utils/date-range-manager.d.ts +5 -5
- package/internals/utils/date-utils.d.ts +5 -5
- package/internals/utils/releaseInfo.js +1 -1
- package/internals/utils/validation/validateDateRange.d.ts +2 -2
- package/internals/utils/validation/validateDateTimeRange.d.ts +2 -2
- package/internals/utils/valueManagers.d.ts +3 -3
- 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/models/range.d.ts +3 -2
- package/modern/DateRangeCalendar/DateRangeCalendar.js +9 -7
- package/modern/DateRangePicker/DateRangePicker.js +14 -14
- package/modern/DateRangePicker/DateRangePickerToolbar.js +7 -1
- package/modern/DateRangePickerDay/DateRangePickerDay.js +2 -2
- package/modern/DateTimeRangePicker/DateTimeRangePicker.js +20 -21
- package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
- package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -1
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +14 -14
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -21
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +14 -14
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -21
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -24
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -28
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +22 -24
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -15
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -14
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +21 -19
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -19
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +16 -14
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -13
- package/modern/StaticDateRangePicker/StaticDateRangePicker.js +5 -6
- package/modern/index.js +8 -2
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +17 -8
- 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 +10 -8
- package/node/DateRangePicker/DateRangePicker.js +14 -14
- package/node/DateRangePicker/DateRangePickerToolbar.js +7 -1
- package/node/DateRangePickerDay/DateRangePickerDay.js +3 -3
- package/node/DateTimeRangePicker/DateTimeRangePicker.js +20 -21
- package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
- package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -1
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +14 -14
- package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -21
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +14 -14
- package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +22 -23
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -24
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -28
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +22 -24
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -15
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -16
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +24 -22
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -21
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +16 -14
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -15
- package/node/StaticDateRangePicker/StaticDateRangePicker.js +5 -6
- package/node/index.js +18 -9
- package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +18 -9
- package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +33 -36
- package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +19 -10
- 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 +6 -6
- package/themeAugmentation/props.d.ts +17 -17
- 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 -33
- 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 { 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.
|
|
@@ -149,7 +146,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
149
146
|
/**
|
|
150
147
|
* The default value. Use when the component is not controlled.
|
|
151
148
|
*/
|
|
152
|
-
defaultValue: PropTypes.arrayOf(PropTypes.
|
|
149
|
+
defaultValue: PropTypes.arrayOf(PropTypes.object),
|
|
153
150
|
/**
|
|
154
151
|
* Defines the `flex-direction` style property.
|
|
155
152
|
* It is applied for all screen sizes.
|
|
@@ -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
|
*/
|
|
@@ -194,12 +195,12 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
194
195
|
* Maximal selectable time.
|
|
195
196
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
196
197
|
*/
|
|
197
|
-
maxTime: PropTypes.
|
|
198
|
+
maxTime: PropTypes.object,
|
|
198
199
|
/**
|
|
199
200
|
* Minimal selectable time.
|
|
200
201
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
201
202
|
*/
|
|
202
|
-
minTime: PropTypes.
|
|
203
|
+
minTime: PropTypes.object,
|
|
203
204
|
/**
|
|
204
205
|
* Step over minutes.
|
|
205
206
|
* @default 1
|
|
@@ -237,20 +238,17 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
237
238
|
* For example, on time fields it will be used to determine the date to set.
|
|
238
239
|
* @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
|
|
239
240
|
*/
|
|
240
|
-
referenceDate: PropTypes.
|
|
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
|
|
@@ -318,6 +316,6 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
318
316
|
* The selected value.
|
|
319
317
|
* Used when the component is controlled.
|
|
320
318
|
*/
|
|
321
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
319
|
+
value: PropTypes.arrayOf(PropTypes.object)
|
|
322
320
|
} : void 0;
|
|
323
321
|
export { MultiInputTimeRangeField };
|
|
@@ -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,
|
|
@@ -84,7 +85,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
84
85
|
/**
|
|
85
86
|
* The default value. Use when the component is not controlled.
|
|
86
87
|
*/
|
|
87
|
-
defaultValue: PropTypes.arrayOf(PropTypes.
|
|
88
|
+
defaultValue: PropTypes.arrayOf(PropTypes.object),
|
|
88
89
|
/**
|
|
89
90
|
* If `true`, the component is disabled.
|
|
90
91
|
* @default false
|
|
@@ -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
|
*/
|
|
@@ -171,11 +176,11 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
171
176
|
/**
|
|
172
177
|
* Maximal selectable date.
|
|
173
178
|
*/
|
|
174
|
-
maxDate: PropTypes.
|
|
179
|
+
maxDate: PropTypes.object,
|
|
175
180
|
/**
|
|
176
181
|
* Minimal selectable date.
|
|
177
182
|
*/
|
|
178
|
-
minDate: PropTypes.
|
|
183
|
+
minDate: PropTypes.object,
|
|
179
184
|
/**
|
|
180
185
|
* Name attribute of the `input` element.
|
|
181
186
|
*/
|
|
@@ -218,7 +223,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
218
223
|
* For example, on time fields it will be used to determine the date to set.
|
|
219
224
|
* @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
|
|
220
225
|
*/
|
|
221
|
-
referenceDate: PropTypes.
|
|
226
|
+
referenceDate: PropTypes.object,
|
|
222
227
|
/**
|
|
223
228
|
* If `true`, the label is displayed as required and the `input` element is required.
|
|
224
229
|
* @default false
|
|
@@ -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
|
*
|
|
@@ -298,7 +300,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
298
300
|
* The selected value.
|
|
299
301
|
* Used when the component is controlled.
|
|
300
302
|
*/
|
|
301
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
303
|
+
value: PropTypes.arrayOf(PropTypes.object),
|
|
302
304
|
/**
|
|
303
305
|
* The variant to use.
|
|
304
306
|
* @default 'outlined'
|
|
@@ -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,
|
|
@@ -89,7 +90,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
89
90
|
/**
|
|
90
91
|
* The default value. Use when the component is not controlled.
|
|
91
92
|
*/
|
|
92
|
-
defaultValue: PropTypes.arrayOf(PropTypes.
|
|
93
|
+
defaultValue: PropTypes.arrayOf(PropTypes.object),
|
|
93
94
|
/**
|
|
94
95
|
* If `true`, the component is disabled.
|
|
95
96
|
* @default false
|
|
@@ -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
|
*/
|
|
@@ -181,29 +186,29 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
181
186
|
/**
|
|
182
187
|
* Maximal selectable date.
|
|
183
188
|
*/
|
|
184
|
-
maxDate: PropTypes.
|
|
189
|
+
maxDate: PropTypes.object,
|
|
185
190
|
/**
|
|
186
191
|
* Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
|
|
187
192
|
*/
|
|
188
|
-
maxDateTime: PropTypes.
|
|
193
|
+
maxDateTime: PropTypes.object,
|
|
189
194
|
/**
|
|
190
195
|
* Maximal selectable time.
|
|
191
196
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
192
197
|
*/
|
|
193
|
-
maxTime: PropTypes.
|
|
198
|
+
maxTime: PropTypes.object,
|
|
194
199
|
/**
|
|
195
200
|
* Minimal selectable date.
|
|
196
201
|
*/
|
|
197
|
-
minDate: PropTypes.
|
|
202
|
+
minDate: PropTypes.object,
|
|
198
203
|
/**
|
|
199
204
|
* Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
|
|
200
205
|
*/
|
|
201
|
-
minDateTime: PropTypes.
|
|
206
|
+
minDateTime: PropTypes.object,
|
|
202
207
|
/**
|
|
203
208
|
* Minimal selectable time.
|
|
204
209
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
205
210
|
*/
|
|
206
|
-
minTime: PropTypes.
|
|
211
|
+
minTime: PropTypes.object,
|
|
207
212
|
/**
|
|
208
213
|
* Step over minutes.
|
|
209
214
|
* @default 1
|
|
@@ -251,7 +256,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
251
256
|
* For example, on time fields it will be used to determine the date to set.
|
|
252
257
|
* @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
|
|
253
258
|
*/
|
|
254
|
-
referenceDate: PropTypes.
|
|
259
|
+
referenceDate: PropTypes.object,
|
|
255
260
|
/**
|
|
256
261
|
* If `true`, the label is displayed as required and the `input` element is required.
|
|
257
262
|
* @default false
|
|
@@ -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
|
*
|
|
@@ -339,7 +341,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
339
341
|
* The selected value.
|
|
340
342
|
* Used when the component is controlled.
|
|
341
343
|
*/
|
|
342
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
344
|
+
value: PropTypes.arrayOf(PropTypes.object),
|
|
343
345
|
/**
|
|
344
346
|
* The variant to use.
|
|
345
347
|
* @default 'outlined'
|
|
@@ -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,
|
|
@@ -89,7 +90,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
89
90
|
/**
|
|
90
91
|
* The default value. Use when the component is not controlled.
|
|
91
92
|
*/
|
|
92
|
-
defaultValue: PropTypes.arrayOf(PropTypes.
|
|
93
|
+
defaultValue: PropTypes.arrayOf(PropTypes.object),
|
|
93
94
|
/**
|
|
94
95
|
* If `true`, the component is disabled.
|
|
95
96
|
* @default false
|
|
@@ -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
|
*/
|
|
@@ -182,12 +187,12 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
182
187
|
* Maximal selectable time.
|
|
183
188
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
184
189
|
*/
|
|
185
|
-
maxTime: PropTypes.
|
|
190
|
+
maxTime: PropTypes.object,
|
|
186
191
|
/**
|
|
187
192
|
* Minimal selectable time.
|
|
188
193
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
189
194
|
*/
|
|
190
|
-
minTime: PropTypes.
|
|
195
|
+
minTime: PropTypes.object,
|
|
191
196
|
/**
|
|
192
197
|
* Step over minutes.
|
|
193
198
|
* @default 1
|
|
@@ -235,7 +240,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
235
240
|
* For example, on time fields it will be used to determine the date to set.
|
|
236
241
|
* @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
|
|
237
242
|
*/
|
|
238
|
-
referenceDate: PropTypes.
|
|
243
|
+
referenceDate: PropTypes.object,
|
|
239
244
|
/**
|
|
240
245
|
* If `true`, the label is displayed as required and the `input` element is required.
|
|
241
246
|
* @default false
|
|
@@ -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
|
|
@@ -312,7 +314,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
312
314
|
* The selected value.
|
|
313
315
|
* Used when the component is controlled.
|
|
314
316
|
*/
|
|
315
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
317
|
+
value: PropTypes.arrayOf(PropTypes.object),
|
|
316
318
|
/**
|
|
317
319
|
* The variant to use.
|
|
318
320
|
* @default 'outlined'
|
|
@@ -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
|
|
@@ -87,7 +87,7 @@ StaticDateRangePicker.propTypes = {
|
|
|
87
87
|
* The default value.
|
|
88
88
|
* Used when the component is not controlled.
|
|
89
89
|
*/
|
|
90
|
-
defaultValue: PropTypes.arrayOf(PropTypes.
|
|
90
|
+
defaultValue: PropTypes.arrayOf(PropTypes.object),
|
|
91
91
|
/**
|
|
92
92
|
* If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
|
|
93
93
|
* @default false
|
|
@@ -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
|
/**
|
|
@@ -147,11 +146,11 @@ StaticDateRangePicker.propTypes = {
|
|
|
147
146
|
/**
|
|
148
147
|
* Maximal selectable date.
|
|
149
148
|
*/
|
|
150
|
-
maxDate: PropTypes.
|
|
149
|
+
maxDate: PropTypes.object,
|
|
151
150
|
/**
|
|
152
151
|
* Minimal selectable date.
|
|
153
152
|
*/
|
|
154
|
-
minDate: PropTypes.
|
|
153
|
+
minDate: PropTypes.object,
|
|
155
154
|
/**
|
|
156
155
|
* Callback fired when the value is accepted.
|
|
157
156
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -208,7 +207,7 @@ StaticDateRangePicker.propTypes = {
|
|
|
208
207
|
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
209
208
|
* @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
|
|
210
209
|
*/
|
|
211
|
-
referenceDate: PropTypes.
|
|
210
|
+
referenceDate: PropTypes.object,
|
|
212
211
|
/**
|
|
213
212
|
* Component rendered on the "day" view when `props.loading` is true.
|
|
214
213
|
* @returns {React.ReactNode} The node to render when loading.
|
|
@@ -263,7 +262,7 @@ StaticDateRangePicker.propTypes = {
|
|
|
263
262
|
* The selected value.
|
|
264
263
|
* Used when the component is controlled.
|
|
265
264
|
*/
|
|
266
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
265
|
+
value: PropTypes.arrayOf(PropTypes.object),
|
|
267
266
|
/**
|
|
268
267
|
* Define custom view renderers for each section.
|
|
269
268
|
* If `null`, the section will only have field editing.
|
package/modern/index.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-date-pickers-pro v7.0.0-beta.
|
|
2
|
+
* @mui/x-date-pickers-pro v7.0.0-beta.4
|
|
3
3
|
*
|
|
4
4
|
* @license MUI X Commercial
|
|
5
5
|
* This source code is licensed under the commercial license found in the
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
import { LicenseInfo as LicenseInfoExport } from '@mui/x-license';
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use `@mui/x-license` package instead:
|
|
11
|
+
* @example import { LicenseInfo } from '@mui/x-license';
|
|
12
|
+
*/
|
|
13
|
+
export class LicenseInfo extends LicenseInfoExport {}
|
|
9
14
|
export * from '@mui/x-date-pickers';
|
|
10
15
|
export * from './DateRangePickerDay';
|
|
11
16
|
|
|
@@ -16,6 +21,7 @@ export * from './MultiInputDateTimeRangeField';
|
|
|
16
21
|
export * from './SingleInputDateRangeField';
|
|
17
22
|
export * from './SingleInputTimeRangeField';
|
|
18
23
|
export * from './SingleInputDateTimeRangeField';
|
|
24
|
+
|
|
19
25
|
// Calendars
|
|
20
26
|
export * from './DateRangeCalendar';
|
|
21
27
|
|