@metabohub/forum-library
Version:
<!-- Put your badges here: --> [](https://forge.inrae.fr/metabohub/forvm/mth-forvm-lib/-/commits/dev) [ => t in e ? Vf(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
var Ie = (e, t, n) => Ef(e, typeof t != "symbol" ? t + "" : t, n);
import { defineComponent as Ls, ref as R, reactive as Zn, watchEffect as Ot, toRef as E, isVNode as Af, Comment as Df, Fragment as pe, capitalize as aa, shallowRef as ne, unref as _t, getCurrentInstance as Mf, computed as _, provide as We, inject as De, warn as Ns, h as sa, camelize as Zo, toRefs as Xo, toValue as sn, createVNode as g, mergeProps as j, createElementVNode as p, normalizeClass as K, Text as Rf, normalizeStyle as Z, isRef as $r, TransitionGroup as Sl, Transition as Mn, watch as re, onBeforeMount as Bs, nextTick as Ge, onBeforeUnmount as Et, withDirectives as ht, vShow as Bn, onScopeDispose as mt, effectScope as wl, toRaw as He, useId as on, markRaw as Ff, onMounted as Ba, onUpdated as Lf, readonly as _l, resolveDynamicComponent as Nf, toDisplayString as Te, Teleport as Bf, onDeactivated as $f, cloneVNode as Uf, createTextVNode as Fe, createElementBlock as nt, openBlock as qe, withCtx as he, createBlock as eu, createCommentVNode as ct, withKeys as zf, onBeforeUpdate as Hf, withModifiers as as, resolveComponent as Yf } from "vue";
function kl() {
const e = /* @__PURE__ */ new Map(), t = document.location.hash;
if (t.split("#").length === 3) {
const n = t.split("#")[2];
for (const a of n.split("&").values()) {
const s = a.split("=");
s.length === 2 && e.set(s[0], s[1]);
}
}
return e;
}
function On(e, t) {
const n = document.location.hash, a = kl();
t === void 0 || t === "" || t === null ? a.delete(e) : a.set(e, t);
let s = "";
a.forEach((r, l) => {
s += "&" + l + "=" + r;
}), document.location.hash = "#" + n.split("#")[1] + "#" + s;
}
var ze = /* @__PURE__ */ ((e) => (e.comp_to_mesh = "comp_to_mesh", e.mesh_to_comp = "mesh_to_comp", e))(ze || {}), ve = /* @__PURE__ */ ((e) => (e.mesh_id = "mesh_id", e.chebi_id = "chebi_id", e.chemont_id = "chemont_id", e.pubchem_id = "pubchem_id", e.pubchem_fuzzy_id = "pubchem_fuzzy_id", e))(ve || {});
class tu {
// String passed via the search bar
constructor() {
Ie(this, "searchEntityType");
Ie(this, "searchSelectorType");
Ie(this, "searchEntityQuery");
this.searchEntityType = "comp_to_mesh", this.searchSelectorType = "pubchem_id", this.searchEntityQuery = "";
}
/**
* Function to verify if the query is empty
*/
isEmpty() {
return !this.searchEntityQuery || this.searchEntityQuery.length === 0 || !this.searchEntityQuery.trim();
}
}
function nu(e, t) {
return function() {
return e.apply(t, arguments);
};
}
const { toString: jf } = Object.prototype, { getPrototypeOf: Cl } = Object, { iterator: $s, toStringTag: au } = Symbol, Us = /* @__PURE__ */ ((e) => (t) => {
const n = jf.call(t);
return e[n] || (e[n] = n.slice(8, -1).toLowerCase());
})(/* @__PURE__ */ Object.create(null)), At = (e) => (e = e.toLowerCase(), (t) => Us(t) === e), zs = (e) => (t) => typeof t === e, { isArray: ra } = Array, Xn = zs("undefined");
function $a(e) {
return e !== null && !Xn(e) && e.constructor !== null && !Xn(e.constructor) && dt(e.constructor.isBuffer) && e.constructor.isBuffer(e);
}
const su = At("ArrayBuffer");
function Wf(e) {
let t;
return typeof ArrayBuffer < "u" && ArrayBuffer.isView ? t = ArrayBuffer.isView(e) : t = e && e.buffer && su(e.buffer), t;
}
const Gf = zs("string"), dt = zs("function"), ru = zs("number"), Ua = (e) => e !== null && typeof e == "object", Qf = (e) => e === !0 || e === !1, hs = (e) => {
if (Us(e) !== "object")
return !1;
const t = Cl(e);
return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(au in e) && !($s in e);
}, qf = (e) => {
if (!Ua(e) || $a(e))
return !1;
try {
return Object.keys(e).length === 0 && Object.getPrototypeOf(e) === Object.prototype;
} catch {
return !1;
}
}, Kf = At("Date"), Jf = At("File"), Zf = At("Blob"), Xf = At("FileList"), eh = (e) => Ua(e) && dt(e.pipe), th = (e) => {
let t;
return e && (typeof FormData == "function" && e instanceof FormData || dt(e.append) && ((t = Us(e)) === "formdata" || // detect form-data instance
t === "object" && dt(e.toString) && e.toString() === "[object FormData]"));
}, nh = At("URLSearchParams"), [ah, sh, rh, lh] = ["ReadableStream", "Request", "Response", "Headers"].map(At), ih = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
function za(e, t, { allOwnKeys: n = !1 } = {}) {
if (e === null || typeof e > "u")
return;
let a, s;
if (typeof e != "object" && (e = [e]), ra(e))
for (a = 0, s = e.length; a < s; a++)
t.call(null, e[a], a, e);
else {
if ($a(e))
return;
const r = n ? Object.getOwnPropertyNames(e) : Object.keys(e), l = r.length;
let i;
for (a = 0; a < l; a++)
i = r[a], t.call(null, e[i], i, e);
}
}
function lu(e, t) {
if ($a(e))
return null;
t = t.toLowerCase();
const n = Object.keys(e);
let a = n.length, s;
for (; a-- > 0; )
if (s = n[a], t === s.toLowerCase())
return s;
return null;
}
const Tn = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, iu = (e) => !Xn(e) && e !== Tn;
function Ur() {
const { caseless: e, skipUndefined: t } = iu(this) && this || {}, n = {}, a = (s, r) => {
const l = e && lu(n, r) || r;
hs(n[l]) && hs(s) ? n[l] = Ur(n[l], s) : hs(s) ? n[l] = Ur({}, s) : ra(s) ? n[l] = s.slice() : (!t || !Xn(s)) && (n[l] = s);
};
for (let s = 0, r = arguments.length; s < r; s++)
arguments[s] && za(arguments[s], a);
return n;
}
const oh = (e, t, n, { allOwnKeys: a } = {}) => (za(t, (s, r) => {
n && dt(s) ? e[r] = nu(s, n) : e[r] = s;
}, { allOwnKeys: a }), e), uh = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), ch = (e, t, n, a) => {
e.prototype = Object.create(t.prototype, a), e.prototype.constructor = e, Object.defineProperty(e, "super", {
value: t.prototype
}), n && Object.assign(e.prototype, n);
}, dh = (e, t, n, a) => {
let s, r, l;
const i = {};
if (t = t || {}, e == null) return t;
do {
for (s = Object.getOwnPropertyNames(e), r = s.length; r-- > 0; )
l = s[r], (!a || a(l, e, t)) && !i[l] && (t[l] = e[l], i[l] = !0);
e = n !== !1 && Cl(e);
} while (e && (!n || n(e, t)) && e !== Object.prototype);
return t;
}, fh = (e, t, n) => {
e = String(e), (n === void 0 || n > e.length) && (n = e.length), n -= t.length;
const a = e.indexOf(t, n);
return a !== -1 && a === n;
}, hh = (e) => {
if (!e) return null;
if (ra(e)) return e;
let t = e.length;
if (!ru(t)) return null;
const n = new Array(t);
for (; t-- > 0; )
n[t] = e[t];
return n;
}, mh = /* @__PURE__ */ ((e) => (t) => e && t instanceof e)(typeof Uint8Array < "u" && Cl(Uint8Array)), vh = (e, t) => {
const a = (e && e[$s]).call(e);
let s;
for (; (s = a.next()) && !s.done; ) {
const r = s.value;
t.call(e, r[0], r[1]);
}
}, yh = (e, t) => {
let n;
const a = [];
for (; (n = e.exec(t)) !== null; )
a.push(n);
return a;
}, gh = At("HTMLFormElement"), bh = (e) => e.toLowerCase().replace(
/[-_\s]([a-z\d])(\w*)/g,
function(n, a, s) {
return a.toUpperCase() + s;
}
), Oi = (({ hasOwnProperty: e }) => (t, n) => e.call(t, n))(Object.prototype), ph = At("RegExp"), ou = (e, t) => {
const n = Object.getOwnPropertyDescriptors(e), a = {};
za(n, (s, r) => {
let l;
(l = t(s, r, e)) !== !1 && (a[r] = l || s);
}), Object.defineProperties(e, a);
}, Sh = (e) => {
ou(e, (t, n) => {
if (dt(e) && ["arguments", "caller", "callee"].indexOf(n) !== -1)
return !1;
const a = e[n];
if (dt(a)) {
if (t.enumerable = !1, "writable" in t) {
t.writable = !1;
return;
}
t.set || (t.set = () => {
throw Error("Can not rewrite read-only method '" + n + "'");
});
}
});
}, wh = (e, t) => {
const n = {}, a = (s) => {
s.forEach((r) => {
n[r] = !0;
});
};
return ra(e) ? a(e) : a(String(e).split(t)), n;
}, _h = () => {
}, kh = (e, t) => e != null && Number.isFinite(e = +e) ? e : t;
function Ch(e) {
return !!(e && dt(e.append) && e[au] === "FormData" && e[$s]);
}
const Ph = (e) => {
const t = new Array(10), n = (a, s) => {
if (Ua(a)) {
if (t.indexOf(a) >= 0)
return;
if ($a(a))
return a;
if (!("toJSON" in a)) {
t[s] = a;
const r = ra(a) ? [] : {};
return za(a, (l, i) => {
const o = n(l, s + 1);
!Xn(o) && (r[i] = o);
}), t[s] = void 0, r;
}
}
return a;
};
return n(e, 0);
}, xh = At("AsyncFunction"), Ih = (e) => e && (Ua(e) || dt(e)) && dt(e.then) && dt(e.catch), uu = ((e, t) => e ? setImmediate : t ? ((n, a) => (Tn.addEventListener("message", ({ source: s, data: r }) => {
s === Tn && r === n && a.length && a.shift()();
}, !1), (s) => {
a.push(s), Tn.postMessage(n, "*");
}))(`axios@${Math.random()}`, []) : (n) => setTimeout(n))(
typeof setImmediate == "function",
dt(Tn.postMessage)
), Oh = typeof queueMicrotask < "u" ? queueMicrotask.bind(Tn) : typeof process < "u" && process.nextTick || uu, Th = (e) => e != null && dt(e[$s]), C = {
isArray: ra,
isArrayBuffer: su,
isBuffer: $a,
isFormData: th,
isArrayBufferView: Wf,
isString: Gf,
isNumber: ru,
isBoolean: Qf,
isObject: Ua,
isPlainObject: hs,
isEmptyObject: qf,
isReadableStream: ah,
isRequest: sh,
isResponse: rh,
isHeaders: lh,
isUndefined: Xn,
isDate: Kf,
isFile: Jf,
isBlob: Zf,
isRegExp: ph,
isFunction: dt,
isStream: eh,
isURLSearchParams: nh,
isTypedArray: mh,
isFileList: Xf,
forEach: za,
merge: Ur,
extend: oh,
trim: ih,
stripBOM: uh,
inherits: ch,
toFlatObject: dh,
kindOf: Us,
kindOfTest: At,
endsWith: fh,
toArray: hh,
forEachEntry: vh,
matchAll: yh,
isHTMLForm: gh,
hasOwnProperty: Oi,
hasOwnProp: Oi,
// an alias to avoid ESLint no-prototype-builtins detection
reduceDescriptors: ou,
freezeMethods: Sh,
toObjectSet: wh,
toCamelCase: bh,
noop: _h,
toFiniteNumber: kh,
findKey: lu,
global: Tn,
isContextDefined: iu,
isSpecCompliantForm: Ch,
toJSONObject: Ph,
isAsyncFn: xh,
isThenable: Ih,
setImmediate: uu,
asap: Oh,
isIterable: Th
};
function ce(e, t, n, a, s) {
Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack, this.message = e, this.name = "AxiosError", t && (this.code = t), n && (this.config = n), a && (this.request = a), s && (this.response = s, this.status = s.status ? s.status : null);
}
C.inherits(ce, Error, {
toJSON: function() {
return {
// Standard
message: this.message,
name: this.name,
// Microsoft
description: this.description,
number: this.number,
// Mozilla
fileName: this.fileName,
lineNumber: this.lineNumber,
columnNumber: this.columnNumber,
stack: this.stack,
// Axios
config: C.toJSONObject(this.config),
code: this.code,
status: this.status
};
}
});
const cu = ce.prototype, du = {};
[
"ERR_BAD_OPTION_VALUE",
"ERR_BAD_OPTION",
"ECONNABORTED",
"ETIMEDOUT",
"ERR_NETWORK",
"ERR_FR_TOO_MANY_REDIRECTS",
"ERR_DEPRECATED",
"ERR_BAD_RESPONSE",
"ERR_BAD_REQUEST",
"ERR_CANCELED",
"ERR_NOT_SUPPORT",
"ERR_INVALID_URL"
// eslint-disable-next-line func-names
].forEach((e) => {
du[e] = { value: e };
});
Object.defineProperties(ce, du);
Object.defineProperty(cu, "isAxiosError", { value: !0 });
ce.from = (e, t, n, a, s, r) => {
const l = Object.create(cu);
C.toFlatObject(e, l, function(c) {
return c !== Error.prototype;
}, (u) => u !== "isAxiosError");
const i = e && e.message ? e.message : "Error", o = t == null && e ? e.code : t;
return ce.call(l, i, o, n, a, s), e && l.cause == null && Object.defineProperty(l, "cause", { value: e, configurable: !0 }), l.name = e && e.name || "Error", r && Object.assign(l, r), l;
};
const Vh = null;
function zr(e) {
return C.isPlainObject(e) || C.isArray(e);
}
function fu(e) {
return C.endsWith(e, "[]") ? e.slice(0, -2) : e;
}
function Ti(e, t, n) {
return e ? e.concat(t).map(function(s, r) {
return s = fu(s), !n && r ? "[" + s + "]" : s;
}).join(n ? "." : "") : t;
}
function Eh(e) {
return C.isArray(e) && !e.some(zr);
}
const Ah = C.toFlatObject(C, {}, null, function(t) {
return /^is[A-Z]/.test(t);
});
function Hs(e, t, n) {
if (!C.isObject(e))
throw new TypeError("target must be an object");
t = t || new FormData(), n = C.toFlatObject(n, {
metaTokens: !0,
dots: !1,
indexes: !1
}, !1, function(y, m) {
return !C.isUndefined(m[y]);
});
const a = n.metaTokens, s = n.visitor || c, r = n.dots, l = n.indexes, o = (n.Blob || typeof Blob < "u" && Blob) && C.isSpecCompliantForm(t);
if (!C.isFunction(s))
throw new TypeError("visitor must be a function");
function u(f) {
if (f === null) return "";
if (C.isDate(f))
return f.toISOString();
if (C.isBoolean(f))
return f.toString();
if (!o && C.isBlob(f))
throw new ce("Blob is not supported. Use a Buffer instead.");
return C.isArrayBuffer(f) || C.isTypedArray(f) ? o && typeof Blob == "function" ? new Blob([f]) : Buffer.from(f) : f;
}
function c(f, y, m) {
let b = f;
if (f && !m && typeof f == "object") {
if (C.endsWith(y, "{}"))
y = a ? y : y.slice(0, -2), f = JSON.stringify(f);
else if (C.isArray(f) && Eh(f) || (C.isFileList(f) || C.endsWith(y, "[]")) && (b = C.toArray(f)))
return y = fu(y), b.forEach(function(P, I) {
!(C.isUndefined(P) || P === null) && t.append(
// eslint-disable-next-line no-nested-ternary
l === !0 ? Ti([y], I, r) : l === null ? y : y + "[]",
u(P)
);
}), !1;
}
return zr(f) ? !0 : (t.append(Ti(m, y, r), u(f)), !1);
}
const d = [], h = Object.assign(Ah, {
defaultVisitor: c,
convertValue: u,
isVisitable: zr
});
function v(f, y) {
if (!C.isUndefined(f)) {
if (d.indexOf(f) !== -1)
throw Error("Circular reference detected in " + y.join("."));
d.push(f), C.forEach(f, function(b, S) {
(!(C.isUndefined(b) || b === null) && s.call(
t,
b,
C.isString(S) ? S.trim() : S,
y,
h
)) === !0 && v(b, y ? y.concat(S) : [S]);
}), d.pop();
}
}
if (!C.isObject(e))
throw new TypeError("data must be an object");
return v(e), t;
}
function Vi(e) {
const t = {
"!": "%21",
"'": "%27",
"(": "%28",
")": "%29",
"~": "%7E",
"%20": "+",
"%00": "\0"
};
return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, function(a) {
return t[a];
});
}
function Pl(e, t) {
this._pairs = [], e && Hs(e, this, t);
}
const hu = Pl.prototype;
hu.append = function(t, n) {
this._pairs.push([t, n]);
};
hu.toString = function(t) {
const n = t ? function(a) {
return t.call(this, a, Vi);
} : Vi;
return this._pairs.map(function(s) {
return n(s[0]) + "=" + n(s[1]);
}, "").join("&");
};
function Dh(e) {
return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
}
function mu(e, t, n) {
if (!t)
return e;
const a = n && n.encode || Dh;
C.isFunction(n) && (n = {
serialize: n
});
const s = n && n.serialize;
let r;
if (s ? r = s(t, n) : r = C.isURLSearchParams(t) ? t.toString() : new Pl(t, n).toString(a), r) {
const l = e.indexOf("#");
l !== -1 && (e = e.slice(0, l)), e += (e.indexOf("?") === -1 ? "?" : "&") + r;
}
return e;
}
class Ei {
constructor() {
this.handlers = [];
}
/**
* Add a new interceptor to the stack
*
* @param {Function} fulfilled The function to handle `then` for a `Promise`
* @param {Function} rejected The function to handle `reject` for a `Promise`
*
* @return {Number} An ID used to remove interceptor later
*/
use(t, n, a) {
return this.handlers.push({
fulfilled: t,
rejected: n,
synchronous: a ? a.synchronous : !1,
runWhen: a ? a.runWhen : null
}), this.handlers.length - 1;
}
/**
* Remove an interceptor from the stack
*
* @param {Number} id The ID that was returned by `use`
*
* @returns {void}
*/
eject(t) {
this.handlers[t] && (this.handlers[t] = null);
}
/**
* Clear all interceptors from the stack
*
* @returns {void}
*/
clear() {
this.handlers && (this.handlers = []);
}
/**
* Iterate over all the registered interceptors
*
* This method is particularly useful for skipping over any
* interceptors that may have become `null` calling `eject`.
*
* @param {Function} fn The function to call for each interceptor
*
* @returns {void}
*/
forEach(t) {
C.forEach(this.handlers, function(a) {
a !== null && t(a);
});
}
}
const vu = {
silentJSONParsing: !0,
forcedJSONParsing: !0,
clarifyTimeoutError: !1
}, Mh = typeof URLSearchParams < "u" ? URLSearchParams : Pl, Rh = typeof FormData < "u" ? FormData : null, Fh = typeof Blob < "u" ? Blob : null, Lh = {
isBrowser: !0,
classes: {
URLSearchParams: Mh,
FormData: Rh,
Blob: Fh
},
protocols: ["http", "https", "file", "blob", "url", "data"]
}, xl = typeof window < "u" && typeof document < "u", Hr = typeof navigator == "object" && navigator || void 0, Nh = xl && (!Hr || ["ReactNative", "NativeScript", "NS"].indexOf(Hr.product) < 0), Bh = typeof WorkerGlobalScope < "u" && // eslint-disable-next-line no-undef
self instanceof WorkerGlobalScope && typeof self.importScripts == "function", $h = xl && window.location.href || "http://localhost", Uh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
hasBrowserEnv: xl,
hasStandardBrowserEnv: Nh,
hasStandardBrowserWebWorkerEnv: Bh,
navigator: Hr,
origin: $h
}, Symbol.toStringTag, { value: "Module" })), Xe = {
...Uh,
...Lh
};
function zh(e, t) {
return Hs(e, new Xe.classes.URLSearchParams(), {
visitor: function(n, a, s, r) {
return Xe.isNode && C.isBuffer(n) ? (this.append(a, n.toString("base64")), !1) : r.defaultVisitor.apply(this, arguments);
},
...t
});
}
function Hh(e) {
return C.matchAll(/\w+|\[(\w*)]/g, e).map((t) => t[0] === "[]" ? "" : t[1] || t[0]);
}
function Yh(e) {
const t = {}, n = Object.keys(e);
let a;
const s = n.length;
let r;
for (a = 0; a < s; a++)
r = n[a], t[r] = e[r];
return t;
}
function yu(e) {
function t(n, a, s, r) {
let l = n[r++];
if (l === "__proto__") return !0;
const i = Number.isFinite(+l), o = r >= n.length;
return l = !l && C.isArray(s) ? s.length : l, o ? (C.hasOwnProp(s, l) ? s[l] = [s[l], a] : s[l] = a, !i) : ((!s[l] || !C.isObject(s[l])) && (s[l] = []), t(n, a, s[l], r) && C.isArray(s[l]) && (s[l] = Yh(s[l])), !i);
}
if (C.isFormData(e) && C.isFunction(e.entries)) {
const n = {};
return C.forEachEntry(e, (a, s) => {
t(Hh(a), s, n, 0);
}), n;
}
return null;
}
function jh(e, t, n) {
if (C.isString(e))
try {
return (t || JSON.parse)(e), C.trim(e);
} catch (a) {
if (a.name !== "SyntaxError")
throw a;
}
return (n || JSON.stringify)(e);
}
const Ha = {
transitional: vu,
adapter: ["xhr", "http", "fetch"],
transformRequest: [function(t, n) {
const a = n.getContentType() || "", s = a.indexOf("application/json") > -1, r = C.isObject(t);
if (r && C.isHTMLForm(t) && (t = new FormData(t)), C.isFormData(t))
return s ? JSON.stringify(yu(t)) : t;
if (C.isArrayBuffer(t) || C.isBuffer(t) || C.isStream(t) || C.isFile(t) || C.isBlob(t) || C.isReadableStream(t))
return t;
if (C.isArrayBufferView(t))
return t.buffer;
if (C.isURLSearchParams(t))
return n.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), t.toString();
let i;
if (r) {
if (a.indexOf("application/x-www-form-urlencoded") > -1)
return zh(t, this.formSerializer).toString();
if ((i = C.isFileList(t)) || a.indexOf("multipart/form-data") > -1) {
const o = this.env && this.env.FormData;
return Hs(
i ? { "files[]": t } : t,
o && new o(),
this.formSerializer
);
}
}
return r || s ? (n.setContentType("application/json", !1), jh(t)) : t;
}],
transformResponse: [function(t) {
const n = this.transitional || Ha.transitional, a = n && n.forcedJSONParsing, s = this.responseType === "json";
if (C.isResponse(t) || C.isReadableStream(t))
return t;
if (t && C.isString(t) && (a && !this.responseType || s)) {
const l = !(n && n.silentJSONParsing) && s;
try {
return JSON.parse(t, this.parseReviver);
} catch (i) {
if (l)
throw i.name === "SyntaxError" ? ce.from(i, ce.ERR_BAD_RESPONSE, this, null, this.response) : i;
}
}
return t;
}],
/**
* A timeout in milliseconds to abort a request. If set to 0 (default) a
* timeout is not created.
*/
timeout: 0,
xsrfCookieName: "XSRF-TOKEN",
xsrfHeaderName: "X-XSRF-TOKEN",
maxContentLength: -1,
maxBodyLength: -1,
env: {
FormData: Xe.classes.FormData,
Blob: Xe.classes.Blob
},
validateStatus: function(t) {
return t >= 200 && t < 300;
},
headers: {
common: {
Accept: "application/json, text/plain, */*",
"Content-Type": void 0
}
}
};
C.forEach(["delete", "get", "head", "post", "put", "patch"], (e) => {
Ha.headers[e] = {};
});
const Wh = C.toObjectSet([
"age",
"authorization",
"content-length",
"content-type",
"etag",
"expires",
"from",
"host",
"if-modified-since",
"if-unmodified-since",
"last-modified",
"location",
"max-forwards",
"proxy-authorization",
"referer",
"retry-after",
"user-agent"
]), Gh = (e) => {
const t = {};
let n, a, s;
return e && e.split(`
`).forEach(function(l) {
s = l.indexOf(":"), n = l.substring(0, s).trim().toLowerCase(), a = l.substring(s + 1).trim(), !(!n || t[n] && Wh[n]) && (n === "set-cookie" ? t[n] ? t[n].push(a) : t[n] = [a] : t[n] = t[n] ? t[n] + ", " + a : a);
}), t;
}, Ai = Symbol("internals");
function va(e) {
return e && String(e).trim().toLowerCase();
}
function ms(e) {
return e === !1 || e == null ? e : C.isArray(e) ? e.map(ms) : String(e);
}
function Qh(e) {
const t = /* @__PURE__ */ Object.create(null), n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
let a;
for (; a = n.exec(e); )
t[a[1]] = a[2];
return t;
}
const qh = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());
function yr(e, t, n, a, s) {
if (C.isFunction(a))
return a.call(this, t, n);
if (s && (t = n), !!C.isString(t)) {
if (C.isString(a))
return t.indexOf(a) !== -1;
if (C.isRegExp(a))
return a.test(t);
}
}
function Kh(e) {
return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (t, n, a) => n.toUpperCase() + a);
}
function Jh(e, t) {
const n = C.toCamelCase(" " + t);
["get", "set", "has"].forEach((a) => {
Object.defineProperty(e, a + n, {
value: function(s, r, l) {
return this[a].call(this, t, s, r, l);
},
configurable: !0
});
});
}
let ft = class {
constructor(t) {
t && this.set(t);
}
set(t, n, a) {
const s = this;
function r(i, o, u) {
const c = va(o);
if (!c)
throw new Error("header name must be a non-empty string");
const d = C.findKey(s, c);
(!d || s[d] === void 0 || u === !0 || u === void 0 && s[d] !== !1) && (s[d || o] = ms(i));
}
const l = (i, o) => C.forEach(i, (u, c) => r(u, c, o));
if (C.isPlainObject(t) || t instanceof this.constructor)
l(t, n);
else if (C.isString(t) && (t = t.trim()) && !qh(t))
l(Gh(t), n);
else if (C.isObject(t) && C.isIterable(t)) {
let i = {}, o, u;
for (const c of t) {
if (!C.isArray(c))
throw TypeError("Object iterator must return a key-value pair");
i[u = c[0]] = (o = i[u]) ? C.isArray(o) ? [...o, c[1]] : [o, c[1]] : c[1];
}
l(i, n);
} else
t != null && r(n, t, a);
return this;
}
get(t, n) {
if (t = va(t), t) {
const a = C.findKey(this, t);
if (a) {
const s = this[a];
if (!n)
return s;
if (n === !0)
return Qh(s);
if (C.isFunction(n))
return n.call(this, s, a);
if (C.isRegExp(n))
return n.exec(s);
throw new TypeError("parser must be boolean|regexp|function");
}
}
}
has(t, n) {
if (t = va(t), t) {
const a = C.findKey(this, t);
return !!(a && this[a] !== void 0 && (!n || yr(this, this[a], a, n)));
}
return !1;
}
delete(t, n) {
const a = this;
let s = !1;
function r(l) {
if (l = va(l), l) {
const i = C.findKey(a, l);
i && (!n || yr(a, a[i], i, n)) && (delete a[i], s = !0);
}
}
return C.isArray(t) ? t.forEach(r) : r(t), s;
}
clear(t) {
const n = Object.keys(this);
let a = n.length, s = !1;
for (; a--; ) {
const r = n[a];
(!t || yr(this, this[r], r, t, !0)) && (delete this[r], s = !0);
}
return s;
}
normalize(t) {
const n = this, a = {};
return C.forEach(this, (s, r) => {
const l = C.findKey(a, r);
if (l) {
n[l] = ms(s), delete n[r];
return;
}
const i = t ? Kh(r) : String(r).trim();
i !== r && delete n[r], n[i] = ms(s), a[i] = !0;
}), this;
}
concat(...t) {
return this.constructor.concat(this, ...t);
}
toJSON(t) {
const n = /* @__PURE__ */ Object.create(null);
return C.forEach(this, (a, s) => {
a != null && a !== !1 && (n[s] = t && C.isArray(a) ? a.join(", ") : a);
}), n;
}
[Symbol.iterator]() {
return Object.entries(this.toJSON())[Symbol.iterator]();
}
toString() {
return Object.entries(this.toJSON()).map(([t, n]) => t + ": " + n).join(`
`);
}
getSetCookie() {
return this.get("set-cookie") || [];
}
get [Symbol.toStringTag]() {
return "AxiosHeaders";
}
static from(t) {
return t instanceof this ? t : new this(t);
}
static concat(t, ...n) {
const a = new this(t);
return n.forEach((s) => a.set(s)), a;
}
static accessor(t) {
const a = (this[Ai] = this[Ai] = {
accessors: {}
}).accessors, s = this.prototype;
function r(l) {
const i = va(l);
a[i] || (Jh(s, l), a[i] = !0);
}
return C.isArray(t) ? t.forEach(r) : r(t), this;
}
};
ft.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
C.reduceDescriptors(ft.prototype, ({ value: e }, t) => {
let n = t[0].toUpperCase() + t.slice(1);
return {
get: () => e,
set(a) {
this[n] = a;
}
};
});
C.freezeMethods(ft);
function gr(e, t) {
const n = this || Ha, a = t || n, s = ft.from(a.headers);
let r = a.data;
return C.forEach(e, function(i) {
r = i.call(n, r, s.normalize(), t ? t.status : void 0);
}), s.normalize(), r;
}
function gu(e) {
return !!(e && e.__CANCEL__);
}
function la(e, t, n) {
ce.call(this, e ?? "canceled", ce.ERR_CANCELED, t, n), this.name = "CanceledError";
}
C.inherits(la, ce, {
__CANCEL__: !0
});
function bu(e, t, n) {
const a = n.config.validateStatus;
!n.status || !a || a(n.status) ? e(n) : t(new ce(
"Request failed with status code " + n.status,
[ce.ERR_BAD_REQUEST, ce.ERR_BAD_RESPONSE][Math.floor(n.status / 100) - 4],
n.config,
n.request,
n
));
}
function Zh(e) {
const t = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e);
return t && t[1] || "";
}
function Xh(e, t) {
e = e || 10;
const n = new Array(e), a = new Array(e);
let s = 0, r = 0, l;
return t = t !== void 0 ? t : 1e3, function(o) {
const u = Date.now(), c = a[r];
l || (l = u), n[s] = o, a[s] = u;
let d = r, h = 0;
for (; d !== s; )
h += n[d++], d = d % e;
if (s = (s + 1) % e, s === r && (r = (r + 1) % e), u - l < t)
return;
const v = c && u - c;
return v ? Math.round(h * 1e3 / v) : void 0;
};
}
function em(e, t) {
let n = 0, a = 1e3 / t, s, r;
const l = (u, c = Date.now()) => {
n = c, s = null, r && (clearTimeout(r), r = null), e(...u);
};
return [(...u) => {
const c = Date.now(), d = c - n;
d >= a ? l(u, c) : (s = u, r || (r = setTimeout(() => {
r = null, l(s);
}, a - d)));
}, () => s && l(s)];
}
const ws = (e, t, n = 3) => {
let a = 0;
const s = Xh(50, 250);
return em((r) => {
const l = r.loaded, i = r.lengthComputable ? r.total : void 0, o = l - a, u = s(o), c = l <= i;
a = l;
const d = {
loaded: l,
total: i,
progress: i ? l / i : void 0,
bytes: o,
rate: u || void 0,
estimated: u && i && c ? (i - l) / u : void 0,
event: r,
lengthComputable: i != null,
[t ? "download" : "upload"]: !0
};
e(d);
}, n);
}, Di = (e, t) => {
const n = e != null;
return [(a) => t[0]({
lengthComputable: n,
total: e,
loaded: a
}), t[1]];
}, Mi = (e) => (...t) => C.asap(() => e(...t)), tm = Xe.hasStandardBrowserEnv ? /* @__PURE__ */ ((e, t) => (n) => (n = new URL(n, Xe.origin), e.protocol === n.protocol && e.host === n.host && (t || e.port === n.port)))(
new URL(Xe.origin),
Xe.navigator && /(msie|trident)/i.test(Xe.navigator.userAgent)
) : () => !0, nm = Xe.hasStandardBrowserEnv ? (
// Standard browser envs support document.cookie
{
write(e, t, n, a, s, r, l) {
if (typeof document > "u") return;
const i = [`${e}=${encodeURIComponent(t)}`];
C.isNumber(n) && i.push(`expires=${new Date(n).toUTCString()}`), C.isString(a) && i.push(`path=${a}`), C.isString(s) && i.push(`domain=${s}`), r === !0 && i.push("secure"), C.isString(l) && i.push(`SameSite=${l}`), document.cookie = i.join("; ");
},
read(e) {
if (typeof document > "u") return null;
const t = document.cookie.match(new RegExp("(?:^|; )" + e + "=([^;]*)"));
return t ? decodeURIComponent(t[1]) : null;
},
remove(e) {
this.write(e, "", Date.now() - 864e5, "/");
}
}
) : (
// Non-standard browser env (web workers, react-native) lack needed support.
{
write() {
},
read() {
return null;
},
remove() {
}
}
);
function am(e) {
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e);
}
function sm(e, t) {
return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e;
}
function pu(e, t, n) {
let a = !am(t);
return e && (a || n == !1) ? sm(e, t) : t;
}
const Ri = (e) => e instanceof ft ? { ...e } : e;
function Rn(e, t) {
t = t || {};
const n = {};
function a(u, c, d, h) {
return C.isPlainObject(u) && C.isPlainObject(c) ? C.merge.call({ caseless: h }, u, c) : C.isPlainObject(c) ? C.merge({}, c) : C.isArray(c) ? c.slice() : c;
}
function s(u, c, d, h) {
if (C.isUndefined(c)) {
if (!C.isUndefined(u))
return a(void 0, u, d, h);
} else return a(u, c, d, h);
}
function r(u, c) {
if (!C.isUndefined(c))
return a(void 0, c);
}
function l(u, c) {
if (C.isUndefined(c)) {
if (!C.isUndefined(u))
return a(void 0, u);
} else return a(void 0, c);
}
function i(u, c, d) {
if (d in t)
return a(u, c);
if (d in e)
return a(void 0, u);
}
const o = {
url: r,
method: r,
data: r,
baseURL: l,
transformRequest: l,
transformResponse: l,
paramsSerializer: l,
timeout: l,
timeoutMessage: l,
withCredentials: l,
withXSRFToken: l,
adapter: l,
responseType: l,
xsrfCookieName: l,
xsrfHeaderName: l,
onUploadProgress: l,
onDownloadProgress: l,
decompress: l,
maxContentLength: l,
maxBodyLength: l,
beforeRedirect: l,
transport: l,
httpAgent: l,
httpsAgent: l,
cancelToken: l,
socketPath: l,
responseEncoding: l,
validateStatus: i,
headers: (u, c, d) => s(Ri(u), Ri(c), d, !0)
};
return C.forEach(Object.keys({ ...e, ...t }), function(c) {
const d = o[c] || s, h = d(e[c], t[c], c);
C.isUndefined(h) && d !== i || (n[c] = h);
}), n;
}
const Su = (e) => {
const t = Rn({}, e);
let { data: n, withXSRFToken: a, xsrfHeaderName: s, xsrfCookieName: r, headers: l, auth: i } = t;
if (t.headers = l = ft.from(l), t.url = mu(pu(t.baseURL, t.url, t.allowAbsoluteUrls), e.params, e.paramsSerializer), i && l.set(
"Authorization",
"Basic " + btoa((i.username || "") + ":" + (i.password ? unescape(encodeURIComponent(i.password)) : ""))
), C.isFormData(n)) {
if (Xe.hasStandardBrowserEnv || Xe.hasStandardBrowserWebWorkerEnv)
l.setContentType(void 0);
else if (C.isFunction(n.getHeaders)) {
const o = n.getHeaders(), u = ["content-type", "content-length"];
Object.entries(o).forEach(([c, d]) => {
u.includes(c.toLowerCase()) && l.set(c, d);
});
}
}
if (Xe.hasStandardBrowserEnv && (a && C.isFunction(a) && (a = a(t)), a || a !== !1 && tm(t.url))) {
const o = s && r && nm.read(r);
o && l.set(s, o);
}
return t;
}, rm = typeof XMLHttpRequest < "u", lm = rm && function(e) {
return new Promise(function(n, a) {
const s = Su(e);
let r = s.data;
const l = ft.from(s.headers).normalize();
let { responseType: i, onUploadProgress: o, onDownloadProgress: u } = s, c, d, h, v, f;
function y() {
v && v(), f && f(), s.cancelToken && s.cancelToken.unsubscribe(c), s.signal && s.signal.removeEventListener("abort", c);
}
let m = new XMLHttpRequest();
m.open(s.method.toUpperCase(), s.url, !0), m.timeout = s.timeout;
function b() {
if (!m)
return;
const P = ft.from(
"getAllResponseHeaders" in m && m.getAllResponseHeaders()
), k = {
data: !i || i === "text" || i === "json" ? m.responseText : m.response,
status: m.status,
statusText: m.statusText,
headers: P,
config: e,
request: m
};
bu(function(V) {
n(V), y();
}, function(V) {
a(V), y();
}, k), m = null;
}
"onloadend" in m ? m.onloadend = b : m.onreadystatechange = function() {
!m || m.readyState !== 4 || m.status === 0 && !(m.responseURL && m.responseURL.indexOf("file:") === 0) || setTimeout(b);
}, m.onabort = function() {
m && (a(new ce("Request aborted", ce.ECONNABORTED, e, m)), m = null);
}, m.onerror = function(I) {
const k = I && I.message ? I.message : "Network Error", D = new ce(k, ce.ERR_NETWORK, e, m);
D.event = I || null, a(D), m = null;
}, m.ontimeout = function() {
let I = s.timeout ? "timeout of " + s.timeout + "ms exceeded" : "timeout exceeded";
const k = s.transitional || vu;
s.timeoutErrorMessage && (I = s.timeoutErrorMessage), a(new ce(
I,
k.clarifyTimeoutError ? ce.ETIMEDOUT : ce.ECONNABORTED,
e,
m
)), m = null;
}, r === void 0 && l.setContentType(null), "setRequestHeader" in m && C.forEach(l.toJSON(), function(I, k) {
m.setRequestHeader(k, I);
}), C.isUndefined(s.withCredentials) || (m.withCredentials = !!s.withCredentials), i && i !== "json" && (m.responseType = s.responseType), u && ([h, f] = ws(u, !0), m.addEventListener("progress", h)), o && m.upload && ([d, v] = ws(o), m.upload.addEventListener("progress", d), m.upload.addEventListener("loadend", v)), (s.cancelToken || s.signal) && (c = (P) => {
m && (a(!P || P.type ? new la(null, e, m) : P), m.abort(), m = null);
}, s.cancelToken && s.cancelToken.subscribe(c), s.signal && (s.signal.aborted ? c() : s.signal.addEventListener("abort", c)));
const S = Zh(s.url);
if (S && Xe.protocols.indexOf(S) === -1) {
a(new ce("Unsupported protocol " + S + ":", ce.ERR_BAD_REQUEST, e));
return;
}
m.send(r || null);
});
}, im = (e, t) => {
const { length: n } = e = e ? e.filter(Boolean) : [];
if (t || n) {
let a = new AbortController(), s;
const r = function(u) {
if (!s) {
s = !0, i();
const c = u instanceof Error ? u : this.reason;
a.abort(c instanceof ce ? c : new la(c instanceof Error ? c.message : c));
}
};
let l = t && setTimeout(() => {
l = null, r(new ce(`timeout ${t} of ms exceeded`, ce.ETIMEDOUT));
}, t);
const i = () => {
e && (l && clearTimeout(l), l = null, e.forEach((u) => {
u.unsubscribe ? u.unsubscribe(r) : u.removeEventListener("abort", r);
}), e = null);
};
e.forEach((u) => u.addEventListener("abort", r));
const { signal: o } = a;
return o.unsubscribe = () => C.asap(i), o;
}
}, om = function* (e, t) {
let n = e.byteLength;
if (n < t) {
yield e;
return;
}
let a = 0, s;
for (; a < n; )
s = a + t, yield e.slice(a, s), a = s;
}, um = async function* (e, t) {
for await (const n of cm(e))
yield* om(n, t);
}, cm = async function* (e) {
if (e[Symbol.asyncIterator]) {
yield* e;
return;
}
const t = e.getReader();
try {
for (; ; ) {
const { done: n, value: a } = await t.read();
if (n)
break;
yield a;
}
} finally {
await t.cancel();
}
}, Fi = (e, t, n, a) => {
const s = um(e, t);
let r = 0, l, i = (o) => {
l || (l = !0, a && a(o));
};
return new ReadableStream({
async pull(o) {
try {
const { done: u, value: c } = await s.next();
if (u) {
i(), o.close();
return;
}
let d = c.byteLength;
if (n) {
let h = r += d;
n(h);
}
o.enqueue(new Uint8Array(c));
} catch (u) {
throw i(u), u;
}
},
cancel(o) {
return i(o), s.return();
}
}, {
highWaterMark: 2
});
}, Li = 64 * 1024, { isFunction: ss } = C, dm = (({ Request: e, Response: t }) => ({
Request: e,
Response: t
}))(C.global), {
ReadableStream: Ni,
TextEncoder: Bi
} = C.global, $i = (e, ...t) => {
try {
return !!e(...t);
} catch {
return !1;
}
}, fm = (e) => {
e = C.merge.call({
skipUndefined: !0
}, dm, e);
const { fetch: t, Request: n, Response: a } = e, s = t ? ss(t) : typeof fetch == "function", r = ss(n), l = ss(a);
if (!s)
return !1;
const i = s && ss(Ni), o = s && (typeof Bi == "function" ? /* @__PURE__ */ ((f) => (y) => f.encode(y))(new Bi()) : async (f) => new Uint8Array(await new n(f).arrayBuffer())), u = r && i && $i(() => {
let f = !1;
const y = new n(Xe.origin, {
body: new Ni(),
method: "POST",
get duplex() {
return f = !0, "half";
}
}).headers.has("Content-Type");
return f && !y;
}), c = l && i && $i(() => C.isReadableStream(new a("").body)), d = {
stream: c && ((f) => f.body)
};
s && ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((f) => {
!d[f] && (d[f] = (y, m) => {
let b = y && y[f];
if (b)
return b.call(y);
throw new ce(`Response type '${f}' is not supported`, ce.ERR_NOT_SUPPORT, m);
});
});
const h = async (f) => {
if (f == null)
return 0;
if (C.isBlob(f))
return f.size;
if (C.isSpecCompliantForm(f))
return (await new n(Xe.origin, {
method: "POST",
body: f
}).arrayBuffer()).byteLength;
if (C.isArrayBufferView(f) || C.isArrayBuffer(f))
return f.byteLength;
if (C.isURLSearchParams(f) && (f = f + ""), C.isString(f))
return (await o(f)).byteLength;
}, v = async (f, y) => {
const m = C.toFiniteNumber(f.getContentLength());
return m ?? h(y);
};
return async (f) => {
let {
url: y,
method: m,
data: b,
signal: S,
cancelToken: P,
timeout: I,
onDownloadProgress: k,
onUploadProgress: D,
responseType: V,
headers: w,
withCredentials: T = "same-origin",
fetchOptions: N
} = Su(f), $ = t || fetch;
V = V ? (V + "").toLowerCase() : "text";
let B = im([S, P && P.toAbortSignal()], I), A = null;
const U = B && B.unsubscribe && (() => {
B.unsubscribe();
});
let Y;
try {
if (D && u && m !== "get" && m !== "head" && (Y = await v(w, b)) !== 0) {
let O = new n(y, {
method: "POST",
body: b,
duplex: "half"
}), F;
if (C.isFormData(b) && (F = O.headers.get("content-type")) && w.setContentType(F), O.body) {
const [q, se] = Di(
Y,
ws(Mi(D))
);
b = Fi(O.body, Li, q, se);
}
}
C.isString(T) || (T = T ? "include" : "omit");
const G = r && "credentials" in n.prototype, le = {
...N,
signal: B,
method: m.toUpperCase(),
headers: w.normalize().toJSON(),
body: b,
duplex: "half",
credentials: G ? T : void 0
};
A = r && new n(y, le);
let oe = await (r ? $(A, N) : $(y, le));
const _e = c && (V === "stream" || V === "response");
if (c && (k || _e && U)) {
const O = {};
["status", "statusText", "headers"].forEach((ae) => {
O[ae] = oe[ae];
});
const F = C.toFiniteNumber(oe.headers.get("content-length")), [q, se] = k && Di(
F,
ws(Mi(k), !0)
) || [];
oe = new a(
Fi(oe.body, Li, q, () => {
se && se(), U && U();
}),
O
);
}
V = V || "text";
let x = await d[C.findKey(d, V) || "text"](oe, f);
return !_e && U && U(), await new Promise((O, F) => {
bu(O, F, {
data: x,
headers: ft.from(oe.headers),
status: oe.status,
statusText: oe.statusText,
config: f,
request: A
});
});
} catch (G) {
throw U && U(), G && G.name === "TypeError" && /Load failed|fetch/i.test(G.message) ? Object.assign(
new ce("Network Error", ce.ERR_NETWORK, f, A),
{
cause: G.cause || G
}
) : ce.from(G, G && G.code, f, A);
}
};
}, hm = /* @__PURE__ */ new Map(), wu = (e) => {
let t = e && e.env || {};
const { fetch: n, Request: a, Response: s } = t, r = [
a,
s,
n
];
let l = r.length, i = l, o, u, c = hm;
for (; i--; )
o = r[i], u = c.get(o), u === void 0 && c.set(o, u = i ? /* @__PURE__ */ new Map() : fm(t)), c = u;
return u;
};
wu();
const Il = {
http: Vh,
xhr: lm,
fetch: {
get: wu
}
};
C.forEach(Il, (e, t) => {
if (e) {
try {
Object.defineProperty(e, "name", { value: t });
} catch {
}
Object.defineProperty(e, "adapterName", { value: t });
}
});
const Ui = (e) => `- ${e}`, mm = (e) => C.isFunction(e) || e === null || e === !1;
function vm(e, t) {
e = C.isArray(e) ? e : [e];
const { length: n } = e;
let a, s;
const r = {};
for (let l = 0; l < n; l++) {
a = e[l];
let i;
if (s = a, !mm(a) && (s = Il[(i = String(a)).toLowerCase()], s === void 0))
throw new ce(`Unknown adapter '${i}'`);
if (s && (C.isFunction(s) || (s = s.get(t))))
break;
r[i || "#" + l] = s;
}
if (!s) {
const l = Object.entries(r).map(
([o, u]) => `adapter ${o} ` + (u === !1 ? "is not supported by the environment" : "is not available in the build")
);
let i = n ? l.length > 1 ? `since :
` + l.map(Ui).join(`
`) : " " + Ui(l[0]) : "as no adapter specified";
throw new ce(
"There is no suitable adapter to dispatch the request " + i,
"ERR_NOT_SUPPORT"
);
}
return s;
}
const _u = {
/**
* Resolve an adapter from a list of adapter names or functions.
* @type {Function}
*/
getAdapter: vm,
/**
* Exposes all known adapters
* @type {Object<string, Function|Object>}
*/
adapters: Il
};
function br(e) {
if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted)
throw new la(null, e);
}
function zi(e) {
return br(e), e.headers = ft.from(e.headers), e.data = gr.call(
e,
e.transformRequest
), ["post", "put", "patch"].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), _u.getAdapter(e.adapter || Ha.adapter, e)(e).then(function(a) {
return br(e), a.data = gr.call(
e,
e.transformResponse,
a
), a.headers = ft.from(a.headers), a;
}, function(a) {
return gu(a) || (br(e), a && a.response && (a.response.data = gr.call(
e,
e.transformResponse,
a.response
), a.response.headers = ft.from(a.response.headers))), Promise.reject(a);
});
}
const ku = "1.13.2", Ys = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach((e, t) => {
Ys[e] = function(a) {
return typeof a === e || "a" + (t < 1 ? "n " : " ") + e;
};
});
const Hi = {};
Ys.transitional = function(t, n, a) {
function s(r, l) {
return "[Axios v" + ku + "] Transitional option '" + r + "'" + l + (a ? ". " + a : "");
}
return (r, l, i) => {
if (t === !1)
throw new ce(
s(l, " has been removed" + (n ? " in " + n : "")),
ce.ERR_DEPRECATED
);
return n && !Hi[l] && (Hi[l] = !0, console.warn(
s(
l,
" has been deprecated since v" + n + " and will be removed in the near future"
)
)), t ? t(r, l, i) : !0;
};
};
Ys.spelling = function(t) {
return (n, a) => (console.warn(`${a} is likely a misspelling of ${t}`), !0);
};
function ym(e, t, n) {
if (typeof e != "object")
throw new ce("options must be an object", ce.ERR_BAD_OPTION_VALUE);
const a = Object.keys(e);
let s = a.length;
for (; s-- > 0; ) {
const r = a[s], l = t[r];
if (l) {
const i = e[r], o = i === void 0 || l(i, r, e);
if (o !== !0)
throw new ce("option " + r + " must be " + o, ce.ERR_BAD_OPTION_VALUE);
continue;
}
if (n !== !0)
throw new ce("Unknown option " + r, ce.ERR_BAD_OPTION);
}
}
const vs = {
assertOptions: ym,
validators: Ys
}, Lt = vs.validators;
let En = class {
constructor(t) {
this.defaults = t || {}, this.interceptors = {
request: new Ei(),
response: new Ei()
};
}
/**
* Dispatch a request
*
* @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
* @param {?Object} config
*
* @returns {Promise} The Promise to be fulfilled
*/
async request(t, n) {
try {
return await this._request(t, n);
} catch (a) {
if (a instanceof Error) {
let s = {};
Error.captureStackTrace ? Error.captureStackTrace(s) : s = new Error();
const r = s.stack ? s.stack.replace(/^.+\n/, "") : "";
try {
a.stack ? r && !String(a.stack).endsWith(r.replace(/^.+\n.+\n/, "")) && (a.stack += `
` + r) : a.stack = r;
} catch {
}
}
throw a;
}
}
_request(t, n) {
typeof t == "string" ? (n = n || {}, n.url = t) : n = t || {}, n = Rn(this.defaults, n);
const { transitional: a, paramsSerializer: s, headers: r } = n;
a !== void 0 && vs.assertOptions(a, {
silentJSONParsing: Lt.transitional(Lt.boolean),
forcedJSONParsing: Lt.transitional(Lt.boolean),
clarifyTimeoutError: Lt.transitional(Lt.boolean)
}, !1), s != null && (C.isFunction(s) ? n.paramsSerializer = {
serialize: s
} : vs.assertOptions(s, {
encode: Lt.function,
serialize: Lt.function
}, !0)), n.allowAbsoluteUrls !== void 0 || (this.defaults.allowAbsoluteUrls !== void 0 ? n.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls : n.allowAbsoluteUrls = !0), vs.assertOptions(n, {
baseUrl: Lt.spelling("baseURL"),
withXsrfToken: Lt.spelling("withXSRFToken")
}, !0), n.method = (n.method || this.defaults.method || "get").toLowerCase();
let l = r && C.merge(
r.common,
r[n.method]
);
r && C.forEach(
["delete", "get", "head", "post", "put", "patch", "common"],
(f) => {
delete r[f];
}
), n.headers = ft.concat(l, r);
const i = [];
let o = !0;
this.interceptors.request.forEach(function(y) {
typeof y.runWhen == "function" && y.runWhen(n) === !1 || (o = o && y.synchronous, i.unshift(y.fulfilled, y.rejected));
});
const u = [];
this.interceptors.response.forEach(function(y) {
u.push(y.fulfilled, y.rejected);
});
let c, d = 0, h;
if (!o) {
const f = [zi.bind(this), void 0];
for (f.unshift(...i), f.push(...u), h = f.length, c = Promise.resolve(n); d < h; )
c = c.then(f[d++], f[d++]);
return c;
}
h = i.length;
let v = n;
for (; d < h; ) {
const f = i[d++], y = i[d++];
try {
v = f(v);
} catch (m) {
y.call(this, m);
break;
}
}
try {
c = zi.call(this, v);
} catch (f) {
return Promise.reject(f);
}
for (d = 0, h = u.length; d < h; )
c = c.then(u[d++], u[d++]);
return c;
}
getUri(t) {
t = Rn(this.defaults, t);
const n = pu(t.baseURL, t.url, t.allowAbsoluteUrls);
return mu(n, t.params, t.paramsSerializer);
}
};
C.forEach(["delete", "get", "head", "options"], function(t) {
En.prototype[t] = function(n, a) {
return this.request(Rn(a || {}, {
method: t,
url: n,
data: (a || {}).data
}));
};
});
C.forEach(["post", "put", "patch"], function(t) {
function n(a) {
return function(r, l, i) {
return this.request(Rn(i || {}, {
method: t,
headers: a ? {
"Content-Type": "multipart/form-data"
} : {},
url: r,
data: l
}));
};
}
En.prototype[t] = n(), En.prototype[t + "Form"] = n(!0);
});
let gm = class Cu {
constructor(t) {
if (typeof t != "function")
throw new TypeError("executor must be a function.");
let n;
this.promise = new Promise(function(r) {
n = r;
});
const a = this;
this.promise.then((s) => {
if (!a._listeners) return;
let r = a._listeners.length;
for (; r-- > 0; )
a._listeners[r](s);
a._listeners = null;
}), this.promise.then = (s) => {
let r;
const l = new Promise((i) => {
a.subscribe(i), r = i;
}).then(s);
return l.cancel = function() {
a.unsubscribe(r);
}, l;
}, t(function(r, l, i) {
a.reason || (a.reason = new la(r, l, i), n(a.reason));
});
}
/**
* Throws a `CanceledError` if cancellation has been requested.
*/
throwIfRequested() {
if (this.reason)
throw this.reason;
}
/**
* Subscribe to the cancel signal
*/
subscribe(t) {
if (this.reason) {
t(this.reason);
return;
}
this._listeners ? this._listeners.push(t) : this._listeners = [t];
}
/**
* Unsubscribe from the cancel signal
*/
unsubscribe(t) {
if (!this._listeners)
return;
const n = this._listeners.indexOf(t);
n !== -1 && this._listeners.splice(n, 1);
}
toAbortSignal() {
const t = new AbortController(), n = (a) => {
t.abort(a);
};
return this.subscribe(n), t.signal.unsubscribe = () => this.unsubscribe(n), t.signal;
}
/**
* Returns an object that contains a new `CancelToken` and a function that, when called,
* cancels the `CancelToken`.
*/
static source() {
let t;
return {
token: new Cu(function(s) {
t = s;
}),
cancel: t
};
}
};
function bm(e) {
return function(n) {
return e.apply(null, n);
};
}
function pm(e) {
return C.isObject(e) && e.isAxiosError === !0;
}
const Yr = {
Continue: 100,
SwitchingProtocols: 101,
Processing: 102,
EarlyHints: 103,
Ok: 200,
Created: 201,
Accepted: 202,
NonAuthoritativeInformation: 203,
NoContent: 204,
ResetContent: 205,
PartialContent: 206,
MultiStatus: 207,
AlreadyReported: 208,
ImUsed: 226,
MultipleChoices: 300,
MovedPermanently: 301,
Found: 302,
SeeOther: 303,
NotModified: 304,
UseProxy: 305,
Unused: 306,
TemporaryRedirect: 307,
PermanentRedirect: 308,
BadRequest: 400,
Unauthorized: 401,
PaymentRequired: 402,
Forbidden: 403,
NotFound: 404,
MethodNotAllowed: 405,
NotAcceptable: 406,
ProxyAuthenticationRequired: 407,
RequestTimeout: 408,
Conflict: 409,
Gone: 410,
LengthRequired: 411,
PreconditionFailed: 412,
PayloadTooLarge: 413,
UriTooLong: 414,
UnsupportedMediaType: 415,
RangeNotSatisfiable: 416,
ExpectationFailed: 417,
ImATeapot: 418,
MisdirectedRequest: 421,
UnprocessableEntity: 422,
Locked: 423,
FailedDependency: 424,
TooEarly: 425,
UpgradeRequired: 426,
PreconditionRequired: 428,
TooManyRequests: 429,
RequestHeaderFieldsTooLarge: 431,
UnavailableForLegalReasons: 451,
InternalServerError: 500,
NotImplemented: 501,
BadGateway: 502,
ServiceUnavailable: 503,
GatewayTimeout: 504,
HttpVersionNotSupported: 505,
VariantAlsoNegotiates: 506,
InsufficientStorage: 507,
LoopDetected: 508,
NotExtended: 510,
NetworkAuthenticationRequired: 511,
WebServerIsDown: 521,
ConnectionTimedOut: 522,
OriginIsUnreachable: 523,
TimeoutOccurred: 524,
SslHandshakeFailed: 525,
InvalidSslCertificate: 526
};
Object.entries(Yr).forEach(([e, t]) => {
Yr[t] = e;
});
function Pu(e) {
const t = new En(e), n = nu(En.prototype.request, t);
return C.extend(n, En.prototype, t, { allOwnKeys: !0 }), C.extend(n, t, null, { allOwnKeys: !0 }), n.create = function(s) {
return Pu(Rn(e, s));
}, n;
}
const ye = Pu(Ha);
ye.Axios = En;
ye.CanceledError = la;
ye.CancelToken = gm;
ye.isCancel = gu;
ye.VERSION = ku;
ye.toFormData = Hs;
ye.AxiosError = ce;
ye.Cancel = ye.CanceledError;
ye.all = function(t) {
return Promise.all(t);
};
ye.spread = bm;
ye.isAxiosError = pm;
ye.mergeConfig = Rn;
ye.AxiosHeaders = ft;
ye.formToJSON = (e) => yu(C.isHTMLForm(e) ? new FormData(e) : e);
ye.getAdapter = _u.getAdapter;
ye.HttpStatusCode = Yr;
ye.default = ye;
const {
Axios: G0,
AxiosError: Q0,
CanceledError: q0,
isCancel: K0,
CancelToken: J0,
VERSION: Z0,
all: X0,
Cancel: ek,
isAxiosError: tk,
spread: nk,
toFormData: ak,
AxiosHeaders: sk,
HttpStatusCode: rk,
formToJSON: lk,
getAdapter: ik,
mergeConfig: ok
} = ye, et = "https://unh-pfem-services.ara.inrae.fr/forum-api".replace(/\/+$/, "");
class Ya {
constructor(t, n = et, a = ye) {
Ie(this, "configuration");
this.basePath = n, this.axios = a, t && (this.configuration = t, this.basePath = t.basePath || this.basePath);
}
}
class Sm extends Error {
constructor(n, a) {
super(a);
Ie(this, "name", "RequiredError");
this.field = n;
}
}
const at = "https://example.com", st = function(e, t, n) {
if (n == null)
throw new Sm(t, `Required parameter ${t} was null or undefined when calling ${e}.`);
};
function jr(e, t, n = "") {
typeof t == "object" ? Array.isArray(t) ? t.forEach((a) => jr(e, a, n)) : Object.keys(t).forEach(
(a) => jr(e, t[a], `${n}${n !== "" ? "." : ""}${a}`)
) : e.has(n) ? e.append(n, t) : e.set(n, t);
}
const rt = function(e, ...t) {
const n = new URLSearchParams(e.search);
jr(n, t), e.search = n.toString();
}, lt = function(e) {
return e.pathname + e.search + e.hash;
}, it = function(e, t, n, a) {
return (s = t, r = n) => {
const l = { ...e.options, url: (a?.basePath || r) + e.url };
return s.request(l);
};
}, wm = function(e) {
return {
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
chebiFuzzyQueryGet: async (t, n = {}) => {
st("chebiFuzzyQueryGet", "query", t);
const a = "/chebi_fuzzy/{query}/".replace("{query}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {string} idChebi idChebi
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
chebiMeshIdChebiGet: async (t, n = {}) => {
st("chebiMeshIdChebiGet", "idChebi", t);
const a = "/chebi_mesh/{idChebi}/".replace("{idChebi}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
meshChebiIdMeshGet: async (t, n = {}) => {
st("meshChebiIdMeshGet", "idMesh", t);
const a = "/mesh_chebi/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
}
};
}, pr = function(e) {
const t = wm(e);
return {
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async chebiFuzzyQueryGet(n, a) {
const s = await t.chebiFuzzyQueryGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {string} idChebi idChebi
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async chebiMeshIdChebiGet(n, a) {
const s = await t.chebiMeshIdChebiGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async meshChebiIdMeshGet(n, a) {
const s = await t.meshChebiIdMeshGet(n, a);
return it(s, ye, et, e);
}
};
};
class xu extends Ya {
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ChebiApi
*/
chebiFuzzyQueryGet(t, n) {
return pr(this.configuration).chebiFuzzyQueryGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {string} idChebi idChebi
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ChebiApi
*/
chebiMeshIdChebiGet(t, n) {
return pr(this.configuration).chebiMeshIdChebiGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ChebiApi
*/
meshChebiIdMeshGet(t, n) {
return pr(this.configuration).meshChebiIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
}
}
const _m = function(e) {
return {
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
chemontFuzzyQueryGet: async (t, n = {}) => {
st("chemontFuzzyQueryGet", "query", t);
const a = "/chemont_fuzzy/{query}/".replace("{query}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {string} idChemont idChemont
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
chemontMeshIdChemontGet: async (t, n = {}) => {
st("chemontMeshIdChemontGet", "idChemont", t);
const a = "/chemont_mesh/{idChemont}/".replace("{idChemont}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
meshChemontIdMeshGet: async (t, n = {}) => {
st("meshChemontIdMeshGet", "idMesh", t);
const a = "/mesh_chemont/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
}
};
}, Sr = function(e) {
const t = _m(e);
return {
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async chemontFuzzyQueryGet(n, a) {
const s = await t.chemontFuzzyQueryGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {string} idChemont idChemont
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async chemontMeshIdChemontGet(n, a) {
const s = await t.chemontMeshIdChemontGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async meshChemontIdMeshGet(n, a) {
const s = await t.meshChemontIdMeshGet(n, a);
return it(s, ye, et, e);
}
};
};
class Iu extends Ya {
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ChemontApi
*/
chemontFuzzyQueryGet(t, n) {
return Sr(this.configuration).chemontFuzzyQueryGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {string} idChemont idChemont
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ChemontApi
*/
chemontMeshIdChemontGet(t, n) {
return Sr(this.configuration).chemontMeshIdChemontGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ChemontApi
*/
meshChemontIdMeshGet(t, n) {
return Sr(this.configuration).meshChemontIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
}
}
const km = function(e) {
return {
/**
*
* @param {string} idChebi idChebi
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
chebiLabelIdChebiGet: async (t, n = {}) => {
st("chebiLabelIdChebiGet", "idChebi", t);
const a = "/chebi_label/{idChebi}/".replace("{idChebi}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {string} idChemont idChemont
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
chemontLabelIdChemontGet: async (t, n = {}) => {
st("chemontLabelIdChemontGet", "idChemont", t);
const a = "/chemont_label/{idChemont}/".replace("{idChemont}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
meshLabelIdMeshGet: async (t, n = {}) => {
st("meshLabelIdMeshGet", "idMesh", t);
const a = "/mesh_label/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
meshTreeIdMeshGet: async (t, n = {}) => {
st("meshTreeIdMeshGet", "idMesh", t);
const a = "/mesh_tree/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {number} idPubchem idPubchem
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
pubchemLabelIdPubchemGet: async (t, n = {}) => {
st("pubchemLabelIdPubchemGet", "idPubchem", t);
const a = "/pubchem_label/{idPubchem}/".replace("{idPubchem}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
}
};
}, ya = function(e) {
const t = km(e);
return {
/**
*
* @param {string} idChebi idChebi
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async chebiLabelIdChebiGet(n, a) {
const s = await t.chebiLabelIdChebiGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {string} idChemont idChemont
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async chemontLabelIdChemontGet(n, a) {
const s = await t.chemontLabelIdChemontGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async meshLabelIdMeshGet(n, a) {
const s = await t.meshLabelIdMeshGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async meshTreeIdMeshGet(n, a) {
const s = await t.meshTreeIdMeshGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {number} idPubchem idPubchem
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async pubchemLabelIdPubchemGet(n, a) {
const s = await t.pubchemLabelIdPubchemGet(n, a);
return it(s, ye, et, e);
}
};
};
class Cm extends Ya {
/**
*
* @param {string} idChebi idChebi
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof LabelsApi
*/
chebiLabelIdChebiGet(t, n) {
return ya(this.configuration).chebiLabelIdChebiGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {string} idChemont idChemont
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof LabelsApi
*/
chemontLabelIdChemontGet(t, n) {
return ya(this.configuration).chemontLabelIdChemontGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof LabelsApi
*/
meshLabelIdMeshGet(t, n) {
return ya(this.configuration).meshLabelIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof LabelsApi
*/
meshTreeIdMeshGet(t, n) {
return ya(this.configuration).meshTreeIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {number} idPubchem idPubchem
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof LabelsApi
*/
pubchemLabelIdPubchemGet(t, n) {
return ya(this.configuration).pubchemLabelIdPubchemGet(t, n).then((a) => a(this.axios, this.basePath));
}
}
const Pm = function(e) {
return {
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
meshFuzzyQueryGet: async (t, n = {}) => {
st("meshFuzzyQueryGet", "query", t);
const a = "/mesh_fuzzy/{query}/".replace("{query}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
}
};
}, xm = function(e) {
const t = Pm(e);
return {
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async meshFuzzyQueryGet(n, a) {
const s = await t.meshFuzzyQueryGet(n, a);
return it(s, ye, et, e);
}
};
};
class Im extends Ya {
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof MeshApi
*/
meshFuzzyQueryGet(t, n) {
return xm(this.configuration).meshFuzzyQueryGet(t, n).then((a) => a(this.axios, this.basePath));
}
}
const Om = function(e) {
return {
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
meshPubchemIdMeshGet: async (t, n = {}) => {
st("meshPubchemIdMeshGet", "idMesh", t);
const a = "/mesh_pubchem/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
pubchemFuzzyQueryGet: async (t, n = {}) => {
st("pubchemFuzzyQueryGet", "query", t);
const a = "/pubchem_fuzzy/{query}/".replace("{query}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
},
/**
*
* @param {number} idPubchem idPubchem
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
pubchemMeshIdPubchemGet: async (t, n = {}) => {
st("pubchemMeshIdPubchemGet", "idPubchem", t);
const a = "/pubchem_mesh/{idPubchem}/".replace("{idPubchem}", encodeURIComponent(String(t))), s = new URL(a, at);
let r;
e && (r = e.baseOptions);
const l = { method: "GET", ...r, ...n }, i = {};
rt(s, {});
let u = r && r.headers ? r.headers : {};
return l.headers = { ...i, ...u, ...n.headers }, {
url: lt(s),
options: l
};
}
};
}, wr = function(e) {
const t = Om(e);
return {
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async meshPubchemIdMeshGet(n, a) {
const s = await t.meshPubchemIdMeshGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async pubchemFuzzyQueryGet(n, a) {
const s = await t.pubchemFuzzyQueryGet(n, a);
return it(s, ye, et, e);
},
/**
*
* @param {number} idPubchem idPubchem
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async pubchemMeshIdPubchemGet(n, a) {
const s = await t.pubchemMeshIdPubchemGet(n, a);
return it(s, ye, et, e);
}
};
};
class Wr extends Ya {
/**
*
* @param {string} idMesh idMesh
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof PubchemApi
*/
meshPubchemIdMeshGet(t, n) {
return wr(this.configuration).meshPubchemIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {string} query the user\'s query
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof PubchemApi
*/
pubchemFuzzyQueryGet(t, n) {
return wr(this.configuration).pubchemFuzzyQueryGet(t, n).then((a) => a(this.axios, this.basePath));
}
/**
*
* @param {number} idPubchem idPubchem
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof PubchemApi
*/
pubchemMeshIdPubchemGet(t, n) {
return wr(this.configuration).pubchemMeshIdPubchemGet(t, n).then((a) => a(this.axios, this.basePath));
}
}
class Tm {
constructor(t, n, a) {
Ie(this, "id");
Ie(this, "name");
Ie(this, "score");
this._id = t, this._name = n, this._score = a, this.id = t, this.name = n, this.score = a;
}
}
const Vm = Ls({
name: "MthForumFormFinder",
emits: ["search-query"],
setup() {
return {
// from XXX to YYY
queryType: R(ze.comp_to_mesh),
// show / hide advanced options
switchShowAdvancedSetting: R(!1),
// advanced options value
searchType: R(ve.pubchem_id),
// search query value
searchQueryItem: R(null),
// new FuzzyItem("", "", 0)
// -- init dynamic data
labelTarget: R(
"MeSH biomedicals concepts"
/* CPD_TO_MESH */
),
labelSource: R(
"PubChem CID"
/* PUBCHEM_CID_TO_MESH */
),
// -- init autocomplet
searchQueryItems: R([]),
searchQueryLoading: R(!1),
searchQueryNoData: R(
"enter at least 5 letters..."
/* DEFAULT */
),
// -- init fuzzy matching APIs config
fuzzyMatchingKeywordMinLength: R(5),
searchQueryItemText: R(""),
searchQueryItemTextCache: R(""),
searchQueryItemsVisible: R(!1),
// -- init fuzzy matching APIs
pubchemAPI: R(new Wr()),
chebiApi: R(new xu()),
chemontApi: R(new Iu()),
meshApi: R(new Im()),
abortController: R(new AbortController())
};
},
mounted() {
this.loadParamFromHash(), this.launchQuery();
},
methods: {
/**
* Method use to reload parameters from the URL hash
* (allow users to share results using a copy/pasted URL)
*/
loadParamFromHash() {
const e = kl();
if (e.get("searchQueryName") && this.searchQueryItem != null) {
const n = e.get("searchQueryName");
this.searchQueryItem = t(this.searchQueryItem), this.searchQueryItem.name = n.replaceAll("%20", " ");
}
if (e.get("searchQueryId") && this.searchQueryItem != null) {
const n = e.get("searchQueryId");
this.searchQueryItem = t(this.searchQueryItem), this.searchQueryItem.id = n;
}
e.get("queryType") && (this.queryType = ze[e.get("queryType")]), e.get("searchType") && (this.searchType = ve[e.get("searchType")], this.switchShowAdvancedSetting = !0), console.log(" this.searchQueryItem", this.searchQueryItem);
function t(n) {
return n === null && (n = {}), n;
}
},
/**
* Launch a query (submit button)
* - save the query in URL (as hash parameters)
* - build the EndpointSearchQuery object
* - emit this object to the parent component
*/
launchQuery() {
if (this.searchQueryItem?.id === null || //
this.searchQueryItem?.id?.trim() === "")
return;
On("queryType", this.queryType), On("searchType", this.searchType), On("searchQueryName", this.searchQueryItem?.name ?? ""), On("searchQueryId", this.searchQueryItem?.id ?? "");
const e = new tu();
e.searchEntityType = ze[this.queryType], e.searchSelectorType = ve[this.searchType], e.searchEntityQuery = this.searchQueryItem?.id ?? "", e.searchEntityQuery !== "" && this.$emit("search-query", e);
},
/**
* Launch an example with pres-defined parameters
* @param queryType the query type (cpd to mesh / mesh to cpd)
* @param searchType the search type (pubchem cid / chebi id / ...)
* @param searchQueryName the queried item NAME
* @param searchQueryId the queried item Identifier
*/
launchExample(e, t, n, a) {
this.searchQueryItemText = "", this.switchShowAdvancedSetting = !0, this.queryType = ze[e], this.searchType = ve[t], this.searchQueryItem = {}, this.searchQueryItem.name = n, this.searchQueryItem.id = a, this.triggerFormChange(), this.launchQuery();
},
/**
* Method called if a change occured in the form
*/
triggerFormChange() {
if (this.queryType === ze.comp_to_mesh)
switch (this.labelTarget = "MeSH biomedicals concepts", this.searchType) {
case ve.pubchem_id:
default:
this.labelSource = "PubChem CID";
break;
case ve.chebi_id:
this.labelSource = "ChEBI ID";
break;
case ve.chemont_id:
this.labelSource = "ChemOnt ID";
break;
}
else if (this.queryType === ze.mesh_to_comp)
switch (this.labelSource = "MeSH biomedical concept", this.searchType) {
case ve.pubchem_id:
default:
this.labelTarget = "PubChem CIDs";
break;
case ve.chebi_id:
this.labelTarget = "ChEBI IDs";
break;
case ve.chemont_id:
this.labelTarget = "ChemOnt CIDs";
break;
}
},
triggerSearchQueryUpdate(e) {
this.searchQueryLoading && this.abortController.abort(), this.abortController = new AbortController();
const t = { signal: this.abortController.signal };
if (this.searchQueryItemText = e, this.searchQueryLoading = !1, this.searchQueryItems = [], this.searchQueryNoData = "enter at least 5 letters...", e && //
e.length >= this.fuzzyMatchingKeywordMinLength) {
this.searchQueryLoading = !0, this.searchQueryNoData = "loading...";
const s = e.toLowerCase().replace(/\s/g, "");
this.queryType === ze.comp_to_mesh && this.searchType === ve.pubchem_id ? this.pubchemAPI.pubchemFuzzyQueryGet(s, t).then((r) => {
this.searchQueryLoading = !1, this.searchQueryNoData = "sorry, no matched results.", this.searchQueryItems = n(r.data, "CID");
}).catch((r) => {
console.error("pubchemFuzzyQueryGet::error ⇒", r);
}) : this.queryType === ze.comp_to_mesh && this.searchType === ve.chebi_id ? this.chebiApi.chebiFuzzyQueryGet(s, t).then((r) => {
this.searchQueryLoading = !1, this.searchQueryNoData = "sorry, no matched results.", this.searchQueryItems = n(r.data, "CHEBI");
}).catch((r) => {
console.error("chebiFuzzyQueryGet::error ⇒", r);
}) : this.queryType === ze.comp_to_mesh && this.searchType === ve.chemont_id ? this.chemontApi.chemontFuzzyQueryGet(s, t).then((r) => {
this.searchQueryLoading = !1, this.searchQueryNoData = "sorry, no matched results.", this.searchQueryItems = n(r.data, "CHEMONT");
}).catch((r) => {
console.error("chemontFuzzyQueryGet::error ⇒", r);
}) : this.queryType === ze.mesh_to_comp ? this.meshApi.meshFuzzyQueryGet(s, t).then((r) => {
this.searchQueryLoading = !1, this.searchQueryNoData = "sorry, no matched results.", this.searchQueryItems = n(r.data, "MESH");
}).catch((r) => {
console.error("meshFuzzyQueryGet::error ⇒", r);
}) : console.error("INCONSISTENT FORM FINDER");
}
function n(s, r) {
return s.sort(a).map(
//
(u) => new Tm(`${u.item[r]}`, `${u.item.name}`, u.score)
//
).filter((u) => u.name.toLowerCase().includes(e.toLocaleLowerCase()));
}
function a(s, r) {
return s.score < r.score ? -1 : s.score > r.score ? 1 : 0;
}
},
triggerSearchMenu(e) {
this.searchQueryItemsVisible = !1, e ? (this.searchQueryItemsVisible = !0, this.searchQueryItemText = this.searchQueryItemTextCache) : (this.searchQueryLoading = !1, this.searchQueryItemTextCache = this.searchQueryItemText, this.searchQueryItemText = "", this.launchQuery());
}
}
}), Ol = (e, t) => {
const n = e.__vccOpts || e;
for (const [a, s] of t)
n[a] = s;
return n;
}, Be = typeof window < "u", Tl = Be && "IntersectionObserver" in window;
function Yi(e, t, n) {
Em(e, t), t.set(e, n);
}
function Em(e, t) {
if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
}
function ji(e, t, n) {
return e.set(Ou(e, t), n), n;
}
function qt(e, t) {
return e.get(Ou(e, t));
}
function Ou(e, t, n) {
if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
throw new TypeError("Private element is not present on this object");
}
function Tu(e, t, n) {
const a = t.length - 1;
if (a < 0) return e === void 0 ? n : e;
for (let s = 0; s < a; s++) {
if (e == null)
return n;
e = e[t[s]];
}
return e == null || e[t[a]] === void 0 ? n : e[t[a]];
}
function gt(e, t) {
if (e === t) return !0;
if (e instanceof Date && t instanceof Date && e.getTime() !== t.getTime() || e !== Object(e) || t !== Object(t))
return !1;
const n = Object.keys(e);
return n.length !== Object.keys(t).length ? !1 : n.every((a) => gt(e[a], t[a]));
}
function xa(e, t, n) {
return e == null || !t || typeof t != "string" ? n : e[t] !== void 0 ? e[t] : (t = t.replace(/\[(\w+)\]/g, ".$1"), t = t.replace(/^\./, ""), Tu(e, t.split("."), n));
}
function ot(e, t, n) {
if (t === !0) return e === void 0 ? n : e;
if (t == null || typeof t == "boolean") return n;
if (e !== Object(e)) {
if (typeof t != "function") return n;
const s = t(e, n);
return typeof s > "u" ? n : s;
}
if (typeof t == "string") return xa(e, t, n);
if (Array.isArray(t)) return Tu(e, t, n);
if (typeof t != "function") return n;
const a = t(e, n);
return typeof a > "u" ? n : a;
}
function rs(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
return Array.from({
length: e
}, (n, a) => t + a);
}
function te(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px";
if (e == null || e === "")
return;
const n = Number(e);
return isNaN(n) ? String(e) : isFinite(n) ? `${n}${t}` : void 0;
}
function Gr(e) {
return e !== null && typeof e == "object" && !Array.isArray(e);
}
function Wi(e) {
let t;
return e !== null && typeof e == "object" && ((t = Object.getPrototypeOf(e)) === Object.prototype || t === null);
}
function Vu(e) {
if (e && "$el" in e) {
const t = e.$el;
return t?.nodeType === Node.TEXT_NODE ? t.nextElementSibling : t;
}
return e;
}
const Gi = Object.freeze({
enter: 13,
tab: 9,
delete: 46,
esc: 27,
space: 32,
up: 38,
down: 40,
left: 37,
right: 39,
end: 35,
home: 36,
del: 46,
backspace: 8,
insert: 45,
pageup: 33,
pagedown: 34,
shift: 16
}), Qi = Object.freeze({
enter: "Enter",
tab: "Tab",
delete: "Delete",
esc: "Escape",
space: "Space",
up: "ArrowUp",
down: "ArrowDown",
left: "ArrowLeft",
right: "ArrowRight",
end: "End",
home: "Home",
del: "Delete",
backspace: "Backspace",
insert: "Insert",
pageup: "PageUp",
pagedown: "PageDown",
shift: "Shift"
});
function _r(e, t) {
return t.every((n) => e.hasOwnProperty(n));
}
function js(e, t) {
const n = {};
for (const a of t)
Object.prototype.hasOwnProperty.call(e, a) && (n[a] = e[a]);
return n;
}
function qi(e, t, n) {
const a = /* @__PURE__ */ Object.create(null), s = /* @__PURE__ */ Object.create(null);
for (const r in e)
t.some((l) => l instanceof RegExp ? l.test(r) : l === r) ? a[r] = e[r] : s[r] = e[r];
return [a, s];
}
function kn(e, t) {
const n = {
...e
};
return t.forEach((a) => delete n[a]), n;
}
const Eu = /^on[^a-z]/, Vl = (e) => Eu.test(e), Am = ["onAfterscriptexecute", "onAnimationcancel", "onAnimationend", "onAnimationiteration", "onAnimationstart", "onAuxclick", "onBeforeinput", "onBeforescriptexecute", "onChange", "onClick", "onCompositionend", "onCompositionstart", "onCompositionupdate", "onContextmenu", "onCopy", "onCut", "onDblclick", "onFocusin", "onFocusout", "onFullscreenchange", "onFullscreenerror", "onGesturechange", "onGestureend", "onGesturestart", "onGotpointercapture", "onInput", "onKeydown", "onKeypress", "onKeyup", "onLostpointercapture", "onMousedown", "onMousemove", "onMouseout", "onMouseover", "onMouseup", "onMousewheel", "onPaste", "onPointercancel", "onPointerdown", "onPointerenter", "onPointerleave", "onPointermove", "onPointerout", "onPointerover", "onPointerup", "onReset", "onSelect", "onSubmit", "onTouchcancel", "onTouchend", "onTouchmove", "onTouchstart", "onTransitioncancel", "onTransitionend", "onTransitionrun", "onTransitionstart", "onWheel"];
function Ws(e) {
const [t, n] = qi(e, [Eu]), a = kn(t, Am), [s, r] = qi(n, ["class", "style", "id", /^data-/]);
return Object.assign(s, t), Object.assign(r, a), [s, r];
}
function Ke(e) {
return e == null ? [] : Array.isArray(e) ? e : [e];
}
function Dm(e, t) {
let n = 0;
const a = function() {
for (var s = arguments.length, r = new Array(s), l = 0; l < s; l++)
r[l] = arguments[l];
clearTimeout(n), n = setTimeout(() => e(...r), _t(t));
};
return a.clear = () => {
clearTimeout(n);
}, a.immediate = e, a;
}
function bt(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
return Math.max(t, Math.min(n, e));
}
function Ki(e, t) {
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0";
return e + n.repeat(Math.max(0, t - e.length));
}
function Mm(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
const n = [];
let a = 0;
for (; a < e.length; )
n.push(e.substr(a, t)), a += t;
return n;
}
function Xt() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = arguments.length > 2 ? arguments[2] : void 0;
const a = {};
for (const s in e)
a[s] = e[s];
for (const s in t) {
const r = e[s], l = t[s];
if (Wi(r) && Wi(l)) {
a[s] = Xt(r, l, n);
continue;
}
if (n && Array.isArray(r) && Array.isArray(l)) {
a[s] = n(r, l);
continue;
}
a[s] = l;
}
return a;
}
function Au(e) {
return e.map((t) => t.type === pe ? Au(t.children) : t).flat();
}
function An() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
if (An.cache.has(e)) return An.cache.get(e);
const t = e.replace(/[^a-z]/gi, "-").replace(/\B([A-Z])/g, "-$1").toLowerCase();
return An.cache.set(e, t), t;
}
An.cache = /* @__PURE__ */ new Map();
function wa(e, t) {
if (!t || typeof t != "object") return [];
if (Array.isArray(t))
return t.map((n) => wa(e, n)).flat(1);
if (t.suspense)
return wa(e, t.ssContent);
if (Array.isArray(t.children))
return t.children.map((n) => wa(e, n)).flat(1);
if (t.component) {
if (Object.getOwnPropertySymbols(t.component.provides).includes(e))
return [t.component];
if (t.component.subTree)
return wa(e, t.component.subTree).flat(1);
}
return [];
}
var Hn = /* @__PURE__ */ new WeakMap(), xn = /* @__PURE__ */ new WeakMap();
class Rm {
constructor(t) {
Yi(this, Hn, []), Yi(this, xn, 0), this.size = t;
}
get isFull() {
return qt(Hn, this).length === this.size;
}
push(t) {
qt(Hn, this)[qt(xn, this)] = t, ji(xn, this, (qt(xn, this) + 1) % this.size);
}
values() {
return qt(Hn, this).slice(qt(xn, this)).concat(qt(Hn, this).slice(0, qt(xn, this)));
}
clear() {
qt(Hn, this).length = 0, ji(xn, this, 0);
}
}
function El(e) {
const t = Zn({});
Ot(() => {
const a = e();
for (const s in a)
t[s] = a[s];
}, {
flush: "sync"
});
const n = {};
for (const a in t)
n[a] = E(() => t[a]);
return n;
}
function _s(e, t) {
return e.includes(t);
}
function Du(e) {
return e[2].toLowerCase() + e.slice(3);
}
const Je = () => [Function, Array];
function Ji(e, t) {
return t = "on" + aa(t), !!(e[t] || e[`${t}Once`] || e[`${t}Capture`] || e[`${t}OnceCapture`] || e[`${t}CaptureOnce`]);
}
function Mu(e) {
for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++)
n[a - 1] = arguments[a];
if (Array.isArray(e))
for (const s of e)
s(...n);
else typeof e == "function" && e(...n);
}
function Ia(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
const n = ["button", "[href]", 'input:not([type="hidden"])', "select", "textarea", "[tabindex]"].map((a) => `${a}${t ? ':not([tabindex="-1"])' : ""}:not([disabled])`).join(", ");
return [...e.querySelectorAll(n)];
}
function Ru(e, t, n) {
let a, s = e.indexOf(document.activeElement);
const r = t === "next" ? 1 : -1;
do
s += r, a = e[s];
while ((!a || a.offsetParent == null || !(n?.(a) ?? !0)) && s < e.length && s >= 0);
return a;
}
function Ca(e, t) {
const n = Ia(e);
if (t == null)
(e === document.activeElement || !e.contains(document.activeElement)) && n[0]?.focus();
else if (t === "first")
n[0]?.focus();
else if (t === "last")
n.at(-1)?.focus();
else if (typeof t == "number")
n[t]?.focus();
else {
const a = Ru(n, t);
a ? a.focus() : Ca(e, t === "next" ? "first" : "last");
}
}
function ls(e) {
return e == null || typeof e == "string" && e.trim() === "";
}
function Fm() {
}
function ea(e, t) {
if (!(Be && typeof CSS < "u" && typeof CSS.supports < "u" && CSS.supports(`selector(${t})`))) return null;
try {
return !!e && e.matches(t);
} catch {
return null;
}
}
function Al(e) {
return e.some((t) => Af(t) ? t.type === Df ? !1 : t.type !== pe || Al(t.children) : !0) ? e : null;
}
function Lm(e, t) {
if (!Be || e === 0)
return t(), () => {
};
const n = window.setTimeout(t, e);
return () => window.clearTimeout(n);
}
function Nm(e, t) {
const n = e.clientX, a = e.clientY, s = t.getBoundingClientRect(), r = s.left, l = s.top, i = s.right, o = s.bottom;
return n >= r && n <= i && a >= l && a <= o;
}
function Qr() {
const e = ne(), t = (n) => {
e.value = n;
};
return Object.defineProperty(t, "value", {
enumerable: !0,
get: () => e.value,
set: (n) => e.value = n
}), Object.defineProperty(t, "el", {
enumerable: !0,
get: () => Vu(e.value)
}), t;
}
function ks(e) {
const t = e.key.length === 1, n = !e.ctrlKey && !e.metaKey && !e.altKey;
return t && n;
}
function Fu(e) {
return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || typeof e == "bigint";
}
function Ue(e, t) {
const n = Mf();
if (!n)
throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);
return n;
}
function jt() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "composables";
const t = Ue(e).type;
return An(t?.aliasName || t?.name);
}
function Bm(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ue("injectSelf");
const {
provides: n
} = t;
if (n && e in n)
return n[e];
}
const Cs = Symbol.for("vuetify:defaults");
function Dl() {
const e = De(Cs);
if (!e) throw new Error("[Vuetify] Could not find defaults instance");
return e;
}
function zt(e, t) {
const n = Dl(), a = R(e), s = _(() => {
if (_t(t?.disabled)) return n.value;
const l = _t(t?.scoped), i = _t(t?.reset), o = _t(t?.root);
if (a.value == null && !(l || i || o)) return n.value;
let u = Xt(a.value, {
prev: n.value
});
if (l) return u;
if (i || o) {
const c = Number(i || 1 / 0);
for (let d = 0; d <= c && !(!u || !("prev" in u)); d++)
u = u.prev;
return u && typeof o == "string" && o in u && (u = Xt(Xt(u, {
prev: u
}), u[o])), u;
}
return u.prev ? Xt(u.prev, u) : u;
});
return We(Cs, s), s;
}
function $m(e, t) {
return e.props && (typeof e.props[t] < "u" || typeof e.props[An(t)] < "u");
}
function Um() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Dl();
const a = Ue("useDefaults");
if (t = t ?? a.type.name ?? a.type.__name, !t)
throw new Error("[Vuetify] Could not determine component name");
const s = _(() => n.value?.[e._as ?? t]), r = new Proxy(e, {
get(o, u) {
const c = Reflect.get(o, u);
if (u === "class" || u === "style")
return [s.value?.[u], c].filter((v) => v != null);
if ($m(a.vnode, u)) return c;
const d = s.value?.[u];
if (d !== void 0) return d;
const h = n.value?.global?.[u];
return h !== void 0 ? h : c;
}
}), l = ne();
Ot(() => {
if (s.value) {
const o = Object.entries(s.value).filter((u) => {
let [c] = u;
return c.startsWith(c[0].toUpperCase());
});
l.value = o.length ? Object.fromEntries(o) : void 0;
} else
l.value = void 0;
});
function i() {
const o = Bm(Cs, a);
We(Cs, _(() => l.value ? Xt(o?.value ?? {}, l.value) : o?.value));
}
return {
props: r,
provideSubDefaults: i
};
}
const Lu = ["top", "bottom"], zm = ["start", "end", "left", "right"];
function qr(e, t) {
let [n, a] = e.split(" ");
return a || (a = _s(Lu, n) ? "start" : _s(zm, n) ? "top" : "center"), {
side: Zi(n, t),
align: Zi(a, t)
};
}
function Zi(e, t) {
return e === "start" ? t ? "right" : "left" : e === "end" ? t ? "left" : "right" : e;
}
function kr(e) {
return {
side: {
center: "center",
top: "bottom",
bottom: "top",
left: "right",
right: "left"
}[e.side],
align: e.align
};
}
function Cr(e) {
return {
side: e.side,
align: {
center: "center",
top: "bottom",
bottom: "top",
left: "right",
right: "left"
}[e.align]
};
}
function Xi(e) {
return {
side: e.align,
align: e.side
};
}
function eo(e) {
return _s(Lu, e.side) ? "y" : "x";
}
class Bt {
constructor(t) {
let {
x: n,
y: a,
width: s,
height: r
} = t;
this.x = n, this.y = a, this.width = s, this.height = r;
}
get top() {
return this.y;
}
get bottom() {
return this.y + this.height;
}
get left() {
return this.x;
}
get right() {
return this.x + this.width;
}
}
function to(e, t) {
return {
x: {
before: Math.max(0, t.left - e.left),
after: Math.max(0, e.right - t.right)
},
y: {
before: Math.max(0, t.top - e.top),
after: Math.max(0, e.bottom - t.bottom)
}
};
}
function Nu(e) {
return Array.isArray(e) ? new Bt({
x: e[0],
y: e[1],
width: 0,
height: 0
}) : e.getBoundingClientRect();
}
function Hm(e) {
if (e === document.documentElement)
return visualViewport ? new Bt({
x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
width: visualViewport.width * visualViewport.scale,
height: visualViewport.height * visualViewport.scale
}) : new Bt({
x: 0,
y: 0,
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight
});
{
const t = e.getBoundingClientRect();
return new Bt({
x: t.x,
y: t.y,
width: e.clientWidth,
height: e.clientHeight
});
}
}
function Ml(e) {
const t = e.getBoundingClientRect(), n = getComputedStyle(e), a = n.transform;
if (a) {
let s, r, l, i, o;
if (a.startsWith("matrix3d("))
s = a.slice(9, -1).split(/, /), r = Number(s[0]), l = Number(s[5]), i = Number(s[12]), o = Number(s[13]);
else if (a.startsWith("matrix("))
s = a.slice(7, -1).split(/, /), r = Number(s[0]), l = Number(s[3]), i = Number(s[4]), o = Number(s[5]);
else
return new Bt(t);
const u = n.transformOrigin, c = t.x - i - (1 - r) * parseFloat(u), d = t.y - o - (1 - l) * parseFloat(u.slice(u.indexOf(" ") + 1)), h = r ? t.width / r : e.offsetWidth + 1, v = l ? t.height / l : e.offsetHeight + 1;
return new Bt({
x: c,
y: d,
width: h,
height: v
});
} else
return new Bt(t);
}
function Gn(e, t, n) {
if (typeof e.animate > "u") return {
finished: Promise.resolve()
};
let a;
try {
a = e.animate(t, n);
} catch {
return {
finished: Promise.resolve()
};
}
return typeof a.finished > "u" && (a.finished = new Promise((s) => {
a.onfinish = () => {
s(a);
};
})), a;
}
const ys = /* @__PURE__ */ new WeakMap();
function Ym(e, t) {
Object.keys(t).forEach((n) => {
if (Vl(n)) {
const a = Du(n), s = ys.get(e);
if (t[n] == null)
s?.forEach((r) => {
const [l, i] = r;
l === a && (e.removeEventListener(a, i), s.delete(r));
});
else if (!s || ![...s].some((r) => r[0] === a && r[1] === t[n])) {
e.addEventListener(a, t[n]);
const r = s || /* @__PURE__ */ new Set();
r.add([a, t[n]]), ys.has(e) || ys.set(e, r);
}
} else
t[n] == null ? e.removeAttribute(n) : e.setAttribute(n, t[n]);
});
}
function jm(e, t) {
Object.keys(t).forEach((n) => {
if (Vl(n)) {
const a = Du(n), s = ys.get(e);
s?.forEach((r) => {
const [l, i] = r;
l === a && (e.removeEventListener(a, i), s.delete(r));
});
} else
e.removeAttribute(n);
});
}
const Yn = 2.4, no = 0.2126729, ao = 0.7151522, so = 0.072175, Wm = 0.55, Gm = 0.58, Qm = 0.57, qm = 0.62, is = 0.03, ro = 1.45, Km = 5e-4, Jm = 1.25, Zm = 1.25, Xm = 0.078, lo = 12.82051282051282, os = 0.06, ev = 1e-3;
function io(e, t) {
const n = (e.r / 255) ** Yn, a = (e.g / 255) ** Yn, s = (e.b / 255) ** Yn, r = (t.r / 255) ** Yn, l = (t.g / 255) ** Yn, i = (t.b / 255) ** Yn;
let o = n * no + a * ao + s * so, u = r * no + l * ao + i * so;
if (o <= is && (o += (is - o) ** ro), u <= is && (u += (is - u) ** ro), Math.abs(u - o) < Km) return 0;
let c;
if (u > o) {
const d = (u ** Wm - o ** Gm) * Jm;
c = d < ev ? 0 : d < Xm ? d - d * lo * os : d - os;
} else {
const d = (u ** qm - o ** Qm) * Zm;
c = d > -1e-3 ? 0 : d > -0.078 ? d - d * lo * os : d + os;
}
return c * 100;
}
function Sn(e) {
Ns(`Vuetify: ${e}`);
}
function Rl(e) {
Ns(`Vuetify error: ${e}`);
}
function tv(e, t) {
t = Array.isArray(t) ? t.slice(0, -1).map((n) => `'${n}'`).join(", ") + ` or '${t.at(-1)}'` : `'${t}'`, Ns(`[Vuetify UPGRADE] '${e}' is deprecated, use ${t} instead.`);
}
function Kr(e) {
return !!e && /^(#|var\(--|(rgb|hsl)a?\()/.test(e);
}
function nv(e) {
return Kr(e) && !/^((rgb|hsl)a?\()?var\(--/.test(e);
}
const oo = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/, av = {
rgb: (e, t, n, a) => ({
r: e,
g: t,
b: n,
a
}),
rgba: (e, t, n, a) => ({
r: e,
g: t,
b: n,
a
}),
hsl: (e, t, n, a) => uo({
h: e,
s: t,
l: n,
a
}),
hsla: (e, t, n, a) => uo({
h: e,
s: t,
l: n,
a
}),
hsv: (e, t, n, a) => Oa({
h: e,
s: t,
v: n,
a
}),
hsva: (e, t, n, a) => Oa({
h: e,
s: t,
v: n,
a
})
};
function _a(e) {
if (typeof e == "number")
return (isNaN(e) || e < 0 || e > 16777215) && Sn(`'${e}' is not a valid hex color`), {
r: (e & 16711680) >> 16,
g: (e & 65280) >> 8,
b: e & 255
};
if (typeof e == "string" && oo.test(e)) {
const {
groups: t
} = e.match(oo), {
fn: n,
values: a
} = t, s = a.split(/,\s*|\s*\/\s*|\s+/).map((r, l) => r.endsWith("%") || // unitless slv are %
l > 0 && l < 3 && ["hsl", "hsla", "hsv", "hsva"].includes(n) ? parseFloat(r) / 100 : parseFloat(r));
return av[n](...s);
} else if (typeof e == "string") {
let t = e.startsWith("#") ? e.slice(1) : e;
[3, 4].includes(t.length) ? t = t.split("").map((a) => a + a).join("") : [6, 8].includes(t.length) || Sn(`'${e}' is not a valid hex(a) color`);
const n = parseInt(t, 16);
return (isNaN(n) || n < 0 || n > 4294967295) && Sn(`'${e}' is not a valid hex(a) color`), sv(t);
} else if (typeof e == "object") {
if (_r(e, ["r", "g", "b"]))
return e;
if (_r(e, ["h", "s", "l"]))
return Oa(Bu(e));
if (_r(e, ["h", "s", "v"]))
return Oa(e);
}
throw new TypeError(`Invalid color: ${e == null ? e : String(e) || e.constructor.name}
Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);
}
function Oa(e) {
const {
h: t,
s: n,
v: a,
a: s
} = e, r = (i) => {
const o = (i + t / 60) % 6;
return a - a * n * Math.max(Math.min(o, 4 - o, 1), 0);
}, l = [r(5), r(3), r(1)].map((i) => Math.round(i * 255));
return {
r: l[0],
g: l[1],
b: l[2],
a: s
};
}
function uo(e) {
return Oa(Bu(e));
}
function Bu(e) {
const {
h: t,
s: n,
l: a,
a: s
} = e, r = a + n * Math.min(a, 1 - a), l = r === 0 ? 0 : 2 - 2 * a / r;
return {
h: t,
s: l,
v: r,
a: s
};
}
function sv(e) {
e = rv(e);
let [t, n, a, s] = Mm(e, 2).map((r) => parseInt(r, 16));
return s = s === void 0 ? s : s / 255, {
r: t,
g: n,
b: a,
a: s
};
}
function rv(e) {
return e.startsWith("#") && (e = e.slice(1)), e = e.replace(/([^0-9a-f])/gi, "F"), (e.length === 3 || e.length === 4) && (e = e.split("").map((t) => t + t).join("")), e.length !== 6 && (e = Ki(Ki(e, 6), 8, "F")), e;
}
function lv(e) {
const t = Math.abs(io(_a(0), _a(e)));
return Math.abs(io(_a(16777215), _a(e))) > Math.min(t, 50) ? "#fff" : "#000";
}
function M(e, t) {
return (n) => Object.keys(e).reduce((a, s) => {
const l = typeof e[s] == "object" && e[s] != null && !Array.isArray(e[s]) ? e[s] : {
type: e[s]
};
return n && s in n ? a[s] = {
...l,
default: n[s]
} : a[s] = l, t && !a[s].source && (a[s].source = t), a;
}, {});
}
const de = M({
class: [String, Array, Object],
style: {
type: [String, Array, Object],
default: null
}
}, "component");
function ja(e) {
if (e._setup = e._setup ?? e.setup, !e.name)
return Sn("The component is missing an explicit name, unable to generate default prop value"), e;
if (e._setup) {
e.props = M(e.props ?? {}, e.name)();
const t = Object.keys(e.props).filter((n) => n !== "class" && n !== "style");
e.filterProps = function(a) {
return js(a, t);
}, e.props._as = String, e.setup = function(a, s) {
const r = Dl();
if (!r.value) return e._setup(a, s);
const {
props: l,
provideSubDefaults: i
} = Um(a, a._as ?? e.name, r), o = e._setup(l, s);
return i(), o;
};
}
return e;
}
function Q() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
return (t) => (e ? ja : Ls)(t);
}
function iv(e, t) {
return t.props = e, t;
}
function $u(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "div", n = arguments.length > 2 ? arguments[2] : void 0;
return Q()({
name: n ?? aa(Zo(e.replace(/__/g, "-"))),
props: {
tag: {
type: String,
default: t
},
...de()
},
setup(a, s) {
let {
slots: r
} = s;
return () => sa(a.tag, {
class: [e, a.class],
style: a.style
}, r.default?.());
}
});
}
function Uu(e) {
if (typeof e.getRootNode != "function") {
for (; e.parentNode; ) e = e.parentNode;
return e !== document ? null : document;
}
const t = e.getRootNode();
return t !== document && t.getRootNode({
composed: !0
}) !== document ? null : t;
}
const Ps = "cubic-bezier(0.4, 0, 0.2, 1)", ov = "cubic-bezier(0.0, 0, 0.2, 1)", uv = "cubic-bezier(0.4, 0, 1, 1)";
function co(e, t, n) {
return Object.keys(e).filter((a) => Vl(a) && a.endsWith(t)).reduce((a, s) => (a[s.slice(0, -t.length)] = (r) => e[s](r, n(r)), a), {});
}
function zu(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
for (; e; ) {
if (t ? cv(e) : Fl(e)) return e;
e = e.parentElement;
}
return document.scrollingElement;
}
function xs(e, t) {
const n = [];
if (t && e && !t.contains(e)) return n;
for (; e && (Fl(e) && n.push(e), e !== t); )
e = e.parentElement;
return n;
}
function Fl(e) {
if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
const t = window.getComputedStyle(e);
return t.overflowY === "scroll" || t.overflowY === "auto" && e.scrollHeight > e.clientHeight;
}
function cv(e) {
if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
const t = window.getComputedStyle(e);
return ["scroll", "auto"].includes(t.overflowY);
}
function dv(e) {
for (; e; ) {
if (window.getComputedStyle(e).position === "fixed")
return !0;
e = e.offsetParent;
}
return !1;
}
function ee(e) {
const t = Ue("useRender");
t.render = e;
}
const fv = M({
defaults: Object,
disabled: Boolean,
reset: [Number, String],
root: [Boolean, String],
scoped: Boolean
}, "VDefaultsProvider"), Ne = Q(!1)({
name: "VDefaultsProvider",
props: fv(),
setup(e, t) {
let {
slots: n
} = t;
const {
defaults: a,
disabled: s,
reset: r,
root: l,
scoped: i
} = Xo(e);
return zt(a, {
reset: r,
root: l,
scoped: i,
disabled: s
}), () => n.default?.();
}
});
function Ll(e) {
return El(() => {
const t = sn(e), n = [], a = {};
if (t.background)
if (Kr(t.background)) {
if (a.backgroundColor = t.background, !t.text && nv(t.background)) {
const s = _a(t.background);
if (s.a == null || s.a === 1) {
const r = lv(s);
a.color = r, a.caretColor = r;
}
}
} else
n.push(`bg-${t.background}`);
return t.text && (Kr(t.text) ? (a.color = t.text, a.caretColor = t.text) : n.push(`text-${t.text}`)), {
colorClasses: n,
colorStyles: a
};
});
}
function Ht(e) {
const {
colorClasses: t,
colorStyles: n
} = Ll(() => ({
text: sn(e)
}));
return {
textColorClasses: t,
textColorStyles: n
};
}
function $t(e) {
const {
colorClasses: t,
colorStyles: n
} = Ll(() => ({
background: sn(e)
}));
return {
backgroundColorClasses: t,
backgroundColorStyles: n
};
}
const ue = [String, Function, Object, Array], hv = Symbol.for("vuetify:icons"), Gs = M({
icon: {
type: ue
},
// Could not remove this and use makeTagProps, types complained because it is not required
tag: {
type: [String, Object, Function],
required: !0
}
}, "icon"), fo = Q()({
name: "VComponentIcon",
props: Gs(),
setup(e, t) {
let {
slots: n
} = t;
return () => {
const a = e.icon;
return g(e.tag, null, {
default: () => [e.icon ? g(a, null, null) : n.default?.()]
});
};
}
}), mv = ja({
name: "VSvgIcon",
inheritAttrs: !1,
props: Gs(),
setup(e, t) {
let {
attrs: n
} = t;
return () => g(e.tag, j(n, {
style: null
}), {
default: () => [p("svg", {
class: "v-icon__svg",
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 24 24",
role: "img",
"aria-hidden": "true"
}, [Array.isArray(e.icon) ? e.icon.map((a) => Array.isArray(a) ? p("path", {
d: a[0],
"fill-opacity": a[1]
}, null) : p("path", {
d: a
}, null)) : p("path", {
d: e.icon
}, null)])]
});
}
});
ja({
name: "VLigatureIcon",
props: Gs(),
setup(e) {
return () => g(e.tag, null, {
default: () => [e.icon]
});
}
});
ja({
name: "VClassIcon",
props: Gs(),
setup(e) {
return () => g(e.tag, {
class: K(e.icon)
}, null);
}
});
const vv = (e) => {
const t = De(hv);
if (!t) throw new Error("Missing Vuetify Icons provide!");
return {
iconData: _(() => {
const a = sn(e);
if (!a) return {
component: fo
};
let s = a;
if (typeof s == "string" && (s = s.trim(), s.startsWith("$") && (s = t.aliases?.[s.slice(1)])), s || Sn(`Could not find aliased icon "${a}"`), Array.isArray(s))
return {
component: mv,
icon: s
};
if (typeof s != "string")
return {
component: fo,
icon: s
};
const r = Object.keys(t.sets).find((o) => typeof s == "string" && s.startsWith(`${o}:`)), l = r ? s.slice(r.length + 1) : s;
return {
component: t.sets[r ?? t.defaultSet].component,
icon: l
};
})
};
}, yv = ["x-small", "small", "default", "large", "x-large"], ia = M({
size: {
type: [String, Number],
default: "default"
}
}, "size");
function Wa(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
return El(() => {
const n = e.size;
let a, s;
return _s(yv, n) ? a = `${t}--size-${n}` : n && (s = {
width: te(n),
height: te(n)
}), {
sizeClasses: a,
sizeStyles: s
};
});
}
const Le = M({
tag: {
type: [String, Object, Function],
default: "div"
}
}, "tag"), Jr = Symbol.for("vuetify:theme"), Ye = M({
theme: String
}, "theme");
function Ze(e) {
Ue("provideTheme");
const t = De(Jr, null);
if (!t) throw new Error("Could not find Vuetify theme injection");
const n = E(() => e.theme ?? t.name.value), a = E(() => t.themes.value[n.value]), s = E(() => t.isDisabled ? void 0 : `v-theme--${n.value}`), r = {
...t,
name: n,
current: a,
themeClasses: s
};
return We(Jr, r), r;
}
function gv() {
Ue("useTheme");
const e = De(Jr, null);
if (!e) throw new Error("Could not find Vuetify theme injection");
return e;
}
const bv = M({
color: String,
disabled: Boolean,
start: Boolean,
end: Boolean,
icon: ue,
opacity: [String, Number],
...de(),
...ia(),
...Le({
tag: "i"
}),
...Ye()
}, "VIcon"), Ve = Q()({
name: "VIcon",
props: bv(),
setup(e, t) {
let {
attrs: n,
slots: a
} = t;
const s = ne(), {
themeClasses: r
} = gv(), {
iconData: l
} = vv(() => s.value || e.icon), {
sizeClasses: i
} = Wa(e), {
textColorClasses: o,
textColorStyles: u
} = Ht(() => e.color);
return ee(() => {
const c = a.default?.();
c && (s.value = Au(c).filter((h) => h.type === Rf && h.children && typeof h.children == "string")[0]?.children);
const d = !!(n.onClick || n.onClickOnce);
return g(l.value.component, {
tag: e.tag,
icon: l.value.icon,
class: K(["v-icon", "notranslate", r.value, i.value, o.value, {
"v-icon--clickable": d,
"v-icon--disabled": e.disabled,
"v-icon--start": e.start,
"v-icon--end": e.end
}, e.class]),
style: Z([{
"--v-icon-opacity": e.opacity
}, i.value ? void 0 : {
fontSize: te(e.size),
height: te(e.size),
width: te(e.size)
}, u.value, e.style]),
role: d ? "button" : void 0,
"aria-hidden": !d,
tabindex: d ? e.disabled ? -1 : 0 : void 0
}, {
default: () => [c]
});
}), {};
}
}), un = M({
height: [Number, String],
maxHeight: [Number, String],
maxWidth: [Number, String],
minHeight: [Number, String],
minWidth: [Number, String],
width: [Number, String]
}, "dimension");
function cn(e) {
return {
dimensionStyles: _(() => {
const n = {}, a = te(e.height), s = te(e.maxHeight), r = te(e.maxWidth), l = te(e.minHeight), i = te(e.minWidth), o = te(e.width);
return a != null && (n.height = a), s != null && (n.maxHeight = s), r != null && (n.maxWidth = r), l != null && (n.minHeight = l), i != null && (n.minWidth = i), o != null && (n.width = o), n;
})
};
}
function pv(e) {
return {
aspectStyles: _(() => {
const t = Number(e.aspectRatio);
return t ? {
paddingBottom: String(1 / t * 100) + "%"
} : void 0;
})
};
}
const Hu = M({
aspectRatio: [String, Number],
contentClass: null,
inline: Boolean,
...de(),
...un()
}, "VResponsive"), ho = Q()({
name: "VResponsive",
props: Hu(),
setup(e, t) {
let {
slots: n
} = t;
const {
aspectStyles: a
} = pv(e), {
dimensionStyles: s
} = cn(e);
return ee(() => p("div", {
class: K(["v-responsive", {
"v-responsive--inline": e.inline
}, e.class]),
style: Z([s.value, e.style])
}, [p("div", {
class: "v-responsive__sizer",
style: Z(a.value)
}, null), n.additional?.(), n.default && p("div", {
class: K(["v-responsive__content", e.contentClass])
}, [n.default()])])), {};
}
}), kt = M({
rounded: {
type: [Boolean, Number, String],
default: void 0
},
tile: Boolean
}, "rounded");
function Dt(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
return {
roundedClasses: _(() => {
const a = $r(e) ? e.value : e.rounded, s = $r(e) ? e.value : e.tile, r = [];
if (a === !0 || a === "")
r.push(`${t}--rounded`);
else if (typeof a == "string" || a === 0)
for (const l of String(a).split(" "))
r.push(`rounded-${l}`);
else (s || a === !1) && r.push("rounded-0");
return r;
})
};
}
const oa = M({
transition: {
type: null,
default: "fade-transition",
validator: (e) => e !== !0
}
}, "transition"), gn = (e, t) => {
let {
slots: n
} = t;
const {
transition: a,
disabled: s,
group: r,
...l
} = e, {
component: i = r ? Sl : Mn,
...o
} = Gr(a) ? a : {};
let u;
return Gr(a) ? u = j(o, JSON.parse(JSON.stringify({
disabled: s,
group: r
})), l) : u = j({
name: s || !a ? "" : a
}, l), sa(i, u, n);
};
function Sv(e, t) {
if (!Tl) return;
const n = t.modifiers || {}, a = t.value, {
handler: s,
options: r
} = typeof a == "object" ? a : {
handler: a,
options: {}
}, l = new IntersectionObserver(function() {
let i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], o = arguments.length > 1 ? arguments[1] : void 0;
const u = e._observe?.[t.instance.$.uid];
if (!u) return;
const c = i.some((d) => d.isIntersecting);
s && (!n.quiet || u.init) && (!n.once || c || u.init) && s(c, i, o), c && n.once ? Yu(e, t) : u.init = !0;
}, r);
e._observe = Object(e._observe), e._observe[t.instance.$.uid] = {
init: !1,
observer: l
}, l.observe(e);
}
function Yu(e, t) {
const n = e._observe?.[t.instance.$.uid];
n && (n.observer.unobserve(e), delete e._observe[t.instance.$.uid]);
}
const Is = {
mounted: Sv,
unmounted: Yu
}, wv = M({
absolute: Boolean,
alt: String,
cover: Boolean,
color: String,
draggable: {
type: [Boolean, String],
default: void 0
},
eager: Boolean,
gradient: String,
lazySrc: String,
options: {
type: Object,
// For more information on types, navigate to:
// https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
default: () => ({
root: void 0,
rootMargin: void 0,
threshold: void 0
})
},
sizes: String,
src: {
type: [String, Object],
default: ""
},
crossorigin: String,
referrerpolicy: String,
srcset: String,
position: String,
...Hu(),
...de(),
...kt(),
...oa()
}, "VImg"), Nl = Q()({
name: "VImg",
directives: {
vIntersect: Is
},
props: wv(),
emits: {
loadstart: (e) => !0,
load: (e) => !0,
error: (e) => !0
},
setup(e, t) {
let {
emit: n,
slots: a
} = t;
const {
backgroundColorClasses: s,
backgroundColorStyles: r
} = $t(() => e.color), {
roundedClasses: l
} = Dt(e), i = Ue("VImg"), o = ne(""), u = R(), c = ne(e.eager ? "loading" : "idle"), d = ne(), h = ne(), v = _(() => e.src && typeof e.src == "object" ? {
src: e.src.src,
srcset: e.srcset || e.src.srcset,
lazySrc: e.lazySrc || e.src.lazySrc,
aspect: Number(e.aspectRatio || e.src.aspect || 0)
} : {
src: e.src,
srcset: e.srcset,
lazySrc: e.lazySrc,
aspect: Number(e.aspectRatio || 0)
}), f = _(() => v.value.aspect || d.value / h.value || 0);
re(() => e.src, () => {
y(c.value !== "idle");
}), re(f, (B, A) => {
!B && A && u.value && I(u.value);
}), Bs(() => y());
function y(B) {
if (!(e.eager && B) && !(Tl && !B && !e.eager)) {
if (c.value = "loading", v.value.lazySrc) {
const A = new Image();
A.src = v.value.lazySrc, I(A, null);
}
v.value.src && Ge(() => {
n("loadstart", u.value?.currentSrc || v.value.src), setTimeout(() => {
if (!i.isUnmounted)
if (u.value?.complete) {
if (u.value.naturalWidth || b(), c.value === "error") return;
f.value || I(u.value, null), c.value === "loading" && m();
} else
f.value || I(u.value), S();
});
});
}
}
function m() {
i.isUnmounted || (S(), I(u.value), c.value = "loaded", n("load", u.value?.currentSrc || v.value.src));
}
function b() {
i.isUnmounted || (c.value = "error", n("error", u.value?.currentSrc || v.value.src));
}
function S() {
const B = u.value;
B && (o.value = B.currentSrc || B.src);
}
let P = -1;
Et(() => {
clearTimeout(P);
});
function I(B) {
let A = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100;
const U = () => {
if (clearTimeout(P), i.isUnmounted) return;
const {
naturalHeight: Y,
naturalWidth: G
} = B;
Y || G ? (d.value = G, h.value = Y) : !B.complete && c.value === "loading" && A != null ? P = window.setTimeout(U, A) : (B.currentSrc.endsWith(".svg") || B.currentSrc.startsWith("data:image/svg+xml")) && (d.value = 1, h.value = 1);
};
U();
}
const k = E(() => ({
"v-img__img--cover": e.cover,
"v-img__img--contain": !e.cover
})), D = () => {
if (!v.value.src || c.value === "idle") return null;
const B = p("img", {
class: K(["v-img__img", k.value]),
style: Z({
objectPosition: e.position
}),
crossorigin: e.crossorigin,
src: v.value.src,
srcset: v.value.srcset,
alt: e.alt,
referrerpolicy: e.referrerpolicy,
draggable: e.draggable,
sizes: e.sizes,
ref: u,
onLoad: m,
onError: b
}, null), A = a.sources?.();
return g(gn, {
transition: e.transition,
appear: !0
}, {
default: () => [ht(A ? p("picture", {
class: "v-img__picture"
}, [A, B]) : B, [[Bn, c.value === "loaded"]])]
});
}, V = () => g(gn, {
transition: e.transition
}, {
default: () => [v.value.lazySrc && c.value !== "loaded" && p("img", {
class: K(["v-img__img", "v-img__img--preload", k.value]),
style: Z({
objectPosition: e.position
}),
crossorigin: e.crossorigin,
src: v.value.lazySrc,
alt: e.alt,
referrerpolicy: e.referrerpolicy,
draggable: e.draggable
}, null)]
}), w = () => a.placeholder ? g(gn, {
transition: e.transition,
appear: !0
}, {
default: () => [(c.value === "loading" || c.value === "error" && !a.error) && p("div", {
class: "v-img__placeholder"
}, [a.placeholder()])]
}) : null, T = () => a.error ? g(gn, {
transition: e.transition,
appear: !0
}, {
default: () => [c.value === "error" && p("div", {
class: "v-img__error"
}, [a.error()])]
}) : null, N = () => e.gradient ? p("div", {
class: "v-img__gradient",
style: Z({
backgroundImage: `linear-gradient(${e.gradient})`
})
}, null) : null, $ = ne(!1);
{
const B = re(f, (A) => {
A && (requestAnimationFrame(() => {
requestAnimationFrame(() => {
$.value = !0;
});
}), B());
});
}
return ee(() => {
const B = ho.filterProps(e);
return ht(g(ho, j({
class: ["v-img", {
"v-img--absolute": e.absolute,
"v-img--booting": !$.value
}, s.value, l.value, e.class],
style: [{
width: te(e.width === "auto" ? d.value : e.width)
}, r.value, e.style]
}, B, {
aspectRatio: f.value,
"aria-label": e.alt,
role: e.alt ? "img" : void 0
}), {
additional: () => p(pe, null, [g(D, null, null), g(V, null, null), g(N, null, null), g(w, null, null), g(T, null, null)]),
default: a.default
}), [[Is, {
handler: y,
options: e.options
}, null, {
once: !0
}]]);
}), {
currentSrc: o,
image: u,
state: c,
naturalWidth: d,
naturalHeight: h
};
}
}), dn = M({
border: [Boolean, Number, String]
}, "border");
function Cn(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
return {
borderClasses: _(() => {
const a = e.border;
return a === !0 || a === "" ? `${t}--border` : typeof a == "string" || a === 0 ? String(a).split(" ").map((s) => `border-${s}`) : [];
})
};
}
const _v = [null, "default", "comfortable", "compact"], Ct = M({
density: {
type: String,
default: "default",
validator: (e) => _v.includes(e)
}
}, "density");
function Wt(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
return {
densityClasses: E(() => `${t}--density-${e.density}`)
};
}
const kv = ["elevated", "flat", "tonal", "outlined", "text", "plain"];
function Ga(e, t) {
return p(pe, null, [e && p("span", {
key: "overlay",
class: K(`${t}__overlay`)
}, null), p("span", {
key: "underlay",
class: K(`${t}__underlay`)
}, null)]);
}
const fn = M({
color: String,
variant: {
type: String,
default: "elevated",
validator: (e) => kv.includes(e)
}
}, "variant");
function Qa(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
const n = E(() => {
const {
variant: r
} = sn(e);
return `${t}--variant-${r}`;
}), {
colorClasses: a,
colorStyles: s
} = Ll(() => {
const {
variant: r,
color: l
} = sn(e);
return {
[["elevated", "flat"].includes(r) ? "background" : "text"]: l
};
});
return {
colorClasses: a,
colorStyles: s,
variantClasses: n
};
}
const Cv = M({
start: Boolean,
end: Boolean,
icon: ue,
image: String,
text: String,
...dn(),
...de(),
...Ct(),
...kt(),
...ia(),
...Le(),
...Ye(),
...fn({
variant: "flat"
})
}, "VAvatar"), _n = Q()({
name: "VAvatar",
props: Cv(),
setup(e, t) {
let {
slots: n
} = t;
const {
themeClasses: a
} = Ze(e), {
borderClasses: s
} = Cn(e), {
colorClasses: r,
colorStyles: l,
variantClasses: i
} = Qa(e), {
densityClasses: o
} = Wt(e), {
roundedClasses: u
} = Dt(e), {
sizeClasses: c,
sizeStyles: d
} = Wa(e);
return ee(() => g(e.tag, {
class: K(["v-avatar", {
"v-avatar--start": e.start,
"v-avatar--end": e.end
}, a.value, s.value, r.value, o.value, u.value, c.value, i.value, e.class]),
style: Z([l.value, d.value, e.style])
}, {
default: () => [n.default ? g(Ne, {
key: "content-defaults",
defaults: {
VImg: {
cover: !0,
src: e.image
},
VIcon: {
icon: e.icon
}
}
}, {
default: () => [n.default()]
}) : e.image ? g(Nl, {
key: "image",
src: e.image,
alt: "",
cover: !0
}, null) : e.icon ? g(Ve, {
key: "icon",
icon: e.icon
}, null) : e.text, Ga(!1, "v-avatar")]
})), {};
}
}), Pv = M({
text: String,
onClick: Je(),
...de(),
...Ye()
}, "VLabel"), Bl = Q()({
name: "VLabel",
props: Pv(),
setup(e, t) {
let {
slots: n
} = t;
return ee(() => p("label", {
class: K(["v-label", {
"v-label--clickable": !!e.onClick
}, e.class]),
style: Z(e.style),
onClick: e.onClick
}, [e.text, n.default?.()])), {};
}
});
function Fn(e, t) {
let n;
function a() {
n = wl(), n.run(() => t.length ? t(() => {
n?.stop(), a();
}) : t());
}
re(e, (s) => {
s && !n ? a() : s || (n?.stop(), n = void 0);
}, {
immediate: !0
}), mt(() => {
n?.stop();
});
}
function ke(e, t, n) {
let a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (d) => d, s = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (d) => d;
const r = Ue("useProxiedModel"), l = R(e[t] !== void 0 ? e[t] : n), i = An(t), u = i !== t ? _(() => (e[t], !!((r.vnode.props?.hasOwnProperty(t) || r.vnode.props?.hasOwnProperty(i)) && (r.vnode.props?.hasOwnProperty(`onUpdate:${t}`) || r.vnode.props?.hasOwnProperty(`onUpdate:${i}`))))) : _(() => (e[t], !!(r.vnode.props?.hasOwnProperty(t) && r.vnode.props?.hasOwnProperty(`onUpdate:${t}`))));
Fn(() => !u.value, () => {
re(() => e[t], (d) => {
l.value = d;
});
});
const c = _({
get() {
const d = e[t];
return a(u.value ? d : l.value);
},
set(d) {
const h = s(d), v = He(u.value ? e[t] : l.value);
v === h || a(v) === d || (l.value = h, r?.emit(`update:${t}`, h));
}
});
return Object.defineProperty(c, "externalValue", {
get: () => u.value ? e[t] : l.value
}), c;
}
const ju = Symbol.for("vuetify:selection-control-group"), $l = M({
color: String,
disabled: {
type: Boolean,
default: null
},
defaultsTarget: String,
error: Boolean,
id: String,
inline: Boolean,
falseIcon: ue,
trueIcon: ue,
ripple: {
type: [Boolean, Object],
default: !0
},
multiple: {
type: Boolean,
default: null
},
name: String,
readonly: {
type: Boolean,
default: null
},
modelValue: null,
type: String,
valueComparator: {
type: Function,
default: gt
},
...de(),
...Ct(),
...Ye()
}, "SelectionControlGroup"), xv = M({
...$l({
defaultsTarget: "VSelectionControl"
})
}, "VSelectionControlGroup"), Iv = Q()({
name: "VSelectionControlGroup",
props: xv(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const a = ke(e, "modelValue"), s = on(), r = E(() => e.id || `v-selection-control-group-${s}`), l = E(() => e.name || r.value), i = /* @__PURE__ */ new Set();
return We(ju, {
modelValue: a,
forceUpdate: () => {
i.forEach((o) => o());
},
onForceUpdate: (o) => {
i.add(o), mt(() => {
i.delete(o);
});
}
}), zt({
[e.defaultsTarget]: {
color: E(() => e.color),
disabled: E(() => e.disabled),
density: E(() => e.density),
error: E(() => e.error),
inline: E(() => e.inline),
modelValue: a,
multiple: E(() => !!e.multiple || e.multiple == null && Array.isArray(a.value)),
name: l,
falseIcon: E(() => e.falseIcon),
trueIcon: E(() => e.trueIcon),
readonly: E(() => e.readonly),
ripple: E(() => e.ripple),
type: E(() => e.type),
valueComparator: E(() => e.valueComparator)
}
}), ee(() => p("div", {
class: K(["v-selection-control-group", {
"v-selection-control-group--inline": e.inline
}, e.class]),
style: Z(e.style),
role: e.type === "radio" ? "radiogroup" : void 0
}, [n.default?.()])), {};
}
}), Zr = Symbol("rippleStop"), Ov = 80;
function mo(e, t) {
e.style.transform = t, e.style.webkitTransform = t;
}
function Xr(e) {
return e.constructor.name === "TouchEvent";
}
function Wu(e) {
return e.constructor.name === "KeyboardEvent";
}
const Tv = function(e, t) {
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, a = 0, s = 0;
if (!Wu(e)) {
const d = t.getBoundingClientRect(), h = Xr(e) ? e.touches[e.touches.length - 1] : e;
a = h.clientX - d.left, s = h.clientY - d.top;
}
let r = 0, l = 0.3;
t._ripple?.circle ? (l = 0.15, r = t.clientWidth / 2, r = n.center ? r : r + Math.sqrt((a - r) ** 2 + (s - r) ** 2) / 4) : r = Math.sqrt(t.clientWidth ** 2 + t.clientHeight ** 2) / 2;
const i = `${(t.clientWidth - r * 2) / 2}px`, o = `${(t.clientHeight - r * 2) / 2}px`, u = n.center ? i : `${a - r}px`, c = n.center ? o : `${s - r}px`;
return {
radius: r,
scale: l,
x: u,
y: c,
centerX: i,
centerY: o
};
}, Os = {
/* eslint-disable max-statements */
show(e, t) {
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
if (!t?._ripple?.enabled)
return;
const a = document.createElement("span"), s = document.createElement("span");
a.appendChild(s), a.className = "v-ripple__container", n.class && (a.className += ` ${n.class}`);
const {
radius: r,
scale: l,
x: i,
y: o,
centerX: u,
centerY: c
} = Tv(e, t, n), d = `${r * 2}px`;
s.className = "v-ripple__animation", s.style.width = d, s.style.height = d, t.appendChild(a);
const h = window.getComputedStyle(t);
h && h.position === "static" && (t.style.position = "relative", t.dataset.previousPosition = "static"), s.classList.add("v-ripple__animation--enter"), s.classList.add("v-ripple__animation--visible"), mo(s, `translate(${i}, ${o}) scale3d(${l},${l},${l})`), s.dataset.activated = String(performance.now()), requestAnimationFrame(() => {
requestAnimationFrame(() => {
s.classList.remove("v-ripple__animation--enter"), s.classList.add("v-ripple__animation--in"), mo(s, `translate(${u}, ${c}) scale3d(1,1,1)`);
});
});
},
hide(e) {
if (!e?._ripple?.enabled) return;
const t = e.getElementsByClassName("v-ripple__animation");
if (t.length === 0) return;
const n = t[t.length - 1];
if (n.dataset.isHiding) return;
n.dataset.isHiding = "true";
const a = performance.now() - Number(n.dataset.activated), s = Math.max(250 - a, 0);
setTimeout(() => {
n.classList.remove("v-ripple__animation--in"), n.classList.add("v-ripple__animation--out"), setTimeout(() => {
e.getElementsByClassName("v-ripple__animation").length === 1 && e.dataset.previousPosition && (e.style.position = e.dataset.previousPosition, delete e.dataset.previousPosition), n.parentNode?.parentNode === e && e.removeChild(n.parentNode);
}, 300);
}, s);
}
};
function Gu(e) {
return typeof e > "u" || !!e;
}
function Ta(e) {
const t = {}, n = e.currentTarget;
if (!(!n?._ripple || n._ripple.touched || e[Zr])) {
if (e[Zr] = !0, Xr(e))
n._ripple.touched = !0, n._ripple.isTouch = !0;
else if (n._ripple.isTouch) return;
if (t.center = n._ripple.centered || Wu(e), n._ripple.class && (t.class = n._ripple.class), Xr(e)) {
if (n._ripple.showTimerCommit) return;
n._ripple.showTimerCommit = () => {
Os.show(e, n, t);
}, n._ripple.showTimer = window.setTimeout(() => {
n?._ripple?.showTimerCommit && (n._ripple.showTimerCommit(), n._ripple.showTimerCommit = null);
}, Ov);
} else
Os.show(e, n, t);
}
}
function vo(e) {
e[Zr] = !0;
}
function yt(e) {
const t = e.currentTarget;
if (t?._ripple) {
if (window.clearTimeout(t._ripple.showTimer), e.type === "touchend" && t._ripple.showTimerCommit) {
t._ripple.showTimerCommit(), t._ripple.showTimerCommit = null, t._ripple.showTimer = window.setTimeout(() => {
yt(e);
});
return;
}
window.setTimeout(() => {
t._ripple && (t._ripple.touched = !1);
}), Os.hide(t);
}
}
function Qu(e) {
const t = e.currentTarget;
t?._ripple && (t._ripple.showTimerCommit && (t._ripple.showTimerCommit = null), window.clearTimeout(t._ripple.showTimer));
}
let Va = !1;
function qu(e) {
!Va && (e.keyCode === Gi.enter || e.keyCode === Gi.space) && (Va = !0, Ta(e));
}
function Ku(e) {
Va = !1, yt(e);
}
function Ju(e) {
Va && (Va = !1, yt(e));
}
function Zu(e, t, n) {
const {
value: a,
modifiers: s
} = t, r = Gu(a);
if (r || Os.hide(e), e._ripple = e._ripple ?? {}, e._ripple.enabled = r, e._ripple.centered = s.center, e._ripple.circle = s.circle, Gr(a) && a.class && (e._ripple.class = a.class), r && !n) {
if (s.stop) {
e.addEventListener("touchstart", vo, {
passive: !0
}), e.addEventListener("mousedown", vo);
return;
}
e.addEventListener("touchstart", Ta, {
passive: !0
}), e.addEventListener("touchend", yt, {
passive: !0
}), e.addEventListener("touchmove", Qu, {
passive: !0
}), e.addEventListener("touchcancel", yt), e.addEventListener("mousedown", Ta), e.addEventListener("mouseup", yt), e.addEventListener("mouseleave", yt), e.addEventListener("keydown", qu), e.addEventListener("keyup", Ku), e.addEventListener("blur", Ju), e.addEventListener("dragstart", yt, {
passive: !0
});
} else !r && n && Xu(e);
}
function Xu(e) {
e.removeEventListener("mousedown", Ta), e.removeEventListener("touchstart", Ta), e.removeEventListener("touchend", yt), e.removeEventListener("touchmove", Qu), e.removeEventListener("touchcancel", yt), e.removeEventListener("mouseup", yt), e.removeEventListener("mouseleave", yt), e.removeEventListener("keydown", qu), e.removeEventListener("keyup", Ku), e.removeEventListener("dragstart", yt), e.removeEventListener("blur", Ju);
}
function Vv(e, t) {
Zu(e, t, !1);
}
function Ev(e) {
delete e._ripple, Xu(e);
}
function Av(e, t) {
if (t.value === t.oldValue)
return;
const n = Gu(t.oldValue);
Zu(e, t, n);
}
const rn = {
mounted: Vv,
unmounted: Ev,
updated: Av
}, Qs = M({
label: String,
baseColor: String,
trueValue: null,
falseValue: null,
value: null,
...de(),
...$l()
}, "VSelectionControl");
function Dv(e) {
const t = De(ju, void 0), {
densityClasses: n
} = Wt(e), a = ke(e, "modelValue"), s = _(() => e.trueValue !== void 0 ? e.trueValue : e.value !== void 0 ? e.value : !0), r = _(() => e.falseValue !== void 0 ? e.falseValue : !1), l = _(() => !!e.multiple || e.multiple == null && Array.isArray(a.value)), i = _({
get() {
const v = t ? t.modelValue.value : a.value;
return l.value ? Ke(v).some((f) => e.valueComparator(f, s.value)) : e.valueComparator(v, s.value);
},
set(v) {
if (e.readonly) return;
const f = v ? s.value : r.value;
let y = f;
l.value && (y = v ? [...Ke(a.value), f] : Ke(a.value).filter((m) => !e.valueComparator(m, s.value))), t ? t.modelValue.value = y : a.value = y;
}
}), {
textColorClasses: o,
textColorStyles: u
} = Ht(() => {
if (!(e.error || e.disabled))
return i.value ? e.color : e.baseColor;
}), {
backgroundColorClasses: c,
backgroundColorStyles: d
} = $t(() => i.value && !e.error && !e.disabled ? e.color : e.baseColor), h = _(() => i.value ? e.trueIcon : e.falseIcon);
return {
group: t,
densityClasses: n,
trueValue: s,
falseValue: r,
model: i,
textColorClasses: o,
textColorStyles: u,
backgroundColorClasses: c,
backgroundColorStyles: d,
icon: h
};
}
const Ln = Q()({
name: "VSelectionControl",
directives: {
vRipple: rn
},
inheritAttrs: !1,
props: Qs(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
attrs: n,
slots: a
} = t;
const {
group: s,
densityClasses: r,
icon: l,
model: i,
textColorClasses: o,
textColorStyles: u,
backgroundColorClasses: c,
backgroundColorStyles: d,
trueValue: h
} = Dv(e), v = on(), f = ne(!1), y = ne(!1), m = R(), b = E(() => e.id || `input-${v}`), S = E(() => !e.disabled && !e.readonly);
s?.onForceUpdate(() => {
m.value && (m.value.checked = i.value);
});
function P(V) {
S.value && (f.value = !0, ea(V.target, ":focus-visible") !== !1 && (y.value = !0));
}
function I() {
f.value = !1, y.value = !1;
}
function k(V) {
V.stopPropagation();
}
function D(V) {
if (!S.value) {
m.value && (m.value.checked = i.value);
return;
}
e.readonly && s && Ge(() => s.forceUpdate()), i.value = V.target.checked;
}
return ee(() => {
const V = a.label ? a.label({
label: e.label,
props: {
for: b.value
}
}) : e.label, [w, T] = Ws(n), N = p("input", j({
ref: m,
checked: i.value,
disabled: !!e.disabled,
id: b.value,
onBlur: I,
onFocus: P,
onInput: D,
"aria-disabled": !!e.disabled,
"aria-label": e.label,
type: e.type,
value: h.value,
name: e.name,
"aria-checked": e.type === "checkbox" ? i.value : void 0
}, T), null);
return p("div", j({
class: ["v-selection-control", {
"v-selection-control--dirty": i.value,
"v-selection-control--disabled": e.disabled,
"v-selection-control--error": e.error,
"v-selection-control--focused": f.value,
"v-selection-control--focus-visible": y.value,
"v-selection-control--inline": e.inline
}, r.value, e.class]
}, w, {
style: e.style
}), [p("div", {
class: K(["v-selection-control__wrapper", o.value]),
style: Z(u.value)
}, [a.default?.({
backgroundColorClasses: c,
backgroundColorStyles: d
}), ht(p("div", {
class: ["v-selection-control__input"]
}, [a.input?.({
model: i,
textColorClasses: o,
textColorStyles: u,
backgroundColorClasses: c,
backgroundColorStyles: d,
inputNode: N,
icon: l.value,
props: {
onFocus: P,
onBlur: I,
id: b.value
}
}) ?? p(pe, null, [l.value && g(Ve, {
key: "icon",
icon: l.value
}, null), N])]), [[rn, e.ripple && [!e.disabled && !e.readonly, null, ["center", "circle"]]]])]), V && g(Bl, {
for: b.value,
onClick: k
}, {
default: () => [V]
})]);
}), {
isFocused: f,
input: m
};
}
}), Mv = M({
indeterminate: Boolean,
indeterminateIcon: {
type: ue,
default: "$checkboxIndeterminate"
},
...Qs({
falseIcon: "$checkboxOff",
trueIcon: "$checkboxOn"
})
}, "VCheckboxBtn"), qa = Q()({
name: "VCheckboxBtn",
props: Mv(),
emits: {
"update:modelValue": (e) => !0,
"update:indeterminate": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const a = ke(e, "indeterminate"), s = ke(e, "modelValue");
function r(o) {
a.value && (a.value = !1);
}
const l = E(() => a.value ? e.indeterminateIcon : e.falseIcon), i = E(() => a.value ? e.indeterminateIcon : e.trueIcon);
return ee(() => {
const o = kn(Ln.filterProps(e), ["modelValue"]);
return g(Ln, j(o, {
modelValue: s.value,
"onUpdate:modelValue": [(u) => s.value = u, r],
class: ["v-checkbox-btn", e.class],
style: e.style,
type: "checkbox",
falseIcon: l.value,
trueIcon: i.value,
"aria-checked": a.value ? "mixed" : void 0
}), n);
}), {};
}
}), ec = Symbol.for("vuetify:locale");
function hn() {
const e = De(ec);
if (!e) throw new Error("[Vuetify] Could not find injected locale instance");
return e;
}
function Mt() {
const e = De(ec);
if (!e) throw new Error("[Vuetify] Could not find injected rtl instance");
return {
isRtl: e.isRtl,
rtlClasses: e.rtlClasses
};
}
function tc(e) {
const {
t
} = hn();
function n(a) {
let {
name: s,
color: r,
...l
} = a;
const i = {
prepend: "prependAction",
prependInner: "prependAction",
append: "appendAction",
appendInner: "appendAction",
clear: "clear"
}[s], o = e[`onClick:${s}`];
function u(d) {
d.key !== "Enter" && d.key !== " " || (d.preventDefault(), d.stopPropagation(), Mu(o, new PointerEvent("click", d)));
}
const c = o && i ? t(`$vuetify.input.${i}`, e.label ?? "") : void 0;
return g(Ve, j({
icon: e[`${s}Icon`],
"aria-label": c,
onClick: o,
onKeydown: u,
color: r
}, l), null);
}
return {
InputIcon: n
};
}
const Rv = M({
disabled: Boolean,
group: Boolean,
hideOnLeave: Boolean,
leaveAbsolute: Boolean,
mode: String,
origin: String
}, "transition");
function pt(e, t, n) {
return Q()({
name: e,
props: Rv({
mode: n,
origin: t
}),
setup(a, s) {
let {
slots: r
} = s;
const l = {
onBeforeEnter(i) {
a.origin && (i.style.transformOrigin = a.origin);
},
onLeave(i) {
if (a.leaveAbsolute) {
const {
offsetTop: o,
offsetLeft: u,
offsetWidth: c,
offsetHeight: d
} = i;
i._transitionInitialStyles = {
position: i.style.position,
top: i.style.top,
left: i.style.left,
width: i.style.width,
height: i.style.height
}, i.style.position = "absolute", i.style.top = `${o}px`, i.style.left = `${u}px`, i.style.width = `${c}px`, i.style.height = `${d}px`;
}
a.hideOnLeave && i.style.setProperty("display", "none", "important");
},
onAfterLeave(i) {
if (a.leaveAbsolute && i?._transitionInitialStyles) {
const {
position: o,
top: u,
left: c,
width: d,
height: h
} = i._transitionInitialStyles;
delete i._transitionInitialStyles, i.style.position = o || "", i.style.top = u || "", i.style.left = c || "", i.style.width = d || "", i.style.height = h || "";
}
}
};
return () => {
const i = a.group ? Sl : Mn;
return sa(i, {
name: a.disabled ? "" : e,
css: !a.disabled,
...a.group ? void 0 : {
mode: a.mode
},
...a.disabled ? {} : l
}, r.default);
};
}
});
}
function nc(e, t) {
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "in-out";
return Q()({
name: e,
props: {
mode: {
type: String,
default: n
},
disabled: Boolean,
group: Boolean
},
setup(a, s) {
let {
slots: r
} = s;
const l = a.group ? Sl : Mn;
return () => sa(l, {
name: a.disabled ? "" : e,
css: !a.disabled,
// mode: props.mode, // TODO: vuejs/vue-next#3104
...a.disabled ? {} : t
}, r.default);
}
});
}
function ac() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
const n = (arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1) ? "width" : "height", a = Zo(`offset-${n}`);
return {
onBeforeEnter(l) {
l._parent = l.parentNode, l._initialStyle = {
transition: l.style.transition,
overflow: l.style.overflow,
[n]: l.style[n]
};
},
onEnter(l) {
const i = l._initialStyle;
if (!i) return;
l.style.setProperty("transition", "none", "important"), l.style.overflow = "hidden";
const o = `${l[a]}px`;
l.style[n] = "0", l.offsetHeight, l.style.transition = i.transition, e && l._parent && l._parent.classList.add(e), requestAnimationFrame(() => {
l.style[n] = o;
});
},
onAfterEnter: r,
onEnterCancelled: r,
onLeave(l) {
l._initialStyle = {
transition: "",
overflow: l.style.overflow,
[n]: l.style[n]
}, l.style.overflow = "hidden", l.style[n] = `${l[a]}px`, l.offsetHeight, requestAnimationFrame(() => l.style[n] = "0");
},
onAfterLeave: s,
onLeaveCancelled: s
};
function s(l) {
e && l._parent && l._parent.classList.remove(e), r(l);
}
function r(l) {
if (!l._initialStyle) return;
const i = l._initialStyle[n];
l.style.overflow = l._initialStyle.overflow, i != null && (l.style[n] = i), delete l._initialStyle;
}
}
const Fv = M({
target: [Object, Array]
}, "v-dialog-transition"), Pr = /* @__PURE__ */ new WeakMap(), Ul = Q()({
name: "VDialogTransition",
props: Fv(),
setup(e, t) {
let {
slots: n
} = t;
const a = {
onBeforeEnter(s) {
s.style.pointerEvents = "none", s.style.visibility = "hidden";
},
async onEnter(s, r) {
await new Promise((v) => requestAnimationFrame(v)), await new Promise((v) => requestAnimationFrame(v)), s.style.visibility = "";
const l = go(e.target, s), {
x: i,
y: o,
sx: u,
sy: c,
speed: d
} = l;
Pr.set(s, l);
const h = Gn(s, [{
transform: `translate(${i}px, ${o}px) scale(${u}, ${c})`,
opacity: 0
}, {}], {
duration: 225 * d,
easing: ov
});
yo(s)?.forEach((v) => {
Gn(v, [{
opacity: 0
}, {
opacity: 0,
offset: 0.33
}, {}], {
duration: 225 * 2 * d,
easing: Ps
});
}), h.finished.then(() => r());
},
onAfterEnter(s) {
s.style.removeProperty("pointer-events");
},
onBeforeLeave(s) {
s.style.pointerEvents = "none";
},
async onLeave(s, r) {
await new Promise((v) => requestAnimationFrame(v));
let l;
!Pr.has(s) || Array.isArray(e.target) || e.target.offsetParent || e.target.getClientRects().length ? l = go(e.target, s) : l = Pr.get(s);
const {
x: i,
y: o,
sx: u,
sy: c,
speed: d
} = l;
Gn(s, [{}, {
transform: `translate(${i}px, ${o}px) scale(${u}, ${c})`,
opacity: 0
}], {
duration: 125 * d,
easing: uv
}).finished.then(() => r()), yo(s)?.forEach((v) => {
Gn(v, [{}, {
opacity: 0,
offset: 0.2
}, {
opacity: 0
}], {
duration: 125 * 2 * d,
easing: Ps
});
});
},
onAfterLeave(s) {
s.style.removeProperty("pointer-events");
}
};
return () => e.target ? g(Mn, j({
name: "dialog-transition"
}, a, {
css: !1
}), n) : g(Mn, {
name: "dialog-transition"
}, n);
}
});
function yo(e) {
const t = e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")?.children;
return t && [...t];
}
function go(e, t) {
const n = Nu(e), a = Ml(t), [s, r] = getComputedStyle(t).transformOrigin.split(" ").map((b) => parseFloat(b)), [l, i] = getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");
let o = n.left + n.width / 2;
l === "left" || i === "left" ? o -= n.width / 2 : (l === "right" || i === "right") && (o += n.width / 2);
let u = n.top + n.height / 2;
l === "top" || i === "top" ? u -= n.height / 2 : (l === "bottom" || i === "bottom") && (u += n.height / 2);
const c = n.width / a.width, d = n.height / a.height, h = Math.max(1, c, d), v = c / h || 0, f = d / h || 0, y = a.width * a.height / (window.innerWidth * window.innerHeight), m = y > 0.12 ? Math.min(1.5, (y - 0.12) * 10 + 1) : 1;
return {
x: o - (s + a.left),
y: u - (r + a.top),
sx: v,
sy: f,
speed: m
};
}
pt("fab-transition", "center center", "out-in");
pt("dialog-bottom-transition");
pt("dialog-top-transition");
const bo = pt("fade-transition"), Lv = pt("scale-transition");
pt("scroll-x-transition");
pt("scroll-x-reverse-transition");
pt("scroll-y-transition");
pt("scroll-y-reverse-transition");
pt("slide-x-transition");
pt("slide-x-reverse-transition");
const sc = pt("slide-y-transition");
pt("slide-y-reverse-transition");
const rc = nc("expand-transition", ac()), lc = nc("expand-x-transition", ac("", !0)), Nv = M({
active: Boolean,
color: String,
messages: {
type: [Array, String],
default: () => []
},
...de(),
...oa({
transition: {
component: sc,
leaveAbsolute: !0,
group: !0
}
})
}, "VMessages"), Bv = Q()({
name: "VMessages",
props: Nv(),
setup(e, t) {
let {
slots: n
} = t;
const a = _(() => Ke(e.messages)), {
textColorClasses: s,
textColorStyles: r
} = Ht(() => e.color);
return ee(() => g(gn, {
transition: e.transition,
tag: "div",
class: K(["v-messages", s.value, e.class]),
style: Z([r.value, e.style])
}, {
default: () => [e.active && a.value.map((l, i) => p("div", {
class: "v-messages__message",
key: `${i}-${a.value}`
}, [n.message ? n.message({
message: l
}) : l]))]
})), {};
}
}), ic = M({
focused: Boolean,
"onUpdate:focused": Je()
}, "focus");
function zl(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
const n = ke(e, "focused"), a = E(() => ({
[`${t}--focused`]: n.value
}));
function s() {
n.value = !0;
}
function r() {
n.value = !1;
}
return {
focusClasses: a,
isFocused: n,
focus: s,
blur: r
};
}
const oc = Symbol.for("vuetify:form"), $v = M({
disabled: Boolean,
fastFail: Boolean,
readonly: Boolean,
modelValue: {
type: Boolean,
default: null
},
validateOn: {
type: String,
default: "input"
}
}, "form");
function Uv(e) {
const t = ke(e, "modelValue"), n = E(() => e.disabled), a = E(() => e.readonly), s = ne(!1), r = R([]), l = R([]);
async function i() {
const c = [];
let d = !0;
l.value = [], s.value = !0;
for (const h of r.value) {
const v = await h.validate();
if (v.length > 0 && (d = !1, c.push({
id: h.id,
errorMessages: v
})), !d && e.fastFail) break;
}
return l.value = c, s.value = !1, {
valid: d,
errors: l.value
};
}
function o() {
r.value.forEach((c) => c.reset());
}
function u() {
r.value.forEach((c) => c.resetValidation());
}
return re(r, () => {
let c = 0, d = 0;
const h = [];
for (const v of r.value)
v.isValid === !1 ? (d++, h.push({
id: v.id,
errorMessages: v.errorMessages
})) : v.isValid === !0 && c++;
l.value = h, t.value = d > 0 ? !1 : c === r.value.length ? !0 : null;
}, {
deep: !0,
flush: "post"
}), We(oc, {
register: (c) => {
let {
id: d,
vm: h,
validate: v,
reset: f,
resetValidation: y
} = c;
r.value.some((m) => m.id === d) && Sn(`Duplicate input name "${d}"`), r.value.push({
id: d,
validate: v,
reset: f,
resetValidation: y,
vm: Ff(h),
isValid: null,
errorMessages: []
});
},
unregister: (c) => {
r.value = r.value.filter((d) => d.id !== c);
},
update: (c, d, h) => {
const v = r.value.find((f) => f.id === c);
v && (v.isValid = d, v.errorMessages = h);
},
isDisabled: n,
isReadonly: a,
isValidating: s,
isValid: t,
items: r,
validateOn: E(() => e.validateOn)
}), {
errors: l,
isDisabled: n,
isReadonly: a,
isValidating: s,
isValid: t,
items: r,
validate: i,
reset: o,
resetValidation: u
};
}
function Hl(e) {
const t = De(oc, null);
return {
...t,
isReadonly: _(() => !!(e?.readonly ?? t?.isReadonly.value)),
isDisabled: _(() => !!(e?.disabled ?? t?.isDisabled.value))
};
}
const zv = Symbol.for("vuetify:rules");
function Hv(e) {
const t = De(zv, null);
return t ? t(e) : E(e);
}
const Yv = M({
disabled: {
type: Boolean,
default: null
},
error: Boolean,
errorMessages: {
type: [Array, String],
default: () => []
},
maxErrors: {
type: [Number, String],
default: 1
},
name: String,
label: String,
readonly: {
type: Boolean,
default: null
},
rules: {
type: Array,
default: () => []
},
modelValue: null,
validateOn: String,
validationValue: null,
...ic()
}, "validation");
function jv(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt(), n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : on();
const a = ke(e, "modelValue"), s = _(() => e.validationValue === void 0 ? a.value : e.validationValue), r = Hl(e), l = Hv(() => e.rules), i = R([]), o = ne(!0), u = _(() => !!(Ke(a.value === "" ? null : a.value).length || Ke(s.value === "" ? null : s.value).length)), c = _(() => e.errorMessages?.length ? Ke(e.errorMessages).concat(i.value).slice(0, Math.max(0, Number(e.maxErrors))) : i.value), d = _(() => {
let I = (e.validateOn ?? r.validateOn?.value) || "input";
I === "lazy" && (I = "input lazy"), I === "eager" && (I = "input eager");
const k = new Set(I?.split(" ") ?? []);
return {
input: k.has("input"),
blur: k.has("blur") || k.has("input") || k.has("invalid-input"),
invalidInput: k.has("invalid-input"),
lazy: k.has("lazy"),
eager: k.has("eager")
};
}), h = _(() => e.error || e.errorMessages?.length ? !1 : e.rules.length ? o.value ? i.value.length || d.value.lazy ? null : !0 : !i.value.length : !0), v = ne(!1), f = _(() => ({
[`${t}--error`]: h.value === !1,
[`${t}--dirty`]: u.value,
[`${t}--disabled`]: r.isDisabled.value,
[`${t}--readonly`]: r.isReadonly.value
})), y = Ue("validation"), m = _(() => e.name ?? _t(n));
Bs(() => {
r.register?.({
id: m.value,
vm: y,
validate: P,
reset: b,
resetValidation: S
});
}), Et(() => {
r.unregister?.(m.value);
}), Ba(async () => {
d.value.lazy || await P(!d.value.eager), r.update?.(m.value, h.value, c.value);
}), Fn(() => d.value.input || d.value.invalidInput && h.value === !1, () => {
re(s, () => {
if (s.value != null)
P();
else if (e.focused) {
const I = re(() => e.focused, (k) => {
k || P(), I();
});
}
});
}), Fn(() => d.value.blur, () => {
re(() => e.focused, (I) => {
I || P();
});
}), re([h, c], () => {
r.update?.(m.value, h.value, c.value);
});
async function b() {
a.value = null, await Ge(), await S();
}
async function S() {
o.value = !0, d.value.lazy ? i.value = [] : await P(!d.value.eager);
}
async function P() {
let I = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
const k = [];
v.value = !0;
for (const D of l.value) {
if (k.length >= Number(e.maxErrors ?? 1))
break;
const w = await (typeof D == "function" ? D : () => D)(s.value);
if (w !== !0) {
if (w !== !1 && typeof w != "string") {
console.warn(`${w} is not a valid value. Rule functions must return boolean true or a string.`);
continue;
}
k.push(w || "");
}
}
return i.value = k, v.value = !1, o.value = I, i.value;
}
return {
errorMessages: c,
isDirty: u,
isDisabled: r.isDisabled,
isReadonly: r.isReadonly,
isPristine: o,
isValid: h,
isValidating: v,
reset: b,
resetValidation: S,
validate: P,
validationClasses: f
};
}
const qs = M({
id: String,
appendIcon: ue,
baseColor: String,
centerAffix: {
type: Boolean,
default: !0
},
color: String,
glow: Boolean,
iconColor: [Boolean, String],
prependIcon: ue,
hideDetails: [Boolean, String],
hideSpinButtons: Boolean,
hint: String,
persistentHint: Boolean,
messages: {
type: [Array, String],
default: () => []
},
direction: {
type: String,
default: "horizontal",
validator: (e) => ["horizontal", "vertical"].includes(e)
},
"onClick:prepend": Je(),
"onClick:append": Je(),
...de(),
...Ct(),
...js(un(), ["maxWidth", "minWidth", "width"]),
...Ye(),
...Yv()
}, "VInput"), ta = Q()({
name: "VInput",
props: {
...qs()
},
emits: {
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
attrs: n,
slots: a,
emit: s
} = t;
const {
densityClasses: r
} = Wt(e), {
dimensionStyles: l
} = cn(e), {
themeClasses: i
} = Ze(e), {
rtlClasses: o
} = Mt(), {
InputIcon: u
} = tc(e), c = on(), d = _(() => e.id || `input-${c}`), h = _(() => `${d.value}-messages`), {
errorMessages: v,
isDirty: f,
isDisabled: y,
isReadonly: m,
isPristine: b,
isValid: S,
isValidating: P,
reset: I,
resetValidation: k,
validate: D,
validationClasses: V
} = jv(e, "v-input", d), w = _(() => ({
id: d,
messagesId: h,
isDirty: f,
isDisabled: y,
isReadonly: m,
isPristine: b,
isValid: S,
isValidating: P,
reset: I,
resetValidation: k,
validate: D
})), T = E(() => e.error || e.disabled ? void 0 : e.focused ? e.color : e.baseColor), N = E(() => {
if (e.iconColor)
return e.iconColor === !0 ? T.value : e.iconColor;
}), $ = _(() => e.errorMessages?.length || !b.value && v.value.length ? v.value : e.hint && (e.persistentHint || e.focused) ? e.hint : e.messages);
return ee(() => {
const B = !!(a.prepend || e.prependIcon), A = !!(a.append || e.appendIcon), U = $.value.length > 0, Y = !e.hideDetails || e.hideDetails === "auto" && (U || !!a.details);
return p("div", {
class: K(["v-input", `v-input--${e.direction}`, {
"v-input--center-affix": e.centerAffix,
"v-input--focused": e.focused,
"v-input--glow": e.glow,
"v-input--hide-spin-buttons": e.hideSpinButtons
}, r.value, i.value, o.value, V.value, e.class]),
style: Z([l.value, e.style])
}, [B && p("div", {
key: "prepend",
class: "v-input__prepend"
}, [a.prepend?.(w.value), e.prependIcon && g(u, {
key: "prepend-icon",
name: "prepend",
color: N.value
}, null)]), a.default && p("div", {
class: "v-input__control"
}, [a.default?.(w.value)]), A && p("div", {
key: "append",
class: "v-input__append"
}, [e.appendIcon && g(u, {
key: "append-icon",
name: "append",
color: N.value
}, null), a.append?.(w.value)]), Y && p("div", {
id: h.value,
class: "v-input__details",
role: "alert",
"aria-live": "polite"
}, [g(Bv, {
active: U,
messages: $.value
}, {
message: a.message
}), a.details?.(w.value)])]);
}), {
reset: I,
resetValidation: k,
validate: D,
isValid: S,
errorMessages: v
};
}
}), Ks = ["sm", "md", "lg", "xl", "xxl"], Wv = Symbol.for("vuetify:display"), Js = M({
mobile: {
type: Boolean,
default: !1
},
mobileBreakpoint: [Number, String]
}, "display");
function $n() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
mobile: null
}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
const n = De(Wv);
if (!n) throw new Error("Could not find Vuetify display injection");
const a = _(() => e.mobile ? !0 : typeof e.mobileBreakpoint == "number" ? n.width.value < e.mobileBreakpoint : e.mobileBreakpoint ? n.width.value < n.thresholds.value[e.mobileBreakpoint] : e.mobile === null ? n.mobile.value : !1), s = E(() => t ? {
[`${t}--mobile`]: a.value
} : {});
return {
...n,
displayClasses: s,
mobile: a
};
}
const Gv = Symbol.for("vuetify:goto");
function Qv() {
return {
container: void 0,
duration: 300,
layout: !1,
offset: 0,
easing: "easeInOutCubic",
patterns: {
linear: (e) => e,
easeInQuad: (e) => e ** 2,
easeOutQuad: (e) => e * (2 - e),
easeInOutQuad: (e) => e < 0.5 ? 2 * e ** 2 : -1 + (4 - 2 * e) * e,
easeInCubic: (e) => e ** 3,
easeOutCubic: (e) => --e ** 3 + 1,
easeInOutCubic: (e) => e < 0.5 ? 4 * e ** 3 : (e - 1) * (2 * e - 2) * (2 * e - 2) + 1,
easeInQuart: (e) => e ** 4,
easeOutQuart: (e) => 1 - --e ** 4,
easeInOutQuart: (e) => e < 0.5 ? 8 * e ** 4 : 1 - 8 * --e ** 4,
easeInQuint: (e) => e ** 5,
easeOutQuint: (e) => 1 + --e ** 5,
easeInOutQuint: (e) => e < 0.5 ? 16 * e ** 5 : 1 + 16 * --e ** 5
}
};
}
function qv(e) {
return Yl(e) ?? (document.scrollingElement || document.body);
}
function Yl(e) {
return typeof e == "string" ? document.querySelector(e) : Vu(e);
}
function xr(e, t, n) {
if (typeof e == "number") return t && n ? -e : e;
let a = Yl(e), s = 0;
for (; a; )
s += t ? a.offsetLeft : a.offsetTop, a = a.offsetParent;
return s;
}
async function po(e, t, n, a) {
const s = n ? "scrollLeft" : "scrollTop", r = Xt(a?.options ?? Qv(), t), l = a?.rtl.value, i = (typeof e == "number" ? e : Yl(e)) ?? 0, o = r.container === "parent" && i instanceof HTMLElement ? i.parentElement : qv(r.container), u = typeof r.easing == "function" ? r.easing : r.patterns[r.easing];
if (!u) throw new TypeError(`Easing function "${r.easing}" not found.`);
let c;
if (typeof i == "number")
c = xr(i, n, l);
else if (c = xr(i, n, l) - xr(o, n, l), r.layout) {
const f = window.getComputedStyle(i).getPropertyValue("--v-layout-top");
f && (c -= parseInt(f, 10));
}
c += r.offset, c = Jv(o, c, !!l, !!n);
const d = o[s] ?? 0;
if (c === d) return Promise.resolve(c);
const h = performance.now();
return new Promise((v) => requestAnimationFrame(function f(y) {
const b = (y - h) / r.duration, S = Math.floor(d + (c - d) * u(bt(b, 0, 1)));
if (o[s] = S, b >= 1 && Math.abs(S - o[s]) < 10)
return v(c);
if (b > 2)
return Sn("Scroll target is not reachable"), v(o[s]);
requestAnimationFrame(f);
}));
}
function Kv() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
const t = De(Gv), {
isRtl: n
} = Mt();
if (!t) throw new Error("[Vuetify] Could not find injected goto instance");
const a = {
...t,
// can be set via VLocaleProvider
rtl: E(() => t.rtl.value || n.value)
};
async function s(r, l) {
return po(r, Xt(e, l), !1, a);
}
return s.horizontal = async (r, l) => po(r, Xt(e, l), !0, a), s;
}
function Jv(e, t, n, a) {
const {
scrollWidth: s,
scrollHeight: r
} = e, [l, i] = e === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [e.offsetWidth, e.offsetHeight];
let o, u;
return a ? n ? (o = -(s - l), u = 0) : (o = 0, u = s - l) : (o = 0, u = r + -i), bt(t, o, u);
}
const jl = M({
modelValue: {
type: null,
default: void 0
},
multiple: Boolean,
mandatory: [Boolean, String],
max: Number,
selectedClass: String,
disabled: Boolean
}, "group"), uc = M({
value: null,
disabled: Boolean,
selectedClass: String
}, "group-item");
function cc(e, t) {
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
const a = Ue("useGroupItem");
if (!a)
throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");
const s = on();
We(Symbol.for(`${t.description}:id`), s);
const r = De(t, null);
if (!r) {
if (!n) return r;
throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`);
}
const l = E(() => e.value), i = _(() => !!(r.disabled.value || e.disabled));
r.register({
id: s,
value: l,
disabled: i
}, a), Et(() => {
r.unregister(s);
});
const o = _(() => r.isSelected(s)), u = _(() => r.items.value[0].id === s), c = _(() => r.items.value[r.items.value.length - 1].id === s), d = _(() => o.value && [r.selectedClass.value, e.selectedClass]);
return re(o, (h) => {
a.emit("group:selected", {
value: h
});
}, {
flush: "sync"
}), {
id: s,
isSelected: o,
isFirst: u,
isLast: c,
toggle: () => r.select(s, !o.value),
select: (h) => r.select(s, h),
selectedClass: d,
value: l,
disabled: i,
group: r
};
}
function Wl(e, t) {
let n = !1;
const a = Zn([]), s = ke(e, "modelValue", [], (h) => h == null ? [] : dc(a, Ke(h)), (h) => {
const v = Xv(a, h);
return e.multiple ? v : v[0];
}), r = Ue("useGroup");
function l(h, v) {
const f = h, y = Symbol.for(`${t.description}:id`), b = wa(y, r?.vnode).indexOf(v);
_t(f.value) == null && (f.value = b, f.useIndexAsValue = !0), b > -1 ? a.splice(b, 0, f) : a.push(f);
}
function i(h) {
if (n) return;
o();
const v = a.findIndex((f) => f.id === h);
a.splice(v, 1);
}
function o() {
const h = a.find((v) => !v.disabled);
h && e.mandatory === "force" && !s.value.length && (s.value = [h.id]);
}
Ba(() => {
o();
}), Et(() => {
n = !0;
}), Lf(() => {
for (let h = 0; h < a.length; h++)
a[h].useIndexAsValue && (a[h].value = h);
});
function u(h, v) {
const f = a.find((y) => y.id === h);
if (!(v && f?.disabled))
if (e.multiple) {
const y = s.value.slice(), m = y.findIndex((S) => S === h), b = ~m;
if (v = v ?? !b, b && e.mandatory && y.length <= 1 || !b && e.max != null && y.length + 1 > e.max) return;
m < 0 && v ? y.push(h) : m >= 0 && !v && y.splice(m, 1), s.value = y;
} else {
const y = s.value.includes(h);
if (e.mandatory && y) return;
s.value = v ?? !y ? [h] : [];
}
}
function c(h) {
if (e.multiple && Sn('This method is not supported when using "multiple" prop'), s.value.length) {
const v = s.value[0], f = a.findIndex((b) => b.id === v);
let y = (f + h) % a.length, m = a[y];
for (; m.disabled && y !== f; )
y = (y + h) % a.length, m = a[y];
if (m.disabled) return;
s.value = [a[y].id];
} else {
const v = a.find((f) => !f.disabled);
v && (s.value = [v.id]);
}
}
const d = {
register: l,
unregister: i,
selected: s,
select: u,
disabled: E(() => e.disabled),
prev: () => c(a.length - 1),
next: () => c(1),
isSelected: (h) => s.value.includes(h),
selectedClass: E(() => e.selectedClass),
items: E(() => a),
getItemIndex: (h) => Zv(a, h)
};
return We(t, d), d;
}
function Zv(e, t) {
const n = dc(e, [t]);
return n.length ? e.findIndex((a) => a.id === n[0]) : -1;
}
function dc(e, t) {
const n = [];
return t.forEach((a) => {
const s = e.find((l) => gt(a, l.value)), r = e[a];
s?.value != null ? n.push(s.id) : r != null && n.push(r.id);
}), n;
}
function Xv(e, t) {
const n = [];
return t.forEach((a) => {
const s = e.findIndex((r) => r.id === a);
if (~s) {
const r = e[s];
n.push(r.value != null ? r.value : s);
}
}), n;
}
function na(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "content";
const n = Qr(), a = R();
if (Be) {
const s = new ResizeObserver((r) => {
e?.(r, s), r.length && (t === "content" ? a.value = r[0].contentRect : a.value = r[0].target.getBoundingClientRect());
});
Et(() => {
s.disconnect();
}), re(() => n.el, (r, l) => {
l && (s.unobserve(l), a.value = void 0), r && s.observe(r);
}, {
flush: "post"
});
}
return {
resizeRef: n,
contentRect: _l(a)
};
}
function ey(e) {
let {
selectedElement: t,
containerElement: n,
isRtl: a,
isHorizontal: s
} = e;
const r = Ea(s, n), l = fc(s, a, n), i = Ea(s, t), o = hc(s, t), u = i * 0.4;
return l > o ? o - u : l + r < o + i ? o - r + i + u : l;
}
function ty(e) {
let {
selectedElement: t,
containerElement: n,
isHorizontal: a
} = e;
const s = Ea(a, n), r = hc(a, t), l = Ea(a, t);
return r - s / 2 + l / 2;
}
function So(e, t) {
return t?.[e ? "scrollWidth" : "scrollHeight"] || 0;
}
function ny(e, t) {
return t?.[e ? "clientWidth" : "clientHeight"] || 0;
}
function fc(e, t, n) {
if (!n)
return 0;
const {
scrollLeft: a,
offsetWidth: s,
scrollWidth: r
} = n;
return e ? t ? r - s + a : a : n.scrollTop;
}
function Ea(e, t) {
return t?.[e ? "offsetWidth" : "offsetHeight"] || 0;
}
function hc(e, t) {
return t?.[e ? "offsetLeft" : "offsetTop"] || 0;
}
const ay = Symbol.for("vuetify:v-slide-group"), mc = M({
centerActive: Boolean,
direction: {
type: String,
default: "horizontal"
},
symbol: {
type: null,
default: ay
},
nextIcon: {
type: ue,
default: "$next"
},
prevIcon: {
type: ue,
default: "$prev"
},
showArrows: {
type: [Boolean, String],
validator: (e) => typeof e == "boolean" || ["always", "desktop", "mobile"].includes(e)
},
...de(),
...Js({
mobile: null
}),
...Le(),
...jl({
selectedClass: "v-slide-group-item--active"
})
}, "VSlideGroup"), wo = Q()({
name: "VSlideGroup",
props: mc(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const {
isRtl: a
} = Mt(), {
displayClasses: s,
mobile: r
} = $n(e), l = Wl(e, e.symbol), i = ne(!1), o = ne(0), u = ne(0), c = ne(0), d = _(() => e.direction === "horizontal"), {
resizeRef: h,
contentRect: v
} = na(), {
resizeRef: f,
contentRect: y
} = na(), m = Kv(), b = _(() => ({
container: h.el,
duration: 200,
easing: "easeOutQuart"
})), S = _(() => l.selected.value.length ? l.items.value.findIndex((O) => O.id === l.selected.value[0]) : -1), P = _(() => l.selected.value.length ? l.items.value.findIndex((O) => O.id === l.selected.value[l.selected.value.length - 1]) : -1);
if (Be) {
let O = -1;
re(() => [l.selected.value, v.value, y.value, d.value], () => {
cancelAnimationFrame(O), O = requestAnimationFrame(() => {
if (v.value && y.value) {
const F = d.value ? "width" : "height";
u.value = v.value[F], c.value = y.value[F], i.value = u.value + 1 < c.value;
}
if (S.value >= 0 && f.el) {
const F = f.el.children[P.value];
k(F, e.centerActive);
}
});
});
}
const I = ne(!1);
function k(O, F) {
let q = 0;
F ? q = ty({
containerElement: h.el,
isHorizontal: d.value,
selectedElement: O
}) : q = ey({
containerElement: h.el,
isHorizontal: d.value,
isRtl: a.value,
selectedElement: O
}), D(q);
}
function D(O) {
if (!Be || !h.el) return;
const F = Ea(d.value, h.el), q = fc(d.value, a.value, h.el);
if (!(So(d.value, h.el) <= F || // Prevent scrolling by only a couple of pixels, which doesn't look smooth
Math.abs(O - q) < 16)) {
if (d.value && a.value && h.el) {
const {
scrollWidth: ae,
offsetWidth: ie
} = h.el;
O = ae - ie - O;
}
d.value ? m.horizontal(O, b.value) : m(O, b.value);
}
}
function V(O) {
const {
scrollTop: F,
scrollLeft: q
} = O.target;
o.value = d.value ? q : F;
}
function w(O) {
if (I.value = !0, !(!i.value || !f.el)) {
for (const F of O.composedPath())
for (const q of f.el.children)
if (q === F) {
k(q);
return;
}
}
}
function T(O) {
I.value = !1;
}
let N = !1;
function $(O) {
!N && !I.value && !(O.relatedTarget && f.el?.contains(O.relatedTarget)) && Y(), N = !1;
}
function B() {
N = !0;
}
function A(O) {
if (!f.el) return;
function F(q) {
O.preventDefault(), Y(q);
}
d.value ? O.key === "ArrowRight" ? F(a.value ? "prev" : "next") : O.key === "ArrowLeft" && F(a.value ? "next" : "prev") : O.key === "ArrowDown" ? F("next") : O.key === "ArrowUp" && F("prev"), O.key === "Home" ? F("first") : O.key === "End" && F("last");
}
function U(O, F) {
if (!O) return;
let q = O;
do
q = q?.[F === "next" ? "nextElementSibling" : "previousElementSibling"];
while (q?.hasAttribute("disabled"));
return q;
}
function Y(O) {
if (!f.el) return;
let F;
if (!O)
F = Ia(f.el)[0];
else if (O === "next") {
if (F = U(f.el.querySelector(":focus"), O), !F) return Y("first");
} else if (O === "prev") {
if (F = U(f.el.querySelector(":focus"), O), !F) return Y("last");
} else O === "first" ? (F = f.el.firstElementChild, F?.hasAttribute("disabled") && (F = U(F, "next"))) : O === "last" && (F = f.el.lastElementChild, F?.hasAttribute("disabled") && (F = U(F, "prev")));
F && F.focus({
preventScroll: !0
});
}
function G(O) {
const F = d.value && a.value ? -1 : 1, q = (O === "prev" ? -F : F) * u.value;
let se = o.value + q;
if (d.value && a.value && h.el) {
const {
scrollWidth: ae,
offsetWidth: ie
} = h.el;
se += ae - ie;
}
D(se);
}
const le = _(() => ({
next: l.next,
prev: l.prev,
select: l.select,
isSelected: l.isSelected
})), oe = _(() => {
switch (e.showArrows) {
// Always show arrows on desktop & mobile
case "always":
return !0;
// Always show arrows on desktop
case "desktop":
return !r.value;
// Show arrows on mobile when overflowing.
// This matches the default 2.2 behavior
case !0:
return i.value || Math.abs(o.value) > 0;
// Always show on mobile
case "mobile":
return r.value || i.value || Math.abs(o.value) > 0;
// https://material.io/components/tabs#scrollable-tabs
// Always show arrows when
// overflowed on desktop
default:
return !r.value && (i.value || Math.abs(o.value) > 0);
}
}), _e = _(() => Math.abs(o.value) > 1), x = _(() => {
if (!h.value) return !1;
const O = So(d.value, h.el), F = ny(d.value, h.el);
return O - F - Math.abs(o.value) > 1;
});
return ee(() => g(e.tag, {
class: K(["v-slide-group", {
"v-slide-group--vertical": !d.value,
"v-slide-group--has-affixes": oe.value,
"v-slide-group--is-overflowing": i.value
}, s.value, e.class]),
style: Z(e.style),
tabindex: I.value || l.selected.value.length ? -1 : 0,
onFocus: $
}, {
default: () => [oe.value && p("div", {
key: "prev",
class: K(["v-slide-group__prev", {
"v-slide-group__prev--disabled": !_e.value
}]),
onMousedown: B,
onClick: () => _e.value && G("prev")
}, [n.prev?.(le.value) ?? g(bo, null, {
default: () => [g(Ve, {
icon: a.value ? e.nextIcon : e.prevIcon
}, null)]
})]), p("div", {
key: "container",
ref: h,
class: "v-slide-group__container",
onScroll: V
}, [p("div", {
ref: f,
class: "v-slide-group__content",
onFocusin: w,
onFocusout: T,
onKeydown: A
}, [n.default?.(le.value)])]), oe.value && p("div", {
key: "next",
class: K(["v-slide-group__next", {
"v-slide-group__next--disabled": !x.value
}]),
onMousedown: B,
onClick: () => x.value && G("next")
}, [n.next?.(le.value) ?? g(bo, null, {
default: () => [g(Ve, {
icon: a.value ? e.prevIcon : e.nextIcon
}, null)]
})])]
})), {
selected: l.selected,
scrollTo: G,
scrollOffset: o,
focus: Y,
hasPrev: _e,
hasNext: x
};
}
}), vc = Symbol.for("vuetify:v-chip-group"), sy = M({
baseColor: String,
column: Boolean,
filter: Boolean,
valueComparator: {
type: Function,
default: gt
},
...mc(),
...de(),
...jl({
selectedClass: "v-chip--selected"
}),
...Le(),
...Ye(),
...fn({
variant: "tonal"
})
}, "VChipGroup");
Q()({
name: "VChipGroup",
props: sy(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const {
themeClasses: a
} = Ze(e), {
isSelected: s,
select: r,
next: l,
prev: i,
selected: o
} = Wl(e, vc);
return zt({
VChip: {
baseColor: E(() => e.baseColor),
color: E(() => e.color),
disabled: E(() => e.disabled),
filter: E(() => e.filter),
variant: E(() => e.variant)
}
}), ee(() => {
const u = wo.filterProps(e);
return g(wo, j(u, {
class: ["v-chip-group", {
"v-chip-group--column": e.column
}, a.value, e.class],
style: e.style
}), {
default: () => [n.default?.({
isSelected: s,
select: r,
next: l,
prev: i,
selected: o.value
})]
});
}), {};
}
});
const Pn = M({
elevation: {
type: [Number, String],
validator(e) {
const t = parseInt(e);
return !isNaN(t) && t >= 0 && // Material Design has a maximum elevation of 24
// https://material.io/design/environment/elevation.html#default-elevations
t <= 24;
}
}
}, "elevation");
function Un(e) {
return {
elevationClasses: E(() => {
const n = $r(e) ? e.value : e.elevation;
return n == null ? [] : [`elevation-${n}`];
})
};
}
function ry() {
const e = Ue("useRoute");
return _(() => e?.proxy?.$route);
}
function ly() {
return Ue("useRouter")?.proxy?.$router;
}
function Zs(e, t) {
const n = Nf("RouterLink"), a = E(() => !!(e.href || e.to)), s = _(() => a?.value || Ji(t, "click") || Ji(e, "click"));
if (typeof n == "string" || !("useLink" in n)) {
const c = E(() => e.href);
return {
isLink: a,
isClickable: s,
href: c,
linkProps: Zn({
href: c
})
};
}
const r = n.useLink({
to: E(() => e.to || ""),
replace: E(() => e.replace)
}), l = _(() => e.to ? r : void 0), i = ry(), o = _(() => l.value ? e.exact ? i.value ? l.value.isExactActive?.value && gt(l.value.route.value.query, i.value.query) : l.value.isExactActive?.value ?? !1 : l.value.isActive?.value ?? !1 : !1), u = _(() => e.to ? l.value?.route.value.href : e.href);
return {
isLink: a,
isClickable: s,
isActive: o,
route: l.value?.route,
navigate: l.value?.navigate,
href: u,
linkProps: Zn({
href: u,
"aria-current": E(() => o.value ? "page" : void 0)
})
};
}
const Xs = M({
href: String,
replace: Boolean,
to: [String, Object],
exact: Boolean
}, "router");
let Ir = !1;
function iy(e, t) {
let n = !1, a, s;
Be && e?.beforeEach && (Ge(() => {
window.addEventListener("popstate", r), a = e.beforeEach((l, i, o) => {
Ir ? n ? t(o) : o() : setTimeout(() => n ? t(o) : o()), Ir = !0;
}), s = e?.afterEach(() => {
Ir = !1;
});
}), mt(() => {
window.removeEventListener("popstate", r), a?.(), s?.();
}));
function r(l) {
l.state?.replaced || (n = !0, setTimeout(() => n = !1));
}
}
const oy = M({
activeClass: String,
appendAvatar: String,
appendIcon: ue,
baseColor: String,
closable: Boolean,
closeIcon: {
type: ue,
default: "$delete"
},
closeLabel: {
type: String,
default: "$vuetify.close"
},
draggable: Boolean,
filter: Boolean,
filterIcon: {
type: ue,
default: "$complete"
},
label: Boolean,
link: {
type: Boolean,
default: void 0
},
pill: Boolean,
prependAvatar: String,
prependIcon: ue,
ripple: {
type: [Boolean, Object],
default: !0
},
text: {
type: [String, Number, Boolean],
default: void 0
},
modelValue: {
type: Boolean,
default: !0
},
onClick: Je(),
onClickOnce: Je(),
...dn(),
...de(),
...Ct(),
...Pn(),
...uc(),
...kt(),
...Xs(),
...ia(),
...Le({
tag: "span"
}),
...Ye(),
...fn({
variant: "tonal"
})
}, "VChip"), Gl = Q()({
name: "VChip",
directives: {
vRipple: rn
},
props: oy(),
emits: {
"click:close": (e) => !0,
"update:modelValue": (e) => !0,
"group:selected": (e) => !0,
click: (e) => !0
},
setup(e, t) {
let {
attrs: n,
emit: a,
slots: s
} = t;
const {
t: r
} = hn(), {
borderClasses: l
} = Cn(e), {
densityClasses: i
} = Wt(e), {
elevationClasses: o
} = Un(e), {
roundedClasses: u
} = Dt(e), {
sizeClasses: c
} = Wa(e), {
themeClasses: d
} = Ze(e), h = ke(e, "modelValue"), v = cc(e, vc, !1), f = Zs(e, n), y = E(() => e.link !== !1 && f.isLink.value), m = _(() => !e.disabled && e.link !== !1 && (!!v || e.link || f.isClickable.value)), b = E(() => ({
"aria-label": r(e.closeLabel),
onClick(V) {
V.preventDefault(), V.stopPropagation(), h.value = !1, a("click:close", V);
}
})), {
colorClasses: S,
colorStyles: P,
variantClasses: I
} = Qa(() => ({
color: !v || v.isSelected.value ? e.color ?? e.baseColor : e.baseColor,
variant: e.variant
}));
function k(V) {
a("click", V), m.value && (f.navigate?.(V), v?.toggle());
}
function D(V) {
(V.key === "Enter" || V.key === " ") && (V.preventDefault(), k(V));
}
return () => {
const V = f.isLink.value ? "a" : e.tag, w = !!(e.appendIcon || e.appendAvatar), T = !!(w || s.append), N = !!(s.close || e.closable), $ = !!(s.filter || e.filter) && v, B = !!(e.prependIcon || e.prependAvatar), A = !!(B || s.prepend);
return h.value && ht(g(V, j({
class: ["v-chip", {
"v-chip--disabled": e.disabled,
"v-chip--label": e.label,
"v-chip--link": m.value,
"v-chip--filter": $,
"v-chip--pill": e.pill,
[`${e.activeClass}`]: e.activeClass && f.isActive?.value
}, d.value, l.value, S.value, i.value, o.value, u.value, c.value, I.value, v?.selectedClass.value, e.class],
style: [P.value, e.style],
disabled: e.disabled || void 0,
draggable: e.draggable,
tabindex: m.value ? 0 : void 0,
onClick: k,
onKeydown: m.value && !y.value && D
}, f.linkProps), {
default: () => [Ga(m.value, "v-chip"), $ && g(lc, {
key: "filter"
}, {
default: () => [ht(p("div", {
class: "v-chip__filter"
}, [s.filter ? g(Ne, {
key: "filter-defaults",
disabled: !e.filterIcon,
defaults: {
VIcon: {
icon: e.filterIcon
}
}
}, s.filter) : g(Ve, {
key: "filter-icon",
icon: e.filterIcon
}, null)]), [[Bn, v.isSelected.value]])]
}), A && p("div", {
key: "prepend",
class: "v-chip__prepend"
}, [s.prepend ? g(Ne, {
key: "prepend-defaults",
disabled: !B,
defaults: {
VAvatar: {
image: e.prependAvatar,
start: !0
},
VIcon: {
icon: e.prependIcon,
start: !0
}
}
}, s.prepend) : p(pe, null, [e.prependIcon && g(Ve, {
key: "prepend-icon",
icon: e.prependIcon,
start: !0
}, null), e.prependAvatar && g(_n, {
key: "prepend-avatar",
image: e.prependAvatar,
start: !0
}, null)])]), p("div", {
class: "v-chip__content",
"data-no-activator": ""
}, [s.default?.({
isSelected: v?.isSelected.value,
selectedClass: v?.selectedClass.value,
select: v?.select,
toggle: v?.toggle,
value: v?.value.value,
disabled: e.disabled
}) ?? Te(e.text)]), T && p("div", {
key: "append",
class: "v-chip__append"
}, [s.append ? g(Ne, {
key: "append-defaults",
disabled: !w,
defaults: {
VAvatar: {
end: !0,
image: e.appendAvatar
},
VIcon: {
end: !0,
icon: e.appendIcon
}
}
}, s.append) : p(pe, null, [e.appendIcon && g(Ve, {
key: "append-icon",
end: !0,
icon: e.appendIcon
}, null), e.appendAvatar && g(_n, {
key: "append-avatar",
end: !0,
image: e.appendAvatar
}, null)])]), N && p("button", j({
key: "close",
class: "v-chip__close",
type: "button",
"data-testid": "close-chip"
}, b.value), [s.close ? g(Ne, {
key: "close-defaults",
defaults: {
VIcon: {
icon: e.closeIcon,
size: "x-small"
}
}
}, s.close) : g(Ve, {
key: "close-icon",
icon: e.closeIcon,
size: "x-small"
}, null)])]
}), [[rn, m.value && e.ripple, null]]);
};
}
}), el = Symbol.for("vuetify:list");
function yc() {
const e = De(el, {
hasPrepend: ne(!1),
updateHasPrepend: () => null
}), t = {
hasPrepend: ne(!1),
updateHasPrepend: (n) => {
n && (t.hasPrepend.value = n);
}
};
return We(el, t), e;
}
function gc() {
return De(el, null);
}
const Ql = (e) => {
const t = {
activate: (n) => {
let {
id: a,
value: s,
activated: r
} = n;
return a = He(a), e && !s && r.size === 1 && r.has(a) || (s ? r.add(a) : r.delete(a)), r;
},
in: (n, a, s) => {
let r = /* @__PURE__ */ new Set();
if (n != null)
for (const l of Ke(n))
r = t.activate({
id: l,
value: !0,
activated: new Set(r),
children: a,
parents: s
});
return r;
},
out: (n) => Array.from(n)
};
return t;
}, bc = (e) => {
const t = Ql(e);
return {
activate: (a) => {
let {
activated: s,
id: r,
...l
} = a;
r = He(r);
const i = s.has(r) ? /* @__PURE__ */ new Set([r]) : /* @__PURE__ */ new Set();
return t.activate({
...l,
id: r,
activated: i
});
},
in: (a, s, r) => {
let l = /* @__PURE__ */ new Set();
if (a != null) {
const i = Ke(a);
i.length && (l = t.in(i.slice(0, 1), s, r));
}
return l;
},
out: (a, s, r) => t.out(a, s, r)
};
}, uy = (e) => {
const t = Ql(e);
return {
activate: (a) => {
let {
id: s,
activated: r,
children: l,
...i
} = a;
return s = He(s), l.has(s) ? r : t.activate({
id: s,
activated: r,
children: l,
...i
});
},
in: t.in,
out: t.out
};
}, cy = (e) => {
const t = bc(e);
return {
activate: (a) => {
let {
id: s,
activated: r,
children: l,
...i
} = a;
return s = He(s), l.has(s) ? r : t.activate({
id: s,
activated: r,
children: l,
...i
});
},
in: t.in,
out: t.out
};
}, dy = {
open: (e) => {
let {
id: t,
value: n,
opened: a,
parents: s
} = e;
if (n) {
const r = /* @__PURE__ */ new Set();
r.add(t);
let l = s.get(t);
for (; l != null; )
r.add(l), l = s.get(l);
return r;
} else
return a.delete(t), a;
},
select: () => null
}, pc = {
open: (e) => {
let {
id: t,
value: n,
opened: a,
parents: s
} = e;
if (n) {
let r = s.get(t);
for (a.add(t); r != null && r !== t; )
a.add(r), r = s.get(r);
return a;
} else
a.delete(t);
return a;
},
select: () => null
}, fy = {
open: pc.open,
select: (e) => {
let {
id: t,
value: n,
opened: a,
parents: s
} = e;
if (!n) return a;
const r = [];
let l = s.get(t);
for (; l != null; )
r.push(l), l = s.get(l);
return new Set(r);
}
}, ql = (e) => {
const t = {
select: (n) => {
let {
id: a,
value: s,
selected: r
} = n;
if (a = He(a), e && !s) {
const l = Array.from(r.entries()).reduce((i, o) => {
let [u, c] = o;
return c === "on" && i.push(u), i;
}, []);
if (l.length === 1 && l[0] === a) return r;
}
return r.set(a, s ? "on" : "off"), r;
},
in: (n, a, s) => {
const r = /* @__PURE__ */ new Map();
for (const l of n || [])
t.select({
id: l,
value: !0,
selected: r,
children: a,
parents: s
});
return r;
},
out: (n) => {
const a = [];
for (const [s, r] of n.entries())
r === "on" && a.push(s);
return a;
}
};
return t;
}, Sc = (e) => {
const t = ql(e);
return {
select: (a) => {
let {
selected: s,
id: r,
...l
} = a;
r = He(r);
const i = s.has(r) ? /* @__PURE__ */ new Map([[r, s.get(r)]]) : /* @__PURE__ */ new Map();
return t.select({
...l,
id: r,
selected: i
});
},
in: (a, s, r) => a?.length ? t.in(a.slice(0, 1), s, r) : /* @__PURE__ */ new Map(),
out: (a, s, r) => t.out(a, s, r)
};
}, hy = (e) => {
const t = ql(e);
return {
select: (a) => {
let {
id: s,
selected: r,
children: l,
...i
} = a;
return s = He(s), l.has(s) ? r : t.select({
id: s,
selected: r,
children: l,
...i
});
},
in: t.in,
out: t.out
};
}, my = (e) => {
const t = Sc(e);
return {
select: (a) => {
let {
id: s,
selected: r,
children: l,
...i
} = a;
return s = He(s), l.has(s) ? r : t.select({
id: s,
selected: r,
children: l,
...i
});
},
in: t.in,
out: t.out
};
}, wc = (e) => {
const t = {
select: (n) => {
let {
id: a,
value: s,
selected: r,
children: l,
parents: i
} = n;
a = He(a);
const o = new Map(r), u = [a];
for (; u.length; ) {
const d = u.shift();
r.set(He(d), s ? "on" : "off"), l.has(d) && u.push(...l.get(d));
}
let c = He(i.get(a));
for (; c; ) {
const d = l.get(c), h = d.every((f) => r.get(He(f)) === "on"), v = d.every((f) => !r.has(He(f)) || r.get(He(f)) === "off");
r.set(c, h ? "on" : v ? "off" : "indeterminate"), c = He(i.get(c));
}
return e && !s && Array.from(r.entries()).reduce((h, v) => {
let [f, y] = v;
return y === "on" && h.push(f), h;
}, []).length === 0 ? o : r;
},
in: (n, a, s) => {
let r = /* @__PURE__ */ new Map();
for (const l of n || [])
r = t.select({
id: l,
value: !0,
selected: r,
children: a,
parents: s
});
return r;
},
out: (n, a) => {
const s = [];
for (const [r, l] of n.entries())
l === "on" && !a.has(r) && s.push(r);
return s;
}
};
return t;
}, vy = (e) => {
const t = wc(e);
return {
select: t.select,
in: t.in,
out: (a, s, r) => {
const l = [];
for (const [i, o] of a.entries())
if (o === "on") {
if (r.has(i)) {
const u = r.get(i);
if (a.get(u) === "on") continue;
}
l.push(i);
}
return l;
}
};
}, Aa = Symbol.for("vuetify:nested"), _c = {
id: ne(),
root: {
register: () => null,
unregister: () => null,
parents: R(/* @__PURE__ */ new Map()),
children: R(/* @__PURE__ */ new Map()),
open: () => null,
openOnSelect: () => null,
activate: () => null,
select: () => null,
activatable: R(!1),
selectable: R(!1),
opened: R(/* @__PURE__ */ new Set()),
activated: R(/* @__PURE__ */ new Set()),
selected: R(/* @__PURE__ */ new Map()),
selectedValues: R([]),
getPath: () => []
}
}, yy = M({
activatable: Boolean,
selectable: Boolean,
activeStrategy: [String, Function, Object],
selectStrategy: [String, Function, Object],
openStrategy: [String, Object],
opened: null,
activated: null,
selected: null,
mandatory: Boolean
}, "nested"), gy = (e) => {
let t = !1;
const n = R(/* @__PURE__ */ new Map()), a = R(/* @__PURE__ */ new Map()), s = ke(e, "opened", e.opened, (f) => new Set(f), (f) => [...f.values()]), r = _(() => {
if (typeof e.activeStrategy == "object") return e.activeStrategy;
if (typeof e.activeStrategy == "function") return e.activeStrategy(e.mandatory);
switch (e.activeStrategy) {
case "leaf":
return uy(e.mandatory);
case "single-leaf":
return cy(e.mandatory);
case "independent":
return Ql(e.mandatory);
case "single-independent":
default:
return bc(e.mandatory);
}
}), l = _(() => {
if (typeof e.selectStrategy == "object") return e.selectStrategy;
if (typeof e.selectStrategy == "function") return e.selectStrategy(e.mandatory);
switch (e.selectStrategy) {
case "single-leaf":
return my(e.mandatory);
case "leaf":
return hy(e.mandatory);
case "independent":
return ql(e.mandatory);
case "single-independent":
return Sc(e.mandatory);
case "trunk":
return vy(e.mandatory);
case "classic":
default:
return wc(e.mandatory);
}
}), i = _(() => {
if (typeof e.openStrategy == "object") return e.openStrategy;
switch (e.openStrategy) {
case "list":
return fy;
case "single":
return dy;
case "multiple":
default:
return pc;
}
}), o = ke(e, "activated", e.activated, (f) => r.value.in(f, n.value, a.value), (f) => r.value.out(f, n.value, a.value)), u = ke(e, "selected", e.selected, (f) => l.value.in(f, n.value, a.value), (f) => l.value.out(f, n.value, a.value));
Et(() => {
t = !0;
});
function c(f) {
const y = [];
let m = f;
for (; m != null; )
y.unshift(m), m = a.value.get(m);
return y;
}
const d = Ue("nested"), h = /* @__PURE__ */ new Set(), v = {
id: ne(),
root: {
opened: s,
activatable: E(() => e.activatable),
selectable: E(() => e.selectable),
activated: o,
selected: u,
selectedValues: _(() => {
const f = [];
for (const [y, m] of u.value.entries())
m === "on" && f.push(y);
return f;
}),
register: (f, y, m) => {
if (h.has(f)) {
const b = c(f).map(String).join(" -> "), S = c(y).concat(f).map(String).join(" -> ");
Rl(`Multiple nodes with the same ID
${b}
${S}`);
return;
} else
h.add(f);
y && f !== y && a.value.set(f, y), m && n.value.set(f, []), y != null && n.value.set(y, [...n.value.get(y) || [], f]);
},
unregister: (f) => {
if (t) return;
h.delete(f), n.value.delete(f);
const y = a.value.get(f);
if (y) {
const m = n.value.get(y) ?? [];
n.value.set(y, m.filter((b) => b !== f));
}
a.value.delete(f);
},
open: (f, y, m) => {
d.emit("click:open", {
id: f,
value: y,
path: c(f),
event: m
});
const b = i.value.open({
id: f,
value: y,
opened: new Set(s.value),
children: n.value,
parents: a.value,
event: m
});
b && (s.value = b);
},
openOnSelect: (f, y, m) => {
const b = i.value.select({
id: f,
value: y,
selected: new Map(u.value),
opened: new Set(s.value),
children: n.value,
parents: a.value,
event: m
});
b && (s.value = b);
},
select: (f, y, m) => {
d.emit("click:select", {
id: f,
value: y,
path: c(f),
event: m
});
const b = l.value.select({
id: f,
value: y,
selected: new Map(u.value),
children: n.value,
parents: a.value,
event: m
});
b && (u.value = b), v.root.openOnSelect(f, y, m);
},
activate: (f, y, m) => {
if (!e.activatable)
return v.root.select(f, !0, m);
d.emit("click:activate", {
id: f,
value: y,
path: c(f),
event: m
});
const b = r.value.activate({
id: f,
value: y,
activated: new Set(o.value),
children: n.value,
parents: a.value,
event: m
});
if (b.size !== o.value.size)
o.value = b;
else {
for (const S of b)
if (!o.value.has(S)) {
o.value = b;
return;
}
for (const S of o.value)
if (!b.has(S)) {
o.value = b;
return;
}
}
},
children: n,
parents: a,
getPath: c
}
};
return We(Aa, v), v.root;
}, kc = (e, t) => {
const n = De(Aa, _c), a = Symbol("nested item"), s = _(() => sn(e) ?? a), r = {
...n,
id: s,
open: (l, i) => n.root.open(s.value, l, i),
openOnSelect: (l, i) => n.root.openOnSelect(s.value, l, i),
isOpen: _(() => n.root.opened.value.has(s.value)),
parent: _(() => n.root.parents.value.get(s.value)),
activate: (l, i) => n.root.activate(s.value, l, i),
isActivated: _(() => n.root.activated.value.has(He(s.value))),
select: (l, i) => n.root.select(s.value, l, i),
isSelected: _(() => n.root.selected.value.get(He(s.value)) === "on"),
isIndeterminate: _(() => n.root.selected.value.get(He(s.value)) === "indeterminate"),
isLeaf: _(() => !n.root.children.value.get(s.value)),
isGroupActivator: n.isGroupActivator
};
return Bs(() => {
!n.isGroupActivator && n.root.register(s.value, n.id.value, t);
}), Et(() => {
!n.isGroupActivator && n.root.unregister(s.value);
}), t && We(Aa, r), r;
}, by = () => {
const e = De(Aa, _c);
We(Aa, {
...e,
isGroupActivator: !0
});
};
function py() {
const e = ne(!1);
return Ba(() => {
window.requestAnimationFrame(() => {
e.value = !0;
});
}), {
ssrBootStyles: E(() => e.value ? void 0 : {
transition: "none !important"
}),
isBooted: _l(e)
};
}
const Sy = ja({
name: "VListGroupActivator",
setup(e, t) {
let {
slots: n
} = t;
return by(), () => n.default?.();
}
}), wy = M({
/* @deprecated */
activeColor: String,
baseColor: String,
color: String,
collapseIcon: {
type: ue,
default: "$collapse"
},
expandIcon: {
type: ue,
default: "$expand"
},
prependIcon: ue,
appendIcon: ue,
fluid: Boolean,
subgroup: Boolean,
title: String,
value: null,
...de(),
...Le()
}, "VListGroup"), _o = Q()({
name: "VListGroup",
props: wy(),
setup(e, t) {
let {
slots: n
} = t;
const {
isOpen: a,
open: s,
id: r
} = kc(() => e.value, !0), l = _(() => `v-list-group--id-${String(r.value)}`), i = gc(), {
isBooted: o
} = py();
function u(v) {
v.stopPropagation(), !["INPUT", "TEXTAREA"].includes(v.target?.tagName) && s(!a.value, v);
}
const c = _(() => ({
onClick: u,
class: "v-list-group__header",
id: l.value
})), d = _(() => a.value ? e.collapseIcon : e.expandIcon), h = _(() => ({
VListItem: {
active: a.value,
activeColor: e.activeColor,
baseColor: e.baseColor,
color: e.color,
prependIcon: e.prependIcon || e.subgroup && d.value,
appendIcon: e.appendIcon || !e.subgroup && d.value,
title: e.title,
value: e.value
}
}));
return ee(() => g(e.tag, {
class: K(["v-list-group", {
"v-list-group--prepend": i?.hasPrepend.value,
"v-list-group--fluid": e.fluid,
"v-list-group--subgroup": e.subgroup,
"v-list-group--open": a.value
}, e.class]),
style: Z(e.style)
}, {
default: () => [n.activator && g(Ne, {
defaults: h.value
}, {
default: () => [g(Sy, null, {
default: () => [n.activator({
props: c.value,
isOpen: a.value
})]
})]
}), g(gn, {
transition: {
component: rc
},
disabled: !o.value
}, {
default: () => [ht(p("div", {
class: "v-list-group__items",
role: "group",
"aria-labelledby": l.value
}, [n.default?.()]), [[Bn, a.value]])]
})]
})), {
isOpen: a
};
}
}), _y = M({
opacity: [Number, String],
...de(),
...Le()
}, "VListItemSubtitle"), ky = Q()({
name: "VListItemSubtitle",
props: _y(),
setup(e, t) {
let {
slots: n
} = t;
return ee(() => g(e.tag, {
class: K(["v-list-item-subtitle", e.class]),
style: Z([{
"--v-list-item-subtitle-opacity": e.opacity
}, e.style])
}, n)), {};
}
}), Cy = $u("v-list-item-title"), Py = M({
active: {
type: Boolean,
default: void 0
},
activeClass: String,
/* @deprecated */
activeColor: String,
appendAvatar: String,
appendIcon: ue,
baseColor: String,
disabled: Boolean,
lines: [Boolean, String],
link: {
type: Boolean,
default: void 0
},
nav: Boolean,
prependAvatar: String,
prependIcon: ue,
ripple: {
type: [Boolean, Object],
default: !0
},
slim: Boolean,
subtitle: {
type: [String, Number, Boolean],
default: void 0
},
title: {
type: [String, Number, Boolean],
default: void 0
},
value: null,
onClick: Je(),
onClickOnce: Je(),
...dn(),
...de(),
...Ct(),
...un(),
...Pn(),
...kt(),
...Xs(),
...Le(),
...Ye(),
...fn({
variant: "text"
})
}, "VListItem"), Nn = Q()({
name: "VListItem",
directives: {
vRipple: rn
},
props: Py(),
emits: {
click: (e) => !0
},
setup(e, t) {
let {
attrs: n,
slots: a,
emit: s
} = t;
const r = Zs(e, n), l = _(() => e.value === void 0 ? r.href.value : e.value), {
activate: i,
isActivated: o,
select: u,
isOpen: c,
isSelected: d,
isIndeterminate: h,
isGroupActivator: v,
root: f,
parent: y,
openOnSelect: m,
id: b
} = kc(l, !1), S = gc(), P = _(() => e.active !== !1 && (e.active || r.isActive?.value || (f.activatable.value ? o.value : d.value))), I = E(() => e.link !== !1 && r.isLink.value), k = _(() => !!S && (f.selectable.value || f.activatable.value || e.value != null)), D = _(() => !e.disabled && e.link !== !1 && (e.link || r.isClickable.value || k.value)), V = E(() => e.rounded || e.nav), w = E(() => e.color ?? e.activeColor), T = E(() => ({
color: P.value ? w.value ?? e.baseColor : e.baseColor,
variant: e.variant
}));
re(() => r.isActive?.value, (se) => {
se && N();
}), Bs(() => {
r.isActive?.value && N();
});
function N() {
y.value != null && f.open(y.value, !0), m(!0);
}
const {
themeClasses: $
} = Ze(e), {
borderClasses: B
} = Cn(e), {
colorClasses: A,
colorStyles: U,
variantClasses: Y
} = Qa(T), {
densityClasses: G
} = Wt(e), {
dimensionStyles: le
} = cn(e), {
elevationClasses: oe
} = Un(e), {
roundedClasses: _e
} = Dt(V), x = E(() => e.lines ? `v-list-item--${e.lines}-line` : void 0), O = _(() => ({
isActive: P.value,
select: u,
isOpen: c.value,
isSelected: d.value,
isIndeterminate: h.value
}));
function F(se) {
s("click", se), !["INPUT", "TEXTAREA"].includes(se.target?.tagName) && D.value && (r.navigate?.(se), !v && (f.activatable.value ? i(!o.value, se) : (f.selectable.value || e.value != null) && u(!d.value, se)));
}
function q(se) {
const ae = se.target;
["INPUT", "TEXTAREA"].includes(ae.tagName) || (se.key === "Enter" || se.key === " ") && (se.preventDefault(), se.target.dispatchEvent(new MouseEvent("click", se)));
}
return ee(() => {
const se = I.value ? "a" : e.tag, ae = a.title || e.title != null, ie = a.subtitle || e.subtitle != null, J = !!(e.appendAvatar || e.appendIcon), Ee = !!(J || a.append), Se = !!(e.prependAvatar || e.prependIcon), z = !!(Se || a.prepend);
return S?.updateHasPrepend(z), e.activeColor && tv("active-color", ["color", "base-color"]), ht(g(se, j({
class: ["v-list-item", {
"v-list-item--active": P.value,
"v-list-item--disabled": e.disabled,
"v-list-item--link": D.value,
"v-list-item--nav": e.nav,
"v-list-item--prepend": !z && S?.hasPrepend.value,
"v-list-item--slim": e.slim,
[`${e.activeClass}`]: e.activeClass && P.value
}, $.value, B.value, A.value, G.value, oe.value, x.value, _e.value, Y.value, e.class],
style: [U.value, le.value, e.style],
tabindex: D.value ? S ? -2 : 0 : void 0,
"aria-selected": k.value ? f.activatable.value ? o.value : f.selectable.value ? d.value : P.value : void 0,
onClick: F,
onKeydown: D.value && !I.value && q
}, r.linkProps), {
default: () => [Ga(D.value || P.value, "v-list-item"), z && p("div", {
key: "prepend",
class: "v-list-item__prepend"
}, [a.prepend ? g(Ne, {
key: "prepend-defaults",
disabled: !Se,
defaults: {
VAvatar: {
density: e.density,
image: e.prependAvatar
},
VIcon: {
density: e.density,
icon: e.prependIcon
},
VListItemAction: {
start: !0
}
}
}, {
default: () => [a.prepend?.(O.value)]
}) : p(pe, null, [e.prependAvatar && g(_n, {
key: "prepend-avatar",
density: e.density,
image: e.prependAvatar
}, null), e.prependIcon && g(Ve, {
key: "prepend-icon",
density: e.density,
icon: e.prependIcon
}, null)]), p("div", {
class: "v-list-item__spacer"
}, null)]), p("div", {
class: "v-list-item__content",
"data-no-activator": ""
}, [ae && g(Cy, {
key: "title"
}, {
default: () => [a.title?.({
title: e.title
}) ?? Te(e.title)]
}), ie && g(ky, {
key: "subtitle"
}, {
default: () => [a.subtitle?.({
subtitle: e.subtitle
}) ?? Te(e.subtitle)]
}), a.default?.(O.value)]), Ee && p("div", {
key: "append",
class: "v-list-item__append"
}, [a.append ? g(Ne, {
key: "append-defaults",
disabled: !J,
defaults: {
VAvatar: {
density: e.density,
image: e.appendAvatar
},
VIcon: {
density: e.density,
icon: e.appendIcon
},
VListItemAction: {
end: !0
}
}
}, {
default: () => [a.append?.(O.value)]
}) : p(pe, null, [e.appendIcon && g(Ve, {
key: "append-icon",
density: e.density,
icon: e.appendIcon
}, null), e.appendAvatar && g(_n, {
key: "append-avatar",
density: e.density,
image: e.appendAvatar
}, null)]), p("div", {
class: "v-list-item__spacer"
}, null)])]
}), [[rn, D.value && e.ripple]]);
}), {
activate: i,
isActivated: o,
isGroupActivator: v,
isSelected: d,
list: S,
select: u,
root: f,
id: b,
link: r
};
}
}), xy = M({
color: String,
inset: Boolean,
sticky: Boolean,
title: String,
...de(),
...Le()
}, "VListSubheader"), Iy = Q()({
name: "VListSubheader",
props: xy(),
setup(e, t) {
let {
slots: n
} = t;
const {
textColorClasses: a,
textColorStyles: s
} = Ht(() => e.color);
return ee(() => {
const r = !!(n.default || e.title);
return g(e.tag, {
class: K(["v-list-subheader", {
"v-list-subheader--inset": e.inset,
"v-list-subheader--sticky": e.sticky
}, a.value, e.class]),
style: Z([{
textColorStyles: s
}, e.style])
}, {
default: () => [r && p("div", {
class: "v-list-subheader__text"
}, [n.default?.() ?? e.title])]
});
}), {};
}
}), Oy = M({
color: String,
inset: Boolean,
length: [Number, String],
opacity: [Number, String],
thickness: [Number, String],
vertical: Boolean,
...de(),
...Ye()
}, "VDivider"), Cc = Q()({
name: "VDivider",
props: Oy(),
setup(e, t) {
let {
attrs: n,
slots: a
} = t;
const {
themeClasses: s
} = Ze(e), {
textColorClasses: r,
textColorStyles: l
} = Ht(() => e.color), i = _(() => {
const o = {};
return e.length && (o[e.vertical ? "height" : "width"] = te(e.length)), e.thickness && (o[e.vertical ? "borderRightWidth" : "borderTopWidth"] = te(e.thickness)), o;
});
return ee(() => {
const o = p("hr", {
class: K([{
"v-divider": !0,
"v-divider--inset": e.inset,
"v-divider--vertical": e.vertical
}, s.value, r.value, e.class]),
style: Z([i.value, l.value, {
"--v-border-opacity": e.opacity
}, e.style]),
"aria-orientation": !n.role || n.role === "separator" ? e.vertical ? "vertical" : "horizontal" : void 0,
role: `${n.role || "separator"}`
}, null);
return a.default ? p("div", {
class: K(["v-divider__wrapper", {
"v-divider__wrapper--vertical": e.vertical,
"v-divider__wrapper--inset": e.inset
}])
}, [o, p("div", {
class: "v-divider__content"
}, [a.default()]), o]) : o;
}), {};
}
}), Ty = M({
items: Array,
returnObject: Boolean
}, "VListChildren"), Pc = Q()({
name: "VListChildren",
props: Ty(),
setup(e, t) {
let {
slots: n
} = t;
return yc(), () => n.default?.() ?? e.items?.map((a) => {
let {
children: s,
props: r,
type: l,
raw: i
} = a;
if (l === "divider")
return n.divider?.({
props: r
}) ?? g(Cc, r, null);
if (l === "subheader")
return n.subheader?.({
props: r
}) ?? g(Iy, r, null);
const o = {
subtitle: n.subtitle ? (c) => n.subtitle?.({
...c,
item: i
}) : void 0,
prepend: n.prepend ? (c) => n.prepend?.({
...c,
item: i
}) : void 0,
append: n.append ? (c) => n.append?.({
...c,
item: i
}) : void 0,
title: n.title ? (c) => n.title?.({
...c,
item: i
}) : void 0
}, u = _o.filterProps(r);
return s ? g(_o, j({
value: r?.value
}, u), {
activator: (c) => {
let {
props: d
} = c;
const h = {
...r,
...d,
value: e.returnObject ? i : r.value
};
return n.header ? n.header({
props: h
}) : g(Nn, h, o);
},
default: () => g(Pc, {
items: s,
returnObject: e.returnObject
}, n)
}) : n.item ? n.item({
props: r
}) : g(Nn, j(r, {
value: e.returnObject ? i : r.value
}), o);
});
}
}), xc = M({
items: {
type: Array,
default: () => []
},
itemTitle: {
type: [String, Array, Function],
default: "title"
},
itemValue: {
type: [String, Array, Function],
default: "value"
},
itemChildren: {
type: [Boolean, String, Array, Function],
default: "children"
},
itemProps: {
type: [Boolean, String, Array, Function],
default: "props"
},
returnObject: Boolean,
valueComparator: Function
}, "list-items");
function tl(e, t) {
const n = ot(t, e.itemTitle, t), a = ot(t, e.itemValue, n), s = ot(t, e.itemChildren), r = e.itemProps === !0 ? typeof t == "object" && t != null && !Array.isArray(t) ? "children" in t ? kn(t, ["children"]) : t : void 0 : ot(t, e.itemProps), l = {
title: n,
value: a,
...r
};
return {
title: String(l.title ?? ""),
value: l.value,
props: l,
children: Array.isArray(s) ? Ic(e, s) : void 0,
raw: t
};
}
function Ic(e, t) {
const n = js(e, ["itemTitle", "itemValue", "itemChildren", "itemProps", "returnObject", "valueComparator"]), a = [];
for (const s of t)
a.push(tl(n, s));
return a;
}
function Oc(e) {
const t = _(() => Ic(e, e.items)), n = _(() => t.value.some((i) => i.value === null)), a = ne(/* @__PURE__ */ new Map()), s = ne([]);
Ot(() => {
const i = t.value, o = /* @__PURE__ */ new Map(), u = [];
for (let c = 0; c < i.length; c++) {
const d = i[c];
if (Fu(d.value) || d.value === null) {
let h = o.get(d.value);
h || (h = [], o.set(d.value, h)), h.push(d);
} else
u.push(d);
}
a.value = o, s.value = u;
});
function r(i) {
const o = a.value, u = t.value, c = s.value, d = n.value, h = e.returnObject, v = !!e.valueComparator, f = e.valueComparator || gt, y = js(e, ["itemTitle", "itemValue", "itemChildren", "itemProps", "returnObject", "valueComparator"]), m = [];
e: for (const b of i) {
if (!d && b === null) continue;
if (h && typeof b == "string") {
m.push(tl(y, b));
continue;
}
const S = o.get(b);
if (v || !S) {
for (const P of v ? u : c)
if (f(b, P.value)) {
m.push(P);
continue e;
}
m.push(tl(y, b));
continue;
}
m.push(...S);
}
return m;
}
function l(i) {
return e.returnObject ? i.map((o) => {
let {
raw: u
} = o;
return u;
}) : i.map((o) => {
let {
value: u
} = o;
return u;
});
}
return {
items: t,
transformIn: r,
transformOut: l
};
}
function Vy(e, t) {
const n = ot(t, e.itemType, "item"), a = Fu(t) ? t : ot(t, e.itemTitle), s = ot(t, e.itemValue, void 0), r = ot(t, e.itemChildren), l = e.itemProps === !0 ? kn(t, ["children"]) : ot(t, e.itemProps), i = {
title: a,
value: s,
...l
};
return {
type: n,
title: i.title,
value: i.value,
props: i,
children: n === "item" && r ? Tc(e, r) : void 0,
raw: t
};
}
function Tc(e, t) {
const n = [];
for (const a of t)
n.push(Vy(e, a));
return n;
}
function Ey(e) {
return {
items: _(() => Tc(e, e.items))
};
}
const Ay = M({
baseColor: String,
/* @deprecated */
activeColor: String,
activeClass: String,
bgColor: String,
disabled: Boolean,
expandIcon: ue,
collapseIcon: ue,
lines: {
type: [Boolean, String],
default: "one"
},
slim: Boolean,
nav: Boolean,
"onClick:open": Je(),
"onClick:select": Je(),
"onUpdate:opened": Je(),
...yy({
selectStrategy: "single-leaf",
openStrategy: "list"
}),
...dn(),
...de(),
...Ct(),
...un(),
...Pn(),
itemType: {
type: String,
default: "type"
},
...xc(),
...kt(),
...Le(),
...Ye(),
...fn({
variant: "text"
})
}, "VList"), Vc = Q()({
name: "VList",
props: Ay(),
emits: {
"update:selected": (e) => !0,
"update:activated": (e) => !0,
"update:opened": (e) => !0,
"click:open": (e) => !0,
"click:activate": (e) => !0,
"click:select": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const {
items: a
} = Ey(e), {
themeClasses: s
} = Ze(e), {
backgroundColorClasses: r,
backgroundColorStyles: l
} = $t(() => e.bgColor), {
borderClasses: i
} = Cn(e), {
densityClasses: o
} = Wt(e), {
dimensionStyles: u
} = cn(e), {
elevationClasses: c
} = Un(e), {
roundedClasses: d
} = Dt(e), {
children: h,
open: v,
parents: f,
select: y,
getPath: m
} = gy(e), b = E(() => e.lines ? `v-list--${e.lines}-line` : void 0), S = E(() => e.activeColor), P = E(() => e.baseColor), I = E(() => e.color);
yc(), zt({
VListGroup: {
activeColor: S,
baseColor: P,
color: I,
expandIcon: E(() => e.expandIcon),
collapseIcon: E(() => e.collapseIcon)
},
VListItem: {
activeClass: E(() => e.activeClass),
activeColor: S,
baseColor: P,
color: I,
density: E(() => e.density),
disabled: E(() => e.disabled),
lines: E(() => e.lines),
nav: E(() => e.nav),
slim: E(() => e.slim),
variant: E(() => e.variant)
}
});
const k = ne(!1), D = R();
function V(A) {
k.value = !0;
}
function w(A) {
k.value = !1;
}
function T(A) {
!k.value && !(A.relatedTarget && D.value?.contains(A.relatedTarget)) && B();
}
function N(A) {
const U = A.target;
if (!(!D.value || ["INPUT", "TEXTAREA"].includes(U.tagName))) {
if (A.key === "ArrowDown")
B("next");
else if (A.key === "ArrowUp")
B("prev");
else if (A.key === "Home")
B("first");
else if (A.key === "End")
B("last");
else
return;
A.preventDefault();
}
}
function $(A) {
k.value = !0;
}
function B(A) {
if (D.value)
return Ca(D.value, A);
}
return ee(() => g(e.tag, {
ref: D,
class: K(["v-list", {
"v-list--disabled": e.disabled,
"v-list--nav": e.nav,
"v-list--slim": e.slim
}, s.value, r.value, i.value, o.value, c.value, b.value, d.value, e.class]),
style: Z([l.value, u.value, e.style]),
tabindex: e.disabled ? -1 : 0,
role: "listbox",
"aria-activedescendant": void 0,
onFocusin: V,
onFocusout: w,
onFocus: T,
onKeydown: N,
onMousedown: $
}, {
default: () => [g(Pc, {
items: a.value,
returnObject: e.returnObject
}, n)]
})), {
open: v,
select: y,
focus: B,
children: h,
parents: f,
getPath: m
};
}
});
function Or(e, t) {
return {
x: e.x + t.x,
y: e.y + t.y
};
}
function Dy(e, t) {
return {
x: e.x - t.x,
y: e.y - t.y
};
}
function ko(e, t) {
if (e.side === "top" || e.side === "bottom") {
const {
side: n,
align: a
} = e, s = a === "left" ? 0 : a === "center" ? t.width / 2 : a === "right" ? t.width : a, r = n === "top" ? 0 : n === "bottom" ? t.height : n;
return Or({
x: s,
y: r
}, t);
} else if (e.side === "left" || e.side === "right") {
const {
side: n,
align: a
} = e, s = n === "left" ? 0 : n === "right" ? t.width : n, r = a === "top" ? 0 : a === "center" ? t.height / 2 : a === "bottom" ? t.height : a;
return Or({
x: s,
y: r
}, t);
}
return Or({
x: t.width / 2,
y: t.height / 2
}, t);
}
const Ec = {
static: Fy,
// specific viewport position, usually centered
connected: Ny
// connected to a certain element
}, My = M({
locationStrategy: {
type: [String, Function],
default: "static",
validator: (e) => typeof e == "function" || e in Ec
},
location: {
type: String,
default: "bottom"
},
origin: {
type: String,
default: "auto"
},
offset: [Number, String, Array]
}, "VOverlay-location-strategies");
function Ry(e, t) {
const n = R({}), a = R();
Be && Fn(() => !!(t.isActive.value && e.locationStrategy), (i) => {
re(() => e.locationStrategy, i), mt(() => {
window.removeEventListener("resize", s), visualViewport?.removeEventListener("resize", r), visualViewport?.removeEventListener("scroll", l), a.value = void 0;
}), window.addEventListener("resize", s, {
passive: !0
}), visualViewport?.addEventListener("resize", r, {
passive: !0
}), visualViewport?.addEventListener("scroll", l, {
passive: !0
}), typeof e.locationStrategy == "function" ? a.value = e.locationStrategy(t, e, n)?.updateLocation : a.value = Ec[e.locationStrategy](t, e, n)?.updateLocation;
});
function s(i) {
a.value?.(i);
}
function r(i) {
a.value?.(i);
}
function l(i) {
a.value?.(i);
}
return {
contentStyles: n,
updateLocation: a
};
}
function Fy() {
}
function Ly(e, t) {
const n = Ml(e);
return t ? n.x += parseFloat(e.style.right || 0) : n.x -= parseFloat(e.style.left || 0), n.y -= parseFloat(e.style.top || 0), n;
}
function Ny(e, t, n) {
(Array.isArray(e.target.value) || dv(e.target.value)) && Object.assign(n.value, {
position: "fixed",
top: 0,
[e.isRtl.value ? "right" : "left"]: 0
});
const {
preferredAnchor: s,
preferredOrigin: r
} = El(() => {
const b = qr(t.location, e.isRtl.value), S = t.origin === "overlap" ? b : t.origin === "auto" ? kr(b) : qr(t.origin, e.isRtl.value);
return b.side === S.side && b.align === Cr(S).align ? {
preferredAnchor: Xi(b),
preferredOrigin: Xi(S)
} : {
preferredAnchor: b,
preferredOrigin: S
};
}), [l, i, o, u] = ["minWidth", "minHeight", "maxWidth", "maxHeight"].map((b) => _(() => {
const S = parseFloat(t[b]);
return isNaN(S) ? 1 / 0 : S;
})), c = _(() => {
if (Array.isArray(t.offset))
return t.offset;
if (typeof t.offset == "string") {
const b = t.offset.split(" ").map(parseFloat);
return b.length < 2 && b.push(0), b;
}
return typeof t.offset == "number" ? [t.offset, 0] : [0, 0];
});
let d = !1, h = -1;
const v = new Rm(4), f = new ResizeObserver(() => {
if (!d) return;
if (requestAnimationFrame((S) => {
S !== h && v.clear(), requestAnimationFrame((P) => {
h = P;
});
}), v.isFull) {
const S = v.values();
if (gt(S.at(-1), S.at(-3)))
return;
}
const b = m();
b && v.push(b.flipped);
});
re([e.target, e.contentEl], (b, S) => {
let [P, I] = b, [k, D] = S;
k && !Array.isArray(k) && f.unobserve(k), P && !Array.isArray(P) && f.observe(P), D && f.unobserve(D), I && f.observe(I);
}, {
immediate: !0
}), mt(() => {
f.disconnect();
});
let y = new Bt({
x: 0,
y: 0,
width: 0,
height: 0
});
function m() {
if (d = !1, requestAnimationFrame(() => d = !0), !e.target.value || !e.contentEl.value) return;
(Array.isArray(e.target.value) || e.target.value.offsetParent || e.target.value.getClientRects().length) && (y = Nu(e.target.value));
const b = Ly(e.contentEl.value, e.isRtl.value), S = xs(e.contentEl.value), P = 12;
S.length || (S.push(document.documentElement), e.contentEl.value.style.top && e.contentEl.value.style.left || (b.x -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x") || 0), b.y -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y") || 0)));
const I = S.reduce((A, U) => {
const Y = Hm(U);
return A ? new Bt({
x: Math.max(A.left, Y.left),
y: Math.max(A.top, Y.top),
width: Math.min(A.right, Y.right) - Math.max(A.left, Y.left),
height: Math.min(A.bottom, Y.bottom) - Math.max(A.top, Y.top)
}) : Y;
}, void 0);
I.x += P, I.y += P, I.width -= P * 2, I.height -= P * 2;
let k = {
anchor: s.value,
origin: r.value
};
function D(A) {
const U = new Bt(b), Y = ko(A.anchor, y), G = ko(A.origin, U);
let {
x: le,
y: oe
} = Dy(Y, G);
switch (A.anchor.side) {
case "top":
oe -= c.value[0];
break;
case "bottom":
oe += c.value[0];
break;
case "left":
le -= c.value[0];
break;
case "right":
le += c.value[0];
break;
}
switch (A.anchor.align) {
case "top":
oe -= c.value[1];
break;
case "bottom":
oe += c.value[1];
break;
case "left":
le -= c.value[1];
break;
case "right":
le += c.value[1];
break;
}
return U.x += le, U.y += oe, U.width = Math.min(U.width, o.value), U.height = Math.min(U.height, u.value), {
overflows: to(U, I),
x: le,
y: oe
};
}
let V = 0, w = 0;
const T = {
x: 0,
y: 0
}, N = {
x: !1,
y: !1
};
let $ = -1;
for (; ; ) {
if ($++ > 10) {
Rl("Infinite loop detected in connectedLocationStrategy");
break;
}
const {
x: A,
y: U,
overflows: Y
} = D(k);
V += A, w += U, b.x += A, b.y += U;
{
const G = eo(k.anchor), le = Y.x.before || Y.x.after, oe = Y.y.before || Y.y.after;
let _e = !1;
if (["x", "y"].forEach((x) => {
if (x === "x" && le && !N.x || x === "y" && oe && !N.y) {
const O = {
anchor: {
...k.anchor
},
origin: {
...k.origin
}
}, F = x === "x" ? G === "y" ? Cr : kr : G === "y" ? kr : Cr;
O.anchor = F(O.anchor), O.origin = F(O.origin);
const {
overflows: q
} = D(O);
(q[x].before <= Y[x].before && q[x].after <= Y[x].after || q[x].before + q[x].after < (Y[x].before + Y[x].after) / 2) && (k = O, _e = N[x] = !0);
}
}), _e) continue;
}
Y.x.before && (V += Y.x.before, b.x += Y.x.before), Y.x.after && (V -= Y.x.after, b.x -= Y.x.after), Y.y.before && (w += Y.y.before, b.y += Y.y.before), Y.y.after && (w -= Y.y.after, b.y -= Y.y.after);
{
const G = to(b, I);
T.x = I.width - G.x.before - G.x.after, T.y = I.height - G.y.before - G.y.after, V += G.x.before, b.x += G.x.before, w += G.y.before, b.y += G.y.before;
}
break;
}
const B = eo(k.anchor);
return Object.assign(n.value, {
"--v-overlay-anchor-origin": `${k.anchor.side} ${k.anchor.align}`,
transformOrigin: `${k.origin.side} ${k.origin.align}`,
// transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,
top: te(Tr(w)),
left: e.isRtl.value ? void 0 : te(Tr(V)),
right: e.isRtl.value ? te(Tr(-V)) : void 0,
minWidth: te(B === "y" ? Math.min(l.value, y.width) : l.value),
maxWidth: te(Co(bt(T.x, l.value === 1 / 0 ? 0 : l.value, o.value))),
maxHeight: te(Co(bt(T.y, i.value === 1 / 0 ? 0 : i.value, u.value)))
}), {
available: T,
contentBox: b,
flipped: N
};
}
return re(() => [s.value, r.value, t.offset, t.minWidth, t.minHeight, t.maxWidth, t.maxHeight], () => m()), Ge(() => {
const b = m();
if (!b) return;
const {
available: S,
contentBox: P
} = b;
P.height > S.y && requestAnimationFrame(() => {
m(), requestAnimationFrame(() => {
m();
});
});
}), {
updateLocation: m
};
}
function Tr(e) {
return Math.round(e * devicePixelRatio) / devicePixelRatio;
}
function Co(e) {
return Math.ceil(e * devicePixelRatio) / devicePixelRatio;
}
let nl = !0;
const Ts = [];
function By(e) {
!nl || Ts.length ? (Ts.push(e), al()) : (nl = !1, e(), al());
}
let Po = -1;
function al() {
cancelAnimationFrame(Po), Po = requestAnimationFrame(() => {
const e = Ts.shift();
e && e(), Ts.length ? al() : nl = !0;
});
}
const Ac = {
none: null,
close: zy,
block: Hy,
reposition: Yy
}, $y = M({
scrollStrategy: {
type: [String, Function],
default: "block",
validator: (e) => typeof e == "function" || e in Ac
}
}, "VOverlay-scroll-strategies");
function Uy(e, t) {
if (!Be) return;
let n;
Ot(async () => {
n?.stop(), t.isActive.value && e.scrollStrategy && (n = wl(), await new Promise((a) => setTimeout(a)), n.active && n.run(() => {
typeof e.scrollStrategy == "function" ? e.scrollStrategy(t, e, n) : Ac[e.scrollStrategy]?.(t, e, n);
}));
}), mt(() => {
n?.stop();
});
}
function zy(e) {
function t(n) {
e.isActive.value = !1;
}
Dc(e.targetEl.value ?? e.contentEl.value, t);
}
function Hy(e, t) {
const n = e.root.value?.offsetParent, a = [.../* @__PURE__ */ new Set([...xs(e.targetEl.value, t.contained ? n : void 0), ...xs(e.contentEl.value, t.contained ? n : void 0)])].filter((l) => !l.classList.contains("v-overlay-scroll-blocked")), s = window.innerWidth - document.documentElement.offsetWidth, r = ((l) => Fl(l) && l)(n || document.documentElement);
r && e.root.value.classList.add("v-overlay--scroll-blocked"), a.forEach((l, i) => {
l.style.setProperty("--v-body-scroll-x", te(-l.scrollLeft)), l.style.setProperty("--v-body-scroll-y", te(-l.scrollTop)), l !== document.documentElement && l.style.setProperty("--v-scrollbar-offset", te(s)), l.classList.add("v-overlay-scroll-blocked");
}), mt(() => {
a.forEach((l, i) => {
const o = parseFloat(l.style.getPropertyValue("--v-body-scroll-x")), u = parseFloat(l.style.getPropertyValue("--v-body-scroll-y")), c = l.style.scrollBehavior;
l.style.scrollBehavior = "auto", l.style.removeProperty("--v-body-scroll-x"), l.style.removeProperty("--v-body-scroll-y"), l.style.removeProperty("--v-scrollbar-offset"), l.classList.remove("v-overlay-scroll-blocked"), l.scrollLeft = -o, l.scrollTop = -u, l.style.scrollBehavior = c;
}), r && e.root.value.classList.remove("v-overlay--scroll-blocked");
});
}
function Yy(e, t, n) {
let a = !1, s = -1, r = -1;
function l(i) {
By(() => {
const o = performance.now();
e.updateLocation.value?.(i), a = (performance.now() - o) / (1e3 / 60) > 2;
});
}
r = (typeof requestIdleCallback > "u" ? (i) => i() : requestIdleCallback)(() => {
n.run(() => {
Dc(e.targetEl.value ?? e.contentEl.value, (i) => {
a ? (cancelAnimationFrame(s), s = requestAnimationFrame(() => {
s = requestAnimationFrame(() => {
l(i);
});
})) : l(i);
});
});
}), mt(() => {
typeof cancelIdleCallback < "u" && cancelIdleCallback(r), cancelAnimationFrame(s);
});
}
function Dc(e, t) {
const n = [document, ...xs(e)];
n.forEach((a) => {
a.addEventListener("scroll", t, {
passive: !0
});
}), mt(() => {
n.forEach((a) => {
a.removeEventListener("scroll", t);
});
});
}
const sl = Symbol.for("vuetify:v-menu"), jy = M({
closeDelay: [Number, String],
openDelay: [Number, String]
}, "delay");
function Wy(e, t) {
let n = () => {
};
function a(l) {
n?.();
const i = Number(l ? e.openDelay : e.closeDelay);
return new Promise((o) => {
n = Lm(i, () => {
t?.(l), o(l);
});
});
}
function s() {
return a(!0);
}
function r() {
return a(!1);
}
return {
clearDelay: n,
runOpenDelay: s,
runCloseDelay: r
};
}
const Gy = M({
target: [String, Object],
activator: [String, Object],
activatorProps: {
type: Object,
default: () => ({})
},
openOnClick: {
type: Boolean,
default: void 0
},
openOnHover: Boolean,
openOnFocus: {
type: Boolean,
default: void 0
},
closeOnContentClick: Boolean,
...jy()
}, "VOverlay-activator");
function Qy(e, t) {
let {
isActive: n,
isTop: a,
contentEl: s
} = t;
const r = Ue("useActivator"), l = R();
let i = !1, o = !1, u = !0;
const c = _(() => e.openOnFocus || e.openOnFocus == null && e.openOnHover), d = _(() => e.openOnClick || e.openOnClick == null && !e.openOnHover && !c.value), {
runOpenDelay: h,
runCloseDelay: v
} = Wy(e, (w) => {
w === (e.openOnHover && i || c.value && o) && !(e.openOnHover && n.value && !a.value) && (n.value !== w && (u = !0), n.value = w);
}), f = R(), y = {
onClick: (w) => {
w.stopPropagation(), l.value = w.currentTarget || w.target, n.value || (f.value = [w.clientX, w.clientY]), n.value = !n.value;
},
onMouseenter: (w) => {
w.sourceCapabilities?.firesTouchEvents || (i = !0, l.value = w.currentTarget || w.target, h());
},
onMouseleave: (w) => {
i = !1, v();
},
onFocus: (w) => {
ea(w.target, ":focus-visible") !== !1 && (o = !0, w.stopPropagation(), l.value = w.currentTarget || w.target, h());
},
onBlur: (w) => {
o = !1, w.stopPropagation(), v();
}
}, m = _(() => {
const w = {};
return d.value && (w.onClick = y.onClick), e.openOnHover && (w.onMouseenter = y.onMouseenter, w.onMouseleave = y.onMouseleave), c.value && (w.onFocus = y.onFocus, w.onBlur = y.onBlur), w;
}), b = _(() => {
const w = {};
if (e.openOnHover && (w.onMouseenter = () => {
i = !0, h();
}, w.onMouseleave = () => {
i = !1, v();
}), c.value && (w.onFocusin = () => {
o = !0, h();
}, w.onFocusout = () => {
o = !1, v();
}), e.closeOnContentClick) {
const T = De(sl, null);
w.onClick = () => {
n.value = !1, T?.closeParents();
};
}
return w;
}), S = _(() => {
const w = {};
return e.openOnHover && (w.onMouseenter = () => {
u && (i = !0, u = !1, h());
}, w.onMouseleave = () => {
i = !1, v();
}), w;
});
re(a, (w) => {
w && (e.openOnHover && !i && (!c.value || !o) || c.value && !o && (!e.openOnHover || !i)) && !s.value?.contains(document.activeElement) && (n.value = !1);
}), re(n, (w) => {
w || setTimeout(() => {
f.value = void 0;
});
}, {
flush: "post"
});
const P = Qr();
Ot(() => {
P.value && Ge(() => {
l.value = P.el;
});
});
const I = Qr(), k = _(() => e.target === "cursor" && f.value ? f.value : I.value ? I.el : Mc(e.target, r) || l.value), D = _(() => Array.isArray(k.value) ? void 0 : k.value);
let V;
return re(() => !!e.activator, (w) => {
w && Be ? (V = wl(), V.run(() => {
qy(e, r, {
activatorEl: l,
activatorEvents: m
});
})) : V && V.stop();
}, {
flush: "post",
immediate: !0
}), mt(() => {
V?.stop();
}), {
activatorEl: l,
activatorRef: P,
target: k,
targetEl: D,
targetRef: I,
activatorEvents: m,
contentEvents: b,
scrimEvents: S
};
}
function qy(e, t, n) {
let {
activatorEl: a,
activatorEvents: s
} = n;
re(() => e.activator, (o, u) => {
if (u && o !== u) {
const c = i(u);
c && l(c);
}
o && Ge(() => r());
}, {
immediate: !0
}), re(() => e.activatorProps, () => {
r();
}), mt(() => {
l();
});
function r() {
let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : i(), u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
o && Ym(o, j(s.value, u));
}
function l() {
let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : i(), u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
o && jm(o, j(s.value, u));
}
function i() {
let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : e.activator;
const u = Mc(o, t);
return a.value = u?.nodeType === Node.ELEMENT_NODE ? u : void 0, a.value;
}
}
function Mc(e, t) {
if (!e) return;
let n;
if (e === "parent") {
let a = t?.proxy?.$el?.parentNode;
for (; a?.hasAttribute("data-no-activator"); )
a = a.parentNode;
n = a;
} else typeof e == "string" ? n = document.querySelector(e) : "$el" in e ? n = e.$el : n = e;
return n;
}
function Ky() {
if (!Be) return ne(!1);
const {
ssr: e
} = $n();
if (e) {
const t = ne(!1);
return Ba(() => {
t.value = !0;
}), t;
} else
return ne(!0);
}
const Jy = M({
eager: Boolean
}, "lazy");
function Zy(e, t) {
const n = ne(!1), a = E(() => n.value || e.eager || t.value);
re(t, () => n.value = !0);
function s() {
e.eager || (n.value = !1);
}
return {
isBooted: n,
hasContent: a,
onAfterLeave: s
};
}
function Kl() {
const t = Ue("useScopeId").vnode.scopeId;
return {
scopeId: t ? {
[t]: ""
} : void 0
};
}
const xo = Symbol.for("vuetify:stack"), ga = Zn([]);
function Xy(e, t, n) {
const a = Ue("useStack"), s = !n, r = De(xo, void 0), l = Zn({
activeChildren: /* @__PURE__ */ new Set()
});
We(xo, l);
const i = ne(Number(sn(t)));
Fn(e, () => {
const c = ga.at(-1)?.[1];
i.value = c ? c + 10 : Number(sn(t)), s && ga.push([a.uid, i.value]), r?.activeChildren.add(a.uid), mt(() => {
if (s) {
const d = He(ga).findIndex((h) => h[0] === a.uid);
ga.splice(d, 1);
}
r?.activeChildren.delete(a.uid);
});
});
const o = ne(!0);
s && Ot(() => {
const c = ga.at(-1)?.[0] === a.uid;
setTimeout(() => o.value = c);
});
const u = E(() => !l.activeChildren.size);
return {
globalTop: _l(o),
localTop: u,
stackStyles: E(() => ({
zIndex: i.value
}))
};
}
function eg(e) {
return {
teleportTarget: _(() => {
const n = e();
if (n === !0 || !Be) return;
const a = n === !1 ? document.body : typeof n == "string" ? document.querySelector(n) : n;
if (a == null) {
Ns(`Unable to locate target ${n}`);
return;
}
let s = [...a.children].find((r) => r.matches(".v-overlay-container"));
return s || (s = document.createElement("div"), s.className = "v-overlay-container", a.appendChild(s)), s;
})
};
}
function tg() {
return !0;
}
function Rc(e, t, n) {
if (!e || Fc(e, n) === !1) return !1;
const a = Uu(t);
if (typeof ShadowRoot < "u" && a instanceof ShadowRoot && a.host === e.target) return !1;
const s = (typeof n.value == "object" && n.value.include || (() => []))();
return s.push(t), !s.some((r) => r?.contains(e.target));
}
function Fc(e, t) {
return (typeof t.value == "object" && t.value.closeConditional || tg)(e);
}
function ng(e, t, n) {
const a = typeof n.value == "function" ? n.value : n.value.handler;
e.shadowTarget = e.target, t._clickOutside.lastMousedownWasOutside && Rc(e, t, n) && setTimeout(() => {
Fc(e, n) && a && a(e);
}, 0);
}
function Io(e, t) {
const n = Uu(e);
t(document), typeof ShadowRoot < "u" && n instanceof ShadowRoot && t(n);
}
const Oo = {
// [data-app] may not be found
// if using bind, inserted makes
// sure that the root element is
// available, iOS does not support
// clicks on body
mounted(e, t) {
const n = (s) => ng(s, e, t), a = (s) => {
e._clickOutside.lastMousedownWasOutside = Rc(s, e, t);
};
Io(e, (s) => {
s.addEventListener("click", n, !0), s.addEventListener("mousedown", a, !0);
}), e._clickOutside || (e._clickOutside = {
lastMousedownWasOutside: !1
}), e._clickOutside[t.instance.$.uid] = {
onClick: n,
onMousedown: a
};
},
beforeUnmount(e, t) {
e._clickOutside && (Io(e, (n) => {
if (!n || !e._clickOutside?.[t.instance.$.uid]) return;
const {
onClick: a,
onMousedown: s
} = e._clickOutside[t.instance.$.uid];
n.removeEventListener("click", a, !0), n.removeEventListener("mousedown", s, !0);
}), delete e._clickOutside[t.instance.$.uid]);
}
};
function ag(e) {
const {
modelValue: t,
color: n,
...a
} = e;
return g(Mn, {
name: "fade-transition",
appear: !0
}, {
default: () => [e.modelValue && p("div", j({
class: ["v-overlay__scrim", e.color.backgroundColorClasses.value],
style: e.color.backgroundColorStyles.value
}, a), null)]
});
}
const Jl = M({
absolute: Boolean,
attach: [Boolean, String, Object],
closeOnBack: {
type: Boolean,
default: !0
},
contained: Boolean,
contentClass: null,
contentProps: null,
disabled: Boolean,
opacity: [Number, String],
noClickAnimation: Boolean,
modelValue: Boolean,
persistent: Boolean,
scrim: {
type: [Boolean, String],
default: !0
},
zIndex: {
type: [Number, String],
default: 2e3
},
...Gy(),
...de(),
...un(),
...Jy(),
...My(),
...$y(),
...Ye(),
...oa()
}, "VOverlay"), Vs = Q()({
name: "VOverlay",
directives: {
vClickOutside: Oo
},
inheritAttrs: !1,
props: {
_disableGlobalStack: Boolean,
...Jl()
},
emits: {
"click:outside": (e) => !0,
"update:modelValue": (e) => !0,
keydown: (e) => !0,
afterEnter: () => !0,
afterLeave: () => !0
},
setup(e, t) {
let {
slots: n,
attrs: a,
emit: s
} = t;
const r = Ue("VOverlay"), l = R(), i = R(), o = R(), u = ke(e, "modelValue"), c = _({
get: () => u.value,
set: (J) => {
J && e.disabled || (u.value = J);
}
}), {
themeClasses: d
} = Ze(e), {
rtlClasses: h,
isRtl: v
} = Mt(), {
hasContent: f,
onAfterLeave: y
} = Zy(e, c), m = $t(() => typeof e.scrim == "string" ? e.scrim : null), {
globalTop: b,
localTop: S,
stackStyles: P
} = Xy(c, () => e.zIndex, e._disableGlobalStack), {
activatorEl: I,
activatorRef: k,
target: D,
targetEl: V,
targetRef: w,
activatorEvents: T,
contentEvents: N,
scrimEvents: $
} = Qy(e, {
isActive: c,
isTop: S,
contentEl: o
}), {
teleportTarget: B
} = eg(() => {
const J = e.attach || e.contained;
if (J) return J;
const Ee = I?.value?.getRootNode() || r.proxy?.$el?.getRootNode();
return Ee instanceof ShadowRoot ? Ee : !1;
}), {
dimensionStyles: A
} = cn(e), U = Ky(), {
scopeId: Y
} = Kl();
re(() => e.disabled, (J) => {
J && (c.value = !1);
});
const {
contentStyles: G,
updateLocation: le
} = Ry(e, {
isRtl: v,
contentEl: o,
target: D,
isActive: c
});
Uy(e, {
root: l,
contentEl: o,
targetEl: V,
isActive: c,
updateLocation: le
});
function oe(J) {
s("click:outside", J), e.persistent ? se() : c.value = !1;
}
function _e(J) {
return c.value && b.value && // If using scrim, only close if clicking on it rather than anything opened on top
(!e.scrim || J.target === i.value || J instanceof MouseEvent && J.shadowTarget === i.value);
}
Be && re(c, (J) => {
J ? window.addEventListener("keydown", x) : window.removeEventListener("keydown", x);
}, {
immediate: !0
}), Et(() => {
Be && window.removeEventListener("keydown", x);
});
function x(J) {
J.key === "Escape" && b.value && (o.value?.contains(document.activeElement) || s("keydown", J), e.persistent ? se() : (c.value = !1, o.value?.contains(document.activeElement) && I.value?.focus()));
}
function O(J) {
J.key === "Escape" && !b.value || s("keydown", J);
}
const F = ly();
Fn(() => e.closeOnBack, () => {
iy(F, (J) => {
b.value && c.value ? (J(!1), e.persistent ? se() : c.value = !1) : J();
});
});
const q = R();
re(() => c.value && (e.absolute || e.contained) && B.value == null, (J) => {
if (J) {
const Ee = zu(l.value);
Ee && Ee !== document.scrollingElement && (q.value = Ee.scrollTop);
}
});
function se() {
e.noClickAnimation || o.value && Gn(o.value, [{
transformOrigin: "center"
}, {
transform: "scale(1.03)"
}, {
transformOrigin: "center"
}], {
duration: 150,
easing: Ps
});
}
function ae() {
s("afterEnter");
}
function ie() {
y(), s("afterLeave");
}
return ee(() => p(pe, null, [n.activator?.({
isActive: c.value,
targetRef: w,
props: j({
ref: k
}, T.value, e.activatorProps)
}), U.value && f.value && g(Bf, {
disabled: !B.value,
to: B.value
}, {
default: () => [p("div", j({
class: ["v-overlay", {
"v-overlay--absolute": e.absolute || e.contained,
"v-overlay--active": c.value,
"v-overlay--contained": e.contained
}, d.value, h.value, e.class],
style: [P.value, {
"--v-overlay-opacity": e.opacity,
top: te(q.value)
}, e.style],
ref: l,
onKeydown: O
}, Y, a), [g(ag, j({
color: m,
modelValue: c.value && !!e.scrim,
ref: i
}, $.value), null), g(gn, {
appear: !0,
persisted: !0,
transition: e.transition,
target: D.value,
onAfterEnter: ae,
onAfterLeave: ie
}, {
default: () => [ht(p("div", j({
ref: o,
class: ["v-overlay__content", e.contentClass],
style: [A.value, G.value]
}, N.value, e.contentProps), [n.default?.({
isActive: c
})]), [[Bn, c.value], [Oo, {
handler: oe,
closeConditional: _e,
include: () => [I.value]
}]])]
})])]
})])), {
activatorEl: I,
scrimEl: i,
target: D,
animateClick: se,
contentEl: o,
globalTop: b,
localTop: S,
updateLocation: le
};
}
}), Vr = Symbol("Forwarded refs");
function Er(e, t) {
let n = e;
for (; n; ) {
const a = Reflect.getOwnPropertyDescriptor(n, t);
if (a) return a;
n = Object.getPrototypeOf(n);
}
}
function ua(e) {
for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++)
n[a - 1] = arguments[a];
return e[Vr] = n, new Proxy(e, {
get(s, r) {
if (Reflect.has(s, r))
return Reflect.get(s, r);
if (!(typeof r == "symbol" || r.startsWith("$") || r.startsWith("__"))) {
for (const l of n)
if (l.value && Reflect.has(l.value, r)) {
const i = Reflect.get(l.value, r);
return typeof i == "function" ? i.bind(l.value) : i;
}
}
},
has(s, r) {
if (Reflect.has(s, r))
return !0;
if (typeof r == "symbol" || r.startsWith("$") || r.startsWith("__")) return !1;
for (const l of n)
if (l.value && Reflect.has(l.value, r))
return !0;
return !1;
},
set(s, r, l) {
if (Reflect.has(s, r))
return Reflect.set(s, r, l);
if (typeof r == "symbol" || r.startsWith("$") || r.startsWith("__")) return !1;
for (const i of n)
if (i.value && Reflect.has(i.value, r))
return Reflect.set(i.value, r, l);
return !1;
},
getOwnPropertyDescriptor(s, r) {
const l = Reflect.getOwnPropertyDescriptor(s, r);
if (l) return l;
if (!(typeof r == "symbol" || r.startsWith("$") || r.startsWith("__"))) {
for (const i of n) {
if (!i.value) continue;
const o = Er(i.value, r) ?? ("_" in i.value ? Er(i.value._?.setupState, r) : void 0);
if (o) return o;
}
for (const i of n) {
const o = i.value && i.value[Vr];
if (!o) continue;
const u = o.slice();
for (; u.length; ) {
const c = u.shift(), d = Er(c.value, r);
if (d) return d;
const h = c.value && c.value[Vr];
h && u.push(...h);
}
}
}
}
});
}
const sg = M({
// TODO
// disableKeys: Boolean,
id: String,
submenu: Boolean,
...kn(Jl({
closeDelay: 250,
closeOnContentClick: !0,
locationStrategy: "connected",
location: void 0,
openDelay: 300,
scrim: !1,
scrollStrategy: "reposition",
transition: {
component: Ul
}
}), ["absolute"])
}, "VMenu"), Lc = Q()({
name: "VMenu",
props: sg(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const a = ke(e, "modelValue"), {
scopeId: s
} = Kl(), {
isRtl: r
} = Mt(), l = on(), i = E(() => e.id || `v-menu-${l}`), o = R(), u = De(sl, null), c = ne(/* @__PURE__ */ new Set());
We(sl, {
register() {
c.value.add(l);
},
unregister() {
c.value.delete(l);
},
closeParents(m) {
setTimeout(() => {
!c.value.size && !e.persistent && (m == null || o.value?.contentEl && !Nm(m, o.value.contentEl)) && (a.value = !1, u?.closeParents());
}, 40);
}
}), Et(() => {
u?.unregister(), document.removeEventListener("focusin", d);
}), $f(() => a.value = !1);
async function d(m) {
const b = m.relatedTarget, S = m.target;
await Ge(), a.value && b !== S && o.value?.contentEl && // We're the topmost menu
o.value?.globalTop && // It isn't the document or the menu body
![document, o.value.contentEl].includes(S) && // It isn't inside the menu body
!o.value.contentEl.contains(S) && Ia(o.value.contentEl)[0]?.focus();
}
re(a, (m) => {
m ? (u?.register(), Be && document.addEventListener("focusin", d, {
once: !0
})) : (u?.unregister(), Be && document.removeEventListener("focusin", d));
}, {
immediate: !0
});
function h(m) {
u?.closeParents(m);
}
function v(m) {
if (!e.disabled)
if (m.key === "Tab" || m.key === "Enter" && !e.closeOnContentClick) {
if (m.key === "Enter" && (m.target instanceof HTMLTextAreaElement || m.target instanceof HTMLInputElement && m.target.closest("form"))) return;
m.key === "Enter" && m.preventDefault(), Ru(Ia(o.value?.contentEl, !1), m.shiftKey ? "prev" : "next", (S) => S.tabIndex >= 0) || (a.value = !1, o.value?.activatorEl?.focus());
} else e.submenu && m.key === (r.value ? "ArrowRight" : "ArrowLeft") && (a.value = !1, o.value?.activatorEl?.focus());
}
function f(m) {
if (e.disabled) return;
const b = o.value?.contentEl;
b && a.value ? m.key === "ArrowDown" ? (m.preventDefault(), m.stopImmediatePropagation(), Ca(b, "next")) : m.key === "ArrowUp" ? (m.preventDefault(), m.stopImmediatePropagation(), Ca(b, "prev")) : e.submenu && (m.key === (r.value ? "ArrowRight" : "ArrowLeft") ? a.value = !1 : m.key === (r.value ? "ArrowLeft" : "ArrowRight") && (m.preventDefault(), Ca(b, "first"))) : (e.submenu ? m.key === (r.value ? "ArrowLeft" : "ArrowRight") : ["ArrowDown", "ArrowUp"].includes(m.key)) && (a.value = !0, m.preventDefault(), setTimeout(() => setTimeout(() => f(m))));
}
const y = _(() => j({
"aria-haspopup": "menu",
"aria-expanded": String(a.value),
"aria-controls": i.value,
onKeydown: f
}, e.activatorProps));
return ee(() => {
const m = Vs.filterProps(e);
return g(Vs, j({
ref: o,
id: i.value,
class: ["v-menu", e.class],
style: e.style
}, m, {
modelValue: a.value,
"onUpdate:modelValue": (b) => a.value = b,
absolute: !0,
activatorProps: y.value,
location: e.location ?? (e.submenu ? "end" : "bottom"),
"onClick:outside": h,
onKeydown: v
}, s), {
activator: n.activator,
default: function() {
for (var b = arguments.length, S = new Array(b), P = 0; P < b; P++)
S[P] = arguments[P];
return g(Ne, {
root: "VMenu"
}, {
default: () => [n.default?.(...S)]
});
}
});
}), ua({
id: i,
ΨopenChildren: c
}, o);
}
}), rg = M({
active: Boolean,
disabled: Boolean,
max: [Number, String],
value: {
type: [Number, String],
default: 0
},
...de(),
...oa({
transition: {
component: sc
}
})
}, "VCounter"), lg = Q()({
name: "VCounter",
functional: !0,
props: rg(),
setup(e, t) {
let {
slots: n
} = t;
const a = E(() => e.max ? `${e.value} / ${e.max}` : String(e.value));
return ee(() => g(gn, {
transition: e.transition
}, {
default: () => [ht(p("div", {
class: K(["v-counter", {
"text-error": e.max && !e.disabled && parseFloat(e.value) > parseFloat(e.max)
}, e.class]),
style: Z(e.style)
}, [n.default ? n.default({
counter: a.value,
max: e.max,
value: e.value
}) : a.value]), [[Bn, e.active]])]
})), {};
}
}), ig = M({
floating: Boolean,
...de()
}, "VFieldLabel"), us = Q()({
name: "VFieldLabel",
props: ig(),
setup(e, t) {
let {
slots: n
} = t;
return ee(() => g(Bl, {
class: K(["v-field-label", {
"v-field-label--floating": e.floating
}, e.class]),
style: Z(e.style),
"aria-hidden": e.floating || void 0
}, n)), {};
}
});
function Nc(e, t) {
const n = R(), a = ne(!1);
if (Tl) {
const s = new IntersectionObserver((r) => {
a.value = !!r.find((l) => l.isIntersecting);
}, t);
Et(() => {
s.disconnect();
}), re(n, (r, l) => {
l && (s.unobserve(l), a.value = !1), r && s.observe(r);
}, {
flush: "post"
});
}
return {
intersectionRef: n,
isIntersecting: a
};
}
const To = {
center: "center",
top: "bottom",
bottom: "top",
left: "right",
right: "left"
}, Zl = M({
location: String
}, "location");
function Xl(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, n = arguments.length > 2 ? arguments[2] : void 0;
const {
isRtl: a
} = Mt();
return {
locationStyles: _(() => {
if (!e.location) return {};
const {
side: r,
align: l
} = qr(e.location.split(" ").length > 1 ? e.location : `${e.location} center`, a.value);
function i(u) {
return n ? n(u) : 0;
}
const o = {};
return r !== "center" && (t ? o[To[r]] = `calc(100% - ${i(r)}px)` : o[r] = 0), l !== "center" ? t ? o[To[l]] = `calc(100% - ${i(l)}px)` : o[l] = 0 : (r === "center" ? o.top = o.left = "50%" : o[{
top: "left",
bottom: "left",
left: "top",
right: "top"
}[r]] = "50%", o.transform = {
top: "translateX(-50%)",
bottom: "translateX(-50%)",
left: "translateY(-50%)",
right: "translateY(-50%)",
center: "translate(-50%, -50%)"
}[r]), o;
})
};
}
const og = M({
absolute: Boolean,
active: {
type: Boolean,
default: !0
},
bgColor: String,
bgOpacity: [Number, String],
bufferValue: {
type: [Number, String],
default: 0
},
bufferColor: String,
bufferOpacity: [Number, String],
clickable: Boolean,
color: String,
height: {
type: [Number, String],
default: 4
},
indeterminate: Boolean,
max: {
type: [Number, String],
default: 100
},
modelValue: {
type: [Number, String],
default: 0
},
opacity: [Number, String],
reverse: Boolean,
stream: Boolean,
striped: Boolean,
roundedBar: Boolean,
...de(),
...Zl({
location: "top"
}),
...kt(),
...Le(),
...Ye()
}, "VProgressLinear"), ei = Q()({
name: "VProgressLinear",
props: og(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const a = ke(e, "modelValue"), {
isRtl: s,
rtlClasses: r
} = Mt(), {
themeClasses: l
} = Ze(e), {
locationStyles: i
} = Xl(e), {
textColorClasses: o,
textColorStyles: u
} = Ht(() => e.color), {
backgroundColorClasses: c,
backgroundColorStyles: d
} = $t(() => e.bgColor || e.color), {
backgroundColorClasses: h,
backgroundColorStyles: v
} = $t(() => e.bufferColor || e.bgColor || e.color), {
backgroundColorClasses: f,
backgroundColorStyles: y
} = $t(() => e.color), {
roundedClasses: m
} = Dt(e), {
intersectionRef: b,
isIntersecting: S
} = Nc(), P = _(() => parseFloat(e.max)), I = _(() => parseFloat(e.height)), k = _(() => bt(parseFloat(e.bufferValue) / P.value * 100, 0, 100)), D = _(() => bt(parseFloat(a.value) / P.value * 100, 0, 100)), V = _(() => s.value !== e.reverse), w = _(() => e.indeterminate ? "fade-transition" : "slide-x-transition"), T = Be && window.matchMedia?.("(forced-colors: active)").matches;
function N($) {
if (!b.value) return;
const {
left: B,
right: A,
width: U
} = b.value.getBoundingClientRect(), Y = V.value ? U - $.clientX + (A - U) : $.clientX - B;
a.value = Math.round(Y / U * P.value);
}
return ee(() => g(e.tag, {
ref: b,
class: K(["v-progress-linear", {
"v-progress-linear--absolute": e.absolute,
"v-progress-linear--active": e.active && S.value,
"v-progress-linear--reverse": V.value,
"v-progress-linear--rounded": e.rounded,
"v-progress-linear--rounded-bar": e.roundedBar,
"v-progress-linear--striped": e.striped
}, m.value, l.value, r.value, e.class]),
style: Z([{
bottom: e.location === "bottom" ? 0 : void 0,
top: e.location === "top" ? 0 : void 0,
height: e.active ? te(I.value) : 0,
"--v-progress-linear-height": te(I.value),
...e.absolute ? i.value : {}
}, e.style]),
role: "progressbar",
"aria-hidden": e.active ? "false" : "true",
"aria-valuemin": "0",
"aria-valuemax": e.max,
"aria-valuenow": e.indeterminate ? void 0 : Math.min(parseFloat(a.value), P.value),
onClick: e.clickable && N
}, {
default: () => [e.stream && p("div", {
key: "stream",
class: K(["v-progress-linear__stream", o.value]),
style: Z({
...u.value,
[V.value ? "left" : "right"]: te(-I.value),
borderTop: `${te(I.value / 2)} dotted`,
opacity: parseFloat(e.bufferOpacity),
top: `calc(50% - ${te(I.value / 4)})`,
width: te(100 - k.value, "%"),
"--v-progress-linear-stream-to": te(I.value * (V.value ? 1 : -1))
})
}, null), p("div", {
class: K(["v-progress-linear__background", T ? void 0 : c.value]),
style: Z([d.value, {
opacity: parseFloat(e.bgOpacity),
width: e.stream ? 0 : void 0
}])
}, null), p("div", {
class: K(["v-progress-linear__buffer", T ? void 0 : h.value]),
style: Z([v.value, {
opacity: parseFloat(e.bufferOpacity),
width: te(k.value, "%")
}])
}, null), g(Mn, {
name: w.value
}, {
default: () => [e.indeterminate ? p("div", {
class: "v-progress-linear__indeterminate"
}, [["long", "short"].map(($) => p("div", {
key: $,
class: K(["v-progress-linear__indeterminate", $, T ? void 0 : f.value]),
style: Z(y.value)
}, null))]) : p("div", {
class: K(["v-progress-linear__determinate", T ? void 0 : f.value]),
style: Z([y.value, {
width: te(D.value, "%")
}])
}, null)]
}), n.default && p("div", {
class: "v-progress-linear__content"
}, [n.default({
value: D.value,
buffer: k.value
})])]
})), {};
}
}), er = M({
loading: [Boolean, String]
}, "loader");
function Ka(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
return {
loaderClasses: E(() => ({
[`${t}--loading`]: e.loading
}))
};
}
function tr(e, t) {
let {
slots: n
} = t;
return p("div", {
class: K(`${e.name}__loader`)
}, [n.default?.({
color: e.color,
isActive: e.active
}) || g(ei, {
absolute: e.absolute,
active: e.active,
color: e.color,
height: "2",
indeterminate: !0
}, null)]);
}
const ug = ["underlined", "outlined", "filled", "solo", "solo-inverted", "solo-filled", "plain"], Bc = M({
appendInnerIcon: ue,
bgColor: String,
clearable: Boolean,
clearIcon: {
type: ue,
default: "$clear"
},
active: Boolean,
centerAffix: {
type: Boolean,
default: void 0
},
color: String,
baseColor: String,
dirty: Boolean,
disabled: {
type: Boolean,
default: null
},
glow: Boolean,
error: Boolean,
flat: Boolean,
iconColor: [Boolean, String],
label: String,
persistentClear: Boolean,
prependInnerIcon: ue,
reverse: Boolean,
singleLine: Boolean,
variant: {
type: String,
default: "filled",
validator: (e) => ug.includes(e)
},
"onClick:clear": Je(),
"onClick:appendInner": Je(),
"onClick:prependInner": Je(),
...de(),
...er(),
...kt(),
...Ye()
}, "VField"), Vo = Q()({
name: "VField",
inheritAttrs: !1,
props: {
id: String,
...ic(),
...Bc()
},
emits: {
"update:focused": (e) => !0,
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
attrs: n,
emit: a,
slots: s
} = t;
const {
themeClasses: r
} = Ze(e), {
loaderClasses: l
} = Ka(e), {
focusClasses: i,
isFocused: o,
focus: u,
blur: c
} = zl(e), {
InputIcon: d
} = tc(e), {
roundedClasses: h
} = Dt(e), {
rtlClasses: v
} = Mt(), f = E(() => e.dirty || e.active), y = E(() => !!(e.label || s.label)), m = E(() => !e.singleLine && y.value), b = on(), S = _(() => e.id || `input-${b}`), P = E(() => `${S.value}-messages`), I = R(), k = R(), D = R(), V = _(() => ["plain", "underlined"].includes(e.variant)), w = _(() => e.error || e.disabled ? void 0 : f.value && o.value ? e.color : e.baseColor), T = _(() => {
if (!(!e.iconColor || e.glow && !o.value))
return e.iconColor === !0 ? w.value : e.iconColor;
}), {
backgroundColorClasses: N,
backgroundColorStyles: $
} = $t(() => e.bgColor), {
textColorClasses: B,
textColorStyles: A
} = Ht(w);
re(f, (G) => {
if (m.value) {
const le = I.value.$el, oe = k.value.$el;
requestAnimationFrame(() => {
const _e = Ml(le), x = oe.getBoundingClientRect(), O = x.x - _e.x, F = x.y - _e.y - (_e.height / 2 - x.height / 2), q = x.width / 0.75, se = Math.abs(q - _e.width) > 1 ? {
maxWidth: te(q)
} : void 0, ae = getComputedStyle(le), ie = getComputedStyle(oe), J = parseFloat(ae.transitionDuration) * 1e3 || 150, Ee = parseFloat(ie.getPropertyValue("--v-field-label-scale")), Se = ie.getPropertyValue("color");
le.style.visibility = "visible", oe.style.visibility = "hidden", Gn(le, {
transform: `translate(${O}px, ${F}px) scale(${Ee})`,
color: Se,
...se
}, {
duration: J,
easing: Ps,
direction: G ? "normal" : "reverse"
}).finished.then(() => {
le.style.removeProperty("visibility"), oe.style.removeProperty("visibility");
});
});
}
}, {
flush: "post"
});
const U = _(() => ({
isActive: f,
isFocused: o,
controlRef: D,
blur: c,
focus: u
}));
function Y(G) {
G.target !== document.activeElement && G.preventDefault();
}
return ee(() => {
const G = e.variant === "outlined", le = !!(s["prepend-inner"] || e.prependInnerIcon), oe = !!(e.clearable || s.clear) && !e.disabled, _e = !!(s["append-inner"] || e.appendInnerIcon || oe), x = () => s.label ? s.label({
...U.value,
label: e.label,
props: {
for: S.value
}
}) : e.label;
return p("div", j({
class: ["v-field", {
"v-field--active": f.value,
"v-field--appended": _e,
"v-field--center-affix": e.centerAffix ?? !V.value,
"v-field--disabled": e.disabled,
"v-field--dirty": e.dirty,
"v-field--error": e.error,
"v-field--glow": e.glow,
"v-field--flat": e.flat,
"v-field--has-background": !!e.bgColor,
"v-field--persistent-clear": e.persistentClear,
"v-field--prepended": le,
"v-field--reverse": e.reverse,
"v-field--single-line": e.singleLine,
"v-field--no-label": !x(),
[`v-field--variant-${e.variant}`]: !0
}, r.value, N.value, i.value, l.value, h.value, v.value, e.class],
style: [$.value, e.style],
onClick: Y
}, n), [p("div", {
class: "v-field__overlay"
}, null), g(tr, {
name: "v-field",
active: !!e.loading,
color: e.error ? "error" : typeof e.loading == "string" ? e.loading : e.color
}, {
default: s.loader
}), le && p("div", {
key: "prepend",
class: "v-field__prepend-inner"
}, [e.prependInnerIcon && g(d, {
key: "prepend-icon",
name: "prependInner",
color: T.value
}, null), s["prepend-inner"]?.(U.value)]), p("div", {
class: "v-field__field",
"data-no-activator": ""
}, [["filled", "solo", "solo-inverted", "solo-filled"].includes(e.variant) && m.value && g(us, {
key: "floating-label",
ref: k,
class: K([B.value]),
floating: !0,
for: S.value,
style: Z(A.value)
}, {
default: () => [x()]
}), y.value && g(us, {
key: "label",
ref: I,
for: S.value
}, {
default: () => [x()]
}), s.default?.({
...U.value,
props: {
id: S.value,
class: "v-field__input",
"aria-describedby": P.value
},
focus: u,
blur: c
}) ?? p("div", {
id: S.value,
class: "v-field__input",
"aria-describedby": P.value
}, null)]), oe && g(lc, {
key: "clear"
}, {
default: () => [ht(p("div", {
class: "v-field__clearable",
onMousedown: (O) => {
O.preventDefault(), O.stopPropagation();
}
}, [g(Ne, {
defaults: {
VIcon: {
icon: e.clearIcon
}
}
}, {
default: () => [s.clear ? s.clear({
...U.value,
props: {
onFocus: u,
onBlur: c,
onClick: e["onClick:clear"],
tabindex: -1
}
}) : g(d, {
name: "clear",
onFocus: u,
onBlur: c,
tabindex: -1
}, null)]
})]), [[Bn, e.dirty]])]
}), _e && p("div", {
key: "append",
class: "v-field__append-inner"
}, [s["append-inner"]?.(U.value), e.appendInnerIcon && g(d, {
key: "append-icon",
name: "appendInner",
color: T.value
}, null)]), p("div", {
class: K(["v-field__outline", B.value]),
style: Z(A.value)
}, [G && p(pe, null, [p("div", {
class: "v-field__outline__start"
}, null), m.value && p("div", {
class: "v-field__outline__notch"
}, [g(us, {
ref: k,
floating: !0,
for: S.value
}, {
default: () => [x()]
})]), p("div", {
class: "v-field__outline__end"
}, null)]), V.value && m.value && g(us, {
ref: k,
floating: !0,
for: S.value
}, {
default: () => [x()]
})])]);
}), {
controlRef: D,
fieldIconColor: T
};
}
}), cg = ["color", "file", "time", "date", "datetime-local", "week", "month"], ti = M({
autofocus: Boolean,
counter: [Boolean, Number, String],
counterValue: [Number, Function],
prefix: String,
placeholder: String,
persistentPlaceholder: Boolean,
persistentCounter: Boolean,
suffix: String,
role: String,
type: {
type: String,
default: "text"
},
modelModifiers: Object,
...qs(),
...Bc()
}, "VTextField"), Da = Q()({
name: "VTextField",
directives: {
vIntersect: Is
},
inheritAttrs: !1,
props: ti(),
emits: {
"click:control": (e) => !0,
"mousedown:control": (e) => !0,
"update:focused": (e) => !0,
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
attrs: n,
emit: a,
slots: s
} = t;
const r = ke(e, "modelValue"), {
isFocused: l,
focus: i,
blur: o
} = zl(e), u = _(() => typeof e.counterValue == "function" ? e.counterValue(r.value) : typeof e.counterValue == "number" ? e.counterValue : (r.value ?? "").toString().length), c = _(() => {
if (n.maxlength) return n.maxlength;
if (!(!e.counter || typeof e.counter != "number" && typeof e.counter != "string"))
return e.counter;
}), d = _(() => ["plain", "underlined"].includes(e.variant));
function h(D, V) {
!e.autofocus || !D || V[0].target?.focus?.();
}
const v = R(), f = R(), y = R(), m = _(() => cg.includes(e.type) || e.persistentPlaceholder || l.value || e.active);
function b() {
y.value !== document.activeElement && y.value?.focus(), l.value || i();
}
function S(D) {
a("mousedown:control", D), D.target !== y.value && (b(), D.preventDefault());
}
function P(D) {
b(), a("click:control", D);
}
function I(D, V) {
D.stopPropagation(), b(), Ge(() => {
r.value = null, V(), Mu(e["onClick:clear"], D);
});
}
function k(D) {
const V = D.target;
if (r.value = V.value, e.modelModifiers?.trim && ["text", "search", "password", "tel", "url"].includes(e.type)) {
const w = [V.selectionStart, V.selectionEnd];
Ge(() => {
V.selectionStart = w[0], V.selectionEnd = w[1];
});
}
}
return ee(() => {
const D = !!(s.counter || e.counter !== !1 && e.counter != null), V = !!(D || s.details), [w, T] = Ws(n), {
modelValue: N,
...$
} = ta.filterProps(e), B = Vo.filterProps(e);
return g(ta, j({
ref: v,
modelValue: r.value,
"onUpdate:modelValue": (A) => r.value = A,
class: ["v-text-field", {
"v-text-field--prefixed": e.prefix,
"v-text-field--suffixed": e.suffix,
"v-input--plain-underlined": d.value
}, e.class],
style: e.style
}, w, $, {
centerAffix: !d.value,
focused: l.value
}), {
...s,
default: (A) => {
let {
id: U,
isDisabled: Y,
isDirty: G,
isReadonly: le,
isValid: oe,
reset: _e
} = A;
return g(Vo, j({
ref: f,
onMousedown: S,
onClick: P,
"onClick:clear": (x) => I(x, _e),
"onClick:prependInner": e["onClick:prependInner"],
"onClick:appendInner": e["onClick:appendInner"],
role: e.role
}, B, {
id: U.value,
active: m.value || G.value,
dirty: G.value || e.dirty,
disabled: Y.value,
focused: l.value,
error: oe.value === !1
}), {
...s,
default: (x) => {
let {
props: {
class: O,
...F
}
} = x;
const q = ht(p("input", j({
ref: y,
value: r.value,
onInput: k,
autofocus: e.autofocus,
readonly: le.value,
disabled: Y.value,
name: e.name,
placeholder: e.placeholder,
size: 1,
type: e.type,
onFocus: b,
onBlur: o
}, F, T), null), [[Is, {
handler: h
}, null, {
once: !0
}]]);
return p(pe, null, [e.prefix && p("span", {
class: "v-text-field__prefix"
}, [p("span", {
class: "v-text-field__prefix__text"
}, [e.prefix])]), s.default ? p("div", {
class: K(O),
"data-no-activator": ""
}, [s.default(), q]) : Uf(q, {
class: O
}), e.suffix && p("span", {
class: "v-text-field__suffix"
}, [p("span", {
class: "v-text-field__suffix__text"
}, [e.suffix])])]);
}
});
},
details: V ? (A) => p(pe, null, [s.details?.(A), D && p(pe, null, [p("span", null, null), g(lg, {
active: e.persistentCounter || l.value,
value: u.value,
max: c.value,
disabled: e.disabled
}, s.counter)])]) : void 0
});
}), ua({}, v, f, y);
}
}), dg = M({
renderless: Boolean,
...de()
}, "VVirtualScrollItem"), fg = Q()({
name: "VVirtualScrollItem",
inheritAttrs: !1,
props: dg(),
emits: {
"update:height": (e) => !0
},
setup(e, t) {
let {
attrs: n,
emit: a,
slots: s
} = t;
const {
resizeRef: r,
contentRect: l
} = na(void 0, "border");
re(() => l.value?.height, (i) => {
i != null && a("update:height", i);
}), ee(() => e.renderless ? p(pe, null, [s.default?.({
itemRef: r
})]) : p("div", j({
ref: r,
class: ["v-virtual-scroll__item", e.class],
style: e.style
}, n), [s.default?.()]));
}
}), hg = -1, mg = 1, Ar = 100, vg = M({
itemHeight: {
type: [Number, String],
default: null
},
itemKey: {
type: [String, Array, Function],
default: null
},
height: [Number, String]
}, "virtual");
function yg(e, t) {
const n = $n(), a = ne(0);
Ot(() => {
a.value = parseFloat(e.itemHeight || 0);
});
const s = ne(0), r = ne(Math.ceil(
// Assume 16px items filling the entire screen height if
// not provided. This is probably incorrect but it minimises
// the chance of ending up with empty space at the bottom.
// The default value is set here to avoid poisoning getSize()
(parseInt(e.height) || n.height.value) / (a.value || 16)
) || 1), l = ne(0), i = ne(0), o = R(), u = R();
let c = 0;
const {
resizeRef: d,
contentRect: h
} = na();
Ot(() => {
d.value = o.value;
});
const v = _(() => o.value === document.documentElement ? n.height.value : h.value?.height || parseInt(e.height) || 0), f = _(() => !!(o.value && u.value && v.value && a.value));
let y = Array.from({
length: t.value.length
}), m = Array.from({
length: t.value.length
});
const b = ne(0);
let S = -1;
function P(x) {
return y[x] || a.value;
}
const I = Dm(() => {
const x = performance.now();
m[0] = 0;
const O = t.value.length;
for (let F = 1; F <= O - 1; F++)
m[F] = (m[F - 1] || 0) + P(F - 1);
b.value = Math.max(b.value, performance.now() - x);
}, b), k = re(f, (x) => {
x && (k(), c = u.value.offsetTop, I.immediate(), G(), ~S && Ge(() => {
Be && window.requestAnimationFrame(() => {
oe(S), S = -1;
});
}));
});
mt(() => {
I.clear();
});
function D(x, O) {
const F = y[x], q = a.value;
a.value = q ? Math.min(a.value, O) : O, (F !== O || q !== a.value) && (y[x] = O, I());
}
function V(x) {
return x = bt(x, 0, t.value.length - 1), m[x] || 0;
}
function w(x) {
return gg(m, x);
}
let T = 0, N = 0, $ = 0;
re(v, (x, O) => {
O && (G(), x < O && requestAnimationFrame(() => {
N = 0, G();
}));
});
let B = -1;
function A() {
if (!o.value || !u.value) return;
const x = o.value.scrollTop, O = performance.now();
O - $ > 500 ? (N = Math.sign(x - T), c = u.value.offsetTop) : N = x - T, T = x, $ = O, window.clearTimeout(B), B = window.setTimeout(U, 500), G();
}
function U() {
!o.value || !u.value || (N = 0, $ = 0, window.clearTimeout(B), G());
}
let Y = -1;
function G() {
cancelAnimationFrame(Y), Y = requestAnimationFrame(le);
}
function le() {
if (!o.value || !v.value) return;
const x = T - c, O = Math.sign(N), F = Math.max(0, x - Ar), q = bt(w(F), 0, t.value.length), se = x + v.value + Ar, ae = bt(w(se) + 1, q + 1, t.value.length);
if (
// Only update the side we're scrolling towards,
// the other side will be updated incidentally
(O !== hg || q < s.value) && (O !== mg || ae > r.value)
) {
const ie = V(s.value) - V(q), J = V(ae) - V(r.value);
Math.max(ie, J) > Ar ? (s.value = q, r.value = ae) : (q <= 0 && (s.value = q), ae >= t.value.length && (r.value = ae));
}
l.value = V(s.value), i.value = V(t.value.length) - V(r.value);
}
function oe(x) {
const O = V(x);
!o.value || x && !O ? S = x : o.value.scrollTop = O;
}
const _e = _(() => t.value.slice(s.value, r.value).map((x, O) => {
const F = O + s.value;
return {
raw: x,
index: F,
key: ot(x, e.itemKey, F)
};
}));
return re(t, () => {
y = Array.from({
length: t.value.length
}), m = Array.from({
length: t.value.length
}), I.immediate(), G();
}, {
deep: 1
}), {
calculateVisibleItems: G,
containerRef: o,
markerRef: u,
computedItems: _e,
paddingTop: l,
paddingBottom: i,
scrollToIndex: oe,
handleScroll: A,
handleScrollend: U,
handleItemResize: D
};
}
function gg(e, t) {
let n = e.length - 1, a = 0, s = 0, r = null, l = -1;
if (e[n] < t)
return n;
for (; a <= n; )
if (s = a + n >> 1, r = e[s], r > t)
n = s - 1;
else if (r < t)
l = s, a = s + 1;
else return r === t ? s : a;
return l;
}
const bg = M({
items: {
type: Array,
default: () => []
},
renderless: Boolean,
...vg(),
...de(),
...un()
}, "VVirtualScroll"), $c = Q()({
name: "VVirtualScroll",
props: bg(),
setup(e, t) {
let {
slots: n
} = t;
const a = Ue("VVirtualScroll"), {
dimensionStyles: s
} = cn(e), {
calculateVisibleItems: r,
containerRef: l,
markerRef: i,
handleScroll: o,
handleScrollend: u,
handleItemResize: c,
scrollToIndex: d,
paddingTop: h,
paddingBottom: v,
computedItems: f
} = yg(e, E(() => e.items));
return Fn(() => e.renderless, () => {
function y() {
const b = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) ? "addEventListener" : "removeEventListener";
l.value === document.documentElement ? (document[b]("scroll", o, {
passive: !0
}), document[b]("scrollend", u)) : (l.value?.[b]("scroll", o, {
passive: !0
}), l.value?.[b]("scrollend", u));
}
Ba(() => {
l.value = zu(a.vnode.el, !0), y(!0);
}), mt(y);
}), ee(() => {
const y = f.value.map((m) => g(fg, {
key: m.key,
renderless: e.renderless,
"onUpdate:height": (b) => c(m.index, b)
}, {
default: (b) => n.default?.({
item: m.raw,
index: m.index,
...b
})
}));
return e.renderless ? p(pe, null, [p("div", {
ref: i,
class: "v-virtual-scroll__spacer",
style: Z({
paddingTop: te(h.value)
})
}, null), y, p("div", {
class: "v-virtual-scroll__spacer",
style: Z({
paddingBottom: te(v.value)
})
}, null)]) : p("div", {
ref: l,
class: K(["v-virtual-scroll", e.class]),
onScrollPassive: o,
onScrollend: u,
style: Z([s.value, e.style])
}, [p("div", {
ref: i,
class: "v-virtual-scroll__container",
style: Z({
paddingTop: te(h.value),
paddingBottom: te(v.value)
})
}, [y])]);
}), {
calculateVisibleItems: r,
scrollToIndex: d
};
}
});
function Uc(e, t) {
const n = ne(!1);
let a;
function s(i) {
cancelAnimationFrame(a), n.value = !0, a = requestAnimationFrame(() => {
a = requestAnimationFrame(() => {
n.value = !1;
});
});
}
async function r() {
await new Promise((i) => requestAnimationFrame(i)), await new Promise((i) => requestAnimationFrame(i)), await new Promise((i) => requestAnimationFrame(i)), await new Promise((i) => {
if (n.value) {
const o = re(n, () => {
o(), i();
});
} else i();
});
}
async function l(i) {
if (i.key === "Tab" && t.value?.focus(), !["PageDown", "PageUp", "Home", "End"].includes(i.key)) return;
const o = e.value?.$el;
if (!o) return;
(i.key === "Home" || i.key === "End") && o.scrollTo({
top: i.key === "Home" ? 0 : o.scrollHeight,
behavior: "smooth"
}), await r();
const u = o.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");
if (i.key === "PageDown" || i.key === "Home") {
const c = o.getBoundingClientRect().top;
for (const d of u)
if (d.getBoundingClientRect().top >= c) {
d.focus();
break;
}
} else {
const c = o.getBoundingClientRect().bottom;
for (const d of [...u].reverse())
if (d.getBoundingClientRect().bottom <= c) {
d.focus();
break;
}
}
}
return {
onScrollPassive: s,
onKeydown: l
};
}
const zc = M({
chips: Boolean,
closableChips: Boolean,
closeText: {
type: String,
default: "$vuetify.close"
},
openText: {
type: String,
default: "$vuetify.open"
},
eager: Boolean,
hideNoData: Boolean,
hideSelected: Boolean,
listProps: {
type: Object
},
menu: Boolean,
menuIcon: {
type: ue,
default: "$dropdown"
},
menuProps: {
type: Object
},
multiple: Boolean,
noDataText: {
type: String,
default: "$vuetify.noDataText"
},
openOnClear: Boolean,
itemColor: String,
...xc({
itemChildren: !1
})
}, "Select"), pg = M({
...zc(),
...kn(ti({
modelValue: null,
role: "combobox"
}), ["validationValue", "dirty", "appendInnerIcon"]),
...oa({
transition: {
component: Ul
}
})
}, "VSelect"), Hc = Q()({
name: "VSelect",
props: pg(),
emits: {
"update:focused": (e) => !0,
"update:modelValue": (e) => !0,
"update:menu": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const {
t: a
} = hn(), s = R(), r = R(), l = R(), {
items: i,
transformIn: o,
transformOut: u
} = Oc(e), c = ke(e, "modelValue", [], (x) => o(x === null ? [null] : Ke(x)), (x) => {
const O = u(x);
return e.multiple ? O : O[0] ?? null;
}), d = _(() => typeof e.counterValue == "function" ? e.counterValue(c.value) : typeof e.counterValue == "number" ? e.counterValue : c.value.length), h = Hl(e), v = _(() => c.value.map((x) => x.value)), f = ne(!1);
let y = "", m = -1, b;
const S = _(() => e.hideSelected ? i.value.filter((x) => !c.value.some((O) => (e.valueComparator || gt)(O, x))) : i.value), P = _(() => e.hideNoData && !S.value.length || h.isReadonly.value || h.isDisabled.value), I = ke(e, "menu"), k = _({
get: () => I.value,
set: (x) => {
I.value && !x && r.value?.ΨopenChildren.size || x && P.value || (I.value = x);
}
}), D = E(() => k.value ? e.closeText : e.openText), V = _(() => ({
...e.menuProps,
activatorProps: {
...e.menuProps?.activatorProps || {},
"aria-haspopup": "listbox"
// Set aria-haspopup to 'listbox'
}
})), w = R(), T = Uc(w, s);
function N(x) {
e.openOnClear && (k.value = !0);
}
function $() {
P.value || (k.value = !k.value);
}
function B(x) {
ks(x) && A(x);
}
function A(x) {
if (!x.key || h.isReadonly.value) return;
["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End"].includes(x.key) && x.preventDefault(), ["Enter", "ArrowDown", " "].includes(x.key) && (k.value = !0), ["Escape", "Tab"].includes(x.key) && (k.value = !1), x.key === "Home" ? w.value?.focus("first") : x.key === "End" && w.value?.focus("last");
const O = 1e3;
if (!ks(x)) return;
const F = performance.now();
F - b > O && (y = "", m = -1), y += x.key.toLowerCase(), b = F;
const q = S.value;
function se() {
let Se = ae();
return Se || y.at(-1) === y.at(-2) && (y = y.slice(0, -1), Se = ae(), Se) || (m = -1, Se = ae(), Se) ? Se : (y = x.key.toLowerCase(), ae());
}
function ae() {
for (let Se = m + 1; Se < q.length; Se++) {
const z = q[Se];
if (z.title.toLowerCase().startsWith(y))
return [z, Se];
}
}
const ie = se();
if (!ie) return;
const [J, Ee] = ie;
m = Ee, w.value?.focus(Ee), e.multiple || (c.value = [J]);
}
function U(x) {
let O = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
if (!x.props.disabled)
if (e.multiple) {
const F = c.value.findIndex((se) => (e.valueComparator || gt)(se.value, x.value)), q = O ?? !~F;
if (~F) {
const se = q ? [...c.value, x] : [...c.value];
se.splice(F, 1), c.value = se;
} else q && (c.value = [...c.value, x]);
} else {
const F = O !== !1;
c.value = F ? [x] : [], Ge(() => {
k.value = !1;
});
}
}
function Y(x) {
w.value?.$el.contains(x.relatedTarget) || (k.value = !1);
}
function G() {
e.eager && l.value?.calculateVisibleItems();
}
function le() {
f.value && s.value?.focus();
}
function oe(x) {
f.value = !0;
}
function _e(x) {
if (x == null) c.value = [];
else if (ea(s.value, ":autofill") || ea(s.value, ":-webkit-autofill")) {
const O = i.value.find((F) => F.title === x);
O && U(O);
} else s.value && (s.value.value = "");
}
return re(k, () => {
if (!e.hideSelected && k.value && c.value.length) {
const x = S.value.findIndex((O) => c.value.some((F) => (e.valueComparator || gt)(F.value, O.value)));
Be && window.requestAnimationFrame(() => {
x >= 0 && l.value?.scrollToIndex(x);
});
}
}), re(() => e.items, (x, O) => {
k.value || f.value && !O.length && x.length && (k.value = !0);
}), ee(() => {
const x = !!(e.chips || n.chip), O = !!(!e.hideNoData || S.value.length || n["prepend-item"] || n["append-item"] || n["no-data"]), F = c.value.length > 0, q = Da.filterProps(e), se = F || !f.value && e.label && !e.persistentPlaceholder ? void 0 : e.placeholder;
return g(Da, j({
ref: s
}, q, {
modelValue: c.value.map((ae) => ae.props.value).join(", "),
"onUpdate:modelValue": _e,
focused: f.value,
"onUpdate:focused": (ae) => f.value = ae,
validationValue: c.externalValue,
counterValue: d.value,
dirty: F,
class: ["v-select", {
"v-select--active-menu": k.value,
"v-select--chips": !!e.chips,
[`v-select--${e.multiple ? "multiple" : "single"}`]: !0,
"v-select--selected": c.value.length,
"v-select--selection-slot": !!n.selection
}, e.class],
style: e.style,
inputmode: "none",
placeholder: se,
"onClick:clear": N,
"onMousedown:control": $,
onBlur: Y,
onKeydown: A,
"aria-label": a(D.value),
title: a(D.value)
}), {
...n,
default: () => p(pe, null, [g(Lc, j({
ref: r,
modelValue: k.value,
"onUpdate:modelValue": (ae) => k.value = ae,
activator: "parent",
contentClass: "v-select__content",
disabled: P.value,
eager: e.eager,
maxHeight: 310,
openOnClick: !1,
closeOnContentClick: !1,
transition: e.transition,
onAfterEnter: G,
onAfterLeave: le
}, V.value), {
default: () => [O && g(Vc, j({
ref: w,
selected: v.value,
selectStrategy: e.multiple ? "independent" : "single-independent",
onMousedown: (ae) => ae.preventDefault(),
onKeydown: B,
onFocusin: oe,
tabindex: "-1",
"aria-live": "polite",
"aria-label": `${e.label}-list`,
color: e.itemColor ?? e.color
}, T, e.listProps), {
default: () => [n["prepend-item"]?.(), !S.value.length && !e.hideNoData && (n["no-data"]?.() ?? g(Nn, {
key: "no-data",
title: a(e.noDataText)
}, null)), g($c, {
ref: l,
renderless: !0,
items: S.value,
itemKey: "value"
}, {
default: (ae) => {
let {
item: ie,
index: J,
itemRef: Ee
} = ae;
const Se = j(ie.props, {
ref: Ee,
key: ie.value,
onClick: () => U(ie, null)
});
return n.item?.({
item: ie,
index: J,
props: Se
}) ?? g(Nn, j(Se, {
role: "option"
}), {
prepend: (z) => {
let {
isSelected: me
} = z;
return p(pe, null, [e.multiple && !e.hideSelected ? g(qa, {
key: ie.value,
modelValue: me,
ripple: !1,
tabindex: "-1"
}, null) : void 0, ie.props.prependAvatar && g(_n, {
image: ie.props.prependAvatar
}, null), ie.props.prependIcon && g(Ve, {
icon: ie.props.prependIcon
}, null)]);
}
});
}
}), n["append-item"]?.()]
})]
}), c.value.map((ae, ie) => {
function J(me) {
me.stopPropagation(), me.preventDefault(), U(ae, !1);
}
const Ee = {
"onClick:close": J,
onKeydown(me) {
me.key !== "Enter" && me.key !== " " || (me.preventDefault(), me.stopPropagation(), J(me));
},
onMousedown(me) {
me.preventDefault(), me.stopPropagation();
},
modelValue: !0,
"onUpdate:modelValue": void 0
}, Se = x ? !!n.chip : !!n.selection, z = Se ? Al(x ? n.chip({
item: ae,
index: ie,
props: Ee
}) : n.selection({
item: ae,
index: ie
})) : void 0;
if (!(Se && !z))
return p("div", {
key: ae.value,
class: "v-select__selection"
}, [x ? n.chip ? g(Ne, {
key: "chip-defaults",
defaults: {
VChip: {
closable: e.closableChips,
size: "small",
text: ae.title
}
}
}, {
default: () => [z]
}) : g(Gl, j({
key: "chip",
closable: e.closableChips,
size: "small",
text: ae.title,
disabled: ae.props.disabled
}, Ee), null) : z ?? p("span", {
class: "v-select__selection-text"
}, [ae.title, e.multiple && ie < c.value.length - 1 && p("span", {
class: "v-select__selection-comma"
}, [Fe(",")])])]);
})]),
"append-inner": function() {
for (var ae = arguments.length, ie = new Array(ae), J = 0; J < ae; J++)
ie[J] = arguments[J];
return p(pe, null, [n["append-inner"]?.(...ie), e.menuIcon ? g(Ve, {
class: "v-select__menu-icon",
color: s.value?.fieldIconColor,
icon: e.menuIcon
}, null) : void 0]);
}
});
}), ua({
isFocused: f,
menu: k,
select: U
}, s);
}
}), Sg = (e, t, n) => {
if (e == null || t == null) return -1;
if (!t.length) return 0;
e = e.toString().toLocaleLowerCase(), t = t.toString().toLocaleLowerCase();
const a = [];
let s = e.indexOf(t);
for (; ~s; )
a.push([s, s + t.length]), s = e.indexOf(t, s + t.length);
return a.length ? a : -1;
};
function Dr(e, t) {
if (!(e == null || typeof e == "boolean" || e === -1))
return typeof e == "number" ? [[e, e + t.length]] : Array.isArray(e[0]) ? e : [e];
}
const Yc = M({
customFilter: Function,
customKeyFilter: Object,
filterKeys: [Array, String],
filterMode: {
type: String,
default: "intersection"
},
noFilter: Boolean
}, "filter");
function wg(e, t, n) {
const a = [], s = n?.default ?? Sg, r = n?.filterKeys ? Ke(n.filterKeys) : !1, l = Object.keys(n?.customKeyFilter ?? {}).length;
if (!e?.length) return a;
e: for (let i = 0; i < e.length; i++) {
const [o, u = o] = Ke(e[i]), c = {}, d = {};
let h = -1;
if ((t || l > 0) && !n?.noFilter) {
if (typeof o == "object") {
const y = r || Object.keys(u);
for (const m of y) {
const b = ot(u, m), S = n?.customKeyFilter?.[m];
if (h = S ? S(b, t, o) : s(b, t, o), h !== -1 && h !== !1)
S ? c[m] = Dr(h, t) : d[m] = Dr(h, t);
else if (n?.filterMode === "every")
continue e;
}
} else
h = s(o, t, o), h !== -1 && h !== !1 && (d.title = Dr(h, t));
const v = Object.keys(d).length, f = Object.keys(c).length;
if (!v && !f || n?.filterMode === "union" && f !== l && !v || n?.filterMode === "intersection" && (f !== l || !v)) continue;
}
a.push({
index: i,
matches: {
...d,
...c
}
});
}
return a;
}
function jc(e, t, n, a) {
const s = ne([]), r = ne(/* @__PURE__ */ new Map()), l = _(() => a?.transform ? _t(t).map((o) => [o, a.transform(o)]) : _t(t));
Ot(() => {
const o = typeof n == "function" ? n() : _t(n), u = typeof o != "string" && typeof o != "number" ? "" : String(o), c = wg(l.value, u, {
customKeyFilter: {
...e.customKeyFilter,
..._t(a?.customKeyFilter)
},
default: e.customFilter,
filterKeys: e.filterKeys,
filterMode: e.filterMode,
noFilter: e.noFilter
}), d = _t(t), h = [], v = /* @__PURE__ */ new Map();
c.forEach((f) => {
let {
index: y,
matches: m
} = f;
const b = d[y];
h.push(b), v.set(b.value, m);
}), s.value = h, r.value = v;
});
function i(o) {
return r.value.get(o.value);
}
return {
filteredItems: s,
filteredMatches: r,
getMatches: i
};
}
function _g(e, t, n) {
return n == null || !n.length ? t : n.map((a, s) => {
const r = s === 0 ? 0 : n[s - 1][1], l = [p("span", {
class: K(`${e}__unmask`)
}, [t.slice(r, a[0])]), p("span", {
class: K(`${e}__mask`)
}, [t.slice(a[0], a[1])])];
return s === n.length - 1 && l.push(p("span", {
class: K(`${e}__unmask`)
}, [t.slice(a[1])])), p(pe, null, [l]);
});
}
const kg = M({
autoSelectFirst: {
type: [Boolean, String]
},
clearOnSelect: Boolean,
search: String,
...Yc({
filterKeys: ["title"]
}),
...zc(),
...kn(ti({
modelValue: null,
role: "combobox"
}), ["validationValue", "dirty", "appendInnerIcon"]),
...oa({
transition: !1
})
}, "VAutocomplete"), Cg = Q()({
name: "VAutocomplete",
props: kg(),
emits: {
"update:focused": (e) => !0,
"update:search": (e) => !0,
"update:modelValue": (e) => !0,
"update:menu": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const {
t: a
} = hn(), s = R(), r = ne(!1), l = ne(!0), i = ne(!1), o = R(), u = R(), c = ne(-1), {
items: d,
transformIn: h,
transformOut: v
} = Oc(e), {
textColorClasses: f,
textColorStyles: y
} = Ht(() => s.value?.color), m = ke(e, "search", ""), b = ke(e, "modelValue", [], (z) => h(z === null ? [null] : Ke(z)), (z) => {
const me = v(z);
return e.multiple ? me : me[0] ?? null;
}), S = _(() => typeof e.counterValue == "function" ? e.counterValue(b.value) : typeof e.counterValue == "number" ? e.counterValue : b.value.length), P = Hl(e), {
filteredItems: I,
getMatches: k
} = jc(e, d, () => l.value ? "" : m.value), D = _(() => e.hideSelected ? I.value.filter((z) => !b.value.some((me) => me.value === z.value)) : I.value), V = _(() => !!(e.chips || n.chip)), w = _(() => V.value || !!n.selection), T = _(() => b.value.map((z) => z.props.value)), N = _(() => (e.autoSelectFirst === !0 || e.autoSelectFirst === "exact" && m.value === D.value[0]?.title) && D.value.length > 0 && !l.value && !i.value), $ = _(() => e.hideNoData && !D.value.length || P.isReadonly.value || P.isDisabled.value), B = ke(e, "menu"), A = _({
get: () => B.value,
set: (z) => {
B.value && !z && o.value?.ΨopenChildren.size || z && $.value || (B.value = z);
}
}), U = _(() => A.value ? e.closeText : e.openText), Y = R(), G = Uc(Y, s);
function le(z) {
e.openOnClear && (A.value = !0), m.value = "";
}
function oe() {
$.value || (A.value = !0);
}
function _e(z) {
$.value || (r.value && (z.preventDefault(), z.stopPropagation()), A.value = !A.value);
}
function x(z) {
z.key !== " " && ks(z) && s.value?.focus();
}
function O(z) {
if (P.isReadonly.value) return;
const me = s.value?.selectionStart, Qe = b.value.length;
if (["Enter", "ArrowDown", "ArrowUp"].includes(z.key) && z.preventDefault(), ["Enter", "ArrowDown"].includes(z.key) && (A.value = !0), ["Escape"].includes(z.key) && (A.value = !1), N.value && ["Enter", "Tab"].includes(z.key) && !b.value.some((be) => {
let {
value: xe
} = be;
return xe === D.value[0].value;
}) && Se(D.value[0]), z.key === "ArrowDown" && N.value && Y.value?.focus("next"), ["Backspace", "Delete"].includes(z.key)) {
if (!e.multiple && w.value && b.value.length > 0 && !m.value) return Se(b.value[0], !1);
if (~c.value) {
z.preventDefault();
const be = c.value;
Se(b.value[c.value], !1), c.value = be >= Qe - 1 ? Qe - 2 : be;
} else z.key === "Backspace" && !m.value && (c.value = Qe - 1);
return;
}
if (e.multiple)
if (z.key === "ArrowLeft") {
if (c.value < 0 && me && me > 0) return;
const be = c.value > -1 ? c.value - 1 : Qe - 1;
if (b.value[be])
c.value = be;
else {
const xe = m.value?.length ?? null;
c.value = -1, s.value?.setSelectionRange(xe, xe);
}
} else if (z.key === "ArrowRight") {
if (c.value < 0) return;
const be = c.value + 1;
b.value[be] ? c.value = be : (c.value = -1, s.value?.setSelectionRange(0, 0));
} else ~c.value && ks(z) && (c.value = -1);
}
function F(z) {
if (ea(s.value, ":autofill") || ea(s.value, ":-webkit-autofill")) {
const me = d.value.find((Qe) => Qe.title === z.target.value);
me && Se(me);
}
}
function q() {
e.eager && u.value?.calculateVisibleItems();
}
function se() {
r.value && (l.value = !0, s.value?.focus());
}
function ae(z) {
r.value = !0, setTimeout(() => {
i.value = !0;
});
}
function ie(z) {
i.value = !1;
}
function J(z) {
(z == null || z === "" && !e.multiple && !w.value) && (b.value = []);
}
const Ee = ne(!1);
function Se(z) {
let me = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
if (!(!z || z.props.disabled))
if (e.multiple) {
const Qe = b.value.findIndex((xe) => (e.valueComparator || gt)(xe.value, z.value)), be = me ?? !~Qe;
if (~Qe) {
const xe = be ? [...b.value, z] : [...b.value];
xe.splice(Qe, 1), b.value = xe;
} else be && (b.value = [...b.value, z]);
e.clearOnSelect && (m.value = "");
} else {
const Qe = me !== !1;
b.value = Qe ? [z] : [], m.value = Qe && !w.value ? z.title : "", Ge(() => {
A.value = !1, l.value = !0;
});
}
}
return re(r, (z, me) => {
z !== me && (z ? (Ee.value = !0, m.value = e.multiple || w.value ? "" : String(b.value.at(-1)?.props.title ?? ""), l.value = !0, Ge(() => Ee.value = !1)) : (!e.multiple && m.value == null && (b.value = []), A.value = !1, (e.multiple || w.value) && (m.value = ""), c.value = -1));
}), re(m, (z) => {
!r.value || Ee.value || (z && (A.value = !0), l.value = !z);
}), re(A, () => {
if (!e.hideSelected && A.value && b.value.length) {
const z = D.value.findIndex((me) => b.value.some((Qe) => me.value === Qe.value));
Be && window.requestAnimationFrame(() => {
z >= 0 && u.value?.scrollToIndex(z);
});
}
}), re(() => e.items, (z, me) => {
A.value || r.value && !me.length && z.length && (A.value = !0);
}), ee(() => {
const z = !!(!e.hideNoData || D.value.length || n["prepend-item"] || n["append-item"] || n["no-data"]), me = b.value.length > 0, Qe = Da.filterProps(e);
return g(Da, j({
ref: s
}, Qe, {
modelValue: m.value,
"onUpdate:modelValue": [(be) => m.value = be, J],
focused: r.value,
"onUpdate:focused": (be) => r.value = be,
validationValue: b.externalValue,
counterValue: S.value,
dirty: me,
onChange: F,
class: ["v-autocomplete", `v-autocomplete--${e.multiple ? "multiple" : "single"}`, {
"v-autocomplete--active-menu": A.value,
"v-autocomplete--chips": !!e.chips,
"v-autocomplete--selection-slot": !!w.value,
"v-autocomplete--selecting-index": c.value > -1
}, e.class],
style: e.style,
readonly: P.isReadonly.value,
placeholder: me ? void 0 : e.placeholder,
"onClick:clear": le,
"onMousedown:control": oe,
onKeydown: O
}), {
...n,
default: () => p(pe, null, [g(Lc, j({
ref: o,
modelValue: A.value,
"onUpdate:modelValue": (be) => A.value = be,
activator: "parent",
contentClass: "v-autocomplete__content",
disabled: $.value,
eager: e.eager,
maxHeight: 310,
openOnClick: !1,
closeOnContentClick: !1,
transition: e.transition,
onAfterEnter: q,
onAfterLeave: se
}, e.menuProps), {
default: () => [z && g(Vc, j({
ref: Y,
selected: T.value,
selectStrategy: e.multiple ? "independent" : "single-independent",
onMousedown: (be) => be.preventDefault(),
onKeydown: x,
onFocusin: ae,
onFocusout: ie,
tabindex: "-1",
"aria-live": "polite",
color: e.itemColor ?? e.color
}, G, e.listProps), {
default: () => [n["prepend-item"]?.(), !D.value.length && !e.hideNoData && (n["no-data"]?.() ?? g(Nn, {
key: "no-data",
title: a(e.noDataText)
}, null)), g($c, {
ref: u,
renderless: !0,
items: D.value,
itemKey: "value"
}, {
default: (be) => {
let {
item: xe,
index: Ft,
itemRef: ns
} = be;
const ha = j(xe.props, {
ref: ns,
key: xe.value,
active: N.value && Ft === 0 ? !0 : void 0,
onClick: () => Se(xe, null)
});
return n.item?.({
item: xe,
index: Ft,
props: ha
}) ?? g(Nn, j(ha, {
role: "option"
}), {
prepend: (ma) => {
let {
isSelected: vt
} = ma;
return p(pe, null, [e.multiple && !e.hideSelected ? g(qa, {
key: xe.value,
modelValue: vt,
ripple: !1,
tabindex: "-1"
}, null) : void 0, xe.props.prependAvatar && g(_n, {
image: xe.props.prependAvatar
}, null), xe.props.prependIcon && g(Ve, {
icon: xe.props.prependIcon
}, null)]);
},
title: () => l.value ? xe.title : _g("v-autocomplete", xe.title, k(xe)?.title)
});
}
}), n["append-item"]?.()]
})]
}), b.value.map((be, xe) => {
function Ft(vt) {
vt.stopPropagation(), vt.preventDefault(), Se(be, !1);
}
const ns = {
"onClick:close": Ft,
onKeydown(vt) {
vt.key !== "Enter" && vt.key !== " " || (vt.preventDefault(), vt.stopPropagation(), Ft(vt));
},
onMousedown(vt) {
vt.preventDefault(), vt.stopPropagation();
},
modelValue: !0,
"onUpdate:modelValue": void 0
}, ha = V.value ? !!n.chip : !!n.selection, ma = ha ? Al(V.value ? n.chip({
item: be,
index: xe,
props: ns
}) : n.selection({
item: be,
index: xe
})) : void 0;
if (!(ha && !ma))
return p("div", {
key: be.value,
class: K(["v-autocomplete__selection", xe === c.value && ["v-autocomplete__selection--selected", f.value]]),
style: Z(xe === c.value ? y.value : {})
}, [V.value ? n.chip ? g(Ne, {
key: "chip-defaults",
defaults: {
VChip: {
closable: e.closableChips,
size: "small",
text: be.title
}
}
}, {
default: () => [ma]
}) : g(Gl, j({
key: "chip",
closable: e.closableChips,
size: "small",
text: be.title,
disabled: be.props.disabled
}, ns), null) : ma ?? p("span", {
class: "v-autocomplete__selection-text"
}, [be.title, e.multiple && xe < b.value.length - 1 && p("span", {
class: "v-autocomplete__selection-comma"
}, [Fe(",")])])]);
})]),
"append-inner": function() {
for (var be = arguments.length, xe = new Array(be), Ft = 0; Ft < be; Ft++)
xe[Ft] = arguments[Ft];
return p(pe, null, [n["append-inner"]?.(...xe), e.menuIcon ? g(Ve, {
class: "v-autocomplete__menu-icon",
color: s.value?.fieldIconColor,
icon: e.menuIcon,
onMousedown: _e,
onClick: Fm,
"aria-label": a(U.value),
title: a(U.value),
tabindex: "-1"
}, null) : void 0]);
}
});
}), ua({
isFocused: r,
isPristine: l,
menu: A,
search: m,
filteredItems: I,
select: Se
}, s);
}
}), Pg = M({
...de(),
...$v()
}, "VForm"), xg = Q()({
name: "VForm",
props: Pg(),
emits: {
"update:modelValue": (e) => !0,
submit: (e) => !0
},
setup(e, t) {
let {
slots: n,
emit: a
} = t;
const s = Uv(e), r = R();
function l(o) {
o.preventDefault(), s.reset();
}
function i(o) {
const u = o, c = s.validate();
u.then = c.then.bind(c), u.catch = c.catch.bind(c), u.finally = c.finally.bind(c), a("submit", u), u.defaultPrevented || c.then((d) => {
let {
valid: h
} = d;
h && r.value?.submit();
}), u.preventDefault();
}
return ee(() => p("form", {
ref: r,
class: K(["v-form", e.class]),
style: Z(e.style),
novalidate: !0,
onReset: l,
onSubmit: i
}, [n.default?.(s)])), ua(s, r);
}
}), Ig = M({
fluid: {
type: Boolean,
default: !1
},
...de(),
...un(),
...Le()
}, "VContainer"), ka = Q()({
name: "VContainer",
props: Ig(),
setup(e, t) {
let {
slots: n
} = t;
const {
rtlClasses: a
} = Mt(), {
dimensionStyles: s
} = cn(e);
return ee(() => g(e.tag, {
class: K(["v-container", {
"v-container--fluid": e.fluid
}, a.value, e.class]),
style: Z([s.value, e.style])
}, n)), {};
}
}), Wc = Ks.reduce((e, t) => (e[t] = {
type: [Boolean, String, Number],
default: !1
}, e), {}), Gc = Ks.reduce((e, t) => {
const n = "offset" + aa(t);
return e[n] = {
type: [String, Number],
default: null
}, e;
}, {}), Qc = Ks.reduce((e, t) => {
const n = "order" + aa(t);
return e[n] = {
type: [String, Number],
default: null
}, e;
}, {}), Eo = {
col: Object.keys(Wc),
offset: Object.keys(Gc),
order: Object.keys(Qc)
};
function Og(e, t, n) {
let a = e;
if (!(n == null || n === !1)) {
if (t) {
const s = t.replace(e, "");
a += `-${s}`;
}
return e === "col" && (a = "v-" + a), e === "col" && (n === "" || n === !0) || (a += `-${n}`), a.toLowerCase();
}
}
const Tg = ["auto", "start", "end", "center", "baseline", "stretch"], Vg = M({
cols: {
type: [Boolean, String, Number],
default: !1
},
...Wc,
offset: {
type: [String, Number],
default: null
},
...Gc,
order: {
type: [String, Number],
default: null
},
...Qc,
alignSelf: {
type: String,
default: null,
validator: (e) => Tg.includes(e)
},
...de(),
...Le()
}, "VCol"), yn = Q()({
name: "VCol",
props: Vg(),
setup(e, t) {
let {
slots: n
} = t;
const a = _(() => {
const s = [];
let r;
for (r in Eo)
Eo[r].forEach((i) => {
const o = e[i], u = Og(r, i, o);
u && s.push(u);
});
const l = s.some((i) => i.startsWith("v-col-"));
return s.push({
// Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.
"v-col": !l || !e.cols,
[`v-col-${e.cols}`]: e.cols,
[`offset-${e.offset}`]: e.offset,
[`order-${e.order}`]: e.order,
[`align-self-${e.alignSelf}`]: e.alignSelf
}), s;
});
return () => sa(e.tag, {
class: [a.value, e.class],
style: e.style
}, n.default?.());
}
}), ni = ["start", "end", "center"], qc = ["space-between", "space-around", "space-evenly"];
function ai(e, t) {
return Ks.reduce((n, a) => {
const s = e + aa(a);
return n[s] = t(), n;
}, {});
}
const Eg = [...ni, "baseline", "stretch"], Kc = (e) => Eg.includes(e), Jc = ai("align", () => ({
type: String,
default: null,
validator: Kc
})), Ag = [...ni, ...qc], Zc = (e) => Ag.includes(e), Xc = ai("justify", () => ({
type: String,
default: null,
validator: Zc
})), Dg = [...ni, ...qc, "stretch"], ed = (e) => Dg.includes(e), td = ai("alignContent", () => ({
type: String,
default: null,
validator: ed
})), Ao = {
align: Object.keys(Jc),
justify: Object.keys(Xc),
alignContent: Object.keys(td)
}, Mg = {
align: "align",
justify: "justify",
alignContent: "align-content"
};
function Rg(e, t, n) {
let a = Mg[e];
if (n != null) {
if (t) {
const s = t.replace(e, "");
a += `-${s}`;
}
return a += `-${n}`, a.toLowerCase();
}
}
const Fg = M({
dense: Boolean,
noGutters: Boolean,
align: {
type: String,
default: null,
validator: Kc
},
...Jc,
justify: {
type: String,
default: null,
validator: Zc
},
...Xc,
alignContent: {
type: String,
default: null,
validator: ed
},
...td,
...de(),
...Le()
}, "VRow"), rl = Q()({
name: "VRow",
props: Fg(),
setup(e, t) {
let {
slots: n
} = t;
const a = _(() => {
const s = [];
let r;
for (r in Ao)
Ao[r].forEach((l) => {
const i = e[l], o = Rg(r, l, i);
o && s.push(o);
});
return s.push({
"v-row--no-gutters": e.noGutters,
"v-row--dense": e.dense,
[`align-${e.align}`]: e.align,
[`justify-${e.justify}`]: e.justify,
[`align-content-${e.alignContent}`]: e.alignContent
}), s;
});
return () => sa(e.tag, {
class: ["v-row", a.value, e.class],
style: e.style
}, n.default?.());
}
}), Lg = M({
...Qs({
falseIcon: "$radioOff",
trueIcon: "$radioOn"
})
}, "VRadio"), ba = Q()({
name: "VRadio",
props: Lg(),
setup(e, t) {
let {
slots: n
} = t;
return ee(() => {
const a = Ln.filterProps(e);
return g(Ln, j(a, {
class: ["v-radio", e.class],
style: e.style,
type: "radio"
}), n);
}), {};
}
}), Ng = M({
height: {
type: [Number, String],
default: "auto"
},
...qs(),
...kn($l(), ["multiple"]),
trueIcon: {
type: ue,
default: "$radioOn"
},
falseIcon: {
type: ue,
default: "$radioOff"
},
type: {
type: String,
default: "radio"
}
}, "VRadioGroup"), Mr = Q()({
name: "VRadioGroup",
inheritAttrs: !1,
props: Ng(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
attrs: n,
slots: a
} = t;
const s = on(), r = _(() => e.id || `radio-group-${s}`), l = ke(e, "modelValue");
return ee(() => {
const [i, o] = Ws(n), u = ta.filterProps(e), c = Ln.filterProps(e), d = a.label ? a.label({
label: e.label,
props: {
for: r.value
}
}) : e.label;
return g(ta, j({
class: ["v-radio-group", e.class],
style: e.style
}, i, u, {
modelValue: l.value,
"onUpdate:modelValue": (h) => l.value = h,
id: r.value
}), {
...a,
default: (h) => {
let {
id: v,
messagesId: f,
isDisabled: y,
isReadonly: m
} = h;
return p(pe, null, [d && g(Bl, {
id: v.value
}, {
default: () => [d]
}), g(Iv, j(c, {
id: v.value,
"aria-describedby": f.value,
defaultsTarget: "VRadio",
trueIcon: e.trueIcon,
falseIcon: e.falseIcon,
type: e.type,
disabled: y.value,
readonly: m.value,
"aria-labelledby": d ? v.value : void 0,
multiple: !1
}, o, {
modelValue: l.value,
"onUpdate:modelValue": (b) => l.value = b
}), a)]);
}
});
}), {};
}
}), Bg = M({
bgColor: String,
color: String,
indeterminate: [Boolean, String],
modelValue: {
type: [Number, String],
default: 0
},
rotate: {
type: [Number, String],
default: 0
},
width: {
type: [Number, String],
default: 4
},
...de(),
...ia(),
...Le({
tag: "div"
}),
...Ye()
}, "VProgressCircular"), nd = Q()({
name: "VProgressCircular",
props: Bg(),
setup(e, t) {
let {
slots: n
} = t;
const a = 20, s = 2 * Math.PI * a, r = R(), {
themeClasses: l
} = Ze(e), {
sizeClasses: i,
sizeStyles: o
} = Wa(e), {
textColorClasses: u,
textColorStyles: c
} = Ht(() => e.color), {
textColorClasses: d,
textColorStyles: h
} = Ht(() => e.bgColor), {
intersectionRef: v,
isIntersecting: f
} = Nc(), {
resizeRef: y,
contentRect: m
} = na(), b = E(() => bt(parseFloat(e.modelValue), 0, 100)), S = E(() => Number(e.width)), P = E(() => o.value ? Number(e.size) : m.value ? m.value.width : Math.max(S.value, 32)), I = E(() => a / (1 - S.value / P.value) * 2), k = E(() => S.value / P.value * I.value), D = E(() => te((100 - b.value) / 100 * s));
return Ot(() => {
v.value = r.value, y.value = r.value;
}), ee(() => g(e.tag, {
ref: r,
class: K(["v-progress-circular", {
"v-progress-circular--indeterminate": !!e.indeterminate,
"v-progress-circular--visible": f.value,
"v-progress-circular--disable-shrink": e.indeterminate === "disable-shrink"
}, l.value, i.value, u.value, e.class]),
style: Z([o.value, c.value, e.style]),
role: "progressbar",
"aria-valuemin": "0",
"aria-valuemax": "100",
"aria-valuenow": e.indeterminate ? void 0 : b.value
}, {
default: () => [p("svg", {
style: Z({
transform: `rotate(calc(-90deg + ${Number(e.rotate)}deg))`
}),
xmlns: "http://www.w3.org/2000/svg",
viewBox: `0 0 ${I.value} ${I.value}`
}, [p("circle", {
class: K(["v-progress-circular__underlay", d.value]),
style: Z(h.value),
fill: "transparent",
cx: "50%",
cy: "50%",
r: a,
"stroke-width": k.value,
"stroke-dasharray": s,
"stroke-dashoffset": 0
}, null), p("circle", {
class: "v-progress-circular__overlay",
fill: "transparent",
cx: "50%",
cy: "50%",
r: a,
"stroke-width": k.value,
"stroke-dasharray": s,
"stroke-dashoffset": D.value
}, null)]), n.default && p("div", {
class: "v-progress-circular__content"
}, [n.default({
value: b.value
})])]
})), {};
}
}), $g = M({
indeterminate: Boolean,
inset: Boolean,
flat: Boolean,
loading: {
type: [Boolean, String],
default: !1
},
...qs(),
...Qs()
}, "VSwitch"), Ug = Q()({
name: "VSwitch",
inheritAttrs: !1,
props: $g(),
emits: {
"update:focused": (e) => !0,
"update:modelValue": (e) => !0,
"update:indeterminate": (e) => !0
},
setup(e, t) {
let {
attrs: n,
slots: a
} = t;
const s = ke(e, "indeterminate"), r = ke(e, "modelValue"), {
loaderClasses: l
} = Ka(e), {
isFocused: i,
focus: o,
blur: u
} = zl(e), c = R(), d = Be && window.matchMedia("(forced-colors: active)").matches, h = E(() => typeof e.loading == "string" && e.loading !== "" ? e.loading : e.color), v = on(), f = E(() => e.id || `switch-${v}`);
function y() {
s.value && (s.value = !1);
}
function m(b) {
b.stopPropagation(), b.preventDefault(), c.value?.input?.click();
}
return ee(() => {
const [b, S] = Ws(n), P = ta.filterProps(e), I = Ln.filterProps(e);
return g(ta, j({
class: ["v-switch", {
"v-switch--flat": e.flat
}, {
"v-switch--inset": e.inset
}, {
"v-switch--indeterminate": s.value
}, l.value, e.class]
}, b, P, {
modelValue: r.value,
"onUpdate:modelValue": (k) => r.value = k,
id: f.value,
focused: i.value,
style: e.style
}), {
...a,
default: (k) => {
let {
id: D,
messagesId: V,
isDisabled: w,
isReadonly: T,
isValid: N
} = k;
const $ = {
model: r,
isValid: N
};
return g(Ln, j({
ref: c
}, I, {
modelValue: r.value,
"onUpdate:modelValue": [(B) => r.value = B, y],
id: D.value,
"aria-describedby": V.value,
type: "checkbox",
"aria-checked": s.value ? "mixed" : void 0,
disabled: w.value,
readonly: T.value,
onFocus: o,
onBlur: u
}, S), {
...a,
default: (B) => {
let {
backgroundColorClasses: A,
backgroundColorStyles: U
} = B;
return p("div", {
class: K(["v-switch__track", d ? void 0 : A.value]),
style: Z(U.value),
onClick: m
}, [a["track-true"] && p("div", {
key: "prepend",
class: "v-switch__track-true"
}, [a["track-true"]($)]), a["track-false"] && p("div", {
key: "append",
class: "v-switch__track-false"
}, [a["track-false"]($)])]);
},
input: (B) => {
let {
inputNode: A,
icon: U,
backgroundColorClasses: Y,
backgroundColorStyles: G
} = B;
return p(pe, null, [A, p("div", {
class: K(["v-switch__thumb", {
"v-switch__thumb--filled": U || e.loading
}, e.inset || d ? void 0 : Y.value]),
style: Z(e.inset ? void 0 : G.value)
}, [a.thumb ? g(Ne, {
defaults: {
VIcon: {
icon: U,
size: "x-small"
}
}
}, {
default: () => [a.thumb({
...$,
icon: U
})]
}) : g(Lv, null, {
default: () => [e.loading ? g(tr, {
name: "v-switch",
active: !0,
color: N.value === !1 ? void 0 : h.value
}, {
default: (le) => a.loader ? a.loader(le) : g(nd, {
active: le.isActive,
color: le.color,
indeterminate: !0,
size: "16",
width: "2"
}, null)
}) : U && g(Ve, {
key: String(U),
icon: U,
size: "x-small"
}, null)]
})])]);
}
});
}
});
}), {};
}
}), zg = { id: "form-finder" }, Hg = {
key: 0,
class: "select-slot"
}, Yg = { class: "font-weight-bold" }, jg = { class: "float-end" }, Wg = { class: "text-primary" }, Gg = { key: 0 }, Qg = {
id: "search-helper",
class: "alert alert-dark",
role: "alert"
};
function qg(e, t, n, a, s, r) {
return qe(), nt("div", zg, [
g(xg, null, {
default: he(() => [
p("fieldset", null, [
t[26] || (t[26] = p("legend", null, "Search...", -1)),
g(ka, {
id: "from-xxx-to-yyy",
fluid: ""
}, {
default: he(() => [
g(Mr, {
modelValue: e.queryType,
"onUpdate:modelValue": t[0] || (t[0] = (l) => e.queryType = l),
inline: "",
onChange: e.triggerFormChange,
color: "primary"
}, {
default: he(() => [
g(ba, {
label: "From Compound to MeSH",
value: "comp_to_mesh"
}),
g(ba, {
label: "From MeSH to Compound",
value: "mesh_to_comp"
})
]),
_: 1
}, 8, ["modelValue", "onChange"])
]),
_: 1
}),
e.switchShowAdvancedSetting ? ct("", !0) : (qe(), eu(ka, {
key: 0,
id: "switch-show-advanced-settings",
fluid: ""
}, {
default: he(() => [
g(Ug, {
modelValue: e.switchShowAdvancedSetting,
"onUpdate:modelValue": t[1] || (t[1] = (l) => e.switchShowAdvancedSetting = l),
inset: "",
label: "Advanced settings",
color: "primary"
}, null, 8, ["modelValue"])
]),
_: 1
})),
g(ka, {
id: "panel-advanced-settings",
class: K({ hidden: !e.switchShowAdvancedSetting }),
fluid: ""
}, {
default: he(() => [
g(rl, null, {
default: he(() => [
g(yn, {
cols: "auto",
md: "auto"
}, {
default: he(() => t[9] || (t[9] = [
p("div", { class: "forum-search-radio-label" }, [
p("strong", { class: "primary--text" }, "Compounds:")
], -1)
])),
_: 1,
__: [9]
}),
g(yn, {
cols: "auto",
md: "auto"
}, {
default: he(() => [
g(Mr, {
modelValue: e.searchType,
"onUpdate:modelValue": t[2] || (t[2] = (l) => e.searchType = l),
inline: "",
onChange: e.triggerFormChange,
color: "primary"
}, {
default: he(() => [
g(ba, {
label: "PubChem ID",
value: "pubchem_id"
})
]),
_: 1
}, 8, ["modelValue", "onChange"])
]),
_: 1
}),
g(yn, {
cols: "auto",
md: "auto"
}, {
default: he(() => t[10] || (t[10] = [
p("div", { class: "forum-search-radio-label" }, [
p("strong", { class: "primary--text" }, " | ")
], -1)
])),
_: 1,
__: [10]
}),
g(yn, {
cols: "auto",
md: "auto"
}, {
default: he(() => t[11] || (t[11] = [
p("div", { class: "forum-search-radio-label" }, [
p("strong", { class: "primary--text" }, " Chemical groups:")
], -1)
])),
_: 1,
__: [11]
}),
g(yn, {
cols: "auto",
md: "auto"
}, {
default: he(() => [
g(Mr, {
modelValue: e.searchType,
"onUpdate:modelValue": t[3] || (t[3] = (l) => e.searchType = l),
inline: "",
onChange: e.triggerFormChange,
color: "primary"
}, {
default: he(() => [
g(ba, { value: "chebi_id" }, {
label: he(() => t[12] || (t[12] = [
p("div", null, "ChEBI ID ", -1)
])),
_: 1
}),
g(ba, {
label: "ChemOnt ID",
value: "chemont_id"
})
]),
_: 1
}, 8, ["modelValue", "onChange"])
]),
_: 1
})
]),
_: 1
})
]),
_: 1
}, 8, ["class"]),
g(ka, { fluid: "" }, {
default: he(() => [
g(rl, null, {
default: he(() => [
g(yn, {
cols: "6",
md: "6"
}, {
default: he(() => [
g(Cg, {
clearable: "",
density: "compact",
"hide-details": "auto",
placeholder: "enter your query",
modelValue: e.searchQueryItem,
"onUpdate:modelValue": t[4] || (t[4] = (l) => e.searchQueryItem = l),
"append-icon": "fas fa-search",
"onClick:append": e.launchQuery,
items: e.searchQueryItems,
loading: e.searchQueryLoading,
"no-data-text": e.searchQueryNoData,
search: e.searchQueryItemText,
"onUpdate:search": e.triggerSearchQueryUpdate,
"onUpdate:menu": e.triggerSearchMenu,
"return-object": "",
"no-filter": "",
onKeyup: zf(e.launchQuery, ["enter"])
}, {
label: he(() => [
g(Ve, {
icon: "fas fa-search",
style: { "vertical-align": "middle" }
}),
Fe(" Search " + Te(e.labelTarget) + " using a " + Te(e.labelSource), 1)
]),
item: he(({ item: l, props: i }) => [
g(Nn, j(i, {
title: l?.raw?.name,
subtitle: l?.raw?.id
}), null, 16, ["title", "subtitle"])
]),
selection: he(({ item: { raw: l } }) => [
l.name != "" ? (qe(), nt("p", Hg, [
p("span", Yg, Te(l.name), 1),
p("small", jg, [
p("span", Wg, "(" + Te(l.id) + ")", 1),
e.searchQueryItemsVisible ? (qe(), nt("span", Gg, "|")) : ct("", !0)
])
])) : ct("", !0)
]),
_: 1
}, 8, ["modelValue", "onClick:append", "items", "loading", "no-data-text", "search", "onUpdate:search", "onUpdate:menu", "onKeyup"])
]),
_: 1
})
]),
_: 1
})
]),
_: 1
}),
p("div", Qg, [
g(Ve, { icon: "fas fa-info-circle" }),
t[13] || (t[13] = Fe(" For your first experience with the FORUM portal, please find some examples from ")),
t[14] || (t[14] = p("a", {
href: "https://pubchem.ncbi.nlm.nih.gov/",
target: "_blank"
}, "PubChem", -1)),
t[15] || (t[15] = Fe(" (")),
p("a", {
class: "exemple",
onClick: t[5] || (t[5] = (l) => e.launchExample("comp_to_mesh", "pubchem_id", "Pyruvic acid", "1060"))
}, "1060 - Pyruvic acid"),
t[16] || (t[16] = Fe("), ")),
t[17] || (t[17] = p("a", {
href: "https://www.ebi.ac.uk/ols/ontologies/chebi",
target: "_blank"
}, " ChEBI", -1)),
t[18] || (t[18] = Fe(" (")),
p("a", {
class: "exemple",
onClick: t[6] || (t[6] = (l) => e.launchExample("comp_to_mesh", "chebi_id", "Xanthenes", "CHEBI:38835"))
}, "CHEBI:38835 - Xanthenes"),
t[19] || (t[19] = Fe("), ")),
t[20] || (t[20] = p("a", {
href: "http://classyfire.wishartlab.com/tax_nodes",
target: "_blank"
}, "ChemOnt", -1)),
t[21] || (t[21] = Fe(" (")),
p("a", {
class: "exemple",
onClick: t[7] || (t[7] = (l) => e.launchExample("comp_to_mesh", "chemont_id", "Thienopyridines", "C0000344"))
}, "C0000344 - Thienopyridines"),
t[22] || (t[22] = Fe("), and ")),
t[23] || (t[23] = p("a", {
href: "https://meshb.nlm.nih.gov/search",
target: "_blank"
}, "MeSH", -1)),
t[24] || (t[24] = Fe(" (")),
p("a", {
class: "exemple",
onClick: t[8] || (t[8] = (l) => e.launchExample("mesh_to_comp", "pubchem_id", "Diabetes Mellitus", "D003920"))
}, "D003920 - Diabetes Mellitus"),
t[25] || (t[25] = Fe("). "))
])
])
]),
_: 1
})
]);
}
const Kg = /* @__PURE__ */ Ol(Vm, [["render", qg]]);
var ll = function(e, t) {
return ll = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, a) {
n.__proto__ = a;
} || function(n, a) {
for (var s in a) Object.prototype.hasOwnProperty.call(a, s) && (n[s] = a[s]);
}, ll(e, t);
};
function Ja(e, t) {
if (typeof t != "function" && t !== null)
throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
ll(e, t);
function n() {
this.constructor = e;
}
e.prototype = t === null ? Object.create(t) : (n.prototype = t.prototype, new n());
}
function il(e) {
var t = typeof Symbol == "function" && Symbol.iterator, n = t && e[t], a = 0;
if (n) return n.call(e);
if (e && typeof e.length == "number") return {
next: function() {
return e && a >= e.length && (e = void 0), { value: e && e[a++], done: !e };
}
};
throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function ol(e, t) {
var n = typeof Symbol == "function" && e[Symbol.iterator];
if (!n) return e;
var a = n.call(e), s, r = [], l;
try {
for (; (t === void 0 || t-- > 0) && !(s = a.next()).done; ) r.push(s.value);
} catch (i) {
l = { error: i };
} finally {
try {
s && !s.done && (n = a.return) && n.call(a);
} finally {
if (l) throw l.error;
}
}
return r;
}
function ul(e, t, n) {
if (n || arguments.length === 2) for (var a = 0, s = t.length, r; a < s; a++)
(r || !(a in t)) && (r || (r = Array.prototype.slice.call(t, 0, a)), r[a] = t[a]);
return e.concat(r || Array.prototype.slice.call(t));
}
function Ut(e) {
return typeof e == "function";
}
function ad(e) {
var t = function(a) {
Error.call(a), a.stack = new Error().stack;
}, n = e(t);
return n.prototype = Object.create(Error.prototype), n.prototype.constructor = n, n;
}
var Rr = ad(function(e) {
return function(n) {
e(this), this.message = n ? n.length + ` errors occurred during unsubscription:
` + n.map(function(a, s) {
return s + 1 + ") " + a.toString();
}).join(`
`) : "", this.name = "UnsubscriptionError", this.errors = n;
};
});
function cl(e, t) {
if (e) {
var n = e.indexOf(t);
0 <= n && e.splice(n, 1);
}
}
var nr = function() {
function e(t) {
this.initialTeardown = t, this.closed = !1, this._parentage = null, this._finalizers = null;
}
return e.prototype.unsubscribe = function() {
var t, n, a, s, r;
if (!this.closed) {
this.closed = !0;
var l = this._parentage;
if (l)
if (this._parentage = null, Array.isArray(l))
try {
for (var i = il(l), o = i.next(); !o.done; o = i.next()) {
var u = o.value;
u.remove(this);
}
} catch (y) {
t = { error: y };
} finally {
try {
o && !o.done && (n = i.return) && n.call(i);
} finally {
if (t) throw t.error;
}
}
else
l.remove(this);
var c = this.initialTeardown;
if (Ut(c))
try {
c();
} catch (y) {
r = y instanceof Rr ? y.errors : [y];
}
var d = this._finalizers;
if (d) {
this._finalizers = null;
try {
for (var h = il(d), v = h.next(); !v.done; v = h.next()) {
var f = v.value;
try {
Do(f);
} catch (y) {
r = r ?? [], y instanceof Rr ? r = ul(ul([], ol(r)), ol(y.errors)) : r.push(y);
}
}
} catch (y) {
a = { error: y };
} finally {
try {
v && !v.done && (s = h.return) && s.call(h);
} finally {
if (a) throw a.error;
}
}
}
if (r)
throw new Rr(r);
}
}, e.prototype.add = function(t) {
var n;
if (t && t !== this)
if (this.closed)
Do(t);
else {
if (t instanceof e) {
if (t.closed || t._hasParent(this))
return;
t._addParent(this);
}
(this._finalizers = (n = this._finalizers) !== null && n !== void 0 ? n : []).push(t);
}
}, e.prototype._hasParent = function(t) {
var n = this._parentage;
return n === t || Array.isArray(n) && n.includes(t);
}, e.prototype._addParent = function(t) {
var n = this._parentage;
this._parentage = Array.isArray(n) ? (n.push(t), n) : n ? [n, t] : t;
}, e.prototype._removeParent = function(t) {
var n = this._parentage;
n === t ? this._parentage = null : Array.isArray(n) && cl(n, t);
}, e.prototype.remove = function(t) {
var n = this._finalizers;
n && cl(n, t), t instanceof e && t._removeParent(this);
}, e.EMPTY = function() {
var t = new e();
return t.closed = !0, t;
}(), e;
}(), sd = nr.EMPTY;
function rd(e) {
return e instanceof nr || e && "closed" in e && Ut(e.remove) && Ut(e.add) && Ut(e.unsubscribe);
}
function Do(e) {
Ut(e) ? e() : e.unsubscribe();
}
var Jg = {
Promise: void 0
}, Zg = {
setTimeout: function(e, t) {
for (var n = [], a = 2; a < arguments.length; a++)
n[a - 2] = arguments[a];
return setTimeout.apply(void 0, ul([e, t], ol(n)));
},
clearTimeout: function(e) {
return clearTimeout(e);
},
delegate: void 0
};
function Xg(e) {
Zg.setTimeout(function() {
throw e;
});
}
function Mo() {
}
function gs(e) {
e();
}
var si = function(e) {
Ja(t, e);
function t(n) {
var a = e.call(this) || this;
return a.isStopped = !1, n ? (a.destination = n, rd(n) && n.add(a)) : a.destination = nb, a;
}
return t.create = function(n, a, s) {
return new dl(n, a, s);
}, t.prototype.next = function(n) {
this.isStopped || this._next(n);
}, t.prototype.error = function(n) {
this.isStopped || (this.isStopped = !0, this._error(n));
}, t.prototype.complete = function() {
this.isStopped || (this.isStopped = !0, this._complete());
}, t.prototype.unsubscribe = function() {
this.closed || (this.isStopped = !0, e.prototype.unsubscribe.call(this), this.destination = null);
}, t.prototype._next = function(n) {
this.destination.next(n);
}, t.prototype._error = function(n) {
try {
this.destination.error(n);
} finally {
this.unsubscribe();
}
}, t.prototype._complete = function() {
try {
this.destination.complete();
} finally {
this.unsubscribe();
}
}, t;
}(nr), eb = function() {
function e(t) {
this.partialObserver = t;
}
return e.prototype.next = function(t) {
var n = this.partialObserver;
if (n.next)
try {
n.next(t);
} catch (a) {
cs(a);
}
}, e.prototype.error = function(t) {
var n = this.partialObserver;
if (n.error)
try {
n.error(t);
} catch (a) {
cs(a);
}
else
cs(t);
}, e.prototype.complete = function() {
var t = this.partialObserver;
if (t.complete)
try {
t.complete();
} catch (n) {
cs(n);
}
}, e;
}(), dl = function(e) {
Ja(t, e);
function t(n, a, s) {
var r = e.call(this) || this, l;
return Ut(n) || !n ? l = {
next: n ?? void 0,
error: a ?? void 0,
complete: s ?? void 0
} : l = n, r.destination = new eb(l), r;
}
return t;
}(si);
function cs(e) {
Xg(e);
}
function tb(e) {
throw e;
}
var nb = {
closed: !0,
next: Mo,
error: tb,
complete: Mo
}, ab = function() {
return typeof Symbol == "function" && Symbol.observable || "@@observable";
}();
function sb(e) {
return e;
}
function rb(e) {
return e.length === 0 ? sb : e.length === 1 ? e[0] : function(n) {
return e.reduce(function(a, s) {
return s(a);
}, n);
};
}
var Ro = function() {
function e(t) {
t && (this._subscribe = t);
}
return e.prototype.lift = function(t) {
var n = new e();
return n.source = this, n.operator = t, n;
}, e.prototype.subscribe = function(t, n, a) {
var s = this, r = ib(t) ? t : new dl(t, n, a);
return gs(function() {
var l = s, i = l.operator, o = l.source;
r.add(i ? i.call(r, o) : o ? s._subscribe(r) : s._trySubscribe(r));
}), r;
}, e.prototype._trySubscribe = function(t) {
try {
return this._subscribe(t);
} catch (n) {
t.error(n);
}
}, e.prototype.forEach = function(t, n) {
var a = this;
return n = Fo(n), new n(function(s, r) {
var l = new dl({
next: function(i) {
try {
t(i);
} catch (o) {
r(o), l.unsubscribe();
}
},
error: r,
complete: s
});
a.subscribe(l);
});
}, e.prototype._subscribe = function(t) {
var n;
return (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t);
}, e.prototype[ab] = function() {
return this;
}, e.prototype.pipe = function() {
for (var t = [], n = 0; n < arguments.length; n++)
t[n] = arguments[n];
return rb(t)(this);
}, e.prototype.toPromise = function(t) {
var n = this;
return t = Fo(t), new t(function(a, s) {
var r;
n.subscribe(function(l) {
return r = l;
}, function(l) {
return s(l);
}, function() {
return a(r);
});
});
}, e.create = function(t) {
return new e(t);
}, e;
}();
function Fo(e) {
var t;
return (t = e ?? Jg.Promise) !== null && t !== void 0 ? t : Promise;
}
function lb(e) {
return e && Ut(e.next) && Ut(e.error) && Ut(e.complete);
}
function ib(e) {
return e && e instanceof si || lb(e) && rd(e);
}
function ob(e) {
return Ut(e?.lift);
}
function ld(e) {
return function(t) {
if (ob(t))
return t.lift(function(n) {
try {
return e(n, this);
} catch (a) {
this.error(a);
}
});
throw new TypeError("Unable to lift unknown Observable type");
};
}
function id(e, t, n, a, s) {
return new ub(e, t, n, a, s);
}
var ub = function(e) {
Ja(t, e);
function t(n, a, s, r, l, i) {
var o = e.call(this, n) || this;
return o.onFinalize = l, o.shouldUnsubscribe = i, o._next = a ? function(u) {
try {
a(u);
} catch (c) {
n.error(c);
}
} : e.prototype._next, o._error = r ? function(u) {
try {
r(u);
} catch (c) {
n.error(c);
} finally {
this.unsubscribe();
}
} : e.prototype._error, o._complete = s ? function() {
try {
s();
} catch (u) {
n.error(u);
} finally {
this.unsubscribe();
}
} : e.prototype._complete, o;
}
return t.prototype.unsubscribe = function() {
var n;
if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
var a = this.closed;
e.prototype.unsubscribe.call(this), !a && ((n = this.onFinalize) === null || n === void 0 || n.call(this));
}
}, t;
}(si), cb = ad(function(e) {
return function() {
e(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed";
};
}), od = function(e) {
Ja(t, e);
function t() {
var n = e.call(this) || this;
return n.closed = !1, n.currentObservers = null, n.observers = [], n.isStopped = !1, n.hasError = !1, n.thrownError = null, n;
}
return t.prototype.lift = function(n) {
var a = new Lo(this, this);
return a.operator = n, a;
}, t.prototype._throwIfClosed = function() {
if (this.closed)
throw new cb();
}, t.prototype.next = function(n) {
var a = this;
gs(function() {
var s, r;
if (a._throwIfClosed(), !a.isStopped) {
a.currentObservers || (a.currentObservers = Array.from(a.observers));
try {
for (var l = il(a.currentObservers), i = l.next(); !i.done; i = l.next()) {
var o = i.value;
o.next(n);
}
} catch (u) {
s = { error: u };
} finally {
try {
i && !i.done && (r = l.return) && r.call(l);
} finally {
if (s) throw s.error;
}
}
}
});
}, t.prototype.error = function(n) {
var a = this;
gs(function() {
if (a._throwIfClosed(), !a.isStopped) {
a.hasError = a.isStopped = !0, a.thrownError = n;
for (var s = a.observers; s.length; )
s.shift().error(n);
}
});
}, t.prototype.complete = function() {
var n = this;
gs(function() {
if (n._throwIfClosed(), !n.isStopped) {
n.isStopped = !0;
for (var a = n.observers; a.length; )
a.shift().complete();
}
});
}, t.prototype.unsubscribe = function() {
this.isStopped = this.closed = !0, this.observers = this.currentObservers = null;
}, Object.defineProperty(t.prototype, "observed", {
get: function() {
var n;
return ((n = this.observers) === null || n === void 0 ? void 0 : n.length) > 0;
},
enumerable: !1,
configurable: !0
}), t.prototype._trySubscribe = function(n) {
return this._throwIfClosed(), e.prototype._trySubscribe.call(this, n);
}, t.prototype._subscribe = function(n) {
return this._throwIfClosed(), this._checkFinalizedStatuses(n), this._innerSubscribe(n);
}, t.prototype._innerSubscribe = function(n) {
var a = this, s = this, r = s.hasError, l = s.isStopped, i = s.observers;
return r || l ? sd : (this.currentObservers = null, i.push(n), new nr(function() {
a.currentObservers = null, cl(i, n);
}));
}, t.prototype._checkFinalizedStatuses = function(n) {
var a = this, s = a.hasError, r = a.thrownError, l = a.isStopped;
s ? n.error(r) : l && n.complete();
}, t.prototype.asObservable = function() {
var n = new Ro();
return n.source = this, n;
}, t.create = function(n, a) {
return new Lo(n, a);
}, t;
}(Ro), Lo = function(e) {
Ja(t, e);
function t(n, a) {
var s = e.call(this) || this;
return s.destination = n, s.source = a, s;
}
return t.prototype.next = function(n) {
var a, s;
(s = (a = this.destination) === null || a === void 0 ? void 0 : a.next) === null || s === void 0 || s.call(a, n);
}, t.prototype.error = function(n) {
var a, s;
(s = (a = this.destination) === null || a === void 0 ? void 0 : a.error) === null || s === void 0 || s.call(a, n);
}, t.prototype.complete = function() {
var n, a;
(a = (n = this.destination) === null || n === void 0 ? void 0 : n.complete) === null || a === void 0 || a.call(n);
}, t.prototype._subscribe = function(n) {
var a, s;
return (s = (a = this.source) === null || a === void 0 ? void 0 : a.subscribe(n)) !== null && s !== void 0 ? s : sd;
}, t;
}(od);
function db(e, t) {
return ld(function(n, a) {
var s = 0;
n.subscribe(id(a, function(r) {
a.next(e.call(t, r, s++));
}));
});
}
function fb(e, t) {
return ld(function(n, a) {
var s = 0;
n.subscribe(id(a, function(r) {
return e.call(t, r, s++) && a.next(r);
}));
});
}
class No {
constructor(t, n) {
Ie(this, "name");
Ie(this, "value");
this.name = t, this.value = n;
}
}
const hb = "https://cdn.jsdelivr.net/gh/p2m2/discovery@0.3.2/dist/discovery-web.min.js";
class Ma {
constructor() {
//extends Vue
Ie(this, "_subject", new od());
Ie(this, "url", "https://forum.semantic-metabolomics.fr/sparql/");
Ie(this, "mimetype", "application/sparql-query");
Ie(this, "method", "POST");
Ie(this, "cache", !0);
Ie(this, "logLevel", "info");
Ie(this, "batchProcessing", 80);
Ie(this, "pageSize", 10);
Ie(this, "discovery", null);
}
static buildDiscoveryObject() {
return {
SWDiscoveryConfiguration: window.SWDiscoveryConfiguration,
SWDiscovery: window.SWDiscovery,
SWTransaction: window.SWTransaction,
URI: window.URI,
Literal: window.Literal,
PropertyPath: window.PropertyPath
};
}
/**
*
* @returns return Discovery lib as a promise
*/
loadDiscovery() {
const t = this;
return new Promise((n) => {
if (t.discovery != null) {
n(t.discovery);
return;
}
const a = document.createElement("script");
a.type = "text/javascript", a.src = hb, a.readyState ? a.onreadystatechange = () => {
(a.readyState === "loaded" || a.readyState === "complete") && (a.onreadystatechange = null, n(Ma.buildDiscoveryObject()));
} : a.onload = () => {
n(Ma.buildDiscoveryObject());
}, a.onerror = (s) => {
console.error("error", s);
}, document.getElementsByTagName("head")[0].appendChild(a);
});
}
emit(t) {
this._subject.next(t);
}
on(t, n) {
return this._subject.pipe(
fb((a) => a.name === t),
db((a) => a.value)
).subscribe(n);
}
getConfiguration() {
return `{
"sources" : [{
"id" : "__id__",
"url" : "` + this.url + `",
"method" : "` + this.method + `",
"mimetype" : "` + this.mimetype + `"}],
"settings" : {
"cache" : ` + this.cache + `,
"logLevel" : "` + this.logLevel + `",
"sizeBatchProcessing" : ` + this.batchProcessing + `,
"pageSize" : ` + this.pageSize + `
}
}`;
}
/**
*
* @param cid : Pubchem identifier
* @param meshid : meshid : identifiers
* @returns number of layzy pages/listOfLazyPage
*/
async getLazyPagesPMIDs(t, n, a = this.getConfiguration()) {
const r = await this.loadDiscovery(), l = r.URI, i = r.PropertyPath, o = r.Literal, u = r.SWDiscoveryConfiguration, c = r.SWDiscovery;
r.SWTransaction;
const d = t && t.startsWith("CID") ? t : "CID" + t, h = u.setConfigString(a);
return new Promise((v, f) => {
let y;
a.includes(this.url) ? y = c(h).directive(
'DEFINE input:inference "schema-inference-rules"'
) : y = c(h), y.prefix("dcterm", "http://purl.org/dc/terms/").prefix("cid", "http://rdf.ncbi.nlm.nih.gov/pubchem/compound/").prefix("cito", "http://purl.org/spar/cito/").prefix("meshv", "http://id.nlm.nih.gov/mesh/vocab#").prefix("mesh", "http://id.nlm.nih.gov/mesh/").prefix("fabio", "http://purl.org/spar/fabio/").something("cid").set(l("cid:" + d)).isSubjectOf(l("cito:isDiscussedBy"), "pmid").datatype(l("http://purl.org/dc/terms/title"), "title").datatype(l("http://purl.org/dc/terms/date"), "date").isSubjectOf(
i(
"fabio:hasSubjectTerm|fabio:hasSubjectTerm/meshv:hasDescriptor"
),
"mesh_ini"
).isSubjectOf(
i(
"meshv:treeNumber|meshv:treeNumber/meshv:parentTreeNumber"
)
).isObjectOf(l("meshv:treeNumber")).set(l("mesh:" + n)).focus("mesh_ini").isA(l("meshv:TopicalDescriptor")).focus("mesh_ini").isSubjectOf("meshv:active").set(o(1)).focus("pmid").isSubjectOf("dcterm:date", "dateToOrdered").selectDistinctByPage("pmid", "title", "date").then((m) => {
const b = Object.values(m)[0], S = Object.values(
m
)[1];
v([b, S]);
}).catch((m) => {
f(m);
});
});
}
async getPMIDs(t) {
const n = this;
(await n.loadDiscovery()).SWTransaction;
const s = t;
return new Promise((r, l) => {
s.distinct().orderByDesc("dateToOrdered").commit().progression((i) => {
n.emit(new No("progression", i));
}).requestEvent((i) => {
n.emit(new No("requestEvent", i));
}).raw().then((i) => {
console.log("response", JSON.stringify(i));
const o = [];
if (i.results && i.results.bindings)
for (let u = 0; u < i.results.bindings.length; u++) {
const c = i.results.bindings[u].pmid.value, d = c.split("/").pop(), h = i.results.datatypes.title[c][0].value, v = i.results.datatypes.date[c][0].value;
console.log(c + "-->" + h + "," + v), o.push({
PMID: d,
urlPMID: c,
Title: h,
Date: v
});
}
r(o);
}).catch((i) => {
l(i);
});
});
}
}
function Bo() {
return {
PMID: "",
Title: "",
Date: "",
urlPMID: ""
};
}
const mb = Ls({
name: "MthForumLiteratureDisplay",
props: ["searchType", "searchId", "itemId"],
watch: {
itemId: function(e, t) {
console.debug("Prop changed: ", e, " | was: ", t), this.literatureItemId = e, this.discoveryService = new Ma(), this.progression = 0, this.laziestPages = [], this.pagesLength = 0, this.pageSize = 10, this.currentPage = 0, this.headers = [], this.dataSource = [], this.display_loading_div = !0, this.display_results_div = !1, this.initDataTableHeaders(), this.initDatatableContent();
}
},
setup(e) {
const t = R(!1), n = R(!1), a = R(new Ma()), s = R(0), r = [], l = [], i = R(0), o = R(10), u = R(0), c = e.searchType, d = e.searchId, h = e.itemId, v = R([]), f = R([]);
return {
// hide / show elelements
display_loading_div: t,
display_results_div: n,
// litterature query config.
literatureSearchType: c,
literatureSearchId: d,
literatureItemId: h,
// discovery config.
discoveryService: a,
progression: s,
laziestPages: r,
pagesLength: i,
listOfPMIDs: l,
pageSize: o,
currentPage: u,
// data-table
headers: v,
dataSource: f,
// footer
footerProps: {
firstIcon: "fas fa-angle-double-left",
lastIcon: "fas fa-angle-double-right",
prevIcon: "fas fa-chevron-left",
nextIcon: "fas fa-chevron-right"
}
};
},
mounted() {
this.display_loading_div = !0, this.display_results_div = !1, this.initDataTableHeaders(), this.initDatatableContent();
},
methods: {
/**
* Init data-table content
*/
initDatatableContent() {
this.discoveryService.on(
"progression",
(e) => this.progression = 100 * e
), this.discoveryService.on(
"requestEvent",
(e) => console.log(e)
), this.getAllPMIDs();
},
/** init all PMIDs */
getAllPMIDs() {
this.discoveryService.getLazyPagesPMIDs(this.literatureSearchId, this.literatureItemId).then((e) => {
const t = e[0], n = { ...e[1] }, a = [];
for (const s in n)
a.push(n[s]);
this.laziestPages = a, this.listOfPMIDs = new Array(t).fill(Bo()), this.laziestPages && this.laziestPages.length > 0 ? (this.currentPage >= this.laziestPages.length && (this.currentPage = 0), this.laziestPages[this.currentPage], this.getPMIDs(this.laziestPages[this.currentPage])) : (this.currentPage = 0, this.pageSize = 0), this.display_loading_div = !1;
}).catch((e) => {
console.error(e);
});
},
/** display a set of PMIDs */
getPMIDs(e) {
this.discoveryService.getPMIDs(e).then((t) => {
const n = this.currentPage * this.pageSize;
for (let a = 0; a < this.pageSize; a++)
this.listOfPMIDs[n + a] = t[a];
this.afterViewInit();
}).catch((t) => {
console.error(t);
});
},
afterViewInit() {
this.display_loading_div = !1, this.display_results_div = !0, this.laziestPages && this.currentPage == this.laziestPages.length - 1 ? this.dataSource = //new MatTableDataSource(
this.listOfPMIDs.filter((e) => e && e.PMID) : this.dataSource = //new MatTableDataSource(
this.listOfPMIDs.map((e) => e || Bo());
},
/**
* Method called when a "pagination event" occure on "litterature data-table"
* @param e the triggered event
*/
handlePage(e) {
this.display_loading_div = !0, console.log("e", e), e.itemsPerPage != this.pageSize && (this.discoveryService.pageSize = e.itemsPerPage, this.pageSize = this.discoveryService.pageSize, this.getAllPMIDs()), this.currentPage = e.page, this.laziestPages && this.laziestPages.length > 0 && this.getPMIDs(this.laziestPages[this.currentPage]);
},
/**
* Init data-table headers
*/
initDataTableHeaders() {
this.headers = [
{
title: "PMID",
align: "start",
key: "PMID",
sortable: !1
},
{
title: "Title",
key: "Title",
sortable: !1
},
{ title: "Date", key: "Date", sortable: !1 }
];
}
}
}), ud = M({
baseColor: String,
divided: Boolean,
...dn(),
...de(),
...Ct(),
...Pn(),
...kt(),
...Le(),
...Ye(),
...fn()
}, "VBtnGroup"), $o = Q()({
name: "VBtnGroup",
props: ud(),
setup(e, t) {
let {
slots: n
} = t;
const {
themeClasses: a
} = Ze(e), {
densityClasses: s
} = Wt(e), {
borderClasses: r
} = Cn(e), {
elevationClasses: l
} = Un(e), {
roundedClasses: i
} = Dt(e);
zt({
VBtn: {
height: "auto",
baseColor: E(() => e.baseColor),
color: E(() => e.color),
density: E(() => e.density),
flat: !0,
variant: E(() => e.variant)
}
}), ee(() => g(e.tag, {
class: K(["v-btn-group", {
"v-btn-group--divided": e.divided
}, a.value, r.value, s.value, l.value, i.value, e.class]),
style: Z(e.style)
}, n));
}
}), cd = Symbol.for("vuetify:v-btn-toggle"), vb = M({
...ud(),
...jl()
}, "VBtnToggle");
Q()({
name: "VBtnToggle",
props: vb(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, t) {
let {
slots: n
} = t;
const {
isSelected: a,
next: s,
prev: r,
select: l,
selected: i
} = Wl(e, cd);
return ee(() => {
const o = $o.filterProps(e);
return g($o, j({
class: ["v-btn-toggle", e.class]
}, o, {
style: e.style
}), {
default: () => [n.default?.({
isSelected: a,
next: s,
prev: r,
select: l,
selected: i
})]
});
}), {
next: s,
prev: r,
select: l
};
}
});
const yb = ["static", "relative", "fixed", "absolute", "sticky"], dd = M({
position: {
type: String,
validator: (
/* istanbul ignore next */
(e) => yb.includes(e)
)
}
}, "position");
function fd(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
return {
positionClasses: E(() => e.position ? `${t}--${e.position}` : void 0)
};
}
function gb(e, t) {
re(() => e.isActive?.value, (n) => {
e.isLink.value && n && t && Ge(() => {
t(!0);
});
}, {
immediate: !0
});
}
const bb = M({
active: {
type: Boolean,
default: void 0
},
activeColor: String,
baseColor: String,
symbol: {
type: null,
default: cd
},
flat: Boolean,
icon: [Boolean, String, Function, Object],
prependIcon: ue,
appendIcon: ue,
block: Boolean,
readonly: Boolean,
slim: Boolean,
stacked: Boolean,
ripple: {
type: [Boolean, Object],
default: !0
},
text: {
type: [String, Number, Boolean],
default: void 0
},
...dn(),
...de(),
...Ct(),
...un(),
...Pn(),
...uc(),
...er(),
...Zl(),
...dd(),
...kt(),
...Xs(),
...ia(),
...Le({
tag: "button"
}),
...Ye(),
...fn({
variant: "elevated"
})
}, "VBtn"), Zt = Q()({
name: "VBtn",
props: bb(),
emits: {
"group:selected": (e) => !0
},
setup(e, t) {
let {
attrs: n,
slots: a
} = t;
const {
themeClasses: s
} = Ze(e), {
borderClasses: r
} = Cn(e), {
densityClasses: l
} = Wt(e), {
dimensionStyles: i
} = cn(e), {
elevationClasses: o
} = Un(e), {
loaderClasses: u
} = Ka(e), {
locationStyles: c
} = Xl(e), {
positionClasses: d
} = fd(e), {
roundedClasses: h
} = Dt(e), {
sizeClasses: v,
sizeStyles: f
} = Wa(e), y = cc(e, e.symbol, !1), m = Zs(e, n), b = _(() => e.active !== void 0 ? e.active : m.isLink.value ? m.isActive?.value : y?.isSelected.value), S = E(() => b.value ? e.activeColor ?? e.color : e.color), P = _(() => ({
color: y?.isSelected.value && (!m.isLink.value || m.isActive?.value) || !y || m.isActive?.value ? S.value ?? e.baseColor : e.baseColor,
variant: e.variant
})), {
colorClasses: I,
colorStyles: k,
variantClasses: D
} = Qa(P), V = _(() => y?.disabled.value || e.disabled), w = E(() => e.variant === "elevated" && !(e.disabled || e.flat || e.border)), T = _(() => {
if (!(e.value === void 0 || typeof e.value == "symbol"))
return Object(e.value) === e.value ? JSON.stringify(e.value, null, 0) : e.value;
});
function N($) {
V.value || m.isLink.value && ($.metaKey || $.ctrlKey || $.shiftKey || $.button !== 0 || n.target === "_blank") || (m.navigate?.($), y?.toggle());
}
return gb(m, y?.select), ee(() => {
const $ = m.isLink.value ? "a" : e.tag, B = !!(e.prependIcon || a.prepend), A = !!(e.appendIcon || a.append), U = !!(e.icon && e.icon !== !0);
return ht(g($, j({
type: $ === "a" ? void 0 : "button",
class: ["v-btn", y?.selectedClass.value, {
"v-btn--active": b.value,
"v-btn--block": e.block,
"v-btn--disabled": V.value,
"v-btn--elevated": w.value,
"v-btn--flat": e.flat,
"v-btn--icon": !!e.icon,
"v-btn--loading": e.loading,
"v-btn--readonly": e.readonly,
"v-btn--slim": e.slim,
"v-btn--stacked": e.stacked
}, s.value, r.value, I.value, l.value, o.value, u.value, d.value, h.value, v.value, D.value, e.class],
style: [k.value, i.value, c.value, f.value, e.style],
"aria-busy": e.loading ? !0 : void 0,
disabled: V.value || void 0,
tabindex: e.loading || e.readonly ? -1 : void 0,
onClick: N,
value: T.value
}, m.linkProps), {
default: () => [Ga(!0, "v-btn"), !e.icon && B && p("span", {
key: "prepend",
class: "v-btn__prepend"
}, [a.prepend ? g(Ne, {
key: "prepend-defaults",
disabled: !e.prependIcon,
defaults: {
VIcon: {
icon: e.prependIcon
}
}
}, a.prepend) : g(Ve, {
key: "prepend-icon",
icon: e.prependIcon
}, null)]), p("span", {
class: "v-btn__content",
"data-no-activator": ""
}, [!a.default && U ? g(Ve, {
key: "content-icon",
icon: e.icon
}, null) : g(Ne, {
key: "content-defaults",
disabled: !U,
defaults: {
VIcon: {
icon: e.icon
}
}
}, {
default: () => [a.default?.() ?? Te(e.text)]
})]), !e.icon && A && p("span", {
key: "append",
class: "v-btn__append"
}, [a.append ? g(Ne, {
key: "append-defaults",
disabled: !e.appendIcon,
defaults: {
VIcon: {
icon: e.appendIcon
}
}
}, a.append) : g(Ve, {
key: "append-icon",
icon: e.appendIcon
}, null)]), !!e.loading && p("span", {
key: "loader",
class: "v-btn__loader"
}, [a.loader?.() ?? g(nd, {
color: typeof e.loading == "boolean" ? void 0 : e.loading,
indeterminate: !0,
width: "2"
}, null)])]
}), [[rn, !V.value && e.ripple, "", {
center: !!e.icon
}]]);
}), {
group: y
};
}
});
function pb() {
const e = R([]);
Hf(() => e.value = []);
function t(n, a) {
e.value[a] = n;
}
return {
refs: e,
updateRef: t
};
}
const Sb = M({
activeColor: String,
start: {
type: [Number, String],
default: 1
},
modelValue: {
type: Number,
default: (e) => e.start
},
disabled: Boolean,
length: {
type: [Number, String],
default: 1,
validator: (e) => e % 1 === 0
},
totalVisible: [Number, String],
firstIcon: {
type: ue,
default: "$first"
},
prevIcon: {
type: ue,
default: "$prev"
},
nextIcon: {
type: ue,
default: "$next"
},
lastIcon: {
type: ue,
default: "$last"
},
ariaLabel: {
type: String,
default: "$vuetify.pagination.ariaLabel.root"
},
pageAriaLabel: {
type: String,
default: "$vuetify.pagination.ariaLabel.page"
},
currentPageAriaLabel: {
type: String,
default: "$vuetify.pagination.ariaLabel.currentPage"
},
firstAriaLabel: {
type: String,
default: "$vuetify.pagination.ariaLabel.first"
},
previousAriaLabel: {
type: String,
default: "$vuetify.pagination.ariaLabel.previous"
},
nextAriaLabel: {
type: String,
default: "$vuetify.pagination.ariaLabel.next"
},
lastAriaLabel: {
type: String,
default: "$vuetify.pagination.ariaLabel.last"
},
ellipsis: {
type: String,
default: "..."
},
showFirstLastPage: Boolean,
...dn(),
...de(),
...Ct(),
...Pn(),
...kt(),
...ia(),
...Le({
tag: "nav"
}),
...Ye(),
...fn({
variant: "text"
})
}, "VPagination"), Uo = Q()({
name: "VPagination",
props: Sb(),
emits: {
"update:modelValue": (e) => !0,
first: (e) => !0,
prev: (e) => !0,
next: (e) => !0,
last: (e) => !0
},
setup(e, t) {
let {
slots: n,
emit: a
} = t;
const s = ke(e, "modelValue"), {
t: r,
n: l
} = hn(), {
isRtl: i
} = Mt(), {
themeClasses: o
} = Ze(e), {
width: u
} = $n(), c = ne(-1);
zt(void 0, {
scoped: !0
});
const {
resizeRef: d
} = na((w) => {
if (!w.length) return;
const {
target: T,
contentRect: N
} = w[0], $ = T.querySelector(".v-pagination__list > *");
if (!$) return;
const B = N.width, A = $.offsetWidth + parseFloat(getComputedStyle($).marginRight) * 2;
c.value = y(B, A);
}), h = _(() => parseInt(e.length, 10)), v = _(() => parseInt(e.start, 10)), f = _(() => e.totalVisible != null ? parseInt(e.totalVisible, 10) : c.value >= 0 ? c.value : y(u.value, 58));
function y(w, T) {
const N = e.showFirstLastPage ? 5 : 3;
return Math.max(0, Math.floor(
// Round to two decimal places to avoid floating point errors
Number(((w - T * N) / T).toFixed(2))
));
}
const m = _(() => {
if (h.value <= 0 || isNaN(h.value) || h.value > Number.MAX_SAFE_INTEGER) return [];
if (f.value <= 0) return [];
if (f.value === 1) return [s.value];
if (h.value <= f.value)
return rs(h.value, v.value);
const w = f.value % 2 === 0, T = w ? f.value / 2 : Math.floor(f.value / 2), N = w ? T : T + 1, $ = h.value - T;
if (N - s.value >= 0)
return [...rs(Math.max(1, f.value - 1), v.value), e.ellipsis, h.value];
if (s.value - $ >= (w ? 1 : 0)) {
const B = f.value - 1, A = h.value - B + v.value;
return [v.value, e.ellipsis, ...rs(B, A)];
} else {
const B = Math.max(1, f.value - 2), A = B === 1 ? s.value : s.value - Math.ceil(B / 2) + v.value;
return [v.value, e.ellipsis, ...rs(B, A), e.ellipsis, h.value];
}
});
function b(w, T, N) {
w.preventDefault(), s.value = T, N && a(N, T);
}
const {
refs: S,
updateRef: P
} = pb();
zt({
VPaginationBtn: {
color: E(() => e.color),
border: E(() => e.border),
density: E(() => e.density),
size: E(() => e.size),
variant: E(() => e.variant),
rounded: E(() => e.rounded),
elevation: E(() => e.elevation)
}
});
const I = _(() => m.value.map((w, T) => {
const N = ($) => P($, T);
if (typeof w == "string")
return {
isActive: !1,
key: `ellipsis-${T}`,
page: w,
props: {
ref: N,
ellipsis: !0,
icon: !0,
disabled: !0
}
};
{
const $ = w === s.value;
return {
isActive: $,
key: w,
page: l(w),
props: {
ref: N,
ellipsis: !1,
icon: !0,
disabled: !!e.disabled || Number(e.length) < 2,
color: $ ? e.activeColor : e.color,
"aria-current": $,
"aria-label": r($ ? e.currentPageAriaLabel : e.pageAriaLabel, w),
onClick: (B) => b(B, w)
}
};
}
})), k = _(() => {
const w = !!e.disabled || s.value <= v.value, T = !!e.disabled || s.value >= v.value + h.value - 1;
return {
first: e.showFirstLastPage ? {
icon: i.value ? e.lastIcon : e.firstIcon,
onClick: (N) => b(N, v.value, "first"),
disabled: w,
"aria-label": r(e.firstAriaLabel),
"aria-disabled": w
} : void 0,
prev: {
icon: i.value ? e.nextIcon : e.prevIcon,
onClick: (N) => b(N, s.value - 1, "prev"),
disabled: w,
"aria-label": r(e.previousAriaLabel),
"aria-disabled": w
},
next: {
icon: i.value ? e.prevIcon : e.nextIcon,
onClick: (N) => b(N, s.value + 1, "next"),
disabled: T,
"aria-label": r(e.nextAriaLabel),
"aria-disabled": T
},
last: e.showFirstLastPage ? {
icon: i.value ? e.firstIcon : e.lastIcon,
onClick: (N) => b(N, v.value + h.value - 1, "last"),
disabled: T,
"aria-label": r(e.lastAriaLabel),
"aria-disabled": T
} : void 0
};
});
function D() {
const w = s.value - v.value;
S.value[w]?.$el.focus();
}
function V(w) {
w.key === Qi.left && !e.disabled && s.value > Number(e.start) ? (s.value = s.value - 1, Ge(D)) : w.key === Qi.right && !e.disabled && s.value < v.value + h.value - 1 && (s.value = s.value + 1, Ge(D));
}
return ee(() => g(e.tag, {
ref: d,
class: K(["v-pagination", o.value, e.class]),
style: Z(e.style),
role: "navigation",
"aria-label": r(e.ariaLabel),
onKeydown: V,
"data-test": "v-pagination-root"
}, {
default: () => [p("ul", {
class: "v-pagination__list"
}, [e.showFirstLastPage && p("li", {
key: "first",
class: "v-pagination__first",
"data-test": "v-pagination-first"
}, [n.first ? n.first(k.value.first) : g(Zt, j({
_as: "VPaginationBtn"
}, k.value.first), null)]), p("li", {
key: "prev",
class: "v-pagination__prev",
"data-test": "v-pagination-prev"
}, [n.prev ? n.prev(k.value.prev) : g(Zt, j({
_as: "VPaginationBtn"
}, k.value.prev), null)]), I.value.map((w, T) => p("li", {
key: w.key,
class: K(["v-pagination__item", {
"v-pagination__item--is-active": w.isActive
}]),
"data-test": "v-pagination-item"
}, [n.item ? n.item(w) : g(Zt, j({
_as: "VPaginationBtn"
}, w.props), {
default: () => [w.page]
})])), p("li", {
key: "next",
class: "v-pagination__next",
"data-test": "v-pagination-next"
}, [n.next ? n.next(k.value.next) : g(Zt, j({
_as: "VPaginationBtn"
}, k.value.next), null)]), e.showFirstLastPage && p("li", {
key: "last",
class: "v-pagination__last",
"data-test": "v-pagination-last"
}, [n.last ? n.last(k.value.last) : g(Zt, j({
_as: "VPaginationBtn"
}, k.value.last), null)])])]
})), {};
}
}), wb = M({
page: {
type: [Number, String],
default: 1
},
itemsPerPage: {
type: [Number, String],
default: 10
}
}, "DataTable-paginate"), hd = Symbol.for("vuetify:data-table-pagination");
function _b(e) {
const t = ke(e, "page", void 0, (a) => Number(a ?? 1)), n = ke(e, "itemsPerPage", void 0, (a) => Number(a ?? 10));
return {
page: t,
itemsPerPage: n
};
}
function kb(e) {
const {
page: t,
itemsPerPage: n,
itemsLength: a
} = e, s = _(() => n.value === -1 ? 0 : n.value * (t.value - 1)), r = _(() => n.value === -1 ? a.value : Math.min(a.value, s.value + n.value)), l = _(() => n.value === -1 || a.value === 0 ? 1 : Math.ceil(a.value / n.value));
re([t, l], () => {
t.value > l.value && (t.value = l.value);
});
function i(h) {
n.value = h, t.value = 1;
}
function o() {
t.value = bt(t.value + 1, 1, l.value);
}
function u() {
t.value = bt(t.value - 1, 1, l.value);
}
function c(h) {
t.value = bt(h, 1, l.value);
}
const d = {
page: t,
itemsPerPage: n,
startIndex: s,
stopIndex: r,
pageCount: l,
itemsLength: a,
nextPage: o,
prevPage: u,
setPage: c,
setItemsPerPage: i
};
return We(hd, d), d;
}
function Cb() {
const e = De(hd);
if (!e) throw new Error("Missing pagination!");
return e;
}
function Pb(e) {
const t = Ue("usePaginatedItems"), {
items: n,
startIndex: a,
stopIndex: s,
itemsPerPage: r
} = e, l = _(() => r.value <= 0 ? n.value : n.value.slice(a.value, s.value));
return re(l, (i) => {
t.emit("update:currentItems", i);
}, {
immediate: !0
}), {
paginatedItems: l
};
}
const md = M({
prevIcon: {
type: ue,
default: "$prev"
},
nextIcon: {
type: ue,
default: "$next"
},
firstIcon: {
type: ue,
default: "$first"
},
lastIcon: {
type: ue,
default: "$last"
},
itemsPerPageText: {
type: String,
default: "$vuetify.dataFooter.itemsPerPageText"
},
pageText: {
type: String,
default: "$vuetify.dataFooter.pageText"
},
firstPageLabel: {
type: String,
default: "$vuetify.dataFooter.firstPage"
},
prevPageLabel: {
type: String,
default: "$vuetify.dataFooter.prevPage"
},
nextPageLabel: {
type: String,
default: "$vuetify.dataFooter.nextPage"
},
lastPageLabel: {
type: String,
default: "$vuetify.dataFooter.lastPage"
},
itemsPerPageOptions: {
type: Array,
default: () => [{
value: 10,
title: "10"
}, {
value: 25,
title: "25"
}, {
value: 50,
title: "50"
}, {
value: 100,
title: "100"
}, {
value: -1,
title: "$vuetify.dataFooter.itemsPerPageAll"
}]
},
showCurrentPage: Boolean
}, "VDataTableFooter"), zo = Q()({
name: "VDataTableFooter",
props: md(),
setup(e, t) {
let {
slots: n
} = t;
const {
t: a
} = hn(), {
page: s,
pageCount: r,
startIndex: l,
stopIndex: i,
itemsLength: o,
itemsPerPage: u,
setItemsPerPage: c
} = Cb(), d = _(() => e.itemsPerPageOptions.map((h) => typeof h == "number" ? {
value: h,
title: h === -1 ? a("$vuetify.dataFooter.itemsPerPageAll") : String(h)
} : {
...h,
title: isNaN(Number(h.title)) ? a(h.title) : h.title
}));
return ee(() => {
const h = Uo.filterProps(e);
return p("div", {
class: "v-data-table-footer"
}, [n.prepend?.(), p("div", {
class: "v-data-table-footer__items-per-page"
}, [p("span", null, [a(e.itemsPerPageText)]), g(Hc, {
items: d.value,
modelValue: u.value,
"onUpdate:modelValue": (v) => c(Number(v)),
density: "compact",
variant: "outlined",
"hide-details": !0
}, null)]), p("div", {
class: "v-data-table-footer__info"
}, [p("div", null, [a(e.pageText, o.value ? l.value + 1 : 0, i.value, o.value)])]), p("div", {
class: "v-data-table-footer__pagination"
}, [g(Uo, j({
modelValue: s.value,
"onUpdate:modelValue": (v) => s.value = v,
density: "comfortable",
"first-aria-label": e.firstPageLabel,
"last-aria-label": e.lastPageLabel,
length: r.value,
"next-aria-label": e.nextPageLabel,
"previous-aria-label": e.prevPageLabel,
rounded: !0,
"show-first-last-page": !0,
"total-visible": e.showCurrentPage ? 1 : 0,
variant: "plain"
}, h), null)])]);
}), {};
}
}), Es = iv({
align: {
type: String,
default: "start"
},
fixed: Boolean,
fixedOffset: [Number, String],
height: [Number, String],
lastFixed: Boolean,
noPadding: Boolean,
tag: String,
width: [Number, String],
maxWidth: [Number, String],
nowrap: Boolean
}, (e, t) => {
let {
slots: n
} = t;
const a = e.tag ?? "td";
return g(a, {
class: K(["v-data-table__td", {
"v-data-table-column--fixed": e.fixed,
"v-data-table-column--last-fixed": e.lastFixed,
"v-data-table-column--no-padding": e.noPadding,
"v-data-table-column--nowrap": e.nowrap
}, `v-data-table-column--align-${e.align}`]),
style: Z({
height: te(e.height),
width: te(e.width),
maxWidth: te(e.maxWidth),
left: te(e.fixedOffset || null)
})
}, {
default: () => [n.default?.()]
});
}), xb = M({
headers: Array
}, "DataTable-header"), vd = Symbol.for("vuetify:data-table-headers"), yd = {
title: "",
sortable: !1
}, Ib = {
...yd,
width: 48
};
function Ob() {
const t = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []).map((n) => ({
element: n,
priority: 0
}));
return {
enqueue: (n, a) => {
let s = !1;
for (let r = 0; r < t.length; r++)
if (t[r].priority > a) {
t.splice(r, 0, {
element: n,
priority: a
}), s = !0;
break;
}
s || t.push({
element: n,
priority: a
});
},
size: () => t.length,
count: () => {
let n = 0;
if (!t.length) return 0;
const a = Math.floor(t[0].priority);
for (let s = 0; s < t.length; s++)
Math.floor(t[s].priority) === a && (n += 1);
return n;
},
dequeue: () => t.shift()
};
}
function fl(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
if (!e.children)
t.push(e);
else
for (const n of e.children)
fl(n, t);
return t;
}
function gd(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Set();
for (const n of e)
n.key && t.add(n.key), n.children && gd(n.children, t);
return t;
}
function Tb(e) {
if (e.key) {
if (e.key === "data-table-group") return yd;
if (["data-table-expand", "data-table-select"].includes(e.key)) return Ib;
}
}
function ri(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
return e.children ? Math.max(t, ...e.children.map((n) => ri(n, t + 1))) : t;
}
function Vb(e) {
let t = !1;
function n(r) {
let l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (r)
if (l && (r.fixed = !0), r.fixed)
if (r.children)
for (let i = r.children.length - 1; i >= 0; i--)
n(r.children[i], !0);
else
t ? isNaN(Number(r.width)) ? Rl(`Multiple fixed columns should have a static width (key: ${r.key})`) : r.minWidth = Math.max(Number(r.width) || 0, Number(r.minWidth) || 0) : r.lastFixed = !0, t = !0;
else if (r.children)
for (let i = r.children.length - 1; i >= 0; i--)
n(r.children[i]);
else
t = !1;
}
for (let r = e.length - 1; r >= 0; r--)
n(e[r]);
function a(r) {
let l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
if (!r) return l;
if (r.children) {
r.fixedOffset = l;
for (const i of r.children)
l = a(i, l);
} else r.fixed && (r.fixedOffset = l, l += parseFloat(r.width || "0") || 0);
return l;
}
let s = 0;
for (const r of e)
s = a(r, s);
}
function Eb(e, t) {
const n = [];
let a = 0;
const s = Ob(e);
for (; s.size() > 0; ) {
let l = s.count();
const i = [];
let o = 1;
for (; l > 0; ) {
const {
element: u,
priority: c
} = s.dequeue(), d = t - a - ri(u);
if (i.push({
...u,
rowspan: d ?? 1,
colspan: u.children ? fl(u).length : 1
}), u.children)
for (const h of u.children) {
const v = c % 1 + o / Math.pow(10, a + 2);
s.enqueue(h, a + d + v);
}
o += 1, l -= 1;
}
a += 1, n.push(i);
}
return {
columns: e.map((l) => fl(l)).flat(),
headers: n
};
}
function bd(e) {
const t = [];
for (const n of e) {
const a = {
...Tb(n),
...n
}, s = a.key ?? (typeof a.value == "string" ? a.value : null), r = a.value ?? s ?? null, l = {
...a,
key: s,
value: r,
sortable: a.sortable ?? (a.key != null || !!a.sort),
children: a.children ? bd(a.children) : void 0
};
t.push(l);
}
return t;
}
function Ab(e, t) {
const n = R([]), a = R([]), s = R({}), r = R({}), l = R({});
Ot(() => {
const u = (e.headers || Object.keys(e.items[0] ?? {}).map((y) => ({
key: y,
title: aa(y)
}))).slice(), c = gd(u);
t?.groupBy?.value.length && !c.has("data-table-group") && u.unshift({
key: "data-table-group",
title: "Group"
}), t?.showSelect?.value && !c.has("data-table-select") && u.unshift({
key: "data-table-select"
}), t?.showExpand?.value && !c.has("data-table-expand") && u.push({
key: "data-table-expand"
});
const d = bd(u);
Vb(d);
const h = Math.max(...d.map((y) => ri(y))) + 1, v = Eb(d, h);
n.value = v.headers, a.value = v.columns;
const f = v.headers.flat(1);
for (const y of f)
y.key && (y.sortable && (y.sort && (s.value[y.key] = y.sort), y.sortRaw && (r.value[y.key] = y.sortRaw)), y.filter && (l.value[y.key] = y.filter));
});
const i = {
headers: n,
columns: a,
sortFunctions: s,
sortRawFunctions: r,
filterFunctions: l
};
return We(vd, i), i;
}
function ar() {
const e = De(vd);
if (!e) throw new Error("Missing headers!");
return e;
}
const Db = {
showSelectAll: !1,
allSelected: () => [],
select: (e) => {
let {
items: t,
value: n
} = e;
return new Set(n ? [t[0]?.value] : []);
},
selectAll: (e) => {
let {
selected: t
} = e;
return t;
}
}, pd = {
showSelectAll: !0,
allSelected: (e) => {
let {
currentPage: t
} = e;
return t;
},
select: (e) => {
let {
items: t,
value: n,
selected: a
} = e;
for (const s of t)
n ? a.add(s.value) : a.delete(s.value);
return a;
},
selectAll: (e) => {
let {
value: t,
currentPage: n,
selected: a
} = e;
return pd.select({
items: n,
value: t,
selected: a
});
}
}, Sd = {
showSelectAll: !0,
allSelected: (e) => {
let {
allItems: t
} = e;
return t;
},
select: (e) => {
let {
items: t,
value: n,
selected: a
} = e;
for (const s of t)
n ? a.add(s.value) : a.delete(s.value);
return a;
},
selectAll: (e) => {
let {
value: t,
allItems: n,
selected: a
} = e;
return Sd.select({
items: n,
value: t,
selected: a
});
}
}, Mb = M({
showSelect: Boolean,
selectStrategy: {
type: [String, Object],
default: "page"
},
modelValue: {
type: Array,
default: () => []
},
valueComparator: {
type: Function,
default: gt
}
}, "DataTable-select"), wd = Symbol.for("vuetify:data-table-selection");
function Rb(e, t) {
let {
allItems: n,
currentPage: a
} = t;
const s = ke(e, "modelValue", e.modelValue, (S) => new Set(Ke(S).map((P) => n.value.find((I) => e.valueComparator(P, I.value))?.value ?? P)), (S) => [...S.values()]), r = _(() => n.value.filter((S) => S.selectable)), l = _(() => a.value.filter((S) => S.selectable)), i = _(() => {
if (typeof e.selectStrategy == "object") return e.selectStrategy;
switch (e.selectStrategy) {
case "single":
return Db;
case "all":
return Sd;
case "page":
default:
return pd;
}
}), o = ne(null);
function u(S) {
return Ke(S).every((P) => s.value.has(P.value));
}
function c(S) {
return Ke(S).some((P) => s.value.has(P.value));
}
function d(S, P) {
const I = i.value.select({
items: S,
value: P,
selected: new Set(s.value)
});
s.value = I;
}
function h(S, P, I) {
const k = [];
if (P = P ?? a.value.findIndex((D) => D.value === S.value), e.selectStrategy !== "single" && I?.shiftKey && o.value !== null) {
const [D, V] = [o.value, P].sort((w, T) => w - T);
k.push(...a.value.slice(D, V + 1).filter((w) => w.selectable));
} else
k.push(S), o.value = P;
d(k, !u([S]));
}
function v(S) {
const P = i.value.selectAll({
value: S,
allItems: r.value,
currentPage: l.value,
selected: new Set(s.value)
});
s.value = P;
}
const f = _(() => s.value.size > 0), y = _(() => {
const S = i.value.allSelected({
allItems: r.value,
currentPage: l.value
});
return !!S.length && u(S);
}), m = E(() => i.value.showSelectAll), b = {
toggleSelect: h,
select: d,
selectAll: v,
isSelected: u,
isSomeSelected: c,
someSelected: f,
allSelected: y,
showSelectAll: m,
lastSelectedIndex: o,
selectStrategy: i
};
return We(wd, b), b;
}
function sr() {
const e = De(wd);
if (!e) throw new Error("Missing selection!");
return e;
}
const Fb = M({
sortBy: {
type: Array,
default: () => []
},
customKeySort: Object,
multiSort: Boolean,
mustSort: Boolean
}, "DataTable-sort"), _d = Symbol.for("vuetify:data-table-sort");
function Lb(e) {
const t = ke(e, "sortBy"), n = E(() => e.mustSort), a = E(() => e.multiSort);
return {
sortBy: t,
mustSort: n,
multiSort: a
};
}
function Nb(e) {
const {
sortBy: t,
mustSort: n,
multiSort: a,
page: s
} = e, r = (o) => {
if (o.key == null) return;
let u = t.value.map((d) => ({
...d
})) ?? [];
const c = u.find((d) => d.key === o.key);
c ? c.order === "desc" ? n.value && u.length === 1 ? c.order = "asc" : u = u.filter((d) => d.key !== o.key) : c.order = "desc" : a.value ? u.push({
key: o.key,
order: "asc"
}) : u = [{
key: o.key,
order: "asc"
}], t.value = u, s && (s.value = 1);
};
function l(o) {
return !!t.value.find((u) => u.key === o.key);
}
const i = {
sortBy: t,
toggleSort: r,
isSorted: l
};
return We(_d, i), i;
}
function kd() {
const e = De(_d);
if (!e) throw new Error("Missing sort!");
return e;
}
function Bb(e, t, n, a) {
const s = hn();
return {
sortedItems: _(() => n.value.length ? $b(t.value, n.value, s.current.value, {
transform: a?.transform,
sortFunctions: {
...e.customKeySort,
...a?.sortFunctions?.value
},
sortRawFunctions: a?.sortRawFunctions?.value
}) : t.value)
};
}
function $b(e, t, n, a) {
const s = new Intl.Collator(n, {
sensitivity: "accent",
usage: "sort"
});
return e.map((l) => [l, a?.transform ? a.transform(l) : l]).sort((l, i) => {
for (let o = 0; o < t.length; o++) {
let u = !1;
const c = t[o].key, d = t[o].order ?? "asc";
if (d === !1) continue;
let h = xa(l[1], c), v = xa(i[1], c), f = l[0].raw, y = i[0].raw;
if (d === "desc" && ([h, v] = [v, h], [f, y] = [y, f]), a?.sortRawFunctions?.[c]) {
const m = a.sortRawFunctions[c](f, y);
if (m == null) continue;
if (u = !0, m) return m;
}
if (a?.sortFunctions?.[c]) {
const m = a.sortFunctions[c](h, v);
if (m == null) continue;
if (u = !0, m) return m;
}
if (!u) {
if (h instanceof Date && v instanceof Date)
return h.getTime() - v.getTime();
if ([h, v] = [h, v].map((m) => m != null ? m.toString().toLocaleLowerCase() : m), h !== v)
return ls(h) && ls(v) ? 0 : ls(h) ? -1 : ls(v) ? 1 : !isNaN(h) && !isNaN(v) ? Number(h) - Number(v) : s.compare(h, v);
}
}
return 0;
}).map((l) => {
let [i] = l;
return i;
});
}
const Cd = M({
color: String,
disableSort: Boolean,
fixedHeader: Boolean,
multiSort: Boolean,
sortAscIcon: {
type: ue,
default: "$sortAsc"
},
sortDescIcon: {
type: ue,
default: "$sortDesc"
},
headerProps: {
type: Object
},
/** @deprecated */
sticky: Boolean,
...Js(),
...er()
}, "VDataTableHeaders"), Ho = Q()({
name: "VDataTableHeaders",
props: Cd(),
setup(e, t) {
let {
slots: n
} = t;
const {
t: a
} = hn(), {
toggleSort: s,
sortBy: r,
isSorted: l
} = kd(), {
someSelected: i,
allSelected: o,
selectAll: u,
showSelectAll: c
} = sr(), {
columns: d,
headers: h
} = ar(), {
loaderClasses: v
} = Ka(e);
function f(w, T) {
if (!(!(e.sticky || e.fixedHeader) && !w.fixed))
return {
position: "sticky",
left: w.fixed ? te(w.fixedOffset) : void 0,
top: e.sticky || e.fixedHeader ? `calc(var(--v-table-header-height) * ${T})` : void 0
};
}
function y(w) {
const T = r.value.find((N) => N.key === w.key);
return T ? T.order === "asc" ? e.sortAscIcon : e.sortDescIcon : e.sortAscIcon;
}
const {
backgroundColorClasses: m,
backgroundColorStyles: b
} = $t(() => e.color), {
displayClasses: S,
mobile: P
} = $n(e), I = _(() => ({
headers: h.value,
columns: d.value,
toggleSort: s,
isSorted: l,
sortBy: r.value,
someSelected: i.value,
allSelected: o.value,
selectAll: u,
getSortIcon: y
})), k = _(() => ["v-data-table__th", {
"v-data-table__th--sticky": e.sticky || e.fixedHeader
}, S.value, v.value]), D = (w) => {
let {
column: T,
x: N,
y: $
} = w;
const B = T.key === "data-table-select" || T.key === "data-table-expand", A = j(e.headerProps ?? {}, T.headerProps ?? {});
return g(Es, j({
tag: "th",
align: T.align,
class: [{
"v-data-table__th--sortable": T.sortable && !e.disableSort,
"v-data-table__th--sorted": l(T),
"v-data-table__th--fixed": T.fixed
}, ...k.value],
style: {
width: te(T.width),
minWidth: te(T.minWidth),
maxWidth: te(T.maxWidth),
...f(T, $)
},
colspan: T.colspan,
rowspan: T.rowspan,
onClick: T.sortable ? () => s(T) : void 0,
fixed: T.fixed,
nowrap: T.nowrap,
lastFixed: T.lastFixed,
noPadding: B
}, A), {
default: () => {
const U = `header.${T.key}`, Y = {
column: T,
selectAll: u,
isSorted: l,
toggleSort: s,
sortBy: r.value,
someSelected: i.value,
allSelected: o.value,
getSortIcon: y
};
return n[U] ? n[U](Y) : T.key === "data-table-select" ? n["header.data-table-select"]?.(Y) ?? (c.value && g(qa, {
modelValue: o.value,
indeterminate: i.value && !o.value,
"onUpdate:modelValue": u
}, null)) : p("div", {
class: "v-data-table-header__content"
}, [p("span", null, [T.title]), T.sortable && !e.disableSort && g(Ve, {
key: "icon",
class: "v-data-table-header__sort-icon",
icon: y(T)
}, null), e.multiSort && l(T) && p("div", {
key: "badge",
class: K(["v-data-table-header__sort-badge", ...m.value]),
style: Z(b.value)
}, [r.value.findIndex((G) => G.key === T.key) + 1])]);
}
});
}, V = () => {
const w = _(() => d.value.filter((N) => N?.sortable && !e.disableSort)), T = _(() => {
if (d.value.find(($) => $.key === "data-table-select") != null)
return o.value ? "$checkboxOn" : i.value ? "$checkboxIndeterminate" : "$checkboxOff";
});
return g(Es, j({
tag: "th",
class: [...k.value],
colspan: h.value.length + 1
}, e.headerProps), {
default: () => [p("div", {
class: "v-data-table-header__content"
}, [g(Hc, {
chips: !0,
class: "v-data-table__td-sort-select",
clearable: !0,
density: "default",
items: w.value,
label: a("$vuetify.dataTable.sortBy"),
multiple: e.multiSort,
variant: "underlined",
"onClick:clear": () => r.value = [],
appendIcon: T.value,
"onClick:append": () => u(!o.value)
}, {
...n,
chip: (N) => g(Gl, {
onClick: N.item.raw?.sortable ? () => s(N.item.raw) : void 0,
onMousedown: ($) => {
$.preventDefault(), $.stopPropagation();
}
}, {
default: () => [N.item.title, g(Ve, {
class: K(["v-data-table__td-sort-icon", l(N.item.raw) && "v-data-table__td-sort-icon-active"]),
icon: y(N.item.raw),
size: "small"
}, null)]
})
})])]
});
};
ee(() => P.value ? p("tr", null, [g(V, null, null)]) : p(pe, null, [n.headers ? n.headers(I.value) : h.value.map((w, T) => p("tr", null, [w.map((N, $) => g(D, {
column: N,
x: $,
y: T
}, null))])), e.loading && p("tr", {
class: "v-data-table-progress"
}, [p("th", {
colspan: d.value.length
}, [g(tr, {
name: "v-data-table-progress",
absolute: !0,
active: !0,
color: typeof e.loading == "boolean" ? void 0 : e.loading,
indeterminate: !0
}, {
default: n.loader
})])])]));
}
}), Ub = M({
groupBy: {
type: Array,
default: () => []
}
}, "DataTable-group"), Pd = Symbol.for("vuetify:data-table-group");
function zb(e) {
return {
groupBy: ke(e, "groupBy")
};
}
function Hb(e) {
const {
disableSort: t,
groupBy: n,
sortBy: a
} = e, s = R(/* @__PURE__ */ new Set()), r = _(() => n.value.map((c) => ({
...c,
order: c.order ?? !1
})).concat(t?.value ? [] : a.value));
function l(c) {
return s.value.has(c.id);
}
function i(c) {
const d = new Set(s.value);
l(c) ? d.delete(c.id) : d.add(c.id), s.value = d;
}
function o(c) {
function d(h) {
const v = [];
for (const f of h.items)
"type" in f && f.type === "group" ? v.push(...d(f)) : v.push(f);
return [...new Set(v)];
}
return d({
items: c
});
}
const u = {
sortByWithGroups: r,
toggleGroup: i,
opened: s,
groupBy: n,
extractRows: o,
isGroupOpen: l
};
return We(Pd, u), u;
}
function xd() {
const e = De(Pd);
if (!e) throw new Error("Missing group!");
return e;
}
function Yb(e, t) {
if (!e.length) return [];
const n = /* @__PURE__ */ new Map();
for (const a of e) {
const s = xa(a.raw, t);
n.has(s) || n.set(s, []), n.get(s).push(a);
}
return n;
}
function Id(e, t) {
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0, a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "root";
if (!t.length) return [];
const s = Yb(e, t[0]), r = [], l = t.slice(1);
return s.forEach((i, o) => {
const u = t[0], c = `${a}_${u}_${o}`;
r.push({
depth: n,
id: c,
key: u,
value: o,
items: l.length ? Id(i, l, n + 1, c) : i,
type: "group"
});
}), r;
}
function Od(e, t) {
const n = [];
for (const a of e)
"type" in a && a.type === "group" ? (a.value != null && n.push(a), (t.has(a.id) || a.value == null) && n.push(...Od(a.items, t))) : n.push(a);
return n;
}
function jb(e, t, n) {
return {
flatItems: _(() => {
if (!t.value.length) return e.value;
const s = Id(e.value, t.value.map((r) => r.key));
return Od(s, n.value);
})
};
}
const Wb = M({
item: {
type: Object,
required: !0
}
}, "VDataTableGroupHeaderRow"), Gb = Q()({
name: "VDataTableGroupHeaderRow",
props: Wb(),
setup(e, t) {
let {
slots: n
} = t;
const {
isGroupOpen: a,
toggleGroup: s,
extractRows: r
} = xd(), {
isSelected: l,
isSomeSelected: i,
select: o
} = sr(), {
columns: u
} = ar(), c = _(() => r([e.item]));
return () => p("tr", {
class: "v-data-table-group-header-row",
style: Z({
"--v-data-table-group-header-row-depth": e.item.depth
})
}, [u.value.map((d) => {
if (d.key === "data-table-group") {
const h = a(e.item) ? "$expand" : "$next", v = () => s(e.item);
return n["data-table-group"]?.({
item: e.item,
count: c.value.length,
props: {
icon: h,
onClick: v
}
}) ?? g(Es, {
class: "v-data-table-group-header-row__column"
}, {
default: () => [g(Zt, {
size: "small",
variant: "text",
icon: h,
onClick: v
}, null), p("span", null, [e.item.value]), p("span", null, [Fe("("), c.value.length, Fe(")")])]
});
}
if (d.key === "data-table-select") {
const h = l(c.value), v = i(c.value) && !h, f = (y) => o(c.value, y);
return n["data-table-select"]?.({
props: {
modelValue: h,
indeterminate: v,
"onUpdate:modelValue": f
}
}) ?? p("td", null, [g(qa, {
modelValue: h,
indeterminate: v,
"onUpdate:modelValue": f
}, null)]);
}
return p("td", null, null);
})]);
}
}), Qb = M({
expandOnClick: Boolean,
showExpand: Boolean,
expanded: {
type: Array,
default: () => []
}
}, "DataTable-expand"), Td = Symbol.for("vuetify:datatable:expanded");
function qb(e) {
const t = E(() => e.expandOnClick), n = ke(e, "expanded", e.expanded, (i) => new Set(i), (i) => [...i.values()]);
function a(i, o) {
const u = new Set(n.value);
o ? u.add(i.value) : u.delete(i.value), n.value = u;
}
function s(i) {
return n.value.has(i.value);
}
function r(i) {
a(i, !s(i));
}
const l = {
expand: a,
expanded: n,
expandOnClick: t,
isExpanded: s,
toggleExpand: r
};
return We(Td, l), l;
}
function Vd() {
const e = De(Td);
if (!e) throw new Error("foo");
return e;
}
const Kb = M({
index: Number,
item: Object,
cellProps: [Object, Function],
onClick: Je(),
onContextmenu: Je(),
onDblclick: Je(),
...Js()
}, "VDataTableRow"), Jb = Q()({
name: "VDataTableRow",
props: Kb(),
setup(e, t) {
let {
slots: n
} = t;
const {
displayClasses: a,
mobile: s
} = $n(e, "v-data-table__tr"), {
isSelected: r,
toggleSelect: l,
someSelected: i,
allSelected: o,
selectAll: u
} = sr(), {
isExpanded: c,
toggleExpand: d
} = Vd(), {
toggleSort: h,
sortBy: v,
isSorted: f
} = kd(), {
columns: y
} = ar();
ee(() => p("tr", {
class: K(["v-data-table__tr", {
"v-data-table__tr--clickable": !!(e.onClick || e.onContextmenu || e.onDblclick)
}, a.value]),
onClick: e.onClick,
onContextmenu: e.onContextmenu,
onDblclick: e.onDblclick
}, [e.item && y.value.map((m, b) => {
const S = e.item, P = `item.${m.key}`, I = `header.${m.key}`, k = {
index: e.index,
item: S.raw,
internalItem: S,
value: xa(S.columns, m.key),
column: m,
isSelected: r,
toggleSelect: l,
isExpanded: c,
toggleExpand: d
}, D = {
column: m,
selectAll: u,
isSorted: f,
toggleSort: h,
sortBy: v.value,
someSelected: i.value,
allSelected: o.value,
getSortIcon: () => ""
}, V = typeof e.cellProps == "function" ? e.cellProps({
index: k.index,
item: k.item,
internalItem: k.internalItem,
value: k.value,
column: m
}) : e.cellProps, w = typeof m.cellProps == "function" ? m.cellProps({
index: k.index,
item: k.item,
internalItem: k.internalItem,
value: k.value
}) : m.cellProps;
return g(Es, j({
align: m.align,
class: {
"v-data-table__td--expanded-row": m.key === "data-table-expand",
"v-data-table__td--select-row": m.key === "data-table-select"
},
fixed: m.fixed,
fixedOffset: m.fixedOffset,
lastFixed: m.lastFixed,
maxWidth: s.value ? void 0 : m.maxWidth,
noPadding: m.key === "data-table-select" || m.key === "data-table-expand",
nowrap: m.nowrap,
width: s.value ? void 0 : m.width
}, V, w), {
default: () => {
if (m.key === "data-table-select")
return n["item.data-table-select"]?.({
...k,
props: {
disabled: !S.selectable,
modelValue: r([S]),
onClick: as(() => l(S), ["stop"])
}
}) ?? g(qa, {
disabled: !S.selectable,
modelValue: r([S]),
onClick: as((N) => l(S, e.index, N), ["stop"])
}, null);
if (m.key === "data-table-expand")
return n["item.data-table-expand"]?.({
...k,
props: {
icon: c(S) ? "$collapse" : "$expand",
size: "small",
variant: "text",
onClick: as(() => d(S), ["stop"])
}
}) ?? g(Zt, {
icon: c(S) ? "$collapse" : "$expand",
size: "small",
variant: "text",
onClick: as(() => d(S), ["stop"])
}, null);
if (n[P] && !s.value) return n[P](k);
const T = Te(k.value);
return s.value ? p(pe, null, [p("div", {
class: "v-data-table__td-title"
}, [n[I]?.(D) ?? m.title]), p("div", {
class: "v-data-table__td-value"
}, [n[P]?.(k) ?? T])]) : T;
}
});
})]));
}
}), Ed = M({
loading: [Boolean, String],
loadingText: {
type: String,
default: "$vuetify.dataIterator.loadingText"
},
hideNoData: Boolean,
items: {
type: Array,
default: () => []
},
noDataText: {
type: String,
default: "$vuetify.noDataText"
},
rowProps: [Object, Function],
cellProps: [Object, Function],
...Js()
}, "VDataTableRows"), Yo = Q()({
name: "VDataTableRows",
inheritAttrs: !1,
props: Ed(),
setup(e, t) {
let {
attrs: n,
slots: a
} = t;
const {
columns: s
} = ar(), {
expandOnClick: r,
toggleExpand: l,
isExpanded: i
} = Vd(), {
isSelected: o,
toggleSelect: u
} = sr(), {
toggleGroup: c,
isGroupOpen: d
} = xd(), {
t: h
} = hn(), {
mobile: v
} = $n(e);
return ee(() => e.loading && (!e.items.length || a.loading) ? p("tr", {
class: "v-data-table-rows-loading",
key: "loading"
}, [p("td", {
colspan: s.value.length
}, [a.loading?.() ?? h(e.loadingText)])]) : !e.loading && !e.items.length && !e.hideNoData ? p("tr", {
class: "v-data-table-rows-no-data",
key: "no-data"
}, [p("td", {
colspan: s.value.length
}, [a["no-data"]?.() ?? h(e.noDataText)])]) : p(pe, null, [e.items.map((f, y) => {
if (f.type === "group") {
const S = {
index: y,
item: f,
columns: s.value,
isExpanded: i,
toggleExpand: l,
isSelected: o,
toggleSelect: u,
toggleGroup: c,
isGroupOpen: d
};
return a["group-header"] ? a["group-header"](S) : g(Gb, j({
key: `group-header_${f.id}`,
item: f
}, co(n, ":group-header", () => S)), a);
}
const m = {
index: y,
item: f.raw,
internalItem: f,
columns: s.value,
isExpanded: i,
toggleExpand: l,
isSelected: o,
toggleSelect: u
}, b = {
...m,
props: j({
key: `item_${f.key ?? f.index}`,
onClick: r.value ? () => {
l(f);
} : void 0,
index: y,
item: f,
cellProps: e.cellProps,
mobile: v.value
}, co(n, ":row", () => m), typeof e.rowProps == "function" ? e.rowProps({
item: m.item,
index: m.index,
internalItem: m.internalItem
}) : e.rowProps)
};
return p(pe, {
key: b.props.key
}, [a.item ? a.item(b) : g(Jb, b.props, a), i(f) && a["expanded-row"]?.(m)]);
})])), {};
}
}), Ad = M({
fixedHeader: Boolean,
fixedFooter: Boolean,
height: [Number, String],
hover: Boolean,
...de(),
...Ct(),
...Le(),
...Ye()
}, "VTable"), jo = Q()({
name: "VTable",
props: Ad(),
setup(e, t) {
let {
slots: n,
emit: a
} = t;
const {
themeClasses: s
} = Ze(e), {
densityClasses: r
} = Wt(e);
return ee(() => g(e.tag, {
class: K(["v-table", {
"v-table--fixed-height": !!e.height,
"v-table--fixed-header": e.fixedHeader,
"v-table--fixed-footer": e.fixedFooter,
"v-table--has-top": !!n.top,
"v-table--has-bottom": !!n.bottom,
"v-table--hover": e.hover
}, s.value, r.value, e.class]),
style: Z(e.style)
}, {
default: () => [n.top?.(), n.default ? p("div", {
class: "v-table__wrapper",
style: Z({
height: te(e.height)
})
}, [p("table", null, [n.default()])]) : n.wrapper?.(), n.bottom?.()]
})), {};
}
}), Zb = M({
items: {
type: Array,
default: () => []
},
itemValue: {
type: [String, Array, Function],
default: "id"
},
itemSelectable: {
type: [String, Array, Function],
default: null
},
rowProps: [Object, Function],
cellProps: [Object, Function],
returnObject: Boolean
}, "DataTable-items");
function Xb(e, t, n, a) {
const s = e.returnObject ? t : ot(t, e.itemValue), r = ot(t, e.itemSelectable, !0), l = a.reduce((i, o) => (o.key != null && (i[o.key] = ot(t, o.value)), i), {});
return {
type: "item",
key: e.returnObject ? ot(t, e.itemValue) : s,
index: n,
value: s,
selectable: r,
columns: l,
raw: t
};
}
function ep(e, t, n) {
return t.map((a, s) => Xb(e, a, s, n));
}
function tp(e, t) {
return {
items: _(() => ep(e, e.items, t.value))
};
}
function np(e) {
let {
page: t,
itemsPerPage: n,
sortBy: a,
groupBy: s,
search: r
} = e;
const l = Ue("VDataTable"), i = () => ({
page: t.value,
itemsPerPage: n.value,
sortBy: a.value,
groupBy: s.value,
search: r.value
});
let o = null;
re(i, (u) => {
gt(o, u) || (o && o.search !== u.search && (t.value = 1), l.emit("update:options", u), o = u);
}, {
deep: !0,
immediate: !0
});
}
const ap = M({
...Ed(),
hideDefaultBody: Boolean,
hideDefaultFooter: Boolean,
hideDefaultHeader: Boolean,
width: [String, Number],
search: String,
...Qb(),
...Ub(),
...xb(),
...Zb(),
...Mb(),
...Fb(),
...Cd(),
...Ad()
}, "DataTable"), sp = M({
...wb(),
...ap(),
...Yc(),
...md()
}, "VDataTable"), Dd = Q()({
name: "VDataTable",
props: sp(),
emits: {
"update:modelValue": (e) => !0,
"update:page": (e) => !0,
"update:itemsPerPage": (e) => !0,
"update:sortBy": (e) => !0,
"update:options": (e) => !0,
"update:groupBy": (e) => !0,
"update:expanded": (e) => !0,
"update:currentItems": (e) => !0
},
setup(e, t) {
let {
attrs: n,
slots: a
} = t;
const {
groupBy: s
} = zb(e), {
sortBy: r,
multiSort: l,
mustSort: i
} = Lb(e), {
page: o,
itemsPerPage: u
} = _b(e), {
disableSort: c
} = Xo(e), {
columns: d,
headers: h,
sortFunctions: v,
sortRawFunctions: f,
filterFunctions: y
} = Ab(e, {
groupBy: s,
showSelect: E(() => e.showSelect),
showExpand: E(() => e.showExpand)
}), {
items: m
} = tp(e, d), b = E(() => e.search), {
filteredItems: S
} = jc(e, m, b, {
transform: (J) => J.columns,
customKeyFilter: y
}), {
toggleSort: P
} = Nb({
sortBy: r,
multiSort: l,
mustSort: i,
page: o
}), {
sortByWithGroups: I,
opened: k,
extractRows: D,
isGroupOpen: V,
toggleGroup: w
} = Hb({
groupBy: s,
sortBy: r,
disableSort: c
}), {
sortedItems: T
} = Bb(e, S, I, {
transform: (J) => ({
...J.raw,
...J.columns
}),
sortFunctions: v,
sortRawFunctions: f
}), {
flatItems: N
} = jb(T, s, k), $ = _(() => N.value.length), {
startIndex: B,
stopIndex: A,
pageCount: U,
setItemsPerPage: Y
} = kb({
page: o,
itemsPerPage: u,
itemsLength: $
}), {
paginatedItems: G
} = Pb({
items: N,
startIndex: B,
stopIndex: A,
itemsPerPage: u
}), le = _(() => D(G.value)), {
isSelected: oe,
select: _e,
selectAll: x,
toggleSelect: O,
someSelected: F,
allSelected: q
} = Rb(e, {
allItems: m,
currentPage: le
}), {
isExpanded: se,
toggleExpand: ae
} = qb(e);
np({
page: o,
itemsPerPage: u,
sortBy: r,
groupBy: s,
search: b
}), zt({
VDataTableRows: {
hideNoData: E(() => e.hideNoData),
noDataText: E(() => e.noDataText),
loading: E(() => e.loading),
loadingText: E(() => e.loadingText)
}
});
const ie = _(() => ({
page: o.value,
itemsPerPage: u.value,
sortBy: r.value,
pageCount: U.value,
toggleSort: P,
setItemsPerPage: Y,
someSelected: F.value,
allSelected: q.value,
isSelected: oe,
select: _e,
selectAll: x,
toggleSelect: O,
isExpanded: se,
toggleExpand: ae,
isGroupOpen: V,
toggleGroup: w,
items: le.value.map((J) => J.raw),
internalItems: le.value,
groupedItems: G.value,
columns: d.value,
headers: h.value
}));
return ee(() => {
const J = zo.filterProps(e), Ee = Ho.filterProps(e), Se = Yo.filterProps(e), z = jo.filterProps(e);
return g(jo, j({
class: ["v-data-table", {
"v-data-table--show-select": e.showSelect,
"v-data-table--loading": e.loading
}, e.class],
style: e.style
}, z, {
fixedHeader: e.fixedHeader || e.sticky
}), {
top: () => a.top?.(ie.value),
default: () => a.default ? a.default(ie.value) : p(pe, null, [a.colgroup?.(ie.value), !e.hideDefaultHeader && p("thead", {
key: "thead"
}, [g(Ho, Ee, a)]), a.thead?.(ie.value), !e.hideDefaultBody && p("tbody", null, [a["body.prepend"]?.(ie.value), a.body ? a.body(ie.value) : g(Yo, j(n, Se, {
items: G.value
}), a), a["body.append"]?.(ie.value)]), a.tbody?.(ie.value), a.tfoot?.(ie.value)]),
bottom: () => a.bottom ? a.bottom(ie.value) : !e.hideDefaultFooter && p(pe, null, [g(Cc, null, null), g(zo, J, {
prepend: a["footer.prepend"]
})])
});
}), {};
}
}), rp = {
key: 0,
id: "loading-results"
}, lp = { id: "results" }, ip = ["href"], op = { class: "literature-item-date" };
function up(e, t, n, a, s, r) {
return qe(), nt(pe, null, [
e.display_loading_div ? (qe(), nt("div", rp, [
g(ei, { indeterminate: "" })
])) : ct("", !0),
ht(p("div", lp, [
e.display_results_div ? (qe(), eu(Dd, {
key: 0,
id: "table-literature",
headers: e.headers,
items: e.dataSource,
"items-per-page": e.pageSize,
"item-key": "PMID",
"footer-props": e.footerProps,
"onUpdate:options": t[0] || (t[0] = (l) => e.handlePage(l))
}, {
"item.PMID": he(({ item: l }) => [
p("a", {
href: l.urlPMID,
target: "_blank"
}, Te(l.PMID), 9, ip)
]),
"item.Date": he(({ item: l }) => [
p("span", op, Te(l.Date?.substring(0, 10)), 1)
]),
_: 2
}, 1032, ["headers", "items", "items-per-page", "footer-props"])) : ct("", !0),
p("small", null, " search type: " + Te(e.literatureSearchType) + "; search id: " + Te(e.literatureSearchId) + "; item id: " + Te(e.literatureItemId) + ". ", 1)
], 512), [
[Bn, !e.display_loading_div]
])
], 64);
}
const Md = /* @__PURE__ */ Ol(mb, [["render", up]]);
class cp {
// Weakness of compound/concept (Nullable)
constructor(t, n, a, s, r, l, i, o, u) {
Ie(this, "id");
// ID of compound/concept
Ie(this, "name");
// Name of compound/concept
Ie(this, "link");
// Link to official page
Ie(this, "root");
// Tree root of a MeSH element
Ie(this, "meshTree");
// MeSH Tree-Numbers
Ie(this, "qvalue");
// q.value of compound/concept
Ie(this, "oddratio");
// odd ratio of compound/concept
Ie(this, "papers");
// Number of article common between MeSH and Pubchem/Chemont/Chebi of compound/concept
Ie(this, "score");
this._id = t, this._name = n, this._link = a, this._root = s, this._meshTree = r, this._qvalue = l, this._oddratio = i, this._papers = o, this._score = u, this.id = t, this.name = n, this.link = a, this.root = s, this.meshTree = r, this.qvalue = l, this.oddratio = i, this.papers = o, this.score = u;
}
}
//! moment.js
//! version : 2.30.1
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
var Rd;
function H() {
return Rd.apply(null, arguments);
}
function dp(e) {
Rd = e;
}
function Tt(e) {
return e instanceof Array || Object.prototype.toString.call(e) === "[object Array]";
}
function Dn(e) {
return e != null && Object.prototype.toString.call(e) === "[object Object]";
}
function Ce(e, t) {
return Object.prototype.hasOwnProperty.call(e, t);
}
function li(e) {
if (Object.getOwnPropertyNames)
return Object.getOwnPropertyNames(e).length === 0;
var t;
for (t in e)
if (Ce(e, t))
return !1;
return !0;
}
function ut(e) {
return e === void 0;
}
function ln(e) {
return typeof e == "number" || Object.prototype.toString.call(e) === "[object Number]";
}
function Za(e) {
return e instanceof Date || Object.prototype.toString.call(e) === "[object Date]";
}
function Fd(e, t) {
var n = [], a, s = e.length;
for (a = 0; a < s; ++a)
n.push(t(e[a], a));
return n;
}
function bn(e, t) {
for (var n in t)
Ce(t, n) && (e[n] = t[n]);
return Ce(t, "toString") && (e.toString = t.toString), Ce(t, "valueOf") && (e.valueOf = t.valueOf), e;
}
function Gt(e, t, n, a) {
return rf(e, t, n, a, !0).utc();
}
function fp() {
return {
empty: !1,
unusedTokens: [],
unusedInput: [],
overflow: -2,
charsLeftOver: 0,
nullInput: !1,
invalidEra: null,
invalidMonth: null,
invalidFormat: !1,
userInvalidated: !1,
iso: !1,
parsedDateParts: [],
era: null,
meridiem: null,
rfc2822: !1,
weekdayMismatch: !1
};
}
function fe(e) {
return e._pf == null && (e._pf = fp()), e._pf;
}
var hl;
Array.prototype.some ? hl = Array.prototype.some : hl = function(e) {
var t = Object(this), n = t.length >>> 0, a;
for (a = 0; a < n; a++)
if (a in t && e.call(this, t[a], a, t))
return !0;
return !1;
};
function ii(e) {
var t = null, n = !1, a = e._d && !isNaN(e._d.getTime());
if (a && (t = fe(e), n = hl.call(t.parsedDateParts, function(s) {
return s != null;
}), a = t.overflow < 0 && !t.empty && !t.invalidEra && !t.invalidMonth && !t.invalidWeekday && !t.weekdayMismatch && !t.nullInput && !t.invalidFormat && !t.userInvalidated && (!t.meridiem || t.meridiem && n), e._strict && (a = a && t.charsLeftOver === 0 && t.unusedTokens.length === 0 && t.bigHour === void 0)), Object.isFrozen == null || !Object.isFrozen(e))
e._isValid = a;
else
return a;
return e._isValid;
}
function rr(e) {
var t = Gt(NaN);
return e != null ? bn(fe(t), e) : fe(t).userInvalidated = !0, t;
}
var Wo = H.momentProperties = [], Fr = !1;
function oi(e, t) {
var n, a, s, r = Wo.length;
if (ut(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), ut(t._i) || (e._i = t._i), ut(t._f) || (e._f = t._f), ut(t._l) || (e._l = t._l), ut(t._strict) || (e._strict = t._strict), ut(t._tzm) || (e._tzm = t._tzm), ut(t._isUTC) || (e._isUTC = t._isUTC), ut(t._offset) || (e._offset = t._offset), ut(t._pf) || (e._pf = fe(t)), ut(t._locale) || (e._locale = t._locale), r > 0)
for (n = 0; n < r; n++)
a = Wo[n], s = t[a], ut(s) || (e[a] = s);
return e;
}
function Xa(e) {
oi(this, e), this._d = new Date(e._d != null ? e._d.getTime() : NaN), this.isValid() || (this._d = /* @__PURE__ */ new Date(NaN)), Fr === !1 && (Fr = !0, H.updateOffset(this), Fr = !1);
}
function Vt(e) {
return e instanceof Xa || e != null && e._isAMomentObject != null;
}
function Ld(e) {
H.suppressDeprecationWarnings === !1 && typeof console < "u" && console.warn && console.warn("Deprecation warning: " + e);
}
function Pt(e, t) {
var n = !0;
return bn(function() {
if (H.deprecationHandler != null && H.deprecationHandler(null, e), n) {
var a = [], s, r, l, i = arguments.length;
for (r = 0; r < i; r++) {
if (s = "", typeof arguments[r] == "object") {
s += `
[` + r + "] ";
for (l in arguments[0])
Ce(arguments[0], l) && (s += l + ": " + arguments[0][l] + ", ");
s = s.slice(0, -2);
} else
s = arguments[r];
a.push(s);
}
Ld(
e + `
Arguments: ` + Array.prototype.slice.call(a).join("") + `
` + new Error().stack
), n = !1;
}
return t.apply(this, arguments);
}, t);
}
var Go = {};
function Nd(e, t) {
H.deprecationHandler != null && H.deprecationHandler(e, t), Go[e] || (Ld(t), Go[e] = !0);
}
H.suppressDeprecationWarnings = !1;
H.deprecationHandler = null;
function Qt(e) {
return typeof Function < "u" && e instanceof Function || Object.prototype.toString.call(e) === "[object Function]";
}
function hp(e) {
var t, n;
for (n in e)
Ce(e, n) && (t = e[n], Qt(t) ? this[n] = t : this["_" + n] = t);
this._config = e, this._dayOfMonthOrdinalParseLenient = new RegExp(
(this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source
);
}
function ml(e, t) {
var n = bn({}, e), a;
for (a in t)
Ce(t, a) && (Dn(e[a]) && Dn(t[a]) ? (n[a] = {}, bn(n[a], e[a]), bn(n[a], t[a])) : t[a] != null ? n[a] = t[a] : delete n[a]);
for (a in e)
Ce(e, a) && !Ce(t, a) && Dn(e[a]) && (n[a] = bn({}, n[a]));
return n;
}
function ui(e) {
e != null && this.set(e);
}
var vl;
Object.keys ? vl = Object.keys : vl = function(e) {
var t, n = [];
for (t in e)
Ce(e, t) && n.push(t);
return n;
};
var mp = {
sameDay: "[Today at] LT",
nextDay: "[Tomorrow at] LT",
nextWeek: "dddd [at] LT",
lastDay: "[Yesterday at] LT",
lastWeek: "[Last] dddd [at] LT",
sameElse: "L"
};
function vp(e, t, n) {
var a = this._calendar[e] || this._calendar.sameElse;
return Qt(a) ? a.call(t, n) : a;
}
function Yt(e, t, n) {
var a = "" + Math.abs(e), s = t - a.length, r = e >= 0;
return (r ? n ? "+" : "" : "-") + Math.pow(10, Math.max(0, s)).toString().substr(1) + a;
}
var ci = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, ds = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, Lr = {}, qn = {};
function X(e, t, n, a) {
var s = a;
typeof a == "string" && (s = function() {
return this[a]();
}), e && (qn[e] = s), t && (qn[t[0]] = function() {
return Yt(s.apply(this, arguments), t[1], t[2]);
}), n && (qn[n] = function() {
return this.localeData().ordinal(
s.apply(this, arguments),
e
);
});
}
function yp(e) {
return e.match(/\[[\s\S]/) ? e.replace(/^\[|\]$/g, "") : e.replace(/\\/g, "");
}
function gp(e) {
var t = e.match(ci), n, a;
for (n = 0, a = t.length; n < a; n++)
qn[t[n]] ? t[n] = qn[t[n]] : t[n] = yp(t[n]);
return function(s) {
var r = "", l;
for (l = 0; l < a; l++)
r += Qt(t[l]) ? t[l].call(s, e) : t[l];
return r;
};
}
function bs(e, t) {
return e.isValid() ? (t = Bd(t, e.localeData()), Lr[t] = Lr[t] || gp(t), Lr[t](e)) : e.localeData().invalidDate();
}
function Bd(e, t) {
var n = 5;
function a(s) {
return t.longDateFormat(s) || s;
}
for (ds.lastIndex = 0; n >= 0 && ds.test(e); )
e = e.replace(
ds,
a
), ds.lastIndex = 0, n -= 1;
return e;
}
var bp = {
LTS: "h:mm:ss A",
LT: "h:mm A",
L: "MM/DD/YYYY",
LL: "MMMM D, YYYY",
LLL: "MMMM D, YYYY h:mm A",
LLLL: "dddd, MMMM D, YYYY h:mm A"
};
function pp(e) {
var t = this._longDateFormat[e], n = this._longDateFormat[e.toUpperCase()];
return t || !n ? t : (this._longDateFormat[e] = n.match(ci).map(function(a) {
return a === "MMMM" || a === "MM" || a === "DD" || a === "dddd" ? a.slice(1) : a;
}).join(""), this._longDateFormat[e]);
}
var Sp = "Invalid date";
function wp() {
return this._invalidDate;
}
var _p = "%d", kp = /\d{1,2}/;
function Cp(e) {
return this._ordinal.replace("%d", e);
}
var Pp = {
future: "in %s",
past: "%s ago",
s: "a few seconds",
ss: "%d seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
w: "a week",
ww: "%d weeks",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
};
function xp(e, t, n, a) {
var s = this._relativeTime[n];
return Qt(s) ? s(e, t, n, a) : s.replace(/%d/i, e);
}
function Ip(e, t) {
var n = this._relativeTime[e > 0 ? "future" : "past"];
return Qt(n) ? n(t) : n.replace(/%s/i, t);
}
var Qo = {
D: "date",
dates: "date",
date: "date",
d: "day",
days: "day",
day: "day",
e: "weekday",
weekdays: "weekday",
weekday: "weekday",
E: "isoWeekday",
isoweekdays: "isoWeekday",
isoweekday: "isoWeekday",
DDD: "dayOfYear",
dayofyears: "dayOfYear",
dayofyear: "dayOfYear",
h: "hour",
hours: "hour",
hour: "hour",
ms: "millisecond",
milliseconds: "millisecond",
millisecond: "millisecond",
m: "minute",
minutes: "minute",
minute: "minute",
M: "month",
months: "month",
month: "month",
Q: "quarter",
quarters: "quarter",
quarter: "quarter",
s: "second",
seconds: "second",
second: "second",
gg: "weekYear",
weekyears: "weekYear",
weekyear: "weekYear",
GG: "isoWeekYear",
isoweekyears: "isoWeekYear",
isoweekyear: "isoWeekYear",
w: "week",
weeks: "week",
week: "week",
W: "isoWeek",
isoweeks: "isoWeek",
isoweek: "isoWeek",
y: "year",
years: "year",
year: "year"
};
function xt(e) {
return typeof e == "string" ? Qo[e] || Qo[e.toLowerCase()] : void 0;
}
function di(e) {
var t = {}, n, a;
for (a in e)
Ce(e, a) && (n = xt(a), n && (t[n] = e[a]));
return t;
}
var Op = {
date: 9,
day: 11,
weekday: 11,
isoWeekday: 11,
dayOfYear: 4,
hour: 13,
millisecond: 16,
minute: 14,
month: 8,
quarter: 7,
second: 15,
weekYear: 1,
isoWeekYear: 1,
week: 5,
isoWeek: 5,
year: 1
};
function Tp(e) {
var t = [], n;
for (n in e)
Ce(e, n) && t.push({ unit: n, priority: Op[n] });
return t.sort(function(a, s) {
return a.priority - s.priority;
}), t;
}
var $d = /\d/, St = /\d\d/, Ud = /\d{3}/, fi = /\d{4}/, lr = /[+-]?\d{6}/, Me = /\d\d?/, zd = /\d\d\d\d?/, Hd = /\d\d\d\d\d\d?/, ir = /\d{1,3}/, hi = /\d{1,4}/, or = /[+-]?\d{1,6}/, ca = /\d+/, ur = /[+-]?\d+/, Vp = /Z|[+-]\d\d:?\d\d/gi, cr = /Z|[+-]\d\d(?::?\d\d)?/gi, Ep = /[+-]?\d+(\.\d{1,3})?/, es = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, da = /^[1-9]\d?/, mi = /^([1-9]\d|\d)/, As;
As = {};
function W(e, t, n) {
As[e] = Qt(t) ? t : function(a, s) {
return a && n ? n : t;
};
}
function Ap(e, t) {
return Ce(As, e) ? As[e](t._strict, t._locale) : new RegExp(Dp(e));
}
function Dp(e) {
return nn(
e.replace("\\", "").replace(
/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
function(t, n, a, s, r) {
return n || a || s || r;
}
)
);
}
function nn(e) {
return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
}
function wt(e) {
return e < 0 ? Math.ceil(e) || 0 : Math.floor(e);
}
function ge(e) {
var t = +e, n = 0;
return t !== 0 && isFinite(t) && (n = wt(t)), n;
}
var yl = {};
function Oe(e, t) {
var n, a = t, s;
for (typeof e == "string" && (e = [e]), ln(t) && (a = function(r, l) {
l[t] = ge(r);
}), s = e.length, n = 0; n < s; n++)
yl[e[n]] = a;
}
function ts(e, t) {
Oe(e, function(n, a, s, r) {
s._w = s._w || {}, t(n, s._w, s, r);
});
}
function Mp(e, t, n) {
t != null && Ce(yl, e) && yl[e](t, n._a, n, e);
}
function dr(e) {
return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0;
}
var tt = 0, en = 1, Nt = 2, je = 3, It = 4, tn = 5, Vn = 6, Rp = 7, Fp = 8;
X("Y", 0, 0, function() {
var e = this.year();
return e <= 9999 ? Yt(e, 4) : "+" + e;
});
X(0, ["YY", 2], 0, function() {
return this.year() % 100;
});
X(0, ["YYYY", 4], 0, "year");
X(0, ["YYYYY", 5], 0, "year");
X(0, ["YYYYYY", 6, !0], 0, "year");
W("Y", ur);
W("YY", Me, St);
W("YYYY", hi, fi);
W("YYYYY", or, lr);
W("YYYYYY", or, lr);
Oe(["YYYYY", "YYYYYY"], tt);
Oe("YYYY", function(e, t) {
t[tt] = e.length === 2 ? H.parseTwoDigitYear(e) : ge(e);
});
Oe("YY", function(e, t) {
t[tt] = H.parseTwoDigitYear(e);
});
Oe("Y", function(e, t) {
t[tt] = parseInt(e, 10);
});
function Pa(e) {
return dr(e) ? 366 : 365;
}
H.parseTwoDigitYear = function(e) {
return ge(e) + (ge(e) > 68 ? 1900 : 2e3);
};
var Yd = fa("FullYear", !0);
function Lp() {
return dr(this.year());
}
function fa(e, t) {
return function(n) {
return n != null ? (jd(this, e, n), H.updateOffset(this, t), this) : Ra(this, e);
};
}
function Ra(e, t) {
if (!e.isValid())
return NaN;
var n = e._d, a = e._isUTC;
switch (t) {
case "Milliseconds":
return a ? n.getUTCMilliseconds() : n.getMilliseconds();
case "Seconds":
return a ? n.getUTCSeconds() : n.getSeconds();
case "Minutes":
return a ? n.getUTCMinutes() : n.getMinutes();
case "Hours":
return a ? n.getUTCHours() : n.getHours();
case "Date":
return a ? n.getUTCDate() : n.getDate();
case "Day":
return a ? n.getUTCDay() : n.getDay();
case "Month":
return a ? n.getUTCMonth() : n.getMonth();
case "FullYear":
return a ? n.getUTCFullYear() : n.getFullYear();
default:
return NaN;
}
}
function jd(e, t, n) {
var a, s, r, l, i;
if (!(!e.isValid() || isNaN(n))) {
switch (a = e._d, s = e._isUTC, t) {
case "Milliseconds":
return void (s ? a.setUTCMilliseconds(n) : a.setMilliseconds(n));
case "Seconds":
return void (s ? a.setUTCSeconds(n) : a.setSeconds(n));
case "Minutes":
return void (s ? a.setUTCMinutes(n) : a.setMinutes(n));
case "Hours":
return void (s ? a.setUTCHours(n) : a.setHours(n));
case "Date":
return void (s ? a.setUTCDate(n) : a.setDate(n));
// case 'Day': // Not real
// return void (isUTC ? d.setUTCDay(value) : d.setDay(value));
// case 'Month': // Not used because we need to pass two variables
// return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));
case "FullYear":
break;
// See below ...
default:
return;
}
r = n, l = e.month(), i = e.date(), i = i === 29 && l === 1 && !dr(r) ? 28 : i, s ? a.setUTCFullYear(r, l, i) : a.setFullYear(r, l, i);
}
}
function Np(e) {
return e = xt(e), Qt(this[e]) ? this[e]() : this;
}
function Bp(e, t) {
if (typeof e == "object") {
e = di(e);
var n = Tp(e), a, s = n.length;
for (a = 0; a < s; a++)
this[n[a].unit](e[n[a].unit]);
} else if (e = xt(e), Qt(this[e]))
return this[e](t);
return this;
}
function $p(e, t) {
return (e % t + t) % t;
}
var $e;
Array.prototype.indexOf ? $e = Array.prototype.indexOf : $e = function(e) {
var t;
for (t = 0; t < this.length; ++t)
if (this[t] === e)
return t;
return -1;
};
function vi(e, t) {
if (isNaN(e) || isNaN(t))
return NaN;
var n = $p(t, 12);
return e += (t - n) / 12, n === 1 ? dr(e) ? 29 : 28 : 31 - n % 7 % 2;
}
X("M", ["MM", 2], "Mo", function() {
return this.month() + 1;
});
X("MMM", 0, 0, function(e) {
return this.localeData().monthsShort(this, e);
});
X("MMMM", 0, 0, function(e) {
return this.localeData().months(this, e);
});
W("M", Me, da);
W("MM", Me, St);
W("MMM", function(e, t) {
return t.monthsShortRegex(e);
});
W("MMMM", function(e, t) {
return t.monthsRegex(e);
});
Oe(["M", "MM"], function(e, t) {
t[en] = ge(e) - 1;
});
Oe(["MMM", "MMMM"], function(e, t, n, a) {
var s = n._locale.monthsParse(e, a, n._strict);
s != null ? t[en] = s : fe(n).invalidMonth = e;
});
var Up = "January_February_March_April_May_June_July_August_September_October_November_December".split(
"_"
), Wd = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), Gd = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, zp = es, Hp = es;
function Yp(e, t) {
return e ? Tt(this._months) ? this._months[e.month()] : this._months[(this._months.isFormat || Gd).test(t) ? "format" : "standalone"][e.month()] : Tt(this._months) ? this._months : this._months.standalone;
}
function jp(e, t) {
return e ? Tt(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[Gd.test(t) ? "format" : "standalone"][e.month()] : Tt(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone;
}
function Wp(e, t, n) {
var a, s, r, l = e.toLocaleLowerCase();
if (!this._monthsParse)
for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], a = 0; a < 12; ++a)
r = Gt([2e3, a]), this._shortMonthsParse[a] = this.monthsShort(
r,
""
).toLocaleLowerCase(), this._longMonthsParse[a] = this.months(r, "").toLocaleLowerCase();
return n ? t === "MMM" ? (s = $e.call(this._shortMonthsParse, l), s !== -1 ? s : null) : (s = $e.call(this._longMonthsParse, l), s !== -1 ? s : null) : t === "MMM" ? (s = $e.call(this._shortMonthsParse, l), s !== -1 ? s : (s = $e.call(this._longMonthsParse, l), s !== -1 ? s : null)) : (s = $e.call(this._longMonthsParse, l), s !== -1 ? s : (s = $e.call(this._shortMonthsParse, l), s !== -1 ? s : null));
}
function Gp(e, t, n) {
var a, s, r;
if (this._monthsParseExact)
return Wp.call(this, e, t, n);
for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), a = 0; a < 12; a++) {
if (s = Gt([2e3, a]), n && !this._longMonthsParse[a] && (this._longMonthsParse[a] = new RegExp(
"^" + this.months(s, "").replace(".", "") + "$",
"i"
), this._shortMonthsParse[a] = new RegExp(
"^" + this.monthsShort(s, "").replace(".", "") + "$",
"i"
)), !n && !this._monthsParse[a] && (r = "^" + this.months(s, "") + "|^" + this.monthsShort(s, ""), this._monthsParse[a] = new RegExp(r.replace(".", ""), "i")), n && t === "MMMM" && this._longMonthsParse[a].test(e))
return a;
if (n && t === "MMM" && this._shortMonthsParse[a].test(e))
return a;
if (!n && this._monthsParse[a].test(e))
return a;
}
}
function Qd(e, t) {
if (!e.isValid())
return e;
if (typeof t == "string") {
if (/^\d+$/.test(t))
t = ge(t);
else if (t = e.localeData().monthsParse(t), !ln(t))
return e;
}
var n = t, a = e.date();
return a = a < 29 ? a : Math.min(a, vi(e.year(), n)), e._isUTC ? e._d.setUTCMonth(n, a) : e._d.setMonth(n, a), e;
}
function qd(e) {
return e != null ? (Qd(this, e), H.updateOffset(this, !0), this) : Ra(this, "Month");
}
function Qp() {
return vi(this.year(), this.month());
}
function qp(e) {
return this._monthsParseExact ? (Ce(this, "_monthsRegex") || Kd.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (Ce(this, "_monthsShortRegex") || (this._monthsShortRegex = zp), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex);
}
function Kp(e) {
return this._monthsParseExact ? (Ce(this, "_monthsRegex") || Kd.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (Ce(this, "_monthsRegex") || (this._monthsRegex = Hp), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex);
}
function Kd() {
function e(o, u) {
return u.length - o.length;
}
var t = [], n = [], a = [], s, r, l, i;
for (s = 0; s < 12; s++)
r = Gt([2e3, s]), l = nn(this.monthsShort(r, "")), i = nn(this.months(r, "")), t.push(l), n.push(i), a.push(i), a.push(l);
t.sort(e), n.sort(e), a.sort(e), this._monthsRegex = new RegExp("^(" + a.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp(
"^(" + n.join("|") + ")",
"i"
), this._monthsShortStrictRegex = new RegExp(
"^(" + t.join("|") + ")",
"i"
);
}
function Jp(e, t, n, a, s, r, l) {
var i;
return e < 100 && e >= 0 ? (i = new Date(e + 400, t, n, a, s, r, l), isFinite(i.getFullYear()) && i.setFullYear(e)) : i = new Date(e, t, n, a, s, r, l), i;
}
function Fa(e) {
var t, n;
return e < 100 && e >= 0 ? (n = Array.prototype.slice.call(arguments), n[0] = e + 400, t = new Date(Date.UTC.apply(null, n)), isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) : t = new Date(Date.UTC.apply(null, arguments)), t;
}
function Ds(e, t, n) {
var a = 7 + t - n, s = (7 + Fa(e, 0, a).getUTCDay() - t) % 7;
return -s + a - 1;
}
function Jd(e, t, n, a, s) {
var r = (7 + n - a) % 7, l = Ds(e, a, s), i = 1 + 7 * (t - 1) + r + l, o, u;
return i <= 0 ? (o = e - 1, u = Pa(o) + i) : i > Pa(e) ? (o = e + 1, u = i - Pa(e)) : (o = e, u = i), {
year: o,
dayOfYear: u
};
}
function La(e, t, n) {
var a = Ds(e.year(), t, n), s = Math.floor((e.dayOfYear() - a - 1) / 7) + 1, r, l;
return s < 1 ? (l = e.year() - 1, r = s + an(l, t, n)) : s > an(e.year(), t, n) ? (r = s - an(e.year(), t, n), l = e.year() + 1) : (l = e.year(), r = s), {
week: r,
year: l
};
}
function an(e, t, n) {
var a = Ds(e, t, n), s = Ds(e + 1, t, n);
return (Pa(e) - a + s) / 7;
}
X("w", ["ww", 2], "wo", "week");
X("W", ["WW", 2], "Wo", "isoWeek");
W("w", Me, da);
W("ww", Me, St);
W("W", Me, da);
W("WW", Me, St);
ts(
["w", "ww", "W", "WW"],
function(e, t, n, a) {
t[a.substr(0, 1)] = ge(e);
}
);
function Zp(e) {
return La(e, this._week.dow, this._week.doy).week;
}
var Xp = {
dow: 0,
// Sunday is the first day of the week.
doy: 6
// The week that contains Jan 6th is the first week of the year.
};
function eS() {
return this._week.dow;
}
function tS() {
return this._week.doy;
}
function nS(e) {
var t = this.localeData().week(this);
return e == null ? t : this.add((e - t) * 7, "d");
}
function aS(e) {
var t = La(this, 1, 4).week;
return e == null ? t : this.add((e - t) * 7, "d");
}
X("d", 0, "do", "day");
X("dd", 0, 0, function(e) {
return this.localeData().weekdaysMin(this, e);
});
X("ddd", 0, 0, function(e) {
return this.localeData().weekdaysShort(this, e);
});
X("dddd", 0, 0, function(e) {
return this.localeData().weekdays(this, e);
});
X("e", 0, 0, "weekday");
X("E", 0, 0, "isoWeekday");
W("d", Me);
W("e", Me);
W("E", Me);
W("dd", function(e, t) {
return t.weekdaysMinRegex(e);
});
W("ddd", function(e, t) {
return t.weekdaysShortRegex(e);
});
W("dddd", function(e, t) {
return t.weekdaysRegex(e);
});
ts(["dd", "ddd", "dddd"], function(e, t, n, a) {
var s = n._locale.weekdaysParse(e, a, n._strict);
s != null ? t.d = s : fe(n).invalidWeekday = e;
});
ts(["d", "e", "E"], function(e, t, n, a) {
t[a] = ge(e);
});
function sS(e, t) {
return typeof e != "string" ? e : isNaN(e) ? (e = t.weekdaysParse(e), typeof e == "number" ? e : null) : parseInt(e, 10);
}
function rS(e, t) {
return typeof e == "string" ? t.weekdaysParse(e) % 7 || 7 : isNaN(e) ? null : e;
}
function yi(e, t) {
return e.slice(t, 7).concat(e.slice(0, t));
}
var lS = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), Zd = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), iS = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), oS = es, uS = es, cS = es;
function dS(e, t) {
var n = Tt(this._weekdays) ? this._weekdays : this._weekdays[e && e !== !0 && this._weekdays.isFormat.test(t) ? "format" : "standalone"];
return e === !0 ? yi(n, this._week.dow) : e ? n[e.day()] : n;
}
function fS(e) {
return e === !0 ? yi(this._weekdaysShort, this._week.dow) : e ? this._weekdaysShort[e.day()] : this._weekdaysShort;
}
function hS(e) {
return e === !0 ? yi(this._weekdaysMin, this._week.dow) : e ? this._weekdaysMin[e.day()] : this._weekdaysMin;
}
function mS(e, t, n) {
var a, s, r, l = e.toLocaleLowerCase();
if (!this._weekdaysParse)
for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], a = 0; a < 7; ++a)
r = Gt([2e3, 1]).day(a), this._minWeekdaysParse[a] = this.weekdaysMin(
r,
""
).toLocaleLowerCase(), this._shortWeekdaysParse[a] = this.weekdaysShort(
r,
""
).toLocaleLowerCase(), this._weekdaysParse[a] = this.weekdays(r, "").toLocaleLowerCase();
return n ? t === "dddd" ? (s = $e.call(this._weekdaysParse, l), s !== -1 ? s : null) : t === "ddd" ? (s = $e.call(this._shortWeekdaysParse, l), s !== -1 ? s : null) : (s = $e.call(this._minWeekdaysParse, l), s !== -1 ? s : null) : t === "dddd" ? (s = $e.call(this._weekdaysParse, l), s !== -1 || (s = $e.call(this._shortWeekdaysParse, l), s !== -1) ? s : (s = $e.call(this._minWeekdaysParse, l), s !== -1 ? s : null)) : t === "ddd" ? (s = $e.call(this._shortWeekdaysParse, l), s !== -1 || (s = $e.call(this._weekdaysParse, l), s !== -1) ? s : (s = $e.call(this._minWeekdaysParse, l), s !== -1 ? s : null)) : (s = $e.call(this._minWeekdaysParse, l), s !== -1 || (s = $e.call(this._weekdaysParse, l), s !== -1) ? s : (s = $e.call(this._shortWeekdaysParse, l), s !== -1 ? s : null));
}
function vS(e, t, n) {
var a, s, r;
if (this._weekdaysParseExact)
return mS.call(this, e, t, n);
for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), a = 0; a < 7; a++) {
if (s = Gt([2e3, 1]).day(a), n && !this._fullWeekdaysParse[a] && (this._fullWeekdaysParse[a] = new RegExp(
"^" + this.weekdays(s, "").replace(".", "\\.?") + "$",
"i"
), this._shortWeekdaysParse[a] = new RegExp(
"^" + this.weekdaysShort(s, "").replace(".", "\\.?") + "$",
"i"
), this._minWeekdaysParse[a] = new RegExp(
"^" + this.weekdaysMin(s, "").replace(".", "\\.?") + "$",
"i"
)), this._weekdaysParse[a] || (r = "^" + this.weekdays(s, "") + "|^" + this.weekdaysShort(s, "") + "|^" + this.weekdaysMin(s, ""), this._weekdaysParse[a] = new RegExp(r.replace(".", ""), "i")), n && t === "dddd" && this._fullWeekdaysParse[a].test(e))
return a;
if (n && t === "ddd" && this._shortWeekdaysParse[a].test(e))
return a;
if (n && t === "dd" && this._minWeekdaysParse[a].test(e))
return a;
if (!n && this._weekdaysParse[a].test(e))
return a;
}
}
function yS(e) {
if (!this.isValid())
return e != null ? this : NaN;
var t = Ra(this, "Day");
return e != null ? (e = sS(e, this.localeData()), this.add(e - t, "d")) : t;
}
function gS(e) {
if (!this.isValid())
return e != null ? this : NaN;
var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
return e == null ? t : this.add(e - t, "d");
}
function bS(e) {
if (!this.isValid())
return e != null ? this : NaN;
if (e != null) {
var t = rS(e, this.localeData());
return this.day(this.day() % 7 ? t : t - 7);
} else
return this.day() || 7;
}
function pS(e) {
return this._weekdaysParseExact ? (Ce(this, "_weekdaysRegex") || gi.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (Ce(this, "_weekdaysRegex") || (this._weekdaysRegex = oS), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex);
}
function SS(e) {
return this._weekdaysParseExact ? (Ce(this, "_weekdaysRegex") || gi.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (Ce(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = uS), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex);
}
function wS(e) {
return this._weekdaysParseExact ? (Ce(this, "_weekdaysRegex") || gi.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (Ce(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = cS), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex);
}
function gi() {
function e(c, d) {
return d.length - c.length;
}
var t = [], n = [], a = [], s = [], r, l, i, o, u;
for (r = 0; r < 7; r++)
l = Gt([2e3, 1]).day(r), i = nn(this.weekdaysMin(l, "")), o = nn(this.weekdaysShort(l, "")), u = nn(this.weekdays(l, "")), t.push(i), n.push(o), a.push(u), s.push(i), s.push(o), s.push(u);
t.sort(e), n.sort(e), a.sort(e), s.sort(e), this._weekdaysRegex = new RegExp("^(" + s.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp(
"^(" + a.join("|") + ")",
"i"
), this._weekdaysShortStrictRegex = new RegExp(
"^(" + n.join("|") + ")",
"i"
), this._weekdaysMinStrictRegex = new RegExp(
"^(" + t.join("|") + ")",
"i"
);
}
function bi() {
return this.hours() % 12 || 12;
}
function _S() {
return this.hours() || 24;
}
X("H", ["HH", 2], 0, "hour");
X("h", ["hh", 2], 0, bi);
X("k", ["kk", 2], 0, _S);
X("hmm", 0, 0, function() {
return "" + bi.apply(this) + Yt(this.minutes(), 2);
});
X("hmmss", 0, 0, function() {
return "" + bi.apply(this) + Yt(this.minutes(), 2) + Yt(this.seconds(), 2);
});
X("Hmm", 0, 0, function() {
return "" + this.hours() + Yt(this.minutes(), 2);
});
X("Hmmss", 0, 0, function() {
return "" + this.hours() + Yt(this.minutes(), 2) + Yt(this.seconds(), 2);
});
function Xd(e, t) {
X(e, 0, 0, function() {
return this.localeData().meridiem(
this.hours(),
this.minutes(),
t
);
});
}
Xd("a", !0);
Xd("A", !1);
function ef(e, t) {
return t._meridiemParse;
}
W("a", ef);
W("A", ef);
W("H", Me, mi);
W("h", Me, da);
W("k", Me, da);
W("HH", Me, St);
W("hh", Me, St);
W("kk", Me, St);
W("hmm", zd);
W("hmmss", Hd);
W("Hmm", zd);
W("Hmmss", Hd);
Oe(["H", "HH"], je);
Oe(["k", "kk"], function(e, t, n) {
var a = ge(e);
t[je] = a === 24 ? 0 : a;
});
Oe(["a", "A"], function(e, t, n) {
n._isPm = n._locale.isPM(e), n._meridiem = e;
});
Oe(["h", "hh"], function(e, t, n) {
t[je] = ge(e), fe(n).bigHour = !0;
});
Oe("hmm", function(e, t, n) {
var a = e.length - 2;
t[je] = ge(e.substr(0, a)), t[It] = ge(e.substr(a)), fe(n).bigHour = !0;
});
Oe("hmmss", function(e, t, n) {
var a = e.length - 4, s = e.length - 2;
t[je] = ge(e.substr(0, a)), t[It] = ge(e.substr(a, 2)), t[tn] = ge(e.substr(s)), fe(n).bigHour = !0;
});
Oe("Hmm", function(e, t, n) {
var a = e.length - 2;
t[je] = ge(e.substr(0, a)), t[It] = ge(e.substr(a));
});
Oe("Hmmss", function(e, t, n) {
var a = e.length - 4, s = e.length - 2;
t[je] = ge(e.substr(0, a)), t[It] = ge(e.substr(a, 2)), t[tn] = ge(e.substr(s));
});
function kS(e) {
return (e + "").toLowerCase().charAt(0) === "p";
}
var CS = /[ap]\.?m?\.?/i, PS = fa("Hours", !0);
function xS(e, t, n) {
return e > 11 ? n ? "pm" : "PM" : n ? "am" : "AM";
}
var tf = {
calendar: mp,
longDateFormat: bp,
invalidDate: Sp,
ordinal: _p,
dayOfMonthOrdinalParse: kp,
relativeTime: Pp,
months: Up,
monthsShort: Wd,
week: Xp,
weekdays: lS,
weekdaysMin: iS,
weekdaysShort: Zd,
meridiemParse: CS
}, Re = {}, pa = {}, Na;
function IS(e, t) {
var n, a = Math.min(e.length, t.length);
for (n = 0; n < a; n += 1)
if (e[n] !== t[n])
return n;
return a;
}
function qo(e) {
return e && e.toLowerCase().replace("_", "-");
}
function OS(e) {
for (var t = 0, n, a, s, r; t < e.length; ) {
for (r = qo(e[t]).split("-"), n = r.length, a = qo(e[t + 1]), a = a ? a.split("-") : null; n > 0; ) {
if (s = fr(r.slice(0, n).join("-")), s)
return s;
if (a && a.length >= n && IS(r, a) >= n - 1)
break;
n--;
}
t++;
}
return Na;
}
function TS(e) {
return !!(e && e.match("^[^/\\\\]*$"));
}
function fr(e) {
var t = null, n;
if (Re[e] === void 0 && typeof module < "u" && module && module.exports && TS(e))
try {
t = Na._abbr, n = require, n("./locale/" + e), wn(t);
} catch {
Re[e] = null;
}
return Re[e];
}
function wn(e, t) {
var n;
return e && (ut(t) ? n = mn(e) : n = pi(e, t), n ? Na = n : typeof console < "u" && console.warn && console.warn(
"Locale " + e + " not found. Did you forget to load it?"
)), Na._abbr;
}
function pi(e, t) {
if (t !== null) {
var n, a = tf;
if (t.abbr = e, Re[e] != null)
Nd(
"defineLocaleOverride",
"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."
), a = Re[e]._config;
else if (t.parentLocale != null)
if (Re[t.parentLocale] != null)
a = Re[t.parentLocale]._config;
else if (n = fr(t.parentLocale), n != null)
a = n._config;
else
return pa[t.parentLocale] || (pa[t.parentLocale] = []), pa[t.parentLocale].push({
name: e,
config: t
}), null;
return Re[e] = new ui(ml(a, t)), pa[e] && pa[e].forEach(function(s) {
pi(s.name, s.config);
}), wn(e), Re[e];
} else
return delete Re[e], null;
}
function VS(e, t) {
if (t != null) {
var n, a, s = tf;
Re[e] != null && Re[e].parentLocale != null ? Re[e].set(ml(Re[e]._config, t)) : (a = fr(e), a != null && (s = a._config), t = ml(s, t), a == null && (t.abbr = e), n = new ui(t), n.parentLocale = Re[e], Re[e] = n), wn(e);
} else
Re[e] != null && (Re[e].parentLocale != null ? (Re[e] = Re[e].parentLocale, e === wn() && wn(e)) : Re[e] != null && delete Re[e]);
return Re[e];
}
function mn(e) {
var t;
if (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e)
return Na;
if (!Tt(e)) {
if (t = fr(e), t)
return t;
e = [e];
}
return OS(e);
}
function ES() {
return vl(Re);
}
function Si(e) {
var t, n = e._a;
return n && fe(e).overflow === -2 && (t = n[en] < 0 || n[en] > 11 ? en : n[Nt] < 1 || n[Nt] > vi(n[tt], n[en]) ? Nt : n[je] < 0 || n[je] > 24 || n[je] === 24 && (n[It] !== 0 || n[tn] !== 0 || n[Vn] !== 0) ? je : n[It] < 0 || n[It] > 59 ? It : n[tn] < 0 || n[tn] > 59 ? tn : n[Vn] < 0 || n[Vn] > 999 ? Vn : -1, fe(e)._overflowDayOfYear && (t < tt || t > Nt) && (t = Nt), fe(e)._overflowWeeks && t === -1 && (t = Rp), fe(e)._overflowWeekday && t === -1 && (t = Fp), fe(e).overflow = t), e;
}
var AS = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, DS = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, MS = /Z|[+-]\d\d(?::?\d\d)?/, fs = [
["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
["GGGG-[W]WW", /\d{4}-W\d\d/, !1],
["YYYY-DDD", /\d{4}-\d{3}/],
["YYYY-MM", /\d{4}-\d\d/, !1],
["YYYYYYMMDD", /[+-]\d{10}/],
["YYYYMMDD", /\d{8}/],
["GGGG[W]WWE", /\d{4}W\d{3}/],
["GGGG[W]WW", /\d{4}W\d{2}/, !1],
["YYYYDDD", /\d{7}/],
["YYYYMM", /\d{6}/, !1],
["YYYY", /\d{4}/, !1]
], Nr = [
["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
["HH:mm:ss", /\d\d:\d\d:\d\d/],
["HH:mm", /\d\d:\d\d/],
["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
["HHmmss", /\d\d\d\d\d\d/],
["HHmm", /\d\d\d\d/],
["HH", /\d\d/]
], RS = /^\/?Date\((-?\d+)/i, FS = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, LS = {
UT: 0,
GMT: 0,
EDT: -4 * 60,
EST: -5 * 60,
CDT: -5 * 60,
CST: -6 * 60,
MDT: -6 * 60,
MST: -7 * 60,
PDT: -7 * 60,
PST: -8 * 60
};
function nf(e) {
var t, n, a = e._i, s = AS.exec(a) || DS.exec(a), r, l, i, o, u = fs.length, c = Nr.length;
if (s) {
for (fe(e).iso = !0, t = 0, n = u; t < n; t++)
if (fs[t][1].exec(s[1])) {
l = fs[t][0], r = fs[t][2] !== !1;
break;
}
if (l == null) {
e._isValid = !1;
return;
}
if (s[3]) {
for (t = 0, n = c; t < n; t++)
if (Nr[t][1].exec(s[3])) {
i = (s[2] || " ") + Nr[t][0];
break;
}
if (i == null) {
e._isValid = !1;
return;
}
}
if (!r && i != null) {
e._isValid = !1;
return;
}
if (s[4])
if (MS.exec(s[4]))
o = "Z";
else {
e._isValid = !1;
return;
}
e._f = l + (i || "") + (o || ""), _i(e);
} else
e._isValid = !1;
}
function NS(e, t, n, a, s, r) {
var l = [
BS(e),
Wd.indexOf(t),
parseInt(n, 10),
parseInt(a, 10),
parseInt(s, 10)
];
return r && l.push(parseInt(r, 10)), l;
}
function BS(e) {
var t = parseInt(e, 10);
return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t;
}
function $S(e) {
return e.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "");
}
function US(e, t, n) {
if (e) {
var a = Zd.indexOf(e), s = new Date(
t[0],
t[1],
t[2]
).getDay();
if (a !== s)
return fe(n).weekdayMismatch = !0, n._isValid = !1, !1;
}
return !0;
}
function zS(e, t, n) {
if (e)
return LS[e];
if (t)
return 0;
var a = parseInt(n, 10), s = a % 100, r = (a - s) / 100;
return r * 60 + s;
}
function af(e) {
var t = FS.exec($S(e._i)), n;
if (t) {
if (n = NS(
t[4],
t[3],
t[2],
t[5],
t[6],
t[7]
), !US(t[1], n, e))
return;
e._a = n, e._tzm = zS(t[8], t[9], t[10]), e._d = Fa.apply(null, e._a), e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), fe(e).rfc2822 = !0;
} else
e._isValid = !1;
}
function HS(e) {
var t = RS.exec(e._i);
if (t !== null) {
e._d = /* @__PURE__ */ new Date(+t[1]);
return;
}
if (nf(e), e._isValid === !1)
delete e._isValid;
else
return;
if (af(e), e._isValid === !1)
delete e._isValid;
else
return;
e._strict ? e._isValid = !1 : H.createFromInputFallback(e);
}
H.createFromInputFallback = Pt(
"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",
function(e) {
e._d = /* @__PURE__ */ new Date(e._i + (e._useUTC ? " UTC" : ""));
}
);
function Wn(e, t, n) {
return e ?? t ?? n;
}
function YS(e) {
var t = new Date(H.now());
return e._useUTC ? [
t.getUTCFullYear(),
t.getUTCMonth(),
t.getUTCDate()
] : [t.getFullYear(), t.getMonth(), t.getDate()];
}
function wi(e) {
var t, n, a = [], s, r, l;
if (!e._d) {
for (s = YS(e), e._w && e._a[Nt] == null && e._a[en] == null && jS(e), e._dayOfYear != null && (l = Wn(e._a[tt], s[tt]), (e._dayOfYear > Pa(l) || e._dayOfYear === 0) && (fe(e)._overflowDayOfYear = !0), n = Fa(l, 0, e._dayOfYear), e._a[en] = n.getUTCMonth(), e._a[Nt] = n.getUTCDate()), t = 0; t < 3 && e._a[t] == null; ++t)
e._a[t] = a[t] = s[t];
for (; t < 7; t++)
e._a[t] = a[t] = e._a[t] == null ? t === 2 ? 1 : 0 : e._a[t];
e._a[je] === 24 && e._a[It] === 0 && e._a[tn] === 0 && e._a[Vn] === 0 && (e._nextDay = !0, e._a[je] = 0), e._d = (e._useUTC ? Fa : Jp).apply(
null,
a
), r = e._useUTC ? e._d.getUTCDay() : e._d.getDay(), e._tzm != null && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[je] = 24), e._w && typeof e._w.d < "u" && e._w.d !== r && (fe(e).weekdayMismatch = !0);
}
}
function jS(e) {
var t, n, a, s, r, l, i, o, u;
t = e._w, t.GG != null || t.W != null || t.E != null ? (r = 1, l = 4, n = Wn(
t.GG,
e._a[tt],
La(Ae(), 1, 4).year
), a = Wn(t.W, 1), s = Wn(t.E, 1), (s < 1 || s > 7) && (o = !0)) : (r = e._locale._week.dow, l = e._locale._week.doy, u = La(Ae(), r, l), n = Wn(t.gg, e._a[tt], u.year), a = Wn(t.w, u.week), t.d != null ? (s = t.d, (s < 0 || s > 6) && (o = !0)) : t.e != null ? (s = t.e + r, (t.e < 0 || t.e > 6) && (o = !0)) : s = r), a < 1 || a > an(n, r, l) ? fe(e)._overflowWeeks = !0 : o != null ? fe(e)._overflowWeekday = !0 : (i = Jd(n, a, s, r, l), e._a[tt] = i.year, e._dayOfYear = i.dayOfYear);
}
H.ISO_8601 = function() {
};
H.RFC_2822 = function() {
};
function _i(e) {
if (e._f === H.ISO_8601) {
nf(e);
return;
}
if (e._f === H.RFC_2822) {
af(e);
return;
}
e._a = [], fe(e).empty = !0;
var t = "" + e._i, n, a, s, r, l, i = t.length, o = 0, u, c;
for (s = Bd(e._f, e._locale).match(ci) || [], c = s.length, n = 0; n < c; n++)
r = s[n], a = (t.match(Ap(r, e)) || [])[0], a && (l = t.substr(0, t.indexOf(a)), l.length > 0 && fe(e).unusedInput.push(l), t = t.slice(
t.indexOf(a) + a.length
), o += a.length), qn[r] ? (a ? fe(e).empty = !1 : fe(e).unusedTokens.push(r), Mp(r, a, e)) : e._strict && !a && fe(e).unusedTokens.push(r);
fe(e).charsLeftOver = i - o, t.length > 0 && fe(e).unusedInput.push(t), e._a[je] <= 12 && fe(e).bigHour === !0 && e._a[je] > 0 && (fe(e).bigHour = void 0), fe(e).parsedDateParts = e._a.slice(0), fe(e).meridiem = e._meridiem, e._a[je] = WS(
e._locale,
e._a[je],
e._meridiem
), u = fe(e).era, u !== null && (e._a[tt] = e._locale.erasConvertYear(u, e._a[tt])), wi(e), Si(e);
}
function WS(e, t, n) {
var a;
return n == null ? t : e.meridiemHour != null ? e.meridiemHour(t, n) : (e.isPM != null && (a = e.isPM(n), a && t < 12 && (t += 12), !a && t === 12 && (t = 0)), t);
}
function GS(e) {
var t, n, a, s, r, l, i = !1, o = e._f.length;
if (o === 0) {
fe(e).invalidFormat = !0, e._d = /* @__PURE__ */ new Date(NaN);
return;
}
for (s = 0; s < o; s++)
r = 0, l = !1, t = oi({}, e), e._useUTC != null && (t._useUTC = e._useUTC), t._f = e._f[s], _i(t), ii(t) && (l = !0), r += fe(t).charsLeftOver, r += fe(t).unusedTokens.length * 10, fe(t).score = r, i ? r < a && (a = r, n = t) : (a == null || r < a || l) && (a = r, n = t, l && (i = !0));
bn(e, n || t);
}
function QS(e) {
if (!e._d) {
var t = di(e._i), n = t.day === void 0 ? t.date : t.day;
e._a = Fd(
[t.year, t.month, n, t.hour, t.minute, t.second, t.millisecond],
function(a) {
return a && parseInt(a, 10);
}
), wi(e);
}
}
function qS(e) {
var t = new Xa(Si(sf(e)));
return t._nextDay && (t.add(1, "d"), t._nextDay = void 0), t;
}
function sf(e) {
var t = e._i, n = e._f;
return e._locale = e._locale || mn(e._l), t === null || n === void 0 && t === "" ? rr({ nullInput: !0 }) : (typeof t == "string" && (e._i = t = e._locale.preparse(t)), Vt(t) ? new Xa(Si(t)) : (Za(t) ? e._d = t : Tt(n) ? GS(e) : n ? _i(e) : KS(e), ii(e) || (e._d = null), e));
}
function KS(e) {
var t = e._i;
ut(t) ? e._d = new Date(H.now()) : Za(t) ? e._d = new Date(t.valueOf()) : typeof t == "string" ? HS(e) : Tt(t) ? (e._a = Fd(t.slice(0), function(n) {
return parseInt(n, 10);
}), wi(e)) : Dn(t) ? QS(e) : ln(t) ? e._d = new Date(t) : H.createFromInputFallback(e);
}
function rf(e, t, n, a, s) {
var r = {};
return (t === !0 || t === !1) && (a = t, t = void 0), (n === !0 || n === !1) && (a = n, n = void 0), (Dn(e) && li(e) || Tt(e) && e.length === 0) && (e = void 0), r._isAMomentObject = !0, r._useUTC = r._isUTC = s, r._l = n, r._i = e, r._f = t, r._strict = a, qS(r);
}
function Ae(e, t, n, a) {
return rf(e, t, n, a, !1);
}
var JS = Pt(
"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",
function() {
var e = Ae.apply(null, arguments);
return this.isValid() && e.isValid() ? e < this ? this : e : rr();
}
), ZS = Pt(
"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",
function() {
var e = Ae.apply(null, arguments);
return this.isValid() && e.isValid() ? e > this ? this : e : rr();
}
);
function lf(e, t) {
var n, a;
if (t.length === 1 && Tt(t[0]) && (t = t[0]), !t.length)
return Ae();
for (n = t[0], a = 1; a < t.length; ++a)
(!t[a].isValid() || t[a][e](n)) && (n = t[a]);
return n;
}
function XS() {
var e = [].slice.call(arguments, 0);
return lf("isBefore", e);
}
function ew() {
var e = [].slice.call(arguments, 0);
return lf("isAfter", e);
}
var tw = function() {
return Date.now ? Date.now() : +/* @__PURE__ */ new Date();
}, Sa = [
"year",
"quarter",
"month",
"week",
"day",
"hour",
"minute",
"second",
"millisecond"
];
function nw(e) {
var t, n = !1, a, s = Sa.length;
for (t in e)
if (Ce(e, t) && !($e.call(Sa, t) !== -1 && (e[t] == null || !isNaN(e[t]))))
return !1;
for (a = 0; a < s; ++a)
if (e[Sa[a]]) {
if (n)
return !1;
parseFloat(e[Sa[a]]) !== ge(e[Sa[a]]) && (n = !0);
}
return !0;
}
function aw() {
return this._isValid;
}
function sw() {
return Rt(NaN);
}
function hr(e) {
var t = di(e), n = t.year || 0, a = t.quarter || 0, s = t.month || 0, r = t.week || t.isoWeek || 0, l = t.day || 0, i = t.hour || 0, o = t.minute || 0, u = t.second || 0, c = t.millisecond || 0;
this._isValid = nw(t), this._milliseconds = +c + u * 1e3 + // 1000
o * 6e4 + // 1000 * 60
i * 1e3 * 60 * 60, this._days = +l + r * 7, this._months = +s + a * 3 + n * 12, this._data = {}, this._locale = mn(), this._bubble();
}
function ps(e) {
return e instanceof hr;
}
function gl(e) {
return e < 0 ? Math.round(-1 * e) * -1 : Math.round(e);
}
function rw(e, t, n) {
var a = Math.min(e.length, t.length), s = Math.abs(e.length - t.length), r = 0, l;
for (l = 0; l < a; l++)
ge(e[l]) !== ge(t[l]) && r++;
return r + s;
}
function of(e, t) {
X(e, 0, 0, function() {
var n = this.utcOffset(), a = "+";
return n < 0 && (n = -n, a = "-"), a + Yt(~~(n / 60), 2) + t + Yt(~~n % 60, 2);
});
}
of("Z", ":");
of("ZZ", "");
W("Z", cr);
W("ZZ", cr);
Oe(["Z", "ZZ"], function(e, t, n) {
n._useUTC = !0, n._tzm = ki(cr, e);
});
var lw = /([\+\-]|\d\d)/gi;
function ki(e, t) {
var n = (t || "").match(e), a, s, r;
return n === null ? null : (a = n[n.length - 1] || [], s = (a + "").match(lw) || ["-", 0, 0], r = +(s[1] * 60) + ge(s[2]), r === 0 ? 0 : s[0] === "+" ? r : -r);
}
function Ci(e, t) {
var n, a;
return t._isUTC ? (n = t.clone(), a = (Vt(e) || Za(e) ? e.valueOf() : Ae(e).valueOf()) - n.valueOf(), n._d.setTime(n._d.valueOf() + a), H.updateOffset(n, !1), n) : Ae(e).local();
}
function bl(e) {
return -Math.round(e._d.getTimezoneOffset());
}
H.updateOffset = function() {
};
function iw(e, t, n) {
var a = this._offset || 0, s;
if (!this.isValid())
return e != null ? this : NaN;
if (e != null) {
if (typeof e == "string") {
if (e = ki(cr, e), e === null)
return this;
} else Math.abs(e) < 16 && !n && (e = e * 60);
return !this._isUTC && t && (s = bl(this)), this._offset = e, this._isUTC = !0, s != null && this.add(s, "m"), a !== e && (!t || this._changeInProgress ? df(
this,
Rt(e - a, "m"),
1,
!1
) : this._changeInProgress || (this._changeInProgress = !0, H.updateOffset(this, !0), this._changeInProgress = null)), this;
} else
return this._isUTC ? a : bl(this);
}
function ow(e, t) {
return e != null ? (typeof e != "string" && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset();
}
function uw(e) {
return this.utcOffset(0, e);
}
function cw(e) {
return this._isUTC && (this.utcOffset(0, e), this._isUTC = !1, e && this.subtract(bl(this), "m")), this;
}
function dw() {
if (this._tzm != null)
this.utcOffset(this._tzm, !1, !0);
else if (typeof this._i == "string") {
var e = ki(Vp, this._i);
e != null ? this.utcOffset(e) : this.utcOffset(0, !0);
}
return this;
}
function fw(e) {
return this.isValid() ? (e = e ? Ae(e).utcOffset() : 0, (this.utcOffset() - e) % 60 === 0) : !1;
}
function hw() {
return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
}
function mw() {
if (!ut(this._isDSTShifted))
return this._isDSTShifted;
var e = {}, t;
return oi(e, this), e = sf(e), e._a ? (t = e._isUTC ? Gt(e._a) : Ae(e._a), this._isDSTShifted = this.isValid() && rw(e._a, t.toArray()) > 0) : this._isDSTShifted = !1, this._isDSTShifted;
}
function vw() {
return this.isValid() ? !this._isUTC : !1;
}
function yw() {
return this.isValid() ? this._isUTC : !1;
}
function uf() {
return this.isValid() ? this._isUTC && this._offset === 0 : !1;
}
var gw = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, bw = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
function Rt(e, t) {
var n = e, a = null, s, r, l;
return ps(e) ? n = {
ms: e._milliseconds,
d: e._days,
M: e._months
} : ln(e) || !isNaN(+e) ? (n = {}, t ? n[t] = +e : n.milliseconds = +e) : (a = gw.exec(e)) ? (s = a[1] === "-" ? -1 : 1, n = {
y: 0,
d: ge(a[Nt]) * s,
h: ge(a[je]) * s,
m: ge(a[It]) * s,
s: ge(a[tn]) * s,
ms: ge(gl(a[Vn] * 1e3)) * s
// the millisecond decimal point is included in the match
}) : (a = bw.exec(e)) ? (s = a[1] === "-" ? -1 : 1, n = {
y: In(a[2], s),
M: In(a[3], s),
w: In(a[4], s),
d: In(a[5], s),
h: In(a[6], s),
m: In(a[7], s),
s: In(a[8], s)
}) : n == null ? n = {} : typeof n == "object" && ("from" in n || "to" in n) && (l = pw(
Ae(n.from),
Ae(n.to)
), n = {}, n.ms = l.milliseconds, n.M = l.months), r = new hr(n), ps(e) && Ce(e, "_locale") && (r._locale = e._locale), ps(e) && Ce(e, "_isValid") && (r._isValid = e._isValid), r;
}
Rt.fn = hr.prototype;
Rt.invalid = sw;
function In(e, t) {
var n = e && parseFloat(e.replace(",", "."));
return (isNaN(n) ? 0 : n) * t;
}
function Ko(e, t) {
var n = {};
return n.months = t.month() - e.month() + (t.year() - e.year()) * 12, e.clone().add(n.months, "M").isAfter(t) && --n.months, n.milliseconds = +t - +e.clone().add(n.months, "M"), n;
}
function pw(e, t) {
var n;
return e.isValid() && t.isValid() ? (t = Ci(t, e), e.isBefore(t) ? n = Ko(e, t) : (n = Ko(t, e), n.milliseconds = -n.milliseconds, n.months = -n.months), n) : { milliseconds: 0, months: 0 };
}
function cf(e, t) {
return function(n, a) {
var s, r;
return a !== null && !isNaN(+a) && (Nd(
t,
"moment()." + t + "(period, number) is deprecated. Please use moment()." + t + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."
), r = n, n = a, a = r), s = Rt(n, a), df(this, s, e), this;
};
}
function df(e, t, n, a) {
var s = t._milliseconds, r = gl(t._days), l = gl(t._months);
e.isValid() && (a = a ?? !0, l && Qd(e, Ra(e, "Month") + l * n), r && jd(e, "Date", Ra(e, "Date") + r * n), s && e._d.setTime(e._d.valueOf() + s * n), a && H.updateOffset(e, r || l));
}
var Sw = cf(1, "add"), ww = cf(-1, "subtract");
function ff(e) {
return typeof e == "string" || e instanceof String;
}
function _w(e) {
return Vt(e) || Za(e) || ff(e) || ln(e) || Cw(e) || kw(e) || e === null || e === void 0;
}
function kw(e) {
var t = Dn(e) && !li(e), n = !1, a = [
"years",
"year",
"y",
"months",
"month",
"M",
"days",
"day",
"d",
"dates",
"date",
"D",
"hours",
"hour",
"h",
"minutes",
"minute",
"m",
"seconds",
"second",
"s",
"milliseconds",
"millisecond",
"ms"
], s, r, l = a.length;
for (s = 0; s < l; s += 1)
r = a[s], n = n || Ce(e, r);
return t && n;
}
function Cw(e) {
var t = Tt(e), n = !1;
return t && (n = e.filter(function(a) {
return !ln(a) && ff(e);
}).length === 0), t && n;
}
function Pw(e) {
var t = Dn(e) && !li(e), n = !1, a = [
"sameDay",
"nextDay",
"lastDay",
"nextWeek",
"lastWeek",
"sameElse"
], s, r;
for (s = 0; s < a.length; s += 1)
r = a[s], n = n || Ce(e, r);
return t && n;
}
function xw(e, t) {
var n = e.diff(t, "days", !0);
return n < -6 ? "sameElse" : n < -1 ? "lastWeek" : n < 0 ? "lastDay" : n < 1 ? "sameDay" : n < 2 ? "nextDay" : n < 7 ? "nextWeek" : "sameElse";
}
function Iw(e, t) {
arguments.length === 1 && (arguments[0] ? _w(arguments[0]) ? (e = arguments[0], t = void 0) : Pw(arguments[0]) && (t = arguments[0], e = void 0) : (e = void 0, t = void 0));
var n = e || Ae(), a = Ci(n, this).startOf("day"), s = H.calendarFormat(this, a) || "sameElse", r = t && (Qt(t[s]) ? t[s].call(this, n) : t[s]);
return this.format(
r || this.localeData().calendar(s, this, Ae(n))
);
}
function Ow() {
return new Xa(this);
}
function Tw(e, t) {
var n = Vt(e) ? e : Ae(e);
return this.isValid() && n.isValid() ? (t = xt(t) || "millisecond", t === "millisecond" ? this.valueOf() > n.valueOf() : n.valueOf() < this.clone().startOf(t).valueOf()) : !1;
}
function Vw(e, t) {
var n = Vt(e) ? e : Ae(e);
return this.isValid() && n.isValid() ? (t = xt(t) || "millisecond", t === "millisecond" ? this.valueOf() < n.valueOf() : this.clone().endOf(t).valueOf() < n.valueOf()) : !1;
}
function Ew(e, t, n, a) {
var s = Vt(e) ? e : Ae(e), r = Vt(t) ? t : Ae(t);
return this.isValid() && s.isValid() && r.isValid() ? (a = a || "()", (a[0] === "(" ? this.isAfter(s, n) : !this.isBefore(s, n)) && (a[1] === ")" ? this.isBefore(r, n) : !this.isAfter(r, n))) : !1;
}
function Aw(e, t) {
var n = Vt(e) ? e : Ae(e), a;
return this.isValid() && n.isValid() ? (t = xt(t) || "millisecond", t === "millisecond" ? this.valueOf() === n.valueOf() : (a = n.valueOf(), this.clone().startOf(t).valueOf() <= a && a <= this.clone().endOf(t).valueOf())) : !1;
}
function Dw(e, t) {
return this.isSame(e, t) || this.isAfter(e, t);
}
function Mw(e, t) {
return this.isSame(e, t) || this.isBefore(e, t);
}
function Rw(e, t, n) {
var a, s, r;
if (!this.isValid())
return NaN;
if (a = Ci(e, this), !a.isValid())
return NaN;
switch (s = (a.utcOffset() - this.utcOffset()) * 6e4, t = xt(t), t) {
case "year":
r = Ss(this, a) / 12;
break;
case "month":
r = Ss(this, a);
break;
case "quarter":
r = Ss(this, a) / 3;
break;
case "second":
r = (this - a) / 1e3;
break;
// 1000
case "minute":
r = (this - a) / 6e4;
break;
// 1000 * 60
case "hour":
r = (this - a) / 36e5;
break;
// 1000 * 60 * 60
case "day":
r = (this - a - s) / 864e5;
break;
// 1000 * 60 * 60 * 24, negate dst
case "week":
r = (this - a - s) / 6048e5;
break;
// 1000 * 60 * 60 * 24 * 7, negate dst
default:
r = this - a;
}
return n ? r : wt(r);
}
function Ss(e, t) {
if (e.date() < t.date())
return -Ss(t, e);
var n = (t.year() - e.year()) * 12 + (t.month() - e.month()), a = e.clone().add(n, "months"), s, r;
return t - a < 0 ? (s = e.clone().add(n - 1, "months"), r = (t - a) / (a - s)) : (s = e.clone().add(n + 1, "months"), r = (t - a) / (s - a)), -(n + r) || 0;
}
H.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ";
H.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
function Fw() {
return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
}
function Lw(e) {
if (!this.isValid())
return null;
var t = e !== !0, n = t ? this.clone().utc() : this;
return n.year() < 0 || n.year() > 9999 ? bs(
n,
t ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"
) : Qt(Date.prototype.toISOString) ? t ? this.toDate().toISOString() : new Date(this.valueOf() + this.utcOffset() * 60 * 1e3).toISOString().replace("Z", bs(n, "Z")) : bs(
n,
t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"
);
}
function Nw() {
if (!this.isValid())
return "moment.invalid(/* " + this._i + " */)";
var e = "moment", t = "", n, a, s, r;
return this.isLocal() || (e = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone", t = "Z"), n = "[" + e + '("]', a = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY", s = "-MM-DD[T]HH:mm:ss.SSS", r = t + '[")]', this.format(n + a + s + r);
}
function Bw(e) {
e || (e = this.isUtc() ? H.defaultFormatUtc : H.defaultFormat);
var t = bs(this, e);
return this.localeData().postformat(t);
}
function $w(e, t) {
return this.isValid() && (Vt(e) && e.isValid() || Ae(e).isValid()) ? Rt({ to: this, from: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
}
function Uw(e) {
return this.from(Ae(), e);
}
function zw(e, t) {
return this.isValid() && (Vt(e) && e.isValid() || Ae(e).isValid()) ? Rt({ from: this, to: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
}
function Hw(e) {
return this.to(Ae(), e);
}
function hf(e) {
var t;
return e === void 0 ? this._locale._abbr : (t = mn(e), t != null && (this._locale = t), this);
}
var mf = Pt(
"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
function(e) {
return e === void 0 ? this.localeData() : this.locale(e);
}
);
function vf() {
return this._locale;
}
var Ms = 1e3, Kn = 60 * Ms, Rs = 60 * Kn, yf = (365 * 400 + 97) * 24 * Rs;
function Jn(e, t) {
return (e % t + t) % t;
}
function gf(e, t, n) {
return e < 100 && e >= 0 ? new Date(e + 400, t, n) - yf : new Date(e, t, n).valueOf();
}
function bf(e, t, n) {
return e < 100 && e >= 0 ? Date.UTC(e + 400, t, n) - yf : Date.UTC(e, t, n);
}
function Yw(e) {
var t, n;
if (e = xt(e), e === void 0 || e === "millisecond" || !this.isValid())
return this;
switch (n = this._isUTC ? bf : gf, e) {
case "year":
t = n(this.year(), 0, 1);
break;
case "quarter":
t = n(
this.year(),
this.month() - this.month() % 3,
1
);
break;
case "month":
t = n(this.year(), this.month(), 1);
break;
case "week":
t = n(
this.year(),
this.month(),
this.date() - this.weekday()
);
break;
case "isoWeek":
t = n(
this.year(),
this.month(),
this.date() - (this.isoWeekday() - 1)
);
break;
case "day":
case "date":
t = n(this.year(), this.month(), this.date());
break;
case "hour":
t = this._d.valueOf(), t -= Jn(
t + (this._isUTC ? 0 : this.utcOffset() * Kn),
Rs
);
break;
case "minute":
t = this._d.valueOf(), t -= Jn(t, Kn);
break;
case "second":
t = this._d.valueOf(), t -= Jn(t, Ms);
break;
}
return this._d.setTime(t), H.updateOffset(this, !0), this;
}
function jw(e) {
var t, n;
if (e = xt(e), e === void 0 || e === "millisecond" || !this.isValid())
return this;
switch (n = this._isUTC ? bf : gf, e) {
case "year":
t = n(this.year() + 1, 0, 1) - 1;
break;
case "quarter":
t = n(
this.year(),
this.month() - this.month() % 3 + 3,
1
) - 1;
break;
case "month":
t = n(this.year(), this.month() + 1, 1) - 1;
break;
case "week":
t = n(
this.year(),
this.month(),
this.date() - this.weekday() + 7
) - 1;
break;
case "isoWeek":
t = n(
this.year(),
this.month(),
this.date() - (this.isoWeekday() - 1) + 7
) - 1;
break;
case "day":
case "date":
t = n(this.year(), this.month(), this.date() + 1) - 1;
break;
case "hour":
t = this._d.valueOf(), t += Rs - Jn(
t + (this._isUTC ? 0 : this.utcOffset() * Kn),
Rs
) - 1;
break;
case "minute":
t = this._d.valueOf(), t += Kn - Jn(t, Kn) - 1;
break;
case "second":
t = this._d.valueOf(), t += Ms - Jn(t, Ms) - 1;
break;
}
return this._d.setTime(t), H.updateOffset(this, !0), this;
}
function Ww() {
return this._d.valueOf() - (this._offset || 0) * 6e4;
}
function Gw() {
return Math.floor(this.valueOf() / 1e3);
}
function Qw() {
return new Date(this.valueOf());
}
function qw() {
var e = this;
return [
e.year(),
e.month(),
e.date(),
e.hour(),
e.minute(),
e.second(),
e.millisecond()
];
}
function Kw() {
var e = this;
return {
years: e.year(),
months: e.month(),
date: e.date(),
hours: e.hours(),
minutes: e.minutes(),
seconds: e.seconds(),
milliseconds: e.milliseconds()
};
}
function Jw() {
return this.isValid() ? this.toISOString() : null;
}
function Zw() {
return ii(this);
}
function Xw() {
return bn({}, fe(this));
}
function e_() {
return fe(this).overflow;
}
function t_() {
return {
input: this._i,
format: this._f,
locale: this._locale,
isUTC: this._isUTC,
strict: this._strict
};
}
X("N", 0, 0, "eraAbbr");
X("NN", 0, 0, "eraAbbr");
X("NNN", 0, 0, "eraAbbr");
X("NNNN", 0, 0, "eraName");
X("NNNNN", 0, 0, "eraNarrow");
X("y", ["y", 1], "yo", "eraYear");
X("y", ["yy", 2], 0, "eraYear");
X("y", ["yyy", 3], 0, "eraYear");
X("y", ["yyyy", 4], 0, "eraYear");
W("N", Pi);
W("NN", Pi);
W("NNN", Pi);
W("NNNN", f_);
W("NNNNN", h_);
Oe(
["N", "NN", "NNN", "NNNN", "NNNNN"],
function(e, t, n, a) {
var s = n._locale.erasParse(e, a, n._strict);
s ? fe(n).era = s : fe(n).invalidEra = e;
}
);
W("y", ca);
W("yy", ca);
W("yyy", ca);
W("yyyy", ca);
W("yo", m_);
Oe(["y", "yy", "yyy", "yyyy"], tt);
Oe(["yo"], function(e, t, n, a) {
var s;
n._locale._eraYearOrdinalRegex && (s = e.match(n._locale._eraYearOrdinalRegex)), n._locale.eraYearOrdinalParse ? t[tt] = n._locale.eraYearOrdinalParse(e, s) : t[tt] = parseInt(e, 10);
});
function n_(e, t) {
var n, a, s, r = this._eras || mn("en")._eras;
for (n = 0, a = r.length; n < a; ++n) {
switch (typeof r[n].since) {
case "string":
s = H(r[n].since).startOf("day"), r[n].since = s.valueOf();
break;
}
switch (typeof r[n].until) {
case "undefined":
r[n].until = 1 / 0;
break;
case "string":
s = H(r[n].until).startOf("day").valueOf(), r[n].until = s.valueOf();
break;
}
}
return r;
}
function a_(e, t, n) {
var a, s, r = this.eras(), l, i, o;
for (e = e.toUpperCase(), a = 0, s = r.length; a < s; ++a)
if (l = r[a].name.toUpperCase(), i = r[a].abbr.toUpperCase(), o = r[a].narrow.toUpperCase(), n)
switch (t) {
case "N":
case "NN":
case "NNN":
if (i === e)
return r[a];
break;
case "NNNN":
if (l === e)
return r[a];
break;
case "NNNNN":
if (o === e)
return r[a];
break;
}
else if ([l, i, o].indexOf(e) >= 0)
return r[a];
}
function s_(e, t) {
var n = e.since <= e.until ? 1 : -1;
return t === void 0 ? H(e.since).year() : H(e.since).year() + (t - e.offset) * n;
}
function r_() {
var e, t, n, a = this.localeData().eras();
for (e = 0, t = a.length; e < t; ++e)
if (n = this.clone().startOf("day").valueOf(), a[e].since <= n && n <= a[e].until || a[e].until <= n && n <= a[e].since)
return a[e].name;
return "";
}
function l_() {
var e, t, n, a = this.localeData().eras();
for (e = 0, t = a.length; e < t; ++e)
if (n = this.clone().startOf("day").valueOf(), a[e].since <= n && n <= a[e].until || a[e].until <= n && n <= a[e].since)
return a[e].narrow;
return "";
}
function i_() {
var e, t, n, a = this.localeData().eras();
for (e = 0, t = a.length; e < t; ++e)
if (n = this.clone().startOf("day").valueOf(), a[e].since <= n && n <= a[e].until || a[e].until <= n && n <= a[e].since)
return a[e].abbr;
return "";
}
function o_() {
var e, t, n, a, s = this.localeData().eras();
for (e = 0, t = s.length; e < t; ++e)
if (n = s[e].since <= s[e].until ? 1 : -1, a = this.clone().startOf("day").valueOf(), s[e].since <= a && a <= s[e].until || s[e].until <= a && a <= s[e].since)
return (this.year() - H(s[e].since).year()) * n + s[e].offset;
return this.year();
}
function u_(e) {
return Ce(this, "_erasNameRegex") || xi.call(this), e ? this._erasNameRegex : this._erasRegex;
}
function c_(e) {
return Ce(this, "_erasAbbrRegex") || xi.call(this), e ? this._erasAbbrRegex : this._erasRegex;
}
function d_(e) {
return Ce(this, "_erasNarrowRegex") || xi.call(this), e ? this._erasNarrowRegex : this._erasRegex;
}
function Pi(e, t) {
return t.erasAbbrRegex(e);
}
function f_(e, t) {
return t.erasNameRegex(e);
}
function h_(e, t) {
return t.erasNarrowRegex(e);
}
function m_(e, t) {
return t._eraYearOrdinalRegex || ca;
}
function xi() {
var e = [], t = [], n = [], a = [], s, r, l, i, o, u = this.eras();
for (s = 0, r = u.length; s < r; ++s)
l = nn(u[s].name), i = nn(u[s].abbr), o = nn(u[s].narrow), t.push(l), e.push(i), n.push(o), a.push(l), a.push(i), a.push(o);
this._erasRegex = new RegExp("^(" + a.join("|") + ")", "i"), this._erasNameRegex = new RegExp("^(" + t.join("|") + ")", "i"), this._erasAbbrRegex = new RegExp("^(" + e.join("|") + ")", "i"), this._erasNarrowRegex = new RegExp(
"^(" + n.join("|") + ")",
"i"
);
}
X(0, ["gg", 2], 0, function() {
return this.weekYear() % 100;
});
X(0, ["GG", 2], 0, function() {
return this.isoWeekYear() % 100;
});
function mr(e, t) {
X(0, [e, e.length], 0, t);
}
mr("gggg", "weekYear");
mr("ggggg", "weekYear");
mr("GGGG", "isoWeekYear");
mr("GGGGG", "isoWeekYear");
W("G", ur);
W("g", ur);
W("GG", Me, St);
W("gg", Me, St);
W("GGGG", hi, fi);
W("gggg", hi, fi);
W("GGGGG", or, lr);
W("ggggg", or, lr);
ts(
["gggg", "ggggg", "GGGG", "GGGGG"],
function(e, t, n, a) {
t[a.substr(0, 2)] = ge(e);
}
);
ts(["gg", "GG"], function(e, t, n, a) {
t[a] = H.parseTwoDigitYear(e);
});
function v_(e) {
return pf.call(
this,
e,
this.week(),
this.weekday() + this.localeData()._week.dow,
this.localeData()._week.dow,
this.localeData()._week.doy
);
}
function y_(e) {
return pf.call(
this,
e,
this.isoWeek(),
this.isoWeekday(),
1,
4
);
}
function g_() {
return an(this.year(), 1, 4);
}
function b_() {
return an(this.isoWeekYear(), 1, 4);
}
function p_() {
var e = this.localeData()._week;
return an(this.year(), e.dow, e.doy);
}
function S_() {
var e = this.localeData()._week;
return an(this.weekYear(), e.dow, e.doy);
}
function pf(e, t, n, a, s) {
var r;
return e == null ? La(this, a, s).year : (r = an(e, a, s), t > r && (t = r), w_.call(this, e, t, n, a, s));
}
function w_(e, t, n, a, s) {
var r = Jd(e, t, n, a, s), l = Fa(r.year, 0, r.dayOfYear);
return this.year(l.getUTCFullYear()), this.month(l.getUTCMonth()), this.date(l.getUTCDate()), this;
}
X("Q", 0, "Qo", "quarter");
W("Q", $d);
Oe("Q", function(e, t) {
t[en] = (ge(e) - 1) * 3;
});
function __(e) {
return e == null ? Math.ceil((this.month() + 1) / 3) : this.month((e - 1) * 3 + this.month() % 3);
}
X("D", ["DD", 2], "Do", "date");
W("D", Me, da);
W("DD", Me, St);
W("Do", function(e, t) {
return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient;
});
Oe(["D", "DD"], Nt);
Oe("Do", function(e, t) {
t[Nt] = ge(e.match(Me)[0]);
});
var Sf = fa("Date", !0);
X("DDD", ["DDDD", 3], "DDDo", "dayOfYear");
W("DDD", ir);
W("DDDD", Ud);
Oe(["DDD", "DDDD"], function(e, t, n) {
n._dayOfYear = ge(e);
});
function k_(e) {
var t = Math.round(
(this.clone().startOf("day") - this.clone().startOf("year")) / 864e5
) + 1;
return e == null ? t : this.add(e - t, "d");
}
X("m", ["mm", 2], 0, "minute");
W("m", Me, mi);
W("mm", Me, St);
Oe(["m", "mm"], It);
var C_ = fa("Minutes", !1);
X("s", ["ss", 2], 0, "second");
W("s", Me, mi);
W("ss", Me, St);
Oe(["s", "ss"], tn);
var P_ = fa("Seconds", !1);
X("S", 0, 0, function() {
return ~~(this.millisecond() / 100);
});
X(0, ["SS", 2], 0, function() {
return ~~(this.millisecond() / 10);
});
X(0, ["SSS", 3], 0, "millisecond");
X(0, ["SSSS", 4], 0, function() {
return this.millisecond() * 10;
});
X(0, ["SSSSS", 5], 0, function() {
return this.millisecond() * 100;
});
X(0, ["SSSSSS", 6], 0, function() {
return this.millisecond() * 1e3;
});
X(0, ["SSSSSSS", 7], 0, function() {
return this.millisecond() * 1e4;
});
X(0, ["SSSSSSSS", 8], 0, function() {
return this.millisecond() * 1e5;
});
X(0, ["SSSSSSSSS", 9], 0, function() {
return this.millisecond() * 1e6;
});
W("S", ir, $d);
W("SS", ir, St);
W("SSS", ir, Ud);
var pn, wf;
for (pn = "SSSS"; pn.length <= 9; pn += "S")
W(pn, ca);
function x_(e, t) {
t[Vn] = ge(("0." + e) * 1e3);
}
for (pn = "S"; pn.length <= 9; pn += "S")
Oe(pn, x_);
wf = fa("Milliseconds", !1);
X("z", 0, 0, "zoneAbbr");
X("zz", 0, 0, "zoneName");
function I_() {
return this._isUTC ? "UTC" : "";
}
function O_() {
return this._isUTC ? "Coordinated Universal Time" : "";
}
var L = Xa.prototype;
L.add = Sw;
L.calendar = Iw;
L.clone = Ow;
L.diff = Rw;
L.endOf = jw;
L.format = Bw;
L.from = $w;
L.fromNow = Uw;
L.to = zw;
L.toNow = Hw;
L.get = Np;
L.invalidAt = e_;
L.isAfter = Tw;
L.isBefore = Vw;
L.isBetween = Ew;
L.isSame = Aw;
L.isSameOrAfter = Dw;
L.isSameOrBefore = Mw;
L.isValid = Zw;
L.lang = mf;
L.locale = hf;
L.localeData = vf;
L.max = ZS;
L.min = JS;
L.parsingFlags = Xw;
L.set = Bp;
L.startOf = Yw;
L.subtract = ww;
L.toArray = qw;
L.toObject = Kw;
L.toDate = Qw;
L.toISOString = Lw;
L.inspect = Nw;
typeof Symbol < "u" && Symbol.for != null && (L[Symbol.for("nodejs.util.inspect.custom")] = function() {
return "Moment<" + this.format() + ">";
});
L.toJSON = Jw;
L.toString = Fw;
L.unix = Gw;
L.valueOf = Ww;
L.creationData = t_;
L.eraName = r_;
L.eraNarrow = l_;
L.eraAbbr = i_;
L.eraYear = o_;
L.year = Yd;
L.isLeapYear = Lp;
L.weekYear = v_;
L.isoWeekYear = y_;
L.quarter = L.quarters = __;
L.month = qd;
L.daysInMonth = Qp;
L.week = L.weeks = nS;
L.isoWeek = L.isoWeeks = aS;
L.weeksInYear = p_;
L.weeksInWeekYear = S_;
L.isoWeeksInYear = g_;
L.isoWeeksInISOWeekYear = b_;
L.date = Sf;
L.day = L.days = yS;
L.weekday = gS;
L.isoWeekday = bS;
L.dayOfYear = k_;
L.hour = L.hours = PS;
L.minute = L.minutes = C_;
L.second = L.seconds = P_;
L.millisecond = L.milliseconds = wf;
L.utcOffset = iw;
L.utc = uw;
L.local = cw;
L.parseZone = dw;
L.hasAlignedHourOffset = fw;
L.isDST = hw;
L.isLocal = vw;
L.isUtcOffset = yw;
L.isUtc = uf;
L.isUTC = uf;
L.zoneAbbr = I_;
L.zoneName = O_;
L.dates = Pt(
"dates accessor is deprecated. Use date instead.",
Sf
);
L.months = Pt(
"months accessor is deprecated. Use month instead",
qd
);
L.years = Pt(
"years accessor is deprecated. Use year instead",
Yd
);
L.zone = Pt(
"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",
ow
);
L.isDSTShifted = Pt(
"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
mw
);
function T_(e) {
return Ae(e * 1e3);
}
function V_() {
return Ae.apply(null, arguments).parseZone();
}
function _f(e) {
return e;
}
var Pe = ui.prototype;
Pe.calendar = vp;
Pe.longDateFormat = pp;
Pe.invalidDate = wp;
Pe.ordinal = Cp;
Pe.preparse = _f;
Pe.postformat = _f;
Pe.relativeTime = xp;
Pe.pastFuture = Ip;
Pe.set = hp;
Pe.eras = n_;
Pe.erasParse = a_;
Pe.erasConvertYear = s_;
Pe.erasAbbrRegex = c_;
Pe.erasNameRegex = u_;
Pe.erasNarrowRegex = d_;
Pe.months = Yp;
Pe.monthsShort = jp;
Pe.monthsParse = Gp;
Pe.monthsRegex = Kp;
Pe.monthsShortRegex = qp;
Pe.week = Zp;
Pe.firstDayOfYear = tS;
Pe.firstDayOfWeek = eS;
Pe.weekdays = dS;
Pe.weekdaysMin = hS;
Pe.weekdaysShort = fS;
Pe.weekdaysParse = vS;
Pe.weekdaysRegex = pS;
Pe.weekdaysShortRegex = SS;
Pe.weekdaysMinRegex = wS;
Pe.isPM = kS;
Pe.meridiem = xS;
function Fs(e, t, n, a) {
var s = mn(), r = Gt().set(a, t);
return s[n](r, e);
}
function kf(e, t, n) {
if (ln(e) && (t = e, e = void 0), e = e || "", t != null)
return Fs(e, t, n, "month");
var a, s = [];
for (a = 0; a < 12; a++)
s[a] = Fs(e, a, n, "month");
return s;
}
function Ii(e, t, n, a) {
typeof e == "boolean" ? (ln(t) && (n = t, t = void 0), t = t || "") : (t = e, n = t, e = !1, ln(t) && (n = t, t = void 0), t = t || "");
var s = mn(), r = e ? s._week.dow : 0, l, i = [];
if (n != null)
return Fs(t, (n + r) % 7, a, "day");
for (l = 0; l < 7; l++)
i[l] = Fs(t, (l + r) % 7, a, "day");
return i;
}
function E_(e, t) {
return kf(e, t, "months");
}
function A_(e, t) {
return kf(e, t, "monthsShort");
}
function D_(e, t, n) {
return Ii(e, t, n, "weekdays");
}
function M_(e, t, n) {
return Ii(e, t, n, "weekdaysShort");
}
function R_(e, t, n) {
return Ii(e, t, n, "weekdaysMin");
}
wn("en", {
eras: [
{
since: "0001-01-01",
until: 1 / 0,
offset: 1,
name: "Anno Domini",
narrow: "AD",
abbr: "AD"
},
{
since: "0000-12-31",
until: -1 / 0,
offset: 1,
name: "Before Christ",
narrow: "BC",
abbr: "BC"
}
],
dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
ordinal: function(e) {
var t = e % 10, n = ge(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
return e + n;
}
});
H.lang = Pt(
"moment.lang is deprecated. Use moment.locale instead.",
wn
);
H.langData = Pt(
"moment.langData is deprecated. Use moment.localeData instead.",
mn
);
var Kt = Math.abs;
function F_() {
var e = this._data;
return this._milliseconds = Kt(this._milliseconds), this._days = Kt(this._days), this._months = Kt(this._months), e.milliseconds = Kt(e.milliseconds), e.seconds = Kt(e.seconds), e.minutes = Kt(e.minutes), e.hours = Kt(e.hours), e.months = Kt(e.months), e.years = Kt(e.years), this;
}
function Cf(e, t, n, a) {
var s = Rt(t, n);
return e._milliseconds += a * s._milliseconds, e._days += a * s._days, e._months += a * s._months, e._bubble();
}
function L_(e, t) {
return Cf(this, e, t, 1);
}
function N_(e, t) {
return Cf(this, e, t, -1);
}
function Jo(e) {
return e < 0 ? Math.floor(e) : Math.ceil(e);
}
function B_() {
var e = this._milliseconds, t = this._days, n = this._months, a = this._data, s, r, l, i, o;
return e >= 0 && t >= 0 && n >= 0 || e <= 0 && t <= 0 && n <= 0 || (e += Jo(pl(n) + t) * 864e5, t = 0, n = 0), a.milliseconds = e % 1e3, s = wt(e / 1e3), a.seconds = s % 60, r = wt(s / 60), a.minutes = r % 60, l = wt(r / 60), a.hours = l % 24, t += wt(l / 24), o = wt(Pf(t)), n += o, t -= Jo(pl(o)), i = wt(n / 12), n %= 12, a.days = t, a.months = n, a.years = i, this;
}
function Pf(e) {
return e * 4800 / 146097;
}
function pl(e) {
return e * 146097 / 4800;
}
function $_(e) {
if (!this.isValid())
return NaN;
var t, n, a = this._milliseconds;
if (e = xt(e), e === "month" || e === "quarter" || e === "year")
switch (t = this._days + a / 864e5, n = this._months + Pf(t), e) {
case "month":
return n;
case "quarter":
return n / 3;
case "year":
return n / 12;
}
else
switch (t = this._days + Math.round(pl(this._months)), e) {
case "week":
return t / 7 + a / 6048e5;
case "day":
return t + a / 864e5;
case "hour":
return t * 24 + a / 36e5;
case "minute":
return t * 1440 + a / 6e4;
case "second":
return t * 86400 + a / 1e3;
// Math.floor prevents floating point math errors here
case "millisecond":
return Math.floor(t * 864e5) + a;
default:
throw new Error("Unknown unit " + e);
}
}
function vn(e) {
return function() {
return this.as(e);
};
}
var xf = vn("ms"), U_ = vn("s"), z_ = vn("m"), H_ = vn("h"), Y_ = vn("d"), j_ = vn("w"), W_ = vn("M"), G_ = vn("Q"), Q_ = vn("y"), q_ = xf;
function K_() {
return Rt(this);
}
function J_(e) {
return e = xt(e), this.isValid() ? this[e + "s"]() : NaN;
}
function zn(e) {
return function() {
return this.isValid() ? this._data[e] : NaN;
};
}
var Z_ = zn("milliseconds"), X_ = zn("seconds"), e0 = zn("minutes"), t0 = zn("hours"), n0 = zn("days"), a0 = zn("months"), s0 = zn("years");
function r0() {
return wt(this.days() / 7);
}
var Jt = Math.round, Qn = {
ss: 44,
// a few seconds to seconds
s: 45,
// seconds to minute
m: 45,
// minutes to hour
h: 22,
// hours to day
d: 26,
// days to month/week
w: null,
// weeks to month
M: 11
// months to year
};
function l0(e, t, n, a, s) {
return s.relativeTime(t || 1, !!n, e, a);
}
function i0(e, t, n, a) {
var s = Rt(e).abs(), r = Jt(s.as("s")), l = Jt(s.as("m")), i = Jt(s.as("h")), o = Jt(s.as("d")), u = Jt(s.as("M")), c = Jt(s.as("w")), d = Jt(s.as("y")), h = r <= n.ss && ["s", r] || r < n.s && ["ss", r] || l <= 1 && ["m"] || l < n.m && ["mm", l] || i <= 1 && ["h"] || i < n.h && ["hh", i] || o <= 1 && ["d"] || o < n.d && ["dd", o];
return n.w != null && (h = h || c <= 1 && ["w"] || c < n.w && ["ww", c]), h = h || u <= 1 && ["M"] || u < n.M && ["MM", u] || d <= 1 && ["y"] || ["yy", d], h[2] = t, h[3] = +e > 0, h[4] = a, l0.apply(null, h);
}
function o0(e) {
return e === void 0 ? Jt : typeof e == "function" ? (Jt = e, !0) : !1;
}
function u0(e, t) {
return Qn[e] === void 0 ? !1 : t === void 0 ? Qn[e] : (Qn[e] = t, e === "s" && (Qn.ss = t - 1), !0);
}
function c0(e, t) {
if (!this.isValid())
return this.localeData().invalidDate();
var n = !1, a = Qn, s, r;
return typeof e == "object" && (t = e, e = !1), typeof e == "boolean" && (n = e), typeof t == "object" && (a = Object.assign({}, Qn, t), t.s != null && t.ss == null && (a.ss = t.s - 1)), s = this.localeData(), r = i0(this, !n, a, s), n && (r = s.pastFuture(+this, r)), s.postformat(r);
}
var Br = Math.abs;
function jn(e) {
return (e > 0) - (e < 0) || +e;
}
function vr() {
if (!this.isValid())
return this.localeData().invalidDate();
var e = Br(this._milliseconds) / 1e3, t = Br(this._days), n = Br(this._months), a, s, r, l, i = this.asSeconds(), o, u, c, d;
return i ? (a = wt(e / 60), s = wt(a / 60), e %= 60, a %= 60, r = wt(n / 12), n %= 12, l = e ? e.toFixed(3).replace(/\.?0+$/, "") : "", o = i < 0 ? "-" : "", u = jn(this._months) !== jn(i) ? "-" : "", c = jn(this._days) !== jn(i) ? "-" : "", d = jn(this._milliseconds) !== jn(i) ? "-" : "", o + "P" + (r ? u + r + "Y" : "") + (n ? u + n + "M" : "") + (t ? c + t + "D" : "") + (s || a || e ? "T" : "") + (s ? d + s + "H" : "") + (a ? d + a + "M" : "") + (e ? d + l + "S" : "")) : "P0D";
}
var we = hr.prototype;
we.isValid = aw;
we.abs = F_;
we.add = L_;
we.subtract = N_;
we.as = $_;
we.asMilliseconds = xf;
we.asSeconds = U_;
we.asMinutes = z_;
we.asHours = H_;
we.asDays = Y_;
we.asWeeks = j_;
we.asMonths = W_;
we.asQuarters = G_;
we.asYears = Q_;
we.valueOf = q_;
we._bubble = B_;
we.clone = K_;
we.get = J_;
we.milliseconds = Z_;
we.seconds = X_;
we.minutes = e0;
we.hours = t0;
we.days = n0;
we.weeks = r0;
we.months = a0;
we.years = s0;
we.humanize = c0;
we.toISOString = vr;
we.toString = vr;
we.toJSON = vr;
we.locale = hf;
we.localeData = vf;
we.toIsoString = Pt(
"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
vr
);
we.lang = mf;
X("X", 0, 0, "unix");
X("x", 0, 0, "valueOf");
W("x", ur);
W("X", Ep);
Oe("X", function(e, t, n) {
n._d = new Date(parseFloat(e) * 1e3);
});
Oe("x", function(e, t, n) {
n._d = new Date(ge(e));
});
//! moment.js
H.version = "2.30.1";
dp(Ae);
H.fn = L;
H.min = XS;
H.max = ew;
H.now = tw;
H.utc = Gt;
H.unix = T_;
H.months = E_;
H.isDate = Za;
H.locale = wn;
H.invalid = rr;
H.duration = Rt;
H.isMoment = Vt;
H.weekdays = D_;
H.parseZone = V_;
H.localeData = mn;
H.isDuration = ps;
H.monthsShort = A_;
H.weekdaysMin = R_;
H.defineLocale = pi;
H.updateLocale = VS;
H.locales = ES;
H.weekdaysShort = M_;
H.normalizeUnits = xt;
H.relativeTimeRounding = o0;
H.relativeTimeThreshold = u0;
H.calendarFormat = xw;
H.prototype = L;
H.HTML5_FMT = {
DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
// <input type="datetime-local" />
DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
// <input type="datetime-local" step="1" />
DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
// <input type="datetime-local" step="0.001" />
DATE: "YYYY-MM-DD",
// <input type="date" />
TIME: "HH:mm",
// <input type="time" />
TIME_SECONDS: "HH:mm:ss",
// <input type="time" step="1" />
TIME_MS: "HH:mm:ss.SSS",
// <input type="time" step="0.001" />
WEEK: "GGGG-[W]WW",
// <input type="week" />
MONTH: "YYYY-MM"
// <input type="month" />
};
function d0(e) {
console.debug("[info] use calling 'launchFileDownload()' method");
const t = e?.searchResults;
if (!(e && t.length > 0))
return;
const n = "-MeSH";
let a;
const s = e.searchQuery;
s.searchEntityType === ze.comp_to_mesh ? s.searchSelectorType === ve.pubchem_id ? a = "CID" + s.searchEntityQuery + n : a = s.searchEntityQuery + n : a = s.searchEntityQuery + "-" + s.searchSelectorType.slice(0, -3);
const r = Object.keys(t[0]).map((i) => `"${i}"`).join(","), l = t.map(
(i) => Object.values(i).map((o) => `${o}`.replace('"', '""')).map((o) => `"${o}"`).join(",")
// values separator: comma
).join(`
`);
f0(`${r}
${l}`, a);
}
function f0(e, t = "data") {
const n = new Blob(["\uFEFF" + e], {
type: "text/csv;charset=utf-8;"
}), a = document.createElement("a"), s = URL.createObjectURL(n);
navigator.userAgent.indexOf("Safari") != -1 && navigator.userAgent.indexOf("Chrome") == -1 && a.setAttribute("target", "_blank"), a.setAttribute("href", s);
const l = H(/* @__PURE__ */ new Date()).format("YYYY-MM-DD_hh-mm");
a.setAttribute("download", l + "_FORUM-DC_" + t + ".csv"), a.style.visibility = "hidden", document.body.appendChild(a), a.click(), document.body.removeChild(a);
}
const h0 = Ls({
name: "MthForumResultsDisplay",
components: {
MthForumLiteratureDisplay: Md
},
props: ["search-results"],
watch: {
searchResults: function(e, t) {
console.debug("Prop changed: ", e, " | was: ", t), this.inputSearch = e, this.runSearch(e);
}
},
setup() {
let e;
const t = R(!1), n = R(!1), a = R(!1), s = R(!1), r = R("#"), l = R(""), i = R(-1), o = R(""), u = R(0), c = [
"name",
"root",
"qvalue",
"oddratio",
"papers",
"score"
], d = [], h = [], v = R(!1), f = R(!1), y = R(""), m = R([]), b = R();
return {
endpointSearchResults: e,
display_loading_div: t,
display_results_div: n,
display_noresults_div: a,
result_found: s,
result_link: r,
result_label: l,
result_count: i,
result_identifier: o,
papers_count: u,
displayedColumns: c,
raw_res: h,
showDialog: v,
enablePapersLink: f,
dialSearchType: R(""),
dialSearchID: R(""),
dialItemId: R(""),
// data-table
filter: y,
headers: m,
dataSource: d,
inputSearch: b
};
},
mounted() {
const e = kl();
if (e.get("dial-search-type") && e.get("dial-search-id") && e.get("dial-item-id")) {
this.result_identifier = e.get("dial-search-id");
const t = e.get("dial-item-id");
this.openPapersModal(!0, t);
}
},
methods: {
runSearch(e) {
this.headers = [], this.dataSource = [], this.raw_res = [], this.display_loading_div = !0, this.display_results_div = !1, this.display_noresults_div = !1, this.enablePapersLink = e?.searchQuery?.searchSelectorType == ve.pubchem_id && e?.searchQuery?.searchEntityType == ze.comp_to_mesh, this.endpointSearchResults = e, this.endpointSearchResults && (this.result_found = !1, this.endpointSearchResults.searchQuery.isEmpty() || this.endpointSearchResults.getAPIdata().then((t) => {
this.display_loading_div = !1, this.display_results_div = t.searchResults.data.length > 0, this.display_noresults_div = !this.display_results_div;
const n = t.searchResults;
this.result_count = n.data.length, this.result_count === 0 ? this.display_noresults_div = !0 : (this.result_found = !0, this.updateLink(), this.endpointSearchResults.searchResults = n.data, console.log(
"[debug]",
"before call updateDataTable",
"this.endpointSearchResults",
this.endpointSearchResults
), this.updateDataTable(this.endpointSearchResults));
}));
},
updateLink() {
switch (this.endpointSearchResults.searchQuery.searchEntityType) {
case ze.comp_to_mesh: {
switch (this.endpointSearchResults.searchQuery.searchSelectorType) {
case ve.pubchem_id: {
this.result_link = "https://pubchem.ncbi.nlm.nih.gov/compound/";
break;
}
case ve.chemont_id: {
this.result_link = "http://classyfire.wishartlab.com/tax_nodes/";
break;
}
case ve.chebi_id: {
this.result_link = "https://www.ebi.ac.uk/chebi/searchId.do?chebiId=";
break;
}
case ve.pubchem_fuzzy_id: {
this.result_link = "https://pubchem.ncbi.nlm.nih.gov/compound/";
break;
}
}
this.result_link += this.endpointSearchResults.searchQuery.searchEntityQuery, this.getSpecificLabel(
this.endpointSearchResults.searchQuery.searchEntityQuery,
this.endpointSearchResults.searchQuery.searchSelectorType
).then((e) => {
console.debug("[debug] label found " + e), this.result_label = e;
});
break;
}
case ze.mesh_to_comp: {
this.result_link = "https://meshb.nlm.nih.gov/record/ui?ui=" + this.endpointSearchResults.searchQuery.searchEntityQuery, this.getSpecificLabel(
this.endpointSearchResults.searchQuery.searchEntityQuery,
ve.mesh_id
).then((e) => {
console.debug("[debug] label found " + e), this.result_label = e;
});
break;
}
default:
console.debug("[debug] label not found"), this.result_link = "#", this.result_found = !1;
}
this.result_identifier = this.endpointSearchResults.searchQuery.searchEntityQuery, this.result_found = !0;
},
/**
* ASYNC: Function to get the data of a specific label
* Returns the label (or "ID(id)") in a Promise
* @param id ID of label to get (MeSH ID, Pubchem CID, Chemont ID, Chebi ID)
* @param s Type of label to get (MeSH, Pubchem, Chemont, Chebi)
*/
async getSpecificLabel(e, t) {
const n = new Cm();
return new Promise((a, s) => {
let r = "ID(" + e + ")";
switch (t) {
// Get Label of a MeSH ID
case ve.mesh_id: {
n.meshLabelIdMeshGet(e).then((l) => {
const i = l.data;
i.length > 0 && (r = i[0].name), a(r);
});
break;
}
// Get Label of a Pubchem CID
case ve.pubchem_id: {
n.pubchemLabelIdPubchemGet(+e).then((l) => {
const i = l.data;
i.length > 0 && (r = i[0].name), a(r);
});
break;
}
// Get Label of a Chemont ID
case ve.chemont_id: {
n.chemontLabelIdChemontGet(e).then((l) => {
const i = l.data;
i.length > 0 && (r = i[0].name), a(r);
});
break;
}
// Get Label of a Chebi ID
case ve.chebi_id: {
n.chebiLabelIdChebiGet(e).then((l) => {
const i = l.data;
i.length > 0 && (r = i[0].name), a(r);
});
break;
}
// Error case
default: {
console.debug("Error: fetching data from API (400 invalid request type)"), s(this);
break;
}
}
});
},
updateDataTable(e) {
console.debug("[debug] display update in progress");
let t = this.identifyIdType(), n = [];
if (this.raw_res = e.searchResults, e.searchResults.forEach((a) => {
let s = a, r = this.identifyIdLabelRow(t, s), l = r[0], i = r[1];
i == null && (i = "ID(" + l + ")"), s !== void 0 && n.push(
new cp(
l,
i,
// name (request for label needed)
this.constructURL(t, l),
// compound url
s.tree_root,
// tree root
s.tree_concat,
// MeSH tree Tree-Numbers
+(+s.q_value).toExponential(4),
// pvalue
parseFloat(s.odds_ratio).toFixed(2),
// oddratio
+s.COOC,
// papers
+s.n_weak
// score
)
);
}), this.headers = this.inputSearch?.searchQuery?.searchEntityType == ze.comp_to_mesh ? (
//
[
{
title: "Name",
align: "start",
key: "name",
sortable: !0
},
{
title: "MeSH root",
key: "root",
sortable: !0
},
{ title: "q.value", key: "qvalue", sortable: !0 },
{ title: "Odd radio", key: "oddratio", sortable: !0 },
{ title: "Papers", key: "papers", sortable: !0 },
{ title: "Weakness", key: "score", sortable: !0 }
]
) : (
//
[
{
title: "Name",
align: "start",
key: "name",
sortable: !0
},
// no mesh root
{ title: "q.value", key: "qvalue", sortable: !0 },
{ title: "Odd radio", key: "oddratio", sortable: !0 },
{ title: "Papers", key: "papers", sortable: !0 },
{ title: "Weakness", key: "score", sortable: !0 }
]
), this.dataSource = n, console.debug("[debug] display update done"), this.papers_count = 0, e.searchResults.length > 0) {
const s = e.searchResults[0];
Object.prototype.hasOwnProperty.call(s, "TOTAL_PMID_CID") && (this.papers_count = +(s?.TOTAL_PMID_CID ?? 0)), Object.prototype.hasOwnProperty.call(s, "TOTAL_PMID_CHEBI") && (this.papers_count = +(s?.TOTAL_PMID_CHEBI ?? 0)), Object.prototype.hasOwnProperty.call(s, "TOTAL_PMID_CHEMONT") && (this.papers_count = +(s?.TOTAL_PMID_CHEMONT ?? 0));
}
},
constructURL(e, t) {
switch (e) {
case "mesh":
return "https://meshb.nlm.nih.gov/record/ui?ui=" + t;
case "pubchem":
return "https://pubchem.ncbi.nlm.nih.gov/compound/" + t;
case "chemont":
return "http://classyfire.wishartlab.com/tax_nodes/" + t;
case "chebi":
return "https://www.ebi.ac.uk/chebi/searchId.do?chebiId=" + t;
default:
return "#UNDEF?" + t;
}
},
identifyIdLabelRow(e, t) {
let n = ["", ""];
switch (e) {
case "mesh": {
n[0] = t.MESH !== void 0 ? t.MESH : "", n[1] = t.nameMesh !== void 0 ? t.nameMesh : "";
break;
}
case "pubchem": {
n[0] = t.CID !== void 0 ? t.CID : "", n[1] = t.namePubchem !== void 0 ? t.namePubchem : "";
break;
}
case "chemont": {
n[0] = t.CHEMONT !== void 0 ? t.CHEMONT : "", n[1] = t.nameChemont !== void 0 ? t.nameChemont : "";
break;
}
case "chebi": {
n[0] = t.CHEBI !== void 0 ? t.CHEBI : "", n[1] = t.nameChebi !== void 0 ? t.nameChebi : "";
break;
}
}
return n;
},
identifyIdType() {
let e = "";
switch (this.endpointSearchResults.searchQuery.searchEntityType) {
case ze.comp_to_mesh: {
this.displayedColumns = [
"name",
"root",
"qvalue",
"oddratio",
"papers",
"score"
], e = "mesh";
break;
}
case ze.mesh_to_comp:
switch (this.displayedColumns = [
"name",
"qvalue",
"oddratio",
"papers",
"score"
], this.endpointSearchResults.searchQuery.searchSelectorType) {
case ve.pubchem_id: {
e = "pubchem";
break;
}
case ve.chemont_id: {
e = "chemont";
break;
}
case ve.chebi_id: {
e = "chebi";
break;
}
case ve.pubchem_fuzzy_id: {
e = "pubchem_fuzzy";
break;
}
}
}
return e;
},
triggerFileDownload() {
d0(this.endpointSearchResults);
},
openPapersModal(e = !0, t = "") {
this.showDialog = e, this.dialSearchType = "pmid-cid-mesh", this.dialSearchID = this.result_identifier, this.dialItemId = t, On("dial-search-type", this.dialSearchType), On("dial-search-id", this.dialSearchID), On("dial-item-id", this.dialItemId);
}
}
}), If = Q()({
name: "VCardActions",
props: de(),
setup(e, t) {
let {
slots: n
} = t;
return zt({
VBtn: {
slim: !0,
variant: "text"
}
}), ee(() => p("div", {
class: K(["v-card-actions", e.class]),
style: Z(e.style)
}, [n.default?.()])), {};
}
}), m0 = M({
opacity: [Number, String],
...de(),
...Le()
}, "VCardSubtitle"), v0 = Q()({
name: "VCardSubtitle",
props: m0(),
setup(e, t) {
let {
slots: n
} = t;
return ee(() => g(e.tag, {
class: K(["v-card-subtitle", e.class]),
style: Z([{
"--v-card-subtitle-opacity": e.opacity
}, e.style])
}, n)), {};
}
}), y0 = $u("v-card-title"), g0 = M({
appendAvatar: String,
appendIcon: ue,
prependAvatar: String,
prependIcon: ue,
subtitle: {
type: [String, Number, Boolean],
default: void 0
},
title: {
type: [String, Number, Boolean],
default: void 0
},
...de(),
...Ct()
}, "VCardItem"), b0 = Q()({
name: "VCardItem",
props: g0(),
setup(e, t) {
let {
slots: n
} = t;
return ee(() => {
const a = !!(e.prependAvatar || e.prependIcon), s = !!(a || n.prepend), r = !!(e.appendAvatar || e.appendIcon), l = !!(r || n.append), i = !!(e.title != null || n.title), o = !!(e.subtitle != null || n.subtitle);
return p("div", {
class: K(["v-card-item", e.class]),
style: Z(e.style)
}, [s && p("div", {
key: "prepend",
class: "v-card-item__prepend"
}, [n.prepend ? g(Ne, {
key: "prepend-defaults",
disabled: !a,
defaults: {
VAvatar: {
density: e.density,
image: e.prependAvatar
},
VIcon: {
density: e.density,
icon: e.prependIcon
}
}
}, n.prepend) : p(pe, null, [e.prependAvatar && g(_n, {
key: "prepend-avatar",
density: e.density,
image: e.prependAvatar
}, null), e.prependIcon && g(Ve, {
key: "prepend-icon",
density: e.density,
icon: e.prependIcon
}, null)])]), p("div", {
class: "v-card-item__content"
}, [i && g(y0, {
key: "title"
}, {
default: () => [n.title?.() ?? Te(e.title)]
}), o && g(v0, {
key: "subtitle"
}, {
default: () => [n.subtitle?.() ?? Te(e.subtitle)]
}), n.default?.()]), l && p("div", {
key: "append",
class: "v-card-item__append"
}, [n.append ? g(Ne, {
key: "append-defaults",
disabled: !r,
defaults: {
VAvatar: {
density: e.density,
image: e.appendAvatar
},
VIcon: {
density: e.density,
icon: e.appendIcon
}
}
}, n.append) : p(pe, null, [e.appendIcon && g(Ve, {
key: "append-icon",
density: e.density,
icon: e.appendIcon
}, null), e.appendAvatar && g(_n, {
key: "append-avatar",
density: e.density,
image: e.appendAvatar
}, null)])])]);
}), {};
}
}), p0 = M({
opacity: [Number, String],
...de(),
...Le()
}, "VCardText"), Of = Q()({
name: "VCardText",
props: p0(),
setup(e, t) {
let {
slots: n
} = t;
return ee(() => g(e.tag, {
class: K(["v-card-text", e.class]),
style: Z([{
"--v-card-text-opacity": e.opacity
}, e.style])
}, n)), {};
}
}), S0 = M({
appendAvatar: String,
appendIcon: ue,
disabled: Boolean,
flat: Boolean,
hover: Boolean,
image: String,
link: {
type: Boolean,
default: void 0
},
prependAvatar: String,
prependIcon: ue,
ripple: {
type: [Boolean, Object],
default: !0
},
subtitle: {
type: [String, Number, Boolean],
default: void 0
},
text: {
type: [String, Number, Boolean],
default: void 0
},
title: {
type: [String, Number, Boolean],
default: void 0
},
...dn(),
...de(),
...Ct(),
...un(),
...Pn(),
...er(),
...Zl(),
...dd(),
...kt(),
...Xs(),
...Le(),
...Ye(),
...fn({
variant: "elevated"
})
}, "VCard"), w0 = Q()({
name: "VCard",
directives: {
vRipple: rn
},
props: S0(),
setup(e, t) {
let {
attrs: n,
slots: a
} = t;
const {
themeClasses: s
} = Ze(e), {
borderClasses: r
} = Cn(e), {
colorClasses: l,
colorStyles: i,
variantClasses: o
} = Qa(e), {
densityClasses: u
} = Wt(e), {
dimensionStyles: c
} = cn(e), {
elevationClasses: d
} = Un(e), {
loaderClasses: h
} = Ka(e), {
locationStyles: v
} = Xl(e), {
positionClasses: f
} = fd(e), {
roundedClasses: y
} = Dt(e), m = Zs(e, n);
return ee(() => {
const b = e.link !== !1 && m.isLink.value, S = !e.disabled && e.link !== !1 && (e.link || m.isClickable.value), P = b ? "a" : e.tag, I = !!(a.title || e.title != null), k = !!(a.subtitle || e.subtitle != null), D = I || k, V = !!(a.append || e.appendAvatar || e.appendIcon), w = !!(a.prepend || e.prependAvatar || e.prependIcon), T = !!(a.image || e.image), N = D || w || V, $ = !!(a.text || e.text != null);
return ht(g(P, j({
class: ["v-card", {
"v-card--disabled": e.disabled,
"v-card--flat": e.flat,
"v-card--hover": e.hover && !(e.disabled || e.flat),
"v-card--link": S
}, s.value, r.value, l.value, u.value, d.value, h.value, f.value, y.value, o.value, e.class],
style: [i.value, c.value, v.value, e.style],
onClick: S && m.navigate,
tabindex: e.disabled ? -1 : void 0
}, m.linkProps), {
default: () => [T && p("div", {
key: "image",
class: "v-card__image"
}, [a.image ? g(Ne, {
key: "image-defaults",
disabled: !e.image,
defaults: {
VImg: {
cover: !0,
src: e.image
}
}
}, a.image) : g(Nl, {
key: "image-img",
cover: !0,
src: e.image
}, null)]), g(tr, {
name: "v-card",
active: !!e.loading,
color: typeof e.loading == "boolean" ? void 0 : e.loading
}, {
default: a.loader
}), N && g(b0, {
key: "item",
prependAvatar: e.prependAvatar,
prependIcon: e.prependIcon,
title: e.title,
subtitle: e.subtitle,
appendAvatar: e.appendAvatar,
appendIcon: e.appendIcon
}, {
default: a.item,
prepend: a.prepend,
title: a.title,
subtitle: a.subtitle,
append: a.append
}), $ && g(Of, {
key: "text"
}, {
default: () => [a.text?.() ?? e.text]
}), a.default?.(), a.actions && g(If, null, {
default: a.actions
}), Ga(S, "v-card")]
}), [[rn, S && e.ripple]]);
}), {};
}
}), _0 = M({
fullscreen: Boolean,
retainFocus: {
type: Boolean,
default: !0
},
scrollable: Boolean,
...Jl({
origin: "center center",
scrollStrategy: "block",
transition: {
component: Ul
},
zIndex: 2400
})
}, "VDialog"), k0 = Q()({
name: "VDialog",
props: _0(),
emits: {
"update:modelValue": (e) => !0,
afterEnter: () => !0,
afterLeave: () => !0
},
setup(e, t) {
let {
emit: n,
slots: a
} = t;
const s = ke(e, "modelValue"), {
scopeId: r
} = Kl(), l = R();
function i(c) {
const d = c.relatedTarget, h = c.target;
if (d !== h && l.value?.contentEl && // We're the topmost dialog
l.value?.globalTop && // It isn't the document or the dialog body
![document, l.value.contentEl].includes(h) && // It isn't inside the dialog body
!l.value.contentEl.contains(h)) {
const v = Ia(l.value.contentEl);
if (!v.length) return;
const f = v[0], y = v[v.length - 1];
d === f ? y.focus() : f.focus();
}
}
Et(() => {
document.removeEventListener("focusin", i);
}), Be && re(() => s.value && e.retainFocus, (c) => {
c ? document.addEventListener("focusin", i) : document.removeEventListener("focusin", i);
}, {
immediate: !0
});
function o() {
n("afterEnter"), (e.scrim || e.retainFocus) && l.value?.contentEl && !l.value.contentEl.contains(document.activeElement) && l.value.contentEl.focus({
preventScroll: !0
});
}
function u() {
n("afterLeave");
}
return re(s, async (c) => {
c || (await Ge(), l.value.activatorEl?.focus({
preventScroll: !0
}));
}), ee(() => {
const c = Vs.filterProps(e), d = j({
"aria-haspopup": "dialog"
}, e.activatorProps), h = j({
tabindex: -1
}, e.contentProps);
return g(Vs, j({
ref: l,
class: ["v-dialog", {
"v-dialog--fullscreen": e.fullscreen,
"v-dialog--scrollable": e.scrollable
}, e.class],
style: e.style
}, c, {
modelValue: s.value,
"onUpdate:modelValue": (v) => s.value = v,
"aria-modal": "true",
activatorProps: d,
contentProps: h,
height: e.fullscreen ? void 0 : e.height,
width: e.fullscreen ? void 0 : e.width,
maxHeight: e.fullscreen ? void 0 : e.maxHeight,
maxWidth: e.fullscreen ? void 0 : e.maxWidth,
role: "dialog",
onAfterEnter: o,
onAfterLeave: u
}, r), {
activator: a.activator,
default: function() {
for (var v = arguments.length, f = new Array(v), y = 0; y < v; y++)
f[y] = arguments[y];
return g(Ne, {
root: "VDialog"
}, {
default: () => [a.default?.(...f)]
});
}
});
}), ua({}, l);
}
}), C0 = M({
text: String,
...de(),
...Le()
}, "VToolbarTitle"), Tf = Q()({
name: "VToolbarTitle",
props: C0(),
setup(e, t) {
let {
slots: n
} = t;
return ee(() => {
const a = !!(n.default || n.text || e.text);
return g(e.tag, {
class: K(["v-toolbar-title", e.class]),
style: Z(e.style)
}, {
default: () => [a && p("div", {
class: "v-toolbar-title__placeholder"
}, [n.text ? n.text() : e.text, n.default?.()])]
});
}), {};
}
}), P0 = [null, "prominent", "default", "comfortable", "compact"], x0 = M({
absolute: Boolean,
collapse: Boolean,
color: String,
density: {
type: String,
default: "default",
validator: (e) => P0.includes(e)
},
extended: Boolean,
extensionHeight: {
type: [Number, String],
default: 48
},
flat: Boolean,
floating: Boolean,
height: {
type: [Number, String],
default: 64
},
image: String,
title: String,
...dn(),
...de(),
...Pn(),
...kt(),
...Le({
tag: "header"
}),
...Ye()
}, "VToolbar"), I0 = Q()({
name: "VToolbar",
props: x0(),
setup(e, t) {
let {
slots: n
} = t;
const {
backgroundColorClasses: a,
backgroundColorStyles: s
} = $t(() => e.color), {
borderClasses: r
} = Cn(e), {
elevationClasses: l
} = Un(e), {
roundedClasses: i
} = Dt(e), {
themeClasses: o
} = Ze(e), {
rtlClasses: u
} = Mt(), c = ne(!!(e.extended || n.extension?.())), d = _(() => parseInt(Number(e.height) + (e.density === "prominent" ? Number(e.height) : 0) - (e.density === "comfortable" ? 8 : 0) - (e.density === "compact" ? 16 : 0), 10)), h = _(() => c.value ? parseInt(Number(e.extensionHeight) + (e.density === "prominent" ? Number(e.extensionHeight) : 0) - (e.density === "comfortable" ? 4 : 0) - (e.density === "compact" ? 8 : 0), 10) : 0);
return zt({
VBtn: {
variant: "text"
}
}), ee(() => {
const v = !!(e.title || n.title), f = !!(n.image || e.image), y = n.extension?.();
return c.value = !!(e.extended || y), g(e.tag, {
class: K(["v-toolbar", {
"v-toolbar--absolute": e.absolute,
"v-toolbar--collapse": e.collapse,
"v-toolbar--flat": e.flat,
"v-toolbar--floating": e.floating,
[`v-toolbar--density-${e.density}`]: !0
}, a.value, r.value, l.value, i.value, o.value, u.value, e.class]),
style: Z([s.value, e.style])
}, {
default: () => [f && p("div", {
key: "image",
class: "v-toolbar__image"
}, [n.image ? g(Ne, {
key: "image-defaults",
disabled: !e.image,
defaults: {
VImg: {
cover: !0,
src: e.image
}
}
}, n.image) : g(Nl, {
key: "image-img",
cover: !0,
src: e.image
}, null)]), g(Ne, {
defaults: {
VTabs: {
height: te(d.value)
}
}
}, {
default: () => [p("div", {
class: "v-toolbar__content",
style: Z({
height: te(d.value)
})
}, [n.prepend && p("div", {
class: "v-toolbar__prepend"
}, [n.prepend?.()]), v && g(Tf, {
key: "title",
text: e.title
}, {
text: n.title
}), n.default?.(), n.append && p("div", {
class: "v-toolbar__append"
}, [n.append?.()])])]
}), g(Ne, {
defaults: {
VTabs: {
height: te(h.value)
}
}
}, {
default: () => [g(rc, null, {
default: () => [c.value && p("div", {
class: "v-toolbar__extension",
style: Z({
height: te(h.value)
})
}, [y])]
})]
})]
});
}), {
contentHeight: d,
extensionHeight: h
};
}
}), O0 = {
key: 0,
id: "loading-results"
}, T0 = {
key: 1,
id: "no-results"
}, V0 = {
key: 2,
id: "results"
}, E0 = { key: 0 }, A0 = { key: 1 }, D0 = ["href"], M0 = { class: "text-primary" }, R0 = ["href"], F0 = ["title"], L0 = ["onClick"], N0 = { key: 1 }, B0 = ["title"], $0 = { id: "div-container-export-link" };
function U0(e, t, n, a, s, r) {
const l = Yf("mth-forum-literature-display");
return qe(), nt(pe, null, [
e.display_loading_div ? (qe(), nt("div", O0, [
g(ei, {
indeterminate: "",
color: "primary"
})
])) : ct("", !0),
e.display_noresults_div ? (qe(), nt("div", T0, "Sorry, no results for your query.")) : ct("", !0),
e.display_results_div ? (qe(), nt("div", V0, [
p("form", null, [
p("fieldset", null, [
p("legend", null, [
t[4] || (t[4] = Fe(" ... get associated compounds/medical concepts ")),
g(Zt, {
onClick: e.triggerFileDownload,
size: "x-small"
}, {
default: he(() => [
g(Ve, { icon: "fas fa-file-download" })
]),
_: 1
}, 8, ["onClick"])
]),
g(ka, {
id: "filters",
fluid: ""
}, {
default: he(() => [
g(rl, null, {
default: he(() => [
g(yn, {
cols: "12",
md: "6"
}, {
default: he(() => [
g(Da, {
modelValue: e.filter,
"onUpdate:modelValue": t[0] || (t[0] = (i) => e.filter = i),
"append-icon": "fas fa-magnifying-glass",
label: "Filter",
"single-line": "",
"hide-details": "",
density: "compact"
}, null, 8, ["modelValue"]),
p("small", null, [
e.inputSearch.searchQuery.searchEntityType != "mesh_to_comp" ? (qe(), nt("span", E0, t[5] || (t[5] = [
Fe(" You can search the results by name or by MeSH broader descriptor, using the hierarchical "),
p("a", {
href: "https://www.nlm.nih.gov/mesh/intro_trees.html",
target: "_blank"
}, "tree number", -1),
Fe(". Example: "),
p("a", {
href: "http://id.nlm.nih.gov/mesh/C06.552",
target: "_blank"
}, "C06.552", -1),
Fe(" for all liver diseases or "),
p("a", {
href: "http://id.nlm.nih.gov/mesh/C06.552.664.642",
target: "_blank"
}, "C06.552.664", -1),
Fe(" for all parasitic liver diseases. ")
]))) : ct("", !0),
e.inputSearch.searchQuery.searchEntityType == "mesh_to_comp" ? (qe(), nt("span", A0, " You can search on any data from the results. ")) : ct("", !0)
])
]),
_: 1
}),
g(yn, {
cols: "12",
md: "6"
}, {
default: he(() => [
e.result_found ? (qe(), nt("a", {
key: 0,
href: e.result_link,
target: "_blank"
}, [
Fe(" Found " + Te(e.result_count) + ' results for: "' + Te(e.result_label) + " ", 1),
p("small", M0, "(" + Te(e.result_identifier) + ")", 1),
Fe('" (from ' + Te(e.papers_count) + " distinct papers) ", 1)
], 8, D0)) : ct("", !0)
]),
_: 1
})
]),
_: 1
})
]),
_: 1
}),
g(Dd, {
id: "results-datatable",
headers: e.headers,
items: e.dataSource,
"items-per-page": 25,
"item-key": "id",
search: e.filter,
"sort-by": [{ key: "qvalue", order: "asc" }],
"footer-props": {
showFirstLastPage: !0,
firstIcon: "fas fa-angle-double-left",
lastIcon: "fas fa-angle-double-right",
prevIcon: "fas fa-chevron-left",
nextIcon: "fas fa-chevron-right"
}
}, {
"item.name": he(({ item: i }) => [
p("a", {
href: i.link,
target: "_blank"
}, Te(i.name), 9, R0)
]),
"item.root": he(({ item: i }) => [
p("span", {
class: "mesh-tree",
title: i.meshTree
}, Te(i.root), 9, F0)
]),
"item.qvalue": he(({ item: i }) => [
p("span", {
class: K({ "zero-value": i.qvalue == 0 })
}, [
p("span", null, Te(i.qvalue), 1)
], 2)
]),
"item.oddratio": he(({ item: i }) => [
p("span", {
class: K({ "nan-value": i.oddratio == "NaN" })
}, [
p("span", null, Te(i.oddratio), 1)
], 2)
]),
"item.papers": he(({ item: i }) => [
e.enablePapersLink ? (qe(), nt("a", {
key: 0,
class: "link-mouse-cursor",
onClick: (o) => e.openPapersModal(!0, i.id)
}, Te(i.papers), 9, L0)) : ct("", !0),
e.enablePapersLink ? ct("", !0) : (qe(), nt("span", N0, Te(i.papers), 1))
]),
"item.score": he(({ item: i }) => [
i.score > 0 ? (qe(), nt("span", {
key: 0,
title: `weakness: ${i.score}`
}, [
g(Ve, { icon: "fas fa-circle-info" }),
Fe(" " + Te(i.score), 1)
], 8, B0)) : ct("", !0)
]),
_: 2
}, 1032, ["headers", "items", "search"]),
p("div", $0, [
p("a", {
id: "export-link",
onClick: t[1] || (t[1] = (...i) => e.triggerFileDownload && e.triggerFileDownload(...i))
}, "Export as CSV")
])
])
])
])) : ct("", !0),
g(k0, {
modelValue: e.showDialog,
"onUpdate:modelValue": t[3] || (t[3] = (i) => e.showDialog = i),
"hide-overlay": "",
persistent: "",
transition: "dialog-bottom-transition"
}, {
default: he(() => [
g(w0, null, {
default: he(() => [
g(I0, null, {
default: he(() => [
g(Tf, null, {
default: he(() => t[6] || (t[6] = [
Fe("Supporting literature")
])),
_: 1,
__: [6]
})
]),
_: 1
}),
g(Of, null, {
default: he(() => [
p("div", null, [
g(l, {
searchType: e.dialSearchType,
searchId: e.dialSearchID,
itemId: e.dialItemId
}, null, 8, ["searchType", "searchId", "itemId"])
])
]),
_: 1
}),
g(If, { class: "justify-end" }, {
default: he(() => [
g(Zt, {
onClick: t[2] || (t[2] = (i) => e.openPapersModal(!1))
}, {
default: he(() => t[7] || (t[7] = [
Fe("Close")
])),
_: 1,
__: [7]
})
]),
_: 1
})
]),
_: 1
})
]),
_: 1
}, 8, ["modelValue"])
], 64);
}
const z0 = /* @__PURE__ */ Ol(h0, [["render", U0]]);
class uk {
// Query results (array of Mesh)
constructor(t, n, a) {
Ie(this, "searchQuery");
// Query descriptor
Ie(this, "searchResults");
this.chebi_service = t, this.chemont_service = n, this.pubchem_service = a, this.chebi_service = new xu(), this.chemont_service = new Iu(), this.pubchem_service = new Wr(), this.searchQuery = new tu(), this.searchResults = [];
}
/**
* ASYNC: Function to get the data requested from the Rest API
* Returns this object (with the results updated) in a Promise
*/
getAPIdata() {
return new Promise((t, n) => {
switch (this.searchQuery.searchEntityType) {
// Search by compound => specification of input table
// /pubchem_mesh/{idPubchem}
// /chemont_mesh/{idChemont}
// /chebi_mesh/{idChebi}
case ze.comp_to_mesh: {
switch (this.searchQuery.searchSelectorType) {
// Request data w/ Pubchem ID
case ve.pubchem_id: {
this.pubchem_service.pubchemMeshIdPubchemGet(+this.searchQuery.searchEntityQuery).then((a) => {
console.debug("[COMP_PUBCHEM] fetched objects : ", a), this.searchResults = a, t(this);
}).catch((a) => {
console.error("pubchem response ⇒ ", a);
});
break;
}
// Request data w/ Chemont ID
case ve.chemont_id: {
this.chemont_service.chemontMeshIdChemontGet(this.searchQuery.searchEntityQuery).then((a) => {
console.debug("[COMP_CHEMONT] fetched objects : ", a), this.searchResults = a, t(this);
}).catch((a) => {
console.error("chemont response ⇒ ", a);
});
break;
}
// Request data w/ Chebi ID
case ve.chebi_id: {
this.chebi_service.chebiMeshIdChebiGet(this.searchQuery.searchEntityQuery).then((a) => {
console.debug("[COMP_CHEBI] fetched objects : ", a), this.searchResults = a, t(this);
}).catch((a) => {
console.error("chebi response ⇒ ", a);
});
break;
}
// Request data w/ PubChem Fuzzy search
case ve.pubchem_fuzzy_id:
break;
}
break;
}
// Search by MeSH => specification of output table
// /mesh_pubchem/{idMesh}
// /mesh_chemont/{idMesh}
// /mesh_chebi/{idMesh}
case ze.mesh_to_comp: {
switch (this.searchQuery.searchSelectorType) {
// Request data for Pubchem
case ve.pubchem_id: {
new Wr().meshPubchemIdMeshGet(this.searchQuery.searchEntityQuery).then((s) => {
console.debug("[COMP_PUBCHEM] fetched objects : ", s), this.searchResults = s, t(this);
}).catch((s) => {
});
break;
}
// Request data for Chemont
case ve.chemont_id:
break;
// Request data for Chebi
case ve.chebi_id:
break;
}
break;
}
// Error case
default: {
console.debug(
"Error: fetching data from API (400 invalid request type)"
), n(this);
break;
}
}
});
}
}
const ck = {
install: (e) => {
e.component("MthForumFormFinder", Kg), e.component("MthForumLiteratureDisplay", Md), e.component("MthForumResultsDisplay", z0);
}
};
export {
xu as ChebiApi,
Iu as ChemontApi,
tu as EndpointSearchQuery,
uk as EndpointSearchResults,
ck as MetabohubForumLibrary,
Wr as PubchemApi,
ze as SearchEntityType,
ve as SelectorType
};