Pricing Comparison
A complete pricing comparison section, ready to adapt to your product.
Make it yours.
Install the editable source and its dependencies into your React + Tailwind project.
Scroll horizontally for long lines
pnpm dlx shadcn@4.0.8 add http://localhost:3000/r/pricing-comparison.jsonUse it
Scroll horizontally for long lines
"use client";
import {PricingComparison} from '@/components/jez-ui/blocks/pricing-comparison';
export default function Example(){
return <><PricingComparison/></>;
}Props & types
Scroll horizontally for long lines
{ className?: string }Source
View 2 source files
registry/blocks/pricing-comparison.tsx
Scroll horizontally for long lines
"use client";
import * as React from "react";
import { cn } from "../ui/utils";
export function PricingComparison({ className }: { className?: string }) {
return (
<div className={cn("overflow-x-auto py-8", className)}>
<table className="w-full text-left text-sm">
<caption className="mb-5 text-left font-display text-3xl">
Find your fit.
</caption>
<thead>
<tr>
{["Included", "Personal", "Team", "Studio"].map((h) => (
<th className="p-3" key={h}>
{h}
</th>
))}
</tr>
</thead>
<tbody>
{[
["Projects", "3", "Unlimited", "Unlimited"],
["Guests", "1", "10", "Unlimited"],
["Version history", "7 days", "90 days", "Unlimited"],
["Support", "Community", "Email", "Priority"],
].map((r) => (
<tr key={r[0]} className="border-t border-border">
{r.map((v, i) => (
<td key={i} className="p-3">
{v}
</td>
))}
</tr>
))}
</tbody>
</table>
</div>
);
}
registry/ui/utils.ts
Scroll horizontally for long lines
import { clsx, type ClassValue } from "clsx";
import { twMerge } from "tailwind-merge";
export function cn(...values: ClassValue[]) {
return twMerge(clsx(values));
}
Dependencies
clsx@2.1.1 · tailwind-merge@3.5.0
Accessibility & behaviour
Provide meaningful labels and preserve keyboard focus styles. Check contrast when customising theme colours.
Read the accessibility and performance guide →