birth-of-date-v3
Version:
Birth Of Date V3
8,361 lines • 247 kB
JavaScript
import { isVNode as mi, Comment as gi, Fragment as ue, reactive as Qt, computed as h, watchEffect as qe, toRefs as zl, capitalize as Hl, shallowRef as G, unref as Ce, getCurrentInstance as yi, inject as he, ref as W, provide as _e, warn as Jt, defineComponent as hi, camelize as Wl, h as Zt, isRef as st, createVNode as c, mergeProps as Q, toRef as K, Text as bi, TransitionGroup as En, Transition as nt, watch as q, onBeforeMount as jl, nextTick as xe, onBeforeUnmount as $e, withDirectives as Fe, resolveDirective as vt, vShow as mt, onScopeDispose as Ve, effectScope as On, toRaw as re, onMounted as Ot, onUpdated as Si, readonly as Bn, resolveDynamicComponent as wi, Teleport as Ci, onDeactivated as ki, cloneVNode as pi, createTextVNode as Ul, useCssVars as xi, openBlock as We, createElementBlock as je, normalizeStyle as Ft, createElementVNode as Se, normalizeClass as Be, createCommentVNode as Je, toDisplayString as rn } from "vue";
const Vi = (e, n) => {
const t = e.__vccOpts || e;
for (const [l, a] of n)
t[l] = a;
return t;
}, me = typeof window < "u", Tn = me && "IntersectionObserver" in window;
function Gl(e, n, t) {
const l = n.length - 1;
if (l < 0) return e === void 0 ? t : e;
for (let a = 0; a < l; a++) {
if (e == null)
return t;
e = e[n[a]];
}
return e == null || e[n[l]] === void 0 ? t : e[n[l]];
}
function gt(e, n) {
if (e === n) return !0;
if (e instanceof Date && n instanceof Date && e.getTime() !== n.getTime() || e !== Object(e) || n !== Object(n))
return !1;
const t = Object.keys(e);
return t.length !== Object.keys(n).length ? !1 : t.every((l) => gt(e[l], n[l]));
}
function Ii(e, n, t) {
return e == null || !n || typeof n != "string" ? t : e[n] !== void 0 ? e[n] : (n = n.replace(/\[(\w+)\]/g, ".$1"), n = n.replace(/^\./, ""), Gl(e, n.split("."), t));
}
function De(e, n, t) {
if (n === !0) return e === void 0 ? t : e;
if (n == null || typeof n == "boolean") return t;
if (e !== Object(e)) {
if (typeof n != "function") return t;
const a = n(e, t);
return typeof a > "u" ? t : a;
}
if (typeof n == "string") return Ii(e, n, t);
if (Array.isArray(n)) return Gl(e, n, t);
if (typeof n != "function") return t;
const l = n(e, t);
return typeof l > "u" ? t : l;
}
function Y(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px";
if (!(e == null || e === ""))
return isNaN(+e) ? String(e) : isFinite(+e) ? `${Number(e)}${n}` : void 0;
}
function Pi(e) {
return e !== null && typeof e == "object" && !Array.isArray(e);
}
function tl(e) {
let n;
return e !== null && typeof e == "object" && ((n = Object.getPrototypeOf(e)) === Object.prototype || n === null);
}
function Kl(e) {
if (e && "$el" in e) {
const n = e.$el;
return (n == null ? void 0 : n.nodeType) === Node.TEXT_NODE ? n.nextElementSibling : n;
}
return e;
}
const nl = 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
});
function un(e, n) {
return n.every((t) => e.hasOwnProperty(t));
}
function ql(e, n) {
const t = {}, l = new Set(Object.keys(e));
for (const a of n)
l.has(a) && (t[a] = e[a]);
return t;
}
function ll(e, n, t) {
const l = /* @__PURE__ */ Object.create(null), a = /* @__PURE__ */ Object.create(null);
for (const i in e)
n.some((o) => o instanceof RegExp ? o.test(i) : o === i) && !(t != null && t.some((o) => o === i)) ? l[i] = e[i] : a[i] = e[i];
return [l, a];
}
function at(e, n) {
const t = {
...e
};
return n.forEach((l) => delete t[l]), t;
}
function Ai(e, n) {
const t = {};
return n.forEach((l) => t[l] = e[l]), t;
}
const Yl = /^on[^a-z]/, Ln = (e) => Yl.test(e), Ei = ["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 Xl(e) {
const [n, t] = ll(e, [Yl]), l = at(n, Ei), [a, i] = ll(t, ["class", "style", "id", /^data-/]);
return Object.assign(a, n), Object.assign(i, l), [a, i];
}
function ke(e) {
return e == null ? [] : Array.isArray(e) ? e : [e];
}
function Oi(e, n) {
let t = 0;
const l = function() {
for (var a = arguments.length, i = new Array(a), o = 0; o < a; o++)
i[o] = arguments[o];
clearTimeout(t), t = setTimeout(() => e(...i), Ce(n));
};
return l.clear = () => {
clearTimeout(t);
}, l.immediate = e, l;
}
function Ge(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
return Math.max(n, Math.min(t, e));
}
function al(e, n) {
let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0";
return e + t.repeat(Math.max(0, n - e.length));
}
function Bi(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
const t = [];
let l = 0;
for (; l < e.length; )
t.push(e.substr(l, n)), l += n;
return t;
}
function Ne() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, t = arguments.length > 2 ? arguments[2] : void 0;
const l = {};
for (const a in e)
l[a] = e[a];
for (const a in n) {
const i = e[a], o = n[a];
if (tl(i) && tl(o)) {
l[a] = Ne(i, o, t);
continue;
}
if (t && Array.isArray(i) && Array.isArray(o)) {
l[a] = t(i, o);
continue;
}
l[a] = o;
}
return l;
}
function Ql(e) {
return e.map((n) => n.type === ue ? Ql(n.children) : n).flat();
}
function Ze() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
if (Ze.cache.has(e)) return Ze.cache.get(e);
const n = e.replace(/[^a-z]/gi, "-").replace(/\B([A-Z])/g, "-$1").toLowerCase();
return Ze.cache.set(e, n), n;
}
Ze.cache = /* @__PURE__ */ new Map();
function kt(e, n) {
if (!n || typeof n != "object") return [];
if (Array.isArray(n))
return n.map((t) => kt(e, t)).flat(1);
if (n.suspense)
return kt(e, n.ssContent);
if (Array.isArray(n.children))
return n.children.map((t) => kt(e, t)).flat(1);
if (n.component) {
if (Object.getOwnPropertySymbols(n.component.provides).includes(e))
return [n.component];
if (n.component.subTree)
return kt(e, n.component.subTree).flat(1);
}
return [];
}
function _n(e) {
const n = Qt({}), t = h(e);
return qe(() => {
for (const l in t.value)
n[l] = t.value[l];
}, {
flush: "sync"
}), zl(n);
}
function Ht(e, n) {
return e.includes(n);
}
function Jl(e) {
return e[2].toLowerCase() + e.slice(3);
}
const pe = () => [Function, Array];
function il(e, n) {
return n = "on" + Hl(n), !!(e[n] || e[`${n}Once`] || e[`${n}Capture`] || e[`${n}OnceCapture`] || e[`${n}CaptureOnce`]);
}
function Ti(e) {
for (var n = arguments.length, t = new Array(n > 1 ? n - 1 : 0), l = 1; l < n; l++)
t[l - 1] = arguments[l];
if (Array.isArray(e))
for (const a of e)
a(...t);
else typeof e == "function" && e(...t);
}
function Wt(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
const t = ["button", "[href]", 'input:not([type="hidden"])', "select", "textarea", "[tabindex]"].map((l) => `${l}${n ? ':not([tabindex="-1"])' : ""}:not([disabled])`).join(", ");
return [...e.querySelectorAll(t)];
}
function Zl(e, n, t) {
let l, a = e.indexOf(document.activeElement);
const i = n === "next" ? 1 : -1;
do
a += i, l = e[a];
while ((!l || l.offsetParent == null || !((t == null ? void 0 : t(l)) ?? !0)) && a < e.length && a >= 0);
return l;
}
function xt(e, n) {
var l, a, i, o;
const t = Wt(e);
if (!n)
(e === document.activeElement || !e.contains(document.activeElement)) && ((l = t[0]) == null || l.focus());
else if (n === "first")
(a = t[0]) == null || a.focus();
else if (n === "last")
(i = t.at(-1)) == null || i.focus();
else if (typeof n == "number")
(o = t[n]) == null || o.focus();
else {
const r = Zl(t, n);
r ? r.focus() : xt(e, n === "next" ? "first" : "last");
}
}
function Li() {
}
function ct(e, n) {
if (!(me && typeof CSS < "u" && typeof CSS.supports < "u" && CSS.supports(`selector(${n})`))) return null;
try {
return !!e && e.matches(n);
} catch {
return null;
}
}
function Fn(e) {
return e.some((n) => mi(n) ? n.type === gi ? !1 : n.type !== ue || Fn(n.children) : !0) ? e : null;
}
function _i(e, n) {
if (!me || e === 0)
return n(), () => {
};
const t = window.setTimeout(n, e);
return () => window.clearTimeout(t);
}
function Fi(e, n) {
const t = e.clientX, l = e.clientY, a = n.getBoundingClientRect(), i = a.left, o = a.top, r = a.right, u = a.bottom;
return t >= i && t <= r && l >= o && l <= u;
}
function bn() {
const e = G(), n = (t) => {
e.value = t;
};
return Object.defineProperty(n, "value", {
enumerable: !0,
get: () => e.value,
set: (t) => e.value = t
}), Object.defineProperty(n, "el", {
enumerable: !0,
get: () => Kl(e.value)
}), n;
}
function Sn(e) {
const n = e.key.length === 1, t = !e.ctrlKey && !e.metaKey && !e.altKey;
return n && t;
}
function ge(e, n) {
const t = yi();
if (!t)
throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);
return t;
}
function ze() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "composables";
const n = ge(e).type;
return Ze((n == null ? void 0 : n.aliasName) || (n == null ? void 0 : n.name));
}
let ea = 0, $t = /* @__PURE__ */ new WeakMap();
function He() {
const e = ge("getUid");
if ($t.has(e)) return $t.get(e);
{
const n = ea++;
return $t.set(e, n), n;
}
}
He.reset = () => {
ea = 0, $t = /* @__PURE__ */ new WeakMap();
};
function Mi(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ge("injectSelf");
const {
provides: t
} = n;
if (t && e in t)
return t[e];
}
const jt = Symbol.for("vuetify:defaults");
function Mn() {
const e = he(jt);
if (!e) throw new Error("[Vuetify] Could not find defaults instance");
return e;
}
function en(e, n) {
const t = Mn(), l = W(e), a = h(() => {
if (Ce(n == null ? void 0 : n.disabled)) return t.value;
const o = Ce(n == null ? void 0 : n.scoped), r = Ce(n == null ? void 0 : n.reset), u = Ce(n == null ? void 0 : n.root);
if (l.value == null && !(o || r || u)) return t.value;
let s = Ne(l.value, {
prev: t.value
});
if (o) return s;
if (r || u) {
const d = Number(r || 1 / 0);
for (let v = 0; v <= d && !(!s || !("prev" in s)); v++)
s = s.prev;
return s && typeof u == "string" && u in s && (s = Ne(Ne(s, {
prev: s
}), s[u])), s;
}
return s.prev ? Ne(s.prev, s) : s;
});
return _e(jt, a), a;
}
function Ri(e, n) {
var t, l;
return typeof ((t = e.props) == null ? void 0 : t[n]) < "u" || typeof ((l = e.props) == null ? void 0 : l[Ze(n)]) < "u";
}
function Di() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 ? arguments[1] : void 0, t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Mn();
const l = ge("useDefaults");
if (n = n ?? l.type.name ?? l.type.__name, !n)
throw new Error("[Vuetify] Could not determine component name");
const a = h(() => {
var u;
return (u = t.value) == null ? void 0 : u[e._as ?? n];
}), i = new Proxy(e, {
get(u, s) {
var v, f, m, g, y, b, S;
const d = Reflect.get(u, s);
return s === "class" || s === "style" ? [(v = a.value) == null ? void 0 : v[s], d].filter((O) => O != null) : typeof s == "string" && !Ri(l.vnode, s) ? ((f = a.value) == null ? void 0 : f[s]) !== void 0 ? (m = a.value) == null ? void 0 : m[s] : ((y = (g = t.value) == null ? void 0 : g.global) == null ? void 0 : y[s]) !== void 0 ? (S = (b = t.value) == null ? void 0 : b.global) == null ? void 0 : S[s] : d : d;
}
}), o = G();
qe(() => {
if (a.value) {
const u = Object.entries(a.value).filter((s) => {
let [d] = s;
return d.startsWith(d[0].toUpperCase());
});
o.value = u.length ? Object.fromEntries(u) : void 0;
} else
o.value = void 0;
});
function r() {
const u = Mi(jt, l);
_e(jt, h(() => o.value ? Ne((u == null ? void 0 : u.value) ?? {}, o.value) : u == null ? void 0 : u.value));
}
return {
props: i,
provideSubDefaults: r
};
}
const ta = ["top", "bottom"], $i = ["start", "end", "left", "right"];
function wn(e, n) {
let [t, l] = e.split(" ");
return l || (l = Ht(ta, t) ? "start" : Ht($i, t) ? "top" : "center"), {
side: ol(t, n),
align: ol(l, n)
};
}
function ol(e, n) {
return e === "start" ? n ? "right" : "left" : e === "end" ? n ? "left" : "right" : e;
}
function sn(e) {
return {
side: {
center: "center",
top: "bottom",
bottom: "top",
left: "right",
right: "left"
}[e.side],
align: e.align
};
}
function cn(e) {
return {
side: e.side,
align: {
center: "center",
top: "bottom",
bottom: "top",
left: "right",
right: "left"
}[e.align]
};
}
function rl(e) {
return {
side: e.align,
align: e.side
};
}
function ul(e) {
return Ht(ta, e.side) ? "y" : "x";
}
class et {
constructor(n) {
let {
x: t,
y: l,
width: a,
height: i
} = n;
this.x = t, this.y = l, this.width = a, this.height = i;
}
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 sl(e, n) {
return {
x: {
before: Math.max(0, n.left - e.left),
after: Math.max(0, e.right - n.right)
},
y: {
before: Math.max(0, n.top - e.top),
after: Math.max(0, e.bottom - n.bottom)
}
};
}
function na(e) {
return Array.isArray(e) ? new et({
x: e[0],
y: e[1],
width: 0,
height: 0
}) : e.getBoundingClientRect();
}
function Rn(e) {
const n = e.getBoundingClientRect(), t = getComputedStyle(e), l = t.transform;
if (l) {
let a, i, o, r, u;
if (l.startsWith("matrix3d("))
a = l.slice(9, -1).split(/, /), i = +a[0], o = +a[5], r = +a[12], u = +a[13];
else if (l.startsWith("matrix("))
a = l.slice(7, -1).split(/, /), i = +a[0], o = +a[3], r = +a[4], u = +a[5];
else
return new et(n);
const s = t.transformOrigin, d = n.x - r - (1 - i) * parseFloat(s), v = n.y - u - (1 - o) * parseFloat(s.slice(s.indexOf(" ") + 1)), f = i ? n.width / i : e.offsetWidth + 1, m = o ? n.height / o : e.offsetHeight + 1;
return new et({
x: d,
y: v,
width: f,
height: m
});
} else
return new et(n);
}
function ut(e, n, t) {
if (typeof e.animate > "u") return {
finished: Promise.resolve()
};
let l;
try {
l = e.animate(n, t);
} catch {
return {
finished: Promise.resolve()
};
}
return typeof l.finished > "u" && (l.finished = new Promise((a) => {
l.onfinish = () => {
a(l);
};
})), l;
}
const Nt = /* @__PURE__ */ new WeakMap();
function Ni(e, n) {
Object.keys(n).forEach((t) => {
if (Ln(t)) {
const l = Jl(t), a = Nt.get(e);
if (n[t] == null)
a == null || a.forEach((i) => {
const [o, r] = i;
o === l && (e.removeEventListener(l, r), a.delete(i));
});
else if (!a || ![...a].some((i) => i[0] === l && i[1] === n[t])) {
e.addEventListener(l, n[t]);
const i = a || /* @__PURE__ */ new Set();
i.add([l, n[t]]), Nt.has(e) || Nt.set(e, i);
}
} else
n[t] == null ? e.removeAttribute(t) : e.setAttribute(t, n[t]);
});
}
function zi(e, n) {
Object.keys(n).forEach((t) => {
if (Ln(t)) {
const l = Jl(t), a = Nt.get(e);
a == null || a.forEach((i) => {
const [o, r] = i;
o === l && (e.removeEventListener(l, r), a.delete(i));
});
} else
e.removeAttribute(t);
});
}
const rt = 2.4, cl = 0.2126729, dl = 0.7151522, fl = 0.072175, Hi = 0.55, Wi = 0.58, ji = 0.57, Ui = 0.62, Mt = 0.03, vl = 1.45, Gi = 5e-4, Ki = 1.25, qi = 1.25, ml = 0.078, gl = 12.82051282051282, Rt = 0.06, yl = 1e-3;
function hl(e, n) {
const t = (e.r / 255) ** rt, l = (e.g / 255) ** rt, a = (e.b / 255) ** rt, i = (n.r / 255) ** rt, o = (n.g / 255) ** rt, r = (n.b / 255) ** rt;
let u = t * cl + l * dl + a * fl, s = i * cl + o * dl + r * fl;
if (u <= Mt && (u += (Mt - u) ** vl), s <= Mt && (s += (Mt - s) ** vl), Math.abs(s - u) < Gi) return 0;
let d;
if (s > u) {
const v = (s ** Hi - u ** Wi) * Ki;
d = v < yl ? 0 : v < ml ? v - v * gl * Rt : v - Rt;
} else {
const v = (s ** Ui - u ** ji) * qi;
d = v > -yl ? 0 : v > -ml ? v - v * gl * Rt : v + Rt;
}
return d * 100;
}
function tt(e) {
Jt(`Vuetify: ${e}`);
}
function Yi(e) {
Jt(`Vuetify error: ${e}`);
}
function Xi(e, n) {
n = Array.isArray(n) ? n.slice(0, -1).map((t) => `'${t}'`).join(", ") + ` or '${n.at(-1)}'` : `'${n}'`, Jt(`[Vuetify UPGRADE] '${e}' is deprecated, use ${n} instead.`);
}
function Cn(e) {
return !!e && /^(#|var\(--|(rgb|hsl)a?\()/.test(e);
}
function Qi(e) {
return Cn(e) && !/^((rgb|hsl)a?\()?var\(--/.test(e);
}
const bl = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/, Ji = {
rgb: (e, n, t, l) => ({
r: e,
g: n,
b: t,
a: l
}),
rgba: (e, n, t, l) => ({
r: e,
g: n,
b: t,
a: l
}),
hsl: (e, n, t, l) => Sl({
h: e,
s: n,
l: t,
a: l
}),
hsla: (e, n, t, l) => Sl({
h: e,
s: n,
l: t,
a: l
}),
hsv: (e, n, t, l) => Vt({
h: e,
s: n,
v: t,
a: l
}),
hsva: (e, n, t, l) => Vt({
h: e,
s: n,
v: t,
a: l
})
};
function pt(e) {
if (typeof e == "number")
return (isNaN(e) || e < 0 || e > 16777215) && tt(`'${e}' is not a valid hex color`), {
r: (e & 16711680) >> 16,
g: (e & 65280) >> 8,
b: e & 255
};
if (typeof e == "string" && bl.test(e)) {
const {
groups: n
} = e.match(bl), {
fn: t,
values: l
} = n, a = l.split(/,\s*/).map((i) => i.endsWith("%") && ["hsl", "hsla", "hsv", "hsva"].includes(t) ? parseFloat(i) / 100 : parseFloat(i));
return Ji[t](...a);
} else if (typeof e == "string") {
let n = e.startsWith("#") ? e.slice(1) : e;
[3, 4].includes(n.length) ? n = n.split("").map((l) => l + l).join("") : [6, 8].includes(n.length) || tt(`'${e}' is not a valid hex(a) color`);
const t = parseInt(n, 16);
return (isNaN(t) || t < 0 || t > 4294967295) && tt(`'${e}' is not a valid hex(a) color`), Zi(n);
} else if (typeof e == "object") {
if (un(e, ["r", "g", "b"]))
return e;
if (un(e, ["h", "s", "l"]))
return Vt(la(e));
if (un(e, ["h", "s", "v"]))
return Vt(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 Vt(e) {
const {
h: n,
s: t,
v: l,
a
} = e, i = (r) => {
const u = (r + n / 60) % 6;
return l - l * t * Math.max(Math.min(u, 4 - u, 1), 0);
}, o = [i(5), i(3), i(1)].map((r) => Math.round(r * 255));
return {
r: o[0],
g: o[1],
b: o[2],
a
};
}
function Sl(e) {
return Vt(la(e));
}
function la(e) {
const {
h: n,
s: t,
l,
a
} = e, i = l + t * Math.min(l, 1 - l), o = i === 0 ? 0 : 2 - 2 * l / i;
return {
h: n,
s: o,
v: i,
a
};
}
function Zi(e) {
e = eo(e);
let [n, t, l, a] = Bi(e, 2).map((i) => parseInt(i, 16));
return a = a === void 0 ? a : a / 255, {
r: n,
g: t,
b: l,
a
};
}
function eo(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((n) => n + n).join("")), e.length !== 6 && (e = al(al(e, 6), 8, "F")), e;
}
function to(e) {
const n = Math.abs(hl(pt(0), pt(e)));
return Math.abs(hl(pt(16777215), pt(e))) > Math.min(n, 50) ? "#fff" : "#000";
}
function D(e, n) {
return (t) => Object.keys(e).reduce((l, a) => {
const o = typeof e[a] == "object" && e[a] != null && !Array.isArray(e[a]) ? e[a] : {
type: e[a]
};
return t && a in t ? l[a] = {
...o,
default: t[a]
} : l[a] = o, n && !l[a].source && (l[a].source = n), l;
}, {});
}
const ae = D({
class: [String, Array, Object],
style: {
type: [String, Array, Object],
default: null
}
}, "component");
function Bt(e) {
if (e._setup = e._setup ?? e.setup, !e.name)
return tt("The component is missing an explicit name, unable to generate default prop value"), e;
if (e._setup) {
e.props = D(e.props ?? {}, e.name)();
const n = Object.keys(e.props).filter((t) => t !== "class" && t !== "style");
e.filterProps = function(l) {
return ql(l, n);
}, e.props._as = String, e.setup = function(l, a) {
const i = Mn();
if (!i.value) return e._setup(l, a);
const {
props: o,
provideSubDefaults: r
} = Di(l, l._as ?? e.name, i), u = e._setup(o, a);
return r(), u;
};
}
return e;
}
function J() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
return (n) => (e ? Bt : hi)(n);
}
function no(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "div", t = arguments.length > 2 ? arguments[2] : void 0;
return J()({
name: t ?? Hl(Wl(e.replace(/__/g, "-"))),
props: {
tag: {
type: String,
default: n
},
...ae()
},
setup(l, a) {
let {
slots: i
} = a;
return () => {
var o;
return Zt(l.tag, {
class: [e, l.class],
style: l.style
}, (o = i.default) == null ? void 0 : o.call(i));
};
}
});
}
function aa(e) {
if (typeof e.getRootNode != "function") {
for (; e.parentNode; ) e = e.parentNode;
return e !== document ? null : document;
}
const n = e.getRootNode();
return n !== document && n.getRootNode({
composed: !0
}) !== document ? null : n;
}
const Ut = "cubic-bezier(0.4, 0, 0.2, 1)", lo = "cubic-bezier(0.0, 0, 0.2, 1)", ao = "cubic-bezier(0.4, 0, 1, 1)";
function ia(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
for (; e; ) {
if (n ? io(e) : Dn(e)) return e;
e = e.parentElement;
}
return document.scrollingElement;
}
function Gt(e, n) {
const t = [];
if (n && e && !n.contains(e)) return t;
for (; e && (Dn(e) && t.push(e), e !== n); )
e = e.parentElement;
return t;
}
function Dn(e) {
if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
const n = window.getComputedStyle(e);
return n.overflowY === "scroll" || n.overflowY === "auto" && e.scrollHeight > e.clientHeight;
}
function io(e) {
if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
const n = window.getComputedStyle(e);
return ["scroll", "auto"].includes(n.overflowY);
}
function oo(e) {
for (; e; ) {
if (window.getComputedStyle(e).position === "fixed")
return !0;
e = e.offsetParent;
}
return !1;
}
function ne(e) {
const n = ge("useRender");
n.render = e;
}
const ro = D({
defaults: Object,
disabled: Boolean,
reset: [Number, String],
root: [Boolean, String],
scoped: Boolean
}, "VDefaultsProvider"), Le = J(!1)({
name: "VDefaultsProvider",
props: ro(),
setup(e, n) {
let {
slots: t
} = n;
const {
defaults: l,
disabled: a,
reset: i,
root: o,
scoped: r
} = zl(e);
return en(l, {
reset: i,
root: o,
scoped: r,
disabled: a
}), () => {
var u;
return (u = t.default) == null ? void 0 : u.call(t);
};
}
});
function $n(e) {
return _n(() => {
const n = [], t = {};
if (e.value.background)
if (Cn(e.value.background)) {
if (t.backgroundColor = e.value.background, !e.value.text && Qi(e.value.background)) {
const l = pt(e.value.background);
if (l.a == null || l.a === 1) {
const a = to(l);
t.color = a, t.caretColor = a;
}
}
} else
n.push(`bg-${e.value.background}`);
return e.value.text && (Cn(e.value.text) ? (t.color = e.value.text, t.caretColor = e.value.text) : n.push(`text-${e.value.text}`)), {
colorClasses: n,
colorStyles: t
};
});
}
function Ye(e, n) {
const t = h(() => ({
text: st(e) ? e.value : n ? e[n] : null
})), {
colorClasses: l,
colorStyles: a
} = $n(t);
return {
textColorClasses: l,
textColorStyles: a
};
}
function Ke(e, n) {
const t = h(() => ({
background: st(e) ? e.value : n ? e[n] : null
})), {
colorClasses: l,
colorStyles: a
} = $n(t);
return {
backgroundColorClasses: l,
backgroundColorStyles: a
};
}
const se = [String, Function, Object, Array], uo = Symbol.for("vuetify:icons"), tn = D({
icon: {
type: se
},
// Could not remove this and use makeTagProps, types complained because it is not required
tag: {
type: String,
required: !0
}
}, "icon"), wl = J()({
name: "VComponentIcon",
props: tn(),
setup(e, n) {
let {
slots: t
} = n;
return () => {
const l = e.icon;
return c(e.tag, null, {
default: () => {
var a;
return [e.icon ? c(l, null, null) : (a = t.default) == null ? void 0 : a.call(t)];
}
});
};
}
}), so = Bt({
name: "VSvgIcon",
inheritAttrs: !1,
props: tn(),
setup(e, n) {
let {
attrs: t
} = n;
return () => c(e.tag, Q(t, {
style: null
}), {
default: () => [c("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((l) => Array.isArray(l) ? c("path", {
d: l[0],
"fill-opacity": l[1]
}, null) : c("path", {
d: l
}, null)) : c("path", {
d: e.icon
}, null)])]
});
}
});
Bt({
name: "VLigatureIcon",
props: tn(),
setup(e) {
return () => c(e.tag, null, {
default: () => [e.icon]
});
}
});
Bt({
name: "VClassIcon",
props: tn(),
setup(e) {
return () => c(e.tag, {
class: e.icon
}, null);
}
});
const co = (e) => {
const n = he(uo);
if (!n) throw new Error("Missing Vuetify Icons provide!");
return {
iconData: h(() => {
var u;
const l = Ce(e);
if (!l) return {
component: wl
};
let a = l;
if (typeof a == "string" && (a = a.trim(), a.startsWith("$") && (a = (u = n.aliases) == null ? void 0 : u[a.slice(1)])), a || tt(`Could not find aliased icon "${l}"`), Array.isArray(a))
return {
component: so,
icon: a
};
if (typeof a != "string")
return {
component: wl,
icon: a
};
const i = Object.keys(n.sets).find((s) => typeof a == "string" && a.startsWith(`${s}:`)), o = i ? a.slice(i.length + 1) : a;
return {
component: n.sets[i ?? n.defaultSet].component,
icon: o
};
})
};
}, fo = ["x-small", "small", "default", "large", "x-large"], Nn = D({
size: {
type: [String, Number],
default: "default"
}
}, "size");
function zn(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
return _n(() => {
let t, l;
return Ht(fo, e.size) ? t = `${n}--size-${e.size}` : e.size && (l = {
width: Y(e.size),
height: Y(e.size)
}), {
sizeClasses: t,
sizeStyles: l
};
});
}
const Me = D({
tag: {
type: String,
default: "div"
}
}, "tag"), Cl = Symbol.for("vuetify:theme"), Ee = D({
theme: String
}, "theme");
function Re(e) {
ge("provideTheme");
const n = he(Cl, null);
if (!n) throw new Error("Could not find Vuetify theme injection");
const t = h(() => e.theme ?? n.name.value), l = h(() => n.themes.value[t.value]), a = h(() => n.isDisabled ? void 0 : `v-theme--${t.value}`), i = {
...n,
name: t,
current: l,
themeClasses: a
};
return _e(Cl, i), i;
}
const vo = D({
color: String,
disabled: Boolean,
start: Boolean,
end: Boolean,
icon: se,
...ae(),
...Nn(),
...Me({
tag: "i"
}),
...Ee()
}, "VIcon"), we = J()({
name: "VIcon",
props: vo(),
setup(e, n) {
let {
attrs: t,
slots: l
} = n;
const a = W(), {
themeClasses: i
} = Re(e), {
iconData: o
} = co(h(() => a.value || e.icon)), {
sizeClasses: r
} = zn(e), {
textColorClasses: u,
textColorStyles: s
} = Ye(K(e, "color"));
return ne(() => {
var f, m;
const d = (f = l.default) == null ? void 0 : f.call(l);
d && (a.value = (m = Ql(d).filter((g) => g.type === bi && g.children && typeof g.children == "string")[0]) == null ? void 0 : m.children);
const v = !!(t.onClick || t.onClickOnce);
return c(o.value.component, {
tag: e.tag,
icon: o.value.icon,
class: ["v-icon", "notranslate", i.value, r.value, u.value, {
"v-icon--clickable": v,
"v-icon--disabled": e.disabled,
"v-icon--start": e.start,
"v-icon--end": e.end
}, e.class],
style: [r.value ? void 0 : {
fontSize: Y(e.size),
height: Y(e.size),
width: Y(e.size)
}, s.value, e.style],
role: v ? "button" : void 0,
"aria-hidden": !v,
tabindex: v ? e.disabled ? -1 : 0 : void 0
}, {
default: () => [d]
});
}), {};
}
}), yt = D({
height: [Number, String],
maxHeight: [Number, String],
maxWidth: [Number, String],
minHeight: [Number, String],
minWidth: [Number, String],
width: [Number, String]
}, "dimension");
function ht(e) {
return {
dimensionStyles: h(() => {
const t = {}, l = Y(e.height), a = Y(e.maxHeight), i = Y(e.maxWidth), o = Y(e.minHeight), r = Y(e.minWidth), u = Y(e.width);
return l != null && (t.height = l), a != null && (t.maxHeight = a), i != null && (t.maxWidth = i), o != null && (t.minHeight = o), r != null && (t.minWidth = r), u != null && (t.width = u), t;
})
};
}
function mo(e) {
return {
aspectStyles: h(() => {
const n = Number(e.aspectRatio);
return n ? {
paddingBottom: String(1 / n * 100) + "%"
} : void 0;
})
};
}
const oa = D({
aspectRatio: [String, Number],
contentClass: null,
inline: Boolean,
...ae(),
...yt()
}, "VResponsive"), kl = J()({
name: "VResponsive",
props: oa(),
setup(e, n) {
let {
slots: t
} = n;
const {
aspectStyles: l
} = mo(e), {
dimensionStyles: a
} = ht(e);
return ne(() => {
var i;
return c("div", {
class: ["v-responsive", {
"v-responsive--inline": e.inline
}, e.class],
style: [a.value, e.style]
}, [c("div", {
class: "v-responsive__sizer",
style: l.value
}, null), (i = t.additional) == null ? void 0 : i.call(t), t.default && c("div", {
class: ["v-responsive__content", e.contentClass]
}, [t.default()])]);
}), {};
}
}), it = D({
rounded: {
type: [Boolean, Number, String],
default: void 0
},
tile: Boolean
}, "rounded");
function ot(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
return {
roundedClasses: h(() => {
const l = st(e) ? e.value : e.rounded, a = st(e) ? e.value : e.tile, i = [];
if (l === !0 || l === "")
i.push(`${n}--rounded`);
else if (typeof l == "string" || l === 0)
for (const o of String(l).split(" "))
i.push(`rounded-${o}`);
else (a || l === !1) && i.push("rounded-0");
return i;
})
};
}
const bt = D({
transition: {
type: [Boolean, String, Object],
default: "fade-transition",
validator: (e) => e !== !0
}
}, "transition"), Ue = (e, n) => {
let {
slots: t
} = n;
const {
transition: l,
disabled: a,
group: i,
...o
} = e, {
component: r = i ? En : nt,
...u
} = typeof l == "object" ? l : {};
return Zt(r, Q(typeof l == "string" ? {
name: a ? "" : l
} : u, typeof l == "string" ? {} : Object.fromEntries(Object.entries({
disabled: a,
group: i
}).filter((s) => {
let [d, v] = s;
return v !== void 0;
})), o), t);
};
function go(e, n) {
if (!Tn) return;
const t = n.modifiers || {}, l = n.value, {
handler: a,
options: i
} = typeof l == "object" ? l : {
handler: l,
options: {}
}, o = new IntersectionObserver(function() {
var v;
let r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], u = arguments.length > 1 ? arguments[1] : void 0;
const s = (v = e._observe) == null ? void 0 : v[n.instance.$.uid];
if (!s) return;
const d = r.some((f) => f.isIntersecting);
a && (!t.quiet || s.init) && (!t.once || d || s.init) && a(d, r, u), d && t.once ? ra(e, n) : s.init = !0;
}, i);
e._observe = Object(e._observe), e._observe[n.instance.$.uid] = {
init: !1,
observer: o
}, o.observe(e);
}
function ra(e, n) {
var l;
const t = (l = e._observe) == null ? void 0 : l[n.instance.$.uid];
t && (t.observer.unobserve(e), delete e._observe[n.instance.$.uid]);
}
const ua = {
mounted: go,
unmounted: ra
}, yo = D({
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,
...oa(),
...ae(),
...it(),
...bt()
}, "VImg"), ho = J()({
name: "VImg",
directives: {
intersect: ua
},
props: yo(),
emits: {
loadstart: (e) => !0,
load: (e) => !0,
error: (e) => !0
},
setup(e, n) {
let {
emit: t,
slots: l
} = n;
const {
backgroundColorClasses: a,
backgroundColorStyles: i
} = Ke(K(e, "color")), {
roundedClasses: o
} = ot(e), r = ge("VImg"), u = G(""), s = W(), d = G(e.eager ? "loading" : "idle"), v = G(), f = G(), m = h(() => 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)
}), g = h(() => m.value.aspect || v.value / f.value || 0);
q(() => e.src, () => {
y(d.value !== "idle");
}), q(g, (I, L) => {
!I && L && s.value && p(s.value);
}), jl(() => y());
function y(I) {
if (!(e.eager && I) && !(Tn && !I && !e.eager)) {
if (d.value = "loading", m.value.lazySrc) {
const L = new Image();
L.src = m.value.lazySrc, p(L, null);
}
m.value.src && xe(() => {
var L;
t("loadstart", ((L = s.value) == null ? void 0 : L.currentSrc) || m.value.src), setTimeout(() => {
var M;
if (!r.isUnmounted)
if ((M = s.value) != null && M.complete) {
if (s.value.naturalWidth || S(), d.value === "error") return;
g.value || p(s.value, null), d.value === "loading" && b();
} else
g.value || p(s.value), O();
});
});
}
}
function b() {
var I;
r.isUnmounted || (O(), p(s.value), d.value = "loaded", t("load", ((I = s.value) == null ? void 0 : I.currentSrc) || m.value.src));
}
function S() {
var I;
r.isUnmounted || (d.value = "error", t("error", ((I = s.value) == null ? void 0 : I.currentSrc) || m.value.src));
}
function O() {
const I = s.value;
I && (u.value = I.currentSrc || I.src);
}
let E = -1;
$e(() => {
clearTimeout(E);
});
function p(I) {
let L = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100;
const M = () => {
if (clearTimeout(E), r.isUnmounted) return;
const {
naturalHeight: z,
naturalWidth: B
} = I;
z || B ? (v.value = B, f.value = z) : !I.complete && d.value === "loading" && L != null ? E = window.setTimeout(M, L) : (I.currentSrc.endsWith(".svg") || I.currentSrc.startsWith("data:image/svg+xml")) && (v.value = 1, f.value = 1);
};
M();
}
const V = h(() => ({
"v-img__img--cover": e.cover,
"v-img__img--contain": !e.cover
})), T = () => {
var M;
if (!m.value.src || d.value === "idle") return null;
const I = c("img", {
class: ["v-img__img", V.value],
style: {
objectPosition: e.position
},
src: m.value.src,
srcset: m.value.srcset,
alt: e.alt,
crossorigin: e.crossorigin,
referrerpolicy: e.referrerpolicy,
draggable: e.draggable,
sizes: e.sizes,
ref: s,
onLoad: b,
onError: S
}, null), L = (M = l.sources) == null ? void 0 : M.call(l);
return c(Ue, {
transition: e.transition,
appear: !0
}, {
default: () => [Fe(L ? c("picture", {
class: "v-img__picture"
}, [L, I]) : I, [[mt, d.value === "loaded"]])]
});
}, A = () => c(Ue, {
transition: e.transition
}, {
default: () => [m.value.lazySrc && d.value !== "loaded" && c("img", {
class: ["v-img__img", "v-img__img--preload", V.value],
style: {
objectPosition: e.position
},
src: m.value.lazySrc,
alt: e.alt,
crossorigin: e.crossorigin,
referrerpolicy: e.referrerpolicy,
draggable: e.draggable
}, null)]
}), P = () => l.placeholder ? c(Ue, {
transition: e.transition,
appear: !0
}, {
default: () => [(d.value === "loading" || d.value === "error" && !l.error) && c("div", {
class: "v-img__placeholder"
}, [l.placeholder()])]
}) : null, N = () => l.error ? c(Ue, {
transition: e.transition,
appear: !0
}, {
default: () => [d.value === "error" && c("div", {
class: "v-img__error"
}, [l.error()])]
}) : null, _ = () => e.gradient ? c("div", {
class: "v-img__gradient",
style: {
backgroundImage: `linear-gradient(${e.gradient})`
}
}, null) : null, $ = G(!1);
{
const I = q(g, (L) => {
L && (requestAnimationFrame(() => {
requestAnimationFrame(() => {
$.value = !0;
});
}), I());
});
}
return ne(() => {
const I = kl.filterProps(e);
return Fe(c(kl, Q({
class: ["v-img", {
"v-img--absolute": e.absolute,
"v-img--booting": !$.value
}, a.value, o.value, e.class],
style: [{
width: Y(e.width === "auto" ? v.value : e.width)
}, i.value, e.style]
}, I, {
aspectRatio: g.value,
"aria-label": e.alt,
role: e.alt ? "img" : void 0
}), {
additional: () => c(ue, null, [c(T, null, null), c(A, null, null), c(_, null, null), c(P, null, null), c(N, null, null)]),
default: l.default
}), [[vt("intersect"), {
handler: y,
options: e.options
}, null, {
once: !0
}]]);
}), {
currentSrc: u,
image: s,
state: d,
naturalWidth: v,
naturalHeight: f
};
}
}), nn = D({
border: [Boolean, Number, String]
}, "border");
function ln(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
return {
borderClasses: h(() => {
const l = st(e) ? e.value : e.border, a = [];
if (l === !0 || l === "")
a.push(`${n}--border`);
else if (typeof l == "string" || l === 0)
for (const i of String(l).split(" "))
a.push(`border-${i}`);
return a;
})
};
}
const bo = [null, "default", "comfortable", "compact"], St = D({
density: {
type: String,
default: "default",
validator: (e) => bo.includes(e)
}
}, "density");
function wt(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
return {
densityClasses: h(() => `${n}--density-${e.density}`)
};
}
const So = ["elevated", "flat", "tonal", "outlined", "text", "plain"];
function Hn(e, n) {
return c(ue, null, [e && c("span", {
key: "overlay",
class: `${n}__overlay`
}, null), c("span", {
key: "underlay",
class: `${n}__underlay`
}, null)]);
}
const Tt = D({
color: String,
variant: {
type: String,
default: "elevated",
validator: (e) => So.includes(e)
}
}, "variant");
function Wn(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
const t = h(() => {
const {
variant: i
} = Ce(e);
return `${n}--variant-${i}`;
}), {
colorClasses: l,
colorStyles: a
} = $n(h(() => {
const {
variant: i,
color: o
} = Ce(e);
return {
[["elevated", "flat"].includes(i) ? "background" : "text"]: o
};
}));
return {
colorClasses: l,
colorStyles: a,
variantClasses: t
};
}
const wo = D({
start: Boolean,
end: Boolean,
icon: se,
image: String,
text: String,
...nn(),
...ae(),
...St(),
...it(),
...Nn(),
...Me(),
...Ee(),
...Tt({
variant: "flat"
})
}, "VAvatar"), dt = J()({
name: "VAvatar",
props: wo(),
setup(e, n) {
let {
slots: t
} = n;
const {
themeClasses: l
} = Re(e), {
borderClasses: a
} = ln(e), {
colorClasses: i,
colorStyles: o,
variantClasses: r
} = Wn(e), {
densityClasses: u
} = wt(e), {
roundedClasses: s
} = ot(e), {
sizeClasses: d,
sizeStyles: v
} = zn(e);
return ne(() => c(e.tag, {
class: ["v-avatar", {
"v-avatar--start": e.start,
"v-avatar--end": e.end
}, l.value, a.value, i.value, u.value, s.value, d.value, r.value, e.class],
style: [o.value, v.value, e.style]
}, {
default: () => [t.default ? c(Le, {
key: "content-defaults",
defaults: {
VImg: {
cover: !0,
src: e.image
},
VIcon: {
icon: e.icon
}
}
}, {
default: () => [t.default()]
}) : e.image ? c(ho, {
key: "image",
src: e.image,
alt: "",
cover: !0
}, null) : e.icon ? c(we, {
key: "icon",
icon: e.icon
}, null) : e.text, Hn(!1, "v-avatar")]
})), {};
}
}), Co = D({
text: String,
onClick: pe(),
...ae(),
...Ee()
}, "VLabel"), sa = J()({
name: "VLabel",
props: Co(),
setup(e, n) {
let {
slots: t
} = n;
return ne(() => {
var l;
return c("label", {
class: ["v-label", {
"v-label--clickable": !!e.onClick
}, e.class],
style: e.style,
onClick: e.onClick
}, [e.text, (l = t.default) == null ? void 0 : l.call(t)]);
}), {};
}
});
function lt(e, n) {
let t;
function l() {
t = On(), t.run(() => n.length ? n(() => {
t == null || t.stop(), l();
}) : n());
}
q(e, (a) => {
a && !t ? l() : a || (t == null || t.stop(), t = void 0);
}, {
immediate: !0
}), Ve(() => {
t == null || t.stop();
});
}
function ve(e, n, t) {
let l = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (v) => v, a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (v) => v;
const i = ge("useProxiedModel"), o = W(e[n] !== void 0 ? e[n] : t), r = Ze(n), s = r !== n ? h(() => {
var v, f, m, g;
return e[n], !!(((v = i.vnode.props) != null && v.hasOwnProperty(n) || (f = i.vnode.props) != null && f.hasOwnProperty(r)) && ((m = i.vnode.props) != null && m.hasOwnProperty(`onUpdate:${n}`) || (g = i.vnode.props) != null && g.hasOwnProperty(`onUpdate:${r}`)));
}) : h(() => {
var v, f;
return e[n], !!((v = i.vnode.props) != null && v.hasOwnProperty(n) && ((f = i.vnode.props) != null && f.hasOwnProperty(`onUpdate:${n}`)));
});
lt(() => !s.value, () => {
q(() => e[n], (v) => {
o.value = v;
});
});
const d = h({
get() {
const v = e[n];
return l(s.value ? v : o.value);
},
set(v) {
const f = a(v), m = re(s.value ? e[n] : o.value);
m === f || l(m) === v || (o.value = f, i == null || i.emit(`update:${n}`, f));
}
});
return Object.defineProperty(d, "externalValue", {
get: () => s.value ? e[n] : o.value
}), d;
}
const ca = Symbol.for("vuetify:selection-control-group"), da = D({
color: String,
disabled: {
type: Boolean,
default: null
},
defaultsTarget: String,
error: Boolean,
id: String,
inline: Boolean,
falseIcon: se,
trueIcon: se,
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
},
...ae(),
...St(),
...Ee()
}, "SelectionControlGroup"), ko = D({
...da({
defaultsTarget: "VSelectionControl"
})
}, "VSelectionControlGroup");
J()({
name: "VSelectionControlGroup",
props: ko(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, n) {
let {
slots: t
} = n;
const l = ve(e, "modelValue"), a = He(), i = h(() => e.id || `v-selection-control-group-${a}`), o = h(() => e.name || i.value), r = /* @__PURE__ */ new Set();
return _e(ca, {
modelValue: l,
forceUpdate: () => {
r.forEach((u) => u());
},
onForceUpdate: (u) => {
r.add(u), Ve(() => {
r.delete(u);
});
}
}), en({
[e.defaultsTarget]: {
color: K(e, "color"),
disabled: K(e, "disabled"),
density: K(e, "density"),
error: K(e, "error"),
inline: K(e, "inline"),
modelValue: l,
multiple: h(() => !!e.multiple || e.multiple == null && Array.isArray(l.value)),
name: o,
falseIcon: K(e, "falseIcon"),
trueIcon: K(e, "trueIcon"),
readonly: K(e, "readonly"),
ripple: K(e, "ripple"),
type: K(e, "type"),
valueComparator: K(e, "valueComparator")
}
}), ne(() => {
var u;
return c("div", {
class: ["v-selection-control-group", {
"v-selection-control-group--inline": e.inline
}, e.class],
style: e.style,
role: e.type === "radio" ? "radiogroup" : void 0
}, [(u = t.default) == null ? void 0 : u.call(t)]);
}), {};
}
});
const kn = Symbol("rippleStop"), po = 80;
function pl(e, n) {
e.style.transform = n, e.style.webkitTransform = n;
}
function pn(e) {
return e.constructor.name === "TouchEvent";
}
function fa(e) {
return e.constructor.name === "KeyboardEvent";
}
const xo = function(e, n) {
var v;
let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, l = 0, a = 0;
if (!fa(e)) {
const f = n.getBoundingClientRect(), m = pn(e) ? e.touches[e.touches.length - 1] : e;
l = m.clientX - f.left, a = m.clientY - f.top;
}
let i = 0, o = 0.3;
(v = n._ripple) != null && v.circle ? (o = 0.15, i = n.clientWidth / 2, i = t.center ? i : i + Math.sqrt((l - i) ** 2 + (a - i) ** 2) / 4) : i = Math.sqrt(n.clientWidth ** 2 + n.clientHeight ** 2) / 2;
const r = `${(n.clientWidth - i * 2) / 2}px`, u = `${(n.clientHeight - i * 2) / 2}px`, s = t.center ? r : `${l - i}px`, d = t.center ? u : `${a - i}px`;
return {
radius: i,
scale: o,
x: s,
y: d,
centerX: r,
centerY: u
};
}, Kt = {
/* eslint-disable max-statements */
show(e, n) {
var m;
let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
if (!((m = n == null ? void 0 : n._ripple) != null && m.enabled))
return;
const l = document.createElement("span"), a = document.createElement("span");
l.appendChild(a), l.className = "v-ripple__container", t.class && (l.className += ` ${t.class}`);
const {
radius: i,
scale: o,
x: r,
y: u,
centerX: s,
centerY: d
} = xo(e, n, t), v = `${i * 2}px`;
a.className = "v-ripple__animation", a.style.width = v, a.style.height = v, n.appendChild(l);
const f = window.getComputedStyle(n);
f && f.position === "static" && (n.style.position = "relative", n.dataset.previousPosition = "static"), a.classList.add("v-ripple__animation--enter"), a.classList.add("v-ripple__animation--visible"), pl(a, `translate(${r}, ${u}) scale3d(${o},${o},${o})`), a.dataset.activated = String(performance.now()), setTimeout(() => {
a.classList.remove("v-ripple__animation--enter"), a.classList.add("v-ripple__animation--in"), pl(a, `translate(${s}, ${d}) scale3d(1,1,1)`);
}, 0);
},
hide(e) {
var i;
if (!((i = e == null ? void 0 : e._ripple) != null && i.enabled)) return;
const n = e.getElementsByClassName("v-ripple__animation");
if (n.length === 0) return;
const t = n[n.length - 1];
if (t.dataset.isHiding) return;
t.dataset.isHiding = "true";
const l = performance.now() - Number(t.dataset.activated), a = Math.max(250 - l, 0);
setTimeout(() => {
t.classList.remove("v-ripple__animation--in"), t.classList.add("v-ripple__animation--out"), setTimeout(() => {
var r;
e.getElementsByClassName("v-ripple__animation").length === 1 && e.dataset.previousPosition && (e.style.position = e.dataset.previousPosition, delete e.dataset.previousPosition), ((r = t.parentNode) == null ? void 0 : r.parentNode) === e && e.removeChild(t.parentNode);
}, 300);
}, a);
}
};
function va(e) {
return typeof e > "u" || !!e;
}
function It(e) {
const n = {}, t = e.currentTarget;
if (!(!(t != null && t._ripple) || t._ripple.touched || e[kn])) {
if (e[kn] = !0, pn(e))
t._ripple.touched = !0, t._ripple.isTouch = !0;
else if (t._ripple.isTouch) return;
if (n.center = t._ripple.centered || fa(e), t._ripple.class && (n.class = t._ripple.class), pn(e)) {
if (t._ripple.showTimerCommit) return;
t._ripple.showTimerCommit = () => {
Kt.show(e, t, n);
}, t._ripple.showTimer = window.setTimeout(() => {
var l;
(l = t == null ? void 0 : t._ripple) != null && l.showTimerCommit && (t._ripple.showTimerCommit(), t._ripple.showTimerCommit = null);
}, po);
} else
Kt.show(e, t, n);
}
}
function xl(e) {
e[kn] = !0;
}
function Ae(e) {
const n = e.currentTarget;
if (n != null && n._ripple) {
if (window.clearTimeout(n._ripple.showTimer), e.type === "touchend" && n._ripple.showTimerCommit) {
n._ripple.showTimerCommit(), n._ripple.showTimerCommit = null, n._ripple.showTimer = window.setTimeout(() => {
Ae(e);
});
return;
}
window.setTimeout(() => {
n._ripple && (n._ripple.touched = !1);
}), Kt.hide(n);
}
}
function ma(e) {
const n = e.currentTarget;
n != null && n._ripple && (n._ripple.showTimerCommit && (n._ripple.showTimerCommit = null), window.clearTimeout(n._ripple.showTimer));
}
let Pt = !1;
function ga(e) {
!Pt && (e.keyCode === nl.enter || e.keyCode === nl.space) && (Pt = !0, It(e));
}
function ya(e) {
Pt = !1, Ae(e);
}
function ha(e) {
Pt && (Pt = !1, Ae(e));
}
function ba(e, n, t) {
const {
value: l,
modifiers: a
} = n, i = va(l);
if (i || Kt.hide(e), e._ripple = e._ripple ?? {}, e._ripple.enabled = i, e._ripple.centered = a.center, e._ripple.circle = a.circle, Pi(l) && l.class && (e._ripple.class = l.class), i && !t) {
if (a.stop) {
e.addEventListener("touchstart", xl, {
passive: !0
}), e.addEventListener("mousedown", xl);
return;
}
e.addEventListener("touchstart", It, {
passive: !0
}), e.addEventListener("touchend", Ae, {
passive: !0
}), e.addEventListener("touchmove", ma, {
passive: !0
}), e.addEventListener("touchcancel", Ae), e.addEventListener("mousedown", It), e.addEventListener("mouseup", Ae), e.addEventListener("mouseleave", Ae), e.addEventListener("keydown", ga), e.addEventListener("keyup", ya), e.addEventListener("blur", ha), e.addEventListener("dragstart", Ae, {
passive: !0
});
} else !i && t && Sa(e);
}
function Sa(e) {
e.removeEventListener("mousedown", It), e.removeEventListener("touchstart", It), e.removeEventListener("touchend", Ae), e.removeEventListener("touchmove", ma), e.removeEventListener("touchcancel", Ae), e.removeEventListener("mouseup", Ae), e.removeEventListener("mouseleave", Ae), e.removeEventListener("keydown", ga), e.removeEventListener("keyup", ya), e.removeEventListener("dragstart", Ae), e.removeEventListener("blur", ha);
}
function Vo(e, n) {
ba(e, n, !1);
}
function Io(e) {
delete e._ripple, Sa(e);
}
function Po(e, n) {
if (n.value === n.oldValue)
return;
const t = va(n.oldValue);
ba(e, n, t);
}
const jn = {
mounted: Vo,
unmounted: Io,
updated: Po
}, wa = D({
label: String,
baseColor: String,
trueValue: null,
falseValue: null,
value: null,
...ae(),
...da()
}, "VSelectionControl");
function Ao(e) {
const n = he(ca, void 0), {
densityClasses: t
} = wt(e), l = ve(e, "modelValue"), a = h(() => e.trueValue !== void 0 ? e.trueValue : e.value !== void 0 ? e.value : !0), i = h(() => e.falseValue !== void 0 ? e.falseValue : !1), o = h(() => !!e.multiple || e.multiple == null && Array.isArray(l.value)), r = h({
get() {
const m = n ? n.modelValue.value : l.value;
return o.value ? ke(m).some((g) => e.valueComparator(g, a.value)) : e.valueComparator(m, a.value);
},
set(m) {
if (e.readonly) return;
const g = m ? a.value : i.value;
let y = g;
o.value && (y = m ? [...ke(l.value), g] : ke(l.value).filter((b) => !e.valueComparator(b, a.value))), n ? n.modelValue.value = y : l.value = y;
}
}), {
textColorClasses: u,
textColorStyles: s
} = Ye(h(() => {
if (!(e.error || e.disabled))
return r.value ? e.color : e.baseColor;
})), {
backgroundColorClasses: d,
backgroundColorStyles: v
} = Ke(h(() => r.value && !e.error && !e.disabled ? e.color : e.baseColor)), f = h(() => r.value ? e.trueIcon : e.falseIcon);
return {
group: n,
densityClasses: t,
trueValue: a,
falseValue: i,
model: r,
textColorClasses: u,
textColorStyles: s,
backgroundColorClasses: d,
backgroundColorStyles: v,
icon: f
};
}
const Vl = J()({
name: "VSelectionControl",
directives: {
Ripple: jn
},
inheritAttrs: !1,
props: wa(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, n) {
let {
attrs: t,
slots: l
} = n;
const {
group: a,
densityClasses: i,
icon: o,
model: r,
textColorClasses: u,
textColorStyles: s,
backgroundColorClasses: d,
backgroundColorStyles: v,
trueValue: f
} = Ao(e), m = He(), g = G(!1), y = G(!1), b = W(), S = h(() => e.id || `input-${m}`), O = h(() => !e.disabled && !e.readonly);
a == null || a.onForceUpdate(() => {
b.value && (b.value.checked = r.value);
});
function E(A) {
O.value && (g.value = !0, ct(A.target, ":focus-visible") !== !1 && (y.value = !0));
}
function p() {
g.value = !1, y.value = !1;
}
function V(A) {
A.stopPropagation();
}
function T(A) {
if (!O.value) {
b.value && (b.value.checked = r.value);
return;
}
e.readonly && a && xe(() => a.forceUpdate()), r.value = A.target.checked;
}
return ne(() => {
var $, I;
const A = l.label ? l.label({
label: e.label,
props: {
for: S.value
}
}) : e.label, [P, N] = Xl(t), _ = c("input", Q({
ref: b,
checked: r.value,
disabled: !!e.disabled,
id: S.value,
onBlur: p,
onFocus: E,
onInput: T,
"aria-disabled": !!e.disabled,
"aria-label": e.label,
type: e.type,
value: f.value,
name: e.name,
"aria-checked": e.type === "checkbox" ? r.value : void 0
}, N), null);
return c("div", Q({
class: ["v-selection-control", {
"v-selection-control--dirty": r.value,
"v-selection-control--disabled": e.disabled,
"v-selection-control--error": e.error,
"v-selection-control--focused": g.value,
"v-selection-control--focus-visible": y.value,
"v-selection-control--inline": e.inline
}, i.value, e.class]
}, P, {
style: e.style
}), [c("div", {
class: ["v-selection-control__wrapper", u.value],
style: s.value
}, [($ = l.default) == null ? void 0 : $.call(l, {
backgroundColorClasses: d,
backgroundColorStyles: v
}), Fe(c("div", {
class: ["v-selection-control__input"]
}, [((I = l.input) == null ? void 0 : I.call(l, {
model: r,
textColorClasses: u,
textColorStyles: s,
backgroundColorClasses: d,
backgroundColorStyles: v,
inputNode: _,
icon: o.value,
props: {
onFocus: E,
onBlur: p,
id: S.value
}
})) ?? c(ue, null, [o.value && c(we, {
key: "icon",
icon: o.value
}, null), _])]), [[vt("ripple"), e.ripple && [!e.disabled && !e.readonly, null, ["center", "circle"]]]])]), A && c(sa, {
for: S.value,
onClick: V
}, {
default: () => [A]
})]);
}), {
isFocused: g,
input: b
};
}
}), Eo = D({
indeterminate: Boolean,
indeterminateIcon: {
type: se,
default: "$checkboxIndeterminate"
},
...wa({
falseIcon: "$checkboxOff",
trueIcon: "$checkboxOn"
})
}, "VCheckboxBtn"), Ca = J()({
name: "VCheckboxBtn",
props: Eo(),
emits: {
"update:modelValue": (e) => !0,
"update:indeterminate": (e) => !0
},
setup(e, n) {
let {
slots: t
} = n;
const l = ve(e, "indeterminate"), a = ve(e, "modelValue");
function i(u) {
l.value && (l.value = !1);
}
const o = h(() => l.value ? e.indeterminateIcon : e.falseIcon), r = h(() => l.value ? e.indeterminateIcon : e.trueIcon);
return ne(() => {
const u = at(Vl.filterProps(e), ["modelValue"]);
return c(Vl, Q(u, {
modelValue: a.value,
"onUpdate:modelValue": [(s) => a.value = s, i],
class: ["v-checkbox-btn", e.class],
style: e.style,
type: "checkbox",
falseIcon: o.value,
trueIcon: r.value,
"aria-checked": l.value ? "mixed" : void 0
}), t);
}), {};
}
}), ka = Symbol.for("vuetify:locale");
function an() {
const e = he(ka);
if (!e) throw new Error("[Vuetify] Could not find injected locale instance");
return e;
}
function Xe() {
const e = he(ka);
if (!e) throw new Error("[Vuetify] Could not find injected rtl instance");
return {
isRtl: e.isRtl,
rtlClasses: e.rtlClasses
};
}
function pa(e) {
const {
t: n
} = an();
function t(l) {
let {
name: a
} = l;
const i = {
prepend: "prependAction",
prependInner: "prependAction",
append: "appendAction",
appendInner: "appendAction",
clear: "clear"
}[a], o = e[`onClick:${a}`], r = o && i ? n(`$vuetify.input.${i}`, e.label ?? "") : void 0;
return c(we, {
icon: e[`${a}Icon`],
"aria-label": r,
onClick: o
}, null);
}
return {
InputIcon: t
};
}
const Oo = D({
disabled: Boolean,
group: Boolean,
hideOnLeave: Boolean,
leaveAbsolute: Boolean,
mode: String,
origin: String
}, "transition");
function Oe(e, n, t) {
return J()({
name: e,
props: Oo({
mode: t,
origin: n
}),
setup(l, a) {
let {
slots: i
} = a;
const o = {
onBeforeEnter(r) {
l.origin && (r.style.transformOrigin = l.origin);
},
onLeave(r) {
if (l.leaveAbsolute) {
const {
offsetTop: u,
offsetLeft: s,
offsetWidth: d,
offsetHeight: v
} = r;
r._transitionInitialStyles = {
position: r.style.position,
top: r.style.top,
left: r.style.left,
width: r.style.width,
height: r.style.height
}, r.style.position = "absolute", r.style.top = `${u}px`, r.style.left = `${s}px`, r.style.width = `${d}px`, r.style.height = `${v}px`;
}
l.hideOnLeave && r.style.setProperty("display", "none", "important");
},
onAfterLeave(r) {
if (l.leaveAbsolute && (r != null && r._transitionInitialStyles)) {
const {
position: u,
top: s,
left: d,
width: v,
height: f
} = r._transitionInitialStyles;
delete r._transitionInitialStyles, r.style.position = u || "", r.style.top = s || "", r.style.left = d || "", r.style.width = v || "", r.style.height = f || "";
}
}
};
return () => {
const r = l.group ? En : nt;
return Zt(r, {
name: l.disabled ? "" : e,
css: !l.disabled,
...l.group ? void 0 : {
mode: l.mode
},
...l.disabled ? {} : o
}, i.default);
};
}
});
}
function xa(e, n) {
let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "in-out";
return J()({
name: e,
props: {
mode: {
type: String,
default: t
},
disabled: Boolean,
group: Boolean
},
setup(l, a) {
let {
slots: i
} = a;
const o = l.group ? En : nt;
return () => Zt(o, {
name: l.disabled ? "" : e,
css: !l.disabled,
// mode: props.mode, // TODO: vuejs/vue-next#3104
...l.disabled ? {} : n
}, i.default);
}
});
}
function Va() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
const t = (arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1) ? "width" : "height", l = Wl(`offset-${t}`);
return {
onBeforeEnter(o) {
o._parent = o.parentNode, o._initialStyle = {
transition: o.style.transition,
overflow: o.style.overflow,
[t]: o.style[t]
};
},
onEnter(o) {
const r = o._initialStyle;
o.style.setProperty("transition", "none", "important"), o.style.overflow = "hidden";
const u = `${o[l]}px`;
o.style[t] = "0", o.offsetHeight, o.style.transition = r.transition, e && o._parent && o._parent.classList.add(e), requestAnimationFrame(() => {
o.style[t] = u;
});
},
onAfterEnter: i,
onEnterCancelled: i,
onLeave(o) {
o._initialStyle = {
transition: "",
overflow: o.style.overflow,
[t]: o.style[t]
}, o.style.overflow = "hidden", o.style[t] = `${o[l]}px`, o.offsetHeight, requestAnimationFrame(() => o.style[t] = "0");
},
onAfterLeave: a,
onLeaveCancelled: a
};
function a(o) {
e && o._parent && o._parent.classList.remove(e), i(o);
}
function i(o) {
const r = o._initialStyle[t];
o.style.overflow = o._initialStyle.overflow, r != null && (o.style[t] = r), delete o._initialStyle;
}
}
const Bo = D({
target: [Object, Array]
}, "v-dialog-transition"), Ia = J()({
name: "VDialogTransition",
props: Bo(),
setup(e, n) {
let {
slots: t
} = n;
const l = {
onBeforeEnter(a) {
a.style.pointerEvents = "none", a.style.visibility = "hidden";
},
async onEnter(a, i) {
var f;
await new Promise((m) => requestAnimationFrame(m)), await new Promise((m) => requestAnimationFrame(m)), a.style.visibility = "";
const {
x: o,
y: r,
sx: u,
sy: s,
speed: d
} = Pl(e.target, a), v = ut(a, [{
transform: `translate(${o}px, ${r}px) scale(${u}, ${s})`,
opacity: 0
}, {}], {
duration: 225 * d,
easing: lo
});
(f = Il(a)) == null || f.forEach((m) => {
ut(m, [{
opacity: 0
}, {
opacity: 0,
offset: 0.33
}, {}], {
duration: 225 * 2 * d,
easing: Ut
});
}), v.finished.then(() => i());
},
onAfterEnter(a) {
a.style.removeProperty("pointer-events");
},
onBeforeLeave(a) {
a.style.pointerEvents = "none";
},
async onLeave(a, i) {
var f;
await new Promise((m) => requestAnimationFrame(m));
const {
x: o,
y: r,
sx: u,
sy: s,
speed: d
} = Pl(e.target, a);
ut(a, [{}, {
transform: `translate(${o}px, ${r}px) scale(${u}, ${s})`,
opacity: 0
}], {
duration: 125 * d,
easing: ao
}).finished.then(() => i()), (f = Il(a)) == null || f.forEach((m) => {
ut(m, [{}, {
opacity: 0,
offset: 0.2
}, {
opacity: 0
}], {
duration: 125 * 2 * d,
easing: Ut
});
});
},
onAfterLeave(a) {
a.style.removeProperty("pointer-events");
}
};
return () => e.target ? c(nt, Q({
name: "dialog-transition"
}, l, {
css: !1
}), t) : c(nt, {
name: "dialog-transition"
}, t);
}
});
function Il(e) {
var t;
const n = (t = e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")) == null ? void 0 : t.children;
return n && [...n];
}
function Pl(e, n) {
const t = na(e), l = Rn(n), [a, i] = getComputedStyle(n).transformOrigin.split(" ").map((S) => parseFloat(S)), [o, r] = getComputedStyle(n).getPropertyValue("--v-overlay-anchor-origin").split(" ");
let u = t.left + t.width / 2;
o === "left" || r === "left" ? u -= t.width / 2 : (o === "right" || r === "right") && (u += t.width / 2);
let s = t.top + t.height / 2;
o === "top" || r === "top" ? s -= t.height / 2 : (o === "bottom" || r === "bottom") && (s += t.height / 2);
const d = t.width / l.width, v = t.height / l.height, f = Math.max(1, d, v), m = d / f || 0, g = v / f || 0, y = l.width * l.height / (window.innerWidth * window.innerHeight), b = y > 0.12 ? Math.min(1.5, (y - 0.12) * 10 + 1) : 1;
return {
x: u - (a + l.left),
y: s - (i + l.top),
sx: m,
sy: g,
speed: b
};
}
Oe("fab-transition", "center center", "out-in");
Oe("dialog-bottom-transition");
Oe("dialog-top-transition");
const Al = Oe("fade-transition");
Oe("scale-transition");
Oe("scroll-x-transition");
Oe("scroll-x-reverse-transition");
Oe("scroll-y-transition");
Oe("scroll-y-reverse-transition");
Oe("slide-x-transition");
Oe("slide-x-reverse-transition");
const Pa = Oe("slide-y-transition");
Oe("slide-y-reverse-transition");
const To = xa("expand-transition", Va()), Aa = xa("expand-x-transition", Va("", !0)), Lo = D({
active: Boolean,
color: String,
messages: {
type: [Array, String],
default: () => []
},
...ae(),
...bt({
transition: {
component: Pa,
leaveAbsolute: !0,
group: !0
}
})
}, "VMessages"), _o = J()({
name: "VMessages",
props: Lo(),
setup(e, n) {
let {
slots: t
} = n;
const l = h(() => ke(e.messages)), {
textColorClasses: a,
textColorStyles: i
} = Ye(h(() => e.color));
return ne(() => c(Ue, {
transition: e.transition,
tag: "div",
class: ["v-messages", a.value, e.class],
style: [i.value, e.style],
role: "alert",
"aria-live": "polite"
}, {
default: () => [e.active && l.value.map((o, r) => c("div", {
class: "v-messages__message",
key: `${r}-${l.value}`
}, [t.message ? t.message({
message: o
}) : o]))]
})), {};
}
}), Ea = D({
focused: Boolean,
"onUpdate:focused": pe()
}, "focus");
function Oa(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
const t = ve(e, "focused"), l = h(() => ({
[`${n}--focused`]: t.value
}));
function a() {
t.value = !0;
}
function i() {
t.value = !1;
}
return {
focusClasses: l,
isFocused: t,
focus: a,
blur: i
};
}
const Fo = Symbol.for("vuetify:form");
function Un() {
return he(Fo, null);
}
const Mo = D({
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,
...Ea()
}, "validation");
function Ro(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze(), t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : He();
const l = ve(e, "modelValue"), a = h(() => e.validationValue === void 0 ? l.value : e.validationValue), i = Un(), o = W([]), r = G(!0), u = h(() => !!(ke(l.value === "" ? null : l.value).length || ke(a.value === "" ? null : a.value).length)), s = h(() => !!(e.disabled ?? (i == null ? void 0 : i.isDisabled.value))), d = h(() => !!(e.readonly ?? (i == null ? void 0 : i.isReadonly.value))), v = h(() => {
var V;
return (V = e.errorMessages) != null && V.length ? ke(e.errorMessages).concat(o.value).slice(0, Math.max(0, +e.maxErrors)) : o.value;
}), f = h(() => {
let V = (e.validateOn ?? (i == null ? void 0 : i.validateOn.value)) || "input";
V === "lazy" && (V = "input lazy"), V === "eager" && (V = "input eager");
const T = new Set((V == null ? void 0 : V.split(" ")) ?? []);
return {
input: T.has("input"),
blur: T.has("blur") || T.has("input") || T.has("invalid-input"),
invalidInput: T.has("invalid-input"),
lazy: T.has("lazy"),
eager: T.has("eager")
};
}), m = h(() => {
var V;
return e.error || (V = e.errorMessages) != null && V.length ? !1 : e.rules.length ? r.value ? o.value.length || f.value.lazy ? null : !0 : !o.value.length : !0;
}), g = G(!1), y = h(() => ({
[`${n}--error`]: m.value === !1,
[`${n}--dirty`]: u.value,
[`${n}--disabled`]: s.value,
[`${n}--readonly`]: d.value
})), b = ge("validation"), S = h(() => e.name ?? Ce(t));
jl(() => {
i == null || i.register({
id: S.value,
vm: b,
validate: p,
reset: O,
resetValidation: E
});
}), $e(() => {
i == null || i.unregister(S.value);
}), Ot(async () => {
f.value.lazy || await p(!f.value.eager), i == null || i.update(S.value, m.value, v.value);
}), lt(() => f.value.input || f.value.invalidInput && m.value === !1, () => {
q(a, () => {
if (a.value != null)
p();
else if (e.focused) {
const V = q(() => e.focused, (T) => {
T || p(), V();
});
}
});
}), lt(() => f.value.blur, () => {
q(() => e.focused, (V) => {
V || p();
});
}), q([m, v], () => {
i == null || i.update(S.value, m.value, v.value);
});
async function O() {
l.value = null, await xe(), await E();
}
async function E() {
r.value = !0, f.value.lazy ? o.value = [] : await p(!f.value.eager);
}
async function p() {
let V = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
const T = [];
g.value = !0;
for (const A of e.rules) {
if (T.length >= +(e.maxErrors ?? 1))
break;
const N = await (typeof A == "function" ? A : () => A)(a.value);
if (N !== !0) {
if (N !== !1 && typeof N != "string") {
console.warn(`${N} is not a valid value. Rule functions must return boolean true or a string.`);
continue;
}
T.push(N || "");
}
}
return o.value = T, g.value = !1, r.value = V, o.value;
}
return {
errorMessages: v,
isDirty: u,
isDisabled: s,
isReadonly: d,
isPristine: r,
isValid: m,
isValidating: g,
reset: O,
resetValidation: E,
validate: p,
validationClasses: y
};
}
const Ba = D({
id: String,
appendIcon: se,
centerAffix: {
type: Boolean,
default: !0
},
prependIcon: se,
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": pe(),
"onClick:append": pe(),
...ae(),
...St(),
...Ai(yt(), ["maxWidth", "minWidth", "width"]),
...Ee(),
...Mo()
}, "VInput"), El = J()({
name: "VInput",
props: {
...Ba()
},
emits: {
"update:modelValue": (e) => !0
},
setup(e, n) {
let {
attrs: t,
slots: l,
emit: a
} = n;
const {
densityClasses: i
} = wt(e), {
dimensionStyles: o
} = ht(e), {
themeClasses: r
} = Re(e), {
rtlClasses: u
} = Xe(), {
InputIcon: s
} = pa(e), d = He(), v = h(() => e.id || `input-${d}`), f = h(() => `${v.value}-messages`), {
errorMessages: m,
isDirty: g,
isDisabled: y,
isReadonly: b,
isPristine: S,
isValid: O,
isValidating: E,
reset: p,
resetValidation: V,
validate: T,
validationClasses: A
} = Ro(e, "v-input", v), P = h(() => ({
id: v,
messagesId: f,
isDirty: g,
isDisabled: y,
isReadonly: b,
isPristine: S,
isValid: O,
isValidating: E,
reset: p,
resetValidation: V,
validate: T
})), N = h(() => {
var _;
return (_ = e.errorMessages) != null && _.length || !S.value && m.value.length ? m.value : e.hint && (e.persistentHint || e.focused) ? e.hint : e.messages;
});
return ne(() => {
var M, z, B, F;
const _ = !!(l.prepend || e.prependIcon), $ = !!(l.append || e.appendIcon), I = N.value.length > 0, L = !e.hideDetails || e.hideDetails === "auto" && (I || !!l.details);
return c("div", {
class: ["v-input", `v-input--${e.direction}`, {
"v-input--center-affix": e.centerAffix,
"v-input--hide-spin-buttons": e.hideSpinButtons
}, i.value, r.value, u.value, A.value, e.class],
style: [o.value, e.style]
}, [_ && c("div", {
key: "prepend",
class: "v-input__prepend"
}, [(M = l.prepend) == null ? void 0 : M.call(l, P.value), e.prependIcon && c(s, {
key: "prepend-icon",
name: "prepend"
}, null)]), l.default && c("div", {
class: "v-input__control"
}, [(z = l.default) == null ? void 0 : z.call(l, P.value)]), $ && c("div", {
key: "append",
class: "v-input__append"
}, [e.appendIcon && c(s, {
key: "append-icon",
name: "append"
}, null), (B = l.append) == null ? void 0 : B.call(l, P.value)]), L && c("div", {
class: "v-input__details"
}, [c(_o, {
id: f.value,
active: I,
messages: N.value
}, {
message: l.message
}), (F = l.details) == null ? void 0 : F.call(l, P.value)])]);
}), {
reset: p,
resetValidation: V,
validate: T,
isValid: O,
errorMessages: m
};
}
}), Do = Symbol.for("vuetify:display"), $o = D({
mobile: {
type: Boolean,
default: !1
},
mobileBreakpoint: [Number, String]
}, "display");
function Gn() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
const t = he(Do);
if (!t) throw new Error("Could not find Vuetify display injection");
const l = h(() => {
if (e.mobile != null) return e.mobile;
if (!e.mobileBreakpoint) return t.mobile.value;
const i = typeof e.mobileBreakpoint == "number" ? e.mobileBreakpoint : t.thresholds.value[e.mobileBreakpoint];
return t.width.value < i;
}), a = h(() => n ? {
[`${n}--mobile`]: l.value
} : {});
return {
...t,
displayClasses: a,
mobile: l
};
}
const No = Symbol.for("vuetify:goto");
function zo() {
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 Ho(e) {
return Kn(e) ?? (document.scrollingElement || document.body);
}
function Kn(e) {
return typeof e == "string" ? document.querySelector(e) : Kl(e);
}
function dn(e, n, t) {
if (typeof e == "number") return n && t ? -e : e;
let l = Kn(e), a = 0;
for (; l; )
a += n ? l.offsetLeft : l.offsetTop, l = l.offsetParent;
return a;
}
async function Ol(e, n, t, l) {
const a = t ? "scrollLeft" : "scrollTop", i = Ne((l == null ? void 0 : l.options) ?? zo(), n), o = l == null ? void 0 : l.rtl.value, r = (typeof e == "number" ? e : Kn(e)) ?? 0, u = i.container === "parent" && r instanceof HTMLElement ? r.parentElement : Ho(i.container), s = typeof i.easing == "function" ? i.easing : i.patterns[i.easing];
if (!s) throw new TypeError(`Easing function "${i.easing}" not found.`);
let d;
if (typeof r == "number")
d = dn(r, t, o);
else if (d = dn(r, t, o) - dn(u, t, o), i.layout) {
const g = window.getComputedStyle(r).getPropertyValue("--v-layout-top");
g && (d -= parseInt(g, 10));
}
d += i.offset, d = jo(u, d, !!o, !!t);
const v = u[a] ?? 0;
if (d === v) return Promise.resolve(d);
const f = performance.now();
return new Promise((m) => requestAnimationFrame(function g(y) {
const S = (y - f) / i.duration, O = Math.floor(v + (d - v) * s(Ge(S, 0, 1)));
if (u[a] = O, S >= 1 && Math.abs(O - u[a]) < 10)
return m(d);
if (S > 2)
return tt("Scroll target is not reachable"), m(u[a]);
requestAnimationFrame(g);
}));
}
function Wo() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
const n = he(No), {
isRtl: t
} = Xe();
if (!n) throw new Error("[Vuetify] Could not find injected goto instance");
const l = {
...n,
// can be set via VLocaleProvider
rtl: h(() => n.rtl.value || t.value)
};
async function a(i, o) {
return Ol(i, Ne(e, o), !1, l);
}
return a.horizontal = async (i, o) => Ol(i, Ne(e, o), !0, l), a;
}
function jo(e, n, t, l) {
const {
scrollWidth: a,
scrollHeight: i
} = e, [o, r] = e === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [e.offsetWidth, e.offsetHeight];
let u, s;
return l ? t ? (u = -(a - o), s = 0) : (u = 0, s = a - o) : (u = 0, s = i + -r), Math.max(Math.min(n, s), u);
}
const Ta = D({
modelValue: {
type: null,
default: void 0
},
multiple: Boolean,
mandatory: [Boolean, String],
max: Number,
selectedClass: String,
disabled: Boolean
}, "group"), Uo = D({
value: null,
disabled: Boolean,
selectedClass: String
}, "group-item");
function Go(e, n) {
let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
const l = ge("useGroupItem");
if (!l)
throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");
const a = He();
_e(Symbol.for(`${n.description}:id`), a);
const i = he(n, null);
if (!i) {
if (!t) return i;
throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${n.description}`);
}
const o = K(e, "value"), r = h(() => !!(i.disabled.value || e.disabled));
i.register({
id: a,
value: o,
disabled: r
}, l), $e(() => {
i.unregister(a);
});
const u = h(() => i.isSelected(a)), s = h(() => i.items.value[0].id === a), d = h(() => i.items.value[i.items.value.length - 1].id === a), v = h(() => u.value && [i.selectedClass.value, e.selectedClass]);
return q(u, (f) => {
l.emit("group:selected", {
value: f
});
}, {
flush: "sync"
}), {
id: a,
isSelected: u,
isFirst: s,
isLast: d,
toggle: () => i.select(a, !u.value),
select: (f) => i.select(a, f),
selectedClass: v,
value: o,
disabled: r,
group: i
};
}
function La(e, n) {
let t = !1;
const l = Qt([]), a = ve(e, "modelValue", [], (f) => f == null ? [] : _a(l, ke(f)), (f) => {
const m = qo(l, f);
return e.multiple ? m : m[0];
}), i = ge("useGroup");
function o(f, m) {
const g = f, y = Symbol.for(`${n.description}:id`), S = kt(y, i == null ? void 0 : i.vnode).indexOf(m);
Ce(g.value) == null && (g.value = S, g.useIndexAsValue = !0), S > -1 ? l.splice(S, 0, g) : l.push(g);
}
function r(f) {
if (t) return;
u();
const m = l.findIndex((g) => g.id === f);
l.splice(m, 1);
}
function u() {
const f = l.find((m) => !m.disabled);
f && e.mandatory === "force" && !a.value.length && (a.value = [f.id]);
}
Ot(() => {
u();
}), $e(() => {
t = !0;
}), Si(() => {
for (let f = 0; f < l.length; f++)
l[f].useIndexAsValue && (l[f].value = f);
});
function s(f, m) {
const g = l.find((y) => y.id === f);
if (!(m && (g != null && g.disabled)))
if (e.multiple) {
const y = a.value.slice(), b = y.findIndex((O) => O === f), S = ~b;
if (m = m ?? !S, S && e.mandatory && y.length <= 1 || !S && e.max != null && y.length + 1 > e.max) return;
b < 0 && m ? y.push(f) : b >= 0 && !m && y.splice(b, 1), a.value = y;
} else {
const y = a.value.includes(f);
if (e.mandatory && y) return;
a.value = m ?? !y ? [f] : [];
}
}
function d(f) {
if (e.multiple && tt('This method is not supported when using "multiple" prop'), a.value.length) {
const m = a.value[0], g = l.findIndex((S) => S.id === m);
let y = (g + f) % l.length, b = l[y];
for (; b.disabled && y !== g; )
y = (y + f) % l.length, b = l[y];
if (b.disabled) return;
a.value = [l[y].id];
} else {
const m = l.find((g) => !g.disabled);
m && (a.value = [m.id]);
}
}
const v = {
register: o,
unregister: r,
selected: a,
select: s,
disabled: K(e, "disabled"),
prev: () => d(l.length - 1),
next: () => d(1),
isSelected: (f) => a.value.includes(f),
selectedClass: h(() => e.selectedClass),
items: h(() => l),
getItemIndex: (f) => Ko(l, f)
};
return _e(n, v), v;
}
function Ko(e, n) {
const t = _a(e, [n]);
return t.length ? e.findIndex((l) => l.id === t[0]) : -1;
}
function _a(e, n) {
const t = [];
return n.forEach((l) => {
const a = e.find((o) => gt(l, o.value)), i = e[l];
(a == null ? void 0 : a.value) != null ? t.push(a.id) : i != null && t.push(i.id);
}), t;
}
function qo(e, n) {
const t = [];
return n.forEach((l) => {
const a = e.findIndex((i) => i.id === l);
if (~a) {
const i = e[a];
t.push(i.value != null ? i.value : a);
}
}), t;
}
function qt(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "content";
const t = bn(), l = W();
if (me) {
const a = new ResizeObserver((i) => {
i.length && (n === "content" ? l.value = i[0].contentRect : l.value = i[0].target.getBoundingClientRect());
});
$e(() => {
a.disconnect();
}), q(() => t.el, (i, o) => {
o && (a.unobserve(o), l.value = void 0), i && a.observe(i);
}, {
flush: "post"
});
}
return {
resizeRef: t,
contentRect: Bn(l)
};
}
function Yo(e) {
let {
selectedElement: n,
containerElement: t,
isRtl: l,
isHorizontal: a
} = e;
const i = At(a, t), o = Fa(a, l, t), r = At(a, n), u = Ma(a, n), s = r * 0.4;
return o > u ? u - s : o + i < u + r ? u - i + r + s : o;
}
function Xo(e) {
let {
selectedElement: n,
containerElement: t,
isHorizontal: l
} = e;
const a = At(l, t), i = Ma(l, n), o = At(l, n);
return i - a / 2 + o / 2;
}
function Bl(e, n) {
const t = e ? "scrollWidth" : "scrollHeight";
return (n == null ? void 0 : n[t]) || 0;
}
function Qo(e, n) {
const t = e ? "clientWidth" : "clientHeight";
return (n == null ? void 0 : n[t]) || 0;
}
function Fa(e, n, t) {
if (!t)
return 0;
const {
scrollLeft: l,
offsetWidth: a,
scrollWidth: i
} = t;
return e ? n ? i - a + l : l : t.scrollTop;
}
function At(e, n) {
const t = e ? "offsetWidth" : "offsetHeight";
return (n == null ? void 0 : n[t]) || 0;
}
function Ma(e, n) {
const t = e ? "offsetLeft" : "offsetTop";
return (n == null ? void 0 : n[t]) || 0;
}
const Jo = Symbol.for("vuetify:v-slide-group"), Ra = D({
centerActive: Boolean,
direction: {
type: String,
default: "horizontal"
},
symbol: {
type: null,
default: Jo
},
nextIcon: {
type: se,
default: "$next"
},
prevIcon: {
type: se,
default: "$prev"
},
showArrows: {
type: [Boolean, String],
validator: (e) => typeof e == "boolean" || ["always", "desktop", "mobile"].includes(e)
},
...ae(),
...$o({
mobile: null
}),
...Me(),
...Ta({
selectedClass: "v-slide-group-item--active"
})
}, "VSlideGroup"), Tl = J()({
name: "VSlideGroup",
props: Ra(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, n) {
let {
slots: t
} = n;
const {
isRtl: l
} = Xe(), {
displayClasses: a,
mobile: i
} = Gn(e), o = La(e, e.symbol), r = G(!1), u = G(0), s = G(0), d = G(0), v = h(() => e.direction === "horizontal"), {
resizeRef: f,
contentRect: m
} = qt(), {
resizeRef: g,
contentRect: y
} = qt(), b = Wo(), S = h(() => ({
container: f.el,
duration: 200,
easing: "easeOutQuart"
})), O = h(() => o.selected.value.length ? o.items.value.findIndex((C) => C.id === o.selected.value[0]) : -1), E = h(() => o.selected.value.length ? o.items.value.findIndex((C) => C.id === o.selected.value[o.selected.value.length - 1]) : -1);
if (me) {
let C = -1;
q(() => [o.selected.value, m.value, y.value, v.value], () => {
cancelAnimationFrame(C), C = requestAnimationFrame(() => {
if (m.value && y.value) {
const x = v.value ? "width" : "height";
s.value = m.value[x], d.value = y.value[x], r.value = s.value + 1 < d.value;
}
if (O.value >= 0 && g.el) {
const x = g.el.children[E.value];
V(x, e.centerActive);
}
});
});
}
const p = G(!1);
function V(C, x) {
let H = 0;
x ? H = Xo({
containerElement: f.el,
isHorizontal: v.value,
selectedElement: C
}) : H = Yo({
containerElement: f.el,
isHorizontal: v.value,
isRtl: l.value,
selectedElement: C
}), T(H);
}
function T(C) {
if (!me || !f.el) return;
const x = At(v.value, f.el), H = Fa(v.value, l.value, f.el);
if (!(Bl(v.value, f.el) <= x || // Prevent scrolling by only a couple of pixels, which doesn't look smooth
Math.abs(C - H) < 16)) {
if (v.value && l.value && f.el) {
const {
scrollWidth: U,
offsetWidth: le
} = f.el;
C = U - le - C;
}
v.value ? b.horizontal(C, S.value) : b(C, S.value);
}
}
function A(C) {
const {
scrollTop: x,
scrollLeft: H
} = C.target;
u.value = v.value ? H : x;
}
function P(C) {
if (p.value = !0, !(!r.value || !g.el)) {
for (const x of C.composedPath())
for (const H of g.el.children)
if (H === x) {
V(H);
return;
}
}
}
function N(C) {
p.value = !1;
}
let _ = !1;
function $(C) {
var x;
!_ && !p.value && !(C.relatedTarget && ((x = g.el) != null && x.contains(C.relatedTarget))) && M(), _ = !1;
}
function I() {
_ = !0;
}
function L(C) {
if (!g.el) return;
function x(H) {
C.preventDefault(), M(H);
}
v.value ? C.key === "ArrowRight" ? x(l.value ? "prev" : "next") : C.key === "ArrowLeft" && x(l.value ? "next" : "prev") : C.key === "ArrowDown" ? x("next") : C.key === "ArrowUp" && x("prev"), C.key === "Home" ? x("first") : C.key === "End" && x("last");
}
function M(C) {
var H, ee;
if (!g.el) return;
let x;
if (!C)
x = Wt(g.el)[0];
else if (C === "next") {
if (x = (H = g.el.querySelector(":focus")) == null ? void 0 : H.nextElementSibling, !x) return M("first");
} else if (C === "prev") {
if (x = (ee = g.el.querySelector(":focus")) == null ? void 0 : ee.previousElementSibling, !x) return M("last");
} else C === "first" ? x = g.el.firstElementChild : C === "last" && (x = g.el.lastElementChild);
x && x.focus({
preventScroll: !0
});
}
function z(C) {
const x = v.value && l.value ? -1 : 1, H = (C === "prev" ? -x : x) * s.value;
let ee = u.value + H;
if (v.value && l.value && f.el) {
const {
scrollWidth: U,
offsetWidth: le
} = f.el;
ee += U - le;
}
T(ee);
}
const B = h(() => ({
next: o.next,
prev: o.prev,
select: o.select,
isSelected: o.isSelected
})), F = h(() => {
switch (e.showArrows) {
case "always":
return !0;
case "desktop":
return !i.value;
case !0:
return r.value || Math.abs(u.value) > 0;
case "mobile":
return i.value || r.value || Math.abs(u.value) > 0;
default:
return !i.value && (r.value || Math.abs(u.value) > 0);
}
}), k = h(() => Math.abs(u.value) > 1), w = h(() => {
if (!f.value) return !1;
const C = Bl(v.value, f.el), x = Qo(v.value, f.el);
return C - x - Math.abs(u.value) > 1;
});
return ne(() => c(e.tag, {
class: ["v-slide-group", {
"v-slide-group--vertical": !v.value,
"v-slide-group--has-affixes": F.value,
"v-slide-group--is-overflowing": r.value
}, a.value, e.class],
style: e.style,
tabindex: p.value || o.selected.value.length ? -1 : 0,
onFocus: $
}, {
default: () => {
var C, x, H;
return [F.value && c("div", {
key: "prev",
class: ["v-slide-group__prev", {
"v-slide-group__prev--disabled": !k.value
}],
onMousedown: I,
onClick: () => k.value && z("prev")
}, [((C = t.prev) == null ? void 0 : C.call(t, B.value)) ?? c(Al, null, {
default: () => [c(we, {
icon: l.value ? e.nextIcon : e.prevIcon
}, null)]
})]), c("div", {
key: "container",
ref: f,
class: "v-slide-group__container",
onScroll: A
}, [c("div", {
ref: g,
class: "v-slide-group__content",
onFocusin: P,
onFocusout: N,
onKeydown: L
}, [(x = t.default) == null ? void 0 : x.call(t, B.value)])]), F.value && c("div", {
key: "next",
class: ["v-slide-group__next", {
"v-slide-group__next--disabled": !w.value
}],
onMousedown: I,
onClick: () => w.value && z("next")
}, [((H = t.next) == null ? void 0 : H.call(t, B.value)) ?? c(Al, null, {
default: () => [c(we, {
icon: l.value ? e.prevIcon : e.nextIcon
}, null)]
})])];
}
})), {
selected: o.selected,
scrollTo: z,
scrollOffset: u,
focus: M,
hasPrev: k,
hasNext: w
};
}
}), Da = Symbol.for("vuetify:v-chip-group"), Zo = D({
column: Boolean,
filter: Boolean,
valueComparator: {
type: Function,
default: gt
},
...Ra(),
...ae(),
...Ta({
selectedClass: "v-chip--selected"
}),
...Me(),
...Ee(),
...Tt({
variant: "tonal"
})
}, "VChipGroup");
J()({
name: "VChipGroup",
props: Zo(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, n) {
let {
slots: t
} = n;
const {
themeClasses: l
} = Re(e), {
isSelected: a,
select: i,
next: o,
prev: r,
selected: u
} = La(e, Da);
return en({
VChip: {
color: K(e, "color"),
disabled: K(e, "disabled"),
filter: K(e, "filter"),
variant: K(e, "variant")
}
}), ne(() => {
const s = Tl.filterProps(e);
return c(Tl, Q(s, {
class: ["v-chip-group", {
"v-chip-group--column": e.column
}, l.value, e.class],
style: e.style
}), {
default: () => {
var d;
return [(d = t.default) == null ? void 0 : d.call(t, {
isSelected: a,
select: i,
next: o,
prev: r,
selected: u.value
})];
}
});
}), {};
}
});
const qn = D({
elevation: {
type: [Number, String],
validator(e) {
const n = parseInt(e);
return !isNaN(n) && n >= 0 && // Material Design has a maximum elevation of 24
// https://material.io/design/environment/elevation.html#default-elevations
n <= 24;
}
}
}, "elevation");
function Yn(e) {
return {
elevationClasses: h(() => {
const t = st(e) ? e.value : e.elevation, l = [];
return t == null || l.push(`elevation-${t}`), l;
})
};
}
function er() {
const e = ge("useRoute");
return h(() => {
var n;
return (n = e == null ? void 0 : e.proxy) == null ? void 0 : n.$route;
});
}
function tr() {
var e, n;
return (n = (e = ge("useRouter")) == null ? void 0 : e.proxy) == null ? void 0 : n.$router;
}
function $a(e, n) {
var s, d;
const t = wi("RouterLink"), l = h(() => !!(e.href || e.to)), a = h(() => (l == null ? void 0 : l.value) || il(n, "click") || il(e, "click"));
if (typeof t == "string" || !("useLink" in t))
return {
isLink: l,
isClickable: a,
href: K(e, "href")
};
const i = h(() => ({
...e,
to: K(() => e.to || "")
})), o = t.useLink(i.value), r = h(() => e.to ? o : void 0), u = er();
return {
isLink: l,
isClickable: a,
route: (s = r.value) == null ? void 0 : s.route,
navigate: (d = r.value) == null ? void 0 : d.navigate,
isActive: h(() => {
var v, f, m;
return r.value ? e.exact ? u.value ? ((m = r.value.isExactActive) == null ? void 0 : m.value) && gt(r.value.route.value.query, u.value.query) : ((f = r.value.isExactActive) == null ? void 0 : f.value) ?? !1 : ((v = r.value.isActive) == null ? void 0 : v.value) ?? !1 : !1;
}),
href: h(() => {
var v;
return e.to ? (v = r.value) == null ? void 0 : v.route.value.href : e.href;
})
};
}
const Na = D({
href: String,
replace: Boolean,
to: [String, Object],
exact: Boolean
}, "router");
let fn = !1;
function nr(e, n) {
let t = !1, l, a;
me && (xe(() => {
window.addEventListener("popstate", i), l = e == null ? void 0 : e.beforeEach((o, r, u) => {
fn ? t ? n(u) : u() : setTimeout(() => t ? n(u) : u()), fn = !0;
}), a = e == null ? void 0 : e.afterEach(() => {
fn = !1;
});
}), Ve(() => {
window.removeEventListener("popstate", i), l == null || l(), a == null || a();
}));
function i(o) {
var r;
(r = o.state) != null && r.replaced || (t = !0, setTimeout(() => t = !1));
}
}
const lr = D({
activeClass: String,
appendAvatar: String,
appendIcon: se,
closable: Boolean,
closeIcon: {
type: se,
default: "$delete"
},
closeLabel: {
type: String,
default: "$vuetify.close"
},
draggable: Boolean,
filter: Boolean,
filterIcon: {
type: String,
default: "$complete"
},
label: Boolean,
link: {
type: Boolean,
default: void 0
},
pill: Boolean,
prependAvatar: String,
prependIcon: se,
ripple: {
type: [Boolean, Object],
default: !0
},
text: String,
modelValue: {
type: Boolean,
default: !0
},
onClick: pe(),
onClickOnce: pe(),
...nn(),
...ae(),
...St(),
...qn(),
...Uo(),
...it(),
...Na(),
...Nn(),
...Me({
tag: "span"
}),
...Ee(),
...Tt({
variant: "tonal"
})
}, "VChip"), za = J()({
name: "VChip",
directives: {
Ripple: jn
},
props: lr(),
emits: {
"click:close": (e) => !0,
"update:modelValue": (e) => !0,
"group:selected": (e) => !0,
click: (e) => !0
},
setup(e, n) {
let {
attrs: t,
emit: l,
slots: a
} = n;
const {
t: i
} = an(), {
borderClasses: o
} = ln(e), {
colorClasses: r,
colorStyles: u,
variantClasses: s
} = Wn(e), {
densityClasses: d
} = wt(e), {
elevationClasses: v
} = Yn(e), {
roundedClasses: f
} = ot(e), {
sizeClasses: m
} = zn(e), {
themeClasses: g
} = Re(e), y = ve(e, "modelValue"), b = Go(e, Da, !1), S = $a(e, t), O = h(() => e.link !== !1 && S.isLink.value), E = h(() => !e.disabled && e.link !== !1 && (!!b || e.link || S.isClickable.value)), p = h(() => ({
"aria-label": i(e.closeLabel),
onClick(A) {
A.preventDefault(), A.stopPropagation(), y.value = !1, l("click:close", A);
}
}));
function V(A) {
var P;
l("click", A), E.value && ((P = S.navigate) == null || P.call(S, A), b == null || b.toggle());
}
function T(A) {
(A.key === "Enter" || A.key === " ") && (A.preventDefault(), V(A));
}
return () => {
const A = S.isLink.value ? "a" : e.tag, P = !!(e.appendIcon || e.appendAvatar), N = !!(P || a.append), _ = !!(a.close || e.closable), $ = !!(a.filter || e.filter) && b, I = !!(e.prependIcon || e.prependAvatar), L = !!(I || a.prepend), M = !b || b.isSelected.value;
return y.value && Fe(c(A, {
class: ["v-chip", {
"v-chip--disabled": e.disabled,
"v-chip--label": e.label,
"v-chip--link": E.value,
"v-chip--filter": $,
"v-chip--pill": e.pill
}, g.value, o.value, M ? r.value : void 0, d.value, v.value, f.value, m.value, s.value, b == null ? void 0 : b.selectedClass.value, e.class],
style: [M ? u.value : void 0, e.style],
disabled: e.disabled || void 0,
draggable: e.draggable,
href: S.href.value,
tabindex: E.value ? 0 : void 0,
onClick: V,
onKeydown: E.value && !O.value && T
}, {
default: () => {
var z;
return [Hn(E.value, "v-chip"), $ && c(Aa, {
key: "filter"
}, {
default: () => [Fe(c("div", {
class: "v-chip__filter"
}, [a.filter ? c(Le, {
key: "filter-defaults",
disabled: !e.filterIcon,
defaults: {
VIcon: {
icon: e.filterIcon
}
}
}, a.filter) : c(we, {
key: "filter-icon",
icon: e.filterIcon
}, null)]), [[mt, b.isSelected.value]])]
}), L && c("div", {
key: "prepend",
class: "v-chip__prepend"
}, [a.prepend ? c(Le, {
key: "prepend-defaults",
disabled: !I,
defaults: {
VAvatar: {
image: e.prependAvatar,
start: !0
},
VIcon: {
icon: e.prependIcon,
start: !0
}
}
}, a.prepend) : c(ue, null, [e.prependIcon && c(we, {
key: "prepend-icon",
icon: e.prependIcon,
start: !0
}, null), e.prependAvatar && c(dt, {
key: "prepend-avatar",
image: e.prependAvatar,
start: !0
}, null)])]), c("div", {
class: "v-chip__content",
"data-no-activator": ""
}, [((z = a.default) == null ? void 0 : z.call(a, {
isSelected: b == null ? void 0 : b.isSelected.value,
selectedClass: b == null ? void 0 : b.selectedClass.value,
select: b == null ? void 0 : b.select,
toggle: b == null ? void 0 : b.toggle,
value: b == null ? void 0 : b.value.value,
disabled: e.disabled
})) ?? e.text]), N && c("div", {
key: "append",
class: "v-chip__append"
}, [a.append ? c(Le, {
key: "append-defaults",
disabled: !P,
defaults: {
VAvatar: {
end: !0,
image: e.appendAvatar
},
VIcon: {
end: !0,
icon: e.appendIcon
}
}
}, a.append) : c(ue, null, [e.appendIcon && c(we, {
key: "append-icon",
end: !0,
icon: e.appendIcon
}, null), e.appendAvatar && c(dt, {
key: "append-avatar",
end: !0,
image: e.appendAvatar
}, null)])]), _ && c("button", Q({
key: "close",
class: "v-chip__close",
type: "button"
}, p.value), [a.close ? c(Le, {
key: "close-defaults",
defaults: {
VIcon: {
icon: e.closeIcon,
size: "x-small"
}
}
}, a.close) : c(we, {
key: "close-icon",
icon: e.closeIcon,
size: "x-small"
}, null)])];
}
}), [[vt("ripple"), E.value && e.ripple, null]]);
};
}
}), xn = Symbol.for("vuetify:list");
function Ha() {
const e = he(xn, {
hasPrepend: G(!1),
updateHasPrepend: () => null
}), n = {
hasPrepend: G(!1),
updateHasPrepend: (t) => {
t && (n.hasPrepend.value = t);
}
};
return _e(xn, n), e;
}
function Wa() {
return he(xn, null);
}
const Xn = (e) => {
const n = {
activate: (t) => {
let {
id: l,
value: a,
activated: i
} = t;
return l = re(l), e && !a && i.size === 1 && i.has(l) || (a ? i.add(l) : i.delete(l)), i;
},
in: (t, l, a) => {
let i = /* @__PURE__ */ new Set();
if (t != null)
for (const o of ke(t))
i = n.activate({
id: o,
value: !0,
activated: new Set(i),
children: l,
parents: a
});
return i;
},
out: (t) => Array.from(t)
};
return n;
}, ja = (e) => {
const n = Xn(e);
return {
activate: (l) => {
let {
activated: a,
id: i,
...o
} = l;
i = re(i);
const r = a.has(i) ? /* @__PURE__ */ new Set([i]) : /* @__PURE__ */ new Set();
return n.activate({
...o,
id: i,
activated: r
});
},
in: (l, a, i) => {
let o = /* @__PURE__ */ new Set();
if (l != null) {
const r = ke(l);
r.length && (o = n.in(r.slice(0, 1), a, i));
}
return o;
},
out: (l, a, i) => n.out(l, a, i)
};
}, ar = (e) => {
const n = Xn(e);
return {
activate: (l) => {
let {
id: a,
activated: i,
children: o,
...r
} = l;
return a = re(a), o.has(a) ? i : n.activate({
id: a,
activated: i,
children: o,
...r
});
},
in: n.in,
out: n.out
};
}, ir = (e) => {
const n = ja(e);
return {
activate: (l) => {
let {
id: a,
activated: i,
children: o,
...r
} = l;
return a = re(a), o.has(a) ? i : n.activate({
id: a,
activated: i,
children: o,
...r
});
},
in: n.in,
out: n.out
};
}, or = {
open: (e) => {
let {
id: n,
value: t,
opened: l,
parents: a
} = e;
if (t) {
const i = /* @__PURE__ */ new Set();
i.add(n);
let o = a.get(n);
for (; o != null; )
i.add(o), o = a.get(o);
return i;
} else
return l.delete(n), l;
},
select: () => null
}, Ua = {
open: (e) => {
let {
id: n,
value: t,
opened: l,
parents: a
} = e;
if (t) {
let i = re(a.get(n));
for (l.add(n); i != null && i !== n; )
l.add(i), i = re(a.get(i));
return l;
} else
l.delete(n);
return l;
},
select: () => null
}, rr = {
open: Ua.open,
select: (e) => {
let {
id: n,
value: t,
opened: l,
parents: a
} = e;
if (!t) return l;
const i = [];
let o = a.get(n);
for (; o != null; )
i.push(o), o = a.get(o);
return new Set(i);
}
}, Qn = (e) => {
const n = {
select: (t) => {
let {
id: l,
value: a,
selected: i
} = t;
if (l = re(l), e && !a) {
const o = Array.from(i.entries()).reduce((r, u) => {
let [s, d] = u;
return d === "on" && r.push(s), r;
}, []);
if (o.length === 1 && o[0] === l) return i;
}
return i.set(l, a ? "on" : "off"), i;
},
in: (t, l, a) => {
let i = /* @__PURE__ */ new Map();
for (const o of t || [])
i = n.select({
id: o,
value: !0,
selected: new Map(i),
children: l,
parents: a
});
return i;
},
out: (t) => {
const l = [];
for (const [a, i] of t.entries())
i === "on" && l.push(a);
return l;
}
};
return n;
}, Ga = (e) => {
const n = Qn(e);
return {
select: (l) => {
let {
selected: a,
id: i,
...o
} = l;
i = re(i);
const r = a.has(i) ? /* @__PURE__ */ new Map([[i, a.get(i)]]) : /* @__PURE__ */ new Map();
return n.select({
...o,
id: i,
selected: r
});
},
in: (l, a, i) => {
let o = /* @__PURE__ */ new Map();
return l != null && l.length && (o = n.in(l.slice(0, 1), a, i)), o;
},
out: (l, a, i) => n.out(l, a, i)
};
}, ur = (e) => {
const n = Qn(e);
return {
select: (l) => {
let {
id: a,
selected: i,
children: o,
...r
} = l;
return a = re(a), o.has(a) ? i : n.select({
id: a,
selected: i,
children: o,
...r
});
},
in: n.in,
out: n.out
};
}, sr = (e) => {
const n = Ga(e);
return {
select: (l) => {
let {
id: a,
selected: i,
children: o,
...r
} = l;
return a = re(a), o.has(a) ? i : n.select({
id: a,
selected: i,
children: o,
...r
});
},
in: n.in,
out: n.out
};
}, cr = (e) => {
const n = {
select: (t) => {
let {
id: l,
value: a,
selected: i,
children: o,
parents: r
} = t;
l = re(l);
const u = new Map(i), s = [l];
for (; s.length; ) {
const v = s.shift();
i.set(re(v), a ? "on" : "off"), o.has(v) && s.push(...o.get(v));
}
let d = re(r.get(l));
for (; d; ) {
const v = o.get(d), f = v.every((g) => i.get(re(g)) === "on"), m = v.every((g) => !i.has(re(g)) || i.get(re(g)) === "off");
i.set(d, f ? "on" : m ? "off" : "indeterminate"), d = re(r.get(d));
}
return e && !a && Array.from(i.entries()).reduce((f, m) => {
let [g, y] = m;
return y === "on" && f.push(g), f;
}, []).length === 0 ? u : i;
},
in: (t, l, a) => {
let i = /* @__PURE__ */ new Map();
for (const o of t || [])
i = n.select({
id: o,
value: !0,
selected: new Map(i),
children: l,
parents: a
});
return i;
},
out: (t, l) => {
const a = [];
for (const [i, o] of t.entries())
o === "on" && !l.has(i) && a.push(i);
return a;
}
};
return n;
}, Et = Symbol.for("vuetify:nested"), Ka = {
id: G(),
root: {
register: () => null,
unregister: () => null,
parents: W(/* @__PURE__ */ new Map()),
children: W(/* @__PURE__ */ new Map()),
open: () => null,
openOnSelect: () => null,
activate: () => null,
select: () => null,
activatable: W(!1),
selectable: W(!1),
opened: W(/* @__PURE__ */ new Set()),
activated: W(/* @__PURE__ */ new Set()),
selected: W(/* @__PURE__ */ new Map()),
selectedValues: W([])
}
}, dr = D({
activatable: Boolean,
selectable: Boolean,
activeStrategy: [String, Function, Object],
selectStrategy: [String, Function, Object],
openStrategy: [String, Object],
opened: null,
activated: null,
selected: null,
mandatory: Boolean
}, "nested"), fr = (e) => {
let n = !1;
const t = W(/* @__PURE__ */ new Map()), l = W(/* @__PURE__ */ new Map()), a = ve(e, "opened", e.opened, (m) => new Set(re(m)), (m) => [...m.values()]), i = h(() => {
if (typeof e.activeStrategy == "object") return e.activeStrategy;
if (typeof e.activeStrategy == "function") return e.activeStrategy(e.mandatory);
switch (e.activeStrategy) {
case "leaf":
return ar(e.mandatory);
case "single-leaf":
return ir(e.mandatory);
case "independent":
return Xn(e.mandatory);
case "single-independent":
default:
return ja(e.mandatory);
}
}), o = h(() => {
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 sr(e.mandatory);
case "leaf":
return ur(e.mandatory);
case "independent":
return Qn(e.mandatory);
case "single-independent":
return Ga(e.mandatory);
case "classic":
default:
return cr(e.mandatory);
}
}), r = h(() => {
if (typeof e.openStrategy == "object") return e.openStrategy;
switch (e.openStrategy) {
case "list":
return rr;
case "single":
return or;
case "multiple":
default:
return Ua;
}
}), u = ve(e, "activated", e.activated, (m) => i.value.in(m, t.value, l.value), (m) => i.value.out(m, t.value, l.value)), s = ve(e, "selected", e.selected, (m) => o.value.in(m, t.value, l.value), (m) => o.value.out(m, t.value, l.value));
$e(() => {
n = !0;
});
function d(m) {
const g = [];
let y = m;
for (; y != null; )
g.unshift(y), y = l.value.get(y);
return g;
}
const v = ge("nested"), f = {
id: G(),
root: {
opened: a,
activatable: K(e, "activatable"),
selectable: K(e, "selectable"),
activated: u,
selected: s,
selectedValues: h(() => {
const m = [];
for (const [g, y] of s.value.entries())
y === "on" && m.push(g);
return m;
}),
register: (m, g, y) => {
g && m !== g && l.value.set(m, g), y && t.value.set(m, []), g != null && t.value.set(g, [...t.value.get(g) || [], m]);
},
unregister: (m) => {
if (n) return;
t.value.delete(m);
const g = l.value.get(m);
if (g) {
const y = t.value.get(g) ?? [];
t.value.set(g, y.filter((b) => b !== m));
}
l.value.delete(m);
},
open: (m, g, y) => {
v.emit("click:open", {
id: m,
value: g,
path: d(m),
event: y
});
const b = r.value.open({
id: m,
value: g,
opened: new Set(a.value),
children: t.value,
parents: l.value,
event: y
});
b && (a.value = b);
},
openOnSelect: (m, g, y) => {
const b = r.value.select({
id: m,
value: g,
selected: new Map(s.value),
opened: new Set(a.value),
children: t.value,
parents: l.value,
event: y
});
b && (a.value = b);
},
select: (m, g, y) => {
v.emit("click:select", {
id: m,
value: g,
path: d(m),
event: y
});
const b = o.value.select({
id: m,
value: g,
selected: new Map(s.value),
children: t.value,
parents: l.value,
event: y
});
b && (s.value = b), f.root.openOnSelect(m, g, y);
},
activate: (m, g, y) => {
if (!e.activatable)
return f.root.select(m, !0, y);
v.emit("click:activate", {
id: m,
value: g,
path: d(m),
event: y
});
const b = i.value.activate({
id: m,
value: g,
activated: new Set(u.value),
children: t.value,
parents: l.value,
event: y
});
b && (u.value = b);
},
children: t,
parents: l
}
};
return _e(Et, f), f.root;
}, qa = (e, n) => {
const t = he(Et, Ka), l = Symbol(He()), a = h(() => e.value !== void 0 ? e.value : l), i = {
...t,
id: a,
open: (o, r) => t.root.open(re(a.value), o, r),
openOnSelect: (o, r) => t.root.openOnSelect(a.value, o, r),
isOpen: h(() => t.root.opened.value.has(re(a.value))),
parent: h(() => t.root.parents.value.get(a.value)),
activate: (o, r) => t.root.activate(a.value, o, r),
isActivated: h(() => t.root.activated.value.has(re(a.value))),
select: (o, r) => t.root.select(a.value, o, r),
isSelected: h(() => t.root.selected.value.get(re(a.value)) === "on"),
isIndeterminate: h(() => t.root.selected.value.get(a.value) === "indeterminate"),
isLeaf: h(() => !t.root.children.value.get(a.value)),
isGroupActivator: t.isGroupActivator
};
return !t.isGroupActivator && t.root.register(a.value, t.id.value, n), $e(() => {
!t.isGroupActivator && t.root.unregister(a.value);
}), n && _e(Et, i), i;
}, vr = () => {
const e = he(Et, Ka);
_e(Et, {
...e,
isGroupActivator: !0
});
};
function mr() {
const e = G(!1);
return Ot(() => {
window.requestAnimationFrame(() => {
e.value = !0;
});
}), {
ssrBootStyles: h(() => e.value ? void 0 : {
transition: "none !important"
}),
isBooted: Bn(e)
};
}
const gr = Bt({
name: "VListGroupActivator",
setup(e, n) {
let {
slots: t
} = n;
return vr(), () => {
var l;
return (l = t.default) == null ? void 0 : l.call(t);
};
}
}), yr = D({
/* @deprecated */
activeColor: String,
baseColor: String,
color: String,
collapseIcon: {
type: se,
default: "$collapse"
},
expandIcon: {
type: se,
default: "$expand"
},
prependIcon: se,
appendIcon: se,
fluid: Boolean,
subgroup: Boolean,
title: String,
value: null,
...ae(),
...Me()
}, "VListGroup"), Ll = J()({
name: "VListGroup",
props: yr(),
setup(e, n) {
let {
slots: t
} = n;
const {
isOpen: l,
open: a,
id: i
} = qa(K(e, "value"), !0), o = h(() => `v-list-group--id-${String(i.value)}`), r = Wa(), {
isBooted: u
} = mr();
function s(m) {
m.stopPropagation(), a(!l.value, m);
}
const d = h(() => ({
onClick: s,
class: "v-list-group__header",
id: o.value
})), v = h(() => l.value ? e.collapseIcon : e.expandIcon), f = h(() => ({
VListItem: {
active: l.value,
activeColor: e.activeColor,
baseColor: e.baseColor,
color: e.color,
prependIcon: e.prependIcon || e.subgroup && v.value,
appendIcon: e.appendIcon || !e.subgroup && v.value,
title: e.title,
value: e.value
}
}));
return ne(() => c(e.tag, {
class: ["v-list-group", {
"v-list-group--prepend": r == null ? void 0 : r.hasPrepend.value,
"v-list-group--fluid": e.fluid,
"v-list-group--subgroup": e.subgroup,
"v-list-group--open": l.value
}, e.class],
style: e.style
}, {
default: () => [t.activator && c(Le, {
defaults: f.value
}, {
default: () => [c(gr, null, {
default: () => [t.activator({
props: d.value,
isOpen: l.value
})]
})]
}), c(Ue, {
transition: {
component: To
},
disabled: !u.value
}, {
default: () => {
var m;
return [Fe(c("div", {
class: "v-list-group__items",
role: "group",
"aria-labelledby": o.value
}, [(m = t.default) == null ? void 0 : m.call(t)]), [[mt, l.value]])];
}
})]
})), {
isOpen: l
};
}
}), hr = D({
opacity: [Number, String],
...ae(),
...Me()
}, "VListItemSubtitle"), br = J()({
name: "VListItemSubtitle",
props: hr(),
setup(e, n) {
let {
slots: t
} = n;
return ne(() => c(e.tag, {
class: ["v-list-item-subtitle", e.class],
style: [{
"--v-list-item-subtitle-opacity": e.opacity
}, e.style]
}, t)), {};
}
}), Sr = no("v-list-item-title"), wr = D({
active: {
type: Boolean,
default: void 0
},
activeClass: String,
/* @deprecated */
activeColor: String,
appendAvatar: String,
appendIcon: se,
baseColor: String,
disabled: Boolean,
lines: [Boolean, String],
link: {
type: Boolean,
default: void 0
},
nav: Boolean,
prependAvatar: String,
prependIcon: se,
ripple: {
type: [Boolean, Object],
default: !0
},
slim: Boolean,
subtitle: [String, Number],
title: [String, Number],
value: null,
onClick: pe(),
onClickOnce: pe(),
...nn(),
...ae(),
...St(),
...yt(),
...qn(),
...it(),
...Na(),
...Me(),
...Ee(),
...Tt({
variant: "text"
})
}, "VListItem"), ft = J()({
name: "VListItem",
directives: {
Ripple: jn
},
props: wr(),
emits: {
click: (e) => !0
},
setup(e, n) {
let {
attrs: t,
slots: l,
emit: a
} = n;
const i = $a(e, t), o = h(() => e.value === void 0 ? i.href.value : e.value), {
activate: r,
isActivated: u,
select: s,
isOpen: d,
isSelected: v,
isIndeterminate: f,
isGroupActivator: m,
root: g,
parent: y,
openOnSelect: b
} = qa(o, !1), S = Wa(), O = h(() => {
var x;
return e.active !== !1 && (e.active || ((x = i.isActive) == null ? void 0 : x.value) || (g.activatable.value ? u.value : v.value));
}), E = h(() => e.link !== !1 && i.isLink.value), p = h(() => !e.disabled && e.link !== !1 && (e.link || i.isClickable.value || !!S && (g.selectable.value || g.activatable.value || e.value != null))), V = h(() => e.rounded || e.nav), T = h(() => e.color ?? e.activeColor), A = h(() => ({
color: O.value ? T.value ?? e.baseColor : e.baseColor,
variant: e.variant
}));
q(() => {
var x;
return (x = i.isActive) == null ? void 0 : x.value;
}, (x) => {
x && y.value != null && g.open(y.value, !0), x && b(x);
}, {
immediate: !0
});
const {
themeClasses: P
} = Re(e), {
borderClasses: N
} = ln(e), {
colorClasses: _,
colorStyles: $,
variantClasses: I
} = Wn(A), {
densityClasses: L
} = wt(e), {
dimensionStyles: M
} = ht(e), {
elevationClasses: z
} = Yn(e), {
roundedClasses: B
} = ot(V), F = h(() => e.lines ? `v-list-item--${e.lines}-line` : void 0), k = h(() => ({
isActive: O.value,
select: s,
isOpen: d.value,
isSelected: v.value,
isIndeterminate: f.value
}));
function w(x) {
var H;
a("click", x), p.value && ((H = i.navigate) == null || H.call(i, x), !m && (g.activatable.value ? r(!u.value, x) : (g.selectable.value || e.value != null) && s(!v.value, x)));
}
function C(x) {
(x.key === "Enter" || x.key === " ") && (x.preventDefault(), x.target.dispatchEvent(new MouseEvent("click", x)));
}
return ne(() => {
const x = E.value ? "a" : e.tag, H = l.title || e.title != null, ee = l.subtitle || e.subtitle != null, U = !!(e.appendAvatar || e.appendIcon), le = !!(U || l.append), j = !!(e.prependAvatar || e.prependIcon), te = !!(j || l.prepend);
return S == null || S.updateHasPrepend(te), e.activeColor && Xi("active-color", ["color", "base-color"]), Fe(c(x, {
class: ["v-list-item", {
"v-list-item--active": O.value,
"v-list-item--disabled": e.disabled,
"v-list-item--link": p.value,
"v-list-item--nav": e.nav,
"v-list-item--prepend": !te && (S == null ? void 0 : S.hasPrepend.value),
"v-list-item--slim": e.slim,
[`${e.activeClass}`]: e.activeClass && O.value
}, P.value, N.value, _.value, L.value, z.value, F.value, B.value, I.value, e.class],
style: [$.value, M.value, e.style],
href: i.href.value,
tabindex: p.value ? S ? -2 : 0 : void 0,
onClick: w,
onKeydown: p.value && !E.value && C
}, {
default: () => {
var ce;
return [Hn(p.value || O.value, "v-list-item"), te && c("div", {
key: "prepend",
class: "v-list-item__prepend"
}, [l.prepend ? c(Le, {
key: "prepend-defaults",
disabled: !j,
defaults: {
VAvatar: {
density: e.density,
image: e.prependAvatar
},
VIcon: {
density: e.density,
icon: e.prependIcon
},
VListItemAction: {
start: !0
}
}
}, {
default: () => {
var ie;
return [(ie = l.prepend) == null ? void 0 : ie.call(l, k.value)];
}
}) : c(ue, null, [e.prependAvatar && c(dt, {
key: "prepend-avatar",
density: e.density,
image: e.prependAvatar
}, null), e.prependIcon && c(we, {
key: "prepend-icon",
density: e.density,
icon: e.prependIcon
}, null)]), c("div", {
class: "v-list-item__spacer"
}, null)]), c("div", {
class: "v-list-item__content",
"data-no-activator": ""
}, [H && c(Sr, {
key: "title"
}, {
default: () => {
var ie;
return [((ie = l.title) == null ? void 0 : ie.call(l, {
title: e.title
})) ?? e.title];
}
}), ee && c(br, {
key: "subtitle"
}, {
default: () => {
var ie;
return [((ie = l.subtitle) == null ? void 0 : ie.call(l, {
subtitle: e.subtitle
})) ?? e.subtitle];
}
}), (ce = l.default) == null ? void 0 : ce.call(l, k.value)]), le && c("div", {
key: "append",
class: "v-list-item__append"
}, [l.append ? c(Le, {
key: "append-defaults",
disabled: !U,
defaults: {
VAvatar: {
density: e.density,
image: e.appendAvatar
},
VIcon: {
density: e.density,
icon: e.appendIcon
},
VListItemAction: {
end: !0
}
}
}, {
default: () => {
var ie;
return [(ie = l.append) == null ? void 0 : ie.call(l, k.value)];
}
}) : c(ue, null, [e.appendIcon && c(we, {
key: "append-icon",
density: e.density,
icon: e.appendIcon
}, null), e.appendAvatar && c(dt, {
key: "append-avatar",
density: e.density,
image: e.appendAvatar
}, null)]), c("div", {
class: "v-list-item__spacer"
}, null)])];
}
}), [[vt("ripple"), p.value && e.ripple]]);
}), {
activate: r,
isActivated: u,
isGroupActivator: m,
isSelected: v,
list: S,
select: s
};
}
}), Cr = D({
color: String,
inset: Boolean,
sticky: Boolean,
title: String,
...ae(),
...Me()
}, "VListSubheader"), kr = J()({
name: "VListSubheader",
props: Cr(),
setup(e, n) {
let {
slots: t
} = n;
const {
textColorClasses: l,
textColorStyles: a
} = Ye(K(e, "color"));
return ne(() => {
const i = !!(t.default || e.title);
return c(e.tag, {
class: ["v-list-subheader", {
"v-list-subheader--inset": e.inset,
"v-list-subheader--sticky": e.sticky
}, l.value, e.class],
style: [{
textColorStyles: a
}, e.style]
}, {
default: () => {
var o;
return [i && c("div", {
class: "v-list-subheader__text"
}, [((o = t.default) == null ? void 0 : o.call(t)) ?? e.title])];
}
});
}), {};
}
}), pr = D({
color: String,
inset: Boolean,
length: [Number, String],
opacity: [Number, String],
thickness: [Number, String],
vertical: Boolean,
...ae(),
...Ee()
}, "VDivider"), xr = J()({
name: "VDivider",
props: pr(),
setup(e, n) {
let {
attrs: t,
slots: l
} = n;
const {
themeClasses: a
} = Re(e), {
textColorClasses: i,
textColorStyles: o
} = Ye(K(e, "color")), r = h(() => {
const u = {};
return e.length && (u[e.vertical ? "height" : "width"] = Y(e.length)), e.thickness && (u[e.vertical ? "borderRightWidth" : "borderTopWidth"] = Y(e.thickness)), u;
});
return ne(() => {
const u = c("hr", {
class: [{
"v-divider": !0,
"v-divider--inset": e.inset,
"v-divider--vertical": e.vertical
}, a.value, i.value, e.class],
style: [r.value, o.value, {
"--v-border-opacity": e.opacity
}, e.style],
"aria-orientation": !t.role || t.role === "separator" ? e.vertical ? "vertical" : "horizontal" : void 0,
role: `${t.role || "separator"}`
}, null);
return l.default ? c("div", {
class: ["v-divider__wrapper", {
"v-divider__wrapper--vertical": e.vertical,
"v-divider__wrapper--inset": e.inset
}]
}, [u, c("div", {
class: "v-divider__content"
}, [l.default()]), u]) : u;
}), {};
}
}), Vr = D({
items: Array,
returnObject: Boolean
}, "VListChildren"), Ya = J()({
name: "VListChildren",
props: Vr(),
setup(e, n) {
let {
slots: t
} = n;
return Ha(), () => {
var l, a;
return ((l = t.default) == null ? void 0 : l.call(t)) ?? ((a = e.items) == null ? void 0 : a.map((i) => {
var f, m;
let {
children: o,
props: r,
type: u,
raw: s
} = i;
if (u === "divider")
return ((f = t.divider) == null ? void 0 : f.call(t, {
props: r
})) ?? c(xr, r, null);
if (u === "subheader")
return ((m = t.subheader) == null ? void 0 : m.call(t, {
props: r
})) ?? c(kr, r, null);
const d = {
subtitle: t.subtitle ? (g) => {
var y;
return (y = t.subtitle) == null ? void 0 : y.call(t, {
...g,
item: s
});
} : void 0,
prepend: t.prepend ? (g) => {
var y;
return (y = t.prepend) == null ? void 0 : y.call(t, {
...g,
item: s
});
} : void 0,
append: t.append ? (g) => {
var y;
return (y = t.append) == null ? void 0 : y.call(t, {
...g,
item: s
});
} : void 0,
title: t.title ? (g) => {
var y;
return (y = t.title) == null ? void 0 : y.call(t, {
...g,
item: s
});
} : void 0
}, v = Ll.filterProps(r);
return o ? c(Ll, Q({
value: r == null ? void 0 : r.value
}, v), {
activator: (g) => {
let {
props: y
} = g;
const b = {
...r,
...y,
value: e.returnObject ? s : r.value
};
return t.header ? t.header({
props: b
}) : c(ft, b, d);
},
default: () => c(Ya, {
items: o,
returnObject: e.returnObject
}, t)
}) : t.item ? t.item({
props: r
}) : c(ft, Q(r, {
value: e.returnObject ? s : r.value
}), d);
}));
};
}
}), Xa = D({
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: {
type: Function,
default: gt
}
}, "list-items");
function Vn(e, n) {
const t = De(n, e.itemTitle, n), l = De(n, e.itemValue, t), a = De(n, e.itemChildren), i = e.itemProps === !0 ? typeof n == "object" && n != null && !Array.isArray(n) ? "children" in n ? at(n, ["children"]) : n : void 0 : De(n, e.itemProps), o = {
title: t,
value: l,
...i
};
return {
title: String(o.title ?? ""),
value: o.value,
props: o,
children: Array.isArray(a) ? Qa(e, a) : void 0,
raw: n
};
}
function Qa(e, n) {
const t = [];
for (const l of n)
t.push(Vn(e, l));
return t;
}
function Ja(e) {
const n = h(() => Qa(e, e.items)), t = h(() => n.value.some((i) => i.value === null));
function l(i) {
return t.value || (i = i.filter((o) => o !== null)), i.map((o) => e.returnObject && typeof o == "string" ? Vn(e, o) : n.value.find((r) => e.valueComparator(o, r.value)) || Vn(e, o));
}
function a(i) {
return e.returnObject ? i.map((o) => {
let {
raw: r
} = o;
return r;
}) : i.map((o) => {
let {
value: r
} = o;
return r;
});
}
return {
items: n,
transformIn: l,
transformOut: a
};
}
function Ir(e) {
return typeof e == "string" || typeof e == "number" || typeof e == "boolean";
}
function Pr(e, n) {
const t = De(n, e.itemType, "item"), l = Ir(n) ? n : De(n, e.itemTitle), a = De(n, e.itemValue, void 0), i = De(n, e.itemChildren), o = e.itemProps === !0 ? at(n, ["children"]) : De(n, e.itemProps), r = {
title: l,
value: a,
...o
};
return {
type: t,
title: r.title,
value: r.value,
props: r,
children: t === "item" && i ? Za(e, i) : void 0,
raw: n
};
}
function Za(e, n) {
const t = [];
for (const l of n)
t.push(Pr(e, l));
return t;
}
function Ar(e) {
return {
items: h(() => Za(e, e.items))
};
}
const Er = D({
baseColor: String,
/* @deprecated */
activeColor: String,
activeClass: String,
bgColor: String,
disabled: Boolean,
expandIcon: String,
collapseIcon: String,
lines: {
type: [Boolean, String],
default: "one"
},
slim: Boolean,
nav: Boolean,
"onClick:open": pe(),
"onClick:select": pe(),
"onUpdate:opened": pe(),
...dr({
selectStrategy: "single-leaf",
openStrategy: "list"
}),
...nn(),
...ae(),
...St(),
...yt(),
...qn(),
itemType: {
type: String,
default: "type"
},
...Xa(),
...it(),
...Me(),
...Ee(),
...Tt({
variant: "text"
})
}, "VList"), ei = J()({
name: "VList",
props: Er(),
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, n) {
let {
slots: t
} = n;
const {
items: l
} = Ar(e), {
themeClasses: a
} = Re(e), {
backgroundColorClasses: i,
backgroundColorStyles: o
} = Ke(K(e, "bgColor")), {
borderClasses: r
} = ln(e), {
densityClasses: u
} = wt(e), {
dimensionStyles: s
} = ht(e), {
elevationClasses: d
} = Yn(e), {
roundedClasses: v
} = ot(e), {
children: f,
open: m,
parents: g,
select: y
} = fr(e), b = h(() => e.lines ? `v-list--${e.lines}-line` : void 0), S = K(e, "activeColor"), O = K(e, "baseColor"), E = K(e, "color");
Ha(), en({
VListGroup: {
activeColor: S,
baseColor: O,
color: E,
expandIcon: K(e, "expandIcon"),
collapseIcon: K(e, "collapseIcon")
},
VListItem: {
activeClass: K(e, "activeClass"),
activeColor: S,
baseColor: O,
color: E,
density: K(e, "density"),
disabled: K(e, "disabled"),
lines: K(e, "lines"),
nav: K(e, "nav"),
slim: K(e, "slim"),
variant: K(e, "variant")
}
});
const p = G(!1), V = W();
function T(I) {
p.value = !0;
}
function A(I) {
p.value = !1;
}
function P(I) {
var L;
!p.value && !(I.relatedTarget && ((L = V.value) != null && L.contains(I.relatedTarget))) && $();
}
function N(I) {
const L = I.target;
if (!(!V.value || ["INPUT", "TEXTAREA"].includes(L.tagName))) {
if (I.key === "ArrowDown")
$("next");
else if (I.key === "ArrowUp")
$("prev");
else if (I.key === "Home")
$("first");
else if (I.key === "End")
$("last");
else
return;
I.preventDefault();
}
}
function _(I) {
p.value = !0;
}
function $(I) {
if (V.value)
return xt(V.value, I);
}
return ne(() => c(e.tag, {
ref: V,
class: ["v-list", {
"v-list--disabled": e.disabled,
"v-list--nav": e.nav,
"v-list--slim": e.slim
}, a.value, i.value, r.value, u.value, d.value, b.value, v.value, e.class],
style: [o.value, s.value, e.style],
tabindex: e.disabled || p.value ? -1 : 0,
role: "listbox",
"aria-activedescendant": void 0,
onFocusin: T,
onFocusout: A,
onFocus: P,
onKeydown: N,
onMousedown: _
}, {
default: () => [c(Ya, {
items: l.value,
returnObject: e.returnObject
}, t)]
})), {
open: m,
select: y,
focus: $,
children: f,
parents: g
};
}
});
function vn(e, n) {
return {
x: e.x + n.x,
y: e.y + n.y
};
}
function Or(e, n) {
return {
x: e.x - n.x,
y: e.y - n.y
};
}
function _l(e, n) {
if (e.side === "top" || e.side === "bottom") {
const {
side: t,
align: l
} = e, a = l === "left" ? 0 : l === "center" ? n.width / 2 : l === "right" ? n.width : l, i = t === "top" ? 0 : t === "bottom" ? n.height : t;
return vn({
x: a,
y: i
}, n);
} else if (e.side === "left" || e.side === "right") {
const {
side: t,
align: l
} = e, a = t === "left" ? 0 : t === "right" ? n.width : t, i = l === "top" ? 0 : l === "center" ? n.height / 2 : l === "bottom" ? n.height : l;
return vn({
x: a,
y: i
}, n);
}
return vn({
x: n.width / 2,
y: n.height / 2
}, n);
}
const ti = {
static: Lr,
// specific viewport position, usually centered
connected: Fr
// connected to a certain element
}, Br = D({
locationStrategy: {
type: [String, Function],
default: "static",
validator: (e) => typeof e == "function" || e in ti
},
location: {
type: String,
default: "bottom"
},
origin: {
type: String,
default: "auto"
},
offset: [Number, String, Array]
}, "VOverlay-location-strategies");
function Tr(e, n) {
const t = W({}), l = W();
me && lt(() => !!(n.isActive.value && e.locationStrategy), (i) => {
var o, r;
q(() => e.locationStrategy, i), Ve(() => {
window.removeEventListener("resize", a), l.value = void 0;
}), window.addEventListener("resize", a, {
passive: !0
}), typeof e.locationStrategy == "function" ? l.value = (o = e.locationStrategy(n, e, t)) == null ? void 0 : o.updateLocation : l.value = (r = ti[e.locationStrategy](n, e, t)) == null ? void 0 : r.updateLocation;
});
function a(i) {
var o;
(o = l.value) == null || o.call(l, i);
}
return {
contentStyles: t,
updateLocation: l
};
}
function Lr() {
}
function _r(e, n) {
const t = Rn(e);
return n ? t.x += parseFloat(e.style.right || 0) : t.x -= parseFloat(e.style.left || 0), t.y -= parseFloat(e.style.top || 0), t;
}
function Fr(e, n, t) {
(Array.isArray(e.target.value) || oo(e.target.value)) && Object.assign(t.value, {
position: "fixed",
top: 0,
[e.isRtl.value ? "right" : "left"]: 0
});
const {
preferredAnchor: a,
preferredOrigin: i
} = _n(() => {
const g = wn(n.location, e.isRtl.value), y = n.origin === "overlap" ? g : n.origin === "auto" ? sn(g) : wn(n.origin, e.isRtl.value);
return g.side === y.side && g.align === cn(y).align ? {
preferredAnchor: rl(g),
preferredOrigin: rl(y)
} : {
preferredAnchor: g,
preferredOrigin: y
};
}), [o, r, u, s] = ["minWidth", "minHeight", "maxWidth", "maxHeight"].map((g) => h(() => {
const y = parseFloat(n[g]);
return isNaN(y) ? 1 / 0 : y;
})), d = h(() => {
if (Array.isArray(n.offset))
return n.offset;
if (typeof n.offset == "string") {
const g = n.offset.split(" ").map(parseFloat);
return g.length < 2 && g.push(0), g;
}
return typeof n.offset == "number" ? [n.offset, 0] : [0, 0];
});
let v = !1;
const f = new ResizeObserver(() => {
v && m();
});
q([e.target, e.contentEl], (g, y) => {
let [b, S] = g, [O, E] = y;
O && !Array.isArray(O) && f.unobserve(O), b && !Array.isArray(b) && f.observe(b), E && f.unobserve(E), S && f.observe(S);
}, {
immediate: !0
}), Ve(() => {
f.disconnect();
});
function m() {
if (v = !1, requestAnimationFrame(() => v = !0), !e.target.value || !e.contentEl.value) return;
const g = na(e.target.value), y = _r(e.contentEl.value, e.isRtl.value), b = Gt(e.contentEl.value), S = 12;
b.length || (b.push(document.documentElement), e.contentEl.value.style.top && e.contentEl.value.style.left || (y.x -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x") || 0), y.y -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y") || 0)));
const O = b.reduce(($, I) => {
const L = I.getBoundingClientRect(), M = new et({
x: I === document.documentElement ? 0 : L.x,
y: I === document.documentElement ? 0 : L.y,
width: I.clientWidth,
height: I.clientHeight
});
return $ ? new et({
x: Math.max($.left, M.left),
y: Math.max($.top, M.top),
width: Math.min($.right, M.right) - Math.max($.left, M.left),
height: Math.min($.bottom, M.bottom) - Math.max($.top, M.top)
}) : M;
}, void 0);
O.x += S, O.y += S, O.width -= S * 2, O.height -= S * 2;
let E = {
anchor: a.value,
origin: i.value
};
function p($) {
const I = new et(y), L = _l($.anchor, g), M = _l($.origin, I);
let {
x: z,
y: B
} = Or(L, M);
switch ($.anchor.side) {
case "top":
B -= d.value[0];
break;
case "bottom":
B += d.value[0];
break;
case "left":
z -= d.value[0];
break;
case "right":
z += d.value[0];
break;
}
switch ($.anchor.align) {
case "top":
B -= d.value[1];
break;
case "bottom":
B += d.value[1];
break;
case "left":
z -= d.value[1];
break;
case "right":
z += d.value[1];
break;
}
return I.x += z, I.y += B, I.width = Math.min(I.width, u.value), I.height = Math.min(I.height, s.value), {
overflows: sl(I, O),
x: z,
y: B
};
}
let V = 0, T = 0;
const A = {
x: 0,
y: 0
}, P = {
x: !1,
y: !1
};
let N = -1;
for (; ; ) {
if (N++ > 10) {
Yi("Infinite loop detected in connectedLocationStrategy");
break;
}
const {
x: $,
y: I,
overflows: L
} = p(E);
V += $, T += I, y.x += $, y.y += I;
{
const M = ul(E.anchor), z = L.x.before || L.x.after, B = L.y.before || L.y.after;
let F = !1;
if (["x", "y"].forEach((k) => {
if (k === "x" && z && !P.x || k === "y" && B && !P.y) {
const w = {
anchor: {
...E.anchor
},
origin: {
...E.origin
}
}, C = k === "x" ? M === "y" ? cn : sn : M === "y" ? sn : cn;
w.anchor = C(w.anchor), w.origin = C(w.origin);
const {
overflows: x
} = p(w);
(x[k].before <= L[k].before && x[k].after <= L[k].after || x[k].before + x[k].after < (L[k].before + L[k].after) / 2) && (E = w, F = P[k] = !0);
}
}), F) continue;
}
L.x.before && (V += L.x.before, y.x += L.x.before), L.x.after && (V -= L.x.after, y.x -= L.x.after), L.y.before && (T += L.y.before, y.y += L.y.before), L.y.after && (T -= L.y.after, y.y -= L.y.after);
{
const M = sl(y, O);
A.x = O.width - M.x.before - M.x.after, A.y = O.height - M.y.before - M.y.after, V += M.x.before, y.x += M.x.before, T += M.y.before, y.y += M.y.before;
}
break;
}
const _ = ul(E.anchor);
return Object.assign(t.value, {
"--v-overlay-anchor-origin": `${E.anchor.side} ${E.anchor.align}`,
transformOrigin: `${E.origin.side} ${E.origin.align}`,
// transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,
top: Y(mn(T)),
left: e.isRtl.value ? void 0 : Y(mn(V)),
right: e.isRtl.value ? Y(mn(-V)) : void 0,
minWidth: Y(_ === "y" ? Math.min(o.value, g.width) : o.value),
maxWidth: Y(Fl(Ge(A.x, o.value === 1 / 0 ? 0 : o.value, u.value))),
maxHeight: Y(Fl(Ge(A.y, r.value === 1 / 0 ? 0 : r.value, s.value)))
}), {
available: A,
contentBox: y
};
}
return q(() => [a.value, i.value, n.offset, n.minWidth, n.minHeight, n.maxWidth, n.maxHeight], () => m()), xe(() => {
const g = m();
if (!g) return;
const {
available: y,
contentBox: b
} = g;
b.height > y.y && requestAnimationFrame(() => {
m(), requestAnimationFrame(() => {
m();
});
});
}), {
updateLocation: m
};
}
function mn(e) {
return Math.round(e * devicePixelRatio) / devicePixelRatio;
}
function Fl(e) {
return Math.ceil(e * devicePixelRatio) / devicePixelRatio;
}
let In = !0;
const Yt = [];
function Mr(e) {
!In || Yt.length ? (Yt.push(e), Pn()) : (In = !1, e(), Pn());
}
let Ml = -1;
function Pn() {
cancelAnimationFrame(Ml), Ml = requestAnimationFrame(() => {
const e = Yt.shift();
e && e(), Yt.length ? Pn() : In = !0;
});
}
const zt = {
none: null,
close: $r,
block: Nr,
reposition: zr
}, Rr = D({
scrollStrategy: {
type: [String, Function],
default: "block",
validator: (e) => typeof e == "function" || e in zt
}
}, "VOverlay-scroll-strategies");
function Dr(e, n) {
if (!me) return;
let t;
qe(async () => {
t == null || t.stop(), n.isActive.value && e.scrollStrategy && (t = On(), await new Promise((l) => setTimeout(l)), t.active && t.run(() => {
var l;
typeof e.scrollStrategy == "function" ? e.scrollStrategy(n, e, t) : (l = zt[e.scrollStrategy]) == null || l.call(zt, n, e, t);
}));
}), Ve(() => {
t == null || t.stop();
});
}
function $r(e) {
function n(t) {
e.isActive.value = !1;
}
ni(e.targetEl.value ?? e.contentEl.value, n);
}
function Nr(e, n) {
var o;
const t = (o = e.root.value) == null ? void 0 : o.offsetParent, l = [.../* @__PURE__ */ new Set([...Gt(e.targetEl.value, n.contained ? t : void 0), ...Gt(e.contentEl.value, n.contained ? t : void 0)])].filter((r) => !r.classList.contains("v-overlay-scroll-blocked")), a = window.innerWidth - document.documentElement.offsetWidth, i = ((r) => Dn(r) && r)(t || document.documentElement);
i && e.root.value.classList.add("v-overlay--scroll-blocked"), l.forEach((r, u) => {
r.style.setProperty("--v-body-scroll-x", Y(-r.scrollLeft)), r.style.setProperty("--v-body-scroll-y", Y(-r.scrollTop)), r !== document.documentElement && r.style.setProperty("--v-scrollbar-offset", Y(a)), r.classList.add("v-overlay-scroll-blocked");
}), Ve(() => {
l.forEach((r, u) => {
const s = parseFloat(r.style.getPropertyValue("--v-body-scroll-x")), d = parseFloat(r.style.getPropertyValue("--v-body-scroll-y")), v = r.style.scrollBehavior;
r.style.scrollBehavior = "auto", r.style.removeProperty("--v-body-scroll-x"), r.style.removeProperty("--v-body-scroll-y"), r.style.removeProperty("--v-scrollbar-offset"), r.classList.remove("v-overlay-scroll-blocked"), r.scrollLeft = -s, r.scrollTop = -d, r.style.scrollBehavior = v;
}), i && e.root.value.classList.remove("v-overlay--scroll-blocked");
});
}
function zr(e, n, t) {
let l = !1, a = -1, i = -1;
function o(r) {
Mr(() => {
var d, v;
const u = performance.now();
(v = (d = e.updateLocation).value) == null || v.call(d, r), l = (performance.now() - u) / (1e3 / 60) > 2;
});
}
i = (typeof requestIdleCallback > "u" ? (r) => r() : requestIdleCallback)(() => {
t.run(() => {
ni(e.targetEl.value ?? e.contentEl.value, (r) => {
l ? (cancelAnimationFrame(a), a = requestAnimationFrame(() => {
a = requestAnimationFrame(() => {
o(r);
});
})) : o(r);
});
});
}), Ve(() => {
typeof cancelIdleCallback < "u" && cancelIdleCallback(i), cancelAnimationFrame(a);
});
}
function ni(e, n) {
const t = [document, ...Gt(e)];
t.forEach((l) => {
l.addEventListener("scroll", n, {
passive: !0
});
}), Ve(() => {
t.forEach((l) => {
l.removeEventListener("scroll", n);
});
});
}
const An = Symbol.for("vuetify:v-menu"), Hr = D({
closeDelay: [Number, String],
openDelay: [Number, String]
}, "delay");
function Wr(e, n) {
let t = () => {
};
function l(o) {
t == null || t();
const r = Number(o ? e.openDelay : e.closeDelay);
return new Promise((u) => {
t = _i(r, () => {
n == null || n(o), u(o);
});
});
}
function a() {
return l(!0);
}
function i() {
return l(!1);
}
return {
clearDelay: t,
runOpenDelay: a,
runCloseDelay: i
};
}
const jr = D({
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,
...Hr()
}, "VOverlay-activator");
function Ur(e, n) {
let {
isActive: t,
isTop: l,
contentEl: a
} = n;
const i = ge("useActivator"), o = W();
let r = !1, u = !1, s = !0;
const d = h(() => e.openOnFocus || e.openOnFocus == null && e.openOnHover), v = h(() => e.openOnClick || e.openOnClick == null && !e.openOnHover && !d.value), {
runOpenDelay: f,
runCloseDelay: m
} = Wr(e, (P) => {
P === (e.openOnHover && r || d.value && u) && !(e.openOnHover && t.value && !l.value) && (t.value !== P && (s = !0), t.value = P);
}), g = W(), y = {
onClick: (P) => {
P.stopPropagation(), o.value = P.currentTarget || P.target, t.value || (g.value = [P.clientX, P.clientY]), t.value = !t.value;
},
onMouseenter: (P) => {
var N;
(N = P.sourceCapabilities) != null && N.firesTouchEvents || (r = !0, o.value = P.currentTarget || P.target, f());
},
onMouseleave: (P) => {
r = !1, m();
},
onFocus: (P) => {
ct(P.target, ":focus-visible") !== !1 && (u = !0, P.stopPropagation(), o.value = P.currentTarget || P.target, f());
},
onBlur: (P) => {
u = !1, P.stopPropagation(), m();
}
}, b = h(() => {
const P = {};
return v.value && (P.onClick = y.onClick), e.openOnHover && (P.onMouseenter = y.onMouseenter, P.onMouseleave = y.onMouseleave), d.value && (P.onFocus = y.onFocus, P.onBlur = y.onBlur), P;
}), S = h(() => {
const P = {};
if (e.openOnHover && (P.onMouseenter = () => {
r = !0, f();
}, P.onMouseleave = () => {
r = !1, m();
}), d.value && (P.onFocusin = () => {
u = !0, f();
}, P.onFocusout = () => {
u = !1, m();
}), e.closeOnContentClick) {
const N = he(An, null);
P.onClick = () => {
t.value = !1, N == null || N.closeParents();
};
}
return P;
}), O = h(() => {
const P = {};
return e.openOnHover && (P.onMouseenter = () => {
s && (r = !0, s = !1, f());
}, P.onMouseleave = () => {
r = !1, m();
}), P;
});
q(l, (P) => {
var N;
P && (e.openOnHover && !r && (!d.value || !u) || d.value && !u && (!e.openOnHover || !r)) && !((N = a.value) != null && N.contains(document.activeElement)) && (t.value = !1);
}), q(t, (P) => {
P || setTimeout(() => {
g.value = void 0;
});
}, {
flush: "post"
});
const E = bn();
qe(() => {
E.value && xe(() => {
o.value = E.el;
});
});
const p = bn(), V = h(() => e.target === "cursor" && g.value ? g.value : p.value ? p.el : li(e.target, i) || o.value), T = h(() => Array.isArray(V.value) ? void 0 : V.value);
let A;
return q(() => !!e.activator, (P) => {
P && me ? (A = On(), A.run(() => {
Gr(e, i, {
activatorEl: o,
activatorEvents: b
});
})) : A && A.stop();
}, {
flush: "post",
immediate: !0
}), Ve(() => {
A == null || A.stop();
}), {
activatorEl: o,
activatorRef: E,
target: V,
targetEl: T,
targetRef: p,
activatorEvents: b,
contentEvents: S,
scrimEvents: O
};
}
function Gr(e, n, t) {
let {
activatorEl: l,
activatorEvents: a
} = t;
q(() => e.activator, (u, s) => {
if (s && u !== s) {
const d = r(s);
d && o(d);
}
u && xe(() => i());
}, {
immediate: !0
}), q(() => e.activatorProps, () => {
i();
}), Ve(() => {
o();
});
function i() {
let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : r(), s = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
u && Ni(u, Q(a.value, s));
}
function o() {
let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : r(), s = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
u && zi(u, Q(a.value, s));
}
function r() {
let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : e.activator;
const s = li(u, n);
return l.value = (s == null ? void 0 : s.nodeType) === Node.ELEMENT_NODE ? s : void 0, l.value;
}
}
function li(e, n) {
var l, a;
if (!e) return;
let t;
if (e === "parent") {
let i = (a = (l = n == null ? void 0 : n.proxy) == null ? void 0 : l.$el) == null ? void 0 : a.parentNode;
for (; i != null && i.hasAttribute("data-no-activator"); )
i = i.parentNode;
t = i;
} else typeof e == "string" ? t = document.querySelector(e) : "$el" in e ? t = e.$el : t = e;
return t;
}
function Kr() {
if (!me) return G(!1);
const {
ssr: e
} = Gn();
if (e) {
const n = G(!1);
return Ot(() => {
n.value = !0;
}), n;
} else
return G(!0);
}
const qr = D({
eager: Boolean
}, "lazy");
function Yr(e, n) {
const t = G(!1), l = h(() => t.value || e.eager || n.value);
q(n, () => t.value = !0);
function a() {
e.eager || (t.value = !1);
}
return {
isBooted: t,
hasContent: l,
onAfterLeave: a
};
}
function ai() {
const n = ge("useScopeId").vnode.scopeId;
return {
scopeId: n ? {
[n]: ""
} : void 0
};
}
const Rl = Symbol.for("vuetify:stack"), Ct = Qt([]);
function Xr(e, n, t) {
const l = ge("useStack"), a = !t, i = he(Rl, void 0), o = Qt({
activeChildren: /* @__PURE__ */ new Set()
});
_e(Rl, o);
const r = G(+n.value);
lt(e, () => {
var v;
const d = (v = Ct.at(-1)) == null ? void 0 : v[1];
r.value = d ? d + 10 : +n.value, a && Ct.push([l.uid, r.value]), i == null || i.activeChildren.add(l.uid), Ve(() => {
if (a) {
const f = re(Ct).findIndex((m) => m[0] === l.uid);
Ct.splice(f, 1);
}
i == null || i.activeChildren.delete(l.uid);
});
});
const u = G(!0);
a && qe(() => {
var v;
const d = ((v = Ct.at(-1)) == null ? void 0 : v[0]) === l.uid;
setTimeout(() => u.value = d);
});
const s = h(() => !o.activeChildren.size);
return {
globalTop: Bn(u),
localTop: s,
stackStyles: h(() => ({
zIndex: r.value
}))
};
}
function Qr(e) {
return {
teleportTarget: h(() => {
const t = e();
if (t === !0 || !me) return;
const l = t === !1 ? document.body : typeof t == "string" ? document.querySelector(t) : t;
if (l == null) {
Jt(`Unable to locate target ${t}`);
return;
}
let a = [...l.children].find((i) => i.matches(".v-overlay-container"));
return a || (a = document.createElement("div"), a.className = "v-overlay-container", l.appendChild(a)), a;
})
};
}
function Jr() {
return !0;
}
function ii(e, n, t) {
if (!e || oi(e, t) === !1) return !1;
const l = aa(n);
if (typeof ShadowRoot < "u" && l instanceof ShadowRoot && l.host === e.target) return !1;
const a = (typeof t.value == "object" && t.value.include || (() => []))();
return a.push(n), !a.some((i) => i == null ? void 0 : i.contains(e.target));
}
function oi(e, n) {
return (typeof n.value == "object" && n.value.closeConditional || Jr)(e);
}
function Zr(e, n, t) {
const l = typeof t.value == "function" ? t.value : t.value.handler;
e.shadowTarget = e.target, n._clickOutside.lastMousedownWasOutside && ii(e, n, t) && setTimeout(() => {
oi(e, t) && l && l(e);
}, 0);
}
function Dl(e, n) {
const t = aa(e);
n(document), typeof ShadowRoot < "u" && t instanceof ShadowRoot && n(t);
}
const eu = {
// [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, n) {
const t = (a) => Zr(a, e, n), l = (a) => {
e._clickOutside.lastMousedownWasOutside = ii(a, e, n);
};
Dl(e, (a) => {
a.addEventListener("click", t, !0), a.addEventListener("mousedown", l, !0);
}), e._clickOutside || (e._clickOutside = {
lastMousedownWasOutside: !1
}), e._clickOutside[n.instance.$.uid] = {
onClick: t,
onMousedown: l
};
},
beforeUnmount(e, n) {
e._clickOutside && (Dl(e, (t) => {
var i;
if (!t || !((i = e._clickOutside) != null && i[n.instance.$.uid])) return;
const {
onClick: l,
onMousedown: a
} = e._clickOutside[n.instance.$.uid];
t.removeEventListener("click", l, !0), t.removeEventListener("mousedown", a, !0);
}), delete e._clickOutside[n.instance.$.uid]);
}
};
function tu(e) {
const {
modelValue: n,
color: t,
...l
} = e;
return c(nt, {
name: "fade-transition",
appear: !0
}, {
default: () => [e.modelValue && c("div", Q({
class: ["v-overlay__scrim", e.color.backgroundColorClasses.value],
style: e.color.backgroundColorStyles.value
}, l), null)]
});
}
const ri = D({
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
},
...jr(),
...ae(),
...yt(),
...qr(),
...Br(),
...Rr(),
...Ee(),
...bt()
}, "VOverlay"), $l = J()({
name: "VOverlay",
directives: {
ClickOutside: eu
},
inheritAttrs: !1,
props: {
_disableGlobalStack: Boolean,
...ri()
},
emits: {
"click:outside": (e) => !0,
"update:modelValue": (e) => !0,
afterEnter: () => !0,
afterLeave: () => !0
},
setup(e, n) {
let {
slots: t,
attrs: l,
emit: a
} = n;
const i = ge("VOverlay"), o = W(), r = W(), u = W(), s = ve(e, "modelValue"), d = h({
get: () => s.value,
set: (j) => {
j && e.disabled || (s.value = j);
}
}), {
themeClasses: v
} = Re(e), {
rtlClasses: f,
isRtl: m
} = Xe(), {
hasContent: g,
onAfterLeave: y
} = Yr(e, d), b = Ke(h(() => typeof e.scrim == "string" ? e.scrim : null)), {
globalTop: S,
localTop: O,
stackStyles: E
} = Xr(d, K(e, "zIndex"), e._disableGlobalStack), {
activatorEl: p,
activatorRef: V,
target: T,
targetEl: A,
targetRef: P,
activatorEvents: N,
contentEvents: _,
scrimEvents: $
} = Ur(e, {
isActive: d,
isTop: O,
contentEl: u
}), {
teleportTarget: I
} = Qr(() => {
var ce, ie, oe;
const j = e.attach || e.contained;
if (j) return j;
const te = ((ce = p == null ? void 0 : p.value) == null ? void 0 : ce.getRootNode()) || ((oe = (ie = i.proxy) == null ? void 0 : ie.$el) == null ? void 0 : oe.getRootNode());
return te instanceof ShadowRoot ? te : !1;
}), {
dimensionStyles: L
} = ht(e), M = Kr(), {
scopeId: z
} = ai();
q(() => e.disabled, (j) => {
j && (d.value = !1);
});
const {
contentStyles: B,
updateLocation: F
} = Tr(e, {
isRtl: m,
contentEl: u,
target: T,
isActive: d
});
Dr(e, {
root: o,
contentEl: u,
targetEl: A,
isActive: d,
updateLocation: F
});
function k(j) {
a("click:outside", j), e.persistent ? ee() : d.value = !1;
}
function w(j) {
return d.value && S.value && // If using scrim, only close if clicking on it rather than anything opened on top
(!e.scrim || j.target === r.value || j instanceof MouseEvent && j.shadowTarget === r.value);
}
me && q(d, (j) => {
j ? window.addEventListener("keydown", C) : window.removeEventListener("keydown", C);
}, {
immediate: !0
}), $e(() => {
me && window.removeEventListener("keydown", C);
});
function C(j) {
var te, ce;
j.key === "Escape" && S.value && (e.persistent ? ee() : (d.value = !1, (te = u.value) != null && te.contains(document.activeElement) && ((ce = p.value) == null || ce.focus())));
}
const x = tr();
lt(() => e.closeOnBack, () => {
nr(x, (j) => {
S.value && d.value ? (j(!1), e.persistent ? ee() : d.value = !1) : j();
});
});
const H = W();
q(() => d.value && (e.absolute || e.contained) && I.value == null, (j) => {
if (j) {
const te = ia(o.value);
te && te !== document.scrollingElement && (H.value = te.scrollTop);
}
});
function ee() {
e.noClickAnimation || u.value && ut(u.value, [{
transformOrigin: "center"
}, {
transform: "scale(1.03)"
}, {
transformOrigin: "center"
}], {
duration: 150,
easing: Ut
});
}
function U() {
a("afterEnter");
}
function le() {
y(), a("afterLeave");
}
return ne(() => {
var j;
return c(ue, null, [(j = t.activator) == null ? void 0 : j.call(t, {
isActive: d.value,
targetRef: P,
props: Q({
ref: V
}, N.value, e.activatorProps)
}), M.value && g.value && c(Ci, {
disabled: !I.value,
to: I.value
}, {
default: () => [c("div", Q({
class: ["v-overlay", {
"v-overlay--absolute": e.absolute || e.contained,
"v-overlay--active": d.value,
"v-overlay--contained": e.contained
}, v.value, f.value, e.class],
style: [E.value, {
"--v-overlay-opacity": e.opacity,
top: Y(H.value)
}, e.style],
ref: o
}, z, l), [c(tu, Q({
color: b,
modelValue: d.value && !!e.scrim,
ref: r
}, $.value), null), c(Ue, {
appear: !0,
persisted: !0,
transition: e.transition,
target: T.value,
onAfterEnter: U,
onAfterLeave: le
}, {
default: () => {
var te;
return [Fe(c("div", Q({
ref: u,
class: ["v-overlay__content", e.contentClass],
style: [L.value, B.value]
}, _.value, e.contentProps), [(te = t.default) == null ? void 0 : te.call(t, {
isActive: d
})]), [[mt, d.value], [vt("click-outside"), {
handler: k,
closeConditional: w,
include: () => [p.value]
}]])];
}
})])]
})]);
}), {
activatorEl: p,
scrimEl: r,
target: T,
animateClick: ee,
contentEl: u,
globalTop: S,
localTop: O,
updateLocation: F
};
}
}), gn = Symbol("Forwarded refs");
function yn(e, n) {
let t = e;
for (; t; ) {
const l = Reflect.getOwnPropertyDescriptor(t, n);
if (l) return l;
t = Object.getPrototypeOf(t);
}
}
function on(e) {
for (var n = arguments.length, t = new Array(n > 1 ? n - 1 : 0), l = 1; l < n; l++)
t[l - 1] = arguments[l];
return e[gn] = t, new Proxy(e, {
get(a, i) {
if (Reflect.has(a, i))
return Reflect.get(a, i);
if (!(typeof i == "symbol" || i.startsWith("$") || i.startsWith("__"))) {
for (const o of t)
if (o.value && Reflect.has(o.value, i)) {
const r = Reflect.get(o.value, i);
return typeof r == "function" ? r.bind(o.value) : r;
}
}
},
has(a, i) {
if (Reflect.has(a, i))
return !0;
if (typeof i == "symbol" || i.startsWith("$") || i.startsWith("__")) return !1;
for (const o of t)
if (o.value && Reflect.has(o.value, i))
return !0;
return !1;
},
set(a, i, o) {
if (Reflect.has(a, i))
return Reflect.set(a, i, o);
if (typeof i == "symbol" || i.startsWith("$") || i.startsWith("__")) return !1;
for (const r of t)
if (r.value && Reflect.has(r.value, i))
return Reflect.set(r.value, i, o);
return !1;
},
getOwnPropertyDescriptor(a, i) {
var r;
const o = Reflect.getOwnPropertyDescriptor(a, i);
if (o) return o;
if (!(typeof i == "symbol" || i.startsWith("$") || i.startsWith("__"))) {
for (const u of t) {
if (!u.value) continue;
const s = yn(u.value, i) ?? ("_" in u.value ? yn((r = u.value._) == null ? void 0 : r.setupState, i) : void 0);
if (s) return s;
}
for (const u of t) {
const s = u.value && u.value[gn];
if (!s) continue;
const d = s.slice();
for (; d.length; ) {
const v = d.shift(), f = yn(v.value, i);
if (f) return f;
const m = v.value && v.value[gn];
m && d.push(...m);
}
}
}
}
});
}
const nu = D({
// TODO
// disableKeys: Boolean,
id: String,
submenu: Boolean,
...at(ri({
closeDelay: 250,
closeOnContentClick: !0,
locationStrategy: "connected",
location: void 0,
openDelay: 300,
scrim: !1,
scrollStrategy: "reposition",
transition: {
component: Ia
}
}), ["absolute"])
}, "VMenu"), ui = J()({
name: "VMenu",
props: nu(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, n) {
let {
slots: t
} = n;
const l = ve(e, "modelValue"), {
scopeId: a
} = ai(), {
isRtl: i
} = Xe(), o = He(), r = h(() => e.id || `v-menu-${o}`), u = W(), s = he(An, null), d = G(/* @__PURE__ */ new Set());
_e(An, {
register() {
d.value.add(o);
},
unregister() {
d.value.delete(o);
},
closeParents(b) {
setTimeout(() => {
var S;
!d.value.size && !e.persistent && (b == null || (S = u.value) != null && S.contentEl && !Fi(b, u.value.contentEl)) && (l.value = !1, s == null || s.closeParents());
}, 40);
}
}), $e(() => s == null ? void 0 : s.unregister()), ki(() => l.value = !1);
async function v(b) {
var E, p, V;
const S = b.relatedTarget, O = b.target;
await xe(), l.value && S !== O && ((E = u.value) != null && E.contentEl) && // We're the topmost menu
((p = u.value) != null && p.globalTop) && // It isn't the document or the menu body
![document, u.value.contentEl].includes(O) && // It isn't inside the menu body
!u.value.contentEl.contains(O) && ((V = Wt(u.value.contentEl)[0]) == null || V.focus());
}
q(l, (b) => {
b ? (s == null || s.register(), document.addEventListener("focusin", v, {
once: !0
})) : (s == null || s.unregister(), document.removeEventListener("focusin", v));
});
function f(b) {
s == null || s.closeParents(b);
}
function m(b) {
var S, O, E, p, V;
if (!e.disabled)
if (b.key === "Tab" || b.key === "Enter" && !e.closeOnContentClick) {
if (b.key === "Enter" && (b.target instanceof HTMLTextAreaElement || b.target instanceof HTMLInputElement && b.target.closest("form"))) return;
b.key === "Enter" && b.preventDefault(), Zl(Wt((S = u.value) == null ? void 0 : S.contentEl, !1), b.shiftKey ? "prev" : "next", (A) => A.tabIndex >= 0) || (l.value = !1, (E = (O = u.value) == null ? void 0 : O.activatorEl) == null || E.focus());
} else e.submenu && b.key === (i.value ? "ArrowRight" : "ArrowLeft") && (l.value = !1, (V = (p = u.value) == null ? void 0 : p.activatorEl) == null || V.focus());
}
function g(b) {
var O;
if (e.disabled) return;
const S = (O = u.value) == null ? void 0 : O.contentEl;
S && l.value ? b.key === "ArrowDown" ? (b.preventDefault(), b.stopImmediatePropagation(), xt(S, "next")) : b.key === "ArrowUp" ? (b.preventDefault(), b.stopImmediatePropagation(), xt(S, "prev")) : e.submenu && (b.key === (i.value ? "ArrowRight" : "ArrowLeft") ? l.value = !1 : b.key === (i.value ? "ArrowLeft" : "ArrowRight") && (b.preventDefault(), xt(S, "first"))) : (e.submenu ? b.key === (i.value ? "ArrowLeft" : "ArrowRight") : ["ArrowDown", "ArrowUp"].includes(b.key)) && (l.value = !0, b.preventDefault(), setTimeout(() => setTimeout(() => g(b))));
}
const y = h(() => Q({
"aria-haspopup": "menu",
"aria-expanded": String(l.value),
"aria-owns": r.value,
onKeydown: g
}, e.activatorProps));
return ne(() => {
const b = $l.filterProps(e);
return c($l, Q({
ref: u,
id: r.value,
class: ["v-menu", e.class],
style: e.style
}, b, {
modelValue: l.value,
"onUpdate:modelValue": (S) => l.value = S,
absolute: !0,
activatorProps: y.value,
location: e.location ?? (e.submenu ? "end" : "bottom"),
"onClick:outside": f,
onKeydown: m
}, a), {
activator: t.activator,
default: function() {
for (var S = arguments.length, O = new Array(S), E = 0; E < S; E++)
O[E] = arguments[E];
return c(Le, {
root: "VMenu"
}, {
default: () => {
var p;
return [(p = t.default) == null ? void 0 : p.call(t, ...O)];
}
});
}
});
}), on({
id: r,
ΨopenChildren: d
}, u);
}
}), lu = D({
active: Boolean,
disabled: Boolean,
max: [Number, String],
value: {
type: [Number, String],
default: 0
},
...ae(),
...bt({
transition: {
component: Pa
}
})
}, "VCounter"), au = J()({
name: "VCounter",
functional: !0,
props: lu(),
setup(e, n) {
let {
slots: t
} = n;
const l = h(() => e.max ? `${e.value} / ${e.max}` : String(e.value));
return ne(() => c(Ue, {
transition: e.transition
}, {
default: () => [Fe(c("div", {
class: ["v-counter", {
"text-error": e.max && !e.disabled && parseFloat(e.value) > parseFloat(e.max)
}, e.class],
style: e.style
}, [t.default ? t.default({
counter: l.value,
max: e.max,
value: e.value
}) : l.value]), [[mt, e.active]])]
})), {};
}
}), iu = D({
floating: Boolean,
...ae()
}, "VFieldLabel"), Dt = J()({
name: "VFieldLabel",
props: iu(),
setup(e, n) {
let {
slots: t
} = n;
return ne(() => c(sa, {
class: ["v-field-label", {
"v-field-label--floating": e.floating
}, e.class],
style: e.style,
"aria-hidden": e.floating || void 0
}, t)), {};
}
});
function ou(e, n) {
const t = W(), l = G(!1);
if (Tn) {
const a = new IntersectionObserver((i) => {
l.value = !!i.find((o) => o.isIntersecting);
}, n);
$e(() => {
a.disconnect();
}), q(t, (i, o) => {
o && (a.unobserve(o), l.value = !1), i && a.observe(i);
}, {
flush: "post"
});
}
return {
intersectionRef: t,
isIntersecting: l
};
}
const Nl = {
center: "center",
top: "bottom",
bottom: "top",
left: "right",
right: "left"
}, ru = D({
location: String
}, "location");
function uu(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, t = arguments.length > 2 ? arguments[2] : void 0;
const {
isRtl: l
} = Xe();
return {
locationStyles: h(() => {
if (!e.location) return {};
const {
side: i,
align: o
} = wn(e.location.split(" ").length > 1 ? e.location : `${e.location} center`, l.value);
function r(s) {
return t ? t(s) : 0;
}
const u = {};
return i !== "center" && (n ? u[Nl[i]] = `calc(100% - ${r(i)}px)` : u[i] = 0), o !== "center" ? n ? u[Nl[o]] = `calc(100% - ${r(o)}px)` : u[o] = 0 : (i === "center" ? u.top = u.left = "50%" : u[{
top: "left",
bottom: "left",
left: "top",
right: "top"
}[i]] = "50%", u.transform = {
top: "translateX(-50%)",
bottom: "translateX(-50%)",
left: "translateY(-50%)",
right: "translateY(-50%)",
center: "translate(-50%, -50%)"
}[i]), u;
})
};
}
const su = D({
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,
...ae(),
...ru({
location: "top"
}),
...it(),
...Me(),
...Ee()
}, "VProgressLinear"), cu = J()({
name: "VProgressLinear",
props: su(),
emits: {
"update:modelValue": (e) => !0
},
setup(e, n) {
var $;
let {
slots: t
} = n;
const l = ve(e, "modelValue"), {
isRtl: a,
rtlClasses: i
} = Xe(), {
themeClasses: o
} = Re(e), {
locationStyles: r
} = uu(e), {
textColorClasses: u,
textColorStyles: s
} = Ye(e, "color"), {
backgroundColorClasses: d,
backgroundColorStyles: v
} = Ke(h(() => e.bgColor || e.color)), {
backgroundColorClasses: f,
backgroundColorStyles: m
} = Ke(h(() => e.bufferColor || e.bgColor || e.color)), {
backgroundColorClasses: g,
backgroundColorStyles: y
} = Ke(e, "color"), {
roundedClasses: b
} = ot(e), {
intersectionRef: S,
isIntersecting: O
} = ou(), E = h(() => parseFloat(e.max)), p = h(() => parseFloat(e.height)), V = h(() => Ge(parseFloat(e.bufferValue) / E.value * 100, 0, 100)), T = h(() => Ge(parseFloat(l.value) / E.value * 100, 0, 100)), A = h(() => a.value !== e.reverse), P = h(() => e.indeterminate ? "fade-transition" : "slide-x-transition"), N = me && (($ = window.matchMedia) == null ? void 0 : $.call(window, "(forced-colors: active)").matches);
function _(I) {
if (!S.value) return;
const {
left: L,
right: M,
width: z
} = S.value.getBoundingClientRect(), B = A.value ? z - I.clientX + (M - z) : I.clientX - L;
l.value = Math.round(B / z * E.value);
}
return ne(() => c(e.tag, {
ref: S,
class: ["v-progress-linear", {
"v-progress-linear--absolute": e.absolute,
"v-progress-linear--active": e.active && O.value,
"v-progress-linear--reverse": A.value,
"v-progress-linear--rounded": e.rounded,
"v-progress-linear--rounded-bar": e.roundedBar,
"v-progress-linear--striped": e.striped
}, b.value, o.value, i.value, e.class],
style: [{
bottom: e.location === "bottom" ? 0 : void 0,
top: e.location === "top" ? 0 : void 0,
height: e.active ? Y(p.value) : 0,
"--v-progress-linear-height": Y(p.value),
...e.absolute ? r.value : {}
}, e.style],
role: "progressbar",
"aria-hidden": e.active ? "false" : "true",
"aria-valuemin": "0",
"aria-valuemax": e.max,
"aria-valuenow": e.indeterminate ? void 0 : T.value,
onClick: e.clickable && _
}, {
default: () => [e.stream && c("div", {
key: "stream",
class: ["v-progress-linear__stream", u.value],
style: {
...s.value,
[A.value ? "left" : "right"]: Y(-p.value),
borderTop: `${Y(p.value / 2)} dotted`,
opacity: parseFloat(e.bufferOpacity),
top: `calc(50% - ${Y(p.value / 4)})`,
width: Y(100 - V.value, "%"),
"--v-progress-linear-stream-to": Y(p.value * (A.value ? 1 : -1))
}
}, null), c("div", {
class: ["v-progress-linear__background", N ? void 0 : d.value],
style: [v.value, {
opacity: parseFloat(e.bgOpacity),
width: e.stream ? 0 : void 0
}]
}, null), c("div", {
class: ["v-progress-linear__buffer", N ? void 0 : f.value],
style: [m.value, {
opacity: parseFloat(e.bufferOpacity),
width: Y(V.value, "%")
}]
}, null), c(nt, {
name: P.value
}, {
default: () => [e.indeterminate ? c("div", {
class: "v-progress-linear__indeterminate"
}, [["long", "short"].map((I) => c("div", {
key: I,
class: ["v-progress-linear__indeterminate", I, N ? void 0 : g.value],
style: y.value
}, null))]) : c("div", {
class: ["v-progress-linear__determinate", N ? void 0 : g.value],
style: [y.value, {
width: Y(T.value, "%")
}]
}, null)]
}), t.default && c("div", {
class: "v-progress-linear__content"
}, [t.default({
value: T.value,
buffer: V.value
})])]
})), {};
}
}), du = D({
loading: [Boolean, String]
}, "loader");
function fu(e) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
return {
loaderClasses: h(() => ({
[`${n}--loading`]: e.loading
}))
};
}
function vu(e, n) {
var l;
let {
slots: t
} = n;
return c("div", {
class: `${e.name}__loader`
}, [((l = t.default) == null ? void 0 : l.call(t, {
color: e.color,
isActive: e.active
})) || c(cu, {
absolute: e.absolute,
active: e.active,
color: e.color,
height: "2",
indeterminate: !0
}, null)]);
}
const mu = ["underlined", "outlined", "filled", "solo", "solo-inverted", "solo-filled", "plain"], si = D({
appendInnerIcon: se,
bgColor: String,
clearable: Boolean,
clearIcon: {
type: se,
default: "$clear"
},
active: Boolean,
centerAffix: {
type: Boolean,
default: void 0
},
color: String,
baseColor: String,
dirty: Boolean,
disabled: {
type: Boolean,
default: null
},
error: Boolean,
flat: Boolean,
label: String,
persistentClear: Boolean,
prependInnerIcon: se,
reverse: Boolean,
singleLine: Boolean,
variant: {
type: String,
default: "filled",
validator: (e) => mu.includes(e)
},
"onClick:clear": pe(),
"onClick:appendInner": pe(),
"onClick:prependInner": pe(),
...ae(),
...du(),
...it(),
...Ee()
}, "VField"), ci = J()({
name: "VField",
inheritAttrs: !1,
props: {
id: String,
...Ea(),
...si()
},
emits: {
"update:focused": (e) => !0,
"update:modelValue": (e) => !0
},
setup(e, n) {
let {
attrs: t,
emit: l,
slots: a
} = n;
const {
themeClasses: i
} = Re(e), {
loaderClasses: o
} = fu(e), {
focusClasses: r,
isFocused: u,
focus: s,
blur: d
} = Oa(e), {
InputIcon: v
} = pa(e), {
roundedClasses: f
} = ot(e), {
rtlClasses: m
} = Xe(), g = h(() => e.dirty || e.active), y = h(() => !e.singleLine && !!(e.label || a.label)), b = He(), S = h(() => e.id || `input-${b}`), O = h(() => `${S.value}-messages`), E = W(), p = W(), V = W(), T = h(() => ["plain", "underlined"].includes(e.variant)), {
backgroundColorClasses: A,
backgroundColorStyles: P
} = Ke(K(e, "bgColor")), {
textColorClasses: N,
textColorStyles: _
} = Ye(h(() => e.error || e.disabled ? void 0 : g.value && u.value ? e.color : e.baseColor));
q(g, (M) => {
if (y.value) {
const z = E.value.$el, B = p.value.$el;
requestAnimationFrame(() => {
const F = Rn(z), k = B.getBoundingClientRect(), w = k.x - F.x, C = k.y - F.y - (F.height / 2 - k.height / 2), x = k.width / 0.75, H = Math.abs(x - F.width) > 1 ? {
maxWidth: Y(x)
} : void 0, ee = getComputedStyle(z), U = getComputedStyle(B), le = parseFloat(ee.transitionDuration) * 1e3 || 150, j = parseFloat(U.getPropertyValue("--v-field-label-scale")), te = U.getPropertyValue("color");
z.style.visibility = "visible", B.style.visibility = "hidden", ut(z, {
transform: `translate(${w}px, ${C}px) scale(${j})`,
color: te,
...H
}, {
duration: le,
easing: Ut,
direction: M ? "normal" : "reverse"
}).finished.then(() => {
z.style.removeProperty("visibility"), B.style.removeProperty("visibility");
});
});
}
}, {
flush: "post"
});
const $ = h(() => ({
isActive: g,
isFocused: u,
controlRef: V,
blur: d,
focus: s
}));
function I(M) {
M.target !== document.activeElement && M.preventDefault();
}
function L(M) {
var z;
M.key !== "Enter" && M.key !== " " || (M.preventDefault(), M.stopPropagation(), (z = e["onClick:clear"]) == null || z.call(e, new MouseEvent("click")));
}
return ne(() => {
var w, C, x;
const M = e.variant === "outlined", z = !!(a["prepend-inner"] || e.prependInnerIcon), B = !!(e.clearable || a.clear), F = !!(a["append-inner"] || e.appendInnerIcon || B), k = () => a.label ? a.label({
...$.value,
label: e.label,
props: {
for: S.value
}
}) : e.label;
return c("div", Q({
class: ["v-field", {
"v-field--active": g.value,
"v-field--appended": F,
"v-field--center-affix": e.centerAffix ?? !T.value,
"v-field--disabled": e.disabled,
"v-field--dirty": e.dirty,
"v-field--error": e.error,
"v-field--flat": e.flat,
"v-field--has-background": !!e.bgColor,
"v-field--persistent-clear": e.persistentClear,
"v-field--prepended": z,
"v-field--reverse": e.reverse,
"v-field--single-line": e.singleLine,
"v-field--no-label": !k(),
[`v-field--variant-${e.variant}`]: !0
}, i.value, A.value, r.value, o.value, f.value, m.value, e.class],
style: [P.value, e.style],
onClick: I
}, t), [c("div", {
class: "v-field__overlay"
}, null), c(vu, {
name: "v-field",
active: !!e.loading,
color: e.error ? "error" : typeof e.loading == "string" ? e.loading : e.color
}, {
default: a.loader
}), z && c("div", {
key: "prepend",
class: "v-field__prepend-inner"
}, [e.prependInnerIcon && c(v, {
key: "prepend-icon",
name: "prependInner"
}, null), (w = a["prepend-inner"]) == null ? void 0 : w.call(a, $.value)]), c("div", {
class: "v-field__field",
"data-no-activator": ""
}, [["filled", "solo", "solo-inverted", "solo-filled"].includes(e.variant) && y.value && c(Dt, {
key: "floating-label",
ref: p,
class: [N.value],
floating: !0,
for: S.value,
style: _.value
}, {
default: () => [k()]
}), c(Dt, {
ref: E,
for: S.value
}, {
default: () => [k()]
}), (C = a.default) == null ? void 0 : C.call(a, {
...$.value,
props: {
id: S.value,
class: "v-field__input",
"aria-describedby": O.value
},
focus: s,
blur: d
})]), B && c(Aa, {
key: "clear"
}, {
default: () => [Fe(c("div", {
class: "v-field__clearable",
onMousedown: (H) => {
H.preventDefault(), H.stopPropagation();
}
}, [c(Le, {
defaults: {
VIcon: {
icon: e.clearIcon
}
}
}, {
default: () => [a.clear ? a.clear({
...$.value,
props: {
onKeydown: L,
onFocus: s,
onBlur: d,
onClick: e["onClick:clear"]
}
}) : c(v, {
name: "clear",
onKeydown: L,
onFocus: s,
onBlur: d
}, null)]
})]), [[mt, e.dirty]])]
}), F && c("div", {
key: "append",
class: "v-field__append-inner"
}, [(x = a["append-inner"]) == null ? void 0 : x.call(a, $.value), e.appendInnerIcon && c(v, {
key: "append-icon",
name: "appendInner"
}, null)]), c("div", {
class: ["v-field__outline", N.value],
style: _.value
}, [M && c(ue, null, [c("div", {
class: "v-field__outline__start"
}, null), y.value && c("div", {
class: "v-field__outline__notch"
}, [c(Dt, {
ref: p,
floating: !0,
for: S.value
}, {
default: () => [k()]
})]), c("div", {
class: "v-field__outline__end"
}, null)]), T.value && y.value && c(Dt, {
ref: p,
floating: !0,
for: S.value
}, {
default: () => [k()]
})])]);
}), {
controlRef: V
};
}
});
function gu(e) {
const n = Object.keys(ci.props).filter((t) => !Ln(t) && t !== "class" && t !== "style");
return ql(e, n);
}
const yu = ["color", "file", "time", "date", "datetime-local", "week", "month"], Jn = D({
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,
...Ba(),
...si()
}, "VTextField"), Xt = J()({
name: "VTextField",
directives: {
Intersect: ua
},
inheritAttrs: !1,
props: Jn(),
emits: {
"click:control": (e) => !0,
"mousedown:control": (e) => !0,
"update:focused": (e) => !0,
"update:modelValue": (e) => !0
},
setup(e, n) {
let {
attrs: t,
emit: l,
slots: a
} = n;
const i = ve(e, "modelValue"), {
isFocused: o,
focus: r,
blur: u
} = Oa(e), s = h(() => typeof e.counterValue == "function" ? e.counterValue(i.value) : typeof e.counterValue == "number" ? e.counterValue : (i.value ?? "").toString().length), d = h(() => {
if (t.maxlength) return t.maxlength;
if (!(!e.counter || typeof e.counter != "number" && typeof e.counter != "string"))
return e.counter;
}), v = h(() => ["plain", "underlined"].includes(e.variant));
function f(T, A) {
var P, N;
!e.autofocus || !T || (N = (P = A[0].target) == null ? void 0 : P.focus) == null || N.call(P);
}
const m = W(), g = W(), y = W(), b = h(() => yu.includes(e.type) || e.persistentPlaceholder || o.value || e.active);
function S() {
var T;
y.value !== document.activeElement && ((T = y.value) == null || T.focus()), o.value || r();
}
function O(T) {
l("mousedown:control", T), T.target !== y.value && (S(), T.preventDefault());
}
function E(T) {
S(), l("click:control", T);
}
function p(T) {
T.stopPropagation(), S(), xe(() => {
i.value = null, Ti(e["onClick:clear"], T);
});
}
function V(T) {
var P;
const A = T.target;
if (i.value = A.value, (P = e.modelModifiers) != null && P.trim && ["text", "search", "password", "tel", "url"].includes(e.type)) {
const N = [A.selectionStart, A.selectionEnd];
xe(() => {
A.selectionStart = N[0], A.selectionEnd = N[1];
});
}
}
return ne(() => {
const T = !!(a.counter || e.counter !== !1 && e.counter != null), A = !!(T || a.details), [P, N] = Xl(t), {
modelValue: _,
...$
} = El.filterProps(e), I = gu(e);
return c(El, Q({
ref: m,
modelValue: i.value,
"onUpdate:modelValue": (L) => i.value = L,
class: ["v-text-field", {
"v-text-field--prefixed": e.prefix,
"v-text-field--suffixed": e.suffix,
"v-input--plain-underlined": v.value
}, e.class],
style: e.style
}, P, $, {
centerAffix: !v.value,
focused: o.value
}), {
...a,
default: (L) => {
let {
id: M,
isDisabled: z,
isDirty: B,
isReadonly: F,
isValid: k
} = L;
return c(ci, Q({
ref: g,
onMousedown: O,
onClick: E,
"onClick:clear": p,
"onClick:prependInner": e["onClick:prependInner"],
"onClick:appendInner": e["onClick:appendInner"],
role: e.role
}, I, {
id: M.value,
active: b.value || B.value,
dirty: B.value || e.dirty,
disabled: z.value,
focused: o.value,
error: k.value === !1
}), {
...a,
default: (w) => {
let {
props: {
class: C,
...x
}
} = w;
const H = Fe(c("input", Q({
ref: y,
value: i.value,
onInput: V,
autofocus: e.autofocus,
readonly: F.value,
disabled: z.value,
name: e.name,
placeholder: e.placeholder,
size: 1,
type: e.type,
onFocus: S,
onBlur: u
}, x, N), null), [[vt("intersect"), {
handler: f
}, null, {
once: !0
}]]);
return c(ue, null, [e.prefix && c("span", {
class: "v-text-field__prefix"
}, [c("span", {
class: "v-text-field__prefix__text"
}, [e.prefix])]), a.default ? c("div", {
class: C,
"data-no-activator": ""
}, [a.default(), H]) : pi(H, {
class: C
}), e.suffix && c("span", {
class: "v-text-field__suffix"
}, [c("span", {
class: "v-text-field__suffix__text"
}, [e.suffix])])]);
}
});
},
details: A ? (L) => {
var M;
return c(ue, null, [(M = a.details) == null ? void 0 : M.call(a, L), T && c(ue, null, [c("span", null, null), c(au, {
active: e.persistentCounter || o.value,
value: s.value,
max: d.value,
disabled: e.disabled
}, a.counter)])]);
} : void 0
});
}), on({}, m, g, y);
}
}), hu = D({
renderless: Boolean,
...ae()
}, "VVirtualScrollItem"), bu = J()({
name: "VVirtualScrollItem",
inheritAttrs: !1,
props: hu(),
emits: {
"update:height": (e) => !0
},
setup(e, n) {
let {
attrs: t,
emit: l,
slots: a
} = n;
const {
resizeRef: i,
contentRect: o
} = qt(void 0, "border");
q(() => {
var r;
return (r = o.value) == null ? void 0 : r.height;
}, (r) => {
r != null && l("update:height", r);
}), ne(() => {
var r, u;
return e.renderless ? c(ue, null, [(r = a.default) == null ? void 0 : r.call(a, {
itemRef: i
})]) : c("div", Q({
ref: i,
class: ["v-virtual-scroll__item", e.class],
style: e.style
}, t), [(u = a.default) == null ? void 0 : u.call(a)]);
});
}
}), Su = -1, wu = 1, hn = 100, Cu = D({
itemHeight: {
type: [Number, String],
default: null
},
height: [Number, String]
}, "virtual");
function ku(e, n) {
const t = Gn(), l = G(0);
qe(() => {
l.value = parseFloat(e.itemHeight || 0);
});
const a = G(0), i = G(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) || t.height.value) / (l.value || 16)
) || 1), o = G(0), r = G(0), u = W(), s = W();
let d = 0;
const {
resizeRef: v,
contentRect: f
} = qt();
qe(() => {
v.value = u.value;
});
const m = h(() => {
var w;
return u.value === document.documentElement ? t.height.value : ((w = f.value) == null ? void 0 : w.height) || parseInt(e.height) || 0;
}), g = h(() => !!(u.value && s.value && m.value && l.value));
let y = Array.from({
length: n.value.length
}), b = Array.from({
length: n.value.length
});
const S = G(0);
let O = -1;
function E(w) {
return y[w] || l.value;
}
const p = Oi(() => {
const w = performance.now();
b[0] = 0;
const C = n.value.length;
for (let x = 1; x <= C - 1; x++)
b[x] = (b[x - 1] || 0) + E(x - 1);
S.value = Math.max(S.value, performance.now() - w);
}, S), V = q(g, (w) => {
w && (V(), d = s.value.offsetTop, p.immediate(), z(), ~O && xe(() => {
me && window.requestAnimationFrame(() => {
F(O), O = -1;
});
}));
});
Ve(() => {
p.clear();
});
function T(w, C) {
const x = y[w], H = l.value;
l.value = H ? Math.min(l.value, C) : C, (x !== C || H !== l.value) && (y[w] = C, p());
}
function A(w) {
return w = Ge(w, 0, n.value.length - 1), b[w] || 0;
}
function P(w) {
return pu(b, w);
}
let N = 0, _ = 0, $ = 0;
q(m, (w, C) => {
C && (z(), w < C && requestAnimationFrame(() => {
_ = 0, z();
}));
});
function I() {
if (!u.value || !s.value) return;
const w = u.value.scrollTop, C = performance.now();
C - $ > 500 ? (_ = Math.sign(w - N), d = s.value.offsetTop) : _ = w - N, N = w, $ = C, z();
}
function L() {
!u.value || !s.value || (_ = 0, $ = 0, z());
}
let M = -1;
function z() {
cancelAnimationFrame(M), M = requestAnimationFrame(B);
}
function B() {
if (!u.value || !m.value) return;
const w = N - d, C = Math.sign(_), x = Math.max(0, w - hn), H = Ge(P(x), 0, n.value.length), ee = w + m.value + hn, U = Ge(P(ee) + 1, H + 1, n.value.length);
if (
// Only update the side we're scrolling towards,
// the other side will be updated incidentally
(C !== Su || H < a.value) && (C !== wu || U > i.value)
) {
const le = A(a.value) - A(H), j = A(U) - A(i.value);
Math.max(le, j) > hn ? (a.value = H, i.value = U) : (H <= 0 && (a.value = H), U >= n.value.length && (i.value = U));
}
o.value = A(a.value), r.value = A(n.value.length) - A(i.value);
}
function F(w) {
const C = A(w);
!u.value || w && !C ? O = w : u.value.scrollTop = C;
}
const k = h(() => n.value.slice(a.value, i.value).map((w, C) => ({
raw: w,
index: C + a.value
})));
return q(n, () => {
y = Array.from({
length: n.value.length
}), b = Array.from({
length: n.value.length
}), p.immediate(), z();
}, {
deep: !0
}), {
calculateVisibleItems: z,
containerRef: u,
markerRef: s,
computedItems: k,
paddingTop: o,
paddingBottom: r,
scrollToIndex: F,
handleScroll: I,
handleScrollend: L,
handleItemResize: T
};
}
function pu(e, n) {
let t = e.length - 1, l = 0, a = 0, i = null, o = -1;
if (e[t] < n)
return t;
for (; l <= t; )
if (a = l + t >> 1, i = e[a], i > n)
t = a - 1;
else if (i < n)
o = a, l = a + 1;
else return i === n ? a : l;
return o;
}
const xu = D({
items: {
type: Array,
default: () => []
},
renderless: Boolean,
...Cu(),
...ae(),
...yt()
}, "VVirtualScroll"), di = J()({
name: "VVirtualScroll",
props: xu(),
setup(e, n) {
let {
slots: t
} = n;
const l = ge("VVirtualScroll"), {
dimensionStyles: a
} = ht(e), {
calculateVisibleItems: i,
containerRef: o,
markerRef: r,
handleScroll: u,
handleScrollend: s,
handleItemResize: d,
scrollToIndex: v,
paddingTop: f,
paddingBottom: m,
computedItems: g
} = ku(e, K(e, "items"));
return lt(() => e.renderless, () => {
function y() {
var O, E;
const S = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) ? "addEventListener" : "removeEventListener";
o.value === document.documentElement ? (document[S]("scroll", u, {
passive: !0
}), document[S]("scrollend", s)) : ((O = o.value) == null || O[S]("scroll", u, {
passive: !0
}), (E = o.value) == null || E[S]("scrollend", s));
}
Ot(() => {
o.value = ia(l.vnode.el, !0), y(!0);
}), Ve(y);
}), ne(() => {
const y = g.value.map((b) => c(bu, {
key: b.index,
renderless: e.renderless,
"onUpdate:height": (S) => d(b.index, S)
}, {
default: (S) => {
var O;
return (O = t.default) == null ? void 0 : O.call(t, {
item: b.raw,
index: b.index,
...S
});
}
}));
return e.renderless ? c(ue, null, [c("div", {
ref: r,
class: "v-virtual-scroll__spacer",
style: {
paddingTop: Y(f.value)
}
}, null), y, c("div", {
class: "v-virtual-scroll__spacer",
style: {
paddingBottom: Y(m.value)
}
}, null)]) : c("div", {
ref: o,
class: ["v-virtual-scroll", e.class],
onScrollPassive: u,
onScrollend: s,
style: [a.value, e.style]
}, [c("div", {
ref: r,
class: "v-virtual-scroll__container",
style: {
paddingTop: Y(f.value),
paddingBottom: Y(m.value)
}
}, [y])]);
}), {
calculateVisibleItems: i,
scrollToIndex: v
};
}
});
function fi(e, n) {
const t = G(!1);
let l;
function a(r) {
cancelAnimationFrame(l), t.value = !0, l = requestAnimationFrame(() => {
l = requestAnimationFrame(() => {
t.value = !1;
});
});
}
async function i() {
await new Promise((r) => requestAnimationFrame(r)), await new Promise((r) => requestAnimationFrame(r)), await new Promise((r) => requestAnimationFrame(r)), await new Promise((r) => {
if (t.value) {
const u = q(t, () => {
u(), r();
});
} else r();
});
}
async function o(r) {
var d, v;
if (r.key === "Tab" && ((d = n.value) == null || d.focus()), !["PageDown", "PageUp", "Home", "End"].includes(r.key)) return;
const u = (v = e.value) == null ? void 0 : v.$el;
if (!u) return;
(r.key === "Home" || r.key === "End") && u.scrollTo({
top: r.key === "Home" ? 0 : u.scrollHeight,
behavior: "smooth"
}), await i();
const s = u.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");
if (r.key === "PageDown" || r.key === "Home") {
const f = u.getBoundingClientRect().top;
for (const m of s)
if (m.getBoundingClientRect().top >= f) {
m.focus();
break;
}
} else {
const f = u.getBoundingClientRect().bottom;
for (const m of [...s].reverse())
if (m.getBoundingClientRect().bottom <= f) {
m.focus();
break;
}
}
}
return {
onScrollPassive: a,
onKeydown: o
};
}
const vi = D({
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: se,
default: "$dropdown"
},
menuProps: {
type: Object
},
multiple: Boolean,
noDataText: {
type: String,
default: "$vuetify.noDataText"
},
openOnClear: Boolean,
itemColor: String,
...Xa({
itemChildren: !1
})
}, "Select"), Vu = D({
...vi(),
...at(Jn({
modelValue: null,
role: "combobox"
}), ["validationValue", "dirty", "appendInnerIcon"]),
...bt({
transition: {
component: Ia
}
})
}, "VSelect");
J()({
name: "VSelect",
props: Vu(),
emits: {
"update:focused": (e) => !0,
"update:modelValue": (e) => !0,
"update:menu": (e) => !0
},
setup(e, n) {
let {
slots: t
} = n;
const {
t: l
} = an(), a = W(), i = W(), o = W(), r = ve(e, "menu"), u = h({
get: () => r.value,
set: (w) => {
var C;
r.value && !w && ((C = i.value) != null && C.ΨopenChildren.size) || (r.value = w);
}
}), {
items: s,
transformIn: d,
transformOut: v
} = Ja(e), f = ve(e, "modelValue", [], (w) => d(w === null ? [null] : ke(w)), (w) => {
const C = v(w);
return e.multiple ? C : C[0] ?? null;
}), m = h(() => typeof e.counterValue == "function" ? e.counterValue(f.value) : typeof e.counterValue == "number" ? e.counterValue : f.value.length), g = Un(), y = h(() => f.value.map((w) => w.value)), b = G(!1), S = h(() => u.value ? e.closeText : e.openText);
let O = "", E;
const p = h(() => e.hideSelected ? s.value.filter((w) => !f.value.some((C) => e.valueComparator(C, w))) : s.value), V = h(() => e.hideNoData && !p.value.length || e.readonly || (g == null ? void 0 : g.isReadonly.value)), T = h(() => {
var w;
return {
...e.menuProps,
activatorProps: {
...((w = e.menuProps) == null ? void 0 : w.activatorProps) || {},
"aria-haspopup": "listbox"
// Set aria-haspopup to 'listbox'
}
};
}), A = W(), P = fi(A, a);
function N(w) {
e.openOnClear && (u.value = !0);
}
function _() {
V.value || (u.value = !u.value);
}
function $(w) {
Sn(w) && I(w);
}
function I(w) {
var ee, U;
if (!w.key || e.readonly || g != null && g.isReadonly.value) return;
["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End"].includes(w.key) && w.preventDefault(), ["Enter", "ArrowDown", " "].includes(w.key) && (u.value = !0), ["Escape", "Tab"].includes(w.key) && (u.value = !1), w.key === "Home" ? (ee = A.value) == null || ee.focus("first") : w.key === "End" && ((U = A.value) == null || U.focus("last"));
const C = 1e3;
if (e.multiple || !Sn(w)) return;
const x = performance.now();
x - E > C && (O = ""), O += w.key.toLowerCase(), E = x;
const H = s.value.find((le) => le.title.toLowerCase().startsWith(O));
if (H !== void 0) {
f.value = [H];
const le = p.value.indexOf(H);
me && window.requestAnimationFrame(() => {
var j;
le >= 0 && ((j = o.value) == null || j.scrollToIndex(le));
});
}
}
function L(w) {
let C = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
if (!w.props.disabled)
if (e.multiple) {
const x = f.value.findIndex((ee) => e.valueComparator(ee.value, w.value)), H = C ?? !~x;
if (~x) {
const ee = H ? [...f.value, w] : [...f.value];
ee.splice(x, 1), f.value = ee;
} else H && (f.value = [...f.value, w]);
} else {
const x = C !== !1;
f.value = x ? [w] : [], xe(() => {
u.value = !1;
});
}
}
function M(w) {
var C;
(C = A.value) != null && C.$el.contains(w.relatedTarget) || (u.value = !1);
}
function z() {
var w;
e.eager && ((w = o.value) == null || w.calculateVisibleItems());
}
function B() {
var w;
b.value && ((w = a.value) == null || w.focus());
}
function F(w) {
b.value = !0;
}
function k(w) {
if (w == null) f.value = [];
else if (ct(a.value, ":autofill") || ct(a.value, ":-webkit-autofill")) {
const C = s.value.find((x) => x.title === w);
C && L(C);
} else a.value && (a.value.value = "");
}
return q(u, () => {
if (!e.hideSelected && u.value && f.value.length) {
const w = p.value.findIndex((C) => f.value.some((x) => e.valueComparator(x.value, C.value)));
me && window.requestAnimationFrame(() => {
var C;
w >= 0 && ((C = o.value) == null || C.scrollToIndex(w));
});
}
}), q(() => e.items, (w, C) => {
u.value || b.value && !C.length && w.length && (u.value = !0);
}), ne(() => {
const w = !!(e.chips || t.chip), C = !!(!e.hideNoData || p.value.length || t["prepend-item"] || t["append-item"] || t["no-data"]), x = f.value.length > 0, H = Xt.filterProps(e), ee = x || !b.value && e.label && !e.persistentPlaceholder ? void 0 : e.placeholder;
return c(Xt, Q({
ref: a
}, H, {
modelValue: f.value.map((U) => U.props.value).join(", "),
"onUpdate:modelValue": k,
focused: b.value,
"onUpdate:focused": (U) => b.value = U,
validationValue: f.externalValue,
counterValue: m.value,
dirty: x,
class: ["v-select", {
"v-select--active-menu": u.value,
"v-select--chips": !!e.chips,
[`v-select--${e.multiple ? "multiple" : "single"}`]: !0,
"v-select--selected": f.value.length,
"v-select--selection-slot": !!t.selection
}, e.class],
style: e.style,
inputmode: "none",
placeholder: ee,
"onClick:clear": N,
"onMousedown:control": _,
onBlur: M,
onKeydown: I,
"aria-label": l(S.value),
title: l(S.value)
}), {
...t,
default: () => c(ue, null, [c(ui, Q({
ref: i,
modelValue: u.value,
"onUpdate:modelValue": (U) => u.value = U,
activator: "parent",
contentClass: "v-select__content",
disabled: V.value,
eager: e.eager,
maxHeight: 310,
openOnClick: !1,
closeOnContentClick: !1,
transition: e.transition,
onAfterEnter: z,
onAfterLeave: B
}, T.value), {
default: () => [C && c(ei, Q({
ref: A,
selected: y.value,
selectStrategy: e.multiple ? "independent" : "single-independent",
onMousedown: (U) => U.preventDefault(),
onKeydown: $,
onFocusin: F,
tabindex: "-1",
"aria-live": "polite",
color: e.itemColor ?? e.color
}, P, e.listProps), {
default: () => {
var U, le, j;
return [(U = t["prepend-item"]) == null ? void 0 : U.call(t), !p.value.length && !e.hideNoData && (((le = t["no-data"]) == null ? void 0 : le.call(t)) ?? c(ft, {
title: l(e.noDataText)
}, null)), c(di, {
ref: o,
renderless: !0,
items: p.value
}, {
default: (te) => {
var X;
let {
item: ce,
index: ie,
itemRef: oe
} = te;
const R = Q(ce.props, {
ref: oe,
key: ie,
onClick: () => L(ce, null)
});
return ((X = t.item) == null ? void 0 : X.call(t, {
item: ce,
index: ie,
props: R
})) ?? c(ft, Q(R, {
role: "option"
}), {
prepend: (de) => {
let {
isSelected: Z
} = de;
return c(ue, null, [e.multiple && !e.hideSelected ? c(Ca, {
key: ce.value,
modelValue: Z,
ripple: !1,
tabindex: "-1"
}, null) : void 0, ce.props.prependAvatar && c(dt, {
image: ce.props.prependAvatar
}, null), ce.props.prependIcon && c(we, {
icon: ce.props.prependIcon
}, null)]);
}
});
}
}), (j = t["append-item"]) == null ? void 0 : j.call(t)];
}
})]
}), f.value.map((U, le) => {
function j(oe) {
oe.stopPropagation(), oe.preventDefault(), L(U, !1);
}
const te = {
"onClick:close": j,
onKeydown(oe) {
oe.key !== "Enter" && oe.key !== " " || (oe.preventDefault(), oe.stopPropagation(), j(oe));
},
onMousedown(oe) {
oe.preventDefault(), oe.stopPropagation();
},
modelValue: !0,
"onUpdate:modelValue": void 0
}, ce = w ? !!t.chip : !!t.selection, ie = ce ? Fn(w ? t.chip({
item: U,
index: le,
props: te
}) : t.selection({
item: U,
index: le
})) : void 0;
if (!(ce && !ie))
return c("div", {
key: U.value,
class: "v-select__selection"
}, [w ? t.chip ? c(Le, {
key: "chip-defaults",
defaults: {
VChip: {
closable: e.closableChips,
size: "small",
text: U.title
}
}
}, {
default: () => [ie]
}) : c(za, Q({
key: "chip",
closable: e.closableChips,
size: "small",
text: U.title,
disabled: U.props.disabled
}, te), null) : ie ?? c("span", {
class: "v-select__selection-text"
}, [U.title, e.multiple && le < f.value.length - 1 && c("span", {
class: "v-select__selection-comma"
}, [Ul(",")])])]);
})]),
"append-inner": function() {
var te;
for (var U = arguments.length, le = new Array(U), j = 0; j < U; j++)
le[j] = arguments[j];
return c(ue, null, [(te = t["append-inner"]) == null ? void 0 : te.call(t, ...le), e.menuIcon ? c(we, {
class: "v-select__menu-icon",
icon: e.menuIcon
}, null) : void 0]);
}
});
}), on({
isFocused: b,
menu: u,
select: L
}, a);
}
});
const Iu = (e, n, t) => e == null || n == null ? -1 : e.toString().toLocaleLowerCase().indexOf(n.toString().toLocaleLowerCase()), Pu = D({
customFilter: Function,
customKeyFilter: Object,
filterKeys: [Array, String],
filterMode: {
type: String,
default: "intersection"
},
noFilter: Boolean
}, "filter");
function Au(e, n, t) {
var r;
const l = [], a = (t == null ? void 0 : t.default) ?? Iu, i = t != null && t.filterKeys ? ke(t.filterKeys) : !1, o = Object.keys((t == null ? void 0 : t.customKeyFilter) ?? {}).length;
if (!(e != null && e.length)) return l;
e: for (let u = 0; u < e.length; u++) {
const [s, d = s] = ke(e[u]), v = {}, f = {};
let m = -1;
if ((n || o > 0) && !(t != null && t.noFilter)) {
if (typeof s == "object") {
const b = i || Object.keys(d);
for (const S of b) {
const O = De(d, S), E = (r = t == null ? void 0 : t.customKeyFilter) == null ? void 0 : r[S];
if (m = E ? E(O, n, s) : a(O, n, s), m !== -1 && m !== !1)
E ? v[S] = m : f[S] = m;
else if ((t == null ? void 0 : t.filterMode) === "every")
continue e;
}
} else
m = a(s, n, s), m !== -1 && m !== !1 && (f.title = m);
const g = Object.keys(f).length, y = Object.keys(v).length;
if (!g && !y || (t == null ? void 0 : t.filterMode) === "union" && y !== o && !g || (t == null ? void 0 : t.filterMode) === "intersection" && (y !== o || !g)) continue;
}
l.push({
index: u,
matches: {
...f,
...v
}
});
}
return l;
}
function Eu(e, n, t, l) {
const a = W([]), i = W(/* @__PURE__ */ new Map()), o = h(() => Ce(n));
qe(() => {
const u = typeof t == "function" ? t() : Ce(t), s = typeof u != "string" && typeof u != "number" ? "" : String(u), d = Au(o.value, s, {
customKeyFilter: {
...e.customKeyFilter,
...Ce(l == null ? void 0 : l.customKeyFilter)
},
default: e.customFilter,
filterKeys: e.filterKeys,
filterMode: e.filterMode,
noFilter: e.noFilter
}), v = Ce(n), f = [], m = /* @__PURE__ */ new Map();
d.forEach((g) => {
let {
index: y,
matches: b
} = g;
const S = v[y];
f.push(S), m.set(S.value, b);
}), a.value = f, i.value = m;
});
function r(u) {
return i.value.get(u.value);
}
return {
filteredItems: a,
filteredMatches: i,
getMatches: r
};
}
function Ou(e, n, t) {
if (n == null) return e;
if (Array.isArray(n)) throw new Error("Multiple matches is not implemented");
return typeof n == "number" && ~n ? c(ue, null, [c("span", {
class: "v-autocomplete__unmask"
}, [e.substr(0, n)]), c("span", {
class: "v-autocomplete__mask"
}, [e.substr(n, t)]), c("span", {
class: "v-autocomplete__unmask"
}, [e.substr(n + t)])]) : e;
}
const Bu = D({
autoSelectFirst: {
type: [Boolean, String]
},
clearOnSelect: Boolean,
search: String,
...Pu({
filterKeys: ["title"]
}),
...vi(),
...at(Jn({
modelValue: null,
role: "combobox"
}), ["validationValue", "dirty", "appendInnerIcon"]),
...bt({
transition: !1
})
}, "VAutocomplete"), Te = J()({
name: "VAutocomplete",
props: Bu(),
emits: {
"update:focused": (e) => !0,
"update:search": (e) => !0,
"update:modelValue": (e) => !0,
"update:menu": (e) => !0
},
setup(e, n) {
let {
slots: t
} = n;
const {
t: l
} = an(), a = W(), i = G(!1), o = G(!0), r = G(!1), u = W(), s = W(), d = ve(e, "menu"), v = h({
get: () => d.value,
set: (R) => {
var X;
d.value && !R && ((X = u.value) != null && X.ΨopenChildren.size) || (d.value = R);
}
}), f = G(-1), m = h(() => {
var R;
return (R = a.value) == null ? void 0 : R.color;
}), g = h(() => v.value ? e.closeText : e.openText), {
items: y,
transformIn: b,
transformOut: S
} = Ja(e), {
textColorClasses: O,
textColorStyles: E
} = Ye(m), p = ve(e, "search", ""), V = ve(e, "modelValue", [], (R) => b(R === null ? [null] : ke(R)), (R) => {
const X = S(R);
return e.multiple ? X : X[0] ?? null;
}), T = h(() => typeof e.counterValue == "function" ? e.counterValue(V.value) : typeof e.counterValue == "number" ? e.counterValue : V.value.length), A = Un(), {
filteredItems: P,
getMatches: N
} = Eu(e, y, () => o.value ? "" : p.value), _ = h(() => e.hideSelected ? P.value.filter((R) => !V.value.some((X) => X.value === R.value)) : P.value), $ = h(() => !!(e.chips || t.chip)), I = h(() => $.value || !!t.selection), L = h(() => V.value.map((R) => R.props.value)), M = h(() => {
var X;
return (e.autoSelectFirst === !0 || e.autoSelectFirst === "exact" && p.value === ((X = _.value[0]) == null ? void 0 : X.title)) && _.value.length > 0 && !o.value && !r.value;
}), z = h(() => e.hideNoData && !_.value.length || e.readonly || (A == null ? void 0 : A.isReadonly.value)), B = W(), F = fi(B, a);
function k(R) {
e.openOnClear && (v.value = !0), p.value = "";
}
function w() {
z.value || (v.value = !0);
}
function C(R) {
z.value || (i.value && (R.preventDefault(), R.stopPropagation()), v.value = !v.value);
}
function x(R) {
var X;
Sn(R) && ((X = a.value) == null || X.focus());
}
function H(R) {
var Z, fe, Ie;
if (e.readonly || A != null && A.isReadonly.value) return;
const X = a.value.selectionStart, de = V.value.length;
if ((f.value > -1 || ["Enter", "ArrowDown", "ArrowUp"].includes(R.key)) && R.preventDefault(), ["Enter", "ArrowDown"].includes(R.key) && (v.value = !0), ["Escape"].includes(R.key) && (v.value = !1), M.value && ["Enter", "Tab"].includes(R.key) && !V.value.some((ye) => {
let {
value: be
} = ye;
return be === _.value[0].value;
}) && oe(_.value[0]), R.key === "ArrowDown" && M.value && ((Z = B.value) == null || Z.focus("next")), ["Backspace", "Delete"].includes(R.key)) {
if (!e.multiple && I.value && V.value.length > 0 && !p.value) return oe(V.value[0], !1);
if (~f.value) {
const ye = f.value;
oe(V.value[f.value], !1), f.value = ye >= de - 1 ? de - 2 : ye;
} else R.key === "Backspace" && !p.value && (f.value = de - 1);
}
if (e.multiple) {
if (R.key === "ArrowLeft") {
if (f.value < 0 && X > 0) return;
const ye = f.value > -1 ? f.value - 1 : de - 1;
V.value[ye] ? f.value = ye : (f.value = -1, a.value.setSelectionRange((fe = p.value) == null ? void 0 : fe.length, (Ie = p.value) == null ? void 0 : Ie.length));
}
if (R.key === "ArrowRight") {
if (f.value < 0) return;
const ye = f.value + 1;
V.value[ye] ? f.value = ye : (f.value = -1, a.value.setSelectionRange(0, 0));
}
}
}
function ee(R) {
if (ct(a.value, ":autofill") || ct(a.value, ":-webkit-autofill")) {
const X = y.value.find((de) => de.title === R.target.value);
X && oe(X);
}
}
function U() {
var R;
e.eager && ((R = s.value) == null || R.calculateVisibleItems());
}
function le() {
var R;
i.value && (o.value = !0, (R = a.value) == null || R.focus());
}
function j(R) {
i.value = !0, setTimeout(() => {
r.value = !0;
});
}
function te(R) {
r.value = !1;
}
function ce(R) {
(R == null || R === "" && !e.multiple && !I.value) && (V.value = []);
}
const ie = G(!1);
function oe(R) {
let X = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
if (!(!R || R.props.disabled))
if (e.multiple) {
const de = V.value.findIndex((fe) => e.valueComparator(fe.value, R.value)), Z = X ?? !~de;
if (~de) {
const fe = Z ? [...V.value, R] : [...V.value];
fe.splice(de, 1), V.value = fe;
} else Z && (V.value = [...V.value, R]);
e.clearOnSelect && (p.value = "");
} else {
const de = X !== !1;
V.value = de ? [R] : [], p.value = de && !I.value ? R.title : "", xe(() => {
v.value = !1, o.value = !0;
});
}
}
return q(i, (R, X) => {
var de;
R !== X && (R ? (ie.value = !0, p.value = e.multiple || I.value ? "" : String(((de = V.value.at(-1)) == null ? void 0 : de.props.title) ?? ""), o.value = !0, xe(() => ie.value = !1)) : (!e.multiple && p.value == null && (V.value = []), v.value = !1, V.value.some((Z) => {
let {
title: fe
} = Z;
return fe === p.value;
}) || (p.value = ""), f.value = -1));
}), q(p, (R) => {
!i.value || ie.value || (R && (v.value = !0), o.value = !R);
}), q(v, () => {
if (!e.hideSelected && v.value && V.value.length) {
const R = _.value.findIndex((X) => V.value.some((de) => X.value === de.value));
me && window.requestAnimationFrame(() => {
var X;
R >= 0 && ((X = s.value) == null || X.scrollToIndex(R));
});
}
}), q(() => e.items, (R, X) => {
v.value || i.value && !X.length && R.length && (v.value = !0);
}), ne(() => {
const R = !!(!e.hideNoData || _.value.length || t["prepend-item"] || t["append-item"] || t["no-data"]), X = V.value.length > 0, de = Xt.filterProps(e);
return c(Xt, Q({
ref: a
}, de, {
modelValue: p.value,
"onUpdate:modelValue": [(Z) => p.value = Z, ce],
focused: i.value,
"onUpdate:focused": (Z) => i.value = Z,
validationValue: V.externalValue,
counterValue: T.value,
dirty: X,
onChange: ee,
class: ["v-autocomplete", `v-autocomplete--${e.multiple ? "multiple" : "single"}`, {
"v-autocomplete--active-menu": v.value,
"v-autocomplete--chips": !!e.chips,
"v-autocomplete--selection-slot": !!I.value,
"v-autocomplete--selecting-index": f.value > -1
}, e.class],
style: e.style,
readonly: e.readonly,
placeholder: X ? void 0 : e.placeholder,
"onClick:clear": k,
"onMousedown:control": w,
onKeydown: H
}), {
...t,
default: () => c(ue, null, [c(ui, Q({
ref: u,
modelValue: v.value,
"onUpdate:modelValue": (Z) => v.value = Z,
activator: "parent",
contentClass: "v-autocomplete__content",
disabled: z.value,
eager: e.eager,
maxHeight: 310,
openOnClick: !1,
closeOnContentClick: !1,
transition: e.transition,
onAfterEnter: U,
onAfterLeave: le
}, e.menuProps), {
default: () => [R && c(ei, Q({
ref: B,
selected: L.value,
selectStrategy: e.multiple ? "independent" : "single-independent",
onMousedown: (Z) => Z.preventDefault(),
onKeydown: x,
onFocusin: j,
onFocusout: te,
tabindex: "-1",
"aria-live": "polite",
color: e.itemColor ?? e.color
}, F, e.listProps), {
default: () => {
var Z, fe, Ie;
return [(Z = t["prepend-item"]) == null ? void 0 : Z.call(t), !_.value.length && !e.hideNoData && (((fe = t["no-data"]) == null ? void 0 : fe.call(t)) ?? c(ft, {
title: l(e.noDataText)
}, null)), c(di, {
ref: s,
renderless: !0,
items: _.value
}, {
default: (ye) => {
var el;
let {
item: be,
index: Qe,
itemRef: Pe
} = ye;
const Zn = Q(be.props, {
ref: Pe,
key: Qe,
active: M.value && Qe === 0 ? !0 : void 0,
onClick: () => oe(be, null)
});
return ((el = t.item) == null ? void 0 : el.call(t, {
item: be,
index: Qe,
props: Zn
})) ?? c(ft, Q(Zn, {
role: "option"
}), {
prepend: (Lt) => {
let {
isSelected: _t
} = Lt;
return c(ue, null, [e.multiple && !e.hideSelected ? c(Ca, {
key: be.value,
modelValue: _t,
ripple: !1,
tabindex: "-1"
}, null) : void 0, be.props.prependAvatar && c(dt, {
image: be.props.prependAvatar
}, null), be.props.prependIcon && c(we, {
icon: be.props.prependIcon
}, null)]);
},
title: () => {
var Lt, _t;
return o.value ? be.title : Ou(be.title, (Lt = N(be)) == null ? void 0 : Lt.title, ((_t = p.value) == null ? void 0 : _t.length) ?? 0);
}
});
}
}), (Ie = t["append-item"]) == null ? void 0 : Ie.call(t)];
}
})]
}), V.value.map((Z, fe) => {
function Ie(Pe) {
Pe.stopPropagation(), Pe.preventDefault(), oe(Z, !1);
}
const ye = {
"onClick:close": Ie,
onKeydown(Pe) {
Pe.key !== "Enter" && Pe.key !== " " || (Pe.preventDefault(), Pe.stopPropagation(), Ie(Pe));
},
onMousedown(Pe) {
Pe.preventDefault(), Pe.stopPropagation();
},
modelValue: !0,
"onUpdate:modelValue": void 0
}, be = $.value ? !!t.chip : !!t.selection, Qe = be ? Fn($.value ? t.chip({
item: Z,
index: fe,
props: ye
}) : t.selection({
item: Z,
index: fe
})) : void 0;
if (!(be && !Qe))
return c("div", {
key: Z.value,
class: ["v-autocomplete__selection", fe === f.value && ["v-autocomplete__selection--selected", O.value]],
style: fe === f.value ? E.value : {}
}, [$.value ? t.chip ? c(Le, {
key: "chip-defaults",
defaults: {
VChip: {
closable: e.closableChips,
size: "small",
text: Z.title
}
}
}, {
default: () => [Qe]
}) : c(za, Q({
key: "chip",
closable: e.closableChips,
size: "small",
text: Z.title,
disabled: Z.props.disabled
}, ye), null) : Qe ?? c("span", {
class: "v-autocomplete__selection-text"
}, [Z.title, e.multiple && fe < V.value.length - 1 && c("span", {
class: "v-autocomplete__selection-comma"
}, [Ul(",")])])]);
})]),
"append-inner": function() {
var ye;
for (var Z = arguments.length, fe = new Array(Z), Ie = 0; Ie < Z; Ie++)
fe[Ie] = arguments[Ie];
return c(ue, null, [(ye = t["append-inner"]) == null ? void 0 : ye.call(t, ...fe), e.menuIcon ? c(we, {
class: "v-autocomplete__menu-icon",
icon: e.menuIcon,
onMousedown: C,
onClick: Li,
"aria-label": l(g.value),
title: l(g.value),
tabindex: "-1"
}, null) : void 0]);
}
});
}), on({
isFocused: i,
isPristine: o,
menu: v,
search: p,
filteredItems: P,
select: oe
}, a);
}
}), Tu = { class: "relative common-width" }, Lu = { class: "relative mgl common-width" }, _u = { class: "relative common-width" }, Fu = { class: "date-of-birth date-of-birth-format" }, Mu = { class: "relative common-width" }, Ru = { class: "relative common-width" }, Du = { class: "relative common-width" }, $u = {
key: 0,
class: "error-font"
}, Nu = { class: "date-of-birth date-of-birth-format" }, zu = { class: "relative common-width" }, Hu = { class: "relative common-width" }, Wu = { class: "relative common-width" }, ju = {
key: 0,
class: "error-font"
}, Uu = { class: "date-of-birth date-of-birth-format" }, Gu = { class: "relative common-width" }, Ku = { class: "relative common-width" }, qu = { class: "relative common-width" }, Yu = {
key: 0,
class: "error-font"
}, Xu = {
name: "BirthOfDate"
}, Qu = /* @__PURE__ */ Object.assign(Xu, {
props: {
width: {
type: String,
default: "100%"
},
inputHeight: {
type: String,
default: "default"
// default | comfortable | compact
},
title: {
required: !0,
type: Object,
default() {
return {
year: "Year",
month: "Month",
day: "Day"
};
}
},
clear: {
type: Boolean,
default: !1
},
values: {
required: !1,
type: String,
default: ""
},
format: {
type: String,
default: ""
},
isError: {
type: Boolean,
default: !1
},
gap: {
type: String,
default: "12px"
// 间距
},
disabled: {
type: Boolean,
default: !1
},
allowedAfter: {
type: Number,
default: 0
}
},
emits: ["changeValue", "verified"],
setup(e, { expose: n, emit: t }) {
xi((B) => ({
"38fac7a0": e.gap
}));
const l = e, a = t, i = W([]), o = W([]), r = W([]), u = W(), s = W(), d = W(), v = W(!1), f = W(!1), m = W(!1), g = (B, F, k) => {
let w = [];
for (let C = B; C <= F; C++)
C < k ? w.push({
name: "0" + C,
value: "0" + C
}) : w.push({
name: "" + C,
value: "" + C
});
return w;
};
let y = W(!1), b = W(0);
l.isError ? y.value = !0 : y.value = !1;
const S = h(() => {
if (l.format === "")
return !1;
if (b.value++, b.value <= 9 && l.isError && l.values)
return !0;
if (u.value && s.value && !d.value)
return !O(s.value * 1, u.value * 1) || y.value;
if (u.value && s.value && d.value || y.value) {
if (u.value && s.value && d.value) {
let F = d.value + "-" + s.value + "-" + u.value;
a("changeValue", F);
} else
a("changeValue", null);
return !N(`${d.value}-${s.value}-${u.value}`) || y.value;
}
}), O = (B, F) => {
if (B < 1 || B > 12)
return !1;
const k = {
1: 31,
// January
2: 28,
// February
3: 31,
// March
4: 30,
// April
5: 31,
// May
6: 30,
// June
7: 31,
// July
8: 31,
// August
9: 30,
// September
10: 31,
// October
11: 30,
// November
12: 31
// December
};
return !(F < 1 || F > k[B]);
}, E = () => {
y.value = !1;
};
let p = W(null), V = W(null), T = W(null);
n({
validateDOB: () => l.format === "" ? !1 : !S.value,
resetValues: () => {
var B, F, k;
u.value = "", s.value = "", d.value = "", f.value = !1, v.value = !1, m.value = !1, (B = p.value) == null || B.reset(), (F = V.value) == null || F.reset(), (k = T.value) == null || k.reset();
}
});
const N = (B) => {
if (!/^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01])$/.test(B))
return !1;
const [k, w, C] = B.split("-").map(Number), x = new Date(k, w - 1, C);
if (x.getFullYear() !== k || x.getMonth() + 1 !== w || w === 2 && C === 29 && !(k % 4 === 0 && k % 100 !== 0 || k % 400 === 0))
return !1;
const H = new Date(k, w, 0).getDate();
return !(C > H);
}, _ = (B) => (window.localStorage.getItem("langList") ? JSON.parse(window.localStorage.getItem("langList")) : {})[B] || B;
(() => {
o.value = [], i.value = [], r.value = [];
let B = (/* @__PURE__ */ new Date()).getFullYear();
o.value = g(1, 12, 10), i.value = g(1, 31, 10), r.value = l.allowedAfter ? g(B - 120, B + l.allowedAfter, 999).reverse() : g(B - 120, B, 999).reverse();
})(), q(l, (B) => {
let F = B.values;
if (F) {
let k = F.split(" ")[0].split("-");
d.value = k[0], s.value = k[1], u.value = k[2], f.value = !0, v.value = !0, m.value = !0;
} else
d.value = "", s.value = "", u.value = "", f.value = !1, v.value = !1, m.value = !1;
}, { immediate: !0, deep: !0 }), q(s, (B) => {
let F = (/* @__PURE__ */ new Date()).getFullYear(), k = (/* @__PURE__ */ new Date()).getMonth() + 1, w = (/* @__PURE__ */ new Date()).getDate();
d.value == F && B == k && !l.format && (i.value = g(1, w, 10), u.value > w && (u.value = "", v.value = !1));
}, { immediate: !0, deep: !0 }), q(d, (B) => {
let F = (/* @__PURE__ */ new Date()).getFullYear(), k = (/* @__PURE__ */ new Date()).getMonth() + 1, w = (/* @__PURE__ */ new Date()).getDate();
B == F && s.value == k && !l.format && (i.value = g(1, w, 10), u.value > w && (u.value = "", v.value = !1));
}, { immediate: !0, deep: !0 });
const I = () => {
if (v.value = !0, d.value && s.value && u.value) {
let B = d.value + "-" + s.value + "-" + u.value;
a("changeValue", B);
} else
a("changeValue", null);
}, L = (B) => {
if (f.value = !!B, i.value = [], B === "02" && d.value === "" ? (i.value = g(1, 28, 10), u.value > 28 && (u.value = "", v.value = !1)) : B === "02" && d.value !== "" && z(d.value) === !0 ? (i.value = g(1, 29, 10), u.value > 29 && (u.value = "", v.value = !1)) : B === "02" && d.value !== "" && z(d.value) !== !0 ? (i.value = g(1, 28, 10), u.value > 28 && (u.value = "", v.value = !1)) : B !== "02" && ["01", "03", "05", "07", "08", "10", "12"].includes(B) ? i.value = g(1, 31, 10) : (i.value = g(1, 30, 10), u.value > 30 && (u.value = "", v.value = !1)), d.value && s.value && u.value) {
let F = d.value + "-" + s.value + "-" + u.value;
a("changeValue", F);
} else
a("changeValue", null);
}, M = () => {
m.value = !0, L(s.value);
}, z = (B) => B % 4 == 0 && (B % 100 != 0 || B % 400 == 0);
return (B, F) => (We(), je(ue, null, [
e.format === "" ? (We(), je("div", {
key: 0,
class: "date-of-birth",
style: Ft({ width: e.width })
}, [
Se("div", Tu, [
c(Te, {
color: "primary",
modelValue: d.value,
"onUpdate:modelValue": [
F[0] || (F[0] = (k) => d.value = k),
M
],
density: e.inputHeight,
disabled: e.disabled,
class: Be(d.value ? "hasValue" : ""),
items: r.value,
rules: [(k) => !!k || _("Please select")],
label: _(e.title.year),
placeholder: _(e.title.year),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
required: "",
ref_key: "dateOfbirthYear",
ref: p
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "rules", "label", "placeholder", "item-value", "clearable"])
]),
Se("div", Lu, [
c(Te, {
color: "primary",
modelValue: s.value,
"onUpdate:modelValue": [
F[1] || (F[1] = (k) => s.value = k),
L
],
density: e.inputHeight,
disabled: e.disabled,
class: Be(s.value ? "hasValue" : ""),
items: o.value,
rules: [(k) => !!k || _("Please select")],
label: _(e.title.month),
placeholder: _(e.title.month),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
required: "",
ref_key: "dateOfbirthMonth",
ref: V
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "rules", "label", "placeholder", "item-value", "clearable"])
]),
Se("div", _u, [
c(Te, {
color: "primary",
modelValue: u.value,
"onUpdate:modelValue": [
F[2] || (F[2] = (k) => u.value = k),
I
],
density: e.inputHeight,
disabled: e.disabled,
class: Be(u.value ? "hasValue" : ""),
items: i.value,
rules: [(k) => !!k || _("Please select")],
label: _(e.title.day),
placeholder: _(e.title.day),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
required: "",
ref_key: "dateOfbirthDay",
ref: T
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "rules", "label", "placeholder", "item-value", "clearable"])
])
], 4)) : Je("", !0),
e.format === "YYYY-MM-DD" ? (We(), je("div", {
key: 1,
style: Ft({ width: e.width })
}, [
Se("div", Fu, [
Se("div", Mu, [
c(Te, {
color: "primary",
modelValue: d.value,
"onUpdate:modelValue": [
F[3] || (F[3] = (k) => d.value = k),
E
],
density: e.inputHeight,
disabled: e.disabled,
class: Be([d.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
items: r.value,
label: _(e.title.year),
placeholder: _(e.title.year),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
ref_key: "dateOfbirthYear",
ref: p
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "label", "placeholder", "item-value", "clearable"])
]),
Se("div", Ru, [
c(Te, {
color: "primary",
modelValue: s.value,
"onUpdate:modelValue": [
F[4] || (F[4] = (k) => s.value = k),
E
],
density: e.inputHeight,
disabled: e.disabled,
class: Be([s.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
items: o.value,
label: _(e.title.month),
placeholder: _(e.title.month),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
ref_key: "dateOfbirthMonth",
ref: V
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "label", "placeholder", "item-value", "clearable"])
]),
Se("div", Du, [
c(Te, {
color: "primary",
modelValue: u.value,
"onUpdate:modelValue": [
F[5] || (F[5] = (k) => u.value = k),
E
],
density: e.inputHeight,
disabled: e.disabled,
class: Be([u.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
items: i.value,
label: _(e.title.day),
placeholder: _(e.title.day),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
ref_key: "dateOfbirthDay",
ref: T
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "label", "placeholder", "item-value", "clearable"])
])
]),
S.value ? (We(), je("div", $u, rn(_("Please enter the correct date of birth.")), 1)) : Je("", !0)
], 4)) : Je("", !0),
e.format === "DD-MM-YYYY" ? (We(), je("div", {
key: 2,
style: Ft({ width: e.width })
}, [
Se("div", Nu, [
Se("div", zu, [
c(Te, {
color: "primary",
modelValue: u.value,
"onUpdate:modelValue": [
F[6] || (F[6] = (k) => u.value = k),
E
],
density: e.inputHeight,
disabled: e.disabled,
class: Be([u.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
items: i.value,
label: _(e.title.day),
placeholder: _(e.title.day),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
ref_key: "dateOfbirthDay",
ref: T
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "label", "placeholder", "item-value", "clearable"])
]),
Se("div", Hu, [
c(Te, {
color: "primary",
modelValue: s.value,
"onUpdate:modelValue": [
F[7] || (F[7] = (k) => s.value = k),
E
],
density: e.inputHeight,
disabled: e.disabled,
class: Be([s.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
items: o.value,
label: _(e.title.month),
placeholder: _(e.title.month),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
ref_key: "dateOfbirthMonth",
ref: V
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "label", "placeholder", "item-value", "clearable"])
]),
Se("div", Wu, [
c(Te, {
color: "primary",
modelValue: d.value,
"onUpdate:modelValue": [
F[8] || (F[8] = (k) => d.value = k),
E
],
density: e.inputHeight,
disabled: e.disabled,
class: Be([d.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
items: r.value,
label: _(e.title.year),
placeholder: _(e.title.year),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
ref_key: "dateOfbirthYear",
ref: p
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "label", "placeholder", "item-value", "clearable"])
])
]),
S.value ? (We(), je("div", ju, rn(_("Please enter the correct date of birth.")), 1)) : Je("", !0)
], 4)) : Je("", !0),
e.format === "MM-DD-YYYY" ? (We(), je("div", {
key: 3,
style: Ft({ width: e.width })
}, [
Se("div", Uu, [
Se("div", Gu, [
c(Te, {
color: "primary",
modelValue: s.value,
"onUpdate:modelValue": [
F[9] || (F[9] = (k) => s.value = k),
E
],
density: e.inputHeight,
disabled: e.disabled,
class: Be([s.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
items: o.value,
label: _(e.title.month),
placeholder: _(e.title.month),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
ref_key: "dateOfbirthMonth",
ref: V
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "label", "placeholder", "item-value", "clearable"])
]),
Se("div", Ku, [
c(Te, {
color: "primary",
modelValue: u.value,
"onUpdate:modelValue": [
F[10] || (F[10] = (k) => u.value = k),
E
],
density: e.inputHeight,
disabled: e.disabled,
class: Be([u.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
items: i.value,
label: _(e.title.day),
placeholder: _(e.title.day),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
ref_key: "dateOfbirthDay",
ref: T
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "label", "placeholder", "item-value", "clearable"])
]),
Se("div", qu, [
c(Te, {
color: "primary",
modelValue: d.value,
"onUpdate:modelValue": [
F[11] || (F[11] = (k) => d.value = k),
E
],
density: e.inputHeight,
disabled: e.disabled,
class: Be([d.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
items: r.value,
label: _(e.title.year),
placeholder: _(e.title.year),
"item-title": "name",
"item-value": (k) => k.value,
"hide-details": "auto",
clearable: e.clear,
variant: "outlined",
ref_key: "dateOfbirthYear",
ref: p
}, null, 8, ["modelValue", "density", "disabled", "class", "items", "label", "placeholder", "item-value", "clearable"])
])
]),
S.value ? (We(), je("div", Yu, rn(_("Please enter the correct date of birth.")), 1)) : Je("", !0)
], 4)) : Je("", !0)
], 64));
}
}), Ju = /* @__PURE__ */ Vi(Qu, [["__scopeId", "data-v-af5c1ae2"]]), Zu = [Ju], ts = {
install(e) {
Zu.forEach((n) => {
e.component(n.name, n);
});
}
};
export {
Ju as BirthOfDate,
ts as default
};