A manifesto set as numbered serif lines that each blur in as they reach the viewport, ruled from one another, beside a sticky photograph that drifts inside its frame as the page scrolls, closed by a sliding-marker pill.
A manifesto set as a numbered list: each line arrives on its own as a large serif statement in a ruled row, beside a sticky photograph that drifts inside its frame for the length of the list.
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/about78?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/about78?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/about78.tsx plus the button22 sliding-marker pill it uses.
The installed file exports about78Demo alongside the block: the exact props behind the preview above. Spread it to get a working manifesto section in one line.
import { About78, about78Demo } from "@/components/beste/block/about78";
export default function Page() {
return <About78 {...about78Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { About78 } from "@/components/beste/block/about78";
export default function Page() {
return (
<About78
eyebrow="A short manifesto"
lines={[
"We would rather listen for an hour than advise for a minute.",
"Nobody is a case. Nobody is a category.",
"Silence in the room is work, not a gap in it.",
]}
button={{ label: "See the practice", href: "/practice", tone: "dark" }}
image={{ src: "/photos/lake.jpg", alt: "Morning mist lifting off a still lake below wooded hills" }}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | – | Small-caps line above the list |
lines | string[] | [] | Manifesto statements, numbered in the order given |
button | ActionButton | – | Pill action under the list |
image | { src: string; alt: string } | – | Sticky photograph in the left column |
className | string | – | Extra classes for the outer <section> |
type ActionButton = {
label: string;
href: string;
tone?: "primary" | "light" | "dark" | "outline";
};01, 02, 03 without the numbers being content anyone has to keep in sync when a line is added or removed.0.1s delay rather than a growing stagger, because a list this tall is read one row at a time; an index-scaled delay would leave the last statement waiting seconds after it is already on screen.-15% viewport margin than the rest of the section, so a statement settles in once it is properly inside the reading area rather than the moment it clips the bottom edge.ol with divide-y and a border on both ends, so the rules come from the list itself; adding a line adds a rule, and nothing has to be styled per position.md:sticky md:top-28 and drifts between -10% and 10% of its own height against a 1.2 scale, so it stays beside the list for the whole read while still moving; below md the sticky is dropped and it becomes the first block in the stack.text1: the statements are already the largest type on the page and a per-word stagger on five of them in a row would turn reading into waiting.image the list keeps its column position rather than stretching, and without lines only the eyebrow and the action remain.about82
An about section built around a wide photograph that drifts inside its frame: a serif heading that settles in word by word above it, then an intro with a sliding-marker pill beside four ruled serif figures that count up as they arrive.
about79
An about section written as a letter: a portrait drifting inside its frame on the left, and on the right a serif opening line that settles in word by word, three paragraphs, a ruled signature with the founder's name and role, and a sliding-marker pill.
about65
Centered manifesto with a very large multi-line statement heading, muted emphasis phrases, a closing line, and a single CTA.
about75
A team section: a serif heading that settles in word by word beside the intro and a pill action, then three portrait photographs that drift inside their frames as the page scrolls, each with a serif name, a small-caps role and a short bio.