1952 lines
93 KiB
JavaScript
1952 lines
93 KiB
JavaScript
/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */
|
|
/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */
|
|
!function(a) {
|
|
"use strict";
|
|
function b(a) {
|
|
var b = a.length
|
|
, d = c.type(a);
|
|
return "function" !== d && !c.isWindow(a) && (!(1 !== a.nodeType || !b) || ("array" === d || 0 === b || "number" == typeof b && b > 0 && b - 1 in a))
|
|
}
|
|
if (!a.jQuery) {
|
|
var c = function(a, b) {
|
|
return new c.fn.init(a,b)
|
|
};
|
|
c.isWindow = function(a) {
|
|
return a && a === a.window
|
|
}
|
|
,
|
|
c.type = function(a) {
|
|
return a ? "object" == typeof a || "function" == typeof a ? e[g.call(a)] || "object" : typeof a : a + ""
|
|
}
|
|
,
|
|
c.isArray = Array.isArray || function(a) {
|
|
return "array" === c.type(a)
|
|
}
|
|
,
|
|
c.isPlainObject = function(a) {
|
|
var b;
|
|
if (!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a))
|
|
return !1;
|
|
try {
|
|
if (a.constructor && !f.call(a, "constructor") && !f.call(a.constructor.prototype, "isPrototypeOf"))
|
|
return !1
|
|
} catch (d) {
|
|
return !1
|
|
}
|
|
for (b in a)
|
|
;
|
|
return b === undefined || f.call(a, b)
|
|
}
|
|
,
|
|
c.each = function(a, c, d) {
|
|
var e = 0
|
|
, f = a.length
|
|
, g = b(a);
|
|
if (d) {
|
|
if (g)
|
|
for (; e < f && c.apply(a[e], d) !== !1; e++)
|
|
;
|
|
else
|
|
for (e in a)
|
|
if (a.hasOwnProperty(e) && c.apply(a[e], d) === !1)
|
|
break
|
|
} else if (g)
|
|
for (; e < f && c.call(a[e], e, a[e]) !== !1; e++)
|
|
;
|
|
else
|
|
for (e in a)
|
|
if (a.hasOwnProperty(e) && c.call(a[e], e, a[e]) === !1)
|
|
break;
|
|
return a
|
|
}
|
|
,
|
|
c.data = function(a, b, e) {
|
|
if (e === undefined) {
|
|
var f = a[c.expando]
|
|
, g = f && d[f];
|
|
if (b === undefined)
|
|
return g;
|
|
if (g && b in g)
|
|
return g[b]
|
|
} else if (b !== undefined) {
|
|
var h = a[c.expando] || (a[c.expando] = ++c.uuid);
|
|
return d[h] = d[h] || {},
|
|
d[h][b] = e,
|
|
e
|
|
}
|
|
}
|
|
,
|
|
c.removeData = function(a, b) {
|
|
var e = a[c.expando]
|
|
, f = e && d[e];
|
|
f && (b ? c.each(b, function(a, b) {
|
|
delete f[b]
|
|
}) : delete d[e])
|
|
}
|
|
,
|
|
c.extend = function() {
|
|
var a, b, d, e, f, g, h = arguments[0] || {}, i = 1, j = arguments.length, k = !1;
|
|
for ("boolean" == typeof h && (k = h,
|
|
h = arguments[i] || {},
|
|
i++),
|
|
"object" != typeof h && "function" !== c.type(h) && (h = {}),
|
|
i === j && (h = this,
|
|
i--); i < j; i++)
|
|
if (f = arguments[i])
|
|
for (e in f)
|
|
f.hasOwnProperty(e) && (a = h[e],
|
|
d = f[e],
|
|
h !== d && (k && d && (c.isPlainObject(d) || (b = c.isArray(d))) ? (b ? (b = !1,
|
|
g = a && c.isArray(a) ? a : []) : g = a && c.isPlainObject(a) ? a : {},
|
|
h[e] = c.extend(k, g, d)) : d !== undefined && (h[e] = d)));
|
|
return h
|
|
}
|
|
,
|
|
c.queue = function(a, d, e) {
|
|
if (a) {
|
|
d = (d || "fx") + "queue";
|
|
var f = c.data(a, d);
|
|
return e ? (!f || c.isArray(e) ? f = c.data(a, d, function(a, c) {
|
|
var d = c || [];
|
|
return a && (b(Object(a)) ? function(a, b) {
|
|
for (var c = +b.length, d = 0, e = a.length; d < c; )
|
|
a[e++] = b[d++];
|
|
if (c !== c)
|
|
for (; b[d] !== undefined; )
|
|
a[e++] = b[d++];
|
|
a.length = e,
|
|
a
|
|
}(d, "string" == typeof a ? [a] : a) : [].push.call(d, a)),
|
|
d
|
|
}(e)) : f.push(e),
|
|
f) : f || []
|
|
}
|
|
}
|
|
,
|
|
c.dequeue = function(a, b) {
|
|
c.each(a.nodeType ? [a] : a, function(a, d) {
|
|
b = b || "fx";
|
|
var e = c.queue(d, b)
|
|
, f = e.shift();
|
|
"inprogress" === f && (f = e.shift()),
|
|
f && ("fx" === b && e.unshift("inprogress"),
|
|
f.call(d, function() {
|
|
c.dequeue(d, b)
|
|
}))
|
|
})
|
|
}
|
|
,
|
|
c.fn = c.prototype = {
|
|
init: function(a) {
|
|
if (a.nodeType)
|
|
return this[0] = a,
|
|
this;
|
|
throw new Error("Not a DOM node.")
|
|
},
|
|
offset: function() {
|
|
var b = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : {
|
|
top: 0,
|
|
left: 0
|
|
};
|
|
return {
|
|
top: b.top + (a.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0),
|
|
left: b.left + (a.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0)
|
|
}
|
|
},
|
|
position: function() {
|
|
var a = this[0]
|
|
, b = function(a) {
|
|
for (var b = a.offsetParent; b && "html" !== b.nodeName.toLowerCase() && b.style && "static" === b.style.position; )
|
|
b = b.offsetParent;
|
|
return b || document
|
|
}(a)
|
|
, d = this.offset()
|
|
, e = /^(?:body|html)$/i.test(b.nodeName) ? {
|
|
top: 0,
|
|
left: 0
|
|
} : c(b).offset();
|
|
return d.top -= parseFloat(a.style.marginTop) || 0,
|
|
d.left -= parseFloat(a.style.marginLeft) || 0,
|
|
b.style && (e.top += parseFloat(b.style.borderTopWidth) || 0,
|
|
e.left += parseFloat(b.style.borderLeftWidth) || 0),
|
|
{
|
|
top: d.top - e.top,
|
|
left: d.left - e.left
|
|
}
|
|
}
|
|
};
|
|
var d = {};
|
|
c.expando = "velocity" + (new Date).getTime(),
|
|
c.uuid = 0;
|
|
for (var e = {}, f = e.hasOwnProperty, g = e.toString, h = "Boolean Number String Function Array Date RegExp Object Error".split(" "), i = 0; i < h.length; i++)
|
|
e["[object " + h[i] + "]"] = h[i].toLowerCase();
|
|
c.fn.init.prototype = c.fn,
|
|
a.Velocity = {
|
|
Utilities: c
|
|
}
|
|
}
|
|
}(window),
|
|
function(a) {
|
|
"use strict";
|
|
"object" == typeof module && "object" == typeof module.exports ? module.exports = a() : "function" == typeof define && define.amd ? define(a) : a()
|
|
}(function() {
|
|
"use strict";
|
|
return function(a, b, c, d) {
|
|
function e(a) {
|
|
for (var b = -1, c = a ? a.length : 0, d = []; ++b < c; ) {
|
|
var e = a[b];
|
|
e && d.push(e)
|
|
}
|
|
return d
|
|
}
|
|
function f(a) {
|
|
return u.isWrapped(a) ? a = s.call(a) : u.isNode(a) && (a = [a]),
|
|
a
|
|
}
|
|
function g(a) {
|
|
var b = o.data(a, "velocity");
|
|
return null === b ? d : b
|
|
}
|
|
function h(a, b) {
|
|
var c = g(a);
|
|
c && c.delayTimer && !c.delayPaused && (c.delayRemaining = c.delay - b + c.delayBegin,
|
|
c.delayPaused = !0,
|
|
clearTimeout(c.delayTimer.setTimeout))
|
|
}
|
|
function i(a, b) {
|
|
var c = g(a);
|
|
c && c.delayTimer && c.delayPaused && (c.delayPaused = !1,
|
|
c.delayTimer.setTimeout = setTimeout(c.delayTimer.next, c.delayRemaining))
|
|
}
|
|
function j(a) {
|
|
return function(b) {
|
|
return Math.round(b * a) * (1 / a)
|
|
}
|
|
}
|
|
function k(a, c, d, e) {
|
|
function f(a, b) {
|
|
return 1 - 3 * b + 3 * a
|
|
}
|
|
function g(a, b) {
|
|
return 3 * b - 6 * a
|
|
}
|
|
function h(a) {
|
|
return 3 * a
|
|
}
|
|
function i(a, b, c) {
|
|
return ((f(b, c) * a + g(b, c)) * a + h(b)) * a
|
|
}
|
|
function j(a, b, c) {
|
|
return 3 * f(b, c) * a * a + 2 * g(b, c) * a + h(b)
|
|
}
|
|
function k(b, c) {
|
|
for (var e = 0; e < p; ++e) {
|
|
var f = j(c, a, d);
|
|
if (0 === f)
|
|
return c;
|
|
c -= (i(c, a, d) - b) / f
|
|
}
|
|
return c
|
|
}
|
|
function l() {
|
|
for (var b = 0; b < t; ++b)
|
|
x[b] = i(b * u, a, d)
|
|
}
|
|
function m(b, c, e) {
|
|
var f, g, h = 0;
|
|
do {
|
|
g = c + (e - c) / 2,
|
|
f = i(g, a, d) - b,
|
|
f > 0 ? e = g : c = g
|
|
} while (Math.abs(f) > r && ++h < s);
|
|
return g
|
|
}
|
|
function n(b) {
|
|
for (var c = 0, e = 1, f = t - 1; e !== f && x[e] <= b; ++e)
|
|
c += u;
|
|
--e;
|
|
var g = (b - x[e]) / (x[e + 1] - x[e])
|
|
, h = c + g * u
|
|
, i = j(h, a, d);
|
|
return i >= q ? k(b, h) : 0 === i ? h : m(b, c, c + u)
|
|
}
|
|
function o() {
|
|
y = !0,
|
|
a === c && d === e || l()
|
|
}
|
|
var p = 4
|
|
, q = .001
|
|
, r = 1e-7
|
|
, s = 10
|
|
, t = 11
|
|
, u = 1 / (t - 1)
|
|
, v = "Float32Array"in b;
|
|
if (4 !== arguments.length)
|
|
return !1;
|
|
for (var w = 0; w < 4; ++w)
|
|
if ("number" != typeof arguments[w] || isNaN(arguments[w]) || !isFinite(arguments[w]))
|
|
return !1;
|
|
a = Math.min(a, 1),
|
|
d = Math.min(d, 1),
|
|
a = Math.max(a, 0),
|
|
d = Math.max(d, 0);
|
|
var x = v ? new Float32Array(t) : new Array(t)
|
|
, y = !1
|
|
, z = function(b) {
|
|
return y || o(),
|
|
a === c && d === e ? b : 0 === b ? 0 : 1 === b ? 1 : i(n(b), c, e)
|
|
};
|
|
z.getControlPoints = function() {
|
|
return [{
|
|
x: a,
|
|
y: c
|
|
}, {
|
|
x: d,
|
|
y: e
|
|
}]
|
|
}
|
|
;
|
|
var A = "generateBezier(" + [a, c, d, e] + ")";
|
|
return z.toString = function() {
|
|
return A
|
|
}
|
|
,
|
|
z
|
|
}
|
|
function l(a, b) {
|
|
var c = a;
|
|
return u.isString(a) ? y.Easings[a] || (c = !1) : c = u.isArray(a) && 1 === a.length ? j.apply(null, a) : u.isArray(a) && 2 === a.length ? z.apply(null, a.concat([b])) : !(!u.isArray(a) || 4 !== a.length) && k.apply(null, a),
|
|
c === !1 && (c = y.Easings[y.defaults.easing] ? y.defaults.easing : x),
|
|
c
|
|
}
|
|
function m(a) {
|
|
if (a) {
|
|
var b = y.timestamp && a !== !0 ? a : r.now()
|
|
, c = y.State.calls.length;
|
|
c > 1e4 && (y.State.calls = e(y.State.calls),
|
|
c = y.State.calls.length);
|
|
for (var f = 0; f < c; f++)
|
|
if (y.State.calls[f]) {
|
|
var h = y.State.calls[f]
|
|
, i = h[0]
|
|
, j = h[2]
|
|
, k = h[3]
|
|
, l = !!k
|
|
, q = null
|
|
, s = h[5]
|
|
, t = h[6];
|
|
if (k || (k = y.State.calls[f][3] = b - 16),
|
|
s) {
|
|
if (s.resume !== !0)
|
|
continue;
|
|
k = h[3] = Math.round(b - t - 16),
|
|
h[5] = null
|
|
}
|
|
t = h[6] = b - k;
|
|
for (var v = Math.min(t / j.duration, 1), w = 0, x = i.length; w < x; w++) {
|
|
var z = i[w]
|
|
, B = z.element;
|
|
if (g(B)) {
|
|
var D = !1;
|
|
if (j.display !== d && null !== j.display && "none" !== j.display) {
|
|
if ("flex" === j.display) {
|
|
var E = ["-webkit-box", "-moz-box", "-ms-flexbox", "-webkit-flex"];
|
|
o.each(E, function(a, b) {
|
|
A.setPropertyValue(B, "display", b)
|
|
})
|
|
}
|
|
A.setPropertyValue(B, "display", j.display)
|
|
}
|
|
j.visibility !== d && "hidden" !== j.visibility && A.setPropertyValue(B, "visibility", j.visibility);
|
|
for (var F in z)
|
|
if (z.hasOwnProperty(F) && "element" !== F) {
|
|
var G, H = z[F], I = u.isString(H.easing) ? y.Easings[H.easing] : H.easing;
|
|
if (u.isString(H.pattern)) {
|
|
var J = 1 === v ? function(a, b, c) {
|
|
var d = H.endValue[b];
|
|
return c ? Math.round(d) : d
|
|
}
|
|
: function(a, b, c) {
|
|
var d = H.startValue[b]
|
|
, e = H.endValue[b] - d
|
|
, f = d + e * I(v, j, e);
|
|
return c ? Math.round(f) : f
|
|
}
|
|
;
|
|
G = H.pattern.replace(/{(\d+)(!)?}/g, J)
|
|
} else if (1 === v)
|
|
G = H.endValue;
|
|
else {
|
|
var K = H.endValue - H.startValue;
|
|
G = H.startValue + K * I(v, j, K)
|
|
}
|
|
if (!l && G === H.currentValue)
|
|
continue;
|
|
if (H.currentValue = G,
|
|
"tween" === F)
|
|
q = G;
|
|
else {
|
|
var L;
|
|
if (A.Hooks.registered[F]) {
|
|
L = A.Hooks.getRoot(F);
|
|
var M = g(B).rootPropertyValueCache[L];
|
|
M && (H.rootPropertyValue = M)
|
|
}
|
|
var N = A.setPropertyValue(B, F, H.currentValue + (p < 9 && 0 === parseFloat(G) ? "" : H.unitType), H.rootPropertyValue, H.scrollData);
|
|
A.Hooks.registered[F] && (A.Normalizations.registered[L] ? g(B).rootPropertyValueCache[L] = A.Normalizations.registered[L]("extract", null, N[1]) : g(B).rootPropertyValueCache[L] = N[1]),
|
|
"transform" === N[0] && (D = !0)
|
|
}
|
|
}
|
|
j.mobileHA && g(B).transformCache.translate3d === d && (g(B).transformCache.translate3d = "(0px, 0px, 0px)",
|
|
D = !0),
|
|
D && A.flushTransformCache(B)
|
|
}
|
|
}
|
|
j.display !== d && "none" !== j.display && (y.State.calls[f][2].display = !1),
|
|
j.visibility !== d && "hidden" !== j.visibility && (y.State.calls[f][2].visibility = !1),
|
|
j.progress && j.progress.call(h[1], h[1], v, Math.max(0, k + j.duration - b), k, q),
|
|
1 === v && n(f)
|
|
}
|
|
}
|
|
y.State.isTicking && C(m)
|
|
}
|
|
function n(a, b) {
|
|
if (!y.State.calls[a])
|
|
return !1;
|
|
for (var c = y.State.calls[a][0], e = y.State.calls[a][1], f = y.State.calls[a][2], h = y.State.calls[a][4], i = !1, j = 0, k = c.length; j < k; j++) {
|
|
var l = c[j].element;
|
|
b || f.loop || ("none" === f.display && A.setPropertyValue(l, "display", f.display),
|
|
"hidden" === f.visibility && A.setPropertyValue(l, "visibility", f.visibility));
|
|
var m = g(l);
|
|
if (f.loop !== !0 && (o.queue(l)[1] === d || !/\.velocityQueueEntryFlag/i.test(o.queue(l)[1])) && m) {
|
|
m.isAnimating = !1,
|
|
m.rootPropertyValueCache = {};
|
|
var n = !1;
|
|
o.each(A.Lists.transforms3D, function(a, b) {
|
|
var c = /^scale/.test(b) ? 1 : 0
|
|
, e = m.transformCache[b];
|
|
m.transformCache[b] !== d && new RegExp("^\\(" + c + "[^.]").test(e) && (n = !0,
|
|
delete m.transformCache[b])
|
|
}),
|
|
f.mobileHA && (n = !0,
|
|
delete m.transformCache.translate3d),
|
|
n && A.flushTransformCache(l),
|
|
A.Values.removeClass(l, "velocity-animating")
|
|
}
|
|
if (!b && f.complete && !f.loop && j === k - 1)
|
|
try {
|
|
f.complete.call(e, e)
|
|
} catch (r) {
|
|
setTimeout(function() {
|
|
throw r
|
|
}, 1)
|
|
}
|
|
h && f.loop !== !0 && h(e),
|
|
m && f.loop === !0 && !b && (o.each(m.tweensContainer, function(a, b) {
|
|
if (/^rotate/.test(a) && (parseFloat(b.startValue) - parseFloat(b.endValue)) % 360 == 0) {
|
|
var c = b.startValue;
|
|
b.startValue = b.endValue,
|
|
b.endValue = c
|
|
}
|
|
/^backgroundPosition/.test(a) && 100 === parseFloat(b.endValue) && "%" === b.unitType && (b.endValue = 0,
|
|
b.startValue = 100)
|
|
}),
|
|
y(l, "reverse", {
|
|
loop: !0,
|
|
delay: f.delay
|
|
})),
|
|
f.queue !== !1 && o.dequeue(l, f.queue)
|
|
}
|
|
y.State.calls[a] = !1;
|
|
for (var p = 0, q = y.State.calls.length; p < q; p++)
|
|
if (y.State.calls[p] !== !1) {
|
|
i = !0;
|
|
break
|
|
}
|
|
i === !1 && (y.State.isTicking = !1,
|
|
delete y.State.calls,
|
|
y.State.calls = [])
|
|
}
|
|
var o, p = function() {
|
|
if (c.documentMode)
|
|
return c.documentMode;
|
|
for (var a = 7; a > 4; a--) {
|
|
var b = c.createElement("div");
|
|
if (b.innerHTML = "<!--[if IE " + a + "]><span></span><![endif]-->",
|
|
b.getElementsByTagName("span").length)
|
|
return b = null,
|
|
a
|
|
}
|
|
return d
|
|
}(), q = function() {
|
|
var a = 0;
|
|
return b.webkitRequestAnimationFrame || b.mozRequestAnimationFrame || function(b) {
|
|
var c, d = (new Date).getTime();
|
|
return c = Math.max(0, 16 - (d - a)),
|
|
a = d + c,
|
|
setTimeout(function() {
|
|
b(d + c)
|
|
}, c)
|
|
}
|
|
}(), r = function() {
|
|
var a = b.performance || {};
|
|
if ("function" != typeof a.now) {
|
|
var c = a.timing && a.timing.navigationStart ? a.timing.navigationStart : (new Date).getTime();
|
|
a.now = function() {
|
|
return (new Date).getTime() - c
|
|
}
|
|
}
|
|
return a
|
|
}(), s = function() {
|
|
var a = Array.prototype.slice;
|
|
try {
|
|
return a.call(c.documentElement),
|
|
a
|
|
} catch (b) {
|
|
return function(b, c) {
|
|
var d = this.length;
|
|
if ("number" != typeof b && (b = 0),
|
|
"number" != typeof c && (c = d),
|
|
this.slice)
|
|
return a.call(this, b, c);
|
|
var e, f = [], g = b >= 0 ? b : Math.max(0, d + b), h = c < 0 ? d + c : Math.min(c, d), i = h - g;
|
|
if (i > 0)
|
|
if (f = new Array(i),
|
|
this.charAt)
|
|
for (e = 0; e < i; e++)
|
|
f[e] = this.charAt(g + e);
|
|
else
|
|
for (e = 0; e < i; e++)
|
|
f[e] = this[g + e];
|
|
return f
|
|
}
|
|
}
|
|
}(), t = function() {
|
|
return Array.prototype.includes ? function(a, b) {
|
|
return a.includes(b)
|
|
}
|
|
: Array.prototype.indexOf ? function(a, b) {
|
|
return a.indexOf(b) >= 0
|
|
}
|
|
: function(a, b) {
|
|
for (var c = 0; c < a.length; c++)
|
|
if (a[c] === b)
|
|
return !0;
|
|
return !1
|
|
}
|
|
}, u = {
|
|
isNumber: function(a) {
|
|
return "number" == typeof a
|
|
},
|
|
isString: function(a) {
|
|
return "string" == typeof a
|
|
},
|
|
isArray: Array.isArray || function(a) {
|
|
return "[object Array]" === Object.prototype.toString.call(a)
|
|
}
|
|
,
|
|
isFunction: function(a) {
|
|
return "[object Function]" === Object.prototype.toString.call(a)
|
|
},
|
|
isNode: function(a) {
|
|
return a && a.nodeType
|
|
},
|
|
isWrapped: function(a) {
|
|
return a && a !== b && u.isNumber(a.length) && !u.isString(a) && !u.isFunction(a) && !u.isNode(a) && (0 === a.length || u.isNode(a[0]))
|
|
},
|
|
isSVG: function(a) {
|
|
return b.SVGElement && a instanceof b.SVGElement
|
|
},
|
|
isEmptyObject: function(a) {
|
|
for (var b in a)
|
|
if (a.hasOwnProperty(b))
|
|
return !1;
|
|
return !0
|
|
}
|
|
}, v = !1;
|
|
if (a.fn && a.fn.jquery ? (o = a,
|
|
v = !0) : o = b.Velocity.Utilities,
|
|
p <= 8 && !v)
|
|
throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");
|
|
if (p <= 7)
|
|
return void (jQuery.fn.velocity = jQuery.fn.animate);
|
|
var w = 400
|
|
, x = "swing"
|
|
, y = {
|
|
State: {
|
|
isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
|
|
isAndroid: /Android/i.test(navigator.userAgent),
|
|
isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent),
|
|
isChrome: b.chrome,
|
|
isFirefox: /Firefox/i.test(navigator.userAgent),
|
|
prefixElement: c.createElement("div"),
|
|
prefixMatches: {},
|
|
scrollAnchor: null,
|
|
scrollPropertyLeft: null,
|
|
scrollPropertyTop: null,
|
|
isTicking: !1,
|
|
calls: [],
|
|
delayedElements: {
|
|
count: 0
|
|
}
|
|
},
|
|
CSS: {},
|
|
Utilities: o,
|
|
Redirects: {},
|
|
Easings: {},
|
|
Promise: b.Promise,
|
|
defaults: {
|
|
queue: "",
|
|
duration: w,
|
|
easing: x,
|
|
begin: d,
|
|
complete: d,
|
|
progress: d,
|
|
display: d,
|
|
visibility: d,
|
|
loop: !1,
|
|
delay: !1,
|
|
mobileHA: !0,
|
|
_cacheValues: !0,
|
|
promiseRejectEmpty: !0
|
|
},
|
|
init: function(a) {
|
|
o.data(a, "velocity", {
|
|
isSVG: u.isSVG(a),
|
|
isAnimating: !1,
|
|
computedStyle: null,
|
|
tweensContainer: null,
|
|
rootPropertyValueCache: {},
|
|
transformCache: {}
|
|
})
|
|
},
|
|
hook: null,
|
|
mock: !1,
|
|
version: {
|
|
major: 1,
|
|
minor: 5,
|
|
patch: 0
|
|
},
|
|
debug: !1,
|
|
timestamp: !0,
|
|
pauseAll: function(a) {
|
|
var b = (new Date).getTime();
|
|
o.each(y.State.calls, function(b, c) {
|
|
if (c) {
|
|
if (a !== d && (c[2].queue !== a || c[2].queue === !1))
|
|
return !0;
|
|
c[5] = {
|
|
resume: !1
|
|
}
|
|
}
|
|
}),
|
|
o.each(y.State.delayedElements, function(a, c) {
|
|
c && h(c, b)
|
|
})
|
|
},
|
|
resumeAll: function(a) {
|
|
var b = (new Date).getTime();
|
|
o.each(y.State.calls, function(b, c) {
|
|
if (c) {
|
|
if (a !== d && (c[2].queue !== a || c[2].queue === !1))
|
|
return !0;
|
|
c[5] && (c[5].resume = !0)
|
|
}
|
|
}),
|
|
o.each(y.State.delayedElements, function(a, c) {
|
|
c && i(c, b)
|
|
})
|
|
}
|
|
};
|
|
b.pageYOffset !== d ? (y.State.scrollAnchor = b,
|
|
y.State.scrollPropertyLeft = "pageXOffset",
|
|
y.State.scrollPropertyTop = "pageYOffset") : (y.State.scrollAnchor = c.documentElement || c.body.parentNode || c.body,
|
|
y.State.scrollPropertyLeft = "scrollLeft",
|
|
y.State.scrollPropertyTop = "scrollTop");
|
|
var z = function() {
|
|
function a(a) {
|
|
return -a.tension * a.x - a.friction * a.v
|
|
}
|
|
function b(b, c, d) {
|
|
var e = {
|
|
x: b.x + d.dx * c,
|
|
v: b.v + d.dv * c,
|
|
tension: b.tension,
|
|
friction: b.friction
|
|
};
|
|
return {
|
|
dx: e.v,
|
|
dv: a(e)
|
|
}
|
|
}
|
|
function c(c, d) {
|
|
var e = {
|
|
dx: c.v,
|
|
dv: a(c)
|
|
}
|
|
, f = b(c, .5 * d, e)
|
|
, g = b(c, .5 * d, f)
|
|
, h = b(c, d, g)
|
|
, i = 1 / 6 * (e.dx + 2 * (f.dx + g.dx) + h.dx)
|
|
, j = 1 / 6 * (e.dv + 2 * (f.dv + g.dv) + h.dv);
|
|
return c.x = c.x + i * d,
|
|
c.v = c.v + j * d,
|
|
c
|
|
}
|
|
return function d(a, b, e) {
|
|
var f, g, h, i = {
|
|
x: -1,
|
|
v: 0,
|
|
tension: null,
|
|
friction: null
|
|
}, j = [0], k = 0;
|
|
for (a = parseFloat(a) || 500,
|
|
b = parseFloat(b) || 20,
|
|
e = e || null,
|
|
i.tension = a,
|
|
i.friction = b,
|
|
f = null !== e,
|
|
f ? (k = d(a, b),
|
|
g = k / e * .016) : g = .016; ; )
|
|
if (h = c(h || i, g),
|
|
j.push(1 + h.x),
|
|
k += 16,
|
|
!(Math.abs(h.x) > 1e-4 && Math.abs(h.v) > 1e-4))
|
|
break;
|
|
return f ? function(a) {
|
|
return j[a * (j.length - 1) | 0]
|
|
}
|
|
: k
|
|
}
|
|
}();
|
|
y.Easings = {
|
|
linear: function(a) {
|
|
return a
|
|
},
|
|
swing: function(a) {
|
|
return .5 - Math.cos(a * Math.PI) / 2
|
|
},
|
|
spring: function(a) {
|
|
return 1 - Math.cos(4.5 * a * Math.PI) * Math.exp(6 * -a)
|
|
}
|
|
},
|
|
o.each([["ease", [.25, .1, .25, 1]], ["ease-in", [.42, 0, 1, 1]], ["ease-out", [0, 0, .58, 1]], ["ease-in-out", [.42, 0, .58, 1]], ["easeInSine", [.47, 0, .745, .715]], ["easeOutSine", [.39, .575, .565, 1]], ["easeInOutSine", [.445, .05, .55, .95]], ["easeInQuad", [.55, .085, .68, .53]], ["easeOutQuad", [.25, .46, .45, .94]], ["easeInOutQuad", [.455, .03, .515, .955]], ["easeInCubic", [.55, .055, .675, .19]], ["easeOutCubic", [.215, .61, .355, 1]], ["easeInOutCubic", [.645, .045, .355, 1]], ["easeInQuart", [.895, .03, .685, .22]], ["easeOutQuart", [.165, .84, .44, 1]], ["easeInOutQuart", [.77, 0, .175, 1]], ["easeInQuint", [.755, .05, .855, .06]], ["easeOutQuint", [.23, 1, .32, 1]], ["easeInOutQuint", [.86, 0, .07, 1]], ["easeInExpo", [.95, .05, .795, .035]], ["easeOutExpo", [.19, 1, .22, 1]], ["easeInOutExpo", [1, 0, 0, 1]], ["easeInCirc", [.6, .04, .98, .335]], ["easeOutCirc", [.075, .82, .165, 1]], ["easeInOutCirc", [.785, .135, .15, .86]]], function(a, b) {
|
|
y.Easings[b[0]] = k.apply(null, b[1])
|
|
});
|
|
var A = y.CSS = {
|
|
RegEx: {
|
|
isHex: /^#([A-f\d]{3}){1,2}$/i,
|
|
valueUnwrap: /^[A-z]+\((.*)\)$/i,
|
|
wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,
|
|
valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi
|
|
},
|
|
Lists: {
|
|
colors: ["fill", "stroke", "stopColor", "color", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outlineColor"],
|
|
transformsBase: ["translateX", "translateY", "scale", "scaleX", "scaleY", "skewX", "skewY", "rotateZ"],
|
|
transforms3D: ["transformPerspective", "translateZ", "scaleZ", "rotateX", "rotateY"],
|
|
units: ["%", "em", "ex", "ch", "rem", "vw", "vh", "vmin", "vmax", "cm", "mm", "Q", "in", "pc", "pt", "px", "deg", "grad", "rad", "turn", "s", "ms"],
|
|
colorNames: {
|
|
aliceblue: "240,248,255",
|
|
antiquewhite: "250,235,215",
|
|
aquamarine: "127,255,212",
|
|
aqua: "0,255,255",
|
|
azure: "240,255,255",
|
|
beige: "245,245,220",
|
|
bisque: "255,228,196",
|
|
black: "0,0,0",
|
|
blanchedalmond: "255,235,205",
|
|
blueviolet: "138,43,226",
|
|
blue: "0,0,255",
|
|
brown: "165,42,42",
|
|
burlywood: "222,184,135",
|
|
cadetblue: "95,158,160",
|
|
chartreuse: "127,255,0",
|
|
chocolate: "210,105,30",
|
|
coral: "255,127,80",
|
|
cornflowerblue: "100,149,237",
|
|
cornsilk: "255,248,220",
|
|
crimson: "220,20,60",
|
|
cyan: "0,255,255",
|
|
darkblue: "0,0,139",
|
|
darkcyan: "0,139,139",
|
|
darkgoldenrod: "184,134,11",
|
|
darkgray: "169,169,169",
|
|
darkgrey: "169,169,169",
|
|
darkgreen: "0,100,0",
|
|
darkkhaki: "189,183,107",
|
|
darkmagenta: "139,0,139",
|
|
darkolivegreen: "85,107,47",
|
|
darkorange: "255,140,0",
|
|
darkorchid: "153,50,204",
|
|
darkred: "139,0,0",
|
|
darksalmon: "233,150,122",
|
|
darkseagreen: "143,188,143",
|
|
darkslateblue: "72,61,139",
|
|
darkslategray: "47,79,79",
|
|
darkturquoise: "0,206,209",
|
|
darkviolet: "148,0,211",
|
|
deeppink: "255,20,147",
|
|
deepskyblue: "0,191,255",
|
|
dimgray: "105,105,105",
|
|
dimgrey: "105,105,105",
|
|
dodgerblue: "30,144,255",
|
|
firebrick: "178,34,34",
|
|
floralwhite: "255,250,240",
|
|
forestgreen: "34,139,34",
|
|
fuchsia: "255,0,255",
|
|
gainsboro: "220,220,220",
|
|
ghostwhite: "248,248,255",
|
|
gold: "255,215,0",
|
|
goldenrod: "218,165,32",
|
|
gray: "128,128,128",
|
|
grey: "128,128,128",
|
|
greenyellow: "173,255,47",
|
|
green: "0,128,0",
|
|
honeydew: "240,255,240",
|
|
hotpink: "255,105,180",
|
|
indianred: "205,92,92",
|
|
indigo: "75,0,130",
|
|
ivory: "255,255,240",
|
|
khaki: "240,230,140",
|
|
lavenderblush: "255,240,245",
|
|
lavender: "230,230,250",
|
|
lawngreen: "124,252,0",
|
|
lemonchiffon: "255,250,205",
|
|
lightblue: "173,216,230",
|
|
lightcoral: "240,128,128",
|
|
lightcyan: "224,255,255",
|
|
lightgoldenrodyellow: "250,250,210",
|
|
lightgray: "211,211,211",
|
|
lightgrey: "211,211,211",
|
|
lightgreen: "144,238,144",
|
|
lightpink: "255,182,193",
|
|
lightsalmon: "255,160,122",
|
|
lightseagreen: "32,178,170",
|
|
lightskyblue: "135,206,250",
|
|
lightslategray: "119,136,153",
|
|
lightsteelblue: "176,196,222",
|
|
lightyellow: "255,255,224",
|
|
limegreen: "50,205,50",
|
|
lime: "0,255,0",
|
|
linen: "250,240,230",
|
|
magenta: "255,0,255",
|
|
maroon: "128,0,0",
|
|
mediumaquamarine: "102,205,170",
|
|
mediumblue: "0,0,205",
|
|
mediumorchid: "186,85,211",
|
|
mediumpurple: "147,112,219",
|
|
mediumseagreen: "60,179,113",
|
|
mediumslateblue: "123,104,238",
|
|
mediumspringgreen: "0,250,154",
|
|
mediumturquoise: "72,209,204",
|
|
mediumvioletred: "199,21,133",
|
|
midnightblue: "25,25,112",
|
|
mintcream: "245,255,250",
|
|
mistyrose: "255,228,225",
|
|
moccasin: "255,228,181",
|
|
navajowhite: "255,222,173",
|
|
navy: "0,0,128",
|
|
oldlace: "253,245,230",
|
|
olivedrab: "107,142,35",
|
|
olive: "128,128,0",
|
|
orangered: "255,69,0",
|
|
orange: "255,165,0",
|
|
orchid: "218,112,214",
|
|
palegoldenrod: "238,232,170",
|
|
palegreen: "152,251,152",
|
|
paleturquoise: "175,238,238",
|
|
palevioletred: "219,112,147",
|
|
papayawhip: "255,239,213",
|
|
peachpuff: "255,218,185",
|
|
peru: "205,133,63",
|
|
pink: "255,192,203",
|
|
plum: "221,160,221",
|
|
powderblue: "176,224,230",
|
|
purple: "128,0,128",
|
|
red: "255,0,0",
|
|
rosybrown: "188,143,143",
|
|
royalblue: "65,105,225",
|
|
saddlebrown: "139,69,19",
|
|
salmon: "250,128,114",
|
|
sandybrown: "244,164,96",
|
|
seagreen: "46,139,87",
|
|
seashell: "255,245,238",
|
|
sienna: "160,82,45",
|
|
silver: "192,192,192",
|
|
skyblue: "135,206,235",
|
|
slateblue: "106,90,205",
|
|
slategray: "112,128,144",
|
|
snow: "255,250,250",
|
|
springgreen: "0,255,127",
|
|
steelblue: "70,130,180",
|
|
tan: "210,180,140",
|
|
teal: "0,128,128",
|
|
thistle: "216,191,216",
|
|
tomato: "255,99,71",
|
|
turquoise: "64,224,208",
|
|
violet: "238,130,238",
|
|
wheat: "245,222,179",
|
|
whitesmoke: "245,245,245",
|
|
white: "255,255,255",
|
|
yellowgreen: "154,205,50",
|
|
yellow: "255,255,0"
|
|
}
|
|
},
|
|
Hooks: {
|
|
templates: {
|
|
textShadow: ["Color X Y Blur", "black 0px 0px 0px"],
|
|
boxShadow: ["Color X Y Blur Spread", "black 0px 0px 0px 0px"],
|
|
clip: ["Top Right Bottom Left", "0px 0px 0px 0px"],
|
|
backgroundPosition: ["X Y", "0% 0%"],
|
|
transformOrigin: ["X Y Z", "50% 50% 0px"],
|
|
perspectiveOrigin: ["X Y", "50% 50%"]
|
|
},
|
|
registered: {},
|
|
register: function() {
|
|
for (var a = 0; a < A.Lists.colors.length; a++) {
|
|
var b = "color" === A.Lists.colors[a] ? "0 0 0 1" : "255 255 255 1";
|
|
A.Hooks.templates[A.Lists.colors[a]] = ["Red Green Blue Alpha", b]
|
|
}
|
|
var c, d, e;
|
|
if (p)
|
|
for (c in A.Hooks.templates)
|
|
if (A.Hooks.templates.hasOwnProperty(c)) {
|
|
d = A.Hooks.templates[c],
|
|
e = d[0].split(" ");
|
|
var f = d[1].match(A.RegEx.valueSplit);
|
|
"Color" === e[0] && (e.push(e.shift()),
|
|
f.push(f.shift()),
|
|
A.Hooks.templates[c] = [e.join(" "), f.join(" ")])
|
|
}
|
|
for (c in A.Hooks.templates)
|
|
if (A.Hooks.templates.hasOwnProperty(c)) {
|
|
d = A.Hooks.templates[c],
|
|
e = d[0].split(" ");
|
|
for (var g in e)
|
|
if (e.hasOwnProperty(g)) {
|
|
var h = c + e[g]
|
|
, i = g;
|
|
A.Hooks.registered[h] = [c, i]
|
|
}
|
|
}
|
|
},
|
|
getRoot: function(a) {
|
|
var b = A.Hooks.registered[a];
|
|
return b ? b[0] : a
|
|
},
|
|
getUnit: function(a, b) {
|
|
var c = (a.substr(b || 0, 5).match(/^[a-z%]+/) || [])[0] || "";
|
|
return c && t(A.Lists.units, c) ? c : ""
|
|
},
|
|
fixColors: function(a) {
|
|
return a.replace(/(rgba?\(\s*)?(\b[a-z]+\b)/g, function(a, b, c) {
|
|
return A.Lists.colorNames.hasOwnProperty(c) ? (b ? b : "rgba(") + A.Lists.colorNames[c] + (b ? "" : ",1)") : b + c
|
|
})
|
|
},
|
|
cleanRootPropertyValue: function(a, b) {
|
|
return A.RegEx.valueUnwrap.test(b) && (b = b.match(A.RegEx.valueUnwrap)[1]),
|
|
A.Values.isCSSNullValue(b) && (b = A.Hooks.templates[a][1]),
|
|
b
|
|
},
|
|
extractValue: function(a, b) {
|
|
var c = A.Hooks.registered[a];
|
|
if (c) {
|
|
var d = c[0]
|
|
, e = c[1];
|
|
return b = A.Hooks.cleanRootPropertyValue(d, b),
|
|
b.toString().match(A.RegEx.valueSplit)[e]
|
|
}
|
|
return b
|
|
},
|
|
injectValue: function(a, b, c) {
|
|
var d = A.Hooks.registered[a];
|
|
if (d) {
|
|
var e, f = d[0], g = d[1];
|
|
return c = A.Hooks.cleanRootPropertyValue(f, c),
|
|
e = c.toString().match(A.RegEx.valueSplit),
|
|
e[g] = b,
|
|
e.join(" ")
|
|
}
|
|
return c
|
|
}
|
|
},
|
|
Normalizations: {
|
|
registered: {
|
|
clip: function(a, b, c) {
|
|
switch (a) {
|
|
case "name":
|
|
return "clip";
|
|
case "extract":
|
|
var d;
|
|
return A.RegEx.wrappedValueAlreadyExtracted.test(c) ? d = c : (d = c.toString().match(A.RegEx.valueUnwrap),
|
|
d = d ? d[1].replace(/,(\s+)?/g, " ") : c),
|
|
d;
|
|
case "inject":
|
|
return "rect(" + c + ")"
|
|
}
|
|
},
|
|
blur: function(a, b, c) {
|
|
switch (a) {
|
|
case "name":
|
|
return y.State.isFirefox ? "filter" : "-webkit-filter";
|
|
case "extract":
|
|
var d = parseFloat(c);
|
|
if (!d && 0 !== d) {
|
|
var e = c.toString().match(/blur\(([0-9]+[A-z]+)\)/i);
|
|
d = e ? e[1] : 0
|
|
}
|
|
return d;
|
|
case "inject":
|
|
return parseFloat(c) ? "blur(" + c + ")" : "none"
|
|
}
|
|
},
|
|
opacity: function(a, b, c) {
|
|
if (p <= 8)
|
|
switch (a) {
|
|
case "name":
|
|
return "filter";
|
|
case "extract":
|
|
var d = c.toString().match(/alpha\(opacity=(.*)\)/i);
|
|
return c = d ? d[1] / 100 : 1;
|
|
case "inject":
|
|
return b.style.zoom = 1,
|
|
parseFloat(c) >= 1 ? "" : "alpha(opacity=" + parseInt(100 * parseFloat(c), 10) + ")"
|
|
}
|
|
else
|
|
switch (a) {
|
|
case "name":
|
|
return "opacity";
|
|
case "extract":
|
|
return c;
|
|
case "inject":
|
|
return c
|
|
}
|
|
}
|
|
},
|
|
register: function() {
|
|
function a(a, b, c) {
|
|
if ("border-box" === A.getPropertyValue(b, "boxSizing").toString().toLowerCase() === (c || !1)) {
|
|
var d, e, f = 0, g = "width" === a ? ["Left", "Right"] : ["Top", "Bottom"], h = ["padding" + g[0], "padding" + g[1], "border" + g[0] + "Width", "border" + g[1] + "Width"];
|
|
for (d = 0; d < h.length; d++)
|
|
e = parseFloat(A.getPropertyValue(b, h[d])),
|
|
isNaN(e) || (f += e);
|
|
return c ? -f : f
|
|
}
|
|
return 0
|
|
}
|
|
function b(b, c) {
|
|
return function(d, e, f) {
|
|
switch (d) {
|
|
case "name":
|
|
return b;
|
|
case "extract":
|
|
return parseFloat(f) + a(b, e, c);
|
|
case "inject":
|
|
return parseFloat(f) - a(b, e, c) + "px"
|
|
}
|
|
}
|
|
}
|
|
p && !(p > 9) || y.State.isGingerbread || (A.Lists.transformsBase = A.Lists.transformsBase.concat(A.Lists.transforms3D));
|
|
for (var c = 0; c < A.Lists.transformsBase.length; c++)
|
|
!function() {
|
|
var a = A.Lists.transformsBase[c];
|
|
A.Normalizations.registered[a] = function(b, c, e) {
|
|
switch (b) {
|
|
case "name":
|
|
return "transform";
|
|
case "extract":
|
|
return g(c) === d || g(c).transformCache[a] === d ? /^scale/i.test(a) ? 1 : 0 : g(c).transformCache[a].replace(/[()]/g, "");
|
|
case "inject":
|
|
var f = !1;
|
|
switch (a.substr(0, a.length - 1)) {
|
|
case "translate":
|
|
f = !/(%|px|em|rem|vw|vh|\d)$/i.test(e);
|
|
break;
|
|
case "scal":
|
|
case "scale":
|
|
y.State.isAndroid && g(c).transformCache[a] === d && e < 1 && (e = 1),
|
|
f = !/(\d)$/i.test(e);
|
|
break;
|
|
case "skew":
|
|
f = !/(deg|\d)$/i.test(e);
|
|
break;
|
|
case "rotate":
|
|
f = !/(deg|\d)$/i.test(e)
|
|
}
|
|
return f || (g(c).transformCache[a] = "(" + e + ")"),
|
|
g(c).transformCache[a]
|
|
}
|
|
}
|
|
}();
|
|
for (var e = 0; e < A.Lists.colors.length; e++)
|
|
!function() {
|
|
var a = A.Lists.colors[e];
|
|
A.Normalizations.registered[a] = function(b, c, e) {
|
|
switch (b) {
|
|
case "name":
|
|
return a;
|
|
case "extract":
|
|
var f;
|
|
if (A.RegEx.wrappedValueAlreadyExtracted.test(e))
|
|
f = e;
|
|
else {
|
|
var g, h = {
|
|
black: "rgb(0, 0, 0)",
|
|
blue: "rgb(0, 0, 255)",
|
|
gray: "rgb(128, 128, 128)",
|
|
green: "rgb(0, 128, 0)",
|
|
red: "rgb(255, 0, 0)",
|
|
white: "rgb(255, 255, 255)"
|
|
};
|
|
/^[A-z]+$/i.test(e) ? g = h[e] !== d ? h[e] : h.black : A.RegEx.isHex.test(e) ? g = "rgb(" + A.Values.hexToRgb(e).join(" ") + ")" : /^rgba?\(/i.test(e) || (g = h.black),
|
|
f = (g || e).toString().match(A.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g, " ")
|
|
}
|
|
return (!p || p > 8) && 3 === f.split(" ").length && (f += " 1"),
|
|
f;
|
|
case "inject":
|
|
return /^rgb/.test(e) ? e : (p <= 8 ? 4 === e.split(" ").length && (e = e.split(/\s+/).slice(0, 3).join(" ")) : 3 === e.split(" ").length && (e += " 1"),
|
|
(p <= 8 ? "rgb" : "rgba") + "(" + e.replace(/\s+/g, ",").replace(/\.(\d)+(?=,)/g, "") + ")")
|
|
}
|
|
}
|
|
}();
|
|
A.Normalizations.registered.innerWidth = b("width", !0),
|
|
A.Normalizations.registered.innerHeight = b("height", !0),
|
|
A.Normalizations.registered.outerWidth = b("width"),
|
|
A.Normalizations.registered.outerHeight = b("height")
|
|
}
|
|
},
|
|
Names: {
|
|
camelCase: function(a) {
|
|
return a.replace(/-(\w)/g, function(a, b) {
|
|
return b.toUpperCase()
|
|
})
|
|
},
|
|
SVGAttribute: function(a) {
|
|
var b = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";
|
|
return (p || y.State.isAndroid && !y.State.isChrome) && (b += "|transform"),
|
|
new RegExp("^(" + b + ")$","i").test(a)
|
|
},
|
|
prefixCheck: function(a) {
|
|
if (y.State.prefixMatches[a])
|
|
return [y.State.prefixMatches[a], !0];
|
|
for (var b = ["", "Webkit", "Moz", "ms", "O"], c = 0, d = b.length; c < d; c++) {
|
|
var e;
|
|
if (e = 0 === c ? a : b[c] + a.replace(/^\w/, function(a) {
|
|
return a.toUpperCase()
|
|
}),
|
|
u.isString(y.State.prefixElement.style[e]))
|
|
return y.State.prefixMatches[a] = e,
|
|
[e, !0]
|
|
}
|
|
return [a, !1]
|
|
}
|
|
},
|
|
Values: {
|
|
hexToRgb: function(a) {
|
|
var b, c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;
|
|
return a = a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function(a, b, c, d) {
|
|
return b + b + c + c + d + d
|
|
}),
|
|
b = c.exec(a),
|
|
b ? [parseInt(b[1], 16), parseInt(b[2], 16), parseInt(b[3], 16)] : [0, 0, 0]
|
|
},
|
|
isCSSNullValue: function(a) {
|
|
return !a || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(a)
|
|
},
|
|
getUnitType: function(a) {
|
|
return /^(rotate|skew)/i.test(a) ? "deg" : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(a) ? "" : "px"
|
|
},
|
|
getDisplayType: function(a) {
|
|
var b = a && a.tagName.toString().toLowerCase();
|
|
return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(b) ? "inline" : /^(li)$/i.test(b) ? "list-item" : /^(tr)$/i.test(b) ? "table-row" : /^(table)$/i.test(b) ? "table" : /^(tbody)$/i.test(b) ? "table-row-group" : "block"
|
|
},
|
|
addClass: function(a, b) {
|
|
if (a)
|
|
if (a.classList)
|
|
a.classList.add(b);
|
|
else if (u.isString(a.className))
|
|
a.className += (a.className.length ? " " : "") + b;
|
|
else {
|
|
var c = a.getAttribute(p <= 7 ? "className" : "class") || "";
|
|
a.setAttribute("class", c + (c ? " " : "") + b)
|
|
}
|
|
},
|
|
removeClass: function(a, b) {
|
|
if (a)
|
|
if (a.classList)
|
|
a.classList.remove(b);
|
|
else if (u.isString(a.className))
|
|
a.className = a.className.toString().replace(new RegExp("(^|\\s)" + b.split(" ").join("|") + "(\\s|$)","gi"), " ");
|
|
else {
|
|
var c = a.getAttribute(p <= 7 ? "className" : "class") || "";
|
|
a.setAttribute("class", c.replace(new RegExp("(^|s)" + b.split(" ").join("|") + "(s|$)","gi"), " "))
|
|
}
|
|
}
|
|
},
|
|
getPropertyValue: function(a, c, e, f) {
|
|
function h(a, c) {
|
|
var e = 0;
|
|
if (p <= 8)
|
|
e = o.css(a, c);
|
|
else {
|
|
var i = !1;
|
|
/^(width|height)$/.test(c) && 0 === A.getPropertyValue(a, "display") && (i = !0,
|
|
A.setPropertyValue(a, "display", A.Values.getDisplayType(a)));
|
|
var j = function() {
|
|
i && A.setPropertyValue(a, "display", "none")
|
|
};
|
|
if (!f) {
|
|
if ("height" === c && "border-box" !== A.getPropertyValue(a, "boxSizing").toString().toLowerCase()) {
|
|
var k = a.offsetHeight - (parseFloat(A.getPropertyValue(a, "borderTopWidth")) || 0) - (parseFloat(A.getPropertyValue(a, "borderBottomWidth")) || 0) - (parseFloat(A.getPropertyValue(a, "paddingTop")) || 0) - (parseFloat(A.getPropertyValue(a, "paddingBottom")) || 0);
|
|
return j(),
|
|
k
|
|
}
|
|
if ("width" === c && "border-box" !== A.getPropertyValue(a, "boxSizing").toString().toLowerCase()) {
|
|
var l = a.offsetWidth - (parseFloat(A.getPropertyValue(a, "borderLeftWidth")) || 0) - (parseFloat(A.getPropertyValue(a, "borderRightWidth")) || 0) - (parseFloat(A.getPropertyValue(a, "paddingLeft")) || 0) - (parseFloat(A.getPropertyValue(a, "paddingRight")) || 0);
|
|
return j(),
|
|
l
|
|
}
|
|
}
|
|
var m;
|
|
m = g(a) === d ? b.getComputedStyle(a, null) : g(a).computedStyle ? g(a).computedStyle : g(a).computedStyle = b.getComputedStyle(a, null),
|
|
"borderColor" === c && (c = "borderTopColor"),
|
|
e = 9 === p && "filter" === c ? m.getPropertyValue(c) : m[c],
|
|
"" !== e && null !== e || (e = a.style[c]),
|
|
j()
|
|
}
|
|
if ("auto" === e && /^(top|right|bottom|left)$/i.test(c)) {
|
|
var n = h(a, "position");
|
|
("fixed" === n || "absolute" === n && /top|left/i.test(c)) && (e = o(a).position()[c] + "px")
|
|
}
|
|
return e
|
|
}
|
|
var i;
|
|
if (A.Hooks.registered[c]) {
|
|
var j = c
|
|
, k = A.Hooks.getRoot(j);
|
|
e === d && (e = A.getPropertyValue(a, A.Names.prefixCheck(k)[0])),
|
|
A.Normalizations.registered[k] && (e = A.Normalizations.registered[k]("extract", a, e)),
|
|
i = A.Hooks.extractValue(j, e)
|
|
} else if (A.Normalizations.registered[c]) {
|
|
var l, m;
|
|
l = A.Normalizations.registered[c]("name", a),
|
|
"transform" !== l && (m = h(a, A.Names.prefixCheck(l)[0]),
|
|
A.Values.isCSSNullValue(m) && A.Hooks.templates[c] && (m = A.Hooks.templates[c][1])),
|
|
i = A.Normalizations.registered[c]("extract", a, m)
|
|
}
|
|
if (!/^[\d-]/.test(i)) {
|
|
var n = g(a);
|
|
if (n && n.isSVG && A.Names.SVGAttribute(c))
|
|
if (/^(height|width)$/i.test(c))
|
|
try {
|
|
i = a.getBBox()[c]
|
|
} catch (q) {
|
|
i = 0
|
|
}
|
|
else
|
|
i = a.getAttribute(c);
|
|
else
|
|
i = h(a, A.Names.prefixCheck(c)[0])
|
|
}
|
|
return A.Values.isCSSNullValue(i) && (i = 0),
|
|
y.debug >= 2 && console.log("Get " + c + ": " + i),
|
|
i
|
|
},
|
|
setPropertyValue: function(a, c, d, e, f) {
|
|
var h = c;
|
|
if ("scroll" === c)
|
|
f.container ? f.container["scroll" + f.direction] = d : "Left" === f.direction ? b.scrollTo(d, f.alternateValue) : b.scrollTo(f.alternateValue, d);
|
|
else if (A.Normalizations.registered[c] && "transform" === A.Normalizations.registered[c]("name", a))
|
|
A.Normalizations.registered[c]("inject", a, d),
|
|
h = "transform",
|
|
d = g(a).transformCache[c];
|
|
else {
|
|
if (A.Hooks.registered[c]) {
|
|
var i = c
|
|
, j = A.Hooks.getRoot(c);
|
|
e = e || A.getPropertyValue(a, j),
|
|
d = A.Hooks.injectValue(i, d, e),
|
|
c = j
|
|
}
|
|
if (A.Normalizations.registered[c] && (d = A.Normalizations.registered[c]("inject", a, d),
|
|
c = A.Normalizations.registered[c]("name", a)),
|
|
h = A.Names.prefixCheck(c)[0],
|
|
p <= 8)
|
|
try {
|
|
a.style[h] = d
|
|
} catch (l) {
|
|
y.debug && console.log("Browser does not support [" + d + "] for [" + h + "]")
|
|
}
|
|
else {
|
|
var k = g(a);
|
|
k && k.isSVG && A.Names.SVGAttribute(c) ? a.setAttribute(c, d) : a.style[h] = d
|
|
}
|
|
y.debug >= 2 && console.log("Set " + c + " (" + h + "): " + d)
|
|
}
|
|
return [h, d]
|
|
},
|
|
flushTransformCache: function(a) {
|
|
var b = ""
|
|
, c = g(a);
|
|
if ((p || y.State.isAndroid && !y.State.isChrome) && c && c.isSVG) {
|
|
var d = function(b) {
|
|
return parseFloat(A.getPropertyValue(a, b))
|
|
}
|
|
, e = {
|
|
translate: [d("translateX"), d("translateY")],
|
|
skewX: [d("skewX")],
|
|
skewY: [d("skewY")],
|
|
scale: 1 !== d("scale") ? [d("scale"), d("scale")] : [d("scaleX"), d("scaleY")],
|
|
rotate: [d("rotateZ"), 0, 0]
|
|
};
|
|
o.each(g(a).transformCache, function(a) {
|
|
/^translate/i.test(a) ? a = "translate" : /^scale/i.test(a) ? a = "scale" : /^rotate/i.test(a) && (a = "rotate"),
|
|
e[a] && (b += a + "(" + e[a].join(" ") + ") ",
|
|
delete e[a])
|
|
})
|
|
} else {
|
|
var f, h;
|
|
o.each(g(a).transformCache, function(c) {
|
|
if (f = g(a).transformCache[c],
|
|
"transformPerspective" === c)
|
|
return h = f,
|
|
!0;
|
|
9 === p && "rotateZ" === c && (c = "rotate"),
|
|
b += c + f + " "
|
|
}),
|
|
h && (b = "perspective" + h + " " + b)
|
|
}
|
|
A.setPropertyValue(a, "transform", b)
|
|
}
|
|
};
|
|
A.Hooks.register(),
|
|
A.Normalizations.register(),
|
|
y.hook = function(a, b, c) {
|
|
var e;
|
|
return a = f(a),
|
|
o.each(a, function(a, f) {
|
|
if (g(f) === d && y.init(f),
|
|
c === d)
|
|
e === d && (e = A.getPropertyValue(f, b));
|
|
else {
|
|
var h = A.setPropertyValue(f, b, c);
|
|
"transform" === h[0] && y.CSS.flushTransformCache(f),
|
|
e = h
|
|
}
|
|
}),
|
|
e
|
|
}
|
|
;
|
|
var B = function() {
|
|
function a() {
|
|
return k ? z.promise || null : p
|
|
}
|
|
function e(a, e) {
|
|
function f(f) {
|
|
var k, n;
|
|
if (i.begin && 0 === D)
|
|
try {
|
|
i.begin.call(r, r)
|
|
} catch (V) {
|
|
setTimeout(function() {
|
|
throw V
|
|
}, 1)
|
|
}
|
|
if ("scroll" === G) {
|
|
var p, q, w, x = /^x$/i.test(i.axis) ? "Left" : "Top", B = parseFloat(i.offset) || 0;
|
|
i.container ? u.isWrapped(i.container) || u.isNode(i.container) ? (i.container = i.container[0] || i.container,
|
|
p = i.container["scroll" + x],
|
|
w = p + o(a).position()[x.toLowerCase()] + B) : i.container = null : (p = y.State.scrollAnchor[y.State["scrollProperty" + x]],
|
|
q = y.State.scrollAnchor[y.State["scrollProperty" + ("Left" === x ? "Top" : "Left")]],
|
|
w = o(a).offset()[x.toLowerCase()] + B),
|
|
j = {
|
|
scroll: {
|
|
rootPropertyValue: !1,
|
|
startValue: p,
|
|
currentValue: p,
|
|
endValue: w,
|
|
unitType: "",
|
|
easing: i.easing,
|
|
scrollData: {
|
|
container: i.container,
|
|
direction: x,
|
|
alternateValue: q
|
|
}
|
|
},
|
|
element: a
|
|
},
|
|
y.debug && console.log("tweensContainer (scroll): ", j.scroll, a)
|
|
} else if ("reverse" === G) {
|
|
if (!(k = g(a)))
|
|
return;
|
|
if (!k.tweensContainer)
|
|
return void o.dequeue(a, i.queue);
|
|
"none" === k.opts.display && (k.opts.display = "auto"),
|
|
"hidden" === k.opts.visibility && (k.opts.visibility = "visible"),
|
|
k.opts.loop = !1,
|
|
k.opts.begin = null,
|
|
k.opts.complete = null,
|
|
v.easing || delete i.easing,
|
|
v.duration || delete i.duration,
|
|
i = o.extend({}, k.opts, i),
|
|
n = o.extend(!0, {}, k ? k.tweensContainer : null);
|
|
for (var E in n)
|
|
if (n.hasOwnProperty(E) && "element" !== E) {
|
|
var F = n[E].startValue;
|
|
n[E].startValue = n[E].currentValue = n[E].endValue,
|
|
n[E].endValue = F,
|
|
u.isEmptyObject(v) || (n[E].easing = i.easing),
|
|
y.debug && console.log("reverse tweensContainer (" + E + "): " + JSON.stringify(n[E]), a)
|
|
}
|
|
j = n
|
|
} else if ("start" === G) {
|
|
k = g(a),
|
|
k && k.tweensContainer && k.isAnimating === !0 && (n = k.tweensContainer);
|
|
var H = function(e, f) {
|
|
var g, l = A.Hooks.getRoot(e), m = !1, p = f[0], q = f[1], r = f[2];
|
|
if (!(k && k.isSVG || "tween" === l || A.Names.prefixCheck(l)[1] !== !1 || A.Normalizations.registered[l] !== d))
|
|
return void (y.debug && console.log("Skipping [" + l + "] due to a lack of browser support."));
|
|
(i.display !== d && null !== i.display && "none" !== i.display || i.visibility !== d && "hidden" !== i.visibility) && /opacity|filter/.test(e) && !r && 0 !== p && (r = 0),
|
|
i._cacheValues && n && n[e] ? (r === d && (r = n[e].endValue + n[e].unitType),
|
|
m = k.rootPropertyValueCache[l]) : A.Hooks.registered[e] ? r === d ? (m = A.getPropertyValue(a, l),
|
|
r = A.getPropertyValue(a, e, m)) : m = A.Hooks.templates[l][1] : r === d && (r = A.getPropertyValue(a, e));
|
|
var s, t, v, w = !1, x = function(a, b) {
|
|
var c, d;
|
|
return d = (b || "0").toString().toLowerCase().replace(/[%A-z]+$/, function(a) {
|
|
return c = a,
|
|
""
|
|
}),
|
|
c || (c = A.Values.getUnitType(a)),
|
|
[d, c]
|
|
};
|
|
if (r !== p && u.isString(r) && u.isString(p)) {
|
|
g = "";
|
|
var z = 0
|
|
, B = 0
|
|
, C = []
|
|
, D = []
|
|
, E = 0
|
|
, F = 0
|
|
, G = 0;
|
|
for (r = A.Hooks.fixColors(r),
|
|
p = A.Hooks.fixColors(p); z < r.length && B < p.length; ) {
|
|
var H = r[z]
|
|
, I = p[B];
|
|
if (/[\d\.-]/.test(H) && /[\d\.-]/.test(I)) {
|
|
for (var J = H, K = I, L = ".", N = "."; ++z < r.length; ) {
|
|
if ((H = r[z]) === L)
|
|
L = "..";
|
|
else if (!/\d/.test(H))
|
|
break;
|
|
J += H
|
|
}
|
|
for (; ++B < p.length; ) {
|
|
if ((I = p[B]) === N)
|
|
N = "..";
|
|
else if (!/\d/.test(I))
|
|
break;
|
|
K += I
|
|
}
|
|
var O = A.Hooks.getUnit(r, z)
|
|
, P = A.Hooks.getUnit(p, B);
|
|
if (z += O.length,
|
|
B += P.length,
|
|
O === P)
|
|
J === K ? g += J + O : (g += "{" + C.length + (F ? "!" : "") + "}" + O,
|
|
C.push(parseFloat(J)),
|
|
D.push(parseFloat(K)));
|
|
else {
|
|
var Q = parseFloat(J)
|
|
, R = parseFloat(K);
|
|
g += (E < 5 ? "calc" : "") + "(" + (Q ? "{" + C.length + (F ? "!" : "") + "}" : "0") + O + " + " + (R ? "{" + (C.length + (Q ? 1 : 0)) + (F ? "!" : "") + "}" : "0") + P + ")",
|
|
Q && (C.push(Q),
|
|
D.push(0)),
|
|
R && (C.push(0),
|
|
D.push(R))
|
|
}
|
|
} else {
|
|
if (H !== I) {
|
|
E = 0;
|
|
break
|
|
}
|
|
g += H,
|
|
z++,
|
|
B++,
|
|
0 === E && "c" === H || 1 === E && "a" === H || 2 === E && "l" === H || 3 === E && "c" === H || E >= 4 && "(" === H ? E++ : (E && E < 5 || E >= 4 && ")" === H && --E < 5) && (E = 0),
|
|
0 === F && "r" === H || 1 === F && "g" === H || 2 === F && "b" === H || 3 === F && "a" === H || F >= 3 && "(" === H ? (3 === F && "a" === H && (G = 1),
|
|
F++) : G && "," === H ? ++G > 3 && (F = G = 0) : (G && F < (G ? 5 : 4) || F >= (G ? 4 : 3) && ")" === H && --F < (G ? 5 : 4)) && (F = G = 0)
|
|
}
|
|
}
|
|
z === r.length && B === p.length || (y.debug && console.error('Trying to pattern match mis-matched strings ["' + p + '", "' + r + '"]'),
|
|
g = d),
|
|
g && (C.length ? (y.debug && console.log('Pattern found "' + g + '" -> ', C, D, "[" + r + "," + p + "]"),
|
|
r = C,
|
|
p = D,
|
|
t = v = "") : g = d)
|
|
}
|
|
g || (s = x(e, r),
|
|
r = s[0],
|
|
v = s[1],
|
|
s = x(e, p),
|
|
p = s[0].replace(/^([+-\/*])=/, function(a, b) {
|
|
return w = b,
|
|
""
|
|
}),
|
|
t = s[1],
|
|
r = parseFloat(r) || 0,
|
|
p = parseFloat(p) || 0,
|
|
"%" === t && (/^(fontSize|lineHeight)$/.test(e) ? (p /= 100,
|
|
t = "em") : /^scale/.test(e) ? (p /= 100,
|
|
t = "") : /(Red|Green|Blue)$/i.test(e) && (p = p / 100 * 255,
|
|
t = "")));
|
|
if (/[\/*]/.test(w))
|
|
t = v;
|
|
else if (v !== t && 0 !== r)
|
|
if (0 === p)
|
|
t = v;
|
|
else {
|
|
h = h || function() {
|
|
var d = {
|
|
myParent: a.parentNode || c.body,
|
|
position: A.getPropertyValue(a, "position"),
|
|
fontSize: A.getPropertyValue(a, "fontSize")
|
|
}
|
|
, e = d.position === M.lastPosition && d.myParent === M.lastParent
|
|
, f = d.fontSize === M.lastFontSize;
|
|
M.lastParent = d.myParent,
|
|
M.lastPosition = d.position,
|
|
M.lastFontSize = d.fontSize;
|
|
var g = {};
|
|
if (f && e)
|
|
g.emToPx = M.lastEmToPx,
|
|
g.percentToPxWidth = M.lastPercentToPxWidth,
|
|
g.percentToPxHeight = M.lastPercentToPxHeight;
|
|
else {
|
|
var h = k && k.isSVG ? c.createElementNS("http://www.w3.org/2000/svg", "rect") : c.createElement("div");
|
|
y.init(h),
|
|
d.myParent.appendChild(h),
|
|
o.each(["overflow", "overflowX", "overflowY"], function(a, b) {
|
|
y.CSS.setPropertyValue(h, b, "hidden")
|
|
}),
|
|
y.CSS.setPropertyValue(h, "position", d.position),
|
|
y.CSS.setPropertyValue(h, "fontSize", d.fontSize),
|
|
y.CSS.setPropertyValue(h, "boxSizing", "content-box"),
|
|
o.each(["minWidth", "maxWidth", "width", "minHeight", "maxHeight", "height"], function(a, b) {
|
|
y.CSS.setPropertyValue(h, b, "100%")
|
|
}),
|
|
y.CSS.setPropertyValue(h, "paddingLeft", "100em"),
|
|
g.percentToPxWidth = M.lastPercentToPxWidth = (parseFloat(A.getPropertyValue(h, "width", null, !0)) || 1) / 100,
|
|
g.percentToPxHeight = M.lastPercentToPxHeight = (parseFloat(A.getPropertyValue(h, "height", null, !0)) || 1) / 100,
|
|
g.emToPx = M.lastEmToPx = (parseFloat(A.getPropertyValue(h, "paddingLeft")) || 1) / 100,
|
|
d.myParent.removeChild(h)
|
|
}
|
|
return null === M.remToPx && (M.remToPx = parseFloat(A.getPropertyValue(c.body, "fontSize")) || 16),
|
|
null === M.vwToPx && (M.vwToPx = parseFloat(b.innerWidth) / 100,
|
|
M.vhToPx = parseFloat(b.innerHeight) / 100),
|
|
g.remToPx = M.remToPx,
|
|
g.vwToPx = M.vwToPx,
|
|
g.vhToPx = M.vhToPx,
|
|
y.debug >= 1 && console.log("Unit ratios: " + JSON.stringify(g), a),
|
|
g
|
|
}();
|
|
var S = /margin|padding|left|right|width|text|word|letter/i.test(e) || /X$/.test(e) || "x" === e ? "x" : "y";
|
|
switch (v) {
|
|
case "%":
|
|
r *= "x" === S ? h.percentToPxWidth : h.percentToPxHeight;
|
|
break;
|
|
case "px":
|
|
break;
|
|
default:
|
|
r *= h[v + "ToPx"]
|
|
}
|
|
switch (t) {
|
|
case "%":
|
|
r *= 1 / ("x" === S ? h.percentToPxWidth : h.percentToPxHeight);
|
|
break;
|
|
case "px":
|
|
break;
|
|
default:
|
|
r *= 1 / h[t + "ToPx"]
|
|
}
|
|
}
|
|
switch (w) {
|
|
case "+":
|
|
p = r + p;
|
|
break;
|
|
case "-":
|
|
p = r - p;
|
|
break;
|
|
case "*":
|
|
p *= r;
|
|
break;
|
|
case "/":
|
|
p = r / p
|
|
}
|
|
j[e] = {
|
|
rootPropertyValue: m,
|
|
startValue: r,
|
|
currentValue: r,
|
|
endValue: p,
|
|
unitType: t,
|
|
easing: q
|
|
},
|
|
g && (j[e].pattern = g),
|
|
y.debug && console.log("tweensContainer (" + e + "): " + JSON.stringify(j[e]), a)
|
|
};
|
|
for (var I in s)
|
|
if (s.hasOwnProperty(I)) {
|
|
var J = A.Names.camelCase(I)
|
|
, K = function(b, c) {
|
|
var d, f, g;
|
|
return u.isFunction(b) && (b = b.call(a, e, C)),
|
|
u.isArray(b) ? (d = b[0],
|
|
!u.isArray(b[1]) && /^[\d-]/.test(b[1]) || u.isFunction(b[1]) || A.RegEx.isHex.test(b[1]) ? g = b[1] : u.isString(b[1]) && !A.RegEx.isHex.test(b[1]) && y.Easings[b[1]] || u.isArray(b[1]) ? (f = c ? b[1] : l(b[1], i.duration),
|
|
g = b[2]) : g = b[1] || b[2]) : d = b,
|
|
c || (f = f || i.easing),
|
|
u.isFunction(d) && (d = d.call(a, e, C)),
|
|
u.isFunction(g) && (g = g.call(a, e, C)),
|
|
[d || 0, f, g]
|
|
}(s[I]);
|
|
if (t(A.Lists.colors, J)) {
|
|
var L = K[0]
|
|
, O = K[1]
|
|
, P = K[2];
|
|
if (A.RegEx.isHex.test(L)) {
|
|
for (var Q = ["Red", "Green", "Blue"], R = A.Values.hexToRgb(L), S = P ? A.Values.hexToRgb(P) : d, T = 0; T < Q.length; T++) {
|
|
var U = [R[T]];
|
|
O && U.push(O),
|
|
S !== d && U.push(S[T]),
|
|
H(J + Q[T], U)
|
|
}
|
|
continue
|
|
}
|
|
}
|
|
H(J, K)
|
|
}
|
|
j.element = a
|
|
}
|
|
j.element && (A.Values.addClass(a, "velocity-animating"),
|
|
N.push(j),
|
|
k = g(a),
|
|
k && ("" === i.queue && (k.tweensContainer = j,
|
|
k.opts = i),
|
|
k.isAnimating = !0),
|
|
D === C - 1 ? (y.State.calls.push([N, r, i, null, z.resolver, null, 0]),
|
|
y.State.isTicking === !1 && (y.State.isTicking = !0,
|
|
m())) : D++)
|
|
}
|
|
var h, i = o.extend({}, y.defaults, v), j = {};
|
|
switch (g(a) === d && y.init(a),
|
|
parseFloat(i.delay) && i.queue !== !1 && o.queue(a, i.queue, function(b) {
|
|
y.velocityQueueEntryFlag = !0;
|
|
var c = y.State.delayedElements.count++;
|
|
y.State.delayedElements[c] = a;
|
|
var d = function(a) {
|
|
return function() {
|
|
y.State.delayedElements[a] = !1,
|
|
b()
|
|
}
|
|
}(c);
|
|
g(a).delayBegin = (new Date).getTime(),
|
|
g(a).delay = parseFloat(i.delay),
|
|
g(a).delayTimer = {
|
|
setTimeout: setTimeout(b, parseFloat(i.delay)),
|
|
next: d
|
|
}
|
|
}),
|
|
i.duration.toString().toLowerCase()) {
|
|
case "fast":
|
|
i.duration = 200;
|
|
break;
|
|
case "normal":
|
|
i.duration = w;
|
|
break;
|
|
case "slow":
|
|
i.duration = 600;
|
|
break;
|
|
default:
|
|
i.duration = parseFloat(i.duration) || 1
|
|
}
|
|
if (y.mock !== !1 && (y.mock === !0 ? i.duration = i.delay = 1 : (i.duration *= parseFloat(y.mock) || 1,
|
|
i.delay *= parseFloat(y.mock) || 1)),
|
|
i.easing = l(i.easing, i.duration),
|
|
i.begin && !u.isFunction(i.begin) && (i.begin = null),
|
|
i.progress && !u.isFunction(i.progress) && (i.progress = null),
|
|
i.complete && !u.isFunction(i.complete) && (i.complete = null),
|
|
i.display !== d && null !== i.display && (i.display = i.display.toString().toLowerCase(),
|
|
"auto" === i.display && (i.display = y.CSS.Values.getDisplayType(a))),
|
|
i.visibility !== d && null !== i.visibility && (i.visibility = i.visibility.toString().toLowerCase()),
|
|
i.mobileHA = i.mobileHA && y.State.isMobile && !y.State.isGingerbread,
|
|
i.queue === !1)
|
|
if (i.delay) {
|
|
var k = y.State.delayedElements.count++;
|
|
y.State.delayedElements[k] = a;
|
|
var n = function(a) {
|
|
return function() {
|
|
y.State.delayedElements[a] = !1,
|
|
f()
|
|
}
|
|
}(k);
|
|
g(a).delayBegin = (new Date).getTime(),
|
|
g(a).delay = parseFloat(i.delay),
|
|
g(a).delayTimer = {
|
|
setTimeout: setTimeout(f, parseFloat(i.delay)),
|
|
next: n
|
|
}
|
|
} else
|
|
f();
|
|
else
|
|
o.queue(a, i.queue, function(a, b) {
|
|
if (b === !0)
|
|
return z.promise && z.resolver(r),
|
|
!0;
|
|
y.velocityQueueEntryFlag = !0,
|
|
f(a)
|
|
});
|
|
"" !== i.queue && "fx" !== i.queue || "inprogress" === o.queue(a)[0] || o.dequeue(a)
|
|
}
|
|
var j, k, p, q, r, s, v, x = arguments[0] && (arguments[0].p || o.isPlainObject(arguments[0].properties) && !arguments[0].properties.names || u.isString(arguments[0].properties));
|
|
u.isWrapped(this) ? (k = !1,
|
|
q = 0,
|
|
r = this,
|
|
p = this) : (k = !0,
|
|
q = 1,
|
|
r = x ? arguments[0].elements || arguments[0].e : arguments[0]);
|
|
var z = {
|
|
promise: null,
|
|
resolver: null,
|
|
rejecter: null
|
|
};
|
|
if (k && y.Promise && (z.promise = new y.Promise(function(a, b) {
|
|
z.resolver = a,
|
|
z.rejecter = b
|
|
}
|
|
)),
|
|
x ? (s = arguments[0].properties || arguments[0].p,
|
|
v = arguments[0].options || arguments[0].o) : (s = arguments[q],
|
|
v = arguments[q + 1]),
|
|
!(r = f(r)))
|
|
return void (z.promise && (s && v && v.promiseRejectEmpty === !1 ? z.resolver() : z.rejecter()));
|
|
var C = r.length
|
|
, D = 0;
|
|
if (!/^(stop|finish|finishAll|pause|resume)$/i.test(s) && !o.isPlainObject(v)) {
|
|
var E = q + 1;
|
|
v = {};
|
|
for (var F = E; F < arguments.length; F++)
|
|
u.isArray(arguments[F]) || !/^(fast|normal|slow)$/i.test(arguments[F]) && !/^\d/.test(arguments[F]) ? u.isString(arguments[F]) || u.isArray(arguments[F]) ? v.easing = arguments[F] : u.isFunction(arguments[F]) && (v.complete = arguments[F]) : v.duration = arguments[F]
|
|
}
|
|
var G;
|
|
switch (s) {
|
|
case "scroll":
|
|
G = "scroll";
|
|
break;
|
|
case "reverse":
|
|
G = "reverse";
|
|
break;
|
|
case "pause":
|
|
var H = (new Date).getTime();
|
|
return o.each(r, function(a, b) {
|
|
h(b, H)
|
|
}),
|
|
o.each(y.State.calls, function(a, b) {
|
|
var c = !1;
|
|
b && o.each(b[1], function(a, e) {
|
|
var f = v === d ? "" : v;
|
|
return f !== !0 && b[2].queue !== f && (v !== d || b[2].queue !== !1) || (o.each(r, function(a, d) {
|
|
if (d === e)
|
|
return b[5] = {
|
|
resume: !1
|
|
},
|
|
c = !0,
|
|
!1
|
|
}),
|
|
!c && void 0)
|
|
})
|
|
}),
|
|
a();
|
|
case "resume":
|
|
return o.each(r, function(a, b) {
|
|
i(b, H)
|
|
}),
|
|
o.each(y.State.calls, function(a, b) {
|
|
var c = !1;
|
|
b && o.each(b[1], function(a, e) {
|
|
var f = v === d ? "" : v;
|
|
return f !== !0 && b[2].queue !== f && (v !== d || b[2].queue !== !1) || (!b[5] || (o.each(r, function(a, d) {
|
|
if (d === e)
|
|
return b[5].resume = !0,
|
|
c = !0,
|
|
!1
|
|
}),
|
|
!c && void 0))
|
|
})
|
|
}),
|
|
a();
|
|
case "finish":
|
|
case "finishAll":
|
|
case "stop":
|
|
o.each(r, function(a, b) {
|
|
g(b) && g(b).delayTimer && (clearTimeout(g(b).delayTimer.setTimeout),
|
|
g(b).delayTimer.next && g(b).delayTimer.next(),
|
|
delete g(b).delayTimer),
|
|
"finishAll" !== s || v !== !0 && !u.isString(v) || (o.each(o.queue(b, u.isString(v) ? v : ""), function(a, b) {
|
|
u.isFunction(b) && b()
|
|
}),
|
|
o.queue(b, u.isString(v) ? v : "", []))
|
|
});
|
|
var I = [];
|
|
return o.each(y.State.calls, function(a, b) {
|
|
b && o.each(b[1], function(c, e) {
|
|
var f = v === d ? "" : v;
|
|
if (f !== !0 && b[2].queue !== f && (v !== d || b[2].queue !== !1))
|
|
return !0;
|
|
o.each(r, function(c, d) {
|
|
if (d === e)
|
|
if ((v === !0 || u.isString(v)) && (o.each(o.queue(d, u.isString(v) ? v : ""), function(a, b) {
|
|
u.isFunction(b) && b(null, !0)
|
|
}),
|
|
o.queue(d, u.isString(v) ? v : "", [])),
|
|
"stop" === s) {
|
|
var h = g(d);
|
|
h && h.tweensContainer && f !== !1 && o.each(h.tweensContainer, function(a, b) {
|
|
b.endValue = b.currentValue
|
|
}),
|
|
I.push(a)
|
|
} else
|
|
"finish" !== s && "finishAll" !== s || (b[2].duration = 1)
|
|
})
|
|
})
|
|
}),
|
|
"stop" === s && (o.each(I, function(a, b) {
|
|
n(b, !0)
|
|
}),
|
|
z.promise && z.resolver(r)),
|
|
a();
|
|
default:
|
|
if (!o.isPlainObject(s) || u.isEmptyObject(s)) {
|
|
if (u.isString(s) && y.Redirects[s]) {
|
|
j = o.extend({}, v);
|
|
var J = j.duration
|
|
, K = j.delay || 0;
|
|
return j.backwards === !0 && (r = o.extend(!0, [], r).reverse()),
|
|
o.each(r, function(a, b) {
|
|
parseFloat(j.stagger) ? j.delay = K + parseFloat(j.stagger) * a : u.isFunction(j.stagger) && (j.delay = K + j.stagger.call(b, a, C)),
|
|
j.drag && (j.duration = parseFloat(J) || (/^(callout|transition)/.test(s) ? 1e3 : w),
|
|
j.duration = Math.max(j.duration * (j.backwards ? 1 - a / C : (a + 1) / C), .75 * j.duration, 200)),
|
|
y.Redirects[s].call(b, b, j || {}, a, C, r, z.promise ? z : d)
|
|
}),
|
|
a()
|
|
}
|
|
var L = "Velocity: First argument (" + s + ") was not a property map, a known action, or a registered redirect. Aborting.";
|
|
return z.promise ? z.rejecter(new Error(L)) : b.console && console.log(L),
|
|
a()
|
|
}
|
|
G = "start"
|
|
}
|
|
var M = {
|
|
lastParent: null,
|
|
lastPosition: null,
|
|
lastFontSize: null,
|
|
lastPercentToPxWidth: null,
|
|
lastPercentToPxHeight: null,
|
|
lastEmToPx: null,
|
|
remToPx: null,
|
|
vwToPx: null,
|
|
vhToPx: null
|
|
}
|
|
, N = [];
|
|
o.each(r, function(a, b) {
|
|
u.isNode(b) && e(b, a)
|
|
}),
|
|
j = o.extend({}, y.defaults, v),
|
|
j.loop = parseInt(j.loop, 10);
|
|
var O = 2 * j.loop - 1;
|
|
if (j.loop)
|
|
for (var P = 0; P < O; P++) {
|
|
var Q = {
|
|
delay: j.delay,
|
|
progress: j.progress
|
|
};
|
|
P === O - 1 && (Q.display = j.display,
|
|
Q.visibility = j.visibility,
|
|
Q.complete = j.complete),
|
|
B(r, "reverse", Q)
|
|
}
|
|
return a()
|
|
};
|
|
y = o.extend(B, y),
|
|
y.animate = B;
|
|
var C = b.requestAnimationFrame || q;
|
|
if (!y.State.isMobile && c.hidden !== d) {
|
|
var D = function() {
|
|
c.hidden ? (C = function(a) {
|
|
return setTimeout(function() {
|
|
a(!0)
|
|
}, 16)
|
|
}
|
|
,
|
|
m()) : C = b.requestAnimationFrame || q
|
|
};
|
|
D(),
|
|
c.addEventListener("visibilitychange", D)
|
|
}
|
|
return a.Velocity = y,
|
|
a !== b && (a.fn.velocity = B,
|
|
a.fn.velocity.defaults = y.defaults),
|
|
o.each(["Down", "Up"], function(a, b) {
|
|
y.Redirects["slide" + b] = function(a, c, e, f, g, h) {
|
|
var i = o.extend({}, c)
|
|
, j = i.begin
|
|
, k = i.complete
|
|
, l = {}
|
|
, m = {
|
|
height: "",
|
|
marginTop: "",
|
|
marginBottom: "",
|
|
paddingTop: "",
|
|
paddingBottom: ""
|
|
};
|
|
i.display === d && (i.display = "Down" === b ? "inline" === y.CSS.Values.getDisplayType(a) ? "inline-block" : "block" : "none"),
|
|
i.begin = function() {
|
|
0 === e && j && j.call(g, g);
|
|
for (var c in m)
|
|
if (m.hasOwnProperty(c)) {
|
|
l[c] = a.style[c];
|
|
var d = A.getPropertyValue(a, c);
|
|
m[c] = "Down" === b ? [d, 0] : [0, d]
|
|
}
|
|
l.overflow = a.style.overflow,
|
|
a.style.overflow = "hidden"
|
|
}
|
|
,
|
|
i.complete = function() {
|
|
for (var b in l)
|
|
l.hasOwnProperty(b) && (a.style[b] = l[b]);
|
|
e === f - 1 && (k && k.call(g, g),
|
|
h && h.resolver(g))
|
|
}
|
|
,
|
|
y(a, m, i)
|
|
}
|
|
}),
|
|
o.each(["In", "Out"], function(a, b) {
|
|
y.Redirects["fade" + b] = function(a, c, e, f, g, h) {
|
|
var i = o.extend({}, c)
|
|
, j = i.complete
|
|
, k = {
|
|
opacity: "In" === b ? 1 : 0
|
|
};
|
|
0 !== e && (i.begin = null),
|
|
i.complete = e !== f - 1 ? null : function() {
|
|
j && j.call(g, g),
|
|
h && h.resolver(g)
|
|
}
|
|
,
|
|
i.display === d && (i.display = "In" === b ? "auto" : "none"),
|
|
y(this, k, i)
|
|
}
|
|
}),
|
|
y
|
|
}(window.jQuery || window.Zepto || window, window, window ? window.document : undefined)
|
|
});
|