Marble UI

Components

241 pieces. Click one to try it here; open its page for props and docs.

Inputs30

Button5 styles

Primary action control (React Aria Button): press events, pending state, five visual variants.

Foundation

Shared field parts. Every form control composes these so labels, help and errors look identical.

Foundation
Fieldset3 styles

Groups related fields under one legend (Base UI Fieldset: native <fieldset>, disables all children together).

Foundation

Drag-and-drop target plus a native file picker (React Aria DropZone + FileTrigger).

Foundation
Icon Button3 styles

Button with only an icon; aria-label is required.

Foundation
Number Field3 styles

Numeric input with stepper buttons, locale formatting, units and currency.

Foundation
OTP Field3 styles

One-time code input (Base UI OTP Field): paste, autofill and per-slot keyboard handling built in.

Foundation
Slider2 styles

Pick a value or range by dragging or with arrow keys.

Foundation
Text Field3 styles

Single-line text input with label, description and validation message.

Foundation
Textarea2 styles

Multi-line text input with label, description and validation message.

Foundation

Button that stays pressed or unpressed (aria-pressed), e.g. bold in a toolbar.

Foundation
Button Group3 styles

Groups related buttons visually: attached, split button or spaced.

Core
Close Button2 styles

Small icon button that closes a dialog, panel or banner (labelled "Close").

Core
Copy Button2 styles

Copies a value to the clipboard and confirms with a brief "Copied" state.

Core

A button that opens the native file picker. For drag and drop, use FileDropZone.

Core
Form2 styles

Native <form> with React Aria validation: field-level `validate`, `isRequired`, and server errors via `validationErrors={{ fieldName: 'message' }}`.

Core
Input Group2 styles

Text field with attached addons on either side.

Core

Password field with show/hide toggle and an optional strength meter.

Core
Rating4 styles

Star rating as a radio group: arrow keys change the value, each option is announced ("3 of 5 stars").

Core
Search Field3 styles

Search input with clear button, Escape to clear, and an optional shortcut hint.

Core
Tags Input2 styles

Free-form tags: type and press Enter or comma; Backspace on empty input removes the last tag.

Core

Group of ToggleButtons with single or multiple selection and arrow-key navigation.

Core
Angle Slider2 styles

Circular angle input (0–359°). Drag the knob or use arrow keys (Shift = 15°), Home/End.

Extra

Click-to-edit text. Preview is a button ("Edit <label>"); Enter saves, Escape cancels, blur saves. `size` sets the preview's text style (heading vs body). Saving an empty value clears it unless `required`, which keeps the old value. Enter and Escape return focus to the preview.

Extra
Emoji Picker2 styles

Emoji grid with search and category headings; arrow keys move through the grid (GridList), Enter picks. `autoFocus` focuses the search (on in the popover picker).

Extra

Floating action button. With `actions` it becomes a speed dial: the main button toggles a stack of labelled mini-buttons (aria-expanded). `fixed` pins it to the viewport, otherwise to the nearest positioned parent.

Extra
JSON Input2 styles

Textarea for JSON with live validation (message includes line/column), Format and Minify actions.

Extra
Masked Input2 styles

Text field that formats input against a pattern as you type. `onValueChange` gives both masked and raw values.

Extra

Signature input: draw with mouse, pen or touch (pressure-aware), undo and clear. A "Type instead" mode gives keyboard and screen-reader users an equivalent. Emits a PNG data URL (or typed name). The PNG is transparent with strokes in `ink` (dark by default), whatever the on-screen theme.

Extra

OAuth sign-in button with the provider's mark. `icon` renders a square icon-only button (name stays accessible).

Extra

Charts27

Area Chart3 styles

Change over time with a 10% area wash under 2px lines. Stack only when the total is meaningful.

Pro
Bar Chart4 styles

Compare magnitudes across categories: ≤24px bars, 4px rounded data end, 2px gap between neighbours.

Pro
Bar List2 styles

Ranked list where each row's background bar shows its share of the max (top pages, referrers, countries).

Pro

Contribution-style grid: one column per week, five steps of one hue, zero on the sunken surface. Day tooltips on hover, or focus + arrow keys (Left/Right a week, Up/Down a day).

Pro

Title, legend row, plot and a "Show data" table toggle. A static plot is role="img" with the summary; an interactive one labels its focus target instead.

Pro

Pro

Bars and lines on ONE shared y-axis (e.g. actual vs target). Never two y-scales: different units belong in separate charts.

Pro
Donut Chart2 styles

Part-to-whole for a few categories as a ring, with a center total and legend.

Pro

Conversion funnel: bar per stage (share of the first stage) with step-to-step conversion.

Pro
Gauge3 styles

240° gauge for a single bounded KPI. role="meter" with min/max, a clamped now and the formatted value as valuetext.

Pro
Heatmap1 style

Magnitude across two categorical axes: one hue, light→dark, with a stepped legend. Cell tooltips on hover, or focus + arrow keys (Up/Down change row).

Pro
Line Chart2 styles

Trends over an ordered axis: 2px lines, end dots, crosshair tooltip with every series.

Pro

Part-to-whole for two to five categories; prefer bars for comparisons.

Pro
Radar Chart2 styles

Compare a few entities across 4–8 dimensions. Polygons use a 10% wash with 2px outlines.

Pro

Concentric progress rings (activity-ring style). Each ring's track is a faint step of its own color.

Pro
Sparkline2 styles

Word-sized trend without axes. Always pair with the number it describes.

Pro

Bubble chart: scatter with a third value as bubble size, radius on a sqrt scale (4px floor to 26px) so area tracks the value.

Extra

Actual vs target against qualitative bands (poor/ok/good as three steps of the sequential ramp, light to dark). Compact alternative to gauges.

Extra

OHLC candles. Up candles are hollow (outline), down candles filled, so direction reads without color; success/danger tints reinforce it. OHLC tooltips on hover, or focus + arrow keys.

Extra
Category Bar2 styles

Single segmented bar showing how a whole splits into parts (or a value against bands), with an optional marker. Segments are separated by a surface gap; labels show boundaries.

Extra

Correlation / comparison matrix on a diverging scale: two hues for negative/positive with a neutral midpoint. Values are printed in each cell, so color is never the only encoding. Cell tooltips on hover, or focus + arrow keys (Up/Down change row).

Extra

Flow between stages (budget → departments, traffic → outcomes). Link color follows its source node; link tooltips on hover, or focus + arrow keys.

Extra

X/Y relationship across one or more series; `sizeLabel` turns it into a bubble chart: z sets the radius on a sqrt scale from 4px to 26px, so area grows with z (not strictly in proportion, given the 4px floor).

Extra

Hierarchy as rings: inner ring = groups (categorical hues), outer rings = children (tints). Arc tooltips on hover, or focus + arrow keys.

Extra

Status over time (uptime bars): one block per period, tooltip per block (hover, or focus + arrow keys), uptime summary. Status names are in the tooltip and table, not color alone.

Extra

Part-to-whole across a hierarchy: area = value, top-level groups get the categorical hues, leaves are tints of their group. Tile tooltips on hover, or focus + arrow keys.

Extra

10×10 grid where each square is 1% — a friendlier part-to-whole than a pie for a few categories.

Extra

AI agents23

All background agent tasks in one place, grouped by what they need from you. A task's title opens it (`onOpen`) in both views.

Pro

An agent's live plan: ordered steps with status and timing, steering notes, and an optional composer.

Pro

Multi-agent run: who's coordinating, which sub-agents are working on what, and their status.

Pro

Human-in-the-loop gate: the agent pauses until a person approves or denies a specific action.

Pro

Attachment chips for prompts and messages: image thumbnails, file type badge, upload progress, remove.

Pro

Scrolling message log that sticks to the bottom while new tokens arrive, unless the reader scrolled up; then a "Jump to latest" button appears. role="log" announces new messages politely.

Pro
Chat Message2 styles

One chat turn: avatar, name, time, message body and actions, for user and assistant roles.

Pro

How much of the model's context window is used, and by what.

Pro

Renders model output as Markdown (GFM tables, task lists, code). Safe by default: raw HTML in the text is not rendered, so model output can't inject markup.

Pro

Copy, feedback (mutually exclusive thumbs), regenerate and share for an assistant message. One tab stop (toolbar).

Pro
Model Picker2 styles

Model selector grouped by provider, with context size and capability badges.

Pro

Chat composer: auto-growing textarea, Enter to send (Shift+Enter for newline), attachments, Stop while streaming. IME-safe: Enter during composition (e.g. Japanese input) never sends.

Pro

Starter prompts for an empty chat: pills in a row, or cards in a grid.

Pro

Collapsible "thinking" trace: open while the model reasons, collapses to "Thought for Ns" when finished.

Pro

Numbered inline citation ("[2]") with a hover/focus preview of the source.

Pro

Indicator while a model works before the first token. Announced politely; motion stops for reduced-motion users.

Pro

One tool invocation: name, status, timing; expands to show arguments and result.

Pro

Live controls for a running agent: autonomy level, pause/resume, guardrails, and a "steer" box to redirect mid-run. Every control is controlled or uncontrolled.

Extra

What the assistant remembers about the user: searchable, editable inline, pin/delete, with a global on/off. "Forget everything" asks first.

Extra

Searchable, filterable library of prompt templates with {{variables}} filled in a dialog before use.

Extra

Agent-led structured questions, one at a time, with progress, skip/back and a summary the agent can act on.

Extra

Message reactions: toggle chips with live counts, plus an emoji picker to add new ones.

Extra

Editor with an assistant sidebar: pick an action, preview the suggestion as a word diff, accept or discard. `rewrite` is your model call; the demo ships a deterministic fake so it runs offline. The draft is controlled (`value`/`onChange`) or uncontrolled (`defaultValue`); Accept goes through `onChange` too.

Extra

Data display17

Avatar4 styles

Image with initials fallback (Base UI Avatar handles loading/error states).

Foundation
Badge4 styles

Small status or category label; tone sets meaning, variant sets emphasis.

Foundation
Card4 styles

Surface for grouped content: header, body and footer slots; outline, elevated or filled.

Foundation

Image with initials fallback (Base UI Avatar handles loading/error states).

Core
Carousel3 styles

Native scroll-snap carousel: swipe/trackpad scrolling for free, arrow buttons and dots for mouse/keyboard. Slides are a labelled group each ("2 of 5"), following the WAI carousel pattern.

Core

Key–value pairs as a description list (<dl>).

Core
List2 styles

Static, non-interactive list. For selectable or actionable rows use ListBox / ListView.

Core
Stat / KPI2 styles

KPI tile: label, big value, change vs. previous period, optional sparkline.

Core

Colored dot with a label for live states (online, degraded, offline), optionally pulsing.

Core

Chronological event feed (ordered list). "dots" for compact activity, "icons" for rich histories.

Core

Icon in a decorated container, for feature lists, empty states and modals.

Extra
Map1 style

Interactive dotted world map with no tile server: zoom buttons, Ctrl/⌘+wheel zoom, drag to pan, and keyboard-focusable markers that open popovers. Focus the map for arrow-key panning (Shift = bigger steps), + / − to zoom and 0 to reset. Markers are buttons in DOM order; focusing one that is out of view pans it into view.

Extra

Shows as many items as fit on one line and collapses the rest into a "+N" menu. Re-measures on resize. Pass `renderItem` for the visible chips and `getLabel` for the menu text. If the chips are links or buttons, pass `getHref` and/or `onAction` so the same entries in the "+N" menu navigate or act too.

Extra
Price Ticker2 styles

Price tick: symbol, rolling price, signed change with arrow and color, optional sparkline. Change is never color-only.

Extra

Static embed card for a social post (testimonials, launch walls). Renders data you pass; it doesn't fetch. The date links out to `url` when given. Numbers follow the React Aria locale.

Extra

Collapses long content to `maxHeight` with a fade and a Show more / Show less toggle (only when it actually overflows).

Extra
Watermark2 styles

Tiles a rotated text (and optional second line) watermark over its content. Decorative overlay: aria-hidden and pointer-events none, so content stays readable and interactive.

Extra

Navigation16

Breadcrumbs2 styles

Path to the current page; the last item is the current page and is not a link.

Foundation
Link3 styles

Text link (React Aria Link) for navigation; use Button for actions.

Foundation
Pagination2 styles

Page navigation: numbered pages or a compact previous/next control.

Foundation
Sidebar3 styles

App navigation column. Items are links (aria-current marks the active one); groups collapse; whole bar can shrink to an icon rail.

Foundation
Tabs3 styles

Switch between panels of related content in place (React Aria Tabs).

Foundation
Menubar1 style

Desktop-app style menu bar (File / Edit / View) with roving focus between menus (Base UI Menubar).

Core

Top app/site bar: brand, links (aria-current), actions; collapses into a disclosure menu on small screens.

Core

Site header navigation with rich flyout panels that morph between triggers (Base UI Navigation Menu).

Core
Skip Link1 style

First focusable element on a page: hidden until focused, jumps keyboard users past the navigation.

Core

Progress through a multi-step flow. Purely presentational: an ordered list with aria-current on the active step.

Core

Page-level navigation that looks like tabs but is a list of links (aria-current="page"), for routed sections.

Core

"On this page" list with scroll-spy: highlights the heading currently in view.

Core
Toolbar2 styles

A row of controls with one tab stop; arrow keys move between them (React Aria Toolbar).

Core
Burger2 styles

Animated menu toggle: three lines morph into an X (`spin`, `squeeze`) or an arrow. A disclosure button: it exposes aria-expanded (not aria-pressed, which together would announce two states) and a label; pass `aria-controls`.

Extra
Dock1 style

macOS-style dock: icons magnify near the pointer. Static sizes for reduced motion; tooltips name each item; the `active` item gets aria-current.

Extra

Thin progress bar pinned to the top of the page (or a positioned container) during route changes.

Extra

Selection16

Checkbox3 styles

Checkbox with label and description; supports indeterminate, groups and a card style.

Foundation
Combobox2 styles

Text input with a filtered dropdown of suggestions (React Aria ComboBox).

Foundation
Radio Group2 styles

Pick exactly one option from a short list; plain or card-style radios.

Foundation

Single-select toggle group with a sliding indicator (Motion layout animation).

Foundation
Select2 styles

Pick one option from a list in a popover (React Aria Select), with typeahead.

Foundation
Switch2 styles

On/off toggle that takes effect immediately; use Checkbox in forms that submit.

Foundation
Autocomplete2 styles

Search field that filters an always-visible list in place (React Aria Autocomplete). Arrow keys move through results while typing.

Core

Checkbox with label and description; supports indeterminate, groups and a card style.

Core

Checkbox with label and description; supports indeterminate, groups and a card style.

Core
Multi Select2 styles

Select with selectionMode="multiple": the popover stays open while toggling options.

Core

Plain <select>: native mobile pickers, works without JS, ideal for long simple lists.

Core
Radio Card1 style

Pick exactly one option from a short list; plain or card-style radios.

Core
Cascader2 styles

Hierarchical picker: one listbox column per level; choosing a leaf closes and shows the full path. `value` follows later changes.

Extra

Borderless select that reads as text, for settings rows and sentences ("Notify me [weekly]").

Extra

Dual list: toggle items on either side (click, Space, Shift for ranges) and move them across with the arrow buttons.

Extra
Tree Select2 styles

Select whose options are a tree. Single selection with click, Enter or Space; arrow keys only move focus and expand folders.

Extra

Overlays16

Modal dialog: overlay + modal + dialog in one. Put it inside a DialogTrigger, after the trigger button.

Foundation
Drawer3 styles

Edge-anchored, swipeable panel built on React Aria Sheet (v1.22+). position: bottom (default) | top | left | right | center. Supports snapPoints.

Foundation

Rich, non-modal preview on hover, focus or long press (React Aria PreviewTrigger). May contain interactive content.

Foundation

Menu in its own popover. Use inside MenuTrigger (after the trigger button) or SubmenuTrigger.

Foundation
Popover2 styles

Non-modal floating panel anchored to a trigger, for small interactive content.

Foundation
Tooltip2 styles

Short label shown on hover and keyboard focus; not for essential content.

Foundation

Bulk-action bar for selections (React Aria Toolbar: arrow keys move between actions).

Core

Modal dialog: overlay + modal + dialog in one. Put it inside a DialogTrigger, after the trigger button.

Core
Context Menu2 styles

Right-click (or long-press) menu (Base UI Context Menu).

Core

Modal panel that slides in from an edge (no swipe gestures). Use Drawer for swipeable, snap-point sheets.

Core

Guided product tour: a popover anchored to each step's target element, with a highlight ring on the target.

Core

⌘K command menu: a modal with a search field that filters a keyboard-navigable menu (React Aria Autocomplete + Menu, so arrow keys work while typing).

Pro

Multi-step flow in one modal where earlier steps stay visible as cards stacked behind the active one. Back/Next move through steps; the title of each step is the dialog's accessible name. Steps stay mounted while the dialog is open, so uncontrolled fields keep their values on Back/Next; they reset when it closes.

Extra

Non-modal, draggable and resizable panel (inspector, chat, notes). Drag the title bar or focus it and use arrow keys (Shift = 32px); drag the corner grip or use Alt+arrow keys on the title bar to resize. Both stay inside the parent when `bounds="parent"`. Minimize collapses to the title bar.

Extra
Popconfirm2 styles

Lightweight inline confirmation: the trigger opens an alertdialog popover anchored to it. Use for reversible-ish actions; use AlertDialog (modal) for destructive ones that can't be undone.

Extra
Toggle Tip2 styles

Click/tap info tip (the accessible alternative to a hover tooltip for important help): a small "?" or "i" button that opens a non-modal popover dialog. Works with touch and keyboard.

Extra

Utilities16

Icon2 styles

Consistent stroke-icon wrapper: currentColor, sizes, and correct a11y (aria-hidden unless labelled).

Core

Sets locale (and text direction) for dates, numbers, calendars and RTL layout in everything below it.

Core

Locale-aware number (uses the nearest LocaleProvider): currency, percent, compact, units…

Core
Portal1 style

Sets where every overlay (React Aria and Base UI components in Marble UI) renders. Point it at a themed element so popovers inherit data-theme / dark.

Core

Mount/unmount with an enter and exit animation (Motion AnimatePresence + Marble UI presets).

Core

Owns the theme preset (data-theme) and color mode (.dark), including "system" mode.

Core
Theme Toggle2 styles

Light / dark / system switch wired to ThemeProvider. "icon": one button cycling modes. "segmented": three options.

Core

Core

Sticky element that knows when it's stuck (adds a shadow/border then), via a sentinel IntersectionObserver. Works inside any scroll container; `offset` is the sticky top in px.

Extra

Renders children only on the client (for window/localStorage/canvas APIs); `fallback` during SSR and hydration.

Extra

Saves generated content as a file: `getData` may be async (export jobs); shows preparing/done/failed states and announces them. Stays focusable while preparing.

Extra

Mount once. Lets any code open dialogs imperatively and await their result (confirm, prompt, custom).

Extra

Live token editor: preset, accent hue/chroma, radius and mode, applied to a scoped preview (not the whole page), with copyable CSS. The docs site uses it for "make it yours".

Extra

Extra

Date time14

Calendar4 styles

Month grid for picking a date (or a range with RangeCalendar), locale-aware and keyboard navigable.

Foundation
Date Picker3 styles

Date (or range) field with a calendar popover; segments are editable by keyboard.

Foundation
Date Field3 styles

Keyboard date entry with locale-aware segments (no calendar popover).

Core

Date (or range) field with a calendar popover; segments are editable by keyboard.

Core

Month grid for picking a date (or a range with RangeCalendar), locale-aware and keyboard navigable.

Core
Time Field2 styles

Time input with editable segments (hour, minute, AM/PM), locale-aware.

Core

Month and week views of events, formatted in the React Aria locale. Events are buttons (keyboard reachable) labelled with title and time; a month day with more than three events gets a "+N more" button that expands the day in place.

Pro
Gantt3 styles

Timeline of tasks with progress, milestones, dependency arrows and a today line. The task list is a table for assistive tech.

Pro

Date + time in one field (segments down to minutes) with the calendar popover. Values are ZonedDateTime (the time zone segment is hidden).

Extra

Compact week strip: prev/next week, one toggle per day (single selection), optional dots for days with events (announced as "has events").

Extra

Month picker: year header with prev/next and a 4×3 month grid (arrow-key navigable ListBox grid).

Extra

"3 minutes ago" that stays current (refresh interval adapts to the distance). Full timestamp in title and dateTime.

Extra

Grid of bookable time slots grouped by part of day (radio group: arrow keys move, booked slots disabled).

Extra

Countdown (`duration` ms) or stopwatch. Start/pause/reset; announces completion once (visual digits are hidden from AT while running).

Extra

Layout12

Accordion2 styles

Foundation

One collapsible section. Group several in an Accordion. Height animates via --disclosure-panel-height.

Foundation
Scroll Area3 styles

Native scrolling with slim overlay scrollbars (Base UI Scroll Area).

Foundation
Separator2 styles

Horizontal or vertical divider between groups of content.

Foundation

Page frame: sidebar + header + scrolling main region with the right landmarks.

Core
Aspect Ratio2 styles

Keeps a fixed width:height ratio; children (img/video/iframe) fill it.

Core

Split view with draggable, keyboard-accessible separators (role="separator", arrow keys step 5%).

Core
Bento Grid1 style

Bento layout: a 3-column grid (one column on small screens) of feature cards with varied spans, placed in DOM order.

Extra

Centered page column with responsive side padding.

Extra

Grid recipes. `minItemWidth` makes a responsive auto-fit grid (no breakpoints needed); `cols` gives a fixed column count; GridItem spans columns/rows.

Extra

Bleeds content (usually media) to the edges of a padded card by cancelling the card's padding. Set `--card-pad` on the card (defaults to 1rem) and pick the edges to bleed.

Extra

Flex stack with token gaps. HStack/VStack are presets; Center and Spacer cover the rest.

Extra

Feedback12

Inline, persistent message. role="alert" for warning/danger so it's announced; status otherwise.

Foundation
Empty State3 styles

Placeholder for empty lists and searches: icon or art, title, explanation and actions.

Foundation
Progress Bar3 styles

Determinate or indeterminate progress of a task, with label and value.

Foundation
Skeleton3 styles

Loading placeholder. Hidden from assistive tech; announce loading on the container instead (aria-busy).

Foundation
Spinner2 styles

Indeterminate progress, announced to assistive tech via React Aria ProgressBar.

Foundation
Toast2 styles

Region that renders queued toasts; call toast() anywhere to show one.

Foundation

Full-width, page-level announcement (above the navbar). For in-content messages use Alert.

Core
Meter2 styles

A known quantity within a range (storage, quota, password strength). Unlike ProgressBar, it isn't "progress".

Core

Bell button with unread count, opening a popover list of notifications (GridList: arrow keys, Enter to open).

Core

Circular progress (React Aria ProgressBar). Determinate or indeterminate.

Core

Wraps content and covers it with a blurred overlay + spinner while `loading`; marks the region aria-busy and inert. If focus was inside, it moves to the region while loading (inert content can't hold it) and returns afterwards.

Extra
Result4 styles

Full result panel for the end of a flow or an error page: status icon, title, explanation, actions, optional extra.

Extra

Collections8

Table3 styles

Data table on React Aria Table: sorting, row selection, keyboard grid navigation. Wrap in a bordered container for the card look.

Foundation

Group of tags that can be selectable and removable, with keyboard navigation.

Foundation
Tree View2 styles

Hierarchical list with expand/collapse, selection and keyboard navigation (React Aria Tree).

Foundation
ListBox2 styles

Standalone, always-visible selectable list (single/multiple, sections, keyboard type-ahead).

Core

Reorder by drag, or keyboard (focus the handle, Enter, arrows, Enter). Built on React Aria drag and drop.

Core

Wrap a ListBox, GridList, Tree or Table to render only the visible rows. The collection inside needs a fixed height and overflow:auto.

Core
Masonry1 style

Accessible masonry grid: React Aria GridList in a virtualized WaterfallLayout (arrow keys follow the visual layout, only visible items render). Give it a fixed-height scroll container via className. Put padding and borders on a wrapper, not here: the layout spans the scroller's full client width, so padding pushes the last column out. Items are announced by `textValue(item)`; by default an item's `title`, `label`, `name` or `alt` string, else its id.

Extra

Editor8

Code Block3 styles

Multi-line code with lightweight syntax highlighting, line numbers, line emphasis and copy.

Core

Discussion thread: anchored quote, comments with reactions, reply box, resolve.

Pro
Diff Viewer2 styles

Line diff (jsdiff) with optional word-level highlights, unified or split. Signs and line numbers carry meaning, not color alone.

Pro

Tiptap 3 editor styled with Marble UI tokens: toolbar or bubble menu, placeholder, word/character count.

Pro

Tiny live playground: edit HTML/CSS/JS in tabs, preview updates (debounced) in a sandboxed iframe (scripts allowed, no same-origin access), console output captured below. Tab indents in the editor; press Escape first and the next Tab moves focus on instead (Shift+Tab always does).

Extra

Collapsible, keyboard-navigable JSON tree (React Aria Tree): typed colors, item counts, copy the path of any node.

Extra

Remote cursor with a name tag (and optional live chat bubble). Position is in px within the container.

Extra
Mentions1 style

Textarea with mention suggestions (combobox pattern): type @ to open, arrows to move, Enter/Tab to insert, Escape to close. The textarea is a combobox (`aria-expanded`, `aria-activedescendant`); the text is controlled (`value`/`onChange`) or uncontrolled (`defaultValue`), and inserted mentions are reported through onMentionsChange.

Extra

Color8

Color Area2 styles

2D picker for two channels (default: saturation × brightness).

Core
Color Field2 styles

Text entry for a hex color, or a single channel when `channel` is set.

Core
Color Picker3 styles

Swatch trigger that opens area + hue slider + hex field (+ presets) in a popover. All parts share one value.

Core
Color Slider3 styles

Gradient slider for one color channel (hue, alpha, lightness, red…).

Core
Color Swatch2 styles

Accessible color preview: announces the color name ("vibrant red").

Core

Grid of preset colors with arrow-key navigation; selection shows as a ring.

Core
Color Wheel2 styles

Circular hue picker (React Aria ColorWheel): drag, or use arrow keys.

Extra

Multi-stop linear gradient editor: click the bar to add a stop, drag stops (or arrow keys) to move them; a stop is selected on press or focus, Delete removes it (focus moves to the next selected stop), edit the selected stop's color, set the angle. Emits the CSS string.

Extra

Media8

Image2 styles

<img> with lazy loading, fade-in and an error fallback.

Core
QR Code3 styles

QR code rendered as SVG in the current text color (works with theme presets and dark mode).

Core
Video Player2 styles

Native <video> with custom, keyboard-accessible controls: play, seek, volume, speed, captions, fullscreen.

Pro
Credit Card2 styles

Display-only card visual (saved payment method, checkout preview). Shows the last 4 only; flips to the back for CVC hints.

Extra

Before/after comparison with a draggable divider. The divider is a real slider (arrow keys, Home/End).

Extra

Crop box over an image: drag to move, drag corners to resize, optional fixed aspect. Keyboard: arrow keys move the box, Alt+arrow keys resize it from the bottom-right corner (Shift = 10% steps for both). Values are fractions of the image (0–1) so they're resolution independent; `onChange` reports them.

Extra

Thumbnail grid that opens a full-screen viewer: arrow keys / buttons to navigate, Z to zoom, Escape to close. Each image change announces its position, alt text and caption; focus returns to the thumbnail on close.

Extra

Story rail + full-screen viewer: segmented progress, auto-advance (5s), tap/click left-right or arrow keys, Space or press-and-hold to pause, Escape closes. Seen stories lose their ring.

Extra

Typography7

Kbd2 styles

Keyboard key or shortcut, e.g. ⌘ K.

Foundation
Heading2 styles

Visual size is independent of semantic level: <Heading level={2} size="xl">.

Core

Marks search matches inside text with <mark>.

Core
Inline Code2 styles

Inline code. For multi-line, highlighted code use CodeBlock.

Core
Text2 styles

Text primitive with consistent sizes, weights and tones.

Core

Styles raw HTML/Markdown output (articles, docs, CMS content) with the design tokens. Uses Tailwind child selectors, so no typography plugin is required.

Core

Quotation in four styles: `bar` (border accent), `icon` (large quote mark), `card` (with author), `pull` (large centered pull-quote).

Extra

Data grid3

Data Grid2 styles

Data grid: TanStack Table v9 for search, sorting, pagination and column visibility, rendered with the React Aria Table for grid keyboard navigation and selection.

Pro

"Add filter" menu (field → options) plus removable chips for active filters, like Linear/Notion filter rows.

Pro

Board with draggable cards between columns. Fully keyboard operable via React Aria drag and drop (focus a card, press Enter to start dragging, Tab/arrow to a target, Enter to drop).

Pro