greensock-rails 1.18.5.0 → 1.19.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (23) hide show
  1. checksums.yaml +4 -4
  2. data/lib/greensock/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/greensock/TimelineLite.js +5 -5
  4. data/vendor/assets/javascripts/greensock/TimelineMax.js +8 -6
  5. data/vendor/assets/javascripts/greensock/TweenLite.js +53 -31
  6. data/vendor/assets/javascripts/greensock/TweenMax.js +173 -72
  7. data/vendor/assets/javascripts/greensock/easing/EasePack.js +3 -3
  8. data/vendor/assets/javascripts/greensock/plugins/AttrPlugin.js +10 -6
  9. data/vendor/assets/javascripts/greensock/plugins/BezierPlugin.js +28 -11
  10. data/vendor/assets/javascripts/greensock/plugins/CSSPlugin.js +71 -19
  11. data/vendor/assets/javascripts/greensock/plugins/CSSRulePlugin.js +18 -4
  12. data/vendor/assets/javascripts/greensock/plugins/ColorPropsPlugin.js +8 -5
  13. data/vendor/assets/javascripts/greensock/plugins/DirectionalRotationPlugin.js +9 -5
  14. data/vendor/assets/javascripts/greensock/plugins/EaselPlugin.js +14 -10
  15. data/vendor/assets/javascripts/greensock/plugins/EndArrayPlugin.js +10 -9
  16. data/vendor/assets/javascripts/greensock/plugins/ModifiersPlugin.js +158 -0
  17. data/vendor/assets/javascripts/greensock/plugins/RoundPropsPlugin.js +7 -7
  18. data/vendor/assets/javascripts/greensock/plugins/ScrollToPlugin.js +77 -17
  19. data/vendor/assets/javascripts/greensock/plugins/TEMPLATE_Plugin.js +4 -3
  20. data/vendor/assets/javascripts/greensock/plugins/TextPlugin.js +17 -8
  21. data/vendor/assets/javascripts/greensock/utils/Draggable.js +50 -29
  22. metadata +2 -2
  23. data/vendor/assets/javascripts/greensock/plugins/KineticPlugin.js +0 -335
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.15.4
3
- * DATE: 2016-05-24
2
+ * VERSION: 1.15.5
3
+ * DATE: 2016-07-08
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -351,7 +351,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
351
351
  return (_gsScope.GreenSockGlobals || _gsScope);
352
352
  };
353
353
  if (typeof(define) === "function" && define.amd) { //AMD
354
- define(["../TweenLite"], getGlobal);
354
+ define(["TweenLite"], getGlobal);
355
355
  } else if (typeof(module) !== "undefined" && module.exports) { //node
356
356
  require("../TweenLite.js");
357
357
  module.exports = getGlobal();
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 0.5.0
3
- * DATE: 2015-08-29
2
+ * VERSION: 0.6.0
3
+ * DATE: 2016-07-13
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -17,16 +17,20 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
17
17
  _gsScope._gsDefine.plugin({
18
18
  propName: "attr",
19
19
  API: 2,
20
- version: "0.5.0",
20
+ version: "0.6.0",
21
21
 
22
22
  //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run.
23
- init: function(target, value, tween) {
24
- var p;
23
+ init: function(target, value, tween, index) {
24
+ var p, end;
25
25
  if (typeof(target.setAttribute) !== "function") {
26
26
  return false;
27
27
  }
28
28
  for (p in value) {
29
- this._addTween(target, "setAttribute", target.getAttribute(p) + "", value[p] + "", p, false, p);
29
+ end = value[p];
30
+ if (typeof(end) === "function") {
31
+ end = end(index, target);
32
+ }
33
+ this._addTween(target, "setAttribute", target.getAttribute(p) + "", end + "", p, false, p);
30
34
  this._overwriteProps.push(p);
31
35
  }
32
36
  return true;
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.3.6
3
- * DATE: 2016-05-24
2
+ * VERSION: 1.3.7
3
+ * DATE: 2016-07-12
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -314,7 +314,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
314
314
  BezierPlugin = _gsScope._gsDefine.plugin({
315
315
  propName: "bezier",
316
316
  priority: -1,
317
- version: "1.3.6",
317
+ version: "1.3.7",
318
318
  API: 2,
319
319
  global:true,
320
320
 
@@ -325,7 +325,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
325
325
  vars = {values:vars};
326
326
  }
327
327
  this._func = {};
328
- this._round = {};
328
+ this._mod = {};
329
329
  this._props = [];
330
330
  this._timeRes = (vars.timeResolution == null) ? 6 : parseInt(vars.timeResolution, 10);
331
331
  var values = vars.values || [],
@@ -378,6 +378,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
378
378
  }
379
379
  p = autoRotate[i][2];
380
380
  this._initialRotations[i] = (this._func[p] ? this._func[p].call(this._target) : this._target[p]) || 0;
381
+ this._overwriteProps.push(p);
381
382
  }
382
383
  }
383
384
  this._startRatio = tween.vars.runBackwards ? 1 : 0; //we determine the starting ratio when the tween inits which is always 0 unless the tween has runBackwards:true (indicating it's a from() tween) in which case it's 1.
@@ -448,8 +449,8 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
448
449
  p = this._props[i];
449
450
  b = this._beziers[p][curIndex];
450
451
  val = (t * t * b.da + 3 * inv * (t * b.ca + inv * b.ba)) * t + b.a;
451
- if (this._round[p]) {
452
- val = Math.round(val);
452
+ if (this._mod[p]) {
453
+ val = this._mod[p](val, target);
453
454
  }
454
455
  if (func[p]) {
455
456
  target[p](val);
@@ -485,6 +486,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
485
486
 
486
487
  val = notStart ? Math.atan2(y2 - y1, x2 - x1) * conv + add : this._initialRotations[i];
487
488
 
489
+ if (this._mod[p]) {
490
+ val = this._mod[p](val, target); //for modProps
491
+ }
492
+
488
493
  if (func[p]) {
489
494
  target[p](val);
490
495
  } else {
@@ -552,18 +557,21 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
552
557
  }
553
558
  data.autoRotate = cssp._target._gsTransform;
554
559
  data.proxy.rotation = data.autoRotate.rotation || 0;
560
+ cssp._overwriteProps.push("rotation");
555
561
  }
556
562
  plugin._onInitTween(data.proxy, v, cssp._tween);
557
563
  return pt;
558
564
  }});
559
565
  };
560
566
 
561
- p._roundProps = function(lookup, value) {
567
+ p._mod = function(lookup) {
562
568
  var op = this._overwriteProps,
563
- i = op.length;
569
+ i = op.length,
570
+ val;
564
571
  while (--i > -1) {
565
- if (lookup[op[i]] || lookup.bezier || lookup.bezierThrough) {
566
- this._round[op[i]] = value;
572
+ val = lookup[op[i]];
573
+ if (val && typeof(val) === "function") {
574
+ this._mod[op[i]] = val;
567
575
  }
568
576
  }
569
577
  };
@@ -583,6 +591,15 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
583
591
  }
584
592
  }
585
593
  }
594
+ a = this._autoRotate;
595
+ if (a) {
596
+ i = a.length;
597
+ while (--i > -1) {
598
+ if (lookup[a[i][2]]) {
599
+ a.splice(i, 1);
600
+ }
601
+ }
602
+ }
586
603
  return this._super._kill.call(this, lookup);
587
604
  };
588
605
 
@@ -595,7 +612,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
595
612
  return (_gsScope.GreenSockGlobals || _gsScope)[name];
596
613
  };
597
614
  if (typeof(define) === "function" && define.amd) { //AMD
598
- define(["../TweenLite"], getGlobal);
615
+ define(["TweenLite"], getGlobal);
599
616
  } else if (typeof(module) !== "undefined" && module.exports) { //node
600
617
  require("../TweenLite.js");
601
618
  module.exports = getGlobal();
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.18.5
3
- * DATE: 2016-05-24
2
+ * VERSION: 1.19.0
3
+ * DATE: 2016-07-14
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -31,7 +31,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
31
31
  p = CSSPlugin.prototype = new TweenPlugin("css");
32
32
 
33
33
  p.constructor = CSSPlugin;
34
- CSSPlugin.version = "1.18.5";
34
+ CSSPlugin.version = "1.19.0";
35
35
  CSSPlugin.API = 2;
36
36
  CSSPlugin.defaultTransformPerspective = 0;
37
37
  CSSPlugin.defaultSkewType = "compensated";
@@ -99,6 +99,8 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
99
99
  console.log(s);
100
100
  }
101
101
  },
102
+ _target, //when initting a CSSPlugin, we set this variable so that we can access it from within many other functions without having to pass it around as params
103
+ _index, //when initting a CSSPlugin, we set this variable so that we can access it from within many other functions without having to pass it around as params
102
104
 
103
105
  _prefixCSS = "", //the non-camelCase vendor prefix like "-o-", "-moz-", "-ms-", or "-webkit-"
104
106
  _prefix = "", //camelCase vendor prefix like "O", "ms", "Webkit", or "Moz".
@@ -313,10 +315,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
313
315
 
314
316
  // @private Parses position-related complex strings like "top left" or "50px 10px" or "70% 20%", etc. which are used for things like transformOrigin or backgroundPosition. Optionally decorates a supplied object (recObj) with the following properties: "ox" (offsetX), "oy" (offsetY), "oxp" (if true, "ox" is a percentage not a pixel value), and "oxy" (if true, "oy" is a percentage not a pixel value)
315
317
  _parsePosition = function(v, recObj) {
316
- if (v === "contain" || v === "auto" || v === "auto auto") {
318
+ if (v === "contain" || v === "auto" || v === "auto auto") { //note: Firefox uses "auto auto" as default whereas Chrome uses "auto".
317
319
  return v + " ";
318
320
  }
319
- if (v == null || v === "") { //note: Firefox uses "auto auto" as default whereas Chrome uses "auto".
321
+ if (v == null || v === "") {
320
322
  v = "0 0";
321
323
  }
322
324
  var a = v.split(" "),
@@ -359,6 +361,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
359
361
  * @return {number} Amount of change between the beginning and ending values (relative values that have a "+=" or "-=" are recognized)
360
362
  */
361
363
  _parseChange = function(e, b) {
364
+ if (typeof(e) === "function") {
365
+ e = e(_index, _target);
366
+ }
362
367
  return (typeof(e) === "string" && e.charAt(1) === "=") ? parseInt(e.charAt(0) + "1", 10) * parseFloat(e.substr(2)) : (parseFloat(e) - parseFloat(b)) || 0;
363
368
  },
364
369
 
@@ -369,6 +374,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
369
374
  * @return {number} Parsed value
370
375
  */
371
376
  _parseVal = function(v, d) {
377
+ if (typeof(v) === "function") {
378
+ v = v(_index, _target);
379
+ }
372
380
  return (v == null) ? d : (typeof(v) === "string" && v.charAt(1) === "=") ? parseInt(v.charAt(0) + "1", 10) * parseFloat(v.substr(2)) + d : parseFloat(v) || 0;
373
381
  },
374
382
 
@@ -383,6 +391,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
383
391
  _parseAngle = function(v, d, p, directionalEnd) {
384
392
  var min = 0.000001,
385
393
  cap, split, dif, result, isRelative;
394
+ if (typeof(v) === "function") {
395
+ v = v(_index, _target);
396
+ }
386
397
  if (v == null) {
387
398
  result = d;
388
399
  } else if (typeof(v) === "number") {
@@ -644,7 +655,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
644
655
  };
645
656
  },
646
657
 
647
- // @private used when other plugins must tween values first, like BezierPlugin or ThrowPropsPlugin, etc. That plugin's setRatio() gets called first so that the values are updated, and then we loop through the MiniPropTweens which handle copying the values into their appropriate slots so that they can then be applied correctly in the main CSSPlugin setRatio() method. Remember, we typically create a proxy object that has a bunch of uniquely-named properties that we feed to the sub-plugin and it does its magic normally, and then we must interpret those values and apply them to the css because often numbers must get combined/concatenated, suffixes added, etc. to work with css, like boxShadow could have 4 values plus a color.
658
+ // @private used when other plugins must tween values first, like BezierPlugin or ThrowPropsPlugin, etc. That plugin's setRatio() gets called first so that the values are updated, and then we loop through the MiniPropTweens which handle copying the values into their appropriate slots so that they can then be applied correctly in the main CSSPlugin setRatio() method. Remember, we typically create a proxy object that has a bunch of uniquely-named properties that we feed to the sub-plugin and it does its magic normally, and then we must interpret those values and apply them to the css because often numbers must get combined/concatenated, suffixes added, etc. to work with css, like boxShadow could have 4 values plus a color.
648
659
  _setPluginRatio = _internals._setPluginRatio = function(v) {
649
660
  this.plugin.setRatio(v);
650
661
  var d = this.data,
@@ -663,7 +674,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
663
674
  mpt = mpt._next;
664
675
  }
665
676
  if (d.autoRotate) {
666
- d.autoRotate.rotation = proxy.rotation;
677
+ d.autoRotate.rotation = d.mod ? d.mod(proxy.rotation, this.t) : proxy.rotation; //special case for ModifyPlugin to hook into an auto-rotating bezier
667
678
  }
668
679
  //at the end, we must set the CSSPropTween's "e" (end) value dynamically here because that's what is used in the final setRatio() method. Same for "b" at the beginning.
669
680
  if (v === 1 || v === 0) {
@@ -840,6 +851,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
840
851
  _parseComplex = CSSPlugin.parseComplex = function(t, p, b, e, clrs, dflt, pt, pr, plugin, setRatio) {
841
852
  //DEBUG: _log("parseComplex: "+p+", b: "+b+", e: "+e);
842
853
  b = b || dflt || "";
854
+ if (typeof(e) === "function") {
855
+ e = e(_index, _target);
856
+ }
843
857
  pt = new CSSPropTween(t, p, 0, 0, pt, (setRatio ? 2 : 1), null, false, pr, b, e);
844
858
  e += ""; //ensures it's a string
845
859
  if (clrs && _colorExp.test(e + b)) { //if colors are found, normalize the formatting to rgba() or hsla().
@@ -1045,7 +1059,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1045
1059
  },
1046
1060
 
1047
1061
  //creates a placeholder special prop for a plugin so that the property gets caught the first time a tween of it is attempted, and at that time it makes the plugin register itself, thus taking over for all future tweens of that property. This allows us to not mandate that things load in a particular order and it also allows us to log() an error that informs the user when they attempt to tween an external plugin-related property without loading its .js file.
1048
- _registerPluginProp = function(p) {
1062
+ _registerPluginProp = _internals._registerPluginProp = function(p) {
1049
1063
  if (!_specialProps[p]) {
1050
1064
  var pluginName = p.charAt(0).toUpperCase() + p.substr(1) + "Plugin";
1051
1065
  _registerComplexSpecialProp(p, {parser:function(t, e, p, cssp, pt, plugin, vars) {
@@ -1628,11 +1642,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1628
1642
  a12 = Math.sin(angle - skew) * -sy;
1629
1643
  a22 = Math.cos(angle - skew) * sy;
1630
1644
  if (skew && t.skewType === "simple") { //by default, we compensate skewing on the other axis to make it look more natural, but you can set the skewType to "simple" to use the uncompensated skewing that CSS does
1631
- t1 = Math.tan(skew);
1645
+ t1 = Math.tan(skew - t.skewY * _DEG2RAD);
1632
1646
  t1 = Math.sqrt(1 + t1 * t1);
1633
1647
  a12 *= t1;
1634
1648
  a22 *= t1;
1635
1649
  if (t.skewY) {
1650
+ t1 = Math.tan(t.skewY * _DEG2RAD);
1651
+ t1 = Math.sqrt(1 + t1 * t1);
1636
1652
  a11 *= t1;
1637
1653
  a21 *= t1;
1638
1654
  }
@@ -1687,11 +1703,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1687
1703
  cos = Math.cos(angle);
1688
1704
  sin = Math.sin(angle);
1689
1705
  if (t.skewType === "simple") { //by default, we compensate skewing on the other axis to make it look more natural, but you can set the skewType to "simple" to use the uncompensated skewing that CSS does
1690
- t1 = Math.tan(t.skewX * _DEG2RAD);
1706
+ t1 = Math.tan((t.skewX - t.skewY) * _DEG2RAD);
1691
1707
  t1 = Math.sqrt(1 + t1 * t1);
1692
1708
  cos *= t1;
1693
1709
  sin *= t1;
1694
1710
  if (t.skewY) {
1711
+ t1 = Math.tan(t.skewY * _DEG2RAD);
1712
+ t1 = Math.sqrt(1 + t1 * t1);
1695
1713
  a11 *= t1;
1696
1714
  a21 *= t1;
1697
1715
  }
@@ -1821,9 +1839,14 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1821
1839
  p.x = p.y = p.z = p.skewX = p.skewY = p.rotation = p.rotationX = p.rotationY = p.zOrigin = p.xPercent = p.yPercent = p.xOffset = p.yOffset = 0;
1822
1840
  p.scaleX = p.scaleY = p.scaleZ = 1;
1823
1841
 
1824
- _registerComplexSpecialProp("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", {parser:function(t, e, p, cssp, pt, plugin, vars) {
1842
+ _registerComplexSpecialProp("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", {parser:function(t, e, parsingProp, cssp, pt, plugin, vars) {
1825
1843
  if (cssp._lastParsedTransform === vars) { return pt; } //only need to parse the transform once, and only if the browser supports it.
1826
1844
  cssp._lastParsedTransform = vars;
1845
+ var swapFunc;
1846
+ if (typeof(vars[parsingProp]) === "function") { //whatever property triggers the initial parsing might be a function-based value in which case it already got called in parse(), thus we don't want to call it again in here. The most efficient way to avoid this is to temporarily swap the value directly into the vars object, and then after we do all our parsing in this function, we'll swap it back again.
1847
+ swapFunc = vars[parsingProp];
1848
+ vars[parsingProp] = e;
1849
+ }
1827
1850
  var originalGSTransform = t._gsTransform,
1828
1851
  style = t.style,
1829
1852
  min = 0.000001,
@@ -1831,12 +1854,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1831
1854
  v = vars,
1832
1855
  endRotations = {},
1833
1856
  transformOriginString = "transformOrigin",
1834
- m1 = _getTransform(t, _cs, true, vars.parseTransform),
1835
- m2, copy, orig, has3D, hasChange, dr, x, y, matrix;
1857
+ m1 = _getTransform(t, _cs, true, v.parseTransform),
1858
+ orig = v.transform && ((typeof(v.transform) === "function") ? v.transform(_index, _target) : v.transform),
1859
+ m2, copy, has3D, hasChange, dr, x, y, matrix, p;
1836
1860
  cssp._transform = m1;
1837
- if (typeof(v.transform) === "string" && _transformProp) { //for values like transform:"rotate(60deg) scale(0.5, 0.8)"
1861
+ if (orig && typeof(orig) === "string" && _transformProp) { //for values like transform:"rotate(60deg) scale(0.5, 0.8)"
1838
1862
  copy = _tempDiv.style; //don't use the original target because it might be SVG in which case some browsers don't report computed style correctly.
1839
- copy[_transformProp] = v.transform;
1863
+ copy[_transformProp] = orig;
1840
1864
  copy.display = "block"; //if display is "none", the browser often refuses to report the transform properties correctly.
1841
1865
  copy.position = "absolute";
1842
1866
  _doc.body.appendChild(_tempDiv);
@@ -1980,6 +2004,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1980
2004
  if (hasChange) {
1981
2005
  cssp._transformType = (!(m1.svg && _useSVGTransformAttr) && (has3D || this._transformType === 3)) ? 3 : 2; //quicker than calling cssp._enableTransforms();
1982
2006
  }
2007
+ if (swapFunc) {
2008
+ vars[parsingProp] = swapFunc;
2009
+ }
1983
2010
  return pt;
1984
2011
  }, prefix:true});
1985
2012
 
@@ -2071,7 +2098,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2071
2098
  }
2072
2099
  return this.parseComplex(t.style, bs, es, pt, plugin);
2073
2100
  }, formatter:_parsePosition});
2074
- _registerComplexSpecialProp("backgroundSize", {defaultValue:"0 0", formatter:_parsePosition});
2101
+ _registerComplexSpecialProp("backgroundSize", {defaultValue:"0 0", formatter:function(v) {
2102
+ v += ""; //ensure it's a string
2103
+ return _parsePosition(v.indexOf(" ") === -1 ? v + " " + v : v); //if set to something like "100% 100%", Safari typically reports the computed style as just "100%" (no 2nd value), but we should ensure that there are two values, so copy the first one. Otherwise, it'd be interpreted as "100% 0" (wrong).
2104
+ }});
2075
2105
  _registerComplexSpecialProp("perspective", {defaultValue:"0px", prefix:true});
2076
2106
  _registerComplexSpecialProp("perspectiveOrigin", {defaultValue:"50% 50%", prefix:true});
2077
2107
  _registerComplexSpecialProp("transformStyle", {prefix:true});
@@ -2304,13 +2334,14 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2304
2334
  p._firstPT = p._lastParsedTransform = p._transform = null;
2305
2335
 
2306
2336
  //gets called when the tween renders for the first time. This kicks everything off, recording start/end values, etc.
2307
- p._onInitTween = function(target, vars, tween) {
2337
+ p._onInitTween = function(target, vars, tween, index) {
2308
2338
  if (!target.nodeType) { //css is only for dom elements
2309
2339
  return false;
2310
2340
  }
2311
- this._target = target;
2341
+ this._target = _target = target;
2312
2342
  this._tween = tween;
2313
2343
  this._vars = vars;
2344
+ _index = index;
2314
2345
  _autoRound = vars.autoRound;
2315
2346
  _hasPriority = false;
2316
2347
  _suffixMap = vars.suffixMap || CSSPlugin.suffixMap;
@@ -2410,6 +2441,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2410
2441
  p, sp, bn, en, bs, es, bsfx, esfx, isStr, rel;
2411
2442
  for (p in vars) {
2412
2443
  es = vars[p]; //ending value string
2444
+ if (typeof(es) === "function") {
2445
+ es = es(_index, _target);
2446
+ }
2413
2447
  sp = _specialProps[p]; //SpecialProp lookup.
2414
2448
  if (sp) {
2415
2449
  pt = sp.parse(target, es, p, this, pt, plugin, vars);
@@ -2642,6 +2676,16 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2642
2676
  return pt;
2643
2677
  };
2644
2678
 
2679
+ p._mod = function(lookup) {
2680
+ var pt = this._firstPT;
2681
+ while (pt) {
2682
+ if (typeof(lookup[pt.p]) === "function" && lookup[pt.p] === Math.round) { //only gets called by RoundPropsPlugin (ModifyPlugin manages all the rendering internally for CSSPlugin properties that need modification). Remember, we handle rounding a bit differently in this plugin for performance reasons, leveraging "r" as an indicator that the value should be rounded internally..
2683
+ pt.r = 1;
2684
+ }
2685
+ pt = pt._next;
2686
+ }
2687
+ };
2688
+
2645
2689
  //we need to make sure that if alpha or autoAlpha is killed, opacity is too. And autoAlpha affects the "visibility" property.
2646
2690
  p._kill = function(lookup) {
2647
2691
  var copy = lookup,
@@ -2668,6 +2712,14 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2668
2712
  }
2669
2713
  this._classNamePT = null;
2670
2714
  }
2715
+ pt = this._firstPT;
2716
+ while (pt) {
2717
+ if (pt.plugin && pt.plugin !== p && pt.plugin._kill) { //for plugins that are registered with CSSPlugin, we should notify them of the kill.
2718
+ pt.plugin._kill(lookup);
2719
+ p = pt.plugin;
2720
+ }
2721
+ pt = pt._next;
2722
+ }
2671
2723
  return TweenPlugin.prototype._kill.call(this, copy);
2672
2724
  };
2673
2725
 
@@ -2766,7 +2818,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2766
2818
  return (_gsScope.GreenSockGlobals || _gsScope)[name];
2767
2819
  };
2768
2820
  if (typeof(define) === "function" && define.amd) { //AMD
2769
- define(["../TweenLite"], getGlobal);
2821
+ define(["TweenLite"], getGlobal);
2770
2822
  } else if (typeof(module) !== "undefined" && module.exports) { //node
2771
2823
  require("../TweenLite.js");
2772
2824
  module.exports = getGlobal();
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: beta 0.6.3
3
- * DATE: 2014-12-31
2
+ * VERSION: 0.6.4
3
+ * DATE: 2016-07-08
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -27,7 +27,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
27
27
 
28
28
  p._propName = "cssRule";
29
29
  p.constructor = CSSRulePlugin;
30
- CSSRulePlugin.version = "0.6.3";
30
+ CSSRulePlugin.version = "0.6.4";
31
31
  CSSRulePlugin.API = 2;
32
32
 
33
33
  /**
@@ -102,4 +102,18 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
102
102
 
103
103
  }, true);
104
104
 
105
- }); if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); }
105
+ }); if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); }
106
+
107
+ //export to AMD/RequireJS and CommonJS/Node (precursor to full modular build system coming at a later date)
108
+ (function(name) {
109
+ "use strict";
110
+ var getGlobal = function() {
111
+ return (_gsScope.GreenSockGlobals || _gsScope)[name];
112
+ };
113
+ if (typeof(define) === "function" && define.amd) { //AMD
114
+ define(["TweenLite"], getGlobal);
115
+ } else if (typeof(module) !== "undefined" && module.exports) { //node
116
+ require("../TweenLite.js");
117
+ module.exports = getGlobal();
118
+ }
119
+ }("CSSRulePlugin"));
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: beta 1.4.2
3
- * DATE: 2016-04-19
2
+ * VERSION: beta 1.5.0
3
+ * DATE: 2016-07-14
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -137,13 +137,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
137
137
 
138
138
  ColorPropsPlugin = _gsScope._gsDefine.plugin({
139
139
  propName: "colorProps",
140
- version: "1.4.2",
140
+ version: "1.5.0",
141
141
  priority: -1,
142
142
  API: 2,
143
143
  global: true,
144
144
 
145
145
  //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run.
146
- init: function(target, value, tween) {
146
+ init: function(target, value, tween, index) {
147
147
  var p, proxy, pt, val;
148
148
  this._target = target;
149
149
  this._proxy = proxy = ((value.format + "").toUpperCase() === "NUMBER") ? {} : 0;
@@ -153,9 +153,12 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
153
153
  this._firstNumPT = pt = {_next:this._firstNumPT, t:target, p:p, f:(typeof(target[p]) === "function")};
154
154
  proxy[p] = "rgb(" + _parseColor(!pt.f ? target[p] : target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ]()).join(",") + ")";
155
155
  val = value[p];
156
+ if (typeof(val) === "function") {
157
+ val = val(index, target);
158
+ }
156
159
  this._addTween(proxy, p, "get", ((typeof(val) === "number") ? "rgb(" + _parseColor(val, false).join(",") + ")" : val), p, null, null, _colorStringFilter);
157
160
  } else {
158
- this._addTween(target, p, "get", value[p], p, null, null, _colorStringFilter);
161
+ this._addTween(target, p, "get", value[p], p, null, null, _colorStringFilter, index);
159
162
  }
160
163
 
161
164
  }