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
TypeScript
/**
* 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