Skip to content

Commit 68429e4

Browse files
committed
fix(twoslash): improve css variables definition
1 parent 42cb3e0 commit 68429e4

File tree

2 files changed

+49
-19
lines changed

2 files changed

+49
-19
lines changed

packages/shikiji-twoslash/style-rich.css

+31-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
/* ===== Basic ===== */
22
:root {
33
--twoslash-border-color: #8888;
4-
--twoslash-docs-color: #888;
54
--twoslash-underline-color: currentColor;
65
--twoslash-highlighted-border: #c37d0d50;
76
--twoslash-highlighted-bg: #c37d0d20;
87
--twoslash-popup-bg: #f8f8f8;
9-
--twoslash-popup-shadow: rgba(0, 0, 0, 0.08) 0px 1px 4px;
8+
--twoslash-popup-color: inherit;
9+
--twoslash-popup-shadow: rgba(0, 0, 0.08) 0px 1px 4px;
10+
--twoslash-docs-color: #888;
11+
--twoslash-docs-font: sans-serif;
12+
--twoslach-code-font: inherit;
1013
--twoslash-matched-color: inherit;
1114
--twoslash-unmatched-color: #888;
1215
--twoslash-cursor-color: #8888;
@@ -46,6 +49,7 @@
4649
flex-direction: column;
4750
transform: translateY(1.1em);
4851
background: var(--twoslash-popup-bg);
52+
color: var(--twoslash-popup-color);
4953
border: 1px solid var(--twoslash-border-color);
5054
transition: opacity 0.3s;
5155
border-radius: 4px;
@@ -89,23 +93,32 @@
8993
padding: 6px 8px !important;
9094
}
9195

96+
.twoslash .twoslash-popup-code {
97+
font-family: var(--twoslach-code-font);
98+
}
99+
92100
.twoslash .twoslash-popup-docs {
93101
color: var(--twoslash-docs-color);
94-
font-family: sans-serif;
102+
font-family: var(--twoslash-docs-font);
95103
font-size: 0.8em;
96104
border-top: 1px solid var(--twoslash-border-color);
97105
}
98106

99107
.twoslash .twoslash-popup-docs-tags {
100108
display: flex;
101109
flex-direction: column;
110+
font-family: var(--twoslash-docs-font);
102111
}
103112

104113
.twoslash .twoslash-popup-docs-tags,
105114
.twoslash .twoslash-popup-docs-tag-name {
106115
margin-right: 0.5em;
107116
}
108117

118+
.twoslash .twoslash-popup-docs-tag-name {
119+
font-family: var(--twoslach-code-font);
120+
}
121+
109122
/* ===== Error Line ===== */
110123
.twoslash .twoslash-error-line {
111124
position: relative;
@@ -126,6 +139,7 @@
126139
.twoslash .twoslash-completion-cursor {
127140
position: relative;
128141
}
142+
129143
.twoslash .twoslash-completion-cursor .twoslash-completion-list {
130144
user-select: none;
131145
position: absolute;
@@ -139,6 +153,7 @@
139153
background: var(--twoslash-popup-bg);
140154
border: 1px solid var(--twoslash-border-color);
141155
}
156+
142157
.twoslash-completion-list {
143158
width: 240px;
144159
font-size: 0.8rem;
@@ -147,9 +162,11 @@
147162
flex-direction: column;
148163
gap: 4px;
149164
}
165+
150166
.twoslash-completion-list:hover {
151167
user-select: auto;
152168
}
169+
153170
.twoslash-completion-list::before {
154171
background-color: var(--twoslash-cursor-color);
155172
width: 2px;
@@ -159,23 +176,28 @@
159176
left: -1px;
160177
content: ' ';
161178
}
179+
162180
.twoslash-completion-list li {
163181
overflow: hidden;
164182
display: flex;
165183
align-items: center;
166184
gap: 0.25em;
167185
line-height: 1em;
168186
}
187+
169188
.twoslash-completion-list li span.twoslash-completions-unmatched {
170189
color: var(--twoslash-unmatched-color);
171190
}
191+
172192
.twoslash-completion-list .deprecated {
173193
text-decoration: line-through;
174194
opacity: 0.5;
175195
}
196+
176197
.twoslash-completion-list li span.twoslash-completions-matched {
177198
color: var(--twoslash-matched-color);
178199
}
200+
179201
/* Highlights */
180202
.twoslash-highlighted {
181203
background-color: var(--twoslash-highlighted-bg);
@@ -184,12 +206,14 @@
184206
margin: -1px -3px;
185207
border-radius: 4px;
186208
}
209+
187210
/* Icons */
188211
.twoslash-completion-list .twoslash-completions-icon {
189212
color: var(--twoslash-unmatched-color);
190213
width: 1em;
191214
flex: none;
192215
}
216+
193217
/* Custom Tags */
194218
.twoslash .twoslash-tag-line {
195219
position: relative;
@@ -202,20 +226,24 @@
202226
align-items: center;
203227
gap: 0.3em;
204228
}
229+
205230
.twoslash .twoslash-tag-line .twoslash-tag-icon {
206231
width: 1.1em;
207232
color: inherit;
208233
}
234+
209235
.twoslash .twoslash-tag-line.twoslash-tag-error-line {
210236
background-color: var(--twoslash-error-bg);
211237
border-left: 3px solid var(--twoslash-error-color);
212238
color: var(--twoslash-error-color);
213239
}
240+
214241
.twoslash .twoslash-tag-line.twoslash-tag-warn-line {
215242
background-color: var(--twoslash-tag-warn-bg);
216243
border-left: 3px solid var(--twoslash-tag-warn-color);
217244
color: var(--twoslash-tag-warn-color);
218245
}
246+
219247
.twoslash .twoslash-tag-line.twoslash-tag-annotate-line {
220248
background-color: var(--twoslash-tag-annotate-bg);
221249
border-left: 3px solid var(--twoslash-tag-annotate-color);

packages/vitepress-plugin-twoslash/src/style.css

+18-16
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,31 @@
1-
.twoslash {
1+
:root {
22
--twoslash-popup-bg: var(--vp-c-bg, inherit);
3+
--twoslash-popup-color: var(--vp-c-text-1);
4+
--twoslash-docs-color: var(--vp-c-text-1);
5+
--twoslash-docs-font: var(--vp-font-family-base);
6+
--twoslash-code-font: var(--vp-font-family-mono);
37
--twoslash-underline-color: #8888;
4-
--twoslash-border-color: #8884;
8+
--twoslash-border-color: var(--vp-c-border);
9+
--twoslash-cursor-color: var(--vp-c-brand);
10+
--twoslash-matched-color: var(--vp-c-brand);
511
}
612

713
.v-popper--theme-twoslash {
814
z-index: calc(var(--vp-z-index-local-nav) - 1);
915
}
1016

1117
.v-popper--theme-twoslash .v-popper__inner {
12-
background: var(--vp-c-bg);
13-
color: var(--vp-c-text-1);
14-
border-color: var(--vp-c-border);
18+
background: var(--twoslash-popup-bg);
19+
color: var(--twoslash-popup-color);
20+
border-color: var(--twoslash-border-color);
1521
}
1622

1723
.v-popper--theme-twoslash .v-popper__arrow-outer {
18-
border-color: var(--vp-c-border);
24+
border-color: var(--twoslash-border-color);
1925
}
2026

2127
.v-popper--theme-twoslash .v-popper__arrow-inner {
22-
border-color: var(--vp-c-bg, inherit);
28+
border-color: var(--twoslash-popup-bg);
2329
}
2430

2531
.twoslash-popup-container {
@@ -52,10 +58,10 @@
5258
}
5359

5460
.floating-vue-twoslash .twoslash-popup-docs {
55-
border-top: 1px solid var(--vp-c-border);
56-
color: var(--vp-c-text-1);
61+
border-top: 1px solid var(--twoslash-border-color);
62+
color: var(--twoslash-docs-color);
5763
padding: 0px 12px 0px 12px !important;
58-
font-family: var(--vp-font-family-base);
64+
font-family: var(--twoslash-docs-font);
5965
font-size: 0.9em;
6066
max-height: 500px;
6167
max-width: 700px;
@@ -85,7 +91,7 @@
8591
}
8692

8793
.floating-vue-twoslash .twoslash-popup-docs-tags .twoslash-popup-docs-tag-name {
88-
font-family: var(--vp-font-family-mono);
94+
font-family: var(--twoslash-code-font);
8995
color: var(--vp-c-text-2);
9096
margin-right: 0.5em;
9197
}
@@ -94,15 +100,11 @@
94100
height: 1.2em;
95101
width: 2px;
96102
margin-bottom: -0.2em;
97-
background: var(--vp-c-brand);
103+
background: var(--twoslash-cursor-color);
98104
display: inline-block;
99105
user-select: none;
100106
}
101107

102-
.floating-vue-twoslash-compeltion {
103-
--twoslash-matched-color: var(--vp-c-brand);
104-
}
105-
106108
.floating-vue-twoslash-compeltion .v-popper__arrow-container {
107109
display: none;
108110
}

0 commit comments

Comments
 (0)