✨ Publier v1 is live — a polished docs platform built for the open web.
Skip to content

PricingTable

Pricing tiers list with price, tagline, feature bullets, CTA, and a featured tier highlight.

The PricingTable component from @publier/shell renders a row of pricing tiers. One tier can be marked featured to get a visual highlight and a “Most popular” badge.

Usage

import { PricingTable } from '@publier/shell/components';
<PricingTable
tiers={[
{
name: 'Hobby',
price: 'Free',
tagline: 'For personal projects.',
features: ['Unlimited pages', 'All themes', 'Community support'],
cta: { label: 'Get started', href: '/docs/getting-started' },
},
{
name: 'Pro',
price: '$19/mo',
tagline: 'For small teams.',
features: ['Everything in Hobby', 'Custom domain', 'Email support'],
cta: { label: 'Start free trial', href: '/pricing/pro' },
featured: true,
},
{
name: 'Enterprise',
price: 'Custom',
tagline: 'For large organizations.',
features: ['Everything in Pro', 'SSO', 'SLA'],
cta: { label: 'Contact sales', href: '/contact' },
},
]}
/>

Props

PricingTable

PropTypeDefaultDescription
tiersPricingTier[]requiredArray of pricing tiers.

PricingTier

PropTypeDefaultDescription
namestringrequiredTier name, e.g. "Pro".
pricestringrequiredPrice string, e.g. "$19/mo" or "Free".
featuresstring[]requiredBullet list of included features.
cta{ label: string; href: string }requiredCall-to-action button.
taglinestringundefinedShort tagline rendered below the price.
featuredbooleanfalseWhen true, highlights the tier and adds a “Most popular” badge.

Behaviour

  • The featured tier’s CTA gets an aria-label of "{label} — {name} (recommended)"; other tiers use just the label.
  • Feature bullets render with a checkmark glyph.
  • All CTAs are plain <a> anchors — no JavaScript.