sh4dcnv2 · atlas
← libraries

@ericts

Motion-focused shadcn-compatible components, hooks, and blocks for polished React interfaces.

53 components react shadcn-cli MIT

Install this registry

shadcn (npm) npx shadcn@latest add https://ui.ericts.com/r/registry.json
pnpm pnpm dlx shadcn@latest add https://ui.ericts.com/r/registry.json
bun bunx shadcn@latest add https://ui.ericts.com/r/registry.json
fetch registry curl -s https://ui.ericts.com/r/registry.json

Components

53 total
Smooth Height ui

A Motion-powered layout primitive that observes content size and animates height changes.

npx shadcn@latest add https://ui.ericts.com/r/smooth-height.json
Copy Button ui

A shadcn Button-based clipboard control with animated copy and success states.

npx shadcn@latest add https://ui.ericts.com/r/copy-button.json
Icon Swap ui

A controlled binary icon transition with stable layout, interruptible state changes, and reduced-motion support.

npx shadcn@latest add https://ui.ericts.com/r/icon-swap.json
Like ui

A composable heart toggle with controlled and uncontrolled state, a center-out fill transition, and a miniature-heart scatter.

npx shadcn@latest add https://ui.ericts.com/r/like.json
Like Button ui

A ready-made labeled action built from the composable Like primitive.

npx shadcn@latest add https://ui.ericts.com/r/like-button.json
Status Button ui

A shadcn Button-based action that transitions through idle, loading, and success states.

npx shadcn@latest add https://ui.ericts.com/r/status-button.json
Expandable Toggle Button ui

A shadcn toggle button that expands from an icon into an icon-and-label action while keeping the icon anchored.

npx shadcn@latest add https://ui.ericts.com/r/expandable-toggle-button.json
Play Button ui

A circular media toggle whose glyph morphs between a play triangle and pause bars, with a ghost or frosted over-video surface.

npx shadcn@latest add https://ui.ericts.com/r/play-button.json
Sliding Play Button ui

A circular media toggle built from three overlapping SVG elements that compress, slide, expand, and settle together with an optional duration override.

npx shadcn@latest add https://ui.ericts.com/r/sliding-play-button.json
Floating Shortcut Button ui

A configurable floating action menu with coordinated size presets, a shrinking trigger, crossfading icon states, and staggered shortcuts.

npx shadcn@latest add https://ui.ericts.com/r/floating-shortcut-button.json
Arc Menu ui

A bottom-anchored shortcut menu that fans actions along a configurable arc while its trigger shrinks and swaps from a shortcut grid to a close icon.

npx shadcn@latest add https://ui.ericts.com/r/arc-menu.json
Status Badge ui

A compact animated badge for status labels with icon and text slot transitions.

npx shadcn@latest add https://ui.ericts.com/r/status-badge.json
Floating Select ui

A single-button floating select that expands into an animated option list.

npx shadcn@latest add https://ui.ericts.com/r/floating-select.json
Expandable Slider ui

A composable slider that stays expanded on mobile and grows from an icon button on desktop hover, focus, or drag.

npx shadcn@latest add https://ui.ericts.com/r/expandable-slider.json
Expandable Toolbar ui

A controlled or uncontrolled toolbar primitive that measures its action slot and expands from either side.

npx shadcn@latest add https://ui.ericts.com/r/expandable-toolbar.json
Check Mark ui

A pure SVG checkmark animation that draws a square or circle before the check.

npx shadcn@latest add https://ui.ericts.com/r/check-mark.json
Shy Heart ui

A resizable brand-outline heart that leans left on hover before revealing soft blush marks.

npx shadcn@latest add https://ui.ericts.com/r/shy-heart.json
Jitter ui

A jitter animation primitive plus a ready-made vibration icon.

npx shadcn@latest add https://ui.ericts.com/r/jitter.json
Squeeze ui

A squeeze animation primitive plus a ready-made SVG card icon.

npx shadcn@latest add https://ui.ericts.com/r/squeeze.json
Heartbeat ui

A Motion-powered heartbeat primitive with a projected shadow layer and reduced-motion support.

npx shadcn@latest add https://ui.ericts.com/r/heartbeat.json
Projected Shadow ui

A CSS-powered primitive that layers an element with projected and contact shadows, supports an animation opt-out, and gathers on hover or active state.

npx shadcn@latest add https://ui.ericts.com/r/projected-shadow.json
OTP Input ui

A fixed-slot one-time passcode input with paste, autofill, an error shake, and a staggered success wave.

npx shadcn@latest add https://ui.ericts.com/r/otp-input.json
Adaptive Switch ui

An accessible switch with optional state labels, three sizes, and configurable motion.

npx shadcn@latest add https://ui.ericts.com/r/adaptive-switch.json
Nav Link ui

Adds active, exact, and pending route state to Next.js App Router links, with typed routes, nested matching, and Cache Components support.

npx shadcn@latest add https://ui.ericts.com/r/nav-link.json
Highlight Tabs ui

A Motion-powered tab list with a shared highlight indicator and keyboard navigation.

npx shadcn@latest add https://ui.ericts.com/r/highlight-tabs.json
Filter Tags ui

A horizontally scrollable multi-select tag row that groups selected tags first in selection order, with responsive controls and reduced-motion support.

npx shadcn@latest add https://ui.ericts.com/r/filter-tags.json
Sliding List ui

A controlled or uncontrolled vertical list with optional initial selection, mirrored alignment, and a dot, dash, or custom icon indicator.

npx shadcn@latest add https://ui.ericts.com/r/sliding-list.json
Rail List ui

A controlled or uncontrolled horizontal selector rail with centered labels, roving focus, and an edge-underline indicator on the active item.

npx shadcn@latest add https://ui.ericts.com/r/rail-list.json
Rail Stage block

A composed content browser that pairs a scalable vertical rail with one focused stage, collapsing to a scrollable strip on small screens.

npx shadcn@latest add https://ui.ericts.com/r/rail-stage.json
Mermaid Diagram block

A responsive Mermaid rendering surface with streaming and error states, repair hooks, and an accessible pan-and-zoom fullscreen viewer.

npx shadcn@latest add https://ui.ericts.com/r/mermaid-diagram.json
Expandable Segmented Tabs ui

A Motion-powered segmented tab list for switching modes or views, with an active tab that expands from icon-only into a label.

npx shadcn@latest add https://ui.ericts.com/r/expandable-segmented-tabs.json
Expandable Tabs ui

A DynamicIsland-style toolbar whose icon tabs expand into actionable menu or content panels, with full keyboard and ARIA support.

npx shadcn@latest add https://ui.ericts.com/r/expandable-tabs.json
Expandable Panel ui

A floating panel that grows from a compact icon trigger and holds arbitrary content.

npx shadcn@latest add https://ui.ericts.com/r/expandable-panel.json
Navigation Menu ui

A Base UI navigation menu with centered popups, animated viewport sizing, and shadcn-style composition.

npx shadcn@latest add https://ui.ericts.com/r/navigation-menu.json
Text Morph ui

A Motion-powered text primitive that morphs matching characters between string updates.

npx shadcn@latest add https://ui.ericts.com/r/text-morph.json
Timer ui

Countdown and count-up timers with optional controls, accurate deadline tracking, customizable digit slots, and opt-out motion.

npx shadcn@latest add https://ui.ericts.com/r/timer.json
Expandable Dialog ui

A shared-layout dialog that expands list items into an accessible detail view.

npx shadcn@latest add https://ui.ericts.com/r/expandable-dialog.json
Context Cursor ui

A scoped custom cursor for pointer-rich surfaces where each target can register its own label, icon, and interaction intent.

npx shadcn@latest add https://ui.ericts.com/r/context-cursor.json
Feedback Popover ui

A Motion-powered feedback popover that expands from a trigger, supports keyboard submission, and confirms receipt inline.

npx shadcn@latest add https://ui.ericts.com/r/feedback-popover.json
Multi-Step Flow ui

A Motion-powered multi-step container that slides between steps and animates height changes.

npx shadcn@latest add https://ui.ericts.com/r/multi-step.json
Adaptive Drawer ui

A shadcn Drawer that measures panel content and animates height changes.

npx shadcn@latest add https://ui.ericts.com/r/adaptive-drawer.json
Staggered Entrance ui

A CSS-powered staggered entrance primitive for lists, cards, steps, rows, and search results.

npx shadcn@latest add https://ui.ericts.com/r/staggered-entrance.json
Scroll Expand & Focus Hero block

An art-directed scroll hero that expands a detail into context or focuses a full-bleed scene into a discovery.

npx shadcn@latest add https://ui.ericts.com/r/scroll-expand.json
Ripple Scene Gallery block

An immersive scene selector whose photo lifts into a travelling corrugated wave, swapping to the next scene at the crest before settling flat.

npx shadcn@latest add https://ui.ericts.com/r/ripple-scene.json
Vertical Scene Gallery block

A direction-aware gallery that reveals later scenes from below and earlier scenes from above with a paired vertical image transition.

npx shadcn@latest add https://ui.ericts.com/r/vertical-scene.json
Deck Lift block

A screen whose resting card deck lifts to the top, drops the sheet away, and pulls a full page of detail up behind it, then swipes card by card.

npx shadcn@latest add https://ui.ericts.com/r/deck-lift.json
useScrollProgress hook

A render-free vertical scroll progress hook for window or element scrollers with optional time-based smoothing.

npx shadcn@latest add https://ui.ericts.com/r/use-scroll-progress.json
useSwipeNavigation hook

A touch-first React hook for previous and next navigation with configurable feedback, live gesture progress, direction locking, ownership, and reduced-motion s…

npx shadcn@latest add https://ui.ericts.com/r/use-swipe-navigation.json
useSequencePlayer hook

A client-safe React hook that spotlights one scripted animation sequence at a time, pausing off-screen, on hidden tabs, while focused, and under reduced motion.

npx shadcn@latest add https://ui.ericts.com/r/use-sequence-player.json
useReducedMotion hook

A client-safe React hook for reading prefers-reduced-motion and reacting to preference changes.

npx shadcn@latest add https://ui.ericts.com/r/use-reduced-motion.json
useElementHeight hook

A client-safe React hook that measures an element's height with ResizeObserver so a container can animate between content heights.

npx shadcn@latest add https://ui.ericts.com/r/use-element-height.json
useElementSizeMap hook

A client-safe React hook that measures multiple keyed element sizes with ResizeObserver so animated shells can morph to active content.

npx shadcn@latest add https://ui.ericts.com/r/use-element-size-map.json
useScrollAnchor hook

A client-safe React hook that parks a selected item at a fixed anchor point in a scroll container, with a configurable easing and duration — the click-to-scrol…

npx shadcn@latest add https://ui.ericts.com/r/use-scroll-anchor.json