@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
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { extractValidationProps, isDatePickerView, isInternalTimeView } from '@mui/x-date-pickers/internals';
|
|
7
7
|
import { resolveComponentProps } from '@mui/base/utils';
|
|
8
|
+
import { refType } from '@mui/utils';
|
|
8
9
|
import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '@mui/x-date-pickers/timeViewRenderers';
|
|
9
10
|
import { multiSectionDigitalClockClasses, multiSectionDigitalClockSectionClasses } from '@mui/x-date-pickers/MultiSectionDigitalClock';
|
|
10
11
|
import Divider from '@mui/material/Divider';
|
|
@@ -156,7 +157,7 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
156
157
|
* The default value.
|
|
157
158
|
* Used when the component is not controlled.
|
|
158
159
|
*/
|
|
159
|
-
defaultValue: PropTypes.arrayOf(PropTypes.
|
|
160
|
+
defaultValue: PropTypes.arrayOf(PropTypes.object),
|
|
160
161
|
/**
|
|
161
162
|
* If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
|
|
162
163
|
* @default false
|
|
@@ -201,10 +202,13 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
201
202
|
* If `true`, the week number will be display in the calendar.
|
|
202
203
|
*/
|
|
203
204
|
displayWeekNumber: PropTypes.bool,
|
|
205
|
+
/**
|
|
206
|
+
* @default false
|
|
207
|
+
*/
|
|
208
|
+
enableAccessibleFieldDOMStructure: PropTypes.any,
|
|
204
209
|
/**
|
|
205
210
|
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
206
211
|
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
207
|
-
* @default undefined
|
|
208
212
|
*/
|
|
209
213
|
fixedWeekNumber: PropTypes.number,
|
|
210
214
|
/**
|
|
@@ -222,9 +226,7 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
222
226
|
* Pass a ref to the `input` element.
|
|
223
227
|
* Ignored if the field has several inputs.
|
|
224
228
|
*/
|
|
225
|
-
inputRef:
|
|
226
|
-
current: PropTypes.object
|
|
227
|
-
})]),
|
|
229
|
+
inputRef: refType,
|
|
228
230
|
/**
|
|
229
231
|
* The label content.
|
|
230
232
|
* Ignored if the field has several inputs.
|
|
@@ -244,29 +246,29 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
244
246
|
/**
|
|
245
247
|
* Maximal selectable date.
|
|
246
248
|
*/
|
|
247
|
-
maxDate: PropTypes.
|
|
249
|
+
maxDate: PropTypes.object,
|
|
248
250
|
/**
|
|
249
251
|
* Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
|
|
250
252
|
*/
|
|
251
|
-
maxDateTime: PropTypes.
|
|
253
|
+
maxDateTime: PropTypes.object,
|
|
252
254
|
/**
|
|
253
255
|
* Maximal selectable time.
|
|
254
256
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
255
257
|
*/
|
|
256
|
-
maxTime: PropTypes.
|
|
258
|
+
maxTime: PropTypes.object,
|
|
257
259
|
/**
|
|
258
260
|
* Minimal selectable date.
|
|
259
261
|
*/
|
|
260
|
-
minDate: PropTypes.
|
|
262
|
+
minDate: PropTypes.object,
|
|
261
263
|
/**
|
|
262
264
|
* Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
|
|
263
265
|
*/
|
|
264
|
-
minDateTime: PropTypes.
|
|
266
|
+
minDateTime: PropTypes.object,
|
|
265
267
|
/**
|
|
266
268
|
* Minimal selectable time.
|
|
267
269
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
268
270
|
*/
|
|
269
|
-
minTime: PropTypes.
|
|
271
|
+
minTime: PropTypes.object,
|
|
270
272
|
/**
|
|
271
273
|
* Step over minutes.
|
|
272
274
|
* @default 1
|
|
@@ -359,7 +361,7 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
359
361
|
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
360
362
|
* @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
|
|
361
363
|
*/
|
|
362
|
-
referenceDate: PropTypes.
|
|
364
|
+
referenceDate: PropTypes.object,
|
|
363
365
|
/**
|
|
364
366
|
* Component rendered on the "day" view when `props.loading` is true.
|
|
365
367
|
* @returns {React.ReactNode} The node to render when loading.
|
|
@@ -368,17 +370,14 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
368
370
|
renderLoading: PropTypes.func,
|
|
369
371
|
/**
|
|
370
372
|
* The currently selected sections.
|
|
371
|
-
* This prop
|
|
373
|
+
* This prop accepts four formats:
|
|
372
374
|
* 1. If a number is provided, the section at this index will be selected.
|
|
373
|
-
* 2. If
|
|
374
|
-
* 3. If
|
|
375
|
-
* 4. If `null` is provided, no section will be selected
|
|
375
|
+
* 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
376
|
+
* 3. If `"all"` is provided, all the sections will be selected.
|
|
377
|
+
* 4. If `null` is provided, no section will be selected.
|
|
376
378
|
* If not provided, the selected sections will be handled internally.
|
|
377
379
|
*/
|
|
378
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number,
|
|
379
|
-
endIndex: PropTypes.number.isRequired,
|
|
380
|
-
startIndex: PropTypes.number.isRequired
|
|
381
|
-
})]),
|
|
380
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
382
381
|
/**
|
|
383
382
|
* Disable specific date.
|
|
384
383
|
*
|
|
@@ -456,7 +455,7 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
456
455
|
* The selected value.
|
|
457
456
|
* Used when the component is controlled.
|
|
458
457
|
*/
|
|
459
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
458
|
+
value: PropTypes.arrayOf(PropTypes.object),
|
|
460
459
|
/**
|
|
461
460
|
* The visible view.
|
|
462
461
|
* Used when the component view is controlled.
|
|
@@ -94,7 +94,7 @@ MobileDateRangePicker.propTypes = {
|
|
|
94
94
|
* The default value.
|
|
95
95
|
* Used when the component is not controlled.
|
|
96
96
|
*/
|
|
97
|
-
defaultValue: PropTypes.arrayOf(PropTypes.
|
|
97
|
+
defaultValue: PropTypes.arrayOf(PropTypes.object),
|
|
98
98
|
/**
|
|
99
99
|
* If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
|
|
100
100
|
* @default false
|
|
@@ -134,10 +134,13 @@ MobileDateRangePicker.propTypes = {
|
|
|
134
134
|
* If `true`, the week number will be display in the calendar.
|
|
135
135
|
*/
|
|
136
136
|
displayWeekNumber: PropTypes.bool,
|
|
137
|
+
/**
|
|
138
|
+
* @default false
|
|
139
|
+
*/
|
|
140
|
+
enableAccessibleFieldDOMStructure: PropTypes.any,
|
|
137
141
|
/**
|
|
138
142
|
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
139
143
|
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
140
|
-
* @default undefined
|
|
141
144
|
*/
|
|
142
145
|
fixedWeekNumber: PropTypes.number,
|
|
143
146
|
/**
|
|
@@ -175,11 +178,11 @@ MobileDateRangePicker.propTypes = {
|
|
|
175
178
|
/**
|
|
176
179
|
* Maximal selectable date.
|
|
177
180
|
*/
|
|
178
|
-
maxDate: PropTypes.
|
|
181
|
+
maxDate: PropTypes.object,
|
|
179
182
|
/**
|
|
180
183
|
* Minimal selectable date.
|
|
181
184
|
*/
|
|
182
|
-
minDate: PropTypes.
|
|
185
|
+
minDate: PropTypes.object,
|
|
183
186
|
/**
|
|
184
187
|
* Name attribute used by the `input` element in the Field.
|
|
185
188
|
* Ignored if the field has several inputs.
|
|
@@ -255,7 +258,7 @@ MobileDateRangePicker.propTypes = {
|
|
|
255
258
|
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
256
259
|
* @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
|
|
257
260
|
*/
|
|
258
|
-
referenceDate: PropTypes.
|
|
261
|
+
referenceDate: PropTypes.object,
|
|
259
262
|
/**
|
|
260
263
|
* Component rendered on the "day" view when `props.loading` is true.
|
|
261
264
|
* @returns {React.ReactNode} The node to render when loading.
|
|
@@ -264,17 +267,14 @@ MobileDateRangePicker.propTypes = {
|
|
|
264
267
|
renderLoading: PropTypes.func,
|
|
265
268
|
/**
|
|
266
269
|
* The currently selected sections.
|
|
267
|
-
* This prop
|
|
270
|
+
* This prop accepts four formats:
|
|
268
271
|
* 1. If a number is provided, the section at this index will be selected.
|
|
269
|
-
* 2. If
|
|
270
|
-
* 3. If
|
|
271
|
-
* 4. If `null` is provided, no section will be selected
|
|
272
|
+
* 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
273
|
+
* 3. If `"all"` is provided, all the sections will be selected.
|
|
274
|
+
* 4. If `null` is provided, no section will be selected.
|
|
272
275
|
* If not provided, the selected sections will be handled internally.
|
|
273
276
|
*/
|
|
274
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number,
|
|
275
|
-
endIndex: PropTypes.number.isRequired,
|
|
276
|
-
startIndex: PropTypes.number.isRequired
|
|
277
|
-
})]),
|
|
277
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
278
278
|
/**
|
|
279
279
|
* Disable specific date.
|
|
280
280
|
*
|
|
@@ -323,7 +323,7 @@ MobileDateRangePicker.propTypes = {
|
|
|
323
323
|
* The selected value.
|
|
324
324
|
* Used when the component is controlled.
|
|
325
325
|
*/
|
|
326
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
326
|
+
value: PropTypes.arrayOf(PropTypes.object),
|
|
327
327
|
/**
|
|
328
328
|
* Define custom view renderers for each section.
|
|
329
329
|
* If `null`, the section will only have field editing.
|
|
@@ -3,6 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
const _excluded = ["view", "openTo", "rangePosition", "sx"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
+
import { refType } from '@mui/utils';
|
|
6
7
|
import { DIALOG_WIDTH, VIEW_HEIGHT, extractValidationProps, isInternalTimeView, isDatePickerView } from '@mui/x-date-pickers/internals';
|
|
7
8
|
import { resolveComponentProps } from '@mui/base/utils';
|
|
8
9
|
import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '@mui/x-date-pickers/timeViewRenderers';
|
|
@@ -159,7 +160,7 @@ MobileDateTimeRangePicker.propTypes = {
|
|
|
159
160
|
* The default value.
|
|
160
161
|
* Used when the component is not controlled.
|
|
161
162
|
*/
|
|
162
|
-
defaultValue: PropTypes.arrayOf(PropTypes.
|
|
163
|
+
defaultValue: PropTypes.arrayOf(PropTypes.object),
|
|
163
164
|
/**
|
|
164
165
|
* If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
|
|
165
166
|
* @default false
|
|
@@ -204,10 +205,13 @@ MobileDateTimeRangePicker.propTypes = {
|
|
|
204
205
|
* If `true`, the week number will be display in the calendar.
|
|
205
206
|
*/
|
|
206
207
|
displayWeekNumber: PropTypes.bool,
|
|
208
|
+
/**
|
|
209
|
+
* @default false
|
|
210
|
+
*/
|
|
211
|
+
enableAccessibleFieldDOMStructure: PropTypes.any,
|
|
207
212
|
/**
|
|
208
213
|
* The day view will show as many weeks as needed after the end of the current month to match this value.
|
|
209
214
|
* Put it to 6 to have a fixed number of weeks in Gregorian calendars
|
|
210
|
-
* @default undefined
|
|
211
215
|
*/
|
|
212
216
|
fixedWeekNumber: PropTypes.number,
|
|
213
217
|
/**
|
|
@@ -225,9 +229,7 @@ MobileDateTimeRangePicker.propTypes = {
|
|
|
225
229
|
* Pass a ref to the `input` element.
|
|
226
230
|
* Ignored if the field has several inputs.
|
|
227
231
|
*/
|
|
228
|
-
inputRef:
|
|
229
|
-
current: PropTypes.object
|
|
230
|
-
})]),
|
|
232
|
+
inputRef: refType,
|
|
231
233
|
/**
|
|
232
234
|
* The label content.
|
|
233
235
|
* Ignored if the field has several inputs.
|
|
@@ -247,29 +249,29 @@ MobileDateTimeRangePicker.propTypes = {
|
|
|
247
249
|
/**
|
|
248
250
|
* Maximal selectable date.
|
|
249
251
|
*/
|
|
250
|
-
maxDate: PropTypes.
|
|
252
|
+
maxDate: PropTypes.object,
|
|
251
253
|
/**
|
|
252
254
|
* Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
|
|
253
255
|
*/
|
|
254
|
-
maxDateTime: PropTypes.
|
|
256
|
+
maxDateTime: PropTypes.object,
|
|
255
257
|
/**
|
|
256
258
|
* Maximal selectable time.
|
|
257
259
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
258
260
|
*/
|
|
259
|
-
maxTime: PropTypes.
|
|
261
|
+
maxTime: PropTypes.object,
|
|
260
262
|
/**
|
|
261
263
|
* Minimal selectable date.
|
|
262
264
|
*/
|
|
263
|
-
minDate: PropTypes.
|
|
265
|
+
minDate: PropTypes.object,
|
|
264
266
|
/**
|
|
265
267
|
* Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
|
|
266
268
|
*/
|
|
267
|
-
minDateTime: PropTypes.
|
|
269
|
+
minDateTime: PropTypes.object,
|
|
268
270
|
/**
|
|
269
271
|
* Minimal selectable time.
|
|
270
272
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
271
273
|
*/
|
|
272
|
-
minTime: PropTypes.
|
|
274
|
+
minTime: PropTypes.object,
|
|
273
275
|
/**
|
|
274
276
|
* Step over minutes.
|
|
275
277
|
* @default 1
|
|
@@ -362,7 +364,7 @@ MobileDateTimeRangePicker.propTypes = {
|
|
|
362
364
|
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
363
365
|
* @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
|
|
364
366
|
*/
|
|
365
|
-
referenceDate: PropTypes.
|
|
367
|
+
referenceDate: PropTypes.object,
|
|
366
368
|
/**
|
|
367
369
|
* Component rendered on the "day" view when `props.loading` is true.
|
|
368
370
|
* @returns {React.ReactNode} The node to render when loading.
|
|
@@ -371,17 +373,14 @@ MobileDateTimeRangePicker.propTypes = {
|
|
|
371
373
|
renderLoading: PropTypes.func,
|
|
372
374
|
/**
|
|
373
375
|
* The currently selected sections.
|
|
374
|
-
* This prop
|
|
376
|
+
* This prop accepts four formats:
|
|
375
377
|
* 1. If a number is provided, the section at this index will be selected.
|
|
376
|
-
* 2. If
|
|
377
|
-
* 3. If
|
|
378
|
-
* 4. If `null` is provided, no section will be selected
|
|
378
|
+
* 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
379
|
+
* 3. If `"all"` is provided, all the sections will be selected.
|
|
380
|
+
* 4. If `null` is provided, no section will be selected.
|
|
379
381
|
* If not provided, the selected sections will be handled internally.
|
|
380
382
|
*/
|
|
381
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number,
|
|
382
|
-
endIndex: PropTypes.number.isRequired,
|
|
383
|
-
startIndex: PropTypes.number.isRequired
|
|
384
|
-
})]),
|
|
383
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
385
384
|
/**
|
|
386
385
|
* Disable specific date.
|
|
387
386
|
*
|
|
@@ -459,7 +458,7 @@ MobileDateTimeRangePicker.propTypes = {
|
|
|
459
458
|
* The selected value.
|
|
460
459
|
* Used when the component is controlled.
|
|
461
460
|
*/
|
|
462
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
461
|
+
value: PropTypes.arrayOf(PropTypes.object),
|
|
463
462
|
/**
|
|
464
463
|
* The visible view.
|
|
465
464
|
* Used when the component view is controlled.
|
|
@@ -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 { useMultiInputDateRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField';
|
|
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 MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
59
60
|
name: 'MuiMultiInputDateRangeField'
|
|
60
61
|
});
|
|
61
62
|
const {
|
|
62
|
-
internalProps
|
|
63
|
+
internalProps,
|
|
63
64
|
forwardedProps
|
|
64
65
|
} = splitFieldInternalAndForwardedProps(themeProps, 'date');
|
|
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 MultiInputDateRangeField = /*#__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 MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
111
107
|
className: classes.separator
|
|
112
108
|
});
|
|
113
109
|
const fieldResponse = useMultiInputDateRangeField({
|
|
114
|
-
sharedProps:
|
|
115
|
-
disabled
|
|
116
|
-
}),
|
|
110
|
+
sharedProps: internalProps,
|
|
117
111
|
startTextFieldProps,
|
|
118
112
|
endTextFieldProps,
|
|
119
113
|
unstableStartFieldRef,
|
|
@@ -134,6 +128,9 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
134
128
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
135
129
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
136
130
|
// ----------------------------------------------------------------------
|
|
131
|
+
/**
|
|
132
|
+
* If `true`, the `input` element is focused during the first mount.
|
|
133
|
+
*/
|
|
137
134
|
autoFocus: PropTypes.bool,
|
|
138
135
|
/**
|
|
139
136
|
* Override or extend the styles applied to the component.
|
|
@@ -144,7 +141,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
144
141
|
/**
|
|
145
142
|
* The default value. Use when the component is not controlled.
|
|
146
143
|
*/
|
|
147
|
-
defaultValue: PropTypes.arrayOf(PropTypes.
|
|
144
|
+
defaultValue: PropTypes.arrayOf(PropTypes.object),
|
|
148
145
|
/**
|
|
149
146
|
* Defines the `flex-direction` style property.
|
|
150
147
|
* It is applied for all screen sizes.
|
|
@@ -170,6 +167,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
170
167
|
* Add an element between each child.
|
|
171
168
|
*/
|
|
172
169
|
divider: PropTypes.node,
|
|
170
|
+
/**
|
|
171
|
+
* @default false
|
|
172
|
+
*/
|
|
173
|
+
enableAccessibleFieldDOMStructure: PropTypes.bool,
|
|
173
174
|
/**
|
|
174
175
|
* Format of the date when rendered in the input(s).
|
|
175
176
|
*/
|
|
@@ -183,11 +184,11 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
183
184
|
/**
|
|
184
185
|
* Maximal selectable date.
|
|
185
186
|
*/
|
|
186
|
-
maxDate: PropTypes.
|
|
187
|
+
maxDate: PropTypes.object,
|
|
187
188
|
/**
|
|
188
189
|
* Minimal selectable date.
|
|
189
190
|
*/
|
|
190
|
-
minDate: PropTypes.
|
|
191
|
+
minDate: PropTypes.object,
|
|
191
192
|
/**
|
|
192
193
|
* Callback fired when the value changes.
|
|
193
194
|
* @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.
|
|
@@ -220,20 +221,17 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
220
221
|
* For example, on time fields it will be used to determine the date to set.
|
|
221
222
|
* @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
|
|
222
223
|
*/
|
|
223
|
-
referenceDate: PropTypes.
|
|
224
|
+
referenceDate: PropTypes.object,
|
|
224
225
|
/**
|
|
225
226
|
* The currently selected sections.
|
|
226
|
-
* This prop
|
|
227
|
+
* This prop accepts four formats:
|
|
227
228
|
* 1. If a number is provided, the section at this index will be selected.
|
|
228
|
-
* 2. If
|
|
229
|
-
* 3. If
|
|
230
|
-
* 4. If `null` is provided, no section will be selected
|
|
229
|
+
* 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
230
|
+
* 3. If `"all"` is provided, all the sections will be selected.
|
|
231
|
+
* 4. If `null` is provided, no section will be selected.
|
|
231
232
|
* If not provided, the selected sections will be handled internally.
|
|
232
233
|
*/
|
|
233
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number,
|
|
234
|
-
endIndex: PropTypes.number.isRequired,
|
|
235
|
-
startIndex: PropTypes.number.isRequired
|
|
236
|
-
})]),
|
|
234
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
237
235
|
/**
|
|
238
236
|
* Disable specific date.
|
|
239
237
|
*
|
|
@@ -304,6 +302,6 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
304
302
|
* The selected value.
|
|
305
303
|
* Used when the component is controlled.
|
|
306
304
|
*/
|
|
307
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
305
|
+
value: PropTypes.arrayOf(PropTypes.object)
|
|
308
306
|
} : void 0;
|
|
309
307
|
export { MultiInputDateRangeField };
|
|
@@ -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.
|
|
@@ -149,7 +146,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.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" ? 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
|
*/
|
|
@@ -193,29 +194,29 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
193
194
|
/**
|
|
194
195
|
* Maximal selectable date.
|
|
195
196
|
*/
|
|
196
|
-
maxDate: PropTypes.
|
|
197
|
+
maxDate: PropTypes.object,
|
|
197
198
|
/**
|
|
198
199
|
* Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
|
|
199
200
|
*/
|
|
200
|
-
maxDateTime: PropTypes.
|
|
201
|
+
maxDateTime: PropTypes.object,
|
|
201
202
|
/**
|
|
202
203
|
* Maximal selectable time.
|
|
203
204
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
204
205
|
*/
|
|
205
|
-
maxTime: PropTypes.
|
|
206
|
+
maxTime: PropTypes.object,
|
|
206
207
|
/**
|
|
207
208
|
* Minimal selectable date.
|
|
208
209
|
*/
|
|
209
|
-
minDate: PropTypes.
|
|
210
|
+
minDate: PropTypes.object,
|
|
210
211
|
/**
|
|
211
212
|
* Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
|
|
212
213
|
*/
|
|
213
|
-
minDateTime: PropTypes.
|
|
214
|
+
minDateTime: PropTypes.object,
|
|
214
215
|
/**
|
|
215
216
|
* Minimal selectable time.
|
|
216
217
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
217
218
|
*/
|
|
218
|
-
minTime: PropTypes.
|
|
219
|
+
minTime: PropTypes.object,
|
|
219
220
|
/**
|
|
220
221
|
* Step over minutes.
|
|
221
222
|
* @default 1
|
|
@@ -253,20 +254,17 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
253
254
|
* For example, on time fields it will be used to determine the date to set.
|
|
254
255
|
* @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
|
|
255
256
|
*/
|
|
256
|
-
referenceDate: PropTypes.
|
|
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
|
*
|
|
@@ -345,6 +343,6 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
345
343
|
* The selected value.
|
|
346
344
|
* Used when the component is controlled.
|
|
347
345
|
*/
|
|
348
|
-
value: PropTypes.arrayOf(PropTypes.
|
|
346
|
+
value: PropTypes.arrayOf(PropTypes.object)
|
|
349
347
|
} : void 0;
|
|
350
348
|
export { MultiInputDateTimeRangeField };
|