diff --git a/packages/excalidraw/actions/actionAlign.tsx b/packages/excalidraw/actions/actionAlign.tsx index 0ef938c67..5f660a8ae 100644 --- a/packages/excalidraw/actions/actionAlign.tsx +++ b/packages/excalidraw/actions/actionAlign.tsx @@ -8,6 +8,8 @@ import { KEYS, arrayToMap, getShortcutKey } from "@excalidraw/common"; import { alignElements } from "@excalidraw/element/align"; +import { getMaximumGroups } from "@excalidraw/element/groups"; + import type { ExcalidrawElement } from "@excalidraw/element/types"; import type { Alignment } from "@excalidraw/element/align"; @@ -36,8 +38,12 @@ export const alignActionsPredicate = ( app: AppClassProperties, ) => { const selectedElements = app.scene.getSelectedElements(appState); + const groups = getMaximumGroups( + selectedElements, + app.scene.getNonDeletedElementsMap(), + ); return ( - selectedElements.length > 1 && + groups.length > 1 && // TODO enable aligning frames when implemented properly !selectedElements.some((el) => isFrameLikeElement(el)) );