UNPKG

@fesjs/fes-design

Version:
61 lines (60 loc) 1.84 kB
import type { PropType, SlotsType } from 'vue'; import type { ComponentInnerProps, ComponentSlots, ExtractPublicPropTypes } from '../_util/interface'; import type { UnixTime } from './types'; /** * Calendar 显示模式 * * month - 月历 * date - 日历 */ export type CalendarMode = 'month' | 'date'; export interface CalendarShortcut { label: string; time: UnixTime | (() => UnixTime); } export declare const calendarProps: { /** 当前高亮标记的日期 */ readonly modelValue: { readonly type: PropType<number>; readonly default: () => number; }; /** 显示模式 */ readonly mode: { readonly type: PropType<CalendarMode>; readonly default: "date"; readonly validator: (value: unknown) => boolean; }; /** 是否展示分割线 */ readonly splitLine: { readonly type: BooleanConstructor; readonly default: true; }; /** 组件高度 */ readonly height: { readonly type: PropType<string | number>; }; /** 快捷选项 */ readonly shortcuts: { readonly type: PropType<CalendarShortcut[]>; readonly default: () => CalendarShortcut[]; }; }; export type CalendarProps = ExtractPublicPropTypes<typeof calendarProps>; export type CalendarInnerProps = ComponentInnerProps<typeof calendarProps>; export declare const CalendarEvent: { readonly UPDATE_MODEL: "update:modelValue"; readonly UPDATE_MODE: "update:mode"; readonly CELL_CLICK: "cellClick"; }; export type CalendarSlotsParams = { cellMain: { date: UnixTime; mode: CalendarMode; }; cellAppendant: { date: UnixTime; mode: CalendarMode; }; }; export type CalendarSlots = SlotsType<CalendarSlotsParams>; export type CalendarUnboxSlots = ComponentSlots<CalendarSlotsParams>;