Staaarter

Split Panel About

A full-bleed two-column about section: one half is an inverted dark statement panel with a CTA, the other half is a light photo with a facts grid beneath it. No rounded card, no shared background, the seam between the two halves is the whole point.

By Staaarter Team
About
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, media-slot dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/split-panel-about.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/about/about47.tsx instead.

Usage

The file also exports about47Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { About47, about47Demo } from "@/components/blocks/about/about47";

export default function Page() {
  return <About47 {...about47Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedSmall label above the heading on the dark panel.
headingstringnoneHeading on the dark statement panel.
statementstringnoneBody paragraph on the dark statement panel.
buttonsButtonItem[][]CTA buttons on the dark panel; default variant "secondary" so they stay legible against the inverted background.
imageMediaSlotImageundefinedPhoto filling the top of the light panel.
factsFactItem[][]Label/value pairs in a 2-column grid below the photo.
classNamestringnoneExtra classes for the outer section element.

Types

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

type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};

Behavior notes

  • Unlike About5's image-and-text split, both halves here stay full-bleed with no shared max-width container or rounded corners; the two panels butt directly against each other so the light/dark seam reads as a hard edge, not a card.
  • The left panel always uses bg-foreground/text-background (an inverted token pairing), not a literal dark color, so it flips correctly if the site's theme itself changes; About49's dark panel is a contained rounded card rather than a full half-height panel.
  • buttons default to variant "secondary" instead of the "default" convention used by About1 and About14, since "default" (bg-primary) can read low-contrast against an inverted panel depending on the palette.