@xyflow/svelte
Version:
Svelte Flow - A highly customizable Svelte library for building node-based editors, workflow systems, diagrams and more.
31 lines (30 loc) • 1.77 kB
TypeScript
import type { DefaultEdgeOptions, Node, Edge, EdgeLayouted, InternalNode } from '../types';
import { ConnectionMode, type NodeLookup, type OnError, type Transform, type ZIndexMode } from '@xyflow/system';
export declare function getVisibleNodes<NodeType extends Node = Node>(nodeLookup: NodeLookup<InternalNode<NodeType>>, transform: Transform, width: number, height: number): Map<string, InternalNode<NodeType>>;
export interface EdgeLayoutBaseOptions<NodeType extends Node = Node, EdgeType extends Edge = Edge> {
edges: EdgeType[];
defaultEdgeOptions: DefaultEdgeOptions;
elevateEdgesOnSelect: boolean;
previousEdges: Map<string, EdgeLayouted<EdgeType>>;
nodeLookup: NodeLookup<InternalNode<NodeType>>;
connectionMode: ConnectionMode;
onerror: OnError;
}
export interface EdgeLayoutAllOptions<NodeType extends Node = Node, EdgeType extends Edge = Edge> extends EdgeLayoutBaseOptions<NodeType, EdgeType> {
onlyRenderVisible: never;
visibleNodes: never;
transform: never;
width: never;
height: never;
zIndexMode: never;
}
export interface EdgeLayoutOnlyVisibleOptions<NodeType extends Node = Node, EdgeType extends Edge = Edge> extends EdgeLayoutBaseOptions<NodeType, EdgeType> {
visibleNodes: Map<string, InternalNode>;
transform: Transform;
width: number;
height: number;
onlyRenderVisible: true;
zIndexMode: ZIndexMode;
}
export type EdgeLayoutOptions<NodeType extends Node = Node, EdgeType extends Edge = Edge> = EdgeLayoutAllOptions<NodeType, EdgeType> | EdgeLayoutOnlyVisibleOptions<NodeType, EdgeType>;
export declare function getLayoutedEdges<NodeType extends Node = Node, EdgeType extends Edge = Edge>(options: EdgeLayoutOptions<NodeType, EdgeType>): Map<string, EdgeLayouted<EdgeType>>;