Components
Pricing Sections
Pricing sections help users understand your product offerings and choose the right plan. These components support various layouts from simple cards to detailed feature comparisons.
Component Variants
Single Pricing Card
Pro Plan
Everything you need for professional development.
$29/month
- All core components
- TypeScript support
- Dark mode support
- Responsive design
- Priority support
- Custom components
Highlighted Pricing Card
Most Popular
Pro Plan
Our most popular plan for teams.
$29/month
- All core components
- TypeScript support
- Dark mode support
- Responsive design
- Priority support
- Advanced components
Simple Pricing Grid (3 Tiers)
Starter
Perfect for side projects and learning.
$0/month
- All core components
- TypeScript support
- Community support
- Basic documentation
- Priority support
- Custom components
Most Popular
Pro
For professional developers and teams.
$29/month
- All core components
- TypeScript support
- Dark mode support
- Responsive design
- Priority support
- Advanced components
Enterprise
For large teams and organizations.
$99/month
- All Pro features
- Custom components
- Dedicated support
- SLA guarantee
- Source code access
- Training sessions
Tiered Pricing (Monthly/Yearly Toggle)
MonthlyYearlySave 20%
Basic
Essential features for small projects.
$9/month
- All core components
- TypeScript support
- Community support
- Basic documentation
- Priority support
- Custom components
Most Popular
Pro
Advanced features for growing teams.
$29/month
- All core components
- TypeScript support
- Dark mode support
- Responsive design
- Priority support
- Advanced components
Enterprise
Custom solutions for large organizations.
$99/month
- All Pro features
- Custom components
- Dedicated support
- SLA guarantee
- Source code access
- Training sessions
Feature Comparison Table
| Feature | |||
|---|---|---|---|
| Components | |||
| Core components | |||
| Advanced components | |||
| Custom components | |||
| Component library | 50+ | 100+ | Unlimited |
| Support | |||
| Community support | |||
| Email support | |||
| Priority support | |||
| Response time | 48h | 24h | 4h |
| Features | |||
| Dark mode | |||
| TypeScript | |||
| Figma files | |||
| Source code | |||
Minimal Pricing (Horizontal)
Hobby
For personal projects
Free
Pro
For professional use
$29/mo
Team
For teams and orgs
$79/mo
Usage
import {
PricingCard,
PricingSimple,
PricingTiered,
PricingComparison,
PricingMinimal,
} from '@/components/ui/pricing';
// Single Pricing Card
<PricingCard
name="Pro Plan"
description="Everything you need."
price="$29"
period="/month"
features={[
{ text: 'Feature 1', included: true },
{ text: 'Feature 2', included: false },
]}
buttonText="Get started"
buttonHref="/signup"
highlighted
badge="Popular"
/>
// Simple Pricing Grid
<PricingSimple
tiers={[
{ name: 'Free', price: '$0', ... },
{ name: 'Pro', price: '$29', highlighted: true, ... },
{ name: 'Enterprise', price: '$99', ... },
]}
/>
// Tiered Pricing with Toggle
<PricingTiered
tiers={[
{ name: 'Basic', monthlyPrice: '$9', yearlyPrice: '$86', ... },
{ name: 'Pro', monthlyPrice: '$29', yearlyPrice: '$278', ... },
]}
/>
// Feature Comparison
<PricingComparison
tiers={[
{ name: 'Free', price: '$0', buttonText: 'Start', buttonHref: '#' },
{ name: 'Pro', price: '$29', highlighted: true, ... },
]}
categories={[
{
name: 'Features',
features: [
{ name: 'Dark mode', tiers: { Free: true, Pro: true } },
{ name: 'Support', tiers: { Free: '48h', Pro: '24h' } },
],
},
]}
/>
// Minimal Horizontal Layout
<PricingMinimal
tiers={[
{ name: 'Hobby', description: 'For personal projects', price: 'Free', ... },
{ name: 'Pro', description: 'For teams', price: '$29', highlighted: true, ... },
]}
/>
Props Reference
PricingCard
| Prop | Type | Default | Description |
|---|---|---|---|
name | string | Required | Plan name |
description | string | Required | Plan description |
price | string | Required | Price display |
period | string | '/month' | Billing period |
features | PricingFeature[] | Required | Feature list |
buttonText | string | Required | CTA button text |
buttonHref | string | Required | CTA button link |
highlighted | boolean | false | Apply highlight styling |
badge | string | - | Optional badge text |
PricingFeature
| Prop | Type | Description |
|---|---|---|
text | string | Feature description |
included | boolean | Whether feature is included |
PricingSimple
| Prop | Type | Default | Description |
|---|---|---|---|
tiers | PricingCardProps[] | Required | Array of tier configurations |
PricingTiered
| Prop | Type | Default | Description |
|---|---|---|---|
tiers | PricingTier[] | Required | Array of tier configurations |
PricingTier
Extends PricingCardProps but replaces price/period with:
| Prop | Type | Description |
|---|---|---|
monthlyPrice | string | Monthly price display |
yearlyPrice | string | Yearly price display |
PricingComparison
| Prop | Type | Default | Description |
|---|---|---|---|
tiers | ComparisonTier[] | Required | Column headers |
categories | ComparisonCategory[] | Required | Feature categories |
PricingMinimal
| Prop | Type | Default | Description |
|---|---|---|---|
tiers | MinimalTier[] | Required | Array of tier configurations |