Staaarter

Centered Manifesto

Centered manifesto section with a very large multi-line statement heading, individual phrases dialed down to muted text for contrast, a closing line, and a single call-to-action button.

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 dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/centered-manifesto.json

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

Usage

The file also exports about65Demo, 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 { About65, about65Demo } from "@/components/blocks/about/about65";

export default function Page() {
  return <About65 {...about65Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedSmall label above the statement.
statementStatementSegment[][]noneLines of the manifesto; each line is an array of segments, some of which can be muted for contrast.
closingLinestringundefinedSingle line of muted text below the statement.
buttonButtonItemnoneThe section's one call-to-action button.
classNamestringnoneExtra classes for the outer section element.

Types

type StatementSegment = { text: string; muted?: boolean };

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

Behavior notes

  • Unlike About15's Letter from the CEO, which only ever emphasizes its first paragraph as a whole, About65 lets any phrase in any line opt into text-muted-foreground independently via segment.muted, so emphasis can land mid-sentence rather than on an entire block of text.
  • statement is a nested array (lines of segments) rendered as stacked block spans, deliberately more granular than About1's single mission paragraph or About14's story-card body, since a manifesto is meant to read like short declarative lines rather than prose.
  • Only a single button prop is supported, not a list like About1 or About14's buttons array, keeping the manifesto's one call-to-action from competing with the statement itself.