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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
@mixin icon-styles($primary-color, $svg-color) {
svg,
.gl-icon {
fill: $primary-color;
}
// For the pipeline mini graph, we pass a custom 'gl-border' so that we can enforce
// a border of 1px instead of the thicker svg borders to adhere to design standards.
// If we implement the component with 'isBorderless' and also pass that border,
// this css is to dynamically apply the correct border color for those specific icons.
&.borderless {
border-color: $primary-color;
}
&.interactive {
&:hover {
background: $svg-color;
}
&:hover,
&.active {
box-shadow: 0 0 0 1px $primary-color;
}
}
}
.ci-status-icon-success,
.ci-status-icon-passed {
@include icon-styles($green-500, $green-100);
}
.ci-status-icon-error,
.ci-status-icon-failed {
@include icon-styles($red-500, $red-100);
}
.ci-status-icon-pending,
.ci-status-icon-waiting-for-resource,
.ci-status-icon-failed-with-warnings,
.ci-status-icon-success-with-warnings {
@include icon-styles($orange-500, $orange-100);
}
.ci-status-icon-running {
@include icon-styles($blue-500, $blue-100);
}
.ci-status-icon-canceled,
.ci-status-icon-disabled,
.ci-status-icon-scheduled,
.ci-status-icon-manual {
@include icon-styles($gray-900, $gray-100);
}
.ci-status-icon-notification,
.ci-status-icon-preparing,
.ci-status-icon-created,
.ci-status-icon-skipped,
.ci-status-icon-notfound {
@include icon-styles($gray-500, $gray-100);
}
.password-status-icon-success {
svg {
vertical-align: middle;
fill: $green-500;
}
}
.icon-link {
&:hover {
text-decoration: none;
}
}
.user-avatar-link {
display: inline-block;
text-decoration: none;
}
.circle-icon-container {
$border-size: 1px;
display: flex;
align-items: center;
justify-content: center;
color: $gray-500;
}
|