diff options
Diffstat (limited to 'catapult/third_party/polymer/components/neon-animation/animations/transform-animation.html')
-rw-r--r-- | catapult/third_party/polymer/components/neon-animation/animations/transform-animation.html | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/catapult/third_party/polymer/components/neon-animation/animations/transform-animation.html b/catapult/third_party/polymer/components/neon-animation/animations/transform-animation.html new file mode 100644 index 00000000..2e504442 --- /dev/null +++ b/catapult/third_party/polymer/components/neon-animation/animations/transform-animation.html @@ -0,0 +1,70 @@ +<!-- +@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-animation-behavior.html"> +<link rel="import" href="../web-animations.html"> + +<!-- +`<transform-animation>` animates a custom transform on an element. Use this to animate multiple +transform properties, or to apply a custom transform value. + +Configuration: +``` +{ + name: 'transform-animation', + node: <node>, + transformOrigin: <transform-origin>, + transformFrom: <transform-from-string>, + transformTo: <transform-to-string>, + timing: <animation-timing> +} +``` +--> + +<script> + + Polymer({ + + is: 'transform-animation', + + behaviors: [ + Polymer.NeonAnimationBehavior + ], + + /** + * @param {{ + * node: !Element, + * transformOrigin: (string|undefined), + * transformFrom: (string|undefined), + * transformTo: (string|undefined), + * timing: (Object|undefined) + * }} config + */ + configure: function(config) { + var node = config.node; + var transformFrom = config.transformFrom || 'none'; + var transformTo = config.transformTo || 'none'; + + this._effect = new KeyframeEffect(node, [ + {'transform': transformFrom}, + {'transform': transformTo} + ], this.timingFromConfig(config)); + + if (config.transformOrigin) { + this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); + } + + return this._effect; + } + + }); + +</script> |