Inverted Company AnnouncementPRO

A company update held in one dark panel, pairing a light heading and four supporting figures over a hairline rule with a bordered column that floats a live press contact card.

News39: Inverted Company Announcement

A company update held in one dark panel, pairing a light heading and four supporting figures over a hairline rule with a bordered column that floats a live press contact card.

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.

Upgrade Now

Installation

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

bash
npx shadcn add "https://ui.beste.co/r/news39?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/news39?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/news39.tsx, the card31 person piece it floats in the right column (installed to components/beste/piece/card31.tsx), and the badge23 and button21 components it uses for the eyebrow and the actions.

Quick start

The installed file exports news39Demo alongside the block: the exact props behind the preview above. Spread it to get a working announcement in one line.

tsx
import { News39, news39Demo } from "@/components/beste/block/news39";

export default function CompanyNewsPage() {
  return <News39 {...news39Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Card31 } from "@/components/beste/piece/card31";
import { News39 } from "@/components/beste/block/news39";

export default function CompanyNewsPage() {
  return (
    <News39
      badge={{ label: "Company news" }}
      kicker="02 May 2026"
      heading="We are profitable, and we are staying at eighteen people"
      description="No second raise, no growth target we do not believe, and no plan to hire a sales team."
      figures={[
        { value: "18", label: "people, nine of whom write code" },
        { value: "Q3 2025", label: "the quarter we stopped losing money" },
      ]}
      buttons={[
        { label: "Read the full note", href: "/news/profitable" },
        { label: "See the company facts", href: "/about" },
      ]}
      contactTitle="Writing about this?"
      contactBody="Speak to a founder rather than to a communications team."
      media={
        <Card31
          avatar={{ src: "/people/elena.jpg", alt: "Portrait of Elena Rourke" }}
          name="Elena Rourke"
          role="Co-founder, press contact"
          status="Usually replies same day"
          availability="free"
          rows={[{ label: "Email", value: "press@example.com" }]}
        />
      }
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Eyebrow at the top of the panel, retoned for the dark surface
kickerstringDate line above the heading
headingstringAnnouncement heading
descriptionstringSupporting paragraph, capped at max-w-xl
figuresFigure[][]Supporting numbers under a hairline
buttonsActionLink[][]Actions, first solid and the rest outlined
contactTitlestringHeading under the press card
contactBodystringParagraph under that heading
mediaReactNodeLive asset in the right column, card31 in the demo
classNamestringExtra classes for the outer section
ts
type ActionLink = {
  label: string;
  href: string;
};

type Figure = {
  value: string;
  label: string;
};

Behavior notes

More News blocks

View all News
PRO

news38

Announcement Story

A single announcement laid out like an article, with a standfirst, a full-bleed captioned photo band, a reading column, and a sticky rail carrying the key facts and related entries.

PRO

news21

Split-Flap Display

Retro airport departure board style news ticker with character-by-character flip animation and auto-rotating headlines.

PRO

news9

Trending Cards Grid

Four-column news card grid with gradient overlays, category badges, and author info.

PRO

news11

Masonry News Grid

Masonry-style news grid with large, medium, and small article cards. Dynamic sizing based on article importance.

PRO

news6

Horizontal News Cards

Horizontal news cards with author info, read time, trending indicators, and hover effects.

PRO

news31

Bento News Grid

Asymmetric bento box layout with large hero, gradient stat cards, and image tiles in a visually striking grid.