UNPKG

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

38 lines (35 loc) 1.63 kB
import { MutableRefObject } from 'react'; import { DateValue } from '@internationalized/date'; import { AriaButtonProps } from '@react-aria/button'; import { AriaDatePickerProps } from '@react-aria/datepicker'; import { DatePickerState } from '@react-stately/datepicker'; import { CalendarProps } from '@react-types/calendar'; import { AriaDialogProps } from '@react-types/dialog'; import { GroupDOMAttributes, DOMAttributes } from '@react-types/shared'; import { TimeInputProps } from '../input/time-input.js'; import { ElementProps } from '../types/common.types.js'; import '../types/theme.types.js'; import '../input/date-field.js'; import '../input/date-input-segment.js'; import '../input/date-input-group.js'; interface UseDatePickerProps<T extends DateValue = DateValue> extends AriaDatePickerProps<T> { dateInputProps?: CalendarProps<T>; calendarProps?: CalendarProps<T>; timeInputProps?: TimeInputProps; } type GetDateInputProps<T extends DateValue = DateValue> = AriaDatePickerProps<T> & { groupProps: GroupDOMAttributes; labelProps: DOMAttributes; }; type UseDatePickerReturn<T extends DateValue> = { ref: MutableRefObject<HTMLDivElement>; state: DatePickerState; getTriggerProps: ElementProps<'button'>; getAriaTriggerProps: AriaButtonProps<'button'>; getDateInputProps: GetDateInputProps<T>; getTimeInputProps: TimeInputProps; getCalendarProps: CalendarProps<T>; getDialogProps: AriaDialogProps; }; declare const useDatePicker: <T extends DateValue>(props?: UseDatePickerProps<T>) => UseDatePickerReturn<T>; export { type UseDatePickerProps, useDatePicker };