ColorSwatchPicker
A grid of color swatches for picking from a predefined palette.
Basic
Controlled
Swatch Sizes
Props
| Prop | Type | Default | Description |
|---|---|---|---|
colors | string[] | — | Array of hex color strings to display as swatches. |
value | string | — | The selected color value (controlled). |
defaultValue | string | — | The initial selected color value (uncontrolled). |
onValueChange | (value: string) => void | — | Called when the selected color changes. |
swatchSize | number | 32 | Size of each color swatch in pixels. |
--mantle-bg | CSS variable | theme default | Override the background color via style. e.g. style={{ "--mantle-bg": "#1a1a2e" }} |
--mantle-border | CSS variable | theme default | Override the border color via style. Set to "transparent" to remove. e.g. style={{ "--mantle-border": "#e94560" }} |
--mantle-text | CSS variable | theme default | Override the text color via style. e.g. style={{ "--mantle-text": "#ffffff" }} |
--mantle-ring | CSS variable | accent | Override the focus ring color via style. e.g. style={{ "--mantle-ring": "#e94560" }} |
colorsstring[]Array of hex color strings to display as swatches.
valuestringThe selected color value (controlled).
defaultValuestringThe initial selected color value (uncontrolled).
onValueChange(value: string) => voidCalled when the selected color changes.
swatchSize32numberSize of each color swatch in pixels.
--mantle-bgtheme defaultCSS variableOverride the background color via style. e.g. style={{ "--mantle-bg": "#1a1a2e" }}
--mantle-bordertheme defaultCSS variableOverride the border color via style. Set to "transparent" to remove. e.g. style={{ "--mantle-border": "#e94560" }}
--mantle-texttheme defaultCSS variableOverride the text color via style. e.g. style={{ "--mantle-text": "#ffffff" }}
--mantle-ringaccentCSS variableOverride the focus ring color via style. e.g. style={{ "--mantle-ring": "#e94560" }}