greensock-rails 1.19.0.0 → 1.19.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/greensock/rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/greensock/TimelineLite.js +9 -9
  5. data/vendor/assets/javascripts/greensock/TimelineMax.js +25 -16
  6. data/vendor/assets/javascripts/greensock/TweenLite.js +28 -24
  7. data/vendor/assets/javascripts/greensock/TweenMax.js +139 -82
  8. data/vendor/assets/javascripts/greensock/easing/EasePack.js +2 -2
  9. data/vendor/assets/javascripts/greensock/jquery.gsap.js +2 -2
  10. data/vendor/assets/javascripts/greensock/plugins/AttrPlugin.js +17 -3
  11. data/vendor/assets/javascripts/greensock/plugins/BezierPlugin.js +3 -3
  12. data/vendor/assets/javascripts/greensock/plugins/CSSPlugin.js +91 -47
  13. data/vendor/assets/javascripts/greensock/plugins/CSSRulePlugin.js +3 -3
  14. data/vendor/assets/javascripts/greensock/plugins/ColorPropsPlugin.js +16 -2
  15. data/vendor/assets/javascripts/greensock/plugins/DirectionalRotationPlugin.js +17 -3
  16. data/vendor/assets/javascripts/greensock/plugins/EaselPlugin.js +27 -7
  17. data/vendor/assets/javascripts/greensock/plugins/EndArrayPlugin.js +2 -2
  18. data/vendor/assets/javascripts/greensock/plugins/ModifiersPlugin.js +18 -4
  19. data/vendor/assets/javascripts/greensock/plugins/RaphaelPlugin.js +2 -2
  20. data/vendor/assets/javascripts/greensock/plugins/RoundPropsPlugin.js +2 -2
  21. data/vendor/assets/javascripts/greensock/plugins/ScrollToPlugin.js +6 -5
  22. data/vendor/assets/javascripts/greensock/plugins/TEMPLATE_Plugin.js +2 -2
  23. data/vendor/assets/javascripts/greensock/plugins/TextPlugin.js +17 -3
  24. data/vendor/assets/javascripts/greensock/utils/Draggable.js +170 -52
  25. metadata +17 -17
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * VERSION: 1.15.5
3
- * DATE: 2016-07-08
3
+ * DATE: 2017-01-17
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
- * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
6
+ * @license Copyright (c) 2008-2017, GreenSock. All rights reserved.
7
7
  * This work is subject to the terms at http://greensock.com/standard-license or for
8
8
  * Club GreenSock members, the software agreement that was issued with your membership.
9
9
  *
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * VERSION: 0.1.12
3
- * DATE: 2015-08-11
3
+ * DATE: 2017-01-17
4
4
  * UPDATES AND DOCS AT: http://greensock.com/jquery-gsap-plugin/
5
5
  *
6
6
  * Requires TweenLite version 1.8.0 or higher and CSSPlugin.
7
7
  *
8
- * @license Copyright (c) 2013-2016, GreenSock. All rights reserved.
8
+ * @license Copyright (c) 2013-2017, GreenSock. All rights reserved.
9
9
  * This work is subject to the terms at http://greensock.com/standard-license or for
10
10
  * Club GreenSock members, the software agreement that was issued with your membership.
11
11
  *
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * VERSION: 0.6.0
3
- * DATE: 2016-07-13
3
+ * DATE: 2017-01-17
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
- * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
6
+ * @license Copyright (c) 2008-2017, GreenSock. All rights reserved.
7
7
  * This work is subject to the terms at http://greensock.com/standard-license or for
8
8
  * Club GreenSock members, the software agreement that was issued with your membership.
9
9
  *
@@ -38,4 +38,18 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
38
38
 
39
39
  });
40
40
 
41
- }); if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); }
41
+ }); if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); }
42
+
43
+ //export to AMD/RequireJS and CommonJS/Node (precursor to full modular build system coming at a later date)
44
+ (function(name) {
45
+ "use strict";
46
+ var getGlobal = function() {
47
+ return (_gsScope.GreenSockGlobals || _gsScope)[name];
48
+ };
49
+ if (typeof(define) === "function" && define.amd) { //AMD
50
+ define(["TweenLite"], getGlobal);
51
+ } else if (typeof(module) !== "undefined" && module.exports) { //node
52
+ require("../TweenLite.js");
53
+ module.exports = getGlobal();
54
+ }
55
+ }("AttrPlugin"));
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * VERSION: 1.3.7
3
- * DATE: 2016-07-12
3
+ * DATE: 2017-01-17
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
- * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
6
+ * @license Copyright (c) 2008-2017, GreenSock. All rights reserved.
7
7
  * This work is subject to the terms at http://greensock.com/standard-license or for
8
8
  * Club GreenSock members, the software agreement that was issued with your membership.
9
9
  *
@@ -128,7 +128,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
128
128
  }
129
129
  l = values.length - 2;
130
130
  if (l < 0) {
131
- a[0] = new Segment(values[0][p], 0, 0, values[(l < -1) ? 0 : 1][p]);
131
+ a[0] = new Segment(values[0][p], 0, 0, values[0][p]);
132
132
  return a;
133
133
  }
134
134
  for (i = 0; i < l; i++) {
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * VERSION: 1.19.0
3
- * DATE: 2016-07-14
2
+ * VERSION: 1.19.1
3
+ * DATE: 2017-01-17
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
- * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
6
+ * @license Copyright (c) 2008-2017, GreenSock. All rights reserved.
7
7
  * This work is subject to the terms at http://greensock.com/standard-license or for
8
8
  * Club GreenSock members, the software agreement that was issued with your membership.
9
9
  *
@@ -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.19.0";
34
+ CSSPlugin.version = "1.19.1";
35
35
  CSSPlugin.API = 2;
36
36
  CSSPlugin.defaultTransformPerspective = 0;
37
37
  CSSPlugin.defaultSkewType = "compensated";
@@ -61,14 +61,15 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
61
61
  _DEG2RAD = Math.PI / 180,
62
62
  _RAD2DEG = 180 / Math.PI,
63
63
  _forcePT = {},
64
- _doc = document,
65
- _createElement = function(type) {
66
- return _doc.createElementNS ? _doc.createElementNS("http://www.w3.org/1999/xhtml", type) : _doc.createElement(type);
64
+ _dummyElement = {style:{}},
65
+ _doc = _gsScope.document || {createElement: function() {return _dummyElement;}},
66
+ _createElement = function(type, ns) {
67
+ return _doc.createElementNS ? _doc.createElementNS(ns || "http://www.w3.org/1999/xhtml", type) : _doc.createElement(type);
67
68
  },
68
69
  _tempDiv = _createElement("div"),
69
70
  _tempImg = _createElement("img"),
70
71
  _internals = CSSPlugin._internals = {_specialProps:_specialProps}, //provides a hook to a few internal methods that we need to access from inside other plugins
71
- _agent = navigator.userAgent,
72
+ _agent = (_gsScope.navigator || {}).userAgent || "",
72
73
  _autoRound,
73
74
  _reqSafariFix, //we won't apply the Safari transform fix until we actually come across a tween that affects a transform property (to maintain best performance).
74
75
 
@@ -79,8 +80,8 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
79
80
  _supportsOpacity = (function() { //we set _isSafari, _ieVers, _isFirefox, and _supportsOpacity all in one function here to reduce file size slightly, especially in the minified version.
80
81
  var i = _agent.indexOf("Android"),
81
82
  a = _createElement("a");
82
- _isSafari = (_agent.indexOf("Safari") !== -1 && _agent.indexOf("Chrome") === -1 && (i === -1 || Number(_agent.substr(i+8, 1)) > 3));
83
- _isSafariLT6 = (_isSafari && (Number(_agent.substr(_agent.indexOf("Version/")+8, 1)) < 6));
83
+ _isSafari = (_agent.indexOf("Safari") !== -1 && _agent.indexOf("Chrome") === -1 && (i === -1 || parseFloat(_agent.substr(i+8, 2)) > 3));
84
+ _isSafariLT6 = (_isSafari && (parseFloat(_agent.substr(_agent.indexOf("Version/")+8, 2)) < 6));
84
85
  _isFirefox = (_agent.indexOf("Firefox") !== -1);
85
86
  if ((/MSIE ([0-9]{1,}[\.0-9]{0,})/).exec(_agent) || (/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/).exec(_agent)) {
86
87
  _ieVers = parseFloat( RegExp.$1 );
@@ -95,7 +96,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
95
96
  return (_opacityExp.test( ((typeof(v) === "string") ? v : (v.currentStyle ? v.currentStyle.filter : v.style.filter) || "") ) ? ( parseFloat( RegExp.$1 ) / 100 ) : 1);
96
97
  },
97
98
  _log = function(s) {//for logging messages, but in a way that won't throw errors in old versions of IE.
98
- if (window.console) {
99
+ if (_gsScope.console) {
99
100
  console.log(s);
100
101
  }
101
102
  },
@@ -299,7 +300,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
299
300
  _getDimension = function(t, p, cs) {
300
301
  if ((t.nodeName + "").toLowerCase() === "svg") { //Chrome no longer supports offsetWidth/offsetHeight on SVG elements.
301
302
  return (cs || _getComputedStyle(t))[p] || 0;
302
- } else if (t.getBBox && _isSVG(t)) {
303
+ } else if (t.getCTM && _isSVG(t)) {
303
304
  return t.getBBox()[p] || 0;
304
305
  }
305
306
  var v = parseFloat((p === "width") ? t.offsetWidth : t.offsetHeight),
@@ -1179,7 +1180,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1179
1180
 
1180
1181
 
1181
1182
  //transform-related methods and properties
1182
- CSSPlugin.useSVGTransformAttr = _isSafari || _isFirefox; //Safari and Firefox both have some rendering bugs when applying CSS transforms to SVG elements, so default to using the "transform" attribute instead (users can override this).
1183
+ CSSPlugin.useSVGTransformAttr = true; //Safari and Firefox both have some rendering bugs when applying CSS transforms to SVG elements, so default to using the "transform" attribute instead (users can override this).
1183
1184
  var _transformProps = ("scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent").split(","),
1184
1185
  _transformProp = _checkPropPrefix("transform"), //the Javascript (camelCase) transform property, like msTransform, WebkitTransform, MozTransform, or OTransform.
1185
1186
  _transformPropCSS = _prefixCSS + "transform",
@@ -1189,7 +1190,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1189
1190
  this.perspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0;
1190
1191
  this.force3D = (CSSPlugin.defaultForce3D === false || !_supports3D) ? false : CSSPlugin.defaultForce3D || "auto";
1191
1192
  },
1192
- _SVGElement = window.SVGElement,
1193
+ _SVGElement = _gsScope.SVGElement,
1193
1194
  _useSVGTransformAttr,
1194
1195
  //Some browsers (like Firefox and IE) don't honor transform-origin properly in SVG elements, so we need to manually adjust the matrix accordingly. We feature detect here rather than always doing the conversion for certain browsers because they may fix the problem at some point in the future.
1195
1196
 
@@ -1203,10 +1204,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1203
1204
  container.appendChild(element);
1204
1205
  return element;
1205
1206
  },
1206
- _docElement = _doc.documentElement,
1207
+ _docElement = _doc.documentElement || {},
1207
1208
  _forceSVGTransformAttr = (function() {
1208
1209
  //IE and Android stock don't support CSS transforms on SVG elements, so we must write them to the "transform" attribute. We populate this variable in the _parseTransform() method, and only if/when we come across an SVG element
1209
- var force = _ieVers || (/Android/i.test(_agent) && !window.chrome),
1210
+ var force = _ieVers || (/Android/i.test(_agent) && !_gsScope.chrome),
1210
1211
  svg, rect, width;
1211
1212
  if (_doc.createElementNS && !force) { //IE8 and earlier doesn't support SVG anyway
1212
1213
  svg = _createSVG("svg", _docElement);
@@ -1229,6 +1230,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1229
1230
  }
1230
1231
  if (!absolute || (v = absolute.split(" ")).length < 2) {
1231
1232
  b = e.getBBox();
1233
+ if (b.x === 0 && b.y === 0 && b.width + b.height === 0) { //some browsers (like Firefox) misreport the bounds if the element has zero width and height (it just assumes it's at x:0, y:0), thus we need to manually grab the position in that case.
1234
+ b = {x: parseFloat(e.hasAttribute("x") ? e.getAttribute("x") : e.hasAttribute("cx") ? e.getAttribute("cx") : 0) || 0, y: parseFloat(e.hasAttribute("y") ? e.getAttribute("y") : e.hasAttribute("cy") ? e.getAttribute("cy") : 0) || 0, width:0, height:0};
1235
+ }
1232
1236
  local = _parsePosition(local).split(" ");
1233
1237
  v = [(local[0].indexOf("%") !== -1 ? parseFloat(local[0]) / 100 * b.width : parseFloat(local[0])) + b.x,
1234
1238
  (local[1].indexOf("%") !== -1 ? parseFloat(local[1]) / 100 * b.height : parseFloat(local[1])) + b.y];
@@ -1243,10 +1247,12 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1243
1247
  tx = m[4];
1244
1248
  ty = m[5];
1245
1249
  determinant = (a * d - b * c);
1246
- x = xOrigin * (d / determinant) + yOrigin * (-c / determinant) + ((c * ty - d * tx) / determinant);
1247
- y = xOrigin * (-b / determinant) + yOrigin * (a / determinant) - ((a * ty - b * tx) / determinant);
1248
- xOrigin = decoratee.xOrigin = v[0] = x;
1249
- yOrigin = decoratee.yOrigin = v[1] = y;
1250
+ if (determinant) { //if it's zero (like if scaleX and scaleY are zero), skip it to avoid errors with dividing by zero.
1251
+ x = xOrigin * (d / determinant) + yOrigin * (-c / determinant) + ((c * ty - d * tx) / determinant);
1252
+ y = xOrigin * (-b / determinant) + yOrigin * (a / determinant) - ((a * ty - b * tx) / determinant);
1253
+ xOrigin = decoratee.xOrigin = v[0] = x;
1254
+ yOrigin = decoratee.yOrigin = v[1] = y;
1255
+ }
1250
1256
  }
1251
1257
  if (tm) { //avoid jump when transformOrigin is changed - adjust the x/y values accordingly
1252
1258
  if (skipRecord) {
@@ -1270,13 +1276,42 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1270
1276
  e.setAttribute("data-svg-origin", v.join(" "));
1271
1277
  }
1272
1278
  },
1273
- _canGetBBox = function(e) {
1279
+ _getBBoxHack = function(swapIfPossible) { //works around issues in some browsers (like Firefox) that don't correctly report getBBox() on SVG elements inside a <defs> element and/or <mask>. We try creating an SVG, adding it to the documentElement and toss the element in there so that it's definitely part of the rendering tree, then grab the bbox and if it works, we actually swap out the original getBBox() method for our own that does these extra steps whenever getBBox is needed. This helps ensure that performance is optimal (only do all these extra steps when absolutely necessary...most elements don't need it).
1280
+ var svg = _createElement("svg", this.ownerSVGElement.getAttribute("xmlns") || "http://www.w3.org/2000/svg"),
1281
+ oldParent = this.parentNode,
1282
+ oldSibling = this.nextSibling,
1283
+ oldCSS = this.style.cssText,
1284
+ bbox;
1285
+ _docElement.appendChild(svg);
1286
+ svg.appendChild(this);
1287
+ this.style.display = "block";
1288
+ if (swapIfPossible) {
1289
+ try {
1290
+ bbox = this.getBBox();
1291
+ this._originalGetBBox = this.getBBox;
1292
+ this.getBBox = _getBBoxHack;
1293
+ } catch (e) { }
1294
+ } else if (this._originalGetBBox) {
1295
+ bbox = this._originalGetBBox();
1296
+ }
1297
+ if (oldSibling) {
1298
+ oldParent.insertBefore(this, oldSibling);
1299
+ } else {
1300
+ oldParent.appendChild(this);
1301
+ }
1302
+ _docElement.removeChild(svg);
1303
+ this.style.cssText = oldCSS;
1304
+ return bbox;
1305
+ },
1306
+ _getBBox = function(e) {
1274
1307
  try {
1275
1308
  return e.getBBox(); //Firefox throws errors if you try calling getBBox() on an SVG element that's not rendered (like in a <symbol> or <defs>). https://bugzilla.mozilla.org/show_bug.cgi?id=612118
1276
- } catch (e) {}
1309
+ } catch (error) {
1310
+ return _getBBoxHack.call(e, true);
1311
+ }
1277
1312
  },
1278
1313
  _isSVG = function(e) { //reports if the element is an SVG on which getBBox() actually works
1279
- return !!(_SVGElement && e.getBBox && e.getCTM && _canGetBBox(e) && (!e.parentNode || (e.parentNode.getBBox && e.parentNode.getCTM)));
1314
+ return !!(_SVGElement && e.getCTM && _getBBox(e) && (!e.parentNode || e.ownerSVGElement));
1280
1315
  },
1281
1316
  _identity2DMatrix = [1,0,0,1,0,0],
1282
1317
  _getMatrix = function(e, force2D) {
@@ -1312,7 +1347,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1312
1347
  _docElement.removeChild(e);
1313
1348
  }
1314
1349
  }
1315
- if (tm.svg || (e.getBBox && _isSVG(e))) {
1350
+ if (tm.svg || (e.getCTM && _isSVG(e))) {
1316
1351
  if (isDefault && (style[_transformProp] + "").indexOf("matrix") !== -1) { //some browsers (like Chrome 40) don't correctly report transforms that are applied inline on an SVG element (they don't get included in the computed style), so we double-check here and accept matrix values
1317
1352
  s = style[_transformProp];
1318
1353
  isDefault = 0;
@@ -1361,7 +1396,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1361
1396
  defaultTransformPerspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0,
1362
1397
  m, i, scaleX, scaleY, rotation, skewX;
1363
1398
 
1364
- tm.svg = !!(t.getBBox && _isSVG(t));
1399
+ tm.svg = !!(t.getCTM && _isSVG(t));
1365
1400
  if (tm.svg) {
1366
1401
  _parseSVGOrigin(t, _getStyle(t, _transformOriginProp, cs, false, "50% 50%") + "", tm, t.getAttribute("data-svg-origin"));
1367
1402
  _useSVGTransformAttr = CSSPlugin.useSVGTransformAttr || _forceSVGTransformAttr;
@@ -1627,27 +1662,34 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1627
1662
  isSVG = t.svg,
1628
1663
  perspective = t.perspective,
1629
1664
  force3D = t.force3D,
1630
- a11, a12, a13, a21, a22, a23, a31, a32, a33, a41, a42, a43,
1631
- zOrigin, min, cos, sin, t1, t2, transform, comma, zero, skew, rnd;
1665
+ skewY = t.skewY,
1666
+ skewX = t.skewX,
1667
+ t1, a11, a12, a13, a21, a22, a23, a31, a32, a33, a41, a42, a43,
1668
+ zOrigin, min, cos, sin, t2, transform, comma, zero, skew, rnd;
1669
+ if (skewY) { //for performance reasons, we combine all skewing into the skewX and rotation values. Remember, a skewY of 10 degrees looks the same as a rotation of 10 degrees plus a skewX of 10 degrees.
1670
+ skewX += skewY;
1671
+ angle += skewY;
1672
+ }
1673
+
1632
1674
  //check to see if we should render as 2D (and SVGs must use 2D when _useSVGTransformAttr is true)
1633
1675
  if (((((v === 1 || v === 0) && force3D === "auto" && (this.tween._totalTime === this.tween._totalDuration || !this.tween._totalTime)) || !force3D) && !z && !perspective && !rotationY && !rotationX && sz === 1) || (_useSVGTransformAttr && isSVG) || !_supports3D) { //on the final render (which could be 0 for a from tween), if there are no 3D aspects, render in 2D to free up memory and improve performance especially on mobile devices. Check the tween's totalTime/totalDuration too in order to make sure it doesn't happen between repeats if it's a repeating tween.
1634
1676
 
1635
1677
  //2D
1636
- if (angle || t.skewX || isSVG) {
1678
+ if (angle || skewX || isSVG) {
1637
1679
  angle *= _DEG2RAD;
1638
- skew = t.skewX * _DEG2RAD;
1680
+ skew = skewX * _DEG2RAD;
1639
1681
  rnd = 100000;
1640
1682
  a11 = Math.cos(angle) * sx;
1641
1683
  a21 = Math.sin(angle) * sx;
1642
1684
  a12 = Math.sin(angle - skew) * -sy;
1643
1685
  a22 = Math.cos(angle - skew) * sy;
1644
1686
  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
1645
- t1 = Math.tan(skew - t.skewY * _DEG2RAD);
1687
+ t1 = Math.tan(skew - skewY * _DEG2RAD);
1646
1688
  t1 = Math.sqrt(1 + t1 * t1);
1647
1689
  a12 *= t1;
1648
1690
  a22 *= t1;
1649
- if (t.skewY) {
1650
- t1 = Math.tan(t.skewY * _DEG2RAD);
1691
+ if (skewY) {
1692
+ t1 = Math.tan(skewY * _DEG2RAD);
1651
1693
  t1 = Math.sqrt(1 + t1 * t1);
1652
1694
  a11 *= t1;
1653
1695
  a21 *= t1;
@@ -1694,21 +1736,21 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1694
1736
  perspective = 0;
1695
1737
  }
1696
1738
  }
1697
- if (angle || t.skewX) {
1739
+ if (angle || skewX) {
1698
1740
  angle *= _DEG2RAD;
1699
1741
  cos = a11 = Math.cos(angle);
1700
1742
  sin = a21 = Math.sin(angle);
1701
- if (t.skewX) {
1702
- angle -= t.skewX * _DEG2RAD;
1743
+ if (skewX) {
1744
+ angle -= skewX * _DEG2RAD;
1703
1745
  cos = Math.cos(angle);
1704
1746
  sin = Math.sin(angle);
1705
1747
  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
1706
- t1 = Math.tan((t.skewX - t.skewY) * _DEG2RAD);
1748
+ t1 = Math.tan((skewX - skewY) * _DEG2RAD);
1707
1749
  t1 = Math.sqrt(1 + t1 * t1);
1708
1750
  cos *= t1;
1709
1751
  sin *= t1;
1710
1752
  if (t.skewY) {
1711
- t1 = Math.tan(t.skewY * _DEG2RAD);
1753
+ t1 = Math.tan(skewY * _DEG2RAD);
1712
1754
  t1 = Math.sqrt(1 + t1 * t1);
1713
1755
  a11 *= t1;
1714
1756
  a21 *= t1;
@@ -1842,11 +1884,15 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1842
1884
  _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) {
1843
1885
  if (cssp._lastParsedTransform === vars) { return pt; } //only need to parse the transform once, and only if the browser supports it.
1844
1886
  cssp._lastParsedTransform = vars;
1845
- var swapFunc;
1887
+ var scaleFunc = (vars.scale && typeof(vars.scale) === "function") ? vars.scale : 0, //if there's a function-based "scale" value, swap in the resulting numeric value temporarily. Otherwise, if it's called for both scaleX and scaleY independently, they may not match (like if the function uses Math.random()).
1888
+ swapFunc;
1846
1889
  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
1890
  swapFunc = vars[parsingProp];
1848
1891
  vars[parsingProp] = e;
1849
1892
  }
1893
+ if (scaleFunc) {
1894
+ vars.scale = scaleFunc(_index, t);
1895
+ }
1850
1896
  var originalGSTransform = t._gsTransform,
1851
1897
  style = t.style,
1852
1898
  min = 0.000001,
@@ -1923,18 +1969,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1923
1969
  m2.yPercent = _parseVal(v.y, m1.yPercent);
1924
1970
  }
1925
1971
 
1926
- m2.rotation = _parseAngle(("rotation" in v) ? v.rotation : ("shortRotation" in v) ? v.shortRotation + "_short" : ("rotationZ" in v) ? v.rotationZ : m1.rotation - m1.skewY, m1.rotation - m1.skewY, "rotation", endRotations); //see notes below about skewY for why we subtract it from rotation here
1972
+ m2.rotation = _parseAngle(("rotation" in v) ? v.rotation : ("shortRotation" in v) ? v.shortRotation + "_short" : ("rotationZ" in v) ? v.rotationZ : m1.rotation, m1.rotation, "rotation", endRotations);
1927
1973
  if (_supports3D) {
1928
1974
  m2.rotationX = _parseAngle(("rotationX" in v) ? v.rotationX : ("shortRotationX" in v) ? v.shortRotationX + "_short" : m1.rotationX || 0, m1.rotationX, "rotationX", endRotations);
1929
1975
  m2.rotationY = _parseAngle(("rotationY" in v) ? v.rotationY : ("shortRotationY" in v) ? v.shortRotationY + "_short" : m1.rotationY || 0, m1.rotationY, "rotationY", endRotations);
1930
1976
  }
1931
- m2.skewX = _parseAngle(v.skewX, m1.skewX - m1.skewY); //see notes below about skewY and why we subtract it from skewX here
1932
-
1933
- //note: for performance reasons, we combine all skewing into the skewX and rotation values, ignoring skewY but we must still record it so that we can discern how much of the overall skew is attributed to skewX vs. skewY. Otherwise, if the skewY would always act relative (tween skewY to 10deg, for example, multiple times and if we always combine things into skewX, we can't remember that skewY was 10 from last time). Remember, a skewY of 10 degrees looks the same as a rotation of 10 degrees plus a skewX of -10 degrees.
1934
- if ((m2.skewY = _parseAngle(v.skewY, m1.skewY))) {
1935
- m2.skewX += m2.skewY;
1936
- m2.rotation += m2.skewY;
1937
- }
1977
+ m2.skewX = _parseAngle(v.skewX, m1.skewX);
1978
+ m2.skewY = _parseAngle(v.skewY, m1.skewY);
1938
1979
  }
1939
1980
  if (_supports3D && v.force3D != null) {
1940
1981
  m1.force3D = v.force3D;
@@ -1974,7 +2015,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1974
2015
  pt = _addNonTweeningNumericPT(m1, "xOffset", (originalGSTransform ? x : m1.xOffset), m1.xOffset, pt, transformOriginString);
1975
2016
  pt = _addNonTweeningNumericPT(m1, "yOffset", (originalGSTransform ? y : m1.yOffset), m1.yOffset, pt, transformOriginString);
1976
2017
  }
1977
- orig = _useSVGTransformAttr ? null : "0px 0px"; //certain browsers (like firefox) completely botch transform-origin, so we must remove it to prevent it from contaminating transforms. We manage it ourselves with xOrigin and yOrigin
2018
+ orig = "0px 0px"; //certain browsers (like firefox) completely botch transform-origin, so we must remove it to prevent it from contaminating transforms. We manage it ourselves with xOrigin and yOrigin
1978
2019
  }
1979
2020
  if (orig || (_supports3D && has3D && m1.zOrigin)) { //if anything 3D is happening and there's a transformOrigin with a z component that's non-zero, we must ensure that the transformOrigin's z-component is set to 0 so that we can manually do those calculations to get around Safari bugs. Even if the user didn't specifically define a "transformOrigin" in this particular tween (maybe they did it via css directly).
1980
2021
  if (_transformProp) {
@@ -2007,6 +2048,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2007
2048
  if (swapFunc) {
2008
2049
  vars[parsingProp] = swapFunc;
2009
2050
  }
2051
+ if (scaleFunc) {
2052
+ vars.scale = scaleFunc;
2053
+ }
2010
2054
  return pt;
2011
2055
  }, prefix:true});
2012
2056
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * VERSION: 0.6.4
3
- * DATE: 2016-07-08
3
+ * DATE: 2017-01-17
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
- * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
6
+ * @license Copyright (c) 2008-2017, GreenSock. All rights reserved.
7
7
  * This work is subject to the terms at http://greensock.com/standard-license or for
8
8
  * Club GreenSock members, the software agreement that was issued with your membership.
9
9
  *
@@ -21,7 +21,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
21
21
  TweenPlugin.call(this, "cssRule");
22
22
  this._overwriteProps.length = 0;
23
23
  },
24
- _doc = window.document,
24
+ _doc = _gsScope.document,
25
25
  _superSetRatio = CSSPlugin.prototype.setRatio,
26
26
  p = CSSRulePlugin.prototype = new CSSPlugin();
27
27
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * VERSION: beta 1.5.0
3
- * DATE: 2016-07-14
3
+ * DATE: 2017-01-17
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
- * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
6
+ * @license Copyright (c) 2008-2017, GreenSock. All rights reserved.
7
7
  * This work is subject to the terms at http://greensock.com/standard-license or for
8
8
  * Club GreenSock members, the software agreement that was issued with your membership.
9
9
  *
@@ -226,3 +226,17 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
226
226
  };
227
227
 
228
228
  }); if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); }
229
+
230
+ //export to AMD/RequireJS and CommonJS/Node (precursor to full modular build system coming at a later date)
231
+ (function(name) {
232
+ "use strict";
233
+ var getGlobal = function() {
234
+ return (_gsScope.GreenSockGlobals || _gsScope)[name];
235
+ };
236
+ if (typeof(define) === "function" && define.amd) { //AMD
237
+ define(["TweenLite"], getGlobal);
238
+ } else if (typeof(module) !== "undefined" && module.exports) { //node
239
+ require("../TweenLite.js");
240
+ module.exports = getGlobal();
241
+ }
242
+ }("ColorPropsPlugin"));
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * VERSION: 0.3.0
3
- * DATE: 2016-07-12
3
+ * DATE: 2017-01-17
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
- * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
6
+ * @license Copyright (c) 2008-2017, GreenSock. All rights reserved.
7
7
  * This work is subject to the terms at http://greensock.com/standard-license or for
8
8
  * Club GreenSock members, the software agreement that was issued with your membership.
9
9
  *
@@ -82,4 +82,18 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
82
82
 
83
83
  })._autoCSS = true;
84
84
 
85
- }); if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); }
85
+ }); if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); }
86
+
87
+ //export to AMD/RequireJS and CommonJS/Node (precursor to full modular build system coming at a later date)
88
+ (function(name) {
89
+ "use strict";
90
+ var getGlobal = function() {
91
+ return (_gsScope.GreenSockGlobals || _gsScope)[name];
92
+ };
93
+ if (typeof(define) === "function" && define.amd) { //AMD
94
+ define(["TweenLite"], getGlobal);
95
+ } else if (typeof(module) !== "undefined" && module.exports) { //node
96
+ require("../TweenLite.js");
97
+ module.exports = getGlobal();
98
+ }
99
+ }("DirectionalRotationPlugin"));