aboutsummaryrefslogtreecommitdiff
path: root/scss/_progress.scss
blob: 800138cdc2677f3952f7fde160807982574b2c34 (plain)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
//
// Progress animations
//

@keyframes progress-bar-stripes {
  from { background-position: $spacer-y 0; }
  to { background-position: 0 0; }
}


//
// Basic progress bar
//

.progress {
  display: block;
  width: 100%;
  height: $spacer-y; // todo: make a new var for this
  margin-bottom: $spacer-y;
  overflow: hidden; // force rounded corners by cropping it
}
.progress[value] {
  // Set overall background
  background-color: $progress-bg;
  // Remove Firefox and Opera border
  border: 0;
  // Reset the default appearance
  appearance: none;
  // Set overall border radius
  @include border-radius($progress-border-radius);
}

// Filled-in portion of the bar
.progress[value]::-ms-fill {
  background-color: $progress-bar-color;
  // Remove right-hand border of value bar from IE10+/Edge
  border: 0;
}
.progress[value]::-moz-progress-bar {
  background-color: $progress-bar-color;
}
.progress[value]::-webkit-progress-value {
  background-color: $progress-bar-color;
}

// Unfilled portion of the bar
.progress[value]::-webkit-progress-bar {
  background-color: $progress-bg;
  @include box-shadow($progress-box-shadow);
}
base::-moz-progress-bar, // Absurd-but-syntactically-valid selector to make these styles Firefox-only
.progress[value] {
  background-color: $progress-bg;
  @include box-shadow($progress-box-shadow);
}


//
// Striped
//

.progress-striped[value]::-webkit-progress-value {
  @include gradient-striped();
  background-size: $spacer-y $spacer-y;
}
.progress-striped[value]::-moz-progress-bar {
  @include gradient-striped();
  background-size: $spacer-y $spacer-y;
}
.progress-striped[value]::-ms-fill {
  @include gradient-striped();
  background-size: $spacer-y $spacer-y;
}


//
// Animated
//

.progress-animated[value]::-webkit-progress-value {
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-animated[value]::-moz-progress-bar {
  animation: progress-bar-stripes 2s linear infinite;
}


//
// Variations
//

.progress-success {
  @include progress-variant($progress-bar-success-bg);
}
.progress-info {
  @include progress-variant($progress-bar-info-bg);
}
.progress-warning {
  @include progress-variant($progress-bar-warning-bg);
}
.progress-danger {
  @include progress-variant($progress-bar-danger-bg);
}