Skip to content
fandhe-frontend
GitHub

Tree View

fandhe-frontend-pre-styled-uitree_view mod が提供するスタイル済み Tree View 部品です。

ファイル階層等の入れ子構造を表示する部品です。WAI-ARIA Tree View パターン(role="tree"/role="treeitem")に従い、展開・折りたたみは [hidden] 属性と CSS の詳細度制御で表現します。JSON データ専用の配色付き表示には JSON Tree View を検討してください。

関連 API: fandhe-frontend-pre-styled-ui API / fandhe-frontend-headless-ui API

Demo

headless-ui の TreeView(role="tree"/role="treeitem")に pre-styled-ui の recipe CSS を適用した静的掲示です。"src" ブランチを展開済み、"src/lib.rs" を選択中、"README.md" を disabled として固定表示しています。インデントは CSS custom property(--fandhe-tree-view-indent)で表現しています。

Project files
src
lib.rs
Cargo.toml
README.md

Features

  • role="tree"/role="treeitem" の WAI-ARIA Tree パターンを headless-ui が提供する(crates/pre-styled-ui/src/tree_view.rs:45)
  • branch-content の展開・折りたたみは [hidden] 属性と CSS の詳細度制御で表現する(tree_view.rs:173, 270-291)
  • disabled/selected 状態を data-disabled/data-selected で表現しフォーカス可視化と連動する(tree_view.rs:314-334)

Anatomy

root
  label
  tree
    branch
      branch-control
        branch-indicator
        branch-text
      branch-content
        branch-indent-guide
          item
            item-indicator
            item-text

API Reference

Data Attributes

PartAttributeObserved Values
branchdata-depth0, 1
branchdata-stateclosed, open
branchdata-valuesrc, src/nested
branch-contentdata-stateclosed, open
branch-controldata-stateclosed, open
branch-indicatordata-stateclosed, open
itemdata-depth0, 1, 2
itemdata-disabled
itemdata-selected
itemdata-valueCargo.toml, README.md, src/lib.rs, src/nested/util.rs
item-indicatordata-selected

CSS Variables

VariableDefault
--fandhe-tree-view-indent1rem

Examples

Expanded branch

"src" ブランチを展開した状態で固定表示する例です。

Project files
src
lib.rs

Accessibility

WAI-ARIA

AttributeDescription
role="tree" / role="treeitem"WAI-ARIA Tree View パターンに従い headless-ui が付与する(tree_view.rs:45)。