Metrics mosaic where every figure sits on the photograph it came from behind a tinted scrim, the lead result spanning four columns and two rows, closed by a soft methodology tile explaining where the numbers come from.
A results section where every number sits on the picture that produced it. The first figure takes a large tile with its explanation, the rest become smaller tiles carrying value and title only, and a soft method tile closes the row with the source of the data.
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/bento8?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/bento8?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/bento8.tsx plus the badge7 eyebrow it uses.
The installed file exports bento8Demo alongside the block: the exact props behind the preview above. Spread it to get a working bento in one line.
import { Bento8, bento8Demo } from "@/components/beste/block/bento8";
export default function Page() {
return <Bento8 {...bento8Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Bento8 } from "@/components/beste/block/bento8";
export default function Page() {
return (
<Bento8
badge={{ label: "Counted" }}
heading="Four figures, each with the picture that earned it."
description="Put a statistic back on the work it came from and it means something."
tiles={[
{
src: "/results/catalogue.jpg",
alt: "Open print publication",
value: "12,000",
title: "Copies in the first run",
description: "The catalogue sold out before the reprint was scheduled.",
},
{
src: "/results/signage.jpg",
alt: "Signage across a lobby wall",
value: "1,400",
title: "Signs installed",
description: "Across nine buildings, from a kit of eleven components.",
},
]}
method={{
title: "Where these come from",
description: "Client reporting and install sheets. Nothing modelled or rounded up.",
}}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Eyebrow label rendered as a Badge7 |
heading | string | – | Section heading in the left header column |
description | string | – | Supporting paragraph in the right header column |
tiles | FigureTile[] | [] | Figure tiles; the first one takes the large lead tile |
method | MethodTile | – | Soft tile explaining where the numbers come from |
className | string | – | Extra classes for the outer <section> |
type FigureTile = {
src: string;
alt: string;
value: string;
title: string;
description: string;
};
type MethodTile = {
title: string;
description: string;
};md:items-end, so the paragraph on the right sits on the same baseline as the heading rather than next to its top line.description: the smaller tiles show value and title alone, which is what stops their text from overflowing the shorter rows on a tablet.text-6xl on mobile and md:text-8xl on desktop; the smaller tiles use text-4xl and md:text-5xl, so the hierarchy holds without any tile clipping its number.bg-foreground/60 wash rather than a gradient, because a figure aligned to the bottom of the tile needs even contrast across the whole picture, not only at its foot.border-t border-background/30, a rule inside the picture that ties the two lines together without a card.min-h-[300px] below md and release it with md:min-h-0, so the grid rows (md:auto-rows-[minmax(13rem,auto)]) take over on desktop.bento3
Work mosaic on a six-column track mixing photographic tiles that carry their caption inside on a gradient scrim with a soft statement tile and an inverted figure tile, the lead project spanning four columns and two rows.
bento9
Magazine mosaic whose cover story fills a two-row photographic tile with its category and page count on the scrim, beside an inverted figure tile, a bordered publication note and three soft article tiles.
bento11
A six-column bento mixing a lead card whose image tile floats a live metrics panel, a soft statement tile, an inverted figure tile, a second asset tile carrying an uptime strip, a hairline inclusion list, and a captioned photograph.
bento6
Product mosaic pairing a two-row hero photograph captioned on its scrim with a tall specification tile, then two square macro tiles that carry their caption inside and an inverted figure tile closing the row.