diff options
Diffstat (limited to 'catapult/third_party/polymer/components/neon-animation/demo/reprojection/fullsize-page-with-card.html')
-rw-r--r-- | catapult/third_party/polymer/components/neon-animation/demo/reprojection/fullsize-page-with-card.html | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/catapult/third_party/polymer/components/neon-animation/demo/reprojection/fullsize-page-with-card.html b/catapult/third_party/polymer/components/neon-animation/demo/reprojection/fullsize-page-with-card.html new file mode 100644 index 00000000..83b8a917 --- /dev/null +++ b/catapult/third_party/polymer/components/neon-animation/demo/reprojection/fullsize-page-with-card.html @@ -0,0 +1,120 @@ +<!-- +@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="../../neon-shared-element-animatable-behavior.html"> +<link rel="import" href="../shared-styles.html"> + +<dom-module id="fullsize-page-with-card"> + <template> + <style include="shared-styles"></style> + <style> + + :host { + display: block; + } + + .fixed { + position: fixed; + top: 0; + left: 0; + height: 100vh; + width: 100vw; + } + + .card { + position: relative; + margin: 200px 100px 0; + height: 700px; + } + + </style> + + <div id="fixed" class$="[[_computeFixedBackgroundClass(color)]]"></div> + <div id="card" class$="[[_computeCardClass(color)]]"></div> + + </template> +</dom-module> + +<script> + + Polymer({ + + is: 'fullsize-page-with-card', + + behaviors: [ + Polymer.NeonSharedElementAnimatableBehavior + ], + + properties: { + + color: { + type: String + }, + + sharedElements: { + type: Object, + value: function() { + return { + 'hero': this.$.card, + 'ripple': this.$.fixed + } + } + }, + + animationConfig: { + type: Object, + value: function() { + return { + 'entry': [{ + name: 'ripple-animation', + id: 'ripple', + toPage: this, + }, { + name: 'hero-animation', + id: 'hero', + toPage: this, + timing: { + delay: 150 + } + }], + 'exit': [{ + name: 'fade-out-animation', + node: this.$.fixed + }, { + name: 'transform-animation', + transformFrom: 'none', + transformTo: 'translate(0px,-200vh) scale(0.9,1)', + node: this.$.card + }] + } + } + } + + }, + + _computeCardClass: function(color) { + var cls = 'card'; + if (color) { + cls += ' ' + color + '-300'; + } + return cls; + }, + + _computeFixedBackgroundClass: function(color) { + var cls = 'fixed'; + if (color) { + cls += ' ' + color + '-100'; + } + return cls; + } + + }); + +</script> |