Skip to content

Commit 694d6f1

Browse files
authored
feat(dropdown): [action-menu,dropdown,autocomplete,input] component dark theme adaptation (#3014)
* feat(dropdown): [action-menu,dropdown] component dark theme adaptation * feat(dialog-select): [dialog-select] modify search icon alignment issue * feat(autocomplete): [autocomplete] dark theme adaptation * feat(input): [input] dark theme adaptation * test(dropdown): [action-menu,dropdown] synchronize modification of test cases
1 parent 3a57416 commit 694d6f1

29 files changed

+114
-89
lines changed

examples/sites/demos/pc/app/action-menu/icon-composition-api.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,22 +76,22 @@ p {
7676
:deep(.tiny-action-menu__wrap) {
7777
.tiny-action-menu__item {
7878
.tiny-dropdown-item__wrap {
79-
color: #191919;
79+
color: var(--tv-color-icon-control);
8080
.tiny-svg {
81-
fill: #191919;
81+
fill: var(--tv-color-icon-control);
8282
}
8383
}
8484
8585
&:hover {
8686
.tiny-dropdown-item__wrap > .tiny-dropdown-item__content .tiny-svg {
87-
fill: #191919;
87+
fill: var(--tv-color-icon-control);
8888
}
8989
}
9090
9191
.tiny-dropdown {
92-
color: #191919;
92+
color: var(--tv-color-icon-control);
9393
.tiny-svg {
94-
fill: #191919;
94+
fill: var(--tv-color-icon-control);
9595
}
9696
}
9797
}

examples/sites/demos/pc/app/action-menu/icon.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,22 +81,22 @@ p {
8181
:deep(.tiny-action-menu__wrap) {
8282
.tiny-action-menu__item {
8383
.tiny-dropdown-item__wrap {
84-
color: #191919;
84+
color: var(--tv-color-icon-control);
8585
.tiny-svg {
86-
fill: #191919;
86+
fill: var(--tv-color-icon-control);
8787
}
8888
}
8989
9090
&:hover {
9191
.tiny-dropdown-item__wrap > .tiny-dropdown-item__content .tiny-svg {
92-
fill: #191919;
92+
fill: var(--tv-color-icon-control);
9393
}
9494
}
9595
9696
.tiny-dropdown {
97-
color: #191919;
97+
color: var(--tv-color-icon-control);
9898
.tiny-svg {
99-
fill: #191919;
99+
fill: var(--tv-color-icon-control);
100100
}
101101
}
102102
}

examples/sites/demos/pc/app/action-menu/popper-class-composition-api.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ const options = ref([
3131

3232
<style>
3333
.custom-action-menu {
34-
background-color: antiquewhite;
34+
background-color: var(--tv-color-bg-3);
3535
}
3636
</style>

examples/sites/demos/pc/app/action-menu/popper-class.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ test('弹框样式', async ({ page }) => {
1313
await visibleItem.last().hover()
1414
await page.waitForTimeout(200)
1515
await expect(dropDownMenu).toHaveClass(/custom-action-menu/)
16-
await expect(dropDownMenu).toHaveCSS('background-color', 'rgb(250, 235, 215)')
16+
await expect(dropDownMenu).toHaveCSS('background-color', 'rgb(255, 255, 255)')
1717
})

examples/sites/demos/pc/app/action-menu/popper-class.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@ export default {
3939

4040
<style>
4141
.custom-action-menu {
42-
background-color: antiquewhite;
42+
background-color: var(--tv-color-bg-3);
4343
}
4444
</style>

examples/sites/demos/pc/app/action-menu/slot-item-composition-api.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<tiny-action-menu :options="options">
33
<template #item="{ data }">
44
<tiny-icon-smile></tiny-icon-smile>
5-
<span style="vertical-align: middle"> {{ data.name }}</span>
5+
<span style="vertical-align: middle; margin-left: 4px"> {{ data.name }}</span>
66
</template>
77
</tiny-action-menu>
88
</template>

examples/sites/demos/pc/app/action-menu/slot-item.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<tiny-action-menu :options="options">
33
<template #item="{ data }">
44
<icon-smile></icon-smile>
5-
<span style="vertical-align: middle"> {{ data.name }}</span>
5+
<span style="vertical-align: middle; margin-left: 4px"> {{ data.name }}</span>
66
</template>
77
</tiny-action-menu>
88
</template>

examples/sites/demos/pc/app/autocomplete/slot-composition-api.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
<template #prepend>前置内容</template>
55
<template #append>后置内容</template>
66
</tiny-autocomplete>
7+
<br />
8+
<br />
79
<tiny-autocomplete class="fix-slot" v-model="value" placeholder="请输入内容" :fetch-suggestions="querySearch">
810
<template #prefix>
911
<tiny-icon-edit />
@@ -12,6 +14,8 @@
1214
<tiny-icon-association />
1315
</template>
1416
</tiny-autocomplete>
17+
<br />
18+
<br />
1519
<tiny-autocomplete class="default-slot" v-model="value" :fetch-suggestions="querySearch">
1620
<template #default="{ slotScope }">
1721
<div>{{ slotScope.value }}</div>

examples/sites/demos/pc/app/autocomplete/slot.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
<template #prepend>前置内容</template>
55
<template #append>后置内容</template>
66
</tiny-autocomplete>
7+
<br />
8+
<br />
79
<tiny-autocomplete class="fix-slot" v-model="value" :fetch-suggestions="querySearch">
810
<template #prefix>
911
<tiny-icon-edit />
@@ -12,6 +14,8 @@
1214
<tiny-icon-association />
1315
</template>
1416
</tiny-autocomplete>
17+
<br />
18+
<br />
1519
<tiny-autocomplete class="default-slot" v-model="value" :fetch-suggestions="querySearch">
1620
<template #default="{ slotScope }">
1721
<div>{{ slotScope.value }}</div>

examples/sites/demos/pc/app/dropdown/inherit-width-composition-api.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="demo-drop">
33
<p class="demo-dropdown">场景 1:默认</p>
4-
<tiny-dropdown split-button type="success">
4+
<tiny-dropdown border type="success">
55
更多菜单(标题很长示例)
66
<template #dropdown>
77
<tiny-dropdown-menu>
@@ -15,7 +15,7 @@
1515
</tiny-dropdown>
1616
<br /><br />
1717
<p class="demo-dropdown">场景 2:设置 inherit-width</p>
18-
<tiny-dropdown split-button type="success" :inherit-width="true">
18+
<tiny-dropdown border type="success" :inherit-width="true">
1919
更多菜单(标题很长示例)
2020
<template #dropdown>
2121
<tiny-dropdown-menu>

examples/sites/demos/pc/app/dropdown/inherit-width.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="demo-drop">
33
<p class="demo-dropdown">场景 1:默认</p>
4-
<tiny-dropdown split-button type="success">
4+
<tiny-dropdown border type="success">
55
更多菜单(标题很长示例)
66
<template #dropdown>
77
<tiny-dropdown-menu>
@@ -15,7 +15,7 @@
1515
</tiny-dropdown>
1616
<br /><br />
1717
<p class="demo-dropdown">场景 2:设置 inherit-width</p>
18-
<tiny-dropdown split-button type="success" :inherit-width="true">
18+
<tiny-dropdown type="success" border :inherit-width="true">
1919
更多菜单(标题很长示例)
2020
<template #dropdown>
2121
<tiny-dropdown-menu>

examples/sites/demos/pc/app/dropdown/show-icon-composition-api.vue

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,20 @@ p {
5858
margin-top: 30px;
5959
}
6060
61-
.tiny-dropdown.only-icon {
62-
:deep(.tiny-dropdown__trigger) {
63-
.tiny-svg {
64-
fill: #191919;
65-
&:hover {
66-
fill: #191919;
61+
.tiny-dropdown {
62+
&.only-icon {
63+
:deep(.tiny-dropdown__trigger) {
64+
.tiny-svg {
65+
fill: var(--tv-color-icon-control);
66+
&:hover {
67+
fill: var(--tv-color-icon-control);
68+
}
6769
}
6870
}
6971
}
72+
73+
:deep(.tiny-dropdown__prefix-inner) {
74+
fill: var(--tv-color-icon-control);
75+
}
7076
}
7177
</style>

examples/sites/demos/pc/app/dropdown/show-icon.vue

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,20 @@ p {
6868
margin-top: 30px;
6969
}
7070
71-
.tiny-dropdown.only-icon {
72-
:deep(.tiny-dropdown__trigger) {
73-
.tiny-svg {
74-
fill: #191919;
75-
&:hover {
76-
fill: #191919;
71+
.tiny-dropdown {
72+
&.only-icon {
73+
:deep(.tiny-dropdown__trigger) {
74+
.tiny-svg {
75+
fill: var(--tv-color-icon-control);
76+
&:hover {
77+
fill: var(--tv-color-icon-control);
78+
}
7779
}
7880
}
7981
}
82+
83+
:deep(.tiny-dropdown__prefix-inner) {
84+
fill: var(--tv-color-icon-control);
85+
}
8086
}
8187
</style>

examples/sites/demos/pc/app/dropdown/size-composition-api.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="demo-drop">
33
<p class="demo-dropdown">默认:</p>
4-
<tiny-dropdown split-button type="primary">
4+
<tiny-dropdown border type="primary">
55
默认尺寸
66
<template #dropdown>
77
<tiny-dropdown-menu>
@@ -14,7 +14,7 @@
1414
</template>
1515
</tiny-dropdown>
1616
<p class="demo-dropdown">其他尺寸:</p>
17-
<tiny-dropdown size="medium" split-button type="primary">
17+
<tiny-dropdown size="medium" border type="primary">
1818
中等尺寸
1919
<template #dropdown>
2020
<tiny-dropdown-menu>
@@ -27,7 +27,7 @@
2727
</template>
2828
</tiny-dropdown>
2929

30-
<tiny-dropdown size="small" split-button type="primary">
30+
<tiny-dropdown size="small" border type="primary">
3131
小型尺寸
3232
<template #dropdown>
3333
<tiny-dropdown-menu>
@@ -40,7 +40,7 @@
4040
</template>
4141
</tiny-dropdown>
4242

43-
<tiny-dropdown size="mini" split-button type="primary">
43+
<tiny-dropdown size="mini" border type="primary">
4444
超小尺寸
4545
<template #dropdown>
4646
<tiny-dropdown-menu>

examples/sites/demos/pc/app/dropdown/size.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="demo-drop">
33
<p class="demo-dropdown">默认:</p>
4-
<tiny-dropdown split-button type="primary">
4+
<tiny-dropdown border type="primary">
55
默认尺寸
66
<template #dropdown>
77
<tiny-dropdown-menu>
@@ -14,7 +14,7 @@
1414
</template>
1515
</tiny-dropdown>
1616
<p class="demo-dropdown">其他尺寸:</p>
17-
<tiny-dropdown size="medium" split-button type="primary">
17+
<tiny-dropdown size="medium" border type="primary">
1818
中等尺寸
1919
<template #dropdown>
2020
<tiny-dropdown-menu>
@@ -27,7 +27,7 @@
2727
</template>
2828
</tiny-dropdown>
2929

30-
<tiny-dropdown size="small" split-button type="primary">
30+
<tiny-dropdown size="small" border type="primary">
3131
小型尺寸
3232
<template #dropdown>
3333
<tiny-dropdown-menu>
@@ -40,7 +40,7 @@
4040
</template>
4141
</tiny-dropdown>
4242

43-
<tiny-dropdown size="mini" split-button type="primary">
43+
<tiny-dropdown size="mini" border type="primary">
4444
超小尺寸
4545
<template #dropdown>
4646
<tiny-dropdown-menu>
Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
import { test, expect } from '@playwright/test'
22

3+
// 不展示此示例。按钮类型推荐使用 border
34
test('按钮类型', async ({ page }) => {
45
page.on('pageerror', (exception) => expect(exception).toBeNull())
5-
await page.goto('dropdown#split-button')
6+
// await page.goto('dropdown#split-button')
67

7-
const wrap = page.locator('#split-button')
8-
const dropDown = wrap.locator('.tiny-dropdown').nth(1)
9-
const dropDownMenu = page.locator('body > .tiny-dropdown-menu')
10-
const textBtn = dropDown.locator('button').first()
11-
const dropDownBtn = dropDown.locator('button').nth(1)
8+
// const wrap = page.locator('#split-button')
9+
// const dropDown = wrap.locator('.tiny-dropdown').nth(1)
10+
// const dropDownMenu = page.locator('body > .tiny-dropdown-menu')
11+
// const textBtn = dropDown.locator('button').first()
12+
// const dropDownBtn = dropDown.locator('button').nth(1)
1213

1314
// 是否变成了按钮且按钮样式是否生效
14-
await expect(dropDown.locator('button')).toHaveCount(2)
15-
await expect(textBtn).toHaveCSS('background-color', 'rgb(92, 179, 0)')
16-
await expect(textBtn).toHaveCSS('color', 'rgb(255, 255, 255)')
17-
await expect(dropDownBtn).toHaveCSS('background-color', 'rgb(92, 179, 0)')
18-
await expect(dropDownBtn).toHaveCSS('color', 'rgb(255, 255, 255)')
15+
// await expect(dropDown.locator('button')).toHaveCount(2)
16+
// await expect(textBtn).toHaveCSS('background-color', 'rgb(92, 179, 0)')
17+
// await expect(textBtn).toHaveCSS('color', 'rgb(255, 255, 255)')
18+
// await expect(dropDownBtn).toHaveCSS('background-color', 'rgb(92, 179, 0)')
19+
// await expect(dropDownBtn).toHaveCSS('color', 'rgb(255, 255, 255)')
1920

20-
// 文字悬浮不出现下拉菜单
21-
await page.waitForTimeout(500)
22-
await textBtn.hover()
23-
await expect(dropDownMenu).not.toBeVisible()
24-
await dropDownBtn.hover()
25-
await expect(dropDownMenu).toBeVisible()
21+
// // 文字悬浮不出现下拉菜单
22+
// await page.waitForTimeout(500)
23+
// await textBtn.hover()
24+
// await expect(dropDownMenu).not.toBeVisible()
25+
// await dropDownBtn.hover()
26+
// await expect(dropDownMenu).toBeVisible()
2627
})

examples/sites/demos/pc/app/dropdown/webdoc/dropdown.js

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -83,20 +83,6 @@ export default {
8383
},
8484
codeFiles: ['show-icon.vue']
8585
},
86-
{
87-
demoId: 'split-button',
88-
name: {
89-
'zh-CN': '按钮类型',
90-
'en-US': 'Button type'
91-
},
92-
desc: {
93-
'zh-CN':
94-
'<p>通过 <code>split-button</code> 属性,设置下拉菜单显示为按钮类型。仅按钮类型时,支持 <code>type</code> 属性设置按钮状态。</p>\n',
95-
'en-US':
96-
'<p>Set the drop-down menu to display as a button type through the <code>split-button</code> attribute. When only button types are used, the <code>type</code> attribute setting button status is supported.</p>\n'
97-
},
98-
codeFiles: ['split-button.vue']
99-
},
10086
{
10187
demoId: 'trigger',
10288
name: {

packages/theme/src/action-menu/index.less

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@
3434
justify-content: space-between;
3535
align-items: center;
3636

37+
.@{dropdown-prefix-cls} {
38+
display: flex;
39+
align-items: center;
40+
}
41+
3742
// 默认
3843
&.@{action-menu-prefix-cls}__item-visible {
3944
.@{dropdown-item-prefix-cls} {

packages/theme/src/autocomplete/index.less

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
&.is-loading &__list-loading {
7272
.tiny-svg {
7373
font-size: var(--tv-Autocomplete-icon-size);
74+
fill: var(--tv-Autocomplete-loading-icon-color);
7475
}
7576
}
7677
}

packages/theme/src/autocomplete/vars.less

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,7 @@
3535
--tv-Autocomplete-li-padding: 5.5px var(--tv-space-xl, 16px);
3636
// 列表项悬浮背景色
3737
--tv-Autocomplete-li-bg-color-hover: var(--tv-color-bg-hover, #f5f5f5);
38+
39+
// 加载图标色
40+
--tv-Autocomplete-loading-icon-color: var(--tv-color-icon-control, #191919);
3841
}

0 commit comments

Comments
 (0)