🎨 Lightweight <ColorPicker /> component for React.
yarn add react-color-palette
npm install react-color-palette
import { ColorPicker, useColor } from "react-color-palette";
import "react-color-palette/css";
export function App() {
const [color, setColor] = useColor("#561ecb");
return <ColorPicker color={color} onChange={setColor} />;
}
import { ColorPicker, useColor } from "react-color-palette";
import "react-color-palette/css";
export function App() {
const [color, setColor] = useColor("rgb(86 30 203)");
return <ColorPicker color={color} onChange={setColor} />;
}
import { ColorPicker, useColor } from "react-color-palette";
import "react-color-palette/css";
export function App() {
const [color, setColor] = useColor("cyan");
return <ColorPicker color={color} onChange={setColor} />;
}
import { Saturation, Hue, useColor } from "react-color-palette";
import "react-color-palette/css";
export function App() {
const [color, setColor] = useColor("hsl(120 100% 50% / .5)");
return (
<div className="custom-layout">
<Saturation height={300} color={color} onChange={setColor} />
<Hue color={color} onChange={setColor} />
</div>
);
}
import { ColorPicker, useColor } from "react-color-palette";
import "react-color-palette/css";
export function App() {
const [color, setColor] = useColor("#123123");
return <ColorPicker hideInput={["rgb", "hsv"]} color={color} onChange={setColor} />
}
onChangeComplete optional callback
import { ColorPicker, useColor, type IColor } from "react-color-palette";
import "react-color-palette/css";
export function App() {
const [color, setColor] = useColor("#123123");
const onChangeComplete = (color: IColor) => localStorage.setItem("color", color.hex);
return <ColorPicker hideInput={["rgb", "hsv"]} color={color} onChange={setColor} onChangeComplete={onChangeComplete} />
}
The main component, which includes: <Saturation />, <Hue />, <Alpha /> and <Fields /> components for instant use.
If you need a custom layout, then you can use <Saturation />, <Hue /> and <Alpha /> components separately, which are also exported from the library.
Prop |
Type |
Default |
Description |
height |
number |
200 |
Height of the Saturation component in pixels. |
hideAlpha |
boolean |
false |
Hides the Alpha component. |
hideInput |
(keyof IColor)[] | boolean |
false |
If boolean: hides all inputs if true or displays all inputs if false. If array: hides all inputs listed in the array. |
color |
IColor |
|
Current color. |
disabled |
boolean |
false |
Disables interactivity. |
onChange |
Function |
|
Сallback function will be fired when color changes. |
onChangeComplete |
Function |
|
Callback function will be fired when the interaction is complete with the color picker. |
Prop |
Type |
Default |
Description |
height |
number |
|
Height of the saturation element in pixels. |
color |
IColor |
|
Current color. |
disabled |
boolean |
false |
Disables interactivity. |
onChange |
Function |
|
Сallback function will be fired when color changes. |
onChangeComplete |
Function |
|
Callback function will be fired when the interaction is complete with the saturation picker. |
Prop |
Type |
Default |
Description |
color |
IColor |
|
Current color. |
disabled |
boolean |
false |
Disables interactivity. |
onChange |
Function |
|
Сallback function will be fired when color changes. |
onChangeComplete |
Function |
|
Callback function will be fired when the interaction is complete with the hue picker. |
Prop |
Type |
Default |
Description |
color |
IColor |
|
Current color. |
disabled |
boolean |
false |
Disables interactivity. |
onChange |
Function |
|
Сallback function will be fired when color changes. |
onChangeComplete |
Function |
|
Callback function will be fired when the interaction is complete with the alpha picker. |
Arg |
Type |
Default |
Description |
initialColor |
TColor |
|
Initial сolor. |
Value can be specified using one of the methods listed below:
Field |
Type |
r |
number |
g |
number |
b |
number |
a |
number |
Field |
Type |
h |
number |
s |
number |
v |
number |
a |
number |
Code released under the MIT license.