Tier ladder
Five-tier comparison table with grouped rows.
Usage
import { TierLadder } from '@/components/blocks/comparison-02'
<TierLadder />
// Your own tiers and groups. true is Included, false is Not included, null is Not available.
<TierLadder
heading="Plans that grow with you"
tiers={[
{ name: 'Free' },
{ name: 'Pro', recommended: true },
{ name: 'Team' },
]}
groups={[
{
label: 'Basics',
rows: [
{ label: 'Projects', icon: 'cloud', values: ['3', '50', 'Unlimited'] },
{ label: 'Version history', icon: 'history', tooltip: 'How far back you can restore.', values: [null, true, true] },
],
},
]}
highlightRow="Version history"
/>
Install
pnpm dlx shadcn@latest add @pastaui-pro/comparison-02npx shadcn@latest add @pastaui-pro/comparison-02yarn dlx shadcn@latest add @pastaui-pro/comparison-02bunx --bun shadcn@latest add @pastaui-pro/comparison-02Source
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | string | = 'Compare plans' | Small label above the heading. |
| heading | string | = 'Room for every photo your family takes' | Section heading. |
| description | string | = Sepiary plans blurb | Muted paragraph under the heading. |
| brand | string | = 'Sepiary' | Wordmark in the top-left corner of the table, also used in the caption. |
| tiers | { name: string; recommended?: boolean }[] | = Pocket, Shoebox, Attic, Archive and Heirloom | Plan columns, headed by name. The recommended tier gets a faint blue column tint, a small label and the lift-in entrance. |
| groups | { label: string; rows: { label: string; icon?: 'cloud' | 'photo' | 'video' | 'history' | 'family' | 'share' | 'link' | 'lock' | 'id' | 'support'; tooltip?: string; values: (string | boolean | null)[] }[] }[] | = Three groups of Sepiary features | Feature groups with one value per tier. true shows a blue check, false a muted cross, null a dash, and strings show as text. |
| highlightRow | string | = 'Undo deleted files' | Label of the row tinted as a soft blue band across every column. |
| className | string | = — | Additional classes for the section. |
| style | CSSProperties | = — | Inline styles, handy for overriding the --pp-* color variables. |