shoelace/docs/components/color-picker.md

3.1 KiB

Color Picker

[component-header:sl-color-picker]

<sl-color-picker label="Select a color"></sl-color-picker>
import { SlColorPicker } from '@shoelace-style/shoelace/dist/react';

const App = () => <SlColorPicker label="Select a color" />;

?> 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

Initial Value

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

<sl-color-picker value="#4a90e2" label="Select a color"></sl-color-picker>
import { SlColorPicker } from '@shoelace-style/shoelace/dist/react';

const App = () => <SlColorPicker value="#4a90e2" label="Select a color" />;

Opacity

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

<sl-color-picker value="#f5a623ff" opacity label="Select a color"></sl-color-picker>
import { SlColorPicker } from '@shoelace-style/shoelace/dist/react';

const App = () => <SlColorPicker opacity label="Select a color" />;

Formats

Set the color picker's format with the format attribute. Valid options include hex, rgb, and hsl. 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 no-format-toggle attribute.

<sl-color-picker format="hex" value="#4a90e2" label="Select a color"></sl-color-picker>
<sl-color-picker format="rgb" value="rgb(80, 227, 194)" label="Select a color"></sl-color-picker>
<sl-color-picker format="hsl" value="hsl(290, 87%, 47%)" label="Select a color"></sl-color-picker>
import { SlColorPicker } from '@shoelace-style/shoelace/dist/react';

const App = () => (
  <>
    <SlColorPicker format="hex" value="#4a90e2" />
    <SlColorPicker format="rgb" value="rgb(80, 227, 194)" />
    <SlColorPicker format="hsl" value="hsl(290, 87%, 47%)" />
  </>
);

Sizes

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

<sl-color-picker size="small" label="Select a color"></sl-color-picker>
<sl-color-picker size="medium" label="Select a color"></sl-color-picker>
<sl-color-picker size="large" label="Select a color"></sl-color-picker>
import { SlColorPicker } from '@shoelace-style/shoelace/dist/react';

const App = () => (
  <>
    <SlColorPicker size="small" label="Select a color" />
    <SlColorPicker size="medium" label="Select a color" />
    <SlColorPicker size="large" label="Select a color" />
  </>
);

Inline

The color picker can be rendered inline instead of in a dropdown using the inline attribute.

<sl-color-picker inline label="Select a color"></sl-color-picker>
import { SlColorPicker } from '@shoelace-style/shoelace/dist/react';

const App = () => <SlColorPicker inline label="Select a color" />;

[component-metadata:sl-color-picker]