Button destructive 文字色改绑 Foregrounds/White (WEB-1326)
版本: 0.9.1 · 类型: 🐛 Bug 修复
问题
destructive 按钮(variant="destructive")在暗色模式下文字显示为黑色,叠在红色底色上几乎无法辨认。
改动文件
packages/design/src/components/Button/styles.tspackages/design/src/components/Button/ButtonDesignSpec.mdpackages/design/src/components/Button/__tests__/Button.test.tsx
改动内容
BUTTON_VARIANT_CLASS.destructive的文字色写的是text-(--Labels-Reverse),该 token 浅色模式为#FFFFFF,深色模式翻转为#000000;而底色--Labels-Error在两种模式下都是红色不会变,于是暗色模式下呈现红底黑字。- 已与 Figma 设计系统文件(
5ssRkvUdqpsRwwW59ooQCp)核对:Destructive 文字填充在 Default(节点147:15406/147:15409/147:15412/20935:1635)与 Hover / Clicked(147:15424/147:15433)上绑定的都是Foregrounds/White(VariableID:17:7,明暗模式恒为#FFFFFF)。据此将text-(--Labels-Reverse)改为text-(--Foregrounds-White),并加注释说明文字恒为白、不随明暗模式翻转。 primary保留text-(--Labels-Reverse):Figma 里 Primary 文字(节点147:15379)绑定的正是Labels/Reverse(VariableID:14:5),其底色本身会随模式反转,文字需要跟着一起反转。- 在
ButtonDesignSpec.md中补记Foregrounds/Whitetoken,并新增按变体的文字色 token 表(Primary、Destructive Default/Hover/Clicked、Destructive Outline、Loading/Disabled)。 - 新增单测,断言 destructive 按钮带
text-(--Foregrounds-White)且不再带text-(--Labels-Reverse)。
影响
- 暗色模式下
variant="destructive"按钮的文字由黑变白,红底文字恢复正常可读性。 - 浅色模式视觉不变(
Foregrounds/White与Labels/Reverse在浅色模式下均为#FFFFFF)。 primary变体不受影响,仍使用Labels/Reverse。