Artefact UI

Search

博客

文档

关于

演练场

编辑

菜单Chevron Down

博客

文档

关于

演练场

编辑

ColorPicker 颜色选择器 - Docs - Artefact

ColorPicker 颜色选择器

Forms
智能自动检测

简介

一种高级输入控件,允许用户通过饱和度/亮度区域、色相与透明度滑块、可编辑的通道输入框(HEX、RGBA、HSLA)以及预定义色板来选择和自定义颜色。

ColorPicker 组件已作为交互式 colorPicker 区块完整集成到 Page Builder 中,内容作者和开发者可以直接在 CMS 内轻松配置标签、默认状态、Popover 触发器模式以及尺寸刻度。


用法

以下示例展示了内容编辑者如何绑定并结构化颜色选择器组件。

1. 内联自定义器(标准 Hex 默认值)

一个内联颜色选择器,占据页面布局中块级空间,在加载时立即渲染饱和度区域、色相滑块和通道输入框。

{
  "type": "colorPicker",
  "label": "Brand Primary Color",
  "defaultValue": "#7c3aed",
  "interactive": true
}
Brand Primary Color
Hue
262
Alpha
100%

2. 带选中即关闭的 Popover 色板触发器

一种优雅、节省空间的设计方案,渲染一个小型彩色色板触发器。点击色板会在 Popover 层中打开颜色选择面板,在选择预设色板后自动关闭。

{
  "type": "colorPicker",
  "label": "Choose Theme Accent",
  "defaultValue": "#22c55e",
  "trigger": true,
  "closeOnSelect": true,
  "interactive": true
}
Choose Theme Accent

3. 禁用选择器状态

展示一个被锁定或非激活的颜色自定义器。这会禁用所有滑块、输入通道、色板选择按钮和触发器。

{
  "type": "colorPicker",
  "label": "Accent Tint (Inactive)",
  "defaultValue": "#e2e8f0",
  "disabled": true,
  "interactive": true
}
Accent Tint (Inactive)
Hue
214
Alpha
100%

属性

属性CMS 字段类型默认值说明 / 可选项
标签文本 (label)string-位于颜色选择器区域或 Popover 触发器上方的可选可视化伴随文本。
默认值 (defaultValue)string"#7c3aed"初始激活颜色。接受十六进制格式的字符串(例如 "#7c3aed""#3b82f6")。
触发器(Popover) (trigger)booleanfalse为 true 时,将完整的内联选择器布局替换为一个锚定在彩色色板按钮上的浮动 Popover 卡片。
选中即关闭 (closeOnSelect)booleanfalse为 true 时,在选择预设色板后立即关闭 Popover。(仅当 trigger 为 true 时适用)。
禁用 (disabled)booleanfalse冻结所有视觉滑块、自定义预设选择、取色器和输入字段。
尺寸刻度 (size)select"md"缩放饱和度面板、色板和边距的宽度与高度。
• 选项:"sm""md""lg"

开发者说明与无障碍

  • 智能水合岛屿: 为了处理饱和度网格上的鼠标拖拽和动态滑块定位,ColorPicker 会在客户端机器上自动水合为 Preact 岛屿。
  • 表单集成: 它会输出一个原生隐藏的 <input type="hidden">,携带激活颜色的十六进制字符串值。这保证了原生表单提交开箱即用地捕获到激活值。
  • Aria 可访问滑块: 所有滑块字段、滑块面板和输入字段都带有语义化 ARIA 属性(role="slider"aria-valueminaria-valuemaxaria-valuenow)。标准键盘导航(左/右/上/下方向键)原生完全支持。
  • 精确转换: HSVA、HSL、RGB 与 Hex 格式之间的转换在渲染层内部进行。这避免了所选输入格式之间的颜色偏移和舍入不匹配。