Color Picker

<wa-color-picker> Stable Since 2.0

Color pickers let users choose a color from a visual palette or by entering a value. They support HEX, RGB, HSL, and HSV formats with optional alpha channel and swatch presets.

This component works with standard <form> elements. Please refer to the section on form controls to learn more about form submission and client-side validation.

Examples

Link to This Section

Initial Value

Link to This Section

Use the value attribute to set an initial value for the color picker.

Opacity

Link to This Section

Use the opacity attribute to enable the opacity slider. When this is enabled, the value will be displayed as HEXA, RGBA, HSLA, or HSVA based on format.

Formats

Link to This Section

Set the color picker's format with the format attribute. Valid options include hex, rgb, hsl, and hsv. Note that the color picker's input will accept any parsable format (including CSS color names) regardless of this option.

To prevent users from toggling the format themselves, add the without-format-toggle attribute.

Swatches

Link to This Section

Use the swatches attribute to add convenient presets to the color picker. Any format the color picker can parse is acceptable (including CSS color names), but each value must be separated by a semicolon (;). Alternatively, you can pass an array of color values to this property using JavaScript.

You can also pass an array of objects with color and label properties using JavaScript. When labels are provided, they will be used as the accessible name for each swatch instead of the raw color value.

Placement

Link to This Section

The preferred placement of the dropdown can be set with the placement attribute. Note that the actual position may vary to ensure the panel remains in the viewport.

Sizes

Link to This Section

Use the size attribute to change the color picker's trigger size.

Disabled

Link to This Section

The color picker can be rendered as disabled.

Hint

Link to This Section

Add descriptive hint to a color picker with the hint attribute. For hints that contain HTML, use the hint slot instead.

Importing

Link to This Section

If you're using the autoloader or a hosted project, components load on demand — no manual import needed. To cherry-pick a component manually, use one of the following snippets.

CDN npm Self-Hosted React

Import this component directly from the CDN:

import 'https://ka-f.webawesome.com/[email protected]/components/color-picker/color-picker.js';

After installing Web Awesome via npm, import this component:

import '@awesome.me/webawesome/dist/components/color-picker/color-picker.js';

If you're self-hosting Web Awesome, import this component from your server:

import './webawesome/dist/components/color-picker/color-picker.js';

To import this component for React 18 or below, use the following code:

import WaColorPicker from '@awesome.me/webawesome/dist/react/color-picker/index.js';

Slots

Link to This Section

Learn more about using slots.

Attributes & Properties

Link to This Section

Learn more about attributes and properties.

Methods

Link to This Section

Learn more about methods.

Events

Link to This Section

Learn more about events.

CSS custom properties

Link to This Section

Learn more about CSS custom properties.

CSS parts

Link to This Section

Learn more about CSS parts.

Dependencies

Link to This Section

This component automatically imports the following elements. Sub-dependencies, if any exist, will also be included in this list.

Need a hand? Report a bug Ask for help
    No results