{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "grid-frame-hero", "type": "registry:ui", "title": "Grid Frame Hero", "description": "A bento-style hero with a framed grid layout and dual feature cards with illustrations.", "dependencies": [ "lucide-react" ], "files": [ { "path": "registry/ruixenui/grid-frame-hero.tsx", "content": "\"use client\";\n\nimport * as React from \"react\";\nimport Link from \"next/link\";\nimport { ArrowUp, Blocks, Palette, Paperclip } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\n/* ── types ───────────────────────────────────────────────────── */\n\ntype Action = { href: string; label: string };\n\nexport interface GridFrameFeature {\n icon?: React.ReactNode;\n title: string;\n highlight: string;\n description: string;\n illustration?: React.ReactNode;\n}\n\nexport interface GridFrameHeroProps {\n title: React.ReactNode;\n description?: string;\n primaryAction?: Action;\n microcopy?: string;\n features?: [GridFrameFeature, GridFrameFeature];\n className?: string;\n}\n\n/* ── helpers ─────────────────────────────────────────────────── */\n\nfunction OuterRail() {\n return (\n
\n Buttons\n
\n\n Primary Variant\n
\n\n Install any component with a single shadcn CLI command — themed by\n your tokens, no configuration required.\n
\n\n {description}\n
\n )}\n {primaryAction && (\n\n {feature.highlight}{\" \"}\n {feature.description}\n
\n