import React from 'react'; import { CalendarProps } from 'antd'; import { Moment } from 'moment'; export type DateType = Moment; export type CalendarMode = 'year' | 'month'; export type HeaderConfig = { value: DateType; type: CalendarMode; onChange: (date: DateType) => void; onTypeChange: (type: CalendarMode) => void; }; export type HeaderRender = (config: HeaderConfig) => React.ReactNode; interface BaseCalendarProps extends CalendarProps { /** 设置可以显示的日期 */ validRange?: [DateType, DateType]; /** 不可选择的日期,参数为当前 value,注意使用时不要直接修改 */ disabledDate?: (date: DateType) => boolean; /** 自定义渲染日期单元格,返回内容覆盖单元格 */ dateFullCellRender?: (date: DateType) => React.ReactNode; /** 自定义渲染日期单元格,返回内容会被追加到单元格 */ dateCellRender?: (date: DateType) => React.ReactNode; /** 自定义渲染月单元格,返回内容覆盖单元格 */ monthFullCellRender?: (date: DateType) => React.ReactNode; /** 自定义渲染月单元格,返回内容会被追加到单元格 */ monthCellRender?: (date: DateType) => React.ReactNode; /** 自定义头部内容 */ headerRender?: HeaderRender; /** 卡片模式 */ isCard?: boolean; /** 展示日期 */ value?: DateType; /** 默认展示的日期 */ defaultValue?: DateType; /** 初始模式 */ mode?: CalendarMode; /** 是否全屏显示 */ fullscreen?: boolean; /** 日期变化回调 */ onChange?: (date: DateType) => void; /** 日期面板变化回调 */ onPanelChange?: (date: DateType, mode: CalendarMode) => void; /** 点击选择日期回调 */ onSelect?: (date: DateType) => void; } export type FRCCalendarProps = BaseCalendarProps; export declare const Calendar: React.ForwardRefExoticComponent>; export default Calendar;