Components

machines-ui

Glyph-drawn graphs, animated terminals, diagrams and the frame primitives they share. Every page below is generated from the component source: props, defaults and types are read from the code, and every example is the live component.

Install

pnpm add @fractaldesign/machines-ui
import '@fractaldesign/machines-ui/style.css';
import { GraphKpi } from '@fractaldesign/machines-ui';

Coverage

76 components
76 with live preview
514 / 514 props described

frame

graphs

Activity A GitHub-style contribution grid: one cell per day, weeks across the frame, on a shared intensity scale.Bars Two mini bar charts joined by an arrow, comparing a series before a processor with the series it produces.Bullet A bullet chart: each row lays an actual value against an optional target along a ticked track, with the value shown at the right.Calendar A one-month calendar grid with a weekday header, accent-marked days, and an optional boxed today.Cells One or more labeled cell grids drawn side by side, each 1/0 matrix rendered with the filled or empty glyph.Compare A grid comparing features against columns, where boolean cells become ✓/– and string cells pass through, with an optional accented column.Countdown Time left until a date.Diff A change summary that marks rows as added, removed, or unchanged, with an optional footer row.Flow One or more rows of labelled nodes joined by arrows, with an accent path for the live branch and muted nodes for what trails it.Funnel A proportional funnel showing labeled stages, values, and their relative widths.Gantt A character-based timeline that positions task bars across a shared track and can show progress.Heatmap A glyph intensity grid: each cell's glyph weight follows its value against a max, with column and row labels and an optional less/more legend.Invoice A compact invoice with billing parties, metadata, line items, totals, and an optional note.Kpi One headline number with a label, an optional hint, and a glyph sparkline of the recent trend.Latency Percentile band chart. Each column is stacked: the p50 fill (█) at the bottom, then p50→p95 (▓), then p95→p99 (▒). Spike markers appear above columns whose point sets `spike: true`.Meter Horizontal progress bar that spans the frame: [ = = = - - - ] 42%.Plot A line or area plot drawn from glyph columns: each value becomes a cap glyph at its height, with a y-scale on the left and optional end labels on the x axis.Quota Quota usage bar: used against a hard limit, with reset date and an end- of-window projection. Billing-style: surfaces the headline figure, the "X of Y" copy, and pace so a customer can see whether they will run out.Rank Ranked rows: each item gets a label, a glyph bar whose length follows its value against the max, and the formatted value on the right.Slo Error-budget burn bar. One fill for spent, a dim trail for the remaining budget, plus window, burn rate, time-to-empty, target, and actual. Pairs with GraphLatency, GraphUptime, and GraphPulse.Slope A before-and-after slope chart: each row shows a from number, a direction arrow, and a to number, with rising rows accented.Spark Packed 1ch sparkline, centered with a small gap. Never stretched.Spec A labeled specification list with optional accent styling on individual values.Stack One or more stacked tracks showing how each row's segments add up, with a shared glyph legend.Stat A row of two to four large figures with labels, each optionally hinted and accented.Table A framed data table with a rule under the header and an optional footer row for totals.Timeline A vertical timeline of dated events, each marked as done, now or next and linked by a rail.Timer A live timer that counts time elapsed since an instant, time since it happened, or shows the local clock.Tree An indented tree with `├─` and `└─` branch characters: each node carries a label, an optional meta tag, and an optional accent, and a single root is drawn without branches.Uptime A calendar-like grid of daily uptime statuses with date bounds and an overall uptime percentage.Waffle Share grid of ~100 cells; filled cells carry the accent.Waterfall A running-total chart that shows how sequential increases and decreases contribute to a final value.

animated

Agni An ASCII fire that burns upward from a pit, with rising sparks and live sliders for the grid size, speed, and cooling.Aum An Aum (ॐ) figure drawn in terminal glyphs, inked in stroke by stroke and then rippled by a resonance wave that travels the stroke order before settling.Boot An animated boot/deploy run in ASCII: each step fills a progress bar, shows its ETA, and lands on a ✓ or ✗, with a summary row that totals the whole run.Cron A live, character-based preview of a cron schedule, showing matching minute and calendar positions.Damru A damru (hourglass drum) drawn in ASCII, pulsing in place through the eight beats of Adi tala.Deps A dependency tree drawn with ASCII branch lines, cascading package by package and showing each name with its version tag.Diya A row of diyas that light one by one and then breathe, drawn as character-art candle flames over a dark gutter; purely decorative.Fire A looping character-art fire animation with adjustable dimensions, cooling, and speed.Flame A flame graph drawn in ASCII, cycling which leaf of the call tree is lit as the hot path.FlowPlayer Plays through an ordered list of process steps, typing on the active step's label and revealing its detail while the finished steps stay marked.Ganga Three stepped river lines cascading down the frame while a lit diya rides the bottom flow; purely decorative.Hash A character-art hashing animation that transforms an input string into a changing digest.Japa A mala (prayer-bead ring) drawn in ASCII, with a marker travelling bead by bead around the circle.Life Conway's Game of Life in block glyphs, framed. Alive is accent, the dead leave a faint trail.Mandala A lotus mandala drawn in terminal glyphs, blooming outward ring by ring and then slowly rotating.Mandel ASCII Mandelbrot with a slow cinematic zoom into seahorse valley.Pulse A live health strip: a window of blips — ok, degraded, or down — appended at a fixed interval, newest on the right, like a heartbeat of a service.Rain A looping character-art rain animation with adjustable trails and dimensions.Scatter An ASCII scatter plot: x/y points mapped onto a grid, with optional accent points and a linear-trend strip.Scope An oscilloscope window that scrolls a data series leftwards, drawing each column as a line or as an area filled down to the baseline.Sequence An animated sequence diagram: four participants (Browser, Server, DB, Worker) on lifelines, with request messages flowing between them in order and activations marking who is busy.Spinners A framed text spinner with built-in or custom frames and an optional loading label.State A four-state machine drawn in ASCII — ready, think, act, done — with the current state and its outgoing transition highlighted.Stream A live sparkline with the current value in large type, appending a new reading on an interval and counting time since the last one.Surya A sun wheel with breathing rays that rises from the horizon to its apex and sets again, forever; purely decorative.Terminal A terminal session that types prompt lines and streams output, with optional looping animation.Ticker A single rotating row of health tokens such as `[ OK ] api`, each keeping its own status colour.Typewriter Types lines of text one character at a time behind a blinking cursor, then optionally clears and repeats.Workflow A directed workflow laid out in character-art: nodes as boxes stacked in layers, edges drawn between them, and a step-through that walks a path and lights each node as active or done.ShuffleText Animates text in by sliding each character through a scramble strip, with optional colour interpolation and scroll, hover or loop triggers.

diagram

flow

machines-ui