{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "Unlumen Ui",
  "homepage": "https://unlumen-ui.com",
  "items": [
    {
      "name": "index",
      "type": "registry:style",
      "dependencies": [
        "tw-animate-css",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "cssVars": {},
      "files": []
    },
    {
      "name": "gravity-stars",
      "type": "registry:ui",
      "title": "Gravity Stars Background",
      "description": "A background component featuring a subtle yet engaging animated gravity stars effect.",
      "dependencies": [
        "motion"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "pixel",
      "type": "registry:ui",
      "title": "Pixel Background",
      "description": "An interactive background featuring tiny pixel particles that ripple outward from the center on hover, then fade away.",
      "dependencies": [
        "next-themes"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "pixel-liquid-bg",
      "type": "registry:ui",
      "title": "Pixel Liquid Background",
      "description": "A full Navier-Stokes fluid simulation background with pixelation, Bayer dithering, film-grain noise, and auto-demo mode. Reacts to cursor movement.",
      "dependencies": [
        "three"
      ],
      "devDependencies": [
        "@types/three"
      ],
      "files": [
        {
          "path": "registry/components/backgrounds/pixel-liquid-bg/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/pixel-liquid-bg.tsx"
        }
      ]
    },
    {
      "name": "square-pattern",
      "type": "registry:ui",
      "title": "Square Pattern Background",
      "description": "An interactive grid background where squares randomly light up with colors and react to hover.",
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "wave-background",
      "type": "registry:ui",
      "title": "Wave Background",
      "description": "A morphing SVG wave divider that transitions between sections. Supports scroll-driven morphing and ambient looping animation modes.",
      "dependencies": [
        "motion"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "copy",
      "type": "registry:ui",
      "title": "Copy Button",
      "description": "A copy button component with a variety of styles and animations.",
      "dependencies": [
        "motion",
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-buttons-button",
        "@unlumen-ui/hooks-use-controlled-state"
      ],
      "files": [
        {
          "path": "registry/components/buttons/copy/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/copy.tsx"
        }
      ]
    },
    {
      "name": "glow",
      "type": "registry:ui",
      "title": "Glow Button",
      "description": "A button with an animated conic-gradient glow layer behind it. Supports rotate, pulse, breathe, colorShift, flowHorizontal and static modes.",
      "dependencies": [
        "class-variance-authority",
        "motion"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/components/buttons/glow/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/glow.tsx"
        }
      ]
    },
    {
      "name": "refresh",
      "type": "registry:ui",
      "title": "Refresh Button",
      "description": "An icon button that spins on click and supports async refresh callbacks — ideal for reloading component previews or live data.",
      "dependencies": [
        "class-variance-authority",
        "motion",
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/components/buttons/refresh/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/refresh.tsx"
        }
      ]
    },
    {
      "name": "cards-view-icon",
      "type": "registry:ui",
      "title": "Cards View Icon",
      "description": "Animated icon where four square dots reorder in a 2×2 grid via Motion layout animation when active, signaling a card view mode.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/icons/cards-view-icon/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/cards-view-icon.tsx"
        }
      ]
    },
    {
      "name": "compact-view-icon",
      "type": "registry:ui",
      "title": "Compact View Icon",
      "description": "Animated icon where a 3×2 grid of dots reorder themselves via Motion layout animation when active.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/icons/compact-view-icon/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/compact-view-icon.tsx"
        }
      ]
    },
    {
      "name": "list-view-icon",
      "type": "registry:ui",
      "title": "List View Icon",
      "description": "Animated icon where three horizontal lines shuffle vertically when active, signaling a list view mode.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/icons/list-view-icon/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/list-view-icon.tsx"
        }
      ]
    },
    {
      "name": "sidebar-toggle-icon",
      "type": "registry:ui",
      "title": "Sidebar Toggle Icon",
      "description": "Animated SVG icon that morphs between open and closed sidebar panel states using Motion path interpolation.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/icons/sidebar-toggle-icon/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/sidebar-toggle-icon.tsx"
        }
      ]
    },
    {
      "name": "aurora-blur",
      "type": "registry:ui",
      "title": "Aurora Blur",
      "description": "Aurora blur shader layer used by Aurora Card.",
      "dependencies": [
        "@react-three/fiber",
        "three"
      ],
      "files": [
        {
          "path": "registry/components/ui/blob-card/aurora-blur.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/aurora-blur.tsx"
        }
      ]
    },
    {
      "name": "aurora-card",
      "type": "registry:ui",
      "title": "Aurora Card",
      "description": "Aurora-blur pricing card with a configurable hero area, layout hooks, and customizable shader controls.",
      "dependencies": [
        "@react-three/fiber",
        "three"
      ],
      "registryDependencies": [
        "@unlumen-ui/aurora-blur"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "blob-card",
      "type": "registry:ui",
      "title": "Blob Card",
      "description": "Animated card with fluid blob header, animated glow border, and configurable colors.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/ui/blob-card/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/blob-card.tsx"
        },
        {
          "path": "registry/components/ui/blob-card/FluidBlobs.tsx",
          "type": "registry:ui",
          "target": "components/ui/FluidBlobs.tsx"
        },
        {
          "path": "registry/components/ui/blob-card/glow-effect.tsx",
          "type": "registry:ui",
          "target": "components/ui/glow-effect.tsx"
        }
      ]
    },
    {
      "name": "ai-chat",
      "type": "registry:ui",
      "title": "AI Chat",
      "description": "A chat component that allows you to chat with an AI.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "animate-count",
      "type": "registry:ui",
      "title": "Vercel Animate Count",
      "description": "A number display that animates the transition between values with a blur + slide effect, with a hook to throttle rapid updates.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/animate-count/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/animate-count.tsx"
        }
      ]
    },
    {
      "name": "animate-digits",
      "type": "registry:ui",
      "title": "Animate Digits",
      "description": "Per-digit blur-slide animation — only the digits that change animate.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/animate-digits/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/animate-digits.tsx"
        }
      ]
    },
    {
      "name": "animate-text-input-typing",
      "type": "registry:ui",
      "title": "Animate Text Input Typing",
      "description": "An animated input field with per-character motion effects and a smooth custom cursor overlay — supports multiple animation presets, cursor variants, and input styles.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/unlumen/animate-text-input-typing/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/animate-text-input-typing.tsx"
        }
      ]
    },
    {
      "name": "animated-list",
      "type": "registry:ui",
      "title": "Animated List",
      "description": "A real-time push feed where new items animate in from the top with spring physics — Stripe Radar style.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/unlumen/animated-list/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/animated-list.tsx"
        }
      ]
    },
    {
      "name": "apple-switch",
      "type": "registry:ui",
      "title": "Apple Switch",
      "description": "Animated toggle switch with separate track/thumb sizing, spring feedback, optional label text, and tone variants.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/apple-switch/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/apple-switch.tsx"
        }
      ]
    },
    {
      "name": "aurora-bars",
      "type": "registry:ui",
      "title": "Aurora Bars",
      "description": "Animated bars with aurora-inspired gradient effects and smooth transitions.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/aurora-bars/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/aurora-bars.tsx"
        }
      ]
    },
    {
      "name": "clipped-circle",
      "type": "registry:ui",
      "title": "Clipped Circle",
      "description": "A cursor-following spotlight effect that reveals a soft glowing circle wherever the user moves their mouse inside the container.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/clipped-circle/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/clipped-circle.tsx"
        }
      ]
    },
    {
      "name": "command-menu",
      "type": "registry:ui",
      "title": "Command Menu",
      "description": "A composable ⌘K command palette with fuzzy search, custom groups, built-in theme switcher, and animated content reveal.",
      "dependencies": [
        "next",
        "next-themes",
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/command-menu/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/command-menu.tsx"
        }
      ]
    },
    {
      "name": "count-up",
      "type": "registry:ui",
      "title": "Count Up",
      "description": "An animated number counter that springs to its target value when it enters the viewport, with support for decimals, separators, and direction.",
      "dependencies": [
        "motion",
        "react-use-measure"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/count-up/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/count-up.tsx"
        }
      ]
    },
    {
      "name": "cursor",
      "type": "registry:ui",
      "title": "Cursor",
      "description": "An animated cursor component that allows you to customize both the cursor and cursor follow elements with smooth animations.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-cursor"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/cursor/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/cursor.tsx"
        }
      ]
    },
    {
      "name": "cursor-image-trail",
      "type": "registry:ui",
      "title": "Cursor Image Trail",
      "description": "A trail of images that follows the cursor with spring-physics fade and rotation.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/cursor-image-trail/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/cursor-image-trail.tsx"
        }
      ]
    },
    {
      "name": "dia-text-reveal",
      "type": "registry:ui",
      "title": "Dia Text Reveal",
      "description": "Animated text reveal with a colorful gradient sweep effect, inspired by the Dia app.",
      "dependencies": [
        "motion"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "dock",
      "type": "registry:ui",
      "title": "Dock",
      "description": "Animated dock with Gaussian magnification, spring physics, separators, and tooltip carets.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/unlumen/dock/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/dock.tsx"
        }
      ]
    },
    {
      "name": "expand-menu",
      "type": "registry:ui",
      "title": "Expand Menu",
      "description": "An animated expanding menu that reveals items from a trigger button, with configurable direction, layout, and alignment.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/expand-menu/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/expand-menu.tsx"
        }
      ]
    },
    {
      "name": "expandable-navbar",
      "type": "registry:ui",
      "title": "Expandable Navbar",
      "description": "A full-width fixed header with velocity-highlight hover, expanding inline dropdown, scroll hide/show, and a mobile circle-reveal overlay.",
      "dependencies": [
        "motion",
        "next",
        "next-themes",
        "lucide-react"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-effects-velocity-highlight",
        "@unlumen-ui/primitives-animate-tabs"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "favicon-search",
      "type": "registry:ui",
      "title": "Favicon Search",
      "description": "A search input that fetches and smoothly animates the site favicon into the search bar as you type a URL.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/favicon-search/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/favicon-search.tsx"
        }
      ]
    },
    {
      "name": "file-tree",
      "type": "registry:component",
      "title": "File Tree",
      "description": "Animated file-tree component with animated hover highlight, spring folder expand/collapse, and automatic file-type icons.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/file-tree/index.tsx",
          "type": "registry:component",
          "target": "components/unlumen-ui/file-tree.tsx"
        }
      ]
    },
    {
      "name": "floating-navbar",
      "type": "registry:ui",
      "title": "Floating Navbar",
      "description": "A sticky floating pill navbar with scroll-velocity spring physics, velocity-highlight hover effect, dropdown menus, mobile overlay, and optional theme toggle.",
      "dependencies": [
        "motion",
        "next",
        "next-themes",
        "lucide-react"
      ],
      "registryDependencies": [
        "@unlumen-ui/highlight",
        "@unlumen-ui/primitives-effects-highlight-nav-menu"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "floating-tooltip",
      "type": "registry:ui",
      "title": "Floating Tooltip",
      "description": "A floating tooltip component.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/floating-tooltip/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/floating-tooltip.tsx"
        }
      ]
    },
    {
      "name": "glowing-badge",
      "type": "registry:ui",
      "title": "Glowing Badge",
      "description": "Badge with an animated pulsing glow dot. Supports status variants: default, success, warning, error, info.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/glowing-badge/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/glowing-badge.tsx"
        }
      ]
    },
    {
      "name": "gooey-navbar-menu",
      "type": "registry:component",
      "title": "Gooey Navbar Menu",
      "description": "A spring-animated navbar menu with a gooey SVG-filtered background that connects the active trigger and dropdown panel.",
      "dependencies": [
        "framer-motion",
        "lucide-react",
        "class-variance-authority"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "gooey-svg-filter",
      "type": "registry:ui",
      "title": "Gooey SVG Filter",
      "description": "An SVG filter that creates a gooey, fluid merging effect on adjacent elements using Gaussian blur and alpha-channel color matrix manipulation.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "highlight",
      "type": "registry:ui",
      "title": "Highlight",
      "description": "An animated highlight component that tracks elements with smooth spring animations.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/primitives/effects/highlight/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/highlight.tsx"
        }
      ]
    },
    {
      "name": "horizontal-depth-fade",
      "type": "registry:ui",
      "title": "Horizontal Depth Fade",
      "description": "Scroll-driven horizontal image strip on a single line with cinematic blur and brightness focus. GSAP ScrollTrigger implementation.",
      "dependencies": [
        "gsap"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/horizontal-depth-fade/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/horizontal-depth-fade.tsx"
        }
      ]
    },
    {
      "name": "hover-expand",
      "type": "registry:ui",
      "title": "Hover Expand",
      "description": "A vertical list of rows that expand on hover to reveal a full-width image, animated with Motion springs.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/hover-expand/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/hover-expand.tsx"
        }
      ]
    },
    {
      "name": "hover-feature-cards",
      "type": "registry:ui",
      "title": "Hover Feature Cards",
      "description": "A responsive grid of feature cards where a description panel slides in from below on hover, with spring animation and optional image support.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/hover-feature-cards/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/hover-feature-cards.tsx"
        }
      ]
    },
    {
      "name": "hover-image-list",
      "type": "registry:ui",
      "title": "Hover Image List",
      "description": "A list of large headings that reveal an image on the left and shift right on hover, animated with Motion.",
      "dependencies": [
        "motion"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "inline-testimonials",
      "type": "registry:ui",
      "title": "Inline Testimonials",
      "description": "Testimonials rendered as inline flowing text with circular avatars. Hover to blur others and reveal the author's name and role.",
      "dependencies": [
        "motion",
        "next"
      ],
      "registryDependencies": [],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "kbd",
      "type": "registry:ui",
      "title": "Kbd",
      "description": "Keyboard key and shortcut display component with a realistic keycap style.",
      "files": [
        {
          "path": "registry/components/unlumen/kbd/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/kbd.tsx"
        }
      ]
    },
    {
      "name": "magnetic-button",
      "type": "registry:ui",
      "title": "Magnetic Button",
      "description": "A button that magnetically follows cursor proximity with spring physics. Smoothly snaps back when the cursor leaves.",
      "dependencies": [
        "motion",
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/unlumen/magnetic-button/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/magnetic-button.tsx"
        }
      ]
    },
    {
      "name": "math-graph",
      "type": "registry:ui",
      "title": "Math Graph",
      "description": "A real-time visual math function builder with animated SVG curves, a pan/zoom canvas, crosshair tooltip, and support for multiple expressions simultaneously.",
      "dependencies": [
        "motion",
        "react-use-measure"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/math-graph/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/math-graph.tsx"
        }
      ]
    },
    {
      "name": "matrix",
      "type": "registry:ui",
      "title": "Matrix",
      "description": "An LED dot matrix display component with SVG pixels, radial glow, built-in digit/animation presets, and a VU meter mode.",
      "files": [
        {
          "path": "registry/components/unlumen/matrix/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/matrix.tsx"
        }
      ]
    },
    {
      "name": "matrix-image",
      "type": "registry:ui",
      "title": "Matrix Image",
      "description": "An animated image component that simulates the iconic Matrix digital rain effect.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/matrix-image/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/matrix-image.tsx"
        }
      ]
    },
    {
      "name": "motion-faqs-accordion",
      "type": "registry:ui",
      "title": "Motion FAQs Accordion",
      "description": "A clean Motion-powered FAQ accordion with spring-animated content reveal.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/motion-faqs-accordion/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/motion-faqs-accordion.tsx"
        }
      ]
    },
    {
      "name": "motion-navigation-menu",
      "type": "registry:component",
      "title": "Motion Navigation Menu",
      "description": "A spring-animated navigation menu with a single morphing container, layout-animated active pill, and direction-aware content transitions.",
      "dependencies": [
        "framer-motion",
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@unlumen-ui/highlight"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/motion-navigation-menu/index.tsx",
          "type": "registry:component",
          "target": "components/unlumen-ui/motion-navigation-menu.tsx"
        }
      ]
    },
    {
      "name": "motion-subtitle",
      "type": "registry:component",
      "title": "Motion Subtitle",
      "description": "Animated subtitle text with per-character reveal, blur transition, speed control, and top/bottom direction.",
      "dependencies": [
        "framer-motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/motion-subtitle/index.tsx",
          "type": "registry:component",
          "target": "components/unlumen-ui/motion-subtitle.tsx"
        }
      ]
    },
    {
      "name": "motion-tabs-menu",
      "type": "registry:component",
      "title": "Motion Tabs Menu",
      "description": "A floating bottom tab bar that expands upward with spring animations to reveal tab-specific content, with direction-aware slide transitions.",
      "dependencies": [
        "framer-motion",
        "react-use-measure",
        "lucide-react"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "nextjs-ship",
      "type": "registry:ui",
      "title": "Next.js Ship",
      "description": "Animated chip/CPU circuit board visualization with gradient pulse traces traveling along PCB-style paths.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/nextjs-ship/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/nextjs-ship.tsx"
        }
      ]
    },
    {
      "name": "orbital-image-wheel",
      "type": "registry:ui",
      "title": "Orbital Image Wheel",
      "description": "Scroll-driven half-wheel image layout powered by GSAP ScrollTrigger, with cinematic blur/saturation/brightness focus and centered captions.",
      "dependencies": [
        "gsap"
      ],
      "registryDependencies": [
        "@unlumen-ui/motion-subtitle"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/orbital-image-wheel/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/orbital-image-wheel.tsx"
        }
      ]
    },
    {
      "name": "orbiting-skills",
      "type": "registry:ui",
      "title": "Orbiting Skills",
      "description": "Animated skill badges that orbit a center element. On desktop the ring follows the cursor on hover; on mobile the ring is always visible.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/orbiting-skills/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/orbiting-skills.tsx"
        }
      ]
    },
    {
      "name": "page-transition",
      "type": "registry:ui",
      "title": "Page Transition",
      "description": "GSAP-powered Next.js App Router page transition provider. Wraps your layout to animate between pages with a curtain reveal or slide push — ported from the Codrops async transition demo.",
      "dependencies": [
        "gsap",
        "next"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/page-transition/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/page-transition.tsx"
        }
      ]
    },
    {
      "name": "perspective-flow",
      "type": "registry:ui",
      "title": "Perspective Flow",
      "description": "Scroll-driven 3D image grid with perspective rotations, blur, brightness, and inner parallax — supports both GSAP ScrollTrigger and Framer Motion engines.",
      "dependencies": [
        "framer-motion",
        "gsap"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/perspective-flow/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/perspective-flow.tsx"
        }
      ]
    },
    {
      "name": "pinned-list",
      "type": "registry:ui",
      "title": "Pinned List",
      "description": "A list of items that animate smoothly to a pinned section using Framer Motion layout animations.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/unlumen/pinned-list/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/pinned-list.tsx"
        }
      ]
    },
    {
      "name": "progressive-blur",
      "type": "registry:ui",
      "title": "Progressive Blur",
      "description": "Top and bottom progressive blur overlays that stack multiple backdrop-filter layers to produce a smooth edge-to-transparent blur effect.",
      "dependencies": [],
      "files": [
        {
          "path": "registry/components/unlumen/progressive-blur/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/progressive-blur.tsx"
        }
      ]
    },
    {
      "name": "scramble-text",
      "type": "registry:ui",
      "title": "Scramble Text",
      "description": "A text animation component that reveals characters with a scramble/glitch effect, with imperative controls for manual triggering.",
      "files": [
        {
          "path": "registry/components/unlumen/scramble-text/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/scramble-text.tsx"
        }
      ]
    },
    {
      "name": "scroll-reveal-image",
      "type": "registry:ui",
      "title": "Scroll Reveal Image",
      "description": "Scroll-driven image reveal with spring-physics width expansion, zoom-out, and border radius animation.",
      "dependencies": [
        "framer-motion",
        "next"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/scroll-reveal-image/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/scroll-reveal-image.tsx"
        }
      ]
    },
    {
      "name": "shimmer-skeleton",
      "type": "registry:ui",
      "title": "Shimmer Skeleton",
      "description": "Lightweight loading skeleton with a smooth shimmer sweep animation.",
      "files": [
        {
          "path": "registry/components/unlumen/shimmer-skeleton/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/shimmer-skeleton.tsx"
        }
      ]
    },
    {
      "name": "shimmering-text",
      "type": "registry:ui",
      "title": "Shimmering Text",
      "description": "Animated gradient shimmer text with viewport-triggered and repeating animation support.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/shimmering-text/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/shimmering-text.tsx"
        }
      ]
    },
    {
      "name": "side-by-side-slide",
      "type": "registry:ui",
      "title": "Side By Side Slide",
      "description": "An image comparison slider with a spring-animated divider that follows the cursor on hover, revealing before/after images.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/side-by-side-slide/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/side-by-side-slide.tsx"
        }
      ]
    },
    {
      "name": "sidebar-001",
      "type": "registry:ui",
      "title": "Sidebar 001",
      "description": "Animated vertical sidebar with spring hover highlight, active indicator bar, and per-item dash pattern.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/sidebar-001/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/sidebar-001.tsx"
        }
      ]
    },
    {
      "name": "sidebar-002",
      "type": "registry:ui",
      "title": "Sidebar 002",
      "description": "Slide-in overlay sidebar with spring animation, animated dash items, and cursor-following video preview.",
      "dependencies": [
        "motion"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "Animated slider with spring-snapped thumb, step dots, range mode, and click-to-edit value display. Built on Radix UI Slider.",
      "dependencies": [
        "motion",
        "@radix-ui/react-slider"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/slider/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/slider.tsx"
        }
      ]
    },
    {
      "name": "smart-animate-text",
      "type": "registry:ui",
      "title": "Smart Animate Text",
      "description": "Per-character blur-slide animation with direct value changes and no animation queue.",
      "dependencies": [
        "motion"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "stacked-feature-cards",
      "type": "registry:ui",
      "title": "Stacked Feature Cards",
      "description": "A two-column section with a sticky animated hero card on the left and a stack of rotating feature cards on the right.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "Animated toggle switch with a spring-driven thumb, smooth fill transition, and optional label.",
      "dependencies": [
        "motion",
        "@radix-ui/react-switch"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/switch/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/switch.tsx"
        }
      ]
    },
    {
      "name": "tag",
      "type": "registry:component",
      "title": "Tag",
      "description": "Rounded outlined tags with six built-in pastel variants and an optional stacked group layout.",
      "dependencies": [
        "nucleo-arcade",
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/tag/index.tsx",
          "type": "registry:component",
          "target": "components/unlumen-ui/tag.tsx"
        }
      ]
    },
    {
      "name": "team-stack",
      "type": "registry:component",
      "title": "Team Stack",
      "description": "A stacked deck of team member cards that fans out on hover (desktop) or tap (mobile), each with an animated CTA pill and spring physics.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "text-reveal",
      "type": "registry:ui",
      "title": "Text Reveal",
      "description": "Scroll-driven word-by-word or character-by-character text reveal using Motion's useScroll and useTransform.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/unlumen/text-reveal/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/text-reveal.tsx"
        }
      ]
    },
    {
      "name": "theme-switch",
      "type": "registry:ui",
      "title": "Theme Switch",
      "description": "Animated dark / light mode toggle button with a spring-driven sun ↔ moon icon swap and optional View Transition reveal.",
      "dependencies": [
        "next-themes",
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/theme-switch/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/theme-switch.tsx"
        }
      ]
    },
    {
      "name": "tilt",
      "type": "registry:ui",
      "title": "Tilt",
      "description": "A spring-animated 3D tilt wrapper that tracks the cursor inside the element.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/tilt/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/tilt.tsx"
        }
      ]
    },
    {
      "name": "tilt-card",
      "type": "registry:ui",
      "title": "Tilt Card",
      "description": "A card with 3D spring tilt, optional floating image, badge and radial shine on hover.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "https://ui.unlumen.com/r/tilt.json",
        "https://ui.unlumen.com/r/clipped-circle.json"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/tilt-card/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/tilt-card.tsx"
        }
      ]
    },
    {
      "name": "tooltip-preview",
      "type": "registry:ui",
      "title": "Tooltip Preview",
      "description": "Link tooltip that reveals a website preview card with title, description, image and favicon.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/components/unlumen/tooltip-preview/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/tooltip-preview.tsx"
        }
      ]
    },
    {
      "name": "velocity-highlight",
      "type": "registry:ui",
      "title": "Velocity Highlight",
      "description": "A highlight effect with smooth spring physics that tracks the active element across hover or click interactions.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/velocity-highlight/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/velocity-highlight.tsx"
        }
      ]
    },
    {
      "name": "vercel-snap-text",
      "type": "registry:ui",
      "title": "Vercel Snap Text",
      "description": "A scroll-driven text list that snaps exactly to each item. The active item scales up with an optional prefix, others fade and indent — all animated with Motion springs.",
      "dependencies": [
        "motion"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "vertical-marquee",
      "type": "registry:ui",
      "title": "Vertical Marquee",
      "description": "Two columns of tweet cards scrolling vertically in opposite directions with progressive fade at the edges.",
      "dependencies": [
        "motion",
        "react-tweet"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/components/unlumen/vertical-marquee/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/vertical-marquee.tsx"
        },
        {
          "path": "registry/components/unlumen/vertical-marquee/vertical-marquee-client.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/vertical-marquee-client.tsx"
        },
        {
          "path": "registry/components/unlumen/vertical-marquee/vertical-marquee.types.ts",
          "type": "registry:ui",
          "target": "components/unlumen-ui/vertical-marquee.types.ts"
        }
      ]
    },
    {
      "name": "video-ambient",
      "type": "registry:ui",
      "title": "Video Ambient",
      "description": "A video card with ambient blurred reflections and optional overlay styling.",
      "dependencies": [],
      "files": [
        {
          "path": "registry/components/unlumen/video-ambient/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/video-ambient.tsx"
        }
      ]
    },
    {
      "name": "video-slider",
      "type": "registry:ui",
      "title": "Video Slider",
      "description": "A video carousel with animated slide transitions and playback controls.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-cursor",
      "type": "registry:ui",
      "title": "Cursor Demo",
      "description": "Demo showing a cursor.",
      "registryDependencies": [
        "@unlumen-ui/cursor"
      ],
      "files": [
        {
          "path": "registry/demo/components/animate/cursor/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/demo/components/animate/cursor.tsx"
        }
      ],
      "meta": {
        "demoProps": {
          "CursorProvider": {
            "global": {
              "value": false
            },
            "enableCursor": {
              "value": true
            },
            "enableCursorFollow": {
              "value": true
            }
          },
          "CursorFollow": {
            "side": {
              "value": "bottom",
              "options": {
                "top": "top",
                "right": "right",
                "bottom": "bottom",
                "left": "left"
              }
            },
            "sideOffset": {
              "value": 15
            },
            "align": {
              "value": "end",
              "options": {
                "start": "start",
                "center": "center",
                "end": "end"
              }
            },
            "alignOffset": {
              "value": 5
            }
          }
        }
      }
    },
    {
      "name": "demo-gravity-stars",
      "type": "registry:ui",
      "title": "Gravity Stars Background Demo",
      "description": "Demo showing a gravity stars background.",
      "registryDependencies": [
        "@unlumen-ui/gravity-stars"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "GravityStarsBackground": {
            "starsCount": {
              "value": 75,
              "min": 10,
              "max": 200,
              "step": 5
            },
            "starsSize": {
              "value": 2,
              "min": 0.5,
              "max": 8,
              "step": 0.5
            },
            "starsOpacity": {
              "value": 0.75,
              "min": 0,
              "max": 1,
              "step": 0.05
            },
            "starsColor": {
              "value": "#f472b6",
              "options": {
                "Black": "#000000",
                "White": "#ffffff",
                "Blue": "#60a5fa",
                "Purple": "#a78bfa",
                "Pink": "#f472b6",
                "Green": "#4ade80",
                "Orange": "#fb923c",
                "Yellow": "#facc15"
              }
            },
            "glowIntensity": {
              "value": 15,
              "min": 0,
              "max": 50,
              "step": 1
            },
            "movementSpeed": {
              "value": 0.3,
              "min": 0,
              "max": 3,
              "step": 0.1
            },
            "mouseGravity": {
              "value": "attract",
              "options": {
                "Attract": "attract",
                "Repel": "repel"
              }
            },
            "mouseInfluence": {
              "value": 100,
              "min": 0,
              "max": 300,
              "step": 10
            },
            "gravityStrength": {
              "value": 75,
              "min": 0,
              "max": 200,
              "step": 5
            },
            "glowAnimation": {
              "value": "ease",
              "options": {
                "Instant": "instant",
                "Ease": "ease",
                "Spring": "spring"
              }
            },
            "starsInteraction": {
              "value": false
            },
            "starsInteractionType": {
              "value": "bounce",
              "options": {
                "Bounce": "bounce",
                "Merge": "merge"
              }
            }
          }
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-pixel",
      "type": "registry:ui",
      "title": "Pixel Background Demo",
      "description": "Demo showing a pixel background.",
      "registryDependencies": [
        "@unlumen-ui/pixel"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "PixelBackground": {
            "gap": {
              "value": 5,
              "min": 2,
              "max": 20,
              "step": 1
            },
            "speed": {
              "value": 35,
              "min": 0,
              "max": 100,
              "step": 5
            },
            "pattern": {
              "value": "center",
              "options": {
                "Center": "center",
                "Top to Bottom": "top",
                "Bottom to Top": "bottom",
                "Left to Right": "left",
                "Right to Left": "right",
                "Diagonal": "diagonal",
                "Ascend": "ascend",
                "Edges Inward": "edges",
                "Spiral": "spiral",
                "Follow Cursor": "cursor",
                "Random": "random"
              }
            },
            "darkColors": {
              "value": "#2a2a2a,#3b3b3b,#525252",
              "options": {
                "Default": "#2a2a2a,#3b3b3b,#525252",
                "Multicolor": "#ff0000,#00ff00,#0000ff",
                "Neon Green": "#0a2e0a,#0d5c0d,#16a34a",
                "Neon Red": "#3b0a0a,#7f1d1d,#dc2626",
                "Neon Purple": "#1e0a3b,#4c1d95,#7c3aed",
                "Amber": "#2d1500,#7c2d04,#d97706",
                "Rose Gold": "#3b1a1a,#7f3535,#e11d48"
              }
            },
            "lightColors": {
              "value": "#d4d4d4,#bdbdbd,#a3a3a3",
              "options": {
                "Default": "#d4d4d4,#bdbdbd,#a3a3a3",
                "Multicolor": "#ffcccc,#ccffcc,#ccccff",
                "Neon Green": "#bbf7d0,#86efac,#22c55e",
                "Neon Red": "#fecaca,#fca5a5,#ef4444",
                "Neon Purple": "#e9d5ff,#d8b4fe,#a855f7",
                "Amber": "#fde68a,#fcd34d,#f59e0b",
                "Rose Gold": "#fecdd3,#fda4af,#f43f5e"
              }
            }
          }
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-pixel-grid",
      "type": "registry:ui",
      "title": "Pixel Background Grid Demo",
      "description": "Demo showing three pixel backgrounds side by side with different color palettes.",
      "registryDependencies": [
        "@unlumen-ui/pixel"
      ],
      "files": [
        {
          "path": "registry/demo/components/backgrounds/pixel-grid/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/demo/components/backgrounds/pixel-grid.tsx"
        }
      ]
    },
    {
      "name": "demo-pixel-liquid-bg",
      "type": "registry:ui",
      "title": "Pixel Liquid Background Demo",
      "description": "Demo showing the Pixel Liquid Background component.",
      "registryDependencies": [
        "@unlumen-ui/pixel-liquid-bg"
      ],
      "files": [
        {
          "path": "registry/demo/components/backgrounds/pixel-liquid-bg/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/demo/components/backgrounds/pixel-liquid-bg.tsx"
        }
      ]
    },
    {
      "name": "demo-square-pattern",
      "type": "registry:ui",
      "title": "Square Pattern Background Demo",
      "description": "Demo showing the Square Pattern Background component.",
      "registryDependencies": [
        "@unlumen-ui/square-pattern"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-wave-background",
      "type": "registry:ui",
      "title": "Wave Background Demo",
      "description": "Demo showcasing scroll-driven and ambient wave dividers — as a page section divider, inside a card, and in both directions.",
      "dependencies": [
        "lenis"
      ],
      "registryDependencies": [
        "@unlumen-ui/wave-background"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "WaveBackground": {
            "variant": {
              "value": "scroll",
              "options": {
                "Scroll-driven": "scroll",
                "Ambient loop": "ambient"
              }
            },
            "direction": {
              "value": "down",
              "options": {
                "Down": "down",
                "Up": "up"
              }
            },
            "fill": {
              "value": "var(--muted)",
              "options": {
                "Muted": "var(--muted)",
                "Foreground": "var(--foreground)",
                "Accent": "var(--accent)",
                "Blue": "#60a5fa",
                "Purple": "#a78bfa",
                "Pink": "#f472b6",
                "Green": "#4ade80"
              }
            },
            "height": {
              "value": 96,
              "min": 40,
              "max": 240,
              "step": 8
            },
            "speed": {
              "value": 1,
              "min": 0.2,
              "max": 4,
              "step": 0.1
            },
            "amplitude": {
              "value": 28,
              "min": 4,
              "max": 60,
              "step": 2
            }
          }
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-copy",
      "type": "registry:ui",
      "title": "Copy Button Demo",
      "description": "Demo showing a copy button.",
      "registryDependencies": [
        "@unlumen-ui/copy"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/demo/components/buttons/copy/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/demo/components/buttons/copy.tsx"
        }
      ],
      "meta": {
        "demoProps": {
          "CopyButton": {
            "variant": {
              "value": "default",
              "options": {
                "default": "default",
                "accent": "accent",
                "destructive": "destructive",
                "outline": "outline",
                "secondary": "secondary",
                "ghost": "ghost",
                "link": "link"
              }
            },
            "size": {
              "value": "default",
              "options": {
                "default": "default",
                "xs": "xs",
                "sm": "sm",
                "lg": "lg"
              }
            }
          }
        }
      }
    },
    {
      "name": "demo-glow",
      "type": "registry:example",
      "title": "Glow Button Demo",
      "description": "Three glow buttons with different colour palettes and animation modes.",
      "registryDependencies": [
        "@unlumen-ui/glow"
      ],
      "files": [
        {
          "path": "registry/demo/components/buttons/glow/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "GlowButtonDemo": {
            "mode": {
              "value": "rotate",
              "options": {
                "Rotate": "rotate",
                "Pulse": "pulse",
                "Breathe": "breathe",
                "Color Shift": "colorShift",
                "Flow Horizontal": "flowHorizontal",
                "Static": "static"
              }
            },
            "blur": {
              "value": "strong",
              "options": {
                "Soft": "soft",
                "Medium": "medium",
                "Strong": "strong",
                "Stronger": "stronger"
              }
            },
            "duration": {
              "value": 5,
              "min": 1,
              "max": 20,
              "step": 0.5
            },
            "glowScale": {
              "value": 1,
              "min": 0.8,
              "max": 1.5,
              "step": 0.05
            }
          }
        }
      }
    },
    {
      "name": "demo-refresh",
      "type": "registry:example",
      "title": "Refresh Button Demo",
      "registryDependencies": [
        "@unlumen-ui/refresh"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/demo/components/buttons/refresh/index.tsx",
          "type": "registry:example",
          "target": "components/unlumen-ui/demo/components/buttons/refresh.tsx"
        }
      ],
      "meta": {
        "demoName": "RefreshButtonDemo",
        "demoProps": {
          "variant": {
            "type": "select",
            "label": "Variant",
            "default": "neutral",
            "options": {
              "Neutral": "neutral",
              "Default": "default",
              "Ghost": "ghost",
              "Outline": "outline",
              "Secondary": "secondary"
            }
          },
          "size": {
            "type": "select",
            "label": "Size",
            "default": "icon-sm",
            "options": {
              "Icon SM": "icon-sm",
              "Icon": "icon",
              "SM": "sm"
            }
          }
        }
      }
    },
    {
      "name": "demo-cards-view-icon",
      "type": "registry:example",
      "title": "Cards View Icon Demo",
      "description": "Four dots reorder themselves in a 2×2 grid via layout animation on toggle to indicate cards view.",
      "registryDependencies": [
        "@unlumen-ui/cards-view-icon"
      ],
      "files": [
        {
          "path": "registry/demo/components/icons/cards-view-icon/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoName": "CardsViewIconDemo",
        "demoProps": {}
      }
    },
    {
      "name": "demo-compact-view-icon",
      "type": "registry:example",
      "title": "Compact View Icon Demo",
      "description": "Six dots reorder themselves via layout animation on toggle to indicate compact view.",
      "registryDependencies": [
        "@unlumen-ui/compact-view-icon"
      ],
      "files": [
        {
          "path": "registry/demo/components/icons/compact-view-icon/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoName": "CompactViewIconDemo",
        "demoProps": {}
      }
    },
    {
      "name": "demo-list-view-icon",
      "type": "registry:example",
      "title": "List View Icon Demo",
      "description": "Three animated lines shuffle vertically on toggle to indicate list view.",
      "registryDependencies": [
        "@unlumen-ui/list-view-icon"
      ],
      "files": [
        {
          "path": "registry/demo/components/icons/list-view-icon/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoName": "ListViewIconDemo",
        "demoProps": {}
      }
    },
    {
      "name": "demo-sidebar-toggle-icon",
      "type": "registry:example",
      "title": "Sidebar Toggle Icon Demo",
      "description": "Animated SVG icon that morphs between open and closed sidebar states on click.",
      "registryDependencies": [
        "@unlumen-ui/sidebar-toggle-icon"
      ],
      "files": [
        {
          "path": "registry/demo/components/icons/sidebar-toggle-icon/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoName": "SidebarToggleIconDemo",
        "demoProps": {
          "SidebarToggleIconDemo": {
            "strokeWidth": {
              "value": 1.5,
              "min": 0.5,
              "max": 3,
              "step": 0.5
            }
          }
        }
      }
    },
    {
      "name": "demo-aurora-card",
      "type": "registry:example",
      "title": "Aurora Card Demo",
      "description": "Pricing card demo matching exactly the pricing page card style.",
      "registryDependencies": [
        "@unlumen-ui/aurora-card"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-blob-card",
      "type": "registry:ui",
      "title": "Blob Card Demo",
      "description": "Demo showing the Blob Card component.",
      "registryDependencies": [
        "@unlumen-ui/blob-card"
      ],
      "files": [
        {
          "path": "registry/demo/components/ui/blob-card/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/demo/components/ui/blob-card.tsx"
        }
      ]
    },
    {
      "name": "demo-ai-chat",
      "type": "registry:example",
      "title": "AI Chat Demo",
      "description": "Demo showing an AI chat component.",
      "registryDependencies": [
        "@unlumen-ui/ai-chat"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-animate-count",
      "type": "registry:example",
      "title": "Vercel Animate Count Demo",
      "description": "Demo showing an animated number counter with blur + slide transitions.",
      "registryDependencies": [
        "@unlumen-ui/animate-count"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/animate-count/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-animate-digits",
      "type": "registry:example",
      "title": "Animate Digits Demo",
      "description": "Timer demo showcasing per-digit blur-slide animation.",
      "registryDependencies": [
        "@unlumen-ui/animate-digits"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/animate-digits/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-animate-text-input-typing",
      "type": "registry:example",
      "title": "Animate Text Input Typing Demo",
      "description": "Animated text input with per-character motion and custom cursor overlay.",
      "registryDependencies": [
        "@unlumen-ui/animate-text-input-typing"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/animate-text-input-typing/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-animated-list",
      "type": "registry:example",
      "title": "Animated List Demo",
      "description": "Auto-cycling notification feed with spring entry animations.",
      "registryDependencies": [
        "@unlumen-ui/animated-list"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/animated-list/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "AnimatedListDemo": {}
        }
      }
    },
    {
      "name": "demo-apple-switch",
      "type": "registry:example",
      "title": "Apple Switch Demo",
      "description": "A compact settings panel with animated switches, descriptions, sizes, and tone controls.",
      "registryDependencies": [
        "@unlumen-ui/apple-switch"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/apple-switch/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "AppleSwitchDemo": {
            "size": {
              "value": "md",
              "options": {
                "Small": "sm",
                "Medium": "md",
                "Large": "lg"
              }
            },
            "tone": {
              "value": "neutral",
              "options": {
                "Neutral": "neutral",
                "Accent": "accent"
              }
            }
          }
        }
      }
    },
    {
      "name": "demo-aurora-bars",
      "type": "registry:example",
      "title": "Aurora Bars Demo",
      "description": "Demonstration of the Aurora Bars component with animated gradient effects.",
      "registryDependencies": [
        "@unlumen-ui/aurora-bars"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/aurora-bars/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-clipped-circle",
      "type": "registry:example",
      "title": "Clipped Circle Demo",
      "description": "Demo showing a clipped circle spotlight effect on a button, a card, and an image.",
      "registryDependencies": [
        "@unlumen-ui/clipped-circle"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/clipped-circle/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "ClippedCircleDemo": {
            "circleSize": {
              "value": 400,
              "min": 100,
              "max": 800,
              "step": 50
            }
          }
        }
      }
    },
    {
      "name": "demo-command-menu",
      "type": "registry:example",
      "title": "Command Menu Demo",
      "description": "Demo showing a composable command palette with navigation, component links, and a built-in theme switcher.",
      "registryDependencies": [
        "@unlumen-ui/command-menu"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/command-menu/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "CommandMenuDemo": {
            "showThemeGroup": {
              "value": true
            }
          }
        }
      }
    },
    {
      "name": "demo-count-up",
      "type": "registry:example",
      "title": "Count Up Demo",
      "description": "Demo showing animated number counters with spring physics.",
      "registryDependencies": [
        "@unlumen-ui/count-up"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/count-up/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "CountUpDemo": {
            "digitEffect": {
              "value": "none",
              "options": {
                "None": "none",
                "Fade": "fade",
                "Blur": "blur",
                "Slide": "slide"
              }
            },
            "duration": {
              "value": 2,
              "min": 0.5,
              "max": 5,
              "step": 0.5
            },
            "separator": {
              "value": ","
            }
          }
        }
      }
    },
    {
      "name": "demo-cursor-image-trail",
      "type": "registry:example",
      "title": "Cursor Image Trail Demo",
      "description": "Demo showing a trail of images that follow the cursor with spring physics and fade-out.",
      "registryDependencies": [
        "@unlumen-ui/cursor-image-trail"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/cursor-image-trail/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-dia-text-reveal",
      "type": "registry:example",
      "title": "Dia Text Reveal Demo",
      "description": "Demo of the gradient sweep text reveal animation.",
      "registryDependencies": [
        "@unlumen-ui/dia-text-reveal"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-dock",
      "type": "registry:example",
      "title": "Dock Demo",
      "description": "Vercel-style dock with Lucide icons, separators, and Gaussian magnification.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@unlumen-ui/dock"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/dock/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "DockDemo": {}
        }
      }
    },
    {
      "name": "demo-expand-menu",
      "type": "registry:example",
      "title": "Expand Menu Demo",
      "description": "Demo for the Expand Menu component showing Edit, Copy, Share, and Archive actions.",
      "registryDependencies": [
        "expand-menu"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/expand-menu/index.tsx",
          "type": "registry:example",
          "target": "components/demo/expand-menu-demo.tsx"
        }
      ],
      "demoProps": {
        "direction": {
          "value": "down",
          "options": [
            "up",
            "down",
            "left",
            "right"
          ]
        },
        "layout": {
          "value": "column",
          "options": [
            "column",
            "row"
          ]
        },
        "align": {
          "value": "start",
          "options": [
            "start",
            "center",
            "end"
          ]
        }
      }
    },
    {
      "name": "demo-expandable-navbar",
      "type": "registry:example",
      "title": "Expandable Navbar Demo",
      "description": "Full-width fixed header with velocity-highlight hover, expanding inline dropdown, scroll hide/show, and mobile circle-reveal overlay.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@unlumen-ui/expandable-navbar"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "ExpandableNavbarDemo": {}
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-favicon-search",
      "type": "registry:example",
      "title": "Favicon Search Demo",
      "description": "Demo showing the FaviconSearch input — type a website URL and the brand logo animates in.",
      "registryDependencies": [
        "@unlumen-ui/favicon-search"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/favicon-search/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-file-tree",
      "type": "registry:example",
      "title": "File Tree Demo",
      "description": "Animated file-tree with nested folders, file-type icons, and highlighted files.",
      "registryDependencies": [
        "@unlumen-ui/file-tree"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/file-tree/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-floating-navbar",
      "type": "registry:example",
      "title": "Floating Navbar Demo",
      "description": "Floating pill navbar with dropdown menus, mobile overlay, and scroll-velocity spring animation.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@unlumen-ui/floating-navbar"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "FloatingNavbarDemo": {}
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-floating-tooltip",
      "type": "registry:example",
      "title": "Floating Tooltip Demo",
      "description": "",
      "registryDependencies": [
        "floating-tooltip"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/floating-tooltip/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-glowing-badge",
      "type": "registry:example",
      "title": "Glowing Badge Demo",
      "description": "Shows all badge variants with animated glow dots.",
      "registryDependencies": [
        "@unlumen-ui/glowing-badge"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/glowing-badge/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "GlowingBadgeDemo": {
            "pulse": {
              "value": true
            },
            "dot": {
              "value": true
            }
          }
        }
      }
    },
    {
      "name": "demo-gooey-navbar-menu",
      "type": "registry:example",
      "title": "Gooey Navbar Menu Demo",
      "description": "Centered navbar menu with a gooey bridge between the active link and dropdown panel.",
      "registryDependencies": [
        "@unlumen-ui/gooey-navbar-menu"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "GooeyNavbarMenuDemo": {}
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-gooey-svg-filter",
      "type": "registry:example",
      "title": "Gooey SVG Filter Demo",
      "description": "A gooey radial action menu whose icons spiral out from a central close button before settling into place.",
      "registryDependencies": [
        "@unlumen-ui/gooey-svg-filter"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "GooeyDemo": {}
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-horizontal-depth-fade",
      "type": "registry:ui",
      "title": "Horizontal Depth Fade Demo",
      "description": "Demo showing the Horizontal Depth Fade component.",
      "registryDependencies": [
        "@unlumen-ui/horizontal-depth-fade"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/horizontal-depth-fade/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/demo/components/unlumen/horizontal-depth-fade.tsx"
        }
      ]
    },
    {
      "name": "demo-hover-expand",
      "type": "registry:example",
      "title": "Hover Expand Demo",
      "description": "Five travel destinations that expand vertically on hover to reveal a full-width photograph.",
      "registryDependencies": [
        "@unlumen-ui/hover-expand"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/hover-expand/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "HoverExpandDemo": {
            "collapsedHeight": {
              "value": 68,
              "min": 48,
              "max": 120,
              "step": 4
            },
            "expandedHeight": {
              "value": 320,
              "min": 200,
              "max": 500,
              "step": 20
            }
          }
        }
      }
    },
    {
      "name": "demo-hover-feature-cards",
      "type": "registry:example",
      "title": "Hover Feature Cards Demo",
      "description": "Two-column feature grid with hover-reveal description panels.",
      "registryDependencies": [
        "@unlumen-ui/hover-feature-cards"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/hover-feature-cards/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-hover-image-list",
      "type": "registry:example",
      "title": "Hover Image List Demo",
      "description": "Six large headings with image reveal and slide-right animation on hover.",
      "registryDependencies": [
        "@unlumen-ui/hover-image-list"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "HoverImageListDemo": {
            "imageWidth": {
              "value": 220,
              "min": 120,
              "max": 400,
              "step": 10
            },
            "imageGap": {
              "value": 40,
              "min": 16,
              "max": 80,
              "step": 4
            }
          }
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-inline-testimonials",
      "type": "registry:example",
      "title": "Inline Testimonials Demo",
      "description": "Eight testimonials flowing inline with blur-on-hover and author reveal.",
      "registryDependencies": [
        "@unlumen-ui/inline-testimonials"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "InlineTestimonialsDemo": {}
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-kbd",
      "type": "registry:example",
      "title": "Kbd Demo",
      "description": "Single keyboard keys and common shortcuts using the Kbd and Shortcut components.",
      "registryDependencies": [
        "@unlumen-ui/kbd"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/kbd/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "KbdDemo": {
            "size": {
              "value": "md",
              "options": {
                "Small": "sm",
                "Medium": "md",
                "Large": "lg"
              }
            }
          }
        }
      }
    },
    {
      "name": "demo-magnetic-button",
      "type": "registry:example",
      "title": "Magnetic Button Demo",
      "description": "Three magnetic buttons showing different radius and spring configurations.",
      "registryDependencies": [
        "@unlumen-ui/magnetic-button"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/magnetic-button/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "MagneticButtonDemo": {
            "radius": {
              "value": 100,
              "min": 40,
              "max": 200,
              "step": 10
            },
            "strength": {
              "value": 0.5,
              "min": 0.1,
              "max": 1,
              "step": 0.05
            },
            "stiffness": {
              "value": 150,
              "min": 50,
              "max": 500,
              "step": 25
            },
            "damping": {
              "value": 15,
              "min": 5,
              "max": 60,
              "step": 1
            },
            "variant": {
              "value": "default",
              "options": {
                "Default": "default",
                "Secondary": "secondary",
                "Outline": "outline",
                "Ghost": "ghost",
                "Destructive": "destructive"
              }
            },
            "size": {
              "value": "default",
              "options": {
                "Small": "sm",
                "Default": "default",
                "Large": "lg"
              }
            }
          }
        }
      }
    },
    {
      "name": "demo-math-graph",
      "type": "registry:example",
      "title": "Math Graph Demo",
      "description": "Demo showing an interactive real-time math function visualizer.",
      "registryDependencies": [
        "@unlumen-ui/math-graph"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/math-graph/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "MathGraphDemo": {
            "animated": {
              "value": true
            },
            "showGrid": {
              "value": true
            },
            "showLabels": {
              "value": true
            },
            "resolution": {
              "value": 600,
              "min": 100,
              "max": 1000,
              "step": 100
            }
          }
        }
      }
    },
    {
      "name": "demo-matrix",
      "type": "registry:example",
      "title": "Matrix Demo",
      "description": "Interactive demo showcasing real-time clock, animation presets, VU meter, and a pixel draw pad.",
      "registryDependencies": [
        "@unlumen-ui/matrix"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/matrix/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-matrix-image",
      "type": "registry:example",
      "title": "Matrix Image Demo",
      "description": "Upload an image and render it as a grayscale LED dot matrix with adjustable resolution.",
      "registryDependencies": [
        "@unlumen-ui/matrix-image"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/matrix-image/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-matrix-image-to-frame",
      "type": "registry:example",
      "title": "Matrix Image to Frame",
      "description": "Upload an image and export it as a binary Frame (0s and 1s) for use with the Matrix component.",
      "registryDependencies": [
        "@unlumen-ui/matrix"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/matrix-image-to-frame/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-motion-faqs-accordion",
      "type": "registry:example",
      "title": "Motion FAQs Accordion Demo",
      "description": "5-item FAQ accordion with spring-animated content reveal.",
      "registryDependencies": [
        "@unlumen-ui/motion-faqs-accordion"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/motion-faqs-accordion/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-motion-navigation-menu",
      "type": "registry:example",
      "title": "Motion Navigation Menu Demo",
      "description": "Centered navigation menu with a single morphing container and direction-aware spring transitions.",
      "registryDependencies": [
        "@unlumen-ui/motion-navigation-menu"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/motion-navigation-menu/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "MotionNavigationMenuDemo": {}
        }
      }
    },
    {
      "name": "demo-motion-tabs-menu",
      "type": "registry:example",
      "title": "Motion Tabs Menu Demo",
      "description": "Expandable bottom tab bar with spring-animated content panels and direction-aware slide transitions.",
      "registryDependencies": [
        "@unlumen-ui/motion-tabs-menu"
      ],
      "files": [],
      "meta": {
        "demoProps": {
          "MotionTabsMenuDemo": {}
        },
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-nextjs-ship",
      "type": "registry:example",
      "title": "Next.js Ship Demo",
      "description": "Animated chip with gradient pulse circuit traces.",
      "registryDependencies": [
        "@unlumen-ui/nextjs-ship"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/nextjs-ship/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-orbital-image-wheel",
      "type": "registry:ui",
      "title": "Orbital Image Wheel Demo",
      "description": "Demo showing the Orbital Image Wheel component.",
      "registryDependencies": [
        "@unlumen-ui/orbital-image-wheel"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/orbital-image-wheel/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/demo/components/unlumen/orbital-image-wheel.tsx"
        }
      ]
    },
    {
      "name": "demo-orbiting-skills",
      "type": "registry:example",
      "title": "Orbiting Skills Demo",
      "description": "Demo showing skill badges orbiting a center avatar, with cursor-following on desktop and always-on mobile mode.",
      "registryDependencies": [
        "@unlumen-ui/orbiting-skills"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/orbiting-skills/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "OrbitingSkillsDemo": {
            "radius": {
              "value": 100,
              "min": 60,
              "max": 160,
              "step": 4
            },
            "duration": {
              "value": 18,
              "min": 5,
              "max": 40,
              "step": 1
            },
            "showPath": {
              "value": true
            },
            "followCursor": {
              "value": true
            }
          }
        }
      }
    },
    {
      "name": "demo-page-transition",
      "type": "registry:example",
      "title": "Page Transition Demo",
      "description": "Demo showing four fake pages cycling through curtain, slide, push, and fade transition variants.",
      "registryDependencies": [
        "@unlumen-ui/page-transition"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/page-transition/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-perspective-flow",
      "type": "registry:ui",
      "title": "Perspective Flow Demo",
      "description": "Demo showing the Perspective Flow component.",
      "registryDependencies": [
        "@unlumen-ui/perspective-flow"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/perspective-flow/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/demo/components/unlumen/perspective-flow.tsx"
        }
      ]
    },
    {
      "name": "demo-pinned-list",
      "type": "registry:example",
      "title": "Pinned List Demo",
      "description": "5-item list with smooth pin/unpin layout animations.",
      "registryDependencies": [
        "@unlumen-ui/pinned-list"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/pinned-list/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-progressive-blur",
      "type": "registry:example",
      "title": "Progressive Blur Demo",
      "description": "Scrollable content with progressive blur overlays at the top and bottom edges.",
      "registryDependencies": [
        "@unlumen-ui/progressive-blur"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/progressive-blur/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "ProgressiveBlurDemo": {
            "strength": {
              "value": 16,
              "min": 4,
              "max": 40,
              "step": 1
            },
            "size": {
              "value": "128px",
              "options": {
                "64px": "64px",
                "96px": "96px",
                "128px": "128px",
                "160px": "160px",
                "200px": "200px"
              }
            },
            "tint": {
              "value": true
            }
          }
        }
      }
    },
    {
      "name": "demo-scramble-text",
      "type": "registry:example",
      "title": "Scramble Text Demo",
      "description": "Interactive demo cycling through phrases with a character-scramble reveal animation.",
      "registryDependencies": [
        "@unlumen-ui/scramble-text"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/scramble-text/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-scroll-reveal-image",
      "type": "registry:example",
      "title": "Scroll Reveal Image Demo",
      "description": "Demo of the scroll-driven image reveal with spring physics.",
      "registryDependencies": [
        "@unlumen-ui/scroll-reveal-image"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/scroll-reveal-image/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-shimmer-skeleton",
      "type": "registry:example",
      "title": "Shimmer Skeleton Demo",
      "description": "Card-shaped skeleton layout with shimmer animation.",
      "registryDependencies": [
        "@unlumen-ui/shimmer-skeleton"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/shimmer-skeleton/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "ShimmerSkeletonDemo": {
            "animate": {
              "value": true
            }
          }
        }
      }
    },
    {
      "name": "demo-shimmering-text",
      "type": "registry:example",
      "title": "Shimmering Text Demo",
      "description": "Cycling shimmer text with AnimatePresence transitions.",
      "registryDependencies": [
        "@unlumen-ui/shimmering-text"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/shimmering-text/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-side-by-side-slide",
      "type": "registry:example",
      "title": "Side By Side Slide Demo",
      "description": "Image comparison slider showing before/after with configurable divider and handle.",
      "registryDependencies": [
        "@unlumen-ui/side-by-side-slide"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/side-by-side-slide/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "SideBySideSlideDemo": {
            "orientation": {
              "value": "horizontal",
              "options": {
                "Horizontal": "horizontal",
                "Vertical": "vertical"
              }
            },
            "initialPosition": {
              "value": 50,
              "min": 0,
              "max": 100,
              "step": 5
            },
            "dividerColor": {
              "value": "white",
              "options": {
                "White": "white",
                "Black": "black",
                "Blue": "#3b82f6",
                "Red": "#ef4444",
                "Green": "#22c55e",
                "Purple": "#a855f7",
                "Yellow": "#eab308"
              }
            },
            "dividerWidth": {
              "value": 2,
              "min": 1,
              "max": 10,
              "step": 1
            },
            "showHandle": {
              "value": true
            },
            "handleSize": {
              "value": 40,
              "min": 24,
              "max": 72,
              "step": 4
            },
            "handleColor": {
              "value": "white",
              "options": {
                "White": "white",
                "Black": "black",
                "Blue": "#3b82f6",
                "Red": "#ef4444",
                "Green": "#22c55e",
                "Purple": "#a855f7",
                "Yellow": "#eab308"
              }
            },
            "cursor": {
              "value": "none",
              "options": {
                "Hidden": "none",
                "Resize": "col-resize",
                "Pointer": "pointer"
              }
            },
            "stiffness": {
              "value": 300,
              "min": 50,
              "max": 600,
              "step": 25
            },
            "damping": {
              "value": 30,
              "min": 5,
              "max": 80,
              "step": 5
            }
          }
        }
      }
    },
    {
      "name": "demo-sidebar-001",
      "type": "registry:example",
      "title": "Sidebar 001 Demo",
      "description": "Demo showing the Sidebar 001 animated vertical sidebar.",
      "registryDependencies": [
        "@unlumen-ui/sidebar-001"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/sidebar-001/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-sidebar-002",
      "type": "registry:example",
      "title": "Sidebar 002 Demo",
      "description": "Demo showing the Sidebar 002 slide-in overlay sidebar.",
      "registryDependencies": [
        "@unlumen-ui/sidebar-002"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-slider",
      "type": "registry:example",
      "title": "Slider Demo",
      "description": "Three sliders showing volume, brightness and opacity controls with click-to-edit values.",
      "registryDependencies": [
        "@unlumen-ui/slider"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/slider/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "SliderDemo": {
            "showValue": {
              "value": true
            },
            "showSteps": {
              "value": false
            },
            "valuePosition": {
              "value": "bottom",
              "options": {
                "Top": "top",
                "Bottom": "bottom",
                "Left": "left",
                "Right": "right",
                "Tooltip": "tooltip"
              }
            }
          }
        }
      }
    },
    {
      "name": "demo-slider-range",
      "type": "registry:example",
      "title": "Slider Range Demo",
      "description": "Range sliders for price, temperature and year selection with dual spring-snapped thumbs.",
      "registryDependencies": [
        "@unlumen-ui/slider"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/slider-range/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "SliderRangeDemo": {
            "showValue": {
              "value": true
            }
          }
        }
      }
    },
    {
      "name": "demo-slider-steps",
      "type": "registry:example",
      "title": "Slider Steps Demo",
      "description": "Sliders with visible step dots for rating, quality and zoom level selection.",
      "registryDependencies": [
        "@unlumen-ui/slider"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/slider-steps/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "SliderStepsDemo": {
            "showValue": {
              "value": true
            }
          }
        }
      }
    },
    {
      "name": "demo-smart-animate-text",
      "type": "registry:example",
      "title": "Smart Animate Text Demo",
      "description": "Stepped add and subtract demo showcasing direct per-character blur-slide animation.",
      "registryDependencies": [
        "@unlumen-ui/smart-animate-text"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-stacked-feature-cards",
      "type": "registry:example",
      "title": "Stacked Feature Cards Demo",
      "description": "Coffee brand demo with a sticky hero card and five rotating feature cards.",
      "registryDependencies": [
        "@unlumen-ui/stacked-feature-cards"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-switch",
      "type": "registry:example",
      "title": "Switch Demo",
      "description": "Four labeled toggle switches showing common settings controls.",
      "registryDependencies": [
        "@unlumen-ui/switch"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/switch/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "SwitchDemo": {
            "labelSide": {
              "value": "right",
              "options": {
                "Left": "left",
                "Right": "right"
              }
            }
          }
        }
      }
    },
    {
      "name": "demo-tag",
      "type": "registry:example",
      "title": "Tag Demo",
      "description": "A vertical stack of outlined icon tags using the six built-in color variants.",
      "registryDependencies": [
        "@unlumen-ui/tag"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/tag/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-team-stack",
      "type": "registry:example",
      "title": "Team Stack Demo",
      "description": "A stacked deck of team member cards that fans out on hover, each with a spring-animated CTA pill.",
      "registryDependencies": [
        "@unlumen-ui/team-stack"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-text-reveal",
      "type": "registry:example",
      "title": "Text Reveal Demo",
      "description": "Word-by-word and character-by-character scroll-driven text reveal.",
      "registryDependencies": [
        "@unlumen-ui/text-reveal"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/text-reveal/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "TextRevealDemo": {
            "splitBy": {
              "value": "words",
              "options": {
                "Words": "words",
                "Characters": "characters"
              }
            },
            "staggerDelay": {
              "value": 0.05,
              "min": 0.01,
              "max": 0.2,
              "step": 0.01
            },
            "duration": {
              "value": 0.5,
              "min": 0.1,
              "max": 2,
              "step": 0.1
            },
            "once": {
              "value": true
            }
          }
        }
      }
    },
    {
      "name": "demo-theme-switch",
      "type": "registry:example",
      "title": "Theme Switch Demo",
      "description": "Animated dark/light mode toggle with spring icon transitions.",
      "registryDependencies": [
        "@unlumen-ui/theme-switch"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/theme-switch/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "ThemeSwitchDemo": {
            "iconSize": {
              "value": 16,
              "min": 12,
              "max": 24,
              "step": 2
            }
          }
        }
      }
    },
    {
      "name": "demo-tilt-card",
      "type": "registry:example",
      "title": "Tilt Card Demo",
      "description": "Three tilt cards showcasing badge variants, floating image and custom children.",
      "registryDependencies": [
        "@unlumen-ui/tilt-card"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/tilt-card/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "TiltCardDemo": {
            "rotationFactor": {
              "value": 11,
              "min": 2,
              "max": 30,
              "step": 1
            },
            "badgeVariant": {
              "value": "success",
              "options": {
                "Success": "success",
                "Warning": "warning"
              }
            }
          }
        }
      }
    },
    {
      "name": "demo-tooltip-preview",
      "type": "registry:example",
      "title": "Tooltip Preview Demo",
      "description": "Links showing website preview cards on hover.",
      "registryDependencies": [
        "@unlumen-ui/tooltip-preview"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/tooltip-preview/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-vercel-snap-text",
      "type": "registry:example",
      "title": "Vercel Snap Text Demo",
      "description": "Six items cycling with 'We Design' prefix — scroll to snap between them.",
      "registryDependencies": [
        "@unlumen-ui/vercel-snap-text"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-vertical-marquee",
      "type": "registry:example",
      "title": "Vertical Marquee Demo",
      "description": "Two-column vertical tweet marquee scrolling in opposite directions with progressive fade edges.",
      "registryDependencies": [
        "@unlumen-ui/vertical-marquee"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/vertical-marquee/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "VerticalMarqueeDemo": {}
        }
      }
    },
    {
      "name": "demo-video-ambient",
      "type": "registry:example",
      "registryDependencies": [
        "video-ambient"
      ],
      "files": [
        {
          "path": "registry/demo/components/unlumen/video-ambient/index.tsx",
          "type": "registry:example"
        }
      ]
    },
    {
      "name": "demo-video-slider",
      "type": "registry:example",
      "registryDependencies": [
        "video-slider"
      ],
      "files": [],
      "meta": {
        "premium": true,
        "requiresAuth": "Bearer token required. Set UNLUMEN_LICENSE_KEY in .env.local and configure components.json. See https://ui.unlumen.com/docs/mcp"
      }
    },
    {
      "name": "demo-primitives-effects-highlight",
      "type": "registry:example",
      "title": "Highlight Demo",
      "description": "Interactive highlight effect with smooth spring animations.",
      "registryDependencies": [
        "@unlumen-ui/highlight"
      ],
      "files": [
        {
          "path": "registry/demo/primitives/effects/highlight/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "HighlightDemo": {
            "hover": {
              "value": true,
              "type": "boolean"
            }
          }
        }
      }
    },
    {
      "name": "demo-primitives-effects-velocity-highlight",
      "type": "registry:example",
      "title": "Velocity Highlight Demo",
      "description": "Interactive highlight with velocity-based scaling effects.",
      "registryDependencies": [
        "@unlumen-ui/primitives-effects-velocity-highlight"
      ],
      "files": [
        {
          "path": "registry/demo/primitives/effects/velocity-highlight/index.tsx",
          "type": "registry:example"
        }
      ],
      "meta": {
        "demoProps": {
          "VelocityHighlightDemo": {
            "hover": {
              "value": true,
              "type": "boolean"
            }
          }
        }
      }
    },
    {
      "name": "hooks-use-auto-height",
      "type": "registry:hook",
      "title": "useAutoHeight",
      "description": "A hook that allows you to automatically adjust the height of an element based on its content.",
      "files": [
        {
          "path": "registry/hooks/use-auto-height/index.tsx",
          "type": "registry:hook",
          "target": "hooks/use-auto-height.tsx"
        }
      ]
    },
    {
      "name": "hooks-use-controlled-state",
      "type": "registry:hook",
      "title": "useControlledState",
      "description": "A hook that allows you to control a state.",
      "files": [
        {
          "path": "registry/hooks/use-controlled-state/index.tsx",
          "type": "registry:hook",
          "target": "hooks/use-controlled-state.tsx"
        }
      ]
    },
    {
      "name": "hooks-use-data-state",
      "type": "registry:hook",
      "title": "useDataState",
      "description": "A hook that allows you to get the data-state of an element.",
      "files": [
        {
          "path": "registry/hooks/use-data-state/index.tsx",
          "type": "registry:hook",
          "target": "hooks/use-data-state.tsx"
        }
      ]
    },
    {
      "name": "hooks-use-is-in-view",
      "type": "registry:hook",
      "title": "useIsInView",
      "description": "A hook that allows you to check if an element is in view.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/hooks/use-is-in-view/index.tsx",
          "type": "registry:hook",
          "target": "hooks/use-is-in-view.tsx"
        }
      ]
    },
    {
      "name": "hooks-use-motion-value-state",
      "type": "registry:hook",
      "title": "useMotionValueState",
      "description": "A hook that allows you to use a motion value state.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/hooks/use-motion-value-state/index.tsx",
          "type": "registry:hook",
          "target": "hooks/use-motion-value-state.tsx"
        }
      ]
    },
    {
      "name": "lib-get-strict-context",
      "type": "registry:lib",
      "title": "getStrictContext",
      "description": "A hook that allows you to create a strict context.",
      "files": [
        {
          "path": "registry/lib/get-strict-context/index.tsx",
          "type": "registry:lib",
          "target": "lib/get-strict-context.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-avatar-group",
      "type": "registry:ui",
      "title": "Avatar Group",
      "description": "An animated avatar group that displays overlapping user images and smoothly shifts each avatar forward on hover to highlight it.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-tooltip"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/avatar-group/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/avatar-group.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-code-block",
      "type": "registry:ui",
      "title": "Code Block",
      "description": "A code block component that animates the code as it is written.",
      "dependencies": [
        "shiki"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/code-block/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/code-block.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-cursor",
      "type": "registry:ui",
      "title": "Cursor",
      "description": "An animated cursor component that allows you to customize both the cursor and cursor follow elements with smooth animations.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/cursor/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/cursor.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-files",
      "type": "registry:ui",
      "title": "Files",
      "description": "Animated file-tree primitives with motion hover highlight, spring folder expand/collapse, and animated folder icon swap.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/files/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/files.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-github-stars",
      "type": "registry:ui",
      "title": "Github Stars",
      "description": "A component that animates a number of stars, smoothly animating number transitions using the SlidingNumber component.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/primitives-texts-sliding-number",
        "@unlumen-ui/primitives-effects-particles",
        "@unlumen-ui/hooks-use-is-in-view",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/github-stars/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/github-stars.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-motion-grid",
      "type": "registry:ui",
      "title": "Motion Grid",
      "description": "A grid that displays animations in a grid.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/motion-grid/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/motion-grid.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-pinned-list",
      "type": "registry:ui",
      "title": "Pin List",
      "description": "A pin list component that allows you to pin items to the top of the list.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/pinned-list/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/pinned-list.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-scroll-progress",
      "type": "registry:ui",
      "title": "Scroll Progress",
      "description": "A scroll progress component that allows you to track the progress of a scrollable element.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/lib-get-strict-context",
        "@unlumen-ui/hooks-use-motion-value-state"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/scroll-progress/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/scroll-progress.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-slot",
      "type": "registry:ui",
      "title": "Animate Slot",
      "description": "A slot component that allows you to use motion components with any element.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/slot/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/slot.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-spring",
      "type": "registry:ui",
      "title": "Spring",
      "description": "A flexible, animated spring component that attaches a draggable element to its origin with a spring line.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/lib-get-strict-context",
        "@unlumen-ui/hooks-use-motion-value-state"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/spring/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/spring.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "A set of layered sections of content—known as tab panels—that are displayed one at a time.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/highlight",
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/tabs/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/tabs.tsx"
        }
      ]
    },
    {
      "name": "primitives-animate-tooltip",
      "type": "registry:ui",
      "title": "Tooltip",
      "description": "An animated tooltip that shows contextual info on hover or focus and smoothly glides to the next element without disappearing between transitions.",
      "dependencies": [
        "motion",
        "@floating-ui/react"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/animate/tooltip/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/animate/tooltip.tsx"
        }
      ]
    },
    {
      "name": "primitives-buttons-button",
      "type": "registry:ui",
      "title": "Button",
      "description": "A simple button that animates on hover and tap.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot"
      ],
      "files": [
        {
          "path": "registry/primitives/buttons/button/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/buttons/button.tsx"
        }
      ]
    },
    {
      "name": "primitives-buttons-flip",
      "type": "registry:ui",
      "title": "Flip Button",
      "description": "A button that flips between two states on hover.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/lib-get-strict-context",
        "@unlumen-ui/primitives-animate-slot"
      ],
      "files": [
        {
          "path": "registry/primitives/buttons/flip/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/buttons/flip.tsx"
        }
      ]
    },
    {
      "name": "primitives-buttons-liquid",
      "type": "registry:ui",
      "title": "Liquid Button",
      "description": "A button that fills on hover.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/lib-get-strict-context",
        "@unlumen-ui/primitives-animate-slot"
      ],
      "files": [
        {
          "path": "registry/primitives/buttons/liquid/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/buttons/liquid.tsx"
        }
      ]
    },
    {
      "name": "primitives-buttons-ripple",
      "type": "registry:ui",
      "title": "Ripple Button",
      "description": "A button that animates on tap with a ripple effect.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/lib-get-strict-context",
        "@unlumen-ui/primitives-animate-slot"
      ],
      "files": [
        {
          "path": "registry/primitives/buttons/ripple/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/buttons/ripple.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-auto-height",
      "type": "registry:ui",
      "title": "Auto Height",
      "description": "An effect that automatically adjusts the height of an element based on its content.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/hooks-use-auto-height"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/auto-height/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/auto-height.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-blur",
      "type": "registry:ui",
      "title": "Blur",
      "description": "An effect that allows you to animate elements with a blur effect on first view or load.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/blur/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/blur.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-click",
      "type": "registry:ui",
      "title": "Click",
      "description": "An effect that creates animated effects at the click position, adding interactive feedback to user actions.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/click/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/click.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-effect",
      "type": "registry:ui",
      "title": "Effect",
      "description": "An effect that allows you to animate elements on first view or load.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/effect/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/effect.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-fade",
      "type": "registry:ui",
      "title": "Fade",
      "description": "An effect that allows you to animate elements with a fade effect on first view or load.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/fade/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/fade.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-highlight-nav-menu",
      "type": "registry:ui",
      "title": "Highlight Nav Menu",
      "description": "A Radix UI NavigationMenu with animated highlight hover effects built in.",
      "dependencies": [
        "@radix-ui/react-navigation-menu",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@unlumen-ui/highlight"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/highlight-nav-menu/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/highlight-nav-menu.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-image-zoom",
      "type": "registry:ui",
      "title": "Image Zoom",
      "description": "An effect that allows you to zoom in on an image on hover.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/image-zoom/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/image-zoom.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-magnetic",
      "type": "registry:ui",
      "title": "Magnetic",
      "description": "A magnetic effect that clings to the cursor, creating a magnetic attraction effect.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/magnetic/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/magnetic.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-particles",
      "type": "registry:ui",
      "title": "Particles",
      "description": "A particles effect that creates a particle system.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/hooks-use-is-in-view",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/particles/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/particles.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-shine",
      "type": "registry:ui",
      "title": "Shine",
      "description": "An animated light sweep effect with configurable timing, colors, and triggers (hover, tap, or continuous).",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/shine/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/shine.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-slide",
      "type": "registry:ui",
      "title": "Slide",
      "description": "An effect that allows you to animate elements with a slide effect on first view or load.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/slide/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/slide.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-theme-toggler",
      "type": "registry:ui",
      "title": "Theme Toggler",
      "description": "An effect that allows you to toggle the theme gradually.",
      "files": [
        {
          "path": "registry/primitives/effects/theme-toggler/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/theme-toggler.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-tilt",
      "type": "registry:ui",
      "title": "Tilt",
      "description": "An effect that allows you to animate elements with a tilt effect on mouse hover.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/tilt/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/tilt.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-velocity-highlight",
      "type": "registry:ui",
      "title": "Velocity Highlight",
      "description": "A highlight effect with smooth spring physics that tracks the active element across hover or click interactions.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/velocity-highlight/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/velocity-highlight.tsx"
        }
      ]
    },
    {
      "name": "primitives-effects-zoom",
      "type": "registry:ui",
      "title": "Zoom",
      "description": "An effect that allows you to animate elements with a zoom effect on first view or load.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/primitives-animate-slot",
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/effects/zoom/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/effects/zoom.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-counting-number",
      "type": "registry:ui",
      "title": "Counting Number",
      "description": "A counting number animation.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/counting-number/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/counting-number.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-gradient",
      "type": "registry:ui",
      "title": "Gradient Text",
      "description": "A gradient text animation.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/gradient/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/gradient.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-highlight",
      "type": "registry:ui",
      "title": "Highlight Text",
      "description": "A highlight text animation.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/highlight/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/highlight.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-morphing",
      "type": "registry:ui",
      "title": "Morphing Text",
      "description": "A text component that smoothly morphs characters to transition between strings.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/morphing/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/morphing.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-rolling",
      "type": "registry:ui",
      "title": "Rolling Text",
      "description": "A rolling text animation.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/rolling/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/rolling.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-rotating",
      "type": "registry:ui",
      "title": "Rotating Text",
      "description": "A rotating text animation.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/rotating/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/rotating.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-scrolling-number",
      "type": "registry:ui",
      "title": "Scrolling Number",
      "description": "A scrolling number animation.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/scrolling-number/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/scrolling-number.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-shimmering",
      "type": "registry:ui",
      "title": "Shimmering Text",
      "description": "A shimmering text animation.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/shimmering/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/shimmering.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-sliding-number",
      "type": "registry:ui",
      "title": "Sliding Number",
      "description": "A sliding number animation.",
      "dependencies": [
        "motion",
        "react-use-measure"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/sliding-number/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/sliding-number.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-splitting",
      "type": "registry:ui",
      "title": "Splitting Text",
      "description": "A splitting text animation.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/splitting/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/splitting.tsx"
        }
      ]
    },
    {
      "name": "primitives-texts-typing",
      "type": "registry:ui",
      "title": "Typing Text",
      "description": "A typing text animation.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "@unlumen-ui/hooks-use-is-in-view",
        "@unlumen-ui/lib-get-strict-context"
      ],
      "files": [
        {
          "path": "registry/primitives/texts/typing/index.tsx",
          "type": "registry:ui",
          "target": "components/unlumen-ui/primitives/texts/typing.tsx"
        }
      ]
    }
  ]
}