A benchmarking section that pairs an accent bar for the platform median against a muted bar for the sector median on every metric, with a legend above and a sourcing note below.
A benchmarking section that pairs an accent bar for the platform median against a muted bar for the sector median on every metric, with a legend above and a sourcing note below.
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.
Radix flavor
npx shadcn add "https://ui.beste.co/r/stats73?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/stats73?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/stats73.tsx plus the badge23 and button21 components it uses for the eyebrow and the action.
The installed file exports stats73Demo alongside the block: the exact props behind the preview above. Spread it to get a working comparison in one line.
import { Stats73, stats73Demo } from "@/components/beste/block/stats73";
export default function BenchmarksPage() {
return <Stats73 {...stats73Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Stats73 } from "@/components/beste/block/stats73";
export default function BenchmarksPage() {
return (
<Stats73
badge={{ label: "Against the field" }}
heading="How a practice on the platform compares with one that is not"
description="The lighter bar is the sector median from published sources."
yoursLabel="On the platform"
medianLabel="Sector median"
benchmarks={[
{
metric: "Room utilisation",
yours: "81%",
yoursPercent: 81,
median: "64%",
medianPercent: 64,
note: "Booked clinical hours as a share of the hours rooms were open.",
},
{
metric: "Admin held in clinical rooms",
yours: "11%",
yoursPercent: 11,
median: "23%",
medianPercent: 23,
note: "Lower is better here, which is why this bar is the short one.",
},
]}
method="Sector medians come from published industry surveys, not from our own customers."
button={{ label: "See the sources", href: "/benchmarks" }}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Eyebrow above the hairline rule, rendered through Badge23 |
heading | string | – | Section heading in the left column of the header |
description | string | – | Supporting paragraph, right-aligned from md up |
yoursLabel | string | – | Legend label for the accent bar |
medianLabel | string | – | Legend label for the muted bar |
benchmarks | Benchmark[] | [] | The metrics, one hairline row each |
method | string | – | Where the comparison figures came from |
button | { label: string; href: string } | – | Outline action linking to sources |
className | string | – | Extra classes for the outer section |
type ActionLink = {
label: string;
href: string;
};
type Benchmark = {
metric: string;
yours: string;
yoursPercent: number;
median: string;
medianPercent: number;
note: string;
};yours can read "97.9%" while yoursPercent is 98. The bar is an illustration; the text beside it is the figure.aria-hidden and every value is printed beside its bar, so the comparison reads without them.note, since a shorter accent bar is the good result there.note is required on every metric, which is what keeps a bar chart from implying more than the data supports.w-16 column with tabular-nums, so the two figures in a row line up under each other.border-t, closing the list and separating the sourcing note from the metrics.stats67
A results section stacking each measure on its own hairline row, moving a muted starting figure to an accented result across an arrow, with a soft closing panel that floats a live comparison card.
stats19
Wide image with a frosted glass stats bar anchored to the bottom. Stats are separated by vertical dividers inside the blur overlay.
stats68
A results section that leads on one oversized total, splits it across a segmented accent bar, then legends each segment on a hairline row aligning its value, share, and what it covers.
stats66
A results section that stacks each metric on its own hairline row, pairing an oversized figure with a short label, a sentence of context, and an optional year-over-year delta.