Files
zeekay b836586a64 fix: Include all component types in registry build
- Updated build-registry.mts to include all component types (ui, ai, 3d, animation, code, etc.)
- Fixed missing components issue by processing all components that start with 'components:'
- Now properly handles components that only exist in one theme variant
- Registry now contains 363 components (up from 117)
- AI, 3D, animation, and code components are now accessible via the registry
2025-10-16 22:33:38 -07:00

17 lines
4.0 KiB
JSON

{
"name": "pricing-01",
"registryDependencies": [
"badge",
"button",
"card"
],
"files": [
{
"name": "pricing-01.tsx",
"content": "\"use client\"\n\nimport { Check } from \"lucide-react\"\n\nimport { Badge } from \"@/registry/default/ui/badge\"\nimport { Button } from \"@/registry/default/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/registry/default/ui/card\"\n\nexport const description =\n \"A pricing table with three tiers: Free, Pro, and Enterprise. Each tier displays features and a call-to-action button.\"\n\nexport const iframeHeight = \"800px\"\n\nexport const containerClassName = \"w-full\"\n\nconst tiers = [\n {\n name: \"Free\",\n price: \"$0\",\n description: \"Perfect for getting started\",\n features: [\n \"Up to 10 components\",\n \"Basic support\",\n \"Community access\",\n \"1 project\",\n ],\n cta: \"Get Started\",\n highlighted: false,\n },\n {\n name: \"Pro\",\n price: \"$29\",\n description: \"For professional developers\",\n features: [\n \"Unlimited components\",\n \"Priority support\",\n \"Private repository access\",\n \"Unlimited projects\",\n \"Advanced analytics\",\n \"Custom themes\",\n ],\n cta: \"Start Free Trial\",\n highlighted: true,\n badge: \"Popular\",\n },\n {\n name: \"Enterprise\",\n price: \"Custom\",\n description: \"For large teams and organizations\",\n features: [\n \"Everything in Pro\",\n \"Dedicated support\",\n \"SLA guarantee\",\n \"Custom integrations\",\n \"On-premise deployment\",\n \"Training & onboarding\",\n ],\n cta: \"Contact Sales\",\n highlighted: false,\n },\n]\n\nexport default function Component() {\n return (\n <div className=\"w-full py-12\">\n <div className=\"container px-4 md:px-6\">\n <div className=\"text-center mb-12\">\n <h2 className=\"text-3xl font-bold tracking-tight sm:text-4xl\">\n Simple, transparent pricing\n </h2>\n <p className=\"mt-4 text-lg text-muted-foreground\">\n Choose the plan that's right for you\n </p>\n </div>\n\n <div className=\"grid gap-8 md:grid-cols-3\">\n {tiers.map((tier) => (\n <Card\n key={tier.name}\n className={tier.highlighted ? \"border-primary shadow-lg\" : \"\"}\n >\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle>{tier.name}</CardTitle>\n {tier.badge && <Badge variant=\"default\">{tier.badge}</Badge>}\n </div>\n <CardDescription>{tier.description}</CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"mb-6\">\n <span className=\"text-4xl font-bold\">{tier.price}</span>\n {tier.price !== \"Custom\" && (\n <span className=\"text-muted-foreground\">/month</span>\n )}\n </div>\n <ul className=\"space-y-3\">\n {tier.features.map((feature) => (\n <li key={feature} className=\"flex items-start\">\n <Check className=\"mr-2 h-5 w-5 text-primary flex-shrink-0\" />\n <span className=\"text-sm\">{feature}</span>\n </li>\n ))}\n </ul>\n </CardContent>\n <CardFooter>\n <Button\n className=\"w-full\"\n variant={tier.highlighted ? \"default\" : \"outline\"}\n >\n {tier.cta}\n </Button>\n </CardFooter>\n </Card>\n ))}\n </div>\n </div>\n </div>\n )\n}\n"
}
],
"type": "components:block",
"category": "Marketing",
"subcategory": "Pricing"
}