Principles section with a header and a three-column grid of six bordered cards, each pairing a circular icon with a title and description.
Principles section with a left-aligned header (eyebrow badge, heading, description) above a three-column grid of bordered cards, each pairing a circular icon with a title and a short explanation. Reads as a studio's short list of non-negotiables rather than a generic feature grid.
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/about64?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/about64?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/about64.tsx, the badge7 component it uses for the eyebrow badge, and its dependencies.
The installed file exports about64Demo alongside the block: the exact props behind the preview above. Spread it to get a working section in one line.
import { About64, about64Demo } from "@/components/beste/block/about64";
export default function AboutPage() {
return <About64 {...about64Demo} />;
}Then replace the demo with your own props. Written out, the same setup looks like this:
import { Ruler, PenTool, Layers } from "lucide-react";
import { About64 } from "@/components/beste/block/about64";
export default function AboutPage() {
return (
<About64
badge={{ label: "How we think" }}
heading="Three ideas we do not <strong>compromise on.</strong>"
description="A short list of convictions that decide what we ship."
items={[
{
icon: Ruler,
title: "Restraint over decoration",
description: "Every element earns its place before it lands on the canvas.",
},
{
icon: PenTool,
title: "Type does the talking",
description: "A layout that reads well in plain text is worth designing around.",
},
{
icon: Layers,
title: "Systems, not one-offs",
description: "We design the rules first, then the screens.",
},
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | Badge | – | Eyebrow badge above the heading |
heading | string | – | Section heading; supports inline <strong> for muted emphasis |
description | string | – | Supporting paragraph under the heading |
items | About64Principle[] | [] | Principle cards rendered in the grid |
className | string | – | Extra classes for the outer <section> |
type Badge = { label: string };
type About64Principle = { icon: LucideIcon; title: string; description: string };icon is a Lucide icon component reference (e.g. Ruler), not a string enum, so the caller imports and passes the component directly.border-t), not boxed, so the grid reads as a divided list of rows rather than discrete cards.size-12 circular bg-muted badge above the title, matching the "circular icon" pattern used across the set.sm:grid-cols-2 lg:grid-cols-3; it does not recompute column count from items.length, so an odd item count (e.g. 5) leaves a visible gap in the last row on large screens.max-w-3xl and left-aligned, distinct from the centered headers used in other About blocks in this set.about6
Asymmetric two-column layout with heading on the left and numbered company principles on the right. Clean and editorial.
about7
Three-column grid of team member cards with avatars, roles, and short bios. Great for leadership and team pages.
about68
A team section with an eyebrow over a hairline rule, a two-column heading, and a grid of portrait cards each with a name and role.
about18
Four-column grid of office cards with city, country, address, and team size. Ideal for global companies.
about16
Three-column cards for vision, mission, and values with labeled headers. Clean editorial layout for company positioning.
about60
Team section with an eyebrow, big heading, description and CTA above a responsive grid of people cards (portrait image, name, role).