Skip to Content

ColorPicker

색상을 선택하고 다양한 포맷으로 출력하는 컴포넌트


개요

ColorPicker는 팔레트에서 색상을 선택하거나 색상 코드를 직접 입력할 수 있는 컴포넌트입니다. Popover 형태로 제공되며, 다양한 색상 포맷을 지원합니다.

주요 특징

  • 색상 선택: 팔레트에서 마우스로 색상 선택
  • 색상 코드 입력: HEX, RGB, HSL, OKLCH 코드 직접 입력
  • 색상 미리보기: 선택된 색상 실시간 미리보기 (트리거에 포맷된 값 표시)
  • 투명도 조절: Alpha 채널 조절 지원
  • 색상 포맷: HEX, RGB, HSL, OKLCH 출력 형식
  • EyeDropper: 화면에서 색상 추출 (브라우저 지원 필요)
  • 디자인 토큰: 테마 커스터마이징 지원

사용 예시

기본 사용

#3B82F6

투명도 조절

#EF4444
#22C55E

색상 포맷

#3B82F6
rgb(59, 130, 246)
hsl(217 91% 60%)

트리거에 값 표시

색상이 선택되면 트리거에 outputFormat 기반으로 포맷된 색상 값이 표시됩니다. 트리거는 콘텐츠 크기에 맞게 자동 조절되며, triggerClassName으로 너비를 변경할 수 있습니다.

#3B82F6
rgb(239, 68, 68)
hsl(142 71% 45%)

최소 구성

#22C55E

API Reference

Props

PropTypeDefaultDescription
valuestring-색상 값 (제어 컴포넌트)
defaultValuestring-초기 기본 색상
outputFormat"hex" | "rgb" | "hsl" | "oklch""hex"출력 색상 포맷
placeholderstring-플레이스홀더 텍스트
showAlphabooleantrue투명도 조절 표시 여부
showEyeDropperbooleantrueEyeDropper 버튼 표시 여부
showOutputbooleantrue색상 코드 입력 필드 표시
showFormatbooleantrue포맷 선택 버튼 표시 여부
selectionHeightnumber | string200팔레트 영역 높이
triggerClassNamestring-트리거 버튼 CSS 클래스
classNamestring-Popover 콘텐츠 CSS 클래스

Events

EventTypeDescription
onChange(value: string) => void색상 변경 시 호출
onOpenChange(open: boolean) => voidPopover 열림/닫힘 시

기본 사용법

import { ColorPicker } from "@vortex/ui-foundation" <ColorPicker defaultValue="#3b82f6" placeholder="색상 선택" /> <ColorPicker defaultValue="#ef4444" showAlpha={true} outputFormat="rgb" onChange={(color) => console.log(color)} />

접근성

권장 사항

  • ✅ 키보드: Tab으로 각 컨트롤 이동, Enter로 Popover 열기/닫기
  • ✅ 색상 코드 직접 입력으로 정확한 값 지정 가능
  • ✅ 미리보기를 통해 선택 색상 시각적 확인
  • ❌ 색상만으로 정보를 전달하지 않도록 주의

관련 컴포넌트

Last updated on