Skip to content

Commit 49fce66

Browse files
authored
Merge pull request #2209 from cyevgeniy/feat/sidebar-resize-indicator
Add resize indicator to the sidebar
2 parents a016ac0 + 80d3a86 commit 49fce66

File tree

3 files changed

+31
-9
lines changed

3 files changed

+31
-9
lines changed

src/theme/css/chrome.css

+26-8
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,11 @@ pre > .buttons button {
269269
/* On mobile, make it easier to tap buttons. */
270270
padding: 0.3rem 1rem;
271271
}
272+
273+
.sidebar-resize-indicator {
274+
/* Hide resize indicator on devices with limited accuracy */
275+
display: none;
276+
}
272277
}
273278
pre > code {
274279
display: block;
@@ -423,22 +428,35 @@ ul#searchresults span.teaser em {
423428
position: absolute;
424429
cursor: col-resize;
425430
width: 0;
426-
right: 0;
431+
right: calc(var(--sidebar-resize-indicator-width) * -1);
427432
top: 0;
428433
bottom: 0;
434+
display: flex;
435+
align-items: center;
436+
}
437+
438+
.sidebar-resize-handle .sidebar-resize-indicator {
439+
width: 100%;
440+
height: 12px;
441+
background-color: var(--icons);
442+
margin-inline-start: var(--sidebar-resize-indicator-space);
443+
}
444+
445+
[dir=rtl] .sidebar .sidebar-resize-handle {
446+
left: calc(var(--sidebar-resize-indicator-width) * -1);
447+
right: unset;
429448
}
430-
[dir=rtl] .sidebar .sidebar-resize-handle { right: unset; left: 0; }
431449
.js .sidebar .sidebar-resize-handle {
432450
cursor: col-resize;
433-
width: 5px;
451+
width: calc(var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space));
434452
}
435453
/* sidebar-hidden */
436454
#sidebar-toggle-anchor:not(:checked) ~ .sidebar {
437-
transform: translateX(calc(0px - var(--sidebar-width)));
455+
transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width)));
438456
z-index: -1;
439457
}
440458
[dir=rtl] #sidebar-toggle-anchor:not(:checked) ~ .sidebar {
441-
transform: translateX(var(--sidebar-width));
459+
transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)));
442460
}
443461
.sidebar::-webkit-scrollbar {
444462
background: var(--sidebar-bg);
@@ -449,15 +467,15 @@ ul#searchresults span.teaser em {
449467

450468
/* sidebar-visible */
451469
#sidebar-toggle-anchor:checked ~ .page-wrapper {
452-
transform: translateX(var(--sidebar-width));
470+
transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)));
453471
}
454472
[dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper {
455-
transform: translateX(calc(0px - var(--sidebar-width)));
473+
transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width)));
456474
}
457475
@media only screen and (min-width: 620px) {
458476
#sidebar-toggle-anchor:checked ~ .page-wrapper {
459477
transform: none;
460-
margin-inline-start: var(--sidebar-width);
478+
margin-inline-start: calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width));
461479
}
462480
[dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper {
463481
transform: none;

src/theme/css/variables.css

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
:root {
55
--sidebar-width: 300px;
6+
--sidebar-resize-indicator-width: 8px;
7+
--sidebar-resize-indicator-space: 2px;
68
--page-padding: 15px;
79
--content-max-width: 750px;
810
--menu-bar-height: 50px;

src/theme/index.hbs

+3-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@
112112
<div class="sidebar-scrollbox">
113113
{{#toc}}{{/toc}}
114114
</div>
115-
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
115+
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
116+
<div class="sidebar-resize-indicator"></div>
117+
</div>
116118
</nav>
117119

118120
<!-- Track and set sidebar scroll position -->

0 commit comments

Comments
 (0)