Table · Overview

스토리북 개발자들을 위한 내부 문서

Components

Table

Overview

Table은 합성 컴포넌트입니다. Table · Header · Body · Footer · Row · Head · Cell · Caption을 조합합니다. 각 파트는 native HTML 테이블 요소를 감싸며, colSpan · scope · headers 등 native 속성을 props로 그대로 받습니다. 셀 패딩은 반응형입니다(모바일 compact · md+ medium). Head/Cell className의 패딩이 기본값보다 우선합니다. 색상 커스텀은 TableHeader · TableRow 등 각 파트 className으로 전달합니다.

Basic

Header · Body · Row · Head · Cell 조합. 데이터를 map해 Row를 렌더합니다.

InvoiceStatusMethodAmount
INV001PaidCredit Card$250.00
INV002PendingPayPal$150.00
INV003UnpaidBank Transfer$350.00
INV004PaidCredit Card$450.00
Caption

TableCaption으로 표의 목적을 설명합니다.

캡션을 통해 접근성을 높힐 수 있습니다.
InvoiceStatusMethodAmount
INV001PaidCredit Card$250.00
INV002PendingPayPal$150.00
INV003UnpaidBank Transfer$350.00
INV004PaidCredit Card$450.00
Selected

TableRow에 data-state="selected"를 주면 선택 행 스타일이 적용됩니다. selected가 없는 테이블에서는 무시됩니다.

InvoiceStatusMethodAmount
INV001PaidCredit Card$250.00
INV002PendingPayPal$150.00
INV003UnpaidBank Transfer$350.00
INV004PaidCredit Card$450.00

INV002 행에 data-state="selected"를 적용했습니다.

Colors

TableHeader · TableRow className으로 배경을 커스텀합니다. 기본은 tokens, 예시는 임의 색(emerald)입니다.

Default (tokens)

Y/NInvoiceStatusMethodAmount
INV001PaidCredit Card$250.00
INV002PendingPayPal$150.00
INV003UnpaidBank Transfer$350.00
INV004PaidCredit Card$450.00

Custom via className

Y/NInvoiceStatusMethodAmount
INV001PaidCredit Card$250.00
INV002PendingPayPal$150.00
INV003UnpaidBank Transfer$350.00
INV004PaidCredit Card$450.00

TableHeader className="bg-emerald-50"· TableRow className="hover:bg-emerald-50 data-[state=selected]:bg-emerald-100"처럼 각 파트에 직접 전달합니다.

Overflow

열이 많을 때 래퍼가 가로 스크롤됩니다. containerClassName으로 래퍼를 조정합니다. check box 등 다른 컴포넌트와 조합하여 사용자가 열을 선택할 수 있습니다.

No.IDCustomerEmailPlanRegionSeats
1Acme Corpbilling@acme.exampleEnterpriseAPAC120$4,800
2Northwindops@northwind.exampleProEMEA45$1,350
3Contosohello@contoso.exampleFreeNA8$0