Skip to content

Commit

Permalink
[typescript] Remove duplicate DateRangePosition type in favor of `R…
Browse files Browse the repository at this point in the history
…angePosition` (#13288)
  • Loading branch information
LukasTy authored May 29, 2024
1 parent f6ccf93 commit ccc2d3b
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ import {
} from '@mui/x-date-pickers-pro/DateRangeCalendar';
import { DateRangePickerDay } from '@mui/x-date-pickers-pro/DateRangePickerDay';
import { describeConformance } from 'test/utils/describeConformance';
import { DateRangePosition } from './DateRangeCalendar.types';
import { RangePosition } from '../models';

const getPickerDay = (name: string, picker = 'January 2018') =>
getByRole(screen.getByText(picker)?.parentElement?.parentElement!, 'gridcell', { name });

const dynamicShouldDisableDate = (date, position: DateRangePosition) => {
const dynamicShouldDisableDate = (date, position: RangePosition) => {
if (position === 'end') {
return adapterToUse.getDate(date) % 3 === 0;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import {
import {
DateRangeCalendarProps,
DateRangeCalendarDefaultizedProps,
DateRangePosition,
DateRangeCalendarOwnerState,
} from './DateRangeCalendar.types';
import {
Expand All @@ -43,7 +42,7 @@ import {
isWithinRange,
} from '../internals/utils/date-utils';
import { calculateRangeChange, calculateRangePreview } from '../internals/utils/date-range-manager';
import { DateRange } from '../models';
import { DateRange, RangePosition } from '../models';
import { DateRangePickerDay, dateRangePickerDayClasses as dayClasses } from '../DateRangePickerDay';
import { rangeValueManager } from '../internals/utils/valueManagers';
import { useDragRange } from './useDragRange';
Expand Down Expand Up @@ -239,7 +238,7 @@ const DateRangeCalendar = React.forwardRef(function DateRangeCalendar<
onRangePositionChange: inOnRangePositionChange,
});

const handleDatePositionChange = useEventCallback((position: DateRangePosition) => {
const handleDatePositionChange = useEventCallback((position: RangePosition) => {
if (rangePosition !== position) {
onRangePositionChange(position);
}
Expand Down Expand Up @@ -460,7 +459,7 @@ const DateRangeCalendar = React.forwardRef(function DateRangeCalendar<
const isSelectedEndDate = isEndOfRange(utils, day, valueDayRange);
const shouldInitDragging = !shouldDisableDragEditing && valueDayRange[0] && valueDayRange[1];
const isElementDraggable = shouldInitDragging && (isSelectedStartDate || isSelectedEndDate);
let datePosition: DateRangePosition | undefined;
let datePosition: RangePosition | undefined;
if (isSelectedStartDate) {
datePosition = 'start';
} else if (isSelectedEndDate) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,12 @@ import {
ExportedUseViewsOptions,
} from '@mui/x-date-pickers/internals';
import { DayRangeValidationProps } from '../internals/models/dateRange';
import { DateRange } from '../models';
import { DateRange, RangePosition } from '../models';
import { DateRangeCalendarClasses } from './dateRangeCalendarClasses';
import { DateRangePickerDay, DateRangePickerDayProps } from '../DateRangePickerDay';
import { UseRangePositionProps } from '../internals/hooks/useRangePosition';
import { PickersRangeCalendarHeaderProps } from '../PickersRangeCalendarHeader';

export type DateRangePosition = 'start' | 'end';

export interface DateRangeCalendarSlots<TDate extends PickerValidDate>
extends PickersArrowSwitcherSlots,
Omit<DayCalendarSlots<TDate>, 'day'>,
Expand Down Expand Up @@ -155,7 +153,7 @@ export interface DateRangeCalendarProps<TDate extends PickerValidDate>
* Used on Date Time Range pickers with current `rangePosition` to force a `finish` selection after just one range position selection.
* @default ['start', 'end']
*/
availableRangePositions?: DateRangePosition[];
availableRangePositions?: RangePosition[];
}

export interface DateRangeCalendarOwnerState<TDate extends PickerValidDate>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import * as React from 'react';
import useEventCallback from '@mui/utils/useEventCallback';
import { MuiPickersAdapter, PickersTimezone, PickerValidDate } from '@mui/x-date-pickers/models';
import { DateRangePosition } from './DateRangeCalendar.types';
import { DateRange } from '../models';
import { DateRange, RangePosition } from '../models';
import { isEndOfRange, isStartOfRange } from '../internals/utils/date-utils';

interface UseDragRangeParams<TDate extends PickerValidDate> {
Expand All @@ -11,7 +10,7 @@ interface UseDragRangeParams<TDate extends PickerValidDate> {
setRangeDragDay: (value: TDate | null) => void;
setIsDragging: (value: boolean) => void;
isDragging: boolean;
onDatePositionChange: (position: DateRangePosition) => void;
onDatePositionChange: (position: RangePosition) => void;
onDrop: (newDate: TDate) => void;
dateRange: DateRange<TDate>;
timezone: PickersTimezone;
Expand All @@ -32,7 +31,7 @@ interface UseDragRangeEvents {
interface UseDragRangeResponse<TDate extends PickerValidDate> extends UseDragRangeEvents {
isDragging: boolean;
rangeDragDay: TDate | null;
draggingDatePosition: DateRangePosition | null;
draggingDatePosition: RangePosition | null;
}

const resolveDateFromTarget = <TDate extends PickerValidDate>(
Expand Down Expand Up @@ -136,7 +135,7 @@ const useDragRangeEvents = <TDate extends PickerValidDate>({
event.dataTransfer.setData('draggingDate', buttonDataset.timestamp);
}
if (buttonDataset.position) {
onDatePositionChange(buttonDataset.position as DateRangePosition);
onDatePositionChange(buttonDataset.position as RangePosition);
}
});

Expand Down Expand Up @@ -188,7 +187,7 @@ const useDragRangeEvents = <TDate extends PickerValidDate>({
const button = event.target as HTMLButtonElement;
const buttonDataset = button.dataset;
if (buttonDataset.position) {
onDatePositionChange(buttonDataset.position as DateRangePosition);
onDatePositionChange(buttonDataset.position as RangePosition);
}
});

Expand Down Expand Up @@ -296,7 +295,7 @@ export const useDragRange = <TDate extends PickerValidDate>({
}
});

const draggingDatePosition: DateRangePosition | null = React.useMemo(() => {
const draggingDatePosition: RangePosition | null = React.useMemo(() => {
const [start, end] = dateRange;
if (rangeDragDay) {
if (start && utils.isBefore(rangeDragDay, start)) {
Expand Down

0 comments on commit ccc2d3b

Please sign in to comment.