diff --git a/.changeset/wicked-cows-press.md b/.changeset/wicked-cows-press.md new file mode 100644 index 00000000..0ddcfabe --- /dev/null +++ b/.changeset/wicked-cows-press.md @@ -0,0 +1,5 @@ +--- +'@xyflow/system': patch +--- + +Round floating numbers for node positions when dragging a multi selection diff --git a/packages/system/src/xydrag/XYDrag.ts b/packages/system/src/xydrag/XYDrag.ts index 232fd574..1da0720d 100644 --- a/packages/system/src/xydrag/XYDrag.ts +++ b/packages/system/src/xydrag/XYDrag.ts @@ -154,12 +154,11 @@ export function XYDrag voi } let nextPosition = { x: x - dragItem.distance.x, y: y - dragItem.distance.y }; - if (snapToGrid) { nextPosition = multiDragSnapOffset ? { - x: nextPosition.x + multiDragSnapOffset.x, - y: nextPosition.y + multiDragSnapOffset.y, + x: Math.round(nextPosition.x + multiDragSnapOffset.x), + y: Math.round(nextPosition.y + multiDragSnapOffset.y), } : snapPosition(nextPosition, snapGrid); }