import { Heading } from '@/ui/Heading'; import { Icon } from '@/ui/Icon'; import { Stack } from '@/ui/Stack'; import { Text } from '@/ui/Text'; import { Check, Info } from 'lucide-react'; export interface PricingTier { id: string; name: string; price: number; priceLabel: string; period: string; description: string; features: string[]; isPopular?: boolean; available?: boolean; } interface PricingTableShellProps { title: string; tiers: PricingTier[]; onSelect?: (id: string) => void; selectedId?: string; } /** * PricingTableShell * * A semantic component for displaying sponsorship pricing tiers. * Clean, comparison-focused layout. */ export function PricingTableShell({ title, tiers, onSelect, selectedId }: PricingTableShellProps) { return ( {title} {tiers.map((tier) => ( onSelect?.(tier.id)} transition-all hoverBorderColor={selectedId === tier.id ? 'border-primary-blue' : 'border-charcoal-outline'} > {tier.isPopular && ( Popular )} {tier.name} {tier.priceLabel} /{tier.period} {tier.description} {tier.features.map((feature, i) => ( {feature} ))} {!tier.available && ( Currently Unavailable )} ))} ); }