• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!--
2@license
3Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
4This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7Code distributed by Google as part of the polymer project is also
8subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9-->
10
11<link rel="import" href="../../polymer/polymer.html">
12<link rel="import" href="../neon-animation-behavior.html">
13<link rel="import" href="../web-animations.html">
14
15<!--
16`<slide-down-animation>` animates the transform of an element from `none` `translateY(100%)`.
17The `transformOrigin` defaults to `50% 0`.
18
19Configuration:
20```
21{
22  name: 'slide-down-animation',
23  node: <node>,
24  transformOrigin: <transform-origin>,
25  timing: <animation-timing>
26}
27```
28-->
29
30<script>
31
32  Polymer({
33
34    is: 'slide-down-animation',
35
36    behaviors: [
37      Polymer.NeonAnimationBehavior
38    ],
39
40    configure: function(config) {
41      var node = config.node;
42
43      this._effect = new KeyframeEffect(node, [
44        {'transform': 'translateY(0%)'},
45        {'transform': 'translateY(100%)'}
46      ], this.timingFromConfig(config));
47
48      if (config.transformOrigin) {
49        this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
50      } else {
51        this.setPrefixedProperty(node, 'transformOrigin', '50% 0');
52      }
53
54      return this._effect;
55    }
56
57  });
58
59</script>
60