UNPKG

@vuetify/nightly

Version:

Vue Material Component Framework

1,011 lines (1,007 loc) • 338 kB
// Styles import { validateTimestamp } from './util/timestamp.js'; // Types import type { PropType } from 'vue'; import type { CalendarCategory, CalendarCategoryTextFunction, CalendarDayBodySlotScope, CalendarDaySlotScope, CalendarEvent, CalendarEventParsed, CalendarTimestamp } from './types.js'; import type { GenericProps, JSXComponent } from '../../util/index.js'; // Types interface VCalendarRenderProps { start: CalendarTimestamp; end: CalendarTimestamp; component: JSXComponent & { filterProps: <T>(props: T) => Partial<T>; }; maxDays: number; categories: CalendarCategory[]; } interface EventSlotScope { event: CalendarEvent; outside: boolean; singline: boolean; overlapsNoon: boolean; formatTime: (withTime: CalendarTimestamp, ampm: boolean) => string; timeSummary: () => string; eventSummary: () => JSX.Element; eventParsed: CalendarEventParsed; day: CalendarDaySlotScope; start: boolean; end: boolean; timed: boolean; } interface DaySlotScope extends CalendarTimestamp { outside: boolean; index: number; week: CalendarTimestamp[]; } interface DayHeaderSlotScope extends CalendarTimestamp { index: number; week: CalendarTimestamp[]; } interface CalendarDayCategorySlotScope extends CalendarDayBodySlotScope { category: CalendarCategory; } export declare const VCalendar: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ start: string | number | Date; weekdays: string | number[]; weekdayFormat: import("./types.js").CalendarFormatter; dayFormat: import("./types.js").CalendarFormatter; type: "4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week"; events: CalendarEvent[]; eventStart: string; eventEnd: string; eventTimed: string | import("./types.js").CalendarEventTimedFunction; eventCategory: string | import("./types.js").CalendarEventCategoryFunction; eventHeight: number; eventColor: string | import("./types.js").CalendarEventColorFunction; eventName: string | import("./types.js").CalendarEventNameFunction; eventOverlapThreshold: string | number; eventOverlapMode: "column" | "stack" | import("./types.js").CalendarEventOverlapMode; eventMore: boolean; eventMoreText: string; eventRipple: boolean | Record<string, any>; eventMarginBottom: number; categoryDays: string | number; categories: string | CalendarCategory[]; maxDays: number; categoryHideDynamic: boolean; categoryShowAll: boolean; categoryForInvalid: string; } & { end?: string | number | Date | undefined; locale?: string | undefined; now?: string | undefined; eventTextColor?: string | import("./types.js").CalendarEventColorFunction | undefined; modelValue?: string | number | Date | undefined; categoryText?: string | CalendarCategoryTextFunction | undefined; }, { times: { now: { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; }; today: { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; }; }; locale: { name: string; decimalSeparator: import("vue").ShallowRef<string>; messages: import("vue").Ref<import("../../types.js").LocaleMessages, import("../../types.js").LocaleMessages>; current: import("vue").Ref<string, string>; fallback: import("vue").Ref<string, string>; t: (key: string, ...params: unknown[]) => string; n: (value: number) => string; provide: (props: import("../../types.js").LocaleOptions) => import("../../types.js").LocaleInstance; isRtl: import("vue").Ref<boolean, boolean>; rtl: import("vue").Ref<Record<string, boolean>, Record<string, boolean>>; rtlClasses: import("vue").Ref<string, string>; }; parsedValue: import("vue").ComputedRef<CalendarTimestamp>; parsedWeekdays: import("vue").ComputedRef<number[]>; effectiveWeekdays: import("vue").ComputedRef<number[]>; weekdaySkips: import("vue").ComputedRef<number[]>; parsedStart: import("vue").ComputedRef<CalendarTimestamp>; parsedEnd: import("vue").ComputedRef<CalendarTimestamp>; days: import("vue").ComputedRef<CalendarTimestamp[]>; dayFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; weekdayFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; getColorProps: (colors: { background?: import("../../composables/color.js").ColorValue; text?: import("../../composables/color.js").ColorValue; }) => { class: string[]; style: import("vue").CSSProperties; }; getRelativeClasses: (timestamp: CalendarTimestamp, outside?: boolean) => { "v-present": boolean; "v-past": boolean; "v-future": boolean; "v-outside": boolean; }; getStartOfWeek: (timestamp: CalendarTimestamp) => CalendarTimestamp; getEndOfWeek: (timestamp: CalendarTimestamp) => CalendarTimestamp; getFormatter: (options: Intl.DateTimeFormatOptions) => import("./types.js").CalendarFormatter; noEvents: import("vue").ComputedRef<boolean>; parsedEvents: import("vue").ComputedRef<CalendarEventParsed[]>; parsedEventOverlapThreshold: import("vue").ComputedRef<number>; eventTimedFunction: import("vue").ComputedRef<import("./types.js").CalendarEventTimedFunction>; eventCategoryFunction: import("vue").ComputedRef<import("./types.js").CalendarEventCategoryFunction>; eventTextColorFunction: import("vue").ComputedRef<import("./types.js").CalendarEventColorFunction>; eventNameFunction: import("vue").ComputedRef<import("./types.js").CalendarEventNameFunction>; eventModeFunction: import("vue").ComputedRef<import("./types.js").CalendarEventOverlapMode>; eventColorFunction: (e: CalendarEvent) => string | undefined; eventsRef: import("vue").Ref<HTMLElement[], HTMLElement[]>; updateEventVisibility: () => void; getEventsMap: () => { [date: string]: { parent: HTMLElement; more: HTMLElement | null; events: HTMLElement[]; }; }; genDayEvent: ({ event }: import("./types.js").CalendarEventVisual, day: CalendarDaySlotScope) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>; genTimedEvent: ({ event, left, width }: import("./types.js").CalendarEventVisual, day: CalendarDayBodySlotScope) => false | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>; genEvent: (event: CalendarEventParsed, scopeInput: import("./composables/calendarWithEvents.js").VEventScopeInput, timedEvent: boolean, data: Record<string, unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>; genName: (eventSummary: () => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>; genPlaceholder: (day: CalendarTimestamp) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>; genMore: (day: CalendarDaySlotScope) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>; getVisibleEvents: () => CalendarEventParsed[]; isEventForCategory: (event: CalendarEventParsed, category: CalendarCategory) => boolean; getEventsForDay: (day: CalendarDaySlotScope) => CalendarEventParsed[]; getEventsForDayAll: (day: CalendarDaySlotScope) => CalendarEventParsed[]; getEventsForDayTimed: (day: CalendarDaySlotScope) => CalendarEventParsed[]; getScopedSlots: () => any; lastStart: import("vue").Ref<{ date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; } | null, CalendarTimestamp | { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; } | null>; lastEnd: import("vue").Ref<{ date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; } | null, CalendarTimestamp | { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; } | null>; parsedCategoryDays: import("vue").ComputedRef<number>; renderProps: import("vue").ComputedRef<VCalendarRenderProps>; eventWeekdays: import("vue").ComputedRef<number[]>; categoryMode: import("vue").ComputedRef<boolean>; title: import("vue").ComputedRef<string>; monthLongFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; monthShortFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; parsedCategories: import("vue").ComputedRef<CalendarCategory[]>; checkChange: () => void; move: (amount?: number) => void; next: (amount?: number) => void; prev: (amount?: number) => void; getCategoryList: (categories: CalendarCategory[]) => CalendarCategory[]; } & Omit<Omit<{ $: import("vue").ComponentInternalInstance; $data: {}; $props: Partial<{ start: string | number | Date; weekdays: string | number[]; weekdayFormat: import("./types.js").CalendarFormatter; dayFormat: import("./types.js").CalendarFormatter; type: "4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week"; maxDays: number; intervalHeight: string | number; intervalWidth: string | number; intervalMinutes: string | number; firstInterval: string | number; intervalCount: string | number; intervalFormat: import("./types.js").CalendarFormatter; intervalStyle: (interval: CalendarTimestamp) => import("vue").StyleValue; showIntervalLabel: (interval: CalendarTimestamp) => boolean; shortWeekdays: boolean; shortIntervals: boolean; hideHeader: boolean; }> & Omit<{ readonly start: string | number | Date; readonly end?: string | number | Date | undefined; readonly weekdays: string | number[]; readonly weekdayFormat: import("./types.js").CalendarFormatter; readonly dayFormat: import("./types.js").CalendarFormatter; readonly locale?: string | undefined; readonly now?: string | undefined; readonly type: "4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week"; readonly maxDays: number; readonly intervalHeight: string | number; readonly intervalWidth: string | number; readonly intervalMinutes: string | number; readonly firstInterval: string | number; readonly firstTime?: import("./util/timestamp.js").VTime | undefined; readonly intervalCount: string | number; readonly intervalFormat: import("./types.js").CalendarFormatter; readonly intervalStyle: (interval: CalendarTimestamp) => import("vue").StyleValue; readonly showIntervalLabel: (interval: CalendarTimestamp) => boolean; readonly color?: string | undefined; readonly shortWeekdays: boolean; readonly shortIntervals: boolean; readonly hideHeader: boolean; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "dayFormat" | "firstInterval" | "hideHeader" | "intervalCount" | "intervalFormat" | "intervalHeight" | "intervalMinutes" | "intervalStyle" | "intervalWidth" | "maxDays" | "shortIntervals" | "shortWeekdays" | "showIntervalLabel" | "start" | "type" | "weekdayFormat" | "weekdays">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import("vue").Slot<any> | undefined; }>; $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions>, {}, {}, "", {}, any> | null; $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions>, {}, {}, "", {}, any> | null; $host: Element | null; $emit: (event: string, ...args: any[]) => void; $el: any; $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{ start: { type: (DateConstructor | NumberConstructor | StringConstructor)[]; validate: typeof validateTimestamp; default: () => string; }; end: { type: (DateConstructor | NumberConstructor | StringConstructor)[]; validate: typeof validateTimestamp; }; weekdays: { type: PropType<string | number[]>; default: () => number[]; validate: typeof import("./util/timestamp.js").validateWeekdays; }; weekdayFormat: { type: PropType<import("./types.js").CalendarFormatter>; default: null; }; dayFormat: { type: PropType<import("./types.js").CalendarFormatter>; default: null; }; locale: StringConstructor; now: { type: StringConstructor; validator: typeof validateTimestamp; }; type: { type: PropType<"4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week">; default: string; }; maxDays: { type: NumberConstructor; default: number; }; intervalHeight: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; intervalWidth: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; intervalMinutes: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; firstInterval: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; firstTime: { type: PropType<import("./util/timestamp.js").VTime>; validate: typeof import("./util/timestamp.js").validateTime; }; intervalCount: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; intervalFormat: { type: PropType<import("./types.js").CalendarFormatter>; default: null; }; intervalStyle: { type: PropType<(interval: CalendarTimestamp) => import("vue").StyleValue>; default: null; }; showIntervalLabel: { type: PropType<(interval: CalendarTimestamp) => boolean>; default: null; }; color: StringConstructor; shortWeekdays: { type: BooleanConstructor; default: boolean; }; shortIntervals: { type: BooleanConstructor; default: boolean; }; hideHeader: BooleanConstructor; }>>, { times: { now: { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; }; today: { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; }; }; locale: { name: string; decimalSeparator: import("vue").ShallowRef<string>; messages: import("vue").Ref<import("../../types.js").LocaleMessages, import("../../types.js").LocaleMessages>; current: import("vue").Ref<string, string>; fallback: import("vue").Ref<string, string>; t: (key: string, ...params: unknown[]) => string; n: (value: number) => string; provide: (props: import("../../types.js").LocaleOptions) => import("../../types.js").LocaleInstance; isRtl: import("vue").Ref<boolean, boolean>; rtl: import("vue").Ref<Record<string, boolean>, Record<string, boolean>>; rtlClasses: import("vue").Ref<string, string>; }; parsedValue: import("vue").ComputedRef<CalendarTimestamp>; parsedWeekdays: import("vue").ComputedRef<number[]>; effectiveWeekdays: import("vue").ComputedRef<number[]>; weekdaySkips: import("vue").ComputedRef<number[]>; parsedStart: import("vue").ComputedRef<CalendarTimestamp>; parsedEnd: import("vue").ComputedRef<CalendarTimestamp>; dayFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; weekdayFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; getColorProps: (colors: { background?: import("../../composables/color.js").ColorValue; text?: import("../../composables/color.js").ColorValue; }) => { class: string[]; style: import("vue").CSSProperties; }; getRelativeClasses: (timestamp: CalendarTimestamp, outside?: boolean) => { "v-present": boolean; "v-past": boolean; "v-future": boolean; "v-outside": boolean; }; getStartOfWeek: (timestamp: CalendarTimestamp) => CalendarTimestamp; getEndOfWeek: (timestamp: CalendarTimestamp) => CalendarTimestamp; getFormatter: (options: Intl.DateTimeFormatOptions) => import("./types.js").CalendarFormatter; scrollAreaRef: import("vue").ShallowRef<HTMLElement | undefined, HTMLElement | undefined>; parsedFirstInterval: import("vue").ComputedRef<number>; parsedIntervalMinutes: import("vue").ComputedRef<number>; parsedIntervalCount: import("vue").ComputedRef<number>; parsedIntervalHeight: import("vue").ComputedRef<number>; parsedFirstTime: import("vue").ComputedRef<number | false>; firstMinute: import("vue").ComputedRef<number>; bodyHeight: import("vue").ComputedRef<number>; days: import("vue").ComputedRef<CalendarTimestamp[]>; intervals: import("vue").ComputedRef<CalendarTimestamp[][]>; intervalFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; showIntervalLabelDefault: (interval: CalendarTimestamp) => boolean; intervalStyleDefault: (_interval: CalendarTimestamp) => import("vue").StyleValue; getTimestampAtEvent: (e: Event, day: CalendarTimestamp) => CalendarTimestamp; getSlotScope: (timestamp: CalendarTimestamp) => CalendarDayBodySlotScope; scrollToTime: (time: import("./util/timestamp.js").VTime) => boolean; minutesToPixels: (minutes: number) => number; timeToY: (time: import("./util/timestamp.js").VTime, clamp?: boolean) => number | false; timeDelta: (time: import("./util/timestamp.js").VTime) => number | false; scrollPush: import("vue").Ref<number, number>; pane: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>; init: () => void; onResize: () => void; getScrollPush: () => number; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, { start: string | number | Date; weekdays: string | number[]; weekdayFormat: import("./types.js").CalendarFormatter; dayFormat: import("./types.js").CalendarFormatter; type: "4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week"; maxDays: number; intervalHeight: string | number; intervalWidth: string | number; intervalMinutes: string | number; firstInterval: string | number; intervalCount: string | number; intervalFormat: import("./types.js").CalendarFormatter; intervalStyle: (interval: CalendarTimestamp) => import("vue").StyleValue; showIntervalLabel: (interval: CalendarTimestamp) => boolean; shortWeekdays: boolean; shortIntervals: boolean; hideHeader: boolean; }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & { beforeCreate?: ((() => void)[] | (() => void)) | undefined; created?: ((() => void)[] | (() => void)) | undefined; beforeMount?: ((() => void)[] | (() => void)) | undefined; mounted?: ((() => void)[] | (() => void)) | undefined; beforeUpdate?: ((() => void)[] | (() => void)) | undefined; updated?: ((() => void)[] | (() => void)) | undefined; activated?: ((() => void)[] | (() => void)) | undefined; deactivated?: ((() => void)[] | (() => void)) | undefined; beforeDestroy?: ((() => void)[] | (() => void)) | undefined; beforeUnmount?: ((() => void)[] | (() => void)) | undefined; destroyed?: ((() => void)[] | (() => void)) | undefined; unmounted?: ((() => void)[] | (() => void)) | undefined; renderTracked?: (((e: import("vue").DebuggerEvent) => void)[] | ((e: import("vue").DebuggerEvent) => void)) | undefined; renderTriggered?: (((e: import("vue").DebuggerEvent) => void)[] | ((e: import("vue").DebuggerEvent) => void)) | undefined; errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions>, {}, {}, "", {}, any> | null, info: string) => void | boolean)[] | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions>, {}, {}, "", {}, any> | null, info: string) => void | boolean)) | undefined; }; $forceUpdate: () => void; $nextTick: typeof import("vue").nextTick; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R, args_2: import("@vue/reactivity").OnCleanup) => any : (args_0: any, args_1: any, args_2: import("@vue/reactivity").OnCleanup) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle; } & Readonly<{ start: string | number | Date; weekdays: string | number[]; weekdayFormat: import("./types.js").CalendarFormatter; dayFormat: import("./types.js").CalendarFormatter; type: "4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week"; maxDays: number; intervalHeight: string | number; intervalWidth: string | number; intervalMinutes: string | number; firstInterval: string | number; intervalCount: string | number; intervalFormat: import("./types.js").CalendarFormatter; intervalStyle: (interval: CalendarTimestamp) => import("vue").StyleValue; showIntervalLabel: (interval: CalendarTimestamp) => boolean; shortWeekdays: boolean; shortIntervals: boolean; hideHeader: boolean; }> & Omit<Readonly<import("vue").ExtractPropTypes<{ start: { type: (DateConstructor | NumberConstructor | StringConstructor)[]; validate: typeof validateTimestamp; default: () => string; }; end: { type: (DateConstructor | NumberConstructor | StringConstructor)[]; validate: typeof validateTimestamp; }; weekdays: { type: PropType<string | number[]>; default: () => number[]; validate: typeof import("./util/timestamp.js").validateWeekdays; }; weekdayFormat: { type: PropType<import("./types.js").CalendarFormatter>; default: null; }; dayFormat: { type: PropType<import("./types.js").CalendarFormatter>; default: null; }; locale: StringConstructor; now: { type: StringConstructor; validator: typeof validateTimestamp; }; type: { type: PropType<"4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week">; default: string; }; maxDays: { type: NumberConstructor; default: number; }; intervalHeight: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; intervalWidth: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; intervalMinutes: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; firstInterval: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; firstTime: { type: PropType<import("./util/timestamp.js").VTime>; validate: typeof import("./util/timestamp.js").validateTime; }; intervalCount: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; intervalFormat: { type: PropType<import("./types.js").CalendarFormatter>; default: null; }; intervalStyle: { type: PropType<(interval: CalendarTimestamp) => import("vue").StyleValue>; default: null; }; showIntervalLabel: { type: PropType<(interval: CalendarTimestamp) => boolean>; default: null; }; color: StringConstructor; shortWeekdays: { type: BooleanConstructor; default: boolean; }; shortIntervals: { type: BooleanConstructor; default: boolean; }; hideHeader: BooleanConstructor; }>>, "bodyHeight" | "dayFormatter" | "days" | "effectiveWeekdays" | "firstMinute" | "getColorProps" | "getEndOfWeek" | "getFormatter" | "getRelativeClasses" | "getScrollPush" | "getSlotScope" | "getStartOfWeek" | "getTimestampAtEvent" | "init" | "intervalFormatter" | "intervalStyleDefault" | "intervals" | "locale" | "minutesToPixels" | "onResize" | "pane" | "parsedEnd" | "parsedFirstInterval" | "parsedFirstTime" | "parsedIntervalCount" | "parsedIntervalHeight" | "parsedIntervalMinutes" | "parsedStart" | "parsedValue" | "parsedWeekdays" | "scrollAreaRef" | "scrollPush" | "scrollToTime" | "showIntervalLabelDefault" | "timeDelta" | "timeToY" | "times" | "weekdayFormatter" | "weekdaySkips" | ("dayFormat" | "firstInterval" | "hideHeader" | "intervalCount" | "intervalFormat" | "intervalHeight" | "intervalMinutes" | "intervalStyle" | "intervalWidth" | "maxDays" | "shortIntervals" | "shortWeekdays" | "showIntervalLabel" | "start" | "type" | "weekdayFormat" | "weekdays")> & import("vue").ShallowUnwrapRef<{ times: { now: { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; }; today: { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; }; }; locale: { name: string; decimalSeparator: import("vue").ShallowRef<string>; messages: import("vue").Ref<import("../../types.js").LocaleMessages, import("../../types.js").LocaleMessages>; current: import("vue").Ref<string, string>; fallback: import("vue").Ref<string, string>; t: (key: string, ...params: unknown[]) => string; n: (value: number) => string; provide: (props: import("../../types.js").LocaleOptions) => import("../../types.js").LocaleInstance; isRtl: import("vue").Ref<boolean, boolean>; rtl: import("vue").Ref<Record<string, boolean>, Record<string, boolean>>; rtlClasses: import("vue").Ref<string, string>; }; parsedValue: import("vue").ComputedRef<CalendarTimestamp>; parsedWeekdays: import("vue").ComputedRef<number[]>; effectiveWeekdays: import("vue").ComputedRef<number[]>; weekdaySkips: import("vue").ComputedRef<number[]>; parsedStart: import("vue").ComputedRef<CalendarTimestamp>; parsedEnd: import("vue").ComputedRef<CalendarTimestamp>; dayFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; weekdayFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; getColorProps: (colors: { background?: import("../../composables/color.js").ColorValue; text?: import("../../composables/color.js").ColorValue; }) => { class: string[]; style: import("vue").CSSProperties; }; getRelativeClasses: (timestamp: CalendarTimestamp, outside?: boolean) => { "v-present": boolean; "v-past": boolean; "v-future": boolean; "v-outside": boolean; }; getStartOfWeek: (timestamp: CalendarTimestamp) => CalendarTimestamp; getEndOfWeek: (timestamp: CalendarTimestamp) => CalendarTimestamp; getFormatter: (options: Intl.DateTimeFormatOptions) => import("./types.js").CalendarFormatter; scrollAreaRef: import("vue").ShallowRef<HTMLElement | undefined, HTMLElement | undefined>; parsedFirstInterval: import("vue").ComputedRef<number>; parsedIntervalMinutes: import("vue").ComputedRef<number>; parsedIntervalCount: import("vue").ComputedRef<number>; parsedIntervalHeight: import("vue").ComputedRef<number>; parsedFirstTime: import("vue").ComputedRef<number | false>; firstMinute: import("vue").ComputedRef<number>; bodyHeight: import("vue").ComputedRef<number>; days: import("vue").ComputedRef<CalendarTimestamp[]>; intervals: import("vue").ComputedRef<CalendarTimestamp[][]>; intervalFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; showIntervalLabelDefault: (interval: CalendarTimestamp) => boolean; intervalStyleDefault: (_interval: CalendarTimestamp) => import("vue").StyleValue; getTimestampAtEvent: (e: Event, day: CalendarTimestamp) => CalendarTimestamp; getSlotScope: (timestamp: CalendarTimestamp) => CalendarDayBodySlotScope; scrollToTime: (time: import("./util/timestamp.js").VTime) => boolean; minutesToPixels: (minutes: number) => number; timeToY: (time: import("./util/timestamp.js").VTime, clamp?: boolean) => number | false; timeDelta: (time: import("./util/timestamp.js").VTime) => number | false; scrollPush: import("vue").Ref<number, number>; pane: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>; init: () => void; onResize: () => void; getScrollPush: () => number; }> & {} & import("vue").ComponentCustomProperties & {}, "color" | "end" | "firstTime" | "locale" | "now" | ("dayFormat" | "firstInterval" | "hideHeader" | "intervalCount" | "intervalFormat" | "intervalHeight" | "intervalMinutes" | "intervalStyle" | "intervalWidth" | "maxDays" | "shortIntervals" | "shortWeekdays" | "showIntervalLabel" | "start" | "type" | "weekdayFormat" | "weekdays") | keyof import("vue").AllowedComponentProps | keyof import("vue").VNodeProps> | Omit<{ $: import("vue").ComponentInternalInstance; $data: {}; $props: Partial<{ start: string | number | Date; weekdays: string | number[]; weekdayFormat: import("./types.js").CalendarFormatter; dayFormat: import("./types.js").CalendarFormatter; type: "4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week"; maxDays: number; intervalHeight: string | number; intervalWidth: string | number; intervalMinutes: string | number; firstInterval: string | number; intervalCount: string | number; intervalFormat: import("./types.js").CalendarFormatter; intervalStyle: (interval: CalendarTimestamp) => import("vue").StyleValue; showIntervalLabel: (interval: CalendarTimestamp) => boolean; categories: string | CalendarCategory[]; categoryForInvalid: string; }> & Omit<{ readonly start: string | number | Date; readonly end?: string | number | Date | undefined; readonly weekdays: string | number[]; readonly weekdayFormat: import("./types.js").CalendarFormatter; readonly dayFormat: import("./types.js").CalendarFormatter; readonly locale?: string | undefined; readonly now?: string | undefined; readonly type: "4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week"; readonly maxDays: number; readonly intervalHeight: string | number; readonly intervalWidth: string | number; readonly intervalMinutes: string | number; readonly firstInterval: string | number; readonly firstTime?: import("./util/timestamp.js").VTime | undefined; readonly intervalCount: string | number; readonly intervalFormat: import("./types.js").CalendarFormatter; readonly intervalStyle: (interval: CalendarTimestamp) => import("vue").StyleValue; readonly showIntervalLabel: (interval: CalendarTimestamp) => boolean; readonly categories: string | CalendarCategory[]; readonly categoryText?: string | CalendarCategoryTextFunction | undefined; readonly categoryForInvalid: string; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "categories" | "categoryForInvalid" | "dayFormat" | "firstInterval" | "intervalCount" | "intervalFormat" | "intervalHeight" | "intervalMinutes" | "intervalStyle" | "intervalWidth" | "maxDays" | "showIntervalLabel" | "start" | "type" | "weekdayFormat" | "weekdays">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import("vue").Slot<any> | undefined; }>; $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions>, {}, {}, "", {}, any> | null; $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions>, {}, {}, "", {}, any> | null; $host: Element | null; $emit: (event: string, ...args: any[]) => void; $el: any; $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{ start: { type: (DateConstructor | NumberConstructor | StringConstructor)[]; validate: typeof validateTimestamp; default: () => string; }; end: { type: (DateConstructor | NumberConstructor | StringConstructor)[]; validate: typeof validateTimestamp; }; weekdays: { type: PropType<string | number[]>; default: () => number[]; validate: typeof import("./util/timestamp.js").validateWeekdays; }; weekdayFormat: { type: PropType<import("./types.js").CalendarFormatter>; default: null; }; dayFormat: { type: PropType<import("./types.js").CalendarFormatter>; default: null; }; locale: StringConstructor; now: { type: StringConstructor; validator: typeof validateTimestamp; }; type: { type: PropType<"4day" | "category" | "custom-daily" | "custom-weekly" | "day" | "month" | "week">; default: string; }; maxDays: { type: NumberConstructor; default: number; }; intervalHeight: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; intervalWidth: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; intervalMinutes: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; firstInterval: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; firstTime: { type: PropType<import("./util/timestamp.js").VTime>; validate: typeof import("./util/timestamp.js").validateTime; }; intervalCount: { type: (NumberConstructor | StringConstructor)[]; default: number; validate: typeof import("./util/timestamp.js").validateNumber; }; intervalFormat: { type: PropType<import("./types.js").CalendarFormatter>; default: null; }; intervalStyle: { type: PropType<(interval: CalendarTimestamp) => import("vue").StyleValue>; default: null; }; showIntervalLabel: { type: PropType<(interval: CalendarTimestamp) => boolean>; default: null; }; categories: { type: PropType<string | CalendarCategory[]>; default: string; }; categoryText: PropType<string | CalendarCategoryTextFunction>; categoryForInvalid: { type: StringConstructor; default: string; }; }>>, { times: { now: { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; }; today: { date: string; time: string; year: number; month: number; day: number; weekday: number; hour: number; minute: number; hasDay: boolean; hasTime: boolean; past: boolean; present: boolean; future: boolean; category?: string | { [x: string]: any; name?: string | undefined; categoryName?: string | undefined; } | undefined; }; }; locale: { name: string; decimalSeparator: import("vue").ShallowRef<string>; messages: import("vue").Ref<import("../../types.js").LocaleMessages, import("../../types.js").LocaleMessages>; current: import("vue").Ref<string, string>; fallback: import("vue").Ref<string, string>; t: (key: string, ...params: unknown[]) => string; n: (value: number) => string; provide: (props: import("../../types.js").LocaleOptions) => import("../../types.js").LocaleInstance; isRtl: import("vue").Ref<boolean, boolean>; rtl: import("vue").Ref<Record<string, boolean>, Record<string, boolean>>; rtlClasses: import("vue").Ref<string, string>; }; parsedValue: import("vue").ComputedRef<CalendarTimestamp>; parsedWeekdays: import("vue").ComputedRef<number[]>; effectiveWeekdays: import("vue").ComputedRef<number[]>; weekdaySkips: import("vue").ComputedRef<number[]>; parsedStart: import("vue").ComputedRef<CalendarTimestamp>; parsedEnd: import("vue").ComputedRef<CalendarTimestamp>; dayFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; weekdayFormatter: import("vue").ComputedRef<import("./types.js").CalendarFormatter>; getColorProps: (colors: { background?: import("../../composables/color.js").ColorValue; text?: import("../../composables/color.js").ColorValue; }) => { class: string[]; style: import("vue").CSSProperties; }; getRelativeClasses: (timestamp: CalendarTimestamp, outside?: boolean) => { "v-present": boolean; "v-past": boolean; "v-future": boolean;