react-color-picker-tool
v0.0.6
Published
color picker in react, write typescript, and support color dropper to get any color in webpage, use native api in Chrome, use canvas api in other browser
Downloads
1,279
Readme
react-color-picker-tool
color picker in react, write typescript, and support color dropper to get any color in webpage, use native api in Chrome, use canvas api in other browser
npm i react-color-picker-tool
In Chrome

In Firefox or Safari etc

Quick Start
import { useState } from "react";
import { ReactColorPicker } from 'react-color-picker-tool';
function App() {
const [color, setColor] = useState({ r: 123, g: 123, b: 123, a: 0.5 });
return <ReactColorPicker color={color} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
}API
| | type | default | description | |-------------|--------------------------|-----------|------------------------------| | color | colorParams | "#ffffff" | Input color | | width | number/string | "#ffffff" | width of the color picker panel | | onChange | (color:ColorSet) => void | | Color change callback | | hideEyeDrop | boolean | false | Whether hidden eye dropper | | hidePresets | boolean | false | Whether hidden preset colors | | presetColors | Array | [] | colors for preset |
colorParams
use tinycolor2 to handle the color input
Hex, 8-digit (RGBA) Hex
<ReactColorPicker color={"#000"} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>RGB, RGBA
<ReactColorPicker color={"rgb (255, 0, 0)"} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
<ReactColorPicker color={"rgb (255, 0, 0, .5)"} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
<ReactColorPicker color={{ r: 255, g: 0, b: 0 }} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
<ReactColorPicker color={{ r: 255, g: 0, b: 0, a: 0.5 }} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>HSV, HSVA
<ReactColorPicker color={"hsv(0, 100%, 100%)"} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
<ReactColorPicker color={"hsva(0, 100%, 100%, .5)"} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
<ReactColorPicker color={{ h: 0, s: 100, v: 100 }} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
<ReactColorPicker color={{ h: 255, s: 0, v: 0, a: 0.5 }} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>HSV, HSVA
<ReactColorPicker color={"hsl(0, 100%, 100%)"} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
<ReactColorPicker color={"hsla(0, 100%, 100%, .5)"} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
<ReactColorPicker color={{ h: 0, s: 100, l: 100 }} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>
<ReactColorPicker color={{ h: 255, s: 0, l: 0, a: 0.5 }} onChange={colors => setColor(colors.rgba)}></ReactColorPicker>ColorSet
color results from callback
export declare type HSV = {
h: number;
s: number;
v: number;
};
export declare type HSVA = {
h: number;
s: number;
v: number;
a: number;
};
export declare type HSL = {
h: number;
s: number;
l: number;
};
export declare type HSLA = {
h: number;
s: number;
l: number;
a: number;
};
export declare type vector2 = {
x: number;
y: number;
};
export declare type RGBA = {
r: number;
g: number;
b: number;
a: number;
};
export declare type RGB = {
r: number;
g: number;
b: number;
};
export declare type HEX = string;
export declare enum colorEnum {
HEX = "hex",
RGBA = "rgba",
HSV = "hsv",
HSL = "hsl"
}
export interface ColorSet {
[colorEnum.HSV]: HSVA;
[colorEnum.HSL]: HSLA;
[colorEnum.HEX]: HEX;
[colorEnum.RGBA]: RGBA;
}