UNPKG

claritykit-svelte

Version:

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

255 lines 6.9 kB
export interface NetworkNode { id: string; label: string; type?: string; group?: string; weight?: number; color?: string; size?: number; x?: number; y?: number; metadata?: Record<string, any>; } export interface NetworkEdge { id: string; source: string; target: string; label?: string; weight?: number; color?: string; width?: number; type?: 'directed' | 'undirected'; metadata?: Record<string, any>; } export interface NetworkLayout { name: string; options?: Record<string, any>; } export interface NetworkConfig { layout: NetworkLayout; nodeColorBy: string; edgeColorBy: string; enablePhysics: boolean; enableClustering: boolean; theme: 'light' | 'dark' | 'auto'; } export interface NetworkEvents { nodeClick: { node: NetworkNode; originalEvent: Event; }; nodeHover: { node: NetworkNode; originalEvent: Event; }; edgeClick: { edge: NetworkEdge; originalEvent: Event; }; edgeHover: { edge: NetworkEdge; originalEvent: Event; }; selectionChange: { selectedNodes: string[]; selectedEdges: string[]; }; zoomChange: { zoom: number; }; panChange: { pan: { x: number; y: number; }; }; layoutStart: {}; layoutComplete: {}; exported: { format: string; blob: Blob; }; error: { error: Error; }; } export declare const NetworkLayouts: { readonly FORCE_DIRECTED: { readonly name: "cose"; readonly options: { readonly animate: true; readonly animationDuration: 1000; readonly nodeRepulsion: 400000; readonly idealEdgeLength: 100; readonly edgeElasticity: 100; readonly nestingFactor: 5; readonly gravity: 80; readonly numIter: 1000; readonly randomize: false; }; }; readonly HIERARCHICAL: { readonly name: "dagre"; readonly options: { readonly animate: true; readonly animationDuration: 1000; readonly rankDir: "TB"; readonly nodeSep: 50; readonly edgeSep: 10; readonly rankSep: 50; }; }; readonly CIRCULAR: { readonly name: "circle"; readonly options: { readonly animate: true; readonly animationDuration: 1000; readonly radius: 200; readonly startAngle: number; readonly clockwise: true; }; }; readonly GRID: { readonly name: "grid"; readonly options: { readonly animate: true; readonly animationDuration: 1000; readonly rows: undefined; readonly cols: undefined; }; }; readonly RANDOM: { readonly name: "random"; readonly options: { readonly animate: true; readonly animationDuration: 1000; }; }; }; export declare const NodeStyles: { readonly SMALL: { readonly size: 20; readonly fontSize: 10; }; readonly MEDIUM: { readonly size: 30; readonly fontSize: 12; }; readonly LARGE: { readonly size: 50; readonly fontSize: 14; }; readonly XLARGE: { readonly size: 80; readonly fontSize: 16; }; }; export declare const EdgeStyles: { readonly THIN: { readonly width: 1; }; readonly NORMAL: { readonly width: 2; }; readonly THICK: { readonly width: 4; }; readonly VERY_THICK: { readonly width: 6; }; }; export declare const ColorPalettes: { readonly CATEGORY_10: readonly ["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf"]; readonly PASTEL: readonly ["#FFB3BA", "#FFDFBA", "#FFFFBA", "#BAFFC9", "#BAE1FF", "#FFB3FF", "#C9BAFF", "#FFBABA", "#BAFFBA", "#BAFFFF"]; readonly VIBRANT: readonly ["#FF6B6B", "#4ECDC4", "#45B7D1", "#96CEB4", "#FFEAA7", "#DDA0DD", "#98D8C8", "#F7DC6F", "#BB8FCE", "#85C1E9"]; readonly NORD: readonly ["#8fbcbb", "#88c0d0", "#81a1c1", "#5e81ac", "#bf616a", "#d08770", "#ebcb8b", "#a3be8c", "#b48ead", "#2e3440"]; }; export type NetworkLayoutName = keyof typeof NetworkLayouts; export type NodeStyleName = keyof typeof NodeStyles; export type EdgeStyleName = keyof typeof EdgeStyles; export type ColorPaletteName = keyof typeof ColorPalettes; export interface KnowledgeNode extends NetworkNode { type: 'concept' | 'entity' | 'relation' | 'document' | 'person' | 'event'; category?: string; confidence?: number; importance?: number; dateCreated?: Date; dateModified?: Date; tags?: string[]; } export interface KnowledgeEdge extends NetworkEdge { type: 'relates_to' | 'part_of' | 'causes' | 'depends_on' | 'similar_to' | 'references'; confidence?: number; strength?: number; bidirectional?: boolean; temporal?: { start?: Date; end?: Date; }; } export interface KnowledgeGraphConfig extends NetworkConfig { enableTemporalFiltering: boolean; enableConfidenceFiltering: boolean; minConfidence: number; showMetadata: boolean; enableClustering: boolean; clusterBy: 'type' | 'category' | 'importance'; } export interface NetworkMetrics { nodeCount: number; edgeCount: number; density: number; averageDegree: number; clustering: number; diameter: number; connectedComponents: number; centralityMeasures: { betweenness: Record<string, number>; closeness: Record<string, number>; degree: Record<string, number>; eigenvector: Record<string, number>; }; } export interface ClusteringResult { clusters: Array<{ id: string; nodes: string[]; size: number; cohesion: number; }>; modularity: number; silhouetteScore: number; } export interface ExportOptions { format: 'png' | 'jpg' | 'svg' | 'json' | 'graphml' | 'gexf'; quality?: number; scale?: number; background?: string; includeMetadata?: boolean; compressed?: boolean; } export interface SearchOptions { query: string; nodeFields: string[]; edgeFields: string[]; fuzzy: boolean; caseSensitive: boolean; maxResults?: number; } export interface FilterOptions { nodeTypes?: string[]; edgeTypes?: string[]; nodeGroups?: string[]; minWeight?: number; maxWeight?: number; dateRange?: { start: Date; end: Date; }; customFilters?: Array<{ field: string; operator: 'equals' | 'contains' | 'greater' | 'less' | 'between'; value: any; }>; } //# sourceMappingURL=network-types.d.ts.map