@ericts
Motion-focused shadcn-compatible components, hooks, and blocks for polished React interfaces.
Install this registry
npx shadcn@latest add https://ui.ericts.com/r/registry.json pnpm dlx shadcn@latest add https://ui.ericts.com/r/registry.json bunx shadcn@latest add https://ui.ericts.com/r/registry.json curl -s https://ui.ericts.com/r/registry.json Components
53 totalA Motion-powered layout primitive that observes content size and animates height changes.
npx shadcn@latest add https://ui.ericts.com/r/smooth-height.json A shadcn Button-based clipboard control with animated copy and success states.
npx shadcn@latest add https://ui.ericts.com/r/copy-button.json 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 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 A ready-made labeled action built from the composable Like primitive.
npx shadcn@latest add https://ui.ericts.com/r/like-button.json 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 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 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 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 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 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 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 A single-button floating select that expands into an animated option list.
npx shadcn@latest add https://ui.ericts.com/r/floating-select.json 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 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 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 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 A jitter animation primitive plus a ready-made vibration icon.
npx shadcn@latest add https://ui.ericts.com/r/jitter.json A squeeze animation primitive plus a ready-made SVG card icon.
npx shadcn@latest add https://ui.ericts.com/r/squeeze.json 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 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 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 An accessible switch with optional state labels, three sizes, and configurable motion.
npx shadcn@latest add https://ui.ericts.com/r/adaptive-switch.json 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 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 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 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 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 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 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 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 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 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 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 A Motion-powered text primitive that morphs matching characters between string updates.
npx shadcn@latest add https://ui.ericts.com/r/text-morph.json 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 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 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 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 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 A shadcn Drawer that measures panel content and animates height changes.
npx shadcn@latest add https://ui.ericts.com/r/adaptive-drawer.json 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 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 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 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 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 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 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 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 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 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 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 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