react-calendar-kit
Version:
React Calendar Kit is a powerful and flexible library for building accessible and highly customizable calendar and date/time picker components in your React applications. React Calendar Kit provides a solid foundation for creating inclusive user experienc
50 lines (47 loc) • 2.19 kB
text/typescript
import React__default, { MutableRefObject } from 'react';
import { DateValue } from '@internationalized/date';
import { AriaButtonProps } from '@react-aria/button';
import { AriaDateRangePickerProps } from '@react-aria/datepicker';
import { DateRangePickerState } from '@react-stately/datepicker';
import { CalendarProps } from '@react-types/calendar';
import { AriaDialogProps } from '@react-types/dialog';
import { GroupDOMAttributes, DOMAttributes } from '@react-types/shared';
import { ElementProps } from '../types/common.types.mjs';
import { RangeCalendarProps } from '../calendar/range-calendar.mjs';
import { DateRangeFieldProps } from '../input/date-range-field.mjs';
import { TimeInputProps } from '../input/time-input.mjs';
import '../calendar-ClXhr701.mjs';
import '@react-aria/calendar';
import '../calendar/calendar-context.mjs';
import '@react-stately/calendar';
import '../types/theme.types.mjs';
import '../input/date-field.mjs';
import '../input/date-input-segment.mjs';
import '../input/date-input-group.mjs';
interface UseDateRangePickerProps<T extends DateValue = DateValue> extends AriaDateRangePickerProps<T> {
dateInputProps?: CalendarProps<T>;
calendarProps?: RangeCalendarProps<T>;
timeInputProps?: TimeInputProps;
}
type UseDateRangePickerReturn<T extends DateValue = DateValue> = {
ref: MutableRefObject<HTMLDivElement>;
state: DateRangePickerState;
getTriggerProps: ElementProps<'button'>;
getAriaTriggerProps: AriaButtonProps<'button'>;
getDateRangeProps: {
state: DateRangePickerState;
label?: React__default.ReactNode;
groupProps: GroupDOMAttributes;
labelProps: DOMAttributes;
getStartDateFieldProps: DateRangeFieldProps<T>;
getEndDateFieldProps: DateRangeFieldProps<T>;
};
getTimeInputRangeProps: {
getStartTimeInputProps: TimeInputProps;
getEndTimeInputProps: TimeInputProps;
};
getCalendarProps: RangeCalendarProps<T>;
getDialogProps: AriaDialogProps;
};
declare const useDateRangePicker: <T extends DateValue>(props?: UseDateRangePickerProps<T>) => UseDateRangePickerReturn<T>;
export { type UseDateRangePickerProps, useDateRangePicker };