diff --git a/packages/svelte/src/lib/components/edges/StepEdge.svelte b/packages/svelte/src/lib/components/edges/StepEdge.svelte
new file mode 100644
index 00000000..b765adcc
--- /dev/null
+++ b/packages/svelte/src/lib/components/edges/StepEdge.svelte
@@ -0,0 +1,20 @@
+
+
+
diff --git a/packages/svelte/src/lib/store/initial-store.ts b/packages/svelte/src/lib/store/initial-store.ts
index 4d3cfdbf..31e37833 100644
--- a/packages/svelte/src/lib/store/initial-store.ts
+++ b/packages/svelte/src/lib/store/initial-store.ts
@@ -16,6 +16,7 @@ import OutputNode from '$lib/components/nodes/OutputNode.svelte';
import BezierEdge from '$lib/components/edges/BezierEdge.svelte';
import StraightEdge from '$lib/components/edges/StraightEdge.svelte';
import SmoothStepEdge from '$lib/components/edges/SmoothStepEdge.svelte';
+import StepEdge from '$lib/components/edges/StepEdge.svelte';
import type {
ConnectionData,
NodeTypes,
@@ -43,7 +44,8 @@ export const initialNodeTypes = {
export const initialEdgeTypes = {
straight: StraightEdge,
smoothstep: SmoothStepEdge,
- default: BezierEdge
+ default: BezierEdge,
+ step: StepEdge
};
export const initialStoreState = {
diff --git a/packages/svelte/src/lib/types/edges.ts b/packages/svelte/src/lib/types/edges.ts
index a6b961e4..a60f5f76 100644
--- a/packages/svelte/src/lib/types/edges.ts
+++ b/packages/svelte/src/lib/types/edges.ts
@@ -28,7 +28,15 @@ type BezierEdgeType = DefaultEdge & {
pathOptions?: BezierPathOptions;
};
-export type Edge = DefaultEdge | SmoothStepEdgeType | BezierEdgeType;
+type StepEdgeType = DefaultEdge & {
+ type: 'step';
+};
+
+export type Edge =
+ | DefaultEdge
+ | SmoothStepEdgeType
+ | BezierEdgeType
+ | StepEdgeType;
export type EdgeLayouted = Omit & {
sourceX: number;