{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "clover-ui",
  "homepage": "https://cloverui.xyz",
  "author": "purposewalks9 (https://github.com/purposewalks9)",
  "items": [
    {
      "name": "all",
      "type": "registry:item",
      "title": "All components",
      "description": "Every Clover UI component in one install.",
      "registryDependencies": [
        "https://cloverui.xyz/r/apple-music-card.json",
        "https://cloverui.xyz/r/block-text.json",
        "https://cloverui.xyz/r/candlestick-chart.json",
        "https://cloverui.xyz/r/clicky.json",
        "https://cloverui.xyz/r/cursor-tag.json",
        "https://cloverui.xyz/r/drop-text.json",
        "https://cloverui.xyz/r/gauge-text.json",
        "https://cloverui.xyz/r/ghost.json",
        "https://cloverui.xyz/r/grain-cube.json",
        "https://cloverui.xyz/r/grid-reveal.json",
        "https://cloverui.xyz/r/logo-marquee.json",
        "https://cloverui.xyz/r/nucleus-text.json",
        "https://cloverui.xyz/r/price-range.json",
        "https://cloverui.xyz/r/pulse-loader.json",
        "https://cloverui.xyz/r/rich-progress.json",
        "https://cloverui.xyz/r/rich-text.json",
        "https://cloverui.xyz/r/sign-pad.json",
        "https://cloverui.xyz/r/soft-button.json",
        "https://cloverui.xyz/r/text-gif.json",
        "https://cloverui.xyz/r/thermal-flow.json",
        "https://cloverui.xyz/r/token-fall.json",
        "https://cloverui.xyz/r/theme-toggle.json",
        "https://cloverui.xyz/r/glitchy-text.json",
        "https://cloverui.xyz/r/404-block.json",
        "https://cloverui.xyz/r/liquid-button.json",
        "https://cloverui.xyz/r/switch.json",
        "https://cloverui.xyz/r/thinking-state.json",
        "https://cloverui.xyz/r/effort-slider.json",
        "https://cloverui.xyz/r/auth-button.json",
        "https://cloverui.xyz/r/model-switcher.json",
        "https://cloverui.xyz/r/spectrum-bars.json",
        "https://cloverui.xyz/r/butterflies.json",
        "https://cloverui.xyz/r/petal-reveal.json"
      ]
    },
    {
      "name": "grain-cube",
      "type": "registry:component",
      "title": "Grain Cube",
      "description": "A grainy isometric 3D cube with a flowing gradient on each face. Drag to spin it.",
      "files": [
        {
          "path": "registry/clover-ui/grain-cube.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "effect"
    },
    {
      "name": "grid-reveal",
      "type": "registry:component",
      "title": "Grid Reveal",
      "description": "A grid of blocks that dissolves to reveal content, in random, wave or diagonal patterns.",
      "files": [
        {
          "path": "registry/clover-ui/grid-reveal.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion"],
      "registryDependencies": [],
      "category": "effect"
    },
    {
      "name": "thermal-flow",
      "type": "registry:component",
      "title": "Thermal Flow",
      "description": "A smooth, rich thermal-gradient background rendered on the GPU, with seven themes.",
      "files": [
        {
          "path": "registry/clover-ui/thermal-flow.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "background"
    },
    {
      "name": "gauge-text",
      "type": "registry:component",
      "title": "Gauge Text",
      "description": "An animated stat that counts up to a number next to a gauge icon, like \"89x faster\".",
      "files": [
        {
          "path": "registry/clover-ui/gauge-text.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["lucide-react"],
      "registryDependencies": [],
      "category": "text"
    },
    {
      "name": "pulse-loader",
      "type": "registry:component",
      "title": "Pulse Loader",
      "description": "A breathing loader of concentric rings that pulse in and out with your own color.",
      "files": [
        {
          "path": "registry/clover-ui/pulse-loader.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion"],
      "registryDependencies": [],
      "category": "loader"
    },
    {
      "name": "rich-text",
      "type": "registry:component",
      "title": "Rich Text",
      "description": "An inline text primitive with a rich gradient surface and configurable color treatment.",
      "files": [
        {
          "path": "registry/clover-ui/rich-text.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "text"
    },
    {
      "name": "soft-button",
      "type": "registry:component",
      "title": "Soft Button",
      "description": "A glossy pill button with a small set of hand-tuned color styles and sizes.",
      "files": [
        {
          "path": "registry/clover-ui/soft-button.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["@radix-ui/react-slot"],
      "registryDependencies": [],
      "category": "button"
    },
    {
      "name": "token-fall",
      "type": "registry:component",
      "title": "Token Fall",
      "description": "Physics tokens that fall with gravity, bounce and scatter away from the cursor.",
      "files": [
        {
          "path": "registry/clover-ui/token-fall.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["matter-js", "@types/matter-js"],
      "registryDependencies": [],
      "category": "effect"
    },
    {
      "name": "candlestick-chart",
      "type": "registry:component",
      "title": "Candlestick Chart",
      "description": "A responsive candlestick chart with drag-to-pan, zoom and an OHLC tooltip.",
      "files": [
        {
          "path": "registry/clover-ui/candlestick-chart.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "asset"
    },
    {
      "name": "drop-text",
      "type": "registry:component",
      "title": "Drop Text",
      "description": "Text that drops into place under gravity and settles with a bounce, word by word.",
      "files": [
        {
          "path": "registry/clover-ui/drop-text.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion"],
      "registryDependencies": [],
      "category": "text"
    },
    {
      "name": "text-gif",
      "type": "registry:component",
      "title": "Text GIF",
      "description": "Animated text filled with a GIF, so the letters show a moving picture inside.",
      "files": [
        {
          "path": "registry/clover-ui/text-gif.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "text"
    },
    {
      "name": "price-range",
      "type": "registry:component",
      "title": "Price Range",
      "description": "A two-handle budget slider with springy handles, sliding labels and lit-up ticks.",
      "files": [
        {
          "path": "registry/clover-ui/price-range.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion", "class-variance-authority"],
      "registryDependencies": [],
      "category": "control"
    },
    {
      "name": "rich-progress",
      "type": "registry:component",
      "title": "Rich Progress",
      "description": "A sharp, glossy progress bar with a springy square knob you can drag.",
      "files": [
        {
          "path": "registry/clover-ui/rich-progress.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion", "class-variance-authority"],
      "registryDependencies": [],
      "category": "control"
    },
    {
      "name": "sign-pad",
      "type": "registry:component",
      "title": "Sign Pad",
      "description": "A signature pad with pressure-aware ink, undo and clear, and cropped PNG/SVG exports.",
      "files": [
        {
          "path": "registry/clover-ui/sign-pad.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["lucide-react"],
      "registryDependencies": [],
      "category": "control"
    },
    {
      "name": "apple-music-card",
      "type": "registry:component",
      "title": "Apple Music Card",
      "description": "A track card loaded from an Apple Music link, with mini and full views.",
      "files": [
        {
          "path": "registry/clover-ui/apple-music-card.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "asset"
    },
    {
      "name": "nucleus-text",
      "type": "registry:component",
      "title": "Nucleus Text",
      "description": "Text assembled from particles that fly inward, settle into letters and gently jitter.",
      "files": [
        {
          "path": "registry/clover-ui/nucleus-text.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "text"
    },
    {
      "name": "cursor-tag",
      "type": "registry:component",
      "title": "Cursor Tag",
      "description": "A multiplayer-style cursor with a name tag that faces left or right and gently drifts.",
      "files": [
        {
          "path": "registry/clover-ui/cursor-tag.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion", "class-variance-authority"],
      "registryDependencies": [],
      "category": "cursor"
    },
    {
      "name": "clicky",
      "type": "registry:component",
      "title": "Clicky",
      "description": "A 3D hand cursor that pops in and presses any element to show people where to click.",
      "files": [
        {
          "path": "registry/clover-ui/clicky.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion"],
      "registryDependencies": [],
      "category": "cursor"
    },
    {
      "name": "block-text",
      "type": "registry:component",
      "title": "Block Text",
      "description": "A colored 3D block that keeps rolling forward, bringing up the next word as it tips.",
      "files": [
        {
          "path": "registry/clover-ui/block-text.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion"],
      "registryDependencies": [],
      "category": "text"
    },
    {
      "name": "logo-marquee",
      "type": "registry:component",
      "title": "Logo Marquee",
      "description": "A rolling strip of company logos on an arc, with the middle one big and sharp and the sides small and blurred.",
      "files": [
        {
          "path": "registry/clover-ui/logo-marquee.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion"],
      "registryDependencies": [],
      "category": "asset"
    },
    {
      "name": "ghost",
      "type": "registry:component",
      "title": "Ghost Guide",
      "description": "A tiny tour guide that floats by the cursor and reacts to your UI in one word.",
      "files": [
        {
          "path": "registry/clover-ui/ghost.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion", "class-variance-authority"],
      "registryDependencies": [],
      "category": "cursor"
    },
    {
      "name": "theme-toggle",
      "type": "registry:component",
      "title": "Theme Toggle",
      "description": "A round, glossy push button that latches down and flips the theme instantly.",
      "files": [
        {
          "path": "registry/clover-ui/theme-toggle.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["class-variance-authority", "next-themes"],
      "registryDependencies": [],
      "category": "button"
    },
    {
      "name": "glitchy-text",
      "type": "registry:component",
      "title": "Glitchy Text",
      "description": "Text that glitches like a broken screen, tearing into slices and flickering symbols.",
      "files": [
        {
          "path": "registry/clover-ui/glitchy-text.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion"],
      "registryDependencies": [],
      "category": "text"
    },
    {
      "name": "404-block",
      "type": "registry:component",
      "title": "404 Block",
      "description": "A drop-in 404 block with a bold 404 and a button filled with live red lava.",
      "files": [
        {
          "path": "registry/clover-ui/404-block.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion"],
      "registryDependencies": ["https://cloverui.xyz/r/liquid-button.json"],
      "category": "asset"
    },
    {
      "name": "liquid-button",
      "type": "registry:component",
      "title": "Liquid Button",
      "description": "A button filled with live flowing liquid that speeds up on hover and presses in.",
      "files": [
        {
          "path": "registry/clover-ui/liquid-button.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion", "@radix-ui/react-slot", "class-variance-authority"],
      "registryDependencies": [],
      "category": "button"
    },
    {
      "name": "switch",
      "type": "registry:component",
      "title": "Switch",
      "description": "A glossy black ON/OFF switch with a big domed knob across a colored track.",
      "files": [
        {
          "path": "registry/clover-ui/switch.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["class-variance-authority"],
      "registryDependencies": [],
      "category": "control"
    },
    {
      "name": "thinking-state",
      "type": "registry:component",
      "title": "Thinking State",
      "description": "A tiny pixel animation beside a word, with thinking, debugging and more states, plus done and error.",
      "files": [
        {
          "path": "registry/clover-ui/thinking-state.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion"],
      "registryDependencies": [],
      "category": "loader",
      "meta": {
        "addedAt": "2026-10-14"
      }
    },
    {
      "name": "effort-slider",
      "type": "registry:component",
      "title": "Effort Slider",
      "description": "A slider for picking how hard an AI should reason, with a brain knob, flowing reasoning sparkles and color themes.",
      "files": [
        {
          "path": "registry/clover-ui/effort-slider.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["motion", "lucide-react"],
      "registryDependencies": [],
      "category": "control",
      "meta": {
        "addedAt": "2026-10-16"
      }
    },
    {
      "name": "auth-button",
      "type": "registry:component",
      "title": "Auth Button",
      "description": "A sign-in button for 16 providers with a soft tint of each brand's colors.",
      "files": [
        {
          "path": "registry/clover-ui/auth-button.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["class-variance-authority"],
      "registryDependencies": [],
      "category": "button",
      "meta": {
        "addedAt": "2026-10-20"
      }
    },
    {
      "name": "model-switcher",
      "type": "registry:component",
      "title": "Model Switcher",
      "description": "Switch AI models and effort in your chat input.",
      "files": [
        {
          "path": "registry/clover-ui/model-switcher.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": ["lucide-react", "motion"],
      "registryDependencies": [
        "https://cloverui.xyz/r/effort-slider.json",
        "https://cloverui.xyz/r/thinking-state.json"
      ],
      "category": "control",
      "meta": {
        "addedAt": "2026-10-18"
      }
    },
    {
      "name": "spectrum-bars",
      "type": "registry:component",
      "title": "Spectrum Bars",
      "description": "A signal background of smoothly sliding color stripes that fill the block and fade into your page background, with four themes.",
      "files": [
        {
          "path": "registry/clover-ui/spectrum-bars.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "background",
      "meta": {
        "addedAt": "2026-10-18"
      }
    },
    {
      "name": "butterflies",
      "type": "registry:component",
      "title": "Butterflies",
      "description": "Realistic butterflies with painted, flapping wings that flutter around a block and circle your cursor, in six colorful species.",
      "files": [
        {
          "path": "registry/clover-ui/butterflies.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "effect",
      "meta": {
        "addedAt": "2026-10-20"
      }
    },
    {
      "name": "petal-reveal",
      "type": "registry:component",
      "title": "Petal Reveal",
      "description": "A thick pile of real looking flower petals that blows away to reveal your content, then settles back on a loop.",
      "files": [
        {
          "path": "registry/clover-ui/petal-reveal.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [],
      "registryDependencies": [],
      "category": "effect",
      "meta": {
        "addedAt": "2026-10-26"
      }
    }
  ]
}
