Skip to content

TreeView

Draft
A hierarchical list of items where nested items can be expanded and collapsed.

Examples

Props

TreeView

NameTypeDefaultDescription
children Required
React.ReactNode

TreeView.Item

NameTypeDefaultDescription
children Required
React.ReactNode
onSelect
(event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => void
onToggle
(isExpanded: boolean) => void

TreeView.LinkItem

NameTypeDefaultDescription
children Required
React.ReactNode
href
string
The URL that the item navigates to. href is passed to the underlying <a> element. If as is specified, the component may need different props. If the item contains a sub-nav, the item is rendered as a <button> and href is ignored.
onSelect
(event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => void
onToggle
(isExpanded: boolean) => void

TreeView.SubTree

NameTypeDefaultDescription
children
React.ReactNode

Status

Alpha

  • Component props 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 100% test coverage.

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 has been manually reviewed by the accessibility team and any resulting issues have been addressed.

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.