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
Primitives
Divider
A rule on the line token, so the one place needing it does not hard-code a colour.
0.4 kB
standalone
Surface
The five container recipes - card, tile, field, sunken, floating - instead of a drifting radius/border/shadow class string.
0.9 kB
standalone
Text
The whole type scale as one component. Without it every screen re-types the sizes by hand, which is where drift starts.
1.1 kB
standalone
Wordmark
Mark plus name lockup; the mark itself is a slot.
0.8 kB
standalone
Grid
A CSS grid with a column count per breakpoint or a minimum card width that auto-fills, plus GridItem spans that still mean full when columns change.
1.2 kB
standalone
TextLink
The inline link: ink text on an accent underline, new-tab links with an arrow, hidden notice and safe rel, router rendering through as.
2.3 kB
standalone
MiddleTruncate
Cuts the middle of a long string to the measured width and keeps the end, such as the extension; screen readers, tooltip and clipboard get the full value.
1.6 kB
standalone
FitText
Sizes one line of text to exactly fill its container, between a min and max, refitting on resize and when web fonts load.
1.3 kB
standalone
JustifiedText
NewJustifies a paragraph with Knuth–Plass line breaking over measured widths and Liang hyphenation, re-laid out on resize or font change.
4.7 kB
standalone
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
NewAn 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
NewElects 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
NewuseUrlState 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
NewIDE-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
Disclosure
Accordion
A set of Collapsibles with single- or multi-open policy.
2.4 kB
brings 3
Collapse
Height transition primitive for disclosure.
0.7 kB
standalone
Collapsible
Collapse + a trigger.
2.2 kB
brings 2
ExpandableText
Clamps long text to a few lines, and only offers to show more when there is more to show.
1.0 kB
standalone
ShowMoreList
Shows the first few items and a Show all button that moves focus to the first revealed item.
3.2 kB
brings 2
Stacks & scrolling
CardDeck
The equal-height card band.
0.6 kB
standalone
Carousel
Scroll-snap track + chevrons; the card band below xl.
3.4 kB
brings 2
CoverFlow
A carousel with depth. One transform per card from its signed distance, with stacking order taken from the absolute one.
1.6 kB
standalone
CubeCarousel
Four faces on one cube. The whole cube turns, so the corners never come apart, and the rotation accumulates.
1.5 kB
standalone
LayerStack
An exploded isometric stack. Two rotations on a shared parent, so the plates stay coplanar and every label is real text.
2.1 kB
brings 1
Marquee
Looping horizontal scroller.
0.7 kB
standalone
StackedCards
Cards that stick and pile up as you scroll. CSS does the stacking; one measurement a frame supplies the depth.
1.6 kB
standalone
ScrollArea
A named, focusable scroll region with thin scrollbars and edges that fade only while there is more content past them, on either axis or both.
1.4 kB
standalone
Masonry
Tiles of mixed height packed into columns set by its own width, kept in source order so what you see matches the reading and tab order.
1.3 kB
standalone
InfiniteScroll
Loads more as the end comes into view, with a real Load more button as the fallback, the new count announced, and a retry when loading fails.
3.1 kB
brings 3
ScrollSync
Keeps scroll panes in step by proportion or by matching anchors, ignoring its own echoed scrolls so panes never feed back.
1.7 kB
standalone
Navigation
33
Bars & shells
Dock
Tiles that swell towards the pointer as one curve, measured from the wrapper so the growth never feeds back into itself.
2.6 kB
brings 1
Navbar
The application header: brand, primary navigation, tools and an account control.
6.0 kB
brings 10
Sidebar
Full-width navigation column with grouped sections.
2.0 kB
brings 3
SidebarRail
The 42px icon rail with a pinned footer group.
5.0 kB
brings 6
Toolbar
Surface + IconButton cluster. The header utility group.
0.8 kB
standalone
BackToTop
A floating button that appears past a threshold, returns to the top instantly under reduced motion, moves focus there, and can show a progress ring.
2.1 kB
standalone
NavigationProgress
A slim top bar for route loads that trickles, finishes and fades, skips fast routes and holds still for reduced motion.
1.7 kB
standalone
PriorityNav
A single row of links that moves whatever does not fit into More, keeping the current page in view as the width changes.
6.2 kB
brings 3
Tabs & steps
AnchorNav
In-page link list with scroll-spy.
1.1 kB
standalone
BackButton
IconButton + Text, wired to history.
0.8 kB
standalone
Breadcrumb
Text + Divider trail with an overflow rule.
2.8 kB
brings 1
MagicTabs
Tabs whose indicator measures and slides between them. SegmentedControl cross-fades a background; this one travels.
2.9 kB
brings 1
Pagination
ButtonGroup + IconButton with a page-window algorithm.
3.9 kB
brings 3
Stepper
Numbered progress through a flow; StatusDot + Text + Divider.
3.1 kB
brings 1
TabBar
Tabs laid out for a bottom bar.
1.9 kB
brings 3
Tabs
SegmentedControl + panels with correct tab semantics.
1.6 kB
standalone
ArticlePager
Previous and next links with direction labels and titles, in a named nav. A lone link keeps its own side.
2.0 kB
standalone
AlphabetIndex
An A–Z rail that jumps to a letter’s group and moves focus to its heading; empty letters stay in place, disabled, and touch users can drag along it.
2.5 kB
standalone
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
Newfzf-style fuzzy scoring that picks the best character placement and highlights it, responsive across ten thousand items.
5.5 kB
brings 1
FullTextSearch
NewA 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
NewA 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
Text fields
InlineEdit
Text that becomes a field on request: Enter saves, Escape restores, and focus returns to where it was.
4.5 kB
brings 4
Input
Wraps a native input; no label or validation opinions.
0.9 kB
standalone
InputOTP
A row of single-character Inputs with paste and focus movement.
1.3 kB
standalone
MentionInput
An @-mention list positioned at the caret, measured through a hidden mirror of the textarea.
4.2 kB
brings 4
PasswordInput
Input + reveal IconButton.
3.2 kB
brings 3
PasswordStrength
A Meter and a rule checklist that say, in words, what would make a password stronger.
2.3 kB
brings 4
PinPad
A keypad and the physical keyboard as one control, where rejection is the return value rather than a ref reaching in.
2.5 kB
brings 2
SearchField
Input + icon adornment + clear affordance. The header search.
3.3 kB
brings 3
TagInput
Input + Chip list.
1.9 kB
brings 2
Textarea
Multi-line sibling of Input, sharing its chrome.
0.7 kB
standalone
PhoneInput
Dial-code select joined to a national number that formats as you type, stored as one E.164 string, with a small overridable country list.
3.7 kB
standalone
AddressInput
A postal address as autofill-ready parts, relabelled per country (State, County, ZIP code, Postcode), with an optional suggestions slot for your provider.
5.8 kB
brings 5
InlineCompletion
A field that finishes the sentence in faint text after the caret: Tab takes all, Ctrl+→ one word, Escape dismisses; async requests debounced and cancelled.
2.5 kB
standalone
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
NewRanks 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
Numeric & range
AmountField
Currency symbol + bare Input + currency Select, as Exchange Money uses twice. Keeps parsing and formatting in one place.
7.5 kB
brings 6
EmojiSlider
A rating where the face is the readout and the word is the aria-valuetext, because the number is an implementation detail.
2.4 kB
brings 1
Knob
A rotary control dragged vertically, not circularly — an angular drag spikes whenever the pointer crosses the centre.
2.5 kB
brings 1
NumberInput
Input + step controls; shares Slider’s clamping.
3.7 kB
brings 3
RangeSlider
Two Slider thumbs sharing one track.
1.0 kB
standalone
Slider
Native range input restyled against the track tokens.
0.7 kB
standalone
UnitInput
A number joined to a unit picker that converts the value when the unit changes, with limits per unit and arrow-key steps (Shift for ×10).
3.2 kB
standalone
GeoCoordinateInput
NewLatitude and longitude in any common notation, flagging out-of-range values, read back in words, with distance and bearing to a reference point.
9.4 kB
brings 10
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
NewCron 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
NewA 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
NewA 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
Form structure
Field
Label + control + hint + error, with the id wiring in one place.
1.9 kB
brings 3
FilterBar
Chip and Select row with a clear-all action.
2.9 kB
brings 5
Form
Field layout and submission state; no validation library baked in.
1.4 kB
brings 1
Label
Form label on the type scale; owns the htmlFor association only.
1.2 kB
brings 1
ValidationSummary
The digest that takes focus when a submission is rejected — the only pattern that makes an error below the fold perceivable.
1.8 kB
brings 1
InputGroup
Joins text, icon, button or select addons to an Input with one shared border, radius and focus ring; passes Field wiring through.
1.2 kB
standalone
RepeaterField
Repeating rows of fields with add, remove and move; focus goes somewhere sensible after every change, and each change is announced.
4.7 kB
brings 3
SchemaForm
A working form drawn from a JSON Schema with the library’s own fields and validated against that schema, so onSubmit only gets a value that passes.
13 kB
brings 14
DraftRecovery
NewThrottled IndexedDB autosave that offers a newer draft back with a summary of what changed, schema migration, and a memory fallback.
4.1 kB
brings 2
Data Display
75
Identity
Avatar
Initials, tint and accessible name from one string.
1.0 kB
brings 1
AvatarGroup
Overlapping Avatars with an overflow count.
1.4 kB
brings 2
Badge
Short qualifier attached to something else.
0.5 kB
standalone
Chip
Selectable or removable pill. Interactive counterpart to Tag.
1.0 kB
brings 1
IconTile
The rounded glyph plate at the start of a list row or a stat tile.
0.6 kB
standalone
Kbd
A keyboard key. Pure typography and border tokens.
0.5 kB
standalone
Tag
Static outlined label. Non-interactive counterpart to Chip.
0.6 kB
standalone
ProfileCard
A person at a glance: cover, avatar, name as a real heading, bio, labelled stats and links, with a compact row variant for lists.
3.1 kB
brings 4
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
Metrics
Metric
Text + Badge: a label, a figure and a delta.
1.5 kB
brings 2
MetricSpotlight
A KPI rail where selecting a tile drives a detail chart — the summary-then-detail dance every analytics screen reinvents.
4.7 kB
brings 8
StatCard
Surface(tile) + IconTile + Metric + Meter. The instalment tile.
2.8 kB
brings 6
KpiStrip
A row of headline metrics split by hairlines, each with a value, a change against the last period, an inverse option and a sparkline.
2.6 kB
brings 2
TrendDelta
Inline change like +12.4% or −3 pts: the arrow follows the sign, the inverse option only flips the colour, read aloud as up 12.4 percent.
1.3 kB
standalone
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
NewA 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
NewA 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
NewStreamed 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
NewReads 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
NewOpens 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
NewA 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
NewSingle 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
NewExposure, 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
NewCrop 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
NewFinds 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
NewAn 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
NewA 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
NewRecords 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
Plots
AreaChart
LineChart with a filled band.
4.3 kB
brings 5
BarChart
Categorical bars sharing the chart scaffolding.
4.2 kB
brings 5
LineChart
Axes, scales, Legend and ChartTooltip.
4.3 kB
brings 5
LiveChart
A line that scrolls as samples land. One CSS transition per sample, and a scale that eases towards its bounds.
3.3 kB
brings 2
Sparkline
Inline SVG trend line; no axes, no chart runtime.
1.1 kB
standalone
ScatterChart
X against Y with optional bubble size and a least-squares trend line, one tab stop with arrow keys to step through points in x order.
6.5 kB
brings 4
WaterfallChart
Floating bars from a starting value, with subtotals and totals computed rather than typed, so the bridge always adds up.
5.9 kB
brings 4
SlopeChart
Each item’s change between two moments as one line, with labels at both ends nudged apart, rise and fall tones, and focus that fades the rest.
6.0 kB
brings 3
DumbbellChart
Two values per category as dots joined by a bar, so the gap is what you see, with optional sorting by the biggest change.
5.8 kB
brings 4
Gauges & rings
ProgressChart
Stacked Progress bars for part-to-whole comparison.
1.9 kB
brings 2
RadialGauge
ProgressRing with a scale and a value readout.
1.9 kB
brings 2
BulletChart
Stephen Few’s bullet graph: a measure, its target and its range in one row, shaded in ink so it still reads in greyscale.
4.6 kB
brings 1
RadialBarChart
Concentric rings that each fill toward their own target or a shared one, labelled at the start, with the total in the centre and a legend.
5.8 kB
brings 4
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
New2D 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
NewPer-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
NewFifty 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
NewCollapsed 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
NewFlows 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
NewHierarchical 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
NewA 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
New100k+ 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
NewA 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
NewAn 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
NewKaplan–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
NewA 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
Status
GooeyLoader
Metaballs: blur the group, then push alpha through a steep contrast curve so overlapping edges fuse.
1.1 kB
brings 1
LoadingOverlay
Spinner over a scrim, scoped to a container.
1.5 kB
brings 2
Meter
Discrete, counted progress - eight pips of which three are filled, rather than a continuous bar.
0.6 kB
standalone
Progress
Continuous bar, for values that are genuinely fractional.
0.7 kB
standalone
ProgressRing
The same value drawn as an arc, for square slots.
0.9 kB
standalone
Skeleton
Geometry plus a shimmer; no knowledge of what it stands in for.
0.7 kB
standalone
Spinner
Leaf consumed by Button and IconButton.
0.5 kB
standalone
StatusDot
A token-coloured circle.
0.7 kB
brings 1
UploadQueue
Every upload in one panel: per-file progress, pause, resume, cancel and retry, overall progress by bytes, clear completed, and a collapsed pill.
6.0 kB
brings 5
SignalStrength
Four rising bars for connection quality with an optional quality word, announced as one image: Signal: good, 3 of 4 bars.
1.0 kB
standalone
Messages
Alert
Surface + IconTile + Text; a persistent message block.
3.6 kB
brings 3
Banner
A product announcement as a block or a thin strip across the top, with a badge, a link, and dismissal remembered per announcement.
4.3 kB
brings 3
InlineMessage
The compact form of Alert, for use under a Field.
1.3 kB
brings 1
NotificationCenter
The panel behind the bell, with a real unread model announced through a badge rather than by colour.
8.7 kB
brings 16
Toast
Portal-mounted queue with timers and a live region.
4.8 kB
brings 5
MaintenanceNotice
Planned downtime in the reader’s own time zone with a countdown, turning to in progress and then completed by the clock, dismissed per window.
4.8 kB
brings 3
Empty & error
EmptyState
Surface + IconTile + Text + Button.
1.6 kB
brings 2
ErrorState
EmptyState with a retry action and error semantics.
3.0 kB
brings 3
StateView
One component for the four states every data region has. Every list rebuilds this branch, and each rebuild forgets one — usually the empty case.
3.3 kB
brings 4
NotFoundState
A 404 body that offers every way out: a large code, a search slot, the pages people usually meant, back and home, with the heading level set by prop.
4.3 kB
brings 3
AccessDeniedState
A 403 body that names what you tried to open, who owns it and which account you are using, with a request access button that becomes a sent state.
4.8 kB
brings 5
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
NewA 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
Celebration
AchievementPop
Overshoot on the landing, and the shine sweeps after it — overlapping them wastes both.
2.6 kB
brings 2
Confetti
Canvas celebration burst.
1.5 kB
standalone
StreakCounter
A flame that only flickers once today is banked, and keeps its final number when the streak ends.
2.2 kB
brings 2
SuccessMark
Animated confirmation tick.
0.9 kB
brings 1
XPBar
The overflow is the point: fill to full, snap to zero with the transition off, continue. Otherwise the bar sweeps backwards.
2.4 kB
brings 2
Overlays
23
Dialogs
ActionSheet
Drawer anchored to the bottom, for touch.
5.8 kB
brings 7
AlertDialog
Modal with alertdialog semantics and a forced choice.
6.7 kB
brings 9
ConfirmDialog
AlertDialog with a standard confirm/cancel pair.
7.4 kB
brings 11
Drawer
Modal anchored to an edge. The mobile navigation panel.
5.2 kB
brings 5
Lightbox
Full-screen images with arrow keys, swipe and a spoken position, built the way Modal is.
6.5 kB
brings 8
Modal
Portal + FocusTrap in a centred Surface.
6.0 kB
brings 7
MorphDialog
A card that expands into a dialog from exactly where it sits, as a FLIP transform, so nothing relayouts mid-flight.
5.4 kB
brings 5
KeyboardShortcutsDialog
Every shortcut on one screen, grouped by area and opened with ?, with a filter and keys drawn for the device: ⌘ on a Mac, Ctrl elsewhere.
8.3 kB
brings 10
PromptDialog
Asks for one value, like a rename or a new folder: opens with the text selected, checks as you type, submits on Enter and keeps a failed save open.
8.4 kB
brings 13
ReleaseNotesModal
What’s new, one highlight per page with media and a step indicator, shown once per version and remembered in storage, with a quiet opt-out.
8.2 kB
brings 10
FullscreenDialog
Fills the screen on phones and is a tall sheet on desktop, with close and save in the header, a scrolling body and a question before discarding changes.
8.2 kB
brings 12
Popovers
HoverCard
Popover on hover intent rather than click.
3.8 kB
brings 3
Popover
Positioned Surface(floating); the shared anchor logic.
3.5 kB
brings 2
Tooltip
Surface(floating) + Text; replaces the native title on icon-only controls.
3.9 kB
brings 3
ConfirmPopover
An are-you-sure anchored to its trigger: focus lands on Cancel, Escape or an outside click backs out, and an async confirm stays pending and shows the error if it fails.
5.5 kB
brings 6
Toggletip
An info button that opens an explanation on click, Enter or Space and announces it. Unlike Tooltip it never needs hover and can hold links.
4.1 kB
brings 3
LinkPreview
A preview card shown after a short hover or focus, from props or an async loader; the link stays a normal link and the card never takes focus.
5.7 kB
brings 5
FloatingPanel
A non-modal panel dragged by its title bar or moved with arrow keys, kept inside the viewport, able to minimise, and reporting where it was left.
5.2 kB
brings 4
PictureInPicture
Pops a live React subtree into an always-on-top Document Picture-in-Picture window with the page’s styles, and back, without losing state.
3.4 kB
brings 3
Guidance
CoachTour
A guided tour that cuts a hole in the scrim over each target, scrolls it into view and anchors an explanation to it.
5.0 kB
brings 5
Spotlight
Pointer-following highlight over a surface.
1.2 kB
standalone
FeatureBeacon
A pulsing dot on a new control that explains itself in a small popover, saves Got it through a callback and holds still under reduced motion.
5.7 kB
brings 6
ChecklistPopover
An onboarding checklist behind a button that shows progress on the trigger, folds finished steps away and marks completion with a quiet tick.
7.7 kB
brings 7
Motion & Effects
53
Entrance & scroll
PageTransition
Route-level enter and exit, built on Presence.
1.0 kB
standalone
Parallax
Scroll-linked depth for a page region.
1.1 kB
standalone
Reveal
Scroll-triggered entrance for a page region.
1.1 kB
standalone
ScrollProgress
How far through a page or container the reader is, measured once a frame and reported as a progressbar. Pair it with BackToTop for the way up.
3.8 kB
brings 2
ScrollVelocity
Skew, drift and squash driven by how fast you are scrolling, eased so a wheel burst reads as weight.
1.4 kB
standalone
Stagger
Sequences Reveal across a list.
1.2 kB
brings 1
AnimatedList
Rows animate in when added and fold away when removed, matched by key. Focus moves off a leaving row, and nothing animates under reduced motion.
2.3 kB
standalone
ScrollStory
Scrollytelling: text steps scroll past a sticky visual that follows the step being read, stacking on narrow screens and under reduced motion.
2.7 kB
brings 1
ScrollSequence
Preloads frames and scrubs them on a pinned canvas as you scroll, with object-fit maths, a loading bar and a still frame under reduced motion.
2.9 kB
standalone
PopUpCard
ShowpieceA card that opens like a pop-up book: parallel folds and V-folds solved from the opening angle, so paper figures rise and stand in real 3D.
4.8 kB
standalone
InfiniteZoom
ShowpieceZoom forever: each scene holds the next and the last holds the first, on a log-scale camera that wraps by the scale factor, so the dive never ends or drifts.
6.5 kB
brings 2
Text
GlitchText
RGB channel tear that is clean ninety per cent of the time — and only one of the three copies is readable.
0.8 kB
standalone
GradientText
A gradient sliding across live text. Duplicated end to end so the loop has no seam, and the glyphs stay selectable throughout.
0.8 kB
standalone
KineticText
Per-character animated headline.
1.2 kB
brings 1
RotatingWord
Cycles a word inside a headline.
1.3 kB
standalone
TextReveal
A passage whose words light as it scrolls. Scroll-linked rather than triggered: the reader sets the pace and can scroll back.
1.5 kB
standalone
TextScramble
Character-scramble text reveal.
1.3 kB
brings 1
Typewriter
Text that types, deletes and moves on. Announced once as static text, with the width of the longest phrase held open.
1.7 kB
brings 1
MarkerHighlight
A hand-drawn underline, highlight, circle or box drawn in behind real text as it scrolls into view, tinted from the accent; already drawn under reduced motion.
1.7 kB
standalone
ShimmerText
A band of light sweeping across real, selectable text for Thinking… states, plain under reduced motion or when paused.
0.8 kB
standalone
CircularText
Text set around a circle with a centre slot for a button; it turns slowly, pauses on hover or focus, and screen readers hear the phrase once.
1.9 kB
standalone
MorphingText
Headline words that melt into each other through a blur-and-threshold filter; the word list is read once, and reduced motion keeps the first word.
1.9 kB
standalone
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
ShowpieceDrag 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
ShowpieceRain 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
ShowpieceThe 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
ShowpieceA 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
ShowpieceSnow 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
Numbers
AnimatedNumber
Tweens between two values. Owns an animation frame loop.
0.8 kB
standalone
CountUp
AnimatedNumber triggered on entering the viewport.
1.1 kB
brings 1
Odometer
Digit-roll presentation of AnimatedNumber.
1.0 kB
standalone
SplitFlap
Split-flap board presentation of a value.
1.6 kB
brings 1
Ticker
Continuously updating value strip.
0.9 kB
standalone
Micro-interaction
CursorAura
A cursor with mass that becomes the rectangle of whatever it hovers, and hides the real pointer while it does.
1.5 kB
standalone
FlipCard
Two-faced Card with a flip transition.
0.9 kB
standalone
PressScale
Press-down scale feedback wrapper.
0.6 kB
standalone
Ripple
Pointer-origin ripple wrapper. Owns transient state.
0.9 kB
standalone
TiltCard
Pointer-tilted Card.
1.2 kB
standalone
AttentionShake
Shakes, pulses or bounces its child when a trigger value changes, or from a ref; under reduced motion it flashes an outline instead.
1.7 kB
standalone
ShatterDismiss
ShowpieceDismiss and the live element breaks into Voronoi shards that spin and fall where you hit it; undo flies every shard back and hands the real thing back.
8.6 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
NewCalibrate 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
NewA 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
NewBoxes 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
NewDraw 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
NewRanked-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
NewComments 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
NewA 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
NewBrowser-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
NewA 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
NewA 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
NewFinds 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
ShowpieceReal-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
ShowpieceGray–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
ShowpieceEbru 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
ShowpieceVoxel-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
NewA 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
NewBS.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
NewOffline 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
ShowpieceSand 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
ShowpieceThe 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
ShowpieceA 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
ShowpieceA 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
ShowpieceA 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
ShowpieceDrag 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
ShowpieceFifteen 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
NewChess 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
New2048 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
NewA 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
NewKlondike 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
ShowpieceFling 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
ShowpieceA 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
Pricing
BillingToggle
Monthly or yearly, with the saving pinned beside the control rather than inside it, so the track never jumps.
1.8 kB
brings 3
FeatureComparison
The plan-by-feature matrix as a real table with row and group headers — and one plan at a time on a phone, instead of a sideways scroll.
4.8 kB
brings 4
PricingCard
One plan: price, the action directly under it, then the list. Excluded features are announced as excluded.
4.4 kB
brings 5
PricingTable
Plans behind a period switch. The yearly saving is computed from the plans, and the annual total that actually leaves the account is shown.
6.9 kB
brings 10
UsagePricingCalculator
A usage-based estimate with a slider and number per metered item, graduated or volume tiers, a breakdown, a yearly toggle and talk to sales past a limit.
8.5 kB
brings 11
Auth & onboarding
AuthCard
The frame for sign in, sign up, reset and invite: providers, the rule, the form, the way out — and the error announced at the top.
5.1 kB
brings 7
OnboardingWizard
Multi-step setup that validates each step in place, revisits only completed steps, and moves focus to each new step’s heading.
5.4 kB
brings 6
SetupChecklist
The “get set up” card. Steps are props, so it advances when work is done elsewhere; optional steps never hold completion hostage.
5.8 kB
brings 9
EmailVerification
Check your inbox with a masked address, webmail links, resend with a countdown, change email, a code as an alternative, and a verified state.
6.3 kB
brings 6
OAuthConsent
An authorisation screen with publisher verification, the signed-in account with a switch, plain-language scopes with sensitive ones first, and the redirect host.
5.9 kB
brings 8
Billing
CheckoutSummary
Order lines, promo code, tax and what is due today — plus what is charged after today. Card entry is left to the provider’s hosted field.
4.9 kB
brings 6
InvoiceList
Billing history with Pay now in the row of any due or failed invoice, and downloads named for their invoice.
4.4 kB
brings 8
PaymentMethodCard
A saved card whose expiry is worked out, not displayed — and a default card that cannot be removed out from under a subscription.
3.4 kB
brings 5
PlanSummary
Current plan, status, and the one date that matters next. A failed payment is a warning with the fix inside it, not a badge.
6.4 kB
brings 9
UpgradePrompt
An upsell as a card, a top banner or inline where a gated feature would be, with a trial countdown derived from a date.
4.5 kB
brings 4
UsageMeter
Entitlements over a billing period — seats, storage, MAUs — with unlimited and over-the-limit as their own states. RateLimitMeter is the rolling window.
4.0 kB
brings 5
SeatSelector
Paid seats with a typed stepper that stops at seats in use, the new total, and today’s prorated charge with the arithmetic shown.
8.2 kB
brings 10
CancellationFlow
Honest cancellation: an optional reason, an offer that matches it, then a confirm listing what is lost and when access ends. The way out is never hidden.
7.7 kB
brings 10
ExpenseSplitter
NewSplits costs equally, by shares, exact amounts or percentages in whole cents, then settles with as few transfers as matching finds.
13 kB
brings 12
Workspace
InviteMembers
Paste a column of addresses, pick a role, see what it costs. Bad, duplicate and existing addresses are caught as chips before sending.
16 kB
brings 23
MemberList
People, roles and removal, enforcing the rule most team screens forget: a workspace can never lose its last owner.
13 kB
brings 19
RolePermissions
Roles against permissions as a checkbox matrix, every box named for its intersection, locked roles shown rather than hidden.
4.3 kB
brings 4
UserMenu
The account menu behind the avatar: identity above the menu rather than in it, settings, and a sign-out that is always last.
7.5 kB
brings 8
WorkspaceSwitcher
The multi-tenant switcher: a listbox in a popover with arrow keys, a check on the current one, search past six, and Create.
8.7 kB
brings 9
AccessRequests
Pending join requests with the requester’s note. Change the role before approving, deny with a reason, or select several at once.
13 kB
brings 20
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
NewLive 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
NewSplits 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
NewTests 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
NewAn 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
FilterBuilder
Field, operator, value rows joined by all or any, with operators by type — plus matchesFilters, so table and builder agree on meaning.
10 kB
brings 11
SavedViews
Named filter sets above a table, with the unsaved state made explicit: save over it, save as new, or put it back.
8.6 kB
brings 13
DataExportPanel
Request an export by dataset, format and date range, then follow it from queued to ready, with download links and an expiry countdown.
14 kB
brings 14
DataProfile
A card per column with inferred type, missing values, distinct count, statistics, a histogram, and flags for mixed types, outliers and empty columns.
4.4 kB
brings 2
ExperimentResults
An A/B/n readout with Wilson intervals, lift, p-values, the sample size for your minimum lift, and a one-sentence recommendation.
6.6 kB
brings 4
CsvImport
NewAn RFC 4180 parser read in chunks with progress, sniffing the delimiter, header and column types, and listing bad cells by line before import.
13 kB
brings 8
SqlBuilder
NewA schema-aware query builder that finds joins along foreign keys, suggests GROUP BY and writes quoted PostgreSQL or MySQL as you go.
16 kB
brings 15
LogPatterns
NewGroups raw log lines into templates with the Drain parse tree — numbers, IPs and ids masked, counts and variable slots per template, incremental on a live tail.
6.0 kB
brings 1
RecordMerge
NewFinds duplicate records with blocking, Jaro–Winkler and token-set scoring and union-find clusters, then reviews each merge with per-field survivorship.
8.2 kB
brings 5
Engagement
CookieBanner
The first-visit consent prompt where Reject all is exactly as easy as Accept all. Opens ConsentManager for the detail.
3.0 kB
brings 4
FeedbackWidget
A face, a sentence and send. Either half is enough; the faces are real radios announced by their word.
7.8 kB
brings 11
ReferralCard
The offer first, then the invite link with copy and share, progress to the next reward in words, and each invited friend with their status.
6.9 kB
brings 10
NpsSurvey
The 0–10 question as real radios, a follow-up that changes with the score, a thank-you state and dismiss — as a card or inline.
5.7 kB
brings 6
RoadmapBoard
A public roadmap in Planned, In progress and Shipped, with instant vote toggles, comment counts, a tag filter, sort by votes, and tabs on small screens.
10 kB
brings 9
SpacedRepetition
NewFlashcards on the SM-2 schedule: a due queue, graded reviews with next-interval previews, retention stats and a review forecast.
4.6 kB
brings 2
Security
SessionList
Where the account is signed in, with location and IP, the current device pinned, and sign-out of everything else.
9.0 kB
brings 14
SsoSetup
SAML set up in real order — our values, theirs, test, enforce. Enforcement stays locked until a test passes against exactly the values on screen.
11 kB
brings 16
TwoFactorSetup
Scan, confirm with a code, keep the recovery codes — Done stays locked until the codes are stored, because a lost phone is a locked account.
7.8 kB
brings 11
IpAllowlist
An IPv4/IPv6 and CIDR allowlist that validates and normalises entries, confirms enforcement, and asks before the admin’s own IP gets locked out.
11 kB
brings 15
AccessExplainer
Answers whether a user can act on a resource by showing each step: groups, inheritance, every rule checked and which deny beat which allow.
9.8 kB
brings 8
PasskeyManager
Checks WebAuthn support, creates a real passkey with options from your server, and lists passkeys to rename or remove after a confirmation.
9.3 kB
brings 9
CspEvaluator
NewReviews a Content-Security-Policy by severity and shows what each resource type allows after default-src fallback, striking ignored sources.
5.8 kB
brings 1
JwtInspector
NewDecodes and explains a JWT with live expiry countdowns, verifies HS, RS, PS and ES signatures with Web Crypto, and flags alg none.
12 kB
brings 9