UNPKG

@gravity-ui/graph

Version:

Modern graph editor component

30 lines (29 loc) 837 B
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>[]; }>;