ColorPicker
색상을 선택하고 다양한 포맷으로 출력하는 컴포넌트 (레이블 지원)
개요
iCignal ColorPicker는 Foundation ColorPicker를 확장하여 FormItem 래핑을 통해 레이블, 필수 표시, 설명, 에러 메시지를 제공합니다.
주요 특징
- ✅ 레이블 제공: label, labelWidth, orientation으로 레이블 배치
- ✅ 필수 표시: required로 필수 입력 표시
- ✅ 에러 메시지: error로 유효성 검증 메시지 표시
- ✅ 설명 텍스트: description으로 필드 설명 추가
- ✅ 색상 선택: 팔레트에서 마우스로 색상 선택
- ✅ 색상 코드 입력: HEX, RGB, HSL, OKLCH 코드 직접 입력
- ✅ 트리거 값 표시: 선택된 색상이 outputFormat 기반으로 트리거에 표시
- ✅ 투명도 조절: Alpha 채널 조절 지원
- ✅ EyeDropper: 화면에서 색상 추출
사용 예시
레이블 제공
Preview
#3B82F6
#8B5CF6
에러 및 설명
Preview
#F8FAFC
페이지 배경 색상을 선택하세요.
#000000
색상을 선택해주세요.
트리거에 값 표시
색상이 선택되면 트리거에 outputFormat 기반으로 포맷된 색상 값이 표시됩니다.
Preview
#3B82F6
rgb(239, 68, 68)
투명도 조절
Preview
#EF4444
#22C55E
API Reference
Props
Foundation ColorPicker의 모든 Props를 상속하며, FormItem Props가 추가됩니다.
| Prop | Type | Default | Description |
|---|---|---|---|
label | string | - | 필드 레이블 |
labelWidth | string | number | - | 레이블 너비 |
labelAlign | "start" | "center" | "end" | - | 레이블 가로 정렬 |
labelVerticalAlign | "start" | "center" | "end" | - | 레이블 세로 정렬 |
required | boolean | false | 필수 여부 (* 표시) |
orientation | "horizontal" | "vertical" | "horizontal" | 레이블-필드 배치 방향 |
description | string | - | 설명 텍스트 |
error | string | - | 에러 메시지 |
value | string | - | 색상 값 (제어 컴포넌트) |
defaultValue | string | - | 초기 기본 색상 |
outputFormat | "hex" | "rgb" | "hsl" | "oklch" | "hex" | 출력 색상 포맷 |
placeholder | string | - | 플레이스홀더 텍스트 |
showAlpha | boolean | true | 투명도 조절 표시 여부 |
showEyeDropper | boolean | true | EyeDropper 버튼 표시 여부 |
showOutput | boolean | true | 색상 코드 입력 필드 표시 |
showFormat | boolean | true | 포맷 선택 버튼 표시 여부 |
Events
| Event | Type | Description |
|---|---|---|
onChange | (value: string) => void | 색상 변경 시 호출 |
onOpenChange | (open: boolean) => void | Popover 열림/닫힘 시 |
기본 사용법
import { ColorPicker } from "@vortex/ui-icignal"
<ColorPicker label="테마 색상" labelWidth={120} defaultValue="#3b82f6" />
<ColorPicker
label="배경색"
labelWidth={120}
required
description="페이지 배경 색상"
defaultValue="#f8fafc"
/>접근성
권장 사항
- ✅
label을 통해 입력 목적 전달 - ✅ 키보드: Tab으로 컨트롤 이동, Enter로 Popover 열기/닫기
- ✅ 색상 코드 직접 입력으로 정확한 값 지정 가능
- ❌ 색상만으로 정보를 전달하지 않도록 주의
관련 컴포넌트
Last updated on