@materializecss/materialize 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/Gruntfile.js +38 -24
  2. package/LICENSE +21 -21
  3. package/README.md +91 -97
  4. package/dist/css/materialize.css +8608 -8631
  5. package/dist/css/materialize.min.css +12 -12
  6. package/dist/js/materialize.js +12816 -12669
  7. package/dist/js/materialize.min.js +6 -6
  8. package/extras/noUiSlider/nouislider.css +404 -406
  9. package/extras/noUiSlider/nouislider.js +2147 -2147
  10. package/extras/noUiSlider/nouislider.min.js +0 -0
  11. package/js/anime.min.js +34 -34
  12. package/js/autocomplete.js +479 -479
  13. package/js/buttons.js +354 -354
  14. package/js/cards.js +40 -40
  15. package/js/carousel.js +732 -732
  16. package/js/cash.js +960 -960
  17. package/js/characterCounter.js +136 -136
  18. package/js/chips.js +486 -486
  19. package/js/collapsible.js +275 -275
  20. package/js/component.js +44 -44
  21. package/js/datepicker.js +983 -983
  22. package/js/dropdown.js +669 -669
  23. package/js/forms.js +285 -275
  24. package/js/global.js +428 -424
  25. package/js/materialbox.js +453 -453
  26. package/js/modal.js +382 -382
  27. package/js/parallax.js +138 -138
  28. package/js/pushpin.js +148 -148
  29. package/js/range.js +263 -263
  30. package/js/scrollspy.js +295 -295
  31. package/js/select.js +391 -310
  32. package/js/sidenav.js +583 -583
  33. package/js/slider.js +359 -359
  34. package/js/tabs.js +402 -402
  35. package/js/tapTarget.js +315 -315
  36. package/js/timepicker.js +712 -648
  37. package/js/toasts.js +325 -322
  38. package/js/tooltip.js +320 -320
  39. package/js/waves.js +614 -614
  40. package/package.json +87 -82
  41. package/sass/_style.scss +929 -929
  42. package/sass/components/_badges.scss +55 -55
  43. package/sass/components/_buttons.scss +322 -322
  44. package/sass/components/_cards.scss +195 -195
  45. package/sass/components/_carousel.scss +90 -90
  46. package/sass/components/_chips.scss +96 -96
  47. package/sass/components/_collapsible.scss +91 -91
  48. package/sass/components/_collection.scss +106 -106
  49. package/sass/components/_color-classes.scss +32 -32
  50. package/sass/components/_color-variables.scss +370 -370
  51. package/sass/components/_datepicker.scss +191 -191
  52. package/sass/components/_dropdown.scss +84 -84
  53. package/sass/components/_global.scss +646 -642
  54. package/sass/components/_grid.scss +158 -158
  55. package/sass/components/_icons-material-design.scss +5 -5
  56. package/sass/components/_materialbox.scss +42 -42
  57. package/sass/components/_modal.scss +97 -97
  58. package/sass/components/_navbar.scss +208 -208
  59. package/sass/components/_normalize.scss +447 -447
  60. package/sass/components/_preloader.scss +334 -334
  61. package/sass/components/_pulse.scss +34 -34
  62. package/sass/components/_sidenav.scss +214 -214
  63. package/sass/components/_slider.scss +91 -91
  64. package/sass/components/_table_of_contents.scss +33 -33
  65. package/sass/components/_tabs.scss +99 -99
  66. package/sass/components/_tapTarget.scss +103 -103
  67. package/sass/components/_timepicker.scss +199 -183
  68. package/sass/components/_toast.scss +58 -58
  69. package/sass/components/_tooltip.scss +32 -32
  70. package/sass/components/_transitions.scss +12 -12
  71. package/sass/components/_typography.scss +62 -62
  72. package/sass/components/_variables.scss +352 -352
  73. package/sass/components/_waves.scss +187 -187
  74. package/sass/components/forms/_checkboxes.scss +200 -200
  75. package/sass/components/forms/_file-input.scss +44 -44
  76. package/sass/components/forms/_forms.scss +22 -22
  77. package/sass/components/forms/_input-fields.scss +388 -379
  78. package/sass/components/forms/_radio-buttons.scss +115 -115
  79. package/sass/components/forms/_range.scss +161 -161
  80. package/sass/components/forms/_select.scss +199 -199
  81. package/sass/components/forms/_switches.scss +91 -91
  82. package/sass/ghpages-materialize.scss +7 -7
  83. package/sass/materialize.scss +42 -42
@@ -1,334 +1,334 @@
1
- /*
2
- @license
3
- Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
- This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
- The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
- The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
- Code distributed by Google as part of the polymer project is also
8
- subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
- */
10
-
11
- /**************************/
12
- /* STYLES FOR THE SPINNER */
13
- /**************************/
14
-
15
- /*
16
- * Constants:
17
- * STROKEWIDTH = 3px
18
- * ARCSIZE = 270 degrees (amount of circle the arc takes up)
19
- * ARCTIME = 1333ms (time it takes to expand and contract arc)
20
- * ARCSTARTROT = 216 degrees (how much the start location of the arc
21
- * should rotate each time, 216 gives us a
22
- * 5 pointed star shape (it's 360/5 * 3).
23
- * For a 7 pointed star, we might do
24
- * 360/7 * 3 = 154.286)
25
- * CONTAINERWIDTH = 28px
26
- * SHRINK_TIME = 400ms
27
- */
28
-
29
-
30
- .preloader-wrapper {
31
- display: inline-block;
32
- position: relative;
33
- width: 50px;
34
- height: 50px;
35
-
36
- &.small {
37
- width: 36px;
38
- height: 36px;
39
- }
40
-
41
- &.big {
42
- width: 64px;
43
- height: 64px;
44
- }
45
-
46
- &.active {
47
- /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
48
- -webkit-animation: container-rotate 1568ms linear infinite;
49
- animation: container-rotate 1568ms linear infinite;
50
- }
51
- }
52
-
53
- @-webkit-keyframes container-rotate {
54
- to { -webkit-transform: rotate(360deg) }
55
- }
56
-
57
- @keyframes container-rotate {
58
- to { transform: rotate(360deg) }
59
- }
60
-
61
- .spinner-layer {
62
- position: absolute;
63
- width: 100%;
64
- height: 100%;
65
- opacity: 0;
66
- border-color: $spinner-default-color;
67
- }
68
-
69
- .spinner-blue,
70
- .spinner-blue-only {
71
- border-color: #4285f4;
72
- }
73
-
74
- .spinner-red,
75
- .spinner-red-only {
76
- border-color: #db4437;
77
- }
78
-
79
- .spinner-yellow,
80
- .spinner-yellow-only {
81
- border-color: #f4b400;
82
- }
83
-
84
- .spinner-green,
85
- .spinner-green-only {
86
- border-color: #0f9d58;
87
- }
88
-
89
- /**
90
- * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
91
- *
92
- * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
93
- * guarantee that the animation will start _exactly_ after that value. So we avoid using
94
- * animation-delay and instead set custom keyframes for each color (as redundant as it
95
- * seems).
96
- *
97
- * We write out each animation in full (instead of separating animation-name,
98
- * animation-duration, etc.) because under the polyfill, Safari does not recognize those
99
- * specific properties properly, treats them as -webkit-animation, and overrides the
100
- * other animation rules. See https://github.com/Polymer/platform/issues/53.
101
- */
102
- .active .spinner-layer.spinner-blue {
103
- /* durations: 4 * ARCTIME */
104
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
105
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
106
- }
107
-
108
- .active .spinner-layer.spinner-red {
109
- /* durations: 4 * ARCTIME */
110
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
111
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
112
- }
113
-
114
- .active .spinner-layer.spinner-yellow {
115
- /* durations: 4 * ARCTIME */
116
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
117
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
118
- }
119
-
120
- .active .spinner-layer.spinner-green {
121
- /* durations: 4 * ARCTIME */
122
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
123
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
124
- }
125
-
126
- .active .spinner-layer,
127
- .active .spinner-layer.spinner-blue-only,
128
- .active .spinner-layer.spinner-red-only,
129
- .active .spinner-layer.spinner-yellow-only,
130
- .active .spinner-layer.spinner-green-only {
131
- /* durations: 4 * ARCTIME */
132
- opacity: 1;
133
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
134
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
135
- }
136
-
137
- @-webkit-keyframes fill-unfill-rotate {
138
- 12.5% { -webkit-transform: rotate(135deg); } /* 0.5 * ARCSIZE */
139
- 25% { -webkit-transform: rotate(270deg); } /* 1 * ARCSIZE */
140
- 37.5% { -webkit-transform: rotate(405deg); } /* 1.5 * ARCSIZE */
141
- 50% { -webkit-transform: rotate(540deg); } /* 2 * ARCSIZE */
142
- 62.5% { -webkit-transform: rotate(675deg); } /* 2.5 * ARCSIZE */
143
- 75% { -webkit-transform: rotate(810deg); } /* 3 * ARCSIZE */
144
- 87.5% { -webkit-transform: rotate(945deg); } /* 3.5 * ARCSIZE */
145
- to { -webkit-transform: rotate(1080deg); } /* 4 * ARCSIZE */
146
- }
147
-
148
- @keyframes fill-unfill-rotate {
149
- 12.5% { transform: rotate(135deg); } /* 0.5 * ARCSIZE */
150
- 25% { transform: rotate(270deg); } /* 1 * ARCSIZE */
151
- 37.5% { transform: rotate(405deg); } /* 1.5 * ARCSIZE */
152
- 50% { transform: rotate(540deg); } /* 2 * ARCSIZE */
153
- 62.5% { transform: rotate(675deg); } /* 2.5 * ARCSIZE */
154
- 75% { transform: rotate(810deg); } /* 3 * ARCSIZE */
155
- 87.5% { transform: rotate(945deg); } /* 3.5 * ARCSIZE */
156
- to { transform: rotate(1080deg); } /* 4 * ARCSIZE */
157
- }
158
-
159
- @-webkit-keyframes blue-fade-in-out {
160
- from { opacity: 1; }
161
- 25% { opacity: 1; }
162
- 26% { opacity: 0; }
163
- 89% { opacity: 0; }
164
- 90% { opacity: 1; }
165
- 100% { opacity: 1; }
166
- }
167
-
168
- @keyframes blue-fade-in-out {
169
- from { opacity: 1; }
170
- 25% { opacity: 1; }
171
- 26% { opacity: 0; }
172
- 89% { opacity: 0; }
173
- 90% { opacity: 1; }
174
- 100% { opacity: 1; }
175
- }
176
-
177
- @-webkit-keyframes red-fade-in-out {
178
- from { opacity: 0; }
179
- 15% { opacity: 0; }
180
- 25% { opacity: 1; }
181
- 50% { opacity: 1; }
182
- 51% { opacity: 0; }
183
- }
184
-
185
- @keyframes red-fade-in-out {
186
- from { opacity: 0; }
187
- 15% { opacity: 0; }
188
- 25% { opacity: 1; }
189
- 50% { opacity: 1; }
190
- 51% { opacity: 0; }
191
- }
192
-
193
- @-webkit-keyframes yellow-fade-in-out {
194
- from { opacity: 0; }
195
- 40% { opacity: 0; }
196
- 50% { opacity: 1; }
197
- 75% { opacity: 1; }
198
- 76% { opacity: 0; }
199
- }
200
-
201
- @keyframes yellow-fade-in-out {
202
- from { opacity: 0; }
203
- 40% { opacity: 0; }
204
- 50% { opacity: 1; }
205
- 75% { opacity: 1; }
206
- 76% { opacity: 0; }
207
- }
208
-
209
- @-webkit-keyframes green-fade-in-out {
210
- from { opacity: 0; }
211
- 65% { opacity: 0; }
212
- 75% { opacity: 1; }
213
- 90% { opacity: 1; }
214
- 100% { opacity: 0; }
215
- }
216
-
217
- @keyframes green-fade-in-out {
218
- from { opacity: 0; }
219
- 65% { opacity: 0; }
220
- 75% { opacity: 1; }
221
- 90% { opacity: 1; }
222
- 100% { opacity: 0; }
223
- }
224
-
225
- /**
226
- * Patch the gap that appear between the two adjacent div.circle-clipper while the
227
- * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
228
- */
229
- .gap-patch {
230
- position: absolute;
231
- top: 0;
232
- left: 45%;
233
- width: 10%;
234
- height: 100%;
235
- overflow: hidden;
236
- border-color: inherit;
237
- }
238
-
239
- .gap-patch .circle {
240
- width: 1000%;
241
- left: -450%;
242
- }
243
-
244
- .circle-clipper {
245
- display: inline-block;
246
- position: relative;
247
- width: 50%;
248
- height: 100%;
249
- overflow: hidden;
250
- border-color: inherit;
251
-
252
- .circle {
253
- width: 200%;
254
- height: 100%;
255
- border-width: 3px; /* STROKEWIDTH */
256
- border-style: solid;
257
- border-color: inherit;
258
- border-bottom-color: transparent !important;
259
- border-radius: 50%;
260
- -webkit-animation: none;
261
- animation: none;
262
- position: absolute;
263
- top: 0;
264
- right: 0;
265
- bottom: 0;
266
- }
267
-
268
- &.left .circle {
269
- left: 0;
270
- border-right-color: transparent !important;
271
- -webkit-transform: rotate(129deg);
272
- transform: rotate(129deg);
273
- }
274
- &.right .circle {
275
- left: -100%;
276
- border-left-color: transparent !important;
277
- -webkit-transform: rotate(-129deg);
278
- transform: rotate(-129deg);
279
- }
280
- }
281
-
282
-
283
-
284
- .active .circle-clipper.left .circle {
285
- /* duration: ARCTIME */
286
- -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
287
- animation: left-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
288
- }
289
-
290
- .active .circle-clipper.right .circle {
291
- /* duration: ARCTIME */
292
- -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
293
- animation: right-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
294
- }
295
-
296
- @-webkit-keyframes left-spin {
297
- from { -webkit-transform: rotate(130deg); }
298
- 50% { -webkit-transform: rotate(-5deg); }
299
- to { -webkit-transform: rotate(130deg); }
300
- }
301
-
302
- @keyframes left-spin {
303
- from { transform: rotate(130deg); }
304
- 50% { transform: rotate(-5deg); }
305
- to { transform: rotate(130deg); }
306
- }
307
-
308
- @-webkit-keyframes right-spin {
309
- from { -webkit-transform: rotate(-130deg); }
310
- 50% { -webkit-transform: rotate(5deg); }
311
- to { -webkit-transform: rotate(-130deg); }
312
- }
313
-
314
- @keyframes right-spin {
315
- from { transform: rotate(-130deg); }
316
- 50% { transform: rotate(5deg); }
317
- to { transform: rotate(-130deg); }
318
- }
319
-
320
- #spinnerContainer.cooldown {
321
- /* duration: SHRINK_TIME */
322
- -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1);
323
- animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1);
324
- }
325
-
326
- @-webkit-keyframes fade-out {
327
- from { opacity: 1; }
328
- to { opacity: 0; }
329
- }
330
-
331
- @keyframes fade-out {
332
- from { opacity: 1; }
333
- to { opacity: 0; }
334
- }
1
+ /*
2
+ @license
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ */
10
+
11
+ /**************************/
12
+ /* STYLES FOR THE SPINNER */
13
+ /**************************/
14
+
15
+ /*
16
+ * Constants:
17
+ * STROKEWIDTH = 3px
18
+ * ARCSIZE = 270 degrees (amount of circle the arc takes up)
19
+ * ARCTIME = 1333ms (time it takes to expand and contract arc)
20
+ * ARCSTARTROT = 216 degrees (how much the start location of the arc
21
+ * should rotate each time, 216 gives us a
22
+ * 5 pointed star shape (it's 360/5 * 3).
23
+ * For a 7 pointed star, we might do
24
+ * 360/7 * 3 = 154.286)
25
+ * CONTAINERWIDTH = 28px
26
+ * SHRINK_TIME = 400ms
27
+ */
28
+
29
+
30
+ .preloader-wrapper {
31
+ display: inline-block;
32
+ position: relative;
33
+ width: 50px;
34
+ height: 50px;
35
+
36
+ &.small {
37
+ width: 36px;
38
+ height: 36px;
39
+ }
40
+
41
+ &.big {
42
+ width: 64px;
43
+ height: 64px;
44
+ }
45
+
46
+ &.active {
47
+ /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
48
+ -webkit-animation: container-rotate 1568ms linear infinite;
49
+ animation: container-rotate 1568ms linear infinite;
50
+ }
51
+ }
52
+
53
+ @-webkit-keyframes container-rotate {
54
+ to { -webkit-transform: rotate(360deg) }
55
+ }
56
+
57
+ @keyframes container-rotate {
58
+ to { transform: rotate(360deg) }
59
+ }
60
+
61
+ .spinner-layer {
62
+ position: absolute;
63
+ width: 100%;
64
+ height: 100%;
65
+ opacity: 0;
66
+ border-color: $spinner-default-color;
67
+ }
68
+
69
+ .spinner-blue,
70
+ .spinner-blue-only {
71
+ border-color: #4285f4;
72
+ }
73
+
74
+ .spinner-red,
75
+ .spinner-red-only {
76
+ border-color: #db4437;
77
+ }
78
+
79
+ .spinner-yellow,
80
+ .spinner-yellow-only {
81
+ border-color: #f4b400;
82
+ }
83
+
84
+ .spinner-green,
85
+ .spinner-green-only {
86
+ border-color: #0f9d58;
87
+ }
88
+
89
+ /**
90
+ * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
91
+ *
92
+ * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
93
+ * guarantee that the animation will start _exactly_ after that value. So we avoid using
94
+ * animation-delay and instead set custom keyframes for each color (as redundant as it
95
+ * seems).
96
+ *
97
+ * We write out each animation in full (instead of separating animation-name,
98
+ * animation-duration, etc.) because under the polyfill, Safari does not recognize those
99
+ * specific properties properly, treats them as -webkit-animation, and overrides the
100
+ * other animation rules. See https://github.com/Polymer/platform/issues/53.
101
+ */
102
+ .active .spinner-layer.spinner-blue {
103
+ /* durations: 4 * ARCTIME */
104
+ -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
105
+ animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
106
+ }
107
+
108
+ .active .spinner-layer.spinner-red {
109
+ /* durations: 4 * ARCTIME */
110
+ -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
111
+ animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
112
+ }
113
+
114
+ .active .spinner-layer.spinner-yellow {
115
+ /* durations: 4 * ARCTIME */
116
+ -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
117
+ animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
118
+ }
119
+
120
+ .active .spinner-layer.spinner-green {
121
+ /* durations: 4 * ARCTIME */
122
+ -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
123
+ animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
124
+ }
125
+
126
+ .active .spinner-layer,
127
+ .active .spinner-layer.spinner-blue-only,
128
+ .active .spinner-layer.spinner-red-only,
129
+ .active .spinner-layer.spinner-yellow-only,
130
+ .active .spinner-layer.spinner-green-only {
131
+ /* durations: 4 * ARCTIME */
132
+ opacity: 1;
133
+ -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
134
+ animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
135
+ }
136
+
137
+ @-webkit-keyframes fill-unfill-rotate {
138
+ 12.5% { -webkit-transform: rotate(135deg); } /* 0.5 * ARCSIZE */
139
+ 25% { -webkit-transform: rotate(270deg); } /* 1 * ARCSIZE */
140
+ 37.5% { -webkit-transform: rotate(405deg); } /* 1.5 * ARCSIZE */
141
+ 50% { -webkit-transform: rotate(540deg); } /* 2 * ARCSIZE */
142
+ 62.5% { -webkit-transform: rotate(675deg); } /* 2.5 * ARCSIZE */
143
+ 75% { -webkit-transform: rotate(810deg); } /* 3 * ARCSIZE */
144
+ 87.5% { -webkit-transform: rotate(945deg); } /* 3.5 * ARCSIZE */
145
+ to { -webkit-transform: rotate(1080deg); } /* 4 * ARCSIZE */
146
+ }
147
+
148
+ @keyframes fill-unfill-rotate {
149
+ 12.5% { transform: rotate(135deg); } /* 0.5 * ARCSIZE */
150
+ 25% { transform: rotate(270deg); } /* 1 * ARCSIZE */
151
+ 37.5% { transform: rotate(405deg); } /* 1.5 * ARCSIZE */
152
+ 50% { transform: rotate(540deg); } /* 2 * ARCSIZE */
153
+ 62.5% { transform: rotate(675deg); } /* 2.5 * ARCSIZE */
154
+ 75% { transform: rotate(810deg); } /* 3 * ARCSIZE */
155
+ 87.5% { transform: rotate(945deg); } /* 3.5 * ARCSIZE */
156
+ to { transform: rotate(1080deg); } /* 4 * ARCSIZE */
157
+ }
158
+
159
+ @-webkit-keyframes blue-fade-in-out {
160
+ from { opacity: 1; }
161
+ 25% { opacity: 1; }
162
+ 26% { opacity: 0; }
163
+ 89% { opacity: 0; }
164
+ 90% { opacity: 1; }
165
+ 100% { opacity: 1; }
166
+ }
167
+
168
+ @keyframes blue-fade-in-out {
169
+ from { opacity: 1; }
170
+ 25% { opacity: 1; }
171
+ 26% { opacity: 0; }
172
+ 89% { opacity: 0; }
173
+ 90% { opacity: 1; }
174
+ 100% { opacity: 1; }
175
+ }
176
+
177
+ @-webkit-keyframes red-fade-in-out {
178
+ from { opacity: 0; }
179
+ 15% { opacity: 0; }
180
+ 25% { opacity: 1; }
181
+ 50% { opacity: 1; }
182
+ 51% { opacity: 0; }
183
+ }
184
+
185
+ @keyframes red-fade-in-out {
186
+ from { opacity: 0; }
187
+ 15% { opacity: 0; }
188
+ 25% { opacity: 1; }
189
+ 50% { opacity: 1; }
190
+ 51% { opacity: 0; }
191
+ }
192
+
193
+ @-webkit-keyframes yellow-fade-in-out {
194
+ from { opacity: 0; }
195
+ 40% { opacity: 0; }
196
+ 50% { opacity: 1; }
197
+ 75% { opacity: 1; }
198
+ 76% { opacity: 0; }
199
+ }
200
+
201
+ @keyframes yellow-fade-in-out {
202
+ from { opacity: 0; }
203
+ 40% { opacity: 0; }
204
+ 50% { opacity: 1; }
205
+ 75% { opacity: 1; }
206
+ 76% { opacity: 0; }
207
+ }
208
+
209
+ @-webkit-keyframes green-fade-in-out {
210
+ from { opacity: 0; }
211
+ 65% { opacity: 0; }
212
+ 75% { opacity: 1; }
213
+ 90% { opacity: 1; }
214
+ 100% { opacity: 0; }
215
+ }
216
+
217
+ @keyframes green-fade-in-out {
218
+ from { opacity: 0; }
219
+ 65% { opacity: 0; }
220
+ 75% { opacity: 1; }
221
+ 90% { opacity: 1; }
222
+ 100% { opacity: 0; }
223
+ }
224
+
225
+ /**
226
+ * Patch the gap that appear between the two adjacent div.circle-clipper while the
227
+ * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
228
+ */
229
+ .gap-patch {
230
+ position: absolute;
231
+ top: 0;
232
+ left: 45%;
233
+ width: 10%;
234
+ height: 100%;
235
+ overflow: hidden;
236
+ border-color: inherit;
237
+ }
238
+
239
+ .gap-patch .circle {
240
+ width: 1000%;
241
+ left: -450%;
242
+ }
243
+
244
+ .circle-clipper {
245
+ display: inline-block;
246
+ position: relative;
247
+ width: 50%;
248
+ height: 100%;
249
+ overflow: hidden;
250
+ border-color: inherit;
251
+
252
+ .circle {
253
+ width: 200%;
254
+ height: 100%;
255
+ border-width: 3px; /* STROKEWIDTH */
256
+ border-style: solid;
257
+ border-color: inherit;
258
+ border-bottom-color: transparent !important;
259
+ border-radius: 50%;
260
+ -webkit-animation: none;
261
+ animation: none;
262
+ position: absolute;
263
+ top: 0;
264
+ right: 0;
265
+ bottom: 0;
266
+ }
267
+
268
+ &.left .circle {
269
+ left: 0;
270
+ border-right-color: transparent !important;
271
+ -webkit-transform: rotate(129deg);
272
+ transform: rotate(129deg);
273
+ }
274
+ &.right .circle {
275
+ left: -100%;
276
+ border-left-color: transparent !important;
277
+ -webkit-transform: rotate(-129deg);
278
+ transform: rotate(-129deg);
279
+ }
280
+ }
281
+
282
+
283
+
284
+ .active .circle-clipper.left .circle {
285
+ /* duration: ARCTIME */
286
+ -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
287
+ animation: left-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
288
+ }
289
+
290
+ .active .circle-clipper.right .circle {
291
+ /* duration: ARCTIME */
292
+ -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
293
+ animation: right-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both;
294
+ }
295
+
296
+ @-webkit-keyframes left-spin {
297
+ from { -webkit-transform: rotate(130deg); }
298
+ 50% { -webkit-transform: rotate(-5deg); }
299
+ to { -webkit-transform: rotate(130deg); }
300
+ }
301
+
302
+ @keyframes left-spin {
303
+ from { transform: rotate(130deg); }
304
+ 50% { transform: rotate(-5deg); }
305
+ to { transform: rotate(130deg); }
306
+ }
307
+
308
+ @-webkit-keyframes right-spin {
309
+ from { -webkit-transform: rotate(-130deg); }
310
+ 50% { -webkit-transform: rotate(5deg); }
311
+ to { -webkit-transform: rotate(-130deg); }
312
+ }
313
+
314
+ @keyframes right-spin {
315
+ from { transform: rotate(-130deg); }
316
+ 50% { transform: rotate(5deg); }
317
+ to { transform: rotate(-130deg); }
318
+ }
319
+
320
+ #spinnerContainer.cooldown {
321
+ /* duration: SHRINK_TIME */
322
+ -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1);
323
+ animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1);
324
+ }
325
+
326
+ @-webkit-keyframes fade-out {
327
+ from { opacity: 1; }
328
+ to { opacity: 0; }
329
+ }
330
+
331
+ @keyframes fade-out {
332
+ from { opacity: 1; }
333
+ to { opacity: 0; }
334
+ }