UNPKG

v-calendar-fixed

Version:

A calendar and date picker plugin for Vue.js.

1,196 lines 527 kB
import { type ExtractPropTypes, type PropType } from 'vue'; import { type Event, type EventConfig } from '../utils/calendar/event'; import { DateRange, DateRangeContext } from '../utils/date/range'; import type { CalendarDay } from '../utils/page'; export type GridStateEvent = 'GRID_CURSOR_DOWN' | 'GRID_CURSOR_DOWN_SHIFT' | 'GRID_CURSOR_MOVE' | 'GRID_CURSOR_MOVE_SHIFT' | 'GRID_CURSOR_UP' | 'GRID_CURSOR_UP_SHIFT' | 'EVENT_CURSOR_DOWN' | 'EVENT_CURSOR_DOWN_SHIFT' | 'EVENT_CURSOR_MOVE' | 'EVENT_CURSOR_MOVE_SHIFT' | 'EVENT_RESIZE_START_CURSOR_DOWN' | 'EVENT_RESIZE_START_CURSOR_DOWN_SHIFT' | 'EVENT_RESIZE_END_CURSOR_DOWN' | 'EVENT_RESIZE_END_CURSOR_DOWN_SHIFT' | 'ESCAPE'; export interface Point { x: number; y: number; } export interface DragOffset { weekdays: number; weeks: number; ms: number; } export interface ResizeOffset { weekdays: number; weeks: number; ms: number; } export interface DragOriginState { position: number; date: Date; day: CalendarDay; event: Event; eventSelected: boolean; ms: number; } export interface ResizeOriginState { position: number; day: CalendarDay; event: Event; isWeekly: boolean; isStart: boolean; isNew: boolean; ms: number; } export interface CreateOriginState { position: number; date: Date; day: CalendarDay; isWeekly: boolean; } export declare const emits: string[]; export declare const propsDef: { events: { type: PropType<EventConfig[]>; default: () => never[]; }; view: { type: PropType<import("./calendar").CalendarView>; default: string; validator(value: string): boolean; }; rows: { type: NumberConstructor; default: number; }; columns: { type: NumberConstructor; default: number; }; step: NumberConstructor; titlePosition: { type: PropType<import("../utils/page").TitlePosition>; default: () => import("../utils/page").TitlePosition; }; navVisibility: { type: PropType<import("../utils/popovers").PopoverVisibility>; default: () => import("../utils/popovers").PopoverVisibility; }; showWeeknumbers: (BooleanConstructor | StringConstructor)[]; showIsoWeeknumbers: (BooleanConstructor | StringConstructor)[]; expanded: BooleanConstructor; borderless: BooleanConstructor; transparent: BooleanConstructor; initialPage: PropType<import("../utils/page").PageAddress>; initialPagePosition: { type: NumberConstructor; default: number; }; minPage: PropType<import("../utils/page").PageAddress>; maxPage: PropType<import("../utils/page").PageAddress>; transition: PropType<import("./calendar").MoveTransition>; attributes: PropType<Partial<{ key: string | number; hashcode: string; content: import("../utils/glyph").ContentConfig; highlight: import("../utils/glyph").HighlightConfig; dot: import("../utils/glyph").DotConfig; bar: import("../utils/glyph").BarConfig; popover: Partial<{ label: string; visibility: import("../utils/popovers").PopoverVisibility; placement: import("@popperjs/core").Placement; hideIndicator: boolean; isInteractive: boolean; }>; event: Partial<{ label: string; }>; dates: import("../utils/date/range").DateRangeSource[]; customData: any; order: number; pinPage: boolean; }>[]>; trimWeeks: BooleanConstructor; disablePageSwipe: BooleanConstructor; color: { type: StringConstructor; default: () => any; }; isDark: { type: PropType<boolean | "system" | import("vue-screen-utils").DarkModeClassConfig>; default: () => any; }; firstDayOfWeek: PropType<import("../utils/date/helpers").DayOfWeek>; masks: ObjectConstructor; locale: PropType<string | Record<string, any> | import("../utils/locale").default>; timezone: StringConstructor; minDate: null; maxDate: null; disabledDates: null; }; export type CalendarGridProps = Readonly<ExtractPropTypes<typeof propsDef>>; export type CalendarGridContext = ReturnType<typeof createCalendarGrid>; type IBoundingRect = Pick<Element, 'getBoundingClientRect' | 'contains'>; export declare function createCalendarGrid(props: CalendarGridProps, { emit, slots }: any): { dailyGridRef: import("vue").Ref<{ getBoundingClientRect: () => DOMRect; contains: (other: Node | null) => boolean; } | null, IBoundingRect | { getBoundingClientRect: () => DOMRect; contains: (other: Node | null) => boolean; } | null>; weeklyGridRef: import("vue").Ref<{ getBoundingClientRect: () => DOMRect; contains: (other: Node | null) => boolean; } | null, IBoundingRect | { getBoundingClientRect: () => DOMRect; contains: (other: Node | null) => boolean; } | null>; cellPopoverRef: import("vue").Ref<import("vue").DefineComponent<ExtractPropTypes<{ popoverId: { type: StringConstructor; default: string; }; }>, { displayMode: import("vue").ComputedRef<"light" | "dark">; color: import("vue").ComputedRef<string>; show: (event: { refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }) => void; update: (event: { refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }) => void; hide: () => void; isVisible: () => boolean; onAfterHide(): void; event: import("vue").Ref<{ refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; } | null, { refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; } | null>; popoverRef: import("vue").Ref<null, null>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{ popoverId: { type: StringConstructor; default: string; }; }>> & Readonly<{}>, { popoverId: string; }, {}, { Popover: import("vue").DefineComponent<ExtractPropTypes<{ id: { type: (SymbolConstructor | StringConstructor | NumberConstructor)[]; required: true; }; showDelay: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; boundarySelector: { type: StringConstructor; }; }>, { popoverRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>; alignment: import("vue").ComputedRef<"center" | "left" | "right" | "top" | "bottom" | "middle">; hide: (opts?: Partial<import("../utils/popovers").PopoverOptions>) => void; setupPopper: () => void; beforeEnter: (el: Element) => void; afterEnter: (el: Element) => void; beforeLeave: (el: Element) => void; afterLeave: (el: Element) => void; onClick: (e: MouseEvent) => void; onMouseOver: () => void; onMouseLeave: () => void; onFocusIn: () => void; onFocusOut: (e: FocusEvent) => void; isVisible: import("vue").Ref<boolean, boolean>; target: import("vue").Ref<unknown, unknown>; data: import("vue").Ref<any, any>; transition: import("vue").Ref<string, string>; placement: import("vue").Ref<import("@popperjs/core").Placement, import("@popperjs/core").Placement>; direction: import("vue").Ref<string, string>; positionFixed: import("vue").Ref<false, false>; modifiers: import("vue").Ref<any[], any[]>; isInteractive: import("vue").Ref<boolean, boolean>; visibility: import("vue").Ref<import("../utils/popovers").PopoverVisibility, import("../utils/popovers").PopoverVisibility>; isHovered: import("vue").Ref<boolean, boolean>; isFocused: import("vue").Ref<boolean, boolean>; autoHide: import("vue").Ref<boolean, boolean>; force: import("vue").Ref<boolean, boolean>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("before-show" | "after-show" | "before-hide" | "after-hide")[], "before-show" | "after-show" | "before-hide" | "after-hide", import("vue").PublicProps, Readonly<ExtractPropTypes<{ id: { type: (SymbolConstructor | StringConstructor | NumberConstructor)[]; required: true; }; showDelay: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; boundarySelector: { type: StringConstructor; }; }>> & Readonly<{ "onBefore-show"?: ((...args: any[]) => any) | undefined; "onAfter-show"?: ((...args: any[]) => any) | undefined; "onBefore-hide"?: ((...args: any[]) => any) | undefined; "onAfter-hide"?: ((...args: any[]) => any) | undefined; }>, { showDelay: number; hideDelay: number; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; CalendarEventEdit: import("vue").DefineComponent<ExtractPropTypes<{ event: { type: PropType<{ refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }>; required: true; }; }>, { onRemove(): void; onToggleEditing(): void; onSave(): void; onCancel(): void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").PublicProps, Readonly<ExtractPropTypes<{ event: { type: PropType<{ refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }>; required: true; }; }>> & Readonly<{ onClose?: ((...args: any[]) => any) | undefined; }>, {}, {}, {}, { focus: { mounted(el: any): void; }; }, string, import("vue").ComponentProvideOptions, true, {}, any>; }, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | undefined, import("vue").DefineComponent<ExtractPropTypes<{ popoverId: { type: StringConstructor; default: string; }; }>, { displayMode: import("vue").ComputedRef<"light" | "dark">; color: import("vue").ComputedRef<string>; show: (event: { refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }) => void; update: (event: { refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }) => void; hide: () => void; isVisible: () => boolean; onAfterHide(): void; event: import("vue").Ref<{ refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; } | null, { refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; } | null>; popoverRef: import("vue").Ref<null, null>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{ popoverId: { type: StringConstructor; default: string; }; }>> & Readonly<{}>, { popoverId: string; }, {}, { Popover: import("vue").DefineComponent<ExtractPropTypes<{ id: { type: (SymbolConstructor | StringConstructor | NumberConstructor)[]; required: true; }; showDelay: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; boundarySelector: { type: StringConstructor; }; }>, { popoverRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>; alignment: import("vue").ComputedRef<"center" | "left" | "right" | "top" | "bottom" | "middle">; hide: (opts?: Partial<import("../utils/popovers").PopoverOptions>) => void; setupPopper: () => void; beforeEnter: (el: Element) => void; afterEnter: (el: Element) => void; beforeLeave: (el: Element) => void; afterLeave: (el: Element) => void; onClick: (e: MouseEvent) => void; onMouseOver: () => void; onMouseLeave: () => void; onFocusIn: () => void; onFocusOut: (e: FocusEvent) => void; isVisible: import("vue").Ref<boolean, boolean>; target: import("vue").Ref<unknown, unknown>; data: import("vue").Ref<any, any>; transition: import("vue").Ref<string, string>; placement: import("vue").Ref<import("@popperjs/core").Placement, import("@popperjs/core").Placement>; direction: import("vue").Ref<string, string>; positionFixed: import("vue").Ref<false, false>; modifiers: import("vue").Ref<any[], any[]>; isInteractive: import("vue").Ref<boolean, boolean>; visibility: import("vue").Ref<import("../utils/popovers").PopoverVisibility, import("../utils/popovers").PopoverVisibility>; isHovered: import("vue").Ref<boolean, boolean>; isFocused: import("vue").Ref<boolean, boolean>; autoHide: import("vue").Ref<boolean, boolean>; force: import("vue").Ref<boolean, boolean>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("before-show" | "after-show" | "before-hide" | "after-hide")[], "before-show" | "after-show" | "before-hide" | "after-hide", import("vue").PublicProps, Readonly<ExtractPropTypes<{ id: { type: (SymbolConstructor | StringConstructor | NumberConstructor)[]; required: true; }; showDelay: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; boundarySelector: { type: StringConstructor; }; }>> & Readonly<{ "onBefore-show"?: ((...args: any[]) => any) | undefined; "onAfter-show"?: ((...args: any[]) => any) | undefined; "onBefore-hide"?: ((...args: any[]) => any) | undefined; "onAfter-hide"?: ((...args: any[]) => any) | undefined; }>, { showDelay: number; hideDelay: number; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; CalendarEventEdit: import("vue").DefineComponent<ExtractPropTypes<{ event: { type: PropType<{ refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }>; required: true; }; }>, { onRemove(): void; onToggleEditing(): void; onSave(): void; onCancel(): void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").PublicProps, Readonly<ExtractPropTypes<{ event: { type: PropType<{ refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }>; required: true; }; }>> & Readonly<{ onClose?: ((...args: any[]) => any) | undefined; }>, {}, {}, {}, { focus: { mounted(el: any): void; }; }, string, import("vue").ComponentProvideOptions, true, {}, any>; }, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | undefined>; dayColumns: import("vue").ComputedRef<number>; dayRows: import("vue").ComputedRef<number>; snapMinutes: import("vue").Ref<number, number>; snapMs: import("vue").ComputedRef<number>; pixelsPerHour: import("vue").Ref<number, number>; isTouch: import("vue").Ref<boolean, boolean>; events: import("vue").ComputedRef<{ refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }[]>; eventsMap: import("vue").Ref<Record<any, { refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }>, Record<any, { refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }>>; selectedEvents: import("vue").ComputedRef<{ refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: DateRange; allDay: boolean; color: string; fill: string; selected: boolean; draggable: boolean; dragging: boolean; resizable: boolean; resizing: boolean; editing: boolean; order: number; snapMinutes: number; minDurationMinutes: number; maxDurationMinutes: number; popover: Partial<import("../utils/popovers").PopoverOptions> | null; resizeOrigin: import("../utils/calendar/event").ResizeOrigin | null; dragOrigin: import("../utils/calendar/event").DragOrigin | null; }[]>; hasSelectedEvents: import("vue").ComputedRef<boolean>; eventsContext: import("vue").ComputedRef<DateRangeContext>; detailEvent: import("vue").Ref<{ refSelector: string; isMultiDay: boolean; isWeekly: boolean; durationMs: number; durationMinutes: number; startDate: Date; startDateTime: number; startTimeLabel: string; endDate: Date; endDateTime: number; endTimeLabel: string; timeLabel: string; isSolid: boolean; dragIsDirty: boolean; formatDate: (date: Date, mask: string) => string; formatTime: (date: Date) => string; resizeToConstraints: () => void; startResize: (day: CalendarDay, isStart: boolean) => void; updateResize: (offset: ResizeOffset) => void; stopResize: () => void; startDrag: (day: CalendarDay) => void; updateDrag: (offset: DragOffset) => void; stopDrag: () => false | undefined; compareTo: (b: any) => number; key: any; summary: string; description: string; range: { order: number; locale: { id: any; daysInWeek: number; firstDayOfWeek: import("../utils/date/helpers").DayOfWeek; masks: any; timezone: string | undefined; hourLabels: string[]; dayNames: string[]; dayNamesShort: string[]; dayNamesShorter: string[]; dayNamesNarrow: string[]; monthNames: string[]; monthNamesShort: string[]; relativeTimeNames: { day?: string | undefined; week?: string | undefined; month?: string | undefined; year?: string | undefined; days?: string | undefined; weeks?: string | undefined; seconds?: string | undefined; minutes?: string | undefined; hours?: string | undefined; months?: string | undefined; years?: string | undefined; quarter?: string | undefined; quarters?: string | undefined; hour?: string | undefined; minute?: string | undefined; second?: string | undefined; }; amPm: [string, string]; monthCache: { keys: string[]; store: Record<string, import("../utils/date/helpers").MonthParts>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/date/helpers").MonthParts; get: (...args: any[]) => import("../utils/date/helpers").MonthParts; getOrSet: (...args: any[]) => import("../utils/date/helpers").MonthParts; }; pageCache: { keys: string[]; store: Record<string, import("../utils/page").CachedPage>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/page").CachedPage; get: (...args: any[]) => import("../utils/page").CachedPage; getOrSet: (...args: any[]) => import("../utils/page").CachedPage; }; formatDate: (date: Date, masks: string | string[]) => string; parseDate: (dateString: string, mask: string | string[]) => Date; toDate: (d: Partial<import("../utils/date/helpers").SimpleDateParts> | import("../utils/date/helpers").DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date; toDateOrNull: (d: Partial<import("../utils/date/helpers").SimpleDateParts> | import("../utils/date/helpers").DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date | null; fromDate: (date: Date | null, { type, mask }?: Partial<import("../utils/date/helpers").DateOptions>) => string | number | Date | import("../utils/date/helpers").DateParts | null; range: (source: import("../utils/date/range").DateRangeSource) => DateRange; ranges: (ranges: import("../utils/date/range").DateRangeSource | import("../utils/date/range").DateRangeSource[]) => DateRange[]; getDateParts: (date: Date) => import("../utils/date/helpers").DateParts; getDateFromParts: (parts: Partial<import("../utils/date/helpers").SimpleDateParts>) => Date; getDateFromParams: (year: number, month: number, day: number, hours: number, minutes: number, seconds: number, milliseconds: number) => Date; getPage: (config: import("../utils/page").PageConfig) => import("../utils/page").Page; getMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getThisMonthParts: () => import("../utils/date/helpers").MonthParts; getPrevMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getNextMonthParts: (month: number, year: number) => impor