Split users into accounts and profiles on Postgres 17. The dry run passed; production needs approval.
Components
241 pieces. Click one to try it here; open its page for props and docs.
No matches.
Inputs30
Primary action control (React Aria Button): press events, pending state, five visual variants.
FoundationShared field parts. Every form control composes these so labels, help and errors look identical.
FoundationGroups related fields under one legend (Base UI Fieldset: native <fieldset>, disables all children together).
FoundationDrag-and-drop target plus a native file picker (React Aria DropZone + FileTrigger).
FoundationNumeric input with stepper buttons, locale formatting, units and currency.
FoundationOne-time code input (Base UI OTP Field): paste, autofill and per-slot keyboard handling built in.
FoundationButton that stays pressed or unpressed (aria-pressed), e.g. bold in a toolbar.
FoundationA button that opens the native file picker. For drag and drop, use FileDropZone.
CoreNative <form> with React Aria validation: field-level `validate`, `isRequired`, and server errors via `validationErrors={{ fieldName: 'message' }}`.
CoreStar rating as a radio group: arrow keys change the value, each option is announced ("3 of 5 stars").
CoreSearch input with clear button, Escape to clear, and an optional shortcut hint.
CoreFree-form tags: type and press Enter or comma; Backspace on empty input removes the last tag.
CoreGroup of ToggleButtons with single or multiple selection and arrow-key navigation.
CoreCircular angle input (0–359°). Drag the knob or use arrow keys (Shift = 15°), Home/End.
ExtraClick-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.
ExtraEmoji grid with search and category headings; arrow keys move through the grid (GridList), Enter picks. `autoFocus` focuses the search (on in the popover picker).
ExtraFloating 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.
ExtraTextarea for JSON with live validation (message includes line/column), Format and Minify actions.
ExtraText field that formats input against a pattern as you type. `onValueChange` gives both masked and raw values.
ExtraSignature 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.
ExtraOAuth sign-in button with the provider's mark. `icon` renders a square icon-only button (name stays accessible).
ExtraCharts27
Change over time with a 10% area wash under 2px lines. Stack only when the total is meaningful.
ProCompare magnitudes across categories: ≤24px bars, 4px rounded data end, 2px gap between neighbours.
ProRanked list where each row's background bar shows its share of the max (top pages, referrers, countries).
ProContribution-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).
ProTitle, 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.
ProBars and lines on ONE shared y-axis (e.g. actual vs target). Never two y-scales: different units belong in separate charts.
ProConversion funnel: bar per stage (share of the first stage) with step-to-step conversion.
Pro240° gauge for a single bounded KPI. role="meter" with min/max, a clamped now and the formatted value as valuetext.
ProMagnitude across two categorical axes: one hue, light→dark, with a stepped legend. Cell tooltips on hover, or focus + arrow keys (Up/Down change row).
ProTrends over an ordered axis: 2px lines, end dots, crosshair tooltip with every series.
ProCompare a few entities across 4–8 dimensions. Polygons use a 10% wash with 2px outlines.
ProConcentric progress rings (activity-ring style). Each ring's track is a faint step of its own color.
ProBubble chart: scatter with a third value as bubble size, radius on a sqrt scale (4px floor to 26px) so area tracks the value.
ExtraActual vs target against qualitative bands (poor/ok/good as three steps of the sequential ramp, light to dark). Compact alternative to gauges.
ExtraOHLC 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.
ExtraSingle 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.
ExtraCorrelation / 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).
ExtraFlow between stages (budget → departments, traffic → outcomes). Link color follows its source node; link tooltips on hover, or focus + arrow keys.
ExtraX/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).
ExtraHierarchy as rings: inner ring = groups (categorical hues), outer rings = children (tints). Arc tooltips on hover, or focus + arrow keys.
ExtraStatus 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.
ExtraPart-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.
Extra10×10 grid where each square is 1% — a friendlier part-to-whole than a pie for a few categories.
ExtraAI 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.
ProAn agent's live plan: ordered steps with status and timing, steering notes, and an optional composer.
ProMulti-agent run: who's coordinating, which sub-agents are working on what, and their status.
ProHuman-in-the-loop gate: the agent pauses until a person approves or denies a specific action.
ProAttachment chips for prompts and messages: image thumbnails, file type badge, upload progress, remove.
ProScrolling 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.
ProOne chat turn: avatar, name, time, message body and actions, for user and assistant roles.
ProRenders 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.
ProCopy, feedback (mutually exclusive thumbs), regenerate and share for an assistant message. One tab stop (toolbar).
ProChat 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.
ProCollapsible "thinking" trace: open while the model reasons, collapses to "Thought for Ns" when finished.
ProNumbered inline citation ("[2]") with a hover/focus preview of the source.
ProIndicator while a model works before the first token. Announced politely; motion stops for reduced-motion users.
ProOne tool invocation: name, status, timing; expands to show arguments and result.
ProLive controls for a running agent: autonomy level, pause/resume, guardrails, and a "steer" box to redirect mid-run. Every control is controlled or uncontrolled.
ExtraWhat the assistant remembers about the user: searchable, editable inline, pin/delete, with a global on/off. "Forget everything" asks first.
ExtraSearchable, filterable library of prompt templates with {{variables}} filled in a dialog before use.
ExtraAgent-led structured questions, one at a time, with progress, skip/back and a summary the agent can act on.
ExtraMessage reactions: toggle chips with live counts, plus an emoji picker to add new ones.
ExtraEditor 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.
ExtraData display17
Surface for grouped content: header, body and footer slots; outline, elevated or filled.
FoundationNative 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.
CoreStatic, non-interactive list. For selectable or actionable rows use ListBox / ListView.
CoreColored dot with a label for live states (online, degraded, offline), optionally pulsing.
CoreChronological event feed (ordered list). "dots" for compact activity, "icons" for rich histories.
CoreIcon in a decorated container, for feature lists, empty states and modals.
ExtraInteractive 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.
ExtraShows 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.
ExtraPrice tick: symbol, rolling price, signed change with arrow and color, optional sparkline. Change is never color-only.
ExtraStatic 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.
ExtraCollapses long content to `maxHeight` with a fade and a Show more / Show less toggle (only when it actually overflows).
ExtraTiles 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.
ExtraSelection16
Checkbox with label and description; supports indeterminate, groups and a card style.
FoundationSingle-select toggle group with a sliding indicator (Motion layout animation).
FoundationPick one option from a list in a popover (React Aria Select), with typeahead.
FoundationOn/off toggle that takes effect immediately; use Checkbox in forms that submit.
FoundationSearch field that filters an always-visible list in place (React Aria Autocomplete). Arrow keys move through results while typing.
CoreCheckbox with label and description; supports indeterminate, groups and a card style.
CoreCheckbox with label and description; supports indeterminate, groups and a card style.
CoreSelect with selectionMode="multiple": the popover stays open while toggling options.
CorePlain <select>: native mobile pickers, works without JS, ideal for long simple lists.
CoreHierarchical picker: one listbox column per level; choosing a leaf closes and shows the full path. `value` follows later changes.
ExtraBorderless select that reads as text, for settings rows and sentences ("Notify me [weekly]").
ExtraDual list: toggle items on either side (click, Space, Shift for ranges) and move them across with the arrow buttons.
ExtraSelect whose options are a tree. Single selection with click, Enter or Space; arrow keys only move focus and expand folders.
ExtraOverlays16
Modal dialog: overlay + modal + dialog in one. Put it inside a DialogTrigger, after the trigger button.
FoundationEdge-anchored, swipeable panel built on React Aria Sheet (v1.22+). position: bottom (default) | top | left | right | center. Supports snapPoints.
FoundationRich, non-modal preview on hover, focus or long press (React Aria PreviewTrigger). May contain interactive content.
FoundationMenu in its own popover. Use inside MenuTrigger (after the trigger button) or SubmenuTrigger.
FoundationNon-modal floating panel anchored to a trigger, for small interactive content.
FoundationBulk-action bar for selections (React Aria Toolbar: arrow keys move between actions).
CoreModal dialog: overlay + modal + dialog in one. Put it inside a DialogTrigger, after the trigger button.
CoreModal panel that slides in from an edge (no swipe gestures). Use Drawer for swipeable, snap-point sheets.
CoreGuided 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).
ProMulti-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.
ExtraNon-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.
ExtraLightweight 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.
ExtraClick/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.
ExtraUtilities16
Consistent stroke-icon wrapper: currentColor, sizes, and correct a11y (aria-hidden unless labelled).
CoreSets locale (and text direction) for dates, numbers, calendars and RTL layout in everything below it.
CoreLocale-aware number (uses the nearest LocaleProvider): currency, percent, compact, units…
CoreSets 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.
CoreMount/unmount with an enter and exit animation (Motion AnimatePresence + Marble UI presets).
CoreOwns the theme preset (data-theme) and color mode (.dark), including "system" mode.
CoreLight / dark / system switch wired to ThemeProvider. "icon": one button cycling modes. "segmented": three options.
CoreSticky 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.
ExtraRenders children only on the client (for window/localStorage/canvas APIs); `fallback` during SSR and hydration.
ExtraSaves generated content as a file: `getData` may be async (export jobs); shows preparing/done/failed states and announces them. Stays focusable while preparing.
ExtraMount once. Lets any code open dialogs imperatively and await their result (confirm, prompt, custom).
ExtraLive 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".
ExtraDate time14
Month grid for picking a date (or a range with RangeCalendar), locale-aware and keyboard navigable.
FoundationDate (or range) field with a calendar popover; segments are editable by keyboard.
FoundationDate (or range) field with a calendar popover; segments are editable by keyboard.
CoreMonth grid for picking a date (or a range with RangeCalendar), locale-aware and keyboard navigable.
CoreMonth 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.
ProTimeline of tasks with progress, milestones, dependency arrows and a today line. The task list is a table for assistive tech.
ProDate + time in one field (segments down to minutes) with the calendar popover. Values are ZonedDateTime (the time zone segment is hidden).
ExtraCompact week strip: prev/next week, one toggle per day (single selection), optional dots for days with events (announced as "has events").
ExtraMonth 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.
ExtraGrid of bookable time slots grouped by part of day (radio group: arrow keys move, booked slots disabled).
ExtraCountdown (`duration` ms) or stopwatch. Start/pause/reset; announces completion once (visual digits are hidden from AT while running).
ExtraLayout12
One collapsible section. Group several in an Accordion. Height animates via --disclosure-panel-height.
FoundationPage frame: sidebar + header + scrolling main region with the right landmarks.
CoreSplit view with draggable, keyboard-accessible separators (role="separator", arrow keys step 5%).
CoreBento layout: a 3-column grid (one column on small screens) of feature cards with varied spans, placed in DOM order.
ExtraGrid recipes. `minItemWidth` makes a responsive auto-fit grid (no breakpoints needed); `cols` gives a fixed column count; GridItem spans columns/rows.
ExtraBleeds 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.
ExtraFlex stack with token gaps. HStack/VStack are presets; Center and Spacer cover the rest.
ExtraFeedback12
Inline, persistent message. role="alert" for warning/danger so it's announced; status otherwise.
FoundationPlaceholder for empty lists and searches: icon or art, title, explanation and actions.
FoundationDeterminate or indeterminate progress of a task, with label and value.
FoundationLoading placeholder. Hidden from assistive tech; announce loading on the container instead (aria-busy).
FoundationIndeterminate progress, announced to assistive tech via React Aria ProgressBar.
FoundationFull-width, page-level announcement (above the navbar). For in-content messages use Alert.
CoreA known quantity within a range (storage, quota, password strength). Unlike ProgressBar, it isn't "progress".
CoreBell button with unread count, opening a popover list of notifications (GridList: arrow keys, Enter to open).
CoreCircular progress (React Aria ProgressBar). Determinate or indeterminate.
CoreWraps 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.
ExtraFull result panel for the end of a flow or an error page: status icon, title, explanation, actions, optional extra.
ExtraCollections8
Data table on React Aria Table: sorting, row selection, keyboard grid navigation. Wrap in a bordered container for the card look.
FoundationGroup of tags that can be selectable and removable, with keyboard navigation.
FoundationHierarchical list with expand/collapse, selection and keyboard navigation (React Aria Tree).
FoundationStandalone, always-visible selectable list (single/multiple, sections, keyboard type-ahead).
CoreReorder by drag, or keyboard (focus the handle, Enter, arrows, Enter). Built on React Aria drag and drop.
CoreWrap a ListBox, GridList, Tree or Table to render only the visible rows. The collection inside needs a fixed height and overflow:auto.
CoreAccessible 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.
ExtraEditor8
Multi-line code with lightweight syntax highlighting, line numbers, line emphasis and copy.
CoreDiscussion thread: anchored quote, comments with reactions, reply box, resolve.
ProLine diff (jsdiff) with optional word-level highlights, unified or split. Signs and line numbers carry meaning, not color alone.
ProTiptap 3 editor styled with Marble UI tokens: toolbar or bubble menu, placeholder, word/character count.
ProTiny 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).
ExtraCollapsible, keyboard-navigable JSON tree (React Aria Tree): typed colors, item counts, copy the path of any node.
ExtraRemote cursor with a name tag (and optional live chat bubble). Position is in px within the container.
ExtraTextarea 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.
ExtraColor8
Swatch trigger that opens area + hue slider + hex field (+ presets) in a popover. All parts share one value.
CoreGrid of preset colors with arrow-key navigation; selection shows as a ring.
CoreMulti-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.
ExtraMedia8
QR code rendered as SVG in the current text color (works with theme presets and dark mode).
CoreNative <video> with custom, keyboard-accessible controls: play, seek, volume, speed, captions, fullscreen.
ProDisplay-only card visual (saved payment method, checkout preview). Shows the last 4 only; flips to the back for CVC hints.
ExtraBefore/after comparison with a draggable divider. The divider is a real slider (arrow keys, Home/End).
ExtraCrop 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.
ExtraThumbnail 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.
ExtraStory 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.
ExtraTypography7
Styles raw HTML/Markdown output (articles, docs, CMS content) with the design tokens. Uses Tailwind child selectors, so no typography plugin is required.
CoreQuotation in four styles: `bar` (border accent), `icon` (large quote mark), `card` (with author), `pull` (large centered pull-quote).
ExtraData grid3
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.
ProBoard 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