Opens a color selector flyout.
To learn more, see Using color selectors.
Usage
import { Rows, Swatch } from "@canva/app-ui-kit";import { openColorSelector } from "@canva/preview/asset";import * as React from "react";import styles from "styles/components.css";export function App() {const [color, setColor] = React.useState<string>("#ff0099");return (<div className={styles.scrollContainer}><Rows spacing="1u"><Swatchfill={color}onClick={async (event) => {const anchor = event.currentTarget.getBoundingClientRect();await openColorSelector(anchor, {scopes: ["solid"],onColorSelect: (event) => {if (event.selection.type === "solid") {setColor(event.selection.hexString);}},});}}/></Rows></div>);}
Parameters
The dimensions and coordinates of an element on which to pin the color selector flyout.
The top position from which to pin the color selector flyout, in pixels.
The left position from which to pin the color selector flyout, in pixels.
The width of the element from which to pin the color selector flyout, in pixels.
The height of the element from which to pin the color selector flyout, in pixels.
The options for configuring the behavior of the color selector.
For the time being, the only valid scope is "solid"
.
A callback function that runs when a color is selected.
An object that contains information about the color selection event.
An object that contains information about the selected color.
The type of color that was selected. For the time being, the only valid value is "solid"
.
The selected color, as a hex code.
The hex code always includes all six characters and is prefixed with a #
symbol — for example, "#ff0099"
.
Returns
A Promise
that, once resolved, returns a function. When called, this function closes the color selector flyout. Generally though, this function is not necessary and it's better to let users close the flyout themselves.