v-calendar-fixed
Version:
A calendar and date picker plugin for Vue.js.
1,196 lines • 527 kB
TypeScript
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