1
1
@import ' ../core/style/variables' ;
2
+ @import ' ../core/style/vendor-prefixes' ;
2
3
3
4
$mat-progress-bar-height : 5px !default ;
4
5
$mat-progress-bar-full-animation-duration : 2000ms !default ;
@@ -11,8 +12,6 @@ $mat-progress-bar-piece-animation-duration: 250ms !default;
11
12
height : $mat-progress-bar-height ;
12
13
overflow : hidden ;
13
14
position : relative ;
14
- // translateZ is added to force the mat-progress-bar into its own GPU layer.
15
- transform : translateZ (0 );
16
15
transition : opacity $mat-progress-bar-piece-animation-duration linear ;
17
16
width : 100% ;
18
17
@@ -80,28 +79,38 @@ $mat-progress-bar-piece-animation-duration: 250ms !default;
80
79
transition : none ;
81
80
}
82
81
.mat-progress-bar-primary {
82
+ // Avoids stacked animation tearing in Firefox >= 57.
83
+ @include backface-visibility (hidden );
83
84
animation : mat- progress- bar- primary- indeterminate- translate
84
85
$mat-progress-bar-full-animation-duration infinite linear ;
85
86
left : -145.166611% ;
86
87
}
87
88
.mat-progress-bar-primary.mat-progress-bar-fill ::after {
89
+ // Avoids stacked animation tearing in Firefox >= 57.
90
+ @include backface-visibility (hidden );
88
91
animation : mat- progress- bar- primary- indeterminate- scale
89
92
$mat-progress-bar-full-animation-duration infinite linear ;
90
93
}
91
94
.mat-progress-bar-secondary {
95
+ // Avoids stacked animation tearing in Firefox >= 57.
96
+ @include backface-visibility (hidden );
92
97
animation : mat- progress- bar- secondary- indeterminate- translate
93
98
$mat-progress-bar-full-animation-duration infinite linear ;
94
99
left : -54.888891% ;
95
100
display : block ;
96
101
}
97
102
.mat-progress-bar-secondary.mat-progress-bar-fill ::after {
103
+ // Avoids stacked animation tearing in Firefox >= 57.
104
+ @include backface-visibility (hidden );
98
105
animation : mat- progress- bar- secondary- indeterminate- scale
99
106
$mat-progress-bar-full-animation-duration infinite linear ;
100
107
}
101
108
}
102
109
103
110
& [mode = ' buffer' ] {
104
111
.mat-progress-bar-background {
112
+ // Avoids stacked animation tearing in Firefox >= 57.
113
+ @include backface-visibility (hidden );
105
114
animation : mat- progress- bar- background- scroll
106
115
$mat-progress-bar-piece-animation-duration infinite linear ;
107
116
display : block ;
0 commit comments