react-day-picker
Version:
Customizable Date Picker for React
33 lines (28 loc) • 1.09 kB
text/typescript
import { useDayPicker } from 'contexts/DayPicker';
import { useSelectMultiple } from 'contexts/SelectMultiple';
import { useSelectRange } from 'contexts/SelectRange';
import { useSelectSingle } from 'contexts/SelectSingle';
import { isDayPickerMultiple } from 'types/DayPickerMultiple';
import { isDayPickerRange } from 'types/DayPickerRange';
import { isDayPickerSingle } from 'types/DayPickerSingle';
import { DateRange } from 'types/Matchers';
export type SelectedDays = Date | Date[] | DateRange | undefined;
/**
* Return the current selected days when DayPicker is in selection mode.
*
* Days selected by the custom selection mode are not returned.
*/
export function useSelectedDays(): SelectedDays {
const dayPicker = useDayPicker();
const single = useSelectSingle();
const multiple = useSelectMultiple();
const range = useSelectRange();
const selectedDays = isDayPickerSingle(dayPicker)
? single.selected
: isDayPickerMultiple(dayPicker)
? multiple.selected
: isDayPickerRange(dayPicker)
? range.selected
: undefined;
return selectedDays;
}