5
5
$fallbacks : m3-progress-spinner .get-tokens ();
6
6
7
7
.mat-mdc-progress-spinner {
8
+ --mat-progress-spinner-animation-multiplier : 1 ;
9
+
8
10
// Explicitly set to `block` since the browser defaults custom elements to `inline`.
9
11
display : block ;
10
12
@@ -54,6 +56,11 @@ $fallbacks: m3-progress-spinner.get-tokens();
54
56
}
55
57
}
56
58
59
+ // Slow down the animation by 25% when the user configured their OS to reduce motion.
60
+ .mat-progress-spinner-reduced-motion {
61
+ --mat-progress-spinner-animation-multiplier : 1.25 ;
62
+ }
63
+
57
64
.mdc-circular-progress__determinate-container ,
58
65
.mdc-circular-progress__indeterminate-circle-graphic ,
59
66
.mdc-circular-progress__indeterminate-container ,
@@ -79,7 +86,8 @@ $fallbacks: m3-progress-spinner.get-tokens();
79
86
80
87
.mdc-circular-progress--indeterminate & {
81
88
opacity : 1 ;
82
- animation : mdc- circular- progress- container- rotate 1568.2352941176ms linear infinite ;
89
+ animation : mdc- circular- progress- container- rotate
90
+ calc (1568.2352941176ms * var (--mat-progress-spinner-animation-multiplier )) linear infinite ;
83
91
}
84
92
}
85
93
@@ -127,11 +135,15 @@ $fallbacks: m3-progress-spinner.get-tokens();
127
135
}
128
136
129
137
.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left & {
130
- animation : mdc- circular- progress- left- spin 1333ms cubic-bezier (0.4 , 0 , 0.2 , 1 ) infinite both ;
138
+ animation : mdc- circular- progress- left- spin
139
+ calc (1333ms * var (--mat-progress-spinner-animation-multiplier ))
140
+ cubic-bezier (0.4 , 0 , 0.2 , 1 ) infinite both ;
131
141
}
132
142
133
143
.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right & {
134
- animation : mdc- circular- progress- right- spin 1333ms cubic-bezier (0.4 , 0 , 0.2 , 1 ) infinite both ;
144
+ animation : mdc- circular- progress- right- spin
145
+ calc (1333ms * var (--mat-progress-spinner-animation-multiplier ))
146
+ cubic-bezier (0.4 , 0 , 0.2 , 1 ) infinite both ;
135
147
}
136
148
}
137
149
@@ -145,7 +157,8 @@ $fallbacks: m3-progress-spinner.get-tokens();
145
157
146
158
.mdc-circular-progress__spinner-layer {
147
159
.mdc-circular-progress--indeterminate & {
148
- animation : mdc- circular- progress- spinner- layer- rotate 5332ms cubic-bezier (0.4 , 0 , 0.2 , 1 )
160
+ animation : mdc- circular- progress- spinner- layer- rotate
161
+ calc (5332ms * var (--mat-progress-spinner-animation-multiplier )) cubic-bezier (0.4 , 0 , 0.2 , 1 )
149
162
infinite both ;
150
163
}
151
164
}
0 commit comments