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
BetaManage your subscription and invoices
Page content goes here.
Installation
pnpm dlx shadcn@latest add @syncblocks/pageUsage
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
BetaPage 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
BetaManage your subscription and invoices
Page content goes here.
API Reference
| Prop | Type | Default | Description |
|---|---|---|---|
title | React.ReactNode | - | Page title. Ignored when breadcrumbs is set. |
subtitle | React.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. |
visual | React.ReactNode | - | Decorative visual shown left of the title/breadcrumbs. |
badge | React.ReactNode | - | Shown next to the title, or next to the last breadcrumb when breadcrumbs is set. |
actions | React.ReactNode | - | Right-aligned actions in the header. |
hasHeader | boolean | true | Set to false to omit the header entirely. |
hasPadding | boolean | false | Adds padding to the content area. |
className | string | - | Additional CSS classes applied to the root element. |
children | React.ReactNode | - | Content area. |