# Figma 跨 theme 不对称登记清单

> **建立日期**：2026-05-27
> **关联原则**：[`working-principles.md` 原则 7](../working-principles.md#原则-7figma-跨-theme-不对称处置b1-semantic-token)
> **维护**：每发现一组 Figma 跨 theme 不对称（dark/light 两 variant 绑不同 primitive token），加 1 行登记 + 在 `src/tokens/variables.css` 加对应 semantic token

---

## 用途

本清单是**待设计师 review** 的 Figma 库 audit log。不阻塞 code 实现——code 用 semantic token 1:1 还原 Figma 当前状态。每行登记的"是否统一" 由设计师在未来 Figma 库迭代时决定：

- **保留不对称**：设计师确认两 theme 用不同 token 是 intentional → 本行标 "approved asymmetric"，code 长期保留对应 semantic token
- **统一 dark token**：设计师改 Figma 让 light variant 也绑 dark 用的同一 token → code 可移除 semantic token 中的 light override，落回 primitive
- **统一 light token**：反向
- **新设计**：设计师重新设计该 state → 启动新一轮 audit

---

## 登记表

| # | Component | State | Field | Dark primitive (Figma) | Light primitive (Figma) | Semantic token (code) | 设计师状态 | 备注 |
|---|---|---|---|---|---|---|---|---|
| 1 | SelectBoxLine | disabled | rootBorderHex | `UX/Grey/grey-8` (#595959) | `UX/Grey/grey-5` (#cccccc) | `--select-disabled-border` | 待 review | P15.1 discovery 实证 §7.1。原 P15-1 单 CSS 强推 `--line-border` 导致 light 反向 drift 14 个 |
| 2 | SelectBoxLine | placeholder / filled | rootBorderHex | `UX/Grey/grey-8` (#595959) | `UX/Grey/grey-5` (#cccccc) | `--select-line-border` | 待 review | P15.2 实证 figmaNodeId `1804:26922` / `1804:26928` |
| 3 | SelectBoxLine | filled multi select | rootBorderHex | `UX/Grey/grey-8` (#595959) | `UX/Grey/grey-4` (#dbdbdb) | `--select-multi-line-border` | 待 review | P15.2 实证 figmaNodeId `1804:26940` / `1804:26958` |
| 4 | InputBoxLine | disabled / placeholder / filled | rootBorderHex | `UX/Grey/grey-8` (#595959) | `UX/Grey/grey-5` (#cccccc) | `--input-line-border` / `--input-disabled-border` | 待 review | P15.2 实证 figmaNodeId `1818:8064` / `1818:8068` |
| 5 | SelectBoxLine | multi select chip | chip border | `UX/Grey/grey-9` (#434343) | `UX/Grey/grey-4` (#dbdbdb) | `--select-chip-border` | 待 review | 多选 chip 1:1 fix（2026-06-02）实证 figmaNodeId `1804:26942`(dark) / `1804:26960`(light)。**line** chip = 透明底 + 该 grey 边框 / h24 / pad 2-4 / gap 4 / radius 4；close 图标 `icon/Edit/Clear 2`（圆形填充 ×, action/clear-2）16px，旧代码误用 bare `close` |
| 6 | SelectBoxFilled | multi select chip | chip bg (no border) | `UX/Grey/grey-13` (#141414) | `UX/Grey/grey-3` (#f0f0f0) | `--select-chip-filled-bg` | 待 review | **filled** chip 与 line 不同：填充底 + **无边框**。实证 figmaNodeId `1436:35209`(dark) / `1436:36576`(light)。旧代码误用 `--input-filled-bg`（解析为 #353535 dark / #fff light，与真源不符）|

<!-- 新增登记按上表格式追加 1 行 -->

---

## 检查清单（Plan owner review 项)

每次新增登记，plan owner 确认：

- [ ] `src/tokens/variables.css` 加了 semantic token 定义（`:root` + `[data-theme='light']` 各一）
- [ ] 对应 component CSS 引用 `var(--<semantic>)` 而非 primitive token
- [ ] dark/light primitive 都用 Figma 实证（`figma-data/normalized/components-tokenized/<file>.json` 同 variant stroke/fill binding）
- [ ] 跑 verifier 验证该 cluster fail 清零、双 theme 都 PASS
