@xyflow/svelte
Version:
Svelte Flow - A highly customizable Svelte library for building node-based editors, workflow systems, diagrams and more.
42 lines (41 loc) • 1.84 kB
TypeScript
import type { ShortcutModifierDefinition } from '@svelte-put/shortcut';
import type { FitViewOptionsBase, XYPosition, Handle, Connection, OnBeforeDeleteBase } from '@xyflow/system';
import type { Node } from './nodes';
import type { Edge } from './edges';
export type KeyModifier = ShortcutModifierDefinition;
export type KeyDefinitionObject = {
key: string;
modifier?: KeyModifier;
};
export type KeyDefinition = string | KeyDefinitionObject;
export type ConnectionData = {
connectionPosition: XYPosition | null;
connectionStartHandle: Handle | null;
connectionEndHandle: Handle | null;
connectionStatus: string | null;
};
/**
* @inline
*/
export type FitViewOptions<NodeType extends Node = Node> = FitViewOptionsBase<NodeType>;
/**
* This type can be used to type the `onDelete` function with a custom node and edge type.
*
* @public
*/
export type OnDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: {
nodes: NodeType[];
edges: EdgeType[];
}) => void;
export type OnBeforeConnect<EdgeType extends Edge = Edge> = (connection: Connection) => EdgeType | Connection | void | false | null;
export type OnBeforeReconnect<EdgeType extends Edge = Edge> = (newEdge: EdgeType, oldEdge: EdgeType) => EdgeType | void | false | null;
export type OnBeforeDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = OnBeforeDeleteBase<NodeType, EdgeType>;
/**
* This type can be used to type the `isValidConnection` function.
* If the function returns `true`, the connection is valid and can be created.
*/
export type IsValidConnection<EdgeType extends Edge = Edge> = (edge: EdgeType | Connection) => boolean;
export type OnSelectionChange<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: {
nodes: NodeType[];
edges: EdgeType[];
}) => void;