diff --git a/packages/editor/src/editor/ContextMenu.tsx b/packages/editor/src/editor/ContextMenu.tsx
index 792464b..7561277 100644
--- a/packages/editor/src/editor/ContextMenu.tsx
+++ b/packages/editor/src/editor/ContextMenu.tsx
@@ -43,6 +43,14 @@ export function ContextMenu(props: {
onBringForwardSelected?: () => void;
onSendBackwardSelected?: () => void;
onSendToBackSelected?: () => void;
+ onAlignLeftSelected?: () => void;
+ onAlignCenterSelected?: () => void;
+ onAlignRightSelected?: () => void;
+ onAlignTopSelected?: () => void;
+ onAlignMiddleSelected?: () => void;
+ onAlignBottomSelected?: () => void;
+ onDistributeHorizontalSelected?: () => void;
+ onDistributeVerticalSelected?: () => void;
onDeleteSelected?: () => void;
}) {
const { onClose } = props;
@@ -196,6 +204,10 @@ export function ContextMenu(props: {
props.onSendBackwardSelected &&
orderIds.some((id, i) => movableSet.has(id) && i > 0 && !movableSet.has(orderIds[i - 1]!));
+ const movableCount = movableSelectionIds.length;
+ const canAlign = canModifySelection && movableCount >= 2;
+ const canDistribute = canModifySelection && movableCount >= 3;
+
const hasTarget = ctx.kind === 'node';
const targetId = hasTarget ? ctx.targetId : undefined;
const targetInSelection = !!targetId && selectionIds.includes(targetId);
@@ -352,6 +364,74 @@ export function ContextMenu(props: {
}}
/>
+
+
+