Button
Primary action button with variants (primary, accent, secondary, ghost, soft, danger) and a loading state.
The library
Every card below is the real component, running. Open one for its source, install command and dependencies. Flip the theme in the header and watch everything retint.
Buttons, chips, toggles and keys.
Primary action button with variants (primary, accent, secondary, ghost, soft, danger) and a loading state.
Selectable, removable filter chip.
A copy button that confirms itself: the clipboard icon folds into a tick and a ring pulses outward.
Keyboard key cap for shortcuts.
Small status label with semantic pastel tones and an optional live dot.
Hairline divider, horizontal or vertical.
A button with a main action and a menu of related ones tucked behind a chevron.
A button that carries a task from start to finish: it shrinks to a spinner, then lands on a tick or a cross.
Two-state pressed button, plus a connected multi-select ToggleGroup.
Inputs that share one focus language.
A textarea that grows with what you write and shows how much room is left as a ring.
Month grid date picker. Months slide in the direction you navigate; days respond to press.
Native checkbox with an animated check and an optional label.
A select you can type into: the list narrows as you write, and the arrow keys and Enter pick a row.
Drag-and-drop file target that also opens the file picker on click.
Text input, textarea, label and Field wrapper sharing one focus language.
Numeric stepper with min/max clamping.
One-time-code input with auto-advance, backspace and paste support.
Password input with a show/hide toggle.
Single-choice group built on native radio inputs.
A slider with two handles for choosing a range, with an optional histogram of where the values sit.
Star rating with hover preview. Use readOnly to display a score.
Search input with a leading icon and a clear button.
Native select with the shared field styling and a custom caret.
Range slider with an accent fill, built on a native range input.
On/off switch with an accent track and sprung thumb.
Free-form tag entry. Enter or comma adds, Backspace removes the last.
Status without shouting.
Inline status message with tone, icon and optional title.
Announcement bar with optional action. Slides in, and fades out when dismissed.
Quiet note with an accent rule, lighter than a filled alert.
Empty state with icon, copy and an optional call to action.
A dial gauge: coloured bands, a ticked scale and a needle that swings to the value and overshoots a little.
Segmented gauge for a value within a known range.
Notification row with an unread dot, title, body and timestamp.
Determinate progress bar with an optional label and percentage.
A circular progress indicator with room in the middle: a smooth ring, or a dial of ticks that light up.
Loading placeholder with a soft shimmer sweep.
Indeterminate loading ring. Inherits `currentColor`.
A status mark that draws itself: a ring sweeps round, then a tick, cross or exclamation is written inside it.
Cards, tables, stats and code.
A smooth area chart with a crosshair tooltip you can drive with a pointer or the arrow keys.
Locks children to a width-to-height ratio.
Round avatar with image, graceful initials fallback and a stackable group.
A bar chart that grows into place when it scrolls into view, with grouped or stacked bars and a hover card.
Surface container with header, content and footer slots.
Code panel with lightweight syntax highlighting and one-click copy.
Color chip with a name and token value. Click to copy the value.
Two-sided proportion bar for comparing a pair of values.
A donut chart whose slices sweep in, lift when you point at them, and report their share in the middle.
An activity heatmap in the style of a contribution graph: one cell per day, shaded by how much happened.
Bordered list of rows with title, description, leading and trailing slots.
Split panels with draggable dividers, laid out side by side or stacked.
Height-limited scroll container with a slim scrollbar.
A list you reorder by dragging. The other rows glide out of the way and the dropped row settles into place.
A tiny trend line for dropping into a table cell or a stat: smooth, gradient-filled, with a live end point.
Metric tile with a value and an optional trend delta.
Data table with a quiet header and row hover.
Dialogs, sheets, menus and command.
Command palette: type to filter, arrows to move, Enter to run.
A right-click menu for any area: it opens at the pointer, stays on screen, and works from the keyboard.
Modal dialog: portaled, focus-trapping, animated in and out, Escape to close.
A bottom sheet for touch: drag it between snap points, fling it down to dismiss, tap the handle to step through.
Action menu: arrow-key navigation, staggered items, animates in and out.
A photo grid whose pictures open full screen by growing out of their own place, and shrink back on close.
Anchored panel: click to open, animates in and out, Escape or outside click closes.
Edge-anchored panel that slides in and out. Settings, filters, detail views.
Toast stack. Wrap your app in ToastProvider, call useToast().toast(...).
Hover and focus tooltip: pure CSS, short open delay, scales and slides in.
A guided product tour: the page dims, a spotlight glides to each element in turn, and a card explains it.
The memorable pieces: 3D, magnetic, tactile.
A living orb for voice and AI moments: a glass sphere whose inside swirls faster as it moves from idle to speaking.
Outlined button that floods with ink on hover while the arrow slides.
A glowing, colour-shifting border that runs around its content: the look of an assistant that is thinking.
Content that resolves from blur and a slight drop as it enters the viewport.
A page that physically turns over its spine to reveal the next.
Radial menu: a button that fans its actions out in a circle.
A colour picker with a saturation field, hue and opacity strips, a hex field and an eyedropper.
A burst of confetti that tumbles, flips and drifts down, drawn on a canvas that spans the screen.
Number that eases up from zero the first time it scrolls into view.
The classic cover-flow browser: a row of covers in 3D, the middle one facing you and the rest angled away.
A six-sided die in real 3D. Click it and it tumbles, bounces, and settles on a number.
A photograph reduced to two colours with ordered dithering, which a lens of full colour dissolves through.
macOS-style dock: icons magnify smoothly with distance from the cursor.
An interactive dotted globe you drag to spin, with pulsing markers and animated arcs.
Dot-matrix surface that lights up under the cursor.
A pill that flows between states, resizing and cross-fading its content with a soft overshoot.
Grains of sand that fall, slide down each other and pile up at the natural angle of repose.
Two-sided card that turns over on click or Enter.
Thousands of tiny particles riding an invisible wind, leaving long soft trails that curl into ribbons.
Folder that opens to let its files rise out for a peek.
A button whose actions bud off like liquid and stay fused to it.
A button you press and hold to confirm: it fills as you hold, shakes if you let go too soon, and fires when full.
A ball of pictures you can spin: tiles sit on the surface of a sphere, drift round on their own, and
A surface that holds ink: move across it and the pointer leaves a blobby trail that merges, wobbles and
Four bars that squash and stretch in sequence.
A drawing surface with mirrors: whatever you draw is repeated around the centre in several slices,
A keyboard key with real travel: it dips under your finger, springs back, and can click.
A rotary dial with ticks: drag it up and down, scroll over it, use the arrow keys, double-click to reset.
A badge hanging from a woven strap that you can grab, swing and fling, driven by a real rope simulation.
Liquid glass: a surface that bends the light behind it, with a specular rim that follows the pointer.
A blob of liquid chrome that drifts, merges and splits, and chases your cursor.
Toggle with a liquid-glass thumb that stretches under your finger and settles with a squish.
A magnifying glass that follows the pointer and enlarges whatever is under it: images, type, whole interfaces.
Tabs with a hover highlight that glides between items and a marker on the active tab.
Infinite horizontal ticker with edge fade. Pauses on hover.
Column masonry of tiles with mixed heights and optional tint.
A flowing mesh gradient drawn by a WebGL shader, with no images and no dependencies.
Mechanical rolling digits: each one is a wheel that spins to its number, right to left.
Labels circling a center point. Chips stay upright while the ring turns.
An infinite canvas: drag to pan, pinch or scroll to zoom toward the cursor, double-click to zoom in.
Text made of thousands of particles that scatter away from your cursor, spring back, and burst when you click.
A card whose corner you can lift and peel back, like a sticker, to see what is underneath.
A row of pendulums, each a hair faster than the last, that drift in and out of step to trace waves,
A plasma globe: filaments crackle from a bright core out to the glass, and bend toward your finger.
A string you can pluck: pull it and let go, or just sweep the pointer across it like a harp.
The iPadOS pointer for the web: a dot that morphs into the shape of whatever you hover, and gently pulls it toward you.
A blur that builds gradually toward an edge, with no visible line where it starts.
Bearing in degrees, 0 at the top, clockwise.
An image that ripples like liquid wherever the pointer moves: refraction, colour splitting and a glint on every crest.
3D ring carousel: drag, swipe, arrow keys, autoplay that pauses on hover.
A scratch-off foil over your content that you drag away to reveal what is underneath.
Cards that pile up as you scroll. Pure CSS (position: sticky).
A signature field with real ink: the line thins as you move fast and swells as you slow down, with no corners.
The slide-to-unlock control: drag the handle across to confirm, and it springs back if you stop short.
A mechanical departures board: every character is a pair of flaps that turn over through the alphabet.
Before/after comparison with a draggable, keyboard-accessible divider.
Surface with a soft accent light that follows the cursor.
Deck of cards. Click the top card to send it to the back.
Collectible card that tilts in 3D and catches a glare under the cursor.
A ticker that responds to you: scroll the page and it speeds up, reverses and leans into the motion.
A starfield you fly through: stars stream out of a vanishing point that follows your pointer, and
A live audio waveform: rounded bars that dance to a loudness level or to any Web Audio analyser.
The iOS wheel picker: columns that spin with real momentum, snap to a row, and curve away in 3D.
Expressive type, kept readable.
Text set along a curve that runs and bends: an arc you can pull with the pointer, a travelling wave, or a ring.
Monospace text that decodes from noise the first time it scrolls into view.
Letters roll up and swap on hover. Hover the text itself, or any `group/flip` parent.
A text glitch: colour channels tear apart, horizontal slices jump sideways, then it snaps back.
Text filled with an ink-to-accent gradient.
Marker highlight that sweeps across the text when it enters the viewport.
Each letter lifts and tints as the cursor passes over it.
Glowing neon lettering that switches on letter by letter with a stutter, then hums with the odd flicker.
Pull quote set in the display serif with an attribution line.
Cycles through any number of words with a vertical roll. Width fits the longest word.
Text that scrambles through random glyphs and resolves, on hover or focus.
Words fade, deblur and rise one after another when scrolled into view.
Inline link with a sliding underline.
Headline whose words rise out of a mask as it scrolls into view.
Muted text with a light sweep, good for “thinking…” and loading copy.
Types, pauses, deletes and cycles through phrases with a blinking caret.
Link or span whose underline draws in from the left on hover.
Type whose weight swells under the pointer: letters near it turn heavy, the rest stay light.
Presence on pointer, never noise.
Card whose border lights up in accent and gains a top rule on hover.
Rich preview card that opens on hover or focus and animates in and out.
Row of panels; the hovered or focused one grows and reveals its body.
A grid of cards lit by one light: it follows the pointer across the whole group, catching each card's edge as it passes.
Square icon button that scales its glyph and reveals a label on hover.
Inline link that reveals a floating image preview following the cursor.
An index of large titles where hovering a row floats its picture beside the cursor, tilting as you move.
Card that rises and gains depth on hover.
Card with a soft highlight that tracks the cursor across its surface.
Tile whose description slides up from beneath the title on hover.
Card that leans toward the cursor in perspective.
Button that leans toward the cursor and springs back on leave.
Link that drifts toward the cursor, with an arrow that nudges out.