JAVASCRIPT   23

anime js

Guest on 18th August 2022 12:39:23 PM

  1. /*
  2.  * anime.js v3.1.0
  3.  * (c)  Julian Garnier
  4.  * Released under the MIT license
  5.  * animejs.com
  6.  */
  7. ! function(n, e) {
  8.     "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : n.anime = e()
  9. }(this, function() {
  10.     "use strict";
  11.     var n = {
  12.             update: null,
  13.             begin: null,
  14.             loopBegin: null,
  15.             changeBegin: null,
  16.             change: null,
  17.             changeComplete: null,
  18.             loopComplete: null,
  19.             complete: null,
  20.             loop: 1,
  21.             direction: "normal",
  22.             autoplay: !0,
  23.             timelineOffset: 0
  24.         },
  25.         e = {
  26.             duration: 1e3,
  27.             delay: 0,
  28.             endDelay: 0,
  29.             easing: "easeOutElastic(1, .5)",
  30.             round: 0
  31.         },
  32.         r = ["translateX", "translateY", "translateZ", "rotate", "rotateX", "rotateY", "rotateZ", "scale", "scaleX", "scaleY", "scaleZ", "skew", "skewX", "skewY", "perspective"],
  33.         t = {
  34.             CSS: {},
  35.             springs: {}
  36.         };
  37.  
  38.     function a(n, e, r) {
  39.         return Math.min(Math.max(n, e), r)
  40.     }
  41.  
  42.     function o(n, e) {
  43.         return n.indexOf(e) > -1
  44.     }
  45.  
  46.     function u(n, e) {
  47.         return n.apply(null, e)
  48.     }
  49.     var i = {
  50.         arr: function(n) {
  51.             return Array.isArray(n)
  52.         },
  53.         obj: function(n) {
  54.             return o(Object.prototype.toString.call(n), "Object")
  55.         },
  56.         pth: function(n) {
  57.             return i.obj(n) && n.hasOwnProperty("totalLength")
  58.         },
  59.         svg: function(n) {
  60.             return n instanceof SVGElement
  61.         },
  62.         inp: function(n) {
  63.             return n instanceof HTMLInputElement
  64.         },
  65.         dom: function(n) {
  66.             return n.nodeType || i.svg(n)
  67.         },
  68.         str: function(n) {
  69.             return "string" == typeof n
  70.         },
  71.         fnc: function(n) {
  72.             return "function" == typeof n
  73.         },
  74.         und: function(n) {
  75.             return void 0 === n
  76.         },
  77.         hex: function(n) {
  78.             return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)
  79.         },
  80.         rgb: function(n) {
  81.             return /^rgb/.test(n)
  82.         },
  83.         hsl: function(n) {
  84.             return /^hsl/.test(n)
  85.         },
  86.         col: function(n) {
  87.             return i.hex(n) || i.rgb(n) || i.hsl(n)
  88.         },
  89.         key: function(r) {
  90.             return !n.hasOwnProperty(r) && !e.hasOwnProperty(r) && "targets" !== r && "keyframes" !== r
  91.         }
  92.     };
  93.  
  94.     function c(n) {
  95.         var e = /\(([^)]+)\)/.exec(n);
  96.         return e ? e[1].split(",").map(function(n) {
  97.             return parseFloat(n)
  98.         }) : []
  99.     }
  100.  
  101.     function s(n, e) {
  102.         var r = c(n),
  103.             o = a(i.und(r[0]) ? 1 : r[0], .1, 100),
  104.             u = a(i.und(r[1]) ? 100 : r[1], .1, 100),
  105.             s = a(i.und(r[2]) ? 10 : r[2], .1, 100),
  106.             f = a(i.und(r[3]) ? 0 : r[3], .1, 100),
  107.             l = Math.sqrt(u / o),
  108.             d = s / (2 * Math.sqrt(u * o)),
  109.             p = d < 1 ? l * Math.sqrt(1 - d * d) : 0,
  110.             h = 1,
  111.             v = d < 1 ? (d * l - f) / p : -f + l;
  112.  
  113.         function g(n) {
  114.             var r = e ? e * n / 1e3 : n;
  115.             return r = d < 1 ? Math.exp(-r * d * l) * (h * Math.cos(p * r) + v * Math.sin(p * r)) : (h + v * r) * Math.exp(-r * l), 0 === n || 1 === n ? n : 1 - r
  116.         }
  117.         return e ? g : function() {
  118.             var e = t.springs[n];
  119.             if (e) return e;
  120.             for (var r = 0, a = 0;;)
  121.                 if (1 === g(r += 1 / 6)) {
  122.                     if (++a >= 16) break
  123.                 } else a = 0;
  124.             var o = r * (1 / 6) * 1e3;
  125.             return t.springs[n] = o, o
  126.         }
  127.     }
  128.  
  129.     function f(n) {
  130.         return void 0 === n && (n = 10),
  131.             function(e) {
  132.                 return Math.round(e * n) * (1 / n)
  133.             }
  134.     }
  135.     var l, d, p = function() {
  136.             var n = 11,
  137.                 e = 1 / (n - 1);
  138.  
  139.             function r(n, e) {
  140.                 return 1 - 3 * e + 3 * n
  141.             }
  142.  
  143.             function t(n, e) {
  144.                 return 3 * e - 6 * n
  145.             }
  146.  
  147.             function a(n) {
  148.                 return 3 * n
  149.             }
  150.  
  151.             function o(n, e, o) {
  152.                 return ((r(e, o) * n + t(e, o)) * n + a(e)) * n
  153.             }
  154.  
  155.             function u(n, e, o) {
  156.                 return 3 * r(e, o) * n * n + 2 * t(e, o) * n + a(e)
  157.             }
  158.             return function(r, t, a, i) {
  159.                 if (0 <= r && r <= 1 && 0 <= a && a <= 1) {
  160.                     var c = new Float32Array(n);
  161.                     if (r !== t || a !== i)
  162.                         for (var s = 0; s < n; ++s) c[s] = o(s * e, r, a);
  163.                     return function(n) {
  164.                         return r === t && a === i ? n : 0 === n || 1 === n ? n : o(f(n), t, i)
  165.                     }
  166.                 }
  167.  
  168.                 function f(t) {
  169.                     for (var i = 0, s = 1, f = n - 1; s !== f && c[s] <= t; ++s) i += e;
  170.                     var l = i + (t - c[--s]) / (c[s + 1] - c[s]) * e,
  171.                         d = u(l, r, a);
  172.                     return d >= .001 ? function(n, e, r, t) {
  173.                         for (var a = 0; a < 4; ++a) {
  174.                             var i = u(e, r, t);
  175.                             if (0 === i) return e;
  176.                             e -= (o(e, r, t) - n) / i
  177.                         }
  178.                         return e
  179.                     }(t, l, r, a) : 0 === d ? l : function(n, e, r, t, a) {
  180.                         for (var u, i, c = 0;
  181.                             (u = o(i = e + (r - e) / 2, t, a) - n) > 0 ? r = i : e = i, Math.abs(u) > 1e-7 && ++c < 10;);
  182.                         return i
  183.                     }(t, i, i + e, r, a)
  184.                 }
  185.             }
  186.         }(),
  187.         h = (l = {
  188.             linear: function() {
  189.                 return function(n) {
  190.                     return n
  191.                 }
  192.             }
  193.         }, d = {
  194.             Sine: function() {
  195.                 return function(n) {
  196.                     return 1 - Math.cos(n * Math.PI / 2)
  197.                 }
  198.             },
  199.             Circ: function() {
  200.                 return function(n) {
  201.                     return 1 - Math.sqrt(1 - n * n)
  202.                 }
  203.             },
  204.             Back: function() {
  205.                 return function(n) {
  206.                     return n * n * (3 * n - 2)
  207.                 }
  208.             },
  209.             Bounce: function() {
  210.                 return function(n) {
  211.                     for (var e, r = 4; n < ((e = Math.pow(2, --r)) - 1) / 11;);
  212.                     return 1 / Math.pow(4, 3 - r) - 7.5625 * Math.pow((3 * e - 2) / 22 - n, 2)
  213.                 }
  214.             },
  215.             Elastic: function(n, e) {
  216.                 void 0 === n && (n = 1), void 0 === e && (e = .5);
  217.                 var r = a(n, 1, 10),
  218.                     t = a(e, .1, 2);
  219.                 return function(n) {
  220.                     return 0 === n || 1 === n ? n : -r * Math.pow(2, 10 * (n - 1)) * Math.sin((n - 1 - t / (2 * Math.PI) * Math.asin(1 / r)) * (2 * Math.PI) / t)
  221.                 }
  222.             }
  223.         }, ["Quad", "Cubic", "Quart", "Quint", "Expo"].forEach(function(n, e) {
  224.             d[n] = function() {
  225.                 return function(n) {
  226.                     return Math.pow(n, e + 2)
  227.                 }
  228.             }
  229.         }), Object.keys(d).forEach(function(n) {
  230.             var e = d[n];
  231.             l["easeIn" + n] = e, l["easeOut" + n] = function(n, r) {
  232.                 return function(t) {
  233.                     return 1 - e(n, r)(1 - t)
  234.                 }
  235.             }, l["easeInOut" + n] = function(n, r) {
  236.                 return function(t) {
  237.                     return t < .5 ? e(n, r)(2 * t) / 2 : 1 - e(n, r)(-2 * t + 2) / 2
  238.                 }
  239.             }
  240.         }), l);
  241.  
  242.     function v(n, e) {
  243.         if (i.fnc(n)) return n;
  244.         var r = n.split("(")[0],
  245.             t = h[r],
  246.             a = c(n);
  247.         switch (r) {
  248.             case "spring":
  249.                 return s(n, e);
  250.             case "cubicBezier":
  251.                 return u(p, a);
  252.             case "steps":
  253.                 return u(f, a);
  254.             default:
  255.                 return u(t, a)
  256.         }
  257.     }
  258.  
  259.     function g(n) {
  260.         try {
  261.             return document.querySelectorAll(n)
  262.         } catch (n) {
  263.             return
  264.         }
  265.     }
  266.  
  267.     function m(n, e) {
  268.         for (var r = n.length, t = arguments.length >= 2 ? arguments[1] : void 0, a = [], o = 0; o < r; o++)
  269.             if (o in n) {
  270.                 var u = n[o];
  271.                 e.call(t, u, o, n) && a.push(u)
  272.             }
  273.         return a
  274.     }
  275.  
  276.     function y(n) {
  277.         return n.reduce(function(n, e) {
  278.             return n.concat(i.arr(e) ? y(e) : e)
  279.         }, [])
  280.     }
  281.  
  282.     function b(n) {
  283.         return i.arr(n) ? n : (i.str(n) && (n = g(n) || n), n instanceof NodeList || n instanceof HTMLCollection ? [].slice.call(n) : [n])
  284.     }
  285.  
  286.     function M(n, e) {
  287.         return n.some(function(n) {
  288.             return n === e
  289.         })
  290.     }
  291.  
  292.     function x(n) {
  293.         var e = {};
  294.         for (var r in n) e[r] = n[r];
  295.         return e
  296.     }
  297.  
  298.     function w(n, e) {
  299.         var r = x(n);
  300.         for (var t in n) r[t] = e.hasOwnProperty(t) ? e[t] : n[t];
  301.         return r
  302.     }
  303.  
  304.     function k(n, e) {
  305.         var r = x(n);
  306.         for (var t in e) r[t] = i.und(n[t]) ? e[t] : n[t];
  307.         return r
  308.     }
  309.  
  310.     function O(n) {
  311.         return i.rgb(n) ? (r = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(e = n)) ? "rgba(" + r[1] + ",1)" : e : i.hex(n) ? (t = n.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function(n, e, r, t) {
  312.             return e + e + r + r + t + t
  313.         }), a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t), "rgba(" + parseInt(a[1], 16) + "," + parseInt(a[2], 16) + "," + parseInt(a[3], 16) + ",1)") : i.hsl(n) ? function(n) {
  314.             var e, r, t, a = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(n) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(n),
  315.                 o = parseInt(a[1], 10) / 360,
  316.                 u = parseInt(a[2], 10) / 100,
  317.                 i = parseInt(a[3], 10) / 100,
  318.                 c = a[4] || 1;
  319.  
  320.             function s(n, e, r) {
  321.                 return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? n + 6 * (e - n) * r : r < .5 ? e : r < 2 / 3 ? n + (e - n) * (2 / 3 - r) * 6 : n
  322.             }
  323.             if (0 == u) e = r = t = i;
  324.             else {
  325.                 var f = i < .5 ? i * (1 + u) : i + u - i * u,
  326.                     l = 2 * i - f;
  327.                 e = s(l, f, o + 1 / 3), r = s(l, f, o), t = s(l, f, o - 1 / 3)
  328.             }
  329.             return "rgba(" + 255 * e + "," + 255 * r + "," + 255 * t + "," + c + ")"
  330.         }(n) : void 0;
  331.         var e, r, t, a
  332.     }
  333.  
  334.     function C(n) {
  335.         var e = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(n);
  336.         if (e) return e[1]
  337.     }
  338.  
  339.     function B(n, e) {
  340.         return i.fnc(n) ? n(e.target, e.id, e.total) : n
  341.     }
  342.  
  343.     function P(n, e) {
  344.         return n.getAttribute(e)
  345.     }
  346.  
  347.     function I(n, e, r) {
  348.         if (M([r, "deg", "rad", "turn"], C(e))) return e;
  349.         var a = t.CSS[e + r];
  350.         if (!i.und(a)) return a;
  351.         var o = document.createElement(n.tagName),
  352.             u = n.parentNode && n.parentNode !== document ? n.parentNode : document.body;
  353.         u.appendChild(o), o.style.position = "absolute", o.style.width = 100 + r;
  354.         var c = 100 / o.offsetWidth;
  355.         u.removeChild(o);
  356.         var s = c * parseFloat(e);
  357.         return t.CSS[e + r] = s, s
  358.     }
  359.  
  360.     function T(n, e, r) {
  361.         if (e in n.style) {
  362.             var t = e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(),
  363.                 a = n.style[e] || getComputedStyle(n).getPropertyValue(t) || "0";
  364.             return r ? I(n, a, r) : a
  365.         }
  366.     }
  367.  
  368.     function D(n, e) {
  369.         return i.dom(n) && !i.inp(n) && (P(n, e) || i.svg(n) && n[e]) ? "attribute" : i.dom(n) && M(r, e) ? "transform" : i.dom(n) && "transform" !== e && T(n, e) ? "css" : null != n[e] ? "object" : void 0
  370.     }
  371.  
  372.     function E(n) {
  373.         if (i.dom(n)) {
  374.             for (var e, r = n.style.transform || "", t = /(\w+)\(([^)]*)\)/g, a = new Map; e = t.exec(r);) a.set(e[1], e[2]);
  375.             return a
  376.         }
  377.     }
  378.  
  379.     function F(n, e, r, t) {
  380.         var a, u = o(e, "scale") ? 1 : 0 + (o(a = e, "translate") || "perspective" === a ? "px" : o(a, "rotate") || o(a, "skew") ? "deg" : void 0),
  381.             i = E(n).get(e) || u;
  382.         return r && (r.transforms.list.set(e, i), r.transforms.last = e), t ? I(n, i, t) : i
  383.     }
  384.  
  385.     function N(n, e, r, t) {
  386.         switch (D(n, e)) {
  387.             case "transform":
  388.                 return F(n, e, t, r);
  389.             case "css":
  390.                 return T(n, e, r);
  391.             case "attribute":
  392.                 return P(n, e);
  393.             default:
  394.                 return n[e] || 0
  395.         }
  396.     }
  397.  
  398.     function A(n, e) {
  399.         var r = /^(\*=|\+=|-=)/.exec(n);
  400.         if (!r) return n;
  401.         var t = C(n) || 0,
  402.             a = parseFloat(e),
  403.             o = parseFloat(n.replace(r[0], ""));
  404.         switch (r[0][0]) {
  405.             case "+":
  406.                 return a + o + t;
  407.             case "-":
  408.                 return a - o + t;
  409.             case "*":
  410.                 return a * o + t
  411.         }
  412.     }
  413.  
  414.     function L(n, e) {
  415.         if (i.col(n)) return O(n);
  416.         if (/\s/g.test(n)) return n;
  417.         var r = C(n),
  418.             t = r ? n.substr(0, n.length - r.length) : n;
  419.         return e ? t + e : t
  420.     }
  421.  
  422.     function j(n, e) {
  423.         return Math.sqrt(Math.pow(e.x - n.x, 2) + Math.pow(e.y - n.y, 2))
  424.     }
  425.  
  426.     function S(n) {
  427.         for (var e, r = n.points, t = 0, a = 0; a < r.numberOfItems; a++) {
  428.             var o = r.getItem(a);
  429.             a > 0 && (t += j(e, o)), e = o
  430.         }
  431.         return t
  432.     }
  433.  
  434.     function q(n) {
  435.         if (n.getTotalLength) return n.getTotalLength();
  436.         switch (n.tagName.toLowerCase()) {
  437.             case "circle":
  438.                 return o = n, 2 * Math.PI * P(o, "r");
  439.             case "rect":
  440.                 return 2 * P(a = n, "width") + 2 * P(a, "height");
  441.             case "line":
  442.                 return j({
  443.                     x: P(t = n, "x1"),
  444.                     y: P(t, "y1")
  445.                 }, {
  446.                     x: P(t, "x2"),
  447.                     y: P(t, "y2")
  448.                 });
  449.             case "polyline":
  450.                 return S(n);
  451.             case "polygon":
  452.                 return r = (e = n).points, S(e) + j(r.getItem(r.numberOfItems - 1), r.getItem(0))
  453.         }
  454.         var e, r, t, a, o
  455.     }
  456.  
  457.     function $(n, e) {
  458.         var r = e || {},
  459.             t = r.el || function(n) {
  460.                 for (var e = n.parentNode; i.svg(e) && i.svg(e.parentNode);) e = e.parentNode;
  461.                 return e
  462.             }(n),
  463.             a = t.getBoundingClientRect(),
  464.             o = P(t, "viewBox"),
  465.             u = a.width,
  466.             c = a.height,
  467.             s = r.viewBox || (o ? o.split(" ") : [0, 0, u, c]);
  468.         return {
  469.             el: t,
  470.             viewBox: s,
  471.             x: s[0] / 1,
  472.             y: s[1] / 1,
  473.             w: u / s[2],
  474.             h: c / s[3]
  475.         }
  476.     }
  477.  
  478.     function X(n, e) {
  479.         function r(r) {
  480.             void 0 === r && (r = 0);
  481.             var t = e + r >= 1 ? e + r : 0;
  482.             return n.el.getPointAtLength(t)
  483.         }
  484.         var t = $(n.el, n.svg),
  485.             a = r(),
  486.             o = r(-1),
  487.             u = r(1);
  488.         switch (n.property) {
  489.             case "x":
  490.                 return (a.x - t.x) * t.w;
  491.             case "y":
  492.                 return (a.y - t.y) * t.h;
  493.             case "angle":
  494.                 return 180 * Math.atan2(u.y - o.y, u.x - o.x) / Math.PI
  495.         }
  496.     }
  497.  
  498.     function Y(n, e) {
  499.         var r = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,
  500.             t = L(i.pth(n) ? n.totalLength : n, e) + "";
  501.         return {
  502.             original: t,
  503.             numbers: t.match(r) ? t.match(r).map(Number) : [0],
  504.             strings: i.str(n) || e ? t.split(r) : []
  505.         }
  506.     }
  507.  
  508.     function Z(n) {
  509.         return m(n ? y(i.arr(n) ? n.map(b) : b(n)) : [], function(n, e, r) {
  510.             return r.indexOf(n) === e
  511.         })
  512.     }
  513.  
  514.     function Q(n) {
  515.         var e = Z(n);
  516.         return e.map(function(n, r) {
  517.             return {
  518.                 target: n,
  519.                 id: r,
  520.                 total: e.length,
  521.                 transforms: {
  522.                     list: E(n)
  523.                 }
  524.             }
  525.         })
  526.     }
  527.  
  528.     function V(n, e) {
  529.         var r = x(e);
  530.         if (/^spring/.test(r.easing) && (r.duration = s(r.easing)), i.arr(n)) {
  531.             var t = n.length;
  532.             2 === t && !i.obj(n[0]) ? n = {
  533.                 value: n
  534.             } : i.fnc(e.duration) || (r.duration = e.duration / t)
  535.         }
  536.         var a = i.arr(n) ? n : [n];
  537.         return a.map(function(n, r) {
  538.             var t = i.obj(n) && !i.pth(n) ? n : {
  539.                 value: n
  540.             };
  541.             return i.und(t.delay) && (t.delay = r ? 0 : e.delay), i.und(t.endDelay) && (t.endDelay = r === a.length - 1 ? e.endDelay : 0), t
  542.         }).map(function(n) {
  543.             return k(n, r)
  544.         })
  545.     }
  546.  
  547.     function z(n, e) {
  548.         var r = [],
  549.             t = e.keyframes;
  550.         for (var a in t && (e = k(function(n) {
  551.                 for (var e = m(y(n.map(function(n) {
  552.                         return Object.keys(n)
  553.                     })), function(n) {
  554.                         return i.key(n)
  555.                     }).reduce(function(n, e) {
  556.                         return n.indexOf(e) < 0 && n.push(e), n
  557.                     }, []), r = {}, t = function(t) {
  558.                         var a = e[t];
  559.                         r[a] = n.map(function(n) {
  560.                             var e = {};
  561.                             for (var r in n) i.key(r) ? r == a && (e.value = n[r]) : e[r] = n[r];
  562.                             return e
  563.                         })
  564.                     }, a = 0; a < e.length; a++) t(a);
  565.                 return r
  566.             }(t), e)), e) i.key(a) && r.push({
  567.             name: a,
  568.             tweens: V(e[a], n)
  569.         });
  570.         return r
  571.     }
  572.  
  573.     function H(n, e) {
  574.         var r;
  575.         return n.tweens.map(function(t) {
  576.             var a = function(n, e) {
  577.                     var r = {};
  578.                     for (var t in n) {
  579.                         var a = B(n[t], e);
  580.                         i.arr(a) && 1 === (a = a.map(function(n) {
  581.                             return B(n, e)
  582.                         })).length && (a = a[0]), r[t] = a
  583.                     }
  584.                     return r.duration = parseFloat(r.duration), r.delay = parseFloat(r.delay), r
  585.                 }(t, e),
  586.                 o = a.value,
  587.                 u = i.arr(o) ? o[1] : o,
  588.                 c = C(u),
  589.                 s = N(e.target, n.name, c, e),
  590.                 f = r ? r.to.original : s,
  591.                 l = i.arr(o) ? o[0] : f,
  592.                 d = C(l) || C(s),
  593.                 p = c || d;
  594.             return i.und(u) && (u = f), a.from = Y(l, p), a.to = Y(A(u, l), p), a.start = r ? r.end : 0, a.end = a.start + a.delay + a.duration + a.endDelay, a.easing = v(a.easing, a.duration), a.isPath = i.pth(o), a.isColor = i.col(a.from.original), a.isColor && (a.round = 1), r = a, a
  595.         })
  596.     }
  597.     var G = {
  598.         css: function(n, e, r) {
  599.             return n.style[e] = r
  600.         },
  601.         attribute: function(n, e, r) {
  602.             return n.setAttribute(e, r)
  603.         },
  604.         object: function(n, e, r) {
  605.             return n[e] = r
  606.         },
  607.         transform: function(n, e, r, t, a) {
  608.             if (t.list.set(e, r), e === t.last || a) {
  609.                 var o = "";
  610.                 t.list.forEach(function(n, e) {
  611.                     o += e + "(" + n + ") "
  612.                 }), n.style.transform = o
  613.             }
  614.         }
  615.     };
  616.  
  617.     function R(n, e) {
  618.         Q(n).forEach(function(n) {
  619.             for (var r in e) {
  620.                 var t = B(e[r], n),
  621.                     a = n.target,
  622.                     o = C(t),
  623.                     u = N(a, r, o, n),
  624.                     i = A(L(t, o || C(u)), u),
  625.                     c = D(a, r);
  626.                 G[c](a, r, i, n.transforms, !0)
  627.             }
  628.         })
  629.     }
  630.  
  631.     function W(n, e) {
  632.         return m(y(n.map(function(n) {
  633.             return e.map(function(e) {
  634.                 return function(n, e) {
  635.                     var r = D(n.target, e.name);
  636.                     if (r) {
  637.                         var t = H(e, n),
  638.                             a = t[t.length - 1];
  639.                         return {
  640.                             type: r,
  641.                             property: e.name,
  642.                             animatable: n,
  643.                             tweens: t,
  644.                             duration: a.end,
  645.                             delay: t[0].delay,
  646.                             endDelay: a.endDelay
  647.                         }
  648.                     }
  649.                 }(n, e)
  650.             })
  651.         })), function(n) {
  652.             return !i.und(n)
  653.         })
  654.     }
  655.  
  656.     function J(n, e) {
  657.         var r = n.length,
  658.             t = function(n) {
  659.                 return n.timelineOffset ? n.timelineOffset : 0
  660.             },
  661.             a = {};
  662.         return a.duration = r ? Math.max.apply(Math, n.map(function(n) {
  663.             return t(n) + n.duration
  664.         })) : e.duration, a.delay = r ? Math.min.apply(Math, n.map(function(n) {
  665.             return t(n) + n.delay
  666.         })) : e.delay, a.endDelay = r ? a.duration - Math.max.apply(Math, n.map(function(n) {
  667.             return t(n) + n.duration - n.endDelay
  668.         })) : e.endDelay, a
  669.     }
  670.     var K = 0;
  671.     var U, _ = [],
  672.         nn = [],
  673.         en = function() {
  674.             function n() {
  675.                 U = requestAnimationFrame(e)
  676.             }
  677.  
  678.             function e(e) {
  679.                 var r = _.length;
  680.                 if (r) {
  681.                     for (var t = 0; t < r;) {
  682.                         var a = _[t];
  683.                         if (a.paused) {
  684.                             var o = _.indexOf(a);
  685.                             o > -1 && (_.splice(o, 1), r = _.length)
  686.                         } else a.tick(e);
  687.                         t++
  688.                     }
  689.                     n()
  690.                 } else U = cancelAnimationFrame(U)
  691.             }
  692.             return n
  693.         }();
  694.  
  695.     function rn(r) {
  696.         void 0 === r && (r = {});
  697.         var t, o = 0,
  698.             u = 0,
  699.             i = 0,
  700.             c = 0,
  701.             s = null;
  702.  
  703.         function f(n) {
  704.             var e = window.Promise && new Promise(function(n) {
  705.                 return s = n
  706.             });
  707.             return n.finished = e, e
  708.         }
  709.         var l, d, p, h, v, g, y, b, M = (d = w(n, l = r), p = w(e, l), h = z(p, l), v = Q(l.targets), g = W(v, h), y = J(g, p), b = K, K++, k(d, {
  710.             id: b,
  711.             children: [],
  712.             animatables: v,
  713.             animations: g,
  714.             duration: y.duration,
  715.             delay: y.delay,
  716.             endDelay: y.endDelay
  717.         }));
  718.         f(M);
  719.  
  720.         function x() {
  721.             var n = M.direction;
  722.             "alternate" !== n && (M.direction = "normal" !== n ? "normal" : "reverse"), M.reversed = !M.reversed, t.forEach(function(n) {
  723.                 return n.reversed = M.reversed
  724.             })
  725.         }
  726.  
  727.         function O(n) {
  728.             return M.reversed ? M.duration - n : n
  729.         }
  730.  
  731.         function C() {
  732.             o = 0, u = O(M.currentTime) * (1 / rn.speed)
  733.         }
  734.  
  735.         function B(n, e) {
  736.             e && e.seek(n - e.timelineOffset)
  737.         }
  738.  
  739.         function P(n) {
  740.             for (var e = 0, r = M.animations, t = r.length; e < t;) {
  741.                 var o = r[e],
  742.                     u = o.animatable,
  743.                     i = o.tweens,
  744.                     c = i.length - 1,
  745.                     s = i[c];
  746.                 c && (s = m(i, function(e) {
  747.                     return n < e.end
  748.                 })[0] || s);
  749.                 for (var f = a(n - s.start - s.delay, 0, s.duration) / s.duration, l = isNaN(f) ? 1 : s.easing(f), d = s.to.strings, p = s.round, h = [], v = s.to.numbers.length, g = void 0, y = 0; y < v; y++) {
  750.                     var b = void 0,
  751.                         x = s.to.numbers[y],
  752.                         w = s.from.numbers[y] || 0;
  753.                     b = s.isPath ? X(s.value, l * x) : w + l * (x - w), p && (s.isColor && y > 2 || (b = Math.round(b * p) / p)), h.push(b)
  754.                 }
  755.                 var k = d.length;
  756.                 if (k) {
  757.                     g = d[0];
  758.                     for (var O = 0; O < k; O++) {
  759.                         d[O];
  760.                         var C = d[O + 1],
  761.                             B = h[O];
  762.                         isNaN(B) || (g += C ? B + C : B + " ")
  763.                     }
  764.                 } else g = h[0];
  765.                 G[o.type](u.target, o.property, g, u.transforms), o.currentValue = g, e++
  766.             }
  767.         }
  768.  
  769.         function I(n) {
  770.             M[n] && !M.passThrough && M[n](M)
  771.         }
  772.  
  773.         function T(n) {
  774.             var e = M.duration,
  775.                 r = M.delay,
  776.                 l = e - M.endDelay,
  777.                 d = O(n);
  778.             M.progress = a(d / e * 100, 0, 100), M.reversePlayback = d < M.currentTime, t && function(n) {
  779.                 if (M.reversePlayback)
  780.                     for (var e = c; e--;) B(n, t[e]);
  781.                 else
  782.                     for (var r = 0; r < c; r++) B(n, t[r])
  783.             }(d), !M.began && M.currentTime > 0 && (M.began = !0, I("begin")), !M.loopBegan && M.currentTime > 0 && (M.loopBegan = !0, I("loopBegin")), d <= r && 0 !== M.currentTime && P(0), (d >= l && M.currentTime !== e || !e) && P(e), d > r && d < l ? (M.changeBegan || (M.changeBegan = !0, M.changeCompleted = !1, I("changeBegin")), I("change"), P(d)) : M.changeBegan && (M.changeCompleted = !0, M.changeBegan = !1, I("changeComplete")), M.currentTime = a(d, 0, e), M.began && I("update"), n >= e && (u = 0, M.remaining && !0 !== M.remaining && M.remaining--, M.remaining ? (o = i, I("loopComplete"), M.loopBegan = !1, "alternate" === M.direction && x()) : (M.paused = !0, M.completed || (M.completed = !0, I("loopComplete"), I("complete"), !M.passThrough && "Promise" in window && (s(), f(M)))))
  784.         }
  785.         return M.reset = function() {
  786.             var n = M.direction;
  787.             M.passThrough = !1, M.currentTime = 0, M.progress = 0, M.paused = !0, M.began = !1, M.loopBegan = !1, M.changeBegan = !1, M.completed = !1, M.changeCompleted = !1, M.reversePlayback = !1, M.reversed = "reverse" === n, M.remaining = M.loop, t = M.children;
  788.             for (var e = c = t.length; e--;) M.children[e].reset();
  789.             (M.reversed && !0 !== M.loop || "alternate" === n && 1 === M.loop) && M.remaining++, P(M.reversed ? M.duration : 0)
  790.         }, M.set = function(n, e) {
  791.             return R(n, e), M
  792.         }, M.tick = function(n) {
  793.             i = n, o || (o = i), T((i + (u - o)) * rn.speed)
  794.         }, M.seek = function(n) {
  795.             T(O(n))
  796.         }, M.pause = function() {
  797.             M.paused = !0, C()
  798.         }, M.play = function() {
  799.             M.paused && (M.completed && M.reset(), M.paused = !1, _.push(M), C(), U || en())
  800.         }, M.reverse = function() {
  801.             x(), C()
  802.         }, M.restart = function() {
  803.             M.reset(), M.play()
  804.         }, M.reset(), M.autoplay && M.play(), M
  805.     }
  806.  
  807.     function tn(n, e) {
  808.         for (var r = e.length; r--;) M(n, e[r].animatable.target) && e.splice(r, 1)
  809.     }
  810.     return "undefined" != typeof document && document.addEventListener("visibilitychange", function() {
  811.         document.hidden ? (_.forEach(function(n) {
  812.             return n.pause()
  813.         }), nn = _.slice(0), rn.running = _ = []) : nn.forEach(function(n) {
  814.             return n.play()
  815.         })
  816.     }), rn.version = "3.1.0", rn.speed = 1, rn.running = _, rn.remove = function(n) {
  817.         for (var e = Z(n), r = _.length; r--;) {
  818.             var t = _[r],
  819.                 a = t.animations,
  820.                 o = t.children;
  821.             tn(e, a);
  822.             for (var u = o.length; u--;) {
  823.                 var i = o[u],
  824.                     c = i.animations;
  825.                 tn(e, c), c.length || i.children.length || o.splice(u, 1)
  826.             }
  827.             a.length || o.length || t.pause()
  828.         }
  829.     }, rn.get = N, rn.set = R, rn.convertPx = I, rn.path = function(n, e) {
  830.         var r = i.str(n) ? g(n)[0] : n,
  831.             t = e || 100;
  832.         return function(n) {
  833.             return {
  834.                 property: n,
  835.                 el: r,
  836.                 svg: $(r),
  837.                 totalLength: q(r) * (t / 100)
  838.             }
  839.         }
  840.     }, rn.setDashoffset = function(n) {
  841.         var e = q(n);
  842.         return n.setAttribute("stroke-dasharray", e), e
  843.     }, rn.stagger = function(n, e) {
  844.         void 0 === e && (e = {});
  845.         var r = e.direction || "normal",
  846.             t = e.easing ? v(e.easing) : null,
  847.             a = e.grid,
  848.             o = e.axis,
  849.             u = e.from || 0,
  850.             c = "first" === u,
  851.             s = "center" === u,
  852.             f = "last" === u,
  853.             l = i.arr(n),
  854.             d = l ? parseFloat(n[0]) : parseFloat(n),
  855.             p = l ? parseFloat(n[1]) : 0,
  856.             h = C(l ? n[1] : n) || 0,
  857.             g = e.start || 0 + (l ? d : 0),
  858.             m = [],
  859.             y = 0;
  860.         return function(n, e, i) {
  861.             if (c && (u = 0), s && (u = (i - 1) / 2), f && (u = i - 1), !m.length) {
  862.                 for (var v = 0; v < i; v++) {
  863.                     if (a) {
  864.                         var b = s ? (a[0] - 1) / 2 : u % a[0],
  865.                             M = s ? (a[1] - 1) / 2 : Math.floor(u / a[0]),
  866.                             x = b - v % a[0],
  867.                             w = M - Math.floor(v / a[0]),
  868.                             k = Math.sqrt(x * x + w * w);
  869.                         "x" === o && (k = -x), "y" === o && (k = -w), m.push(k)
  870.                     } else m.push(Math.abs(u - v));
  871.                     y = Math.max.apply(Math, m)
  872.                 }
  873.                 t && (m = m.map(function(n) {
  874.                     return t(n / y) * y
  875.                 })), "reverse" === r && (m = m.map(function(n) {
  876.                     return o ? n < 0 ? -1 * n : -n : Math.abs(y - n)
  877.                 }))
  878.             }
  879.             return g + (l ? (p - d) / y : d) * (Math.round(100 * m[e]) / 100) + h
  880.         }
  881.     }, rn.timeline = function(n) {
  882.         void 0 === n && (n = {});
  883.         var r = rn(n);
  884.         return r.duration = 0, r.add = function(t, a) {
  885.             var o = _.indexOf(r),
  886.                 u = r.children;
  887.  
  888.             function c(n) {
  889.                 n.passThrough = !0
  890.             }
  891.             o > -1 && _.splice(o, 1);
  892.             for (var s = 0; s < u.length; s++) c(u[s]);
  893.             var f = k(t, w(e, n));
  894.             f.targets = f.targets || n.targets;
  895.             var l = r.duration;
  896.             f.autoplay = !1, f.direction = r.direction, f.timelineOffset = i.und(a) ? l : A(a, l), c(r), r.seek(f.timelineOffset);
  897.             var d = rn(f);
  898.             c(d), u.push(d);
  899.             var p = J(u, n);
  900.             return r.delay = p.delay, r.endDelay = p.endDelay, r.duration = p.duration, r.seek(0), r.reset(), r.autoplay && r.play(), r
  901.         }, r
  902.     }, rn.easing = v, rn.penner = h, rn.random = function(n, e) {
  903.         return Math.floor(Math.random() * (e - n + 1)) + n
  904.     }, rn
  905. });

Raw Paste


Login or Register to edit or fork this paste. It's free.