Guidebook
ComponentsStorybook

Components · 15

데이터 표시

정보의 구조, 상태, 관계를 읽기 쉬운 형태로 표현하는 컴포넌트입니다.

데이터 표시 컴포넌트는 같은 정보를 장식하는 도구가 아니라 사용자가 비교하고 탐색하고 판단하는 방식을 결정합니다. 데이터의 관계, 양, 주요 작업과 빈·로딩·오류 상태를 함께 고려합니다.

컴포넌트 목록

컴포넌트 사용 목적 사용 시점과 주의사항
Avatar 사용자, 조직 또는 개체 식별 사진이나 이니셜로 빠른 식별을 도울 때 사용합니다. 이미지가 없거나 로드에 실패하는 대체 상태를 제공합니다.
Badge 수량 또는 짧은 상태 강조 읽지 않은 항목 수나 처리 상태처럼 짧은 정보를 보조적으로 표시합니다. 색상만으로 의미를 전달하지 않습니다.
Tag 분류, 속성, 필터 값 표현 여러 항목에 반복되는 메타데이터를 짧게 표시합니다. 제거 가능한 Tag는 버튼의 의미와 포커스 상태를 제공합니다.
Card 연관된 정보와 액션을 하나의 단위로 그룹화 서로 독립적인 항목을 탐색할 때 사용합니다. 카드 전체와 내부 링크의 클릭 영역이 충돌하지 않도록 합니다.
List 반복 항목을 한 방향으로 탐색 항목별 정보 구조가 단순하고 열 비교가 필요 없을 때 사용합니다. 긴 목록에는 페이지 이동이나 점진적 로딩을 고려합니다.
Table 여러 항목의 동일한 속성을 열 단위로 비교 정확한 값 비교와 정렬이 중요할 때 사용합니다. 열 제목, 행 관계와 좁은 화면 대응을 제공합니다.
Stat 핵심 수치, 단위와 변화량 강조 대시보드에서 중요한 지표를 빠르게 확인할 때 사용합니다. 비교 기준과 측정 기간을 함께 표시합니다.
Timeline 사건과 상태 변화를 시간 순서로 표현 이력이나 진행 기록의 순서가 중요할 때 사용합니다. 날짜뿐 아니라 사건 설명과 현재 상태를 제공합니다.
Tree 상하위 관계가 있는 계층 데이터 탐색 파일이나 조직 구조처럼 부모·자식 관계를 유지해야 할 때 사용합니다. 펼침 상태와 키보드 탐색을 지원합니다.
Calendar 날짜를 기준으로 일정과 정보를 표현 날짜 간 관계와 일정 분포를 확인할 때 사용합니다. 목록 보기와 오늘·선택 날짜의 명확한 상태를 제공합니다.
Chart 외부 차트 라이브러리 없이 SVG로 수치와 추세 표현 막대·선·영역·도넛·아크 차트에 사용합니다. 패턴과 흑백 모드로 색상 외의 구분 수단을 제공합니다.
ChartJs Chart.js 기반으로 수치와 비율 시각화 Canvas 렌더링과 chartOptions 확장이 필요할 때 사용합니다. 차트와 함께 데이터 표를 제공합니다.
ChartEcharts ECharts 기반으로 수치와 추세 시각화 ECharts 옵션을 chartOptions로 확장할 때 사용합니다. 제목, 단위와 데이터 표를 함께 확인합니다.
ChartHighcharts Highcharts 기반으로 수치와 추세 시각화 Highcharts 옵션을 chartOptions로 확장할 때 사용합니다. 도입 조건은 Storybook 문서의 라이선스 안내를 확인합니다.
ChartD3 D3.js 기반 SVG로 데이터 시각화 D3 스케일과 경로를 활용한 시각화에 사용합니다. 시각적 표현과 함께 읽을 수 있는 데이터 표를 제공합니다.

선택 기준

행 단위로 읽으면 List, 열 간 정확한 비교가 필요하면 Table, 각 항목이 독립된 요약과 액션을 가지면 Card를 사용합니다. 시간의 순서는 Timeline, 계층 관계는 Tree, 날짜 위치 자체가 정보라면 Calendar를 선택합니다.

수치의 크기·추세·비율을 비교하면 차트 계열을 선택합니다. 외부 차트 라이브러리 없이 패턴·흑백 표현이 필요하면 Chart, 기존 프로젝트의 차트 엔진과 옵션을 활용하면 ChartJs·ChartEcharts·ChartHighcharts, D3 기반 SVG 표현이 필요하면 ChartD3를 사용합니다. 라이브러리 기반 4종은 막대·선·영역·도넛·파이를 지원하며, Chart의 아크·패턴 옵션과는 구분합니다.

차트 예제는 HTML·Gulp·Vue·React와 Next.js·Nuxt의 재사용 흐름을 기준으로 확인합니다. 차트 계열에는 WebSquare 탭이 제공되지 않습니다. 각 컴포넌트 링크에서 구현 코드, 데이터 형식과 지원 옵션을 확인합니다.

데이터 상태

  • 로딩, 일부 로딩, 빈 결과, 권한 없음, 오류 상태를 정상 데이터와 같은 수준으로 설계합니다.
  • 정렬과 필터 적용 여부, 전체 건수, 현재 표시 범위를 사용자가 확인할 수 있게 합니다.
  • 숫자는 단위와 기준 기간을 포함하고 날짜·통화 형식은 서비스 로케일에 맞춥니다.
  • 차트는 제목·설명·단위를 제공하고 색상만으로 항목을 구분하지 않습니다. 데이터 표로 정확한 값을 확인할 수 있게 하며 빈 데이터와 좁은 화면도 검증합니다.
  • 데이터가 갱신되어도 현재 포커스, 스크롤, 선택 상태가 불필요하게 초기화되지 않도록 합니다.
가이드북소개기초디자인 토큰기초접근성컴포넌트기본 요소컴포넌트레이아웃컴포넌트폼컴포넌트네비게이션컴포넌트데이터 표시컴포넌트피드백컴포넌트기타활용 가이드UI 패턴활용 가이드작성 지침프레임워크프레임워크 구현프레임워크Gulp프레임워크GulpGulp 시작프레임워크GulpGulp 기본 설정프레임워크GulpGulp 기본 API프레임워크GulpHTML 편집 (Gulp NJK)프레임워크GulpWeb Server & Watching Files프레임워크GulpAssets 세팅프레임워크Gulp배포 (Deploying)프레임워크Vue프레임워크Vue빠른 시작프레임워크Vue핵심 기초프레임워크Vue상태와 반응성프레임워크Vue컴포넌트 심화프레임워크Vue페이지와 라우팅프레임워크Vue재사용성프레임워크Vue내장 컴포넌트프레임워크Vue확장하기프레임워크Vue베스트 프랙티스프레임워크VueTypeScript프레임워크Vue추가 주제프레임워크React프레임워크React빠르게 시작하기프레임워크ReactUI 표현프레임워크React조건과 목록프레임워크React상호작용프레임워크React페이지와 라우팅프레임워크ReactState 관리프레임워크React탈출구프레임워크ReactReact로 사고하기프레임워크WebSquare프레임워크WebSquare스튜디오프레임워크WebSquare화면과 이벤트프레임워크WebSquare컴포넌트프레임워크WebSquareDataCollection프레임워크WebSquareSubmission프레임워크WebSquare사용하기프레임워크WebSquareSP5 설정프레임워크WebSquare심화 가이드프레임워크Svelte프레임워크Svelte빠른 시작프레임워크Svelte핵심 기초프레임워크Svelte상태와 반응성프레임워크Svelte컴포넌트 심화프레임워크Svelte페이지와 라우팅프레임워크SvelteTypeScript프레임워크Svelte베스트 프랙티스프레임워크SolidJS프레임워크SolidJS빠른 시작프레임워크SolidJSUI 표현프레임워크SolidJSSignals와 Effects프레임워크SolidJS컴포넌트 심화프레임워크SolidJS페이지와 라우팅프레임워크SolidJS베스트 프랙티스프레임워크Qwik프레임워크Qwik빠른 시작프레임워크Qwik컴포넌트프레임워크Qwik상태와 반응성프레임워크Qwik페이지와 라우팅프레임워크Qwik베스트 프랙티스프레임워크Remix프레임워크Remix빠른 시작프레임워크RemixUI 표현프레임워크Remix페이지와 라우팅프레임워크RemixLoader와 Action프레임워크Remix베스트 프랙티스프레임워크Angular프레임워크Angular빠른 시작프레임워크Angular핵심 기초프레임워크Angular상태와 반응성프레임워크Angular컴포넌트 심화프레임워크Angular페이지와 라우팅프레임워크AngularTypeScript프레임워크Angular베스트 프랙티스프레임워크Astro프레임워크Astro빠른 시작프레임워크Astro페이지와 라우팅프레임워크AstroIslands프레임워크Astro컴포넌트 통합프레임워크Astro베스트 프랙티스