Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

All Inclusive Pricing Block for React

One price over a wall of everything it includes: 36 features as ticked chips in six ruled groups, with the price and one call to action in the header row and nothing gated or extra to buy.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Show that nothing is held back with this all-inclusive pricing section. A compact header row says it in one line and puts the calm price, $8 per employee a month, and the section's one primary Shine Button on its end. Under it, a wall of 36 ticked chips fills the column: six groups (people, hiring, time and leave, performance, pay, and security and support) of six features each, in cells that share their hairlines and meet the page's rails with + marks. There are no tiers to compare and no add-ons to buy: the wall is the argument. On a phone the wall shows its first eight chips behind an "All 36 included" button. Built with Button, Guides, Shine Button and Lucide icons, with CSS transitions only. For HR, payroll and operations suites, platforms that sell on breadth, and any product with one plan and a long list of what's in it.

FAQ

How do I change the price and the features?

Edit the constants at the top of the file. PRICE is the monthly amount per employee and CURRENCY the symbol before it. GROUPS is the wall: each group has a name and its chips, plain strings with one checkmark each. The "6 included" count on each group, the "All 36 included" label and the header's "All 36 Bramble HR features" are all counted from the data, so adding or removing a chip keeps them right. Six groups of six fill the two-by-three grid exactly; other counts leave a ragged last row.

How do I connect the call to action to checkout?

The call to action is a real link in the header row. Point it at your sign-up or checkout; with a single plan there is nothing to choose, so nothing needs passing along. The link is render={<a href="#" />} on ShineButton, with nativeButton={false}: change its href.

How does the wall behave on a phone?

Below the md breakpoint only the first eight chips show, counted across the whole wall, and any group with no visible chips hides its heading too. The "All 36 included" button below the wall reveals the rest, with aria-expanded set and a chevron that turns; its label stays the same so the state isn't announced twice. From md upwards every chip is always visible and the button isn't rendered.

How are the rails, the marks and the cells drawn?

One Guides layer on the section's column draws the side rails and the top rule with its + marks, the same on every block so stacked sections join up. The wall is a grid with gap-px over a bg-border background, so the cells share single hairlines instead of doubling their borders; a second Guides layer with marks="corners" puts the + marks where the wall's top and bottom rules meet the rails. The grid goes from one column to two at sm and three at lg.

Is the wall accessible?

Yes. The section has one h2 and each group an h3 over a real list of its chips; the checkmarks are decorative and hidden from assistive technology. Chips are wrapped in bdi, so features with numbers ("360 feedback") keep their order in right-to-left layouts. The disclosure is a button with aria-expanded, reached by Tab like any other, and the entrances are CSS transitions that don't run under reduced motion.

When does a feature wall beat a comparison table?

When there is only one plan. A comparison table exists to show what changes between tiers; with nothing gated, the useful thing is to show how much one price covers. The wall makes the breadth visible at a glance, which a three-line feature list can't. If you also sell tiers, use a comparison table instead and keep this for the "everything" plan.

  • Pro

    One flat price for the whole company, set as a typographic band: the price at display size, the meters it never charges for struck through beside it, one call to action, and four cells of what's included.

  • Pro

    One flat-rate plan under an oversized Unlimited wordmark: a price cell with the call to action beside eight feature cells that share hairlines, each with a line of detail.

  • Pro

    Feature Matrix Pricing

    Comparison tables

    A feature matrix you can interrogate: search the features, hide the rows every plan shares with a switch, and watch a live count in the table's corner, over four chat plans and twenty-eight features.

  • Pro

    Comparison Table Pricing

    Comparison tables

    Four plans compared feature by feature in one table whose hairlines meet the page rails, with a billing switch, a tinted popular column and, on a phone, a plan switch that keeps the feature column beside one plan.

  • Pro

    The simplest per-user price, said as one giant sentence, '$8 per user, per month.', with a small stepper for the team's users and a monthly total beside it.

  • Pro

    The quietest single plan: one card in a card with a launch price beside the struck-out regular price, one call to action and six included features, under a short centred header.