B
starc007
/
ui-components
/
components
Files
Code
Info
Action Swap Blur
action-swap-blur
Copy-button style swap with blur, opacity and scale.
Action Swap Cascade
action-swap-cascade
Letter-by-letter slot roll — the old label's letters drop away as the new ones land, left to right.
Action Swap Roll
action-swap-roll
The next text or icon rolls in from below with blur.
Agent Activity
agent-activity
One adaptive activity stream for reasoning, searches, tool calls, structured execution traces, or a chronological mix.
Agent Loading States Agent Progress
agent-progress
A compact activity glyph, action verb, and live tabular timer for longer-running agent work.
AI Sidebar
ai-sidebar
A collapsible AI workspace sidebar for folders, projects, files, and bookmarks with keyboard navigation, optimistic moves, inline rename, and overflow-aware labels.
Animated Badge
animated-badge
Status badge with animated state icons, pulse feedback and compact size variants.
Number Animation Animated Number
animated-number
Spring-driven count-up triggered when in view.
Animated Sidebar
animated-sidebar
A composable application sidebar with morphing nested navigation that folds into an animated icon rail on desktop and becomes a focus-managed sheet on mobile.
Animated Toast Stack
animated-toast-stack
Stacked toasts with status morphs, swipe dismissal, actions and layout-aware motion.
Approval Card
approval-card
A human-in-the-loop decision surface for approvals, single or multiple-choice questions, custom responses, and multi-step review flows.
Bottom Sheet
bottom-sheet
Vaul-inspired draggable bottom sheet with snap points, inertia and glass surface.
Bounce Sidebar
bounce-sidebar
A vertical sidebar whose active dot jumps between destinations on a curved, spring-loaded path.
Bouncy Accordion
bouncy-accordion
Single-open accordion with weighted spring layout, icon rows and reduced-motion-safe content reveals.
Button Button
button-base
Press scale, hover lift, variants and sizes.
Button Magnetic Button
button-magnetic
Button composed with the Magnetic wrapper for cursor-attracted pull.
Button Metallic Button
button-metallic
A neutral button surface framed by a pronounced chrome rim with a straight traveling reflection.
Button Stateful Button
button-stateful
Idle → loading → success / error with blur-swap slots and morphing width.
Center Morph Modal
center-morph-modal
A composable modal whose full-size surface unfolds from its exact center toward every edge, then folds back the same way with an inset close control.
Chat App
chat-app
A complete agent conversation workspace composing navigation, messages, streaming, planning, approvals, tools, code, diffs, generated media, sources, and prompt input.
Checkbox
checkbox
Form choice control with a draw-on checkmark, spring press feedback and indeterminate state support.
Text Animation Dia Text Animation
chromatic-text-reveal
A Dia-inspired text effect with a fixed sentence prefix and a cycling final word revealed by a colorful sweep.
Citations
citations
Inline citation markers paired with a collapsible, progressively rendered reference collection for grounded agent responses.
Code Block
code-block
A syntax-highlighted code surface with stable streaming updates, line numbers, focused lines, smooth following, and copy feedback.
Combobox
combobox
Searchable combobox with a morphing portal, grouped filtering, keyboard navigation, and controlled or uncontrolled state.
Animated Context Menu
context-menu
Composable context-menu primitives with a pointer-origin clip morph, a gliding active row, checkbox and radio choices, keyboard navigation, typeahead, and long-press support.
Cylinder Carousel
cylinder-carousel
A carousel whose items line the inside of a cylinder, receding into the center and growing toward the edges. Drag, scroll or arrow-key to roll it, with a springy glide and snap. Reduced-motion drops the glide.
Dock
dock
macOS-style dock with grouped actions and a gliding active pill.
Drawer
drawer
Side panel that slides in from the left or right with a spring, backdrop blur, body scroll lock and esc-to-close.
Expandable Control
expandable-control
Click-to-expand button and chip controls that reveal a label or trailing action through spring layout continuity.
Animated CTA Buttons Expanding Arrow Button
expanding-arrow-button
An accent tile that expands into a dotted-arrow trail on hover or focus.
File Diff
file-diff
A syntax-highlighted file change disclosure with progressive rows, line numbers, live change counts, smooth following, and completion collapse.
File Tree
file-tree
Composable file and folder primitives with springing branches, a gliding selection, and complete keyboard navigation.
Animated CTA Buttons Hold Action Button
hold-action-button
Hold to complete with a vertical or horizontal liquid fill; release early to cancel.
Image Generation
image-generation
A stable generated-image surface that moves from queued work through progressive refinement to a completed result without layout shift.
Input
input
Text input with label, left/right icons, optional stable error row, error shake and success check draw.
Loader
loader
Loading indicator with seventeen variants: spinner, dots, bars, dot-matrix, dither, morph, comet, scramble, metaballs, newton, helix, percent, and five terminal-style ascii spinners. Scales from one size prop, uses currentColor, and reduced-motion swaps every transform for a calm opacity pulse.
Marquee
marquee
Infinite horizontal or vertical scroll with pause-on-hover.
Message
message
Composable conversation primitives for message rows, grouped bubbles, avatars, metadata, live markers, and a mount-only trailing-edge pop-up for newly sent rows.
Message Bubble
message-bubble
A focused conversational surface with visual tones, independent alignment, grouped messages, expandable content, and interactive link or button support.
Message Scroller
message-scroller
A reader-aware conversation viewport that follows streamed output at the live edge and releases control when the reader moves away.
Morphing Modal
morphing-modal
Family-app-style modal. A single panel that morphs its height as you navigate between inner views, with blur cross-fade on content.
Number Animation Number Ticker
number-ticker
Slot-machine rolling digits with staggered entry.
Scroll Animation Parallax
parallax
Wrapper that drifts its children at a speed factor as they cross the viewport, on either axis. Reduced-motion safe.
Popover Gooey Popover
popover
Composable Popover, PopoverTrigger, PopoverContent; the panel oozes out of the trigger through an SVG goo filter with a liquid neck, crisp content fading in on top. Click or hover, controlled or uncontrolled.
Popover Morph Popover
popover-morph
Composable MorphPopover, MorphPopoverTrigger, MorphPopoverContent; the panel is laid out full size but clipped to the corner nearest the trigger, then unclips as one piece — a single-surface morph with a drop-shadow that hugs the shape. Side/align aware, controlled or uncontrolled.
Preview Rail
preview-rail
Codex app-inspired navigation rail with compact ticks that form a hover pyramid and reveal a floating destination preview.
Prompt Input
prompt-input
An auto-growing agent composer with prompt actions, model selection, keyboard submission, and animated send and stop states.
Pull to Refresh
pull-to-refresh
Native-feeling pull-to-refresh container with drag resistance, threshold feedback and async refresh handling.
Radio Group
radio
Single-select choice control with a gliding layoutId indicator dot and spring press feedback.
Range Slider Range Slider
range-slider
Tick dots, and a vertical-bar thumb that bounces as it lands on each step.
Range Slider Bubble Slider
range-slider-bubble
Grab the thumb and a value bubble pops out of it. The bubble tilts and squashes with how fast you drag, then settles upright.
Range Slider Fluid Slider
range-slider-fluid
No thumb. The fill slides behind a rounded liquid cap, and the label flips color wherever the fill covers it.
Range Slider Ruler Slider
range-slider-ruler
The needle stays put and the scale scrolls under it. A flick keeps going and settles on the nearest tick. Fractional steps read at the step's own precision.
Range Slider Wave Slider
range-slider-wave
Equalizer bars peak around the handle and drop back once it passes, so the value moves down the track as a wave.
Agent Loading States Reasoning Text
reasoning-text
Shimmering reasoning copy with an ASCII loader and cascade, phrase-swap, or per-letter scramble transitions.
Scroll Animation Scroll Progress
scroll-progress
Reading-progress indicator — fixed bar or circular ring — driven by scroll position via useSmoothScroll, with spring smoothing.
Scroll Animation Scroll Reveal
scroll-reveal
Reveals its children with a spring slide and blur as they enter the viewport, once or every time. Reduced-motion keeps a fade.
Scroll Animation Scroll To
scroll-to
Button that smooth-scrolls to a target (offset, selector or element) via the active SmoothScroll provider; reduced-motion jumps instantly.
Select Select
select
Composable primitives (Select, SelectTrigger, SelectValue, SelectContent, SelectItem); the panel pinches off the trigger and separates, with staggered items. Position-aware (opens upward when needed).
Select Morph Select
select-morph
Composable primitives (MorphSelect, MorphSelectTrigger, MorphSelectValue, MorphSelectContent, MorphSelectItem) where the trigger morphs into the panel via a shared layoutId — one continuous surface that grows open and shrinks back, never detaching.
Shader Background
shader-background
Canvas shader backgrounds (mesh gradient, grain, warp, waves, voronoi, dot orbit and more) with a single typed variant prop. Reduced-motion freezes animated variants.
Shared Layout Background
shared-layout-bg
A pill that glides between hovered items via motion's shared layout, with blur enter/exit.
Animated CTA Buttons Slide Action Button
slide-action-button
Drag the thumb to the end to confirm an action; release early to spring back.
Scroll Animation Smooth Scroll
smooth-scroll
Smooth-scroll provider over Lenis with a useSmoothScroll hook exposing scroll offset, progress and velocity. Reduced-motion safe.
Streaming Response
streaming-response
A stable response surface with completion actions, rendered content, and an expandable source summary.
Switch
switch
Toggle with a spring-driven thumb and press feedback.
Table Data Table
table
10k virtualized rows with sortable headers, row selection, column resize and reorder.
Table Async Table
table-async
Loads pages on demand — skeleton rows on first load, then infinite scroll via onEndReached as the virtualized list nears the bottom.
Table Editable Table
table-editable
Edit cells inline and insert or delete rows and columns via border handles; the table re-renders from the updated data and column defs.
Tabs
tabs
Pill, segment or underline tabs with a spring layoutId indicator.
Text Animation Text Cascade
text-cascade
Letter-by-letter slot roll for standalone text — old letters drop away as new ones land, left to right.
Text Animation Text Reveal
text-reveal
Word or character reveal with spring slide-up and blur.
Text Animation Text Scramble
text-scramble
A controlled character scramble that resolves changed text while keeping its final value accessible.
Text Animation Text Shimmer
text-shimmer
Gradient sweep across text for loading or emphasis.
Theme Toggle
theme-toggle
Theme toggle button that repaints the whole page through the View Transition API — a rectangle or circle clip-path reveal, or slats that open across the screen like a shutter.
Agent Loading States Thinking Shimmer
thinking-shimmer
A quiet shimmer that keeps the agent's current status readable while work continues.
Tilt Card
tilt-card
3D perspective tilt on hover with cursor-tracked glare.
Todo List
todo-list
A collapsible agent task plan with morphing status marks, a completion count, compact metadata, and smooth list updates.
Tool Approval
tool-approval
A human-in-the-loop permission card for reviewing tool details, allowing once, remembering access, or denying execution.
Tool Result
tool-result
A lightweight execution disclosure for syntax-highlighted terminal output and request responses that collapses into a compact completed state.
Tooltip
tooltip
Hover or focus tooltip with blur enter/exit and spring spawn.
Wheel Picker
wheel-picker
iOS-style picker wheel: a 3D drum on native momentum scroll that snaps to the nearest notch, with wheel, drag and keyboard control. Composes side by side for date and time pickers, reduced-motion safe.
Select a component to view its code
Click on any item in the sidebar to get started
Select a component to view its information
Action Swap Blur
action-swap-blur
Copy-button style swap with blur, opacity and scale.
Action Swap Cascade
action-swap-cascade
Letter-by-letter slot roll — the old label's letters drop away as the new ones land, left to right.
Action Swap Roll
action-swap-roll
The next text or icon rolls in from below with blur.
Agent Activity
agent-activity
One adaptive activity stream for reasoning, searches, tool calls, structured execution traces, or a chronological mix.
Agent Loading States Agent Progress
agent-progress
A compact activity glyph, action verb, and live tabular timer for longer-running agent work.
AI Sidebar
ai-sidebar
A collapsible AI workspace sidebar for folders, projects, files, and bookmarks with keyboard navigation, optimistic moves, inline rename, and overflow-aware labels.
Animated Badge
animated-badge
Status badge with animated state icons, pulse feedback and compact size variants.
Number Animation Animated Number
animated-number
Spring-driven count-up triggered when in view.
Animated Sidebar
animated-sidebar
A composable application sidebar with morphing nested navigation that folds into an animated icon rail on desktop and becomes a focus-managed sheet on mobile.
Animated Toast Stack
animated-toast-stack
Stacked toasts with status morphs, swipe dismissal, actions and layout-aware motion.
Approval Card
approval-card
A human-in-the-loop decision surface for approvals, single or multiple-choice questions, custom responses, and multi-step review flows.
Bottom Sheet
bottom-sheet
Vaul-inspired draggable bottom sheet with snap points, inertia and glass surface.
Bounce Sidebar
bounce-sidebar
A vertical sidebar whose active dot jumps between destinations on a curved, spring-loaded path.
Bouncy Accordion
bouncy-accordion
Single-open accordion with weighted spring layout, icon rows and reduced-motion-safe content reveals.
Button Button
button-base
Press scale, hover lift, variants and sizes.
Button Magnetic Button
button-magnetic
Button composed with the Magnetic wrapper for cursor-attracted pull.
Button Metallic Button
button-metallic
A neutral button surface framed by a pronounced chrome rim with a straight traveling reflection.
Button Stateful Button
button-stateful
Idle → loading → success / error with blur-swap slots and morphing width.
Center Morph Modal
center-morph-modal
A composable modal whose full-size surface unfolds from its exact center toward every edge, then folds back the same way with an inset close control.
Chat App
chat-app
A complete agent conversation workspace composing navigation, messages, streaming, planning, approvals, tools, code, diffs, generated media, sources, and prompt input.
Checkbox
checkbox
Form choice control with a draw-on checkmark, spring press feedback and indeterminate state support.
Text Animation Dia Text Animation
chromatic-text-reveal
A Dia-inspired text effect with a fixed sentence prefix and a cycling final word revealed by a colorful sweep.
Citations
citations
Inline citation markers paired with a collapsible, progressively rendered reference collection for grounded agent responses.
Code Block
code-block
A syntax-highlighted code surface with stable streaming updates, line numbers, focused lines, smooth following, and copy feedback.
Combobox
combobox
Searchable combobox with a morphing portal, grouped filtering, keyboard navigation, and controlled or uncontrolled state.
Animated Context Menu
context-menu
Composable context-menu primitives with a pointer-origin clip morph, a gliding active row, checkbox and radio choices, keyboard navigation, typeahead, and long-press support.
Cylinder Carousel
cylinder-carousel
A carousel whose items line the inside of a cylinder, receding into the center and growing toward the edges. Drag, scroll or arrow-key to roll it, with a springy glide and snap. Reduced-motion drops the glide.
Dock
dock
macOS-style dock with grouped actions and a gliding active pill.
Drawer
drawer
Side panel that slides in from the left or right with a spring, backdrop blur, body scroll lock and esc-to-close.
Expandable Control
expandable-control
Click-to-expand button and chip controls that reveal a label or trailing action through spring layout continuity.
Animated CTA Buttons Expanding Arrow Button
expanding-arrow-button
An accent tile that expands into a dotted-arrow trail on hover or focus.
File Diff
file-diff
A syntax-highlighted file change disclosure with progressive rows, line numbers, live change counts, smooth following, and completion collapse.
File Tree
file-tree
Composable file and folder primitives with springing branches, a gliding selection, and complete keyboard navigation.
Animated CTA Buttons Hold Action Button
hold-action-button
Hold to complete with a vertical or horizontal liquid fill; release early to cancel.
Image Generation
image-generation
A stable generated-image surface that moves from queued work through progressive refinement to a completed result without layout shift.
Input
input
Text input with label, left/right icons, optional stable error row, error shake and success check draw.
Loader
loader
Loading indicator with seventeen variants: spinner, dots, bars, dot-matrix, dither, morph, comet, scramble, metaballs, newton, helix, percent, and five terminal-style ascii spinners. Scales from one size prop, uses currentColor, and reduced-motion swaps every transform for a calm opacity pulse.
Marquee
marquee
Infinite horizontal or vertical scroll with pause-on-hover.
Message
message
Composable conversation primitives for message rows, grouped bubbles, avatars, metadata, live markers, and a mount-only trailing-edge pop-up for newly sent rows.
Message Bubble
message-bubble
A focused conversational surface with visual tones, independent alignment, grouped messages, expandable content, and interactive link or button support.
Message Scroller
message-scroller
A reader-aware conversation viewport that follows streamed output at the live edge and releases control when the reader moves away.
Morphing Modal
morphing-modal
Family-app-style modal. A single panel that morphs its height as you navigate between inner views, with blur cross-fade on content.
Number Animation Number Ticker
number-ticker
Slot-machine rolling digits with staggered entry.
Scroll Animation Parallax
parallax
Wrapper that drifts its children at a speed factor as they cross the viewport, on either axis. Reduced-motion safe.
Popover Gooey Popover
popover
Composable Popover, PopoverTrigger, PopoverContent; the panel oozes out of the trigger through an SVG goo filter with a liquid neck, crisp content fading in on top. Click or hover, controlled or uncontrolled.
Popover Morph Popover
popover-morph
Composable MorphPopover, MorphPopoverTrigger, MorphPopoverContent; the panel is laid out full size but clipped to the corner nearest the trigger, then unclips as one piece — a single-surface morph with a drop-shadow that hugs the shape. Side/align aware, controlled or uncontrolled.
Preview Rail
preview-rail
Codex app-inspired navigation rail with compact ticks that form a hover pyramid and reveal a floating destination preview.
Prompt Input
prompt-input
An auto-growing agent composer with prompt actions, model selection, keyboard submission, and animated send and stop states.
Pull to Refresh
pull-to-refresh
Native-feeling pull-to-refresh container with drag resistance, threshold feedback and async refresh handling.
Radio Group
radio
Single-select choice control with a gliding layoutId indicator dot and spring press feedback.
Range Slider Range Slider
range-slider
Tick dots, and a vertical-bar thumb that bounces as it lands on each step.
Range Slider Bubble Slider
range-slider-bubble
Grab the thumb and a value bubble pops out of it. The bubble tilts and squashes with how fast you drag, then settles upright.
Range Slider Fluid Slider
range-slider-fluid
No thumb. The fill slides behind a rounded liquid cap, and the label flips color wherever the fill covers it.
Range Slider Ruler Slider
range-slider-ruler
The needle stays put and the scale scrolls under it. A flick keeps going and settles on the nearest tick. Fractional steps read at the step's own precision.
Range Slider Wave Slider
range-slider-wave
Equalizer bars peak around the handle and drop back once it passes, so the value moves down the track as a wave.
Agent Loading States Reasoning Text
reasoning-text
Shimmering reasoning copy with an ASCII loader and cascade, phrase-swap, or per-letter scramble transitions.
Scroll Animation Scroll Progress
scroll-progress
Reading-progress indicator — fixed bar or circular ring — driven by scroll position via useSmoothScroll, with spring smoothing.
Scroll Animation Scroll Reveal
scroll-reveal
Reveals its children with a spring slide and blur as they enter the viewport, once or every time. Reduced-motion keeps a fade.
Scroll Animation Scroll To
scroll-to
Button that smooth-scrolls to a target (offset, selector or element) via the active SmoothScroll provider; reduced-motion jumps instantly.
Select Select
select
Composable primitives (Select, SelectTrigger, SelectValue, SelectContent, SelectItem); the panel pinches off the trigger and separates, with staggered items. Position-aware (opens upward when needed).
Select Morph Select
select-morph
Composable primitives (MorphSelect, MorphSelectTrigger, MorphSelectValue, MorphSelectContent, MorphSelectItem) where the trigger morphs into the panel via a shared layoutId — one continuous surface that grows open and shrinks back, never detaching.
Shader Background
shader-background
Canvas shader backgrounds (mesh gradient, grain, warp, waves, voronoi, dot orbit and more) with a single typed variant prop. Reduced-motion freezes animated variants.
Shared Layout Background
shared-layout-bg
A pill that glides between hovered items via motion's shared layout, with blur enter/exit.
Animated CTA Buttons Slide Action Button
slide-action-button
Drag the thumb to the end to confirm an action; release early to spring back.
Scroll Animation Smooth Scroll
smooth-scroll
Smooth-scroll provider over Lenis with a useSmoothScroll hook exposing scroll offset, progress and velocity. Reduced-motion safe.
Streaming Response
streaming-response
A stable response surface with completion actions, rendered content, and an expandable source summary.
Switch
switch
Toggle with a spring-driven thumb and press feedback.
Table Data Table
table
10k virtualized rows with sortable headers, row selection, column resize and reorder.
Table Async Table
table-async
Loads pages on demand — skeleton rows on first load, then infinite scroll via onEndReached as the virtualized list nears the bottom.
Table Editable Table
table-editable
Edit cells inline and insert or delete rows and columns via border handles; the table re-renders from the updated data and column defs.
Tabs
tabs
Pill, segment or underline tabs with a spring layoutId indicator.
Text Animation Text Cascade
text-cascade
Letter-by-letter slot roll for standalone text — old letters drop away as new ones land, left to right.
Text Animation Text Reveal
text-reveal
Word or character reveal with spring slide-up and blur.
Text Animation Text Scramble
text-scramble
A controlled character scramble that resolves changed text while keeping its final value accessible.
Text Animation Text Shimmer
text-shimmer
Gradient sweep across text for loading or emphasis.
Theme Toggle
theme-toggle
Theme toggle button that repaints the whole page through the View Transition API — a rectangle or circle clip-path reveal, or slats that open across the screen like a shutter.
Agent Loading States Thinking Shimmer
thinking-shimmer
A quiet shimmer that keeps the agent's current status readable while work continues.
Tilt Card
tilt-card
3D perspective tilt on hover with cursor-tracked glare.
Todo List
todo-list
A collapsible agent task plan with morphing status marks, a completion count, compact metadata, and smooth list updates.
Tool Approval
tool-approval
A human-in-the-loop permission card for reviewing tool details, allowing once, remembering access, or denying execution.
Tool Result
tool-result
A lightweight execution disclosure for syntax-highlighted terminal output and request responses that collapses into a compact completed state.
Tooltip
tooltip
Hover or focus tooltip with blur enter/exit and spring spawn.
Wheel Picker
wheel-picker
iOS-style picker wheel: a 3D drum on native momentum scroll that snaps to the nearest notch, with wheel, drag and keyboard control. Composes side by side for date and time pickers, reduced-motion safe.
Select a component to view its code
Click on any item in the sidebar to get started
Select a component to view its information