diff options
Diffstat (limited to 'catapult/third_party/polymer/components/neon-animation/demo/load/animated-grid.html')
-rw-r--r-- | catapult/third_party/polymer/components/neon-animation/demo/load/animated-grid.html | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/catapult/third_party/polymer/components/neon-animation/demo/load/animated-grid.html b/catapult/third_party/polymer/components/neon-animation/demo/load/animated-grid.html new file mode 100644 index 00000000..c1d52c1a --- /dev/null +++ b/catapult/third_party/polymer/components/neon-animation/demo/load/animated-grid.html @@ -0,0 +1,146 @@ +<!-- +@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="../../neon-shared-element-animatable-behavior.html"> +<link rel="import" href="../../../paper-styles/typography.html"> +<link rel="import" href="../../../paper-styles/color.html"> +<link rel="import" href="../shared-styles.html"> + +<dom-module id="animated-grid"> + <template> + <style include="shared-styles"></style> + <style> + :host { + display: block; + background: #000; + } + + .tile { + display: inline-block; + float: left; + vertical-align: top; + width: calc(100% / 6); + height: calc(100% / 3); + + @apply(--paper-font-title); + @apply(--layout-vertical); + @apply(--layout-center-center); + } + + .tile:nth-of-type(1) { + width: calc(100% / 3); + height: calc(100% / 3 * 2); + } + + .tile:nth-of-type(4) { + width: calc(100% / 3); + } + + .tile:nth-of-type(5) { + width: calc(100% / 3); + height: calc(100% / 3 * 2); + } + + .tile:nth-of-type(8) { + width: calc(100% / 3); + height: calc(100% / 3); + } + + .tile:nth-of-type(9) { + position: absolute; + top: calc(100% / 3 * 2); + left: 0; + width: calc(100% / 6); + height: calc(100% / 3); + } + + .tile:nth-of-type(10) { + position: absolute; + top: calc(100% / 3 * 2); + left: calc(100% / 6);; + width: calc(100% / 6); + height: calc(100% / 3); + } + </style> + + <template is="dom-repeat" items="[[config]]"> + <div class$="[[_computeTileClass(item.color)]]"> + <span>[[item.value]]</span> + </div> + </template> + + </template> + +</dom-module> + +<script> + + Polymer({ + + is: 'animated-grid', + + behaviors: [ + Polymer.NeonSharedElementAnimatableBehavior + ], + + properties: { + + config: { + type: Array, + value: function() { + return [ + {value: 1, color: 'blue'}, + {value: 2, color: 'red'}, + {value: 3, color: 'blue'}, + {value: 4, color: 'green'}, + {value: 5, color: 'yellow'}, + {value: 6, color: 'blue'}, + {value: 7, color: 'red'}, + {value: 8, color: 'green'}, + {value: 9, color: 'yellow'}, + {value: 10, color: 'red'} + ] + } + }, + + animationConfig: { + type: Object, + value: function() { + return { + 'entry': [{ + name: 'cascaded-animation', + animation: 'transform-animation', + transformFrom: 'translateY(100%)', + transformTo: 'none', + timing: { + delay: 50 + } + }] + } + } + } + + }, + + attached: function() { + this.async(function() { + var nodeList = Polymer.dom(this.root).querySelectorAll('.tile'); + this.animationConfig['entry'][0].nodes = Array.prototype.slice.call(nodeList); + }); + }, + + _computeTileClass: function(color) { + return 'tile ' + color + '-300'; + } + + }); + +</script> |