UNPKG

sard-uniapp

Version:

sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库

426 lines (425 loc) 13.7 kB
import { type StyleValue } from 'vue'; import { type LocaleTranslate } from '../locale'; import { type Bem } from '../../utils'; export type CalendarType = 'single' | 'multiple' | 'range'; export interface CalendarDay { date: Date; disabled: boolean; type: 'same' | 'start' | 'middle' | 'end' | 'selected' | 'normal'; top: string; text: string | number; bottom: string; className?: string; style?: StyleValue; } export interface CalendarProps { rootStyle?: StyleValue; rootClass?: string; type?: CalendarType; modelValue?: Date | Date[] | string | string[]; min?: Date; max?: Date; currentDate?: Date; disabledDate?: (date: Date) => boolean; maxDays?: number; overMaxDays?: () => void; weekStartsOn?: number; formatter?: (day: CalendarDay) => void; allowSameDay?: boolean; severalMonths?: boolean; valueFormat?: string; startDateText?: string; endDateText?: string; sameDateText?: string; } export declare const defaultCalendarProps: { rootStyle?: (string | false | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => string | false | import("vue").CSSProperties | StyleValue[]) | null) | undefined; rootClass?: (string | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => string)) | undefined; type?: (CalendarType | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => "multiple" | "single" | "range")) | undefined; modelValue?: (string | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => string | string[] | Date | Date[])) | undefined; min?: ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => Date) | undefined; max?: ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => Date) | undefined; currentDate?: ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => Date) | undefined; disabledDate?: (((date: Date) => boolean) | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => (date: Date) => boolean)) | undefined; maxDays?: (number | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => number)) | undefined; overMaxDays?: ((() => void) | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => () => void)) | undefined; weekStartsOn?: (number | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => number)) | undefined; formatter?: (((day: CalendarDay) => void) | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => (day: CalendarDay) => void)) | undefined; allowSameDay?: (boolean | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => boolean)) | undefined; severalMonths?: (boolean | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => boolean)) | undefined; valueFormat?: (string | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => string)) | undefined; startDateText?: (string | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => string)) | undefined; endDateText?: (string | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => string)) | undefined; sameDateText?: (string | ((props: { rootStyle: StyleValue; rootClass: string; type: CalendarType; modelValue: Date | Date[] | string | string[]; min: Date; max: Date; currentDate: Date; disabledDate: (date: Date) => boolean; maxDays: number; overMaxDays: () => void; weekStartsOn: number; formatter: (day: CalendarDay) => void; allowSameDay: boolean; severalMonths: boolean; valueFormat: string; startDateText: string; endDateText: string; sameDateText: string; }) => string)) | undefined; }; export interface CalendarEmits { (e: 'update:model-value', value: Date | Date[] | string | string[]): void; (e: 'change', value: Date | Date[] | string | string[]): void; } export interface CalendarMonthProps { year: number; month: number; type: CalendarType; minDate: Date; maxDate: Date; currentDates: Date[]; formatter?: (day: CalendarDay) => void; disabledDate?: (date: Date) => boolean; todayNumber: number; weekStartsOn: number; severalMonths?: boolean; t: LocaleTranslate; bem: Bem; startDateText?: string; endDateText?: string; sameDateText?: string; } export interface CalendarMonthEmits { (e: 'day-click', date: Date): void; } export declare const getMinDate: (severalMonths?: boolean) => Date; export declare const getMaxDate: (severalMonths?: boolean) => Date; export declare const sortDates: (dates: Date[]) => Date[]; export declare const weeksIndex: number[];