Pricing Components
Pricing.tsx exports nine independent layouts — PricingCards, PricingScale, PricingDotPattern, PricingPlansPro, PricingBuilder, PricingTable, PricingSlider, PricingTypographic and PricingPlans — that share one color engine. Pick the layout that matches your funnel, then use the theme control above the gallery to see the accent cascade through badges, gradients, glows and buttons.Selectable workspace plans
Interactive radio-selectable plans with Monthly/Annual toggle, team seat stepper, and responsive mobile accordion view.
- Set
variant"plans-pro" - for selectable workspace plans with a sliding Monthly/Annual switch, Team Seats stepper, and orbiting border on the selected tier.
- Render
PricingPlansPro - with
plans(monthlyPrice,yearlyPrice,subtitle,features). Automatically switches from a 3-column card grid on desktop to an expandable radio stack on mobile. scalePriceWithUsers{true}- multiplies each plan's displayed price as the user increments or decrements the Team Seats stepper.
Installation
New project? Follow the installation guide to set up Tailwind CSS, shadcn, the cn helper and lucide-react, register the @avara-ui registry once, then copy your styles from the Themes page.
Install Pricing
components/ is written into your project. Copy any snippet from a Usage tab above and it runs.
Install dependencies
Step 1 installs these for you. Run them yourself only if you are adding Pricing to an existing project by hand. The cn helper and lucide-react are not listed — the installation guide covers them once for every component.
button, tilted-card and toggle-group are components, not packages — the shadcn CLI installs them as source files.
Examples
Tiered cards
One card per plan, with a billing-cycle tab strip above them.
- Set
variant"default" - for the classic three-column tiered subscription layout.
- Pass
data - as
{ tabs: [{ plans: [...] }] }— the tabs become the billing-cycle strip. popular{true}- on a plan scales that card up, accents it with the theme border, and adds a subtle 3D tilt hover effect.
Dot matrix cards
Minimalist cards with top dot-matrix pattern, corner frame accents, and featured glow state.
- Set
variant"dot-pattern" - for minimalist cards with a dot-matrix header pattern and corner angle brackets.
- Render
PricingDotPattern - with
plans— each abadgeTag,price,period,descriptionandfeaturesunder afeaturesTitle.featuredgives that card the glow.
Scale cards
Modern dual-card layout with launch & scale plans, monthly/annual toggle, and bottom strategy call CTA.
- Set
variant"scale" - for the dual-panel launch & scale cards with a bottom strategy-call banner.
- Render
PricingScale - with
plansas{ monthly, annually }— two plans each. A plan'spopularBadgeTextandfeaturesTitlelabel the highlighted card and its list;footerTitle,footerSubtitleandfooterCtaText/footerCtaHrefwrite the strategy-call strip.
Elegant cards
- Set
variant"elegant" - for a lighter type scale and a top-border accent that lifts on hover.
counting{false}- disables animated price counting for a static numeric display.
Minimal cards
- Set
variant"minimal" - to drop the card borders — the popular plan is marked by a single ring instead.
Bordered cards
- Set
variant"bordered" - for the neo-brutalist take: square corners, thick borders, offset shadows.
Quote builder
- Set
variant"builder" - for an interactive modular quote calculator.
color- is
PricingBuilder's primary theme prop — it carries its own module data and recalculates the animated total itself.
Comparison table
- Set
variant"table" - for a multi-column feature comparison matrix.
data- on
PricingTablelays plans out as columns and features as grouped rows. Avaluesentry may betrue,falseor a string.
Usage slider
- Set
variant"slider" - for a volume-based range slider pricing tier.
data- on
PricingSliderdefines the volume tiers — dragging updates the tier, price and included limits together.
Typographic menu
- Set
variant"typographic" - for an editorial horizontal list layout.
data- on
PricingTypographictakes every plan in one array; tag each withbillingCycleto drive the monthly/yearly switch — aToggleGroupin the block'scolor.
Interactive service checklist
- Set
variant"plans" - for an interactive service toggle checklist and live quote card.
PricingPlans- calculates estimated cost based on selected services (Design, Development, Fast Track).
Props Reference: PricingCards
| Prop | Type | Default | Description |
|---|---|---|---|
data | PricingData | Required | The core data object containing an array of tabs (e.g.
Monthly vs Annually), which in turn contain an array of
plans. |
variant | | "default" | Applies structural card layouts. dot-pattern renders dot-matrix header cards, scale renders dual-panel scaling cards, bordered uses neo-brutalist edges, and elegant uses soft border-top accents. |
title | string | undefined | Optional section header title text displayed above the pricing cards. |
subtitle | string | undefined | Optional subheader text displayed underneath the main title. |
badgeText | string | undefined | Optional top badge tag text rendered above the section title. |
color | "indigo" | "rose" | "emerald" | "zinc" | string | "indigo" | Applies global color themes to the "Most Popular" badges, checkmark
icons, primary buttons, and gradients. Any custom hex string is
resolved through CSS variables. |
counting | boolean | true | Toggles animated number count-up for price values across all plans.
When set to true, prices count up smoothly on mount or tab change; when false, prices display statically without animation. |
Props Reference: Other Layouts
| Component | Prop | Type | Default | Description |
|---|---|---|---|---|
PricingBuilder | counting | boolean | true | Controls animated count-up for the calculated total price. |
PricingBuilder | color | PricingColor | "indigo" | Accent for the module toggles, animated total and call to action. |
PricingTable | data | PricingTableData | Required | plans become the columns (one may set
featured) and sections group the feature
rows. |
PricingTable | counting | boolean | true | Toggles animated count-up for plan prices in column headers. |
PricingTable | color | PricingColor | "indigo" | Accent for the featured column, checkmarks and buttons. |
PricingSlider | counting | boolean | true | Controls animated count-up when dragging the usage volume slider. |
PricingSlider | color | PricingColor | "indigo" | Accent for the range track, thumb and computed price. |
PricingTypographic | packages | PricingTypographicPlan[] | Required | A flat list of plans split by billingCycle. |
PricingTypographic | counting | boolean | true | Toggles animated count-up for active plan prices. |
PricingTypographic | color | PricingColor | "indigo" | Accent for the active row, price and underline treatment. |
PricingPlans | services | PricingServiceOption[] | List of selectable service items with pricing, icons and feature bullet points. | |
PricingPlans | color | PricingColor | Accent theme color for selected checkboxes, total calculation and CTA button. | |
PricingScale | plans | { monthly: ScalePlanItem[]; annually: ScalePlanItem[] } | Object containing monthly and annually arrays of pricing plan cards with titles, prices, icons and features. | |
PricingScale | badgeText / title / subtitle | string | Custom text props for top pill badge, section heading, and description paragraph. | |
PricingScale | footerTitle / footerSubtitle / footerCtaText / footerCtaHref | string | Configuration props for the bottom strategy call CTA banner. | |
PricingScale | color | PricingColor | Applies accent color to popular plan ring/badge, checkmarks, active toggle, and CTA buttons. | |
PricingPlansPro | plans | PlansProItem[] | defaultPlansProItems | Array of selectable plan tiers ( Starter, Growth, Scale) with monthlyPrice, yearlyPrice, subtitle, and features. |
PricingPlansPro | layoutMode | "responsive" | "horizontal" | "vertical" | "responsive" | Renders a 3-column horizontal grid on desktop and automatically switches to a vertical expandable radio stack on mobile screens. |
PricingPlansPro | scalePriceWithUsers | boolean | true | Multiplies each plan's displayed price dynamically as the user adjusts the seat counter stepper. |