Your plan
Creator
kr 495 per month, billed annually.
HEEx
<div class="w-xs">
<ConnieUI.Billing.plan_card>
<:badge>
<ConnieUI.Badges.badge color="brand" size="sm">Your plan</ConnieUI.Badges.badge>
</:badge>
<ConnieUI.Layouts.vstack gap="sm" class="pt-6">
<ConnieUI.Typography.heading level="h3">Creator</ConnieUI.Typography.heading>
<ConnieUI.Typography.muted>kr 495 per month, billed annually.</ConnieUI.Typography.muted>
<ConnieUI.Buttons.button color="secondary" disabled>Current plan</ConnieUI.Buttons.button>
</ConnieUI.Layouts.vstack>
</ConnieUI.Billing.plan_card>
</div>
Variant matrix
Every combination of one or two attributes, side by side.
Controls
Docs
A single plan in a pricing grid.
The grid escalates in visual weight across the tiers, so the two dearest plans
invert to light-on-dark. `emphasis` is the highlighted tier and is the darkest
surface; `premium` sits above it in price but reads lighter, which keeps the
highlight on the plan being recommended rather than on the most expensive one.
`emphasis` and `premium` set `inverted`, so descendants written against the
`inverted:` custom variant (`ConnieUI.Typography`, or a consumer reaching for
`inverted:text-primary_on-brand`) flip without the caller branching on tone.
The tones deliberately avoid `bg-brand-section` and `bg-overlay`: brand-800 is
too saturated to sit beside a white sibling card, and gray-950 reads as a hole
punched in the page rather than as a heavier surface.
The badge sits top right, clear of the heading row, so a long plan name and a
badge never compete for the same horizontal space. The caller is expected to
leave room for it above the heading on every card, badged or not, so the titles
stay on one baseline across the grid.
The card isolates its own stacking, so the badge's z-index lifts it above the
card's content and no further. Without that it competes with the page's
sticky header at the same z-index, and the later badge paints over the header
as the grid scrolls under it.
| Attribute | Type | Default | Description |
|---|---|---|---|
| No data found. | |||
| tone | :string | "base" |
base | shaded | emphasis | premium
|
| Slot | Slot attributes | Description |
|---|---|---|
| No data found. | ||
| :badge | ||
| inner_block * | ||