Page Header

v0.2.2

Composable page header with title, description, and left/right action slots.

View as Markdown

Install

npx shadcn@latest add @signalos/page-header

Requires a configured @signalos registry and a valid SIGNALOS_REGISTRY_TOKEN - get access. Registry dependencies (@signalos/tokens, @signalos/utils, @signalos/button) are pulled automatically.

Preview

Example & code

page-header.example.tsx
// Example: page header with a breadcrumb, description, and actions.
import { Plus } from "lucide-react"

import { Button } from "@/components/ui/button"
import {
  PageHeader,
  PageHeaderContent,
  PageHeaderDescription,
  PageHeaderLeft,
  PageHeaderRight,
  PageHeaderTitle,
  PageHeaderTop,
} from "@/components/widgets/page-header/PageHeader"

export default function Example() {
  return (
    <PageHeader>
      <PageHeaderTop>
        <span className="text-sm text-text-secondary">
          Settings / Team / Members
        </span>
      </PageHeaderTop>
      <PageHeaderContent>
        <PageHeaderLeft>
          <PageHeaderTitle>Members</PageHeaderTitle>
          <PageHeaderDescription>
            Invite teammates and manage their access.
          </PageHeaderDescription>
        </PageHeaderLeft>
        <PageHeaderRight>
          <Button variant="outline">Export</Button>
          <Button>
            <Plus />
            Invite member
          </Button>
        </PageHeaderRight>
      </PageHeaderContent>
    </PageHeader>
  )
}

Props

Supporting types

export type PageHeaderProps = React.HTMLAttributes<HTMLDivElement>
export type PageHeaderContentProps = React.HTMLAttributes<HTMLDivElement>
export type PageHeaderLeftProps = React.HTMLAttributes<HTMLDivElement>
export type PageHeaderTitleProps = React.HTMLAttributes<HTMLHeadingElement>
export type PageHeaderDescriptionProps =
  React.HTMLAttributes<HTMLParagraphElement>
export type PageHeaderTopProps = React.HTMLAttributes<HTMLDivElement>
export type PageHeaderRightProps = React.HTMLAttributes<HTMLDivElement>

npm dependencies

lucide-react@^1.7.0

Changelog

page-header

0.2.2

  • Removed the unused @signalos/tooltip registryDependencies entry - no file in this item imports or renders a Tooltip, so consumers were vendoring an entire unrelated primitive for nothing.

0.2.1

  • Fixed PageHeaderDescription using the raw text-navy-400 scale value instead of the semantic text-text-muted token. --color-navy-400 happened to equal dark mode's --text-muted, so the description rendered in the dark-theme gray-blue tone even in light mode, and no client theme override could reach it.

0.2.0

  • Title default is now text-3xl font-bold (was text-xl font-semibold). Every known consumer overrode the title to this scale, so the design intent moves into the widget default. Override via className to opt out.

0.1.2

  • Content sync fix to bring source in line with published registry payload.

0.1.1

  • Initial release: composable page header primitives (PageHeader, PageHeaderTop, PageHeaderContent, PageHeaderLeft, PageHeaderRight, PageHeaderTitle, PageHeaderDescription).