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
NameTypeDefaultDescription
defaultExpanded
boolean
Whether the item is expanded by default.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.