@veccu/react-calendar
Version:
Headless Calendar UI Library with react hooks
98 lines (97 loc) • 2.62 kB
TypeScript
/// <reference types="react" />
import { CalendarViewType, WeekDayType } from './models';
export interface UseCalendarOptions {
defaultDate?: Date | number | string;
defaultWeekStart?: WeekDayType;
defaultViewType?: CalendarViewType;
}
/**
* @deprecated This package will be replaced with @h6s/calendar
* @see https://github.com/h6s-dev/h6s
*/
export default function useCalendar({ defaultDate, defaultWeekStart, defaultViewType, }?: UseCalendarOptions): {
headers: {
weekDays: ({
value: Date;
} & {
key: string;
})[];
};
body: {
value: {
key: string;
value: ({
value: Date;
} & {
date: number;
isCurrentMonth: boolean;
isCurrentDate: boolean;
isWeekend: boolean;
} & {
key: string;
})[];
}[];
} | {
value: {
key: string;
value: ({
value: Date;
} & {
date: number;
isCurrentMonth: boolean;
isCurrentDate: boolean;
isWeekend: boolean;
} & {
key: string;
})[];
}[];
} | {
value: {
key: string;
value: ({
value: Date;
} & {
date: number;
isCurrentMonth: boolean;
isCurrentDate: boolean;
isWeekend: boolean;
} & {
key: string;
})[];
}[];
};
navigation: {
toNext: () => void;
toPrev: () => void;
setToday: () => void;
setDate: (date: Date) => void;
};
view: {
type: CalendarViewType;
setViewType: import("react").Dispatch<import("react").SetStateAction<CalendarViewType>>;
setWeekStartsOn: import("react").Dispatch<import("react").SetStateAction<WeekDayType>>;
isMonthView: boolean;
isWeekView: boolean;
isDayView: boolean;
showMonthView: () => void;
showWeekView: () => void;
showDayView: () => void;
};
cursorDate: Date;
year: number;
month: number;
day: number;
weekStartsOn: WeekDayType;
startWeekdayInMonth: number;
weeksInMonth: number;
weekendDays: {
value: Date;
}[];
today: {
weekIndex: number;
dateIndex: WeekDayType;
};
getDateCellByIndex: (weekIndex: number, dayIndex: number) => {
value: Date;
};
};