{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "comparison-section-1", "title": "Comparison Section 1", "description": "Feature comparison table with mobile-responsive design", "registryDependencies": [ "button", "separator", "table", "https://shadcndesign-free.vercel.app/r/styles.json", "https://shadcndesign-free.vercel.app/r/tagline.json", "https://shadcndesign-free.vercel.app/r/logo.json" ], "files": [ { "path": "components/pro-blocks/landing-page/comparison-sections/comparison-section-1.tsx", "content": "\"use client\";\n\nimport Link from \"next/link\";\nimport { Button } from \"@/components/ui/button\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Logo } from \"@/components/pro-blocks/logo\";\nimport { Check, X, Box } from \"lucide-react\";\nimport { Tagline } from \"@/components/pro-blocks/landing-page/tagline\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\n\ntype ComparisonRow = {\n feature: string;\n our: boolean | string;\n theirs: boolean | string;\n};\n\nconst COMPARISON_ROWS: ComparisonRow[] = [\n { feature: \"Projects\", our: \"Unlimited\", theirs: \"10\" },\n { feature: \"Custom components\", our: true, theirs: true },\n { feature: \"Design tokens\", our: true, theirs: true },\n { feature: \"Team permissions\", our: true, theirs: false },\n { feature: \"Audit logs\", our: true, theirs: false },\n];\n\nexport function ComparisonSection1() {\n return (\n
\n
\n
\n Comparison Section\n

\n You vs. your competitor\n

\n

\n Explain in one or two concise sentences how your solution compares\n to a competitor. Keep it clear and compelling.\n

\n
\n\n {/* Comparison grid */}\n {/* Desktop/tablet (md+) table */}\n
\n
\n \n \n \n \n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n
\n \n {COMPARISON_ROWS.map((row, idx) => (\n \n \n {row.feature}\n \n \n
\n
\n {typeof row.our === \"boolean\" ? (\n row.our ? (\n \n ) : (\n \n )\n ) : (\n row.our\n )}\n
\n
\n
\n \n
\n {typeof row.theirs === \"boolean\" ? (\n row.theirs ? (\n \n ) : (\n \n )\n ) : (\n row.theirs\n )}\n
\n
\n
\n ))}\n
\n
\n
\n
\n\n {/* Mobile (< md) stacked rows */}\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n {COMPARISON_ROWS.map((row, idx) => (\n
\n
\n {row.feature}\n
\n \n
\n
\n
\n
\n {typeof row.our === \"boolean\" ? (\n row.our ? (\n \n ) : (\n \n )\n ) : (\n row.our\n )}\n
\n
\n
\n {typeof row.theirs === \"boolean\" ? (\n row.theirs ? (\n \n ) : (\n \n )\n ) : (\n row.theirs\n )}\n
\n
\n
\n ))}\n
\n
\n\n {/* CTA */}\n
\n \n
\n
\n
\n );\n}\n", "type": "registry:component", "target": "components/pro-blocks/landing-page/comparison-sections/comparison-section-1.tsx" } ], "type": "registry:component" }