v-event-calendar
Version:
Lightweight, Vue 3 Event Calendar With Event Scheduling, Multiple Views, Drag-&-Drop, Resizing and Customizable Styling
65 lines (63 loc) • 3.8 kB
TypeScript
import { CalendarEvent } from '../types/index';
export declare const formatDate: (date: Date) => string;
export declare const parseDate: (dateString: string) => Date;
export declare const formatTime: (date: Date) => string;
export declare const parseTime: (timeString: string) => {
hour: number;
minute: number;
};
export declare const parseISOString: (isoString: string) => Date;
export declare const formatToISO: (date: Date) => string;
export declare const formatToLocalISO: (date: Date) => string;
export declare const createISODateTime: (date: Date, timeString?: string) => string;
export declare const extractDateFromISO: (isoString: string) => Date;
export declare const extractTimeFromISO: (isoString: string) => string;
export declare const getEventStartDate: (event: CalendarEvent) => Date;
export declare const getEventEndDate: (event: CalendarEvent) => Date;
export declare const getEventStartTime: (event: CalendarEvent) => string | undefined;
export declare const getEventEndTime: (event: CalendarEvent) => string | undefined;
export declare const isEventOnDate: (event: CalendarEvent, date: Date) => boolean;
export declare const isEventMultiDay: (event: CalendarEvent) => boolean;
export declare const getEventDurationInDays: (event: CalendarEvent) => number;
export declare const isToday: (date: Date) => boolean;
export declare const isSameDay: (date1: Date, date2: Date) => boolean;
export declare const isSameMonth: (date1: Date, date2: Date) => boolean;
export declare const getStartOfMonth: (date: Date) => Date;
export declare const getEndOfMonth: (date: Date) => Date;
export declare const getStartOfWeek: (date: Date, startOnMonday?: boolean) => Date;
export declare const getEndOfWeek: (date: Date, startOnMonday?: boolean) => Date;
export declare const addDays: (date: Date, days: number) => Date;
export declare const addMonths: (date: Date, months: number) => Date;
export declare const addWeeks: (date: Date, weeks: number) => Date;
export declare const getDaysInMonth: (date: Date) => number;
export declare const getWeekNumber: (date: Date) => number;
export declare const isWeekend: (date: Date) => boolean;
export declare const getCalendarGrid: (date: Date, startOnMonday?: boolean) => Date[];
export declare const getWeekGrid: (date: Date, startOnMonday?: boolean) => Date[];
export declare const filterEventsByDate: (events: CalendarEvent[], date: Date) => CalendarEvent[];
export declare const filterEventsByDateRange: (events: CalendarEvent[], startDate: Date, endDate: Date) => CalendarEvent[];
export declare const sortEventsByTime: (events: CalendarEvent[]) => CalendarEvent[];
export declare const getEventDuration: (event: CalendarEvent) => number;
export declare const hasTimeConflict: (event1: CalendarEvent, event2: CalendarEvent) => boolean;
export declare const generateTimeSlots: (startHour?: number, endHour?: number) => string[];
export declare const formatDisplayTime: (timeString: string, format24h?: boolean) => string;
export declare const getRandomColor: () => string;
export declare const addMinutes: (date: Date, minutes: number) => Date;
export declare const getRoundedTimeSlots: (date: Date) => {
startTime: string;
endTime: string;
};
export declare function calculateEventEndTime(startTime: string, duration: string): string;
export declare const createEventFromDateTime: (date: Date, startTime?: string, endTime?: string, allDay?: boolean) => {
start: string;
end?: string;
};
export declare function parseISOToDateTime(isoString: string): {
date: string;
time: string;
};
export declare const findNextAvailableTime: (targetDate: Date, eventsOnDay: CalendarEvent[]) => {
startTime: string;
endTime: string;
};
export declare const getDuration: (startTime?: string, endTime?: string) => number;