Skip to content
Data, new

Flow Canvas

A node-based workflow editor on an infinite dot grid.

$149 once · every Pro piece

Customize

Pan by dragging empty space or holding Space, and zoom smoothly around the pointer. Typed nodes (Trigger, Action, Condition, Delay, Output) are filled cards that lift when selected. Drag from an output to pull out a wire that sags on a spring: inputs glow as it nears, it snaps into the closest one, and ports that can't take it shake. Press Run and a pulse travels from the trigger along the branch the Condition picks. Each node spins, then checks off with its time in mono, and the path it took stays lit. Includes marquee and Shift-click selection, snap to grid, an animated Tidy layout, undo, duplicate, a draggable minimap and a full keyboard path with announcements.

Install

npx shadcn@latest add @obsyde/flow-canvas

Needs your licence key · Get Pro

Usage

Import it from where the CLI puts it, or copy the files below by hand.

import { FlowCanvas } from '@/components/obsyde/ember/flow-canvas/FlowCanvas';

export function Example() {
  return (
    <FlowCanvas />
  );
}

Files

What you get with Pro: plain React, TypeScript and CSS, with no dependencies.

  • ember/flow-canvas/FlowCanvas.tsxcomponent
  • ember/flow-canvas/flow-canvas.cssstyles
  • ember/flow-canvas/flow-icons.tsxmodule
  • ember/flow-canvas/flow-model.tsmodule
  • ember/flow-canvas/flow-kit.tsmodule
  • ember/flow-canvas/FlowCanvasDemo.tsxdemo
  • ember/shared/accent.tsshared
  • ember/shared/spring.tsshared
  • ember/shared/ember.cssshared

API

PropTypeDefault
accentAccent'ember' | 'volt' | 'arc''ember'
minimapMinimapbooleantrue
snapSnap to gridbooleanfalse
wireStyleWires'bezier' | 'step''bezier'
gridGridbooleantrue
runSpeedRun speed'0.5' | '1' | '2''1'