Principles About
A two-column about section: a sticky image, heading, and short statement stay in view on one side while a numbered list of operating principles scrolls past on the other. Built for studios and small teams that want to state how they work, not just what they do.
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/principles-about.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/about/about48.tsx instead.
Usage
The file also exports about48Demo, 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 { About48, about48Demo } from "@/components/blocks/about/about48"; export default function Page() { return <About48 {...about48Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | string | undefined | Small label above the heading in the pinned column. |
| heading | string | none | Heading in the pinned column. |
| description | string | undefined | Short statement below the heading in the pinned column. |
| image | MediaSlotImage | undefined | Photo above the statement in the pinned column. |
| principles | Principle[] | none | Numbered list of operating principles in the right column. |
| buttons | ButtonItem[] | [] | Optional CTA buttons below the statement in the pinned column. |
| className | string | none | Extra classes for the outer section element. |
Types
type Principle = { title: string; description: string }; type ButtonItem = { label: string; href?: string; variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive"; };
Behavior notes
- Unlike About6, which pairs the numbered principles list with a plain heading-only column, About48 adds a photo and a sticky (lg:sticky lg:top-24) left column so the image and statement stay pinned in the viewport as the principles list scrolls past.
- The principles list here is a simple vertical stack separated by top borders, distinct from About12's four-column card grid; About48 favors a long-form read over a scannable grid of short steps.
- buttons is optional and lives inside the pinned column rather than below the full list, so the CTA is always visible alongside the statement even on a long principles list, unlike About1 where buttons sit at the very bottom of the section.
More About Blocks
View all →team-mission
Team & Mission
Two-column about section with mission statement, company stats, and team member grid.
values-with-team-photo
Values with Team Photo
Full-width photo with a three-column values grid below.
timeline-milestones
Timeline & Milestones
Company stats on the left and a vertical timeline of milestones on the right.
founder-quote-team
Founder Quote & Team
Founder blockquote with avatar, followed by a horizontal team member row.
image-text-split
Image & Text Split
Tall image on the left, company story, inline stats, and CTAs on the right.
numbered-principles
Numbered Principles
Heading on the left and numbered company principles on the right.