diff --git a/packages/excalidraw/element/duplicate.ts b/packages/excalidraw/element/duplicate.ts index 42ebbc414..992b8555f 100644 --- a/packages/excalidraw/element/duplicate.ts +++ b/packages/excalidraw/element/duplicate.ts @@ -129,6 +129,15 @@ export const duplicateElements = ( opts?.idsOfElementsToDuplicate ?? new Map(elements.map((el) => [el.id, el])); + // For sanity + if (opts?.appState?.selectedGroupIds) { + for (const groupId of Object.keys(opts.appState.selectedGroupIds)) { + elements + .filter((el) => el.groupIds?.includes(groupId)) + .forEach((el) => _idsOfElementsToDuplicate.set(el.id, el)); + } + } + elements = normalizeElementOrder(elements); const elementsWithClones: ExcalidrawElement[] = elements.slice();