@mui/x-date-pickers-pro 8.0.0-beta.3 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +388 -96
- package/DateRangeCalendar/DateRangeCalendar.js +3 -5
- package/DateRangePicker/DateRangePicker.js +1 -1
- package/DateRangePicker/DateRangePickerToolbar.js +2 -4
- package/DateRangePickerDay/DateRangePickerDay.js +1 -3
- package/DateTimeRangePicker/DateTimeRangePicker.js +1 -1
- package/DateTimeRangePicker/DateTimeRangePickerTabs.js +3 -6
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +1 -8
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +3 -6
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -7
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +1 -2
- package/DesktopTimeRangePicker/DesktopTimeRangePicker.js +1 -1
- package/MobileDateRangePicker/MobileDateRangePicker.js +1 -1
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +1 -2
- package/MobileTimeRangePicker/MobileTimeRangePicker.js +1 -1
- package/TimeRangePicker/TimeRangePicker.js +1 -1
- package/TimeRangePicker/TimeRangePickerTabs.js +2 -4
- package/TimeRangePicker/TimeRangePickerTimeWrapper.js +1 -6
- package/TimeRangePicker/TimeRangePickerToolbar.js +4 -8
- package/esm/DateRangeCalendar/DateRangeCalendar.js +3 -5
- package/esm/DateRangePicker/DateRangePicker.js +1 -1
- package/esm/DateRangePicker/DateRangePickerToolbar.js +2 -4
- package/esm/DateRangePickerDay/DateRangePickerDay.js +1 -3
- package/esm/DateTimeRangePicker/DateTimeRangePicker.js +1 -1
- package/esm/DateTimeRangePicker/DateTimeRangePickerTabs.js +3 -6
- package/esm/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +2 -9
- package/esm/DateTimeRangePicker/DateTimeRangePickerToolbar.js +3 -6
- package/esm/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -7
- package/esm/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +1 -2
- package/esm/DesktopTimeRangePicker/DesktopTimeRangePicker.js +1 -1
- package/esm/MobileDateRangePicker/MobileDateRangePicker.js +1 -1
- package/esm/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +1 -2
- package/esm/MobileTimeRangePicker/MobileTimeRangePicker.js +1 -1
- package/esm/TimeRangePicker/TimeRangePicker.js +1 -1
- package/esm/TimeRangePicker/TimeRangePickerTabs.js +2 -4
- package/esm/TimeRangePicker/TimeRangePickerTimeWrapper.js +1 -6
- package/esm/TimeRangePicker/TimeRangePickerToolbar.js +4 -8
- package/esm/index.js +1 -1
- package/esm/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +8 -5
- package/esm/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -4
- package/esm/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +2 -4
- package/esm/internals/utils/createMultiInputRangeField/useTextFieldProps.js +1 -0
- package/esm/internals/utils/createRangePickerStepNavigation.js +3 -3
- package/esm/internals/utils/date-fields-utils.d.ts +1 -0
- package/index.js +1 -1
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +8 -5
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -4
- package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +2 -4
- package/internals/utils/createMultiInputRangeField/useTextFieldProps.js +1 -0
- package/internals/utils/createRangePickerStepNavigation.js +3 -3
- package/internals/utils/date-fields-utils.d.ts +1 -0
- package/package.json +5 -13
- package/esm/internals/utils/releaseInfo.d.ts +0 -1
- package/esm/internals/utils/releaseInfo.js +0 -13
- package/internals/utils/releaseInfo.d.ts +0 -1
- package/internals/utils/releaseInfo.js +0 -20
- package/modern/AdapterDateFns/index.d.ts +0 -1
- package/modern/AdapterDateFns/index.js +0 -1
- package/modern/AdapterDateFnsJalali/index.d.ts +0 -1
- package/modern/AdapterDateFnsJalali/index.js +0 -1
- package/modern/AdapterDateFnsJalaliV2/index.d.ts +0 -1
- package/modern/AdapterDateFnsJalaliV2/index.js +0 -1
- package/modern/AdapterDateFnsV2/index.d.ts +0 -1
- package/modern/AdapterDateFnsV2/index.js +0 -1
- package/modern/AdapterDayjs/index.d.ts +0 -1
- package/modern/AdapterDayjs/index.js +0 -1
- package/modern/AdapterLuxon/index.d.ts +0 -1
- package/modern/AdapterLuxon/index.js +0 -1
- package/modern/AdapterMoment/index.d.ts +0 -1
- package/modern/AdapterMoment/index.js +0 -1
- package/modern/AdapterMomentHijri/index.d.ts +0 -1
- package/modern/AdapterMomentHijri/index.js +0 -1
- package/modern/AdapterMomentJalaali/index.d.ts +0 -1
- package/modern/AdapterMomentJalaali/index.js +0 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.d.ts +0 -17
- package/modern/DateRangeCalendar/DateRangeCalendar.js +0 -748
- package/modern/DateRangeCalendar/DateRangeCalendar.types.d.ts +0 -113
- package/modern/DateRangeCalendar/DateRangeCalendar.types.js +0 -1
- package/modern/DateRangeCalendar/dateRangeCalendarClasses.d.ts +0 -11
- package/modern/DateRangeCalendar/dateRangeCalendarClasses.js +0 -3
- package/modern/DateRangeCalendar/index.d.ts +0 -4
- package/modern/DateRangeCalendar/index.js +0 -2
- package/modern/DateRangeCalendar/useDragRange.d.ts +0 -40
- package/modern/DateRangeCalendar/useDragRange.js +0 -250
- package/modern/DateRangePicker/DateRangePicker.d.ts +0 -17
- package/modern/DateRangePicker/DateRangePicker.js +0 -344
- package/modern/DateRangePicker/DateRangePicker.types.d.ts +0 -33
- package/modern/DateRangePicker/DateRangePicker.types.js +0 -1
- package/modern/DateRangePicker/DateRangePickerToolbar.d.ts +0 -25
- package/modern/DateRangePicker/DateRangePickerToolbar.js +0 -131
- package/modern/DateRangePicker/dateRangePickerToolbarClasses.d.ts +0 -9
- package/modern/DateRangePicker/dateRangePickerToolbarClasses.js +0 -5
- package/modern/DateRangePicker/index.d.ts +0 -6
- package/modern/DateRangePicker/index.js +0 -3
- package/modern/DateRangePicker/shared.d.ts +0 -40
- package/modern/DateRangePicker/shared.js +0 -26
- package/modern/DateRangePickerDay/DateRangePickerDay.d.ts +0 -14
- package/modern/DateRangePickerDay/DateRangePickerDay.js +0 -472
- package/modern/DateRangePickerDay/DateRangePickerDay.types.d.ts +0 -91
- package/modern/DateRangePickerDay/DateRangePickerDay.types.js +0 -1
- package/modern/DateRangePickerDay/dateRangePickerDayClasses.d.ts +0 -41
- package/modern/DateRangePickerDay/dateRangePickerDayClasses.js +0 -5
- package/modern/DateRangePickerDay/index.d.ts +0 -4
- package/modern/DateRangePickerDay/index.js +0 -2
- package/modern/DateTimeRangePicker/DateTimeRangePicker.d.ts +0 -17
- package/modern/DateTimeRangePicker/DateTimeRangePicker.js +0 -431
- package/modern/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +0 -28
- package/modern/DateTimeRangePicker/DateTimeRangePicker.types.js +0 -1
- package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +0 -30
- package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +0 -193
- package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +0 -17
- package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +0 -60
- package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +0 -17
- package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +0 -200
- package/modern/DateTimeRangePicker/dateTimeRangePickerTabsClasses.d.ts +0 -13
- package/modern/DateTimeRangePicker/dateTimeRangePickerTabsClasses.js +0 -6
- package/modern/DateTimeRangePicker/dateTimeRangePickerToolbarClasses.d.ts +0 -11
- package/modern/DateTimeRangePicker/dateTimeRangePickerToolbarClasses.js +0 -5
- package/modern/DateTimeRangePicker/index.d.ts +0 -10
- package/modern/DateTimeRangePicker/index.js +0 -5
- package/modern/DateTimeRangePicker/shared.d.ts +0 -63
- package/modern/DateTimeRangePicker/shared.js +0 -51
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +0 -17
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -358
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +0 -27
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.types.js +0 -1
- package/modern/DesktopDateRangePicker/index.d.ts +0 -2
- package/modern/DesktopDateRangePicker/index.js +0 -1
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +0 -17
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +0 -520
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +0 -22
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.js +0 -1
- package/modern/DesktopDateTimeRangePicker/index.d.ts +0 -2
- package/modern/DesktopDateTimeRangePicker/index.js +0 -1
- package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.d.ts +0 -7
- package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.js +0 -397
- package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.types.d.ts +0 -18
- package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.types.js +0 -1
- package/modern/DesktopTimeRangePicker/index.d.ts +0 -2
- package/modern/DesktopTimeRangePicker/index.js +0 -1
- package/modern/LocalizationProvider/index.d.ts +0 -1
- package/modern/LocalizationProvider/index.js +0 -1
- package/modern/MobileDateRangePicker/MobileDateRangePicker.d.ts +0 -17
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -350
- package/modern/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +0 -17
- package/modern/MobileDateRangePicker/MobileDateRangePicker.types.js +0 -1
- package/modern/MobileDateRangePicker/index.d.ts +0 -2
- package/modern/MobileDateRangePicker/index.js +0 -1
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +0 -17
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +0 -526
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +0 -17
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.js +0 -1
- package/modern/MobileDateTimeRangePicker/index.d.ts +0 -2
- package/modern/MobileDateTimeRangePicker/index.js +0 -1
- package/modern/MobileTimeRangePicker/MobileTimeRangePicker.d.ts +0 -7
- package/modern/MobileTimeRangePicker/MobileTimeRangePicker.js +0 -380
- package/modern/MobileTimeRangePicker/MobileTimeRangePicker.types.d.ts +0 -17
- package/modern/MobileTimeRangePicker/MobileTimeRangePicker.types.js +0 -1
- package/modern/MobileTimeRangePicker/index.d.ts +0 -2
- package/modern/MobileTimeRangePicker/index.js +0 -1
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +0 -25
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +0 -215
- package/modern/MultiInputDateRangeField/index.d.ts +0 -5
- package/modern/MultiInputDateRangeField/index.js +0 -2
- package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +0 -5
- package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +0 -4
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +0 -25
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +0 -255
- package/modern/MultiInputDateTimeRangeField/index.d.ts +0 -5
- package/modern/MultiInputDateTimeRangeField/index.js +0 -2
- package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +0 -5
- package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +0 -4
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +0 -25
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +0 -228
- package/modern/MultiInputTimeRangeField/index.d.ts +0 -5
- package/modern/MultiInputTimeRangeField/index.js +0 -2
- package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +0 -5
- package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +0 -4
- package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.d.ts +0 -7
- package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +0 -137
- package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.d.ts +0 -17
- package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.js +0 -1
- package/modern/PickersRangeCalendarHeader/index.d.ts +0 -2
- package/modern/PickersRangeCalendarHeader/index.js +0 -1
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +0 -19
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +0 -316
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +0 -18
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.types.js +0 -1
- package/modern/SingleInputDateRangeField/index.d.ts +0 -3
- package/modern/SingleInputDateRangeField/index.js +0 -2
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +0 -2
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +0 -11
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +0 -19
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +0 -356
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +0 -18
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +0 -1
- package/modern/SingleInputDateTimeRangeField/index.d.ts +0 -3
- package/modern/SingleInputDateTimeRangeField/index.js +0 -2
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +0 -2
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +0 -11
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +0 -19
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +0 -328
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +0 -18
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +0 -1
- package/modern/SingleInputTimeRangeField/index.d.ts +0 -3
- package/modern/SingleInputTimeRangeField/index.js +0 -2
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +0 -2
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +0 -11
- package/modern/StaticDateRangePicker/StaticDateRangePicker.d.ts +0 -17
- package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -286
- package/modern/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +0 -22
- package/modern/StaticDateRangePicker/StaticDateRangePicker.types.js +0 -1
- package/modern/StaticDateRangePicker/index.d.ts +0 -2
- package/modern/StaticDateRangePicker/index.js +0 -1
- package/modern/TimeRangePicker/TimeRangePicker.d.ts +0 -17
- package/modern/TimeRangePicker/TimeRangePicker.js +0 -333
- package/modern/TimeRangePicker/TimeRangePicker.types.d.ts +0 -22
- package/modern/TimeRangePicker/TimeRangePicker.types.js +0 -1
- package/modern/TimeRangePicker/TimeRangePickerTabs.d.ts +0 -35
- package/modern/TimeRangePicker/TimeRangePickerTabs.js +0 -138
- package/modern/TimeRangePicker/TimeRangePickerTimeWrapper.d.ts +0 -17
- package/modern/TimeRangePicker/TimeRangePickerTimeWrapper.js +0 -58
- package/modern/TimeRangePicker/TimeRangePickerToolbar.d.ts +0 -14
- package/modern/TimeRangePicker/TimeRangePickerToolbar.js +0 -256
- package/modern/TimeRangePicker/index.d.ts +0 -10
- package/modern/TimeRangePicker/index.js +0 -5
- package/modern/TimeRangePicker/shared.d.ts +0 -73
- package/modern/TimeRangePicker/shared.js +0 -61
- package/modern/TimeRangePicker/timeRangePickerTabsClasses.d.ts +0 -9
- package/modern/TimeRangePicker/timeRangePickerTabsClasses.js +0 -5
- package/modern/TimeRangePicker/timeRangePickerToolbarClasses.d.ts +0 -13
- package/modern/TimeRangePicker/timeRangePickerToolbarClasses.js +0 -5
- package/modern/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +0 -49
- package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -85
- package/modern/dateRangeViewRenderers/index.d.ts +0 -2
- package/modern/dateRangeViewRenderers/index.js +0 -1
- package/modern/hooks/index.d.ts +0 -3
- package/modern/hooks/index.js +0 -2
- package/modern/hooks/useMultiInputRangeField/index.d.ts +0 -2
- package/modern/hooks/useMultiInputRangeField/index.js +0 -1
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +0 -72
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +0 -140
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.d.ts +0 -11
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.js +0 -25
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +0 -19
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js +0 -43
- package/modern/hooks/useMultiInputRangeField/useTextFieldProps.d.ts +0 -30
- package/modern/hooks/useMultiInputRangeField/useTextFieldProps.js +0 -129
- package/modern/hooks/usePickerRangePositionContext.d.ts +0 -7
- package/modern/hooks/usePickerRangePositionContext.js +0 -15
- package/modern/index.d.ts +0 -25
- package/modern/index.js +0 -40
- package/modern/internals/constants/dimensions.d.ts +0 -3
- package/modern/internals/constants/dimensions.js +0 -5
- package/modern/internals/hooks/useDesktopRangePicker/index.d.ts +0 -2
- package/modern/internals/hooks/useDesktopRangePicker/index.js +0 -1
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +0 -10
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +0 -79
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +0 -35
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.js +0 -1
- package/modern/internals/hooks/useMobileRangePicker/index.d.ts +0 -2
- package/modern/internals/hooks/useMobileRangePicker/index.js +0 -1
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +0 -10
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +0 -117
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +0 -31
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.js +0 -1
- package/modern/internals/hooks/useNullablePickerRangePositionContext.d.ts +0 -5
- package/modern/internals/hooks/useNullablePickerRangePositionContext.js +0 -10
- package/modern/internals/hooks/useRangePosition.d.ts +0 -24
- package/modern/internals/hooks/useRangePosition.js +0 -18
- package/modern/internals/hooks/useStaticRangePicker/index.d.ts +0 -2
- package/modern/internals/hooks/useStaticRangePicker/index.js +0 -1
- package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +0 -14
- package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -71
- package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +0 -30
- package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.js +0 -1
- package/modern/internals/models/dateRange.d.ts +0 -16
- package/modern/internals/models/dateRange.js +0 -1
- package/modern/internals/models/dateTimeRange.d.ts +0 -3
- package/modern/internals/models/dateTimeRange.js +0 -1
- package/modern/internals/models/fields.d.ts +0 -22
- package/modern/internals/models/fields.js +0 -1
- package/modern/internals/models/index.d.ts +0 -3
- package/modern/internals/models/index.js +0 -3
- package/modern/internals/models/managers.d.ts +0 -3
- package/modern/internals/models/managers.js +0 -1
- package/modern/internals/models/rangePickerProps.d.ts +0 -36
- package/modern/internals/models/rangePickerProps.js +0 -1
- package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +0 -8
- package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +0 -133
- package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +0 -73
- package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js +0 -1
- package/modern/internals/utils/createMultiInputRangeField/index.d.ts +0 -3
- package/modern/internals/utils/createMultiInputRangeField/index.js +0 -2
- package/modern/internals/utils/createMultiInputRangeField/useTextFieldProps.d.ts +0 -14
- package/modern/internals/utils/createMultiInputRangeField/useTextFieldProps.js +0 -43
- package/modern/internals/utils/createRangePickerStepNavigation.d.ts +0 -16
- package/modern/internals/utils/createRangePickerStepNavigation.js +0 -31
- package/modern/internals/utils/date-fields-utils.d.ts +0 -23
- package/modern/internals/utils/date-fields-utils.js +0 -28
- package/modern/internals/utils/date-range-manager.d.ts +0 -32
- package/modern/internals/utils/date-range-manager.js +0 -61
- package/modern/internals/utils/date-utils.d.ts +0 -7
- package/modern/internals/utils/date-utils.js +0 -18
- package/modern/internals/utils/releaseInfo.d.ts +0 -1
- package/modern/internals/utils/releaseInfo.js +0 -13
- package/modern/internals/utils/valueManagers.d.ts +0 -10
- package/modern/internals/utils/valueManagers.js +0 -119
- package/modern/locales/index.d.ts +0 -1
- package/modern/locales/index.js +0 -1
- package/modern/managers/index.d.ts +0 -6
- package/modern/managers/index.js +0 -3
- package/modern/managers/useDateRangeManager.d.ts +0 -11
- package/modern/managers/useDateRangeManager.js +0 -40
- package/modern/managers/useDateTimeRangeManager.d.ts +0 -11
- package/modern/managers/useDateTimeRangeManager.js +0 -41
- package/modern/managers/useTimeRangeManager.d.ts +0 -11
- package/modern/managers/useTimeRangeManager.js +0 -45
- package/modern/models/fields.d.ts +0 -34
- package/modern/models/fields.js +0 -1
- package/modern/models/index.d.ts +0 -4
- package/modern/models/index.js +0 -4
- package/modern/models/range.d.ts +0 -2
- package/modern/models/range.js +0 -1
- package/modern/models/validation.d.ts +0 -6
- package/modern/models/validation.js +0 -1
- package/modern/package.json +0 -1
- package/modern/themeAugmentation/components.d.ts +0 -79
- package/modern/themeAugmentation/index.d.ts +0 -4
- package/modern/themeAugmentation/index.js +0 -1
- package/modern/themeAugmentation/overrides.d.ts +0 -27
- package/modern/themeAugmentation/props.d.ts +0 -54
- package/modern/validation/index.d.ts +0 -6
- package/modern/validation/index.js +0 -3
- package/modern/validation/validateDateRange.d.ts +0 -18
- package/modern/validation/validateDateRange.js +0 -59
- package/modern/validation/validateDateTimeRange.d.ts +0 -15
- package/modern/validation/validateDateTimeRange.js +0 -55
- package/modern/validation/validateTimeRange.d.ts +0 -17
- package/modern/validation/validateTimeRange.js +0 -48
- package/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { SxProps } from '@mui/system';
|
|
3
|
-
import { SlotComponentProps } from '@mui/utils';
|
|
4
|
-
import { Theme } from '@mui/material/styles';
|
|
5
|
-
import { DefaultizedProps } from '@mui/x-internals/types';
|
|
6
|
-
import { PickerOwnerState, PickerValidDate, TimezoneProps } from '@mui/x-date-pickers/models';
|
|
7
|
-
import { PickersCalendarHeader, PickersCalendarHeaderSlots, PickersCalendarHeaderSlotProps } from '@mui/x-date-pickers/PickersCalendarHeader';
|
|
8
|
-
import { PickerDayOwnerState } from '@mui/x-date-pickers/PickersDay';
|
|
9
|
-
import { BaseDateValidationProps, ExportedDayCalendarProps, DayCalendarSlots, DayCalendarSlotProps, PickersArrowSwitcherSlots, PickersArrowSwitcherSlotProps, ExportedUseViewsOptions, PickerRangeValue, FormProps } from '@mui/x-date-pickers/internals';
|
|
10
|
-
import { RangePosition } from "../models/index.js";
|
|
11
|
-
import { DateRangeCalendarClasses } from "./dateRangeCalendarClasses.js";
|
|
12
|
-
import { DateRangePickerDay, DateRangePickerDayProps } from "../DateRangePickerDay/index.js";
|
|
13
|
-
import { UseRangePositionProps } from "../internals/hooks/useRangePosition.js";
|
|
14
|
-
import { PickersRangeCalendarHeaderProps } from "../PickersRangeCalendarHeader/index.js";
|
|
15
|
-
import { ExportedValidateDateRangeProps } from "../validation/validateDateRange.js";
|
|
16
|
-
export interface DateRangeCalendarSlots extends PickersArrowSwitcherSlots, Omit<DayCalendarSlots, 'day'>, PickersCalendarHeaderSlots {
|
|
17
|
-
/**
|
|
18
|
-
* Custom component for calendar header.
|
|
19
|
-
* Check the [PickersCalendarHeader](https://mui.com/x/api/date-pickers/pickers-calendar-header/) component.
|
|
20
|
-
* @default PickersCalendarHeader
|
|
21
|
-
*/
|
|
22
|
-
calendarHeader?: React.ElementType<PickersRangeCalendarHeaderProps>;
|
|
23
|
-
/**
|
|
24
|
-
* Custom component for day in range pickers.
|
|
25
|
-
* Check the [DateRangePickersDay](https://mui.com/x/api/date-pickers/date-range-picker-day/) component.
|
|
26
|
-
* @default DateRangePickersDay
|
|
27
|
-
*/
|
|
28
|
-
day?: React.ElementType<DateRangePickerDayProps>;
|
|
29
|
-
}
|
|
30
|
-
export interface DateRangeCalendarSlotProps extends PickersArrowSwitcherSlotProps, Omit<DayCalendarSlotProps, 'day'>, PickersCalendarHeaderSlotProps {
|
|
31
|
-
calendarHeader?: SlotComponentProps<typeof PickersCalendarHeader, {}, DateRangeCalendarOwnerState>;
|
|
32
|
-
day?: SlotComponentProps<typeof DateRangePickerDay, {}, PickerDayOwnerState>;
|
|
33
|
-
}
|
|
34
|
-
export interface ExportedDateRangeCalendarProps extends ExportedDayCalendarProps, ExportedValidateDateRangeProps, TimezoneProps, FormProps {
|
|
35
|
-
/**
|
|
36
|
-
* If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
|
|
37
|
-
* @default false
|
|
38
|
-
*/
|
|
39
|
-
disableAutoMonthSwitching?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* If `true`, disable heavy animations.
|
|
42
|
-
* @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
|
|
43
|
-
*/
|
|
44
|
-
reduceAnimations?: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Callback fired on month change.
|
|
47
|
-
* @param {PickerValidDate} month The new month.
|
|
48
|
-
*/
|
|
49
|
-
onMonthChange?: (month: PickerValidDate) => void;
|
|
50
|
-
/**
|
|
51
|
-
* Position the current month is rendered in.
|
|
52
|
-
* @default 1
|
|
53
|
-
*/
|
|
54
|
-
currentMonthCalendarPosition?: 1 | 2 | 3;
|
|
55
|
-
/**
|
|
56
|
-
* If `true`, editing dates by dragging is disabled.
|
|
57
|
-
* @default false
|
|
58
|
-
*/
|
|
59
|
-
disableDragEditing?: boolean;
|
|
60
|
-
}
|
|
61
|
-
export interface DateRangeCalendarProps extends ExportedDateRangeCalendarProps, UseRangePositionProps, ExportedUseViewsOptions<PickerRangeValue, 'day'> {
|
|
62
|
-
/**
|
|
63
|
-
* The selected value.
|
|
64
|
-
* Used when the component is controlled.
|
|
65
|
-
*/
|
|
66
|
-
value?: PickerRangeValue;
|
|
67
|
-
/**
|
|
68
|
-
* The default selected value.
|
|
69
|
-
* Used when the component is not controlled.
|
|
70
|
-
*/
|
|
71
|
-
defaultValue?: PickerRangeValue;
|
|
72
|
-
/**
|
|
73
|
-
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
74
|
-
* @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`.
|
|
75
|
-
*/
|
|
76
|
-
referenceDate?: PickerValidDate;
|
|
77
|
-
/**
|
|
78
|
-
* The number of calendars to render.
|
|
79
|
-
* @default 2
|
|
80
|
-
*/
|
|
81
|
-
calendars?: 1 | 2 | 3;
|
|
82
|
-
className?: string;
|
|
83
|
-
/**
|
|
84
|
-
* Override or extend the styles applied to the component.
|
|
85
|
-
*/
|
|
86
|
-
classes?: Partial<DateRangeCalendarClasses>;
|
|
87
|
-
/**
|
|
88
|
-
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
89
|
-
*/
|
|
90
|
-
sx?: SxProps<Theme>;
|
|
91
|
-
/**
|
|
92
|
-
* Overridable component slots.
|
|
93
|
-
* @default {}
|
|
94
|
-
*/
|
|
95
|
-
slots?: DateRangeCalendarSlots;
|
|
96
|
-
/**
|
|
97
|
-
* The props used for each component slot.
|
|
98
|
-
* @default {}
|
|
99
|
-
*/
|
|
100
|
-
slotProps?: DateRangeCalendarSlotProps;
|
|
101
|
-
/**
|
|
102
|
-
* Range positions available for selection.
|
|
103
|
-
* This list is checked against when checking if a next range position can be selected.
|
|
104
|
-
*
|
|
105
|
-
* Used on Date Time Range pickers with current `rangePosition` to force a `finish` selection after just one range position selection.
|
|
106
|
-
* @default ['start', 'end']
|
|
107
|
-
*/
|
|
108
|
-
availableRangePositions?: RangePosition[];
|
|
109
|
-
}
|
|
110
|
-
export interface DateRangeCalendarOwnerState extends PickerOwnerState {
|
|
111
|
-
isDraggingDay: boolean;
|
|
112
|
-
}
|
|
113
|
-
export type DateRangeCalendarDefaultizedProps = DefaultizedProps<DateRangeCalendarProps, 'views' | 'openTo' | 'reduceAnimations' | 'calendars' | 'disableDragEditing' | 'availableRangePositions' | keyof BaseDateValidationProps>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface DateRangeCalendarClasses {
|
|
2
|
-
/** Styles applied to the root element. */
|
|
3
|
-
root: string;
|
|
4
|
-
/** Styles applied to the container of a month. */
|
|
5
|
-
monthContainer: string;
|
|
6
|
-
/** Styles applied to the day calendar container when dragging */
|
|
7
|
-
dayDragging: string;
|
|
8
|
-
}
|
|
9
|
-
export type DateRangeCalendarClassKey = keyof DateRangeCalendarClasses;
|
|
10
|
-
export declare const getDateRangeCalendarUtilityClass: (slot: string) => string;
|
|
11
|
-
export declare const dateRangeCalendarClasses: DateRangeCalendarClasses;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
|
|
2
|
-
export const getDateRangeCalendarUtilityClass = slot => generateUtilityClass('MuiDateRangeCalendar', slot);
|
|
3
|
-
export const dateRangeCalendarClasses = generateUtilityClasses('MuiDateRangeCalendar', ['root', 'monthContainer', 'dayDragging']);
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { DateRangeCalendar } from "./DateRangeCalendar.js";
|
|
2
|
-
export type { DateRangeCalendarProps, DateRangeCalendarSlots, DateRangeCalendarSlotProps, ExportedDateRangeCalendarProps } from './DateRangeCalendar.types';
|
|
3
|
-
export { getDateRangeCalendarUtilityClass, dateRangeCalendarClasses } from "./dateRangeCalendarClasses.js";
|
|
4
|
-
export type { DateRangeCalendarClassKey, DateRangeCalendarClasses } from './dateRangeCalendarClasses';
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { MuiPickersAdapter, PickersTimezone, PickerValidDate } from '@mui/x-date-pickers/models';
|
|
3
|
-
import { PickerRangeValue } from '@mui/x-date-pickers/internals';
|
|
4
|
-
import { RangePosition } from "../models/index.js";
|
|
5
|
-
interface UseDragRangeParams {
|
|
6
|
-
disableDragEditing?: boolean;
|
|
7
|
-
utils: MuiPickersAdapter;
|
|
8
|
-
setRangeDragDay: (value: PickerValidDate | null) => void;
|
|
9
|
-
setIsDragging: (value: boolean) => void;
|
|
10
|
-
isDragging: boolean;
|
|
11
|
-
onDatePositionChange: (position: RangePosition) => void;
|
|
12
|
-
onDrop: (newDate: PickerValidDate) => void;
|
|
13
|
-
dateRange: PickerRangeValue;
|
|
14
|
-
timezone: PickersTimezone;
|
|
15
|
-
}
|
|
16
|
-
interface UseDragRangeEvents {
|
|
17
|
-
onDragStart?: React.DragEventHandler<HTMLButtonElement>;
|
|
18
|
-
onDragEnter?: React.DragEventHandler<HTMLButtonElement>;
|
|
19
|
-
onDragLeave?: React.DragEventHandler<HTMLButtonElement>;
|
|
20
|
-
onDragOver?: React.DragEventHandler<HTMLButtonElement>;
|
|
21
|
-
onDragEnd?: React.DragEventHandler<HTMLButtonElement>;
|
|
22
|
-
onDrop?: React.DragEventHandler<HTMLButtonElement>;
|
|
23
|
-
onTouchStart?: React.TouchEventHandler<HTMLButtonElement>;
|
|
24
|
-
onTouchMove?: React.TouchEventHandler<HTMLButtonElement>;
|
|
25
|
-
onTouchEnd?: React.TouchEventHandler<HTMLButtonElement>;
|
|
26
|
-
}
|
|
27
|
-
interface UseDragRangeResponse extends UseDragRangeEvents {
|
|
28
|
-
isDragging: boolean;
|
|
29
|
-
rangeDragDay: PickerValidDate | null;
|
|
30
|
-
draggingDatePosition: RangePosition | null;
|
|
31
|
-
}
|
|
32
|
-
export declare const useDragRange: ({
|
|
33
|
-
disableDragEditing,
|
|
34
|
-
utils,
|
|
35
|
-
onDatePositionChange,
|
|
36
|
-
onDrop,
|
|
37
|
-
dateRange,
|
|
38
|
-
timezone
|
|
39
|
-
}: Omit<UseDragRangeParams, "setRangeDragDay" | "setIsDragging" | "isDragging">) => UseDragRangeResponse;
|
|
40
|
-
export {};
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import useEventCallback from '@mui/utils/useEventCallback';
|
|
6
|
-
import { isEndOfRange, isStartOfRange } from "../internals/utils/date-utils.js";
|
|
7
|
-
const resolveDateFromTarget = (target, utils, timezone) => {
|
|
8
|
-
const timestampString = target.dataset.timestamp;
|
|
9
|
-
if (!timestampString) {
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
const timestamp = +timestampString;
|
|
13
|
-
return utils.date(new Date(timestamp).toISOString(), timezone);
|
|
14
|
-
};
|
|
15
|
-
const isSameAsDraggingDate = event => {
|
|
16
|
-
const timestampString = event.target.dataset.timestamp;
|
|
17
|
-
return timestampString === event.dataTransfer.getData('draggingDate');
|
|
18
|
-
};
|
|
19
|
-
const resolveButtonElement = element => {
|
|
20
|
-
if (element) {
|
|
21
|
-
if (element instanceof HTMLButtonElement && !element.disabled) {
|
|
22
|
-
return element;
|
|
23
|
-
}
|
|
24
|
-
if (element.children.length) {
|
|
25
|
-
return resolveButtonElement(element.children[0]);
|
|
26
|
-
}
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
return element;
|
|
30
|
-
};
|
|
31
|
-
const resolveElementFromTouch = (event, ignoreTouchTarget) => {
|
|
32
|
-
// don't parse multi-touch result
|
|
33
|
-
if (event.changedTouches?.length === 1 && event.touches.length <= 1) {
|
|
34
|
-
const element = document.elementFromPoint(event.changedTouches[0].clientX, event.changedTouches[0].clientY);
|
|
35
|
-
// `elementFromPoint` could have resolved preview div or wrapping div
|
|
36
|
-
// might need to recursively find the nested button
|
|
37
|
-
const buttonElement = resolveButtonElement(element);
|
|
38
|
-
if (ignoreTouchTarget && buttonElement === event.changedTouches[0].target) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
return buttonElement;
|
|
42
|
-
}
|
|
43
|
-
return null;
|
|
44
|
-
};
|
|
45
|
-
const useDragRangeEvents = ({
|
|
46
|
-
utils,
|
|
47
|
-
setRangeDragDay,
|
|
48
|
-
setIsDragging,
|
|
49
|
-
isDragging,
|
|
50
|
-
onDatePositionChange,
|
|
51
|
-
onDrop,
|
|
52
|
-
disableDragEditing,
|
|
53
|
-
dateRange,
|
|
54
|
-
timezone
|
|
55
|
-
}) => {
|
|
56
|
-
const emptyDragImgRef = React.useRef(null);
|
|
57
|
-
React.useEffect(() => {
|
|
58
|
-
// Preload the image - required for Safari support: https://stackoverflow.com/a/40923520/3303436
|
|
59
|
-
emptyDragImgRef.current = document.createElement('img');
|
|
60
|
-
emptyDragImgRef.current.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
|
|
61
|
-
}, []);
|
|
62
|
-
const isElementDraggable = day => {
|
|
63
|
-
if (day == null) {
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
const shouldInitDragging = !disableDragEditing && !!dateRange[0] && !!dateRange[1];
|
|
67
|
-
const isSelectedStartDate = isStartOfRange(utils, day, dateRange);
|
|
68
|
-
const isSelectedEndDate = isEndOfRange(utils, day, dateRange);
|
|
69
|
-
return shouldInitDragging && (isSelectedStartDate || isSelectedEndDate);
|
|
70
|
-
};
|
|
71
|
-
const handleDragStart = useEventCallback(event => {
|
|
72
|
-
const newDate = resolveDateFromTarget(event.target, utils, timezone);
|
|
73
|
-
if (!isElementDraggable(newDate)) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
event.stopPropagation();
|
|
77
|
-
if (emptyDragImgRef.current) {
|
|
78
|
-
event.dataTransfer.setDragImage(emptyDragImgRef.current, 0, 0);
|
|
79
|
-
}
|
|
80
|
-
setRangeDragDay(newDate);
|
|
81
|
-
event.dataTransfer.effectAllowed = 'move';
|
|
82
|
-
setIsDragging(true);
|
|
83
|
-
const buttonDataset = event.target.dataset;
|
|
84
|
-
if (buttonDataset.timestamp) {
|
|
85
|
-
event.dataTransfer.setData('draggingDate', buttonDataset.timestamp);
|
|
86
|
-
}
|
|
87
|
-
if (buttonDataset.position) {
|
|
88
|
-
onDatePositionChange(buttonDataset.position);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
const handleTouchStart = useEventCallback(event => {
|
|
92
|
-
const target = resolveElementFromTouch(event);
|
|
93
|
-
if (!target) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
const newDate = resolveDateFromTarget(target, utils, timezone);
|
|
97
|
-
if (!isElementDraggable(newDate)) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
setRangeDragDay(newDate);
|
|
101
|
-
});
|
|
102
|
-
const handleDragEnter = useEventCallback(event => {
|
|
103
|
-
if (!isDragging) {
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
event.preventDefault();
|
|
107
|
-
event.stopPropagation();
|
|
108
|
-
event.dataTransfer.dropEffect = 'move';
|
|
109
|
-
setRangeDragDay(resolveDateFromTarget(event.target, utils, timezone));
|
|
110
|
-
});
|
|
111
|
-
const handleTouchMove = useEventCallback(event => {
|
|
112
|
-
const target = resolveElementFromTouch(event);
|
|
113
|
-
if (!target) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
const newDate = resolveDateFromTarget(target, utils, timezone);
|
|
117
|
-
if (newDate) {
|
|
118
|
-
setRangeDragDay(newDate);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
// this prevents initiating drag when user starts touchmove outside and then moves over a draggable element
|
|
122
|
-
const targetsAreIdentical = target === event.changedTouches[0].target;
|
|
123
|
-
if (!targetsAreIdentical || !isElementDraggable(newDate)) {
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// on mobile we should only initialize dragging state after move is detected
|
|
128
|
-
setIsDragging(true);
|
|
129
|
-
const button = event.target;
|
|
130
|
-
const buttonDataset = button.dataset;
|
|
131
|
-
if (buttonDataset.position) {
|
|
132
|
-
onDatePositionChange(buttonDataset.position);
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
const handleDragLeave = useEventCallback(event => {
|
|
136
|
-
if (!isDragging) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
event.preventDefault();
|
|
140
|
-
event.stopPropagation();
|
|
141
|
-
});
|
|
142
|
-
const handleDragOver = useEventCallback(event => {
|
|
143
|
-
if (!isDragging) {
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
event.preventDefault();
|
|
147
|
-
event.stopPropagation();
|
|
148
|
-
event.dataTransfer.dropEffect = 'move';
|
|
149
|
-
});
|
|
150
|
-
const handleTouchEnd = useEventCallback(event => {
|
|
151
|
-
if (!isDragging) {
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
setRangeDragDay(null);
|
|
155
|
-
setIsDragging(false);
|
|
156
|
-
const target = resolveElementFromTouch(event, true);
|
|
157
|
-
if (!target) {
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// make sure the focused element is the element where touch ended
|
|
162
|
-
target.focus();
|
|
163
|
-
const newDate = resolveDateFromTarget(target, utils, timezone);
|
|
164
|
-
if (newDate) {
|
|
165
|
-
onDrop(newDate);
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
const handleDragEnd = useEventCallback(event => {
|
|
169
|
-
if (!isDragging) {
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
event.preventDefault();
|
|
173
|
-
event.stopPropagation();
|
|
174
|
-
setIsDragging(false);
|
|
175
|
-
setRangeDragDay(null);
|
|
176
|
-
});
|
|
177
|
-
const handleDrop = useEventCallback(event => {
|
|
178
|
-
if (!isDragging) {
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
event.preventDefault();
|
|
182
|
-
event.stopPropagation();
|
|
183
|
-
setIsDragging(false);
|
|
184
|
-
setRangeDragDay(null);
|
|
185
|
-
// make sure the focused element is the element where drop ended
|
|
186
|
-
event.currentTarget.focus();
|
|
187
|
-
if (isSameAsDraggingDate(event)) {
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
const newDate = resolveDateFromTarget(event.target, utils, timezone);
|
|
191
|
-
if (newDate) {
|
|
192
|
-
onDrop(newDate);
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
return {
|
|
196
|
-
onDragStart: handleDragStart,
|
|
197
|
-
onDragEnter: handleDragEnter,
|
|
198
|
-
onDragLeave: handleDragLeave,
|
|
199
|
-
onDragOver: handleDragOver,
|
|
200
|
-
onDragEnd: handleDragEnd,
|
|
201
|
-
onDrop: handleDrop,
|
|
202
|
-
onTouchStart: handleTouchStart,
|
|
203
|
-
onTouchMove: handleTouchMove,
|
|
204
|
-
onTouchEnd: handleTouchEnd
|
|
205
|
-
};
|
|
206
|
-
};
|
|
207
|
-
export const useDragRange = ({
|
|
208
|
-
disableDragEditing,
|
|
209
|
-
utils,
|
|
210
|
-
onDatePositionChange,
|
|
211
|
-
onDrop,
|
|
212
|
-
dateRange,
|
|
213
|
-
timezone
|
|
214
|
-
}) => {
|
|
215
|
-
const [isDragging, setIsDragging] = React.useState(false);
|
|
216
|
-
const [rangeDragDay, setRangeDragDay] = React.useState(null);
|
|
217
|
-
const handleRangeDragDayChange = useEventCallback(newValue => {
|
|
218
|
-
if (!utils.isEqual(newValue, rangeDragDay)) {
|
|
219
|
-
setRangeDragDay(newValue);
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
const draggingDatePosition = React.useMemo(() => {
|
|
223
|
-
const [start, end] = dateRange;
|
|
224
|
-
if (rangeDragDay) {
|
|
225
|
-
if (start && utils.isBefore(rangeDragDay, start)) {
|
|
226
|
-
return 'start';
|
|
227
|
-
}
|
|
228
|
-
if (end && utils.isAfter(rangeDragDay, end)) {
|
|
229
|
-
return 'end';
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
return null;
|
|
233
|
-
}, [dateRange, rangeDragDay, utils]);
|
|
234
|
-
const dragRangeEvents = useDragRangeEvents({
|
|
235
|
-
utils,
|
|
236
|
-
onDatePositionChange,
|
|
237
|
-
onDrop,
|
|
238
|
-
setIsDragging,
|
|
239
|
-
isDragging,
|
|
240
|
-
setRangeDragDay: handleRangeDragDayChange,
|
|
241
|
-
disableDragEditing,
|
|
242
|
-
dateRange,
|
|
243
|
-
timezone
|
|
244
|
-
});
|
|
245
|
-
return React.useMemo(() => _extends({
|
|
246
|
-
isDragging,
|
|
247
|
-
rangeDragDay,
|
|
248
|
-
draggingDatePosition
|
|
249
|
-
}, !disableDragEditing ? dragRangeEvents : {}), [isDragging, rangeDragDay, draggingDatePosition, disableDragEditing, dragRangeEvents]);
|
|
250
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { DateRangePickerProps } from "./DateRangePicker.types.js";
|
|
3
|
-
type DatePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: DateRangePickerProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
4
|
-
propTypes?: any;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Demos:
|
|
8
|
-
*
|
|
9
|
-
* - [DateRangePicker](https://mui.com/x/react-date-pickers/date-range-picker/)
|
|
10
|
-
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
11
|
-
*
|
|
12
|
-
* API:
|
|
13
|
-
*
|
|
14
|
-
* - [DateRangePicker API](https://mui.com/x/api/date-pickers/date-range-picker/)
|
|
15
|
-
*/
|
|
16
|
-
declare const DateRangePicker: DatePickerComponent;
|
|
17
|
-
export { DateRangePicker };
|