Skip to content

TerminalDashboard

Terminal Component

The signature component of SYNTHEXA — a fully animated multi-panel data visualization widget with a CRT terminal aesthetic.

Used in the homepage hero and across the site to showcase metrics, status, and automation workflows.

Overview

The TerminalDashboard is a code component that renders:

  • Multi-panel layouts with configurable panels (1–6)
  • Animated typewriter text (Terminal panel)
  • Data visualizations (Sparkline, Bars, Ring, Status)
  • Metrics tiles with labels
  • SVG rendering for custom graphics
  • Customizable colors and animations
  • Full responsive design

Property Controls

Terminal Properties

Appearance

PropertyTypeDefaultDescription
ColorsObjectProject tokensColor overrides for Primary, Secondary, Lines, Background
Font ScaleSlider12pxBase font size for all dashboard text
AnimationEnumLoopLoop (continuous) or Once (play once on mount)
FadeToggleOnFade-in animation on component mount

Content

PropertyTypeDefaultDescription
LabelsObjectSee belowHeader/footer label strings
PanelsNumber6Number of active panels (1–6)
Panel OrderStringEmptyReorder panels (e.g., "3,1,2")

Layout

PropertyTypeDefaultDescription
LayoutEnumAutoPreset layout: Auto, Stacked, Inline, Equal halves, Wide left, Wide right

Individual Panels

Each Panel (1–6) has common properties:

PropertyTypeDescription
TypeEnumTerminal, Bars, Ring, Sparkline, Status, SVG, None
TitleStringOptional panel header
HeightEnumFill (stretch to available space), Fit (to content), or Fixed

Panel-specific properties appear below based on the Type selected.

Panel Types

Terminal

Terminal Panel

Animated typewriter with input/output lines.

PropertyTypeDescription
SpeedSliderAnimation speed (1 = normal, higher = faster)
ScriptTextMultiline terminal script (overrides Lines if provided)
LinesArrayIndividual line items (used only if Script is empty)

Terminal Panel Prop

Script format:

  • Lines starting with > (greater-than symbol) render as input (Primary color)
  • All other lines render as output (Secondary color)
  • When Script is filled, it overrides the Lines array configuration

Lines array:

  • Use when Script is empty to have granular control over individual lines

Lines array

  • Each line item can be either:

    • Text — Terminal text line (same > prefix rules apply)

    Terminal Panel Prop Text

    • SVG — Inline SVG graphic (useful for rendering graphics mid-animation)

    Terminal Panel Prop SVG

Note: Use either Script (for simple text input) OR Lines array (for granular/mixed text+SVG control), not both.

Example:

> synthexa --scan --client=acme_corp
Connecting to 4 systems...
  [✓] CRM: Salesforce
  [✓] Email: Mailchimp
  [✓] Docs: Notion
  [✓] Chat: Slack
Automation complete // 4h saved this month

Terminal Panel Prop

Sparkline

Canvas chart for showing trends.

Sparkline

PropertyTypeDescription
SparklinesArrayCollection of sparkline data series

Sparkline

Each sparkline item contains:

  • Label — Legend label for the line
  • Values — Array of numbers (0–100) representing the trend (add/remove values with sliders)

Values

Bars

Animated horizontal bar chart for comparing percentages.

Bars

PropertyTypeDescription
BarsArrayCollection of bar items

Bars Prop

Each bar item contains:

  • Label — Bar label
  • Value — Numeric value (0–100 for percentage display)

Bars Item Prop

Status

Live status list with pulsing indicators.

Status

PropertyTypeDescription
Status ItemsArrayCollection of status indicators

Status Prop

Each status item contains:

  • Label — Status label
  • State — Status state (Active, Idle, Running, Error)

Status Prop State

Metrics

Key metric tiles with label + value.

Metrics

PropertyTypeDescription
MetricsArrayCollection of metric items
ColumnsSliderNumber of columns (1–6) for layout

Metrics Prop

Each metric item contains:

  • Label — Metric label (e.g., "Processes running")
  • Value — Metric value (e.g., "247" or "99.97%")

Metrics Item Prop

Ring

Animated circular gauge. Single and Dual mode.

Ring

PropertyTypeDescription
Ring ModeEnumSingle (one ring) or Dual (two concentric rings)
Ring 1 %SliderFirst ring percentage (0–100)
Ring 1 LabelTextLabel for first ring
Ring 2 %SliderSecond ring percentage (0–100, Dual mode only)
Ring 2 LabelTextLabel for second ring (Dual mode only)

Ring Prop

SVG

Render custom SVG graphics with optional color theming.

SVG

PropertyTypeDescription
SVG CodeTextRaw SVG markup
Apply ColorToggleApply Primary color accent to SVG
ScaleSliderSVG scale factor (0.1–5)
PaddingSliderPadding around SVG (0–32px)

SVG Prop

Tips:

  • Paste complete <svg> tags into SVG Code
  • Enable "Apply Color" to tint the SVG with the TerminalPrimary token color
  • Use Scale to resize the SVG within the panel
  • Padding adds space around the SVG content

None

Empty panel — use to disable a slot or add intentional whitespace.

Layout Presets

Auto

Automatically arranges panels based on count and aspect ratios.

Auto

Stacked

Panels stack vertically.

Terminal Stacked

┌────────┐
│ Panel1 │
├────────┤
│ Panel2 │
├────────┤
│ Panel3 │
└────────┘

Inline

Panels arrange horizontally.

Terminal Inline

┌────┬────┬────┐
│ P1 │ P2 │ P3 │
└────┴────┴────┘

Equal Halves

Two columns of equal width.

Terminal Equal

┌────┬────┐
│ P1 │ P2 │
├────┼────┤
│ P3 │ P4 │
└────┴────┘

Wide Left / Wide Right

Asymmetric two-column layout where one column is wider than the other.

Wide Left: Left column is wider

Terminal Left

┌──────────┬────┐
│  Panel   │ P2 │
│    1     ├────┤
│          │ P3 │
└──────────┴────┘

Wide Right: Right column is wider

Terminal Right

┌────┬──────────┐
│ P2 │  Panel   │
├────┤    1     │
│ P3 │          │
└────┴──────────┘

Panels fill the available space in their column regardless of count.

Custom Layout

Create a custom layout using a split string:

  1. In the Layout properties, toggle Advanced to On
  2. Enter a Custom Split string (e.g., 2|2 for 2 panels left, 2 right)

Format: Numbers separated by | representing panel counts in each column.

WARNING

The sum of the split numbers must equal the total Panels count set above. For example, if you have 6 panels, use 2|2|2 (2+2+2=6), not 2|3.

Examples (with 6 total panels):

  • 2|2|2 — 2 panels in each of 3 columns (2+2+2=6)
  • 2|4 — 2 panels on left, 4 on right (2+4=6)
  • 3|2|1 — 3 panels left, 2 middle, 1 right (3+2+1=6)

Custom Split

Colors

FieldDefault TokenControls
Primary/Terminal/TerminalPrimaryCanvas elements, input lines, active indicators
Secondary/Terminal/TerminalSecondaryOutput lines, labels
Lines/Terminal/TerminalLinesPanel borders
Background/Background/BackgroundBaseComponent background

Animation Settings

Loop

Typewriter animation repeats continuously (loops).

Once

Typewriter animation plays once on component mount, then freezes and doesn't repeat.

Fade

Fade-in animation when component mounts:

  • On — Component fades in with customizable duration (default 200ms, range 50–2000ms)
  • Off — Component appears instantly

Common Configurations

Simple Status Dashboard

Panels: 3
Layout: Stacked
- Panel 1: Status (Active services)
- Panel 2: Ring (99% uptime)
- Panel 3: Metrics (Key stats)

Process Visualization

Panels: 2
Layout: Wide left
- Panel 1: Terminal (Workflow script)
- Panel 2: Sparkline (Performance over time)

Metric Overview

Panels: 4
Layout: Equal halves
- Panel 1: Metrics (Team size)
- Panel 2: Ring (Capacity)
- Panel 3: Bars (Workload distribution)
- Panel 4: Status (System status)

Made by Pixometra