Pricing 2
uifoundry/pricing-2UnverifiedBlock
Pricing table with three-column layout, popular badge, and feature lists
Install it
npx shadcn@latest add https://raw.githubusercontent.com/UIFoundry/uifoundry/master/pricing-2.jsonSource
1/**2 * Pricing 2 Component3 *4 * Source: https://tailark.com/preview/dusk/pricing/two5 * License: Free Tier6 * Adapted from: Tailark7 *8 * Modifications:9 * - Integrated with PayloadCMS block system10 * - Replaced hardcoded content with dynamic props11 */121314import { Check } from "lucide-react";15import Link from "next/link";1617import type { Pricing_2_Block } from "~/payload-types";1819import { cn } from "@/registry/default/utils";20import { Button } from "@/registry/ui/button";2122export * from "./config";2324export default function Pricing2(props: NonNullable<Pricing_2_Block>) {25 return (26 <section className="py-16 md:py-32">27 <div className="mx-auto max-w-6xl px-6">28 <div className="mx-auto max-w-2xl space-y-6 text-center">29 <h1 className="text-center text-4xl font-semibold lg:text-5xl">30 {props?.header ?? ""}31 </h1>32 <p>{props?.subheader ?? ""}</p>33 </div>3435 <div className="mt-8 grid gap-6 md:mt-20 md:grid-cols-3">36 {(props?.tiers ?? []).map((tier, index) => (37 <PricingCard key={`pricing-2-tier-${index}`} tier={tier} />38 ))}39 </div>40 </div>41 </section>42 );43}4445function PricingCard({46 tier,47}: {48 tier: NonNullable<Pricing_2_Block["tiers"]>[number];49}) {50 if (!tier) {51 return null;52 }5354 return (55 <div className="relative flex flex-col rounded-xl border bg-muted shadow-sm">56 {tier.isPopular && (57 <span className="absolute inset-x-0 -top-3 mx-auto flex h-6 w-fit items-center rounded-full bg-linear-to-br/increasing from-purple-400 to-amber-300 px-3 py-1 text-xs font-medium text-amber-950">58 Popular59 </span>60 )}6162 <div className="flex flex-col gap-1.5 p-6">63 <h3 className="font-medium leading-none tracking-tight">{tier.name}</h3>64 <span className="my-3 block text-2xl font-semibold">65 ${tier.price} / {tier.period}66 </span>67 {tier.description && (68 <p className="text-sm text-muted-foreground">{tier.description}</p>69 )}70 </div>7172 <div className="space-y-4 p-6 pt-0">73 <hr className="border-dashed" />74 <ul className="list-outside space-y-3 text-sm">75 {(tier.features ?? []).map((feature, idx) => (76 <li77 className="flex items-center gap-2"78 key={`pricing-2-tier-${tier.name}-feature-${idx}`}79 >80 <Check className="size-3" />81 {feature.text}82 </li>83 ))}84 </ul>85 </div>8687 <div className="mt-auto flex items-center p-6 pt-0">88 <Button89 asChild90 className="w-full"91 variant={tier.isPopular ? "default" : "outline"}92 >93// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from uifoundry
All 54 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Color Fieldcolor-field | uifoundry | Blocks | Unverified | 4 deps · 2 files | |
| Coming Soon 1coming-soon-1 | uifoundry | Blocks | Unverified | 3 deps · 2 files | |
| CTA 1cta-1 | uifoundry | Blocks | Unverified | 3 deps · 2 files | |
| CTA 2cta-2 | uifoundry | Blocks | Unverified | 3 deps · 2 files | |
| CTA 3cta-3 | uifoundry | Blocks | Unverified | 3 deps · 2 files | |
| Custom Headercustom-header | uifoundry | Blocks | Unverified | 4 deps · 3 files | |
| Features 1features-1 | uifoundry | Blocks | Unverified | 3 deps · 2 files | |
| Features 2features-2 | uifoundry | Blocks | Unverified | 4 deps · 2 files |
