ColorPalette 允许用户从预定义的颜色条目列表中选取颜色。

用法

import { useState } from 'react';
import { ColorPalette } from '@wordpress/components';

const MyColorPalette = () => {
    const [ color, setColor ] = useState ( '#f00' )
    const colors = [
        { name: 'red', color: '#f00' },
        { name: 'white', color: '#fff' },
        { name: 'blue', color: '#00f' },
    ];

    return (
        <ColorPalette
            colors={ colors }
            value={ color }
            onChange={ ( color ) => setColor( color ) }
        />
    );
} );

如果您在编辑器外部使用此组件,您可以
确保 Tooltip 的定位
对于 ColorPalette 的颜色色板,通过渲染您的 ColorPalette 与一个
Popover.Slot 在元素树更上层的位置,并且在整体范围内位于
SlotFillProvider 内来实现。

属性

该组件接受以下属性。

clearable: boolean

调色板是否应包含清除按钮。

  • 必需:否
  • 默认值:true

colors: PaletteObject[] | ColorObject[]

要显示的颜色数组。当显示多个颜色调色板供选择时,数组的格式会从颜色对象数组变为颜色调色板数组。

  • 必需:否
  • 默认值:[]

disableCustomColors: boolean

是否允许用户在预定义选项(通过 colors 属性定义)之外选择自定义颜色。

  • 必需:否
  • 默认值:false

enableAlpha: boolean

这控制在选择自定义颜色时是否提供 alpha 通道。

  • 必需:否
  • 默认值:false

headingLevel: 1 | 2 | 3 | 4 | 5 | 6 | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ | ‘6’

标题级别。

  • 必需:否
  • 默认值:2

value: string

当前激活的值。

  • 必需:否

onChange: OnColorChange

选中颜色时调用的回调函数。

  • 必需:是

presentation: ‘listbox’ | ‘toggle-buttons’ | ‘command-buttons’

控制预定义色板的交互和辅助功能语义。

  • listbox 为整个调色板使用一个制表位。箭头键在选项之间移动。选项通过 aria-selected 暴露选中状态。
  • toggle-buttons 为每个色板使用一个制表位。色板通过 aria-pressed 暴露选中状态。
  • command-buttons 为每个色板使用一个制表位。色板不暴露选中状态。value 和 selectedSlug 属性不会将预定义色板标记为选中,激活色板始终会使用该色板调用 onChange。value 属性仍然控制自定义颜色选择器。
  • 必需:否

  • 默认值:listbox

loop: boolean

防止箭头键导航循环环绕。仅与 listbox 展示模式一起使用。

  • 必需:否
  • 默认值:true