rap-react
Version:
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
443 lines (442 loc) • 17.6 kB
JavaScript
"use strict";
/*!
* pace.js v1.2.4
* https://github.com/CodeByZach/pace/
* Licensed MIT © HubSpot, Inc.
*/
!function () {
function o(t, e) {
return function () {
return t.apply(e, arguments);
};
}
var u,
c,
i,
s,
n,
y,
t,
l,
v,
r,
a,
p,
e,
h,
w,
b,
f,
g,
d,
m,
k,
S,
q,
L,
x,
P,
T,
R,
j,
O,
E,
M,
A,
C,
N,
_,
F,
U,
W,
X,
D,
H,
I,
z,
G,
B,
J = [].slice,
K = {}.hasOwnProperty,
Q = function (t, e) {
for (var n in e) K.call(e, n) && (t[n] = e[n]);
function r() {
this.constructor = t;
}
return r.prototype = e.prototype, t.prototype = new r(), t.__super__ = e.prototype, t;
},
V = [].indexOf || function (t) {
for (var e = 0, n = this.length; e < n; e++) if (e in this && this[e] === t) return e;
return -1;
};
function Y() {}
for (g = {
className: "",
catchupTime: 100,
initialRate: .03,
minTime: 250,
ghostTime: 100,
maxProgressPerFrame: 20,
easeFactor: 1.25,
startOnPageLoad: !0,
restartOnPushState: !0,
restartOnRequestAfter: 500,
target: "body",
elements: {
checkInterval: 100,
selectors: ["body"]
},
eventLag: {
minSamples: 10,
sampleCount: 3,
lagThreshold: 3
},
ajax: {
trackMethods: ["GET"],
trackWebSockets: !0,
ignoreURLs: []
}
}, P = function () {
var t;
return null != (t = "undefined" != typeof performance && null !== performance && "function" == typeof performance.now ? performance.now() : void 0) ? t : +new Date();
}, R = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame, f = window.cancelAnimationFrame || window.mozCancelAnimationFrame, p = function (t, e, n) {
if ("function" == typeof t.addEventListener) return t.addEventListener(e, n, !1);
var r;
"function" != typeof t["on" + e] || "object" != typeof t["on" + e].eventListeners ? (r = new s(), "function" == typeof t["on" + e] && r.on(e, t["on" + e]), t["on" + e] = function (t) {
return r.trigger(e, t);
}, t["on" + e].eventListeners = r) : r = t["on" + e].eventListeners, r.on(e, n);
}, null == R && (R = function (t) {
return setTimeout(t, 50);
}, f = function (t) {
return clearTimeout(t);
}), O = function (e) {
var n = P(),
r = function () {
var t = P() - n;
return 33 <= t ? (n = P(), e(t, function () {
return R(r);
})) : setTimeout(r, 33 - t);
};
return r();
}, j = function () {
var t = arguments[0],
e = arguments[1],
n = 3 <= arguments.length ? J.call(arguments, 2) : [];
return "function" == typeof t[e] ? t[e].apply(t, n) : t[e];
}, d = function () {
for (var t, e, n, r = arguments[0], s = 2 <= arguments.length ? J.call(arguments, 1) : [], o = 0, i = s.length; o < i; o++) if (e = s[o]) for (t in e) K.call(e, t) && (n = e[t], null != r[t] && "object" == typeof r[t] && null != n && "object" == typeof n ? d(r[t], n) : r[t] = n);
return r;
}, h = function (t) {
for (var e, n, r = e = 0, s = 0, o = t.length; s < o; s++) n = t[s], r += Math.abs(n), e++;
return r / e;
}, k = function (t, e) {
var n, r;
if (null == t && (t = "options"), null == e && (e = !0), r = document.querySelector("[data-pace-" + t + "]")) {
if (n = r.getAttribute("data-pace-" + t), !e) return n;
try {
return JSON.parse(n);
} catch (t) {
return "undefined" != typeof console && null !== console ? console.error("Error parsing inline pace options", t) : void 0;
}
}
}, Y.prototype.on = function (t, e, n, r) {
var s;
return null == r && (r = !1), null == this.bindings && (this.bindings = {}), null == (s = this.bindings)[t] && (s[t] = []), this.bindings[t].push({
handler: e,
ctx: n,
once: r
});
}, Y.prototype.once = function (t, e, n) {
return this.on(t, e, n, !0);
}, Y.prototype.off = function (t, e) {
var n, r, s;
if (null != (null != (r = this.bindings) ? r[t] : void 0)) {
if (null == e) return delete this.bindings[t];
for (n = 0, s = []; n < this.bindings[t].length;) this.bindings[t][n].handler === e ? s.push(this.bindings[t].splice(n, 1)) : s.push(n++);
return s;
}
}, Y.prototype.trigger = function () {
var t,
e,
n,
r,
s,
o,
i = arguments[0],
a = 2 <= arguments.length ? J.call(arguments, 1) : [];
if (null != (r = this.bindings) && r[i]) {
for (n = 0, o = []; n < this.bindings[i].length;) e = (s = this.bindings[i][n]).handler, t = s.ctx, s = s.once, e.apply(null != t ? t : this, a), s ? o.push(this.bindings[i].splice(n, 1)) : o.push(n++);
return o;
}
}, B = Y, y = window.Pace || {}, window.Pace = y, d(y, B.prototype), T = y.options = d({}, g, window.paceOptions, k()), X = 0, H = (z = ["ajax", "document", "eventLag", "elements"]).length; X < H; X++) !0 === T[C = z[X]] && (T[C] = g[C]);
function Z() {
return Z.__super__.constructor.apply(this, arguments);
}
function $() {
this.progress = 0;
}
function tt() {
this.bindings = {};
}
function et() {
var e,
o = this;
et.__super__.constructor.apply(this, arguments), e = function (r) {
var s = r.open;
return r.open = function (t, e, n) {
return A(t) && o.trigger("request", {
type: t,
url: e,
request: r
}), s.apply(r, arguments);
};
}, window.XMLHttpRequest = function (t) {
t = new W(t);
return e(t), t;
};
try {
m(window.XMLHttpRequest, W);
} catch (t) {}
if (null != U) {
window.XDomainRequest = function () {
var t = new U();
return e(t), t;
};
try {
m(window.XDomainRequest, U);
} catch (t) {}
}
if (null != F && T.ajax.trackWebSockets) {
window.WebSocket = function (t, e) {
var n = null != e ? new F(t, e) : new F(t);
return A("socket") && o.trigger("request", {
type: "socket",
url: t,
protocols: e,
request: n
}), n;
};
try {
m(window.WebSocket, F);
} catch (t) {}
}
}
function nt() {
this.complete = o(this.complete, this);
var t = this;
this.elements = [], S().on("request", function () {
return t.watch.apply(t, arguments);
});
}
function rt(t) {
var e, n, r, s;
for (null == t && (t = {}), this.complete = o(this.complete, this), this.elements = [], null == t.selectors && (t.selectors = []), n = 0, r = (s = t.selectors).length; n < r; n++) e = s[n], this.elements.push(new i(e, this.complete));
}
function st(t, e) {
this.selector = t, this.completeCallback = e, this.progress = 0, this.check();
}
function ot() {
var t,
e,
n = this;
this.progress = null != (e = this.states[document.readyState]) ? e : 100, t = document.onreadystatechange, document.onreadystatechange = function () {
return null != n.states[document.readyState] && (n.progress = n.states[document.readyState]), "function" == typeof t ? t.apply(null, arguments) : void 0;
};
}
function it(t) {
this.source = t, this.last = this.sinceLastUpdate = 0, this.rate = T.initialRate, this.catchup = 0, this.progress = this.lastProgress = 0, null != this.source && (this.progress = j(this.source, "progress"));
}
B = Error, Q(Z, B), n = Z, $.prototype.getElement = function () {
var t;
if (null == this.el) {
if (!(t = document.querySelector(T.target))) throw new n();
this.el = document.createElement("div"), this.el.className = "pace pace-active", document.body.className = document.body.className.replace(/(pace-done )|/, "pace-running ");
var e = "" !== T.className ? " " + T.className : "";
this.el.innerHTML = '<div class="pace-progress' + e + '">\n <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>', null != t.firstChild ? t.insertBefore(this.el, t.firstChild) : t.appendChild(this.el);
}
return this.el;
}, $.prototype.finish = function () {
var t = this.getElement();
return t.className = t.className.replace("pace-active", "pace-inactive"), document.body.className = document.body.className.replace("pace-running ", "pace-done ");
}, $.prototype.update = function (t) {
return this.progress = t, y.trigger("progress", t), this.render();
}, $.prototype.destroy = function () {
try {
this.getElement().parentNode.removeChild(this.getElement());
} catch (t) {
n = t;
}
return this.el = void 0;
}, $.prototype.render = function () {
var t, e, n, r, s, o, i;
if (null == document.querySelector(T.target)) return !1;
for (t = this.getElement(), r = "translate3d(" + this.progress + "%, 0, 0)", s = 0, o = (i = ["webkitTransform", "msTransform", "transform"]).length; s < o; s++) e = i[s], t.children[0].style[e] = r;
return (!this.lastRenderedProgress || this.lastRenderedProgress | 0 !== this.progress | 0) && (t.children[0].setAttribute("data-progress-text", (0 | this.progress) + "%"), 100 <= this.progress ? n = "99" : (n = this.progress < 10 ? "0" : "", n += 0 | this.progress), t.children[0].setAttribute("data-progress", "" + n)), y.trigger("change", this.progress), this.lastRenderedProgress = this.progress;
}, $.prototype.done = function () {
return 100 <= this.progress;
}, c = $, tt.prototype.trigger = function (t, e) {
var n, r, s, o, i;
if (null != this.bindings[t]) {
for (i = [], r = 0, s = (o = this.bindings[t]).length; r < s; r++) n = o[r], i.push(n.call(this, e));
return i;
}
}, tt.prototype.on = function (t, e) {
var n;
return null == (n = this.bindings)[t] && (n[t] = []), this.bindings[t].push(e);
}, s = tt, W = window.XMLHttpRequest, U = window.XDomainRequest, F = window.WebSocket, m = function (t, e) {
var n,
r = [];
for (n in e.prototype) try {
null == t[n] && "function" != typeof e[n] ? "function" == typeof Object.defineProperty ? r.push(Object.defineProperty(t, n, {
get: function (t) {
return function () {
return e.prototype[t];
};
}(n),
configurable: !0,
enumerable: !0
})) : r.push(t[n] = e.prototype[n]) : r.push(void 0);
} catch (t) {
0;
}
return r;
}, L = [], y.ignore = function () {
var t = arguments[0],
e = 2 <= arguments.length ? J.call(arguments, 1) : [];
return L.unshift("ignore"), e = t.apply(null, e), L.shift(), e;
}, y.track = function () {
var t = arguments[0],
e = 2 <= arguments.length ? J.call(arguments, 1) : [];
return L.unshift("track"), e = t.apply(null, e), L.shift(), e;
}, A = function (t) {
if (null == t && (t = "GET"), "track" === L[0]) return "force";
if (!L.length && T.ajax) {
if ("socket" === t && T.ajax.trackWebSockets) return !0;
if (t = t.toUpperCase(), 0 <= V.call(T.ajax.trackMethods, t)) return !0;
}
return !1;
}, Q(et, s), t = et, D = null, M = function (t) {
for (var e, n = T.ajax.ignoreURLs, r = 0, s = n.length; r < s; r++) if ("string" == typeof (e = n[r])) {
if (-1 !== t.indexOf(e)) return !0;
} else if (e.test(t)) return !0;
return !1;
}, (S = function () {
return D = null == D ? new t() : D;
})().on("request", function (t) {
var o,
i = t.type,
a = t.request,
e = t.url;
if (!M(e)) return y.running || !1 === T.restartOnRequestAfter && "force" !== A(i) ? void 0 : (o = arguments, "boolean" == typeof (e = T.restartOnRequestAfter || 0) && (e = 0), setTimeout(function () {
var t,
e,
n,
r,
s = "socket" === i ? a.readyState < 1 : 0 < (s = a.readyState) && s < 4;
if (s) {
for (y.restart(), r = [], t = 0, e = (n = y.sources).length; t < e; t++) {
if ((C = n[t]) instanceof u) {
C.watch.apply(C, o);
break;
}
r.push(void 0);
}
return r;
}
}, e));
}), nt.prototype.watch = function (t) {
var e = t.type,
n = t.request,
t = t.url;
if (!M(t)) return n = new ("socket" === e ? r : a)(n, this.complete), this.elements.push(n);
}, nt.prototype.complete = function (e) {
return this.elements = this.elements.filter(function (t) {
return t !== e;
});
}, u = nt, a = function (e, n) {
var t,
r,
s,
o,
i = this;
if (this.progress = 0, null != window.ProgressEvent) for (p(e, "progress", function (t) {
return t.lengthComputable ? i.progress = 100 * t.loaded / t.total : i.progress = i.progress + (100 - i.progress) / 2;
}), t = 0, r = (o = ["load", "abort", "timeout", "error"]).length; t < r; t++) p(e, o[t], function () {
return n(i), i.progress = 100;
});else s = e.onreadystatechange, e.onreadystatechange = function () {
var t;
return 0 === (t = e.readyState) || 4 === t ? (n(i), i.progress = 100) : 3 === e.readyState && (i.progress = 50), "function" == typeof s ? s.apply(null, arguments) : void 0;
};
}, r = function (t, e) {
for (var n, r = this, s = this.progress = 0, o = (n = ["error", "open"]).length; s < o; s++) p(t, n[s], function () {
return e(r), r.progress = 100;
});
}, rt.prototype.complete = function (e) {
return this.elements = this.elements.filter(function (t) {
return t !== e;
});
}, k = rt, st.prototype.check = function () {
var t = this;
return document.querySelector(this.selector) ? this.done() : setTimeout(function () {
return t.check();
}, T.elements.checkInterval);
}, st.prototype.done = function () {
return this.completeCallback(this), this.completeCallback = null, this.progress = 100;
}, i = st, ot.prototype.states = {
loading: 0,
interactive: 50,
complete: 100
}, B = ot, Q = function () {
var e,
n,
r,
s,
o,
i = this;
this.progress = 0, o = [], s = 0, r = P(), n = setInterval(function () {
var t = P() - r - 50;
return r = P(), o.push(t), o.length > T.eventLag.sampleCount && o.shift(), e = h(o), ++s >= T.eventLag.minSamples && e < T.eventLag.lagThreshold ? (i.progress = 100, clearInterval(n)) : i.progress = 3 / (e + 3) * 100;
}, 50);
}, it.prototype.tick = function (t, e) {
return 100 <= (e = null == e ? j(this.source, "progress") : e) && (this.done = !0), e === this.last ? this.sinceLastUpdate += t : (this.sinceLastUpdate && (this.rate = (e - this.last) / this.sinceLastUpdate), this.catchup = (e - this.progress) / T.catchupTime, this.sinceLastUpdate = 0, this.last = e), e > this.progress && (this.progress += this.catchup * t), e = 1 - Math.pow(this.progress / 100, T.easeFactor), this.progress += e * this.rate * t, this.progress = Math.min(this.lastProgress + T.maxProgressPerFrame, this.progress), this.progress = Math.max(0, this.progress), this.progress = Math.min(100, this.progress), this.lastProgress = this.progress, this.progress;
}, v = it, b = e = _ = w = E = N = null, y.running = !1, q = function () {
if (T.restartOnPushState) return y.restart();
}, null != window.history.pushState && (I = window.history.pushState, window.history.pushState = function () {
return q(), I.apply(window.history, arguments);
}), null != window.history.replaceState && (G = window.history.replaceState, window.history.replaceState = function () {
return q(), G.apply(window.history, arguments);
}), l = {
ajax: u,
elements: k,
document: B,
eventLag: Q
}, (x = function () {
var t, e, n, r, s, o, i, a;
for (y.sources = N = [], e = 0, r = (o = ["ajax", "elements", "document", "eventLag"]).length; e < r; e++) !1 !== T[t = o[e]] && N.push(new l[t](T[t]));
for (n = 0, s = (a = null != (i = T.extraSources) ? i : []).length; n < s; n++) C = a[n], N.push(new C(T));
return y.bar = w = new c(), E = [], _ = new v();
})(), y.stop = function () {
return y.trigger("stop"), y.running = !1, w.destroy(), b = !0, null != e && ("function" == typeof f && f(e), e = null), x();
}, y.restart = function () {
return y.trigger("restart"), y.stop(), y.start();
}, y.go = function () {
var m;
return y.running = !0, w.render(), m = P(), b = !1, e = O(function (t, e) {
w.progress;
for (var n, r, s, o, i, a, u, c, l, p, h = a = 0, f = !0, g = u = 0, d = N.length; u < d; g = ++u) for (C = N[g], i = null != E[g] ? E[g] : E[g] = [], s = c = 0, l = (r = null != (p = C.elements) ? p : [C]).length; c < l; s = ++c) o = r[s], f &= (o = null != i[s] ? i[s] : i[s] = new v(o)).done, o.done || (h++, a += o.tick(t));
return n = a / h, w.update(_.tick(t, n)), w.done() || f || b ? (w.update(100), y.trigger("done"), setTimeout(function () {
return w.finish(), y.running = !1, y.trigger("hide");
}, Math.max(T.ghostTime, Math.max(T.minTime - (P() - m), 0)))) : e();
});
}, y.start = function (t) {
d(T, t), y.running = !0;
try {
w.render();
} catch (t) {
n = t;
}
return document.querySelector(".pace") ? (y.trigger("start"), y.go()) : setTimeout(y.start, 50);
}, "function" == typeof define && define.amd ? define(function () {
return y;
}) : "object" == typeof exports ? module.exports = y : T.startOnPageLoad && y.start();
}.call(void 0);