@quasar/quasar-ui-qcalendar
Version:
QCalendar - Day/Month/Week Calendars, Popups, Date Pickers, Schedules, Agendas, Planners and Tasks for your Vue Apps
147 lines (146 loc) • 5.11 kB
TypeScript
import { Ref, PropType } from 'vue';
import { createNativeLocaleFormatter, Timestamp } from '../utils/Timestamp';
export interface CommonProps {
modelValue: string;
weekdays: number[];
dateType: 'round' | 'rounded' | 'square';
weekdayAlign: 'left' | 'center' | 'right';
dateAlign: 'left' | 'center' | 'right';
bordered: boolean;
dark: boolean;
noAria: boolean;
noActiveDate: boolean;
noHeader: boolean;
noScroll: boolean;
shortWeekdayLabel: boolean;
noDefaultHeaderText: boolean;
noDefaultHeaderBtn: boolean;
minWeekdayLabel: number | string;
weekdayBreakpoints: number[];
locale: string;
animated: boolean;
transitionPrev: string;
transitionNext: string;
disabledDays?: string[];
disabledBefore?: string;
disabledAfter?: string;
disabledWeekdays?: number[];
dragEnterFunc?: (_event: Event, _type: string, _scope: any) => boolean;
dragOverFunc?: (_event: Event, _type: string, _scope: any) => boolean;
dragLeaveFunc?: (_event: Event, _type: string, _scope: any) => boolean;
dropFunc?: (_event: Event, _type: string, _scope: any) => boolean;
selectedDates: string[] | Set<string>;
selectedStartEndDates: string[];
hoverable: boolean;
focusable: boolean;
focusType: ('day' | 'date' | 'weekday' | 'interval' | 'time' | 'resource' | 'task')[];
}
export declare const useCommonProps: {
modelValue: {
type: StringConstructor;
default: string;
validator: (v: string) => boolean;
};
weekdays: {
type: () => number[];
default: () => number[];
};
dateType: {
type: () => "round" | "rounded" | "square";
default: string;
validator: (v: string) => boolean;
};
weekdayAlign: {
type: () => "left" | "center" | "right";
default: string;
validator: (v: string) => boolean;
};
dateAlign: {
type: () => "left" | "center" | "right";
default: string;
validator: (v: string) => boolean;
};
bordered: BooleanConstructor;
dark: BooleanConstructor;
noAria: BooleanConstructor;
noActiveDate: BooleanConstructor;
noHeader: BooleanConstructor;
noScroll: BooleanConstructor;
shortWeekdayLabel: BooleanConstructor;
noDefaultHeaderText: BooleanConstructor;
noDefaultHeaderBtn: BooleanConstructor;
minWeekdayLabel: {
type: PropType<number | string>;
default: number;
};
weekdayBreakpoints: {
type: () => number[];
default: () => number[];
validator: (v: number[]) => boolean;
};
locale: {
type: StringConstructor;
default: string;
};
animated: BooleanConstructor;
transitionPrev: {
type: StringConstructor;
default: string;
};
transitionNext: {
type: StringConstructor;
default: string;
};
disabledDays: () => string[];
disabledBefore: StringConstructor;
disabledAfter: StringConstructor;
disabledWeekdays: {
type: () => number[];
default: () => string[] | Set<string>;
};
dragEnterFunc: PropType<(_event: Event, _type: string, _scope: any) => boolean>;
dragOverFunc: PropType<(_event: Event, _type: string, _scope: any) => boolean>;
dragLeaveFunc: PropType<(_event: Event, _type: string, _scope: any) => boolean>;
dropFunc: PropType<(_event: Event, _type: string, _scope: any) => boolean>;
selectedDates: {
type: PropType<string[] | Set<string>>;
default: () => string[] | Set<string>;
};
selectedStartEndDates: {
type: () => string[];
default: () => string[];
};
hoverable: BooleanConstructor;
focusable: BooleanConstructor;
focusType: {
type: () => ("day" | "date" | "weekday" | "interval" | "time" | "resource" | "task")[];
default: () => ("day" | "date" | "weekday" | "interval" | "time" | "resource" | "task")[];
validator: (v: string[]) => boolean;
};
};
export interface CommonReturn {
parsedStart: Ref<Timestamp>;
parsedEnd: Ref<Timestamp>;
dayFormatter: Ref<ReturnType<typeof createNativeLocaleFormatter>>;
weekdayFormatter: Ref<ReturnType<typeof createNativeLocaleFormatter>>;
ariaDateFormatter: Ref<ReturnType<typeof createNativeLocaleFormatter>>;
arrayHasDate: (_arr: string[], _timestamp: Timestamp) => boolean;
checkDays: (_arr: string[], _timestamp: Timestamp) => {
firstDay: boolean;
betweenDays: boolean;
lastDay: boolean;
};
getRelativeClasses: (_timestamp: Timestamp, _outside?: boolean, _selectedDays?: string[], _startEndDays?: string[], _hover?: boolean) => Record<string, boolean>;
startOfWeek: (_timestamp: Timestamp) => Timestamp;
endOfWeek: (_timestamp: Timestamp) => Timestamp;
dayStyleDefault: ({ scope }: {
scope: any;
}) => {};
}
export default function useCommon(props: CommonProps, { startDate, endDate, times, }: {
startDate: Ref<string>;
endDate: Ref<string>;
times: {
today: Timestamp;
};
}): CommonReturn;