@jalez/react-flow-automated-layout
Version:
A React library for automated layout of nested node graphs with parent-child relationships using React Flow
28 lines (27 loc) • 1.05 kB
TypeScript
import { Edge, Node } from '@xyflow/react';
interface UseLayoutOperationsProps {
nodes: Node[];
edges: Edge[];
selectedNodes: Node[];
layoutHidden: boolean;
calculateLayout: (nodes: Node[], edges: Edge[], selectedNodes: Node[], signal: AbortSignal) => Promise<{
nodes: Node[];
edges: Edge[];
}>;
updateNodes?: (nodes: Node[]) => void;
updateEdges?: (edges: Edge[]) => void;
setLayoutInProgress: (inProgress: boolean) => void;
setNodeSpacing: (spacing: number) => void;
setLayerSpacing: (spacing: number) => void;
}
export declare function useLayoutOperations({ nodes, edges, selectedNodes, layoutHidden, calculateLayout, updateNodes, updateEdges, setLayoutInProgress, setNodeSpacing, setLayerSpacing }: UseLayoutOperationsProps): {
applyLayout: (inputNodes?: Node[], inputEdges?: Edge[]) => Promise<{
nodes: Node[];
edges: Edge[];
}>;
pendingSpacingUpdateRef: import("react").RefObject<{
node?: number;
layer?: number;
} | null>;
};
export {};