From 3a49f0d7926024d0adec36816e8d136c47a094e3 Mon Sep 17 00:00:00 2001 From: Mark Tolmacs Date: Mon, 25 Aug 2025 16:02:37 +0200 Subject: [PATCH] Fix arrow drag selection logic --- packages/element/src/dragElements.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/element/src/dragElements.ts b/packages/element/src/dragElements.ts index 08e791a625..9e82953cc9 100644 --- a/packages/element/src/dragElements.ts +++ b/packages/element/src/dragElements.ts @@ -140,8 +140,11 @@ export const dragSelectedElements = ( simultaneouslyUpdated: Array.from(elementsToUpdate), }); } else if ( - // NOTE: Add a little initial drag to the arrow dragging to avoid - // accidentally unbinding the arrow when the user just wants to select it. + // NOTE: Add a little initial drag to the arrow dragging when the arrow + // is the single element being dragged to avoid accidentally unbinding + // the arrow when the user just wants to select it. + + elementsToUpdate.size > 1 || Math.max(Math.abs(adjustedOffset.x), Math.abs(adjustedOffset.y)) > DRAGGING_THRESHOLD || (!element.startBinding && !element.endBinding)