{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "furin",
  "homepage": "https://furin.dev",
  "items": [
    {
      "name": "analog-gauge",
      "type": "registry:component",
      "title": "Analog Gauge",
      "description": "An analog gauge whose needle swings and settles on its value, with a printed dial and a red zone.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Data"
      ],
      "files": [
        {
          "path": "registry/analog-gauge/AnalogGauge.tsx",
          "type": "registry:component",
          "target": "components/furin/analog-gauge/AnalogGauge.tsx"
        },
        {
          "path": "registry/analog-gauge/AnalogGauge.css",
          "type": "registry:file",
          "target": "components/furin/analog-gauge/AnalogGauge.css"
        }
      ]
    },
    {
      "name": "ascii-text",
      "type": "registry:component",
      "title": "ASCII Text",
      "description": "Text drawn with ASCII characters. A lens around the cursor magnifies, rotates and scrambles them.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/ascii-text/AsciiText.tsx",
          "type": "registry:component",
          "target": "components/furin/ascii-text/AsciiText.tsx"
        },
        {
          "path": "registry/ascii-text/AsciiText.css",
          "type": "registry:file",
          "target": "components/furin/ascii-text/AsciiText.css"
        }
      ]
    },
    {
      "name": "aurora",
      "type": "registry:component",
      "title": "Aurora",
      "description": "A WebGL background of slowly rippling aurora curtains, in your own colors.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/aurora/Aurora.tsx",
          "type": "registry:component",
          "target": "components/furin/aurora/Aurora.tsx"
        },
        {
          "path": "registry/aurora/Aurora.css",
          "type": "registry:file",
          "target": "components/furin/aurora/Aurora.css"
        }
      ]
    },
    {
      "name": "bento-light",
      "type": "registry:component",
      "title": "Bento Light",
      "description": "A six-cell bento grid with a light that jumps between cells, following the cursor (or on its own), and spills onto its neighbors.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/bento-light/BentoLight.tsx",
          "type": "registry:component",
          "target": "components/furin/bento-light/BentoLight.tsx"
        },
        {
          "path": "registry/bento-light/BentoLight.css",
          "type": "registry:file",
          "target": "components/furin/bento-light/BentoLight.css"
        }
      ]
    },
    {
      "name": "blur-number",
      "type": "registry:component",
      "title": "Blur Number",
      "description": "A number whose digits roll to the new value with vertical motion blur, one after another.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/blur-number/BlurNumber.tsx",
          "type": "registry:component",
          "target": "components/furin/blur-number/BlurNumber.tsx"
        },
        {
          "path": "registry/blur-number/BlurNumber.css",
          "type": "registry:file",
          "target": "components/furin/blur-number/BlurNumber.css"
        }
      ]
    },
    {
      "name": "border-beam",
      "type": "registry:component",
      "title": "Border Beam",
      "description": "A beam of light with a tail, a bright head and a halo that travels around the outline of any content at constant speed.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/border-beam/BorderBeam.tsx",
          "type": "registry:component",
          "target": "components/furin/border-beam/BorderBeam.tsx"
        },
        {
          "path": "registry/border-beam/BorderBeam.css",
          "type": "registry:file",
          "target": "components/furin/border-beam/BorderBeam.css"
        }
      ]
    },
    {
      "name": "card-stack",
      "type": "registry:component",
      "title": "Card Stack",
      "description": "A deck of cards you shuffle by dragging the top one: inertia, rotation and a spring back to the bottom. Also works with click and keyboard.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/card-stack/CardStack.tsx",
          "type": "registry:component",
          "target": "components/furin/card-stack/CardStack.tsx"
        },
        {
          "path": "registry/card-stack/CardStack.css",
          "type": "registry:file",
          "target": "components/furin/card-stack/CardStack.css"
        }
      ]
    },
    {
      "name": "chime-bell",
      "type": "registry:component",
      "title": "Wind Chime",
      "description": "A glass furin wind chime that sways with the cursor's breeze and rings when touched. It doubles as a notification bell with a counter.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Interaction"
      ],
      "files": [
        {
          "path": "registry/chime-bell/ChimeBell.tsx",
          "type": "registry:component",
          "target": "components/furin/chime-bell/ChimeBell.tsx"
        },
        {
          "path": "registry/chime-bell/ChimeBell.css",
          "type": "registry:file",
          "target": "components/furin/chime-bell/ChimeBell.css"
        }
      ]
    },
    {
      "name": "chrome-text",
      "type": "registry:component",
      "title": "Chrome Text",
      "description": "Liquid chrome letters whose reflection follows the cursor.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/chrome-text/ChromeText.tsx",
          "type": "registry:component",
          "target": "components/furin/chrome-text/ChromeText.tsx"
        },
        {
          "path": "registry/chrome-text/ChromeText.css",
          "type": "registry:file",
          "target": "components/furin/chrome-text/ChromeText.css"
        }
      ]
    },
    {
      "name": "click-burst",
      "type": "registry:component",
      "title": "Click Burst",
      "description": "Fine rays that burst out where you click: they travel outward, detach from their origin and leave a ring and tiny sparks.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cursors"
      ],
      "files": [
        {
          "path": "registry/click-burst/ClickBurst.tsx",
          "type": "registry:component",
          "target": "components/furin/click-burst/ClickBurst.tsx"
        },
        {
          "path": "registry/click-burst/ClickBurst.css",
          "type": "registry:file",
          "target": "components/furin/click-burst/ClickBurst.css"
        }
      ]
    },
    {
      "name": "code-rain",
      "type": "registry:component",
      "title": "Code Rain",
      "description": "Columns of real JSX and TypeScript snippets falling across three depth planes, with a glowing head and syntax highlighting.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/code-rain/CodeRain.tsx",
          "type": "registry:component",
          "target": "components/furin/code-rain/CodeRain.tsx"
        },
        {
          "path": "registry/code-rain/CodeRain.css",
          "type": "registry:file",
          "target": "components/furin/code-rain/CodeRain.css"
        }
      ]
    },
    {
      "name": "confetti-button",
      "type": "registry:component",
      "title": "Confetti Button",
      "description": "A button that fires physical confetti: paper pieces that spin in 3D, fall with air drag and flutter.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Buttons"
      ],
      "files": [
        {
          "path": "registry/confetti-button/ConfettiButton.tsx",
          "type": "registry:component",
          "target": "components/furin/confetti-button/ConfettiButton.tsx"
        },
        {
          "path": "registry/confetti-button/ConfettiButton.css",
          "type": "registry:file",
          "target": "components/furin/confetti-button/ConfettiButton.css"
        }
      ]
    },
    {
      "name": "copy-morph",
      "type": "registry:component",
      "title": "Copy Morph",
      "description": "A copy button where the icon outline morphs into a checkmark with a stroke and spring morph. It really copies the text with navigator.clipboard (with a fallback).",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Buttons"
      ],
      "files": [
        {
          "path": "registry/copy-morph/CopyMorph.tsx",
          "type": "registry:component",
          "target": "components/furin/copy-morph/CopyMorph.tsx"
        },
        {
          "path": "registry/copy-morph/CopyMorph.css",
          "type": "registry:file",
          "target": "components/furin/copy-morph/CopyMorph.css"
        }
      ]
    },
    {
      "name": "coverflow",
      "type": "registry:component",
      "title": "Coverflow",
      "description": "Album covers in perspective with reflections: the center one faces you and the rest fan out. Arrows, drag with inertia, click and keyboard.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Galleries"
      ],
      "files": [
        {
          "path": "registry/coverflow/Coverflow.tsx",
          "type": "registry:component",
          "target": "components/furin/coverflow/Coverflow.tsx"
        },
        {
          "path": "registry/coverflow/Coverflow.css",
          "type": "registry:file",
          "target": "components/furin/coverflow/Coverflow.css"
        }
      ]
    },
    {
      "name": "crosshair",
      "type": "registry:component",
      "title": "Crosshair",
      "description": "A precision crosshair: edge-to-edge lines with a center gap, rulers with tick marks along the edges and live monospace coordinates.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cursors"
      ],
      "files": [
        {
          "path": "registry/crosshair/Crosshair.tsx",
          "type": "registry:component",
          "target": "components/furin/crosshair/Crosshair.tsx"
        },
        {
          "path": "registry/crosshair/Crosshair.css",
          "type": "registry:file",
          "target": "components/furin/crosshair/Crosshair.css"
        }
      ]
    },
    {
      "name": "decipher-text",
      "type": "registry:component",
      "title": "Decipher Text",
      "description": "Text that appears by deciphering itself: random characters settle into place letter by letter.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/decipher-text/DecipherText.tsx",
          "type": "registry:component",
          "target": "components/furin/decipher-text/DecipherText.tsx"
        },
        {
          "path": "registry/decipher-text/DecipherText.css",
          "type": "registry:file",
          "target": "components/furin/decipher-text/DecipherText.css"
        }
      ]
    },
    {
      "name": "dither-wave",
      "type": "registry:component",
      "title": "Dither Wave",
      "description": "A relief of waves drawn with one-bit Bayer ordered dithering. The cursor leaves expanding rings.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/dither-wave/DitherWave.tsx",
          "type": "registry:component",
          "target": "components/furin/dither-wave/DitherWave.tsx"
        },
        {
          "path": "registry/dither-wave/DitherWave.css",
          "type": "registry:file",
          "target": "components/furin/dither-wave/DitherWave.css"
        }
      ]
    },
    {
      "name": "dock",
      "type": "registry:component",
      "title": "Dock",
      "description": "A bar of icons that magnify under the cursor, on glass.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/dock/Dock.tsx",
          "type": "registry:component",
          "target": "components/furin/dock/Dock.tsx"
        },
        {
          "path": "registry/dock/Dock.css",
          "type": "registry:file",
          "target": "components/furin/dock/Dock.css"
        }
      ]
    },
    {
      "name": "download-button",
      "type": "registry:component",
      "title": "Download Button",
      "description": "A button that narrows into a progress bar, advances at an uneven pace like a real network, and ends in a checkmark. With href, it really downloads the file.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Buttons"
      ],
      "files": [
        {
          "path": "registry/download-button/DownloadButton.tsx",
          "type": "registry:component",
          "target": "components/furin/download-button/DownloadButton.tsx"
        },
        {
          "path": "registry/download-button/DownloadButton.css",
          "type": "registry:file",
          "target": "components/furin/download-button/DownloadButton.css"
        }
      ]
    },
    {
      "name": "elastic-slider",
      "type": "registry:component",
      "title": "Elastic Slider",
      "description": "A slider (role slider, full keyboard support) that stretches like rubber when dragged past its limits and snaps back with a bounce; the track squashes to preserve volume.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/elastic-slider/ElasticSlider.tsx",
          "type": "registry:component",
          "target": "components/furin/elastic-slider/ElasticSlider.tsx"
        },
        {
          "path": "registry/elastic-slider/ElasticSlider.css",
          "type": "registry:file",
          "target": "components/furin/elastic-slider/ElasticSlider.css"
        }
      ]
    },
    {
      "name": "electric-border",
      "type": "registry:component",
      "title": "Electric Border",
      "description": "Arcs of electricity that snake around the border, with local discharges, sparks and a flickering glow.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/electric-border/ElectricBorder.tsx",
          "type": "registry:component",
          "target": "components/furin/electric-border/ElectricBorder.tsx"
        },
        {
          "path": "registry/electric-border/ElectricBorder.css",
          "type": "registry:file",
          "target": "components/furin/electric-border/ElectricBorder.css"
        }
      ]
    },
    {
      "name": "fireflies",
      "type": "registry:component",
      "title": "Fireflies",
      "description": "Fireflies that drift at three depths and blink with a warm glow; they curiously approach the cursor and circle it.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/fireflies/Fireflies.tsx",
          "type": "registry:component",
          "target": "components/furin/fireflies/Fireflies.tsx"
        },
        {
          "path": "registry/fireflies/Fireflies.css",
          "type": "registry:file",
          "target": "components/furin/fireflies/Fireflies.css"
        }
      ]
    },
    {
      "name": "folder-peek",
      "type": "registry:component",
      "title": "Folder Peek",
      "description": "A cardboard folder that opens on hover and lets its documents peek out with a soft bounce.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/folder-peek/FolderPeek.tsx",
          "type": "registry:component",
          "target": "components/furin/folder-peek/FolderPeek.tsx"
        },
        {
          "path": "registry/folder-peek/FolderPeek.css",
          "type": "registry:file",
          "target": "components/furin/folder-peek/FolderPeek.css"
        }
      ]
    },
    {
      "name": "galaxy",
      "type": "registry:component",
      "title": "Galaxy",
      "description": "A spiral galaxy of tens of thousands of particles with a glowing core that rotates slowly; the cursor tilts the view.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/galaxy/Galaxy.tsx",
          "type": "registry:component",
          "target": "components/furin/galaxy/Galaxy.tsx"
        },
        {
          "path": "registry/galaxy/Galaxy.css",
          "type": "registry:file",
          "target": "components/furin/galaxy/Galaxy.css"
        }
      ]
    },
    {
      "name": "glass-blobs",
      "type": "registry:component",
      "title": "Glass Blobs",
      "description": "Blobs of color floating behind a sheet of frosted glass.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/glass-blobs/GlassBlobs.tsx",
          "type": "registry:component",
          "target": "components/furin/glass-blobs/GlassBlobs.tsx"
        },
        {
          "path": "registry/glass-blobs/GlassBlobs.css",
          "type": "registry:file",
          "target": "components/furin/glass-blobs/GlassBlobs.css"
        }
      ]
    },
    {
      "name": "glass-button",
      "type": "registry:component",
      "title": "Glass Button",
      "description": "A liquid-glass button that refracts the background behind it.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Buttons"
      ],
      "files": [
        {
          "path": "registry/glass-button/GlassButton.tsx",
          "type": "registry:component",
          "target": "components/furin/glass-button/GlassButton.tsx"
        },
        {
          "path": "registry/glass-button/GlassButton.css",
          "type": "registry:file",
          "target": "components/furin/glass-button/GlassButton.css"
        }
      ]
    },
    {
      "name": "glass-card",
      "type": "registry:component",
      "title": "Glass Card",
      "description": "Liquid glass with refraction, a specular edge and a reflection that follows the cursor.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/glass-card/GlassCard.tsx",
          "type": "registry:component",
          "target": "components/furin/glass-card/GlassCard.tsx"
        },
        {
          "path": "registry/glass-card/GlassCard.css",
          "type": "registry:file",
          "target": "components/furin/glass-card/GlassCard.css"
        }
      ]
    },
    {
      "name": "glass-segmented",
      "type": "registry:component",
      "title": "Glass Segmented Control",
      "description": "A glass segmented control with a lens that slides between options.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/glass-segmented/GlassSegmented.tsx",
          "type": "registry:component",
          "target": "components/furin/glass-segmented/GlassSegmented.tsx"
        },
        {
          "path": "registry/glass-segmented/GlassSegmented.css",
          "type": "registry:file",
          "target": "components/furin/glass-segmented/GlassSegmented.css"
        }
      ]
    },
    {
      "name": "glint-button",
      "type": "registry:component",
      "title": "Glint Button",
      "description": "A dark button with a glint that sweeps across it every so often and on hover, lighting up the fill, the border and the text at once.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Buttons"
      ],
      "files": [
        {
          "path": "registry/glint-button/GlintButton.tsx",
          "type": "registry:component",
          "target": "components/furin/glint-button/GlintButton.tsx"
        },
        {
          "path": "registry/glint-button/GlintButton.css",
          "type": "registry:file",
          "target": "components/furin/glint-button/GlintButton.css"
        }
      ]
    },
    {
      "name": "gold-foil-text",
      "type": "registry:component",
      "title": "Gold Foil Text",
      "description": "Gold foil text with relief and a specular glint as you move the cursor.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/gold-foil-text/GoldFoilText.tsx",
          "type": "registry:component",
          "target": "components/furin/gold-foil-text/GoldFoilText.tsx"
        },
        {
          "path": "registry/gold-foil-text/GoldFoilText.css",
          "type": "registry:file",
          "target": "components/furin/gold-foil-text/GoldFoilText.css"
        }
      ]
    },
    {
      "name": "goo-cursor",
      "type": "registry:component",
      "title": "Goo Cursor",
      "description": "A translucent jelly cursor with a specular highlight: it drags droplets behind it that stretch into a trail and melt back into it when you stop.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cursors"
      ],
      "files": [
        {
          "path": "registry/goo-cursor/GooCursor.tsx",
          "type": "registry:component",
          "target": "components/furin/goo-cursor/GooCursor.tsx"
        },
        {
          "path": "registry/goo-cursor/GooCursor.css",
          "type": "registry:file",
          "target": "components/furin/goo-cursor/GooCursor.css"
        }
      ]
    },
    {
      "name": "gooey-tabs",
      "type": "registry:component",
      "title": "Gooey Tabs",
      "description": "Accessible tabs whose selection is a blob of liquid: it stretches toward the new tab, thins at the neck and merges when it arrives.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/gooey-tabs/GooeyTabs.tsx",
          "type": "registry:component",
          "target": "components/furin/gooey-tabs/GooeyTabs.tsx"
        },
        {
          "path": "registry/gooey-tabs/GooeyTabs.css",
          "type": "registry:file",
          "target": "components/furin/gooey-tabs/GooeyTabs.css"
        }
      ]
    },
    {
      "name": "grain-mesh",
      "type": "registry:component",
      "title": "Grain Mesh",
      "description": "A mesh gradient that floats and blends, with fine film grain; the cursor pulls on one of the blobs.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/grain-mesh/GrainMesh.tsx",
          "type": "registry:component",
          "target": "components/furin/grain-mesh/GrainMesh.tsx"
        },
        {
          "path": "registry/grain-mesh/GrainMesh.css",
          "type": "registry:file",
          "target": "components/furin/grain-mesh/GrainMesh.css"
        }
      ]
    },
    {
      "name": "gust",
      "type": "registry:component",
      "title": "Gust",
      "description": "A headline whose letters get swept away by the cursor's wind like leaves, then spring back into place.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/gust/Gust.tsx",
          "type": "registry:component",
          "target": "components/furin/gust/Gust.tsx"
        },
        {
          "path": "registry/gust/Gust.css",
          "type": "registry:file",
          "target": "components/furin/gust/Gust.css"
        }
      ]
    },
    {
      "name": "halftone-field",
      "type": "registry:component",
      "title": "Halftone Field",
      "description": "A print-style halftone with two overprinted inks: the dots grow and shrink with a flowing field and with the cursor.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/halftone-field/HalftoneField.tsx",
          "type": "registry:component",
          "target": "components/furin/halftone-field/HalftoneField.tsx"
        },
        {
          "path": "registry/halftone-field/HalftoneField.css",
          "type": "registry:file",
          "target": "components/furin/halftone-field/HalftoneField.css"
        }
      ]
    },
    {
      "name": "hold-to-confirm",
      "type": "registry:component",
      "title": "Hold to Confirm",
      "description": "Press and hold to confirm: a ring fills, the button shakes more and more, and it vibrates on completion. Works with mouse, touch or keyboard.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Buttons"
      ],
      "files": [
        {
          "path": "registry/hold-to-confirm/HoldToConfirm.tsx",
          "type": "registry:component",
          "target": "components/furin/hold-to-confirm/HoldToConfirm.tsx"
        },
        {
          "path": "registry/hold-to-confirm/HoldToConfirm.css",
          "type": "registry:file",
          "target": "components/furin/hold-to-confirm/HoldToConfirm.css"
        }
      ]
    },
    {
      "name": "holo-foil",
      "type": "registry:component",
      "title": "Holo Foil",
      "description": "A holographic background: an iridescent film, a fine diffraction grating and a sheen that shift with the cursor's angle.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/holo-foil/HoloFoil.tsx",
          "type": "registry:component",
          "target": "components/furin/holo-foil/HoloFoil.tsx"
        },
        {
          "path": "registry/holo-foil/HoloFoil.css",
          "type": "registry:file",
          "target": "components/furin/holo-foil/HoloFoil.css"
        }
      ]
    },
    {
      "name": "hologram",
      "type": "registry:component",
      "title": "Holo Card",
      "description": "A card with 3D tilt and an iridescent holographic foil that follows the cursor.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Interaction"
      ],
      "files": [
        {
          "path": "registry/hologram/Hologram.tsx",
          "type": "registry:component",
          "target": "components/furin/hologram/Hologram.tsx"
        },
        {
          "path": "registry/hologram/Hologram.css",
          "type": "registry:file",
          "target": "components/furin/hologram/Hologram.css"
        }
      ]
    },
    {
      "name": "ink-bloom",
      "type": "registry:component",
      "title": "Ink Bloom",
      "description": "Drops of ink that bloom in dark water with swirls and tendrils, one after another in a cycle. Tap to drop one; move the cursor to stir the water.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/ink-bloom/InkBloom.tsx",
          "type": "registry:component",
          "target": "components/furin/ink-bloom/InkBloom.tsx"
        },
        {
          "path": "registry/ink-bloom/InkBloom.css",
          "type": "registry:file",
          "target": "components/furin/ink-bloom/InkBloom.css"
        }
      ]
    },
    {
      "name": "ink-trail",
      "type": "registry:component",
      "title": "Ink Trail",
      "description": "A glossy ink trail that follows the cursor, widens as if bleeding into paper, and frays into strands until it fades away.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cursors"
      ],
      "files": [
        {
          "path": "registry/ink-trail/InkTrail.tsx",
          "type": "registry:component",
          "target": "components/furin/ink-trail/InkTrail.tsx"
        },
        {
          "path": "registry/ink-trail/InkTrail.css",
          "type": "registry:file",
          "target": "components/furin/ink-trail/InkTrail.css"
        }
      ]
    },
    {
      "name": "lava-lamp",
      "type": "registry:component",
      "title": "Lava Lamp",
      "description": "A lava lamp with glass and warm light: the wax rises, stretches, merges with other blobs and splits apart. Your cursor warms it.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/lava-lamp/LavaLamp.tsx",
          "type": "registry:component",
          "target": "components/furin/lava-lamp/LavaLamp.tsx"
        },
        {
          "path": "registry/lava-lamp/LavaLamp.css",
          "type": "registry:file",
          "target": "components/furin/lava-lamp/LavaLamp.css"
        }
      ]
    },
    {
      "name": "lens-cursor",
      "type": "registry:component",
      "title": "Lens Cursor",
      "description": "A glass magnifier that enlarges whatever is underneath it.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cursors"
      ],
      "files": [
        {
          "path": "registry/lens-cursor/LensCursor.tsx",
          "type": "registry:component",
          "target": "components/furin/lens-cursor/LensCursor.tsx"
        },
        {
          "path": "registry/lens-cursor/LensCursor.css",
          "type": "registry:file",
          "target": "components/furin/lens-cursor/LensCursor.css"
        }
      ]
    },
    {
      "name": "liquid-chrome",
      "type": "registry:component",
      "title": "Liquid Chrome",
      "description": "A chrome surface that ripples and reflects a luminous environment.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/liquid-chrome/LiquidChrome.tsx",
          "type": "registry:component",
          "target": "components/furin/liquid-chrome/LiquidChrome.tsx"
        },
        {
          "path": "registry/liquid-chrome/LiquidChrome.css",
          "type": "registry:file",
          "target": "components/furin/liquid-chrome/LiquidChrome.css"
        }
      ]
    },
    {
      "name": "liquid-fill",
      "type": "registry:component",
      "title": "Liquid Fill",
      "description": "A glass flask that fills with liquid.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Loaders"
      ],
      "files": [
        {
          "path": "registry/liquid-fill/LiquidFill.tsx",
          "type": "registry:component",
          "target": "components/furin/liquid-fill/LiquidFill.tsx"
        },
        {
          "path": "registry/liquid-fill/LiquidFill.css",
          "type": "registry:file",
          "target": "components/furin/liquid-fill/LiquidFill.css"
        }
      ]
    },
    {
      "name": "live-grid",
      "type": "registry:component",
      "title": "Live Grid",
      "description": "A grid of dots that part and light up around the cursor, on a spring.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/live-grid/LiveGrid.tsx",
          "type": "registry:component",
          "target": "components/furin/live-grid/LiveGrid.tsx"
        },
        {
          "path": "registry/live-grid/LiveGrid.css",
          "type": "registry:file",
          "target": "components/furin/live-grid/LiveGrid.css"
        }
      ]
    },
    {
      "name": "magnet",
      "type": "registry:component",
      "title": "Magnet",
      "description": "Wrap any element and it gets pulled toward the cursor with spring physics.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Interaction"
      ],
      "files": [
        {
          "path": "registry/magnet/Magnet.tsx",
          "type": "registry:component",
          "target": "components/furin/magnet/Magnet.tsx"
        },
        {
          "path": "registry/magnet/Magnet.css",
          "type": "registry:file",
          "target": "components/furin/magnet/Magnet.css"
        }
      ]
    },
    {
      "name": "magnetic-letters",
      "type": "registry:component",
      "title": "Magnetic Letters",
      "description": "Every letter is pulled toward the cursor by a bouncy spring, tinting and growing as it gets close.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/magnetic-letters/MagneticLetters.tsx",
          "type": "registry:component",
          "target": "components/furin/magnetic-letters/MagneticLetters.tsx"
        },
        {
          "path": "registry/magnetic-letters/MagneticLetters.css",
          "type": "registry:file",
          "target": "components/furin/magnetic-letters/MagneticLetters.css"
        }
      ]
    },
    {
      "name": "marquee",
      "type": "registry:component",
      "title": "Marquee",
      "description": "A seamless infinite marquee: the cursor slows it down and nudges it with inertia, rows run in opposite directions, and keyboard focus pauses it.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/marquee/Marquee.tsx",
          "type": "registry:component",
          "target": "components/furin/marquee/Marquee.tsx"
        },
        {
          "path": "registry/marquee/Marquee.css",
          "type": "registry:file",
          "target": "components/furin/marquee/Marquee.css"
        }
      ]
    },
    {
      "name": "mask-reveal",
      "type": "registry:component",
      "title": "Mask Reveal",
      "description": "Staggered lines that slide up from behind a mask, like a product launch intro.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/mask-reveal/MaskReveal.tsx",
          "type": "registry:component",
          "target": "components/furin/mask-reveal/MaskReveal.tsx"
        },
        {
          "path": "registry/mask-reveal/MaskReveal.css",
          "type": "registry:file",
          "target": "components/furin/mask-reveal/MaskReveal.css"
        }
      ]
    },
    {
      "name": "masonry-reveal",
      "type": "registry:component",
      "title": "Masonry Reveal",
      "description": "A column masonry grid that appears piece by piece as it scrolls into view, with a soft bounce and a flash; hovering a piece zooms it in and shows its title.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Galleries"
      ],
      "files": [
        {
          "path": "registry/masonry-reveal/MasonryReveal.tsx",
          "type": "registry:component",
          "target": "components/furin/masonry-reveal/MasonryReveal.tsx"
        },
        {
          "path": "registry/masonry-reveal/MasonryReveal.css",
          "type": "registry:file",
          "target": "components/furin/masonry-reveal/MasonryReveal.css"
        }
      ]
    },
    {
      "name": "metal-button",
      "type": "registry:component",
      "title": "Metal Button",
      "description": "A polished metal button with a beveled edge and a reflection that follows the cursor.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Buttons"
      ],
      "files": [
        {
          "path": "registry/metal-button/MetalButton.tsx",
          "type": "registry:component",
          "target": "components/furin/metal-button/MetalButton.tsx"
        },
        {
          "path": "registry/metal-button/MetalButton.css",
          "type": "registry:file",
          "target": "components/furin/metal-button/MetalButton.css"
        }
      ]
    },
    {
      "name": "metal-card",
      "type": "registry:component",
      "title": "Titanium Card",
      "description": "A brushed-titanium card whose reflection shifts as it tilts.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/metal-card/MetalCard.tsx",
          "type": "registry:component",
          "target": "components/furin/metal-card/MetalCard.tsx"
        },
        {
          "path": "registry/metal-card/MetalCard.css",
          "type": "registry:file",
          "target": "components/furin/metal-card/MetalCard.css"
        }
      ]
    },
    {
      "name": "metal-knob",
      "type": "registry:component",
      "title": "Metal Knob",
      "description": "A knurled metal knob you turn by dragging.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/metal-knob/MetalKnob.tsx",
          "type": "registry:component",
          "target": "components/furin/metal-knob/MetalKnob.tsx"
        },
        {
          "path": "registry/metal-knob/MetalKnob.css",
          "type": "registry:file",
          "target": "components/furin/metal-knob/MetalKnob.css"
        }
      ]
    },
    {
      "name": "morph-loader",
      "type": "registry:component",
      "title": "Morph Loader",
      "description": "A glossy gradient shape that smoothly morphs between circle, square and triangle, spinning and squashing slightly on each change.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Loaders"
      ],
      "files": [
        {
          "path": "registry/morph-loader/MorphLoader.tsx",
          "type": "registry:component",
          "target": "components/furin/morph-loader/MorphLoader.tsx"
        },
        {
          "path": "registry/morph-loader/MorphLoader.css",
          "type": "registry:file",
          "target": "components/furin/morph-loader/MorphLoader.css"
        }
      ]
    },
    {
      "name": "morph-text",
      "type": "registry:component",
      "title": "Morph Text",
      "description": "Words melt into one another with a viscous blur-and-threshold transition and a liquid sheen.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/morph-text/MorphText.tsx",
          "type": "registry:component",
          "target": "components/furin/morph-text/MorphText.tsx"
        },
        {
          "path": "registry/morph-text/MorphText.css",
          "type": "registry:file",
          "target": "components/furin/morph-text/MorphText.css"
        }
      ]
    },
    {
      "name": "odometer",
      "type": "registry:component",
      "title": "Odometer",
      "description": "Numbers that roll digit by digit up to their value, like a mechanical odometer.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/odometer/Odometer.tsx",
          "type": "registry:component",
          "target": "components/furin/odometer/Odometer.tsx"
        },
        {
          "path": "registry/odometer/Odometer.css",
          "type": "registry:file",
          "target": "components/furin/odometer/Odometer.css"
        }
      ]
    },
    {
      "name": "orbit-gallery",
      "type": "registry:component",
      "title": "Orbit Gallery",
      "description": "Cards with generated scenes on a 3D circular carousel: it spins on its own, drags with inertia, and a click brings a card to the front.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Galleries"
      ],
      "files": [
        {
          "path": "registry/orbit-gallery/OrbitGallery.tsx",
          "type": "registry:component",
          "target": "components/furin/orbit-gallery/OrbitGallery.tsx"
        },
        {
          "path": "registry/orbit-gallery/OrbitGallery.css",
          "type": "registry:file",
          "target": "components/furin/orbit-gallery/OrbitGallery.css"
        }
      ]
    },
    {
      "name": "orbit-text",
      "type": "registry:component",
      "title": "Orbit Text",
      "description": "Text on a circle that turns slowly and speeds up, with inertia, when the cursor gets close.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/orbit-text/OrbitText.tsx",
          "type": "registry:component",
          "target": "components/furin/orbit-text/OrbitText.tsx"
        },
        {
          "path": "registry/orbit-text/OrbitText.css",
          "type": "registry:file",
          "target": "components/furin/orbit-text/OrbitText.css"
        }
      ]
    },
    {
      "name": "outline-fill",
      "type": "registry:component",
      "title": "Outline Fill",
      "description": "Outlined text that fills with liquid through a wave that starts where the cursor enters, and drains when it leaves.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/outline-fill/OutlineFill.tsx",
          "type": "registry:component",
          "target": "components/furin/outline-fill/OutlineFill.tsx"
        },
        {
          "path": "registry/outline-fill/OutlineFill.css",
          "type": "registry:file",
          "target": "components/furin/outline-fill/OutlineFill.css"
        }
      ]
    },
    {
      "name": "parallax-card",
      "type": "registry:component",
      "title": "Parallax Card",
      "description": "Real 3D layers (sky, stars, planet, ring, dunes, text and shine) that separate at different depths as the card tilts.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/parallax-card/ParallaxCard.tsx",
          "type": "registry:component",
          "target": "components/furin/parallax-card/ParallaxCard.tsx"
        },
        {
          "path": "registry/parallax-card/ParallaxCard.css",
          "type": "registry:file",
          "target": "components/furin/parallax-card/ParallaxCard.css"
        }
      ]
    },
    {
      "name": "photo-stack",
      "type": "registry:component",
      "title": "Photo Stack",
      "description": "A stack of printed photos that fans out when you hover; a click sends the top one to the back.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Galleries"
      ],
      "files": [
        {
          "path": "registry/photo-stack/PhotoStack.tsx",
          "type": "registry:component",
          "target": "components/furin/photo-stack/PhotoStack.tsx"
        },
        {
          "path": "registry/photo-stack/PhotoStack.css",
          "type": "registry:file",
          "target": "components/furin/photo-stack/PhotoStack.css"
        }
      ]
    },
    {
      "name": "pill-nav",
      "type": "registry:component",
      "title": "Pill Nav",
      "description": "Accessible tabs (tablist, arrow keys, Home and End) with a pill that slides on a spring: the leading edge arrives first and stretches the pill as it crosses.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/pill-nav/PillNav.tsx",
          "type": "registry:component",
          "target": "components/furin/pill-nav/PillNav.tsx"
        },
        {
          "path": "registry/pill-nav/PillNav.css",
          "type": "registry:file",
          "target": "components/furin/pill-nav/PillNav.css"
        }
      ]
    },
    {
      "name": "pixel-assemble",
      "type": "registry:component",
      "title": "Pixel Assemble",
      "description": "Text assembles itself from a cloud of spring-driven particles; the cursor scatters them and they snap back on their own.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/pixel-assemble/PixelAssemble.tsx",
          "type": "registry:component",
          "target": "components/furin/pixel-assemble/PixelAssemble.tsx"
        },
        {
          "path": "registry/pixel-assemble/PixelAssemble.css",
          "type": "registry:file",
          "target": "components/furin/pixel-assemble/PixelAssemble.css"
        }
      ]
    },
    {
      "name": "prism-light",
      "type": "registry:component",
      "title": "Prism Light",
      "description": "A real 3D scene in WebGL2: a glass prism (beveled mesh with fresnel and refraction) on a reflective vinyl floor. A light orb follows your cursor and fires a volumetric beam; the spectrum fans out by Snell's law, one ray per color, and lands on the wall and floor with its caustic. The camera parallaxes with the cursor.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/prism-light/PrismLight.tsx",
          "type": "registry:component",
          "target": "components/furin/prism-light/PrismLight.tsx"
        },
        {
          "path": "registry/prism-light/PrismLight.css",
          "type": "registry:file",
          "target": "components/furin/prism-light/PrismLight.css"
        }
      ]
    },
    {
      "name": "profile-foil",
      "type": "registry:component",
      "title": "Profile Foil",
      "description": "A profile card with a holographic foil: it tilts in 3D with the cursor and the iridescence shifts with the angle.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/profile-foil/ProfileFoil.tsx",
          "type": "registry:component",
          "target": "components/furin/profile-foil/ProfileFoil.tsx"
        },
        {
          "path": "registry/profile-foil/ProfileFoil.css",
          "type": "registry:file",
          "target": "components/furin/profile-foil/ProfileFoil.css"
        }
      ]
    },
    {
      "name": "red-thread",
      "type": "registry:component",
      "title": "Red Thread",
      "description": "The red thread of fate: a thread with Verlet physics that follows the cursor, pulls taut against its anchor and swings.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Interaction"
      ],
      "files": [
        {
          "path": "registry/red-thread/RedThread.tsx",
          "type": "registry:component",
          "target": "components/furin/red-thread/RedThread.tsx"
        },
        {
          "path": "registry/red-thread/RedThread.css",
          "type": "registry:file",
          "target": "components/furin/red-thread/RedThread.css"
        }
      ]
    },
    {
      "name": "retro-grid",
      "type": "registry:component",
      "title": "Retro Grid",
      "description": "A perspective grid that scrolls endlessly toward a horizon with a muted sun; the cursor shifts the horizon and holding down speeds it up.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/retro-grid/RetroGrid.tsx",
          "type": "registry:component",
          "target": "components/furin/retro-grid/RetroGrid.tsx"
        },
        {
          "path": "registry/retro-grid/RetroGrid.css",
          "type": "registry:file",
          "target": "components/furin/retro-grid/RetroGrid.css"
        }
      ]
    },
    {
      "name": "rgb-glitch-text",
      "type": "registry:component",
      "title": "RGB Glitch Text",
      "description": "Clean text that occasionally breaks into short bursts: split RGB channels and shifted slices.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/rgb-glitch-text/RGBGlitchText.tsx",
          "type": "registry:component",
          "target": "components/furin/rgb-glitch-text/RGBGlitchText.tsx"
        },
        {
          "path": "registry/rgb-glitch-text/RGBGlitchText.css",
          "type": "registry:file",
          "target": "components/furin/rgb-glitch-text/RGBGlitchText.css"
        }
      ]
    },
    {
      "name": "ring-cursor",
      "type": "registry:component",
      "title": "Ring Cursor",
      "description": "A ring that follows the cursor with an elastic lag, stretches with speed and, over anything clickable, morphs into its outline like a soft magnet.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cursors"
      ],
      "files": [
        {
          "path": "registry/ring-cursor/RingCursor.tsx",
          "type": "registry:component",
          "target": "components/furin/ring-cursor/RingCursor.tsx"
        },
        {
          "path": "registry/ring-cursor/RingCursor.css",
          "type": "registry:file",
          "target": "components/furin/ring-cursor/RingCursor.css"
        }
      ]
    },
    {
      "name": "ripple-button",
      "type": "registry:component",
      "title": "Ripple Button",
      "description": "A button whose ripple is born exactly where you click: a luminous wavefront with rings that sweeps out to the farthest corner.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Buttons"
      ],
      "files": [
        {
          "path": "registry/ripple-button/RippleButton.tsx",
          "type": "registry:component",
          "target": "components/furin/ripple-button/RippleButton.tsx"
        },
        {
          "path": "registry/ripple-button/RippleButton.css",
          "type": "registry:file",
          "target": "components/furin/ripple-button/RippleButton.css"
        }
      ]
    },
    {
      "name": "ripple-pond",
      "type": "registry:component",
      "title": "Ripple Pond",
      "description": "A WebGL water surface: the cursor and raindrops leave ripples that cross, catch the light and warp a grid beneath.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/ripple-pond/RipplePond.tsx",
          "type": "registry:component",
          "target": "components/furin/ripple-pond/RipplePond.tsx"
        },
        {
          "path": "registry/ripple-pond/RipplePond.css",
          "type": "registry:file",
          "target": "components/furin/ripple-pond/RipplePond.css"
        }
      ]
    },
    {
      "name": "shimmer-sweep",
      "type": "registry:component",
      "title": "Shimmer Sweep",
      "description": "A satin sheen sweeps across the text like light over aluminum.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/shimmer-sweep/ShimmerSweep.tsx",
          "type": "registry:component",
          "target": "components/furin/shimmer-sweep/ShimmerSweep.tsx"
        },
        {
          "path": "registry/shimmer-sweep/ShimmerSweep.css",
          "type": "registry:file",
          "target": "components/furin/shimmer-sweep/ShimmerSweep.css"
        }
      ]
    },
    {
      "name": "shine-card",
      "type": "registry:component",
      "title": "Shine Card",
      "description": "A satin sheen sweeps across the card as the cursor passes over it.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/shine-card/ShineCard.tsx",
          "type": "registry:component",
          "target": "components/furin/shine-card/ShineCard.tsx"
        },
        {
          "path": "registry/shine-card/ShineCard.css",
          "type": "registry:file",
          "target": "components/furin/shine-card/ShineCard.css"
        }
      ]
    },
    {
      "name": "silk-flow",
      "type": "registry:component",
      "title": "Silk Flow",
      "description": "A silk fabric that ripples slowly, with an anisotropic thread sheen that shifts with the light and follows the cursor.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/silk-flow/SilkFlow.tsx",
          "type": "registry:component",
          "target": "components/furin/silk-flow/SilkFlow.tsx"
        },
        {
          "path": "registry/silk-flow/SilkFlow.css",
          "type": "registry:file",
          "target": "components/furin/silk-flow/SilkFlow.css"
        }
      ]
    },
    {
      "name": "slide-to-confirm",
      "type": "registry:component",
      "title": "Slide to Confirm",
      "description": "A physics-driven handle you drag to the end to confirm; release early and it springs back with a bounce. Accessible as a slider.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Buttons"
      ],
      "files": [
        {
          "path": "registry/slide-to-confirm/SlideToConfirm.tsx",
          "type": "registry:component",
          "target": "components/furin/slide-to-confirm/SlideToConfirm.tsx"
        },
        {
          "path": "registry/slide-to-confirm/SlideToConfirm.css",
          "type": "registry:file",
          "target": "components/furin/slide-to-confirm/SlideToConfirm.css"
        }
      ]
    },
    {
      "name": "smoke-field",
      "type": "registry:component",
      "title": "Smoke Field",
      "description": "Volumetric smoke with studio lighting that rises endlessly; your cursor parts and swirls it, and the smoke fills the gap back in.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/smoke-field/SmokeField.tsx",
          "type": "registry:component",
          "target": "components/furin/smoke-field/SmokeField.tsx"
        },
        {
          "path": "registry/smoke-field/SmokeField.css",
          "type": "registry:file",
          "target": "components/furin/smoke-field/SmokeField.css"
        }
      ]
    },
    {
      "name": "snowfall",
      "type": "registry:component",
      "title": "Snowfall",
      "description": "Snow in three layers of depth (far, mid and close bokeh) with a wind that blows toward wherever the cursor is.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/snowfall/Snowfall.tsx",
          "type": "registry:component",
          "target": "components/furin/snowfall/Snowfall.tsx"
        },
        {
          "path": "registry/snowfall/Snowfall.css",
          "type": "registry:file",
          "target": "components/furin/snowfall/Snowfall.css"
        }
      ]
    },
    {
      "name": "spark-trail",
      "type": "registry:component",
      "title": "Spark Trail",
      "description": "The cursor sheds sparks with real physics: they inherit its momentum, fall under gravity, bounce on the floor and cool from white to ember.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cursors"
      ],
      "files": [
        {
          "path": "registry/spark-trail/SparkTrail.tsx",
          "type": "registry:component",
          "target": "components/furin/spark-trail/SparkTrail.tsx"
        },
        {
          "path": "registry/spark-trail/SparkTrail.css",
          "type": "registry:file",
          "target": "components/furin/spark-trail/SparkTrail.css"
        }
      ]
    },
    {
      "name": "split-flap",
      "type": "registry:component",
      "title": "Split-Flap Board",
      "description": "A board of flaps that flip in 3D, character by character, until the phrase forms, like at a train station.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/split-flap/SplitFlap.tsx",
          "type": "registry:component",
          "target": "components/furin/split-flap/SplitFlap.tsx"
        },
        {
          "path": "registry/split-flap/SplitFlap.css",
          "type": "registry:file",
          "target": "components/furin/split-flap/SplitFlap.css"
        }
      ]
    },
    {
      "name": "spotlight-cards",
      "type": "registry:component",
      "title": "Spotlight Cards",
      "description": "A grid of cards whose borders light up wherever the cursor passes, driven by a single shared light.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Interaction"
      ],
      "files": [
        {
          "path": "registry/spotlight-cards/SpotlightCards.tsx",
          "type": "registry:component",
          "target": "components/furin/spotlight-cards/SpotlightCards.tsx"
        },
        {
          "path": "registry/spotlight-cards/SpotlightCards.css",
          "type": "registry:file",
          "target": "components/furin/spotlight-cards/SpotlightCards.css"
        }
      ]
    },
    {
      "name": "spring-accordion",
      "type": "registry:component",
      "title": "Spring Accordion",
      "description": "An accessible accordion (aria-expanded, regions, arrow keys, Home and End) whose regions open on a real spring: the height bounces as it lands and the content comes in from blurry to sharp.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/spring-accordion/SpringAccordion.tsx",
          "type": "registry:component",
          "target": "components/furin/spring-accordion/SpringAccordion.tsx"
        },
        {
          "path": "registry/spring-accordion/SpringAccordion.css",
          "type": "registry:file",
          "target": "components/furin/spring-accordion/SpringAccordion.css"
        }
      ]
    },
    {
      "name": "spring-tooltip",
      "type": "registry:component",
      "title": "Spring Tooltip",
      "description": "A tooltip (role tooltip) that follows the cursor on a spring and hangs from it like a tag: it tilts with speed and stretches a little as it moves. It also appears on keyboard focus.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/spring-tooltip/SpringTooltip.tsx",
          "type": "registry:component",
          "target": "components/furin/spring-tooltip/SpringTooltip.tsx"
        },
        {
          "path": "registry/spring-tooltip/SpringTooltip.css",
          "type": "registry:file",
          "target": "components/furin/spring-tooltip/SpringTooltip.css"
        }
      ]
    },
    {
      "name": "stepper",
      "type": "registry:component",
      "title": "Stepper",
      "description": "Steps with a progress line that fills from one node to the next; the new step lights up as the stroke arrives and the checkmark draws itself on completion.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/stepper/Stepper.tsx",
          "type": "registry:component",
          "target": "components/furin/stepper/Stepper.tsx"
        },
        {
          "path": "registry/stepper/Stepper.css",
          "type": "registry:file",
          "target": "components/furin/stepper/Stepper.css"
        }
      ]
    },
    {
      "name": "sticker-peel",
      "type": "registry:component",
      "title": "Sticker Peel",
      "description": "A glossy die-cut sticker that peels from the corner following the cursor, with curvature, a paper back and a shadow.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/sticker-peel/StickerPeel.tsx",
          "type": "registry:component",
          "target": "components/furin/sticker-peel/StickerPeel.tsx"
        },
        {
          "path": "registry/sticker-peel/StickerPeel.css",
          "type": "registry:file",
          "target": "components/furin/sticker-peel/StickerPeel.css"
        }
      ]
    },
    {
      "name": "ticket-tear",
      "type": "registry:component",
      "title": "Ticket Tear",
      "description": "A paper ticket with a perforation: drag the stub and it tears from top to bottom, with a fibrous edge and a shadow that grows as it peels away.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Cards"
      ],
      "files": [
        {
          "path": "registry/ticket-tear/TicketTear.tsx",
          "type": "registry:component",
          "target": "components/furin/ticket-tear/TicketTear.tsx"
        },
        {
          "path": "registry/ticket-tear/TicketTear.css",
          "type": "registry:file",
          "target": "components/furin/ticket-tear/TicketTear.css"
        }
      ]
    },
    {
      "name": "toast-stack",
      "type": "registry:component",
      "title": "Toast Stack",
      "description": "Notifications stacked like cards: they fan out on hover or focus, pause while you read them, close on their own and are announced with aria-live.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Navigation"
      ],
      "files": [
        {
          "path": "registry/toast-stack/ToastStack.tsx",
          "type": "registry:component",
          "target": "components/furin/toast-stack/ToastStack.tsx"
        },
        {
          "path": "registry/toast-stack/ToastStack.css",
          "type": "registry:file",
          "target": "components/furin/toast-stack/ToastStack.css"
        }
      ]
    },
    {
      "name": "topo-lines",
      "type": "registry:component",
      "title": "Topo Lines",
      "description": "A living topographic map: contour lines of a slowly deforming terrain, with labeled index contours; the cursor raises a hill.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/topo-lines/TopoLines.tsx",
          "type": "registry:component",
          "target": "components/furin/topo-lines/TopoLines.tsx"
        },
        {
          "path": "registry/topo-lines/TopoLines.css",
          "type": "registry:file",
          "target": "components/furin/topo-lines/TopoLines.css"
        }
      ]
    },
    {
      "name": "typewriter",
      "type": "registry:component",
      "title": "Typewriter",
      "description": "Types, deletes and retypes phrases with a human rhythm, pauses on punctuation and a blinking cursor.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/typewriter/Typewriter.tsx",
          "type": "registry:component",
          "target": "components/furin/typewriter/Typewriter.tsx"
        },
        {
          "path": "registry/typewriter/Typewriter.css",
          "type": "registry:file",
          "target": "components/furin/typewriter/Typewriter.css"
        }
      ]
    },
    {
      "name": "typing-indicator",
      "type": "registry:component",
      "title": "Typing Indicator",
      "description": "A \"typing…\" bubble with three elastically bouncing dots that, in a loop, turns into the reply with a little spring.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Loaders"
      ],
      "files": [
        {
          "path": "registry/typing-indicator/TypingIndicator.tsx",
          "type": "registry:component",
          "target": "components/furin/typing-indicator/TypingIndicator.tsx"
        },
        {
          "path": "registry/typing-indicator/TypingIndicator.css",
          "type": "registry:file",
          "target": "components/furin/typing-indicator/TypingIndicator.css"
        }
      ]
    },
    {
      "name": "warp-stars",
      "type": "registry:component",
      "title": "Warp Stars",
      "description": "Stars at warp speed with trails and depth; the cursor steers the vanishing point and holding down triggers the jump.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Backgrounds"
      ],
      "files": [
        {
          "path": "registry/warp-stars/WarpStars.tsx",
          "type": "registry:component",
          "target": "components/furin/warp-stars/WarpStars.tsx"
        },
        {
          "path": "registry/warp-stars/WarpStars.css",
          "type": "registry:file",
          "target": "components/furin/warp-stars/WarpStars.css"
        }
      ]
    },
    {
      "name": "weight-wave",
      "type": "registry:component",
      "title": "Weight Wave",
      "description": "The weight of a variable font ripples with the cursor's proximity, letter by letter.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/weight-wave/WeightWave.tsx",
          "type": "registry:component",
          "target": "components/furin/weight-wave/WeightWave.tsx"
        },
        {
          "path": "registry/weight-wave/WeightWave.css",
          "type": "registry:file",
          "target": "components/furin/weight-wave/WeightWave.css"
        }
      ]
    },
    {
      "name": "word-roller",
      "type": "registry:component",
      "title": "Word Roller",
      "description": "A word rolls vertically between options on a spring-loaded drum, and its pill changes width along with it.",
      "author": "Marcelo Treviño Velázquez <https://furin.dev>",
      "dependencies": [],
      "categories": [
        "Text"
      ],
      "files": [
        {
          "path": "registry/word-roller/WordRoller.tsx",
          "type": "registry:component",
          "target": "components/furin/word-roller/WordRoller.tsx"
        },
        {
          "path": "registry/word-roller/WordRoller.css",
          "type": "registry:file",
          "target": "components/furin/word-roller/WordRoller.css"
        }
      ]
    }
  ]
}
