dsh-theme-palette 1.5.3 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/README-es.md +2 -0
- package/README-hi.md +2 -0
- package/README-pt.md +2 -0
- package/README-zh.md +7 -4
- package/README.md +3 -1
- package/client.js +554 -170
- package/docs/DESIGN.md +28 -0
- package/package.json +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
## 版本一览
|
|
6
6
|
|
|
7
|
+
### 1.7.0
|
|
8
|
+
依据 2026-10-23 审计反哺(对 DSH 0.2.1-rc.2 实际 token 与承载面核实):
|
|
9
|
+
|
|
10
|
+
- **A01 极端强调色**:`accentL` 钳位到 0.30–0.64;链接求解器改为双向搜索并对 00/60/150 同时达标;
|
|
11
|
+
新增 `--dsw-alias-button-info-fill` 覆盖(与主按钮一样按白字 4.5 压暗),不再出现白底白链/白勾
|
|
12
|
+
- **A02 自定义色订阅**:`readCustom` 改为按存储内容缓存的冻结快照,新增 `subscribeCustom`;
|
|
13
|
+
取色/重置/导入会更换引用并触发重渲染,空闲时快照稳定(`useSyncExternalStore` 语义)
|
|
14
|
+
- **A03 分享完整**:`dshs1.` 短码新增 `x`(三色),旧码仍可导入并提示未含自定义色;
|
|
15
|
+
`applyConfigCode` 返回 `{ok,hasCustom}`,非法码不部分写入
|
|
16
|
+
- **A04 承载面求解**:深色正文(50)、次级(300)、caption(500)补上求解;目标按承载面可达上限
|
|
17
|
+
钳位(0.93 余量),`palette-dev` 打印「实际/目标/可达」并标注「表面上限」,不再虚报 12/15;
|
|
18
|
+
caption 注释里的 6.5:1 更正为实测值
|
|
19
|
+
- **A05 文字色相**:自定义文字色相进入 700/750/1000/50 档(此前只取色度)
|
|
20
|
+
- **A06 HEX 校验**:改为 draft + 提交,非法值显示 `aria-invalid` 与行内错误,Enter 提交、Esc 回滚
|
|
21
|
+
- **A07 键盘模型**:分段控件 roving tabindex + 方向键/Home/End
|
|
22
|
+
- **A08 标签结构**:自定义色改为 `role=group` + 色盘/HEX 两个独立 label
|
|
23
|
+
- **A09 健康检测**:探针比对期望值(支持 `#rgb/#rrggbb/rgb()/rgba()`),报 `mismatched`;mono 覆盖更多 token
|
|
24
|
+
- **A10 测试门**:`palette-dev.mjs` 改用生产 `floors()`,支持 `--hc`,硬失败退出码 1
|
|
25
|
+
- **A11 边界**:grid/swatches 改 `minmax(min(100%,N),1fr)`;说明 `_markdown_`/`.md-code-block`
|
|
26
|
+
在当前宿主构建 CSS 中仍存在(属契约风险而非失效);ramp 缓存上限 48
|
|
27
|
+
- **建议落地**:自定义面板新增**解释性校正**(强调色归一化 / 链接压暗,带实际对比度);
|
|
28
|
+
导入改为**先预览后确认**(预览不写存储);新增按版本一次的**升级提示**(`notice.v1`,不碰配色键;
|
|
29
|
+
仅升级前已有配置的用户可见);高对比从「更多选项」移到阅读区;新增 `tools/check-host-contract.mjs`
|
|
30
|
+
契约测试与 `tools/check-ui.mjs` 结构回归,并把它们接入 `npm run check` 与发版预检
|
|
31
|
+
- 新增 `tools/check-audit.mjs`:覆盖极端色、分享往返、文字色相、caption、深色正文可达上限、HC 卡层
|
|
32
|
+
|
|
7
33
|
### 未发版 · 发版预检补强
|
|
8
34
|
- `tools/release.mjs` 新增 **engines.dsh 兼容性预检**:按宿主 app-boot 的同一口径
|
|
9
35
|
(`semver.satisfies(v, range, { includePrerelease: true })`)计算,守住两条底线——
|
|
@@ -13,6 +39,35 @@
|
|
|
13
39
|
复核宿主源码发现它带 `includePrerelease`,结论相反。现在这条判断固化进脚本,不再靠手算
|
|
14
40
|
- 该改动只影响本地发版工具,**不进 npm 包**(`files` 不含 `tools/`),故不升版本号
|
|
15
41
|
|
|
42
|
+
### 1.6.0
|
|
43
|
+
视觉与可访问性整改(依据 2026-10-22 第三方 UI 视觉验收审计,60/100):
|
|
44
|
+
|
|
45
|
+
- **A2 配置块重做**:改用 `.dsh-tp-field` 容器(与普通行同节奏),导出/导入各占一行,
|
|
46
|
+
反馈文案就地显示(复制→复制按钮旁,导入→导入按钮旁),导出框加 `text-overflow:ellipsis`
|
|
47
|
+
- **A3 复制不再谎报**:`await navigator.clipboard.writeText()`,失败或无 API 时显示
|
|
48
|
+
「复制失败,请手选后 Ctrl+C」,不再无条件报成功
|
|
49
|
+
- **A4 布局从视口断点改容器驱动**:卡片 `repeat(auto-fit,minmax(196px,1fr))`、色块 `minmax(86px,1fr)`、
|
|
50
|
+
行与分段控件 `flex-wrap`;日语长标签改短(右栏「サイドバー / キャンバス」、滚动条「無彩 / 追従 / 強調」)。
|
|
51
|
+
实测 4 语 × 内容宽 564/336/216:**越界元素 0**(改前日语 216px 溢出 61px)
|
|
52
|
+
- **A5 语言属性**:`<section lang>` 跟随手选语言,`auto` 时回落宿主 `documentElement.lang`
|
|
53
|
+
- **A6 分段控件有名字**:`role="radiogroup"` + `aria-labelledby` 指向行标题,选项改
|
|
54
|
+
`role="radio" aria-checked`(8 组 22 个按钮)
|
|
55
|
+
- **A7 反馈可播报**:复制/导入/自愈状态挂 `role="status" aria-live="polite"`,错误用 `alert`;
|
|
56
|
+
导入框补 `aria-label`
|
|
57
|
+
- **A8 自定义面板层级**:面板底改 `bg-layer-1`(按钮不再与面板同底 1.00:1)、说明文字提到
|
|
58
|
+
`label-secondary` 12px;色值从只读 `<code>` 改为**可输入 hex**(回车/失焦生效,非法值忽略)
|
|
59
|
+
- **A9 缩略图跟随侧栏档位**:`cardColors()` 接收 `sidebarMode`,不再写死默认档
|
|
60
|
+
- **A11** 黑白配色下「滚动条」「开关」置灰禁用(点了也不会有变化)
|
|
61
|
+
- **A12** 卡片与分段按钮 `:focus-visible{outline-offset:2px}`,焦点环不再与选中边框贴死
|
|
62
|
+
- **A13** 加 `prefers-reduced-motion` 降级
|
|
63
|
+
- **A14** `docs/DESIGN.md` 补「当前标定值」表(旧推演内容保留,注明以 `client.js` 为准)
|
|
64
|
+
- **A15** 删掉 4 语共 36 条从未渲染的文案键与未被调用的 `swatches()`
|
|
65
|
+
- **A10 证据链**:README 首图换成当前版本(5 张卡)的**静态渲染**,按真机内容宽 564 px 出图
|
|
66
|
+
(浅色 / 深色 / 自定义面板三张,`--scale 2` 即 1240 px 宽),并在五语 README 里注明「静态渲染」;
|
|
67
|
+
`screenshots.json` 同步为这三张
|
|
68
|
+
- 工具:`tools/preview-settings.mjs` 新增 `--width`(默认按真机 564px 内容宽)与 `--adv`(默认折叠),
|
|
69
|
+
token 跟随 `--palette`;新增 `tools/measure-preview.mjs`(量越界/行高/关键计算色,非 0 越界退出 1)
|
|
70
|
+
|
|
16
71
|
### 1.5.3
|
|
17
72
|
修:选中「自定义」后滚动条不跟随取色。
|
|
18
73
|
|
package/README-es.md
CHANGED
|
@@ -6,6 +6,8 @@ Paleta de tema para DeepSeek Harness (web y escritorio): **4 paletas × claro/os
|
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|
|
|
9
|
+
*Render estático con el ancho real del panel (564 px de contenido).*
|
|
10
|
+
|
|
9
11
|
## Compatibility
|
|
10
12
|
|
|
11
13
|
| Superficie | Estado |
|
package/README-hi.md
CHANGED
package/README-pt.md
CHANGED
|
@@ -6,6 +6,8 @@ Paleta de tema para o DeepSeek Harness (web e desktop): **4 paletas × claro/esc
|
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|
|
|
9
|
+
*Render estático na largura real do painel (564 px de conteúdo).*
|
|
10
|
+
|
|
9
11
|
## Compatibility
|
|
10
12
|
|
|
11
13
|
| Superfície | Estado |
|
package/README-zh.md
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
DeepSeek Harness(Web / 桌面)的主题配色插件:**4 套配色 × 明暗两模式**,两个轴互相独立。
|
|
6
6
|
|
|
7
|
-

|
|
8
|
+
|
|
9
|
+
*上图按真机面板宽度(内容区 564 px)静态渲染。*
|
|
8
10
|
|
|
9
11
|
## Compatibility
|
|
10
12
|
|
|
@@ -22,8 +24,9 @@ DeepSeek Harness(Web / 桌面)的主题配色插件:**4 套配色 × 明
|
|
|
22
24
|
- 色阶**整体重算**而不是替换:OKLCH 重建 → 角色化色度 → **sRGB 色域钳位** → 在真实承载面上求解对比度;
|
|
23
25
|
- 覆盖 27,000+ 处 token 引用:正文、次级、三级、注释、链接、侧栏、卡片、主人气泡、主按钮、滚动条、开关、Markdown 标题/加粗、代码块;
|
|
24
26
|
- 可调:文字着色三档、侧栏三档、右栏两档、Markdown 强调、滚动条、开关配色;
|
|
25
|
-
- **自定义配色**(给 底色/文字/强调
|
|
27
|
+
- **自定义配色**(给 底色/文字/强调 三色,文字色相也参与派生;过亮/过暗的强调色会归一化)、**配置导入导出**(`dshs1.` 短码含三色)、**高对比**档、4 种界面语言;
|
|
26
28
|
- **自愈**:宿主丢弃 override 层时自动重放;
|
|
29
|
+
- 高对比的 15:1 以浅色卡层/深色 950 为承诺面;深色模块面 800 受表面亮度限制,报表会标“表面上限”。
|
|
27
30
|
- 界面支持 简体中文 / 繁體中文 / English / 日本語(跟随宿主,也可手选)。
|
|
28
31
|
|
|
29
32
|
## Install
|
|
@@ -66,8 +69,8 @@ OKLCH(L, C, hue) ──► 色域钳位(对 C 二分) ──► sRGB hex
|
|
|
66
69
|
|
|
67
70
|
- 语义别名保留 `var(--dsw-static-neutral-bluish-NN)` 引用链,跟 token 的元素就跟着配色走;
|
|
68
71
|
- 浅色面用色阶 00–300,深色面用 800–950;
|
|
69
|
-
- 文字下限在构建期强制:正文 ≥ 12、次级 ≥ 6.
|
|
70
|
-
- `node palette-dev.mjs`
|
|
72
|
+
- 文字下限在构建期强制:正文 ≥ 12、次级 ≥ 6.2、三级/链接 ≥ 4.62、侧栏内 ≥ 7、气泡内 ≥ 7;深色模块面按可达上限钳位并标注;
|
|
73
|
+
- `node palette-dev.mjs` 跑标准档承载面报表,`--hc` 跑高对比档;硬失败时退出码 1。
|
|
71
74
|
|
|
72
75
|
逐组件设计取舍与对比度表见 [docs/DESIGN.md](docs/DESIGN.md),版本记录见 [CHANGELOG.md](CHANGELOG.md)。
|
|
73
76
|
|
package/README.md
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
Theme palette for DeepSeek Harness (web & desktop): **4 palettes × light/dark**, two independent axes.
|
|
6
6
|
|
|
7
|
-

|
|
8
|
+
|
|
9
|
+
*Static render of the settings page at the real panel width (564 px content).*
|
|
8
10
|
|
|
9
11
|
## Compatibility
|
|
10
12
|
|