Skip to main content

createSmartEdge

Factory that returns a React Flow edge component for a preset with baked-in options.

import { createSmartEdge } from "@tisoap/react-flow-smart-edge";

const edgeTypes = {
smartStep: createSmartEdge("step", { gridRatio: 5, nodePadding: 20 }),
floatingBezier: createSmartEdge("bezier", { floating: true }),
editableBezier: createSmartEdge("bezier", { editable: true }),
};

Presets

PresetEquivalent component
"bezier"SmartBezierEdge
"straight"SmartStraightEdge
"step"SmartStepEdge
"smoothstep"SmartSmoothStepEdge
"simplebezier"SmartSimpleBezierEdge

drawEdge and generatePath

Function options passed to createSmartEdge are ignored when the edge routes through SmartEdgeProvider (they cannot be sent to the worker). Serializable options (gridRatio, nodePadding, avoidAreas, borderRadius, hops, editable, …) still apply. For a custom drawer or pathfinder, call getSmartEdge on the main thread.

Important

Define edgeTypes at module scope. React Flow compares edge type components by reference; creating them during render remounts edges.

See Configuring edge options.