An about section on a soft surface that opens on a light statement, then lays out eight company facts as a two-column hairline definition list beside an image tile floating a live locations card.
An about section on a soft surface that opens on a light statement, then lays out eight company facts as a two-column hairline definition list beside an image tile floating a live locations card.
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/about72?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/about72?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/about72.tsx, the location8 coverage piece it floats on the tile (installed to components/beste/piece/location8.tsx), and the badge23 and button21 components it uses for the eyebrow and the action.
The installed file exports about72Demo alongside the block: the exact props behind the preview above. Spread it to get a working about section in one line.
import { About72, about72Demo } from "@/components/beste/block/about72";
export default function AboutPage() {
return <About72 {...about72Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { About72 } from "@/components/beste/block/about72";
import { Location8 } from "@/components/beste/piece/location8";
export default function AboutPage() {
return (
<About72
badge={{ label: "The open version" }}
statement="We would rather you knew the awkward numbers before you asked for them"
description="Company facts that most vendors make you dig for, current as of this month."
factsLabel="As of May 2026"
facts={[
{ label: "Founded", value: "March 2020, in Bristol" },
{ label: "People", value: "18, of whom 9 write code" },
{ label: "Sales team", value: "None, deliberately" },
{ label: "Longest outage", value: "41 minutes, 14 Feb 2025" },
]}
media={
<Location8
title="Where we work from"
region="Europe"
sites={[
{ name: "Bristol", meta: "Registered office", value: "9 people" },
{ name: "Dublin", meta: "Support and migration", value: "5 people" },
]}
total="18"
totalLabel="people, no offices we do not use"
/>
}
image={{ src: "/backdrops/green.jpg", alt: "Deep green gradient backdrop" }}
button={{ label: "Read the full company update", href: "/blog/company-update" }}
footnote="If a figure here turns out to be stale, tell us and we will correct it."
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Eyebrow above the statement, rendered through Badge23 |
statement | string | – | Section heading, capped at max-w-3xl |
description | string | – | Supporting paragraph, capped at max-w-xl |
factsLabel | string | – | Small as-of label above the facts list |
facts | Fact[] | [] | Label and value pairs in the definition list |
media | ReactNode | – | Live asset on the tile, location8 in the demo |
image | { src: string; alt: string } | – | Backdrop behind the media tile |
button | { label: string; href: string } | – | Outline action under the facts |
footnote | string | – | Correction note under the action |
className | string | – | Extra classes for the outer section |
type ActionLink = {
label: string;
href: string;
};
type Fact = {
label: string;
value: string;
};dl with dt and dd per entry, which is the right structure for label and value pairs and reads correctly to assistive technology.sm, filling column by column, so an odd number of facts leaves the gap at the bottom of the second column rather than mid-list.border-t with no closing rule, so the list stays open at the bottom and flows into the action below it.factsLabel exists because the block is built for figures that go stale. Pairing the list with an explicit as-of date is the convention, and footnote is where the correction policy goes.bg-muted and the tile is bg-background, so the tile reads as raised against the section rather than recessed into it.items-start, so Button21 keeps its intrinsic width with the footnote underneath at the same left edge.1.4fr to 1fr split, giving the two-column list the wider track, with the tile sized to what the locations card actually needs.about34
About section: eyebrow label, two-tone heading, two portraits beside a 2x2 stats grid.
about70
A company story told as hairline rows keyed by a light year figure, set against a media column that sticks while they scroll and stacks an image tile floating a live growth metric over a captioned photograph.
about66
Two-column about with a tall image on one side and an eyebrow, heading, description, and 2x2 stats grid on the other.
about19
Full company overview with panoramic image, story paragraph, key facts list, leadership quote, and stats row. A rich, multi-section layout for company landing pages.