Tree

Tree

계층 구조 데이터를 트리 형태로 표시하는 컴포넌트입니다. 연결선·컴팩트·체크박스 등 다양한 유형을 지원합니다.

기본

tree_toggle으로 노드를 펼치고 접습니다. tree_bordered로 테두리를 추가할 수 있습니다.

  • src
    • components
      • button.html
      • card.html
    • index.html

간단

아이콘 없이 텍스트만 표시하는 트리입니다.

  • 전자기기
    • 노트북
    • 스마트폰
  • 의류

연결선

tree_lines로 노드 간 연결 가이드라인을 표시합니다. 조직도·파일 탐색기에 적합합니다.

  • 개발본부
    • 프론트엔드팀
      • 홍길동
      • 김철수
  • 디자인본부

컴팩트

tree_compact로 행 높이와 간격을 줄여 밀도 높은 목록을 표시합니다.

  • 관리자
    • 사용자 관리
    • 설정 변경
    • 로그 조회
  • 뷰어

+/− 토글

tree_toggle-plus로 화살표 대신 +/− 아이콘 토글을 사용합니다.

  • 가이드
    • 시작하기
      • 설치
      • 빠른 시작

체크박스

tree_check로 다중 선택 트리를 구성합니다. 부모·자식 노드에 체크박스를 배치할 수 있습니다.

  • 대시보드
    • 조회
    • 보내기

메타 · 배지

tree_meta로 파일 크기·항목 수 등 보조 정보를 표시합니다.

  • assets3개
    • logo.png24 KB
    • hero.jpg1.2 MB
    • styles.css8 KB
  • package.json수정됨

비활성

tree_rowis-disabled를 적용해 선택·상호작용을 막습니다.

  • 기본 기능
    • 대시보드
    • 고급 분석 (Pro)
    • API 연동 (Enterprise)

선택 가능

tree_link로 행 전체를 클릭 가능하게 만듭니다. is-selected로 현재 선택 항목을 표시합니다.

API · Tree Props

Prop타입기본값설명
borderedbooleanfalse테두리 (tree_bordered)
linesbooleanfalse연결선 (tree_lines)
compactbooleanfalse좁은 행 높이 (tree_compact)
ariaLabelstring트리 접근성 라벨 (권장)
multiselectablebooleanfalse다중 선택 aria-multiselectable
classNamestringtree 루트에 추가 클래스

API · TreeNode Props

Prop타입기본값설명
labelstring노드 라벨 (tree_label)
expandedboolean펼침 상태 (aria-expanded)
selectedbooleanfalse선택 상태 (is-selected · aria-selected)
disabledbooleanfalse비활성 상태 및 상호작용 차단 (is-disabled · aria-disabled)
expandablebooleanfalse토글 버튼 강제 표시
plusTogglebooleanfalse+ / − 토글 (tree_toggle-plus)
toggleLabelstring토글 버튼 aria-label
linkbooleanfalse클릭 가능 행 (tree_link)
metastring우측 메타 텍스트 (tree_meta)
onExpandedChange(expanded: boolean) => void펼침 상태가 변경될 때 호출되는 React 콜백
classNamestringtree_item에 추가 클래스
ripplebooleantrue클릭 파장(ripple). true 시 자식 클릭 표면에 data-ripple · false 시 data-no-ripple으로 하위 전체 비활성

API · Tree Children

Children설명
childrenTreeNode를 전달하는 React children

API · TreeNode Children

Children / Prop설명
prefix토글 앞 체크박스 등으로 전달하는 React 노드
icon라벨 앞 아이콘으로 전달하는 React 노드 (tree_icon)
label라벨 텍스트 (label prop 대체)
labelSlotlabel prop을 대체하는 커스텀 React 노드
meta우측 메타 텍스트 prop
metaSlotmeta prop을 대체하는 우측 React 노드
children중첩 트리를 구성하는 하위 TreeNode children

클래스 · 속성

React 컴포넌트가 렌더하는 OOCSS 클래스입니다. HTML 마크업으로 직접 작성할 때 동일하게 조합합니다.

클래스설명
tree트리 루트·중첩 ul
tree_bordered · tree_lines · tree_compact스타일 변형
tree_item · tree_row노드 구조
tree_toggle · tree_toggle-plus · tree_toggle_placeholder펼침 토글
tree_label · tree_link · tree_meta · tree_icon행 파트
is-selected · is-disabled상태
data-ripple클릭 파장 활성. data-ripple="surface"는 절대 위치 보조 버튼용
data-ripple="false"해당 요소 ripple 비활성
data-no-ripple하위 전체 ripple 비활성

디자인 토큰

토큰기본값설명
--tree-indent1.25rem들여쓰기
--tree-row-height · --tree-font-size2rem · var(--text-size-sm)행 높이·글자
--tree-toggle-size · --tree-gap1.25rem · 2px토글·간격
--tree-line-colorvar(--color-border)연결선 색