/*! UniCore 3.19.1 | https://www.unistudio.co | (c) 2023 - 2024 UniStudio | MIT License */ (function(te, $e) {
typeof exports == "object" && typeof module < "u" ? module.exports = $e(require("animejs")) : typeof define == "function" && define.amd ? define("uikit", [ "animejs" ], $e) : (te = typeof globalThis < "u" ? globalThis : te || self,
te.UniCore = $e(te.anime));
})(this, function(te) {
"use strict";
const {hasOwnProperty: $e, toString: tr} = Object.prototype;
function gt(t, e) {
return $e.call(t, e);
}
const er = /\B([A-Z])/g, Mt = rt(t => t.replace(er, "-$1").toLowerCase()), ir = /-(\w)/g, ye = rt(t => (t.charAt(0).toLowerCase() + t.slice(1)).replace(ir, (e, i) => i.toUpperCase())), St = rt(t => t.charAt(0).toUpperCase() + t.slice(1));
function dt(t, e) {
var i;
return (i = t == null ? void 0 : t.startsWith) == null ? void 0 : i.call(t, e);
}
function ee(t, e) {
var i;
return (i = t == null ? void 0 : t.endsWith) == null ? void 0 : i.call(t, e);
}
function m(t, e) {
var i;
return (i = t == null ? void 0 : t.includes) == null ? void 0 : i.call(t, e);
}
function bt(t, e) {
var i;
return (i = t == null ? void 0 : t.findIndex) == null ? void 0 : i.call(t, e);
}
const {isArray: Q, from: It} = Array, {assign: mt} = Object;
function it(t) {
return typeof t == "function";
}
function Ct(t) {
return t !== null && typeof t == "object";
}
function xt(t) {
return tr.call(t) === "[object Object]";
}
function ie(t) {
return Ct(t) && t === t.window;
}
function ke(t) {
return Ni(t) === 9;
}
function ti(t) {
return Ni(t) >= 1;
}
function Se(t) {
return Ni(t) === 1;
}
function Ni(t) {
return !ie(t) && Ct(t) && t.nodeType;
}
function se(t) {
return typeof t == "boolean";
}
function N(t) {
return typeof t == "string";
}
function Ie(t) {
return typeof t == "number";
}
function vt(t) {
return Ie(t) || N(t) && !isNaN(t - parseFloat(t));
}
function ei(t) {
return !(Q(t) ? t.length : Ct(t) && Object.keys(t).length);
}
function X(t) {
return t === void 0;
}
function zi(t) {
return se(t) ? t : t === "true" || t === "1" || t === "" ? !0 : t === "false" || t === "0" ? !1 : t;
}
function $t(t) {
const e = Number(t);
return isNaN(e) ? !1 : e;
}
function S(t) {
return parseFloat(t) || 0;
}
function F(t) {
return T(t)[0];
}
function T(t) {
return ti(t) ? [ t ] : Array.from(t || []).filter(ti);
}
function ne(t) {
if (ie(t)) return t;
t = F(t);
const e = ke(t) ? t : t == null ? void 0 : t.ownerDocument;
return (e == null ? void 0 : e.defaultView) || window;
}
function ii(t, e) {
return t === e || Ct(t) && Ct(e) && Object.keys(t).length === Object.keys(e).length && Nt(t, (i, s) => i === e[s]);
}
function Fi(t, e, i) {
return t.replace(new RegExp(`${e}|${i}`, "g"), s => s === e ? i : e);
}
function Bt(t) {
return t[t.length - 1];
}
function Nt(t, e) {
for (const i in t) if (e(t[i], i) === !1) return !1;
return !0;
}
function Fs(t, e) {
return t.slice().sort(({[e]: i = 0}, {[e]: s = 0}) => i > s ? 1 : s > i ? -1 : 0);
}
function zt(t, e) {
return t.reduce((i, s) => i + S(it(e) ? e(s) : s[e]), 0);
}
function Hs(t, e) {
const i = new Set;
return t.filter(({[e]: s}) => i.has(s) ? !1 : i.add(s));
}
function Hi(t, e) {
return e.reduce((i, s) => ({
...i,
[s]: t[s]
}), {});
}
function tt(t, e = 0, i = 1) {
return Math.min(Math.max($t(t) || 0, e), i);
}
function A() {}
function Li(...t) {
return [ [ "bottom", "top" ], [ "right", "left" ] ].every(([e, i]) => Math.min(...t.map(({[e]: s}) => s)) - Math.max(...t.map(({[i]: s}) => s)) > 0);
}
function si(t, e) {
return t.x <= e.right && t.x >= e.left && t.y <= e.bottom && t.y >= e.top;
}
function Wi(t, e, i) {
const s = e === "width" ? "height" : "width";
return {
[s]: t[e] ? Math.round(i * t[s] / t[e]) : t[s],
[e]: i
};
}
function Ls(t, e) {
t = {
...t
};
for (const i in t) t = t[i] > e[i] ? Wi(t, i, e[i]) : t;
return t;
}
function sr(t, e) {
t = Ls(t, e);
for (const i in t) t = t[i] < e[i] ? Wi(t, i, e[i]) : t;
return t;
}
const ji = {
ratio: Wi,
contain: Ls,
cover: sr
};
function ot(t, e, i = 0, s = !1) {
e = T(e);
const {length: n} = e;
return n ? (t = vt(t) ? $t(t) : t === "next" ? i + 1 : t === "previous" ? i - 1 : t === "last" ? n - 1 : e.indexOf(F(t)),
s ? tt(t, 0, n - 1) : (t %= n, t < 0 ? t + n : t)) : -1;
}
function rt(t) {
const e = Object.create(null);
return (i, ...s) => e[i] || (e[i] = t(i, ...s));
}
function p(t, e, i) {
var s;
if (Ct(e)) {
for (const n in e) p(t, n, e[n]);
return;
}
if (X(i)) return (s = F(t)) == null ? void 0 : s.getAttribute(e);
for (const n of T(t)) it(i) && (i = i.call(n, p(n, e))), i === null ? Ce(n, e) : n.setAttribute(e, i);
}
function Tt(t, e) {
return T(t).some(i => i.hasAttribute(e));
}
function Ce(t, e) {
T(t).forEach(i => i.removeAttribute(e));
}
function G(t, e) {
for (const i of [ e, `data-${e}` ]) if (Tt(t, i)) return p(t, i);
}
function $(t, ...e) {
for (const i of T(t)) {
const s = Ft(e).filter(n => !y(i, n));
s.length && i.classList.add(...s);
}
}
function O(t, ...e) {
for (const i of T(t)) {
const s = Ft(e).filter(n => y(i, n));
s.length && i.classList.remove(...s);
}
}
function Ri(t, e) {
e = new RegExp(e);
for (const i of T(t)) i.classList.remove(...It(i.classList).filter(s => s.match(e)));
}
function ni(t, e, i) {
i = Ft(i), e = Ft(e).filter(s => !m(i, s)), O(t, e), $(t, i);
}
function y(t, e) {
return [e] = Ft(e), T(t).some(i => i.classList.contains(e));
}
function j(t, e, i) {
const s = Ft(e);
X(i) || (i = !!i);
for (const n of T(t)) for (const o of s) n.classList.toggle(o, i);
}
function Ft(t) {
return t ? Q(t) ? t.map(Ft).flat() : String(t).split(/[ ,]/).filter(Boolean) : [];
}
const nr = {
area: !0,
base: !0,
br: !0,
col: !0,
embed: !0,
hr: !0,
img: !0,
input: !0,
keygen: !0,
link: !0,
meta: !0,
param: !0,
source: !0,
track: !0,
wbr: !0
};
function qi(t) {
return T(t).some(e => nr[e.tagName.toLowerCase()]);
}
function q(t) {
return T(t).some(e => e.offsetWidth || e.offsetHeight || e.getClientRects().length);
}
const Te = "input,select,textarea,button";
function Ui(t) {
return T(t).some(e => E(e, Te));
}
const Ee = `${Te},a[href],[tabindex]`;
function oi(t) {
return E(t, Ee);
}
function P(t) {
var e;
return (e = F(t)) == null ? void 0 : e.parentElement;
}
function Pe(t, e) {
return T(t).filter(i => E(i, e));
}
function E(t, e) {
return T(t).some(i => i.matches(e));
}
function ri(t, e) {
var i;
return (i = F(t)) == null ? void 0 : i.closest(dt(e, ">") ? e.slice(1) : e);
}
function Ws(t, e) {
return N(e) ? !!ri(t, e) : F(e).contains(F(t));
}
function _e(t, e) {
const i = [];
for (;t = P(t); ) (!e || E(t, e)) && i.push(t);
return i;
}
function B(t, e) {
t = F(t);
const i = t ? It(t.children) : [];
return e ? Pe(i, e) : i;
}
function Et(t, e) {
return e ? T(t).indexOf(F(e)) : B(P(t)).indexOf(t);
}
function oe(t) {
return t = F(t), t && [ "origin", "pathname", "search" ].every(e => t[e] === location[e]);
}
function Vi(t) {
if (oe(t)) {
t = F(t);
const e = decodeURIComponent(t.hash).substring(1);
return document.getElementById(e) || document.getElementsByName(e)[0];
}
}
function J(t, e) {
return Yi(t, Rs(t, e));
}
function Ae(t, e) {
return Oe(t, Rs(t, e));
}
function Yi(t, e) {
return F(qs(t, F(e), "querySelector"));
}
function Oe(t, e) {
return T(qs(t, F(e), "querySelectorAll"));
}
const or = /(^|[^\\],)\s*[!>+~-]/, js = rt(t => t.match(or));
function Rs(t, e = document) {
return N(t) && js(t) || ke(e) ? e : e.ownerDocument;
}
const rr = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g, ar = rt(t => t.replace(rr, "$1 *"));
function qs(t, e = document, i) {
if (!t || !N(t)) return t;
if (t = ar(t), js(t)) {
const s = hr(t);
t = "";
for (let n of s) {
let o = e;
if (n[0] === "!") {
const r = n.substr(1).trim().split(" ");
if (o = P(e).closest(r[0]), n = r.slice(1).join(" ").trim(), !n.length && s.length === 1) return o;
}
if (n[0] === "-") {
const r = n.substr(1).trim().split(" "), a = (o || e).previousElementSibling;
o = E(a, n.substr(1)) ? a : null, n = r.slice(1).join(" ");
}
o && (t += `${t ? "," : ""}${cr(o)} ${n}`);
}
ke(e) || (e = e.ownerDocument);
}
try {
return e[i](t);
} catch {
return null;
}
}
const lr = /.*?[^\\](?![^(]*\))(?:,|$)/g, hr = rt(t => t.match(lr).map(e => e.replace(/,$/, "").trim()));
function cr(t) {
const e = [];
for (;t.parentNode; ) {
const i = p(t, "id");
if (i) {
e.unshift(`#${Xi(i)}`);
break;
} else {
let {tagName: s} = t;
s !== "HTML" && (s += `:nth-child(${Et(t) + 1})`), e.unshift(s), t = t.parentNode;
}
}
return e.join(" > ");
}
function Xi(t) {
return N(t) ? CSS.escape(t) : "";
}
function b(...t) {
let [e, i, s, n, o = !1] = Gi(t);
n.length > 1 && (n = dr(n)), o != null && o.self && (n = fr(n)), s && (n = ur(s, n));
for (const r of i) for (const a of e) a.addEventListener(r, n, o);
return () => Pt(e, i, n, o);
}
function Pt(...t) {
let [e, i, , s, n = !1] = Gi(t);
for (const o of i) for (const r of e) r.removeEventListener(o, s, n);
}
function H(...t) {
const [e, i, s, n, o = !1, r] = Gi(t), a = b(e, i, s, l => {
const h = !r || r(l);
h && (a(), n(l, h));
}, o);
return a;
}
function g(t, e, i) {
return Ji(t).every(s => s.dispatchEvent(Ht(e, !0, !0, i)));
}
function Ht(t, e = !0, i = !1, s) {
return N(t) && (t = new CustomEvent(t, {
bubbles: e,
cancelable: i,
detail: s
})), t;
}
function Gi(t) {
return t[0] = Ji(t[0]), N(t[1]) && (t[1] = t[1].split(" ")), it(t[2]) && t.splice(2, 0, !1),
t;
}
function ur(t, e) {
return i => {
const s = t[0] === ">" ? Oe(t, i.currentTarget).reverse().find(n => n.contains(i.target)) : i.target.closest(t);
s && (i.current = s, e.call(this, i), delete i.current);
};
}
function dr(t) {
return e => Q(e.detail) ? t(e, ...e.detail) : t(e);
}
function fr(t) {
return function(e) {
if (e.target === e.currentTarget || e.target === e.current) return t.call(null, e);
};
}
function Us(t) {
return t && "addEventListener" in t;
}
function pr(t) {
return Us(t) ? t : F(t);
}
function Ji(t) {
return Q(t) ? t.map(pr).filter(Boolean) : N(t) ? Oe(t) : Us(t) ? [ t ] : T(t);
}
function yt(t) {
return t.pointerType === "touch" || !!t.touches;
}
function _t(t) {
var e, i;
const {clientX: s, clientY: n} = ((e = t.touches) == null ? void 0 : e[0]) || ((i = t.changedTouches) == null ? void 0 : i[0]) || t;
return {
x: s,
y: n
};
}
const gr = {
"animation-iteration-count": !0,
"column-count": !0,
"fill-opacity": !0,
"flex-grow": !0,
"flex-shrink": !0,
"font-weight": !0,
"line-height": !0,
opacity: !0,
order: !0,
orphans: !0,
"stroke-dasharray": !0,
"stroke-dashoffset": !0,
widows: !0,
"z-index": !0,
zoom: !0
};
function c(t, e, i, s) {
const n = T(t);
for (const o of n) if (N(e)) {
if (e = ai(e), X(i)) return getComputedStyle(o).getPropertyValue(e);
o.style.setProperty(e, vt(i) && !gr[e] ? `${i}px` : i || Ie(i) ? i : "", s);
} else if (Q(e)) {
const r = {};
for (const a of e) r[a] = c(o, a);
return r;
} else if (Ct(e)) for (const r in e) c(o, r, e[r], i);
return n[0];
}
const ai = rt(t => mr(t));
function mr(t) {
if (dt(t, "--")) return t;
t = Mt(t);
const {style: e} = document.documentElement;
if (t in e) return t;
for (const i of [ "webkit", "moz" ]) {
const s = `-${i}-${t}`;
if (s in e) return s;
}
}
const Ki = "uc-transition", Zi = "transitionend", Qi = "transitioncanceled";
function vr(t, e, i = 400, s = "linear") {
return i = Math.round(i), Promise.all(T(t).map(n => new Promise((o, r) => {
for (const l in e) {
const h = c(n, l);
h === "" && c(n, l, h);
}
const a = setTimeout(() => g(n, Zi), i);
H(n, [ Zi, Qi ], ({type: l}) => {
clearTimeout(a), O(n, Ki), c(n, {
transitionProperty: "",
transitionDuration: "",
transitionTimingFunction: ""
}), l === Qi ? r() : o(n);
}, {
self: !0
}), $(n, Ki), c(n, {
transitionProperty: Object.keys(e).map(ai).join(","),
transitionDuration: `${i}ms`,
transitionTimingFunction: s,
...e
});
})));
}
const D = {
start: vr,
async stop(t) {
g(t, Zi), await Promise.resolve();
},
async cancel(t) {
g(t, Qi), await Promise.resolve();
},
inProgress(t) {
return y(t, Ki);
}
}, De = "uc-animation-", Vs = "animationend", li = "animationcanceled";
function Ys(t, e, i = 200, s, n) {
return Promise.all(T(t).map(o => new Promise((r, a) => {
g(o, li);
const l = setTimeout(() => g(o, Vs), i);
H(o, [ Vs, li ], ({type: h}) => {
clearTimeout(l), h === li ? a() : r(o), c(o, "animationDuration", ""), Ri(o, `${De}\\S*`);
}, {
self: !0
}), c(o, "animationDuration", `${i}ms`), $(o, e, De + (n ? "leave" : "enter")),
dt(e, De) && (s && $(o, `uc-transform-origin-${s}`), n && $(o, `${De}reverse`));
})));
}
const wr = new RegExp(`${De}(enter|leave)`), At = {
in: Ys,
out(t, e, i, s) {
return Ys(t, e, i, s, !0);
},
inProgress(t) {
return wr.test(p(t, "class"));
},
cancel(t) {
g(t, li);
}
};
function br(t) {
return t;
}
function xr(t) {
if (document.readyState !== "loading") {
t();
return;
}
H(document, "DOMContentLoaded", t);
}
function R(t, ...e) {
return e.some(i => {
var s;
return ((s = t == null ? void 0 : t.tagName) == null ? void 0 : s.toLowerCase()) === i.toLowerCase();
});
}
function ts(t) {
return t = k(t), t.innerHTML = "", t;
}
function Lt(t, e) {
return X(e) ? k(t).innerHTML : L(ts(t), e);
}
const $r = ui("prepend"), L = ui("append"), hi = ui("before"), ci = ui("after");
function ui(t) {
return function(e, i) {
var s;
const n = T(N(i) ? Wt(i) : i);
return (s = k(e)) == null || s[t](...n), Xs(n);
};
}
function at(t) {
T(t).forEach(e => e.remove());
}
function di(t, e) {
for (e = F(hi(t, e)); e.firstElementChild; ) e = e.firstElementChild;
return L(e, t), e;
}
function es(t, e) {
return T(T(t).map(i => i.hasChildNodes() ? di(It(i.childNodes), e) : L(i, e)));
}
function re(t) {
T(t).map(P).filter((e, i, s) => s.indexOf(e) === i).forEach(e => e.replaceWith(...e.childNodes));
}
const yr = /^<(\w+)\s*\/?>(?:<\/\1>)?$/;
function Wt(t) {
const e = yr.exec(t);
if (e) return document.createElement(e[1]);
const i = document.createElement("template");
return i.innerHTML = t.trim(), Xs(i.content.childNodes);
}
function Xs(t) {
return t.length > 1 ? t : t[0];
}
function kt(t, e) {
if (Se(t)) for (e(t), t = t.firstElementChild; t; ) {
const i = t.nextElementSibling;
kt(t, e), t = i;
}
}
function k(t, e) {
return Gs(t) ? F(Wt(t)) : Yi(t, e);
}
function z(t, e) {
return Gs(t) ? T(Wt(t)) : Oe(t, e);
}
function Gs(t) {
return N(t) && dt(t.trim(), "<");
}
const jt = {
width: [ "left", "right" ],
height: [ "top", "bottom" ]
};
function w(t) {
const e = Se(t) ? F(t).getBoundingClientRect() : {
height: st(t),
width: fi(t),
top: 0,
left: 0
};
return {
height: e.height,
width: e.width,
top: e.top,
left: e.left,
bottom: e.top + e.height,
right: e.left + e.width
};
}
function I(t, e) {
e && c(t, {
left: 0,
top: 0
});
const i = w(t);
if (t) {
const {scrollY: s, scrollX: n} = ne(t), o = {
height: s,
width: n
};
for (const r in jt) for (const a of jt[r]) i[a] += o[r];
}
if (!e) return i;
for (const s of [ "left", "top" ]) c(t, s, e[s] - i[s]);
}
function is(t) {
let {top: e, left: i} = I(t);
const {ownerDocument: {body: s, documentElement: n}, offsetParent: o} = F(t);
let r = o || n;
for (;r && (r === s || r === n) && c(r, "position") === "static"; ) r = r.parentNode;
if (Se(r)) {
const a = I(r);
e -= a.top + S(c(r, "borderTopWidth")), i -= a.left + S(c(r, "borderLeftWidth"));
}
return {
top: e - S(c(t, "marginTop")),
left: i - S(c(t, "marginLeft"))
};
}
function Rt(t) {
t = F(t);
const e = [ t.offsetTop, t.offsetLeft ];
for (;t = t.offsetParent; ) if (e[0] += t.offsetTop + S(c(t, "borderTopWidth")),
e[1] += t.offsetLeft + S(c(t, "borderLeftWidth")), c(t, "position") === "fixed") {
const i = ne(t);
return e[0] += i.scrollY, e[1] += i.scrollX, e;
}
return e;
}
const st = Js("height"), fi = Js("width");
function Js(t) {
const e = St(t);
return (i, s) => {
if (X(s)) {
if (ie(i)) return i[`inner${e}`];
if (ke(i)) {
const n = i.documentElement;
return Math.max(n[`offset${e}`], n[`scroll${e}`]);
}
return i = F(i), s = c(i, t), s = s === "auto" ? i[`offset${e}`] : S(s) || 0, s - Me(i, t);
} else return c(i, t, !s && s !== 0 ? "" : +s + Me(i, t) + "px");
};
}
function Me(t, e, i = "border-box") {
return c(t, "boxSizing") === i ? zt(jt[e].map(St), s => S(c(t, `padding${s}`)) + S(c(t, `border${s}Width`))) : 0;
}
function pi(t) {
for (const e in jt) for (const i in jt[e]) if (jt[e][i] === t) return jt[e][1 - i];
return t;
}
function U(t, e = "width", i = window, s = !1) {
return N(t) ? zt(Sr(t), n => {
const o = Cr(n);
return o ? Tr(o === "vh" ? Er() : o === "vw" ? fi(ne(i)) : s ? i[`offset${St(e)}`] : w(i)[e], n) : n;
}) : S(t);
}
const kr = /-?\d+(?:\.\d+)?(?:v[wh]|%|px)?/g, Sr = rt(t => t.toString().replace(/\s/g, "").match(kr) || []), Ir = /(?:v[hw]|%)$/, Cr = rt(t => (t.match(Ir) || [])[0]);
function Tr(t, e) {
return t * S(e) / 100;
}
let Be, ae;
function Er() {
return Be || (ae || (ae = k("
"), c(ae, {
height: "100vh",
position: "fixed"
}), b(window, "resize", () => Be = null)), L(document.body, ae), Be = ae.clientHeight,
at(ae), Be);
}
const le = typeof window < "u", V = le && document.dir === "rtl", he = le && "ontouchstart" in window, ce = le && window.PointerEvent, ft = ce ? "pointerdown" : he ? "touchstart" : "mousedown", gi = ce ? "pointermove" : he ? "touchmove" : "mousemove", Ot = ce ? "pointerup" : he ? "touchend" : "mouseup", ue = ce ? "pointerenter" : he ? "" : "mouseenter", Ne = ce ? "pointerleave" : he ? "" : "mouseleave", mi = ce ? "pointercancel" : "touchcancel", K = {
reads: [],
writes: [],
read(t) {
return this.reads.push(t), ns(), t;
},
write(t) {
return this.writes.push(t), ns(), t;
},
clear(t) {
Zs(this.reads, t), Zs(this.writes, t);
},
flush: ss
};
function ss(t) {
Ks(K.reads), Ks(K.writes.splice(0)), K.scheduled = !1, (K.reads.length || K.writes.length) && ns(t + 1);
}
const Pr = 4;
function ns(t) {
K.scheduled || (K.scheduled = !0, t && t < Pr ? Promise.resolve().then(() => ss(t)) : requestAnimationFrame(() => ss(1)));
}
function Ks(t) {
let e;
for (;e = t.shift(); ) try {
e();
} catch (i) {
console.error(i);
}
}
function Zs(t, e) {
const i = t.indexOf(e);
return ~i && t.splice(i, 1);
}
class Qs {
init() {
this.positions = [];
let e;
this.unbind = b(document, "mousemove", i => e = _t(i)), this.interval = setInterval(() => {
e && (this.positions.push(e), this.positions.length > 5 && this.positions.shift());
}, 50);
}
cancel() {
var e;
(e = this.unbind) == null || e.call(this), clearInterval(this.interval);
}
movesTo(e) {
if (!this.positions || this.positions.length < 2) return !1;
const i = w(e), {left: s, right: n, top: o, bottom: r} = i, [a] = this.positions, l = Bt(this.positions), h = [ a, l ];
return si(l, i) ? !1 : [ [ {
x: s,
y: o
}, {
x: n,
y: r
} ], [ {
x: s,
y: r
}, {
x: n,
y: o
} ] ].some(d => {
const f = _r(h, d);
return f && si(f, i);
});
}
}
function _r([{x: t, y: e}, {x: i, y: s}], [{x: n, y: o}, {x: r, y: a}]) {
const l = (a - o) * (i - t) - (r - n) * (s - e);
if (l === 0) return !1;
const h = ((r - n) * (e - o) - (a - o) * (t - n)) / l;
return h < 0 ? !1 : {
x: t + h * (i - t),
y: e + h * (s - e)
};
}
function tn(t, e, i = {}, {intersecting: s = !0} = {}) {
const n = new IntersectionObserver(s ? (o, r) => {
o.some(a => a.isIntersecting) && e(o, r);
} : e, i);
for (const o of T(t)) n.observe(o);
return n;
}
const Ar = le && window.ResizeObserver;
function de(t, e, i = {
box: "border-box"
}) {
if (Ar) return sn(ResizeObserver, t, e, i);
const s = [ b(window, "load resize", e), b(document, "loadedmetadata load", e, !0) ];
return {
disconnect: () => s.map(n => n())
};
}
function os(t) {
return {
disconnect: b([ window, window.visualViewport ], "resize", t)
};
}
function en(t, e, i) {
return sn(MutationObserver, t, e, i);
}
function sn(t, e, i, s) {
const n = new t(i);
for (const o of T(e)) n.observe(o, s);
return n;
}
function nn(t) {
wi(t) && rs(t, {
func: "playVideo",
method: "play"
}), vi(t) && t.play();
}
function on(t) {
wi(t) && rs(t, {
func: "pauseVideo",
method: "pause"
}), vi(t) && t.pause();
}
function rn(t) {
wi(t) && rs(t, {
func: "mute",
method: "setVolume",
value: 0
}), vi(t) && (t.muted = !0);
}
function an(t) {
return vi(t) || wi(t);
}
function vi(t) {
return R(t, "video");
}
function wi(t) {
return R(t, "iframe") && (ln(t) || hn(t));
}
function ln(t) {
return !!t.src.match(/\/\/.*?youtube(-nocookie)?\.[a-z]+\/(watch\?v=[^&\s]+|embed)|youtu\.be\/.*/);
}
function hn(t) {
return !!t.src.match(/vimeo\.com\/video\/.*/);
}
async function rs(t, e) {
await Dr(t), cn(t, e);
}
function cn(t, e) {
t.contentWindow.postMessage(JSON.stringify({
event: "command",
...e
}), "*");
}
const as = "_ukPlayer";
let Or = 0;
function Dr(t) {
if (t[as]) return t[as];
const e = ln(t), i = hn(t), s = ++Or;
let n;
return t[as] = new Promise(o => {
e && H(t, "load", () => {
const r = () => cn(t, {
event: "listening",
id: s
});
n = setInterval(r, 100), r();
}), H(window, "message", o, !1, ({data: r}) => {
try {
return r = JSON.parse(r), e && (r == null ? void 0 : r.id) === s && r.event === "onReady" || i && Number(r == null ? void 0 : r.player_id) === s;
} catch {}
}), t.src = `${t.src}${m(t.src, "?") ? "&" : "?"}${e ? "enablejsapi=1" : `api=1&player_id=${s}`}`;
}).then(() => clearInterval(n));
}
function Mr(t, e = 0, i = 0) {
return q(t) ? Li(...Ut(t).map(s => {
const {top: n, left: o, bottom: r, right: a} = lt(s);
return {
top: n - e,
left: o - i,
bottom: r + e,
right: a + i
};
}).concat(I(t))) : !1;
}
function un(t, {offset: e = 0} = {}) {
const i = q(t) ? qt(t, !1, [ "hidden" ]) : [];
return i.reduce((r, a, l) => {
const {scrollTop: h, scrollHeight: u, offsetHeight: d} = a, f = lt(a), v = u - f.height, {height: x, top: C} = i[l - 1] ? lt(i[l - 1]) : I(t);
let M = Math.ceil(C - f.top - e + h);
return e > 0 && d < x + e ? M += e : e = 0, M > v ? (e -= M - v, M = v) : M < 0 && (e -= M,
M = 0), () => s(a, M - h, t, v).then(r);
}, () => Promise.resolve())();
function s(r, a, l, h) {
return new Promise(u => {
const d = r.scrollTop, f = n(Math.abs(a)), v = Date.now(), x = cs(r) === r, C = I(l).top + (x ? 0 : d);
let M = 0, wt = 15;
(function Qe() {
const Mi = o(tt((Date.now() - v) / f));
let pt = 0;
if (i[0] === r && d + a < h) {
pt = I(l).top + (x ? 0 : r.scrollTop) - C;
const xe = ls(l);
pt -= xe ? I(xe).height : 0;
}
r.scrollTop = Math[a + pt > 0 ? "max" : "min"](r.scrollTop, d + (a + pt) * Mi),
Mi === 1 && (M === pt || !wt--) ? u() : (M = pt, requestAnimationFrame(Qe));
})();
});
}
function n(r) {
return 40 * Math.pow(r, .375);
}
function o(r) {
return .5 * (1 - Math.cos(Math.PI * r));
}
}
function bi(t, e = 0, i = 0) {
if (!q(t)) return 0;
const s = Dt(t, !0), {scrollHeight: n, scrollTop: o} = s, {height: r} = lt(s), a = n - r, l = Rt(t)[0] - Rt(s)[0], h = Math.max(0, l - r + e), u = Math.min(a, l + t.offsetHeight - i);
return h < u ? tt((o - h) / (u - h)) : 1;
}
function qt(t, e = !1, i = []) {
const s = cs(t);
let n = _e(t).reverse();
n = n.slice(n.indexOf(s) + 1);
const o = bt(n, r => c(r, "position") === "fixed");
return ~o && (n = n.slice(o)), [ s ].concat(n.filter(r => c(r, "overflow").split(" ").some(a => m([ "auto", "scroll", ...i ], a)) && (!e || r.scrollHeight > lt(r).height))).reverse();
}
function Dt(...t) {
return qt(...t)[0];
}
function Ut(t) {
return qt(t, !1, [ "hidden", "clip" ]);
}
function lt(t) {
const e = ne(t);
let i = t === cs(t) ? e : t;
if (ie(i) && e.visualViewport) {
let {height: n, width: o, scale: r, pageTop: a, pageLeft: l} = e.visualViewport;
return n = Math.round(n * r), o = Math.round(o * r), {
height: n,
width: o,
top: a,
left: l,
bottom: a + n,
right: l + o
};
}
let s = I(i);
if (c(i, "display") === "inline") return s;
for (let [n, o, r, a] of [ [ "width", "x", "left", "right" ], [ "height", "y", "top", "bottom" ] ]) {
ie(i) ? i = t.ownerDocument : s[r] += S(c(i, `border-${r}-width`));
const l = s[n] % 1;
s[n] = s[o] = i[`client${St(n)}`] - (l ? l < .5 ? -l : 1 - l : 0), s[a] = s[n] + s[r];
}
return s;
}
function ls(t) {
const {left: e, width: i, top: s} = w(t);
return t.ownerDocument.elementsFromPoint(e + i / 2, s).find(n => !n.contains(t) && !y(n, "uc-togglable-leave") && (hs(n, "fixed") && dn(_e(t).reverse().find(o => !o.contains(n) && !hs(o, "static"))) < dn(n) || hs(n, "sticky") && P(n).contains(t)));
}
function dn(t) {
return S(c(t, "zIndex"));
}
function hs(t, e) {
return c(t, "position") === e;
}
function cs(t) {
return ne(t).document.scrollingElement;
}
const ht = [ [ "width", "x", "left", "right" ], [ "height", "y", "top", "bottom" ] ];
function fn(t, e, i) {
i = {
attach: {
element: [ "left", "top" ],
target: [ "left", "top" ],
...i.attach
},
offset: [ 0, 0 ],
placement: [],
...i
}, Q(e) || (e = [ e, e ]), I(t, pn(t, e, i));
}
function pn(t, e, i) {
const s = gn(t, e, i), {boundary: n, viewportOffset: o = 0, placement: r} = i;
let a = s;
for (const [l, [h, , u, d]] of Object.entries(ht)) {
const f = Br(t, e[l], o, n, l);
if (xi(s, f, l)) continue;
let v = 0;
if (r[l] === "flip") {
const x = i.attach.target[l];
if (x === d && s[d] <= f[d] || x === u && s[u] >= f[u]) continue;
v = zr(t, e, i, l)[u] - s[u];
const C = Nr(t, e[l], o, l);
if (!xi(us(s, v, l), C, l)) {
if (xi(s, C, l)) continue;
if (i.recursion) return !1;
const M = Fr(t, e, i);
if (M && xi(M, C, 1 - l)) return M;
continue;
}
} else if (r[l] === "shift") {
const x = I(e[l]), {offset: C} = i;
v = tt(tt(s[u], f[u], f[d] - s[h]), x[u] - s[h] + C[l], x[d] - C[l]) - s[u];
}
a = us(a, v, l);
}
return a;
}
function gn(t, e, i) {
let {attach: s, offset: n} = {
attach: {
element: [ "left", "top" ],
target: [ "left", "top" ],
...i.attach
},
offset: [ 0, 0 ],
...i
}, o = I(t);
for (const [r, [a, , l, h]] of Object.entries(ht)) {
const u = s.target[r] === s.element[r] ? lt(e[r]) : I(e[r]);
o = us(o, u[l] - o[l] + mn(s.target[r], h, u[a]) - mn(s.element[r], h, o[a]) + +n[r], r);
}
return o;
}
function us(t, e, i) {
const [, s, n, o] = ht[i], r = {
...t
};
return r[n] = t[s] = t[n] + e, r[o] += e, r;
}
function mn(t, e, i) {
return t === "center" ? i / 2 : t === e ? i : 0;
}
function Br(t, e, i, s, n) {
let o = wn(...vn(t, e).map(lt));
return i && (o[ht[n][2]] += i, o[ht[n][3]] -= i), s && (o = wn(o, I(Q(s) ? s[n] : s))),
o;
}
function Nr(t, e, i, s) {
const [n, o, r, a] = ht[s], [l] = vn(t, e), h = lt(l);
return [ "auto", "scroll" ].includes(c(l, `overflow-${o}`)) && (h[r] -= l[`scroll${St(r)}`],
h[a] = h[r] + l[`scroll${St(n)}`]), h[r] += i, h[a] -= i, h;
}
function vn(t, e) {
return Ut(e).filter(i => i.contains(t));
}
function wn(...t) {
let e = {};
for (const i of t) for (const [, , s, n] of ht) e[s] = Math.max(e[s] || 0, i[s]),
e[n] = Math.min(...[ e[n], i[n] ].filter(Boolean));
return e;
}
function xi(t, e, i) {
const [, , s, n] = ht[i];
return t[s] >= e[s] && t[n] <= e[n];
}
function zr(t, e, {offset: i, attach: s}, n) {
return gn(t, e, {
attach: {
element: bn(s.element, n),
target: bn(s.target, n)
},
offset: Hr(i, n)
});
}
function Fr(t, e, i) {
return pn(t, e, {
...i,
attach: {
element: i.attach.element.map(xn).reverse(),
target: i.attach.target.map(xn).reverse()
},
offset: i.offset.reverse(),
placement: i.placement.reverse(),
recursion: !0
});
}
function bn(t, e) {
const i = [ ...t ], s = ht[e].indexOf(t[e]);
return ~s && (i[e] = ht[e][1 - s % 2 + 2]), i;
}
function xn(t) {
for (let e = 0; e < ht.length; e++) {
const i = ht[e].indexOf(t);
if (~i) return ht[1 - e][i % 2 + 2];
}
}
function Hr(t, e) {
return t = [ ...t ], t[e] *= -1, t;
}
var Lr = Object.freeze({
__proto__: null,
$: k,
$$: z,
Animation: At,
Dimensions: ji,
MouseTracker: Qs,
Transition: D,
addClass: $,
after: ci,
append: L,
apply: kt,
assign: mt,
attr: p,
before: hi,
boxModelAdjust: Me,
camelize: ye,
children: B,
clamp: tt,
closest: ri,
createEvent: Ht,
css: c,
data: G,
defineComponent: br,
dimensions: w,
each: Nt,
empty: ts,
endsWith: ee,
escape: Xi,
fastdom: K,
filter: Pe,
find: Yi,
findAll: Oe,
findIndex: bt,
flipPosition: pi,
fragment: Wt,
getCoveringElement: ls,
getEventPos: _t,
getIndex: ot,
getTargetedElement: Vi,
hasAttr: Tt,
hasClass: y,
hasOwn: gt,
hasTouch: he,
height: st,
html: Lt,
hyphenate: Mt,
inBrowser: le,
includes: m,
index: Et,
intersectRect: Li,
isArray: Q,
isBoolean: se,
isDocument: ke,
isElement: Se,
isEmpty: ei,
isEqual: ii,
isFocusable: oi,
isFunction: it,
isInView: Mr,
isInput: Ui,
isNode: ti,
isNumber: Ie,
isNumeric: vt,
isObject: Ct,
isPlainObject: xt,
isRtl: V,
isSameSiteAnchor: oe,
isString: N,
isTag: R,
isTouch: yt,
isUndefined: X,
isVideo: an,
isVisible: q,
isVoidElement: qi,
isWindow: ie,
last: Bt,
matches: E,
memoize: rt,
mute: rn,
noop: A,
observeIntersection: tn,
observeMutation: en,
observeResize: de,
observeViewportResize: os,
off: Pt,
offset: I,
offsetPosition: Rt,
offsetViewport: lt,
on: b,
once: H,
overflowParents: Ut,
parent: P,
parents: _e,
pause: on,
pick: Hi,
play: nn,
pointInRect: si,
pointerCancel: mi,
pointerDown: ft,
pointerEnter: ue,
pointerLeave: Ne,
pointerMove: gi,
pointerUp: Ot,
position: is,
positionAt: fn,
prepend: $r,
propName: ai,
query: J,
queryAll: Ae,
ready: xr,
remove: at,
removeAttr: Ce,
removeClass: O,
removeClasses: Ri,
replaceClass: ni,
scrollIntoView: un,
scrollParent: Dt,
scrollParents: qt,
scrolledOver: bi,
selFocusable: Ee,
selInput: Te,
sortBy: Fs,
startsWith: dt,
sumBy: zt,
swap: Fi,
toArray: It,
toBoolean: zi,
toEventTargets: Ji,
toFloat: S,
toNode: F,
toNodes: T,
toNumber: $t,
toPx: U,
toWindow: ne,
toggleClass: j,
trigger: g,
ucfirst: St,
uniqueBy: Hs,
unwrap: re,
width: fi,
within: Ws,
wrapAll: di,
wrapInner: es
}), et = {
connected() {
$(this.$el, this.$options.id);
}
};
const Wr = [ "days", "hours", "minutes", "seconds" ];
var jr = {
mixins: [ et ],
props: {
date: String,
clsWrapper: String,
role: String
},
data: {
date: "",
clsWrapper: ".uc-countdown-%unit%",
role: "timer"
},
connected() {
p(this.$el, "role", this.role), this.date = S(Date.parse(this.$props.date)), this.end = !1,
this.start();
},
disconnected() {
this.stop();
},
events: {
name: "visibilitychange",
el: () => document,
handler() {
document.hidden ? this.stop() : this.start();
}
},
methods: {
start() {
this.stop(), this.update(), this.timer || (g(this.$el, "countdownstart"), this.timer = setInterval(this.update, 1e3));
},
stop() {
this.timer && (clearInterval(this.timer), g(this.$el, "countdownstop"), this.timer = null);
},
update() {
const t = Rr(this.date);
t.total || (this.stop(), this.end || (g(this.$el, "countdownend"), this.end = !0));
for (const e of Wr) {
const i = k(this.clsWrapper.replace("%unit%", e), this.$el);
if (!i) continue;
let s = String(Math.trunc(t[e]));
s = s.length < 2 ? `0${s}` : s, i.textContent !== s && (s = s.split(""), s.length !== i.children.length && Lt(i, s.map(() => "
").join("")),
s.forEach((n, o) => i.children[o].textContent = n));
}
}
}
};
function Rr(t) {
const e = Math.max(0, t - Date.now()) / 1e3;
return {
total: e,
seconds: e % 60,
minutes: e / 60 % 60,
hours: e / 60 / 60 % 24,
days: e / 60 / 60 / 24
};
}
const Y = {};
Y.events = Y.watch = Y.observe = Y.created = Y.beforeConnect = Y.connected = Y.beforeDisconnect = Y.disconnected = Y.destroy = ds,
Y.args = function(t, e) {
return e !== !1 && ds(e || t);
}, Y.update = function(t, e) {
return Fs(ds(t, it(e) ? {
read: e
} : e), "order");
}, Y.props = function(t, e) {
if (Q(e)) {
const i = {};
for (const s of e) i[s] = String;
e = i;
}
return Y.methods(t, e);
}, Y.computed = Y.methods = function(t, e) {
return e ? t ? {
...t,
...e
} : e : t;
}, Y.i18n = Y.data = function(t, e, i) {
return i ? $n(t, e, i) : e ? t ? function(s) {
return $n(t, e, s);
} : e : t;
};
function $n(t, e, i) {
return Y.computed(it(t) ? t.call(i, i) : t, it(e) ? e.call(i, i) : e);
}
function ds(t, e) {
return t = t && !Q(t) ? [ t ] : t, e ? t ? t.concat(e) : Q(e) ? e : [ e ] : t;
}
function qr(t, e) {
return X(e) ? t : e;
}
function ze(t, e, i) {
const s = {};
if (it(e) && (e = e.options), e.extends && (t = ze(t, e.extends, i)), e.mixins) for (const o of e.mixins) t = ze(t, o, i);
for (const o in t) n(o);
for (const o in e) gt(t, o) || n(o);
function n(o) {
s[o] = (Y[o] || qr)(t[o], e[o], i);
}
return s;
}
function fe(t, e = []) {
try {
return t ? dt(t, "{") ? JSON.parse(t) : e.length && !m(t, ":") ? {
[e[0]]: t
} : t.split(";").reduce((i, s) => {
const [n, o] = s.split(/:(.*)/);
return n && !X(o) && (i[n.trim()] = o.trim()), i;
}, {}) : {};
} catch {
return {};
}
}
function fs(t, e) {
return t === Boolean ? zi(e) : t === Number ? $t(e) : t === "list" ? Vr(e) : t === Object && N(e) ? fe(e) : t ? t(e) : e;
}
const Ur = /,(?![^(]*\))/;
function Vr(t) {
return Q(t) ? t : N(t) ? t.split(Ur).map(e => vt(e) ? $t(e) : zi(e.trim())) : [ t ];
}
function Yr(t) {
t._data = {}, t._updates = [ ...t.$options.update || [] ];
}
function Xr(t, e) {
t._updates.unshift(e);
}
function Gr(t) {
delete t._data;
}
function Fe(t, e = "update") {
t._connected && t._updates.length && (t._queued || (t._queued = new Set, K.read(() => {
t._connected && Jr(t, t._queued), delete t._queued;
})), t._queued.add(e.type || e));
}
function Jr(t, e) {
for (const {read: i, write: s, events: n = []} of t._updates) {
if (!e.has("update") && !n.some(r => e.has(r))) continue;
let o;
i && (o = i.call(t, t._data, e), o && xt(o) && mt(t._data, o)), s && o !== !1 && K.write(() => {
t._connected && s.call(t, t._data, e);
});
}
}
function ct(t) {
return je(de, t, "resize");
}
function He(t) {
return je(tn, t);
}
function ps(t) {
return je(en, t);
}
function Le(t = {}) {
return He({
handler: function(e, i) {
const {targets: s = this.$el, preload: n = 5} = t;
for (const o of T(it(s) ? s(this) : s)) z('[loading="lazy"]', o).slice(0, n - 1).forEach(r => Ce(r, "loading"));
for (const o of e.filter(({isIntersecting: r}) => r).map(({target: r}) => r)) i.unobserve(o);
},
...t
});
}
function gs(t) {
return je((e, i) => os(i), t, "resize");
}
function We(t) {
return je((e, i) => ({
disconnect: b(Zr(e), "scroll", i, {
passive: !0
})
}), t, "scroll");
}
function yn(t) {
return {
observe(e, i) {
return {
observe: A,
unobserve: A,
disconnect: b(e, ft, i, {
passive: !0
})
};
},
handler(e) {
if (!yt(e)) return;
const i = _t(e), s = "tagName" in e.target ? e.target : P(e.target);
H(document, `${Ot} ${mi} scroll`, n => {
const {x: o, y: r} = _t(n);
(n.type !== "scroll" && s && o && Math.abs(i.x - o) > 100 || r && Math.abs(i.y - r) > 100) && setTimeout(() => {
g(s, "swipe"), g(s, `swipe${Kr(i.x, i.y, o, r)}`);
});
});
},
...t
};
}
function je(t, e, i) {
return {
observe: t,
handler() {
Fe(this, i);
},
...e
};
}
function Kr(t, e, i, s) {
return Math.abs(t - i) >= Math.abs(e - s) ? t - i > 0 ? "Left" : "Right" : e - s > 0 ? "Up" : "Down";
}
function Zr(t) {
return T(t).map(e => {
const {ownerDocument: i} = e, s = Dt(e, !0);
return s === i.scrollingElement ? i : s;
});
}
var kn = {
props: {
margin: String,
firstColumn: Boolean
},
data: {
margin: "uc-margin-small-top",
firstColumn: "uc-first-column"
},
observe: [ ps({
options: {
childList: !0,
attributes: !0,
attributeFilter: [ "style" ]
}
}), ct({
target: ({$el: t}) => [ t, ...B(t) ]
}) ],
update: {
read() {
return {
rows: ms(It(this.$el.children))
};
},
write({rows: t}) {
for (const e of t) for (const i of e) j(i, this.margin, t[0] !== e), j(i, this.firstColumn, e[V ? e.length - 1 : 0] === i);
},
events: [ "resize" ]
}
};
function ms(t) {
const e = [ [] ], i = t.some((s, n) => n && t[n - 1].offsetParent !== s.offsetParent);
for (const s of t) {
if (!q(s)) continue;
const n = vs(s, i);
for (let o = e.length - 1; o >= 0; o--) {
const r = e[o];
if (!r[0]) {
r.push(s);
break;
}
const a = vs(r[0], i);
if (n.top >= a.bottom - 1 && n.top !== a.top) {
e.push([ s ]);
break;
}
if (n.bottom - 1 > a.top || n.top === a.top) {
let l = r.length - 1;
for (;l >= 0; l--) {
const h = vs(r[l], i);
if (n.left >= h.left) break;
}
r.splice(l + 1, 0, s);
break;
}
if (o === 0) {
e.unshift([ s ]);
break;
}
}
}
return e;
}
function vs(t, e = !1) {
let {offsetTop: i, offsetLeft: s, offsetHeight: n, offsetWidth: o} = t;
return e && ([i, s] = Rt(t)), {
top: i,
left: s,
bottom: i + n,
right: s + o
};
}
const ws = "uc-transition-leave", bs = "uc-transition-enter";
function Sn(t, e, i, s = 0) {
const n = $i(e, !0), o = {
opacity: 1
}, r = {
opacity: 0
}, a = u => () => n === $i(e) ? u() : Promise.reject(), l = a(async () => {
$(e, ws), await Promise.all(Cn(e).map((u, d) => new Promise(f => setTimeout(() => D.start(u, r, i / 2, "ease").then(f), d * s)))),
O(e, ws);
}), h = a(async () => {
const u = st(e);
$(e, bs), t(), c(B(e), {
opacity: 0
}), await Qr();
const d = B(e), f = st(e);
c(e, "alignContent", "flex-start"), st(e, u);
const v = Cn(e);
c(d, r);
const x = v.map(async (C, M) => {
await ta(M * s), await D.start(C, o, i / 2, "ease");
});
u !== f && x.push(D.start(e, {
height: f
}, i / 2 + v.length * s, "ease")), await Promise.all(x).then(() => {
O(e, bs), n === $i(e) && (c(e, {
height: "",
alignContent: ""
}), c(d, {
opacity: ""
}), delete e.dataset.transition);
});
});
return y(e, ws) ? In(e).then(h) : y(e, bs) ? In(e).then(l).then(h) : l().then(h);
}
function $i(t, e) {
return e && (t.dataset.transition = 1 + $i(t)), $t(t.dataset.transition) || 0;
}
function In(t) {
return Promise.all(B(t).filter(D.inProgress).map(e => new Promise(i => H(e, "transitionend transitioncanceled", i))));
}
function Cn(t) {
return ms(B(t)).flat().filter(e => q(e));
}
function Qr() {
return new Promise(t => requestAnimationFrame(t));
}
function ta(t) {
return new Promise(e => setTimeout(e, t));
}
async function ea(t, e, i) {
await Pn();
let s = B(e);
const n = s.map(f => Tn(f, !0)), o = {
...c(e, [ "height", "padding" ]),
display: "block"
};
await Promise.all(s.concat(e).map(D.cancel)), t(), s = s.concat(B(e).filter(f => !m(s, f))),
await Promise.resolve(), K.flush();
const r = p(e, "style"), a = c(e, [ "height", "padding" ]), [l, h] = ia(e, s, n), u = s.map(f => ({
style: p(f, "style")
}));
s.forEach((f, v) => h[v] && c(f, h[v])), c(e, o), g(e, "scroll"), K.flush(), await Pn();
const d = s.map((f, v) => P(f) === e && D.start(f, l[v], i, "ease")).concat(D.start(e, a, i, "ease"));
try {
await Promise.all(d), s.forEach((f, v) => {
p(f, u[v]), P(f) === e && c(f, "display", l[v].opacity === 0 ? "none" : "");
}), p(e, "style", r);
} catch {
p(s, "style", ""), sa(e, o);
}
}
function Tn(t, e) {
const i = c(t, "zIndex");
return q(t) ? {
display: "",
opacity: e ? c(t, "opacity") : "0",
pointerEvents: "none",
position: "absolute",
zIndex: i === "auto" ? Et(t) : i,
...En(t)
} : !1;
}
function ia(t, e, i) {
const s = e.map((o, r) => P(o) && r in i ? i[r] ? q(o) ? En(o) : {
opacity: 0
} : {
opacity: q(o) ? 1 : 0
} : !1), n = s.map((o, r) => {
const a = P(e[r]) === t && (i[r] || Tn(e[r]));
if (!a) return !1;
if (!o) delete a.opacity; else if (!("opacity" in o)) {
const {opacity: l} = a;
l % 1 ? o.opacity = 1 : delete a.opacity;
}
return a;
});
return [ s, n ];
}
function sa(t, e) {
for (const i in e) c(t, i, "");
}
function En(t) {
const {height: e, width: i} = I(t);
return {
height: e,
width: i,
transform: "",
...is(t),
...c(t, [ "marginTop", "marginLeft" ])
};
}
function Pn() {
return new Promise(t => requestAnimationFrame(t));
}
var _n = {
props: {
duration: Number,
animation: Boolean
},
data: {
duration: 150,
animation: "slide"
},
methods: {
animate(t, e = this.$el) {
const i = this.animation;
return (i === "fade" ? Sn : i === "delayed-fade" ? (...n) => Sn(...n, 40) : i ? ea : () => (t(),
Promise.resolve()))(t, e, this.duration).catch(A);
}
}
};
const _ = {
TAB: 9,
ESC: 27,
SPACE: 32,
END: 35,
HOME: 36,
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40
};
var na = {
mixins: [ _n ],
args: "target",
props: {
target: String,
selActive: Boolean
},
data: {
target: "",
selActive: !1,
attrItem: "uc-filter-control",
cls: "uc-active",
duration: 250
},
computed: {
children: ({target: t}, e) => z(`${t} > *`, e),
toggles: ({attrItem: t}, e) => z(`[${t}],[data-${t}]`, e)
},
watch: {
toggles(t) {
this.updateState();
const e = z(this.selActive, this.$el);
for (const i of t) {
this.selActive !== !1 && j(i, this.cls, m(e, i));
const s = ca(i);
R(s, "a") && p(s, "role", "button");
}
},
children(t, e) {
e && this.updateState();
}
},
events: {
name: "click keydown",
delegate() {
return `[${this.attrItem}],[data-${this.attrItem}]`;
},
handler(t) {
t.type === "keydown" && t.keyCode !== _.SPACE || t.target.closest("a,button") && (t.preventDefault(),
this.apply(t.current));
}
},
methods: {
apply(t) {
const e = this.getState(), i = On(t, this.attrItem, this.getState());
oa(e, i) || this.setState(i);
},
getState() {
return this.toggles.filter(t => y(t, this.cls)).reduce((t, e) => On(e, this.attrItem, t), {
filter: {
"": ""
},
sort: []
});
},
async setState(t, e = !0) {
t = {
filter: {
"": ""
},
sort: [],
...t
}, g(this.$el, "beforeFilter", [ this, t ]);
for (const i of this.toggles) j(i, this.cls, aa(i, this.attrItem, t));
await Promise.all(z(this.target, this.$el).map(i => {
const s = () => {
ra(t, i, B(i)), this.$update(this.$el);
};
return e ? this.animate(s, i) : s();
})), g(this.$el, "afterFilter", [ this ]);
},
updateState() {
K.write(() => this.setState(this.getState(), !1));
}
}
};
function An(t, e) {
return fe(G(t, e), [ "filter" ]);
}
function oa(t, e) {
return [ "filter", "sort" ].every(i => ii(t[i], e[i]));
}
function ra(t, e, i) {
const s = la(t);
i.forEach(r => c(r, "display", s && !E(r, s) ? "none" : ""));
const [n, o] = t.sort;
if (n) {
const r = ha(i, n, o);
ii(r, i) || L(e, r);
}
}
function On(t, e, i) {
const {filter: s, group: n, sort: o, order: r = "asc"} = An(t, e);
return (s || X(o)) && (n ? s ? (delete i.filter[""], i.filter[n] = s) : (delete i.filter[n],
(ei(i.filter) || "" in i.filter) && (i.filter = {
"": s || ""
})) : i.filter = {
"": s || ""
}), X(o) || (i.sort = [ o, r ]), i;
}
function aa(t, e, {filter: i = {
"": ""
}, sort: [s, n]}) {
const {filter: o = "", group: r = "", sort: a, order: l = "asc"} = An(t, e);
return X(a) ? r in i && o === i[r] || !o && r && !(r in i) && !i[""] : s === a && n === l;
}
function la({filter: t}) {
let e = "";
return Nt(t, i => e += i || ""), e;
}
function ha(t, e, i) {
return [ ...t ].sort((s, n) => G(s, e).localeCompare(G(n, e), void 0, {
numeric: !0
}) * (i === "asc" || -1));
}
function ca(t) {
return k("a,button", t) || t;
}
let xs;
function Dn(t) {
const e = b(t, "touchstart", s => {
if (s.targetTouches.length !== 1 || E(s.target, 'input[type="range"')) return;
let n = _t(s).y;
const o = b(t, "touchmove", r => {
const a = _t(r).y;
a !== n && (n = a, qt(r.target).some(l => {
if (!t.contains(l)) return !1;
let {scrollHeight: h, clientHeight: u} = l;
return u < h;
}) || r.preventDefault());
}, {
passive: !1
});
H(t, "scroll touchend touchcanel", o, {
capture: !0
});
});
if (xs) return e;
xs = !0;
const {scrollingElement: i} = document;
return c(i, {
overflowY: CSS.supports("overflow", "clip") ? "clip" : "hidden",
touchAction: "none",
paddingRight: fi(window) - i.clientWidth || ""
}), () => {
xs = !1, e(), c(i, {
overflowY: "",
touchAction: "",
paddingRight: ""
});
};
}
var Re = {
props: {
container: Boolean
},
data: {
container: !0
},
computed: {
container({container: t}) {
return t === !0 && this.$container || t && k(t);
}
}
}, Vt = {
props: {
cls: Boolean,
animation: "list",
duration: Number,
velocity: Number,
origin: String,
transition: String
},
data: {
cls: !1,
animation: [ !1 ],
duration: 200,
velocity: .2,
origin: !1,
transition: "ease",
clsEnter: "uc-togglable-enter",
clsLeave: "uc-togglable-leave"
},
computed: {
hasAnimation: ({animation: t}) => !!t[0],
hasTransition: ({animation: t}) => [ "slide", "reveal" ].some(e => dt(t[0], e))
},
methods: {
async toggleElement(t, e, i) {
try {
return await Promise.all(T(t).map(s => {
const n = se(e) ? e : !this.isToggled(s);
if (!g(s, `before${n ? "show" : "hide"}`, [ this ])) return Promise.reject();
const o = (it(i) ? i : i === !1 || !this.hasAnimation ? ua : this.hasTransition ? da : fa)(s, n, this), r = n ? this.clsEnter : this.clsLeave;
$(s, r), g(s, n ? "show" : "hide", [ this ]);
const a = () => {
O(s, r), g(s, n ? "shown" : "hidden", [ this ]);
};
return o ? o.then(a, () => (O(s, r), Promise.reject())) : a();
})), !0;
} catch {
return !1;
}
},
isToggled(t = this.$el) {
return t = F(t), y(t, this.clsEnter) ? !0 : y(t, this.clsLeave) ? !1 : this.cls ? y(t, this.cls.split(" ")[0]) : q(t);
},
_toggle(t, e) {
if (!t) return;
e = !!e;
let i;
this.cls ? (i = m(this.cls, " ") || e !== y(t, this.cls), i && j(t, this.cls, m(this.cls, " ") ? void 0 : e)) : (i = e === t.hidden,
i && (t.hidden = !e)), z("[autofocus]", t).some(s => q(s) ? s.focus() || !0 : s.blur()),
i && g(t, "toggled", [ e, this ]);
}
}
};
function ua(t, e, {_toggle: i}) {
return At.cancel(t), D.cancel(t), i(t, e);
}
async function da(t, e, {animation: i, duration: s, velocity: n, transition: o, _toggle: r}) {
var a;
const [l = "reveal", h = "top"] = ((a = i[0]) == null ? void 0 : a.split("-")) || [], u = [ [ "left", "right" ], [ "top", "bottom" ] ], d = u[m(u[0], h) ? 0 : 1], f = d[1] === h, x = [ "width", "height" ][u.indexOf(d)], C = `margin-${d[0]}`, M = `margin-${h}`;
let wt = w(t)[x];
const Qe = D.inProgress(t);
await D.cancel(t), e && r(t, !0);
const Mi = Object.fromEntries([ "padding", "border", "width", "height", "minWidth", "minHeight", "overflowY", "overflowX", C, M ].map(Qo => [ Qo, t.style[Qo] ])), pt = w(t), xe = S(c(t, C)), Jo = S(c(t, M)), Qt = pt[x] + Jo;
!Qe && !e && (wt += Jo);
const [Bi] = es(t, "
");
c(Bi, {
boxSizing: "border-box",
height: pt.height,
width: pt.width,
...c(t, [ "overflow", "padding", "borderTop", "borderRight", "borderBottom", "borderLeft", "borderImage", M ])
}), c(t, {
padding: 0,
border: 0,
minWidth: 0,
minHeight: 0,
[M]: 0,
width: pt.width,
height: pt.height,
overflow: "hidden",
[x]: wt
});
const Ko = wt / Qt;
s = (n * Qt + s) * (e ? 1 - Ko : Ko);
const Zo = {
[x]: e ? Qt : 0
};
f && (c(t, C, Qt - wt + xe), Zo[C] = e ? xe : Qt + xe), !f ^ l === "reveal" && (c(Bi, C, -Qt + wt),
D.start(Bi, {
[C]: e ? 0 : -Qt
}, s, o));
try {
await D.start(t, Zo, s, o);
} finally {
c(t, Mi), re(Bi.firstChild), e || r(t, !1);
}
}
function fa(t, e, i) {
const {animation: s, duration: n, _toggle: o} = i;
return e ? (o(t, !0), At.in(t, s[0], n, i.origin)) : At.out(t, s[1] || s[0], n, i.origin).then(() => o(t, !1));
}
const nt = [];
var $s = {
mixins: [ et, Re, Vt ],
props: {
selPanel: String,
selClose: String,
escClose: Boolean,
bgClose: Boolean,
stack: Boolean,
role: String
},
data: {
cls: "uc-open",
escClose: !0,
bgClose: !0,
overlay: !0,
stack: !1,
role: "dialog"
},
computed: {
panel: ({selPanel: t}, e) => k(t, e),
transitionElement() {
return this.panel;
},
bgClose({bgClose: t}) {
return t && this.panel;
}
},
connected() {
p(this.panel || this.$el, "role", this.role), this.overlay && p(this.panel || this.$el, "aria-modal", !0);
},
beforeDisconnect() {
m(nt, this) && this.toggleElement(this.$el, !1, !1);
},
events: [ {
name: "click",
delegate() {
return `${this.selClose},a[href*="#"]`;
},
handler(t) {
const {current: e, defaultPrevented: i} = t, {hash: s} = e;
!i && s && oe(e) && !this.$el.contains(k(s)) ? this.hide() : E(e, this.selClose) && (t.preventDefault(),
this.hide());
}
}, {
name: "toggle",
self: !0,
handler(t) {
t.defaultPrevented || (t.preventDefault(), this.isToggled() === m(nt, this) && this.toggle());
}
}, {
name: "beforeshow",
self: !0,
handler(t) {
if (m(nt, this)) return !1;
!this.stack && nt.length ? (Promise.all(nt.map(e => e.hide())).then(this.show),
t.preventDefault()) : nt.push(this);
}
}, {
name: "show",
self: !0,
handler() {
this.stack && c(this.$el, "zIndex", S(c(this.$el, "zIndex")) + nt.length);
const t = [ this.overlay && ga(this), this.overlay && Dn(this.$el), this.bgClose && ma(this), this.escClose && va(this) ];
H(this.$el, "hidden", () => t.forEach(e => e && e()), {
self: !0
}), $(document.documentElement, this.clsPage);
}
}, {
name: "shown",
self: !0,
handler() {
oi(this.$el) || p(this.$el, "tabindex", "-1"), E(this.$el, ":focus-within") || this.$el.focus();
}
}, {
name: "hidden",
self: !0,
handler() {
m(nt, this) && nt.splice(nt.indexOf(this), 1), c(this.$el, "zIndex", ""), nt.some(t => t.clsPage === this.clsPage) || O(document.documentElement, this.clsPage);
}
} ],
methods: {
toggle() {
return this.isToggled() ? this.hide() : this.show();
},
show() {
return this.container && P(this.$el) !== this.container ? (L(this.container, this.$el),
new Promise(t => requestAnimationFrame(() => this.show().then(t)))) : this.toggleElement(this.$el, !0, Mn);
},
hide() {
return this.toggleElement(this.$el, !1, Mn);
}
}
};
function Mn(t, e, {transitionElement: i, _toggle: s}) {
return new Promise((n, o) => H(t, "show hide", () => {
var r;
(r = t._reject) == null || r.call(t), t._reject = o, s(t, e);
const a = H(i, "transitionstart", () => {
H(i, "transitionend transitioncancel", n, {
self: !0
}), clearTimeout(l);
}, {
self: !0
}), l = setTimeout(() => {
a(), n();
}, pa(c(i, "transitionDuration")));
})).then(() => delete t._reject);
}
function pa(t) {
return t ? ee(t, "ms") ? S(t) : S(t) * 1e3 : 0;
}
function ga(t) {
return b(document, "focusin", e => {
Bt(nt) === t && !t.$el.contains(e.target) && t.$el.focus();
});
}
function ma(t) {
return b(document, ft, ({target: e}) => {
Bt(nt) !== t || t.overlay && !t.$el.contains(e) || t.panel.contains(e) || H(document, `${Ot} ${mi} scroll`, ({defaultPrevented: i, type: s, target: n}) => {
!i && s === Ot && e === n && t.hide();
}, !0);
});
}
function va(t) {
return b(document, "keydown", e => {
e.keyCode === 27 && Bt(nt) === t && t.hide();
});
}
var ys = {
slide: {
show(t) {
return [ {
transform: W(t * -100)
}, {
transform: W()
} ];
},
percent(t) {
return qe(t);
},
translate(t, e) {
return [ {
transform: W(e * -100 * t)
}, {
transform: W(e * 100 * (1 - t))
} ];
}
}
};
function qe(t) {
return Math.abs(c(t, "transform").split(",")[4] / t.offsetWidth);
}
function W(t = 0, e = "%") {
return t += t ? e : "", `translate3d(${t}, 0, 0)`;
}
function pe(t) {
return `scale3d(${t}, ${t}, 1)`;
}
function wa(t, e, i, {animation: s, easing: n}) {
const {percent: o, translate: r, show: a = A} = s, l = a(i);
let h;
return {
dir: i,
show(u, d = 0, f) {
const v = f ? "linear" : n;
return u -= Math.round(u * tt(d, -1, 1)), this.translate(d), yi(e, "itemin", {
percent: d,
duration: u,
timing: v,
dir: i
}), yi(t, "itemout", {
percent: 1 - d,
duration: u,
timing: v,
dir: i
}), new Promise(x => {
h || (h = x), Promise.all([ D.start(e, l[1], u, v), D.start(t, l[0], u, v) ]).then(() => {
this.reset(), h();
}, A);
});
},
cancel() {
return D.cancel([ e, t ]);
},
reset() {
for (const u in l[0]) c([ e, t ], u, "");
},
async forward(u, d = this.percent()) {
return await this.cancel(), this.show(u, d, !0);
},
translate(u) {
this.reset();
const d = r(u, i);
c(e, d[1]), c(t, d[0]), yi(e, "itemtranslatein", {
percent: u,
dir: i
}), yi(t, "itemtranslateout", {
percent: 1 - u,
dir: i
});
},
percent() {
return o(t || e, e, i);
},
getDistance() {
return t == null ? void 0 : t.offsetWidth;
}
};
}
function yi(t, e, i) {
g(t, Ht(e, !1, !1, i));
}
var ki = {
props: {
i18n: Object
},
data: {
i18n: null
},
methods: {
t(t, ...e) {
var i, s, n;
let o = 0;
return ((n = ((i = this.i18n) == null ? void 0 : i[t]) || ((s = this.$options.i18n) == null ? void 0 : s[t])) == null ? void 0 : n.replace(/%s/g, () => e[o++] || "")) || "";
}
}
}, ba = {
props: {
autoplay: Boolean,
autoplayInterval: Number,
pauseOnHover: Boolean
},
data: {
autoplay: !1,
autoplayInterval: 7e3,
pauseOnHover: !0
},
connected() {
p(this.list, "aria-live", this.autoplay ? "off" : "polite"), this.autoplay && this.startAutoplay();
},
disconnected() {
this.stopAutoplay();
},
update() {
p(this.slides, "tabindex", "-1");
},
events: [ {
name: "visibilitychange",
el: () => document,
filter() {
return this.autoplay;
},
handler() {
document.hidden ? this.stopAutoplay() : this.startAutoplay();
}
} ],
methods: {
startAutoplay() {
this.stopAutoplay(), this.interval = setInterval(() => {
this.stack.length || this.draggable && E(this.$el, ":focus-within") && !E(this.$el, ":focus") || this.pauseOnHover && E(this.$el, ":hover") || this.show("next");
}, this.autoplayInterval);
},
stopAutoplay() {
clearInterval(this.interval);
}
}
};
const Ue = {
passive: !1,
capture: !0
}, Bn = {
passive: !0,
capture: !0
}, xa = "touchstart mousedown", ks = "touchmove mousemove", Nn = "touchend touchcancel mouseup click input scroll", zn = t => t.preventDefault();
var $a = {
props: {
draggable: Boolean
},
data: {
draggable: !0,
threshold: 10
},
created() {
for (const t of [ "start", "move", "end" ]) {
const e = this[t];
this[t] = i => {
const s = _t(i).x * (V ? -1 : 1);
this.prevPos = s === this.pos ? this.prevPos : this.pos, this.pos = s, e(i);
};
}
},
events: [ {
name: xa,
passive: !0,
delegate() {
return `${this.selList} > *`;
},
handler(t) {
!this.draggable || this.parallax || !yt(t) && ya(t.target) || t.target.closest(Te) || t.button > 0 || this.length < 2 || this.start(t);
}
}, {
name: "dragstart",
handler(t) {
t.preventDefault();
}
}, {
name: ks,
el() {
return this.list;
},
handler: A,
...Ue
} ],
methods: {
start() {
this.drag = this.pos, this._transitioner ? (this.percent = this._transitioner.percent(),
this.drag += this._transitioner.getDistance() * this.percent * this.dir, this._transitioner.cancel(),
this._transitioner.translate(this.percent), this.dragging = !0, this.stack = []) : this.prevIndex = this.index,
b(document, ks, this.move, Ue), b(document, Nn, this.end, Bn), c(this.list, "userSelect", "none");
},
move(t) {
const e = this.pos - this.drag;
if (e === 0 || this.prevPos === this.pos || !this.dragging && Math.abs(e) < this.threshold) return;
this.dragging || b(this.list, "click", zn, Ue), t.cancelable && t.preventDefault(),
this.dragging = !0, this.dir = e < 0 ? 1 : -1;
let {slides: i, prevIndex: s} = this, n = Math.abs(e), o = this.getIndex(s + this.dir), r = Fn.call(this, s, o);
for (;o !== s && n > r; ) this.drag -= r * this.dir, s = o, n -= r, o = this.getIndex(s + this.dir),
r = Fn.call(this, s, o);
this.percent = n / r;
const a = i[s], l = i[o], h = this.index !== o, u = s === o;
let d;
for (const f of [ this.index, this.prevIndex ]) m([ o, s ], f) || (g(i[f], "itemhidden", [ this ]),
u && (d = !0, this.prevIndex = s));
(this.index === s && this.prevIndex !== s || d) && g(i[this.index], "itemshown", [ this ]),
h && (this.prevIndex = s, this.index = o, u || (g(a, "beforeitemhide", [ this ]),
g(a, "itemhide", [ this ])), g(l, "beforeitemshow", [ this ]), g(l, "itemshow", [ this ])),
this._transitioner = this._translate(Math.abs(this.percent), a, !u && l);
},
end() {
if (Pt(document, ks, this.move, Ue), Pt(document, Nn, this.end, Bn), this.dragging) if (this.dragging = null,
this.index === this.prevIndex) this.percent = 1 - this.percent, this.dir *= -1,
this._show(!1, this.index, !0), this._transitioner = null; else {
const t = (V ? this.dir * (V ? 1 : -1) : this.dir) < 0 == this.prevPos > this.pos;
this.index = t ? this.index : this.prevIndex, t && (this.percent = 1 - this.percent),
this.show(this.dir > 0 && !t || this.dir < 0 && t ? "next" : "previous", !0);
}
setTimeout(() => Pt(this.list, "click", zn, Ue)), c(this.list, {
userSelect: ""
}), this.drag = this.percent = null;
}
}
};
function Fn(t, e) {
return this._getTransitioner(t, t !== e && e).getDistance() || this.slides[t].offsetWidth;
}
function ya(t) {
return c(t, "userSelect") !== "none" && It(t.childNodes).some(e => e.nodeType === 3 && e.textContent.trim());
}
function ka(t) {
t._watches = [];
for (const e of t.$options.watch || []) for (const [i, s] of Object.entries(e)) Hn(t, s, i);
t._initial = !0;
}
function Hn(t, e, i) {
t._watches.push({
name: i,
...xt(e) ? e : {
handler: e
}
});
}
function Sa(t, e) {
for (const {name: i, handler: s, immediate: n = !0} of t._watches) (t._initial && n || gt(e, i) && !ii(e[i], t[i])) && s.call(t, t[i], e[i]);
t._initial = !1;
}
function Ia(t) {
const {computed: e} = t.$options;
if (t._computed = {}, e) for (const i in e) Ln(t, i, e[i]);
}
function Ln(t, e, i) {
t._hasComputed = !0, Object.defineProperty(t, e, {
enumerable: !0,
get() {
const {_computed: s, $props: n, $el: o} = t;
return gt(s, e) || (s[e] = (i.get || i).call(t, n, o)), s[e];
},
set(s) {
const {_computed: n} = t;
n[e] = i.set ? i.set.call(t, s) : s, X(n[e]) && delete n[e];
}
});
}
function Ca(t) {
t._hasComputed && (Xr(t, {
read: () => Sa(t, Wn(t)),
events: [ "resize", "computed" ]
}), Ea(), Ve.add(t));
}
function Ta(t) {
Ve == null || Ve.delete(t), Wn(t);
}
function Wn(t) {
const e = {
...t._computed
};
return t._computed = {}, e;
}
let Ss, Ve;
function Ea() {
Ss || (Ve = new Set, Ss = new MutationObserver(() => {
for (const t of Ve) Fe(t, "computed");
}), Ss.observe(document, {
subtree: !0,
childList: !0
}));
}
function Pa(t) {
t._events = [];
for (const e of t.$options.events || []) if (gt(e, "handler")) jn(t, e); else for (const i in e) jn(t, e[i], i);
}
function _a(t) {
t._events.forEach(e => e()), delete t._events;
}
function jn(t, e, i) {
let {name: s, el: n, handler: o, capture: r, passive: a, delegate: l, filter: h, self: u} = xt(e) ? e : {
name: i,
handler: e
};
n = it(n) ? n.call(t, t) : n || t.$el, !(!n || Q(n) && !n.length || h && !h.call(t)) && t._events.push(b(n, s, l ? N(l) ? l : l.call(t, t) : null, N(o) ? t[o] : o.bind(t), {
passive: a,
capture: r,
self: u
}));
}
function Aa(t) {
t._observers = [];
for (const e of t.$options.observe || []) if (gt(e, "handler")) qn(t, e); else for (const i of e) qn(t, i);
}
function Rn(t, ...e) {
t._observers.push(...e);
}
function Oa(t) {
for (const e of t._observers) e.disconnect();
}
function qn(t, e) {
let {observe: i, target: s = t.$el, handler: n, options: o, filter: r, args: a} = e;
if (r && !r.call(t, t)) return;
const l = `_observe${t._observers.length}`;
it(s) && !gt(t, l) && Ln(t, l, () => s.call(t, t)), n = N(n) ? t[n] : n.bind(t),
it(o) && (o = o.call(t, t));
const h = gt(t, l) ? t[l] : s, u = i(h, n, o, a);
it(s) && Q(t[l]) && u.unobserve && Hn(t, {
handler: Da(u),
immediate: !1
}, l), Rn(t, u);
}
function Da(t) {
return (e, i) => {
for (const s of i) !m(e, s) && t.unobserve(s);
for (const s of e) !m(i, s) && t.observe(s);
};
}
function Ma(t) {
const {$options: e, $props: i} = t, s = Un(e);
mt(i, s);
const {computed: n, methods: o} = e;
for (let r in i) r in s && (!n || !gt(n, r)) && (!o || !gt(o, r)) && (t[r] = i[r]);
}
function Un(t) {
const e = {}, {args: i = [], props: s = {}, el: n, id: o} = t;
if (!s) return e;
for (const a in s) {
const l = Mt(a);
let h = G(n, l);
X(h) || (h = s[a] === Boolean && h === "" ? !0 : fs(s[a], h), !(l === "target" && dt(h, "_")) && (e[a] = h));
}
const r = fe(G(n, o), i);
for (const a in r) {
const l = ye(a);
X(s[l]) || (e[l] = fs(s[l], r[a]));
}
return e;
}
const Ba = rt((t, e) => {
const i = Object.keys(e), s = i.concat(t).map(n => [ Mt(n), `data-${Mt(n)}` ]).flat();
return {
attributes: i,
filter: s
};
});
function Na(t) {
const {$options: e, $props: i} = t, {id: s, props: n, el: o} = e;
if (!n) return;
const {attributes: r, filter: a} = Ba(s, n), l = new MutationObserver(h => {
const u = Un(e);
h.some(({attributeName: d}) => {
const f = d.replace("data-", "");
return (f === s ? r : [ ye(f), ye(d) ]).some(v => !X(u[v]) && u[v] !== i[v]);
}) && t.$reset();
});
l.observe(o, {
attributes: !0,
attributeFilter: a
}), Rn(t, l);
}
function ge(t, e) {
var i;
(i = t.$options[e]) == null || i.forEach(s => s.call(t));
}
function Is(t) {
t._connected || (Ma(t), ge(t, "beforeConnect"), t._connected = !0, Pa(t), Yr(t),
ka(t), Aa(t), Na(t), Ca(t), ge(t, "connected"), Fe(t));
}
function Cs(t) {
t._connected && (ge(t, "beforeDisconnect"), _a(t), Gr(t), Oa(t), Ta(t), ge(t, "disconnected"),
t._connected = !1);
}
let za = 0;
function Vn(t, e = {}) {
e.data = La(e, t.constructor.options), t.$options = ze(t.constructor.options, e, t),
t.$props = {}, t._uid = za++, Fa(t), Ha(t), Ia(t), ge(t, "created"), e.el && t.$mount(e.el);
}
function Fa(t) {
const {data: e = {}} = t.$options;
for (const i in e) t.$props[i] = t[i] = e[i];
}
function Ha(t) {
const {methods: e} = t.$options;
if (e) for (const i in e) t[i] = e[i].bind(t);
}
function La({data: t = {}}, {args: e = [], props: i = {}}) {
Q(t) && (t = t.slice(0, e.length).reduce((s, n, o) => (xt(n) ? mt(s, n) : s[e[o]] = n,
s), {}));
for (const s in t) X(t[s]) ? delete t[s] : i[s] && (t[s] = fs(i[s], t[s]));
return t;
}
const ut = function(t) {
Vn(this, t);
};
ut.util = Lr, ut.options = {}, ut.version = "3.19.1";
const Wa = "uc-", Yt = "__uikit__", me = {};
function Yn(t, e) {
var i;
const s = Wa + Mt(t);
if (!e) return xt(me[s]) && (me[s] = ut.extend(me[s])), me[s];
t = ye(t), ut[t] = (o, r) => Ye(t, o, r);
const n = xt(e) ? {
...e
} : e.options;
return n.id = s, n.name = t, (i = n.install) == null || i.call(n, ut, n, t), ut._initialized && !n.functional && requestAnimationFrame(() => Ye(t, `[${s}],[data-${s}]`)),
me[s] = n;
}
function Ye(t, e, i, ...s) {
const n = Yn(t);
return n.options.functional ? new n({
data: xt(e) ? e : [ e, i, ...s ]
}) : e ? z(e).map(o)[0] : o();
function o(r) {
const a = Si(r, t);
if (a) if (i) a.$destroy(); else return a;
return new n({
el: r,
data: i
});
}
}
function Xt(t) {
return (t == null ? void 0 : t[Yt]) || {};
}
function Si(t, e) {
return Xt(t)[e];
}
function ja(t, e) {
t[Yt] || (t[Yt] = {}), t[Yt][e.$options.name] = e;
}
function Ra(t, e) {
var i;
(i = t[Yt]) == null || delete i[e.$options.name], ei(t[Yt]) || delete t[Yt];
}
function qa(t) {
t.component = Yn, t.getComponents = Xt, t.getComponent = Si, t.update = Xn, t.use = function(i) {
if (!i.installed) return i.call(null, this), i.installed = !0, this;
}, t.mixin = function(i, s) {
s = (N(s) ? this.component(s) : s) || this, s.options = ze(s.options, i);
}, t.extend = function(i) {
i || (i = {});
const s = this, n = function(r) {
Vn(this, r);
};
return n.prototype = Object.create(s.prototype), n.prototype.constructor = n, n.options = ze(s.options, i),
n.super = s, n.extend = s.extend, n;
};
let e;
Object.defineProperty(t, "container", {
get() {
return e || document.body;
},
set(i) {
e = k(i);
}
});
}
function Xn(t, e) {
t = t ? F(t) : document.body;
for (const i of _e(t).reverse()) Gn(i, e);
kt(t, i => Gn(i, e));
}
function Gn(t, e) {
const i = Xt(t);
for (const s in i) Fe(i[s], e);
}
function Ua(t) {
t.prototype.$mount = function(e) {
const i = this;
ja(e, i), i.$options.el = e, document.contains(e) && Is(i);
}, t.prototype.$destroy = function(e = !1) {
const i = this, {el: s} = i.$options;
s && Cs(i), ge(i, "destroy"), Ra(s, i), e && at(i.$el);
}, t.prototype.$create = Ye, t.prototype.$emit = function(e) {
Fe(this, e);
}, t.prototype.$update = function(e = this.$el, i) {
Xn(e, i);
}, t.prototype.$reset = function() {
Cs(this), Is(this);
}, t.prototype.$getComponent = Si, Object.defineProperties(t.prototype, {
$el: {
get() {
return this.$options.el;
}
},
$container: Object.getOwnPropertyDescriptor(t, "container")
});
}
let Va = 1;
function Gt(t, e = null) {
return (e == null ? void 0 : e.id) || `${t.$options.id}-${Va++}`;
}
var Ya = {
i18n: {
next: "Next slide",
previous: "Previous slide",
slideX: "Slide %s",
slideLabel: "%s of %s",
role: "String"
},
data: {
selNav: !1,
role: "region"
},
computed: {
nav: ({selNav: t}, e) => k(t, e),
navChildren() {
return B(this.nav);
},
selNavItem: ({attrItem: t}) => `[${t}],[data-${t}]`,
navItems(t, e) {
return z(this.selNavItem, e);
}
},
watch: {
nav(t, e) {
p(t, "role", "tablist"), e && this.$emit();
},
list(t) {
p(t, "role", "presentation");
},
navChildren(t) {
p(t, "role", "presentation");
},
navItems(t) {
for (const e of t) {
const i = G(e, this.attrItem), s = k("a,button", e) || e;
let n, o = null;
if (vt(i)) {
const r = $t(i), a = this.slides[r];
a && (a.id || (a.id = Gt(this, a)), o = a.id), n = this.t("slideX", S(i) + 1), p(s, "role", "tab");
} else this.list && (this.list.id || (this.list.id = Gt(this, this.list)), o = this.list.id),
n = this.t(i);
p(s, {
"aria-controls": o,
"aria-label": p(s, "aria-label") || n
});
}
},
slides(t) {
t.forEach((e, i) => p(e, {
role: this.nav ? "tabpanel" : "group",
"aria-label": this.t("slideLabel", i + 1, this.length),
"aria-roledescription": this.nav ? null : "slide"
}));
},
length(t) {
const e = this.navChildren.length;
if (this.nav && t !== e) {
ts(this.nav);
for (let i = 0; i < t; i++) L(this.nav, `
`);
}
}
},
connected() {
p(this.$el, {
role: this.role,
"aria-roledescription": "carousel"
});
},
update: [ {
write() {
this.navItems.concat(this.nav).forEach(t => t && (t.hidden = !this.maxIndex)), this.updateNav();
},
events: [ "resize" ]
} ],
events: [ {
name: "click keydown",
delegate() {
return this.selNavItem;
},
filter() {
return !this.parallax;
},
handler(t) {
t.target.closest("a,button") && (t.type === "click" || t.keyCode === _.SPACE) && (t.preventDefault(),
this.show(G(t.current, this.attrItem)));
}
}, {
name: "itemshow",
handler: "updateNav"
}, {
name: "keydown",
delegate() {
return this.selNavItem;
},
filter() {
return !this.parallax;
},
handler(t) {
const {current: e, keyCode: i} = t, s = G(e, this.attrItem);
if (!vt(s)) return;
let n = i === _.HOME ? 0 : i === _.END ? "last" : i === _.LEFT ? "previous" : i === _.RIGHT ? "next" : -1;
~n && (t.preventDefault(), this.show(n));
}
} ],
methods: {
updateNav() {
const t = this.getValidIndex();
for (const e of this.navItems) {
const i = G(e, this.attrItem), s = k("a,button", e) || e;
if (vt(i)) {
const o = $t(i) === t;
j(e, this.clsActive, o), j(s, "uc-disabled", this.parallax), p(s, {
"aria-selected": o,
tabindex: o && !this.parallax ? null : -1
}), o && s && E(P(e), ":focus-within") && s.focus();
} else j(e, "uc-invisible", this.finite && (i === "previous" && t === 0 || i === "next" && t >= this.maxIndex));
}
}
}
}, Jn = {
mixins: [ ba, $a, Ya, ki ],
props: {
clsActivated: String,
easing: String,
index: Number,
finite: Boolean,
velocity: Number
},
data: () => ({
easing: "ease",
finite: !1,
velocity: 1,
index: 0,
prevIndex: -1,
stack: [],
percent: 0,
clsActive: "uc-active",
clsActivated: "",
clsEnter: "uc-slide-enter",
clsLeave: "uc-slide-leave",
clsSlideActive: "uc-slide-active",
Transitioner: !1,
transitionOptions: {}
}),
connected() {
this.prevIndex = -1, this.index = this.getValidIndex(this.$props.index), this.stack = [];
},
disconnected() {
O(this.slides, this.clsActive);
},
computed: {
duration: ({velocity: t}, e) => Kn(e.offsetWidth / t),
list: ({selList: t}, e) => k(t, e),
maxIndex() {
return this.length - 1;
},
slides() {
return B(this.list);
},
length() {
return this.slides.length;
}
},
watch: {
slides(t, e) {
e && this.$emit();
}
},
observe: ct(),
events: {
itemshow({target: t}) {
$(t, this.clsEnter, this.clsSlideActive);
},
itemshown({target: t}) {
O(t, this.clsEnter);
},
itemhide({target: t}) {
$(t, this.clsLeave);
},
itemhidden({target: t}) {
O(t, this.clsLeave, this.clsSlideActive);
}
},
methods: {
show(t, e = !1) {
var i;
if (this.dragging || !this.length || this.parallax) return;
const {stack: s} = this, n = e ? 0 : s.length, o = () => {
s.splice(n, 1), s.length && this.show(s.shift(), !0);
};
if (s[e ? "unshift" : "push"](t), !e && s.length > 1) {
s.length === 2 && ((i = this._transitioner) == null || i.forward(Math.min(this.duration, 200)));
return;
}
const r = this.getIndex(this.index), a = y(this.slides, this.clsActive) && this.slides[r], l = this.getIndex(t, this.index), h = this.slides[l];
if (a === h) {
o();
return;
}
if (this.dir = Xa(t, r), this.prevIndex = r, this.index = l, a && !g(a, "beforeitemhide", [ this ]) || !g(h, "beforeitemshow", [ this, a ])) {
this.index = this.prevIndex, o();
return;
}
const u = this._show(a, h, e).then(() => {
a && g(a, "itemhidden", [ this ]), g(h, "itemshown", [ this ]), s.shift(), this._transitioner = null,
requestAnimationFrame(() => s.length && this.show(s.shift(), !0));
});
return a && g(a, "itemhide", [ this ]), g(h, "itemshow", [ this ]), u;
},
getIndex(t = this.index, e = this.index) {
return tt(ot(t, this.slides, e, this.finite), 0, Math.max(0, this.maxIndex));
},
getValidIndex(t = this.index, e = this.prevIndex) {
return this.getIndex(t, e);
},
_show(t, e, i) {
if (this._transitioner = this._getTransitioner(t, e, this.dir, {
easing: i ? e.offsetWidth < 600 ? "cubic-bezier(0.25, 0.46, 0.45, 0.94)" : "cubic-bezier(0.165, 0.84, 0.44, 1)" : this.easing,
...this.transitionOptions
}), !i && !t) return this._translate(1), Promise.resolve();
const {length: s} = this.stack;
return this._transitioner[s > 1 ? "forward" : "show"](s > 1 ? Math.min(this.duration, 75 + 75 / (s - 1)) : this.duration, this.percent);
},
_translate(t, e = this.prevIndex, i = this.index) {
const s = this._getTransitioner(e === i ? !1 : e, i);
return s.translate(t), s;
},
_getTransitioner(t = this.prevIndex, e = this.index, i = this.dir || 1, s = this.transitionOptions) {
return new this.Transitioner(Ie(t) ? this.slides[t] : t, Ie(e) ? this.slides[e] : e, i * (V ? -1 : 1), s);
}
}
};
function Xa(t, e) {
return t === "next" ? 1 : t === "previous" || t < e ? -1 : 1;
}
function Kn(t) {
return .5 * t + 300;
}
var Zn = {
mixins: [ Jn ],
props: {
animation: String
},
data: {
animation: "slide",
clsActivated: "uc-transition-active",
Animations: ys,
Transitioner: wa
},
computed: {
animation({animation: t, Animations: e}) {
return {
...e[t] || e.slide,
name: t
};
},
transitionOptions() {
return {
animation: this.animation
};
}
},
events: {
beforeitemshow({target: t}) {
$(t, this.clsActive);
},
itemshown({target: t}) {
$(t, this.clsActivated);
},
itemhidden({target: t}) {
O(t, this.clsActive, this.clsActivated);
}
}
}, Qn = {
...ys,
fade: {
show() {
return [ {
opacity: 0
}, {
opacity: 1
} ];
},
percent(t) {
return 1 - c(t, "opacity");
},
translate(t) {
return [ {
opacity: 1 - t
}, {
opacity: t
} ];
}
},
scale: {
show() {
return [ {
opacity: 0,
transform: pe(1 - .2)
}, {
opacity: 1,
transform: pe(1)
} ];
},
percent(t) {
return 1 - c(t, "opacity");
},
translate(t) {
return [ {
opacity: 1 - t,
transform: pe(1 - .2 * t)
}, {
opacity: t,
transform: pe(1 - .2 + .2 * t)
} ];
}
}
}, to = {
mixins: [ $s, Zn ],
functional: !0,
props: {
delayControls: Number,
preload: Number,
videoAutoplay: Boolean,
template: String
},
data: () => ({
preload: 1,
videoAutoplay: !1,
delayControls: 3e3,
items: [],
cls: "uc-open",
clsPage: "uc-lightbox-page",
selList: ".uc-lightbox-items",
attrItem: "uc-lightbox-item",
selClose: ".uc-close-large",
selCaption: ".uc-lightbox-caption",
pauseOnHover: !1,
velocity: 2,
Animations: Qn,
template: '
'
}),
created() {
const t = k(this.template), e = k(this.selList, t);
this.items.forEach(() => L(e, "
"));
const i = k("[uc-close]", t), s = this.t("close");
i && s && (i.dataset.i18n = JSON.stringify({
label: s
})), this.$mount(L(this.container, t));
},
computed: {
caption: ({selCaption: t}, e) => k(t, e)
},
events: [ {
name: `${gi} ${ft} keydown`,
handler: "showControls"
}, {
name: "click",
self: !0,
delegate() {
return `${this.selList} > *`;
},
handler(t) {
t.defaultPrevented || this.hide();
}
}, {
name: "shown",
self: !0,
handler: "showControls"
}, {
name: "hide",
self: !0,
handler() {
this.hideControls(), O(this.slides, this.clsActive), D.stop(this.slides);
}
}, {
name: "hidden",
self: !0,
handler() {
this.$destroy(!0);
}
}, {
name: "keyup",
el: () => document,
handler({keyCode: t}) {
if (!this.isToggled(this.$el) || !this.draggable) return;
let e = -1;
t === _.LEFT ? e = "previous" : t === _.RIGHT ? e = "next" : t === _.HOME ? e = 0 : t === _.END && (e = "last"),
~e && this.show(e);
}
}, {
name: "beforeitemshow",
handler(t) {
this.isToggled() || (this.draggable = !1, t.preventDefault(), this.toggleElement(this.$el, !0, !1),
this.animation = Qn.scale, O(t.target, this.clsActive), this.stack.splice(1, 0, this.index));
}
}, {
name: "itemshow",
handler() {
Lt(this.caption, this.getItem().caption || "");
for (let t = -this.preload; t <= this.preload; t++) this.loadItem(this.index + t);
}
}, {
name: "itemshown",
handler() {
this.draggable = this.$props.draggable;
}
}, {
name: "itemload",
async handler(t, e) {
const {source: i, type: s, alt: n = "", poster: o, attrs: r = {}} = e;
if (this.setItem(e, ""), !i) return;
let a;
const l = {
allowfullscreen: "",
style: "max-width: 100%; box-sizing: border-box;",
"uc-responsive": "",
"uc-video": `${this.videoAutoplay}`
};
if (s === "image" || i.match(/\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\?)/i)) {
const h = Xe("img", {
src: i,
alt: n,
...r
});
b(h, "load", () => this.setItem(e, h)), b(h, "error", () => this.setError(e));
} else if (s === "video" || i.match(/\.(mp4|webm|ogv)($|\?)/i)) {
const h = Xe("video", {
src: i,
poster: o,
controls: "",
playsinline: "",
"uc-video": `${this.videoAutoplay}`,
...r
});
b(h, "loadedmetadata", () => this.setItem(e, h)), b(h, "error", () => this.setError(e));
} else if (s === "iframe" || i.match(/\.(html|php)($|\?)/i)) this.setItem(e, Xe("iframe", {
src: i,
allowfullscreen: "",
class: "uc-lightbox-iframe",
...r
})); else if (a = i.match(/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/)) this.setItem(e, Xe("iframe", {
src: `https://www.youtube${a[1] || ""}.com/embed/${a[2]}${a[3] ? `?${a[3]}` : ""}`,
width: 1920,
height: 1080,
...l,
...r
})); else if (a = i.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/)) try {
const {height: h, width: u} = await (await fetch(`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(i)}`, {
credentials: "omit"
})).json();
this.setItem(e, Xe("iframe", {
src: `https://player.vimeo.com/video/${a[1]}${a[2] ? `?${a[2]}` : ""}`,
width: u,
height: h,
...l,
...r
}));
} catch {
this.setError(e);
}
}
} ],
methods: {
loadItem(t = this.index) {
const e = this.getItem(t);
this.getSlide(e).childElementCount || g(this.$el, "itemload", [ e ]);
},
getItem(t = this.index) {
return this.items[ot(t, this.slides)];
},
setItem(t, e) {
g(this.$el, "itemloaded", [ this, Lt(this.getSlide(t), e) ]);
},
getSlide(t) {
return this.slides[this.items.indexOf(t)];
},
setError(t) {
this.setItem(t, '');
},
showControls() {
clearTimeout(this.controlsTimer), this.controlsTimer = setTimeout(this.hideControls, this.delayControls),
$(this.$el, "uc-active", "uc-transition-active");
},
hideControls() {
O(this.$el, "uc-active", "uc-transition-active");
}
}
};
function Xe(t, e) {
const i = Wt(`<${t}>`);
return p(i, e), i;
}
var Ga = {
install: Ja,
props: {
toggle: String
},
data: {
toggle: "a"
},
computed: {
toggles: ({toggle: t}, e) => z(t, e)
},
watch: {
toggles(t) {
this.hide();
for (const e of t) R(e, "a") && p(e, "role", "button");
}
},
disconnected() {
this.hide();
},
events: {
name: "click",
delegate() {
return `${this.toggle}:not(.uc-disabled)`;
},
handler(t) {
t.preventDefault(), this.show(t.current);
}
},
methods: {
show(t) {
const e = Hs(this.toggles.map(eo), "source");
if (Se(t)) {
const {source: i} = eo(t);
t = bt(e, ({source: s}) => i === s);
}
return this.panel = this.panel || this.$create("lightboxPanel", {
...this.$props,
items: e
}), b(this.panel.$el, "hidden", () => this.panel = null), this.panel.show(t);
},
hide() {
var t;
return (t = this.panel) == null ? void 0 : t.hide();
}
}
};
function Ja(t, e) {
t.lightboxPanel || t.component("lightboxPanel", to), mt(e.props, t.component("lightboxPanel").options.props);
}
function eo(t) {
const e = {};
for (const i of [ "href", "caption", "type", "poster", "alt", "attrs" ]) e[i === "href" ? "source" : i] = G(t, i);
return e.attrs = fe(e.attrs), e;
}
var Ka = {
mixins: [ Re ],
functional: !0,
args: [ "message", "status" ],
data: {
message: "",
status: "",
timeout: 5e3,
group: "",
pos: "top-center",
clsContainer: "uc-notification",
clsClose: "uc-notification-close",
clsMsg: "uc-notification-message"
},
install: Za,
computed: {
marginProp: ({pos: t}) => `margin-${t.match(/[a-z]+(?=-)/)[0]}`,
startProps() {
return {
opacity: 0,
[this.marginProp]: -this.$el.offsetHeight
};
}
},
created() {
const t = `${this.clsContainer}-${this.pos}`, e = `data-${this.clsContainer}-container`, i = k(`.${t}[${e}]`, this.container) || L(this.container, ``);
this.$mount(L(i, ``));
},
async connected() {
const t = S(c(this.$el, this.marginProp));
await D.start(c(this.$el, this.startProps), {
opacity: 1,
[this.marginProp]: t
}), this.timeout && (this.timer = setTimeout(this.close, this.timeout));
},
events: {
click(t) {
t.target.closest('a[href="#"],a[href=""]') && t.preventDefault(), this.close();
},
[ue]() {
this.timer && clearTimeout(this.timer);
},
[Ne]() {
this.timeout && (this.timer = setTimeout(this.close, this.timeout));
}
},
methods: {
async close(t) {
const e = i => {
const s = P(i);
g(i, "close", [ this ]), at(i), s != null && s.hasChildNodes() || at(s);
};
this.timer && clearTimeout(this.timer), t || await D.start(this.$el, this.startProps),
e(this.$el);
}
}
};
function Za(t) {
t.notification.closeAll = function(e, i) {
kt(document.body, s => {
const n = t.getComponent(s, "notification");
n && (!e || e === n.group) && n.close(i);
});
};
}
var ve = {
props: {
media: Boolean,
mediaMax: Boolean
},
data: {
media: !1,
mediaMax: !1
},
connected() {
const t = io(this.media, this.$el), e = io(this.mediaMax, this.$el, "max");
if (this.matchMedia = !0, t || e) {
const i = t ? e ? t + " and " + e : t : e;
this.mediaObj = window.matchMedia(i);
const s = () => {
this.matchMedia = this.mediaObj.matches, g(this.$el, Ht("mediachange", !1, !0, [ this.mediaObj ]));
};
this.offMediaObj = b(this.mediaObj, "change", () => {
s(), this.$emit("resize");
}), s();
}
},
disconnected() {
var t;
(t = this.offMediaObj) == null || t.call(this);
}
};
function io(t, e, i = "min") {
if (N(t)) {
if (dt(t, "@")) t = S(c(e, `--uc-breakpoint-${t.substr(1)}`)); else if (isNaN(t)) return t;
}
return t && vt(t) ? `(${i}-width: ${t}px)` : "";
}
function so(t) {
return Math.ceil(Math.max(0, ...z("[stroke]", t).map(e => {
try {
return e.getTotalLength();
} catch {
return 0;
}
})));
}
const Ii = {
x: Ci,
y: Ci,
rotate: Ci,
scale: Ci,
color: Ts,
backgroundColor: Ts,
borderColor: Ts,
blur: Jt,
hue: Jt,
fopacity: Jt,
grayscale: Jt,
invert: Jt,
saturate: Jt,
sepia: Jt,
opacity: tl,
stroke: el,
bgx: ro,
bgy: ro
}, {keys: no} = Object;
var oo = {
mixins: [ ve ],
props: co(no(Ii), "list"),
data: co(no(Ii), void 0),
computed: {
props(t, e) {
const i = {};
for (const n in t) n in Ii && !X(t[n]) && (i[n] = t[n].slice());
const s = {};
for (const n in i) s[n] = Ii[n](n, e, i[n], i);
return s;
}
},
events: {
load() {
this.$emit();
}
},
methods: {
reset() {
for (const t in this.getCss(0)) c(this.$el, t, "");
},
getCss(t) {
const e = {};
for (const i in this.props) this.props[i](e, tt(t));
return e.willChange = Object.keys(e).map(ai).join(","), e;
}
}
};
function Ci(t, e, i) {
let s = Ei(i) || {
x: "px",
y: "px",
rotate: "deg"
}[t] || "", n;
return t === "x" || t === "y" ? (t = `translate${St(t)}`, n = o => S(S(o).toFixed(s === "px" ? 0 : 6))) : t === "scale" && (s = "",
n = o => {
var r;
return Ei([ o ]) ? U(o, "width", e, !0) / e[`offset${(r = o.endsWith) != null && r.call(o, "vh") ? "Height" : "Width"}`] : S(o);
}), i.length === 1 && i.unshift(t === "scale" ? 1 : 0), i = we(i, n), (o, r) => {
o.transform = `${o.transform || ""} ${t}(${Ge(i, r)}${s})`;
};
}
function Ts(t, e, i) {
return i.length === 1 && i.unshift(Je(e, t, "")), i = we(i, s => Qa(e, s)), (s, n) => {
const [o, r, a] = ho(i, n), l = o.map((h, u) => (h += a * (r[u] - h), u === 3 ? S(h) : parseInt(h, 10))).join(",");
s[t] = `rgba(${l})`;
};
}
function Qa(t, e) {
return Je(t, "color", e).split(/[(),]/g).slice(1, -1).concat(1).slice(0, 4).map(S);
}
function Jt(t, e, i) {
i.length === 1 && i.unshift(0);
const s = Ei(i) || {
blur: "px",
hue: "deg"
}[t] || "%";
return t = {
fopacity: "opacity",
hue: "hue-rotate"
}[t] || t, i = we(i), (n, o) => {
const r = Ge(i, o);
n.filter = `${n.filter || ""} ${t}(${r + s})`;
};
}
function tl(t, e, i) {
return i.length === 1 && i.unshift(Je(e, t, "")), i = we(i), (s, n) => {
s[t] = Ge(i, n);
};
}
function el(t, e, i) {
i.length === 1 && i.unshift(0);
const s = Ei(i), n = so(e);
return i = we(i.reverse(), o => (o = S(o), s === "%" ? o * n / 100 : o)), i.some(([o]) => o) ? (c(e, "strokeDasharray", n),
(o, r) => {
o.strokeDashoffset = Ge(i, r);
}) : A;
}
function ro(t, e, i, s) {
i.length === 1 && i.unshift(0);
const n = t === "bgy" ? "height" : "width";
s[t] = we(i, a => U(a, n, e));
const o = [ "bgx", "bgy" ].filter(a => a in s);
if (o.length === 2 && t === "bgx") return A;
if (Je(e, "backgroundSize", "") === "cover") return il(t, e, i, s);
const r = {};
for (const a of o) r[a] = ao(e, a);
return lo(o, r, s);
}
function il(t, e, i, s) {
const n = sl(e);
if (!n.width) return A;
const o = {
width: e.offsetWidth,
height: e.offsetHeight
}, r = [ "bgx", "bgy" ].filter(u => u in s), a = {};
for (const u of r) {
const d = s[u].map(([M]) => M), f = Math.min(...d), v = Math.max(...d), x = d.indexOf(f) < d.indexOf(v), C = v - f;
a[u] = `${(x ? -C : 0) - (x ? f : v)}px`, o[u === "bgy" ? "height" : "width"] += C;
}
const l = ji.cover(n, o);
for (const u of r) {
const d = u === "bgy" ? "height" : "width", f = l[d] - o[d];
a[u] = `max(${ao(e, u)},-${f}px) + ${a[u]}`;
}
const h = lo(r, a, s);
return (u, d) => {
h(u, d), u.backgroundSize = `${l.width}px ${l.height}px`, u.backgroundRepeat = "no-repeat";
};
}
function ao(t, e) {
return Je(t, `background-position-${e.substr(-1)}`, "");
}
function lo(t, e, i) {
return function(s, n) {
for (const o of t) {
const r = Ge(i[o], n);
s[`background-position-${o.substr(-1)}`] = `calc(${e[o]} + ${r}px)`;
}
};
}
const Ti = {};
function sl(t) {
const e = c(t, "backgroundImage").replace(/^none|url\(["']?(.+?)["']?\)$/, "$1");
if (Ti[e]) return Ti[e];
const i = new Image;
return e && (i.src = e, !i.naturalWidth) ? (i.onload = () => {
Ti[e] = Es(i), g(t, Ht("load", !1));
}, Es(i)) : Ti[e] = Es(i);
}
function Es(t) {
return {
width: t.naturalWidth,
height: t.naturalHeight
};
}
function we(t, e = S) {
const i = [], {length: s} = t;
let n = 0;
for (let o = 0; o < s; o++) {
let [r, a] = N(t[o]) ? t[o].trim().split(/ (?![^(]*\))/) : [ t[o] ];
if (r = e(r), a = a ? S(a) / 100 : null, o === 0 ? a === null ? a = 0 : a && i.push([ r, 0 ]) : o === s - 1 && (a === null ? a = 1 : a !== 1 && (i.push([ r, a ]),
a = 1)), i.push([ r, a ]), a === null) n++; else if (n) {
const l = i[o - n - 1][1], h = (a - l) / (n + 1);
for (let u = n; u > 0; u--) i[o - u][1] = l + h * (n - u + 1);
n = 0;
}
}
return i;
}
function ho(t, e) {
const i = bt(t.slice(1), ([, s]) => e <= s) + 1;
return [ t[i - 1][0], t[i][0], (e - t[i - 1][1]) / (t[i][1] - t[i - 1][1]) ];
}
function Ge(t, e) {
const [i, s, n] = ho(t, e);
return i + Math.abs(i - s) * n * (i < s ? 1 : -1);
}
const nl = /^-?\d+(?:\.\d+)?(\S+)?/;
function Ei(t, e) {
var i;
for (const s of t) {
const n = (i = s.match) == null ? void 0 : i.call(s, nl);
if (n) return n[1];
}
return e;
}
function Je(t, e, i) {
const s = t.style[e], n = c(c(t, e, i), e);
return t.style[e] = s, n;
}
function co(t, e) {
return t.reduce((i, s) => (i[s] = e, i), {});
}
function uo(t, e) {
return e >= 0 ? Math.pow(t, e + 1) : 1 - Math.pow(1 - t, 1 - e);
}
var ol = {
mixins: [ oo ],
props: {
target: String,
viewport: Number,
easing: Number,
start: String,
end: String
},
data: {
target: !1,
viewport: 1,
easing: 1,
start: 0,
end: 0
},
computed: {
target: ({target: t}, e) => fo(t && J(t, e) || e),
start({start: t}) {
return U(t, "height", this.target, !0);
},
end({end: t, viewport: e}) {
return U(t || (e = (1 - e) * 100) && `${e}vh+${e}%`, "height", this.target, !0);
}
},
observe: [ gs(), We({
target: ({target: t}) => t
}), ct({
target: ({$el: t, target: e}) => [ t, e, Dt(e, !0) ]
}) ],
update: {
read({percent: t}, e) {
if (e.has("scroll") || (t = !1), !q(this.$el)) return !1;
if (!this.matchMedia) return;
const i = t;
return t = uo(bi(this.target, this.start, this.end), this.easing), {
percent: t,
style: i === t ? !1 : this.getCss(t)
};
},
write({style: t}) {
if (!this.matchMedia) {
this.reset();
return;
}
t && c(this.$el, t);
},
events: [ "scroll", "resize" ]
}
};
function fo(t) {
return t ? "offsetTop" in t ? t : fo(P(t)) : document.documentElement;
}
var po = {
props: {
parallax: Boolean,
parallaxTarget: Boolean,
parallaxStart: String,
parallaxEnd: String,
parallaxEasing: Number
},
data: {
parallax: !1,
parallaxTarget: !1,
parallaxStart: 0,
parallaxEnd: 0,
parallaxEasing: 0
},
observe: [ ct({
target: ({$el: t, parallaxTarget: e}) => [ t, e ],
filter: ({parallax: t}) => t
}), We({
filter: ({parallax: t}) => t
}) ],
computed: {
parallaxTarget({parallaxTarget: t}, e) {
return t && J(t, e) || this.list;
}
},
update: {
write() {
if (!this.parallax) return;
const t = this.parallaxTarget, e = U(this.parallaxStart, "height", t, !0), i = U(this.parallaxEnd, "height", t, !0), s = uo(bi(t, e, i), this.parallaxEasing), [n, o] = this.getIndexAt(s), r = this.getValidIndex(n + Math.ceil(o)), a = this.slides[n], l = this.slides[r], {triggerShow: h, triggerShown: u, triggerHide: d, triggerHidden: f} = rl(this);
if (~this.prevIndex) for (const x of new Set([ this.index, this.prevIndex ])) m([ r, n ], x) || (d(this.slides[x]),
f(this.slides[x]));
const v = this.prevIndex !== n || this.index !== r;
this.dir = 1, this.prevIndex = n, this.index = r, a !== l && d(a), h(l), v && u(a),
this._translate(a === l ? 1 : o, a, l);
},
events: [ "scroll", "resize" ]
},
methods: {
getIndexAt(t) {
const e = t * (this.length - 1);
return [ Math.floor(e), e % 1 ];
}
}
};
function rl(t) {
const {clsSlideActive: e, clsEnter: i, clsLeave: s} = t;
return {
triggerShow: n,
triggerShown: o,
triggerHide: r,
triggerHidden: a
};
function n(l) {
y(l, s) && (r(l), a(l)), y(l, e) || (g(l, "beforeitemshow", [ t ]), g(l, "itemshow", [ t ]));
}
function o(l) {
y(l, i) && g(l, "itemshown", [ t ]);
}
function r(l) {
y(l, e) || n(l), y(l, i) && o(l), y(l, s) || (g(l, "beforeitemhide", [ t ]), g(l, "itemhide", [ t ]));
}
function a(l) {
y(l, s) && g(l, "itemhidden", [ t ]);
}
}
var go = {
update: {
write() {
if (this.stack.length || this.dragging || this.parallax) return;
const t = this.getValidIndex();
!~this.prevIndex || this.index !== t ? this.show(t) : this._translate(1, this.prevIndex, this.index);
},
events: [ "resize" ]
}
}, mo = {
observe: Le({
target: ({slides: t}) => t,
targets: t => t.getAdjacentSlides()
}),
methods: {
getAdjacentSlides() {
return [ 1, -1 ].map(t => this.slides[this.getIndex(this.index + t)]);
}
}
};
function al(t, e, i, {center: s, easing: n, list: o}) {
const r = t ? Ke(t, o, s) : Ke(e, o, s) + w(e).width * i, a = e ? Ke(e, o, s) : r + w(t).width * i * (V ? -1 : 1);
let l;
return {
dir: i,
show(h, u = 0, d) {
const f = d ? "linear" : n;
return h -= Math.round(h * tt(u, -1, 1)), this.translate(u), u = t ? u : tt(u, 0, 1),
Ps(this.getItemIn(), "itemin", {
percent: u,
duration: h,
timing: f,
dir: i
}), t && Ps(this.getItemIn(!0), "itemout", {
percent: 1 - u,
duration: h,
timing: f,
dir: i
}), new Promise(v => {
l || (l = v), D.start(o, {
transform: W(-a * (V ? -1 : 1), "px")
}, h, f).then(l, A);
});
},
cancel() {
return D.cancel(o);
},
reset() {
c(o, "transform", "");
},
async forward(h, u = this.percent()) {
return await this.cancel(), this.show(h, u, !0);
},
translate(h) {
const u = this.getDistance() * i * (V ? -1 : 1);
c(o, "transform", W(tt(-a + (u - u * h), -be(o), w(o).width) * (V ? -1 : 1), "px"));
const d = this.getActives(), f = this.getItemIn(), v = this.getItemIn(!0);
h = t ? tt(h, -1, 1) : 0;
for (const x of B(o)) {
const C = m(d, x), M = x === f, wt = x === v, Qe = M || !wt && (C || i * (V ? -1 : 1) === -1 ^ Pi(x, o) > Pi(t || e));
Ps(x, `itemtranslate${Qe ? "in" : "out"}`, {
dir: i,
percent: wt ? 1 - h : M ? h : C ? 1 : 0
});
}
},
percent() {
return Math.abs((c(o, "transform").split(",")[4] * (V ? -1 : 1) + r) / (a - r));
},
getDistance() {
return Math.abs(a - r);
},
getItemIn(h = !1) {
let u = this.getActives(), d = wo(o, Ke(e || t, o, s));
if (h) {
const f = u;
u = d, d = f;
}
return d[bt(d, f => !m(u, f))];
},
getActives() {
return wo(o, Ke(t || e, o, s));
}
};
}
function Ke(t, e, i) {
const s = Pi(t, e);
return i ? s - ll(t, e) : Math.min(s, vo(e));
}
function vo(t) {
return Math.max(0, be(t) - w(t).width);
}
function be(t, e) {
return zt(B(t).slice(0, e), i => w(i).width);
}
function ll(t, e) {
return w(e).width / 2 - w(t).width / 2;
}
function Pi(t, e) {
return t && (is(t).left + (V ? w(t).width - w(e).width : 0)) * (V ? -1 : 1) || 0;
}
function wo(t, e) {
e -= 1;
const i = w(t).width, s = e + i + 2;
return B(t).filter(n => {
const o = Pi(n, t), r = o + Math.min(w(n).width, i);
return o >= e && r <= s;
});
}
function Ps(t, e, i) {
g(t, Ht(e, !1, !1, i));
}
var hl = {
mixins: [ et, Jn, go, po, mo ],
props: {
center: Boolean,
sets: Boolean,
active: String
},
data: {
center: !1,
sets: !1,
attrItem: "uc-slider-item",
selList: ".uc-slider-items",
selNav: ".uc-slider-nav",
clsContainer: "uc-slider-container",
active: "all",
Transitioner: al
},
computed: {
finite({finite: t}) {
return t || cl(this.list, this.center);
},
maxIndex() {
if (!this.finite || this.center && !this.sets) return this.length - 1;
if (this.center) return Bt(this.sets);
let t = 0;
const e = vo(this.list), i = bt(this.slides, s => {
if (t >= e) return !0;
t += w(s).width;
});
return ~i ? i : this.length - 1;
},
sets({sets: t}) {
if (!t || this.parallax) return;
let e = 0;
const i = [], s = w(this.list).width;
for (let n = 0; n < this.length; n++) {
const o = w(this.slides[n]).width;
e + o > s && (e = 0), this.center ? e < s / 2 && e + o + w(this.slides[ot(+n + 1, this.slides)]).width / 2 > s / 2 && (i.push(+n),
e = s / 2 - o / 2) : e === 0 && i.push(Math.min(+n, this.maxIndex)), e += o;
}
if (i.length) return i;
},
transitionOptions() {
return {
center: this.center,
list: this.list
};
},
slides() {
return B(this.list).filter(q);
}
},
connected() {
j(this.$el, this.clsContainer, !k(`.${this.clsContainer}`, this.$el));
},
observe: ct({
target: ({slides: t}) => t
}),
update: {
write() {
for (const t of this.navItems) {
const e = $t(G(t, this.attrItem));
e !== !1 && (t.hidden = !this.maxIndex || e > this.maxIndex || this.sets && !m(this.sets, e));
}
this.reorder(), this.updateActiveClasses();
},
events: [ "resize" ]
},
events: {
beforeitemshow(t) {
!this.dragging && this.sets && this.stack.length < 2 && !m(this.sets, this.index) && (this.index = this.getValidIndex());
const e = Math.abs(this.index - this.prevIndex + (this.dir > 0 && this.index < this.prevIndex || this.dir < 0 && this.index > this.prevIndex ? (this.maxIndex + 1) * this.dir : 0));
if (!this.dragging && e > 1) {
for (let n = 0; n < e; n++) this.stack.splice(1, 0, this.dir > 0 ? "next" : "previous");
t.preventDefault();
return;
}
const i = this.dir < 0 || !this.slides[this.prevIndex] ? this.index : this.prevIndex, s = be(this.list) / this.length;
this.duration = Kn(s / this.velocity) * (w(this.slides[i]).width / s), this.reorder();
},
itemshow() {
~this.prevIndex && $(this._getTransitioner().getItemIn(), this.clsActive), this.updateActiveClasses(this.prevIndex);
},
itemshown() {
this.updateActiveClasses();
}
},
methods: {
reorder() {
if (this.finite) {
c(this.slides, "order", "");
return;
}
const t = this.dir > 0 && this.slides[this.prevIndex] ? this.prevIndex : this.index;
if (this.slides.forEach((n, o) => c(n, "order", this.dir > 0 && o < t ? 1 : this.dir < 0 && o >= this.index ? -1 : "")),
!this.center) return;
const e = this.slides[t];
let i = w(this.list).width / 2 - w(e).width / 2, s = 0;
for (;i > 0; ) {
const n = this.getIndex(--s + t, t), o = this.slides[n];
c(o, "order", n > t ? -2 : -1), i -= w(o).width;
}
},
updateActiveClasses(t = this.index) {
let e = this._getTransitioner(t).getActives();
this.active !== "all" && (e = [ this.slides[this.getValidIndex(t)] ]);
const i = [ this.clsActive, !this.sets || m(this.sets, S(this.index)) ? this.clsActivated : "" ];
for (const s of this.slides) {
const n = m(e, s);
j(s, i, n), p(s, "aria-hidden", !n);
for (const o of z(Ee, s)) gt(o, "_tabindex") || (o._tabindex = p(o, "tabindex")),
p(o, "tabindex", n ? o._tabindex : -1);
}
},
getValidIndex(t = this.index, e = this.prevIndex) {
if (t = this.getIndex(t, e), !this.sets) return t;
let i;
do {
if (m(this.sets, t)) return t;
i = t, t = this.getIndex(t + this.dir, e);
} while (t !== i);
return t;
},
getAdjacentSlides() {
const {width: t} = w(this.list), e = -t, i = t * 2, s = w(this.slides[this.index]).width, n = this.center ? t / 2 - s / 2 : 0, o = new Set;
for (const r of [ -1, 1 ]) {
let a = n + (r > 0 ? s : 0), l = 0;
do {
const h = this.slides[this.getIndex(this.index + r + l++ * r)];
a += w(h).width * r, o.add(h);
} while (this.length > l && a > e && a < i);
}
return Array.from(o);
},
getIndexAt(t) {
let e = -1;
const i = this.center ? be(this.list) - (w(this.slides[0]).width / 2 + w(Bt(this.slides)).width / 2) : be(this.list, this.maxIndex);
let s = t * i, n = 0;
do {
const o = w(this.slides[++e]).width, r = this.center ? o / 2 + w(this.slides[e + 1]).width / 2 : o;
n = s / r % 1, s -= r;
} while (s >= 0 && e < this.maxIndex);
return [ e, n ];
}
}
};
function cl(t, e) {
if (!t || t.length < 2) return !0;
const {width: i} = w(t);
if (!e) return Math.ceil(be(t)) < Math.trunc(i + ul(t));
const s = B(t), n = Math.trunc(i / 2);
for (const o in s) {
const r = s[o], a = w(r).width, l = new Set([ r ]);
let h = 0;
for (const u of [ -1, 1 ]) {
let d = a / 2, f = 0;
for (;d < n; ) {
const v = s[ot(+o + u + f++ * u, s)];
if (l.has(v)) return !0;
d += w(v).width, l.add(v);
}
h = Math.max(h, a / 2 + w(s[ot(+o + u, s)]).width / 2 - (d - n));
}
if (Math.trunc(h) > zt(s.filter(u => !l.has(u)), u => w(u).width)) return !0;
}
return !1;
}
function ul(t) {
return Math.max(0, ...B(t).map(e => w(e).width));
}
var bo = {
mixins: [ oo ],
data: {
selItem: "!li"
},
beforeConnect() {
this.item = J(this.selItem, this.$el);
},
disconnected() {
this.item = null;
},
events: [ {
name: "itemin itemout",
self: !0,
el() {
return this.item;
},
handler({type: t, detail: {percent: e, duration: i, timing: s, dir: n}}) {
K.read(() => {
if (!this.matchMedia) return;
const o = this.getCss($o(t, n, e)), r = this.getCss(xo(t) ? .5 : n > 0 ? 1 : 0);
K.write(() => {
c(this.$el, o), D.start(this.$el, r, i, s).catch(A);
});
});
}
}, {
name: "transitioncanceled transitionend",
self: !0,
el() {
return this.item;
},
handler() {
D.cancel(this.$el);
}
}, {
name: "itemtranslatein itemtranslateout",
self: !0,
el() {
return this.item;
},
handler({type: t, detail: {percent: e, dir: i}}) {
K.read(() => {
if (!this.matchMedia) {
this.reset();
return;
}
const s = this.getCss($o(t, i, e));
K.write(() => c(this.$el, s));
});
}
} ]
};
function xo(t) {
return ee(t, "in");
}
function $o(t, e, i) {
return i /= 2, xo(t) ^ e < 0 ? i : 1 - i;
}
var dl = {
...ys,
fade: {
show() {
return [ {
opacity: 0,
zIndex: 0
}, {
zIndex: -1
} ];
},
percent(t) {
return 1 - c(t, "opacity");
},
translate(t) {
return [ {
opacity: 1 - t,
zIndex: 0
}, {
zIndex: -1
} ];
}
},
scale: {
show() {
return [ {
opacity: 0,
transform: pe(1 + .5),
zIndex: 0
}, {
zIndex: -1
} ];
},
percent(t) {
return 1 - c(t, "opacity");
},
translate(t) {
return [ {
opacity: 1 - t,
transform: pe(1 + .5 * t),
zIndex: 0
}, {
zIndex: -1
} ];
}
},
pull: {
show(t) {
return t < 0 ? [ {
transform: W(30),
zIndex: -1
}, {
transform: W(),
zIndex: 0
} ] : [ {
transform: W(-100),
zIndex: 0
}, {
transform: W(),
zIndex: -1
} ];
},
percent(t, e, i) {
return i < 0 ? 1 - qe(e) : qe(t);
},
translate(t, e) {
return e < 0 ? [ {
transform: W(30 * t),
zIndex: -1
}, {
transform: W(-100 * (1 - t)),
zIndex: 0
} ] : [ {
transform: W(-t * 100),
zIndex: 0
}, {
transform: W(30 * (1 - t)),
zIndex: -1
} ];
}
},
push: {
show(t) {
return t < 0 ? [ {
transform: W(100),
zIndex: 0
}, {
transform: W(),
zIndex: -1
} ] : [ {
transform: W(-30),
zIndex: -1
}, {
transform: W(),
zIndex: 0
} ];
},
percent(t, e, i) {
return i > 0 ? 1 - qe(e) : qe(t);
},
translate(t, e) {
return e < 0 ? [ {
transform: W(t * 100),
zIndex: 0
}, {
transform: W(-30 * (1 - t)),
zIndex: -1
} ] : [ {
transform: W(-30 * t),
zIndex: -1
}, {
transform: W(100 * (1 - t)),
zIndex: 0
} ];
}
}
}, fl = {
mixins: [ et, Zn, go, po, mo ],
props: {
ratio: String,
minHeight: String,
maxHeight: String
},
data: {
ratio: "16:9",
minHeight: void 0,
maxHeight: void 0,
selList: ".uc-slideshow-items",
attrItem: "uc-slideshow-item",
selNav: ".uc-slideshow-nav",
Animations: dl
},
watch: {
list(t) {
c(t, {
aspectRatio: this.ratio ? this.ratio.replace(":", "/") : void 0,
minHeight: this.minHeight,
maxHeight: this.maxHeight,
minWidth: "100%",
maxWidth: "100%"
});
}
},
methods: {
getAdjacentSlides() {
return [ 1, -1 ].map(t => this.slides[this.getIndex(this.index + t)]);
}
}
}, pl = {
mixins: [ et, _n ],
props: {
group: String,
threshold: Number,
clsItem: String,
clsPlaceholder: String,
clsDrag: String,
clsDragState: String,
clsBase: String,
clsNoDrag: String,
clsEmpty: String,
clsCustom: String,
handle: String
},
data: {
group: !1,
threshold: 5,
clsItem: "uc-sortable-item",
clsPlaceholder: "uc-sortable-placeholder",
clsDrag: "uc-sortable-drag",
clsDragState: "uc-drag",
clsBase: "uc-sortable",
clsNoDrag: "uc-sortable-nodrag",
clsEmpty: "uc-sortable-empty",
clsCustom: "",
handle: !1,
pos: {}
},
created() {
for (const t of [ "init", "start", "move", "end" ]) {
const e = this[t];
this[t] = i => {
mt(this.pos, _t(i)), e(i);
};
}
},
events: {
name: ft,
passive: !1,
handler: "init"
},
computed: {
target: (t, e) => (e.tBodies || [ e ])[0],
items() {
return B(this.target);
},
isEmpty() {
return !this.items.length;
},
handles({handle: t}, e) {
return t ? z(t, e) : this.items;
}
},
watch: {
isEmpty(t) {
j(this.target, this.clsEmpty, t);
},
handles(t, e) {
c(e, {
touchAction: "",
userSelect: ""
}), c(t, {
touchAction: "none",
userSelect: "none"
});
}
},
update: {
write(t) {
if (!this.drag || !P(this.placeholder)) return;
const {pos: {x: e, y: i}, origin: {offsetTop: s, offsetLeft: n}, placeholder: o} = this;
c(this.drag, {
top: i - s,
left: e - n
});
const r = this.getSortable(document.elementFromPoint(e, i));
if (!r) return;
const {items: a} = r;
if (a.some(D.inProgress)) return;
const l = wl(a, {
x: e,
y: i
});
if (a.length && (!l || l === o)) return;
const h = this.getSortable(o), u = bl(r.target, l, o, e, i, r === h && t.moved !== l);
u !== !1 && (u && o === u || (r !== h ? (h.remove(o), t.moved = l) : delete t.moved,
r.insert(o, u), this.touched.add(r)));
},
events: [ "move" ]
},
methods: {
init(t) {
const {target: e, button: i, defaultPrevented: s} = t, [n] = this.items.filter(o => o.contains(e));
!n || s || i > 0 || Ui(e) || e.closest(`.${this.clsNoDrag}`) || this.handle && !e.closest(this.handle) || (t.preventDefault(),
this.touched = new Set([ this ]), this.placeholder = n, this.origin = {
target: e,
index: Et(n),
...this.pos
}, b(document, gi, this.move), b(document, Ot, this.end), this.threshold || this.start(t));
},
start(t) {
this.drag = vl(this.$container, this.placeholder);
const {left: e, top: i} = w(this.placeholder);
mt(this.origin, {
offsetLeft: this.pos.x - e,
offsetTop: this.pos.y - i
}), $(this.drag, this.clsDrag, this.clsCustom), $(this.placeholder, this.clsPlaceholder),
$(this.items, this.clsItem), $(document.documentElement, this.clsDragState), g(this.$el, "start", [ this, this.placeholder ]),
gl(this.pos), this.move(t);
},
move(t) {
this.drag ? this.$emit("move") : (Math.abs(this.pos.x - this.origin.x) > this.threshold || Math.abs(this.pos.y - this.origin.y) > this.threshold) && this.start(t);
},
end() {
if (Pt(document, gi, this.move), Pt(document, Ot, this.end), !this.drag) return;
ml();
const t = this.getSortable(this.placeholder);
this === t ? this.origin.index !== Et(this.placeholder) && g(this.$el, "moved", [ this, this.placeholder ]) : (g(t.$el, "added", [ t, this.placeholder ]),
g(this.$el, "removed", [ this, this.placeholder ])), g(this.$el, "stop", [ this, this.placeholder ]),
at(this.drag), this.drag = null;
for (const {clsPlaceholder: e, clsItem: i} of this.touched) for (const s of this.touched) O(s.items, e, i);
this.touched = null, O(document.documentElement, this.clsDragState);
},
insert(t, e) {
$(this.items, this.clsItem);
const i = () => e ? hi(e, t) : L(this.target, t);
this.animate(i);
},
remove(t) {
this.target.contains(t) && this.animate(() => at(t));
},
getSortable(t) {
do {
const e = this.$getComponent(t, "sortable");
if (e && (e === this || this.group !== !1 && e.group === this.group)) return e;
} while (t = P(t));
}
}
};
let yo;
function gl(t) {
let e = Date.now();
yo = setInterval(() => {
let {x: i, y: s} = t;
s += document.scrollingElement.scrollTop;
const n = (Date.now() - e) * .3;
e = Date.now(), qt(document.elementFromPoint(i, t.y)).reverse().some(o => {
let {scrollTop: r, scrollHeight: a} = o;
const {top: l, bottom: h, height: u} = lt(o);
if (l < s && l + 35 > s) r -= n; else if (h > s && h - 35 < s) r += n; else return;
if (r > 0 && r < a - u) return o.scrollTop = r, !0;
});
}, 15);
}
function ml() {
clearInterval(yo);
}
function vl(t, e) {
let i;
if (R(e, "li", "tr")) {
i = k(""), L(i, e.cloneNode(!0).children);
for (const s of e.getAttributeNames()) p(i, s, e.getAttribute(s));
} else i = e.cloneNode(!0);
return L(t, i), c(i, "margin", "0", "important"), c(i, {
boxSizing: "border-box",
width: e.offsetWidth,
height: e.offsetHeight,
padding: c(e, "padding")
}), st(i.firstElementChild, st(e.firstElementChild)), i;
}
function wl(t, e) {
return t[bt(t, i => si(e, w(i)))];
}
function bl(t, e, i, s, n, o) {
if (!B(t).length) return;
const r = w(e);
if (!o) return xl(t, i) || n < r.top + r.height / 2 ? e : e.nextElementSibling;
const a = w(i), l = ko([ r.top, r.bottom ], [ a.top, a.bottom ]), [h, u, d, f] = l ? [ s, "width", "left", "right" ] : [ n, "height", "top", "bottom" ], v = a[u] < r[u] ? r[u] - a[u] : 0;
return a[d] < r[d] ? v && h < r[d] + v ? !1 : e.nextElementSibling : v && h > r[f] - v ? !1 : e;
}
function xl(t, e) {
const i = B(t).length === 1;
i && L(t, e);
const s = B(t), n = s.some((o, r) => {
const a = w(o);
return s.slice(r + 1).some(l => {
const h = w(l);
return !ko([ a.left, a.right ], [ h.left, h.right ]);
});
});
return i && at(e), n;
}
function ko(t, e) {
return t[1] > e[0] && e[1] > t[0];
}
var So = {
props: {
pos: String,
offset: null,
flip: Boolean,
shift: Boolean,
inset: Boolean
},
data: {
pos: `bottom-${V ? "right" : "left"}`,
offset: !1,
flip: !0,
shift: !0,
inset: !1
},
connected() {
this.pos = this.$props.pos.split("-").concat("center").slice(0, 2), [this.dir, this.align] = this.pos,
this.axis = m([ "top", "bottom" ], this.dir) ? "y" : "x";
},
methods: {
positionAt(t, e, i) {
let s = [ this.getPositionOffset(t), this.getShiftOffset(t) ];
const n = [ this.flip && "flip", this.shift && "shift" ], o = {
element: [ this.inset ? this.dir : pi(this.dir), this.align ],
target: [ this.dir, this.align ]
};
if (this.axis === "y") {
for (const l in o) o[l].reverse();
s.reverse(), n.reverse();
}
const r = $l(t), a = w(t);
c(t, {
top: -a.height,
left: -a.width
}), fn(t, e, {
attach: o,
offset: s,
boundary: i,
placement: n,
viewportOffset: this.getViewportOffset(t)
}), r();
},
getPositionOffset(t = this.$el) {
return U(this.offset === !1 ? c(t, "--uc-position-offset") : this.offset, this.axis === "x" ? "width" : "height", t) * (m([ "left", "top" ], this.dir) ? -1 : 1) * (this.inset ? -1 : 1);
},
getShiftOffset(t = this.$el) {
return this.align === "center" ? 0 : U(c(t, "--uc-position-shift-offset"), this.axis === "y" ? "width" : "height", t) * (m([ "left", "top" ], this.align) ? 1 : -1);
},
getViewportOffset(t) {
return U(c(t, "--uc-position-viewport-offset"));
}
}
};
function $l(t) {
const e = Dt(t), {scrollTop: i} = e;
return () => {
i !== e.scrollTop && (e.scrollTop = i);
};
}
var yl = {
mixins: [ Re, Vt, So ],
data: {
pos: "top",
animation: [ "uc-animation-scale-up" ],
duration: 100,
cls: "uc-active"
},
connected() {
kl(this.$el);
},
disconnected() {
this.hide();
},
methods: {
show() {
if (this.isToggled(this.tooltip || null)) return;
const {delay: t = 0, title: e} = Il(this.$options);
if (!e) return;
const i = p(this.$el, "title"), s = b(this.$el, [ "blur", Ne ], o => !yt(o) && this.hide());
this.reset = () => {
p(this.$el, {
title: i,
"aria-describedby": null
}), s();
};
const n = Gt(this);
p(this.$el, {
title: null,
"aria-describedby": n
}), clearTimeout(this.showTimer), this.showTimer = setTimeout(() => this._show(e, n), t);
},
async hide() {
var t;
E(this.$el, "input:focus") || (clearTimeout(this.showTimer), this.isToggled(this.tooltip || null) && await this.toggleElement(this.tooltip, !1, !1),
(t = this.reset) == null || t.call(this), at(this.tooltip), this.tooltip = null);
},
async _show(t, e) {
this.tooltip = L(this.container, `
`),
b(this.tooltip, "toggled", (i, s) => {
if (!s) return;
const n = () => this.positionAt(this.tooltip, this.$el);
n();
const [o, r] = Sl(this.tooltip, this.$el, this.pos);
this.origin = this.axis === "y" ? `${pi(o)}-${r}` : `${r}-${pi(o)}`;
const a = [ H(document, `keydown ${ft}`, this.hide, !1, l => l.type === ft && !this.$el.contains(l.target) || l.type === "keydown" && l.keyCode === _.ESC), b([ document, ...Ut(this.$el) ], "scroll", n, {
passive: !0
}) ];
H(this.tooltip, "hide", () => a.forEach(l => l()), {
self: !0
});
}), await this.toggleElement(this.tooltip, !0) || this.hide();
}
},
events: {
[`focus ${ue} ${ft}`](t) {
(!yt(t) || t.type === ft) && this.show();
}
}
};
function kl(t) {
oi(t) || p(t, "tabindex", "0");
}
function Sl(t, e, [i, s]) {
const n = I(t), o = I(e), r = [ [ "left", "right" ], [ "top", "bottom" ] ];
for (const l of r) {
if (n[l[0]] >= o[l[1]]) {
i = l[1];
break;
}
if (n[l[1]] <= o[l[0]]) {
i = l[0];
break;
}
}
return s = (m(r[0], i) ? r[1] : r[0]).find(l => n[l] === o[l]) || "center", [ i, s ];
}
function Il(t) {
const {el: e, id: i, data: s} = t;
return [ "delay", "title" ].reduce((n, o) => ({
[o]: G(e, o),
...n
}), {
...fe(G(e, i), [ "title" ]),
...s
});
}
var Cl = {
mixins: [ ki ],
i18n: {
invalidMime: "Invalid File Type: %s",
invalidName: "Invalid File Name: %s",
invalidSize: "Invalid File Size: %s Kilobytes Max"
},
props: {
allow: String,
clsDragover: String,
concurrent: Number,
maxSize: Number,
method: String,
mime: String,
multiple: Boolean,
name: String,
params: Object,
type: String,
url: String
},
data: {
allow: !1,
clsDragover: "uc-dragover",
concurrent: 1,
maxSize: 0,
method: "POST",
mime: !1,
multiple: !1,
name: "files[]",
params: {},
type: "",
url: "",
abort: A,
beforeAll: A,
beforeSend: A,
complete: A,
completeAll: A,
error: A,
fail: A,
load: A,
loadEnd: A,
loadStart: A,
progress: A
},
events: {
change(t) {
E(t.target, 'input[type="file"]') && (t.preventDefault(), t.target.files && this.upload(t.target.files),
t.target.value = "");
},
drop(t) {
_i(t);
const e = t.dataTransfer;
e != null && e.files && (O(this.$el, this.clsDragover), this.upload(e.files));
},
dragenter(t) {
_i(t);
},
dragover(t) {
_i(t), $(this.$el, this.clsDragover);
},
dragleave(t) {
_i(t), O(this.$el, this.clsDragover);
}
},
methods: {
async upload(t) {
if (t = It(t), !t.length) return;
g(this.$el, "upload", [ t ]);
for (const s of t) {
if (this.maxSize && this.maxSize * 1e3 < s.size) {
this.fail(this.t("invalidSize", this.maxSize));
return;
}
if (this.allow && !Io(this.allow, s.name)) {
this.fail(this.t("invalidName", this.allow));
return;
}
if (this.mime && !Io(this.mime, s.type)) {
this.fail(this.t("invalidMime", this.mime));
return;
}
}
this.multiple || (t = t.slice(0, 1)), this.beforeAll(this, t);
const e = Tl(t, this.concurrent), i = async s => {
const n = new FormData;
s.forEach(o => n.append(this.name, o));
for (const o in this.params) n.append(o, this.params[o]);
try {
const o = await El(this.url, {
data: n,
method: this.method,
responseType: this.type,
beforeSend: r => {
const {xhr: a} = r;
b(a.upload, "progress", this.progress);
for (const l of [ "loadStart", "load", "loadEnd", "abort" ]) b(a, l.toLowerCase(), this[l]);
return this.beforeSend(r);
}
});
this.complete(o), e.length ? await i(e.shift()) : this.completeAll(o);
} catch (o) {
this.error(o);
}
};
await i(e.shift());
}
}
};
function Io(t, e) {
return e.match(new RegExp(`^${t.replace(/\//g, "\\/").replace(/\*\*/g, "(\\/[^\\/]+)*").replace(/\*/g, "[^\\/]+").replace(/((?!\\))\?/g, "$1.")}$`, "i"));
}
function Tl(t, e) {
const i = [];
for (let s = 0; s < t.length; s += e) i.push(t.slice(s, s + e));
return i;
}
function _i(t) {
t.preventDefault(), t.stopPropagation();
}
function El(t, e) {
const i = {
data: null,
method: "GET",
headers: {},
xhr: new XMLHttpRequest,
beforeSend: A,
responseType: "",
...e
};
return Promise.resolve().then(() => i.beforeSend(i)).then(() => Pl(t, i));
}
function Pl(t, e) {
return new Promise((i, s) => {
const {xhr: n} = e;
for (const o in e) if (o in n) try {
n[o] = e[o];
} catch {}
n.open(e.method.toUpperCase(), t);
for (const o in e.headers) n.setRequestHeader(o, e.headers[o]);
b(n, "load", () => {
n.status === 0 || n.status >= 200 && n.status < 300 || n.status === 304 ? i(n) : s(mt(Error(n.statusText), {
xhr: n,
status: n.status
}));
}), b(n, "error", () => s(mt(Error("Network Error"), {
xhr: n
}))), b(n, "timeout", () => s(mt(Error("Network Timeout"), {
xhr: n
}))), n.send(e.data);
});
}
var _l = {
connected() {
var t;
this.registerObserver(de(((t = this.$options.resizeTargets) == null ? void 0 : t.call(this)) || this.$el, () => this.$emit("resize")));
}
}, Al = {
mixins: [ et, ve, _l ],
props: {
...Object.fromEntries([ "duration", "x", "y", "translateX", "translateY", "color", "background" ].map(t => [ t, null ])),
y: "list"
},
setup(t) {
const e = t.x, i = t.y;
console.log(e, i);
},
data: {
animation: void 0
},
computed: {
animeOptions(t) {
return {
...t,
color: void 0
};
}
},
connected() {
this.animation = te(this.animeOptions), this.animation.pause();
},
disconnected() {
re(this.wrapper.childNodes);
},
update: {
read() {
return {
hide: !this.matchMedia
};
},
write({hide: t}) {
t ? "reset" in this.animation && typeof this.animation.reset == "function" && this.animation.reset() : this.animation.restart();
},
events: [ "resize" ]
}
}, Ol = Object.freeze({
__proto__: null,
Anime: Al,
Countdown: jr,
Filter: na,
Lightbox: Ga,
LightboxPanel: to,
Notification: Ka,
Parallax: ol,
Slider: hl,
SliderParallax: bo,
Slideshow: fl,
SlideshowParallax: bo,
Sortable: pl,
Tooltip: yl,
Upload: Cl
});
function Dl(t) {
le && window.MutationObserver && (document.body ? requestAnimationFrame(() => Co(t)) : new MutationObserver((e, i) => {
document.body && (Co(t), i.disconnect());
}).observe(document.documentElement, {
childList: !0
}));
}
function Co(t) {
g(document, "uikit:init", t), document.body && kt(document.body, To), new MutationObserver(e => e.forEach(Ml)).observe(document, {
subtree: !0,
childList: !0
}), new MutationObserver(e => e.forEach(Bl)).observe(document, {
subtree: !0,
attributes: !0
}), t._initialized = !0;
}
function Ml({addedNodes: t, removedNodes: e}) {
for (const i of t) kt(i, To);
for (const i of e) kt(i, Nl);
}
function Bl({target: t, attributeName: e}) {
var i;
const s = Eo(e);
if (s) {
if (Tt(t, e)) {
Ye(s, t);
return;
}
(i = Si(t, s)) == null || i.$destroy();
}
}
function To(t) {
const e = Xt(t);
for (const i in Xt(t)) Is(e[i]);
for (const i of t.getAttributeNames()) {
const s = Eo(i);
s && Ye(s, t);
}
}
function Nl(t) {
const e = Xt(t);
for (const i in Xt(t)) Cs(e[i]);
}
function Eo(t) {
dt(t, "data-") && (t = t.slice(5));
const e = me[t];
return e && (xt(e) ? e : e.options).name;
}
qa(ut), Ua(ut);
var Po = {
mixins: [ et, Vt ],
props: {
animation: Boolean,
targets: String,
active: null,
collapsible: Boolean,
multiple: Boolean,
toggle: String,
content: String,
offset: Number
},
data: {
targets: "> *",
active: !1,
animation: !0,
collapsible: !0,
multiple: !1,
clsOpen: "uc-open",
toggle: "> .uc-accordion-title",
content: "> .uc-accordion-content",
offset: 0
},
computed: {
items: ({targets: t}, e) => z(t, e),
toggles({toggle: t}) {
return this.items.map(e => k(t, e));
},
contents({content: t}) {
return this.items.map(e => {
var i;
return ((i = e._wrapper) == null ? void 0 : i.firstElementChild) || k(t, e);
});
}
},
watch: {
items(t, e) {
if (e || y(t, this.clsOpen)) return;
const i = this.active !== !1 && t[Number(this.active)] || !this.collapsible && t[0];
i && this.toggle(i, !1);
},
toggles() {
this.$emit();
},
contents(t) {
for (const e of t) {
const i = y(this.items.find(s => s.contains(e)), this.clsOpen);
Ai(e, !i);
}
this.$emit();
}
},
observe: Le(),
events: [ {
name: "click keydown",
delegate() {
return `${this.targets} ${this.$props.toggle}`;
},
async handler(t) {
var e;
t.type === "keydown" && t.keyCode !== _.SPACE || (t.preventDefault(), (e = this._off) == null || e.call(this),
this._off = Fl(t.target), await this.toggle(Et(this.toggles, t.current)), this._off());
}
}, {
name: "shown hidden",
self: !0,
delegate() {
return this.targets;
},
handler() {
this.$emit();
}
} ],
update() {
const t = Pe(this.items, `.${this.clsOpen}`);
for (const e in this.items) {
const i = this.toggles[e], s = this.contents[e];
if (!i || !s) continue;
i.id = Gt(this, i), s.id = Gt(this, s);
const n = m(t, this.items[e]);
p(i, {
role: R(i, "a") ? "button" : null,
"aria-controls": s.id,
"aria-expanded": n,
"aria-disabled": !this.collapsible && t.length < 2 && n
}), p(s, {
role: "region",
"aria-labelledby": i.id
}), R(s, "ul") && p(B(s), "role", "presentation");
}
},
methods: {
toggle(t, e) {
t = this.items[ot(t, this.items)];
let i = [ t ];
const s = Pe(this.items, `.${this.clsOpen}`);
if (!this.multiple && !m(s, i[0]) && (i = i.concat(s)), !(!this.collapsible && s.length < 2 && m(s, t))) return Promise.all(i.map(n => this.toggleElement(n, !m(s, n), (o, r) => {
if (j(o, this.clsOpen, r), e === !1 || !this.animation) {
Ai(k(this.content, o), !r);
return;
}
return zl(o, r, this);
})));
}
}
};
function Ai(t, e) {
t && (t.hidden = e);
}
async function zl(t, e, {content: i, duration: s, velocity: n, transition: o}) {
var r;
i = ((r = t._wrapper) == null ? void 0 : r.firstElementChild) || k(i, t), t._wrapper || (t._wrapper = di(i, "
"));
const a = t._wrapper;
c(a, "overflow", "hidden");
const l = S(c(a, "height"));
await D.cancel(a), Ai(i, !1);
const h = zt([ "marginTop", "marginBottom" ], d => c(i, d)) + w(i).height, u = l / h;
s = (n * h + s) * (e ? 1 - u : u), c(a, "height", l), await D.start(a, {
height: e ? h : 0
}, s, o), re(i), delete t._wrapper, e || Ai(i, !0);
}
function Fl(t) {
const e = Dt(t, !0);
let i;
return function s() {
i = requestAnimationFrame(() => {
const {top: n} = w(t);
n < 0 && (e.scrollTop += n), s();
});
}(), () => requestAnimationFrame(() => cancelAnimationFrame(i));
}
var Hl = {
mixins: [ et, Vt ],
args: "animation",
props: {
animation: Boolean,
close: String
},
data: {
animation: !0,
selClose: ".uc-alert-close",
duration: 150
},
events: {
name: "click",
delegate() {
return this.selClose;
},
handler(t) {
t.preventDefault(), this.close();
}
},
methods: {
async close() {
await this.toggleElement(this.$el, !1, Ll), this.$destroy(!0);
}
}
};
function Ll(t, e, {duration: i, transition: s, velocity: n}) {
const o = S(c(t, "height"));
return c(t, "height", o), D.start(t, {
height: 0,
marginTop: 0,
marginBottom: 0,
paddingTop: 0,
paddingBottom: 0,
borderTop: 0,
borderBottom: 0,
opacity: 0
}, n * o + i, s);
}
var _o = {
args: "autoplay",
props: {
automute: Boolean,
autoplay: Boolean
},
data: {
automute: !1,
autoplay: !0
},
connected() {
this.autoplay === "inview" && !Tt(this.$el, "preload") && (this.$el.preload = "none"),
R(this.$el, "iframe") && !Tt(this.$el, "allow") && (this.$el.allow = "autoplay"),
this.automute && rn(this.$el);
},
observe: [ He({
filter: ({$el: t, autoplay: e}) => e && an(t),
handler([{isIntersecting: t}]) {
document.fullscreenElement || (t ? nn(this.$el) : on(this.$el));
},
args: {
intersecting: !1
},
options: ({$el: t, autoplay: e}) => ({
root: e === "inview" ? null : P(t)
})
}) ]
}, Wl = {
mixins: [ _o ],
props: {
width: Number,
height: Number
},
data: {
automute: !0
},
events: {
"load loadedmetadata"() {
this.$emit("resize");
}
},
observe: ct({
target: ({$el: t}) => [ Ao(t) || P(t) ],
filter: ({$el: t}) => !Oo(t)
}),
update: {
read() {
if (Oo(this.$el)) return;
const {ratio: t, cover: e} = ji, {$el: i, width: s, height: n} = this;
let o = {
width: s,
height: n
};
if (!s || !n) {
const h = {
width: i.naturalWidth || i.videoWidth || i.clientWidth,
height: i.naturalHeight || i.videoHeight || i.clientHeight
};
s ? o = t(h, "width", s) : n ? o = t(h, "height", n) : o = h;
}
const {offsetHeight: r, offsetWidth: a} = Ao(i) || P(i), l = e(o, {
width: a + (a % 2 ? 1 : 0),
height: r + (r % 2 ? 1 : 0)
});
return !l.width || !l.height ? !1 : l;
},
write({height: t, width: e}) {
c(this.$el, {
height: t,
width: e
});
},
events: [ "resize" ]
}
};
function Ao(t) {
for (;t = P(t); ) if (c(t, "position") !== "static") return t;
}
function Oo(t) {
return R(t, "img", "video");
}
let Z;
var Do = {
mixins: [ Re, So, Vt ],
args: "pos",
props: {
mode: "list",
toggle: Boolean,
boundary: Boolean,
boundaryX: Boolean,
boundaryY: Boolean,
target: Boolean,
targetX: Boolean,
targetY: Boolean,
stretch: Boolean,
delayShow: Number,
delayHide: Number,
autoUpdate: Boolean,
clsDrop: String,
animateOut: Boolean,
bgScroll: Boolean,
closeOnScroll: Boolean
},
data: {
mode: [ "click", "hover" ],
toggle: "- *",
boundary: !1,
boundaryX: !1,
boundaryY: !1,
target: !1,
targetX: !1,
targetY: !1,
stretch: !1,
delayShow: 0,
delayHide: 800,
autoUpdate: !0,
clsDrop: !1,
animateOut: !1,
bgScroll: !0,
animation: [ "uc-animation-fade" ],
cls: "uc-open",
container: !1,
closeOnScroll: !1
},
computed: {
boundary({boundary: t, boundaryX: e, boundaryY: i}, s) {
return [ J(e || t, s) || window, J(i || t, s) || window ];
},
target({target: t, targetX: e, targetY: i}, s) {
return e || (e = t || this.targetEl), i || (i = t || this.targetEl), [ e === !0 ? window : J(e, s), i === !0 ? window : J(i, s) ];
}
},
created() {
this.tracker = new Qs;
},
beforeConnect() {
this.clsDrop = this.$props.clsDrop || `uc-${this.$options.name}`;
},
connected() {
$(this.$el, "uc-drop", this.clsDrop), this.toggle && !this.targetEl && (this.targetEl = ql(this)),
this._style = Hi(this.$el.style, [ "width", "height" ]);
},
disconnected() {
this.isActive() && (this.hide(!1), Z = null), c(this.$el, this._style);
},
observe: Le({
target: ({toggle: t, $el: e}) => J(t, e),
targets: ({$el: t}) => t
}),
events: [ {
name: "click",
delegate() {
return ".uc-drop-close";
},
handler(t) {
t.preventDefault(), this.hide(!1);
}
}, {
name: "click",
delegate() {
return 'a[href*="#"]';
},
handler({defaultPrevented: t, current: e}) {
const {hash: i} = e;
!t && i && oe(e) && !this.$el.contains(k(i)) && this.hide(!1);
}
}, {
name: "beforescroll",
handler() {
this.hide(!1);
}
}, {
name: "toggle",
self: !0,
handler(t, e) {
t.preventDefault(), this.isToggled() ? this.hide(!1) : this.show(e == null ? void 0 : e.$el, !1);
}
}, {
name: "toggleshow",
self: !0,
handler(t, e) {
t.preventDefault(), this.show(e == null ? void 0 : e.$el);
}
}, {
name: "togglehide",
self: !0,
handler(t) {
t.preventDefault(), E(this.$el, ":focus,:hover") || this.hide();
}
}, {
name: `${ue} focusin`,
filter() {
return m(this.mode, "hover");
},
handler(t) {
yt(t) || this.clearTimers();
}
}, {
name: `${Ne} focusout`,
filter() {
return m(this.mode, "hover");
},
handler(t) {
!yt(t) && t.relatedTarget && this.hide();
}
}, {
name: "toggled",
self: !0,
handler(t, e) {
e && (this.clearTimers(), this.position());
}
}, {
name: "show",
self: !0,
handler() {
Z = this, this.tracker.init(), p(this.targetEl, "aria-expanded", !0);
const t = [ Ul(this), Vl(this), Xl(this), this.autoUpdate && Mo(this), this.closeOnScroll && Yl(this) ];
H(this.$el, "hide", () => t.forEach(e => e && e()), {
self: !0
}), this.bgScroll || H(this.$el, "hidden", Dn(this.$el), {
self: !0
});
}
}, {
name: "beforehide",
self: !0,
handler: "clearTimers"
}, {
name: "hide",
handler({target: t}) {
if (this.$el !== t) {
Z = Z === null && this.$el.contains(t) && this.isToggled() ? this : Z;
return;
}
Z = this.isActive() ? null : Z, this.tracker.cancel(), p(this.targetEl, "aria-expanded", null);
}
} ],
update: {
write() {
this.isToggled() && !y(this.$el, this.clsEnter) && this.position();
}
},
methods: {
show(t = this.targetEl, e = !0) {
if (this.isToggled() && t && this.targetEl && t !== this.targetEl && this.hide(!1, !1),
this.targetEl = t, this.clearTimers(), !this.isActive()) {
if (Z) {
if (e && Z.isDelaying) {
this.showTimer = setTimeout(() => E(t, ":hover") && this.show(), 10);
return;
}
let i;
for (;Z && i !== Z && !Z.$el.contains(this.$el); ) i = Z, Z.hide(!1, !1);
}
this.container && P(this.$el) !== this.container && L(this.container, this.$el),
this.showTimer = setTimeout(() => this.toggleElement(this.$el, !0), e && this.delayShow || 0);
}
},
hide(t = !0, e = !0) {
const i = () => this.toggleElement(this.$el, !1, this.animateOut && e);
this.clearTimers(), this.isDelayedHide = t, this.isDelaying = jl(this.$el).some(s => this.tracker.movesTo(s)),
t && this.isDelaying ? this.hideTimer = setTimeout(this.hide, 50) : t && this.delayHide ? this.hideTimer = setTimeout(i, this.delayHide) : i();
},
clearTimers() {
clearTimeout(this.showTimer), clearTimeout(this.hideTimer), this.showTimer = null,
this.hideTimer = null, this.isDelaying = !1;
},
isActive() {
return Z === this;
},
position() {
O(this.$el, "uc-drop-stack"), c(this.$el, this._style), this.$el.hidden = !0;
const t = this.target.map(n => Rl(this.$el, n)), e = this.getViewportOffset(this.$el), i = [ [ 0, [ "x", "width", "left", "right" ] ], [ 1, [ "y", "height", "top", "bottom" ] ] ];
for (const [n, [o, r]] of i) this.axis !== o && m([ o, !0 ], this.stretch) && c(this.$el, {
[r]: Math.min(I(this.boundary[n])[r], t[n][r] - 2 * e),
[`overflow-${o}`]: "auto"
});
const s = t[0].width - 2 * e;
this.$el.hidden = !1, c(this.$el, "maxWidth", ""), this.$el.offsetWidth > s && $(this.$el, "uc-drop-stack"),
c(this.$el, "maxWidth", s), this.positionAt(this.$el, this.target, this.boundary);
for (const [n, [o, r, a, l]] of i) if (this.axis === o && m([ o, !0 ], this.stretch)) {
const h = Math.abs(this.getPositionOffset()), u = I(this.target[n]), d = I(this.$el);
c(this.$el, {
[r]: (u[a] > d[a] ? u[this.inset ? l : a] - Math.max(I(this.boundary[n])[a], t[n][a] + e) : Math.min(I(this.boundary[n])[l], t[n][l] - e) - u[this.inset ? a : l]) - h,
[`overflow-${o}`]: "auto"
}), this.positionAt(this.$el, this.target, this.boundary);
}
}
}
};
function jl(t) {
const e = [];
return kt(t, i => c(i, "position") !== "static" && e.push(i)), e;
}
function Rl(t, e) {
return lt(Ut(e).find(i => i.contains(t)));
}
function ql(t) {
const {$el: e} = t.$create("toggle", J(t.toggle, t.$el), {
target: t.$el,
mode: t.mode
});
return p(e, "aria-haspopup", !0), e;
}
function Ul(t) {
const e = () => t.$emit(), i = [ os(e), de(Ut(t.$el).concat(t.target), e) ];
return () => i.map(s => s.disconnect());
}
function Mo(t, e = () => t.$emit()) {
return b([ document, ...Ut(t.$el) ], "scroll", e, {
passive: !0
});
}
function Vl(t) {
return b(document, "keydown", e => {
e.keyCode === _.ESC && t.hide(!1);
});
}
function Yl(t) {
return Mo(t, () => t.hide(!1));
}
function Xl(t) {
return b(document, ft, ({target: e}) => {
t.$el.contains(e) || H(document, `${Ot} ${mi} scroll`, ({defaultPrevented: i, type: s, target: n}) => {
!i && s === Ot && e === n && !(t.targetEl && Ws(e, t.targetEl)) && t.hide(!1);
}, !0);
});
}
var Bo = {
mixins: [ et, Re ],
props: {
align: String,
clsDrop: String,
boundary: Boolean,
dropbar: Boolean,
dropbarAnchor: Boolean,
duration: Number,
mode: Boolean,
offset: Boolean,
stretch: Boolean,
delayShow: Boolean,
delayHide: Boolean,
target: Boolean,
targetX: Boolean,
targetY: Boolean,
animation: Boolean,
animateOut: Boolean,
closeOnScroll: Boolean
},
data: {
align: V ? "right" : "left",
clsDrop: "uc-dropdown",
clsDropbar: "uc-dropnav-dropbar",
boundary: !0,
dropbar: !1,
dropbarAnchor: !1,
duration: 200,
container: !1,
selNavItem: "> li > a, > ul > li > a"
},
computed: {
dropbarAnchor: ({dropbarAnchor: t}, e) => J(t, e) || e,
dropbar({dropbar: t}) {
return t ? (t = this._dropbar || J(t, this.$el) || k(`+ .${this.clsDropbar}`, this.$el),
t || (this._dropbar = k("
"))) : null;
},
dropContainer(t, e) {
return this.container || e;
},
dropdowns({clsDrop: t}, e) {
var i;
const s = z(`.${t}`, e);
if (this.dropContainer !== e) for (const n of z(`.${t}`, this.dropContainer)) {
const o = (i = this.getDropdown(n)) == null ? void 0 : i.targetEl;
!m(s, n) && o && this.$el.contains(o) && s.push(n);
}
return s;
},
items({selNavItem: t}, e) {
return z(t, e);
}
},
watch: {
dropbar(t) {
$(t, "uc-dropbar", "uc-dropbar-top", this.clsDropbar, `uc-${this.$options.name}-dropbar`);
},
dropdowns() {
this.initializeDropdowns();
}
},
connected() {
this.initializeDropdowns();
},
disconnected() {
at(this._dropbar), delete this._dropbar;
},
events: [ {
name: "mouseover focusin",
delegate() {
return this.selNavItem;
},
handler({current: t}) {
const e = this.getActive();
e && m(e.mode, "hover") && e.targetEl && !t.contains(e.targetEl) && !e.isDelaying && e.hide(!1);
}
}, {
name: "keydown",
self: !0,
delegate() {
return this.selNavItem;
},
handler(t) {
var e;
const {current: i, keyCode: s} = t, n = this.getActive();
s === _.DOWN && (n == null ? void 0 : n.targetEl) === i && (t.preventDefault(),
(e = k(Ee, n.$el)) == null || e.focus()), No(t, this.items, n);
}
}, {
name: "keydown",
el() {
return this.dropContainer;
},
delegate() {
return `.${this.clsDrop}`;
},
handler(t) {
var e;
const {current: i, keyCode: s} = t;
if (!m(this.dropdowns, i)) return;
const n = this.getActive();
let o = -1;
if (s === _.HOME ? o = 0 : s === _.END ? o = "last" : s === _.UP ? o = "previous" : s === _.DOWN ? o = "next" : s === _.ESC && ((e = n.targetEl) == null || e.focus()),
~o) {
t.preventDefault();
const r = z(Ee, i);
r[ot(o, r, bt(r, a => E(a, ":focus")))].focus();
}
No(t, this.items, n);
}
}, {
name: "mouseleave",
el() {
return this.dropbar;
},
filter() {
return this.dropbar;
},
handler() {
const t = this.getActive();
t && m(t.mode, "hover") && !this.dropdowns.some(e => E(e, ":hover")) && t.hide();
}
}, {
name: "beforeshow",
el() {
return this.dropContainer;
},
filter() {
return this.dropbar;
},
handler({target: t}) {
this.isDropbarDrop(t) && (this.dropbar.previousElementSibling !== this.dropbarAnchor && ci(this.dropbarAnchor, this.dropbar),
$(t, `${this.clsDrop}-dropbar`));
}
}, {
name: "show",
el() {
return this.dropContainer;
},
filter() {
return this.dropbar;
},
handler({target: t}) {
if (!this.isDropbarDrop(t)) return;
const e = this.getDropdown(t), i = () => {
const s = Math.max(..._e(t, `.${this.clsDrop}`).concat(t).map(n => I(n).bottom));
I(this.dropbar, {
left: I(this.dropbar).left,
top: this.getDropbarOffset(e.getPositionOffset())
}), this.transitionTo(s - I(this.dropbar).top + S(c(t, "marginBottom")), t);
};
this._observer = de([ e.$el, ...e.target ], i), i();
}
}, {
name: "beforehide",
el() {
return this.dropContainer;
},
filter() {
return this.dropbar;
},
handler(t) {
const e = this.getActive();
E(this.dropbar, ":hover") && e.$el === t.target && this.isDropbarDrop(e.$el) && m(e.mode, "hover") && e.isDelayedHide && !this.items.some(i => e.targetEl !== i && E(i, ":focus")) && t.preventDefault();
}
}, {
name: "hide",
el() {
return this.dropContainer;
},
filter() {
return this.dropbar;
},
handler({target: t}) {
var e;
if (!this.isDropbarDrop(t)) return;
(e = this._observer) == null || e.disconnect();
const i = this.getActive();
(!i || i.$el === t) && this.transitionTo(0);
}
} ],
methods: {
getActive() {
var t;
return m(this.dropdowns, (t = Z) == null ? void 0 : t.$el) && Z;
},
async transitionTo(t, e) {
const {dropbar: i} = this, s = st(i);
if (e = s < t && e, await D.cancel([ e, i ]), e) {
const n = I(e).top - I(i).top - s;
n > 0 && c(e, "transitionDelay", `${n / t * this.duration}ms`);
}
c(e, "clipPath", `polygon(0 0,100% 0,100% ${s}px,0 ${s}px)`), st(i, s), await Promise.all([ D.start(i, {
height: t
}, this.duration), D.start(e, {
clipPath: `polygon(0 0,100% 0,100% ${t}px,0 ${t}px)`
}, this.duration).finally(() => c(e, {
clipPath: "",
transitionDelay: ""
})) ]).catch(A);
},
getDropdown(t) {
return this.$getComponent(t, "drop") || this.$getComponent(t, "dropdown");
},
isDropbarDrop(t) {
return m(this.dropdowns, t) && y(t, this.clsDrop);
},
getDropbarOffset(t) {
const {$el: e, target: i, targetY: s} = this, {top: n, height: o} = I(J(s || i || e, e));
return n + o + t;
},
initializeDropdowns() {
this.$create("drop", this.dropdowns.filter(t => !this.getDropdown(t)), {
...this.$props,
flip: !1,
shift: !0,
pos: `bottom-${this.align}`,
boundary: this.boundary === !0 ? this.$el : this.boundary
});
}
}
};
function No(t, e, i) {
var s, n, o;
const {current: r, keyCode: a} = t;
let l = -1;
a === _.HOME ? l = 0 : a === _.END ? l = "last" : a === _.LEFT ? l = "previous" : a === _.RIGHT ? l = "next" : a === _.TAB && ((s = i.targetEl) == null || s.focus(),
(n = i.hide) == null || n.call(i, !1)), ~l && (t.preventDefault(), (o = i.hide) == null || o.call(i, !1),
e[ot(l, e, e.indexOf(i.targetEl || r))].focus());
}
var Gl = {
mixins: [ et ],
args: "target",
props: {
target: Boolean
},
data: {
target: !1
},
computed: {
input: (t, e) => k(Te, e),
state() {
return this.input.nextElementSibling;
},
target({target: t}, e) {
return t && (t === !0 && P(this.input) === e && this.input.nextElementSibling || k(t, e));
}
},
update() {
var t;
const {target: e, input: i} = this;
if (!e) return;
let s;
const n = Ui(e) ? "value" : "textContent", o = e[n], r = (t = i.files) != null && t[0] ? i.files[0].name : E(i, "select") && (s = z("option", i).filter(a => a.selected)[0]) ? s.textContent : i.value;
o !== r && (e[n] = r);
},
events: [ {
name: "change",
handler() {
this.$emit();
}
}, {
name: "reset",
el() {
return this.$el.closest("form");
},
handler() {
this.$emit();
}
} ]
}, Jl = {
extends: kn,
mixins: [ et ],
name: "grid",
props: {
masonry: Boolean,
parallax: String,
parallaxStart: String,
parallaxEnd: String,
parallaxJustify: Boolean
},
data: {
margin: "uc-grid-margin",
clsStack: "uc-grid-stack",
masonry: !1,
parallax: 0,
parallaxStart: 0,
parallaxEnd: 0,
parallaxJustify: !1
},
connected() {
this.masonry && $(this.$el, "uc-flex-top", "uc-flex-wrap-top");
},
observe: We({
filter: ({parallax: t, parallaxJustify: e}) => t || e
}),
update: [ {
write({rows: t}) {
j(this.$el, this.clsStack, !t.some(e => e.length > 1));
},
events: [ "resize" ]
}, {
read(t) {
const {rows: e} = t;
let {masonry: i, parallax: s, parallaxJustify: n, margin: o} = this;
if (s = Math.max(0, U(s)), !(i || s || n) || zo(e) || e[0].some((x, C) => e.some(M => M[C] && M[C].offsetWidth !== x.offsetWidth))) return t.translates = t.scrollColumns = !1;
let r = Zl(e, o), a, l;
i ? [a, l] = Kl(e, r, i === "next") : a = Ql(e);
const h = a.map(x => zt(x, "offsetHeight") + r * (x.length - 1)), u = Math.max(0, ...h);
let d, f, v;
return (s || n) && (d = h.map((x, C) => n ? u - x + s : s / (C % 2 || 8)), n || (s = Math.max(...h.map((x, C) => x + d[C] - u))),
f = U(this.parallaxStart, "height", this.$el, !0), v = U(this.parallaxEnd, "height", this.$el, !0)),
{
columns: a,
translates: l,
scrollColumns: d,
parallaxStart: f,
parallaxEnd: v,
padding: s,
height: l ? u : ""
};
},
write({height: t, padding: e}) {
c(this.$el, "paddingBottom", e || ""), t !== !1 && c(this.$el, "height", t);
},
events: [ "resize" ]
}, {
read({rows: t, scrollColumns: e, parallaxStart: i, parallaxEnd: s}) {
return e && zo(t) ? !1 : {
scrolled: e ? bi(this.$el, i, s) : !1
};
},
write({columns: t, scrolled: e, scrollColumns: i, translates: s}) {
!e && !s || t.forEach((n, o) => n.forEach((r, a) => {
let [l, h] = s && s[o][a] || [ 0, 0 ];
e && (h += e * i[o]), c(r, "transform", `translate(${l}px, ${h}px)`);
}));
},
events: [ "scroll", "resize" ]
} ]
};
function zo(t) {
return t.flat().some(e => c(e, "position") === "absolute");
}
function Kl(t, e, i) {
const s = [], n = [], o = Array(t[0].length).fill(0);
let r = 0;
for (let a of t) {
V && (a = a.reverse());
let l = 0;
for (const h in a) {
const {offsetWidth: u, offsetHeight: d} = a[h], f = i ? h : o.indexOf(Math.min(...o));
_s(s, f, a[h]), _s(n, f, [ (f - h) * u * (V ? -1 : 1), o[f] - r ]), o[f] += d + e,
l = Math.max(l, d);
}
r += l + e;
}
return [ s, n ];
}
function Zl(t, e) {
const i = t.flat().find(s => y(s, e));
return S(i ? c(i, "marginTop") : c(t[0][0], "paddingLeft"));
}
function Ql(t) {
const e = [];
for (const i of t) for (const s in i) _s(e, s, i[s]);
return e;
}
function _s(t, e, i) {
t[e] || (t[e] = []), t[e].push(i);
}
var th = {
args: "target",
props: {
target: String,
row: Boolean
},
data: {
target: "> *",
row: !0
},
computed: {
elements: ({target: t}, e) => z(t, e)
},
observe: ct({
target: ({$el: t, elements: e}) => e.reduce((i, s) => i.concat(s, ...s.children), [ t ])
}),
events: {
name: "loadingdone",
el() {
return document.fonts;
},
handler() {
this.$emit("resize");
}
},
update: {
read() {
return {
rows: (this.row ? ms(this.elements) : [ this.elements ]).map(eh)
};
},
write({rows: t}) {
for (const {heights: e, elements: i} of t) i.forEach((s, n) => c(s, "minHeight", e[n]));
},
events: [ "resize" ]
}
};
function eh(t) {
if (t.length < 2) return {
heights: [ "" ],
elements: t
};
let e = t.map(ih);
const i = Math.max(...e);
return {
heights: t.map((s, n) => e[n].toFixed(2) === i.toFixed(2) ? "" : i),
elements: t
};
}
function ih(t) {
const e = Hi(t.style, [ "display", "minHeight" ]);
q(t) || c(t, "display", "block", "important"), c(t, "minHeight", "");
const i = w(t).height - Me(t, "height", "content-box");
return c(t, e), i;
}
var sh = {
args: "target",
props: {
target: String
},
data: {
target: ""
},
computed: {
target: ({target: t}, e) => J(t, e)
},
observe: ct({
target: ({target: t}) => t
}),
update: {
read() {
return {
height: this.target.offsetHeight
};
},
write({height: t}) {
c(this.$el, {
minHeight: t
});
},
events: [ "resize" ]
}
}, nh = {
mixins: [ ve ],
props: {
expand: Boolean,
offsetTop: Boolean,
offsetBottom: Boolean,
minHeight: Number
},
data: {
expand: !1,
offsetTop: !1,
offsetBottom: !1,
minHeight: 0
},
observe: [ gs({
filter: ({expand: t}) => t
}), ct({
target: ({$el: t}) => qt(t)
}) ],
update: {
read() {
if (!q(this.$el)) return !1;
let t = "";
const e = Me(this.$el, "height", "content-box"), {body: i, scrollingElement: s} = document, n = Dt(this.$el), {height: o} = lt(n === i ? s : n), r = s === n || i === n;
if (t = `calc(${r ? "100vh" : `${o}px`}`, this.expand) {
const a = w(n).height - w(this.$el).height;
t += ` - ${a}px`;
} else {
if (this.offsetTop) if (r) {
const a = this.offsetTop === !0 ? this.$el : J(this.offsetTop, this.$el), l = Rt(a)[0] - Rt(n)[0];
t += l > 0 && l < o / 2 ? ` - ${l}px` : "";
} else t += ` - ${c(n, "paddingTop")}`;
this.offsetBottom === !0 ? t += ` - ${w(this.$el.nextElementSibling).height}px` : vt(this.offsetBottom) ? t += ` - ${this.offsetBottom}vh` : this.offsetBottom && ee(this.offsetBottom, "px") ? t += ` - ${S(this.offsetBottom)}px` : N(this.offsetBottom) && (t += ` - ${w(J(this.offsetBottom, this.$el)).height}px`);
}
return t += `${e ? ` - ${e}px` : ""})`, {
minHeight: t
};
},
write({minHeight: t}) {
c(this.$el, "minHeight", `max(${this.minHeight || 0}px, ${t})`);
},
events: [ "resize" ]
}
}, oh = '
', rh = '
', ah = '
', lh = '
', hh = '
', ch = '
', uh = '
', dh = '
', fh = '
', ph = '
', gh = '
', Fo = '
', mh = '
', vh = '
', wh = '
', bh = '
', xh = '
', $h = '
', yh = '
', kh = '
', Ho = {
args: "src",
props: {
width: Number,
height: Number,
ratio: Number
},
data: {
ratio: 1
},
connected() {
this.svg = this.getSvg().then(t => {
if (!this._connected) return;
const e = Sh(t, this.$el);
return this.svgEl && e !== this.svgEl && at(this.svgEl), Ih.call(this, e, t), this.svgEl = e;
}, A);
},
disconnected() {
this.svg.then(t => {
this._connected || (qi(this.$el) && (this.$el.hidden = !1), at(t), this.svgEl = null);
}), this.svg = null;
},
methods: {
async getSvg() {}
}
};
function Sh(t, e) {
if (qi(e) || R(e, "canvas")) {
e.hidden = !0;
const s = e.nextElementSibling;
return Lo(t, s) ? s : ci(e, t);
}
const i = e.lastElementChild;
return Lo(t, i) ? i : L(e, t);
}
function Lo(t, e) {
return R(t, "svg") && R(e, "svg") && t.innerHTML === e.innerHTML;
}
function Ih(t, e) {
const i = [ "width", "height" ];
let s = i.map(o => this[o]);
s.some(o => o) || (s = i.map(o => p(e, o)));
const n = p(e, "viewBox");
n && !s.some(o => o) && (s = n.split(" ").slice(2)), s.forEach((o, r) => p(t, i[r], S(o) * this.ratio || null));
}
const Oi = {
spinner: yh,
totop: kh,
marker: lh,
"close-icon": oh,
"close-large": rh,
"drop-parent-icon": ah,
"nav-parent-icon": ch,
"nav-parent-icon-large": hh,
"navbar-parent-icon": uh,
"navbar-toggle-icon": dh,
"overlay-icon": fh,
"pagination-next": ph,
"pagination-previous": gh,
"search-icon": Fo,
"search-large": mh,
"search-navbar": vh,
"search-toggle-icon": Fo,
"slidenav-next": bh,
"slidenav-next-large": wh,
"slidenav-previous": $h,
"slidenav-previous-large": xh
}, As = {
install: Bh,
mixins: [ Ho ],
args: "icon",
props: {
icon: String
},
isIcon: !0,
beforeConnect() {
$(this.$el, "uc-icon");
},
methods: {
async getSvg() {
const t = zh(this.icon);
if (!t) throw "Icon not found.";
return t;
}
}
}, Kt = {
args: !1,
extends: As,
data: t => ({
icon: Mt(t.constructor.options.name)
}),
beforeConnect() {
$(this.$el, this.$options.id);
}
}, Ch = {
extends: Kt,
beforeConnect() {
const t = this.$props.icon;
this.icon = this.$el.closest(".uc-nav-primary") ? `${t}-large` : t;
}
}, Th = {
extends: Kt,
mixins: [ ki ],
i18n: {
toggle: "Open Search",
submit: "Submit Search"
},
beforeConnect() {
const t = y(this.$el, "uc-search-toggle") || y(this.$el, "uc-navbar-toggle");
if (this.icon = t ? "search-toggle-icon" : y(this.$el, "uc-search-icon") && ri(this.$el, ".uc-search-large") ? "search-large" : ri(this.$el, ".uc-search-navbar") ? "search-navbar" : this.$props.icon,
!Tt(this.$el, "aria-label")) if (t) {
const e = this.t("toggle");
p(this.$el, "aria-label", e);
} else {
const e = this.$el.closest("a,button");
if (e) {
const i = this.t("submit");
p(e, "aria-label", i);
}
}
}
}, Eh = {
extends: Kt,
beforeConnect() {
p(this.$el, "role", "status");
},
methods: {
async getSvg() {
const t = await As.methods.getSvg.call(this);
return this.ratio !== 1 && c(k("circle", t), "strokeWidth", 1 / this.ratio), t;
}
}
}, Zt = {
extends: Kt,
mixins: [ ki ],
beforeConnect() {
const t = this.$el.closest("a,button");
p(t, "role", this.role !== null && R(t, "a") ? "button" : this.role);
const e = this.t("label");
e && !Tt(t, "aria-label") && p(t, "aria-label", e);
}
}, Wo = {
extends: Zt,
beforeConnect() {
$(this.$el, "uc-slidenav");
const t = this.$props.icon;
this.icon = y(this.$el, "uc-slidenav-large") ? `${t}-large` : t;
}
}, Ph = {
extends: Zt,
i18n: {
label: "Open menu"
}
}, _h = {
extends: Zt,
i18n: {
label: "Close"
},
beforeConnect() {
this.icon = `close-${y(this.$el, "uc-close-large") ? "large" : "icon"}`;
}
}, Ah = {
extends: Zt,
i18n: {
label: "Open"
}
}, Oh = {
extends: Zt,
i18n: {
label: "Back to top"
}
}, Dh = {
extends: Zt,
i18n: {
label: "Next page"
},
data: {
role: null
}
}, Mh = {
extends: Zt,
i18n: {
label: "Previous page"
},
data: {
role: null
}
}, Di = {};
function Bh(t) {
t.icon.add = (e, i) => {
const s = N(e) ? {
[e]: i
} : e;
Nt(s, (n, o) => {
Oi[o] = n, delete Di[o];
}), t._initialized && kt(document.body, n => Nt(t.getComponents(n), o => {
o.$options.isIcon && o.icon in s && o.$reset();
}));
};
}
const Nh = {
twitter: "x"
};
function zh(t) {
return t = Nh[t] || t, Oi[t] ? (Di[t] || (Di[t] = k((Oi[Fh(t)] || Oi[t]).trim())),
Di[t].cloneNode(!0)) : null;
}
function Fh(t) {
return V ? Fi(Fi(t, "left", "right"), "previous", "next") : t;
}
var Hh = {
args: "dataSrc",
props: {
dataSrc: String,
sources: String,
margin: String,
target: String,
loading: String
},
data: {
dataSrc: "",
sources: !1,
margin: "50%",
target: !1,
loading: "lazy"
},
connected() {
this.loading !== "lazy" ? this.load() : Ds(this.$el) && (this.$el.loading = "lazy",
Os(this.$el));
},
disconnected() {
this.img && (this.img.onload = ""), delete this.img;
},
observe: He({
target: ({$el: t, $props: e}) => [ t, ...Ae(e.target, t) ],
handler(t, e) {
this.load(), e.disconnect();
},
options: ({margin: t}) => ({
rootMargin: t
}),
filter: ({loading: t}) => t === "lazy"
}),
methods: {
load() {
if (this.img) return this.img;
const t = Ds(this.$el) ? this.$el : Wh(this.$el, this.dataSrc, this.sources);
return Ce(t, "loading"), Os(this.$el, t.currentSrc), this.img = t;
}
}
};
function Os(t, e) {
if (Ds(t)) {
const i = P(t);
(R(i, "picture") ? B(i) : [ t ]).forEach(n => jo(n, n));
} else e && !m(t.style.backgroundImage, e) && (c(t, "backgroundImage", `url(${Xi(e)})`),
g(t, Ht("load", !1)));
}
const Lh = [ "data-src", "data-srcset", "sizes" ];
function jo(t, e) {
for (const i of Lh) {
const s = G(t, i);
s && p(e, i.replace(/^(data-)+/, ""), s);
}
}
function Wh(t, e, i) {
const s = new Image;
return jh(s, i), jo(t, s), s.onload = () => {
Os(t, s.currentSrc);
}, p(s, "src", e), s;
}
function jh(t, e) {
if (e = Rh(e), e.length) {
const i = Wt("
");
for (const s of e) {
const n = Wt("");
p(n, s), L(i, n);
}
L(i, t);
}
}
function Rh(t) {
if (!t) return [];
if (dt(t, "[")) try {
t = JSON.parse(t);
} catch {
t = [];
} else t = fe(t);
return Q(t) || (t = [ t ]), t.filter(e => !ei(e));
}
function Ds(t) {
return R(t, "img");
}
var qh = {
props: {
target: String,
selActive: String
},
data: {
target: !1,
selActive: !1
},
computed: {
target: ({target: t}, e) => t ? z(t, e) : [ e ]
},
observe: [ ps({
target: ({target: t}) => t,
options: {
attributes: !0,
attributeFilter: [ "class" ],
attributeOldValue: !0
}
}), {
target: ({target: t}) => t,
observe: (t, e) => {
const i = de([ ...t, document.documentElement ], e), s = [ b(document, "scroll itemshown itemhidden", e, {
passive: !0,
capture: !0
}), b(document, "show hide transitionstart", n => (e(), i.observe(n.target))), b(document, "shown hidden transitionend transitioncancel", n => (e(),
i.unobserve(n.target))) ];
return {
disconnect() {
i.disconnect(), s.map(n => n());
}
};
},
handler() {
this.$emit();
}
} ],
update: {
read() {
for (const t of this.target) ni(t, "uc-light,uc-dark", !this.selActive || E(t, this.selActive) ? Uh(t) : "");
}
}
};
function Uh(t) {
const {left: e, top: i, height: s, width: n} = w(t);
let o;
for (const r of [ .25, .5, .75 ]) {
const a = t.ownerDocument.elementsFromPoint(Math.max(0, e) + n * r, Math.max(0, i) + s / 2);
for (const l of a) {
if (t.contains(l) || l.closest('[class*="-leave"]') && a.some(u => l !== u && E(u, '[class*="-enter"]'))) continue;
const h = c(l, "--uc-inverse");
if (h) {
if (h === o) return `uc-${h}`;
o = h;
break;
}
}
}
return o ? `uc-${o}` : "";
}
var Vh = {
mixins: [ et, ve ],
props: {
fill: String
},
data: {
fill: "",
clsWrapper: "uc-leader-fill",
clsHide: "uc-leader-hide",
attrFill: "data-fill"
},
computed: {
fill: ({fill: t}, e) => t || c(e, "--uc-leader-fill-content")
},
connected() {
[this.wrapper] = es(this.$el, ``);
},
disconnected() {
re(this.wrapper.childNodes);
},
observe: ct(),
update: {
read() {
return {
width: Math.trunc(this.$el.offsetWidth / 2),
fill: this.fill,
hide: !this.matchMedia
};
},
write({width: t, fill: e, hide: i}) {
j(this.wrapper, this.clsHide, i), p(this.wrapper, this.attrFill, new Array(t).join(e));
},
events: [ "resize" ]
}
}, Yh = {
install: Xh,
mixins: [ $s ],
data: {
clsPage: "uc-modal-page",
selPanel: ".uc-modal-dialog",
selClose: ".uc-modal-close, .uc-modal-close-default, .uc-modal-close-outside, .uc-modal-close-full"
},
events: [ {
name: "fullscreenchange webkitendfullscreen",
capture: !0,
handler(t) {
R(t.target, "video") && this.isToggled() && !document.fullscreenElement && this.hide();
}
}, {
name: "show",
self: !0,
handler() {
y(this.panel, "uc-margin-auto-vertical") ? $(this.$el, "uc-flex") : c(this.$el, "display", "block"),
st(this.$el);
}
}, {
name: "hidden",
self: !0,
handler() {
c(this.$el, "display", ""), O(this.$el, "uc-flex");
}
} ]
};
function Xh({modal: t}) {
t.dialog = function(i, s) {
const n = t(``, {
stack: !0,
role: "alertdialog",
...s
});
return n.show(), b(n.$el, "hidden", async () => {
await Promise.resolve(), n.$destroy(!0);
}, {
self: !0
}), n;
}, t.alert = function(i, s) {
return e(({i18n: n}) => `${N(i) ? i : Lt(i)}
`, s);
}, t.confirm = function(i, s) {
return e(({i18n: n}) => ``, s, () => Promise.reject());
}, t.prompt = function(i, s, n) {
const o = e(({i18n: l}) => ``, n, () => null, () => a.value), {$el: r} = o.dialog, a = k("input", r);
return b(r, "show", () => a.select()), o;
}, t.i18n = {
ok: "Ok",
cancel: "Cancel"
};
function e(i, s, n = A, o = A) {
s = {
bgClose: !1,
escClose: !0,
...s,
i18n: {
...t.i18n,
...s == null ? void 0 : s.i18n
}
};
const r = t.dialog(i(s), s);
return mt(new Promise(a => {
const l = b(r.$el, "hide", () => a(n()));
b(r.$el, "submit", "form", h => {
h.preventDefault(), a(o(r)), l(), r.hide();
});
}), {
dialog: r
});
}
}
var Gh = {
extends: Po,
data: {
targets: "> .uc-parent",
toggle: "> a",
content: "> ul"
}
};
const Ms = "uc-navbar-transparent";
var Jh = {
extends: Bo,
props: {
dropbarTransparentMode: Boolean
},
data: {
clsDrop: "uc-navbar-dropdown",
selNavItem: ".uc-navbar-nav > li > a,a.uc-navbar-item,button.uc-navbar-item,.uc-navbar-item a,.uc-navbar-item button,.uc-navbar-toggle",
dropbarTransparentMode: !1
},
computed: {
navbarContainer: (t, e) => e.closest(".uc-navbar-container")
},
watch: {
items() {
const t = y(this.$el, "uc-navbar-justify"), e = z(".uc-navbar-nav, .uc-navbar-left, .uc-navbar-right", this.$el);
for (const i of e) {
const s = t ? z(".uc-navbar-nav > li > a, .uc-navbar-item, .uc-navbar-toggle", i).length : "";
c(i, "flexGrow", s);
}
}
},
events: [ {
name: "show",
el() {
return this.dropContainer;
},
handler({target: t}) {
this.getTransparentMode(t) === "remove" && y(this.navbarContainer, Ms) && (O(this.navbarContainer, Ms),
this._transparent = !0);
}
}, {
name: "hide",
el() {
return this.dropContainer;
},
async handler() {
await Kh(), !this.getActive() && this._transparent && ($(this.navbarContainer, Ms),
this._transparent = null);
}
} ],
methods: {
getTransparentMode(t) {
if (!this.navbarContainer) return;
if (this.dropbar && this.isDropbarDrop(t)) return this.dropbarTransparentMode;
const e = this.getDropdown(t);
if (e && y(t, "uc-dropbar")) return e.inset ? "behind" : "remove";
},
getDropbarOffset(t) {
const {top: e, height: i} = I(this.navbarContainer);
return e + (this.dropbarTransparentMode === "behind" ? 0 : i + t);
}
}
};
function Kh() {
return new Promise(t => setTimeout(t));
}
var Zh = {
mixins: [ $s ],
args: "mode",
props: {
mode: String,
flip: Boolean,
overlay: Boolean,
swiping: Boolean
},
data: {
mode: "slide",
flip: !1,
overlay: !1,
clsPage: "uc-offcanvas-page",
clsContainer: "uc-offcanvas-container",
selPanel: ".uc-offcanvas-bar",
clsFlip: "uc-offcanvas-flip",
clsContainerAnimation: "uc-offcanvas-container-animation",
clsSidebarAnimation: "uc-offcanvas-bar-animation",
clsMode: "uc-offcanvas",
clsOverlay: "uc-offcanvas-overlay",
selClose: ".uc-offcanvas-close",
container: !1,
swiping: !0
},
computed: {
clsFlip: ({flip: t, clsFlip: e}) => t ? e : "",
clsOverlay: ({overlay: t, clsOverlay: e}) => t ? e : "",
clsMode: ({mode: t, clsMode: e}) => `${e}-${t}`,
clsSidebarAnimation: ({mode: t, clsSidebarAnimation: e}) => t === "none" || t === "reveal" ? "" : e,
clsContainerAnimation: ({mode: t, clsContainerAnimation: e}) => t !== "push" && t !== "reveal" ? "" : e,
transitionElement({mode: t}) {
return t === "reveal" ? P(this.panel) : this.panel;
}
},
observe: yn({
filter: ({swiping: t}) => t
}),
update: {
read() {
this.isToggled() && !q(this.$el) && this.hide();
},
events: [ "resize" ]
},
events: [ {
name: "touchmove",
self: !0,
passive: !1,
filter() {
return this.overlay;
},
handler(t) {
t.cancelable && t.preventDefault();
}
}, {
name: "show",
self: !0,
handler() {
this.mode === "reveal" && !y(P(this.panel), this.clsMode) && (di(this.panel, ""),
$(P(this.panel), this.clsMode));
const {body: t, scrollingElement: e} = document;
$(t, this.clsContainer, this.clsFlip), c(t, "touch-action", "pan-y pinch-zoom"),
c(this.$el, "display", "block"), c(this.panel, "maxWidth", e.clientWidth), $(this.$el, this.clsOverlay),
$(this.panel, this.clsSidebarAnimation, this.mode === "reveal" ? "" : this.clsMode),
st(t), $(t, this.clsContainerAnimation), this.clsContainerAnimation && Qh();
}
}, {
name: "hide",
self: !0,
handler() {
O(document.body, this.clsContainerAnimation), c(document.body, "touch-action", "");
}
}, {
name: "hidden",
self: !0,
handler() {
this.clsContainerAnimation && tc(), this.mode === "reveal" && re(this.panel), O(this.panel, this.clsSidebarAnimation, this.clsMode),
O(this.$el, this.clsOverlay), c(this.$el, "display", ""), c(this.panel, "maxWidth", ""),
O(document.body, this.clsContainer, this.clsFlip);
}
}, {
name: "swipeLeft swipeRight",
handler(t) {
this.isToggled() && ee(t.type, "Left") ^ this.flip && this.hide();
}
} ]
};
function Qh() {
Ro().content += ",user-scalable=0";
}
function tc() {
const t = Ro();
t.content = t.content.replace(/,user-scalable=0$/, "");
}
function Ro() {
return k('meta[name="viewport"]', document.head) || L(document.head, '
');
}
var ec = {
mixins: [ et ],
props: {
selContainer: String,
selContent: String,
minHeight: Number
},
data: {
selContainer: ".uc-modal",
selContent: ".uc-modal-dialog",
minHeight: 150
},
computed: {
container: ({selContainer: t}, e) => e.closest(t),
content: ({selContent: t}, e) => e.closest(t)
},
observe: ct({
target: ({container: t, content: e}) => [ t, e ]
}),
update: {
read() {
return !this.content || !this.container || !q(this.$el) ? !1 : {
max: Math.max(this.minHeight, st(this.container) - (w(this.content).height - st(this.$el)))
};
},
write({max: t}) {
c(this.$el, {
minHeight: this.minHeight,
maxHeight: t
});
},
events: [ "resize" ]
}
}, ic = {
props: [ "width", "height" ],
connected() {
$(this.$el, "uc-responsive-width"), c(this.$el, "aspectRatio", `${this.width}/${this.height}`);
}
}, sc = {
props: {
offset: Number
},
data: {
offset: 0
},
connected() {
nc(this);
},
disconnected() {
oc(this);
},
methods: {
async scrollTo(t) {
t = t && k(t) || document.body, g(this.$el, "beforescroll", [ this, t ]) && (await un(t, {
offset: this.offset
}), g(this.$el, "scrolled", [ this, t ]));
}
}
};
const Ze = new Set;
function nc(t) {
Ze.size || b(document, "click", qo), Ze.add(t);
}
function oc(t) {
Ze.delete(t), Ze.size || Pt(document, "click", qo);
}
function qo(t) {
if (!t.defaultPrevented) for (const e of Ze) e.$el.contains(t.target) && oe(e.$el) && (t.preventDefault(),
window.location.href !== e.$el.href && window.history.pushState({}, "", e.$el.href),
e.scrollTo(Vi(e.$el)));
}
var rc = {
args: "cls",
props: {
cls: String,
target: String,
hidden: Boolean,
margin: String,
repeat: Boolean,
delay: Number
},
data: () => ({
cls: "",
target: !1,
hidden: !0,
margin: "-1px",
repeat: !1,
delay: 0,
inViewClass: "uc-scrollspy-inview"
}),
computed: {
elements: ({target: t}, e) => t ? z(t, e) : [ e ]
},
watch: {
elements(t) {
this.hidden && c(Pe(t, `:not(.${this.inViewClass})`), "opacity", 0);
}
},
connected() {
this.elementData = new Map;
},
disconnected() {
for (const [t, e] of this.elementData.entries()) O(t, this.inViewClass, (e == null ? void 0 : e.cls) || "");
delete this.elementData;
},
observe: He({
target: ({elements: t}) => t,
handler(t) {
const e = this.elementData;
for (const {target: i, isIntersecting: s} of t) {
e.has(i) || e.set(i, {
cls: G(i, "uc-scrollspy-class") || this.cls
});
const n = e.get(i);
!this.repeat && n.show || (n.show = s);
}
this.$emit();
},
options: ({margin: t}) => ({
rootMargin: t
}),
args: {
intersecting: !1
}
}),
update: [ {
write(t) {
for (const [e, i] of this.elementData.entries()) i.show && !i.inview && !i.queued ? (i.queued = !0,
t.promise = (t.promise || Promise.resolve()).then(() => new Promise(s => setTimeout(s, this.delay))).then(() => {
this.toggle(e, !0), setTimeout(() => {
i.queued = !1, this.$emit();
}, 300);
})) : !i.show && i.inview && !i.queued && this.repeat && this.toggle(e, !1);
}
} ],
methods: {
toggle(t, e) {
var i;
const s = this.elementData.get(t);
if (s) {
if ((i = s.off) == null || i.call(s), c(t, "opacity", !e && this.hidden ? 0 : ""),
j(t, this.inViewClass, e), j(t, s.cls), /\buc-animation-/.test(s.cls)) {
const n = () => Ri(t, "uc-animation-[\\w-]+");
e ? s.off = H(t, "animationcancel animationend", n, {
self: !0
}) : n();
}
g(t, e ? "inview" : "outview"), s.inview = e, this.$update(t);
}
}
}
}, ac = {
props: {
cls: String,
closest: Boolean,
scroll: Boolean,
overflow: Boolean,
offset: Number
},
data: {
cls: "uc-active",
closest: !1,
scroll: !1,
overflow: !0,
offset: 0
},
computed: {
links: (t, e) => z('a[href*="#"]', e).filter(i => i.hash && oe(i)),
elements({closest: t}) {
return this.links.map(e => e.closest(t || "*"));
}
},
watch: {
links(t) {
this.scroll && this.$create("scroll", t, {
offset: this.offset
});
}
},
observe: [ He(), We() ],
update: [ {
read() {
const t = this.links.map(Vi).filter(Boolean), {length: e} = t;
if (!e || !q(this.$el)) return !1;
const i = Dt(t, !0), {scrollTop: s, scrollHeight: n} = i, o = lt(i), r = n - o.height;
let a = !1;
if (s === r) a = e - 1; else {
for (let l = 0; l < t.length; l++) {
const h = ls(t[l]), u = this.offset + (h ? I(h).height : 0);
if (I(t[l]).top - o.top - u > 0) break;
a = +l;
}
a === !1 && this.overflow && (a = 0);
}
return {
active: a
};
},
write({active: t}) {
const e = t !== !1 && !y(this.elements[t], this.cls);
this.links.forEach(i => i.blur());
for (let i = 0; i < this.elements.length; i++) j(this.elements[i], this.cls, +i === t);
e && g(this.$el, "active", [ t, this.elements[t] ]);
},
events: [ "scroll", "resize" ]
} ]
}, lc = {
mixins: [ et, ve ],
props: {
position: String,
top: null,
bottom: null,
start: null,
end: null,
offset: String,
overflowFlip: Boolean,
animation: String,
clsActive: String,
clsInactive: String,
clsFixed: String,
clsBelow: String,
selTarget: String,
showOnUp: Boolean,
targetOffset: Number
},
data: {
position: "top",
top: !1,
bottom: !1,
start: !1,
end: !1,
offset: 0,
overflowFlip: !1,
animation: "",
clsActive: "uc-active",
clsInactive: "",
clsFixed: "uc-sticky-fixed",
clsBelow: "uc-sticky-below",
selTarget: "",
showOnUp: !1,
targetOffset: !1
},
computed: {
target: ({selTarget: t}, e) => t && k(t, e) || e
},
connected() {
this.start = Uo(this.start || this.top), this.end = Uo(this.end || this.bottom),
this.placeholder = k("+ .uc-sticky-placeholder", this.$el) || k('
'),
this.isFixed = !1, this.setActive(!1);
},
beforeDisconnect() {
this.isFixed && (this.hide(), O(this.target, this.clsInactive)), Vo(this.$el), at(this.placeholder),
this.placeholder = null;
},
observe: [ gs({
handler() {
U("100vh", "height") !== this._data.viewport && this.$emit("resize");
}
}), We({
target: () => document.scrollingElement
}), ct({
target: () => document.scrollingElement,
options: {
box: "content-box"
}
}), ct({
target: ({$el: t}) => t
}) ],
events: [ {
name: "load hashchange popstate",
el() {
return window;
},
filter() {
return this.targetOffset !== !1;
},
handler() {
const {scrollingElement: t} = document;
!location.hash || t.scrollTop === 0 || setTimeout(() => {
const e = I(k(location.hash)), i = I(this.$el);
this.isFixed && Li(e, i) && (t.scrollTop = e.top - i.height - U(this.targetOffset, "height", this.placeholder) - U(this.offset, "height", this.placeholder));
});
}
}, {
name: "transitionstart",
handler() {
this.transitionInProgress = H(this.$el, "transitionend transitioncancel", () => this.transitionInProgress = null);
}
} ],
update: [ {
read({height: t, width: e, margin: i, sticky: s}) {
if (this.inactive = !this.matchMedia || !q(this.$el), this.inactive) return;
const n = this.isFixed && !this.transitionInProgress;
n && (Ns(this.target), this.hide()), this.active || (({height: t, width: e} = I(this.$el)),
i = c(this.$el, "margin")), n && this.show();
const o = U("100vh", "height"), r = st(window), a = Math.max(0, document.scrollingElement.scrollHeight - o);
let l = this.position;
this.overflowFlip && t > o && (l = l === "top" ? "bottom" : "top");
const h = this.isFixed ? this.placeholder : this.$el;
let u = U(this.offset, "height", s ? this.$el : h);
l === "bottom" && (t < r || this.overflowFlip) && (u += r - t);
const d = this.overflowFlip ? 0 : Math.max(0, t + u - o), f = I(h).top, v = I(this.$el).height, x = (this.start === !1 ? f : Bs(this.start, this.$el, f)) - u, C = this.end === !1 ? a : Math.min(a, Bs(this.end, this.$el, f + t, !0) - v - u + d);
return s = a && !this.showOnUp && x + u === f && C === Math.min(a, Bs(!0, this.$el, 0, !0) - v - u + d) && c(P(this.$el), "overflowY") === "visible",
{
start: x,
end: C,
offset: u,
overflow: d,
height: t,
elHeight: v,
width: e,
margin: i,
top: Rt(h)[0],
sticky: s,
viewport: o
};
},
write({height: t, width: e, margin: i, offset: s, sticky: n}) {
if ((this.inactive || n || !this.isFixed) && Vo(this.$el), this.inactive) return;
n && (t = e = i = 0, c(this.$el, {
position: "sticky",
top: s
}));
const {placeholder: o} = this;
c(o, {
height: t,
width: e,
margin: i
}), (P(o) !== P(this.$el) || n ^ Et(o) < Et(this.$el)) && ((n ? hi : ci)(this.$el, o),
o.hidden = !0);
},
events: [ "resize" ]
}, {
read({scroll: t = 0, dir: e = "down", overflow: i, overflowScroll: s = 0, start: n, end: o, elHeight: r, height: a, sticky: l}) {
const h = document.scrollingElement.scrollTop, u = t <= h ? "down" : "up", d = this.isFixed ? this.placeholder : this.$el;
return {
dir: u,
prevDir: e,
scroll: h,
prevScroll: t,
below: h > I(d).top + (l ? Math.min(a, r) : a),
offsetParentTop: I(d.offsetParent).top,
overflowScroll: tt(s + tt(h, n, o) - tt(t, n, o), 0, i)
};
},
write(t, e) {
const i = e.has("scroll"), {initTimestamp: s = 0, dir: n, prevDir: o, scroll: r, prevScroll: a = 0, top: l, start: h, below: u} = t;
if (r < 0 || r === a && i || this.showOnUp && !i && !this.isFixed) return;
const d = Date.now();
if ((d - s > 300 || n !== o) && (t.initScroll = r, t.initTimestamp = d), !(this.showOnUp && !this.isFixed && Math.abs(t.initScroll - r) <= 30 && Math.abs(a - r) <= 10)) if (this.inactive || r < h || this.showOnUp && (r <= h || n === "down" && i || n === "up" && !this.isFixed && !u)) {
if (!this.isFixed) {
At.inProgress(this.$el) && l > r && (At.cancel(this.$el), this.hide());
return;
}
if (this.animation && u) {
if (y(this.$el, "uc-animation-leave")) return;
At.out(this.$el, this.animation).then(() => this.hide(), A);
} else this.hide();
} else this.isFixed ? this.update() : this.animation && u ? (this.show(), At.in(this.$el, this.animation).catch(A)) : (Ns(this.target),
this.show());
},
events: [ "resize", "resizeViewport", "scroll" ]
} ],
methods: {
show() {
this.isFixed = !0, this.update(), this.placeholder.hidden = !1;
},
hide() {
const {offset: t, sticky: e} = this._data;
this.setActive(!1), O(this.$el, this.clsFixed, this.clsBelow), e ? c(this.$el, "top", t) : c(this.$el, {
position: "",
top: "",
width: "",
marginTop: ""
}), this.placeholder.hidden = !0, this.isFixed = !1;
},
update() {
let {width: t, scroll: e = 0, overflow: i, overflowScroll: s = 0, start: n, end: o, offset: r, offsetParentTop: a, sticky: l, below: h} = this._data;
const u = n !== 0 || e > n;
if (!l) {
let d = "fixed";
e > o && (r += o - a + s - i, d = "absolute"), c(this.$el, {
position: d,
width: t,
marginTop: 0
}, "important");
}
c(this.$el, "top", r - s), this.setActive(u), j(this.$el, this.clsBelow, h), $(this.$el, this.clsFixed);
},
setActive(t) {
const e = this.active;
this.active = t, t ? (ni(this.target, this.clsInactive, this.clsActive), e !== t && g(this.$el, "active")) : (ni(this.target, this.clsActive, this.clsInactive),
e !== t && (Ns(this.target), g(this.$el, "inactive")));
}
}
};
function Bs(t, e, i, s) {
if (!t) return 0;
if (vt(t) || N(t) && t.match(/^-?\d/)) return i + U(t, "height", e, !0);
{
const n = t === !0 ? P(e) : J(t, e);
return I(n).bottom - (s && (n != null && n.contains(e)) ? S(c(n, "paddingBottom")) : 0);
}
}
function Uo(t) {
return t === "true" ? !0 : t === "false" ? !1 : t;
}
function Vo(t) {
c(t, {
position: "",
top: "",
marginTop: "",
width: ""
});
}
function Ns(t) {
$(t, "uc-transition-disable"), requestAnimationFrame(() => O(t, "uc-transition-disable"));
}
var hc = {
mixins: [ Ho ],
args: "src",
props: {
src: String,
icon: String,
attributes: "list",
strokeAnimation: Boolean
},
data: {
strokeAnimation: !1
},
observe: [ ps({
async handler() {
const t = await this.svg;
t && Yo.call(this, t);
},
options: {
attributes: !0,
attributeFilter: [ "id", "class", "style" ]
}
}) ],
async connected() {
m(this.src, "#") && ([this.src, this.icon] = this.src.split("#"));
const t = await this.svg;
t && (Yo.call(this, t), this.strokeAnimation && fc(t));
},
methods: {
async getSvg() {
return R(this.$el, "img") && !this.$el.complete && this.$el.loading === "lazy" && await new Promise(t => H(this.$el, "load", t)),
uc(await cc(this.src), this.icon) || Promise.reject("SVG not found.");
}
}
};
function Yo(t) {
const {$el: e} = this;
$(t, p(e, "class"), "uc-svg");
for (let i = 0; i < e.style.length; i++) {
const s = e.style[i];
c(t, s, c(e, s));
}
for (const i in this.attributes) {
const [s, n] = this.attributes[i].split(":", 2);
p(t, s, n);
}
this.$el.id || Ce(t, "id");
}
const cc = rt(async t => t ? dt(t, "data:") ? decodeURIComponent(t.split(",")[1]) : (await fetch(t)).text() : Promise.reject());
function uc(t, e) {
return e && m(t, "
/g, dc = rt(function(t) {
const e = {};
Xo.lastIndex = 0;
let i;
for (;i = Xo.exec(t); ) e[i[3]] = `