@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
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import useEventCallback from '@mui/utils/useEventCallback';
|
|
5
|
+
import { useControlledValueWithTimezone, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
|
|
6
|
+
import { useValidation } from '@mui/x-date-pickers/validation';
|
|
7
|
+
import { useMultiInputRangeFieldTextFieldProps } from "./useMultiInputRangeFieldTextFieldProps.js";
|
|
8
|
+
import { useMultiInputRangeFieldSelectedSections } from "./useMultiInputRangeFieldSelectedSections.js";
|
|
9
|
+
/**
|
|
10
|
+
* Basic example:
|
|
11
|
+
*
|
|
12
|
+
* ```tsx
|
|
13
|
+
* import Box from '@mui/material/Box';
|
|
14
|
+
* import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
|
|
15
|
+
* import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
|
|
16
|
+
* import { useDateRangeManager } from '@mui/x-date-pickers-pro/managers';
|
|
17
|
+
*
|
|
18
|
+
* function MultiInputField(props) {
|
|
19
|
+
* const manager = useDateRangeManager();
|
|
20
|
+
* const { internalProps, forwardedProps } = useSplitFieldProps(props, 'date');
|
|
21
|
+
* const { startDate, endDate } = useMultiInputRangeField({
|
|
22
|
+
* manager,
|
|
23
|
+
* internalProps,
|
|
24
|
+
* startForwardedProps: forwardedProps,
|
|
25
|
+
* endForwardedProps: forwardedProps,
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* return (
|
|
29
|
+
* <Box {...forwardedProps}>
|
|
30
|
+
* <PickersTextField {...startDate} />
|
|
31
|
+
* <span>{' – '}</span>
|
|
32
|
+
* <PickersTextField {...endDate} />
|
|
33
|
+
* </Box>
|
|
34
|
+
* );
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @param {UseMultiInputRangeFieldParameters<TManager, TForwardedProps>} parameters The parameters of the hook.
|
|
39
|
+
* @param {TManager} parameters.manager The manager of the field.
|
|
40
|
+
* @param {PickerManagerFieldInternalProps<TManager>} parameters.internalProps The internal props of the field.
|
|
41
|
+
* @param {TForwardedProps} parameters.startForwardedProps The forwarded props of the start field.
|
|
42
|
+
* @param {TForwardedProps} parameters.endForwardedProps The forwarded props of the end field.
|
|
43
|
+
* @returns {UseMultiInputRangeFieldReturnValue<TManager, TForwardedProps>} The props to pass to the start and the end components.
|
|
44
|
+
*/
|
|
45
|
+
export function useMultiInputRangeField(parameters) {
|
|
46
|
+
const {
|
|
47
|
+
manager,
|
|
48
|
+
internalProps,
|
|
49
|
+
startForwardedProps,
|
|
50
|
+
endForwardedProps
|
|
51
|
+
} = parameters;
|
|
52
|
+
const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
|
|
53
|
+
manager,
|
|
54
|
+
internalProps
|
|
55
|
+
});
|
|
56
|
+
const {
|
|
57
|
+
value: valueProp,
|
|
58
|
+
defaultValue,
|
|
59
|
+
format,
|
|
60
|
+
formatDensity,
|
|
61
|
+
shouldRespectLeadingZeros,
|
|
62
|
+
onChange,
|
|
63
|
+
disabled,
|
|
64
|
+
readOnly,
|
|
65
|
+
selectedSections,
|
|
66
|
+
onSelectedSectionsChange,
|
|
67
|
+
timezone: timezoneProp,
|
|
68
|
+
enableAccessibleFieldDOMStructure,
|
|
69
|
+
autoFocus,
|
|
70
|
+
referenceDate,
|
|
71
|
+
unstableStartFieldRef,
|
|
72
|
+
unstableEndFieldRef
|
|
73
|
+
} = internalPropsWithDefaults;
|
|
74
|
+
const {
|
|
75
|
+
value,
|
|
76
|
+
handleValueChange,
|
|
77
|
+
timezone
|
|
78
|
+
} = useControlledValueWithTimezone({
|
|
79
|
+
name: 'useMultiInputRangeField',
|
|
80
|
+
timezone: timezoneProp,
|
|
81
|
+
value: valueProp,
|
|
82
|
+
defaultValue,
|
|
83
|
+
referenceDate,
|
|
84
|
+
onChange,
|
|
85
|
+
valueManager: manager.internal_valueManager
|
|
86
|
+
});
|
|
87
|
+
const {
|
|
88
|
+
validationError,
|
|
89
|
+
getValidationErrorForNewValue
|
|
90
|
+
} = useValidation({
|
|
91
|
+
props: internalPropsWithDefaults,
|
|
92
|
+
value,
|
|
93
|
+
timezone,
|
|
94
|
+
validator: manager.validator,
|
|
95
|
+
onError: internalPropsWithDefaults.onError
|
|
96
|
+
});
|
|
97
|
+
const buildChangeHandler = index => {
|
|
98
|
+
return (newSingleValue, rawContext) => {
|
|
99
|
+
const newRange = index === 0 ? [newSingleValue, value[1]] : [value[0], newSingleValue];
|
|
100
|
+
const context = _extends({}, rawContext, {
|
|
101
|
+
validationError: getValidationErrorForNewValue(newRange)
|
|
102
|
+
});
|
|
103
|
+
handleValueChange(newRange, context);
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
const handleStartDateChange = useEventCallback(buildChangeHandler(0));
|
|
107
|
+
const handleEndDateChange = useEventCallback(buildChangeHandler(1));
|
|
108
|
+
const selectedSectionsResponse = useMultiInputRangeFieldSelectedSections({
|
|
109
|
+
selectedSections,
|
|
110
|
+
onSelectedSectionsChange,
|
|
111
|
+
unstableStartFieldRef,
|
|
112
|
+
unstableEndFieldRef
|
|
113
|
+
});
|
|
114
|
+
const sharedProps = {
|
|
115
|
+
disabled,
|
|
116
|
+
readOnly,
|
|
117
|
+
timezone,
|
|
118
|
+
format,
|
|
119
|
+
formatDensity,
|
|
120
|
+
shouldRespectLeadingZeros,
|
|
121
|
+
enableAccessibleFieldDOMStructure
|
|
122
|
+
};
|
|
123
|
+
const startDateProps = useMultiInputRangeFieldTextFieldProps({
|
|
124
|
+
valueType: manager.valueType,
|
|
125
|
+
fieldProps: _extends({
|
|
126
|
+
error: !!validationError[0]
|
|
127
|
+
}, startForwardedProps, selectedSectionsResponse.start, sharedProps, {
|
|
128
|
+
value: valueProp === undefined ? undefined : valueProp[0],
|
|
129
|
+
defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
|
|
130
|
+
onChange: handleStartDateChange,
|
|
131
|
+
autoFocus // Do not add on end field.
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
const endDateProps = useMultiInputRangeFieldTextFieldProps({
|
|
135
|
+
valueType: manager.valueType,
|
|
136
|
+
fieldProps: _extends({
|
|
137
|
+
error: !!validationError[1]
|
|
138
|
+
}, endForwardedProps, selectedSectionsResponse.end, sharedProps, {
|
|
139
|
+
value: valueProp === undefined ? undefined : valueProp[1],
|
|
140
|
+
defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
|
|
141
|
+
onChange: handleEndDateChange
|
|
142
|
+
})
|
|
143
|
+
});
|
|
144
|
+
return {
|
|
145
|
+
startDate: startDateProps,
|
|
146
|
+
endDate: endDateProps,
|
|
147
|
+
enableAccessibleFieldDOMStructure
|
|
148
|
+
};
|
|
149
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import * as React from 'react';
|
|
2
4
|
import useForkRef from '@mui/utils/useForkRef';
|
|
3
5
|
import useEventCallback from '@mui/utils/useEventCallback';
|
|
4
|
-
export const
|
|
6
|
+
export const useMultiInputRangeFieldSelectedSections = parameters => {
|
|
5
7
|
const unstableEndFieldRef = React.useRef(null);
|
|
6
|
-
const handleUnstableEndFieldRef = useForkRef(
|
|
7
|
-
const [startSelectedSection, setStartSelectedSection] = React.useState(
|
|
8
|
+
const handleUnstableEndFieldRef = useForkRef(parameters.unstableEndFieldRef, unstableEndFieldRef);
|
|
9
|
+
const [startSelectedSection, setStartSelectedSection] = React.useState(parameters.selectedSections ?? null);
|
|
8
10
|
const [endSelectedSection, setEndSelectedSection] = React.useState(null);
|
|
9
11
|
const getActiveField = () => {
|
|
10
12
|
if (unstableEndFieldRef.current && unstableEndFieldRef.current.isFieldFocused()) {
|
|
@@ -15,25 +17,25 @@ export const useMultiInputFieldSelectedSections = params => {
|
|
|
15
17
|
const handleStartSelectedSectionChange = useEventCallback(newSelectedSections => {
|
|
16
18
|
setStartSelectedSection(newSelectedSections);
|
|
17
19
|
if (getActiveField() === 'start') {
|
|
18
|
-
|
|
20
|
+
parameters.onSelectedSectionsChange?.(newSelectedSections);
|
|
19
21
|
}
|
|
20
22
|
});
|
|
21
23
|
const handleEndSelectedSectionChange = useEventCallback(newSelectedSections => {
|
|
22
24
|
setEndSelectedSection(newSelectedSections);
|
|
23
25
|
if (getActiveField() === 'end') {
|
|
24
|
-
|
|
26
|
+
parameters.onSelectedSectionsChange?.(newSelectedSections);
|
|
25
27
|
}
|
|
26
28
|
});
|
|
27
29
|
const activeField = getActiveField();
|
|
28
30
|
return {
|
|
29
31
|
start: {
|
|
30
|
-
unstableFieldRef:
|
|
31
|
-
selectedSections: activeField === 'start' &&
|
|
32
|
+
unstableFieldRef: parameters.unstableStartFieldRef,
|
|
33
|
+
selectedSections: activeField === 'start' && parameters.selectedSections !== undefined ? parameters.selectedSections : startSelectedSection,
|
|
32
34
|
onSelectedSectionsChange: handleStartSelectedSectionChange
|
|
33
35
|
},
|
|
34
36
|
end: {
|
|
35
37
|
unstableFieldRef: handleUnstableEndFieldRef,
|
|
36
|
-
selectedSections: activeField === 'end' &&
|
|
38
|
+
selectedSections: activeField === 'end' && parameters.selectedSections !== undefined ? parameters.selectedSections : endSelectedSection,
|
|
37
39
|
onSelectedSectionsChange: handleEndSelectedSectionChange
|
|
38
40
|
}
|
|
39
41
|
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
const _excluded = ["clearable", "onClear"];
|
|
3
|
+
import { useDateManager, useDateTimeManager, useTimeManager } from '@mui/x-date-pickers/managers';
|
|
4
|
+
import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
|
|
5
|
+
import { useField, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
|
|
6
|
+
/**
|
|
7
|
+
* @ignore - internal hook.
|
|
8
|
+
*/
|
|
9
|
+
export function useMultiInputRangeFieldTextFieldProps(parameters) {
|
|
10
|
+
const {
|
|
11
|
+
fieldProps,
|
|
12
|
+
valueType
|
|
13
|
+
} = parameters;
|
|
14
|
+
let useManager;
|
|
15
|
+
switch (valueType) {
|
|
16
|
+
case 'date':
|
|
17
|
+
{
|
|
18
|
+
useManager = useDateManager;
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
case 'time':
|
|
22
|
+
{
|
|
23
|
+
useManager = useTimeManager;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
case 'date-time':
|
|
27
|
+
{
|
|
28
|
+
useManager = useDateTimeManager;
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
default:
|
|
32
|
+
{
|
|
33
|
+
throw new Error(`Unknown valueType: ${valueType}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const manager = useManager({
|
|
37
|
+
enableAccessibleFieldDOMStructure: fieldProps.enableAccessibleFieldDOMStructure
|
|
38
|
+
});
|
|
39
|
+
const {
|
|
40
|
+
forwardedProps,
|
|
41
|
+
internalProps
|
|
42
|
+
} = useSplitFieldProps(fieldProps, 'date');
|
|
43
|
+
const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
|
|
44
|
+
manager,
|
|
45
|
+
internalProps
|
|
46
|
+
});
|
|
47
|
+
const _ref = useField({
|
|
48
|
+
forwardedProps,
|
|
49
|
+
internalProps: internalPropsWithDefaults,
|
|
50
|
+
valueManager: manager.internal_valueManager,
|
|
51
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
52
|
+
validator: manager.validator,
|
|
53
|
+
valueType: manager.valueType,
|
|
54
|
+
// TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
|
|
55
|
+
getOpenPickerButtonAriaLabel: () => ''
|
|
56
|
+
}),
|
|
57
|
+
fieldResponse = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
58
|
+
return fieldResponse;
|
|
59
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
export const PickerRangePositionContext = /*#__PURE__*/React.createContext(null);
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Returns information about the range position of the picker that wraps the current component.
|
|
8
|
+
*/
|
|
9
|
+
export function usePickerRangePositionContext() {
|
|
10
|
+
const value = React.useContext(PickerRangePositionContext);
|
|
11
|
+
if (value == null) {
|
|
12
|
+
throw new Error(['MUI X: The `usePickerRangePositionContext` can only be called in components that are used inside a picker component'].join('\n'));
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}
|
package/modern/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-date-pickers-pro v8.0.0-alpha.
|
|
2
|
+
* @mui/x-date-pickers-pro v8.0.0-alpha.11
|
|
3
3
|
*
|
|
4
4
|
* @license MUI X Commercial
|
|
5
5
|
* This source code is licensed under the commercial license found in the
|
|
@@ -32,4 +32,6 @@ export * from "./MobileDateTimeRangePicker/index.js";
|
|
|
32
32
|
// View renderers
|
|
33
33
|
export * from "./dateRangeViewRenderers/index.js";
|
|
34
34
|
export * from "./models/index.js";
|
|
35
|
-
export * from "./
|
|
35
|
+
export * from "./hooks/index.js";
|
|
36
|
+
export * from "./validation/index.js";
|
|
37
|
+
export * from "./managers/index.js";
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["props"]
|
|
3
|
+
const _excluded = ["props"],
|
|
4
|
+
_excluded2 = ["ownerState"];
|
|
4
5
|
import * as React from 'react';
|
|
5
6
|
import useSlotProps from '@mui/utils/useSlotProps';
|
|
6
7
|
import { useLicenseVerifier } from '@mui/x-license';
|
|
7
8
|
import { PickersLayout } from '@mui/x-date-pickers/PickersLayout';
|
|
8
|
-
import { executeInTheNextEventLoopTick, getActiveElement, usePicker,
|
|
9
|
-
import {
|
|
9
|
+
import { executeInTheNextEventLoopTick, getActiveElement, usePicker, PickerPopper, PickerProvider, PickerFieldUIContextProvider } from '@mui/x-date-pickers/internals';
|
|
10
|
+
import { useEnrichedRangePickerField } from "../useEnrichedRangePickerField.js";
|
|
10
11
|
import { getReleaseInfo } from "../../utils/releaseInfo.js";
|
|
11
12
|
import { useRangePosition } from "../useRangePosition.js";
|
|
13
|
+
import { PickerRangePositionContext } from "../../../hooks/usePickerRangePositionContext.js";
|
|
12
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
15
|
const releaseInfo = getReleaseInfo();
|
|
14
16
|
export const useDesktopRangePicker = _ref => {
|
|
@@ -20,58 +22,45 @@ export const useDesktopRangePicker = _ref => {
|
|
|
20
22
|
const {
|
|
21
23
|
slots,
|
|
22
24
|
slotProps,
|
|
23
|
-
className,
|
|
24
|
-
sx,
|
|
25
|
-
format,
|
|
26
|
-
formatDensity,
|
|
27
|
-
enableAccessibleFieldDOMStructure,
|
|
28
|
-
selectedSections,
|
|
29
|
-
onSelectedSectionsChange,
|
|
30
|
-
timezone,
|
|
31
|
-
label,
|
|
32
25
|
inputRef,
|
|
33
|
-
name,
|
|
34
26
|
readOnly,
|
|
35
|
-
disabled,
|
|
36
27
|
autoFocus,
|
|
37
28
|
disableOpenPicker,
|
|
38
|
-
localeText
|
|
39
|
-
reduceAnimations
|
|
29
|
+
localeText
|
|
40
30
|
} = props;
|
|
41
31
|
const fieldContainerRef = React.useRef(null);
|
|
42
|
-
const anchorRef = React.useRef(null);
|
|
43
32
|
const popperRef = React.useRef(null);
|
|
44
33
|
const startFieldRef = React.useRef(null);
|
|
45
34
|
const endFieldRef = React.useRef(null);
|
|
35
|
+
const singleInputFieldRef = React.useRef(null);
|
|
46
36
|
const initialView = React.useRef(props.openTo ?? null);
|
|
47
37
|
const fieldType = slots.field.fieldType ?? 'multi-input';
|
|
38
|
+
const rangePositionResponse = useRangePosition(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
|
|
39
|
+
let fieldRef;
|
|
40
|
+
if (fieldType === 'single-input') {
|
|
41
|
+
fieldRef = singleInputFieldRef;
|
|
42
|
+
} else if (rangePositionResponse.rangePosition === 'start') {
|
|
43
|
+
fieldRef = startFieldRef;
|
|
44
|
+
} else {
|
|
45
|
+
fieldRef = endFieldRef;
|
|
46
|
+
}
|
|
48
47
|
const {
|
|
49
|
-
rangePosition,
|
|
50
|
-
onRangePositionChange
|
|
51
|
-
} = useRangePosition(props, fieldType === 'single-input' ? startFieldRef : undefined);
|
|
52
|
-
const {
|
|
53
|
-
open,
|
|
54
|
-
actions,
|
|
55
|
-
layoutProps,
|
|
56
48
|
providerProps,
|
|
57
49
|
renderCurrentView,
|
|
58
|
-
shouldRestoreFocus,
|
|
59
|
-
fieldProps: pickerFieldProps,
|
|
60
50
|
ownerState
|
|
61
51
|
} = usePicker(_extends({}, pickerParams, {
|
|
62
52
|
props,
|
|
63
53
|
variant: 'desktop',
|
|
64
54
|
autoFocusView: false,
|
|
65
|
-
fieldRef
|
|
66
|
-
localeText
|
|
67
|
-
additionalViewProps: {
|
|
68
|
-
rangePosition,
|
|
69
|
-
onRangePositionChange
|
|
70
|
-
}
|
|
55
|
+
fieldRef,
|
|
56
|
+
localeText
|
|
71
57
|
}));
|
|
58
|
+
|
|
59
|
+
// Temporary hack to hide the opening button on the range pickers until we have migrate them to the new opening logic.
|
|
60
|
+
providerProps.contextValue.triggerStatus = 'hidden';
|
|
72
61
|
React.useEffect(() => {
|
|
73
|
-
if (
|
|
74
|
-
initialView.current =
|
|
62
|
+
if (providerProps.contextValue.view) {
|
|
63
|
+
initialView.current = providerProps.contextValue.view;
|
|
75
64
|
}
|
|
76
65
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77
66
|
}, []);
|
|
@@ -80,90 +69,69 @@ export const useDesktopRangePicker = _ref => {
|
|
|
80
69
|
if (fieldContainerRef.current?.contains(getActiveElement(document)) || popperRef.current?.contains(getActiveElement(document))) {
|
|
81
70
|
return;
|
|
82
71
|
}
|
|
83
|
-
|
|
72
|
+
|
|
73
|
+
// This direct access to `providerProps` will go away once the range fields stop having their views in a tooltip.
|
|
74
|
+
providerProps.privateContextValue.dismissViews();
|
|
84
75
|
});
|
|
85
76
|
};
|
|
86
77
|
const Field = slots.field;
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
onSelectedSectionsChange,
|
|
99
|
-
timezone,
|
|
100
|
-
autoFocus: autoFocus && !props.open
|
|
101
|
-
}, pickerFieldProps, {
|
|
102
|
-
// onChange and value
|
|
103
|
-
|
|
104
|
-
// Forwarded props
|
|
105
|
-
className,
|
|
106
|
-
sx,
|
|
107
|
-
ref: fieldContainerRef
|
|
108
|
-
}, fieldType === 'single-input' && !!inputRef && {
|
|
109
|
-
inputRef
|
|
110
|
-
}, fieldType === 'single-input' && {
|
|
111
|
-
name
|
|
78
|
+
const _useSlotProps = useSlotProps({
|
|
79
|
+
elementType: Field,
|
|
80
|
+
externalSlotProps: slotProps?.field,
|
|
81
|
+
additionalProps: {
|
|
82
|
+
// Internal props
|
|
83
|
+
readOnly,
|
|
84
|
+
autoFocus: autoFocus && !props.open,
|
|
85
|
+
// Forwarded props
|
|
86
|
+
ref: fieldContainerRef
|
|
87
|
+
},
|
|
88
|
+
ownerState
|
|
112
89
|
}),
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const enrichedFieldProps = useEnrichedRangePickerFieldProps({
|
|
90
|
+
fieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
91
|
+
const enrichedFieldResponse = useEnrichedRangePickerField(_extends({
|
|
116
92
|
variant: 'desktop',
|
|
117
93
|
fieldType,
|
|
118
|
-
|
|
119
|
-
|
|
94
|
+
// These direct access to `providerProps` will go away once the range fields handle the picker opening
|
|
95
|
+
contextValue: providerProps.contextValue,
|
|
96
|
+
fieldPrivateContextValue: providerProps.fieldPrivateContextValue,
|
|
120
97
|
readOnly,
|
|
121
98
|
disableOpenPicker,
|
|
122
|
-
label,
|
|
123
99
|
localeText,
|
|
124
100
|
onBlur: handleBlur,
|
|
125
|
-
rangePosition,
|
|
126
|
-
onRangePositionChange,
|
|
127
101
|
pickerSlotProps: slotProps,
|
|
128
102
|
pickerSlots: slots,
|
|
129
103
|
fieldProps,
|
|
130
|
-
anchorRef,
|
|
104
|
+
anchorRef: providerProps.contextValue.triggerRef,
|
|
131
105
|
startFieldRef,
|
|
132
106
|
endFieldRef,
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
});
|
|
137
|
-
const slotPropsForLayout = _extends({}, slotProps, {
|
|
138
|
-
tabs: _extends({}, slotProps?.tabs, {
|
|
139
|
-
rangePosition,
|
|
140
|
-
onRangePositionChange
|
|
141
|
-
}),
|
|
142
|
-
toolbar: _extends({}, slotProps?.toolbar, {
|
|
143
|
-
rangePosition,
|
|
144
|
-
onRangePositionChange
|
|
145
|
-
})
|
|
146
|
-
});
|
|
107
|
+
singleInputFieldRef,
|
|
108
|
+
currentView: providerProps.contextValue.view !== props.openTo ? providerProps.contextValue.view : undefined,
|
|
109
|
+
initialView: initialView.current ?? undefined
|
|
110
|
+
}, rangePositionResponse));
|
|
147
111
|
const Layout = slots?.layout ?? PickersLayout;
|
|
148
|
-
const renderPicker = () => /*#__PURE__*/
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
containerRef: popperRef,
|
|
153
|
-
anchorEl: anchorRef.current,
|
|
154
|
-
onBlur: handleBlur
|
|
155
|
-
}, actions, {
|
|
156
|
-
open: open,
|
|
112
|
+
const renderPicker = () => /*#__PURE__*/_jsx(PickerProvider, _extends({}, providerProps, {
|
|
113
|
+
// This override will go away once the range fields handle the picker opening
|
|
114
|
+
fieldPrivateContextValue: _extends({}, providerProps.fieldPrivateContextValue, enrichedFieldResponse.fieldPrivateContextValue),
|
|
115
|
+
children: /*#__PURE__*/_jsx(PickerFieldUIContextProvider, {
|
|
157
116
|
slots: slots,
|
|
158
117
|
slotProps: slotProps,
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
118
|
+
inputRef: inputRef,
|
|
119
|
+
children: /*#__PURE__*/_jsxs(PickerRangePositionContext.Provider, {
|
|
120
|
+
value: rangePositionResponse,
|
|
121
|
+
children: [/*#__PURE__*/_jsx(Field, _extends({}, enrichedFieldResponse.fieldProps)), /*#__PURE__*/_jsx(PickerPopper, {
|
|
122
|
+
role: "tooltip",
|
|
123
|
+
containerRef: popperRef,
|
|
124
|
+
onBlur: handleBlur,
|
|
125
|
+
slots: slots,
|
|
126
|
+
slotProps: slotProps,
|
|
127
|
+
children: /*#__PURE__*/_jsx(Layout, _extends({}, slotProps?.layout, {
|
|
128
|
+
slots: slots,
|
|
129
|
+
slotProps: slotProps,
|
|
130
|
+
children: renderCurrentView()
|
|
131
|
+
}))
|
|
132
|
+
})]
|
|
133
|
+
})
|
|
134
|
+
})
|
|
167
135
|
}));
|
|
168
136
|
return {
|
|
169
137
|
renderPicker
|