UNPKG

claritykit-svelte

Version:

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

89 lines 2.78 kB
/** * TypeScript interfaces for the SuggestionCard component * * These types define the structure for project suggestions and their related data, * standardized for use within ClarityKit's agent components ecosystem. */ export interface TaskItem { id: string; name: string; description?: string; status: 'pending' | 'in_progress' | 'completed' | 'blocked'; estimatedHours?: number; created_at: string; updated_at: string; } export interface TaskGrouping { name: string; tasks: TaskItem[]; reasoning: string; estimatedEffort: number; } export interface EstimatedDuration { value: number; unit: 'hours' | 'days' | 'weeks' | 'months'; } export type Priority = 'low' | 'medium' | 'high' | 'critical'; export type Complexity = 'simple' | 'moderate' | 'complex'; export type SuggestionStatus = 'pending' | 'approved' | 'modified' | 'rejected' | 'deferred'; export interface ProjectSuggestion { id: string; projectName: string; description: string; reasoning: string; architectReasoning?: string; priority: Priority; complexity: Complexity; status: SuggestionStatus; taskGroupings: TaskGrouping[]; affectedTasks: string[]; estimatedDuration: EstimatedDuration; dependencies: string[]; createdAt: Date; } export interface SuggestionCardProps { /** The project suggestion data to display */ suggestion: ProjectSuggestion; /** Whether the card is expanded to show details */ isExpanded?: boolean; /** Loading state for actions */ isLoading?: boolean; /** Error message to display */ error?: string | null; /** Optional CSS class name */ class?: string; /** Card size variant */ size?: 'sm' | 'md' | 'lg'; /** Card variant for different contexts */ variant?: 'default' | 'compact' | 'detailed'; /** Whether to show action buttons */ showActions?: boolean; /** Custom action configuration */ actions?: { approve?: boolean; modify?: boolean; reject?: boolean; defer?: boolean; }; /** Event handlers for Svelte 5 */ ontoggle?: (event: SuggestionActionEvent) => void; onapprove?: (event: SuggestionActionEvent) => void; onmodify?: (event: SuggestionActionEvent) => void; onreject?: (event: SuggestionActionEvent) => void; ondefer?: (event: SuggestionActionEvent) => void; } export interface SuggestionActionEvent { suggestionId: string; suggestion?: ProjectSuggestion; reason?: string; until?: Date; } export interface ConfirmationDialogConfig { isOpen: boolean; title: string; message: string; confirmText: string; cancelText: string; variant: 'danger' | 'warning' | 'info'; } //# sourceMappingURL=types.d.ts.map