DataList
상세 패널이나 레코드 요약, 제목 아래의 메타데이터처럼 항목과 그 이름을 나열합니다. 진짜 <dt>/<dd> 쌍이라 각 행이 "라벨, 값"으로 읽힙니다.
tsx
import { DataList, DataListItem } from 'neba';
<DataList>
<DataListItem label="Status">Live</DataListItem>
<DataListItem label="Region">Frankfurt</DataListItem>
</DataList>;Props
| Prop | 타입 | 기본값 | 설명 |
|---|---|---|---|
| orientation공통 | 'horizontal' | 'vertical' | 'horizontal' | 라벨이 놓이는 자리. horizontal은 값 옆의 열, vertical은 값 위입니다 |
| labelWidth | number | string | — | horizontal일 때 라벨 열의 너비. 숫자는 px입니다. 지정하지 않으면 가장 긴 라벨만큼입니다 |
| dividers | boolean | false | 행 사이에 하이라인을 그립니다 |
| size공통 | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'md' | 라벨과 값의 타입 스케일 |
| density공통 | 'default' | 'compact' | 'default' | 행과 열 사이의 간격만 바꿉니다 |
| children | ReactNode | — | DataListItem들 |
<dl>의 모든 속성이 color를 제외하고 그대로 전달됩니다. 표면은 그리지 않습니다. 필요하면 Card나 Box 안에 두세요.
두 열짜리 Table이 아닙니다. 표는 같은 모양의 행이 격자로 놓인 것이고 격자로 읽힙니다. 이쪽은 쌍의 모음이고 각 쌍이 라벨과 값으로 읽힙니다.
DataListItem
| Prop | 타입 | 기본값 | 설명 |
|---|---|---|---|
| label * | ReactNode | — | 값의 이름. dt로 렌더링됩니다 |
| children | ReactNode | — | 값. 노드이므로 Chip이나 링크, 코드 조각도 들어갑니다. dd로 렌더링됩니다 |
예시
orientation
horizontal은 값 옆에 라벨만의 열을 두며, 상세 패널이 취하는 모양입니다. vertical은 라벨을 위에 둡니다. 폭이 좁은 열이나, 값이 길어서 옆에 라벨을 두면 행 대부분이 비는 경우에 씁니다.
labelWidth
지정하지 않으면 라벨 열은 가장 긴 라벨만큼 넓어지며, 그래서 모든 값이 같은 위치에서 시작합니다. 두 목록을 나란히 같은 치수로 맞출 때 지정하세요.
dividers
행 사이의 하이라인입니다. 쌍이 많아 구분이 필요한 긴 목록에 씁니다.