UNPKG

@xyflow/system

Version:

xyflow core system that powers React Flow and Svelte Flow.

50 lines 2.17 kB
import { ConnectionMode, type Connection, type OnConnect, type OnConnectStart, type HandleType, type PanBy, type Transform, type Handle, type OnConnectEnd, type UpdateConnection, type IsValidConnection, NodeLookup, FinalConnectionState, NodeBase, InternalNodeBase, EdgeBase } from '../types'; export type OnPointerDownParams<NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase> = { autoPanOnConnect: boolean; connectionMode: ConnectionMode; connectionRadius: number; domNode: HTMLDivElement | null; handleId: string | null; nodeId: string; isTarget: boolean; nodeLookup: NodeLookup<InternalNodeBase<NodeType>>; lib: string; flowId: string | null; edgeUpdaterType?: HandleType; updateConnection: UpdateConnection<InternalNodeBase<NodeType>>; panBy: PanBy; cancelConnection: () => void; onConnectStart?: OnConnectStart; onConnect?: OnConnect; onConnectEnd?: OnConnectEnd<NodeType>; isValidConnection?: IsValidConnection<EdgeType>; onReconnectEnd?: (evt: MouseEvent | TouchEvent, connectionState: FinalConnectionState<InternalNodeBase<NodeType>>) => void; getTransform: () => Transform; getFromHandle: () => Handle | null; autoPanSpeed?: number; dragThreshold?: number; handleDomNode: Element; }; export type IsValidParams<NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase> = { handle: Pick<Handle, 'nodeId' | 'id' | 'type'> | null; connectionMode: ConnectionMode; fromNodeId: string; fromHandleId: string | null; fromType: HandleType; isValidConnection?: IsValidConnection<EdgeType>; doc: Document | ShadowRoot; lib: string; flowId: string | null; nodeLookup: NodeLookup<InternalNodeBase<NodeType>>; }; export type XYHandleInstance = { onPointerDown: (event: MouseEvent | TouchEvent, params: OnPointerDownParams) => void; isValid: (event: MouseEvent | TouchEvent, params: IsValidParams) => Result; }; export type Result = { handleDomNode: Element | null; isValid: boolean; connection: Connection | null; toHandle: Handle | null; }; //# sourceMappingURL=types.d.ts.map