diff --git a/src/components/Edges/EdgeAnchor.tsx b/src/components/Edges/EdgeAnchor.tsx
new file mode 100644
index 00000000..a452ef39
--- /dev/null
+++ b/src/components/Edges/EdgeAnchor.tsx
@@ -0,0 +1,42 @@
+import React from 'react';
+
+import { Position } from '../../types';
+
+const shiftX = (x: number, shift: number, position: Position) => {
+ if (position === Position.Left) return x - shift;
+ if (position === Position.Right) return x + shift;
+ return x;
+}
+
+const shiftY = (y: number, shift: number, position: Position) => {
+ if (position === Position.Top) return y - shift;
+ if (position === Position.Bottom) return y + shift;
+ return y;
+}
+
+export interface EdgeAnchorProps {
+ className?: string
+ position: Position
+ centerX: number
+ centerY: number
+ radius?: number
+}
+
+export const EdgeAnchor = ({
+ className = "react-flow__edgeupdater",
+ position,
+ centerX,
+ centerY,
+ radius = 10
+}: EdgeAnchorProps): JSX.Element => {
+ return (
+
+ );
+}
diff --git a/src/components/Edges/wrapEdge.tsx b/src/components/Edges/wrapEdge.tsx
index 509974b1..0185f298 100644
--- a/src/components/Edges/wrapEdge.tsx
+++ b/src/components/Edges/wrapEdge.tsx
@@ -4,6 +4,7 @@ import cc from 'classcat';
import { useStoreActions, useStoreState } from '../../store/hooks';
import { Edge, EdgeProps, WrapEdgeProps } from '../../types';
import { onMouseDown } from '../../components/Handle/handler';
+import { EdgeAnchor } from './EdgeAnchor';
export default (EdgeComponent: ComponentType) => {
const EdgeWrapper = ({
@@ -146,13 +147,10 @@ export default (EdgeComponent: ComponentType) => {
onMouseEnter={onEdgeUpdaterMouseEnter}
onMouseOut={onEdgeUpdaterMouseOut}
>
-
)}
@@ -187,13 +185,10 @@ export default (EdgeComponent: ComponentType) => {
onMouseEnter={onEdgeUpdaterMouseEnter}
onMouseOut={onEdgeUpdaterMouseOut}
>
-
)}