diff --git a/packages/react/src/hooks/useReactFlow.ts b/packages/react/src/hooks/useReactFlow.ts index b793bfe0..6149084c 100644 --- a/packages/react/src/hooks/useReactFlow.ts +++ b/packages/react/src/hooks/useReactFlow.ts @@ -6,6 +6,7 @@ import { getBoundsOfBoxes, getElementsToRemove, getOverlappingArea, + isInternalNodeBase, isRectObject, NodeRemoveChange, nodeToBox, @@ -233,7 +234,7 @@ export function useReactFlow { + getNodesBounds: (nodes: (NodeType | InternalNode | string)[]): Rect => { if (nodes.length === 0) { return { x: 0, y: 0, width: 0, height: 0 }; } @@ -243,7 +244,11 @@ export function useReactFlow { const internalNode = - typeof node === 'string' ? nodeLookup.get(node) : node.parentId ? nodeLookup.get(node.id) : node; + typeof node === 'string' + ? nodeLookup.get(node) + : !isInternalNodeBase(node) + ? nodeLookup.get(node.id) + : node; const nodeBox = internalNode ? nodeToBox(internalNode, nodeOrigin) : { x: 0, y: 0, x2: 0, y2: 0 }; return getBoundsOfBoxes(currBox, nodeBox); diff --git a/packages/svelte/src/lib/hooks/useSvelteFlow.ts b/packages/svelte/src/lib/hooks/useSvelteFlow.ts index 2de1e393..936945f3 100644 --- a/packages/svelte/src/lib/hooks/useSvelteFlow.ts +++ b/packages/svelte/src/lib/hooks/useSvelteFlow.ts @@ -17,7 +17,8 @@ import { nodeHasDimensions, nodeToBox, getBoundsOfBoxes, - boxToRect + boxToRect, + isInternalNodeBase } from '@xyflow/system'; import { useStore } from '$lib/store'; @@ -240,7 +241,7 @@ export function useSvelteFlow(): { * * @returns the bounds of the given nodes */ - getNodesBounds: (nodes: (Node | string)[]) => Rect; + getNodesBounds: (nodes: (Node | InternalNode | string)[]) => Rect; } { const { zoomIn, @@ -532,7 +533,7 @@ export function useSvelteFlow(): { const internalNode = typeof node === 'string' ? _nodeLookup.get(node) - : node.parentId + : !isInternalNodeBase(node) ? _nodeLookup.get(node.id) : node; diff --git a/packages/svelte/src/lib/plugins/NodeToolbar/NodeToolbar.svelte b/packages/svelte/src/lib/plugins/NodeToolbar/NodeToolbar.svelte index 1de880b3..58d73db5 100644 --- a/packages/svelte/src/lib/plugins/NodeToolbar/NodeToolbar.svelte +++ b/packages/svelte/src/lib/plugins/NodeToolbar/NodeToolbar.svelte @@ -1,11 +1,12 @@