greensock-rails 1.18.4.0 → 1.18.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dbf0e3b6ead100678741ebf8345426e4f7ebe884
4
- data.tar.gz: 72b2330fa7094406d3021719626df021de9c18ff
3
+ metadata.gz: 9e577dd6cfa35446cb317cd9d0ad0b0b9dfc88ff
4
+ data.tar.gz: 38ab680a2994ed4bf011c60cdccc9879a3fd8bda
5
5
  SHA512:
6
- metadata.gz: dd39b2d7353e8e76009609f15d1fcc8ff5627384dd502e114a0005cf88b690fb142ae4b026b84d71e8ee3ac5b0cd5f483badb367995c95b2bc8c6f50d755eb95
7
- data.tar.gz: 8bb67657f5bed32341933bd37ffc0183c712ddea1a92cbc4290a3188c8583c8e3bfd89b121ae35f6a445a949a46250544fc63a840a5933459ce73af90a3129c5
6
+ metadata.gz: a19ab0d07d47ca041d797854a000ddd5089030b0a837097ac70991ca1fdc412107e2abc5113ae0a9f88169b0c814224e8a78bf6baeca2365ac368ccec1096b0d
7
+ data.tar.gz: 1a7cc72c473566e4c51deeb7f5457f4c519cd309864c83324084502dfdcd0b39fd162fa74b0d20ab23b205c152aee35458a91d3f9a26000805b65955b4355d30
@@ -1,5 +1,5 @@
1
1
  module Greensock
2
2
  module Rails
3
- VERSION = "1.18.4.0"
3
+ VERSION = "1.18.5.0"
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.18.4
3
- * DATE: 2016-04-26
2
+ * VERSION: 1.18.5
3
+ * DATE: 2016-05-24
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -69,7 +69,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
69
69
  },
70
70
  p = TimelineLite.prototype = new SimpleTimeline();
71
71
 
72
- TimelineLite.version = "1.18.4";
72
+ TimelineLite.version = "1.18.5";
73
73
  p.constructor = TimelineLite;
74
74
  p.kill()._gc = p._forcingPlayhead = p._hasPause = false;
75
75
 
@@ -136,6 +136,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
136
136
  }
137
137
  if (cycle) {
138
138
  _applyCycle(copy, targets, i);
139
+ if (copy.duration != null) {
140
+ duration = copy.duration;
141
+ delete copy.duration;
142
+ }
139
143
  }
140
144
  tl.to(targets[i], duration, copy, i * stagger);
141
145
  }
@@ -456,7 +460,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
456
460
  this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example.
457
461
  }
458
462
 
459
- if (prevTime === 0) if (this.vars.onStart) if (this._time !== 0) if (!suppressEvents) {
463
+ if (prevTime === 0) if (this.vars.onStart) if (this._time !== 0 || !this._duration) if (!suppressEvents) {
460
464
  this._callback("onStart");
461
465
  }
462
466
 
@@ -769,7 +773,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
769
773
  return (_gsScope.GreenSockGlobals || _gsScope)[name];
770
774
  };
771
775
  if (typeof(define) === "function" && define.amd) { //AMD
772
- define(["TweenLite"], getGlobal);
776
+ define(["./TweenLite"], getGlobal);
773
777
  } else if (typeof(module) !== "undefined" && module.exports) { //node
774
778
  require("./TweenLite.js"); //dependency
775
779
  module.exports = getGlobal();
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.18.4
3
- * DATE: 2016-04-26
2
+ * VERSION: 1.18.5
3
+ * DATE: 2016-05-24
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -33,7 +33,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
33
33
 
34
34
  p.constructor = TimelineMax;
35
35
  p.kill()._gc = false;
36
- TimelineMax.version = "1.18.4";
36
+ TimelineMax.version = "1.18.5";
37
37
 
38
38
  p.invalidate = function() {
39
39
  this._yoyo = (this.vars.yoyo === true);
@@ -292,7 +292,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
292
292
  this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example.
293
293
  }
294
294
 
295
- if (prevTotalTime === 0) if (this.vars.onStart) if (this._totalTime !== 0) if (!suppressEvents) {
295
+ if (prevTotalTime === 0) if (this.vars.onStart) if (this._totalTime !== 0 || !this._totalDuration) if (!suppressEvents) {
296
296
  this._callback("onStart");
297
297
  }
298
298
 
@@ -573,7 +573,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
573
573
  },
574
574
  p = TimelineLite.prototype = new SimpleTimeline();
575
575
 
576
- TimelineLite.version = "1.18.4";
576
+ TimelineLite.version = "1.18.5";
577
577
  p.constructor = TimelineLite;
578
578
  p.kill()._gc = p._forcingPlayhead = p._hasPause = false;
579
579
 
@@ -640,6 +640,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
640
640
  }
641
641
  if (cycle) {
642
642
  _applyCycle(copy, targets, i);
643
+ if (copy.duration != null) {
644
+ duration = copy.duration;
645
+ delete copy.duration;
646
+ }
643
647
  }
644
648
  tl.to(targets[i], duration, copy, i * stagger);
645
649
  }
@@ -960,7 +964,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
960
964
  this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example.
961
965
  }
962
966
 
963
- if (prevTime === 0) if (this.vars.onStart) if (this._time !== 0) if (!suppressEvents) {
967
+ if (prevTime === 0) if (this.vars.onStart) if (this._time !== 0 || !this._duration) if (!suppressEvents) {
964
968
  this._callback("onStart");
965
969
  }
966
970
 
@@ -1272,7 +1276,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1272
1276
  return (_gsScope.GreenSockGlobals || _gsScope)[name];
1273
1277
  };
1274
1278
  if (typeof(define) === "function" && define.amd) { //AMD
1275
- define(["TweenLite"], getGlobal);
1279
+ define(["./TweenLite"], getGlobal);
1276
1280
  } else if (typeof(module) !== "undefined" && module.exports) { //node
1277
1281
  require("./TweenLite.js"); //dependency
1278
1282
  module.exports = getGlobal();
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.18.4
3
- * DATE: 2016-04-26
2
+ * VERSION: 1.18.5
3
+ * DATE: 2016-05-24
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -12,7 +12,8 @@
12
12
  (function(window, moduleName) {
13
13
 
14
14
  "use strict";
15
- var _globals = window.GreenSockGlobals = window.GreenSockGlobals || window;
15
+ var _exports = {},
16
+ _globals = window.GreenSockGlobals = window.GreenSockGlobals || window;
16
17
  if (_globals.TweenLite) {
17
18
  return; //in case the core set of classes is already loaded, don't instantiate twice.
18
19
  }
@@ -106,8 +107,15 @@
106
107
  hasModule = (typeof(module) !== "undefined" && module.exports);
107
108
  if (!hasModule && typeof(define) === "function" && define.amd){ //AMD
108
109
  define((window.GreenSockAMDPath ? window.GreenSockAMDPath + "/" : "") + ns.split(".").pop(), [], function() { return cl; });
109
- } else if (ns === moduleName && hasModule){ //node
110
- module.exports = cl;
110
+ } else if (hasModule){ //node
111
+ if (ns === moduleName) {
112
+ module.exports = _exports[moduleName] = cl;
113
+ for (i in _exports) {
114
+ cl[i] = _exports[i];
115
+ }
116
+ } else if (_exports[moduleName]) {
117
+ _exports[moduleName][n] = cl;
118
+ }
111
119
  }
112
120
  }
113
121
  for (i = 0; i < this.sc.length; i++) {
@@ -215,6 +223,9 @@
215
223
  var list = this._listeners[type],
216
224
  index = 0,
217
225
  listener, i;
226
+ if (this === _ticker && !_tickerActive) {
227
+ _ticker.wake();
228
+ }
218
229
  if (list == null) {
219
230
  this._listeners[type] = list = [];
220
231
  }
@@ -228,9 +239,6 @@
228
239
  }
229
240
  }
230
241
  list.splice(index, 0, {c:callback, s:scope, up:useParam, pr:priority});
231
- if (this === _ticker && !_tickerActive) {
232
- _ticker.wake();
233
- }
234
242
  };
235
243
 
236
244
  p.removeEventListener = function(type, callback) {
@@ -925,7 +933,7 @@
925
933
  p._firstPT = p._targets = p._overwrittenProps = p._startAt = null;
926
934
  p._notifyPluginsOfEnabled = p._lazy = false;
927
935
 
928
- TweenLite.version = "1.18.4";
936
+ TweenLite.version = "1.18.5";
929
937
  TweenLite.defaultEase = p._ease = new Ease(null, null, 1, 1);
930
938
  TweenLite.defaultOverwrite = "auto";
931
939
  TweenLite.ticker = _ticker;
@@ -1055,7 +1063,7 @@
1055
1063
  _plugins = TweenLite._plugins = {},
1056
1064
  _tweenLookup = _internals.tweenLookup = {},
1057
1065
  _tweenLookupNum = 0,
1058
- _reservedProps = _internals.reservedProps = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, onCompleteScope:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, onUpdateScope:1, onStart:1, onStartParams:1, onStartScope:1, onReverseComplete:1, onReverseCompleteParams:1, onReverseCompleteScope:1, onRepeat:1, onRepeatParams:1, onRepeatScope:1, easeParams:1, yoyo:1, immediateRender:1, repeat:1, repeatDelay:1, data:1, paused:1, reversed:1, autoCSS:1, lazy:1, onOverwrite:1, callbackScope:1, stringFilter:1},
1066
+ _reservedProps = _internals.reservedProps = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, onCompleteScope:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, onUpdateScope:1, onStart:1, onStartParams:1, onStartScope:1, onReverseComplete:1, onReverseCompleteParams:1, onReverseCompleteScope:1, onRepeat:1, onRepeatParams:1, onRepeatScope:1, easeParams:1, yoyo:1, immediateRender:1, repeat:1, repeatDelay:1, data:1, paused:1, reversed:1, autoCSS:1, lazy:1, onOverwrite:1, callbackScope:1, stringFilter:1, id:1},
1059
1067
  _overwriteLookup = {none:0, all:1, auto:2, concurrent:3, allOnStart:4, preexisting:5, "true":1, "false":0},
1060
1068
  _rootFramesTimeline = Animation._rootFramesTimeline = new SimpleTimeline(),
1061
1069
  _rootTimeline = Animation._rootTimeline = new SimpleTimeline(),
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.18.4
3
- * DATE: 2016-04-26
2
+ * VERSION: 1.18.5
3
+ * DATE: 2016-05-24
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin
@@ -50,7 +50,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
50
50
  p = TweenMax.prototype = TweenLite.to({}, 0.1, {}),
51
51
  _blankArray = [];
52
52
 
53
- TweenMax.version = "1.18.4";
53
+ TweenMax.version = "1.18.5";
54
54
  p.constructor = TweenMax;
55
55
  p.kill()._gc = false;
56
56
  TweenMax.killTweensOf = TweenMax.killDelayedCallsTo = TweenLite.killTweensOf;
@@ -375,6 +375,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
375
375
  }
376
376
  if (cycle) {
377
377
  _applyCycle(copy, targets, i);
378
+ if (copy.duration != null) {
379
+ duration = copy.duration;
380
+ delete copy.duration;
381
+ }
378
382
  }
379
383
  if (fromCycle) {
380
384
  fromCycle = copy.startAt = {};
@@ -683,7 +687,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
683
687
  },
684
688
  p = TimelineLite.prototype = new SimpleTimeline();
685
689
 
686
- TimelineLite.version = "1.18.4";
690
+ TimelineLite.version = "1.18.5";
687
691
  p.constructor = TimelineLite;
688
692
  p.kill()._gc = p._forcingPlayhead = p._hasPause = false;
689
693
 
@@ -750,6 +754,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
750
754
  }
751
755
  if (cycle) {
752
756
  _applyCycle(copy, targets, i);
757
+ if (copy.duration != null) {
758
+ duration = copy.duration;
759
+ delete copy.duration;
760
+ }
753
761
  }
754
762
  tl.to(targets[i], duration, copy, i * stagger);
755
763
  }
@@ -1070,7 +1078,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1070
1078
  this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example.
1071
1079
  }
1072
1080
 
1073
- if (prevTime === 0) if (this.vars.onStart) if (this._time !== 0) if (!suppressEvents) {
1081
+ if (prevTime === 0) if (this.vars.onStart) if (this._time !== 0 || !this._duration) if (!suppressEvents) {
1074
1082
  this._callback("onStart");
1075
1083
  }
1076
1084
 
@@ -1409,7 +1417,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1409
1417
 
1410
1418
  p.constructor = TimelineMax;
1411
1419
  p.kill()._gc = false;
1412
- TimelineMax.version = "1.18.4";
1420
+ TimelineMax.version = "1.18.5";
1413
1421
 
1414
1422
  p.invalidate = function() {
1415
1423
  this._yoyo = (this.vars.yoyo === true);
@@ -1668,7 +1676,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1668
1676
  this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example.
1669
1677
  }
1670
1678
 
1671
- if (prevTotalTime === 0) if (this.vars.onStart) if (this._totalTime !== 0) if (!suppressEvents) {
1679
+ if (prevTotalTime === 0) if (this.vars.onStart) if (this._totalTime !== 0 || !this._totalDuration) if (!suppressEvents) {
1672
1680
  this._callback("onStart");
1673
1681
  }
1674
1682
 
@@ -1907,6 +1915,12 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1907
1915
  _corProps = {},
1908
1916
  _globals = _gsScope._gsDefine.globals,
1909
1917
  Segment = function(a, b, c, d) {
1918
+ if (c === d) { //if c and d match, the final autoRotate value could lock at -90 degrees, so differentiate them slightly.
1919
+ c = d - (d - b) / 1000000;
1920
+ }
1921
+ if (a === b) { //if a and b match, the starting autoRotate value could lock at -90 degrees, so differentiate them slightly.
1922
+ b = a + (c - a) / 1000000;
1923
+ }
1910
1924
  this.a = a;
1911
1925
  this.b = b;
1912
1926
  this.c = c;
@@ -2194,7 +2208,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2194
2208
  BezierPlugin = _gsScope._gsDefine.plugin({
2195
2209
  propName: "bezier",
2196
2210
  priority: -1,
2197
- version: "1.3.5",
2211
+ version: "1.3.6",
2198
2212
  API: 2,
2199
2213
  global:true,
2200
2214
 
@@ -2431,6 +2445,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2431
2445
  cssp._enableTransforms(false);
2432
2446
  }
2433
2447
  data.autoRotate = cssp._target._gsTransform;
2448
+ data.proxy.rotation = data.autoRotate.rotation || 0;
2434
2449
  }
2435
2450
  plugin._onInitTween(data.proxy, v, cssp._tween);
2436
2451
  return pt;
@@ -2502,7 +2517,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2502
2517
  p = CSSPlugin.prototype = new TweenPlugin("css");
2503
2518
 
2504
2519
  p.constructor = CSSPlugin;
2505
- CSSPlugin.version = "1.18.4";
2520
+ CSSPlugin.version = "1.18.5";
2506
2521
  CSSPlugin.API = 2;
2507
2522
  CSSPlugin.defaultTransformPerspective = 0;
2508
2523
  CSSPlugin.defaultSkewType = "compensated";
@@ -2638,10 +2653,14 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2638
2653
  node = t,
2639
2654
  style = _tempDiv.style,
2640
2655
  neg = (v < 0),
2656
+ precise = (v === 1),
2641
2657
  pix, cache, time;
2642
2658
  if (neg) {
2643
2659
  v = -v;
2644
2660
  }
2661
+ if (precise) {
2662
+ v *= 100;
2663
+ }
2645
2664
  if (sfx === "%" && p.indexOf("border") !== -1) {
2646
2665
  pix = (v / 100) * (horiz ? t.clientWidth : t.clientHeight);
2647
2666
  } else {
@@ -2669,6 +2688,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2669
2688
  pix = _convertToPixels(t, p, v, sfx, true);
2670
2689
  }
2671
2690
  }
2691
+ if (precise) {
2692
+ pix /= 100;
2693
+ }
2672
2694
  return neg ? -pix : pix;
2673
2695
  },
2674
2696
  _calculateOffset = _internals.calculateOffset = function(t, p, cs) { //for figuring out "top" or "left" in px when it's "auto". We need to factor in margin with the offsetLeft/offsetTop
@@ -3732,7 +3754,8 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
3732
3754
  _getMatrix = function(e, force2D) {
3733
3755
  var tm = e._gsTransform || new Transform(),
3734
3756
  rnd = 100000,
3735
- isDefault, s, m, n, dec;
3757
+ style = e.style,
3758
+ isDefault, s, m, n, dec, none;
3736
3759
  if (_transformProp) {
3737
3760
  s = _getStyle(e, _transformPropCSS, null, true);
3738
3761
  } else if (e.currentStyle) {
@@ -3741,9 +3764,29 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
3741
3764
  s = (s && s.length === 4) ? [s[0].substr(4), Number(s[2].substr(4)), Number(s[1].substr(4)), s[3].substr(4), (tm.x || 0), (tm.y || 0)].join(",") : "";
3742
3765
  }
3743
3766
  isDefault = (!s || s === "none" || s === "matrix(1, 0, 0, 1, 0, 0)");
3767
+ if (isDefault && _transformProp && ((none = (_getComputedStyle(e).display === "none")) || !e.parentNode)) {
3768
+ if (none) { //browsers don't report transforms accurately unless the element is in the DOM and has a display value that's not "none".
3769
+ n = style.display;
3770
+ style.display = "block";
3771
+ }
3772
+ if (!e.parentNode) {
3773
+ dec = 1; //flag
3774
+ _docElement.appendChild(e);
3775
+ }
3776
+ s = _getStyle(e, _transformPropCSS, null, true);
3777
+ isDefault = (!s || s === "none" || s === "matrix(1, 0, 0, 1, 0, 0)");
3778
+ if (n) {
3779
+ style.display = n;
3780
+ } else if (none) {
3781
+ _removeProp(style, "display");
3782
+ }
3783
+ if (dec) {
3784
+ _docElement.removeChild(e);
3785
+ }
3786
+ }
3744
3787
  if (tm.svg || (e.getBBox && _isSVG(e))) {
3745
- if (isDefault && (e.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
3746
- s = e.style[_transformProp];
3788
+ 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
3789
+ s = style[_transformProp];
3747
3790
  isDefault = 0;
3748
3791
  }
3749
3792
  m = e.getAttribute("transform");
@@ -3792,7 +3835,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
3792
3835
 
3793
3836
  tm.svg = !!(t.getBBox && _isSVG(t));
3794
3837
  if (tm.svg) {
3795
- _parseSVGOrigin(t, _getStyle(t, _transformOriginProp, _cs, false, "50% 50%") + "", tm, t.getAttribute("data-svg-origin"));
3838
+ _parseSVGOrigin(t, _getStyle(t, _transformOriginProp, cs, false, "50% 50%") + "", tm, t.getAttribute("data-svg-origin"));
3796
3839
  _useSVGTransformAttr = CSSPlugin.useSVGTransformAttr || _forceSVGTransformAttr;
3797
3840
  }
3798
3841
  m = _getMatrix(t);
@@ -3868,15 +3911,19 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
3868
3911
  tm.scaleX = ((Math.sqrt(a11 * a11 + a21 * a21) * rnd + 0.5) | 0) / rnd;
3869
3912
  tm.scaleY = ((Math.sqrt(a22 * a22 + a23 * a23) * rnd + 0.5) | 0) / rnd;
3870
3913
  tm.scaleZ = ((Math.sqrt(a32 * a32 + a33 * a33) * rnd + 0.5) | 0) / rnd;
3871
- tm.skewX = (a12 || a22) ? Math.atan2(a12, a22) * _RAD2DEG + tm.rotation : tm.skewX || 0;
3872
- if (Math.abs(tm.skewX) > 90 && Math.abs(tm.skewX) < 270) {
3873
- if (invX) {
3874
- tm.scaleX *= -1;
3875
- tm.skewX += (tm.rotation <= 0) ? 180 : -180;
3876
- tm.rotation += (tm.rotation <= 0) ? 180 : -180;
3877
- } else {
3878
- tm.scaleY *= -1;
3879
- tm.skewX += (tm.skewX <= 0) ? 180 : -180;
3914
+ if (tm.rotationX || tm.rotationY) {
3915
+ tm.skewX = 0;
3916
+ } else {
3917
+ tm.skewX = (a12 || a22) ? Math.atan2(a12, a22) * _RAD2DEG + tm.rotation : tm.skewX || 0;
3918
+ if (Math.abs(tm.skewX) > 90 && Math.abs(tm.skewX) < 270) {
3919
+ if (invX) {
3920
+ tm.scaleX *= -1;
3921
+ tm.skewX += (tm.rotation <= 0) ? 180 : -180;
3922
+ tm.rotation += (tm.rotation <= 0) ? 180 : -180;
3923
+ } else {
3924
+ tm.scaleY *= -1;
3925
+ tm.skewX += (tm.skewX <= 0) ? 180 : -180;
3926
+ }
3880
3927
  }
3881
3928
  }
3882
3929
  tm.perspective = a43 ? 1 / ((a43 < 0) ? -a43 : a43) : 0;
@@ -3888,7 +3935,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
3888
3935
  tm.y -= tm.yOrigin - (tm.yOrigin * a21 - tm.xOrigin * a22);
3889
3936
  }
3890
3937
 
3891
- } else if ((!_supports3D || parse || !m.length || tm.x !== m[4] || tm.y !== m[5] || (!tm.rotationX && !tm.rotationY)) && !(tm.x !== undefined && _getStyle(t, "display", cs) === "none")) { //sometimes a 6-element matrix is returned even when we performed 3D transforms, like if rotationX and rotationY are 180. In cases like this, we still need to honor the 3D transforms. If we just rely on the 2D info, it could affect how the data is interpreted, like scaleY might get set to -1 or rotation could get offset by 180 degrees. For example, do a TweenLite.to(element, 1, {css:{rotationX:180, rotationY:180}}) and then later, TweenLite.to(element, 1, {css:{rotationX:0}}) and without this conditional logic in place, it'd jump to a state of being unrotated when the 2nd tween starts. Then again, we need to honor the fact that the user COULD alter the transforms outside of CSSPlugin, like by manually applying new css, so we try to sense that by looking at x and y because if those changed, we know the changes were made outside CSSPlugin and we force a reinterpretation of the matrix values. Also, in Webkit browsers, if the element's "display" is "none", its calculated style value will always return empty, so if we've already recorded the values in the _gsTransform object, we'll just rely on those.
3938
+ } else if ((!_supports3D || parse || !m.length || tm.x !== m[4] || tm.y !== m[5] || (!tm.rotationX && !tm.rotationY))) { //sometimes a 6-element matrix is returned even when we performed 3D transforms, like if rotationX and rotationY are 180. In cases like this, we still need to honor the 3D transforms. If we just rely on the 2D info, it could affect how the data is interpreted, like scaleY might get set to -1 or rotation could get offset by 180 degrees. For example, do a TweenLite.to(element, 1, {css:{rotationX:180, rotationY:180}}) and then later, TweenLite.to(element, 1, {css:{rotationX:0}}) and without this conditional logic in place, it'd jump to a state of being unrotated when the 2nd tween starts. Then again, we need to honor the fact that the user COULD alter the transforms outside of CSSPlugin, like by manually applying new css, so we try to sense that by looking at x and y because if those changed, we know the changes were made outside CSSPlugin and we force a reinterpretation of the matrix values. Also, in Webkit browsers, if the element's "display" is "none", its calculated style value will always return empty, so if we've already recorded the values in the _gsTransform object, we'll just rely on those.
3892
3939
  var k = (m.length >= 6),
3893
3940
  a = k ? m[0] : 1,
3894
3941
  b = m[1] || 0,
@@ -4270,15 +4317,8 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
4270
4317
  v = vars,
4271
4318
  endRotations = {},
4272
4319
  transformOriginString = "transformOrigin",
4273
- m1, m2, copy, orig, has3D, hasChange, dr, x, y, matrix;
4274
- if (vars.display) { //if the user is setting display during this tween, it may not be instantiated yet but we must force it here in order to get accurate readings. If display is "none", some browsers refuse to report the transform properties correctly.
4275
- copy = _getStyle(t, "display");
4276
- style.display = "block";
4277
- m1 = _getTransform(t, _cs, true, vars.parseTransform);
4278
- style.display = copy;
4279
- } else {
4280
- m1 = _getTransform(t, _cs, true, vars.parseTransform);
4281
- }
4320
+ m1 = _getTransform(t, _cs, true, vars.parseTransform),
4321
+ m2, copy, orig, has3D, hasChange, dr, x, y, matrix;
4282
4322
  cssp._transform = m1;
4283
4323
  if (typeof(v.transform) === "string" && _transformProp) { //for values like transform:"rotate(60deg) scale(0.5, 0.8)"
4284
4324
  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.
@@ -4301,7 +4341,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
4301
4341
  m2.y -= orig.yOffset - m1.yOffset;
4302
4342
  }
4303
4343
  if (x || y) {
4304
- matrix = _getMatrix(_tempDiv);
4344
+ matrix = _getMatrix(_tempDiv, true);
4305
4345
  m2.x -= x - (x * matrix[0] + y * matrix[2]);
4306
4346
  m2.y -= y - (x * matrix[1] + y * matrix[3]);
4307
4347
  }
@@ -4541,7 +4581,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
4541
4581
  _registerComplexSpecialProp("textShadow", {defaultValue:"0px 0px 0px #999", color:true, multi:true});
4542
4582
  _registerComplexSpecialProp("autoRound,strictUnits", {parser:function(t, e, p, cssp, pt) {return pt;}}); //just so that we can ignore these properties (not tween them)
4543
4583
  _registerComplexSpecialProp("border", {defaultValue:"0px solid #000", parser:function(t, e, p, cssp, pt, plugin) {
4544
- return this.parseComplex(t.style, this.format(_getStyle(t, "borderTopWidth", _cs, false, "0px") + " " + _getStyle(t, "borderTopStyle", _cs, false, "solid") + " " + _getStyle(t, "borderTopColor", _cs, false, "#000")), this.format(e), pt, plugin);
4584
+ var bw = _getStyle(t, "borderTopWidth", _cs, false, "0px"),
4585
+ end = this.format(e).split(" "),
4586
+ esfx = end[0].replace(_suffixExp, "");
4587
+ if (esfx !== "px") { //if we're animating to a non-px value, we need to convert the beginning width to that unit.
4588
+ bw = (parseFloat(bw) / _convertToPixels(t, "borderTopWidth", 1, esfx)) + esfx;
4589
+ }
4590
+ return this.parseComplex(t.style, this.format(bw + " " + _getStyle(t, "borderTopStyle", _cs, false, "solid") + " " + _getStyle(t, "borderTopColor", _cs, false, "#000")), end.join(" "), pt, plugin);
4545
4591
  }, color:true, formatter:function(v) {
4546
4592
  var a = v.split(" ");
4547
4593
  return a[0] + " " + (a[1] || "solid") + " " + (v.match(_colorExp) || ["#000"])[0];
@@ -5769,7 +5815,8 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
5769
5815
  (function(window, moduleName) {
5770
5816
 
5771
5817
  "use strict";
5772
- var _globals = window.GreenSockGlobals = window.GreenSockGlobals || window;
5818
+ var _exports = {},
5819
+ _globals = window.GreenSockGlobals = window.GreenSockGlobals || window;
5773
5820
  if (_globals.TweenLite) {
5774
5821
  return; //in case the core set of classes is already loaded, don't instantiate twice.
5775
5822
  }
@@ -5863,8 +5910,15 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
5863
5910
  hasModule = (typeof(module) !== "undefined" && module.exports);
5864
5911
  if (!hasModule && typeof(define) === "function" && define.amd){ //AMD
5865
5912
  define((window.GreenSockAMDPath ? window.GreenSockAMDPath + "/" : "") + ns.split(".").pop(), [], function() { return cl; });
5866
- } else if (ns === moduleName && hasModule){ //node
5867
- module.exports = cl;
5913
+ } else if (hasModule){ //node
5914
+ if (ns === moduleName) {
5915
+ module.exports = _exports[moduleName] = cl;
5916
+ for (i in _exports) {
5917
+ cl[i] = _exports[i];
5918
+ }
5919
+ } else if (_exports[moduleName]) {
5920
+ _exports[moduleName][n] = cl;
5921
+ }
5868
5922
  }
5869
5923
  }
5870
5924
  for (i = 0; i < this.sc.length; i++) {
@@ -5972,6 +6026,9 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
5972
6026
  var list = this._listeners[type],
5973
6027
  index = 0,
5974
6028
  listener, i;
6029
+ if (this === _ticker && !_tickerActive) {
6030
+ _ticker.wake();
6031
+ }
5975
6032
  if (list == null) {
5976
6033
  this._listeners[type] = list = [];
5977
6034
  }
@@ -5985,9 +6042,6 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
5985
6042
  }
5986
6043
  }
5987
6044
  list.splice(index, 0, {c:callback, s:scope, up:useParam, pr:priority});
5988
- if (this === _ticker && !_tickerActive) {
5989
- _ticker.wake();
5990
- }
5991
6045
  };
5992
6046
 
5993
6047
  p.removeEventListener = function(type, callback) {
@@ -6682,7 +6736,7 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
6682
6736
  p._firstPT = p._targets = p._overwrittenProps = p._startAt = null;
6683
6737
  p._notifyPluginsOfEnabled = p._lazy = false;
6684
6738
 
6685
- TweenLite.version = "1.18.4";
6739
+ TweenLite.version = "1.18.5";
6686
6740
  TweenLite.defaultEase = p._ease = new Ease(null, null, 1, 1);
6687
6741
  TweenLite.defaultOverwrite = "auto";
6688
6742
  TweenLite.ticker = _ticker;
@@ -6812,7 +6866,7 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
6812
6866
  _plugins = TweenLite._plugins = {},
6813
6867
  _tweenLookup = _internals.tweenLookup = {},
6814
6868
  _tweenLookupNum = 0,
6815
- _reservedProps = _internals.reservedProps = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, onCompleteScope:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, onUpdateScope:1, onStart:1, onStartParams:1, onStartScope:1, onReverseComplete:1, onReverseCompleteParams:1, onReverseCompleteScope:1, onRepeat:1, onRepeatParams:1, onRepeatScope:1, easeParams:1, yoyo:1, immediateRender:1, repeat:1, repeatDelay:1, data:1, paused:1, reversed:1, autoCSS:1, lazy:1, onOverwrite:1, callbackScope:1, stringFilter:1},
6869
+ _reservedProps = _internals.reservedProps = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, onCompleteScope:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, onUpdateScope:1, onStart:1, onStartParams:1, onStartScope:1, onReverseComplete:1, onReverseCompleteParams:1, onReverseCompleteScope:1, onRepeat:1, onRepeatParams:1, onRepeatScope:1, easeParams:1, yoyo:1, immediateRender:1, repeat:1, repeatDelay:1, data:1, paused:1, reversed:1, autoCSS:1, lazy:1, onOverwrite:1, callbackScope:1, stringFilter:1, id:1},
6816
6870
  _overwriteLookup = {none:0, all:1, auto:2, concurrent:3, allOnStart:4, preexisting:5, "true":1, "false":0},
6817
6871
  _rootFramesTimeline = Animation._rootFramesTimeline = new SimpleTimeline(),
6818
6872
  _rootTimeline = Animation._rootTimeline = new SimpleTimeline(),
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.15.3
3
- * DATE: 2015-12-22
2
+ * VERSION: 1.15.4
3
+ * DATE: 2016-05-24
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: beta 1.3.5
3
- * DATE: 2016-04-19
2
+ * VERSION: 1.3.6
3
+ * DATE: 2016-05-24
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
@@ -21,6 +21,12 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
21
21
  _corProps = {},
22
22
  _globals = _gsScope._gsDefine.globals,
23
23
  Segment = function(a, b, c, d) {
24
+ if (c === d) { //if c and d match, the final autoRotate value could lock at -90 degrees, so differentiate them slightly.
25
+ c = d - (d - b) / 1000000;
26
+ }
27
+ if (a === b) { //if a and b match, the starting autoRotate value could lock at -90 degrees, so differentiate them slightly.
28
+ b = a + (c - a) / 1000000;
29
+ }
24
30
  this.a = a;
25
31
  this.b = b;
26
32
  this.c = c;
@@ -308,7 +314,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
308
314
  BezierPlugin = _gsScope._gsDefine.plugin({
309
315
  propName: "bezier",
310
316
  priority: -1,
311
- version: "1.3.5",
317
+ version: "1.3.6",
312
318
  API: 2,
313
319
  global:true,
314
320
 
@@ -545,6 +551,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
545
551
  cssp._enableTransforms(false);
546
552
  }
547
553
  data.autoRotate = cssp._target._gsTransform;
554
+ data.proxy.rotation = data.autoRotate.rotation || 0;
548
555
  }
549
556
  plugin._onInitTween(data.proxy, v, cssp._tween);
550
557
  return pt;
@@ -588,7 +595,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
588
595
  return (_gsScope.GreenSockGlobals || _gsScope)[name];
589
596
  };
590
597
  if (typeof(define) === "function" && define.amd) { //AMD
591
- define(["TweenLite"], getGlobal);
598
+ define(["../TweenLite"], getGlobal);
592
599
  } else if (typeof(module) !== "undefined" && module.exports) { //node
593
600
  require("../TweenLite.js");
594
601
  module.exports = getGlobal();
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.18.4
3
- * DATE: 2016-04-26
2
+ * VERSION: 1.18.5
3
+ * DATE: 2016-05-24
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.4";
34
+ CSSPlugin.version = "1.18.5";
35
35
  CSSPlugin.API = 2;
36
36
  CSSPlugin.defaultTransformPerspective = 0;
37
37
  CSSPlugin.defaultSkewType = "compensated";
@@ -167,10 +167,14 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
167
167
  node = t,
168
168
  style = _tempDiv.style,
169
169
  neg = (v < 0),
170
+ precise = (v === 1),
170
171
  pix, cache, time;
171
172
  if (neg) {
172
173
  v = -v;
173
174
  }
175
+ if (precise) {
176
+ v *= 100;
177
+ }
174
178
  if (sfx === "%" && p.indexOf("border") !== -1) {
175
179
  pix = (v / 100) * (horiz ? t.clientWidth : t.clientHeight);
176
180
  } else {
@@ -198,6 +202,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
198
202
  pix = _convertToPixels(t, p, v, sfx, true);
199
203
  }
200
204
  }
205
+ if (precise) {
206
+ pix /= 100;
207
+ }
201
208
  return neg ? -pix : pix;
202
209
  },
203
210
  _calculateOffset = _internals.calculateOffset = function(t, p, cs) { //for figuring out "top" or "left" in px when it's "auto". We need to factor in margin with the offsetLeft/offsetTop
@@ -1261,7 +1268,8 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1261
1268
  _getMatrix = function(e, force2D) {
1262
1269
  var tm = e._gsTransform || new Transform(),
1263
1270
  rnd = 100000,
1264
- isDefault, s, m, n, dec;
1271
+ style = e.style,
1272
+ isDefault, s, m, n, dec, none;
1265
1273
  if (_transformProp) {
1266
1274
  s = _getStyle(e, _transformPropCSS, null, true);
1267
1275
  } else if (e.currentStyle) {
@@ -1270,9 +1278,29 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1270
1278
  s = (s && s.length === 4) ? [s[0].substr(4), Number(s[2].substr(4)), Number(s[1].substr(4)), s[3].substr(4), (tm.x || 0), (tm.y || 0)].join(",") : "";
1271
1279
  }
1272
1280
  isDefault = (!s || s === "none" || s === "matrix(1, 0, 0, 1, 0, 0)");
1281
+ if (isDefault && _transformProp && ((none = (_getComputedStyle(e).display === "none")) || !e.parentNode)) {
1282
+ if (none) { //browsers don't report transforms accurately unless the element is in the DOM and has a display value that's not "none".
1283
+ n = style.display;
1284
+ style.display = "block";
1285
+ }
1286
+ if (!e.parentNode) {
1287
+ dec = 1; //flag
1288
+ _docElement.appendChild(e);
1289
+ }
1290
+ s = _getStyle(e, _transformPropCSS, null, true);
1291
+ isDefault = (!s || s === "none" || s === "matrix(1, 0, 0, 1, 0, 0)");
1292
+ if (n) {
1293
+ style.display = n;
1294
+ } else if (none) {
1295
+ _removeProp(style, "display");
1296
+ }
1297
+ if (dec) {
1298
+ _docElement.removeChild(e);
1299
+ }
1300
+ }
1273
1301
  if (tm.svg || (e.getBBox && _isSVG(e))) {
1274
- if (isDefault && (e.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
1275
- s = e.style[_transformProp];
1302
+ 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
1303
+ s = style[_transformProp];
1276
1304
  isDefault = 0;
1277
1305
  }
1278
1306
  m = e.getAttribute("transform");
@@ -1321,7 +1349,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1321
1349
 
1322
1350
  tm.svg = !!(t.getBBox && _isSVG(t));
1323
1351
  if (tm.svg) {
1324
- _parseSVGOrigin(t, _getStyle(t, _transformOriginProp, _cs, false, "50% 50%") + "", tm, t.getAttribute("data-svg-origin"));
1352
+ _parseSVGOrigin(t, _getStyle(t, _transformOriginProp, cs, false, "50% 50%") + "", tm, t.getAttribute("data-svg-origin"));
1325
1353
  _useSVGTransformAttr = CSSPlugin.useSVGTransformAttr || _forceSVGTransformAttr;
1326
1354
  }
1327
1355
  m = _getMatrix(t);
@@ -1397,15 +1425,19 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1397
1425
  tm.scaleX = ((Math.sqrt(a11 * a11 + a21 * a21) * rnd + 0.5) | 0) / rnd;
1398
1426
  tm.scaleY = ((Math.sqrt(a22 * a22 + a23 * a23) * rnd + 0.5) | 0) / rnd;
1399
1427
  tm.scaleZ = ((Math.sqrt(a32 * a32 + a33 * a33) * rnd + 0.5) | 0) / rnd;
1400
- tm.skewX = (a12 || a22) ? Math.atan2(a12, a22) * _RAD2DEG + tm.rotation : tm.skewX || 0;
1401
- if (Math.abs(tm.skewX) > 90 && Math.abs(tm.skewX) < 270) {
1402
- if (invX) {
1403
- tm.scaleX *= -1;
1404
- tm.skewX += (tm.rotation <= 0) ? 180 : -180;
1405
- tm.rotation += (tm.rotation <= 0) ? 180 : -180;
1406
- } else {
1407
- tm.scaleY *= -1;
1408
- tm.skewX += (tm.skewX <= 0) ? 180 : -180;
1428
+ if (tm.rotationX || tm.rotationY) {
1429
+ tm.skewX = 0;
1430
+ } else {
1431
+ tm.skewX = (a12 || a22) ? Math.atan2(a12, a22) * _RAD2DEG + tm.rotation : tm.skewX || 0;
1432
+ if (Math.abs(tm.skewX) > 90 && Math.abs(tm.skewX) < 270) {
1433
+ if (invX) {
1434
+ tm.scaleX *= -1;
1435
+ tm.skewX += (tm.rotation <= 0) ? 180 : -180;
1436
+ tm.rotation += (tm.rotation <= 0) ? 180 : -180;
1437
+ } else {
1438
+ tm.scaleY *= -1;
1439
+ tm.skewX += (tm.skewX <= 0) ? 180 : -180;
1440
+ }
1409
1441
  }
1410
1442
  }
1411
1443
  tm.perspective = a43 ? 1 / ((a43 < 0) ? -a43 : a43) : 0;
@@ -1417,7 +1449,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1417
1449
  tm.y -= tm.yOrigin - (tm.yOrigin * a21 - tm.xOrigin * a22);
1418
1450
  }
1419
1451
 
1420
- } else if ((!_supports3D || parse || !m.length || tm.x !== m[4] || tm.y !== m[5] || (!tm.rotationX && !tm.rotationY)) && !(tm.x !== undefined && _getStyle(t, "display", cs) === "none")) { //sometimes a 6-element matrix is returned even when we performed 3D transforms, like if rotationX and rotationY are 180. In cases like this, we still need to honor the 3D transforms. If we just rely on the 2D info, it could affect how the data is interpreted, like scaleY might get set to -1 or rotation could get offset by 180 degrees. For example, do a TweenLite.to(element, 1, {css:{rotationX:180, rotationY:180}}) and then later, TweenLite.to(element, 1, {css:{rotationX:0}}) and without this conditional logic in place, it'd jump to a state of being unrotated when the 2nd tween starts. Then again, we need to honor the fact that the user COULD alter the transforms outside of CSSPlugin, like by manually applying new css, so we try to sense that by looking at x and y because if those changed, we know the changes were made outside CSSPlugin and we force a reinterpretation of the matrix values. Also, in Webkit browsers, if the element's "display" is "none", its calculated style value will always return empty, so if we've already recorded the values in the _gsTransform object, we'll just rely on those.
1452
+ } else if ((!_supports3D || parse || !m.length || tm.x !== m[4] || tm.y !== m[5] || (!tm.rotationX && !tm.rotationY))) { //sometimes a 6-element matrix is returned even when we performed 3D transforms, like if rotationX and rotationY are 180. In cases like this, we still need to honor the 3D transforms. If we just rely on the 2D info, it could affect how the data is interpreted, like scaleY might get set to -1 or rotation could get offset by 180 degrees. For example, do a TweenLite.to(element, 1, {css:{rotationX:180, rotationY:180}}) and then later, TweenLite.to(element, 1, {css:{rotationX:0}}) and without this conditional logic in place, it'd jump to a state of being unrotated when the 2nd tween starts. Then again, we need to honor the fact that the user COULD alter the transforms outside of CSSPlugin, like by manually applying new css, so we try to sense that by looking at x and y because if those changed, we know the changes were made outside CSSPlugin and we force a reinterpretation of the matrix values. Also, in Webkit browsers, if the element's "display" is "none", its calculated style value will always return empty, so if we've already recorded the values in the _gsTransform object, we'll just rely on those.
1421
1453
  var k = (m.length >= 6),
1422
1454
  a = k ? m[0] : 1,
1423
1455
  b = m[1] || 0,
@@ -1799,15 +1831,8 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1799
1831
  v = vars,
1800
1832
  endRotations = {},
1801
1833
  transformOriginString = "transformOrigin",
1802
- m1, m2, copy, orig, has3D, hasChange, dr, x, y, matrix;
1803
- if (vars.display) { //if the user is setting display during this tween, it may not be instantiated yet but we must force it here in order to get accurate readings. If display is "none", some browsers refuse to report the transform properties correctly.
1804
- copy = _getStyle(t, "display");
1805
- style.display = "block";
1806
- m1 = _getTransform(t, _cs, true, vars.parseTransform);
1807
- style.display = copy;
1808
- } else {
1809
- m1 = _getTransform(t, _cs, true, vars.parseTransform);
1810
- }
1834
+ m1 = _getTransform(t, _cs, true, vars.parseTransform),
1835
+ m2, copy, orig, has3D, hasChange, dr, x, y, matrix;
1811
1836
  cssp._transform = m1;
1812
1837
  if (typeof(v.transform) === "string" && _transformProp) { //for values like transform:"rotate(60deg) scale(0.5, 0.8)"
1813
1838
  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.
@@ -1830,7 +1855,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1830
1855
  m2.y -= orig.yOffset - m1.yOffset;
1831
1856
  }
1832
1857
  if (x || y) {
1833
- matrix = _getMatrix(_tempDiv);
1858
+ matrix = _getMatrix(_tempDiv, true);
1834
1859
  m2.x -= x - (x * matrix[0] + y * matrix[2]);
1835
1860
  m2.y -= y - (x * matrix[1] + y * matrix[3]);
1836
1861
  }
@@ -2070,7 +2095,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2070
2095
  _registerComplexSpecialProp("textShadow", {defaultValue:"0px 0px 0px #999", color:true, multi:true});
2071
2096
  _registerComplexSpecialProp("autoRound,strictUnits", {parser:function(t, e, p, cssp, pt) {return pt;}}); //just so that we can ignore these properties (not tween them)
2072
2097
  _registerComplexSpecialProp("border", {defaultValue:"0px solid #000", parser:function(t, e, p, cssp, pt, plugin) {
2073
- return this.parseComplex(t.style, this.format(_getStyle(t, "borderTopWidth", _cs, false, "0px") + " " + _getStyle(t, "borderTopStyle", _cs, false, "solid") + " " + _getStyle(t, "borderTopColor", _cs, false, "#000")), this.format(e), pt, plugin);
2098
+ var bw = _getStyle(t, "borderTopWidth", _cs, false, "0px"),
2099
+ end = this.format(e).split(" "),
2100
+ esfx = end[0].replace(_suffixExp, "");
2101
+ if (esfx !== "px") { //if we're animating to a non-px value, we need to convert the beginning width to that unit.
2102
+ bw = (parseFloat(bw) / _convertToPixels(t, "borderTopWidth", 1, esfx)) + esfx;
2103
+ }
2104
+ return this.parseComplex(t.style, this.format(bw + " " + _getStyle(t, "borderTopStyle", _cs, false, "solid") + " " + _getStyle(t, "borderTopColor", _cs, false, "#000")), end.join(" "), pt, plugin);
2074
2105
  }, color:true, formatter:function(v) {
2075
2106
  var a = v.split(" ");
2076
2107
  return a[0] + " " + (a[1] || "solid") + " " + (v.match(_colorExp) || ["#000"])[0];
@@ -2735,7 +2766,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2735
2766
  return (_gsScope.GreenSockGlobals || _gsScope)[name];
2736
2767
  };
2737
2768
  if (typeof(define) === "function" && define.amd) { //AMD
2738
- define(["TweenLite"], getGlobal);
2769
+ define(["../TweenLite"], getGlobal);
2739
2770
  } else if (typeof(module) !== "undefined" && module.exports) { //node
2740
2771
  require("../TweenLite.js");
2741
2772
  module.exports = getGlobal();
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 0.14.6
3
- * DATE: 2016-04-26
2
+ * VERSION: 0.14.7
3
+ * DATE: 2016-05-25
4
4
  * UPDATES AND DOCS AT: http://greensock.com
5
5
  *
6
6
  * Requires TweenLite and CSSPlugin version 1.17.0 or later (TweenMax contains both TweenLite and CSSPlugin). ThrowPropsPlugin is required for momentum-based continuation of movement after the mouse/touch is released (ThrowPropsPlugin is a membership benefit of Club GreenSock - http://greensock.com/club/).
@@ -8,7 +8,7 @@
8
8
  * @license Copyright (c) 2008-2016, 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
+ *
12
12
  * @author: Jack Doyle, jack@greensock.com
13
13
  */
14
14
  var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(global) !== "undefined") ? global : this || window; //helps ensure compatibility with AMD/RequireJS and CommonJS/Node
@@ -1400,11 +1400,11 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1400
1400
  }
1401
1401
  },
1402
1402
 
1403
- updateMatrix = function() {
1403
+ updateMatrix = function(shiftStart) {
1404
1404
  var start = matrix || [1,0,0,1,0,0],
1405
1405
  a, b, c, d, tx, ty, determinant, pointerX, pointerY;
1406
1406
  matrix = _getConcatenatedMatrix(target.parentNode, true);
1407
- if (self.isPressed && start.join(",") !== matrix.join(",")) { //if the matrix changes WHILE the element is pressed, we must adjust the startPointerX and startPointerY accordingly, so we invert the original matrix and figure out where the pointerX and pointerY were in the global space, then apply the new matrix to get the updated coordinates.
1407
+ if (shiftStart && self.isPressed && start.join(",") !== matrix.join(",")) { //if the matrix changes WHILE the element is pressed, we must adjust the startPointerX and startPointerY accordingly, so we invert the original matrix and figure out where the pointerX and pointerY were in the global space, then apply the new matrix to get the updated coordinates.
1408
1408
  a = start[0];
1409
1409
  b = start[1];
1410
1410
  c = start[2];
@@ -1425,7 +1425,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1425
1425
 
1426
1426
  recordStartPositions = function() {
1427
1427
  var edgeTolerance = 1 - self.edgeResistance;
1428
- updateMatrix();
1428
+ updateMatrix(false);
1429
1429
  if (matrix) {
1430
1430
  startPointerX = self.pointerX * matrix[0] + self.pointerY * matrix[2] + matrix[4]; //translate to local coordinate system
1431
1431
  startPointerY = self.pointerX * matrix[1] + self.pointerY * matrix[3] + matrix[5];
@@ -1510,7 +1510,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1510
1510
 
1511
1511
  //called when the mouse is pressed (or touch starts)
1512
1512
  onPress = function(e) {
1513
- var temp, i;
1513
+ var i;
1514
1514
  if (!enabled || self.isPressed || !e || ((e.type === "mousedown" || e.type === "pointerdown") && _getTime() - clickTime < 30 && _touchEventLookup[self.pointerEvent.type])) { //when we DON'T preventDefault() in order to accommodate touch-scrolling and the user just taps, many browsers also fire a mousedown/mouseup sequence AFTER the touchstart/touchend sequence, thus it'd result in two quick "click" events being dispatched. This line senses that condition and halts it on the subsequent mousedown.
1515
1515
  return;
1516
1516
  }
@@ -1994,10 +1994,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
1994
1994
  return self;
1995
1995
  };
1996
1996
 
1997
- this.update = function(applyBounds, ignoreExternalChanges) {
1997
+ this.update = function(applyBounds, sticky, ignoreExternalChanges) {
1998
1998
  var x = self.x,
1999
1999
  y = self.y;
2000
- updateMatrix();
2000
+ updateMatrix(!sticky);
2001
2001
  if (applyBounds) {
2002
2002
  self.applyBounds();
2003
2003
  } else {
@@ -2006,7 +2006,11 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2006
2006
  }
2007
2007
  syncXY(true);
2008
2008
  }
2009
- if (self.isPressed && ((allowX && Math.abs(x - self.x) > 0.01) || (allowY && (Math.abs(y - self.y) > 0.01 && !rotationMode)))) {
2009
+ setPointerPosition(self.pointerX, self.pointerY);
2010
+ if (dirty) {
2011
+ render(true);
2012
+ }
2013
+ if (self.isPressed && !sticky && ((allowX && Math.abs(x - self.x) > 0.01) || (allowY && (Math.abs(y - self.y) > 0.01 && !rotationMode)))) {
2010
2014
  recordStartPositions();
2011
2015
  }
2012
2016
  if (self.autoScroll) {
@@ -2058,6 +2062,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2058
2062
  tween:{},
2059
2063
  setRatio:(_isOldIE ? function() { TweenLite.set(target, tempVars); } : CSSPlugin._internals.setTransformRatio || CSSPlugin._internals.set3DTransformRatio)
2060
2064
  };
2065
+ recordStartPositions();
2061
2066
  self.update(true);
2062
2067
  return self;
2063
2068
  };
@@ -2159,7 +2164,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2159
2164
  p.constructor = Draggable;
2160
2165
  p.pointerX = p.pointerY = 0;
2161
2166
  p.isDragging = p.isPressed = false;
2162
- Draggable.version = "0.14.6";
2167
+ Draggable.version = "0.14.7";
2163
2168
  Draggable.zIndex = 1000;
2164
2169
 
2165
2170
  _addListener(_doc, "touchcancel", function() {
@@ -2269,7 +2274,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
2269
2274
  return (_gsScope.GreenSockGlobals || _gsScope)[name];
2270
2275
  };
2271
2276
  if (typeof(define) === "function" && define.amd) { //AMD
2272
- define(["TweenLite"], getGlobal);
2277
+ define(["../TweenLite", "../plugins/CSSPlugin"], getGlobal);
2273
2278
  } else if (typeof(module) !== "undefined" && module.exports) { //node
2274
2279
  require("../TweenLite.js");
2275
2280
  require("../plugins/CSSPlugin.js");
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: greensock-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.4.0
4
+ version: 1.18.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Pataki, Greensock Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-10 00:00:00.000000000 Z
11
+ date: 2016-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  requirements: []
93
93
  rubyforge_project:
94
- rubygems_version: 2.0.14
94
+ rubygems_version: 2.0.14.1
95
95
  signing_key:
96
96
  specification_version: 4
97
97
  summary: Use GSAP with Rails 3.1 or later