Billing SDK/Billing SDK
Pricing TablesPricing Table One

Pricing Table One

The Pricing Table One component provides a clean and modern design for displaying pricing plans. You can use this component to display your pricing plans in a clean and modern way.

Classic Theme

Pricing

Choose the plan that's right for you

Starter
$0

per month

  • Presence
  • Comments
  • Notifications
  • Text Editor
  • Sync Datastore
Most Popular
Pro
$20

per month

  • Presence
  • Comments
  • Notifications
  • Text Editor
  • Sync Datastore
Enterprise
Custom

per month

  • Presence
  • Comments
  • Notifications
  • Text Editor
  • Sync Datastore
src/components/pricing-table-one-demo.tsx
"use client"

import { PricingTableOne } from "@/components/billingsdk/pricing-table-one"
import { plans } from "@/lib/billingsdk-config"

export function PricingTableOneDemo() {
    return <>
        <PricingTableOne plans={plans}
            title="Pricing"
            description="Choose the plan that's right for you"
            onPlanSelect={(planId) => console.log('Selected plan:', planId)}
            size="medium" // small, medium, large
            theme="classic" // minimal or classic
            className="w-full"
        />
    </>
}

Minimal Theme

Pricing

Choose the plan that's right for you

Starter
$0

per month

  • Presence
  • Comments
  • Notifications
  • Text Editor
  • Sync Datastore
Pro
$20

per month

  • Presence
  • Comments
  • Notifications
  • Text Editor
  • Sync Datastore
Enterprise
Custom

per month

  • Presence
  • Comments
  • Notifications
  • Text Editor
  • Sync Datastore
src/components/pricing-table-one-minimal-demo.tsx
"use client"

import { PricingTableOne } from "@/components/billingsdk/pricing-table-one"
import { plans } from "@/lib/billingsdk-config"

export function PricingTableOneMinimalDemo() {
    return <>
        <PricingTableOne plans={plans}
            title="Pricing"
            description="Choose the plan that's right for you"
            onPlanSelect={(planId) => console.log('Selected plan:', planId)}
            size="small" // small, medium, large
            theme="minimal" // minimal or classic
            className="w-full"
        />
    </>
}

Installation

npx shadcn@latest add @billingsdk/pricing-table-one
pnpm dlx shadcn@latest add @billingsdk/pricing-table-one
npx shadcn@latest add @billingsdk/pricing-table-one
npx @billingsdk/cli add pricing-table-one
pnpm dlx @billingsdk/cli add pricing-table-one
npx @billingsdk/cli add pricing-table-one

Usage

import { PricingTableOne } from "@/components/billingsdk/pricing-table-one";
import { plans } from "@/lib/billingsdk-config";
<PricingTableOne 
  plans={plans}
  title="Pricing"
  description="Choose the plan that's right for you"
  onPlanSelect={(planId) => console.log('Selected plan:', planId)}
  size="small" // small, medium, large
  theme="classic" // minimal or classic
/>

Props

PropTypeDescription
plansPlan[]Array of pricing plans (see Plan interface)
titlestringMain title for the pricing section
descriptionstringSubtitle description
onPlanSelect(planId: string) => voidCallback when a plan is selected
size"small" | "medium" | "large"Size variant of the pricing table
theme"minimal" | "classic"Theme variant of the pricing table

Theming

The pricing table component is styled using the shadcn/ui library. You can customize the colors and fonts by overriding the CSS variables. You can also get the theme from the Theming page.

Example

src/components/pricing-table-one-demo.tsx
"use client"

import { PricingTableOne } from "@/components/billingsdk/pricing-table-one"
import { plans } from "@/lib/billingsdk-config"

export function PricingTableOneDemo() {
    return <>
        <PricingTableOne plans={plans}
            title="Pricing"
            description="Choose the plan that's right for you"
            onPlanSelect={(planId) => console.log('Selected plan:', planId)}
            size="medium" // small, medium, large
            theme="classic" // minimal or classic
            className="w-full"
        />
    </>
}