# wos-ui
**Repository Path**: dushu/wos-ui
## Basic Information
- **Project Name**: wos-ui
- **Description**: Wos UI 是一套从生产环境管理后台中长出来的零依赖设计系统。 全部颜色由 oklch 色相 --hue 派生 —— 拖动右上角滑杆,现在就在换肤。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-09-10
- **Last Updated**: 2026-09-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Wos UI
**零依赖设计系统 —— 改一个变量,整站换一种性格。**
Wos UI 是一套从生产环境管理后台(企智汇 AI 智能名片)中长出来的 CSS 设计系统。它没有追逐组件数量,而是把三件事做到了极致:**零依赖、oklch 单变量换肤、克制的精密感**。
[在线演示](https://wos.qzh.red) · [Gitee 仓库](https://gitee.com/dushu/wos-ui) · 打开演示站,拖动右上角色相滑杆,整站实时换肤。
---
## 特性
- **⚡ 零依赖** —— 最快一个 `
```
**方式二:两个文件(样式源码可读可改)**
```html
```
> `dist/wos-ui.css` 是三个 CSS 的合并版;想按需裁剪可分别引入 `css/tokens.css`(必引)、`css/base.css`、`css/components.css`。
**写起来就是这样** —— 写 class 出组件,JS 一行调用:
```html
正常
```
演示站每个组件章节旁有「代码」按钮,点开即复制;页面底部「在线试一试」改代码实时看效果。
### 一行换肤
```js
WOS.hue(190); // 换成青色主题,并写入 localStorage(刷新不丢)
WOS.hue(275); // 换回品牌紫
```
或者纯 CSS,定义在引入 tokens.css 之后:
```css
:root { --hue: 190; } /* 275 紫 · 220 蓝 · 190 青 · 155 绿 · 25 朱红 · 330 洋红 */
```
### JS API
```js
WOS.toast('已保存', 'ok'); // 'ok' | 'error' | 'info'
WOS.modal.open('#myModal'); // .mask 元素选择器
WOS.modal.close('#myModal'); // Esc / 点遮罩 / [data-close] 自动关闭
WOS.icon('zap', 18); // 返回 SVG 字符串
WOS.iconNames(); // 全部图标名
WOS.hue(190); // 换肤并持久化
```
## 令牌体系
全部设计令牌集中在 `css/tokens.css`(约 120 行),分七组:
| 组 | 代表变量 | 说明 |
|---|---|---|
| 主题 | `--hue` `--hue-shift` | **唯一必改变量**,其余全部派生 |
| 品牌 | `--brand` `--brand-2` `--brand-soft` `--brand-line` | oklch 自动派生自主色相 |
| 语义 | `--ok` `--warn` `--danger` `--info` `--gold` | 各配 `-soft` 浅底 |
| 侧栏 | `--side-bg` `--side-active-bg` … | 深色石墨,色相随主题 |
| 工作区 | `--bg` `--surface` `--line` `--text` | 全部带主题色相倾向 |
| 几何 | `--r-xs ~ --r-xl` `--s-1 ~ --s-16` | 圆角五档、间距非线性节奏 |
| 动效 | `--ease` `--dur-fast/dur/dur-slow` | 三档时长 + 指数缓动 |
想做成暗色主题?把 `--bg`/`--surface`/`--text` 三组明度翻转即可 —— 结构不变。
## 目录结构
```
wos-ui/
├── css/
│ ├── tokens.css # 设计令牌(改 --hue 在这里,或运行时用 WOS.hue())
│ ├── base.css # 重置 + 排版 + 面板/按钮/表单/徽标/表格/空状态/加载
│ └── components.css # Modal/Toast/Tabs/Switch/Checkbox/Pager/Progress/Metrics/…
├── js/
│ └── wos-ui.js # toast / modal / icon / hue —— 零依赖原生 JS
├── dist/ # 单文件发行版(scripts/build-dist.js 生成)
│ ├── wos-ui.css # 三 CSS 合并
│ ├── wos-ui.js # JS 原样
│ └── wos-ui.auto.js # 样式内嵌版:一个