UNPKG

@qwu4xyv/system

Version:

xyflow core system that powers React Flow and Svelte Flow.

83 lines 2.5 kB
import { Position } from './utils'; export type EdgeBase<EdgeData extends Record<string, unknown> = Record<string, unknown>, EdgeType extends string | undefined = string | undefined> = { /** Unique id of an edge */ id: string; /** Type of an edge defined in edgeTypes */ type?: EdgeType; /** Id of source node */ source: string; /** Id of target node */ target: string; /** Id of source handle * only needed if there are multiple handles per node */ sourceHandle?: string | null; /** Id of target handle * only needed if there are multiple handles per node */ targetHandle?: string | null; animated?: boolean; hidden?: boolean; deletable?: boolean; selectable?: boolean; /** Arbitrary data passed to an edge */ data?: EdgeData; selected?: boolean; /** Set the marker on the beginning of an edge * @example 'arrow', 'arrowclosed' or custom marker */ markerStart?: EdgeMarkerType; /** Set the marker on the end of an edge * @example 'arrow', 'arrowclosed' or custom marker */ markerEnd?: EdgeMarkerType; zIndex?: number; ariaLabel?: string; /** Padding around the edge where interaction is still possible */ interactionWidth?: number; }; export type SmoothStepPathOptions = { offset?: number; borderRadius?: number; }; export type StepPathOptions = { offset?: number; }; export type BezierPathOptions = { curvature?: number; }; export type DefaultEdgeOptionsBase<EdgeType extends EdgeBase> = Omit<EdgeType, 'id' | 'source' | 'target' | 'sourceHandle' | 'targetHandle' | 'selected'>; export declare enum ConnectionLineType { Bezier = "default", Straight = "straight", Step = "step", SmoothStep = "smoothstep", SimpleBezier = "simplebezier" } export type EdgeMarker = { type: MarkerType; color?: string; width?: number; height?: number; markerUnits?: string; orient?: string; strokeWidth?: number; }; export type EdgeMarkerType = string | EdgeMarker; export declare enum MarkerType { Arrow = "arrow", ArrowClosed = "arrowclosed" } export type MarkerProps = EdgeMarker & { id: string; }; export type EdgePosition = { sourceX: number; sourceY: number; targetX: number; targetY: number; sourcePosition: Position; targetPosition: Position; }; export type EdgeLookup<EdgeType extends EdgeBase = EdgeBase> = Map<string, EdgeType>; //# sourceMappingURL=edges.d.ts.map