{ "$schema": "https://ui.shadcn.com/schema/registry.json", "items": [ { "name": "screenshot-assets", "type": "registry:component", "title": "Marketing Screenshot Assets", "description": "Original light and dark product screenshots used by marketing blocks.", "files": [ { "path": "screenshot-assets/analytics-dark.png", "type": "registry:file", "target": "~/public/screenshots/analytics-dark.png" }, { "path": "screenshot-assets/analytics-light.png", "type": "registry:file", "target": "~/public/screenshots/analytics-light.png" }, { "path": "screenshot-assets/canvas-dark.png", "type": "registry:file", "target": "~/public/screenshots/canvas-dark.png" }, { "path": "screenshot-assets/canvas-light.png", "type": "registry:file", "target": "~/public/screenshots/canvas-light.png" }, { "path": "screenshot-assets/customer-dark.png", "type": "registry:file", "target": "~/public/screenshots/customer-dark.png" }, { "path": "screenshot-assets/customer-light.png", "type": "registry:file", "target": "~/public/screenshots/customer-light.png" }, { "path": "screenshot-assets/workflow-dark.png", "type": "registry:file", "target": "~/public/screenshots/workflow-dark.png" }, { "path": "screenshot-assets/workflow-light.png", "type": "registry:file", "target": "~/public/screenshots/workflow-light.png" } ] }, { "name": "logo", "type": "registry:component", "title": "Logo", "description": "Nice UI wordmark and icon SVGs for headers, footers, and other branded surfaces.", "files": [ { "path": "logo/logo.tsx", "type": "registry:component", "target": "~/components/logo.tsx" } ], "registryDependencies": ["tyrailleverett/nice-ui/style"] }, { "name": "hero-1", "type": "registry:block", "title": "Centered Screenshot", "description": "Centered marketing hero with announcement pill, dual CTAs, and a screenshot.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/screenshot-assets", "button", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "hero-1/hero-1.tsx", "type": "registry:component", "target": "~/components/marketing/hero-1.tsx" } ] }, { "name": "hero-2", "type": "registry:block", "title": "Left Offset Screenshot", "description": "Left-aligned marketing hero with announcement pill, dual CTAs, and an offset masked screenshot.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/screenshot-assets", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "hero-2/hero-2.tsx", "type": "registry:component", "target": "~/components/marketing/hero-2.tsx" } ] }, { "name": "hero-3", "type": "registry:block", "title": "Split Skewed Screenshot", "description": "Split marketing hero with copy, logos, dual CTAs, and a skewed product screenshot.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/screenshot-assets", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "hero-3/hero-3.tsx", "type": "registry:component", "target": "~/components/marketing/hero-3.tsx" } ] }, { "name": "hero-4", "type": "registry:block", "title": "Split Headline Media", "description": "Two-column marketing hero with nested screenshot, photographic backdrop, and logo row.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/screenshot-assets", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "hero-4/hero-4.tsx", "type": "registry:component", "target": "~/components/marketing/hero-4.tsx" } ] }, { "name": "marketing-section", "type": "registry:component", "title": "Marketing Section", "description": "Shared marketing page frame with a top hairline and a max-width column.", "files": [ { "path": "marketing-section/marketing-section.tsx", "type": "registry:component", "target": "~/components/marketing-section.tsx" } ], "registryDependencies": ["tyrailleverett/nice-ui/style"] }, { "name": "full-width-divider", "type": "registry:component", "title": "Full Width Divider", "description": "Hairline rule that can bleed to the viewport or stay contained within its parent.", "files": [ { "path": "full-width-divider/full-width-divider.tsx", "type": "registry:component", "target": "~/components/full-width-divider.tsx" } ], "registryDependencies": ["tyrailleverett/nice-ui/style"] }, { "name": "decor-icon", "type": "registry:component", "title": "Decor Icon", "description": "Corner plus mark for framed marketing sections.", "dependencies": ["class-variance-authority"], "files": [ { "path": "decor-icon/decor-icon.tsx", "type": "registry:component", "target": "~/components/decor-icon.tsx" } ], "registryDependencies": ["tyrailleverett/nice-ui/style"] }, { "name": "portal", "type": "registry:component", "title": "Portal", "description": "Full-screen overlay portal with a blurred backdrop, used by mobile navigation.", "files": [ { "path": "portal/portal.tsx", "type": "registry:component", "target": "~/components/portal.tsx" } ], "registryDependencies": ["tyrailleverett/nice-ui/style"] }, { "name": "use-scroll", "type": "registry:hook", "title": "Use Scroll", "description": "Hook that returns whether the page has scrolled past a pixel threshold.", "files": [ { "path": "use-scroll/use-scroll.ts", "type": "registry:hook", "target": "~/hooks/use-scroll.ts" } ], "registryDependencies": ["tyrailleverett/nice-ui/style"] }, { "name": "cta-1", "type": "registry:block", "title": "Split Headline Actions", "description": "Split marketing call to action with headline, buttons, and full-width dividers.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-1/cta-1.tsx", "type": "registry:component", "target": "~/components/marketing/cta-1.tsx" } ] }, { "name": "cta-2", "type": "registry:block", "title": "Stacked Tinted Bar", "description": "Stacked marketing call to action with supporting copy and a tinted button bar.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-2/cta-2.tsx", "type": "registry:component", "target": "~/components/marketing/cta-2.tsx" } ] }, { "name": "cta-3", "type": "registry:block", "title": "Framed Dashed Center", "description": "Framed marketing call to action with corner marks, dashed center line, and dual buttons.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-3/cta-3.tsx", "type": "registry:component", "target": "~/components/marketing/cta-3.tsx" } ] }, { "name": "cta-4", "type": "registry:block", "title": "Rounded Card", "description": "Card-style marketing call to action with rounded frame and dual buttons.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-4/cta-4.tsx", "type": "registry:component", "target": "~/components/marketing/cta-4.tsx" } ] }, { "name": "cta-5", "type": "registry:block", "title": "Newsletter Avatars", "description": "Newsletter marketing call to action with email field, subscribe button, and avatars.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "input-group", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-5/cta-5.tsx", "type": "registry:component", "target": "~/components/marketing/cta-5.tsx" } ] }, { "name": "cta-6", "type": "registry:block", "title": "Copyable Command", "description": "Grid-framed marketing call to action with install headline and copyable command.", "files": [ { "path": "cta-6/cta-6.tsx", "type": "registry:component", "target": "~/components/marketing/cta-6.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "cta-7", "type": "registry:block", "title": "GitHub Activity Cards", "description": "Open-source marketing call to action with GitHub button and floating activity cards.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-7/cta-7.tsx", "type": "registry:component", "target": "~/components/marketing/cta-7.tsx" } ] }, { "name": "cta-8", "type": "registry:block", "title": "Serif Floating Icons", "description": "Serif headline marketing call to action with floating tool icons and dual buttons.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-8/cta-8.tsx", "type": "registry:component", "target": "~/components/marketing/cta-8.tsx" } ] }, { "name": "cta-9", "type": "registry:block", "title": "Newsletter Grid Card", "description": "Grid-card marketing call to action with combined email field and join button.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "input-group", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-9/cta-9.tsx", "type": "registry:component", "target": "~/components/marketing/cta-9.tsx" } ] }, { "name": "cta-10", "type": "registry:block", "title": "Display Headline Card", "description": "Stacked marketing call to action with display headline and horizontal action card.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-10/cta-10.tsx", "type": "registry:component", "target": "~/components/marketing/cta-10.tsx" } ] }, { "name": "cta-11", "type": "registry:block", "title": "Social Proof Pills", "description": "Social-proof marketing call to action with avatars, rating, and pill buttons.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-11/cta-11.tsx", "type": "registry:component", "target": "~/components/marketing/cta-11.tsx" } ] }, { "name": "cta-12", "type": "registry:block", "title": "Hairline Text Link", "description": "Hairline-framed marketing call to action with text link and outlined button.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-12/cta-12.tsx", "type": "registry:component", "target": "~/components/marketing/cta-12.tsx" } ] }, { "name": "cta-13", "type": "registry:block", "title": "Split Copy Actions", "description": "Two-column marketing call to action with highlighted headline, supporting copy, and split actions.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "cta-13/cta-13.tsx", "type": "registry:component", "target": "~/components/marketing/cta-13.tsx" } ] }, { "name": "footer-1", "type": "registry:block", "title": "Inline Nav", "description": "Marketing footer with logo, social links, navigation, copyright, and optional attribution.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "footer-1/footer-1.tsx", "type": "registry:component", "target": "~/components/marketing/footer-1.tsx" } ] }, { "name": "footer-2", "type": "registry:block", "title": "Brand Two Columns", "description": "Marketing footer with brand copy, social links, resource and company columns, and full-width dividers.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "footer-2/footer-2.tsx", "type": "registry:component", "target": "~/components/marketing/footer-2.tsx" } ] }, { "name": "footer-3", "type": "registry:block", "title": "Social Cards", "description": "Marketing footer with social cards, multi-column link groups, and a centered copyright bar.", "dependencies": ["lucide-react"], "files": [ { "path": "footer-3/footer-3.tsx", "type": "registry:component", "target": "~/components/marketing/footer-3.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "footer-4", "type": "registry:block", "title": "Store Badges", "description": "Marketing footer with link columns, social buttons, and official App Store and Google Play badges.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "footer-4/footer-4.tsx", "type": "registry:component", "target": "~/components/marketing/footer-4.tsx" }, { "path": "footer-4/app-store-badge.tsx", "type": "registry:component", "target": "~/components/marketing/app-store-badge.tsx" }, { "path": "footer-4/google-play-badge.tsx", "type": "registry:component", "target": "~/components/marketing/google-play-badge.tsx" } ] }, { "name": "footer-5", "type": "registry:block", "title": "Newsletter Status", "description": "Marketing footer with brand copy, newsletter signup, social icons, multi-column links, and system status.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "input", "label", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "footer-5/footer-5.tsx", "type": "registry:component", "target": "~/components/marketing/footer-5.tsx" } ] }, { "name": "footer-6", "type": "registry:block", "title": "Watermark Card", "description": "Card-style marketing footer with uppercase link columns, social buttons, and status.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "footer-6/footer-6.tsx", "type": "registry:component", "target": "~/components/marketing/footer-6.tsx" } ] }, { "name": "footer-7", "type": "registry:block", "title": "Theme Switcher Grid", "description": "Grid marketing footer with bordered columns, newsletter, status badge, and theme switcher.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "input", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "footer-7/footer-7.tsx", "type": "registry:component", "target": "~/components/marketing/footer-7.tsx" } ] }, { "name": "feature-1", "type": "registry:block", "title": "Four-up Icon Row", "description": "Four-up marketing feature row with icons, short copy, and vertical hairline dividers.", "dependencies": ["lucide-react"], "files": [ { "path": "feature-1/feature-1.tsx", "type": "registry:component", "target": "~/components/marketing/feature-1.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "feature-2", "type": "registry:block", "title": "Framed Three Column", "description": "Framed three-column feature grid with corner marks and dashed rules.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "feature-2/feature-2.tsx", "type": "registry:component", "target": "~/components/marketing/feature-2.tsx" } ] }, { "name": "feature-3", "type": "registry:block", "title": "Six-up Bordered Grid", "description": "Headline and six-up bordered feature cards with icons and supporting copy.", "dependencies": ["lucide-react"], "files": [ { "path": "feature-3/feature-3.tsx", "type": "registry:component", "target": "~/components/marketing/feature-3.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "feature-4", "type": "registry:block", "title": "Bento Pipeline", "description": "Bento marketing features with pipeline cards and a four-up highlight row.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "card", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "feature-4/feature-4.tsx", "type": "registry:component", "target": "~/components/marketing/feature-4.tsx" } ] }, { "name": "feature-5", "type": "registry:block", "title": "Portrait Media Cards", "description": "Three portrait feature cards with product illustrations and supporting copy.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "card", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "feature-5/feature-5.tsx", "type": "registry:component", "target": "~/components/marketing/feature-5.tsx" } ] }, { "name": "feature-6", "type": "registry:block", "title": "Sticky Scroll Nav", "description": "Sticky product nav with scroll-synced feature sections and inline illustrations.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/screenshot-assets", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "feature-6/feature-6.tsx", "type": "registry:component", "target": "~/components/marketing/feature-6.tsx" } ] }, { "name": "feature-7", "type": "registry:block", "title": "Screenshot Highlights", "description": "Stacked product screenshot with a four-up icon highlight row.", "dependencies": ["lucide-react"], "files": [ { "path": "feature-7/feature-7.tsx", "type": "registry:component", "target": "~/components/marketing/feature-7.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/screenshot-assets", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "feature-8", "type": "registry:block", "title": "Dashboard Bento", "description": "Pipeline dashboard features with a dotted map, conversation frame, uptime, and chart.", "files": [ { "path": "feature-8/feature-8.tsx", "type": "registry:component", "target": "~/components/marketing/feature-8.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "feature-9", "type": "registry:block", "title": "Two-up Illustrations", "description": "Two-up feature cards with code and scheduler illustrations.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "card", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "feature-9/feature-9.tsx", "type": "registry:component", "target": "~/components/marketing/feature-9.tsx" } ] }, { "name": "feature-10", "type": "registry:block", "title": "Split Copy Screenshot", "description": "Split feature copy with a screenshot frame and secondary CTA.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/screenshot-assets", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "feature-10/feature-10.tsx", "type": "registry:component", "target": "~/components/marketing/feature-10.tsx" } ] }, { "name": "feature-11", "type": "registry:block", "title": "Four-card Bento", "description": "Bento feature cards with screenshot, meeting, review, and assistant illustrations.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/screenshot-assets", "button", "card", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "feature-11/feature-11.tsx", "type": "registry:component", "target": "~/components/marketing/feature-11.tsx" } ] }, { "name": "feature-12", "type": "registry:block", "title": "Stacked Illustrations", "description": "Stacked feature layout with assistant, meeting, and review illustrations.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "card", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "feature-12/feature-12.tsx", "type": "registry:component", "target": "~/components/marketing/feature-12.tsx" } ] }, { "name": "feature-13", "type": "registry:block", "title": "Two-by-two Cards", "description": "Two-by-two feature cards with integration logos, sync rings, and a shield mark.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "card", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "feature-13/feature-13.tsx", "type": "registry:component", "target": "~/components/marketing/feature-13.tsx" } ] }, { "name": "feature-14", "type": "registry:block", "title": "Split Headline List", "description": "Two-column feature section with a two-tone headline on the left and a stacked title-and-copy list on the right.", "files": [ { "path": "feature-14/feature-14.tsx", "type": "registry:component", "target": "~/components/marketing/feature-14.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "bento-1", "type": "registry:block", "title": "Equal Feature Grid", "description": "Four equal bento cells with icon, title, and copy on a shared hairline grid.", "dependencies": ["lucide-react"], "files": [ { "path": "bento-1/bento-1.tsx", "type": "registry:component", "target": "~/components/marketing/bento-1.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "bento-2", "type": "registry:block", "title": "Wide Lead Stack", "description": "Wide lead tile beside two stacked asides, for a product story that needs room.", "dependencies": ["lucide-react"], "files": [ { "path": "bento-2/bento-2.tsx", "type": "registry:component", "target": "~/components/marketing/bento-2.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "bento-3", "type": "registry:block", "title": "Framed Mosaic", "description": "Featured screenshot cell and four supporting tiles, framed with corner plus marks.", "files": [ { "path": "bento-3/bento-3.tsx", "type": "registry:component", "target": "~/components/marketing/bento-3.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "bento-4", "type": "registry:block", "title": "Metric Tile Bento", "description": "KPI strip over three copy tiles \u2014 proof first, then the reasons.", "files": [ { "path": "bento-4/bento-4.tsx", "type": "registry:component", "target": "~/components/marketing/bento-4.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "bento-5", "type": "registry:block", "title": "Product Capability Grid", "description": "Product capability bento with a revenue area chart, counting KPI, live activity feed, compute usage meter, and uptime bars.", "dependencies": ["lucide-react"], "files": [ { "path": "bento-5/bento-5.tsx", "type": "registry:component", "target": "~/components/marketing/bento-5.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "header-shared", "type": "registry:component", "title": "Header Shared", "description": "Shared floating marketing header chrome, nav links, and mobile menu used by header blocks.", "dependencies": ["lucide-react"], "files": [ { "path": "header-shared/header-shared.tsx", "type": "registry:component", "target": "~/components/header-shared.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/use-scroll" ] }, { "name": "header-1", "type": "registry:block", "title": "Nav Left", "description": "Floating marketing header that tightens on scroll, with nav links beside the logo.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/header-shared" ], "files": [ { "path": "header-1/header-1.tsx", "type": "registry:component", "target": "~/components/marketing/header-1.tsx" } ] }, { "name": "header-2", "type": "registry:block", "title": "Nav Center", "description": "Floating marketing header that tightens on scroll, with nav links centered between the logo and actions.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/header-shared" ], "files": [ { "path": "header-2/header-2.tsx", "type": "registry:component", "target": "~/components/marketing/header-2.tsx" } ] }, { "name": "header-3", "type": "registry:block", "title": "Nav Right", "description": "Floating marketing header that tightens on scroll, with nav links grouped to the right ahead of the actions.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/header-shared" ], "files": [ { "path": "header-3/header-3.tsx", "type": "registry:component", "target": "~/components/marketing/header-3.tsx" } ] }, { "name": "logo-cloud-1", "type": "registry:block", "title": "Bordered Grid", "description": "Bordered grid of partner wordmarks in two columns on small screens and four on larger screens.", "files": [ { "path": "logo-cloud-1/logo-cloud-1.tsx", "type": "registry:component", "target": "~/components/marketing/logo-cloud-1.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "logo-cloud-2", "type": "registry:block", "title": "Marquee", "description": "Slow auto-scrolling partner wordmarks with edge fade and reduced-motion fallback.", "files": [ { "path": "logo-cloud-2/logo-cloud-2.tsx", "type": "registry:component", "target": "~/components/marketing/logo-cloud-2.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "logo-cloud-3", "type": "registry:block", "title": "Wrapping Row", "description": "Centered wrapping row of partner wordmarks.", "files": [ { "path": "logo-cloud-3/logo-cloud-3.tsx", "type": "registry:component", "target": "~/components/marketing/logo-cloud-3.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "integrations-1", "type": "registry:block", "title": "Four Card Tray", "description": "Four integration cards on a muted tray with a view-all link.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "integrations-1/integrations-1.tsx", "type": "registry:component", "target": "~/components/marketing/integrations-1.tsx" } ] }, { "name": "integrations-2", "type": "registry:block", "title": "Hairline Grid", "description": "Hairline integration grid with corner plus marks and optional cell decorations.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "integrations-2/integrations-2.tsx", "type": "registry:component", "target": "~/components/marketing/integrations-2.tsx" } ] }, { "name": "integrations-3", "type": "registry:block", "title": "Scattered Logos", "description": "Copy and CTA beside a scattered logo grid on a fading rule background.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "integrations-3/integrations-3.tsx", "type": "registry:component", "target": "~/components/marketing/integrations-3.tsx" } ] }, { "name": "integrations-4", "type": "registry:block", "title": "Masked Tile Grid", "description": "Headline beside a masked grid of bordered logo tiles and empty cells.", "files": [ { "path": "integrations-4/integrations-4.tsx", "type": "registry:component", "target": "~/components/marketing/integrations-4.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "testimonial-1", "type": "registry:block", "title": "Centered Quote", "description": "Centered marketing testimonial with company mark, quote, and avatar.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "avatar", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "testimonial-1/testimonial-1.tsx", "type": "registry:component", "target": "~/components/marketing/testimonial-1.tsx" } ] }, { "name": "testimonial-2", "type": "registry:block", "title": "Split Portrait", "description": "Split marketing testimonial with framed portrait and quote.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "avatar", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "testimonial-2/testimonial-2.tsx", "type": "registry:component", "target": "~/components/marketing/testimonial-2.tsx" } ] }, { "name": "testimonial-3", "type": "registry:block", "title": "Featured Split", "description": "Split-column marketing testimonials with quote marks and full-width dividers.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "testimonial-3/testimonial-3.tsx", "type": "registry:component", "target": "~/components/marketing/testimonial-3.tsx" } ] }, { "name": "testimonial-4", "type": "registry:block", "title": "Three Column Grid", "description": "Grid marketing testimonials with avatars, quotes, and full-width dividers.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "avatar", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "testimonial-4/testimonial-4.tsx", "type": "registry:component", "target": "~/components/marketing/testimonial-4.tsx" } ] }, { "name": "testimonial-5", "type": "registry:block", "title": "Marquee", "description": "Auto-scrolling marketing testimonials with quote cards, avatars, and source labels.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "avatar", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "testimonial-5/testimonial-5.tsx", "type": "registry:component", "target": "~/components/marketing/testimonial-5.tsx" } ] }, { "name": "faq-1", "type": "registry:block", "title": "Centered Accordion", "description": "Centered marketing FAQ with a bordered accordion and a support link.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "accordion", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "faq-1/faq-1.tsx", "type": "registry:component", "target": "~/components/marketing/faq-1.tsx" } ] }, { "name": "faq-2", "type": "registry:block", "title": "Split Stacked", "description": "Split-column marketing FAQ with a stacked headline and edge-to-edge accordion.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "accordion", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "faq-2/faq-2.tsx", "type": "registry:component", "target": "~/components/marketing/faq-2.tsx" } ] }, { "name": "faq-3", "type": "registry:block", "title": "Split Guide Line", "description": "Split-column marketing FAQ with a large headline, guide line, and corner marks.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "accordion", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "faq-3/faq-3.tsx", "type": "registry:component", "target": "~/components/marketing/faq-3.tsx" } ] }, { "name": "faq-4", "type": "registry:block", "title": "Searchable Categories", "description": "Searchable marketing FAQ with category filters, card accordion items, and an empty state.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "accordion", "button", "empty", "input-group", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "faq-4/faq-4.tsx", "type": "registry:component", "target": "~/components/marketing/faq-4.tsx" } ] }, { "name": "faq-5", "type": "registry:block", "title": "Grouped Categories", "description": "Centered marketing FAQ with category headings and hairline accordion groups.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "accordion", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "faq-5/faq-5.tsx", "type": "registry:component", "target": "~/components/marketing/faq-5.tsx" } ] }, { "name": "blog-1", "type": "registry:block", "title": "Compact List", "description": "Compact blog index with dashed title rules, dates, and hoverable list rows.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "blog-1/blog-1.tsx", "type": "registry:component", "target": "~/components/marketing/blog-1.tsx" } ] }, { "name": "blog-2", "type": "registry:block", "title": "Three Column Grid", "description": "Three-column blog grid with category, date, excerpt, and author attribution.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/full-width-divider", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "blog-2/blog-2.tsx", "type": "registry:component", "target": "~/components/marketing/blog-2.tsx" } ] }, { "name": "blog-3", "type": "registry:block", "title": "Featured Bento", "description": "Featured two-up and three-up blog grid with images, authors, and inset hover frames.", "dependencies": ["lucide-react"], "files": [ { "path": "blog-3/blog-3.tsx", "type": "registry:component", "target": "~/components/marketing/blog-3.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "pricing-1", "type": "registry:block", "title": "Three Tiers", "description": "Three-column marketing pricing table with monthly/annual toggle, popular badge, and trial CTAs.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "badge", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "pricing-1/pricing-1.tsx", "type": "registry:component", "target": "~/components/marketing/pricing-1.tsx" } ] }, { "name": "pricing-2", "type": "registry:block", "title": "Comparison Table", "description": "Feature comparison table with monthly/annual toggle, grouped rows, and a highlighted popular plan column.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "badge", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "pricing-2/pricing-2.tsx", "type": "registry:component", "target": "~/components/marketing/pricing-2.tsx" } ] }, { "name": "pricing-3", "type": "registry:block", "title": "Single Plan", "description": "Single-plan marketing pricing card with monthly/annual toggle, split offer and features, and a trial CTA.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "badge", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "pricing-3/pricing-3.tsx", "type": "registry:component", "target": "~/components/marketing/pricing-3.tsx" } ] }, { "name": "pricing-4", "type": "registry:block", "title": "Two Tiers", "description": "Two-column marketing pricing table with monthly/annual toggle, popular badge, and trial CTAs.", "dependencies": ["lucide-react"], "registryDependencies": [ "tyrailleverett/nice-ui/style", "button", "badge", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "pricing-4/pricing-4.tsx", "type": "registry:component", "target": "~/components/marketing/pricing-4.tsx" } ] }, { "name": "cookie-consent-1", "type": "registry:block", "title": "Bottom Bar", "description": "Full-width cookie consent bar with policy link, decline, and accept actions.", "registryDependencies": ["tyrailleverett/nice-ui/style", "button"], "files": [ { "path": "cookie-consent-1/cookie-consent-1.tsx", "type": "registry:component", "target": "~/components/marketing/cookie-consent-1.tsx" } ] }, { "name": "cookie-consent-2", "type": "registry:block", "title": "Corner Card", "description": "Corner cookie consent card with accept, reject, and preferences actions.", "dependencies": ["lucide-react"], "registryDependencies": ["tyrailleverett/nice-ui/style", "button"], "files": [ { "path": "cookie-consent-2/cookie-consent-2.tsx", "type": "registry:component", "target": "~/components/marketing/cookie-consent-2.tsx" } ] }, { "name": "changelog-1", "type": "registry:block", "title": "Split Version Timeline", "description": "Marketing changelog with version badges, dates, and grouped added, improved, and fixed notes.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "badge", "separator", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "changelog-1/changelog-1.tsx", "type": "registry:component", "target": "~/components/marketing/changelog-1.tsx" } ] }, { "name": "changelog-2", "type": "registry:block", "title": "Editorial Changelog", "description": "Editorial changelog with a ruled intro band, sticky release metadata, and responsive content columns.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "changelog-2/changelog-2.tsx", "type": "registry:component", "target": "~/components/marketing/changelog-2.tsx" } ] }, { "name": "terms-of-service-1", "type": "registry:block", "title": "Terms of Service", "description": "Editorial marketing legal page with metadata, contents navigation, and configurable sections.", "files": [ { "path": "terms-of-service-1/terms-of-service-1.tsx", "type": "registry:component", "target": "~/components/marketing/terms-of-service-1.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "privacy-policy-1", "type": "registry:block", "title": "Privacy Policy", "description": "Editorial marketing privacy page with metadata, contents navigation, and configurable sections.", "files": [ { "path": "privacy-policy-1/privacy-policy-1.tsx", "type": "registry:component", "target": "~/components/marketing/privacy-policy-1.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "stats-1", "type": "registry:block", "title": "Two Kpi Copy", "description": "Two primary-colored KPIs beside a short supporting paragraph.", "files": [ { "path": "stats-1/stats-1.tsx", "type": "registry:component", "target": "~/components/marketing/stats-1.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "stats-2", "type": "registry:block", "title": "Four Metric Row", "description": "Short headline over four KPIs in a hairline row.", "files": [ { "path": "stats-2/stats-2.tsx", "type": "registry:component", "target": "~/components/marketing/stats-2.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "stats-3", "type": "registry:block", "title": "Split Headline Proof", "description": "Split stats section with an emphasized headline and two narrative metrics.", "files": [ { "path": "stats-3/stats-3.tsx", "type": "registry:component", "target": "~/components/marketing/stats-3.tsx" } ], "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ] }, { "name": "stats-4", "type": "registry:block", "title": "Headline Metric Grid", "description": "Centered headline and three framed KPIs with hairline rules and corner plus marks.", "registryDependencies": [ "tyrailleverett/nice-ui/style", "tyrailleverett/nice-ui/marketing-section" ], "files": [ { "path": "stats-4/stats-4.tsx", "type": "registry:component", "target": "~/components/marketing/stats-4.tsx" } ] } ] }