Introduction
tweenly is a collection of animated React components built on Motion and GSAP, distributed as a shadcn registry. Try every prop live, then copy the exact code you tuned.
Copy, paste, own
Components are added to your codebase through the shadcn CLI. No package to upgrade, nothing hidden.
Tuned through props
Every timing, distance and easing is exposed as a typed prop with sensible defaults.
Respectful by default
All motion honours prefers-reduced-motion and falls back to a gentle fade or a static state.
How it works
Each component page has a live stage, a controls panel and a code panel. Change a control and the preview replays while the usage snippet updates to include exactly the props you changed. When you are happy, install the component with one command and paste the snippet.
Text
Scroll-triggered reveal with direction, distance, easing, scale and blur.
Word-by-word or character-by-character reveal with blur and stagger.
Types and deletes a list of phrases with a blinking cursor.
Cycles through words with slide, fade, blur or flip transitions.
A band of light that sweeps across text on a loop.
Counts up to a value when scrolled into view.
Buttons
Pill button with a light beam circling its edge and a soft sheen on hover.
Material-style ripples that expand from the exact point you press.
Press and hold to confirm destructive actions. A fill sweeps across while held.
Slide-to-confirm track with a draggable knob, shimmering label and keyboard support.
Heart toggle with a spring pop, ring burst, particles and a rolling counter.
Tabs with a springy pill that slides behind the active option, with arrow-key navigation.
Minus / plus stepper whose digits roll individually, with hold-to-repeat and a shake at the limits.
Toggle whose knob stretches while pressed and springs across with overshoot, with optional sun / moon icons.
A pill button that morphs into an email field, then a spinner and a drawn check on submit.
Star rating with a sweeping hover fill, half stars, and a springy pop with sparkles on select.
Interactive
Button with a GSAP clip-path fill that sweeps in on hover and focus.
Wrap anything to make it drift toward the cursor on a spring.
3D perspective tilt that follows the pointer, with optional glare.
Card with a radial spotlight and glowing border that track the cursor.
Custom cursors: ring, dot, blend, crosshair, sparkle trail, and sunflower or rose that shed petals.
Swipeable list rows with iOS-style reveal actions, full-swipe commits and floating cards. Removed rows fly off and the rest glide into place.
Navigation
Five minimal, animated navigation bars: glass pill, scroll morph, sliding underline, dynamic island mega-menu and full-screen overlay.
Scroll-synced "On This Page" sidebar with a plane that flies along the heading trail, a sliding rail, or a spotlight list.
Route transitions for the App Router: a provider covers the page, navigates, waits for the new route to render, then reveals it. Curtain, stairs, iris from the click point, card-deck slide and blinds.
Forms
Feedback
Three loading animations: bouncing dots, equalizer bars and an orbit spinner.
Button that morphs from Download to a live progress fill and a drawn check mark.
Full-screen loader with a counting percentage and rotating quotes that reveals the page at 100%.
High-performance canvas confetti with bursts, cannons, fireworks, rain and streams. Ships an imperative confetti() function, a useConfetti hook, a button and a declarative component.
Website intro loader orchestrated with GSAP timelines. Five exits: staggered stairs, rolling odometer, flashing greetings with a curved sweep, an iris that opens from a tick dial, and blinds.
Layout-animated notifications as a Sonner-style stack, inbox list, dynamic island or timeline cards, with swipe to dismiss and pausable timers.
Charts
Multi-series line and area chart from plain row data, with draw-in lines, halftone fills, a snapping crosshair tooltip and a toggleable legend.
Grouped or stacked bar chart, vertical or horizontal, with springy staggered growth, textured series, hover highlight and a toggleable legend.
Donut, pie or gauge from your rows. Slices sweep in one after another, re-flow when toggled from the legend and pop out on hover.
Concentric progress rings against per-row goals. Rings fill with a springy stagger, numbers count up and overshoot draws a second lap.
Spider chart comparing series across axes. The grid draws in, polygons spring out from the center and hovering an axis lists every value.
Stat card with a count-up headline, delta pill, halftone sparkline with scrubbing, and an optional goal bar.
GitHub-style contribution calendar with hatched empty days, a diagonal reveal wave, and hover tooltips.
Progress toward a real target: a wavy, grainy fill over a hatched remainder, with a thermometer marker, quota line and stacked segments.
Dot matrix of filled versus hatched units with a partial last dot, spring wave in fill order, and a huge count-up figure.
Media
Renders any image as ASCII art, with a glittering pixel trail under the cursor.
Inline keyword that reveals a floating image or video following the cursor.
One image rises from below, then the rest slide out from under it into an overlapping fan.
Images on a half-circle wheel that turns on its own or with the scroll.
Scroll
Pins the section and reveals text as you scroll. The page resumes once the reveal completes.
Pins a row of images and scrolls it sideways with the page, then releases to normal scroll.
Images fly in from their own direction as they scroll into view.
A row of small thumbnails where each one grows large in turn as you scroll.
A column of images where the one in the center grows, with a title list that stays in sync.
A stack of same-size cards pinned on scroll. The front card lifts away, then the next, one by one.
Layout
Cards
Full-bleed product card with a swipeable image carousel, glass pills, rolling price and an add-to-cart button that morphs into a quantity stepper.
Collectible postage stamp with real perforated edges, 3D tilt and glare, and an inked postmark that stamps down on click.
A sealed envelope that opens on click, hover or scroll: the seal pops, the flap swings open and the letter slides out and unfolds.
Sections
Four premium, minimal footers: a sticky reveal uncovered as the page scrolls away, a giant kinetic wordmark, classic columns with a newsletter, and a curtain panel that expands to full bleed with a magnetic CTA.
Animated FAQ accordion in four styles, with height-auto reveals, a live filter that collapses non-matching items and full keyboard support.
Five playful 404 sections with a giant status code as the hero: a cursor-following eyeball, a flashlight in a dark room, throwable digit tiles, an orbiting moon and a decoding error log.
Get new components in your inbox
One short email when new components ship. No spam, unsubscribe anytime.