Page

A page shell with an optional header — title or breadcrumbs, subtitle, a visual, a badge, and actions — plus a content area that can be padded.

Billing

Beta

Manage your subscription and invoices

Page content goes here.

Installation

pnpm dlx shadcn@latest add @syncblocks/page

Usage

import { Page } from "@/components/ui/page"
<Page title="Settings" subtitle="Manage your account">
  <div>{/* page content */}</div>
</Page>

Examples

Default

A plain title and subtitle, no header extras.

Settings

Manage your account

Page content goes here.

With Subtitle

A secondary line under the title.

Billing

Manage your subscription and invoices

Page content goes here.

With Breadcrumbs

Pass breadcrumbs to replace the plain title with a breadcrumb trail — the last item renders as the current page, and badge (if set) appears next to it instead of next to the title.

Billing

Page content goes here.

With Badge & Actions

A decorative visual, a badge next to the title, and right-aligned actions.

Billing

Beta

Page content goes here.

Without a Header

Set hasHeader={false} to omit the header entirely and render only the content area.

Full-bleed content, no header.

Title Only

The minimal header — just a title, no subtitle or extras.

Dashboard

Page content goes here.

Multiple Actions

actions accepts any node — group several buttons for related operations.

Report

Q3 2026 performance

Page content goes here.

Scrollable Content

The header stays fixed while the content area scrolls on overflow. hasPadding adds inset spacing.

Changelog

The header stays fixed while content scrolls

Release 12.0

Notes for this release.

Release 11.0

Notes for this release.

Release 10.0

Notes for this release.

Release 9.0

Notes for this release.

Release 8.0

Notes for this release.

Release 7.0

Notes for this release.

Release 6.0

Notes for this release.

Release 5.0

Notes for this release.

Release 4.0

Notes for this release.

Release 3.0

Notes for this release.

Release 2.0

Notes for this release.

Release 1.0

Notes for this release.

Full Configuration

Every prop combined — visual, breadcrumbs, subtitle, badge, actions, and hasPadding.

Billing

Beta

Manage your subscription and invoices

Page content goes here.

API Reference

PropTypeDefaultDescription
titleReact.ReactNode-Page title. Ignored when breadcrumbs is set.
subtitleReact.ReactNode-Secondary line shown under the title or breadcrumbs.
breadcrumbs{ label: string; href?: string }[]-Renders a breadcrumb trail in place of the plain title; the last item is the current page.
visualReact.ReactNode-Decorative visual shown left of the title/breadcrumbs.
badgeReact.ReactNode-Shown next to the title, or next to the last breadcrumb when breadcrumbs is set.
actionsReact.ReactNode-Right-aligned actions in the header.
hasHeaderbooleantrueSet to false to omit the header entirely.
hasPaddingbooleanfalseAdds padding to the content area.
classNamestring-Additional CSS classes applied to the root element.
childrenReact.ReactNode-Content area.