@alifd/next
Version:
A configurable component library for web built on React.
69 lines (68 loc) • 2.92 kB
TypeScript
import React, { type KeyboardEvent, type MouseEvent } from 'react';
import PT from 'prop-types';
import { type Dayjs, type ConfigType } from 'dayjs';
import type { CalendarPanelMode, CellData, DateTableProps, DateTableState } from '../types';
declare class DateTable extends React.Component<DateTableProps, DateTableState> {
static propTypes: {
mode: PT.Requireable<CalendarPanelMode>;
value: (props: Record<string, unknown>, propName: string, componentName: string) => Error | null;
panelValue: (props: Record<string, unknown>, propName: string, componentName: string) => Error | null;
dateCellRender: PT.Requireable<(...args: any[]) => any>;
quarterCellRender: PT.Requireable<(...args: any[]) => any>;
monthCellRender: PT.Requireable<(...args: any[]) => any>;
yearCellRender: PT.Requireable<(...args: any[]) => any>;
disabledDate: PT.Requireable<(...args: any[]) => any>;
hoveredState: PT.Requireable<(...args: any[]) => any>;
onSelect: PT.Requireable<(...args: any[]) => any>;
cellClassName: PT.Requireable<NonNullable<string | ((...args: any[]) => any) | null | undefined>>;
colNum: PT.Requireable<number>;
cellProps: PT.Requireable<object>;
};
prefixCls: string;
constructor(props: DateTableProps);
handleSelect(v: Dayjs, e: KeyboardEvent<HTMLElement> | MouseEvent<HTMLElement>, args: Pick<CellData, 'isCurrent' | 'label'>): void;
handleKeyDown(v: Dayjs, e: KeyboardEvent<HTMLElement>, args: Pick<CellData, 'isCurrent' | 'label'>): void;
handleMouseEnter(v: Dayjs, e: MouseEvent<HTMLElement>, args: Pick<CellData, 'isCurrent' | 'label'>): void;
handleMouseLeave(v: Dayjs, e: MouseEvent<HTMLElement>, args: Pick<CellData, 'isCurrent' | 'label'>): void;
isSame(curDate: Dayjs, date: ConfigType, mode: CalendarPanelMode): boolean | undefined;
getCustomRender: (mode: CalendarPanelMode) => import("../types").CustomCellRender | undefined;
/**
* 渲染日期面板
* @param cellData - 单元格数据
*/
renderCellContent(cellData: CellData[]): React.JSX.Element[];
renderWeekdaysHead(): React.JSX.Element;
getDateCellData(): {
value: Dayjs;
label: number;
isCurrent: boolean;
key: string;
}[];
getMonthCellData(): {
label: string;
value: Dayjs;
isCurrent: boolean;
key: string;
}[];
getQuarterCellData(): {
label: string;
value: Dayjs;
isCurrent: boolean;
key: string;
}[];
getYearCellData(): {
value: Dayjs;
label: number;
isCurrent: boolean;
key: number;
}[];
getDecadeData(): {
value: Dayjs;
label: string;
isCurrent: boolean;
key: string;
}[];
render(): React.JSX.Element;
}
declare const _default: typeof DateTable;
export default _default;