Add ::scroll-button on tracks container and fix various minor dialog styling issues

This commit is contained in:
Timothée Goguely 2025-09-18 16:31:08 +02:00
parent dbce0f0ce0
commit 0b3c362c5e

View file

@ -86,6 +86,9 @@
height: 100%;
overflow-y: auto;
}
#dynamic.dialog__inner {
overflow-y: hidden;
}
.with-comments .dialog__inner {
margin-right: var(--dialog-comments-w, 20rem);
}
@ -114,15 +117,72 @@
gap: var(--space-8);
width: 100%;
margin-left: calc(-1 * var(--space-16));
padding: var(--space-16);
padding: var(--space-12) var(--space-16);
overflow-x: scroll;
overflow-y: hidden;
position: relative;
}
@supports selector(::scroll-button(*)) {
.dialog__inner .tracks {
anchor-name: --tracks;
scroll-behavior: smooth;
&::scroll-button(*) {
--scroll-button-position: 8px;
position-anchor: --tracks;
position: fixed;
align-self: anchor-center;
z-index: 1;
width: 2.5rem;
height: 2.5rem;
border: 1px solid var(--color-grey-200);
border-radius: var(--rounded-lg);
color: transparent;
background-repeat: no-repeat;
background-position: center;
background-size: var(--icon-size, 1.25rem);
background-image: var(--icon, var(--icon-arrow-right));
background-color: var(--color-white);
user-select: none;
cursor: pointer;
opacity: 1;
transition: opacity 0.2s ease-out;
}
&::scroll-button(*):hover {
border-color: var(--color-grey-400);
}
&::scroll-button(*):disabled {
opacity: 0;
}
&::scroll-button(left) {
--icon: var(--icon-chevron-single-left);
content: "←" / "Scroller vers la gauche";
left: calc(anchor(left) + var(--scroll-button-position));
}
&::scroll-button(right) {
--icon: var(--icon-chevron-single-right);
content: "→" / "Scroller vers la droite";
right: calc(anchor(right) + var(--scroll-button-position));
}
}
[data-browser*='edge' i] .tracks::-webkit-scrollbar {
width: 0px;
height: 0px;
}
[data-browser*='edge' i] .tracks::-webkit-scrollbar-track {
background: transparent; /* Match background */
}
[data-browser*='edge' i] .tracks::-webkit-scrollbar-thumb {
background: hsla(180, 1%, 51%, .7); /* Customize scrollbar color */
border-radius: 5px;
}
[data-browser*='edge' i] .tracks {
scrollbar-color: auto;
}
}
/* Windows fix */
/*[data-browser*='Windows'] .dialog__inner .tracks {
[data-browser*='windows' i] .dialog__inner .tracks {
transform: translateY(0.46875rem);
}*/
}
.dialog__inner .tracks > *:last-child {
margin-right: var(--space-8);
}
@ -189,8 +249,10 @@
--dialog-inner-background: #f7f7f7;
}
.dialog#virtual-sample [data-pc-section='header'] h2 {
left: 22.5rem;
right: 22.5rem;
left: 1rem;
right: 1rem;
margin-inline: 16rem;
min-width: 14ch;
}
.dialog#virtual-sample #comments-container {
top: var(--dialog-header-h);