Skip to content
Explore

Components

All 614 of them, grouped by what they are for. Every one is typed, themed by the accent, and copyable as source.

components
614
groups
13
new in the latest release
71
showpieces
21

614 components

Foundations

25

Utilities

FocusTrap

Focus containment and restore, written once. Every dialog, drawer and menu in the library shares it.

0.8 kB

standalone

Portal

Renders into a node outside the current tree. Modal, Drawer, Toast, Popover and ContextMenu all need it.

0.3 kB

standalone

Presence

Keeps a node mounted long enough to animate out, and owns the timers so its callers do not have to.

0.7 kB

standalone

SkipLink

Hidden until focused; depends only on the focus tokens.

0.5 kB

standalone

VisuallyHidden

Text for screen readers only. Every icon-only control needs one.

0.2 kB

standalone

LiveRegion

Screen reader announcements through useAnnounce, polite or assertive, with repeated messages spoken again and old text cleared after a delay.

1.0 kB

standalone

HighlightMatch

Wraps search matches in accent-tinted marks, ignoring case and accents, matching each word on its own and treating regex characters literally.

1.2 kB

standalone

ErrorBoundary

Catches a render error in its subtree and shows a fallback, with retry, resetKeys that clear it when the input changes, and an onError hook.

2.9 kB

brings 3

Hotkeys

An app-wide shortcut registry: useHotkey with a platform-aware mod key, sequences like g i, scopes a dialog can take over, conflict warnings and a live list.

3.2 kB

standalone

ThemeScope

Puts one section on a theme of its own: accent, base colour, radius, font and style, reapplied as the mode or the page’s theme changes.

0.7 kB

standalone

LazyMount

Mounts children only when they near the viewport, holding their space until then; can unmount again when far away, and mounts at once without support.

1.0 kB

standalone

VisionSimulator

Shows content as seen with protanopia, deuteranopia, tritanopia, achromatopsia, blur or low contrast, using Machado 2009 matrices in SVG filters.

7.5 kB

brings 5

SpatialNavigation

Arrow keys move focus to the nearest focusable element in that direction by on-screen geometry, leaving inputs and sliders their own keys.

1.7 kB

standalone

MessageFormat

New

An ICU MessageFormat parser and formatter — plural, ordinal, select, offset — with plural forms from Intl.PluralRules and errors at their position.

2.7 kB

standalone

TabCoordinator

New

Elects one leader tab with Web Locks and passes messages over BroadcastChannel, with a panel showing this tab’s role, its peers and the log.

4.9 kB

brings 4

UrlState

New

useUrlState keeps typed state in the query string, with push or replace, debounced writes, Back and Forward, and several keys in one history entry.

2.5 kB

standalone

Layout

30

Structure

AppShell

The floating rounded window on a tinted canvas; full-bleed below xl.

1.0 kB

brings 1

BentoGrid

The mixed-span card grid the overview page lays out.

0.6 kB

standalone

Card

A titled container with an optional action and a body slot - the shape most content ends up in.

1.9 kB

brings 2

PageHeader

Title block with actions, for secondary routes.

1.4 kB

brings 1

PromoBanner

A hero strip: headline, highlighted phrase, supporting link, call to action, and a slot for artwork.

1.7 kB

brings 1

SplitPane

Two panes and a divider that moves by pointer or arrow key, announced as a splitter with its position.

1.5 kB

standalone

AspectRatio

Holds a box to a ratio before its media loads, with CSS aspect-ratio and object-cover, so thumbnail grids never jump as images arrive.

0.7 kB

standalone

Stack

Flex row or column with gaps on the spacing scale, direction that can change per breakpoint, and dividers that sit centred in the gap and turn with it.

1.2 kB

standalone

Container

The centred page column: width presets from the site shell and its own gutters, so pages line up with the header. ContainerBleed runs a child to the edge.

0.6 kB

standalone

Sticky

position: sticky that reports when it has pinned, through data-stuck, a class or a render prop, watched by a sentinel with no scroll listener.

1.1 kB

standalone

MasterDetail

List and detail side by side when wide, one pane at a time when narrow, with focus sent to the detail heading and back to the row.

3.8 kB

brings 2

DashboardGrid

Widgets rearranged by dragging a handle or with Space and the arrow keys, each move announced, and resized from one to four columns.

5.4 kB

brings 3

Sidenotes

Margin notes aligned with their markers and pushed down to avoid overlap; in a narrow container they become inline toggles next to the marker.

2.7 kB

standalone

DockLayout

New

IDE-style docking of tab groups in resizable splits: drag a tab onto a centre or edge, every action also from the keyboard, as a serialisable tree.

9.8 kB

brings 8

Navigation

33

Menus & search

CommandPalette

Modal + Combobox + Kbd over a command registry.

7.0 kB

brings 8

ContextMenu

Menu opened at the pointer, via Portal.

5.8 kB

brings 6

DropdownMenu

Menu with a trigger and keyboard navigation.

6.1 kB

brings 8

Menu

Surface(floating) + Button; owns open state, outside-click and Escape.

5.2 kB

brings 5

RadialMenu

Actions fanned on an arc, equally far from the pointer, or stacked as a speed dial off a floating button, with menu-button keyboard support.

5.0 kB

brings 1

Menubar

A File / Edit / View bar that follows the WAI-ARIA menubar pattern: one tab stop, arrow keys across and down, submenus, checkable items, Escape returns focus.

3.8 kB

standalone

MegaMenu

Site navigation that opens wide panels of grouped, described links, built as a disclosure with hover intent, one panel at a time and Escape to close.

3.4 kB

standalone

LanguageSwitcher

Languages in their own words with English second, a lang attribute on each, a globe trigger and a filter once the list gets long.

6.4 kB

brings 3

VersionSwitcher

Docs version picker with Latest, Pre-release and Deprecated tags, plus a notice on old pages that links to the latest version.

6.2 kB

brings 4

ScopedSearch

Search with a scope picker inside the field and suggestions limited to that scope; typing in:issues sets the scope, and Enter searches with it.

7.6 kB

brings 5

RecentItems

Recently viewed docs, files and projects with time ago, pin, remove and clear, optionally saved to storage so it survives a reload.

5.1 kB

brings 2

FindInPage

Ctrl or ⌘+F for one container: counts matches, steps with Enter, paints them with the CSS Custom Highlight API and opens closed details around a match.

5.8 kB

brings 3

FuzzyFinder

New

fzf-style fuzzy scoring that picks the best character placement and highlights it, responsive across ten thousand items.

5.5 kB

brings 1

FullTextSearch

New

A client-side inverted index with Porter stemming, BM25 ranking, title boost, prefix matching and marked snippets, updated in place.

6.8 kB

brings 1

QueryBar

New

A filter-syntax search field parsed into a tree, with recognised filters as inline chips, schema completion for keys and values, and errors by column.

6.5 kB

standalone

Actions

23

Buttons

Button

A native button plus token classes.

1.3 kB

brings 1

ButtonGroup

Segmented Buttons sharing one border and roving focus.

0.6 kB

standalone

CopyButton

Puts a value on the clipboard and announces it - a glyph turning into a tick tells a screen reader nothing.

3.4 kB

brings 4

IconButton

Glyph-only button; the label is non-visual, so it is required.

1.3 kB

brings 1

SegmentedControl

The nav pill track — a single-select ButtonGroup.

1.5 kB

brings 1

ToggleGroup

On/off toggles in a row, each a real aria-pressed button. Unlike SegmentedControl, having none pressed is allowed.

1.0 kB

standalone

ToggleButton

A single button that stays pressed, announced with aria-pressed, with Button’s variants and sizes, an optional icon swap and a label that never flips.

1.8 kB

brings 3

DownloadButton

One button from idle to progress ring, done and retry, with a cancel control, the file size in the label and each state change announced.

4.4 kB

brings 3

LikeButton

Toggle heart that updates at once and rolls back if saving fails. The count shows as 1.2k but is read out in full; no burst under reduced motion.

2.4 kB

standalone

SocialLoginButtons

Continue-with buttons for six providers with single-colour marks, stacked or as an icon row, a last-used hint and a spinner on the one pressed.

2.7 kB

brings 2

VoteButtons

Upvote and downvote toggles with the score between; the vote shows at once and rolls back if the save fails; vertical or horizontal.

1.6 kB

standalone

FollowButton

A Follow toggle that reads Following and shows Unfollow only on hover or focus, while the accessible name stays the same; optional follower count.

2.9 kB

brings 1

Composed

HoldToConfirm

A destructive action held rather than clicked. Spread commitment beats a dialog dismissed by reflex.

2.4 kB

brings 1

MagneticButton

Button that tracks the pointer.

1.2 kB

standalone

QuickActions

The icon-over-label action row from the balance card, with optional keyboard shortcuts shown on the controls rather than hidden in a help page.

6.1 kB

brings 8

ShimmerButton

A call to action with a sheen sweeping across it and a light that follows the pointer, written to CSS variables rather than to state.

1.5 kB

standalone

SplitButton

A primary action with its alternatives beside it - two buttons with two names, not one button with a hot zone.

7.3 kB

brings 8

ShareMenu

Hands off to navigator.share where it exists, otherwise a menu with copy link (confirmed in words) plus email, X, LinkedIn and Facebook links.

7.1 kB

brings 6

SelectionToolbar

A toolbar that floats above selected text; Alt+F10 moves focus into it, arrows move between buttons, and Escape returns focus.

3.2 kB

brings 1

UnsavedChangesBar

A bar that slides up while a form is dirty, with Discard that asks first, Save with a pending state, Ctrl+S or ⌘S, and an announcement.

7.0 kB

brings 9

AddToCalendar

A menu that adds an event to Google, Outlook.com, Office 365 or Yahoo, or downloads a correctly escaped .ics, with the event details shown first.

8.7 kB

brings 6

DictationButton

A microphone button that types recognised speech into a field at the caret, showing unfinished words as a hint; a message where the browser can’t.

3.0 kB

brings 1

ReadAloud

Reads text aloud with the browser’s voices and highlights each word as it is spoken, with adjustable speed and voice.

9.3 kB

brings 7

Forms & Inputs

80

Choice

Checkbox

Native input with a drawn box; no layout or label of its own.

1.1 kB

standalone

CheckboxGroup

Checkbox + Label + Field; owns the shared name and value array.

2.7 kB

brings 3

Combobox

Select + Input filtering.

7.8 kB

brings 6

MultiSelect

Select + Chip list for the selected values.

8.0 kB

brings 8

Radio

A native radio with a drawn dot. Grouping and layout belong to RadioGroup.

0.8 kB

standalone

RadioGroup

Radio + Label + Field; owns roving focus.

3.0 kB

brings 4

Rating

A radio group drawn as stars.

2.2 kB

brings 1

Select

Menu + Button trigger with listbox semantics. The currency pickers.

6.5 kB

brings 4

Switch

Native checkbox presented as a track and knob.

0.8 kB

standalone

ChoiceCardGroup

Radios or checkboxes drawn as cards with title, description, icon and price, on real inputs so arrow keys and forms just work.

2.4 kB

brings 2

TransferList

Two filterable multi-select lists with move and move-all buttons, full keyboard marking and announced counts.

4.7 kB

brings 1

TreeSelect

Pick one or many from a hierarchy in a popover, with the tree keyboard model, a filter that opens matching branches, and tri-state parents.

8.2 kB

brings 4

CascadeSelect

Side-by-side columns from country to region to city in a popover; pointing or the arrow keys open the next level, and children can load on demand.

7.1 kB

brings 4

ColorSwatchPicker

One colour from a named palette as a radio group, each swatch announced by name, with a tick that picks black or white ink for contrast.

3.7 kB

standalone

LikertScale

A survey matrix of statements against one scale, a labelled radio group per row, that turns into cards in narrow containers and shows progress.

2.0 kB

standalone

SearchableCheckboxList

A long checkbox list with a filter, select all with a mixed state, a selected count and a selected-only view, rendering only the rows in view.

4.8 kB

brings 3

ProductVariantPicker

Size, colour and material checked against real SKUs; a dead-end option is disabled and says why — not made in this combination, or out of stock.

3.0 kB

standalone

SeatMap

A venue map from data with price tiers, a seat limit, arrow keys from seat to seat, a running total, and an optional rule against a single empty seat.

5.3 kB

brings 4

PairwiseRanker

New

Ranks a list by asking which of two matters more, using binary insertion to ask the fewest questions, with ties, skip, undo and arrow keys.

4.1 kB

brings 4

Date & time

Calendar

Month grid with keyboard date navigation.

5.3 kB

brings 4

DatePicker

Calendar in a Popover, wired to a Field.

8.9 kB

brings 9

DateRangePicker

DatePicker with two linked endpoints.

9.7 kB

brings 10

TimePicker

Time selection in a Popover.

5.5 kB

brings 5

MonthPicker

A 4×3 month grid with year stepper, min and max, optional range mode and calendar-style arrow keys; works inline or in a Popover.

4.1 kB

brings 2

TimeSlotPicker

Day strip plus a grid of time slots with taken times struck through, radio semantics and the timezone always shown.

2.4 kB

standalone

DateTimePicker

One field for a date and a time: type YYYY-MM-DD HH:mm or pick from Calendar and TimePicker, with whole-moment limits and the time zone shown.

11 kB

brings 11

DurationInput

Hours, minutes and optional seconds as spinbuttons, stored as seconds; arrows carry between units, and 1h 30m types or pastes straight in.

2.5 kB

standalone

WeekdayPicker

Seven day toggles in the locale’s order with Intl names, plus Weekdays, Weekends and Every day shortcuts that follow the locale’s weekend.

2.0 kB

standalone

TimeRangePicker

Two linked time pickers: the end always follows the start, moving the start keeps the length, and the duration is shown, with an optional overnight mode.

6.7 kB

brings 7

RecurrenceEditor

Repeat rules by day, week, month or year with end conditions, read back as a plain sentence and returned as an RRULE string.

13 kB

brings 13

NaturalDateInput

A date field that reads next fri 3pm or in 2 weeks, shows its reading before committing, offers the other fair readings, and keeps a calendar beside it.

12 kB

brings 9

CronEditor

New

Cron edited field by field with errors in place, described in words, with the next runs in any time zone and daylight-saving shifts flagged.

15 kB

brings 9

Rich input

ColorPicker

Area, hue and alpha controls in a Popover.

5.8 kB

brings 5

Cropper

A crop frame in fractions, not pixels, so it survives a resize. One box-shadow dims everything outside it.

2.0 kB

standalone

FileUpload

Drop zone, file list and progress.

5.5 kB

brings 6

ShortcutRecorder

Records the next combination pressed, swallowing every key including the ones the browser wanted.

2.5 kB

brings 2

SignaturePad

Freehand with speed-varied width, smoothed through midpoints. Strokes are points, so undo and resize both repaint.

2.8 kB

brings 1

CreditCardInput

Card number, expiry and CVC as one control: detects brand, groups digits, checks Luhn and moves between parts as you type.

2.6 kB

standalone

EmojiPicker

Searchable emoji grid with category tabs and recents, a built-in set of about 200 named emoji, and grid arrow-key navigation.

7.6 kB

brings 1

MarkdownEditor

Markdown with a formatting toolbar, Ctrl or ⌘ with B, I and K, and a preview built as React elements, so raw HTML and unsafe links stay inert.

5.5 kB

brings 1

AvatarUpload

A profile photo you click or drop an image onto, with type and size checks stated in words, an optional square crop, and preview URLs revoked when replaced.

6.7 kB

brings 3

CodeEditor

A code textarea with a synced line gutter, Tab and Shift+Tab indenting, auto-indent, paired brackets, and Esc then Tab to leave the field.

3.0 kB

standalone

RichTextEditor

WYSIWYG writing with headings, lists, quotes and links, a toolbar that follows the caret, its own undo history, and HTML sanitised by allow-list, paste included.

12 kB

brings 13

FormulaEditor

A spreadsheet formula bar with a real parser: errors point to the exact character, functions complete, the current argument is marked, and it evaluates.

5.9 kB

standalone

EasingEditor

A cubic-bezier curve shaped with draggable, keyboard-movable handles and presets, with a live preview dot and the cubic-bezier() string ready to copy.

7.4 kB

brings 6

CameraCapture

Take a photo in the page with a live camera preview, a device switch, clear permission states, and retake or use before the still is handed over.

9.5 kB

brings 7

VoiceRecorder

Record voice notes with a live input level meter, pause and resume, a length limit, playback and discard, returning the audio and its real duration.

12 kB

brings 12

CaptionEditor

Time subtitle cues against the playing media, with the current cue highlighted, overlaps flagged, and WebVTT and SRT import and export.

7.3 kB

brings 6

PathEditor

New

A pen tool for SVG paths: corner and smooth anchors, curve splitting that keeps the shape, keyboard nudging, and normalised path data in and out.

9.9 kB

brings 6

ReadabilityMeter

New

A writing field that grades itself live: Flesch scores and inline marks for hard sentences, passive voice, adverbs and plainer words.

5.4 kB

brings 1

Data Display

75

Lists & tables

ActivityFeed

A transaction feed grouped by day with sticky headers and rows that expand in place, so the reader keeps their position.

5.2 kB

brings 8

BulkActionBar

Appears once rows are selected: how many, what can be done to them, and a way out - announced as it changes.

2.9 kB

brings 5

DataExplorer

A whole list screen — search, filters, sortable table and all four data states — wired together once.

11 kB

brings 20

DataTable

Table + sorting, selection, pagination and column state.

6.6 kB

brings 8

DescriptionList

Text + Divider term/definition pairs.

1.4 kB

brings 1

KanbanBoard

Column layout with drag and drop.

3.3 kB

brings 5

List

Layout wrapper owning row rhythm and separators.

0.4 kB

standalone

ListItem

IconTile/Avatar + Text; the subscriptions and transactions row.

1.5 kB

brings 1

Table

Semantic table styled on the line and surface tokens.

1.0 kB

standalone

Timeline

StatusDot + Divider + Text event sequence.

1.7 kB

brings 3

TreeView

Recursive disclosure with full tree keyboard semantics.

3.6 kB

brings 1

VirtualList

Renders only the rows in view, so ten thousand items cost a few dozen nodes and are still announced as ten thousand.

0.9 kB

standalone

FileList

File rows with a type glyph, readable size and date, upload progress or the error in words with Retry, optional selection and a row menu.

9.1 kB

brings 11

TreeTable

Nested rows under shared columns, with treegrid semantics, the tree keyboard model, expand and collapse all, and parent totals rolled up from leaves.

4.6 kB

brings 2

EditableTable

A spreadsheet-style grid: arrows move, typing or Enter edits, Enter commits down, Tab across, Escape restores, with a check on every cell.

3.0 kB

brings 1

Leaderboard

A ranking with shared ranks for ties, movement arrows, an optional podium for the top three, and your own row pinned when outside the top N.

2.6 kB

brings 2

LogViewer

A log tail with level chips and filters, highlighted search, copy per line, and a follow mode that pauses when you scroll up, across thousands of lines.

5.3 kB

brings 2

PivotTable

Records turned into a pivot you configure — row and column fields, value, sum, count, average, min or max — with nested headers and subtotals.

10 kB

brings 8

Records

AuditTrail

Who changed what, when, and what it was before — the field every implementation drops first.

3.9 kB

brings 4

CodeBlock

Surface(sunken) + monospace scale + copy action.

3.8 kB

brings 3

DiffSummary

What is about to change, per field, before submitting. Cleared and newly set are their own facts.

2.4 kB

brings 3

DiffView

Two-column CodeBlock with change highlighting.

2.3 kB

brings 3

JsonViewer

A payload as a collapsible tree in the code palette. Collapsing hides a branch; it never truncates a value.

3.1 kB

brings 1

MaskedValue

A sensitive value that is not in the DOM until revealed, hides itself again, and separates copy from reveal.

2.0 kB

brings 2

RelativeTime

"3 minutes ago", phrased by Intl in any locale and kept current, over a real time element with the exact moment.

0.9 kB

standalone

ReviewSummary

Average stars, total and a 5→1 distribution whose bars are pressed-state filters, so the place you spot the 2-star reviews is where you open them.

4.5 kB

brings 2

ProductCard

Photo with a hover second shot, sale or new badge, struck-through old price, radio swatches, a wishlist toggle and an add-to-cart that reports its own result.

5.9 kB

brings 6

OrderTracker

Ordered → delivered as an ordered list with aria-current, step times, estimated delivery, and the tracking number one press from the clipboard.

6.1 kB

brings 7

EventCalendar

A month of events as chips on fixed-height days, with +n more opening the whole day, date-grid keys and a Monday or Sunday week start.

11 kB

brings 9

AgendaList

Upcoming events grouped under sticky day headings, named Today and Tomorrow, with empty days skipped and a now line through today.

3.2 kB

brings 2

CodeTabs

One snippet in tabs such as npm, pnpm and yarn, with copy, and a storage key that makes one choice switch and stay on every block.

7.7 kB

brings 9

WeekView

A seven-day hour grid with side-by-side overlaps, an all-day row, a now line and week paging, with events walked by arrow keys.

5.5 kB

brings 2

Receipt

A print-ready receipt that adds up line items, discounts, shipping and tax itself, shows the payment method, and has a slot for print and download.

2.0 kB

standalone

CommitGraph

Git history with branch lanes worked out from parent hashes: merge curves, refs and tags on each commit, and a list you move through with Up and Down.

5.0 kB

brings 1

HexViewer

Bytes as offset, hex and ASCII with one shared selection, only the visible rows rendered, go-to-offset, arrow-key selection and copy as hex.

6.4 kB

brings 6

EmailViewer

Untrusted email in a sandboxed frame with no scripts, remote images blocked until allowed, quoted replies folded and the frame sized to its content.

6.2 kB

brings 5

MathFormula

TeX-like source turned into native MathML — fractions, roots, scripts, Greek, sums, integrals, matrices, text — with errors in place and a text fallback.

5.6 kB

standalone

TimezonePlanner

One 24-hour strip with a row per city and DST-correct offsets from Intl; drag or arrow keys to pick a window, shown in every zone and copyable.

12 kB

brings 11

PagedDocument

Measures blocks onto A4 or Letter pages with margins, keep-with-next and breaks, a running header and footer with page X of Y, and prints as previewed.

4.4 kB

brings 4

JsonDiff

New

A structural JSON diff with records matched by id so moves read as moves, a change list of JSON Pointer paths and a side-by-side folding tree.

7.2 kB

brings 3

JsonQuery

New

A JSONPath evaluator with recursive descent, slices, unions and filters parsed without eval, results by path and marked in the document tree.

8.1 kB

brings 1

AnsiOutput

New

Streamed terminal output with 16, 256 and truecolour styles, progress bars that redraw in place, safe links, and colours that follow the theme.

7.3 kB

brings 5

ExifViewer

New

Reads a JPEG’s EXIF — camera, exposure, date, GPS in decimal — and strips it byte-for-byte without re-encoding, verified before download.

8.6 kB

brings 6

ZipBrowser

New

Opens a ZIP in the browser from its central directory as a keyboard tree, inflating one entry at a time with CRC-32 checked.

7.9 kB

brings 3

ResourceScheduler

New

A booking grid of rooms or people against time: drag to book, move or resize, with snapping, overlap rules, a now line and keyboard use.

7.3 kB

brings 2

TournamentBracket

New

Single or double knockout brackets from a seeded list, with byes placed by seeding, winners advanced from scores, and a grand-final reset.

5.6 kB

standalone

Media

Figure

Image + Text caption.

1.4 kB

brings 1

QRCode

Encoded matrix rendered as SVG. The QR quick action.

1.1 kB

standalone

ImageGallery

A main image with a thumbnail tablist, arrow keys, previous and next buttons and a counter; clicking opens Lightbox on the same image.

7.5 kB

brings 9

VideoPlayer

A video with labelled controls under the picture — seek, volume, captions, speed, full screen — and shortcuts that only work while focus is inside.

9.6 kB

brings 11

AudioPlayer

Spoken audio with play, seek, time and speed, a waveform that doubles as the seek bar, and a chapter list that marks what is playing.

11 kB

brings 13

TranscriptView

A timed transcript that highlights and follows the line being spoken, seeks on click, pauses following when you scroll, and searches in place.

6.3 kB

brings 5

PanoramaViewer

A true 360° photo viewer drawn in WebGL: look around by dragging, pinching or with the arrow keys, and zoom by changing the field of view.

6.6 kB

brings 2

Magnifier

A loupe that follows the pointer, a finger or the arrow keys over an image and shows the detail under it, enlarged.

1.6 kB

standalone

BlurHashImage

Shows a blurred colour impression decoded from a short hash while the real image loads, then fades the image in.

2.4 kB

standalone

ImageDiff

Pixel-by-pixel comparison with a perceptual threshold, the share changed, and side by side, diff overlay, onion skin and blink views.

5.8 kB

brings 5

ImageAdjust

New

Exposure, contrast, saturation, white balance, levels and per-channel tone curves on real pixels, with a live histogram and a spline that never overshoots.

8.1 kB

brings 5

SmartCrop

New

Crop suggestions per aspect ratio that keep the subject, scored by edges, skin tone and colour on a rule-of-thirds search, then adjustable by hand.

7.7 kB

brings 5

DocumentScanner

New

Finds the page in a photo, lets you correct the corners, and flattens it with a true perspective warp and an optional scan look.

7.9 kB

brings 3

PaletteExtractor

New

An image’s dominant colours by median cut and k-means, with share, hex, OKLCH and contrast-safe text, copied as CSS variables.

9.9 kB

brings 8

ModelViewer

New

A WebGL viewer for binary and ASCII STL and OBJ with its own parsers, fit-to-view, quaternion arcball rotation, wireframe and bounds.

7.7 kB

brings 3

GifRecorder

New

Records a canvas or element to an animated GIF with its own encoder: median-cut palettes, dithering, LZW and looping.

7.5 kB

brings 5

Charts

57

Distribution

BarList

Ranked horizontal bars as a real list - top pages, top referrers - the chart every dashboard actually needs.

1.8 kB

brings 1

CategoryBar

One bar split into its parts, with unused capacity and an optional limit marker. Lengths, not angles.

2.9 kB

brings 2

DonutChart

Part-to-whole arcs with a centre readout.

3.3 kB

brings 3

DotGlobe

A turning sphere of dots with places marked on it. A golden-angle spiral, because a lat/long grid bunches at the poles.

2.2 kB

brings 1

RadarChart

Several measures at once as a shape. Per-axis maxima, so measures on different units can share one outline.

4.1 kB

brings 3

Histogram

Raw values counted into bins with round edges, plus optional mean and median markers, because on skewed data the gap between them is the finding.

5.9 kB

brings 3

BoxPlot

Quartiles, whiskers at 1.5 IQR and each outlier as its own dot, from raw values or a given summary, vertical or horizontal.

6.1 kB

brings 3

MatrixHeatmap

A rows-by-columns grid on a stepped accent scale, with a legend, cell tooltips, printed values that stay readable, and arrow keys in two dimensions.

6.1 kB

brings 3

ParetoChart

Causes sorted largest first with a cumulative share line on its own axis, a dashed cutoff, and the long tail muted rather than dropped.

6.1 kB

brings 4

BeeswarmChart

Every observation as a dot on one axis, packed so none overlap, in rows per group with a median line and a highlighted point.

6.1 kB

brings 3

ParallelCoordinates

One axis per measure, one line per record: brush a range on any axis, drag or arrow the headers to reorder, and see how many records are left.

7.5 kB

brings 3

VennDiagram

Two or three sets with circle areas and overlaps solved to scale, exact counts in every region, and hover or arrow-key highlighting.

6.7 kB

brings 3

WordCloud

Words sized by weight and placed on a seeded spiral so none overlap, with optional vertical words and an accessible list ordered by weight.

5.7 kB

brings 3

ClickHeatmap

Clicks summed into a Gaussian heat layer on canvas, coloured from theme tokens, over whatever was clicked, with the hotspots named in words.

6.6 kB

brings 3

ChoroplethMap

GeoJSON regions shaded on a stepped scale, Mercator or equirectangular projections fitted to the frame, and arrow keys to the neighbouring region.

6.2 kB

brings 3

ContourPlot

New

2D kernel density traced with marching squares into filled bands, each named by the share of points it holds, over an optional scatter.

7.9 kB

brings 4

ViolinPlot

New

Per-group KDE violins with Silverman bandwidth, median and quartiles inside, an optional box and jittered points, vertical or horizontal.

6.7 kB

brings 3

HexbinChart

New

Fifty thousand points counted into hexagons with a stepped count scale, a live bin-radius slider, a legend and a per-bin tooltip.

7.1 kB

brings 5

Flow & hierarchy

FunnelChart

Conversion through ordered steps: each bar against the start, each gap as the share that continued.

1.7 kB

brings 1

SankeyFlow

Where an amount comes from and goes, as ribbons whose thickness is the amount. Columns by longest path, so nothing flows backwards.

2.4 kB

brings 1

TreeMap

Part-to-whole by area, squarified so no tile becomes a sliver. Shows a long tail a donut cannot.

2.9 kB

brings 2

SunburstChart

Hierarchical data as concentric rings, with click-to-zoom into a branch, a breadcrumb back up, labels where they fit and arrow-key tree navigation.

8.0 kB

brings 3

NetworkGraph

Nodes and links laid out by a built-in force simulation that settles and stops, with draggable nodes, neighbour highlighting and a list of connections.

7.3 kB

brings 4

OrgChart

A top-down reporting tree of people cards with collapsible teams, elbow connectors, pan and zoom, and full tree keyboard support.

6.8 kB

brings 5

ChordDiagram

Two-way flows between groups as arcs and ribbons from a computed chord layout; hover or arrow to a group to fade every flow it is not part of.

6.0 kB

brings 3

SequenceDiagram

Sequence diagrams written as text — participants, replies, notes, alt and loop blocks, activations — with errors by line number and a numbered text version.

6.2 kB

brings 1

FlameGraph

New

Collapsed stacks folded into a flame or icicle graph with zoom and breadcrumb, search with the matched share, and a differential view against a baseline.

10 kB

brings 7

FlowDiagram

New

Flows written as text or data and laid out in ranks automatically, with few crossings, loops allowed, pan, zoom and fit, and keyboard walking along edges.

9.5 kB

brings 3

Dendrogram

New

Hierarchical clustering drawn as a tree, with a cut line you drag to choose the groups and the data matrix reordered beside it to match.

5.3 kB

brings 1

MindMap

New

A two-sided mind map built from the keyboard: Tab adds a child, Enter a sibling, arrows move spatially, and it exports as an outline.

6.2 kB

standalone

Time & activity

ActivityHeatmap

A calendar density grid. It answers a question no chart here answers well: when did this happen, across months, at a glance.

6.0 kB

brings 6

DaySchedule

A day of events with overlaps resolved by cluster and first-fit columns, positioned from minutes.

2.9 kB

brings 2

StatusStrip

The uptime strip, from measured ratios or declared statuses with incidents, and missing data drawn as its own state rather than as an outage.

5.2 kB

brings 3

CandlestickChart

OHLC candles, hollow when up and solid when down as well as coloured, with a volume pane and a crosshair that prints the price.

5.9 kB

brings 3

GanttChart

Tasks as bars on a scrolling calendar by lane, with progress fills, dependency arrows, milestone diamonds, a today line and day, week or month zoom.

7.9 kB

brings 4

CohortRetention

The SaaS retention triangle as a real grid, with accent-shaded cells, a size-weighted average row, a percent or users switch and arrow-key navigation.

4.8 kB

brings 2

StreamGraph

Series stacked around a centred wiggle baseline with smooth edges; hover to isolate a stream and see every value, with legend toggles.

6.5 kB

brings 3

TimeSeriesExplorer

New

100k+ sample series drawn through LTTB at pixel width, with an overview brush, zoom, pan and reset, and a tooltip that reads the raw nearest sample.

12 kB

brings 7

ForecastChart

New

A Holt–Winters forecast with fitted weights, a widening prediction band, a history and forecast split, and MAPE on the fit and a held-out horizon.

7.9 kB

brings 4

ControlChart

New

An XmR process control chart: moving-range sigma zones, Western Electric run rules ringed and explained, and limits recalculated per phase.

8.0 kB

brings 3

KaplanMeierChart

New

Kaplan–Meier survival curves with censor ticks, Greenwood bands, median markers, an at-risk table and a log-rank p-value across groups.

8.1 kB

brings 4

TraceWaterfall

New

A distributed trace as a span tree on a shared time axis, with self time, the critical path marked, collapsible rows and a span details panel.

8.7 kB

brings 4

Feedback

37

System state

ConnectionBanner

Offline, reconnecting, and what is still queued. navigator.onLine is the default, not the authority — a dead API reads as online.

2.8 kB

brings 2

Countdown

Time remaining, in tiles - a silent timer role rather than a live region that talks every second.

2.0 kB

brings 1

RateLimitMeter

How much of a quota is gone and when it returns — recomputed from a deadline, so a throttled tab cannot drift.

2.5 kB

brings 1

RetryQueue

The changes that have not landed, with the backoff shown — a countdown is what stops everyone fighting the retry.

3.1 kB

brings 4

SaveIndicator

What autosave is doing, and when it last succeeded — the timestamp is what turns “Saved” into a claim.

2.6 kB

brings 4

SessionTimeout

The idle warning, with activity shared between tabs and a deadline held as a timestamp, so a sleeping laptop cannot cheat it.

5.5 kB

brings 6

IncidentTimeline

One incident’s updates newest first, with severity, affected components, and a duration that says Ongoing for until it is resolved.

2.9 kB

brings 4

StepLoader

A background job as a step checklist, with the current step and elapsed time in the header, a retry on the failed step, and a collapsible list.

5.3 kB

brings 4

UpdateAvailable

A new version prompt that asks rather than reloads: reload now, snooze for a while or skip until the next version, announced politely.

4.8 kB

brings 4

PermissionPrompt

Says why before the browser asks, follows the Permissions API state, and gives the steps for the reader’s own browser when a permission is blocked.

4.2 kB

brings 2

SlaTimer

New

A countdown to a service target that counts only business hours in a time zone, handling holidays, pauses and clock changes, and saying why it is paused.

3.4 kB

standalone

Overlays

23

Motion & Effects

53

Surfaces & light

AnimatedBeam

A curved connector between two real elements with light pulsing along it. It re-measures, so it survives a reflow.

1.5 kB

standalone

AuroraSurface

Three drifting colour fields behind a container. Only transform animates, so a full-bleed hero holds 60fps where an animated filter would not.

1.3 kB

standalone

BlobMorph

An organic outline on two unrelated sine frequencies, joined by Catmull–Rom, so it never repeats and never flattens.

2.0 kB

standalone

BorderBeam

Light travelling round a border: one spinning conic gradient behind an inset opaque surface, so it holds at any aspect ratio.

1.0 kB

standalone

HoloCard

Trading-card foil. The rainbow runs against the tilt, because real foil reflects a fixed light.

1.5 kB

standalone

LiquidGlass

Glass that actually refracts: a blur, a specular rim, and an SVG displacement map that bends only the edge.

1.4 kB

standalone

NeonSign

Three stacked glows rather than one blur, and a flicker that clusters its dropouts like a real tube.

0.8 kB

standalone

OrbitRing

Items travelling a circle, each counter-rotating so it stays upright — the detail that stops logos arriving upside down.

1.0 kB

standalone

ParticleField

A drifting constellation on a canvas, linked and pointer-reactive. Canvas, because the link pass is quadratic over positions.

2.2 kB

standalone

RippleSurface

Water. Every drop keeps its own birth timestamp, so six ripples overlap correctly instead of restarting each other.

1.8 kB

standalone

StickerPeel

A corner that lifts, casts a shadow on the sheet below, and comes off if you pull past the threshold.

1.8 kB

standalone

Meteors

Decorative streaks falling diagonally behind content, pausing off screen and becoming faint fixed streaks under reduced motion.

2.0 kB

standalone

AnimatedGrid

A background grid or dot pattern with a few cells softly lighting up in the accent, faded at the edges, and static under reduced motion.

3.5 kB

standalone

ShaderCanvas

A WebGL fragment shader background fed the theme’s colours, time and pointer; pauses off screen, reports compile errors, falls back to a gradient.

3.8 kB

standalone

LightCaster

Showpiece

Drag a lamp across the page and the real elements cast true shadows, computed as a visibility polygon with a soft penumbra from jittered sample lights.

6.8 kB

standalone

RainGlass

Showpiece

Rain beads, merges and runs down the pane, wiping the fog; every drop is a little lens showing the scene behind it upside down.

10 kB

standalone

ParallaxPortal

Showpiece

The frame becomes a window into a room behind the screen: off-axis projection shifts the view as you move, and props lean out through the frame.

3.9 kB

standalone

PrismLight

Showpiece

A beam through glass you can turn: Snell’s law per wavelength with Cauchy dispersion, so white light fans into a real spectrum, and past the critical angle the beam reflects instead.

13 kB

brings 3

SnowDrift

Showpiece

Snow that lands on the page’s own elements: every flake settles on the heightfield above the real headings and cards, piles up, avalanches when the slope is too steep, and blows off when you sweep the pointer.

12 kB

brings 2

Interaction

49

Touch & drag

ImageCompare

Two states split by a handle. The top layer is clipped, not resized, so nothing reflows during the drag.

2.5 kB

brings 1

MarqueeSelect

Drag a rectangle to select. Items are found by attribute and measured once, at the start of the drag.

1.6 kB

brings 1

MiniMap

A scaled survey with the on-screen part outlined and draggable. Takes content coordinates, so it knows nothing about transforms.

1.1 kB

standalone

PanZoom

A viewport you pan and zoom, anchored to the pointer. One affine step, so a minimap or a hit test on top stays tractable.

1.6 kB

standalone

PullToRefresh

Drag past a threshold to reload, but only from the very top — the rule that stops it stealing an ordinary scroll.

2.9 kB

brings 3

SortableList

Drag to reorder, with rows measured once on grab. Space picks a row up and the arrows move it, announced through a live region.

2.1 kB

brings 1

StoryProgress

The segmented bar above a story. Re-keyed on the index, which is what makes a re-entered segment actually restart.

1.6 kB

standalone

SwipeDeck

A stack of cards thrown left or right, with pointer capture for the gesture and arrow keys for everyone not holding a pointer.

1.8 kB

standalone

SwipeRow

A row that slides aside to reveal actions that are always real buttons — focusing one opens the row.

1.4 kB

standalone

ResizableBox

A box with right, bottom and corner handles that are focusable separators, with limits, arrow keys, and Shift to keep the shape.

2.1 kB

standalone

SwipeToConfirm

A slide-to-confirm track that springs back if released early, with a keyboard route (End, or hold Enter or Space) plus pending and done states.

4.0 kB

brings 1

DropOverlay

A drop target that appears only while files are dragged over, checks type and size with a reason for every refusal, and always offers a choose-files button.

4.5 kB

brings 4

PatternLock

A phone-style unlock grid where dots crossed by the line join automatically, with a minimum length, success and error states, and a full keyboard route.

2.9 kB

standalone

NodeEditor

Nodes with typed ports joined by wires you drag out; type mismatches and loops are refused with a reason, and every port has a keyboard menu.

13 kB

brings 10

Whiteboard

Rectangles, ellipses, arrows, text and a pen on SVG, with geometry hit-testing, resize handles, marquee select, undo and JSON or SVG export.

14 kB

brings 11

Joystick

A virtual analogue stick returning a normalised vector and angle, with a dead zone, 4- or 8-way D-pad modes and arrow or WASD keys.

3.2 kB

brings 1

SortableTree

Drag a hierarchy into shape: up and down for position, sideways for depth, subtrees travel with their parent, and the keyboard does it all too.

5.9 kB

brings 2

MeasureTool

New

Calibrate from a known length, then measure distances, areas and angles on an image in real units, with editable points and keyboard placement.

13 kB

brings 14

TransformBox

New

A move, resize and rotate frame that keeps the opposite corner fixed on rotated boxes, with Shift for proportions and Alt to resize from the centre.

4.1 kB

standalone

SnapGuides

New

Boxes that snap to each other’s edges and centres while dragging, showing distances and equal-spacing marks; hold Alt to place freely.

4.9 kB

standalone

StrokeGestures

New

Draw a gesture and it is recognised, scored and mapped to an action; it learns new gestures from one drawing, and each gesture is also a button.

6.6 kB

brings 3

Presence & collaboration

PresenceBar

Who is here, in a stable order a join cannot reshuffle, with arrivals announced rather than only drawn.

6.1 kB

brings 7

PresenceCursors

Other people’s pointers, glided between sparse updates by a CSS transition, positioned in fractions so a resize is free.

2.2 kB

brings 1

ReactionBar

Reactions with counts and a burst on pick. A toggle, not an increment, so a double tap cannot leave two likes.

2.1 kB

brings 1

TypingIndicator

Three dots and a sentence that is actually grammatical — one, two and many are three different shapes.

1.6 kB

brings 1

VibePoll

Results hidden until you vote, and each row is its own bar, so the label stays legible as the fill passes it.

2.2 kB

brings 2

ChatThread

Messages grouped by sender and time, with day dividers and delivery ticks. Follows new messages only while you are at the bottom, otherwise offers a jump.

5.7 kB

brings 4

MessageComposer

A growing chat input: Enter sends, attachments are removable chips, a character counter, and send is blocked while empty or already sending.

4.4 kB

brings 3

CommentThread

Threaded comments with a depth cap, inline reply and edit, reactions, delete with a confirm, collapsible replies and a resolve toggle.

6.6 kB

brings 8

ImageAnnotator

Numbered pins on an image with a note each, placed by click or a keyboard crosshair, stored as percentages so they stay put at any size.

5.2 kB

brings 4

QuestionQueue

Live Q&A with anonymous asking, upvotes, top or newest sorting, pinned and answered states, host moderation and politely announced new questions.

12 kB

brings 15

RemoteSelections

Other people’s carets and selections drawn inside a textarea from offsets, measured with a mirror and moved through your own edits.

3.0 kB

standalone

CallGrid

A video-call layout that solves rows and columns for the largest tiles, with speaker ring, muted, hand-raised and camera-off states, and pinning.

3.1 kB

brings 2

RankedChoiceResults

New

Ranked-choice results round by round: eliminations, where ballots went, exhausted ballots, tie-breaks, and the full count as a table.

4.3 kB

brings 2

CommentAnchors

New

Comments pinned to a quote, not an offset: they re-anchor by exact then fuzzy match with a confidence score, and orphans are listed openly.

4.7 kB

brings 1

CollaborativeText

New

A textarea bound to an RGA sequence CRDT, so peers can edit offline or out of order and still converge, optionally across tabs.

3.0 kB

brings 1

PeerLink

New

Browser-to-browser text and files over WebRTC, with copy-paste or BroadcastChannel signalling, back-pressure and SHA-256 checks.

9.2 kB

brings 9

SlideDeck

New

A presentation with keyboard, a URL per slide, fullscreen, an overview grid and a presenter window synced over BroadcastChannel.

6.5 kB

brings 3

Trust & workflow

ApprovalChain

Parallel sign-off against a quorum, not a stepper. One rejection ends it however many approvals are in.

4.3 kB

brings 7

ConsentManager

Granular consent where rejecting is exactly as easy as accepting, and every recipient is named.

3.5 kB

brings 5

DataFreshness

When this data was last true, and whether that is still good enough. A failed refresh makes it older, not wrong.

2.6 kB

brings 4

ImportMapper

Column-to-field matching that guesses first, previews real values, and catches clashes while the file is still on screen.

8.1 kB

brings 6

PermissionGate

Shows a region to those who may see it and explains the refusal to those who may not. Silence is opt-in.

2.9 kB

brings 4

UndoStack

Undo and redo with the steps named, plus a history to jump back through. Leaves a focused field’s own undo alone.

3.2 kB

brings 4

SharePermissions

Invite by email with a role, change or remove access from one menu, and set link access with copy; the owner can never be removed.

12 kB

brings 15

VersionHistory

Document versions grouped by day, with a named-only filter, preview on select, compare with current, and restore after a confirmation.

8.6 kB

brings 10

TrackChanges

Suggested edits from a word-level Myers diff shown inline, each accepted or rejected alone or all at once, with arrow keys between changes.

4.1 kB

brings 2

ThreeWayMerge

New

A diff3 merge of base, ours and theirs: clean changes merge themselves, conflicts get ours, theirs, both or edit, and git markers otherwise.

7.7 kB

brings 7

Redactor

New

Finds emails, phones, Luhn-valid cards, mod-97 IBANs, keys, JWTs and IPs, and redacts only what you approve, before and after side by side.

9.2 kB

brings 8

Canvas & Play

50

Generative

AsciiImage

An image redrawn as characters, downscaled by the browser and mapped through a ramp ordered by ink.

1.5 kB

brings 1

BoidsFlock

Separation, alignment, cohesion — on a spatial grid, so two hundred boids is hundreds of checks and not forty thousand.

2.4 kB

standalone

MatrixRain

Falling glyphs where the trail is accumulated residue, not a list of characters anyone tracks.

1.9 kB

standalone

StarField

A perspective divide and nothing else, with streaks drawn between each star now and last frame.

1.9 kB

standalone

GameOfLife

Conway’s Life on a canvas with play, step, clear, randomise and speed, drawing by mouse or keyboard, pausing off screen, and theme-aware colours.

5.4 kB

brings 4

FlowField

Particles drift along a seeded noise current and leave trails in theme colours, pausing off screen and holding a still frame under reduced motion.

2.6 kB

standalone

VoronoiField

Drifting seeds and their exact Voronoi cells on canvas, tinted from the accent and drawn towards the pointer; a still frame under reduced motion.

2.9 kB

standalone

FractalExplorer

Mandelbrot and Julia sets on a canvas, rendered in cancellable chunks across frames; drag, wheel and keys to fly, and a click picks the Julia constant.

8.8 kB

brings 6

FluidCanvas

Showpiece

Real-time stable fluids on the GPU: push the dye with a finger and the smoke keeps swirling after you let go, in colours drawn from the accent.

9.9 kB

standalone

ReactionDiffusion

Showpiece

Gray–Scott chemistry on feedback textures: coral, fingerprints and dividing cells grow across the canvas, and a headline can be the seed they grow from.

8.7 kB

standalone

PaperMarbling

Showpiece

Ebru marbling done exactly: every drop pushes the ink already on the bath outwards by the closed-form circle map, and a tine drag shifts it along a decaying wake, so no pattern is ever painted — it is displaced.

11 kB

brings 5

VoxelTerrain

Showpiece

Voxel-space terrain flown from a heightmap generated by diamond–square: back-to-front column casting with a y-buffer, so a ridge line resolves per pixel with no polygons at all.

13 kB

brings 5

Audio

AudioVisualizer

A real FFT from a real element or the microphone, trimmed to the part of the spectrum with anything in it.

3.1 kB

brings 2

PianoKeys

One oscillator per note with a ramped envelope, because a gain that jumps to 1 is a click.

3.0 kB

brings 1

Waveform

The bar visualiser, with a playhead. One scaleY keyframe per bar rather than a frame loop writing heights.

1.1 kB

standalone

Metronome

A Web Audio metronome with slider, number field, tap tempo, time signatures and an accented first beat, booked ahead on the audio clock.

12 kB

brings 12

PitchTuner

A chromatic tuner that listens through the microphone and shows the note, octave and cents off on a needle, with adjustable A4.

5.7 kB

brings 4

AudioTrimmer

Cut a clip from an audio file in the browser: a real decoded waveform, draggable or keyboard handles, preview playback and WAV export.

6.0 kB

brings 3

Equalizer

New

A parametric EQ of real biquad filters: draggable bands, the combined curve from getFrequencyResponse, a live spectrum, presets and bypass.

8.1 kB

brings 3

LoudnessMeter

New

BS.1770-4 loudness: K-weighted momentary, short-term and gated integrated LUFS, true peak and loudness range, with meters and a history.

8.9 kB

brings 4

BpmDetector

New

Offline tempo detection: spectral-flux onsets from an STFT, autocorrelation with octave checks, beats drawn on the waveform and tap-to-verify.

8.9 kB

brings 5

ChladniPlate

Showpiece

Sand on a ringing plate: nothing draws the figure — each grain hops as hard as the plate moves beneath it, so the pattern forms itself and re-forms on a new note.

10 kB

brings 4

Physics

DiceRoller

The result is decided first and the tumble is arranged to arrive at it, not read off wherever it stopped.

2.5 kB

brings 2

GravityTags

Real elements that fall and stack, separated along the smaller overlap so the pile does not slide apart.

2.5 kB

brings 1

RopeCursor

Verlet integration: velocity is implied by position, which is what makes the constraint pass so simple.

2.0 kB

standalone

SlotReels

Reels that land on a chosen result and stop left to right, because the stagger is the whole drama.

2.5 kB

brings 2

SpinWheel

A prize or decision wheel that picks the winner first, by weight or from the server, then slows onto it; announced, and instant under reduced motion.

4.2 kB

brings 3

ClothPanel

Showpiece

The real card — its own text and working buttons — hung on a verlet mesh: it drapes, ripples in the wind, and tears if you pull too hard.

9.9 kB

standalone

EventHorizon

Showpiece

A black hole you drag across a working interface: real elements fall toward it on an inverse-square pull, stretch along the line to it, turn with its spin and are swallowed at the horizon — then spring back, still interactive, when it moves on.

3.6 kB

standalone

Ferrofluid

Showpiece

A drop of magnetic fluid that grows Rosensweig spikes towards the pointer: a metaball field whose surface tension loses to the field, so the spikes stand, wobble and merge back.

12 kB

brings 2

FallingSand

Showpiece

A falling-sand cellular automaton where a headline is the sand: letters crumble grain by grain, water finds its level, fire eats wood, and a sweep of the pointer pours more.

14 kB

brings 5

IronFilings

Showpiece

Drag magnets across the page and thousands of filings turn to the dipole field they actually sit in, with field lines traced by Runge–Kutta from the poles.

12 kB

brings 4

PendulumWave

Showpiece

Fifteen pendulums whose lengths are tuned so the slowest swings sixty times a minute and each next one once more: they fan, snake, split into two waves and return to one line, on a cycle that closes exactly.

14 kB

brings 6

Toys

FlipBook

Leaves with two faces, the back mirrored, and z-index taken from distance to the current spread.

2.5 kB

brings 2

PixelCanvas

A grid of buttons with interpolated strokes, storing palette indices rather than colours.

2.9 kB

brings 2

ScratchCard

A cover erased with the pointer to reveal what is under it, with a real button beside it, because a gesture is not an interface.

2.7 kB

brings 1

Terminal

History that preserves the half-typed draft, and a real input under the caret so IME and paste behave.

2.1 kB

standalone

MemoryGame

Card-matching pairs on a keyboard-navigable grid, with moves, a timer and spoken matches. Cards change face in place under reduced motion.

4.7 kB

brings 3

TicTacToe

Noughts and crosses against a friend or a minimax computer, with arrow-key grid focus, squares named by position and mark, and a highlighted winning line.

4.6 kB

brings 4

Sudoku

Generated puzzles with a checked unique solution, pencil notes, live conflicts, hint, check and timer, in a grid naming each cell’s row, column and box.

6.3 kB

brings 4

Minesweeper

Real minesweeper: safe first click, flood reveal, flags and chording, three presets, and a one-tab-stop grid where arrows move, Enter reveals and F flags.

5.1 kB

brings 4

SlidingPuzzle

The fifteen puzzle at any size with parity-checked shuffles only, whole-row slides, arrow-key play, a move count and an optional painted picture.

4.1 kB

brings 2

Crossword

A crossword from data, numbered automatically: type to fill and advance, clue lists that follow the cursor, check or reveal a letter, word or puzzle.

5.2 kB

brings 2

SnakeGame

Snake on a fixed-step tick with buffered turns, walls or wrap, three speeds, swipe, auto-pause when the tab is hidden, and a saved best score.

6.3 kB

brings 5

ChessBoard

New

Chess with every rule — pins, castling, en passant, promotion, all the draws — plus SAN, FEN and PGN, and full keyboard play with spoken moves.

13 kB

brings 5

Game2048

New

2048 with tiles that keep their identity, so slides and merges animate; one merge per tile, undo, best score, arrows, WASD and swipe.

7.3 kB

brings 3

WordGuess

New

A five-letter word game with correct duplicate-letter scoring, hard mode, daily or random words, a stateful keyboard and an emoji share grid.

9.1 kB

brings 3

Solitaire

New

Klondike with draw one or three, undo, scoring, a timer, auto-send and finish, drag or full keyboard play, and every card named in full.

8.4 kB

brings 4

OrbitSandbox

Showpiece

Fling a planet and watch it fall into orbit: velocity Verlet n-body gravity with real conic trails, collisions that merge and conserve momentum, and a readout of the energy it is not allowed to lose.

19 kB

brings 7

Tesseract

Showpiece

A four-dimensional solid turned in two planes at once: rotate in xw and yw, watch the inner cube swell through the outer as it passes, and switch the projection from perspective to stereographic.

14 kB

brings 6

SaaS

79

Marketing

CtaSection

The closing ask at the foot of a page, on the banner radius. Accent copy uses the derived accent-ink, so a deep brand colour gets white text.

1.2 kB

standalone

FeatureGrid

Benefit-led features with glyph, name, one sentence and a “Learn more” that carries the feature name for assistive tech.

3.7 kB

brings 5

HeroSection

Announcement, promise, two actions and the product, on the display type scale. PromoBanner is an in-app card; this is the first screen of a site.

3.5 kB

brings 2

LogoCloud

Customer marks flattened to one tone, as a row, a hairline grid or a marquee — each exposed as an image named for the company.

1.9 kB

brings 2

SectionHeading

Eyebrow, display title and lede — the opening of every landing-page section, held to one measure so eight of them in a row do not drift.

1.7 kB

brings 1

SiteFooter

The site map: column titles as real headings, legal row, social links named for their network.

4.0 kB

brings 2

SiteHeader

The marketing top bar. Navbar is the signed-in app header; this is links out and a sign-up, transparent over the hero until the page scrolls.

2.6 kB

standalone

TestimonialCard

A quote with the person attached, as figure, blockquote and figcaption — the only structure that says whose words they are.

3.9 kB

brings 4

FaqSection

Marketing FAQ with category filters, search across answers, hash links that open and focus a question, a contact area and optional FAQPage JSON-LD.

7.9 kB

brings 10

NewsletterSignup

Email capture as a card or inline row, with optional consent, check-your-inbox, already-subscribed and error states, and a hidden trap field for bots.

5.8 kB

brings 7

Settings & developer

ApiKeyManager

Create, list and revoke keys. The secret is shown once in a dialog that cannot be dismissed by accident; the list shows prefix and last use.

13 kB

brings 22

ChangelogList

Product updates as a changelog page or a compact “What’s new”, with anything newer than the last visit marked new.

2.8 kB

brings 3

DangerZone

Irreversible actions fenced off, confirmed with type-to-confirm, with any failure kept on the row that caused it.

8.3 kB

brings 13

HelpPanel

Search the docs, jump to resources, check system status, and reach a person — offered right at a dead-end search.

6.5 kB

brings 10

IntegrationCard

One marketplace tile with exactly one next step per state — Connect, Configure, Reconnect or Upgrade — and a broken connection shown as broken.

4.7 kB

brings 7

SettingsSection

A settings block with its own save bar that knows when something changed, plus SettingsRow for the label-and-switch lines.

3.2 kB

brings 4

WebhookDeliveries

The delivery log: every row opens to the exact payload and response, timeouts are their own outcome, and failures retry in place.

8.5 kB

brings 9

WebhookEndpoints

Webhook endpoints with three states, not two: an enabled endpoint answering 500 is shown as failing, with its last response, on its own row.

10 kB

brings 17

NotificationPreferences

Events by channel as a grid of labelled checkboxes, an all box per channel with a mixed state, a digest frequency, and a draft held until you save.

9.9 kB

brings 11

FeatureFlags

Flags with a switch per environment, a rollout slider, a stale marker and search. Turning one on in production asks first; turning it off never does.

9.5 kB

brings 15

DomainSetup

Custom domain setup: DNS records to copy, a check result on each record, SSL status, and removal that asks first.

11 kB

brings 17

LocaleSettings

Language, region, searchable time zone and format overrides, with a live preview line formatted through Intl and a draft saved on demand.

11 kB

brings 12

BrandingSettings

Logo and brand colour with a live preview themed by applyAccent on the preview only, a label contrast check, reset, and a save or discard draft.

12 kB

brings 9

OpenApiReference

An API reference drawn from an OpenAPI 3 document, with $refs resolved safely and a working curl command built for every operation.

9.6 kB

brings 4

StackTrace

Chrome, Node, Firefox, Safari and Python traces parsed into frames, library frames folded away, source shown around each line and the raw trace kept.

7.1 kB

brings 6

WebVitals

This page’s LCP, CLS, INP, FCP and TTFB measured live the way field data does, rated against Google’s thresholds and naming the element responsible.

4.4 kB

brings 3

A11yInspector

Its own checks on the live page — missing names and alt text, heading jumps, tabindex, contrast, duplicate ids — numbered on the elements concerned.

7.0 kB

brings 5

RegexTester

New

Live matches with numbered and named groups, the pattern explained token by token, and patterns that could hang flagged and time-boxed in a Worker.

9.3 kB

brings 2

CurlConverter

New

Splits a pasted curl command the way a shell would, applies curl’s flag rules, and writes fetch, axios and Python code, listing anything unconverted.

12 kB

brings 6

SemverRange

New

Tests versions against an npm range with npm’s prerelease rule, showing what the range expands to, which versions match and the highest.

6.4 kB

brings 6

ErrorBudget

New

An SLO error budget with burn-down, burn rate, time to exhaustion and multi-window burn-rate alerts evaluated over the whole series.

7.2 kB

brings 3

Data & views