diff --git a/types/calendar.d.ts b/types/calendar.d.ts index 5fb2bdb4c..6fb8cd202 100644 --- a/types/calendar.d.ts +++ b/types/calendar.d.ts @@ -4,86 +4,120 @@ import { AntdComponent } from './component'; import { Moment } from 'moment'; +import { VNodeChild } from 'vue'; + export interface RenderHeader { value: Moment; onChange?: (value: Moment) => void; type: string; - onTypeChange: (type: string) => void; + onTypeChange?: (type: string) => void; } + export declare class Calendar extends AntdComponent { - headerRender: (headerRender: RenderHeader) => any; - /** - * Customize the display of the date cell by setting a scoped slot, - * the returned content will be appended to the cell - * @type Function - */ - dateCellRender: (date: Moment) => any; + $props: { + /** + * render custom header in panel + * @param headerRender + * @version 1.5.0 + */ + headerRender?: (headerRender: RenderHeader) => VNodeChild | JSX.Element; + /** + * Customize the display of the date cell by setting a scoped slot, + * the returned content will be appended to the cell + * @type Function + */ + dateCellRender?: (date: Moment) => VNodeChild | JSX.Element; - /** - * Customize the display of the date cell by setting a scoped slot, - * the returned content will override the cell - * @type Function - */ - dateFullCellRender: (date: Moment) => any; + /** + * Customize the display of the date cell by setting a scoped slot, + * the returned content will override the cell + * @type Function + */ + dateFullCellRender?: (date: Moment) => VNodeChild | JSX.Element; - /** - * The date selected by default - * @default default date - * @type Moment - */ - defaultValue: Moment | string; + /** + * The date selected by default + * @default default date + * @type Moment + */ + defaultValue?: Moment | string; - /** - * Function that specifies the dates that cannot be selected - * @type Function - */ - disabledDate: (currentDate: Moment) => boolean; + /** + * Function that specifies the dates that cannot be selected + * @type Function + */ + disabledDate?: (currentDate: Moment) => boolean; - /** - * Whether to display in full-screen - * @default true - * @type boolean - */ - fullscreen: boolean; + /** + * Whether to display in full-screen + * @default true + * @type boolean + */ + fullscreen?: boolean; - /** - * The calendar's locale - * @default [default] - * @type object - * @see https://github.com/vueComponent/ant-design-vue/blob/master/components/date-picker/locale/example.json - */ - locale: object; + /** + * The calendar's locale + * @default [default] + * @type object + * @see https://github.com/vueComponent/ant-design-vue/blob/master/components/date-picker/locale/example.json + */ + locale?: object; - /** - * The display mode of the calendar - * @default 'month' - * @type string - */ - mode: 'month' | 'year'; + /** + * The display mode of the calendar + * @default 'month' + * @type string + */ + mode?: 'month' | 'year'; - /** - * Customize the display of the month cell by setting a scoped slot, the returned content will be appended to the cell - * @type Function - */ - monthCellRender: (date: Moment) => any; + /** + * Customize the display of the month cell by setting a scoped slot, the returned content will be appended to the cell + * @type Function + */ + monthCellRender?: (date: Moment) => VNodeChild | JSX.Element; - /** - * Customize the display of the month cell by setting a scoped slot, the returned content will override the cell - * @type Function - */ - monthFullCellRender: (date: Moment) => any; + /** + * Customize the display of the month cell by setting a scoped slot, the returned content will override the cell + * @type Function + */ + monthFullCellRender?: (date: Moment) => VNodeChild | JSX.Element; - /** - * to set valid range - * @type [Moment, Moment] - */ - validRange: [Moment, Moment]; + /** + * to set valid range + * @type [Moment, Moment] + */ + validRange?: [Moment, Moment]; - /** - * The current selected date - * @default current date - * @type Moment - */ - value: Moment | string; - valueFormat: string; + /** + * The current selected date + * @default current date + * @type Moment + */ + value?: Moment | string; + /** + * optional, format of binding value. If not specified, + * the binding value will be a Date object + * @version 1.5.4 + */ + valueFormat?: string; + + /** + * Callback for when panel changes + * @param date + * @param mode + */ + onPanelChange?: (date?: Moment | string, mode?: string) => void; + + /** + * Callback for when a date is selected + * @param date + */ + onSelect?: (date?: Moment | string) => void; + + /** + * Callback for when value change + * @param date + */ + onChange?: (date?: Moment | string) => void; + }; }