# Pricing Table Four URL: /docs/components/pricing-table/pricing-table-four The Pricing Table Four component provides a modern icon-based design for displaying pricing plans. This component features clean layouts, smooth animations, and support for both minimal and classic themes. *** title: Pricing Table Four description: The Pricing Table Four component provides a modern icon-based design for displaying pricing plans. This component features clean layouts, smooth animations, and support for both minimal and classic themes. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ## Classic Theme ```tsx title="src/components/pricing-table-four-demo.tsx" "use client"; import { PricingTableFour } from "@/components/billingsdk/pricing-table-four"; import { plans } from "@/lib/billingsdk-config"; export function PricingTableFourDemo() { return ( console.log("Selected plan:", planId)} size="medium" className="w-full" showBillingToggle={true} billingToggleLabels={{ monthly: "Monthly", yearly: "Yearly", }} /> ); } ``` ## Minimal Theme ```tsx title="src/components/pricing-table-four-minimal-demo.tsx" "use client"; import { PricingTableFour } from "@/components/billingsdk/pricing-table-four"; import { plans } from "@/lib/billingsdk-config"; export function PricingTableFourMinimalDemo() { return ( console.log("Selected plan:", planId)} size="medium" className="w-full" showBillingToggle={true} billingToggleLabels={{ monthly: "Monthly", yearly: "Yearly", }} /> ); } ``` ## Installation ```bash npx shadcn@latest add @billingsdk/pricing-table-four ``` ```bash pnpm dlx shadcn@latest add @billingsdk/pricing-table-four ``` ```bash yarn dlx shadcn@latest add @billingsdk/pricing-table-four ``` ```bash bunx shadcn@latest add @billingsdk/pricing-table-four ``` ```bash npx @billingsdk/cli add pricing-table-four ``` ```bash pnpm dlx @billingsdk/cli add pricing-table-four ``` ```bash yarn dlx @billingsdk/cli add pricing-table-four ``` ```bash bunx @billingsdk/cli add pricing-table-four ``` ## Usage ```tsx import { PricingTableFour } from "@/components/billingsdk/pricing-table-four"; import { plans } from "@/lib/billingsdk-config"; ``` ```tsx console.log('Selected plan:', planId)} size="medium" // small, medium, large theme="classic" // minimal or classic /> ``` ## Props | Prop | Type | Description | | --------------------- | ------------------------------------- | ------------------------------------------------------------------------------ | | `plans` | `Plan[]` | Array of pricing plans (see [Plan interface](/docs/interfaces#plan-interface)) | | `title` | `string` | Main title for the pricing section | | `description` | `string` | Subtitle description | | `subtitle` | `string` | Optional subtitle text (displayed above title) | | `onPlanSelect` | `(planId: string) => void` | Callback when a plan is selected | | `size` | `"small" \| "medium" \| "large"` | Size variant of the pricing table | | `theme` | `"minimal" \| "classic"` | Theme variant of the pricing table | | `showBillingToggle` | `boolean` | Show/hide the monthly/yearly toggle (default: true) | | `billingToggleLabels` | `{ monthly: string; yearly: string }` | Custom labels for billing toggle | ## Features * **Dual Theme Support**: Choose between minimal and classic themes * **Icon-Based Design**: Each plan includes customizable icons for visual distinction * **Responsive Layout**: Grid-based layout that adapts to different screen sizes * **Interactive Elements**: Hover effects and smooth transitions * **Billing Toggle**: Monthly/yearly billing toggle with discount display * **Highlight Support**: Special styling for featured/popular plans with badges * **Customizable Sizing**: Small, medium, and large size variants * **Smooth Animations**: Animated price transitions and feature list reveals ## 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](/docs/theming) page. ## Example ```tsx title="src/components/pricing-table-four-demo.tsx" "use client"; import { PricingTableFour } from "@/components/billingsdk/pricing-table-four"; import { plans } from "@/lib/billingsdk-config"; export function PricingTableFourDemo() { return ( console.log("Selected plan:", planId)} size="medium" className="w-full" showBillingToggle={true} billingToggleLabels={{ monthly: "Monthly", yearly: "Yearly", }} /> ); } ```