import {PageHeader} from '@primer/react/drafts'
<PageHeader><PageHeader.TitleArea><PageHeader.Title>Title</PageHeader.Title></PageHeader.TitleArea></PageHeader>
variant="large"
<PageHeader><PageHeader.TitleArea variant="large"><PageHeader.Title>Title</PageHeader.Title></PageHeader.TitleArea></PageHeader>
<PageHeader><PageHeader.TitleArea><PageHeader.LeadingVisual><GitPullRequestIcon /></PageHeader.LeadingVisual><PageHeader.Title>Title</PageHeader.Title><PageHeader.TrailingVisual><Label>Beta</Label></PageHeader.TrailingVisual></PageHeader.TitleArea></PageHeader>
<PageHeader><PageHeader.TitleArea><PageHeader.LeadingVisual hidden={{regular: true}}><GitPullRequestIcon /></PageHeader.LeadingVisual><PageHeader.Title>Title</PageHeader.Title><PageHeader.TrailingVisual><Label>Beta</Label></PageHeader.TrailingVisual></PageHeader.TitleArea></PageHeader>
<PageHeader><PageHeader.TitleArea><PageHeader.LeadingAction><IconButton aria-label="Expand" icon={SidebarExpandIcon} variant="invisible" /></PageHeader.LeadingAction><PageHeader.Title>Title</PageHeader.Title><PageHeader.TrailingAction><IconButton aria-label="Edit" icon={PencilIcon} variant="invisible" /></PageHeader.TrailingAction></PageHeader.TitleArea></PageHeader>
<PageHeader><PageHeader.TitleArea><PageHeader.Title>Title</PageHeader.Title><PageHeader.Actions><IconButton aria-label="Workflows" icon={WorkflowIcon} /><IconButton aria-label="Insights" icon={GraphIcon} /><Button variant="primary" trailingIcon={TriangleDownIcon}>Add Item</Button><IconButton aria-label="Settings" icon={GearIcon} /></PageHeader.Actions></PageHeader.TitleArea></PageHeader>
<PageHeader><PageHeader.TitleArea><PageHeader.Title>add-pageheader-docs</PageHeader.Title></PageHeader.TitleArea><PageHeader.Description><Text sx={{fontSize: 1, color: 'fg.muted'}}><Link href="#" muted sx={{fontWeight: 'bold'}}>broccolinisoup</Link>{' '}created this branch 5 days ago · 14 commits · updated today</Text></PageHeader.Description></PageHeader>
<PageHeader><PageHeader.TitleArea><PageHeader.Title>Pull request title</PageHeader.Title></PageHeader.TitleArea><PageHeader.Navigation><UnderlineNav2 aria-label="Pull Request"><UnderlineNav2.Item icon={CommentDiscussionIcon} counter="12" aria-current="page">Conversation</UnderlineNav2.Item><UnderlineNav2.Item counter={3} icon={CommitIcon}>Commits</UnderlineNav2.Item><UnderlineNav2.Item counter={7} icon={ChecklistIcon}>Checks</UnderlineNav2.Item><UnderlineNav2.Item counter={4} icon={FileDiffIcon}>Files Changes</UnderlineNav2.Item></UnderlineNav2></PageHeader.Navigation></PageHeader>
<PageHeader><PageHeader.ContextArea><PageHeader.ParentLink href="http://github.com">Parent Link</PageHeader.ParentLink><PageHeader.ContextAreaActions><Button size="small" leadingIcon={GitBranchIcon}>Main</Button><IconButton size="small" aria-label="More Options" icon={KebabHorizontalIcon} /></PageHeader.ContextAreaActions></PageHeader.ContextArea><PageHeader.TitleArea><PageHeader.Title>Title</PageHeader.Title></PageHeader.TitleArea></PageHeader>
<PageHeader><PageHeader.ContextArea><PageHeader.ContextBar><Breadcrumbs><Breadcrumbs.Item href="#">...</Breadcrumbs.Item><Breadcrumbs.Item href="#">primer</Breadcrumbs.Item><Breadcrumbs.Item href="#">react</Breadcrumbs.Item><Breadcrumbs.Item href="#">src</Breadcrumbs.Item><Breadcrumbs.Item href="#">PageHeader</Breadcrumbs.Item><Breadcrumbs.Item href="#">PageHeader.tsx</Breadcrumbs.Item></Breadcrumbs></PageHeader.ContextBar><PageHeader.ContextAreaActions><Button size="small" leadingIcon={GitBranchIcon}>Main</Button><IconButton size="small" aria-label="More Options" icon={KebabHorizontalIcon} /></PageHeader.ContextAreaActions></PageHeader.ContextArea><PageHeader.TitleArea><PageHeader.Title>Title</PageHeader.Title></PageHeader.TitleArea></PageHeader>
<PageHeader><PageHeader.ContextArea hidden={false}><PageHeader.ParentLink href="http://github.com" hidden={false}>Parent Link</PageHeader.ParentLink><PageHeader.ContextBar hidden={false}><Breadcrumbs><Breadcrumbs.Item href="#">...</Breadcrumbs.Item><Breadcrumbs.Item href="#">primer</Breadcrumbs.Item><Breadcrumbs.Item href="#">react</Breadcrumbs.Item><Breadcrumbs.Item href="#">src</Breadcrumbs.Item><Breadcrumbs.Item href="#">PageHeader</Breadcrumbs.Item><Breadcrumbs.Item href="#">PageHeader.tsx</Breadcrumbs.Item></Breadcrumbs></PageHeader.ContextBar><PageHeader.ContextAreaActions hidden={false}><Button size="small" leadingIcon={GitBranchIcon}>Main</Button><IconButton size="small" aria-label="More Options" icon={KebabHorizontalIcon} /></PageHeader.ContextAreaActions></PageHeader.ContextArea><PageHeader.TitleArea><PageHeader.Title>Title</PageHeader.Title></PageHeader.TitleArea></PageHeader>
<PageHeader><PageHeader.TitleArea><PageHeader.Title as="h2">Webhooks</PageHeader.Title><PageHeader.Actions><Hidden on={['narrow']}><Button variant="primary">New webhook</Button></Hidden><Hidden on={['regular', 'wide']}><Button variant="primary">New</Button></Hidden></PageHeader.Actions></PageHeader.TitleArea></PageHeader>
Name | Type | Default | Description |
---|---|---|---|
aria-label | string | undefined | A unique label for the rendered main landmark | |
as | React.ElementType | "header" | The underlying element to render — either a HTML element name or a React component. |
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
ContextArea should be used to provide users contextual information about their navigation journey. It is only visible on narrow viewports by default.
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
ParentLink is the default way to let users navigate up in the hierarchy on narrow viewports.
Name | Type | Default | Description |
---|---|---|---|
href | string | The URL to link to. | |
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | { narrow: false regular: true wide: true } | Whether the parent link is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
ContextBar is a generic slot for any component above the title region. Use it for custom breadcrumbs and other navigation elements instead of ParentLink.
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. | |
variant | | 'subtitle' | 'medium' | 'large' | { narrow?: | 'subtitle' | 'medium' | 'large' regular?: | 'subtitle' | 'medium' | 'large' wide?: | 'subtitle' | 'medium' | 'large' } | medium | Default title (medium) is the most common page title size. Use for static titles in most situations. Large variant should be used for user-generated content such as issues, pull requests, or discussions. Subtitle variant can be used when a PageHeader.Title is already present in the page, such as in a SplitPageLayout. |
Leading actions can be used for local navigation. It is hidden on narrow viewports by default in favor of ParenLink.
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Leading visuals are optional and appear at the start of the title. They can be octicons, avatars, and other custom visuals that fit a small area.
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Name | Type | Default | Description |
---|---|---|---|
as | React.ElementType | "h3" | The underlying element to render — either a HTML element name or a React component. |
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Trailing visual and trailing text can display auxiliary information. They're placed at the right of the item, and can denote status, privacy details, etc.
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Trailing action can display subtler actions aligned directly next to the title. It is hidden on narrow viewports by default. Replace the trailing action with an item in an overflow button on narow viewports.
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Name | Type | Default | Description |
---|---|---|---|
hidden | | boolean | { narrow?: boolean regular?: boolean wide?: boolean } | false | Whether the content is hidden. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |