---
name: "@viberdy"
slug: "viberdy"
description: "Animated React and Tailwind components in 14 design styles, from glassmorphism and aurora to kinetic type and dither, each with an AI prompt. 161 are free with source at github.com/viberdy-dev/ui; Pro items need an API key."
category: "Animated components"
tags: ["3d", "ai", "animation", "audio", "auth", "backgrounds", "blocks", "buttons", "cards", "developer-tools", "forms", "glassmorphism", "icons", "loaders", "marketing", "media", "navigation", "overlays", "pro-available", "tables", "text-effects", "theming"]
framework: "react"
license: null
author: "viberdy-dev"
website: "https://viberdy.dev"
github: "https://github.com/viberdy-dev/ui"
registry: "https://viberdy.dev/r/registry.json"
pro: true
pro_url: "https://viberdy.dev/pricing"
github_stars: 0
component_count: 181
generated_at: "2026-10-27T06:34:08.542Z"
---

# @viberdy

Animated React and Tailwind components in 14 design styles, from glassmorphism and aurora to kinetic type and dither, each with an AI prompt. 161 are free with source at github.com/viberdy-dev/ui; Pro items need an API key.

## Links

- Website: https://viberdy.dev
- GitHub: https://github.com/viberdy-dev/ui
- Registry JSON: https://viberdy.dev/r/registry.json
- Directory page: https://sh4dcn.netlify.app/registry/viberdy
- This file: https://sh4dcn.netlify.app/md/viberdy.md
- Pro / pricing: https://viberdy.dev/pricing

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://viberdy.dev/r/registry.json
pnpm dlx shadcn@latest add https://viberdy.dev/r/registry.json
bunx shadcn@latest add https://viberdy.dev/r/registry.json
# clone the source repo
git clone https://github.com/viberdy-dev/ui.git
# fetch the raw registry index
curl -s https://viberdy.dev/r/registry.json
```

## Components (181)

| name | type | description | install |
| --- | --- | --- | --- |
| magnetic-button | registry:component | A button that is pulled toward the pointer across a field around it: the whole body drifts, the label trails on a softer spring, a specular light and edge glin… | `npx shadcn@latest add https://viberdy.dev/r/magnetic-button.json` |
| stacked-type-hero | registry:component | Oversized, tightly-stacked headline words that reveal in on mount — big type as sculpture. | `npx shadcn@latest add https://viberdy.dev/r/stacked-type-hero.json` |
| tilt-card | registry:component | A 3D card that tilts toward the pointer on hand-written springs, with a picture, badge, title and chips floating at their own depths, a lit edge and glare that… | `npx shadcn@latest add https://viberdy.dev/r/tilt-card.json` |
| marquee-ticker | registry:component | An endless strip of words or logos you can grab: it glides to a stop under the pointer, drags with momentum, leans into fast movement and fades out at both edg… | `npx shadcn@latest add https://viberdy.dev/r/marquee-ticker.json` |
| spotlight-grid | registry:component | A bento of dark cards lit by one shared light: it crosses the gaps, glows on card borders, brightens each card’s illustration and drifts on its own until you t… | `npx shadcn@latest add https://viberdy.dev/r/spotlight-grid.json` |
| grain-overlay | registry:component | A subtle animated film-grain texture layered over any section via canvas. | `npx shadcn@latest add https://viberdy.dev/r/grain-overlay.json` |
| scramble-text | registry:component | A decoding headline: every character resolves left to right out of random glyphs inside a fixed cell, so the line never changes width. Runs on hover, focus, ta… | `npx shadcn@latest add https://viberdy.dev/r/scramble-text.json` |
| swipe-card-stack | registry:component | A Tinder-style deck on hand-written springs: the top card tilts with your drag, LIKE and NOPE stamps fade in with a wash of colour, the cards behind rise as yo… | `npx shadcn@latest add https://viberdy.dev/r/swipe-card-stack.json` |
| odometer-counter | registry:component | A mechanical odometer: every digit is a drum that spins, blurs and glows as it rolls, then settles with a detent bounce. Counts up once in view, rolls up or do… | `npx shadcn@latest add https://viberdy.dev/r/odometer-counter.json` |
| confetti-button | registry:component | A red pill button with a pointer-following sheen that squashes on press and throws a real confetti burst from your click point, then morphs its label into a dr… | `npx shadcn@latest add https://viberdy.dev/r/confetti-button.json` |
| toast-stack | registry:component | A Sonner-style toast system with no dependencies: toasts fold into a deck, fan out on hover, focus or tap, and pause their progress lines while open. Drag to t… | `npx shadcn@latest add https://viberdy.dev/r/toast-stack.json` |
| skeleton-shimmer | registry:component | Loading-state placeholder blocks with a light sweep animating across them. | `npx shadcn@latest add https://viberdy.dev/r/skeleton-shimmer.json` |
| progress-ring | registry:component | A progress ring with a gradient stroke and a glowing head, tick marks that light up behind the arc, a centre value whose digits roll, and an indeterminate mode… | `npx shadcn@latest add https://viberdy.dev/r/progress-ring.json` |
| range-slider | registry:component | A refined range slider, single or dual thumb: a value bubble that follows the handle and swells while dragging, tick marks with labels, a histogram behind the … | `npx shadcn@latest add https://viberdy.dev/r/range-slider.json` |
| flip-card | registry:component | A card with real thickness that turns on a spring: a shaded rim, a glare that sweeps the face turning toward you, a floor shadow that narrows mid-turn, and a l… | `npx shadcn@latest add https://viberdy.dev/r/flip-card.json` |
| typewriter-text | registry:component | A typewriter with a human hand: jittered keystrokes, beats at punctuation, a caret that rests only when it waits, accelerating backspace, a reserved width so n… | `npx shadcn@latest add https://viberdy.dev/r/typewriter-text.json` |
| sticky-scroll-stack | registry:component | Cards that pin and pile up as you scroll: each one shrinks and dims as the next slides over it, with a progress index on the side that jumps between cards. Han… | `npx shadcn@latest add https://viberdy.dev/r/sticky-scroll-stack.json` |
| magnetic-nav-dock | registry:component | A macOS-style dock where tiles swell on a smooth falloff around the pointer and push their neighbours aside. Crafted SVG app tiles, a label that glides between… | `npx shadcn@latest add https://viberdy.dev/r/magnetic-nav-dock.json` |
| animated-checkbox | registry:component | A real checkbox with a check that draws itself in: the fill opens from the centre, the box pops, a ring and six sparks leave it, and a checked label can strike… | `npx shadcn@latest add https://viberdy.dev/r/animated-checkbox.json` |
| image-comparison-slider | registry:component | A before/after reveal with a glass grip on a spring-driven divider: press anywhere to glide it there, drag without a jump, use the arrow keys, or turn on hover… | `npx shadcn@latest add https://viberdy.dev/r/image-comparison-slider.json` |
| ripple-click-effect | registry:component | A Material-style ripple from the exact press point that grows to the farthest corner, holds while you hold and fades on release. A button, plus a wrapper for a… | `npx shadcn@latest add https://viberdy.dev/r/ripple-click-effect.json` |
| floating-label-input | registry:component | A text field whose label springs from placeholder to caption, with a focus ring and an underline that grows from where you clicked, a pointer-lit hover, helper… | `npx shadcn@latest add https://viberdy.dev/r/floating-label-input.json` |
| animated-tabs-indicator | registry:component | Tabs whose indicator stretches between tabs: the leading edge leaves first and the trailing edge follows on a softer spring. Labels flip colour exactly where t… | `npx shadcn@latest add https://viberdy.dev/r/animated-tabs-indicator.json` |
| gradient-border-beam | registry:component | A comet of light that circles a card's border at an even pace: a faded tail behind a white-hot head, glow that bleeds onto the surface and past the edge, an op… | `npx shadcn@latest add https://viberdy.dev/r/gradient-border-beam.json` |
| morphing-hamburger-icon | registry:component | A menu button whose three bars morph on springs into a close X, a back arrow or a minus, with a lit pill, press squash and a live panel in the demo. Inherits c… | `npx shadcn@latest add https://viberdy.dev/r/morphing-hamburger-icon.json` |
| glitch-text-hover | registry:component | A restrained RGB-split glitch: the word rests with a faint chromatic fringe, throws a micro-glitch every few seconds, and on hover, focus or tap shears into of… | `npx shadcn@latest add https://viberdy.dev/r/glitch-text-hover.json` |
| liquid-blob-cursor | registry:component | A soft blurred blob that trails the cursor with spring-smoothed lag. | `npx shadcn@latest add https://viberdy.dev/r/liquid-blob-cursor.json` |
| expandable-search-bar | registry:component | A search icon that springs open into a full field with a suggestions dropdown: recent searches, live filtering, arrow-key navigation, / and Cmd+K to open, Esca… | `npx shadcn@latest add https://viberdy.dev/r/expandable-search-bar.json` |
| card-carousel-3d | registry:component | A coverflow carousel: cards on an arc, the front one facing you while its neighbours turn in, dim and blur with depth. Drag or swipe with momentum that snaps t… | `npx shadcn@latest add https://viberdy.dev/r/card-carousel-3d.json` |
| draggable-sortable-list | registry:component | A dependency-free sortable list: lift a row by its grip and the others glide out of the way on a spring, then it settles into its slot. Pointer and touch drag,… | `npx shadcn@latest add https://viberdy.dev/r/draggable-sortable-list.json` |
| star-rating-interactive | registry:component | A star rating input with half-step precision: drag or tap across the stars, hover to preview, and a chosen rating pops in a wave with a burst of sparks and a c… | `npx shadcn@latest add https://viberdy.dev/r/star-rating-interactive.json` |
| rotating-word-swap | registry:component | A headline whose key word swaps through a list: letters roll up and out with a blur, the next word rolls in letter by letter, the line closes smoothly around e… | `npx shadcn@latest add https://viberdy.dev/r/rotating-word-swap.json` |
| draggable-bottom-sheet | registry:component | An iOS-style bottom sheet with peek, half and full detents: velocity-aware snapping, rubber-banding past the ends, a scrim that dims with progress, content tha… | `npx shadcn@latest add https://viberdy.dev/r/draggable-bottom-sheet.json` |
| pricing-toggle-switch | registry:component | A monthly/yearly billing switch with a springy, draggable thumb and a savings badge. Prices roll digit by digit like an odometer, and an optional plans prop tu… | `npx shadcn@latest add https://viberdy.dev/r/pricing-toggle-switch.json` |
| command-palette | registry:component | A single-level Cmd+K palette: a glass panel with fuzzy search and lit match letters, grouped results with a Recent section, a spring highlight that slides betw… | `npx shadcn@latest add https://viberdy.dev/r/command-palette.json` |
| file-upload-dropzone | registry:component | A real drag-and-drop file zone: the border marches and glows while files are over it, rows show thumbnails, progress from your own upload callback, retry and r… | `npx shadcn@latest add https://viberdy.dev/r/file-upload-dropzone.json` |
| segmented-control | registry:component | An iOS-style segmented control with a draggable thumb: grab it and drag across segments, it stretches with its own velocity, grows under your finger and settle… | `npx shadcn@latest add https://viberdy.dev/r/segmented-control.json` |
| vertical-timeline-reveal | registry:component | A scroll-triggered vertical timeline whose dots and cards reveal in sequence. | `npx shadcn@latest add https://viberdy.dev/r/vertical-timeline-reveal.json` |
| copy-code-snippet | registry:component | A dark code block for install commands: npm, pnpm, yarn and bun tabs, syntax-tinted tokens, line highlights, a copy button that really writes to the clipboard … | `npx shadcn@latest add https://viberdy.dev/r/copy-code-snippet.json` |
| animated-stat-grid | registry:component | A row of stat counters that count up together the moment they scroll into view. | `npx shadcn@latest add https://viberdy.dev/r/animated-stat-grid.json` |
| audio-wave-visualizer | registry:component | A bouncing equalizer bar animation for audio/podcast/music UI. | `npx shadcn@latest add https://viberdy.dev/r/audio-wave-visualizer.json` |
| kanban-drag-columns | registry:component | A dependency-free kanban board: lift a card and a lifted copy follows your pointer while the columns light up as drop targets and the cards glide out of the wa… | `npx shadcn@latest add https://viberdy.dev/r/kanban-drag-columns.json` |
| testimonial-carousel | registry:component | A testimonial carousel with a soft word-by-word quote reveal, a directional slide, an avatar picker, company wordmarks and score chips, and an autoplay hairlin… | `npx shadcn@latest add https://viberdy.dev/r/testimonial-carousel.json` |
| hide-on-scroll-navbar | registry:component | A header that slips away as you scroll down and springs back the moment you scroll up. Clear at the top, frosted glass once you move, with a reading-progress l… | `npx shadcn@latest add https://viberdy.dev/r/hide-on-scroll-navbar.json` |
| theme-toggle-sun-moon-morph | registry:component | A dark-mode switch whose thumb morphs from a sun into a crescent moon through a real SVG mask, while the track shifts from drifting clouds to twinkling stars. … | `npx shadcn@latest add https://viberdy.dev/r/theme-toggle-sun-moon-morph.json` |
| scroll-linked-image-mask-reveal | registry:component | An image whose circular clip-path mask grows and shrinks in lockstep with scroll. | `npx shadcn@latest add https://viberdy.dev/r/scroll-linked-image-mask-reveal.json` |
| searchable-faq-accordion | registry:component | An FAQ with live search that highlights matches, topic chips with a sliding indicator and counts, height-animated answers, a plus-to-minus icon morph, deep-lin… | `npx shadcn@latest add https://viberdy.dev/r/searchable-faq-accordion.json` |
| masonry-image-hover-grid | registry:component | A CSS-columns masonry gallery with a scale + caption reveal on hover. | `npx shadcn@latest add https://viberdy.dev/r/masonry-image-hover-grid.json` |
| share-button-expand | registry:component | A share button that springs open into a row of targets: X, LinkedIn, email and a copy-link that only confirms when the clipboard write worked. A light follows … | `npx shadcn@latest add https://viberdy.dev/r/share-button-expand.json` |
| page-loading-bar | registry:component | An nprogress-style top-of-page bar that eases toward completion, never stalling. | `npx shadcn@latest add https://viberdy.dev/r/page-loading-bar.json` |
| badge-ping-counter | registry:component | A notification badge that earns its number: the count rolls like a counter wheel, the pill pops, two rings ping outward and the bell swings on every increment.… | `npx shadcn@latest add https://viberdy.dev/r/badge-ping-counter.json` |
| cursor-crosshair-readout | registry:component | A drafting-tool crosshair for any surface: hairline guides with live X/Y tags on ticked rulers, snapping to element corners, edges and centres with their dimen… | `npx shadcn@latest add https://viberdy.dev/r/cursor-crosshair-readout.json` |
| cursor-label-follower | registry:component | A pill that springs after the pointer and morphs its text, glyph and width per target (View, Drag, Play), with press-to-reveal on touch and focus labels for ke… | `npx shadcn@latest add https://viberdy.dev/r/cursor-label-follower.json` |
| cursor-lens-magnifier | registry:component | A glass lens that springs after the pointer and magnifies a live copy of the content beneath it, with a refraction rim, chromatic edge and soft shadow. Press a… | `npx shadcn@latest add https://viberdy.dev/r/cursor-lens-magnifier.json` |
| cursor-snap-target | registry:component | A cursor dot that latches onto interactive elements and takes their exact shape and corner radius, leans toward the pointer while locked, follows keyboard focu… | `npx shadcn@latest add https://viberdy.dev/r/cursor-snap-target.json` |
| hover-slice-shear | registry:component | Display type cut into horizontal bands that fan apart under the pointer. | `npx shadcn@latest add https://viberdy.dev/r/hover-slice-shear.json` |
| hover-link-peek | registry:component | An index list of links that floats a mini rendering of each destination beside the pointer: spring-lagged, leaning with sweep speed, shown on keyboard focus an… | `npx shadcn@latest add https://viberdy.dev/r/hover-link-peek.json` |
| hover-stroke-draw-button | registry:component | A button whose outline draws itself around the shape: two strokes leave the top centre with a bright comet head and meet at the bottom, a soft light follows th… | `npx shadcn@latest add https://viberdy.dev/r/hover-stroke-draw-button.json` |
| hover-expand-panels | registry:component | A row of art panels where the hovered, focused or tapped one springs open while its neighbours compress. Each title runs up the panel edge and swings to horizo… | `npx shadcn@latest add https://viberdy.dev/r/hover-expand-panels.json` |
| beam-sweep-backdrop | registry:component | Slow conic light beams rotating behind content, CSS-only and compositor-friendly. | `npx shadcn@latest add https://viberdy.dev/r/beam-sweep-backdrop.json` |
| pointer-warp-dot-field | registry:component | A canvas dot grid that bulges and brightens away from the cursor. | `npx shadcn@latest add https://viberdy.dev/r/pointer-warp-dot-field.json` |
| crt-scanline-overlay | registry:component | Scanlines, aperture grille, rolling refresh and vignette over any content. | `npx shadcn@latest add https://viberdy.dev/r/crt-scanline-overlay.json` |
| weight-wave-text | registry:component | Per-character variable font weight that swells around the pointer and drifts when idle. | `npx shadcn@latest add https://viberdy.dev/r/weight-wave-text.json` |
| extruded-type-tilt | registry:component | Display type with a solid extrusion that swings around as the pointer moves. | `npx shadcn@latest add https://viberdy.dev/r/extruded-type-tilt.json` |
| morphing-island-notch | registry:component | A Dynamic-Island-style status pill with no dependencies: it measures its own content, springs to size, and fuses a stiff and a soft body through a goo filter s… | `npx shadcn@latest add https://viberdy.dev/r/morphing-island-notch.json` |
| pointer-parallax-scene | registry:component | A depth system where layers separate under the pointer from one shared motion source. | `npx shadcn@latest add https://viberdy.dev/r/pointer-parallax-scene.json` |
| flip-grid-reorder | registry:component | A filterable, shuffleable grid of rich tiles that travel to their new positions on a hand-sampled spring: survivors glide, leavers fade out of the flow, newcom… | `npx shadcn@latest add https://viberdy.dev/r/flip-grid-reorder.json` |
| scroll-card-deal | registry:component | A pile of cards that fans out symmetrically as its section crosses the viewport. | `npx shadcn@latest add https://viberdy.dev/r/scroll-card-deal.json` |
| velocity-marquee-rail | registry:component | A marquee that accelerates with scroll speed and flips direction when you scroll back. | `npx shadcn@latest add https://viberdy.dev/r/velocity-marquee-rail.json` |
| path-follow-scroll | registry:component | A marker that rides an SVG curve on scroll, banking through the bends. | `npx shadcn@latest add https://viberdy.dev/r/path-follow-scroll.json` |
| drag-inertia-carousel | registry:component | A rail you can throw — it projects the momentum and settles on the nearest slide. | `npx shadcn@latest add https://viberdy.dev/r/drag-inertia-carousel.json` |
| fuzzy-match-input | registry:component | A fuzzy search field that scores by run length and word starts and lights up the exact letters that matched. Results slide to their new rank as you type, a spr… | `npx shadcn@latest add https://viberdy.dev/r/fuzzy-match-input.json` |
| cursor-mask-reveal | registry:component | A feathered hole that trails the pointer through one layer to expose a different one beneath, like a finished UI over its construction drawing. Drifts at rest,… | `npx shadcn@latest add https://viberdy.dev/r/cursor-mask-reveal.json` |
| ascii-halftone-canvas | registry:component | Turns any canvas drawing into live ASCII art, sampled one pixel per glyph. | `npx shadcn@latest add https://viberdy.dev/r/ascii-halftone-canvas.json` |
| scrub-timeline-player | registry:component | A media scrubber with buffered range, hover timestamp and pointer-capture dragging. | `npx shadcn@latest add https://viberdy.dev/r/scrub-timeline-player.json` |
| otp-code-input | registry:component | A one-time-code field whose cells survive SMS autofill, paste and Android backspace. | `npx shadcn@latest add https://viberdy.dev/r/otp-code-input.json` |
| concrete-wall-texture | registry:component | A seamless procedural concrete surface drawn once to canvas and blended over anything. | `npx shadcn@latest add https://viberdy.dev/r/concrete-wall-texture.json` |
| signal-field | registry:component | A machined dot grid lit by slow waves of light, with a pointer lens and click ripples. | `npx shadcn@latest add https://viberdy.dev/r/signal-field.json` |
| marker-highlight-text | registry:component | A felt-tip highlighter stroke with a ragged edge that draws itself behind a phrase when it scrolls into view. | `npx shadcn@latest add https://viberdy.dev/r/marker-highlight-text.json` |
| window-light-drift | registry:component | Afternoon sun through a window, crossing a plaster wall over ninety seconds — and your pointer casts a shadow in it. | `npx shadcn@latest add https://viberdy.dev/r/window-light-drift.json` |
| swatch-fan-deck | registry:component | A fan deck of paint chips that spreads in your hand on hover or focus — a real radio group, with arrow keys and the colour's name, not its hex. | `npx shadcn@latest add https://viberdy.dev/r/swatch-fan-deck.json` |
| hours-poster-section | registry:component | Opening hours set as a poster — days hanging off the edge, closed rows struck through, today banded in the one accent — with an open/closed line on the shop's … | `npx shadcn@latest add https://viberdy.dev/r/hours-poster-section.json` |
| headline-switch-hero | registry:component | The second line of the headline is the navigation: KITCHENS / BATHROOMS / LOFTS at headline size, and choosing one swaps the treated photo plate, the copy and … | `npx shadcn@latest add https://viberdy.dev/r/headline-switch-hero.json` |
| liquid-glass-button | registry:component | A pill of liquid glass that bends what is behind it: real refraction at the rim, a rim and sheen lit by your pointer, and a gel-like press. | `npx shadcn@latest add https://viberdy.dev/r/liquid-glass-button.json` |
| liquid-glass-switch | registry:component | A toggle whose knob swells into a clear glass lens while you hold or drag it, magnifying the track beneath, then springs home solid. | `npx shadcn@latest add https://viberdy.dev/r/liquid-glass-switch.json` |
| glass-etch-text | registry:component | Real, selectable heading text rendered as glass: a lit bevel, a graduated rim and a hairline colour fringe, raised or etched in. | `npx shadcn@latest add https://viberdy.dev/r/glass-etch-text.json` |
| glass-focus-field | registry:component | A liquid-glass input whose rim notices the pointer before focus, thickens outward from where you click, ripples from the caret with every keystroke and clouds … | `npx shadcn@latest add https://viberdy.dev/r/glass-focus-field.json` |
| glass-morph-popover | registry:component | A popover that grows out of its button as a drop of liquid glass, stretches toward its place and settles flat, then drains back the same way. | `npx shadcn@latest add https://viberdy.dev/r/glass-morph-popover.json` |
| glass-tint-footer | registry:component | A liquid-glass footer slab that rises over the section above as you scroll in, its meniscus edge sloshing on fast scrolls, with a pointer light, a droplet glid… | `npx shadcn@latest add https://viberdy.dev/r/glass-tint-footer.json` |
| hairline-tile-button | registry:component | A button that behaves like a live bento grid: on hover it re-tiles into compartments along lit hairline seams, compresses toward your press, and its keycaps ar… | `npx shadcn@latest add https://viberdy.dev/r/hairline-tile-button.json` |
| spec-numeral-tile | registry:component | A big bold numeral in a spec-sheet voice whose digits roll into place like an odometer, set in a hairline bento tile. | `npx shadcn@latest add https://viberdy.dev/r/spec-numeral-tile.json` |
| bento-command-nav | registry:component | Site navigation as one row of bento tiles sharing 1px hairlines, with a pointer light that shows through them and menus that open as panels of tiles. | `npx shadcn@latest add https://viberdy.dev/r/bento-command-nav.json` |
| capture-loop-card | registry:component | A bento tile whose picture is a tightly cropped loop of your product, still until someone hovers or presses play, with a hairline that tracks the loop. | `npx shadcn@latest add https://viberdy.dev/r/capture-loop-card.json` |
| bento-footer-grid | registry:component | A bento footer whose tiles are live: a 90-day uptime strip you can read day by day, a back-to-top ring that fills as you scroll, a newsletter that widens acros… | `npx shadcn@latest add https://viberdy.dev/r/bento-footer-grid.json` |
| widget-reorder-input | registry:component | A "customise your dashboard" panel: drag or keyboard reorder, show and hide switches, a live miniature of the result, and save, cancel and reset. | `npx shadcn@latest add https://viberdy.dev/r/widget-reorder-input.json` |
| pushed-shadow-button | registry:component | A neo-brutalist button on a hard 5px shadow: hover lifts it 2px, a press lands it exactly on its shadow. 3px ink everywhere, 100ms linear, no blur. | `npx shadcn@latest add https://viberdy.dev/r/pushed-shadow-button.json` |
| offset-shadow-card | registry:component | A neo-brutalist card on a hard shadow: it lifts 2px on hover and lands on the shadow when pressed. A flat drawn motif or a photo, a punched price tag, a sticke… | `npx shadcn@latest add https://viberdy.dev/r/offset-shadow-card.json` |
| weight-slam-text | registry:component | Display type whose weight slams instead of easing: letters jump 400 → 650 → 900 in two hard steps, left to right like a row of stamps, and let go in three. | `npx shadcn@latest add https://viberdy.dev/r/weight-slam-text.json` |
| black-border-form | registry:component | Neo-brutalist form fields in 3px ink: focus presses a field into its shadow, and errors are stamped on as tilted black tags. The browser's own validation, a po… | `npx shadcn@latest add https://viberdy.dev/r/black-border-form.json` |
| punch-card-field | registry:component | A background of 80-column punch cards whose holes spell real text in Hollerith code. Holes are punched in column by column on arrival; point at a column to dec… | `npx shadcn@latest add https://viberdy.dev/r/punch-card-field.json` |
| warning-tape-footer | registry:component | A neo-brutalist footer under a strip of hazard tape you can grab and throw on its slow 48-second crawl, a sign-up that stamps the tape, and a giant wordmark wh… | `npx shadcn@latest add https://viberdy.dev/r/warning-tape-footer.json` |
| orbit-light-button | registry:component | A dark pill whose border carries one light: it laps the outline slowly, glides to the nearest point of the border under the pointer and lights the surface from… | `npx shadcn@latest add https://viberdy.dev/r/orbit-light-button.json` |
| pointer-lit-card | registry:component | A card lit from the pointer: a bright arc of light on the hairline border, a softer wash across the surface, a two-degree tilt toward the pointer and a little … | `npx shadcn@latest add https://viberdy.dev/r/pointer-lit-card.json` |
| slit-light-heading | registry:component | A heading lit by a narrow slit of light that crosses it as it scrolls into view: letters under the slit burn white, letters it has passed stay lit, letters ahe… | `npx shadcn@latest add https://viberdy.dev/r/slit-light-heading.json` |
| deploy-log-input | registry:component | An email field that answers with a streaming log: on submit, short lines stream under it with spinners turning into checks while a beam of light runs along its… | `npx shadcn@latest add https://viberdy.dev/r/deploy-log-input.json` |
| horizon-light-footer | registry:component | A footer whose giant wordmark is lit from below by a horizon that is also a signal: a latency trace lit where the pointer is, with a request pulse that runs it… | `npx shadcn@latest add https://viberdy.dev/r/horizon-light-footer.json` |
| beam-connector | registry:component | A hairline beam between any two elements, routed with rounded right-angle elbows, that carries a pulse of light once per cycle and lands with a flash at the fa… | `npx shadcn@latest add https://viberdy.dev/r/beam-connector.json` |
| chrome-pill-button | registry:component | A pill of polished chrome that reflects a lit room: its horizon, softbox glint and bezel light turn toward the pointer, and a press squashes it and drops a rin… | `npx shadcn@latest add https://viberdy.dev/r/chrome-pill-button.json` |
| holo-ticket-card | registry:component | A tour date as a notched, perforated ticket whose stub carries the date in chrome numerals on a strip of holographic foil; it tilts toward the pointer while th… | `npx shadcn@latest add https://viberdy.dev/r/holo-ticket-card.json` |
| pour-fill-heading | registry:component | A heading that starts as an empty mould and fills with liquid chrome as it scrolls into view, its surface a meniscus with a hot line of light that sloshes with… | `npx shadcn@latest add https://viberdy.dev/r/pour-fill-heading.json` |
| chrome-rim-input | registry:component | An email field in a pill with a chrome rim: each keystroke sends two ripples of light racing round the rim from the caret, a light laps it while sending, and s… | `npx shadcn@latest add https://viberdy.dev/r/chrome-rim-input.json` |
| mercury-pour-nav | registry:component | A floating nav whose current-link indicator is a capsule of mercury on two springs: it stretches thin as it pours to the next link, snaps back round, reaches t… | `npx shadcn@latest add https://viberdy.dev/r/mercury-pour-nav.json` |
| chrome-pour-reveal | registry:component | A reveal that casts its content in liquid chrome: molten metal pours down over the space with drips racing ahead and merging into the sheet, then cools away fr… | `npx shadcn@latest add https://viberdy.dev/r/chrome-pour-reveal.json` |
| soft-glow-button | registry:component | A pill with a grained light inside it that follows the pointer with a slow settle, a diffused bloom that rises behind it, and a press that exhales a soft ring … | `npx shadcn@latest add https://viberdy.dev/r/soft-glow-button.json` |
| halo-treatment-card | registry:component | A treatment card with a light well: a grained halo in the treatment's own colour rests low, then rises and blooms toward the pointer on hover or focus while th… | `npx shadcn@latest add https://viberdy.dev/r/halo-treatment-card.json` |
| veil-resolve-heading | registry:component | A serif heading that arrives out of soft light: each word condenses from a blur into focus with an 80ms stagger while a glow blooms behind the words and fades … | `npx shadcn@latest add https://viberdy.dev/r/veil-resolve-heading.json` |
| aura-booking-picker | registry:component | A booking picker in three quiet steps, treatment, day and time, where the chosen time blooms into a grained halo, and a request that needs your handler before … | `npx shadcn@latest add https://viberdy.dev/r/aura-booking-picker.json` |
| dusk-set-footer | registry:component | A footer that sets like the sun: as it scrolls in, a grained halo sinks toward a hairline horizon, warming from gold through rose to ember, behind a giant ital… | `npx shadcn@latest add https://viberdy.dev/r/dusk-set-footer.json` |
| breath-pacer-ring | registry:component | A breathing guide in soft light: a grained halo swells as you breathe in and settles as you breathe out, a thin ring traces each phase and the seconds count do… | `npx shadcn@latest add https://viberdy.dev/r/breath-pacer-ring.json` |
| aurora-glow-button | registry:component | A night-glass pill with a sliver of aurora under it, turning on a 60s clock that every button on the page shares, spreading on hover and sending a ring of ligh… | `npx shadcn@latest add https://viberdy.dev/r/aurora-glow-button.json` |
| aurora-rim-card | registry:component | A night-glass card with a slow aurora rim that turns once every 52 seconds, feathered into light, brightening near the pointer while the card tilts a hair towa… | `npx shadcn@latest add https://viberdy.dev/r/aurora-rim-card.json` |
| aurora-drift-text | registry:component | Display type filled with aurora light: three bands drift through the letters on slow loops, ray threads slide through them, and the brightest band leans toward… | `npx shadcn@latest add https://viberdy.dev/r/aurora-drift-text.json` |
| aurora-flow-nav | registry:component | A floating night-glass nav whose active mark is a band of aurora light that takes the colour of the sky above its link and flows to the next one leading edge f… | `npx shadcn@latest add https://viberdy.dev/r/aurora-flow-nav.json` |
| aurora-ribbon-cursor | registry:component | The pointer paints a small aurora: a ribbon of light coloured from the indigo fringe to rose that fades like the sky, sending short rays up from every point so… | `npx shadcn@latest add https://viberdy.dev/r/aurora-ribbon-cursor.json` |
| aurora-glow-input | registry:component | A waitlist field that lights like the sky: focus raises a two-hue bloom and lights the rim, every keystroke sends a rose ripple from the caret, and joining swe… | `npx shadcn@latest add https://viberdy.dev/r/aurora-glow-input.json` |
| axis-press-button | registry:component | A button whose label is the control: letters under the pointer swell heavier and wider while the rest condense, so the button never changes size, and a press c… | `npx shadcn@latest add https://viberdy.dev/r/axis-press-button.json` |
| axis-session-card | registry:component | A programme card whose title is set by what the session is: a workshop quiet and narrow, a talk set, a keynote loud and wide, so a grid reads as a legend; hove… | `npx shadcn@latest add https://viberdy.dev/r/axis-session-card.json` |
| axis-scrub-heading | registry:component | A heading written by the scroll: as it rises through the view a wave runs through its letters from hairline to a loud accent peak to its set weight, and scroll… | `npx shadcn@latest add https://viberdy.dev/r/axis-scrub-heading.json` |
| axis-flow-nav | registry:component | A nav whose links are one flush line: the active link is loud, the rest condensed, and choosing another makes the width flow to it letter by letter while the n… | `npx shadcn@latest add https://viberdy.dev/r/axis-flow-nav.json` |
| glyph-axis-stagger | registry:component | The kit's rebuild as a primitive: split any text into letters and spring each one between two settings of the face, a fixed delay apart, in the order you choos… | `npx shadcn@latest add https://viberdy.dev/r/glyph-axis-stagger.json` |
| name-badge-input | registry:component | A name field that sets your name on a pass as you type: each new letter lands loud in the accent and springs into place, a deleted one collapses to a hairline,… | `npx shadcn@latest add https://viberdy.dev/r/name-badge-input.json` |
| keycap-button | registry:component | A button machined like a keycap: a press drops the cap 6px as its skirt collapses, release springs it back past rest, a specular follows the pointer and a copp… | `npx shadcn@latest add https://viberdy.dev/r/keycap-button.json` |
| extruded-spec-card | registry:component | A card holding a small machined dial built in CSS 3D: the card tilts toward the pointer and the dial turns to follow it one detent at a time, its copper marker… | `npx shadcn@latest add https://viberdy.dev/r/extruded-spec-card.json` |
| anamorphic-heading | registry:component | A heading that only reads from the right angle: its letters stand at different depths, scaled so they line up from straight ahead, and the view swings round to… | `npx shadcn@latest add https://viberdy.dev/r/anamorphic-heading.json` |
| curved-rail-nav | registry:component | A nav whose links ride a shallow cylinder in real perspective: the active link stands forward and underlit in copper, and choosing another turns the rail towar… | `npx shadcn@latest add https://viberdy.dev/r/curved-rail-nav.json` |
| assemble-reveal | registry:component | A reveal where parts assemble in 3D: each item starts at its own offset and turn deep in perspective and flies home on a spring with a slight overshoot, one af… | `npx shadcn@latest add https://viberdy.dev/r/assemble-reveal.json` |
| detent-dial-input | registry:component | A number set by turning a CSS-3D dial: drag round it and it steps through detents, springing onto each while its copper marker ticks; a real slider with full k… | `npx shadcn@latest add https://viberdy.dev/r/detent-dial-input.json` |
| bayer-fill-button | registry:component | A button whose fill prints in cell by cell through the 8x8 Bayer order on hover and focus, with its label inverting exactly where each cell lands; press it and… | `npx shadcn@latest add https://viberdy.dev/r/bayer-fill-button.json` |
| dither-develop-card | registry:component | A card whose image prints in cell by cell the first time it is seen, ordered-dithered with CSS alone, with a soft light that follows the pointer through the di… | `npx shadcn@latest add https://viberdy.dev/r/dither-develop-card.json` |
| ascii-resolve-heading | registry:component | A heading that resolves from ASCII into type: its own letterforms redrawn in shape-matched glyphs step from coarse to fine as it comes into view, then a lens u… | `npx shadcn@latest add https://viberdy.dev/r/ascii-resolve-heading.json` |
| ascii-density-nav | registry:component | A nav whose active link is marked by a band of ASCII density: characters thicken through a ramp under the active link and flow to the next one on a spring, its… | `npx shadcn@latest add https://viberdy.dev/r/ascii-density-nav.json` |
| bayer-dissolve | registry:component | An ordered-dither transition: a new state prints in over the old one in 8x8 Bayer order while the screen refines from coarse cells to fine, or prints in from t… | `npx shadcn@latest add https://viberdy.dev/r/bayer-dissolve.json` |
| dither-drop-input | registry:component | Drop an image and see it dithered right there, with CSS alone: choose the cell size and the ink, set the exposure, and the request URL for that output builds a… | `npx shadcn@latest add https://viberdy.dev/r/dither-drop-input.json` |
| weight-press-button | registry:component | A button whose press you can see in its type: hover and the label thickens as the button lifts; press and it goes bold under your finger while the button sinks… | `npx shadcn@latest add https://viberdy.dev/r/weight-press-button.json` |
| light-lift-card | registry:component | A card that lifts toward the pointer with shadows that behave like light: a two-degree tilt, an ambient shadow that widens and drifts away from the side that r… | `npx shadcn@latest add https://viberdy.dev/r/light-lift-card.json` |
| sundial-shadow-heading | registry:component | A heading whose letters cast soft shadows that swing like a sundial as the page scrolls: the sun crosses with the scroll, the long shadows turn from right to l… | `npx shadcn@latest add https://viberdy.dev/r/sundial-shadow-heading.json` |
| hairline-morph-nav | registry:component | A nav whose single hairline stretches toward the next link and settles under it: its leading edge runs ahead on a quick spring while its trailing edge follows … | `npx shadcn@latest add https://viberdy.dev/r/hairline-morph-nav.json` |
| scrub-mask-reveal | registry:component | A plate that opens exactly with the scroll: its rounded frame widens from a fifth in on each side to full while the picture inside eases the other way so it se… | `npx shadcn@latest add https://viberdy.dev/r/scrub-mask-reveal.json` |
| wake-time-wheel | registry:component | Set the alarm on a pair of wheels: hours and minutes are snap-scrolling columns with momentum whose rows turn away in perspective around a lens, each a keyboar… | `npx shadcn@latest add https://viberdy.dev/r/wake-time-wheel.json` |
| squash-press-button | registry:component | A pill that squashes under your finger and pops back: it sinks onto its base where you press, deeper the longer you hold, keeps its area as it squashes, and sp… | `npx shadcn@latest add https://viberdy.dev/r/squash-press-button.json` |
| wobble-drop-card | registry:component | A release card that leans toward the pointer on a soft spring while the sticker on its corner follows through, swinging the other way and jiggling to a stop; p… | `npx shadcn@latest add https://viberdy.dev/r/wobble-drop-card.json` |
| squish-letter-heading | registry:component | A heading whose letters squash under the pointer and push their neighbours up: each letter keeps its area as it squashes, springs back with one overshoot, and … | `npx shadcn@latest add https://viberdy.dev/r/squish-letter-heading.json` |
| taffy-pill-nav | registry:component | A floating pill nav whose bubblegum marker stretches like taffy to the link you choose: long and thin in flight, short and fat as it lands, with the labels tur… | `npx shadcn@latest add https://viberdy.dev/r/taffy-pill-nav.json` |
| squish-flip | registry:component | A list whose items squash and stretch as they move: reorder, filter or add and each item travels to its new place stretched along its path by its speed, squash… | `npx shadcn@latest add https://viberdy.dev/r/squish-flip.json` |
| gummy-type-input | registry:component | An email field whose letters drop in and land: each typed letter falls from a little above, stretched as it falls and squashed as it lands, while the real inpu… | `npx shadcn@latest add https://viberdy.dev/r/gummy-type-input.json` |
| offset-target-button | registry:component | A button whose label plate hangs off its hairline target along the grid's axis, reaches further and lights its bracket on hover or focus, and seats into the ta… | `npx shadcn@latest add https://viberdy.dev/r/offset-target-button.json` |
| z-swap-plate-card | registry:component | A work card on the lattice: every third in a run breaks by the rule, two gutters out with the bracket, and hovering the card it overlaps lifts that card above … | `npx shadcn@latest add https://viberdy.dev/r/z-swap-plate-card.json` |
| edge-invert-headline | registry:component | A caps headline that inverts exactly at the edges of the plates under it; drag a plate and the inversion follows 1:1, then snaps to a lattice cell, and on colu… | `npx shadcn@latest add https://viberdy.dev/r/edge-invert-headline.json` |
| index-step-nav | registry:component | A numbered nav whose third item hangs one gutter below the bar on a contrasting plate by the rule, the bar's hairline dipping under it, and a tag that steps to… | `npx shadcn@latest add https://viberdy.dev/r/index-step-nav.json` |
| rule-handoff-flip | registry:component | The kit's rule for any list: items become plates on the lattice and every third breaks; filter, sort or add and everything moves from where it was in 380ms whi… | `npx shadcn@latest add https://viberdy.dev/r/rule-handoff-flip.json` |
| hanging-label-input | registry:component | A contact form whose numbered labels hang one gutter off the lattice and step into line in 160ms when you use the field; the third row breaks by the rule, and … | `npx shadcn@latest add https://viberdy.dev/r/hanging-label-input.json` |
| aura-dial | registry:component | A 40px hexagon of the viewer's own six values (contrast, warmth, light, density, motion, focus) that opens into an instrument: pull a corner and every Ultra as… | `npx shadcn@latest add https://viberdy.dev/r/aura-dial.json` |
| density-ledger | registry:component | A list you zoom like a map: pinch, ctrl+scroll, a ruler or [ and ] move rows continuously from 64px to 22px, columns arrive at thresholds, and the row under yo… | `npx shadcn@latest add https://viberdy.dev/r/density-ledger.json` |
| bell-breath-loader | registry:component | A progress loader drawn as one translucent jellyfish. Progress is light: it rises through the bell from the rim, lights the ring of organs and lets the tentacl… | `npx shadcn@latest add https://viberdy.dev/r/bell-breath-loader.json` |
| bead-button | registry:component | A single bead of water on dark hydrophobic glass is the button. It magnifies the etched plate behind it and shows it upside down, the way real water does, whil… | `npx shadcn@latest add https://viberdy.dev/r/bead-button.json` |
| holo-site-footer | registry:component | The close of a landing: a last call set big with a holo pill between its words and two buttons, then a footer with the mark, a one-line promise, three columns … | `npx shadcn@latest add https://viberdy.dev/r/holo-site-footer.json` |
| asterisk-type-headline | registry:component | A headline typed out by an asterisk: the caret spins fast while it types, opens an inline pill when it reaches one, then parks in the slot you mark with * (by … | `npx shadcn@latest add https://viberdy.dev/r/asterisk-type-headline.json` |
| holo-pill-nav | registry:component | A quiet header: the mark and wordmark left, one outlined glass pill right that fills from below on hover while an asterisk turns in beside the label. A tone pr… | `npx shadcn@latest add https://viberdy.dev/r/holo-pill-nav.json` |
| asterisk-submit-input | registry:component | An email field as a pill, an asterisk that turns one step per keystroke and spins while sending, and a black Submit pill. A real form with validation and an ho… | `npx shadcn@latest add https://viberdy.dev/r/asterisk-submit-input.json` |
| ultra-pill-nav | registry:component | A floating glass pill nav that tightens as the page scrolls, with the Aura Dial in it: press U and every Ultra part of the page retunes. | `npx shadcn@latest add https://viberdy.dev/r/ultra-pill-nav.json` |
| ultra-site-footer | registry:component | A footer whose huge closing line gets bolder as the reader turns contrast up, with their own six values drawn as a hexagon they can reset. | `npx shadcn@latest add https://viberdy.dev/r/ultra-site-footer.json` |
| levitating-link-nav | registry:component | A dark glass nav bar whose link labels hang in the air above a lit shelf, each over its own soft shadow; the link you point at, and the one for the section in … | `npx shadcn@latest add https://viberdy.dev/r/levitating-link-nav.json` |
| contrary-shadow-section | registry:component | Mounted letters on a lit plaster wall under a swinging lamp: every word's shadow runs from the light, except one, whose shadow runs toward it. | `npx shadcn@latest add https://viberdy.dev/r/contrary-shadow-section.json` |
| levitating-field-input | registry:component | A real text input whose typed words hang above the field and cast a soft shadow on its lit shelf; focus lifts them higher and submitting lands them. | `npx shadcn@latest add https://viberdy.dev/r/levitating-field-input.json` |
| flight-manifest | registry:component | A launch table on warm black: filter it, and an orange wipe runs across each row you point at; open a flight for its window, pad and mass. | `npx shadcn@latest add https://viberdy.dev/r/flight-manifest.json` |
| hold-to-ignite-button | registry:component | A press-and-hold confirm: a flame-edged fill rises through the button while you hold, drains if you let go early, and lands with a burst of sparks. | `npx shadcn@latest add https://viberdy.dev/r/hold-to-ignite-button.json` |
| heat-haze-heading | registry:component | A line of type set edge to edge and seen through rising heat: an SVG turbulence field moves up through the letters, and the pointer turns the heat up. | `npx shadcn@latest add https://viberdy.dev/r/heat-haze-heading.json` |
| hi-vis-nav | registry:component | A full-width bar that reads the ground under it, black, safety orange or bone, and swaps its ink and button to match; it tightens after the first scroll. | `npx shadcn@latest add https://viberdy.dev/r/hi-vis-nav.json` |
| ardent-footer | registry:component | A black footer with a closing call, link columns and the brand set edge to edge across the bottom in rising heat haze. | `npx shadcn@latest add https://viberdy.dev/r/ardent-footer.json` |
| hazard-tape-marquee | registry:component | Two crossed lengths of hazard tape, safety orange with chevron rails over black with a reflective stripe, pulled along in opposite directions by the page's scr… | `npx shadcn@latest add https://viberdy.dev/r/hazard-tape-marquee.json` |
| hot-fire-request-form | registry:component | A booking form in hi-vis: underlined fields that light orange, chip choices that fill solid, inline errors that name the fix, and a sent state that replays the… | `npx shadcn@latest add https://viberdy.dev/r/hot-fire-request-form.json` |

## For AI agents

```text
You are adding components from @viberdy to a shadcn-compatible project.
1. Read this file (https://sh4dcn.netlify.app/md/viberdy.md) for the component list.
2. Fetch the machine-readable index: https://viberdy.dev/r/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.netlify.app/json (library slug: viberdy).
```
