| Index: third_party/polymer/v0_8/components-chromium/neon-animation/neon-animation-behavior-extracted.js
|
| diff --git a/third_party/polymer/v0_8/components-chromium/neon-animation/neon-animation-behavior-extracted.js b/third_party/polymer/v0_8/components-chromium/neon-animation/neon-animation-behavior-extracted.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cb52f5167ee1871e24d315d6b92638b144554718
|
| --- /dev/null
|
| +++ b/third_party/polymer/v0_8/components-chromium/neon-animation/neon-animation-behavior-extracted.js
|
| @@ -0,0 +1,74 @@
|
| +
|
| +
|
| + /**
|
| + * Use `Polymer.NeonAnimationBehavior` to implement an animation.
|
| + * @polymerBehavior
|
| + */
|
| + Polymer.NeonAnimationBehavior = {
|
| +
|
| + properties: {
|
| +
|
| + /**
|
| + * Defines the animation timing.
|
| + */
|
| + animationTiming: {
|
| + type: Object,
|
| + value: function() {
|
| + return {
|
| + duration: 500,
|
| + easing: 'cubic-bezier(0.4, 0, 0.2, 1)',
|
| + fill: 'both'
|
| + }
|
| + }
|
| + }
|
| +
|
| + },
|
| +
|
| + registered: function() {
|
| + new Polymer.IronMeta({type: 'animation', key: this.is, value: this.constructor});
|
| + },
|
| +
|
| + /**
|
| + * Do any animation configuration here.
|
| + */
|
| + // configure: function(config) {
|
| + // },
|
| +
|
| + /**
|
| + * Returns the animation timing by mixing in properties from `config` to the defaults defined
|
| + * by the animation.
|
| + */
|
| + timingFromConfig: function(config) {
|
| + if (config.timing) {
|
| + for (var property in config.timing) {
|
| + this.animationTiming[property] = config.timing[property];
|
| + }
|
| + }
|
| + return this.animationTiming;
|
| + },
|
| +
|
| + /**
|
| + * Sets `transform` and `transformOrigin` properties along with the prefixed versions.
|
| + */
|
| + setPrefixedProperty: function(node, property, value) {
|
| + var map = {
|
| + 'transform': ['webkitTransform'],
|
| + 'transformOrigin': ['mozTransformOrigin', 'webkitTransformOrigin']
|
| + };
|
| + var prefixes = map[property];
|
| + for (var prefix, index = 0; prefix = prefixes[index]; index++) {
|
| + node.style[prefix] = value;
|
| + }
|
| + node.style[property] = value;
|
| + },
|
| +
|
| + /**
|
| + * Called when the animation finishes.
|
| + */
|
| + complete: function() {
|
| + // FIXME not sure about non-bubbling event
|
| + this.fire(this.animationEndEvent, null, {bubbles: false});
|
| + }
|
| +
|
| + };
|
| +
|
|
|