Skip to content

개발 가이드

개요

Vue Colorpicker는 다음과 같은 기능을 제공하는 강력한 색상 선택 컴포넌트입니다:

  • 세 가지 CSS 배경색 모드: solid(단색), linear-gradient(선형 그라데이션), radial-gradient(방사형 그라데이션)
  • HSV 색상 공간 완벽 지원, 투명도 제어 포함
  • 드래그 앤 드롭 방식의 그라데이션 노드 관리를 지원하는 대화형 그라데이션 제어
  • 내장 스크린 컬러 피커 기능 (Chrome 95+ 지원)
  • 실시간 미리보기 및 CSS 코드 생성
  • 반응형 디자인, 세 가지 크기 옵션 제공

screenshot01screenshot02screenshot03

설치

bash
npm i @mcistudio/vue-colorpicker

사용 방법

전역 등록

javascript
import ColorPicker from "@mcistudio/vue-colorpicker";
import "@mcistudio/vue-colorpicker/dist/style.css";

createApp(App).use(ColorPicker).mount("#app");

지역 등록

vue
<script setup>
import ColorPicker from "@mcistudio/vue-colorpicker";
import "@mcistudio/vue-colorpicker/dist/style.css";
</script>

<template>
  <ColorPicker v-model="color"></ColorPicker>
</template>

Props 매개변수

매개변수명설명타입가능한 값기본값필수 여부
v-model색상값 객체Object아래 v-model 형식 참조-아니오
modebar모드바 표시 상태String'show', 'none''show'아니오
size컴포넌트 크기String'small', 'medium', 'large''medium'아니오

v-model 형식 설명

속성명설명타입가능한 값기본값필수 여부
mode색상 모드String'solid', 'linear', 'radial''solid'아니오
colorRGBA 색상 객체(단색 모드)Object{ r, g, b, a }{ r: 0, g: 0, b: 0, a: 1 }아니오
hex16진수 색상값(단색 모드, 읽기 전용)String--아니오
degree그라데이션 각도(선형 그라데이션)Number0-36090아니오
gradients그라데이션 노드 배열Array그라데이션 노드 객체 배열[{ percent: 0, color: { r: 255, g: 255, b: 255, a: 1 }}, { percent: 100, color: { r: 0, g: 0, b: 0, a: 1 }}]아니오

이벤트

이벤트명설명매개변수
colorChanged색상 변경 시 발생색상값 객체

반환값 예시

단색 모드

json
{
  "mode": "solid",
  "color": {
    "r": 0,
    "g": 0,
    "b": 0,
    "a": 1
  },
  "hex": "#000000",
  "css": "background-color:rgba(0,0,0,1)"
}

선형 그라데이션 모드

json
{
  "mode": "linear",
  "degree": 90,
  "gradients": [
    {
      "percent": 0,
      "color": {
        "r": 255,
        "g": 255,
        "b": 255,
        "a": 1
      }
    },
    {
      "percent": 100,
      "color": {
        "r": 0,
        "g": 0,
        "b": 0,
        "a": 1
      }
    }
  ],
  "css": "background-image:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(0,0,0,1) 100%)"
}

방사형 그라데이션 모드

json
{
  "mode": "radial",
  "gradients": [
    {
      "percent": 0,
      "color": {
        "r": 255,
        "g": 255,
        "b": 255,
        "a": 1
      }
    },
    {
      "percent": 100,
      "color": {
        "r": 0,
        "g": 0,
        "b": 0,
        "a": 1
      }
    }
  ],
  "css": "background-image:radial-gradient(rgba(255,255,255,1) 0%,rgba(0,0,0,1) 100%)"
}

Released under the MIT License.