On this page
Header
Use the Header component to create a header that has all of its items aligned vertically with consistent horizontal spacing
- Alpha
- Not reviewed for accessibility
On this page
Examples
All items directly under the Header component should be a Header.Item
component. Inside these components can be anything (text, forms, images...), and the Header.Item
component will make sure these elements vertically align with each other.
Header.Item
elements have a built-in margin that will need to be overridden with the mr={0}
props for the last element in the container. We relied on the prop here instead of :last-child
because the last child isn't always the item visible. On responsive pages, there's a mobile menu that gets presented to the user at smaller breakpoints.
With full-size item
With links
Props
Header
Name | Type | Default | Description |
---|---|---|---|
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Header.Item
Name | Type | Default | Description |
---|---|---|---|
full | string | Stretches item to fill the available space | |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. |
Header.Link
Name | Type | Default | Description |
---|---|---|---|
href | string | URL to be used for the Link | |
as | React.ElementType | "a" | The underlying element to render — either a HTML element name or a React component. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. | |
Additional props are passed to the <a> element. See a docs for a list of props accepted by the <a> element. |
Status
Alpha
- Component props and basic example usage of the component are documented on primer.style/react.
- Component does not have any unnecessary third-party dependencies.
- Component can adapt to different themes.
- Component can adapt to different screen sizes.
- Component has robust unit test coverage (100% where achievable).
- Component has visual regression coverage of its default and interactive states.
- Component does not introduce any axe violations.
- Component has been manually reviewed by the accessibility team and any resulting issues have been addressed.
Beta
- Component is used in a production application.
- Common usage examples are documented on primer.style/react.
- Common usage examples are documented in storybook stories.
- Component has been reviewed by a systems designer and any resulting issues have been addressed.
- Component does not introduce any performance regressions.
Stable
- Component API has been stable with no breaking changes for at least one month.
- Feedback on API usability has been sought from developers using the component and any resulting issues have been addressed.
- Component has corresponding design guidelines documented in the interface guidelines.
- Component has corresponding Figma component in the Primer Web library.
- Tooling (such as linters, codemods, etc.) exists to prevent further use of alternatives.