# react-color
**Repository Path**: uiw/react-color
## Basic Information
- **Project Name**: react-color
- **Description**: 🎨 是一个用于 React 应用程序的小型颜色选择器小部件组件。
- **Primary Language**: TypeScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: https://uiw.gitee.io/react-color
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 1
- **Created**: 2021-07-16
- **Last Updated**: 2023-12-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
React Color
react-color is a tiny color picker widget component for React apps. These components can be installed and used separately.
## Getting Started
```bash
npm i @uiw/react-color
```
[](https://codesandbox.io/embed/react-color-example-rev1n?fontsize=14&hidenavigation=1&theme=dark) [](https://uiwjs.github.io/react-color/)
```jsx
import { Slider, Sketch, Material, Colorful, Compact, Circle, Wheel, Block, Github, Chrome } from '@uiw/react-color';
import { Alpha, Hue, ShadeSlider, Saturation, Interactive, hsvaToHslaString } from '@uiw/react-color';
import { EditableInput, EditableInputRGBA, EditableInputHSLA } from '@uiw/react-color';
function Demo() {
const [hex, setHex] = useState("#fff");
return (
{
setHex(color.hex);
}}
/>
);
}
```
## Support dark/night Theme
```css
[data-color-mode*='dark'] .w-color-sketch {
--sketch-background: #323232 !important;
}
[data-color-mode*='dark'] .w-color-swatch {
--sketch-swatch-border-top: 1px solid #525252 !important;
}
[data-color-mode*='dark'] .w-color-block {
--block-background-color: #323232 !important;
--block-box-shadow: rgb(0 0 0 / 10%) 0 1px !important;
}
[data-color-mode*='dark'] .w-color-editable-input {
--editable-input-label-color: #757575 !important;
--editable-input-box-shadow: #616161 0px 0px 0px 1px inset !important;
--editable-input-color: #bbb !important;
}
[data-color-mode*='dark'] .w-color-github {
--github-border: 1px solid rgba(0, 0, 0, 0.2) !important;
--github-background-color: #323232 !important;
--github-box-shadow: rgb(0 0 0 / 15%) 0px 3px 12px !important;
--github-arrow-border-color: rgba(0, 0, 0, 0.15) !important;
}
[data-color-mode*='dark'] .w-color-compact {
--compact-background-color: #323232 !important;
}
[data-color-mode*='dark'] .w-color-material {
--material-background-color: #323232 !important;
--material-border-bottom-color: #707070 !important;
}
[data-color-mode*='dark'] .w-color-alpha {
--alpha-pointer-background-color: #6a6a6a !important;
--alpha-pointer-box-shadow: rgb(0 0 0 / 37%) 0px 1px 4px 0px !important;
}
```
## Documentation
You can find the react-color documentation [on the website](https://uiwjs.github.io/react-color/).
## Packages
Package | Bundle size(gzip) | Downloads | Version / unpkg
----- | ----- | ---- | ----
[`@uiw/react-color`](https://uiwjs.github.io/react-color/) | [](https://bundlephobia.com/package/@uiw/react-color) [](https://bundlephobia.com/package/@uiw/react-color) | [](https://www.npmjs.com/package/@uiw/react-color) | [](https://www.npmjs.com/package/@uiw/react-color) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color/file/README.md)
[`@uiw/react-color-sketch`](https://uiwjs.github.io/react-color/#/sketch) | [](https://bundlephobia.com/package/@uiw/react-color-sketch) [](https://bundlephobia.com/package/@uiw/react-color-sketch) | [](https://www.npmjs.com/package/@uiw/react-color-sketch) | [](https://www.npmjs.com/package/@uiw/react-color-sketch) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-sketch/file/README.md)
[`@uiw/react-color-slider`](https://uiwjs.github.io/react-color/#/slider) | [](https://bundlephobia.com/package/@uiw/react-color-slider) [](https://bundlephobia.com/package/@uiw/react-color-slider) | [](https://www.npmjs.com/package/@uiw/react-color-slider) | [](https://www.npmjs.com/package/@uiw/react-color-slider) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-slider/file/README.md)
[`@uiw/react-color-compact`](https://uiwjs.github.io/react-color/#/compact) | [](https://bundlephobia.com/package/@uiw/react-color-compact) [](https://bundlephobia.com/package/@uiw/react-color-compact) | [](https://www.npmjs.com/package/@uiw/react-color-compact) | [](https://www.npmjs.com/package/@uiw/react-color-compact) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-compact/file/README.md)
[`@uiw/react-color-material`](https://uiwjs.github.io/react-color/#/material) | [](https://bundlephobia.com/package/@uiw/react-color-material) [](https://bundlephobia.com/package/@uiw/react-color-material) | [](https://www.npmjs.com/package/@uiw/react-color-material) | [](https://www.npmjs.com/package/@uiw/react-color-material) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-material/file/README.md)
[`@uiw/react-color-colorful`](https://uiwjs.github.io/react-color/#/colorful) | [](https://bundlephobia.com/package/@uiw/react-color-colorful) [](https://bundlephobia.com/package/@uiw/react-color-colorful) | [](https://www.npmjs.com/package/@uiw/react-color-colorful) | [](https://www.npmjs.com/package/@uiw/react-color-colorful) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-colorful/file/README.md)
[`@uiw/react-color-wheel`](https://uiwjs.github.io/react-color/#/wheel) | [](https://bundlephobia.com/package/@uiw/react-color-wheel) [](https://bundlephobia.com/package/@uiw/react-color-wheel) | [](https://www.npmjs.com/package/@uiw/react-color-wheel) | [](https://www.npmjs.com/package/@uiw/react-color-wheel) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-wheel/file/README.md)
[`@uiw/react-color-circle`](https://uiwjs.github.io/react-color/#/circle) | [](https://bundlephobia.com/package/@uiw/react-color-circle) [](https://bundlephobia.com/package/@uiw/react-color-circle) | [](https://www.npmjs.com/package/@uiw/react-color-circle) | [](https://www.npmjs.com/package/@uiw/react-color-circle) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-circle/file/README.md)
[`@uiw/react-color-block`](https://uiwjs.github.io/react-color/#/block) | [](https://bundlephobia.com/package/@uiw/react-color-block) [](https://bundlephobia.com/package/@uiw/react-color-block) | [](https://www.npmjs.com/package/@uiw/react-color-block) | [](https://www.npmjs.com/package/@uiw/react-color-block) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-block/file/README.md)
[`@uiw/react-color-chrome`](https://uiwjs.github.io/react-color/#/chrome) | [](https://bundlephobia.com/package/@uiw/react-color-chrome) [](https://bundlephobia.com/package/@uiw/react-color-chrome) | [](https://www.npmjs.com/package/@uiw/react-color-chrome) | [](https://www.npmjs.com/package/@uiw/react-color-chrome) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-chrome/file/README.md)
[`@uiw/react-color-github`](https://uiwjs.github.io/react-color/#/github) | [](https://bundlephobia.com/package/@uiw/react-color-github) [](https://bundlephobia.com/package/@uiw/react-color-github) | [](https://www.npmjs.com/package/@uiw/react-color-github) | [](https://www.npmjs.com/package/@uiw/react-color-github) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-github/file/README.md)
#### `Base Components`
Package | Bundle size(gzip) | Downloads | Version / unpkg
----- | ----- | ----- | ----
[`@uiw/react-color-saturation`](https://uiwjs.github.io/react-color/#/saturation) | [](https://bundlephobia.com/package/@uiw/react-color-saturation) [](https://bundlephobia.com/package/@uiw/react-color-saturation) | [](https://www.npmjs.com/package/@uiw/react-color-saturation) | [](https://www.npmjs.com/package/@uiw/react-color-saturation) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-saturation/file/README.md)
[`@uiw/react-color-hue`](https://uiwjs.github.io/react-color/#/hue) | [](https://bundlephobia.com/package/@uiw/react-color-hue) [](https://bundlephobia.com/package/@uiw/react-color-hue) | [](https://www.npmjs.com/package/@uiw/react-color-hue) | [](https://www.npmjs.com/package/@uiw/react-color-hue) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-hue/file/README.md)
[`@uiw/react-color-alpha`](https://uiwjs.github.io/react-color/#/alpha) | [](https://bundlephobia.com/package/@uiw/react-color-alpha) [](https://bundlephobia.com/package/@uiw/react-color-alpha) | [](https://www.npmjs.com/package/@uiw/react-color-alpha) | [](https://www.npmjs.com/package/@uiw/react-color-alpha) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-alpha/file/README.md)
[`@uiw/react-color-swatch`](https://uiwjs.github.io/react-color/#/swatch) | [](https://bundlephobia.com/package/@uiw/react-color-swatch) [](https://bundlephobia.com/package/@uiw/react-color-swatch) | [](https://www.npmjs.com/package/@uiw/react-color-swatch) | [](https://www.npmjs.com/package/@uiw/react-color-swatch) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-swatch/file/README.md)
[`@uiw/react-color-shade-slider`](https://uiwjs.github.io/react-color/#/shade-slider) | [](https://bundlephobia.com/package/@uiw/react-color-shade-slider) [](https://bundlephobia.com/package/@uiw/react-color-shade-slider) | [](https://www.npmjs.com/package/@uiw/react-color-shade-slider) | [](https://www.npmjs.com/package/@uiw/react-color-shade-slider) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-shade-slider/file/README.md)
[`@uiw/react-color-editable-input`](https://uiwjs.github.io/react-color/#/editable-input) | [](https://bundlephobia.com/package/@uiw/react-color-editable-input) [](https://bundlephobia.com/package/@uiw/react-color-editable-input) | [](https://www.npmjs.com/package/@uiw/react-color-editable-input) | [](https://www.npmjs.com/package/@uiw/react-color-editable-input) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-editable-input/file/README.md)
[`@uiw/react-color-editable-input-rgba`](https://uiwjs.github.io/react-color/#/editable-input-rgba) | [](https://bundlephobia.com/package/@uiw/react-color-editable-input-rgba) [](https://bundlephobia.com/package/@uiw/react-color-editable-input-rgba) | [](https://www.npmjs.com/package/@uiw/react-color-editable-input-rgba) | [](https://www.npmjs.com/package/@uiw/react-color-editable-input-rgba) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-editable-input-rgba/file/README.md)
[`@uiw/react-color-editable-input-hsla`](https://uiwjs.github.io/react-color/#/editable-input-hsla) | [](https://bundlephobia.com/package/@uiw/react-color-editable-input-hsla) [](https://bundlephobia.com/package/@uiw/react-color-editable-input-hsla) | [](https://www.npmjs.com/package/@uiw/react-color-editable-input-hsla) | [](https://www.npmjs.com/package/@uiw/react-color-editable-input-hsla) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-editable-input-hsla/file/README.md)
[`@uiw/react-drag-event-interactive`](https://uiwjs.github.io/react-color/#/drag-event-interactive) | [](https://bundlephobia.com/package/@uiw/react-drag-event-interactive) [](https://bundlephobia.com/package/@uiw/react-drag-event-interactive) | [](https://www.npmjs.com/package/@uiw/react-drag-event-interactive) | [](https://www.npmjs.com/package/@uiw/react-drag-event-interactive) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-drag-event-interactive/file/README.md)
[`@uiw/color-convert`](https://uiwjs.github.io/react-color/#/convert) | [](https://bundlephobia.com/package/@uiw/color-convert) [](https://bundlephobia.com/package/@uiw/color-convert) | [](https://www.npmjs.com/package/@uiw/color-convert) | [](https://www.npmjs.com/package/@uiw/color-convert) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/color-convert/file/README.md)
[`@uiw/react-color-name`](https://uiwjs.github.io/react-color/#/name) | [](https://bundlephobia.com/package/@uiw/react-color-name) [](https://bundlephobia.com/package/@uiw/react-color-name) | [](https://www.npmjs.com/package/@uiw/react-color-name) | [](https://www.npmjs.com/package/@uiw/react-color-name) [](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-color-name/file/README.md)
## Development
```bash
npm install # Installation dependencies
npm run build # Compile all package
```
```bash
cd packages/color-block
# listen to the component compile and output the .js file
# listen for compilation output type .d.ts file
npm run watch # Monitor the compiled package `@uiw/react-block`
```
```bash
npm run start # development mode, listen to compile preview website instance
```
## Contributors
As always, thanks to our amazing contributors!
Made with [contributors](https://github.com/jaywcjlove/github-action-contributors).
## License
Licensed under the MIT License.