@gravity-ui/graph
Version:
Modern graph editor component
30 lines (29 loc) • 837 B
TypeScript
import type { LayeredLayoutOptions } from "./types";
export type Edge<NodeId> = {
from: NodeId;
to: NodeId;
arrows?: {
from?: boolean;
to?: boolean;
};
};
export type Node<NodeId> = {
id: NodeId;
level: number;
x?: number;
y?: number;
width?: number;
height?: number;
shape?: string;
};
export declare const DEFAULT_NODE_WIDTH = 100;
export declare const DEFAULT_NODE_HEIGHT = 100;
export type LayoutGraphParams<NodeId extends string | number, T extends Node<NodeId>> = {
nodes: T[];
edges: Edge<NodeId>[];
options?: LayeredLayoutOptions;
};
export declare function layoutGraph<NodeId extends string | number, T extends Node<NodeId> = Node<NodeId>>({ nodes, edges, options, }: LayoutGraphParams<NodeId, T>): Promise<{
nodes: T[];
edges: Edge<NodeId>[];
}>;