<BaseEdge />
The <BaseEdge />
component gets used internally for all the edges. It can be
used inside a custom edge and handles the invisible helper edge and the edge label
for you.
import { BaseEdge } from '@xyflow/react';
export function CustomEdge({ sourceX, sourceY, targetX, targetY, ...props }) {
const [edgePath] = getStraightPath({
sourceX,
sourceY,
targetX,
targetY,
});
return <BaseEdge path={edgePath} {...props} />;
}
Props
Name | Type | Default |
---|---|---|
path | string The SVG path string that defines the edge. This should look something like
| |
markerStart | string The id of the SVG marker to use at the start of the edge. This should be defined in a
| |
markerEnd | string The id of the SVG marker to use at the end of the edge. This should be defined in a | |
label | ReactNode The label or custom element to render along the edge. This is commonly a text label or some custom controls. | |
labelStyle | CSSProperties Custom styles to apply to the label. | |
labelShowBg | boolean | |
labelBgStyle | CSSProperties | |
labelBgPadding | [number, number] | |
labelBgBorderRadius | number | |
interactionWidth | number The width of the invisible area around the edge that the user can interact with. This is useful for making the edge easier to click or hover over. | 20 |
labelX | number The x position of edge label | |
labelY | number The y position of edge label | |
...props | Omit<SVGAttributes<SVGPathElement>, "d" | "path" | "markerStart" | "markerEnd"> |
Notes
- If you want to use an edge marker with the
<BaseEdge />
component, you can pass themarkerStart
ormarkerEnd
props passed to your custom edge through to the<BaseEdge />
component. You can see all the props passed to a custom edge by looking at theEdgeProps
type.