obsidian-visualiser/types/canvas.d.ts

34 lines
700 B
TypeScript

export interface CanvasContent {
nodes: CanvasNode[];
edges: CanvasEdge[];
groups: CanvasGroup[];
}
export type CanvasColor = {
class?: string;
} & {
hex?: string;
}
export interface CanvasNode {
type: 'group' | 'text';
id: string;
x: number;
y: number;
width: number;
height: number;
color?: CanvasColor;
label?: string;
text?: any;
};
export interface CanvasEdge {
id: string;
fromNode: string;
fromSide: 'bottom' | 'top' | 'left' | 'right';
toNode: string;
toSide: 'bottom' | 'top' | 'left' | 'right';
color?: CanvasColor;
label?: string;
};
export interface CanvasGroup {
name: string;
nodes: string[];
}