@shopify/polaris
Version:
Shopify’s product component library
118 lines (91 loc) • 2.24 kB
Markdown
name: Color picker
category: Forms
keywords:
- ColorPicker
- HuePicker
- AlphaPicker
- Slidable
- Choose color
- Select color
- Pick color
- color selector with transparent value
- colorpicker with transparent value
- alpha value picker
- alpha value selector
# Color picker
The color picker is used to let the merchant select a color visually. For
example, merchants use the color picker to customize the accent color of the
email templates for their shop.
## Purpose
Put the merchant first by identifying the problem they face and the component that helps them solve it.
### Problem
Merchants occasionally need to select a color and they need to be able to see
a sample of available colors to make the best decision.
### Solution
The color picker component displays swatches of colors to make the selection
process visual for merchants.
## Best practices
* Use the alpha slider if you want to allow merchants to be able to select a
transparent color
## Content guidelines
There are no customizable content elements in the color picker component.
## Examples
### Default color picker
Use when the merchant needs to select a color to make the selection a visual
task rather than a technical one.
```jsx
class ColorPickerExample extends React.Component {
state = {
color: {
hue: 120,
brightness: 1,
saturation: 1,
},
};
render() {
const {color} = this.state;
return (
<ColorPicker
onChange={this.handleChange}
color={color}
/>
)
}
handleChange = (color) => {
this.setState({color});
}
}
```
### Colorpicker with transparent value
Use when attached to a visual builder to allow the designated object to have a
transparent background that allows underlying objects to show through.
```jsx
class ColorPickerExample extends React.Component {
state = {
color: {
hue: 300,
brightness: 1,
saturation: 0.7,
alpha: 0.7
},
};
render() {
const {color} = this.state;
return (
<ColorPicker
onChange={this.handleChange}
color={color}
allowAlpha
/>
)
}
handleChange = (color) => {
this.setState({color});
}
}
```