Animated React components

Explore free, open-source animated React components built with Motion and Tailwind CSS. Copy the TypeScript source into your app and customize every interaction.

New

Animated Alert

Composable feedback with smooth transitions.

Animated Collapsible

Expandable content with a smooth reveal.

Aspect Ratio

Responsive media with smooth aspect ratio transitions.

Arc Picker

Radial text picker with top, bottom, left or right curves, smooth wheel movement and live selection on each scroll step. One persistent bracket frame grows and squeezes around each label. Supports drag momentum, keyboard input, disabled choices, controlled or uncontrolled values, forms and reduced motion.

Sortable List

Composable sortable list with group, item, drag handle, content and undo parts, plus a shared state hook. Spring layout, keyboard reordering, accessible position announcements, and controlled or uncontrolled items.

Image Viewer

A composable React image viewer for galleries and attachment previews, with animated lightbox variants, custom thumbnails and controls, swipe and keyboard navigation, zoom and pan, accessible focus management, and controlled or uncontrolled selection.

Date Time Picker

A compact calendar and time-wheel picker with a softly unfolding popover, AM/PM selection, local timezone readout, Now shortcut and explicit confirmation. Defaults to a 36px trigger, 32px day cells and a 480px desktop panel. Supports keyboard navigation, controlled or uncontrolled local date-time values, forms and reduced motion. Customize individual parts with classNames: trigger, content, calendar, day, selectedDay, time and confirmButton.

Date Range Picker

Composable date range picker with root, trigger, popover content, calendar, header, grid, summary, footer, clear and preset parts, plus a shared state hook. Compact inline and dropdown compositions, direct month and year selection, and full keyboard navigation.

Animated Color Selector

Composable color swatches with a spring-gliding selection ring, press feedback, native radio keyboard navigation, and controlled or uncontrolled state.

Animated Breadcrumb

Composable breadcrumb navigation with soft path transitions, a hoverable overflow dropdown for long trails, custom separators, and router-link support.

All animated components

Tilt Card

3D perspective tilt on hover with cursor-tracked glare.

Button

Spring-pressed Button plus StatefulButton, MagneticButton, and MetallicButton variants.

Animated CTA Buttons

Expressive call-to-action buttons with expanding, hold, and slide interactions.

Expandable Control

Click-to-expand button and chip controls that reveal a label or trailing action through spring layout continuity.

Adaptive Stepper

Composable numeric stepper whose fixed footprint adapts at its minimum and maximum while the value rolls between steps.

Marquee

Infinite horizontal or vertical scroll with pause-on-hover.

Tabs

Pill, segment or underline tabs with a spring layoutId indicator.

Switch

Toggle with a spring-driven thumb and press feedback.

Input

Text input with label, left/right icons, optional stable error row, error shake and success check draw.

Select

Composable select primitives whose panel bouncily unfolds out of the trigger and separates, plus a Morph variant where the trigger grows into the panel via shared layout.

Combobox

Searchable combobox with a morphing portal, grouped filtering, keyboard navigation, and controlled or uncontrolled state.

Multi Select

Composable multi-select primitives with searchable options, removable animated tokens, and a morphing collision-aware panel.

Checkbox

Form choice control with a draw-on checkmark, spring press feedback and indeterminate state support.

Radio Group

Single-select choice control with a gliding layoutId indicator dot and spring press feedback.

Bottom Sheet

Vaul-inspired draggable bottom sheet with snap points, inertia and glass surface.

Pull to Refresh

Native-feeling pull-to-refresh container with drag resistance, threshold feedback and async refresh handling.

Shared Layout Background

A pill that glides between hovered items via motion's shared layout, with blur enter/exit.

Bounce Sidebar

A vertical sidebar whose active dot jumps between destinations on a curved, spring-loaded path.

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.

File Tree

Composable file and folder primitives with springing branches, a gliding selection, and complete keyboard navigation.

Preview Rail

Codex app-inspired navigation rail with compact ticks that form a hover pyramid and reveal a floating destination preview.

Dock

macOS-style dock with grouped actions and a gliding active pill.

Tooltip

Hover or focus tooltip with blur enter/exit and spring spawn.

Animated 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.

Popover

Gooey popover whose panel oozes out of the trigger through an SVG goo filter — a liquid neck that stretches and pinches — with crisp content fading in on top, plus a Morph variant that clip-morphs open from the trigger corner. Click or hover trigger, controlled or uncontrolled.

Morphing Modal

Family-app-style modal. A body-portalled panel that morphs its height between inner views with a blur cross-fade and scroll locking through the closing animation. Exit fades stay at their final values until removal.

Center Morph Modal

A composable modal whose full-size surface unfolds from a fully collapsed center, then folds back with an inset close control and stays collapsed until removal. Keeps focus stable across updates and the page scroll-locked until the exit completes.

Text Animation

Animated text primitives for spring reveals, chromatic sweeps, shimmer loading states, letter-cascade swaps and character scrambles.

Number Animation

Animated number primitives for count-up values, rolling tickers, and fixed-slot digit swaps.

Animated Badge

Status badge with animated state icons, pulse feedback and compact size variants.

Action Swap

CTA button and slot primitives for swapping text and icons with blur motion.

Animated Toast Stack

Stacked toasts with status morphs, swipe dismissal, actions and layout-aware motion.

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.

Bouncy Accordion

Single-open accordion with weighted spring layout, icon rows and reduced-motion-safe content reveals.

Drawer

Side panel that slides in from the left or right with a spring, backdrop blur, body scroll lock and esc-to-close.

Scroll Animation

Scroll-driven motion: a Lenis smooth-scroll provider and a reading-progress indicator that reads from it.

Range Slider

Slider with tick dots and a vertical-bar thumb that bounces as it lands on each step. Drag or keyboard, reduced-motion safe.

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.

Table

Virtualized data table that stays smooth at 10k+ rows, with sortable headers, row selection, optional bulk-action headers, column resize and reorder, and a sticky header. Minimal, reduced-motion-safe motion.

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.

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.

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.