M
MiniDev UI
/
ui
Files
Code
Info
Accordion
Accessible React accordion on Base UI, with bordered items, a rotating chevron and animated panels. Keyboard navigable, with one or many items open at once.
Account setup progress
account-setup-progress
React onboarding card that shows account setup as completed steps out of a total, with a labelled progress bar and a hint for the next step to finish.
Activity feed
activity-feed
React activity feed that lists who did what and when, with initials avatars, muted action text and tabular timestamps in a single bordered card.
Add card form
add-card-form
Compact payment form for card number, expiry and CVC with correct autocomplete hints, numeric input mode and a full width save button. Ready for your processor.
Admin stat strip
admin-stat-strip
Responsive Tailwind row of admin KPI tiles, each with a label, a large tabular value and an optional up or down delta. Collapses from four columns to one.
Admin user row
admin-user-row
User management row with avatar, online status dot, name, email, a role chip for admin, write or read access, and an accessible actions menu button.
Agent trace
agent-trace
React timeline of an AI agent run: each tool step shows pending, running, done or error, reports its duration and folds out details. The header sums up the run.
Ai composer
ai-composer
Chat input for AI apps with a multiline textarea, Enter to send, suggestion chips, attach button, model picker and a stop button while a response streams.
Alert dialog
alert-dialog
Shadcn style alert dialog on Base UI for confirmations that need an explicit answer. Modal backdrop, focus trap, title, description and an actions row.
Announcement bar
announcement-bar
Slim site-wide announcement bar for launches, promos or notices. Centered content, a polite status role for screen readers and an optional dismiss button.
Api key list
api-key-list
React settings panel listing API keys with masked previews, created date badges and a rotate button per key, plus a header action to create a new key.
App shell
app-shell
Tailwind app shell layout with a fixed width sidebar slot, a topbar slot and a scrolling main area. The sidebar hides below the md breakpoint for mobile.
Approval card
approval-card
React request card for approval workflows showing the requester avatar, title and summary, with Reject and Approve buttons wired to your callbacks.
Area chart
area-chart
Dependency free SVG area chart for React with a smoothed line, dashed grid, gradient fill and an optional highlighted point. Strokes stay crisp at any size.
Artifact preview
artifact-preview
Framed preview for AI generated artifacts such as code, documents or UI, with a title bar, copy button and optional expand action for a full view.
Aspect ratio
aspect-ratio
Shadcn compatible aspect ratio wrapper that locks media to a ratio such as 16:9 or 1:1 using CSS aspect-ratio, with overflow clipped for images and video.
Assign picker
assign-picker
Assignee picker for tasks and tickets: a listbox of people with initials avatars, where the selected person is highlighted and choices report their id.
Attachment chip
attachment-chip
Compact Tailwind file chip with a paperclip icon, truncated filename and an optional remove button, for attachments in chat composers, emails and forms.
Audio player
audio-player
Minimal React audio player row with a play and pause toggle, title, subtitle and an accessible progress bar. Controlled, so it works with any audio source.
Audio recorder
audio-recorder
A microphone recorder with start, pause and stop, an elapsed timer, live waveform bars, playback with a progress bar and a download button.
Audit filter bar
audit-filter-bar
Filter toolbar for audit logs combining a search field, actor filter chips for all, admins or system, and a date range picker in one wrapping row.
Audit log entry
audit-log-entry
Single audit log line: actor avatar, actor name, muted action text and the affected target, with a relative timestamp underneath. Stacks into a trail.
Audit trail
audit-trail
Bordered audit trail in React that renders a list of actor, action, target and time records as stacked log entries. Useful for security and admin history pages.
Auth card
auth-card
Centered Tailwind sign in card with a title, optional description, a slot for fields and providers, and a divided footer for sign up or reset links.
Autocomplete
Text input that filters string options as you type, using ARIA combobox and listbox roles. Works controlled or uncontrolled and lists up to eight matches.
Avatar
Shadcn compatible avatar on Base UI with image and initials fallback, three sizes, a status badge and an overlapping avatar group with a plus count.
Avatar group
avatar-group
Shown under the name in the tooltip and overflow list.
Avatar upload
avatar-upload
React profile photo uploader with an avatar preview and an Upload button that opens a hidden image file input. Shows initials until a picture is chosen.
Back link
back-link
Small back navigation link with a left arrow icon, muted text that darkens on hover and a visible focus ring. Defaults to the label Back and accepts any href.
Back to top
back-to-top
A back to top button that appears after scrolling, with a ring that fills as the reader progresses. Smooth scroll that respects reduced motion.
Badge
Shadcn style badge in seven variants: default, accent, secondary, destructive, outline, ghost and link. Renders as a span or any element, with icon support.
Banner
Inline notice banner in accent, warning or danger tones, with a status role, a slot for an action button and an optional dismiss icon on the right.
Bar chart
bar-chart
Lightweight React bar chart with rounded bars, dashed gridlines and labels. Hovering a bar dims the rest and shows its value; the peak is highlighted first.
Bento grid
bento-grid
A responsive bento grid for feature sections: tiles with icon, title, copy and a visual slot on a six column grid that collapses to one column on phones.
Billing address
billing-address
Tailwind billing address fieldset with a multiline street field and a responsive row for city, state and postal code. Drops into checkout forms.
Blog card
blog-card
Linked Tailwind blog post card with a 16:9 cover image, tag, relative date, title and a two line clamped excerpt. Hover and focus states cover the card.
Breadcrumb
Breadcrumb navigation from an items array, with chevron separators, linked ancestors and the current page marked with aria-current. Built with React.
Breadcrumb ellipsis
breadcrumb-ellipsis
Ellipsis marker for collapsing the middle of long breadcrumb trails. Decorative and hidden from assistive tech, sized to sit between breadcrumb separators.
Build pipeline
build-pipeline
CI pipeline view that shows each stage as a chip with success, running, failed or pending icons, joined by connectors. Status text is exposed to screen readers.
Bulk actions bar
bulk-actions-bar
Floating Tailwind selection bar that appears once rows are selected, showing the count, your action buttons and a clear button. Sticks to the bottom edge.
Bulk user import
bulk-user-import
CSV user import panel with a format hint for email, name and role, a CSV-only dropzone and an Import users button that enables once a file is added.
Button
Shadcn compatible React button on Base UI with eight variants, nine sizes including icon sizes, a pressed state and render prop support for links.
Button group
button-group
Groups adjacent buttons into one segmented control in Tailwind, joining borders and rounding only the outer corners. Uses role group for toolbars.
Calendar agenda
calendar-agenda
React agenda list of the day's events with a fixed time column, title and optional meta line such as location or attendees, divided inside one card.
Calendar month
calendar-month
Month calendar grid with weekday headers and clickable day cells that highlight the selected date. A simple Tailwind base for date views and schedulers.
Callout
Tailwind callout box in info, success, warning or danger tones with an optional bold title. Uses the note role, which suits docs, forms and setup steps.
Cancel flow
cancel-flow
Two step subscription cancellation flow: ask for a reason with radio options, then confirm with a destructive button or go back. Tells users what they keep.
Card
Shadcn compatible card with header, title, description, action, content and footer slots, a compact size and edge to edge images. Built for Tailwind v4.
Carousel
Scroll snap React carousel with previous and next buttons, arrow key support and a labelled region. Shows one, two or three slides by breakpoint, no library.
Cart line item
cart-line-item
React shopping cart row with product title, unit price, a quantity stepper and an optional remove button. Callbacks report quantity changes and removals.
Case study card
case-study-card
Case study card with the company name, a short headline and a large result metric, plus an optional up or down delta. Good for proof sections on landing pages.
Center
Layout helper that centers content horizontally and vertically in a narrow, text-centered column. Handy for empty states, auth screens and simple heroes.
Character count
character-count
Live React character counter that shows the current count against a limit and turns red when it goes over. Announces changes politely to screen readers.
Chart card
chart-card
Card wrapper for charts with a title, optional description and a minimum height body. Pairs with the area, bar and donut charts in a React dashboard.
Chart legend
chart-legend
Wrapping chart legend with small color swatches and labels. Pass colors per series or fall back to accent, success, warning and danger theme tokens.
Chart tooltip card
chart-tooltip-card
Tooltip card for charts showing a title and label and value rows with tabular numbers. Drop it into any chart library's custom tooltip slot.
Chat thread
chat-thread
Scrolling chat thread for React that renders user, assistant and system messages as bubbles, auto scrolls to the newest one and uses a live log role.
Check run list
check-run-list
List of CI check runs with success, failed or running icons, monospaced job names and a status label. Looks like the checks section of a pull request.
Checkbox
Shadcn style checkbox on Base UI with an animated check, indeterminate state, invalid and disabled styles, and an enlarged hit area for touch.
Checkbox group
checkbox-group
Vertical wrapper that groups related checkboxes under role group with even spacing. Use it with Checkbox and labels for multi select settings.
Checkout summary
checkout-summary
Tailwind order summary card listing line items and prices, a divided total row and a full width Pay now button. Fits the side column of a checkout.
Chip filter
chip-filter
Single select filter chips in React that behave as a radio group, with an accent ring on the active chip. Good for quick filters above lists and tables.
Choice card
choice-card
Selectable React card button with an icon, title and description, using aria-pressed and an accent outline when chosen. Suits plan pickers and onboarding.
Citation chip
citation-chip
Inline citation button for AI answers, with an accent source number and label. Link it to a source panel or popover so users can check references.
Cluster
Flex layout primitive that wraps children in a row with vertical centering and a numeric gap on the 4px scale. Great for tags, buttons and meta rows.
Code block
code-block
React code block with zero dependency syntax coloring, a language tag, optional filename and line numbers, and a copy button that confirms Copied.
Code editor frame
code-editor-frame
Editor style frame with a monospaced filename tab and a code area. Wrap snippets, editors or diffs so they read as a file in your React docs or app.
Collapsible
Shadcn compatible collapsible on Base UI: a full width trigger that shows or hides a panel of content. Accessible expanded state and keyboard support.
Collapsible sidebar
collapsible-sidebar
Sidebar with a toggle button on its edge that collapses it to a narrow rail and expands it again. The button label updates for screen readers.
Color picker
color-picker
Swatch color picker with eight OKLCH presets, a ring on the selected swatch and listbox semantics. Works controlled or uncontrolled for theme or label colors.
Column visibility menu
column-visibility-menu
Columns dropdown for data tables with a checkbox item per column. It returns the updated list of visible column ids so you can show or hide table columns.
Combobox
Shadcn style combobox: a popover select with a filter input, check mark on the chosen item and an empty message. Built on Base UI popover for React.
Command dialog
command-dialog
Command dialog that opens the command palette in a modal from a list of commands with labels and handlers. Wire it to a Cmd K shortcut in your React app.
Command item
command-item
Row for command menus with a label, an optional keyboard shortcut in a kbd tag and an active highlight state. Use it to build custom command lists.
Command palette
command-palette
Cmd K style command palette in a dialog with a search field that filters commands as you type, runs the chosen action and closes. Shows an empty state.
Comment composer
comment-composer
Comment box with a three row textarea and a Comment button that stays disabled until there is text. Submits the trimmed value and clears the field.
Comment thread
comment-thread
Threaded React comment list with initials avatars, author name, timestamp and body in bordered bubbles. Pairs with the comment composer.
Commit row
commit-row
Git commit row for React with author avatar, commit message, relative time, a short SHA badge and a copy button for the hash. Fits deploy logs.
Comparison table
comparison-table
Plan comparison table with features as rows and plans as columns, showing check or dash icons for booleans and text for values. Scrolls on mobile.
Confirm destructive
confirm-destructive
Destructive action confirm: a red trigger button opens a dialog with a title, warning text, Cancel and Confirm. Labels are configurable for deletes and resets.
Connected account
connected-account
Tailwind settings row for a linked third party account showing the provider and account name, with a Disconnect button. For OAuth and integrations.
Console output
console-output
Scrollable Tailwind console panel in monospace that prints log, warn and error lines with level labels. Uses a log role and is keyboard focusable.
Container
Responsive page container that centers content with side padding and a max width preset: sm, default, lg or full. The basic wrapper for Tailwind layouts.
Context chip
context-chip
Small toggle chip for picking context in AI prompts or filters, with an active accent state and hover styling. Passes through all native button props.
Context menu
context-menu
Right click context menu that opens at the cursor with menu items, including destructive items in red. Closes on selection or click outside, in React.
Context pill
context-pill
Rounded pill for showing attached context, such as files or pages in an AI prompt, with a truncated label and an optional remove button.
Conversation sidebar
conversation-sidebar
React chat history sidebar with a New chat button and a scrolling list of conversations showing title and relative time. Highlights the active chat.
Cookie banner
cookie-banner
Floating React cookie consent card fixed to the corner, with a short notice and Accept and Reject buttons. It is a labelled dialog for assistive tech.
Copy button
copy-button
React copy to clipboard button that writes a value, then swaps to a check icon and Copied label for a moment. Accepts every Button variant and size.
Copy id
copy-id
Monospaced ID chip that copies its value to the clipboard on click and shows a check when done. Good for API keys, order IDs and record UUIDs.
Coupon input
coupon-input
Promo code field with an Apply button and inline success or error messages. The demo validation is easy to replace with your own check in React.
Coverage meter
coverage-meter
Test coverage bar with a label and percentage that turns green at 80, amber at 60 and red below. Exposed as a progressbar for screen readers.
Create api key
create-api-key
Inline form to name and create an API key, with a labelled input and a Create key button that passes the name to your handler. Pairs with the key list.
Credit balance
credit-balance
Compact credit balance pill with a small label and a large tabular figure. Shows remaining credits or usage balance for AI and pay-as-you-go apps.
Credit card input
credit-card-input
Luhn (mod 10) checksum, the check digit rule every major card number follows.
Cta banner
cta-banner
Tailwind call to action banner with a heading, supporting text and a primary button that stacks on mobile and sits in a row on wider screens.
Currency input
currency-input
Money input with a currency code prefix, decimal keypad on mobile and tabular numbers. Controlled via a string value to avoid rounding issues in React forms.
Danger zone
danger-zone
Danger zone settings card with a red outline, a warning that the action cannot be undone and a destructive delete button. Put it last on settings pages.
Data table
data-table
React data table with sortable columns, row selection, a floating bulk actions bar, hover row actions, sticky header, three densities and skeleton loading.
Date picker
date-picker
Date picker built on the native date input, styled to match the rest of your form fields. Returns ISO date strings and supports disabled and labelled states.
Date range picker
date-range-picker
Start and end date range picker made from two labelled date inputs. Works controlled or uncontrolled and returns a from and to object for filters and reports.
Delete account confirm
delete-account-confirm
Account deletion step with a danger alert and a confirmation field: the delete button stays disabled until the user types DELETE. Guards against misclicks.
Density toggle
density-toggle
Toggle group that switches between compact and comfortable density, reporting the choice to your handler. Pairs with data tables and dense list views.
Description list
description-list
Semantic dl, dt and dd list of label and value pairs in a responsive two column grid with dividers. Good for record details and summaries in Tailwind apps.
Dialog
Shadcn compatible modal dialog on Base UI with a blurred backdrop, enter and exit animation, close button, header, title, description and a footer bar.
Diff view
diff-view
React code diff viewer that tints added lines green and removed lines red with plus and minus gutters, context lines and an optional filename header.
Donut chart
donut-chart
Single value donut chart in SVG that fills an accent ring to a percentage of max and prints the percent in the middle. Labelled as an image for screen readers.
Downgrade warning
downgrade-warning
Tailwind plan downgrade warning card with an amber border, a summary of what gets locked on the free plan, and Keep plan or Downgrade buttons.
Drawer
Bottom drawer that slides a sheet up from the screen edge with a titled header, close button and scrolling body, capped at 80% of the viewport height.
Dropdown menu
dropdown-menu
Shadcn compatible dropdown menu on Base UI with groups, labels, checkbox and radio items, submenus, shortcuts, separators and destructive items.
Due date chip
due-date-chip
Small Tailwind due date chip with a calendar icon that switches to a red border and icon when overdue. Use it on task cards, tickets and boards.
Editable heading
editable-heading
Inline editable title that looks like a large heading but is a text input. Use it for document, page or project names; works controlled or uncontrolled.
Email button
email-button
Solid link button for email templates with a fixed height, padding and rounded corners. Uses an anchor so it survives email clients that strip buttons.
Email card
email-card
Content card for transactional emails with an optional title and body text, inset from the email edges. Use it for receipts, codes and highlights.
Email footer
email-footer
Email footer with your company address and Unsubscribe and Preferences links, centered on a muted background. Covers what marketing emails need at the end.
Email header
email-header
Simple email header band that shows your brand name on a muted background with a bottom border. Sits at the top of the email layout in React templates.
Email layout
email-layout
Email layout shell with a centered 560px column, rounded border and surface background. Compose it with the email header, cards, button and footer.
Email preview frame
email-preview-frame
Inbox style preview frame showing the sender and subject above the rendered email body. Handy for template galleries and email settings screens.
Emoji picker
emoji-picker
Compact emoji picker grid with a default set of twelve reactions or your own list, using listbox and option roles. Calls onSelect with the chosen emoji.
Empty search
empty-search
No results state for search that echoes the query in the title and suggests trying another query or clearing filters. Built on the empty state component.
Empty state
empty-state
Dashed empty state panel with an icon slot, title, description and an optional call to action button. Use it for first run screens and empty lists in React.
Empty table
empty-table
Empty table placeholder with a dashed border, a No data yet title, helper text and an optional button to create the first row. For React tables.
Env badge
env-badge
Uppercase environment badge for production, staging or development, with production outlined in red so live systems stand out in dev tools and consoles.
Env switcher
env-switcher
React segmented control for switching between Dev, Staging and Prod environments, reporting the selected value. Fits dashboards, API consoles and deploy tools.
Error state
error-state
React error state panel with an alert role, a title, explanation and an optional Try again button that calls your retry handler. For failed fetches.
Event calendar
event-calendar
A week and day event scheduler with overlap layout, an all-day row, a current time line and click to create.
Expandable row
expandable-row
Bordered Tailwind row that expands to reveal details on click, with a rotating chevron and aria-expanded. Can start open and takes any content.
Export data
export-data
Settings card to request a data export, explaining what the JSON export includes and when it will be ready, with a Request export button.
Facet filter
facet-filter
A titled checkbox facet group for sidebar search filters in React. Each option can show a result count, and the selected values come back as an array.
Faq list
faq-list
An FAQ section built on an accessible accordion. Pass question and answer pairs and each one expands in place, with keyboard support and a readable max width.
Feature flag toggle
feature-flag-toggle
A settings row for flipping a feature flag on or off: flag name, optional description and a labeled switch, wired as a controlled React component.
Feature grid
feature-grid
A responsive grid of feature cards, one to three columns wide, each with an optional icon, a title and a short description. Built with React and Tailwind.
Feedback thumbs
feedback-thumbs
Thumbs up and thumbs down buttons for rating an answer or article. Uses aria-pressed, toggles off on a second click, and works controlled or uncontrolled.
File dropzone
file-dropzone
A React drag and drop upload zone with accept and reject states, type and size checks, image previews, per file progress, retry and screen reader updates.
File list
file-list
A stacked list of file rows showing each name and metadata such as size or date, with an optional download button per item. Good for React attachment lists.
File reference
file-reference
A compact card that cites a source file with its name, monospace path and line range. Useful for code assistants, docs and AI answers that point into a repo.
File row
file-row
A single file row with an icon, a truncated name, an optional meta line and a ghost download button with an accessible label. Styled with Tailwind.
File tree
file-tree
A code editor style file explorer with file icons, git status, a filter field and full tree keyboard support.
Filter bar
filter-bar
A wrapping Tailwind toolbar for tables and lists: a search input first, your own filter controls as children, and a Clear button when onClear is set.
Floating action button
floating-action-button
A round primary button fixed to the bottom right corner of the viewport for the main action on a screen. Accepts every Button prop, including icons.
Floating label input
floating-label-input
Return an error message, or nothing when valid. Runs on submit and after the first error.
Footer mega
footer-mega
A multi column site footer with a brand block and titled link groups that reflow from one to five columns. A React and Tailwind footer for marketing sites.
Footer nav
footer-nav
A slim one line footer with the brand name on the left and a wrapping set of links in a labeled nav element. Fits app shells, docs and small landing pages.
Forgot password form
forgot-password-form
A password reset request card with one email field and a full width Send reset email button, composed from AuthCard, FormField and Input in React.
Form field
form-field
A wrapper that pairs any input with its label, required marker, help text and an error message announced with role alert. Keeps React forms consistent.
Funnel chart
funnel-chart
A funnel chart with stage bars laid out horizontally or vertically, conversion rates and drop-off between stages, an optional comparison series and bars that spring to new values when the data changes.
Funnel steps
funnel-steps
A conversion funnel drawn as labeled horizontal bars scaled to the largest step, with formatted counts per stage. Suited to signup and checkout analytics.
Gantt chart
gantt-chart
A project timeline with day and week scales, a today line, progress fills, dependency arrows, a sticky task column and focusable bars.
Gantt row
gantt-row
One row of a Gantt timeline: a task label beside a track with a bar placed by start and end values on a shared scale. Stack rows to build a React roadmap.
Gauge chart
gauge-chart
A semicircle SVG gauge that fills to a value against a max and prints the percentage in the center. Exposed as an image with an accessible label for dashboards.
Goal ring
goal-ring
A circular progress ring that shows how far along a goal is, with the percentage in the middle and a caption below. Handy for fitness, sales or weekly targets.
Heading
A heading primitive that renders h1 through h6 with a matched type scale, tuned letter spacing and medium weight. Pick the level with the as prop in React.
Health indicator
health-indicator
A status dot and label for service health with operational, degraded and down states mapped to success, warning and danger colors. Made for status pages.
Heatmap cell
heatmap-cell
A square heatmap cell whose fill blends from a muted base to the accent color by an intensity from 0 to 1, with an aria label. Tile it for activity grids.
Hero
A centered landing page hero with an optional eyebrow, a large headline, supporting copy and up to two call to action buttons. A plain Tailwind starting point.
Horizontal bar chart
horizontal-bar-chart
A lightweight horizontal bar chart where each row shows a label, a rounded bar scaled to the largest value and the number. No chart library, just Tailwind.
Hover card
hover-card
A card that appears below a trigger on mouse hover to preview extra detail such as a user profile or link summary. A light take on the shadcn hover card.
Icon button
icon-button
A square React button for icon only actions in small, default and large sizes with every Button variant. Its aria-label prop is required, so it is always named.
Image cropper
image-cropper
Left edge in source pixels, measured on the image after `rotation`.
Image gallery
image-gallery
A responsive photo grid of square tiles, two columns on mobile and three on larger screens, each image cropped to fill. Built with React and Tailwind.
Image lightbox
image-lightbox
A clickable image thumbnail that opens a full screen modal of the picture with a dimmed backdrop and a close button. Handy for screenshots and product shots.
Image upload
image-upload
A single image picker that starts as a drag and drop zone, then swaps to a large preview with a remove button. Returns an object URL and the File in React.
Impersonation banner
impersonation-banner
A top of page bar telling support staff which user account they are viewing as, with an Exit button to end the session. Common in admin and support tools.
Incident banner
incident-banner
A full width Tailwind status bar announcing an outage with minor, major and critical severity colors, the incident title and a link to your status page.
Infinite scroll
infinite-scroll
Load the next page when a sentinel scrolls into view, with a loading row, an end of list message and a Load more button as the accessible fallback.
Inline alert
inline-alert
An inline React message box in neutral, success, warning and danger tones with a matching icon, an optional title and body text. Announced with role alert.
Inline cell edit
inline-cell-edit
Click to edit table cell text: the value turns into an input on click, saves on Enter or blur and cancels on Escape. Built for editable React data grids.
Inline code diff
inline-code-diff
A two line code diff showing the removed line in red with a minus and the added line in green with a plus, in monospace. Suits AI edit suggestions.
Input
The base text input with sm, default and lg sizes and designed hover, focus, disabled, read only and invalid states. A drop in shadcn style input for React.
Input affix
input-affix
A text input with leading and trailing slots for icons, units or buttons, sharing one focus ring and invalid state across the field. Tailwind styled.
Inset
A recessed panel with a sunken background, rounded border and responsive padding for grouping secondary content, code samples or previews inside a card or page.
Integration card
integration-card
An app integration tile with the service name, a short description, a Connected or Available badge and a Connect or Manage button. Built in React.
Interactive area chart
interactive-area-chart
A React SVG area chart with a crosshair that follows the pointer or arrow keys, showing the value and percent change against a dashed comparison line.
Invite members
invite-members
A team invite panel with an email input, a Send button and badges for pending invitations. A starting point for workspace member management in SaaS settings.
Invoice detail
invoice-detail
An invoice card with the number, date, a paid, open or void status badge, itemized line amounts and a bold total row. Built with React for billing pages.
Invoice list
invoice-list
A bordered list of invoices showing number, date, amount and a paid, open or void status badge on each row. Fits the billing history in account settings.
Ip allowlist
ip-allowlist
An editor for IP and CIDR allowlists: a monospace list with a remove button per entry plus an input and Add button that skips duplicates. Built in React.
Issue card
issue-card
A compact issue tracker card with a monospace ticket key, status and priority badges, a title and an assignee line. Fits Linear or Jira style boards.
Issue key
issue-key
A monospace ticket identifier such as MD-241 that renders as plain text or, given an href, as a link with an accent hover underline. For issue lists.
Join workspace
join-workspace
A centered card for joining a team workspace with an invite code: heading, helper text, a monospace code input and a full width Join button. Tailwind styled.
Json viewer
json-viewer
A collapsible JSON tree with syntax colours, item counts, copy value and copy path on hover, search highlighting and full keyboard navigation.
Kanban board
kanban-board
A horizontally scrolling Kanban board built from column data: each column shows its title, a card count and stacked cards with a title and optional meta line.
Kanban column
kanban-column
A single Kanban lane with a title, an optional count badge and a slot for any cards you render as children. Compose several to build your own React task board.
Kbd
A keyboard key cap for showing shortcuts, with a raised edge and room for icons, plus a KbdGroup wrapper for combos like Cmd K. Renders a semantic kbd element.
Keyboard shortcuts
keyboard-shortcuts
A keyboard shortcuts cheat sheet in a dialog, opened with the ? key or a trigger button, with search and the right modifier glyphs for the viewer's platform.
Kpi row
kpi-row
A responsive row of KPI tiles, up to four across, each with a label, a large value and an up or down delta. Drop it at the top of a SaaS analytics dashboard.
Label
A form label that dims and blocks pointer events when its peer input or group is disabled. Native label API, styled with Tailwind like the shadcn label.
Language picker
language-picker
A grid of language options exposed as an accessible listbox, with the selected language outlined in the accent color. Plug it into locale or profile settings.
Latency badge
latency-badge
A monospace millisecond badge that turns green under 100ms, amber under 400ms and red above. Useful for API monitors, model responses and status dashboards.
Light provider
light-provider
A page wide light source that follows the pointer and drifts when idle, driving shadows via CSS variables, plus a hairline, glass, metal and paper switcher.
Line chart
line-chart
A multi series SVG line chart with smooth curves, a dashed hairline grid and dots on the last point of each line, colored from chart tokens. No library.
Link
A styled anchor with the accent color, underline on hover and a visible focus ring. Accepts every native anchor prop, so it works with Next.js or plain hrefs.
Link preview
link-preview
A rich link card with an optional 2:1 cover image, title, two line description and the URL, opening in a new tab. Good for chat messages, posts and bookmarks.
List item
list-item
A flexible list row with leading and trailing slots around a truncated heading and description, split by hairline borders. Build settings or contact lists.
Live cursors bar
live-cursors-bar
A multiplayer presence strip with overlapping colored avatars per collaborator and an editing now count. Suits docs, whiteboards and real time React editors.
Loading overlay
loading-overlay
A translucent overlay that covers its parent with a centered spinner and label while data loads, inheriting the parent radius and announced with role status.
Loading table
loading-table
A skeleton placeholder for data tables with configurable rows and columns, a header row and aria-busy so assistive tech knows content is loading.
Logo cloud
logo-cloud
A centered, wrapping row of customer or partner logos with names in muted text and an optional mark each. Adds social proof to a Tailwind landing page.
Magic link form
magic-link-form
A passwordless sign in card with an email field and a Send link button that passes the address to onSend. Built from AuthCard, FormField and Input.
Markdown editor
markdown-editor
A markdown editor with a toolbar that wraps the selection, Cmd/Ctrl+B and I shortcuts, write, split and preview modes, a live preview rendered without innerHTML, and a word count.
Markdown renderer
markdown-renderer
A small React renderer for AI output that splits text into paragraphs on blank lines and turns fenced code blocks into scrollable monospace panels.
Marquee
An infinitely scrolling Tailwind strip that loops its children horizontally, duplicated for a gapless cycle, and stops when users prefer reduced motion.
Masked input
masked-input
Formats a value with a mask, e.g. applyMask("(999) 999-9999", "5550102030") gives "(555) 010-2030".
Masonry grid
masonry-grid
A masonry layout for React that keeps source order: a CSS grid with measured row spans, so keyboard and screen reader order match the visual flow.
Mention input
mention-input
A comment textarea that opens a suggestion list when you type @, filters names as you keep typing and inserts the chosen @mention. For React comments.
Menubar
A desktop style app menubar built on Base UI: a row of triggers that each open a dropdown of items, with keyboard navigation between menus. shadcn compatible.
Merge box
merge-box
A React pull request merge panel with a success or warning callout for check status and a full width Merge button that stays disabled until checks pass.
Message actions
message-actions
A row of ghost icon buttons for chat replies: copy, retry, good response and bad response, each with an aria label and callback. Place it under AI messages.
Message bubble
message-bubble
A React chat message for user, assistant and system roles: user turns sit in a right aligned capsule, assistant replies read as prose, with a streaming cursor.
Meter
A horizontal gauge bar using role meter with aria value attributes, an optional label and a fill clamped to 100 percent. For storage, quota and usage limits.
Metric delta
metric-delta
A tiny percentage change indicator with an up arrow in green for gains and a down arrow in red for losses. Pair it with stat cards, KPI tiles and table cells.
Mobile action sheet
mobile-action-sheet
An iOS style action sheet that rises from the bottom with a list of actions, destructive items in red, a Cancel button and a backdrop that dismisses on tap.
Mobile nav drawer
mobile-nav-drawer
A hamburger button that opens a right side navigation drawer as a modal dialog, with a close button and links that dismiss it on tap. Built in React.
Model compare
model-compare
A comparison table for AI models listing name, latency with a color coded badge, cost and a quality note per row. Helps users pick between LLM providers.
Model picker
model-picker
A dropdown for choosing an AI model, built on the Select component with an accessible trigger and a placeholder. Pass an array of models and read the chosen id.
Morph panel
morph-panel
A React button that morphs into the panel it opens on a spring, blurring the label out and the form in. Ships with a feedback form and closes on Escape.
Multi select
multi-select
A multi select dropdown in a popover with check marks on chosen items and removable chips below the trigger. Works controlled or uncontrolled in React.
Nav marketing
nav-marketing
A sticky marketing header with a translucent blurred background, brand link, nav links that hide on mobile and Sign in and Get started buttons. Tailwind built.
Navigation menu
navigation-menu
A site navigation menu built on Base UI with triggers that open rich dropdown panels in a shared viewport, plus link items. Mirrors the shadcn navigation menu.
Nested nav
nested-nav
A collapsible tree navigation built from nested node data, indented by depth with rotating chevrons on items that have children. Fits React docs sidebars.
Newsletter signup
newsletter-signup
An inline email capture form with a required email field and a Subscribe button that stack on mobile and sit side by side on wider screens. Tailwind styled.
Not found state
not-found-state
A 404 state with the error code, a Page not found heading, a short explanation and Go home and Open gallery buttons, centered in a card. Built in React.
Notebook cell
notebook-cell
A Jupyter style notebook cell with a Run button beside a code editor frame and an optional output panel below. Good for interactive docs and playgrounds.
Notification inbox
notification-inbox
A bell with an unread count that opens a notification popover: All and Mentions tabs, unread dots, mark all read, type icons and an empty state. Built in React.
Notification item
notification-item
A single notification row with an unread dot and tint, a truncated title, relative time and a short body line. Stack it in React inboxes and activity feeds.
Notification preferences
notification-preferences
A notification settings list of labeled switches for email digests, product updates and security alerts. A simple React start for preference pages.
Number input
number-input
A numeric stepper with minus and plus buttons around a centered input that clamps to min and max and moves by a custom step. Works controlled or uncontrolled.
Number roll
number-roll
An odometer style animated number where each digit rolls on a spring and only changed digits move. Supports Intl formatting, trend tint and reduced motion.
Offline banner
offline-banner
A full width amber banner shown when the app loses its connection, with a wifi off icon, a note that changes will sync later and an optional Retry button.
Offline state
offline-state
An offline status card with a warning dot, a You are offline heading, a note on what still works and a Retry connection button. For PWA and sync apps.
Onboarding checklist
onboarding-checklist
A Get started card with a list of setup tasks that toggle between done and pending on click, showing a check box and a strikethrough on completed items.
Onboarding wizard
onboarding-wizard
A three step React onboarding flow that walks new users through creating a workspace, inviting teammates and a done screen, with a stepper on top.
Order summary
order-summary
A checkout summary card listing line items such as subtotal, shipping and tax, then a separator and a bold total. Built with React for cart pages.
Org chart
org-chart
A collapsible organisation chart with connector lines, initials avatars, team colours, per node counts and arrow key navigation.
Org switcher
org-switcher
A popover switcher for moving between organizations or workspaces, showing the current name, a check on the active item and an optional plan label per org.
Otp input
otp-input
A React one time code input where one real input powers the slots, so paste, SMS autofill and screen readers work natively. Has groups, error shake and success.
Page header
page-header
A Tailwind page title block with an h1, an optional description and a wrapping slot for action buttons on the right, set off by a bottom border.
Pagination
A pagination nav with Prev and Next buttons that disable at the edges and numbered page buttons that mark the current page with aria-current. Built in React.
Password input
password-input
A password field with a show and hide toggle inside the input, an eye icon that swaps state and an accessible label. Supports sm, default and lg sizes in React.
Password strength
password-strength
A React password field with a four step strength meter and a live rule checklist. Announces the score politely and accepts your own scorer such as zxcvbn.
Payment method card
payment-method-card
A saved card row showing the card brand, last four digits and expiry date in monospace, with an Edit button. Fits the payment methods area of billing.
Peek panel
peek-panel
A right side detail panel with a titled header, a close button and a scrollable body for previewing a record without leaving the list. Tailwind styled.
Permission chip
permission-chip
A small uppercase chip for access levels: admin, write or read. Use it in member lists, API key tables and sharing dialogs to show what a user or token can do.
Permission denied
permission-denied
A 403 style access card explaining that admin rights are needed, with Request access and Switch workspace buttons. Use it wherever a route is role gated.
Phone input
phone-input
A telephone number field with type tel, a numeric keypad on mobile, tel autocomplete, tabular digits and a default aria label. Styled like the React base input.
Pie chart
pie-chart
An SVG pie chart with leader line labels, a legend and slices that pull out on hover or focus.
Pinned message
pinned-message
A highlighted pinned note for chat channels and threads with a pin icon, a Pinned by author line and the message body on an accent tinted Tailwind background.
Plan card
plan-card
A pricing plan card with the plan name, a large price per period, a feature list and a full width call to action. A highlighted prop marks the recommended tier.
Plan comparison
plan-comparison
A Free versus Pro comparison table with a row per feature and check or dash icons in each plan column. Shows what an upgrade unlocks on Tailwind pricing pages.
Popover
A floating React panel anchored to a trigger, built on Base UI with side and align options, collision aware positioning, title and description parts.
Presence dot
presence-dot
A small colored dot for user status: online, away, busy or offline, exposed with role status and an aria label. Overlay it on avatars in chat and team lists.
Press quote
press-quote
A centered press or testimonial quote using figure, blockquote and figcaption, with a large quoted line and an uppercase source. Adds proof to landing pages.
Pricing table
pricing-table
A three column pricing section that renders a PlanCard for each tier you pass in, stacking on mobile. Mark one plan as highlighted to steer visitors toward it.
Pricing toggle
pricing-toggle
A Monthly and Yearly billing period switch built on a segmented control, with a Save 20% with yearly note underneath. Pairs with pricing tables and plan cards.
Priority picker
priority-picker
A radio group of priority chips, Low, Medium, High and Urgent, each with a colored dot and aria-checked state. Built for issue trackers, tasks and ticket forms.
Product card
product-card
A storefront product tile with a square image, an optional corner badge like Sale or New, the product title, price and an Add to cart button when onAdd is set.
Profile form
profile-form
An account profile form with a display name input, a bio textarea and a Save profile button, composed from FormField, Input and Textarea in React.
Progress
A linear progress bar built on Base UI with track, indicator, label and value parts, a default aria label and smooth width transitions. Matches shadcn progress.
Progress circle
progress-circle
A compact circular progress indicator drawn in SVG with a configurable size, an accent arc, an accessible label and the percentage in monospace below it.
Prompt input
prompt-input
An AI chat composer that grows with its content, sends on Enter, adds a newline on Shift Enter and has attach, toolbar and send controls. Built for React.
Prompt input attachments
prompt-input-attachments
The AI prompt composer with an Attach file button and helper text above it, forwarding every PromptInput prop. For chat apps that accept documents or images.
Prompt library
prompt-library
A searchable list of saved prompts that filters by title, body and tag as you type and returns the chosen prompt through onSelect. Useful in React AI apps.
Prose
A Tailwind typography wrapper for raw HTML or MDX that styles headings, muted paragraphs, links, lists, inline code and blockquotes at a readable measure.
Publish bar
publish-bar
React publish bar with a draft, scheduled or published status badge, an autosave note, and Preview and Publish buttons wired to an onPublish callback.
Qr code
qr-code
A dependency free QR code rendered as crisp SVG, with error correction levels, a logo well and a one click SVG download.
Quantity stepper
quantity-stepper
React quantity stepper with minus and plus buttons around a tabular count. Clamps to min and max, disables at the limits, and works controlled or uncontrolled.
Query builder
query-builder
Filter query builder that chains field, operator and value clauses with AND. Add or remove rows, each with labelled selects, built in React and Tailwind.
Quota bar
quota-bar
Compact quota bar showing a label, used over max with locale formatting, and a thin accent progress track exposed as an ARIA progressbar for plan limits.
Radar chart
radar-chart
SVG radar chart that plots normalized 0 to 1 values on labelled axes over four concentric grid rings. Themed with currentColor and labelled for screen readers.
Radial chart
radial-chart
A radial bar chart of concentric progress rings with a legend, a rolling centre total and spring animated values.
Radio group
radio-group
Accessible radio group on Base UI with keyboard navigation, a springy checked dot, larger hit areas, and invalid and disabled states. A shadcn-style drop in.
Range slider
range-slider
Two-thumb range slider for picking a min and max, with value bubbles on both thumbs while dragging, optional marks, a formatter and an onValueCommitted hook.
Rating
Star rating input rendered as a radiogroup, with one labelled radio per star, a configurable max, disabled state, and controlled or uncontrolled value in React.
Reaction bar
reaction-bar
Row of emoji reaction pills with counts, where active reactions get an accent border and aria-pressed. Toggle callbacks suit comments and chat threads.
Read receipt
read-receipt
Message read receipt icon that shows a single check for sent, a double check for delivered, and an accent double check once read. Labelled for screen readers.
Reasoning block
reasoning-block
Collapsible AI reasoning block, folded by default. The title shimmers while the model is thinking, then reads Thought for Ns, with an animated height reveal.
Receipt
Monospace payment receipt card with an order id, itemized amounts in tabular numerals and a bold total row. Built with Tailwind for checkout and billing pages.
Regenerate bar
regenerate-bar
Footer bar for AI answers with a Not quite right prompt, a Regenerate button with a refresh icon, and an optional Edit prompt action when onEdit is set.
Region picker
region-picker
Deployment region picker with selectable cards for each region and its latency in milliseconds. Uses radio semantics and an accent tint for the chosen one.
Relative time
relative-time
React relative timestamp that renders just now, 5m ago, 3h ago or 2d ago inside a semantic time element, with the full local date shown as a hover title.
Reset password form
reset-password-form
Reset password card with new password and confirm password fields and a full-width Update password button, built from AuthCard, FormField and Input in React.
Resizable panels
resizable-panels
Split panes with draggable, keyboard operable handles, min and max sizes, snap to collapse and nested groups in either direction.
Resource quota grid
resource-quota-grid
Responsive grid of quota cards, one per resource, each with a labelled usage bar showing used over max. Useful for infra limits like builds, storage and seats.
Retry block
retry-block
Error block that pairs a danger inline alert with a Try again button and an onRetry callback. Defaults to a request failed message you can override in React.
Review request card
review-request-card
Code review request card with a Review requested badge, pull request title, repo name, author avatar, and Review and View diff buttons for developer dashboards.
Rich text toolbar
rich-text-toolbar
Formatting toolbar with bold and italic toggles, link, bullet and numbered list buttons, and a divider. Uses role toolbar with labelled icon toggles in React.
Role permission matrix
role-permission-matrix
Role and permission matrix with roles as columns and permissions as rows, each cell a labelled checkbox. Scrolls sideways on small screens, styled in Tailwind.
Role picker
role-picker
Team role picker built on the radio group, offering Owner, Admin and Member options with linked labels. Drop it into invite dialogs and member settings forms.
Row selection
row-selection
Row selection checkbox for data tables with checked and indeterminate states and a default Select row label. Pairs with a header checkbox for select all.
Sankey chart
sankey-chart
An SVG sankey diagram that lays nodes out in columns computed from the links, draws curved ribbons, labels nodes with values, highlights a node's flows on hover or focus, and includes a hidden table.
Saved views
saved-views
Saved views list for filters, rendered as a listbox of named views with item counts and a highlighted active view. Works controlled or uncontrolled in React.
Schema field row
schema-field-row
API schema field row with a monospace field name, a required badge, the type and a description, in three columns on desktop for docs and reference pages.
Scroll area
scroll-area
Custom scroll area on Base UI with a thin rounded thumb, vertical or horizontal scrollbars and a focus ring on the viewport. A shadcn-compatible ScrollArea.
Search input
search-input
Search input with a leading search icon and a clear button that appears once there is text. Comes in sm, default and lg sizes, controlled or uncontrolled.
Search with results
search-with-results
Search field with a results list below it showing titles and optional subtitles, plus a No results state. Emits onSearch as you type so you can filter in React.
Seat manager
seat-manager
Team seat manager card showing seats used out of the plan, an Invite button, and a member list with name, email and role badge. Built in React for billing.
Secret reveal
secret-reveal
Masked secret field for API keys with an eye toggle to reveal or hide the value and a copy button for the full key. Monospace, compact, built with Tailwind.
Section header
section-header
Tailwind section header with a title, optional muted description and a right-aligned actions slot that wraps on narrow screens. Use it above cards and tables.
Segmented control
segmented-control
Segmented control with a raised thumb that springs between options, arrow, Home and End key support, icons, badges, three sizes and reduced motion support.
Select
Select dropdown on Base UI with a trigger in three sizes, an animated popup, groups, labels, separators, a check indicator and scroll arrows. Shadcn-compatible.
Separator
Hairline separator on Base UI that draws a 1px rule horizontally or vertically, stretching to fill its container. A drop-in shadcn Separator for React layouts.
Server error state
server-error-state
500 error state card with a danger outline, a short explanation, and Retry and Copy request id buttons so users can recover or reach support with context.
Session list
session-list
Active sessions list showing each device and location, marking the current device and giving other sessions a Revoke button. A React account security block.
Settings layout
settings-layout
Settings page layout with a 200px side nav column and a content area, plus a SettingsSection for titled groups divided by hairlines. Tailwind grid based.
Sheet
Slide-out sheet from the left, right, top or bottom with a backdrop, a titled header, a close button and a scrollable body, rendered as a modal dialog in React.
Shipping address
shipping-address
Shipping address form with full name, street address, city and postal code fields, each with the right autocomplete attribute for browser autofill at checkout.
Shortcut cheat sheet
shortcut-cheat-sheet
Keyboard shortcut cheat sheet listing actions next to their key combinations rendered as Kbd keycaps. Pass your own rows or use the default command palette set.
Sidebar
App sidebar shell with a collapsed icon-only width and SidebarNavItem buttons that show icons, truncated labels and an active state. Built with Tailwind.
Sidebar section
sidebar-section
Sidebar section that groups nav items under an optional small uppercase heading with tight spacing. Stack several inside the Sidebar to organize app navigation.
Sign up form
sign-up-form
Create account form with GitHub and Google buttons, required name, email and password fields, a submit button and a Sign in link, all inside an AuthCard.
Signature pad
signature-pad
Draw a signature with mouse, pen or finger on a canvas with pressure aware strokes, undo and clear, a typed name fallback and PNG export for forms.
Skeleton
Tailwind skeleton loader with a sunken plate and a soft sheen that sweeps every 1.6s, plus a SkeletonCard preset with title, text lines and a media block.
Skip link
skip-link
Skip to content link that stays visually hidden until focused, then appears fixed in the top corner so keyboard users can jump past navigation in any React app.
Slash command menu
slash-command-menu
React slash command menu that filters commands by the typed query, shows each as /name with an optional hint, and falls back to a No commands message.
Slider
Slider on Base UI with a hairline rail, a keycap thumb, a value bubble while dragging, optional labelled marks, Intl number formatting and vertical support.
Social auth row
social-auth-row
Two-column row of Continue with GitHub and Continue with Google buttons with click handlers, ready to sit above email fields on sign in and sign up screens.
Social proof
social-proof
Social proof row of up to five overlapping avatars with initials fallback, next to a count label like 2,000 teams. Built in React for landing page heroes.
Sortable header
sortable-header
Sortable table header button that shows an up, down or neutral arrow for the current sort direction and calls onToggle on click. Pairs with any Tailwind table.
Sortable list
sortable-list
Drag to reorder a list in React with Motion Reorder, plus Arrow key reordering from the handle and polite announcements of every move for screen readers.
Source card
source-card
Citation source card for AI answers showing a title, a source badge, the truncated URL and a short snippet. List references under a generated response.
Sparkline set
sparkline-set
Responsive grid of metric cards, each with a label, value, delta chip and a small area chart sparkline. Good for a KPI overview at the top of a React dashboard.
Spinner
Loading spinner in sm, default and lg sizes with role status and an accessible Loading label. Drop it into buttons, cards or full page states in a Tailwind app.
Split button
split-button
Split button with a primary action and a chevron that opens a dropdown of secondary actions, including destructive items. The menu matches the button width.
Split flap
split-flap
Split-flap display that flips each character through the alphabet like a departure board, with a column ripple, tones, sizes and reduced motion support.
Split pane
split-pane
Static two-column split pane that stacks on mobile and sits side by side from md up, with a hairline divider. Handy for compare views and editor previews.
Sql result table
sql-result-table
SQL query result table with uppercase column headers, monospace cells and horizontal scroll for wide results. Built for database consoles and admin tools.
Sso provider card
sso-provider-card
SSO provider card with a name, description, Configured or Not set badge, an enable switch and a Configure button. A React block for SAML and OIDC settings.
Stack
Vertical stack layout primitive that arranges children in a flex column with a gap prop from 1 to 8 on a 4px scale. Accepts all normal div props in React.
Stack trace
stack-trace
Stack trace block that shows an error trace in a monospace pre with a danger tint and scroll for long output. Useful in error pages, logs and debug panels.
Stacked bar chart
stacked-bar-chart
Stacked bar chart that splits each column into colored series segments with hover titles, category labels underneath and a series legend. Uses chart CSS tokens.
Stat card
stat-card
React stat card with a label, optional icon, a large tabular value and a delta chip colored by its sign, with invertDelta for metrics like churn or latency.
Stat sparkline
stat-sparkline
Metric card with a label, a large value, a signed delta and an edge-to-edge area sparkline that turns red when the trend is down. Built for React dashboards.
Stats strip
stats-strip
Tailwind stats strip of centered value and label cells split by hairlines, two columns on mobile and four on desktop. Shows traction numbers on landing pages.
Status badge
status-badge
Tailwind status badge with a tinted fill, hairline border and colored dot in neutral, success, warning, danger, accent and info tones that read as one set.
Status dot
status-dot
Small status dot in neutral, success, warning, danger and accent tones, built with cva. Place it next to labels for online, healthy or failing indicators.
Step progress
step-progress
Step progress bar made of segments that fill in accent for completed and current steps, with small labels under each. Fits checkout and onboarding flows.
Stepper
Numbered stepper for multi-step forms that shows each step as a bar and a label, highlighting completed and current steps. Semantic ordered list in React.
Sticky bar
sticky-bar
Sticky bottom action bar with a translucent blurred background and a hairline top border. Keeps save, cancel or checkout actions in reach on long pages.
Sticky column
sticky-column
Sticky table column wrapper that pins content to the left or right edge with a solid background and divider while the rest of a wide table scrolls horizontally.
Stop generating
stop-generating
Stop generating button with a filled square icon and an onClick handler, for cancelling a streaming AI response mid-answer in chat interfaces built with React.
Streak calendar
streak-calendar
Streak calendar showing a 28-day grid in seven columns, with active days filled in accent. Useful for habit tracking, learning apps and activity views.
Streaming cursor
streaming-cursor
Blinking caret that sits inline at the end of streaming text, sized to the line and hidden from screen readers. Signals an AI response is still arriving.
Streaming message
streaming-message
Chat message bubble that renders partial AI output with a blinking caret at the end, for showing token-by-token streaming responses in a Tailwind chat UI.
Suggestion chips
suggestion-chips
Row of rounded suggestion chips such as Summarize or Find bugs that call onSelect when clicked. Use them as prompt starters under a React AI chat input.
Switch
Switch on Base UI whose thumb stretches on press then springs across, with sm and default sizes, a loading spinner state and an optional clickable label row.
Table
Table primitives for header, body, footer, row, head, cell and caption, wrapped in a horizontal scroll container. Same API as the shadcn Table, in Tailwind.
Table of contents
table-of-contents
A sticky table of contents that spies on headings while you scroll, with a marker that glides to the active item and smooth scroll on click.
Table pagination
table-pagination
Table pagination footer showing Page X of Y with previous and next icon buttons that disable at the first and last page. Wire it to onPageChange in React.
Table toolbar
table-toolbar
Toolbar above a data table with a search input on the left and a right slot for filters, view toggles or export buttons. Wraps cleanly on narrow screens.
Tabs
Tabs on Base UI with a raised thumb or a line underline that springs to the active tab, optional count badges, vertical orientation and roving keyboard focus.
Tags input
tags-input
React tags input that adds a chip on Enter or comma, skips duplicates, removes the last tag on Backspace and gives each chip a labelled remove button.
Tax fields
tax-fields
Checkout tax fields with country and a monospace VAT or EIN tax ID input in a two-column grid. Drop it into billing address forms for business customers.
Team member row
team-member-row
Team member row with an initials avatar, name, email and a role badge, truncating cleanly in narrow lists. Built for team pages and member management in React.
Terminal window
terminal-window
Terminal window frame with traffic light dots, a title bar and a monospace body for commands and output. A Tailwind block for install steps, CLI docs and demos.
Testimonial
Testimonial card with a quote, avatar with initials fallback, name and role, using semantic figure and blockquote markup. Built in Tailwind for landing pages.
Text
Text paragraph primitive with muted, subtle and mono variants on top of your base type styles. Keeps secondary copy and inline technical text consistent.
Textarea
Multiline textarea with a 96px minimum height, comfortable line height, hairline border, focus ring and subtle placeholder. A shadcn-compatible Textarea.
Theme picker
theme-picker
Light, dark and system theme picker as a segmented radiogroup that toggles the dark class on the root element for Tailwind dark mode and reports it to onChange.
Thinking block
thinking-block
React Thinking panel with a chevron header and aria-expanded that reveals the model's intermediate reasoning in muted text. Collapsed by default in chat.
Time picker
time-picker
React time picker built on the native time input, styled to match the other inputs, with a controlled value, onChange, disabled state and an aria-label.
Timeline
Tailwind vertical timeline with a hairline rail, a dot per event, titles, optional descriptions and right-aligned timestamps for activity feeds and changelogs.
Toast
Toast notifications with a toast() API for success, error, warning and promise states. The Toaster stacks cards, fans them out on hover and pauses timers.
Toc
Table of contents nav with anchor links indented by heading level and a highlighted active item. Pair it with scroll tracking for docs and long articles.
Toggle
Two-state toggle button on Base UI with sm, default and lg sizes and a pressed style. A shadcn-compatible Toggle for toolbar actions like bold or mute in React.
Toggle group
toggle-group
Toggle group on Base UI that wraps Toggle buttons for single or multiple selection with shared keyboard navigation. Use it for text formatting or view modes.
Token usage meter
token-usage-meter
LLM token usage meter showing tokens used against a monthly limit, a labelled progress bar and a percent of budget note with the reset date. Useful in AI apps.
Tool call card
tool-call-card
Agent tool call card showing the tool name, argument preview, duration and a running, done or failed status chip, with collapsible monospace output below.
Tool call collapsed
tool-call-collapsed
Compact collapsed tool call row with a rotating chevron and monospace tool name that expands to show its details. Keeps agent traces tidy inside chat threads.
Tool result panel
tool-result-panel
Tool result panel with the tool name, a success, error or running status badge and the output shown in a JSON code block. Built in React for AI agent UIs.
Tooltip
React tooltip on Base UI with a provider for delay, a trigger, and content that positions on any side with an arrow and portal. Drop-in shadcn Tooltip API.
Topbar
App top bar that is 56px tall with a title or custom left content and a right slot for actions, avatars or search. Sits above the main content in dashboards.
Trace waterfall
trace-waterfall
React trace waterfall that draws each span as a bar offset by start time and scaled by duration, indented by depth with a millisecond label for observability.
Tree view
tree-view
Nested tree view with expandable nodes, rotating chevrons, depth indentation and ARIA tree roles. Suited to file explorers and nested category lists in React.
Treemap chart
treemap-chart
A squarified SVG treemap with one level of grouping, labels that hide in small cells, hover and keyboard focus with a value tooltip, and a hidden data table.
Trial banner
trial-banner
Trial banner with a days left headline, a short note on what stays unlocked and an Upgrade button, on an accent tinted strip. Built for SaaS billing nudges.
Two factor setup
two-factor-setup
Two-factor setup card with a QR code area, a one-time code input and a Verify and enable button, guiding users through linking an authenticator app in React.
Two factor verify
two-factor-verify
Two-factor verification screen with a one-time password input and a full-width Verify button inside an auth card. Use it as the second step after sign in.
Typing indicator
typing-indicator
Tailwind typing indicator with three pulsing dots in a rounded pill, staggered by 120ms, with role status and a Typing label. Shows someone is replying in chat.
Upgrade prompt
upgrade-prompt
Upgrade prompt card with a title, a short description of what the paid plan unlocks and an Upgrade button. Place it where a free user hits a gated feature.
Uptime bar
uptime-bar
Status page uptime bar with one cell per day over 90 days, green when operational and red on degraded days, and the uptime percentage above. Built in Tailwind.
Usage breakdown
usage-breakdown
Usage breakdown listing several metered items, each with its label, used over limit and a thin accent bar. Use it on billing pages to show where plan limits go.
Usage meter
usage-meter
Single usage meter with a label, used over limit count and a Progress bar linked by aria-labelledby. Handy for API calls, storage or seats on billing pages.
User chip
user-chip
React user chip showing a small avatar with initials fallback and the person's name, plus an optional remove button. Good for assignees, mentions and pickers.
Version badge
version-badge
Version badge that shows a v-prefixed release number with an optional stable, beta or canary channel pill, each tinted differently, for docs and changelogs.
Vertical tabs
vertical-tabs
Vertical tabs with a 180px tab list on the left and the active panel on the right, using tab and tabpanel roles. Stacks on mobile. Built for settings screens.
Video player chrome
video-player-chrome
Video player chrome with a 16:9 stage, a centered play and pause button, a volume icon, a playback progress bar and a title. Bring your own video in React.
Virtual list
virtual-list
A windowed list that renders only the rows in view, with fixed or measured row heights, overscan, keyboard row navigation and scroll to index.
Virtualized list
virtualized-list
Virtualized list that renders only the visible rows plus a small buffer, using a fixed item height and absolute positioning. Keeps thousands of React rows fast.
Visually hidden
visually-hidden
Visually hidden wrapper that keeps content available to screen readers while hiding it on screen via sr-only. Use it for icon button labels and extra context.
Vote control
vote-control
Upvote and downvote control with a score between two chevrons, aria-pressed states and click again to undo. Built in React for forums and feedback boards.
Waffle chart
waffle-chart
Waffle chart that fills a 10 column grid of squares to show a value out of a total, with a label and count above. Clear for adoption rates and percentages.
Webhook list
webhook-list
Webhook endpoints list with an Add endpoint button, monospace URLs, subscribed events and an active or paused badge per row. Built for developer settings pages.
Welcome screen
welcome-screen
React onboarding welcome card with an eyebrow, headline, short intro, three numbered getting started steps and primary and secondary buttons for a first run.
Well
A recessed Tailwind panel with a sunken background, hairline border and inner highlight. Use it to set apart notes, code output or secondary content.
Window chrome
window-chrome
A macOS style window frame for React with three traffic light dots, a truncated title bar and a padded content area for framing demos and screenshots.
Wishlist button
wishlist-button
A Tailwind heart icon button for product cards that toggles a wishlist state. It sets aria-pressed and switches its label between add and remove.
Workspace create
workspace-create
A compact create workspace form in React with a required name field, a URL slug input and a submit button wired to an onCreate callback.
Select a component to view its code
Click on any item in the sidebar to get started
Select a component to view its information
Accordion
Accessible React accordion on Base UI, with bordered items, a rotating chevron and animated panels. Keyboard navigable, with one or many items open at once.
Account setup progress
account-setup-progress
React onboarding card that shows account setup as completed steps out of a total, with a labelled progress bar and a hint for the next step to finish.
Activity feed
activity-feed
React activity feed that lists who did what and when, with initials avatars, muted action text and tabular timestamps in a single bordered card.
Add card form
add-card-form
Compact payment form for card number, expiry and CVC with correct autocomplete hints, numeric input mode and a full width save button. Ready for your processor.
Admin stat strip
admin-stat-strip
Responsive Tailwind row of admin KPI tiles, each with a label, a large tabular value and an optional up or down delta. Collapses from four columns to one.
Admin user row
admin-user-row
User management row with avatar, online status dot, name, email, a role chip for admin, write or read access, and an accessible actions menu button.
Agent trace
agent-trace
React timeline of an AI agent run: each tool step shows pending, running, done or error, reports its duration and folds out details. The header sums up the run.
Ai composer
ai-composer
Chat input for AI apps with a multiline textarea, Enter to send, suggestion chips, attach button, model picker and a stop button while a response streams.
Alert dialog
alert-dialog
Shadcn style alert dialog on Base UI for confirmations that need an explicit answer. Modal backdrop, focus trap, title, description and an actions row.
Announcement bar
announcement-bar
Slim site-wide announcement bar for launches, promos or notices. Centered content, a polite status role for screen readers and an optional dismiss button.
Api key list
api-key-list
React settings panel listing API keys with masked previews, created date badges and a rotate button per key, plus a header action to create a new key.
App shell
app-shell
Tailwind app shell layout with a fixed width sidebar slot, a topbar slot and a scrolling main area. The sidebar hides below the md breakpoint for mobile.
Approval card
approval-card
React request card for approval workflows showing the requester avatar, title and summary, with Reject and Approve buttons wired to your callbacks.
Area chart
area-chart
Dependency free SVG area chart for React with a smoothed line, dashed grid, gradient fill and an optional highlighted point. Strokes stay crisp at any size.
Artifact preview
artifact-preview
Framed preview for AI generated artifacts such as code, documents or UI, with a title bar, copy button and optional expand action for a full view.
Aspect ratio
aspect-ratio
Shadcn compatible aspect ratio wrapper that locks media to a ratio such as 16:9 or 1:1 using CSS aspect-ratio, with overflow clipped for images and video.
Assign picker
assign-picker
Assignee picker for tasks and tickets: a listbox of people with initials avatars, where the selected person is highlighted and choices report their id.
Attachment chip
attachment-chip
Compact Tailwind file chip with a paperclip icon, truncated filename and an optional remove button, for attachments in chat composers, emails and forms.
Audio player
audio-player
Minimal React audio player row with a play and pause toggle, title, subtitle and an accessible progress bar. Controlled, so it works with any audio source.
Audio recorder
audio-recorder
A microphone recorder with start, pause and stop, an elapsed timer, live waveform bars, playback with a progress bar and a download button.
Audit filter bar
audit-filter-bar
Filter toolbar for audit logs combining a search field, actor filter chips for all, admins or system, and a date range picker in one wrapping row.
Audit log entry
audit-log-entry
Single audit log line: actor avatar, actor name, muted action text and the affected target, with a relative timestamp underneath. Stacks into a trail.
Audit trail
audit-trail
Bordered audit trail in React that renders a list of actor, action, target and time records as stacked log entries. Useful for security and admin history pages.
Auth card
auth-card
Centered Tailwind sign in card with a title, optional description, a slot for fields and providers, and a divided footer for sign up or reset links.
Autocomplete
Text input that filters string options as you type, using ARIA combobox and listbox roles. Works controlled or uncontrolled and lists up to eight matches.
Avatar
Shadcn compatible avatar on Base UI with image and initials fallback, three sizes, a status badge and an overlapping avatar group with a plus count.
Avatar group
avatar-group
Shown under the name in the tooltip and overflow list.
Avatar upload
avatar-upload
React profile photo uploader with an avatar preview and an Upload button that opens a hidden image file input. Shows initials until a picture is chosen.
Back link
back-link
Small back navigation link with a left arrow icon, muted text that darkens on hover and a visible focus ring. Defaults to the label Back and accepts any href.
Back to top
back-to-top
A back to top button that appears after scrolling, with a ring that fills as the reader progresses. Smooth scroll that respects reduced motion.
Badge
Shadcn style badge in seven variants: default, accent, secondary, destructive, outline, ghost and link. Renders as a span or any element, with icon support.
Banner
Inline notice banner in accent, warning or danger tones, with a status role, a slot for an action button and an optional dismiss icon on the right.
Bar chart
bar-chart
Lightweight React bar chart with rounded bars, dashed gridlines and labels. Hovering a bar dims the rest and shows its value; the peak is highlighted first.
Bento grid
bento-grid
A responsive bento grid for feature sections: tiles with icon, title, copy and a visual slot on a six column grid that collapses to one column on phones.
Billing address
billing-address
Tailwind billing address fieldset with a multiline street field and a responsive row for city, state and postal code. Drops into checkout forms.
Blog card
blog-card
Linked Tailwind blog post card with a 16:9 cover image, tag, relative date, title and a two line clamped excerpt. Hover and focus states cover the card.
Breadcrumb
Breadcrumb navigation from an items array, with chevron separators, linked ancestors and the current page marked with aria-current. Built with React.
Breadcrumb ellipsis
breadcrumb-ellipsis
Ellipsis marker for collapsing the middle of long breadcrumb trails. Decorative and hidden from assistive tech, sized to sit between breadcrumb separators.
Build pipeline
build-pipeline
CI pipeline view that shows each stage as a chip with success, running, failed or pending icons, joined by connectors. Status text is exposed to screen readers.
Bulk actions bar
bulk-actions-bar
Floating Tailwind selection bar that appears once rows are selected, showing the count, your action buttons and a clear button. Sticks to the bottom edge.
Bulk user import
bulk-user-import
CSV user import panel with a format hint for email, name and role, a CSV-only dropzone and an Import users button that enables once a file is added.
Button
Shadcn compatible React button on Base UI with eight variants, nine sizes including icon sizes, a pressed state and render prop support for links.
Button group
button-group
Groups adjacent buttons into one segmented control in Tailwind, joining borders and rounding only the outer corners. Uses role group for toolbars.
Calendar agenda
calendar-agenda
React agenda list of the day's events with a fixed time column, title and optional meta line such as location or attendees, divided inside one card.
Calendar month
calendar-month
Month calendar grid with weekday headers and clickable day cells that highlight the selected date. A simple Tailwind base for date views and schedulers.
Callout
Tailwind callout box in info, success, warning or danger tones with an optional bold title. Uses the note role, which suits docs, forms and setup steps.
Cancel flow
cancel-flow
Two step subscription cancellation flow: ask for a reason with radio options, then confirm with a destructive button or go back. Tells users what they keep.
Card
Shadcn compatible card with header, title, description, action, content and footer slots, a compact size and edge to edge images. Built for Tailwind v4.
Carousel
Scroll snap React carousel with previous and next buttons, arrow key support and a labelled region. Shows one, two or three slides by breakpoint, no library.
Cart line item
cart-line-item
React shopping cart row with product title, unit price, a quantity stepper and an optional remove button. Callbacks report quantity changes and removals.
Case study card
case-study-card
Case study card with the company name, a short headline and a large result metric, plus an optional up or down delta. Good for proof sections on landing pages.
Center
Layout helper that centers content horizontally and vertically in a narrow, text-centered column. Handy for empty states, auth screens and simple heroes.
Character count
character-count
Live React character counter that shows the current count against a limit and turns red when it goes over. Announces changes politely to screen readers.
Chart card
chart-card
Card wrapper for charts with a title, optional description and a minimum height body. Pairs with the area, bar and donut charts in a React dashboard.
Chart legend
chart-legend
Wrapping chart legend with small color swatches and labels. Pass colors per series or fall back to accent, success, warning and danger theme tokens.
Chart tooltip card
chart-tooltip-card
Tooltip card for charts showing a title and label and value rows with tabular numbers. Drop it into any chart library's custom tooltip slot.
Chat thread
chat-thread
Scrolling chat thread for React that renders user, assistant and system messages as bubbles, auto scrolls to the newest one and uses a live log role.
Check run list
check-run-list
List of CI check runs with success, failed or running icons, monospaced job names and a status label. Looks like the checks section of a pull request.
Checkbox
Shadcn style checkbox on Base UI with an animated check, indeterminate state, invalid and disabled styles, and an enlarged hit area for touch.
Checkbox group
checkbox-group
Vertical wrapper that groups related checkboxes under role group with even spacing. Use it with Checkbox and labels for multi select settings.
Checkout summary
checkout-summary
Tailwind order summary card listing line items and prices, a divided total row and a full width Pay now button. Fits the side column of a checkout.
Chip filter
chip-filter
Single select filter chips in React that behave as a radio group, with an accent ring on the active chip. Good for quick filters above lists and tables.
Choice card
choice-card
Selectable React card button with an icon, title and description, using aria-pressed and an accent outline when chosen. Suits plan pickers and onboarding.
Citation chip
citation-chip
Inline citation button for AI answers, with an accent source number and label. Link it to a source panel or popover so users can check references.
Cluster
Flex layout primitive that wraps children in a row with vertical centering and a numeric gap on the 4px scale. Great for tags, buttons and meta rows.
Code block
code-block
React code block with zero dependency syntax coloring, a language tag, optional filename and line numbers, and a copy button that confirms Copied.
Code editor frame
code-editor-frame
Editor style frame with a monospaced filename tab and a code area. Wrap snippets, editors or diffs so they read as a file in your React docs or app.
Collapsible
Shadcn compatible collapsible on Base UI: a full width trigger that shows or hides a panel of content. Accessible expanded state and keyboard support.
Collapsible sidebar
collapsible-sidebar
Sidebar with a toggle button on its edge that collapses it to a narrow rail and expands it again. The button label updates for screen readers.
Color picker
color-picker
Swatch color picker with eight OKLCH presets, a ring on the selected swatch and listbox semantics. Works controlled or uncontrolled for theme or label colors.
Column visibility menu
column-visibility-menu
Columns dropdown for data tables with a checkbox item per column. It returns the updated list of visible column ids so you can show or hide table columns.
Combobox
Shadcn style combobox: a popover select with a filter input, check mark on the chosen item and an empty message. Built on Base UI popover for React.
Command dialog
command-dialog
Command dialog that opens the command palette in a modal from a list of commands with labels and handlers. Wire it to a Cmd K shortcut in your React app.
Command item
command-item
Row for command menus with a label, an optional keyboard shortcut in a kbd tag and an active highlight state. Use it to build custom command lists.
Command palette
command-palette
Cmd K style command palette in a dialog with a search field that filters commands as you type, runs the chosen action and closes. Shows an empty state.
Comment composer
comment-composer
Comment box with a three row textarea and a Comment button that stays disabled until there is text. Submits the trimmed value and clears the field.
Comment thread
comment-thread
Threaded React comment list with initials avatars, author name, timestamp and body in bordered bubbles. Pairs with the comment composer.
Commit row
commit-row
Git commit row for React with author avatar, commit message, relative time, a short SHA badge and a copy button for the hash. Fits deploy logs.
Comparison table
comparison-table
Plan comparison table with features as rows and plans as columns, showing check or dash icons for booleans and text for values. Scrolls on mobile.
Confirm destructive
confirm-destructive
Destructive action confirm: a red trigger button opens a dialog with a title, warning text, Cancel and Confirm. Labels are configurable for deletes and resets.
Connected account
connected-account
Tailwind settings row for a linked third party account showing the provider and account name, with a Disconnect button. For OAuth and integrations.
Console output
console-output
Scrollable Tailwind console panel in monospace that prints log, warn and error lines with level labels. Uses a log role and is keyboard focusable.
Container
Responsive page container that centers content with side padding and a max width preset: sm, default, lg or full. The basic wrapper for Tailwind layouts.
Context chip
context-chip
Small toggle chip for picking context in AI prompts or filters, with an active accent state and hover styling. Passes through all native button props.
Context menu
context-menu
Right click context menu that opens at the cursor with menu items, including destructive items in red. Closes on selection or click outside, in React.
Context pill
context-pill
Rounded pill for showing attached context, such as files or pages in an AI prompt, with a truncated label and an optional remove button.
Conversation sidebar
conversation-sidebar
React chat history sidebar with a New chat button and a scrolling list of conversations showing title and relative time. Highlights the active chat.
Cookie banner
cookie-banner
Floating React cookie consent card fixed to the corner, with a short notice and Accept and Reject buttons. It is a labelled dialog for assistive tech.
Copy button
copy-button
React copy to clipboard button that writes a value, then swaps to a check icon and Copied label for a moment. Accepts every Button variant and size.
Copy id
copy-id
Monospaced ID chip that copies its value to the clipboard on click and shows a check when done. Good for API keys, order IDs and record UUIDs.
Coupon input
coupon-input
Promo code field with an Apply button and inline success or error messages. The demo validation is easy to replace with your own check in React.
Coverage meter
coverage-meter
Test coverage bar with a label and percentage that turns green at 80, amber at 60 and red below. Exposed as a progressbar for screen readers.
Create api key
create-api-key
Inline form to name and create an API key, with a labelled input and a Create key button that passes the name to your handler. Pairs with the key list.
Credit balance
credit-balance
Compact credit balance pill with a small label and a large tabular figure. Shows remaining credits or usage balance for AI and pay-as-you-go apps.
Credit card input
credit-card-input
Luhn (mod 10) checksum, the check digit rule every major card number follows.
Cta banner
cta-banner
Tailwind call to action banner with a heading, supporting text and a primary button that stacks on mobile and sits in a row on wider screens.
Currency input
currency-input
Money input with a currency code prefix, decimal keypad on mobile and tabular numbers. Controlled via a string value to avoid rounding issues in React forms.
Danger zone
danger-zone
Danger zone settings card with a red outline, a warning that the action cannot be undone and a destructive delete button. Put it last on settings pages.
Data table
data-table
React data table with sortable columns, row selection, a floating bulk actions bar, hover row actions, sticky header, three densities and skeleton loading.
Date picker
date-picker
Date picker built on the native date input, styled to match the rest of your form fields. Returns ISO date strings and supports disabled and labelled states.
Date range picker
date-range-picker
Start and end date range picker made from two labelled date inputs. Works controlled or uncontrolled and returns a from and to object for filters and reports.
Delete account confirm
delete-account-confirm
Account deletion step with a danger alert and a confirmation field: the delete button stays disabled until the user types DELETE. Guards against misclicks.
Density toggle
density-toggle
Toggle group that switches between compact and comfortable density, reporting the choice to your handler. Pairs with data tables and dense list views.
Description list
description-list
Semantic dl, dt and dd list of label and value pairs in a responsive two column grid with dividers. Good for record details and summaries in Tailwind apps.
Dialog
Shadcn compatible modal dialog on Base UI with a blurred backdrop, enter and exit animation, close button, header, title, description and a footer bar.
Diff view
diff-view
React code diff viewer that tints added lines green and removed lines red with plus and minus gutters, context lines and an optional filename header.
Donut chart
donut-chart
Single value donut chart in SVG that fills an accent ring to a percentage of max and prints the percent in the middle. Labelled as an image for screen readers.
Downgrade warning
downgrade-warning
Tailwind plan downgrade warning card with an amber border, a summary of what gets locked on the free plan, and Keep plan or Downgrade buttons.
Drawer
Bottom drawer that slides a sheet up from the screen edge with a titled header, close button and scrolling body, capped at 80% of the viewport height.
Dropdown menu
dropdown-menu
Shadcn compatible dropdown menu on Base UI with groups, labels, checkbox and radio items, submenus, shortcuts, separators and destructive items.
Due date chip
due-date-chip
Small Tailwind due date chip with a calendar icon that switches to a red border and icon when overdue. Use it on task cards, tickets and boards.
Editable heading
editable-heading
Inline editable title that looks like a large heading but is a text input. Use it for document, page or project names; works controlled or uncontrolled.
Email button
email-button
Solid link button for email templates with a fixed height, padding and rounded corners. Uses an anchor so it survives email clients that strip buttons.
Email card
email-card
Content card for transactional emails with an optional title and body text, inset from the email edges. Use it for receipts, codes and highlights.
Email footer
email-footer
Email footer with your company address and Unsubscribe and Preferences links, centered on a muted background. Covers what marketing emails need at the end.
Email header
email-header
Simple email header band that shows your brand name on a muted background with a bottom border. Sits at the top of the email layout in React templates.
Email layout
email-layout
Email layout shell with a centered 560px column, rounded border and surface background. Compose it with the email header, cards, button and footer.
Email preview frame
email-preview-frame
Inbox style preview frame showing the sender and subject above the rendered email body. Handy for template galleries and email settings screens.
Emoji picker
emoji-picker
Compact emoji picker grid with a default set of twelve reactions or your own list, using listbox and option roles. Calls onSelect with the chosen emoji.
Empty search
empty-search
No results state for search that echoes the query in the title and suggests trying another query or clearing filters. Built on the empty state component.
Empty state
empty-state
Dashed empty state panel with an icon slot, title, description and an optional call to action button. Use it for first run screens and empty lists in React.
Empty table
empty-table
Empty table placeholder with a dashed border, a No data yet title, helper text and an optional button to create the first row. For React tables.
Env badge
env-badge
Uppercase environment badge for production, staging or development, with production outlined in red so live systems stand out in dev tools and consoles.
Env switcher
env-switcher
React segmented control for switching between Dev, Staging and Prod environments, reporting the selected value. Fits dashboards, API consoles and deploy tools.
Error state
error-state
React error state panel with an alert role, a title, explanation and an optional Try again button that calls your retry handler. For failed fetches.
Event calendar
event-calendar
A week and day event scheduler with overlap layout, an all-day row, a current time line and click to create.
Expandable row
expandable-row
Bordered Tailwind row that expands to reveal details on click, with a rotating chevron and aria-expanded. Can start open and takes any content.
Export data
export-data
Settings card to request a data export, explaining what the JSON export includes and when it will be ready, with a Request export button.
Facet filter
facet-filter
A titled checkbox facet group for sidebar search filters in React. Each option can show a result count, and the selected values come back as an array.
Faq list
faq-list
An FAQ section built on an accessible accordion. Pass question and answer pairs and each one expands in place, with keyboard support and a readable max width.
Feature flag toggle
feature-flag-toggle
A settings row for flipping a feature flag on or off: flag name, optional description and a labeled switch, wired as a controlled React component.
Feature grid
feature-grid
A responsive grid of feature cards, one to three columns wide, each with an optional icon, a title and a short description. Built with React and Tailwind.
Feedback thumbs
feedback-thumbs
Thumbs up and thumbs down buttons for rating an answer or article. Uses aria-pressed, toggles off on a second click, and works controlled or uncontrolled.
File dropzone
file-dropzone
A React drag and drop upload zone with accept and reject states, type and size checks, image previews, per file progress, retry and screen reader updates.
File list
file-list
A stacked list of file rows showing each name and metadata such as size or date, with an optional download button per item. Good for React attachment lists.
File reference
file-reference
A compact card that cites a source file with its name, monospace path and line range. Useful for code assistants, docs and AI answers that point into a repo.
File row
file-row
A single file row with an icon, a truncated name, an optional meta line and a ghost download button with an accessible label. Styled with Tailwind.
File tree
file-tree
A code editor style file explorer with file icons, git status, a filter field and full tree keyboard support.
Filter bar
filter-bar
A wrapping Tailwind toolbar for tables and lists: a search input first, your own filter controls as children, and a Clear button when onClear is set.
Floating action button
floating-action-button
A round primary button fixed to the bottom right corner of the viewport for the main action on a screen. Accepts every Button prop, including icons.
Floating label input
floating-label-input
Return an error message, or nothing when valid. Runs on submit and after the first error.
Footer mega
footer-mega
A multi column site footer with a brand block and titled link groups that reflow from one to five columns. A React and Tailwind footer for marketing sites.
Footer nav
footer-nav
A slim one line footer with the brand name on the left and a wrapping set of links in a labeled nav element. Fits app shells, docs and small landing pages.
Forgot password form
forgot-password-form
A password reset request card with one email field and a full width Send reset email button, composed from AuthCard, FormField and Input in React.
Form field
form-field
A wrapper that pairs any input with its label, required marker, help text and an error message announced with role alert. Keeps React forms consistent.
Funnel chart
funnel-chart
A funnel chart with stage bars laid out horizontally or vertically, conversion rates and drop-off between stages, an optional comparison series and bars that spring to new values when the data changes.
Funnel steps
funnel-steps
A conversion funnel drawn as labeled horizontal bars scaled to the largest step, with formatted counts per stage. Suited to signup and checkout analytics.
Gantt chart
gantt-chart
A project timeline with day and week scales, a today line, progress fills, dependency arrows, a sticky task column and focusable bars.
Gantt row
gantt-row
One row of a Gantt timeline: a task label beside a track with a bar placed by start and end values on a shared scale. Stack rows to build a React roadmap.
Gauge chart
gauge-chart
A semicircle SVG gauge that fills to a value against a max and prints the percentage in the center. Exposed as an image with an accessible label for dashboards.
Goal ring
goal-ring
A circular progress ring that shows how far along a goal is, with the percentage in the middle and a caption below. Handy for fitness, sales or weekly targets.
Heading
A heading primitive that renders h1 through h6 with a matched type scale, tuned letter spacing and medium weight. Pick the level with the as prop in React.
Health indicator
health-indicator
A status dot and label for service health with operational, degraded and down states mapped to success, warning and danger colors. Made for status pages.
Heatmap cell
heatmap-cell
A square heatmap cell whose fill blends from a muted base to the accent color by an intensity from 0 to 1, with an aria label. Tile it for activity grids.
Hero
A centered landing page hero with an optional eyebrow, a large headline, supporting copy and up to two call to action buttons. A plain Tailwind starting point.
Horizontal bar chart
horizontal-bar-chart
A lightweight horizontal bar chart where each row shows a label, a rounded bar scaled to the largest value and the number. No chart library, just Tailwind.
Hover card
hover-card
A card that appears below a trigger on mouse hover to preview extra detail such as a user profile or link summary. A light take on the shadcn hover card.
Icon button
icon-button
A square React button for icon only actions in small, default and large sizes with every Button variant. Its aria-label prop is required, so it is always named.
Image cropper
image-cropper
Left edge in source pixels, measured on the image after `rotation`.
Image gallery
image-gallery
A responsive photo grid of square tiles, two columns on mobile and three on larger screens, each image cropped to fill. Built with React and Tailwind.
Image lightbox
image-lightbox
A clickable image thumbnail that opens a full screen modal of the picture with a dimmed backdrop and a close button. Handy for screenshots and product shots.
Image upload
image-upload
A single image picker that starts as a drag and drop zone, then swaps to a large preview with a remove button. Returns an object URL and the File in React.
Impersonation banner
impersonation-banner
A top of page bar telling support staff which user account they are viewing as, with an Exit button to end the session. Common in admin and support tools.
Incident banner
incident-banner
A full width Tailwind status bar announcing an outage with minor, major and critical severity colors, the incident title and a link to your status page.
Infinite scroll
infinite-scroll
Load the next page when a sentinel scrolls into view, with a loading row, an end of list message and a Load more button as the accessible fallback.
Inline alert
inline-alert
An inline React message box in neutral, success, warning and danger tones with a matching icon, an optional title and body text. Announced with role alert.
Inline cell edit
inline-cell-edit
Click to edit table cell text: the value turns into an input on click, saves on Enter or blur and cancels on Escape. Built for editable React data grids.
Inline code diff
inline-code-diff
A two line code diff showing the removed line in red with a minus and the added line in green with a plus, in monospace. Suits AI edit suggestions.
Input
The base text input with sm, default and lg sizes and designed hover, focus, disabled, read only and invalid states. A drop in shadcn style input for React.
Input affix
input-affix
A text input with leading and trailing slots for icons, units or buttons, sharing one focus ring and invalid state across the field. Tailwind styled.
Inset
A recessed panel with a sunken background, rounded border and responsive padding for grouping secondary content, code samples or previews inside a card or page.
Integration card
integration-card
An app integration tile with the service name, a short description, a Connected or Available badge and a Connect or Manage button. Built in React.
Interactive area chart
interactive-area-chart
A React SVG area chart with a crosshair that follows the pointer or arrow keys, showing the value and percent change against a dashed comparison line.
Invite members
invite-members
A team invite panel with an email input, a Send button and badges for pending invitations. A starting point for workspace member management in SaaS settings.
Invoice detail
invoice-detail
An invoice card with the number, date, a paid, open or void status badge, itemized line amounts and a bold total row. Built with React for billing pages.
Invoice list
invoice-list
A bordered list of invoices showing number, date, amount and a paid, open or void status badge on each row. Fits the billing history in account settings.
Ip allowlist
ip-allowlist
An editor for IP and CIDR allowlists: a monospace list with a remove button per entry plus an input and Add button that skips duplicates. Built in React.
Issue card
issue-card
A compact issue tracker card with a monospace ticket key, status and priority badges, a title and an assignee line. Fits Linear or Jira style boards.
Issue key
issue-key
A monospace ticket identifier such as MD-241 that renders as plain text or, given an href, as a link with an accent hover underline. For issue lists.
Join workspace
join-workspace
A centered card for joining a team workspace with an invite code: heading, helper text, a monospace code input and a full width Join button. Tailwind styled.
Json viewer
json-viewer
A collapsible JSON tree with syntax colours, item counts, copy value and copy path on hover, search highlighting and full keyboard navigation.
Kanban board
kanban-board
A horizontally scrolling Kanban board built from column data: each column shows its title, a card count and stacked cards with a title and optional meta line.
Kanban column
kanban-column
A single Kanban lane with a title, an optional count badge and a slot for any cards you render as children. Compose several to build your own React task board.
Kbd
A keyboard key cap for showing shortcuts, with a raised edge and room for icons, plus a KbdGroup wrapper for combos like Cmd K. Renders a semantic kbd element.
Keyboard shortcuts
keyboard-shortcuts
A keyboard shortcuts cheat sheet in a dialog, opened with the ? key or a trigger button, with search and the right modifier glyphs for the viewer's platform.
Kpi row
kpi-row
A responsive row of KPI tiles, up to four across, each with a label, a large value and an up or down delta. Drop it at the top of a SaaS analytics dashboard.
Label
A form label that dims and blocks pointer events when its peer input or group is disabled. Native label API, styled with Tailwind like the shadcn label.
Language picker
language-picker
A grid of language options exposed as an accessible listbox, with the selected language outlined in the accent color. Plug it into locale or profile settings.
Latency badge
latency-badge
A monospace millisecond badge that turns green under 100ms, amber under 400ms and red above. Useful for API monitors, model responses and status dashboards.
Light provider
light-provider
A page wide light source that follows the pointer and drifts when idle, driving shadows via CSS variables, plus a hairline, glass, metal and paper switcher.
Line chart
line-chart
A multi series SVG line chart with smooth curves, a dashed hairline grid and dots on the last point of each line, colored from chart tokens. No library.
Link
A styled anchor with the accent color, underline on hover and a visible focus ring. Accepts every native anchor prop, so it works with Next.js or plain hrefs.
Link preview
link-preview
A rich link card with an optional 2:1 cover image, title, two line description and the URL, opening in a new tab. Good for chat messages, posts and bookmarks.
List item
list-item
A flexible list row with leading and trailing slots around a truncated heading and description, split by hairline borders. Build settings or contact lists.
Live cursors bar
live-cursors-bar
A multiplayer presence strip with overlapping colored avatars per collaborator and an editing now count. Suits docs, whiteboards and real time React editors.
Loading overlay
loading-overlay
A translucent overlay that covers its parent with a centered spinner and label while data loads, inheriting the parent radius and announced with role status.
Loading table
loading-table
A skeleton placeholder for data tables with configurable rows and columns, a header row and aria-busy so assistive tech knows content is loading.
Logo cloud
logo-cloud
A centered, wrapping row of customer or partner logos with names in muted text and an optional mark each. Adds social proof to a Tailwind landing page.
Magic link form
magic-link-form
A passwordless sign in card with an email field and a Send link button that passes the address to onSend. Built from AuthCard, FormField and Input.
Markdown editor
markdown-editor
A markdown editor with a toolbar that wraps the selection, Cmd/Ctrl+B and I shortcuts, write, split and preview modes, a live preview rendered without innerHTML, and a word count.
Markdown renderer
markdown-renderer
A small React renderer for AI output that splits text into paragraphs on blank lines and turns fenced code blocks into scrollable monospace panels.
Marquee
An infinitely scrolling Tailwind strip that loops its children horizontally, duplicated for a gapless cycle, and stops when users prefer reduced motion.
Masked input
masked-input
Formats a value with a mask, e.g. applyMask("(999) 999-9999", "5550102030") gives "(555) 010-2030".
Masonry grid
masonry-grid
A masonry layout for React that keeps source order: a CSS grid with measured row spans, so keyboard and screen reader order match the visual flow.
Mention input
mention-input
A comment textarea that opens a suggestion list when you type @, filters names as you keep typing and inserts the chosen @mention. For React comments.
Menubar
A desktop style app menubar built on Base UI: a row of triggers that each open a dropdown of items, with keyboard navigation between menus. shadcn compatible.
Merge box
merge-box
A React pull request merge panel with a success or warning callout for check status and a full width Merge button that stays disabled until checks pass.
Message actions
message-actions
A row of ghost icon buttons for chat replies: copy, retry, good response and bad response, each with an aria label and callback. Place it under AI messages.
Message bubble
message-bubble
A React chat message for user, assistant and system roles: user turns sit in a right aligned capsule, assistant replies read as prose, with a streaming cursor.
Meter
A horizontal gauge bar using role meter with aria value attributes, an optional label and a fill clamped to 100 percent. For storage, quota and usage limits.
Metric delta
metric-delta
A tiny percentage change indicator with an up arrow in green for gains and a down arrow in red for losses. Pair it with stat cards, KPI tiles and table cells.
Mobile action sheet
mobile-action-sheet
An iOS style action sheet that rises from the bottom with a list of actions, destructive items in red, a Cancel button and a backdrop that dismisses on tap.
Mobile nav drawer
mobile-nav-drawer
A hamburger button that opens a right side navigation drawer as a modal dialog, with a close button and links that dismiss it on tap. Built in React.
Model compare
model-compare
A comparison table for AI models listing name, latency with a color coded badge, cost and a quality note per row. Helps users pick between LLM providers.
Model picker
model-picker
A dropdown for choosing an AI model, built on the Select component with an accessible trigger and a placeholder. Pass an array of models and read the chosen id.
Morph panel
morph-panel
A React button that morphs into the panel it opens on a spring, blurring the label out and the form in. Ships with a feedback form and closes on Escape.
Multi select
multi-select
A multi select dropdown in a popover with check marks on chosen items and removable chips below the trigger. Works controlled or uncontrolled in React.
Nav marketing
nav-marketing
A sticky marketing header with a translucent blurred background, brand link, nav links that hide on mobile and Sign in and Get started buttons. Tailwind built.
Navigation menu
navigation-menu
A site navigation menu built on Base UI with triggers that open rich dropdown panels in a shared viewport, plus link items. Mirrors the shadcn navigation menu.
Nested nav
nested-nav
A collapsible tree navigation built from nested node data, indented by depth with rotating chevrons on items that have children. Fits React docs sidebars.
Newsletter signup
newsletter-signup
An inline email capture form with a required email field and a Subscribe button that stack on mobile and sit side by side on wider screens. Tailwind styled.
Not found state
not-found-state
A 404 state with the error code, a Page not found heading, a short explanation and Go home and Open gallery buttons, centered in a card. Built in React.
Notebook cell
notebook-cell
A Jupyter style notebook cell with a Run button beside a code editor frame and an optional output panel below. Good for interactive docs and playgrounds.
Notification inbox
notification-inbox
A bell with an unread count that opens a notification popover: All and Mentions tabs, unread dots, mark all read, type icons and an empty state. Built in React.
Notification item
notification-item
A single notification row with an unread dot and tint, a truncated title, relative time and a short body line. Stack it in React inboxes and activity feeds.
Notification preferences
notification-preferences
A notification settings list of labeled switches for email digests, product updates and security alerts. A simple React start for preference pages.
Number input
number-input
A numeric stepper with minus and plus buttons around a centered input that clamps to min and max and moves by a custom step. Works controlled or uncontrolled.
Number roll
number-roll
An odometer style animated number where each digit rolls on a spring and only changed digits move. Supports Intl formatting, trend tint and reduced motion.
Offline banner
offline-banner
A full width amber banner shown when the app loses its connection, with a wifi off icon, a note that changes will sync later and an optional Retry button.
Offline state
offline-state
An offline status card with a warning dot, a You are offline heading, a note on what still works and a Retry connection button. For PWA and sync apps.
Onboarding checklist
onboarding-checklist
A Get started card with a list of setup tasks that toggle between done and pending on click, showing a check box and a strikethrough on completed items.
Onboarding wizard
onboarding-wizard
A three step React onboarding flow that walks new users through creating a workspace, inviting teammates and a done screen, with a stepper on top.
Order summary
order-summary
A checkout summary card listing line items such as subtotal, shipping and tax, then a separator and a bold total. Built with React for cart pages.
Org chart
org-chart
A collapsible organisation chart with connector lines, initials avatars, team colours, per node counts and arrow key navigation.
Org switcher
org-switcher
A popover switcher for moving between organizations or workspaces, showing the current name, a check on the active item and an optional plan label per org.
Otp input
otp-input
A React one time code input where one real input powers the slots, so paste, SMS autofill and screen readers work natively. Has groups, error shake and success.
Page header
page-header
A Tailwind page title block with an h1, an optional description and a wrapping slot for action buttons on the right, set off by a bottom border.
Pagination
A pagination nav with Prev and Next buttons that disable at the edges and numbered page buttons that mark the current page with aria-current. Built in React.
Password input
password-input
A password field with a show and hide toggle inside the input, an eye icon that swaps state and an accessible label. Supports sm, default and lg sizes in React.
Password strength
password-strength
A React password field with a four step strength meter and a live rule checklist. Announces the score politely and accepts your own scorer such as zxcvbn.
Payment method card
payment-method-card
A saved card row showing the card brand, last four digits and expiry date in monospace, with an Edit button. Fits the payment methods area of billing.
Peek panel
peek-panel
A right side detail panel with a titled header, a close button and a scrollable body for previewing a record without leaving the list. Tailwind styled.
Permission chip
permission-chip
A small uppercase chip for access levels: admin, write or read. Use it in member lists, API key tables and sharing dialogs to show what a user or token can do.
Permission denied
permission-denied
A 403 style access card explaining that admin rights are needed, with Request access and Switch workspace buttons. Use it wherever a route is role gated.
Phone input
phone-input
A telephone number field with type tel, a numeric keypad on mobile, tel autocomplete, tabular digits and a default aria label. Styled like the React base input.
Pie chart
pie-chart
An SVG pie chart with leader line labels, a legend and slices that pull out on hover or focus.
Pinned message
pinned-message
A highlighted pinned note for chat channels and threads with a pin icon, a Pinned by author line and the message body on an accent tinted Tailwind background.
Plan card
plan-card
A pricing plan card with the plan name, a large price per period, a feature list and a full width call to action. A highlighted prop marks the recommended tier.
Plan comparison
plan-comparison
A Free versus Pro comparison table with a row per feature and check or dash icons in each plan column. Shows what an upgrade unlocks on Tailwind pricing pages.
Popover
A floating React panel anchored to a trigger, built on Base UI with side and align options, collision aware positioning, title and description parts.
Presence dot
presence-dot
A small colored dot for user status: online, away, busy or offline, exposed with role status and an aria label. Overlay it on avatars in chat and team lists.
Press quote
press-quote
A centered press or testimonial quote using figure, blockquote and figcaption, with a large quoted line and an uppercase source. Adds proof to landing pages.
Pricing table
pricing-table
A three column pricing section that renders a PlanCard for each tier you pass in, stacking on mobile. Mark one plan as highlighted to steer visitors toward it.
Pricing toggle
pricing-toggle
A Monthly and Yearly billing period switch built on a segmented control, with a Save 20% with yearly note underneath. Pairs with pricing tables and plan cards.
Priority picker
priority-picker
A radio group of priority chips, Low, Medium, High and Urgent, each with a colored dot and aria-checked state. Built for issue trackers, tasks and ticket forms.
Product card
product-card
A storefront product tile with a square image, an optional corner badge like Sale or New, the product title, price and an Add to cart button when onAdd is set.
Profile form
profile-form
An account profile form with a display name input, a bio textarea and a Save profile button, composed from FormField, Input and Textarea in React.
Progress
A linear progress bar built on Base UI with track, indicator, label and value parts, a default aria label and smooth width transitions. Matches shadcn progress.
Progress circle
progress-circle
A compact circular progress indicator drawn in SVG with a configurable size, an accent arc, an accessible label and the percentage in monospace below it.
Prompt input
prompt-input
An AI chat composer that grows with its content, sends on Enter, adds a newline on Shift Enter and has attach, toolbar and send controls. Built for React.
Prompt input attachments
prompt-input-attachments
The AI prompt composer with an Attach file button and helper text above it, forwarding every PromptInput prop. For chat apps that accept documents or images.
Prompt library
prompt-library
A searchable list of saved prompts that filters by title, body and tag as you type and returns the chosen prompt through onSelect. Useful in React AI apps.
Prose
A Tailwind typography wrapper for raw HTML or MDX that styles headings, muted paragraphs, links, lists, inline code and blockquotes at a readable measure.
Publish bar
publish-bar
React publish bar with a draft, scheduled or published status badge, an autosave note, and Preview and Publish buttons wired to an onPublish callback.
Qr code
qr-code
A dependency free QR code rendered as crisp SVG, with error correction levels, a logo well and a one click SVG download.
Quantity stepper
quantity-stepper
React quantity stepper with minus and plus buttons around a tabular count. Clamps to min and max, disables at the limits, and works controlled or uncontrolled.
Query builder
query-builder
Filter query builder that chains field, operator and value clauses with AND. Add or remove rows, each with labelled selects, built in React and Tailwind.
Quota bar
quota-bar
Compact quota bar showing a label, used over max with locale formatting, and a thin accent progress track exposed as an ARIA progressbar for plan limits.
Radar chart
radar-chart
SVG radar chart that plots normalized 0 to 1 values on labelled axes over four concentric grid rings. Themed with currentColor and labelled for screen readers.
Radial chart
radial-chart
A radial bar chart of concentric progress rings with a legend, a rolling centre total and spring animated values.
Radio group
radio-group
Accessible radio group on Base UI with keyboard navigation, a springy checked dot, larger hit areas, and invalid and disabled states. A shadcn-style drop in.
Range slider
range-slider
Two-thumb range slider for picking a min and max, with value bubbles on both thumbs while dragging, optional marks, a formatter and an onValueCommitted hook.
Rating
Star rating input rendered as a radiogroup, with one labelled radio per star, a configurable max, disabled state, and controlled or uncontrolled value in React.
Reaction bar
reaction-bar
Row of emoji reaction pills with counts, where active reactions get an accent border and aria-pressed. Toggle callbacks suit comments and chat threads.
Read receipt
read-receipt
Message read receipt icon that shows a single check for sent, a double check for delivered, and an accent double check once read. Labelled for screen readers.
Reasoning block
reasoning-block
Collapsible AI reasoning block, folded by default. The title shimmers while the model is thinking, then reads Thought for Ns, with an animated height reveal.
Receipt
Monospace payment receipt card with an order id, itemized amounts in tabular numerals and a bold total row. Built with Tailwind for checkout and billing pages.
Regenerate bar
regenerate-bar
Footer bar for AI answers with a Not quite right prompt, a Regenerate button with a refresh icon, and an optional Edit prompt action when onEdit is set.
Region picker
region-picker
Deployment region picker with selectable cards for each region and its latency in milliseconds. Uses radio semantics and an accent tint for the chosen one.
Relative time
relative-time
React relative timestamp that renders just now, 5m ago, 3h ago or 2d ago inside a semantic time element, with the full local date shown as a hover title.
Reset password form
reset-password-form
Reset password card with new password and confirm password fields and a full-width Update password button, built from AuthCard, FormField and Input in React.
Resizable panels
resizable-panels
Split panes with draggable, keyboard operable handles, min and max sizes, snap to collapse and nested groups in either direction.
Resource quota grid
resource-quota-grid
Responsive grid of quota cards, one per resource, each with a labelled usage bar showing used over max. Useful for infra limits like builds, storage and seats.
Retry block
retry-block
Error block that pairs a danger inline alert with a Try again button and an onRetry callback. Defaults to a request failed message you can override in React.
Review request card
review-request-card
Code review request card with a Review requested badge, pull request title, repo name, author avatar, and Review and View diff buttons for developer dashboards.
Rich text toolbar
rich-text-toolbar
Formatting toolbar with bold and italic toggles, link, bullet and numbered list buttons, and a divider. Uses role toolbar with labelled icon toggles in React.
Role permission matrix
role-permission-matrix
Role and permission matrix with roles as columns and permissions as rows, each cell a labelled checkbox. Scrolls sideways on small screens, styled in Tailwind.
Role picker
role-picker
Team role picker built on the radio group, offering Owner, Admin and Member options with linked labels. Drop it into invite dialogs and member settings forms.
Row selection
row-selection
Row selection checkbox for data tables with checked and indeterminate states and a default Select row label. Pairs with a header checkbox for select all.
Sankey chart
sankey-chart
An SVG sankey diagram that lays nodes out in columns computed from the links, draws curved ribbons, labels nodes with values, highlights a node's flows on hover or focus, and includes a hidden table.
Saved views
saved-views
Saved views list for filters, rendered as a listbox of named views with item counts and a highlighted active view. Works controlled or uncontrolled in React.
Schema field row
schema-field-row
API schema field row with a monospace field name, a required badge, the type and a description, in three columns on desktop for docs and reference pages.
Scroll area
scroll-area
Custom scroll area on Base UI with a thin rounded thumb, vertical or horizontal scrollbars and a focus ring on the viewport. A shadcn-compatible ScrollArea.
Search input
search-input
Search input with a leading search icon and a clear button that appears once there is text. Comes in sm, default and lg sizes, controlled or uncontrolled.
Search with results
search-with-results
Search field with a results list below it showing titles and optional subtitles, plus a No results state. Emits onSearch as you type so you can filter in React.
Seat manager
seat-manager
Team seat manager card showing seats used out of the plan, an Invite button, and a member list with name, email and role badge. Built in React for billing.
Secret reveal
secret-reveal
Masked secret field for API keys with an eye toggle to reveal or hide the value and a copy button for the full key. Monospace, compact, built with Tailwind.
Section header
section-header
Tailwind section header with a title, optional muted description and a right-aligned actions slot that wraps on narrow screens. Use it above cards and tables.
Segmented control
segmented-control
Segmented control with a raised thumb that springs between options, arrow, Home and End key support, icons, badges, three sizes and reduced motion support.
Select
Select dropdown on Base UI with a trigger in three sizes, an animated popup, groups, labels, separators, a check indicator and scroll arrows. Shadcn-compatible.
Separator
Hairline separator on Base UI that draws a 1px rule horizontally or vertically, stretching to fill its container. A drop-in shadcn Separator for React layouts.
Server error state
server-error-state
500 error state card with a danger outline, a short explanation, and Retry and Copy request id buttons so users can recover or reach support with context.
Session list
session-list
Active sessions list showing each device and location, marking the current device and giving other sessions a Revoke button. A React account security block.
Settings layout
settings-layout
Settings page layout with a 200px side nav column and a content area, plus a SettingsSection for titled groups divided by hairlines. Tailwind grid based.
Sheet
Slide-out sheet from the left, right, top or bottom with a backdrop, a titled header, a close button and a scrollable body, rendered as a modal dialog in React.
Shipping address
shipping-address
Shipping address form with full name, street address, city and postal code fields, each with the right autocomplete attribute for browser autofill at checkout.
Shortcut cheat sheet
shortcut-cheat-sheet
Keyboard shortcut cheat sheet listing actions next to their key combinations rendered as Kbd keycaps. Pass your own rows or use the default command palette set.
Sidebar
App sidebar shell with a collapsed icon-only width and SidebarNavItem buttons that show icons, truncated labels and an active state. Built with Tailwind.
Sidebar section
sidebar-section
Sidebar section that groups nav items under an optional small uppercase heading with tight spacing. Stack several inside the Sidebar to organize app navigation.
Sign up form
sign-up-form
Create account form with GitHub and Google buttons, required name, email and password fields, a submit button and a Sign in link, all inside an AuthCard.
Signature pad
signature-pad
Draw a signature with mouse, pen or finger on a canvas with pressure aware strokes, undo and clear, a typed name fallback and PNG export for forms.
Skeleton
Tailwind skeleton loader with a sunken plate and a soft sheen that sweeps every 1.6s, plus a SkeletonCard preset with title, text lines and a media block.
Skip link
skip-link
Skip to content link that stays visually hidden until focused, then appears fixed in the top corner so keyboard users can jump past navigation in any React app.
Slash command menu
slash-command-menu
React slash command menu that filters commands by the typed query, shows each as /name with an optional hint, and falls back to a No commands message.
Slider
Slider on Base UI with a hairline rail, a keycap thumb, a value bubble while dragging, optional labelled marks, Intl number formatting and vertical support.
Social auth row
social-auth-row
Two-column row of Continue with GitHub and Continue with Google buttons with click handlers, ready to sit above email fields on sign in and sign up screens.
Social proof
social-proof
Social proof row of up to five overlapping avatars with initials fallback, next to a count label like 2,000 teams. Built in React for landing page heroes.
Sortable header
sortable-header
Sortable table header button that shows an up, down or neutral arrow for the current sort direction and calls onToggle on click. Pairs with any Tailwind table.
Sortable list
sortable-list
Drag to reorder a list in React with Motion Reorder, plus Arrow key reordering from the handle and polite announcements of every move for screen readers.
Source card
source-card
Citation source card for AI answers showing a title, a source badge, the truncated URL and a short snippet. List references under a generated response.
Sparkline set
sparkline-set
Responsive grid of metric cards, each with a label, value, delta chip and a small area chart sparkline. Good for a KPI overview at the top of a React dashboard.
Spinner
Loading spinner in sm, default and lg sizes with role status and an accessible Loading label. Drop it into buttons, cards or full page states in a Tailwind app.
Split button
split-button
Split button with a primary action and a chevron that opens a dropdown of secondary actions, including destructive items. The menu matches the button width.
Split flap
split-flap
Split-flap display that flips each character through the alphabet like a departure board, with a column ripple, tones, sizes and reduced motion support.
Split pane
split-pane
Static two-column split pane that stacks on mobile and sits side by side from md up, with a hairline divider. Handy for compare views and editor previews.
Sql result table
sql-result-table
SQL query result table with uppercase column headers, monospace cells and horizontal scroll for wide results. Built for database consoles and admin tools.
Sso provider card
sso-provider-card
SSO provider card with a name, description, Configured or Not set badge, an enable switch and a Configure button. A React block for SAML and OIDC settings.
Stack
Vertical stack layout primitive that arranges children in a flex column with a gap prop from 1 to 8 on a 4px scale. Accepts all normal div props in React.
Stack trace
stack-trace
Stack trace block that shows an error trace in a monospace pre with a danger tint and scroll for long output. Useful in error pages, logs and debug panels.
Stacked bar chart
stacked-bar-chart
Stacked bar chart that splits each column into colored series segments with hover titles, category labels underneath and a series legend. Uses chart CSS tokens.
Stat card
stat-card
React stat card with a label, optional icon, a large tabular value and a delta chip colored by its sign, with invertDelta for metrics like churn or latency.
Stat sparkline
stat-sparkline
Metric card with a label, a large value, a signed delta and an edge-to-edge area sparkline that turns red when the trend is down. Built for React dashboards.
Stats strip
stats-strip
Tailwind stats strip of centered value and label cells split by hairlines, two columns on mobile and four on desktop. Shows traction numbers on landing pages.
Status badge
status-badge
Tailwind status badge with a tinted fill, hairline border and colored dot in neutral, success, warning, danger, accent and info tones that read as one set.
Status dot
status-dot
Small status dot in neutral, success, warning, danger and accent tones, built with cva. Place it next to labels for online, healthy or failing indicators.
Step progress
step-progress
Step progress bar made of segments that fill in accent for completed and current steps, with small labels under each. Fits checkout and onboarding flows.
Stepper
Numbered stepper for multi-step forms that shows each step as a bar and a label, highlighting completed and current steps. Semantic ordered list in React.
Sticky bar
sticky-bar
Sticky bottom action bar with a translucent blurred background and a hairline top border. Keeps save, cancel or checkout actions in reach on long pages.
Sticky column
sticky-column
Sticky table column wrapper that pins content to the left or right edge with a solid background and divider while the rest of a wide table scrolls horizontally.
Stop generating
stop-generating
Stop generating button with a filled square icon and an onClick handler, for cancelling a streaming AI response mid-answer in chat interfaces built with React.
Streak calendar
streak-calendar
Streak calendar showing a 28-day grid in seven columns, with active days filled in accent. Useful for habit tracking, learning apps and activity views.
Streaming cursor
streaming-cursor
Blinking caret that sits inline at the end of streaming text, sized to the line and hidden from screen readers. Signals an AI response is still arriving.
Streaming message
streaming-message
Chat message bubble that renders partial AI output with a blinking caret at the end, for showing token-by-token streaming responses in a Tailwind chat UI.
Suggestion chips
suggestion-chips
Row of rounded suggestion chips such as Summarize or Find bugs that call onSelect when clicked. Use them as prompt starters under a React AI chat input.
Switch
Switch on Base UI whose thumb stretches on press then springs across, with sm and default sizes, a loading spinner state and an optional clickable label row.
Table
Table primitives for header, body, footer, row, head, cell and caption, wrapped in a horizontal scroll container. Same API as the shadcn Table, in Tailwind.
Table of contents
table-of-contents
A sticky table of contents that spies on headings while you scroll, with a marker that glides to the active item and smooth scroll on click.
Table pagination
table-pagination
Table pagination footer showing Page X of Y with previous and next icon buttons that disable at the first and last page. Wire it to onPageChange in React.
Table toolbar
table-toolbar
Toolbar above a data table with a search input on the left and a right slot for filters, view toggles or export buttons. Wraps cleanly on narrow screens.
Tabs
Tabs on Base UI with a raised thumb or a line underline that springs to the active tab, optional count badges, vertical orientation and roving keyboard focus.
Tags input
tags-input
React tags input that adds a chip on Enter or comma, skips duplicates, removes the last tag on Backspace and gives each chip a labelled remove button.
Tax fields
tax-fields
Checkout tax fields with country and a monospace VAT or EIN tax ID input in a two-column grid. Drop it into billing address forms for business customers.
Team member row
team-member-row
Team member row with an initials avatar, name, email and a role badge, truncating cleanly in narrow lists. Built for team pages and member management in React.
Terminal window
terminal-window
Terminal window frame with traffic light dots, a title bar and a monospace body for commands and output. A Tailwind block for install steps, CLI docs and demos.
Testimonial
Testimonial card with a quote, avatar with initials fallback, name and role, using semantic figure and blockquote markup. Built in Tailwind for landing pages.
Text
Text paragraph primitive with muted, subtle and mono variants on top of your base type styles. Keeps secondary copy and inline technical text consistent.
Textarea
Multiline textarea with a 96px minimum height, comfortable line height, hairline border, focus ring and subtle placeholder. A shadcn-compatible Textarea.
Theme picker
theme-picker
Light, dark and system theme picker as a segmented radiogroup that toggles the dark class on the root element for Tailwind dark mode and reports it to onChange.
Thinking block
thinking-block
React Thinking panel with a chevron header and aria-expanded that reveals the model's intermediate reasoning in muted text. Collapsed by default in chat.
Time picker
time-picker
React time picker built on the native time input, styled to match the other inputs, with a controlled value, onChange, disabled state and an aria-label.
Timeline
Tailwind vertical timeline with a hairline rail, a dot per event, titles, optional descriptions and right-aligned timestamps for activity feeds and changelogs.
Toast
Toast notifications with a toast() API for success, error, warning and promise states. The Toaster stacks cards, fans them out on hover and pauses timers.
Toc
Table of contents nav with anchor links indented by heading level and a highlighted active item. Pair it with scroll tracking for docs and long articles.
Toggle
Two-state toggle button on Base UI with sm, default and lg sizes and a pressed style. A shadcn-compatible Toggle for toolbar actions like bold or mute in React.
Toggle group
toggle-group
Toggle group on Base UI that wraps Toggle buttons for single or multiple selection with shared keyboard navigation. Use it for text formatting or view modes.
Token usage meter
token-usage-meter
LLM token usage meter showing tokens used against a monthly limit, a labelled progress bar and a percent of budget note with the reset date. Useful in AI apps.
Tool call card
tool-call-card
Agent tool call card showing the tool name, argument preview, duration and a running, done or failed status chip, with collapsible monospace output below.
Tool call collapsed
tool-call-collapsed
Compact collapsed tool call row with a rotating chevron and monospace tool name that expands to show its details. Keeps agent traces tidy inside chat threads.
Tool result panel
tool-result-panel
Tool result panel with the tool name, a success, error or running status badge and the output shown in a JSON code block. Built in React for AI agent UIs.
Tooltip
React tooltip on Base UI with a provider for delay, a trigger, and content that positions on any side with an arrow and portal. Drop-in shadcn Tooltip API.
Topbar
App top bar that is 56px tall with a title or custom left content and a right slot for actions, avatars or search. Sits above the main content in dashboards.
Trace waterfall
trace-waterfall
React trace waterfall that draws each span as a bar offset by start time and scaled by duration, indented by depth with a millisecond label for observability.
Tree view
tree-view
Nested tree view with expandable nodes, rotating chevrons, depth indentation and ARIA tree roles. Suited to file explorers and nested category lists in React.
Treemap chart
treemap-chart
A squarified SVG treemap with one level of grouping, labels that hide in small cells, hover and keyboard focus with a value tooltip, and a hidden data table.
Trial banner
trial-banner
Trial banner with a days left headline, a short note on what stays unlocked and an Upgrade button, on an accent tinted strip. Built for SaaS billing nudges.
Two factor setup
two-factor-setup
Two-factor setup card with a QR code area, a one-time code input and a Verify and enable button, guiding users through linking an authenticator app in React.
Two factor verify
two-factor-verify
Two-factor verification screen with a one-time password input and a full-width Verify button inside an auth card. Use it as the second step after sign in.
Typing indicator
typing-indicator
Tailwind typing indicator with three pulsing dots in a rounded pill, staggered by 120ms, with role status and a Typing label. Shows someone is replying in chat.
Upgrade prompt
upgrade-prompt
Upgrade prompt card with a title, a short description of what the paid plan unlocks and an Upgrade button. Place it where a free user hits a gated feature.
Uptime bar
uptime-bar
Status page uptime bar with one cell per day over 90 days, green when operational and red on degraded days, and the uptime percentage above. Built in Tailwind.
Usage breakdown
usage-breakdown
Usage breakdown listing several metered items, each with its label, used over limit and a thin accent bar. Use it on billing pages to show where plan limits go.
Usage meter
usage-meter
Single usage meter with a label, used over limit count and a Progress bar linked by aria-labelledby. Handy for API calls, storage or seats on billing pages.
User chip
user-chip
React user chip showing a small avatar with initials fallback and the person's name, plus an optional remove button. Good for assignees, mentions and pickers.
Version badge
version-badge
Version badge that shows a v-prefixed release number with an optional stable, beta or canary channel pill, each tinted differently, for docs and changelogs.
Vertical tabs
vertical-tabs
Vertical tabs with a 180px tab list on the left and the active panel on the right, using tab and tabpanel roles. Stacks on mobile. Built for settings screens.
Video player chrome
video-player-chrome
Video player chrome with a 16:9 stage, a centered play and pause button, a volume icon, a playback progress bar and a title. Bring your own video in React.
Virtual list
virtual-list
A windowed list that renders only the rows in view, with fixed or measured row heights, overscan, keyboard row navigation and scroll to index.
Virtualized list
virtualized-list
Virtualized list that renders only the visible rows plus a small buffer, using a fixed item height and absolute positioning. Keeps thousands of React rows fast.
Visually hidden
visually-hidden
Visually hidden wrapper that keeps content available to screen readers while hiding it on screen via sr-only. Use it for icon button labels and extra context.
Vote control
vote-control
Upvote and downvote control with a score between two chevrons, aria-pressed states and click again to undo. Built in React for forums and feedback boards.
Waffle chart
waffle-chart
Waffle chart that fills a 10 column grid of squares to show a value out of a total, with a label and count above. Clear for adoption rates and percentages.
Webhook list
webhook-list
Webhook endpoints list with an Add endpoint button, monospace URLs, subscribed events and an active or paused badge per row. Built for developer settings pages.
Welcome screen
welcome-screen
React onboarding welcome card with an eyebrow, headline, short intro, three numbered getting started steps and primary and secondary buttons for a first run.
Well
A recessed Tailwind panel with a sunken background, hairline border and inner highlight. Use it to set apart notes, code output or secondary content.
Window chrome
window-chrome
A macOS style window frame for React with three traffic light dots, a truncated title bar and a padded content area for framing demos and screenshots.
Wishlist button
wishlist-button
A Tailwind heart icon button for product cards that toggles a wishlist state. It sets aria-pressed and switches its label between add and remove.
Workspace create
workspace-create
A compact create workspace form in React with a required name field, a URL slug input and a submit button wired to an onCreate callback.
Select a component to view its code
Click on any item in the sidebar to get started
Select a component to view its information