Skip to content

Commit db93fc3

Browse files
authored
feat(Region): support dark theme (#606)
* refactor: 更新样式 * refactor: 调整样式 * chore: bump version 9.0.2
1 parent 71bf857 commit db93fc3

3 files changed

Lines changed: 67 additions & 27 deletions

File tree

src/components/BootstrapBlazor.Region/BootstrapBlazor.Region.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>9.0.1</Version>
4+
<Version>9.0.2</Version>
55
</PropertyGroup>
66

77
<PropertyGroup>

src/components/BootstrapBlazor.Region/Components/SelectCity.razor.css

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,18 @@
99
.dropdown-menu {
1010
--bs-dropdown-padding-y: .5rem;
1111
--bs-dropdown-padding-x: .5rem;
12-
max-width: 400px;
13-
max-height: 400px;
12+
--bb-region-body-color: #495057;
13+
--bb-region-body-hover-bg-color: #e9ecef;
14+
--bb-region-body-active-bg-color: #dee2e6;
15+
--bb-region-body-hover-color: #000;
16+
--bb-region-body-active-color: #000;
17+
--bb-region-body-width: 400px;
18+
--bb-region-body-height: 400px;
19+
--bb-region-body-padding: .5rem;
20+
--bb-region-body-item-padding: 3px 12px;
21+
--bb-region-body-gap: 5px;
22+
width: var(--bb-region-body-width);
23+
height: var(--bb-region-body-height);
1424
overflow-y: auto;
1525
}
1626

@@ -19,37 +29,45 @@
1929
padding: 0;
2030
display: flex;
2131
flex-wrap: wrap;
22-
gap: 5px;
32+
gap: var(--bb-region-body-gap);
2333
}
2434

2535
.dropdown-menu li {
2636
list-style: none;
2737
transition: background-color .3s linear, color .3s linear;
2838
cursor: pointer;
29-
padding: 3px 12px;
39+
padding: var(--bb-region-body-item-padding);
3040
border-radius: var(--bs-border-radius);
31-
color: #777;
41+
color: var(--bb-region-body-color);
3242
}
3343

3444
.dropdown-menu li:hover {
35-
background-color: #e9ecef;
36-
color: #000;
45+
background-color: var(--bb-region-body-hover-bg-color);
46+
color: var(--bb-region-body-hover-color);
3747
}
3848

3949
.dropdown-menu li.active {
40-
background-color: #e3e3e3;
41-
color: #000;
50+
background-color: var(--bb-region-body-active-bg-color);
51+
color: var(--bb-region-body-active-color);
4252
}
4353

54+
[data-bs-theme="dark"] .dropdown-menu {
55+
--bb-region-body-color: #ddd;
56+
--bb-region-body-hover-color: #fff;
57+
--bb-region-body-active-color: #fff;
58+
--bb-region-body-hover-bg-color: #495057;
59+
--bb-region-body-active-bg-color: #6c757d;
60+
}
61+
4462
.bb-region-city-item:not(:last-child) {
4563
margin-bottom: 3px;
4664
padding-bottom: 3px;
4765
border-bottom: 1px solid var(--bs-border-color);
4866
}
4967

5068
.bb-region-city-title {
51-
padding: 3px 12px;
52-
color: #000;
69+
padding: var(--bb-region-body-item-padding);
70+
color: var(--bb-region-body-color);
5371
font-weight: bold;
5472
cursor: pointer;
5573
}

src/components/BootstrapBlazor.Region/Components/SelectRegion.razor.css

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@
88

99
.dropdown-menu {
1010
--bs-dropdown-padding-y: 0;
11+
--bb-region-header-padding: 3px 12px;
12+
--bb-region-header-hover-bg-color: #e9ecef;
13+
--bb-region-header-active-bg-color: #dee2e6;
14+
--bb-region-body-color: #495057;
15+
--bb-region-body-hover-bg-color: #e9ecef;
16+
--bb-region-body-active-bg-color: #dee2e6;
17+
--bb-region-body-hover-color: #000;
18+
--bb-region-body-active-color: #000;
19+
--bb-region-body-width: 400px;
20+
--bb-region-body-padding: .5rem;
21+
--bb-region-body-item-padding: 3px 12px;
22+
--bb-region-body-gap: 5px;
1123
}
1224

1325
.dropdown-menu ul {
@@ -20,8 +32,18 @@
2032
transition: background-color .3s linear, color .3s linear;
2133
}
2234

35+
[data-bs-theme="dark"] .dropdown-menu {
36+
--bb-region-header-hover-bg-color: #495057;
37+
--bb-region-header-active-bg-color: #6c757d;
38+
--bb-region-body-color: #ddd;
39+
--bb-region-body-hover-color: #fff;
40+
--bb-region-body-active-color: #fff;
41+
--bb-region-body-hover-bg-color: #495057;
42+
--bb-region-body-active-bg-color: #6c757d;
43+
}
44+
2345
.bb-region-header {
24-
width: 400px;
46+
width: var(--bb-region-body-width);
2547
border-bottom: 1px solid var(--bs-border-color);
2648
}
2749

@@ -35,48 +57,48 @@
3557

3658
.bb-region-header ul li {
3759
cursor: pointer;
38-
padding: 3px 12px;
60+
padding: var(--bb-region-header-padding);
3961
border-radius: var(--bs-border-radius);
4062
}
4163

4264
.bb-region-header ul li.active {
43-
background-color: #e3e3e3;
44-
color: #000;
65+
background-color: var(--bb-region-header-active-bg-color);
66+
color: var(--bb-region-body-active-color);
4567
}
4668

4769
.bb-region-header ul li:hover {
48-
background-color: #e3e3e3;
49-
color: #000;
70+
background-color: var(--bb-region-header-hover-bg-color);
71+
color: var(--bb-region-body-hover-color);
5072
}
5173

5274
.bb-region-body {
53-
padding: .5rem;
54-
width: 400px;
75+
padding: var(--bb-region-body-padding);
76+
width: var(--bb-region-body-width);
5577
}
5678

5779
.bb-region-body ul {
5880
display: flex;
5981
flex-wrap: wrap;
60-
gap: 5px;
82+
gap: var(--bb-region-body-gap);
6183
}
6284

6385
.bb-region-body .bb-region-body-item:not(.active) {
6486
display: none;
6587
}
6688

6789
.bb-region-body ul li {
68-
padding: 3px 12px;
90+
padding: var(--bb-region-body-item-padding);
6991
border-radius: var(--bs-border-radius);
92+
color: var(--bb-region-body-color);
7093
cursor: pointer;
71-
color: #777;
7294
}
7395

7496
.bb-region-body ul li:hover {
75-
background-color: #e9ecef;
76-
color: #000;
97+
background-color: var(--bb-region-body-hover-bg-color);
98+
color: var(--bb-region-body-hover-color);
7799
}
78100

79101
.bb-region-body ul li.active {
80-
background-color: #e3e3e3;
81-
color: #000;
102+
background-color: var(--bb-region-body-active-bg-color);
103+
color: var(--bb-region-body-active-color);
82104
}

0 commit comments

Comments
 (0)