main
css 60 lines 1.17 KB
Raw
1 .SuspenseScrubber {
2 position: relative;
3 width: 100%;
4 height: 1.5rem;
5 border-radius: 0.75rem;
6 padding: 0.25rem;
7 box-sizing: border-box;
8 display: flex;
9 align-items: center;
10 }
11
12 .SuspenseScrubber:has(.SuspenseScrubberInput:focus-visible) {
13 outline: 2px solid var(--color-button-background-focus);
14 }
15
16 .SuspenseScrubberInput {
17 position: absolute;
18 width: 100%;
19 opacity: 0;
20 height: 0px;
21 overflow: hidden;
22 }
23
24 .SuspenseScrubberInput:focus {
25 outline: none;
26 }
27
28 .SuspenseScrubberStep {
29 cursor: pointer;
30 flex: 1;
31 height: 100%;
32 padding-right: 1px; /* we use this instead of flex gap to make every pixel clickable */
33 display: flex;
34 align-items: center;
35 }
36 .SuspenseScrubberStep:last-child {
37 padding-right: 0;
38 }
39
40 .SuspenseScrubberBead {
41 flex: 1;
42 height: 0.5rem;
43 border-radius: 0.5rem;
44 background: color-mix(in srgb, var(--color-suspense) 10%, transparent);
45 transition: all 0.3s ease-in;
46 }
47
48 .SuspenseScrubberBeadSelected {
49 height: 1rem;
50 background: var(--color-suspense);
51 }
52
53 .SuspenseScrubberBeadTransition {
54 background: var(--color-transition);
55 }
56
57 .SuspenseScrubberStepHighlight > .SuspenseScrubberBead {
58 height: 0.75rem;
59 transition: all 0.3s ease-out;
60 }