Browse Source

fix: allow binding elbow arrows to frame children (#8309)

David Luzar 1 year ago
parent
commit
e63dd025c9
1 changed files with 9 additions and 1 deletions
  1. 9 1
      packages/excalidraw/element/binding.ts

+ 9 - 1
packages/excalidraw/element/binding.ts

@@ -38,6 +38,7 @@ import {
   isBindingElement,
   isBoundToContainer,
   isElbowArrow,
+  isFrameLikeElement,
   isLinearElement,
   isTextElement,
 } from "./typeChecks";
@@ -517,7 +518,14 @@ export const getHoveredElementForBinding = (
     elements,
     (element) =>
       isBindableElement(element, false) &&
-      bindingBorderTest(element, pointerCoords, elementsMap, fullShape),
+      bindingBorderTest(
+        element,
+        pointerCoords,
+        elementsMap,
+        // disable fullshape snapping for frame elements so we
+        // can bind to frame children
+        fullShape && !isFrameLikeElement(element),
+      ),
   );
   return hoveredElement as NonDeleted<ExcalidrawBindableElement> | null;
 };