|
2 | 2 | --slider-track-background: var(--salt-track-borderColor);
|
3 | 3 | --slider-track-fill: var(--salt-accent-borderColor);
|
4 | 4 | --slider-progressPercentage: 0%;
|
| 5 | + --slider-tick-height: calc((var(--salt-size-selectable) - var(--salt-size-bar)) / 2); |
5 | 6 | /* For range */
|
6 | 7 | --slider-progressPercentageStart: 0%;
|
7 | 8 | --slider-progressPercentageEnd: 0%;
|
8 | 9 |
|
9 |
| - --slider-mark-percentage: 0%; |
10 |
| - |
11 | 10 | display: flex;
|
12 | 11 | width: 100%;
|
13 | 12 | }
|
14 | 13 |
|
| 14 | +.saltSliderTrack.saltSliderTrack-withMarks { |
| 15 | + /* To wrap the marks within the boundary box */ |
| 16 | + margin-bottom: calc(var(--salt-size-base) / 2); |
| 17 | +} |
| 18 | + |
15 | 19 | .saltSliderTrack-disabled {
|
16 | 20 | cursor: var(--salt-selectable-cursor-disabled);
|
17 | 21 | }
|
|
20 | 24 | align-items: center;
|
21 | 25 | display: flex;
|
22 | 26 | flex-direction: row;
|
23 |
| - gap: var(--salt-spacing-50); |
| 27 | + gap: var(--salt-spacing-100); |
24 | 28 | width: 100%;
|
25 | 29 | }
|
26 | 30 |
|
27 | 31 | .saltSliderTrack-wrapper {
|
28 | 32 | align-items: center;
|
| 33 | + cursor: var(--salt-selectable-cursor-hover); |
29 | 34 | display: flex;
|
30 | 35 | flex: 1;
|
31 |
| - height: var(--salt-size-base); |
| 36 | + height: var(--salt-size-selectable); |
32 | 37 | position: relative;
|
33 | 38 | width: 100%;
|
34 | 39 | }
|
35 | 40 |
|
| 41 | +.saltSliderTrack-disabled, |
| 42 | +.saltSliderTrack-disabled .saltSliderTrack-wrapper { |
| 43 | + cursor: var(--salt-selectable-cursor-disabled); |
| 44 | +} |
| 45 | + |
| 46 | +.saltSliderTrack-disabled .saltSliderTrack-wrapper { |
| 47 | + pointer-events: none; |
| 48 | +} |
| 49 | + |
36 | 50 | .saltSliderTrack-rail {
|
37 |
| - cursor: var(--salt-selectable-cursor-hover); |
38 | 51 | display: flex;
|
39 | 52 | flex: 100%;
|
40 | 53 | height: var(--salt-size-bar);
|
|
53 | 66 | background: var(--slider-track-fill);
|
54 | 67 | border-top-left-radius: var(--salt-palette-corner-weaker);
|
55 | 68 | border-bottom-left-radius: var(--salt-palette-corner-weaker);
|
56 |
| - width: calc(var(--slider-progressPercentage) - (var(--salt-size-border-strong) / 2)); |
| 69 | + width: calc(var(--slider-progressPercentage) - 1.5 * var(--salt-size-border-strong)); |
57 | 70 | }
|
58 | 71 |
|
59 | 72 | .saltSliderTrack-hasMinTick.saltSliderTrack-rail::before {
|
|
64 | 77 | background: var(--slider-track-background);
|
65 | 78 | border-top-right-radius: var(--salt-palette-corner-weaker);
|
66 | 79 | border-bottom-right-radius: var(--salt-palette-corner-weaker);
|
67 |
| - width: calc(100% - var(--slider-progressPercentage) - (var(--salt-size-border-strong) * 2)); |
| 80 | + width: calc(100% - var(--slider-progressPercentage) - 1.5 * var(--salt-size-border-strong)); |
68 | 81 | }
|
69 | 82 |
|
70 | 83 | .saltSliderTrack-hasMaxTick.saltSliderTrack-rail::after {
|
|
73 | 86 |
|
74 | 87 | .saltSliderTrack-range .saltSliderTrack-rail::before {
|
75 | 88 | background: var(--slider-track-background);
|
76 |
| - width: calc(var(--slider-progressPercentageStart) - (var(--salt-size-border-strong) * 2)); |
| 89 | + width: calc(var(--slider-progressPercentageStart) - (var(--salt-size-border-strong) * 1.5)); |
77 | 90 | }
|
78 | 91 |
|
79 | 92 | .saltSliderTrack-range .saltSliderTrack-rail::after {
|
80 | 93 | background: var(--slider-track-background);
|
81 |
| - width: calc(100% - var(--slider-progressPercentageEnd) - (var(--salt-size-border-strong) * 2)); |
| 94 | + width: calc(100% - var(--slider-progressPercentageEnd) - (var(--salt-size-border-strong) * 1.5)); |
82 | 95 | }
|
83 | 96 |
|
84 | 97 | .saltSliderTrack-range .saltSliderTrack-rail .saltSliderTrack-fill {
|
85 | 98 | background: var(--slider-track-fill);
|
86 | 99 | height: 100%;
|
87 |
| - left: calc(var(--slider-progressPercentageStart) + (var(--salt-size-border-strong) / 2)); |
| 100 | + left: calc(var(--slider-progressPercentageStart) + 1.5 * var(--salt-size-border-strong)); |
88 | 101 | position: absolute;
|
89 |
| - width: calc(var(--slider-progressPercentageEnd) - var(--slider-progressPercentageStart) - var(--salt-size-border-strong)); |
| 102 | + width: calc(var(--slider-progressPercentageEnd) - var(--slider-progressPercentageStart) - var(--salt-size-border-strong) * 3); |
90 | 103 | }
|
91 | 104 |
|
92 | 105 | .saltSliderTrack-minLabel,
|
|
95 | 108 | }
|
96 | 109 |
|
97 | 110 | .saltSliderTrack-dragging,
|
98 |
| -.saltSliderTrack-dragging .saltSliderTrack-rail { |
| 111 | +.saltSliderTrack-dragging .saltSliderTrack-wrapper { |
99 | 112 | cursor: var(--salt-draggable-grab-cursor-active);
|
100 | 113 | }
|
101 | 114 |
|
|
104 | 117 | --slider-track-background: var(--salt-track-borderColor-disabled);
|
105 | 118 | }
|
106 | 119 |
|
107 |
| -.saltSliderTrack-disabled .saltSliderTrack-rail { |
108 |
| - pointer-events: none; |
109 |
| -} |
110 |
| - |
111 |
| -.saltSliderTrack-marks { |
| 120 | +.saltSliderTrack-ticks { |
| 121 | + top: calc(var(--salt-size-bar) + var(--slider-tick-height)); |
112 | 122 | position: absolute;
|
113 |
| - user-select: none; |
114 | 123 | width: 100%;
|
115 |
| - top: calc((var(--salt-size-base) / 2) + (var(--salt-size-bar) / 2)); |
116 | 124 | }
|
117 | 125 |
|
118 |
| -.saltSliderTrack-mark { |
119 |
| - align-items: center; |
120 |
| - display: flex; |
121 |
| - flex-direction: column; |
| 126 | +.saltSliderTrack-tick { |
| 127 | + background: var(--slider-track-background); |
| 128 | + height: var(--slider-tick-height); |
122 | 129 | position: absolute;
|
123 |
| - justify-content: center; |
124 |
| - left: var(--slider-mark-percentage); |
125 |
| - transform: translateX(-50%); |
126 |
| - gap: 4px; |
| 130 | + transform: translate(-50%); |
| 131 | + width: var(--salt-size-border-strong); |
127 | 132 | }
|
128 | 133 |
|
129 |
| -.saltSliderTrack-markLabel { |
130 |
| - white-space: nowrap; |
131 |
| - overflow: hidden; |
132 |
| - text-overflow: ellipsis; |
| 134 | +.saltSliderTrack-withTicks .saltSliderTrack-tickHidden { |
| 135 | + visibility: hidden; |
133 | 136 | }
|
134 | 137 |
|
135 |
| -.saltSliderTrack-markTick { |
136 |
| - height: 5px; |
137 |
| - width: var(--salt-size-border-strong); |
138 |
| - background: var(--slider-track-background); |
139 |
| - visibility: hidden; |
| 138 | +.saltSliderTrack-tickSelected { |
| 139 | + background: var(--slider-track-fill); |
140 | 140 | }
|
141 | 141 |
|
142 |
| -.saltSliderTrack-withMarkTicks .saltSliderTrack-markTick { |
143 |
| - visibility: visible; |
| 142 | +.saltSliderTrack-tick:first-of-type { |
| 143 | + transform: unset; |
144 | 144 | }
|
145 | 145 |
|
146 |
| -.saltSliderTrack-withMarkTicks .saltSliderTrack-markTickHidden { |
147 |
| - visibility: hidden; |
| 146 | +.saltSliderTrack-tick:last-of-type { |
| 147 | + transform: translateX(-100%); |
| 148 | +} |
| 149 | + |
| 150 | +.saltSliderTrack-marks { |
| 151 | + position: absolute; |
| 152 | + user-select: none; |
| 153 | + width: 100%; |
148 | 154 | }
|
149 | 155 |
|
150 |
| -.saltSliderTrack-mark:last-of-type .saltSliderTrack-markTick { |
| 156 | +.saltSliderTrack-markLabel { |
| 157 | + color: var(--salt-content-secondary-foreground); |
| 158 | + font-family: var(--salt-text-label-fontFamily); |
| 159 | + font-weight: var(--salt-text-label-fontWeight); |
| 160 | + font-size: var(--salt-text-label-fontSize); |
| 161 | + line-height: var(--salt-text-label-lineHeight); |
| 162 | + overflow: hidden; |
| 163 | + position: absolute; |
| 164 | + text-overflow: ellipsis; |
151 | 165 | transform: translateX(-50%);
|
| 166 | + top: calc(var(--slider-tick-height) + var(--salt-spacing-50)); |
| 167 | + white-space: nowrap; |
152 | 168 | }
|
153 | 169 |
|
154 |
| -.saltSliderTrack-mark:first-of-type .saltSliderTrack-markTick { |
155 |
| - transform: translateX(50%); |
| 170 | +.saltSliderTrack-constrainLabelPosition .saltSliderTrack-markLabel:first-of-type { |
| 171 | + transform: translateX(0%); |
156 | 172 | }
|
157 | 173 |
|
158 |
| -.saltSliderTrack-markSelected { |
159 |
| - background: var(--slider-track-fill); |
| 174 | +.saltSliderTrack-constrainLabelPosition .saltSliderTrack-markLabel:last-of-type { |
| 175 | + transform: translateX(-100%); |
160 | 176 | }
|
161 | 177 |
|
162 |
| -.saltSliderTrack-constrainLabelPosition .saltSliderTrack-mark:first-of-type .saltSliderTrack-markLabel { |
163 |
| - transform: translateX(50%); |
| 178 | +/* Styles applied when slider and range slider are inside a form field */ |
| 179 | + |
| 180 | +.saltFormField .saltSliderTrack.saltSliderTrack-withMark { |
| 181 | + margin-bottom: 0; |
164 | 182 | }
|
165 | 183 |
|
166 |
| -.saltSliderTrack-constrainLabelPosition .saltSliderTrack-mark:last-of-type .saltSliderTrack-markLabel { |
167 |
| - transform: translateX(-50%); |
| 184 | +.saltFormField .saltSliderTrack-container { |
| 185 | + --saltFormField-label-width: 10%; |
| 186 | + |
| 187 | + height: var(--salt-size-base); |
| 188 | +} |
| 189 | + |
| 190 | +.saltFormField .saltSliderTrack-markLabel { |
| 191 | + top: calc((var(--salt-size-base) - var(--salt-size-bar)) / 2); |
168 | 192 | }
|
0 commit comments