diff --git a/packages/react/src/components/EdgeLabelRenderer/index.tsx b/packages/react/src/components/EdgeLabelRenderer/index.tsx
index 647811cb..2b603dc3 100644
--- a/packages/react/src/components/EdgeLabelRenderer/index.tsx
+++ b/packages/react/src/components/EdgeLabelRenderer/index.tsx
@@ -10,37 +10,38 @@ const selector = (s: ReactFlowState) => s.domNode?.querySelector('.react-flow__e
* Edges are SVG-based. If you want to render more complex labels you can use the
* `` component to access a div based renderer. This component
* is a portal that renders the label in a `
` that is positioned on top of
- * the edges. You can see an example usage of the component in the [edge label renderer](/examples/edges/edge-label-renderer) example.
+ * the edges. You can see an example usage of the component in the
+ * [edge label renderer example](/examples/edges/edge-label-renderer).
* @public
*
* @example
- *```jsx
- *import React from 'react';
- *import { getBezierPath, EdgeLabelRenderer, BaseEdge } from '@xyflow/react';
+ * ```jsx
+ * import React from 'react';
+ * import { getBezierPath, EdgeLabelRenderer, BaseEdge } from '@xyflow/react';
*
- *export function CustomEdge({ id, data, ...props }) {
- * const [edgePath, labelX, labelY] = getBezierPath(props);
+ * export function CustomEdge({ id, data, ...props }) {
+ * const [edgePath, labelX, labelY] = getBezierPath(props);
*
- * return (
- * <>
- *
- *
- *
- * {data.label}
- *
- *
- * >
- * );
- *};
- *```
+ * return (
+ * <>
+ *
+ *
+ *
+ * {data.label}
+ *
+ *
+ * >
+ * );
+ * };
+ * ```
*
* @remarks The `` has no pointer events by default. If you want to
* add mouse interactions you need to set the style `pointerEvents: all` and add
diff --git a/packages/react/src/components/Edges/BezierEdge.tsx b/packages/react/src/components/Edges/BezierEdge.tsx
index 482f1fd8..3e84a39b 100644
--- a/packages/react/src/components/Edges/BezierEdge.tsx
+++ b/packages/react/src/components/Edges/BezierEdge.tsx
@@ -61,7 +61,34 @@ function createBezierEdge(params: { isInternal: boolean }) {
);
}
+/**
+ * Component that can be used inside a custom edge to render a bezier curve.
+ *
+ * @public
+ * @example
+ *
+ * ```tsx
+ * import { BezierEdge } from '@xyflow/react';
+ *
+ * function CustomEdge({ sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition }) {
+ * return (
+ *
+ * );
+ * }
+ * ```
+ */
const BezierEdge = createBezierEdge({ isInternal: false });
+
+/**
+ * @internal
+ */
const BezierEdgeInternal = createBezierEdge({ isInternal: true });
BezierEdge.displayName = 'BezierEdge';
diff --git a/packages/react/src/components/Edges/EdgeAnchor.tsx b/packages/react/src/components/Edges/EdgeAnchor.tsx
index a975eaf5..9ee5f600 100644
--- a/packages/react/src/components/Edges/EdgeAnchor.tsx
+++ b/packages/react/src/components/Edges/EdgeAnchor.tsx
@@ -27,6 +27,9 @@ export interface EdgeAnchorProps extends SVGAttributes {
const EdgeUpdaterClassName = 'react-flow__edgeupdater';
+/**
+ * @internal
+ */
export function EdgeAnchor({
position,
centerX,
diff --git a/packages/react/src/components/Edges/EdgeText.tsx b/packages/react/src/components/Edges/EdgeText.tsx
index 2c79f718..9807302a 100644
--- a/packages/react/src/components/Edges/EdgeText.tsx
+++ b/packages/react/src/components/Edges/EdgeText.tsx
@@ -77,26 +77,26 @@ EdgeTextComponent.displayName = 'EdgeText';
* You can use the `` component as a helper component to display text
* within your custom edges.
*
- *@public
+ * @public
*
- *@example
- *```jsx
- *import { EdgeText } from '@xyflow/react';
+ * @example
+ * ```jsx
+ * import { EdgeText } from '@xyflow/react';
*
- *export function CustomEdgeLabel({ label }) {
- * return (
- *
- * );
- *}
+ * export function CustomEdgeLabel({ label }) {
+ * return (
+ *
+ * );
+ * }
*```
*/
export const EdgeText = memo(EdgeTextComponent);
diff --git a/packages/react/src/components/Edges/SmoothStepEdge.tsx b/packages/react/src/components/Edges/SmoothStepEdge.tsx
index 1f6bcfd1..8b1475cf 100644
--- a/packages/react/src/components/Edges/SmoothStepEdge.tsx
+++ b/packages/react/src/components/Edges/SmoothStepEdge.tsx
@@ -62,7 +62,34 @@ function createSmoothStepEdge(params: { isInternal: boolean }) {
);
}
+/**
+ * Component that can be used inside a custom edge to render a smooth step edge.
+ *
+ * @public
+ * @example
+ *
+ * ```tsx
+ * import { SmoothStepEdge } from '@xyflow/react';
+ *
+ * function CustomEdge({ sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition }) {
+ * return (
+ *
+ * );
+ * }
+ * ```
+ */
const SmoothStepEdge = createSmoothStepEdge({ isInternal: false });
+
+/**
+ * @internal
+ */
const SmoothStepEdgeInternal = createSmoothStepEdge({ isInternal: true });
SmoothStepEdge.displayName = 'SmoothStepEdge';
diff --git a/packages/react/src/components/Edges/StepEdge.tsx b/packages/react/src/components/Edges/StepEdge.tsx
index 6385e8f0..cd08758c 100644
--- a/packages/react/src/components/Edges/StepEdge.tsx
+++ b/packages/react/src/components/Edges/StepEdge.tsx
@@ -21,7 +21,34 @@ function createStepEdge(params: { isInternal: boolean }) {
});
}
+/**
+ * Component that can be used inside a custom edge to render a step edge.
+ *
+ * @public
+ * @example
+ *
+ * ```tsx
+ * import { StepEdge } from '@xyflow/react';
+ *
+ * function CustomEdge({ sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition }) {
+ * return (
+ *
+ * );
+ * }
+ * ```
+ */
const StepEdge = createStepEdge({ isInternal: false });
+
+/**
+ * @internal
+ */
const StepEdgeInternal = createStepEdge({ isInternal: true });
StepEdge.displayName = 'StepEdge';
diff --git a/packages/react/src/components/Edges/StraightEdge.tsx b/packages/react/src/components/Edges/StraightEdge.tsx
index 53d1ac29..4f4cd76b 100644
--- a/packages/react/src/components/Edges/StraightEdge.tsx
+++ b/packages/react/src/components/Edges/StraightEdge.tsx
@@ -50,7 +50,32 @@ function createStraightEdge(params: { isInternal: boolean }) {
);
}
+/**
+ * Component that can be used inside a custom edge to render a straight line.
+ *
+ * @public
+ * @example
+ *
+ * ```tsx
+ * import { StraightEdge } from '@xyflow/react';
+ *
+ * function CustomEdge({ sourceX, sourceY, targetX, targetY }) {
+ * return (
+ *
+ * );
+ * }
+ * ```
+ */
const StraightEdge = createStraightEdge({ isInternal: false });
+
+/**
+ * @internal
+ */
const StraightEdgeInternal = createStraightEdge({ isInternal: true });
StraightEdge.displayName = 'StraightEdge';