@mui/x-date-pickers-pro 8.0.0-alpha.1 → 8.0.0-alpha.10
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 +1903 -231
- package/DateRangeCalendar/DateRangeCalendar.js +15 -13
- 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 +4 -8
- package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +2 -2
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -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/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 +15 -13
- 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 +4 -8
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -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/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 +14 -12
- 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 +4 -8
- package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -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/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
|
@@ -18,12 +18,10 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
|
|
|
18
18
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
19
19
|
var _hooks = require("@mui/x-date-pickers/hooks");
|
|
20
20
|
var _dateRangePickerToolbarClasses = require("./dateRangePickerToolbarClasses");
|
|
21
|
+
var _hooks2 = require("../hooks");
|
|
21
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _excluded = ["
|
|
23
|
-
const useUtilityClasses =
|
|
24
|
-
const {
|
|
25
|
-
classes
|
|
26
|
-
} = ownerState;
|
|
23
|
+
const _excluded = ["toolbarFormat", "className", "classes"];
|
|
24
|
+
const useUtilityClasses = classes => {
|
|
27
25
|
const slots = {
|
|
28
26
|
root: ['root'],
|
|
29
27
|
container: ['container']
|
|
@@ -59,39 +57,50 @@ const DateRangePickerToolbar = exports.DateRangePickerToolbar = /*#__PURE__*/Rea
|
|
|
59
57
|
name: 'MuiDateRangePickerToolbar'
|
|
60
58
|
});
|
|
61
59
|
const {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
toolbarFormat,
|
|
66
|
-
className
|
|
60
|
+
toolbarFormat: toolbarFormatProp,
|
|
61
|
+
className,
|
|
62
|
+
classes: classesProp
|
|
67
63
|
} = props,
|
|
68
64
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
65
|
+
const {
|
|
66
|
+
value
|
|
67
|
+
} = (0, _hooks.usePickerContext)();
|
|
69
68
|
const translations = (0, _hooks.usePickerTranslations)();
|
|
70
|
-
const
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
const ownerState = (0, _internals.useToolbarOwnerState)();
|
|
70
|
+
const {
|
|
71
|
+
rangePosition,
|
|
72
|
+
setRangePosition
|
|
73
|
+
} = (0, _hooks2.usePickerRangePositionContext)();
|
|
74
|
+
const classes = useUtilityClasses(classesProp);
|
|
75
|
+
|
|
76
|
+
// This can't be a default value when spreading because it breaks the API generation.
|
|
77
|
+
const toolbarFormat = toolbarFormatProp ?? utils.formats.shortDate;
|
|
78
|
+
const formatDate = (date, fallback) => {
|
|
79
|
+
if (!utils.isValid(date)) {
|
|
80
|
+
return fallback;
|
|
81
|
+
}
|
|
82
|
+
return utils.formatByString(date, toolbarFormat);
|
|
83
|
+
};
|
|
74
84
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DateRangePickerToolbarRoot, (0, _extends2.default)({}, other, {
|
|
75
85
|
toolbarTitle: translations.dateRangePickerToolbarTitle,
|
|
76
|
-
isLandscape: false,
|
|
77
86
|
className: (0, _clsx.default)(classes.root, className),
|
|
78
87
|
ownerState: ownerState,
|
|
79
88
|
ref: ref,
|
|
80
89
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateRangePickerToolbarContainer, {
|
|
81
90
|
className: classes.container,
|
|
82
91
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersToolbarButton, {
|
|
83
|
-
variant:
|
|
84
|
-
value:
|
|
92
|
+
variant: value[0] == null ? 'h6' : 'h5',
|
|
93
|
+
value: formatDate(value[0], translations.start),
|
|
85
94
|
selected: rangePosition === 'start',
|
|
86
|
-
onClick: () =>
|
|
95
|
+
onClick: () => setRangePosition('start')
|
|
87
96
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
|
|
88
97
|
variant: "h5",
|
|
89
98
|
children: ["\xA0", '–', "\xA0"]
|
|
90
99
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersToolbarButton, {
|
|
91
|
-
variant:
|
|
92
|
-
value:
|
|
100
|
+
variant: value[1] == null ? 'h6' : 'h5',
|
|
101
|
+
value: formatDate(value[1], translations.end),
|
|
93
102
|
selected: rangePosition === 'end',
|
|
94
|
-
onClick: () =>
|
|
103
|
+
onClick: () => setRangePosition('end')
|
|
95
104
|
})]
|
|
96
105
|
})
|
|
97
106
|
}));
|
|
@@ -111,14 +120,6 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
|
|
|
111
120
|
* @default `true` for Desktop, `false` for Mobile.
|
|
112
121
|
*/
|
|
113
122
|
hidden: _propTypes.default.bool,
|
|
114
|
-
onRangePositionChange: _propTypes.default.func.isRequired,
|
|
115
|
-
/**
|
|
116
|
-
* Callback called when a toolbar is clicked
|
|
117
|
-
* @template TView
|
|
118
|
-
* @param {TView} view The view to open
|
|
119
|
-
*/
|
|
120
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
121
|
-
rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
|
|
122
123
|
/**
|
|
123
124
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
124
125
|
*/
|
|
@@ -132,14 +133,5 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
|
|
|
132
133
|
* Toolbar value placeholder—it is displayed when the value is empty.
|
|
133
134
|
* @default "––"
|
|
134
135
|
*/
|
|
135
|
-
toolbarPlaceholder: _propTypes.default.node
|
|
136
|
-
value: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
137
|
-
/**
|
|
138
|
-
* Currently visible picker view.
|
|
139
|
-
*/
|
|
140
|
-
view: _propTypes.default.oneOf(['day']).isRequired,
|
|
141
|
-
/**
|
|
142
|
-
* Available views.
|
|
143
|
-
*/
|
|
144
|
-
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day'])).isRequired
|
|
136
|
+
toolbarPlaceholder: _propTypes.default.node
|
|
145
137
|
} : void 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
|
/**
|