A coverage section listing each outlet against the line it published, as linked hairline rows with the writer and date, closing on a soft press pack panel.
A coverage section listing each outlet against the line it published, as linked hairline rows with the writer and date, closing on a soft press pack panel.
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/social51?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/social51?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/social51.tsx plus the badge23 and button21 components it uses for the eyebrow and the press pack action.
The installed file exports social51Demo alongside the block: the exact props behind the preview above. Spread it to get a working coverage list in one line.
import { Social51, social51Demo } from "@/components/beste/block/social51";
export default function PressPage() {
return <Social51 {...social51Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Social51 } from "@/components/beste/block/social51";
export default function PressPage() {
return (
<Social51
badge={{ label: "Written about us" }}
heading="Coverage we did not place"
description="We have no agency and we do not pay for placement."
mentions={[
{
outlet: "Practice Weekly",
quote: "The first clinical scheduler in a decade that treats the receptionist as the primary user.",
writer: "Hannah Bray",
date: "May 2026",
href: "https://example.com/coverage/1",
},
{
outlet: "The Care Review",
quote: "Their published incident notes are more candid than most companies' marketing.",
writer: "Owen Meade",
date: "April 2026",
href: "https://example.com/coverage/2",
},
]}
pressTitle="Writing about us?"
pressBody="The press pack has logos, screenshots, and the founders' contact details."
button={{ label: "Get the press pack", href: "/press" }}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Eyebrow above the hairline rule, rendered through Badge23 |
heading | string | – | Section heading in the left column of the header |
description | string | – | Supporting paragraph, right-aligned from md up |
mentions | Mention[] | [] | Coverage entries as linked rows |
pressTitle | string | – | Heading in the closing panel |
pressBody | string | – | Paragraph in the closing panel |
button | { label: string; href: string } | – | Press pack action |
className | string | – | Extra classes for the outer section |
type ActionLink = {
label: string;
href: string;
};
type Mention = {
outlet: string;
quote: string;
writer: string;
date: string;
href: string;
};text-xl rising to md:text-2xl, so what was said outranks who said it.“ and ” entities, so pass quote as plain text or you will get doubled quotes.Link elements in a three-track grid from md: outlet and date, the quote and writer, then the arrow. Below md the arrow is hidden entirely.group/social51, rather than the bare group class, carries self-start so it stays level with the top of a multi-line quote, and its shift is wrapped in motion-safe:.md:px-4 alongside the hover fill, so the highlight extends slightly past the text on wider screens.border-t with no closing rule, so the list flows into the closing panel.social50
A social section that gives one post an image tile of its own, floating a live post card with its engagement counts, beside the replies it drew as linked hairline rows.
social53
A community credit section opening on three hairline figures, then naming each contributor in a hairline matrix of cards with their practice, what they changed, and how many reports they filed.
social54
A follow section held in one dark panel, listing each account as a linked hairline row with what gets posted there and a light follower figure.
social52
An upcoming sessions list with a date block, format, and remaining seats on each linked hairline row, beside a column that sticks and floats a live card for whoever is hosting next.