{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "spark-ui", "homepage": "https://spark-ui-olive.vercel.app", "author": "Spark UI (https://spark-ui-olive.vercel.app)", "items": [ { "name": "widget-stack", "type": "registry:component", "title": "Widget Stack", "description": "A stack of small or medium widgets with vertical snap scrolling and page dots.", "files": [ { "path": "registry/spark-ui/widget-stack.tsx", "type": "registry:component" } ], "dependencies": [], "registryDependencies": [], "category": "signature" }, { "name": "dynamic-island", "type": "registry:component", "title": "Dynamic Island", "description": "A functional iPhone-inspired island that morphs between compact and expanded content.", "files": [ { "path": "registry/spark-ui/dynamic-island.tsx", "type": "registry:component" } ], "dependencies": [ "framer-motion" ], "registryDependencies": [], "category": "signature" }, { "name": "tactile-highlight", "type": "registry:component", "title": "Tactile Highlight", "description": "A fluid text highlight component that reacts to viewport visibility and user interaction.", "files": [ { "path": "registry/spark-ui/tactile-highlight.tsx", "type": "registry:component" } ], "dependencies": [ "framer-motion" ], "registryDependencies": [], "category": "signature" }, { "name": "spotify-card", "type": "registry:component", "title": "Spotify Card", "description": "A premium Spotify card with real-time metadata and morphing animations.", "files": [ { "path": "registry/spark-ui/spotify/spotify-card.tsx", "type": "registry:component" }, { "path": "registry/spark-ui/spotify/metadata-route.ts", "type": "registry:component", "target": "app/api/spotify/metadata/route.ts" } ], "dependencies": [ "framer-motion", "lucide-react", "cheerio", "got" ], "registryDependencies": [], "category": "signature" }, { "name": "shimmer-text", "type": "registry:component", "title": "Shimmer Text", "description": "A premium text component with an elegant shimmer animation effect.", "files": [ { "path": "registry/spark-ui/shimmer-text.tsx", "type": "registry:component" } ], "dependencies": [ "framer-motion" ], "registryDependencies": [], "category": "signature" }, { "name": "basic-number-ticker", "type": "registry:component", "title": "Basic Number Ticker", "description": "An animated number ticker component with customizable start, target, transitions, and callbacks.", "files": [ { "path": "registry/spark-ui/basic-number-ticker.tsx", "type": "registry:component" } ], "dependencies": [ "framer-motion" ], "registryDependencies": [], "category": "signature" }, { "name": "qr-code", "type": "registry:component", "title": "QR Code", "description": "A beautiful QR code component with dot styling, gradient support, and extensive color customization.", "files": [ { "path": "registry/spark-ui/qr-code.tsx", "type": "registry:component" } ], "dependencies": [ "qrcode" ], "registryDependencies": [], "category": "signature" }, { "name": "animated-gradient", "type": "registry:component", "title": "Animated Gradient", "description": "WebGL-powered animated mist, lava, and plasma backgrounds with smooth silk-like flowing streams.", "files": [ { "path": "registry/spark-ui/animated-gradient.tsx", "type": "registry:component" } ], "dependencies": [], "registryDependencies": [], "category": "signature" }, { "name": "ghost-ether", "type": "registry:component", "title": "Ghost Ether", "description": "WebGL-powered interactive fluid simulation with dynamic FBM mist and wandering spirit force trails using three.", "files": [ { "path": "registry/spark-ui/ghost-ether.tsx", "type": "registry:component" } ], "dependencies": [ "three", "@types/three" ], "registryDependencies": [], "category": "signature" }, { "name": "logo-carousel", "type": "registry:component", "title": "Logo Carousel", "description": "A beautiful, high-performance scrolling logo carousel component with pausing, custom directions, speed, and fade effects.", "files": [ { "path": "registry/spark-ui/logo-carousel.tsx", "type": "registry:component" }, { "path": "public/logos/cursor.svg", "type": "registry:file", "target": "public/logos/cursor.svg" }, { "path": "public/logos/descript.svg", "type": "registry:file", "target": "public/logos/descript.svg" }, { "path": "public/logos/discord.svg", "type": "registry:file", "target": "public/logos/discord.svg" }, { "path": "public/logos/duolingo.svg", "type": "registry:file", "target": "public/logos/duolingo.svg" }, { "path": "public/logos/framer.svg", "type": "registry:file", "target": "public/logos/framer.svg" }, { "path": "public/logos/google.svg", "type": "registry:file", "target": "public/logos/google.svg" }, { "path": "public/logos/linear.svg", "type": "registry:file", "target": "public/logos/linear.svg" }, { "path": "public/logos/netflix.svg", "type": "registry:file", "target": "public/logos/netflix.svg" }, { "path": "public/logos/notion.svg", "type": "registry:file", "target": "public/logos/notion.svg" }, { "path": "public/logos/openai.svg", "type": "registry:file", "target": "public/logos/openai.svg" }, { "path": "public/logos/opensea.svg", "type": "registry:file", "target": "public/logos/opensea.svg" }, { "path": "public/logos/phantom.svg", "type": "registry:file", "target": "public/logos/phantom.svg" }, { "path": "public/logos/ramp.svg", "type": "registry:file", "target": "public/logos/ramp.svg" }, { "path": "public/logos/shopify.svg", "type": "registry:file", "target": "public/logos/shopify.svg" }, { "path": "public/logos/tesla.svg", "type": "registry:file", "target": "public/logos/tesla.svg" }, { "path": "public/logos/vercel.svg", "type": "registry:file", "target": "public/logos/vercel.svg" } ], "dependencies": [], "registryDependencies": [], "category": "signature" }, { "name": "logo-carousel-right", "type": "registry:component", "title": "Logo Carousel Right", "description": "Right scrolling Logo Carousel demo.", "files": [ { "path": "registry/demos/logo-carousel-demo-right.tsx", "type": "registry:component" } ], "dependencies": [], "registryDependencies": [], "category": "signature" }, { "name": "image-trail", "type": "registry:component", "title": "Image Trail", "description": "A framed mouse-tracking image trail with momentum, captions, and customizable styling.", "files": [ { "path": "registry/spark-ui/image-trail.tsx", "type": "registry:component" }, { "path": "public/images/trail-1.jpg", "type": "registry:file", "target": "public/images/trail-1.jpg" }, { "path": "public/images/trail-2.jpg", "type": "registry:file", "target": "public/images/trail-2.jpg" }, { "path": "public/images/trail-3.jpg", "type": "registry:file", "target": "public/images/trail-3.jpg" }, { "path": "public/images/trail-4.jpg", "type": "registry:file", "target": "public/images/trail-4.jpg" }, { "path": "public/images/trail-5.jpg", "type": "registry:file", "target": "public/images/trail-5.jpg" } ], "dependencies": [ "framer-motion" ], "registryDependencies": [], "category": "signature" }, { "name": "masonry", "type": "registry:component", "title": "Masonry", "description": "An animated masonry grid that lays out image items by explicit height, with configurable entry and hover animations.", "files": [ { "path": "registry/spark-ui/masonry.tsx", "type": "registry:component" } ], "dependencies": [ "framer-motion" ], "registryDependencies": [], "category": "signature" }, { "name": "keyboard", "type": "registry:component", "title": "Keyboard", "description": "A two-tone mechanical keyboard with 3D press animations and physical key highlighting.", "files": [ { "path": "registry/spark-ui/keyboard.tsx", "type": "registry:component" } ], "dependencies": [], "registryDependencies": [], "category": "signature" }, { "name": "hello", "type": "registry:component", "title": "Hello", "description": "An Apple-style welcome greeting that cycles through languages with a soft blur crossfade.", "files": [ { "path": "registry/spark-ui/hello.tsx", "type": "registry:component" } ], "dependencies": [ "framer-motion" ], "registryDependencies": [], "category": "signature" }, { "name": "receipt", "type": "registry:component", "title": "Receipt", "description": "A polished payment receipt with ticket details, card information, and a decorative barcode.", "files": [ { "path": "registry/spark-ui/receipt.tsx", "type": "registry:component" } ], "dependencies": [], "registryDependencies": [], "category": "signature" }, { "name": "interactive-pets", "type": "registry:component", "title": "Interactive Pets", "description": "A playful draggable cat with feeding reactions and idle animations.", "files": [ { "path": "registry/spark-ui/interactive-pets.tsx", "type": "registry:component" } ], "dependencies": [ "framer-motion" ], "registryDependencies": [], "category": "signature" }, { "name": "interactive-pets-demo", "type": "registry:component", "title": "Interactive Pets Demo", "description": "Demo of the Interactive Pets playground with custom messages and an event log.", "files": [ { "path": "registry/demos/interactive-pets-demo.tsx", "type": "registry:component" } ], "dependencies": [ "framer-motion" ], "registryDependencies": [], "category": "signature" } ] }