PricingPlan
A complete plan card with a price, billing period, feature list and navigation action.
PricingPlanA plan with all its context
The price and period are display text, so the application owns currency formatting and billing logic.
Team workspace
An illustrative plan for a small team.
- Shared component library
- Theme-aware documentation
<PricingPlan
title="Team workspace"
summary="An illustrative plan for a small team."
price="$24"
period="per month, billed monthly"
badge="Example"
note="Demo pricing only. No purchase is available."
icon="lucide:check"
ctaLabel="Explore the components"
ctaLink="/components/"
tone="accent"
>
<PricingFeature>Shared component library</PricingFeature>
<PricingFeature>Theme-aware documentation</PricingFeature>
</PricingPlan> A quiet plan without an action
Omit either CTA prop to leave out the link. A note can explain how to proceed.
<PricingPlan
title="Custom workspace"
summary="A configuration you define."
price="Custom"
note="Use this layout with your own plan data."
variant="outline"
>
<PricingFeature>Flexible composition</PricingFeature>
</PricingPlan> Behavior and accessibility
Use clear billing text and disclose relevant limits alongside the price. A CTA is rendered only when both ctaLabel and ctaLink are set. There is no checkout behavior built into the component.
API reference
PricingPlan contract
Props below are the public template API. RefOrValue accepts a literal or a reactive ref; bind refs with a colon-prefixed attribute. Native attributes and events can be passed through the component root.
title
RefOrValue<string> - Default
not set
Visible heading. Choose a short title that identifies the content or task.
summary
RefOrValue<string> - Default
not set
A concise explanation beneath the heading.
price
RefOrValue<string> - Default
not set
Display price. May include currency or non-numeric text.
period
RefOrValue<string> - Default
not set
Billing period displayed with the price.
badge
RefOrValue<string> - Default
not set
Optional compact label rendered with Badge.
note
RefOrValue<string> - Default
not set
Supporting note after the features and action.
variant
RefOrValue<ComponentVariant> - Default
surface
Visual treatment. Accepts solid, surface, surfaceAlt, spotlight, glass, flat, flatAlt, flatSolid, outlineFill, outline, subtle, subtleBtn, link, sheen, underline, rail, bracket or none.
variantMode
RefOrValue<ComponentVariantMode> - Default
stateless
Use stateless for content surfaces; stateful enables the treatment’s hover, focus and active styles. It does not add interaction handlers.
icon
RefOrValue<string> - Default
not set
Registered SVG icon name. In browser apps, include the icon in the resolver passed to defineIconComponents.
ctaLabel
RefOrValue<string> - Default
not set
CTA link text. Requires ctaLink.
ctaLink
RefOrValue<string> - Default
not set
CTA destination. Requires ctaLabel.
tone
RefOrValue<SemanticTone> - Default
inherited
Semantic intent: neutral, accent, secondary, info, success, warning, danger, feature, custom or ghost. The active skin supplies the colors.
Composition
Default slot: PricingFeature list items inside the generated ul. Register definePricingComponents and its layout, text, button and icon dependencies.