Cinematic image band carrying a pill label in its corner, followed by a ruled four-column row where each measured fact pairs an oversized figure with a sentence of testing context, with the outline pill CTA sitting on the heading line.
A wide cinematic photograph with a pill label pinned into its corner, opened by a heading with the CTA beside it and closed by four ruled facts, each one a title, a figure and a sentence of context.
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/feature253?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/feature253?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/feature253.tsx plus the badge7 eyebrow and button12 pill button it uses.
The installed file exports feature253Demo alongside the block: the exact props behind the preview above. Spread it to get a working section in one line.
import { Feature253, feature253Demo } from "@/components/beste/block/feature253";
export default function Page() {
return <Feature253 {...feature253Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Feature253 } from "@/components/beste/block/feature253";
export default function Page() {
return (
<Feature253
badge={{ label: "Field test" }}
heading="Built for the wall, not for the presentation."
description="We install the first pieces ourselves and photograph them in the light they will live in."
image={{ src: "/case/entrance.jpg", alt: "Glass and steel building front" }}
labels={{ imageLabel: "Kestrel Group, west entrance" }}
facts={[
{
title: "Legibility distance",
value: "18 m",
description: "Tested at dusk and under the building's own lighting.",
},
{
title: "Install time per panel",
value: "24 min",
description: "Two people, one drill, no special tooling required.",
},
]}
button={{ label: "See the specification", href: "/work/kestrel" }}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Eyebrow label rendered as a Badge7 |
heading | string | – | Section heading in the header row |
description | string | – | Supporting paragraph under the header |
image | BandImage | – | Wide photograph between the copy and the facts |
facts | BandFact[] | [] | Ruled facts under the image |
button | ActionButton | – | Outline Button12 in the header, opposite the heading |
labels | Feature253Labels | {} | Fixed strings that are not content: the pill label on the image |
className | string | – | Extra classes for the outer <section> |
type BandImage = {
src: string;
alt: string;
};
type BandFact = {
title: string;
value: string;
description: string;
};
type ActionButton = {
label: string;
href: string;
};
type Feature253Labels = {
imageLabel?: string;
};items-end) rather than under the facts, so the section closes on evidence instead of on a button.bg-background, inset further on desktop (left-6 top-6) than on mobile, so it never crowds the corner of a small crop.aspect-[16/10] on mobile becomes md:aspect-[21/9], keeping the crop cinematic on desktop without going letterbox-thin on a phone.dl, with the figure and its sentence inside one dd so the title stays the term and everything below it stays the definition.border-t pt-6, which is what makes the row read as a ruled index rather than four boxes.sm:grid-cols-2 lg:grid-cols-4), so a four-fact set never squeezes into narrow columns on a tablet.image the facts follow the paragraph directly, and without facts the section ends on the band.feature218
Centered eyebrow and heading above a wide image card carrying a corner label and a glass overlay band that pairs a testimonial with a headline stat, followed by a three-up row of icon reasons.
feature200
Two-column feature section with badge, heading, description, a 2-column checklist of icon items (defaults to check icon), and CTA on one side, with a square image on the other. Image position is configurable.
feature217
Centered eyebrow, heading and dark CTA above a split block: a tall labeled image on the left and a two-by-two grid of icon feature cards on the right.
feature203
Two-column feature section with heading, description, and a 2x2 stats grid (icon card, value, label) on one side and a square image on the other. Image position is configurable.