{"$schema":"https://ui.shadcn.com/schema/registry.json","name":"glint-ui","homepage":"https://glint-ui-seven.vercel.app","items":[{"name":"accordion","type":"registry:ui","title":"Accordion","description":"Stacked disclosure sections with smooth auto-height animation, a springy chevron and full arrow/Home/End keyboard support.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/accordion.tsx","type":"registry:ui"}]},{"name":"after-cursor","type":"registry:ui","title":"After Cursor","description":"Translucent, drifting echoes of the cursor trail behind the pointer like afterimages.","dependencies":[],"files":[{"path":"registry/ui/after-cursor.tsx","type":"registry:ui"}]},{"name":"afterimage-type","type":"registry:ui","title":"Afterimage Type","description":"A headline trailed by fading echo copies that lag behind it, drifting on a loop or chasing the pointer.","dependencies":[],"files":[{"path":"registry/ui/afterimage-type.tsx","type":"registry:ui"}]},{"name":"alert-dialog","type":"registry:ui","title":"Alert Dialog","description":"Confirmation modal on the native <dialog> with a springy scale-in, focus starting on Cancel, async confirm with spinner and destructive styling.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/alert-dialog.tsx","type":"registry:ui"}]},{"name":"animated-button","type":"registry:ui","title":"Animated Button","description":"On hover a slanted fill sweeps across while the label slides out and an arrow slides in.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/animated-button.tsx","type":"registry:ui"}]},{"name":"animated-tabs","type":"registry:ui","title":"Animated Tabs","description":"Tab bar with a springy shared-layout indicator and panels that slide and blur in the direction of travel.","dependencies":["motion"],"files":[{"path":"registry/ui/animated-tabs.tsx","type":"registry:ui"}]},{"name":"animated-testimonials","type":"registry:ui","title":"Animated Testimonials","description":"A stack of tilted photo cards that shuffles to the active person while their quote blurs in word by word.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/animated-testimonials.tsx","type":"registry:ui"}]},{"name":"announcement","type":"registry:ui","title":"Announcement","description":"Pill-shaped news link with a highlighted tag, a periodic shine sweep and a chevron that extends into an arrow on hover.","dependencies":[],"files":[{"path":"registry/ui/announcement.tsx","type":"registry:ui"}]},{"name":"arc-frame","type":"registry:ui","title":"Arc Frame","description":"Wraps any element in crackling, glowing arcs of electricity that crawl around its edge.","dependencies":[],"files":[{"path":"registry/ui/arc-frame.tsx","type":"registry:ui"}]},{"name":"arc-marquee","type":"registry:ui","title":"Arc Marquee","description":"An endless marquee flowing along a curved path. Grab it to scrub, and flick to send it the other way.","dependencies":[],"files":[{"path":"registry/ui/arc-marquee.tsx","type":"registry:ui"}]},{"name":"arc-sidebar","type":"registry:ui","title":"Arc Sidebar","description":"A sectioned nav whose active marker arcs between rows, shoves the label aside on landing and crossfades into each section's ink. Works as a static rail or a drawer.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/arc-sidebar.tsx","type":"registry:ui"}]},{"name":"ascii-text","type":"registry:ui","title":"ASCII Text","description":"Text rasterized into shimmering ASCII glyphs on a canvas, rippling in a slow wave and bulging under the pointer like a lens.","dependencies":[],"files":[{"path":"registry/ui/ascii-text.tsx","type":"registry:ui"}]},{"name":"ask-box","type":"registry:ui","title":"Ask Box","description":"AI prompt input that grows with your text, holds springy attachment chips, and morphs its send arrow into a stop button ringed by a spinner while generating.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/ask-box.tsx","type":"registry:ui"}]},{"name":"aspect-ratio","type":"registry:ui","title":"Aspect Ratio","description":"Box locked to a width/height ratio, with a shimmer placeholder that dissolves into the image once it loads.","dependencies":[],"files":[{"path":"registry/ui/aspect-ratio.tsx","type":"registry:ui"}]},{"name":"aurora-dots","type":"registry:ui","title":"Aurora Dots","description":"A dot matrix lit by drifting aurora ribbons; each dot takes its color from the moving light field and glows near the cursor. WebGL.","dependencies":[],"files":[{"path":"registry/ui/aurora-dots.tsx","type":"registry:ui"}]},{"name":"avatar","type":"registry:ui","title":"Avatar","description":"Profile picture that fades in once loaded, falls back to colorful initials, and shows an optional presence dot.","dependencies":[],"files":[{"path":"registry/ui/avatar.tsx","type":"registry:ui"}]},{"name":"avatar-group","type":"registry:ui","title":"Avatar Group","description":"Overlapping avatar stack that fans apart on hover, with name tooltips and a +N overflow chip.","dependencies":[],"files":[{"path":"registry/ui/avatar-group.tsx","type":"registry:ui"}]},{"name":"background-paths","type":"registry:ui","title":"Background Paths","description":"Two layered ribbons of flowing SVG curves with light running along their strokes. Pure SVG + CSS.","dependencies":[],"files":[{"path":"registry/ui/background-paths.tsx","type":"registry:ui"}]},{"name":"badge","type":"registry:ui","title":"Badge","description":"Compact status label in six variants with an optional live dot, pulse ring and a glinting shine sweep.","dependencies":[],"files":[{"path":"registry/ui/badge.tsx","type":"registry:ui"}]},{"name":"badge-strap","type":"registry:ui","title":"Badge Strap","description":"An ID badge hanging from a woven strap with verlet rope physics. Grab it, fling it and watch it swing back.","dependencies":[],"files":[{"path":"registry/ui/badge-strap.tsx","type":"registry:ui"}]},{"name":"bars-wave","type":"registry:ui","title":"Bars Wave","description":"A row of glowing equalizer bars whose heights roll across the screen as a layered wave. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/bars-wave.tsx","type":"registry:ui"}]},{"name":"bayer-waves","type":"registry:ui","title":"Bayer Waves","description":"Flowing waves rendered with 8x8 ordered Bayer dithering in two colors; the cursor sends ripples through them. WebGL.","dependencies":[],"files":[{"path":"registry/ui/bayer-waves.tsx","type":"registry:ui"}]},{"name":"bead-bin","type":"registry:ui","title":"Bead Bin","description":"Glossy colored balls tumble in with gravity, collide and pile up; sweep the cursor through to shove them around. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/bead-bin.tsx","type":"registry:ui"}]},{"name":"bead-tray","type":"registry:ui","title":"Bead Tray","description":"A segmented tray where the active item pulls out on a liquid metaball thread and drops a bead when it snaps.","dependencies":["motion","figma-squircle","react-use-measure"],"files":[{"path":"registry/ui/bead-tray.tsx","type":"registry:ui"}]},{"name":"beam-pour","type":"registry:ui","title":"Beam Pour","description":"A glowing laser beam pours down into a misty splash, with volumetric haze, flicker and drifting motes. Raw WebGL.","dependencies":[],"files":[{"path":"registry/ui/beam-pour.tsx","type":"registry:ui"}]},{"name":"beam-splitter","type":"registry:ui","title":"Beam Splitter","description":"A slowly rotating glass prism splitting a white beam into a shimmering rainbow fan. Aim the beam with the cursor. WebGL.","dependencies":[],"files":[{"path":"registry/ui/beam-splitter.tsx","type":"registry:ui"}]},{"name":"beams-upstream","type":"registry:ui","title":"Beams Upstream","description":"Thin light beams rise along the vertical lines of a softly masked grid, trailing a glowing tail. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/beams-upstream.tsx","type":"registry:ui"}]},{"name":"bend-ribbon","type":"registry:ui","title":"Bend Ribbon","description":"An endless ribbon of images bent along an arc that you scroll, drag or arrow through, easing to a snap.","dependencies":[],"files":[{"path":"registry/ui/bend-ribbon.tsx","type":"registry:ui"}]},{"name":"bento-grid","type":"registry:ui","title":"Bento Grid","description":"Responsive bento layout of feature tiles with hover lifts, playful icons and a cursor spotlight that glows across tile borders.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/bento-grid.tsx","type":"registry:ui"}]},{"name":"bit-flurry","type":"registry:ui","title":"Bit Flurry","description":"Chunky pixel-art snowflakes drifting down in parallax layers, swaying in the wind. WebGL.","dependencies":[],"files":[{"path":"registry/ui/bit-flurry.tsx","type":"registry:ui"}]},{"name":"bitmask-veil","type":"registry:ui","title":"Bitmask Veil","description":"A flowing 1-bit ordered-dither veil that dissolves around the cursor to reveal what is underneath.","dependencies":[],"files":[{"path":"registry/ui/bitmask-veil.tsx","type":"registry:ui"}]},{"name":"bleed-reveal","type":"registry:ui","title":"Bleed Reveal","description":"A media card that grows from an inset, rounded frame to full-bleed as you scroll, splitting its headline apart.","dependencies":[],"files":[{"path":"registry/ui/bleed-reveal.tsx","type":"registry:ui"}]},{"name":"blind-light","type":"registry:ui","title":"Blind Light","description":"Warm light slanting in from one side through window blinds, with dust motes glinting in the beams. WebGL.","dependencies":[],"files":[{"path":"registry/ui/blind-light.tsx","type":"registry:ui"}]},{"name":"blob-lamp","type":"registry:ui","title":"Blob Lamp","description":"Glossy liquid blobs that drift, merge and split, with one that follows your cursor. Raw WebGL.","dependencies":[],"files":[{"path":"registry/ui/blob-lamp.tsx","type":"registry:ui"}]},{"name":"block-dissolve","type":"registry:ui","title":"Block Dissolve","description":"On hover or focus, an image dissolves into a second one through a wave of pixel blocks spreading from the pointer.","dependencies":[],"files":[{"path":"registry/ui/block-dissolve.tsx","type":"registry:ui"}]},{"name":"bob-shapes","type":"registry:ui","title":"Bob Shapes","description":"Rows of small circles, squares and triangles bobbing and turning in rolling waves; they swell near the cursor. WebGL.","dependencies":[],"files":[{"path":"registry/ui/bob-shapes.tsx","type":"registry:ui"}]},{"name":"bolt-strike","type":"registry:ui","title":"Bolt Strike","description":"A night storm where procedural, forking lightning bolts strike at random spots and light up the clouds. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/bolt-strike.tsx","type":"registry:ui"}]},{"name":"bracket-focus","type":"registry:ui","title":"Bracket Focus","description":"One word at a time snaps into focus inside gliding corner brackets while the rest of the sentence blurs.","dependencies":[],"files":[{"path":"registry/ui/bracket-focus.tsx","type":"registry:ui"}]},{"name":"brick-gallery","type":"registry:ui","title":"Brick Gallery","description":"Animated masonry image grid: tiles fly in with a staggered blur-to-focus, glide to new slots on resize and zoom on hover.","dependencies":["motion"],"files":[{"path":"registry/ui/brick-gallery.tsx","type":"registry:ui"}]},{"name":"burn-button","type":"registry:ui","title":"Burn Button","description":"Hold to light a spark that burns along the border; if it makes it all the way round, it bursts. Works with Space and Enter.","dependencies":[],"files":[{"path":"registry/ui/burn-button.tsx","type":"registry:ui"}]},{"name":"button","type":"registry:ui","title":"Button","description":"shadcn-style button with six variants, a tactile press, icon slots and a loading spinner that slides the label aside.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/button.tsx","type":"registry:ui"}]},{"name":"calendar","type":"registry:ui","title":"Calendar","description":"Dependency-free date picker grid with single or range selection, springy month slides, range preview on hover and full keyboard navigation.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/calendar.tsx","type":"registry:ui"}]},{"name":"card","type":"registry:ui","title":"Card","description":"Composable card surface (header, title, description, content, footer) with an optional hover lift and a rotating gradient border.","dependencies":[],"files":[{"path":"registry/ui/card.tsx","type":"registry:ui"}]},{"name":"card-flip","type":"registry:ui","title":"Card Flip","description":"A 3D card that springs over to reveal its back on hover or click, with Enter/Space to toggle.","dependencies":[],"files":[{"path":"registry/ui/card-flip.tsx","type":"registry:ui"}]},{"name":"cascade-list","type":"registry:ui","title":"Cascade List","description":"Items drop in one at a time, like a live notification feed.","dependencies":[],"files":[{"path":"registry/ui/cascade-list.tsx","type":"registry:ui"}]},{"name":"charge-band","type":"registry:ui","title":"Charge Band","description":"A glowing horizontal band of plasma wrapped in flickering electric filaments; it bends toward the cursor. WebGL.","dependencies":[],"files":[{"path":"registry/ui/charge-band.tsx","type":"registry:ui"}]},{"name":"checkbox","type":"registry:ui","title":"Checkbox","description":"Native checkbox restyled with a hand-drawn tick animation, indeterminate dash, label and description.","dependencies":[],"files":[{"path":"registry/ui/checkbox.tsx","type":"registry:ui"}]},{"name":"checklist-cell","type":"registry:ui","title":"Checklist Cell","description":"A checklist card whose ticks draw in, labels strike through, finished items glide to the bottom and a progress ring fills toward a celebratory check.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/checklist-cell.tsx","type":"registry:ui"}]},{"name":"chrome-pour","type":"registry:ui","title":"Chrome Pour","description":"Liquid chrome flows inside a beveled star, heart, ring or glyph, with reflections that lean toward the cursor. Raw WebGL.","dependencies":[],"files":[{"path":"registry/ui/chrome-pour.tsx","type":"registry:ui"}]},{"name":"cipher-reveal","type":"registry:ui","title":"Cipher Reveal","description":"Scrambled glyphs resolve into the real text, on view or on hover.","dependencies":[],"files":[{"path":"registry/ui/cipher-reveal.tsx","type":"registry:ui"}]},{"name":"clock","type":"registry:ui","title":"Clock","description":"An elegant analog clock with a smooth sweeping (or bouncy ticking) second hand, minute ticks, a digital readout and any IANA time zone.","dependencies":[],"files":[{"path":"registry/ui/clock.tsx","type":"registry:ui"}]},{"name":"cloth-wire","type":"registry:ui","title":"Cloth Wire","description":"A wireframe mesh that stretches around the cursor like cloth and springs back; click to send a shockwave.","dependencies":[],"files":[{"path":"registry/ui/cloth-wire.tsx","type":"registry:ui"}]},{"name":"cobweb","type":"registry:ui","title":"Cobweb","description":"A spider web of silk threads swaying in a breeze; the cursor stretches them and they ripple as they spring back.","dependencies":[],"files":[{"path":"registry/ui/cobweb.tsx","type":"registry:ui"}]},{"name":"code-block","type":"registry:ui","title":"Code Block","description":"Code display with a filename tab, line numbers, highlighted lines that sweep in, lightweight built-in token coloring and a copy button that springs into a check.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/code-block.tsx","type":"registry:ui"}]},{"name":"collapsible","type":"registry:ui","title":"Collapsible","description":"Show-more region whose height, opacity and blur ease open smoothly, controlled or uncontrolled.","dependencies":[],"files":[{"path":"registry/ui/collapsible.tsx","type":"registry:ui"}]},{"name":"column-drift","type":"registry:ui","title":"Column Drift","description":"A tilted wall of image columns drifting up and down at different speeds, pausing on hover.","dependencies":[],"files":[{"path":"registry/ui/column-drift.tsx","type":"registry:ui"}]},{"name":"column-lines","type":"registry:ui","title":"Column Lines","description":"Evenly spaced column lines with colored light pulses falling down them at random. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/column-lines.tsx","type":"registry:ui"}]},{"name":"contour-map","type":"registry:ui","title":"Contour Map","description":"Animated topographic contour lines over slowly shifting terrain, with a hill that rises under the cursor. WebGL.","dependencies":[],"files":[{"path":"registry/ui/contour-map.tsx","type":"registry:ui"}]},{"name":"cosmic-background","type":"registry:ui","title":"Cosmic Background","description":"Deep-space nebula clouds with parallax star layers, twinkling flares and the odd shooting star. WebGL.","dependencies":[],"files":[{"path":"registry/ui/cosmic-background.tsx","type":"registry:ui"}]},{"name":"crease-type","type":"registry:ui","title":"Crease Type","description":"Lines or letters swing open like creased paper in 3D, with a soft shadow lifting as each piece unfolds.","dependencies":[],"files":[{"path":"registry/ui/crease-type.tsx","type":"registry:ui"}]},{"name":"crt-warp","type":"registry:ui","title":"CRT Warp","description":"A glowing gradient seen through an old CRT: barrel curvature, scanlines, RGB mask, flicker and a rolling bar. WebGL.","dependencies":[],"files":[{"path":"registry/ui/crt-warp.tsx","type":"registry:ui"}]},{"name":"crumple-delete","type":"registry:ui","title":"Crumple Delete","description":"Deleting a note scrunches it into a paper ball that arcs into a bin, whose lid flips open and wobbles shut. Undo tosses it back out and smooths it flat.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/crumple-delete.tsx","type":"registry:ui"}]},{"name":"current-trace","type":"registry:ui","title":"Current Trace","description":"Pulses of glowing current race along any SVG outline, flickering and arcing as they go.","dependencies":[],"files":[{"path":"registry/ui/current-trace.tsx","type":"registry:ui"}]},{"name":"cursor-highlight","type":"registry:ui","title":"Cursor Highlight","description":"A soft glow follows the cursor and springs into a pill that wraps whatever link or card you hover.","dependencies":[],"files":[{"path":"registry/ui/cursor-highlight.tsx","type":"registry:ui"}]},{"name":"deck-cycle","type":"registry:ui","title":"Deck Cycle","description":"A skewed 3D stack of cards that cycles on its own: the front card drops away and springs back in behind the others.","dependencies":["motion"],"files":[{"path":"registry/ui/deck-cycle.tsx","type":"registry:ui"}]},{"name":"decorated-text","type":"registry:ui","title":"Decorated Text","description":"Frames a word with corner brackets, a dashed selection box and twinkling sparkles that draw in on view or hover.","dependencies":[],"files":[{"path":"registry/ui/decorated-text.tsx","type":"registry:ui"}]},{"name":"departure-board","type":"registry:ui","title":"Departure Board","description":"An airport departures board: every tile flips through the drum until it lands on the next word.","dependencies":[],"files":[{"path":"registry/ui/departure-board.tsx","type":"registry:ui"}]},{"name":"dialog","type":"registry:ui","title":"Dialog","description":"Modal built on the native <dialog>: blurred backdrop, spring scale-in and fade-out, Escape to close and focus returned to the trigger.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/dialog.tsx","type":"registry:ui"}]},{"name":"dot-terrain","type":"registry:ui","title":"Dot Terrain","description":"A perspective field of glowing dots rolling toward you in terrain-like waves; the camera leans with the cursor. WebGL.","dependencies":[],"files":[{"path":"registry/ui/dot-terrain.tsx","type":"registry:ui"}]},{"name":"dot-wave","type":"registry:ui","title":"Dot Wave","description":"A perspective field of dots rolling in layered sine waves, fading into the horizon. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/dot-wave.tsx","type":"registry:ui"}]},{"name":"draggable-avatar","type":"registry:ui","title":"Draggable Avatar","description":"An avatar you can drag and fling around its container; it springs to the nearest corner with the throw's momentum.","dependencies":["motion"],"files":[{"path":"registry/ui/draggable-avatar.tsx","type":"registry:ui"}]},{"name":"drawer","type":"registry:ui","title":"Drawer","description":"Bottom sheet on the native <dialog> that springs up, drags with a rubber-band feel, snaps to heights, and flicks down to dismiss while the backdrop fades with it.","dependencies":["motion"],"files":[{"path":"registry/ui/drawer.tsx","type":"registry:ui"}]},{"name":"drift-card","type":"registry:ui","title":"Drift Card","description":"A card whose photo, text and chips drift at different parallax depths as the pointer moves, with a soft tilt and glare.","dependencies":["motion"],"files":[{"path":"registry/ui/drift-card.tsx","type":"registry:ui"}]},{"name":"drip-range","type":"registry:ui","title":"Drip Range","description":"Range slider whose thumb stretches with drag speed and drips a gooey value bubble while you slide.","dependencies":["motion"],"files":[{"path":"registry/ui/drip-range.tsx","type":"registry:ui"}]},{"name":"droop-field","type":"registry:ui","title":"Droop Field","description":"A text field whose words and underline droop along an arc while idle, then spring flat the moment you focus it.","dependencies":["motion"],"files":[{"path":"registry/ui/droop-field.tsx","type":"registry:ui"}]},{"name":"drop-nav","type":"registry:ui","title":"Drop Nav","description":"A compact navbar that springs open downward into a row of colorful link cards.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/drop-nav.tsx","type":"registry:ui"}]},{"name":"dropdown-menu","type":"registry:ui","title":"Dropdown Menu","description":"Menu button on the native Popover API with a highlight that glides between items, shortcuts, checkbox and radio items, submenus, typeahead and full keyboard support.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/dropdown-menu.tsx","type":"registry:ui"}]},{"name":"droplet-tabs","type":"registry:ui","title":"Droplet Tabs","description":"A segmented control whose highlight stretches like a drop of liquid as it glides to the new option, then snaps tight. Arrow keys move it.","dependencies":["motion"],"files":[{"path":"registry/ui/droplet-tabs.tsx","type":"registry:ui"}]},{"name":"drum-picker","type":"registry:ui","title":"Drum Picker","description":"iOS-style picker wheel: rows curve around a 3D cylinder, snap into place and respond to wheel, drag, touch and arrow keys.","dependencies":[],"files":[{"path":"registry/ui/drum-picker.tsx","type":"registry:ui"}]},{"name":"dual-sparks","type":"registry:ui","title":"Dual Sparks","description":"Two streams of sparks rush in from opposite edges and burst against each other in a glowing core. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/dual-sparks.tsx","type":"registry:ui"}]},{"name":"duration-picker","type":"registry:ui","title":"Duration Picker","description":"Hours, minutes and a save button fused into one bar that pulls apart on a liquid thread while you edit.","dependencies":["motion","figma-squircle","react-use-measure"],"files":[{"path":"registry/ui/duration-picker.tsx","type":"registry:ui"}]},{"name":"dynamic-island","type":"registry:ui","title":"Dynamic Island","description":"A squircle pill that eases into a slab when tapped, swaps its content on the way, and glows red on alert.","dependencies":["motion","figma-squircle","react-use-measure"],"files":[{"path":"registry/ui/dynamic-island.tsx","type":"registry:ui"}]},{"name":"edge-fog","type":"registry:ui","title":"Edge Fog","description":"A progressive edge blur built from stacked, masked backdrop-filter layers. Drop it over any scrolling area.","dependencies":[],"files":[{"path":"registry/ui/edge-fog.tsx","type":"registry:ui"}]},{"name":"electric-text","type":"registry:ui","title":"Electric Text","description":"Text wrapped in a crackling electric outline, driven by animated SVG turbulence displacement.","dependencies":[],"files":[{"path":"registry/ui/electric-text.tsx","type":"registry:ui"}]},{"name":"ellipse-photos","type":"registry:ui","title":"Ellipse Photos","description":"Photos circle a tilted ellipse in pseudo-3D, scaling and dimming with depth, and glide to a stop on hover.","dependencies":[],"files":[{"path":"registry/ui/ellipse-photos.tsx","type":"registry:ui"}]},{"name":"ember-cells","type":"registry:ui","title":"Ember Cells","description":"A grid of cells that light up under the cursor and cool into a fading color trail.","dependencies":[],"files":[{"path":"registry/ui/ember-cells.tsx","type":"registry:ui"}]},{"name":"ember-path","type":"registry:ui","title":"Ember Path","description":"Grid pixels ignite along the cursor path, burn white-hot and shrink away as they fade.","dependencies":[],"files":[{"path":"registry/ui/ember-path.tsx","type":"registry:ui"}]},{"name":"enter-view","type":"registry:ui","title":"Enter View","description":"Slides, scales and fades its children into place when they scroll into view.","dependencies":[],"files":[{"path":"registry/ui/enter-view.tsx","type":"registry:ui"}]},{"name":"expandable-cards","type":"registry:ui","title":"Expandable Cards","description":"A list of cards where the one you pick morphs into a detail view with a shared-layout spring, closing on Escape or backdrop click.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/expandable-cards.tsx","type":"registry:ui"}]},{"name":"expandable-dock","type":"registry:ui","title":"Expandable Dock","description":"A compact pill of actions that springs open into a panel (search, quick actions, inbox, player), morphing its size and corners between states.","dependencies":["motion","react-use-measure"],"files":[{"path":"registry/ui/expandable-dock.tsx","type":"registry:ui"}]},{"name":"extrude-type","type":"registry:ui","title":"Extrude Type","description":"Chunky extruded 3D lettering built from stacked layers that tilts toward the pointer and sways gently when idle.","dependencies":[],"files":[{"path":"registry/ui/extrude-type.tsx","type":"registry:ui"}]},{"name":"facescape","type":"registry:ui","title":"Facescape","description":"A little face built from simple shapes that watches your cursor, lifts its brows and grins as you get close. Click to boop.","dependencies":[],"files":[{"path":"registry/ui/facescape.tsx","type":"registry:ui"}]},{"name":"fancy-text","type":"registry:ui","title":"Fancy Text","description":"Outlined letters that lift and fill with a sweeping gradient, one after another, on hover.","dependencies":[],"files":[{"path":"registry/ui/fancy-text.tsx","type":"registry:ui"}]},{"name":"feature-showcase","type":"registry:ui","title":"Feature Showcase","description":"Feature list with an expanding description and a filling progress bar that auto-advances, crossfading a matching visual on the side.","dependencies":[],"files":[{"path":"registry/ui/feature-showcase.tsx","type":"registry:ui"}]},{"name":"file-lift","type":"registry:ui","title":"File Lift","description":"A folder whose flap tips open on hover or focus so its files float up and fan out, then settle back in; click pins it open.","dependencies":["motion"],"files":[{"path":"registry/ui/file-lift.tsx","type":"registry:ui"}]},{"name":"file-pocket","type":"registry:ui","title":"File Pocket","description":"A folder that springs open on hover or click, fanning out the paper cards tucked inside.","dependencies":[],"files":[{"path":"registry/ui/file-pocket.tsx","type":"registry:ui"}]},{"name":"filings","type":"registry:ui","title":"Filings","description":"A field of short lines that swing to point at the cursor like iron filings, glowing and stretching as it nears.","dependencies":[],"files":[{"path":"registry/ui/filings.tsx","type":"registry:ui"}]},{"name":"film-grain","type":"registry:ui","title":"Film Grain","description":"An animated film-grain overlay. Pre-baked canvas frames, so it costs almost nothing to run.","dependencies":[],"files":[{"path":"registry/ui/film-grain.tsx","type":"registry:ui"}]},{"name":"fizz-menu","type":"registry:ui","title":"Fizz Menu","description":"A pill navbar whose toggle bursts into a cloud of springy bubble links that pop in one after another.","dependencies":["motion"],"files":[{"path":"registry/ui/fizz-menu.tsx","type":"registry:ui"}]},{"name":"flashy-card","type":"registry:ui","title":"Flashy Card","description":"A card with a comet of gradient light sweeping its border that brightens, blooms into a glow and flashes across the surface on hover.","dependencies":[],"files":[{"path":"registry/ui/flashy-card.tsx","type":"registry:ui"}]},{"name":"flex-navbar","type":"registry:ui","title":"Flex Navbar","description":"Icon navbar whose items spring open to reveal a tinted label on hover or focus while their neighbours flex aside.","dependencies":["motion"],"files":[{"path":"registry/ui/flex-navbar.tsx","type":"registry:ui"}]},{"name":"fling-confirm","type":"registry:ui","title":"Fling Confirm","description":"Slide-to-confirm track: the knob stretches as you fling it, commits past the threshold with a popping check, and springs home with a wobble if you let go early.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/fling-confirm.tsx","type":"registry:ui"}]},{"name":"fling-toast","type":"registry:ui","title":"Fling Toast","description":"Stacked toasts that fan out on hover, pause their progress timers while you read, and fling away when swiped sideways.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/fling-toast.tsx","type":"registry:ui"}]},{"name":"flip-flow","type":"registry:ui","title":"Flip Flow","description":"Split-flap tiles that flip through their items like a flip clock, the top half falling over a hinge; stagger several to make a flipping stream.","dependencies":[],"files":[{"path":"registry/ui/flip-flow.tsx","type":"registry:ui"}]},{"name":"flip-stack","type":"registry:ui","title":"Flip Stack","description":"A pile of cards where clicking tosses the top card up, flips it end over end and drops it behind the pile as the rest step forward.","dependencies":["motion"],"files":[{"path":"registry/ui/flip-stack.tsx","type":"registry:ui"}]},{"name":"flock-trail","type":"registry:ui","title":"Flock Trail","description":"A flock of boids that separates, aligns and swirls around the cursor, leaving luminous trails.","dependencies":[],"files":[{"path":"registry/ui/flock-trail.tsx","type":"registry:ui"}]},{"name":"flood-pills","type":"registry:ui","title":"Flood Pills","description":"Pill navigation whose items flood with a rising circle of color on hover, with a sliding active dot and a compact menu on narrow containers.","dependencies":["motion"],"files":[{"path":"registry/ui/flood-pills.tsx","type":"registry:ui"}]},{"name":"focus-outline","type":"registry:ui","title":"Focus Outline","description":"A soft, glowing outline that snaps into razor focus wherever the cursor comes near. WebGL signed distance fields.","dependencies":[],"files":[{"path":"registry/ui/focus-outline.tsx","type":"registry:ui"}]},{"name":"focus-pull","type":"registry:ui","title":"Focus Pull","description":"Fades and un-blurs its children as they scroll into view, like a lens pulling focus.","dependencies":[],"files":[{"path":"registry/ui/focus-pull.tsx","type":"registry:ui"}]},{"name":"fog-deck","type":"registry:ui","title":"Fog Deck","description":"A looping carousel where cards recede into 3D depth and blur the further they sit from center. Drag, click, arrows or keys.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/fog-deck.tsx","type":"registry:ui"}]},{"name":"foil-sweep","type":"registry:ui","title":"Foil Sweep","description":"A glossy band of light sweeps across the card on hover or focus, like light catching foil.","dependencies":[],"files":[{"path":"registry/ui/foil-sweep.tsx","type":"registry:ui"}]},{"name":"folder-tree","type":"registry:ui","title":"Folder Tree","description":"File explorer tree with springy expand/collapse, a highlight that glides to the selected row, file-type icons and full keyboard navigation.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/folder-tree.tsx","type":"registry:ui"}]},{"name":"follow-cursor","type":"registry:ui","title":"Follow Cursor","description":"A pill label that trails the cursor across a card on a spring, leans into motion and squishes on click.","dependencies":[],"files":[{"path":"registry/ui/follow-cursor.tsx","type":"registry:ui"}]},{"name":"fork-flash","type":"registry:ui","title":"Fork Flash","description":"A crackling procedural lightning bolt with forking branches, strobing strikes and storm clouds lit from within. WebGL.","dependencies":[],"files":[{"path":"registry/ui/fork-flash.tsx","type":"registry:ui"}]},{"name":"frost-tiles","type":"registry:ui","title":"Frost Tiles","description":"Icon tiles with a colored backplate behind a frosted glass front that lifts and tilts toward the pointer on hover.","dependencies":[],"files":[{"path":"registry/ui/frost-tiles.tsx","type":"registry:ui"}]},{"name":"github-activity","type":"registry:ui","title":"GitHub Activity","description":"A contribution calendar on a squircle card whose busiest repos stack as avatars and expand into a drawer over the grid.","dependencies":["motion","figma-squircle","react-use-measure"],"files":[{"path":"registry/ui/github-activity.tsx","type":"registry:ui"}]},{"name":"glass-card","type":"registry:ui","title":"Glass Card","description":"Frosted glassmorphism card with a refractive edge light, film grain and a pointer-follow sheen.","dependencies":[],"files":[{"path":"registry/ui/glass-card.tsx","type":"registry:ui"}]},{"name":"glass-drift","type":"registry:ui","title":"Glass Drift","description":"Translucent glass shards drift in layers over soft glowing color, bending the light with refraction, dispersion and slow cursor parallax. WebGL.","dependencies":[],"files":[{"path":"registry/ui/glass-drift.tsx","type":"registry:ui"}]},{"name":"glint-bot","type":"registry:ui","title":"Glint Bot","description":"A retro robot with a lit CSS-3D visor head that turns toward your cursor, spinning reel eyes and jointed arms. It blinks, smiles when booped, blushes when petted and gets dizzy if you poke it too much.","dependencies":[],"files":[{"path":"registry/ui/glint-bot.tsx","type":"registry:ui"}]},{"name":"globe","type":"registry:ui","title":"Globe","description":"A rotating dotted globe drawn on canvas, with pulsing city markers, great-circle arcs carrying travelling light, drag-to-spin inertia and a soft atmosphere.","dependencies":[],"files":[{"path":"registry/ui/globe.tsx","type":"registry:ui"}]},{"name":"globe-menu","type":"registry:ui","title":"Globe Menu","description":"Menu items wrapped around a sphere you drag to spin; it settles on the disc facing you and reveals its title.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/globe-menu.tsx","type":"registry:ui"}]},{"name":"globe-wireframe","type":"registry:ui","title":"Globe Wireframe","description":"A rotating wireframe globe of latitude and longitude lines with depth-faded hidden lines and a glowing scan that sweeps pole to pole or across the face. Drag to spin.","dependencies":[],"files":[{"path":"registry/ui/globe-wireframe.tsx","type":"registry:ui"}]},{"name":"gloss-pill","type":"registry:ui","title":"Gloss Pill","description":"A glossy glass pill with a specular hotspot and rim light that glide after the pointer.","dependencies":[],"files":[{"path":"registry/ui/gloss-pill.tsx","type":"registry:ui"}]},{"name":"glow-border","type":"registry:ui","title":"Glow Border","description":"A comet of light orbits the element's border.","dependencies":[],"files":[{"path":"registry/ui/glow-border.tsx","type":"registry:ui"}]},{"name":"glow-eddies","type":"registry:ui","title":"Glow Eddies","description":"Luminous, colorful ether that flows on its own and swirls into eddies wherever the cursor moves. WebGL.","dependencies":[],"files":[{"path":"registry/ui/glow-eddies.tsx","type":"registry:ui"}]},{"name":"glow-sphere","type":"registry:ui","title":"Glow Sphere","description":"A glowing iridescent orb whose film of color slides around its rim; it wobbles and brightens when hovered. WebGL.","dependencies":[],"files":[{"path":"registry/ui/glow-sphere.tsx","type":"registry:ui"}]},{"name":"glyph-hover","type":"registry:ui","title":"Glyph Hover","description":"Letters near the cursor dissolve into flickering glyphs and settle back into the original text, strongest right under the pointer.","dependencies":[],"files":[{"path":"registry/ui/glyph-hover.tsx","type":"registry:ui"}]},{"name":"glyph-spill","type":"registry:ui","title":"Glyph Spill","description":"A trail of glyphs or emoji that spills from the pointer inside its container, spinning and fading as it drifts.","dependencies":[],"files":[{"path":"registry/ui/glyph-spill.tsx","type":"registry:ui"}]},{"name":"glyph-storm","type":"registry:ui","title":"Glyph Storm","description":"A full grid of monospace glyphs that keep swapping characters and colors, framed by a soft vignette. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/glyph-storm.tsx","type":"registry:ui"}]},{"name":"god-rays","type":"registry:ui","title":"God Rays","description":"Soft god rays streaming from an edge or corner, swaying gently and leaning toward the cursor. WebGL.","dependencies":[],"files":[{"path":"registry/ui/god-rays.tsx","type":"registry:ui"}]},{"name":"goo-chaser","type":"registry:ui","title":"Goo Chaser","description":"A trail of gooey blobs that stretch, merge and split as they chase the pointer.","dependencies":[],"files":[{"path":"registry/ui/goo-chaser.tsx","type":"registry:ui"}]},{"name":"goo-radio","type":"registry:ui","title":"Goo Radio","description":"A radio group with one gooey dot that stretches as it slides to the new option, splats on landing and jiggles back into shape.","dependencies":["motion"],"files":[{"path":"registry/ui/goo-radio.tsx","type":"registry:ui"}]},{"name":"grain-gradient","type":"registry:ui","title":"Grain Gradient","description":"A slowly morphing mesh gradient of four colors under a layer of moving film grain.","dependencies":[],"files":[{"path":"registry/ui/grain-gradient.tsx","type":"registry:ui"}]},{"name":"gravity","type":"registry:ui","title":"Gravity","description":"Drops any elements into a real physics box where they tumble, stack, and can be grabbed and thrown.","dependencies":["matter-js"],"files":[{"path":"registry/ui/gravity.tsx","type":"registry:ui"}]},{"name":"grid-background","type":"registry:ui","title":"Grid Background","description":"A fine grid where random cells softly light up and fade out, framed by a radial fade. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/grid-background.tsx","type":"registry:ui"}]},{"name":"grow-panels","type":"registry:ui","title":"Grow Panels","description":"Row of photo panels where the active one flex-grows open while the rest shrink, auto-advancing with a progress bar.","dependencies":[],"files":[{"path":"registry/ui/grow-panels.tsx","type":"registry:ui"}]},{"name":"hairline-coords","type":"registry:ui","title":"Hairline Coords","description":"Full-bleed crosshair lines with live coordinates that tear and glitch when you hover a link.","dependencies":[],"files":[{"path":"registry/ui/hairline-coords.tsx","type":"registry:ui"}]},{"name":"halo-follow","type":"registry:ui","title":"Halo Follow","description":"A soft colored glow trails the cursor inside its container and swells over interactive children.","dependencies":[],"files":[{"path":"registry/ui/halo-follow.tsx","type":"registry:ui"}]},{"name":"halo-rings","type":"registry:ui","title":"Halo Rings","description":"Concentric glowing rings spin at their own pace, breathe, and bend toward the cursor.","dependencies":[],"files":[{"path":"registry/ui/halo-rings.tsx","type":"registry:ui"}]},{"name":"haze-shafts","type":"registry:ui","title":"Haze Shafts","description":"Soft volumetric light beams slanting across a dark scene, drifting and breathing through noisy haze. WebGL.","dependencies":[],"files":[{"path":"registry/ui/haze-shafts.tsx","type":"registry:ui"}]},{"name":"heat-haze","type":"registry:ui","title":"Heat Haze","description":"Type that ripples like heat haze through an SVG turbulence filter on hover, with an optional RGB fringe, then eases back to crisp.","dependencies":[],"files":[{"path":"registry/ui/heat-haze.tsx","type":"registry:ui"}]},{"name":"helix-cards","type":"registry:ui","title":"Helix Cards","description":"Cards wound around an endless 3D helix that keeps turning, and spins faster when you scroll or drag.","dependencies":[],"files":[{"path":"registry/ui/helix-cards.tsx","type":"registry:ui"}]},{"name":"hold-to-confirm","type":"registry:ui","title":"Hold To Confirm","description":"Destructive action guard: press and hold until the bar fills. Works with Space and Enter.","dependencies":[],"files":[{"path":"registry/ui/hold-to-confirm.tsx","type":"registry:ui"}]},{"name":"holo-badge","type":"registry:ui","title":"Holo Badge","description":"Holographic profile card that tilts toward the pointer while rainbow foil, glitter and glare slide across it, with a glass contact bar.","dependencies":[],"files":[{"path":"registry/ui/holo-badge.tsx","type":"registry:ui"}]},{"name":"hover-card","type":"registry:ui","title":"Hover Card","description":"Rich preview card that blooms out of a link on hover or focus, with open/close delays, an arrow, smart flipping and a top-layer render.","dependencies":[],"files":[{"path":"registry/ui/hover-card.tsx","type":"registry:ui"}]},{"name":"hover-shelf","type":"registry:ui","title":"Hover Shelf","description":"macOS-style toolbar where icons magnify as the cursor passes.","dependencies":[],"files":[{"path":"registry/ui/hover-shelf.tsx","type":"registry:ui"}]},{"name":"hud-type","type":"registry:ui","title":"HUD Type","description":"HUD-style lettering that flickers on inside bracket frames, with a scan line, live readouts and a blinking caret.","dependencies":[],"files":[{"path":"registry/ui/hud-type.tsx","type":"registry:ui"}]},{"name":"hue-folds","type":"registry:ui","title":"Hue Folds","description":"Smooth ribbons of color that bend, fold and drift; the cursor gently warps them like a lens. WebGL.","dependencies":[],"files":[{"path":"registry/ui/hue-folds.tsx","type":"registry:ui"}]},{"name":"hyperlink","type":"registry:ui","title":"Hyperlink","description":"An inline link whose underline draws in from the left and exits to the right, with a springy arrow nudge and a hover or focus preview card for the destination.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/hyperlink.tsx","type":"registry:ui"}]},{"name":"infinite-canvas","type":"registry:ui","title":"Infinite Canvas","description":"A bounded moodboard-style canvas on a dotted grid: drag to pan with inertia, scroll or pinch to zoom around the pointer, keyboard friendly.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/infinite-canvas.tsx","type":"registry:ui"}]},{"name":"ink-fluid","type":"registry:ui","title":"Ink Fluid","description":"Real-time fluid ink that swirls off the cursor in shifting colors. A compact WebGL2 stable-fluids solver, scoped to its container.","dependencies":[],"files":[{"path":"registry/ui/ink-fluid.tsx","type":"registry:ui"}]},{"name":"input","type":"registry:ui","title":"Input","description":"Text input with icon slots, three sizes, a focus line that sweeps out from the center and an error state that shakes and slides in its message.","dependencies":[],"files":[{"path":"registry/ui/input.tsx","type":"registry:ui"}]},{"name":"input-otp","type":"registry:ui","title":"Input OTP","description":"One-time-code field: slots that pop each digit in, a blinking caret, paste and SMS autofill, a wave on completion and a shake on error.","dependencies":[],"files":[{"path":"registry/ui/input-otp.tsx","type":"registry:ui"}]},{"name":"interactive-input","type":"registry:ui","title":"Interactive Input","description":"A text field with a floating label, a focus ring that blooms out of the border, a spring-in clear button, a character-count ring and a shake on error.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/interactive-input.tsx","type":"registry:ui"}]},{"name":"iphone-mockup","type":"registry:ui","title":"iPhone Mockup","description":"A realistic, pure-CSS titanium phone frame with dynamic island, side buttons, status bar and a moving glass glare that tilts toward the pointer. Renders any children or an image as the screen.","dependencies":["motion"],"files":[{"path":"registry/ui/iphone-mockup.tsx","type":"registry:ui"}]},{"name":"iso-pulse","type":"registry:ui","title":"Iso Pulse","description":"A tiny isometric lattice of cubes or dots that pulses in a diagonal wave while the whole grid sways in 3D. Pure CSS.","dependencies":[],"files":[{"path":"registry/ui/iso-pulse.tsx","type":"registry:ui"}]},{"name":"kbd","type":"registry:ui","title":"Kbd","description":"Keyboard keys drawn as 3D keycaps that physically sink when the matching key is pressed, plus a group for shortcuts.","dependencies":[],"files":[{"path":"registry/ui/kbd.tsx","type":"registry:ui"}]},{"name":"keyboard","type":"registry:ui","title":"Keyboard","description":"A realistic compact keyboard whose keycaps sink and glow with backlight when you press the matching physical keys or click them, with a live typing strip and caps-lock LED.","dependencies":[],"files":[{"path":"registry/ui/keyboard.tsx","type":"registry:ui"}]},{"name":"kinetic-testimonials","type":"registry:ui","title":"Kinetic Testimonials","description":"Rows of testimonial cards drifting in opposite directions, pausing on hover with soft edge fades.","dependencies":[],"files":[{"path":"registry/ui/kinetic-testimonials.tsx","type":"registry:ui"}]},{"name":"label","type":"registry:ui","title":"Label","description":"Form label with a required asterisk, optional tag and hint text that lights up while its control has focus.","dependencies":[],"files":[{"path":"registry/ui/label.tsx","type":"registry:ui"}]},{"name":"lamp-hero","type":"registry:ui","title":"Lamp Hero","description":"Hero section lit by a glowing light tube whose cone swings open and the heading rises into the light when it scrolls into view.","dependencies":[],"files":[{"path":"registry/ui/lamp-hero.tsx","type":"registry:ui"}]},{"name":"lava-gloss","type":"registry:ui","title":"Lava Gloss","description":"Smooth, glossy plasma flowing through a three-color palette; the cursor twists it into a whirlpool. WebGL.","dependencies":[],"files":[{"path":"registry/ui/lava-gloss.tsx","type":"registry:ui"}]},{"name":"layer-stack","type":"registry:ui","title":"Layer Stack","description":"Translucent design layers stacked in isometric view that fan apart on hover, with a layers panel to spotlight each one.","dependencies":[],"files":[{"path":"registry/ui/layer-stack.tsx","type":"registry:ui"}]},{"name":"layer-swells","type":"registry:ui","title":"Layer Swells","description":"Stacked gradient waves rolling at different speeds, each casting a soft shadow on the layer behind.","dependencies":[],"files":[{"path":"registry/ui/layer-swells.tsx","type":"registry:ui"}]},{"name":"layered-button","type":"registry:ui","title":"Layered Button","description":"A 3D keycap of stacked offset layers that spread on hover and compress on press.","dependencies":[],"files":[{"path":"registry/ui/layered-button.tsx","type":"registry:ui"}]},{"name":"layered-text","type":"registry:ui","title":"Layered Text","description":"Colored copies hide behind each letter and fan out in a springy cascade on hover, then stack back.","dependencies":[],"files":[{"path":"registry/ui/layered-text.tsx","type":"registry:ui"}]},{"name":"lean-card","type":"registry:ui","title":"Lean Card","description":"A card that leans and drifts toward the pointer while its shadow slides away and the content counter-leans for depth.","dependencies":[],"files":[{"path":"registry/ui/lean-card.tsx","type":"registry:ui"}]},{"name":"lean-tip","type":"registry:ui","title":"Lean Tip","description":"A tooltip that springs out of its trigger with a soft bounce, then drifts and leans after the pointer on a warm glow. Opens on focus, closes on Escape.","dependencies":["motion"],"files":[{"path":"registry/ui/lean-tip.tsx","type":"registry:ui"}]},{"name":"lens-follow","type":"registry:ui","title":"Lens Follow","description":"A liquid glass lens that trails the cursor, magnifying and refracting the content beneath it with chromatic edges.","dependencies":["motion","react-use-measure"],"files":[{"path":"registry/ui/lens-follow.tsx","type":"registry:ui"}]},{"name":"letter-rise","type":"registry:ui","title":"Letter Rise","description":"Reveals text character by character or word by word when it scrolls into view.","dependencies":[],"files":[{"path":"registry/ui/letter-rise.tsx","type":"registry:ui"}]},{"name":"like-pop","type":"registry:ui","title":"Like Pop","description":"Like button whose heart squashes, pops and bursts into particles while the count rolls up digit by digit.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/like-pop.tsx","type":"registry:ui"}]},{"name":"line-roll","type":"registry:ui","title":"Line Roll","description":"Lines of text roll endlessly through a soft-masked window, the active line sharp and its neighbours blurred.","dependencies":[],"files":[{"path":"registry/ui/line-roll.tsx","type":"registry:ui"}]},{"name":"lit-bento","type":"registry:ui","title":"Lit Bento","description":"Bento grid whose cards light up with a cursor-following border glow, tilt gently and fill with drifting particles on hover.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/lit-bento.tsx","type":"registry:ui"}]},{"name":"loader","type":"registry:ui","title":"Loader","description":"Five small, clean loaders in one component: a stretching arc spinner, squashy hopping dots, equalizer bars, a heartbeat pulse and bunching orbit dots.","dependencies":[],"files":[{"path":"registry/ui/loader.tsx","type":"registry:ui"}]},{"name":"lock-on","type":"registry:ui","title":"Lock On","description":"A spinning reticle cursor whose corner brackets snap around any element you mark as a target.","dependencies":[],"files":[{"path":"registry/ui/lock-on.tsx","type":"registry:ui"}]},{"name":"login-form","type":"registry:ui","title":"Login Form","description":"A polished sign-in card with social buttons, password reveal, remember me, animated inline validation, a shake on error and a loading-to-success flow.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/login-form.tsx","type":"registry:ui"}]},{"name":"logo-stepper","type":"registry:ui","title":"Logo Stepper","description":"A row of logos that steps through one at a time, with a spring focus ring sliding between them and a caption per logo.","dependencies":["motion"],"files":[{"path":"registry/ui/logo-stepper.tsx","type":"registry:ui"}]},{"name":"luminescent-flows","type":"registry:ui","title":"Luminescent Flows","description":"Glowing currents drift like bioluminescent tides, with light pulses traveling along them and specks of plankton. WebGL.","dependencies":[],"files":[{"path":"registry/ui/luminescent-flows.tsx","type":"registry:ui"}]},{"name":"lustre-text","type":"registry:ui","title":"Lustre Text","description":"Polished metal lettering with a bevel and a specular glint that sweeps across, or follows your pointer.","dependencies":[],"files":[{"path":"registry/ui/lustre-text.tsx","type":"registry:ui"}]},{"name":"magma-crust","type":"registry:ui","title":"Magma Crust","description":"Slowly drifting plates of dark crust split by white-hot, pulsing cracks of molten metal. WebGL.","dependencies":[],"files":[{"path":"registry/ui/magma-crust.tsx","type":"registry:ui"}]},{"name":"marquee","type":"registry:ui","title":"Marquee","description":"Infinite logo loop that eases to a stop on hover, grows the logo under the cursor and fades its edges. Works with any content.","dependencies":[],"files":[{"path":"registry/ui/marquee.tsx","type":"registry:ui"}]},{"name":"mask-wipe","type":"registry:ui","title":"Mask Wipe","description":"A big heading wiped into view by a feathered mask sweep, with a gradient or photo flowing through the letters.","dependencies":[],"files":[{"path":"registry/ui/mask-wipe.tsx","type":"registry:ui"}]},{"name":"matrix-orb","type":"registry:ui","title":"Matrix Orb","description":"A liquid metaball orb for voice or AI status: it breathes when idle, ripples when listening and churns off droplets when thinking.","dependencies":[],"files":[{"path":"registry/ui/matrix-orb.tsx","type":"registry:ui"}]},{"name":"media-card","type":"registry:ui","title":"Media Card","description":"Music player card with cover art, a scrubbable progress bar, a morphing play/pause icon and a live equalizer.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/media-card.tsx","type":"registry:ui"}]},{"name":"melt-card","type":"registry:ui","title":"Melt Card","description":"An image card that leans toward the cursor and melts into noisy SVG displacement the faster you move.","dependencies":[],"files":[{"path":"registry/ui/melt-card.tsx","type":"registry:ui"}]},{"name":"memo-pill","type":"registry:ui","title":"Memo Pill","description":"A voice-note recorder pill that springs open into live waveform bars and a timer, then collapses the take into a playable, sendable waveform. Input is simulated.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/memo-pill.tsx","type":"registry:ui"}]},{"name":"meteor-orbit","type":"registry:ui","title":"Meteor Orbit","description":"Icons circling a center on concentric rings while glowing meteor streaks race along each orbit.","dependencies":[],"files":[{"path":"registry/ui/meteor-orbit.tsx","type":"registry:ui"}]},{"name":"meteors","type":"registry:ui","title":"Meteors","description":"Shooting stars streak across the container. Pure CSS, SSR-safe.","dependencies":[],"files":[{"path":"registry/ui/meteors.tsx","type":"registry:ui"}]},{"name":"mirror-ripple","type":"registry:ui","title":"Mirror Ripple","description":"A slowly folding mirror-like chrome surface that ripples wherever the cursor moves or clicks. WebGL.","dependencies":[],"files":[{"path":"registry/ui/mirror-ripple.tsx","type":"registry:ui"}]},{"name":"model-studio","type":"registry:ui","title":"Model Studio","description":"Three.js studio viewer for a procedural model: physical clearcoat material, soft shadows, drag to orbit, auto-rotate and clamped zoom.","dependencies":["three"],"files":[{"path":"registry/ui/model-studio.tsx","type":"registry:ui"}]},{"name":"modern-loader","type":"registry:ui","title":"Modern Loader","description":"A gradient comet arc orbits with a glowing head while the ring breathes between circle and squircle, around a counter-spinning inner arc and a morphing core.","dependencies":[],"files":[{"path":"registry/ui/modern-loader.tsx","type":"registry:ui"}]},{"name":"mono-spotlight","type":"registry:ui","title":"Mono Spotlight","description":"A grid of profile cards drained to grayscale, with a soft spotlight of full color that trails the cursor.","dependencies":[],"files":[{"path":"registry/ui/mono-spotlight.tsx","type":"registry:ui"}]},{"name":"morning-widget","type":"registry:ui","title":"Morning Widget","description":"A squircle card on a drifting sunrise mesh that greets you by name, rolls a live clock digit by digit and rotates motivational lines.","dependencies":["motion","lucide-react","figma-squircle","react-use-measure"],"files":[{"path":"registry/ui/morning-widget.tsx","type":"registry:ui"}]},{"name":"morph-text","type":"registry:ui","title":"Morph Text","description":"Cycles through words that melt into one another through a gooey blur-and-threshold crossfade.","dependencies":[],"files":[{"path":"registry/ui/morph-text.tsx","type":"registry:ui"}]},{"name":"morphy-button","type":"registry:ui","title":"Morphy Button","description":"A pill that morphs into a spinning circle while loading, then pops a drawn check on success.","dependencies":["motion"],"files":[{"path":"registry/ui/morphy-button.tsx","type":"registry:ui"}]},{"name":"mosaic-flip","type":"registry:ui","title":"Mosaic Flip","description":"A card that dissolves into a random pixel grid on hover and reassembles as its second face.","dependencies":[],"files":[{"path":"registry/ui/mosaic-flip.tsx","type":"registry:ui"}]},{"name":"mote-field","type":"registry:ui","title":"Mote Field","description":"A drifting constellation that links nearby points and flees the cursor.","dependencies":[],"files":[{"path":"registry/ui/mote-field.tsx","type":"registry:ui"}]},{"name":"motion-cards","type":"registry:ui","title":"Motion Cards","description":"A card grid that springs in with a stagger and, when filtered by tag, shrinks leaving cards away while the rest glide into their new cells.","dependencies":["motion"],"files":[{"path":"registry/ui/motion-cards.tsx","type":"registry:ui"}]},{"name":"motion-grid","type":"registry:ui","title":"Motion Grid","description":"A grid of tiles that shrink, spin and flash in rolling waves radiating from whichever tile you click.","dependencies":[],"files":[{"path":"registry/ui/motion-grid.tsx","type":"registry:ui"}]},{"name":"motion-navbar","type":"registry:ui","title":"Motion Navbar","description":"Site navbar with a hover pill that glides between links and a single dropdown that morphs its size and position between menus.","dependencies":["motion","react-use-measure"],"files":[{"path":"registry/ui/motion-navbar.tsx","type":"registry:ui"}]},{"name":"moving-lines","type":"registry:ui","title":"Moving Lines","description":"Fine diagonal lines drift sideways while bright comets of light race along them. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/moving-lines.tsx","type":"registry:ui"}]},{"name":"navbar-flow","type":"registry:ui","title":"Navbar Flow","description":"A full-width navbar that flows into a floating glass pill as you scroll, with a sliding hover highlight, scroll progress line and an animated mobile menu.","dependencies":["motion"],"files":[{"path":"registry/ui/navbar-flow.tsx","type":"registry:ui"}]},{"name":"near-bold","type":"registry:ui","title":"Near Bold","description":"Letters grow bolder, larger and brighter the closer the pointer gets, with a tunable radius and falloff.","dependencies":[],"files":[{"path":"registry/ui/near-bold.tsx","type":"registry:ui"}]},{"name":"neon-checker","type":"registry:ui","title":"Neon Checker","description":"A grid of rounded squares cycling through acid neon colors in interfering waves; the cursor lights them up. WebGL.","dependencies":[],"files":[{"path":"registry/ui/neon-checker.tsx","type":"registry:ui"}]},{"name":"neon-floor","type":"registry:ui","title":"Neon Floor","description":"A neon perspective grid floor swept by a glowing scan line, with a horizon that follows the cursor.","dependencies":[],"files":[{"path":"registry/ui/neon-floor.tsx","type":"registry:ui"}]},{"name":"night-fold","type":"registry:ui","title":"Night Fold","description":"A dark, moody veil of slowly folding noise with a soft color tint and film grain. WebGL.","dependencies":[],"files":[{"path":"registry/ui/night-fold.tsx","type":"registry:ui"}]},{"name":"north-glow","type":"registry:ui","title":"North Glow","description":"Slow drifting color blobs, blurred into a northern-lights glow. Pure CSS.","dependencies":[],"files":[{"path":"registry/ui/north-glow.tsx","type":"registry:ui"}]},{"name":"not-found","type":"registry:ui","title":"Not Found","description":"Drop-in 404 section: a huge parallax code with RGB-split glitch bursts, a friendly message and a home button.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/not-found.tsx","type":"registry:ui"}]},{"name":"number-ticker","type":"registry:ui","title":"Number Ticker","description":"An odometer-style number in a squircle window: every digit is a 0-9 strip that rolls to its new value.","dependencies":["motion","figma-squircle","react-use-measure"],"files":[{"path":"registry/ui/number-ticker.tsx","type":"registry:ui"}]},{"name":"odometer","type":"registry:ui","title":"Odometer","description":"An odometer-style number where every digit column rolls on a spring, with − / + controls and soft faded edges.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/odometer.tsx","type":"registry:ui"}]},{"name":"oil-film","type":"registry:ui","title":"Oil Film","description":"An oil-slick film of flowing interference colors that swirls around the cursor.","dependencies":[],"files":[{"path":"registry/ui/oil-film.tsx","type":"registry:ui"}]},{"name":"orb-button","type":"registry:ui","title":"Orb Button","description":"A glowing gradient orb drifts inside the button and swells to chase the pointer on hover.","dependencies":["motion"],"files":[{"path":"registry/ui/orb-button.tsx","type":"registry:ui"}]},{"name":"otp-reels","type":"registry:ui","title":"OTP Reels","description":"A one-time code input where each digit spins in like a slot reel, shakes on a wrong code and glows on success.","dependencies":["motion"],"files":[{"path":"registry/ui/otp-reels.tsx","type":"registry:ui"}]},{"name":"outline-fill","type":"registry:ui","title":"Outline Fill","description":"Outlined lettering that draws its stroke, then wipes in a solid fill on view or on hover.","dependencies":[],"files":[{"path":"registry/ui/outline-fill.tsx","type":"registry:ui"}]},{"name":"page-transition","type":"registry:ui","title":"Page Transition","description":"A staggered, layered column curtain that covers the old view, swaps content, then sweeps away to reveal the new one.","dependencies":[],"files":[{"path":"registry/ui/page-transition.tsx","type":"registry:ui"}]},{"name":"pagination","type":"registry:ui","title":"Pagination","description":"Page controls with fixed-width ellipsis logic, a spring-sliding active pill, and ellipses that turn into skip buttons on hover.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/pagination.tsx","type":"registry:ui"}]},{"name":"panel-glide","type":"registry:ui","title":"Panel Glide","description":"A row of image panels where the hovered or focused one glides open with its caption while the rest compress.","dependencies":[],"files":[{"path":"registry/ui/panel-glide.tsx","type":"registry:ui"}]},{"name":"panorama-sphere","type":"registry:ui","title":"Panorama Sphere","description":"Photos tiled across the inside of a sphere that you drag to look around, with inertia and click-to-enlarge.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/panorama-sphere.tsx","type":"registry:ui"}]},{"name":"parallax-cards","type":"registry:ui","title":"Parallax Cards","description":"A draggable, snapping row of photo cards whose images drift inside their frames as the row scrolls and tilt toward the pointer.","dependencies":[],"files":[{"path":"registry/ui/parallax-cards.tsx","type":"registry:ui"}]},{"name":"parallax-strings","type":"registry:ui","title":"Parallax Strings","description":"Three depth layers of thin glowing wave lines drifting with parallax and parting around the cursor.","dependencies":[],"files":[{"path":"registry/ui/parallax-strings.tsx","type":"registry:ui"}]},{"name":"pastel-curtains","type":"registry:ui","title":"Pastel Curtains","description":"Gentle pastel aurora curtains that sway in slow vertical folds, with soft light rays. WebGL.","dependencies":[],"files":[{"path":"registry/ui/pastel-curtains.tsx","type":"registry:ui"}]},{"name":"peekaboo-stars","type":"registry:ui","title":"Peekaboo Stars","description":"Star rating with a little character that peeks over the card, rising and grinning wider the higher you hover. Arrow keys, Home/End and digits work too.","dependencies":["motion"],"files":[{"path":"registry/ui/peekaboo-stars.tsx","type":"registry:ui"}]},{"name":"peel-decal","type":"registry:ui","title":"Peel Decal","description":"A glossy sticker whose corner curls back on hover and follows your drag, showing its paper back and a soft lifted shadow.","dependencies":[],"files":[{"path":"registry/ui/peel-decal.tsx","type":"registry:ui"}]},{"name":"phosphor-wall","type":"registry:ui","title":"Phosphor Wall","description":"A scrolling wall of phosphor glyphs on a worn CRT, with scanlines, flicker, torn glitch bands and color fringing. WebGL.","dependencies":[],"files":[{"path":"registry/ui/phosphor-wall.tsx","type":"registry:ui"}]},{"name":"photo-fan","type":"registry:ui","title":"Photo Fan","description":"A fanned stack of photo cards that bounce into place when scrolled into view and spread apart on hover.","dependencies":["motion"],"files":[{"path":"registry/ui/photo-fan.tsx","type":"registry:ui"}]},{"name":"photo-wake","type":"registry:ui","title":"Photo Wake","description":"Photos pop in along the cursor path, then drift, shrink and fade away.","dependencies":[],"files":[{"path":"registry/ui/photo-wake.tsx","type":"registry:ui"}]},{"name":"pin-matrix","type":"registry:ui","title":"Pin Matrix","description":"A calm dot matrix that lights up around the cursor. Redraws only on movement.","dependencies":[],"files":[{"path":"registry/ui/pin-matrix.tsx","type":"registry:ui"}]},{"name":"pin-pile","type":"registry:ui","title":"Pin Pile","description":"Cards pin to the top of a scroll container and pile onto each other, with covered cards shrinking and dimming underneath.","dependencies":[],"files":[{"path":"registry/ui/pin-pile.tsx","type":"registry:ui"}]},{"name":"pixel-background","type":"registry:ui","title":"Pixel Background","description":"A coarse pixel mosaic whose tiles drift through a palette in slow waves and light up around the cursor. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/pixel-background.tsx","type":"registry:ui"}]},{"name":"pixel-highlight","type":"registry:ui","title":"Pixel Highlight","description":"Hovering or focusing fills the element with twinkling pixels that ripple out from the pointer, and ripple away on leave.","dependencies":[],"files":[{"path":"registry/ui/pixel-highlight.tsx","type":"registry:ui"}]},{"name":"pixel-shock","type":"registry:ui","title":"Pixel Shock","description":"A dithered field of tiny pixels that breathes with noise and bursts into shockwave rings on click. WebGL.","dependencies":[],"files":[{"path":"registry/ui/pixel-shock.tsx","type":"registry:ui"}]},{"name":"pop-check","type":"registry:ui","title":"Pop Check","description":"Checkbox that squashes on press, pops and wobbles when checked, floods with color from the center and springs its tick in with a spark burst.","dependencies":["motion"],"files":[{"path":"registry/ui/pop-check.tsx","type":"registry:ui"}]},{"name":"popover","type":"registry:ui","title":"Popover","description":"Anchored popover on the native Popover API: top-layer, light dismiss and Escape for free, smart flipping, an arrow and a spring scale-in from the trigger.","dependencies":[],"files":[{"path":"registry/ui/popover.tsx","type":"registry:ui"}]},{"name":"poster-stream","type":"registry:ui","title":"Poster Stream","description":"Posters fly through 3D space in a curving vertical stream you steer by scrolling or dragging inside the container.","dependencies":[],"files":[{"path":"registry/ui/poster-stream.tsx","type":"registry:ui"}]},{"name":"print-dots","type":"registry:ui","title":"Print Dots","description":"Renders an image as breathing halftone dots that swell and melt into the full photo around the cursor.","dependencies":[],"files":[{"path":"registry/ui/print-dots.tsx","type":"registry:ui"}]},{"name":"progress","type":"registry:ui","title":"Progress","description":"Linear and circular progress with a spring-animated value and counting label, a moving sheen, and indeterminate slide and spin states.","dependencies":["motion"],"files":[{"path":"registry/ui/progress.tsx","type":"registry:ui"}]},{"name":"pull-hover","type":"registry:ui","title":"Pull Hover","description":"Pulls its children toward the cursor when it gets close.","dependencies":[],"files":[{"path":"registry/ui/pull-hover.tsx","type":"registry:ui"}]},{"name":"radial-flow","type":"registry:ui","title":"Radial Flow","description":"A hub-and-spoke diagram where glowing data pulses stream along curved links between a central node and its connected services.","dependencies":[],"files":[{"path":"registry/ui/radial-flow.tsx","type":"registry:ui"}]},{"name":"radial-socials","type":"registry:ui","title":"Radial Socials","description":"A share button that fans social links out along a radial arc with a staggered spring, a drawn guide arc and brand-colored hovers.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/radial-socials.tsx","type":"registry:ui"}]},{"name":"radio-group","type":"registry:ui","title":"Radio Group","description":"Native radio group restyled with a springy dot and ripple, plus a card variant whose selection outline slides between options. Arrow keys just work.","dependencies":["motion"],"files":[{"path":"registry/ui/radio-group.tsx","type":"registry:ui"}]},{"name":"read-focus","type":"registry:ui","title":"Read Focus","description":"A paragraph whose words sharpen from dim and blurred to crisp as it scrolls through view.","dependencies":[],"files":[{"path":"registry/ui/read-focus.tsx","type":"registry:ui"}]},{"name":"reasoning-trace","type":"registry:ui","title":"Reasoning Trace","description":"An AI reasoning indicator: the label ripples letter by letter, the current step shimmers past, and a click unfolds the full trace of steps.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/reasoning-trace.tsx","type":"registry:ui"}]},{"name":"reel","type":"registry:ui","title":"Reel","description":"A vertical short-video reel that snaps clip to clip on scroll or drag, with story-style progress bars, slow Ken Burns motion, hold-to-pause and double-tap likes.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/reel.tsx","type":"registry:ui"}]},{"name":"refract-panel","type":"registry:ui","title":"Refract Panel","description":"A liquid-glass panel whose rim bends the backdrop through an SVG displacement map, with chromatic fringes, blur and a specular edge.","dependencies":["react-use-measure"],"files":[{"path":"registry/ui/refract-panel.tsx","type":"registry:ui"}]},{"name":"reveal-text","type":"registry:ui","title":"Reveal Text","description":"Letters rise out of a mask as they scroll into view; hover and a photo shows through the type.","dependencies":[],"files":[{"path":"registry/ui/reveal-text.tsx","type":"registry:ui"}]},{"name":"ring-pill","type":"registry:ui","title":"Ring Pill","description":"An incoming-call pill with pulsing rings that expands into accept and decline, then morphs into a live call timer.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/ring-pill.tsx","type":"registry:ui"}]},{"name":"ring-switch","type":"registry:ui","title":"Ring Switch","description":"A notification switch whose bell swings and rings when enabled, and gets a drawn slash when muted.","dependencies":["motion"],"files":[{"path":"registry/ui/ring-switch.tsx","type":"registry:ui"}]},{"name":"ring-tunnel","type":"registry:ui","title":"Ring Tunnel","description":"An endless flight through a bending tunnel of glowing rings and spark-lit lines. WebGL.","dependencies":[],"files":[{"path":"registry/ui/ring-tunnel.tsx","type":"registry:ui"}]},{"name":"ring-type","type":"registry:ui","title":"Ring Type","description":"Text wrapped around a slowly spinning ring that speeds up, slows down or stops when hovered, with optional content in the middle.","dependencies":[],"files":[{"path":"registry/ui/ring-type.tsx","type":"registry:ui"}]},{"name":"rip-stub","type":"registry:ui","title":"Rip Stub","description":"An event ticket whose perforated stub you pull against rubber-band tension until it rips free and tumbles away, stamping a confirmation onto the ticket.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/rip-stub.tsx","type":"registry:ui"}]},{"name":"rise-chars","type":"registry:ui","title":"Rise Chars","description":"Characters stretch, rise and fade into place one after another, scrubbed by scroll position inside any scroll container.","dependencies":[],"files":[{"path":"registry/ui/rise-chars.tsx","type":"registry:ui"}]},{"name":"rope-curtain","type":"registry:ui","title":"Rope Curtain","description":"A curtain of hanging verlet ropes that sway in a soft breeze and part around the cursor.","dependencies":[],"files":[{"path":"registry/ui/rope-curtain.tsx","type":"registry:ui"}]},{"name":"row-slide","type":"registry:ui","title":"Row Slide","description":"Tilted rows of tiles that slide in alternating directions as the cursor moves across.","dependencies":[],"files":[{"path":"registry/ui/row-slide.tsx","type":"registry:ui"}]},{"name":"rubber-range","type":"registry:ui","title":"Rubber Range","description":"Range slider whose track stretches like rubber when dragged past either end, then springs back. Keyboard accessible.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/rubber-range.tsx","type":"registry:ui"}]},{"name":"ruler-input","type":"registry:ui","title":"Ruler Input","description":"Design-tool number field: drag sideways to scrub the value over a sliding tick ruler, Shift for coarse, Alt for fine, and it stretches like rubber at the limits. Click to type, arrows to step.","dependencies":["motion"],"files":[{"path":"registry/ui/ruler-input.tsx","type":"registry:ui"}]},{"name":"satin-folds","type":"registry:ui","title":"Satin Folds","description":"Flowing silk fabric with soft folds, a satin sheen and fine film grain. WebGL.","dependencies":[],"files":[{"path":"registry/ui/satin-folds.tsx","type":"registry:ui"}]},{"name":"scroll-area","type":"registry:ui","title":"Scroll Area","description":"Native scrolling with slim overlay scrollbars that fade in on hover or scroll, draggable thumbs and soft fading edges where there is more to see.","dependencies":[],"files":[{"path":"registry/ui/scroll-area.tsx","type":"registry:ui"}]},{"name":"search-cell","type":"registry:ui","title":"Search Cell","description":"A command-style search field that widens on focus and unfolds grouped, ranked results with highlighted matches, a sliding selection and full keyboard navigation.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/search-cell.tsx","type":"registry:ui"}]},{"name":"select","type":"registry:ui","title":"Select","description":"Custom listbox select in the native top layer: grouped options with icons, a gliding highlight, drawn check marks, typeahead, full keyboard support and a real form value.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/select.tsx","type":"registry:ui"}]},{"name":"sensitive-text","type":"registry:ui","title":"Sensitive Text","description":"Spoiler text veiled by blur and shimmering noise particles until you hover, focus or click it.","dependencies":[],"files":[{"path":"registry/ui/sensitive-text.tsx","type":"registry:ui"}]},{"name":"separator","type":"registry:ui","title":"Separator","description":"Horizontal or vertical divider with an optional centered label, a primary gradient variant and a draw-in animation that grows outward from the label.","dependencies":[],"files":[{"path":"registry/ui/separator.tsx","type":"registry:ui"}]},{"name":"sheen-card","type":"registry:ui","title":"Sheen Card","description":"Polished metal or glass card whose streaks, specular band and hotspot slide across the surface as the pointer tilts it.","dependencies":[],"files":[{"path":"registry/ui/sheen-card.tsx","type":"registry:ui"}]},{"name":"sheen-type","type":"registry:ui","title":"Sheen Type","description":"A soft highlight sweeps across the text on a loop.","dependencies":[],"files":[{"path":"registry/ui/sheen-type.tsx","type":"registry:ui"}]},{"name":"sheet","type":"registry:ui","title":"Sheet","description":"Side panel on the native <dialog> that slides in from any edge with a springy ease, staggers its content in, blurs the backdrop and returns focus on close.","dependencies":["lucide-react"],"files":[{"path":"registry/ui/sheet.tsx","type":"registry:ui"}]},{"name":"shiny-button","type":"registry:ui","title":"Shiny Button","description":"Gradient border and inner glow that follow the cursor.","dependencies":[],"files":[{"path":"registry/ui/shiny-button.tsx","type":"registry:ui"}]},{"name":"shuffle-text","type":"registry:ui","title":"Shuffle Text","description":"Each letter spins like a slot-machine reel and lands on its final character, on view and on hover.","dependencies":[],"files":[{"path":"registry/ui/shuffle-text.tsx","type":"registry:ui"}]},{"name":"shy-button","type":"registry:ui","title":"Shy Button","description":"A playful yes/no prompt whose No button springs away from the cursor, leaning into each hop, until it gets tired. Keyboard users can always press it.","dependencies":["motion"],"files":[{"path":"registry/ui/shy-button.tsx","type":"registry:ui"}]},{"name":"signal-glitch","type":"registry:ui","title":"Signal Glitch","description":"RGB-split slices jitter across the text like a broken signal.","dependencies":[],"files":[{"path":"registry/ui/signal-glitch.tsx","type":"registry:ui"}]},{"name":"signup-form","type":"registry:ui","title":"Signup Form","description":"A sign-up card with a live, animated password-strength meter and rule checklist, terms consent, inline validation and a celebratory success state.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/signup-form.tsx","type":"registry:ui"}]},{"name":"slat-light","type":"registry:ui","title":"Slat Light","description":"Venetian-blind strips refracting a drifting gradient, lit by a spotlight that follows the cursor.","dependencies":[],"files":[{"path":"registry/ui/slat-light.tsx","type":"registry:ui"}]},{"name":"slide-text","type":"registry:ui","title":"Slide Text","description":"On hover every letter rolls out of view and a fresh copy slides in behind it, in a staggered wave.","dependencies":[],"files":[{"path":"registry/ui/slide-text.tsx","type":"registry:ui"}]},{"name":"slider","type":"registry:ui","title":"Slider","description":"Single or range slider with springy thumbs, a value bubble, tick marks with labels, glide-to-click and full keyboard support (arrows, Page Up/Down, Home/End).","dependencies":[],"files":[{"path":"registry/ui/slider.tsx","type":"registry:ui"}]},{"name":"slingshot","type":"registry:ui","title":"Slingshot","description":"Pull the button back on rubber bands and let go: past the threshold it fires and whips home with overshoot. A normal click works too.","dependencies":["motion"],"files":[{"path":"registry/ui/slingshot.tsx","type":"registry:ui"}]},{"name":"smoke-column","type":"registry:ui","title":"Smoke Column","description":"A tall column of light filled with slowly swirling volumetric smoke. WebGL.","dependencies":[],"files":[{"path":"registry/ui/smoke-column.tsx","type":"registry:ui"}]},{"name":"snap-crop","type":"registry:ui","title":"Snap Crop","description":"Crop frame with springy corner handles that magnetically snap to edges, thirds and center, with snap guides and a live pixel-size readout.","dependencies":["motion"],"files":[{"path":"registry/ui/snap-crop.tsx","type":"registry:ui"}]},{"name":"snap-slides","type":"registry:ui","title":"Snap Slides","description":"A draggable, snapping carousel whose off-center slides tilt away in 3D, with dots, autoplay and arrow-key support.","dependencies":["motion"],"files":[{"path":"registry/ui/snap-slides.tsx","type":"registry:ui"}]},{"name":"social-orbit","type":"registry:ui","title":"Social Orbit","description":"An avatar with social links circling it on two counter-rotating rings, upright icons, brand-colored hovers and tooltip labels; pauses on hover.","dependencies":[],"files":[{"path":"registry/ui/social-orbit.tsx","type":"registry:ui"}]},{"name":"spark-waves","type":"registry:ui","title":"Spark Waves","description":"Glowing sine waves braid across the stage and shed drifting sparks from their crests. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/spark-waves.tsx","type":"registry:ui"}]},{"name":"spectrum-burst","type":"registry:ui","title":"Spectrum Burst","description":"A radial burst of light rays pulsing outward from the center, split into rainbow fringes by chromatic dispersion. WebGL.","dependencies":[],"files":[{"path":"registry/ui/spectrum-burst.tsx","type":"registry:ui"}]},{"name":"spike-blob","type":"registry:ui","title":"Spike Blob","description":"A glossy black ferrofluid blob whose spikes rise toward the cursor like it is chasing a magnet.","dependencies":[],"files":[{"path":"registry/ui/spike-blob.tsx","type":"registry:ui"}]},{"name":"spiral-stars","type":"registry:ui","title":"Spiral Stars","description":"A slowly spinning spiral galaxy of twinkling stars and glowing dust, with depth parallax under the cursor.","dependencies":[],"files":[{"path":"registry/ui/spiral-stars.tsx","type":"registry:ui"}]},{"name":"splitter","type":"registry:ui","title":"Splitter","description":"Resizable split panes with a draggable handle, min/max limits, and full keyboard resizing.","dependencies":[],"files":[{"path":"registry/ui/splitter.tsx","type":"registry:ui"}]},{"name":"sprout-menu","type":"registry:ui","title":"Sprout Menu","description":"A trigger that grows curved branches out to its sub-actions, then pulls them back in when it closes.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/sprout-menu.tsx","type":"registry:ui"}]},{"name":"squares-grid","type":"registry:ui","title":"Squares Grid","description":"An endlessly scrolling grid; the square under the cursor fills in.","dependencies":[],"files":[{"path":"registry/ui/squares-grid.tsx","type":"registry:ui"}]},{"name":"squash-toggle","type":"registry:ui","title":"Squash Toggle","description":"Toggle switch whose thumb widens in anticipation while pressed, stretches and flattens as it travels, then bounces into place.","dependencies":["motion"],"files":[{"path":"registry/ui/squash-toggle.tsx","type":"registry:ui"}]},{"name":"stagger-button","type":"registry:ui","title":"Stagger Button","description":"Each letter of the label rolls upward one after another on hover.","dependencies":[],"files":[{"path":"registry/ui/stagger-button.tsx","type":"registry:ui"}]},{"name":"stagger-chars","type":"registry:ui","title":"Stagger Chars","description":"Hover and a wave of bouncing, tilting characters ripples through the text with a flash of accent color.","dependencies":[],"files":[{"path":"registry/ui/stagger-chars.tsx","type":"registry:ui"}]},{"name":"state-icon","type":"registry:ui","title":"State Icon","description":"One status icon that morphs between idle dot, spinning arc, a ring that closes into a popping check, and a shaking cross.","dependencies":["motion"],"files":[{"path":"registry/ui/state-icon.tsx","type":"registry:ui"}]},{"name":"static-type","type":"registry:ui","title":"Static Type","description":"Canvas-drawn lettering whose pixel rows jitter sideways like a weak signal, getting noisier when you hover it.","dependencies":[],"files":[{"path":"registry/ui/static-type.tsx","type":"registry:ui"}]},{"name":"stats-carousel","type":"registry:ui","title":"Stats Carousel","description":"A carousel of KPI cards whose numbers count up and sparklines draw in as each one slides to center.","dependencies":[],"files":[{"path":"registry/ui/stats-carousel.tsx","type":"registry:ui"}]},{"name":"stats-count","type":"registry:ui","title":"Stats Count","description":"A row of big statistics that count up with a staggered reveal when scrolled into view.","dependencies":[],"files":[{"path":"registry/ui/stats-count.tsx","type":"registry:ui"}]},{"name":"status","type":"registry:ui","title":"Status","description":"Presence indicator (online, away, busy, offline): a colored dot with rippling rings, an optional tinted pill and a soft crossfade when the status changes.","dependencies":[],"files":[{"path":"registry/ui/status.tsx","type":"registry:ui"}]},{"name":"step-flow","type":"registry:ui","title":"Step Flow","description":"Multi-step flow with a filling progress track, pulsing active step, sliding content that resizes smoothly and a completion state.","dependencies":["motion","react-use-measure"],"files":[{"path":"registry/ui/step-flow.tsx","type":"registry:ui"}]},{"name":"streak-rain","type":"registry:ui","title":"Streak Rain","description":"Streaks of light falling like rain across three depth layers, each with a glowing head and fading trail. WebGL.","dependencies":[],"files":[{"path":"registry/ui/streak-rain.tsx","type":"registry:ui"}]},{"name":"streamers","type":"registry:ui","title":"Streamers","description":"Silky, twisting ribbons that chase the cursor on springs and fan out as they lag behind.","dependencies":[],"files":[{"path":"registry/ui/streamers.tsx","type":"registry:ui"}]},{"name":"stretch-rail","type":"registry:ui","title":"Stretch Rail","description":"Sidebar navigation whose glowing line indicator stretches toward the new item and springs back to size.","dependencies":["motion"],"files":[{"path":"registry/ui/stretch-rail.tsx","type":"registry:ui"}]},{"name":"stretch-tabs","type":"registry:ui","title":"Stretch Tabs","description":"Segmented control whose pill indicator stretches like rubber toward the new option, thins out as it pulls, then snaps shut.","dependencies":["motion"],"files":[{"path":"registry/ui/stretch-tabs.tsx","type":"registry:ui"}]},{"name":"strip-delete","type":"registry:ui","title":"Strip Delete","description":"Delete a document card and it feeds into a rattling shredder, coming out as strips that scatter and fall, with an undo that drops it back in.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/strip-delete.tsx","type":"registry:ui"}]},{"name":"strip-gradient","type":"registry:ui","title":"Strip Gradient","description":"A flowing wave gradient cut into horizontal strips that glide sideways independently. WebGL.","dependencies":[],"files":[{"path":"registry/ui/strip-gradient.tsx","type":"registry:ui"}]},{"name":"stripe-button","type":"registry:ui","title":"Stripe Button","description":"Diagonal barber stripes that brighten and scroll on hover, like a live progress bar.","dependencies":[],"files":[{"path":"registry/ui/stripe-button.tsx","type":"registry:ui"}]},{"name":"striped-grid","type":"registry:ui","title":"Striped Grid","description":"A slowly scrolling grid of diagonally hatched cells that light up and fade as the cursor passes. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/striped-grid.tsx","type":"registry:ui"}]},{"name":"surge-marquee","type":"registry:ui","title":"Surge Marquee","description":"Rows of oversized marquee text that drift on their own and surge or reverse with scroll speed.","dependencies":[],"files":[{"path":"registry/ui/surge-marquee.tsx","type":"registry:ui"}]},{"name":"swarm-word","type":"registry:ui","title":"Swarm Word","description":"Thousands of tiny particles swarm together to spell a word, burst away from the cursor and spring back into place.","dependencies":[],"files":[{"path":"registry/ui/swarm-word.tsx","type":"registry:ui"}]},{"name":"sweep-line","type":"registry:ui","title":"Sweep Line","description":"A bright scan line sweeping back and forth over a faint dot grid, leaving a fading afterglow. WebGL.","dependencies":[],"files":[{"path":"registry/ui/sweep-line.tsx","type":"registry:ui"}]},{"name":"sweep-menu","type":"registry:ui","title":"Sweep Menu","description":"Menu button that sweeps staggered colored layers across the screen before a panel of oversized links rises into place.","dependencies":["motion"],"files":[{"path":"registry/ui/sweep-menu.tsx","type":"registry:ui"}]},{"name":"sweep-scope","type":"registry:ui","title":"Sweep Scope","description":"A phosphor radar scope: a rotating sweep with a fading trail, range rings, bearing ticks and contacts that ping as the beam passes. WebGL.","dependencies":[],"files":[{"path":"registry/ui/sweep-scope.tsx","type":"registry:ui"}]},{"name":"swipe-action","type":"registry:ui","title":"Swipe Action","description":"List row you swipe right to archive or left to delete, with rubber-band resistance, an armed pop past the threshold and a collapse on commit. Arrow keys + Enter work too.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/swipe-action.tsx","type":"registry:ui"}]},{"name":"swipe-stack","type":"registry:ui","title":"Swipe Stack","description":"A deck of cards you drag away to reveal the next one. Keyboard accessible.","dependencies":[],"files":[{"path":"registry/ui/swipe-stack.tsx","type":"registry:ui"}]},{"name":"swirl","type":"registry:ui","title":"Swirl","description":"A psychedelic paint swirl in two bold colors outlined with ink, with an optional chunky-pixel mode. WebGL.","dependencies":[],"files":[{"path":"registry/ui/swirl.tsx","type":"registry:ui"}]},{"name":"table","type":"registry:ui","title":"Table","description":"Data table with sortable headers (flipping chevron arrows), rows that glide into their new order, hover and selection states with animated checkboxes and a sticky blurred header.","dependencies":["motion"],"files":[{"path":"registry/ui/table.tsx","type":"registry:ui"}]},{"name":"tabs","type":"registry:ui","title":"Tabs","description":"Accessible tabs with a spring-animated pill or underline indicator, roving arrow-key focus, direction-aware panel transitions and lazily mounted panels that keep their state.","dependencies":["motion"],"files":[{"path":"registry/ui/tabs.tsx","type":"registry:ui"}]},{"name":"tail-knob","type":"registry:ui","title":"Tail Knob","description":"A drag-around knob whose indicator trails a glowing comet tail, with a live readout and full arrow-key support.","dependencies":[],"files":[{"path":"registry/ui/tail-knob.tsx","type":"registry:ui"}]},{"name":"tally","type":"registry:ui","title":"Tally","description":"Animates a number from one value to another when it enters the viewport.","dependencies":[],"files":[{"path":"registry/ui/tally.tsx","type":"registry:ui"}]},{"name":"tank-gauge","type":"registry:ui","title":"Tank Gauge","description":"Round liquid gauge whose level springs to each new value and sloshes side to side before settling, with the readout inverting where the liquid covers it. Drag or key it to set the level.","dependencies":[],"files":[{"path":"registry/ui/tank-gauge.tsx","type":"registry:ui"}]},{"name":"tap-burst","type":"registry:ui","title":"Tap Burst","description":"Bursts of sparks radiate from every click inside the area.","dependencies":[],"files":[{"path":"registry/ui/tap-burst.tsx","type":"registry:ui"}]},{"name":"tap-flip","type":"registry:ui","title":"Tap Flip","description":"A small flash card that lifts off the table and springs over toward the side you tap, with a shadow that shrinks mid-turn. Enter or Space flips it too.","dependencies":["motion"],"files":[{"path":"registry/ui/tap-flip.tsx","type":"registry:ui"}]},{"name":"task-widget","type":"registry:ui","title":"Task Widget","description":"An iOS-like glass widget with a live clock, weather line and tactile task cards that frost toward the tail of the list.","dependencies":["motion","lucide-react","figma-squircle","react-use-measure"],"files":[{"path":"registry/ui/task-widget.tsx","type":"registry:ui"}]},{"name":"testimonial-carousel","type":"registry:ui","title":"Testimonial Carousel","description":"One testimonial at a time with avatar, star rating and quote. Swipe, arrows, dots, and auto-play that pauses on hover.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/testimonial-carousel.tsx","type":"registry:ui"}]},{"name":"text-generate","type":"registry:ui","title":"Text Generate","description":"Words stream in one by one out of a soft blur, like a model typing its answer, with an optional glowing caret.","dependencies":[],"files":[{"path":"registry/ui/text-generate.tsx","type":"registry:ui"}]},{"name":"text-highlighter","type":"registry:ui","title":"Text Highlighter","description":"A marker-pen stroke swipes behind chosen words as they scroll into view, flipping the ink color in sync.","dependencies":[],"files":[{"path":"registry/ui/text-highlighter.tsx","type":"registry:ui"}]},{"name":"text-modifier","type":"registry:ui","title":"Text Modifier","description":"Hand-drawn pen annotations (circles, underlines, boxes, strikes and crosses) that sketch themselves around words.","dependencies":[],"files":[{"path":"registry/ui/text-modifier.tsx","type":"registry:ui"}]},{"name":"text-spotlight","type":"registry:ui","title":"Text Spotlight","description":"Dimmed text with a soft, gradient-lit spotlight that trails your cursor and drifts on its own when idle.","dependencies":[],"files":[{"path":"registry/ui/text-spotlight.tsx","type":"registry:ui"}]},{"name":"theme-toggle","type":"registry:ui","title":"Theme Toggle","description":"A day/night switch: the sun rolls across, its rays retract as a shadow bites it into a crescent, clouds drift off and stars burst out and twinkle.","dependencies":["motion"],"files":[{"path":"registry/ui/theme-toggle.tsx","type":"registry:ui"}]},{"name":"thunder-loader","type":"registry:ui","title":"Thunder Loader","description":"A lightning bolt that charges up in stuttering surges while arcs crackle around it, then flashes white, throws sparks and discharges. Pass progress for a determinate meter.","dependencies":[],"files":[{"path":"registry/ui/thunder-loader.tsx","type":"registry:ui"}]},{"name":"tide-lines","type":"registry:ui","title":"Tide Lines","description":"Stacked lines flowing like a noise-driven sea; the cursor drags through them and they spring back.","dependencies":[],"files":[{"path":"registry/ui/tide-lines.tsx","type":"registry:ui"}]},{"name":"tile-smear","type":"registry:ui","title":"Tile Smear","description":"An image on a grid of tiles that smear along with the cursor and ease back into place.","dependencies":[],"files":[{"path":"registry/ui/tile-smear.tsx","type":"registry:ui"}]},{"name":"tilt-blocks","type":"registry:ui","title":"Tilt Blocks","description":"A field of 3D cubes that tilt toward the cursor and flip in a glowing ripple when clicked.","dependencies":[],"files":[{"path":"registry/ui/tilt-blocks.tsx","type":"registry:ui"}]},{"name":"tilt-card","type":"registry:ui","title":"Tilt Card","description":"3D perspective tilt that follows the pointer, with an optional glare.","dependencies":[],"files":[{"path":"registry/ui/tilt-card.tsx","type":"registry:ui"}]},{"name":"timeline","type":"registry:ui","title":"Timeline","description":"Vertical timeline whose glowing progress line fills as you scroll, lighting up markers and revealing entries.","dependencies":[],"files":[{"path":"registry/ui/timeline.tsx","type":"registry:ui"}]},{"name":"tint-type","type":"registry:ui","title":"Tint Type","description":"Text filled with a slowly flowing multi-stop gradient.","dependencies":[],"files":[{"path":"registry/ui/tint-type.tsx","type":"registry:ui"}]},{"name":"toast","type":"registry:ui","title":"Toast","description":"Toast system (provider + useToast hook) with variants, actions, in-place updates, a collapsed stack that fans out on hover, swipe to dismiss and a pausable countdown bar.","dependencies":["motion","lucide-react"],"files":[{"path":"registry/ui/toast.tsx","type":"registry:ui"}]},{"name":"toggle-vault","type":"registry:ui","title":"Toggle Vault","description":"A lock switch styled as a vault door: the combination dial winds back, spins, and the bolts retract; locking spins it home and slams the bolts shut.","dependencies":["motion"],"files":[{"path":"registry/ui/toggle-vault.tsx","type":"registry:ui"}]},{"name":"tooltip","type":"registry:ui","title":"Tooltip","description":"Hover and focus tooltip in the native top layer: open delay with instant hand-off between neighbors, auto-flip placement, a tracking arrow and a springy fade-scale.","dependencies":[],"files":[{"path":"registry/ui/tooltip.tsx","type":"registry:ui"}]},{"name":"torch-card","type":"registry:ui","title":"Torch Card","description":"A soft light follows the cursor across the card surface.","dependencies":[],"files":[{"path":"registry/ui/torch-card.tsx","type":"registry:ui"}]},{"name":"trail-range","type":"registry:ui","title":"Trail Range","description":"A range slider whose thumb drags a glowing wake behind it and squashes when flicked fast. Built on a native range input, so keyboard and forms just work.","dependencies":["motion"],"files":[{"path":"registry/ui/trail-range.tsx","type":"registry:ui"}]},{"name":"twine","type":"registry:ui","title":"Twine","description":"A bundle of thin glowing threads twisting like strings in the wind, bending toward the cursor.","dependencies":[],"files":[{"path":"registry/ui/twine.tsx","type":"registry:ui"}]},{"name":"twinkle-card","type":"registry:ui","title":"Twinkle Card","description":"A card whose background ripples into a field of twinkling canvas pixels on hover or focus, with built-in color themes.","dependencies":[],"files":[{"path":"registry/ui/twinkle-card.tsx","type":"registry:ui"}]},{"name":"typewriter","type":"registry:ui","title":"Typewriter","description":"Types and deletes a list of phrases with a blinking cursor.","dependencies":[],"files":[{"path":"registry/ui/typewriter.tsx","type":"registry:ui"}]},{"name":"unblur-heading","type":"registry:ui","title":"Unblur Heading","description":"Words or letters drift in from above or below, sharpening out of a heavy blur as they scroll into view.","dependencies":[],"files":[{"path":"registry/ui/unblur-heading.tsx","type":"registry:ui"}]},{"name":"updraft-dust","type":"registry:ui","title":"Updraft Dust","description":"Weightless glowing dust that drifts upward and curls away from the cursor.","dependencies":[],"files":[{"path":"registry/ui/updraft-dust.tsx","type":"registry:ui"}]},{"name":"venom-beam","type":"registry:ui","title":"Venom Beam","description":"A dark beam of oily, noise-driven tendrils writhing over a toxic green glow, shedding venom droplets. WebGL.","dependencies":[],"files":[{"path":"registry/ui/venom-beam.tsx","type":"registry:ui"}]},{"name":"vercel-card","type":"registry:ui","title":"Vercel Card","description":"Minimal monochrome card with a fading grid, corner plus markers and a pointer spotlight that lights up the grid lines.","dependencies":[],"files":[{"path":"registry/ui/vercel-card.tsx","type":"registry:ui"}]},{"name":"warp-highway","type":"registry:ui","title":"Warp Highway","description":"A night highway of light trails rushing toward you. Hold the pointer down to punch it into warp.","dependencies":[],"files":[{"path":"registry/ui/warp-highway.tsx","type":"registry:ui"}]},{"name":"watcher-iris","type":"registry:ui","title":"Watcher Iris","description":"A giant smoldering eye with a churning iris and slit pupil that tracks the cursor and blinks now and then. WebGL.","dependencies":[],"files":[{"path":"registry/ui/watcher-iris.tsx","type":"registry:ui"}]},{"name":"water-image","type":"registry:ui","title":"Water Image","description":"An image that ripples like a water surface wherever the cursor passes, with a hint of chromatic split. WebGL.","dependencies":[],"files":[{"path":"registry/ui/water-image.tsx","type":"registry:ui"}]},{"name":"wave-mesh","type":"registry:ui","title":"Wave Mesh","description":"Glowing grid lines bent by ripples spreading from the center and from the cursor. WebGL.","dependencies":[],"files":[{"path":"registry/ui/wave-mesh.tsx","type":"registry:ui"}]},{"name":"wavy-button","type":"registry:ui","title":"Wavy Button","description":"Liquid sloshes at the bottom and rises in a rolling SVG wave to fill the button on hover.","dependencies":[],"files":[{"path":"registry/ui/wavy-button.tsx","type":"registry:ui"}]},{"name":"weave-lines","type":"registry:ui","title":"Weave Lines","description":"Dozens of fine horizontal lines weaving into flowing silk-like waves that bulge away from the cursor. Canvas 2D.","dependencies":[],"files":[{"path":"registry/ui/weave-lines.tsx","type":"registry:ui"}]},{"name":"weight-press","type":"registry:ui","title":"Weight Press","description":"A full-width headline whose letters swell in weight and stretch taller as the cursor presses close.","dependencies":[],"files":[{"path":"registry/ui/weight-press.tsx","type":"registry:ui"}]},{"name":"white-stripes","type":"registry:ui","title":"White Stripes","description":"Layers of satin-shaded diagonal stripes drift at different speeds, casting soft shadows with cursor parallax. WebGL.","dependencies":[],"files":[{"path":"registry/ui/white-stripes.tsx","type":"registry:ui"}]},{"name":"wipe-menu","type":"registry:ui","title":"Wipe Menu","description":"Full-width menu rows; hovering one wipes in a marquee of text and images from the edge you entered.","dependencies":[],"files":[{"path":"registry/ui/wipe-menu.tsx","type":"registry:ui"}]},{"name":"wisp-fibers","type":"registry:ui","title":"Wisp Fibers","description":"Translucent glowing fibers that braid, drift apart and fade in and out like ghostly silk.","dependencies":[],"files":[{"path":"registry/ui/wisp-fibers.tsx","type":"registry:ui"}]},{"name":"word-cycle","type":"registry:ui","title":"Word Cycle","description":"Cycles through a list of words with a vertical slide.","dependencies":[],"files":[{"path":"registry/ui/word-cycle.tsx","type":"registry:ui"}]},{"name":"word-pile","type":"registry:ui","title":"Word Pile","description":"A paragraph whose words tumble down and pile up with real physics on hover, click or view, then can be grabbed and tossed around.","dependencies":["matter-js"],"files":[{"path":"registry/ui/word-pile.tsx","type":"registry:ui"}]}]}