PageHeader
Consistent H1 + description + actions row above page content.
import { PageHeader }from "@/components/ui"
Specification
Provides a consistent page heading row with an H1 title, optional description and right-aligned actions.
Props (3)
Every prop this component accepts, its type, default, and how to use it.
| Prop | Type | Default | Description |
|---|---|---|---|
| title* | ReactNode | — | Primary page title rendered as an H1. |
| description | ReactNode | — | Optional supporting text shown beneath the title. |
| actions | ReactNode | — | Right-aligned action controls, typically buttons. |
Title, description, actions
Users
People with access to this organisation.
Full source
The complete component, read from
src/components/ui/page-header.tsx.page-header.tsx
import { type ReactNode } from "react";
export interface PageHeaderProps {
title: ReactNode;
description?: ReactNode;
actions?: ReactNode;
}
export function PageHeader({ title, description, actions }: PageHeaderProps) {
return (
<div className="mb-6 flex items-start justify-between gap-6">
<div className="min-w-0">
<h1 className="text-2xl font-semibold tracking-tight text-text">{title}</h1>
{description && (
<p className="mt-1 max-w-xl text-sm leading-relaxed text-text-secondary">
{description}
</p>
)}
</div>
{actions && <div className="flex shrink-0 items-center gap-2">{actions}</div>}
</div>
);
}