介绍
UrColor 是一个通用的 headless 颜色选择器组件库。它提供无样式、可组合的基础组件,样式与行为完全由你掌控。
软件包
实线为必需依赖,虚线为可选。
@urcolor/core— 零依赖的 CSS Color 4 库(解析、转换、序列化、色域映射、插值)。@urcolor/shared— 与框架无关的行为层:拖拽处理、键盘映射、通道模型、用于颜色区域和滑块的 WebGL 画布渐变生成器,以及所有绑定共用的 data 属性。@urcolor/relative— 为@urcolor/core提供可选的 CSS Color 5 相对颜色语法(rgb(from red r g b))。参见相对颜色。@urcolor/i18n— 多语言颜色名称与通道标签。参见颜色命名。@urcolor/vue— 用于构建颜色选择器的 headless Vue 3 组件与组合式函数。@urcolor/react— 面向 React 的同一套基础组件。@urcolor/svelte— 面向 Svelte 5 的同一套基础组件,提供组件与基于 rune 的 hooks。@urcolor/angular— 面向 Angular 的同一套基础组件,提供指令与 signal store。
四套绑定都提供相同的八个组件家族。如何实现中的每篇教程都会并排展示 Vue、React、Svelte 与 Angular 的代码,切换到与你技术栈匹配的标签页即可。
设计理念
UrColor 的灵感来自 Radix UI、Reka UI 和 React Spectrum:库负责逻辑与无障碍,样式交给你。颜色区域组件支持任意两个通道的组合(例如 Hue+Saturation,或 LCH 中的 Hue+Chroma),并通过 WebGL 渲染,获得平滑的 GPU 加速渐变。