UNPKG

vue-devui

Version:

DevUI components based on Vite and Vue3

223 lines (222 loc) 6.93 kB
import type { ComputedRef, ExtractPropTypes, PropType, Ref } from 'vue'; import type { Dayjs } from 'dayjs'; import { ArrType } from '../../time-picker/src/types'; import type { InputSize } from '../../input/src/input-types'; export declare const datePickerProCommonProps: { format: { type: StringConstructor; }; showTime: { type: BooleanConstructor; default: boolean; }; size: { type: PropType<InputSize>; default: string; }; disabled: { type: BooleanConstructor; default: boolean; }; calendarRange: { type: PropType<number[]>; default: number[]; }; limitDateRange: { type: PropType<Date[]>; }; type: { type: StringConstructor; default: string; }; }; export declare const datePickerProProps: { readonly format: { type: StringConstructor; }; readonly showTime: { type: BooleanConstructor; default: boolean; }; readonly size: { type: PropType<InputSize>; default: string; }; readonly disabled: { type: BooleanConstructor; default: boolean; }; readonly calendarRange: { type: PropType<number[]>; default: number[]; }; readonly limitDateRange: { type: PropType<Date[]>; }; readonly type: { type: StringConstructor; default: string; }; readonly modelValue: { readonly type: PropType<string | Date>; readonly default: ""; }; readonly placeholder: { readonly type: StringConstructor; readonly default: ""; }; }; export declare type DatePickerProProps = ExtractPropTypes<typeof datePickerProProps>; export interface UseDatePickerProReturnType { originRef: Ref<HTMLElement | undefined>; inputRef: Ref<HTMLElement | undefined>; overlayRef: Ref<HTMLElement | undefined>; isPanelShow: Ref<boolean>; placeholder: ComputedRef<string>; format: ComputedRef<string>; dateValue: ComputedRef<Dayjs | undefined>; displayDateValue: ComputedRef<string>; isMouseEnter: Ref<boolean>; showCloseIcon: ComputedRef<boolean>; pickerDisabled: ComputedRef<boolean>; pickerSize: ComputedRef<'sm' | 'md' | 'lg'>; isValidateError: ComputedRef<boolean>; onFocus: (e: MouseEvent) => void; onSelectedDate: (date: Dayjs, isConfirm?: boolean) => void; handlerClearTime: (e: MouseEvent) => void; } export interface CalendarDateItem { day: string; date: Date; inMonth: boolean; isToday: boolean; isActive?: boolean; } export interface YearAndMonthItem { year: number; month?: number; isMonth?: boolean; active?: boolean; displayWeeks?: CalendarDateItem[][]; } export interface UseDatePickerReturnType { calendarPanelRef: Ref<HTMLElement | undefined>; timeData: Ref<string>; onSelectedDate: (date: Dayjs) => void; handlerConfirm: () => void; handlerSelectedTime: (time: string) => void; onChangeRangeFocusType: (type: string) => void; } export interface UseCalendarPanelReturnType { yearScrollRef: Ref<HTMLElement | undefined>; monthScrollRef: Ref<HTMLElement | undefined>; yearAndMonthList: Ref<YearAndMonthItem[]>; allMonthList: Ref<YearAndMonthItem[]>; isListCollapse: Ref<boolean>; handlerSelectDate: (day: CalendarDateItem) => void; handlerYearCollapse: (date?: Date) => void; handlerClickMonth: (year: number, month: number | undefined) => void; handleScrollMonthList: (e: UIEvent) => void; isDateSelected: (date: Date) => boolean; isStartDate: (date: Date) => boolean; isInRangeDate: (date: Date) => boolean; isEndDate: (date: Date) => boolean; isDisabled: (date: Date) => boolean; } export declare const datePickerProPanelProps: { readonly format: { type: StringConstructor; }; readonly showTime: { type: BooleanConstructor; default: boolean; }; readonly size: { type: PropType<InputSize>; default: string; }; readonly disabled: { type: BooleanConstructor; default: boolean; }; readonly calendarRange: { type: PropType<number[]>; default: number[]; }; readonly limitDateRange: { type: PropType<Date[]>; }; readonly type: { type: StringConstructor; default: string; }; readonly visible: { readonly type: BooleanConstructor; readonly default: false; }; readonly dateValue: { readonly type: PropType<Dayjs | (Dayjs | undefined)[] | undefined>; }; readonly isRangeType: { readonly type: BooleanConstructor; readonly default: false; }; readonly focusType: { readonly type: StringConstructor; readonly default: "start"; }; }; export declare type DatePickerProPanelProps = ExtractPropTypes<typeof datePickerProPanelProps>; export interface TimePickerItem { activeHour: Ref<string>; activeMinute: Ref<string>; activeSecond: Ref<string>; } export declare const timerPickerPanelProps: { readonly visible: { readonly type: BooleanConstructor; readonly default: false; }; readonly bindData: { readonly type: StringConstructor; readonly default: ""; }; }; export declare type TimerPickerPanelProps = ExtractPropTypes<typeof timerPickerPanelProps>; export interface UseTimePickerPanelReturnType { timeListDom: Ref<HTMLElement | undefined>; hourList: Array<ArrType>; minuteList: Array<ArrType>; secondList: Array<ArrType>; handlerTimeSelected: (date: TimePickerItem) => void; } export interface UseYearCalendarPanelReturnType { yarListScrollRef: Ref<HTMLElement | undefined>; yearList: Ref<number[][]>; getYearItemCls: (year: number) => Record<string, boolean>; handlerSelectYear: (year: number) => void; } export interface UseCalendarSelectedReturnType { today: Ref<Date>; calendarRange: Ref<number[]>; selectDate: Ref<Dayjs | undefined>; rangeSelectDate: Ref<(Dayjs | undefined)[]>; minDate: ComputedRef<Date>; maxDate: ComputedRef<Date>; fixRangeDate: () => void; getToDate: (dateValue: Dayjs | undefined | (Dayjs | undefined)[]) => Dayjs | undefined; emitSelectedDate: () => void; isStartDate: (date: Date) => boolean; isInRangeDate: (date: Date) => boolean; isEndDate: (date: Date) => boolean; } export interface UseMonthCalendarPanelReturnType { yearScrollRef: Ref<HTMLElement | undefined>; monthScrollRef: Ref<HTMLElement | undefined>; yearList: Ref<YearAndMonthItem[]>; monthList: number[][]; handlerSelectYear: (year: number) => void; handlerMonthScroll: (e: MouseEvent) => void; getMonthItemCls: (year: number, month: number) => Record<string, boolean>; handlerSelectMonth: (year: number, month: number) => void; }