iter(g52): 新增 colorPicker 颜色选择组件

This commit is contained in:
HIsheR
2026-10-26 12:16:11 +08:00
parent 95b46a05e7
commit 81ea18936c
12 changed files with 370 additions and 10 deletions
+42 -2
View File
@@ -1,6 +1,6 @@
{
"$schema": "ui-arch-registry-index/0.1",
"generatedAt": "2026-10-26T04:14:40.933Z",
"generatedAt": "2026-10-26T04:15:46.909Z",
"repoRoot": ".",
"packages": [
{
@@ -193,7 +193,8 @@
"splitter(props):可拖拽分栏容器,分隔条支持指针拖拽 / 方向键微调 / 双击复位,sizes 为百分比数组信号",
"autoComplete(props):输入联想,输入即过滤候选、↑↓ 环形高亮 / Enter 选中 / Esc 收起,options 可传函数做远程联想",
"datePicker(props):日期选择,单月网格 + 翻月 / 今天快捷键,value 为 YYYY-MM-DD 信号,min/max 闭区间限制,方向键逐日逐周可导航",
"backTop(props):返回顶部悬浮按钮,越过阈值才浮现,外环 conic-gradient 显示已滚比例,点击平滑回顶"
"backTop(props):返回顶部悬浮按钮,越过阈值才浮现,外环 conic-gradient 显示已滚比例,点击平滑回顶",
"colorPicker(props):颜色选择,预设色板(缺省语义令牌色)+ 原生取色器 + 手输 CSS 颜色串,value 为颜色串信号"
],
"keyTypes": [
"ButtonProps",
@@ -2333,6 +2334,45 @@
"progress 为 true 时外环弧长等于已滚比例;内滚容器用 target 传入该元素",
"点击平滑回顶;系统开启「减少动效」时改为瞬间跳转"
]
},
{
"id": "colorPicker",
"title": "颜色选择 ColorPicker",
"demo": "sec-colorpicker",
"props": [
{
"n": "value",
"t": "Signal<string>",
"d": "颜色值信号(CSS 颜色串,支持 var(--ua-*));不传则内部维护"
},
{
"n": "presets",
"t": "string[]",
"d": "预设色板;缺省取语义令牌色(accent/success/warning/danger/text/border)"
},
{
"n": "placeholder",
"t": "string",
"d": "未选时占位文案;缺省「请选择颜色」"
},
{
"n": "disabled",
"t": "boolean | Signal<boolean>",
"d": "禁用触发器"
},
{
"n": "onChange",
"t": "(color: string) => void",
"d": "选定回调(点色板、取色器或手输回车)"
}
],
"example": "colorPicker({ value: colorVal, onChange: (c) => toast.success(c) })",
"steps": [
"点触发器展开弹层:上方是预设色板,下方是原生取色器 + 手输框",
"预设缺省直接用 --ua-* 令牌色,所以暗色主题切换后色块自动跟着变,无需维护两套色值",
"点色块即提交;手输框支持任意 CSS 颜色串(含 var(--ua-color-accent)),回车提交",
"触发器左侧色块始终预览当前值,点击外部或 Esc 收起"
]
}
]
},