Skip to content

Commit 52272ae

Browse files
committed
fix(button): [button] Adapt to dark themes
1 parent 1a05bd6 commit 52272ae

File tree

2 files changed

+33
-9
lines changed

2 files changed

+33
-9
lines changed

packages/theme/src/button/index.less

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,7 @@
223223
&.is-disabled.is-disabled.is-disabled.is-disabled.is-disabled,
224224
&.is-loading.is-loading.is-loading.is-loading.is-loading,
225225
&[disabled][disabled][disabled][disabled][disabled] {
226-
color: var(--tv-Button-text-color-disabled);
227-
background-color: var(--tv-Button-bg-color-disabled);
226+
color: var(--tv-Button-text-color-disabled);
228227
border-color: var(--tv-Button-border-color-disabled);
229228
fill: var(--tv-Button-icon-color-disabled);
230229
cursor: not-allowed;
@@ -267,12 +266,17 @@
267266
justify-content: center;
268267
&.@{button-prefix-cls}--default {
269268
border-color: var(--tv-Button-border-color-only-icon-default);
270-
269+
svg {
270+
fill: var(--tv-Button-color-only-icon-default);
271+
}
271272
&:active,
272273
&:focus,
273274
&:hover,
274275
&.is-active {
275276
border-color: var(--tv-Button-border-color-only-icon-default-hover);
277+
svg {
278+
fill: var(--tv-Button-color-only-icon-default-hover);
279+
}
276280
}
277281
}
278282

@@ -303,12 +307,17 @@
303307
border-radius: var(--tv-Button-border-radius-only-icon-ontext); // 影响hover时的阴影
304308

305309
background-color: var(--tv-Button-bg-color-only-icon-ontext);
306-
310+
svg {
311+
fill: var(--tv-Button-bg-color-only-icon)
312+
}
307313
&:active,
308314
&:focus,
309315
&:hover,
310316
&.is-active {
311317
background-color: var(--tv-Button-bg-color-only-icon-ontext-hover);
318+
svg {
319+
fill: var(--tv-Button-bg-color-only-icon-hover)
320+
}
312321
}
313322
// 不同的尺寸,icon大小 为高度。 原型稿不包含
314323
.size-only-icon-ontext-iconsize-mixin(e(''));
@@ -331,6 +340,13 @@
331340
color: var(--tv-Button-icon-color);
332341
}
333342
}
343+
&.@{button-prefix-cls}--text.is-disabled {
344+
&:hover {
345+
svg {
346+
fill: var(--tv-Button-disabled-color-only-icon-hover)
347+
}
348+
}
349+
}
334350
}
335351

336352
// 纯文字: 没有主题色,只有文本蓝色和禁用2种情况。
@@ -366,6 +382,7 @@
366382

367383
.tiny-svg {
368384
margin-right: var(--tv-Button-margin-right-isicon-svg);
385+
fill: var(--tv-Button-color-icon-svg);
369386
}
370387
}
371388

packages/theme/src/button/vars.less

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,6 @@
309309

310310
// 禁用时按钮文本色
311311
--tv-Button-text-color-disabled: var(--tv-color-text-disabled, #c2c2c2); // 目前规则下,disabled优先级最高,所以变量少
312-
// 禁用时按钮背景色
313-
--tv-Button-bg-color-disabled: var(--tv-color-bg-disabled, #f0f0f0);
314312
// 禁用时按钮边框色
315313
--tv-Button-border-color-disabled: var(--tv-color-bg-disabled, #f0f0f0); // 设计边框是f0f0f0,没这个值,用背景色代替。
316314
// 禁用时, 幽灵按钮的边框色
@@ -331,6 +329,10 @@
331329

332330
// 仅图标且default主题时, 外边框的颜色
333331
--tv-Button-border-color-only-icon-default: var(--tv-color-border, #c2c2c2);
332+
// 仅图标且default主题时, 图标颜色
333+
--tv-Button-color-only-icon-default: var(--tv-color-icon);
334+
// 仅图标且default主题时, 图标颜色
335+
--tv-Button-color-only-icon-default-hover: var(--tv-color-icon-hover);
334336
// 仅图标且default主题时, 外边框的悬浮色
335337
--tv-Button-border-color-only-icon-default-hover: var(--tv-color-border-hover, #191919);
336338
// 仅图标且有边框时,边框的圆角大
@@ -340,12 +342,16 @@
340342
--tv-Button-border-radius-only-icon-ontext: var(--tv-border-radius-sm, 4px);
341343
// 仅图标-无边框的背景色
342344
--tv-Button-bg-color-only-icon-ontext: transparent;
345+
// 仅图标-无边框的悬浮时的图标色
346+
--tv-Button-bg-color-only-icon: var(--tv-color-icon);
343347
// 仅图标-无边框的悬浮时的背景色
344348
--tv-Button-bg-color-only-icon-ontext-hover: var(--tv-color-bg, #f5f5f5);
345-
349+
// 仅图标-无边框的悬浮时的图标色
350+
--tv-Button-bg-color-only-icon-hover: var(--tv-color-icon-hover);
346351
// 有图标-图标颜色
347352
--tv-Button-icon-color: var(--tv-color-icon, #808080);
348-
353+
// 仅图标-无边框的悬浮时的禁用事的图标色
354+
--tv-Button-disabled-color-only-icon-hover: var(--tv-color-icon);
349355
// 纯文字时,文字颜色
350356
--tv-Button-text-color-ontext: var(--tv-color-text-link, #1476ff); // 蓝色文字
351357
// 纯文字时,文字的禁用色
@@ -355,7 +361,8 @@
355361

356362
// 混排有边框和无边框时,图标右边距
357363
--tv-Button-margin-right-isicon-svg: var(--tv-space-sm, 4px);
358-
364+
// 混排有边框和无边框时,图标颜色
365+
--tv-Button-color-icon-svg: var(--tv-color-icon);
359366
// 混排无边框时,文字的颜色
360367
--tv-Button-text-color-isicon-ontext: var(--tv-color-text-control, #191919); // 黑色文字
361368
// 混排无边框时,文字的禁用色

0 commit comments

Comments
 (0)