animejs
Advanced tools
Comparing version 2.1.0 to 2.2.0
164
anime.js
/** | ||
* http://animejs.com | ||
* JavaScript animation engine | ||
* @version v2.1.0 | ||
* @version v2.2.0 | ||
* @author Julian Garnier | ||
@@ -58,2 +58,3 @@ * @copyright ©2017 Julian Garnier | ||
obj: a => stringContains(Object.prototype.toString.call(a), 'Object'), | ||
pth: a => is.obj(a) && a.hasOwnProperty('totalLength'), | ||
svg: a => a instanceof SVGElement, | ||
@@ -233,2 +234,17 @@ dom: a => a.nodeType || is.svg(a), | ||
function filterArray(arr, callback) { | ||
const len = arr.length; | ||
const thisArg = arguments.length >= 2 ? arguments[1] : void 0; | ||
let result = []; | ||
for (let i = 0; i < len; i++) { | ||
if (i in arr) { | ||
const val = arr[i]; | ||
if (callback.call(thisArg, val, i, arr)) { | ||
result.push(val); | ||
} | ||
} | ||
} | ||
return result; | ||
} | ||
function flattenArray(arr) { | ||
@@ -251,6 +267,2 @@ return arr.reduce((a, b) => a.concat(is.arr(b) ? flattenArray(b) : b), []); | ||
function objectHas(obj, prop) { | ||
return obj.hasOwnProperty(prop); | ||
} | ||
function cloneObject(o) { | ||
@@ -264,3 +276,3 @@ let clone = {}; | ||
let o = cloneObject(o1); | ||
for (let p in o1) o[p] = objectHas(o2, p) ? o2[p] : o1[p]; | ||
for (let p in o1) o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; | ||
return o; | ||
@@ -277,3 +289,8 @@ } | ||
function hexToRgb(hexValue) { | ||
function rgbToRgba(rgbValue) { | ||
const rgb = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(rgbValue); | ||
return rgb ? `rgba(${rgb[1]},1)` : rgbValue; | ||
} | ||
function hexToRgba(hexValue) { | ||
const rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; | ||
@@ -285,10 +302,11 @@ const hex = hexValue.replace(rgx, (m, r, g, b) => r + r + g + g + b + b ); | ||
const b = parseInt(rgb[3], 16); | ||
return `rgb(${r},${g},${b})`; | ||
return `rgba(${r},${g},${b},1)`; | ||
} | ||
function hslToRgb(hslValue) { | ||
const hsl = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(hslValue); | ||
function hslToRgba(hslValue) { | ||
const hsl = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(hslValue) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(hslValue); | ||
const h = parseInt(hsl[1]) / 360; | ||
const s = parseInt(hsl[2]) / 100; | ||
const l = parseInt(hsl[3]) / 100; | ||
const a = hsl[4] || 1; | ||
function hue2rgb(p, q, t) { | ||
@@ -312,9 +330,9 @@ if (t < 0) t += 1; | ||
} | ||
return `rgb(${r * 255},${g * 255},${b * 255})`; | ||
return `rgba(${r * 255},${g * 255},${b * 255},${a})`; | ||
} | ||
function colorToRgb(val) { | ||
if (is.rgb(val)) return val; | ||
if (is.hex(val)) return hexToRgb(val); | ||
if (is.hsl(val)) return hslToRgb(val); | ||
if (is.rgb(val)) return rgbToRgba(val); | ||
if (is.hex(val)) return hexToRgba(val); | ||
if (is.hsl(val)) return hslToRgba(val); | ||
} | ||
@@ -371,3 +389,3 @@ | ||
} | ||
const value = values.filter((val, i) => props[i] === propName ); | ||
const value = filterArray(values, (val, i) => props[i] === propName); | ||
return value.length ? value[0] : defaultVal; | ||
@@ -465,6 +483,2 @@ } | ||
function isPath(val) { | ||
return is.obj(val) && objectHas(val, 'totalLength'); | ||
} | ||
function getPath(path, percent) { | ||
@@ -497,7 +511,7 @@ const el = is.str(path) ? selectString(path)[0] : path; | ||
// Decompose / recompose functions adapted from Animate Plus https://github.com/bendc/animateplus | ||
// Decompose value | ||
function decomposeValue(val, unit) { | ||
const rgx = /-?\d*\.?\d+/g; | ||
const value = validateValue((isPath(val) ? val.totalLength : val), unit) + ''; | ||
const value = validateValue((is.pth(val) ? val.totalLength : val), unit) + ''; | ||
return { | ||
@@ -510,6 +524,2 @@ original: value, | ||
function recomposeValue(numbers, strings) { | ||
return (strings.length === 0) ? numbers[0] : strings.reduce((a, b, i) => a + numbers[i - 1] + (b ? b : ' ')); | ||
} | ||
// Animatables | ||
@@ -519,3 +529,3 @@ | ||
const targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : []; | ||
return targetsArray.filter((item, pos, self) => self.indexOf(item) === pos); | ||
return filterArray(targetsArray, (item, pos, self) => self.indexOf(item) === pos); | ||
} | ||
@@ -549,3 +559,3 @@ | ||
// Use path object as a tween value | ||
let obj = is.obj(v) && !isPath(v) ? v : {value: v}; | ||
let obj = is.obj(v) && !is.pth(v) ? v : {value: v}; | ||
// Set default delay value | ||
@@ -561,3 +571,3 @@ if (is.und(obj.delay)) obj.delay = delay; | ||
for (let p in params) { | ||
if (!objectHas(settings, p) && p !== 'targets') { | ||
if (!settings.hasOwnProperty(p) && p !== 'targets') { | ||
properties.push({ | ||
@@ -604,3 +614,2 @@ name: p, | ||
const unit = getUnit(to) || getUnit(from) || getUnit(originalValue); | ||
tween.isPath = isPath(tweenValue); | ||
tween.from = decomposeValue(from, unit); | ||
@@ -612,3 +621,5 @@ tween.to = decomposeValue(to, unit); | ||
tween.elasticity = (1000 - minMaxValue(tween.elasticity, 1, 999)) / 1000; | ||
if (is.col(tween.from.original)) tween.round = 1; | ||
tween.isPath = is.pth(tweenValue); | ||
tween.isColor = is.col(tween.from.original); | ||
if (tween.isColor) tween.round = 1; | ||
previousTween = tween; | ||
@@ -649,7 +660,7 @@ return tween; | ||
function getAnimations(animatables, properties) { | ||
return flattenArray(animatables.map(animatable => { | ||
return filterArray(flattenArray(animatables.map(animatable => { | ||
return properties.map(prop => { | ||
return createAnimation(animatable, prop); | ||
}); | ||
})).filter(a => !is.und(a)); | ||
})), a => !is.und(a)); | ||
} | ||
@@ -659,5 +670,9 @@ | ||
function getInstanceTimings(type, animations, tweenSettings) { | ||
const math = (type === 'delay') ? Math.min : Math.max; | ||
return animations.length ? math.apply(Math, animations.map(anim => anim[type])) : tweenSettings[type]; | ||
function getInstanceTimings(type, animations, instanceSettings, tweenSettings) { | ||
const isDelay = (type === 'delay'); | ||
if (animations.length) { | ||
return (isDelay ? Math.min : Math.max).apply(Math, animations.map(anim => anim[type])); | ||
} else { | ||
return isDelay ? tweenSettings.delay : instanceSettings.offset + tweenSettings.delay + tweenSettings.duration; | ||
} | ||
} | ||
@@ -675,4 +690,4 @@ | ||
animations: animations, | ||
duration: getInstanceTimings('duration', animations, tweenSettings), | ||
delay: getInstanceTimings('delay', animations, tweenSettings) | ||
duration: getInstanceTimings('duration', animations, instanceSettings, tweenSettings), | ||
delay: getInstanceTimings('delay', animations, instanceSettings, tweenSettings) | ||
}); | ||
@@ -732,6 +747,7 @@ } | ||
const children = instance.children; | ||
const childrenLength = children.length; | ||
if (time >= instance.currentTime) { | ||
for (let i = 0; i < children.length; i++) children[i].seek(time); | ||
for (let i = 0; i < childrenLength; i++) children[i].seek(time); | ||
} else { | ||
for (let i = children.length; i--;) children[i].seek(time); | ||
for (let i = childrenLength; i--;) children[i].seek(time); | ||
} | ||
@@ -744,17 +760,53 @@ } | ||
const animations = instance.animations; | ||
while (i < animations.length) { | ||
const animationsLength = animations.length; | ||
while (i < animationsLength) { | ||
const anim = animations[i]; | ||
const animatable = anim.animatable; | ||
const tweens = anim.tweens; | ||
const tween = tweens.filter(t => (insTime < t.end))[0] || tweens[tweens.length - 1]; | ||
const tweenLength = tweens.length - 1; | ||
let tween = tweens[tweenLength]; | ||
// Only check for keyframes if there is more than one tween | ||
if (tweenLength) tween = filterArray(tweens, t => (insTime < t.end))[0] || tween; | ||
const elapsed = minMaxValue(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration; | ||
const eased = isNaN(elapsed) ? 1 : tween.easing(elapsed, tween.elasticity); | ||
const strings = tween.to.strings; | ||
const round = tween.round; | ||
const progress = recomposeValue(tween.to.numbers.map((number, p) => { | ||
const start = tween.from.numbers[p]; | ||
let value = start + eased * (number - start); | ||
if (tween.isPath) value = getPathProgress(tween.value, value); | ||
if (round) value = Math.round(value * round) / round; | ||
return value; | ||
}), tween.to.strings); | ||
let numbers = []; | ||
let progress; | ||
const toNumbersLength = tween.to.numbers.length; | ||
for (let n = 0; n < toNumbersLength; n++) { | ||
let value; | ||
const toNumber = tween.to.numbers[n]; | ||
const fromNumber = tween.from.numbers[n]; | ||
if (!tween.isPath) { | ||
value = fromNumber + (eased * (toNumber - fromNumber)); | ||
} else { | ||
value = getPathProgress(tween.value, eased * toNumber); | ||
} | ||
if (round) { | ||
if (!(tween.isColor && n > 2)) { | ||
value = Math.round(value * round) / round; | ||
} | ||
} | ||
numbers.push(value); | ||
} | ||
// Manual Array.reduce for better performances | ||
const stringsLength = strings.length; | ||
if (!stringsLength) { | ||
progress = numbers[0]; | ||
} else { | ||
progress = strings[0]; | ||
for (let s = 0; s < stringsLength; s++) { | ||
const a = strings[s]; | ||
const b = strings[s + 1]; | ||
const n = numbers[s]; | ||
if (!isNaN(n)) { | ||
if (!b) { | ||
progress += n + ' '; | ||
} else { | ||
progress += n + b; | ||
} | ||
} | ||
} | ||
} | ||
setTweenProgress[anim.type](animatable.target, anim.property, progress, transforms, animatable.id); | ||
@@ -764,4 +816,5 @@ anim.currentValue = progress; | ||
} | ||
if (transforms) { | ||
let id; for (id in transforms) { | ||
const transformsLength = Object.keys(transforms).length; | ||
if (transformsLength) { | ||
for (let id = 0; id < transformsLength; id++) { | ||
if (!transformString) { | ||
@@ -791,3 +844,3 @@ const t = 'transform'; | ||
const insOffset = instance.offset; | ||
const insDelay = instance.delay; | ||
const insStart = insOffset + instance.delay; | ||
const insCurrentTime = instance.currentTime; | ||
@@ -797,4 +850,3 @@ const insReversed = instance.reversed; | ||
if (instance.children.length) syncInstanceChildren(insTime); | ||
if (insTime >= insDelay) { | ||
setCallback('run'); | ||
if (insTime >= insStart || !insDuration) { | ||
if (!instance.began) { | ||
@@ -804,2 +856,3 @@ instance.began = true; | ||
} | ||
setCallback('run'); | ||
} | ||
@@ -813,3 +866,3 @@ if (insTime > insOffset && insTime < insDuration) { | ||
} | ||
if (insTime >= insDuration && insCurrentTime !== insDuration) { | ||
if ((insTime >= insDuration && insCurrentTime !== insDuration) || !insDuration) { | ||
setAnimationsProgress(insDuration); | ||
@@ -933,2 +986,3 @@ if (!insReversed) countIteration(); | ||
insParams.autoplay = false; | ||
insParams.direction = tl.direction; | ||
insParams.offset = is.und(insOffset) ? tlDuration : getRelativeValue(insOffset, tlDuration); | ||
@@ -952,3 +1006,3 @@ tl.began = true; | ||
anime.version = '2.1.0'; | ||
anime.version = '2.2.0'; | ||
anime.speed = 1; | ||
@@ -955,0 +1009,0 @@ anime.running = activeInstances; |
@@ -5,26 +5,30 @@ /* | ||
*/ | ||
var $jscomp$this=this; | ||
(function(w,p){"function"===typeof define&&define.amd?define([],p):"object"===typeof module&&module.exports?module.exports=p():w.anime=p()})(this,function(){function w(a){if(!g.col(a))try{return document.querySelectorAll(a)}catch(c){}}function p(a){return a.reduce(function(a,d){return a.concat(g.arr(d)?p(d):d)},[])}function x(a){if(g.arr(a))return a;g.str(a)&&(a=w(a)||a);return a instanceof NodeList||a instanceof HTMLCollection?[].slice.call(a):[a]}function H(a,c){return a.some(function(a){return a===c})} | ||
function B(a){var c={},d;for(d in a)c[d]=a[d];return c}function C(a,c){var d=B(a),b;for(b in a)d[b]=c.hasOwnProperty(b)?c[b]:a[b];return d}function y(a,c){var d=B(a),b;for(b in c)d[b]=g.und(a[b])?c[b]:a[b];return d}function W(a){a=a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,c,d,h){return c+c+d+d+h+h});var c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);a=parseInt(c[1],16);var d=parseInt(c[2],16),c=parseInt(c[3],16);return"rgb("+a+","+d+","+c+")"}function X(a){function c(a,c,b){0> | ||
b&&(b+=1);1<b&&--b;return b<1/6?a+6*(c-a)*b:.5>b?c:b<2/3?a+(c-a)*(2/3-b)*6:a}var d=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a);a=parseInt(d[1])/360;var b=parseInt(d[2])/100,d=parseInt(d[3])/100;if(0==b)b=d=a=d;else{var e=.5>d?d*(1+b):d+b-d*b,k=2*d-e,b=c(k,e,a+1/3),d=c(k,e,a);a=c(k,e,a-1/3)}return"rgb("+255*b+","+255*d+","+255*a+")"}function v(a){if(a=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a))return a[2]}function Y(a){if(-1<a.indexOf("translate")|| | ||
"perspective"===a)return"px";if(-1<a.indexOf("rotate")||-1<a.indexOf("skew"))return"deg"}function I(a,c){return g.fnc(a)?a(c.target,c.id,c.total):a}function D(a,c){if(c in a.style)return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function J(a,c){if(g.dom(a)&&H(Z,c))return"transform";if(g.dom(a)&&(a.getAttribute(c)||g.svg(a)&&a[c]))return"attribute";if(g.dom(a)&&"transform"!==c&&D(a,c))return"css";if(null!=a[c])return"object"}function aa(a,c){var d= | ||
Y(c),d=-1<c.indexOf("scale")?1:0+d;a=a.style.transform;if(!a)return d;for(var b=[],e=[],k=[],h=/(\w+)\((.+?)\)/g;b=h.exec(a);)e.push(b[1]),k.push(b[2]);a=k.filter(function(a,b){return e[b]===c});return a.length?a[0]:d}function K(a,c){switch(J(a,c)){case "transform":return aa(a,c);case "css":return D(a,c);case "attribute":return a.getAttribute(c)}return a[c]||0}function L(a,c){var d=/^(\*=|\+=|-=)/.exec(a);if(!d)return a;var b=v(a)||0;c=parseFloat(c);a=parseFloat(a.replace(d[0],""));switch(d[0][0]){case "+":return c+ | ||
a+b;case "-":return c-a+b;case "*":return c*a+b}}function E(a,c){return Math.sqrt(Math.pow(c.x-a.x,2)+Math.pow(c.y-a.y,2))}function M(a){a=a.points;for(var c=0,d,b=0;b<a.numberOfItems;b++){var e=a.getItem(b);0<b&&(c+=E(d,e));d=e}return c}function N(a){if(a.getTotalLength)return a.getTotalLength();switch(a.tagName.toLowerCase()){case "circle":return 2*Math.PI*a.getAttribute("r");case "rect":return 2*a.getAttribute("width")+2*a.getAttribute("height");case "line":return E({x:a.getAttribute("x1"),y:a.getAttribute("y1")}, | ||
{x:a.getAttribute("x2"),y:a.getAttribute("y2")});case "polyline":return M(a);case "polygon":var c=a.points;return M(a)+E(c.getItem(c.numberOfItems-1),c.getItem(0))}}function F(a){return g.obj(a)&&a.hasOwnProperty("totalLength")}function ba(a,c){function d(b){b=void 0===b?0:b;return a.el.getPointAtLength(1<=c+b?c+b:0)}var b=d(),e=d(-1),k=d(1);switch(a.property){case "x":return b.x;case "y":return b.y;case "angle":return 180*Math.atan2(k.y-e.y,k.x-e.x)/Math.PI}}function O(a,c){var d=/-?\d*\.?\d+/g, | ||
b;b=F(a)?a.totalLength:a;if(g.col(b))b=g.rgb(b)?b:g.hex(b)?W(b):g.hsl(b)?X(b):void 0;else{var e=v(b),e=e?b.substr(0,b.length-e.length):b;b=c&&!/\s/g.test(b)?e+c:e}b+="";return{original:b,numbers:b.match(d)?b.match(d).map(Number):[0],strings:g.str(a)||c?b.split(d):[]}}function ca(a,c){return 0===c.length?a[0]:c.reduce(function(c,b,e){return c+a[e-1]+(b?b:" ")})}function P(a){return(a?p(g.arr(a)?a.map(x):x(a)):[]).filter(function(a,d,b){return b.indexOf(a)===d})}function da(a){var c=P(a);return c.map(function(a, | ||
b){return{target:a,id:b,total:c.length}})}function ea(a,c){var d=B(c);if(g.arr(a)){var b=a.length;2!==b||g.obj(a[0])?g.fnc(c.duration)||(d.duration=c.duration/b):a={value:a}}return x(a).map(function(a,b){b=b?0:c.delay;a=g.obj(a)&&!F(a)?a:{value:a};g.und(a.delay)&&(a.delay=b);return a}).map(function(a){return y(a,d)})}function fa(a,c){var d={},b;for(b in a){var e=I(a[b],c);g.arr(e)&&(e=e.map(function(a){return I(a,c)}),1===e.length&&(e=e[0]));d[b]=e}d.duration=parseFloat(d.duration);d.delay=parseFloat(d.delay); | ||
return d}function ga(a){return g.arr(a)?z.apply(this,a):Q[a]}function ha(a,c){var d;return a.tweens.map(function(b){b=fa(b,c);var e=b.value,k=K(c.target,a.name),h=d?d.to.original:k,h=g.arr(e)?e[0]:h,m=L(g.arr(e)?e[1]:e,h),k=v(m)||v(h)||v(k);b.isPath=F(e);b.from=O(h,k);b.to=O(m,k);b.start=d?d.end:a.offset;b.end=b.start+b.delay+b.duration;b.easing=ga(b.easing);b.elasticity=(1E3-Math.min(Math.max(b.elasticity,1),999))/1E3;g.col(b.from.original)&&(b.round=1);return d=b})}function ia(a,c){return p(a.map(function(a){return c.map(function(b){var c= | ||
J(a.target,b.name);if(c){var d=ha(b,a);b={type:c,property:b.name,animatable:a,tweens:d,duration:d[d.length-1].end,delay:d[0].delay}}else b=void 0;return b})})).filter(function(a){return!g.und(a)})}function R(a,c,d){var b="delay"===a?Math.min:Math.max;return c.length?b.apply(Math,c.map(function(b){return b[a]})):d[a]}function ja(a){var c=C(ka,a),d=C(S,a),b=da(a.targets),e=[],g=y(c,d),h;for(h in a)g.hasOwnProperty(h)||"targets"===h||e.push({name:h,offset:g.offset,tweens:ea(a[h],d)});a=ia(b,e);return y(c, | ||
{children:[],animatables:b,animations:a,duration:R("duration",a,d),delay:R("delay",a,d)})}function n(a){function c(){return window.Promise&&new Promise(function(a){return U=a})}function d(a){return f.reversed?f.duration-a:a}function b(a){for(var b=0,c={},d=f.animations,e={};b<d.length;){var g=d[b],h=g.animatable,m=g.tweens;e.tween=m.filter(function(b){return a<b.end})[0]||m[m.length-1];m=Math.min(Math.max(a-e.tween.start-e.tween.delay,0),e.tween.duration)/e.tween.duration;e.eased=isNaN(m)?1:e.tween.easing(m, | ||
e.tween.elasticity);e.round=e.tween.round;m=ca(e.tween.to.numbers.map(function(a){return function(b,c){c=a.tween.from.numbers[c];b=c+a.eased*(b-c);a.tween.isPath&&(b=ba(a.tween.value,b));a.round&&(b=Math.round(b*a.round)/a.round);return b}}(e)),e.tween.to.strings);la[g.type](h.target,g.property,m,c,h.id);g.currentValue=m;b++;e={tween:e.tween,eased:e.eased,round:e.round}}if(c)for(var l in c)G||(G=D(document.body,"transform")?"transform":"-webkit-transform"),f.animatables[l].target.style[G]=c[l].join(" "); | ||
f.currentTime=a;f.progress=a/f.duration*100}function e(a){if(f[a])f[a](f)}function g(){f.remaining&&!0!==f.remaining&&f.remaining--}function h(a){var h=f.duration,k=f.offset,n=f.delay,T=f.currentTime,q=f.reversed,r=d(a);if(f.children.length){var p=f.children;if(r>=f.currentTime)for(var u=0;u<p.length;u++)p[u].seek(r);else for(u=p.length;u--;)p[u].seek(r)}r>=n&&(e("run"),f.began||(f.began=!0,e("begin")));r>k&&r<h?b(r):(r<=k&&0!==T&&(b(0),q&&g()),r>=h&&T!==h&&(b(h),q||g()));e("update");a>=h&&(f.remaining? | ||
(t=m,"alternate"===f.direction&&(f.reversed=!f.reversed)):(f.pause(),f.completed||(f.completed=!0,e("complete"),"Promise"in window&&(U(),V=c()))),l=0)}a=void 0===a?{}:a;var m,t,l=0,U=null,V=c(),f=ja(a);f.reset=function(){var a=f.direction,c=f.loop;f.currentTime=0;f.progress=0;f.paused=!0;f.began=!1;f.completed=!1;f.reversed="reverse"===a;f.remaining="alternate"===a&&1===c?2:c;b(0);for(a=f.children.length;a--;)f.children[a].reset()};f.tick=function(a){m=a;t||(t=m);h((l+m-t)*n.speed)};f.seek=function(a){h(d(a))}; | ||
f.pause=function(){var a=q.indexOf(f);-1<a&&q.splice(a,1);f.paused=!0};f.play=function(){f.paused&&(f.paused=!1,t=0,l=d(f.currentTime),q.push(f),A||ma())};f.reverse=function(){f.reversed=!f.reversed;t=0;l=d(f.currentTime)};f.restart=function(){f.pause();f.reset();f.play()};f.finished=V;f.reset();f.autoplay&&f.play();return f}var ka={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},S={duration:1E3,delay:0,easing:"easeOutElastic",elasticity:500,round:0}, | ||
Z="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),G,g={arr:function(a){return Array.isArray(a)},obj:function(a){return-1<Object.prototype.toString.call(a).indexOf("Object")},svg:function(a){return a instanceof SVGElement},dom:function(a){return a.nodeType||g.svg(a)},str:function(a){return"string"===typeof a},fnc:function(a){return"function"===typeof a},und:function(a){return"undefined"===typeof a},hex:function(a){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)}, | ||
rgb:function(a){return/^rgb/.test(a)},hsl:function(a){return/^hsl/.test(a)},col:function(a){return g.hex(a)||g.rgb(a)||g.hsl(a)}},z=function(){function a(a,d,b){return(((1-3*b+3*d)*a+(3*b-6*d))*a+3*d)*a}return function(c,d,b,e){if(0<=c&&1>=c&&0<=b&&1>=b){var g=new Float32Array(11);if(c!==d||b!==e)for(var h=0;11>h;++h)g[h]=a(.1*h,c,b);return function(h){if(c===d&&b===e)return h;if(0===h)return 0;if(1===h)return 1;for(var m=0,l=1;10!==l&&g[l]<=h;++l)m+=.1;--l;var l=m+(h-g[l])/(g[l+1]-g[l])*.1,k=3*(1- | ||
3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(.001<=k){for(m=0;4>m;++m){k=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(0===k)break;var n=a(l,c,b)-h,l=l-n/k}h=l}else if(0===k)h=l;else{var l=m,m=m+.1,f=0;do n=l+(m-l)/2,k=a(n,c,b)-h,0<k?m=n:l=n;while(1e-7<Math.abs(k)&&10>++f);h=n}return a(h,d,e)}}}}(),Q=function(){function a(a,b){return 0===a||1===a?a:-Math.pow(2,10*(a-1))*Math.sin(2*(a-1-b/(2*Math.PI)*Math.asin(1))*Math.PI/b)}var c="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),d={In:[[.55,.085,.68, | ||
.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],a],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(b,c){return 1-a(1-b,c)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(b,c){return.5>b?a(2*b,c)/ | ||
2:1-a(-2*b+2,c)/2}]},b={linear:z(.25,.25,.75,.75)},e={},k;for(k in d)e.type=k,d[e.type].forEach(function(a){return function(d,e){b["ease"+a.type+c[e]]=g.fnc(d)?d:z.apply($jscomp$this,d)}}(e)),e={type:e.type};return b}(),la={css:function(a,c,d){return a.style[c]=d},attribute:function(a,c,d){return a.setAttribute(c,d)},object:function(a,c,d){return a[c]=d},transform:function(a,c,d,b,e){b[e]||(b[e]=[]);b[e].push(c+"("+d+")")}},q=[],A=0,ma=function(){function a(){A=requestAnimationFrame(c)}function c(c){var b= | ||
q.length;if(b){for(var d=0;d<b;)q[d]&&q[d].tick(c),d++;a()}else cancelAnimationFrame(A),A=0}return a}();n.version="2.1.0";n.speed=1;n.running=q;n.remove=function(a){a=P(a);for(var c=q.length;c--;)for(var d=q[c],b=d.animations,e=b.length;e--;)H(a,b[e].animatable.target)&&(b.splice(e,1),b.length||d.pause())};n.getValue=K;n.path=function(a,c){var d=g.str(a)?w(a)[0]:a,b=c||100;return function(a){return{el:d,property:a,totalLength:N(d)*(b/100)}}};n.setDashoffset=function(a){var c=N(a);a.setAttribute("stroke-dasharray", | ||
c);return c};n.bezier=z;n.easings=Q;n.timeline=function(a){var c=n(a);c.pause();c.duration=0;c.add=function(d){c.children.forEach(function(a){a.began=!0;a.completed=!0});x(d).forEach(function(b){var d=y(b,C(S,a||{}));d.targets=d.targets||a.targets;b=c.duration;var k=d.offset;d.autoplay=!1;d.offset=g.und(k)?b:L(k,b);c.began=!0;c.completed=!0;c.seek(d.offset);d=n(d);d.began=!0;d.completed=!0;d.duration>b&&(c.duration=d.duration);c.children.push(d)});c.seek(0);c.reset();c.autoplay&&c.restart();return c}; | ||
return c};n.random=function(a,c){return Math.floor(Math.random()*(c-a+1))+a};return n}); | ||
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,r,p){if(p.get||p.set)throw new TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[r]=p.value)};$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; | ||
$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(e){return $jscomp.SYMBOL_PREFIX+(e||"")+$jscomp.symbolCounter_++}; | ||
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var e=$jscomp.global.Symbol.iterator;e||(e=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[e]&&$jscomp.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(e){var r=0;return $jscomp.iteratorPrototype(function(){return r<e.length?{done:!1,value:e[r++]}:{done:!0}})}; | ||
$jscomp.iteratorPrototype=function(e){$jscomp.initSymbolIterator();e={next:e};e[$jscomp.global.Symbol.iterator]=function(){return this};return e};$jscomp.array=$jscomp.array||{};$jscomp.iteratorFromArray=function(e,r){$jscomp.initSymbolIterator();e instanceof String&&(e+="");var p=0,m={next:function(){if(p<e.length){var u=p++;return{value:r(u,e[u]),done:!1}}m.next=function(){return{done:!0,value:void 0}};return m.next()}};m[Symbol.iterator]=function(){return m};return m}; | ||
$jscomp.polyfill=function(e,r,p,m){if(r){p=$jscomp.global;e=e.split(".");for(m=0;m<e.length-1;m++){var u=e[m];u in p||(p[u]={});p=p[u]}e=e[e.length-1];m=p[e];r=r(m);r!=m&&null!=r&&$jscomp.defineProperty(p,e,{configurable:!0,writable:!0,value:r})}};$jscomp.polyfill("Array.prototype.keys",function(e){return e?e:function(){return $jscomp.iteratorFromArray(this,function(e){return e})}},"es6-impl","es3");var $jscomp$this=this; | ||
(function(e,r){"function"===typeof define&&define.amd?define([],r):"object"===typeof module&&module.exports?module.exports=r():e.anime=r()})(this,function(){function e(a){if(!h.col(a))try{return document.querySelectorAll(a)}catch(c){}}function r(a,c){for(var d=a.length,b=2<=arguments.length?arguments[1]:void 0,f=[],n=0;n<d;n++)if(n in a){var k=a[n];c.call(b,k,n,a)&&f.push(k)}return f}function p(a){return a.reduce(function(a,d){return a.concat(h.arr(d)?p(d):d)},[])}function m(a){if(h.arr(a))return a; | ||
h.str(a)&&(a=e(a)||a);return a instanceof NodeList||a instanceof HTMLCollection?[].slice.call(a):[a]}function u(a,c){return a.some(function(a){return a===c})}function C(a){var c={},d;for(d in a)c[d]=a[d];return c}function D(a,c){var d=C(a),b;for(b in a)d[b]=c.hasOwnProperty(b)?c[b]:a[b];return d}function z(a,c){var d=C(a),b;for(b in c)d[b]=h.und(a[b])?c[b]:a[b];return d}function T(a){a=a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,c,d,k){return c+c+d+d+k+k});var c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a); | ||
a=parseInt(c[1],16);var d=parseInt(c[2],16),c=parseInt(c[3],16);return"rgba("+a+","+d+","+c+",1)"}function U(a){function c(a,c,b){0>b&&(b+=1);1<b&&--b;return b<1/6?a+6*(c-a)*b:.5>b?c:b<2/3?a+(c-a)*(2/3-b)*6:a}var d=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(a);a=parseInt(d[1])/360;var b=parseInt(d[2])/100,f=parseInt(d[3])/100,d=d[4]||1;if(0==b)f=b=a=f;else{var n=.5>f?f*(1+b):f+b-f*b,k=2*f-n,f=c(k,n,a+1/3),b=c(k,n,a);a=c(k,n,a-1/3)}return"rgba("+ | ||
255*f+","+255*b+","+255*a+","+d+")"}function y(a){if(a=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a))return a[2]}function V(a){if(-1<a.indexOf("translate")||"perspective"===a)return"px";if(-1<a.indexOf("rotate")||-1<a.indexOf("skew"))return"deg"}function I(a,c){return h.fnc(a)?a(c.target,c.id,c.total):a}function E(a,c){if(c in a.style)return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function J(a,c){if(h.dom(a)&& | ||
u(W,c))return"transform";if(h.dom(a)&&(a.getAttribute(c)||h.svg(a)&&a[c]))return"attribute";if(h.dom(a)&&"transform"!==c&&E(a,c))return"css";if(null!=a[c])return"object"}function X(a,c){var d=V(c),d=-1<c.indexOf("scale")?1:0+d;a=a.style.transform;if(!a)return d;for(var b=[],f=[],n=[],k=/(\w+)\((.+?)\)/g;b=k.exec(a);)f.push(b[1]),n.push(b[2]);a=r(n,function(a,b){return f[b]===c});return a.length?a[0]:d}function K(a,c){switch(J(a,c)){case "transform":return X(a,c);case "css":return E(a,c);case "attribute":return a.getAttribute(c)}return a[c]|| | ||
0}function L(a,c){var d=/^(\*=|\+=|-=)/.exec(a);if(!d)return a;var b=y(a)||0;c=parseFloat(c);a=parseFloat(a.replace(d[0],""));switch(d[0][0]){case "+":return c+a+b;case "-":return c-a+b;case "*":return c*a+b}}function F(a,c){return Math.sqrt(Math.pow(c.x-a.x,2)+Math.pow(c.y-a.y,2))}function M(a){a=a.points;for(var c=0,d,b=0;b<a.numberOfItems;b++){var f=a.getItem(b);0<b&&(c+=F(d,f));d=f}return c}function N(a){if(a.getTotalLength)return a.getTotalLength();switch(a.tagName.toLowerCase()){case "circle":return 2* | ||
Math.PI*a.getAttribute("r");case "rect":return 2*a.getAttribute("width")+2*a.getAttribute("height");case "line":return F({x:a.getAttribute("x1"),y:a.getAttribute("y1")},{x:a.getAttribute("x2"),y:a.getAttribute("y2")});case "polyline":return M(a);case "polygon":var c=a.points;return M(a)+F(c.getItem(c.numberOfItems-1),c.getItem(0))}}function Y(a,c){function d(b){b=void 0===b?0:b;return a.el.getPointAtLength(1<=c+b?c+b:0)}var b=d(),f=d(-1),n=d(1);switch(a.property){case "x":return b.x;case "y":return b.y; | ||
case "angle":return 180*Math.atan2(n.y-f.y,n.x-f.x)/Math.PI}}function O(a,c){var d=/-?\d*\.?\d+/g,b;b=h.pth(a)?a.totalLength:a;if(h.col(b))if(h.rgb(b)){var f=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(b);b=f?"rgba("+f[1]+",1)":b}else b=h.hex(b)?T(b):h.hsl(b)?U(b):void 0;else f=(f=y(b))?b.substr(0,b.length-f.length):b,b=c&&!/\s/g.test(b)?f+c:f;b+="";return{original:b,numbers:b.match(d)?b.match(d).map(Number):[0],strings:h.str(a)||c?b.split(d):[]}}function P(a){a=a?p(h.arr(a)?a.map(m):m(a)):[];return r(a, | ||
function(a,d,b){return b.indexOf(a)===d})}function Z(a){var c=P(a);return c.map(function(a,b){return{target:a,id:b,total:c.length}})}function aa(a,c){var d=C(c);if(h.arr(a)){var b=a.length;2!==b||h.obj(a[0])?h.fnc(c.duration)||(d.duration=c.duration/b):a={value:a}}return m(a).map(function(a,b){b=b?0:c.delay;a=h.obj(a)&&!h.pth(a)?a:{value:a};h.und(a.delay)&&(a.delay=b);return a}).map(function(a){return z(a,d)})}function ba(a,c){var d={},b;for(b in a){var f=I(a[b],c);h.arr(f)&&(f=f.map(function(a){return I(a, | ||
c)}),1===f.length&&(f=f[0]));d[b]=f}d.duration=parseFloat(d.duration);d.delay=parseFloat(d.delay);return d}function ca(a){return h.arr(a)?A.apply(this,a):Q[a]}function da(a,c){var d;return a.tweens.map(function(b){b=ba(b,c);var f=b.value,e=K(c.target,a.name),k=d?d.to.original:e,k=h.arr(f)?f[0]:k,w=L(h.arr(f)?f[1]:f,k),e=y(w)||y(k)||y(e);b.from=O(k,e);b.to=O(w,e);b.start=d?d.end:a.offset;b.end=b.start+b.delay+b.duration;b.easing=ca(b.easing);b.elasticity=(1E3-Math.min(Math.max(b.elasticity,1),999))/ | ||
1E3;b.isPath=h.pth(f);b.isColor=h.col(b.from.original);b.isColor&&(b.round=1);return d=b})}function ea(a,c){return r(p(a.map(function(a){return c.map(function(b){var c=J(a.target,b.name);if(c){var d=da(b,a);b={type:c,property:b.name,animatable:a,tweens:d,duration:d[d.length-1].end,delay:d[0].delay}}else b=void 0;return b})})),function(a){return!h.und(a)})}function R(a,c,d,b){var f="delay"===a;return c.length?(f?Math.min:Math.max).apply(Math,c.map(function(b){return b[a]})):f?b.delay:d.offset+b.delay+ | ||
b.duration}function fa(a){var c=D(ga,a),d=D(S,a),b=Z(a.targets),f=[],e=z(c,d),k;for(k in a)e.hasOwnProperty(k)||"targets"===k||f.push({name:k,offset:e.offset,tweens:aa(a[k],d)});a=ea(b,f);return z(c,{children:[],animatables:b,animations:a,duration:R("duration",a,c,d),delay:R("delay",a,c,d)})}function q(a){function c(){return window.Promise&&new Promise(function(a){return p=a})}function d(a){return g.reversed?g.duration-a:a}function b(a){for(var b=0,c={},d=g.animations,f=d.length;b<f;){var e=d[b], | ||
k=e.animatable,h=e.tweens,n=h.length-1,l=h[n];n&&(l=r(h,function(b){return a<b.end})[0]||l);for(var h=Math.min(Math.max(a-l.start-l.delay,0),l.duration)/l.duration,w=isNaN(h)?1:l.easing(h,l.elasticity),h=l.to.strings,p=l.round,n=[],m=void 0,m=l.to.numbers.length,t=0;t<m;t++){var x=void 0,x=l.to.numbers[t],q=l.from.numbers[t],x=l.isPath?Y(l.value,w*x):q+w*(x-q);p&&(l.isColor&&2<t||(x=Math.round(x*p)/p));n.push(x)}if(l=h.length)for(m=h[0],w=0;w<l;w++)p=h[w+1],t=n[w],isNaN(t)||(m=p?m+(t+p):m+(t+" ")); | ||
else m=n[0];ha[e.type](k.target,e.property,m,c,k.id);e.currentValue=m;b++}if(b=Object.keys(c).length)for(d=0;d<b;d++)H||(H=E(document.body,"transform")?"transform":"-webkit-transform"),g.animatables[d].target.style[H]=c[d].join(" ");g.currentTime=a;g.progress=a/g.duration*100}function f(a){if(g[a])g[a](g)}function e(){g.remaining&&!0!==g.remaining&&g.remaining--}function k(a){var k=g.duration,n=g.offset,w=n+g.delay,r=g.currentTime,x=g.reversed,q=d(a);if(g.children.length){var u=g.children,v=u.length; | ||
if(q>=g.currentTime)for(var G=0;G<v;G++)u[G].seek(q);else for(;v--;)u[v].seek(q)}if(q>=w||!k)g.began||(g.began=!0,f("begin")),f("run");if(q>n&&q<k)b(q);else if(q<=n&&0!==r&&(b(0),x&&e()),q>=k&&r!==k||!k)b(k),x||e();f("update");a>=k&&(g.remaining?(t=h,"alternate"===g.direction&&(g.reversed=!g.reversed)):(g.pause(),g.completed||(g.completed=!0,f("complete"),"Promise"in window&&(p(),m=c()))),l=0)}a=void 0===a?{}:a;var h,t,l=0,p=null,m=c(),g=fa(a);g.reset=function(){var a=g.direction,c=g.loop;g.currentTime= | ||
0;g.progress=0;g.paused=!0;g.began=!1;g.completed=!1;g.reversed="reverse"===a;g.remaining="alternate"===a&&1===c?2:c;b(0);for(a=g.children.length;a--;)g.children[a].reset()};g.tick=function(a){h=a;t||(t=h);k((l+h-t)*q.speed)};g.seek=function(a){k(d(a))};g.pause=function(){var a=v.indexOf(g);-1<a&&v.splice(a,1);g.paused=!0};g.play=function(){g.paused&&(g.paused=!1,t=0,l=d(g.currentTime),v.push(g),B||ia())};g.reverse=function(){g.reversed=!g.reversed;t=0;l=d(g.currentTime)};g.restart=function(){g.pause(); | ||
g.reset();g.play()};g.finished=m;g.reset();g.autoplay&&g.play();return g}var ga={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},S={duration:1E3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},W="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),H,h={arr:function(a){return Array.isArray(a)},obj:function(a){return-1<Object.prototype.toString.call(a).indexOf("Object")}, | ||
pth:function(a){return h.obj(a)&&a.hasOwnProperty("totalLength")},svg:function(a){return a instanceof SVGElement},dom:function(a){return a.nodeType||h.svg(a)},str:function(a){return"string"===typeof a},fnc:function(a){return"function"===typeof a},und:function(a){return"undefined"===typeof a},hex:function(a){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)},rgb:function(a){return/^rgb/.test(a)},hsl:function(a){return/^hsl/.test(a)},col:function(a){return h.hex(a)||h.rgb(a)||h.hsl(a)}},A=function(){function a(a, | ||
d,b){return(((1-3*b+3*d)*a+(3*b-6*d))*a+3*d)*a}return function(c,d,b,f){if(0<=c&&1>=c&&0<=b&&1>=b){var e=new Float32Array(11);if(c!==d||b!==f)for(var k=0;11>k;++k)e[k]=a(.1*k,c,b);return function(k){if(c===d&&b===f)return k;if(0===k)return 0;if(1===k)return 1;for(var h=0,l=1;10!==l&&e[l]<=k;++l)h+=.1;--l;var l=h+(k-e[l])/(e[l+1]-e[l])*.1,n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(.001<=n){for(h=0;4>h;++h){n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(0===n)break;var m=a(l,c,b)-k,l=l-m/n}k=l}else if(0=== | ||
n)k=l;else{var l=h,h=h+.1,g=0;do m=l+(h-l)/2,n=a(m,c,b)-k,0<n?h=m:l=m;while(1e-7<Math.abs(n)&&10>++g);k=m}return a(k,d,f)}}}}(),Q=function(){function a(a,b){return 0===a||1===a?a:-Math.pow(2,10*(a-1))*Math.sin(2*(a-1-b/(2*Math.PI)*Math.asin(1))*Math.PI/b)}var c="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),d={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],a],Out:[[.25, | ||
.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(b,c){return 1-a(1-b,c)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(b,c){return.5>b?a(2*b,c)/2:1-a(-2*b+2,c)/2}]},b={linear:A(.25,.25,.75,.75)},f={},e;for(e in d)f.type=e,d[f.type].forEach(function(a){return function(d,f){b["ease"+a.type+c[f]]=h.fnc(d)? | ||
d:A.apply($jscomp$this,d)}}(f)),f={type:f.type};return b}(),ha={css:function(a,c,d){return a.style[c]=d},attribute:function(a,c,d){return a.setAttribute(c,d)},object:function(a,c,d){return a[c]=d},transform:function(a,c,d,b,f){b[f]||(b[f]=[]);b[f].push(c+"("+d+")")}},v=[],B=0,ia=function(){function a(){B=requestAnimationFrame(c)}function c(c){var b=v.length;if(b){for(var d=0;d<b;)v[d]&&v[d].tick(c),d++;a()}else cancelAnimationFrame(B),B=0}return a}();q.version="2.2.0";q.speed=1;q.running=v;q.remove= | ||
function(a){a=P(a);for(var c=v.length;c--;)for(var d=v[c],b=d.animations,f=b.length;f--;)u(a,b[f].animatable.target)&&(b.splice(f,1),b.length||d.pause())};q.getValue=K;q.path=function(a,c){var d=h.str(a)?e(a)[0]:a,b=c||100;return function(a){return{el:d,property:a,totalLength:N(d)*(b/100)}}};q.setDashoffset=function(a){var c=N(a);a.setAttribute("stroke-dasharray",c);return c};q.bezier=A;q.easings=Q;q.timeline=function(a){var c=q(a);c.pause();c.duration=0;c.add=function(d){c.children.forEach(function(a){a.began= | ||
!0;a.completed=!0});m(d).forEach(function(b){var d=z(b,D(S,a||{}));d.targets=d.targets||a.targets;b=c.duration;var e=d.offset;d.autoplay=!1;d.direction=c.direction;d.offset=h.und(e)?b:L(e,b);c.began=!0;c.completed=!0;c.seek(d.offset);d=q(d);d.began=!0;d.completed=!0;d.duration>b&&(c.duration=d.duration);c.children.push(d)});c.seek(0);c.reset();c.autoplay&&c.restart();return c};return c};q.random=function(a,c){return Math.floor(Math.random()*(c-a+1))+a};return q}); |
{ | ||
"name": "animejs", | ||
"version": "2.1.0", | ||
"version": "2.2.0", | ||
"description": "JavaScript animation engine", | ||
@@ -5,0 +5,0 @@ "main": "anime.min.js", |
71801
915