Commit e53330c0a9c942559cb35b4342f22b01b6ab6b29
1 parent
25201c03
spinner
Showing
1 changed file
with
0 additions
and
330 deletions
bower_components/paper-spinner/paper-spinner.css deleted
| 1 | -/** | ||
| 2 | -@license | ||
| 3 | -Copyright (c) 2015 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 | -:host { | ||
| 30 | - display: inline-block; | ||
| 31 | - position: relative; | ||
| 32 | - width: 28px; /* CONTAINERWIDTH */ | ||
| 33 | - height: 28px; /* CONTAINERWIDTH */ | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -#spinnerContainer { | ||
| 37 | - width: 100%; | ||
| 38 | - height: 100%; | ||
| 39 | - | ||
| 40 | - /* The spinner does not have any contents that would have to be | ||
| 41 | - * flipped if the direction changes. Always use ltr so that the | ||
| 42 | - * style works out correctly in both cases. */ | ||
| 43 | - direction: ltr; | ||
| 44 | -} | ||
| 45 | - | ||
| 46 | -#spinnerContainer.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 | -@-webkit-keyframes container-rotate { | ||
| 53 | - to { -webkit-transform: rotate(360deg) } | ||
| 54 | -} | ||
| 55 | - | ||
| 56 | -@keyframes container-rotate { | ||
| 57 | - to { transform: rotate(360deg) } | ||
| 58 | -} | ||
| 59 | - | ||
| 60 | -.spinner-layer { | ||
| 61 | - position: absolute; | ||
| 62 | - width: 100%; | ||
| 63 | - height: 100%; | ||
| 64 | - opacity: 0; | ||
| 65 | -} | ||
| 66 | - | ||
| 67 | -.layer-1 { | ||
| 68 | - border-color: var(--paper-spinner-layer-1-color, --google-blue-500); | ||
| 69 | -} | ||
| 70 | - | ||
| 71 | -.layer-2 { | ||
| 72 | - border-color: var(--paper-spinner-layer-2-color, --google-red-500); | ||
| 73 | -} | ||
| 74 | - | ||
| 75 | -.layer-3 { | ||
| 76 | - border-color: var(--paper-spinner-layer-3-color, --google-yellow-500); | ||
| 77 | -} | ||
| 78 | - | ||
| 79 | -.layer-4 { | ||
| 80 | - border-color: var(--paper-spinner-layer-4-color, --google-blue-500); | ||
| 81 | -} | ||
| 82 | - | ||
| 83 | -/** | ||
| 84 | - * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee): | ||
| 85 | - * | ||
| 86 | - * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't | ||
| 87 | - * guarantee that the animation will start _exactly_ after that value. So we avoid using | ||
| 88 | - * animation-delay and instead set custom keyframes for each color (as layer-2undant as it | ||
| 89 | - * seems). | ||
| 90 | - * | ||
| 91 | - * We write out each animation in full (instead of separating animation-name, | ||
| 92 | - * animation-duration, etc.) because under the polyfill, Safari does not recognize those | ||
| 93 | - * specific properties properly, treats them as -webkit-animation, and overrides the | ||
| 94 | - * other animation rules. See https://github.com/Polymer/platform/issues/53. | ||
| 95 | - */ | ||
| 96 | -.active .spinner-layer.layer-1 { | ||
| 97 | - /* durations: 4 * ARCTIME */ | ||
| 98 | - -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both; | ||
| 99 | - animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both; | ||
| 100 | -} | ||
| 101 | - | ||
| 102 | -.active .spinner-layer.layer-2 { | ||
| 103 | - /* durations: 4 * ARCTIME */ | ||
| 104 | - -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, layer-2-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, layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both; | ||
| 106 | -} | ||
| 107 | - | ||
| 108 | -.active .spinner-layer.layer-3 { | ||
| 109 | - /* durations: 4 * ARCTIME */ | ||
| 110 | - -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, layer-3-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, layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both; | ||
| 112 | -} | ||
| 113 | - | ||
| 114 | -.active .spinner-layer.layer-4 { | ||
| 115 | - /* durations: 4 * ARCTIME */ | ||
| 116 | - -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both, layer-4-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, layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both; | ||
| 118 | -} | ||
| 119 | - | ||
| 120 | -@-webkit-keyframes fill-unfill-rotate { | ||
| 121 | - 12.5% { -webkit-transform: rotate(135deg); } /* 0.5 * ARCSIZE */ | ||
| 122 | - 25% { -webkit-transform: rotate(270deg); } /* 1 * ARCSIZE */ | ||
| 123 | - 37.5% { -webkit-transform: rotate(405deg); } /* 1.5 * ARCSIZE */ | ||
| 124 | - 50% { -webkit-transform: rotate(540deg); } /* 2 * ARCSIZE */ | ||
| 125 | - 62.5% { -webkit-transform: rotate(675deg); } /* 2.5 * ARCSIZE */ | ||
| 126 | - 75% { -webkit-transform: rotate(810deg); } /* 3 * ARCSIZE */ | ||
| 127 | - 87.5% { -webkit-transform: rotate(945deg); } /* 3.5 * ARCSIZE */ | ||
| 128 | - to { -webkit-transform: rotate(1080deg); } /* 4 * ARCSIZE */ | ||
| 129 | -} | ||
| 130 | - | ||
| 131 | -@keyframes fill-unfill-rotate { | ||
| 132 | - 12.5% { transform: rotate(135deg); } /* 0.5 * ARCSIZE */ | ||
| 133 | - 25% { transform: rotate(270deg); } /* 1 * ARCSIZE */ | ||
| 134 | - 37.5% { transform: rotate(405deg); } /* 1.5 * ARCSIZE */ | ||
| 135 | - 50% { transform: rotate(540deg); } /* 2 * ARCSIZE */ | ||
| 136 | - 62.5% { transform: rotate(675deg); } /* 2.5 * ARCSIZE */ | ||
| 137 | - 75% { transform: rotate(810deg); } /* 3 * ARCSIZE */ | ||
| 138 | - 87.5% { transform: rotate(945deg); } /* 3.5 * ARCSIZE */ | ||
| 139 | - to { transform: rotate(1080deg); } /* 4 * ARCSIZE */ | ||
| 140 | -} | ||
| 141 | - | ||
| 142 | -/** | ||
| 143 | - * HACK: Even though the intention is to have the current .spinner-layer at | ||
| 144 | - * `opacity: 1`, we set it to `opacity: 0.99` instead since this forces Chrome | ||
| 145 | - * to do proper subpixel rendering for the elements being animated. This is | ||
| 146 | - * especially visible in Chrome 39 on Ubuntu 14.04. See: | ||
| 147 | - * | ||
| 148 | - * - https://github.com/Polymer/paper-spinner/issues/9 | ||
| 149 | - * - https://code.google.com/p/chromium/issues/detail?id=436255 | ||
| 150 | - */ | ||
| 151 | -@-webkit-keyframes layer-1-fade-in-out { | ||
| 152 | - from { opacity: 0.99; } | ||
| 153 | - 25% { opacity: 0.99; } | ||
| 154 | - 26% { opacity: 0; } | ||
| 155 | - 89% { opacity: 0; } | ||
| 156 | - 90% { opacity: 0.99; } | ||
| 157 | - 100% { opacity: 0.99; } | ||
| 158 | -} | ||
| 159 | - | ||
| 160 | -@keyframes layer-1-fade-in-out { | ||
| 161 | - from { opacity: 0.99; } | ||
| 162 | - 25% { opacity: 0.99; } | ||
| 163 | - 26% { opacity: 0; } | ||
| 164 | - 89% { opacity: 0; } | ||
| 165 | - 90% { opacity: 0.99; } | ||
| 166 | - 100% { opacity: 0.99; } | ||
| 167 | -} | ||
| 168 | - | ||
| 169 | -@-webkit-keyframes layer-2-fade-in-out { | ||
| 170 | - from { opacity: 0; } | ||
| 171 | - 15% { opacity: 0; } | ||
| 172 | - 25% { opacity: 0.99; } | ||
| 173 | - 50% { opacity: 0.99; } | ||
| 174 | - 51% { opacity: 0; } | ||
| 175 | -} | ||
| 176 | - | ||
| 177 | -@keyframes layer-2-fade-in-out { | ||
| 178 | - from { opacity: 0; } | ||
| 179 | - 15% { opacity: 0; } | ||
| 180 | - 25% { opacity: 0.99; } | ||
| 181 | - 50% { opacity: 0.99; } | ||
| 182 | - 51% { opacity: 0; } | ||
| 183 | -} | ||
| 184 | - | ||
| 185 | -@-webkit-keyframes layer-3-fade-in-out { | ||
| 186 | - from { opacity: 0; } | ||
| 187 | - 40% { opacity: 0; } | ||
| 188 | - 50% { opacity: 0.99; } | ||
| 189 | - 75% { opacity: 0.99; } | ||
| 190 | - 76% { opacity: 0; } | ||
| 191 | -} | ||
| 192 | - | ||
| 193 | -@keyframes layer-3-fade-in-out { | ||
| 194 | - from { opacity: 0; } | ||
| 195 | - 40% { opacity: 0; } | ||
| 196 | - 50% { opacity: 0.99; } | ||
| 197 | - 75% { opacity: 0.99; } | ||
| 198 | - 76% { opacity: 0; } | ||
| 199 | -} | ||
| 200 | - | ||
| 201 | -@-webkit-keyframes layer-4-fade-in-out { | ||
| 202 | - from { opacity: 0; } | ||
| 203 | - 65% { opacity: 0; } | ||
| 204 | - 75% { opacity: 0.99; } | ||
| 205 | - 90% { opacity: 0.99; } | ||
| 206 | - 100% { opacity: 0; } | ||
| 207 | -} | ||
| 208 | - | ||
| 209 | -@keyframes layer-4-fade-in-out { | ||
| 210 | - from { opacity: 0; } | ||
| 211 | - 65% { opacity: 0; } | ||
| 212 | - 75% { opacity: 0.99; } | ||
| 213 | - 90% { opacity: 0.99; } | ||
| 214 | - 100% { opacity: 0; } | ||
| 215 | -} | ||
| 216 | - | ||
| 217 | -/** | ||
| 218 | - * Patch the gap that appear between the two adjacent div.circle-clipper while the | ||
| 219 | - * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11). | ||
| 220 | - * | ||
| 221 | - * Update: the gap no longer appears on Chrome when .spinner-layer's opacity is 0.99, | ||
| 222 | - * but still does on Safari and IE. | ||
| 223 | - */ | ||
| 224 | -.gap-patch { | ||
| 225 | - position: absolute; | ||
| 226 | - box-sizing: border-box; | ||
| 227 | - top: 0; | ||
| 228 | - left: 45%; | ||
| 229 | - width: 10%; | ||
| 230 | - height: 100%; | ||
| 231 | - overflow: hidden; | ||
| 232 | - border-color: inherit; | ||
| 233 | -} | ||
| 234 | - | ||
| 235 | -.gap-patch .circle { | ||
| 236 | - width: 1000%; | ||
| 237 | - left: -450%; | ||
| 238 | -} | ||
| 239 | - | ||
| 240 | -.circle-clipper { | ||
| 241 | - display: inline-block; | ||
| 242 | - position: relative; | ||
| 243 | - width: 50%; | ||
| 244 | - height: 100%; | ||
| 245 | - overflow: hidden; | ||
| 246 | - border-color: inherit; | ||
| 247 | -} | ||
| 248 | - | ||
| 249 | -.circle-clipper .circle { | ||
| 250 | - width: 200%; | ||
| 251 | -} | ||
| 252 | - | ||
| 253 | -.circle { | ||
| 254 | - box-sizing: border-box; | ||
| 255 | - height: 100%; | ||
| 256 | - border-width: 3px; /* STROKEWIDTH */ | ||
| 257 | - border-style: solid; | ||
| 258 | - border-color: inherit; | ||
| 259 | - border-bottom-color: transparent !important; | ||
| 260 | - border-radius: 50%; | ||
| 261 | - -webkit-animation: none; | ||
| 262 | - animation: none; | ||
| 263 | - | ||
| 264 | - @apply(--layout-fit); | ||
| 265 | -} | ||
| 266 | - | ||
| 267 | -.circle-clipper.left .circle { | ||
| 268 | - border-right-color: transparent !important; | ||
| 269 | - -webkit-transform: rotate(129deg); | ||
| 270 | - transform: rotate(129deg); | ||
| 271 | -} | ||
| 272 | - | ||
| 273 | -.circle-clipper.right .circle { | ||
| 274 | - left: -100%; | ||
| 275 | - border-left-color: transparent !important; | ||
| 276 | - -webkit-transform: rotate(-129deg); | ||
| 277 | - transform: rotate(-129deg); | ||
| 278 | -} | ||
| 279 | - | ||
| 280 | -.active .circle-clipper.left .circle { | ||
| 281 | - /* duration: ARCTIME */ | ||
| 282 | - -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both; | ||
| 283 | - animation: left-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both; | ||
| 284 | -} | ||
| 285 | - | ||
| 286 | -.active .circle-clipper.right .circle { | ||
| 287 | - /* duration: ARCTIME */ | ||
| 288 | - -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both; | ||
| 289 | - animation: right-spin 1333ms cubic-bezier(0.4, 0.0, 0.2, 1) infinite both; | ||
| 290 | -} | ||
| 291 | - | ||
| 292 | -@-webkit-keyframes left-spin { | ||
| 293 | - from { -webkit-transform: rotate(130deg); } | ||
| 294 | - 50% { -webkit-transform: rotate(-5deg); } | ||
| 295 | - to { -webkit-transform: rotate(130deg); } | ||
| 296 | -} | ||
| 297 | - | ||
| 298 | -@keyframes left-spin { | ||
| 299 | - from { transform: rotate(130deg); } | ||
| 300 | - 50% { transform: rotate(-5deg); } | ||
| 301 | - to { transform: rotate(130deg); } | ||
| 302 | -} | ||
| 303 | - | ||
| 304 | -@-webkit-keyframes right-spin { | ||
| 305 | - from { -webkit-transform: rotate(-130deg); } | ||
| 306 | - 50% { -webkit-transform: rotate(5deg); } | ||
| 307 | - to { -webkit-transform: rotate(-130deg); } | ||
| 308 | -} | ||
| 309 | - | ||
| 310 | -@keyframes right-spin { | ||
| 311 | - from { transform: rotate(-130deg); } | ||
| 312 | - 50% { transform: rotate(5deg); } | ||
| 313 | - to { transform: rotate(-130deg); } | ||
| 314 | -} | ||
| 315 | - | ||
| 316 | -#spinnerContainer.cooldown { | ||
| 317 | - /* duration: SHRINK_TIME */ | ||
| 318 | - -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1); | ||
| 319 | - animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0.0, 0.2, 1); | ||
| 320 | -} | ||
| 321 | - | ||
| 322 | -@-webkit-keyframes fade-out { | ||
| 323 | - from { opacity: 0.99; } | ||
| 324 | - to { opacity: 0; } | ||
| 325 | -} | ||
| 326 | - | ||
| 327 | -@keyframes fade-out { | ||
| 328 | - from { opacity: 0.99; } | ||
| 329 | - to { opacity: 0; } | ||
| 330 | -} |