UNPKG

claritykit-svelte

Version:

A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility

76 lines 2.19 kB
/** * CalendarView Type Definitions * Types for calendar display of data with ADHD optimization support */ export interface CalendarEvent { id: string | number; title: string; description?: string; start: Date | string; end?: Date | string; allDay?: boolean; color?: string; category?: string; metadata?: Record<string, any>; energy?: 1 | 2 | 3 | 4 | 5; priority?: 1 | 2 | 3 | 4 | 5; estimatedMinutes?: number; taskId?: string; projectId?: string; status?: 'pending' | 'in_progress' | 'completed' | 'cancelled'; assignee?: string; tags?: string[]; } export interface CalendarViewConfig { weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6; showWeekNumbers?: boolean; minHour?: number; maxHour?: number; eventColorField?: string; groupByField?: string; enableDragDrop?: boolean; adhdOptimized?: boolean; } export interface CalendarDay { date: Date; day: number; isCurrentMonth: boolean; isToday: boolean; isWeekend: boolean; events: CalendarEvent[]; cognitiveLoad?: number; } export type CalendarViewMode = 'month' | 'week' | 'day' | 'agenda'; export interface CalendarViewProps { events: CalendarEvent[]; currentDate?: Date; loading?: boolean; error?: string; editable?: boolean; config?: CalendarViewConfig; class?: string; onEventClick?: (event: CalendarEvent) => void; onEventCreate?: (event: Partial<CalendarEvent>) => void; onEventUpdate?: (id: string | number, updates: Partial<CalendarEvent>) => void; onDateClick?: (data: { date: Date; events: CalendarEvent[]; }) => void; onViewChange?: (data: { date: Date; view: CalendarViewMode; }) => void; } export interface CalendarViewMapping { idField: string; titleField: string; startField: string; endField?: string; colorField?: string; categoryField?: string; energyField?: string; priorityField?: string; statusField?: string; } export declare function transformToCalendarEvent(row: Record<string, any>, mapping: CalendarViewMapping): CalendarEvent; //# sourceMappingURL=types.d.ts.map