-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathlinear.progress.common.scss
More file actions
69 lines (58 loc) · 1.61 KB
/
linear.progress.common.scss
File metadata and controls
69 lines (58 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
@use 'styles/utilities' as *;
@use '../light/themes' as *;
@use '../../vars' as *;
@use '../../animations' as *;
$theme: $material;
:host {
--track-size: #{var-get($theme, 'track-height')};
}
:host([striped]) {
--stripe-size: #{var-get($theme, 'strip-size')};
}
[part~='track'] {
height: var(--track-size);
border-radius: var-get($theme, 'track-border-radius');
background: var-get($theme, 'track-color');
}
[part~='value'] {
color: var-get($theme, 'text-color');
}
@mixin part-styles($part, $color-key) {
:host([variant='#{$part}']) {
--fill-bg: #{var-get($theme, $color-key)};
}
:host([striped][variant='#{$part}']) {
--striped-bg: #{var-get($theme, $color-key) repeating-linear-gradient(
var(--linear-strips-orientation),
var-get($theme, $color-key),
var-get($theme, $color-key) var(--stripe-size),
var-get($theme, 'stripes-color') var(--stripe-size),
var-get($theme, 'stripes-color') calc(var(--stripe-size) * 2)
)};
}
}
// Generate styles for each variant
@each $part, $color-key in (
'primary': 'fill-color-default',
'danger': 'fill-color-danger',
'warning': 'fill-color-warning',
'info': 'fill-color-info',
'success': 'fill-color-success'
) {
@include part-styles($part, $color-key);
}
:host(:not([indeterminate])) {
[part~='fill'] {
background-color: var(--fill-bg);
}
}
[part~='fill'] {
&::after {
background-color: var(--fill-bg);
}
}
:host([striped]:not([indeterminate])) {
[part~='fill'] {
background: var(--striped-bg);
}
}