BoxData
데이터 값을 표시하는 읽기 전용 디스플레이 컴포넌트
개요
Cals BoxData는 원본 Vue QSBoxData 컴포넌트를 React로 재구현한 것으로, 단일 데이터 값을 다양한 스타일과 포맷으로 표시합니다.
주요 특징
- ✅ 데이터 표시: 숫자/텍스트 데이터 렌더링
- ✅ 접미어: suffix prop으로 단위 표시
- ✅ 천 단위 구분자: 숫자에 자동 쉼표 삽입, 원본 값은 툴팁으로 확인
- ✅ 커스텀 스타일: 10가지 CSS 속성 개별 오버라이드
- ✅ 가시성 제어: visible prop으로 선언적 표시/숨김
- ✅ children 지원: data 대신 커스텀 콘텐츠 렌더링
기본 사용
data prop으로 표시할 값을 지정합니다.
Preview
12345
9876
텍스트 데이터
children 사용
children을 지정하면 data 대신 커스텀 콘텐츠를 표시합니다.
Preview
● 정상
12,345원
접미어 (suffix)
데이터 뒤에 단위 등의 접미어를 표시합니다.
Preview
1500원
85%
36.5℃
천 단위 구분자 (thousandSeparator)
숫자 값에 자동으로 쉼표를 삽입합니다. 마우스를 올리면 원본 값이 툴팁으로 표시됩니다.
Preview
1,234,567
9,876,543,210원
커스텀 스타일
backgroundColor, color, fontSize, fontWeight, borderWidth, borderColor, fontStyle, textDecoration, textAlign prop으로 스타일을 지정합니다. fontWeight는 설정 시 값에 무관하게 항상 900으로 고정됩니다.
Preview
배경색
텍스트 색상
테두리
굵은 글씨 (항상 900)
이탤릭
밑줄
가시성 제어 (visible)
visible prop으로 선언적으로 표시/숨김을 제어합니다.
Preview
보이는 데이터
API Reference
Props
| Prop | Type | Default | Description |
|---|---|---|---|
data | string | number | - | 표시할 데이터 값 |
suffix | string | - | 데이터 뒤에 표시할 접미어 |
thousandSeparator | boolean | false | 숫자 데이터에 천 단위 구분자 적용 |
visible | boolean | true | 표시 여부 (false면 렌더링 안 함) |
backgroundColor | string | - | 배경색 |
borderWidth | string | - | 테두리 두께 |
borderColor | string | - | 테두리 색상 |
color | string | - | 텍스트 색상 |
fontSize | string | - | 폰트 크기 |
fontFamily | string | - | 폰트 패밀리 |
fontStyle | string | - | 폰트 스타일 (italic 등) |
fontWeight | string | number | - | 폰트 굵기 (설정 시 값에 무관하게 항상 900 고정) |
textAlign | CSSProperties["textAlign"] | - | 텍스트 정렬 |
textDecoration | string | - | 텍스트 장식 (underline 등) |
className | string | - | 컨테이너에 적용할 CSS 클래스 |
style | CSSProperties | - | 인라인 스타일 (스타일 오버라이드보다 우선) |
children | ReactNode | - | 데이터 대신 표시할 커스텀 콘텐츠 |
접근성
권장 사항
- ✅ 의미 있는 data 텍스트 사용
- ✅ thousandSeparator 사용 시 원본 값이 title 속성(툴팁)으로 자동 제공
- ❌ 중요 정보를 color만으로 전달하지 않기 (색맹 고려)
관련 컴포넌트
- Label: 제목+데이터 조합 표시용 디스플레이 컴포넌트
Last updated on