react-day-picker
Version:
Customizable Date Picker for React
26 lines (23 loc) • 706 B
text/typescript
import { useMulti } from "./selection/useMulti.js";
import { useRange } from "./selection/useRange.js";
import { useSingle } from "./selection/useSingle.js";
import type { DateLib, DayPickerProps } from "./types/index.js";
import { Selection } from "./types/selection.js";
export function useSelection<T extends DayPickerProps>(
props: T,
dateLib: DateLib
): Selection<T> | undefined {
const single = useSingle(props, dateLib);
const multi = useMulti(props, dateLib);
const range = useRange(props, dateLib);
switch (props.mode) {
case "single":
return single;
case "multiple":
return multi;
case "range":
return range;
default:
return undefined;
}
}