baseui
Version:
A React Component library implementing the Base design language
58 lines (57 loc) • 2.17 kB
TypeScript
import * as React from 'react';
import type { DateIOAdapter } from './utils/types';
import DateHelpers from './utils/date-helpers';
import type { CalendarProps, CalendarInternalState } from './types';
export default class Calendar<T = Date> extends React.Component<CalendarProps<T>, CalendarInternalState<T>> {
static defaultProps: CalendarProps<unknown> & {
adapter: DateIOAdapter<Date>;
};
dateHelpers: DateHelpers<T>;
calendar: HTMLElement;
constructor(props: CalendarProps<T>);
componentDidMount(): void;
componentDidUpdate(prevProps: CalendarProps<T>): void;
isInView(date: T): boolean;
getSingleDate(value: T | undefined | null | Array<T | undefined | null>): T | undefined | null;
getDateInView: () => T;
handleMonthChange: (a: T) => void;
handleYearChange: (a: T) => void;
changeMonth: (a: {
date: T;
}) => unknown;
changeYear: (a: {
date: T;
}) => unknown;
renderCalendarHeader: (b: T, a: number) => React.ReactNode;
onKeyDown: (event: KeyboardEvent) => void;
handleArrowKey: (key: string) => void;
focusCalendar: () => void;
blurCalendar: () => void;
handleTabbing: (event: KeyboardEvent) => void;
onDayFocus: (a: {
event: Event;
date: T;
}) => unknown;
onDayMouseOver: (a: {
event: Event;
date: T;
}) => unknown;
onDayMouseLeave: (a: {
event: Event;
date: T;
}) => unknown;
/** Responsible for merging time values into date values. Note: the 'Day' component
* determines how the days themselves change when a new day is selected. */
handleDateChange: (a: {
readonly date: T | undefined | null | Array<T | undefined | null>;
}) => void;
handleTimeChange: (time: T, index: number) => void;
setHighlightedDate(date: T): void;
renderMonths: (translations: {
ariaRoleDescCalMonth: string;
}) => React.JSX.Element;
renderTimeSelect: (c: T | undefined | null, b: Function, a: string) => React.ReactNode;
renderQuickSelect: () => React.JSX.Element;
renderActionBar: () => React.JSX.Element;
render(): React.JSX.Element;
}