5717 lines
254 KiB
JavaScript
Executable File
5717 lines
254 KiB
JavaScript
Executable File
/*!
|
||
* Materialize v1.0.0 (http://materializecss.com)
|
||
* Copyright 2014-2017 Materialize
|
||
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
||
*/
|
||
var _get = function t(e, i, n) {
|
||
null === e && (e = Function.prototype);
|
||
var s = Object.getOwnPropertyDescriptor(e, i);
|
||
if (void 0 === s) {
|
||
var o = Object.getPrototypeOf(e);
|
||
return null === o ? void 0 : t(o, i, n)
|
||
}
|
||
if ("value" in s) return s.value;
|
||
var a = s.get;
|
||
return void 0 !== a ? a.call(n) : void 0
|
||
},
|
||
_createClass = function() {
|
||
function n(t, e) {
|
||
for (var i = 0; i < e.length; i++) {
|
||
var n = e[i];
|
||
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n)
|
||
}
|
||
}
|
||
return function(t, e, i) {
|
||
return e && n(t.prototype, e), i && n(t, i), t
|
||
}
|
||
}();
|
||
|
||
function _possibleConstructorReturn(t, e) {
|
||
if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
||
return !e || "object" != typeof e && "function" != typeof e ? t : e
|
||
}
|
||
|
||
function _inherits(t, e) {
|
||
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
|
||
t.prototype = Object.create(e && e.prototype, {
|
||
constructor: {
|
||
value: t,
|
||
enumerable: !1,
|
||
writable: !0,
|
||
configurable: !0
|
||
}
|
||
}), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
|
||
}
|
||
|
||
function _classCallCheck(t, e) {
|
||
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
||
}
|
||
window.cash = function() {
|
||
var i, o = document,
|
||
a = window,
|
||
t = Array.prototype,
|
||
r = t.slice,
|
||
n = t.filter,
|
||
s = t.push,
|
||
e = function() {},
|
||
h = function(t) {
|
||
return typeof t == typeof e && t.call
|
||
},
|
||
d = function(t) {
|
||
return "string" == typeof t
|
||
},
|
||
l = /^#[\w-]*$/,
|
||
u = /^\.[\w-]*$/,
|
||
c = /<.+>/,
|
||
p = /^\w+$/;
|
||
|
||
function v(t, e) {
|
||
e = e || o;
|
||
var i = u.test(t) ? e.getElementsByClassName(t.slice(1)) : p.test(t) ? e.getElementsByTagName(t) : e.querySelectorAll(t);
|
||
return i
|
||
}
|
||
|
||
function f(t) {
|
||
if (!i) {
|
||
var e = (i = o.implementation.createHTMLDocument(null)).createElement("base");
|
||
e.href = o.location.href, i.head.appendChild(e)
|
||
}
|
||
return i.body.innerHTML = t, i.body.childNodes
|
||
}
|
||
|
||
function m(t) {
|
||
"loading" !== o.readyState ? t() : o.addEventListener("DOMContentLoaded", t)
|
||
}
|
||
|
||
function g(t, e) {
|
||
if (!t) return this;
|
||
if (t.cash && t !== a) return t;
|
||
var i, n = t,
|
||
s = 0;
|
||
if (d(t)) n = l.test(t) ? o.getElementById(t.slice(1)) : c.test(t) ? f(t) : v(t, e);
|
||
else if (h(t)) return m(t), this;
|
||
if (!n) return this;
|
||
if (n.nodeType || n === a) this[0] = n, this.length = 1;
|
||
else
|
||
for (i = this.length = n.length; s < i; s++) this[s] = n[s];
|
||
return this
|
||
}
|
||
|
||
function _(t, e) {
|
||
return new g(t, e)
|
||
}
|
||
var y = _.fn = _.prototype = g.prototype = {
|
||
cash: !0,
|
||
length: 0,
|
||
push: s,
|
||
splice: t.splice,
|
||
map: t.map,
|
||
init: g
|
||
};
|
||
|
||
function k(t, e) {
|
||
for (var i = t.length, n = 0; n < i && !1 !== e.call(t[n], t[n], n, t); n++);
|
||
}
|
||
|
||
function b(t, e) {
|
||
var i = t && (t.matches || t.webkitMatchesSelector || t.mozMatchesSelector || t.msMatchesSelector || t.oMatchesSelector);
|
||
return !!i && i.call(t, e)
|
||
}
|
||
|
||
function w(e) {
|
||
return d(e) ? b : e.cash ? function(t) {
|
||
return e.is(t)
|
||
} : function(t, e) {
|
||
return t === e
|
||
}
|
||
}
|
||
|
||
function C(t) {
|
||
return _(r.call(t).filter(function(t, e, i) {
|
||
return i.indexOf(t) === e
|
||
}))
|
||
}
|
||
Object.defineProperty(y, "constructor", {
|
||
value: _
|
||
}), _.parseHTML = f, _.noop = e, _.isFunction = h, _.isString = d, _.extend = y.extend = function(t) {
|
||
t = t || {};
|
||
var e = r.call(arguments),
|
||
i = e.length,
|
||
n = 1;
|
||
for (1 === e.length && (t = this, n = 0); n < i; n++)
|
||
if (e[n])
|
||
for (var s in e[n]) e[n].hasOwnProperty(s) && (t[s] = e[n][s]);
|
||
return t
|
||
}, _.extend({
|
||
merge: function(t, e) {
|
||
for (var i = +e.length, n = t.length, s = 0; s < i; n++, s++) t[n] = e[s];
|
||
return t.length = n, t
|
||
},
|
||
each: k,
|
||
matches: b,
|
||
unique: C,
|
||
isArray: Array.isArray,
|
||
isNumeric: function(t) {
|
||
return !isNaN(parseFloat(t)) && isFinite(t)
|
||
}
|
||
});
|
||
var E = _.uid = "_cash" + Date.now();
|
||
|
||
function M(t) {
|
||
return t[E] = t[E] || {}
|
||
}
|
||
|
||
function O(t, e, i) {
|
||
return M(t)[e] = i
|
||
}
|
||
|
||
function x(t, e) {
|
||
var i = M(t);
|
||
return void 0 === i[e] && (i[e] = t.dataset ? t.dataset[e] : _(t).attr("data-" + e)), i[e]
|
||
}
|
||
y.extend({
|
||
data: function(e, i) {
|
||
if (d(e)) return void 0 === i ? x(this[0], e) : this.each(function(t) {
|
||
return O(t, e, i)
|
||
});
|
||
for (var t in e) this.data(t, e[t]);
|
||
return this
|
||
},
|
||
removeData: function(s) {
|
||
return this.each(function(t) {
|
||
return i = s, void((n = M(e = t)) ? delete n[i] : e.dataset ? delete e.dataset[i] : _(e).removeAttr("data-" + name));
|
||
var e, i, n
|
||
})
|
||
}
|
||
});
|
||
var L = /\S+/g;
|
||
|
||
function T(t) {
|
||
return d(t) && t.match(L)
|
||
}
|
||
|
||
function $(t, e) {
|
||
return t.classList ? t.classList.contains(e) : new RegExp("(^| )" + e + "( |$)", "gi").test(t.className)
|
||
}
|
||
|
||
function B(t, e, i) {
|
||
t.classList ? t.classList.add(e) : i.indexOf(" " + e + " ") && (t.className += " " + e)
|
||
}
|
||
|
||
function D(t, e) {
|
||
t.classList ? t.classList.remove(e) : t.className = t.className.replace(e, "")
|
||
}
|
||
y.extend({
|
||
addClass: function(t) {
|
||
var n = T(t);
|
||
return n ? this.each(function(e) {
|
||
var i = " " + e.className + " ";
|
||
k(n, function(t) {
|
||
B(e, t, i)
|
||
})
|
||
}) : this
|
||
},
|
||
attr: function(e, i) {
|
||
if (e) {
|
||
if (d(e)) return void 0 === i ? this[0] ? this[0].getAttribute ? this[0].getAttribute(e) : this[0][e] : void 0 : this.each(function(t) {
|
||
t.setAttribute ? t.setAttribute(e, i) : t[e] = i
|
||
});
|
||
for (var t in e) this.attr(t, e[t]);
|
||
return this
|
||
}
|
||
},
|
||
hasClass: function(t) {
|
||
var e = !1,
|
||
i = T(t);
|
||
return i && i.length && this.each(function(t) {
|
||
return !(e = $(t, i[0]))
|
||
}), e
|
||
},
|
||
prop: function(e, i) {
|
||
if (d(e)) return void 0 === i ? this[0][e] : this.each(function(t) {
|
||
t[e] = i
|
||
});
|
||
for (var t in e) this.prop(t, e[t]);
|
||
return this
|
||
},
|
||
removeAttr: function(e) {
|
||
return this.each(function(t) {
|
||
t.removeAttribute ? t.removeAttribute(e) : delete t[e]
|
||
})
|
||
},
|
||
removeClass: function(t) {
|
||
if (!arguments.length) return this.attr("class", "");
|
||
var i = T(t);
|
||
return i ? this.each(function(e) {
|
||
k(i, function(t) {
|
||
D(e, t)
|
||
})
|
||
}) : this
|
||
},
|
||
removeProp: function(e) {
|
||
return this.each(function(t) {
|
||
delete t[e]
|
||
})
|
||
},
|
||
toggleClass: function(t, e) {
|
||
if (void 0 !== e) return this[e ? "addClass" : "removeClass"](t);
|
||
var n = T(t);
|
||
return n ? this.each(function(e) {
|
||
var i = " " + e.className + " ";
|
||
k(n, function(t) {
|
||
$(e, t) ? D(e, t) : B(e, t, i)
|
||
})
|
||
}) : this
|
||
}
|
||
}), y.extend({
|
||
add: function(t, e) {
|
||
return C(_.merge(this, _(t, e)))
|
||
},
|
||
each: function(t) {
|
||
return k(this, t), this
|
||
},
|
||
eq: function(t) {
|
||
return _(this.get(t))
|
||
},
|
||
filter: function(e) {
|
||
if (!e) return this;
|
||
var i = h(e) ? e : w(e);
|
||
return _(n.call(this, function(t) {
|
||
return i(t, e)
|
||
}))
|
||
},
|
||
first: function() {
|
||
return this.eq(0)
|
||
},
|
||
get: function(t) {
|
||
return void 0 === t ? r.call(this) : t < 0 ? this[t + this.length] : this[t]
|
||
},
|
||
index: function(t) {
|
||
var e = t ? _(t)[0] : this[0],
|
||
i = t ? this : _(e).parent().children();
|
||
return r.call(i).indexOf(e)
|
||
},
|
||
last: function() {
|
||
return this.eq(-1)
|
||
}
|
||
});
|
||
var S, I, A, R, H, P, W = (H = /(?:^\w|[A-Z]|\b\w)/g, P = /[\s-_]+/g, function(t) {
|
||
return t.replace(H, function(t, e) {
|
||
return t[0 === e ? "toLowerCase" : "toUpperCase"]()
|
||
}).replace(P, "")
|
||
}),
|
||
j = (S = {}, I = document, A = I.createElement("div"), R = A.style, function(e) {
|
||
if (e = W(e), S[e]) return S[e];
|
||
var t = e.charAt(0).toUpperCase() + e.slice(1),
|
||
i = (e + " " + ["webkit", "moz", "ms", "o"].join(t + " ") + t).split(" ");
|
||
return k(i, function(t) {
|
||
if (t in R) return S[t] = e = S[e] = t, !1
|
||
}), S[e]
|
||
});
|
||
|
||
function F(t, e) {
|
||
return parseInt(a.getComputedStyle(t[0], null)[e], 10) || 0
|
||
}
|
||
|
||
function q(e, i, t) {
|
||
var n, s = x(e, "_cashEvents"),
|
||
o = s && s[i];
|
||
o && (t ? (e.removeEventListener(i, t), 0 <= (n = o.indexOf(t)) && o.splice(n, 1)) : (k(o, function(t) {
|
||
e.removeEventListener(i, t)
|
||
}), o = []))
|
||
}
|
||
|
||
function N(t, e) {
|
||
return "&" + encodeURIComponent(t) + "=" + encodeURIComponent(e).replace(/%20/g, "+")
|
||
}
|
||
|
||
function z(t) {
|
||
var e, i, n, s = t.type;
|
||
if (!s) return null;
|
||
switch (s.toLowerCase()) {
|
||
case "select-one":
|
||
return 0 <= (n = (i = t).selectedIndex) ? i.options[n].value : null;
|
||
case "select-multiple":
|
||
return e = [], k(t.options, function(t) {
|
||
t.selected && e.push(t.value)
|
||
}), e.length ? e : null;
|
||
case "radio":
|
||
case "checkbox":
|
||
return t.checked ? t.value : null;
|
||
default:
|
||
return t.value ? t.value : null
|
||
}
|
||
}
|
||
|
||
function V(e, i, n) {
|
||
var t = d(i);
|
||
t || !i.length ? k(e, t ? function(t) {
|
||
return t.insertAdjacentHTML(n ? "afterbegin" : "beforeend", i)
|
||
} : function(t, e) {
|
||
return function(t, e, i) {
|
||
if (i) {
|
||
var n = t.childNodes[0];
|
||
t.insertBefore(e, n)
|
||
} else t.appendChild(e)
|
||
}(t, 0 === e ? i : i.cloneNode(!0), n)
|
||
}) : k(i, function(t) {
|
||
return V(e, t, n)
|
||
})
|
||
}
|
||
_.prefixedProp = j, _.camelCase = W, y.extend({
|
||
css: function(e, i) {
|
||
if (d(e)) return e = j(e), 1 < arguments.length ? this.each(function(t) {
|
||
return t.style[e] = i
|
||
}) : a.getComputedStyle(this[0])[e];
|
||
for (var t in e) this.css(t, e[t]);
|
||
return this
|
||
}
|
||
}), k(["Width", "Height"], function(e) {
|
||
var t = e.toLowerCase();
|
||
y[t] = function() {
|
||
return this[0].getBoundingClientRect()[t]
|
||
}, y["inner" + e] = function() {
|
||
return this[0]["client" + e]
|
||
}, y["outer" + e] = function(t) {
|
||
return this[0]["offset" + e] + (t ? F(this, "margin" + ("Width" === e ? "Left" : "Top")) + F(this, "margin" + ("Width" === e ? "Right" : "Bottom")) : 0)
|
||
}
|
||
}), y.extend({
|
||
off: function(e, i) {
|
||
return this.each(function(t) {
|
||
return q(t, e, i)
|
||
})
|
||
},
|
||
on: function(a, i, r, l) {
|
||
var n;
|
||
if (!d(a)) {
|
||
for (var t in a) this.on(t, i, a[t]);
|
||
return this
|
||
}
|
||
return h(i) && (r = i, i = null), "ready" === a ? (m(r), this) : (i && (n = r, r = function(t) {
|
||
for (var e = t.target; !b(e, i);) {
|
||
if (e === this || null === e) return e = !1;
|
||
e = e.parentNode
|
||
}
|
||
e && n.call(e, t)
|
||
}), this.each(function(t) {
|
||
var e, i, n, s, o = r;
|
||
l && (o = function() {
|
||
r.apply(this, arguments), q(t, a, o)
|
||
}), i = a, n = o, (s = x(e = t, "_cashEvents") || O(e, "_cashEvents", {}))[i] = s[i] || [], s[i].push(n), e.addEventListener(i, n)
|
||
}))
|
||
},
|
||
one: function(t, e, i) {
|
||
return this.on(t, e, i, !0)
|
||
},
|
||
ready: m,
|
||
trigger: function(t, e) {
|
||
if (document.createEvent) {
|
||
var i = document.createEvent("HTMLEvents");
|
||
return i.initEvent(t, !0, !1), i = this.extend(i, e), this.each(function(t) {
|
||
return t.dispatchEvent(i)
|
||
})
|
||
}
|
||
}
|
||
}), y.extend({
|
||
serialize: function() {
|
||
var s = "";
|
||
return k(this[0].elements || this, function(t) {
|
||
if (!t.disabled && "FIELDSET" !== t.tagName) {
|
||
var e = t.name;
|
||
switch (t.type.toLowerCase()) {
|
||
case "file":
|
||
case "reset":
|
||
case "submit":
|
||
case "button":
|
||
break;
|
||
case "select-multiple":
|
||
var i = z(t);
|
||
null !== i && k(i, function(t) {
|
||
s += N(e, t)
|
||
});
|
||
break;
|
||
default:
|
||
var n = z(t);
|
||
null !== n && (s += N(e, n))
|
||
}
|
||
}
|
||
}), s.substr(1)
|
||
},
|
||
val: function(e) {
|
||
return void 0 === e ? z(this[0]) : this.each(function(t) {
|
||
return t.value = e
|
||
})
|
||
}
|
||
}), y.extend({
|
||
after: function(t) {
|
||
return _(t).insertAfter(this), this
|
||
},
|
||
append: function(t) {
|
||
return V(this, t), this
|
||
},
|
||
appendTo: function(t) {
|
||
return V(_(t), this), this
|
||
},
|
||
before: function(t) {
|
||
return _(t).insertBefore(this), this
|
||
},
|
||
clone: function() {
|
||
return _(this.map(function(t) {
|
||
return t.cloneNode(!0)
|
||
}))
|
||
},
|
||
empty: function() {
|
||
return this.html(""), this
|
||
},
|
||
html: function(t) {
|
||
if (void 0 === t) return this[0].innerHTML;
|
||
var e = t.nodeType ? t[0].outerHTML : t;
|
||
return this.each(function(t) {
|
||
return t.innerHTML = e
|
||
})
|
||
},
|
||
insertAfter: function(t) {
|
||
var s = this;
|
||
return _(t).each(function(t, e) {
|
||
var i = t.parentNode,
|
||
n = t.nextSibling;
|
||
s.each(function(t) {
|
||
i.insertBefore(0 === e ? t : t.cloneNode(!0), n)
|
||
})
|
||
}), this
|
||
},
|
||
insertBefore: function(t) {
|
||
var s = this;
|
||
return _(t).each(function(e, i) {
|
||
var n = e.parentNode;
|
||
s.each(function(t) {
|
||
n.insertBefore(0 === i ? t : t.cloneNode(!0), e)
|
||
})
|
||
}), this
|
||
},
|
||
prepend: function(t) {
|
||
return V(this, t, !0), this
|
||
},
|
||
prependTo: function(t) {
|
||
return V(_(t), this, !0), this
|
||
},
|
||
remove: function() {
|
||
return this.each(function(t) {
|
||
if (t.parentNode) return t.parentNode.removeChild(t)
|
||
})
|
||
},
|
||
text: function(e) {
|
||
return void 0 === e ? this[0].textContent : this.each(function(t) {
|
||
return t.textContent = e
|
||
})
|
||
}
|
||
});
|
||
var X = o.documentElement;
|
||
return y.extend({
|
||
position: function() {
|
||
var t = this[0];
|
||
return {
|
||
left: t.offsetLeft,
|
||
top: t.offsetTop
|
||
}
|
||
},
|
||
offset: function() {
|
||
var t = this[0].getBoundingClientRect();
|
||
return {
|
||
top: t.top + a.pageYOffset - X.clientTop,
|
||
left: t.left + a.pageXOffset - X.clientLeft
|
||
}
|
||
},
|
||
offsetParent: function() {
|
||
return _(this[0].offsetParent)
|
||
}
|
||
}), y.extend({
|
||
children: function(e) {
|
||
var i = [];
|
||
return this.each(function(t) {
|
||
s.apply(i, t.children)
|
||
}), i = C(i), e ? i.filter(function(t) {
|
||
return b(t, e)
|
||
}) : i
|
||
},
|
||
closest: function(t) {
|
||
return !t || this.length < 1 ? _() : this.is(t) ? this.filter(t) : this.parent().closest(t)
|
||
},
|
||
is: function(e) {
|
||
if (!e) return !1;
|
||
var i = !1,
|
||
n = w(e);
|
||
return this.each(function(t) {
|
||
return !(i = n(t, e))
|
||
}), i
|
||
},
|
||
find: function(e) {
|
||
if (!e || e.nodeType) return _(e && this.has(e).length ? e : null);
|
||
var i = [];
|
||
return this.each(function(t) {
|
||
s.apply(i, v(e, t))
|
||
}), C(i)
|
||
},
|
||
has: function(e) {
|
||
var t = d(e) ? function(t) {
|
||
return 0 !== v(e, t).length
|
||
} : function(t) {
|
||
return t.contains(e)
|
||
};
|
||
return this.filter(t)
|
||
},
|
||
next: function() {
|
||
return _(this[0].nextElementSibling)
|
||
},
|
||
not: function(e) {
|
||
if (!e) return this;
|
||
var i = w(e);
|
||
return this.filter(function(t) {
|
||
return !i(t, e)
|
||
})
|
||
},
|
||
parent: function() {
|
||
var e = [];
|
||
return this.each(function(t) {
|
||
t && t.parentNode && e.push(t.parentNode)
|
||
}), C(e)
|
||
},
|
||
parents: function(e) {
|
||
var i, n = [];
|
||
return this.each(function(t) {
|
||
for (i = t; i && i.parentNode && i !== o.body.parentNode;) i = i.parentNode, (!e || e && b(i, e)) && n.push(i)
|
||
}), C(n)
|
||
},
|
||
prev: function() {
|
||
return _(this[0].previousElementSibling)
|
||
},
|
||
siblings: function(t) {
|
||
var e = this.parent().children(t),
|
||
i = this[0];
|
||
return e.filter(function(t) {
|
||
return t !== i
|
||
})
|
||
}
|
||
}), _
|
||
}();
|
||
var Component = function() {
|
||
function s(t, e, i) {
|
||
_classCallCheck(this, s), e instanceof Element || console.error(Error(e + " is not an HTML Element"));
|
||
var n = t.getInstance(e);
|
||
n && n.destroy(), this.el = e, this.$el = cash(e)
|
||
}
|
||
return _createClass(s, null, [{
|
||
key: "init",
|
||
value: function(t, e, i) {
|
||
var n = null;
|
||
if (e instanceof Element) n = new t(e, i);
|
||
else if (e && (e.jquery || e.cash || e instanceof NodeList)) {
|
||
for (var s = [], o = 0; o < e.length; o++) s.push(new t(e[o], i));
|
||
n = s
|
||
}
|
||
return n
|
||
}
|
||
}]), s
|
||
}();
|
||
! function(t) {
|
||
t.Package ? M = {} : t.M = {}, M.jQueryLoaded = !!t.jQuery
|
||
}(window), "function" == typeof define && define.amd ? define("M", [], function() {
|
||
return M
|
||
}) : "undefined" == typeof exports || exports.nodeType || ("undefined" != typeof module && !module.nodeType && module.exports && (exports = module.exports = M), exports.default = M), M.version = "1.0.0", M.keys = {
|
||
TAB: 9,
|
||
ENTER: 13,
|
||
ESC: 27,
|
||
ARROW_UP: 38,
|
||
ARROW_DOWN: 40
|
||
}, M.tabPressed = !1, M.keyDown = !1;
|
||
var docHandleKeydown = function(t) {
|
||
M.keyDown = !0, t.which !== M.keys.TAB && t.which !== M.keys.ARROW_DOWN && t.which !== M.keys.ARROW_UP || (M.tabPressed = !0)
|
||
},
|
||
docHandleKeyup = function(t) {
|
||
M.keyDown = !1, t.which !== M.keys.TAB && t.which !== M.keys.ARROW_DOWN && t.which !== M.keys.ARROW_UP || (M.tabPressed = !1)
|
||
},
|
||
docHandleFocus = function(t) {
|
||
M.keyDown && document.body.classList.add("keyboard-focused")
|
||
},
|
||
docHandleBlur = function(t) {
|
||
document.body.classList.remove("keyboard-focused")
|
||
};
|
||
document.addEventListener("keydown", docHandleKeydown, !0), document.addEventListener("keyup", docHandleKeyup, !0), document.addEventListener("focus", docHandleFocus, !0), document.addEventListener("blur", docHandleBlur, !0), M.initializeJqueryWrapper = function(n, s, o) {
|
||
jQuery.fn[s] = function(e) {
|
||
if (n.prototype[e]) {
|
||
var i = Array.prototype.slice.call(arguments, 1);
|
||
if ("get" === e.slice(0, 3)) {
|
||
var t = this.first()[0][o];
|
||
return t[e].apply(t, i)
|
||
}
|
||
return this.each(function() {
|
||
var t = this[o];
|
||
t[e].apply(t, i)
|
||
})
|
||
}
|
||
if ("object" == typeof e || !e) return n.init(this, e), this;
|
||
jQuery.error("Method " + e + " does not exist on jQuery." + s)
|
||
}
|
||
}, M.AutoInit = function(t) {
|
||
var e = t || document.body,
|
||
i = {
|
||
Autocomplete: e.querySelectorAll(".autocomplete:not(.no-autoinit)"),
|
||
Carousel: e.querySelectorAll(".carousel:not(.no-autoinit)"),
|
||
Chips: e.querySelectorAll(".chips:not(.no-autoinit)"),
|
||
Collapsible: e.querySelectorAll(".collapsible:not(.no-autoinit)"),
|
||
Datepicker: e.querySelectorAll(".datepicker:not(.no-autoinit)"),
|
||
Dropdown: e.querySelectorAll(".dropdown-trigger:not(.no-autoinit)"),
|
||
Materialbox: e.querySelectorAll(".materialboxed:not(.no-autoinit)"),
|
||
Modal: e.querySelectorAll(".modal:not(.no-autoinit)"),
|
||
Parallax: e.querySelectorAll(".parallax:not(.no-autoinit)"),
|
||
Pushpin: e.querySelectorAll(".pushpin:not(.no-autoinit)"),
|
||
ScrollSpy: e.querySelectorAll(".scrollspy:not(.no-autoinit)"),
|
||
FormSelect: e.querySelectorAll("select:not(.no-autoinit)"),
|
||
Sidenav: e.querySelectorAll(".sidenav:not(.no-autoinit)"),
|
||
Tabs: e.querySelectorAll(".tabs:not(.no-autoinit)"),
|
||
TapTarget: e.querySelectorAll(".tap-target:not(.no-autoinit)"),
|
||
Timepicker: e.querySelectorAll(".timepicker:not(.no-autoinit)"),
|
||
Tooltip: e.querySelectorAll(".tooltipped:not(.no-autoinit)"),
|
||
FloatingActionButton: e.querySelectorAll(".fixed-action-btn:not(.no-autoinit)")
|
||
};
|
||
for (var n in i) {
|
||
M[n].init(i[n])
|
||
}
|
||
}, M.objectSelectorString = function(t) {
|
||
return ((t.prop("tagName") || "") + (t.attr("id") || "") + (t.attr("class") || "")).replace(/\s/g, "")
|
||
}, M.guid = function() {
|
||
function t() {
|
||
return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1)
|
||
}
|
||
return function() {
|
||
return t() + t() + "-" + t() + "-" + t() + "-" + t() + "-" + t() + t() + t()
|
||
}
|
||
}(), M.escapeHash = function(t) {
|
||
return t.replace(/(:|\.|\[|\]|,|=|\/)/g, "\\$1")
|
||
}, M.elementOrParentIsFixed = function(t) {
|
||
var e = $(t),
|
||
i = e.add(e.parents()),
|
||
n = !1;
|
||
return i.each(function() {
|
||
if ("fixed" === $(this).css("position")) return !(n = !0)
|
||
}), n
|
||
}, M.checkWithinContainer = function(t, e, i) {
|
||
var n = {
|
||
top: !1,
|
||
right: !1,
|
||
bottom: !1,
|
||
left: !1
|
||
},
|
||
s = t.getBoundingClientRect(),
|
||
o = t === document.body ? Math.max(s.bottom, window.innerHeight) : s.bottom,
|
||
a = t.scrollLeft,
|
||
r = t.scrollTop,
|
||
l = e.left - a,
|
||
h = e.top - r;
|
||
return (l < s.left + i || l < i) && (n.left = !0), (l + e.width > s.right - i || l + e.width > window.innerWidth - i) && (n.right = !0), (h < s.top + i || h < i) && (n.top = !0), (h + e.height > o - i || h + e.height > window.innerHeight - i) && (n.bottom = !0), n
|
||
}, M.checkPossibleAlignments = function(t, e, i, n) {
|
||
var s = {
|
||
top: !0,
|
||
right: !0,
|
||
bottom: !0,
|
||
left: !0,
|
||
spaceOnTop: null,
|
||
spaceOnRight: null,
|
||
spaceOnBottom: null,
|
||
spaceOnLeft: null
|
||
},
|
||
o = "visible" === getComputedStyle(e).overflow,
|
||
a = e.getBoundingClientRect(),
|
||
r = Math.min(a.height, window.innerHeight),
|
||
l = Math.min(a.width, window.innerWidth),
|
||
h = t.getBoundingClientRect(),
|
||
d = e.scrollLeft,
|
||
u = e.scrollTop,
|
||
c = i.left - d,
|
||
p = i.top - u,
|
||
v = i.top + h.height - u;
|
||
return s.spaceOnRight = o ? window.innerWidth - (h.left + i.width) : l - (c + i.width), s.spaceOnRight < 0 && (s.left = !1), s.spaceOnLeft = o ? h.right - i.width : c - i.width + h.width, s.spaceOnLeft < 0 && (s.right = !1), s.spaceOnBottom = o ? window.innerHeight - (h.top + i.height + n) : r - (p + i.height + n), s.spaceOnBottom < 0 && (s.top = !1), s.spaceOnTop = o ? h.bottom - (i.height + n) : v - (i.height - n), s.spaceOnTop < 0 && (s.bottom = !1), s
|
||
}, M.getOverflowParent = function(t) {
|
||
return null == t ? null : t === document.body || "visible" !== getComputedStyle(t).overflow ? t : M.getOverflowParent(t.parentElement)
|
||
}, M.getIdFromTrigger = function(t) {
|
||
var e = t.getAttribute("data-target");
|
||
return e || (e = (e = t.getAttribute("href")) ? e.slice(1) : ""), e
|
||
}, M.getDocumentScrollTop = function() {
|
||
return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
|
||
}, M.getDocumentScrollLeft = function() {
|
||
return window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0
|
||
};
|
||
var getTime = Date.now || function() {
|
||
return (new Date).getTime()
|
||
};
|
||
M.throttle = function(i, n, s) {
|
||
var o = void 0,
|
||
a = void 0,
|
||
r = void 0,
|
||
l = null,
|
||
h = 0;
|
||
s || (s = {});
|
||
var d = function() {
|
||
h = !1 === s.leading ? 0 : getTime(), l = null, r = i.apply(o, a), o = a = null
|
||
};
|
||
return function() {
|
||
var t = getTime();
|
||
h || !1 !== s.leading || (h = t);
|
||
var e = n - (t - h);
|
||
return o = this, a = arguments, e <= 0 ? (clearTimeout(l), l = null, h = t, r = i.apply(o, a), o = a = null) : l || !1 === s.trailing || (l = setTimeout(d, e)), r
|
||
}
|
||
};
|
||
var $jscomp = {
|
||
scope: {}
|
||
};
|
||
$jscomp.defineProperty = "function" == typeof Object.defineProperties ? Object.defineProperty : function(t, e, i) {
|
||
if (i.get || i.set) throw new TypeError("ES3 does not support getters and setters.");
|
||
t != Array.prototype && t != Object.prototype && (t[e] = i.value)
|
||
}, $jscomp.getGlobal = function(t) {
|
||
return "undefined" != typeof window && window === t ? t : "undefined" != typeof global && null != global ? global : t
|
||
}, $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(t) {
|
||
return $jscomp.SYMBOL_PREFIX + (t || "") + $jscomp.symbolCounter_++
|
||
}, $jscomp.initSymbolIterator = function() {
|
||
$jscomp.initSymbol();
|
||
var t = $jscomp.global.Symbol.iterator;
|
||
t || (t = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator")), "function" != typeof Array.prototype[t] && $jscomp.defineProperty(Array.prototype, t, {
|
||
configurable: !0,
|
||
writable: !0,
|
||
value: function() {
|
||
return $jscomp.arrayIterator(this)
|
||
}
|
||
}), $jscomp.initSymbolIterator = function() {}
|
||
}, $jscomp.arrayIterator = function(t) {
|
||
var e = 0;
|
||
return $jscomp.iteratorPrototype(function() {
|
||
return e < t.length ? {
|
||
done: !1,
|
||
value: t[e++]
|
||
} : {
|
||
done: !0
|
||
}
|
||
})
|
||
}, $jscomp.iteratorPrototype = function(t) {
|
||
return $jscomp.initSymbolIterator(), (t = {
|
||
next: t
|
||
})[$jscomp.global.Symbol.iterator] = function() {
|
||
return this
|
||
}, t
|
||
}, $jscomp.array = $jscomp.array || {}, $jscomp.iteratorFromArray = function(e, i) {
|
||
$jscomp.initSymbolIterator(), e instanceof String && (e += "");
|
||
var n = 0,
|
||
s = {
|
||
next: function() {
|
||
if (n < e.length) {
|
||
var t = n++;
|
||
return {
|
||
value: i(t, e[t]),
|
||
done: !1
|
||
}
|
||
}
|
||
return s.next = function() {
|
||
return {
|
||
done: !0,
|
||
value: void 0
|
||
}
|
||
}, s.next()
|
||
}
|
||
};
|
||
return s[Symbol.iterator] = function() {
|
||
return s
|
||
}, s
|
||
}, $jscomp.polyfill = function(t, e, i, n) {
|
||
if (e) {
|
||
for (i = $jscomp.global, t = t.split("."), n = 0; n < t.length - 1; n++) {
|
||
var s = t[n];
|
||
s in i || (i[s] = {}), i = i[s]
|
||
}(e = e(n = i[t = t[t.length - 1]])) != n && null != e && $jscomp.defineProperty(i, t, {
|
||
configurable: !0,
|
||
writable: !0,
|
||
value: e
|
||
})
|
||
}
|
||
}, $jscomp.polyfill("Array.prototype.keys", function(t) {
|
||
return t || function() {
|
||
return $jscomp.iteratorFromArray(this, function(t) {
|
||
return t
|
||
})
|
||
}
|
||
}, "es6-impl", "es3");
|
||
var $jscomp$this = this;
|
||
M.anime = function() {
|
||
function s(t) {
|
||
if (!B.col(t)) try {
|
||
return document.querySelectorAll(t)
|
||
} catch (t) {}
|
||
}
|
||
|
||
function b(t, e) {
|
||
for (var i = t.length, n = 2 <= arguments.length ? e : void 0, s = [], o = 0; o < i; o++)
|
||
if (o in t) {
|
||
var a = t[o];
|
||
e.call(n, a, o, t) && s.push(a)
|
||
} return s
|
||
}
|
||
|
||
function d(t) {
|
||
return t.reduce(function(t, e) {
|
||
return t.concat(B.arr(e) ? d(e) : e)
|
||
}, [])
|
||
}
|
||
|
||
function o(t) {
|
||
return B.arr(t) ? t : (B.str(t) && (t = s(t) || t), t instanceof NodeList || t instanceof HTMLCollection ? [].slice.call(t) : [t])
|
||
}
|
||
|
||
function a(t, e) {
|
||
return t.some(function(t) {
|
||
return t === e
|
||
})
|
||
}
|
||
|
||
function r(t) {
|
||
var e, i = {};
|
||
for (e in t) i[e] = t[e];
|
||
return i
|
||
}
|
||
|
||
function u(t, e) {
|
||
var i, n = r(t);
|
||
for (i in t) n[i] = e.hasOwnProperty(i) ? e[i] : t[i];
|
||
return n
|
||
}
|
||
|
||
function c(t, e) {
|
||
var i, n = r(t);
|
||
for (i in e) n[i] = B.und(t[i]) ? e[i] : t[i];
|
||
return n
|
||
}
|
||
|
||
function l(t) {
|
||
if (t = /([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t)) return t[2]
|
||
}
|
||
|
||
function h(t, e) {
|
||
return B.fnc(t) ? t(e.target, e.id, e.total) : t
|
||
}
|
||
|
||
function w(t, e) {
|
||
if (e in t.style) return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()) || "0"
|
||
}
|
||
|
||
function p(t, e) {
|
||
return B.dom(t) && a($, e) ? "transform" : B.dom(t) && (t.getAttribute(e) || B.svg(t) && t[e]) ? "attribute" : B.dom(t) && "transform" !== e && w(t, e) ? "css" : null != t[e] ? "object" : void 0
|
||
}
|
||
|
||
function v(t, e) {
|
||
switch (p(t, e)) {
|
||
case "transform":
|
||
return function(t, i) {
|
||
var e, n = -1 < (e = i).indexOf("translate") || "perspective" === e ? "px" : -1 < e.indexOf("rotate") || -1 < e.indexOf("skew") ? "deg" : void 0,
|
||
n = -1 < i.indexOf("scale") ? 1 : 0 + n;
|
||
if (!(t = t.style.transform)) return n;
|
||
for (var s = [], o = [], a = [], r = /(\w+)\((.+?)\)/g; s = r.exec(t);) o.push(s[1]), a.push(s[2]);
|
||
return (t = b(a, function(t, e) {
|
||
return o[e] === i
|
||
})).length ? t[0] : n
|
||
}(t, e);
|
||
case "css":
|
||
return w(t, e);
|
||
case "attribute":
|
||
return t.getAttribute(e)
|
||
}
|
||
return t[e] || 0
|
||
}
|
||
|
||
function f(t, e) {
|
||
var i = /^(\*=|\+=|-=)/.exec(t);
|
||
if (!i) return t;
|
||
var n = l(t) || 0;
|
||
switch (e = parseFloat(e), t = parseFloat(t.replace(i[0], "")), i[0][0]) {
|
||
case "+":
|
||
return e + t + n;
|
||
case "-":
|
||
return e - t + n;
|
||
case "*":
|
||
return e * t + n
|
||
}
|
||
}
|
||
|
||
function m(t, e) {
|
||
return Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2))
|
||
}
|
||
|
||
function i(t) {
|
||
t = t.points;
|
||
for (var e, i = 0, n = 0; n < t.numberOfItems; n++) {
|
||
var s = t.getItem(n);
|
||
0 < n && (i += m(e, s)), e = s
|
||
}
|
||
return i
|
||
}
|
||
|
||
function g(t) {
|
||
if (t.getTotalLength) return t.getTotalLength();
|
||
switch (t.tagName.toLowerCase()) {
|
||
case "circle":
|
||
return 2 * Math.PI * t.getAttribute("r");
|
||
case "rect":
|
||
return 2 * t.getAttribute("width") + 2 * t.getAttribute("height");
|
||
case "line":
|
||
return m({
|
||
x: t.getAttribute("x1"),
|
||
y: t.getAttribute("y1")
|
||
}, {
|
||
x: t.getAttribute("x2"),
|
||
y: t.getAttribute("y2")
|
||
});
|
||
case "polyline":
|
||
return i(t);
|
||
case "polygon":
|
||
var e = t.points;
|
||
return i(t) + m(e.getItem(e.numberOfItems - 1), e.getItem(0))
|
||
}
|
||
}
|
||
|
||
function C(e, i) {
|
||
function t(t) {
|
||
return t = void 0 === t ? 0 : t, e.el.getPointAtLength(1 <= i + t ? i + t : 0)
|
||
}
|
||
var n = t(),
|
||
s = t(-1),
|
||
o = t(1);
|
||
switch (e.property) {
|
||
case "x":
|
||
return n.x;
|
||
case "y":
|
||
return n.y;
|
||
case "angle":
|
||
return 180 * Math.atan2(o.y - s.y, o.x - s.x) / Math.PI
|
||
}
|
||
}
|
||
|
||
function _(t, e) {
|
||
var i, n = /-?\d*\.?\d+/g;
|
||
if (i = B.pth(t) ? t.totalLength : t, B.col(i))
|
||
if (B.rgb(i)) {
|
||
var s = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(i);
|
||
i = s ? "rgba(" + s[1] + ",1)" : i
|
||
} else i = B.hex(i) ? function(t) {
|
||
t = t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function(t, e, i, n) {
|
||
return e + e + i + i + n + n
|
||
});
|
||
var e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);
|
||
t = parseInt(e[1], 16);
|
||
var i = parseInt(e[2], 16),
|
||
e = parseInt(e[3], 16);
|
||
return "rgba(" + t + "," + i + "," + e + ",1)"
|
||
}(i) : B.hsl(i) ? function(t) {
|
||
function e(t, e, i) {
|
||
return i < 0 && (i += 1), 1 < i && --i, i < 1 / 6 ? t + 6 * (e - t) * i : i < .5 ? e : i < 2 / 3 ? t + (e - t) * (2 / 3 - i) * 6 : t
|
||
}
|
||
var i = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);
|
||
t = parseInt(i[1]) / 360;
|
||
var n = parseInt(i[2]) / 100,
|
||
s = parseInt(i[3]) / 100,
|
||
i = i[4] || 1;
|
||
if (0 == n) s = n = t = s;
|
||
else {
|
||
var o = s < .5 ? s * (1 + n) : s + n - s * n,
|
||
a = 2 * s - o,
|
||
s = e(a, o, t + 1 / 3),
|
||
n = e(a, o, t);
|
||
t = e(a, o, t - 1 / 3)
|
||
}
|
||
return "rgba(" + 255 * s + "," + 255 * n + "," + 255 * t + "," + i + ")"
|
||
}(i) : void 0;
|
||
else s = (s = l(i)) ? i.substr(0, i.length - s.length) : i, i = e && !/\s/g.test(i) ? s + e : s;
|
||
return {
|
||
original: i += "",
|
||
numbers: i.match(n) ? i.match(n).map(Number) : [0],
|
||
strings: B.str(t) || e ? i.split(n) : []
|
||
}
|
||
}
|
||
|
||
function y(t) {
|
||
return b(t = t ? d(B.arr(t) ? t.map(o) : o(t)) : [], function(t, e, i) {
|
||
return i.indexOf(t) === e
|
||
})
|
||
}
|
||
|
||
function k(t, i) {
|
||
var e = r(i);
|
||
if (B.arr(t)) {
|
||
var n = t.length;
|
||
2 !== n || B.obj(t[0]) ? B.fnc(i.duration) || (e.duration = i.duration / n) : t = {
|
||
value: t
|
||
}
|
||
}
|
||
return o(t).map(function(t, e) {
|
||
return e = e ? 0 : i.delay, t = B.obj(t) && !B.pth(t) ? t : {
|
||
value: t
|
||
}, B.und(t.delay) && (t.delay = e), t
|
||
}).map(function(t) {
|
||
return c(t, e)
|
||
})
|
||
}
|
||
|
||
function E(o, a) {
|
||
var r;
|
||
return o.tweens.map(function(t) {
|
||
var e = (t = function(t, e) {
|
||
var i, n = {};
|
||
for (i in t) {
|
||
var s = h(t[i], e);
|
||
B.arr(s) && 1 === (s = s.map(function(t) {
|
||
return h(t, e)
|
||
})).length && (s = s[0]), n[i] = s
|
||
}
|
||
return n.duration = parseFloat(n.duration), n.delay = parseFloat(n.delay), n
|
||
}(t, a)).value,
|
||
i = v(a.target, o.name),
|
||
n = r ? r.to.original : i,
|
||
n = B.arr(e) ? e[0] : n,
|
||
s = f(B.arr(e) ? e[1] : e, n),
|
||
i = l(s) || l(n) || l(i);
|
||
return t.from = _(n, i), t.to = _(s, i), t.start = r ? r.end : o.offset, t.end = t.start + t.delay + t.duration, t.easing = function(t) {
|
||
return B.arr(t) ? D.apply(this, t) : S[t]
|
||
}(t.easing), t.elasticity = (1e3 - Math.min(Math.max(t.elasticity, 1), 999)) / 1e3, t.isPath = B.pth(e), t.isColor = B.col(t.from.original), t.isColor && (t.round = 1), r = t
|
||
})
|
||
}
|
||
|
||
function M(e, t, i, n) {
|
||
var s = "delay" === e;
|
||
return t.length ? (s ? Math.min : Math.max).apply(Math, t.map(function(t) {
|
||
return t[e]
|
||
})) : s ? n.delay : i.offset + n.delay + n.duration
|
||
}
|
||
|
||
function n(t) {
|
||
var e, i, n, s, o = u(L, t),
|
||
a = u(T, t),
|
||
r = (i = t.targets, (n = y(i)).map(function(t, e) {
|
||
return {
|
||
target: t,
|
||
id: e,
|
||
total: n.length
|
||
}
|
||
})),
|
||
l = [],
|
||
h = c(o, a);
|
||
for (e in t) h.hasOwnProperty(e) || "targets" === e || l.push({
|
||
name: e,
|
||
offset: h.offset,
|
||
tweens: k(t[e], a)
|
||
});
|
||
return s = l, t = b(d(r.map(function(n) {
|
||
return s.map(function(t) {
|
||
var e = p(n.target, t.name);
|
||
if (e) {
|
||
var i = E(t, n);
|
||
t = {
|
||
type: e,
|
||
property: t.name,
|
||
animatable: n,
|
||
tweens: i,
|
||
duration: i[i.length - 1].end,
|
||
delay: i[0].delay
|
||
}
|
||
} else t = void 0;
|
||
return t
|
||
})
|
||
})), function(t) {
|
||
return !B.und(t)
|
||
}), c(o, {
|
||
children: [],
|
||
animatables: r,
|
||
animations: t,
|
||
duration: M("duration", t, o, a),
|
||
delay: M("delay", t, o, a)
|
||
})
|
||
}
|
||
|
||
function O(t) {
|
||
function d() {
|
||
return window.Promise && new Promise(function(t) {
|
||
return _ = t
|
||
})
|
||
}
|
||
|
||
function u(t) {
|
||
return k.reversed ? k.duration - t : t
|
||
}
|
||
|
||
function c(e) {
|
||
for (var t = 0, i = {}, n = k.animations, s = n.length; t < s;) {
|
||
var o = n[t],
|
||
a = o.animatable,
|
||
r = o.tweens,
|
||
l = r.length - 1,
|
||
h = r[l];
|
||
l && (h = b(r, function(t) {
|
||
return e < t.end
|
||
})[0] || h);
|
||
for (var r = Math.min(Math.max(e - h.start - h.delay, 0), h.duration) / h.duration, d = isNaN(r) ? 1 : h.easing(r, h.elasticity), r = h.to.strings, u = h.round, l = [], c = void 0, c = h.to.numbers.length, p = 0; p < c; p++) {
|
||
var v = void 0,
|
||
v = h.to.numbers[p],
|
||
f = h.from.numbers[p],
|
||
v = h.isPath ? C(h.value, d * v) : f + d * (v - f);
|
||
u && (h.isColor && 2 < p || (v = Math.round(v * u) / u)), l.push(v)
|
||
}
|
||
if (h = r.length)
|
||
for (c = r[0], d = 0; d < h; d++) u = r[d + 1], p = l[d], isNaN(p) || (c = u ? c + (p + u) : c + (p + " "));
|
||
else c = l[0];
|
||
I[o.type](a.target, o.property, c, i, a.id), o.currentValue = c, t++
|
||
}
|
||
if (t = Object.keys(i).length)
|
||
for (n = 0; n < t; n++) x || (x = w(document.body, "transform") ? "transform" : "-webkit-transform"), k.animatables[n].target.style[x] = i[n].join(" ");
|
||
k.currentTime = e, k.progress = e / k.duration * 100
|
||
}
|
||
|
||
function p(t) {
|
||
k[t] && k[t](k)
|
||
}
|
||
|
||
function v() {
|
||
k.remaining && !0 !== k.remaining && k.remaining--
|
||
}
|
||
|
||
function e(t) {
|
||
var e = k.duration,
|
||
i = k.offset,
|
||
n = i + k.delay,
|
||
s = k.currentTime,
|
||
o = k.reversed,
|
||
a = u(t);
|
||
if (k.children.length) {
|
||
var r = k.children,
|
||
l = r.length;
|
||
if (a >= k.currentTime)
|
||
for (var h = 0; h < l; h++) r[h].seek(a);
|
||
else
|
||
for (; l--;) r[l].seek(a)
|
||
}(n <= a || !e) && (k.began || (k.began = !0, p("begin")), p("run")), i < a && a < e ? c(a) : (a <= i && 0 !== s && (c(0), o && v()), (e <= a && s !== e || !e) && (c(e), o || v())), p("update"), e <= t && (k.remaining ? (m = f, "alternate" === k.direction && (k.reversed = !k.reversed)) : (k.pause(), k.completed || (k.completed = !0, p("complete"), "Promise" in window && (_(), y = d()))), g = 0)
|
||
}
|
||
t = void 0 === t ? {} : t;
|
||
var f, m, g = 0,
|
||
_ = null,
|
||
y = d(),
|
||
k = n(t);
|
||
return k.reset = function() {
|
||
var t = k.direction,
|
||
e = k.loop;
|
||
for (k.currentTime = 0, k.progress = 0, k.paused = !0, k.began = !1, k.completed = !1, k.reversed = "reverse" === t, k.remaining = "alternate" === t && 1 === e ? 2 : e, c(0), t = k.children.length; t--;) k.children[t].reset()
|
||
}, k.tick = function(t) {
|
||
f = t, m || (m = f), e((g + f - m) * O.speed)
|
||
}, k.seek = function(t) {
|
||
e(u(t))
|
||
}, k.pause = function() {
|
||
var t = A.indexOf(k); - 1 < t && A.splice(t, 1), k.paused = !0
|
||
}, k.play = function() {
|
||
k.paused && (k.paused = !1, m = 0, g = u(k.currentTime), A.push(k), R || H())
|
||
}, k.reverse = function() {
|
||
k.reversed = !k.reversed, m = 0, g = u(k.currentTime)
|
||
}, k.restart = function() {
|
||
k.pause(), k.reset(), k.play()
|
||
}, k.finished = y, k.reset(), k.autoplay && k.play(), k
|
||
}
|
||
var x, L = {
|
||
update: void 0,
|
||
begin: void 0,
|
||
run: void 0,
|
||
complete: void 0,
|
||
loop: 1,
|
||
direction: "normal",
|
||
autoplay: !0,
|
||
offset: 0
|
||
},
|
||
T = {
|
||
duration: 1e3,
|
||
delay: 0,
|
||
easing: "easeOutElastic",
|
||
elasticity: 500,
|
||
round: 0
|
||
},
|
||
$ = "translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),
|
||
B = {
|
||
arr: function(t) {
|
||
return Array.isArray(t)
|
||
},
|
||
obj: function(t) {
|
||
return -1 < Object.prototype.toString.call(t).indexOf("Object")
|
||
},
|
||
pth: function(t) {
|
||
return B.obj(t) && t.hasOwnProperty("totalLength")
|
||
},
|
||
svg: function(t) {
|
||
return t instanceof SVGElement
|
||
},
|
||
dom: function(t) {
|
||
return t.nodeType || B.svg(t)
|
||
},
|
||
str: function(t) {
|
||
return "string" == typeof t
|
||
},
|
||
fnc: function(t) {
|
||
return "function" == typeof t
|
||
},
|
||
und: function(t) {
|
||
return void 0 === t
|
||
},
|
||
hex: function(t) {
|
||
return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)
|
||
},
|
||
rgb: function(t) {
|
||
return /^rgb/.test(t)
|
||
},
|
||
hsl: function(t) {
|
||
return /^hsl/.test(t)
|
||
},
|
||
col: function(t) {
|
||
return B.hex(t) || B.rgb(t) || B.hsl(t)
|
||
}
|
||
},
|
||
D = function() {
|
||
function u(t, e, i) {
|
||
return (((1 - 3 * i + 3 * e) * t + (3 * i - 6 * e)) * t + 3 * e) * t
|
||
}
|
||
return function(a, r, l, h) {
|
||
if (0 <= a && a <= 1 && 0 <= l && l <= 1) {
|
||
var d = new Float32Array(11);
|
||
if (a !== r || l !== h)
|
||
for (var t = 0; t < 11; ++t) d[t] = u(.1 * t, a, l);
|
||
return function(t) {
|
||
if (a === r && l === h) return t;
|
||
if (0 === t) return 0;
|
||
if (1 === t) return 1;
|
||
for (var e = 0, i = 1; 10 !== i && d[i] <= t; ++i) e += .1;
|
||
var i = e + (t - d[--i]) / (d[i + 1] - d[i]) * .1,
|
||
n = 3 * (1 - 3 * l + 3 * a) * i * i + 2 * (3 * l - 6 * a) * i + 3 * a;
|
||
if (.001 <= n) {
|
||
for (e = 0; e < 4 && 0 != (n = 3 * (1 - 3 * l + 3 * a) * i * i + 2 * (3 * l - 6 * a) * i + 3 * a); ++e) var s = u(i, a, l) - t,
|
||
i = i - s / n;
|
||
t = i
|
||
} else if (0 === n) t = i;
|
||
else {
|
||
for (var i = e, e = e + .1, o = 0; 0 < (n = u(s = i + (e - i) / 2, a, l) - t) ? e = s : i = s, 1e-7 < Math.abs(n) && ++o < 10;);
|
||
t = s
|
||
}
|
||
return u(t, r, h)
|
||
}
|
||
}
|
||
}
|
||
}(),
|
||
S = function() {
|
||
function i(t, e) {
|
||
return 0 === t || 1 === t ? t : -Math.pow(2, 10 * (t - 1)) * Math.sin(2 * (t - 1 - e / (2 * Math.PI) * Math.asin(1)) * Math.PI / e)
|
||
}
|
||
var t, n = "Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),
|
||
e = {
|
||
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], i
|
||
],
|
||
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(t, e) {
|
||
return 1 - i(1 - t, e)
|
||
}
|
||
],
|
||
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(t, e) {
|
||
return t < .5 ? i(2 * t, e) / 2 : 1 - i(-2 * t + 2, e) / 2
|
||
}
|
||
]
|
||
},
|
||
s = {
|
||
linear: D(.25, .25, .75, .75)
|
||
},
|
||
o = {};
|
||
for (t in e) o.type = t, e[o.type].forEach(function(i) {
|
||
return function(t, e) {
|
||
s["ease" + i.type + n[e]] = B.fnc(t) ? t : D.apply($jscomp$this, t)
|
||
}
|
||
}(o)), o = {
|
||
type: o.type
|
||
};
|
||
return s
|
||
}(),
|
||
I = {
|
||
css: function(t, e, i) {
|
||
return t.style[e] = i
|
||
},
|
||
attribute: function(t, e, i) {
|
||
return t.setAttribute(e, i)
|
||
},
|
||
object: function(t, e, i) {
|
||
return t[e] = i
|
||
},
|
||
transform: function(t, e, i, n, s) {
|
||
n[s] || (n[s] = []), n[s].push(e + "(" + i + ")")
|
||
}
|
||
},
|
||
A = [],
|
||
R = 0,
|
||
H = function() {
|
||
function n() {
|
||
R = requestAnimationFrame(t)
|
||
}
|
||
|
||
function t(t) {
|
||
var e = A.length;
|
||
if (e) {
|
||
for (var i = 0; i < e;) A[i] && A[i].tick(t), i++;
|
||
n()
|
||
} else cancelAnimationFrame(R), R = 0
|
||
}
|
||
return n
|
||
}();
|
||
return O.version = "2.2.0", O.speed = 1, O.running = A, O.remove = function(t) {
|
||
t = y(t);
|
||
for (var e = A.length; e--;)
|
||
for (var i = A[e], n = i.animations, s = n.length; s--;) a(t, n[s].animatable.target) && (n.splice(s, 1), n.length || i.pause())
|
||
}, O.getValue = v, O.path = function(t, e) {
|
||
var i = B.str(t) ? s(t)[0] : t,
|
||
n = e || 100;
|
||
return function(t) {
|
||
return {
|
||
el: i,
|
||
property: t,
|
||
totalLength: g(i) * (n / 100)
|
||
}
|
||
}
|
||
}, O.setDashoffset = function(t) {
|
||
var e = g(t);
|
||
return t.setAttribute("stroke-dasharray", e), e
|
||
}, O.bezier = D, O.easings = S, O.timeline = function(n) {
|
||
var s = O(n);
|
||
return s.pause(), s.duration = 0, s.add = function(t) {
|
||
return s.children.forEach(function(t) {
|
||
t.began = !0, t.completed = !0
|
||
}), o(t).forEach(function(t) {
|
||
var e = c(t, u(T, n || {}));
|
||
e.targets = e.targets || n.targets, t = s.duration;
|
||
var i = e.offset;
|
||
e.autoplay = !1, e.direction = s.direction, e.offset = B.und(i) ? t : f(i, t), s.began = !0, s.completed = !0, s.seek(e.offset), (e = O(e)).began = !0, e.completed = !0, e.duration > t && (s.duration = e.duration), s.children.push(e)
|
||
}), s.seek(0), s.reset(), s.autoplay && s.restart(), s
|
||
}, s
|
||
}, O.random = function(t, e) {
|
||
return Math.floor(Math.random() * (e - t + 1)) + t
|
||
}, O
|
||
}(),
|
||
function(r, l) {
|
||
"use strict";
|
||
var e = {
|
||
accordion: !0,
|
||
onOpenStart: void 0,
|
||
onOpenEnd: void 0,
|
||
onCloseStart: void 0,
|
||
onCloseEnd: void 0,
|
||
inDuration: 300,
|
||
outDuration: 300
|
||
},
|
||
t = function(t) {
|
||
function s(t, e) {
|
||
_classCallCheck(this, s);
|
||
var i = _possibleConstructorReturn(this, (s.__proto__ || Object.getPrototypeOf(s)).call(this, s, t, e));
|
||
(i.el.M_Collapsible = i).options = r.extend({}, s.defaults, e), i.$headers = i.$el.children("li").children(".collapsible-header"), i.$headers.attr("tabindex", 0), i._setupEventHandlers();
|
||
var n = i.$el.children("li.active").children(".collapsible-body");
|
||
return i.options.accordion ? n.first().css("display", "block") : n.css("display", "block"), i
|
||
}
|
||
return _inherits(s, Component), _createClass(s, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this.el.M_Collapsible = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
var e = this;
|
||
this._handleCollapsibleClickBound = this._handleCollapsibleClick.bind(this), this._handleCollapsibleKeydownBound = this._handleCollapsibleKeydown.bind(this), this.el.addEventListener("click", this._handleCollapsibleClickBound), this.$headers.each(function(t) {
|
||
t.addEventListener("keydown", e._handleCollapsibleKeydownBound)
|
||
})
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
var e = this;
|
||
this.el.removeEventListener("click", this._handleCollapsibleClickBound), this.$headers.each(function(t) {
|
||
t.removeEventListener("keydown", e._handleCollapsibleKeydownBound)
|
||
})
|
||
}
|
||
}, {
|
||
key: "_handleCollapsibleClick",
|
||
value: function(t) {
|
||
var e = r(t.target).closest(".collapsible-header");
|
||
if (t.target && e.length) {
|
||
var i = e.closest(".collapsible");
|
||
if (i[0] === this.el) {
|
||
var n = e.closest("li"),
|
||
s = i.children("li"),
|
||
o = n[0].classList.contains("active"),
|
||
a = s.index(n);
|
||
o ? this.close(a) : this.open(a)
|
||
}
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleCollapsibleKeydown",
|
||
value: function(t) {
|
||
13 === t.keyCode && this._handleCollapsibleClickBound(t)
|
||
}
|
||
}, {
|
||
key: "_animateIn",
|
||
value: function(t) {
|
||
var e = this,
|
||
i = this.$el.children("li").eq(t);
|
||
if (i.length) {
|
||
var n = i.children(".collapsible-body");
|
||
l.remove(n[0]), n.css({
|
||
display: "block",
|
||
overflow: "hidden",
|
||
height: 0,
|
||
paddingTop: "",
|
||
paddingBottom: ""
|
||
});
|
||
var s = n.css("padding-top"),
|
||
o = n.css("padding-bottom"),
|
||
a = n[0].scrollHeight;
|
||
n.css({
|
||
paddingTop: 0,
|
||
paddingBottom: 0
|
||
}), l({
|
||
targets: n[0],
|
||
height: a,
|
||
paddingTop: s,
|
||
paddingBottom: o,
|
||
duration: this.options.inDuration,
|
||
easing: "easeInOutCubic",
|
||
complete: function(t) {
|
||
n.css({
|
||
overflow: "",
|
||
paddingTop: "",
|
||
paddingBottom: "",
|
||
height: ""
|
||
}), "function" == typeof e.options.onOpenEnd && e.options.onOpenEnd.call(e, i[0])
|
||
}
|
||
})
|
||
}
|
||
}
|
||
}, {
|
||
key: "_animateOut",
|
||
value: function(t) {
|
||
var e = this,
|
||
i = this.$el.children("li").eq(t);
|
||
if (i.length) {
|
||
var n = i.children(".collapsible-body");
|
||
l.remove(n[0]), n.css("overflow", "hidden"), l({
|
||
targets: n[0],
|
||
height: 0,
|
||
paddingTop: 0,
|
||
paddingBottom: 0,
|
||
duration: this.options.outDuration,
|
||
easing: "easeInOutCubic",
|
||
complete: function() {
|
||
n.css({
|
||
height: "",
|
||
overflow: "",
|
||
padding: "",
|
||
display: ""
|
||
}), "function" == typeof e.options.onCloseEnd && e.options.onCloseEnd.call(e, i[0])
|
||
}
|
||
})
|
||
}
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function(t) {
|
||
var i = this,
|
||
e = this.$el.children("li").eq(t);
|
||
if (e.length && !e[0].classList.contains("active")) {
|
||
if ("function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, e[0]), this.options.accordion) {
|
||
var n = this.$el.children("li");
|
||
this.$el.children("li.active").each(function(t) {
|
||
var e = n.index(r(t));
|
||
i.close(e)
|
||
})
|
||
}
|
||
e[0].classList.add("active"), this._animateIn(t)
|
||
}
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function(t) {
|
||
var e = this.$el.children("li").eq(t);
|
||
e.length && e[0].classList.contains("active") && ("function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, e[0]), e[0].classList.remove("active"), this._animateOut(t))
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(s.__proto__ || Object.getPrototypeOf(s), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Collapsible
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), s
|
||
}();
|
||
M.Collapsible = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "collapsible", "M_Collapsible")
|
||
}(cash, M.anime),
|
||
function(h, i) {
|
||
"use strict";
|
||
var e = {
|
||
alignment: "left",
|
||
autoFocus: !0,
|
||
constrainWidth: !0,
|
||
container: null,
|
||
coverTrigger: !0,
|
||
closeOnClick: !0,
|
||
hover: !1,
|
||
inDuration: 150,
|
||
outDuration: 250,
|
||
onOpenStart: null,
|
||
onOpenEnd: null,
|
||
onCloseStart: null,
|
||
onCloseEnd: null,
|
||
onItemClick: null
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return i.el.M_Dropdown = i, n._dropdowns.push(i), i.id = M.getIdFromTrigger(t), i.dropdownEl = document.getElementById(i.id), i.$dropdownEl = h(i.dropdownEl), i.options = h.extend({}, n.defaults, e), i.isOpen = !1, i.isScrollable = !1, i.isTouchMoving = !1, i.focusedIndex = -1, i.filterQuery = [], i.options.container ? h(i.options.container).append(i.dropdownEl) : i.$el.after(i.dropdownEl), i._makeDropdownFocusable(), i._resetFilterQueryBound = i._resetFilterQuery.bind(i), i._handleDocumentClickBound = i._handleDocumentClick.bind(i), i._handleDocumentTouchmoveBound = i._handleDocumentTouchmove.bind(i), i._handleDropdownClickBound = i._handleDropdownClick.bind(i), i._handleDropdownKeydownBound = i._handleDropdownKeydown.bind(i), i._handleTriggerKeydownBound = i._handleTriggerKeydown.bind(i), i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._resetDropdownStyles(), this._removeEventHandlers(), n._dropdowns.splice(n._dropdowns.indexOf(this), 1), this.el.M_Dropdown = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this.el.addEventListener("keydown", this._handleTriggerKeydownBound), this.dropdownEl.addEventListener("click", this._handleDropdownClickBound), this.options.hover ? (this._handleMouseEnterBound = this._handleMouseEnter.bind(this), this.el.addEventListener("mouseenter", this._handleMouseEnterBound), this._handleMouseLeaveBound = this._handleMouseLeave.bind(this), this.el.addEventListener("mouseleave", this._handleMouseLeaveBound), this.dropdownEl.addEventListener("mouseleave", this._handleMouseLeaveBound)) : (this._handleClickBound = this._handleClick.bind(this), this.el.addEventListener("click", this._handleClickBound))
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("keydown", this._handleTriggerKeydownBound), this.dropdownEl.removeEventListener("click", this._handleDropdownClickBound), this.options.hover ? (this.el.removeEventListener("mouseenter", this._handleMouseEnterBound), this.el.removeEventListener("mouseleave", this._handleMouseLeaveBound), this.dropdownEl.removeEventListener("mouseleave", this._handleMouseLeaveBound)) : this.el.removeEventListener("click", this._handleClickBound)
|
||
}
|
||
}, {
|
||
key: "_setupTemporaryEventHandlers",
|
||
value: function() {
|
||
document.body.addEventListener("click", this._handleDocumentClickBound, !0), document.body.addEventListener("touchend", this._handleDocumentClickBound), document.body.addEventListener("touchmove", this._handleDocumentTouchmoveBound), this.dropdownEl.addEventListener("keydown", this._handleDropdownKeydownBound)
|
||
}
|
||
}, {
|
||
key: "_removeTemporaryEventHandlers",
|
||
value: function() {
|
||
document.body.removeEventListener("click", this._handleDocumentClickBound, !0), document.body.removeEventListener("touchend", this._handleDocumentClickBound), document.body.removeEventListener("touchmove", this._handleDocumentTouchmoveBound), this.dropdownEl.removeEventListener("keydown", this._handleDropdownKeydownBound)
|
||
}
|
||
}, {
|
||
key: "_handleClick",
|
||
value: function(t) {
|
||
t.preventDefault(), this.open()
|
||
}
|
||
}, {
|
||
key: "_handleMouseEnter",
|
||
value: function() {
|
||
this.open()
|
||
}
|
||
}, {
|
||
key: "_handleMouseLeave",
|
||
value: function(t) {
|
||
var e = t.toElement || t.relatedTarget,
|
||
i = !!h(e).closest(".dropdown-content").length,
|
||
n = !1,
|
||
s = h(e).closest(".dropdown-trigger");
|
||
s.length && s[0].M_Dropdown && s[0].M_Dropdown.isOpen && (n = !0), n || i || this.close()
|
||
}
|
||
}, {
|
||
key: "_handleDocumentClick",
|
||
value: function(t) {
|
||
var e = this,
|
||
i = h(t.target);
|
||
this.options.closeOnClick && i.closest(".dropdown-content").length && !this.isTouchMoving ? setTimeout(function() {
|
||
e.close()
|
||
}, 0) : !i.closest(".dropdown-trigger").length && i.closest(".dropdown-content").length || setTimeout(function() {
|
||
e.close()
|
||
}, 0), this.isTouchMoving = !1
|
||
}
|
||
}, {
|
||
key: "_handleTriggerKeydown",
|
||
value: function(t) {
|
||
t.which !== M.keys.ARROW_DOWN && t.which !== M.keys.ENTER || this.isOpen || (t.preventDefault(), this.open())
|
||
}
|
||
}, {
|
||
key: "_handleDocumentTouchmove",
|
||
value: function(t) {
|
||
h(t.target).closest(".dropdown-content").length && (this.isTouchMoving = !0)
|
||
}
|
||
}, {
|
||
key: "_handleDropdownClick",
|
||
value: function(t) {
|
||
if ("function" == typeof this.options.onItemClick) {
|
||
var e = h(t.target).closest("li")[0];
|
||
this.options.onItemClick.call(this, e)
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleDropdownKeydown",
|
||
value: function(t) {
|
||
if (t.which === M.keys.TAB) t.preventDefault(), this.close();
|
||
else if (t.which !== M.keys.ARROW_DOWN && t.which !== M.keys.ARROW_UP || !this.isOpen)
|
||
if (t.which === M.keys.ENTER && this.isOpen) {
|
||
var e = this.dropdownEl.children[this.focusedIndex],
|
||
i = h(e).find("a, button").first();
|
||
i.length ? i[0].click() : e && e.click()
|
||
} else t.which === M.keys.ESC && this.isOpen && (t.preventDefault(), this.close());
|
||
else {
|
||
t.preventDefault();
|
||
var n = t.which === M.keys.ARROW_DOWN ? 1 : -1,
|
||
s = this.focusedIndex,
|
||
o = !1;
|
||
do {
|
||
if (s += n, this.dropdownEl.children[s] && -1 !== this.dropdownEl.children[s].tabIndex) {
|
||
o = !0;
|
||
break
|
||
}
|
||
} while (s < this.dropdownEl.children.length && 0 <= s);
|
||
o && (this.focusedIndex = s, this._focusFocusedItem())
|
||
}
|
||
var a = String.fromCharCode(t.which).toLowerCase();
|
||
if (a && -1 === [9, 13, 27, 38, 40].indexOf(t.which)) {
|
||
this.filterQuery.push(a);
|
||
var r = this.filterQuery.join(""),
|
||
l = h(this.dropdownEl).find("li").filter(function(t) {
|
||
return 0 === h(t).text().toLowerCase().indexOf(r)
|
||
})[0];
|
||
l && (this.focusedIndex = h(l).index(), this._focusFocusedItem())
|
||
}
|
||
this.filterTimeout = setTimeout(this._resetFilterQueryBound, 1e3)
|
||
}
|
||
}, {
|
||
key: "_resetFilterQuery",
|
||
value: function() {
|
||
this.filterQuery = []
|
||
}
|
||
}, {
|
||
key: "_resetDropdownStyles",
|
||
value: function() {
|
||
this.$dropdownEl.css({
|
||
display: "",
|
||
width: "",
|
||
height: "",
|
||
left: "",
|
||
top: "",
|
||
"transform-origin": "",
|
||
transform: "",
|
||
opacity: ""
|
||
})
|
||
}
|
||
}, {
|
||
key: "_makeDropdownFocusable",
|
||
value: function() {
|
||
this.dropdownEl.tabIndex = 0, h(this.dropdownEl).children().each(function(t) {
|
||
t.getAttribute("tabindex") || t.setAttribute("tabindex", 0)
|
||
})
|
||
}
|
||
}, {
|
||
key: "_focusFocusedItem",
|
||
value: function() {
|
||
0 <= this.focusedIndex && this.focusedIndex < this.dropdownEl.children.length && this.options.autoFocus && this.dropdownEl.children[this.focusedIndex].focus()
|
||
}
|
||
}, {
|
||
key: "_getDropdownPosition",
|
||
value: function() {
|
||
this.el.offsetParent.getBoundingClientRect();
|
||
var t = this.el.getBoundingClientRect(),
|
||
e = this.dropdownEl.getBoundingClientRect(),
|
||
i = e.height,
|
||
n = e.width,
|
||
s = t.left - e.left,
|
||
o = t.top - e.top,
|
||
a = {
|
||
left: s,
|
||
top: o,
|
||
height: i,
|
||
width: n
|
||
},
|
||
r = this.dropdownEl.offsetParent ? this.dropdownEl.offsetParent : this.dropdownEl.parentNode,
|
||
l = M.checkPossibleAlignments(this.el, r, a, this.options.coverTrigger ? 0 : t.height),
|
||
h = "top",
|
||
d = this.options.alignment;
|
||
if (o += this.options.coverTrigger ? 0 : t.height, this.isScrollable = !1, l.top || (l.bottom ? h = "bottom" : (this.isScrollable = !0, l.spaceOnTop > l.spaceOnBottom ? (h = "bottom", i += l.spaceOnTop, o -= l.spaceOnTop) : i += l.spaceOnBottom)), !l[d]) {
|
||
var u = "left" === d ? "right" : "left";
|
||
l[u] ? d = u : l.spaceOnLeft > l.spaceOnRight ? (d = "right", n += l.spaceOnLeft, s -= l.spaceOnLeft) : (d = "left", n += l.spaceOnRight)
|
||
}
|
||
return "bottom" === h && (o = o - e.height + (this.options.coverTrigger ? t.height : 0)), "right" === d && (s = s - e.width + t.width), {
|
||
x: s,
|
||
y: o,
|
||
verticalAlignment: h,
|
||
horizontalAlignment: d,
|
||
height: i,
|
||
width: n
|
||
}
|
||
}
|
||
}, {
|
||
key: "_animateIn",
|
||
value: function() {
|
||
var e = this;
|
||
i.remove(this.dropdownEl), i({
|
||
targets: this.dropdownEl,
|
||
opacity: {
|
||
value: [0, 1],
|
||
easing: "easeOutQuad"
|
||
},
|
||
scaleX: [.3, 1],
|
||
scaleY: [.3, 1],
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutQuint",
|
||
complete: function(t) {
|
||
e.options.autoFocus && e.dropdownEl.focus(), "function" == typeof e.options.onOpenEnd && e.options.onOpenEnd.call(e, e.el)
|
||
}
|
||
})
|
||
}
|
||
}, {
|
||
key: "_animateOut",
|
||
value: function() {
|
||
var e = this;
|
||
i.remove(this.dropdownEl), i({
|
||
targets: this.dropdownEl,
|
||
opacity: {
|
||
value: 0,
|
||
easing: "easeOutQuint"
|
||
},
|
||
scaleX: .3,
|
||
scaleY: .3,
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutQuint",
|
||
complete: function(t) {
|
||
e._resetDropdownStyles(), "function" == typeof e.options.onCloseEnd && e.options.onCloseEnd.call(e, e.el)
|
||
}
|
||
})
|
||
}
|
||
}, {
|
||
key: "_placeDropdown",
|
||
value: function() {
|
||
var t = this.options.constrainWidth ? this.el.getBoundingClientRect().width : this.dropdownEl.getBoundingClientRect().width;
|
||
this.dropdownEl.style.width = t + "px";
|
||
var e = this._getDropdownPosition();
|
||
this.dropdownEl.style.left = e.x + "px", this.dropdownEl.style.top = e.y + "px", this.dropdownEl.style.height = e.height + "px", this.dropdownEl.style.width = e.width + "px", this.dropdownEl.style.transformOrigin = ("left" === e.horizontalAlignment ? "0" : "100%") + " " + ("top" === e.verticalAlignment ? "0" : "100%")
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function() {
|
||
this.isOpen || (this.isOpen = !0, "function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, this.el), this._resetDropdownStyles(), this.dropdownEl.style.display = "block", this._placeDropdown(), this._animateIn(), this._setupTemporaryEventHandlers())
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
this.isOpen && (this.isOpen = !1, this.focusedIndex = -1, "function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, this.el), this._animateOut(), this._removeTemporaryEventHandlers(), this.options.autoFocus && this.el.focus())
|
||
}
|
||
}, {
|
||
key: "recalculateDimensions",
|
||
value: function() {
|
||
this.isOpen && (this.$dropdownEl.css({
|
||
width: "",
|
||
height: "",
|
||
left: "",
|
||
top: "",
|
||
"transform-origin": ""
|
||
}), this._placeDropdown())
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Dropdown
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
t._dropdowns = [], M.Dropdown = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "dropdown", "M_Dropdown")
|
||
}(cash, M.anime),
|
||
function(s, i) {
|
||
"use strict";
|
||
var e = {
|
||
opacity: .5,
|
||
inDuration: 250,
|
||
outDuration: 250,
|
||
onOpenStart: null,
|
||
onOpenEnd: null,
|
||
onCloseStart: null,
|
||
onCloseEnd: null,
|
||
preventScrolling: !0,
|
||
dismissible: !0,
|
||
startingTop: "4%",
|
||
endingTop: "10%"
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_Modal = i).options = s.extend({}, n.defaults, e), i.isOpen = !1, i.id = i.$el.attr("id"), i._openingTrigger = void 0, i.$overlay = s('<div class="modal-overlay"></div>'), i.el.tabIndex = 0, i._nthModalOpened = 0, n._count++, i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
n._count--, this._removeEventHandlers(), this.el.removeAttribute("style"), this.$overlay.remove(), this.el.M_Modal = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleOverlayClickBound = this._handleOverlayClick.bind(this), this._handleModalCloseClickBound = this._handleModalCloseClick.bind(this), 1 === n._count && document.body.addEventListener("click", this._handleTriggerClick), this.$overlay[0].addEventListener("click", this._handleOverlayClickBound), this.el.addEventListener("click", this._handleModalCloseClickBound)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
0 === n._count && document.body.removeEventListener("click", this._handleTriggerClick), this.$overlay[0].removeEventListener("click", this._handleOverlayClickBound), this.el.removeEventListener("click", this._handleModalCloseClickBound)
|
||
}
|
||
}, {
|
||
key: "_handleTriggerClick",
|
||
value: function(t) {
|
||
var e = s(t.target).closest(".modal-trigger");
|
||
if (e.length) {
|
||
var i = M.getIdFromTrigger(e[0]),
|
||
n = document.getElementById(i).M_Modal;
|
||
n && n.open(e), t.preventDefault()
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleOverlayClick",
|
||
value: function() {
|
||
this.options.dismissible && this.close()
|
||
}
|
||
}, {
|
||
key: "_handleModalCloseClick",
|
||
value: function(t) {
|
||
s(t.target).closest(".modal-close").length && this.close()
|
||
}
|
||
}, {
|
||
key: "_handleKeydown",
|
||
value: function(t) {
|
||
27 === t.keyCode && this.options.dismissible && this.close()
|
||
}
|
||
}, {
|
||
key: "_handleFocus",
|
||
value: function(t) {
|
||
this.el.contains(t.target) || this._nthModalOpened !== n._modalsOpen || this.el.focus()
|
||
}
|
||
}, {
|
||
key: "_animateIn",
|
||
value: function() {
|
||
var t = this;
|
||
s.extend(this.el.style, {
|
||
display: "block",
|
||
opacity: 0
|
||
}), s.extend(this.$overlay[0].style, {
|
||
display: "block",
|
||
opacity: 0
|
||
}), i({
|
||
targets: this.$overlay[0],
|
||
opacity: this.options.opacity,
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutQuad"
|
||
});
|
||
var e = {
|
||
targets: this.el,
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutCubic",
|
||
complete: function() {
|
||
"function" == typeof t.options.onOpenEnd && t.options.onOpenEnd.call(t, t.el, t._openingTrigger)
|
||
}
|
||
};
|
||
this.el.classList.contains("bottom-sheet") ? s.extend(e, {
|
||
bottom: 0,
|
||
opacity: 1
|
||
}) : s.extend(e, {
|
||
top: [this.options.startingTop, this.options.endingTop],
|
||
opacity: 1,
|
||
scaleX: [.8, 1],
|
||
scaleY: [.8, 1]
|
||
}), i(e)
|
||
}
|
||
}, {
|
||
key: "_animateOut",
|
||
value: function() {
|
||
var t = this;
|
||
i({
|
||
targets: this.$overlay[0],
|
||
opacity: 0,
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutQuart"
|
||
});
|
||
var e = {
|
||
targets: this.el,
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutCubic",
|
||
complete: function() {
|
||
t.el.style.display = "none", t.$overlay.remove(), "function" == typeof t.options.onCloseEnd && t.options.onCloseEnd.call(t, t.el)
|
||
}
|
||
};
|
||
this.el.classList.contains("bottom-sheet") ? s.extend(e, {
|
||
bottom: "-100%",
|
||
opacity: 0
|
||
}) : s.extend(e, {
|
||
top: [this.options.endingTop, this.options.startingTop],
|
||
opacity: 0,
|
||
scaleX: .8,
|
||
scaleY: .8
|
||
}), i(e)
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function(t) {
|
||
if (!this.isOpen) return this.isOpen = !0, n._modalsOpen++, this._nthModalOpened = n._modalsOpen, this.$overlay[0].style.zIndex = 1e3 + 2 * n._modalsOpen, this.el.style.zIndex = 1e3 + 2 * n._modalsOpen + 1, this._openingTrigger = t ? t[0] : void 0, "function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, this.el, this._openingTrigger), this.options.preventScrolling && (document.body.style.overflow = "hidden"), this.el.classList.add("open"), this.el.insertAdjacentElement("afterend", this.$overlay[0]), this.options.dismissible && (this._handleKeydownBound = this._handleKeydown.bind(this), this._handleFocusBound = this._handleFocus.bind(this), document.addEventListener("keydown", this._handleKeydownBound), document.addEventListener("focus", this._handleFocusBound, !0)), i.remove(this.el), i.remove(this.$overlay[0]), this._animateIn(), this.el.focus(), this
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
if (this.isOpen) return this.isOpen = !1, n._modalsOpen--, this._nthModalOpened = 0, "function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, this.el), this.el.classList.remove("open"), 0 === n._modalsOpen && (document.body.style.overflow = ""), this.options.dismissible && (document.removeEventListener("keydown", this._handleKeydownBound), document.removeEventListener("focus", this._handleFocusBound, !0)), i.remove(this.el), i.remove(this.$overlay[0]), this._animateOut(), this
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Modal
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
t._modalsOpen = 0, t._count = 0, M.Modal = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "modal", "M_Modal")
|
||
}(cash, M.anime),
|
||
function(o, a) {
|
||
"use strict";
|
||
var e = {
|
||
inDuration: 275,
|
||
outDuration: 200,
|
||
onOpenStart: null,
|
||
onOpenEnd: null,
|
||
onCloseStart: null,
|
||
onCloseEnd: null
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_Materialbox = i).options = o.extend({}, n.defaults, e), i.overlayActive = !1, i.doneAnimating = !0, i.placeholder = o("<div></div>").addClass("material-placeholder"), i.originalWidth = 0, i.originalHeight = 0, i.originInlineStyles = i.$el.attr("style"), i.caption = i.el.getAttribute("data-caption") || "", i.$el.before(i.placeholder), i.placeholder.append(i.$el), i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this.el.M_Materialbox = void 0, o(this.placeholder).after(this.el).remove(), this.$el.removeAttr("style")
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleMaterialboxClickBound = this._handleMaterialboxClick.bind(this), this.el.addEventListener("click", this._handleMaterialboxClickBound)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("click", this._handleMaterialboxClickBound)
|
||
}
|
||
}, {
|
||
key: "_handleMaterialboxClick",
|
||
value: function(t) {
|
||
!1 === this.doneAnimating || this.overlayActive && this.doneAnimating ? this.close() : this.open()
|
||
}
|
||
}, {
|
||
key: "_handleWindowScroll",
|
||
value: function() {
|
||
this.overlayActive && this.close()
|
||
}
|
||
}, {
|
||
key: "_handleWindowResize",
|
||
value: function() {
|
||
this.overlayActive && this.close()
|
||
}
|
||
}, {
|
||
key: "_handleWindowEscape",
|
||
value: function(t) {
|
||
27 === t.keyCode && this.doneAnimating && this.overlayActive && this.close()
|
||
}
|
||
}, {
|
||
key: "_makeAncestorsOverflowVisible",
|
||
value: function() {
|
||
this.ancestorsChanged = o();
|
||
for (var t = this.placeholder[0].parentNode; null !== t && !o(t).is(document);) {
|
||
var e = o(t);
|
||
"visible" !== e.css("overflow") && (e.css("overflow", "visible"), void 0 === this.ancestorsChanged ? this.ancestorsChanged = e : this.ancestorsChanged = this.ancestorsChanged.add(e)), t = t.parentNode
|
||
}
|
||
}
|
||
}, {
|
||
key: "_animateImageIn",
|
||
value: function() {
|
||
var t = this,
|
||
e = {
|
||
targets: this.el,
|
||
height: [this.originalHeight, this.newHeight],
|
||
width: [this.originalWidth, this.newWidth],
|
||
left: M.getDocumentScrollLeft() + this.windowWidth / 2 - this.placeholder.offset().left - this.newWidth / 2,
|
||
top: M.getDocumentScrollTop() + this.windowHeight / 2 - this.placeholder.offset().top - this.newHeight / 2,
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutQuad",
|
||
complete: function() {
|
||
t.doneAnimating = !0, "function" == typeof t.options.onOpenEnd && t.options.onOpenEnd.call(t, t.el)
|
||
}
|
||
};
|
||
this.maxWidth = this.$el.css("max-width"), this.maxHeight = this.$el.css("max-height"), "none" !== this.maxWidth && (e.maxWidth = this.newWidth), "none" !== this.maxHeight && (e.maxHeight = this.newHeight), a(e)
|
||
}
|
||
}, {
|
||
key: "_animateImageOut",
|
||
value: function() {
|
||
var t = this,
|
||
e = {
|
||
targets: this.el,
|
||
width: this.originalWidth,
|
||
height: this.originalHeight,
|
||
left: 0,
|
||
top: 0,
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutQuad",
|
||
complete: function() {
|
||
t.placeholder.css({
|
||
height: "",
|
||
width: "",
|
||
position: "",
|
||
top: "",
|
||
left: ""
|
||
}), t.attrWidth && t.$el.attr("width", t.attrWidth), t.attrHeight && t.$el.attr("height", t.attrHeight), t.$el.removeAttr("style"), t.originInlineStyles && t.$el.attr("style", t.originInlineStyles), t.$el.removeClass("active"), t.doneAnimating = !0, t.ancestorsChanged.length && t.ancestorsChanged.css("overflow", ""), "function" == typeof t.options.onCloseEnd && t.options.onCloseEnd.call(t, t.el)
|
||
}
|
||
};
|
||
a(e)
|
||
}
|
||
}, {
|
||
key: "_updateVars",
|
||
value: function() {
|
||
this.windowWidth = window.innerWidth, this.windowHeight = window.innerHeight, this.caption = this.el.getAttribute("data-caption") || ""
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function() {
|
||
var t = this;
|
||
this._updateVars(), this.originalWidth = this.el.getBoundingClientRect().width, this.originalHeight = this.el.getBoundingClientRect().height, this.doneAnimating = !1, this.$el.addClass("active"), this.overlayActive = !0, "function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, this.el), this.placeholder.css({
|
||
width: this.placeholder[0].getBoundingClientRect().width + "px",
|
||
height: this.placeholder[0].getBoundingClientRect().height + "px",
|
||
position: "relative",
|
||
top: 0,
|
||
left: 0
|
||
}), this._makeAncestorsOverflowVisible(), this.$el.css({
|
||
position: "absolute",
|
||
"z-index": 1e3,
|
||
"will-change": "left, top, width, height"
|
||
}), this.attrWidth = this.$el.attr("width"), this.attrHeight = this.$el.attr("height"), this.attrWidth && (this.$el.css("width", this.attrWidth + "px"), this.$el.removeAttr("width")), this.attrHeight && (this.$el.css("width", this.attrHeight + "px"), this.$el.removeAttr("height")), this.$overlay = o('<div id="materialbox-overlay"></div>').css({
|
||
opacity: 0
|
||
}).one("click", function() {
|
||
t.doneAnimating && t.close()
|
||
}), this.$el.before(this.$overlay);
|
||
var e = this.$overlay[0].getBoundingClientRect();
|
||
this.$overlay.css({
|
||
width: this.windowWidth + "px",
|
||
height: this.windowHeight + "px",
|
||
left: -1 * e.left + "px",
|
||
top: -1 * e.top + "px"
|
||
}), a.remove(this.el), a.remove(this.$overlay[0]), a({
|
||
targets: this.$overlay[0],
|
||
opacity: 1,
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutQuad"
|
||
}), "" !== this.caption && (this.$photocaption && a.remove(this.$photoCaption[0]), this.$photoCaption = o('<div class="materialbox-caption"></div>'), this.$photoCaption.text(this.caption), o("body").append(this.$photoCaption), this.$photoCaption.css({
|
||
display: "inline"
|
||
}), a({
|
||
targets: this.$photoCaption[0],
|
||
opacity: 1,
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutQuad"
|
||
}));
|
||
var i = 0,
|
||
n = this.originalWidth / this.windowWidth,
|
||
s = this.originalHeight / this.windowHeight;
|
||
this.newWidth = 0, this.newHeight = 0, s < n ? (i = this.originalHeight / this.originalWidth, this.newWidth = .9 * this.windowWidth, this.newHeight = .9 * this.windowWidth * i) : (i = this.originalWidth / this.originalHeight, this.newWidth = .9 * this.windowHeight * i, this.newHeight = .9 * this.windowHeight), this._animateImageIn(), this._handleWindowScrollBound = this._handleWindowScroll.bind(this), this._handleWindowResizeBound = this._handleWindowResize.bind(this), this._handleWindowEscapeBound = this._handleWindowEscape.bind(this), window.addEventListener("scroll", this._handleWindowScrollBound), window.addEventListener("resize", this._handleWindowResizeBound), window.addEventListener("keyup", this._handleWindowEscapeBound)
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
var t = this;
|
||
this._updateVars(), this.doneAnimating = !1, "function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, this.el), a.remove(this.el), a.remove(this.$overlay[0]), "" !== this.caption && a.remove(this.$photoCaption[0]), window.removeEventListener("scroll", this._handleWindowScrollBound), window.removeEventListener("resize", this._handleWindowResizeBound), window.removeEventListener("keyup", this._handleWindowEscapeBound), a({
|
||
targets: this.$overlay[0],
|
||
opacity: 0,
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutQuad",
|
||
complete: function() {
|
||
t.overlayActive = !1, t.$overlay.remove()
|
||
}
|
||
}), this._animateImageOut(), "" !== this.caption && a({
|
||
targets: this.$photoCaption[0],
|
||
opacity: 0,
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutQuad",
|
||
complete: function() {
|
||
t.$photoCaption.remove()
|
||
}
|
||
})
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Materialbox
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
M.Materialbox = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "materialbox", "M_Materialbox")
|
||
}(cash, M.anime),
|
||
function(s) {
|
||
"use strict";
|
||
var e = {
|
||
responsiveThreshold: 0
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_Parallax = i).options = s.extend({}, n.defaults, e), i._enabled = window.innerWidth > i.options.responsiveThreshold, i.$img = i.$el.find("img").first(), i.$img.each(function() {
|
||
this.complete && s(this).trigger("load")
|
||
}), i._updateParallax(), i._setupEventHandlers(), i._setupStyles(), n._parallaxes.push(i), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
n._parallaxes.splice(n._parallaxes.indexOf(this), 1), this.$img[0].style.transform = "", this._removeEventHandlers(), this.$el[0].M_Parallax = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleImageLoadBound = this._handleImageLoad.bind(this), this.$img[0].addEventListener("load", this._handleImageLoadBound), 0 === n._parallaxes.length && (n._handleScrollThrottled = M.throttle(n._handleScroll, 5), window.addEventListener("scroll", n._handleScrollThrottled), n._handleWindowResizeThrottled = M.throttle(n._handleWindowResize, 5), window.addEventListener("resize", n._handleWindowResizeThrottled))
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.$img[0].removeEventListener("load", this._handleImageLoadBound), 0 === n._parallaxes.length && (window.removeEventListener("scroll", n._handleScrollThrottled), window.removeEventListener("resize", n._handleWindowResizeThrottled))
|
||
}
|
||
}, {
|
||
key: "_setupStyles",
|
||
value: function() {
|
||
this.$img[0].style.opacity = 1
|
||
}
|
||
}, {
|
||
key: "_handleImageLoad",
|
||
value: function() {
|
||
this._updateParallax()
|
||
}
|
||
}, {
|
||
key: "_updateParallax",
|
||
value: function() {
|
||
var t = 0 < this.$el.height() ? this.el.parentNode.offsetHeight : 500,
|
||
e = this.$img[0].offsetHeight - t,
|
||
i = this.$el.offset().top + t,
|
||
n = this.$el.offset().top,
|
||
s = M.getDocumentScrollTop(),
|
||
o = window.innerHeight,
|
||
a = e * ((s + o - n) / (t + o));
|
||
this._enabled ? s < i && n < s + o && (this.$img[0].style.transform = "translate3D(-50%, " + a + "px, 0)") : this.$img[0].style.transform = ""
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Parallax
|
||
}
|
||
}, {
|
||
key: "_handleScroll",
|
||
value: function() {
|
||
for (var t = 0; t < n._parallaxes.length; t++) {
|
||
var e = n._parallaxes[t];
|
||
e._updateParallax.call(e)
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleWindowResize",
|
||
value: function() {
|
||
for (var t = 0; t < n._parallaxes.length; t++) {
|
||
var e = n._parallaxes[t];
|
||
e._enabled = window.innerWidth > e.options.responsiveThreshold
|
||
}
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
t._parallaxes = [], M.Parallax = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "parallax", "M_Parallax")
|
||
}(cash),
|
||
function(a, s) {
|
||
"use strict";
|
||
var e = {
|
||
duration: 300,
|
||
onShow: null,
|
||
swipeable: !1,
|
||
responsiveThreshold: 1 / 0
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_Tabs = i).options = a.extend({}, n.defaults, e), i.$tabLinks = i.$el.children("li.tab").children("a"), i.index = 0, i._setupActiveTabLink(), i.options.swipeable ? i._setupSwipeableTabs() : i._setupNormalTabs(), i._setTabsAndTabWidth(), i._createIndicator(), i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this._indicator.parentNode.removeChild(this._indicator), this.options.swipeable ? this._teardownSwipeableTabs() : this._teardownNormalTabs(), this.$el[0].M_Tabs = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleWindowResizeBound = this._handleWindowResize.bind(this), window.addEventListener("resize", this._handleWindowResizeBound), this._handleTabClickBound = this._handleTabClick.bind(this), this.el.addEventListener("click", this._handleTabClickBound)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
window.removeEventListener("resize", this._handleWindowResizeBound), this.el.removeEventListener("click", this._handleTabClickBound)
|
||
}
|
||
}, {
|
||
key: "_handleWindowResize",
|
||
value: function() {
|
||
this._setTabsAndTabWidth(), 0 !== this.tabWidth && 0 !== this.tabsWidth && (this._indicator.style.left = this._calcLeftPos(this.$activeTabLink) + "px", this._indicator.style.right = this._calcRightPos(this.$activeTabLink) + "px")
|
||
}
|
||
}, {
|
||
key: "_handleTabClick",
|
||
value: function(t) {
|
||
var e = this,
|
||
i = a(t.target).closest("li.tab"),
|
||
n = a(t.target).closest("a");
|
||
if (n.length && n.parent().hasClass("tab"))
|
||
if (i.hasClass("disabled")) t.preventDefault();
|
||
else if (!n.attr("target")) {
|
||
this.$activeTabLink.removeClass("active");
|
||
var s = this.$content;
|
||
this.$activeTabLink = n, this.$content = a(M.escapeHash(n[0].hash)), this.$tabLinks = this.$el.children("li.tab").children("a"), this.$activeTabLink.addClass("active");
|
||
var o = this.index;
|
||
this.index = Math.max(this.$tabLinks.index(n), 0), this.options.swipeable ? this._tabsCarousel && this._tabsCarousel.set(this.index, function() {
|
||
"function" == typeof e.options.onShow && e.options.onShow.call(e, e.$content[0])
|
||
}) : this.$content.length && (this.$content[0].style.display = "block", this.$content.addClass("active"), "function" == typeof this.options.onShow && this.options.onShow.call(this, this.$content[0]), s.length && !s.is(this.$content) && (s[0].style.display = "none", s.removeClass("active"))), this._setTabsAndTabWidth(), this._animateIndicator(o), t.preventDefault()
|
||
}
|
||
}
|
||
}, {
|
||
key: "_createIndicator",
|
||
value: function() {
|
||
var t = this,
|
||
e = document.createElement("li");
|
||
e.classList.add("indicator"), this.el.appendChild(e), this._indicator = e, setTimeout(function() {
|
||
t._indicator.style.left = t._calcLeftPos(t.$activeTabLink) + "px", t._indicator.style.right = t._calcRightPos(t.$activeTabLink) + "px"
|
||
}, 0)
|
||
}
|
||
}, {
|
||
key: "_setupActiveTabLink",
|
||
value: function() {
|
||
this.$activeTabLink = a(this.$tabLinks.filter('[href="' + location.hash + '"]')), 0 === this.$activeTabLink.length && (this.$activeTabLink = this.$el.children("li.tab").children("a.active").first()), 0 === this.$activeTabLink.length && (this.$activeTabLink = this.$el.children("li.tab").children("a").first()), this.$tabLinks.removeClass("active"), this.$activeTabLink[0].classList.add("active"), this.index = Math.max(this.$tabLinks.index(this.$activeTabLink), 0), this.$activeTabLink.length && (this.$content = a(M.escapeHash(this.$activeTabLink[0].hash)), this.$content.addClass("active"))
|
||
}
|
||
}, {
|
||
key: "_setupSwipeableTabs",
|
||
value: function() {
|
||
var i = this;
|
||
window.innerWidth > this.options.responsiveThreshold && (this.options.swipeable = !1);
|
||
var n = a();
|
||
this.$tabLinks.each(function(t) {
|
||
var e = a(M.escapeHash(t.hash));
|
||
e.addClass("carousel-item"), n = n.add(e)
|
||
});
|
||
var t = a('<div class="tabs-content carousel carousel-slider"></div>');
|
||
n.first().before(t), t.append(n), n[0].style.display = "";
|
||
var e = this.$activeTabLink.closest(".tab").index();
|
||
this._tabsCarousel = M.Carousel.init(t[0], {
|
||
fullWidth: !0,
|
||
noWrap: !0,
|
||
onCycleTo: function(t) {
|
||
var e = i.index;
|
||
i.index = a(t).index(), i.$activeTabLink.removeClass("active"), i.$activeTabLink = i.$tabLinks.eq(i.index), i.$activeTabLink.addClass("active"), i._animateIndicator(e), "function" == typeof i.options.onShow && i.options.onShow.call(i, i.$content[0])
|
||
}
|
||
}), this._tabsCarousel.set(e)
|
||
}
|
||
}, {
|
||
key: "_teardownSwipeableTabs",
|
||
value: function() {
|
||
var t = this._tabsCarousel.$el;
|
||
this._tabsCarousel.destroy(), t.after(t.children()), t.remove()
|
||
}
|
||
}, {
|
||
key: "_setupNormalTabs",
|
||
value: function() {
|
||
this.$tabLinks.not(this.$activeTabLink).each(function(t) {
|
||
if (t.hash) {
|
||
var e = a(M.escapeHash(t.hash));
|
||
e.length && (e[0].style.display = "none")
|
||
}
|
||
})
|
||
}
|
||
}, {
|
||
key: "_teardownNormalTabs",
|
||
value: function() {
|
||
this.$tabLinks.each(function(t) {
|
||
if (t.hash) {
|
||
var e = a(M.escapeHash(t.hash));
|
||
e.length && (e[0].style.display = "")
|
||
}
|
||
})
|
||
}
|
||
}, {
|
||
key: "_setTabsAndTabWidth",
|
||
value: function() {
|
||
this.tabsWidth = this.$el.width(), this.tabWidth = Math.max(this.tabsWidth, this.el.scrollWidth) / this.$tabLinks.length
|
||
}
|
||
}, {
|
||
key: "_calcRightPos",
|
||
value: function(t) {
|
||
return Math.ceil(this.tabsWidth - t.position().left - t[0].getBoundingClientRect().width)
|
||
}
|
||
}, {
|
||
key: "_calcLeftPos",
|
||
value: function(t) {
|
||
return Math.floor(t.position().left)
|
||
}
|
||
}, {
|
||
key: "updateTabIndicator",
|
||
value: function() {
|
||
this._setTabsAndTabWidth(), this._animateIndicator(this.index)
|
||
}
|
||
}, {
|
||
key: "_animateIndicator",
|
||
value: function(t) {
|
||
var e = 0,
|
||
i = 0;
|
||
0 <= this.index - t ? e = 90 : i = 90;
|
||
var n = {
|
||
targets: this._indicator,
|
||
left: {
|
||
value: this._calcLeftPos(this.$activeTabLink),
|
||
delay: e
|
||
},
|
||
right: {
|
||
value: this._calcRightPos(this.$activeTabLink),
|
||
delay: i
|
||
},
|
||
duration: this.options.duration,
|
||
easing: "easeOutQuad"
|
||
};
|
||
s.remove(this._indicator), s(n)
|
||
}
|
||
}, {
|
||
key: "select",
|
||
value: function(t) {
|
||
var e = this.$tabLinks.filter('[href="#' + t + '"]');
|
||
e.length && e.trigger("click")
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Tabs
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
M.Tabs = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "tabs", "M_Tabs")
|
||
}(cash, M.anime),
|
||
function(d, e) {
|
||
"use strict";
|
||
var i = {
|
||
exitDelay: 200,
|
||
enterDelay: 0,
|
||
html: null,
|
||
margin: 5,
|
||
inDuration: 250,
|
||
outDuration: 200,
|
||
position: "bottom",
|
||
transitionMovement: 10
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_Tooltip = i).options = d.extend({}, n.defaults, e), i.isOpen = !1, i.isHovered = !1, i.isFocused = !1, i._appendTooltipEl(), i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
d(this.tooltipEl).remove(), this._removeEventHandlers(), this.el.M_Tooltip = void 0
|
||
}
|
||
}, {
|
||
key: "_appendTooltipEl",
|
||
value: function() {
|
||
var t = document.createElement("div");
|
||
t.classList.add("material-tooltip"), this.tooltipEl = t;
|
||
var e = document.createElement("div");
|
||
e.classList.add("tooltip-content"), e.innerHTML = this.options.html, t.appendChild(e), document.body.appendChild(t)
|
||
}
|
||
}, {
|
||
key: "_updateTooltipContent",
|
||
value: function() {
|
||
this.tooltipEl.querySelector(".tooltip-content").innerHTML = this.options.html
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleMouseEnterBound = this._handleMouseEnter.bind(this), this._handleMouseLeaveBound = this._handleMouseLeave.bind(this), this._handleFocusBound = this._handleFocus.bind(this), this._handleBlurBound = this._handleBlur.bind(this), this.el.addEventListener("mouseenter", this._handleMouseEnterBound), this.el.addEventListener("mouseleave", this._handleMouseLeaveBound), this.el.addEventListener("focus", this._handleFocusBound, !0), this.el.addEventListener("blur", this._handleBlurBound, !0)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("mouseenter", this._handleMouseEnterBound), this.el.removeEventListener("mouseleave", this._handleMouseLeaveBound), this.el.removeEventListener("focus", this._handleFocusBound, !0), this.el.removeEventListener("blur", this._handleBlurBound, !0)
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function(t) {
|
||
this.isOpen || (t = void 0 === t || void 0, this.isOpen = !0, this.options = d.extend({}, this.options, this._getAttributeOptions()), this._updateTooltipContent(), this._setEnterDelayTimeout(t))
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
this.isOpen && (this.isHovered = !1, this.isFocused = !1, this.isOpen = !1, this._setExitDelayTimeout())
|
||
}
|
||
}, {
|
||
key: "_setExitDelayTimeout",
|
||
value: function() {
|
||
var t = this;
|
||
clearTimeout(this._exitDelayTimeout), this._exitDelayTimeout = setTimeout(function() {
|
||
t.isHovered || t.isFocused || t._animateOut()
|
||
}, this.options.exitDelay)
|
||
}
|
||
}, {
|
||
key: "_setEnterDelayTimeout",
|
||
value: function(t) {
|
||
var e = this;
|
||
clearTimeout(this._enterDelayTimeout), this._enterDelayTimeout = setTimeout(function() {
|
||
(e.isHovered || e.isFocused || t) && e._animateIn()
|
||
}, this.options.enterDelay)
|
||
}
|
||
}, {
|
||
key: "_positionTooltip",
|
||
value: function() {
|
||
var t, e = this.el,
|
||
i = this.tooltipEl,
|
||
n = e.offsetHeight,
|
||
s = e.offsetWidth,
|
||
o = i.offsetHeight,
|
||
a = i.offsetWidth,
|
||
r = this.options.margin,
|
||
l = void 0,
|
||
h = void 0;
|
||
this.xMovement = 0, this.yMovement = 0, l = e.getBoundingClientRect().top + M.getDocumentScrollTop(), h = e.getBoundingClientRect().left + M.getDocumentScrollLeft(), "top" === this.options.position ? (l += -o - r, h += s / 2 - a / 2, this.yMovement = -this.options.transitionMovement) : "right" === this.options.position ? (l += n / 2 - o / 2, h += s + r, this.xMovement = this.options.transitionMovement) : "left" === this.options.position ? (l += n / 2 - o / 2, h += -a - r, this.xMovement = -this.options.transitionMovement) : (l += n + r, h += s / 2 - a / 2, this.yMovement = this.options.transitionMovement), t = this._repositionWithinScreen(h, l, a, o), d(i).css({
|
||
top: t.y + "px",
|
||
left: t.x + "px"
|
||
})
|
||
}
|
||
}, {
|
||
key: "_repositionWithinScreen",
|
||
value: function(t, e, i, n) {
|
||
var s = M.getDocumentScrollLeft(),
|
||
o = M.getDocumentScrollTop(),
|
||
a = t - s,
|
||
r = e - o,
|
||
l = {
|
||
left: a,
|
||
top: r,
|
||
width: i,
|
||
height: n
|
||
},
|
||
h = this.options.margin + this.options.transitionMovement,
|
||
d = M.checkWithinContainer(document.body, l, h);
|
||
return d.left ? a = h : d.right && (a -= a + i - window.innerWidth), d.top ? r = h : d.bottom && (r -= r + n - window.innerHeight), {
|
||
x: a + s,
|
||
y: r + o
|
||
}
|
||
}
|
||
}, {
|
||
key: "_animateIn",
|
||
value: function() {
|
||
this._positionTooltip(), this.tooltipEl.style.visibility = "visible", e.remove(this.tooltipEl), e({
|
||
targets: this.tooltipEl,
|
||
opacity: 1,
|
||
translateX: this.xMovement,
|
||
translateY: this.yMovement,
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutCubic"
|
||
})
|
||
}
|
||
}, {
|
||
key: "_animateOut",
|
||
value: function() {
|
||
e.remove(this.tooltipEl), e({
|
||
targets: this.tooltipEl,
|
||
opacity: 0,
|
||
translateX: 0,
|
||
translateY: 0,
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutCubic"
|
||
})
|
||
}
|
||
}, {
|
||
key: "_handleMouseEnter",
|
||
value: function() {
|
||
this.isHovered = !0, this.isFocused = !1, this.open(!1)
|
||
}
|
||
}, {
|
||
key: "_handleMouseLeave",
|
||
value: function() {
|
||
this.isHovered = !1, this.isFocused = !1, this.close()
|
||
}
|
||
}, {
|
||
key: "_handleFocus",
|
||
value: function() {
|
||
M.tabPressed && (this.isFocused = !0, this.open(!1))
|
||
}
|
||
}, {
|
||
key: "_handleBlur",
|
||
value: function() {
|
||
this.isFocused = !1, this.close()
|
||
}
|
||
}, {
|
||
key: "_getAttributeOptions",
|
||
value: function() {
|
||
var t = {},
|
||
e = this.el.getAttribute("data-tooltip"),
|
||
i = this.el.getAttribute("data-position");
|
||
return e && (t.html = e), i && (t.position = i), t
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Tooltip
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return i
|
||
}
|
||
}]), n
|
||
}();
|
||
M.Tooltip = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "tooltip", "M_Tooltip")
|
||
}(cash, M.anime),
|
||
function(i) {
|
||
"use strict";
|
||
var t = t || {},
|
||
e = document.querySelectorAll.bind(document);
|
||
|
||
function m(t) {
|
||
var e = "";
|
||
for (var i in t) t.hasOwnProperty(i) && (e += i + ":" + t[i] + ";");
|
||
return e
|
||
}
|
||
var g = {
|
||
duration: 750,
|
||
show: function(t, e) {
|
||
if (2 === t.button) return !1;
|
||
var i = e || this,
|
||
n = document.createElement("div");
|
||
n.className = "waves-ripple", i.appendChild(n);
|
||
var s, o, a, r, l, h, d, u = (h = {
|
||
top: 0,
|
||
left: 0
|
||
}, d = (s = i) && s.ownerDocument, o = d.documentElement, void 0 !== s.getBoundingClientRect && (h = s.getBoundingClientRect()), a = null !== (l = r = d) && l === l.window ? r : 9 === r.nodeType && r.defaultView, {
|
||
top: h.top + a.pageYOffset - o.clientTop,
|
||
left: h.left + a.pageXOffset - o.clientLeft
|
||
}),
|
||
c = t.pageY - u.top,
|
||
p = t.pageX - u.left,
|
||
v = "scale(" + i.clientWidth / 100 * 10 + ")";
|
||
"touches" in t && (c = t.touches[0].pageY - u.top, p = t.touches[0].pageX - u.left), n.setAttribute("data-hold", Date.now()), n.setAttribute("data-scale", v), n.setAttribute("data-x", p), n.setAttribute("data-y", c);
|
||
var f = {
|
||
top: c + "px",
|
||
left: p + "px"
|
||
};
|
||
n.className = n.className + " waves-notransition", n.setAttribute("style", m(f)), n.className = n.className.replace("waves-notransition", ""), f["-webkit-transform"] = v, f["-moz-transform"] = v, f["-ms-transform"] = v, f["-o-transform"] = v, f.transform = v, f.opacity = "1", f["-webkit-transition-duration"] = g.duration + "ms", f["-moz-transition-duration"] = g.duration + "ms", f["-o-transition-duration"] = g.duration + "ms", f["transition-duration"] = g.duration + "ms", f["-webkit-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", f["-moz-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", f["-o-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", f["transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", n.setAttribute("style", m(f))
|
||
},
|
||
hide: function(t) {
|
||
l.touchup(t);
|
||
var e = this,
|
||
i = (e.clientWidth, null),
|
||
n = e.getElementsByClassName("waves-ripple");
|
||
if (!(0 < n.length)) return !1;
|
||
var s = (i = n[n.length - 1]).getAttribute("data-x"),
|
||
o = i.getAttribute("data-y"),
|
||
a = i.getAttribute("data-scale"),
|
||
r = 350 - (Date.now() - Number(i.getAttribute("data-hold")));
|
||
r < 0 && (r = 0), setTimeout(function() {
|
||
var t = {
|
||
top: o + "px",
|
||
left: s + "px",
|
||
opacity: "0",
|
||
"-webkit-transition-duration": g.duration + "ms",
|
||
"-moz-transition-duration": g.duration + "ms",
|
||
"-o-transition-duration": g.duration + "ms",
|
||
"transition-duration": g.duration + "ms",
|
||
"-webkit-transform": a,
|
||
"-moz-transform": a,
|
||
"-ms-transform": a,
|
||
"-o-transform": a,
|
||
transform: a
|
||
};
|
||
i.setAttribute("style", m(t)), setTimeout(function() {
|
||
try {
|
||
e.removeChild(i)
|
||
} catch (t) {
|
||
return !1
|
||
}
|
||
}, g.duration)
|
||
}, r)
|
||
},
|
||
wrapInput: function(t) {
|
||
for (var e = 0; e < t.length; e++) {
|
||
var i = t[e];
|
||
if ("input" === i.tagName.toLowerCase()) {
|
||
var n = i.parentNode;
|
||
if ("i" === n.tagName.toLowerCase() && -1 !== n.className.indexOf("waves-effect")) continue;
|
||
var s = document.createElement("i");
|
||
s.className = i.className + " waves-input-wrapper";
|
||
var o = i.getAttribute("style");
|
||
o || (o = ""), s.setAttribute("style", o), i.className = "waves-button-input", i.removeAttribute("style"), n.replaceChild(s, i), s.appendChild(i)
|
||
}
|
||
}
|
||
}
|
||
},
|
||
l = {
|
||
touches: 0,
|
||
allowEvent: function(t) {
|
||
var e = !0;
|
||
return "touchstart" === t.type ? l.touches += 1 : "touchend" === t.type || "touchcancel" === t.type ? setTimeout(function() {
|
||
0 < l.touches && (l.touches -= 1)
|
||
}, 500) : "mousedown" === t.type && 0 < l.touches && (e = !1), e
|
||
},
|
||
touchup: function(t) {
|
||
l.allowEvent(t)
|
||
}
|
||
};
|
||
|
||
function n(t) {
|
||
var e = function(t) {
|
||
if (!1 === l.allowEvent(t)) return null;
|
||
for (var e = null, i = t.target || t.srcElement; null !== i.parentNode;) {
|
||
if (!(i instanceof SVGElement) && -1 !== i.className.indexOf("waves-effect")) {
|
||
e = i;
|
||
break
|
||
}
|
||
i = i.parentNode
|
||
}
|
||
return e
|
||
}(t);
|
||
null !== e && (g.show(t, e), "ontouchstart" in i && (e.addEventListener("touchend", g.hide, !1), e.addEventListener("touchcancel", g.hide, !1)), e.addEventListener("mouseup", g.hide, !1), e.addEventListener("mouseleave", g.hide, !1), e.addEventListener("dragend", g.hide, !1))
|
||
}
|
||
t.displayEffect = function(t) {
|
||
"duration" in (t = t || {}) && (g.duration = t.duration), g.wrapInput(e(".waves-effect")), "ontouchstart" in i && document.body.addEventListener("touchstart", n, !1), document.body.addEventListener("mousedown", n, !1)
|
||
}, t.attach = function(t) {
|
||
"input" === t.tagName.toLowerCase() && (g.wrapInput([t]), t = t.parentNode), "ontouchstart" in i && t.addEventListener("touchstart", n, !1), t.addEventListener("mousedown", n, !1)
|
||
}, i.Waves = t, document.addEventListener("DOMContentLoaded", function() {
|
||
t.displayEffect()
|
||
}, !1)
|
||
}(window),
|
||
function(i, n) {
|
||
"use strict";
|
||
var t = {
|
||
html: "",
|
||
displayLength: 4e3,
|
||
inDuration: 300,
|
||
outDuration: 375,
|
||
classes: "",
|
||
completeCallback: null,
|
||
activationPercent: .8
|
||
},
|
||
e = function() {
|
||
function s(t) {
|
||
_classCallCheck(this, s), this.options = i.extend({}, s.defaults, t), this.message = this.options.html, this.panning = !1, this.timeRemaining = this.options.displayLength, 0 === s._toasts.length && s._createContainer(), s._toasts.push(this);
|
||
var e = this._createToast();
|
||
(e.M_Toast = this).el = e, this.$el = i(e), this._animateIn(), this._setTimer()
|
||
}
|
||
return _createClass(s, [{
|
||
key: "_createToast",
|
||
value: function() {
|
||
var t = document.createElement("div");
|
||
return t.classList.add("toast"), this.options.classes.length && i(t).addClass(this.options.classes), ("object" == typeof HTMLElement ? this.message instanceof HTMLElement : this.message && "object" == typeof this.message && null !== this.message && 1 === this.message.nodeType && "string" == typeof this.message.nodeName) ? t.appendChild(this.message) : this.message.jquery ? i(t).append(this.message[0]) : t.innerHTML = this.message, s._container.appendChild(t), t
|
||
}
|
||
}, {
|
||
key: "_animateIn",
|
||
value: function() {
|
||
n({
|
||
targets: this.el,
|
||
top: 0,
|
||
opacity: 1,
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutCubic"
|
||
})
|
||
}
|
||
}, {
|
||
key: "_setTimer",
|
||
value: function() {
|
||
var t = this;
|
||
this.timeRemaining !== 1 / 0 && (this.counterInterval = setInterval(function() {
|
||
t.panning || (t.timeRemaining -= 20), t.timeRemaining <= 0 && t.dismiss()
|
||
}, 20))
|
||
}
|
||
}, {
|
||
key: "dismiss",
|
||
value: function() {
|
||
var t = this;
|
||
window.clearInterval(this.counterInterval);
|
||
var e = this.el.offsetWidth * this.options.activationPercent;
|
||
this.wasSwiped && (this.el.style.transition = "transform .05s, opacity .05s", this.el.style.transform = "translateX(" + e + "px)", this.el.style.opacity = 0), n({
|
||
targets: this.el,
|
||
opacity: 0,
|
||
marginTop: -40,
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutExpo",
|
||
complete: function() {
|
||
"function" == typeof t.options.completeCallback && t.options.completeCallback(), t.$el.remove(), s._toasts.splice(s._toasts.indexOf(t), 1), 0 === s._toasts.length && s._removeContainer()
|
||
}
|
||
})
|
||
}
|
||
}], [{
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Toast
|
||
}
|
||
}, {
|
||
key: "_createContainer",
|
||
value: function() {
|
||
var t = document.createElement("div");
|
||
t.setAttribute("id", "toast-container"), t.addEventListener("touchstart", s._onDragStart), t.addEventListener("touchmove", s._onDragMove), t.addEventListener("touchend", s._onDragEnd), t.addEventListener("mousedown", s._onDragStart), document.addEventListener("mousemove", s._onDragMove), document.addEventListener("mouseup", s._onDragEnd), document.body.appendChild(t), s._container = t
|
||
}
|
||
}, {
|
||
key: "_removeContainer",
|
||
value: function() {
|
||
document.removeEventListener("mousemove", s._onDragMove), document.removeEventListener("mouseup", s._onDragEnd), i(s._container).remove(), s._container = null
|
||
}
|
||
}, {
|
||
key: "_onDragStart",
|
||
value: function(t) {
|
||
if (t.target && i(t.target).closest(".toast").length) {
|
||
var e = i(t.target).closest(".toast")[0].M_Toast;
|
||
e.panning = !0, (s._draggedToast = e).el.classList.add("panning"), e.el.style.transition = "", e.startingXPos = s._xPos(t), e.time = Date.now(), e.xPos = s._xPos(t)
|
||
}
|
||
}
|
||
}, {
|
||
key: "_onDragMove",
|
||
value: function(t) {
|
||
if (s._draggedToast) {
|
||
t.preventDefault();
|
||
var e = s._draggedToast;
|
||
e.deltaX = Math.abs(e.xPos - s._xPos(t)), e.xPos = s._xPos(t), e.velocityX = e.deltaX / (Date.now() - e.time), e.time = Date.now();
|
||
var i = e.xPos - e.startingXPos,
|
||
n = e.el.offsetWidth * e.options.activationPercent;
|
||
e.el.style.transform = "translateX(" + i + "px)", e.el.style.opacity = 1 - Math.abs(i / n)
|
||
}
|
||
}
|
||
}, {
|
||
key: "_onDragEnd",
|
||
value: function() {
|
||
if (s._draggedToast) {
|
||
var t = s._draggedToast;
|
||
t.panning = !1, t.el.classList.remove("panning");
|
||
var e = t.xPos - t.startingXPos,
|
||
i = t.el.offsetWidth * t.options.activationPercent;
|
||
Math.abs(e) > i || 1 < t.velocityX ? (t.wasSwiped = !0, t.dismiss()) : (t.el.style.transition = "transform .2s, opacity .2s", t.el.style.transform = "", t.el.style.opacity = ""), s._draggedToast = null
|
||
}
|
||
}
|
||
}, {
|
||
key: "_xPos",
|
||
value: function(t) {
|
||
return t.targetTouches && 1 <= t.targetTouches.length ? t.targetTouches[0].clientX : t.clientX
|
||
}
|
||
}, {
|
||
key: "dismissAll",
|
||
value: function() {
|
||
for (var t in s._toasts) s._toasts[t].dismiss()
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return t
|
||
}
|
||
}]), s
|
||
}();
|
||
e._toasts = [], e._container = null, e._draggedToast = null, M.Toast = e, M.toast = function(t) {
|
||
return new e(t)
|
||
}
|
||
}(cash, M.anime),
|
||
function(s, o) {
|
||
"use strict";
|
||
var e = {
|
||
edge: "left",
|
||
draggable: !0,
|
||
inDuration: 250,
|
||
outDuration: 200,
|
||
onOpenStart: null,
|
||
onOpenEnd: null,
|
||
onCloseStart: null,
|
||
onCloseEnd: null,
|
||
preventScrolling: !0
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_Sidenav = i).id = i.$el.attr("id"), i.options = s.extend({}, n.defaults, e), i.isOpen = !1, i.isFixed = i.el.classList.contains("sidenav-fixed"), i.isDragged = !1, i.lastWindowWidth = window.innerWidth, i.lastWindowHeight = window.innerHeight, i._createOverlay(), i._createDragTarget(), i._setupEventHandlers(), i._setupClasses(), i._setupFixed(), n._sidenavs.push(i), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this._enableBodyScrolling(), this._overlay.parentNode.removeChild(this._overlay), this.dragTarget.parentNode.removeChild(this.dragTarget), this.el.M_Sidenav = void 0, this.el.style.transform = "";
|
||
var t = n._sidenavs.indexOf(this);
|
||
0 <= t && n._sidenavs.splice(t, 1)
|
||
}
|
||
}, {
|
||
key: "_createOverlay",
|
||
value: function() {
|
||
var t = document.createElement("div");
|
||
this._closeBound = this.close.bind(this), t.classList.add("sidenav-overlay"), t.addEventListener("click", this._closeBound), document.body.appendChild(t), this._overlay = t
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
0 === n._sidenavs.length && document.body.addEventListener("click", this._handleTriggerClick), this._handleDragTargetDragBound = this._handleDragTargetDrag.bind(this), this._handleDragTargetReleaseBound = this._handleDragTargetRelease.bind(this), this._handleCloseDragBound = this._handleCloseDrag.bind(this), this._handleCloseReleaseBound = this._handleCloseRelease.bind(this), this._handleCloseTriggerClickBound = this._handleCloseTriggerClick.bind(this), this.dragTarget.addEventListener("touchmove", this._handleDragTargetDragBound), this.dragTarget.addEventListener("touchend", this._handleDragTargetReleaseBound), this._overlay.addEventListener("touchmove", this._handleCloseDragBound), this._overlay.addEventListener("touchend", this._handleCloseReleaseBound), this.el.addEventListener("touchmove", this._handleCloseDragBound), this.el.addEventListener("touchend", this._handleCloseReleaseBound), this.el.addEventListener("click", this._handleCloseTriggerClickBound), this.isFixed && (this._handleWindowResizeBound = this._handleWindowResize.bind(this), window.addEventListener("resize", this._handleWindowResizeBound))
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
1 === n._sidenavs.length && document.body.removeEventListener("click", this._handleTriggerClick), this.dragTarget.removeEventListener("touchmove", this._handleDragTargetDragBound), this.dragTarget.removeEventListener("touchend", this._handleDragTargetReleaseBound), this._overlay.removeEventListener("touchmove", this._handleCloseDragBound), this._overlay.removeEventListener("touchend", this._handleCloseReleaseBound), this.el.removeEventListener("touchmove", this._handleCloseDragBound), this.el.removeEventListener("touchend", this._handleCloseReleaseBound), this.el.removeEventListener("click", this._handleCloseTriggerClickBound), this.isFixed && window.removeEventListener("resize", this._handleWindowResizeBound)
|
||
}
|
||
}, {
|
||
key: "_handleTriggerClick",
|
||
value: function(t) {
|
||
var e = s(t.target).closest(".sidenav-trigger");
|
||
if (t.target && e.length) {
|
||
var i = M.getIdFromTrigger(e[0]),
|
||
n = document.getElementById(i).M_Sidenav;
|
||
n && n.open(e), t.preventDefault()
|
||
}
|
||
}
|
||
}, {
|
||
key: "_startDrag",
|
||
value: function(t) {
|
||
var e = t.targetTouches[0].clientX;
|
||
this.isDragged = !0, this._startingXpos = e, this._xPos = this._startingXpos, this._time = Date.now(), this._width = this.el.getBoundingClientRect().width, this._overlay.style.display = "block", this._initialScrollTop = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop(), this._verticallyScrolling = !1, o.remove(this.el), o.remove(this._overlay)
|
||
}
|
||
}, {
|
||
key: "_dragMoveUpdate",
|
||
value: function(t) {
|
||
var e = t.targetTouches[0].clientX,
|
||
i = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop();
|
||
this.deltaX = Math.abs(this._xPos - e), this._xPos = e, this.velocityX = this.deltaX / (Date.now() - this._time), this._time = Date.now(), this._initialScrollTop !== i && (this._verticallyScrolling = !0)
|
||
}
|
||
}, {
|
||
key: "_handleDragTargetDrag",
|
||
value: function(t) {
|
||
if (this.options.draggable && !this._isCurrentlyFixed() && !this._verticallyScrolling) {
|
||
this.isDragged || this._startDrag(t), this._dragMoveUpdate(t);
|
||
var e = this._xPos - this._startingXpos,
|
||
i = 0 < e ? "right" : "left";
|
||
e = Math.min(this._width, Math.abs(e)), this.options.edge === i && (e = 0);
|
||
var n = e,
|
||
s = "translateX(-100%)";
|
||
"right" === this.options.edge && (s = "translateX(100%)", n = -n), this.percentOpen = Math.min(1, e / this._width), this.el.style.transform = s + " translateX(" + n + "px)", this._overlay.style.opacity = this.percentOpen
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleDragTargetRelease",
|
||
value: function() {
|
||
this.isDragged && (.2 < this.percentOpen ? this.open() : this._animateOut(), this.isDragged = !1, this._verticallyScrolling = !1)
|
||
}
|
||
}, {
|
||
key: "_handleCloseDrag",
|
||
value: function(t) {
|
||
if (this.isOpen) {
|
||
if (!this.options.draggable || this._isCurrentlyFixed() || this._verticallyScrolling) return;
|
||
this.isDragged || this._startDrag(t), this._dragMoveUpdate(t);
|
||
var e = this._xPos - this._startingXpos,
|
||
i = 0 < e ? "right" : "left";
|
||
e = Math.min(this._width, Math.abs(e)), this.options.edge !== i && (e = 0);
|
||
var n = -e;
|
||
"right" === this.options.edge && (n = -n), this.percentOpen = Math.min(1, 1 - e / this._width), this.el.style.transform = "translateX(" + n + "px)", this._overlay.style.opacity = this.percentOpen
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleCloseRelease",
|
||
value: function() {
|
||
this.isOpen && this.isDragged && (.8 < this.percentOpen ? this._animateIn() : this.close(), this.isDragged = !1, this._verticallyScrolling = !1)
|
||
}
|
||
}, {
|
||
key: "_handleCloseTriggerClick",
|
||
value: function(t) {
|
||
s(t.target).closest(".sidenav-close").length && !this._isCurrentlyFixed() && this.close()
|
||
}
|
||
}, {
|
||
key: "_handleWindowResize",
|
||
value: function() {
|
||
this.lastWindowWidth !== window.innerWidth && (992 < window.innerWidth ? this.open() : this.close()), this.lastWindowWidth = window.innerWidth, this.lastWindowHeight = window.innerHeight
|
||
}
|
||
}, {
|
||
key: "_setupClasses",
|
||
value: function() {
|
||
"right" === this.options.edge && (this.el.classList.add("right-aligned"), this.dragTarget.classList.add("right-aligned"))
|
||
}
|
||
}, {
|
||
key: "_removeClasses",
|
||
value: function() {
|
||
this.el.classList.remove("right-aligned"), this.dragTarget.classList.remove("right-aligned")
|
||
}
|
||
}, {
|
||
key: "_setupFixed",
|
||
value: function() {
|
||
this._isCurrentlyFixed() && this.open()
|
||
}
|
||
}, {
|
||
key: "_isCurrentlyFixed",
|
||
value: function() {
|
||
return this.isFixed && 992 < window.innerWidth
|
||
}
|
||
}, {
|
||
key: "_createDragTarget",
|
||
value: function() {
|
||
var t = document.createElement("div");
|
||
t.classList.add("drag-target"), document.body.appendChild(t), this.dragTarget = t
|
||
}
|
||
}, {
|
||
key: "_preventBodyScrolling",
|
||
value: function() {
|
||
document.body.style.overflow = "hidden"
|
||
}
|
||
}, {
|
||
key: "_enableBodyScrolling",
|
||
value: function() {
|
||
document.body.style.overflow = ""
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function() {
|
||
!0 !== this.isOpen && (this.isOpen = !0, "function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, this.el), this._isCurrentlyFixed() ? (o.remove(this.el), o({
|
||
targets: this.el,
|
||
translateX: 0,
|
||
duration: 0,
|
||
easing: "easeOutQuad"
|
||
}), this._enableBodyScrolling(), this._overlay.style.display = "none") : (this.options.preventScrolling && this._preventBodyScrolling(), this.isDragged && 1 == this.percentOpen || this._animateIn()))
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
if (!1 !== this.isOpen)
|
||
if (this.isOpen = !1, "function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, this.el), this._isCurrentlyFixed()) {
|
||
var t = "left" === this.options.edge ? "-105%" : "105%";
|
||
this.el.style.transform = "translateX(" + t + ")"
|
||
} else this._enableBodyScrolling(), this.isDragged && 0 == this.percentOpen ? this._overlay.style.display = "none" : this._animateOut()
|
||
}
|
||
}, {
|
||
key: "_animateIn",
|
||
value: function() {
|
||
this._animateSidenavIn(), this._animateOverlayIn()
|
||
}
|
||
}, {
|
||
key: "_animateSidenavIn",
|
||
value: function() {
|
||
var t = this,
|
||
e = "left" === this.options.edge ? -1 : 1;
|
||
this.isDragged && (e = "left" === this.options.edge ? e + this.percentOpen : e - this.percentOpen), o.remove(this.el), o({
|
||
targets: this.el,
|
||
translateX: [100 * e + "%", 0],
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutQuad",
|
||
complete: function() {
|
||
"function" == typeof t.options.onOpenEnd && t.options.onOpenEnd.call(t, t.el)
|
||
}
|
||
})
|
||
}
|
||
}, {
|
||
key: "_animateOverlayIn",
|
||
value: function() {
|
||
var t = 0;
|
||
this.isDragged ? t = this.percentOpen : s(this._overlay).css({
|
||
display: "block"
|
||
}), o.remove(this._overlay), o({
|
||
targets: this._overlay,
|
||
opacity: [t, 1],
|
||
duration: this.options.inDuration,
|
||
easing: "easeOutQuad"
|
||
})
|
||
}
|
||
}, {
|
||
key: "_animateOut",
|
||
value: function() {
|
||
this._animateSidenavOut(), this._animateOverlayOut()
|
||
}
|
||
}, {
|
||
key: "_animateSidenavOut",
|
||
value: function() {
|
||
var t = this,
|
||
e = "left" === this.options.edge ? -1 : 1,
|
||
i = 0;
|
||
this.isDragged && (i = "left" === this.options.edge ? e + this.percentOpen : e - this.percentOpen), o.remove(this.el), o({
|
||
targets: this.el,
|
||
translateX: [100 * i + "%", 105 * e + "%"],
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutQuad",
|
||
complete: function() {
|
||
"function" == typeof t.options.onCloseEnd && t.options.onCloseEnd.call(t, t.el)
|
||
}
|
||
})
|
||
}
|
||
}, {
|
||
key: "_animateOverlayOut",
|
||
value: function() {
|
||
var t = this;
|
||
o.remove(this._overlay), o({
|
||
targets: this._overlay,
|
||
opacity: 0,
|
||
duration: this.options.outDuration,
|
||
easing: "easeOutQuad",
|
||
complete: function() {
|
||
s(t._overlay).css("display", "none")
|
||
}
|
||
})
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Sidenav
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
t._sidenavs = [], M.Sidenav = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "sidenav", "M_Sidenav")
|
||
}(cash, M.anime),
|
||
function(o, a) {
|
||
"use strict";
|
||
var e = {
|
||
throttle: 100,
|
||
scrollOffset: 200,
|
||
activeClass: "active",
|
||
getActiveElement: function(t) {
|
||
return 'a[href="#' + t + '"]'
|
||
}
|
||
},
|
||
t = function(t) {
|
||
function c(t, e) {
|
||
_classCallCheck(this, c);
|
||
var i = _possibleConstructorReturn(this, (c.__proto__ || Object.getPrototypeOf(c)).call(this, c, t, e));
|
||
return (i.el.M_ScrollSpy = i).options = o.extend({}, c.defaults, e), c._elements.push(i), c._count++, c._increment++, i.tickId = -1, i.id = c._increment, i._setupEventHandlers(), i._handleWindowScroll(), i
|
||
}
|
||
return _inherits(c, Component), _createClass(c, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
c._elements.splice(c._elements.indexOf(this), 1), c._elementsInView.splice(c._elementsInView.indexOf(this), 1), c._visibleElements.splice(c._visibleElements.indexOf(this.$el), 1), c._count--, this._removeEventHandlers(), o(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass), this.el.M_ScrollSpy = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
var t = M.throttle(this._handleWindowScroll, 200);
|
||
this._handleThrottledResizeBound = t.bind(this), this._handleWindowScrollBound = this._handleWindowScroll.bind(this), 1 === c._count && (window.addEventListener("scroll", this._handleWindowScrollBound), window.addEventListener("resize", this._handleThrottledResizeBound), document.body.addEventListener("click", this._handleTriggerClick))
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
0 === c._count && (window.removeEventListener("scroll", this._handleWindowScrollBound), window.removeEventListener("resize", this._handleThrottledResizeBound), document.body.removeEventListener("click", this._handleTriggerClick))
|
||
}
|
||
}, {
|
||
key: "_handleTriggerClick",
|
||
value: function(t) {
|
||
for (var e = o(t.target), i = c._elements.length - 1; 0 <= i; i--) {
|
||
var n = c._elements[i];
|
||
if (e.is('a[href="#' + n.$el.attr("id") + '"]')) {
|
||
t.preventDefault();
|
||
var s = n.$el.offset().top + 1;
|
||
a({
|
||
targets: [document.documentElement, document.body],
|
||
scrollTop: s - n.options.scrollOffset,
|
||
duration: 400,
|
||
easing: "easeOutCubic"
|
||
});
|
||
break
|
||
}
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleWindowScroll",
|
||
value: function() {
|
||
c._ticks++;
|
||
for (var t = M.getDocumentScrollTop(), e = M.getDocumentScrollLeft(), i = e + window.innerWidth, n = t + window.innerHeight, s = c._findElements(t, i, n, e), o = 0; o < s.length; o++) {
|
||
var a = s[o];
|
||
a.tickId < 0 && a._enter(), a.tickId = c._ticks
|
||
}
|
||
for (var r = 0; r < c._elementsInView.length; r++) {
|
||
var l = c._elementsInView[r],
|
||
h = l.tickId;
|
||
0 <= h && h !== c._ticks && (l._exit(), l.tickId = -1)
|
||
}
|
||
c._elementsInView = s
|
||
}
|
||
}, {
|
||
key: "_enter",
|
||
value: function() {
|
||
(c._visibleElements = c._visibleElements.filter(function(t) {
|
||
return 0 != t.height()
|
||
}))[0] ? (o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass), c._visibleElements[0][0].M_ScrollSpy && this.id < c._visibleElements[0][0].M_ScrollSpy.id ? c._visibleElements.unshift(this.$el) : c._visibleElements.push(this.$el)) : c._visibleElements.push(this.$el), o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass)
|
||
}
|
||
}, {
|
||
key: "_exit",
|
||
value: function() {
|
||
var e = this;
|
||
(c._visibleElements = c._visibleElements.filter(function(t) {
|
||
return 0 != t.height()
|
||
}))[0] && (o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass), (c._visibleElements = c._visibleElements.filter(function(t) {
|
||
return t.attr("id") != e.$el.attr("id")
|
||
}))[0] && o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass))
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(c.__proto__ || Object.getPrototypeOf(c), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_ScrollSpy
|
||
}
|
||
}, {
|
||
key: "_findElements",
|
||
value: function(t, e, i, n) {
|
||
for (var s = [], o = 0; o < c._elements.length; o++) {
|
||
var a = c._elements[o],
|
||
r = t + a.options.scrollOffset || 200;
|
||
if (0 < a.$el.height()) {
|
||
var l = a.$el.offset().top,
|
||
h = a.$el.offset().left,
|
||
d = h + a.$el.width(),
|
||
u = l + a.$el.height();
|
||
!(e < h || d < n || i < l || u < r) && s.push(a)
|
||
}
|
||
}
|
||
return s
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), c
|
||
}();
|
||
t._elements = [], t._elementsInView = [], t._visibleElements = [], t._count = 0, t._increment = 0, t._ticks = 0, M.ScrollSpy = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "scrollSpy", "M_ScrollSpy")
|
||
}(cash, M.anime),
|
||
function(h) {
|
||
"use strict";
|
||
var e = {
|
||
data: {},
|
||
limit: 1 / 0,
|
||
onAutocomplete: null,
|
||
minLength: 1,
|
||
sortFunction: function(t, e, i) {
|
||
return t.indexOf(i) - e.indexOf(i)
|
||
}
|
||
},
|
||
t = function(t) {
|
||
function s(t, e) {
|
||
_classCallCheck(this, s);
|
||
var i = _possibleConstructorReturn(this, (s.__proto__ || Object.getPrototypeOf(s)).call(this, s, t, e));
|
||
return (i.el.M_Autocomplete = i).options = h.extend({}, s.defaults, e), i.isOpen = !1, i.count = 0, i.activeIndex = -1, i.oldVal, i.$inputField = i.$el.closest(".input-field"), i.$active = h(), i._mousedown = !1, i._setupDropdown(), i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(s, Component), _createClass(s, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this._removeDropdown(), this.el.M_Autocomplete = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleInputBlurBound = this._handleInputBlur.bind(this), this._handleInputKeyupAndFocusBound = this._handleInputKeyupAndFocus.bind(this), this._handleInputKeydownBound = this._handleInputKeydown.bind(this), this._handleInputClickBound = this._handleInputClick.bind(this), this._handleContainerMousedownAndTouchstartBound = this._handleContainerMousedownAndTouchstart.bind(this), this._handleContainerMouseupAndTouchendBound = this._handleContainerMouseupAndTouchend.bind(this), this.el.addEventListener("blur", this._handleInputBlurBound), this.el.addEventListener("keyup", this._handleInputKeyupAndFocusBound), this.el.addEventListener("focus", this._handleInputKeyupAndFocusBound), this.el.addEventListener("keydown", this._handleInputKeydownBound), this.el.addEventListener("click", this._handleInputClickBound), this.container.addEventListener("mousedown", this._handleContainerMousedownAndTouchstartBound), this.container.addEventListener("mouseup", this._handleContainerMouseupAndTouchendBound), void 0 !== window.ontouchstart && (this.container.addEventListener("touchstart", this._handleContainerMousedownAndTouchstartBound), this.container.addEventListener("touchend", this._handleContainerMouseupAndTouchendBound))
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("blur", this._handleInputBlurBound), this.el.removeEventListener("keyup", this._handleInputKeyupAndFocusBound), this.el.removeEventListener("focus", this._handleInputKeyupAndFocusBound), this.el.removeEventListener("keydown", this._handleInputKeydownBound), this.el.removeEventListener("click", this._handleInputClickBound), this.container.removeEventListener("mousedown", this._handleContainerMousedownAndTouchstartBound), this.container.removeEventListener("mouseup", this._handleContainerMouseupAndTouchendBound), void 0 !== window.ontouchstart && (this.container.removeEventListener("touchstart", this._handleContainerMousedownAndTouchstartBound), this.container.removeEventListener("touchend", this._handleContainerMouseupAndTouchendBound))
|
||
}
|
||
}, {
|
||
key: "_setupDropdown",
|
||
value: function() {
|
||
var e = this;
|
||
this.container = document.createElement("ul"), this.container.id = "autocomplete-options-" + M.guid(), h(this.container).addClass("autocomplete-content dropdown-content"), this.$inputField.append(this.container), this.el.setAttribute("data-target", this.container.id), this.dropdown = M.Dropdown.init(this.el, {
|
||
autoFocus: !1,
|
||
closeOnClick: !1,
|
||
coverTrigger: !1,
|
||
onItemClick: function(t) {
|
||
e.selectOption(h(t))
|
||
}
|
||
}), this.el.removeEventListener("click", this.dropdown._handleClickBound)
|
||
}
|
||
}, {
|
||
key: "_removeDropdown",
|
||
value: function() {
|
||
this.container.parentNode.removeChild(this.container)
|
||
}
|
||
}, {
|
||
key: "_handleInputBlur",
|
||
value: function() {
|
||
this._mousedown || (this.close(), this._resetAutocomplete())
|
||
}
|
||
}, {
|
||
key: "_handleInputKeyupAndFocus",
|
||
value: function(t) {
|
||
"keyup" === t.type && (s._keydown = !1), this.count = 0;
|
||
var e = this.el.value.toLowerCase();
|
||
13 !== t.keyCode && 38 !== t.keyCode && 40 !== t.keyCode && (this.oldVal === e || !M.tabPressed && "focus" === t.type || this.open(), this.oldVal = e)
|
||
}
|
||
}, {
|
||
key: "_handleInputKeydown",
|
||
value: function(t) {
|
||
s._keydown = !0;
|
||
var e = t.keyCode,
|
||
i = void 0,
|
||
n = h(this.container).children("li").length;
|
||
e === M.keys.ENTER && 0 <= this.activeIndex ? (i = h(this.container).children("li").eq(this.activeIndex)).length && (this.selectOption(i), t.preventDefault()) : e !== M.keys.ARROW_UP && e !== M.keys.ARROW_DOWN || (t.preventDefault(), e === M.keys.ARROW_UP && 0 < this.activeIndex && this.activeIndex--, e === M.keys.ARROW_DOWN && this.activeIndex < n - 1 && this.activeIndex++, this.$active.removeClass("active"), 0 <= this.activeIndex && (this.$active = h(this.container).children("li").eq(this.activeIndex), this.$active.addClass("active")))
|
||
}
|
||
}, {
|
||
key: "_handleInputClick",
|
||
value: function(t) {
|
||
this.open()
|
||
}
|
||
}, {
|
||
key: "_handleContainerMousedownAndTouchstart",
|
||
value: function(t) {
|
||
this._mousedown = !0
|
||
}
|
||
}, {
|
||
key: "_handleContainerMouseupAndTouchend",
|
||
value: function(t) {
|
||
this._mousedown = !1
|
||
}
|
||
}, {
|
||
key: "_highlight",
|
||
value: function(t, e) {
|
||
var i = e.find("img"),
|
||
n = e.text().toLowerCase().indexOf("" + t.toLowerCase()),
|
||
s = n + t.length - 1,
|
||
o = e.text().slice(0, n),
|
||
a = e.text().slice(n, s + 1),
|
||
r = e.text().slice(s + 1);
|
||
e.html("<span>" + o + "<span class='highlight'>" + a + "</span>" + r + "</span>"), i.length && e.prepend(i)
|
||
}
|
||
}, {
|
||
key: "_resetCurrentElement",
|
||
value: function() {
|
||
this.activeIndex = -1, this.$active.removeClass("active")
|
||
}
|
||
}, {
|
||
key: "_resetAutocomplete",
|
||
value: function() {
|
||
h(this.container).empty(), this._resetCurrentElement(), this.oldVal = null, this.isOpen = !1, this._mousedown = !1
|
||
}
|
||
}, {
|
||
key: "selectOption",
|
||
value: function(t) {
|
||
var e = t.text().trim();
|
||
this.el.value = e, this.$el.trigger("change"), this._resetAutocomplete(), this.close(), "function" == typeof this.options.onAutocomplete && this.options.onAutocomplete.call(this, e)
|
||
}
|
||
}, {
|
||
key: "_renderDropdown",
|
||
value: function(t, i) {
|
||
var n = this;
|
||
this._resetAutocomplete();
|
||
var e = [];
|
||
for (var s in t)
|
||
if (t.hasOwnProperty(s) && -1 !== s.toLowerCase().indexOf(i)) {
|
||
if (this.count >= this.options.limit) break;
|
||
var o = {
|
||
data: t[s],
|
||
key: s
|
||
};
|
||
e.push(o), this.count++
|
||
} if (this.options.sortFunction) {
|
||
e.sort(function(t, e) {
|
||
return n.options.sortFunction(t.key.toLowerCase(), e.key.toLowerCase(), i.toLowerCase())
|
||
})
|
||
}
|
||
for (var a = 0; a < e.length; a++) {
|
||
var r = e[a],
|
||
l = h("<li></li>");
|
||
r.data ? l.append('<img src="' + r.data + '" class="right circle"><span>' + r.key + "</span>") : l.append("<span>" + r.key + "</span>"), h(this.container).append(l), this._highlight(i, l)
|
||
}
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function() {
|
||
var t = this.el.value.toLowerCase();
|
||
this._resetAutocomplete(), t.length >= this.options.minLength && (this.isOpen = !0, this._renderDropdown(this.options.data, t)), this.dropdown.isOpen ? this.dropdown.recalculateDimensions() : this.dropdown.open()
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
this.dropdown.close()
|
||
}
|
||
}, {
|
||
key: "updateData",
|
||
value: function(t) {
|
||
var e = this.el.value.toLowerCase();
|
||
this.options.data = t, this.isOpen && this._renderDropdown(t, e)
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(s.__proto__ || Object.getPrototypeOf(s), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Autocomplete
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), s
|
||
}();
|
||
t._keydown = !1, M.Autocomplete = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "autocomplete", "M_Autocomplete")
|
||
}(cash),
|
||
function(d) {
|
||
M.updateTextFields = function() {
|
||
d("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(t, e) {
|
||
var i = d(this);
|
||
0 < t.value.length || d(t).is(":focus") || t.autofocus || null !== i.attr("placeholder") ? i.siblings("label").addClass("active") : t.validity ? i.siblings("label").toggleClass("active", !0 === t.validity.badInput) : i.siblings("label").removeClass("active")
|
||
})
|
||
}, M.validate_field = function(t) {
|
||
var e = null !== t.attr("data-length"),
|
||
i = parseInt(t.attr("data-length")),
|
||
n = t[0].value.length;
|
||
0 !== n || !1 !== t[0].validity.badInput || t.is(":required") ? t.hasClass("validate") && (t.is(":valid") && e && n <= i || t.is(":valid") && !e ? (t.removeClass("invalid"), t.addClass("valid")) : (t.removeClass("valid"), t.addClass("invalid"))) : t.hasClass("validate") && (t.removeClass("valid"), t.removeClass("invalid"))
|
||
}, M.textareaAutoResize = function(t) {
|
||
if (t instanceof Element && (t = d(t)), t.length) {
|
||
var e = d(".hiddendiv").first();
|
||
e.length || (e = d('<div class="hiddendiv common"></div>'), d("body").append(e));
|
||
var i = t.css("font-family"),
|
||
n = t.css("font-size"),
|
||
s = t.css("line-height"),
|
||
o = t.css("padding-top"),
|
||
a = t.css("padding-right"),
|
||
r = t.css("padding-bottom"),
|
||
l = t.css("padding-left");
|
||
n && e.css("font-size", n), i && e.css("font-family", i), s && e.css("line-height", s), o && e.css("padding-top", o), a && e.css("padding-right", a), r && e.css("padding-bottom", r), l && e.css("padding-left", l), t.data("original-height") || t.data("original-height", t.height()), "off" === t.attr("wrap") && e.css("overflow-wrap", "normal").css("white-space", "pre"), e.text(t[0].value + "\n");
|
||
var h = e.html().replace(/\n/g, "<br>");
|
||
e.html(h), 0 < t[0].offsetWidth && 0 < t[0].offsetHeight ? e.css("width", t.width() + "px") : e.css("width", window.innerWidth / 2 + "px"), t.data("original-height") <= e.innerHeight() ? t.css("height", e.innerHeight() + "px") : t[0].value.length < t.data("previous-length") && t.css("height", t.data("original-height") + "px"), t.data("previous-length", t[0].value.length)
|
||
} else console.error("No textarea element found")
|
||
}, d(document).ready(function() {
|
||
var n = "input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea";
|
||
d(document).on("change", n, function() {
|
||
0 === this.value.length && null === d(this).attr("placeholder") || d(this).siblings("label").addClass("active"), M.validate_field(d(this))
|
||
}), d(document).ready(function() {
|
||
M.updateTextFields()
|
||
}), d(document).on("reset", function(t) {
|
||
var e = d(t.target);
|
||
e.is("form") && (e.find(n).removeClass("valid").removeClass("invalid"), e.find(n).each(function(t) {
|
||
this.value.length && d(this).siblings("label").removeClass("active")
|
||
}), setTimeout(function() {
|
||
e.find("select").each(function() {
|
||
this.M_FormSelect && d(this).trigger("change")
|
||
})
|
||
}, 0))
|
||
}), document.addEventListener("focus", function(t) {
|
||
d(t.target).is(n) && d(t.target).siblings("label, .prefix").addClass("active")
|
||
}, !0), document.addEventListener("blur", function(t) {
|
||
var e = d(t.target);
|
||
if (e.is(n)) {
|
||
var i = ".prefix";
|
||
0 === e[0].value.length && !0 !== e[0].validity.badInput && null === e.attr("placeholder") && (i += ", label"), e.siblings(i).removeClass("active"), M.validate_field(e)
|
||
}
|
||
}, !0);
|
||
d(document).on("keyup", "input[type=radio], input[type=checkbox]", function(t) {
|
||
if (t.which === M.keys.TAB) return d(this).addClass("tabbed"), void d(this).one("blur", function(t) {
|
||
d(this).removeClass("tabbed")
|
||
})
|
||
});
|
||
var t = ".materialize-textarea";
|
||
d(t).each(function() {
|
||
var t = d(this);
|
||
t.data("original-height", t.height()), t.data("previous-length", this.value.length), M.textareaAutoResize(t)
|
||
}), d(document).on("keyup", t, function() {
|
||
M.textareaAutoResize(d(this))
|
||
}), d(document).on("keydown", t, function() {
|
||
M.textareaAutoResize(d(this))
|
||
}), d(document).on("change", '.file-field input[type="file"]', function() {
|
||
for (var t = d(this).closest(".file-field").find("input.file-path"), e = d(this)[0].files, i = [], n = 0; n < e.length; n++) i.push(e[n].name);
|
||
t[0].value = i.join(", "), t.trigger("change")
|
||
})
|
||
})
|
||
}(cash),
|
||
function(s, o) {
|
||
"use strict";
|
||
var e = {
|
||
indicators: !0,
|
||
height: 400,
|
||
duration: 500,
|
||
interval: 6e3
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_Slider = i).options = s.extend({}, n.defaults, e), i.$slider = i.$el.find(".slides"), i.$slides = i.$slider.children("li"), i.activeIndex = i.$slides.filter(function(t) {
|
||
return s(t).hasClass("active")
|
||
}).first().index(), -1 != i.activeIndex && (i.$active = i.$slides.eq(i.activeIndex)), i._setSliderHeight(), i.$slides.find(".caption").each(function(t) {
|
||
i._animateCaptionIn(t, 0)
|
||
}), i.$slides.find("img").each(function(t) {
|
||
var e = "data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";
|
||
s(t).attr("src") !== e && (s(t).css("background-image", 'url("' + s(t).attr("src") + '")'), s(t).attr("src", e))
|
||
}), i._setupIndicators(), i.$active ? i.$active.css("display", "block") : (i.$slides.first().addClass("active"), o({
|
||
targets: i.$slides.first()[0],
|
||
opacity: 1,
|
||
duration: i.options.duration,
|
||
easing: "easeOutQuad"
|
||
}), i.activeIndex = 0, i.$active = i.$slides.eq(i.activeIndex), i.options.indicators && i.$indicators.eq(i.activeIndex).addClass("active")), i.$active.find("img").each(function(t) {
|
||
o({
|
||
targets: i.$active.find(".caption")[0],
|
||
opacity: 1,
|
||
translateX: 0,
|
||
translateY: 0,
|
||
duration: i.options.duration,
|
||
easing: "easeOutQuad"
|
||
})
|
||
}), i._setupEventHandlers(), i.start(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this.pause(), this._removeIndicators(), this._removeEventHandlers(), this.el.M_Slider = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
var e = this;
|
||
this._handleIntervalBound = this._handleInterval.bind(this), this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this), this.options.indicators && this.$indicators.each(function(t) {
|
||
t.addEventListener("click", e._handleIndicatorClickBound)
|
||
})
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
var e = this;
|
||
this.options.indicators && this.$indicators.each(function(t) {
|
||
t.removeEventListener("click", e._handleIndicatorClickBound)
|
||
})
|
||
}
|
||
}, {
|
||
key: "_handleIndicatorClick",
|
||
value: function(t) {
|
||
var e = s(t.target).index();
|
||
this.set(e)
|
||
}
|
||
}, {
|
||
key: "_handleInterval",
|
||
value: function() {
|
||
var t = this.$slider.find(".active").index();
|
||
this.$slides.length === t + 1 ? t = 0 : t += 1, this.set(t)
|
||
}
|
||
}, {
|
||
key: "_animateCaptionIn",
|
||
value: function(t, e) {
|
||
var i = {
|
||
targets: t,
|
||
opacity: 0,
|
||
duration: e,
|
||
easing: "easeOutQuad"
|
||
};
|
||
s(t).hasClass("center-align") ? i.translateY = -100 : s(t).hasClass("right-align") ? i.translateX = 100 : s(t).hasClass("left-align") && (i.translateX = -100), o(i)
|
||
}
|
||
}, {
|
||
key: "_setSliderHeight",
|
||
value: function() {
|
||
this.$el.hasClass("fullscreen") || (this.options.indicators ? this.$el.css("height", this.options.height + 40 + "px") : this.$el.css("height", this.options.height + "px"), this.$slider.css("height", this.options.height + "px"))
|
||
}
|
||
}, {
|
||
key: "_setupIndicators",
|
||
value: function() {
|
||
var n = this;
|
||
this.options.indicators && (this.$indicators = s('<ul class="indicators"></ul>'), this.$slides.each(function(t, e) {
|
||
var i = s('<li class="indicator-item"></li>');
|
||
n.$indicators.append(i[0])
|
||
}), this.$el.append(this.$indicators[0]), this.$indicators = this.$indicators.children("li.indicator-item"))
|
||
}
|
||
}, {
|
||
key: "_removeIndicators",
|
||
value: function() {
|
||
this.$el.find("ul.indicators").remove()
|
||
}
|
||
}, {
|
||
key: "set",
|
||
value: function(t) {
|
||
var e = this;
|
||
if (t >= this.$slides.length ? t = 0 : t < 0 && (t = this.$slides.length - 1), this.activeIndex != t) {
|
||
this.$active = this.$slides.eq(this.activeIndex);
|
||
var i = this.$active.find(".caption");
|
||
this.$active.removeClass("active"), o({
|
||
targets: this.$active[0],
|
||
opacity: 0,
|
||
duration: this.options.duration,
|
||
easing: "easeOutQuad",
|
||
complete: function() {
|
||
e.$slides.not(".active").each(function(t) {
|
||
o({
|
||
targets: t,
|
||
opacity: 0,
|
||
translateX: 0,
|
||
translateY: 0,
|
||
duration: 0,
|
||
easing: "easeOutQuad"
|
||
})
|
||
})
|
||
}
|
||
}), this._animateCaptionIn(i[0], this.options.duration), this.options.indicators && (this.$indicators.eq(this.activeIndex).removeClass("active"), this.$indicators.eq(t).addClass("active")), o({
|
||
targets: this.$slides.eq(t)[0],
|
||
opacity: 1,
|
||
duration: this.options.duration,
|
||
easing: "easeOutQuad"
|
||
}), o({
|
||
targets: this.$slides.eq(t).find(".caption")[0],
|
||
opacity: 1,
|
||
translateX: 0,
|
||
translateY: 0,
|
||
duration: this.options.duration,
|
||
delay: this.options.duration,
|
||
easing: "easeOutQuad"
|
||
}), this.$slides.eq(t).addClass("active"), this.activeIndex = t, this.start()
|
||
}
|
||
}
|
||
}, {
|
||
key: "pause",
|
||
value: function() {
|
||
clearInterval(this.interval)
|
||
}
|
||
}, {
|
||
key: "start",
|
||
value: function() {
|
||
clearInterval(this.interval), this.interval = setInterval(this._handleIntervalBound, this.options.duration + this.options.interval)
|
||
}
|
||
}, {
|
||
key: "next",
|
||
value: function() {
|
||
var t = this.activeIndex + 1;
|
||
t >= this.$slides.length ? t = 0 : t < 0 && (t = this.$slides.length - 1), this.set(t)
|
||
}
|
||
}, {
|
||
key: "prev",
|
||
value: function() {
|
||
var t = this.activeIndex - 1;
|
||
t >= this.$slides.length ? t = 0 : t < 0 && (t = this.$slides.length - 1), this.set(t)
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Slider
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
M.Slider = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "slider", "M_Slider")
|
||
}(cash, M.anime),
|
||
function(n, s) {
|
||
n(document).on("click", ".card", function(t) {
|
||
if (n(this).children(".card-reveal").length) {
|
||
var i = n(t.target).closest(".card");
|
||
void 0 === i.data("initialOverflow") && i.data("initialOverflow", void 0 === i.css("overflow") ? "" : i.css("overflow"));
|
||
var e = n(this).find(".card-reveal");
|
||
n(t.target).is(n(".card-reveal .card-title")) || n(t.target).is(n(".card-reveal .card-title i")) ? s({
|
||
targets: e[0],
|
||
translateY: 0,
|
||
duration: 225,
|
||
easing: "easeInOutQuad",
|
||
complete: function(t) {
|
||
var e = t.animatables[0].target;
|
||
n(e).css({
|
||
display: "none"
|
||
}), i.css("overflow", i.data("initialOverflow"))
|
||
}
|
||
}) : (n(t.target).is(n(".card .activator")) || n(t.target).is(n(".card .activator i"))) && (i.css("overflow", "hidden"), e.css({
|
||
display: "block"
|
||
}), s({
|
||
targets: e[0],
|
||
translateY: "-100%",
|
||
duration: 300,
|
||
easing: "easeInOutQuad"
|
||
}))
|
||
}
|
||
})
|
||
}(cash, M.anime),
|
||
function(h) {
|
||
"use strict";
|
||
var e = {
|
||
data: [],
|
||
placeholder: "",
|
||
secondaryPlaceholder: "",
|
||
autocompleteOptions: {},
|
||
limit: 1 / 0,
|
||
onChipAdd: null,
|
||
onChipSelect: null,
|
||
onChipDelete: null
|
||
},
|
||
t = function(t) {
|
||
function l(t, e) {
|
||
_classCallCheck(this, l);
|
||
var i = _possibleConstructorReturn(this, (l.__proto__ || Object.getPrototypeOf(l)).call(this, l, t, e));
|
||
return (i.el.M_Chips = i).options = h.extend({}, l.defaults, e), i.$el.addClass("chips input-field"), i.chipsData = [], i.$chips = h(), i._setupInput(), i.hasAutocomplete = 0 < Object.keys(i.options.autocompleteOptions).length, i.$input.attr("id") || i.$input.attr("id", M.guid()), i.options.data.length && (i.chipsData = i.options.data, i._renderChips(i.chipsData)), i.hasAutocomplete && i._setupAutocomplete(), i._setPlaceholder(), i._setupLabel(), i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(l, Component), _createClass(l, [{
|
||
key: "getData",
|
||
value: function() {
|
||
return this.chipsData
|
||
}
|
||
}, {
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this.$chips.remove(), this.el.M_Chips = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleChipClickBound = this._handleChipClick.bind(this), this._handleInputKeydownBound = this._handleInputKeydown.bind(this), this._handleInputFocusBound = this._handleInputFocus.bind(this), this._handleInputBlurBound = this._handleInputBlur.bind(this), this.el.addEventListener("click", this._handleChipClickBound), document.addEventListener("keydown", l._handleChipsKeydown), document.addEventListener("keyup", l._handleChipsKeyup), this.el.addEventListener("blur", l._handleChipsBlur, !0), this.$input[0].addEventListener("focus", this._handleInputFocusBound), this.$input[0].addEventListener("blur", this._handleInputBlurBound), this.$input[0].addEventListener("keydown", this._handleInputKeydownBound)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("click", this._handleChipClickBound), document.removeEventListener("keydown", l._handleChipsKeydown), document.removeEventListener("keyup", l._handleChipsKeyup), this.el.removeEventListener("blur", l._handleChipsBlur, !0), this.$input[0].removeEventListener("focus", this._handleInputFocusBound), this.$input[0].removeEventListener("blur", this._handleInputBlurBound), this.$input[0].removeEventListener("keydown", this._handleInputKeydownBound)
|
||
}
|
||
}, {
|
||
key: "_handleChipClick",
|
||
value: function(t) {
|
||
var e = h(t.target).closest(".chip"),
|
||
i = h(t.target).is(".close");
|
||
if (e.length) {
|
||
var n = e.index();
|
||
i ? (this.deleteChip(n), this.$input[0].focus()) : this.selectChip(n)
|
||
} else this.$input[0].focus()
|
||
}
|
||
}, {
|
||
key: "_handleInputFocus",
|
||
value: function() {
|
||
this.$el.addClass("focus")
|
||
}
|
||
}, {
|
||
key: "_handleInputBlur",
|
||
value: function() {
|
||
this.$el.removeClass("focus")
|
||
}
|
||
}, {
|
||
key: "_handleInputKeydown",
|
||
value: function(t) {
|
||
if (l._keydown = !0, 13 === t.keyCode) {
|
||
if (this.hasAutocomplete && this.autocomplete && this.autocomplete.isOpen) return;
|
||
t.preventDefault(), this.addChip({
|
||
tag: this.$input[0].value
|
||
}), this.$input[0].value = ""
|
||
} else 8 !== t.keyCode && 37 !== t.keyCode || "" !== this.$input[0].value || !this.chipsData.length || (t.preventDefault(), this.selectChip(this.chipsData.length - 1))
|
||
}
|
||
}, {
|
||
key: "_renderChip",
|
||
value: function(t) {
|
||
if (t.tag) {
|
||
var e = document.createElement("div"),
|
||
i = document.createElement("i");
|
||
if (e.classList.add("chip"), e.textContent = t.tag, e.setAttribute("tabindex", 0), h(i).addClass("material-icons close"), i.textContent = "close", t.image) {
|
||
var n = document.createElement("img");
|
||
n.setAttribute("src", t.image), e.insertBefore(n, e.firstChild)
|
||
}
|
||
return e.appendChild(i), e
|
||
}
|
||
}
|
||
}, {
|
||
key: "_renderChips",
|
||
value: function() {
|
||
this.$chips.remove();
|
||
for (var t = 0; t < this.chipsData.length; t++) {
|
||
var e = this._renderChip(this.chipsData[t]);
|
||
this.$el.append(e), this.$chips.add(e)
|
||
}
|
||
this.$el.append(this.$input[0])
|
||
}
|
||
}, {
|
||
key: "_setupAutocomplete",
|
||
value: function() {
|
||
var e = this;
|
||
this.options.autocompleteOptions.onAutocomplete = function(t) {
|
||
e.addChip({
|
||
tag: t
|
||
}), e.$input[0].value = "", e.$input[0].focus()
|
||
}, this.autocomplete = M.Autocomplete.init(this.$input[0], this.options.autocompleteOptions)
|
||
}
|
||
}, {
|
||
key: "_setupInput",
|
||
value: function() {
|
||
this.$input = this.$el.find("input"), this.$input.length || (this.$input = h("<input></input>"), this.$el.append(this.$input)), this.$input.addClass("input")
|
||
}
|
||
}, {
|
||
key: "_setupLabel",
|
||
value: function() {
|
||
this.$label = this.$el.find("label"), this.$label.length && this.$label.setAttribute("for", this.$input.attr("id"))
|
||
}
|
||
}, {
|
||
key: "_setPlaceholder",
|
||
value: function() {
|
||
void 0 !== this.chipsData && !this.chipsData.length && this.options.placeholder ? h(this.$input).prop("placeholder", this.options.placeholder) : (void 0 === this.chipsData || this.chipsData.length) && this.options.secondaryPlaceholder && h(this.$input).prop("placeholder", this.options.secondaryPlaceholder)
|
||
}
|
||
}, {
|
||
key: "_isValid",
|
||
value: function(t) {
|
||
if (t.hasOwnProperty("tag") && "" !== t.tag) {
|
||
for (var e = !1, i = 0; i < this.chipsData.length; i++)
|
||
if (this.chipsData[i].tag === t.tag) {
|
||
e = !0;
|
||
break
|
||
} return !e
|
||
}
|
||
return !1
|
||
}
|
||
}, {
|
||
key: "addChip",
|
||
value: function(t) {
|
||
if (this._isValid(t) && !(this.chipsData.length >= this.options.limit)) {
|
||
var e = this._renderChip(t);
|
||
this.$chips.add(e), this.chipsData.push(t), h(this.$input).before(e), this._setPlaceholder(), "function" == typeof this.options.onChipAdd && this.options.onChipAdd.call(this, this.$el, e)
|
||
}
|
||
}
|
||
}, {
|
||
key: "deleteChip",
|
||
value: function(t) {
|
||
var e = this.$chips.eq(t);
|
||
this.$chips.eq(t).remove(), this.$chips = this.$chips.filter(function(t) {
|
||
return 0 <= h(t).index()
|
||
}), this.chipsData.splice(t, 1), this._setPlaceholder(), "function" == typeof this.options.onChipDelete && this.options.onChipDelete.call(this, this.$el, e[0])
|
||
}
|
||
}, {
|
||
key: "selectChip",
|
||
value: function(t) {
|
||
var e = this.$chips.eq(t);
|
||
(this._selectedChip = e)[0].focus(), "function" == typeof this.options.onChipSelect && this.options.onChipSelect.call(this, this.$el, e[0])
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(l.__proto__ || Object.getPrototypeOf(l), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Chips
|
||
}
|
||
}, {
|
||
key: "_handleChipsKeydown",
|
||
value: function(t) {
|
||
l._keydown = !0;
|
||
var e = h(t.target).closest(".chips"),
|
||
i = t.target && e.length;
|
||
if (!h(t.target).is("input, textarea") && i) {
|
||
var n = e[0].M_Chips;
|
||
if (8 === t.keyCode || 46 === t.keyCode) {
|
||
t.preventDefault();
|
||
var s = n.chipsData.length;
|
||
if (n._selectedChip) {
|
||
var o = n._selectedChip.index();
|
||
n.deleteChip(o), n._selectedChip = null, s = Math.max(o - 1, 0)
|
||
}
|
||
n.chipsData.length && n.selectChip(s)
|
||
} else if (37 === t.keyCode) {
|
||
if (n._selectedChip) {
|
||
var a = n._selectedChip.index() - 1;
|
||
if (a < 0) return;
|
||
n.selectChip(a)
|
||
}
|
||
} else if (39 === t.keyCode && n._selectedChip) {
|
||
var r = n._selectedChip.index() + 1;
|
||
r >= n.chipsData.length ? n.$input[0].focus() : n.selectChip(r)
|
||
}
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleChipsKeyup",
|
||
value: function(t) {
|
||
l._keydown = !1
|
||
}
|
||
}, {
|
||
key: "_handleChipsBlur",
|
||
value: function(t) {
|
||
l._keydown || (h(t.target).closest(".chips")[0].M_Chips._selectedChip = null)
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), l
|
||
}();
|
||
t._keydown = !1, M.Chips = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "chips", "M_Chips"), h(document).ready(function() {
|
||
h(document.body).on("click", ".chip .close", function() {
|
||
var t = h(this).closest(".chips");
|
||
t.length && t[0].M_Chips || h(this).closest(".chip").remove()
|
||
})
|
||
})
|
||
}(cash),
|
||
function(s) {
|
||
"use strict";
|
||
var e = {
|
||
top: 0,
|
||
bottom: 1 / 0,
|
||
offset: 0,
|
||
onPositionChange: null
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_Pushpin = i).options = s.extend({}, n.defaults, e), i.originalOffset = i.el.offsetTop, n._pushpins.push(i), i._setupEventHandlers(), i._updatePosition(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this.el.style.top = null, this._removePinClasses(), this._removeEventHandlers();
|
||
var t = n._pushpins.indexOf(this);
|
||
n._pushpins.splice(t, 1)
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
document.addEventListener("scroll", n._updateElements)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
document.removeEventListener("scroll", n._updateElements)
|
||
}
|
||
}, {
|
||
key: "_updatePosition",
|
||
value: function() {
|
||
var t = M.getDocumentScrollTop() + this.options.offset;
|
||
this.options.top <= t && this.options.bottom >= t && !this.el.classList.contains("pinned") && (this._removePinClasses(), this.el.style.top = this.options.offset + "px", this.el.classList.add("pinned"), "function" == typeof this.options.onPositionChange && this.options.onPositionChange.call(this, "pinned")), t < this.options.top && !this.el.classList.contains("pin-top") && (this._removePinClasses(), this.el.style.top = 0, this.el.classList.add("pin-top"), "function" == typeof this.options.onPositionChange && this.options.onPositionChange.call(this, "pin-top")), t > this.options.bottom && !this.el.classList.contains("pin-bottom") && (this._removePinClasses(), this.el.classList.add("pin-bottom"), this.el.style.top = this.options.bottom - this.originalOffset + "px", "function" == typeof this.options.onPositionChange && this.options.onPositionChange.call(this, "pin-bottom"))
|
||
}
|
||
}, {
|
||
key: "_removePinClasses",
|
||
value: function() {
|
||
this.el.classList.remove("pin-top"), this.el.classList.remove("pinned"), this.el.classList.remove("pin-bottom")
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Pushpin
|
||
}
|
||
}, {
|
||
key: "_updateElements",
|
||
value: function() {
|
||
for (var t in n._pushpins) {
|
||
n._pushpins[t]._updatePosition()
|
||
}
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
t._pushpins = [], M.Pushpin = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "pushpin", "M_Pushpin")
|
||
}(cash),
|
||
function(r, s) {
|
||
"use strict";
|
||
var e = {
|
||
direction: "top",
|
||
hoverEnabled: !0,
|
||
toolbarEnabled: !1
|
||
};
|
||
r.fn.reverse = [].reverse;
|
||
var t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_FloatingActionButton = i).options = r.extend({}, n.defaults, e), i.isOpen = !1, i.$anchor = i.$el.children("a").first(), i.$menu = i.$el.children("ul").first(), i.$floatingBtns = i.$el.find("ul .btn-floating"), i.$floatingBtnsReverse = i.$el.find("ul .btn-floating").reverse(), i.offsetY = 0, i.offsetX = 0, i.$el.addClass("direction-" + i.options.direction), "top" === i.options.direction ? i.offsetY = 40 : "right" === i.options.direction ? i.offsetX = -40 : "bottom" === i.options.direction ? i.offsetY = -40 : i.offsetX = 40, i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this.el.M_FloatingActionButton = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleFABClickBound = this._handleFABClick.bind(this), this._handleOpenBound = this.open.bind(this), this._handleCloseBound = this.close.bind(this), this.options.hoverEnabled && !this.options.toolbarEnabled ? (this.el.addEventListener("mouseenter", this._handleOpenBound), this.el.addEventListener("mouseleave", this._handleCloseBound)) : this.el.addEventListener("click", this._handleFABClickBound)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.options.hoverEnabled && !this.options.toolbarEnabled ? (this.el.removeEventListener("mouseenter", this._handleOpenBound), this.el.removeEventListener("mouseleave", this._handleCloseBound)) : this.el.removeEventListener("click", this._handleFABClickBound)
|
||
}
|
||
}, {
|
||
key: "_handleFABClick",
|
||
value: function() {
|
||
this.isOpen ? this.close() : this.open()
|
||
}
|
||
}, {
|
||
key: "_handleDocumentClick",
|
||
value: function(t) {
|
||
r(t.target).closest(this.$menu).length || this.close()
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function() {
|
||
this.isOpen || (this.options.toolbarEnabled ? this._animateInToolbar() : this._animateInFAB(), this.isOpen = !0)
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
this.isOpen && (this.options.toolbarEnabled ? (window.removeEventListener("scroll", this._handleCloseBound, !0), document.body.removeEventListener("click", this._handleDocumentClickBound, !0), this._animateOutToolbar()) : this._animateOutFAB(), this.isOpen = !1)
|
||
}
|
||
}, {
|
||
key: "_animateInFAB",
|
||
value: function() {
|
||
var e = this;
|
||
this.$el.addClass("active");
|
||
var i = 0;
|
||
this.$floatingBtnsReverse.each(function(t) {
|
||
s({
|
||
targets: t,
|
||
opacity: 1,
|
||
scale: [.4, 1],
|
||
translateY: [e.offsetY, 0],
|
||
translateX: [e.offsetX, 0],
|
||
duration: 275,
|
||
delay: i,
|
||
easing: "easeInOutQuad"
|
||
}), i += 40
|
||
})
|
||
}
|
||
}, {
|
||
key: "_animateOutFAB",
|
||
value: function() {
|
||
var e = this;
|
||
this.$floatingBtnsReverse.each(function(t) {
|
||
s.remove(t), s({
|
||
targets: t,
|
||
opacity: 0,
|
||
scale: .4,
|
||
translateY: e.offsetY,
|
||
translateX: e.offsetX,
|
||
duration: 175,
|
||
easing: "easeOutQuad",
|
||
complete: function() {
|
||
e.$el.removeClass("active")
|
||
}
|
||
})
|
||
})
|
||
}
|
||
}, {
|
||
key: "_animateInToolbar",
|
||
value: function() {
|
||
var t, e = this,
|
||
i = window.innerWidth,
|
||
n = window.innerHeight,
|
||
s = this.el.getBoundingClientRect(),
|
||
o = r('<div class="fab-backdrop"></div>'),
|
||
a = this.$anchor.css("background-color");
|
||
this.$anchor.append(o), this.offsetX = s.left - i / 2 + s.width / 2, this.offsetY = n - s.bottom, t = i / o[0].clientWidth, this.btnBottom = s.bottom, this.btnLeft = s.left, this.btnWidth = s.width, this.$el.addClass("active"), this.$el.css({
|
||
"text-align": "center",
|
||
width: "100%",
|
||
bottom: 0,
|
||
left: 0,
|
||
transform: "translateX(" + this.offsetX + "px)",
|
||
transition: "none"
|
||
}), this.$anchor.css({
|
||
transform: "translateY(" + -this.offsetY + "px)",
|
||
transition: "none"
|
||
}), o.css({
|
||
"background-color": a
|
||
}), setTimeout(function() {
|
||
e.$el.css({
|
||
transform: "",
|
||
transition: "transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"
|
||
}), e.$anchor.css({
|
||
overflow: "visible",
|
||
transform: "",
|
||
transition: "transform .2s"
|
||
}), setTimeout(function() {
|
||
e.$el.css({
|
||
overflow: "hidden",
|
||
"background-color": a
|
||
}), o.css({
|
||
transform: "scale(" + t + ")",
|
||
transition: "transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"
|
||
}), e.$menu.children("li").children("a").css({
|
||
opacity: 1
|
||
}), e._handleDocumentClickBound = e._handleDocumentClick.bind(e), window.addEventListener("scroll", e._handleCloseBound, !0), document.body.addEventListener("click", e._handleDocumentClickBound, !0)
|
||
}, 100)
|
||
}, 0)
|
||
}
|
||
}, {
|
||
key: "_animateOutToolbar",
|
||
value: function() {
|
||
var t = this,
|
||
e = window.innerWidth,
|
||
i = window.innerHeight,
|
||
n = this.$el.find(".fab-backdrop"),
|
||
s = this.$anchor.css("background-color");
|
||
this.offsetX = this.btnLeft - e / 2 + this.btnWidth / 2, this.offsetY = i - this.btnBottom, this.$el.removeClass("active"), this.$el.css({
|
||
"background-color": "transparent",
|
||
transition: "none"
|
||
}), this.$anchor.css({
|
||
transition: "none"
|
||
}), n.css({
|
||
transform: "scale(0)",
|
||
"background-color": s
|
||
}), this.$menu.children("li").children("a").css({
|
||
opacity: ""
|
||
}), setTimeout(function() {
|
||
n.remove(), t.$el.css({
|
||
"text-align": "",
|
||
width: "",
|
||
bottom: "",
|
||
left: "",
|
||
overflow: "",
|
||
"background-color": "",
|
||
transform: "translate3d(" + -t.offsetX + "px,0,0)"
|
||
}), t.$anchor.css({
|
||
overflow: "",
|
||
transform: "translate3d(0," + t.offsetY + "px,0)"
|
||
}), setTimeout(function() {
|
||
t.$el.css({
|
||
transform: "translate3d(0,0,0)",
|
||
transition: "transform .2s"
|
||
}), t.$anchor.css({
|
||
transform: "translate3d(0,0,0)",
|
||
transition: "transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"
|
||
})
|
||
}, 20)
|
||
}, 200)
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_FloatingActionButton
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
M.FloatingActionButton = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "floatingActionButton", "M_FloatingActionButton")
|
||
}(cash, M.anime),
|
||
function(g) {
|
||
"use strict";
|
||
var e = {
|
||
autoClose: !1,
|
||
format: "mmm dd, yyyy",
|
||
parse: null,
|
||
defaultDate: null,
|
||
setDefaultDate: !1,
|
||
disableWeekends: !1,
|
||
disableDayFn: null,
|
||
firstDay: 0,
|
||
minDate: null,
|
||
maxDate: null,
|
||
yearRange: 10,
|
||
minYear: 0,
|
||
maxYear: 9999,
|
||
minMonth: void 0,
|
||
maxMonth: void 0,
|
||
startRange: null,
|
||
endRange: null,
|
||
isRTL: !1,
|
||
showMonthAfterYear: !1,
|
||
showDaysInNextAndPreviousMonths: !1,
|
||
container: null,
|
||
showClearBtn: !1,
|
||
i18n: {
|
||
cancel: "Cancel",
|
||
clear: "Clear",
|
||
done: "Ok",
|
||
previousMonth: "‹",
|
||
nextMonth: "›",
|
||
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
|
||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
||
weekdays: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||
weekdaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
||
weekdaysAbbrev: ["S", "M", "T", "W", "T", "F", "S"]
|
||
},
|
||
events: [],
|
||
onSelect: null,
|
||
onOpen: null,
|
||
onClose: null,
|
||
onDraw: null
|
||
},
|
||
t = function(t) {
|
||
function B(t, e) {
|
||
_classCallCheck(this, B);
|
||
var i = _possibleConstructorReturn(this, (B.__proto__ || Object.getPrototypeOf(B)).call(this, B, t, e));
|
||
(i.el.M_Datepicker = i).options = g.extend({}, B.defaults, e), e && e.hasOwnProperty("i18n") && "object" == typeof e.i18n && (i.options.i18n = g.extend({}, B.defaults.i18n, e.i18n)), i.options.minDate && i.options.minDate.setHours(0, 0, 0, 0), i.options.maxDate && i.options.maxDate.setHours(0, 0, 0, 0), i.id = M.guid(), i._setupVariables(), i._insertHTMLIntoDOM(), i._setupModal(), i._setupEventHandlers(), i.options.defaultDate || (i.options.defaultDate = new Date(Date.parse(i.el.value)));
|
||
var n = i.options.defaultDate;
|
||
return B._isDate(n) ? i.options.setDefaultDate ? (i.setDate(n, !0), i.setInputValue()) : i.gotoDate(n) : i.gotoDate(new Date), i.isOpen = !1, i
|
||
}
|
||
return _inherits(B, Component), _createClass(B, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this.modal.destroy(), g(this.modalEl).remove(), this.destroySelects(), this.el.M_Datepicker = void 0
|
||
}
|
||
}, {
|
||
key: "destroySelects",
|
||
value: function() {
|
||
var t = this.calendarEl.querySelector(".orig-select-year");
|
||
t && M.FormSelect.getInstance(t).destroy();
|
||
var e = this.calendarEl.querySelector(".orig-select-month");
|
||
e && M.FormSelect.getInstance(e).destroy()
|
||
}
|
||
}, {
|
||
key: "_insertHTMLIntoDOM",
|
||
value: function() {
|
||
this.options.showClearBtn && (g(this.clearBtn).css({
|
||
visibility: ""
|
||
}), this.clearBtn.innerHTML = this.options.i18n.clear), this.doneBtn.innerHTML = this.options.i18n.done, this.cancelBtn.innerHTML = this.options.i18n.cancel, this.options.container ? this.$modalEl.appendTo(this.options.container) : this.$modalEl.insertBefore(this.el)
|
||
}
|
||
}, {
|
||
key: "_setupModal",
|
||
value: function() {
|
||
var t = this;
|
||
this.modalEl.id = "modal-" + this.id, this.modal = M.Modal.init(this.modalEl, {
|
||
onCloseEnd: function() {
|
||
t.isOpen = !1
|
||
}
|
||
})
|
||
}
|
||
}, {
|
||
key: "toString",
|
||
value: function(t) {
|
||
var e = this;
|
||
return t = t || this.options.format, B._isDate(this.date) ? t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t) {
|
||
return e.formats[t] ? e.formats[t]() : t
|
||
}).join("") : ""
|
||
}
|
||
}, {
|
||
key: "setDate",
|
||
value: function(t, e) {
|
||
if (!t) return this.date = null, this._renderDateDisplay(), this.draw();
|
||
if ("string" == typeof t && (t = new Date(Date.parse(t))), B._isDate(t)) {
|
||
var i = this.options.minDate,
|
||
n = this.options.maxDate;
|
||
B._isDate(i) && t < i ? t = i : B._isDate(n) && n < t && (t = n), this.date = new Date(t.getTime()), this._renderDateDisplay(), B._setToStartOfDay(this.date), this.gotoDate(this.date), e || "function" != typeof this.options.onSelect || this.options.onSelect.call(this, this.date)
|
||
}
|
||
}
|
||
}, {
|
||
key: "setInputValue",
|
||
value: function() {
|
||
this.el.value = this.toString(), this.$el.trigger("change", {
|
||
firedBy: this
|
||
})
|
||
}
|
||
}, {
|
||
key: "_renderDateDisplay",
|
||
value: function() {
|
||
var t = B._isDate(this.date) ? this.date : new Date,
|
||
e = this.options.i18n,
|
||
i = e.weekdaysShort[t.getDay()],
|
||
n = e.monthsShort[t.getMonth()],
|
||
s = t.getDate();
|
||
this.yearTextEl.innerHTML = t.getFullYear(), this.dateTextEl.innerHTML = i + ", " + n + " " + s
|
||
}
|
||
}, {
|
||
key: "gotoDate",
|
||
value: function(t) {
|
||
var e = !0;
|
||
if (B._isDate(t)) {
|
||
if (this.calendars) {
|
||
var i = new Date(this.calendars[0].year, this.calendars[0].month, 1),
|
||
n = new Date(this.calendars[this.calendars.length - 1].year, this.calendars[this.calendars.length - 1].month, 1),
|
||
s = t.getTime();
|
||
n.setMonth(n.getMonth() + 1), n.setDate(n.getDate() - 1), e = s < i.getTime() || n.getTime() < s
|
||
}
|
||
e && (this.calendars = [{
|
||
month: t.getMonth(),
|
||
year: t.getFullYear()
|
||
}]), this.adjustCalendars()
|
||
}
|
||
}
|
||
}, {
|
||
key: "adjustCalendars",
|
||
value: function() {
|
||
this.calendars[0] = this.adjustCalendar(this.calendars[0]), this.draw()
|
||
}
|
||
}, {
|
||
key: "adjustCalendar",
|
||
value: function(t) {
|
||
return t.month < 0 && (t.year -= Math.ceil(Math.abs(t.month) / 12), t.month += 12), 11 < t.month && (t.year += Math.floor(Math.abs(t.month) / 12), t.month -= 12), t
|
||
}
|
||
}, {
|
||
key: "nextMonth",
|
||
value: function() {
|
||
this.calendars[0].month++, this.adjustCalendars()
|
||
}
|
||
}, {
|
||
key: "prevMonth",
|
||
value: function() {
|
||
this.calendars[0].month--, this.adjustCalendars()
|
||
}
|
||
}, {
|
||
key: "render",
|
||
value: function(t, e, i) {
|
||
var n = this.options,
|
||
s = new Date,
|
||
o = B._getDaysInMonth(t, e),
|
||
a = new Date(t, e, 1).getDay(),
|
||
r = [],
|
||
l = [];
|
||
B._setToStartOfDay(s), 0 < n.firstDay && (a -= n.firstDay) < 0 && (a += 7);
|
||
for (var h = 0 === e ? 11 : e - 1, d = 11 === e ? 0 : e + 1, u = 0 === e ? t - 1 : t, c = 11 === e ? t + 1 : t, p = B._getDaysInMonth(u, h), v = o + a, f = v; 7 < f;) f -= 7;
|
||
v += 7 - f;
|
||
for (var m = !1, g = 0, _ = 0; g < v; g++) {
|
||
var y = new Date(t, e, g - a + 1),
|
||
k = !!B._isDate(this.date) && B._compareDates(y, this.date),
|
||
b = B._compareDates(y, s),
|
||
w = -1 !== n.events.indexOf(y.toDateString()),
|
||
C = g < a || o + a <= g,
|
||
E = g - a + 1,
|
||
M = e,
|
||
O = t,
|
||
x = n.startRange && B._compareDates(n.startRange, y),
|
||
L = n.endRange && B._compareDates(n.endRange, y),
|
||
T = n.startRange && n.endRange && n.startRange < y && y < n.endRange;
|
||
C && (g < a ? (E = p + E, M = h, O = u) : (E -= o, M = d, O = c));
|
||
var $ = {
|
||
day: E,
|
||
month: M,
|
||
year: O,
|
||
hasEvent: w,
|
||
isSelected: k,
|
||
isToday: b,
|
||
isDisabled: n.minDate && y < n.minDate || n.maxDate && y > n.maxDate || n.disableWeekends && B._isWeekend(y) || n.disableDayFn && n.disableDayFn(y),
|
||
isEmpty: C,
|
||
isStartRange: x,
|
||
isEndRange: L,
|
||
isInRange: T,
|
||
showDaysInNextAndPreviousMonths: n.showDaysInNextAndPreviousMonths
|
||
};
|
||
l.push(this.renderDay($)), 7 == ++_ && (r.push(this.renderRow(l, n.isRTL, m)), _ = 0, m = !(l = []))
|
||
}
|
||
return this.renderTable(n, r, i)
|
||
}
|
||
}, {
|
||
key: "renderDay",
|
||
value: function(t) {
|
||
var e = [],
|
||
i = "false";
|
||
if (t.isEmpty) {
|
||
if (!t.showDaysInNextAndPreviousMonths) return '<td class="is-empty"></td>';
|
||
e.push("is-outside-current-month"), e.push("is-selection-disabled")
|
||
}
|
||
return t.isDisabled && e.push("is-disabled"), t.isToday && e.push("is-today"), t.isSelected && (e.push("is-selected"), i = "true"), t.hasEvent && e.push("has-event"), t.isInRange && e.push("is-inrange"), t.isStartRange && e.push("is-startrange"), t.isEndRange && e.push("is-endrange"), '<td data-day="' + t.day + '" class="' + e.join(" ") + '" aria-selected="' + i + '"><button class="datepicker-day-button" type="button" data-year="' + t.year + '" data-month="' + t.month + '" data-day="' + t.day + '">' + t.day + "</button></td>"
|
||
}
|
||
}, {
|
||
key: "renderRow",
|
||
value: function(t, e, i) {
|
||
return '<tr class="datepicker-row' + (i ? " is-selected" : "") + '">' + (e ? t.reverse() : t).join("") + "</tr>"
|
||
}
|
||
}, {
|
||
key: "renderTable",
|
||
value: function(t, e, i) {
|
||
return '<div class="datepicker-table-wrapper"><table cellpadding="0" cellspacing="0" class="datepicker-table" role="grid" aria-labelledby="' + i + '">' + this.renderHead(t) + this.renderBody(e) + "</table></div>"
|
||
}
|
||
}, {
|
||
key: "renderHead",
|
||
value: function(t) {
|
||
var e = void 0,
|
||
i = [];
|
||
for (e = 0; e < 7; e++) i.push('<th scope="col"><abbr title="' + this.renderDayName(t, e) + '">' + this.renderDayName(t, e, !0) + "</abbr></th>");
|
||
return "<thead><tr>" + (t.isRTL ? i.reverse() : i).join("") + "</tr></thead>"
|
||
}
|
||
}, {
|
||
key: "renderBody",
|
||
value: function(t) {
|
||
return "<tbody>" + t.join("") + "</tbody>"
|
||
}
|
||
}, {
|
||
key: "renderTitle",
|
||
value: function(t, e, i, n, s, o) {
|
||
var a, r, l = void 0,
|
||
h = void 0,
|
||
d = void 0,
|
||
u = this.options,
|
||
c = i === u.minYear,
|
||
p = i === u.maxYear,
|
||
v = '<div id="' + o + '" class="datepicker-controls" role="heading" aria-live="assertive">',
|
||
f = !0,
|
||
m = !0;
|
||
for (d = [], l = 0; l < 12; l++) d.push('<option value="' + (i === s ? l - e : 12 + l - e) + '"' + (l === n ? ' selected="selected"' : "") + (c && l < u.minMonth || p && l > u.maxMonth ? 'disabled="disabled"' : "") + ">" + u.i18n.months[l] + "</option>");
|
||
for (a = '<select class="datepicker-select orig-select-month" tabindex="-1">' + d.join("") + "</select>", g.isArray(u.yearRange) ? (l = u.yearRange[0], h = u.yearRange[1] + 1) : (l = i - u.yearRange, h = 1 + i + u.yearRange), d = []; l < h && l <= u.maxYear; l++) l >= u.minYear && d.push('<option value="' + l + '" ' + (l === i ? 'selected="selected"' : "") + ">" + l + "</option>");
|
||
r = '<select class="datepicker-select orig-select-year" tabindex="-1">' + d.join("") + "</select>";
|
||
v += '<button class="month-prev' + (f ? "" : " is-disabled") + '" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg></button>', v += '<div class="selects-container">', u.showMonthAfterYear ? v += r + a : v += a + r, v += "</div>", c && (0 === n || u.minMonth >= n) && (f = !1), p && (11 === n || u.maxMonth <= n) && (m = !1);
|
||
return (v += '<button class="month-next' + (m ? "" : " is-disabled") + '" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/><path d="M0-.25h24v24H0z" fill="none"/></svg></button>') + "</div>"
|
||
}
|
||
}, {
|
||
key: "draw",
|
||
value: function(t) {
|
||
if (this.isOpen || t) {
|
||
var e, i = this.options,
|
||
n = i.minYear,
|
||
s = i.maxYear,
|
||
o = i.minMonth,
|
||
a = i.maxMonth,
|
||
r = "";
|
||
this._y <= n && (this._y = n, !isNaN(o) && this._m < o && (this._m = o)), this._y >= s && (this._y = s, !isNaN(a) && this._m > a && (this._m = a)), e = "datepicker-title-" + Math.random().toString(36).replace(/[^a-z]+/g, "").substr(0, 2);
|
||
for (var l = 0; l < 1; l++) this._renderDateDisplay(), r += this.renderTitle(this, l, this.calendars[l].year, this.calendars[l].month, this.calendars[0].year, e) + this.render(this.calendars[l].year, this.calendars[l].month, e);
|
||
this.destroySelects(), this.calendarEl.innerHTML = r;
|
||
var h = this.calendarEl.querySelector(".orig-select-year"),
|
||
d = this.calendarEl.querySelector(".orig-select-month");
|
||
M.FormSelect.init(h, {
|
||
classes: "select-year",
|
||
dropdownOptions: {
|
||
container: document.body,
|
||
constrainWidth: !1
|
||
}
|
||
}), M.FormSelect.init(d, {
|
||
classes: "select-month",
|
||
dropdownOptions: {
|
||
container: document.body,
|
||
constrainWidth: !1
|
||
}
|
||
}), h.addEventListener("change", this._handleYearChange.bind(this)), d.addEventListener("change", this._handleMonthChange.bind(this)), "function" == typeof this.options.onDraw && this.options.onDraw(this)
|
||
}
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleInputKeydownBound = this._handleInputKeydown.bind(this), this._handleInputClickBound = this._handleInputClick.bind(this), this._handleInputChangeBound = this._handleInputChange.bind(this), this._handleCalendarClickBound = this._handleCalendarClick.bind(this), this._finishSelectionBound = this._finishSelection.bind(this), this._handleMonthChange = this._handleMonthChange.bind(this), this._closeBound = this.close.bind(this), this.el.addEventListener("click", this._handleInputClickBound), this.el.addEventListener("keydown", this._handleInputKeydownBound), this.el.addEventListener("change", this._handleInputChangeBound), this.calendarEl.addEventListener("click", this._handleCalendarClickBound), this.doneBtn.addEventListener("click", this._finishSelectionBound), this.cancelBtn.addEventListener("click", this._closeBound), this.options.showClearBtn && (this._handleClearClickBound = this._handleClearClick.bind(this), this.clearBtn.addEventListener("click", this._handleClearClickBound))
|
||
}
|
||
}, {
|
||
key: "_setupVariables",
|
||
value: function() {
|
||
var e = this;
|
||
this.$modalEl = g(B._template), this.modalEl = this.$modalEl[0], this.calendarEl = this.modalEl.querySelector(".datepicker-calendar"), this.yearTextEl = this.modalEl.querySelector(".year-text"), this.dateTextEl = this.modalEl.querySelector(".date-text"), this.options.showClearBtn && (this.clearBtn = this.modalEl.querySelector(".datepicker-clear")), this.doneBtn = this.modalEl.querySelector(".datepicker-done"), this.cancelBtn = this.modalEl.querySelector(".datepicker-cancel"), this.formats = {
|
||
d: function() {
|
||
return e.date.getDate()
|
||
},
|
||
dd: function() {
|
||
var t = e.date.getDate();
|
||
return (t < 10 ? "0" : "") + t
|
||
},
|
||
ddd: function() {
|
||
return e.options.i18n.weekdaysShort[e.date.getDay()]
|
||
},
|
||
dddd: function() {
|
||
return e.options.i18n.weekdays[e.date.getDay()]
|
||
},
|
||
m: function() {
|
||
return e.date.getMonth() + 1
|
||
},
|
||
mm: function() {
|
||
var t = e.date.getMonth() + 1;
|
||
return (t < 10 ? "0" : "") + t
|
||
},
|
||
mmm: function() {
|
||
return e.options.i18n.monthsShort[e.date.getMonth()]
|
||
},
|
||
mmmm: function() {
|
||
return e.options.i18n.months[e.date.getMonth()]
|
||
},
|
||
yy: function() {
|
||
return ("" + e.date.getFullYear()).slice(2)
|
||
},
|
||
yyyy: function() {
|
||
return e.date.getFullYear()
|
||
}
|
||
}
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("click", this._handleInputClickBound), this.el.removeEventListener("keydown", this._handleInputKeydownBound), this.el.removeEventListener("change", this._handleInputChangeBound), this.calendarEl.removeEventListener("click", this._handleCalendarClickBound)
|
||
}
|
||
}, {
|
||
key: "_handleInputClick",
|
||
value: function() {
|
||
this.open()
|
||
}
|
||
}, {
|
||
key: "_handleInputKeydown",
|
||
value: function(t) {
|
||
t.which === M.keys.ENTER && (t.preventDefault(), this.open())
|
||
}
|
||
}, {
|
||
key: "_handleCalendarClick",
|
||
value: function(t) {
|
||
if (this.isOpen) {
|
||
var e = g(t.target);
|
||
e.hasClass("is-disabled") || (!e.hasClass("datepicker-day-button") || e.hasClass("is-empty") || e.parent().hasClass("is-disabled") ? e.closest(".month-prev").length ? this.prevMonth() : e.closest(".month-next").length && this.nextMonth() : (this.setDate(new Date(t.target.getAttribute("data-year"), t.target.getAttribute("data-month"), t.target.getAttribute("data-day"))), this.options.autoClose && this._finishSelection()))
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleClearClick",
|
||
value: function() {
|
||
this.date = null, this.setInputValue(), this.close()
|
||
}
|
||
}, {
|
||
key: "_handleMonthChange",
|
||
value: function(t) {
|
||
this.gotoMonth(t.target.value)
|
||
}
|
||
}, {
|
||
key: "_handleYearChange",
|
||
value: function(t) {
|
||
this.gotoYear(t.target.value)
|
||
}
|
||
}, {
|
||
key: "gotoMonth",
|
||
value: function(t) {
|
||
isNaN(t) || (this.calendars[0].month = parseInt(t, 10), this.adjustCalendars())
|
||
}
|
||
}, {
|
||
key: "gotoYear",
|
||
value: function(t) {
|
||
isNaN(t) || (this.calendars[0].year = parseInt(t, 10), this.adjustCalendars())
|
||
}
|
||
}, {
|
||
key: "_handleInputChange",
|
||
value: function(t) {
|
||
var e = void 0;
|
||
t.firedBy !== this && (e = this.options.parse ? this.options.parse(this.el.value, this.options.format) : new Date(Date.parse(this.el.value)), B._isDate(e) && this.setDate(e))
|
||
}
|
||
}, {
|
||
key: "renderDayName",
|
||
value: function(t, e, i) {
|
||
for (e += t.firstDay; 7 <= e;) e -= 7;
|
||
return i ? t.i18n.weekdaysAbbrev[e] : t.i18n.weekdays[e]
|
||
}
|
||
}, {
|
||
key: "_finishSelection",
|
||
value: function() {
|
||
this.setInputValue(), this.close()
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function() {
|
||
if (!this.isOpen) return this.isOpen = !0, "function" == typeof this.options.onOpen && this.options.onOpen.call(this), this.draw(), this.modal.open(), this
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
if (this.isOpen) return this.isOpen = !1, "function" == typeof this.options.onClose && this.options.onClose.call(this), this.modal.close(), this
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(B.__proto__ || Object.getPrototypeOf(B), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "_isDate",
|
||
value: function(t) {
|
||
return /Date/.test(Object.prototype.toString.call(t)) && !isNaN(t.getTime())
|
||
}
|
||
}, {
|
||
key: "_isWeekend",
|
||
value: function(t) {
|
||
var e = t.getDay();
|
||
return 0 === e || 6 === e
|
||
}
|
||
}, {
|
||
key: "_setToStartOfDay",
|
||
value: function(t) {
|
||
B._isDate(t) && t.setHours(0, 0, 0, 0)
|
||
}
|
||
}, {
|
||
key: "_getDaysInMonth",
|
||
value: function(t, e) {
|
||
return [31, B._isLeapYear(t) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][e]
|
||
}
|
||
}, {
|
||
key: "_isLeapYear",
|
||
value: function(t) {
|
||
return t % 4 == 0 && t % 100 != 0 || t % 400 == 0
|
||
}
|
||
}, {
|
||
key: "_compareDates",
|
||
value: function(t, e) {
|
||
return t.getTime() === e.getTime()
|
||
}
|
||
}, {
|
||
key: "_setToStartOfDay",
|
||
value: function(t) {
|
||
B._isDate(t) && t.setHours(0, 0, 0, 0)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Datepicker
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), B
|
||
}();
|
||
t._template = ['<div class= "modal datepicker-modal">', '<div class="modal-content datepicker-container">', '<div class="datepicker-date-display">', '<span class="year-text"></span>', '<span class="date-text"></span>', "</div>", '<div class="datepicker-calendar-container">', '<div class="datepicker-calendar"></div>', '<div class="datepicker-footer">', '<button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button>', '<div class="confirmation-btns">', '<button class="btn-flat datepicker-cancel waves-effect" type="button"></button>', '<button class="btn-flat datepicker-done waves-effect" type="button"></button>', "</div>", "</div>", "</div>", "</div>", "</div>"].join(""), M.Datepicker = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "datepicker", "M_Datepicker")
|
||
}(cash),
|
||
function(h) {
|
||
"use strict";
|
||
var e = {
|
||
dialRadius: 135,
|
||
outerRadius: 105,
|
||
innerRadius: 70,
|
||
tickRadius: 20,
|
||
duration: 350,
|
||
container: null,
|
||
defaultTime: "now",
|
||
fromNow: 0,
|
||
showClearBtn: !1,
|
||
i18n: {
|
||
cancel: "Cancel",
|
||
clear: "Clear",
|
||
done: "Ok"
|
||
},
|
||
autoClose: !1,
|
||
twelveHour: !0,
|
||
vibrate: !0,
|
||
onOpenStart: null,
|
||
onOpenEnd: null,
|
||
onCloseStart: null,
|
||
onCloseEnd: null,
|
||
onSelect: null
|
||
},
|
||
t = function(t) {
|
||
function f(t, e) {
|
||
_classCallCheck(this, f);
|
||
var i = _possibleConstructorReturn(this, (f.__proto__ || Object.getPrototypeOf(f)).call(this, f, t, e));
|
||
return (i.el.M_Timepicker = i).options = h.extend({}, f.defaults, e), i.id = M.guid(), i._insertHTMLIntoDOM(), i._setupModal(), i._setupVariables(), i._setupEventHandlers(), i._clockSetup(), i._pickerSetup(), i
|
||
}
|
||
return _inherits(f, Component), _createClass(f, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this.modal.destroy(), h(this.modalEl).remove(), this.el.M_Timepicker = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleInputKeydownBound = this._handleInputKeydown.bind(this), this._handleInputClickBound = this._handleInputClick.bind(this), this._handleClockClickStartBound = this._handleClockClickStart.bind(this), this._handleDocumentClickMoveBound = this._handleDocumentClickMove.bind(this), this._handleDocumentClickEndBound = this._handleDocumentClickEnd.bind(this), this.el.addEventListener("click", this._handleInputClickBound), this.el.addEventListener("keydown", this._handleInputKeydownBound), this.plate.addEventListener("mousedown", this._handleClockClickStartBound), this.plate.addEventListener("touchstart", this._handleClockClickStartBound), h(this.spanHours).on("click", this.showView.bind(this, "hours")), h(this.spanMinutes).on("click", this.showView.bind(this, "minutes"))
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("click", this._handleInputClickBound), this.el.removeEventListener("keydown", this._handleInputKeydownBound)
|
||
}
|
||
}, {
|
||
key: "_handleInputClick",
|
||
value: function() {
|
||
this.open()
|
||
}
|
||
}, {
|
||
key: "_handleInputKeydown",
|
||
value: function(t) {
|
||
t.which === M.keys.ENTER && (t.preventDefault(), this.open())
|
||
}
|
||
}, {
|
||
key: "_handleClockClickStart",
|
||
value: function(t) {
|
||
t.preventDefault();
|
||
var e = this.plate.getBoundingClientRect(),
|
||
i = e.left,
|
||
n = e.top;
|
||
this.x0 = i + this.options.dialRadius, this.y0 = n + this.options.dialRadius, this.moved = !1;
|
||
var s = f._Pos(t);
|
||
this.dx = s.x - this.x0, this.dy = s.y - this.y0, this.setHand(this.dx, this.dy, !1), document.addEventListener("mousemove", this._handleDocumentClickMoveBound), document.addEventListener("touchmove", this._handleDocumentClickMoveBound), document.addEventListener("mouseup", this._handleDocumentClickEndBound), document.addEventListener("touchend", this._handleDocumentClickEndBound)
|
||
}
|
||
}, {
|
||
key: "_handleDocumentClickMove",
|
||
value: function(t) {
|
||
t.preventDefault();
|
||
var e = f._Pos(t),
|
||
i = e.x - this.x0,
|
||
n = e.y - this.y0;
|
||
this.moved = !0, this.setHand(i, n, !1, !0)
|
||
}
|
||
}, {
|
||
key: "_handleDocumentClickEnd",
|
||
value: function(t) {
|
||
var e = this;
|
||
t.preventDefault(), document.removeEventListener("mouseup", this._handleDocumentClickEndBound), document.removeEventListener("touchend", this._handleDocumentClickEndBound);
|
||
var i = f._Pos(t),
|
||
n = i.x - this.x0,
|
||
s = i.y - this.y0;
|
||
this.moved && n === this.dx && s === this.dy && this.setHand(n, s), "hours" === this.currentView ? this.showView("minutes", this.options.duration / 2) : this.options.autoClose && (h(this.minutesView).addClass("timepicker-dial-out"), setTimeout(function() {
|
||
e.done()
|
||
}, this.options.duration / 2)), "function" == typeof this.options.onSelect && this.options.onSelect.call(this, this.hours, this.minutes), document.removeEventListener("mousemove", this._handleDocumentClickMoveBound), document.removeEventListener("touchmove", this._handleDocumentClickMoveBound)
|
||
}
|
||
}, {
|
||
key: "_insertHTMLIntoDOM",
|
||
value: function() {
|
||
this.$modalEl = h(f._template), this.modalEl = this.$modalEl[0], this.modalEl.id = "modal-" + this.id;
|
||
var t = document.querySelector(this.options.container);
|
||
this.options.container && t ? this.$modalEl.appendTo(t) : this.$modalEl.insertBefore(this.el)
|
||
}
|
||
}, {
|
||
key: "_setupModal",
|
||
value: function() {
|
||
var t = this;
|
||
this.modal = M.Modal.init(this.modalEl, {
|
||
onOpenStart: this.options.onOpenStart,
|
||
onOpenEnd: this.options.onOpenEnd,
|
||
onCloseStart: this.options.onCloseStart,
|
||
onCloseEnd: function() {
|
||
"function" == typeof t.options.onCloseEnd && t.options.onCloseEnd.call(t), t.isOpen = !1
|
||
}
|
||
})
|
||
}
|
||
}, {
|
||
key: "_setupVariables",
|
||
value: function() {
|
||
this.currentView = "hours", this.vibrate = navigator.vibrate ? "vibrate" : navigator.webkitVibrate ? "webkitVibrate" : null, this._canvas = this.modalEl.querySelector(".timepicker-canvas"), this.plate = this.modalEl.querySelector(".timepicker-plate"), this.hoursView = this.modalEl.querySelector(".timepicker-hours"), this.minutesView = this.modalEl.querySelector(".timepicker-minutes"), this.spanHours = this.modalEl.querySelector(".timepicker-span-hours"), this.spanMinutes = this.modalEl.querySelector(".timepicker-span-minutes"), this.spanAmPm = this.modalEl.querySelector(".timepicker-span-am-pm"), this.footer = this.modalEl.querySelector(".timepicker-footer"), this.amOrPm = "PM"
|
||
}
|
||
}, {
|
||
key: "_pickerSetup",
|
||
value: function() {
|
||
var t = h('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="' + (this.options.twelveHour ? "3" : "1") + '">' + this.options.i18n.clear + "</button>").appendTo(this.footer).on("click", this.clear.bind(this));
|
||
this.options.showClearBtn && t.css({
|
||
visibility: ""
|
||
});
|
||
var e = h('<div class="confirmation-btns"></div>');
|
||
h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="' + (this.options.twelveHour ? "3" : "1") + '">' + this.options.i18n.cancel + "</button>").appendTo(e).on("click", this.close.bind(this)), h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="' + (this.options.twelveHour ? "3" : "1") + '">' + this.options.i18n.done + "</button>").appendTo(e).on("click", this.done.bind(this)), e.appendTo(this.footer)
|
||
}
|
||
}, {
|
||
key: "_clockSetup",
|
||
value: function() {
|
||
this.options.twelveHour && (this.$amBtn = h('<div class="am-btn">AM</div>'), this.$pmBtn = h('<div class="pm-btn">PM</div>'), this.$amBtn.on("click", this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm), this.$pmBtn.on("click", this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)), this._buildHoursView(), this._buildMinutesView(), this._buildSVGClock()
|
||
}
|
||
}, {
|
||
key: "_buildSVGClock",
|
||
value: function() {
|
||
var t = this.options.dialRadius,
|
||
e = this.options.tickRadius,
|
||
i = 2 * t,
|
||
n = f._createSVGEl("svg");
|
||
n.setAttribute("class", "timepicker-svg"), n.setAttribute("width", i), n.setAttribute("height", i);
|
||
var s = f._createSVGEl("g");
|
||
s.setAttribute("transform", "translate(" + t + "," + t + ")");
|
||
var o = f._createSVGEl("circle");
|
||
o.setAttribute("class", "timepicker-canvas-bearing"), o.setAttribute("cx", 0), o.setAttribute("cy", 0), o.setAttribute("r", 4);
|
||
var a = f._createSVGEl("line");
|
||
a.setAttribute("x1", 0), a.setAttribute("y1", 0);
|
||
var r = f._createSVGEl("circle");
|
||
r.setAttribute("class", "timepicker-canvas-bg"), r.setAttribute("r", e), s.appendChild(a), s.appendChild(r), s.appendChild(o), n.appendChild(s), this._canvas.appendChild(n), this.hand = a, this.bg = r, this.bearing = o, this.g = s
|
||
}
|
||
}, {
|
||
key: "_buildHoursView",
|
||
value: function() {
|
||
var t = h('<div class="timepicker-tick"></div>');
|
||
if (this.options.twelveHour)
|
||
for (var e = 1; e < 13; e += 1) {
|
||
var i = t.clone(),
|
||
n = e / 6 * Math.PI,
|
||
s = this.options.outerRadius;
|
||
i.css({
|
||
left: this.options.dialRadius + Math.sin(n) * s - this.options.tickRadius + "px",
|
||
top: this.options.dialRadius - Math.cos(n) * s - this.options.tickRadius + "px"
|
||
}), i.html(0 === e ? "00" : e), this.hoursView.appendChild(i[0])
|
||
} else
|
||
for (var o = 0; o < 24; o += 1) {
|
||
var a = t.clone(),
|
||
r = o / 6 * Math.PI,
|
||
l = 0 < o && o < 13 ? this.options.innerRadius : this.options.outerRadius;
|
||
a.css({
|
||
left: this.options.dialRadius + Math.sin(r) * l - this.options.tickRadius + "px",
|
||
top: this.options.dialRadius - Math.cos(r) * l - this.options.tickRadius + "px"
|
||
}), a.html(0 === o ? "00" : o), this.hoursView.appendChild(a[0])
|
||
}
|
||
}
|
||
}, {
|
||
key: "_buildMinutesView",
|
||
value: function() {
|
||
for (var t = h('<div class="timepicker-tick"></div>'), e = 0; e < 60; e += 5) {
|
||
var i = t.clone(),
|
||
n = e / 30 * Math.PI;
|
||
i.css({
|
||
left: this.options.dialRadius + Math.sin(n) * this.options.outerRadius - this.options.tickRadius + "px",
|
||
top: this.options.dialRadius - Math.cos(n) * this.options.outerRadius - this.options.tickRadius + "px"
|
||
}), i.html(f._addLeadingZero(e)), this.minutesView.appendChild(i[0])
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleAmPmClick",
|
||
value: function(t) {
|
||
var e = h(t.target);
|
||
this.amOrPm = e.hasClass("am-btn") ? "AM" : "PM", this._updateAmPmView()
|
||
}
|
||
}, {
|
||
key: "_updateAmPmView",
|
||
value: function() {
|
||
this.options.twelveHour && (this.$amBtn.toggleClass("text-primary", "AM" === this.amOrPm), this.$pmBtn.toggleClass("text-primary", "PM" === this.amOrPm))
|
||
}
|
||
}, {
|
||
key: "_updateTimeFromInput",
|
||
value: function() {
|
||
var t = ((this.el.value || this.options.defaultTime || "") + "").split(":");
|
||
if (this.options.twelveHour && void 0 !== t[1] && (0 < t[1].toUpperCase().indexOf("AM") ? this.amOrPm = "AM" : this.amOrPm = "PM", t[1] = t[1].replace("AM", "").replace("PM", "")), "now" === t[0]) {
|
||
var e = new Date(+new Date + this.options.fromNow);
|
||
t = [e.getHours(), e.getMinutes()], this.options.twelveHour && (this.amOrPm = 12 <= t[0] && t[0] < 24 ? "PM" : "AM")
|
||
}
|
||
this.hours = +t[0] || 0, this.minutes = +t[1] || 0, this.spanHours.innerHTML = this.hours, this.spanMinutes.innerHTML = f._addLeadingZero(this.minutes), this._updateAmPmView()
|
||
}
|
||
}, {
|
||
key: "showView",
|
||
value: function(t, e) {
|
||
"minutes" === t && h(this.hoursView).css("visibility");
|
||
var i = "hours" === t,
|
||
n = i ? this.hoursView : this.minutesView,
|
||
s = i ? this.minutesView : this.hoursView;
|
||
this.currentView = t, h(this.spanHours).toggleClass("text-primary", i), h(this.spanMinutes).toggleClass("text-primary", !i), s.classList.add("timepicker-dial-out"), h(n).css("visibility", "visible").removeClass("timepicker-dial-out"), this.resetClock(e), clearTimeout(this.toggleViewTimer), this.toggleViewTimer = setTimeout(function() {
|
||
h(s).css("visibility", "hidden")
|
||
}, this.options.duration)
|
||
}
|
||
}, {
|
||
key: "resetClock",
|
||
value: function(t) {
|
||
var e = this.currentView,
|
||
i = this[e],
|
||
n = "hours" === e,
|
||
s = i * (Math.PI / (n ? 6 : 30)),
|
||
o = n && 0 < i && i < 13 ? this.options.innerRadius : this.options.outerRadius,
|
||
a = Math.sin(s) * o,
|
||
r = -Math.cos(s) * o,
|
||
l = this;
|
||
t ? (h(this.canvas).addClass("timepicker-canvas-out"), setTimeout(function() {
|
||
h(l.canvas).removeClass("timepicker-canvas-out"), l.setHand(a, r)
|
||
}, t)) : this.setHand(a, r)
|
||
}
|
||
}, {
|
||
key: "setHand",
|
||
value: function(t, e, i) {
|
||
var n = this,
|
||
s = Math.atan2(t, -e),
|
||
o = "hours" === this.currentView,
|
||
a = Math.PI / (o || i ? 6 : 30),
|
||
r = Math.sqrt(t * t + e * e),
|
||
l = o && r < (this.options.outerRadius + this.options.innerRadius) / 2,
|
||
h = l ? this.options.innerRadius : this.options.outerRadius;
|
||
this.options.twelveHour && (h = this.options.outerRadius), s < 0 && (s = 2 * Math.PI + s);
|
||
var d = Math.round(s / a);
|
||
s = d * a, this.options.twelveHour ? o ? 0 === d && (d = 12) : (i && (d *= 5), 60 === d && (d = 0)) : o ? (12 === d && (d = 0), d = l ? 0 === d ? 12 : d : 0 === d ? 0 : d + 12) : (i && (d *= 5), 60 === d && (d = 0)), this[this.currentView] !== d && this.vibrate && this.options.vibrate && (this.vibrateTimer || (navigator[this.vibrate](10), this.vibrateTimer = setTimeout(function() {
|
||
n.vibrateTimer = null
|
||
}, 100))), this[this.currentView] = d, o ? this.spanHours.innerHTML = d : this.spanMinutes.innerHTML = f._addLeadingZero(d);
|
||
var u = Math.sin(s) * (h - this.options.tickRadius),
|
||
c = -Math.cos(s) * (h - this.options.tickRadius),
|
||
p = Math.sin(s) * h,
|
||
v = -Math.cos(s) * h;
|
||
this.hand.setAttribute("x2", u), this.hand.setAttribute("y2", c), this.bg.setAttribute("cx", p), this.bg.setAttribute("cy", v)
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function() {
|
||
this.isOpen || (this.isOpen = !0, this._updateTimeFromInput(), this.showView("hours"), this.modal.open())
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
this.isOpen && (this.isOpen = !1, this.modal.close())
|
||
}
|
||
}, {
|
||
key: "done",
|
||
value: function(t, e) {
|
||
var i = this.el.value,
|
||
n = e ? "" : f._addLeadingZero(this.hours) + ":" + f._addLeadingZero(this.minutes);
|
||
this.time = n, !e && this.options.twelveHour && (n = n + " " + this.amOrPm), (this.el.value = n) !== i && this.$el.trigger("change"), this.close(), this.el.focus()
|
||
}
|
||
}, {
|
||
key: "clear",
|
||
value: function() {
|
||
this.done(null, !0)
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(f.__proto__ || Object.getPrototypeOf(f), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "_addLeadingZero",
|
||
value: function(t) {
|
||
return (t < 10 ? "0" : "") + t
|
||
}
|
||
}, {
|
||
key: "_createSVGEl",
|
||
value: function(t) {
|
||
return document.createElementNS("http://www.w3.org/2000/svg", t)
|
||
}
|
||
}, {
|
||
key: "_Pos",
|
||
value: function(t) {
|
||
return t.targetTouches && 1 <= t.targetTouches.length ? {
|
||
x: t.targetTouches[0].clientX,
|
||
y: t.targetTouches[0].clientY
|
||
} : {
|
||
x: t.clientX,
|
||
y: t.clientY
|
||
}
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Timepicker
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), f
|
||
}();
|
||
t._template = ['<div class= "modal timepicker-modal">', '<div class="modal-content timepicker-container">', '<div class="timepicker-digital-display">', '<div class="timepicker-text-container">', '<div class="timepicker-display-column">', '<span class="timepicker-span-hours text-primary"></span>', ":", '<span class="timepicker-span-minutes"></span>', "</div>", '<div class="timepicker-display-column timepicker-display-am-pm">', '<div class="timepicker-span-am-pm"></div>', "</div>", "</div>", "</div>", '<div class="timepicker-analog-display">', '<div class="timepicker-plate">', '<div class="timepicker-canvas"></div>', '<div class="timepicker-dial timepicker-hours"></div>', '<div class="timepicker-dial timepicker-minutes timepicker-dial-out"></div>', "</div>", '<div class="timepicker-footer"></div>', "</div>", "</div>", "</div>"].join(""), M.Timepicker = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "timepicker", "M_Timepicker")
|
||
}(cash),
|
||
function(s) {
|
||
"use strict";
|
||
var e = {},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_CharacterCounter = i).options = s.extend({}, n.defaults, e), i.isInvalid = !1, i.isValidLength = !1, i._setupCounter(), i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this.el.CharacterCounter = void 0, this._removeCounter()
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleUpdateCounterBound = this.updateCounter.bind(this), this.el.addEventListener("focus", this._handleUpdateCounterBound, !0), this.el.addEventListener("input", this._handleUpdateCounterBound, !0)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("focus", this._handleUpdateCounterBound, !0), this.el.removeEventListener("input", this._handleUpdateCounterBound, !0)
|
||
}
|
||
}, {
|
||
key: "_setupCounter",
|
||
value: function() {
|
||
this.counterEl = document.createElement("span"), s(this.counterEl).addClass("character-counter").css({
|
||
float: "right",
|
||
"font-size": "12px",
|
||
height: 1
|
||
}), this.$el.parent().append(this.counterEl)
|
||
}
|
||
}, {
|
||
key: "_removeCounter",
|
||
value: function() {
|
||
s(this.counterEl).remove()
|
||
}
|
||
}, {
|
||
key: "updateCounter",
|
||
value: function() {
|
||
var t = +this.$el.attr("data-length"),
|
||
e = this.el.value.length;
|
||
this.isValidLength = e <= t;
|
||
var i = e;
|
||
t && (i += "/" + t, this._validateInput()), s(this.counterEl).html(i)
|
||
}
|
||
}, {
|
||
key: "_validateInput",
|
||
value: function() {
|
||
this.isValidLength && this.isInvalid ? (this.isInvalid = !1, this.$el.removeClass("invalid")) : this.isValidLength || this.isInvalid || (this.isInvalid = !0, this.$el.removeClass("valid"), this.$el.addClass("invalid"))
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_CharacterCounter
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
M.CharacterCounter = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "characterCounter", "M_CharacterCounter")
|
||
}(cash),
|
||
function(b) {
|
||
"use strict";
|
||
var e = {
|
||
duration: 200,
|
||
dist: -100,
|
||
shift: 0,
|
||
padding: 0,
|
||
numVisible: 5,
|
||
fullWidth: !1,
|
||
indicators: !1,
|
||
noWrap: !1,
|
||
onCycleTo: null
|
||
},
|
||
t = function(t) {
|
||
function i(t, e) {
|
||
_classCallCheck(this, i);
|
||
var n = _possibleConstructorReturn(this, (i.__proto__ || Object.getPrototypeOf(i)).call(this, i, t, e));
|
||
return (n.el.M_Carousel = n).options = b.extend({}, i.defaults, e), n.hasMultipleSlides = 1 < n.$el.find(".carousel-item").length, n.showIndicators = n.options.indicators && n.hasMultipleSlides, n.noWrap = n.options.noWrap || !n.hasMultipleSlides, n.pressed = !1, n.dragged = !1, n.offset = n.target = 0, n.images = [], n.itemWidth = n.$el.find(".carousel-item").first().innerWidth(), n.itemHeight = n.$el.find(".carousel-item").first().innerHeight(), n.dim = 2 * n.itemWidth + n.options.padding || 1, n._autoScrollBound = n._autoScroll.bind(n), n._trackBound = n._track.bind(n), n.options.fullWidth && (n.options.dist = 0, n._setCarouselHeight(), n.showIndicators && n.$el.find(".carousel-fixed-item").addClass("with-indicators")), n.$indicators = b('<ul class="indicators"></ul>'), n.$el.find(".carousel-item").each(function(t, e) {
|
||
if (n.images.push(t), n.showIndicators) {
|
||
var i = b('<li class="indicator-item"></li>');
|
||
0 === e && i[0].classList.add("active"), n.$indicators.append(i)
|
||
}
|
||
}), n.showIndicators && n.$el.append(n.$indicators), n.count = n.images.length, n.options.numVisible = Math.min(n.count, n.options.numVisible), n.xform = "transform", ["webkit", "Moz", "O", "ms"].every(function(t) {
|
||
var e = t + "Transform";
|
||
return void 0 === document.body.style[e] || (n.xform = e, !1)
|
||
}), n._setupEventHandlers(), n._scroll(n.offset), n
|
||
}
|
||
return _inherits(i, Component), _createClass(i, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this.el.M_Carousel = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
var i = this;
|
||
this._handleCarouselTapBound = this._handleCarouselTap.bind(this), this._handleCarouselDragBound = this._handleCarouselDrag.bind(this), this._handleCarouselReleaseBound = this._handleCarouselRelease.bind(this), this._handleCarouselClickBound = this._handleCarouselClick.bind(this), void 0 !== window.ontouchstart && (this.el.addEventListener("touchstart", this._handleCarouselTapBound), this.el.addEventListener("touchmove", this._handleCarouselDragBound), this.el.addEventListener("touchend", this._handleCarouselReleaseBound)), this.el.addEventListener("mousedown", this._handleCarouselTapBound), this.el.addEventListener("mousemove", this._handleCarouselDragBound), this.el.addEventListener("mouseup", this._handleCarouselReleaseBound), this.el.addEventListener("mouseleave", this._handleCarouselReleaseBound), this.el.addEventListener("click", this._handleCarouselClickBound), this.showIndicators && this.$indicators && (this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this), this.$indicators.find(".indicator-item").each(function(t, e) {
|
||
t.addEventListener("click", i._handleIndicatorClickBound)
|
||
}));
|
||
var t = M.throttle(this._handleResize, 200);
|
||
this._handleThrottledResizeBound = t.bind(this), window.addEventListener("resize", this._handleThrottledResizeBound)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
var i = this;
|
||
void 0 !== window.ontouchstart && (this.el.removeEventListener("touchstart", this._handleCarouselTapBound), this.el.removeEventListener("touchmove", this._handleCarouselDragBound), this.el.removeEventListener("touchend", this._handleCarouselReleaseBound)), this.el.removeEventListener("mousedown", this._handleCarouselTapBound), this.el.removeEventListener("mousemove", this._handleCarouselDragBound), this.el.removeEventListener("mouseup", this._handleCarouselReleaseBound), this.el.removeEventListener("mouseleave", this._handleCarouselReleaseBound), this.el.removeEventListener("click", this._handleCarouselClickBound), this.showIndicators && this.$indicators && this.$indicators.find(".indicator-item").each(function(t, e) {
|
||
t.removeEventListener("click", i._handleIndicatorClickBound)
|
||
}), window.removeEventListener("resize", this._handleThrottledResizeBound)
|
||
}
|
||
}, {
|
||
key: "_handleCarouselTap",
|
||
value: function(t) {
|
||
"mousedown" === t.type && b(t.target).is("img") && t.preventDefault(), this.pressed = !0, this.dragged = !1, this.verticalDragged = !1, this.reference = this._xpos(t), this.referenceY = this._ypos(t), this.velocity = this.amplitude = 0, this.frame = this.offset, this.timestamp = Date.now(), clearInterval(this.ticker), this.ticker = setInterval(this._trackBound, 100)
|
||
}
|
||
}, {
|
||
key: "_handleCarouselDrag",
|
||
value: function(t) {
|
||
var e = void 0,
|
||
i = void 0,
|
||
n = void 0;
|
||
if (this.pressed)
|
||
if (e = this._xpos(t), i = this._ypos(t), n = this.reference - e, Math.abs(this.referenceY - i) < 30 && !this.verticalDragged)(2 < n || n < -2) && (this.dragged = !0, this.reference = e, this._scroll(this.offset + n));
|
||
else {
|
||
if (this.dragged) return t.preventDefault(), t.stopPropagation(), !1;
|
||
this.verticalDragged = !0
|
||
} if (this.dragged) return t.preventDefault(), t.stopPropagation(), !1
|
||
}
|
||
}, {
|
||
key: "_handleCarouselRelease",
|
||
value: function(t) {
|
||
if (this.pressed) return this.pressed = !1, clearInterval(this.ticker), this.target = this.offset, (10 < this.velocity || this.velocity < -10) && (this.amplitude = .9 * this.velocity, this.target = this.offset + this.amplitude), this.target = Math.round(this.target / this.dim) * this.dim, this.noWrap && (this.target >= this.dim * (this.count - 1) ? this.target = this.dim * (this.count - 1) : this.target < 0 && (this.target = 0)), this.amplitude = this.target - this.offset, this.timestamp = Date.now(), requestAnimationFrame(this._autoScrollBound), this.dragged && (t.preventDefault(), t.stopPropagation()), !1
|
||
}
|
||
}, {
|
||
key: "_handleCarouselClick",
|
||
value: function(t) {
|
||
if (this.dragged) return t.preventDefault(), t.stopPropagation(), !1;
|
||
if (!this.options.fullWidth) {
|
||
var e = b(t.target).closest(".carousel-item").index();
|
||
0 !== this._wrap(this.center) - e && (t.preventDefault(), t.stopPropagation()), this._cycleTo(e)
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleIndicatorClick",
|
||
value: function(t) {
|
||
t.stopPropagation();
|
||
var e = b(t.target).closest(".indicator-item");
|
||
e.length && this._cycleTo(e.index())
|
||
}
|
||
}, {
|
||
key: "_handleResize",
|
||
value: function(t) {
|
||
this.options.fullWidth ? (this.itemWidth = this.$el.find(".carousel-item").first().innerWidth(), this.imageHeight = this.$el.find(".carousel-item.active").height(), this.dim = 2 * this.itemWidth + this.options.padding, this.offset = 2 * this.center * this.itemWidth, this.target = this.offset, this._setCarouselHeight(!0)) : this._scroll()
|
||
}
|
||
}, {
|
||
key: "_setCarouselHeight",
|
||
value: function(t) {
|
||
var i = this,
|
||
e = this.$el.find(".carousel-item.active").length ? this.$el.find(".carousel-item.active").first() : this.$el.find(".carousel-item").first(),
|
||
n = e.find("img").first();
|
||
if (n.length)
|
||
if (n[0].complete) {
|
||
var s = n.height();
|
||
if (0 < s) this.$el.css("height", s + "px");
|
||
else {
|
||
var o = n[0].naturalWidth,
|
||
a = n[0].naturalHeight,
|
||
r = this.$el.width() / o * a;
|
||
this.$el.css("height", r + "px")
|
||
}
|
||
} else n.one("load", function(t, e) {
|
||
i.$el.css("height", t.offsetHeight + "px")
|
||
});
|
||
else if (!t) {
|
||
var l = e.height();
|
||
this.$el.css("height", l + "px")
|
||
}
|
||
}
|
||
}, {
|
||
key: "_xpos",
|
||
value: function(t) {
|
||
return t.targetTouches && 1 <= t.targetTouches.length ? t.targetTouches[0].clientX : t.clientX
|
||
}
|
||
}, {
|
||
key: "_ypos",
|
||
value: function(t) {
|
||
return t.targetTouches && 1 <= t.targetTouches.length ? t.targetTouches[0].clientY : t.clientY
|
||
}
|
||
}, {
|
||
key: "_wrap",
|
||
value: function(t) {
|
||
return t >= this.count ? t % this.count : t < 0 ? this._wrap(this.count + t % this.count) : t
|
||
}
|
||
}, {
|
||
key: "_track",
|
||
value: function() {
|
||
var t, e, i, n;
|
||
e = (t = Date.now()) - this.timestamp, this.timestamp = t, i = this.offset - this.frame, this.frame = this.offset, n = 1e3 * i / (1 + e), this.velocity = .8 * n + .2 * this.velocity
|
||
}
|
||
}, {
|
||
key: "_autoScroll",
|
||
value: function() {
|
||
var t = void 0,
|
||
e = void 0;
|
||
this.amplitude && (t = Date.now() - this.timestamp, 2 < (e = this.amplitude * Math.exp(-t / this.options.duration)) || e < -2 ? (this._scroll(this.target - e), requestAnimationFrame(this._autoScrollBound)) : this._scroll(this.target))
|
||
}
|
||
}, {
|
||
key: "_scroll",
|
||
value: function(t) {
|
||
var e = this;
|
||
this.$el.hasClass("scrolling") || this.el.classList.add("scrolling"), null != this.scrollingTimeout && window.clearTimeout(this.scrollingTimeout), this.scrollingTimeout = window.setTimeout(function() {
|
||
e.$el.removeClass("scrolling")
|
||
}, this.options.duration);
|
||
var i, n, s, o, a = void 0,
|
||
r = void 0,
|
||
l = void 0,
|
||
h = void 0,
|
||
d = void 0,
|
||
u = void 0,
|
||
c = this.center,
|
||
p = 1 / this.options.numVisible;
|
||
if (this.offset = "number" == typeof t ? t : this.offset, this.center = Math.floor((this.offset + this.dim / 2) / this.dim), o = -(s = (n = this.offset - this.center * this.dim) < 0 ? 1 : -1) * n * 2 / this.dim, i = this.count >> 1, this.options.fullWidth ? (l = "translateX(0)", u = 1) : (l = "translateX(" + (this.el.clientWidth - this.itemWidth) / 2 + "px) ", l += "translateY(" + (this.el.clientHeight - this.itemHeight) / 2 + "px)", u = 1 - p * o), this.showIndicators) {
|
||
var v = this.center % this.count,
|
||
f = this.$indicators.find(".indicator-item.active");
|
||
f.index() !== v && (f.removeClass("active"), this.$indicators.find(".indicator-item").eq(v)[0].classList.add("active"))
|
||
}
|
||
if (!this.noWrap || 0 <= this.center && this.center < this.count) {
|
||
r = this.images[this._wrap(this.center)], b(r).hasClass("active") || (this.$el.find(".carousel-item").removeClass("active"), r.classList.add("active"));
|
||
var m = l + " translateX(" + -n / 2 + "px) translateX(" + s * this.options.shift * o * a + "px) translateZ(" + this.options.dist * o + "px)";
|
||
this._updateItemStyle(r, u, 0, m)
|
||
}
|
||
for (a = 1; a <= i; ++a) {
|
||
if (this.options.fullWidth ? (h = this.options.dist, d = a === i && n < 0 ? 1 - o : 1) : (h = this.options.dist * (2 * a + o * s), d = 1 - p * (2 * a + o * s)), !this.noWrap || this.center + a < this.count) {
|
||
r = this.images[this._wrap(this.center + a)];
|
||
var g = l + " translateX(" + (this.options.shift + (this.dim * a - n) / 2) + "px) translateZ(" + h + "px)";
|
||
this._updateItemStyle(r, d, -a, g)
|
||
}
|
||
if (this.options.fullWidth ? (h = this.options.dist, d = a === i && 0 < n ? 1 - o : 1) : (h = this.options.dist * (2 * a - o * s), d = 1 - p * (2 * a - o * s)), !this.noWrap || 0 <= this.center - a) {
|
||
r = this.images[this._wrap(this.center - a)];
|
||
var _ = l + " translateX(" + (-this.options.shift + (-this.dim * a - n) / 2) + "px) translateZ(" + h + "px)";
|
||
this._updateItemStyle(r, d, -a, _)
|
||
}
|
||
}
|
||
if (!this.noWrap || 0 <= this.center && this.center < this.count) {
|
||
r = this.images[this._wrap(this.center)];
|
||
var y = l + " translateX(" + -n / 2 + "px) translateX(" + s * this.options.shift * o + "px) translateZ(" + this.options.dist * o + "px)";
|
||
this._updateItemStyle(r, u, 0, y)
|
||
}
|
||
var k = this.$el.find(".carousel-item").eq(this._wrap(this.center));
|
||
c !== this.center && "function" == typeof this.options.onCycleTo && this.options.onCycleTo.call(this, k[0], this.dragged), "function" == typeof this.oneTimeCallback && (this.oneTimeCallback.call(this, k[0], this.dragged), this.oneTimeCallback = null)
|
||
}
|
||
}, {
|
||
key: "_updateItemStyle",
|
||
value: function(t, e, i, n) {
|
||
t.style[this.xform] = n, t.style.zIndex = i, t.style.opacity = e, t.style.visibility = "visible"
|
||
}
|
||
}, {
|
||
key: "_cycleTo",
|
||
value: function(t, e) {
|
||
var i = this.center % this.count - t;
|
||
this.noWrap || (i < 0 ? Math.abs(i + this.count) < Math.abs(i) && (i += this.count) : 0 < i && Math.abs(i - this.count) < i && (i -= this.count)), this.target = this.dim * Math.round(this.offset / this.dim), i < 0 ? this.target += this.dim * Math.abs(i) : 0 < i && (this.target -= this.dim * i), "function" == typeof e && (this.oneTimeCallback = e), this.offset !== this.target && (this.amplitude = this.target - this.offset, this.timestamp = Date.now(), requestAnimationFrame(this._autoScrollBound))
|
||
}
|
||
}, {
|
||
key: "next",
|
||
value: function(t) {
|
||
(void 0 === t || isNaN(t)) && (t = 1);
|
||
var e = this.center + t;
|
||
if (e >= this.count || e < 0) {
|
||
if (this.noWrap) return;
|
||
e = this._wrap(e)
|
||
}
|
||
this._cycleTo(e)
|
||
}
|
||
}, {
|
||
key: "prev",
|
||
value: function(t) {
|
||
(void 0 === t || isNaN(t)) && (t = 1);
|
||
var e = this.center - t;
|
||
if (e >= this.count || e < 0) {
|
||
if (this.noWrap) return;
|
||
e = this._wrap(e)
|
||
}
|
||
this._cycleTo(e)
|
||
}
|
||
}, {
|
||
key: "set",
|
||
value: function(t, e) {
|
||
if ((void 0 === t || isNaN(t)) && (t = 0), t > this.count || t < 0) {
|
||
if (this.noWrap) return;
|
||
t = this._wrap(t)
|
||
}
|
||
this._cycleTo(t, e)
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(i.__proto__ || Object.getPrototypeOf(i), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Carousel
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), i
|
||
}();
|
||
M.Carousel = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "carousel", "M_Carousel")
|
||
}(cash),
|
||
function(S) {
|
||
"use strict";
|
||
var e = {
|
||
onOpen: void 0,
|
||
onClose: void 0
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_TapTarget = i).options = S.extend({}, n.defaults, e), i.isOpen = !1, i.$origin = S("#" + i.$el.attr("data-target")), i._setup(), i._calculatePositioning(), i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this.el.TapTarget = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleDocumentClickBound = this._handleDocumentClick.bind(this), this._handleTargetClickBound = this._handleTargetClick.bind(this), this._handleOriginClickBound = this._handleOriginClick.bind(this), this.el.addEventListener("click", this._handleTargetClickBound), this.originEl.addEventListener("click", this._handleOriginClickBound);
|
||
var t = M.throttle(this._handleResize, 200);
|
||
this._handleThrottledResizeBound = t.bind(this), window.addEventListener("resize", this._handleThrottledResizeBound)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("click", this._handleTargetClickBound), this.originEl.removeEventListener("click", this._handleOriginClickBound), window.removeEventListener("resize", this._handleThrottledResizeBound)
|
||
}
|
||
}, {
|
||
key: "_handleTargetClick",
|
||
value: function(t) {
|
||
this.open()
|
||
}
|
||
}, {
|
||
key: "_handleOriginClick",
|
||
value: function(t) {
|
||
this.close()
|
||
}
|
||
}, {
|
||
key: "_handleResize",
|
||
value: function(t) {
|
||
this._calculatePositioning()
|
||
}
|
||
}, {
|
||
key: "_handleDocumentClick",
|
||
value: function(t) {
|
||
S(t.target).closest(".tap-target-wrapper").length || (this.close(), t.preventDefault(), t.stopPropagation())
|
||
}
|
||
}, {
|
||
key: "_setup",
|
||
value: function() {
|
||
this.wrapper = this.$el.parent()[0], this.waveEl = S(this.wrapper).find(".tap-target-wave")[0], this.originEl = S(this.wrapper).find(".tap-target-origin")[0], this.contentEl = this.$el.find(".tap-target-content")[0], S(this.wrapper).hasClass(".tap-target-wrapper") || (this.wrapper = document.createElement("div"), this.wrapper.classList.add("tap-target-wrapper"), this.$el.before(S(this.wrapper)), this.wrapper.append(this.el)), this.contentEl || (this.contentEl = document.createElement("div"), this.contentEl.classList.add("tap-target-content"), this.$el.append(this.contentEl)), this.waveEl || (this.waveEl = document.createElement("div"), this.waveEl.classList.add("tap-target-wave"), this.originEl || (this.originEl = this.$origin.clone(!0, !0), this.originEl.addClass("tap-target-origin"), this.originEl.removeAttr("id"), this.originEl.removeAttr("style"), this.originEl = this.originEl[0], this.waveEl.append(this.originEl)), this.wrapper.append(this.waveEl))
|
||
}
|
||
}, {
|
||
key: "_calculatePositioning",
|
||
value: function() {
|
||
var t = "fixed" === this.$origin.css("position");
|
||
if (!t)
|
||
for (var e = this.$origin.parents(), i = 0; i < e.length && !(t = "fixed" == S(e[i]).css("position")); i++);
|
||
var n = this.$origin.outerWidth(),
|
||
s = this.$origin.outerHeight(),
|
||
o = t ? this.$origin.offset().top - M.getDocumentScrollTop() : this.$origin.offset().top,
|
||
a = t ? this.$origin.offset().left - M.getDocumentScrollLeft() : this.$origin.offset().left,
|
||
r = window.innerWidth,
|
||
l = window.innerHeight,
|
||
h = r / 2,
|
||
d = l / 2,
|
||
u = a <= h,
|
||
c = h < a,
|
||
p = o <= d,
|
||
v = d < o,
|
||
f = .25 * r <= a && a <= .75 * r,
|
||
m = this.$el.outerWidth(),
|
||
g = this.$el.outerHeight(),
|
||
_ = o + s / 2 - g / 2,
|
||
y = a + n / 2 - m / 2,
|
||
k = t ? "fixed" : "absolute",
|
||
b = f ? m : m / 2 + n,
|
||
w = g / 2,
|
||
C = p ? g / 2 : 0,
|
||
E = u && !f ? m / 2 - n : 0,
|
||
O = n,
|
||
x = v ? "bottom" : "top",
|
||
L = 2 * n,
|
||
T = L,
|
||
$ = g / 2 - T / 2,
|
||
B = m / 2 - L / 2,
|
||
D = {};
|
||
D.top = p ? _ + "px" : "", D.right = c ? r - y - m + "px" : "", D.bottom = v ? l - _ - g + "px" : "", D.left = u ? y + "px" : "", D.position = k, S(this.wrapper).css(D), S(this.contentEl).css({
|
||
width: b + "px",
|
||
height: w + "px",
|
||
top: C + "px",
|
||
right: "0px",
|
||
bottom: "0px",
|
||
left: E + "px",
|
||
padding: O + "px",
|
||
verticalAlign: x
|
||
}), S(this.waveEl).css({
|
||
top: $ + "px",
|
||
left: B + "px",
|
||
width: L + "px",
|
||
height: T + "px"
|
||
})
|
||
}
|
||
}, {
|
||
key: "open",
|
||
value: function() {
|
||
this.isOpen || ("function" == typeof this.options.onOpen && this.options.onOpen.call(this, this.$origin[0]), this.isOpen = !0, this.wrapper.classList.add("open"), document.body.addEventListener("click", this._handleDocumentClickBound, !0), document.body.addEventListener("touchend", this._handleDocumentClickBound))
|
||
}
|
||
}, {
|
||
key: "close",
|
||
value: function() {
|
||
this.isOpen && ("function" == typeof this.options.onClose && this.options.onClose.call(this, this.$origin[0]), this.isOpen = !1, this.wrapper.classList.remove("open"), document.body.removeEventListener("click", this._handleDocumentClickBound, !0), document.body.removeEventListener("touchend", this._handleDocumentClickBound))
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_TapTarget
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
M.TapTarget = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "tapTarget", "M_TapTarget")
|
||
}(cash),
|
||
function(d) {
|
||
"use strict";
|
||
var e = {
|
||
classes: "",
|
||
dropdownOptions: {}
|
||
},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return i.$el.hasClass("browser-default") ? _possibleConstructorReturn(i) : ((i.el.M_FormSelect = i).options = d.extend({}, n.defaults, e), i.isMultiple = i.$el.prop("multiple"), i.el.tabIndex = -1, i._keysSelected = {}, i._valueDict = {}, i._setupDropdown(), i._setupEventHandlers(), i)
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this._removeDropdown(), this.el.M_FormSelect = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
var e = this;
|
||
this._handleSelectChangeBound = this._handleSelectChange.bind(this), this._handleOptionClickBound = this._handleOptionClick.bind(this), this._handleInputClickBound = this._handleInputClick.bind(this), d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t) {
|
||
t.addEventListener("click", e._handleOptionClickBound)
|
||
}), this.el.addEventListener("change", this._handleSelectChangeBound), this.input.addEventListener("click", this._handleInputClickBound)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
var e = this;
|
||
d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t) {
|
||
t.removeEventListener("click", e._handleOptionClickBound)
|
||
}), this.el.removeEventListener("change", this._handleSelectChangeBound), this.input.removeEventListener("click", this._handleInputClickBound)
|
||
}
|
||
}, {
|
||
key: "_handleSelectChange",
|
||
value: function(t) {
|
||
this._setValueToInput()
|
||
}
|
||
}, {
|
||
key: "_handleOptionClick",
|
||
value: function(t) {
|
||
t.preventDefault();
|
||
var e = d(t.target).closest("li")[0],
|
||
i = e.id;
|
||
if (!d(e).hasClass("disabled") && !d(e).hasClass("optgroup") && i.length) {
|
||
var n = !0;
|
||
if (this.isMultiple) {
|
||
var s = d(this.dropdownOptions).find("li.disabled.selected");
|
||
s.length && (s.removeClass("selected"), s.find('input[type="checkbox"]').prop("checked", !1), this._toggleEntryFromArray(s[0].id)), n = this._toggleEntryFromArray(i)
|
||
} else d(this.dropdownOptions).find("li").removeClass("selected"), d(e).toggleClass("selected", n);
|
||
d(this._valueDict[i].el).prop("selected") !== n && (d(this._valueDict[i].el).prop("selected", n), this.$el.trigger("change"))
|
||
}
|
||
t.stopPropagation()
|
||
}
|
||
}, {
|
||
key: "_handleInputClick",
|
||
value: function() {
|
||
this.dropdown && this.dropdown.isOpen && (this._setValueToInput(), this._setSelectedStates())
|
||
}
|
||
}, {
|
||
key: "_setupDropdown",
|
||
value: function() {
|
||
var n = this;
|
||
this.wrapper = document.createElement("div"), d(this.wrapper).addClass("select-wrapper " + this.options.classes), this.$el.before(d(this.wrapper)), this.wrapper.appendChild(this.el), this.el.disabled && this.wrapper.classList.add("disabled"), this.$selectOptions = this.$el.children("option, optgroup"), this.dropdownOptions = document.createElement("ul"), this.dropdownOptions.id = "select-options-" + M.guid(), d(this.dropdownOptions).addClass("dropdown-content select-dropdown " + (this.isMultiple ? "multiple-select-dropdown" : "")), this.$selectOptions.length && this.$selectOptions.each(function(t) {
|
||
if (d(t).is("option")) {
|
||
var e = void 0;
|
||
e = n.isMultiple ? n._appendOptionWithIcon(n.$el, t, "multiple") : n._appendOptionWithIcon(n.$el, t), n._addOptionToValueDict(t, e)
|
||
} else if (d(t).is("optgroup")) {
|
||
var i = d(t).children("option");
|
||
d(n.dropdownOptions).append(d('<li class="optgroup"><span>' + t.getAttribute("label") + "</span></li>")[0]), i.each(function(t) {
|
||
var e = n._appendOptionWithIcon(n.$el, t, "optgroup-option");
|
||
n._addOptionToValueDict(t, e)
|
||
})
|
||
}
|
||
}), this.$el.after(this.dropdownOptions), this.input = document.createElement("input"), d(this.input).addClass("select-dropdown dropdown-trigger").addStyle("display:none"), this.input.setAttribute("type", "text"), this.input.setAttribute("readonly", "true"), this.input.setAttribute("data-target", this.dropdownOptions.id), this.el.disabled && d(this.input).prop("disabled", "true"), this.$el.before(this.input), this._setValueToInput();
|
||
var t = d('<svg class="caret" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');
|
||
if (this.$el.before(t[0]), !this.el.disabled) {
|
||
var e = d.extend({}, this.options.dropdownOptions);
|
||
e.onOpenEnd = function(t) {
|
||
var e = d(n.dropdownOptions).find(".selected").first();
|
||
if (e.length && (M.keyDown = !0, n.dropdown.focusedIndex = e.index(), n.dropdown._focusFocusedItem(), M.keyDown = !1, n.dropdown.isScrollable)) {
|
||
var i = e[0].getBoundingClientRect().top - n.dropdownOptions.getBoundingClientRect().top;
|
||
i -= n.dropdownOptions.clientHeight / 2, n.dropdownOptions.scrollTop = i
|
||
}
|
||
}, this.isMultiple && (e.closeOnClick = !1), this.dropdown = M.Dropdown.init(this.input, e)
|
||
}
|
||
this._setSelectedStates()
|
||
}
|
||
}, {
|
||
key: "_addOptionToValueDict",
|
||
value: function(t, e) {
|
||
var i = Object.keys(this._valueDict).length,
|
||
n = this.dropdownOptions.id + i,
|
||
s = {};
|
||
e.id = n, s.el = t, s.optionEl = e, this._valueDict[n] = s
|
||
}
|
||
}, {
|
||
key: "_removeDropdown",
|
||
value: function() {
|
||
d(this.wrapper).find(".caret").remove(), d(this.input).remove(), d(this.dropdownOptions).remove(), d(this.wrapper).before(this.$el), d(this.wrapper).remove()
|
||
}
|
||
}, {
|
||
key: "_appendOptionWithIcon",
|
||
value: function(t, e, i) {
|
||
var n = e.disabled ? "disabled " : "",
|
||
s = "optgroup-option" === i ? "optgroup-option " : "",
|
||
o = this.isMultiple ? '<label><input type="checkbox"' + n + '"/><span>' + e.innerHTML + "</span></label>" : e.innerHTML,
|
||
a = d("<li></li>"),
|
||
r = d("<span></span>");
|
||
r.html(o), a.addClass(n + " " + s), a.append(r);
|
||
var l = e.getAttribute("data-icon");
|
||
if (l) {
|
||
var h = d('<img alt="" src="' + l + '">');
|
||
a.prepend(h)
|
||
}
|
||
return d(this.dropdownOptions).append(a[0]), a[0]
|
||
}
|
||
}, {
|
||
key: "_toggleEntryFromArray",
|
||
value: function(t) {
|
||
var e = !this._keysSelected.hasOwnProperty(t),
|
||
i = d(this._valueDict[t].optionEl);
|
||
return e ? this._keysSelected[t] = !0 : delete this._keysSelected[t], i.toggleClass("selected", e), i.find('input[type="checkbox"]').prop("checked", e), i.prop("selected", e), e
|
||
}
|
||
}, {
|
||
key: "_setValueToInput",
|
||
value: function() {
|
||
var i = [];
|
||
if (this.$el.find("option").each(function(t) {
|
||
if (d(t).prop("selected")) {
|
||
var e = d(t).text();
|
||
i.push(e)
|
||
}
|
||
}), !i.length) {
|
||
var t = this.$el.find("option:disabled").eq(0);
|
||
t.length && "" === t[0].value && i.push(t.text())
|
||
}
|
||
this.input.value = i.join(", ")
|
||
}
|
||
}, {
|
||
key: "_setSelectedStates",
|
||
value: function() {
|
||
for (var t in this._keysSelected = {}, this._valueDict) {
|
||
var e = this._valueDict[t],
|
||
i = d(e.el).prop("selected");
|
||
d(e.optionEl).find('input[type="checkbox"]').prop("checked", i), i ? (this._activateOption(d(this.dropdownOptions), d(e.optionEl)), this._keysSelected[t] = !0) : d(e.optionEl).removeClass("selected")
|
||
}
|
||
}
|
||
}, {
|
||
key: "_activateOption",
|
||
value: function(t, e) {
|
||
e && (this.isMultiple || t.find("li.selected").removeClass("selected"), d(e).addClass("selected"))
|
||
}
|
||
}, {
|
||
key: "getSelectedValues",
|
||
value: function() {
|
||
var t = [];
|
||
for (var e in this._keysSelected) t.push(this._valueDict[e].el.value);
|
||
return t
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_FormSelect
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return e
|
||
}
|
||
}]), n
|
||
}();
|
||
M.FormSelect = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "formSelect", "M_FormSelect")
|
||
}(cash),
|
||
function(s, e) {
|
||
"use strict";
|
||
var i = {},
|
||
t = function(t) {
|
||
function n(t, e) {
|
||
_classCallCheck(this, n);
|
||
var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e));
|
||
return (i.el.M_Range = i).options = s.extend({}, n.defaults, e), i._mousedown = !1, i._setupThumb(), i._setupEventHandlers(), i
|
||
}
|
||
return _inherits(n, Component), _createClass(n, [{
|
||
key: "destroy",
|
||
value: function() {
|
||
this._removeEventHandlers(), this._removeThumb(), this.el.M_Range = void 0
|
||
}
|
||
}, {
|
||
key: "_setupEventHandlers",
|
||
value: function() {
|
||
this._handleRangeChangeBound = this._handleRangeChange.bind(this), this._handleRangeMousedownTouchstartBound = this._handleRangeMousedownTouchstart.bind(this), this._handleRangeInputMousemoveTouchmoveBound = this._handleRangeInputMousemoveTouchmove.bind(this), this._handleRangeMouseupTouchendBound = this._handleRangeMouseupTouchend.bind(this), this._handleRangeBlurMouseoutTouchleaveBound = this._handleRangeBlurMouseoutTouchleave.bind(this), this.el.addEventListener("change", this._handleRangeChangeBound), this.el.addEventListener("mousedown", this._handleRangeMousedownTouchstartBound), this.el.addEventListener("touchstart", this._handleRangeMousedownTouchstartBound), this.el.addEventListener("input", this._handleRangeInputMousemoveTouchmoveBound), this.el.addEventListener("mousemove", this._handleRangeInputMousemoveTouchmoveBound), this.el.addEventListener("touchmove", this._handleRangeInputMousemoveTouchmoveBound), this.el.addEventListener("mouseup", this._handleRangeMouseupTouchendBound), this.el.addEventListener("touchend", this._handleRangeMouseupTouchendBound), this.el.addEventListener("blur", this._handleRangeBlurMouseoutTouchleaveBound), this.el.addEventListener("mouseout", this._handleRangeBlurMouseoutTouchleaveBound), this.el.addEventListener("touchleave", this._handleRangeBlurMouseoutTouchleaveBound)
|
||
}
|
||
}, {
|
||
key: "_removeEventHandlers",
|
||
value: function() {
|
||
this.el.removeEventListener("change", this._handleRangeChangeBound), this.el.removeEventListener("mousedown", this._handleRangeMousedownTouchstartBound), this.el.removeEventListener("touchstart", this._handleRangeMousedownTouchstartBound), this.el.removeEventListener("input", this._handleRangeInputMousemoveTouchmoveBound), this.el.removeEventListener("mousemove", this._handleRangeInputMousemoveTouchmoveBound), this.el.removeEventListener("touchmove", this._handleRangeInputMousemoveTouchmoveBound), this.el.removeEventListener("mouseup", this._handleRangeMouseupTouchendBound), this.el.removeEventListener("touchend", this._handleRangeMouseupTouchendBound), this.el.removeEventListener("blur", this._handleRangeBlurMouseoutTouchleaveBound), this.el.removeEventListener("mouseout", this._handleRangeBlurMouseoutTouchleaveBound), this.el.removeEventListener("touchleave", this._handleRangeBlurMouseoutTouchleaveBound)
|
||
}
|
||
}, {
|
||
key: "_handleRangeChange",
|
||
value: function() {
|
||
s(this.value).html(this.$el.val()), s(this.thumb).hasClass("active") || this._showRangeBubble();
|
||
var t = this._calcRangeOffset();
|
||
s(this.thumb).addClass("active").css("left", t + "px")
|
||
}
|
||
}, {
|
||
key: "_handleRangeMousedownTouchstart",
|
||
value: function(t) {
|
||
if (s(this.value).html(this.$el.val()), this._mousedown = !0, this.$el.addClass("active"), s(this.thumb).hasClass("active") || this._showRangeBubble(), "input" !== t.type) {
|
||
var e = this._calcRangeOffset();
|
||
s(this.thumb).addClass("active").css("left", e + "px")
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleRangeInputMousemoveTouchmove",
|
||
value: function() {
|
||
if (this._mousedown) {
|
||
s(this.thumb).hasClass("active") || this._showRangeBubble();
|
||
var t = this._calcRangeOffset();
|
||
s(this.thumb).addClass("active").css("left", t + "px"), s(this.value).html(this.$el.val())
|
||
}
|
||
}
|
||
}, {
|
||
key: "_handleRangeMouseupTouchend",
|
||
value: function() {
|
||
this._mousedown = !1, this.$el.removeClass("active")
|
||
}
|
||
}, {
|
||
key: "_handleRangeBlurMouseoutTouchleave",
|
||
value: function() {
|
||
if (!this._mousedown) {
|
||
var t = 7 + parseInt(this.$el.css("padding-left")) + "px";
|
||
s(this.thumb).hasClass("active") && (e.remove(this.thumb), e({
|
||
targets: this.thumb,
|
||
height: 0,
|
||
width: 0,
|
||
top: 10,
|
||
easing: "easeOutQuad",
|
||
marginLeft: t,
|
||
duration: 100
|
||
})), s(this.thumb).removeClass("active")
|
||
}
|
||
}
|
||
}, {
|
||
key: "_setupThumb",
|
||
value: function() {
|
||
this.thumb = document.createElement("span"), this.value = document.createElement("span"), s(this.thumb).addClass("thumb"), s(this.value).addClass("value"), s(this.thumb).append(this.value), this.$el.after(this.thumb)
|
||
}
|
||
}, {
|
||
key: "_removeThumb",
|
||
value: function() {
|
||
s(this.thumb).remove()
|
||
}
|
||
}, {
|
||
key: "_showRangeBubble",
|
||
value: function() {
|
||
var t = -7 + parseInt(s(this.thumb).parent().css("padding-left")) + "px";
|
||
e.remove(this.thumb), e({
|
||
targets: this.thumb,
|
||
height: 30,
|
||
width: 30,
|
||
top: -30,
|
||
marginLeft: t,
|
||
duration: 300,
|
||
easing: "easeOutQuint"
|
||
})
|
||
}
|
||
}, {
|
||
key: "_calcRangeOffset",
|
||
value: function() {
|
||
var t = this.$el.width() - 15,
|
||
e = parseFloat(this.$el.attr("max")) || 100,
|
||
i = parseFloat(this.$el.attr("min")) || 0;
|
||
return (parseFloat(this.$el.val()) - i) / (e - i) * t
|
||
}
|
||
}], [{
|
||
key: "init",
|
||
value: function(t, e) {
|
||
return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e)
|
||
}
|
||
}, {
|
||
key: "getInstance",
|
||
value: function(t) {
|
||
return (t.jquery ? t[0] : t).M_Range
|
||
}
|
||
}, {
|
||
key: "defaults",
|
||
get: function() {
|
||
return i
|
||
}
|
||
}]), n
|
||
}();
|
||
M.Range = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "range", "M_Range"), t.init(s("input[type=range]"))
|
||
}(cash, M.anime);
|