Skip to content

Commit c2de4ca

Browse files
kiakingbrc-dd
andauthored
fix(theme): "copy code" button not readable on hover state (#819) (#1892) (#1998)
fix #819 fix #1892 Co-authored-by: Divyansh Singh <40380293+brc-dd@users.noreply.github.com>
1 parent d9a2e6e commit c2de4ca

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

src/client/theme-default/styles/components/vp-doc.css

+14-8
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@
310310
position: relative;
311311
z-index: 1;
312312
margin: 0;
313-
padding: 16px 0;
313+
padding: 20px 0;
314314
background: transparent;
315315
overflow-x: auto;
316316
}
@@ -419,32 +419,35 @@
419419
/*rtl:ignore*/
420420
direction: ltr;
421421
position: absolute;
422-
top: 8px;
422+
top: 12px;
423423
/*rtl:ignore*/
424-
right: 8px;
424+
right: 12px;
425425
z-index: 3;
426426
display: block;
427427
justify-content: center;
428428
align-items: center;
429+
border: 1px solid var(--vp-code-copy-code-border-color);
429430
border-radius: 4px;
430431
width: 40px;
431432
height: 40px;
432-
background-color: var(--vp-code-block-bg);
433+
background-color: var(--vp-code-copy-code-bg);
433434
opacity: 0;
434435
cursor: pointer;
435436
background-image: var(--vp-icon-copy);
436437
background-position: 50%;
437438
background-size: 20px;
438439
background-repeat: no-repeat;
439-
transition: opacity 0.4s;
440+
transition: border-color 0.25s, background-color 0.25s, opacity 0.25s;
440441
}
441442

442443
.vp-doc [class*='language-']:hover > button.copy,
443444
.vp-doc [class*='language-'] > button.copy:focus {
444445
opacity: 1;
445446
}
446447

447-
.vp-doc [class*='language-'] > button.copy:hover {
448+
.vp-doc [class*='language-'] > button.copy:hover,
449+
.vp-doc [class*='language-'] > button.copy.copied {
450+
border-color: var(--vp-code-copy-code-hover-border-color);
448451
background-color: var(--vp-code-copy-code-hover-bg);
449452
}
450453

@@ -459,12 +462,15 @@
459462
.vp-doc [class*='language-'] > button.copy.copied::before,
460463
.vp-doc [class*='language-'] > button.copy:hover.copied::before {
461464
position: relative;
465+
top: -1px;
462466
/*rtl:ignore*/
463467
left: -65px;
464468
display: flex;
465469
justify-content: center;
466470
align-items: center;
471+
border: 1px solid var(--vp-code-copy-code-hover-border-color);
467472
/*rtl:ignore*/
473+
border-right: 0;
468474
border-radius: 4px 0 0 4px;
469475
width: 64px;
470476
height: 40px;
@@ -479,9 +485,9 @@
479485

480486
.vp-doc [class*='language-'] > span.lang {
481487
position: absolute;
482-
top: 6px;
488+
top: 2px;
483489
/*rtl:ignore*/
484-
right: 12px;
490+
right: 8px;
485491
z-index: 2;
486492
font-size: 12px;
487493
font-weight: 500;

src/client/theme-default/styles/vars.css

+5-1
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@
203203

204204
--vp-code-block-color: var(--vp-c-text-dark-1);
205205
--vp-code-block-bg: #292b30;
206+
--vp-code-block-bg-light: #1e1e20;
206207
--vp-code-block-divider-color: #000000;
207208

208209
--vp-code-line-highlight-color: rgba(0, 0, 0, 0.5);
@@ -217,7 +218,10 @@
217218
--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);
218219
--vp-code-line-error-color: var(--vp-c-red-dimm-2);
219220

220-
--vp-code-copy-code-hover-bg: rgba(255, 255, 255, 0.05);
221+
--vp-code-copy-code-border-color: transparent;
222+
--vp-code-copy-code-bg: var(--vp-code-block-bg-light);
223+
--vp-code-copy-code-hover-border-color: var(--vp-c-divider);
224+
--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);
221225
--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);
222226

223227
--vp-code-tab-divider: var(--vp-code-block-divider-color);

0 commit comments

Comments
 (0)