From 42746a19767f6ed0d189c6760959c43f0dddb859 Mon Sep 17 00:00:00 2001 From: Bill Leoutsakos Date: Tue, 22 Sep 2026 12:52:14 -0700 Subject: [PATCH] improvement(ui): share canvas toolbar controls --- .../canvas-control-button.tsx | 25 ++++++++++++ .../workflow-controls/workflow-controls.tsx | 38 +++++-------------- 2 files changed, 34 insertions(+), 29 deletions(-) create mode 100644 apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-controls/canvas-control-button.tsx diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-controls/canvas-control-button.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-controls/canvas-control-button.tsx new file mode 100644 index 00000000000..2638999f0e9 --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-controls/canvas-control-button.tsx @@ -0,0 +1,25 @@ +import { type ComponentProps, forwardRef } from 'react' +import { Button, chipHoverSurfaceClass, cn } from '@sim/emcn' + +interface CanvasControlButtonProps + extends Omit< + ComponentProps, + 'variant' | 'size' | 'iconSize' | 'iconPadding' | 'className' + > { + active?: boolean + 'aria-label': string +} + +/** Fixed-size action in the canvas navigation toolbar. */ +export const CanvasControlButton = forwardRef( + ({ active = false, ...props }, ref) => ( + + + Undo @@ -177,15 +168,9 @@ export const WorkflowControls = memo(function WorkflowControls() { - + Redo @@ -196,14 +181,9 @@ export const WorkflowControls = memo(function WorkflowControls() { - + Fit to View