diff --git a/docs/examples/edge-markers/App.vue b/docs/examples/edge-markers/App.vue
new file mode 100644
index 000000000..d825eae44
--- /dev/null
+++ b/docs/examples/edge-markers/App.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/examples/edge-markers/CustomEdge.vue b/docs/examples/edge-markers/CustomEdge.vue
new file mode 100644
index 000000000..5709ea38f
--- /dev/null
+++ b/docs/examples/edge-markers/CustomEdge.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
diff --git a/docs/examples/edge-markers/CustomMarker.vue b/docs/examples/edge-markers/CustomMarker.vue
new file mode 100644
index 000000000..4579bb494
--- /dev/null
+++ b/docs/examples/edge-markers/CustomMarker.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
diff --git a/docs/examples/edge-markers/index.ts b/docs/examples/edge-markers/index.ts
new file mode 100644
index 000000000..9808c9c1d
--- /dev/null
+++ b/docs/examples/edge-markers/index.ts
@@ -0,0 +1,4 @@
+export { default as EdgeMarkersApp } from './App.vue?raw'
+export { default as EdgeMarkersEdge } from './CustomEdge.vue?raw'
+export { default as EdgeMarkersMarker } from './CustomMarker.vue?raw'
+export { default as EdgeMarkersCSS } from './style.css?inline'
diff --git a/docs/examples/edge-markers/style.css b/docs/examples/edge-markers/style.css
new file mode 100644
index 000000000..00bd5e65f
--- /dev/null
+++ b/docs/examples/edge-markers/style.css
@@ -0,0 +1,11 @@
+.vue-flow__handle {
+ opacity: 0;
+ height: 0 !important;
+ width: 0 !important;
+ min-width: 0 !important;
+ min-height: 0 !important;
+}
+
+.vue-flow__edges {
+ z-index: 9999 !important;
+}
diff --git a/docs/examples/index.ts b/docs/examples/index.ts
index 9504f6874..9b1c53ac1 100644
--- a/docs/examples/index.ts
+++ b/docs/examples/index.ts
@@ -23,6 +23,7 @@ import { SimpleLayoutApp, SimpleLayoutElements, SimpleLayoutIcon, useSimpleLayou
import { LoopbackApp, LoopbackCSS, LoopbackEdge } from './loopback'
import { MathApp, MathCSS, MathElements, MathIcon, MathOperatorNode, MathResultNode, MathValueNode } from './math'
import { ConfirmApp, ConfirmDialog, useDialog } from './confirm-delete'
+import { EdgeMarkersApp, EdgeMarkersCSS, EdgeMarkersEdge, EdgeMarkersMarker } from './edge-markers'
export const exampleImports = {
basic: {
@@ -170,4 +171,10 @@ export const exampleImports = {
'LoopbackEdge.vue': LoopbackEdge,
'style.css': LoopbackCSS,
},
+ markers: {
+ 'App.vue': EdgeMarkersApp,
+ 'CustomEdge.vue': EdgeMarkersEdge,
+ 'CustomMarker.vue': EdgeMarkersMarker,
+ 'style.css': EdgeMarkersCSS,
+ },
}
diff --git a/docs/src/.vitepress/config.mts b/docs/src/.vitepress/config.mts
index 82f774f03..4dab0ad01 100644
--- a/docs/src/.vitepress/config.mts
+++ b/docs/src/.vitepress/config.mts
@@ -244,6 +244,7 @@ export default defineConfigWithTheme({
{ text: 'Updatable Edge', link: '/examples/edges/updatable-edge' },
{ text: 'Custom Connection Line', link: '/examples/edges/connection-line' },
{ text: 'Connection Validation', link: '/examples/edges/validation' },
+ { text: 'Edge Markers', link: '/examples/edges/markers' },
{ text: 'Connection Radius', link: '/examples/edges/connection-radius' },
{ text: 'Loopback Edge', link: '/examples/edges/loopback' },
],
diff --git a/docs/src/examples/edges/markers.md b/docs/src/examples/edges/markers.md
new file mode 100644
index 000000000..3aa8504a6
--- /dev/null
+++ b/docs/src/examples/edges/markers.md
@@ -0,0 +1,5 @@
+# Edge Markers
+
+
+
+