@mui/x-date-pickers-pro 8.0.0-alpha.1 → 8.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.d.ts +1 -1
- package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
- package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.d.ts +1 -1
- package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
- package/CHANGELOG.md +2007 -230
- package/DateRangeCalendar/DateRangeCalendar.js +73 -46
- package/DateRangePicker/DateRangePicker.js +1 -4
- package/DateRangePicker/DateRangePicker.types.d.ts +6 -2
- package/DateRangePicker/DateRangePickerToolbar.d.ts +2 -3
- package/DateRangePicker/DateRangePickerToolbar.js +33 -41
- package/DateRangePicker/shared.d.ts +4 -3
- package/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
- package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +1 -2
- package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +4 -5
- package/DateTimeRangePicker/DateTimeRangePickerTabs.js +35 -33
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -10
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -5
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +81 -109
- package/DateTimeRangePicker/shared.d.ts +6 -5
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
- package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +7 -2
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +2 -3
- package/MobileDateRangePicker/MobileDateRangePicker.js +6 -8
- package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +2 -2
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -16
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +2 -3
- package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +9 -4
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -121
- package/MultiInputDateRangeField/index.d.ts +5 -3
- package/MultiInputDateRangeField/index.js +2 -2
- package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +6 -0
- package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +9 -4
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -121
- package/MultiInputDateTimeRangeField/index.d.ts +5 -3
- package/MultiInputDateTimeRangeField/index.js +2 -2
- package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +6 -0
- package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +9 -4
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -122
- package/MultiInputTimeRangeField/index.d.ts +5 -3
- package/MultiInputTimeRangeField/index.js +2 -2
- package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +6 -0
- package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
- package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
- package/README.md +8 -5
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
- package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -16
- package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +6 -17
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +6 -17
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
- package/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
- package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +2 -2
- package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
- package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
- package/hooks/index.d.ts +2 -0
- package/hooks/index.js +2 -0
- package/hooks/package.json +6 -0
- package/hooks/useMultiInputRangeField/index.d.ts +1 -0
- package/hooks/useMultiInputRangeField/index.js +1 -0
- package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +53 -0
- package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
- package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +17 -0
- package/{modern/internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
- package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +17 -0
- package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
- package/hooks/usePickerRangePositionContext.d.ts +7 -0
- package/hooks/usePickerRangePositionContext.js +15 -0
- package/index.d.ts +2 -0
- package/index.js +4 -2
- package/internals/hooks/models/index.d.ts +1 -1
- package/internals/hooks/models/useRangePicker.d.ts +8 -11
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +8 -10
- package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +25 -16
- package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +50 -63
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -9
- package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
- package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
- package/internals/hooks/useRangePosition.d.ts +4 -3
- package/internals/hooks/useRangePosition.js +1 -1
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +17 -30
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +6 -12
- package/internals/models/dateTimeRange.d.ts +1 -6
- package/internals/models/fields.d.ts +7 -11
- package/internals/models/index.d.ts +0 -1
- package/internals/models/index.js +0 -1
- package/internals/models/managers.d.ts +3 -0
- package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +3 -0
- package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
- package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +72 -0
- package/internals/utils/createMultiInputRangeField/index.d.ts +3 -0
- package/internals/utils/createMultiInputRangeField/index.js +2 -0
- package/internals/utils/date-fields-utils.d.ts +6 -6
- package/internals/utils/date-range-manager.js +2 -1
- package/internals/utils/releaseInfo.js +1 -1
- package/internals/utils/valueManagers.d.ts +4 -3
- package/internals/utils/valueManagers.js +7 -7
- package/managers/index.d.ts +6 -0
- package/managers/index.js +3 -0
- package/managers/package.json +6 -0
- package/managers/useDateRangeManager.d.ts +15 -0
- package/managers/useDateRangeManager.js +33 -0
- package/managers/useDateTimeRangeManager.d.ts +15 -0
- package/managers/useDateTimeRangeManager.js +33 -0
- package/managers/useTimeRangeManager.d.ts +15 -0
- package/managers/useTimeRangeManager.js +31 -0
- package/models/fields.d.ts +7 -11
- package/models/index.d.ts +1 -2
- package/models/index.js +1 -2
- package/models/range.d.ts +0 -2
- package/modern/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/modern/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.js +73 -46
- package/modern/DateRangePicker/DateRangePicker.js +1 -4
- package/modern/DateRangePicker/DateRangePickerToolbar.js +33 -41
- package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
- package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +35 -33
- package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
- package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +81 -109
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +6 -8
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -16
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -121
- package/modern/MultiInputDateRangeField/index.js +2 -2
- package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -121
- package/modern/MultiInputDateTimeRangeField/index.js +2 -2
- package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -122
- package/modern/MultiInputTimeRangeField/index.js +2 -2
- package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
- package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
- package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
- package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
- package/modern/hooks/index.js +2 -0
- package/modern/hooks/useMultiInputRangeField/index.js +1 -0
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
- package/{internals/hooks/useMultiInputFieldSelectedSections.js → modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
- package/modern/hooks/usePickerRangePositionContext.js +15 -0
- package/modern/index.js +4 -2
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
- package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +50 -63
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
- package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
- package/modern/internals/hooks/useRangePosition.js +1 -1
- package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +17 -30
- package/modern/internals/models/index.js +0 -1
- package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
- package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
- package/modern/internals/utils/date-range-manager.js +2 -1
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/modern/internals/utils/valueManagers.js +7 -7
- package/modern/managers/index.js +3 -0
- package/modern/managers/useDateRangeManager.js +33 -0
- package/modern/managers/useDateTimeRangeManager.js +33 -0
- package/modern/managers/useTimeRangeManager.js +31 -0
- package/modern/models/index.js +1 -2
- package/modern/validation/validateDateRange.js +8 -0
- package/modern/validation/validateDateTimeRange.js +4 -0
- package/modern/validation/validateTimeRange.js +8 -0
- package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/node/DateRangeCalendar/DateRangeCalendar.js +72 -45
- package/node/DateRangePicker/DateRangePicker.js +1 -4
- package/node/DateRangePicker/DateRangePickerToolbar.js +31 -39
- package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
- package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +33 -31
- package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
- package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +80 -108
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
- package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +6 -8
- package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -16
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -124
- package/node/MultiInputDateRangeField/index.js +3 -9
- package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -124
- package/node/MultiInputDateTimeRangeField/index.js +3 -9
- package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -125
- package/node/MultiInputTimeRangeField/index.js +3 -9
- package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
- package/node/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +22 -32
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +22 -32
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +22 -32
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
- package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
- package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
- package/node/hooks/index.js +19 -0
- package/node/hooks/useMultiInputRangeField/index.js +12 -0
- package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
- package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
- package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
- package/node/hooks/usePickerRangePositionContext.js +22 -0
- package/node/index.js +23 -1
- package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
- package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +52 -65
- package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
- package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
- package/node/internals/hooks/useRangePosition.js +1 -1
- package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +16 -29
- package/node/internals/models/index.js +0 -11
- package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +143 -0
- package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
- package/node/internals/utils/date-range-manager.js +2 -1
- package/node/internals/utils/releaseInfo.js +1 -1
- package/node/internals/utils/valueManagers.js +7 -7
- package/node/managers/index.js +26 -0
- package/node/managers/useDateRangeManager.js +40 -0
- package/node/managers/useDateTimeRangeManager.js +40 -0
- package/node/managers/useTimeRangeManager.js +38 -0
- package/node/models/index.js +0 -22
- package/node/validation/validateDateRange.js +8 -0
- package/node/validation/validateDateTimeRange.js +4 -0
- package/node/validation/validateTimeRange.js +8 -0
- package/package.json +6 -6
- package/themeAugmentation/overrides.d.ts +6 -4
- package/themeAugmentation/props.d.ts +2 -2
- package/validation/validateDateRange.d.ts +9 -1
- package/validation/validateDateRange.js +8 -0
- package/validation/validateDateTimeRange.d.ts +6 -2
- package/validation/validateDateTimeRange.js +4 -0
- package/validation/validateTimeRange.d.ts +9 -1
- package/validation/validateTimeRange.js +8 -0
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -53
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -54
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -54
- package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +0 -21
- package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
- package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
- package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
- package/internals/models/timeRange.d.ts +0 -6
- package/internals/models/timeRange.js +0 -1
- package/models/dateRange.d.ts +0 -7
- package/models/dateRange.js +0 -1
- package/models/multiInputRangeFieldClasses.d.ts +0 -7
- package/models/multiInputRangeFieldClasses.js +0 -1
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
- package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
- package/modern/internals/models/timeRange.js +0 -1
- package/modern/models/dateRange.js +0 -1
- package/modern/models/multiInputRangeFieldClasses.js +0 -1
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
- package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -121
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -121
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -121
- package/node/internals/models/timeRange.js +0 -5
- package/node/models/dateRange.js +0 -5
- package/node/models/multiInputRangeFieldClasses.js +0 -5
- /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
- /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
- /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
- /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
- /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
- /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
|
@@ -75,8 +75,8 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePicker.propTypes = {
|
|
|
75
75
|
calendars: _propTypes.default.oneOf([1, 2, 3]),
|
|
76
76
|
className: _propTypes.default.string,
|
|
77
77
|
/**
|
|
78
|
-
* If `true`, the
|
|
79
|
-
* @default
|
|
78
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
79
|
+
* @default false
|
|
80
80
|
*/
|
|
81
81
|
closeOnSelect: _propTypes.default.bool,
|
|
82
82
|
/**
|
|
@@ -175,12 +175,10 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePicker.propTypes = {
|
|
|
175
175
|
formatDensity: _propTypes.default.oneOf(['dense', 'spacious']),
|
|
176
176
|
/**
|
|
177
177
|
* Pass a ref to the `input` element.
|
|
178
|
-
* Ignored if the field has several inputs.
|
|
179
178
|
*/
|
|
180
179
|
inputRef: _utils.refType,
|
|
181
180
|
/**
|
|
182
181
|
* The label content.
|
|
183
|
-
* Ignored if the field has several inputs.
|
|
184
182
|
*/
|
|
185
183
|
label: _propTypes.default.node,
|
|
186
184
|
/**
|
|
@@ -229,7 +227,6 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePicker.propTypes = {
|
|
|
229
227
|
minutesStep: _propTypes.default.number,
|
|
230
228
|
/**
|
|
231
229
|
* Name attribute used by the `input` element in the Field.
|
|
232
|
-
* Ignored if the field has several inputs.
|
|
233
230
|
*/
|
|
234
231
|
name: _propTypes.default.string,
|
|
235
232
|
/**
|
|
@@ -19,6 +19,7 @@ var _hooks = require("@mui/x-date-pickers/hooks");
|
|
|
19
19
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
20
20
|
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
21
21
|
var _dateTimeRangePickerTabsClasses = require("./dateTimeRangePickerTabsClasses");
|
|
22
|
+
var _hooks2 = require("../hooks");
|
|
22
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
24
|
const viewToTab = (view, rangePosition) => {
|
|
24
25
|
if ((0, _internals.isDatePickerView)(view)) {
|
|
@@ -32,10 +33,7 @@ const tabToView = tab => {
|
|
|
32
33
|
}
|
|
33
34
|
return 'hours';
|
|
34
35
|
};
|
|
35
|
-
const useUtilityClasses =
|
|
36
|
-
const {
|
|
37
|
-
classes
|
|
38
|
-
} = ownerState;
|
|
36
|
+
const useUtilityClasses = classes => {
|
|
39
37
|
const slots = {
|
|
40
38
|
root: ['root'],
|
|
41
39
|
tabButton: ['tabButton'],
|
|
@@ -79,18 +77,26 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
79
77
|
});
|
|
80
78
|
const {
|
|
81
79
|
dateIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.DateRangeIcon, {}),
|
|
82
|
-
onViewChange,
|
|
83
80
|
timeIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.TimeIcon, {}),
|
|
84
|
-
view,
|
|
85
81
|
hidden = typeof window === 'undefined' || window.innerHeight < 667,
|
|
86
|
-
rangePosition,
|
|
87
|
-
onRangePositionChange,
|
|
88
82
|
className,
|
|
83
|
+
classes: classesProp,
|
|
89
84
|
sx
|
|
90
85
|
} = props;
|
|
91
86
|
const translations = (0, _hooks.usePickerTranslations)();
|
|
92
|
-
const
|
|
93
|
-
|
|
87
|
+
const {
|
|
88
|
+
ownerState
|
|
89
|
+
} = (0, _internals.usePickerPrivateContext)();
|
|
90
|
+
const {
|
|
91
|
+
view,
|
|
92
|
+
setView
|
|
93
|
+
} = (0, _hooks.usePickerContext)();
|
|
94
|
+
const classes = useUtilityClasses(classesProp);
|
|
95
|
+
const {
|
|
96
|
+
rangePosition,
|
|
97
|
+
setRangePosition
|
|
98
|
+
} = (0, _hooks2.usePickerRangePositionContext)();
|
|
99
|
+
const value = React.useMemo(() => view == null ? null : viewToTab(view, rangePosition), [view, rangePosition]);
|
|
94
100
|
const isPreviousHidden = value === 'start-date';
|
|
95
101
|
const isNextHidden = value === 'end-time';
|
|
96
102
|
const tabLabel = React.useMemo(() => {
|
|
@@ -109,26 +115,34 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
109
115
|
}, [translations.endDate, translations.endTime, translations.startDate, translations.startTime, value]);
|
|
110
116
|
const handleRangePositionChange = (0, _useEventCallback.default)(newTab => {
|
|
111
117
|
if (newTab.includes('start')) {
|
|
112
|
-
|
|
118
|
+
setRangePosition('start');
|
|
113
119
|
} else {
|
|
114
|
-
|
|
120
|
+
setRangePosition('end');
|
|
115
121
|
}
|
|
116
122
|
});
|
|
117
123
|
const changeToPreviousTab = (0, _useEventCallback.default)(() => {
|
|
118
|
-
const previousTab = tabOptions[tabOptions.indexOf(value) - 1];
|
|
119
|
-
|
|
124
|
+
const previousTab = value == null ? tabOptions[0] : tabOptions[tabOptions.indexOf(value) - 1];
|
|
125
|
+
setView(tabToView(previousTab));
|
|
120
126
|
handleRangePositionChange(previousTab);
|
|
121
127
|
});
|
|
122
128
|
const changeToNextTab = (0, _useEventCallback.default)(() => {
|
|
123
|
-
const nextTab = tabOptions[tabOptions.indexOf(value) + 1];
|
|
124
|
-
|
|
129
|
+
const nextTab = value == null ? tabOptions[0] : tabOptions[tabOptions.indexOf(value) + 1];
|
|
130
|
+
setView(tabToView(nextTab));
|
|
125
131
|
handleRangePositionChange(nextTab);
|
|
126
132
|
});
|
|
127
133
|
if (hidden) {
|
|
128
134
|
return null;
|
|
129
135
|
}
|
|
136
|
+
let startIcon;
|
|
137
|
+
if (view == null) {
|
|
138
|
+
startIcon = null;
|
|
139
|
+
} else if ((0, _internals.isDatePickerView)(view)) {
|
|
140
|
+
startIcon = dateIcon;
|
|
141
|
+
} else {
|
|
142
|
+
startIcon = timeIcon;
|
|
143
|
+
}
|
|
130
144
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimeRangePickerTabsRoot, {
|
|
131
|
-
ownerState:
|
|
145
|
+
ownerState: ownerState,
|
|
132
146
|
className: (0, _clsx.default)(classes.root, className),
|
|
133
147
|
sx: sx,
|
|
134
148
|
children: [!isPreviousHidden ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
@@ -139,7 +153,7 @@ const DateTimeRangePickerTabs = exports.DateTimeRangePickerTabs = function DateT
|
|
|
139
153
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerTabFiller, {
|
|
140
154
|
className: classes.filler
|
|
141
155
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerTab, {
|
|
142
|
-
startIcon:
|
|
156
|
+
startIcon: startIcon,
|
|
143
157
|
className: classes.tabButton,
|
|
144
158
|
size: "large",
|
|
145
159
|
children: tabLabel
|
|
@@ -173,14 +187,6 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerTabs.propTypes = {
|
|
|
173
187
|
* @default `window.innerHeight < 667` for `DesktopDateTimeRangePicker` and `MobileDateTimeRangePicker`
|
|
174
188
|
*/
|
|
175
189
|
hidden: _propTypes.default.bool,
|
|
176
|
-
onRangePositionChange: _propTypes.default.func.isRequired,
|
|
177
|
-
/**
|
|
178
|
-
* Callback called when a tab is clicked.
|
|
179
|
-
* @template TView
|
|
180
|
-
* @param {TView} view The view to open
|
|
181
|
-
*/
|
|
182
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
183
|
-
rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
|
|
184
190
|
/**
|
|
185
191
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
186
192
|
*/
|
|
@@ -189,9 +195,5 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerTabs.propTypes = {
|
|
|
189
195
|
* Time tab icon.
|
|
190
196
|
* @default TimeIcon
|
|
191
197
|
*/
|
|
192
|
-
timeIcon: _propTypes.default.element
|
|
193
|
-
/**
|
|
194
|
-
* Currently visible picker view.
|
|
195
|
-
*/
|
|
196
|
-
view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired
|
|
198
|
+
timeIcon: _propTypes.default.element
|
|
197
199
|
} : void 0;
|
|
@@ -10,15 +10,14 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
10
10
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
11
11
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
12
12
|
var _dateRangeManager = require("../internals/utils/date-range-manager");
|
|
13
|
-
|
|
13
|
+
var _hooks = require("../hooks");
|
|
14
|
+
const _excluded = ["viewRenderer", "value", "onChange", "defaultValue", "onViewChange", "views", "className"];
|
|
14
15
|
/**
|
|
15
16
|
* @ignore - internal component.
|
|
16
17
|
*/
|
|
17
|
-
function DateTimeRangePickerTimeWrapper(props
|
|
18
|
+
function DateTimeRangePickerTimeWrapper(props) {
|
|
18
19
|
const utils = (0, _internals.useUtils)();
|
|
19
20
|
const {
|
|
20
|
-
rangePosition,
|
|
21
|
-
onRangePositionChange,
|
|
22
21
|
viewRenderer,
|
|
23
22
|
value,
|
|
24
23
|
onChange,
|
|
@@ -27,6 +26,10 @@ function DateTimeRangePickerTimeWrapper(props, ref) {
|
|
|
27
26
|
views
|
|
28
27
|
} = props,
|
|
29
28
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
29
|
+
const {
|
|
30
|
+
rangePosition,
|
|
31
|
+
setRangePosition
|
|
32
|
+
} = (0, _hooks.usePickerRangePositionContext)();
|
|
30
33
|
if (!viewRenderer) {
|
|
31
34
|
return null;
|
|
32
35
|
}
|
|
@@ -49,12 +52,11 @@ function DateTimeRangePickerTimeWrapper(props, ref) {
|
|
|
49
52
|
// reset view to the first time view and swap range position after selecting the last time view (start or end position)
|
|
50
53
|
if (selectedView === timeViews[timeViews.length - 1] && onViewChange) {
|
|
51
54
|
onViewChange(views[0]);
|
|
52
|
-
|
|
55
|
+
setRangePosition(rangePosition === 'start' ? 'end' : 'start');
|
|
53
56
|
}
|
|
54
57
|
onChange(newRange, isFullRangeSelected ? 'finish' : 'partial', selectedView);
|
|
55
58
|
};
|
|
56
59
|
return viewRenderer((0, _extends2.default)({}, other, {
|
|
57
|
-
ref,
|
|
58
60
|
views,
|
|
59
61
|
onViewChange,
|
|
60
62
|
value: currentValue,
|
|
@@ -19,12 +19,10 @@ var _hooks = require("@mui/x-date-pickers/hooks");
|
|
|
19
19
|
var _DateTimePicker = require("@mui/x-date-pickers/DateTimePicker");
|
|
20
20
|
var _dateTimeRangePickerToolbarClasses = require("./dateTimeRangePickerToolbarClasses");
|
|
21
21
|
var _dateRangeManager = require("../internals/utils/date-range-manager");
|
|
22
|
+
var _hooks2 = require("../hooks");
|
|
22
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const _excluded = ["
|
|
24
|
-
const useUtilityClasses =
|
|
25
|
-
const {
|
|
26
|
-
classes
|
|
27
|
-
} = ownerState;
|
|
24
|
+
const _excluded = ["className", "classes", "classes", "ampm", "hidden", "toolbarFormat", "toolbarPlaceholder", "titleId", "sx"];
|
|
25
|
+
const useUtilityClasses = classes => {
|
|
28
26
|
const slots = {
|
|
29
27
|
root: ['root'],
|
|
30
28
|
startToolbar: ['startToolbar'],
|
|
@@ -46,36 +44,13 @@ const DateTimeRangePickerToolbarStart = (0, _styles.styled)(_DateTimePicker.Date
|
|
|
46
44
|
overridesResolver: (_, styles) => styles.startToolbar
|
|
47
45
|
})({
|
|
48
46
|
borderBottom: 'none',
|
|
49
|
-
|
|
50
|
-
props: ({
|
|
51
|
-
toolbarVariant
|
|
52
|
-
}) => toolbarVariant !== 'desktop',
|
|
53
|
-
style: {
|
|
54
|
-
padding: '12px 8px 0 12px'
|
|
55
|
-
}
|
|
56
|
-
}, {
|
|
57
|
-
props: {
|
|
58
|
-
toolbarVariant: 'desktop'
|
|
59
|
-
},
|
|
60
|
-
style: {
|
|
61
|
-
paddingBottom: 0
|
|
62
|
-
}
|
|
63
|
-
}]
|
|
47
|
+
paddingBottom: 0
|
|
64
48
|
});
|
|
65
49
|
const DateTimeRangePickerToolbarEnd = (0, _styles.styled)(_DateTimePicker.DateTimePickerToolbar, {
|
|
66
50
|
name: 'MuiDateTimeRangePickerToolbar',
|
|
67
51
|
slot: 'EndToolbar',
|
|
68
52
|
overridesResolver: (_, styles) => styles.endToolbar
|
|
69
|
-
})({
|
|
70
|
-
variants: [{
|
|
71
|
-
props: ({
|
|
72
|
-
toolbarVariant
|
|
73
|
-
}) => toolbarVariant !== 'desktop',
|
|
74
|
-
style: {
|
|
75
|
-
padding: '12px 8px 12px 12px'
|
|
76
|
-
}
|
|
77
|
-
}]
|
|
78
|
-
});
|
|
53
|
+
})({});
|
|
79
54
|
const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PURE__*/React.forwardRef(function DateTimeRangePickerToolbar(inProps, ref) {
|
|
80
55
|
const props = (0, _styles.useThemeProps)({
|
|
81
56
|
props: inProps,
|
|
@@ -83,15 +58,8 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
83
58
|
});
|
|
84
59
|
const utils = (0, _internals.useUtils)();
|
|
85
60
|
const {
|
|
86
|
-
value: [start, end],
|
|
87
|
-
rangePosition,
|
|
88
|
-
onRangePositionChange,
|
|
89
61
|
className,
|
|
90
|
-
|
|
91
|
-
onChange,
|
|
92
|
-
view,
|
|
93
|
-
isLandscape,
|
|
94
|
-
views,
|
|
62
|
+
classes: classesProp,
|
|
95
63
|
ampm,
|
|
96
64
|
hidden,
|
|
97
65
|
toolbarFormat,
|
|
@@ -101,11 +69,22 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
101
69
|
} = props,
|
|
102
70
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
103
71
|
const {
|
|
72
|
+
value,
|
|
73
|
+
setValue,
|
|
104
74
|
disabled,
|
|
105
|
-
readOnly
|
|
75
|
+
readOnly,
|
|
76
|
+
view,
|
|
77
|
+
setView,
|
|
78
|
+
views
|
|
106
79
|
} = (0, _hooks.usePickerContext)();
|
|
80
|
+
const translations = (0, _hooks.usePickerTranslations)();
|
|
81
|
+
const ownerState = (0, _internals.useToolbarOwnerState)();
|
|
82
|
+
const {
|
|
83
|
+
rangePosition,
|
|
84
|
+
setRangePosition
|
|
85
|
+
} = (0, _hooks2.usePickerRangePositionContext)();
|
|
86
|
+
const classes = useUtilityClasses(classesProp);
|
|
107
87
|
const commonToolbarProps = {
|
|
108
|
-
isLandscape,
|
|
109
88
|
views,
|
|
110
89
|
ampm,
|
|
111
90
|
disabled,
|
|
@@ -114,41 +93,58 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
114
93
|
toolbarFormat,
|
|
115
94
|
toolbarPlaceholder
|
|
116
95
|
};
|
|
117
|
-
const
|
|
118
|
-
const ownerState = props;
|
|
119
|
-
const classes = useUtilityClasses(ownerState);
|
|
120
|
-
const handleStartRangeViewChange = React.useCallback(newView => {
|
|
121
|
-
if (newView === 'year' || newView === 'month') {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
if (rangePosition !== 'start') {
|
|
125
|
-
onRangePositionChange('start');
|
|
126
|
-
}
|
|
127
|
-
onViewChange(newView);
|
|
128
|
-
}, [onRangePositionChange, onViewChange, rangePosition]);
|
|
129
|
-
const handleEndRangeViewChange = React.useCallback(newView => {
|
|
130
|
-
if (newView === 'year' || newView === 'month') {
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
if (rangePosition !== 'end') {
|
|
134
|
-
onRangePositionChange('end');
|
|
135
|
-
}
|
|
136
|
-
onViewChange(newView);
|
|
137
|
-
}, [onRangePositionChange, onViewChange, rangePosition]);
|
|
138
|
-
const handleOnChange = React.useCallback(newDate => {
|
|
96
|
+
const wrappedSetValue = React.useCallback(newDate => {
|
|
139
97
|
const {
|
|
140
98
|
nextSelection,
|
|
141
99
|
newRange
|
|
142
100
|
} = (0, _dateRangeManager.calculateRangeChange)({
|
|
143
101
|
newDate,
|
|
144
102
|
utils,
|
|
145
|
-
range:
|
|
103
|
+
range: value,
|
|
146
104
|
rangePosition,
|
|
147
105
|
allowRangeFlip: true
|
|
148
106
|
});
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
107
|
+
setRangePosition(nextSelection);
|
|
108
|
+
setValue(newRange, {
|
|
109
|
+
changeImportance: 'set'
|
|
110
|
+
});
|
|
111
|
+
}, [setValue, setRangePosition, value, rangePosition, utils]);
|
|
112
|
+
const startOverrides = React.useMemo(() => {
|
|
113
|
+
const handleStartRangeViewChange = newView => {
|
|
114
|
+
if (newView === 'year' || newView === 'month') {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (rangePosition !== 'start') {
|
|
118
|
+
setRangePosition('start');
|
|
119
|
+
}
|
|
120
|
+
setView(newView);
|
|
121
|
+
};
|
|
122
|
+
return {
|
|
123
|
+
value: value[0],
|
|
124
|
+
setValue: wrappedSetValue,
|
|
125
|
+
forceDesktopVariant: true,
|
|
126
|
+
setView: handleStartRangeViewChange,
|
|
127
|
+
view: rangePosition === 'start' ? view : null
|
|
128
|
+
};
|
|
129
|
+
}, [value, wrappedSetValue, rangePosition, view, setRangePosition, setView]);
|
|
130
|
+
const endOverrides = React.useMemo(() => {
|
|
131
|
+
const handleEndRangeViewChange = newView => {
|
|
132
|
+
if (newView === 'year' || newView === 'month') {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (rangePosition !== 'end') {
|
|
136
|
+
setRangePosition('end');
|
|
137
|
+
}
|
|
138
|
+
setView(newView);
|
|
139
|
+
};
|
|
140
|
+
return {
|
|
141
|
+
value: value[1],
|
|
142
|
+
setValue: wrappedSetValue,
|
|
143
|
+
forceDesktopVariant: true,
|
|
144
|
+
setView: handleEndRangeViewChange,
|
|
145
|
+
view: rangePosition === 'end' ? view : null
|
|
146
|
+
};
|
|
147
|
+
}, [value, wrappedSetValue, rangePosition, view, setRangePosition, setView]);
|
|
152
148
|
if (hidden) {
|
|
153
149
|
return null;
|
|
154
150
|
}
|
|
@@ -158,27 +154,23 @@ const DateTimeRangePickerToolbar = exports.DateTimeRangePickerToolbar = /*#__PUR
|
|
|
158
154
|
ref: ref,
|
|
159
155
|
sx: sx
|
|
160
156
|
}, other, {
|
|
161
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
162
|
-
value:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
className: classes.endToolbar,
|
|
179
|
-
onChange: handleOnChange,
|
|
180
|
-
titleId: titleId ? `${titleId}-end-toolbar` : undefined
|
|
181
|
-
}, commonToolbarProps))]
|
|
157
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.DateTimePickerToolbarOverrideContext.Provider, {
|
|
158
|
+
value: startOverrides,
|
|
159
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerToolbarStart, (0, _extends2.default)({
|
|
160
|
+
toolbarTitle: translations.start,
|
|
161
|
+
ownerState: ownerState,
|
|
162
|
+
className: classes.startToolbar,
|
|
163
|
+
titleId: titleId ? `${titleId}-start-toolbar` : undefined
|
|
164
|
+
}, commonToolbarProps))
|
|
165
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.DateTimePickerToolbarOverrideContext.Provider, {
|
|
166
|
+
value: endOverrides,
|
|
167
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimeRangePickerToolbarEnd, (0, _extends2.default)({
|
|
168
|
+
toolbarTitle: translations.end,
|
|
169
|
+
ownerState: ownerState,
|
|
170
|
+
className: classes.endToolbar,
|
|
171
|
+
titleId: titleId ? `${titleId}-end-toolbar` : undefined
|
|
172
|
+
}, commonToolbarProps))
|
|
173
|
+
})]
|
|
182
174
|
}));
|
|
183
175
|
});
|
|
184
176
|
process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
|
|
@@ -197,16 +189,6 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
|
|
|
197
189
|
* @default `true` for Desktop, `false` for Mobile.
|
|
198
190
|
*/
|
|
199
191
|
hidden: _propTypes.default.bool,
|
|
200
|
-
isLandscape: _propTypes.default.bool.isRequired,
|
|
201
|
-
onChange: _propTypes.default.func.isRequired,
|
|
202
|
-
onRangePositionChange: _propTypes.default.func.isRequired,
|
|
203
|
-
/**
|
|
204
|
-
* Callback called when a toolbar is clicked
|
|
205
|
-
* @template TView
|
|
206
|
-
* @param {TView} view The view to open
|
|
207
|
-
*/
|
|
208
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
209
|
-
rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
|
|
210
192
|
/**
|
|
211
193
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
212
194
|
*/
|
|
@@ -220,15 +202,5 @@ process.env.NODE_ENV !== "production" ? DateTimeRangePickerToolbar.propTypes = {
|
|
|
220
202
|
* Toolbar value placeholder—it is displayed when the value is empty.
|
|
221
203
|
* @default "––"
|
|
222
204
|
*/
|
|
223
|
-
toolbarPlaceholder: _propTypes.default.node
|
|
224
|
-
toolbarVariant: _propTypes.default.oneOf(['desktop', 'mobile']),
|
|
225
|
-
value: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
226
|
-
/**
|
|
227
|
-
* Currently visible picker view.
|
|
228
|
-
*/
|
|
229
|
-
view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'seconds']).isRequired,
|
|
230
|
-
/**
|
|
231
|
-
* Available views.
|
|
232
|
-
*/
|
|
233
|
-
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'seconds']).isRequired).isRequired
|
|
205
|
+
toolbarPlaceholder: _propTypes.default.node
|
|
234
206
|
} : void 0;
|
|
@@ -20,6 +20,8 @@ var _dateRangeViewRenderers = require("../dateRangeViewRenderers");
|
|
|
20
20
|
var _MultiInputDateRangeField = require("../MultiInputDateRangeField");
|
|
21
21
|
var _useDesktopRangePicker = require("../internals/hooks/useDesktopRangePicker");
|
|
22
22
|
var _validation2 = require("../validation");
|
|
23
|
+
const emptyActions = [];
|
|
24
|
+
|
|
23
25
|
/**
|
|
24
26
|
* Demos:
|
|
25
27
|
*
|
|
@@ -39,6 +41,7 @@ const DesktopDateRangePicker = exports.DesktopDateRangePicker = /*#__PURE__*/Rea
|
|
|
39
41
|
day: _dateRangeViewRenderers.renderDateRangeViewCalendar
|
|
40
42
|
}, defaultizedProps.viewRenderers);
|
|
41
43
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
44
|
+
closeOnSelect: defaultizedProps.closeOnSelect ?? true,
|
|
42
45
|
viewRenderers,
|
|
43
46
|
format: utils.formats.keyboardDate,
|
|
44
47
|
calendars: defaultizedProps.calendars ?? 2,
|
|
@@ -48,17 +51,19 @@ const DesktopDateRangePicker = exports.DesktopDateRangePicker = /*#__PURE__*/Rea
|
|
|
48
51
|
field: _MultiInputDateRangeField.MultiInputDateRangeField
|
|
49
52
|
}, defaultizedProps.slots),
|
|
50
53
|
slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
|
|
51
|
-
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps),
|
|
52
|
-
ref
|
|
53
|
-
}),
|
|
54
|
+
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
|
|
54
55
|
toolbar: (0, _extends2.default)({
|
|
55
56
|
hidden: true
|
|
56
|
-
}, defaultizedProps.slotProps?.toolbar)
|
|
57
|
+
}, defaultizedProps.slotProps?.toolbar),
|
|
58
|
+
actionBar: ownerState => (0, _extends2.default)({
|
|
59
|
+
actions: emptyActions
|
|
60
|
+
}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
|
|
57
61
|
})
|
|
58
62
|
});
|
|
59
63
|
const {
|
|
60
64
|
renderPicker
|
|
61
65
|
} = (0, _useDesktopRangePicker.useDesktopRangePicker)({
|
|
66
|
+
ref,
|
|
62
67
|
props,
|
|
63
68
|
valueManager: _valueManagers.rangeValueManager,
|
|
64
69
|
valueType: 'date',
|
|
@@ -85,8 +90,8 @@ DesktopDateRangePicker.propTypes = {
|
|
|
85
90
|
calendars: _propTypes.default.oneOf([1, 2, 3]),
|
|
86
91
|
className: _propTypes.default.string,
|
|
87
92
|
/**
|
|
88
|
-
* If `true`, the
|
|
89
|
-
* @default
|
|
93
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
94
|
+
* @default true
|
|
90
95
|
*/
|
|
91
96
|
closeOnSelect: _propTypes.default.bool,
|
|
92
97
|
/**
|
|
@@ -174,12 +179,10 @@ DesktopDateRangePicker.propTypes = {
|
|
|
174
179
|
formatDensity: _propTypes.default.oneOf(['dense', 'spacious']),
|
|
175
180
|
/**
|
|
176
181
|
* Pass a ref to the `input` element.
|
|
177
|
-
* Ignored if the field has several inputs.
|
|
178
182
|
*/
|
|
179
183
|
inputRef: _utils.refType,
|
|
180
184
|
/**
|
|
181
185
|
* The label content.
|
|
182
|
-
* Ignored if the field has several inputs.
|
|
183
186
|
*/
|
|
184
187
|
label: _propTypes.default.node,
|
|
185
188
|
/**
|
|
@@ -205,7 +208,6 @@ DesktopDateRangePicker.propTypes = {
|
|
|
205
208
|
minDate: _propTypes.default.object,
|
|
206
209
|
/**
|
|
207
210
|
* Name attribute used by the `input` element in the Field.
|
|
208
|
-
* Ignored if the field has several inputs.
|
|
209
211
|
*/
|
|
210
212
|
name: _propTypes.default.string,
|
|
211
213
|
/**
|
|
@@ -28,16 +28,23 @@ var _shared = require("../DateTimeRangePicker/shared");
|
|
|
28
28
|
var _MultiInputDateTimeRangeField = require("../MultiInputDateTimeRangeField");
|
|
29
29
|
var _DateTimeRangePickerTimeWrapper = require("../DateTimeRangePicker/DateTimeRangePickerTimeWrapper");
|
|
30
30
|
var _dimensions = require("../internals/constants/dimensions");
|
|
31
|
+
var _hooks = require("../hooks");
|
|
31
32
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
32
|
-
const _excluded = ["openTo"
|
|
33
|
-
const rendererInterceptor = function
|
|
33
|
+
const _excluded = ["openTo"];
|
|
34
|
+
const rendererInterceptor = function RendererInterceptor(props) {
|
|
34
35
|
const {
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
viewRenderers,
|
|
37
|
+
popperView,
|
|
38
|
+
rendererProps
|
|
39
|
+
} = props;
|
|
40
|
+
const {
|
|
41
|
+
openTo
|
|
37
42
|
} = rendererProps,
|
|
38
43
|
otherProps = (0, _objectWithoutPropertiesLoose2.default)(rendererProps, _excluded);
|
|
44
|
+
const {
|
|
45
|
+
rangePosition
|
|
46
|
+
} = (0, _hooks.usePickerRangePositionContext)();
|
|
39
47
|
const finalProps = (0, _extends2.default)({}, otherProps, {
|
|
40
|
-
rangePosition,
|
|
41
48
|
focusedView: null,
|
|
42
49
|
sx: [{
|
|
43
50
|
[`&.${_MultiSectionDigitalClock.multiSectionDigitalClockClasses.root}`]: {
|
|
@@ -50,7 +57,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
50
57
|
});
|
|
51
58
|
const isTimeViewActive = (0, _internals.isInternalTimeView)(popperView);
|
|
52
59
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
53
|
-
children: [
|
|
60
|
+
children: [viewRenderers.day?.((0, _extends2.default)({}, rendererProps, {
|
|
54
61
|
availableRangePositions: [rangePosition],
|
|
55
62
|
view: !isTimeViewActive ? popperView : 'day',
|
|
56
63
|
views: rendererProps.views.filter(_internals.isDatePickerView),
|
|
@@ -66,7 +73,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
66
73
|
view: isTimeViewActive ? popperView : 'hours',
|
|
67
74
|
views: finalProps.views.filter(_internals.isInternalTimeView),
|
|
68
75
|
openTo: (0, _internals.isInternalTimeView)(openTo) ? openTo : 'hours',
|
|
69
|
-
viewRenderer:
|
|
76
|
+
viewRenderer: viewRenderers[isTimeViewActive ? popperView : 'hours'],
|
|
70
77
|
sx: [{
|
|
71
78
|
gridColumn: 3
|
|
72
79
|
}, ...finalProps.sx]
|
|
@@ -99,7 +106,6 @@ const DesktopDateTimeRangePicker = exports.DesktopDateTimeRangePicker = /*#__PUR
|
|
|
99
106
|
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
100
107
|
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
|
|
101
108
|
const views = !shouldHoursRendererContainMeridiemView ? defaultizedProps.views.filter(view => view !== 'meridiem') : defaultizedProps.views;
|
|
102
|
-
const actionBarActions = defaultizedProps.shouldRenderTimeInASingleColumn ? [] : ['accept'];
|
|
103
109
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
104
110
|
views,
|
|
105
111
|
viewRenderers,
|
|
@@ -112,24 +118,19 @@ const DesktopDateTimeRangePicker = exports.DesktopDateTimeRangePicker = /*#__PUR
|
|
|
112
118
|
layout: _DesktopDateTimePicker.DesktopDateTimePickerLayout
|
|
113
119
|
}, defaultizedProps.slots),
|
|
114
120
|
slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
|
|
115
|
-
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps),
|
|
116
|
-
ref
|
|
117
|
-
}),
|
|
121
|
+
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
|
|
118
122
|
tabs: (0, _extends2.default)({
|
|
119
123
|
hidden: true
|
|
120
124
|
}, defaultizedProps.slotProps?.tabs),
|
|
121
125
|
toolbar: (0, _extends2.default)({
|
|
122
|
-
hidden: true
|
|
123
|
-
|
|
124
|
-
}, defaultizedProps.slotProps?.toolbar),
|
|
125
|
-
actionBar: ownerState => (0, _extends2.default)({
|
|
126
|
-
actions: actionBarActions
|
|
127
|
-
}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
|
|
126
|
+
hidden: true
|
|
127
|
+
}, defaultizedProps.slotProps?.toolbar)
|
|
128
128
|
})
|
|
129
129
|
});
|
|
130
130
|
const {
|
|
131
131
|
renderPicker
|
|
132
132
|
} = (0, _useDesktopRangePicker.useDesktopRangePicker)({
|
|
133
|
+
ref,
|
|
133
134
|
props,
|
|
134
135
|
valueManager: _valueManagers.rangeValueManager,
|
|
135
136
|
valueType: 'date-time',
|
|
@@ -162,8 +163,8 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
162
163
|
calendars: _propTypes.default.oneOf([1, 2, 3]),
|
|
163
164
|
className: _propTypes.default.string,
|
|
164
165
|
/**
|
|
165
|
-
* If `true`, the
|
|
166
|
-
* @default
|
|
166
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
167
|
+
* @default false
|
|
167
168
|
*/
|
|
168
169
|
closeOnSelect: _propTypes.default.bool,
|
|
169
170
|
/**
|
|
@@ -256,12 +257,10 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
256
257
|
formatDensity: _propTypes.default.oneOf(['dense', 'spacious']),
|
|
257
258
|
/**
|
|
258
259
|
* Pass a ref to the `input` element.
|
|
259
|
-
* Ignored if the field has several inputs.
|
|
260
260
|
*/
|
|
261
261
|
inputRef: _utils.refType,
|
|
262
262
|
/**
|
|
263
263
|
* The label content.
|
|
264
|
-
* Ignored if the field has several inputs.
|
|
265
264
|
*/
|
|
266
265
|
label: _propTypes.default.node,
|
|
267
266
|
/**
|
|
@@ -310,7 +309,6 @@ DesktopDateTimeRangePicker.propTypes = {
|
|
|
310
309
|
minutesStep: _propTypes.default.number,
|
|
311
310
|
/**
|
|
312
311
|
* Name attribute used by the `input` element in the Field.
|
|
313
|
-
* Ignored if the field has several inputs.
|
|
314
312
|
*/
|
|
315
313
|
name: _propTypes.default.string,
|
|
316
314
|
/**
|