A single raised card holding three publication marks side by side, each with the line that publication wrote underneath it, over a soft section band.
A single raised card holding three publication marks side by side, each with the line that publication wrote underneath it, over a soft section band.
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/logos16?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/logos16?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/logos16.tsx and the badge6 component it uses for the eyebrow (installed to components/beste/component/badge6.tsx).
The installed file exports logos16Demo alongside the block: the exact props behind the preview above. Spread it to get a working press card in one line.
import { Logos16, logos16Demo } from "@/components/beste/block/logos16";
export default function PressPage() {
return <Logos16 {...logos16Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Logos16 } from "@/components/beste/block/logos16";
export default function PressPage() {
return (
<Logos16
eyebrow="In the press"
items={[
{
logo: { src: "/press/halcyon.png", alt: "The Halcyon Post" },
quote: "\u201cThey made the argument for writing a studio process down.\u201d",
},
{
logo: { src: "/press/northwind.png", alt: "Northwind Review" },
quote: "\u201cRare in treating the identity and the product as one piece of work.\u201d",
},
]}
footnote="Coverage from the last eighteen months."
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | – | Badge6 label above the card, centered |
items | PressItem[] | [] | One publication and its line per column |
footnote | string | – | Centered line under the card |
className | string | – | Extra classes for the outer section |
type PressItem = {
logo: PressLogo;
quote: string;
};
type PressLogo = {
src: string;
alt: string;
};quote string rather than added by the block, so a line can be quoted, paraphrased or attributed however the publication allows.object-contain in a fixed height box, so marks of different widths sit on the same optical line without being stretched.bg-muted/40 band and carries the page background itself, which is what makes it read as raised without a shadow.logos6
Responsive grid of partner or client logos. Each logo sits inside a softly tinted, rounded card so mixed-style logos (marks, wordmarks, scanned seals) all feel cohesive.