A light editorial pricing page: pill navbar, three per-seat tiers on a monthly and yearly toggle, a sticky split FAQ answering the billing questions, a closing panel floating a live plan card, and a newsletter footer.
Composed from 5 blocks. Installing this page installs all of them, plus the pieces and primitives they use.
Built in the Sirius collection.
A light editorial pricing page: a pill navbar, three per-seat tiers on a monthly and yearly toggle, a sticky split FAQ answering the billing questions, a closing panel floating a live plan card, and a newsletter footer. Five blocks, one install, and the shortest page in the set.
Upgrade to Pro
Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.
Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.
npx shadcn add "https://ui.beste.co/page/r/pricing1?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the page to components/beste/page/pricing1.tsx and everything behind it: the five blocks it composes (navbar73, pricing71, faq79, cta76, footer120), the money22, button21 and badge23 components they use, and the shadcn/ui tabs and button primitives. Nine files, no follow-up installs.
The installed file exports pricing1Demo alongside the page: the exact props behind the preview above. Spread it to get a working page in one line.
import { Pricing1, pricing1Demo } from "@/components/beste/page/pricing1";
export default function Page() {
return <Pricing1 {...pricing1Demo} />;
}Each section is a separate prop, so the usual next step is to keep the demo and replace one section at a time. On this page that is nearly always pricing.
import { Pricing1, pricing1Demo } from "@/components/beste/page/pricing1";
export default function Page() {
return (
<Pricing1
{...pricing1Demo}
pricing={{
label: "Pricing",
heading: "Per seat, and the yearly price is two months off.",
plans: [
{ name: "Starter", monthly: "$12", yearly: "$120", description: "Up to five seats." },
{ name: "Studio", monthly: "$19", yearly: "$190", description: "Everything, no seat cap." },
{ name: "Group", monthly: "Talk to us", yearly: "Talk to us", description: "Invoicing and SSO." },
],
}}
/>
);
}Every prop is the full prop object of the block that renders that section, so anything the block accepts is accepted here.
| Prop | Type | Default | Description |
|---|---|---|---|
navbar | ComponentProps<typeof Navbar73> | – | Pill navbar |
pricing | ComponentProps<typeof Pricing71> | – | Three tiers on a monthly and yearly toggle |
faq | ComponentProps<typeof Faq79> | – | Sticky split FAQ for billing questions |
cta | ComponentProps<typeof Cta76> | – | Closing panel floating a plan card |
footer | ComponentProps<typeof Footer120> | – | Newsletter footer |
className | string | – | Extra classes for the page's outer wrapper |
| Section | Block | Notes |
|---|---|---|
| Navbar | navbar73 | Not sticky; the page is short enough to see whole |
| Pricing | pricing71 | The toggle is tabs inside the block, hence the dependency |
| Questions | faq79 | Given bg-muted/40; the heading column sticks while answers scroll |
| Closing | cta76 | Rendered on the inverted band, floating a live plan card |
| Footer | footer120 | Newsletter capture |
faq removes that section entirely rather than rendering an empty one.pricing71, not something the page lifts. Both prices are passed per plan and the block decides which to show.className="bg-muted/40" on the FAQ after spreading faq, so a className passed inside that prop is overridden.dark class, which swaps the theme tokens for that subtree, so the plan card floating inside it inverts with the band rather than staying light.navbar73
A navbar with a dark announcement strip above a hairline-bordered row carrying a lowercase wordmark, uppercase links, a sign-in link, an accent call to action, and a mobile menu.
pricing71
A three-tier pricing grid whose monthly and yearly toggle swaps both the light figure and the billing note on every card, with the recommended tier outlined in the accent.
faq79
A two-column FAQ with a sticky eyebrow, light heading, and support call to action on the left, and an interactive accordion of questions on the right.