{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "devclubnst",
  "homepage": "https://ui.devclubxnst.com",
  "items": [
    {
      "name": "access-request",
      "type": "registry:ui",
      "title": "Access Request",
      "description": "A compact avatar pill that unfolds into access requests with shared avatar motion, individual approve and decline actions, and coordinated spring reflow.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "motion",
        "lucide-react",
        "@radix-ui/react-avatar",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils",
        "avatar"
      ],
      "files": [
        {
          "path": "src/registry/ui/access-request.tsx",
          "type": "registry:ui",
          "target": "@ui/access-request.tsx"
        },
        {
          "path": "src/registry/ui/access-request-row.tsx",
          "type": "registry:ui",
          "target": "@ui/access-request-row.tsx"
        },
        {
          "path": "src/registry/ui/access-request-state.ts",
          "type": "registry:ui",
          "target": "@ui/access-request-state.ts"
        },
        {
          "path": "src/registry/ui/use-access-request-motion.ts",
          "type": "registry:ui",
          "target": "@ui/use-access-request-motion.ts"
        },
        {
          "path": "src/lib/use-media-query.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "accordion",
      "type": "registry:ui",
      "title": "Blur Reveal Accordion",
      "description": "Interactive accordion with synchronized height expansion and smooth letter-by-letter blur text reveals.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/accordion.tsx",
          "type": "registry:ui",
          "target": "@ui/accordion.tsx"
        }
      ]
    },
    {
      "name": "ai-input",
      "type": "registry:ui",
      "title": "AI Input",
      "description": "Ultra-smooth expandable AI prompt composer with model selection, effort control, attachments tray, and voice visualizer.",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/ai-input.tsx",
          "type": "registry:ui",
          "target": "@ui/ai-input.tsx"
        }
      ]
    },
    {
      "name": "ai-orb",
      "type": "registry:ui",
      "title": "AI Orb",
      "description": "Luminescent AI generation sphere with native WebGL Bayer 8x8 dithered plasma and animated letter wave typography.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://ui.devclubxnst.com/r/dither.json"
      ],
      "files": [
        {
          "path": "src/registry/ui/ai-orb.tsx",
          "type": "registry:ui",
          "target": "@ui/ai-orb.tsx"
        }
      ]
    },
    {
      "name": "animated-button",
      "type": "registry:ui",
      "title": "Animated Button",
      "description": "Multi-variant interactive button with shimmering effects and micro-interactions.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "@radix-ui/react-icons"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/animated-button.tsx",
          "type": "registry:ui",
          "target": "@ui/animated-button.tsx"
        }
      ]
    },
    {
      "name": "animated-counter",
      "type": "registry:ui",
      "title": "Animated Counter",
      "description": "Rolling drum counter with spring physics, number grouping and prefix/suffix slots.",
      "dependencies": [
        "motion",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/animated-counter.tsx",
          "type": "registry:ui",
          "target": "@ui/animated-counter.tsx"
        }
      ]
    },
    {
      "name": "ascii-hover-button",
      "type": "registry:ui",
      "title": "ASCII Hover Button",
      "description": "Button with color transitions and an ASCII character scramble on hover.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/ascii-hover-button.tsx",
          "type": "registry:ui",
          "target": "@ui/ascii-hover-button.tsx"
        }
      ]
    },
    {
      "name": "calendar-card",
      "type": "registry:ui",
      "title": "Calendar Card",
      "description": "A tactile calendar with animated date selection, event dots, hover event popups and an optional event creation form.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "lucide-react",
        "@radix-ui/react-dialog"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/calendar-card.tsx",
          "type": "registry:ui",
          "target": "@ui/calendar-card.tsx"
        }
      ]
    },
    {
      "name": "candlestick-chart",
      "type": "registry:ui",
      "title": "Candlestick Chart",
      "description": "An interactive OHLC chart with volume, candle pinning, time ranges, and price-change measurements.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/candlestick-chart.tsx",
          "type": "registry:ui",
          "target": "@ui/candlestick-chart.tsx"
        },
        {
          "path": "src/lib/utils.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "candy-button",
      "type": "registry:ui",
      "title": "Candy Button",
      "description": "Tactile glossy button with specular reflection highlights, multi-layer depth shadows, and full color customization.",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/candy-button.tsx",
          "type": "registry:ui",
          "target": "@ui/candy-button.tsx"
        }
      ]
    },
    {
      "name": "code-block",
      "type": "registry:ui",
      "title": "Code Block",
      "description": "Minimal syntax-highlighted code block with line numbers, copy action, and accent color customization.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "@radix-ui/react-icons"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/code-block.tsx",
          "type": "registry:ui",
          "target": "@ui/code-block.tsx"
        }
      ]
    },
    {
      "name": "confirm-morph",
      "type": "registry:ui",
      "title": "Confirm Morph",
      "description": "Adaptive inline confirmation button that morphs into question, spinner, success with undo, and error with retry.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/confirm-morph.tsx",
          "type": "registry:ui",
          "target": "@ui/confirm-morph.tsx"
        },
        {
          "path": "src/registry/ui/delete-selection.tsx",
          "type": "registry:ui",
          "target": "@ui/delete-selection.tsx"
        }
      ]
    },
    {
      "name": "cursor-trail-loader",
      "type": "registry:ui",
      "title": "Cursor Trail Loader",
      "description": "A rolling loading counter with a cursor-driven image trail and a smooth upward content reveal.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "motion",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils",
        "https://ui.devclubxnst.com/r/animated-counter.json"
      ],
      "files": [
        {
          "path": "src/registry/ui/cursor-trail-loader.tsx",
          "type": "registry:ui",
          "target": "@ui/cursor-trail-loader.tsx"
        }
      ]
    },
    {
      "name": "curtain-navbar",
      "type": "registry:ui",
      "title": "Curtain Navbar",
      "description": "A floating glass header opens into a full-screen color curtain with oversized condensed links and synchronized hover details.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "@radix-ui/react-dialog",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils",
        "https://ui.devclubxnst.com/r/ascii-hover-button.json"
      ],
      "files": [
        {
          "path": "src/registry/ui/curtain-navbar.tsx",
          "type": "registry:ui",
          "target": "@ui/curtain-navbar.tsx"
        }
      ]
    },
    {
      "name": "curved-navbar",
      "type": "registry:ui",
      "title": "Curved Navbar",
      "description": "A curved, responsive navbar that smoothly expands into a three-column navigation panel on hover or click.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/curved-navbar.tsx",
          "type": "registry:ui",
          "target": "@ui/curved-navbar.tsx"
        }
      ]
    },
    {
      "name": "date-range-picker",
      "type": "registry:ui",
      "title": "Date Range Picker",
      "description": "Date range picker calendar with dual-month navigation, a quick presets rail, range capsules and rolling label animations.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/date-range-picker.tsx",
          "type": "registry:ui",
          "target": "@ui/date-range-picker.tsx"
        }
      ]
    },
    {
      "name": "dither",
      "type": "registry:ui",
      "title": "Dither",
      "description": "WebGL gradient shader with fluid warping, noise-driven rotation and optional animated grain.",
      "dependencies": [
        "ogl"
      ],
      "files": [
        {
          "path": "src/registry/ui/dither.tsx",
          "type": "registry:ui",
          "target": "@ui/dither.tsx"
        }
      ]
    },
    {
      "name": "dotted-accordion",
      "type": "registry:ui",
      "title": "Dotted Accordion",
      "description": "Rectangular architectural accordion with contiguous flush items and continuous dotted crosshair guidelines exceeding bounds with smooth gradient masks.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/dotted-accordion.tsx",
          "type": "registry:ui",
          "target": "@ui/dotted-accordion.tsx"
        }
      ]
    },
    {
      "name": "editor",
      "type": "registry:ui",
      "title": "Selection AI Editor",
      "description": "Contextual floating AI toolbar and formatting bar that anchors to text selections, with simulated multi-stage reasoning, word-by-word answer reveal and inline editing.",
      "dependencies": [
        "motion",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/editor.tsx",
          "type": "registry:ui",
          "target": "@ui/editor.tsx"
        },
        {
          "path": "src/components/ui/editor-orb.tsx",
          "type": "registry:ui",
          "target": "@ui/editor-orb.tsx"
        },
        {
          "path": "src/components/ui/streaming-text.tsx",
          "type": "registry:ui",
          "target": "@ui/streaming-text.tsx"
        },
        {
          "path": "src/components/ui/text-shimmer.tsx",
          "type": "registry:ui",
          "target": "@ui/text-shimmer.tsx"
        }
      ]
    },
    {
      "name": "file-dropzone",
      "type": "registry:ui",
      "title": "File Dropzone",
      "description": "Drag-and-drop file dropzone with a fanned sheets illustration, drag state styling and animated file lifecycle rows.",
      "dependencies": [
        "motion",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/file-dropzone.tsx",
          "type": "registry:ui",
          "target": "@ui/file-dropzone.tsx"
        },
        {
          "path": "src/lib/motion-tokens.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "file-tree",
      "type": "registry:ui",
      "title": "File Tree",
      "description": "Smooth, interactive file tree component with guide lines, nested folder expansion, selection, and keyboard navigation.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/file-tree.tsx",
          "type": "registry:ui",
          "target": "@ui/file-tree.tsx"
        }
      ]
    },
    {
      "name": "file-upload",
      "type": "registry:ui",
      "title": "File Upload",
      "description": "Accessible drag-and-drop file uploader with an animated folder and per-file progress states.",
      "dependencies": [
        "@gsap/react",
        "gsap",
        "@radix-ui/react-slot",
        "class-variance-authority",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils",
        "button"
      ],
      "files": [
        {
          "path": "src/registry/ui/file-upload.tsx",
          "type": "registry:ui",
          "target": "@ui/file-upload.tsx"
        }
      ]
    },
    {
      "name": "flip-clock",
      "type": "registry:ui",
      "title": "Flip Clock",
      "description": "A realistic hinged flip clock and countdown with smooth 3D motion, moving shadows, and configurable time displays.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/flip-clock.tsx",
          "type": "registry:ui",
          "target": "@ui/flip-clock.tsx"
        },
        {
          "path": "src/registry/ui/use-time-source.ts",
          "type": "registry:ui",
          "target": "@ui/use-time-source.ts"
        }
      ]
    },
    {
      "name": "focus-testimonials",
      "type": "registry:ui",
      "title": "Focus Testimonials",
      "description": "Fluid paragraph testimonials featuring inline avatars, cursor-tracking spring physics author tooltip, and dynamic selective blur focus on hover.",
      "dependencies": [
        "motion",
        "clsx",
        "tailwind-merge",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/focus-testimonials.tsx",
          "type": "registry:ui",
          "target": "@ui/focus-testimonials.tsx"
        }
      ]
    },
    {
      "name": "fullscreen-navbar",
      "type": "registry:ui",
      "title": "Fullscreen Navbar",
      "description": "An editorial fullscreen navbar with numbered navigation, smooth dropdowns, spring-driven link entrances, and a Dev Club spotlight panel.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "@radix-ui/react-dialog",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/fullscreen-navbar.tsx",
          "type": "registry:ui",
          "target": "@ui/fullscreen-navbar.tsx"
        }
      ]
    },
    {
      "name": "github-activity",
      "type": "registry:ui",
      "title": "GitHub Activity",
      "description": "A glass-style contribution heatmap with hover tooltips, three color variants and an activity legend.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/github-activity.tsx",
          "type": "registry:ui",
          "target": "@ui/github-activity.tsx"
        }
      ]
    },
    {
      "name": "gooey-nav",
      "type": "registry:ui",
      "title": "Gooey Nav",
      "description": "Segmented tab navigation with dynamic organic bezier neck stretching and corner radius morphing.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion",
        "next"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/gooey-nav.tsx",
          "type": "registry:ui",
          "target": "@ui/gooey-nav.tsx"
        }
      ]
    },
    {
      "name": "grid-image-loader",
      "type": "registry:ui",
      "title": "Grid Image Loader",
      "description": "A dark grid loader with smooth cycling phrases, images on cursor hover, and an upward content reveal.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "motion",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "https://ui.devclubxnst.com/r/cursor-trail-loader.json",
        "https://ui.devclubxnst.com/r/animated-counter.json"
      ],
      "files": [
        {
          "path": "src/registry/ui/grid-image-loader.tsx",
          "type": "registry:ui",
          "target": "@ui/grid-image-loader.tsx"
        }
      ]
    },
    {
      "name": "hook-sidebar",
      "type": "registry:ui",
      "title": "Hook Sidebar",
      "description": "Collapsible navigation sidebar with animated traveling spring rail and curved elbow hook.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion",
        "next"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/hook-sidebar.tsx",
          "type": "registry:ui",
          "target": "@ui/hook-sidebar.tsx"
        }
      ]
    },
    {
      "name": "image-loader",
      "type": "registry:ui",
      "title": "Image Loader",
      "description": "A centered image sequence with smooth crossfades and a final image that expands to fill the frame.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/image-loader.tsx",
          "type": "registry:ui",
          "target": "@ui/image-loader.tsx"
        }
      ]
    },
    {
      "name": "liquid-media",
      "type": "registry:ui",
      "title": "Liquid Media",
      "description": "Interactive WebGL fluid ripple distortion effect for images and videos with responsive cursor displacement.",
      "dependencies": [
        "three",
        "@react-three/fiber",
        "@react-three/drei",
        "@react-three/postprocessing",
        "motion"
      ],
      "devDependencies": [
        "@types/three"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/liquid-media.tsx",
          "type": "registry:ui",
          "target": "@ui/liquid-media.tsx"
        }
      ]
    },
    {
      "name": "liquid-toggle",
      "type": "registry:ui",
      "title": "Liquid Toggle",
      "description": "Organic liquid goo physics switch with fluid meta-ball fusion and spring dynamics.",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/liquid-toggle.tsx",
          "type": "registry:ui",
          "target": "@ui/liquid-toggle.tsx"
        }
      ]
    },
    {
      "name": "loader",
      "type": "registry:ui",
      "title": "Loader",
      "description": "A cinematic loader with a traveling numeric counter and a smooth staggered curtain reveal.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/loader.tsx",
          "type": "registry:ui",
          "target": "@ui/loader.tsx"
        }
      ]
    },
    {
      "name": "mac-slider",
      "type": "registry:ui",
      "title": "Mac Slider",
      "description": "Liquid glass slider with squircle normal map refraction, specular rim sheen, and tactile spring physics.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/mac-slider.tsx",
          "type": "registry:ui",
          "target": "@ui/mac-slider.tsx"
        }
      ]
    },
    {
      "name": "mac-switch",
      "type": "registry:ui",
      "title": "Mac Switch",
      "description": "Apple-inspired macOS liquid glass switch with refractive lip bezel optics, spring-loaded tactile thumb kinematics, and customizable color themes.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/mac-switch.tsx",
          "type": "registry:ui",
          "target": "@ui/mac-switch.tsx"
        }
      ]
    },
    {
      "name": "matrix-clock",
      "type": "registry:ui",
      "title": "Matrix Clock",
      "description": "A synchronized dot-matrix world clock with a smooth scramble reveal and live India time.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/matrix-clock.tsx",
          "type": "registry:ui",
          "target": "@ui/matrix-clock.tsx"
        },
        {
          "path": "src/registry/ui/use-time-source.ts",
          "type": "registry:ui",
          "target": "@ui/use-time-source.ts"
        }
      ]
    },
    {
      "name": "morph-invite",
      "type": "registry:ui",
      "title": "Morph Invite",
      "description": "An avatar invite pill that expands into an email field with coordinated GSAP spring motion.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "motion",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/morph-invite.tsx",
          "type": "registry:ui",
          "target": "@ui/morph-invite.tsx"
        }
      ]
    },
    {
      "name": "morph-search",
      "type": "registry:ui",
      "title": "Morph Search",
      "description": "Adaptive morphing search bar with cycling placeholder, spring physics, and intent card morphs.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/morph-search.tsx",
          "type": "registry:ui",
          "target": "@ui/morph-search.tsx"
        }
      ]
    },
    {
      "name": "noise",
      "type": "registry:ui",
      "title": "Noise Background",
      "description": "High-performance procedural grain noise background with CRT static, film dust, vignette, and scanlines.",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/noise.tsx",
          "type": "registry:ui",
          "target": "@ui/noise.tsx"
        }
      ]
    },
    {
      "name": "orb",
      "type": "registry:ui",
      "title": "Thinking Orb",
      "description": "Interactive 2D dotted thought-orb indicator with 9 animated AI states and tactile click cycling.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "thinking-orbs",
        "next"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/orb.tsx",
          "type": "registry:ui",
          "target": "@ui/orb.tsx"
        }
      ]
    },
    {
      "name": "orbit-gallery",
      "type": "registry:ui",
      "title": "Orbit Gallery",
      "description": "A smooth, interactive photo gallery arranged in concentric rings with synchronized scrolling, dragging, hover and image expansion.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "@radix-ui/react-dialog",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/base/orbit-gallery/orbit-gallery.tsx",
          "type": "registry:ui",
          "target": "@ui/orbit-gallery.tsx"
        }
      ]
    },
    {
      "name": "otp-input",
      "type": "registry:ui",
      "title": "OTP Input",
      "description": "Ultra-smooth physics-based one-time password input with rolling character tumblers, sliding focus halo, kinetic caret stretching, and celebration choreography.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/otp-input.tsx",
          "type": "registry:ui",
          "target": "@ui/otp-input.tsx"
        }
      ]
    },
    {
      "name": "parallax-strip-transition",
      "type": "registry:ui",
      "title": "Parallax Strip Transition",
      "description": "Full-bleed image scenes with directional strip reveals, a soft parallax zoom, and a smoothly rolling numeric counter.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/parallax-strip-transition.tsx",
          "type": "registry:ui",
          "target": "@ui/parallax-strip-transition.tsx"
        }
      ]
    },
    {
      "name": "pixel-card",
      "type": "registry:ui",
      "title": "Pixel Card",
      "description": "Interactive card with synchronized harmonic pixel matrix, cursor proximity excitation, and 3D perspective tilt.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "gsap",
        "@gsap/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/pixel-card.tsx",
          "type": "registry:ui",
          "target": "@ui/pixel-card.tsx"
        }
      ]
    },
    {
      "name": "profile-menu",
      "type": "registry:ui",
      "title": "Profile Menu",
      "description": "Tactile profile pill command menu with cycling status ticker, keyboard navigation, theme switcher, and smooth gliding highlight.",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/profile-menu.tsx",
          "type": "registry:ui",
          "target": "@ui/profile-menu.tsx"
        }
      ]
    },
    {
      "name": "project-reveal",
      "type": "registry:ui",
      "title": "Project Reveal",
      "description": "A compact project list that smoothly expands each row into an image-led detail card with configurable GSAP spring motion.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "@radix-ui/react-dialog",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/project-reveal.tsx",
          "type": "registry:ui",
          "target": "@ui/project-reveal.tsx"
        }
      ]
    },
    {
      "name": "prompt-composer",
      "type": "registry:ui",
      "title": "Prompt Composer",
      "description": "A Tailwind prompt field with a sculpted arc of tinted action cards, a shared model-menu highlight and coordinated GSAP springs.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "motion",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/prompt-composer-motion.ts",
          "type": "registry:ui",
          "target": "@ui/prompt-composer-motion.ts"
        },
        {
          "path": "src/registry/ui/prompt-composer.tsx",
          "type": "registry:ui",
          "target": "@ui/prompt-composer.tsx"
        },
        {
          "path": "src/registry/ui/prompt-composer-art.tsx",
          "type": "registry:ui",
          "target": "@ui/prompt-composer-art.tsx"
        },
        {
          "path": "src/registry/ui/prompt-composer-model.tsx",
          "type": "registry:ui",
          "target": "@ui/prompt-composer-model.tsx"
        },
        {
          "path": "src/registry/ui/prompt-composer-recorder.tsx",
          "type": "registry:ui",
          "target": "@ui/prompt-composer-recorder.tsx"
        }
      ]
    },
    {
      "name": "proximity-sidebar",
      "type": "registry:ui",
      "title": "Proximity Sidebar",
      "description": "Dynamic document navigation minimap with smooth spring-physics cursor proximity expansion and scroll tracking.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/proximity-sidebar.tsx",
          "type": "registry:ui",
          "target": "@ui/proximity-sidebar.tsx"
        }
      ]
    },
    {
      "name": "reveal-sheet",
      "type": "registry:ui",
      "title": "Reveal Sheet",
      "description": "Directional accessible sheet with a circular reveal, adjustable bounce, and optional edge shine.",
      "dependencies": [
        "@radix-ui/react-dialog",
        "@gsap/react",
        "gsap",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "cssVars": {
        "light": {
          "line": "rgba(0, 0, 0, 0.08)"
        },
        "dark": {
          "line": "rgb(255 255 255 / 0.08)"
        }
      },
      "files": [
        {
          "path": "src/registry/ui/reveal-sheet.tsx",
          "type": "registry:ui",
          "target": "@ui/reveal-sheet.tsx"
        }
      ]
    },
    {
      "name": "scales",
      "type": "registry:ui",
      "title": "Scales & Borders",
      "description": "Symmetric repeating linear gradient borders and geometric scale dividers.",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "cssVars": {
        "light": {
          "pattern-line": "rgba(0, 0, 0, 0.16)",
          "pattern": "rgba(0, 0, 0, 0.12)"
        },
        "dark": {
          "pattern-line": "rgba(255, 255, 255, 0.1)",
          "pattern": "rgba(255, 255, 255, 0.08)"
        }
      },
      "files": [
        {
          "path": "src/registry/ui/scales.tsx",
          "type": "registry:ui",
          "target": "@ui/scales.tsx"
        }
      ]
    },
    {
      "name": "scroll-text",
      "type": "registry:ui",
      "title": "Scroll Text",
      "description": "A smooth, reversible scroll-driven text reveal with Fade, ASCII, and Mosaic effects.",
      "dependencies": [
        "gsap",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/scroll-text.tsx",
          "type": "registry:ui",
          "target": "@ui/scroll-text.tsx"
        }
      ]
    },
    {
      "name": "scrolling-cards",
      "type": "registry:ui",
      "title": "Scrolling Cards",
      "description": "Full-bleed image cards that stack with synchronized, spring-driven scrolling motion.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/scrolling-cards.tsx",
          "type": "registry:ui",
          "target": "@ui/scrolling-cards.tsx"
        }
      ]
    },
    {
      "name": "search-input",
      "type": "registry:ui",
      "title": "Search Input",
      "description": "Voice-glow powered typing-reactive search composer with animated thinking orbs.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "voice-glow@^0.2.1"
      ],
      "registryDependencies": [
        "https://ui.devclubxnst.com/r/orb.json"
      ],
      "cssVars": {
        "theme": {
          "color-line": "var(--line)",
          "color-line-strong": "var(--line-strong)",
          "color-panel": "var(--panel)",
          "color-text": "var(--text)",
          "color-faint": "var(--faint)"
        },
        "light": {
          "line": "rgba(0, 0, 0, 0.08)",
          "line-strong": "rgba(0, 0, 0, 0.14)",
          "panel": "#ffffff",
          "text": "#09090b",
          "faint": "#a1a1aa"
        },
        "dark": {
          "line": "rgb(255 255 255 / 0.08)",
          "line-strong": "rgb(255 255 255 / 0.16)",
          "panel": "#151517",
          "text": "#f2f2f3",
          "faint": "#56565c"
        }
      },
      "files": [
        {
          "path": "src/registry/ui/search-input.tsx",
          "type": "registry:ui",
          "target": "@ui/search-input.tsx"
        },
        {
          "path": "src/registry/ui/fx/Orb.tsx",
          "type": "registry:ui",
          "target": "@ui/fx/Orb.tsx"
        }
      ]
    },
    {
      "name": "segmented-progress",
      "type": "registry:ui",
      "title": "Segmented Progress",
      "description": "Metric card with segmented progress bars, hover value preview, a proximity wave and staggered GSAP fill.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "gsap",
        "@gsap/react",
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/segmented-progress.tsx",
          "type": "registry:ui",
          "target": "@ui/segmented-progress.tsx"
        }
      ]
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "Precision spring-physics slider and range component with rubber-band resistance, release inertia, odometer rolling numbers, and floating tooltips.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/slider.tsx",
          "type": "registry:ui",
          "target": "@ui/slider.tsx"
        }
      ]
    },
    {
      "name": "smooth-accordion",
      "type": "registry:ui",
      "title": "Smooth Accordion",
      "description": "Fluid collapsible accordion with synchronized layout transitions and smooth blur-reveal mechanics.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion",
        "@radix-ui/react-icons"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/smooth-accordion.tsx",
          "type": "registry:ui",
          "target": "@ui/smooth-accordion.tsx"
        }
      ]
    },
    {
      "name": "sparkle-button",
      "type": "registry:ui",
      "title": "Sparkle Button",
      "description": "Monochrome generate button with staggered per-character blur-in text, a width spring between labels, and a pulsing sparkle icon while loading.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/sparkle-button.tsx",
          "type": "registry:ui",
          "target": "@ui/sparkle-button.tsx"
        }
      ]
    },
    {
      "name": "spotlight-search",
      "type": "registry:ui",
      "title": "Spotlight Search",
      "description": "Apple-inspired Spotlight search bar with fluid capsule-to-quad-button expansion, staggered harmonic spring physics, and real-time category filtering.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/spotlight-search.tsx",
          "type": "registry:ui",
          "target": "@ui/spotlight-search.tsx"
        }
      ]
    },
    {
      "name": "stepper",
      "type": "registry:ui",
      "title": "Stepper",
      "description": "Animated workflow steps with dotted upcoming connectors, solid completed connections, and glossy step controls.",
      "dependencies": [
        "motion",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/stepper.tsx",
          "type": "registry:ui",
          "target": "@ui/stepper.tsx"
        }
      ]
    },
    {
      "name": "task-card",
      "type": "registry:ui",
      "title": "Task Card",
      "description": "Layered task cards with colored priority bands, recessed dashed outlines, stacked avatars and soft shadows.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "@radix-ui/react-avatar",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils",
        "avatar"
      ],
      "files": [
        {
          "path": "src/registry/ui/task-card.tsx",
          "type": "registry:ui",
          "target": "@ui/task-card.tsx"
        }
      ]
    },
    {
      "name": "task-list",
      "type": "registry:ui",
      "title": "Task List",
      "description": "Interactive todo task list featuring micro-particle spark bursts, ambient glow halos, smooth SVG ring morphing, and fluid spring layout reordering.",
      "dependencies": [
        "motion",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/task-list.tsx",
          "type": "registry:ui",
          "target": "@ui/task-list.tsx"
        }
      ]
    },
    {
      "name": "theme-toggle",
      "type": "registry:ui",
      "title": "Theme Toggle",
      "description": "View Transitions API theme toggle with geometric clip-path ripples, optional obsidian candy styling, and mode synchronization.",
      "dependencies": [
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/theme-toggle.tsx",
          "type": "registry:ui",
          "target": "@ui/theme-toggle.tsx"
        }
      ]
    },
    {
      "name": "thinking-panel",
      "type": "registry:ui",
      "title": "Thinking Panel",
      "description": "An AI activity panel with a live timer, expandable source chips and spring-driven progress steps.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "motion",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/thinking-panel.tsx",
          "type": "registry:ui",
          "target": "@ui/thinking-panel.tsx"
        },
        {
          "path": "src/registry/ui/thinking-panel-types.ts",
          "type": "registry:ui",
          "target": "@ui/thinking-panel-types.ts"
        },
        {
          "path": "src/registry/ui/use-thinking-panel-motion.ts",
          "type": "registry:ui",
          "target": "@ui/use-thinking-panel-motion.ts"
        },
        {
          "path": "src/registry/ui/thinking-panel-sources.tsx",
          "type": "registry:ui",
          "target": "@ui/thinking-panel-sources.tsx"
        },
        {
          "path": "src/registry/ui/thinking-panel-spring.ts",
          "type": "registry:ui",
          "target": "@ui/thinking-panel-spring.ts"
        }
      ]
    },
    {
      "name": "toast",
      "type": "registry:ui",
      "title": "Toast",
      "description": "Sonner-powered toast notifications featuring ultra-smooth blur dissolving entry and exit transitions.",
      "dependencies": [
        "sonner",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "button",
        "sonner"
      ],
      "files": [
        {
          "path": "src/registry/ui/toast.tsx",
          "type": "registry:ui",
          "target": "@ui/toast.tsx"
        }
      ]
    },
    {
      "name": "toaster",
      "type": "registry:ui",
      "title": "Toaster",
      "description": "Layered notification cards with coordinated spring motion, synchronized countdowns, undo actions, invoice reminders and contextual footers.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "motion",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/toaster.tsx",
          "type": "registry:ui",
          "target": "@ui/toaster.tsx"
        },
        {
          "path": "src/lib/use-media-query.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "twitter-card",
      "type": "registry:ui",
      "title": "Twitter(X) Card",
      "description": "Interactive Twitter (X) profile card component featuring magnetic 3D tilt, spring physics, and real-time public profile data fetching.",
      "dependencies": [
        "clsx",
        "tailwind-merge",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/twitter-card.tsx",
          "type": "registry:ui",
          "target": "@ui/twitter-card.tsx"
        }
      ]
    },
    {
      "name": "workflow-card",
      "type": "registry:ui",
      "title": "Workflow Card",
      "description": "A compact project card that unfolds into grouped checklists with soft spring motion, progress rings, status selection and teammate filters.",
      "dependencies": [
        "gsap",
        "@gsap/react",
        "motion",
        "lucide-react",
        "clsx",
        "tailwind-merge"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "src/registry/ui/workflow-card.tsx",
          "type": "registry:ui",
          "target": "@ui/workflow-card.tsx"
        }
      ]
    }
  ]
}
