@jalez/react-flow-automated-layout
Version:
A React library for automated layout of nested node graphs with parent-child relationships using React Flow
37 lines (36 loc) • 1.4 kB
TypeScript
import { Edge, Node, Position } from '@xyflow/react';
import { LayoutDirection } from '../context/LayoutContext';
import { Direction } from '../core/HierarchicalLayoutOrganizer';
/**
* Convert direction from our API format to the format expected by layout engines
*/
export declare const convertDirection: (dir: LayoutDirection) => Direction;
export declare const convertDirectionToLayout: (dir: Direction) => LayoutDirection;
/**
* Update node handle positions based on current direction
*/
export declare const updateHandlePositions: (nodes: Node[], direction: LayoutDirection) => Node[];
/**
* Default parent resizing options
*/
export declare const DEFAULT_PARENT_RESIZING_OPTIONS: {
enabled: boolean;
padding: {
horizontal: number;
vertical: number;
};
respectHeaderHeight: boolean;
minWidth: number;
minHeight: number;
};
export declare const getSourcePosition: (direction: LayoutDirection) => Position;
export declare const getTargetPosition: (direction: LayoutDirection) => Position;
/**
* Utility to filter visible nodes and edges based on the layoutHidden flag.
* If layoutHidden is false, only visible nodes/edges are included.
* If layoutHidden is true, all nodes/edges are included.
*/
export declare function filterVisibleNodesAndEdges(nodes: Node[], edges: Edge[], layoutHidden: boolean): {
nodes: Node[];
edges: Edge[];
};