Merge pull request #5266 from xyflow/fix/handle-snapping

Fix/handle snapping
This commit is contained in:
Moritz Klack
2025-05-15 16:11:57 +02:00
committed by GitHub
2 changed files with 10 additions and 3 deletions

View File

@@ -0,0 +1,7 @@
---
'@xyflow/system': patch
'@xyflow/react': patch
'@xyflow/svelte': patch
---
Fix connection snapping for handles larger than connectionRadius

View File

@@ -157,8 +157,8 @@ function onPointerDown(
...previousConnection,
isValid,
to:
closestHandle && isValid
? rendererPointToPoint({ x: closestHandle.x, y: closestHandle.y }, transform)
result.toHandle && isValid
? rendererPointToPoint({ x: result.toHandle.x, y: result.toHandle.y }, transform)
: position,
toHandle: result.toHandle,
toPosition: isValid && result.toHandle ? result.toHandle.position : oppositePosition[fromHandle.position],
@@ -295,7 +295,7 @@ function isValidHandle(
result.isValid = isValid && isValidConnection(connection);
result.toHandle = getHandle(handleNodeId, handleType, handleId, nodeLookup, connectionMode, false);
result.toHandle = getHandle(handleNodeId, handleType, handleId, nodeLookup, connectionMode, true);
}
return result;