본문으로 이동

Color Picker

기본 입력, 텍스트, 채널, 색상 영역으로 정확한 색을 편집합니다.

용법

브라우저 기본 색상 선택기

브라우저 기본 색상 입력과 텍스트 입력이 같은 정확한 색상값을 사용합니다.

브라우저 기본 색상 입력과 텍스트 입력이 같은 정확한 색상값을 사용합니다.

HEX
#5b6df6

투명도

화면에 보이는 색상 채널과 투명도를 함께 조절합니다.

화면에 보이는 색상 채널과 투명도를 함께 조절합니다.

HEX
#26c6a080

외부 상태 관리

현재 값은 부모가 관리하고, 허용된 변경을 컴포넌트에 다시 전달합니다.

현재 값은 부모가 관리하고, 허용된 변경을 컴포넌트에 다시 전달합니다.

HEX
#5b6df6

API

Vue 패키지: @sectile/vue/color-picker

컴포넌트
  • ColorPickerRoot
  • ColorPickerLabel
  • ColorPickerControl
  • ColorPickerNativeInput
  • ColorPickerTextInput
  • ColorPickerChannelInput
  • ColorPickerCoordinateInput
  • ColorPickerCoordinateSlider
  • ColorPickerArea
  • ColorPickerAreaThumb
  • ColorPickerHueSlider
  • ColorPickerAlphaSlider
  • ColorPickerSwatch
  • ColorPickerValueText
  • ColorPickerFormatTrigger

Props

ColorPickerRootProps

allowAlpha

색상값에 투명도를 포함할 수 있는지 여부입니다.

alphaStep

투명도 채널을 바꿀 때 적용할 증감 간격입니다.

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

channelStep

색상 채널을 바꿀 때 적용할 증감 간격입니다.

defaultDraft

컴포넌트가 관리하는 편집 초깃값입니다.

defaultFormat

컴포넌트가 관리하는 초기 색상 형식입니다.

defaultValue

컴포넌트가 값을 관리할 때 사용할 초깃값입니다.

disabled

사용자 조작을 막을지 여부입니다.

draft

확정 전 편집 중인 외부 제어 문자열입니다.

form

컨트롤을 연결할 네이티브 form 요소의 ID입니다.

format

외부에서 제어하는 색상 형식입니다.

label

보조 기술이 읽는 컨트롤 이름입니다.

modelValue

부모가 상태를 관리할 때 사용할 현재 값입니다.

name

네이티브 폼 제출에 사용할 이름입니다.

readonly

값 확인만 허용하는 읽기 전용 상태 여부입니다.

required

제출 전에 올바른 값이 반드시 있어야 하는지 여부입니다.

ColorPickerPartProps

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

ColorPickerChannelInputProps

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

channel

이 입력이 편집할 색상 채널입니다.

ColorPickerFormatTriggerProps

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

format

외부에서 제어하는 색상 형식입니다.

ColorPickerCoordinateInputProps

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

coordinate

선택한 색상 모델에서 편집할 좌표입니다.

format

외부에서 제어하는 색상 형식입니다.

ColorPickerCoordinateSliderProps

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

coordinate

선택한 색상 모델에서 편집할 좌표입니다.

format

외부에서 제어하는 색상 형식입니다.

슬롯

ColorPickerRootSlotProps

area

현재 2차원 색상 영역 상태입니다.

channel

현재 색상 채널입니다.

coordinates

현재 색상 모델의 좌표입니다.

cssColor

CSS 문자열로 직렬화한 현재 색상입니다.

disabled

사용자 조작을 막을지 여부입니다.

draft

현재 편집 중인 입력 문자열입니다.

format

현재 색상 형식입니다.

readonly

값 확인만 허용하는 읽기 전용 상태 여부입니다.

text

현재 값을 표시한 문자열입니다.

value

이 계약이 노출하는 현재 값입니다.

이벤트

ColorPickerRoot

update:draft

편집 중인 입력 문자열이 바뀔 때 발생합니다.

update:format

새 색상 형식을 요청할 때 발생합니다.

update:modelValue

컴포넌트가 외부 제어 값의 변경을 요청할 때 발생합니다.

기타 타입

ColorPickerValueChangeHandler

ts
type ColorPickerValueChangeHandler = (value: string) => void

ColorPickerDraftChangeHandler

ts
type ColorPickerDraftChangeHandler = (value: string | null) => void

ColorPickerFormatChangeHandler

ts
type ColorPickerFormatChangeHandler = (value: ColorFormat) => void

ColorAreaValue

이름타입필수
xnumber필수
ynumber필수
huenumber필수
alphanumber필수

ColorChannel

ts
type ColorChannel = 'red' | 'green' | 'blue' | 'alpha'

ColorCoordinate

ts
type ColorCoordinate = ColorChannel | 'hue' | 'saturation' | 'lightness' | 'value' | 'cyan' | 'magenta' | 'yellow' | 'black' | 'chroma'

ColorCoordinateValue

이름타입필수
coordinateColorCoordinate필수
labelstring필수
valuenumber필수
minnumber필수
maxnumber필수
stepnumber필수
unit'' | '%' | '°'필수

ColorFormat

ts
type ColorFormat = 'hex' | 'rgb' | 'hsl' | 'hsv' | 'cmyk' | 'oklch'

ColorModel

ts
type ColorModel = Exclude<ColorFormat, 'hex'>

ColorPickerPolicies

이름타입필수
allowAlphaboolean
channelStepnumber
alphaStepnumber

ColorValue

ts
type ColorValue = Rgba8

파트

공통 범위: [data-scope="color-picker"]. 컴포넌트 내부로 스타일을 제한할 때 파트 선택자와 함께 사용합니다.

파트선택자역할추가 속성
root[data-part="root"]컴포넌트 경계와 내부 파트를 묶습니다.
label[data-part="label"]컴포넌트 조작부의 레이블입니다.
control[data-part="control"]주요 조작부를 묶습니다.
native-input[data-part="native-input"]폼 제출과 플랫폼 동작을 위한 네이티브 입력을 유지합니다.
text-input[data-part="text-input"]서식화된 텍스트 값 입력을 받습니다.
channel-input[data-part="channel-input"]색상 채널 하나를 숫자로 편집합니다.
coordinate-input[data-part="coordinate-input"]현재 값의 좌표 하나를 편집합니다.
coordinate-slider[data-part="coordinate-slider"]한 좌표를 제한된 범위에서 조절합니다.
area[data-part="area"]2차원 조작 영역을 제공합니다.
area-thumb[data-part="area-thumb"]2차원 영역의 선택 지점을 표시하고 조절합니다.
hue-slider[data-part="hue-slider"]색상 색조를 조절합니다.
alpha-slider[data-part="alpha-slider"]색상 불투명도를 조절합니다.
swatch[data-part="swatch"]선택한 색상을 미리 보여줍니다.
value-text[data-part="value-text"]서식화된 값을 텍스트로 표시합니다.
format-trigger[data-part="format-trigger"]현재 값의 표시 형식을 바꿉니다.

키보드 동작

동작
Arrow keys현재 색상 좌표나 슬라이더 값을 조절합니다.
Enter입력한 색상 값을 확정합니다.
Escape입력을 취소하고 확정된 색상을 복원합니다.

접근성

텍스트 입력과 슬라이더가 이름, 범위, 현재 값, 색상 채널 역할을 함께 노출합니다.

MIT 라이선스로 배포합니다.