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.
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.
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 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.
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.
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.
Animated CTA Buttons Hold Action Button
hold-action-button
Hold to complete with a vertical or horizontal liquid fill; release early to cancel.
Input
input
Text input with label, left/right icons, 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.
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.
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.
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.
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 Shimmer
text-shimmer
Gradient sweep across text for loading or emphasis.
Theme Toggle
theme-toggle
Theme toggle button with a full-page rectangle clip-path reveal via the View Transition API.
Tilt Card
tilt-card
3D perspective tilt on hover with cursor-tracked glare.
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.
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.
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 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.
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.
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.
Animated CTA Buttons Hold Action Button
hold-action-button
Hold to complete with a vertical or horizontal liquid fill; release early to cancel.
Input
input
Text input with label, left/right icons, 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.
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.
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.
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.
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 Shimmer
text-shimmer
Gradient sweep across text for loading or emphasis.
Theme Toggle
theme-toggle
Theme toggle button with a full-page rectangle clip-path reveal via the View Transition API.
Tilt Card
tilt-card
3D perspective tilt on hover with cursor-tracked glare.
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