{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "pricing-cards-tooltip", "type": "registry:ui", "title": "Pricing Cards with Tooltips", "description": "A clean two-column pricing comparison with feature tooltips and corner decorations. Inspired by ZippyStarter design.", "dependencies": [ "lucide-react" ], "registryDependencies": [ "tooltip" ], "files": [ { "path": "registry/ruixenui/pricing-cards-tooltip.tsx", "content": "\"use client\";\n\nimport { Check, Info } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\n\ninterface PricingFeature {\n text: string;\n tooltip?: string;\n}\n\ninterface PricingTier {\n label: string;\n price: string;\n priceSuffix?: string;\n cta: string;\n ctaHref?: string;\n description: string;\n features: PricingFeature[];\n highlighted?: boolean;\n}\n\ninterface PricingCardsTooltipProps {\n tiers?: PricingTier[];\n showCornerMarks?: boolean;\n className?: string;\n}\n\nconst defaultTiers: PricingTier[] = [\n {\n label: \"STARTER\",\n price: \"Free\",\n cta: \"Get Started\",\n ctaHref: \"#\",\n description: \"Perfect for side projects and experimentation\",\n features: [\n {\n text: \"Up to 3 projects\",\n tooltip: \"Create and manage up to 3 active projects\",\n },\n {\n text: \"Basic analytics\",\n tooltip: \"Track page views and basic user metrics\",\n },\n {\n text: \"Community support\",\n tooltip: \"Get help from our active community forums\",\n },\n {\n text: \"Standard API access\",\n tooltip: \"1,000 API calls per month included\",\n },\n {\n text: \"Email notifications\",\n tooltip: \"Receive alerts for important events\",\n },\n ],\n },\n {\n label: \"PRO\",\n price: \"29\",\n priceSuffix: \"/mo\",\n cta: \"Upgrade to Pro\",\n ctaHref: \"#\",\n description: \"For professionals who need more power\",\n highlighted: true,\n features: [\n {\n text: \"Unlimited projects\",\n tooltip: \"No limits on the number of projects you can create\",\n },\n {\n text: \"Advanced analytics\",\n tooltip: \"Detailed insights with custom dashboards and reports\",\n },\n {\n text: \"Priority support\",\n tooltip: \"Get responses within 24 hours from our team\",\n },\n {\n text: \"Unlimited API access\",\n tooltip: \"No rate limits on API calls\",\n },\n {\n text: \"Custom integrations\",\n tooltip: \"Connect with your favorite tools via webhooks\",\n },\n {\n text: \"Team collaboration\",\n tooltip: \"Invite up to 10 team members to your workspace\",\n },\n {\n text: \"Export & backup\",\n tooltip: \"Download your data anytime in multiple formats\",\n },\n ],\n },\n];\n\nfunction CornerMark({ className }: { className?: string }) {\n return (\n \n );\n}\n\nfunction FeatureRow({ feature }: { feature: PricingFeature }) {\n return (\n
\n {tier.label}\n
\n\n {/* Price */}\n{tier.description}
\n\n {/* Features */}\n