Skip to Content

BoxIcon

아이콘을 표시하는 읽기 전용 디스플레이 컴포넌트


개요

Cals BoxIcon은 원본 Vue QSBoxIcon 컴포넌트를 React로 재구현한 것으로, 아이콘을 스타일 커스텀과 함께 표시합니다.

주요 특징

  • 아이콘 표시: ReactNode로 모든 아이콘 컴포넌트 지원
  • 커스텀 스타일: backgroundColor, color, fontSize, borderWidth, borderColor 개별 지정
  • 가시성 제어: visible prop으로 선언적 표시/숨김
  • children 지원: icon 대신 커스텀 콘텐츠 렌더링
  • 접근성: aria-label로 의미 있는 아이콘 이름 제공

기본 사용

icon prop으로 아이콘을 표시합니다.

children 사용

children을 지정하면 icon 대신 커스텀 콘텐츠를 표시합니다.


아이콘 색상 (color)

color prop으로 아이콘 색상을 변경합니다.


배경색 (backgroundColor)


아이콘 크기 (fontSize)

fontSize prop으로 아이콘 크기를 조절합니다.


테두리 (borderWidth, borderColor)

borderWidth, borderColor를 지정하면 자동으로 border-style: solid가 적용됩니다.


가시성 제어 (visible)

visible prop으로 선언적으로 표시/숨김을 제어합니다.


API Reference

Props

PropTypeDefaultDescription
iconReactNode-표시할 아이콘
visiblebooleantrue표시 여부 (false면 렌더링 안 함)
backgroundColorstring-아이콘 영역 배경색
colorstring-아이콘 색상
fontSizestring-아이콘 크기 (font-size)
borderWidthstring-아이콘 영역 테두리 두께
borderColorstring-아이콘 영역 테두리 색상
classNamestring-컨테이너에 적용할 CSS 클래스
styleCSSProperties-인라인 스타일 (스타일 오버라이드와 병합)
aria-labelstring-의미 있는 아이콘의 접근성 이름
childrenReactNode-icon 대신 표시할 커스텀 콘텐츠

접근성

권장 사항

  • ✅ 의미 있는 아이콘에는 aria-label 제공
  • ✅ 장식용 아이콘은 자동으로 aria-hidden="true" 적용
  • ❌ 중요 정보를 color만으로 전달하지 않기 (색맹 고려)
Last updated on