Components

Tree View

A tree view is a hierarchical structure that provides nested levels of navigation.

Overview

Tree view is a hierarchical list of items that may have a parent-child relationship where children can be toggled into view by expanding or collapsing their parent item.

The tree may also have leaf nodes. Leaf nodes can appear at any level of the tree hierarchy and do not have child nodes.

Nested children

For each subsequent grandchild after secondary:

  • margin-left of 32px or 2rem
  • padding-left of 16px or 1rem
8BitLoot, design systems-components-tree-view-nested-children-anatomy

Alignment

Trees stack directly on top of each other with 0px space between them. Having tree nodes flush with each other ensures consistent spacing and alignment between each node in the tree view.

Nested nodes in a tree view rely on vertical type and left spacing. Each subsequent nested children will indent by 32px (2rem).

Content

Tree labels should be succinct for whatever entity each tree node represents.

By default, labels are truncated to a single line. However, tree labels may be wrapped to multiple lines in cases where the entire label must always be visible.

Keyboard Interaction

Press  TAB  key to move downward between the tree nodes.

Press  SHIFT  +  TAB  key combo to move upward between the tree nodes.

Press  ENTER  or  SPACE  to activate the tree nodes.

Tokens

Primary/Default

Label = $global-action-content-primary-color-default
Icon = $global-action-content-primary-color-default
BG = $global-action-surface-primary-color-default
Active Bar = $global-action-border-primary-color-active
Border = $global-static-border-color-default
Focus = $global-action-border-color-focus

Primary/Hover

Label = $global-action-content-primary-color-hover
Icon = $global-action-content-primary-color-hover
BG = $global-action-surface-primary-color-hover
Active Bar = null
Border = $global-static-border-color-default
Focus = null

Child/Default

Border = $global-static-border-color-disabled

Child/Hover

Border = $global-static-border-color-disabled

keyboard_double_arrow_up