baseui
Version:
A React Component library implementing the Base design language
88 lines (87 loc) • 2.94 kB
TypeScript
import * as React from 'react';
import DateHelpers from './utils/date-helpers';
import type { DayProps, DayState } from './types';
import type { Locale } from '../locale';
export default class Day<T = Date> extends React.Component<DayProps<T>, DayState> {
static defaultProps: {
disabled: boolean;
highlighted: boolean;
range: boolean;
adapter: import("./utils/types").DateIOAdapter<Date>;
onClick: () => void;
onSelect: () => void;
onFocus: () => void;
onBlur: () => void;
onMouseOver: () => void;
onMouseLeave: () => void;
overrides: {};
peekNextMonth: boolean;
value: any;
};
dayElm: HTMLElement;
state: {
isHovered: boolean;
isFocusVisible: boolean;
};
dateHelpers: DateHelpers<T>;
constructor(props: DayProps<T>);
componentDidMount(): void;
componentDidUpdate(prevProps: DayProps<T>): void;
getDateProp: () => T;
getMonthProp: () => number;
/**
* Determines how the day value(s) should be updated when a new day is selected.
* Note: time values are incorporated into new day/date values downstream in `Calendar`.
* Note: Situations where Start Dates are after End Dates are handled downstream in `Datepicker`.
* */
onSelect: (a: T) => void;
onKeyDown: (event: KeyboardEvent) => void;
onClick: (event: Event) => void;
onFocus: (event: Event) => void;
onBlur: (event: Event) => void;
onMouseOver: (event: Event) => void;
onMouseLeave: (event: Event) => void;
isOutsideMonth: () => boolean;
getOrderedDates: () => T[];
isOutsideOfMonthButWithinRange: () => boolean;
isSelected(): boolean;
clampToDayStart: (a: T) => T;
isPseudoSelected(): boolean;
isPseudoHighlighted(): boolean;
getSharedProps(): {
$date: T;
$density: "default" | "high";
$disabled: boolean;
$endDate: boolean;
$hasDateLabel: boolean;
$hasRangeHighlighted: boolean;
$hasRangeOnRight: boolean;
$hasRangeSelected: boolean;
$highlightedDate: T;
$isHighlighted: boolean;
$isHovered: boolean;
$isFocusVisible: boolean;
$startOfMonth: boolean;
$endOfMonth: boolean;
$month: number;
$outsideMonth: boolean;
$outsideMonthWithinRange: boolean;
$peekNextMonth: boolean;
$pseudoHighlighted: boolean;
$pseudoSelected: boolean;
$range: boolean;
$selected: boolean;
$startDate: boolean;
$hasLockedBehavior: boolean;
$selectedInput: import("./types").InputRole;
$value: T | T[];
};
getAriaLabel(sharedProps: {
$disabled: boolean;
$range: boolean;
$selected: boolean;
$startDate: boolean;
$endDate: boolean;
}, localeContext: Locale): string;
render(): React.JSX.Element;
}