| <!-- |
| @license |
| Copyright (c) 2015 The Polymer Project Authors. All rights reserved. |
| This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt |
| The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt |
| The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt |
| Code distributed by Google as part of the polymer project is also |
| subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt |
| --> |
| |
| <link rel="import" href="../polymer/polymer.html"> |
| <link rel="import" href="../iron-flex-layout/iron-flex-layout.html"> |
| <link rel="import" href="../paper-styles/color.html"> |
| <link rel="import" href="paper-spinner-behavior.html"> |
| <link rel="import" href="paper-spinner-styles.html"> |
| |
| <!-- |
| Material design: [Progress & activity](https://www.google.com/design/spec/components/progress-activity.html) |
| |
| Element providing a multiple color material design circular spinner. |
| |
| <paper-spinner active></paper-spinner> |
| |
| The default spinner cycles between four layers of colors; by default they are |
| blue, red, yellow and green. It can be customized to cycle between four different |
| colors. Use <paper-spinner-lite> for single color spinners. |
| |
| ### Accessibility |
| |
| Alt attribute should be set to provide adequate context for accessibility. If not provided, |
| it defaults to 'loading'. |
| Empty alt can be provided to mark the element as decorative if alternative content is provided |
| in another form (e.g. a text block following the spinner). |
| |
| <paper-spinner alt="Loading contacts list" active></paper-spinner> |
| |
| ### Styling |
| |
| The following custom properties and mixins are available for styling: |
| |
| Custom property | Description | Default |
| ----------------|-------------|---------- |
| `--paper-spinner-layer-1-color` | Color of the first spinner rotation | `--google-blue-500` |
| `--paper-spinner-layer-2-color` | Color of the second spinner rotation | `--google-red-500` |
| `--paper-spinner-layer-3-color` | Color of the third spinner rotation | `--google-yellow-500` |
| `--paper-spinner-layer-4-color` | Color of the fourth spinner rotation | `--google-green-500` |
| `--paper-spinner-stroke-width` | The width of the spinner stroke | 3px |
| |
| @group Paper Elements |
| @element paper-spinner |
| @hero hero.svg |
| @demo demo/index.html |
| --> |
| |
| <dom-module id="paper-spinner"> |
| <template strip-whitespace> |
| <style include="paper-spinner-styles"></style> |
| |
| <div id="spinnerContainer" class-name="[[__computeContainerClasses(active, __coolingDown)]]"> |
| <div class="spinner-layer layer-1"> |
| <div class="circle-clipper left"></div> |
| <div class="circle-clipper right"></div> |
| </div> |
| |
| <div class="spinner-layer layer-2"> |
| <div class="circle-clipper left"></div> |
| <div class="circle-clipper right"></div> |
| </div> |
| |
| <div class="spinner-layer layer-3"> |
| <div class="circle-clipper left"></div> |
| <div class="circle-clipper right"></div> |
| </div> |
| |
| <div class="spinner-layer layer-4"> |
| <div class="circle-clipper left"></div> |
| <div class="circle-clipper right"></div> |
| </div> |
| </div> |
| </template> |
| |
| <script> |
| Polymer({ |
| is: 'paper-spinner', |
| |
| behaviors: [ |
| Polymer.PaperSpinnerBehavior |
| ] |
| }); |
| </script> |
| </dom-module> |