Components

65 components across 12 categories. Install only what you need.

Actions

Inputs

Button

A clickable control that triggers an action, supporting nine visual variants and five sizes.

Input

A single-line text input with optional label, hint, and error messaging. Supports a floating label variant where the label animates inside the field.

OTPInput

A one-time password input composed of individual single-character cells. Supports keyboard navigation, auto-advance, and paste.

Textarea

A multi-line text input with optional label, hint, and error messaging.

Radio

A controlled radio group with accessible markup, custom visual styling, and support for hints and disabled states.

Switch

A toggle switch for boolean values, rendered as an accessible button with role="switch".

ToggleGroup

A segmented group of toggle buttons where one item (single mode) or many items (multiple mode) can be active at once.

Select

Single-value dropdown with arrow-key navigation, typeahead, and subtle open/close animation.

Checkbox

Controlled or uncontrolled checkbox with optional label.

Combobox

A searchable dropdown that filters options as the user types, with single-select and multi-select (pill chip) modes.

DatePicker

A trigger button that opens a calendar popup for selecting a single date, with full keyboard navigation, min/max bounds, and no external date library.

Slider

A styled range input for selecting a numeric value within a defined range, with optional label, hint, and current value display.

CodeEditor@uiw/react-codemirror

A CodeMirror-backed JSX/JavaScript editor with syntax highlighting, dark/light theming, and Tab-to-indent.

Display

Badge

Inline label for status, category, or count.

Card

A flexible container component for grouping related content into a distinct visual surface, composed with CardHeader, CardContent, and CardFooter.

Table

A set of composable table subcomponents for displaying structured, tabular data with sortable columns, row striping, and hover highlights.

Skeleton

A set of loading placeholder components that mimic content shapes while data is being fetched.

Tree

A collapsible, keyboard-navigable tree view for hierarchical data: file trees, org charts, and nested navigation.

Timeline

A vertical step list with numbered indicators and connector lines, for ordered sequences like setup guides, onboarding flows, and activity feeds.

DataTable

A full-featured, column-definition driven data table with client-side sorting, row selection with indeterminate header checkbox, and pagination.

FunctionPlotter

An interactive 2D function plotter with pan, zoom, and support for multiple equations. Enter expressions like x^2 or 2*x+1 and see them graphed in real time.

Carousel

A compound component for cycling through a series of slides with keyboard navigation, dot indicators, and optional auto-play.

CodeBlock

A styled code block with a copy button, and an optional tabbed Preview/Code switcher for live component examples.

Formulakatex

Renders real LaTeX math notation via KaTeX, with graceful fallback rendering for invalid expressions and a MathML tree for screen readers.

Avatar

User or entity image with graceful fallback to initials, plus an overlapping AvatarGroup with a +N overflow indicator.

Attachment

A compact chip for a linked file (icon, filename, and optional size/type) with an automatic image/PDF thumbnail, plus AttachmentGroup for a wrapped row of files.

Message

A chat-style message bubble with sent/received variants and iOS-tapback-style reactions overlapping the bubble corner, a MessageReactions max/+N overflow stack like AvatarGroup, plus a source-citation use case for LLM responses.

Graphd3-force

Force-directed node/edge graph with draggable nodes, pan/zoom, hover-highlighting, and keyboard navigation.

AudioPlayer

A full-featured audio playback bar with play/pause, seeking, skip, volume, and speed controls.

Tilt

A wrapper that applies a mouse-tracking CSS 3D perspective tilt to any child element.

Separator

A thin horizontal or vertical dividing line, optionally broken up by a short text label like "OR".

Feedback

Navigation

Disclosure

Forms

Overlay

Effects

Charts

Drag & Drop

Canvas