From 157a5c3776b379c1d74f2242781759a8102e6eb3 Mon Sep 17 00:00:00 2001
From: You-Hw-Y <1664677472@qq.com>
Date: Mon, 3 Mar 2025 04:30:41 -0800
Subject: [PATCH 1/4] feat(checkbox): [checkbox] Component dark theme
adaptation
---
packages/theme/src/checkbox/index.less | 88 +++++++++++++++-----------
packages/theme/src/checkbox/vars.less | 20 +++---
packages/vue/src/checkbox/src/pc.vue | 2 +-
3 files changed, 63 insertions(+), 47 deletions(-)
diff --git a/packages/theme/src/checkbox/index.less b/packages/theme/src/checkbox/index.less
index 7b7a5d688f..0222f3f878 100644
--- a/packages/theme/src/checkbox/index.less
+++ b/packages/theme/src/checkbox/index.less
@@ -44,16 +44,6 @@
transition:
border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
-
- svg {
- width: var(--tv-Checkbox-svg-width);
- height: var(--tv-Checkbox-svg-height);
- fill: var(--tv-Checkbox-icon-color);
- }
-
- svg.icon-check:hover {
- fill: var(--tv-Checkbox-icon-color-hover);
- }
}
&.is-filter {
@@ -98,39 +88,11 @@
line-height: 1;
cursor: pointer;
- &.is-checked,
- &.is-indeterminate {
- .@{checkbox-prefix-cls}__inner {
- svg {
- fill: var(--tv-Checkbox-icon-selected);
- }
- }
- }
-
&.is-disabled {
& + span.@{checkbox-prefix-cls}__label {
color: var(--tv-Checkbox-label-text-color-disabled);
cursor: not-allowed;
}
-
- .@{checkbox-prefix-cls}__inner {
- svg {
- fill: var(--tv-Checkbox-icon-selected-disabled);
- cursor: not-allowed;
- }
-
- svg:hover {
- fill: var(--tv-Checkbox-icon-selected-disabled);
- }
- }
-
- &:not(.is-checked):not(.is-indeterminate) {
- svg {
- > path:first-child {
- fill: var(--tv-Checkbox-bg-color-disabled);
- }
- }
- }
}
}
@@ -186,4 +148,54 @@
padding: 0;
}
}
+
+ &__input {
+ .@{checkbox-prefix-cls}__inner{
+ svg {
+ width: var(--tv-Checkbox-svg-width);
+ height: var(--tv-Checkbox-svg-height);
+ }
+ .icon-checked-sur,.icon-halfselect {
+ path:first-child {
+ fill: var(--tv-Checkbox-bg-active-color);
+ }
+ path:last-child {
+ fill: var(--tv-Checkbox-border-color-inverse);
+ }
+ }
+ .icon-not-check {
+ path:first-child {
+ fill: rgba(255,255,255,0.02);
+ }
+ path:last-child {
+ fill: var(--tv-Checkbox-unchecked-border-color);
+ }
+ }
+ .icon-not-check:hover {
+ path:last-child {
+ fill: var(--tv-Checkbox-unchecked-border-hover-color);
+ }
+ }
+ }
+ }
+ &__input.is-disabled {
+ .@{checkbox-prefix-cls}__inner{
+ .icon-checked-sur,.icon-halfselect{
+ path:first-child {
+ fill: var(--tv-Checkbox-checked-disabled-bg-color);
+ }
+ path:last-child {
+ fill: #FFFFFF;
+ }
+ }
+ .icon-not-check {
+ path:first-child {
+ fill: var(--tv-Checkbox-bg-color-disabled);
+ }
+ path:last-child {
+ fill: var(--tv-Checkout-checked-disabled-border-color);
+ }
+ }
+ }
+ }
}
diff --git a/packages/theme/src/checkbox/vars.less b/packages/theme/src/checkbox/vars.less
index 9ce04c4965..e345e33a3b 100644
--- a/packages/theme/src/checkbox/vars.less
+++ b/packages/theme/src/checkbox/vars.less
@@ -15,14 +15,6 @@
--tv-Checkbox-svg-width: var(--tv-icon-size);
// 复选框内部svg高度
--tv-Checkbox-svg-height: var(--tv-icon-size);
- // 复选框svg颜色
- --tv-Checkbox-icon-color: var(--tv-color-border);
- // 复选框svg悬浮颜色
- --tv-Checkbox-icon-color-hover: var(--tv-color-border-hover);
- // 复选框选中svg颜色
- --tv-Checkbox-icon-selected: var(--tv-color-bg-active-control);
- // 复选框选中svg禁用颜色
- --tv-Checkbox-icon-selected-disabled: var(--tv-color-bg-disabled-control-checked);
// 默认复选框未选中禁用背景色
--tv-Checkbox-bg-color-disabled: var(--tv-color-bg-disabled);
// 默认复选框文本色
@@ -45,4 +37,16 @@
--tv-Checkbox-border-color-disabled: var(--tv-color-border-disabled);
// 复选框过滤器模式底色
--tv-Checkbox-bg-color-filter: var(--tv-color-bg-gray-2);
+ // 复选框全选半选选中背景色
+ --tv-Checkbox-bg-active-color: var(--tv-color-bg-active-control);
+ // 复选框全选半选选中边框色
+ --tv-Checkbox-border-color-inverse: var(--tv-color-text-inverse);
+ // 复选框未选背景色
+ --tv-Checkbox-unchecked-border-color: var(--tv-color-border);
+ // 复选框未选边框色
+ --tv-Checkbox-unchecked-border-hover-color: var(--tv-color-border-active);
+ // 复选框选中禁用背景色
+ --tv-Checkbox-checked-disabled-bg-color: var(--tv-color-icon-checked-disabled);
+ // 复选框选中禁用边框色
+ --tv-Checkout-checked-disabled-border-color: var(--tv-color-bg-disabled-control-unactive)
}
diff --git a/packages/vue/src/checkbox/src/pc.vue b/packages/vue/src/checkbox/src/pc.vue
index 5e1be73d0e..640a89d735 100644
--- a/packages/vue/src/checkbox/src/pc.vue
+++ b/packages/vue/src/checkbox/src/pc.vue
@@ -70,7 +70,7 @@
-
+
Date: Mon, 3 Mar 2025 04:49:34 -0800
Subject: [PATCH 2/4] feat(checkbox): [checkbox] Revise inspection comments
---
packages/theme/src/checkbox/index.less | 2 +-
packages/theme/src/checkbox/vars.less | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/theme/src/checkbox/index.less b/packages/theme/src/checkbox/index.less
index 0222f3f878..b246b265a3 100644
--- a/packages/theme/src/checkbox/index.less
+++ b/packages/theme/src/checkbox/index.less
@@ -193,7 +193,7 @@
fill: var(--tv-Checkbox-bg-color-disabled);
}
path:last-child {
- fill: var(--tv-Checkout-checked-disabled-border-color);
+ fill: var(--tv-Checkbox-checked-disabled-border-color);
}
}
}
diff --git a/packages/theme/src/checkbox/vars.less b/packages/theme/src/checkbox/vars.less
index e345e33a3b..65aa2ab921 100644
--- a/packages/theme/src/checkbox/vars.less
+++ b/packages/theme/src/checkbox/vars.less
@@ -48,5 +48,5 @@
// 复选框选中禁用背景色
--tv-Checkbox-checked-disabled-bg-color: var(--tv-color-icon-checked-disabled);
// 复选框选中禁用边框色
- --tv-Checkout-checked-disabled-border-color: var(--tv-color-bg-disabled-control-unactive)
+ --tv-Checkbox-checked-disabled-border-color: var(--tv-color-bg-disabled-control-unactive)
}
From b43df41454d7855663a8d11c33e5809bdd9bb93a Mon Sep 17 00:00:00 2001
From: You-Hw-Y <1664677472@qq.com>
Date: Mon, 3 Mar 2025 17:42:12 -0800
Subject: [PATCH 3/4] feat(checkbox): [checkbox] Modify test cases
---
examples/sites/demos/pc/app/checkbox/basic-usage.spec.ts | 1 -
1 file changed, 1 deletion(-)
diff --git a/examples/sites/demos/pc/app/checkbox/basic-usage.spec.ts b/examples/sites/demos/pc/app/checkbox/basic-usage.spec.ts
index 9b0e57f0b3..635438bdaa 100644
--- a/examples/sites/demos/pc/app/checkbox/basic-usage.spec.ts
+++ b/examples/sites/demos/pc/app/checkbox/basic-usage.spec.ts
@@ -6,7 +6,6 @@ test('基础用法', async ({ page }) => {
const demo = page.locator('#basic-usage')
const checkbox = demo.locator('.tiny-checkbox')
await expect(checkbox).toHaveClass(/is-checked/)
- await expect(checkbox.locator('.tiny-checkbox__inner svg')).toHaveCSS('fill', 'rgb(20, 118, 255)')
await checkbox.click()
await expect(checkbox).not.toHaveClass(/is-checked/)
})
From c1129169cc66211530771afa40cefe4d76032d17 Mon Sep 17 00:00:00 2001
From: You-Hw-Y <1664677472@qq.com>
Date: Mon, 3 Mar 2025 18:50:24 -0800
Subject: [PATCH 4/4] feat(checkbox): [checkbox] Modify test cases
---
packages/theme/src/checkbox/index.less | 9 ++++-----
packages/theme/src/checkbox/vars.less | 14 ++++++--------
packages/vue/src/checkbox/src/pc.vue | 4 ++--
3 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/packages/theme/src/checkbox/index.less b/packages/theme/src/checkbox/index.less
index b246b265a3..aa8d89ced5 100644
--- a/packages/theme/src/checkbox/index.less
+++ b/packages/theme/src/checkbox/index.less
@@ -152,12 +152,11 @@
&__input {
.@{checkbox-prefix-cls}__inner{
svg {
- width: var(--tv-Checkbox-svg-width);
- height: var(--tv-Checkbox-svg-height);
+ font-size: var(--tv-Checkbox-svg-size);
}
.icon-checked-sur,.icon-halfselect {
path:first-child {
- fill: var(--tv-Checkbox-bg-active-color);
+ fill: var(--tv-Checkbox-bg-color-active);
}
path:last-child {
fill: var(--tv-Checkbox-border-color-inverse);
@@ -165,7 +164,7 @@
}
.icon-not-check {
path:first-child {
- fill: rgba(255,255,255,0.02);
+ fill: transparent;
}
path:last-child {
fill: var(--tv-Checkbox-unchecked-border-color);
@@ -173,7 +172,7 @@
}
.icon-not-check:hover {
path:last-child {
- fill: var(--tv-Checkbox-unchecked-border-hover-color);
+ fill: var(--tv-Checkbox-unchecked-border-color-hover);
}
}
}
diff --git a/packages/theme/src/checkbox/vars.less b/packages/theme/src/checkbox/vars.less
index 65aa2ab921..09d595fad7 100644
--- a/packages/theme/src/checkbox/vars.less
+++ b/packages/theme/src/checkbox/vars.less
@@ -11,10 +11,8 @@
*/
.inject-Checkbox-vars() {
- // 复选框内部svg宽度
- --tv-Checkbox-svg-width: var(--tv-icon-size);
- // 复选框内部svg高度
- --tv-Checkbox-svg-height: var(--tv-icon-size);
+ // 复选框内部svg尺寸
+ --tv-Checkbox-svg-size: var(--tv-icon-size);
// 默认复选框未选中禁用背景色
--tv-Checkbox-bg-color-disabled: var(--tv-color-bg-disabled);
// 默认复选框文本色
@@ -38,13 +36,13 @@
// 复选框过滤器模式底色
--tv-Checkbox-bg-color-filter: var(--tv-color-bg-gray-2);
// 复选框全选半选选中背景色
- --tv-Checkbox-bg-active-color: var(--tv-color-bg-active-control);
+ --tv-Checkbox-bg-color-active: var(--tv-color-bg-active-control);
// 复选框全选半选选中边框色
--tv-Checkbox-border-color-inverse: var(--tv-color-text-inverse);
- // 复选框未选背景色
- --tv-Checkbox-unchecked-border-color: var(--tv-color-border);
// 复选框未选边框色
- --tv-Checkbox-unchecked-border-hover-color: var(--tv-color-border-active);
+ --tv-Checkbox-unchecked-border-color: var(--tv-color-border);
+ // 复选框未选边框hover色
+ --tv-Checkbox-unchecked-border-color-hover: var(--tv-color-border-active);
// 复选框选中禁用背景色
--tv-Checkbox-checked-disabled-bg-color: var(--tv-color-icon-checked-disabled);
// 复选框选中禁用边框色
diff --git a/packages/vue/src/checkbox/src/pc.vue b/packages/vue/src/checkbox/src/pc.vue
index 640a89d735..d9c081ebe8 100644
--- a/packages/vue/src/checkbox/src/pc.vue
+++ b/packages/vue/src/checkbox/src/pc.vue
@@ -70,7 +70,7 @@
-
+