|
75 | 75 | $slider-track-height: 2px; |
76 | 76 |
|
77 | 77 | // Slider Thumb |
78 | | - $slider-thumb-width: 14px; |
| 78 | + $slider-thumb-width: 40px; |
79 | 79 | $slider-thumb-height: $slider-thumb-width; |
80 | 80 | $slider-thumb-radius: $slider-thumb-width / 2; |
81 | 81 |
|
82 | 82 | // Slider Label |
83 | | - $slider-label-width: 28px; |
| 83 | + $slider-label-width: 36px; |
84 | 84 | $slider-label-height: $slider-label-width; |
85 | 85 | $slider-label-radius: $slider-label-width / 2; |
86 | | - $slider-label-font-size: rem(11px); |
| 86 | + $slider-label-font-size: rem(12px); |
87 | 87 | $slider-label-font-weight: 600; |
88 | | - $slider-label-padding: 0 2px; |
89 | | - $slider-background--start: #fff; |
| 88 | + $slider-label-padding: 0 rem(2px); |
90 | 89 |
|
91 | 90 | %igx-slider-display { |
92 | 91 | display: flex; |
93 | 92 | position: relative; |
94 | | - height: $slider-height; |
| 93 | + height: rem($slider-height); |
95 | 94 | align-items: center; |
96 | 95 | } |
97 | 96 |
|
|
106 | 105 | %igx-slider-track { |
107 | 106 | position: absolute; |
108 | 107 | width: 100%; |
109 | | - height: $slider-track-height; |
| 108 | + height: rem($slider-track-height); |
110 | 109 | background: --var($theme, 'base-track-color'); |
111 | | - transition: background .2s ease; |
| 110 | + transition: background .2s $ease-out-quad; |
112 | 111 | } |
113 | 112 |
|
114 | 113 | %igx-slider-track--disabled { |
|
118 | 117 | %igx-slider-track-ticks { |
119 | 118 | position: absolute; |
120 | 119 | width: 100%; |
121 | | - height: $slider-track-height; |
122 | | - background-size: 100% $slider-track-height; |
| 120 | + height: rem($slider-track-height); |
| 121 | + background-size: 100% em($slider-track-height); |
123 | 122 | opacity: .85; |
124 | | - transition: opacity .2s ease; |
| 123 | + transition: opacity .2s $ease-out-quad; |
125 | 124 | z-index: 1; |
126 | 125 | } |
127 | 126 |
|
|
143 | 142 | } |
144 | 143 |
|
145 | 144 | %igx-thumb-display { |
146 | | - display: flex; |
147 | 145 | position: absolute; |
| 146 | + display: flex; |
148 | 147 | justify-content: center; |
149 | | - flex-flow: row nowrap; |
150 | | - width: $slider-thumb-width; |
151 | | - height: $slider-thumb-height; |
152 | | - margin-left: -$slider-thumb-width / 2; |
153 | | - top: -$slider-thumb-height / 2; |
| 148 | + align-items: center; |
| 149 | + flex-direction: column; |
154 | 150 | outline: none; |
| 151 | + top: -#{rem($slider-thumb-radius)}; |
| 152 | + margin-left: -#{rem($slider-thumb-radius)}; |
| 153 | + |
| 154 | + &:focus %igx-thumb-dot::after { |
| 155 | + opacity: .18; |
| 156 | + /* 32 / 40 */ |
| 157 | + transform: scale(.8); |
| 158 | + } |
| 159 | + } |
| 160 | + |
| 161 | + %igx-thumb--disabled { |
| 162 | + &:hover %igx-thumb-label { |
| 163 | + opacity: 0; |
| 164 | + } |
155 | 165 | } |
156 | 166 |
|
157 | 167 | %igx-thumb-label { |
| 168 | + position: absolute; |
158 | 169 | display: flex; |
159 | | - position: relative; |
160 | 170 | align-items: center; |
161 | 171 | justify-content: center; |
162 | 172 | flex: 0 0 auto; |
163 | | - min-width: $slider-label-width; |
164 | | - height: $slider-label-height; |
| 173 | + top: -#{rem($slider-thumb-height - 6px)}; |
| 174 | + pointer-events: none; |
| 175 | + min-width: rem($slider-label-width); |
| 176 | + height: rem($slider-label-height); |
165 | 177 | padding: $slider-label-padding; |
166 | | - border-radius: $slider-label-radius; |
167 | | - top: -36px; |
| 178 | + border-radius: rem($slider-label-radius); |
| 179 | + margin: 0 auto; |
168 | 180 | font-size: $slider-label-font-size; |
169 | 181 | font-weight: $slider-label-font-weight; |
170 | | - line-height: $slider-label-font-size; |
| 182 | + line-height: 1; |
171 | 183 | color: --var($theme, 'label-text-color'); |
172 | 184 | background: --var($theme, 'label-background-color'); |
173 | | - opacity: .5; |
174 | | - transform: scale(0); |
| 185 | + opacity: 0; |
175 | 186 | border-color: --var($theme, 'label-background-color') transparent transparent; |
176 | | - transform-origin: 50% 150% 0; |
177 | | - transition: transform .2s ease-out; |
| 187 | + transition: opacity .1s $ease-out-quad; |
178 | 188 | z-index: -1; |
179 | 189 |
|
180 | 190 | &::after { |
181 | 191 | content: ''; |
182 | 192 | position: absolute; |
| 193 | + top: 0; |
183 | 194 | left: 50%; |
184 | | - width: 0; |
185 | | - height: 0; |
186 | | - transform: translateX(-50%); |
187 | | - border-left: 10px solid; |
188 | | - border-right: 10px solid; |
189 | | - border-top: 12px solid; |
190 | | - border-color: inherit; |
191 | | - top: 24px; |
| 195 | + margin-left: -#{$slider-label-radius}; |
| 196 | + width: rem($slider-label-width); |
| 197 | + height: $slider-label-height; |
| 198 | + border-radius: 0 $slider-label-radius $slider-label-radius; |
| 199 | + background: inherit; |
| 200 | + transform: rotate(-135deg); |
192 | 201 | z-index: -1; |
193 | 202 | } |
| 203 | + |
| 204 | + &::before { |
| 205 | + content: ''; |
| 206 | + position: absolute; |
| 207 | + top: rem(40px); |
| 208 | + left: calc(50% - 1px); |
| 209 | + border-left: 1px solid; |
| 210 | + border-right: 1px solid; |
| 211 | + border-top: rem(14px) solid; |
| 212 | + border-color: inherit; |
| 213 | + } |
194 | 214 | } |
195 | 215 |
|
196 | 216 | %igx-thumb-dot { |
197 | | - position: absolute; |
| 217 | + position: relative; |
198 | 218 | left: 0; |
199 | | - width: inherit; |
200 | | - height: inherit; |
201 | | - border-radius: $slider-thumb-radius; |
202 | | - background: --var($theme, 'thumb-color'); |
203 | | - transform: scale(1); |
204 | | - transform-origin: 50% 50% 0; |
205 | | - opacity: 1; |
206 | | - transition: transform .2s ease-out; |
| 219 | + padding: rem(20px); |
| 220 | + |
| 221 | + &:hover::after { |
| 222 | + opacity: .12; |
| 223 | + /* 32 / 40 */ |
| 224 | + transform: scale(.8); |
| 225 | + } |
| 226 | + |
| 227 | + &::before { |
| 228 | + position: absolute; |
| 229 | + content: ''; |
| 230 | + width: rem(12px); |
| 231 | + height: rem(12px); |
| 232 | + left: #{rem($slider-thumb-radius) - rem(6px)}; |
| 233 | + top: #{rem($slider-thumb-radius) - rem(6px)}; |
| 234 | + background: --var($theme, 'thumb-color'); |
| 235 | + transform: rotate(45deg); |
| 236 | + transition: transform .1s $ease-out-quad, border-radius .1s $ease-out-quad; |
| 237 | + border-radius: rem($slider-thumb-radius); |
| 238 | + } |
| 239 | + |
| 240 | + &::after { |
| 241 | + position: absolute; |
| 242 | + content: ''; |
| 243 | + width: rem($slider-thumb-width); |
| 244 | + height: rem($slider-thumb-height); |
| 245 | + background: --var($theme, 'thumb-color'); |
| 246 | + top: 0; |
| 247 | + left: 0; |
| 248 | + opacity: 0; |
| 249 | + transform: scale(0); |
| 250 | + transform-origin: center center; |
| 251 | + transition: transform .1s $ease-out-quad, opacity .1s $ease-out-quad; |
| 252 | + border-radius: 50%; |
| 253 | + } |
207 | 254 | } |
208 | 255 |
|
209 | 256 | %igx-thumb-dot--disabled { |
210 | | - background: --var($theme, 'disabled-thumb-color'); |
211 | | - transform: scale(.9); |
212 | | - border: 2px solid transparent; |
| 257 | + pointer-events: none; |
| 258 | + |
| 259 | + &::before { |
| 260 | + background: --var($theme, 'disabled-thumb-color'); |
| 261 | + border-radius: rem($slider-thumb-radius); |
| 262 | + } |
| 263 | + |
| 264 | + &::after { |
| 265 | + transform: scale(0); |
| 266 | + } |
213 | 267 | } |
214 | 268 |
|
215 | 269 | %igx-thumb-dot--active { |
216 | | - opacity: 0; |
217 | | - transform: scale(0); |
| 270 | + &::before { |
| 271 | + border-radius: 0 $slider-thumb-radius $slider-thumb-radius; |
| 272 | + } |
218 | 273 | } |
219 | 274 |
|
220 | | - %igx-thumb-label--active { |
221 | | - opacity: .85; |
222 | | - transform: scale(1.2); |
| 275 | + %igx-thumb-dot--pressed { |
| 276 | + &::after { |
| 277 | + opacity: .24 !important; |
| 278 | + /* 48 / 40 */ |
| 279 | + transform: scale(1.2) !important; |
| 280 | + } |
223 | 281 | } |
224 | 282 |
|
225 | | - %igx-thumb-dot--start, |
226 | | - %igx-thumb-label--start { |
227 | | - background: $slider-background--start; |
228 | | - border-color: $slider-background--start transparent transparent; |
| 283 | + %igx-thumb-label--active { |
| 284 | + opacity: 1; |
229 | 285 | } |
230 | 286 |
|
231 | 287 | %igx-thumb--active { |
|
0 commit comments