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 | -} |