diff --git a/package/src/components/Edges/BaseEdge.ts b/package/src/components/Edges/BaseEdge.ts
new file mode 100644
index 00000000..8163881a
--- /dev/null
+++ b/package/src/components/Edges/BaseEdge.ts
@@ -0,0 +1,41 @@
+import { CSSProperties, FunctionalComponent } from 'vue'
+import EdgeText from './EdgeText.vue'
+
+interface Props {
+ centerX: number
+ centerY: number
+ path: string
+ label?: any
+ style?: CSSProperties
+ labelStyle?: any
+ labelShowBg?: boolean
+ labelBgStyle?: any
+ labelBgPadding?: [number, number]
+ labelBgBorderRadius?: number
+ markerStart?: string
+ markerEnd?: string
+}
+
+export default (function BaseEdge(props: Props, { attrs }) {
+ return [
+ h('path', {
+ style: attrs.style,
+ d: props.path,
+ class: 'vue-flow__edge-path',
+ markerEnd: props.markerEnd,
+ markerStart: props.markerStart,
+ }),
+ props.label
+ ? h(EdgeText, {
+ x: props.centerX,
+ y: props.centerY,
+ label: props.label,
+ labelStyle: props.labelStyle,
+ labelShowBg: props.labelShowBg,
+ labelBgStyle: props.labelBgStyle,
+ labelBgPadding: props.labelBgPadding,
+ labelBgBorderRadius: props.labelBgBorderRadius,
+ })
+ : null,
+ ]
+} as FunctionalComponent)
diff --git a/package/src/components/Edges/BaseEdge.vue b/package/src/components/Edges/BaseEdge.vue
deleted file mode 100644
index c77c3d79..00000000
--- a/package/src/components/Edges/BaseEdge.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
diff --git a/package/src/index.ts b/package/src/index.ts
index a5c3c020..b5c82641 100644
--- a/package/src/index.ts
+++ b/package/src/index.ts
@@ -6,6 +6,7 @@ export { default as StepEdge } from './components/Edges/StepEdge.vue'
export { default as BezierEdge } from './components/Edges/BezierEdge.vue'
export { default as SimpleBezierEdge } from './components/Edges/SimpleBezierEdge.vue'
export { default as SmoothStepEdge } from './components/Edges/SmoothStepEdge.vue'
+export { default as BaseEdge } from './components/Edges/BaseEdge'
export {
getBezierPath,