{"$schema":"https://ui.shadcn.com/schema/registry.json","name":"viberdy","homepage":"https://viberdy.dev","items":[{"name":"magnetic-button","type":"registry:component","title":"Magnetic Button","description":"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 glint follow the cursor, it squashes on press and springs back. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["button","cursor","spring","interaction","magnetic","cta","hover","glass"],"vibe":["playful","minimal"],"href":"https://viberdy.dev/library/magnetic-button","dateAdded":"2026-08-01"}},{"name":"stacked-type-hero","type":"registry:component","title":"Stacked Type Hero","description":"Oversized, tightly-stacked headline words that reveal in on mount — big type as sculpture.","categories":["sections"],"meta":{"tier":"free","tags":["hero","typography","editorial","headline"],"vibe":["editorial","brutalist"],"href":"https://viberdy.dev/library/stacked-type-hero","dateAdded":"2026-08-14"}},{"name":"tilt-card","type":"registry:component","title":"Tilt Card","description":"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 follow the pointer, and a shadow that slides the other way.","categories":["components"],"meta":{"tier":"free","tags":["card","3d","tilt","parallax","glare","spring","touch"],"vibe":["glass","playful"],"href":"https://viberdy.dev/library/tilt-card","dateAdded":"2026-08-10"}},{"name":"marquee-ticker","type":"registry:component","title":"Marquee Ticker","description":"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 edges.","categories":["components"],"meta":{"tier":"free","tags":["marquee","ticker","scroll","loop","drag","logos","inertia"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/marquee-ticker","dateAdded":"2026-08-21"}},{"name":"spotlight-grid","type":"registry:component","title":"Spotlight Card Grid","description":"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 take over.","categories":["patterns"],"meta":{"tier":"free","tags":["grid","spotlight","cursor","hover","bento","glow","border","touch"],"vibe":["glass","minimal"],"href":"https://viberdy.dev/library/spotlight-grid","dateAdded":"2026-08-21"}},{"name":"grain-overlay","type":"registry:component","title":"Grain Overlay","description":"A subtle animated film-grain texture layered over any section via canvas.","categories":["backgrounds"],"meta":{"tier":"free","tags":["grain","noise","canvas","texture"],"vibe":["editorial","brutalist"],"href":"https://viberdy.dev/library/grain-overlay","dateAdded":"2026-08-21"}},{"name":"scramble-text","type":"registry:component","title":"Scramble Text","description":"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, tap or when it scrolls into view, with a glowing decode head and a lock flash.","categories":["text-effects"],"meta":{"tier":"free","tags":["text","hover","decode","scramble","headline","focus","stable-width","mono"],"vibe":["brutalist","neon"],"href":"https://viberdy.dev/library/scramble-text","dateAdded":"2026-08-21"}},{"name":"swipe-card-stack","type":"registry:component","title":"Swipe Card Stack","description":"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 you commit, and a flick throws it with your velocity. Buttons, arrow keys and undo, plus a finished end state.","categories":["patterns"],"meta":{"tier":"free","tags":["drag","swipe","stack","gesture","cards","tinder","spring"],"vibe":["playful","glass"],"href":"https://viberdy.dev/library/swipe-card-stack","dateAdded":"2026-08-21"}},{"name":"odometer-counter","type":"registry:component","title":"Odometer Counter","description":"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 down when the number changes, and slides columns and thousands separators in as it grows. No dependencies.","categories":["text-effects"],"meta":{"tier":"free","tags":["counter","number","scroll","stats","odometer","count up","digits","spring"],"vibe":["minimal","neon"],"href":"https://viberdy.dev/library/odometer-counter","dateAdded":"2026-08-21"}},{"name":"confetti-button","type":"registry:component","title":"Confetti Burst Button","description":"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 drawn check and resets.","categories":["components"],"meta":{"tier":"free","tags":["button","confetti","click","celebration","canvas","success","particles"],"vibe":["playful","neon"],"href":"https://viberdy.dev/library/confetti-button","dateAdded":"2026-08-22"}},{"name":"toast-stack","type":"registry:component","title":"Toast Notification Stack","description":"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 throw one away, success, error and info types, an action button, and a loading toast that becomes a success or error in place.","categories":["patterns"],"meta":{"tier":"free","tags":["toast","notification","stack","feedback","swipe","promise"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/toast-stack","dateAdded":"2026-08-22"}},{"name":"skeleton-shimmer","type":"registry:component","title":"Skeleton Shimmer Loader","description":"Loading-state placeholder blocks with a light sweep animating across them.","categories":["assets"],"meta":{"tier":"free","tags":["skeleton","loading","shimmer","placeholder"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/skeleton-shimmer","dateAdded":"2026-08-22"}},{"name":"progress-ring","type":"registry:component","title":"Circular Progress Ring","description":"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 with a rotating arc. Springs to any value. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["progress","ring","svg","stats","gauge","loader","spring"],"vibe":["minimal","neon"],"href":"https://viberdy.dev/library/progress-ring","dateAdded":"2026-08-22"}},{"name":"range-slider","type":"registry:component","title":"Draggable Range Slider","description":"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 track that lights up inside the selection, step snapping with a small haptic-style bump, and full keyboard and touch support. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["slider","range","drag","input","dual thumb","histogram","filter","form"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/range-slider","dateAdded":"2026-08-22"}},{"name":"flip-card","type":"registry:component","title":"3D Flip Card","description":"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 lean toward the pointer. Flips on hover, focus, click, tap or Enter. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["card","flip","3d","hover","spring","glare","perspective","click","reveal"],"vibe":["playful","glass"],"href":"https://viberdy.dev/library/flip-card","dateAdded":"2026-08-22"}},{"name":"typewriter-text","type":"registry:component","title":"Typewriter Text","description":"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 nothing shifts, and an optional syntax-tinted code mode.","categories":["text-effects"],"meta":{"tier":"free","tags":["typewriter","text","cycle","caret","typing","headline","code","prompt","stable-width"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/typewriter-text","dateAdded":"2026-08-22"}},{"name":"sticky-scroll-stack","type":"registry:component","title":"Sticky Scroll Stack","description":"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. Hand-written scroll logic: a built-in scroll box by default, or the page, or your own scroller.","categories":["patterns"],"meta":{"tier":"free","tags":["scroll","sticky","stack","cards","scrollytelling","progress","pinned"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/sticky-scroll-stack","dateAdded":"2026-08-22"}},{"name":"magnetic-nav-dock","type":"registry:component","title":"Magnetic Nav Dock","description":"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 them, a sheen that follows the cursor, bounce on click and full keyboard support. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["dock","nav","magnetic","cursor","spring","macos","icons","navigation"],"vibe":["playful","glass"],"href":"https://viberdy.dev/library/magnetic-nav-dock","dateAdded":"2026-08-22"}},{"name":"animated-checkbox","type":"registry:component","title":"Animated Checkbox","description":"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 through. Indeterminate state, three sizes, controlled or not. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["checkbox","form","svg","toggle","checklist","indeterminate","micro-interaction"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/animated-checkbox","dateAdded":"2026-08-22"}},{"name":"image-comparison-slider","type":"registry:component","title":"Image Comparison Slider","description":"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 mode. Corner labels fade as the divider reaches them, it splits left/right or top/bottom, and with no images it draws its own night-to-day lake scene. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["image","slider","compare","drag","before after","vertical","hover","reveal"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/image-comparison-slider","dateAdded":"2026-08-22"}},{"name":"ripple-click-effect","type":"registry:component","title":"Ripple Click Effect","description":"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 any card or list row. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["ripple","button","click","material","touch feedback","card","list"],"vibe":["playful","minimal"],"href":"https://viberdy.dev/library/ripple-click-effect","dateAdded":"2026-08-22"}},{"name":"floating-label-input","type":"registry:component","title":"Floating Label Input","description":"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 and error text that slide open (and shake once on invalid), a clear button, a live counter and a password reveal. Drops into forms as a plain input.","categories":["components"],"meta":{"tier":"free","tags":["input","form","label","focus","validation","password","counter"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/floating-label-input","dateAdded":"2026-08-22"}},{"name":"animated-tabs-indicator","type":"registry:component","title":"Animated Tabs Indicator","description":"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 the pill passes, hover shows a ghost highlight, optional panels slide by direction. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["tabs","indicator","spring","nav","segmented-control","gooey","keyboard"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/animated-tabs-indicator","dateAdded":"2026-08-22"}},{"name":"gradient-border-beam","type":"registry:component","title":"Animated Gradient Border Beam","description":"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 optional second beam the other way, and a pointer light on hover. Wraps any content. No dependencies.","categories":["backgrounds"],"meta":{"tier":"free","tags":["border","beam","comet","card","glow","svg","wrapper"],"vibe":["neon","glass"],"href":"https://viberdy.dev/library/gradient-border-beam","dateAdded":"2026-08-22"}},{"name":"morphing-hamburger-icon","type":"registry:component","title":"Morphing Hamburger Icon","description":"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 currentColor, controlled or uncontrolled, no dependencies.","categories":["components"],"meta":{"tier":"free","tags":["icon","menu","hamburger","toggle","spring","morph","navigation"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/morphing-hamburger-icon","dateAdded":"2026-08-22"}},{"name":"glitch-text-hover","type":"registry:component","title":"Glitch Text Hover","description":"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 offset bands with separated red and cyan channels and a quick flicker.","categories":["text-effects"],"meta":{"tier":"free","tags":["text","glitch","hover","rgb-split","chromatic-aberration","focus","idle","css-only"],"vibe":["neon","brutalist"],"href":"https://viberdy.dev/library/glitch-text-hover","dateAdded":"2026-08-22"}},{"name":"liquid-blob-cursor","type":"registry:component","title":"Liquid Blob Cursor Follow","description":"A soft blurred blob that trails the cursor with spring-smoothed lag.","categories":["backgrounds"],"meta":{"tier":"free","tags":["cursor","blob","spring","follow"],"vibe":["glass","playful"],"href":"https://viberdy.dev/library/liquid-blob-cursor","dateAdded":"2026-08-22"}},{"name":"expandable-search-bar","type":"registry:component","title":"Expandable Search Bar","description":"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, Escape to collapse. A real ARIA combobox, no dependencies.","categories":["components"],"meta":{"tier":"free","tags":["search","input","expand","combobox","autocomplete","command","keyboard"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/expandable-search-bar","dateAdded":"2026-08-22"}},{"name":"card-carousel-3d","type":"registry:component","title":"3D Card Carousel","description":"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 to a card, arrows, dots, keyboard, tap a side card. No dependencies.","categories":["patterns"],"meta":{"tier":"free","tags":["carousel","3d","coverflow","cards","drag","swipe","perspective","spring","slider"],"vibe":["playful","glass"],"href":"https://viberdy.dev/library/card-carousel-3d","dateAdded":"2026-08-22"}},{"name":"draggable-sortable-list","type":"registry:component","title":"Draggable Sortable List","description":"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, plus a full keyboard path with live announcements.","categories":["patterns"],"meta":{"tier":"free","tags":["drag","sortable","list","reorder","keyboard","accessible"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/draggable-sortable-list","dateAdded":"2026-08-22"}},{"name":"star-rating-interactive","type":"registry:component","title":"Interactive Star Rating","description":"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 changing word label. Radio-group keyboard support, a fractional read-only mode, controlled or not. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["rating","stars","form","hover","review","half-star","micro-interaction"],"vibe":["playful","minimal"],"href":"https://viberdy.dev/library/star-rating-interactive","dateAdded":"2026-08-22"}},{"name":"rotating-word-swap","type":"registry:component","title":"Rotating Word Swap Headline","description":"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 each width, and every word gets its own accent. A hairline timer shows the cycle, hover or focus holds it, a tap skips ahead.","categories":["text-effects"],"meta":{"tier":"free","tags":["text","headline","cycle","swap","per-letter","blur","width-morph","accessible"],"vibe":["playful","minimal"],"href":"https://viberdy.dev/library/rotating-word-swap","dateAdded":"2026-08-22"}},{"name":"draggable-bottom-sheet","type":"registry:component","title":"Draggable Bottom Sheet Modal","description":"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 that scrolls and then hands off to the drag, Escape and a focus trap. No dependencies.","categories":["patterns"],"meta":{"tier":"free","tags":["modal","sheet","drag","dismiss","snap","detents","mobile","spring","gesture"],"vibe":["glass","minimal"],"href":"https://viberdy.dev/library/draggable-bottom-sheet","dateAdded":"2026-08-22"}},{"name":"pricing-toggle-switch","type":"registry:component","title":"Pricing Toggle Switch","description":"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 turns it into a three-card pricing table with a border beam on the recommended plan. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["pricing","toggle","switch","billing","odometer","plans","border-beam"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/pricing-toggle-switch","dateAdded":"2026-08-23"}},{"name":"command-palette","type":"registry:component","title":"Command Palette","description":"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 between rows, shortcut chips and a full keyboard model.","categories":["patterns"],"meta":{"tier":"free","tags":["command","palette","search","modal","cmdk","fuzzy","keyboard","dialog"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/command-palette","dateAdded":"2026-08-23"}},{"name":"file-upload-dropzone","type":"registry:component","title":"File Upload Dropzone","description":"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 remove, and the limits in the hint are actually enforced. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["upload","dropzone","drag-drop","form","progress","validation","file-input"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/file-upload-dropzone","dateAdded":"2026-08-23"}},{"name":"segmented-control","type":"registry:component","title":"Segmented Control","description":"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 settles with a touch of overshoot. Icons, sizes, two thumb styles, light and dark. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["segmented","control","switch","toggle","drag","spring","ios","radiogroup"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/segmented-control","dateAdded":"2026-08-23"}},{"name":"vertical-timeline-reveal","type":"registry:component","title":"Vertical Timeline Reveal","description":"A scroll-triggered vertical timeline whose dots and cards reveal in sequence.","categories":["sections"],"meta":{"tier":"free","tags":["timeline","scroll","reveal","steps"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/vertical-timeline-reveal","dateAdded":"2026-08-23"}},{"name":"copy-code-snippet","type":"registry:component","title":"Copy Code Snippet","description":"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 and only confirms when it did, and long lines that scroll under edge fades. No dependencies.","categories":["patterns"],"meta":{"tier":"free","tags":["code","copy","clipboard","snippet","install","tabs","syntax"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/copy-code-snippet","dateAdded":"2026-08-23"}},{"name":"animated-stat-grid","type":"registry:component","title":"Animated Stat Grid","description":"A row of stat counters that count up together the moment they scroll into view.","categories":["sections"],"meta":{"tier":"free","tags":["stats","counter","grid","scroll"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/animated-stat-grid","dateAdded":"2026-08-23"}},{"name":"audio-wave-visualizer","type":"registry:component","title":"Audio Wave Visualizer","description":"A bouncing equalizer bar animation for audio/podcast/music UI.","categories":["assets"],"meta":{"tier":"free","tags":["audio","equalizer","visualizer","waveform"],"vibe":["neon","playful"],"href":"https://viberdy.dev/library/audio-wave-visualizer","dateAdded":"2026-08-23"}},{"name":"kanban-drag-columns","type":"registry:component","title":"Kanban Drag Columns","description":"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 way on a spring. Count badges roll, touch scrolls sideways with snap, and a full keyboard path moves cards between columns.","categories":["patterns"],"meta":{"tier":"free","tags":["kanban","drag","board","columns","keyboard","accessible"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/kanban-drag-columns","dateAdded":"2026-08-24"}},{"name":"testimonial-carousel","type":"registry:component","title":"Testimonial Carousel","description":"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 hairline that pauses on hover, focus and drag. Swipe, drag or use the arrow keys.","categories":["patterns"],"meta":{"tier":"free","tags":["testimonial","carousel","quote","slider","reviews","swipe","autoplay"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/testimonial-carousel","dateAdded":"2026-08-24"}},{"name":"hide-on-scroll-navbar","type":"registry:component","title":"Hide On Scroll Navbar","description":"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 line that stays visible as a hairline while the bar is away. Follows the page or any scroll box, no animation library.","categories":["patterns"],"meta":{"tier":"free","tags":["navbar","scroll","header","sticky","glass","progress"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/hide-on-scroll-navbar","dateAdded":"2026-08-24"}},{"name":"theme-toggle-sun-moon-morph","type":"registry:component","title":"Theme Toggle Sun Moon Morph","description":"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. Controlled or uncontrolled, no dependencies.","categories":["components"],"meta":{"tier":"free","tags":["theme","toggle","sun","moon","dark-mode","switch","svg","morph"],"vibe":["playful","minimal"],"href":"https://viberdy.dev/library/theme-toggle-sun-moon-morph","dateAdded":"2026-08-24"}},{"name":"scroll-linked-image-mask-reveal","type":"registry:component","title":"Scroll-Linked Image Mask Reveal","description":"An image whose circular clip-path mask grows and shrinks in lockstep with scroll.","categories":["sections"],"meta":{"tier":"free","tags":["scroll","image","mask","reveal","clip-path"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/scroll-linked-image-mask-reveal","dateAdded":"2026-08-24"}},{"name":"searchable-faq-accordion","type":"registry:component","title":"Searchable FAQ Accordion","description":"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-link anchors with a copy-link button, a designed empty state and a full keyboard model.","categories":["patterns"],"meta":{"tier":"free","tags":["faq","search","accordion","filter","highlight","chips","deep-link","keyboard"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/searchable-faq-accordion","dateAdded":"2026-08-24"}},{"name":"masonry-image-hover-grid","type":"registry:component","title":"Masonry Image Hover Grid","description":"A CSS-columns masonry gallery with a scale + caption reveal on hover.","categories":["assets"],"meta":{"tier":"free","tags":["masonry","gallery","grid","hover"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/masonry-image-hover-grid","dateAdded":"2026-08-24"}},{"name":"share-button-expand","type":"registry:component","title":"Share Button Expand","description":"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 the pointer, a lens slides between options, and the device share sheet joins in where it exists. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["share","button","expand","social","copy-link","clipboard","spring"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/share-button-expand","dateAdded":"2026-08-24"}},{"name":"page-loading-bar","type":"registry:component","title":"Page Loading Bar","description":"An nprogress-style top-of-page bar that eases toward completion, never stalling.","categories":["assets"],"meta":{"tier":"free","tags":["loading","progress","nprogress","navigation"],"vibe":["minimal","brutalist"],"href":"https://viberdy.dev/library/page-loading-bar","dateAdded":"2026-08-24"}},{"name":"badge-ping-counter","type":"registry:component","title":"Badge Ping Counter","description":"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. 99+ overflow, dot mode, any icon or avatar, light and dark. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["badge","counter","notification","ping","bell","unread","avatar","micro-interaction"],"vibe":["playful","minimal"],"href":"https://viberdy.dev/library/badge-ping-counter","dateAdded":"2026-08-24"}},{"name":"cursor-crosshair-readout","type":"registry:component","title":"Crosshair Cursor Readout","description":"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 dimensions drawn, click-to-pin distance measuring, keyboard nudging and a touch handle. Patrols the snap targets on its own at rest. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["cursor","crosshair","readout","technical","measure","snap","rulers","design-tool"],"vibe":["brutalist","minimal","editorial"],"href":"https://viberdy.dev/library/cursor-crosshair-readout","dateAdded":"2026-09-20"}},{"name":"cursor-label-follower","type":"registry:component","title":"Cursor Label Follower","description":"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 keyboards.","categories":["components"],"meta":{"tier":"free","tags":["cursor","label","spring","affordance","morph","touch"],"vibe":["minimal","editorial","playful"],"href":"https://viberdy.dev/library/cursor-label-follower","dateAdded":"2026-09-20"}},{"name":"cursor-lens-magnifier","type":"registry:component","title":"Cursor Lens Magnifier","description":"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 and hold on touch, arrow keys on a keyboard. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["cursor","lens","magnify","zoom","glass","inspect"],"vibe":["glass","minimal","editorial"],"href":"https://viberdy.dev/library/cursor-lens-magnifier","dateAdded":"2026-09-20"}},{"name":"cursor-snap-target","type":"registry:component","title":"Snapping Cursor","description":"A cursor dot that latches onto interactive elements and takes their exact shape and corner radius, leans toward the pointer while locked, follows keyboard focus and lights up on touch. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["cursor","magnetic","snap","spring","pointer","focus","touch"],"vibe":["minimal","playful","editorial"],"href":"https://viberdy.dev/library/cursor-snap-target","dateAdded":"2026-09-20"}},{"name":"hover-slice-shear","type":"registry:component","title":"Slice Shear Hover","description":"Display type cut into horizontal bands that fan apart under the pointer.","categories":["text-effects"],"meta":{"tier":"free","tags":["hover","text","clip-path","display"],"vibe":["brutalist","editorial","playful"],"href":"https://viberdy.dev/library/hover-slice-shear","dateAdded":"2026-09-20"}},{"name":"hover-link-peek","type":"registry:component","title":"Link Peek Preview","description":"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 and on a touch long-press.","categories":["patterns"],"meta":{"tier":"free","tags":["hover","preview","list","spring","links","touch","keyboard"],"vibe":["editorial","minimal","glass"],"href":"https://viberdy.dev/library/hover-link-peek","dateAdded":"2026-09-20"}},{"name":"hover-stroke-draw-button","type":"registry:component","title":"Stroke Draw Button","description":"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 the pointer, the arrow slides, and a press wipes the accent in. Three variants, light and dark tones, any size. No dependencies.","categories":["components"],"meta":{"tier":"free","tags":["button","hover","svg","stroke","outline","draw","arrow","cta"],"vibe":["minimal","editorial","brutalist"],"href":"https://viberdy.dev/library/hover-stroke-draw-button","dateAdded":"2026-09-20"}},{"name":"hover-expand-panels","type":"registry:component","title":"Expanding Panel Row","description":"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 horizontal as it opens, with a pointer-lit spot, a depth shift in the art and arrow-key navigation. Photos optional, no dependencies.","categories":["patterns"],"meta":{"tier":"free","tags":["hover","accordion","gallery","flex","spring","rotate","pointer","keyboard"],"vibe":["editorial","minimal","glass"],"href":"https://viberdy.dev/library/hover-expand-panels","dateAdded":"2026-09-20"}},{"name":"beam-sweep-backdrop","type":"registry:component","title":"Beam Sweep Backdrop","description":"Slow conic light beams rotating behind content, CSS-only and compositor-friendly.","categories":["backgrounds"],"meta":{"tier":"free","tags":["background","beams","conic-gradient","ambient"],"vibe":["glass","neon","minimal"],"href":"https://viberdy.dev/library/beam-sweep-backdrop","dateAdded":"2026-09-20"}},{"name":"pointer-warp-dot-field","type":"registry:component","title":"Pointer Warp Dot Field","description":"A canvas dot grid that bulges and brightens away from the cursor.","categories":["backgrounds"],"meta":{"tier":"free","tags":["background","canvas","cursor","grid"],"vibe":["minimal","neon","brutalist"],"href":"https://viberdy.dev/library/pointer-warp-dot-field","dateAdded":"2026-09-20"}},{"name":"crt-scanline-overlay","type":"registry:component","title":"CRT Scanline Overlay","description":"Scanlines, aperture grille, rolling refresh and vignette over any content.","categories":["backgrounds"],"meta":{"tier":"free","tags":["overlay","crt","retro","scanlines"],"vibe":["brutalist","neon","playful"],"href":"https://viberdy.dev/library/crt-scanline-overlay","dateAdded":"2026-09-20"}},{"name":"weight-wave-text","type":"registry:component","title":"Weight Wave Text","description":"Per-character variable font weight that swells around the pointer and drifts when idle.","categories":["text-effects"],"meta":{"tier":"free","tags":["text","variable-font","hover","kinetic"],"vibe":["editorial","minimal","playful"],"href":"https://viberdy.dev/library/weight-wave-text","dateAdded":"2026-09-20"}},{"name":"extruded-type-tilt","type":"registry:component","title":"Extruded Type Tilt","description":"Display type with a solid extrusion that swings around as the pointer moves.","categories":["text-effects"],"meta":{"tier":"free","tags":["text","3d","extrude","hover"],"vibe":["brutalist","editorial","neon"],"href":"https://viberdy.dev/library/extruded-type-tilt","dateAdded":"2026-09-20"}},{"name":"morphing-island-notch","type":"registry:component","title":"Morphing Island Notch","description":"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 so the silhouette stretches like liquid. Content crossfades between states, with room for live controls like call buttons and a waveform.","categories":["components"],"meta":{"tier":"free","tags":["island","notch","layout","status","goo","spring"],"vibe":["minimal","glass","playful"],"href":"https://viberdy.dev/library/morphing-island-notch","dateAdded":"2026-09-20"}},{"name":"pointer-parallax-scene","type":"registry:component","title":"Pointer Parallax Scene","description":"A depth system where layers separate under the pointer from one shared motion source.","categories":["animations"],"meta":{"tier":"free","tags":["parallax","pointer","depth","framer-motion"],"vibe":["glass","minimal","editorial"],"href":"https://viberdy.dev/library/pointer-parallax-scene","dateAdded":"2026-09-20"}},{"name":"flip-grid-reorder","type":"registry:component","title":"FLIP Grid Reorder","description":"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, newcomers pop in, and a pointer light follows your cursor across each tile.","categories":["animations"],"meta":{"tier":"free","tags":["flip","layout","filter","grid","spring","shuffle","sort","tiles"],"vibe":["minimal","playful","glass"],"href":"https://viberdy.dev/library/flip-grid-reorder","dateAdded":"2026-09-20"}},{"name":"scroll-card-deal","type":"registry:component","title":"Scroll Card Deal","description":"A pile of cards that fans out symmetrically as its section crosses the viewport.","categories":["animations"],"meta":{"tier":"free","tags":["scroll","cards","sticky","framer-motion"],"vibe":["playful","editorial","glass"],"href":"https://viberdy.dev/library/scroll-card-deal","dateAdded":"2026-09-20"}},{"name":"velocity-marquee-rail","type":"registry:component","title":"Velocity Marquee Rail","description":"A marquee that accelerates with scroll speed and flips direction when you scroll back.","categories":["animations"],"meta":{"tier":"free","tags":["marquee","scroll","velocity","framer-motion"],"vibe":["brutalist","editorial","playful"],"href":"https://viberdy.dev/library/velocity-marquee-rail","dateAdded":"2026-09-20"}},{"name":"path-follow-scroll","type":"registry:component","title":"Path Follow Scroll","description":"A marker that rides an SVG curve on scroll, banking through the bends.","categories":["animations"],"meta":{"tier":"free","tags":["scroll","svg","offset-path","framer-motion"],"vibe":["minimal","editorial","neon"],"href":"https://viberdy.dev/library/path-follow-scroll","dateAdded":"2026-09-20"}},{"name":"drag-inertia-carousel","type":"registry:component","title":"Drag Inertia Carousel","description":"A rail you can throw — it projects the momentum and settles on the nearest slide.","categories":["patterns"],"meta":{"tier":"free","tags":["drag","carousel","inertia","gesture"],"vibe":["playful","minimal","glass"],"href":"https://viberdy.dev/library/drag-inertia-carousel","dateAdded":"2026-09-20"}},{"name":"fuzzy-match-input","type":"registry:component","title":"Fuzzy Match Input","description":"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 spring cursor follows the arrow keys, scores get a small bar, and recent picks and a calm no-match state are built in. Dark or light, dependency-free.","categories":["components"],"meta":{"tier":"free","tags":["search","fuzzy","input","filter","combobox","keyboard","highlight"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/fuzzy-match-input","dateAdded":"2026-09-20"}},{"name":"cursor-mask-reveal","type":"registry:component","title":"Cursor Mask Reveal","description":"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, drag on touch, arrow keys on a keyboard. No dependencies.","categories":["patterns"],"meta":{"tier":"free","tags":["cursor","mask","reveal","hover","spotlight","x-ray"],"vibe":["minimal","editorial","playful"],"href":"https://viberdy.dev/library/cursor-mask-reveal","dateAdded":"2026-09-20"}},{"name":"ascii-halftone-canvas","type":"registry:component","title":"ASCII Halftone Canvas","description":"Turns any canvas drawing into live ASCII art, sampled one pixel per glyph.","categories":["assets"],"meta":{"tier":"free","tags":["ascii","canvas","halftone","retro"],"vibe":["brutalist","neon","minimal"],"href":"https://viberdy.dev/library/ascii-halftone-canvas","dateAdded":"2026-09-20"}},{"name":"scrub-timeline-player","type":"registry:component","title":"Scrub Timeline Player","description":"A media scrubber with buffered range, hover timestamp and pointer-capture dragging.","categories":["components"],"meta":{"tier":"free","tags":["media","slider","scrub","player"],"vibe":["minimal","glass","editorial"],"href":"https://viberdy.dev/library/scrub-timeline-player","dateAdded":"2026-09-20"}},{"name":"otp-code-input","type":"registry:component","title":"OTP Code Input","description":"A one-time-code field whose cells survive SMS autofill, paste and Android backspace.","categories":["components"],"meta":{"tier":"free","tags":["otp","input","form","auth","2fa"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/otp-code-input","dateAdded":"2026-09-23"}},{"name":"concrete-wall-texture","type":"registry:component","title":"Concrete Wall Texture","description":"A seamless procedural concrete surface drawn once to canvas and blended over anything.","categories":["backgrounds"],"meta":{"tier":"free","tags":["texture","concrete","canvas","noise","surface"],"vibe":["brutalist","editorial","minimal"],"href":"https://viberdy.dev/library/concrete-wall-texture","dateAdded":"2026-09-23"}},{"name":"signal-field","type":"registry:component","title":"Signal Field","description":"A machined dot grid lit by slow waves of light, with a pointer lens and click ripples.","categories":["backgrounds"],"meta":{"tier":"free","tags":["background","canvas","cursor","grid","interactive"],"vibe":["minimal","neon"],"href":"https://viberdy.dev/library/signal-field","dateAdded":"2026-09-25"}},{"name":"marker-highlight-text","type":"registry:component","title":"Marker Highlight Text","description":"A felt-tip highlighter stroke with a ragged edge that draws itself behind a phrase when it scrolls into view.","categories":["text-effects"],"meta":{"tier":"free","tags":["text","highlight","scroll","inline","svg-filter"],"vibe":["editorial","playful"],"href":"https://viberdy.dev/library/marker-highlight-text","dateAdded":"2026-09-25"}},{"name":"window-light-drift","type":"registry:component","title":"Window Light Drift","description":"Afternoon sun through a window, crossing a plaster wall over ninety seconds — and your pointer casts a shadow in it.","categories":["backgrounds"],"meta":{"tier":"free","tags":["background","canvas","light","ambient","cursor"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/window-light-drift","dateAdded":"2026-09-25"}},{"name":"swatch-fan-deck","type":"registry:component","title":"Swatch Fan Deck","description":"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.","categories":["components"],"meta":{"tier":"free","tags":["picker","colour","radio","keyboard","local-business"],"vibe":["playful","editorial"],"href":"https://viberdy.dev/library/swatch-fan-deck","dateAdded":"2026-09-25"}},{"name":"hours-poster-section","type":"registry:component","title":"Hours Poster Section","description":"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 clock.","categories":["sections"],"meta":{"tier":"free","tags":["opening-hours","local-business","typography","section","live"],"vibe":["editorial","brutalist"],"href":"https://viberdy.dev/library/hours-poster-section","dateAdded":"2026-09-25"}},{"name":"headline-switch-hero","type":"registry:component","title":"Headline Switch Hero","description":"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 the price.","categories":["heroes"],"meta":{"tier":"free","tags":["hero","tabs","local-business","typography","keyboard"],"vibe":["editorial","brutalist"],"href":"https://viberdy.dev/library/headline-switch-hero","dateAdded":"2026-09-25"}},{"name":"liquid-glass-button","type":"registry:component","title":"Liquid Glass Button","description":"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.","categories":["components"],"meta":{"tier":"free","tags":["button","glass","liquid glass","refraction","svg filter","cursor"],"vibe":["glass","minimal"],"href":"https://viberdy.dev/library/liquid-glass-button","dateAdded":"2026-09-26"}},{"name":"liquid-glass-switch","type":"registry:component","title":"Liquid Glass Switch","description":"A toggle whose knob swells into a clear glass lens while you hold or drag it, magnifying the track beneath, then springs home solid.","categories":["components"],"meta":{"tier":"free","tags":["switch","toggle","glass","liquid glass","lens","drag"],"vibe":["glass","playful"],"href":"https://viberdy.dev/library/liquid-glass-switch","dateAdded":"2026-09-26"}},{"name":"glass-etch-text","type":"registry:component","title":"Glass Etch Text","description":"Real, selectable heading text rendered as glass: a lit bevel, a graduated rim and a hairline colour fringe, raised or etched in.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","glass","svg filter","bevel","headline","liquid glass"],"vibe":["glass","minimal"],"href":"https://viberdy.dev/library/glass-etch-text","dateAdded":"2026-09-26"}},{"name":"glass-focus-field","type":"registry:component","title":"Glass Focus Field","description":"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 its frost on an error.","categories":["patterns"],"meta":{"tier":"free","tags":["input","form","text field","focus","glass","floating label","validation"],"vibe":["glass","minimal"],"href":"https://viberdy.dev/library/glass-focus-field","dateAdded":"2026-09-26"}},{"name":"glass-morph-popover","type":"registry:component","title":"Glass Morph Popover","description":"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.","categories":["animations"],"meta":{"tier":"free","tags":["popover","animation","morph","glass","liquid glass","dialog","clip-path"],"vibe":["glass","minimal"],"href":"https://viberdy.dev/library/glass-morph-popover","dateAdded":"2026-09-26"}},{"name":"glass-tint-footer","type":"registry:component","title":"Glass Tint Footer","description":"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 gliding between links and frost re-tinted to that section.","categories":["sections"],"meta":{"tier":"free","tags":["footer","section","glass","liquid glass","adaptive tint","scroll-linked","newsletter"],"vibe":["glass","minimal"],"href":"https://viberdy.dev/library/glass-tint-footer","dateAdded":"2026-09-26"}},{"name":"hairline-tile-button","type":"registry:component","title":"Hairline Tile Button","description":"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 are a real keyboard shortcut.","categories":["components"],"meta":{"tier":"free","tags":["button","bento","hairline","keyboard shortcut","flip","dark","tile"],"vibe":["minimal"],"href":"https://viberdy.dev/library/hairline-tile-button","dateAdded":"2026-09-26"}},{"name":"spec-numeral-tile","type":"registry:component","title":"Spec Numeral Tile","description":"A big bold numeral in a spec-sheet voice whose digits roll into place like an odometer, set in a hairline bento tile.","categories":["text-effects"],"meta":{"tier":"free","tags":["numeral","count up","odometer","stat","bento","tile","tabular figures"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/spec-numeral-tile","dateAdded":"2026-09-26"}},{"name":"bento-command-nav","type":"registry:component","title":"Bento Command Nav","description":"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.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","mega menu","bento","header","disclosure"],"vibe":["minimal"],"href":"https://viberdy.dev/library/bento-command-nav","dateAdded":"2026-09-26"}},{"name":"capture-loop-card","type":"registry:component","title":"Capture Loop Card","description":"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.","categories":["components"],"meta":{"tier":"free","tags":["bento","video card","screen recording","product demo","feature tile","hover to play"],"vibe":["minimal"],"href":"https://viberdy.dev/library/capture-loop-card","dateAdded":"2026-09-26"}},{"name":"bento-footer-grid","type":"registry:component","title":"Bento Footer Grid","description":"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 across its row as its neighbours reflow, and a wordmark that rises into its crop.","categories":["sections"],"meta":{"tier":"free","tags":["footer","bento","sitemap","newsletter","status","uptime","scroll progress","section"],"vibe":["minimal"],"href":"https://viberdy.dev/library/bento-footer-grid","dateAdded":"2026-09-26"}},{"name":"widget-reorder-input","type":"registry:component","title":"Widget Reorder Input","description":"A \"customise your dashboard\" panel: drag or keyboard reorder, show and hide switches, a live miniature of the result, and save, cancel and reset.","categories":["patterns"],"meta":{"tier":"free","tags":["reorder","drag and drop","dashboard","settings","bento","keyboard","form"],"vibe":["minimal"],"href":"https://viberdy.dev/library/widget-reorder-input","dateAdded":"2026-09-26"}},{"name":"pushed-shadow-button","type":"registry:component","title":"Pushed Shadow Button","description":"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.","categories":["components"],"meta":{"tier":"free","tags":["button","neo-brutalism","brutalist","hard shadow","press","cta"],"vibe":["brutalist","playful"],"href":"https://viberdy.dev/library/pushed-shadow-button","dateAdded":"2026-09-27"}},{"name":"offset-shadow-card","type":"registry:component","title":"Offset Shadow Card","description":"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 sticker badge, 3px ink throughout.","categories":["components"],"meta":{"tier":"free","tags":["card","neo-brutalism","brutalist","hard shadow","product card","blog card","price tag"],"vibe":["brutalist","playful"],"href":"https://viberdy.dev/library/offset-shadow-card","dateAdded":"2026-09-27"}},{"name":"weight-slam-text","type":"registry:component","title":"Weight Slam Text","description":"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.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","variable font","font weight","hover","neo-brutalism","brutalist","headline","kinetic type"],"vibe":["brutalist","playful"],"href":"https://viberdy.dev/library/weight-slam-text","dateAdded":"2026-09-27"}},{"name":"black-border-form","type":"registry:component","title":"Black Border Form","description":"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 posting form and a received stamp.","categories":["patterns"],"meta":{"tier":"free","tags":["form","input","validation","sign up","neo-brutalism","brutalist","error state","select","checkbox"],"vibe":["brutalist","playful"],"href":"https://viberdy.dev/library/black-border-form","dateAdded":"2026-09-27"}},{"name":"punch-card-field","type":"registry:component","title":"Punch Card Field","description":"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 decode it.","categories":["backgrounds"],"meta":{"tier":"free","tags":["background","punch card","hollerith","neo-brutalism","brutalist","retro computing","svg","pattern"],"vibe":["brutalist","playful"],"href":"https://viberdy.dev/library/punch-card-field","dateAdded":"2026-09-27"}},{"name":"warning-tape-footer","type":"registry:component","title":"Warning Tape Footer","description":"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 whose letters press down onto their own ink plates.","categories":["sections"],"meta":{"tier":"free","tags":["footer","marquee","hazard tape","neo-brutalism","brutalist","newsletter","wordmark","draggable"],"vibe":["brutalist","playful"],"href":"https://viberdy.dev/library/warning-tape-footer","dateAdded":"2026-09-27"}},{"name":"orbit-light-button","type":"registry:component","title":"Orbit Light Button","description":"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 there, and a press sends a ring outward.","categories":["components"],"meta":{"tier":"free","tags":["button","cta","border beam","light","pointer","svg","dark","moving border"],"vibe":["neon","minimal"],"href":"https://viberdy.dev/library/orbit-light-button","dateAdded":"2026-09-27"}},{"name":"pointer-lit-card","type":"registry:component","title":"Pointer Lit Card","description":"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 counter-parallax on the content.","categories":["components"],"meta":{"tier":"free","tags":["card","spotlight","border glow","tilt","parallax","pointer","dark","hover"],"vibe":["neon","minimal"],"href":"https://viberdy.dev/library/pointer-lit-card","dateAdded":"2026-09-27"}},{"name":"slit-light-heading","type":"registry:component","title":"Slit Light Heading","description":"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 ahead wait in the dark.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","heading","scroll","reveal","light","mask","dark","scroll-driven"],"vibe":["minimal","neon"],"href":"https://viberdy.dev/library/slit-light-heading","dateAdded":"2026-09-27"}},{"name":"deploy-log-input","type":"registry:component","title":"Deploy Log Input","description":"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 top edge, and the last line waits for your handler.","categories":["patterns"],"meta":{"tier":"free","tags":["form","input","email","waitlist","signup","loading","log","dark"],"vibe":["minimal","neon"],"href":"https://viberdy.dev/library/deploy-log-input","dateAdded":"2026-09-27"}},{"name":"horizon-light-footer","type":"registry:component","title":"Horizon Light Footer","description":"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 every few seconds and lights the letters as it passes.","categories":["sections"],"meta":{"tier":"free","tags":["footer","section","wordmark","light","pointer","dark","saas"],"vibe":["minimal","neon"],"href":"https://viberdy.dev/library/horizon-light-footer","dateAdded":"2026-09-27"}},{"name":"beam-connector","type":"registry:component","title":"Beam Connector","description":"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 far end.","categories":["animations"],"meta":{"tier":"free","tags":["animated beam","connector","svg","diagram","integrations","pulse","dark","flow"],"vibe":["neon","minimal"],"href":"https://viberdy.dev/library/beam-connector","dateAdded":"2026-09-27"}},{"name":"chrome-pill-button","type":"registry:component","title":"Chrome Pill Button","description":"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 ring into the surface.","categories":["components"],"meta":{"tier":"free","tags":["button","chrome","metallic","pointer","press","css","y2k"],"vibe":["glass","playful"],"href":"https://viberdy.dev/library/chrome-pill-button","dateAdded":"2026-09-27"}},{"name":"holo-ticket-card","type":"registry:component","title":"Holo Ticket Card","description":"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 the foil's colour slides and a glare follows.","categories":["components"],"meta":{"tier":"free","tags":["card","ticket","tour","event","holographic","foil","tilt","pointer","music"],"vibe":["glass","playful"],"href":"https://viberdy.dev/library/holo-ticket-card","dateAdded":"2026-09-27"}},{"name":"pour-fill-heading","type":"registry:component","title":"Pour Fill Heading","description":"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 scroll speed and settles.","categories":["text-effects"],"meta":{"tier":"free","tags":["text","heading","scroll","chrome","liquid","mask","css","y2k"],"vibe":["playful","glass"],"href":"https://viberdy.dev/library/pour-fill-heading","dateAdded":"2026-09-27"}},{"name":"chrome-rim-input","type":"registry:component","title":"Chrome Rim Input","description":"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 success pours the pill into a round chrome drop with a check.","categories":["patterns"],"meta":{"tier":"free","tags":["form","input","email","newsletter","pre-save","chrome","svg","feedback"],"vibe":["glass","playful"],"href":"https://viberdy.dev/library/chrome-rim-input","dateAdded":"2026-09-27"}},{"name":"mercury-pour-nav","type":"registry:component","title":"Mercury Pour Nav","description":"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 toward the link you hover, and turns the labels it covers dark.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","indicator","spring","liquid","chrome","pointer"],"vibe":["playful","glass"],"href":"https://viberdy.dev/library/mercury-pour-nav","dateAdded":"2026-09-27"}},{"name":"chrome-pour-reveal","type":"registry:component","title":"Chrome Pour Reveal","description":"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 from the top behind a hot seam of light.","categories":["animations"],"meta":{"tier":"free","tags":["reveal","scroll","animation","chrome","liquid","goo","svg filter","drip"],"vibe":["playful","glass"],"href":"https://viberdy.dev/library/chrome-pour-reveal","dateAdded":"2026-09-27"}},{"name":"soft-glow-button","type":"registry:component","title":"Soft Glow Button","description":"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 of light.","categories":["components"],"meta":{"tier":"free","tags":["button","glow","grain","pointer","press","css","spa"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/soft-glow-button","dateAdded":"2026-09-27"}},{"name":"halo-treatment-card","type":"registry:component","title":"Halo Treatment Card","description":"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 the card lifts on a feathered shadow.","categories":["components"],"meta":{"tier":"free","tags":["card","treatment","service","spa","glow","grain","hover","pointer"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/halo-treatment-card","dateAdded":"2026-09-27"}},{"name":"veil-resolve-heading","type":"registry:component","title":"Veil Resolve Heading","description":"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 as they sharpen.","categories":["text-effects"],"meta":{"tier":"free","tags":["text","heading","blur","reveal","serif","scroll","glow"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/veil-resolve-heading","dateAdded":"2026-09-27"}},{"name":"aura-booking-picker","type":"registry:component","title":"Aura Booking Picker","description":"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 it confirms anything.","categories":["patterns"],"meta":{"tier":"free","tags":["form","booking","appointment","date picker","time slots","spa","clinic","radio group"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/aura-booking-picker","dateAdded":"2026-09-27"}},{"name":"dusk-set-footer","type":"registry:component","title":"Dusk Set Footer","description":"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 italic serif wordmark.","categories":["sections"],"meta":{"tier":"free","tags":["footer","scroll","sunset","glow","grain","wordmark","serif","spa"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/dusk-set-footer","dateAdded":"2026-09-27"}},{"name":"breath-pacer-ring","type":"registry:component","title":"Breath Pacer Ring","description":"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 down; it starts only when asked.","categories":["animations"],"meta":{"tier":"free","tags":["breathing","meditation","wellness","animation","timer","guide","glow","svg"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/breath-pacer-ring","dateAdded":"2026-09-27"}},{"name":"aurora-glow-button","type":"registry:component","title":"Aurora Glow Button","description":"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 light out on press.","categories":["components"],"meta":{"tier":"free","tags":["button","glow","aurora","conic","css","press"],"vibe":["neon","glass"],"href":"https://viberdy.dev/library/aurora-glow-button","dateAdded":"2026-09-27"}},{"name":"aurora-rim-card","type":"registry:component","title":"Aurora Rim Card","description":"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 toward it.","categories":["components"],"meta":{"tier":"free","tags":["card","rim","border","aurora","conic","tilt","testimonial"],"vibe":["neon","glass"],"href":"https://viberdy.dev/library/aurora-rim-card","dateAdded":"2026-09-27"}},{"name":"aurora-drift-text","type":"registry:component","title":"Aurora Drift Text","description":"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 the pointer when it comes near.","categories":["text-effects"],"meta":{"tier":"free","tags":["text","heading","gradient text","aurora","background clip","pointer"],"vibe":["neon","editorial"],"href":"https://viberdy.dev/library/aurora-drift-text","dateAdded":"2026-09-27"}},{"name":"aurora-flow-nav","type":"registry:component","title":"Aurora Flow Nav","description":"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 first.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","indicator","aurora","glass","scroll spy"],"vibe":["neon","glass"],"href":"https://viberdy.dev/library/aurora-flow-nav","dateAdded":"2026-09-27"}},{"name":"aurora-ribbon-cursor","type":"registry:component","title":"Aurora Ribbon Cursor","description":"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 the trail reads as a curtain.","categories":["animations"],"meta":{"tier":"free","tags":["cursor","trail","pointer","canvas","aurora","ribbon","interactive"],"vibe":["neon","playful"],"href":"https://viberdy.dev/library/aurora-ribbon-cursor","dateAdded":"2026-09-27"}},{"name":"aurora-glow-input","type":"registry:component","title":"Aurora Glow Input","description":"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 sweeps the whole palette once.","categories":["patterns"],"meta":{"tier":"free","tags":["form","input","email","waitlist","glow","aurora","focus"],"vibe":["neon","glass"],"href":"https://viberdy.dev/library/aurora-glow-input","dateAdded":"2026-09-27"}},{"name":"axis-press-button","type":"registry:component","title":"Axis Press Button","description":"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 clenches every letter and springs it back.","categories":["components"],"meta":{"tier":"free","tags":["button","variable font","kinetic type","press","hover","spring"],"vibe":["editorial","playful"],"href":"https://viberdy.dev/library/axis-press-button","dateAdded":"2026-09-28"}},{"name":"axis-session-card","type":"registry:component","title":"Axis Session Card","description":"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; hover pushes it further into its own kind.","categories":["components"],"meta":{"tier":"free","tags":["card","variable font","kinetic type","event","schedule","hover"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/axis-session-card","dateAdded":"2026-09-28"}},{"name":"axis-scrub-heading","type":"registry:component","title":"Axis Scrub Heading","description":"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 scrolling back unwrites it.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","scroll","variable font","kinetic type","heading","scrub"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/axis-scrub-heading","dateAdded":"2026-09-28"}},{"name":"axis-flow-nav","type":"registry:component","title":"Axis Flow Nav","description":"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 nav never changes size.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","variable font","kinetic type","scroll spy","indicator"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/axis-flow-nav","dateAdded":"2026-09-28"}},{"name":"glyph-axis-stagger","type":"registry:component","title":"Glyph Axis Stagger","description":"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 choose, on view, on hover or on command.","categories":["animations"],"meta":{"tier":"free","tags":["animation","stagger","variable font","kinetic type","split text","spring"],"vibe":["editorial","playful"],"href":"https://viberdy.dev/library/glyph-axis-stagger","dateAdded":"2026-09-28"}},{"name":"name-badge-input","type":"registry:component","title":"Name Badge Input","description":"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, and the name stays flush across the badge.","categories":["patterns"],"meta":{"tier":"free","tags":["form","input","name","badge","variable font","kinetic type","event","ticket"],"vibe":["editorial","playful"],"href":"https://viberdy.dev/library/name-badge-input","dateAdded":"2026-09-28"}},{"name":"keycap-button","type":"registry:component","title":"Keycap Button","description":"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 copper status light glows while it's held.","categories":["components"],"meta":{"tier":"free","tags":["button","keycap","3d","press","tactile","css"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/keycap-button","dateAdded":"2026-09-28"}},{"name":"extruded-spec-card","type":"registry:component","title":"Extruded Spec Card","description":"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 lit, over a data-plate of specs.","categories":["components"],"meta":{"tier":"free","tags":["card","3d","css 3d","dial","tilt","product","specs"],"vibe":["minimal"],"href":"https://viberdy.dev/library/extruded-spec-card","dateAdded":"2026-09-28"}},{"name":"anamorphic-heading","type":"registry:component","title":"Anamorphic Heading","description":"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 square as it scrolls in.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","3d","css 3d","anamorphic","scroll","parallax","heading"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/anamorphic-heading","dateAdded":"2026-09-28"}},{"name":"curved-rail-nav","type":"registry:component","title":"Curved Rail Nav","description":"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 toward it on a spring.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","3d","css 3d","perspective","scroll spy"],"vibe":["minimal"],"href":"https://viberdy.dev/library/curved-rail-nav","dateAdded":"2026-09-28"}},{"name":"assemble-reveal","type":"registry:component","title":"Assemble Reveal","description":"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 after another, as it comes into view.","categories":["animations"],"meta":{"tier":"free","tags":["animation","reveal","3d","css 3d","stagger","spring","scroll"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/assemble-reveal","dateAdded":"2026-09-28"}},{"name":"detent-dial-input","type":"registry:component","title":"Detent Dial Input","description":"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 keyboard control that submits in a form.","categories":["patterns"],"meta":{"tier":"free","tags":["input","slider","dial","knob","3d","css 3d","form"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/detent-dial-input","dateAdded":"2026-09-28"}},{"name":"bayer-fill-button","type":"registry:component","title":"Bayer Fill Button","description":"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 the screen halves to a finer grid.","categories":["components"],"meta":{"tier":"free","tags":["button","dither","bayer","hover","mask","css"],"vibe":["minimal"],"href":"https://viberdy.dev/library/bayer-fill-button","dateAdded":"2026-09-28"}},{"name":"dither-develop-card","type":"registry:component","title":"Dither Develop Card","description":"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 dither.","categories":["components"],"meta":{"tier":"free","tags":["card","dither","bayer","image","reveal","hover","css"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/dither-develop-card","dateAdded":"2026-09-28"}},{"name":"ascii-resolve-heading","type":"registry:component","title":"ASCII Resolve Heading","description":"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 under the pointer shows the glyphs again.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","ascii","heading","reveal","scroll","hover","typography"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/ascii-resolve-heading","dateAdded":"2026-09-28"}},{"name":"ascii-density-nav","type":"registry:component","title":"ASCII Density Nav","description":"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 peak in signal.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","ascii","indicator","spring","scroll spy"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/ascii-density-nav","dateAdded":"2026-09-28"}},{"name":"bayer-dissolve","type":"registry:component","title":"Bayer Dissolve","description":"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 the ground on first view.","categories":["animations"],"meta":{"tier":"free","tags":["animation","transition","dither","bayer","dissolve","mask","reveal"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/bayer-dissolve","dateAdded":"2026-09-28"}},{"name":"dither-drop-input","type":"registry:component","title":"Dither Drop Input","description":"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 as you go; submitting copies it.","categories":["patterns"],"meta":{"tier":"free","tags":["form","file upload","dropzone","dither","image","url builder","css"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/dither-drop-input","dateAdded":"2026-09-28"}},{"name":"weight-press-button","type":"registry:component","title":"Weight Press Button","description":"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 and its shadow collapses to the contact line, then springs back.","categories":["components"],"meta":{"tier":"free","tags":["button","variable font","press","shadow","spring","css"],"vibe":["minimal"],"href":"https://viberdy.dev/library/weight-press-button","dateAdded":"2026-09-28"}},{"name":"light-lift-card","type":"registry:component","title":"Light Lift Card","description":"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 rose, a contact line that thins, and a plate of light at a colour temperature.","categories":["components"],"meta":{"tier":"free","tags":["card","tilt","shadow","hover","product","css"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/light-lift-card","dateAdded":"2026-09-28"}},{"name":"sundial-shadow-heading","type":"registry:component","title":"Sundial Shadow Heading","description":"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 left, and a faint warm band of light slides across the ink.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","shadow","scroll","heading","light","css"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/sundial-shadow-heading","dateAdded":"2026-09-28"}},{"name":"hairline-morph-nav","type":"registry:component","title":"Hairline Morph Nav","description":"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 on a slower one, and the active label steps up a weight without shifting.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","underline","spring","indicator","scroll spy"],"vibe":["minimal"],"href":"https://viberdy.dev/library/hairline-morph-nav","dateAdded":"2026-09-28"}},{"name":"scrub-mask-reveal","type":"registry:component","title":"Scrub Mask Reveal","description":"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 seems to stay still, bound with no easing, with a hairline that fills.","categories":["animations"],"meta":{"tier":"free","tags":["animation","scroll","reveal","clip path","image","scrub"],"vibe":["minimal"],"href":"https://viberdy.dev/library/scrub-mask-reveal","dateAdded":"2026-09-28"}},{"name":"wake-time-wheel","type":"registry:component","title":"Wake Time Wheel","description":"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 keyboard spinbutton, with the time the sunrise starts beneath.","categories":["patterns"],"meta":{"tier":"free","tags":["form","time picker","wheel","scroll snap","input","alarm"],"vibe":["minimal"],"href":"https://viberdy.dev/library/wake-time-wheel","dateAdded":"2026-09-28"}},{"name":"squash-press-button","type":"registry:component","title":"Squash Press Button","description":"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 springs back with one overshoot while its tinted shadows collapse and return.","categories":["components"],"meta":{"tier":"free","tags":["button","squash and stretch","spring","press","jelly","shadow"],"vibe":["playful"],"href":"https://viberdy.dev/library/squash-press-button","dateAdded":"2026-09-28"}},{"name":"wobble-drop-card","type":"registry:component","title":"Wobble Drop Card","description":"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; press it and the card squashes onto its base and pops back.","categories":["components"],"meta":{"tier":"free","tags":["card","product card","sticker","spring","follow through","squash","music","merch"],"vibe":["playful"],"href":"https://viberdy.dev/library/wobble-drop-card","dateAdded":"2026-09-28"}},{"name":"squish-letter-heading","type":"registry:component","title":"Squish Letter Heading","description":"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 the line ripples behind the pointer before settling to crisp type.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","heading","hover","squash and stretch","spring","letters"],"vibe":["playful"],"href":"https://viberdy.dev/library/squish-letter-heading","dateAdded":"2026-09-28"}},{"name":"taffy-pill-nav","type":"registry:component","title":"Taffy Pill Nav","description":"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 turning paper exactly where it covers them.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","indicator","spring","squash and stretch","pill"],"vibe":["playful"],"href":"https://viberdy.dev/library/taffy-pill-nav","dateAdded":"2026-09-28"}},{"name":"squish-flip","type":"registry:component","title":"Squish Flip","description":"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, squashes as it lands, and settles; new items pop in.","categories":["animations"],"meta":{"tier":"free","tags":["animation","flip","layout animation","list","squash and stretch","spring","filter"],"vibe":["playful"],"href":"https://viberdy.dev/library/squish-flip","dateAdded":"2026-09-28"}},{"name":"gummy-type-input","type":"registry:component","title":"Gummy Type Input","description":"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 input underneath keeps the caret, selection and autofill.","categories":["patterns"],"meta":{"tier":"free","tags":["input","email","form","newsletter","waitlist","typing animation","squash and stretch"],"vibe":["playful"],"href":"https://viberdy.dev/library/gummy-type-input","dateAdded":"2026-09-28"}},{"name":"offset-target-button","type":"registry:component","title":"Offset Target Button","description":"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 target in 120ms when you press it.","categories":["components"],"meta":{"tier":"free","tags":["button","cta","broken grid","offset","press","swiss"],"vibe":["editorial"],"href":"https://viberdy.dev/library/offset-target-button","dateAdded":"2026-09-28"}},{"name":"z-swap-plate-card","type":"registry:component","title":"Z-Swap Plate Card","description":"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 it, the bracket going with the lift, in 240ms.","categories":["components"],"meta":{"tier":"free","tags":["card","portfolio","grid","overlap","hover","broken grid","work"],"vibe":["editorial"],"href":"https://viberdy.dev/library/z-swap-plate-card","dateAdded":"2026-09-28"}},{"name":"edge-invert-headline","type":"registry:component","title":"Edge Invert Headline","description":"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 column 3, 6 or 9 the plate breaks by the rule.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","headline","invert","knockout","drag","broken grid","typography"],"vibe":["editorial"],"href":"https://viberdy.dev/library/edge-invert-headline","dateAdded":"2026-09-28"}},{"name":"index-step-nav","type":"registry:component","title":"Index Step Nav","description":"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 the current item, or the one you point at, in four ticks.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","numbered","broken grid","copy email","steps"],"vibe":["editorial"],"href":"https://viberdy.dev/library/index-step-nav","dateAdded":"2026-09-28"}},{"name":"rule-handoff-flip","type":"registry:component","title":"Rule Handoff Flip","description":"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 while the break passes to whichever item is now third.","categories":["animations"],"meta":{"tier":"free","tags":["animation","flip","layout animation","list","grid","broken grid","filter"],"vibe":["editorial"],"href":"https://viberdy.dev/library/rule-handoff-flip","dateAdded":"2026-09-28"}},{"name":"hanging-label-input","type":"registry:component","title":"Hanging Label Input","description":"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 it only claims to send when it has a handler.","categories":["patterns"],"meta":{"tier":"free","tags":["form","contact","input","label","broken grid","agency"],"vibe":["editorial"],"href":"https://viberdy.dev/library/hanging-label-input","dateAdded":"2026-09-28"}},{"name":"aura-dial","type":"registry:component","title":"Aura Dial","description":"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 asset on the page retunes live.","categories":["components"],"meta":{"tier":"free","tags":["personalization","theme","settings","accessibility","adaptive","svg","control","dark mode"],"vibe":["minimal"],"href":"https://viberdy.dev/library/aura-dial","dateAdded":"2026-10-08"}},{"name":"density-ledger","type":"registry:component","title":"Density Ledger","description":"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 your pointer stays put.","categories":["components"],"meta":{"tier":"free","tags":["table","list","density","data grid","pinch zoom","sparkline","dashboard","personalization"],"vibe":["minimal"],"href":"https://viberdy.dev/library/density-ledger","dateAdded":"2026-10-08"}},{"name":"bell-breath-loader","type":"registry:component","title":"Bell Breath Loader","description":"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 tentacles grow. With no value it breathes on a five second cycle, and at 100 it exhales, lifts 24 px and fades.","categories":["components"],"meta":{"tier":"free","tags":["loader","progress","progressbar","spinner","jellyfish","medusa","svg","breathing","upload","dark","anomaly","attention"],"vibe":["minimal"],"href":"https://viberdy.dev/library/bell-breath-loader","dateAdded":"2026-10-10"}},{"name":"bead-button","type":"registry:component","title":"Bead Button","description":"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, while the label stays upright and crisp. The pointer's approach leans it, a press flattens it and pinches off a satellite droplet that re-merges, and it never runs away.","categories":["components"],"meta":{"tier":"free","tags":["button","water","droplet","lens","refraction","css","svg","glass","interactive","anomaly","attention"],"vibe":["minimal"],"href":"https://viberdy.dev/library/bead-button","dateAdded":"2026-10-11"}},{"name":"holo-site-footer","type":"registry:component","title":"Holo Site Footer","description":"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 of real links and the copyright with a way back up.","categories":["sections"],"meta":{"tier":"free","tags":["footer","cta","closing section","links","glass","iridescent","minimal"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/holo-site-footer","dateAdded":"2026-10-15"}},{"name":"asterisk-type-headline","type":"registry:component","title":"Asterisk Type Headline","description":"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 default just after the last word) and keeps turning slowly.","categories":["text-effects"],"meta":{"tier":"free","tags":["typewriter","text animation","headline","caret","asterisk","inline pill","hero text"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/asterisk-type-headline","dateAdded":"2026-10-15"}},{"name":"holo-pill-nav","type":"registry:component","title":"Holo Pill Nav","description":"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 prop flips it for dark sections.","categories":["components"],"meta":{"tier":"free","tags":["navbar","header","pill button","glass","hover fill","dark mode","minimal"],"vibe":["minimal","glass"],"href":"https://viberdy.dev/library/holo-pill-nav","dateAdded":"2026-10-15"}},{"name":"asterisk-submit-input","type":"registry:component","title":"Asterisk Submit Input","description":"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 honest status line.","categories":["components"],"meta":{"tier":"free","tags":["input","email","form","newsletter","submit button","validation","asterisk"],"vibe":["minimal"],"href":"https://viberdy.dev/library/asterisk-submit-input","dateAdded":"2026-10-15"}},{"name":"ultra-pill-nav","type":"registry:component","title":"Ultra Pill Nav","description":"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.","categories":["components"],"meta":{"tier":"free","tags":["navbar","navigation","glass","sticky nav","mobile menu","adaptive","theme","dark mode"],"vibe":["minimal"],"href":"https://viberdy.dev/library/ultra-pill-nav","dateAdded":"2026-10-16"}},{"name":"ultra-site-footer","type":"registry:component","title":"Ultra Site Footer","description":"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.","categories":["sections"],"meta":{"tier":"free","tags":["footer","variable font","adaptive","personalization","links","dark mode","light mode"],"vibe":["minimal"],"href":"https://viberdy.dev/library/ultra-site-footer","dateAdded":"2026-10-16"}},{"name":"levitating-link-nav","type":"registry:component","title":"Levitating Link Nav","description":"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 view, lands.","categories":["components"],"meta":{"tier":"free","tags":["navigation","navbar","header","levitation","shadow","scroll","anomaly","attention","dark mode"],"vibe":["minimal"],"href":"https://viberdy.dev/library/levitating-link-nav","dateAdded":"2026-10-16"}},{"name":"contrary-shadow-section","type":"registry:component","title":"Contrary Shadow Section","description":"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.","categories":["sections"],"meta":{"tier":"free","tags":["manifesto","typography","shadow","lighting","pointer","anomaly","attention","light mode","text effect"],"vibe":["minimal"],"href":"https://viberdy.dev/library/contrary-shadow-section","dateAdded":"2026-10-16"}},{"name":"levitating-field-input","type":"registry:component","title":"Levitating Field Input","description":"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.","categories":["components"],"meta":{"tier":"free","tags":["input","form","text field","levitation","shadow","css","anomaly","attention","light mode"],"vibe":["minimal"],"href":"https://viberdy.dev/library/levitating-field-input","dateAdded":"2026-10-16"}},{"name":"flight-manifest","type":"registry:component","title":"Flight Manifest","description":"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.","categories":["sections"],"meta":{"tier":"free","tags":["table","schedule","list","accordion","filter","hover effect","orange","dark mode","section"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/flight-manifest","dateAdded":"2026-10-23"}},{"name":"hold-to-ignite-button","type":"registry:component","title":"Hold to Ignite Button","description":"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.","categories":["components"],"meta":{"tier":"free","tags":["button","hold to confirm","long press","micro-interaction","sparks","canvas","orange","confirmation"],"vibe":["playful"],"href":"https://viberdy.dev/library/hold-to-ignite-button","dateAdded":"2026-10-23"}},{"name":"heat-haze-heading","type":"registry:component","title":"Heat Haze Heading","description":"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.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","svg filter","heat","distortion","displacement","wordmark","orange","headline"],"vibe":["editorial"],"href":"https://viberdy.dev/library/heat-haze-heading","dateAdded":"2026-10-23"}},{"name":"hi-vis-nav","type":"registry:component","title":"Hi-Vis Nav","description":"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.","categories":["components"],"meta":{"tier":"free","tags":["navbar","navigation","header","sticky","adaptive color","mobile menu","orange"],"vibe":["minimal"],"href":"https://viberdy.dev/library/hi-vis-nav","dateAdded":"2026-10-23"}},{"name":"ardent-footer","type":"registry:component","title":"Ardent Footer","description":"A black footer with a closing call, link columns and the brand set edge to edge across the bottom in rising heat haze.","categories":["sections"],"meta":{"tier":"free","tags":["footer","wordmark","links","heat","svg filter","orange","dark mode"],"vibe":["editorial"],"href":"https://viberdy.dev/library/ardent-footer","dateAdded":"2026-10-23"}},{"name":"hazard-tape-marquee","type":"registry:component","title":"Hazard Tape Marquee","description":"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 scroll.","categories":["animations"],"meta":{"tier":"free","tags":["marquee","ticker","hazard tape","divider","scroll animation","chevron","orange","industrial"],"vibe":["editorial"],"href":"https://viberdy.dev/library/hazard-tape-marquee","dateAdded":"2026-10-23"}},{"name":"hot-fire-request-form","type":"registry:component","title":"Hot Fire Request Form","description":"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 request.","categories":["sections"],"meta":{"tier":"free","tags":["form","contact form","booking","validation","radio chips","dark mode","orange","section"],"vibe":["minimal","editorial"],"href":"https://viberdy.dev/library/hot-fire-request-form","dateAdded":"2026-10-23"}},{"name":"sand-dissolve-button","type":"registry:component","title":"Sand Dissolve Button","description":"A pill button that turns to sand when pressed: it erodes from its windward edge, the grains blow off downwind, and it rebuilds itself out of sand as its answer.","categories":["components"],"meta":{"tier":"free","tags":["button","dissolve","thanos snap","particles","webgl","micro interaction","sand","disintegrate"],"vibe":["minimal","playful"],"href":"https://viberdy.dev/library/sand-dissolve-button","dateAdded":"2026-10-28"}},{"name":"wind-rose-dial","type":"registry:component","title":"Wind Rose Dial","description":"A compass rose that sets a page-wide wind: drag the knob round to turn it and out to blow harder, with grains streaming behind it the way the wind blows.","categories":["components"],"meta":{"tier":"free","tags":["dial","knob","slider","input","compass","wind","canvas","particles","control"],"vibe":["minimal"],"href":"https://viberdy.dev/library/wind-rose-dial","dateAdded":"2026-10-28"}},{"name":"eroding-headline","type":"registry:component","title":"Eroding Headline","description":"A big statement that the wind builds out of sand as the scroll brings it in, holds while you read it, and erodes into sand as it leaves.","categories":["text-effects"],"meta":{"tier":"free","tags":["text effect","scroll animation","dissolve","particles","headline","sand","webgl","typography"],"vibe":["editorial","minimal"],"href":"https://viberdy.dev/library/eroding-headline","dateAdded":"2026-10-28"}},{"name":"drift-nav","type":"registry:component","title":"Drift Nav","description":"A navigation bar that reads the ground under it and swaps its ink, frosts once the page scrolls, and carries a wind vane; its link underlines are grains drifting downwind.","categories":["components"],"meta":{"tier":"free","tags":["navbar","navigation","header","adaptive","glass","wind","mobile menu"],"vibe":["minimal"],"href":"https://viberdy.dev/library/drift-nav","dateAdded":"2026-10-28"}},{"name":"stay-request-form","type":"registry:component","title":"Stay Request Form","description":"A booking form whose sent state is the wind: once your handler resolves, the form erodes into sand and the receipt, replaying the request, builds itself out of it.","categories":["sections"],"meta":{"tier":"free","tags":["form","booking form","contact form","validation","radio chips","dissolve","particles","section"],"vibe":["minimal"],"href":"https://viberdy.dev/library/stay-request-form","dateAdded":"2026-10-28"}},{"name":"spindrift-footer","type":"registry:component","title":"Spindrift Footer","description":"A footer that sets the name edge to edge and lets the wind take sand off the top of every letter, the way spindrift streams off a dune crest.","categories":["sections"],"meta":{"tier":"free","tags":["footer","wordmark","particles","canvas","sand","wind","pointer interaction","section"],"vibe":["editorial"],"href":"https://viberdy.dev/library/spindrift-footer","dateAdded":"2026-10-28"}}]}