UNPKG

@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
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>>;