@teamsparta/stack-table
v1.0.2
Published
stack table
Downloads
483
Readme
@teamsparta/stack-table
Stack 디자인 시스템의 Table 컴포넌트. TanStack Table v8 기반.
코드 위계 (Figma ↔ src)
| Figma 노드 | src 위치 |
| ------------------------------- | -------------------------------------------- |
| Container/Border | style.ts (tableContainerCss) |
| Header row | parts/header/TableHeader.tsx |
| Header cell | parts/header/TableHeaderCell.tsx |
| Header cell title (string) | parts/header/TableHeaderTitle.tsx |
| Header cell title (string ellipsis + tooltip) | parts/header/TruncatedHeaderText.tsx |
| Sort icon | parts/header/SortIcon.tsx |
| Header rightAddon slot | meta.rightAddon (TableHeaderCell 안) |
| Body row | parts/body/TableBodyRow.tsx |
| Body cell | parts/body/TableBodyCell.tsx |
| Body row (loading) | parts/body/TableLoading{Row,Cell}.tsx |
| Body row (empty) | parts/body/TableEmptyRow.tsx |
| Body row (error) | parts/body/TableErrorRow.tsx |
| Selection (column factory) | columns/selectionColumn.tsx |
| Selection header checkbox | parts/selection/TableSelectionHeaderCell.tsx |
| Selection row checkbox | parts/selection/TableSelectionRowCell.tsx |
폴더 컨벤션:
parts/는 internal subcomponents (외부 노출 안 함). 다른 Stack DS 패키지의compounds/와 의미 다름 — table은 data-driven이라 사용자 조립이 아닌 라이브러리 자동 렌더 모델.columns/는 사용자가 호출하는 helper (column(),selectionColumn())와 width resolve 로직. 자동 id 부여는parts/TableRoot.tsx의 normalizedColumns가 담당.hooks/는 internal React hooks (useTableInstance/useSortInteraction).warnTableDevMisuse는 hook이 아니라 src/ top-level의 plain 함수.
