vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
39,570 lines • 1.21 MB
JavaScript
var $f = Object.defineProperty;
var Ef = (t, r, l) => r in t ? $f(t, r, { enumerable: !0, configurable: !0, writable: !0, value: l }) : t[r] = l;
var Rt = (t, r, l) => Ef(t, typeof r != "symbol" ? r + "" : r, l);
import { inject as Et, computed as g, getCurrentInstance as _l, unref as e, provide as nn, h as Jn, getCurrentScope as sr, markRaw as Nr, shallowRef as oa, watchEffect as In, readonly as cc, watch as le, reactive as pt, defineComponent as Xe, createVNode as y, renderSlot as W, useSlots as kn, ref as $, createElementBlock as D, createBlock as Be, openBlock as S, normalizeClass as x, Transition as En, withCtx as X, createCommentVNode as ge, normalizeStyle as Qe, createElementVNode as oe, mergeProps as He, createTextVNode as dt, toDisplayString as ze, render as sl, nextTick as kt, onScopeDispose as ca, onMounted as sn, onBeforeUnmount as pn, isVNode as hl, Comment as Af, Fragment as st, isRef as Xa, customRef as Rf, toRef as qe, resolveComponent as Js, withModifiers as gt, renderList as ln, shallowReadonly as yl, Teleport as Mf, withDirectives as el, vShow as tl, toRefs as dc, normalizeProps as It, guardReactiveProps as Yt, createSlots as nl, withKeys as Kn, TransitionGroup as Pf, onBeforeUpdate as zf, createApp as Pa, resolveDynamicComponent as fc, onUpdated as Qs, defineAsyncComponent as Lf, onBeforeMount as Ff } from "vue";
const zt = typeof window < "u", If = Object.prototype.toString, Nf = Object.prototype.hasOwnProperty;
function Df(t, r) {
return If.call(t) === `[object ${r}]`;
}
function ei(t, r) {
return Nf.call(t, r);
}
function dn(t) {
return t != null;
}
function Tt(t) {
return t == null;
}
function Of(t) {
return Number.isNaN(t);
}
function pc(t) {
return t === !0;
}
function Wi(t) {
return t === !1;
}
function pl(t) {
return Df(t, "Object");
}
function Sl(t) {
return !!t && typeof t.then == "function" && typeof t.catch == "function";
}
function on(t) {
return typeof t == "function";
}
function Cs(t) {
return Array.isArray(t) || typeof t == "string" ? t.length === 0 : t instanceof Map || t instanceof Set ? t.size === 0 : pl(t) ? Object.keys(t).length === 0 : typeof t == "number" ? Of(t) : Tt(t);
}
function Rl(t, r = !1) {
return !r && !zt ? !1 : !!(t && "nodeType" in t);
}
function ko(t) {
return dn(t) && typeof t[Symbol.iterator] == "function";
}
function Qt() {
}
function _f() {
return !0;
}
function sa() {
return !1;
}
function $l(t, r = 1, l = 1) {
const a = [];
for (let n = 0; n < t; ++n)
a.push(r + n * l);
return a;
}
function Bf(t) {
return Object.prototype.toString.call(t).slice(8, -1);
}
function vc(t = 16) {
const r = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", l = r.length;
let a = "";
for (; t--; )
a += r.charAt(Math.floor(Math.random() * l));
return a;
}
async function za(t, r = {}) {
if (t.length) {
for (const [l, a] of t)
if (typeof l == "function" ? l() : l)
return typeof r.beforeMatchAny == "function" && await r.beforeMatchAny(), await a(), typeof r.afterMatchAny == "function" && await r.afterMatchAny(), !0;
}
return !1;
}
const Hf = "[-\\+]?\\d+%?", Vf = "[-\\+]?\\d*\\.\\d+%?", ga = `(?:${Vf})|(?:${Hf})`, jf = `[\\s|\\(]+(${ga})[,|\\s]+(${ga})[,|\\s]+(${ga})\\s*\\)?`, Dr = `[\\s|\\(]+(${ga})[,|\\s]+(${ga})[,|\\s]+(${ga})[,|\\s]+(${ga})\\s*\\)?`, hc = new RegExp(`rgb${jf}`), mc = new RegExp(`rgba${Dr}`), bc = new RegExp(`hsl${Dr}`), gc = new RegExp(`hsla${Dr}`), yc = new RegExp(`hsv${Dr}`), kc = new RegExp(`hsva${Dr}`), wc = /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, xc = /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, Sc = /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, Cc = /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, wo = Object.freeze({
aliceblue: "f0f8ff",
antiquewhite: "faebd7",
aqua: "0ff",
aquamarine: "7fffd4",
azure: "f0ffff",
beige: "f5f5dc",
bisque: "ffe4c4",
black: "000",
blanchedalmond: "ffebcd",
blue: "00f",
blueviolet: "8a2be2",
brown: "a52a2a",
burlywood: "deb887",
burntsienna: "ea7e5d",
cadetblue: "5f9ea0",
chartreuse: "7fff00",
chocolate: "d2691e",
coral: "ff7f50",
cornflowerblue: "6495ed",
cornsilk: "fff8dc",
crimson: "dc143c",
cyan: "0ff",
darkblue: "00008b",
darkcyan: "008b8b",
darkgoldenrod: "b8860b",
darkgray: "a9a9a9",
darkgreen: "006400",
darkgrey: "a9a9a9",
darkkhaki: "bdb76b",
darkmagenta: "8b008b",
darkolivegreen: "556b2f",
darkorange: "ff8c00",
darkorchid: "9932cc",
darkred: "8b0000",
darksalmon: "e9967a",
darkseagreen: "8fbc8f",
darkslateblue: "483d8b",
darkslategray: "2f4f4f",
darkslategrey: "2f4f4f",
darkturquoise: "00ced1",
darkviolet: "9400d3",
deeppink: "ff1493",
deepskyblue: "00bfff",
dimgray: "696969",
dimgrey: "696969",
dodgerblue: "1e90ff",
firebrick: "b22222",
floralwhite: "fffaf0",
forestgreen: "228b22",
fuchsia: "f0f",
gainsboro: "dcdcdc",
ghostwhite: "f8f8ff",
gold: "ffd700",
goldenrod: "daa520",
gray: "808080",
green: "008000",
greenyellow: "adff2f",
grey: "808080",
honeydew: "f0fff0",
hotpink: "ff69b4",
indianred: "cd5c5c",
indigo: "4b0082",
ivory: "fffff0",
khaki: "f0e68c",
lavender: "e6e6fa",
lavenderblush: "fff0f5",
lawngreen: "7cfc00",
lemonchiffon: "fffacd",
lightblue: "add8e6",
lightcoral: "f08080",
lightcyan: "e0ffff",
lightgoldenrodyellow: "fafad2",
lightgray: "d3d3d3",
lightgreen: "90ee90",
lightgrey: "d3d3d3",
lightpink: "ffb6c1",
lightsalmon: "ffa07a",
lightseagreen: "20b2aa",
lightskyblue: "87cefa",
lightslategray: "789",
lightslategrey: "789",
lightsteelblue: "b0c4de",
lightyellow: "ffffe0",
lime: "0f0",
limegreen: "32cd32",
linen: "faf0e6",
magenta: "f0f",
maroon: "800000",
mediumaquamarine: "66cdaa",
mediumblue: "0000cd",
mediumorchid: "ba55d3",
mediumpurple: "9370db",
mediumseagreen: "3cb371",
mediumslateblue: "7b68ee",
mediumspringgreen: "00fa9a",
mediumturquoise: "48d1cc",
mediumvioletred: "c71585",
midnightblue: "191970",
mintcream: "f5fffa",
mistyrose: "ffe4e1",
moccasin: "ffe4b5",
navajowhite: "ffdead",
navy: "000080",
oldlace: "fdf5e6",
olive: "808000",
olivedrab: "6b8e23",
orange: "ffa500",
orangered: "ff4500",
orchid: "da70d6",
palegoldenrod: "eee8aa",
palegreen: "98fb98",
paleturquoise: "afeeee",
palevioletred: "db7093",
papayawhip: "ffefd5",
peachpuff: "ffdab9",
peru: "cd853f",
pink: "ffc0cb",
plum: "dda0dd",
powderblue: "b0e0e6",
purple: "800080",
rebeccapurple: "663399",
red: "f00",
rosybrown: "bc8f8f",
royalblue: "4169e1",
saddlebrown: "8b4513",
salmon: "fa8072",
sandybrown: "f4a460",
seagreen: "2e8b57",
seashell: "fff5ee",
sienna: "a0522d",
silver: "c0c0c0",
skyblue: "87ceeb",
slateblue: "6a5acd",
slategray: "708090",
slategrey: "708090",
snow: "fffafa",
springgreen: "00ff7f",
steelblue: "4682b4",
tan: "d2b48c",
teal: "008080",
thistle: "d8bfd8",
tomato: "ff6347",
turquoise: "40e0d0",
violet: "ee82ee",
wheat: "f5deb3",
white: "fff",
whitesmoke: "f5f5f5",
yellow: "ff0",
yellowgreen: "9acd32"
}), Wf = Object.freeze(new Set(Object.keys(wo)));
function Tc(t) {
return t = String(t).trim().toLowerCase(), t ? t === "transparent" || wo[t] ? !0 : t === "transparent" || Wf.has(t) || hc.test(t) || mc.test(t) || bc.test(t) || gc.test(t) || yc.test(t) || kc.test(t) || wc.test(t) || xc.test(t) || Sc.test(t) || Cc.test(t) : !1;
}
function Kf(t) {
if (t = t.toString().trim().toLowerCase(), t === "transparent")
return { r: 0, g: 0, b: 0, a: 0, format: "name", toString: Tl };
let r = !1;
wo[t] && (t = wo[t], r = !0);
let l;
if (l = hc.exec(t)) {
const { r: a, g: n, b: o } = Er(l[1], l[2], l[3]);
return {
r: a * 255,
g: n * 255,
b: o * 255,
format: "rgb",
toString: Tl
};
}
if (l = mc.exec(t)) {
const { r: a, g: n, b: o } = Er(l[1], l[2], l[3]);
return {
r: a * 255,
g: n * 255,
b: o * 255,
a: Ya(l[4]),
format: "rgba",
toString: Tl
};
}
if (l = bc.exec(t)) {
const { h: a, s: n, l: o } = xo(l[0], l[1], l[3]);
return { h: a * 360, s: n, l: o, format: "hsl", toString: Co };
}
if (l = gc.exec(t)) {
const { h: a, s: n, l: o } = xo(l[0], l[1], l[3]);
return {
h: a * 360,
s: n,
l: o,
a: Ya(l[4]),
format: "hsla",
toString: Co
};
}
if (l = yc.exec(t)) {
const { h: a, s: n, v: o } = So(l[0], l[1], l[3]);
return { h: a * 360, s: n, v: o, format: "hsv", toString: To };
}
if (l = kc.exec(t)) {
const { h: a, s: n, v: o } = So(l[0], l[1], l[3]);
return {
h: a * 360,
s: n,
v: o,
a: Ya(l[4]),
format: "hsva",
toString: To
};
}
return (l = wc.exec(t)) ? {
r: parseInt(`${l[1]}${l[1]}`, 16),
g: parseInt(`${l[2]}${l[2]}`, 16),
b: parseInt(`${l[3]}${l[3]}`, 16),
format: r ? "name" : "hex3",
toString: Tl
} : (l = xc.exec(t)) ? {
r: parseInt(`${l[1]}${l[1]}`, 16),
g: parseInt(`${l[2]}${l[2]}`, 16),
b: parseInt(`${l[3]}${l[3]}`, 16),
a: Ki(`${l[4]}${l[4]}`),
format: r ? "name" : "hex4",
toString: Tl
} : (l = Sc.exec(t)) ? {
r: parseInt(l[1], 16),
g: parseInt(l[2], 16),
b: parseInt(l[3], 16),
format: r ? "name" : "hex6",
toString: Tl
} : (l = Cc.exec(t)) ? {
r: parseInt(l[1], 16),
g: parseInt(l[2], 16),
b: parseInt(l[3], 16),
a: Ki(l[4]),
format: r ? "name" : "hex8",
toString: Tl
} : null;
}
function Qn(t) {
let r = { r: 0, g: 0, b: 0 }, l = 1, a;
return typeof t == "string" ? a = Kf(t) : a = t, a !== null && typeof a == "object" && ("l" in a ? r = $c(a.h, a.s, a.l) : "v" in a && (r = Ec(a.h, a.s, a.v)), "a" in a && (l = Ya(a.a ?? 1), Number.isNaN(l) && (l = 1)), r = a), { ...r, a: l, format: "rgba", toString: Tl };
}
function xo(t, r, l) {
return {
h: Ml(t, 0, 360) / 360,
s: Ml(Ar(r) ? Rr(r) : r, 0, 1),
l: Ml(Ar(l) ? Rr(l) : l, 0, 1)
};
}
function Er(t, r, l) {
return {
r: Ml(t, 0, 255) / 255,
g: Ml(r, 0, 255) / 255,
b: Ml(l, 0, 255) / 255
};
}
function So(t, r, l) {
return {
h: Ml(t, 0, 360) / 360,
s: Ml(Ar(r) ? Rr(r) : r, 0, 1),
v: Ml(Ar(l) ? Rr(l) : l, 0, 1)
};
}
function Ya(t) {
return Ml(Ar(t) ? Rr(t) : t, 0, 1);
}
function $c(t, r, l) {
let a, n, o;
if ({ h: t, s: r, l } = xo(t, r, l), r === 0)
a = n = o = l;
else {
const s = l < 0.5 ? 1 * (1 + r) : l + r - l * r, c = 2 * l - s;
a = rs(c, s, t + 1 / 3), n = rs(c, s, t), o = rs(c, s, t - 1 / 3);
}
return a *= 255, n *= 255, o *= 255, { r: a, g: n, b: o, toString: Tl };
}
function Uf(t, r, l) {
({ h: t, s: r, l } = xo(t, r, l));
const a = 0.5 * (2 * l + r * (1 - Math.abs(2 * l - 1)));
return r = 2 * (a - l) / a, { h: t * 360, s: r, v: a, toString: To };
}
function Xf(t, r, l) {
({ h: t, s: r, v: l } = So(t, r, l));
const a = 0.5 * l * (2 - r);
return r = l * r / (1 - Math.abs(2 * a - 1)), { h: t * 360, s: r, l: a, toString: Co };
}
function Ec(t, r, l) {
({ h: t, s: r, v: l } = So(t, r, l)), t *= 6;
const a = Math.floor(t), n = t - a, o = l * (1 - r), s = l * (1 - n * r), c = l * (1 - (1 - n) * r), d = a % 6;
let p = [l, s, o, o, c, l][d], m = [c, l, l, s, o, o][d], b = [o, o, c, l, l, s][d];
return p *= 255, m *= 255, b *= 255, { r: p, g: m, b, toString: Tl };
}
function oo(t, r, l) {
({ r: t, g: r, b: l } = Er(t, r, l));
const a = Math.max(t, r, l), n = Math.min(t, r, l);
let o;
const s = a, c = a - n, d = a === 0 ? 0 : c / a;
if (a === n)
o = 0;
else {
switch (a) {
case t: {
o = (r - l) / c + (r < l ? 6 : 0);
break;
}
case r: {
o = (l - t) / c + 2;
break;
}
case l: {
o = (t - r) / c + 4;
break;
}
default:
o = 0;
}
o *= 60;
}
return { h: o, s: d, v: s, toString: To };
}
function Ts(t, r, l, a = !1) {
({ r: t, g: r, b: l } = Er(t, r, l));
const n = [
ya(Math.round(t * 255).toString(16)),
ya(Math.round(r * 255).toString(16)),
ya(Math.round(l * 255).toString(16))
];
return a && ka(n[0]) && ka(n[1]) && ka(n[2]) ? n[0].charAt(0) + n[1].charAt(0) + n[2].charAt(0) : "#" + n.join("");
}
function $s(t, r, l, a, n = !1) {
({ r: t, g: r, b: l } = Er(t, r, l));
const o = [
ya(Math.round(t * 255).toString(16)),
ya(Math.round(r * 255).toString(16)),
ya(Math.round(l * 255).toString(16)),
ya(Gf(Ya(a)))
];
return n && ka(o[0]) && ka(o[1]) && ka(o[2]) && ka(o[3]) ? o[0].charAt(0) + o[1].charAt(0) + o[2].charAt(0) + o[3].charAt(0) : "#" + o.join("");
}
function ia(t, r, l = 0.5) {
if (!t && !r) return { r: 0, g: 0, b: 0, a: 1 };
if (!t) return Qn(r);
if (!r) return Qn(t);
const a = Qn(t), n = Qn(r), o = Ml(l, 0, 1), s = o * 2 - 1, c = a.a - n.a, p = ((s * c === -1 ? s : (s + c) / (1 + s * c)) + 1) / 2, m = 1 - p;
return {
r: Math.round(a.r * p + n.r * m),
g: Math.round(a.g * p + n.g * m),
b: Math.round(a.b * p + n.b * m),
a: Math.round(a.a * o + n.a * (1 - o)),
format: "rgba",
toString: Tl
};
}
function ml(t, r) {
const l = Qn(t);
return l.a = Ya(r), l;
}
function Yf(t, r = !1, l = "hex") {
const a = Math.round(Math.random() * 360), n = Math.round(80 + Math.random() * 20) / 100, o = Math.round(40 + Math.random() * 20) / 100;
if (l === "hsl")
return Co.bind({ h: a, s: n, l: o })();
let s;
if (l === "hex" || l === "rgb") {
if (s = $c(a, n, o), l === "hex") {
const { r: c, g: d, b: p } = s;
return r ? $s(c, d, p, Math.random()) : Ts(c, d, p);
}
} else l === "hsv" && (s = Uf(a, n, o));
return r && (s.a = Math.random()), s.toString();
}
function qf(t = !1, r = "hex") {
return Yf("hard", t, r);
}
function ya(t) {
return t.length === 1 ? `0${t}` : t.toString();
}
function ka(t) {
return t.charAt(0) === t.charAt(1);
}
function Gf(t) {
return Math.round(parseFloat(t) * 255).toString(16);
}
function Ki(t) {
return parseInt(t, 16) / 255;
}
function Ml(t, r, l) {
return Math.max(r, Math.min(l, parseFloat(t)));
}
function rs(t, r, l) {
return l < 0 && (l += 1), l > 1 && (l -= 1), l < 1 / 6 ? t + (r - t) * 6 * l : l < 1 / 2 ? r : l < 2 / 3 ? t + (r - t) * (2 / 3 - l) * 6 : t;
}
function Ar(t) {
return String(t).trim().includes("%");
}
function Rr(t) {
const r = parseFloat(t) / 100;
return Number.isNaN(r) ? 0 : r;
}
function Tl() {
return dn(this.a) && this.a >= 0 && this.a < 1 ? `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a})` : `rgb(${this.r}, ${this.g}, ${this.b})`;
}
function Co() {
const t = `${this.s * 100}%`, r = `${this.l * 100}%`;
return dn(this.a) && this.a >= 0 && this.a < 1 ? `hsla(${this.h}, ${t}, ${r}, ${this.a})` : `hsl(${this.h}, ${t}, ${r})`;
}
function To() {
const t = `${this.s * 100}%`, r = `${this.v * 100}%`;
return dn(this.a) && this.a >= 0 && this.a < 1 ? `hsva(${this.h}, ${t}, ${r}, ${this.a})` : `hsv(${this.h}, ${t}, ${r})`;
}
let Zf = 0;
function Ac() {
return Zf++;
}
function Ui(t) {
return t & -t;
}
function Rc(t, r = 0) {
const l = new Array(t + 1).fill(0);
function a(c, d) {
if (!(!d || c >= t))
for (c += 1; c <= t; )
l[c] += d, c += Ui(c);
}
function n(c = t) {
if (c <= 0) return 0;
c > t && (c = t);
let d = c * r;
for (; c > 0; )
d += l[c], c -= Ui(c);
return d;
}
function o(c) {
return n(c + 1) - n(c);
}
function s(c) {
let d = 0, p = t;
for (; p > d; ) {
const m = Math.floor((d + p) / 2), b = n(m);
if (b > c) {
p = m;
continue;
} else if (b < c) {
if (d === m)
return n(d + 1) <= c ? d + 1 : d;
d = m;
} else
return m;
}
return d;
}
return { tree: l, add: a, sum: n, get: o, boundIndex: s };
}
const Jf = /^\s*[+-]?\d*\.?\d+(?:[eE][+-]?\d+)?\s*$/;
function tr(t, r = !1) {
return typeof t == "number" ? !Number.isNaN(t) : r ? Jf.test(String(t)) : !Number.isNaN(parseFloat(t)) || !Number.isNaN(Number(t));
}
function rn(t) {
let r = parseFloat(t);
return Number.isNaN(r) && (r = Number(t)), Number.isNaN(r) ? 0 : r;
}
function Qf(t, r) {
return `${t < 0 ? "-" : ""}${String(Math.abs(Math.round(t))).padStart(r, "0")}`;
}
function ol(t) {
return Qf(t, 2);
}
function Bl(t) {
const r = t.toString().split(/[eE]/), l = (r[0].split(".")[1] || "").length - +(r[1] || 0);
return l > 0 ? l : 0;
}
function _n(t, r) {
r = Math.max(Math.round(r), 0);
let l = t.toFixed(Bl(t));
const a = l.indexOf(".");
if (a === -1) return t;
const n = l.replace(".", "").split(""), o = a + r;
return n[o] ? (l.charAt(o + 1) === "5" ? l = l.substring(0, o + 1) + "6" : l = l.substring(0, o + 2), parseFloat(Number(l).toFixed(r))) : t;
}
function br(t, r, l) {
return _n(t * r, l);
}
function cn(t, r, l) {
return Math.max(r, Math.min(l, parseFloat(t)));
}
function ep(t, r, l = 0) {
if (t <= 0 || r <= 1) return [t];
l < 1 && (l = 1 / 0);
const a = [];
let n = 0;
for (; t >= r && n < l; )
a.push(t % r), t = Math.floor(t / r), ++n;
return a.push(t), a.reverse();
}
function Xr(t, r = 0) {
return r === t ? r : (r > t && ([r, t] = [t, r]), Math.random() * (t - r) + r);
}
function tp(t, r = 15) {
return +parseFloat(Number(t).toPrecision(r));
}
function Xi(t) {
const r = String(t);
if (!r.includes("e"))
return Number(r.replace(".", ""));
const l = Bl(t);
return l > 0 ? tp(Number(t) * 10 ** l) : Number(t);
}
function ti(t) {
return (...r) => {
let l = r[0];
for (let a = 1, n = r.length; a < n; ++a)
l = t(l, r[a]);
return l;
};
}
const $o = ti((t, r) => {
const l = Xi(t), a = Xi(r), n = Bl(t) + Bl(r);
return l * a / 10 ** n;
}), np = ti((t, r) => {
const l = 10 ** Math.max(Bl(t), Bl(r));
return ($o(t, l) + $o(r, l)) / l;
}), lp = ti((t, r) => {
const l = 10 ** Math.max(Bl(t), Bl(r));
return ($o(t, l) - $o(r, l)) / l;
}), Ea = 1e3, _o = 60, Yi = _o * Ea, ni = 60, ap = ni * _o, qi = ap * Ea, Mc = 24, rp = Mc * ni, Pc = rp * _o, op = Pc * Ea, Da = Pc * Ea, sp = 7, ip = sp * Mc, up = ip * ni, cp = up * _o, dp = cp * Ea, fp = {
y(t, r) {
const l = t.getFullYear();
return r.length === 4 ? l : l % 1e3 % 100;
},
M(t, r) {
const l = t.getMonth() + 1;
return r.length === 2 ? ol(l) : l;
},
d(t, r) {
const l = t.getDate();
return r.length === 2 ? ol(l) : l;
},
H(t, r) {
const l = t.getHours();
return r.length === 2 ? ol(l) : l;
},
m(t, r) {
const l = t.getMinutes();
return r.length === 2 ? ol(l) : l;
},
s(t, r) {
const l = t.getSeconds();
return r.length === 2 ? ol(l) : l;
},
q(t, r) {
const l = Math.ceil((t.getMonth() + 1) / 3);
return r.length === 2 ? ol(l) : l;
}
}, pp = /[yMdHmsq](\w)*|./g, vp = /'(.+?)'/g;
function gl(t, r = !1) {
const l = new Date(t);
if (r && Number.isNaN(+l))
throw new RangeError("Invalid date value");
return typeof t == "string" && !t.includes(":") && (l.setHours(0), l.setMinutes(0), l.setSeconds(0)), l;
}
function zc(t, r = "yyyy-MM-dd HH:mm:ss") {
t = gl(t);
const l = r.match(pp), a = l == null ? void 0 : l.length;
if (!a)
return r;
let n = 0, o = "";
for (; n < a; ) {
const s = l[n], c = s[0], d = fp[c];
d ? o += d(t, s) : o += s, ++n;
}
return o.replace(vp, "$1");
}
function Yr(t) {
return t = gl(t), `${ol(t.getHours())}:${ol(t.getMinutes())}:${ol(
t.getSeconds()
)}`;
}
function hp(t, r) {
return t = gl(t), r = ~~r, t.setDate(t.getDate() + r), t;
}
function mp(t, r = 42, l = 1) {
t = gl(t);
const a = [];
for (let n = 0; n < r; ++n)
a.push(hp(t, n * l));
return a;
}
function Es(t) {
return t = gl(t), t.setHours(0, 0, 0, 0), t;
}
function bp(t) {
return t = gl(t), t.setHours(23, 59, 59, 999), t;
}
function As(t, r = 0) {
r = r % 7, r < 0 && (r += 7), t = gl(t);
const l = t.getDay(), a = (l < r ? 7 : 0) + l - r;
return t.setDate(t.getDate() - a), t.setHours(0, 0, 0, 0), t;
}
function Lc(t) {
return t % 4 === 0 && t % 100 !== 0 || t % 400 === 0;
}
function Fc(t, r) {
let l;
return r < 7 ? r !== 2 ? l = 30 + r % 2 : Lc(t) ? l = 29 : l = 28 : l = 31 - r % 2, l;
}
function gp(t, r = 1) {
t = gl(t);
const l = t.getFullYear(), a = t.getMonth() + 1, n = t.getDate(), o = Fc(l, a);
return r = r % o, r < 0 && (r += o), n < r && t.setMonth(a - 1), t.setDate(r), t.setHours(0, 0, 0, 0), t;
}
function ra(t, r) {
return t = Es(t), r = Es(r), (r.getTime() - t.getTime()) / op;
}
function yp(t, r, l = 0) {
return t = As(t, l), r = As(r, l), (r.getTime() - t.getTime()) / dp;
}
function Ic(t, r = {}) {
if (t == null || typeof t != "object")
return t;
const { cloneObject: l = Qt } = r, a = /* @__PURE__ */ Object.create(null), n = [
{
parent: a,
prop: "root",
data: t
}
], o = /* @__PURE__ */ new WeakMap(), s = [], c = [];
for (; n.length; ) {
const { parent: d, prop: p, data: m } = n.pop();
if (!d) continue;
const b = Bf(m);
if (b === "Date") {
d[p] = new Date(m);
continue;
}
if (b !== "Array") {
const u = l(b, m);
if (u != null) {
d[p] = u;
continue;
}
}
const f = d[p] = b === "Array" || b === "Set" || b === "Map" ? [] : /* @__PURE__ */ Object.create(null);
if (b === "Set" || b === "Map") {
let u = 0;
if (b === "Set") {
for (const h of m)
o.has(h) ? f[u] = o.get(h) : h !== null && typeof h == "object" ? n.push({
parent: f,
prop: u,
data: h
}) : f[u] = h, ++u;
s.push({ parent: d, prop: p });
} else {
for (const h of m) {
const i = [];
u = 0;
for (const v of h)
o.has(v) ? i[u] = o.get(v) : v !== null && typeof v == "object" ? n.push({
parent: i,
prop: u,
data: v
}) : i[u] = v, ++u;
f.push(i);
}
c.push({ parent: d, prop: p });
}
} else
for (const u of Object.keys(m)) {
const h = m[u];
o.has(h) ? f[u] = o.get(h) : h !== null && typeof h == "object" ? n.push({
parent: f,
prop: u,
data: h
}) : f[u] = h;
}
o.set(m, f);
}
for (const { parent: d, prop: p } of s)
d[p] = new Set(d[p]);
for (const { parent: d, prop: p } of c)
d[p] = new Map(d[p]);
return a.root;
}
const kp = "This object was destroyed, do not use it anywhere", wp = () => !0;
function ir(t, r = kp) {
const l = () => {
throw new Error(r);
};
Object.keys(t).forEach((a) => {
typeof t[a] == "function" ? t[a] = l.bind(t) : t[a] = null;
}), Object.getOwnPropertyNames(t.constructor.prototype).forEach((a) => {
a !== "constructor" && typeof t[a] == "function" && (t[a] = l.bind(t));
}), t.isDestroyed = wp;
}
const wl = zt && ("ontouchstart" in window || Sp() > 0), xp = wl ? "pointerdown" : "click";
function Sp() {
return typeof navigator < "u" && (navigator.maxTouchPoints || navigator.msMaxTouchPoints) || 0;
}
function Cp(t, r, l = window.Event) {
const { type: a, bubbles: n = !1, cancelable: o = !1, ...s } = r;
if (!dn(a) || a === "") return !1;
let c;
return dn(l) ? c = new l(a, { bubbles: n, cancelable: o }) : (c = document.createEvent("HTMLEvents"), c.initEvent(a, n, o)), Object.assign(c, s), t.dispatchEvent(c);
}
const Tp = [
"button",
"[href]:not(.disabled)",
"input",
"select",
"textarea",
"[tabindex]",
"[contenteditable]"
].map((t) => `${t}:not(:disabled):not([disabled])`).join(", ");
function li(t) {
return !!t && t.nodeType === 1;
}
function $p(t) {
return li(t) ? t : document.body;
}
function Nc(t, r) {
return !zt || !t ? [] : Array.from($p(r).querySelectorAll(t));
}
function Ep(t, r) {
if (!t || !r) return !1;
const l = r.__transferElement;
return r.contains(t) || !!l && (l === t || l.contains(t));
}
function Ap(t) {
if (!zt || !li(t) || !t.parentNode || !Ep(t, document.body) || t.style.display === "none")
return !0;
const r = t.getBoundingClientRect();
return !(r && r.width > 0 && r.height > 0);
}
function Rp(t) {
return !Ap(t);
}
function Mp(t) {
return !li(t) || t.hasAttribute("disabled") && t.getAttribute("disabled") !== "false" || t.disabled;
}
function Pp(t, r = !1) {
const l = r ? () => !1 : Mp;
return Nc(Tp, t).filter(
(a) => Rp(a) && a.tabIndex > -1 && !l(a)
);
}
function zp(t) {
if (!zt || !t) return 0;
const r = getComputedStyle(t);
return parseFloat(r.paddingLeft) + parseFloat(r.paddingRight) || 0;
}
function Lp(t) {
if (!zt || !t) return 0;
const r = getComputedStyle(t);
return parseFloat(r.borderTopWidth) + parseFloat(r.borderBottomWidth) || 0;
}
function Bo(t) {
if (!zt || !t) return 0;
const r = document.createRange();
r.setStart(t, 0), r.setEnd(t, t.childNodes.length);
const l = r.getBoundingClientRect().width, a = zp(t);
return l + a;
}
function Mr(t) {
return tr(t, !0) ? `${rn(t)}px` : String(t).trim();
}
function fl(t) {
return dn(t) && t !== !1 ? String(t) : void 0;
}
function ai() {
const t = /* @__PURE__ */ new Map();
return {
on(r, l) {
const a = t.get(r);
(a == null ? void 0 : a.add(l)) || t.set(r, /* @__PURE__ */ new Set([l]));
},
off(r, l) {
const a = t.get(r);
a && a.delete(l);
},
clear(r) {
const l = t.get(r);
l && l.clear();
},
clearAll() {
t.clear();
},
emit(r, ...l) {
const a = t.get(r);
a && a.forEach((n) => {
n(...l);
});
}
};
}
function Fp(t, r, l) {
r.has(t) || (l(t), r.add(t));
}
const Ip = /* @__PURE__ */ new Set();
function Np(t, r = console.warn) {
Fp(t, Ip, r);
}
const Dc = zt ? requestAnimationFrame : (t) => {
setTimeout(t, 16);
};
function Cl(t, r = 16) {
if (typeof t != "function")
return Qt;
const l = (...o) => {
t(...o);
};
if (r <= 0)
return Ln(l);
let a = 0, n;
return function(...o) {
const s = Date.now(), c = s - a;
clearTimeout(n), c >= r ? (a = s, l(...o)) : n = setTimeout(
() => {
a = Date.now(), l(...o);
},
Math.max(0, r - c)
);
};
}
function da(t, r = 100) {
if (typeof t != "function")
return Qt;
const l = (...n) => {
t(...n);
};
if (r <= 0)
return Ln(l);
let a;
return function(...n) {
clearTimeout(a), a = setTimeout(() => {
l(...n);
}, r);
};
}
function Ln(t) {
if (typeof t != "function")
return t;
let r = !1, l, a;
return function(...n) {
return l = n, r || (r = !0, a = Promise.resolve().then(() => (r = !1, a = void 0, t(...l)))), a;
};
}
const gr = /* @__PURE__ */ new Set(), Oc = /* @__PURE__ */ new WeakMap();
function Dp() {
gr.forEach((t) => {
t(...Oc.get(t));
}), gr.clear();
}
function qa(t, ...r) {
if (typeof t != "function")
return t;
Oc.set(t, r), !gr.has(t) && (gr.add(t), gr.size === 1 && Dc(Dp));
}
let os = null;
function Op() {
if (!zt)
return !0;
if (os === null) {
const t = document.createElement("div");
t.style.display = "flex", t.style.flexDirection = "column", t.style.rowGap = "1px", t.appendChild(document.createElement("div")), t.appendChild(document.createElement("div")), document.body.appendChild(t), os = t.scrollHeight === 1, document.body.removeChild(t);
}
return os;
}
let ss = null;
function _p() {
return zt ? (ss === null && (ss = "loading" in document.createElement("img")), ss) : !1;
}
function ur(t) {
return Array.isArray(t) ? t : [t];
}
function vl(t, ...r) {
return on(t) ? t(...r) : t;
}
function gn(t) {
return t[t.length - 1];
}
const Gi = (t) => t;
function Rs(t, r, l, a) {
let n;
a === void 0 && (a = !1), n = Gi;
const o = a ? /* @__PURE__ */ new Map() : {};
if (!dn(r)) return o;
const s = a ? (d, p) => o.set(d, p) : (d, p) => o[d] = p, c = on(r) ? r : (d) => d[r];
return t.forEach((d) => {
if (!dn(d)) return;
const p = c(d);
dn(p) && s(p, n(d));
}), o;
}
function Ho(t, r, l = !1) {
let a = -1;
return l || typeof r != "function" ? a = t.findIndex((n) => n === r) : a = t.findIndex(r), ~a ? t.splice(a, 1)[0] : null;
}
function _c(t, r = {}) {
const {
keyField: l = "id",
childField: a = "children",
parentField: n = "parent",
rootId: o = null
} = r, s = dn(o) && o !== "", c = [], d = /* @__PURE__ */ new Map();
for (let p = 0, m = t.length; p < m; ++p) {
const b = t[p], f = b[l];
if (!(s ? f === o : !dn(f)))
if (d.has(f) ? b[a] = d.get(f) : (b[a] = [], d.set(f, b[a])), b[n] && (!s || b[n] !== o)) {
const u = b[n];
d.has(u) || d.set(u, []), d.get(u).push(b);
} else
c.push(b);
}
return c;
}
function Ms(t, r = {}) {
const {
keyField: l = "id",
childField: a = "children",
parentField: n = "parent",
rootId: o = null,
depthFirst: s = !1,
injectId: c = !0,
buildId: d = (v) => v,
filter: p = _f,
cascaded: m = !1,
forceInject: b = !1
} = r;
let f = 1;
const u = dn(o) && o !== "", h = [], i = [...t];
for (; i.length; ) {
const v = i.shift(), k = v[a], w = Array.isArray(k) && k.length ? k : [];
c && (b || !v[l]) && (v[l] = d(f++));
const T = v[l];
c && n && (u ? v[n] === o : !v[n]) && (v[n] = o);
const F = p(v);
if (F && h.push(v), F || !m) {
for (let A = 0, z = w.length; A < z; ++A) {
const C = w[A];
c && n && (C[n] = T), !s && i.push(C);
}
s && i.unshift(...w);
}
}
return h;
}
function so(t, r, l = {}) {
const { childField: a = "children", depthFirst: n = !1 } = l, o = [...t.map((s) => ({ item: s, depth: 0, parent: null }))];
for (; o.length; ) {
const { item: s, depth: c, parent: d } = o.shift(), p = s[a];
r(s, c, d), ko(p) && o[n ? "unshift" : "push"](
...Array.from(p).map((m) => ({ item: m, depth: c + 1, parent: s }))
);
}
}
function Bc(t, r, l = {}) {
const { childField: a = "children", depthFirst: n = !1, clearChildren: o = !0 } = l, s = [], c = [...t.map((d) => ({ item: d, depth: 0, parent: null, result: s }))];
for (; c.length; ) {
const { item: d, depth: p, parent: m, result: b } = c.shift(), f = d[a], u = r(d, p, m) ?? {};
o && (u[a] = []), b.push(u), ko(f) && Array.from(f).length && (u[a] = [], c[n ? "unshift" : "push"](
...Array.from(f).map((i) => ({
item: i,
depth: p + 1,
parent: d,
result: u[a]
}))
));
}
return s;
}
function Bp(t, r, l = {}) {
const {
childField: a = "children",
leafOnly: n = !1,
isLeaf: o = (c) => !ko(c[a])
} = l, s = (c, d, p) => c.map((m) => ({ ...m })).filter((m) => {
const b = m[a], f = o(m), u = ko(b) && Array.from(b);
if (n && !f) {
if (u && u.length) {
const i = s(u, d + 1, m);
return m[a] = i, !!i.length;
}
return !1;
}
const h = r(m, d, p);
if (f) return h;
if (!n && h) return !0;
if (u && u.length) {
const i = s(u, d + 1, m);
return m[a] = i, !!i.length;
}
return h;
});
return s(t, 0, null);
}
const Zi = (t, r) => Number.isNaN(Number(t) - Number(r)) ? String(t).localeCompare(r) : t - r;
function Hp(t, r) {
if (!t.sort || pl(r) && !r.key || !r.length)
return t;
const l = Array.from(t);
Array.isArray(r) || (r = [r]);
const a = r.map(
(n) => typeof n == "string" ? {
key: n,
method: Zi,
type: "asc"
} : n
).map((n) => (typeof n.accessor != "function" && (n.accessor = (o) => o[n.key]), typeof n.method != "function" && (n.method = Zi), n.params = Array.isArray(n.params) ? n.params : [], n));
return l.sort((n, o) => {
let s = 0;
for (const c of a) {
const { method: d, type: p, accessor: m, params: b } = c, f = p === "desc", u = d(m(n, ...b), m(o, ...b));
if (s = f ? -u : u, s) break;
}
return s;
}), l;
}
function Ga(t, r, l = !0) {
t = l ? Ic(t) : t;
const a = [
{
source: t,
target: r
}
];
for (; a.length; ) {
const { source: n, target: o } = a.pop();
Object.keys(o).forEach((s) => {
pl(o[s]) ? (pl(n[s]) || (n[s] = /* @__PURE__ */ Object.create(null)), a.push({
source: n[s],
target: o[s]
})) : Array.isArray(o[s]) ? (Array.isArray(n[s]) || (n[s] = []), a.push({
source: n[s],
target: o[s]
})) : n[s] = o[s];
});
}
return t;
}
function Vp(t) {
t = Array.from(t);
let r = !1;
const l = () => {
var a;
r || ((a = t.shift()) == null || a(), t.length && Dc(l));
};
return l(), () => r = !0;
}
function Hc(t) {
return t = t.trim().replace(/\s+/g, "-"), t = t.replace(/-+(\w)/g, (r, l) => l ? l.toUpperCase() : ""), (t.charAt(0).toLocaleUpperCase() + t.slice(1)).replace(
/[^\w]/g,
""
);
}
const io = "___vxp-provided-hover-delay", yr = g(() => 100);
function is(t, r) {
return dn(t) && !Number.isNaN(t) ? t : r;
}
function Vc(t, r) {
if (r) {
const l = g(() => {
const a = e(t);
return is(a, yr.value);
});
r.provide(io, l);
} else {
const l = Et(io, null), a = g(() => {
const n = e(t);
return is(
n,
l ? is(l.value, yr.value) : yr.value
);
});
nn(io, a);
}
}
function fa() {
return _l() ? Et(io, yr) : yr;
}
function jp() {
return {
locale: "zh-CN",
wordSpace: !1,
calendar: {
year: "年",
month: "月",
month1: "01月",
month2: "02月",
month3: "03月",
month4: "04月",
month5: "05月",
month6: "06月",
month7: "07月",
month8: "08月",
month9: "09月",
month10: "10月",
month11: "11月",
month12: "12月",
week1: "一",
week2: "二",
week3: "三",
week4: "四",
week5: "五",
week6: "六",
week7: "日",
ariaLabel: {
year: "年",
month: "月",
month1: "一月",
month2: "二月",
month3: "三月",
month4: "四月",
month5: "五月",
month6: "六月",
month7: "七月",
month8: "八月",
month9: "九月",
month10: "十月",
month11: "十一月",
month12: "十二月",
week1: "星期一",
week2: "星期二",
week3: "星期三",
week4: "星期四",
week5: "星期五",
week6: "星期六",
week7: "星期日"
}
},
captcha: {
slideEnd: "请滑动到最后",
slide: "请滑动到适当的位置",
success: "验证成功",
fail: "验证失败,请重试",
doCaptcha: "请完成下面的验证",
pointInOrder: "请按顺序点击",
trigger: "点击进行验证",
completed: "已完成验证"
},
checkbox: {
all: "全选"
},
colorPicker: {
confirm: "确定",
cancel: "重置",
ariaLabel: {
clear: "清空颜色"
}
},
confirm: {
confirm: "确认",
cancel: "取消"
},
datePicker: {
confirm: "确认",
cancel: "取消",
placeholder: {
year: "年份",
month: "月份",
date: "日期",
datetime: "日期时间",
start: "开始",
end: "结束",
select: "请选择"
},
startTime: "开始时间",
endTime: "结束时间",
ariaLabel: {
clear: "清空日期",
quarter: "季度",
week: "周",
date: "日",
hour: "时",
minute: "分",
second: "秒"
}
},
drawer: {
confirm: "确认",
cancel: "取消"
},
form: {
submit: "提交",
reset: "重置",
notNullable: "不可为空",
validateFail: "验证未通过"
},
image: {
placeholder: "加载中...",
error: "加载失败"
},
input: {
placeholder: "请输入",
ariaLabel: {
clear: "清空文本"
}
},
layout: {
signOut: "注销",
signType: "导航模式",
majorColor: "主题颜色",
themeMode: "主题模式"
},
modal: {
confirm: "确认",
cancel: "取消"
},
numberInput: {
placeholder: "请输入数字",
outOfRange: "超出范围",
ariaLabel: {
clear: "清空数字",
increase: "增加",
decrease: "减少"
}
},
pagination: {
page: "页",
perPage: "条/页",
prevPage: "上一页",
nextPage: "下一页",
prev: "向前",
next: "向后",
total: "共",
jumpTo: "跳转",
itemUnit: "条"
},
select: {
placeholder: "请选择",
empty: "暂无数据",
search: "搜索选项",
ariaLabel: {
clear: "清空选项"
}
},
table: {
empty: "暂无数据",
filterConfirm: "筛选",
filterReset: "重置",
filterAll: "全部"
},
timeAgo: {
ago: "前",
late: "后",
justNow: "刚刚",
second: "秒",
minute: "分钟",
hour: "小时",
yesterday: "昨天",
days: "天",
lastMonth: "上个月",
months: "个月",
lastYear: "去年",
years: "年"
},
timePicker: {
confirm: "确认",
cancel: "取消",
placeholder: {
time: "时间",
start: "开始",
end: "结束",
select: "请选择"
},
ariaLabel: {
clear: "清空时间",
hour: "时",
minute: "分",
second: "秒"
}
},
tour: {
prev: "上一步",
next: "下一步",
done: "完成",
stepCount: "第 {n} 步"
},
transfer: {
source: "源",
target: "目标",
empty: "暂无数据",
reverse: "反选",
search: "搜索 (Ctrl + F)"
},
tree: {
empty: "暂无数据"
},
upload: {
upload: "上传文件",
uploading: "上传中",
dragOrClick: "将文件拖到此处, 或点击上传",
ariaLabel: {
preview: "预览文件",
delete: "删除文件"
}
},
video: {
play: "播放",
pause: "暂停",
playPrev: "上一个",
playNext: "下一个",
refresh: "刷新",
flip: "镜像翻转",
requestPip: "进入画中画",
exitPip: "退出画中画",
fullWindow: "进入网页全屏",
fullWindowExit: "退出网页全屏",
fullScreen: "进入全屏",
fullScreenExit: "退出全屏",
chapterCount: "第 {n} 章"
},
viewer: {
rotateRight: "向右旋转",
rotateLeft: "向左旋转",
flipHorizontal: "横向翻转",
flipVertical: "纵向翻转",
zoomIn: "放大",
zoomOut: "缩小",
fullScreen: "进入全屏",
fullScreenExit: "退出全屏",
reset: "重置"
}
};
}
const kr = "__vxp-provided-locale", Pr = g(() => jp()), Wp = /* @__PURE__ */ new Map();
function Ji(t) {
return t && Wp.get(t) || Pr.value;
}
function ri(t, r) {
if (r) {
const l = g(() => {
const a = e(t);
return Ga(Ji(a.locale), a);
});
r.provide(kr, l);
} else {
const l = Et(kr, null), a = g(() => {
const n = e(t);
return l != null && l.value ? Ga(l.value, n) : Ga(Ji(n.locale), n);
});
nn(kr, a);
}
}
function vn(t, r) {
const l = Et(kr, Pr);
return t ? r ? g(() => {
var a;
return { ...((a = l.value) == null ? void 0 : a[t]) ?? {}, ...e(r) ?? {} };
}) : g(() => {
var a;
return ((a = l.value) == null ? void 0 : a[t]) ?? {};
}) : l;
}
function Vo() {
const t = Et(kr, Pr);
return g(() => t.value.wordSpace ?? !1);
}
function uo(t, r) {
const l = t.split("|");
return l.length === 1 ? `${r} ${t}` : `${r} ${r > 1 ? l[1].trim() : l[0].trim()}`;
}
function Kp(t, r) {
const l = t.split("|");
return l.length === 1 ? t : r > 1 ? l[1].trim() : l[0].trim();
}
function nr(t, r = Pr.value.wordSpace ?? !1) {
return r ? t : t.replace(/\s+/g, "");
}
function jc(t, r) {
return t.replace(/{n}/g, `${r}`);
}
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Qi = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Up = (t) => t.replace(
/^([A-Z])|[\s-_]+(\w)/g,
(r, l, a) => a ? a.toUpperCase() : l.toLowerCase()
), Xp = (t) => {
const r = Up(t);
return r.charAt(0).toUpperCase() + r.slice(1);
}, Yp = (...t) => t.filter((r, l, a) => !!r && r.trim() !== "" && a.indexOf(r) === l).join(" ").trim();
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
var qr = {
xmlns: "http://www.w3.org/2000/svg",
width: 24,
height: 24,
viewBox: "0 0 24 24",
fill: "none",
stroke: "currentColor",
"stroke-width": 2,
"stroke-linecap": "round",
"stroke-linejoin": "round"
};
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const qp = ({ size: t, strokeWidth: r = 2, absoluteStrokeWidth: l, color: a, iconNode: n, name: o, class: s, ...c }, { slots: d }) => Jn(
"svg",
{
...qr,
width: t || qr.width,
height: t || qr.height,
stroke: a || qr.stroke,
"stroke-width": l ? Number(r) * 24 / Number(t) : r,
class: Yp(
"lucide",
...o ? [`lucide-${Qi(Xp(o))}-icon`, `lucide-${Qi(o)}`] : ["lucide-icon"]
),
...c
},
[...n.map((p) => Jn(...p)), ...d.default ? [d.default()] : []]
);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Dt = (t, r) => (l, { slots: a }) => Jn(
qp,
{
...l,
iconNode: r,
name: t
},
a
);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Gp = Dt("arrow-left-right", [
["path", { d: "M8 3 4 7l4 4", key: "9rb6wj" }],
["path", { d: "M4 7h16", key: "6tx8e3" }],
["path", { d: "m16 21 4-4-4-4", key: "siv7j2" }],
["path", { d: "M20 17H4", key: "h6l3hr" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Zp = Dt("calendar", [
["path", { d: "M8 2v4", key: "1cmpym" }],
["path", { d: "M16 2v4", key: "4m81vk" }],
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
["path", { d: "M3 10h18", key: "8toen8" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Jp = Dt("check", [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Qp = Dt("chevron-down", [
["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const ev = Dt("chevron-left", [
["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const tv = Dt("chevron-right", [
["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const nv = Dt("chevron-up", [
["path", { d: "m18 15-6-6-6 6", key: "153udz" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const lv = Dt("chevrons-left", [
["path", { d: "m11 17-5-5 5-5", key: "13zhaf" }],
["path", { d: "m18 17-5-5 5-5", key: "h8a8et" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const av = Dt("chevrons-right", [
["path", { d: "m6 17 5-5-5-5", key: "xnjwq" }],
["path", { d: "m13 17 5-5-5-5", key: "17xmmf" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const rv = Dt("circle-alert", [
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const ov = Dt("circle-check", [
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const sv = Dt("circle-help", [
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
["path", { d: "M12 17h.01", key: "p32p05" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const eu = Dt("circle-x", [
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
["path", { d: "m15 9-6 6", key: "1uzhvr" }],
["path", { d: "m9 9 6 6", key: "z0biqf" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const iv = Dt("clock", [
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const uv = Dt("cloud-upload", [
["path", { d: "M12 13v8", key: "1l5pq0" }],
["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }],
["path", { d: "m8 17 4-4 4 4", key: "1quai1" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const cv = Dt("ellipsis", [
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const dv = Dt("eye-off", [
[
"path",
{
d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
key: "ct8e1f"
}
],
["path", { d: "M14.084 14.158a3 3 0 0 1-4.242-4.242", key: "151rxh" }],
[
"path",
{
d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",
key: "13bj9a"
}
],
["path", { d: "m2 2 20 20", key: "1ooewy" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const tu = Dt("eye", [
[
"path",
{
d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
key: "1nclc0"
}
],
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const fv = Dt("file-archive", [
["path", { d: "M10 12v-1", key: "v7bkov" }],
["path", { d: "M10 18v-2", key: "1cjy8d" }],
["path", { d: "M10 7V6", key: "dljcrl" }],
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
[
"path",
{ d: "M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01", key: "gkbcor" }
],
["circle", { cx: "10", cy: "20", r: "2", key: "1xzdoj" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const pv = Dt("file-code", [
["path", { d: "M10 12.5 8 15l2 2.5", key: "1tg20x" }],
["path", { d: "m14 12.5 2 2.5-2 2.5", key: "yinavb" }],
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const vv = Dt("file-image", [
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }],
["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const hv = Dt("file-music", [
["path", { d: "M10.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v8.4", key: "1d3kfm" }],
["path", { d: "M8 18v-7.7L16 9v7", key: "1oie6o" }],
["circle", { cx: "14", cy: "16", r: "2", key: "1bzzi3" }],
["circle", { cx: "6", cy: "18", r: "2", key: "1fncim" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const mv = Dt("file-text", [
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
["path", { d: "M10 9H8", key: "b1mrlr" }],
["path", { d: "M16 13H8", key: "t4e002" }],
["path", { d: "M16 17H8", key: "z1uh3a" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const bv = Dt("file-video", [
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
["path", { d: "m10 11 5 3-5 3v-6Z", key: "7ntvm4" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const gv = Dt("file", [
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const yv = Dt("flip-horizontal", [
["path", { d: "M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3", key: "1i73f7" }],
["path", { d: "M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3", key: "saxlbk" }],
["path", { d: "M12 20v2", key: "1lh1kg" }],
["path", { d: "M12 14v2", key: "8jcxud" }],
["path", { d: "M12 8v2", key: "1woqiv" }],
["path", { d: "M12 2v2", key: "tus03m" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const kv = Dt("flip-vertical", [
["path", { d: "M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3", key: "14bfxa" }],
["path", { d: "M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3", key: "14rx03" }],
["path", { d: "M4 12H2", key: "rhcxmi" }],
["path", { d: "M10 12H8", key: "s88cx1" }],
["path", { d: "M16 12h-2", key: "10asgb" }],
["path", { d: "M22 12h-2", key: "14jgyd" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const wv = Dt("fullscreen", [
["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }],
["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }],
["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }],
["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }],
["rect", { width: "10", height: "8", x: "7", y: "8", rx: "1", key: "vys8me" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const xv = Dt("funnel", [
[
"path",
{
d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
key: "sc7q7i"
}
]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Sv = Dt("grip-vertical", [
["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }],
["circle", { cx: "9", cy: "5", r: "1", key: "hp0tcf" }],
["circle", { cx: "9", cy: "19", r: "1", key: "fkjjf6" }],
["circle", { cx: "15", cy: "12", r: "1", key: "1tmaij" }],
["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }],
["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Cv = Dt("image", [
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Tv = Dt("indent-decrease", [
["path", { d: "M21 12H11", key: "wd7e0v" }],
["path", { d: "M21 18H11", key: "4wu86t" }],
["path", { d: "M21 6H11", key: "6dy1d6" }],
["path", { d: "m7 8-4 4 4 4", key: "o5hrat" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const $v = Dt("indent-increase", [
["path", { d: "M21 12H11", key: "wd7e0v" }],
["path", { d: "M21 18H11", key: "4wu86t" }],
["path", { d: "M21 6H11", key: "6dy1d6" }],
["path", { d: "m3 8 4 4-4 4", key: "1a3j6y" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Ev = Dt("info", [
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
["path", { d: "M12 16v-4", key: "1dtifu" }],
["path", { d: "M12 8h.01", key: "e9boi3" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Av = Dt("loader-circle", [
["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Rv = Dt("log-out", [
["path", { d: "m16 17 5-5-5-5", key: "1bji2h" }],
["path", { d: "M21 12H9", key: "dn1m92" }],
["path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4", key: "1uf3rs" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Mv = Dt("maximize", [
["path", { d: "M8 3H5a2 2 0 0 0-2 2v3", key: "1dcmit" }],
["path", { d: "M21 8V5a2 2 0 0 0-2-2h-3", key: "1e4gt3" }],
["path", { d: "M3 16v3a2 2 0 0 0 2 2h3", key: "wsl5sc" }],
["path", { d: "M16 21h3a2 2 0 0 0 2-2v-3", key: "18trek" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Pv = Dt("message-circle-question", [
["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }],
["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
["path", { d: "M12 17h.01", key: "p32p05" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const zv = Dt("minimize", [
["path", { d: "M8 3v3a2 2 0 0 1-2 2H3", key: "hohbtr" }],
["path", { d: "M21 8h-3a2 2 0 0 1-2-2V3", key: "5jw1f3" }],
["path", { d: "M3 16h3a2 2 0 0 1 2 2v3", key: "198tvr" }],
["path", { d: "M16 21v-3a2 2 0 0 1 2-2h3", key: "ph8mxp" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Lv = Dt("minus", [["path", { d: "M5 12h14", key: "1ays0h" }]]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Fv = Dt("moon", [
["path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z", key: "a7tn18" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const nu = Dt("pause", [
["rect", { x: "14", y: "4", width: "4", height: "16", rx: "1", key: "zuxfzm" }],
["rect", { x: "6", y: "4", width: "4", height: "16", rx: "1", key: "1okwgv" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Iv = Dt("picture-in-picture", [
["path", { d: "M2 10h6V4", key: "zwrco" }],
["path", { d: "m2 4 6 6", key: "ug085t" }],
["path", { d: "M21 10V7a2 2 0 0 0-2-2h-7", key: "git5jr" }],
["path", { d: "M3 14v2a2 2 0 0 0 2 2h3", key: "1f7fh3" }],
["rect", { x: "12", y: "14", width: "10", height: "7", rx: "1", key: "1wjs3o" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const lu = Dt("play", [
["polygon", { points: "6 3 20 12 6 21 6 3", key: "1oa8hb" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Nv = Dt("plus", [
["path", { d: "M5 12h14", key: "1ays0h" }],
["path", { d: "M12 5v14", key: "s699le" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Dv = Dt("refresh-cw", [
["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
["path", { d: "M21 3v5h-5", key: "1q7to0" }],
["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
["path", { d: "M8 16H3v5", key: "1cv678" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Ov = Dt("repeat-2", [
["path", { d: "m2 9 3-3 3 3", key: "1ltn5i" }],
["path", { d: "M13 18H7a2 2 0 0 1-2-2V6", key: "1r6tfw" }],
["path", { d: "m22 15-3 3-3-3", key: "4rnwn2" }],
["path", { d: "M11 6h6a2 2 0 0 1 2 2v10", key: "2f72bc" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const _v = Dt("rotate-ccw", [
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
["path", { d: "M3 3v5h5", key: "1xhq8a" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Bv = Dt("rotate-cw", [
["path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8", key: "1p45f6" }],
["path", { d: "M21 3v5h-5", key: "1q7to0" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Hv = Dt("search", [
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Vv = Dt("siren", [
["path", { d: "M7 18v-6a5 5 0 1 1 10 0v6", key: "pcx96s" }],
[
"path",
{ d: "M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z", key: "1b4s83" }
],
["path", { d: "M21 12h1", key: "jtio3y" }],
["path", { d: "M18.5 4.5 18 5", key: "g5sp9y" }],
["path", { d: "M2 12h1", key: "1uaihz" }],
["path", { d: "M12 2v1", key: "11qlp1" }],
["path", { d: "m4.929 4.929.707.707", key: "1i51kw" }],
["path", { d: "M12 12v6", key: "3ahymv" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const jv = Dt("skip-back", [
["polygon", { points: "19 20 9 12 19 4 19 20", key: "o2sva" }],
["line", { x1: "5", x2: "5", y1: "19", y2: "5", key: "1ocqjk" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Wv = Dt("skip-forward", [
["polygon", { points: "5 4 15 12 5 20 5 4", key: "16p6eg" }],
["line", { x1: "19", x2: "19", y1: "5", y2: "19", key: "futhcm" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Kv = Dt("square-minus", [
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
["path", { d: "M8 12h8", key: "1wcyev" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Uv = Dt("square-plus", [
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
["path", { d: "M8 12h8", key: "1wcyev" }],
["path", { d: "M12 8v8", key: "napkw2" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Xv = Dt("sun", [
["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }],
["path", { d: "M12 2v2", key: "tus03m" }],
["path", { d: "M12 20v2", key: "1lh1kg" }],
["path", { d: "m4.93 4.93 1.41 1.41", key: "149t6j" }],
["path", { d: "m17.66 17.66 1.41 1.41", key: "ptbguv" }],
["path", { d: "M2 12h2", key: "1t8f8n" }],
["path", { d: "M20 12h2", key: "1q8mjw" }],
["path", { d: "m6.34 17.66-1.41 1.41", key: "1m8zz5" }],
["path", { d: "m19.07 4.93-1.41 1.41", key: "1shlcs" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Yv = Dt("trash-2", [
["path", { d: "M3 6h18", key: "d0wm0j" }],
["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }],
["line", { x1: "10", x2: "10", y1: "11", y2: "17", key: "1uufr5" }],
["line", { x1: "14", x2: "14", y1: "11", y2: "17", key: "xtxkd" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const qv = Dt("upload", [
["path", { d: "M12 3v12", key: "1x0j5s" }],
["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }],
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Gv = Dt("user-round", [
["circle", { cx: "12", cy: "8", r: "5", key: "1hypcn" }],
["path", { d: "M20 21a8 8 0 0 0-16 0", key: "rfgkzh" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Zv = Dt("volume-1", [
[
"path",
{
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
key: "uqj9uw"
}
],
["path", { d: "M16 9a5 5 0 0 1 0 6", key: "1q6k2b" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Jv = Dt("volume-2", [
[
"path",
{
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
key: "uqj9uw"
}
],
["path", { d: "M16 9a5 5 0 0 1 0 6", key: "1q6k2b" }],
["path", { d: "M19.364 18.364a9 9 0 0 0 0-12.728", key: "ijwkga" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Qv = Dt("volume-x", [
[
"path",
{
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
key: "uqj9uw"
}
],
["line", { x1: "22", x2: "16", y1: "9", y2: "15", key: "1ewh16" }],
["line", { x1: "16", x2: "22", y1: "9", y2: "15", key: "5ykzw1" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const eh = Dt("x", [
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const th = Dt("zoom-in", [
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
["line", { x1: "11", x2: "11", y1: "8", y2: "14", key: "1vmskp" }],
["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
]);
/**
* @license lucide-vue-next v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const nh = Dt("zoom-out", [
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
]), co = "__vxp-provided-icons", Wc = {
loading: [Av, { effect: "spin-in" }],
clear: eu,
close: eh,
calendar: Zp,
clock: iv,
exchange: Gp,
angleUp: nv,
angleRight: tv,
angleDown: Qp,
angleLeft: ev,
anglesRight: av,
anglesLeft: lv,
retweet: Ov,
refresh: Dv,
filter: xv,
ellipsis: cv,
upload: qv,
uploadCloud: uv,
check: Jp,
help: sv,
alert: Vv,
question: Pv,
info: Ev,
success: ov,
warning: rv,
error: eu,
delete: Yv,
preview: tu,
image: Cv,
plus: Nv,
minus: Lv,
plusSquare: Uv,
minusSquare: Kv,
cipherText: dv,
plainText: tu,
user: Gv,
light: Xv,
dark: Fv,
signOut: Rv,
indent: $v,
outdent: Tv,
search: Hv,
rotateRight: Bv,
rotateLeft: _v,
flipX: yv,
flipY: kv,
zoomIn: th,
zoonOut: nh,
fullScreen: Mv,
resetScreen: zv,
dragger: Sv,
file: gv,
fileText: mv,
fileCode: pv,
fileImage: vv,
fileAudio: hv,
fileVideo: bv,
fileZip: fv,
volume: Jv,
volumeLow: Zv,
volumeMute: Qv,
play: lu,
pause: nu,
fullWindow: wv,
pip: Iv,
playState: lu,
pauseState: nu,
playPrev: jv,
playNext: Wv
}, Kc = Object.freeze(Object.keys(Wc)), Ps = g(() => {
const t = {};
for (const r of Kc) {
const [l, a = {}] = ur(Wc[r]);
t[r] = { ...a, icon: l };
}
return t;
});
function oi(t, r) {
const l = r || !sr() ? Ps : Et(co, null), a = g(() => {
const n = {}, o = e(t);
for (const s of Kc) {
const c = o[s];
if (!c)
n[s] = (l == null ? void 0 : l.value[s]) || Ps.value[s];
else {
const [d, p = {}] = ur(c), m = typeof d == "function" ? d : Nr(d);
n[s] = { ...p, icon: m };
}
}
return n;
});
r ? r.provide(co, a) : nn(co, a);
}
function Gt() {
return Et(co, Ps);
}
const Oa = (t) => `--${t}`, us = (t) => `var(--${t})`, cs = (t, r) => `--${t}: ${r};`;
function lh(t, r) {
if (!r)
return {
b: () => `${t}`,
be: (a) => `${t}__${a}`,
bm: (a) => `${t}--${a}`,
bem: (a, n) => `${t}__${a}--${n}`,
bs: (a) => `${t}-${a}`,
cb: () => `.${t}`,
cbe: (a) => `.${t}__${a}`,
cbm: (a) => `.${t}--${a}`,
cbem: (a, n) => `.${t}__${a}--${n}`,
cbs: (a) => `.${t}-${a}`,
cv: (a) => Oa(`${t}-${a}`),
cvm: (a, n = {}) => {
for (const o of Object.keys(a))
n[Oa(`${t}-${o}`)] = a[o];
return n;
},
gcv: (a) => us(`${t}-${a}`),
scv: (a, n) => cs(`${t}-${a}`, n)
};
const l = (a) => typeof r == "function" ? r(a) : r;
return {
b: () => `${l()}-${t}`,
be: (a) => `${l()}-${t}__${a}`,
bm: (a) => `${l()}-${t}--${a}`,
bem: (a, n) => `${l()}-${t}__${a}--${n}`,
bs: (a) => `${l()}-${t}-${a}`,
ns: (a) => `${l()}-${a}`,
cb: () => `.${l()}-${t}`,
cbe: (a) => `.${l()}-${t}__${a}`,
cbm: (a) => `.${l()}-${t}--${a}`,
cbem: (a, n) => `.${l()}-${t}__${a}--${n}`,
cbs: (a) => `.${l()}-${t}-${a}`,
cns: (a) => `.${l()}-${a}`,
cv: (a) => Oa(`${l(!0)}-${t}-${a}`),
cvm: (a, n = {}) => {
const o = l(!0);
for (const s of Object.keys(a))
n[Oa(`${o}-${t}-${s}`)] = a[s];
return n;
},
gcv: (a) => us(`${l(!0)}-${t}-${a}`),
scv: (a, n) => cs(`${l(!0)}-${t}-${a}`, n),
nv: (a) => Oa(`${l(!0)}-${a}`),
nvm: (a, n = {}) => {
const o = l(!0);
for (const s of Object.keys(a))
n[Oa(`${o}-${s}`)] = a[s];
return n;
},
gnv: (a) => us(`${l(!0)}-${a}`),
snv: (a, n) => cs(`${l(!0)}-${a}`, n)
};
}
const fo = "__vxp-provided-namespace", zs = g(() => "vxp");
function ah(t, r) {
if (r) {
const l = g(() => e(t) || zs.value);
r.provide(fo, l);
} else {
const l = Et(fo, null), a = g(() => e(t) || (l == null ? void 0 : l.value) || zs.value);
nn(fo, a);
}
}
function Uc() {
return Et(fo, zs);
}
function Ye(t, r = Uc()) {
return lh(t, (l) => l ? "vxp" : e(r));
}
const rh = "__vxp-provided-id-counter";
class oh {
constructor({ current: r = 0 } = {}) {
Rt(this, "current");
this.current = r;
}
getNext() {
return this.current++;
}
}
const au = new oh();
function Zl(t) {
const r = Uc(), l = _l() ? Et(rh, au) : au, a = oa();
return In(
() => {
a.value = e(t) || `${r.value}-id-${l.getNext()}`;
},
{ flush: "sync" }
), cc(a);
}
const po = "__vxp-provided-props", sh = /^on[A-Z]/;
function si(t, r) {
if (r)
r.provide(
po,
g(() => e(t))
);
else {
const l = Et(po, null), a = g(() => l != null && l.value ? Ga(l.value, e(t)) : e(t));
nn(po, a);
}
}
function ct(t, r, l = {}) {
const a = Et(
po,
null
), n = g(() => {
var d;
return ((d = a == null ? void 0 : a.value) == null ? void 0 : d.default) ?? {};
}), o = g(() => {
var d;
return ((d = a == null ? void 0 : a.value) == null ? void 0 : d[t]) ?? {};
}), s = Object.keys(r), c = {};
return s.forEach((d) => {
const p = l[d], m = pl(p) && ei(p, "default") ? p : { default: p }, b = on(m.validator) ? m.validator : null, f = m.default, u = Tt(m.isFunc) ? sh.test(String(d)) : m.isFunc, h = (v) => !u && on(v) ? v() : v, i = () => !u && on(f) ? f() : f;
(m.required || b) && le(
() => r[d],
(v) => {
if (Tt(v)) {
m.required && console.warn(`${ru(t)}: '${d}' prop is required but not set`);
return;
} else if (!b)
return;
b(v) === !1 && console.warn(
`${ru(t)}: an invalid value is set to '${d}' prop`
);
},
{ immediate: !0 }
), m.static ? c[d] = g(() => r[d] ?? i()) : c[d] = g(() => Tt(r[d]) ? Tt(o.value[d]) ? Tt(n.value[d]) ? i() : h(n.value[d]) : h(o.value[d]) : r[d]);
}), pt(c);
}
function ru(t) {
return `[vexip-ui:${t.charAt(0).toLocaleUpperCase() + t.substring(1)}]`;
}
const M = {
type: Boolean,
default: null
}, hn = {
type: [Boolean, String],
default: null
}, La = {
type: [Boolean, Number],
default: null
};
function Jl(t) {
return Object.freeze(t);
}
function ft(t) {
return Object.freeze({ ...{
inherit: M
}, ...t });
}
function jo(t, r, l) {
const a = new Set(r);
return Object.freeze(
Object.assign(
Object.keys(t).reduce((n, o) => (a.has(o) || (n[o] = t[o]), n), {}),
{}
)
);
}
const An = String, ih = ["small", "default", "large"], uh = (t) => ih.includes(t);
function On(t = "default") {
return {
default: () => e(t),
validator: uh
};
}
const Zn = String, ch = ["default", "success", "error", "warning"], dh = (t) => ch.includes(t);
function ll(t = "default") {
return {
default: () => e(t),
validator: dh
};
}
const Bn = [String, Object, Array], kl = [String, Object, Array], fh = [Function, Array];
function B() {
return fh;
}
function _(t, ...r) {
if (Array.isArray(t))
for (let l = 0, a = t.length; l < a; ++l) {
const n = t[l];
typeof n == "function" && n(...r);
}
else
typeof t == "function" && t(...r);
}
function Mn(t) {
return Object;
}
const Eo = {
type: [String, Number, Boolean],
default: null
}, ph = {
type: [String, Number, Boolean, Array],
default: null
}, Xt = [Object, Function];
function en(t = null) {
return {
isFunc: !0,
default: t
};
}
const vo = "___vxp-provided-z-index";
let Xc = 2e3;
if (zt) {
const t = getComputedStyle(document.documentElement), r = parseFloat(t.getPropertyValue("--vxp-z-index-popup").trim());
Number.isNaN(r) || (Xc = r);
}
const vh = {
current: 0
}, wr = g(() => Xc);
function ds(t, r) {
return dn(t) && !Number.isNaN(t) ? t : r;
}
function ii(t, r) {
if (r) {
const l = g(() => {
const a = e(t);
return ds(a, wr.value);
});
r.provide(vo, l);
} else {
const l = Et(vo, null), a = g(() => {
const n = e(t);
return ds(
n,
l ? ds(l.value, wr.value) : wr.value
);
});
nn(vo, a);
}
}
function Or() {
const t = _l() ? Et(vo, wr) : wr;
return () => t.value + vh.current++;
}
const hh = ft({
icon: Xt,
scale: [Number, String],
title: String,
label: String,
flip: String,
effect: String,
size: String,
color: String,
rotate: [Number, String],
renderer: Function
}), mh = Object.freeze(["spin-in", "spin-out", "pulse-in", "pulse-out"]), bh = /(^\s*[+-]?\d*\.?\d+\s*)(deg|grad|turn|rad)?\s*/i, Oe = /* @__PURE__ */ Xe({
name: "Icon",
props: hh,
setup(t, {
attrs: r,
slots: l
}) {
const a = ct("icon", t, {
icon: {
isFunc: !0,
default: null,
static: !0
},
scale: 1,
title: null,
label: null,
flip: {
default: null,
validator: (m) => ["horizontal", "vertical", "both"].includes(m)
},
effect: null,
size: null,
color: null,
rotate: null,
renderer: {
default: null,
isFunc: !0
}
}), n = Ye("icon"), o = g(() => {
let m = "";
return a.effect && (m = mh.includes(a.effect) ? n.bm(a.effect) : a.effect), {
[n.b()]: !0,
[n.bm(`flip-${a.flip}`)]: a.flip,
[m]: m
};
}), s = g(() => rn(a.scale) || 1), c = g(() => {
var f;
if (typeof a.rotate == "number")
return `${a.rotate % 4 / 4}turn`;
const m = (f = a.rotate) == null ? void 0 : f.match(bh);
if (!m) return null;
const b = rn(m[1]);
return m[2] ? b ? `${b}${m[2]}` : null : `${b % 4 / 4}turn`;
}), d = g(() => {
const m = {
color: a.color
};
return a.size ? m.fontSize = a.size : s.value !== 1 && (m.fontSize = `${s.value}em`), c.value && (m[n.cv("rotate")] = c.value), m;
});
function p() {
const m = {
class: o.value,
style: d.value,
title: a.title,
role: r.role || (a.label || a.title ? "img" : void 0),
"aria-label": a.label,
"aria-hidden": !(a.label || a.title)
};
return l.default ? y("i", m, [y("g", null, [W(l, "default")])]) : a.icon ? y("i", m, [y("g", null, [Jn(a.icon)])]) : y("i", m, null);
}
return () => typeof a.renderer == "function" ? a.renderer(a, r, p) : p();
}
}), gh = Jl({
renderer: {
type: Function,
default: null
},
data: {
type: Object,
default: void 0
}
}), me = Xe({
name: "Renderer",
props: gh,
setup(t, { slots: r }) {
return () => typeof t.renderer != "function" ? W(r, "default", t.data) : t.renderer(t.data);
}
}), yh = ft({
active: M,
icon: Xt,
inner: M,
delay: {
type: [Boolean, Number, Array],
default: null
},
tip: String,
hideMask: M,
maskColor: String,
maskClass: Bn,
transitionName: String,
iconEffect: String,
slots: Object,
onMaskClick: B(),
onShow: B(),
onHide: B()
}), kh = ["aria-busy"], ui = /* @__PURE__ */ Xe({
name: "Spin",
__name: "spin",
props: yh,
setup(t, { expose: r }) {
const l = Ye("spin"), n = ct("spin", t, {
active: {
default: !1,
static: !0
},
icon: en(),
inner: !1,
delay: !1,
tip: "",
hideMask: !1,
maskColor: "",
maskClass: null,
transitionName: () => l.ns("fade"),
iconEffect: null,
slots: () => ({})
}), o = kn(), s = Gt(), c = $(n.active), d = g(() => !!(n.tip || o.tip)), p = g(() => {
const i = {};
return n.maskColor && (i[l.cv("mask-bg-color")] = n.maskColor), i;
}), m = g(() => {
if (n.delay) {
if (n.delay === !0)
return { enter: 500, leave: 500 };
if (typeof n.delay == "number")
return { enter: n.delay, leave: n.delay };
if (Array.isArray(n.delay))
return { enter: rn(n.delay[0]), leave: rn(n.delay[1]) };
}
return { enter: 0, leave: 0 };
});
let b;
le(
() => n.active,
(i) => {
clearTimeout(b);
const v = i ? m.value.enter : m.value.leave;
v ? b = setTimeout(() => {
c.value = i;
}, v) : c.value = i;
}
), r({
currentActive: c,
hasTip: d,
handleShow: u,
handleHide: h
});
function f(i) {
_(n.onMaskClick, i);
}
function u() {
_(n.onShow);
}
function h() {
_(n.onHide);
}
return (i, v) => e(n).inner ? (S(), Be(En, {
key: 1,
appear: "",
name: e(n).transitionName,
onAfterEnter: u,
onAfterLeave: h
}, {
default: X(() => [
c.value ? (S(), D("div", {
key: 0,
class: x([e(l).b(), e(l).bs("vars"), e(l).bm("inner")])
}, [
e(n).hideMask ? ge("", !0) : (S(), D("div", {
key: 0,
class: x([e(l).be("mask"), e(n).maskClass]),
style: Qe(p.value),
onClick: f
}, null, 6)),
W(i.$slots, "content", {}, () => [
y(e(me), {
renderer: e(n).slots.content
}, {
default: X(() => [
oe("div", {
class: x(e(l).be("icon"))
}, [
W(i.$slots, "icon", {}, () => [
y(e(me), {
renderer: e(n).slots.icon
}, {
default: X(() => [
y(e(Oe), He(e(s).loading, {
icon: e(n).icon || e(s).loading.icon,
effect: e(n).iconEffect || e(s).loading.effect,
label: "loading"
}), null, 16, ["icon", "effect"])
]),
_: 1
}, 8, ["renderer"])
])
], 2),
d.value ? (S(), D("div", {
key: 0,
class: x(e(l).be("tip"))
}, [
W(i.$slots, "tip", {}, () => [
y(e(me), {
renderer: e(n).slots.tip
}, {
default: X(() => [
dt(ze(e(n).tip), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["renderer"])
])
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["name"])) : (S(), D("div", {
key: 0,
class: x([e(l).b(), e(l).bs("vars"), e(n).inherit && e(l).bm("inherit")]),
"aria-busy": c.value ? "true" : void 0
}, [
W(i.$slots, "default", {}, () => [
y(e(me), {
renderer: e(n).slots.default
}, null, 8, ["renderer"])
]),
y(En, {
appear: "",
name: e(n).transitionName,
onAfterEnter: u,
onAfterLeave: h
}, {
default: X(() => [
c.value ? (S(), D("div", {
key: 0,
class: x(e(l).be("loading"))
}, [
e(n).hideMask ? ge("", !0) : (S(), D("div", {
key: 0,
class: x([e(l).be("mask"), e(n).maskClass]),
style: Qe(p.value),
onClick: f
}, null, 6)),
W(i.$slots, "content", {}, () => [
y(e(me), {
renderer: e(n).slots.content
}, {
default: X(() => [
oe("div", {
class: x(e(l).be("icon"))
}, [
W(i.$slots, "icon", {}, () => [
y(e(me), {
renderer: e(n).slots.icon
}, {
default: X(() => [
y(e(Oe), He(e(s).loading, {
icon: e(n).icon || e(s).loading.icon,
effect: e(n).iconEffect || e(s).loading.effect,
label: "loading"
}), null, 16, ["icon", "effect"])
]),
_: 1
}, 8, ["renderer"])
])
], 2),
d.value ? (S(), D("div", {
key: 0,
class: x(e(l).be("tip"))
}, [
W(i.$slots, "tip", {}, () => [
y(e(me), {
renderer: e(n).slots.tip
}, {
default: X(() => [
dt(ze(e(n).tip), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["renderer"])
])
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["name"])
], 10, kh));
}
});
function ou(t, r, l) {
var s;
const a = pl(r.value) ? { ...r.value } : { active: r.value };
a.inner = !0;
const n = y(ui, a, null, 0, Object.keys(a)), o = getComputedStyle(t).position;
n.appContext = l.appContext ?? ((s = l.ctx) == null ? void 0 : s.appContext), t.__loading = {
spin: n,
props: a,
originPosition: o
}, o === "static" && (t.style.position = "relative"), sl(n, t);
}
const wh = {
mounted(t, r, l) {
kt(() => ou(t, r, l));
},
updated(t, r, l) {
kt(() => {
if (!t.__loading) {
ou(t, r, l);
return;
}
const a = pl(r.value) ? r.value : { active: r.value }, n = t.__loading.spin.component;
n && (Object.keys(a).forEach((o) => {
n.props[o] = a[o];
}), n.props.inner = !0);
});
},
beforeUnmount(t) {
t.__loading && (sl(null, t), delete t.__loading);
}
};
function Dn(t, r, l, a) {
if (!t)
return Qt;
const n = g(() => typeof a == "boolean" ? { capture: a } : a || {});
let o = Qt;
const s = le(
() => e(t),
(d) => {
if (o(), !d)
return;
const { disabled: p, ...m } = n.value, b = (f) => {
e(p) || l(f);
};
d.addEventListener(r, b, m), o = () => {
d.removeEventListener(r, b, m), o = Qt;
};
},
{ immediate: !0, flush: "post" }
), c = () => {
s(), o();
};
return sr() && ca(c), c;
}
const Yc = "clickoutside", Ls = /* @__PURE__ */ new Set();
zt && document.addEventListener(
xp,
(t) => {
const r = t.target, l = t.composedPath && t.composedPath();
Ls.forEach((a) => {
a !== r && (l ? !l.includes(a) : !a.contains(r)) && (!a.__transferElement || a.__transferElement !== r && !a.__transferElement.contains(r)) && Cp(a, { type: Yc });
});
},
!0
);
function Hl(t, r = $(null)) {
let l = Qt;
const a = le(
() => e(r),
(o) => {
l(), o && (Ls.add(o), l = () => {
Ls.delete(o), l = Qt;
});
},
{ immediate: !0, flush: "post" }
), n = () => {
a(), l();
};
return sr() && ca(n), Dn(r, Yc, t), r;
}
function Wo(t = Qt, r = $(null)) {
let l;
return sn(() => {
kt(() => {
const a = qc(r.value);
a ? (l = new MutationObserver(() => {
a.style.display !== "none" && (typeof t == "function" && t(), l == null || l.disconnect(), l = null);
}), l.observe(a, {
attributes: !0,
childList: !0,
characterData: !0,
attributeFilter: ["style"]
})) : typeof t == "function" && t();
});
}), pn(() => {
l == null || l.disconnect(), l = null;
}), r;
}
function qc(t) {
if (t) {
let r = t.parentElement;
for (; r && r !== document.body; ) {
if (r.style.display === "none")
return r;
r = r.parentElement;
}
}
return null;
}
function Fs(t) {
return (t == null ? void 0 : t.style.display) !== "none" ? !!qc(t) : !0;
}
function Yn(t, r, l) {
for (const a of r)
if (t[a])
return (n) => W(t, a, n, () => {
const o = l == null ? void 0 : l(n);
return o ? ur(o) : [];
});
return l || null;
}
function Gc(t) {
const r = [], l = Array.isArray(t) ? [...t] : [];
for (; l.length; ) {
const a = l.shift();
a !== null && (Array.isArray(a) && l.unshift(...a), !(typeof a != "string" && typeof a != "number" && (!hl(a) || a.type === Af)) && (typeof a == "string" || typeof a == "number" ? r.push(dt(String(a))) : a.type === st && Array.isArray(a.children) ? l.unshift(a.children) : r.push(a)));
}
return r;
}
function El(t) {
const r = e(t);
return typeof r == "string" ? zt ? document.querySelector(r) : null : (r == null ? void 0 : r.$el) ?? r;
}
function Fa(t) {
return new Proxy({}, {
get(r, l) {
var a, n, o;
if (t.component)
return ((a = t.component.proxy) == null ? void 0 : a[l]) ?? ((n = t.component.exposeProxy) == null ? void 0 : n[l]) ?? ((o = t.component.exposed) == null ? void 0 : o[l]);
}
});
}
const xh = [
[
"requestFullscreen",
"exitFullscreen",
"fullscreenElement",
"fullscreenEnabled",
"fullscreenchange",
"fullscreenerror"
],
// New WebKit
[
"webkitRequestFullscreen",
"webkitExitFullscreen",
"webkitFullscreenElement",
"webkitFullscreenEnabled",
"webkitfullscreenchange",
"webkitfullscreenerror"
],
// Old WebKit
[
"webkitRequestFullScreen",
"webkitCancelFullScreen",
"webkitCurrentFullScreenElement",
"webkitCancelFullScreen",
"webkitfullscreenchange",
"webkitfullscreenerror"
],
[
"mozRequestFullScreen",
"mozCancelFullScreen",
"mozFullScreenElement",
"mozFullScreenEnabled",
"mozfullscreenchange",
"mozfullscreenerror"
],
[
"msRequestFullscreen",
"msExitFullscreen",
"msFullscreenElement",
"msFullscreenEnabled",
"MSFullscreenChange",
"MSFullscreenError"
]
];
let Za;
if (zt) {
for (const t of xh)
if (t[1] in document) {
Za = t;
break;
}
}
const Is = !!Za, Sh = {
supported: Is,
full: g(() => !1),
enter: Qt,
exit: Qt,
toggle: Qt
}, Zc = /* @__PURE__ */ new Set(), Ns = /* @__PURE__ */ new WeakMap();
if (zt && Za) {
const t = Za[2], r = Za[4];
document.addEventListener(
r,
() => {
if (Zc.forEach((l) => {
l.value = !1;
}), document[t]) {
const l = Ns.get(document[t]);
l && (l.value = !0);
}
},
!1
);
}
function Jc(t = $(null)) {
const r = g({
get: () => El(t),
set: (p) => {
Xa(t) && (t.value = p);
}
});
if (!zt || !Is)
return { ...Sh, target: r };
const [l, a, n] = Za, o = $(!1);
le(
() => El(t),
(p, m) => {
m && Ns.delete(m), p && Ns.set(p, o);
},
{ immediate: !0, flush: "post" }
), Zc.add(o), sr() && ca(c);
async function s(p = !1) {
await c();
const m = El(t);
return m && (p || !document[n]) ? (await m[l](), o.value = !0, document[n] === m) : !1;
}
async function c(p = !1) {
const m = El(t);
return p || document[n] && document[n] === m ? (await document[a](), o.value = !1, document[n] !== m) : !1;
}
async function d(p = !1) {
return o.value ? await c(p) : await s(p);
}
return {
supported: Is,
target: r,
full: g(() => o.value),
enter: s,
exit: c,
toggle: d
};
}
function Ql(t = $(null)) {
const r = $(!1);
Dn(t, "mouseenter", l), Dn(t, "mouseleave", a);
function l() {
r.value = !0;
}
function a() {
r.value = !1;
}
return { wrapper: t, isHover: r };
}
const Gr = /* @__PURE__ */ new WeakMap(), Ch = /\s+/g, Th = /(px|%)$/;
function $h(t) {
const r = t.target || $(null);
if (!zt)
return { target: r, disconnect: Qt };
const { handler: l } = t;
let a = t.root ?? document;
const n = ur(t.threshold || 0).join() || "0", o = u(t.rootMargin);
Gr.has(a) || Gr.set(a, /* @__PURE__ */ new Map());
const s = Gr.get(a);
s.has(n) || s.set(n, /* @__PURE__ */ new Map());
const c = s.get(n);
c.has(o) || c.set(o, {
ob: new IntersectionObserver(h, { ...t, rootMargin: o }),
count: 0,
handlers: /* @__PURE__ */ new WeakMap()
});
let d = c.get(o), { ob: p, handlers: m } = d, b = Qt;
const f = le(
() => e(r),
(v) => {
b(), !(!v || !p) && (m.set(v, l), p.observe(v), d && d.count++, b = () => {
p.unobserve(v), m.delete(v), d && d.count--, b = Qt;
});
},
{ immediate: !0, flush: "post" }
);
sr() && ca(i);
function u(v) {
if (!v || !v.trim()) return "_";
const k = v.trim().split(Ch, 4);
k.length = 4;
for (let w = 0; w < 4; ++w) {
const T = k[w];
k[w] = Th.test(T) ? T : `${rn(T)}px`;
}
return k.join(" ");
}
function h(v) {
for (let k = 0, w = v.length; k < w; ++k) {
const T = v[k], F = m.get(T.target);
typeof F == "function" && F(T);
}
}
function i() {
f(), b(), d && (d.count <= 0 && (c.delete(o), c.size || (s.delete(n), s.size || Gr.delete(a))), d = void 0, p = void 0, m = void 0, a = void 0);
}
return { target: r, disconnect: i };
}
function ci() {
const t = /* @__PURE__ */ new Set();
function r(a) {
return Rf((n, o) => {
let s = a;
const c = () => {
a !== s && (s = a, o());
};
return {
get: () => (n(), a),
set: (d) => {
d !== a && (a = d, t.add(c));
}
};
});
}
function l() {
for (const a of t)
a();
t.clear();
}
return { updateSet: t, manualRef: r, triggerUpdate: l };
}
const Eh = {
ctrl: "control",
command: "meta",
cmd: "meta",
option: "alt",
up: "arrowup",
down: "arrowdown",
left: "arrowleft",
right: "arrowright"
}, Ah = /[+_-]/, Rh = /[+_-]/g, Mh = ["activeKeys", "resetAll"];
function cl(t = {}) {
const {
autoReset: r = !0,
capture: l = !1,
passive: a = !0,
strictTarget: n = !1,
onKeyDown: o = Qt,
onKeyUp: s = Qt
} = t, c = t.target || $(null), d = Xa(t.disabled) ? t.disabled : $(t.disabled || !1), p = { ...Eh, ...t.aliasMap || {} }, m = pt(/* @__PURE__ */ new Set()), b = /* @__PURE__ */ new Set(), f = pt({ activeKeys: m, resetAll: i });
function u(k, w) {
k in f && (f[k] = w);
}
function h(k, w) {
var z, C;
const T = (z = k.key) == null ? void 0 : z.toLocaleLowerCase(), A = [(C = k.code) == null ? void 0 : C.toLocaleLowerCase(), T].filter(Boolean);
for (const E of A)
m[w ? "add" : "delete"](E), u(E, w);
if (!w && T === "meta") {
for (const E of b)
m.delete(E), u(E, !1);
b.clear();
} else if (w && typeof k.getModifierState == "function" && k.getModifierState("Meta"))
for (const E of [...m, ...A])
b.add(E);
}
function i() {
Object.keys(f).forEach((k) => {
f[k] = !1;
}), f.activeKeys = m, f.resetAll = i;
}
const v = new Proxy(f, {
get(k, w, T) {
if (typeof w != "string" || Mh.includes(w))
return Reflect.get(k, w, T);
if (w = w.toLocaleLowerCase(), w in p && (w = p[w]), !(w in f))
if (Ah.test(w)) {
const F = w.split(Rh).map((A) => A.trim());
f[w] = g(() => F.every((A) => e(v[A])));
} else
f[w] = $(m.has(w));
return e(Reflect.get(k, w, T));
}
});
return Dn(
c,
"keydown",
(k) => {
n && k.target !== e(c) || (h(k, !0), o(k, v));
},
{ capture: l, passive: a, disabled: d }
), Dn(
c,
"keyup",
(k) => {
n && k.target !== e(c) || (h(k, !1), s(k, v));
},
{ capture: l, passive: a, disabled: d }
), r && Dn(c, "blur", i, { capture: l, passive: a, disabled: d }), { target: c, modifier: v };
}
function _r(t) {
const r = $(!1), l = () => r.value = !0;
return sn(() => {
t === "tick" ? kt(l) : t === "frame" ? requestAnimationFrame(l) : l();
}), pn(() => {
r.value = !1;
}), { isMounted: cc(r) };
}
function fs(t) {
t.cancelable && (t.stopPropagation(), t.preventDefault());
}
function Pl(t) {
const r = t.target || $(null), l = Xa(t.x) ? t.x : $(0), a = Xa(t.y) ? t.y : $(0), n = Xa(t.lazy) ? t.lazy : $(t.lazy || !1), o = Xa(t.disabled) ? t.disabled : $(t.disabled || !1), { capture: s = !0, stopMouse: c = !0, stopTouch: d = !0 } = t, p = $(!1), m = {
xStart: 0,
yStart: 0,
xEnd: 0,
yEnd: 0,
clientX: 0,
clientY: 0,
deltaX: 0,
deltaY: 0,
lazy: !1
};
let b = 0, f = 0;
const u = Cl((w) => {
var T;
f < b || (k(w), m.lazy || (l.value = m.xEnd, a.value = m.yEnd), (T = t.onMove) == null || T.call(t, m, w));
});
function h(w) {
var T;
o.value || (Object.assign(m, {
xStart: l.value,
yStart: a.value,
xEnd: l.value,
yEnd: a.value,
clientX: w.clientX,
clientY: w.clientY,
lazy: n.value
}), ((T = t.onStart) == null ? void 0 : T.call(t, m, w)) !== !1 && (document.addEventListener("pointermove", i, { capture: s }), document.addEventListener("pointerup", v, { capture: s }), f = b, p.value = !0));
}
function i(w) {
o.value || (fs(w), u(w));
}
function v(w) {
var T;
document.removeEventListener("pointermove", i, { capture: s }), document.removeEventListener("pointerup", v, { capture: s }), !o.value && (k(w), m.lazy && (l.value = m.xEnd, a.value = m.yEnd), p.value = !1, ++b, (T = t.onEnd) == null || T.call(t, m, w));
}
function k(w) {
const { clientX: T, clientY: F } = w, { xStart: A, yStart: z, clientX: C, clientY: E } = m, P = T - C, R = F - E;
m.deltaX = P, m.deltaY = R, m.xEnd = A + P, m.yEnd = z + R;
}
return Dn(r, "pointerdown", h, { capture: s }), c && Dn(r, "mousedown", fs, { capture: s }), d && Dn(r, "touchstart", fs, { capture: s }), {
target: r,
moving: g(() => p.value),
x: l,
y: a,
lazy: n,
disabled: o
};
}
const Qc = /* @__PURE__ */ new Map();
Qc.set("x", 0);
Qc.set("y", 0);
const Ph = ["top", "right", "bottom", "left"], lr = Math.min, Sa = Math.max, Ao = Math.round, Zr = Math.floor, Ol = (t) => ({
x: t,
y: t
}), zh = {
left: "right",
right: "left",
bottom: "top",
top: "bottom"
}, Lh = {
start: "end",
end: "start"
};
function Ds(t, r, l) {
return Sa(t, lr(r, l));
}
function cr(t, r) {
return typeof t == "function" ? t(r) : t;
}
function Aa(t) {
return t.split("-")[0];
}
function Br(t) {
return t.split("-")[1];
}
function ed(t) {
return t === "x" ? "y" : "x";
}
function di(t) {
return t === "y" ? "height" : "width";
}
function Ca(t) {
return ["top", "bottom"].includes(Aa(t)) ? "y" : "x";
}
function fi(t) {
return ed(Ca(t));
}
function Fh(t, r, l) {
l === void 0 && (l = !1);
const a = Br(t), n = fi(t), o = di(n);
let s = n === "x" ? a === (l ? "end" : "start") ? "right" : "left" : a === "start" ? "bottom" : "top";
return r.reference[o] > r.floating[o] && (s = Ro(s)), [s, Ro(s)];
}
function Ih(t) {
const r = Ro(t);
return [Os(t), r, Os(r)];
}
function Os(t) {
return t.replace(/start|end/g, (r) => Lh[r]);
}
function Nh(t, r, l) {
const a = ["left", "right"], n = ["right", "left"], o = ["top", "bottom"], s = ["bottom", "top"];
switch (t) {
case "top":
case "bottom":
return l ? r ? n : a : r ? a : n;
case "left":
case "right":
return r ? o : s;
default:
return [];
}
}
function Dh(t, r, l, a) {
const n = Br(t);
let o = Nh(Aa(t), l === "start", a);
return n && (o = o.map((s) => s + "-" + n), r && (o = o.concat(o.map(Os)))), o;
}
function Ro(t) {
return t.replace(/left|right|bottom|top/g, (r) => zh[r]);
}
function Oh(t) {
return {
top: 0,
right: 0,
bottom: 0,
left: 0,
...t
};
}
function td(t) {
return typeof t != "number" ? Oh(t) : {
top: t,
right: t,
bottom: t,
left: t
};
}
function Mo(t) {
const {
x: r,
y: l,
width: a,
height: n
} = t;
return {
width: a,
height: n,
top: l,
left: r,
right: r + a,
bottom: l + n,
x: r,
y: l
};
}
function su(t, r, l) {
let {
reference: a,
floating: n
} = t;
const o = Ca(r), s = fi(r), c = di(s), d = Aa(r), p = o === "y", m = a.x + a.width / 2 - n.width / 2, b = a.y + a.height / 2 - n.height / 2, f = a[c] / 2 - n[c] / 2;
let u;
switch (d) {
case "top":
u = {
x: m,
y: a.y - n.height
};
break;
case "bottom":
u = {
x: m,
y: a.y + a.height
};
break;
case "right":
u = {
x: a.x + a.width,
y: b
};
break;
case "left":
u = {
x: a.x - n.width,
y: b
};
break;
default:
u = {
x: a.x,
y: a.y
};
}
switch (Br(r)) {
case "start":
u[s] -= f * (l && p ? -1 : 1);
break;
case "end":
u[s] += f * (l && p ? -1 : 1);
break;
}
return u;
}
const _h = async (t, r, l) => {
const {
placement: a = "bottom",
strategy: n = "absolute",
middleware: o = [],
platform: s
} = l, c = o.filter(Boolean), d = await (s.isRTL == null ? void 0 : s.isRTL(r));
let p = await s.getElementRects({
reference: t,
floating: r,
strategy: n
}), {
x: m,
y: b
} = su(p, a, d), f = a, u = {}, h = 0;
for (let i = 0; i < c.length; i++) {
const {
name: v,
fn: k
} = c[i], {
x: w,
y: T,
data: F,
reset: A
} = await k({
x: m,
y: b,
initialPlacement: a,
placement: f,
strategy: n,
middlewareData: u,
rects: p,
platform: s,
elements: {
reference: t,
floating: r
}
});
m = w ?? m, b = T ?? b, u = {
...u,
[v]: {
...u[v],
...F
}
}, A && h <= 50 && (h++, typeof A == "object" && (A.placement && (f = A.placement), A.rects && (p = A.rects === !0 ? await s.getElementRects({
reference: t,
floating: r,
strategy: n
}) : A.rects), {
x: m,
y: b
} = su(p, f, d)), i = -1);
}
return {
x: m,
y: b,
placement: f,
strategy: n,
middlewareData: u
};
};
async function Po(t, r) {
var l;
r === void 0 && (r = {});
const {
x: a,
y: n,
platform: o,
rects: s,
elements: c,
strategy: d
} = t, {
boundary: p = "clippingAncestors",
rootBoundary: m = "viewport",
elementContext: b = "floating",
altBoundary: f = !1,
padding: u = 0
} = cr(r, t), h = td(u), v = c[f ? b === "floating" ? "reference" : "floating" : b], k = Mo(await o.getClippingRect({
element: (l = await (o.isElement == null ? void 0 : o.isElement(v))) == null || l ? v : v.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(c.floating)),
boundary: p,
rootBoundary: m,
strategy: d
})), w = b === "floating" ? {
x: a,
y: n,
width: s.floating.width,
height: s.floating.height
} : s.reference, T = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(c.floating)), F = await (o.isElement == null ? void 0 : o.isElement(T)) ? await (o.getScale == null ? void 0 : o.getScale(T)) || {
x: 1,
y: 1
} : {
x: 1,
y: 1
}, A = Mo(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({
elements: c,
rect: w,
offsetParent: T,
strategy: d
}) : w);
return {
top: (k.top - A.top + h.top) / F.y,
bottom: (A.bottom - k.bottom + h.bottom) / F.y,
left: (k.left - A.left + h.left) / F.x,
right: (A.right - k.right + h.right) / F.x
};
}
const Bh = (t) => ({
name: "arrow",
options: t,
async fn(r) {
const {
x: l,
y: a,
placement: n,
rects: o,
platform: s,
elements: c,
middlewareData: d
} = r, {
element: p,
padding: m = 0
} = cr(t, r) || {};
if (p == null)
return {};
const b = td(m), f = {
x: l,
y: a
}, u = fi(n), h = di(u), i = await s.getDimensions(p), v = u === "y", k = v ? "top" : "left", w = v ? "bottom" : "right", T = v ? "clientHeight" : "clientWidth", F = o.reference[h] + o.reference[u] - f[u] - o.floating[h], A = f[u] - o.reference[u], z = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(p));
let C = z ? z[T] : 0;
(!C || !await (s.isElement == null ? void 0 : s.isElement(z))) && (C = c.floating[T] || o.floating[h]);
const E = F / 2 - A / 2, P = C / 2 - i[h] / 2 - 1, R = lr(b[k], P), L = lr(b[w], P), I = R, G = C - i[h] - L, ee = C / 2 - i[h] / 2 + E, O = Ds(I, ee, G), H = !d.arrow && Br(n) != null && ee !== O && o.reference[h] / 2 - (ee < I ? R : L) - i[h] / 2 < 0, U = H ? ee < I ? ee - I : ee - G : 0;
return {
[u]: f[u] + U,
data: {
[u]: O,
centerOffset: ee - O - U,
...H && {
alignmentOffset: U
}
},
reset: H
};
}
}), Hh = function(t) {
return t === void 0 && (t = {}), {
name: "flip",
options: t,
async fn(r) {
var l, a;
const {
placement: n,
middlewareData: o,
rects: s,
initialPlacement: c,
platform: d,
elements: p
} = r, {
mainAxis: m = !0,
crossAxis: b = !0,
fallbackPlacements: f,
fallbackStrategy: u = "bestFit",
fallbackAxisSideDirection: h = "none",
flipAlignment: i = !0,
...v
} = cr(t, r);
if ((l = o.arrow) != null && l.alignmentOffset)
return {};
const k = Aa(n), w = Ca(c), T = Aa(c) === c, F = await (d.isRTL == null ? void 0 : d.isRTL(p.floating)), A = f || (T || !i ? [Ro(c)] : Ih(c)), z = h !== "none";
!f && z && A.push(...Dh(c, i, h, F));
const C = [c, ...A], E = await Po(r, v), P = [];
let R = ((a = o.flip) == null ? void 0 : a.overflows) || [];
if (m && P.push(E[k]), b) {
const O = Fh(n, s, F);
P.push(E[O[0]], E[O[1]]);
}
if (R = [...R, {
placement: n,
overflows: P
}], !P.every((O) => O <= 0)) {
var L, I;
const O = (((L = o.flip) == null ? void 0 : L.index) || 0) + 1, H = C[O];
if (H) {
var G;
const q = b === "alignment" ? w !== Ca(H) : !1, Z = ((G = R[0]) == null ? void 0 : G.overflows[0]) > 0;
if (!q || Z)
return {
data: {
index: O,
overflows: R
},
reset: {
placement: H
}
};
}
let U = (I = R.filter((q) => q.overflows[0] <= 0).sort((q, Z) => q.overflows[1] - Z.overflows[1])[0]) == null ? void 0 : I.placement;
if (!U)
switch (u) {
case "bestFit": {
var ee;
const q = (ee = R.filter((Z) => {
if (z) {
const K = Ca(Z.placement);
return K === w || // Create a bias to the `y` side axis due to horizontal
// reading directions favoring greater width.
K === "y";
}
return !0;
}).map((Z) => [Z.placement, Z.overflows.filter((K) => K > 0).reduce((K, we) => K + we, 0)]).sort((Z, K) => Z[1] - K[1])[0]) == null ? void 0 : ee[0];
q && (U = q);
break;
}
case "initialPlacement":
U = c;
break;
}
if (n !== U)
return {
reset: {
placement: U
}
};
}
return {};
}
};
};
function iu(t, r) {
return {
top: t.top - r.height,
right: t.right - r.width,
bottom: t.bottom - r.height,
left: t.left - r.width
};
}
function uu(t) {
return Ph.some((r) => t[r] >= 0);
}
const Vh = function(t) {
return t === void 0 && (t = {}), {
name: "hide",
options: t,
async fn(r) {
const {
rects: l
} = r, {
strategy: a = "referenceHidden",
...n
} = cr(t, r);
switch (a) {
case "referenceHidden": {
const o = await Po(r, {
...n,
elementContext: "reference"
}), s = iu(o, l.reference);
return {
data: {
referenceHiddenOffsets: s,
referenceHidden: uu(s)
}
};
}
case "escaped": {
const o = await Po(r, {
...n,
altBoundary: !0
}), s = iu(o, l.floating);
return {
data: {
escapedOffsets: s,
escaped: uu(s)
}
};
}
default:
return {};
}
}
};
};
async function jh(t, r) {
const {
placement: l,
platform: a,
elements: n
} = t, o = await (a.isRTL == null ? void 0 : a.isRTL(n.floating)), s = Aa(l), c = Br(l), d = Ca(l) === "y", p = ["left", "top"].includes(s) ? -1 : 1, m = o && d ? -1 : 1, b = cr(r, t);
let {
mainAxis: f,
crossAxis: u,
alignmentAxis: h
} = typeof b == "number" ? {
mainAxis: b,
crossAxis: 0,
alignmentAxis: null
} : {
mainAxis: b.mainAxis || 0,
crossAxis: b.crossAxis || 0,
alignmentAxis: b.alignmentAxis
};
return c && typeof h == "number" && (u = c === "end" ? h * -1 : h), d ? {
x: u * m,
y: f * p
} : {
x: f * p,
y: u * m
};
}
const Wh = function(t) {
return t === void 0 && (t = 0), {
name: "offset",
options: t,
async fn(r) {
var l, a;
const {
x: n,
y: o,
placement: s,
middlewareData: c
} = r, d = await jh(r, t);
return s === ((l = c.offset) == null ? void 0 : l.placement) && (a = c.arrow) != null && a.alignmentOffset ? {} : {
x: n + d.x,
y: o + d.y,
data: {
...d,
placement: s
}
};
}
};
}, Kh = function(t) {
return t === void 0 && (t = {}), {
name: "shift",
options: t,
async fn(r) {
const {
x: l,
y: a,
placement: n
} = r, {
mainAxis: o = !0,
crossAxis: s = !1,
limiter: c = {
fn: (v) => {
let {
x: k,
y: w
} = v;
return {
x: k,
y: w
};
}
},
...d
} = cr(t, r), p = {
x: l,
y: a
}, m = await Po(r, d), b = Ca(Aa(n)), f = ed(b);
let u = p[f], h = p[b];
if (o) {
const v = f === "y" ? "top" : "left", k = f === "y" ? "bottom" : "right", w = u + m[v], T = u - m[k];
u = Ds(w, u, T);
}
if (s) {
const v = b === "y" ? "top" : "left", k = b === "y" ? "bottom" : "right", w = h + m[v], T = h - m[k];
h = Ds(w, h, T);
}
const i = c.fn({
...r,
[f]: u,
[b]: h
});
return {
...i,
data: {
x: i.x - l,
y: i.y - a,
enabled: {
[f]: o,
[b]: s
}
}
};
}
};
};
function Ko() {
return typeof window < "u";
}
function dr(t) {
return nd(t) ? (t.nodeName || "").toLowerCase() : "#document";
}
function bl(t) {
var r;
return (t == null || (r = t.ownerDocument) == null ? void 0 : r.defaultView) || window;
}
function jl(t) {
var r;
return (r = (nd(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : r.documentElement;
}
function nd(t) {
return Ko() ? t instanceof Node || t instanceof bl(t).Node : !1;
}
function zl(t) {
return Ko() ? t instanceof Element || t instanceof bl(t).Element : !1;
}
function Vl(t) {
return Ko() ? t instanceof HTMLElement || t instanceof bl(t).HTMLElement : !1;
}
function cu(t) {
return !Ko() || typeof ShadowRoot > "u" ? !1 : t instanceof ShadowRoot || t instanceof bl(t).ShadowRoot;
}
function Hr(t) {
const {
overflow: r,
overflowX: l,
overflowY: a,
display: n
} = Ll(t);
return /auto|scroll|overlay|hidden|clip/.test(r + a + l) && !["inline", "contents"].includes(n);
}
function Uh(t) {
return ["table", "td", "th"].includes(dr(t));
}
function Uo(t) {
return [":popover-open", ":modal"].some((r) => {
try {
return t.matches(r);
} catch {
return !1;
}
});
}
function pi(t) {
const r = vi(), l = zl(t) ? Ll(t) : t;
return ["transform", "translate", "scale", "rotate", "perspective"].some((a) => l[a] ? l[a] !== "none" : !1) || (l.containerType ? l.containerType !== "normal" : !1) || !r && (l.backdropFilter ? l.backdropFilter !== "none" : !1) || !r && (l.filter ? l.filter !== "none" : !1) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((a) => (l.willChange || "").includes(a)) || ["paint", "layout", "strict", "content"].some((a) => (l.contain || "").includes(a));
}
function Xh(t) {
let r = ua(t);
for (; Vl(r) && !ar(r); ) {
if (pi(r))
return r;
if (Uo(r))
return null;
r = ua(r);
}
return null;
}
function vi() {
return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
}
function ar(t) {
return ["html", "body", "#document"].includes(dr(t));
}
function Ll(t) {
return bl(t).getComputedStyle(t);
}
function Xo(t) {
return zl(t) ? {
scrollLeft: t.scrollLeft,
scrollTop: t.scrollTop
} : {
scrollLeft: t.scrollX,
scrollTop: t.scrollY
};
}
function ua(t) {
if (dr(t) === "html")
return t;
const r = (
// Step into the shadow DOM of the parent of a slotted node.
t.assignedSlot || // DOM Element detected.
t.parentNode || // ShadowRoot detected.
cu(t) && t.host || // Fallback.
jl(t)
);
return cu(r) ? r.host : r;
}
function ld(t) {
const r = ua(t);
return ar(r) ? t.ownerDocument ? t.ownerDocument.body : t.body : Vl(r) && Hr(r) ? r : ld(r);
}
function zr(t, r, l) {
var a;
r === void 0 && (r = []), l === void 0 && (l = !0);
const n = ld(t), o = n === ((a = t.ownerDocument) == null ? void 0 : a.body), s = bl(n);
if (o) {
const c = _s(s);
return r.concat(s, s.visualViewport || [], Hr(n) ? n : [], c && l ? zr(c) : []);
}
return r.concat(n, zr(n, [], l));
}
function _s(t) {
return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;
}
function ad(t) {
const r = Ll(t);
let l = parseFloat(r.width) || 0, a = parseFloat(r.height) || 0;
const n = Vl(t), o = n ? t.offsetWidth : l, s = n ? t.offsetHeight : a, c = Ao(l) !== o || Ao(a) !== s;
return c && (l = o, a = s), {
width: l,
height: a,
$: c
};
}
function hi(t) {
return zl(t) ? t : t.contextElement;
}
function Ja(t) {
const r = hi(t);
if (!Vl(r))
return Ol(1);
const l = r.getBoundingClientRect(), {
width: a,
height: n,
$: o
} = ad(r);
let s = (o ? Ao(l.width) : l.width) / a, c = (o ? Ao(l.height) : l.height) / n;
return (!s || !Number.isFinite(s)) && (s = 1), (!c || !Number.isFinite(c)) && (c = 1), {
x: s,
y: c
};
}
const Yh = /* @__PURE__ */ Ol(0);
function rd(t) {
const r = bl(t);
return !vi() || !r.visualViewport ? Yh : {
x: r.visualViewport.offsetLeft,
y: r.visualViewport.offsetTop
};
}
function qh(t, r, l) {
return r === void 0 && (r = !1), !l || r && l !== bl(t) ? !1 : r;
}
function Ra(t, r, l, a) {
r === void 0 && (r = !1), l === void 0 && (l = !1);
const n = t.getBoundingClientRect(), o = hi(t);
let s = Ol(1);
r && (a ? zl(a) && (s = Ja(a)) : s = Ja(t));
const c = qh(o, l, a) ? rd(o) : Ol(0);
let d = (n.left + c.x) / s.x, p = (n.top + c.y) / s.y, m = n.width / s.x, b = n.height / s.y;
if (o) {
const f = bl(o), u = a && zl(a) ? bl(a) : a;
let h = f, i = _s(h);
for (; i && a && u !== h; ) {
const v = Ja(i), k = i.getBoundingClientRect(), w = Ll(i), T = k.left + (i.clientLeft + parseFloat(w.paddingLeft)) * v.x, F = k.top + (i.clientTop + parseFloat(w.paddingTop)) * v.y;
d *= v.x, p *= v.y, m *= v.x, b *= v.y, d += T, p += F, h = bl(i), i = _s(h);
}
}
return Mo({
width: m,
height: b,
x: d,
y: p
});
}
function mi(t, r) {
const l = Xo(t).scrollLeft;
return r ? r.left + l : Ra(jl(t)).left + l;
}
function od(t, r, l) {
l === void 0 && (l = !1);
const a = t.getBoundingClientRect(), n = a.left + r.scrollLeft - (l ? 0 : (
// RTL <body> scrollbar.
mi(t, a)
)), o = a.top + r.scrollTop;
return {
x: n,
y: o
};
}
function Gh(t) {
let {
elements: r,
rect: l,
offsetParent: a,
strategy: n
} = t;
const o = n === "fixed", s = jl(a), c = r ? Uo(r.floating) : !1;
if (a === s || c && o)
return l;
let d = {
scrollLeft: 0,
scrollTop: 0
}, p = Ol(1);
const m = Ol(0), b = Vl(a);
if ((b || !b && !o) && ((dr(a) !== "body" || Hr(s)) && (d = Xo(a)), Vl(a))) {
const u = Ra(a);
p = Ja(a), m.x = u.x + a.clientLeft, m.y = u.y + a.clientTop;
}
const f = s && !b && !o ? od(s, d, !0) : Ol(0);
return {
width: l.width * p.x,
height: l.height * p.y,
x: l.x * p.x - d.scrollLeft * p.x + m.x + f.x,
y: l.y * p.y - d.scrollTop * p.y + m.y + f.y
};
}
function Zh(t) {
return Array.from(t.getClientRects());
}
function Jh(t) {
const r = jl(t), l = Xo(t), a = t.ownerDocument.body, n = Sa(r.scrollWidth, r.clientWidth, a.scrollWidth, a.clientWidth), o = Sa(r.scrollHeight, r.clientHeight, a.scrollHeight, a.clientHeight);
let s = -l.scrollLeft + mi(t);
const c = -l.scrollTop;
return Ll(a).direction === "rtl" && (s += Sa(r.clientWidth, a.clientWidth) - n), {
width: n,
height: o,
x: s,
y: c
};
}
function Qh(t, r) {
const l = bl(t), a = jl(t), n = l.visualViewport;
let o = a.clientWidth, s = a.clientHeight, c = 0, d = 0;
if (n) {
o = n.width, s = n.height;
const p = vi();
(!p || p && r === "fixed") && (c = n.offsetLeft, d = n.offsetTop);
}
return {
width: o,
height: s,
x: c,
y: d
};
}
function em(t, r) {
const l = Ra(t, !0, r === "fixed"), a = l.top + t.clientTop, n = l.left + t.clientLeft, o = Vl(t) ? Ja(t) : Ol(1), s = t.clientWidth * o.x, c = t.clientHeight * o.y, d = n * o.x, p = a * o.y;
return {
width: s,
height: c,
x: d,
y: p
};
}
function du(t, r, l) {
let a;
if (r === "viewport")
a = Qh(t, l);
else if (r === "document")
a = Jh(jl(t));
else if (zl(r))
a = em(r, l);
else {
const n = rd(t);
a = {
x: r.x - n.x,
y: r.y - n.y,
width: r.width,
height: r.height
};
}
return Mo(a);
}
function sd(t, r) {
const l = ua(t);
return l === r || !zl(l) || ar(l) ? !1 : Ll(l).position === "fixed" || sd(l, r);
}
function tm(t, r) {
const l = r.get(t);
if (l)
return l;
let a = zr(t, [], !1).filter((c) => zl(c) && dr(c) !== "body"), n = null;
const o = Ll(t).position === "fixed";
let s = o ? ua(t) : t;
for (; zl(s) && !ar(s); ) {
const c = Ll(s), d = pi(s);
!d && c.position === "fixed" && (n = null), (o ? !d && !n : !d && c.position === "static" && !!n && ["absolute", "fixed"].includes(n.position) || Hr(s) && !d && sd(t, s)) ? a = a.filter((m) => m !== s) : n = c, s = ua(s);
}
return r.set(t, a), a;
}
function nm(t) {
let {
element: r,
boundary: l,
rootBoundary: a,
strategy: n
} = t;
const s = [...l === "clippingAncestors" ? Uo(r) ? [] : tm(r, this._c) : [].concat(l), a], c = s[0], d = s.reduce((p, m) => {
const b = du(r, m, n);
return p.top = Sa(b.top, p.top), p.right = lr(b.right, p.right), p.bottom = lr(b.bottom, p.bottom), p.left = Sa(b.left, p.left), p;
}, du(r, c, n));
return {
width: d.right - d.left,
height: d.bottom - d.top,
x: d.left,
y: d.top
};
}
function lm(t) {
const {
width: r,
height: l
} = ad(t);
return {
width: r,
height: l
};
}
function am(t, r, l) {
const a = Vl(r), n = jl(r), o = l === "fixed", s = Ra(t, !0, o, r);
let c = {
scrollLeft: 0,
scrollTop: 0
};
const d = Ol(0);
function p() {
d.x = mi(n);
}
if (a || !a && !o)
if ((dr(r) !== "body" || Hr(n)) && (c = Xo(r)), a) {
const u = Ra(r, !0, o, r);
d.x = u.x + r.clientLeft, d.y = u.y + r.clientTop;
} else n && p();
o && !a && n && p();
const m = n && !a && !o ? od(n, c) : Ol(0), b = s.left + c.scrollLeft - d.x - m.x, f = s.top + c.scrollTop - d.y - m.y;
return {
x: b,
y: f,
width: s.width,
height: s.height
};
}
function ps(t) {
return Ll(t).position === "static";
}
function fu(t, r) {
if (!Vl(t) || Ll(t).position === "fixed")
return null;
if (r)
return r(t);
let l = t.offsetParent;
return jl(t) === l && (l = l.ownerDocument.body), l;
}
function id(t, r) {
const l = bl(t);
if (Uo(t))
return l;
if (!Vl(t)) {
let n = ua(t);
for (; n && !ar(n); ) {
if (zl(n) && !ps(n))
return n;
n = ua(n);
}
return l;
}
let a = fu(t, r);
for (; a && Uh(a) && ps(a); )
a = fu(a, r);
return a && ar(a) && ps(a) && !pi(a) ? l : a || Xh(t) || l;
}
const rm = async function(t) {
const r = this.getOffsetParent || id, l = this.getDimensions, a = await l(t.floating);
return {
reference: am(t.reference, await r(t.floating), t.strategy),
floating: {
x: 0,
y: 0,
width: a.width,
height: a.height
}
};
};
function om(t) {
return Ll(t).direction === "rtl";
}
const ud = {
convertOffsetParentRelativeRectToViewportRelativeRect: Gh,
getDocumentElement: jl,
getClippingRect: nm,
getOffsetParent: id,
getElementRects: rm,
getClientRects: Zh,
getDimensions: lm,
getScale: Ja,
isElement: zl,
isRTL: om
};
function cd(t, r) {
return t.x === r.x && t.y === r.y && t.width === r.width && t.height === r.height;
}
function sm(t, r) {
let l = null, a;
const n = jl(t);
function o() {
var c;
clearTimeout(a), (c = l) == null || c.disconnect(), l = null;
}
function s(c, d) {
c === void 0 && (c = !1), d === void 0 && (d = 1), o();
const p = t.getBoundingClientRect(), {
left: m,
top: b,
width: f,
height: u
} = p;
if (c || r(), !f || !u)
return;
const h = Zr(b), i = Zr(n.clientWidth - (m + f)), v = Zr(n.clientHeight - (b + u)), k = Zr(m), T = {
rootMargin: -h + "px " + -i + "px " + -v + "px " + -k + "px",
threshold: Sa(0, lr(1, d)) || 1
};
let F = !0;
function A(z) {
const C = z[0].intersectionRatio;
if (C !== d) {
if (!F)
return s();
C ? s(!1, C) : a = setTimeout(() => {
s(!1, 1e-7);
}, 1e3);
}
C === 1 && !cd(p, t.getBoundingClientRect()) && s(), F = !1;
}
try {
l = new IntersectionObserver(A, {
...T,
// Handle <iframe>s
root: n.ownerDocument
});
} catch {
l = new IntersectionObserver(A, T);
}
l.observe(t);
}
return s(!0), o;
}
function im(t, r, l, a) {
a === void 0 && (a = {});
const {
ancestorScroll: n = !0,
ancestorResize: o = !0,
elementResize: s = typeof ResizeObserver == "function",
layoutShift: c = typeof IntersectionObserver == "function",
animationFrame: d = !1
} = a, p = hi(t), m = n || o ? [...p ? zr(p) : [], ...zr(r)] : [];
m.forEach((k) => {
n && k.addEventListener("scroll", l, {
passive: !0
}), o && k.addEventListener("resize", l);
});
const b = p && c ? sm(p, l) : null;
let f = -1, u = null;
s && (u = new ResizeObserver((k) => {
let [w] = k;
w && w.target === p && u && (u.unobserve(r), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
var T;
(T = u) == null || T.observe(r);
})), l();
}), p && !d && u.observe(p), u.observe(r));
let h, i = d ? Ra(t) : null;
d && v();
function v() {
const k = Ra(t);
i && !cd(i, k) && l(), i = k, h = requestAnimationFrame(v);
}
return l(), () => {
var k;
m.forEach((w) => {
n && w.removeEventListener("scroll", l), o && w.removeEventListener("resize", l);
}), b == null || b(), (k = u) == null || k.disconnect(), u = null, d && cancelAnimationFrame(h);
};
}
const um = Wh, cm = Kh, dm = Hh, fm = Vh, pm = Bh, vm = (t, r, l) => {
const a = /* @__PURE__ */ new Map(), n = {
platform: ud,
...l
}, o = {
...n.platform,
_c: a
};
return _h(t, r, {
...n,
platform: o
});
};
var Ta = [], hm = function() {
return Ta.some(function(t) {
return t.activeTargets.length > 0;
});
}, mm = function() {
return Ta.some(function(t) {
return t.skippedTargets.length > 0;
});
}, pu = "ResizeObserver loop completed with undelivered notifications.", bm = function() {
var t;
typeof ErrorEvent == "function" ? t = new ErrorEvent("error", {
message: pu
}) : (t = document.createEvent("Event"), t.initEvent("error", !1, !1), t.message = pu), window.dispatchEvent(t);
}, Lr;
(function(t) {
t.BORDER_BOX = "border-box", t.CONTENT_BOX = "content-box", t.DEVICE_PIXEL_CONTENT_BOX = "device-pixel-content-box";
})(Lr || (Lr = {}));
var $a = function(t) {
return Object.freeze(t);
}, gm = /* @__PURE__ */ function() {
function t(r, l) {
this.inlineSize = r, this.blockSize = l, $a(this);
}
return t;
}(), dd = function() {
function t(r, l, a, n) {
return this.x = r, this.y = l, this.width = a, this.height = n, this.top = this.y, this.left = this.x, this.bottom = this.top + this.height, this.right = this.left + this.width, $a(this);
}
return t.prototype.toJSON = function() {
var r = this, l = r.x, a = r.y, n = r.top, o = r.right, s = r.bottom, c = r.left, d = r.width, p = r.height;
return { x: l, y: a, top: n, right: o, bottom: s, left: c, width: d, height: p };
}, t.fromRect = function(r) {
return new t(r.x, r.y, r.width, r.height);
}, t;
}(), bi = function(t) {
return t instanceof SVGElement && "getBBox" in t;
}, fd = function(t) {
if (bi(t)) {
var r = t.getBBox(), l = r.width, a = r.height;
return !l && !a;
}
var n = t, o = n.offsetWidth, s = n.offsetHeight;
return !(o || s || t.getClientRects().length);
}, vu = function(t) {
var r;
if (t instanceof Element)
return !0;
var l = (r = t == null ? void 0 : t.ownerDocument) === null || r === void 0 ? void 0 : r.defaultView;
return !!(l && t instanceof l.Element);
}, ym = function(t) {
switch (t.tagName) {
case "INPUT":
if (t.type !== "image")
break;
case "VIDEO":
case "AUDIO":
case "EMBED":
case "OBJECT":
case "CANVAS":
case "IFRAME":
case "IMG":
return !0;
}
return !1;
}, xr = typeof window < "u" ? window : {}, Jr = /* @__PURE__ */ new WeakMap(), hu = /auto|scroll/, km = /^tb|vertical/, wm = /msie|trident/i.test(xr.navigator && xr.navigator.userAgent), Nl = function(t) {
return parseFloat(t || "0");
}, Qa = function(t, r, l) {
return t === void 0 && (t = 0), r === void 0 && (r = 0), l === void 0 && (l = !1), new gm((l ? r : t) || 0, (l ? t : r) || 0);
}, mu = $a({
devicePixelContentBoxSize: Qa(),
borderBoxSize: Qa(),
contentBoxSize: Qa(),
contentRect: new dd(0, 0, 0, 0)
}), pd = function(t, r) {
if (r === void 0 && (r = !1), Jr.has(t) && !r)
return Jr.get(t);
if (fd(t))
return Jr.set(t, mu), mu;
var l = getComputedStyle(t), a = bi(t) && t.ownerSVGElement && t.getBBox(), n = !wm && l.boxSizing === "border-box", o = km.test(l.writingMode || ""), s = !a && hu.test(l.overflowY || ""), c = !a && hu.test(l.overflowX || ""), d = a ? 0 : Nl(l.paddingTop), p = a ? 0 : Nl(l.paddingRight), m = a ? 0 : Nl(l.paddingBottom), b = a ? 0 : Nl(l.paddingLeft), f = a ? 0 : Nl(l.borderTopWidth), u = a ? 0 : Nl(l.borderRightWidth), h = a ? 0 : Nl(l.borderBottomWidth), i = a ? 0 : Nl(l.borderLeftWidth), v = b + p, k = d + m, w = i + u, T = f + h, F = c ? t.offsetHeight - T - t.clientHeight : 0, A = s ? t.offsetWidth - w - t.clientWidth : 0, z = n ? v + w : 0, C = n ? k + T : 0, E = a ? a.width : Nl(l.width) - z - A, P = a ? a.height : Nl(l.height) - C - F, R = E + v + A + w, L = P + k + F + T, I = $a({
devicePixelContentBoxSize: Qa(Math.round(E * devicePixelRatio), Math.round(P * devicePixelRatio), o),
borderBoxSize: Qa(R, L, o),
contentBoxSize: Qa(E, P, o),
contentRect: new dd(b, d, E, P)
});
return Jr.set(t, I), I;
}, vd = function(t, r, l) {
var a = pd(t, l), n = a.borderBoxSize, o = a.contentBoxSize, s = a.devicePixelContentBoxSize;
switch (r) {
case Lr.DEVICE_PIXEL_CONTENT_BOX:
return s;
case Lr.BORDER_BOX:
return n;
default:
return o;
}
}, xm = /* @__PURE__ */ function() {
function t(r) {
var l = pd(r);
this.target = r, this.contentRect = l.contentRect, this.borderBoxSize = $a([l.borderBoxSize]), this.contentBoxSize = $a([l.contentBoxSize]), this.devicePixelContentBoxSize = $a([l.devicePixelContentBoxSize]);
}
return t;
}(), hd = function(t) {
if (fd(t))
return 1 / 0;
for (var r = 0, l = t.parentNode; l; )
r += 1, l = l.parentNode;
return r;
}, Sm = function() {
var t = 1 / 0, r = [];
Ta.forEach(function(s) {
if (s.activeTargets.length !== 0) {
var c = [];
s.activeTargets.forEach(function(p) {
var m = new xm(p.target), b = hd(p.target);
c.push(m), p.lastReportedSize = vd(p.target, p.observedBox), b < t && (t = b);
}), r.push(function() {
s.callback.call(s.observer, c, s.observer);
}), s.activeTargets.splice(0, s.activeTargets.length);
}
});
for (var l = 0, a = r; l < a.length; l++) {
var n = a[l];
n();
}
return t;
}, bu = function(t) {
Ta.forEach(function(l) {
l.activeTargets.splice(0, l.activeTargets.length), l.skippedTargets.splice(0, l.skippedTargets.length), l.observationTargets.forEach(function(n) {
n.isActive() && (hd(n.target) > t ? l.activeTargets.push(n) : l.skippedTargets.push(n));
});
});
}, Cm = function() {
var t = 0;
for (bu(t); hm(); )
t = Sm(), bu(t);
return mm() && bm(), t > 0;
}, vs, md = [], Tm = function() {
return md.splice(0).forEach(function(t) {
return t();
});
}, $m = function(t) {
if (!vs) {
var r = 0, l = document.createTextNode(""), a = { characterData: !0 };
new MutationObserver(function() {
return Tm();
}).observe(l, a), vs = function() {
l.textContent = "".concat(r ? r-- : r++);
};
}
md.push(t), vs();
}, Em = function(t) {
$m(function() {
requestAnimationFrame(t);
});
}, ho = 0, Am = function() {
return !!ho;
}, Rm = 250, Mm = { attributes: !0, characterData: !0, childList: !0, subtree: !0 }, gu = [
"resize",
"load",
"transitionend",
"animationend",
"animationstart",
"animationiteration",
"keyup",
"keydown",
"mouseup",
"mousedown",
"mouseover",
"mouseout",
"blur",
"focus"
], yu = function(t) {
return t === void 0 && (t = 0), Date.now() + t;
}, hs = !1, Pm = function() {
function t() {
var r = this;
this.stopped = !0, this.listener = function() {
return r.schedule();
};
}
return t.prototype.run = function(r) {
var l = this;
if (r === void 0 && (r = Rm), !hs) {
hs = !0;
var a = yu(r);
Em(function() {
var n = !1;
try {
n = Cm();
} finally {
if (hs = !1, r = a - yu(), !Am())
return;
n ? l.run(1e3) : r > 0 ? l.run(r) : l.start();
}
});
}
}, t.prototype.schedule = function() {
this.stop(), this.run();
}, t.prototype.observe = function() {
var r = this, l = function() {
return r.observer && r.observer.observe(document.body, Mm);
};
document.body ? l() : xr.addEventListener("DOMContentLoaded", l);
}, t.prototype.start = function() {
var r = this;
this.stopped && (this.stopped = !1, this.observer = new MutationObserver(this.listener), this.observe(), gu.forEach(function(l) {
return xr.addEventListener(l, r.listener, !0);
}));
}, t.prototype.stop = function() {
var r = this;
this.stopped || (this.observer && this.observer.disconnect(), gu.forEach(function(l) {
return xr.removeEventListener(l, r.listener, !0);
}), this.stopped = !0);
}, t;
}(), Bs = new Pm(), ku = function(t) {
!ho && t > 0 && Bs.start(), ho += t, !ho && Bs.stop();
}, zm = function(t) {
return !bi(t) && !ym(t) && getComputedStyle(t).display === "inline";
}, Lm = function() {
function t(r, l) {
this.target = r, this.observedBox = l || Lr.CONTENT_BOX, this.lastReportedSize = {
inlineSize: 0,
blockSize: 0
};
}
return t.prototype.isActive = function() {
var r = vd(this.target, this.observedBox, !0);
return zm(this.target) && (this.lastReportedSize = r), this.lastReportedSize.inlineSize !== r.inlineSize || this.lastReportedSize.blockSize !== r.blockSize;
}, t;
}(), Fm = /* @__PURE__ */ function() {
function t(r, l) {
this.activeTargets = [], this.skippedTargets = [], this.observationTargets = [], this.observer = r, this.callback = l;
}
return t;
}(), Qr = /* @__PURE__ */ new WeakMap(), wu = function(t, r) {
for (var l = 0; l < t.length; l += 1)
if (t[l].target === r)
return l;
return -1;
}, eo = function() {
function t() {
}
return t.connect = function(r, l) {
var a = new Fm(r, l);
Qr.set(r, a);
}, t.observe = function(r, l, a) {
var n = Qr.get(r), o = n.observationTargets.length === 0;
wu(n.observationTargets, l) < 0 && (o && Ta.push(n), n.observationTargets.push(new Lm(l, a && a.box)), ku(1), Bs.schedule());
}, t.unobserve = function(r, l) {
var a = Qr.get(r), n = wu(a.observationTargets, l), o = a.observationTargets.length === 1;
n >= 0 && (o && Ta.splice(Ta.indexOf(a), 1), a.observationTargets.splice(n, 1), ku(-1));
}, t.disconnect = function(r) {
var l = this, a = Qr.get(r);
a.observationTargets.slice().forEach(function(n) {
return l.unobserve(r, n.target);
}), a.activeTargets.splice(0, a.activeTargets.length);
}, t;
}(), xu = function() {
function t(r) {
if (arguments.length === 0)
throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");
if (typeof r != "function")
throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");
eo.connect(this, r);
}
return t.prototype.observe = function(r, l) {
if (arguments.length === 0)
throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");
if (!vu(r))
throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");
eo.observe(this, r, l);
}, t.prototype.unobserve = function(r) {
if (arguments.length === 0)
throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");
if (!vu(r))
throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");
eo.unobserve(this, r);
}, t.prototype.disconnect = function() {
eo.disconnect(this);
}, t.toString = function() {
return "function ResizeObserver () { [polyfill code] }";
}, t;
}();
const zo = /* @__PURE__ */ new WeakMap();
function Im(t) {
var r;
for (let l = 0, a = t.length; l < a; ++l) {
const n = t[l], o = zo.get(n.target);
if (typeof o == "function") {
const { inlineSize: s, blockSize: c } = ((r = n.borderBoxSize) == null ? void 0 : r[0]) ?? {}, { offsetWidth: d, offsetHeight: p } = n.target;
o(
Object.assign(n, {
offsetWidth: d,
offsetHeight: p,
width: s ?? d,
height: c ?? p
})
);
}
}
}
const bd = new (zt && window.ResizeObserver || xu)(
Im
);
function rr(t, r) {
zo.set(t, r), bd.observe(t);
}
function er(t) {
zo.has(t) && (bd.unobserve(t), zo.delete(t));
}
function Nm(t = {}) {
let r = Qt;
const l = le(
() => e(t.target),
(n) => {
r(), !(!n || typeof t.onResize != "function") && (rr(n, t.onResize), r = () => {
er(n), r = Qt;
});
},
{ immediate: !0 }
), a = () => {
l(), r();
};
return sr() && ca(a), {
/**
* @deprecated Will be removed in next major version, please directly use `observeResize` from imports.
*/
observeResize: rr,
/**
* @deprecated Will be removed in next major version, please directly use `unobserveResize` from imports.
*/
unobserveResize: er,
unobserve: a
};
}
const gd = $(!1), Dm = g(() => gd.value), mr = "__rtl_observer__";
function Un() {
return zt && !document.querySelector(`#${mr}`) && Om(), { isRtl: Dm };
}
function Om() {
if (!zt) return;
const t = document.createElement("style"), r = `#${mr} { width: 1px } html.rtl #${mr}, html[dir='rtl'] #${mr} { width: 2px }`;
t.textContent = r, document.head.appendChild(t);
const l = document.createElement("div");
l.id = mr, l.role = "none", l.style.cssText = "position: fixed; top -10px; left: -10px; height: 1px; visibility: hidden;", rr(l, () => {
zt && (gd.value = document.documentElement.classList.contains("rtl") || document.documentElement.getAttribute("dir") === "rtl");
}), document.body.appendChild(l);
}
const Wl = Object.freeze([
"top",
"top-start",
"top-end",
"bottom",
"bottom-start",
"bottom-end",
"left",
"left-start",
"left-end",
"right",
"right-start",
"right-end"
]);
function Kl(t) {
const { transfer: r, wrapper: l, isDrop: a = !1 } = t, n = t.reference ?? oa(null), o = t.popper ?? oa(null), s = t.arrow ?? oa(null), c = $(e(t.placement)), d = $(""), p = t.isRtl ?? Un().isRtl;
l && In(() => {
const i = e(l), v = e(o);
i && (i.__transferElement = v);
}), r != null && (le(
() => e(r),
(i) => {
u(i), f();
}
), u(e(r))), sn(() => {
requestAnimationFrame(() => {
In(b);
});
});
let m;
async function b() {
if (!zt) return;
m == null || m();
const i = e(n), v = e(o);
if (!i || !v) return;
const k = e(s), w = [dm()];
if (a && w.push({
name: "origin",
fn({ placement: z, elements: C }) {
const E = h(z);
return E && (C.floating.style.transformOrigin = E), {};
}
}), t.offset) {
let z = e(t.offset);
Array.isArray(z) && (z = {
mainAxis: z[1],
crossAxis: z[0]
}), w.push(um(z));
}
if (t.shift) {
let z = e(t.shift);
typeof z == "boolean" && (z = {}), w.push(cm(z));
}
k && w.push(pm({ element: k })), w.push(fm({ strategy: "escaped" }));
const T = e(p) || !1, F = {
middleware: w,
placement: e(t.placement),
platform: {
...ud,
isRTL: async () => T
}
}, A = async () => {
const {
x: z,
y: C,
placement: E,
strategy: P,
middlewareData: R
} = await vm(i, v, F);
if (e(n) !== i) {
e(o) === v && Object.assign(v.style, {
position: "",
top: "",
left: ""
});
return;
}
const L = {
position: P,
top: `${C}px`,
left: `${z}px`
};
if (k)
if (R.arrow) {
const { x: I, y: G } = R.arrow;
Object.assign(k.style, {
top: G != null ? `${G}px` : "",
left: I != null ? `${I}px` : ""
});
} else
Object.assign(k.style, { top: "", left: "" });
Object.assign(v.style, L), v.dataset.popperPlacement = E, c.value = E;
};
t.autoUpdate && (m = im(i, v, A)), await A();
}
const f = () => new Promise((i) => {
requestAnimationFrame(() => {
b().then(i);
});
});
function u(i) {
d.value = typeof i == "boolean" ? i ? "body" : "" : i;
}
function h(i) {
if (i !== "left" && i !== "right") {
const [v, k] = i.split("-");
return v === "bottom" || v !== "top" && k === "start" ? "center top" : "center bottom";
}
}
return {
wrapper: l,
reference: n,
popper: o,
placement: c,
transferTo: d,
updatePopper: f
};
}
const Su = "__theme_style__", ms = "__theme_observer__", Cu = pt(/* @__PURE__ */ new Map()), Tu = /* @__PURE__ */ new Map();
le(Cu, () => {
if (!zt) return;
Tu.clear();
const t = document.head.querySelector(`#${Su}`);
t && document.head.removeChild(t);
const r = document.createElement("style");
let l = `.${ms} { width: 1px }`, a = 1;
for (const [n, [o, s]] of Cu.entries())
l += ` html.${o} .${ms}, .${s} .${ms} { width: ${++a}px }`, Tu.set(a, n);
r.textContent = l, r.id = Su, document.head.appendChild(r);
});
function Vn() {
const t = {};
return ca(() => {
Object.keys(t).forEach((r) => {
clearTimeout(t[r]);
});
}), { timer: t };
}
function _m() {
const t = {};
return ca(() => {
Object.keys(t).forEach((r) => {
clearInterval(t[r]);
});
}), { timer: t };
}
function Bm() {
const t = {};
return ca(() => {
Object.keys(t).forEach((r) => {
cancelAnimationFrame(t[r]);
});
}), { timer: t };
}
function Hm() {
const { timer: t } = Vn(), { timer: r } = _m(), { timer: l } = Bm();
return { timeout: t, interval: r, raf: l };
}
function Vm(t) {
const {
items: r,
itemSize: l,
itemFixed: a,
idKey: n,
defaultKeyAt: o,
bufferSize: s = $(5),
wrapper: c = $(null)
} = t, d = g(() => {
const I = e(r), G = I.length, ee = e(n), O = /* @__PURE__ */ new Map();
for (let H = 0; H < G; ++H)
O.set(I[H][ee], H);
return O;
}), p = $(0), m = /* @__PURE__ */ new Map(), b = g(() => {
const I = e(r), G = I.length, ee = e(n), O = Rc(G, e(l));
for (let H = 0; H < G; ++H) {
const U = I[H][ee], q = m.get(U);
q && O.add(H, q);
}
return O;
}), f = $(0), u = $(0), h = g(() => Math.max(
b.value.boundIndex(u.value) - Math.max(e(s), 0),
0
)), i = g(() => {
if (!p.value || p.value < 0) return [];
const I = e(r), G = Math.min(
b.value.boundIndex(u.value + p.value) + 1 + Math.max(e(s), 0),
I.length
);
return I.slice(h.value, G);
}), v = g(() => {
f.value;
const I = b.value.sum(), G = e(a);
return {
height: G ? `${I}px` : void 0,
minHeight: G ? void 0 : `${I}px`,
boxSizing: "content-box"
};
}), k = g(() => (f.value, {
transform: `translate3d(0, ${b.value.sum(h.value)}px, 0)`
}));
le(
() => e(c),
(I) => {
I && dn(o) && requestAnimationFrame(() => {
requestAnimationFrame(() => {
E(o);
});
});
},
{ immediate: !0, flush: "post" }
);
function w() {
const I = e(c);
I && (u.value = I.scrollTop);
}
function T() {
qa(w);
}
function F(I) {
Fs(I.target) || I.contentRect.height === p.value || (p.value = I.contentRect.height);
}
function A(I, G) {
var we, de;
if (e(a)) return;
const ee = d.value.get(I), O = b.value, H = O.get(ee), U = ((de = (we = G.borderBoxSize) == null ? void 0 : we[0]) == null ? void 0 : de.blockSize) ?? G.contentRect.height;
if (U === H) return;
if (Fs(G.target)) {
H && (O.add(ee, -H), f.value++);
return;
}
const q = U - e(l), Z = U - H;
if (q ? m.set(I, q) : m.delete(I), !Z) return;
O.add(ee, Z), f.value++;
const K = e(c);
if (K) {
const te = O.sum(ee);
K.scrollTop > te && K.scrollBy(0, Z), u.value = K.scrollTop;
}
}
function z(I, G) {
const ee = e(c);
ee && ee.scrollTo({
behavior: G,
top: I,
left: 0
});
}
function C(I, G) {
const ee = e(c);
ee && ee.scrollBy({
behavior: G,
top: I,
left: 0
});
}
function E(I, G) {
const ee = d.value.get(I);
ee != null && P(ee, G);
}
function P(I, G) {
const ee = e(c);
ee && ee.scrollTo({
behavior: G,
top: b.value.sum(I),
left: 0
});
}
function R(I, G) {
const ee = e(c);
if (!ee) return;
const O = b.value, H = ee.scrollTop;
if (O.sum(I) < H) {
P(I, G);
return;
}
const q = ee.offsetHeight, Z = H + q, K = O.sum(I + 1);
K > Z && z(K - q, G);
}
function L(I, G) {
const ee = d.value.get(I);
ee != null && R(ee, G);
}
return {
wrapper: c,
indexMap: d,
heightTree: b,
startIndex: h,
scrollOffset: u,
visibleItems: i,
listStyle: v,
itemsStyle: k,
handleScroll: T,
handleResize: F,
handleItemResize: A,
scrollTo: z,
scrollBy: C,
scrollToKey: E,
scrollToIndex: P,
ensureIndexInView: R,
ensureKeyInView: L
};
}
function $u(t, r) {
const l = typeof r.value == "function" ? { handler: r.value } : { ...r.value }, a = l.throttle || r.modifiers.throttle || !1;
if (t.__resize = {
useThrottle: a,
observed: !1
}, l.disabled) {
er(t), t.__resize.observed = !1;
return;
}
const n = a ? Cl(l.handler, typeof a == "boolean" ? 16 : a) : l.handler;
rr(t, n), t.__resize.observed = !0;
}
const jm = {
mounted(t, r) {
$u(t, r);
},
updated(t, r) {
if (!t.__resize) {
$u(t, r);
return;
}
const l = typeof r.value == "function" ? { handler: r.value } : { ...r.value }, a = l.throttle || r.modifiers.throttle, n = () => a ? Cl(l.handler, typeof a == "boolean" ? 16 : a) : l.handler;
if (l.disabled)
t.__resize.observed && (er(t), t.__resize.observed = !1);
else if (!t.__resize.observed)
rr(t, n()), t.__resize.observed = !0;
else {
const o = typeof r.oldValue == "function" ? { handler: r.oldValue } : { ...r.oldValue || { handler: Qt } };
(a !== t.__resize.useThrottle || l.handler !== o.handler) && (er(t), rr(t, n()));
}
},
beforeUnmount(t) {
var r;
(r = t.__resize) != null && r.observed && er(t), delete t.__resize;
}
};
function Wm(t) {
t.directive("loading", wh), t.directive("resize", jm);
}
const Km = ft({
offset: Number,
zIndex: Number,
position: String,
target: [String, Object, Function],
onScroll: B(),
onChange: B()
});
let Yl = null;
function Um(t) {
if (t = e(t), Yl !== e(t)) {
if (Yl && Yl !== window && Yl !== document.documentElement) {
const r = Yl.querySelector(
".vxp-affix--fixed"
);
r && r.classList.remove("vxp-affix--fixed");
}
Yl = t;
}
}
function Xm(t) {
Yl && Yl === e(t) && (Yl = null);
}
const Ym = /* @__PURE__ */ Xe({
name: "Affix",
__name: "affix",
props: Km,
setup(t, { expose: r }) {
const a = ct("affix", t, {
offset: 0,
zIndex: 100,
position: "top",
target: null
}), n = Ye("affix"), o = _l(), s = oa(), c = oa(), d = oa();
let p = !1, m = null;
const b = $(!1), f = $(0), u = $(0), h = $(0), i = $(0), v = $(0), k = g(() => ({
height: b.value ? `${f.value}px` : "",
width: b.value ? `${u.value}px` : ""
})), w = g(() => {
if (!b.value) return {};
let C = a.offset, E = a.offset;
return Rl(d.value) && (a.target && a.position === "top" ? C += v.value : E += v.value), {
height: `${f.value}px`,
width: `${u.value}px`,
top: a.position === "top" ? `${C}px` : "",
bottom: a.position === "bottom" ? `${E}px` : "",
zIndex: a.zIndex
};
});
In(T), le(b, (C) => {
_(a.onChange, C);
}), r({ update: T }), sn(() => {
if (a.target) {
const C = vl(a.target);
if (typeof C == "string") {
if (c.value = document.querySelector(C) ?? void 0, !c.value)
throw new Error(`[vexip-ui:Affix] target not exists: ${a.target}`);
} else
c.value = C;
} else
c.value = document.documentElement;
A();
}), pn(() => {
z();
});
function T() {
if (!s.value || !c.value || !d.value) return;
const C = s.value.getBoundingClientRect(), E = c.value.getBoundingClientRect();
f.value = C.height, u.value = C.width, h.value = d.value === window ? document.documentElement.scrollTop : d.value.scrollY || 0, h.value = document.documentElement.scrollTop, i.value = document.documentElement.clientHeight, a.position === "top" ? a.target ? (v.value = E.top, b.value = C.top < E.top + a.offset) : b.value = a.offset > C.top : a.target ? (v.value = i.value - E.bottom, b.value = E.bottom < a.offset + C.bottom) : b.value = i.value - a.offset < C.bottom;
}
function F() {
Um(c), T(), _(a.onScroll, {
scrollTop: h.value,
fixed: b.value
});
}
function A() {
var C, E, P;
if (z(), !!zt)
if (a.target)
d.value = c.value, d.value.addEventListener("scroll", F);
else {
let R = o.parent;
const L = "scroll";
for (; R; ) {
const I = (C = R.type) == null ? void 0 : C.name;
if (I === "Scroll" || I === "NativeScroll") {
const { exposeProxy: ee, exposed: O, proxy: H } = R, U = new Proxy({}, {
get(Z, K) {
return (H == null ? void 0 : H[K]) ?? (ee == null ? void 0 : ee[K]) ?? (O == null ? void 0 : O[K]);
}
});
if (!((E = (U == null ? void 0 : U.$el).getAttribute("class")) != null && E.includes("vxp-native-scroll--horizontal"))) {
m = U;
break;
}
}
const G = (P = R.refs) == null ? void 0 : P[L];
if (G) {
Rl(G) ? (p = !0, d.value = G) : m = G;
break;
}
R = R.parent;
}
m ? (m.addScrollListener(F), d.value = m.$el) : d.value || (p = !0, d.value = window), p && d.value && d.value.addEventListener("scroll", F);
}
}
function z() {
m && (m.removeScrollListener(F), m = null), d.value && (d.value.removeEventListener("scroll", F), d.value = void 0), Xm(c);
}
return (C, E) => (S(), D("div", {
ref_key: "wrapper",
ref: s,
class: x(e(n).b()),
style: Qe(k.value)
}, [
oe("div", {
class: x({ [e(n).bm("fixed")]: b.value }),
style: Qe(w.value)
}, [
W(C.$slots, "default")
], 6)
], 6));
}
}), qm = ft({
expanded: [String, Number, Array],
card: M,
accordion: M,
arrowType: String,
ghost: M,
alive: {
type: [Boolean, String],
default: null
},
onChange: B()
}), Gm = ft({
label: [String, Number],
title: String,
disabled: M,
contentStyle: kl,
expanded: M,
card: M,
arrowType: String,
icon: Xt,
ghost: M,
alive: {
type: [Boolean, String],
default: null
},
slots: Object,
onToggle: B()
}), Zm = ft({
appear: M,
mode: String,
horizontal: M,
duration: Number,
timing: String,
fadeEffect: M,
/**
* Internal prop for Tree, reverse the enter transition
*
* @internal
*/
reverse: M,
disabled: M,
onBeforeEnter: B(),
onEnter: B(),
onAfterEnter: B(),
onEnterCancelled: B(),
onBeforeLeave: B(),
onLeave: B(),
onAfterLeave: B(),
onLeaveCancelled: B()
}), Ul = Xe({
name: "CollapseTransition",
props: Zm,
emits: [],
setup(t, { slots: r }) {
const l = ct("collapseTransition", t, {
appear: !1,
mode: {
default: "default",
validator: (o) => ["in-out", "out-in", "default"].includes(o)
},
horizontal: !1,
duration: {
default: 250,
validator: (o) => o >= 200
},
timing: null,
fadeEffect: !1,
reverse: !1
});
let a = null, n = null;
return () => {
if (l.disabled)
return W(r, "default");
const o = l.duration, s = l.timing || "ease-in-out";
let c = "maxHeight", d = "paddingTop", p = "paddingBottom", m = "marginTop", b = "marginBottom", f = "scrollHeight", u = `
max-height ${o}ms ${s},
padding-top ${o}ms ${s},
padding-bottom ${o}ms ${s},
margin-top ${o}ms ${s},
margin-bottom ${o}ms ${s}
`;
l.horizontal && (c = "maxWidth", d = "paddingLeft", p = "paddingRight", m = "marginLeft", b = "marginRight", f = "scrollWidth", u = `
max-width ${o}ms ${s},
padding-inline-start ${o}ms ${s},
padding-inline-end ${o}ms ${s},
margin-inline-start ${o}ms ${s},
margin-inline-end ${o}ms ${s}
`), l.fadeEffect && (u = `
${u},
opacity ${o}ms ease
`);
const h = {}, i = {};
return Jn(
En,
{
appear: l.appear,
mode: l.mode,
onBeforeEnter(v) {
if (a) return;
a = "before";
const k = v;
h.paddingTop = k.style[d], h.paddingBottom = k.style[p], h.marginTop = k.style[m], h.marginBottom = k.style[b], h.transition = k.style.transition, h.boxSizing = k.style.boxSizing, h.opacity = k.style.opacity, k.style.transition = u, l.reverse || (k.style[c] = "0", k.style[d] = "0", k.style[p] = "0", k.style[m] = "0", k.style[b] = "0", k.style.boxSizing = "content-box", l.fadeEffect && (k.style.opacity = "0")), _(l.onBeforeEnter, v);
},
onEnter(v) {
if (a === "in") return;
a = "in";
const k = v;
h.overflow = k.style.overflow, k.style.overflow = "hidden", k[f] !== 0 ? k.style[c] = `${k[f]}px` : k.style[c] = "", k.style[d] = h.paddingTop, k.style[p] = h.paddingBottom, k.style[m] = h.marginTop, k.style[b] = h.marginBottom, l.reverse ? (k[f], k.style[c] = "0", k.style[d] = "0", k.style[p] = "0", k.style[m] = "0", k.style[b] = "0", k.style.boxSizing = "content-box", l.fadeEffect && (k.style.opacity = "0")) : l.fadeEffect && (k.style.opacity = h.opacity), _(l.onEnter, v);
},
onAfterEnter(v) {
const k = v;
k.style.transition = h.transition || "", l.reverse || (k.style[c] = "", k.style.overflow = h.overflow, k.style.boxSizing = h.boxSizing), a = null, _(l.onAfterEnter, v);
},
onEnterCancelled(v) {
const k = v;
k.style.transition = h.transition || "", k.style[c] = "", k.style.overflow = h.overflow, k.style.boxSizing = h.boxSizing, a = null, _(l.onEnterCancelled, v);
},
onBeforeLeave(v) {
if (n) return;
n = "before";
const k = v;
i.paddingTop = k.style[d], i.paddingBottom = k.style[p], i.marginTop = k.style[m], i.marginBottom = k.style[b], i.overflow = k.style.overflow, i.boxSizing = k.style.boxSizing, i.opacity = k.style.opacity, k.style[c] = `${k[f]}px`, k.style.overflow = "hidden", _(l.onBeforeLeave, v);
},
onLeave(v) {
if (n === "in") return;
n = "in";
const k = v;
k[f] !== 0 && (i.transition = k.style.transition, k.style.transition = u, k.style[c] = "0", k.style[d] = "0", k.style[p] = "0", k.style[m] = "0", k.style[b] = "0", l.fadeEffect && (k.style.opacity = "0")), _(l.onLeave, v);
},
onAfterLeave(v) {
const k = v;
k.style[c] = "", k.style[d] = i.paddingTop, k.style[p] = i.paddingBottom, k.style[m] = i.marginTop, k.style[b] = i.marginBottom, k.style.overflow = i.overflow, k.style.transition = i.transition || "", k.style.boxSizing = i.boxSizing, k.style.opacity = i.opacity, n = null, _(l.onAfterLeave, v);
},
onLeaveCancelled(v) {
const k = v;
k.style[c] = "", k.style[d] = i.paddingTop, k.style[p] = i.paddingBottom, k.style[m] = i.marginTop, k.style[b] = i.marginBottom, k.style.overflow = i.overflow, k.style.transition = i.transition || "", k.style.boxSizing = i.boxSizing, k.style.opacity = i.opacity, n = null, _(l.onLeaveCancelled, v);
}
},
r
);
};
}
}), Jm = ft({
type: String,
title: String,
colorfulText: M,
icon: {
type: [Boolean, Object, Function],
default: null
},
closable: M,
iconColor: String,
noBorder: M,
banner: M,
manual: M,
scroll: M,
scrollSpeed: Number,
color: String,
slots: Object,
onClose: B(),
onHide: B(),
onScrollEnd: B()
}), Qm = Object.freeze([
"default",
"primary",
"info",
"success",
"warning",
"error"
]), eb = /* @__PURE__ */ Xe({
name: "Alert",
__name: "alert",
props: Jm,
setup(t) {
const l = ct("alert", t, {
type: {
default: "primary",
validator: (E) => Qm.includes(E)
},
title: "",
colorfulText: !1,
icon: {
isFunc: !0,
default: !1
},
closable: !1,
iconColor: "",
noBorder: !1,
banner: !1,
manual: !1,
scroll: !1,
scrollSpeed: 1,
color: null,
slots: () => ({})
}), a = kn(), n = Ye("alert"), o = Gt(), s = g(() => ({
default: o.value.alert,
primary: o.value.info,
info: o.value.info,
success: o.value.success,
warning: o.value.warning,
error: o.value.error
})), c = $(!1), d = $(!1), p = $(0), m = $(0), b = $(0), f = $(), u = $(), h = g(() => !!(l.title || a.title)), i = g(() => !!(l.icon || a.icon)), v = g(() => ({
[n.b()]: !0,
[n.bs("vars")]: !0,
[n.bm("inherit")]: l.inherit,
[n.bm(l.type)]: l.type,
[n.bm("colorful-text")]: l.colorfulText,
[n.bm("has-title")]: h.value,
[n.bm("has-icon")]: i.value,
[n.bm("closable")]: l.closable,
[n.bm("no-border")]: !l.banner && l.noBorder,
[n.bm("banner")]: l.banner
})), k = g(() => {
if (!l.color) return;
const E = zt ? getComputedStyle(document.documentElement) : null, P = Qn((E == null ? void 0 : E.getPropertyValue(n.nv("color-black"))) || "#000"), R = Qn(l.color);
return n.cvm({
"bg-color": ml(R, 0.2).toString(),
"b-color": ml(R, 0.5).toString(),
"icon-color": ia(P, R, 0.2).toString(),
...l.colorfulText ? {
"text-color": ia(P, R, 0.2).toString(),
"title-color": ia(P, R, 0.2).toString()
} : {}
});
}), w = g(() => typeof l.icon == "boolean" ? s.value[l.type] ?? {} : { icon: l.icon }), T = g(() => ({
width: `${b.value}px`,
transitionDuration: `${p.value}ms`,
transform: `translateX(${m.value}px)`
}));
le(
() => l.scroll,
(E) => {
E && z();
}
), sn(() => {
l.scroll && z();
});
function F() {
l.manual || (c.value = !0), _(l.onClose);
}
function A() {
_(l.onHide), d.value = !0;
}
function z() {
if (f.value && u.value) {
const E = f.value.getBoundingClientRect(), P = Bo(u.value), R = (E.width + P) * 12 / (Math.max(l.scrollSpeed, 0) || 1);
p.value = 0, m.value = E.width, b.value = P, requestAnimationFrame(() => {
requestAnimationFrame(() => {
p.value = R, m.value = -P;
});
});
}
}
function C() {
_(l.onScrollEnd), requestAnimationFrame(z);
}
return (E, P) => d.value ? ge("", !0) : (S(), Be(e(Ul), {
key: 0,
"fade-effect": "",
onAfterLeave: A
}, {
default: X(() => [
c.value ? ge("", !0) : (S(), D("div", {
key: 0,
class: x(v.value),
role: "alert",
style: Qe(k.value)
}, [
oe("div", {
class: x(e(n).be("wrapper"))
}, [
h.value ? (S(), D("div", {
key: 0,
class: x(e(n).be("title"))
}, [
W(E.$slots, "title", {}, () => [
y(e(me), {
renderer: e(l).slots.title
}, {
default: X(() => [
dt(ze(E.title), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0),
oe("div", {
ref_key: "content",
ref: f,
class: x([e(n).be("content"), e(l).scroll && e(n).bem("content", "scroll")])
}, [
e(l).scroll ? (S(), D("span", {
key: 0,
ref_key: "scrollEl",
ref: u,
class: x(e(n).be("scroll")),
style: Qe(T.value),
onTransitionend: C
}, [
W(E.$slots, "default", {}, () => [
y(e(me), {
renderer: e(l).slots.default
}, null, 8, ["renderer"])
])
], 38)) : W(E.$slots, "default", { key: 1 }, () => [
y(e(me), {
renderer: e(l).slots.default
}, null, 8, ["renderer"])
])
], 2)
], 2),
e(l).closable ? (S(), D("button", {
key: 0,
type: "button",
class: x(e(n).be("close")),
onClick: F
}, [
W(E.$slots, "close", {}, () => [
y(e(me), {
renderer: e(l).slots.close
}, {
default: X(() => [
y(e(Oe), He(e(o).close, { label: "close" }), null, 16)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0),
i.value ? (S(), D("div", {
key: 1,
class: x(e(n).be("icon"))
}, [
W(E.$slots, "icon", {}, () => [
y(e(me), {
renderer: e(l).slots.icon
}, {
default: X(() => [
y(e(Oe), He(w.value, {
scale: h.value ? 2 : 1,
style: { color: e(l).iconColor }
}), null, 16, ["scale", "style"])
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0)
], 6))
]),
_: 3
}));
}
}), tb = ft({
active: String,
viewer: [String, Object, Function],
offset: Number,
marker: M,
scrollDuration: Number,
markerTransition: String,
options: Array,
bindHash: M,
forceActive: M,
slots: Object,
onChange: B()
}), nb = Jl({
to: {
type: String,
default: ""
},
title: {
type: String,
default: ""
},
children: {
type: Array,
default: () => []
}
}), lb = 14, Eu = "__VXP_ANCHOR_LINK_STATE", yd = "__VXP_ANCHOR_STATE", ab = ["href", "title"], kd = /* @__PURE__ */ Xe({
name: "AnchorLink",
__name: "anchor-link",
props: nb,
setup(t) {
const r = t, l = Et(yd, null), a = Et(Eu, null), n = Ye("anchor"), o = $(a != null && a.indent ? (a == null ? void 0 : a.indent) + 1 : 1), s = $(!1), c = $(), d = pt({
el: c,
to: qe(r, "to"),
active: s,
indent: o
}), p = g(() => ({
[n.be("link")]: !0,
[n.bem("link", "active")]: d.active
})), m = g(() => ({
paddingInlineStart: `${lb * o.value}px`
}));
nn(Eu, d), l && (le(
() => l.currentActive,
(f) => {
s.value = f === r.to;
}
), sn(() => {
l.increaseLink(d);
}), pn(() => {
l.decreaseLink(d);
}));
function b() {
return l && l.handleActive(r.to), !1;
}
return (f, u) => {
const h = Js("AnchorLink", !0);
return S(), D("li", {
class: x(e(n).be("item"))
}, [
oe("a", {
ref_key: "link",
ref: c,
class: x(p.value),
href: f.to,
style: Qe(m.value),
title: f.title,
onClick: gt(b, ["prevent"])
}, [
W(f.$slots, "default")
], 14, ab),
f.$slots.group || f.children && f.children.length ? (S(), D("ul", {
key: 0,
class: x(e(n).be("list"))
}, [
W(f.$slots, "group", {}, () => [
f.children && f.children.length ? (S(!0), D(st, { key: 0 }, ln(f.children, (i) => (S(), Be(h, {
key: i.to,
to: i.to,
title: i.title,
children: i.children
}, {
default: X(() => [
dt(ze(i.label), 1)
]),
_: 2
}, 1032, ["to", "title", "children"]))), 128)) : ge("", !0)
])
], 2)) : ge("", !0)
], 2);
};
}
});
function rb(t, r, l, a, n) {
const o = l - r, s = Math.ceil(o / a * 16), c = () => {
typeof n == "function" && n();
};
if (!o) {
c();
return;
}
if (a <= 0) {
t.scrollTo(0, l), c();
return;
}
let d = r;
const p = () => {
o && (d = d + s, (l - d) / o <= 0 && (d = l), t.scrollTo(0, d), d === l ? c() : requestAnimationFrame(p));
};
p();
}
const ob = /* @__PURE__ */ Xe({
name: "Anchor",
__name: "anchor",
props: tb,
emits: ["update:active"],
setup(t, { emit: r }) {
const l = Ye("anchor"), n = ct("anchor", t, {
active: {
default: "",
static: !0
},
viewer: {
default: null,
static: !0
},
offset: 8,
marker: !1,
scrollDuration: 500,
markerTransition: () => l.ns("fade"),
options: {
default: () => [],
static: !0
},
bindHash: !1,
forceActive: !1,
slots: () => ({})
}), o = r, s = $(n.active), c = $(!1), d = $(0), p = /* @__PURE__ */ new Set(), m = $();
let b, f = !1, u = null, h = null, i = 0;
zt && !s.value && n.bindHash && (s.value = decodeURIComponent(location.hash)), nn(
yd,
pt({
currentActive: s,
increaseLink: v,
decreaseLink: k,
handleActive: E
})
), le(
() => n.active,
(R) => {
s.value = R;
}
), le(() => n.viewer, T), sn(() => {
T(), P();
}), pn(() => {
C(), clearTimeout(b);
});
function v(R) {
p.add(R), R.active = s.value === R.to;
}
function k(R) {
p.delete(R);
}
const w = _l();
function T() {
C(), zt && kt(() => {
var G, ee, O, H;
const R = n.viewer;
i = 0;
let L = null, I = "scroll";
if (typeof R == "string" ? R.startsWith("ref:") ? (I = R.substring(4), I = I || "scroll") : ["window", "document", "html"].includes(R) ? L = window : R === "body" ? L = document.body : R === "root" ? L = w.root : L = document.querySelector(R) : typeof R == "function" ? L = R() : Rl(R) && (L = R), L === window || Rl(L) ? f = !0 : f = !1, f)
u = L, u.addEventListener("scroll", z);
else {
for (L = L, L = hl(L == null ? void 0 : L.vnode) ? L : w.parent; L; ) {
const U = (G = L.type) == null ? void 0 : G.name;
if (U === "Scroll" || U === "NativeScroll") {
h = Fa({ component: L });
break;
}
const q = (ee = L.refs) == null ? void 0 : ee[I];
if (q) {
Rl(q) ? (f = !0, u = q) : h = q;
break;
}
L = L.parent;
}
h ? (h.addScrollListener(z), u = h.$el) : u || (f = !0, u = (H = (O = w.parent) == null ? void 0 : O.proxy) == null ? void 0 : H.$el), f && u && u.addEventListener("scroll", z);
}
});
}
function F() {
return u ? u === window ? document.documentElement : u : null;
}
function A(R) {
if (!p.size || !u) return;
const L = F().offsetTop, I = [];
let G = R + n.offset;
f && (G += L), p.forEach((O) => {
const H = O.to;
if (!H.startsWith("#")) return;
const U = document.querySelector(H);
U && I.push({
link: H,
offset: U.offsetTop
});
}), I.sort((O, H) => O.offset - H.offset), I.push({
link: "",
offset: 1 / 0
});
let ee = "";
for (let O = 0, H = I.length - 1; O < H; ++O) {
const U = I[O], q = I[O + 1];
if (U.offset <= G && q.offset > G) {
ee = U.link;
break;
}
}
i = R, s.value !== ee && (s.value = ee, o("update:active", ee), _(n.onChange, ee));
}
function z(R) {
if (c.value) return;
const L = f ? (R.target === window || R.target === document ? document.documentElement : R.target).scrollTop : R.clientY;
A(L), P();
}
function C() {
h && (h.removeScrollListener(z), h = null), u && u.removeEventListener("scroll", z);
}
function E(R) {
if (!n.forceActive && R === s.value || !R.startsWith("#") || R.length < 2)
return;
const L = document.querySelector(R);
if (!L) return;
clearTimeout(b), c.value = !0;
const I = L.offsetTop, G = Math.max(n.scrollDuration, 0);
if (f && u) {
const ee = F(), O = Math.min(
I - ee.offsetTop - n.offset,
ee.scrollHeight - ee.clientHeight
);
rb(ee, i, O, G, () => {
b = setTimeout(() => {
c.value = !1;
}, 10);
}), A(O), P();
} else if (h) {
const [ee, O] = h.getYScrollLimit(), H = Math.max(Math.min(I - n.offset, O), ee);
h.scrollTo(0, H, G).then(() => {
b = setTimeout(() => {
c.value = !1;
}, G + 10);
}), A(H), P();
} else
c.value = !1;
zt && n.bindHash && location && (location.hash = encodeURIComponent(s.value.replace(/^#/, "")));
}
function P() {
var L;
const R = Array.from(p).find(
(I) => I.to && I.to === s.value
);
if (R != null && R.el) {
const I = R.el.getBoundingClientRect(), G = ((L = m.value) == null ? void 0 : L.getBoundingClientRect().top) ?? 0;
d.value = I.top - G + I.height / 2 + 0.5;
}
}
return (R, L) => (S(), D("div", {
ref_key: "wrapper",
ref: m,
class: x({
[e(l).b()]: !0,
[e(l).bs("vars")]: !0,
[e(l).bm("inherit")]: e(n).inherit,
[e(l).bm("no-marker")]: !e(n).marker
})
}, [
oe("ul", {
class: x(e(l).be("list"))
}, [
W(R.$slots, "default", {}, () => [
y(e(me), {
renderer: e(n).slots.default
}, {
default: X(() => [
(S(!0), D(st, null, ln(e(n).options, (I) => (S(), Be(e(kd), {
key: I.to,
to: I.to,
title: I.title,
children: I.children
}, {
default: X(() => [
dt(ze(I.label), 1)
]),
_: 2
}, 1032, ["to", "title", "children"]))), 128))
]),
_: 1
}, 8, ["renderer"])
])
], 2),
y(En, {
appear: "",
name: e(n).markerTransition
}, {
default: X(() => [
e(n).marker && s.value ? (S(), D("div", {
key: 0,
class: x(e(l).be("marker")),
style: Qe({ top: `${d.value}px` })
}, [
W(R.$slots, "marker", {}, () => [
y(e(me), {
renderer: e(n).slots.marker
}, {
default: X(() => [
oe("div", {
class: x(e(l).be("pointer"))
}, null, 2)
]),
_: 1
}, 8, ["renderer"])
])
], 6)) : ge("", !0)
]),
_: 3
}, 8, ["name"])
], 2));
}
}), sb = ft({
tag: String,
gap: [Number, Array],
justify: String,
align: String,
columnFlex: {
type: [Boolean, Object],
default: null
}
}), _a = [Number, Object], ib = ft({
tag: String,
span: Number,
offset: Number,
push: Number,
pull: Number,
order: Number,
xs: _a,
sm: _a,
md: _a,
lg: _a,
xl: _a,
xxl: _a,
flex: [Number, String],
useFlex: {
type: [Boolean, Object],
default: null
}
}), ub = Object.freeze(["xs", "sm", "md", "lg", "xl", "xxl"]), Hs = "__VXP_GRID_ROW_STATE", cb = Object.freeze([
"start",
"end",
"center",
"space-around",
"space-between",
"space-evenly"
]), db = Object.freeze(["top", "middle", "bottom", "stretch"]), gi = Xe({
name: "Row",
props: sb,
setup(t, { slots: r }) {
const l = ct("row", t, {
tag: "div",
gap: 0,
justify: {
default: "start",
validator: (c) => cb.includes(c)
},
align: {
default: "top",
validator: (c) => db.includes(c)
},
columnFlex: !1
}), a = Ye("row"), n = g(() => [
a.b(),
a.bs("vars"),
a.bm(l.justify),
a.bm(l.align),
{
[a.bm("inherit")]: l.inherit
}
]), o = g(() => {
if (!l.gap) return null;
if (typeof l.gap == "number")
return {
[a.cv("h-gap")]: `${l.gap}px`
};
if (Array.isArray(l.gap)) {
const [c, d] = l.gap;
return {
[a.cv("h-gap")]: `${c}px`,
[a.cv("v-gap")]: `${d}px`
};
}
return null;
}), s = g(() => l.columnFlex === !0 ? {
justify: "start",
align: "top"
} : l.columnFlex ? {
justify: "start",
align: "top",
...l.columnFlex
} : !1);
return nn(
Hs,
pt({
columnFlex: s,
gap: qe(l, "gap")
})
), () => Jn(
l.tag || "div",
{
class: n.value,
style: o.value
},
{
default: () => r.default && r.default()
}
);
}
}), fb = ft({
method: String,
action: String,
model: Object,
rules: Object,
labelWidth: [Number, String],
labelAlign: String,
allRequired: M,
labelSuffix: String,
hideAsterisk: M,
validateAll: M,
hideLabel: M,
disabled: M,
loading: M,
size: An,
inline: M,
gap: [Number, Array],
justify: String,
align: String,
onSubmit: B()
}), Ba = [Number, Object], pb = ft({
locale: Mn(),
label: String,
prop: String,
name: String,
rules: [Object, Array],
labelWidth: Number,
required: M,
htmlFor: String,
errorTransition: String,
defaultValue: {
type: [String, Number, Boolean, Object, Array, Function],
default: null
},
hideErrorTip: M,
validateAll: M,
hideAsterisk: M,
hideLabel: M,
action: M,
help: String,
pure: M,
manual: M,
span: Number,
offset: Number,
push: Number,
pull: Number,
order: Number,
xs: Ba,
sm: Ba,
md: Ba,
lg: Ba,
xl: Ba,
xxl: Ba,
flex: [Number, String]
}), vb = ft({
size: An,
locale: Mn(),
type: String,
label: String,
dashed: M,
text: M,
simple: M,
ghost: M,
disabled: M,
circle: M,
loadingIcon: Xt,
loadingEffect: String,
icon: Xt,
color: String,
buttonType: String,
block: M,
tag: String,
onBeforeSubmit: Function,
onSubmit: B(),
onError: B()
}), hb = ft({
size: An,
locale: Mn(),
type: String,
label: String,
dashed: M,
text: M,
simple: M,
ghost: M,
disabled: M,
loading: M,
circle: M,
loadingIcon: Xt,
loadingEffect: String,
icon: Xt,
color: String,
buttonType: String,
block: M,
tag: String,
onBeforeReset: Function,
onReset: B()
}), yi = "__VXP_FORM_PROPS", wd = "__VXP_FORM_FIELDS", Yo = "__VXP_FORM_ACTIONS", Fr = "__VXP_FIELD_OPTIONS", mb = Object.freeze(["get", "post", "put", "delete"]), bb = Object.freeze(["right", "top", "left"]), gb = /* @__PURE__ */ Xe({
name: "Form",
inheritAttrs: !0,
__name: "form",
props: fb,
setup(t, { expose: r }) {
const a = ct("form", t, {
method: {
default: "post",
validator: (w) => mb.includes(w)
},
action: null,
model: {
default: () => ({}),
static: !0
},
rules: () => ({}),
labelWidth: "auto",
labelAlign: {
default: "right",
validator: (w) => bb.includes(w)
},
allRequired: !1,
labelSuffix: "",
hideAsterisk: !1,
validateAll: !1,
hideLabel: !1,
disabled: !1,
loading: !1,
size: On(),
inline: !1,
gap: [8, 0],
justify: "start",
align: "top"
}), n = Ye("form"), o = pt(/* @__PURE__ */ new Set()), s = g(() => [
n.b(),
n.bs("vars"),
n.bm(`label-${a.labelAlign}`),
{
[n.bm("inherit")]: a.inherit,
[n.bm("disabled")]: a.disabled,
[n.bm("loading")]: a.loading,
[n.bm(a.size)]: a.size !== "default",
[n.bm("inline")]: a.inline
}
]), c = g(() => Math.max(...Array.from(o).map((w) => w.labelWidth.value)));
nn(yi, a), nn(wd, o), nn(Yo, {
getLabelWidth: d,
validate: m,
validateFields: b,
reset: u,
resetFields: h,
clearError: i,
clearFieldsError: v
}), r({
validate: m,
validateFields: b,
reset: u,
resetFields: h,
clearError: i,
clearFieldsError: v
});
function d() {
return typeof a.labelWidth == "number" ? a.labelWidth : c.value;
}
function p() {
const w = {};
for (const T of o)
T.prop.value && (w[T.prop.value] = T);
return w;
}
function m() {
return f(o);
}
function b(w) {
Array.isArray(w) || (w = [w]);
const T = p(), F = /* @__PURE__ */ new Set();
return w.forEach((A) => {
T[A] && F.add(T[A]);
}), f(F);
}
function f(w) {
const T = [];
return w.forEach((F) => {
T.push(F.validate());
}), new Promise((F) => {
Promise.all(T).then((A) => {
F(A.flat().filter(Boolean));
});
});
}
function u() {
o.forEach((w) => {
w.reset();
});
}
function h(w) {
Array.isArray(w) || (w = [w]);
const T = p();
w.forEach((F) => {
T[F] && T[F].reset();
});
}
function i() {
o.forEach((w) => {
w.clearError();
});
}
function v(w) {
Array.isArray(w) || (w = [w]);
const T = p();
w.forEach((F) => {
T[F] && T[F].clearError();
});
}
function k(w) {
w.stopPropagation(), a.action || w.preventDefault(), _(a.onSubmit, w);
}
return (w, T) => (S(), Be(e(gi), He(w.$attrs, {
class: s.value,
inherit: e(a).inherit,
tag: "form",
method: e(a).action && e(a).method,
action: e(a).action,
gap: e(a).gap,
justify: e(a).justify,
align: e(a).align,
"column-flex": void 0,
onSubmit: k,
onReset: T[0] || (T[0] = gt(() => {
}, ["prevent", "stop"]))
}), {
default: X(() => [
W(w.$slots, "default")
]),
_: 3
}, 16, ["class", "inherit", "method", "action", "gap", "justify", "align"]));
}
});
function Au(t, r, l = !1) {
if (!t || !r) return null;
if (typeof r == "string") {
if (r in t) return t[r];
r = r.split(".");
}
if (Array.isArray(r) && r.length) {
const a = r.pop();
if (!a) return null;
for (let n = 0, o = r.length; n < o; ++n) {
const s = String(r[n]);
if (!s) break;
if (t = t[s], Tt(t)) {
if (l)
throw new Error("[vexip-ui:Form] Get value by an invalid path");
return t;
}
}
if (l && Tt(t[a]))
throw new Error("[vexip-ui:Form] Get value by an invalid path");
return t[a];
}
return null;
}
function bs(t, r, l, a = !1) {
if (!t || !r) return !1;
if (typeof r == "string") {
if (r in t)
return t[r] = l, !0;
r = r.split(".");
}
if (Array.isArray(r) && r.length) {
const n = r.pop();
if (!n) return !1;
for (let o = 0, s = r.length; o < s; ++o) {
const c = String(r[o]);
if (!c)
return !1;
if (typeof t[c] != "object") {
if (a)
throw new Error("[vexip-ui:Form] Set value by an invalid path");
t[c] = {};
}
t = t[c];
}
if (a && typeof t != "object")
throw new Error("[vexip-ui:Form] Set value by an invalid path");
return t[n] = l, !0;
}
return !1;
}
const Ru = g(() => {
}), yb = g(() => "default"), Mu = g(() => !1), kb = g(() => "default");
function Pu() {
return {
isField: !1,
idFor: Ru,
labelId: Ru,
state: yb,
disabled: Mu,
loading: Mu,
size: kb,
validateField: Qt,
clearField: Qt,
resetField: sa,
getFieldValue: (t) => t,
setFieldValue: Qt
};
}
function al(t) {
const r = _l();
if (!r) return Pu();
const l = Et(Fr, null);
if (!l)
return Pu();
nn(Fr, null), l.sync(r), t && l.emitter.on("focus", t), pn(() => {
l.unSync(r), t && l.emitter.off("focus", t);
});
function a(n) {
l && (l.setValue(n), l.clearError());
}
return {
isField: !0,
idFor: l.idFor,
labelId: l.labelId,
state: l.state,
disabled: l.disabled,
loading: l.loading,
size: l.size,
validateField: l.validate,
clearField: a,
resetField: l.reset,
getFieldValue: l.getValue,
setFieldValue: l.setValue
};
}
const wb = "Validate failed", xd = "1\\d\\d|2([0-4]\\d|5[0-5])", xb = `[1-9](\\d)?|${xd}`, gs = `\\d{1,2}|${xd}`, Sb = `(?:${xb})\\.(?:${gs})\\.(?:${gs})\\.(?:${gs})`, Cb = "(?:[a-zA-Z0-9][\\w-]*\\.)?(?:[a-zA-Z0-9][\\w-]*)(?:\\.[a-zA-Z]+){1,2}", Tb = "(?:(?:[\\/]+[^\\?\\.]+)+)?(?:[\\/]*)?(\\?([^&\\.]+=[^&\\.]*)(&[^&\\.]+=[^&\\.]*)*)?(#.*)?", $b = new RegExp(
`^(?:[a-z]{2,5}:(\\/+)?)?\\/\\/((?:${Sb})|(?:${Cb}))(?:${Tb})?$`
), Eb = /^(?:[a-zA-Z0-9][\w-]*)@(?:[a-zA-Z0-9][\w-]*)(?:\.[a-zA-Z]+){1,2}$/, Ab = /* @__PURE__ */ new Set([
"string",
"number",
"boolean",
"int",
"float",
"array",
"object",
"date",
"url",
"color",
"email"
]);
async function Rb(t, r, l, a = !0, n = wb) {
Array.isArray(t) || (t = [t]);
const o = [];
for (const s of t) {
const { message: c = n, validator: d } = s;
if (typeof d == "function") {
let p;
try {
p = d(r, l), Sl(p) && (p = await p);
} catch (m) {
p = m instanceof Error ? m.message : m;
}
if (p !== !0) {
const m = typeof p == "string" ? p : c;
if (o.push(m), !a) break;
}
}
if (s.required && !Mb(r) && (o.push(c), !a) || dn(r) && r !== "" && (s.enums && !Pb(r, s.enums) && (o.push(c), !a) || s.type && !zb(r, s.type, s) && (o.push(c), !a)))
break;
}
return o;
}
function Mb(t) {
return !(!dn(t) || t.toString().trim() === "" || Array.isArray(t) && !t.length || pl(t) && !Object.keys(t).length);
}
function Pb(t, r) {
if (!Array.isArray(r) || !r.length) return !0;
if (Array.isArray(t)) {
const l = new Set(r);
for (const a of t)
if (!l.has(a))
return !1;
return !0;
} else
return r.includes(t);
}
function zb(t, r, l = {}) {
if (!Ab.has(r)) return !0;
switch (r) {
case "string":
return Lb(t, l.length, l.range);
case "number":
return ki(t, l.strict, l.length, l.range);
case "boolean":
return Fb(t, l.strict);
case "int":
return Ib(t, l.strict, l.length, l.range);
case "float":
return Nb(t, l.strict, l.length, l.range);
case "array":
return Array.isArray(t);
case "object":
return pl(t);
case "date":
return Db(t, l.strict);
case "url":
return Ob(t);
case "color":
return typeof t == "string" && Tc(t);
case "email":
return _b(t);
}
}
function Lb(t, r, l) {
if (typeof t != "string" || dn(r) && t.length !== r)
return !1;
if (Array.isArray(l)) {
const [a, n] = l;
if (a && t.length < a || n && t.length > n) return !1;
}
return !0;
}
function ki(t, r, l, a) {
if (r) {
if (typeof t != "number") return !1;
} else if (t = Number(t), Number.isNaN(t)) return !1;
const n = t;
if (dn(l) && n.toString().length !== l)
return !1;
if (Array.isArray(a)) {
const [o, s] = a;
if (dn(o) && n < o || dn(s) && n > s) return !1;
}
return !0;
}
function Fb(t, r) {
if (!r) {
if (typeof t == "string")
return t === "true" || t === "false";
if (typeof t == "number")
return t === 1 || t === 0;
}
return typeof t == "boolean";
}
function Ib(t, r, l, a) {
if (ki(t, r, l, a)) {
const n = rn(t);
return Math.ceil(n) === n;
}
return !1;
}
function Nb(t, r, l, a) {
if (ki(t, r, l, a)) {
const n = rn(t);
return r ? Math.ceil(n) !== n : n.toString().includes(".");
}
return !1;
}
function Db(t, r) {
if (r && !(t instanceof Date))
return !1;
try {
gl(t);
} catch {
return !1;
}
return !0;
}
function Ob(t) {
return typeof t == "string" && $b.test(t);
}
function _b(t) {
return typeof t == "string" && Eb.test(t);
}
const Bb = ft({
size: An,
state: Zn,
locale: Mn(),
type: String,
prefix: Xt,
prefixColor: String,
suffix: Xt,
suffixColor: String,
formatter: Function,
value: [String, Number],
placeholder: String,
autofocus: M,
spellcheck: M,
autocomplete: hn,
readonly: M,
disabled: M,
controlClass: Bn,
debounce: M,
delay: Number,
maxLength: Number,
hideCount: M,
before: String,
after: String,
/**
* 是否显示切换 password 为明文的按钮
*/
plainPassword: M,
clearable: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
transparent: M,
sync: M,
controlAttrs: Object,
name: String,
slots: Object,
onFocus: B(),
onBlur: B(),
onInput: B(),
onChange: B(),
onEnter: B(),
onClear: B(),
onPrefixClick: B(),
onSuffixClick: B(),
onKeyDown: B(),
onKeyPress: B(),
onKeyUp: B(),
onCompositionStart: B(),
onCompositionEnd: B()
});
function Hb(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const Vb = Object.freeze(["text", "password", "date", "datetime", "time"]);
function ys(t) {
return Tt(t) ? "" : String(t);
}
const Vr = /* @__PURE__ */ Xe({
name: "Input",
props: Bb,
emits: ["update:value"],
setup(t, {
slots: r,
emit: l,
expose: a
}) {
const {
idFor: n,
labelId: o,
state: s,
disabled: c,
loading: d,
size: p,
validateField: m,
clearField: b,
getFieldValue: f,
setFieldValue: u
} = al(() => {
var Ke;
return (Ke = P.value) == null ? void 0 : Ke.focus();
}), h = ct("input", t, {
size: On(p),
state: ll(s),
locale: null,
type: {
default: "text",
validator: (Ke) => Vb.includes(Ke)
},
prefix: en(),
prefixColor: "",
suffix: en(),
suffixColor: "",
formatter: {
default: null,
isFunc: !0
},
value: {
default: () => f(),
static: !0
},
placeholder: null,
autofocus: !1,
spellcheck: !1,
autocomplete: !1,
readonly: !1,
disabled: () => c.value,
controlClass: null,
debounce: !1,
delay: null,
maxLength: 0,
hideCount: !1,
before: "",
after: "",
plainPassword: !1,
clearable: !1,
loading: () => d.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
transparent: !1,
sync: !1,
controlAttrs: null,
name: {
default: "",
static: !0
},
slots: () => ({})
}), i = ys(h.value), v = Ye("input"), k = Gt(), w = $(!1), T = $(i), F = $(!1), A = $(i.length), z = $(!1), C = $(!1), E = $(!1), P = $(), {
wrapper: R,
isHover: L
} = Ql(), I = vn("input", qe(h, "locale"));
let G = h.value;
const ee = g(() => !!(r.before || r.beforeAction || r["before-action"] || h.before || h.slots.before || h.slots.beforeAction)), O = g(() => !!(r.after || r.afterAction || r["after-action"] || h.after || h.slots.after || h.slots.afterAction)), H = g(() => ({
[v.bs("wrapper")]: !0,
[v.bs("vars")]: !0,
[v.bm("inherit")]: h.inherit,
[v.bm(h.size)]: h.size !== "default"
})), U = g(() => h.loading && h.loadingLock || h.readonly), q = g(() => [v.b(), v.bm(h.type), !ee.value && !O.value && H.value, {
[v.bm("focused")]: w.value,
[v.bm("disabled")]: h.disabled,
[v.bm("readonly")]: U.value,
[v.bm("loading")]: h.loading,
[v.bm(h.state)]: h.state !== "default",
[v.bm("before")]: r.beforeAction || r["before-action"] || h.slots.before,
[v.bm("after")]: r.afterAction || r["after-action"] || h.slots.after,
[v.bm("transparent")]: h.transparent,
[v.bm("plain-password")]: h.plainPassword
}]), Z = g(() => ({
...H.value,
[v.bm(`wrapper--${h.size}`)]: h.size !== "default",
[v.bs("wrapper--before-only")]: ee.value && !O.value,
[v.bs("wrapper--after-only")]: !ee.value && O.value,
[v.bm("transparent")]: h.transparent
})), K = g(() => !!(r.prefix || h.prefix || h.slots.prefix)), we = g(() => !!(r.suffix || h.suffix || h.slots.suffix)), de = g(() => {
const Ke = h.type;
return Ke === "password" ? F.value ? "text" : "password" : Ke === "datetime" ? "datetime-local" : Ke;
}), te = g(() => typeof h.formatter == "function" ? ys(h.formatter(T.value)) : T.value), Ee = g(() => F.value ? k.value.plainText : k.value.cipherText), Se = g(() => !(Tt(T.value) || T.value === "")), Ce = g(() => !h.disabled && !U.value && h.clearable && Se.value && L.value), fe = g(() => typeof h.autocomplete == "boolean" ? h.autocomplete ? "on" : "off" : h.autocomplete);
le(() => h.value, (Ke) => {
T.value = ys(Ke), G = T.value, J();
}), le([te, P], () => {
P.value && (P.value.value = te.value);
}, {
immediate: !0,
flush: "post"
}), a({
idFor: n,
labelId: o,
focused: w,
currentValue: T,
showPassword: F,
currentLength: A,
composing: E,
input: P,
copyValue: Mt,
focus: (Ke) => {
var Ct;
(Ct = P.value) == null || Ct.focus(Ke);
},
blur: () => {
var Ke;
(Ke = P.value) == null || Ke.blur();
}
});
function ot() {
return typeof h.value == "number" ? parseFloat(T.value) : T.value;
}
function Ze(Ke) {
w.value || (w.value = !0, _(h.onFocus, Ke));
}
function Je(Ke) {
w.value && (w.value = !1, setTimeout(() => {
w.value || (_(h.onBlur, Ke), G !== ot() && ue("change"));
}, 120));
}
function se(Ke) {
const Ct = Ke.type;
if (E.value) {
if (Ct === "input") return;
E.value = !1;
}
T.value = Ke.target.value, J();
const ve = T.value;
ne(ve, Ct);
}
function ne(Ke, Ct, ve = h.sync) {
T.value = Ke, ue(Ct, ve);
}
function ue(Ke, Ct = h.sync) {
Ke = Ke === "input" ? "input" : "change";
const ve = ot();
Ke === "change" ? (G = ve, Ct || (l("update:value", ve), u(ve)), _(h.onChange, ve), Ct || m()) : (Ct && (l("update:value", ve), u(ve)), _(h.onInput, ve), Ct && m());
}
function J() {
let Ke = T.value;
if (Tt(Ke)) {
A.value = 0;
return;
}
const Ct = h.maxLength;
Ct && Ke.length > Ct && (Ke = Ke.slice(0, Ct)), A.value = Ke.length, T.value = Ke;
}
function N() {
h.disabled || (F.value = !F.value, kt(() => {
var Ke;
(Ke = P.value) == null || Ke.focus();
}));
}
function j(Ke) {
var Ct;
h.disabled || U.value || (Ke.stopPropagation(), ne("", "change", !1), _(h.onClear), kt(() => b("")), A.value = 0, (Ct = P.value) == null || Ct.focus());
}
function ae() {
_(h.onEnter);
}
function be(Ke) {
_(h.onPrefixClick, Ke);
}
function re(Ke) {
_(h.onSuffixClick, Ke);
}
function ce(Ke) {
_(h.onKeyDown, Ke);
}
function Pe(Ke) {
_(h.onKeyPress, Ke);
}
function at(Ke) {
Ke.key === "Enter" && ae(), _(h.onKeyUp, Ke);
}
function yt(Ke) {
E.value = !0, _(h.onCompositionStart, Ke);
}
function Nt(Ke) {
E.value && (E.value = !1, P.value && P.value.dispatchEvent(new Event("input"))), _(h.onCompositionEnd, Ke);
}
function Mt() {
const Ke = document.createElement("input");
Ke.style.height = "0", Ke.setAttribute("readonly", "readonly"), Ke.value = T.value, document.body.appendChild(Ke), Ke.select();
const Ct = document.execCommand("copy");
return document.body.removeChild(Ke), Ct;
}
function Ht(Ke) {
Ke.preventDefault();
}
const _t = rn(h.delay), tn = h.debounce ? da(se, _t || 100) : Cl(se, _t || 16);
function Wt() {
return y("div", {
class: [v.be("icon"), v.be("prefix")],
style: {
color: h.prefixColor
},
onClick: be
}, [W(r, "prefix", void 0, () => [y(me, {
renderer: h.slots.prefix
}, {
default: () => [y(Oe, {
icon: h.prefix
}, null)]
})])]);
}
function un() {
return we.value ? y("div", {
key: "suffix",
class: [v.be("icon"), v.be("suffix")],
style: {
color: h.suffixColor,
opacity: Ce.value || h.loading ? "0%" : ""
},
onClick: re
}, [W(r, "suffix", void 0, () => [y(me, {
renderer: h.slots.suffix
}, {
default: () => [y(Oe, {
icon: h.suffix
}, null)]
})])]) : h.clearable || h.loading ? y("div", {
key: "placeholder",
class: [v.be("icon"), v.bem("icon", "placeholder")]
}, null) : null;
}
function qt() {
return Ce.value ? y("button", {
key: "clear",
class: [v.be("icon"), v.be("clear")],
type: "button",
tabindex: -1,
"aria-label": I.value.ariaLabel.clear,
onClick: j
}, [y(Oe, He(k.value.clear, {
label: "clear"
}), null)]) : h.loading ? y("div", {
key: "loading",
class: [v.be("icon"), v.be("loading")]
}, [y(Oe, He(k.value.loading, {
effect: h.loadingEffect || k.value.loading.effect,
icon: h.loadingIcon || k.value.loading.icon,
label: "loading"
}), null)]) : null;
}
function pe() {
let Ke;
return y("div", {
class: v.be("suffix-wrapper")
}, [un(), y(En, {
name: v.ns("fade"),
appear: !0
}, Hb(Ke = qt()) ? Ke : {
default: () => [Ke]
})]);
}
function Re() {
return y("div", {
class: v.be("count")
}, [W(r, "count", {
value: T.value
}, () => [y(me, {
renderer: h.slots.count,
data: {
value: T.value
}
}, {
default: () => [h.maxLength === 1 / 0 ? A.value : `${A.value}/${h.maxLength}`]
})])]);
}
function he() {
return h.type === "password" && h.plainPassword ? y("div", {
key: "password",
class: [v.be("icon"), v.be("password")],
style: {
color: h.suffixColor
},
onClick: N
}, [W(r, "password", {
plain: F.value
}, () => [y(me, {
renderer: h.slots.password,
data: {
plain: F.value
}
}, {
default: () => [y(Oe, Ee.value, null)]
})])]) : null;
}
function Fe() {
var Ke, Ct;
return y("div", {
id: n.value,
ref: R,
class: q.value,
onClick: () => {
var ve;
return (ve = P.value) == null ? void 0 : ve.focus();
}
}, [K.value && Wt(), y("input", He(h.controlAttrs, {
ref: P,
class: [v.be("control"), (Ke = h.controlAttrs) == null ? void 0 : Ke.class, h.controlClass],
type: de.value,
autofocus: h.autofocus,
autocomplete: fe.value,
spellcheck: h.spellcheck,
disabled: h.disabled,
readonly: U.value || void 0,
placeholder: h.placeholder ?? I.value.placeholder,
maxlength: h.maxLength > 0 ? h.maxLength : void 0,
name: h.name || ((Ct = h.controlAttrs) == null ? void 0 : Ct.name),
"aria-labelledby": o.value,
onBlur: Je,
onFocus: Ze,
onInput: tn,
onChange: se,
onKeypress: Pe,
onKeydown: ce,
onKeyup: at,
onSubmit: Ht,
onCompositionstart: yt,
onCompositionend: Nt
}), null), pe(), h.maxLength > 0 && !h.hideCount ? Re() : null, he()]);
}
function lt(Ke) {
const Ct = r[`${Ke}Action`] || r[`${Ke}-action`] || h.slots[`${Ke}Action`];
return Ct ? y("div", {
class: [v.be(Ke), v.bem(Ke, "action")],
onMouseenter: () => (Ke === "before" ? z : C).value = !0,
onMouseleave: () => (Ke === "before" ? z : C).value = !1
}, [Ct()]) : y("div", {
class: v.be(Ke)
}, [r[Ke] ? r[Ke]() : y(me, {
renderer: h.slots[Ke]
}, {
default: () => [h[Ke]]
})]);
}
return () => ee.value || O.value ? y("div", {
class: Z.value
}, [ee.value && lt("before"), Fe(), O.value && lt("after")]) : Fe();
},
methods: {
focus: Qt,
blur: Qt
}
}), jb = ft({
placement: String,
scroll: Number,
barLength: Number,
width: Number,
appear: M,
fade: Number,
barColor: String,
trackColor: String,
disabled: M,
wrapper: [String, Object],
duration: Number,
useTrack: M,
trackSpeed: Number,
onScrollStart: B(),
onScroll: B(),
onScrollEnd: B()
});
var ql = /* @__PURE__ */ ((t) => (t[t.HORIZONTAL = 0] = "HORIZONTAL", t[t.VERTICAL = 1] = "VERTICAL", t))(ql || {});
const Wb = Object.freeze([
"top",
"right",
"bottom",
"left"
]);
function Kb({
currentScroll: t = $(0),
trackSpeed: r = $(2),
track: l = $(null),
bar: a = $(null),
tracking: n = $(!1),
type: o = $(ql.VERTICAL),
barLength: s = $(35),
disabled: c = $(!1),
onDown: d = Qt,
onMove: p = Qt,
onUp: m = Qt,
onScroll: b = Qt
}) {
let f, u, h, i, v = !0, k = !1;
function w() {
if (!n.value) return;
k = !0;
const C = Ub(i, t.value);
let E = !1;
v ? t.value < i && (t.value += C * r.value, E = !0) : t.value > i && (t.value -= C * r.value, E = !0), E && (z(), b(t.value)), (n.value && v ? t.value < i : t.value > i) ? requestAnimationFrame(w) : k = !1;
}
function T(C) {
if (c.value || C.button > 0 || (C.stopPropagation(), C.preventDefault(), !l.value || !a.value)) return !1;
document.addEventListener("pointermove", F), document.addEventListener("pointerup", A);
const E = l.value.getBoundingClientRect(), P = a.value.getBoundingClientRect();
let R;
o.value === ql.VERTICAL ? (f = E.height, u = P.top - E.top, h = P.top, R = u + C.clientY - h) : (f = E.width, u = P.left - E.left, h = P.left, R = u + C.clientX - h), i = Math.max(
0,
Math.min(R / f / (100 - s.value / 2) * 1e4, 100)
), v = i >= t.value, n.value = !0, d(t.value), w();
}
function F(C) {
C.stopPropagation(), wl || C.preventDefault(), p(t.value);
let E;
o.value === ql.VERTICAL ? E = u + C.clientY - h : E = u + C.clientX - h, i = Math.max(
0,
Math.min(E / f / (100 - s.value / 2) * 1e4, 100)
), !k && w();
}
function A(C) {
C.preventDefault(), document.removeEventListener("pointermove", F), document.removeEventListener("pointerup", A), n.value = !1, m(t.value);
}
function z() {
t.value = Math.max(0, Math.min(t.value, 100));
}
return {
currentScroll: t,
trackSpeed: r,
track: l,
bar: a,
tracking: n,
type: o,
barLength: s,
disabled: c,
handleMouseDown: T
};
}
function Ub(t, r) {
const l = Math.abs(t - r);
for (let a = 0; a < 5; ++a)
if (l < (a + 1) * 20)
return 1 + 0.25 * a;
return 2;
}
const Ma = /* @__PURE__ */ Xe({
name: "Scrollbar",
__name: "scrollbar",
props: jb,
setup(t, { expose: r }) {
const a = ct("scrollbar", t, {
placement: {
default: "right",
validator: (H) => Wb.includes(H)
},
scroll: {
default: 0,
validator: (H) => H >= 0 && H <= 100,
static: !0
},
barLength: {
default: 35,
validator: (H) => H > 0 && H < 100
},
width: null,
appear: !1,
fade: 1500,
barColor: null,
trackColor: null,
disabled: !1,
wrapper: null,
duration: null,
useTrack: !1,
trackSpeed: {
default: 2,
validator: (H) => H > 0 && H < 10
}
}), n = Ye("scrollbar"), o = $(!1), s = $(!1), { manualRef: c, triggerUpdate: d } = ci(), { isRtl: p } = Un(), m = c(a.scroll), b = $(), f = $(), u = $(), { timer: h } = Vn(), i = g(() => a.placement === "right" || a.placement === "left" ? ql.VERTICAL : ql.HORIZONTAL), { tracking: v, handleMouseDown: k } = Kb({
currentScroll: m,
track: u,
bar: f,
type: i,
trackSpeed: qe(a, "trackSpeed"),
barLength: qe(a, "barLength"),
disabled: qe(a, "disabled"),
onDown: (H) => {
clearTimeout(h.fade), _(a.onScrollStart, H);
},
// onMove: () => clearTimeout(timer.fade),
onUp: (H) => {
G(), d(), _(a.onScrollEnd, H);
},
onScroll: (H) => {
d(), _(a.onScroll, H);
}
}), w = g(() => [
n.b(),
n.bs("vars"),
n.bm(a.placement),
{
[n.bm("inherit")]: a.inherit,
[n.bm("fade")]: a.fade,
[n.bm("scrolling")]: s.value,
[n.bm("tracking")]: v.value,
[n.bm("active")]: o.value,
[n.bm("disabled")]: a.disabled
}
]), T = g(() => ({
[n.cv("bar-bg-color")]: a.barColor,
[n.cv("track-bg-color")]: a.trackColor,
[n.cv("width")]: a.width ? `${a.width}px` : null
}));
le(
() => a.scroll,
(H) => {
m.value = H, d();
}
), In(() => {
if (!f.value) return;
const H = `${(100 - a.barLength) * m.value / a.barLength}%`, U = `${a.barLength}%`;
i.value === ql.VERTICAL ? (f.value.style.height = U, f.value.style.transform = `translate3d(0, ${H}, 0)`) : (f.value.style.width = U, f.value.style.transform = `translate3d(${p.value ? "-" : ""}${H}, 0, 0)`);
}), In(() => {
f.value && (f.value.style.transitionDuration = dn(a.duration) && a.duration >= 0 ? `${a.duration}ms` : "");
}), a.appear && le(m, () => {
clearTimeout(h.fade), o.value = !0, !s.value && !v.value && G();
});
const F = Cl(() => {
clearTimeout(h.fade), a.disabled ? o.value = !1 : (o.value = !0, !s.value && !v.value && G());
});
let A;
sn(() => {
let H = _l();
kt(() => {
var U, q, Z;
typeof a.wrapper == "string" ? A = document.querySelector(a.wrapper) : A = a.wrapper, A || (H != null && H.parent ? (A = (U = H.parent.proxy) == null ? void 0 : U.$el, A || (A = ((q = b.value) == null ? void 0 : q.parentElement) ?? null)) : A = ((Z = b.value) == null ? void 0 : Z.parentElement) ?? null), A && a.fade >= 300 && A.addEventListener("mousemove", F), H = null, a.appear || le(m, () => {
clearInterval(h.fade), o.value = !0, G();
});
});
}), pn(() => {
A && A.removeEventListener("mousemove", F), A = null, clearTimeout(h.fade);
}), r({
currentScroll: m,
container: b,
bar: f,
track: u,
handleScroll: ee
});
let z, C, E;
function P(H) {
if (H.button !== 0 || a.disabled || (H.stopPropagation(), H.preventDefault(), !u.value || !f.value)) return !1;
document.addEventListener("pointermove", R), document.addEventListener("pointerup", L);
const U = u.value.getBoundingClientRect(), q = f.value.getBoundingClientRect();
i.value === ql.VERTICAL ? (z = U.height, C = q.top - U.top, E = H.clientY) : (z = U.width, C = p.value ? q.right - U.right : q.left - U.left, E = H.clientX), clearTimeout(h.fade), s.value = !0, _(a.onScrollStart, m.value);
}
function R(H) {
H.stopPropagation(), wl || H.preventDefault();
let U;
i.value === ql.VERTICAL ? U = C + H.clientY - E : U = p.value ? -(C + H.clientX - E) : C + H.clientX - E, m.value = U / z / (100 - a.barLength) * 1e4, I(), d(), _(a.onScroll, m.value);
}
function L(H) {
H.preventDefault(), document.removeEventListener("pointermove", R), document.removeEventListener("pointerup", L), G(), s.value = !1, _(a.onScrollEnd, m.value);
}
function I() {
m.value = Math.max(0, Math.min(m.value, 100));
}
function G() {
a.fade >= 300 && (h.fade = setTimeout(() => {
o.value = !1;
}, a.fade));
}
function ee(H) {
Math.abs(m.value - H) < 1e-4 || (m.value = cn(H, 0, 100), d());
}
function O(H) {
H.cancelable && (H.stopPropagation(), H.preventDefault());
}
return (H, U) => (S(), D("div", {
ref_key: "container",
ref: b,
class: x(w.value),
role: "scrollbar",
style: Qe(T.value)
}, [
oe("div", {
ref_key: "track",
ref: u,
class: x([e(n).be("track"), e(a).useTrack ? null : e(n).bem("track", "disabled")]),
onTouchstart: O,
onPointerdown: U[0] || (U[0] = //@ts-ignore
(...q) => e(k) && e(k)(...q))
}, null, 34),
oe("div", {
ref_key: "bar",
ref: f,
class: x(e(n).be("bar")),
onTouchstart: O,
onPointerdown: P
}, null, 34)
], 6));
}
}), Xb = ft({
throttle: La,
disabled: M,
onResize: B()
}), zn = Xe({
name: "ResizeObserver",
props: Xb,
setup(t, { slots: r }) {
const l = ct("resizeObserver", t, {
throttle: {
default: !1,
validator: (b) => typeof b == "boolean" || b > 0
},
disabled: !1
}), { observeResize: a, unobserveResize: n } = Nm();
let o = !1;
function s(b) {
_(l.onResize, b);
}
const c = l.throttle ? Cl(s, typeof l.throttle == "boolean" ? 16 : l.throttle) : s, d = _l();
sn(() => {
le(
() => l.disabled,
(b) => {
b ? m() : p();
},
{ immediate: !0, flush: "post" }
);
}), pn(() => {
var b, f;
if (o) {
const u = (f = (b = _l()) == null ? void 0 : b.proxy) == null ? void 0 : f.$el;
u != null && u.nextElementSibling && n(u.nextElementSibling);
}
});
function p() {
var f;
if (o) return;
const b = (f = d == null ? void 0 : d.proxy) == null ? void 0 : f.$el;
if (b != null && b.nextElementSibling) {
if (b.nextElementSibling !== b.nextSibling && b.nodeType === 3 && b.nodeValue !== "")
return;
a(b.nextElementSibling, c), o = !0;
}
}
function m() {
var b;
if (o) {
const f = (b = d == null ? void 0 : d.proxy) == null ? void 0 : b.$el;
f != null && f.nextElementSibling && n(f.nextElementSibling), o = !1;
}
}
return () => W(r, "default");
}
}), Yb = ft({
scrollClass: Bn,
scrollStyle: kl,
scrollAttrs: Object,
mode: String,
width: [Number, String],
height: [Number, String],
disabled: M,
pointer: M,
scrollX: Number,
scrollY: Number,
useXBar: M,
useYBar: M,
barFade: Number,
barClass: Bn,
autoplay: La,
playWaiting: Number,
appear: M,
barDuration: Number,
useBarTrack: M,
scrollTag: String,
observeDeep: M,
scrollOnly: M,
onResize: B(),
onXEnabledChange: B(),
onYEnabledChange: B(),
onWheel: B(),
onScrollStart: B(),
onScroll: B(),
onScrollEnd: B(),
onBarScrollStart: B(),
onBarScroll: B(),
onBarScrollEnd: B()
});
function qb(t) {
const { el: r, xFrom: l = 0, xTo: a = 0, yFrom: n = 0, yTo: o = 0, duration: s = 500, callback: c = null } = t;
if (!r) return;
const d = () => {
typeof c == "function" && c();
};
if (s <= 0) {
r.scrollTo(a, o), d();
return;
}
const p = a - l, m = o - n;
if (!p && !m) {
d();
return;
}
const b = Math.ceil(p / s * 16), f = Math.ceil(m / s * 16);
let u = l, h = n;
const i = () => {
u += b, h += f, p && (a - u) / p <= 0 && (u = a), m && (o - h) / m <= 0 && (h = o), r.scrollTo(u, h), (!p || u === a) && (!m || h === o) ? d() : requestAnimationFrame(i);
};
i();
}
function Gb({
mode: t,
disabled: r,
appear: l,
scrollX: a,
scrollY: n,
onResize: o,
onBeforeRefresh: s,
onAfterRefresh: c
}) {
const { manualRef: d, triggerUpdate: p } = ci(), { isRtl: m } = Un(), b = $(), f = pt({
el: b,
scrollWidth: 0,
offsetWidth: 0,
scrollHeight: 0,
offsetHeight: 0
}), u = d(0), h = d(0), i = d(0), v = d(0), k = g(() => f.el ? f.scrollWidth - f.offsetWidth : 0), w = g(() => f.el ? f.scrollHeight - f.offsetHeight : 0), T = g(() => !r.value && t.value !== "vertical" && !!f.el && f.scrollWidth > f.offsetWidth), F = g(() => !r.value && t.value !== "horizontal" && !!f.el && f.scrollHeight > f.offsetHeight), A = g(() => f.el ? cn(f.offsetWidth / (f.scrollWidth || 1) * 100, 5, 99) : 35), z = g(() => f.el ? cn(f.offsetHeight / (f.scrollHeight || 1) * 100, 5, 99) : 35);
le(b, () => {
L();
}), le(a, (q) => {
C(q);
}), le(n, (q) => {
E(q);
});
function C(q) {
u.value = cn(q, 0, k.value), P();
}
function E(q) {
h.value = cn(q, 0, w.value), P();
}
function P() {
f.el && f.el.scrollTo({
top: h.value,
left: m.value ? -u.value : u.value,
behavior: "instant"
});
}
const { isMounted: R } = _r();
function L() {
!f.el || Fs(f.el) || (f.scrollWidth = f.el.scrollWidth, f.offsetWidth = f.el.offsetWidth, f.scrollHeight = f.el.scrollHeight, f.offsetHeight = f.el.offsetHeight, t.value !== "vertical" && C(!R.value && l.value ? a.value : u.value || 0), t.value !== "horizontal" && E(!R.value && l.value ? n.value : h.value || 0), I(), p());
}
function I() {
f.el && (i.value = m.value ? -br(u.value / (k.value || 1), 100, 2) : br(u.value / (k.value || 1), 100, 2), v.value = br(h.value / (w.value || 1), 100, 2));
}
function G(q) {
ee(), o == null || o(q);
}
sn(() => {
ee(), l.value && O(a.value, n.value);
});
const ee = Ln(() => new Promise((q) => {
typeof s == "function" && s(), L(), setTimeout(() => {
typeof c == "function" && c(), q();
}, 0);
}));
function O(q, Z, K = 500) {
return new Promise((we) => {
f.el && ((!T.value || Math.abs(u.value - q) < 0.01) && (q = u.value), (!F.value || Math.abs(h.value - Z) < 0.01) && (Z = h.value), qb({
duration: K,
el: f.el,
xFrom: u.value,
xTo: cn(q, 0, k.value),
yFrom: h.value,
yTo: cn(Z, 0, w.value),
callback: we
}));
});
}
function H(q, Z, K = 500) {
return O(u.value + q, h.value + Z, K);
}
function U(q, Z, K = 0) {
if (!f.el || (typeof q == "string" && (q = f.el.querySelector(q)), !Rl(q))) return Promise.resolve();
const we = f.el.getBoundingClientRect(), de = q.getBoundingClientRect();
let te = 0, Ee = 0;
return t.value !== "vertical" && (te = de.left - we.left + K), t.value !== "horizontal" && (Ee = de.top - we.top + K), O(te, Ee, Z);
}
return {
contentEl: b,
content: f,
x: u,
y: h,
percentX: i,
percentY: v,
xScrollLimit: k,
yScrollLimit: w,
enableXScroll: T,
enableYScroll: F,
xBarLength: A,
yBarLength: z,
handleResize: da(G),
setScrollX: C,
setScrollY: E,
computePercent: I,
refresh: ee,
scrollTo: O,
scrollBy: H,
scrollToElement: U,
triggerUpdate: p
};
}
function zu(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const Zb = Object.freeze(["horizontal", "vertical", "both"]), Lu = "mousemove", Fu = "mouseup", Al = /* @__PURE__ */ Xe({
name: "NativeScroll",
inheritAttrs: !1,
props: Yb,
emits: [],
setup(t, {
attrs: r,
slots: l,
expose: a
}) {
const n = ct("nativeScroll", t, {
scrollClass: null,
scrollStyle: null,
scrollAttrs: null,
mode: {
default: "vertical",
validator: (Ie) => Zb.includes(Ie)
},
width: "",
height: "",
disabled: !1,
pointer: !1,
scrollX: {
default: 0,
static: !0
},
scrollY: {
default: 0,
static: !0
},
useXBar: !1,
useYBar: !1,
barFade: 1500,
barClass: null,
autoplay: !1,
playWaiting: 500,
appear: !1,
barDuration: null,
useBarTrack: !1,
scrollTag: "div",
observeDeep: !1,
scrollOnly: !1
}), o = ai(), s = Ye("native-scroll"), {
isRtl: c
} = Un(), d = $(!1), p = $(!1), m = $(), b = $(), f = $();
let u = !1;
const {
contentEl: h,
content: i,
x: v,
y: k,
percentX: w,
percentY: T,
xScrollLimit: F,
yScrollLimit: A,
enableXScroll: z,
enableYScroll: C,
xBarLength: E,
yBarLength: P,
handleResize: R,
setScrollX: L,
setScrollY: I,
computePercent: G,
refresh: ee,
scrollTo: O,
scrollBy: H,
scrollToElement: U,
triggerUpdate: q
} = Gb({
mode: qe(n, "mode"),
disabled: qe(n, "disabled"),
appear: qe(n, "appear"),
// width: toRef(props, 'width'),
// height: toRef(props, 'height'),
scrollX: qe(n, "scrollX"),
scrollY: qe(n, "scrollY"),
onResize: (Ie) => {
_(n.onResize, Ie);
},
// onBeforeRefresh: stopAutoplay,
onAfterRefresh: () => {
ae(), u || (u = !0, Se());
}
}), Z = yl({
getState: he,
refresh: ee,
scrollTo: O,
scrollBy: H,
scrollToElement: U,
ensureInView: Ke
}), K = $(!1), we = g(() => n.mode !== "both" && (pc(n.autoplay) || +n.autoplay > 1e3) && (n.mode === "horizontal" && z.value || n.mode === "vertical" && C.value));
le([() => n.autoplay, () => n.playWaiting, h], () => {
Ce(), kt(Se);
});
let de, te, Ee;
pn(Ce);
function Se() {
if (Ce(), !we.value || !h.value) return;
const Ie = n.mode, Me = Ie === "horizontal" ? "offsetWidth" : "offsetHeight", Ge = Ie === "horizontal" ? F : A, mt = Ie === "horizontal" ? v : k, bt = n.playWaiting < 20 ? 20 : n.playWaiting, Ot = Ie === "horizontal" ? L : I;
let Vt = 0.5;
typeof n.autoplay == "number" && (Vt = h.value[Me] / n.autoplay * 16);
const $e = () => {
Ot(mt.value + Vt), mt.value >= Ge.value ? (Ot(Ge.value), K.value = !1, G(), q(), ae(), Ee = setTimeout(() => {
O(0, 0, 500), te = setTimeout(() => {
K.value = !0, $e();
}, 500 + bt);
}, bt)) : (G(), q(), ae(), K.value && requestAnimationFrame($e));
};
de = setTimeout(() => {
K.value = !0, $e();
}, bt);
}
function Ce() {
K.value = !1, clearTimeout(de), clearTimeout(te), clearTimeout(Ee);
}
const fe = g(() => [s.b(), s.bm(n.mode), {
[s.bm("inherit")]: n.inherit,
[s.bm("scrolling")]: p.value,
[s.bm("using-bar")]: d.value
}]), ot = g(() => {
const {
width: Ie,
height: Me
} = n;
return {
width: Ie ? typeof Ie == "string" ? Number.isNaN(Number(Ie)) ? Ie : `${Number(Ie)}px` : `${Ie}px` : void 0,
height: Me ? typeof Me == "string" ? Number.isNaN(Number(Me)) ? Me : `${Number(Me)}px` : `${Me}px` : void 0
};
}), Ze = g(() => {
var Ie;
return [(Ie = n.scrollAttrs) == null ? void 0 : Ie.class, n.scrollClass, s.be("wrapper")];
}), Je = g(() => we.value ? 0 : n.barFade), se = $(!1);
function ne() {
se.value = !0, kt(ee), requestAnimationFrame(() => {
se.value = !1;
});
}
let ue;
function J() {
!zt || !h.value || (ue = new MutationObserver(ne), ue.observe(h.value, {
childList: !0
}));
}
function N() {
ue == null || ue.disconnect(), ue = void 0;
}
le(h, () => {
N(), J();
}, {
immediate: !0
}), le(z, (Ie) => {
_(n.onXEnabledChange, Ie);
}), le(C, (Ie) => {
_(n.onYEnabledChange, Ie);
}), a({
x: v,
y: k,
percentX: w,
percentY: T,
xScrollLimit: F,
yScrollLimit: A,
xBarLength: E,
yBarLength: P,
enableXScroll: z,
enableYScroll: C,
wrapper: m,
content: h,
xBar: b,
yBar: f,
refresh: ee,
scrollTo: O,
scrollBy: H,
scrollToElement: U,
ensureInView: Ke,
getXScrollLimit: Fe,
getYScrollLimit: lt,
addScrollListener: Ct,
removeScrollListener: ve
});
function j() {
return {
clientX: (c.value ? -1 : 1) * v.value,
clientY: k.value,
percentX: w.value,
percentY: T.value
};
}
function ae() {
var Ie, Me;
(Ie = b.value) == null || Ie.handleScroll(w.value), (Me = f.value) == null || Me.handleScroll(T.value);
}
function be(Ie) {
if (!n.pointer || Ie.button !== 0 || wl)
return !1;
yt(Ie);
}
let re = 0, ce = 0, Pe = 0, at = 0;
function yt(Ie) {
if (!z.value && !C.value)
return !1;
tn(), re = v.value, ce = k.value, Pe = Ie.clientX, at = Ie.clientY, document.addEventListener(Lu, Nt), document.addEventListener(Fu, Mt), _(n.onScrollStart, j());
}
function Nt(Ie) {
Ie.stopPropagation(), Ie.preventDefault(), p.value = !0, z.value && L(re - (Ie.clientX - Pe)), C.value && I(ce - (Ie.clientY - at)), G(), q(), ae(), Re(n.mode);
}
function Mt() {
document.removeEventListener(Lu, Nt), document.removeEventListener(Fu, Mt), _(n.onScrollEnd, j()), Se();
}
function Ht(Ie, Me) {
const Ge = C.value && Me === "vertical", mt = z.value && Me === "horizontal", bt = Ie.deltaY > 0 ? 1 : -1;
if (_(n.onWheel, Ie, Me), Ge || mt) {
const Ot = Ge ? A.value : F.value, Vt = Ge ? k.value : v.value;
if (bt > 0 ? Vt < Ot : Vt > 0)
return Ie.stopPropagation(), !1;
}
}
function _t(Ie) {
var Ge;
if (!h.value) return;
Ie.stopPropagation();
const Me = ((Ge = h.value) == null ? void 0 : Ge.scrollLeft) !== v.value ? "horizontal" : "vertical";
k.value = h.value.scrollTop, v.value = h.value.scrollLeft, G(), q(), ae(), Re(Me);
}
function tn() {
Ce();
}
function Wt(Ie) {
d.value = !0, tn(), _(n.onBarScrollStart, {
...j(),
type: Ie
});
}
function un(Ie) {
d.value = !1, Se(), _(n.onBarScrollEnd, {
...j(),
type: Ie
});
}
function qt(Ie) {
w.value = Ie, L(Ie * F.value / 100), q(), _(n.onBarScroll, {
...j(),
type: "horizontal"
}), Re("horizontal");
}
function pe(Ie) {
T.value = Ie, I(Ie * A.value / 100), q(), _(n.onBarScroll, {
...j(),
type: "vertical"
}), Re("vertical");
}
function Re(Ie) {
_(n.onScroll, {
...j(),
type: Ie
}), o.emit("scroll", {
...j(),
type: Ie
});
}
function he() {
const {
clientX: Ie,
clientY: Me,
percentX: Ge,
percentY: mt
} = j();
return {
scrollX: Ie,
scrollY: Me,
percentX: Ge,
percentY: mt,
enableXScroll: z.value,
enableYScroll: C.value
};
}
function Fe() {
return [0, F.value];
}
function lt() {
return [0, A.value];
}
function Ke(Ie, Me, Ge = 0) {
if (!m.value || (typeof Ie == "string" && (Ie = m.value.querySelector(Ie)), !Rl(Ie))) return Promise.resolve();
const mt = m.value.getBoundingClientRect(), bt = Ie.getBoundingClientRect();
let Ot = 0, Vt = 0;
return n.mode !== "vertical" && (bt.left < mt.left + Ge ? Ot = bt.left - mt.left - Ge : bt.right > mt.right - Ge && (Ot = bt.right - mt.right + Ge)), n.mode !== "horizontal" && (bt.top < mt.top + Ge ? Vt = bt.top - mt.top - Ge : bt.bottom > mt.bottom - Ge && (Vt = bt.bottom - mt.bottom + Ge)), H(Ot, Vt, Me);
}
function Ct(Ie) {
o.on("scroll", Ie);
}
function ve(Ie) {
o.off("scroll", Ie);
}
function Ve() {
var Ge;
const Ie = n.scrollTag || "div", Me = n.observeDeep && l.default ? W(l, "default", Z).children : [];
return y(Ie, He(n.scrollAttrs, n.scrollOnly ? r : {}, {
ref: h,
class: Ze.value,
style: [(Ge = n.scrollAttrs) == null ? void 0 : Ge.style, n.scrollStyle, n.scrollOnly && ot.value],
onMousedown: be,
onWheelPassive: (mt) => Ht(mt, mt.shiftKey ? "horizontal" : "vertical"),
onScroll: _t
}), {
default: () => [l.extra && y("div", {
class: s.be("extra"),
style: {
width: se.value ? void 0 : `${i.scrollWidth}px`,
height: se.value ? void 0 : `${i.scrollHeight}px`
}
}, [y("div", {
class: s.be("extra-inner"),
style: {
width: `${i.offsetWidth}px`,
height: `${i.offsetHeight}px`
}
}, [W(l, "extra", Z)])]), l.default && (n.observeDeep ? Gc(Me).map((mt, bt) => y(zn, {
key: mt.key ?? bt,
"on-resize": R
}, {
default: () => mt
})) : W(l, "default", Z))]
});
}
return () => {
var Me, Ge;
let Ie;
if (n.scrollOnly) {
let mt;
return y(zn, {
"on-resize": R
}, zu(mt = Ve()) ? mt : {
default: () => [mt]
});
}
return y("div", He(r, {
ref: m,
class: [fe.value, r.class],
style: [ot.value, r.style]
}), [(Me = Yn(l, ["prefix-trap", "prefixTrap"])) == null ? void 0 : Me(), y(zn, {
"on-resize": R
}, zu(Ie = Ve()) ? Ie : {
default: () => [Ie]
}), n.useXBar && y(Ma, {
ref: b,
inherit: !0,
placement: "bottom",
class: [s.bem("bar", "horizontal"), n.barClass],
fade: Je.value,
"bar-length": E.value,
disabled: !z.value,
appear: n.appear,
duration: n.barDuration,
"use-track": n.useBarTrack,
onScrollStart: () => Wt("horizontal"),
onScroll: qt,
onScrollEnd: () => un("horizontal")
}, null), n.useYBar && y(Ma, {
ref: f,
inherit: !0,
placement: "right",
class: [s.bem("bar", "vertical"), n.barClass],
fade: Je.value,
"bar-length": P.value,
disabled: !C.value,
appear: n.appear,
duration: n.barDuration,
"use-track": n.useBarTrack,
onScrollStart: () => Wt("vertical"),
onScroll: pe,
onScrollEnd: () => un("vertical")
}, null), (Ge = Yn(l, ["suffix-trap", "suffixTrap"])) == null ? void 0 : Ge()]);
};
}
}), Jb = Jl({
value: Eo,
label: {
type: String,
default: ""
},
disabled: {
type: Boolean,
default: !1
},
divided: {
type: Boolean,
default: !1
},
title: {
type: String,
default: ""
},
hitting: {
type: Boolean,
default: !1
},
noHover: {
type: Boolean,
default: !1
},
selected: {
type: Boolean,
default: !1
},
onSelect: B()
}), Qb = Jl({
label: {
type: String,
default: ""
},
divided: {
type: Boolean,
default: !1
}
}), eg = ["title", "aria-disabled", "aria-selected"], qo = /* @__PURE__ */ Xe({
name: "Option",
__name: "option",
props: Jb,
setup(t) {
const r = t, l = Ye("option"), a = g(() => ({
[l.b()]: !0,
[l.bs("vars")]: !0,
[l.bm("disabled")]: r.disabled,
[l.bm("selected")]: !r.disabled && r.selected,
[l.bm("divided")]: r.divided,
[l.bm("hitting")]: r.hitting,
[l.bm("no-hover")]: r.noHover
}));
function n() {
r.disabled || _(r.onSelect);
}
return (o, s) => (S(), D("li", {
ref: "wrapper",
class: x(a.value),
title: o.title || void 0,
role: "option",
"aria-disabled": e(fl)(o.disabled),
"aria-selected": o.selected,
onClick: n
}, [
W(o.$slots, "default", {}, () => [
dt(ze(o.label || o.value), 1)
])
], 10, eg));
}
}), tg = ft({
items: Array,
tag: String,
attrFlag: hn,
static: M,
maxCount: Number,
onRestChange: B(),
onToggle: B()
});
function ng(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const Go = /* @__PURE__ */ Xe({
name: "Overflow",
inheritAttrs: !1,
props: tg,
emits: [],
setup(t, {
attrs: r,
slots: l,
expose: a
}) {
const n = ct("overflow", t, {
items: {
default: null,
static: !0
},
tag: "div",
attrFlag: !1,
static: !1,
maxCount: 0
}), o = Ye("overflow"), s = $(0), c = $(), d = $(), p = $(), m = g(() => [o.b(), o.bs("vars"), {
[o.bm("inherit")]: n.inherit,
[o.bm("manual")]: n.maxCount > 0
}]), b = g(() => n.attrFlag ? n.attrFlag === !0 ? "hidden" : n.attrFlag : !1);
le([() => {
var F;
return (F = n.items) == null ? void 0 : F.length;
}, () => n.maxCount], () => {
kt(w);
}), a({
refresh: w
}), sn(w);
function f(F, A) {
b.value ? A ? F.removeAttribute(b.value) : F.setAttribute(b.value, "") : A ? F.style.display = "" : F.style.display = "none";
}
function u(F) {
const A = getComputedStyle(F), z = parseFloat(A.marginLeft) || 0, C = parseFloat(A.marginRight) || 0;
return z + C;
}
function h(F) {
const A = F instanceof Element ? getComputedStyle(F) : F, z = parseFloat(A.paddingLeft) || 0, C = parseFloat(A.paddingRight) || 0;
return z + C;
}
function i(F) {
return F.offsetWidth + u(F);
}
let v = !1, k = s.value;
function w() {
const F = d.value;
if (!c.value || !F) return;
f(F, !0);
const A = c.value.children, z = A.length, C = p.value, E = z - (C ? 2 : 1);
let P = !1;
if (n.maxCount > 0) {
for (let H = 0; H < E; ++H) {
const U = A[H];
U.style.display = H < n.maxCount ? "" : "none";
}
n.maxCount >= E ? (f(F, !1), s.value = 0) : (s.value = E - n.maxCount, P = s.value > 0), T(P);
return;
}
const R = getComputedStyle(c.value), L = c.value.offsetWidth - h(R), I = parseFloat(R.columnGap) || 0, G = u(F), ee = [];
let O = C ? C.offsetWidth + u(C) + I : 0;
for (let H = 0; H < E; ++H) {
if (H < 0) continue;
const U = A[H];
if (P) {
f(U, !1);
continue;
} else
f(U, !0);
const q = i(U) + I;
if (O += q, ee[H] = q, O > L) {
for (let Z = H; Z >= 0; --Z)
if (s.value = E - Z, O -= ee[Z], O + F.offsetWidth + G <= L || !Z) {
P = !0, H = Z - 1, C && (C.style.maxWidth = H === -1 ? `${L - F.offsetWidth}px` : "");
break;
}
}
}
T(P);
}
function T(F) {
k !== s.value && (k = s.value, _(n.onRestChange, s.value)), d.value && f(d.value, F), F !== v && (v = F, _(n.onToggle, F));
}
return () => {
var R;
let F;
const A = n.tag || "div", z = l.default, C = n.static, E = ((R = l.counter) == null ? void 0 : R.call(l, {
count: s.value
})[0]) || null;
return y(zn, {
onResize: w
}, ng(F = y(A, He(r, {
ref: c,
class: m.value
}), {
default: () => [z && dn(n.items) ? n.items.map((L, I) => {
const G = z({
item: L,
index: I
})[0];
return C ? (G.key = I, G) : y(zn, {
key: I,
onResize: w
}, {
default: () => G
});
}) : z == null ? void 0 : z(), y("span", {
ref: d
}, [E]), l.suffix ? y(zn, {
onResize: w
}, {
default: () => [y("div", {
ref: p,
class: o.be("suffix")
}, [l.suffix()])]
}) : null]
})) ? F : {
default: () => [F]
});
};
}
}), Zo = /* @__PURE__ */ Xe({
name: "Portal",
__name: "portal",
props: {
to: {
type: String,
default: ""
}
},
setup(t) {
return (r, l) => (S(), Be(Mf, {
to: t.to || "body",
disabled: !t.to
}, [
W(r.$slots, "default")
], 8, ["to", "disabled"]));
}
}), lg = ft({
visible: M,
alive: M,
to: String,
transition: String,
appear: M,
role: String,
onBeforeEnter: B(),
onEnter: B(),
onAfterEnter: B(),
onEnterCancelled: B(),
onBeforeLeave: B(),
onLeave: B(),
onAfterLeave: B(),
onLeaveCancelled: B()
}), ag = Xe({
name: "Popper",
components: {
Portal: Zo
},
inheritAttrs: !1,
props: lg,
emits: [],
setup(t) {
const r = Ye("popper"), l = ct("popper", t, {
visible: !1,
alive: !1,
to: "",
transition: () => r.ns("drop"),
appear: !1,
role: "dialog"
}), a = Or(), n = $(10), o = $();
le(
() => l.visible,
(c) => {
l.to && c && (n.value = a());
},
{ immediate: !0 }
);
function s(c, d) {
switch (c) {
case "be":
_(l.onBeforeEnter, d);
break;
case "e":
_(l.onEnter, d);
break;
case "ae":
_(l.onAfterEnter, d);
break;
case "ec":
_(l.onEnterCancelled, d);
break;
case "bl":
_(l.onBeforeLeave, d);
break;
case "l":
_(l.onLeave, d);
break;
case "al":
_(l.onAfterLeave, d);
break;
case "lc":
_(l.onLeaveCancelled, d);
break;
}
}
return {
nh: r,
props: l,
zIndex: n,
wrapper: o,
emitHookEvent: s
};
}
}), jr = (t, r) => {
const l = t.__vccOpts || t;
for (const [a, n] of r)
l[a] = n;
return l;
}, rg = ["role"];
function og(t, r, l, a, n, o) {
const s = Js("Portal");
return S(), Be(s, {
to: t.props.to
}, {
default: X(() => [
y(En, {
name: t.props.transition,
appear: t.props.appear,
onBeforeEnter: r[0] || (r[0] = (c) => t.emitHookEvent("be", c)),
onEnter: r[1] || (r[1] = (c) => t.emitHookEvent("e", c)),
onAfterEnter: r[2] || (r[2] = (c) => t.emitHookEvent("ae", c)),
onEnterCancelled: r[3] || (r[3] = (c) => t.emitHookEvent("ec", c)),
onBeforeLeave: r[4] || (r[4] = (c) => t.emitHookEvent("bl", c)),
onLeave: r[5] || (r[5] = (c) => t.emitHookEvent("l", c)),
onAfterLeave: r[6] || (r[6] = (c) => t.emitHookEvent("al", c)),
onLeaveCancelled: r[7] || (r[7] = (c) => t.emitHookEvent("lc", c))
}, {
default: X(() => [
t.props.alive || t.props.visible ? el((S(), D("div", He({
key: 0,
ref: "wrapper"
}, t.$attrs, {
class: [t.nh.b(), t.props.to !== "body" && t.nh.bm("inherit")],
role: t.props.role,
style: { zIndex: t.props.to && t.props.visible ? t.zIndex : void 0 }
}), [
W(t.$slots, "default")
], 16, rg)), [
[tl, !t.props.alive || t.props.visible]
]) : ge("", !0)
]),
_: 3
}, 8, ["name", "appear"])
]),
_: 3
}, 8, ["to"]);
}
const Xl = /* @__PURE__ */ jr(ag, [["render", og]]), sg = ft({
size: An,
type: String,
border: M,
closable: M,
color: String,
simple: M,
circle: M,
prefix: [String, Number],
prefixBg: String,
prefixColor: String,
suffix: [String, Number],
suffixBg: String,
suffixColor: String,
disabled: M,
slots: Object,
onClose: B()
}), ig = Object.freeze(["default", "primary", "info", "success", "error", "warning", "lime", "pink", "magenta", "tomato", "orange", "cyan", "navy", "gold", "purple"]), Gl = /* @__PURE__ */ Xe({
name: "Tag",
components: {
Icon: Oe
},
props: sg,
emits: [],
setup(t, {
slots: r
}) {
const l = ct("tag", t, {
size: On(),
type: {
default: "default",
validator: (p) => ig.includes(p)
},
border: !1,
closable: !1,
color: null,
simple: !1,
circle: !1,
prefix: "",
prefixBg: "",
prefixColor: "",
suffix: "",
suffixBg: "",
suffixColor: "",
disabled: !1,
slots: () => ({})
}), a = Ye("tag"), n = Gt(), o = g(() => ({
[a.b()]: !0,
[a.bs("vars")]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm(l.size)]: l.size !== "default",
[a.bm(l.type)]: l.type !== "default",
[a.bm("border")]: l.border,
[a.bm("simple")]: l.simple,
[a.bm("circle")]: l.circle,
[a.bm("closable")]: l.closable,
[a.bm("disabled")]: l.disabled
})), s = g(() => {
if (!l.color) return;
const p = zt ? getComputedStyle(document.documentElement) : null, m = Qn((p == null ? void 0 : p.getPropertyValue(a.nv("color-white"))) || "#fff"), b = Qn(l.color), f = b.toString();
return a.cvm({
color: "var(--vxp-color-white)",
"bg-color": f,
"b-color": f,
"close-color": "var(--vxp-color-white)",
"d-color": ia(m, b, 0.3).toString(),
...l.simple || l.border ? {
color: f,
"close-color": f
} : {},
...l.simple ? {
"bg-color": ml(b, 0.2).toString()
} : {}
});
});
function c(p) {
if (!l.closable || l.disabled || p.button > 0)
return !1;
p.stopPropagation(), _(l.onClose);
}
function d() {
return l.closable ? y("button", {
type: "button",
class: a.be("close"),
onClick: c
}, [y(Oe, He(n.value.close, {
label: "close"
}), null)]) : null;
}
return () => {
const p = !!(l.prefix === 0 || l.prefix || r.prefix || l.slots.prefix), m = !!(l.suffix === 0 || l.suffix || r.suffix || l.slots.suffix);
return y("div", {
class: o.value,
style: s.value
}, [p ? y("span", {
class: [a.be("unit"), a.be("prefix")],
style: {
color: l.prefixColor,
backgroundColor: l.prefixBg,
borderColor: l.prefixBg
}
}, [W(r, "prefix", void 0, () => [y(me, {
renderer: l.slots.prefix
}, {
default: () => [l.prefix]
})])]) : null, y("span", {
class: [a.be("unit"), a.be("content")]
}, [W(r, "default", void 0, () => [y(me, {
renderer: l.slots.default
}, null)]), !m && d()]), m ? y("span", {
class: [a.be("unit"), a.be("suffix")],
style: {
color: l.suffixColor,
backgroundColor: l.suffixBg,
borderColor: l.suffixBg
}
}, [W(r, "suffix", void 0, () => [y(me, {
renderer: l.slots.suffix
}, {
default: () => [l.suffix]
})]), d()]) : null]);
};
}
}), ug = ft({
trigger: [String, Array],
wrapper: hn,
noArrow: M,
transitionName: String,
visible: M,
placement: String,
outsideClose: M,
noHover: M,
tipClass: Bn,
tipStyle: kl,
transfer: hn,
disabled: M,
raw: M,
delay: [Number, Array],
tipAlive: M,
reverse: M,
width: [String, Number],
virtual: Object,
shift: {
type: [Boolean, String],
default: null
},
onToggle: B(),
onTipEnter: B(),
onTipLeave: B(),
onClickOutside: B(),
onOutsideClose: B()
});
function cg(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const dg = dt("").type, Fl = /* @__PURE__ */ Xe({
name: "Tooltip",
inheritAttrs: !0,
props: ug,
emits: ["clickoutside", "update:visible"],
setup(t, {
attrs: r,
slots: l,
emit: a,
expose: n
}) {
const o = Ye("tooltip"), s = ct("tooltip", t, {
trigger: {
default: "hover",
validator: (fe) => ["hover", "click", "focus", "hover-focus", "custom"].includes(fe)
},
wrapper: !1,
noArrow: !1,
transitionName: () => o.ns("fade"),
visible: !1,
placement: {
default: "top",
validator: (fe) => Wl.includes(fe)
},
outsideClose: !0,
noHover: !1,
tipClass: null,
tipStyle: null,
transfer: !1,
disabled: !1,
raw: !1,
delay: 250,
tipAlive: !1,
reverse: !1,
width: "auto",
virtual: null,
shift: !1
}), c = Zl(), d = fa(), {
timer: p
} = Vn(), m = qe(s, "placement"), b = $(s.visible), f = $(s.visible), u = qe(s, "transfer"), h = $(100);
let i = !1, v = !1;
const k = g(() => s.trigger === "hover" || s.trigger === "hover-focus"), w = g(() => s.trigger === "focus" || s.trigger === "hover-focus"), T = $(), F = g(() => {
var ot;
const fe = ((ot = s.virtual) == null ? void 0 : ot.$el) ?? s.virtual;
if (fe) {
if ("getBoundingClientRect" in fe)
return fe;
if ("x" in fe && "y" in fe)
return {
getBoundingClientRect: () => ({
x: fe.x,
y: fe.y,
left: fe.x,
top: fe.y,
width: 0,
height: 0
})
};
}
return T.value;
}), A = g(() => Rl(F.value) ? F.value : null), z = g(() => typeof s.delay == "number" ? new Array(2).fill(Math.max(s.delay, 0)) : s.delay.map((fe) => Math.max(fe, 0))), C = $(), E = g(() => {
var fe;
return (fe = C.value) == null ? void 0 : fe.wrapper;
}), P = $(), R = g(() => {
if (!s.shift)
return {
mainAxis: !1,
crossAxis: !1
};
if (s.shift === !0 || s.shift === "both")
return {
mainAxis: !0,
crossAxis: !0
};
const fe = m.value.split("-")[0];
return s.shift === (fe === "top" || fe === "bottom" ? "vertical" : "horizontal") ? {
mainAxis: !1,
crossAxis: !0
} : {
mainAxis: !0,
crossAxis: !1
};
}), {
transferTo: L,
updatePopper: I
} = Kl({
placement: m,
transfer: u,
arrow: P,
reference: F,
shift: R,
wrapper: T,
popper: E
});
Hl(te, T), Hl(() => {
b.value && !T.value && te();
}, E);
const G = g(() => s.width === "auto" ? s.tipStyle : s.width === "trigger" ? [{
width: `${h.value}px`
}, s.tipStyle] : [{
width: `${s.width}px`
}, s.tipStyle]), ee = yl({
toggleVisible: O,
updatePopper: I
});
Dn(A, "mouseenter", q), Dn(A, "mouseleave", Z), Dn(A, "click", K), Dn(A, "focus", we), Dn(A, "blur", de), Dn(E, "mouseenter", q), Dn(E, "mouseleave", Z), le(() => s.visible, (fe) => {
b.value = fe, fe && (f.value = !0, I());
}), le(() => s.disabled, (fe) => {
fe && O(!1);
}), n({
rendering: f,
trigger: A,
toggleVisible: O,
updatePopper: I
});
function O(fe = !b.value) {
b.value !== fe && (b.value = fe, fe && (H(), f.value = !0, I()), a("update:visible", fe), _(s.onToggle, fe));
}
function H() {
A.value && (h.value = A.value.offsetWidth);
}
function U() {
return k.value && i || w.value && v;
}
function q() {
s.disabled || (k.value && (clearTimeout(p.hover), p.hover = setTimeout(() => {
i = !0, O(U());
}, z.value[0] ?? d.value)), _(s.onTipEnter));
}
function Z() {
s.disabled || (k.value && (clearTimeout(p.hover), p.hover = setTimeout(() => {
i = !1, O(U());
}, z.value[1] ?? d.value)), _(s.onTipLeave));
}
function K() {
s.disabled || s.trigger === "click" && O();
}
function we() {
s.disabled || w.value && (v = !0, O(U()));
}
function de() {
s.disabled || w.value && (v = !1, O(U()));
}
function te() {
s.disabled || (_(s.onClickOutside), s.outsideClose && s.trigger !== "custom" && b.value && (O(!1), _(s.onOutsideClose)));
}
function Ee(fe) {
fe ? T.value = fe.nextElementSibling : T.value = void 0;
}
function Se() {
f.value = b.value;
}
function Ce(fe) {
fe.stopPropagation();
}
return () => {
var se;
const fe = s.wrapper ? s.wrapper === !0 ? "span" : s.wrapper : null, ot = (se = l.trigger) == null ? void 0 : se.call(l, ee), Ze = ot ? ot[0] : null;
return [Ze && (fe ? y(fe, He(r, {
ref: T,
class: [o.b(), o.bs("vars"), s.inherit && o.bm("inherit")],
"aria-describedby": c.value
}), cg(ot) ? ot : {
default: () => [ot]
}) : y(st, {
ref: Ee
}, [Ze ? Ze.type === dg || Ze.type === st ? fe ? y("span", null, [Ze]) : y("span", r, [Ze]) : (fe || (Ze.props = He(Ze.props || {}, r, {
"aria-describedby": c.value
})), Ze) : null])), !s.disabled && (s.tipAlive || f.value) && y(Xl, {
ref: C,
id: c.value,
class: {
[o.be("popper")]: !0,
[o.bs("vars")]: !0,
[o.bem("popper", s.reverse ? "dark" : "light")]: !0,
[o.bem("popper", "no-hover")]: s.noHover,
[o.bem("popper", "no-arrow")]: s.noArrow
},
appear: !0,
visible: b.value,
alive: s.tipAlive,
to: L.value,
transition: s.transitionName,
role: "tooltip",
tabindex: -1,
onClick: Ce,
onAnimationend: Se,
onTransitionend: Se
}, {
default: () => [y("div", {
class: [!s.raw && o.be("tip"), s.tipClass],
style: G.value
}, [W(l, "default", ee)]), !s.raw && !s.noArrow && y("div", {
ref: P,
class: o.be("arrow")
}, null)]
})];
};
}
}), fg = ft({
items: Array,
itemSize: Number,
itemFixed: M,
idKey: String,
defaultKeyAt: [Number, String, Symbol],
bufferSize: Number,
listTag: String,
itemsTag: String,
hideBar: M,
lockItems: M,
itemsAttrs: Object,
autoplay: M,
ignoreResize: M,
disabled: M,
onScroll: B(),
onResize: B()
}), Wr = /* @__PURE__ */ Xe({
name: "VirtualList",
components: {
NativeScroll: Al,
ResizeObserver: zn
},
inheritAttrs: !1,
props: fg,
emits: [],
setup(t, {
slots: r,
attrs: l,
expose: a
}) {
const n = ct("virtualList", t, {
items: {
default: () => [],
static: !0
},
itemSize: 36,
itemFixed: !1,
idKey: "id",
defaultKeyAt: null,
bufferSize: 5,
listTag: "div",
itemsTag: "ul",
itemsAttrs: null,
hideBar: !1,
lockItems: !1,
autoplay: !1,
ignoreResize: !1,
disabled: !1
}), o = Ye("virtual-list"), {
items: s,
itemSize: c,
itemFixed: d,
idKey: p,
bufferSize: m
} = dc(n), b = $(), f = $(), u = g(() => {
var Z;
return (Z = b.value) == null ? void 0 : Z.content;
}), {
indexMap: h,
heightTree: i,
scrollOffset: v,
visibleItems: k,
listStyle: w,
itemsStyle: T,
handleScroll: F,
handleResize: A,
handleItemResize: z,
scrollTo: C,
scrollBy: E,
scrollToKey: P,
scrollToIndex: R,
ensureIndexInView: L,
ensureKeyInView: I
} = Vm({
items: s,
itemSize: c,
itemFixed: d,
idKey: p,
bufferSize: m,
wrapper: u,
defaultKeyAt: n.defaultKeyAt
});
a({
scroll: b,
wrapper: u,
list: f,
indexMap: h,
heightTree: i,
scrollOffset: v,
scrollTo: C,
scrollBy: E,
scrollToKey: P,
scrollToIndex: R,
ensureIndexInView: L,
ensureKeyInView: I,
refresh: U
}), le(() => n.items.length, () => {
kt(U);
});
const G = g(() => [o.b(), n.inherit && o.bm("inherit"), n.disabled && o.bm("disabled"), l.class]);
function ee(Z) {
F(), _(n.onScroll, Z);
}
function O(Z) {
n.ignoreResize || (A(Z), _(n.onResize, Z));
}
function H(Z, K) {
!n.lockItems && !n.ignoreResize && z(Z, K);
}
async function U() {
var Z;
await ((Z = b.value) == null ? void 0 : Z.refresh()), F();
}
function q(Z) {
const K = n.idKey, we = n.itemFixed, de = h.value, {
class: te,
style: Ee,
...Se
} = n.itemsAttrs || {}, Ce = n.listTag || "div", fe = n.itemsTag || "ul";
return y(zn, {
onResize: U
}, {
default: () => [y(Ce, {
ref: f,
class: o.be("list"),
style: w.value
}, {
default: () => [y(fe, He(Se, {
class: [o.be("items"), te],
style: [T.value, Ee]
}), {
default: () => [r.default && n.items.length ? Z.map((ot) => {
const Ze = ot[K], Je = de.get(Ze), se = W(r, "default", {
item: ot,
index: Je
});
if (we)
return se.key = Ze, se;
const ne = H.bind(null, Ze);
return y(zn, {
key: Ze,
onResize: ne
}, {
default: () => se
});
}) : W(r, "empty")]
})]
})]
});
}
return () => {
let Z = k.value;
return y(Al, He(l, {
ref: b,
class: G.value,
inherit: n.inherit,
"use-y-bar": !n.hideBar,
"scroll-y": v.value,
autoplay: n.autoplay,
onScroll: ee,
onResize: O
}), {
default: () => n.disabled ? r.default && n.items.length ? n.items.map((K, we) => {
const de = K[n.idKey], te = W(r, "default", {
item: K,
index: we
});
return te.key = de, te;
}) : W(r, "empty") : q(Z),
prefixTrap: Yn(r, ["prefix-trap", "prefixTrap"]),
suffixTrap: Yn(r, ["suffix-trap", "suffixTrap"])
});
};
}
}), pg = ft({
size: An,
state: Zn,
locale: Mn(),
visible: M,
options: Array,
disabled: M,
transitionName: String,
outsideClose: M,
placeholder: String,
prefix: Xt,
prefixColor: String,
suffix: Xt,
suffixColor: String,
noSuffix: M,
value: ph,
multiple: M,
clearable: M,
maxListHeight: Number,
listClass: Bn,
placement: String,
transfer: hn,
optionCheck: M,
emptyText: String,
staticSuffix: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
keyConfig: Object,
filter: {
type: [Boolean, Function],
default: null
},
ignoreCase: M,
creatable: M,
transparent: M,
maxTagCount: Number,
noRestTip: M,
tagType: String,
noPreview: M,
remote: M,
fitPopper: La,
name: String,
popperAlive: M,
countLimit: Number,
filterPosition: String,
slots: Object,
shift: M,
onFocus: B(),
onBlur: B(),
onToggle: B(),
onSelect: B(),
onCancel: B(),
onChange: B(),
onClickOutside: B(),
onOutsideClose: B(),
onClear: B(),
onFilterInput: B()
}), vg = Object.freeze({
value: "value",
label: "label",
disabled: "disabled",
divided: "divided",
title: "title",
group: "group",
children: "children"
}), hg = ["id", "aria-disabled", "aria-expanded", "aria-labelledby"], mg = ["disabled", "name"], bg = ["disabled", "name"], gg = ["aria-label"], yg = ["title"], wi = /* @__PURE__ */ Xe({
name: "Select",
__name: "select",
props: pg,
emits: ["update:value", "update:visible", "update:label"],
setup(t, { expose: r, emit: l }) {
function a(V, De) {
const _e = Array.isArray(V), rt = Array.isArray(De);
if (_e !== rt) return !1;
if (_e && rt) {
if (V.length !== De.length) return !1;
for (let xt = 0, Bt = V.length; xt < Bt; ++xt)
if (V[xt] !== De[xt]) return !1;
return !0;
}
return Tt(V) ? Tt(De) : V === De;
}
const {
idFor: n,
labelId: o,
state: s,
disabled: c,
loading: d,
size: p,
validateField: m,
clearField: b,
getFieldValue: f,
setFieldValue: u
} = al(We), h = Ye("select"), v = ct("select", t, {
size: On(p),
state: ll(s),
locale: null,
visible: {
default: !1,
static: !0
},
options: {
default: () => [],
static: !0
},
disabled: () => c.value,
transitionName: () => h.ns("drop"),
outsideClose: !0,
placeholder: null,
prefix: en(),
prefixColor: "",
suffix: en(),
suffixColor: "",
noSuffix: !1,
value: {
default: () => f(),
static: !0
},
multiple: !1,
clearable: !1,
maxListHeight: 300,
listClass: null,
placement: {
default: "bottom",
validator: (V) => Wl.includes(V)
},
transfer: !1,
optionCheck: !1,
emptyText: null,
staticSuffix: !1,
loading: () => d.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
keyConfig: () => ({}),
filter: !1,
ignoreCase: !1,
creatable: !1,
transparent: !1,
maxTagCount: 0,
noRestTip: !1,
tagType: null,
noPreview: !1,
remote: !1,
fitPopper: !1,
name: {
default: "",
static: !0
},
popperAlive: null,
countLimit: 0,
filterPosition: "in-control",
slots: () => ({}),
shift: !0
}), k = l, w = kn(), T = vn("select", qe(v, "locale")), F = Gt(), A = $(v.visible), z = $([]), C = $([]), E = $(-1), P = qe(v, "placement"), R = qe(v, "transfer"), L = $([]), I = $(""), G = $(0), ee = $([]), O = $(0), H = $(!1), U = $(!1), { isMounted: q } = _r(), Z = pt({
disabled: !1,
divided: !1,
title: "",
value: "",
label: "",
group: !1,
depth: 0,
parent: null,
hidden: !1,
hitting: !0,
data: ""
}), K = pt(/* @__PURE__ */ new Set()), we = $(), de = g(() => ee.value.concat(L.value)), te = g(() => de.value.filter((V) => !V.hidden)), Ee = g(() => ({ ...vg, ...v.keyConfig })), Se = Hl($e), Ce = $(), fe = $(), ot = $(), Ze = $(), Je = $(), se = $(), ne = g(() => {
var V;
return ((V = fe.value) == null ? void 0 : V.input) ?? Ce.value;
}), { reference: ue, transferTo: J, updatePopper: N } = Kl({
placement: P,
transfer: R,
wrapper: Se,
popper: g(() => {
var V;
return (V = Je.value) == null ? void 0 : V.wrapper;
}),
isDrop: !0,
shift: qe(v, "shift")
}), { isHover: j } = Ql(ue), ae = pt(/* @__PURE__ */ new Map()), be = $(/* @__PURE__ */ new Map());
let re = v.value;
const ce = $(0);
In(() => {
v.keyConfig.value, v.keyConfig.label, v.keyConfig.disabled, v.keyConfig.divided, v.keyConfig.title, v.keyConfig.group, v.keyConfig.children;
for (let V = 0, De = v.options.length; V < De; ++V)
v.options[V];
ce.value++;
}), le(ce, Pe, { immediate: !0 });
function Pe() {
const {
value: V,
label: De,
disabled: _e,
divided: rt,
title: xt,
group: Bt,
children: Ut
} = Ee.value, xn = be.value, qn = /* @__PURE__ */ new Map(), ul = [], Sn = v.options.map((jn) => ({ option: jn, depth: 0, parent: null })).reverse();
K.clear();
for (const jn of ee.value)
qn.set(jn.value, jn), K.add(jn.value);
for (; Sn.length; ) {
const { option: jn, depth: Wn, parent: Kt } = Sn.pop(), Pn = typeof jn == "string" ? { [V]: jn } : jn, mn = !!Pn[Bt], Tn = Pn[V];
if (!mn && Tt(Tn)) continue;
const ie = Pn[De] || String(Tn), {
[_e]: Ae = !1,
[rt]: tt = !1,
[xt]: St = "",
[Ut]: jt = null
} = Pn, Zt = xn.get(Pn.value), Nn = pt({
disabled: Ae,
divided: tt,
title: St,
value: Tn,
label: ie,
group: mn,
depth: Wn,
parent: Kt,
hidden: (Zt == null ? void 0 : Zt.hidden) ?? !1,
hitting: (Zt == null ? void 0 : Zt.hitting) ?? !1,
data: jn
});
ul.push(Nn), mn || (qn.set(Tn, Nn), K.add(String(Tn))), Array.isArray(jt) && jt.length && Sn.push(
...jt.map((Cn) => ({ option: Cn, depth: Wn + 1, parent: Nn })).reverse()
);
}
be.value = qn, L.value = ul, Ke(re);
}
cl({
target: Se,
passive: !1,
onKeyDown: (V, De) => {
if (U.value) {
V.stopPropagation();
return;
}
if (!A.value) {
(De.space || De.enter) && (V.preventDefault(), V.stopPropagation(), Vt());
return;
}
if (De.tab || De.escape) {
ve(!1), De.resetAll();
return;
}
za(
[
[
() => De.up || De.down,
() => {
const _e = te.value, rt = _e.length;
if (!rt) return;
const xt = De.down ? 1 : -1;
let Bt = (Math.max(-1, E.value + xt) + rt) % rt, Ut = _e[Bt];
for (let xn = 0; (Ut.disabled || Ut.group) && xn < rt; ++xn)
Bt += xt, Bt = (Bt + rt) % rt, Ut = _e[Bt];
Ve(Bt);
}
],
[
() => De.enter || !v.filter && De.space,
() => {
E.value >= 0 ? bt(tn.value[E.value]) : _t.value ? bt(Z) : ve(!1);
}
]
],
{
beforeMatchAny: () => {
V.preventDefault(), V.stopPropagation();
},
afterMatchAny: De.resetAll
}
);
}
});
const at = g(() => ({
[h.b()]: !0,
[h.ns("input-vars")]: !0,
[h.bs("vars")]: !0,
[h.bm("inherit")]: v.inherit,
[h.bm("multiple")]: v.multiple,
[h.bm("filter")]: v.filter,
[h.bm("responsive")]: v.multiple && v.maxTagCount <= 0,
[h.bm("disabled")]: v.disabled
})), yt = g(() => v.loading && v.loadingLock), Nt = g(() => {
const V = h.be("selector");
return {
[V]: !0,
[`${V}--focused`]: !v.disabled && A.value,
[`${V}--disabled`]: v.disabled,
[`${V}--readonly`]: yt.value,
[`${V}--loading`]: v.loading,
[`${V}--${v.size}`]: v.size !== "default",
[`${V}--${v.state}`]: v.state !== "default",
[`${V}--has-prefix`]: Ht.value,
[`${V}--has-suffix`]: !v.noSuffix,
[`${V}--transparent`]: v.transparent
};
}), Mt = g(
() => !Tt(C.value[0]) && (v.multiple || C.value[0] !== "")
), Ht = g(() => !!(w.prefix || v.prefix || v.slots.prefix)), _t = g(() => !!(v.filter && v.creatable && Z.value && !K.has(Z.value))), tn = g(() => _t.value ? [Z].concat(te.value) : te.value), Wt = g(() => de.value.filter((V) => !V.group)), un = g(() => {
const V = Wt.value, De = /* @__PURE__ */ new Map();
for (let _e = 0, rt = V.length; _e < rt; ++_e) {
const xt = V[_e];
xt.parent && De.set(xt.value, xt.parent);
}
return De;
}), qt = g(() => !v.disabled && !yt.value && v.clearable && j.value && Mt.value), pe = g(() => !v.noPreview && A.value ? we.value : void 0), Re = g(() => v.multiple && v.countLimit > 0 && C.value.length >= v.countLimit), he = g(() => v.filterPosition !== "in-control" ? !Mt.value && !pe.value && !!(v.placeholder ?? T.value.placeholder) : !U.value && !(Mt.value && (v.noPreview || v.multiple || !A.value)) && !(!pe.value && !(v.placeholder ?? T.value.placeholder)) && !(A.value && I.value));
function Fe(V) {
return Tt(V) ? null : be.value.get(V) ?? ae.get(V) ?? null;
}
function lt() {
requestAnimationFrame(() => {
var V;
N(), Se.value && ((V = Je.value) != null && V.wrapper) && (typeof v.fitPopper == "number" ? Je.value.wrapper.style.width = `${v.fitPopper}px` : v.fitPopper ? Je.value.wrapper.style.width = `${Se.value.offsetWidth}px` : Je.value.wrapper.style.minWidth = `${Se.value.offsetWidth}px`);
});
}
le(
() => v.visible,
(V) => {
A.value = V;
}
), le(A, (V) => {
V && (H.value = !1, Ct(), lt()), v.filterPosition !== "in-control" ? requestAnimationFrame(wn) : wn();
}), le(
() => v.value,
(V) => {
(!re || !a(V, re)) && (re = V, Ke(V), wn());
}
), le(
() => v.disabled,
(V) => {
V && ve(!1);
}
), le(yt, (V) => {
V && ve(!1);
}), le(I, (V) => {
Z.value = V, Z.label = V, Z.data = V, Me(V);
}), r({
idFor: n,
labelId: o,
currentVisible: A,
currentValues: C,
currentLabels: z,
optionStates: de,
isHover: j,
currentFilter: I,
composing: U,
visibleOptions: te,
totalOptions: tn,
wrapper: Se,
reference: ue,
popper: Je,
input: ne,
device: ot,
virtualList: Ze,
restTip: se,
updatePopper: N,
isSelected: Ie,
getOptionFromMap: Fe,
updateHitting: Ve,
handleClear: et,
focus: We,
blur: () => {
var V, De;
(V = ne.value) == null || V.blur(), (De = ue.value) == null || De.blur();
}
}), sn(() => {
wn(), v.visible && (H.value = !1, Ct(), lt());
});
function Ke(V) {
if (Tt(V)) {
C.value = [], z.value = [];
return;
}
const De = Array.isArray(V) ? V : [V], _e = new Set(De), rt = [], xt = [];
_e.forEach((Bt) => {
let Ut = Fe(Bt);
Ut ? (rt.push(Ut.value), xt.push(Ut.label), ae.has(Ut.value) || ae.set(Ut.value, Ut)) : v.remote && (Ut = pt({
value: Bt,
disabled: !1,
divided: !1,
title: "",
label: String(Bt),
group: !1,
depth: -1,
parent: null,
hidden: !0,
hitting: !1,
data: Bt
}), ae.set(Bt, Ut), rt.push(Bt), xt.push(Ut.label));
});
for (const Bt of Array.from(ae.keys()))
_e.has(Bt) || ae.delete(Bt);
C.value = rt, z.value = xt, Ct(), Me(I.value);
}
function Ct() {
const V = C.value[0];
if (Tt(V))
Ve(-1);
else {
if (!q.value) return;
Ve(te.value.findIndex((De) => De.value === V));
}
}
function ve(V) {
A.value !== V && (A.value = V, k("update:visible", V), _(v.onToggle, V));
}
function Ve(V, De = !0) {
E.value = V, we.value = void 0;
let _e = -1;
de.value.forEach((rt) => {
rt.hidden ? rt.hitting = !1 : (_e += 1, rt.hitting = V === _e, rt.hitting && (we.value = rt));
}), De && A.value && Ze.value && Ze.value.ensureIndexInView(V);
}
function Ie(V) {
return v.multiple ? C.value.includes(V.value) : C.value[0] === V.value;
}
function Me(V) {
const De = v.filter;
if (!(!De || v.remote)) {
if (!V)
de.value.forEach((_e) => {
_e.hidden = !1;
});
else {
if (de.value.forEach((rt) => {
rt.hidden = !0;
}), typeof De == "function")
Wt.value.forEach((rt) => {
rt.hidden = !De(V, rt);
});
else if (v.ignoreCase) {
const rt = V.toString().toLocaleLowerCase();
Wt.value.forEach((xt) => {
var Bt;
xt.hidden = !((Bt = xt.label) != null && Bt.toString().toLocaleLowerCase().includes(rt));
});
} else
Wt.value.forEach((rt) => {
var xt;
rt.hidden = !((xt = rt.label) != null && xt.toString().includes(V == null ? void 0 : V.toString()));
});
const _e = un.value;
Wt.value.forEach((rt) => {
if (!rt.hidden && rt.parent) {
let xt = _e.get(rt.value) || null;
for (; xt && xt.hidden; )
xt.hidden = !1, xt = xt.parent;
}
});
}
Ve(E.value);
}
}
function Ge(V) {
v.disabled || yt.value || !Tt(V) && bt(Fe(V));
}
function mt(V) {
var De;
Ge(V), H.value && ((De = se.value) == null || De.updatePopper());
}
function bt(V) {
if (!V) return;
const De = Ie(V), _e = V.value;
if (De)
ee.value.find((rt) => rt.value === _e) && (Ho(ee.value, (rt) => rt.value === _e), be.value.delete(_e)), ae.delete(_e);
else {
if (v.multiple || (ee.value.length = 0), Re.value) return;
if (Z.value && _e === Z.value) {
const rt = { ...Z };
ee.value.push(rt), be.value.set(_e, rt);
}
ae.set(V.value, V);
}
_(
v[v.multiple && De ? "onCancel" : "onSelect"],
_e,
V.data
), Ot(V), v.multiple ? (v.filterPosition === "in-control" && (I.value = "", wn()), requestAnimationFrame(N)) : ve(!1), G.value = 0;
}
function Ot(V) {
if (v.multiple) {
if (Ie(V)) {
const De = C.value.findIndex((_e) => _e === V.value);
~De && (C.value.splice(De, 1), z.value.splice(De, 1));
} else
C.value.push(V.value), z.value.push(V.label);
re = Array.from(C.value), k("update:value", re), k("update:label", z.value), u(re), _(
v.onChange,
re,
re.map((De) => {
var _e;
return ((_e = Fe(De)) == null ? void 0 : _e.data) ?? De;
})
), m();
} else {
const De = C.value[0];
C.value.length = 0, z.value.length = 0, C.value.push(V.value), z.value.push(V.label), De !== V.value && (re = V.value, k("update:value", re), k("update:label", z.value[0]), u(re), _(v.onChange, re, V.data), m());
}
}
function Vt() {
v.disabled || yt.value || ve(!A.value);
}
function $e() {
H.value = !1, _(v.onClickOutside), v.outsideClose && A.value && (ve(!1), _(v.onOutsideClose));
}
function et() {
if (!(v.disabled || yt.value) && v.clearable) {
for (const V of ee.value)
be.value.delete(V.value);
ae.clear(), ee.value.length = 0, C.value.length = 0, z.value.length = 0, H.value = !1, re = v.multiple ? [] : "", wn(), k("update:value", re), _(v.onChange, re, v.multiple ? [] : ""), _(v.onClear), b(re), N();
}
}
let vt = !1;
function an(V) {
vt || (vt = !0, _(v.onFocus, V));
}
function Rn(V) {
vt && (vt = !1, setTimeout(() => {
vt || _(v.onBlur, V);
}, 120));
}
function wn() {
if (!ne.value) return;
const V = A.value;
v.multiple ? ne.value.value = "" : ne.value.value = V ? "" : z.value[0] || "", V ? ne.value.focus() : ne.value.blur();
}
function Te() {
if (!ne.value || U.value) return;
let V;
I.value = ne.value.value, I.value ? _t.value || E.value !== -1 ? V = 0 : (V = te.value.findIndex(
(De) => String(De.label) === I.value
), V = V === -1 ? 0 : V) : V = -1, requestAnimationFrame(() => {
V || (V = te.value.findIndex(
(De) => !C.value.includes(De.value)
)), V !== E.value && Ve(V), v.multiple && ot.value && (G.value = Bo(ot.value)), N();
}), _(v.onFilterInput, I.value);
}
function Y() {
U.value && (U.value = !1, ne.value && ne.value.dispatchEvent(new Event("input")));
}
function ke(V) {
ne.value && v.filterPosition !== "in-list" && V.key === "Backspace" && !ne.value.value && !Tt(gn(C.value)) && (V.stopPropagation(), Ge(gn(C.value)));
}
function xe() {
A.value ? (Vt(), H.value = !1) : (H.value = !H.value, H.value && kt(() => {
var V;
(V = se.value) == null || V.updatePopper();
}));
}
function We(V) {
var De, _e;
A.value ? (De = ne.value || ue.value) == null || De.focus(V) : (_e = ue.value) == null || _e.focus(V);
}
return (V, De) => (S(), D("div", {
id: e(n),
ref_key: "wrapper",
ref: Se,
class: x(at.value),
role: "group",
"aria-disabled": e(fl)(e(v).disabled),
"aria-expanded": e(fl)(A.value),
"aria-haspopup": "listbox",
"aria-labelledby": e(o),
onClick: Vt
}, [
oe("div", {
ref_key: "reference",
ref: ue,
class: x(Nt.value),
tabindex: "0",
onFocus: an,
onBlur: De[9] || (De[9] = (_e) => {
(!e(v).filter || !A.value) && Rn(_e);
})
}, [
Ht.value ? (S(), D("div", {
key: 0,
class: x([e(h).be("icon"), e(h).be("prefix")]),
style: Qe({ color: e(v).prefixColor })
}, [
W(V.$slots, "prefix", {}, () => [
y(e(me), {
renderer: e(v).slots.prefix
}, {
default: X(() => [
y(e(Oe), {
icon: e(v).prefix
}, null, 8, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
], 6)) : ge("", !0),
oe("div", {
class: x(e(h).be("control"))
}, [
W(V.$slots, "control", {}, () => [
y(e(me), {
renderer: e(v).slots.control
}, {
default: X(() => [
e(v).multiple ? (S(), D(st, { key: 0 }, [
y(e(Go), {
inherit: "",
class: x([e(h).be("tags")]),
items: C.value,
"max-count": e(v).maxTagCount,
style: Qe({
maxWidth: e(v).maxTagCount <= 0 && `calc(100% - ${G.value}px)`
}),
onRestChange: De[0] || (De[0] = (_e) => O.value = _e),
onClick: gt(Vt, ["stop"])
}, {
default: X(({ item: _e, index: rt }) => [
W(V.$slots, "tag", {
value: _e,
option: Fe(_e),
handleClose: Ge.bind(null, _e)
}, () => [
y(e(me), {
renderer: e(v).slots.tag,
data: {
value: _e,
option: Fe(_e),
handleClose: Ge.bind(null, _e)
}
}, {
default: X(() => [
y(e(Gl), {
inherit: "",
class: x(e(h).be("tag")),
type: e(v).tagType,
closable: "",
disabled: e(v).disabled,
onClose: (xt) => Ge(_e)
}, {
default: X(() => [
oe("span", {
class: x(e(h).be("label"))
}, [
W(V.$slots, "selected", {
value: _e,
option: Fe(_e)
}, () => [
y(e(me), {
renderer: e(v).slots.selected,
data: { value: _e, option: Fe(_e) }
}, {
default: X(() => [
dt(ze(z.value[rt]), 1)
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 2)
]),
_: 2
}, 1032, ["class", "type", "disabled", "onClose"])
]),
_: 2
}, 1032, ["renderer", "data"])
])
]),
counter: X(({ count: _e }) => [
e(v).noRestTip ? W(V.$slots, "restTag", {
key: 0,
restCount: _e
}, () => [
y(e(me), {
renderer: e(v).slots.restTag,
data: { restCount: _e }
}, {
default: X(() => [
y(e(Gl), {
inherit: "",
class: x([e(h).be("tag"), e(h).be("counter")]),
type: e(v).tagType,
disabled: e(v).disabled
}, {
default: X(() => [
dt(ze(`+${_e}`), 1)
]),
_: 2
}, 1032, ["class", "type", "disabled"])
]),
_: 2
}, 1032, ["renderer", "data"])
]) : (S(), Be(e(Fl), {
key: 1,
ref_key: "restTip",
ref: se,
inherit: "",
transfer: !1,
visible: H.value,
trigger: "custom",
placement: "top",
"tip-class": e(h).be("rest-tip"),
onClick: gt(xe, ["stop"])
}, {
trigger: X(() => [
W(V.$slots, "restTag", { restCount: _e }, () => [
y(e(me), {
renderer: e(v).slots.restTag,
data: { restCount: _e }
}, {
default: X(() => [
y(e(Gl), {
inherit: "",
class: x([e(h).be("tag"), e(h).be("counter")]),
type: e(v).tagType,
disabled: e(v).disabled
}, {
default: X(() => [
dt(ze(`+${_e}`), 1)
]),
_: 2
}, 1032, ["class", "type", "disabled"])
]),
_: 2
}, 1032, ["renderer", "data"])
])
]),
default: X(() => [
y(e(Al), {
inherit: "",
"use-y-bar": ""
}, {
default: X(() => [
(S(!0), D(st, null, ln(C.value, (rt, xt) => (S(), D(st, { key: xt }, [
xt >= C.value.length - O.value ? W(V.$slots, "tag", {
key: 0,
value: rt,
option: Fe(rt),
handleClose: mt.bind(null, rt)
}, () => [
y(e(me), {
renderer: e(v).slots.tag,
data: {
value: rt,
option: Fe(rt),
handleClose: mt.bind(null, rt)
}
}, {
default: X(() => [
y(e(Gl), {
inherit: "",
class: x(e(h).be("tag")),
closable: "",
type: e(v).tagType,
disabled: e(v).disabled,
onClose: (Bt) => mt(rt)
}, {
default: X(() => [
oe("span", {
class: x(e(h).be("label"))
}, [
W(V.$slots, "selected", {
value: rt,
option: Fe(rt)
}, () => [
y(e(me), {
renderer: e(v).slots.selected,
data: { value: rt, option: Fe(rt) }
}, {
default: X(() => [
dt(ze(z.value[xt]), 1)
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 2)
]),
_: 2
}, 1032, ["class", "type", "disabled", "onClose"])
]),
_: 2
}, 1032, ["renderer", "data"])
]) : ge("", !0)
], 64))), 128))
]),
_: 3
})
]),
_: 2
}, 1032, ["visible", "tip-class"]))
]),
_: 3
}, 8, ["class", "items", "max-count", "style"]),
e(v).filter && e(v).filterPosition === "in-control" ? (S(), D("div", {
key: 0,
class: x(e(h).be("anchor")),
style: Qe({
width: `${G.value}px`
})
}, [
oe("input", {
ref_key: "nativeInput",
ref: Ce,
class: x([
e(h).be("input"),
e(h).bem("input", "multiple"),
A.value && e(h).bem("input", "visible")
]),
disabled: e(v).disabled,
autocomplete: "off",
tabindex: "-1",
role: "combobox",
"aria-autocomplete": "list",
name: e(v).name,
onSubmit: De[1] || (De[1] = gt(() => {
}, ["prevent"])),
onInput: Te,
onKeydown: ke,
onFocus: De[2] || (De[2] = (_e) => an(_e)),
onBlur: De[3] || (De[3] = (_e) => Rn(_e)),
onCompositionstart: De[4] || (De[4] = (_e) => U.value = !0),
onCompositionend: Y,
onChange: Y
}, null, 42, mg),
oe("span", {
ref_key: "device",
ref: ot,
class: x(e(h).be("device")),
"aria-hidden": "true"
}, ze(I.value), 3)
], 6)) : ge("", !0)
], 64)) : (S(), D(st, { key: 1 }, [
e(v).filter && e(v).filterPosition === "in-control" ? (S(), D("input", {
key: 0,
ref_key: "nativeInput",
ref: Ce,
class: x([e(h).be("input"), A.value && e(h).bem("input", "visible")]),
disabled: e(v).disabled,
autocomplete: "off",
tabindex: "-1",
role: "combobox",
"aria-autocomplete": "list",
name: e(v).name,
style: Qe({
opacity: A.value ? void 0 : "0%"
}),
onSubmit: De[5] || (De[5] = gt(() => {
}, ["prevent"])),
onInput: Te,
onFocus: De[6] || (De[6] = (_e) => an(_e)),
onBlur: De[7] || (De[7] = (_e) => Rn(_e)),
onCompositionstart: De[8] || (De[8] = (_e) => U.value = !0),
onCompositionend: Y,
onChange: Y
}, null, 46, bg)) : ge("", !0),
(e(v).noPreview || !A.value) && Mt.value && (e(v).filterPosition !== "in-control" || !I.value) ? (S(), D("span", {
key: 1,
class: x({
[e(h).be("selected")]: !0,
[e(h).bem("selected", "placeholder")]: e(v).filter && A.value && Mt.value
})
}, [
Fe(C.value[0]) ? W(V.$slots, "selected", {
key: 0,
value: C.value[0],
option: Fe(C.value[0])
}, () => [
y(e(me), {
renderer: e(v).slots.selected,
data: { value: C.value[0], option: Fe(C.value[0]) }
}, {
default: X(() => [
dt(ze(z.value[0]), 1)
]),
_: 1
}, 8, ["renderer", "data"])
]) : (S(), D(st, { key: 1 }, [
dt(ze(z.value[0]), 1)
], 64))
], 2)) : ge("", !0)
], 64)),
he.value ? (S(), D("span", {
key: 2,
class: x(e(h).be("placeholder"))
}, [
pe.value ? W(V.$slots, "selected", {
key: 0,
preview: !0,
value: pe.value.value,
option: pe.value
}, () => [
y(e(me), {
renderer: e(v).slots.selected,
data: { value: pe.value.value, preview: !0, option: pe.value }
}, {
default: X(() => [
dt(ze(pe.value.label), 1)
]),
_: 1
}, 8, ["renderer", "data"])
]) : (S(), D(st, { key: 1 }, [
dt(ze(e(v).placeholder ?? e(T).placeholder), 1)
], 64))
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["renderer"])
])
], 2),
e(v).noSuffix ? e(v).clearable || e(v).loading ? (S(), D("div", {
key: 2,
class: x([e(h).be("icon"), e(h).bem("icon", "placeholder"), e(h).be("suffix")])
}, null, 2)) : ge("", !0) : (S(), D("div", {
key: 1,
class: x([e(h).be("icon"), e(h).be("suffix")]),
style: Qe({
color: e(v).suffixColor,
opacity: qt.value || e(v).loading ? "0%" : ""
})
}, [
W(V.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(v).slots.suffix
}, {
default: X(() => [
e(v).suffix ? (S(), Be(e(Oe), {
key: 0,
icon: e(v).suffix,
class: x({
[e(h).be("arrow")]: !e(v).staticSuffix
})
}, null, 8, ["icon", "class"])) : (S(), Be(e(Oe), He({ key: 1 }, e(F).angleDown, {
class: e(h).be("arrow")
}), null, 16, ["class"]))
]),
_: 1
}, 8, ["renderer"])
])
], 6)),
y(En, {
name: e(h).ns("fade"),
appear: ""
}, {
default: X(() => [
qt.value ? (S(), D("button", {
key: 0,
class: x([e(h).be("icon"), e(h).be("clear")]),
type: "button",
tabindex: "-1",
"aria-label": e(T).ariaLabel.clear,
onClick: gt(et, ["stop"])
}, [
y(e(Oe), He(e(F).clear, { label: "clear" }), null, 16)
], 10, gg)) : e(v).loading ? (S(), D("div", {
key: 1,
class: x([e(h).be("icon"), e(h).be("loading")])
}, [
y(e(Oe), He(e(F).loading, {
effect: e(v).loadingEffect || e(F).loading.effect,
icon: e(v).loadingIcon || e(F).loading.icon,
label: "loading"
}), null, 16, ["effect", "icon"])
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["name"])
], 34),
y(e(Xl), {
ref_key: "popper",
ref: Je,
class: x([e(h).be("popper"), e(h).bs("vars")]),
visible: A.value,
to: e(J),
transition: e(v).transitionName,
alive: e(v).popperAlive ?? !e(J),
onClick: gt(We, ["stop"]),
onAfterLeave: De[11] || (De[11] = (_e) => I.value = "")
}, {
default: X(() => [
W(V.$slots, "list", {
options: tn.value,
isSelected: Ie,
handleSelect: bt
}, () => [
y(e(me), {
renderer: e(v).slots.list,
data: { options: tn.value, isSelected: Ie, handleSelect: bt }
}, {
default: X(() => [
oe("div", {
class: x([
e(h).be("list"),
(w.prepend || w.append) && e(h).bem("list", "with-extra"),
e(v).listClass
])
}, [
e(v).filter && e(v).filterPosition === "in-list" ? (S(), D("div", {
key: 0,
class: x(e(h).be("filter"))
}, [
y(e(Vr), {
ref_key: "filterInput",
ref: fe,
class: x(e(h).be("filter-input")),
transparent: "",
disabled: e(v).disabled,
placeholder: e(T).search,
autocomplete: !1,
tabindex: -1,
role: "combobox",
"aria-autocomplete": "list",
onInput: Te,
onKeydown: ke,
onFocus: an,
onBlur: Rn,
onCompositionstart: De[10] || (De[10] = (_e) => U.value = !0),
onCompositionend: Y,
onChange: Y
}, {
suffix: X(() => [
y(e(Oe), It(Yt(e(F).search)), null, 16)
]),
_: 1
}, 8, ["class", "disabled", "placeholder"])
], 2)) : ge("", !0),
w.prepend || e(v).slots.prepend ? W(V.$slots, "prepend", { key: 1 }, () => [
y(e(me), {
renderer: e(v).slots.prepend
}, null, 8, ["renderer"])
]) : ge("", !0),
y(e(Wr), {
ref_key: "virtualList",
ref: Ze,
inherit: "",
style: Qe({
height: void 0,
maxHeight: `${e(v).maxListHeight}px`
}),
items: tn.value,
"item-size": 32,
"use-y-bar": "",
height: "100%",
"id-key": "value",
"items-attrs": {
class: [e(h).be("options"), e(v).optionCheck ? e(h).bem("options", "has-check") : ""],
role: "listbox",
ariaLabel: "options",
ariaMultiselectable: e(v).multiple
}
}, {
default: X(({ item: _e, index: rt }) => [
_e.group ? (S(), D("li", {
key: 0,
class: x([e(h).ns("option-vars"), e(h).be("group")]),
title: _e.label
}, [
W(V.$slots, "group", {
option: _e,
index: rt
}, () => [
y(e(me), {
renderer: e(v).slots.group,
data: { option: _e, index: rt }
}, {
default: X(() => [
oe("div", {
class: x([e(h).be("label"), e(h).bem("label", "group")]),
style: Qe({ paddingInlineStart: `${_e.depth * 6}px` })
}, ze(_e.label), 7)
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 10, yg)) : (S(), Be(e(qo), {
key: 1,
label: _e.label,
value: _e.value,
disabled: _e.disabled || Re.value && !Ie(_e),
divided: _e.divided,
"no-title": _e.title,
hitting: _e.hitting,
selected: Ie(_e),
"no-hover": "",
onSelect: (xt) => bt(_e),
onMousemove: (xt) => Ve(rt, !1)
}, {
default: X(() => [
W(V.$slots, "default", {
option: _e,
index: rt,
selected: Ie(_e)
}, () => [
y(e(me), {
renderer: e(v).slots.default,
data: { option: _e, index: rt, selected: Ie(_e) }
}, {
default: X(() => [
oe("span", {
class: x(e(h).be("label")),
style: Qe({ paddingInlineStart: `${_e.depth * 6}px` })
}, ze(_e.label), 7),
e(v).optionCheck ? (S(), Be(En, {
key: 0,
name: e(h).ns("fade"),
appear: ""
}, {
default: X(() => [
Ie(_e) ? (S(), Be(e(Oe), He({ key: 0 }, e(F).check, {
class: e(h).be("check")
}), null, 16, ["class"])) : ge("", !0)
]),
_: 2
}, 1032, ["name"])) : ge("", !0)
]),
_: 2
}, 1032, ["renderer", "data"])
])
]),
_: 2
}, 1032, ["label", "value", "disabled", "divided", "no-title", "hitting", "selected", "onSelect", "onMousemove"]))
]),
empty: X(() => [
oe("div", {
class: x(e(h).be("empty"))
}, [
W(V.$slots, "empty", {}, () => [
y(e(me), {
renderer: e(v).slots.empty
}, {
default: X(() => [
dt(ze(e(v).emptyText ?? e(T).empty), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)
]),
_: 3
}, 8, ["style", "items", "items-attrs"]),
w.append || e(v).slots.append ? W(V.$slots, "append", { key: 2 }, () => [
y(e(me), {
renderer: e(v).slots.append
}, null, 8, ["renderer"])
]) : ge("", !0)
], 2)
]),
_: 3
}, 8, ["renderer", "data"])
])
]),
_: 3
}, 8, ["class", "visible", "to", "transition", "alive"])
], 10, hg));
}
}), kg = ft({
size: An,
state: Zn,
locale: Mn(),
transfer: hn,
value: [String, Number],
options: Array,
filter: {
type: [Boolean, Function],
default: null
},
prefix: Xt,
prefixColor: String,
suffix: Xt,
suffixColor: String,
placeholder: String,
disabled: M,
transitionName: String,
dropDisabled: M,
placement: String,
clearable: M,
ignoreCase: M,
autofocus: M,
spellcheck: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
transparent: M,
debounce: M,
delay: Number,
keyConfig: Object,
showEmpty: M,
name: String,
popperAlive: M,
slots: Object,
shift: M,
onFocus: B(),
onBlur: B(),
onSelect: B(),
onInput: B(),
onChange: B(),
onToggle: B(),
onEnter: B(),
onClear: B()
}), wg = ["autofocus", "spellcheck", "disabled", "placeholder", "readonly", "name"], xg = /* @__PURE__ */ Xe({
name: "AutoComplete",
__name: "auto-complete",
props: kg,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const a = $(), n = $(), {
idFor: o,
labelId: s,
state: c,
disabled: d,
loading: p,
size: m,
validateField: b,
clearField: f,
getFieldValue: u,
setFieldValue: h
} = al(() => {
var ae;
return (ae = n.value) == null ? void 0 : ae.focus();
}), i = Ye("auto-complete"), k = ct("autoComplete", t, {
size: On(m),
state: ll(c),
locale: null,
transfer: !1,
value: {
default: () => u(),
static: !0
},
options: {
default: () => [],
static: !0
},
filter: !1,
prefix: en(),
prefixColor: "",
suffix: en(),
suffixColor: "",
placeholder: null,
disabled: () => d.value,
transitionName: () => i.ns("drop"),
dropDisabled: !1,
placement: {
default: "bottom",
validator: (ae) => Wl.includes(ae)
},
clearable: !1,
ignoreCase: !1,
autofocus: !1,
spellcheck: !1,
keyConfig: () => ({}),
loading: () => p.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
transparent: !1,
debounce: !1,
delay: null,
showEmpty: !1,
name: {
default: "",
static: !0
},
popperAlive: null,
slots: () => ({}),
shift: !0
}), w = l, T = kn(), F = vn("input", qe(k, "locale")), { timer: A } = Vn(), z = $(k.value), C = $(-1), E = $(!1), P = $(!1);
let R = !1, L = k.value, I = String(L);
const G = g(() => k.loading && k.loadingLock), ee = g(() => {
var ae;
return ((ae = a.value) == null ? void 0 : ae.optionStates) || [];
}), O = g(() => {
var ae;
return ((ae = a.value) == null ? void 0 : ae.visibleOptions) || [];
}), H = g(() => !!(T.prefix || k.prefix || k.slots.prefix)), U = g(() => !!(T.suffix || k.suffix || k.slots.suffix));
le(
() => k.value,
(ae) => {
z.value = ae, L = ae, I = String(ae), n.value && (n.value.value = String(ae));
}
), le(C, q), le(E, (ae) => {
var be;
ae ? (be = n.value) == null || be.focus() : C.value = -1;
}), le(z, (ae) => {
k.filter && a.value && (a.value.currentFilter = `${ae}`);
}), In(() => {
!k.filter || !E.value || !a.value || (a.value.currentFilter = String(z.value));
}), r({
idFor: o,
composing: P,
select: a,
control: n,
focus: (ae) => {
var be;
return (be = n.value) == null ? void 0 : be.focus(ae);
},
blur: () => {
var ae;
return (ae = n.value) == null ? void 0 : ae.blur();
}
}), sn(() => {
kt(() => {
n.value && !Tt(z.value) && (n.value.value = String(z.value));
});
});
function q() {
const ae = C.value;
let be = -1;
ee.value.forEach((re) => {
re.hidden ? re.hitting = !1 : (be += 1, re.hitting = ae === be, re.hitting && n.value && (n.value.value = String(re.value)));
}), n.value && ae < 0 && (n.value.value = I);
}
let Z = !1;
function K(ae) {
Z || (Z = !0, _(k.onFocus, ae));
}
function we(ae) {
Z && (Z = !1, A.focus = setTimeout(() => {
Z || (_(k.onBlur, ae), Ce());
}, 120));
}
function de(ae, be) {
if (P.value || Tt(ae))
return;
const re = z.value;
z.value = ae, _(k.onSelect, ae, be), ae !== re ? (R = !0, Ce()) : E.value = !1;
}
function te(ae) {
var re;
const be = typeof ae == "string" ? ae : ae.target.value;
z.value = be, R = !0, I = be, C.value !== -1 && (C.value = 0), k.showEmpty && (E.value = !k.dropDisabled, a.value && (a.value.currentVisible = E.value)), _(k.onInput, be), kt(ne), (re = a.value) == null || re.updatePopper();
}
const Ee = rn(k.delay), Se = k.debounce ? da(te, Ee || 100) : Cl(te, Ee || 16);
function Ce(ae = !0) {
if (!R || z.value === L) return;
R = !1, L = z.value, I = String(L);
const be = ee.value.find((re) => re.value === L);
a.value && (a.value.currentValues.length = 0, (z.value || z.value === 0) && a.value.currentValues.push(z.value)), w("update:value", z.value), h(z.value), _(k.onChange, z.value, (be == null ? void 0 : be.data) || null), ae && b(), E.value = !1, n.value && (n.value.value = String(L));
}
let fe = !1, ot = !1;
function Ze() {
k.disabled || G.value || (fe = E.value, ot = !0, a.value && (a.value.currentFilter = String(z.value)));
}
function Je() {
k.disabled || G.value || (ot = !1, a.value && (E.value = !0, fe ? a.value.currentVisible = !0 : (ne(), fe = E.value, fe && _(k.onToggle, fe))));
}
function se(ae) {
k.disabled || G.value || ot || (E.value = ae, ae && ne(), fe = E.value, E.value !== ae && _(k.onToggle, E.value), E.value || (C.value = -1));
}
function ne() {
E.value = !(k.dropDisabled || !k.showEmpty && !O.value.length), a.value && (a.value.currentVisible = E.value);
}
function ue(ae) {
if (P.value) {
ae.stopPropagation();
return;
}
const be = ae.code || ae.key;
if (be === "Enter" || be === "NumpadEnter")
J(ae);
else if (be === "ArrowDown" || be === "ArrowUp") {
ae.preventDefault(), ae.stopPropagation();
const re = O.value, ce = re.length;
if (!ce) return;
const Pe = be === "ArrowDown" ? 1 : -1;
let at = (Math.max(C.value + Pe, -1) + ce) % ce, yt = re[at];
for (let Nt = 0; (yt.disabled || yt.group) && Nt < ce; ++Nt)
at += Pe, at = (at + ce) % ce, yt = re[at];
C.value = at;
} else
["Space", " "].includes(be) && ae.stopPropagation(), ["Enter", "ArrowLeft", "ArrowRight"].includes(be) || (C.value = -1);
}
function J(ae) {
if (ae.stopPropagation(), !P.value) {
if (C.value >= 0 && O.value.length) {
const be = O.value[C.value === -1 ? 0 : C.value];
de(be.value, be.data);
} else
Ce();
_(k.onEnter, z.value), E.value = !1;
}
}
function N() {
var ae;
if (k.clearable) {
const be = z.value;
z.value = "", E.value = !1, !Tt(be) && be !== z.value && (R = !0), Ce(!1), _(k.onClear), kt(f), (ae = n.value) == null || ae.focus();
}
}
function j() {
P.value && (P.value = !1, n.value && n.value.dispatchEvent(new Event("input")));
}
return (ae, be) => (S(), Be(e(wi), {
id: e(o),
ref_key: "select",
ref: a,
visible: E.value,
"onUpdate:visible": be[5] || (be[5] = (re) => E.value = re),
class: x([e(i).b(), e(k).inherit && e(i).bm("inherit")]),
inherit: e(k).inherit,
"label-id": e(s),
"list-class": e(i).be("list"),
value: z.value,
size: e(k).size,
state: e(k).state,
clearable: e(k).clearable,
"transition-name": e(k).transitionName,
disabled: e(k).disabled,
transfer: e(k).transfer,
placement: e(k).placement,
"prefix-color": e(k).prefixColor,
"suffix-color": e(k).suffixColor,
"no-suffix": !U.value,
placeholder: e(k).placeholder,
options: e(k).options,
"key-config": e(k).keyConfig,
loading: e(k).loading,
"loading-icon": e(k).loadingIcon,
"loading-lock": e(k).loadingLock,
"loading-effect": e(k).loadingEffect,
transparent: ae.transparent,
filter: e(k).filter,
"ignore-case": e(k).ignoreCase,
"popper-alive": e(k).popperAlive,
shift: e(k).shift,
onToggle: se,
onSelect: de,
onClear: N,
onFocus: be[6] || (be[6] = (re) => {
var ce;
return (ce = n.value) == null ? void 0 : ce.focus();
}),
onOutsideClose: Ce,
onClick: Je,
onClickCapture: Ze
}, nl({
control: X(() => [
W(ae.$slots, "control", {
value: z.value,
onInput: e(Se),
onChange: Ce,
onEnter: J,
onClear: N
}, () => [
y(e(me), {
renderer: e(k).slots.control,
data: {
value: z.value,
onInput: e(Se),
onChange: Ce,
onEnter: J,
onClear: N
}
}, {
default: X(() => [
oe("input", {
ref_key: "control",
ref: n,
class: x(e(i).be("input")),
autofocus: e(k).autofocus,
spellcheck: e(k).spellcheck,
disabled: e(k).disabled,
placeholder: e(k).placeholder ?? e(F).placeholder,
readonly: G.value,
name: e(k).name,
autocomplete: "off",
tabindex: "-1",
role: "combobox",
"aria-autocomplete": "list",
onSubmit: be[0] || (be[0] = gt(() => {
}, ["prevent"])),
onInput: be[1] || (be[1] = //@ts-ignore
(...re) => e(Se) && e(Se)(...re)),
onKeydown: ue,
onFocus: be[2] || (be[2] = (re) => K(re)),
onBlur: be[3] || (be[3] = (re) => we(re)),
onCompositionstart: be[4] || (be[4] = (re) => P.value = !0),
onCompositionend: j,
onChange: j
}, null, 42, wg)
]),
_: 1
}, 8, ["renderer", "data"])
])
]),
_: 2
}, [
H.value ? {
name: "prefix",
fn: X(() => [
W(ae.$slots, "prefix", {}, () => [
y(e(me), {
renderer: e(k).slots.prefix
}, {
default: X(() => [
y(e(Oe), {
icon: e(k).prefix
}, null, 8, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
]),
key: "0"
} : void 0,
U.value ? {
name: "suffix",
fn: X(() => [
W(ae.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(k).slots.suffix
}, {
default: X(() => [
y(e(Oe), {
icon: e(k).suffix
}, null, 8, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
]),
key: "1"
} : void 0,
ae.$slots.default || e(k).slots.default ? {
name: "default",
fn: X(({ option: re, index: ce, selected: Pe }) => [
W(ae.$slots, "default", {
option: re,
index: ce,
selected: Pe
}, () => [
y(e(me), {
renderer: e(k).slots.default,
data: { option: re, index: ce, selected: Pe }
}, null, 8, ["renderer", "data"])
])
]),
key: "2"
} : void 0,
ae.$slots.group || e(k).slots.group ? {
name: "group",
fn: X(({ option: re, index: ce }) => [
W(ae.$slots, "group", {
option: re,
index: ce
}, () => [
y(e(me), {
renderer: e(k).slots.group,
data: { option: re, index: ce }
}, null, 8, ["renderer", "data"])
])
]),
key: "3"
} : void 0,
ae.$slots.prepend || e(k).slots.prepend ? {
name: "prepend",
fn: X(() => [
W(ae.$slots, "prepend", {}, () => [
y(e(me), {
renderer: e(k).slots.prepend
}, null, 8, ["renderer"])
])
]),
key: "4"
} : void 0,
ae.$slots.append || e(k).slots.append ? {
name: "append",
fn: X(() => [
W(ae.$slots, "append", {}, () => [
y(e(me), {
renderer: e(k).slots.append
}, null, 8, ["renderer"])
])
]),
key: "5"
} : void 0,
ae.$slots.list || e(k).slots.list ? {
name: "list",
fn: X(({ options: re, isSelected: ce, handleSelect: Pe }) => [
W(ae.$slots, "list", {
options: re,
isSelected: ce,
handleSelect: Pe
}, () => [
y(e(me), {
renderer: e(k).slots.list,
data: {
options: re,
isSelected: ce,
handleSelect: Pe
}
}, null, 8, ["renderer", "data"])
])
]),
key: "6"
} : void 0
]), 1032, ["id", "visible", "class", "inherit", "label-id", "list-class", "value", "size", "state", "clearable", "transition-name", "disabled", "transfer", "placement", "prefix-color", "suffix-color", "no-suffix", "placeholder", "options", "key-config", "loading", "loading-icon", "loading-lock", "loading-effect", "transparent", "filter", "ignore-case", "popper-alive", "shift"]));
}
}), Sg = ft({
size: [Number, String],
src: String,
icon: Xt,
circle: M,
alt: String,
fit: String,
srcSet: String,
gap: Number,
iconScale: Number,
fallbackSrc: String,
color: String,
background: String,
slots: Object,
onError: B(),
onClick: B()
}), Cg = ft({
size: [Number, String],
options: Object,
circle: M,
max: Number,
showTip: M,
tipTrigger: String,
vertical: M,
offset: Number,
restColor: String,
restBackground: String,
slots: Object
}), Sd = "__VXP_AVATAR_GROUP_STATE", Tg = Object.freeze([
"fill",
"contain",
"cover",
"none",
"scale-down"
]), $g = ["src", "alt", "srcset"], Eg = ["src", "alt"], wa = /* @__PURE__ */ Xe({
name: "Avatar",
__name: "avatar",
props: Sg,
setup(t, { expose: r }) {
const a = ct("avatar", t, {
size: "default",
src: {
default: "",
static: !0
},
icon: en(),
circle: !1,
alt: "",
fit: {
default: "cover",
validator: (w) => Tg.includes(w)
},
srcSet: "",
gap: 4,
iconScale: 1.4,
fallbackSrc: "",
color: null,
background: null,
slots: () => ({})
}), n = kn(), o = Et(Sd, null), s = Ye("avatar"), c = $(!1), d = $(!1), p = $(), m = Wo(() => v(!0)), b = g(() => (o == null ? void 0 : o.size) ?? a.size), f = g(() => ({
[s.b()]: !0,
[s.bs("vars")]: !0,
[s.bm("inherit")]: a.inherit,
[s.bm(b.value)]: typeof b.value != "number" && b.value !== "default",
[s.bm("circle")]: a.circle
})), u = g(() => {
const w = {
[s.cv("color")]: a.color,
[s.cv("bg-color")]: a.background,
[s.cv("image-fit")]: a.fit
};
return typeof b.value == "number" && (w[s.cv("size")] = `${b.value}px`), w;
});
le(
() => a.src,
() => {
c.value = !1, d.value = !1, v();
}
), le(
() => a.fallbackSrc,
() => {
d.value = !1, v();
}
), le(
() => a.gap,
() => v()
), r({ loadFail: c, fallbackFail: d });
function h(w) {
c.value = !0, _(a.onError, w);
}
let i = null;
function v(w = !1) {
const T = p.value, F = m.value;
if (T && F && (w || i === null || i !== F.textContent)) {
i = F.textContent;
const { offsetWidth: A, offsetHeight: z } = T, { offsetWidth: C, offsetHeight: E } = F, P = a.gap * 2, R = Math.min(
(A - P) / (C || 1),
(z - P) / (E || 1),
1
);
F.style.transform = `scale(${R})`;
}
}
function k(w) {
_(a.onClick, w);
}
return (w, T) => (S(), D("div", {
ref_key: "wrapper",
ref: p,
class: x(f.value),
style: Qe(u.value),
onClick: k
}, [
(e(a).src || e(a).srcSet) && !c.value ? (S(), D("img", {
key: 0,
class: x(e(s).be("image")),
src: e(a).src,
alt: e(a).alt,
srcset: e(a).srcSet,
onError: h
}, null, 42, $g)) : c.value && e(a).fallbackSrc && !d.value ? (S(), D("img", {
key: 1,
class: x(e(s).be("image")),
src: e(a).fallbackSrc,
alt: e(a).alt,
onError: T[0] || (T[0] = (F) => d.value = !0)
}, null, 42, Eg)) : w.icon || n.icon ? W(w.$slots, "icon", { key: 2 }, () => [
y(e(me), {
renderer: e(a).slots.icon
}, {
default: X(() => [
y(e(Oe), {
class: x(e(s).be("icon")),
icon: w.icon,
scale: e(a).iconScale
}, null, 8, ["class", "icon", "scale"])
]),
_: 1
}, 8, ["renderer"])
]) : (S(), Be(e(zn), {
key: 3,
"on-resize": v
}, {
default: X(() => [
oe("span", {
ref_key: "text",
ref: m,
class: x(e(s).be("text"))
}, [
W(w.$slots, "default", {}, () => [
y(e(me), {
renderer: e(a).slots.default
}, null, 8, ["renderer"])
])
], 2)
]),
_: 3
}))
], 6));
}
}), Ag = /* @__PURE__ */ Xe({
name: "AvatarGroup",
__name: "avatar-group",
props: Cg,
setup(t) {
const l = ct("avatarGroup", t, {
size: "default",
options: {
default: () => [],
static: !0
},
circle: !1,
max: null,
showTip: !1,
tipTrigger: "hover",
vertical: !1,
offset: null,
restColor: null,
restBackground: null,
slots: () => ({})
}), a = Ye("avatar-group"), n = $([]), o = $([]);
In(() => {
const d = l.options.length;
l.max > 0 && d > l.max ? (n.value = l.options.slice(0, l.max - 1), o.value = l.options.slice(l.max - 1)) : (n.value = Array.from(l.options), o.value = []);
}), nn(Sd, l);
const s = g(() => ({
[a.b()]: !0,
[a.ns("avatar-vars")]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm(l.size)]: typeof l.size != "number" && l.size !== "default",
[a.bm("circle")]: l.circle,
[a.bm("vertical")]: l.vertical
})), c = g(() => {
const d = {};
return typeof l.offset == "number" && (d[a.cv("offset")] = `${l.offset}px`), d;
});
return (d, p) => (S(), D("div", {
class: x(s.value),
role: "group",
style: Qe(c.value)
}, [
(S(!0), D(st, null, ln(n.value, (m, b) => (S(), D("div", {
key: b,
class: x(e(a).be("item"))
}, [
W(d.$slots, "default", {
option: m,
index: b
}, () => [
y(e(me), {
renderer: e(l).slots.default,
data: { option: m, index: b }
}, {
default: X(() => [
y(e(wa), {
inherit: "",
src: m.src,
icon: m.icon,
alt: m.alt,
fit: m.fit,
"src-set": m.srcSet,
gap: m.gap,
"icon-scale": m.iconScale,
"fallback-src": m.fallbackSrc
}, {
default: X(() => [
dt(ze(m.text), 1)
]),
_: 2
}, 1032, ["src", "icon", "alt", "fit", "src-set", "gap", "icon-scale", "fallback-src"])
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 2))), 128)),
o.value.length ? (S(), D("div", {
key: 0,
class: x([e(a).be("item"), e(a).bem("item", "rest")])
}, [
e(l).showTip ? (S(), Be(e(Fl), {
key: 0,
inherit: "",
trigger: e(l).tipTrigger,
"tip-class": e(a).be("rest")
}, {
trigger: X(() => [
W(d.$slots, "rest", {
options: o.value,
count: o.value.length
}, () => [
y(e(me), {
renderer: e(l).slots.rest,
data: { options: o.value, count: o.value.length }
}, {
default: X(() => [
y(e(wa), {
inherit: "",
color: e(l).restColor,
background: e(l).restBackground
}, {
default: X(() => [
dt(ze(`+${o.value.length}`), 1)
]),
_: 1
}, 8, ["color", "background"])
]),
_: 1
}, 8, ["renderer", "data"]),
p[0] || (p[0] = dt("> "))
])
]),
default: X(() => [
W(d.$slots, "tip", {
options: o.value,
count: o.value.length
}, () => [
y(e(me), {
renderer: e(l).slots.tip,
data: { options: o.value, count: o.value.length }
}, {
default: X(() => [
(S(!0), D(st, null, ln(o.value, (m, b) => (S(), Be(e(wa), {
key: b,
inherit: "",
src: m.src,
icon: m.icon,
alt: m.alt,
fit: m.fit,
"src-set": m.srcSet,
gap: m.gap,
"icon-scale": m.iconScale,
"fallback-src": m.fallbackSrc
}, {
default: X(() => [
dt(ze(m.text), 1)
]),
_: 2
}, 1032, ["src", "icon", "alt", "fit", "src-set", "gap", "icon-scale", "fallback-src"]))), 128))
]),
_: 1
}, 8, ["renderer", "data"])
])
]),
_: 3
}, 8, ["trigger", "tip-class"])) : W(d.$slots, "rest", {
key: 1,
options: o.value,
count: o.value.length
}, () => [
y(e(me), {
renderer: e(l).slots.rest,
data: { options: o.value, count: o.value.length }
}, {
default: X(() => [
y(e(wa), {
inherit: "",
color: e(l).restColor,
background: e(l).restBackground
}, {
default: X(() => [
dt(ze(`+${o.value.length}`), 1)
]),
_: 1
}, 8, ["color", "background"])
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2)) : ge("", !0)
], 6));
}
}), Rg = ft({
content: [Number, String],
max: Number,
disabled: M,
isDot: M,
type: String,
color: String,
slots: Object,
onBadgeClick: B()
}), Mg = Object.freeze([
"error",
"primary",
"success",
"warning",
"info",
"disabled"
]), Pg = ["title"], Cd = /* @__PURE__ */ Xe({
name: "Badge",
__name: "badge",
props: Rg,
setup(t) {
const l = ct("badge", t, {
content: {
default: null,
static: !0
},
max: 0,
disabled: !1,
isDot: !1,
type: {
default: "error",
validator: (f) => Mg.includes(f)
},
color: null,
slots: () => ({})
}), a = kn(), n = Ye("badge"), o = g(() => !!a.default), s = g(() => ({
[n.b()]: !0,
[n.bs("vars")]: !0,
[n.bm("inherit")]: l.inherit,
[n.bm("not-wrapper")]: !o.value,
[n.bm("is-dot")]: l.isDot
})), c = g(() => l.isDot ? "" : typeof l.content == "number" && l.max > 0 && l.content > l.max ? `${l.max}+` : l.content), d = g(() => o.value ? n.bs("badge-zoom") : n.bs("zoom")), p = g(() => l.content || l.content === 0 ? l.content.toString() : void 0), m = g(() => !l.disabled && (l.content || l.content === 0 || l.isDot));
function b(f) {
_(l.onBadgeClick, f);
}
return (f, u) => (S(), D("div", {
class: x(s.value)
}, [
W(f.$slots, "default", {}, () => [
y(e(me), {
renderer: e(l).slots.default
}, null, 8, ["renderer"])
]),
y(En, { name: d.value }, {
default: X(() => [
el(oe("sup", {
class: x({
[e(n).be("content")]: !0,
[e(n).bem("content", "fixed")]: o.value,
[e(n).bem("content", e(l).type)]: e(l).type !== "error"
}),
style: Qe({ backgroundColor: e(l).color }),
title: p.value,
onClick: b
}, [
W(f.$slots, "content", { content: c.value }, () => [
y(e(me), {
renderer: e(l).slots.content,
data: { content: c.value }
}, {
default: X(() => [
dt(ze(c.value), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 14, Pg), [
[tl, m.value]
])
]),
_: 3
}, 8, ["name"])
], 2));
}
}), zg = ft({
separator: String,
border: M,
options: Array,
router: Object,
slots: Object,
onSelect: B(),
onSeparatorClick: B()
}), Lg = Jl({
label: {
type: [String, Number],
default: null
},
onSelect: B(),
onSeparatorClick: B()
}), Td = "__VXP_BREADCRUMB_STATE", $d = /* @__PURE__ */ Xe({
name: "BreadcrumbItem",
__name: "breadcrumb-item",
props: Lg,
setup(t) {
const r = t, l = Ye("breadcrumb"), a = Et(Td, null), n = $(r.label), o = $("/"), s = $(null);
if (le(
() => r.label,
(p) => {
n.value = p, a == null || a.refreshLabels();
}
), a) {
const p = pt({
label: n
});
le(
() => a.separator,
(m) => {
o.value = m;
},
{ immediate: !0 }
), le(
() => a.separatorRenderer,
(m) => {
s.value = m;
},
{ immediate: !0 }
), a.increaseItem(p), pn(() => {
a.decreaseItem(p);
});
}
function c() {
_(r.onSelect, n.value), a == null || a.handleSelect(n.value);
}
function d() {
_(r.onSeparatorClick, n.value), a == null || a.handleSeparatorClick(n.value);
}
return (p, m) => (S(), D("li", {
class: x(e(l).be("item"))
}, [
oe("a", {
class: x(e(l).be("label")),
tabindex: "0",
onClick: c,
onKeydown: Kn(c, ["enter"])
}, [
W(p.$slots, "default", {}, () => [
dt(ze(p.label), 1)
])
], 34),
oe("span", {
class: x(e(l).be("separator")),
role: "separator",
onClick: d
}, [
W(p.$slots, "separator", {}, () => [
e(on)(s.value) ? (S(), Be(e(me), {
key: 0,
renderer: s.value,
data: { label: n.value }
}, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 1 }, [
dt(ze(o.value), 1)
], 64))
])
], 2)
], 2));
}
}), Fg = /* @__PURE__ */ Xe({
name: "Breadcrumb",
__name: "breadcrumb",
props: zg,
setup(t) {
const l = ct("breadcrumb", t, {
separator: "/",
border: !1,
options: {
default: () => [],
static: !0
},
router: null,
slots: () => ({})
}), a = kn(), n = Ye("breadcrumb"), o = /* @__PURE__ */ new Set(), s = g(() => ({
[n.b()]: !0,
[n.bs("vars")]: !0,
[n.bm("inherit")]: l.inherit,
[n.bm("border")]: l.border
})), c = g(() => {
var h;
if (l.router && !((h = l.options) != null && h.length)) {
const i = l.router.currentRoute.value.matched, v = [];
for (const k of i) {
const w = k.meta || {};
w.menu !== !1 && v.push({
label: w.label || k.path,
name: w.name || k.name
});
}
return v;
}
return l.options.map((i) => typeof i == "string" ? { label: i } : i);
}), d = Ln(() => {
Array.from(o).forEach((h, i) => {
Tt(h.label) && (h.label = i + 1);
});
}), p = pt({
separator: qe(l, "separator"),
separatorRenderer: null,
increaseItem: m,
decreaseItem: b,
handleSelect: f,
refreshLabels: d,
handleSeparatorClick: u
});
nn(Td, p), le(
[() => a.separator, () => l.slots.separator],
([h, i]) => {
p.separatorRenderer = h ? (v) => h(v) : i ? (v) => i(v) : null;
},
{ immediate: !0 }
);
function m(h) {
o.add(h), d();
}
function b(h) {
o.delete(h), d();
}
function f(h) {
_(l.onSelect, h);
}
function u(h) {
_(l.onSeparatorClick, h);
}
return (h, i) => (S(), D("ol", {
class: x(s.value)
}, [
W(h.$slots, "default", {}, () => [
y(e(me), {
renderer: e(l).slots.default
}, {
default: X(() => [
(S(!0), D(st, null, ln(c.value, (v, k) => (S(), Be(e($d), {
key: v.label,
label: v.label
}, {
default: X(() => [
W(h.$slots, "item", {
option: v,
index: k
}, () => [
y(e(me), {
renderer: e(l).slots.item,
data: { option: v, index: k }
}, {
default: X(() => [
dt(ze(v.name ? e(vl)(v.name) : v.label), 1)
]),
_: 2
}, 1032, ["renderer", "data"])
])
]),
_: 2
}, 1032, ["label"]))), 128))
]),
_: 3
}, 8, ["renderer"])
])
], 2));
}
}), Ig = ft({
placement: String,
type: String,
background: String,
shadow: hn,
contentClass: Bn
}), Ng = Object.freeze([
"default",
"primary",
"info",
"success",
"warning",
"error"
]), xi = /* @__PURE__ */ Xe({
name: "Bubble",
__name: "bubble",
props: Ig,
setup(t, { expose: r }) {
const a = ct("bubble", t, {
placement: {
default: "right",
validator: (p) => Wl.includes(p)
},
type: {
default: null,
validator: (p) => Ng.includes(p)
},
background: "",
shadow: !1,
contentClass: null
}), n = Ye("bubble"), o = $(), s = $(), c = g(() => [
n.b(),
n.bs("vars"),
n.bm(a.placement),
{
[n.bm("inherit")]: a.inherit,
[n.bm("background")]: a.background,
[n.bm("shadow")]: a.shadow,
[n.bm(a.type)]: a.type !== "default"
}
]), d = g(() => {
if (a.background)
return {
[n.cv("color")]: n.gnv("color-white"),
[n.cv("bg-color")]: a.background
};
});
return r({ wrapper: o, arrow: s }), (p, m) => (S(), D("div", {
ref_key: "wrapper",
ref: o,
class: x(c.value),
style: Qe(d.value)
}, [
oe("div", {
class: x([e(n).be("content"), e(a).contentClass]),
style: Qe({
boxShadow: e(a).shadow ? `0 0 4px ${e(a).shadow}` : void 0
})
}, [
W(p.$slots, "default")
], 6),
oe("div", {
ref_key: "arrow",
ref: s,
class: x(e(n).be("arrow"))
}, null, 2)
], 6));
}
}), Dg = ft({
size: An,
type: String,
dashed: M,
text: M,
simple: M,
ghost: M,
disabled: M,
loading: M,
circle: M,
loadingIcon: Xt,
loadingEffect: String,
icon: Xt,
color: String,
buttonType: String,
block: M,
tag: String,
noPulse: M,
badge: [String, Number],
slots: Object,
onClick: B()
}), Og = ft({
size: An,
type: String,
circle: M
}), Ed = "__VXP_BUTTON_GROUP_STATE", Ad = Object.freeze([
"default",
"primary",
"info",
"success",
"warning",
"error"
]), Hn = /* @__PURE__ */ Xe({
name: "Button",
props: Dg,
emits: [],
setup(t, {
slots: r
}) {
const l = Et(Fr, null), a = ct("button", t, {
size: On(l ? l.size : void 0),
type: {
default: null,
validator: (z) => Ad.includes(z)
},
dashed: !1,
text: !1,
simple: !1,
ghost: !1,
disabled: () => l ? l.disabled.value : !1,
loading: () => l ? l.loading.value : !1,
circle: !1,
loadingIcon: en(),
loadingEffect: null,
icon: en(),
color: null,
buttonType: {
default: "button",
validator: (z) => ["button", "submit", "reset"].includes(z)
},
block: !1,
tag: "button",
noPulse: !1,
badge: null,
slots: () => ({})
}), n = Et(Ed, null), o = Ye("button"), s = Gt(), c = $(!1), d = $(0), p = $(!1), m = g(() => !r.default && !a.slots.default), b = g(() => a.type ?? (n == null ? void 0 : n.type) ?? "default"), f = g(() => (n == null ? void 0 : n.size) ?? a.size), u = g(() => ({
[o.b()]: !0,
[o.bs("vars")]: !0,
[o.bm("inherit")]: a.inherit,
[o.bm(b.value)]: b.value !== "default",
[o.bm("simple")]: !a.ghost && a.simple,
[o.bm("ghost")]: a.ghost,
[o.bm("text")]: a.text,
[o.bm("dashed")]: a.dashed,
[o.bm("disabled")]: a.disabled,
[o.bm("loading")]: a.loading,
[o.bm("circle")]: a.circle,
[o.bm("icon-only")]: m.value,
[o.bm(f.value)]: f.value !== "default",
[o.bm("pulsing")]: c.value,
[o.bm("first")]: d.value === 1,
[o.bm("last")]: p.value,
[o.bm("block")]: a.block
})), h = g(() => {
if (!a.color) return null;
const z = zt ? getComputedStyle(document.documentElement) : null, C = Qn((z == null ? void 0 : z.getPropertyValue(o.nv("color-black"))) || "#000"), E = Qn((z == null ? void 0 : z.getPropertyValue(o.nv("color-white"))) || "#fff"), P = Qn(a.color);
return {
base: P.toString(),
light2: ia(E, P, 0.2).toString(),
dark1: ia(C, P, 0.1).toString(),
opacity1: ml(P, 0.9).toString(),
opacity3: ml(P, 0.7).toString(),
opacity4: ml(P, 0.6).toString(),
opacity7: ml(P, 0.3).toString(),
opacity8: ml(P, 0.2).toString(),
white8: ml(E, 0.2).toString(),
white9: ml(E, 0.1).toString()
};
}), i = g(() => {
if (!h.value) return {};
const {
base: z,
light2: C,
dark1: E,
opacity1: P,
opacity3: R,
opacity4: L,
opacity7: I,
opacity8: G,
white8: ee,
white9: O
} = h.value, {
cvm: H,
gnv: U
} = o;
return a.ghost ? H({
color: z,
"color-hover": z,
"color-focus": z,
"color-active": z,
"color-disabled": z,
"bg-color": "transparent",
"bg-color-hover": O,
"bg-color-focus": O,
"bg-color-active": ee,
"bg-color-disabled": "transparent",
"b-color": z,
"b-color-hover": C,
"b-color-focus": C,
"b-color-active": E,
"b-color-disabled": U("content-color-disabled"),
"pulse-s-color": E
}) : a.simple ? H({
color: z,
"color-hover": z,
"color-focus": U("color-white"),
"color-active": U("color-white"),
"color-disabled": U("content-color-disabled"),
"bg-color": G,
"bg-color-hover": I,
"bg-color-focus": P,
"bg-color-active": P,
"bg-color-disabled": U("fill-color-background"),
"b-color": L,
"b-color-hover": L,
"b-color-focus": R,
"b-color-active": R,
"b-color-disabled": U("border-color-light-1"),
"pulse-s-color": E
}) : a.text || a.dashed ? H({
...a.dashed ? {
"b-color": z,
"b-color-hover": C,
"b-color-focus": C,
"b-color-active": E,
"pulse-s-color": E
} : {},
color: z,
"color-hover": C,
"color-focus": C,
"color-active": E,
"color-disabled": L
}) : H({
color: U("color-white"),
"color-hover": U("color-white"),
"color-focus": U("color-white"),
"color-active": U("color-white"),
"color-disabled": U("content-color-disabled"),
"bg-color": z,
"bg-color-hover": C,
"bg-color-focus": C,
"bg-color-active": E,
"bg-color-disabled": U("fill-color-background"),
"b-color": z,
"b-color-hover": C,
"b-color-focus": C,
"b-color-active": E,
"b-color-disabled": U("border-color-light-1"),
"pulse-s-color": E
});
});
if (n) {
const z = pt({
index: d,
isLast: p
});
n.increaseItem(z), pn(() => {
n.decreaseItem(z);
});
}
function v(z) {
a.disabled || a.loading || z.button || (a.noPulse || (c.value = !1, requestAnimationFrame(() => {
c.value = !0;
})), _(a.onClick, z));
}
function k() {
c.value = !1;
}
function w() {
return y("div", {
class: [o.be("icon"), o.bem("icon", "loading")]
}, [W(r, "loading", void 0, () => [y(me, {
renderer: a.slots.loading
}, {
default: () => [y(Oe, He(s.value.loading, {
effect: a.loadingEffect || s.value.loading.effect,
icon: a.loadingIcon || s.value.loading.icon,
label: "loading"
}), null)]
})])]);
}
function T() {
return a.loading ? w() : y("div", {
class: o.be("icon")
}, [W(r, "icon", void 0, () => [y(me, {
renderer: a.slots.icon
}, {
default: () => [a.icon ? y(Oe, {
icon: a.icon
}, null) : null]
})])]);
}
function F() {
return a.icon || r.icon || a.slots.icon ? a.loading ? w() : y("div", {
class: o.be("icon")
}, [W(r, "icon", void 0, () => [y(me, {
renderer: a.slots.icon
}, {
default: () => [y(Oe, {
icon: a.icon
}, null)]
})])]) : y(Ul, {
appear: !0,
horizontal: !0,
"fade-effect": !0
}, {
default: () => [a.loading && w()]
});
}
function A() {
const z = a.disabled ? "disabled" : a.type === "default" ? "error" : a.type;
return y(Cd, {
inherit: !0,
class: [o.be("badge"), o.bem("badge", z)],
content: a.badge,
type: z
}, null);
}
return () => {
const z = a.tag || "button";
return y(z, {
type: a.buttonType,
class: u.value,
role: "button",
style: i.value,
disabled: a.disabled,
onClick: v,
onAnimationend: k
}, {
default: () => [m.value ? T() : F(), !m.value && W(r, "default", void 0, () => [y(me, {
renderer: a.slots.default
}, null)]), !m.value && (a.badge || a.badge === 0) ? A() : null]
});
};
}
}), _g = /* @__PURE__ */ Xe({
name: "ButtonGroup",
__name: "button-group",
props: Og,
setup(t) {
const l = ct("buttonGroup", t, {
size: null,
type: {
default: "default",
validator: (f) => Ad.includes(f)
},
circle: !1
}), a = Ye("button-group"), n = pt(/* @__PURE__ */ new Set()), o = qe(l, "size"), s = qe(l, "type"), c = g(() => ({
[a.b()]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm("circle")]: l.circle
})), d = g(() => Array.from(n)), p = Ln(() => {
for (let f = 0, u = d.value.length; f < u; ++f) {
const h = d.value[f];
h.index = f + 1, h.isLast = f === u - 1;
}
});
nn(
Ed,
pt({
size: o,
type: s,
increaseItem: m,
decreaseItem: b,
refreshIndexes: p
})
);
function m(f) {
n.add(f), p();
}
function b(f) {
n.delete(f), p();
}
return (f, u) => (S(), D("div", {
class: x(c.value),
role: "group"
}, [
W(f.$slots, "default")
], 2));
}
}), Iu = ["span", "offset", "pull", "push", "order"], Lo = Xe({
name: "Column",
props: ib,
setup(t, { slots: r }) {
const l = ct("column", t, {
tag: "div",
span: 24,
offset: null,
push: null,
pull: null,
order: null,
xs: null,
sm: null,
md: null,
lg: null,
xl: null,
xxl: null,
flex: null,
useFlex: null
}), a = Et(Hs, null), n = Ye("column");
nn(Hs, null);
const o = g(() => {
const c = (l.useFlex || (a == null ? void 0 : a.columnFlex)) && {
...(a == null ? void 0 : a.columnFlex) || {},
...l.useFlex ? l.useFlex === !0 ? { justify: "start", align: "top" } : l.useFlex : {}
}, d = [
n.b(),
n.bs("vars"),
{
[n.bm("flex")]: c,
[n.bm("inherit")]: a || l.inherit
}
];
return c && (c.justify && d.push(n.bm(c.justify)), c.align && d.push(n.bm(c.align))), Iu.forEach((p) => {
typeof l[p] == "number" && d.push(
p === "span" ? n.bm(`${l[p]}`) : n.bm(`${p}-${l[p]}`)
);
}), ub.forEach((p) => {
const m = l[p];
!m && m !== 0 || (typeof m == "number" ? d.push(n.bm(`${p}-${m}`)) : typeof m == "object" && Iu.forEach((b) => {
const f = m[b];
!f && f !== 0 || d.push(b === "span" ? n.bm(`${f}`) : n.bm(`${b}-${f}`));
}));
}), d;
}), s = g(() => {
const c = l.flex, d = {};
return a && (typeof a.gap == "number" ? d.paddingInlineStart = d.paddingInlineEnd = `${a.gap / 2}px` : Array.isArray(a.gap) && (d.paddingInlineStart = d.paddingInlineEnd = `${a.gap[0] / 2}px`)), c && (typeof c == "number" ? d.flex = `${c} ${c} auto` : typeof c == "string" && (/^\d+\s\d+\s\d+(\w+)?$/.test(c) ? d.flex = c : d.flex = c === "auto" ? "1 1 auto" : `0 0 ${c}`)), d;
});
return () => Jn(
l.tag || "div",
{
class: o.value,
style: s.value
},
{
default: () => r.default && r.default()
}
);
}
}), Bg = ft({
size: An,
state: Zn,
locale: Mn(),
prefix: Xt,
prefixColor: String,
suffix: Xt,
suffixColor: String,
/**
* 格式化后显示
*/
formatter: Function,
value: Number,
min: Number,
max: Number,
placeholder: String,
autofocus: M,
spellcheck: M,
autocomplete: hn,
precision: Number,
readonly: M,
step: Number,
ctrlStep: Number,
shiftStep: Number,
altStep: Number,
disabled: M,
controlClass: Bn,
debounce: M,
delay: Number,
clearable: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
sync: M,
syncStep: M,
controlType: String,
emptyType: String,
controlAttrs: Object,
name: String,
slots: Object,
onFocus: B(),
onBlur: B(),
onInput: B(),
onChange: B(),
onEnter: B(),
onClear: B(),
onPrefixClick: B(),
onSuffixClick: B(),
onKeyDown: B(),
onKeyPress: B(),
onKeyUp: B()
}), Hg = ["id"], Vg = ["id", "autofocus", "autocomplete", "spellcheck", "disabled", "readonly", "placeholder", "name", "title", "aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-labelledby"], jg = ["aria-label"], Wg = ["aria-label", "aria-labelledby", "aria-controls"], Kg = ["aria-label", "aria-labelledby", "aria-controls"], Ir = /* @__PURE__ */ Xe({
name: "NumberInput",
__name: "number-input",
props: Bg,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const a = (pe) => !pe && pe !== 0, n = (pe) => Tt(pe) || Number.isNaN(pe), {
idFor: o,
labelId: s,
state: c,
disabled: d,
loading: p,
size: m,
validateField: b,
clearField: f,
getFieldValue: u,
setFieldValue: h
} = al(N), v = ct("numberInput", t, {
size: On(m),
state: ll(c),
locale: null,
prefix: en(),
prefixColor: "",
suffix: en(),
suffixColor: "",
// 格式化后显示
formatter: {
default: null,
isFunc: !0
},
value: {
default: () => u(),
static: !0
},
min: -1 / 0,
max: 1 / 0,
placeholder: null,
autofocus: !1,
spellcheck: !1,
autocomplete: !1,
precision: -1,
readonly: !1,
step: 1,
ctrlStep: 100,
shiftStep: 10,
altStep: 0.1,
disabled: () => d.value,
controlClass: null,
debounce: !1,
delay: null,
clearable: !1,
loading: () => p.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
sync: !1,
syncStep: !1,
controlType: "right",
emptyType: "NaN",
controlAttrs: null,
name: {
default: "",
static: !0
},
slots: () => ({})
}), k = l, w = kn(), T = Ye("number-input"), F = vn("numberInput", qe(v, "locale")), A = Gt(), { timeout: z, interval: C } = Hm(), E = $(!1), P = $(a(v.value) ? Mt() : v.value), R = $(!1), L = $(!1), I = $(!1), G = $(), { wrapper: ee, isHover: O } = Ql();
cl({
target: G,
passive: !1,
onKeyDown: (pe, Re) => {
if (_(v.onKeyDown, pe), Re.up || Re.down) {
if (pe.preventDefault(), pe.stopPropagation(), Re.up && K.value || Re.down && we.value)
return;
at(
Re.up ? "plus" : "minus",
pe.ctrlKey ? "ctrl" : pe.shiftKey ? "shift" : pe.altKey ? "alt" : void 0
), Re.resetAll();
} else Re.enter && (pe.preventDefault(), pe.stopPropagation(), Ht("change"), Re.resetAll());
},
onKeyUp: (pe) => {
_(v.onKeyUp, pe), pe.key === "Enter" && tn();
}
});
let H;
const U = Zl(), q = g(() => !n(P.value) && (rn(P.value) > v.max || rn(P.value) < v.min)), Z = g(() => v.loading && v.loadingLock || v.readonly), K = g(() => v.disabled || Z.value || !n(P.value) && rn(P.value) >= v.max), we = g(() => v.disabled || Z.value || !n(P.value) && rn(P.value) <= v.min), de = g(() => {
const [pe, Re] = (v.controlType || "right").split("-");
return [
T.b(),
T.bs("vars"),
T.ns("input-vars"),
{
[T.bm("inherit")]: v.inherit,
[T.bm("focused")]: R.value,
[T.bm("disabled")]: v.disabled,
[T.bm("readonly")]: Z.value,
[T.bm("loading")]: v.loading,
[T.bm(v.size)]: v.size !== "default",
[T.bm(v.state)]: v.state !== "default",
[T.bm(`control-${pe}`)]: pe !== "right",
[T.bm("control-fade")]: Re,
[T.bm("out-of-range")]: q.value
}
];
}), te = g(() => !!(w.prefix || v.prefix || v.slots.prefix)), Ee = g(() => !!(w.suffix || v.suffix || v.slots.suffix)), Se = g(() => !R.value && typeof P.value == "number" && !Number.isNaN(P.value) && v.precision >= 0 ? _n(P.value, v.precision) : P.value), Ce = g(() => n(Se.value) || typeof Se.value != "number" ? Se.value ?? "" : !R.value && typeof v.formatter == "function" ? v.formatter(Se.value) : Se.value.toString()), fe = g(() => !!(P.value || P.value === 0)), ot = g(() => !v.disabled && !Z.value && v.clearable && O.value && fe.value), Ze = g(() => typeof v.autocomplete == "boolean" ? v.autocomplete ? "on" : "off" : v.autocomplete), Je = rn(v.delay), se = v.debounce ? da(yt, Je || 100) : Cl(yt, Je || 16);
le(
() => v.value,
(pe) => {
pe !== H && J();
},
{ immediate: !0 }
), le(R, (pe) => {
pe || ne(R.value ? P.value : Ce.value);
}), sn(() => {
ne(R.value ? P.value : Ce.value);
}), r({
idFor: o,
focused: E,
isHover: O,
outOfRange: q,
preciseNumber: Se,
formattedValue: Ce,
isReadonly: Z,
wrapper: ee,
input: G,
focus: N,
blur: () => {
var pe;
return (pe = G.value) == null ? void 0 : pe.blur();
}
});
function ne(pe) {
G.value && (G.value.value = n(pe) ? "" : pe.toString());
}
function ue(pe) {
return cn(pe, v.min, v.max);
}
function J() {
let pe = v.value;
pe = R.value ? pe : tr(pe, !0) ? rn(pe) : Mt(), v.precision >= 0 && !n(pe) && (pe = _n(ue(pe), v.precision)), P.value = pe, H = pe, ne(R.value ? pe : Ce.value);
}
function N(pe) {
var Re;
(Re = G.value) == null || Re.focus(pe);
}
function j(pe) {
E.value = !0, R.value = !0, _(v.onFocus, pe);
}
function ae(pe) {
E.value = !1, setTimeout(() => {
E.value || (R.value = !1, _(v.onBlur, pe), Ht("change"));
}, 120);
}
function be(pe, Re) {
const he = pe === "plus" ? K : we, Fe = pe === "plus" ? ce : Pe;
Re.button !== 0 || he.value || (Fe(Re), document.addEventListener("pointerup", re), document.addEventListener("touchend", re), clearTimeout(z.step), clearInterval(C.step), (pe === "plus" ? L : I).value = !0, z.step = setTimeout(() => {
C.step = setInterval(() => {
he.value ? re() : Fe(Re);
}, 32);
}, 500));
}
function re() {
document.removeEventListener("pointerup", re), document.removeEventListener("touchend", re), clearTimeout(z.step), clearInterval(C.step), L.value = !1, I.value = !1;
}
function ce(pe) {
!E.value && N(), at(
"plus",
pe.ctrlKey ? "ctrl" : pe.shiftKey ? "shift" : pe.altKey ? "alt" : void 0
);
}
function Pe(pe) {
!E.value && N(), at(
"minus",
pe.ctrlKey ? "ctrl" : pe.shiftKey ? "shift" : pe.altKey ? "alt" : void 0
);
}
function at(pe, Re) {
if (v.disabled || Z.value) return;
let he = P.value || 0, Fe;
switch (Re) {
case "ctrl":
Fe = v.ctrlStep;
break;
case "shift":
Fe = v.shiftStep;
break;
case "alt":
Fe = v.altStep;
break;
default:
Fe = v.step;
}
const lt = he.toString().trim();
lt.endsWith(".") && (he = rn(lt.slice(0, -1))), pe === "plus" ? he = np(he, Fe) : he = lp(he, Fe), Nt(he, v.syncStep && !v.sync ? "change" : "input");
}
function yt(pe) {
const Re = pe.type, he = pe.target.value;
let Fe = he.trim();
if (Re === "change" && he && !tr(he, !0)) {
const lt = parseFloat(he);
Number.isNaN(lt) ? Fe = "" : Fe = lt.toString();
}
R.value = Re === "input", Nt(Fe, Re);
}
function Nt(pe, Re, he = v.sync) {
Re !== "input" ? P.value = a(pe) ? Mt() : rn(pe) : P.value = pe, ne(P.value), Ht(Re, he);
}
function Mt() {
switch (v.emptyType) {
case "undefined":
return;
case "null":
return null;
default:
return NaN;
}
}
function Ht(pe, Re = v.sync) {
if (pe = pe === "input" ? "input" : "change", pe === "change") {
const he = a(P.value), Fe = he ? Mt() : rn(P.value);
let lt = he ? Fe : ue(rn(Fe));
!he && v.precision >= 0 && (lt = _n(lt, v.precision));
const Ke = !Object.is(lt, Fe);
if (he || (P.value = lt), !Re && Object.is(H, lt)) {
!Object.is(v.value, Fe) && k("update:value", lt);
return;
}
H = lt, (!Re || Ke) && (k("update:value", lt), h(lt)), _(v.onChange, lt), (!Re || Ke) && b();
} else {
const he = parseFloat(P.value), Fe = Number.isNaN(he);
let lt = Fe ? Mt() : ue(rn(he));
!Fe && v.precision >= 0 && (lt = _n(lt, v.precision));
const Ke = Re && !Object.is(H, lt);
Ke && (H = lt, k("update:value", lt), h(lt)), _(v.onInput, he), Ke && b();
}
}
function _t() {
v.disabled || Z.value || (Nt(NaN, "change", !1), _(v.onClear), f(NaN), N());
}
function tn() {
_(v.onEnter);
}
function Wt(pe) {
_(v.onPrefixClick, pe);
}
function un(pe) {
_(v.onSuffixClick, pe);
}
function qt(pe) {
_(v.onKeyPress, pe);
}
return (pe, Re) => {
var he, Fe;
return S(), D("div", {
id: e(o),
ref_key: "wrapper",
ref: ee,
class: x(de.value),
role: "group",
onClick: Re[8] || (Re[8] = (lt) => {
var Ke;
return (Ke = G.value) == null ? void 0 : Ke.focus();
})
}, [
te.value ? (S(), D("div", {
key: 0,
class: x([e(T).be("icon"), e(T).be("prefix")]),
style: Qe({ color: e(v).prefixColor }),
onClick: Wt
}, [
W(pe.$slots, "prefix", {}, () => [
y(e(me), {
renderer: e(v).slots.prefix
}, {
default: X(() => [
y(e(Oe), {
icon: e(v).prefix
}, null, 8, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
], 6)) : ge("", !0),
oe("input", He(e(v).controlAttrs, {
id: e(U),
ref_key: "control",
ref: G,
class: [e(T).be("control"), (he = e(v).controlAttrs) == null ? void 0 : he.class, e(v).controlClass],
type: "text",
autofocus: e(v).autofocus,
autocomplete: Ze.value,
spellcheck: e(v).spellcheck,
disabled: e(v).disabled,
readonly: Z.value,
placeholder: e(v).placeholder ?? e(F).placeholder,
name: e(v).name || ((Fe = e(v).controlAttrs) == null ? void 0 : Fe.name),
role: "spinbutton",
title: q.value ? e(F).outOfRange : void 0,
"aria-valuenow": Se.value,
"aria-valuemin": e(v).min !== -1 / 0 ? e(v).min : void 0,
"aria-valuemax": e(v).max !== 1 / 0 ? e(v).max : void 0,
"aria-labelledby": e(s),
onSubmit: Re[0] || (Re[0] = gt(() => {
}, ["prevent"])),
onBlur: ae,
onFocus: j,
onKeypress: qt,
onInput: Re[1] || (Re[1] = //@ts-ignore
(...lt) => e(se) && e(se)(...lt)),
onChange: yt
}), null, 16, Vg),
Ee.value ? (S(), D("div", {
key: 1,
class: x([e(T).be("icon"), e(T).be("suffix")]),
style: Qe({
color: e(v).suffixColor,
opacity: ot.value || e(v).loading ? "0%" : ""
}),
onClick: un
}, [
W(pe.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(v).slots.suffix
}, {
default: X(() => [
y(e(Oe), {
icon: e(v).suffix
}, null, 8, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
], 6)) : e(v).clearable || e(v).loading ? (S(), D("div", {
key: 2,
class: x([e(T).be("icon"), e(T).bem("icon", "placeholder"), e(T).be("suffix")])
}, null, 2)) : ge("", !0),
y(En, {
name: e(T).ns("fade"),
appear: ""
}, {
default: X(() => [
ot.value ? (S(), D("button", {
key: 0,
class: x([e(T).be("icon"), e(T).be("clear")]),
type: "button",
tabindex: "-1",
"aria-label": e(F).ariaLabel.clear,
onClick: gt(_t, ["stop"])
}, [
y(e(Oe), He(e(A).clear, { label: "clear" }), null, 16)
], 10, jg)) : e(v).loading ? (S(), D("div", {
key: 1,
class: x([e(T).be("icon"), e(T).be("loading")])
}, [
y(e(Oe), He(e(A).loading, {
effect: e(v).loadingEffect || e(A).loading.effect,
icon: e(v).loadingIcon || e(A).loading.icon,
label: "loading"
}), null, 16, ["effect", "icon"])
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["name"]),
e(v).controlType !== "none" ? (S(), D(st, { key: 3 }, [
oe("div", {
class: x({
[e(T).be("plus")]: !0,
[e(T).bem("plus", "disabled")]: K.value,
[e(T).bem("plus", "holding")]: L.value
}),
role: "button",
"aria-label": e(F).ariaLabel.increase,
"aria-labelledby": e(s),
"aria-controls": e(U),
onPointerdown: Re[2] || (Re[2] = gt((lt) => be("plus", lt), ["prevent"])),
onMousedown: Re[3] || (Re[3] = gt(() => {
}, ["prevent"])),
onTouchstart: Re[4] || (Re[4] = gt(() => {
}, ["prevent"]))
}, [
y(e(Oe), He(e(A).angleUp, {
scale: +(e(A).angleUp.scale || 1) * 0.8
}), null, 16, ["scale"])
], 42, Wg),
oe("div", {
class: x({
[e(T).be("minus")]: !0,
[e(T).bem("minus", "disabled")]: we.value,
[e(T).bem("minus", "holding")]: I.value
}),
"aria-label": e(F).ariaLabel.decrease,
"aria-labelledby": e(s),
"aria-controls": e(U),
onPointerdown: Re[5] || (Re[5] = gt((lt) => be("minus", lt), ["prevent"])),
onMousedown: Re[6] || (Re[6] = gt(() => {
}, ["prevent"])),
onTouchstart: Re[7] || (Re[7] = gt(() => {
}, ["prevent"]))
}, [
y(e(Oe), He(e(A).angleDown, {
scale: +(e(A).angleDown.scale || 1) * 0.8
}), null, 16, ["scale"])
], 42, Kg)
], 64)) : ge("", !0)
], 10, Hg);
};
}
}), Ug = ["aria-selected", "aria-disabled"], Xg = ["aria-label", "aria-disabled"], Yg = /* @__PURE__ */ Xe({
__name: "calendar-cell",
props: {
date: {
type: Date,
required: !0
},
locale: {
type: Object,
required: !0
},
selected: {
type: Boolean,
default: !1
},
hovered: {
type: Boolean,
default: !1
},
isPrev: {
type: Boolean,
default: !1
},
isNext: {
type: Boolean,
default: !1
},
isToday: {
type: Boolean,
default: !1
},
disabled: {
type: Boolean,
default: !1
},
inRange: {
type: Boolean,
default: !1
}
},
emits: ["select", "hover"],
setup(t, { emit: r }) {
const l = t, a = r, n = Ye("calendar"), o = g(() => {
const s = l.locale.ariaLabel, c = l.date.getFullYear(), d = l.date.getMonth() + 1, p = l.date.getDate(), m = l.date.getDay() || 7;
return `${s[`week${m}`]}, ${s[`month${d}`]} ${p}, ${c}`;
});
return (s, c) => (S(), D("div", {
class: x(e(n).be("cell")),
role: "gridcell",
"aria-selected": e(fl)(t.selected),
"aria-disabled": e(fl)(t.disabled),
onMouseenter: c[3] || (c[3] = (d) => a("hover", t.date))
}, [
W(s.$slots, "item", {
date: t.date,
label: o.value,
selected: t.selected,
hovered: t.hovered,
isPrev: t.isPrev,
isNext: t.isNext,
isToday: t.isToday,
disabled: t.disabled,
inRange: t.inRange
}, () => [
oe("div", {
class: x({
[e(n).be("index")]: !0,
[e(n).bem("index", "selected")]: t.selected,
[e(n).bem("index", "hovered")]: t.hovered,
[e(n).bem("index", "prev")]: t.isPrev,
[e(n).bem("index", "next")]: t.isNext,
[e(n).bem("index", "today")]: t.isToday,
[e(n).bem("index", "disabled")]: t.disabled,
[e(n).bem("index", "in-range")]: t.inRange
}),
tabindex: "0",
role: "button",
"aria-label": o.value,
"aria-disabled": e(fl)(t.disabled),
onClick: c[0] || (c[0] = (d) => a("select", t.date)),
onKeydown: [
c[1] || (c[1] = Kn(gt((d) => a("select", t.date), ["prevent"]), ["enter"])),
c[2] || (c[2] = Kn(gt((d) => a("select", t.date), ["prevent"]), ["space"]))
]
}, [
W(s.$slots, "default", {
date: t.date,
label: o.value,
selected: t.selected,
hovered: t.hovered,
isPrev: t.isPrev,
isNext: t.isNext,
isToday: t.isToday,
disabled: t.disabled,
inRange: t.inRange
}, () => [
oe("div", {
class: x(e(n).be("index-inner"))
}, ze(t.date.getDate()), 3)
])
], 42, Xg)
])
], 42, Ug));
}
}), qg = ft({
locale: Mn(),
/**
* 选中的日期
*/
value: [Number, String, Date, Array],
/**
* 当前日历显示的年份
*/
year: Number,
/**
* 当前日历显示的月份 (1 ~ 12)
*/
month: Number,
/**
* 头部星期显示的内容,数量须为 7 个
*/
weekDays: Array,
weekStart: Number,
today: [Number, String, Date],
disabledDate: Function,
valueType: String,
min: [Number, String, Date],
max: [Number, String, Date],
range: M,
selectRow: M,
slots: Object,
onSelect: B(),
onHover: B()
}), Gg = ft({
locale: Mn(),
value: [Number, String, Date],
year: Number,
/**
* 当前日历显示的月份 (1 ~ 12)
*/
month: Number,
/**
* 头部星期显示的内容,数量须为 7 个
*/
weekDays: Array,
weekStart: Number,
today: [Number, String, Date],
disabledDate: Function,
slots: Object,
onSelect: B(),
onYearChange: B(),
onMonthChange: B()
}), Si = /* @__PURE__ */ Xe({
name: "CalendarPanel",
__name: "calendar-panel",
props: qg,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const n = ct("calendarBase", t, {
locale: null,
value: {
default: null,
static: !0
},
year: () => (/* @__PURE__ */ new Date()).getFullYear(),
month: {
default: () => (/* @__PURE__ */ new Date()).getMonth() + 1,
validator: (O) => O > 0 && O <= 12
},
weekDays: {
default: null,
validator: (O) => !O || O.length === 0 || O.length === 7
},
weekStart: {
default: 0,
validator: (O) => O >= 0 && O < 7
},
today: {
default: () => /* @__PURE__ */ new Date(),
validator: (O) => !Number.isNaN(+new Date(O))
},
disabledDate: {
default: sa,
isFunc: !0
},
valueType: {
default: "start",
validator: (O) => O === "start" || O === "end"
},
min: null,
max: null,
range: null,
selectRow: !1,
slots: () => ({})
}), o = l, s = Ye("calendar"), c = $(null), d = $(null), p = $([]), m = $(null), { wrapper: b, isHover: f } = Ql(), u = vn("calendar", qe(n, "locale")), h = g(() => n.min ? +Es(n.min) : -1 / 0), i = g(() => n.max ? +bp(n.max) : 1 / 0), v = g(() => Number.isNaN(h.value) || Number.isNaN(i.value) ? !1 : h.value > i.value), k = Ln(T);
F(n.value), T(), le(() => n.value, F), le([() => n.year, () => n.month, () => n.weekStart], k), le(f, (O) => {
O || (m.value = null);
}), le(m, (O) => {
_(n.onHover, O);
}), r({
startValue: c,
endValue: d,
body: b,
isSelected: z,
isHovered: E,
isPrevMonth: P,
isNextMonth: R,
isDisabled: C,
isToday: L,
isInRange: ee
});
function w(O) {
var H;
return ((H = n.weekDays) == null ? void 0 : H[O]) || u.value[`week${O || 7}`];
}
function T() {
p.value = mp(
As(new Date(n.year, n.month - 1, 1), n.weekStart),
42
);
}
function F(O) {
Array.isArray(O) || (O = [O, O]);
for (let H = 0; H < 2; ++H) {
const U = new Date(O[H] ?? "");
if (H === 0 ? c.value = Number.isNaN(+U) ? null : U : d.value = Number.isNaN(+U) ? null : U, !n.range) break;
}
}
function A(O, H) {
return n.selectRow && yp(O, H) === 0;
}
function z(O) {
return !O || !c.value && !d.value ? !1 : !!(c.value && (!ra(O, c.value) || A(O, c.value)) || d.value && (!ra(O, d.value) || A(O, d.value)));
}
function C(O) {
if (typeof n.disabledDate == "function" && n.disabledDate(O))
return !0;
const H = O.getTime();
if (v.value) {
if (H > i.value && H < h.value)
return !0;
} else if (H < h.value || H > i.value)
return !0;
return !1;
}
function E(O) {
return !O || !m.value ? !1 : !ra(O, m.value) || A(O, m.value);
}
function P(O) {
const { year: H, month: U } = n, q = O.getFullYear(), Z = O.getMonth();
return q < H || q === H && Z < U - 1;
}
function R(O) {
const { year: H, month: U } = n, q = O.getFullYear(), Z = O.getMonth();
return q > H || q === H && Z > U - 1;
}
function L(O) {
return ra(O, n.today) === 0;
}
function I(O) {
C(O) || (n.valueType === "start" ? c.value = O : d.value = O, _(n.onSelect, O), o("update:value", O));
}
function G(O) {
m.value = C(O) ? null : O;
}
function ee(O) {
if (!m.value && !c.value && !d.value)
return !1;
let H, U;
if (c.value && d.value) {
const q = c.value.getTime(), Z = d.value.getTime();
H = Math.min(q, Z), U = Math.max(q, Z);
} else if (m.value) {
if (!c.value && !d.value) return !1;
const q = m.value.getTime();
if (!c.value || !d.value) {
const Z = (c.value ?? d.value).getTime();
H = Math.min(q, Z), U = Math.max(q, Z);
} else {
const Z = c.value.getTime(), K = d.value.getTime(), we = Math.min(Z, K), de = Math.max(Z, K);
H = Math.min(q, we), U = Math.max(q, de);
}
} else
return !1;
return O.getTime() >= H && O.getTime() <= U;
}
return (O, H) => (S(), D("div", {
class: x([
e(s).be("panel"),
e(s).bs("vars"),
e(n).selectRow && e(s).bem("panel", "select-row"),
e(n).inherit && e(s).bem("panel", "inherit")
]),
role: "grid"
}, [
W(O.$slots, "header", {}, () => [
y(e(me), {
renderer: e(n).slots.header
}, null, 8, ["renderer"])
]),
oe("div", {
class: x([e(s).be("row"), e(s).bem("row", "week")]),
"aria-hidden": ""
}, [
(S(), D(st, null, ln(7, (U) => oe("div", {
key: U,
class: x([e(s).be("cell"), e(s).be("cell-week")])
}, [
W(O.$slots, "week", {
label: w((U - 1 + e(n).weekStart) % 7),
index: U - 1,
week: (U - 1 + e(n).weekStart) % 7
}, () => [
y(e(me), {
renderer: e(n).slots.week,
data: {
label: w((U - 1 + e(n).weekStart) % 7),
index: U - 1,
week: (U - 1 + e(n).weekStart) % 7
}
}, {
default: X(() => [
oe("div", {
class: x(e(s).be("index"))
}, ze(w((U - 1 + e(n).weekStart) % 7)), 3)
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 2)), 64))
], 2),
oe("div", {
ref_key: "body",
ref: b,
class: x(e(s).be("body"))
}, [
(S(), D(st, null, ln(6, (U) => oe("div", {
key: U,
class: x(e(s).be("row"))
}, [
(S(), D(st, null, ln(7, (q) => y(Yg, {
key: (U - 1) * 7 + q,
date: p.value[(U - 1) * 7 + q - 1],
locale: e(u),
selected: z(p.value[(U - 1) * 7 + q - 1]),
hovered: E(p.value[(U - 1) * 7 + q - 1]),
"is-prev": P(p.value[(U - 1) * 7 + q - 1]),
"is-next": R(p.value[(U - 1) * 7 + q - 1]),
"is-today": L(p.value[(U - 1) * 7 + q - 1]),
disabled: C(p.value[(U - 1) * 7 + q - 1]),
"in-range": e(n).range && ee(p.value[(U - 1) * 7 + q - 1]),
onHover: G,
onSelect: I
}, nl({ _: 2 }, [
O.$slots.item || e(n).slots.item ? {
name: "item",
fn: X(({
date: Z,
label: K,
selected: we,
hovered: de,
isPrev: te,
isNext: Ee,
isToday: Se,
disabled: Ce,
inRange: fe
}) => [
W(O.$slots, "item", {
date: Z,
label: K,
selected: we,
hovered: de,
isPrev: te,
isNext: Ee,
isToday: Se,
disabled: Ce,
inRange: fe
}, () => [
y(e(me), {
renderer: e(n).slots.item,
data: {
date: Z,
label: K,
selected: we,
hovered: de,
isPrev: te,
isNext: Ee,
isToday: Se,
disabled: Ce,
inRange: fe
}
}, null, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0,
O.$slots.itemContent || e(n).slots.itemContent ? {
name: "default",
fn: X((Z) => [
W(O.$slots, "itemContent", He({ ref_for: !0 }, Z), () => [
y(e(me), {
renderer: e(n).slots.itemContent,
data: Z
}, null, 8, ["renderer", "data"])
])
]),
key: "1"
} : void 0
]), 1032, ["date", "locale", "selected", "hovered", "is-prev", "is-next", "is-today", "disabled", "in-range"])), 64))
], 2)), 64))
], 2),
W(O.$slots, "footer", {}, () => [
y(e(me), {
renderer: e(n).slots.footer
}, null, 8, ["renderer"])
])
], 2));
}
}), Zg = ["onClick", "onKeydown"], Jg = ["aria-label"], Qg = /* @__PURE__ */ Xe({
name: "Calendar",
__name: "calendar",
props: Gg,
emits: ["update:value", "update:year", "update:month"],
setup(t, { expose: r, emit: l }) {
const n = ct("calendar", t, {
locale: null,
value: {
default: null,
static: !0
},
year: () => (/* @__PURE__ */ new Date()).getFullYear(),
month: {
default: () => (/* @__PURE__ */ new Date()).getMonth() + 1,
validator: (k) => k > 0 && k <= 12
},
weekDays: {
default: null,
validator: (k) => !k || k.length === 0 || k.length === 7
},
weekStart: {
default: 0,
validator: (k) => k >= 0 && k < 7
},
today: {
default: () => /* @__PURE__ */ new Date(),
validator: (k) => !Number.isNaN(+new Date(k))
},
disabledDate: {
default: () => !1,
isFunc: !0
},
slots: () => ({})
}), o = l, s = Ye("calendar"), c = vn("calendar", qe(n, "locale")), d = $(n.value), p = $(n.year), m = $(n.month);
le(
() => n.value,
(k) => {
d.value = k;
}
), le(
() => n.year,
(k) => {
p.value = k;
}
), le(
() => n.month,
(k) => {
m.value = k;
}
), r({ calendarValue: d, calendarYear: p, calendarMonth: m });
function b(k) {
return `${k}${c.value.year}`;
}
function f(k) {
return `${k}${c.value.month}`;
}
function u(k) {
return typeof n.disabledDate != "function" ? !0 : n.disabledDate(k);
}
function h(k) {
u(k) || (d.value = k), _(n.onSelect, k), o("update:value", k);
}
function i(k) {
p.value = k, _(n.onYearChange, k, m.value), o("update:year", k);
}
function v(k) {
m.value = k, _(n.onMonthChange, p.value, k), o("update:month", k);
}
return (k, w) => (S(), Be(Si, {
value: d.value,
"onUpdate:value": w[0] || (w[0] = (T) => d.value = T),
inherit: e(n).inherit,
class: x([e(s).b()]),
year: p.value,
month: m.value,
"week-start": e(n).weekStart,
today: e(n).today,
"disabled-date": e(n).disabledDate
}, {
header: X(() => [
W(k.$slots, "header", {}, () => [
y(e(me), {
renderer: e(n).slots.header
}, {
default: X(() => [
y(e(gi), {
inherit: "",
class: x(e(s).be("header")),
align: "middle"
}, {
default: X(() => [
y(e(Lo), { flex: "auto" }, {
default: X(() => [
W(k.$slots, "title", {}, () => [
y(e(me), {
renderer: e(n).slots.title
}, null, 8, ["renderer"])
])
]),
_: 3
}),
y(e(Lo), {
class: x(e(s).be("actions")),
flex: "0"
}, {
default: X(() => [
y(e(Ir), {
value: p.value,
inherit: "",
class: x(e(s).be("year-input")),
min: 1970,
max: 2300,
formatter: b,
onChange: i
}, null, 8, ["value", "class"]),
y(e(Ir), {
value: m.value,
inherit: "",
class: x(e(s).be("month-input")),
min: 1,
max: 12,
formatter: f,
onChange: v
}, null, 8, ["value", "class"])
]),
_: 1
}, 8, ["class"])
]),
_: 3
}, 8, ["class"])
]),
_: 3
}, 8, ["renderer"])
])
]),
week: X(({ label: T, index: F, week: A }) => [
oe("div", {
class: x(e(s).be("week"))
}, [
W(k.$slots, "week", {
label: T,
index: F,
week: A
}, () => [
y(e(me), {
renderer: e(n).slots.week,
data: { label: T, index: F, week: A }
}, {
default: X(() => [
oe("div", {
class: x(e(s).be("week-value"))
}, ze(T), 3)
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 2)
]),
item: X(({ date: T, label: F, selected: A, hovered: z, isPrev: C, isNext: E, isToday: P, disabled: R }) => [
oe("div", {
class: x({
[e(s).be("date")]: !0,
[e(s).bem("date", "selected")]: A,
[e(s).bem("date", "prev")]: C,
[e(s).bem("date", "next")]: E,
[e(s).bem("date", "today")]: P,
[e(s).bem("date", "disabled")]: R
}),
tabindex: "0",
onClick: (L) => h(T),
onKeydown: [
Kn(gt((L) => h(T), ["prevent"]), ["enter"]),
Kn(gt((L) => h(T), ["prevent"]), ["space"])
]
}, [
oe("div", {
class: x(e(s).be("date-header"))
}, [
W(k.$slots, "date", {
selected: A,
hovered: z,
date: T,
isPrev: C,
isNext: E,
isToday: P,
disabled: R
}, () => [
y(e(me), {
renderer: e(n).slots.date,
data: { selected: A, hovered: z, date: T, isPrev: C, isNext: E, isToday: P, disabled: R }
}, {
default: X(() => [
oe("div", {
class: x(e(s).be("date-value")),
"aria-label": F
}, ze(T.getDate()), 11, Jg)
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 2),
oe("div", {
class: x(e(s).be("date-content"))
}, [
W(k.$slots, "content", {
selected: A,
hovered: z,
date: T,
isPrev: C,
isNext: E,
isToday: P,
disabled: R
}, () => [
y(e(me), {
renderer: e(n).slots.content,
data: { selected: A, hovered: z, date: T, isPrev: C, isNext: E, isToday: P, disabled: R }
}, null, 8, ["renderer", "data"])
])
], 2)
], 42, Zg)
]),
_: 3
}, 8, ["value", "inherit", "class", "year", "month", "week-start", "today", "disabled-date"]));
}
}), ey = ft({
type: String,
slideTarget: [Number, Array],
title: String,
tip: String,
successTip: String,
failTip: String,
image: [String, Function],
tolerance: Number,
canvasSize: Array,
refreshIcon: Xt,
disabled: M,
loading: M,
loadingIcon: Xt,
loadingEffect: String,
onBeforeTest: Function,
texts: Array,
failLimit: Number,
remotePoint: M,
useTrigger: M,
triggerSize: An,
triggerText: String,
transfer: hn,
hideDelay: Number,
hollowShape: [String, Function],
slots: Object,
onSuccess: B(),
onFail: B(),
onDragStart: B(),
onDrag: B(),
onDragEnd: B(),
onRefresh: B()
}), ty = ft({
size: An,
target: Number,
tip: String,
successTip: String,
tolerance: Number,
disabled: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
onBeforeTest: Function,
slots: Object,
onSuccess: B(),
onFail: B(),
onDragStart: B(),
onDrag: B(),
onDragEnd: B()
}), ny = ["id", "aria-labelledby"], Rd = /* @__PURE__ */ Xe({
name: "CaptchaSlider",
__name: "captcha-slider",
props: ty,
setup(t, { expose: r }) {
const { idFor: l, labelId: a, disabled: n, loading: o, size: s, validateField: c, getFieldValue: d, setFieldValue: p } = al(Z), b = ct("captcha", t, {
size: On(s),
target: {
default: 100,
validator: (K) => K >= 0 && K <= 100
},
tip: null,
successTip: null,
tolerance: {
default: 1,
validator: (K) => K >= 0
},
disabled: () => n.value,
loading: () => o.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
onBeforeTest: {
default: null,
isFunc: !0
},
slots: () => ({})
}), f = Ye("captcha"), u = vn("captcha"), h = Gt(), { timer: i } = Vn(), v = $(0), k = $(!1), w = $(!1), T = $(!1), F = $(!1), A = $(), z = g(() => b.disabled || b.loading && b.loadingLock);
let C;
const { target: E, moving: P } = Pl({
onStart: (K, we) => {
if (k.value || z.value || !A.value || !E.value || T.value || w.value || we.button > 0)
return !1;
C = A.value.getBoundingClientRect().width, v.value = 0, O(), E.value.focus(), _(b.onDragStart, v.value);
},
onMove: (K) => {
if (k.value || z.value || T.value || w.value)
return !1;
v.value = K.deltaX / C * 100, O(), _(b.onDrag, v.value);
},
onEnd: async () => {
var de;
if (k.value || z.value) return;
k.value = !0;
const K = q(v.value);
let we;
typeof b.onBeforeTest == "function" && (kt(() => {
F.value = !0;
}), we = await b.onBeforeTest(v.value, K), kt(() => {
F.value = !1;
})), v.value && (we === !1 || !K && we !== !0) ? (w.value = !0, v.value = 0, T.value = !1, p(!1), _(b.onFail)) : (K || we === !0) && (T.value = !0, we && !K && (w.value = !0, v.value = b.target), p(!0), _(b.onSuccess, v.value)), c(), (de = E.value) == null || de.blur(), _(b.onDragEnd, v.value), clearTimeout(i.testing), k.value = !1;
}
}), R = g(() => b.loading || F.value), L = g(() => {
const K = f.be("slider");
return {
[K]: !0,
[f.bs("vars")]: !0,
[`${K}--success`]: T.value,
[`${K}--disabled`]: b.disabled,
[`${K}--loading`]: R.value,
[`${K}--${b.size}`]: b.size !== "default"
};
}), I = g(() => ({
[f.cv("filler-transition")]: w.value ? "transform 250ms ease" : void 0,
transform: `scaleX(${v.value / 100})`
})), G = g(() => ({
[f.cv("tip-transition")]: w.value ? "background-position 250ms ease" : void 0,
backgroundPosition: `-${v.value}%`
})), ee = g(() => ({
left: `${v.value}%`,
[f.cv("trigger-transition")]: w.value ? "left 250ms ease" : void 0
}));
le(
() => d(),
(K) => {
K ? (q(v.value) || (w.value = !0, v.value = b.target), T.value = !0) : H();
}
), le(z, (K) => K && H()), r({
idFor: l,
currentLeft: v,
resetting: w,
isSuccess: T,
dragging: P,
isLoading: R,
track: A,
trigger: E,
focus: Z,
reset: H
});
function O() {
v.value = _n(cn(v.value, 0, 100), 3);
}
function H() {
w.value = !0, v.value = 0, T.value = !1;
}
function U() {
w.value = !1;
}
function q(K) {
return Math.abs(b.target - K) <= b.tolerance;
}
function Z(K) {
var we;
(we = E.value) == null || we.focus(K);
}
return (K, we) => (S(), D("div", {
id: e(l),
ref: "wrapper",
class: x(L.value),
tabindex: "-1",
role: "group",
"aria-labelledby": e(a)
}, [
oe("div", {
class: x({
[e(f).be("filler")]: !0,
[e(f).bem("filler", "loading")]: R.value,
[e(f).bem("filler", "success")]: T.value
}),
style: Qe(I.value)
}, null, 6),
oe("div", {
class: x({
[e(f).be("tip")]: !0,
[e(f).bem("tip", "focused")]: e(P),
[e(f).bem("tip", "loading")]: R.value,
[e(f).bem("tip", "success")]: T.value
}),
style: Qe(G.value)
}, [
W(K.$slots, "tip", { success: T.value }, () => [
y(e(me), {
renderer: e(b).slots.tip,
data: { success: T.value }
}, {
default: X(() => [
dt(ze(T.value ? e(b).successTip ?? e(u).success : e(b).tip ?? e(u).slideEnd), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 6),
oe("div", {
ref_key: "track",
ref: A,
class: x(e(f).be("track"))
}, [
oe("div", {
ref_key: "trigger",
ref: E,
class: x({
[e(f).be("trigger")]: !0,
[e(f).bem("trigger", "focused")]: e(P),
[e(f).bem("trigger", "loading")]: R.value,
[e(f).bem("trigger", "success")]: T.value
}),
tabindex: "0",
style: Qe(ee.value),
onTransitionend: U
}, [
W(K.$slots, "trigger", { success: T.value }, () => [
y(e(me), {
renderer: e(b).slots.trigger,
data: { success: T.value }
}, {
default: X(() => [
T.value ? (S(), Be(e(Oe), It(He({ key: 0 }, e(h).check)), null, 16)) : R.value ? (S(), Be(e(Oe), He({ key: 1 }, e(h).loading, {
effect: e(b).loadingEffect || e(h).loading.effect,
icon: e(b).loadingIcon || e(h).loading.icon
}), null, 16, ["effect", "icon"])) : (S(), Be(e(Oe), It(He({ key: 2 }, e(h).anglesRight)), null, 16))
]),
_: 1
}, 8, ["renderer", "data"])
])
], 38)
], 2)
], 10, ny));
}
}), Nu = ({ ctx: t, x: r, y: l, width: a, height: n }) => {
const o = Math.min(a, n) * 0.25, s = o * 0.5;
return t.moveTo(r - s, l - s), t.lineTo(r + s, l - s), t.lineTo(r + s, l + s), t.lineTo(r - s, l + s), t.closePath(), [r - s - 2, l - s - 2, o + 4, o + 4];
}, ly = ({ ctx: t, x: r, y: l, width: a, height: n }) => {
const o = Math.min(a, n) * 0.2, s = o * 0.5, c = r - s, d = l - s, p = o * 0.2;
return t.moveTo(c, d), t.arc(c + s, d - p + 2, p, 0.72 * Math.PI, 2.26 * Math.PI), t.lineTo(c + o, d), t.arc(c + o + p - 2, d + s, p, 1.21 * Math.PI, 2.78 * Math.PI), t.lineTo(c + o, d + o), t.lineTo(c, d + o), t.arc(c + p - 2, d + s, p + 0.4, 2.76 * Math.PI, 1.24 * Math.PI, !0), t.lineTo(c, d), [r - s - 2, l - o * 0.9 - 2, o * 1.4 + 4, o * 1.4 + 4];
}, ay = ({ ctx: t, x: r, y: l, width: a, height: n }) => {
const o = Math.min(a, n) * 0.25, s = o * 0.5;
return t.moveTo(r, l - s), t.bezierCurveTo(
r,
l - s + o * 0.05,
r - s + o * 0.3,
l - s * 0.5 + o * 0.1,
r - s,
l - s * 0.7
), t.bezierCurveTo(r - s, l + o * 0.3, r - o * 0.1, l + s, r, l + s), t.bezierCurveTo(
r + o * 0.1,
l + s,
r + s,
l + o * 0.3,
r + s,
l - s * 0.7
), t.bezierCurveTo(
r + s - o * 0.3,
l - s * 0.5 + o * 0.1,
r,
l - s + o * 0.05,
r,
l - s
), [r - s - 2, l - s - 2, o + 4, o + 4];
}, ry = ({ ctx: t, x: r, y: l, width: a, height: n }) => {
const o = Math.min(a, n) * 0.25, s = o * 0.5;
return t.moveTo(r, l - o * 0.25), t.bezierCurveTo(
r,
l - o * 0.4,
r - o * 0.1,
l - s,
r - s * 0.5,
l - s
), t.bezierCurveTo(
r - s * 0.5 - o * 0.1,
l - s,
r - s,
l - o * 0.4,
r - s,
l - o * 0.2
), t.bezierCurveTo(
r - s,
l + o * 0.2,
r - o * 0.05,
l + s * 0.8,
r,
l + s * 0.8
), t.bezierCurveTo(
r + o * 0.05,
l + s * 0.8,
r + s,
l + o * 0.2,
r + s,
l - o * 0.2
), t.bezierCurveTo(
r + s,
l - o * 0.4,
r + s * 0.5 + o * 0.1,
l - s,
r + s * 0.5,
l - s
), t.bezierCurveTo(r + o * 0.1, l - s, r, l - o * 0.4, r, l - o * 0.25), [r - s - 2, l - s - 2, o + 4, o * 0.9 + 4];
};
function Du(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const oy = /* @__PURE__ */ Xe({
name: "Captcha",
props: ey,
emits: ["update:visible"],
setup(t, {
slots: r,
expose: l
}) {
const {
idFor: a,
labelId: n,
disabled: o,
loading: s,
validateField: c,
setFieldValue: d
} = al(j), p = ct("captcha", t, {
type: "slide",
slideTarget: {
default: null,
validator: (he) => Tt(he) ? !0 : Array.isArray(he) ? he[0] >= 0 && he[0] <= 100 && he[1] >= 0 && he[1] <= 100 : he >= 0 && he <= 100
},
title: null,
tip: null,
successTip: null,
failTip: null,
image: null,
tolerance: {
default: 1,
validator: (he) => he >= 0
},
canvasSize: () => [1e3, 600],
refreshIcon: en(),
disabled: () => o.value,
loading: () => s.value,
loadingIcon: en(),
loadingEffect: null,
onBeforeTest: {
default: null,
isFunc: !0
},
texts: {
default: () => [],
validator: (he) => !he.find((Fe) => Fe.length > 1)
},
failLimit: 0,
remotePoint: !1,
useTrigger: !1,
triggerSize: On(),
triggerText: null,
transfer: !1,
hideDelay: {
default: 3e3,
validator: (he) => he >= 0
},
hollowShape: {
default: Nu,
isFunc: !0
},
slots: () => ({})
}), m = Ye("captcha"), b = vn("captcha"), f = Gt(), {
timer: u
} = Vn(), h = $(N(p.slideTarget)), i = $(!1), v = pt([]), k = $(!1), w = $(!1), T = $(!1), F = $(0), A = $(!1), z = $(), C = $(), E = $(), P = $(), R = g(() => {
var he;
return (he = P.value) == null ? void 0 : he.track;
}), L = g(() => {
var he;
return !!((he = P.value) != null && he.isSuccess) || w.value;
}), I = g(() => {
var he;
return ((he = P.value) == null ? void 0 : he.currentLeft) || 0;
}), G = g(() => {
var he;
return (he = P.value) == null ? void 0 : he.resetting;
}), ee = g(() => h.value[0]), O = $(!1), H = oa(Promise.resolve()), U = [], q = 0.108;
let Z = !1, K, we;
const de = g(() => p.loading || O.value || k.value), te = g(() => p.failLimit > 0 && F.value >= p.failLimit), Ee = g(() => [m.b(), m.bs("vars"), m.bm(p.type), {
[m.bm("success")]: L.value,
[m.bm("fail")]: !L.value && T.value,
[m.bm("dragging")]: i.value,
[m.bm("disabled")]: p.disabled,
[m.bm("loading")]: de.value,
[m.bm("fail-locked")]: te.value
}]), Se = g(() => ({
left: `${I.value}%`,
[m.cv("trigger-transition")]: G.value ? "left 250ms ease" : void 0
})), Ce = g(() => [p.canvasSize[0] || 1e3, p.canvasSize[1] || 600]), fe = g(() => p.disabled || L.value || de.value);
le(() => p.slideTarget, (he) => {
h.value = N(he);
}), le([() => p.image, z], async () => {
K = void 0, await (H.value = Ze()), ue();
}), le([h, () => p.canvasSize[0], () => p.canvasSize[1], () => p.hollowShape], ue), le([() => p.type, () => p.remotePoint], () => {
p.type !== "slide" && p.remotePoint && typeof p.onBeforeTest != "function" && console.warn("[vexip-ui:Captcha] You should specify 'on-before-test' prop to valid the captcha if you are using the 'point' type in remote");
}, {
immediate: !0
}), le([() => p.type, () => p.texts, () => p.texts.length, () => p.remotePoint], () => {
p.type === "point" && p.texts.length && !p.remotePoint && K && ue();
}), le(A, async (he) => {
he && (await (H.value = Ze()), ue());
}), le(L, (he) => {
he && p.useTrigger && A.value && (clearTimeout(u.hideTrigger), u.hideTrigger = setTimeout(() => {
A.value = !1;
}, p.hideDelay));
}), sn(async () => {
await (H.value = Ze()), ne();
}), l({
dragging: i,
resetting: G,
isSuccess: L,
imageLoading: O,
imagePromise: H,
wrapper: z,
canvas: C,
subCanvas: E,
slider: P,
reset: J
});
let ot;
async function Ze() {
if (K) return;
O.value = !0, ot = `${Date.now()}${Math.round(Math.random() * 1e7)}`;
const he = ot, Fe = typeof p.image == "function" ? await p.image() : p.image;
await new Promise((lt) => {
if (!zt || he !== ot || !Fe) {
lt();
return;
}
K = new Image(), Z = !1, K.src = Fe, Fe.trim().startsWith("data:image") ? (Z = !0, lt()) : K.onload = () => {
Z = !0, lt();
};
}).finally(() => {
O.value = !1;
});
}
function Je() {
var bt;
const he = C.value, Fe = (bt = he == null ? void 0 : he.getContext) == null ? void 0 : bt.call(he, "2d");
if (!K || !he || !Fe) return;
const {
width: lt,
height: Ke
} = he;
if (Fe.drawImage(K, 0, 0, lt, Ke), !p.texts.length || p.remotePoint) return;
U.length = 0;
const Ct = Math.max(lt, Ke) * q;
Fe.textBaseline = "middle", Fe.textAlign = "center", Fe.font = `bold ${Ct}px sans-serif`, Fe.lineWidth = 2, Fe.strokeStyle = "#fff";
const ve = (Ot, Vt, $e, et = 0, vt = qf()) => {
Fe.save(), Fe.translate(Vt, $e), et && Fe.rotate(et * Math.PI), Fe.fillStyle = vt, Fe.fillText(Ot, 0, 0), Fe.strokeText(Ot, 0, 0), Fe.restore();
}, Ve = Fe.measureText(p.texts[0]), Ie = Math.max(Ct, Ve.width) * 1.2, Me = Math.max(Ct, Ve.fontBoundingBoxAscent + Ve.fontBoundingBoxDescent) * 1.2;
let Ge = -2 * Ct, mt = -2 * Ct;
for (const Ot of p.texts) {
let Vt = Ge, $e = mt;
for (; Math.abs(Vt - Ge) < Ie && Math.abs($e - mt) < Me; )
Vt = lt * 0.1 + Math.random() * lt * 0.8, $e = Ke * 0.1 + Math.random() * Ke * 0.8;
Ge = Vt, mt = $e, U.push([Vt / lt * 100, $e / Ke * 100]), ve(Ot, Vt, $e, Math.random() * 2);
}
}
function se() {
if (typeof p.hollowShape == "function") return p.hollowShape;
switch (p.hollowShape) {
case "puzzle":
return ly;
case "shield":
return ay;
case "heart":
return ry;
default:
return Nu;
}
}
function ne() {
var an, Rn;
const he = C.value, Fe = (an = he == null ? void 0 : he.getContext) == null ? void 0 : an.call(he, "2d"), lt = E.value, Ke = (Rn = lt == null ? void 0 : lt.getContext) == null ? void 0 : Rn.call(lt, "2d");
if (!K || !Z || !he || !Fe || !p.image) return;
if (p.type === "point") {
Je();
return;
}
if (!lt || !Ke || !R.value) return;
if (!we) {
if (!zt) return;
we = document.createElement("canvas");
}
we.width = he.width, we.height = he.height;
const Ct = we.getContext("2d");
if (!Ct) return;
Fe.clearRect(0, 0, he.width, he.height), Ke.clearRect(0, 0, lt.width, lt.height), Ct.clearRect(0, 0, we.width, we.height);
const ve = he.getBoundingClientRect(), Ve = R.value.getBoundingClientRect(), Ie = (ve.width - Ve.width) / ve.width * he.width, Me = Ie / 2 + h.value[0] * (he.width - Ie) * 0.01, Ge = h.value[1] * he.height * 0.01, mt = se();
Ct.beginPath(), Ct.strokeStyle = "rgba(255, 255, 255, 0.5)", Ct.lineWidth = 4;
const [bt, Ot, Vt, $e] = mt({
ctx: Ct,
x: Me,
y: Ge,
width: p.canvasSize[0],
height: p.canvasSize[1]
});
Ct.stroke(), Ct.clip(), Ct.drawImage(K, 0, 0, he.width, he.height);
const et = Me - bt, vt = (Vt * 0.5 - et) / Vt * 100;
lt.style.transform = `translate3d(${vt - 50}%, 0, 0)`, lt.width = Vt, Ke.drawImage(we, bt, Ot, Vt, $e, 0, Ot, Vt, $e), Fe.save(), Fe.beginPath(), Fe.fillStyle = "rgba(255, 255, 255, 0.75)", Fe.strokeStyle = "rgba(255, 255, 255, 0.5)", Fe.lineWidth = 10, mt({
ctx: Fe,
x: Me,
y: Ge,
width: p.canvasSize[0],
height: p.canvasSize[1]
}), Fe.stroke(), Fe.fill(), Fe.restore(), Fe.globalCompositeOperation = "destination-over", Fe.drawImage(K, 0, 0, he.width, he.height);
}
function ue() {
qa(ne);
}
async function J(he) {
var Fe;
he && (K = void 0, await (H.value = Ze()), ne()), w.value = !1, T.value = !1, F.value = 0, h.value = N(), v.length = 0, (Fe = P.value) == null || Fe.reset(), p.type === "point" && Je();
}
function N(he = p.slideTarget) {
if (Tt(he)) return [Xr(75, 25), Xr(75, 25)];
const [Fe = Xr(75, 25), lt = Xr(75, 25)] = ur(he);
return [Fe, lt];
}
function j(he) {
var Fe;
(Fe = P.value) == null || Fe.focus(he);
}
function ae(he) {
i.value = !0, _(p.onDragStart, he);
}
function be(he) {
_(p.onDrag, he);
}
function re(he) {
i.value = !1, _(p.onDragEnd, he);
}
function ce(he) {
w.value = !0, T.value = !1, _(p.onSuccess, he), d(he), c();
}
function Pe() {
T.value = !0, ++F.value, _(p.onFail);
}
function at() {
!fe.value && _(p.onRefresh);
}
function yt(he) {
he.stopPropagation();
}
async function Nt() {
if (de.value) return;
v.length = p.texts.length;
let he = p.remotePoint, Fe;
if (!p.remotePoint && C.value) {
const {
width: lt,
height: Ke
} = C.value, Ct = Math.max(lt, Ke) * q, ve = Ct / lt * 50 + p.tolerance, Ve = Ct / Ke * 50 + p.tolerance;
he = !0;
for (let Ie = 0, Me = v.length; Ie < Me; ++Ie) {
const [Ge, mt] = v[Ie], [bt, Ot] = U[Ie];
if (Math.abs(Ge - bt) > ve || Math.abs(mt - Ot) > Ve) {
he = !1;
break;
}
}
}
typeof p.onBeforeTest == "function" && (kt(() => {
k.value = !0;
}), Fe = await p.onBeforeTest(v.flat()), kt(() => {
k.value = !1;
})), !he || Fe === !1 ? (w.value = !1, v.length = 0, T.value = !0, ++F.value, _(p.onFail)) : (w.value = !0, T.value = !1, _(p.onSuccess, v.flat()));
}
function Mt(he) {
if (p.type !== "point" || fe.value || !C.value) return;
const {
clientWidth: Fe,
clientHeight: lt
} = C.value, {
offsetX: Ke,
offsetY: Ct
} = he;
v.push([Ke / Fe * 100, Ct / lt * 100]), v.length >= p.texts.length && kt(Nt);
}
function Ht(he, Fe) {
Fe.stopPropagation(), !(fe.value || he !== v.length - 1) && v.pop();
}
function _t() {
L.value || (A.value = !0);
}
function tn() {
let he;
return y("div", {
class: [m.be("image"), fe.value && m.bem("image", "locked")],
onClick: Mt
}, [p.image && y("div", {
class: m.be("image-inner")
}, [y("canvas", {
ref: C,
class: m.be("canvas"),
width: Ce.value[0],
height: Ce.value[1]
}, null), p.type === "slide" && y("div", {
class: m.be("sub-image")
}, [y("canvas", {
ref: E,
class: m.be("sub-canvas"),
height: Ce.value[1],
style: Se.value
}, null)])]), p.type === "point" && y(Pf, {
name: m.ns("fade"),
appear: !0
}, Du(he = v.map(([Fe, lt], Ke) => y("span", {
key: Ke,
class: m.be("pointer"),
style: {
top: `${lt}%`,
left: `${Fe}%`
},
onClick: Ht.bind(null, Ke)
}, [Ke + 1]))) ? he : {
default: () => [he]
}), y(En, {
name: m.ns("fade")
}, {
default: () => [(L.value || T.value) && y("div", {
class: [m.be("image-tip"), m.bem("image-tip", L.value ? "success" : "fail")],
onClick: yt
}, [L.value ? p.successTip ?? b.value.success : p.failTip ?? b.value.fail])]
})]);
}
function Wt() {
return y(Rd, {
ref: P,
class: m.bem("slider", "inner"),
target: ee.value,
tolerance: p.tolerance,
loading: de.value,
"loading-icon": p.loadingIcon,
"loading-lock": !0,
"loading-effect": p.loadingEffect,
disabled: p.disabled || te.value,
onBeforeTest: p.onBeforeTest,
onSuccess: ce,
onFail: Pe,
onDragStart: ae,
onDrag: be,
onDragEnd: re
}, {
tip: () => W(r, "tip", {
success: L.value
}, () => [y(me, {
renderer: p.slots.tip,
data: {
success: L.value
}
}, {
default: () => [p.tip ?? b.value.slide]
})])
});
}
function un() {
return y("div", {
class: m.be("text-list")
}, [y("div", {
class: m.be("tip")
}, [W(r, "tip", {
success: L.value
}, () => [y(me, {
renderer: p.slots.tip,
data: {
success: L.value
}
}, {
default: () => [p.tip ?? b.value.pointInOrder]
})])]), y("span", null, [":"]), W(r, "texts", {
texts: qe(p, "texts")
}, () => {
let he;
return [y(me, {
renderer: p.slots.texts,
data: {
texts: qe(p, "texts")
}
}, Du(he = p.texts.map((Fe, lt) => y("span", {
key: lt,
class: m.be("text")
}, [Fe]))) ? he : {
default: () => [he]
})];
})]);
}
function qt() {
return p.type === "slide" ? Wt() : p.type === "point" ? un() : null;
}
function pe() {
var he;
return y("div", {
ref: z,
id: a.value,
class: Ee.value,
tabindex: -1,
role: "application",
"aria-labelledby": n.value
}, [y("div", {
class: m.be("header")
}, [y("div", {
class: m.be("title")
}, [W(r, "title", {
success: L.value
}, () => [y(me, {
renderer: p.slots.title,
data: {
success: L.value
}
}, {
default: () => [p.title ?? b.value.doCaptcha]
})])]), y("span", {
role: "none",
style: "flex: auto"
}, null), y("button", {
class: [m.be("action"), m.be("refresh"), fe.value && m.bem("action", "disabled")],
type: "button",
onClick: at
}, [W(r, "refresh", void 0, () => [y(me, {
renderer: p.slots.refresh
}, {
default: () => [y(Oe, He(f.value.refresh, {
icon: p.refreshIcon || f.value.refresh.icon
}), null)]
})])])]), y(ui, {
active: de.value || ((he = P.value) == null ? void 0 : he.isLoading),
delay: !1
}, {
default: tn,
icon: Yn(r, ["loading-icon", "loadingIcon"], () => y(me, {
renderer: p.slots.loadingIcon
}, null))
}), qt()]);
}
function Re() {
return W(r, "trigger", {
visible: A.value,
success: L.value
}, () => [y(me, {
renderer: p.slots.trigger,
data: {
visible: A.value,
success: L.value
}
}, {
default: () => [y(Hn, {
class: [m.be("button"), L.value && m.bem("button", "success")],
type: L.value ? "success" : "primary",
size: p.triggerSize,
block: !0,
loading: A.value && !L.value,
icon: L.value ? f.value.success.icon : null,
onClick: _t
}, {
default: () => [p.triggerText ?? (L.value ? b.value.completed : b.value.trigger)]
})]
})]);
}
return () => p.useTrigger ? y(Fl, {
class: m.bs("wrapper"),
visible: A.value,
trigger: "custom",
raw: !0,
wrapper: !0,
transfer: p.transfer
}, {
trigger: Re,
default: pe
}) : pe();
}
}), sy = ft({
title: String,
shadow: String,
contentStyle: kl,
slots: Object
}), iy = /* @__PURE__ */ Xe({
name: "Card",
__name: "card",
props: sy,
setup(t) {
const l = ct("card", t, {
title: "",
shadow: {
default: "always",
validator: (p) => ["always", "hover", "never"].includes(p)
},
contentStyle: () => ({}),
slots: () => ({})
}), a = kn(), n = Ye("card"), o = g(() => [
n.b(),
n.bs("vars"),
n.bm(`shadow-${l.shadow}`),
{
[n.bm("inherit")]: l.inherit
}
]), s = g(() => !!(a.title || l.title || l.slots.title)), c = g(() => !!(a.extra || l.slots.extra)), d = g(() => !!a.header || s.value || c.value);
return (p, m) => (S(), D("article", {
class: x(o.value)
}, [
d.value ? (S(), D("div", {
key: 0,
class: x(e(n).be("header"))
}, [
W(p.$slots, "header", {}, () => [
y(e(me), {
renderer: e(l).slots.header
}, {
default: X(() => [
s.value ? (S(), D("div", {
key: 0,
class: x(e(n).be("title"))
}, [
W(p.$slots, "title", {}, () => [
y(e(me), {
renderer: e(l).slots.title
}, {
default: X(() => [
dt(ze(e(l).title), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0),
c.value ? (S(), D("div", {
key: 1,
class: x(e(n).be("extra"))
}, [
W(p.$slots, "extra", {}, () => [
y(e(me), {
renderer: e(l).slots.extra
}, null, 8, ["renderer"])
])
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["renderer"])
])
], 2)) : ge("", !0),
oe("div", {
class: x(e(n).be("content")),
style: Qe(e(l).contentStyle)
}, [
W(p.$slots, "default", {}, () => [
y(e(me), {
renderer: e(l).slots.default
}, null, 8, ["renderer"])
])
], 6)
], 2));
}
}), uy = ft({
active: Number,
viewSize: Number,
vertical: M,
disabled: M,
loop: M,
arrow: String,
arrowTrigger: String,
autoplay: La,
pointer: String,
speed: Number,
activeOffset: Number,
height: [Number, String],
ignoreHover: M,
slots: Object,
onChange: B(),
onPrev: B(),
onNext: B(),
onSelect: B()
}), Md = "__VXP_CAROUSEL_STATE", cy = ["onClick"], dy = /* @__PURE__ */ Xe({
name: "Carousel",
__name: "carousel",
props: uy,
emits: ["update:active"],
setup(t, { expose: r, emit: l }) {
const n = ct("carousel", t, {
active: {
default: 0,
static: !0
},
viewSize: {
default: 3,
validator: (j) => j > 0
},
vertical: !1,
disabled: !1,
loop: !1,
arrow: {
default: "outside",
validator: (j) => ["outside", "inside", "none"].includes(j)
},
arrowTrigger: {
default: "hover",
validator: (j) => ["hover", "always"].includes(j)
},
autoplay: {
default: !1,
validator: (j) => typeof j == "number" ? j > 500 : !0
},
pointer: {
default: "none",
validator: (j) => ["outside", "inside", "none"].includes(j)
},
speed: 300,
activeOffset: 0,
height: null,
ignoreHover: !1,
slots: () => ({})
}), o = l, s = Ye("carousel"), c = Gt(), d = fa(), { isRtl: p } = Un(), m = $(/* @__PURE__ */ new Set()), b = $(0), f = $(!1), u = $(n.arrowTrigger === "always"), h = pt({
width: 0,
height: 0
}), i = pt({
width: 0,
height: 0,
offset: 0
}), v = pt({
width: 0,
height: 0
}), { wrapper: k, isHover: w } = Ql(), T = $(), F = $(), A = g(() => n.disabled || m.value.size <= n.viewSize), z = g(() => ({
[s.b()]: !0,
[s.bs("vars")]: !0,
[s.bm("inherit")]: n.inherit,
[s.bm("vertical")]: n.vertical,
[s.bm("disabled")]: A.value
})), C = g(() => ({
height: n.vertical && n.height ? `${n.height}${typeof n.height == "number" ? "px" : ""}` : void 0
})), E = g(() => ({
width: h.width ? `${h.width}px` : void 0,
height: h.height ? `${h.height}px` : void 0
})), P = g(() => ({
width: i.width ? `${i.width}px` : void 0,
height: i.height ? `${i.height}px` : void 0,
transform: i.offset ? `translate${n.vertical ? "Y" : "X"}(${p.value && !n.vertical ? `${-i.offset}` : i.offset}px) translateZ(0)` : void 0,
transitionDuration: f.value ? "0ms" : `${n.speed}ms`
})), R = g(() => A.value || !n.loop && b.value <= 0), L = g(() => A.value || !n.loop && b.value >= m.value.size - n.viewSize), I = g(() => n.vertical ? [c.value.angleUp, c.value.angleDown] : p.value ? [c.value.angleRight, c.value.angleLeft] : [c.value.angleLeft, c.value.angleRight]);
le(
() => n.active,
(j) => {
Ce(j - n.activeOffset);
}
), le(w, (j) => {
n.ignoreHover || (j ? ue() : J());
}), le(() => n.viewSize, de), le(() => n.autoplay, ne);
const G = Ln(() => {
Array.from(m.value).forEach((j, ae) => {
j.label = ae;
});
}), ee = Ln(() => {
m.value.forEach((j) => {
j.width = v.width, j.height = v.height;
});
}), O = Ln(() => {
i.width = v.width * m.value.size, i.height = v.height * m.value.size;
});
nn(
Md,
pt({
vertical: qe(n, "vertical"),
increaseItem: q,
decreaseItem: Z,
isItemActive: K,
handleSelect: Je
})
);
let H = !1, U = !1;
f.value = !0, sn(() => {
we(), Ce(n.active - n.activeOffset), fe(), setTimeout(() => {
f.value = !1, H = !1, ne();
}, 0);
}), r({
itemStates: m,
currentActive: b,
arrowActive: u,
wrapper: k,
prev: T,
next: F,
refresh: de
});
function q(j) {
m.value.add(j), G(), ee(), O();
}
function Z(j) {
m.value.delete(j), G(), O();
}
function K(j) {
return (b.value + n.activeOffset) % m.value.size === j;
}
function we() {
if (!k.value) return;
let j = 0, ae = 0;
n.arrow === "outside" && (n.vertical ? (j = T.value ? T.value.offsetHeight : 0, ae = F.value ? F.value.offsetHeight : 0) : (j = T.value ? T.value.offsetWidth : 0, ae = F.value ? F.value.offsetWidth : 0)), n.vertical ? (h.width = 0, h.height = k.value.offsetHeight - j - ae, v.width = 0, v.height = h.height / n.viewSize) : (h.width = k.value.offsetWidth - j - ae, h.height = 0, v.width = h.width / n.viewSize, v.height = 0);
}
function de() {
we(), ee(), O(), i.offset > 0 ? Ee(0) : Se(0), setTimeout(() => {
f.value = !1, H = !1;
}, 0);
}
function te() {
const j = (b.value + n.activeOffset) % m.value.size;
o("update:active", j), _(n.onChange, j);
}
function Ee(j = 1) {
if (A.value || H) return;
const ae = n.vertical ? v.height : v.width, be = Array.from(m.value), re = be.length, ce = (b.value - j + re) % re, Pe = b.value;
if (ce >= re - n.viewSize) {
if (!n.loop) return;
if (i.offset < 0)
if (j < b.value)
i.offset = -ce * ae;
else {
i.offset = ae * (re - ce);
for (let at = ce; at < re; ++at)
be[at].offset = -re * ae;
}
else {
for (let at = 0; at < re; ++at)
be[at].offset = at < ce ? 0 : (p.value && !n.vertical ? re : -re) * ae;
i.offset = ae * (re - ce);
}
b.value = ce;
} else
b.value = ce, i.offset = -b.value * ae;
U = b.value <= re - n.viewSize, H = !0, b.value !== Pe && te();
}
function Se(j = 1) {
if (A.value || H) return;
const ae = n.vertical ? v.height : v.width, be = Array.from(m.value), re = be.length, ce = b.value + j, Pe = b.value;
if (ce > m.value.size - n.viewSize) {
if (!n.loop) return;
if (i.offset > 0)
i.offset = ae * (re - ce);
else {
const at = ce + n.viewSize - re;
for (let yt = 0, Nt = be.length; yt < Nt; ++yt)
be[yt].offset = yt < at ? (p.value && !n.vertical ? -re : re) * ae : 0;
i.offset = -ce * ae;
}
b.value = ce % re;
} else
b.value = ce, i.offset = -b.value * ae;
U = b.value <= re - n.viewSize, H = !0, b.value !== Pe && te();
}
function Ce(j) {
if (A.value || H || j === b.value) return;
const ae = m.value.size;
if (j = j % ae + (j < 0 ? ae : 0), n.loop) {
let be, re;
j > b.value ? (be = j - b.value, re = ae - j + b.value) : (be = ae - b.value + j, re = b.value - j), be < re ? Se(be) : be > re ? Ee(re) : i.offset > 0 ? Ee(be) : Se(be);
} else
j < b.value ? Ee(b.value - j) : Se(j - b.value);
}
function fe() {
U ? (m.value.forEach((j) => {
j.offset = 0;
}), U = !1, f.value = !0, requestAnimationFrame(() => {
i.offset = -b.value * (n.vertical ? v.height : v.width), requestAnimationFrame(() => {
f.value = !1, H = !1;
});
})) : H = !1;
}
function ot() {
Ee(1), _(n.onPrev, (b.value + n.activeOffset) % m.value.size);
}
function Ze() {
Se(1), _(n.onNext, (b.value + n.activeOffset) % m.value.size);
}
function Je(j) {
_(n.onSelect, j);
}
const { timer: se } = Vn();
function ne() {
if (clearInterval(se.play), !n.autoplay) return;
let j = 4e3;
typeof n.autoplay == "number" && (j = n.autoplay), se.play = window.setInterval(() => {
!n.loop && L.value ? Ce(0) : Se();
}, j);
}
function ue() {
n.autoplay && (clearTimeout(se.hover), se.hover = setTimeout(() => {
clearInterval(se.play);
}, d.value)), n.arrowTrigger === "hover" && n.arrow === "inside" && (u.value = !0);
}
function J() {
n.autoplay && (clearTimeout(se.hover), se.hover = setTimeout(() => {
ne();
}, d.value)), n.arrowTrigger === "hover" && (u.value = !1);
}
function N(j) {
return n.loop ? !1 : !(j >= n.activeOffset - 1 && j < m.value.size - n.activeOffset - 1);
}
return (j, ae) => (S(), D("div", {
ref_key: "wrapper",
ref: k,
class: x(z.value),
role: "list",
style: Qe(C.value)
}, [
y(e(zn), { onResize: de }, {
default: X(() => [
oe("div", {
style: Qe({
position: "relative",
display: "flex",
flexDirection: e(n).vertical ? "column" : "row",
width: "100%"
})
}, [
e(n).arrow !== "none" ? (S(), D("div", {
key: 0,
ref_key: "prev",
ref: T,
class: x([
e(s).bem("arrow", e(n).arrow),
e(s).bem("arrow", "prev"),
u.value ? e(s).bem("arrow", "show") : ""
])
}, [
oe("div", {
class: x({
[e(s).be("handler")]: !0,
[e(s).bem("handler", "disabled")]: R.value
}),
onClick: ot
}, [
W(j.$slots, "prevArrow", { disabled: R.value }, () => [
y(e(me), {
renderer: e(n).slots.prevArrow,
data: { disabled: R.value }
}, {
default: X(() => [
y(e(Oe), He(I.value[0], {
scale: +(I.value[0].scale || 1) * 1.5
}), null, 16, ["scale"])
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2)
], 2)) : ge("", !0),
oe("div", {
class: x(e(s).be("list")),
style: Qe(E.value)
}, [
oe("div", {
class: x(e(s).be("track")),
style: Qe(P.value),
onTransitionend: gt(fe, ["self"])
}, [
W(j.$slots, "default", {}, () => [
y(e(me), {
renderer: e(n).slots.default
}, null, 8, ["renderer"]),
ae[0] || (ae[0] = dt("> "))
])
], 38)
], 6),
e(n).arrow !== "none" ? (S(), D("div", {
key: 1,
ref_key: "next",
ref: F,
class: x([
e(s).bem("arrow", e(n).arrow),
e(s).bem("arrow", "next"),
u.value ? e(s).bem("arrow", "show") : ""
])
}, [
oe("div", {
class: x({
[e(s).be("handler")]: !0,
[e(s).bem("handler", "disabled")]: L.value
}),
onClick: Ze
}, [
W(j.$slots, "nextArrow", { disabled: L.value }, () => [
y(e(me), {
renderer: e(n).slots.nextArrow,
data: { disabled: L.value }
}, {
default: X(() => [
y(e(Oe), He(I.value[1], {
scale: +(I.value[1].scale || 1) * 1.5
}), null, 16, ["scale"])
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2)
], 2)) : ge("", !0)
], 4)
]),
_: 3
}),
e(n).pointer !== "none" ? (S(), D("div", {
key: 0,
class: x(e(s).bem("pointers", e(n).pointer))
}, [
(S(!0), D(st, null, ln(m.value.size, (be) => (S(), D("div", {
key: be,
class: x({
[e(s).be("pointer")]: !0,
[e(s).bem("pointer", "active")]: be - 1 === (b.value + e(n).activeOffset) % m.value.size,
[e(s).bem("pointer", "disabled")]: N(be - e(n).activeOffset - 1)
}),
onClick: (re) => Ce(be - e(n).activeOffset - 1)
}, [
W(j.$slots, "pointer", {
active: be - 1 === (b.value + e(n).activeOffset) % m.value.size
}, () => [
y(e(me), {
renderer: e(n).slots.pointer,
data: { active: be - 1 === (b.value + e(n).activeOffset) % m.value.size }
}, {
default: X(() => [
oe("span", {
class: x(e(s).be("pointer-inner"))
}, null, 2)
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 10, cy))), 128))
], 2)) : ge("", !0)
], 6));
}
}), fy = /* @__PURE__ */ Xe({
name: "CarouselItem",
__name: "carousel-item",
setup(t) {
const r = Et(Md, null), l = Ye("carousel"), a = pt({
label: -1,
width: 0,
height: 0,
offset: 0
}), n = g(() => (r == null ? void 0 : r.isItemActive(a.label)) ?? !1), o = g(() => ({
[l.be("item")]: !0,
[l.bem("item", "active")]: n.value
})), s = g(() => {
const { width: d, height: p, offset: m } = a;
return {
width: d ? `${d}px` : void 0,
height: p ? `${p}px` : void 0,
transform: m ? `translate${r != null && r.vertical ? "Y" : "X"}(${m}px)` : void 0
};
});
r && (r.increaseItem(a), pn(() => {
r.decreaseItem(a);
}));
function c() {
r == null || r.handleSelect(a.label);
}
return (d, p) => (S(), D("div", {
class: x(o.value),
role: "listitem",
style: Qe(s.value),
onClick: c
}, [
W(d.$slots, "default", { active: n.value })
], 6));
}
}), py = ft({
size: An,
state: Zn,
checked: M,
label: String,
value: [String, Number],
labelClass: Bn,
disabled: M,
border: M,
control: M,
partial: M,
tabIndex: [String, Number],
loading: M,
loadingLock: M,
name: String,
color: String,
stateColor: M,
onChange: B(),
onClick: B()
}), vy = ft({
size: An,
state: Zn,
locale: Mn(),
value: Array,
vertical: M,
disabled: M,
border: M,
options: Array,
loading: M,
loadingLock: M,
control: hn,
color: String,
stateColor: M,
onChange: B()
}), Pd = "__VXP_CHECKBOX_GROUP_STATE", hy = ["id", "aria-disabled", "aria-labelledby"], my = ["checked", "disabled", "tabindex", "name"], xl = /* @__PURE__ */ Xe({
name: "Checkbox",
__name: "checkbox",
props: py,
emits: ["update:checked"],
setup(t, { expose: r, emit: l }) {
const {
idFor: a,
labelId: n,
state: o,
disabled: s,
loading: c,
size: d,
validateField: p,
getFieldValue: m,
setFieldValue: b
} = al(() => {
var de;
return (de = F.value) == null ? void 0 : de.focus();
}), u = ct("checkbox", t, {
size: On(d),
state: ll(o),
checked: {
default: () => m(),
static: !0
},
label: null,
value: {
default: null,
static: !0
},
labelClass: null,
disabled: () => s.value,
border: !1,
control: !1,
partial: !1,
tabIndex: 0,
loading: () => c.value,
loadingLock: !1,
name: {
default: "",
static: !0
},
color: null,
stateColor: !1
}), h = l, i = kn(), v = Et(Pd, null), k = Ye("checkbox"), w = $(u.checked ?? !1), T = $(u.partial), F = $(), A = pt({
checked: w,
partial: T
}), z = g(() => (v == null ? void 0 : v.size) || u.size), C = g(() => (v == null ? void 0 : v.state) || u.state), E = g(() => (v == null ? void 0 : v.disabled) || u.disabled), P = g(() => (v == null ? void 0 : v.loading) || u.loading), R = g(() => (v == null ? void 0 : v.loadingLock) || u.loadingLock), L = g(() => (v == null ? void 0 : v.stateColor) || u.stateColor), I = g(() => P.value && R.value), G = g(() => [
k.b(),
k.bs("vars"),
{
[k.bm("inherit")]: u.inherit,
[k.bm("checked")]: w.value,
[k.bm("disabled")]: E.value,
[k.bm("readonly")]: I.value,
[k.bm("loading")]: P.value,
[k.bm(z.value)]: z.value !== "default",
[k.bm("border")]: u.border,
[k.bm("partial")]: u.control && T.value,
[k.bm(C.value)]: C.value !== "default"
}
]), ee = g(() => {
if (!u.color) return v == null ? void 0 : v.colorMap;
const de = Qn(u.color);
return {
base: de.toString(),
opacity6: ml(de, 0.4).toString()
};
}), O = g(() => {
if (!ee.value) return {};
const { base: de, opacity6: te } = ee.value;
return k.cvm({
"label-color-checked": de,
"b-color": L.value ? de : void 0,
"b-color-hover": de,
"b-color-checked": de,
"signal-bg-color-checked": de,
"s-color-focus": te
});
}), H = g(() => dn(u.label) && u.label !== ""), U = g(() => u.value ?? u.label);
if (le(
() => u.checked,
(de) => {
Z(de);
}
), le(
() => u.partial,
(de) => {
T.value = de;
}
), v) {
let de = !1;
le(U, (te, Ee) => {
on(v.replaceValue) && v.replaceValue(Ee, te);
}), le(
() => u.control,
(te) => {
te ? (de && (v.decreaseItem(U.value, F), de = !1), v.increaseControl(A)) : v.decreaseControl(A);
},
{ immediate: !0 }
), le(
() => v.currentValues,
(te) => {
u.control || Z(te.includes(U.value));
},
{ immediate: !0 }
), sn(() => {
u.control || (v.increaseItem(U.value, w.value, F), de = !0);
}), pn(() => {
u.control ? v.decreaseControl(A) : v.decreaseItem(U.value, F);
});
}
r({
idFor: a,
labelId: n,
currentChecked: w,
input: F,
focus: (de) => {
var te;
return (te = F.value) == null ? void 0 : te.focus(de);
},
blur: () => {
var de;
return (de = F.value) == null ? void 0 : de.blur();
}
});
function q() {
const de = w.value;
h("update:checked", de), b(de), _(u.onChange, de);
}
function Z(de) {
u.control && on(v == null ? void 0 : v.handleControlChange) ? v.handleControlChange() : w.value !== de && (w.value = de, q());
}
function K(de) {
E.value || I.value || (Z(de), !u.control && v && on(v.setItemChecked) && v.setItemChecked(U.value, de), v || p());
}
function we(de) {
_(u.onClick, de);
}
return (de, te) => (S(), D("label", {
id: e(a),
class: x(G.value),
style: Qe(O.value),
"aria-disabled": E.value,
"aria-labelledby": e(n),
onClick: we
}, [
oe("input", {
ref_key: "input",
ref: F,
type: "checkbox",
class: x(e(k).be("input")),
checked: w.value,
disabled: E.value || I.value,
tabindex: e(u).tabIndex,
name: e(u).name,
onSubmit: te[0] || (te[0] = gt(() => {
}, ["prevent"])),
onChange: te[1] || (te[1] = (Ee) => K(!w.value)),
onClick: te[2] || (te[2] = gt(() => {
}, ["stop"]))
}, null, 42, my),
oe("span", {
class: x([e(k).be("signal"), P.value && e(k).bem("signal", "active")])
}, null, 2),
H.value || i.default ? (S(), D("span", {
key: 0,
class: x([e(k).be("label"), e(u).labelClass])
}, [
W(de.$slots, "default", {}, () => [
dt(ze(e(u).label), 1)
])
], 2)) : ge("", !0)
], 14, hy));
}
}), by = ["aria-labelledby"], gy = /* @__PURE__ */ Xe({
name: "CascaderPanel",
__name: "cascader-panel",
props: {
options: {
type: Array,
default: () => []
},
openedId: {
type: Number,
default: null
},
values: {
type: Array,
default: () => []
},
ready: {
type: Boolean,
default: !1
},
multiple: {
type: Boolean,
default: !1
},
checkIcon: {
type: Object,
default: null
},
isAsync: {
type: Boolean,
default: !1
},
merged: {
type: Boolean,
default: !1
},
noCascaded: {
type: Boolean,
default: !1
},
visible: {
type: Boolean,
default: !1
},
labeledBy: {
type: String,
default: void 0
}
},
emits: ["select", "check", "hover", "open", "back", "close"],
setup(t, { expose: r, emit: l }) {
const a = t, n = l, o = Ye("cascader"), s = Gt(), { isRtl: c } = Un(), d = $(-1), p = $(), { target: m } = cl({
passive: !1,
onKeyDown: (E, P) => {
if (P.escape) {
n("close");
return;
}
za(
[
[
() => P.up || P.down,
() => {
if (d.value < 0) {
d.value = a.options.findIndex(h), d.value < 0 && (d.value = 0);
return;
}
d.value = cn(
z(d.value + (P.up ? -1 : 1), P.up ? -1 : 1),
0,
a.options.length - 1
), C(d.value, P.up ? "top" : "bottom");
}
],
[
() => P.left || P.right,
() => {
if (P.right) {
const R = a.options[d.value];
R && u(R) && n("open", R);
} else
n("back");
}
],
[
() => P.enter || P.space,
() => {
E.stopPropagation();
const R = a.options[d.value];
R && (a.multiple ? k(R) : v(R, d.value));
}
]
],
{
beforeMatchAny: () => E.preventDefault(),
afterMatchAny: P.resetAll
}
);
}
});
let b = 0, f;
le([() => a.ready, () => a.options], () => {
var E;
requestAnimationFrame(F), a.ready ? ((E = p.value) == null || E.refresh(), d.value = a.options.findIndex(h)) : d.value = -1;
}), sn(() => {
requestAnimationFrame(F);
}), pn(T), r({ currentHitting: d });
function u(E) {
var P;
return !!(E.hasChild || (P = E.children) != null && P.length);
}
function h(E) {
return u(E) && E.id === a.openedId || a.values.includes(E.fullValue);
}
function i(E) {
return E.disabled || !a.merged && a.multiple && a.isAsync && u(E) && !E.childrenLoaded;
}
function v(E, P) {
E.disabled || (d.value = P, a.multiple || a.noCascaded ? u(E) ? n("select", E) : k(E) : n("select", E));
}
function k(E) {
!i(E) && n("check", E);
}
function w(E) {
clearTimeout(f), f = setTimeout(() => {
!E.disabled && n("hover", E);
}, 100);
}
function T() {
clearTimeout(f);
}
function F() {
var P;
const E = (P = p.value) == null ? void 0 : P.wrapper;
if (E) {
const R = getComputedStyle(E), L = parseInt(R.paddingTop), I = parseInt(R.paddingBottom);
b = E.offsetHeight - L - I;
}
}
function A(E, P) {
var L;
const R = a.options;
for (P = P / Math.abs(P); (L = R[E]) != null && L.disabled && (E += P, !(E < 0 || E >= R.length)); )
;
return E;
}
function z(E, P = 1) {
var L;
const R = a.options;
return (L = R[E]) != null && L.disabled && (E = A(E, P), (P > 0 ? E >= R.length : E < 0) && (E = A(E, -P), (P > 0 ? E < 0 : E >= R.length) && (E = -1))), E;
}
function C(E, P) {
const R = a.options[E], L = 32;
if (!(!R || !p.value))
if (P === "bottom") {
const I = (E + 1) * L;
p.value.scrollOffset + b < I && p.value.scrollTo(I - b);
} else {
const I = E * L;
p.value.scrollOffset > I && p.value.scrollTo(I);
}
}
return (E, P) => (S(), D("div", {
ref_key: "wrapper",
ref: m,
class: x(e(o).be("panel")),
tabindex: "-1",
"aria-labelledby": t.labeledBy,
onMouseleave: T
}, [
y(e(Wr), {
ref_key: "list",
ref: p,
inherit: "",
items: t.options,
"item-size": 32,
height: "100%",
"id-key": "id",
"items-attrs": {
class: [
e(o).be("options"),
t.multiple ? e(o).bem("options", "multiple") : null,
t.noCascaded ? e(o).bem("options", "no-cascaded") : null
],
role: "listbox",
ariaMultiselectable: t.multiple
},
onResize: F
}, {
default: X(({ item: R, index: L }) => [
y(e(qo), {
class: x({
[e(o).ns("option--error")]: R.error
}),
value: R.value,
label: R.label,
disabled: R.disabled,
selected: h(R),
hitting: L === d.value,
onSelect: (I) => v(R, L),
onMouseenter: (I) => w(R)
}, {
default: X(() => [
W(E.$slots, "default", {
option: R,
index: L,
selected: h(R),
canCheck: i(R),
hasChild: u(R)
}, () => [
t.multiple || t.noCascaded ? (S(), Be(e(xl), {
key: 0,
inherit: "",
class: x(e(o).be("checkbox")),
checked: R.checked,
control: u(R),
partial: R.partial,
disabled: i(R),
size: "small",
onClick: gt((I) => k(R), ["prevent", "stop"])
}, null, 8, ["class", "checked", "control", "partial", "disabled", "onClick"])) : ge("", !0),
oe("span", {
class: x(e(o).be("label"))
}, [
W(E.$slots, "label", {
option: R,
index: L,
selected: h(R),
canCheck: i(R),
hasChild: u(R),
handleSelect: () => v(R, L)
}, () => [
dt(ze(R.label), 1)
])
], 2),
oe("div", {
class: x(e(o).be("icon"))
}, [
R.loading ? (S(), Be(e(Oe), It(He({ key: 0 }, e(s).loading)), null, 16)) : R.error ? (S(), Be(e(Oe), It(He({ key: 1 }, e(s).refresh)), null, 16)) : u(R) ? (S(), D(st, { key: 2 }, [
e(c) ? (S(), Be(e(Oe), It(He({ key: 0 }, e(s).angleLeft)), null, 16)) : (S(), Be(e(Oe), It(He({ key: 1 }, e(s).angleRight)), null, 16))
], 64)) : !t.multiple && !t.noCascaded && t.checkIcon && t.values.includes(R.fullValue) ? (S(), Be(e(Oe), He({ key: 3 }, e(s).check, {
icon: t.checkIcon || e(s).check.icon
}), null, 16, ["icon"])) : ge("", !0)
], 2)
])
]),
_: 2
}, 1032, ["class", "value", "label", "disabled", "selected", "hitting", "onSelect", "onMouseenter"])
]),
_: 3
}, 8, ["items", "items-attrs"])
], 42, by));
}
}), yy = ft({
size: An,
state: Zn,
locale: Mn(),
value: Array,
visible: M,
options: Array,
placeholder: String,
prefix: Xt,
prefixColor: String,
suffix: Xt,
suffixColor: String,
noCascaded: M,
multiple: M,
disabled: M,
clearable: M,
placement: String,
transfer: hn,
staticSuffix: M,
noSuffix: M,
transitionName: String,
outsideClose: M,
keyConfig: Object,
separator: String,
hoverTrigger: M,
maxTagCount: Number,
briefLabel: M,
noRestTip: M,
onAsyncLoad: Function,
mergeTags: M,
tagType: String,
emptyText: String,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
transparent: M,
popperAlive: M,
slots: Object,
onToggle: B(),
onSelect: B(),
onCancel: B(),
onChange: B(),
onClickOutside: B(),
onOutsideClose: B(),
onClear: B()
}), ky = ["id", "aria-disabled", "aria-expanded", "aria-labelledby"], wy = { key: 1 }, xy = ["aria-label"], Sy = /* @__PURE__ */ Xe({
name: "Cascader",
__name: "cascader",
props: yy,
emits: ["update:visible", "update:value"],
setup(t, { expose: r, emit: l }) {
const a = Symbol("ID_KEY"), n = Symbol("PARENT_KEY"), o = {
value: "value",
label: "label",
children: "children",
disabled: "disabled",
hasChild: "hasChild"
}, {
idFor: s,
labelId: c,
state: d,
disabled: p,
loading: m,
size: b,
validateField: f,
clearField: u,
getFieldValue: h,
setFieldValue: i
} = al(() => {
var Y;
return (Y = ue.value) == null ? void 0 : Y.focus();
}), v = t, k = Ye("cascader"), w = ct("cascader", v, {
size: On(b),
state: ll(d),
locale: null,
value: {
default: () => h(),
static: !0
},
visible: {
default: !1,
static: !0
},
options: {
default: () => [],
static: !0
},
placeholder: null,
prefix: en(),
prefixColor: "",
suffix: en(),
suffixColor: "",
noCascaded: !1,
multiple: !1,
disabled: () => p.value,
clearable: !1,
placement: {
default: "bottom-start",
validator: (Y) => Wl.includes(Y)
},
transfer: !1,
staticSuffix: !1,
noSuffix: !1,
transitionName: () => k.ns("drop"),
outsideClose: !0,
keyConfig: () => ({}),
separator: {
default: "/",
validator: (Y) => Y.length === 1
},
hoverTrigger: !1,
maxTagCount: 0,
briefLabel: !1,
noRestTip: !1,
onAsyncLoad: {
default: null,
isFunc: !0
},
mergeTags: !1,
tagType: null,
emptyText: null,
loading: () => m.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
transparent: !1,
popperAlive: null,
slots: () => ({})
}), T = l, F = kn(), A = Gt(), z = vn("select", qe(w, "locale")), C = $(w.visible), E = $([]), P = $([]), R = $([]), L = $([]), I = $(!1), G = qe(w, "placement"), ee = qe(w, "transfer"), O = $(null), H = $(null), U = g(() => typeof w.onAsyncLoad == "function"), q = g(() => w.mergeTags && !w.noCascaded), Z = g(
() => q.value ? R.value : E.value
), K = g(
() => q.value ? L.value : P.value
);
let we = null, de = null, te = null, Ee = !1, Se = -1, Ce;
const fe = $(0);
In(() => {
w.keyConfig.value, w.keyConfig.label, w.keyConfig.disabled, w.keyConfig.hasChild, w.separator, U.value, Ce = Ms(w.options, {
keyField: a,
parentField: n,
childField: w.keyConfig.children ?? o.children,
forceInject: !0
}), fe.value++;
}), le(fe, ot, { immediate: !0 });
function ot() {
const Y = w.separator, ke = U.value;
we = Wt(Ce), de = /* @__PURE__ */ new Map(), te = /* @__PURE__ */ new Map();
for (let xe = 0, We = we.length; xe < We; ++xe) {
const V = we[xe];
un(V, Y), de.set(V.id, V), te.set(V.fullValue, V), ke && (V.childrenLoaded = qt(V));
}
H.value = _c(we), Fe(O.value);
}
const Ze = $([]), Je = g(() => [
H.value,
...Ze.value.map((Y) => {
var ke;
return (ke = de.get(Y)) == null ? void 0 : ke.children;
}).filter(Boolean)
]), se = Hl($e), ne = $(), { reference: ue, transferTo: J, updatePopper: N } = Kl({
placement: G,
transfer: ee,
wrapper: se,
popper: g(() => {
var Y;
return (Y = ne.value) == null ? void 0 : Y.wrapper;
}),
isDrop: !0
}), { isHover: j } = Ql(ue), ae = $([]), be = $(0), re = $(!1), ce = $(0), Pe = g(() => ({
[k.b()]: !0,
[k.ns("input-vars")]: !0,
[k.bs("vars")]: !0,
[k.bm("inherit")]: w.inherit,
[k.bm("multiple")]: w.multiple,
[k.bm("responsive")]: w.multiple && w.maxTagCount <= 0
})), at = g(() => w.loading && w.loadingLock), yt = g(() => {
const Y = k.be("selector");
return {
[Y]: !0,
[`${Y}--focused`]: !w.disabled && C.value,
[`${Y}--disabled`]: w.disabled,
[`${Y}--readonly`]: at.value,
[`${Y}--loading`]: w.loading,
[`${Y}--${w.size}`]: w.size !== "default",
[`${Y}--${w.state}`]: w.state !== "default",
[`${Y}--has-prefix`]: Nt.value,
[`${Y}--has-suffix`]: !w.noSuffix,
[`${Y}--transparent`]: w.transparent
};
}), Nt = g(() => !!(F.prefix || w.slots.prefix || w.prefix)), Mt = g(() => !!Z.value[0]), Ht = g(() => w.hoverTrigger && !U.value), _t = g(() => !w.disabled && !at.value && w.clearable && j.value && Mt.value);
le(
() => w.visible,
(Y) => {
C.value = Y;
}
), le(C, async (Y) => {
var ke;
Y ? (re.value = !1, ce.value = ((ke = se.value) == null ? void 0 : ke.offsetWidth) || 0, await N(), kt(() => {
var xe, We;
(We = (xe = gn(ae.value)) == null ? void 0 : xe.$el) == null || We.focus();
})) : (I.value = !1, ue.value && !Ee && ue.value.focus()), Ee = !1;
});
let tn = !1;
le(O, () => {
tn = !0;
}), le(
() => w.value,
(Y) => {
(Y !== O.value || tn) && (O.value = Y, Fe(Y), kt(() => {
tn = !1;
}));
},
{ immediate: !0 }
), le(
() => w.briefLabel,
(Y) => {
P.value = E.value.map((ke) => {
var xe;
return (xe = te.get(ke)) == null ? void 0 : xe[Y ? "label" : "fullLabel"];
}).filter(Boolean);
}
), le(U, (Y) => {
if (Y)
for (const ke of de.values())
ke.childrenLoaded = qt(ke);
}), le(q, (Y) => {
if (Y && (R.value.length = 0, L.value.length = 0, pe()), U.value) {
const ke = [];
for (const xe of de.values())
xe.checked && ke.push(xe), xe.hasChild && !xe.children.length && !xe.loaded && (xe.checked = !1);
for (let xe = 0, We = ke.length; xe < We; ++xe) {
const V = ke[xe];
Ve(V), Ie(V);
}
}
Ge();
}), le(
() => Je.value.length,
() => {
N(), kt(() => {
var Y, ke;
(ke = (Y = gn(ae.value)) == null ? void 0 : Y.$el) == null || ke.focus(), Se = -1;
});
}
), le(
() => w.disabled,
(Y) => {
Y && lt(!1);
}
), le(at, (Y) => {
Y && lt(!1);
}), zf(() => {
ae.value.length = 0;
}), r({
idFor: s,
labelId: c,
currentVisible: C,
currentValues: E,
currentLabels: P,
isHover: j,
openedIds: Ze,
restTagCount: be,
restTipShow: re,
optionsList: Je,
hasValue: Mt,
templateValues: Z,
templateLabels: K,
showClear: _t,
wrapper: se,
reference: ue,
popper: ne,
panelElList: ae,
handlePanelOpen: Ke,
handleOptionSelect: Ct,
handleOptionCheck: Me,
toggleVisible: Vt,
handleClear: et,
handlePanelBack: wn,
focus: (Y) => {
var ke;
return (ke = ue.value) == null ? void 0 : ke.focus(Y);
},
blur: () => {
var Y;
return (Y = ue.value) == null ? void 0 : Y.blur();
}
});
function Wt(Y) {
const {
value: ke,
label: xe,
disabled: We,
hasChild: V
} = { ...o, ...w.keyConfig };
return Y.map((De) => {
const {
[a]: _e,
[n]: rt,
[ke]: xt,
[xe]: Bt,
[We]: Ut,
[V]: xn
} = De;
return pt({
id: _e,
parent: rt,
value: xt,
disabled: Ut,
hasChild: xn,
label: Bt || String(xt),
fullValue: "",
fullLabel: "",
children: [],
checked: !1,
partial: !1,
loading: !1,
loaded: !1,
error: !1,
childrenLoaded: !1,
data: De
});
});
}
function un(Y, ke) {
let xe = Y.value, We = Y.label, V = de.get(Y.parent);
for (; V; )
xe = `${V.value}${ke}${xe}`, We = `${V.label}${ke}${We}`, V = de.get(V.parent);
Y.fullValue = xe, Y.fullLabel = We;
}
function qt(Y) {
var xe, We;
if (Y.hasChild && !((xe = Y.children) != null && xe.length))
return Y.loaded;
const ke = [...Y.children];
for (; ke.length; ) {
const V = ke.shift();
if (!V.childrenLoaded) {
if (V.hasChild && !((We = V.children) != null && We.length) && (V.childrenLoaded = V.loaded, !V.loaded))
return !1;
ke.push(...V.children);
}
}
return !0;
}
function pe() {
const Y = U.value ? E.value.concat(R.value) : E.value, ke = new Set(Y), xe = [...Y];
for (; xe.length; ) {
const V = xe.shift(), De = te.get(V);
if (De) {
const _e = de.get(De.parent);
_e != null && _e.checked && (ke.delete(V), ke.add(_e.fullValue), xe.push(_e.fullValue));
}
}
const We = w.briefLabel;
R.value = Array.from(ke).filter((V) => te.has(V)), L.value = R.value.map((V) => {
const De = te.get(V);
return We ? De.label : De.fullLabel;
}).filter(Boolean);
}
function Re(Y) {
return !!Y.length && !Array.isArray(Y[0]);
}
function he(Y) {
return !!Y.length && Array.isArray(Y[0]);
}
function Fe(Y) {
const ke = () => {
q.value && (U.value && (R.value = Array.from(de.values()).filter((V) => V.checked).map((V) => V.fullValue)), pe());
};
for (const V of we)
V.checked = !1, V.partial = !1;
if (!(Y != null && Y.length)) {
E.value = [], P.value = [], ke();
return;
}
const xe = w.briefLabel;
if (w.multiple) {
const V = Re(Y) ? [Y] : Y, De = new Set(V.map((Bt) => Bt.join(w.separator))), _e = [], rt = [], xt = [];
if (De.forEach((Bt) => {
const Ut = te.get(Bt);
Ut && (Ut.checked = !0, Ut.partial = !1, _e.push(Bt), rt.push(xe ? Ut.label : Ut.fullLabel), xt.push(Ut));
}), !w.noCascaded) {
const Bt = xt.concat(
Array.from(de.values()).filter((Ut) => Ut.disabled && Ut.checked)
);
for (let Ut = 0, xn = Bt.length; Ut < xn; ++Ut) {
const qn = Bt[Ut];
Ve(qn), Ie(qn);
}
}
E.value = _e, P.value = rt;
} else {
const De = (he(Y) ? Y[0] : Y).join(w.separator), _e = te.get(De);
_e ? (E.value = [De], P.value = [xe ? _e.label : _e.fullLabel], w.noCascaded && (_e.checked = !0, _e.partial = !1)) : (E.value = [], P.value = []);
}
if (ke(), Ze.value.length) return;
const We = E.value[0];
if (We) {
const V = te.get(We), De = [V.id];
let _e = de.get(V.parent);
for (; _e; )
De.push(_e.id), _e = de.get(_e.parent);
Ze.value = De.reverse().slice(0, -1);
}
}
function lt(Y) {
C.value !== Y && (C.value = Y, T("update:visible", Y), _(w.onToggle, Y));
}
async function Ke(Y, ke) {
var xe, We;
if (!(!Y.hasChild && !((xe = Y.children) != null && xe.length))) {
if (U.value && !((We = Y.children) != null && We.length) && !Y.loaded) {
Y.loading = !0;
let V;
try {
V = w.onAsyncLoad(Y.data), V = Sl(V) ? await V : V;
} catch {
Y.error = !0, Y.loading = !1;
return;
}
const De = V;
if (!Array.isArray(De) || !De.length)
Y.hasChild = !1;
else {
const rt = Wt(De), xt = Y.id, Bt = w.separator;
Y.children.push(...rt);
let Ut = Math.max(...Array.from(de.keys()).map(Number)) + 1;
rt.forEach((xn) => {
xn.id = Ut++, xn.parent = xt, un(xn, Bt), de.set(xn.id, xn), te.set(xn.fullValue, xn);
}), we.push(...rt);
}
Y.loaded = !0, Y.loading = !1, ve(Y).forEach((rt) => {
rt.childrenLoaded = qt(rt);
});
}
ke < Ze.value.length && (Ze.value = Ze.value.slice(0, ke)), Ze.value.push(Y.id), requestAnimationFrame(() => {
var V, De;
(De = (V = gn(ae.value)) == null ? void 0 : V.$el) == null || De.focus();
});
}
}
function Ct(Y, ke) {
var xe;
Y && (Y.hasChild || (xe = Y.children) != null && xe.length ? Ke(Y, ke) : mt(Y.fullValue));
}
function ve(Y) {
const ke = [Y];
let xe = de.get(Y.parent);
for (; xe; )
ke.push(xe), xe = de.get(xe.parent);
return ke;
}
function Ve(Y) {
let ke = Y;
for (; !Tt(ke.parent); ) {
const xe = de.get(ke.parent);
if (!xe || ke.checked === xe.checked && ke.partial === xe.partial)
break;
ke.checked ? (xe.checked = xe.children.every((We) => We.disabled || We.checked), xe.partial = !xe.checked) : (xe.checked = !1, xe.partial = xe.children.some((We) => We.checked || We.partial)), ke = xe;
}
}
function Ie(Y) {
var De;
const ke = Y.checked, xe = Y.partial, We = [...Y.children];
let V;
for (; We.length; )
V = We.shift(), !V.disabled && (V.checked = ke, V.partial = xe, (De = V.children) != null && De.length && We.push(...V.children));
}
function Me(Y) {
if (!Y) return;
const ke = Array.from(de.values()), xe = !Y.checked;
if (!w.multiple) {
for (let We = 0, V = ke.length; We < V; ++We)
ke[We].checked = !1;
return Y.checked = xe, Y.partial = !1, mt(Y.fullValue);
}
if (Y.checked = xe, Y.partial = !1, !w.noCascaded) {
const We = [Y].concat(
ke.filter((V) => V.disabled && V.checked)
);
for (let V = 0, De = We.length; V < De; ++V) {
const _e = We[V];
Ve(_e), Ie(_e);
}
}
_(w[xe ? "onSelect" : "onCancel"], Y.fullValue, Y.data), Ge();
}
function Ge() {
const Y = Array.from(de.values()), ke = w.noCascaded ? Y.filter((rt) => rt.checked) : Y.filter((rt) => {
var xt;
return rt.checked && !(rt.hasChild || (xt = rt.children) != null && xt.length);
}), xe = [], We = [], V = [], De = [], _e = w.briefLabel;
ke.forEach((rt) => {
xe.push(rt.fullValue), We.push(_e ? rt.label : rt.fullLabel);
const { value: xt, data: Bt } = Ot(rt.fullValue);
V.push(xt), De.push(Bt);
}), E.value = xe, P.value = We, q.value && (U.value && (R.value = Y.filter((rt) => rt.checked).map((rt) => rt.fullValue)), pe()), q.value && U.value && (V.length = 0, De.length = 0, R.value.forEach((rt) => {
const xt = te.get(rt);
if (xt) {
const { value: Bt, data: Ut } = Ot(xt.fullValue);
V.push(Bt), De.push(Ut);
}
})), bt(V, De), kt(N);
}
function mt(Y) {
const ke = te.get(Y);
if (!ke) return;
_(w.onSelect, Y, ke.data), Y ? (E.value[0] = Y, P.value[0] = w.briefLabel ? ke.label : ke.fullLabel) : (E.value.length = 0, P.value.length = 0);
const { value: xe, data: We } = Ot(Y);
bt(xe, We), lt(!1);
}
function bt(Y, ke) {
O.value = Y, kt(() => {
tn = !1, T("update:value", Y), i(Y), _(w.onChange, Y, ke), f();
});
}
function Ot(Y) {
let ke = te.get(Y);
if (!ke) return { value: [], data: [] };
const xe = [ke.value], We = [ke.data];
for (; ke.parent; ) {
const V = de.get(ke.parent);
if (!V) break;
xe.push(V.value), We.push(V.data), ke = V;
}
return {
value: xe.reverse(),
data: We.reverse()
};
}
function Vt(Y = !C.value) {
w.disabled || at.value || lt(Y);
}
function $e() {
re.value = !1, _(w.onClickOutside), w.outsideClose && C.value && (lt(!1), Ee = !0, _(w.onOutsideClose));
}
function et() {
if (!(w.disabled || at.value) && w.clearable) {
const Y = O.value;
E.value.length = 0, P.value.length = 0, R.value.length = 0, L.value.length = 0, Ze.value.length = 0, O.value = (Y == null ? void 0 : Y.length) === 0 ? Y : [], re.value = !1;
for (const ke of de.values())
ke.checked = !1, ke.partial = !1;
(Y == null ? void 0 : Y.length) !== 0 && (T("update:value", O.value), _(w.onChange, O.value, [])), _(w.onClear), u(O.value);
}
}
function vt() {
C.value ? re.value = !1 : re.value = !re.value;
}
function an(Y) {
w.disabled || at.value || (w.multiple ? Me(te.get(Y)) : mt(Y));
}
function Rn(Y, ke) {
Ke(Y, ke), requestAnimationFrame(() => {
const xe = gn(ae.value);
xe && xe.currentHitting < 0 && (xe.currentHitting = xe.options.findIndex((We) => We.id === Se), xe.currentHitting < 0 && (xe.currentHitting = 0));
});
}
function wn() {
Se = Ze.value.pop();
}
function Te() {
requestAnimationFrame(() => {
I.value = !0;
});
}
return (Y, ke) => (S(), D("div", {
id: e(s),
ref_key: "wrapper",
ref: se,
class: x(Pe.value),
role: "group",
"aria-disabled": e(fl)(e(w).disabled),
"aria-expanded": e(fl)(C.value),
"aria-haspopup": "dialog",
"aria-labelledby": e(c),
onClick: ke[7] || (ke[7] = (xe) => Vt())
}, [
oe("div", {
ref_key: "reference",
ref: ue,
class: x(yt.value),
tabindex: "0",
onKeydown: [
ke[2] || (ke[2] = Kn(gt((xe) => Vt(), ["prevent"]), ["space"])),
ke[3] || (ke[3] = Kn((xe) => Vt(!1), ["tab"]))
]
}, [
Nt.value ? (S(), D("div", {
key: 0,
class: x([e(k).be("icon"), e(k).be("prefix")]),
style: Qe({ color: e(w).prefixColor })
}, [
W(Y.$slots, "prefix", {}, () => [
y(e(me), {
renderer: e(w).slots.prefix
}, {
default: X(() => [
y(e(Oe), {
icon: e(w).prefix
}, null, 8, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
], 6)) : ge("", !0),
oe("div", {
class: x(e(k).be("control"))
}, [
W(Y.$slots, "control", {}, () => [
y(e(me), {
renderer: e(w).slots.control
}, {
default: X(() => [
e(w).multiple ? (S(), Be(e(Go), {
key: 0,
inherit: "",
class: x([e(k).be("tags")]),
items: Z.value,
"max-count": e(w).maxTagCount,
onRestChange: ke[1] || (ke[1] = (xe) => be.value = xe)
}, {
default: X(({ item: xe, index: We }) => [
y(e(Gl), {
inherit: "",
class: x(e(k).be("tag")),
type: e(w).tagType,
closable: "",
disabled: e(w).disabled,
onClick: ke[0] || (ke[0] = gt((V) => Vt(), ["stop"])),
onClose: (V) => an(xe)
}, {
default: X(() => [
dt(ze(K.value[We]), 1)
]),
_: 2
}, 1032, ["class", "type", "disabled", "onClose"])
]),
counter: X(({ count: xe }) => [
e(w).noRestTip ? (S(), Be(e(Gl), {
key: 0,
inherit: "",
class: x([e(k).be("tag"), e(k).be("counter")]),
type: e(w).tagType,
disabled: e(w).disabled
}, {
default: X(() => [
dt(ze(`+${xe}`), 1)
]),
_: 2
}, 1032, ["class", "type", "disabled"])) : (S(), D("span", wy, [
y(e(Fl), {
inherit: "",
transfer: !1,
visible: re.value,
trigger: "custom",
placement: "top-end",
"tip-class": e(k).be("rest-tip"),
onClick: gt(vt, ["stop"])
}, {
trigger: X(() => [
y(e(Gl), {
inherit: "",
class: x([e(k).be("tag"), e(k).be("counter")]),
type: e(w).tagType,
disabled: e(w).disabled
}, {
default: X(() => [
dt(ze(`+${xe}`), 1)
]),
_: 2
}, 1032, ["class", "type", "disabled"])
]),
default: X(() => [
y(e(Al), {
inherit: "",
"use-y-bar": ""
}, {
default: X(() => [
(S(!0), D(st, null, ln(Z.value, (We, V) => (S(), D(st, { key: V }, [
V >= Z.value.length - be.value ? (S(), Be(e(Gl), {
key: 0,
inherit: "",
class: x(e(k).be("tag")),
closable: "",
type: e(w).tagType,
disabled: e(w).disabled,
onClose: (De) => an(We)
}, {
default: X(() => [
dt(ze(K.value[V]), 1)
]),
_: 2
}, 1032, ["class", "type", "disabled", "onClose"])) : ge("", !0)
], 64))), 128))
]),
_: 1
})
]),
_: 2
}, 1032, ["visible", "tip-class"])
]))
]),
_: 1
}, 8, ["class", "items", "max-count"])) : (S(), D(st, { key: 1 }, [
dt(ze(P.value[0]), 1)
], 64)),
(e(w).placeholder ?? e(z).placeholder) && !Mt.value ? (S(), D("span", {
key: 2,
class: x(e(k).be("placeholder"))
}, ze(e(w).placeholder ?? e(z).placeholder), 3)) : ge("", !0)
]),
_: 1
}, 8, ["renderer"])
])
], 2),
e(w).noSuffix ? e(w).clearable || e(w).loading ? (S(), D("div", {
key: 2,
class: x([e(k).be("icon"), e(k).bem("icon", "placeholder"), e(k).be("suffix")])
}, null, 2)) : ge("", !0) : (S(), D("div", {
key: 1,
class: x([e(k).be("icon"), e(k).be("suffix")]),
style: Qe({
color: e(w).suffixColor,
opacity: _t.value || e(w).loading ? "0%" : ""
})
}, [
W(Y.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(w).slots.suffix
}, {
default: X(() => [
e(w).suffix ? (S(), Be(e(Oe), {
key: 0,
icon: e(w).suffix,
class: x({
[e(k).be("arrow")]: !e(w).staticSuffix
})
}, null, 8, ["icon", "class"])) : (S(), Be(e(Oe), He({ key: 1 }, e(A).angleDown, {
class: e(k).be("arrow")
}), null, 16, ["class"]))
]),
_: 1
}, 8, ["renderer"])
])
], 6)),
y(En, {
name: e(k).ns("fade"),
appear: ""
}, {
default: X(() => [
_t.value ? (S(), D("button", {
key: 0,
class: x([e(k).be("icon"), e(k).be("clear")]),
type: "button",
tabindex: "-1",
"aria-label": e(z).ariaLabel.clear,
onClick: gt(et, ["stop"])
}, [
y(e(Oe), It(Yt(e(A).clear)), null, 16)
], 10, xy)) : e(w).loading ? (S(), D("div", {
key: 1,
class: x([e(k).be("icon"), e(k).be("loading")])
}, [
y(e(Oe), He(e(A).loading, {
effect: e(w).loadingEffect || e(A).loading.effect,
icon: e(w).loadingIcon || e(A).loading.icon
}), null, 16, ["effect", "icon"])
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["name"])
], 34),
y(e(Xl), {
ref_key: "popper",
ref: ne,
class: x([e(k).be("popper"), e(k).ns("input-vars"), e(k).bs("vars")]),
visible: C.value,
to: e(J),
transition: e(w).transitionName,
alive: e(w).popperAlive ?? !e(J),
onClick: ke[6] || (ke[6] = gt(() => {
}, ["stop"])),
onEnter: Te
}, {
default: X(() => [
oe("div", {
class: x({
[e(k).be("panels")]: !0,
[e(k).bem("panels", "empty")]: !Je.value[0] || !Je.value[0].length
})
}, [
Je.value[0] && Je.value[0].length ? (S(!0), D(st, { key: 0 }, ln(Je.value, (xe, We) => (S(), Be(gy, {
key: We,
ref_for: !0,
ref: (V) => V && ae.value.push(V),
options: xe,
"opened-id": Ze.value[We],
values: E.value,
ready: I.value,
multiple: e(w).multiple,
"is-async": U.value,
merged: q.value,
"no-cascaded": e(w).noCascaded,
"labeled-by": e(c),
onSelect: (V) => Ct(V, We),
onHover: (V) => Ht.value && Ke(V, We),
onCheck: ke[4] || (ke[4] = (V) => Me(V)),
onOpen: (V) => Rn(V, We),
onBack: wn,
onClose: ke[5] || (ke[5] = (V) => C.value = !1)
}, nl({ _: 2 }, [
F.default || e(w).slots.default ? {
name: "default",
fn: X((V) => [
W(Y.$slots, "default", He({ ref_for: !0 }, V), () => [
y(e(me), {
renderer: e(w).slots.default,
data: V
}, null, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0,
F.label || e(w).slots.label ? {
name: "label",
fn: X((V) => [
W(Y.$slots, "label", He({ ref_for: !0 }, V), () => [
y(e(me), {
renderer: e(w).slots.label,
data: V
}, null, 8, ["renderer", "data"])
])
]),
key: "1"
} : void 0
]), 1032, ["options", "opened-id", "values", "ready", "multiple", "is-async", "merged", "no-cascaded", "labeled-by", "onSelect", "onHover", "onOpen"]))), 128)) : (S(), D("div", {
key: 1,
class: x(e(k).be("empty")),
style: Qe({ width: `${ce.value}px` })
}, [
W(Y.$slots, "empty", {}, () => [
y(e(me), {
renderer: e(w).slots.empty
}, {
default: X(() => [
dt(ze(e(w).emptyText ?? e(z).empty), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 6))
], 2)
]),
_: 3
}, 8, ["class", "visible", "to", "transition", "alive"])
], 10, ky));
}
}), to = [Number, String, Array], Cy = ft({
tag: String,
gap: [Number, Array],
rows: to,
columns: to,
autoRows: to,
autoColumns: to,
dense: M,
justify: String,
align: String,
cellFlex: {
type: [Boolean, Object],
default: null
}
}), Ha = [Number, Object], Ty = ft({
tag: String,
top: [Number, String],
left: [Number, String],
width: Number,
height: Number,
right: [Number, String],
bottom: [Number, String],
xs: Ha,
sm: Ha,
md: Ha,
lg: Ha,
xl: Ha,
xxl: Ha,
useFlex: {
type: [Boolean, Object],
default: null
}
}), mo = Object.freeze(["xs", "sm", "md", "lg", "xl", "xxl"]), Fo = $("xs");
if (zt) {
let t = function() {
for (const [n, o] of a)
if (o.matches) {
Fo.value = n;
break;
}
};
const r = getComputedStyle(document.documentElement), l = {};
mo.forEach((n) => {
const o = r.getPropertyValue(`--vxp-break-point-${n}`).trim(), s = matchMedia(`only screen and ${o}`);
s.addEventListener("change", t), l[n] = s;
});
const a = Object.entries(l).reverse();
t();
}
const Vs = "__VXP_GRID_STATE", $y = Xe({
name: "Cell",
props: Ty,
setup(t, { slots: r }) {
const l = ct("cell", t, {
tag: "div",
top: "auto",
left: "auto",
width: null,
height: 1,
right: "",
bottom: "",
xs: null,
sm: null,
md: null,
lg: null,
xl: null,
xxl: null,
useFlex: null
}), a = Et(Vs, null), n = Ye("cell");
nn(Vs, null);
const o = pt({
top: l.top,
right: l.right,
bottom: l.bottom,
left: l.left,
width: l.width,
height: l.height
}), s = Object.keys(o), c = g(() => dn(l.width) ? l.width : a != null && a.columns && typeof a.columns == "number" ? a.columns : 1);
le(
Fo,
(u) => {
const h = f(u);
h ? typeof h == "number" ? (s.forEach((i) => {
o[i] = l[i];
}), o.width = h) : (s.forEach((i) => {
o[i] = ei(h, i) ? h[i] : l[i];
}), o.width = o.width ?? c.value) : (s.forEach((i) => {
o[i] = l[i];
}), o.width = c.value);
},
{ immediate: !0 }
);
const d = g(() => {
const u = l.useFlex !== !1 && (l.useFlex || (a == null ? void 0 : a.cellFlex)) && {
...(a == null ? void 0 : a.cellFlex) || {},
...l.useFlex ? l.useFlex === !0 ? { justify: "start", align: "top" } : l.useFlex : {}
}, h = {
[n.b()]: !0,
[n.bm("inherit")]: a || l.inherit,
[n.bm("flex")]: u
};
return u && (u.justify && (h[n.bm(u.justify)] = !0), u.align && (h[n.bm(u.align)] = !0)), h;
}), p = g(() => {
const u = {}, h = m(o.top), i = m(o.right), v = m(o.bottom), k = m(o.left);
return h && v ? (u.gridRowStart = b(o.top), u.gridRowEnd = b(o.bottom)) : h ? (u.gridRowStart = b(o.top), u.gridRowEnd = `span ${o.height}`) : v ? (u.gridRowStart = `span ${o.height}`, u.gridRowEnd = b(o.bottom)) : u.gridRowEnd = `span ${o.height}`, k && i ? (u.gridColumnStart = b(o.left), u.gridColumnEnd = b(o.right)) : k ? (u.gridColumnStart = b(o.left), u.gridColumnEnd = `span ${o.width}`) : i ? (u.gridColumnStart = `span ${o.width}`, u.gridColumnEnd = b(o.right)) : u.gridColumnStart = `span ${o.width}`, u;
});
function m(u) {
return u === 0 || u && u !== "auto";
}
function b(u) {
return typeof u == "number" ? u + 1 : u;
}
function f(u) {
const h = mo.findIndex((i) => i === u);
if (~h) {
for (let i = h; i >= 0; --i)
if (dn(l[mo[i]]))
return l[mo[i]];
}
return null;
}
return () => Jn(
l.tag || "div",
{
class: d.value,
style: p.value
},
{
default: () => {
var u;
return (u = r.default) == null ? void 0 : u.call(r);
}
}
);
}
}), Ey = ["id", "aria-labelledby"], Ay = /* @__PURE__ */ Xe({
name: "CheckboxGroup",
__name: "checkbox-group",
props: vy,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const {
idFor: a,
labelId: n,
state: o,
disabled: s,
loading: c,
size: d,
validateField: p,
getFieldValue: m,
setFieldValue: b
} = al(Z), u = ct("checkboxGroup", t, {
size: On(d),
state: ll(o),
locale: null,
value: {
default: () => m(),
static: !0
},
vertical: !1,
disabled: () => s.value,
border: !1,
options: {
default: () => [],
static: !0
},
loading: () => c.value,
control: null,
loadingLock: !1,
color: null,
stateColor: !1
}), h = l, i = Ye("checkbox-group"), v = vn("checkbox", qe(u, "locale")), k = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Set(), T = /* @__PURE__ */ new Set(), F = $(u.value || []), A = g(() => u.loading && u.loadingLock), z = g(() => [
i.b(),
i.ns("checkbox-vars"),
{
[i.bm("inherit")]: u.inherit,
[i.bm("vertical")]: u.vertical,
[i.bm("disabled")]: u.disabled,
[i.bm("readonly")]: A.value,
[i.bm("loading")]: u.loading,
[i.bm(u.size)]: u.size !== "default",
[i.bm("border")]: u.border,
[i.bm(u.state)]: u.state !== "default"
}
]), C = g(() => typeof u.control == "string" ? u.control : v.value.all), E = g(() => {
if (!u.color) return null;
const K = Qn(u.color);
return {
base: K.toString(),
opacity6: ml(K, 0.4).toString()
};
}), P = Ln(() => {
F.value = [], k.forEach((K, we) => {
K && F.value.push(we);
}), U(F.value);
}), R = Ln(() => {
const K = F.value.length, we = K === k.size, de = K > 0 && !we;
T.forEach((te) => {
te.checked = we, te.partial = de;
});
});
nn(
Pd,
pt({
currentValues: F,
size: qe(u, "size"),
state: qe(u, "state"),
disabled: qe(u, "disabled"),
loading: qe(u, "loading"),
loadingLock: qe(u, "loadingLock"),
colorMap: E,
stateColor: qe(u, "stateColor"),
increaseItem: L,
decreaseItem: I,
increaseControl: G,
decreaseControl: ee,
handleControlChange: H,
setItemChecked: O,
replaceValue: q
})
), le(
() => u.value,
(K) => {
const we = new Set(K), de = Array.from(k.keys());
F.value = [], de.forEach((te) => {
const Ee = we.has(te);
k.set(te, we.has(te)), Ee && F.value.push(te);
});
}
), le(F, () => {
R();
});
function L(K, we, de) {
k.set(K, we), w.add(de);
}
function I(K, we) {
k.delete(K), w.delete(we);
}
function G(K) {
T.add(K), R();
}
function ee(K) {
T.delete(K);
}
function O(K, we) {
!dn(K) || !k.has(K) || (k.set(K, we), P(), R());
}
function H() {
const K = Array.from(k.keys()), we = F.value.length !== K.length;
K.forEach((de) => {
k.set(de, we);
}), P(), R();
}
function U(K) {
h("update:value", K), b(K), _(u.onChange, K), p();
}
function q(K, we) {
dn(K) && dn(we) && K !== we && k.has(K) && (k.set(we, k.get(K)), k.delete(K));
}
function Z(K) {
var de;
const we = (de = Array.from(w)[0]) == null ? void 0 : de.value;
zt && we && document.activeElement !== we && we.focus(K);
}
return r({
idFor: a,
labelId: n,
increaseControl: G,
decreaseControl: ee,
focus: Z,
blur: () => {
var K;
for (const we of w)
(K = we.value) == null || K.blur();
}
}), (K, we) => (S(), D("div", {
id: e(a),
class: x(z.value),
role: "group",
"aria-labelledby": e(n)
}, [
W(K.$slots, "default", {}, () => [
e(u).control ? (S(), Be(e(xl), {
key: 0,
inherit: "",
control: ""
}, {
default: X(() => [
dt(ze(C.value), 1)
]),
_: 1
})) : ge("", !0),
(S(!0), D(st, null, ln(e(u).options, (de, te) => (S(), D(st, { key: te }, [
e(pl)(de) ? (S(), Be(e(xl), {
key: 0,
inherit: "",
value: de.value,
control: de.control,
disabled: de.disabled
}, {
default: X(() => [
dt(ze(de.label || de.value), 1)
]),
_: 2
}, 1032, ["value", "control", "disabled"])) : (S(), Be(e(xl), {
key: 1,
inherit: "",
value: de
}, {
default: X(() => [
dt(ze(de), 1)
]),
_: 2
}, 1032, ["value"]))
], 64))), 128))
])
], 10, Ey));
}
}), zd = "__VXP_COLLAPSE_STATE";
let Ry = 0;
function My() {
return Ry++;
}
const Py = /* @__PURE__ */ Xe({
name: "Collapse",
__name: "collapse",
props: qm,
emits: ["update:expanded"],
setup(t, { expose: r, emit: l }) {
const n = ct("collapse", t, {
expanded: {
default: null,
static: !0
},
card: !1,
accordion: !1,
arrowType: {
default: "right",
validator: (T) => ["right", "left", "none"].includes(T)
},
ghost: !1,
alive: !1
}), o = l, s = Ye("collapse"), c = pt(/* @__PURE__ */ new Set()), d = $([]), { target: p } = cl({
passive: !1,
onKeyDown: (T, F) => {
if (F.left || F.right) {
if (!p.value || ![...c].find(({ tab: C }) => C === T.target)) return;
const A = Array.from(p.value.querySelectorAll(s.cbe("header")));
if (A.length < 1) return;
T.preventDefault(), T.stopPropagation();
const z = document.activeElement ? A.findIndex((C) => C === document.activeElement) : -1;
if (~z) {
const C = A[(z + (F.left ? -1 : 1) + A.length) % A.length];
C == null || C.focus();
}
} else F.escape && (T.preventDefault(), T.stopPropagation(), v());
}
}), m = g(() => [
s.b(),
s.bs("vars"),
s.bm(`arrow-${n.arrowType}`),
{
[s.bm("inherit")]: n.inherit,
[s.bm("card")]: n.card,
[s.bm("ghost")]: !n.card && n.ghost
}
]), b = Ln(() => {
if (Array.from(c.values()).forEach((T, F) => {
Tt(T.label) && (T.label = F + 1);
}), c.size)
for (const T of c)
d.value.includes(T.label) ? T.expanded = !0 : T.expanded && i(T.label, !0);
});
nn(
zd,
pt({
arrowType: qe(n, "arrowType"),
alive: qe(n, "alive"),
registerPanel: f,
unregisterPanel: u,
expandPanel: i,
refreshLabels: b
})
), In(() => {
const T = n.expanded, F = n.accordion && Array.isArray(T) ? T[0] : T || T === 0 ? T : [];
d.value = Array.isArray(F) ? Array.from(F) : [F];
}), sn(() => {
kt(w), le(d, (T, F) => {
h(T, F) || w();
});
}), r({ currentExpanded: d, wrapper: p });
function f(T) {
c.add(T), b();
}
function u(T) {
c.delete(T), i(T.label, !1), b();
}
function h(T, F) {
const A = new Set(T);
return A.size !== new Set(F).size ? !1 : F.every((z) => A.has(z));
}
function i(T, F) {
!T && T !== 0 || (n.accordion ? d.value = F ? [T] : [] : F ? d.value.push(T) : Ho(d.value, T), k(), w());
}
function v() {
d.value.length && (d.value = [], k(), w());
}
function k() {
o("update:expanded", d.value), _(n.onChange, d.value);
}
function w() {
c.forEach((T) => {
T.setExpanded(d.value.includes(T.label));
});
}
return (T, F) => (S(), D("div", {
ref_key: "wrapper",
ref: p,
class: x(m.value),
role: "tablist",
tabindex: "-1"
}, [
W(T.$slots, "default")
], 2));
}
}), zy = ["id", "aria-expanded", "aria-controls", "aria-describedby"], Ly = ["id", "aria-labelledby"], Fy = /* @__PURE__ */ Xe({
name: "CollapsePanel",
__name: "collapse-panel",
props: Gm,
emits: ["update:expanded"],
setup(t, { expose: r, emit: l }) {
const n = ct("collapsePanel", t, {
label: {
default: null,
static: !0
},
title: "",
disabled: !1,
contentStyle: null,
expanded: !1,
card: !1,
arrowType: {
default: "right",
validator: (P) => ["right", "left", "none"].includes(P)
},
icon: en(),
ghost: !1,
alive: null,
slots: () => ({})
}), o = l, s = Et(zd, null), c = Ye("collapse"), d = Gt(), p = $(n.expanded), m = $(n.label), b = $(p.value), f = $(), u = My(), h = g(() => `${c.be("tab")}-${u}`), i = g(() => `${c.be("body")}-${u}`), v = g(() => s ? !1 : n.card), k = g(() => s ? !1 : n.ghost), w = g(() => s ? s.arrowType : n.arrowType), T = g(() => n.alive ?? (s == null ? void 0 : s.alive) ?? !1), F = g(() => [
c.be("panel"),
c.bs("vars"),
c.bem("panel", `arrow-${w.value}`),
{
[c.bem("panel", "inherit")]: s || n.inherit,
[c.bem("panel", "card")]: v.value,
[c.bem("panel", "ghost")]: !v.value && k.value,
[c.bem("panel", "expanded")]: p.value,
[c.bem("panel", "disabled")]: n.disabled
}
]);
if (s) {
const P = pt({
tab: f,
label: m,
expanded: p,
setExpanded: C
});
le(
() => n.label,
(R) => {
const L = m.value;
m.value = R || R === 0 ? R : L;
}
), s.registerPanel(P), pn(() => {
s.unregisterPanel(P);
});
} else
le(
() => n.expanded,
(P) => {
p.value = P;
}
);
const A = g(() => {
switch (T.value) {
case !0:
case "always":
return !0;
case "mounted":
return b.value;
default:
return p.value;
}
}), z = g(() => !T.value || p.value);
p.value || le(
p,
() => {
b.value = !0;
},
{ once: !0 }
);
function C(P) {
p.value = P, o("update:expanded", P), _(n.onToggle, P);
}
function E(P = !p.value) {
n.disabled || (s ? s.expandPanel(m.value, P) : C(P));
}
return r({
currentExpanded: p,
tab: f,
tabId: h,
bodyId: i,
handleToggle: E
}), (P, R) => (S(), D("section", {
class: x(F.value)
}, [
oe("button", {
id: h.value,
ref_key: "tab",
ref: f,
class: x(e(c).be("header")),
type: "button",
role: "tab",
"aria-expanded": p.value,
"aria-controls": i.value,
"aria-describedby": i.value,
onClick: R[0] || (R[0] = (L) => E())
}, [
oe("div", {
class: x(e(c).be("arrow"))
}, [
W(P.$slots, "arrow", { expanded: p.value }, () => [
y(e(me), {
renderer: e(n).slots.arrow,
data: { expanded: p.value }
}, {
default: X(() => [
y(e(Oe), It(Yt(e(d).angleRight)), null, 16)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2),
W(P.$slots, "title", {}, () => [
e(n).icon ? (S(), D("div", {
key: 0,
class: x(e(c).be("icon"))
}, [
y(e(Oe), {
icon: e(n).icon
}, null, 8, ["icon"])
], 2)) : ge("", !0),
dt(" " + ze(e(n).title), 1)
])
], 10, zy),
y(e(Ul), null, {
default: X(() => [
A.value ? el((S(), D("div", {
key: 0,
id: i.value,
class: x(e(c).be("body")),
role: "tabpanel",
tabindex: "0",
"aria-labelledby": h.value
}, [
oe("div", {
class: x(e(c).be("content")),
style: Qe(e(n).contentStyle)
}, [
W(P.$slots, "default")
], 6)
], 10, Ly)), [
[tl, z.value]
]) : ge("", !0)
]),
_: 3
})
], 2));
}
}), Iy = Xe({
name: "ColorPalette",
props: {
hue: {
type: Number,
default: 0,
validator: (t) => t >= 0 && t <= 360
},
value: {
type: Number,
default: 1,
validator: (t) => t >= 0 && t <= 1
},
saturation: {
type: Number,
default: 0,
validator: (t) => t >= 0 && t <= 1
}
},
emits: ["edit-start", "edit-end", "change"],
setup(t, { emit: r }) {
const l = $((1 - t.value) * 100), a = $(t.saturation * 100);
let n = l.value, o = a.value, s, c, d, p;
const { target: m } = cl({
passive: !1,
onKeyDown: (h, i) => {
if (i.up || i.down || i.left || i.right) {
h.preventDefault();
const v = h.ctrlKey ? 10 : h.altKey ? 0.5 : 2, k = i.up || i.left ? -1 : 1, w = v * k;
i.up || i.down ? l.value += w : a.value += w, f(), n = l.value, o = a.value, u();
}
}
}), { moving: b } = Pl({
target: m,
onStart: (h, i) => {
if (!m.value || i.button > 0)
return !1;
const v = m.value.getBoundingClientRect(), { top: k, left: w, width: T, height: F } = v;
s = T, c = F, l.value = (d = h.clientY - k) / F * 100, a.value = (p = h.clientX - w) / T * 100, f(), r("edit-start");
let A = !1;
Math.abs(l.value - n) >= 0.01 && (n = l.value, A = !0), Math.abs(a.value - o) >= 0.01 && (o = a.value, A = !0), A && u();
},
onMove: (h) => {
l.value = (d + h.deltaY) / c * 100, a.value = (p + h.deltaX) / s * 100, f(), u();
},
onEnd: () => {
r("edit-end");
}
});
le(
() => t.value,
(h) => {
l.value = (1 - h) * 100, f();
},
{ immediate: !0 }
), le(
() => t.saturation,
(h) => {
a.value = h * 100, f();
},
{ immediate: !0 }
);
function f() {
l.value = _n(cn(l.value, 0, 100), 3), a.value = _n(cn(a.value, 0, 100), 3);
}
function u() {
r("change", {
h: t.hue,
s: a.value / 100,
v: _n(1 - l.value / 100, 3)
});
}
return {
nh: Ye("color-picker"),
currentTop: l,
currentLeft: a,
editing: b,
wrapper: m
// handleMouseDown
};
}
});
function Ny(t, r, l, a, n, o) {
return S(), D("div", {
ref: "wrapper",
class: x(t.nh.be("palette")),
tabindex: "-1",
role: "group",
style: Qe({
backgroundColor: `hsl(${t.hue}, 100%, 50%)`
})
}, [
oe("div", {
class: x(t.nh.be("saturation")),
role: "none"
}, null, 2),
oe("div", {
class: x(t.nh.be("value")),
role: "none"
}, null, 2),
oe("div", {
class: x(t.nh.be("palette-handler")),
style: Qe({
top: `${t.currentTop}%`,
left: `${t.currentLeft}%`
})
}, [
oe("div", {
class: x(t.nh.be("palette-pointer"))
}, null, 2)
], 6)
], 6);
}
const Dy = /* @__PURE__ */ jr(Iy, [["render", Ny]]), Oy = Xe({
name: "ColorHue",
props: {
hue: {
type: Number,
default: 0,
validator: (t) => t >= 0 && t <= 360
}
},
emits: ["edit-start", "edit-end", "change"],
setup(t, { emit: r }) {
const l = $(t.hue * 100);
let a = l.value, n, o;
const { target: s } = cl({
passive: !1,
onKeyDown: (m, b) => {
if (b.left || b.right) {
m.preventDefault();
const u = (m.ctrlKey ? 10 : m.altKey ? 0.5 : 2) * (b.left ? -1 : 1);
l.value += u, d(), a = l.value, p();
}
}
}), { moving: c } = Pl({
target: s,
onStart: (m, b) => {
if (!s.value || b.button > 0)
return !1;
const f = s.value.getBoundingClientRect(), { left: u, width: h } = f;
n = h, l.value = (o = m.clientX - u) / h * 100, d(), r("edit-start"), Math.abs(l.value - a) >= 0.01 && (a = l.value, p());
},
onMove: (m) => {
l.value = (o + m.deltaX) / n * 100, d(), p();
},
onEnd: () => {
r("edit-end");
}
});
le(
() => t.hue,
(m) => {
l.value = m / 360 * 100, d();
},
{ immediate: !0 }
);
function d() {
l.value = _n(cn(l.value, 0, 100), 3);
}
function p() {
r("change", l.value / 100 * 360);
}
return {
nh: Ye("color-picker"),
currentLeft: l,
editing: c,
wrapper: s
};
}
});
function _y(t, r, l, a, n, o) {
return S(), D("div", {
ref: "wrapper",
class: x(t.nh.be("hue")),
tabindex: "-1",
role: "group"
}, [
oe("div", {
class: x(t.nh.be("hue-handler")),
style: Qe({ left: `${t.currentLeft}%` })
}, null, 6)
], 2);
}
const By = /* @__PURE__ */ jr(Oy, [["render", _y]]), Hy = Xe({
name: "ColorAlpha",
props: {
rgb: {
type: Object,
default: () => ({ r: 0, g: 0, b: 0 }),
validator: (t) => "r" in t && "g" in t && "b" in t
},
alpha: {
type: Number,
default: 1,
validator: (t) => t >= 0 && t <= 1
}
},
emits: ["edit-start", "edit-end", "change"],
setup(t, { emit: r }) {
const l = $(t.alpha * 100);
let a = l.value, n, o;
const { target: s } = cl({
passive: !1,
onKeyDown: (b, f) => {
if (f.left || f.right) {
b.preventDefault();
const h = (b.ctrlKey ? 10 : b.altKey ? 0.5 : 2) * (f.left ? -1 : 1);
l.value += h, p(), a = l.value, m();
}
}
}), { moving: c } = Pl({
target: s,
onStart: (b, f) => {
if (!s.value || f.button > 0)
return !1;
const u = s.value.getBoundingClientRect(), { left: h, width: i } = u;
n = i, l.value = (o = b.clientX - h) / i * 100, p(), r("edit-start"), Math.abs(l.value - a) >= 0.01 && (a = l.value, m());
},
onMove: (b) => {
l.value = (o + b.deltaX) / n * 100, p(), m();
},
onEnd: () => {
r("edit-end");
}
}), d = g(() => {
const { r: b, g: f, b: u } = t.rgb;
return `${b}, ${f}, ${u}`;
});
p(), le(
() => t.alpha,
(b) => {
l.value = b * 100, p();
},
{ immediate: !0 }
);
function p() {
l.value = _n(cn(l.value, 0, 100), 3);
}
function m() {
r("change", l.value / 100);
}
return {
nh: Ye("color-picker"),
currentLeft: l,
editing: c,
rgbString: d,
wrapper: s
};
}
});
function Vy(t, r, l, a, n, o) {
return S(), D("div", {
ref: "wrapper",
class: x(t.nh.be("alpha")),
tabindex: "-1",
role: "group"
}, [
oe("div", {
class: x(t.nh.be("opacity")),
style: Qe({
backgroundImage: `linear-gradient(to right, rgba(${t.rgbString}, 0) 0%, rgb(${t.rgbString}) 100%)`
})
}, null, 6),
oe("div", {
class: x(t.nh.be("alpha-handler")),
style: Qe({ left: `${t.currentLeft}%` })
}, null, 6)
], 2);
}
const jy = /* @__PURE__ */ jr(Hy, [["render", Vy]]), Wy = ft({
size: An,
state: Zn,
locale: Mn(),
value: [String, Object],
visible: M,
format: String,
alpha: M,
disabled: M,
transitionName: String,
noInput: M,
shortcut: {
type: [Boolean, Array],
default: null
},
placement: String,
transfer: hn,
outsideClose: M,
clearable: M,
cancelText: String,
confirmText: String,
prefix: Xt,
prefixColor: String,
suffix: Xt,
suffixColor: String,
noSuffix: M,
staticSuffix: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
popperAlive: M,
showLabel: M,
labelFormat: String,
slots: Object,
onToggle: B(),
onClickOutside: B(),
onOutsideClose: B(),
onClear: B(),
onChange: B(),
onShortcut: B()
}), Ky = Object.freeze([
"#2d8cf0",
"#19be6b",
"#ff9900",
"#ed4014",
"#00b5ff",
"#19c919",
"#f9e31c",
"#ea1a1a",
"#9b1dea",
"#00c2b1",
"#ac7a33",
"#1d35ea",
"#8bc34a",
"#f16b62",
"#ea4ca3",
"#0d94aa",
"#febd79",
"#5d4037",
"#00bcd4",
"#f06292",
"#cddc39",
"#607d8b",
"#000000",
"#ffffff"
]), Uy = () => oo(0, 0, 0), Xy = ["id", "aria-disabled", "aria-expanded", "aria-labelledby", "onKeydown"], Yy = ["aria-label"], qy = ["onClick"], Gy = /* @__PURE__ */ Xe({
name: "ColorPicker",
__name: "color-picker",
props: Wy,
emits: ["update:value", "update:visible"],
setup(t, { expose: r, emit: l }) {
const {
idFor: a,
labelId: n,
state: o,
disabled: s,
loading: c,
size: d,
validateField: p,
clearField: m,
getFieldValue: b,
setFieldValue: f
} = al(() => {
var ve;
return (ve = de.value) == null ? void 0 : ve.focus();
}), u = Ye("color-picker"), i = ct("colorPicker", t, {
size: On(d),
state: ll(o),
locale: null,
value: {
default: () => b(),
static: !0
},
visible: !1,
format: {
default: "rgb",
validator: (ve) => ["rgb", "hsl", "hsv", "hex"].includes(ve)
},
alpha: !1,
disabled: () => s.value,
transitionName: () => u.ns("drop"),
noInput: !1,
shortcut: !1,
placement: {
default: "bottom",
validator: (ve) => Wl.includes(ve)
},
transfer: !1,
outsideClose: !0,
clearable: !1,
cancelText: null,
confirmText: null,
prefix: en(),
prefixColor: "",
suffix: en(),
suffixColor: "",
noSuffix: !1,
staticSuffix: !1,
loading: () => c.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
popperAlive: null,
showLabel: !1,
labelFormat: null,
slots: () => ({})
}), v = l, k = kn(), w = Gt(), T = vn("colorPicker", qe(i, "locale")), F = $(!0), A = $(i.visible), z = $(null), C = $(1), E = $(!1), P = qe(i, "placement"), R = qe(i, "transfer"), L = $(0), I = $(!1);
be(i.value);
const G = $(null), ee = $(null), O = $(null), H = $(null), U = $(null), q = $(null), Z = $(null), K = Hl(Pe), we = $(), { reference: de, transferTo: te, updatePopper: Ee } = Kl({
placement: P,
transfer: R,
wrapper: K,
popper: g(() => {
var ve;
return (ve = we.value) == null ? void 0 : ve.wrapper;
}),
isDrop: !0
}), { isHover: Se } = Ql(de), Ce = g(() => [
G.value,
ee.value,
O.value,
H.value,
U.value,
q.value,
Z.value
].filter(Boolean)), fe = $({
...z.value,
a: C.value,
format: "hsva"
}), ot = g(() => ({
[u.b()]: !0,
[u.ns("input-vars")]: !0,
[u.bs("vars")]: !0,
[u.bm("inherit")]: i.inherit,
[u.bm("empty")]: F.value && !A.value,
[u.bm("focused")]: A.value,
[u.bm("disabled")]: i.disabled,
[u.bm("alpha")]: i.alpha,
[u.bm(i.size)]: i.size !== "default",
[u.bm(i.state)]: i.state !== "default"
})), Ze = g(() => i.loading && i.loadingLock), Je = g(() => {
const ve = u.be("selector");
return {
[ve]: !0,
[`${ve}--disabled`]: i.disabled,
[`${ve}--readonly`]: Ze.value,
[`${ve}--loading`]: i.loading,
[`${ve}--${i.size}`]: i.size !== "default",
[`${ve}--focused`]: A.value,
[`${ve}--${i.state}`]: i.state !== "default"
};
}), se = g(() => {
const { h: ve, s: Ve, v: Ie } = z.value && A.value ? z.value : fe.value ?? { h: 0, s: 0, v: 0 };
return Ec(ve, Ve, Ie);
}), ne = g(() => {
const { r: ve, g: Ve, b: Ie } = se.value;
return i.alpha ? $s(ve, Ve, Ie, C.value) : Ts(ve, Ve, Ie);
}), ue = g(() => i.shortcut ? Array.isArray(i.shortcut) ? i.shortcut : Ky : []), J = g(() => !!(k.prefix || i.prefix || i.slots.prefix)), N = g(() => !i.disabled && !Ze.value && i.clearable && Se.value && !F.value), j = g(() => ce(i.format)), ae = g(() => {
var ve;
return (ve = i.labelFormat ? ce(i.labelFormat) : j.value) == null ? void 0 : ve.toString();
});
le(
() => i.visible,
(ve) => {
A.value = ve;
}
), le(A, (ve) => {
ve && Ee();
}), le(
() => i.value,
(ve) => {
be(ve), fe.value = { ...z.value, a: C.value, format: "hsva" };
}
), le(
() => i.disabled,
(ve) => {
ve && re(!1);
}
), r({
idFor: a,
isEmpty: F,
currentVisible: A,
currentValue: z,
currentAlpha: C,
rgb: se,
hex: ne,
labelColor: ae,
wrapper: K,
reference: de,
popper: we,
toggleVisible: at,
focus: Ke,
blur: Ct
});
function be(ve) {
if (ve) {
const { r: Ve, g: Ie, b: Me, a: Ge } = Qn(ve);
F.value = !1, z.value = oo(Ve, Ie, Me), C.value = Ge;
} else
F.value = !0, z.value = Uy(), C.value = 1;
}
function re(ve) {
A.value !== ve && (A.value = ve, v("update:visible", ve), _(i.onToggle, ve));
}
function ce(ve) {
let Ve;
if (ve === "hex") {
const { r: Ie, g: Me, b: Ge } = se.value;
i.alpha ? Ve = $s(Ie, Me, Ge, C.value) : Ve = Ts(Ie, Me, Ge);
} else {
switch (ve) {
case "rgb": {
Ve = { ...se.value }, Ve.r = Math.round(Ve.r), Ve.g = Math.round(Ve.g), Ve.b = Math.round(Ve.b);
break;
}
case "hsl": {
const { h: Ie, s: Me, v: Ge } = z.value;
Ve = Xf(Ie, Me, Ge), Ve.h = Math.round(Ve.h), Ve.s = _n(Ve.s, 3), Ve.l = _n(Ve.l, 3);
break;
}
default:
Ve = { ...z.value }, Ve.h = Math.round(Ve.h), Ve.s = _n(Ve.s, 3), Ve.v = _n(Ve.v, 3);
}
Ve.a = _n(C.value, 3);
}
return Ve;
}
function Pe() {
E.value || (_(i.onClickOutside), i.outsideClose && A.value && (re(!1), _(i.onOutsideClose)));
}
function at() {
i.disabled || Ze.value || re(!A.value);
}
function yt() {
i.disabled || Ze.value || i.clearable && (re(!1), v("update:value", ""), _(i.onChange, ""), kt(() => {
be(null), m(), _(i.onClear);
}));
}
function Nt() {
i.disabled || Ze.value || (fe.value = { ...z.value, a: C.value, format: "hsva" }, F.value = !1, re(!1), Mt());
}
function Mt() {
const ve = j.value;
v("update:value", ve), f(ve), _(i.onChange, ve), p();
}
function Ht({ s: ve, v: Ve }) {
z.value.s = ve, z.value.v = Ve;
}
function _t(ve) {
z.value.h = ve;
}
function tn(ve) {
C.value = ve;
}
function Wt(ve) {
const { r: Ve, g: Ie, b: Me, a: Ge } = Qn(ve);
z.value = oo(Ve, Ie, Me), C.value = Ge;
}
function un(ve) {
const { r: Ve, g: Ie, b: Me, a: Ge } = Qn(ve);
z.value = oo(Ve, Ie, Me), C.value = Ge, _(i.onShortcut, j.value);
}
function qt(ve) {
ve ? E.value = !0 : setTimeout(() => {
E.value = !1;
}, 0);
}
function pe(ve) {
var Ve;
if (zt && A.value) {
const Ie = document && document.activeElement;
if (!Ie) return;
ve.preventDefault();
const Me = ve.shiftKey, Ge = Array.from(Ce.value), mt = Ge.findIndex((Ot) => {
const Vt = Rl(Ot) ? Ot : Ot.$el;
return Vt === Ie || Vt.contains(Ie);
});
let bt;
~mt ? (Me ? !mt : mt === Ge.length - 1) ? bt = de.value : bt = Ge[mt + (Me ? -1 : 1)] : bt = Me ? gn(Ge) : Ge[0], bt && (typeof bt.focus == "function" ? bt.focus() : (Ve = bt.$el) == null || Ve.focus());
}
}
function Re() {
L.value = 0, I.value = !0;
}
function he(ve) {
const Ve = ve.code || ve.key, Ie = ue.value.length;
switch (Ve) {
case "ArrowUp":
case "ArrowLeft": {
L.value--;
break;
}
case "ArrowDown":
case "ArrowRight": {
L.value++;
break;
}
case "Enter":
case "Space":
case " ": {
const Me = ue.value[L.value];
Me && un(Me);
break;
}
}
L.value = (L.value + Ie) % Ie;
}
function Fe(ve) {
var Ve;
i.disabled ? re(!1) : (ve.preventDefault(), A.value ? (Nt(), (Ve = de.value) == null || Ve.focus()) : re(!0));
}
function lt() {
var ve;
re(!1), (ve = de.value) == null || ve.focus();
}
function Ke(ve) {
var Ve;
(Ve = de.value) == null || Ve.focus(ve);
}
function Ct() {
var ve;
(ve = de.value) == null || ve.blur();
}
return (ve, Ve) => (S(), D("div", {
id: e(a),
ref_key: "wrapper",
ref: K,
class: x(ot.value),
role: "group",
"aria-disabled": e(fl)(e(i).disabled),
"aria-expanded": e(fl)(A.value),
"aria-haspopup": "listbox",
"aria-labelledby": e(n),
onClick: at,
onKeydown: [
Kn(gt(pe, ["stop"]), ["tab"]),
Kn(Fe, ["space"]),
Kn(lt, ["escape"])
]
}, [
oe("div", {
ref_key: "reference",
ref: de,
class: x(Je.value),
tabindex: "0"
}, [
W(ve.$slots, "control", {
color: se.value,
alpha: C.value,
empty: F.value
}, () => [
y(e(me), {
renderer: e(i).slots.control,
data: { color: se.value, alpha: C.value, empty: F.value }
}, {
default: X(() => [
J.value ? (S(), D("div", {
key: 0,
class: x([e(u).be("icon"), e(u).be("prefix")]),
style: Qe({ color: e(i).prefixColor })
}, [
W(ve.$slots, "prefix", {}, () => [
y(e(me), {
renderer: e(i).slots.prefix
}, {
default: X(() => [
y(e(Oe), {
icon: e(i).prefix
}, null, 8, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
], 6)) : ge("", !0),
oe("div", {
class: x(e(u).be("control"))
}, [
oe("div", {
class: x([e(u).be("marker"), ve.showLabel && e(u).bem("marker", "with-label")])
}, [
!A.value && F.value ? (S(), Be(e(Oe), It(He({ key: 0 }, e(w).close)), null, 16)) : (S(), D("div", {
key: 1,
style: Qe({
width: "100%",
height: "100%",
backgroundColor: `rgba(${se.value.r}, ${se.value.g}, ${se.value.b}, ${A.value ? C.value : fe.value.a})`
})
}, null, 4))
], 2),
ve.showLabel ? (S(), D("div", {
key: 0,
class: x(e(u).be("label"))
}, [
W(ve.$slots, "label", {
color: se.value,
alpha: C.value,
empty: F.value,
label: ae.value
}, () => [
y(e(me), {
renderer: e(i).slots.label,
data: { color: se.value, alpha: C.value, empty: F.value, label: ae.value }
}, {
default: X(() => [
dt(ze(ae.value), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2)) : ge("", !0)
], 2),
e(i).noSuffix ? e(i).clearable || e(i).loading ? (S(), D("div", {
key: 2,
class: x([e(u).be("icon"), e(u).bem("icon", "placeholder"), e(u).be("suffix")])
}, null, 2)) : ge("", !0) : (S(), D("div", {
key: 1,
class: x([e(u).be("icon"), e(u).be("suffix")]),
style: Qe({
color: e(i).suffixColor,
opacity: N.value || e(i).loading ? "0%" : ""
})
}, [
W(ve.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(i).slots.suffix
}, {
default: X(() => [
e(i).suffix ? (S(), Be(e(Oe), {
key: 0,
icon: e(i).suffix,
class: x({
[e(u).be("arrow")]: !e(i).staticSuffix
})
}, null, 8, ["icon", "class"])) : (S(), Be(e(Oe), He({ key: 1 }, e(w).angleDown, {
class: e(u).be("arrow")
}), null, 16, ["class"]))
]),
_: 1
}, 8, ["renderer"])
])
], 6)),
y(En, {
name: e(u).ns("fade"),
appear: ""
}, {
default: X(() => [
N.value ? (S(), D("button", {
key: 0,
class: x([e(u).be("icon"), e(u).be("clear")]),
type: "button",
tabindex: "-1",
"aria-label": e(T).ariaLabel.clear,
onClick: gt(yt, ["stop"])
}, [
y(e(Oe), It(Yt(e(w).clear)), null, 16)
], 10, Yy)) : e(i).loading ? (S(), D("div", {
key: 1,
class: x([e(u).be("icon"), e(u).be("loading")])
}, [
y(e(Oe), He(e(w).loading, {
effect: e(i).loadingEffect || e(w).loading.effect,
icon: e(i).loadingIcon || e(w).loading.icon
}), null, 16, ["effect", "icon"])
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["name"])
]),
_: 3
}, 8, ["renderer", "data"])
])
], 2),
y(e(Xl), {
ref_key: "popper",
ref: we,
class: x([e(u).be("popper"), e(u).bs("vars")]),
visible: A.value,
to: e(te),
transition: e(i).transitionName,
alive: e(i).popperAlive ?? !e(te),
onClick: Ve[7] || (Ve[7] = gt(() => {
}, ["stop"])),
onKeydown: [
Kn(gt(pe, ["stop"]), ["tab"]),
Kn(Fe, ["space"]),
Kn(lt, ["escape"])
]
}, {
default: X(() => [
oe("div", {
class: x(e(u).be("panel"))
}, [
oe("div", {
class: x(e(u).be("section"))
}, [
y(Dy, {
ref_key: "palette",
ref: G,
hue: z.value.h,
saturation: z.value.s,
value: z.value.v,
onEditStart: Ve[0] || (Ve[0] = (Ie) => qt(!0)),
onEditEnd: Ve[1] || (Ve[1] = (Ie) => qt(!1)),
onChange: Ht
}, null, 8, ["hue", "saturation", "value"]),
y(By, {
ref_key: "hue",
ref: ee,
hue: z.value.h,
onEditStart: Ve[2] || (Ve[2] = (Ie) => qt(!0)),
onEditEnd: Ve[3] || (Ve[3] = (Ie) => qt(!1)),
onChange: _t
}, null, 8, ["hue"]),
e(i).alpha ? (S(), Be(jy, {
key: 0,
ref_key: "alphaEl",
ref: O,
rgb: se.value,
alpha: C.value,
onEditStart: Ve[4] || (Ve[4] = (Ie) => qt(!0)),
onEditEnd: Ve[5] || (Ve[5] = (Ie) => qt(!1)),
onChange: tn
}, null, 8, ["rgb", "alpha"])) : ge("", !0),
e(i).shortcut ? (S(), D("div", {
key: 1,
ref_key: "shortcutEl",
ref: H,
class: x(e(u).be("shortcuts")),
tabindex: "-1",
onFocus: Re,
onBlur: Ve[6] || (Ve[6] = (Ie) => I.value = !1),
onKeydown: he
}, [
(S(!0), D(st, null, ln(ue.value, (Ie, Me) => (S(), D("div", {
key: Me,
class: x({
[e(u).be("shortcut-item")]: !0,
[e(u).bem("shortcut-item", "hitting")]: I.value && L.value === Me
}),
style: Qe({ backgroundColor: Ie }),
onClick: (Ge) => un(Ie)
}, null, 14, qy))), 128))
], 34)) : ge("", !0)
], 2),
oe("div", {
class: x(e(u).be("action"))
}, [
e(i).noInput ? ge("", !0) : (S(), Be(e(Vr), {
key: 0,
ref_key: "input",
ref: U,
inherit: "",
class: x(e(u).be("input")),
size: "small",
value: ne.value.toUpperCase(),
respond: !1,
onChange: Wt
}, null, 8, ["class", "value"])),
e(i).clearable ? (S(), Be(e(Hn), {
key: 1,
ref_key: "cancel",
ref: q,
inherit: "",
text: "",
size: "small",
onClick: yt
}, {
default: X(() => [
dt(ze(e(i).cancelText || e(T).cancel), 1)
]),
_: 1
}, 512)) : ge("", !0),
y(e(Hn), {
ref_key: "confirm",
ref: Z,
inherit: "",
type: "primary",
size: "small",
onClick: Nt
}, {
default: X(() => [
dt(ze(e(i).confirmText || e(T).confirm), 1)
]),
_: 1
}, 512)
], 2)
], 2)
]),
_: 1
}, 8, ["class", "visible", "to", "transition", "alive", "onKeydown"])
], 42, Xy));
}
}), Zy = Jl({
props: {
type: Object,
default: () => ({})
},
locale: {
type: Object,
default: () => ({})
},
icons: {
type: Object,
default: () => ({})
},
zIndex: {
type: Number,
default: null
},
theme: {
type: String,
default: null
},
hoverDelay: {
type: Number,
default: null
}
}), Jy = /* @__PURE__ */ Xe({
name: "ConfigProvider",
props: Zy,
setup(t, {
slots: r
}) {
const {
props: l,
locale: a,
icons: n,
zIndex: o,
theme: s,
hoverDelay: c
} = dc(t), d = Ye("config-provider");
return si(l), ri(a), oi(n), ii(o), Vc(c), () => s.value ? y("section", {
class: [d.b(), d.ns(`theme-vars-${s.value}`)]
}, [W(r, "default")]) : W(r, "default");
}
}), Qy = ft({
active: M,
closable: M,
inner: M,
maskTransition: String,
transitionName: String,
disabled: M,
onBeforeClose: Function,
transfer: hn,
autoRemove: M,
permeable: M,
disableEsc: M,
onToggle: B(),
onClose: B(),
onHide: B(),
onShow: B(),
onResize: B(),
onMaskClick: B()
}), fr = /* @__PURE__ */ Xe({
name: "Masker",
__name: "masker",
props: Qy,
emits: ["update:active"],
setup(t, { expose: r, emit: l }) {
const a = Ye("masker"), o = ct("masker", t, {
active: {
default: !1,
static: !0
},
closable: !1,
inner: !1,
maskTransition: () => a.ns("fade"),
transitionName: () => a.ns("fade"),
disabled: !1,
onBeforeClose: {
default: null,
isFunc: !0
},
transfer: !1,
autoRemove: !1,
permeable: !1,
disableEsc: !1
}), s = l, c = kn(), d = Or(), p = $(o.active), m = $(o.active ? d() : 0), b = $(o.active), f = $(), u = $(), h = $();
let i = !1, v = !1, k = !1, w = null;
const T = g(() => o.inner ? "" : typeof o.transfer == "boolean" ? o.transfer ? "body" : "" : o.transfer), F = g(() => [
a.b(),
a.bs("vars"),
{
[a.bm("inherit")]: T.value !== "body" && o.inherit,
[a.bm("inner")]: o.inner,
[a.bm("disabled")]: o.disabled
}
]);
le(
() => o.active,
(q) => {
p.value = q, q && (b.value = q);
}
), le(p, (q) => {
q ? (w = document.activeElement, m.value = d()) : (k = !1, w && (w.focus(), w = null)), (!o.maskTransition || o.disabled) && !o.transitionName && (q ? E() : P());
}), le(
[() => o.permeable, f],
() => {
f.value && (f.value.removeEventListener("wheel", A), o.permeable || f.value.addEventListener("wheel", A));
},
{ immediate: !0, flush: "post" }
), r({
currentActive: p,
zIndex: m,
wrapperShow: b,
wrapper: f,
topTrap: u,
bottomTrap: h
});
function A(q) {
q.preventDefault(), q.stopPropagation();
}
function z(q) {
p.value !== q && (p.value = q, s("update:active", q), _(o.onToggle, q));
}
async function C() {
if (!o.closable) return;
let q = !0;
typeof o.onBeforeClose == "function" && (q = o.onBeforeClose(), Sl(q) && (q = await q)), q !== !1 && kt(() => {
z(!1), _(o.onClose);
});
}
function E() {
var Z;
if (!p.value) return;
const q = document && document.activeElement;
(!q || !f.value || !f.value.contains(q)) && ((Z = u.value) == null || Z.focus()), kt(() => {
k = !0, _(o.onShow);
});
}
function P() {
p.value || kt(() => {
b.value = !1, _(o.onHide);
});
}
function R() {
p.value && (i = !0, (!o.transitionName || !c.default || v) && E());
}
function L() {
p.value || (i = !1, (!o.transitionName || !c.default || !v) && P());
}
function I() {
p.value && (v = !0, (!o.maskTransition || o.disabled || i) && E());
}
function G() {
p.value || (v = !1, (!o.maskTransition || o.disabled || !i) && P());
}
function ee(q) {
_(o.onMaskClick, q), C();
}
function O(q) {
const Z = q.target;
if (!k || !f.value || !Z || !u.value || !h.value)
return;
const K = Pp(f.value);
K.length && (u.value === Z ? gn(K).focus() : h.value === Z && K[0].focus());
}
function H(q) {
_(o.onResize, q);
}
function U(q) {
o.disableEsc || (q.preventDefault(), C());
}
return (q, Z) => !e(o).autoRemove || b.value ? (S(), Be(e(Zo), {
key: 0,
to: T.value
}, {
default: X(() => [
oe("div", He(q.$attrs, {
ref_key: "wrapper",
ref: f,
class: [F.value, q.$attrs.class],
tabindex: "-1",
style: {
zIndex: m.value,
...q.$attrs.style || {},
pointerEvents: b.value ? void 0 : "none",
visibility: b.value ? void 0 : "hidden"
},
onFocusin: O,
onKeydown: Kn(U, ["escape"])
}), [
y(e(zn), { onResize: H }, {
default: X(() => [
e(o).disabled ? (S(), D("div", {
key: 1,
class: x(e(a).be("placeholder")),
role: "none",
"aria-hidden": ""
}, null, 2)) : (S(), Be(En, {
key: 0,
appear: "",
name: e(o).maskTransition,
onAfterEnter: R,
onAfterLeave: L
}, {
default: X(() => [
el(oe("div", {
class: x(e(a).be("mask")),
onClick: ee
}, [
W(q.$slots, "mask", {}, () => [
oe("div", {
class: x(e(a).be("mask-inner"))
}, null, 2)
])
], 2), [
[tl, p.value]
])
]),
_: 3
}, 8, ["name"]))
]),
_: 3
}),
oe("div", {
ref_key: "topTrap",
ref: u,
tabindex: "0",
role: "none",
style: { width: "0", height: "0", overflow: "hidden", outline: "none" }
}, null, 512),
oe("div", {
class: x(e(a).be("content")),
onWheel: Z[0] || (Z[0] = gt(() => {
}, ["stop", "prevent"]))
}, [
e(o).transitionName ? (S(), Be(En, {
key: 0,
appear: "",
name: e(o).transitionName,
onAfterEnter: I,
onAfterLeave: G
}, {
default: X(() => [
W(q.$slots, "default", { show: p.value })
]),
_: 3
}, 8, ["name"])) : W(q.$slots, "default", {
key: 1,
show: p.value
})
], 34),
oe("div", {
ref_key: "bottomTrap",
ref: h,
tabindex: "0",
role: "none",
style: { width: "0", height: "0", overflow: "hidden", outline: "none" }
}, null, 512)
], 16)
]),
_: 3
}, 8, ["to"])) : ge("", !0);
}
}), na = [Number, String], e0 = (t) => t === "auto" || !Number.isNaN(parseFloat(t)), Va = {
default: "auto",
validator: e0
}, t0 = ft({
locale: Mn(),
transfer: hn,
active: M,
width: na,
height: na,
top: na,
left: na,
right: na,
bottom: na,
title: String,
closable: M,
inner: M,
maskClose: M,
modalClass: Bn,
modalStyle: kl,
noFooter: M,
hideMask: M,
draggable: M,
resizable: M,
onBeforeClose: Function,
loading: M,
minWidth: Number,
minHeight: Number,
transitionName: String,
confirmText: String,
cancelText: String,
actionSize: An,
autoRemove: M,
confirmType: String,
confirmProps: Object,
cancelType: String,
cancelProps: Object,
undivided: M,
xOffset: na,
yOffset: na,
disableEsc: M,
slots: Object,
onToggle: B(),
onConfirm: B(),
onCancel: B(),
onClose: B(),
onShow: B(),
onHide: B(),
onDragStart: B(),
onDragMove: B(),
onDragEnd: B(),
onResizeStart: B(),
onResizeMove: B(),
onResizeEnd: B()
}), n0 = ["aria-modal", "aria-labelledby", "aria-describedby"], l0 = ["id"], a0 = ["id"], Ci = /* @__PURE__ */ Xe({
name: "Modal",
__name: "modal",
props: t0,
emits: ["update:active"],
setup(t, { expose: r, emit: l }) {
const a = Ye("modal"), o = ct("modal", t, {
locale: null,
transfer: !1,
active: {
default: !1,
static: !0
},
width: Va,
height: Va,
top: Va,
left: Va,
right: Va,
bottom: Va,
title: "",
closable: !0,
inner: !1,
maskClose: !0,
modalClass: null,
modalStyle: null,
noFooter: !1,
hideMask: !1,
draggable: !1,
resizable: !1,
onBeforeClose: {
default: null,
isFunc: !0
},
loading: !1,
minWidth: 150,
minHeight: 120,
transitionName: () => a.ns("ease"),
confirmText: null,
cancelText: null,
autoRemove: !1,
confirmType: "primary",
confirmProps: null,
cancelType: "default",
cancelProps: null,
actionSize: On("small"),
undivided: !1,
xOffset: 0,
yOffset: 0,
disableEsc: !1,
slots: () => ({})
}), s = l, c = kn(), d = vn("modal", qe(o, "locale")), p = Gt();
function m(ne) {
return !Tt(ne) && ne !== "auto";
}
function b(ne) {
return tr(ne, !0) ? `${rn(ne)}px` : Tt(ne) ? "auto" : String(ne);
}
const f = $(o.active), u = pt({
top: b(o.top),
right: b(o.right),
bottom: b(o.bottom),
left: b(o.left),
width: b(o.width),
height: b(o.height)
}), h = pt({ width: 0, height: 0 }), i = pt({ width: 0, height: 0 }), v = $(!1), k = $(), w = $(), T = $(), F = g(() => o.top === "auto" && m(o.bottom) && m(o.height)), A = g(() => o.left === "auto" && m(o.right) && m(o.width)), { target: z, moving: C } = Pl({
capture: !1,
onStart: (ne, ue) => {
if (!w.value || !o.draggable || ue.button > 0)
return !1;
Ee(!1), v.value = !0, ne.xStart = parseFloat(u.left), ne.yStart = parseFloat(u.top), _(o.onDragStart, {
top: ne.yStart,
left: ne.xStart
});
},
onMove: (ne) => {
u.left = `${ne.xEnd}px`, u.top = `${ne.yEnd}px`, _(o.onDragMove, {
top: ne.yEnd,
left: ne.xEnd
});
},
onEnd: (ne) => {
_(o.onDragEnd, {
top: ne.yEnd,
left: ne.xEnd
});
}
}), { target: E, moving: P } = Pl({
onStart: (ne, ue) => {
if (!w.value || !o.resizable || ue.button > 0)
return !1;
Ee();
let J = 32;
z.value && (J += z.value.offsetHeight), T.value && (J += T.value.offsetHeight), v.value = !0, ne.xStart = parseFloat(u.width), ne.yStart = parseFloat(u.height), ne.minHeight = Math.max(J, o.minHeight), _(o.onResizeStart, {
width: ne.xStart,
height: ne.yStart
});
},
onMove: (ne) => {
const ue = Math.max(o.minWidth, ne.xEnd, 32), J = Math.max(ne.minHeight, ne.yEnd);
u.width = `${ue}px`, u.height = `${J}px`, _(o.onResizeMove, { width: ue, height: J });
},
onEnd: (ne) => {
const ue = Math.max(o.minWidth, ne.xEnd, 32), J = Math.max(ne.minHeight, ne.yEnd);
_(o.onResizeEnd, { width: ue, height: J });
}
}), R = g(() => [
a.b(),
a.bs("vars"),
{
[a.bm("inherit")]: o.inherit,
[a.bm("inner")]: o.inner,
[a.bm("draggable")]: o.draggable,
[a.bm("resizable")]: o.resizable,
[a.bm("undivided")]: o.undivided
}
]), L = g(() => [
a.be("wrapper"),
{
[a.bem("wrapper", "closable")]: o.closable,
[a.bem("wrapper", "dragging")]: C.value,
[a.bem("wrapper", "resizing")]: P.value
},
o.modalClass
]), I = g(() => {
const ne = [];
return o.xOffset && ne.push(`translateX(${b(o.xOffset)})`), o.yOffset && ne.push(`translateY(${b(o.yOffset)})`), ne.length && ne.push("translateZ(0)"), ne.length ? ne.join(" ") : void 0;
}), G = g(() => [
o.modalStyle,
{
...u,
height: u.height !== "auto" ? u.height : void 0,
transform: I.value
}
]), ee = g(() => {
const ne = { x: "50%", y: "50%" };
if (v.value)
ne.x = `${parseFloat(u.left) + 0.5 * i.width}px`, ne.y = `${parseFloat(u.top) + 0.5 * i.height}px`;
else {
if (F.value)
ne.y = `calc(100% - ${parseFloat(u.bottom) + 0.5 * parseFloat(u.height)}px)`;
else if (m(o.top)) {
const ue = parseFloat(u.top);
if (m(o.height))
ne.y = `${ue + 0.5 * parseFloat(u.height)}px`;
else if (m(o.bottom)) {
const J = parseFloat(u.bottom), N = h.height - ue - J;
ne.y = `${ue + 0.5 * N}px`;
} else
ne.y = `${parseFloat(u.top) + 0.5 * i.height}px`;
}
if (A.value)
ne.x = `calc(100% - ${parseFloat(u.right) + 0.5 * parseFloat(u.width)}px)`;
else if (m(o.left)) {
const ue = parseFloat(u.left);
if (m(o.width))
ne.x = `${ue + 0.5 * parseFloat(u.width)}px`;
else if (m(o.right)) {
const J = parseFloat(u.right), N = h.width - ue - J;
ne.x = `${ue + 0.5 * N}px`;
} else
ne.x = `${parseFloat(u.left) + 0.5 * i.width}px`;
}
}
return `${ne.x} ${ne.y}`;
}), O = g(() => !!(c.header || c.title || o.title || o.slots.header || o.slots.title)), H = Zl(), U = Zl();
for (const ne of Object.keys(u))
le(
() => o[ne],
(ue) => {
u[ne] = b(ue);
}
);
le(
() => o.active,
(ne) => {
f.value = ne;
}
), le(f, (ne) => {
o.hideMask && ne && q();
}), le([() => o.top, () => o.bottom, () => o.height], () => {
f.value && kt(de);
}), le([() => o.left, () => o.right, () => o.width], () => {
f.value && kt(te);
});
const q = () => {
var ne;
f.value && !v.value && kt(() => {
de(), te();
}), (ne = k.value) != null && ne.wrapper && (h.width = k.value.wrapper.offsetWidth, h.height = k.value.wrapper.offsetHeight);
};
r({
dragging: C,
resizing: P,
titleId: H,
bodyId: U,
wrapper: w,
header: z,
footer: T,
resizer: E,
handleResize: q,
handleConfirm: Se,
handleCancel: Ce,
handleClose: fe
});
const Z = yl(
pt({
dragging: C,
resizing: P,
handleResize: q,
handleConfirm: Se,
handleCancel: Ce,
handleClose: fe
})
);
function K(ne) {
f.value !== ne && (f.value = ne, s("update:active", ne), _(o.onToggle, ne));
}
function we() {
if (!w.value) return document.body;
let ne = w.value.parentElement;
for (; ne && ne !== document.body; ) {
if (getComputedStyle(ne).position !== "static")
return ne;
ne = ne.parentElement;
}
return ne;
}
function de() {
if (!w.value || o.top !== "auto" || F.value) return;
const ne = w.value.offsetHeight;
o.inner ? u.top = `${(we().offsetHeight - ne) / 2}px` : u.top = `${(window.innerHeight - ne) / 2 - 20}px`;
}
function te() {
if (!w.value || o.left !== "auto" || A.value) return;
const ne = w.value.offsetWidth;
o.inner ? u.left = `${(we().offsetWidth - ne) / 2}px` : u.left = `${(window.innerWidth - ne) / 2}px`;
}
function Ee(ne = !0) {
if (!w.value) return;
const { offsetWidth: ue, offsetHeight: J, offsetTop: N, offsetLeft: j } = w.value;
!ne && (!F.value && o.bottom !== "auto" || !A.value && o.right !== "auto") && (ne = !0), Object.assign(
u,
{
top: `${N}px`,
right: "auto",
bottom: "auto",
left: `${j}px`
},
ne ? {
width: `${ue}px`,
height: `${J}px`
} : {}
);
}
function Se() {
fe(!0), _(o.onConfirm);
}
function Ce() {
fe(!1), _(o.onCancel);
}
async function fe(ne = !1) {
let ue = !0;
return typeof o.onBeforeClose == "function" && (ue = o.onBeforeClose(ne), Sl(ue) && (ue = await ue)), ue !== !1 && await kt(() => {
K(!1), _(o.onClose);
}), ue;
}
function ot() {
_(o.onShow);
}
function Ze() {
_(o.onHide);
}
function Je() {
if (o.maskClose)
return fe(!1);
}
function se(ne) {
var J;
const ue = (J = ne.borderBoxSize) == null ? void 0 : J[0];
ue ? (i.width = ue.inlineSize, i.height = ue.blockSize) : (i.width = ne.contentRect.width, i.height = ne.contentRect.height);
}
return (ne, ue) => (S(), Be(e(fr), {
ref_key: "masker",
ref: k,
active: f.value,
"onUpdate:active": ue[4] || (ue[4] = (J) => f.value = J),
inherit: e(o).inherit,
class: x(R.value),
inner: e(o).inner,
"transition-name": e(o).transitionName,
closable: e(o).maskClose,
disabled: e(o).hideMask,
"on-before-close": Je,
transfer: e(o).transfer,
"auto-remove": e(o).autoRemove,
"disable-esc": e(o).disableEsc,
onShow: ot,
onHide: Ze,
onResize: q
}, {
default: X(({ show: J }) => [
el(oe("section", {
class: x(e(a).be("transform")),
style: Qe({ transformOrigin: ee.value })
}, [
y(e(zn), { onResize: se }, {
default: X(() => [
oe("div", {
ref_key: "wrapper",
ref: w,
class: x(L.value),
role: "dialog",
style: Qe(G.value),
"aria-modal": J ? "true" : void 0,
"aria-labelledby": e(H),
"aria-describedby": e(U)
}, [
O.value ? (S(), D("div", {
key: 0,
ref_key: "header",
ref: z,
class: x(e(a).be("header"))
}, [
W(ne.$slots, "header", It(Yt(e(Z))), () => [
y(e(me), {
renderer: e(o).slots.header,
data: e(Z)
}, {
default: X(() => [
oe("div", {
id: e(H),
class: x(e(a).be("title"))
}, [
W(ne.$slots, "title", It(Yt(e(Z))), () => [
y(e(me), {
renderer: e(o).slots.title,
data: e(Z)
}, {
default: X(() => [
dt(ze(e(o).title), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 10, l0),
e(o).closable ? (S(), D("button", {
key: 0,
type: "button",
class: x(e(a).be("close")),
onPointerdown: ue[0] || (ue[0] = gt(() => {
}, ["stop"])),
onMousedown: ue[1] || (ue[1] = gt(() => {
}, ["stop"])),
onTouchstart: ue[2] || (ue[2] = gt(() => {
}, ["stop"])),
onClick: ue[3] || (ue[3] = (N) => fe(!1))
}, [
W(ne.$slots, "close", It(Yt(e(Z))), () => [
y(e(me), {
renderer: e(o).slots.close,
data: e(Z)
}, {
default: X(() => [
y(e(Oe), He(e(p).close, {
scale: +(e(p).close.scale || 1) * 1.2,
label: "close"
}), null, 16, ["scale"])
]),
_: 1
}, 8, ["renderer", "data"])
])
], 34)) : ge("", !0)
]),
_: 3
}, 8, ["renderer", "data"])
])
], 2)) : ge("", !0),
oe("div", {
id: e(U),
class: x(e(a).be("content")),
style: Qe({
overflow: e(P) ? "hidden" : void 0
})
}, [
W(ne.$slots, "default", It(Yt(e(Z))), () => [
y(e(me), {
renderer: e(o).slots.default,
data: e(Z)
}, null, 8, ["renderer", "data"])
])
], 14, a0),
e(o).noFooter ? ge("", !0) : (S(), D("div", {
key: 1,
ref_key: "footer",
ref: T,
class: x(e(a).be("footer"))
}, [
W(ne.$slots, "footer", It(Yt(e(Z))), () => [
y(e(me), {
renderer: e(o).slots.footer,
data: e(Z)
}, {
default: X(() => [
y(e(Hn), He({
class: [e(a).be("button"), e(a).bem("button", "cancel")],
inherit: "",
text: "",
type: e(o).cancelType,
size: e(o).actionSize
}, e(o).cancelProps, { onClick: Ce }), {
default: X(() => [
dt(ze(e(o).cancelText || e(d).cancel), 1)
]),
_: 1
}, 16, ["class", "type", "size"]),
y(e(Hn), He({
class: [e(a).be("button"), e(a).bem("button", "confirm")],
inherit: "",
type: e(o).confirmType,
size: e(o).actionSize,
loading: e(o).loading
}, e(o).confirmProps, { onClick: Se }), {
default: X(() => [
dt(ze(e(o).confirmText || e(d).confirm), 1)
]),
_: 1
}, 16, ["class", "type", "size", "loading"])
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2)),
e(o).resizable ? (S(), D("div", {
key: 2,
ref_key: "resizer",
ref: E,
class: x(e(a).be("resizer"))
}, null, 2)) : ge("", !0)
], 14, n0)
]),
_: 2
}, 1024)
], 6), [
[tl, J]
])
]),
_: 3
}, 8, ["active", "inherit", "class", "inner", "transition-name", "closable", "disabled", "transfer", "auto-remove", "disable-esc"]));
}
});
function r0(t = {}) {
if (!zt) return Qt;
const {
appContext: r,
loading: l,
renderer: a,
headerRenderer: n,
titleRenderer: o,
closeRenderer: s,
footerRenderer: c,
onHide: d,
...p
} = t, m = $(!1);
let b = _l(), f = document.createElement("div"), u;
if (r || b) {
const v = y(h, null, null);
v.appContext = r || b.appContext, sl(v, f);
} else
u = Pa(h), u.mount(f);
document.body.appendChild(f), kt(() => {
m.value = !0;
});
function h() {
return Jn(
Ci,
{
...p,
active: m.value,
transfer: !1,
autoRemove: !1,
loading: e(l),
onHide: Array.isArray(d) ? [...d, i] : d ? [d, i] : i
},
{
header: n,
title: o,
close: s,
default: a,
footer: c
}
);
}
function i() {
b && (f && sl(null, f), b = null), u && (u.unmount(), u = void 0), f && (document.body.removeChild(f), f = void 0);
}
return () => kt(() => {
m.value = !1;
});
}
Ci.open = r0;
const Ld = Ci, la = [Number, String], o0 = ft({
locale: Mn(),
width: la,
height: la,
top: la,
left: la,
right: la,
bottom: la,
maskClose: M,
confirmType: String,
cancelType: String,
confirmText: String,
cancelText: String,
icon: {
type: [Boolean, Object, Function],
default: null
},
className: Bn,
style: kl,
renderer: Function,
iconProps: Object,
closable: M,
contentAlign: String,
actionsAlign: String,
parseHtml: M,
cancelable: M,
xOffset: la,
yOffset: la
}), s0 = ["innerHTML"], js = /* @__PURE__ */ Xe({
name: "Confirm",
__name: "confirm",
props: o0,
setup(t, { expose: r }) {
const l = (A) => A === "auto" || !Number.isNaN(parseFloat(A)), a = {
default: "auto",
validator: l
}, n = Object.freeze([
"default",
"primary",
"info",
"success",
"warning",
"error"
]), s = ct("confirm", t, {
locale: null,
width: {
default: 420,
validator: l
},
height: a,
top: a,
left: a,
right: a,
bottom: a,
maskClose: !1,
confirmType: {
default: "primary",
validator: (A) => n.includes(A)
},
cancelType: {
default: "default",
validator: (A) => n.includes(A)
},
confirmText: null,
cancelText: null,
icon: {
isFunc: !0,
default: !1
},
className: null,
style: null,
renderer: {
default: null,
isFunc: !0,
static: !0
},
iconProps: () => ({}),
closable: !1,
parseHtml: !1,
contentAlign: "left",
actionsAlign: "right",
cancelable: !0,
xOffset: 0,
yOffset: 0
}), c = Ye("confirm"), d = Gt(), p = vn("confirm", qe(s, "locale")), m = [
"className",
"style",
"icon",
"iconProps",
"maskClose",
"confirmType",
"cancelType",
"confirmText",
"cancelText",
"parseHtml",
"closable",
"contentAlign",
"actionsAlign",
"cancelable",
"width",
"height",
"top",
"right",
"bottom",
"left",
"xOffset",
"yOffset"
], b = pt({
...m.reduce((A, z) => (A[z] = s[z], A), {}),
visible: !1,
loading: !1,
title: "",
content: "",
raw: {}
}), f = $(s.renderer);
let u = null, h = null, i = null;
const v = new Promise((A) => {
sn(() => {
kt(A);
});
});
r({ state: b, openConfirm: k, closeConfirm: T, handleReset: F });
async function k(A) {
return await v, await new Promise((z) => {
for (const E of m)
b[E] = A[E] ?? s[E];
if (b.title = A.title ?? "", b.content = A.content ?? "", b.raw = A, f.value = on(A.renderer) ? A.renderer : s.renderer, u = on(A.onBeforeConfirm) ? A.onBeforeConfirm : null, on(f.value)) {
const E = f.value;
f.value = () => E(b, w, T);
}
b.visible = !0;
let C = !1;
h = () => {
!C && z(!0), C = !0, u = null;
}, i = () => {
!C && z(!1), C = !0, u = null;
};
});
}
async function w() {
if (b.loading = !0, on(u)) {
let A = u();
if (Sl(A) && (A = await A), A === !1) {
b.loading = !1;
return;
}
}
b.visible = !1, b.loading = !1, on(h) && (h(), h = null);
}
function T() {
b.visible = !1, on(i) && (i(), i = null);
}
function F() {
for (const A of m)
b[A] = s[A];
b.visible = !1, b.loading = !1, b.title = "", b.content = "", b.raw = {}, f.value = s.renderer;
}
return (A, z) => (S(), D("div", {
class: x([e(c).b(), e(c).bs("vars")])
}, [
y(e(Ld), {
"no-footer": "",
"auto-remove": !1,
transfer: !1,
closable: !1,
active: b.visible,
"modal-class": b.className,
"modal-style": b.style,
width: b.width,
height: b.height,
top: b.top,
left: b.left,
right: b.right,
bottom: b.bottom,
"x-offset": b.xOffset,
"y-offset": b.yOffset,
"mask-close": b.maskClose,
onHide: F,
onClose: T
}, {
default: X(() => [
e(on)(f.value) ? (S(), Be(e(me), {
key: 0,
renderer: f.value
}, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
b.title ? (S(), D("div", {
key: 0,
class: x(e(c).be("header"))
}, [
oe("div", {
class: x(e(c).be("title"))
}, [
typeof b.title == "function" ? (S(), Be(e(me), {
key: 0,
renderer: b.title
}, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
dt(ze(b.title), 1)
], 64))
], 2),
b.closable ? (S(), D("button", {
key: 0,
type: "button",
class: x(e(c).be("close")),
onMousedown: z[0] || (z[0] = gt(() => {
}, ["stop"])),
onClick: T
}, [
W(A.$slots, "close", {}, () => [
y(e(Oe), He(e(d).close, {
scale: +(e(d).close.scale || 1) * 1.2,
label: "close"
}), null, 16, ["scale"])
])
], 34)) : ge("", !0)
], 2)) : ge("", !0),
oe("div", {
class: x([
e(c).be("body"),
e(c).bem("body", b.contentAlign),
!b.title && e(c).bem("body", "no-title")
])
}, [
b.icon !== !1 ? (S(), D("div", {
key: 0,
class: x(e(c).be("icon"))
}, [
typeof b.icon != "boolean" ? (S(), Be(e(Oe), He({ key: 0 }, b.iconProps, {
icon: b.icon
}), null, 16, ["icon"])) : (S(), Be(e(Oe), He({
key: 1,
scale: 2.2
}, {
...b.cancelable ? e(d).question : e(d).warning,
...b.iconProps
}, {
icon: (b.cancelable ? e(d).question : e(d).warning).icon
}), null, 16, ["icon"]))
], 2)) : ge("", !0),
typeof b.content == "function" ? (S(), Be(e(me), {
key: 1,
renderer: b.content
}, null, 8, ["renderer"])) : (S(), D(st, { key: 2 }, [
b.parseHtml ? (S(), D("div", {
key: 0,
class: x(e(c).be("content")),
innerHTML: b.content
}, null, 10, s0)) : (S(), D("div", {
key: 1,
class: x(e(c).be("content"))
}, ze(b.content), 3))
], 64))
], 2),
oe("div", {
class: x([e(c).be("footer"), e(c).bem("footer", b.actionsAlign)])
}, [
b.cancelable ? (S(), Be(e(Hn), {
key: 0,
class: x([e(c).be("button"), e(c).bem("button", "cancel")]),
inherit: "",
"no-pulse": "",
type: b.cancelType,
onClick: T
}, {
default: X(() => [
dt(ze(b.cancelText || e(p).cancel), 1)
]),
_: 1
}, 8, ["class", "type"])) : ge("", !0),
y(e(Hn), {
class: x([e(c).be("button"), e(c).bem("button", "confirm")]),
inherit: "",
"no-pulse": "",
type: b.confirmType,
loading: b.loading,
onClick: w
}, {
default: X(() => [
dt(ze(b.confirmText || e(p).confirm), 1)
]),
_: 1
}, 8, ["class", "type", "loading"])
], 2)
], 64))
]),
_: 3
}, 8, ["active", "modal-class", "modal-style", "width", "height", "top", "left", "right", "bottom", "x-offset", "y-offset", "mask-close"])
], 2));
}
});
js.name = "Confirm";
class Ti {
constructor(r = {}) {
Rt(this, "name");
Rt(this, "defaults");
Rt(this, "_mountedApp");
Rt(this, "_instance");
Rt(this, "_innerApp");
Rt(this, "_container");
Rt(this, "_wrapper");
Rt(this, "_mountedEl");
this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._wrapper = null, this._mountedEl = null, this.name = "Confirm", this.defaults = {}, this.config(r);
}
open(r, l, a) {
var o;
if (!zt)
return;
typeof r == "string" && (a ? r = { title: l, content: r, confirmType: a } : r = { content: r, confirmType: l });
const n = { ...this.defaults, ...r };
return n.icon && typeof n.icon == "object" && (n.icon = Nr(n.icon)), (o = this._getInstance()) == null ? void 0 : o.openConfirm(n);
}
close() {
var r;
(r = this._getInstance()) == null || r.closeConfirm();
}
config(r) {
this.defaults = { ...this.defaults, ...r };
}
clone() {
const r = new Ti(this.defaults);
return r._mountedApp = this._mountedApp, r;
}
destroy() {
var r, l;
this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
}
isDestroyed() {
return !1;
}
install(r, l = {}) {
const { property: a, ...n } = l;
this.config(n), this._mountedApp = r, (a || !r.config.globalProperties.$confirm) && (r.config.globalProperties[a || "$confirm"] = this);
}
transferTo(r) {
if (!zt) return;
const l = El(r);
l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
}
_getInstance() {
if (!this._instance && zt) {
if (!this._mountedApp)
console.warn("[vexip-ui:Confirm]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(js), this._instance = this._innerApp.mount(this._container);
else {
const r = y(js, null, null);
this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
}
this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
}
return this._instance;
}
}
const i0 = new Ti(), $i = "__VXP_SELECT_HANDLER", Ws = "__VXP_DROPDOWN_STATE", u0 = Xe({
setup(t, { slots: r }) {
const l = Et(Ws, null);
return l && nn($i, l.handleSelect), () => W(r, "default");
}
}), c0 = ft({
visible: M,
placement: String,
outsideClose: M,
trigger: String,
label: [String, Number],
transitionName: String,
transfer: hn,
dropClass: Bn,
appear: M,
meta: Object,
alive: M,
custom: M,
shift: M,
onToggle: B(),
onSelect: B(),
onClickOutside: B(),
onOutsideClose: B()
}), d0 = Jl({
label: {
type: [String, Number],
default: null
},
disabled: {
type: Boolean,
default: !1
},
selected: {
type: Boolean,
default: !1
},
divided: {
type: Boolean,
default: !1
},
reference: {
type: Boolean,
default: !1
},
meta: {
type: Object,
default: () => ({})
},
onSelect: B()
});
function Fd(t, r) {
const l = $(t.value);
function a(n) {
var o;
r.value ? l.value = n ?? ((o = r.value.textContent) == null ? void 0 : o.trim()) ?? null : l.value = n;
}
return le(t, (n) => {
a(n);
}), sn(() => {
kt(() => {
a(t.value);
});
}), l;
}
const f0 = ["onKeydown"], Jo = /* @__PURE__ */ Xe({
name: "Dropdown",
__name: "dropdown",
props: c0,
emits: ["update:visible"],
setup(t, { expose: r, emit: l }) {
const a = Ye("dropdown"), o = ct("dropdown", t, {
visible: {
default: !1,
static: !0
},
placement: {
default: "bottom",
validator: (U) => Wl.includes(U)
},
outsideClose: !0,
trigger: {
default: "hover",
validator: (U) => ["hover", "click", "custom"].includes(U)
},
label: {
default: null,
static: !0
},
transitionName: () => a.ns("drop"),
transfer: !1,
dropClass: null,
appear: !1,
meta: null,
alive: !1,
custom: !1,
shift: !0
}), s = l, c = Et(Ws, null), { isRtl: d } = Un(), p = fa(), m = !!c, b = qe(o, "label"), f = $(o.placement), u = $(o.visible), h = $(!1), i = m ? $(!1) : qe(o, "transfer"), v = g(() => !!(c != null && c.shift || o.shift)), k = Hl(R), w = $(), { reference: T, transferTo: F, updatePopper: A } = Kl({
placement: f,
shift: v,
transfer: i,
wrapper: k,
popper: g(() => {
var U;
return (U = w.value) == null ? void 0 : U.wrapper;
}),
isDrop: !0,
offset: m ? [-5, 0] : void 0
}), z = Fd(b, T), C = g(() => ({
[a.b()]: !0,
[a.bs("vars")]: !0,
[a.bm("inherit")]: o.inherit,
[a.bm("visible")]: u.value
})), E = g(() => (c == null ? void 0 : c.alive) || o.alive);
nn($i, null), !o.custom && nn(
Ws,
pt({
alive: E,
shift: v,
handleSelect: L,
handleTriggerEnter: ee,
handleTriggerLeave: O
})
), le(
() => o.visible,
(U) => {
u.value = U;
}
), le(
() => o.placement,
(U) => {
I(U);
}
), le(u, (U) => {
U && A();
}), sn(() => {
kt(() => {
I(o.placement);
});
}), r({
isNested: m,
currentVisible: u,
isAlive: E,
wrapper: k,
reference: T,
popper: w,
handleTriggerEnter: ee,
handleTriggerLeave: O,
handleTriggerClick: H
});
function P(U) {
u.value !== U && (u.value = U, s("update:visible", U), _(o.onToggle, U));
}
function R() {
_(o.onClickOutside), o.outsideClose && o.trigger !== "custom" && u.value && (P(!1), _(o.onOutsideClose));
}
function L(U, q) {
o.trigger !== "custom" && (P(!1), _(o.onSelect, U, q)), typeof (c == null ? void 0 : c.handleSelect) == "function" && c.handleSelect([z.value, ...U], [o.meta || {}, ...q]);
}
function I(U) {
const [q] = U.split("-");
m && q !== "right" && q !== "left" ? f.value = d.value ? "left-start" : "right-start" : f.value = U;
}
const { timer: G } = Vn();
function ee() {
o.trigger === "hover" && (clearTimeout(G.hover), typeof (c == null ? void 0 : c.handleTriggerEnter) == "function" && c.handleTriggerEnter(), G.hover = setTimeout(() => {
P(!0);
}, p.value));
}
function O() {
o.trigger === "hover" && (clearTimeout(G.hover), typeof (c == null ? void 0 : c.handleTriggerLeave) == "function" && c.handleTriggerLeave(), G.hover = setTimeout(() => {
P(!1);
}, p.value));
}
function H() {
o.trigger === "click" && P(!u.value);
}
return (U, q) => (S(), D("div", {
ref_key: "wrapper",
ref: k,
class: x(C.value),
onMouseenter: ee,
onMouseleave: O
}, [
oe("div", {
ref_key: "reference",
ref: T,
class: x([e(a).be("trigger"), u.value ? e(a).bem("trigger", "active") : ""]),
onClick: H,
onKeydown: [
Kn(gt(H, ["prevent"]), ["enter"]),
Kn(gt(H, ["prevent"]), ["space"])
]
}, [
W(U.$slots, "default")
], 42, f0),
y(e(u0), null, {
default: X(() => [
y(e(Xl), {
ref_key: "popper",
ref: w,
class: x([
e(a).be("popper"),
e(a).bs("vars"),
m ? e(a).bem("popper", "nested") : null,
e(o).dropClass
]),
visible: u.value,
alive: E.value || h.value,
to: e(F),
transition: e(o).transitionName,
appear: e(o).appear,
onMouseenter: ee,
onMouseleave: O,
onAfterEnter: q[0] || (q[0] = (Z) => h.value = !0),
onAfterLeave: q[1] || (q[1] = (Z) => h.value = !1)
}, {
default: X(() => [
W(U.$slots, "drop")
]),
_: 3
}, 8, ["class", "visible", "alive", "to", "transition", "appear"])
]),
_: 3
})
], 34));
}
}), Qo = /* @__PURE__ */ Xe({
name: "DropdownList",
__name: "dropdown-list",
setup(t) {
const r = Ye("dropdown");
return (l, a) => (S(), D("ul", {
class: x(e(r).be("list")),
role: "menu"
}, [
W(l.$slots, "default")
], 2));
}
}), es = /* @__PURE__ */ Xe({
name: "DropdownItem",
__name: "dropdown-item",
props: d0,
setup(t, { expose: r }) {
const l = t, a = Et($i, null), n = Ye("dropdown"), o = $(null), s = qe(l, "label"), c = $(l.reference), d = Fd(s, o), p = g(() => {
const b = n.be("item");
return {
[b]: !0,
[`${b}--disabled`]: l.disabled,
[`${b}--selected`]: !l.disabled && l.selected,
[`${b}--divided`]: l.divided
};
});
r({ wrapper: o, handleSelect: m });
function m() {
l.disabled || c.value || (typeof a == "function" && a([d.value], [l.meta || {}]), _(l.onSelect, d.value));
}
return (b, f) => (S(), D("li", {
ref_key: "wrapper",
ref: o,
class: x(p.value),
role: "menuitem",
tabindex: "0",
onClick: m
}, [
W(b.$slots, "default")
], 2));
}
});
function p0(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
function Id(t, r) {
return t.icon ? y("div", {
class: r.be("icon")
}, [y(Oe, {
icon: t.icon,
style: [{
color: t.iconColor || t.color
}, t.icon.style]
}, null)]) : null;
}
function Nd(t, r) {
return t.shortcut ? y("div", {
class: r.be("shortcut")
}, [t.shortcut]) : null;
}
function v0(t, r) {
const l = Gt(), {
isRtl: a
} = Un();
return y(Jo, He({
inherit: !0,
transfer: !1
}, {
onContextmenu: (n) => {
n.preventDefault(), n.stopPropagation();
}
}), {
default: () => y(es, {
class: r.be("item"),
label: t.key,
divided: t.divided,
disabled: t.disabled
}, {
default: () => [Id(t, r), typeof t.renderer == "function" ? t.renderer() : y("span", {
class: r.be("label"),
style: {
color: t.color
}
}, [t.label || t.key]), Nd(t, r), y("div", {
class: [r.be("icon"), r.be("arrow")]
}, [y(Oe, He(a.value ? l.value.angleLeft : l.value.angleRight, {
style: {
color: t.iconColor || t.color
}
}), null)])]
}),
drop: () => {
let n;
return y(Qo, {
class: [r.be("list"), t.children.some((o) => o.icon) ? r.bem("list", "icons") : r.bem("list", "no-icon"), t.children.some((o) => {
var s;
return (s = o.children) == null ? void 0 : s.length;
}) ? r.bem("list", "arrows") : r.bem("list", "no-arrow")]
}, p0(n = t.children.map((o) => Dd({
nh: r,
config: o
}))) ? n : {
default: () => [n]
});
}
});
}
function Dd({
config: t,
nh: r
}) {
var l;
return (l = t.children) != null && l.length ? v0(t, r) : y(es, {
class: r.be("item"),
label: t.key,
divided: t.divided,
disabled: t.disabled
}, {
default: () => [Id(t, r), typeof t.renderer == "function" ? t.renderer() : y("span", {
class: r.be("label"),
style: {
color: t.color
}
}, [t.label || t.key]), Nd(t, r)]
});
}
const Ou = /* @__PURE__ */ Xe({
name: "Contextmenu",
__name: "contextmenu",
setup(t, { expose: r }) {
const l = Ye("contextmenu"), { isRtl: a } = Un(), n = $(!1), o = $([]), s = $(!1), c = pt({
x: 0,
y: 0
}), d = $(null), p = $(null);
function m(h) {
return c.x = h.clientX || 0, c.y = h.clientY || 0, o.value = h.configs, s.value = h.appear ?? !1, n.value = !0, new Promise((i) => {
d.value = (v) => {
i(v);
}, p.value = () => {
i(null);
};
});
}
function b() {
d.value = null, p.value = null;
}
function f(h) {
n.value = !1, on(d.value) && (d.value(h), b());
}
function u() {
n.value = !1, on(p.value) && (p.value(), b());
}
return r({ visible: n, position: c, openContextmenu: m, handleSelect: f, handleCancel: u }), (h, i) => (S(), Be(e(Jo), {
visible: n.value,
"onUpdate:visible": i[0] || (i[0] = (v) => n.value = v),
class: x([e(l).b(), e(l).bs("vars")]),
trigger: "click",
placement: e(a) ? "left-start" : "right-start",
appear: s.value,
transfer: !1,
style: Qe({
top: `${c.y}px`,
left: `${c.x}px`
}),
onContextmenu: i[1] || (i[1] = gt(() => {
}, ["prevent", "stop"])),
onSelect: f,
onOutsideClose: u
}, {
drop: X(() => [
y(e(Qo), {
class: x([
e(l).be("list"),
o.value.some((v) => v.icon) ? e(l).bem("list", "icons") : e(l).bem("list", "no-icon"),
o.value.some((v) => v.children && v.children.length) ? e(l).bem("list", "arrows") : e(l).bem("list", "no-arrow")
])
}, {
default: X(() => [
(S(!0), D(st, null, ln(o.value, (v) => (S(), Be(e(me), {
key: v.key,
data: { config: v, nh: e(l) },
renderer: e(Dd)
}, null, 8, ["data", "renderer"]))), 128))
]),
_: 1
}, 8, ["class"])
]),
_: 1
}, 8, ["visible", "class", "placement", "appear", "style"]));
}
});
class h0 {
constructor() {
Rt(this, "name");
Rt(this, "_mountedApp");
Rt(this, "_instance");
Rt(this, "_innerApp");
Rt(this, "_container");
Rt(this, "_pending");
Rt(this, "_wrapper");
Rt(this, "_mountedEl");
this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._pending = null, this._wrapper = null, this._mountedEl = null, this.name = "Contextmenu";
}
open(r) {
if (!zt)
return;
const { target: l = document.body, ...a } = r;
return this._pending = this._getInstance(l).openContextmenu(a), this._pending;
}
destroy() {
var r, l;
this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
}
isDestroyed() {
return !1;
}
install(r, l = {}) {
const { property: a } = l;
this._mountedApp = r, (a || !r.config.globalProperties.$contextmenu) && (r.config.globalProperties[a || "$contextmenu"] = this);
}
_getInstance(r) {
var l, a;
if (zt) {
if (this._pending) {
let n = this._innerApp, o = this._container;
const s = () => {
n == null || n.unmount(), o && sl(null, o), n = null, o = null;
};
this._pending.finally(s), (l = this._instance) == null || l.handleCancel();
} else
(a = this._innerApp) == null || a.unmount(), this._container && sl(null, this._container);
if (this._pending = null, !this._mountedApp)
console.warn("[vexip-ui:Contextmenu]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(Ou), this._instance = this._innerApp.mount(this._container);
else {
const n = y(Ou, null, null);
this._container = document.createElement("div"), n.appContext = this._mountedApp._context, sl(n, this._container), this._instance = Fa(n);
}
return this._mountedEl = this._container.firstElementChild, this._wrapper = El(r) || document.body, this._wrapper.appendChild(this._mountedEl), this._instance;
}
}
}
const m0 = new h0();
var dl = /* @__PURE__ */ ((t) => (t[t.UPSTREAM = 0] = "UPSTREAM", t[t.TRUE = 1] = "TRUE", t[t.AT_MIN_TRUE = 2] = "AT_MIN_TRUE", t[t.AT_MAX_TRUE = 3] = "AT_MAX_TRUE", t[t.FALSE = 4] = "FALSE", t))(dl || {});
const Od = Object.freeze([
"date",
"datetime",
"year",
"month"
]), _u = /* @__PURE__ */ new Date(""), b0 = /^((?:\d{1,2}))((?::\d{1,2}))?((?::\d{1,2}))?$/, g0 = Array.from({ length: 10 }, (t, r) => r);
function y0(t, r) {
return t === `Digit${r}` || t === `Numpad${r}` || t === `${r}`;
}
function _d(t) {
const r = t.code || t.key;
let l = null, a = !1;
switch (r) {
case "Tab": {
a = !0, l = t.shiftKey ? "prev" : "next";
break;
}
case "ArrowRight": {
a = !0, l = "next";
break;
}
case "Delete":
case "ArrowLeft": {
a = !0, l = "prev";
break;
}
case "ArrowUp": {
a = !0, l = "up";
break;
}
case "ArrowDown": {
a = !0, l = "down";
break;
}
case "Space":
case " ":
case "Enter":
case "NumpadEnter": {
a = !0, l = "ok";
break;
}
case "Escape": {
a = !0, l = "esc";
break;
}
}
if (a)
t.preventDefault(), t.stopPropagation();
else {
const n = g0.findIndex((o) => y0(r, o));
~n && (l = n, t.preventDefault(), t.stopPropagation());
}
return l;
}
function Bd(t, r = $(t[0])) {
const l = Array.from(t), a = l.length, n = pt(
l.reduce((d, p) => (d[p] = !1, d), {})
);
function o(d) {
r.value = d.find((p) => n[p]) ?? r.value;
}
function s(d, p = !1) {
d || (r.value = null);
const m = p ? Array.from(l).reverse() : l, b = m.findIndex((f) => f === d);
~b ? o(m.slice(b, a).concat(m.slice(0, b))) : o(m);
}
function c(d, p = !0) {
r.value || (r.value = (d === "next" ? gn(l) : l[0]) ?? null);
for (let m = 0; m < a; ++m)
if (r.value === l[m]) {
const b = d === "prev" ? Array.from(l).reverse() : l, f = (d === "prev" ? a - m : m + 1) % a, u = p ? b.slice(f, a).concat(b.slice(0, f)) : f ? b.slice(f, a) : [];
o(u);
break;
}
}
return {
currentColumn: r,
enabled: n,
resetColumn: s,
enterColumn: c
};
}
const ja = [0, 0, 0], Wa = [23, 59, 59];
function Ks(t, r) {
const l = g(() => t.value ? t.value.split(":").map(rn) : ja), a = g(() => r.value ? r.value.split(":").map(rn) : Wa), n = g(() => {
const p = l.value, m = a.value;
for (let b = 0; b < 3; ++b) {
if (p[b] < m[b]) return !1;
if (p[b] > m[b]) return !0;
}
return !1;
}), o = {
hour: s,
minute: (p, m) => c(p, m) !== dl.FALSE,
second: (p, m, b) => d(p, m, b) !== dl.FALSE
};
function s(p) {
const m = l.value[0] || ja[0], b = a.value[0] || Wa[0];
return n.value ? p > b && p < m : p < m || p > b;
}
function c(p, m) {
if (s(p)) return dl.UPSTREAM;
if (l.value[0] === a.value[0] && p === l.value[0]) {
const b = l.value[1] || ja[1], f = a.value[1] || Wa[1];
if (n.value ? m > f && m < b : m < b || m > f)
return dl.TRUE;
}
if (p === l.value[0]) {
const b = l.value[1] || ja[1];
if (m < b) return dl.AT_MIN_TRUE;
}
if (p === a.value[0]) {
const b = a.value[1] || Wa[1];
if (m > b) return dl.AT_MAX_TRUE;
}
return dl.FALSE;
}
function d(p, m, b) {
if (c(p, m) !== dl.FALSE) return dl.UPSTREAM;
if (l.value[0] === a.value[0] && p === l.value[0] && l.value[1] === a.value[1] && m === l.value[1]) {
const f = l.value[2] || ja[2], u = a.value[2] || Wa[2];
if (n.value ? b > u && b < f : b < f || b > u)
return dl.TRUE;
}
if (p === l.value[0] && m === l.value[1]) {
const f = l.value[2] || ja[2];
if (b < f) return dl.AT_MIN_TRUE;
}
if (p === a.value[0] && m === a.value[1]) {
const f = a.value[2] || Wa[2];
if (b > f) return dl.AT_MAX_TRUE;
}
return dl.FALSE;
}
return {
minUnits: l,
maxUnits: a,
reversed: n,
isTimeDisabled: o
};
}
const k0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], w0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], x0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-valuemax", "aria-labelledby"], S0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], C0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], T0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], Bu = /* @__PURE__ */ Xe({
name: "DateControl",
__name: "date-control",
props: {
unitType: {
type: String,
default: ""
},
enabled: {
type: Object,
default: () => ({})
},
activated: {
type: Object,
default: () => ({})
},
dateValue: {
type: Object,
default: () => ({})
},
dateSeparator: {
type: String,
default: "/"
},
timeSeparator: {
type: String,
default: ":"
},
visible: {
type: Boolean,
default: !1
},
focused: {
type: Boolean,
default: !1
},
filler: {
type: String,
default: "-",
validator: (t) => t.length === 1
},
steps: {
type: Array,
default: () => [1, 1, 1]
},
ctrlSteps: {
type: Array,
default: () => [5, 5, 5]
},
labels: {
type: Object,
default: () => ({})
},
hasError: {
type: Boolean,
default: !1
},
placeholder: {
type: String,
default: ""
},
readonly: {
type: Boolean,
default: !1
},
labeledBy: {
type: String,
default: void 0
},
locale: {
type: Object,
default: () => ({})
},
dateUnitOrder: {
type: Array,
default: () => ["year", "month", "date"]
}
},
emits: [
"input",
"plus",
"minus",
"enter",
"cancel",
"unit-focus",
"prev-unit",
"next-unit",
"blur"
],
setup(t, { expose: r, emit: l }) {
const a = t, n = l, o = Ye("date-picker"), s = $(), c = g(() => a.locale.ariaLabel ?? {}), d = g(() => Object.keys(a.enabled).every((E) => !a.enabled[E] || a.activated[E])), p = g(() => ({
[o.be("input")]: !0,
[o.bem("input", "activated")]: d.value,
[o.bem("input", "error")]: a.hasError
})), m = g(() => a.enabled.hour || a.enabled.minute || a.enabled.second), b = g(() => T("year")), f = g(() => T("month")), u = g(() => T("date")), h = g(() => T("hour")), i = g(() => T("minute")), v = g(() => T("second")), k = g(() => Fc(a.dateValue.year, a.dateValue.month)), w = g(() => {
const [E, P, R] = a.dateUnitOrder;
return {
[E]: -4,
[P]: -2,
[R]: 0
};
});
r({
isActivated: d,
wrapper: s,
focus: () => {
var E;
(E = s.value) == null || E.focus();
},
blur: () => {
var E;
(E = s.value) == null || E.blur();
}
});
function T(E) {
const P = E === "year", R = a.filler;
return a.activated[E] ? P ? a.dateValue.year.toString().padStart(4, "0") : ol(a.dateValue[E]) : `${P ? `${R}${R}` : ""}${R}${R}`;
}
function F(E) {
return a.visible && a.unitType === E ? o.bem("unit", "focused") : null;
}
function A(E) {
a.readonly || n("unit-focus", E);
}
function z(E) {
if (!a.visible) return;
const P = _d(E);
if (a.readonly) {
switch (P) {
case "ok": {
n("enter");
break;
}
case "esc": {
n("cancel");
break;
}
}
return;
}
switch (P) {
case "next": {
n("next-unit");
break;
}
case "prev": {
n("prev-unit");
break;
}
case "up": {
n("minus", E.ctrlKey);
break;
}
case "down": {
n("plus", E.ctrlKey);
break;
}
case "ok": {
n("enter");
break;
}
case "esc": {
n("cancel");
break;
}
default:
typeof P == "number" && n("input", P);
}
}
function C() {
n("blur");
}
return (E, P) => (S(), D("div", {
ref_key: "wrapper",
ref: s,
class: x(p.value),
role: "none",
tabindex: "-1",
onKeydown: z,
onBlur: C
}, [
!t.focused && !d.value ? (S(), D("div", {
key: 0,
class: x(e(o).be("placeholder"))
}, ze(t.placeholder), 3)) : (S(), D(st, { key: 1 }, [
t.enabled.year ? (S(), D("div", {
key: 0,
class: x([e(o).be("unit"), F("year")]),
role: "spinbutton",
"aria-label": c.value.year,
"aria-valuenow": a.dateValue.year,
"aria-valuetext": b.value,
"aria-valuemin": 1,
"aria-valuemax": 9999,
"aria-labelledby": t.labeledBy,
style: Qe({ order: w.value.year }),
onClick: P[0] || (P[0] = (R) => A("year"))
}, ze(b.value), 15, k0)) : ge("", !0),
t.labels.year ? (S(), D("div", {
key: 1,
class: x(e(o).be("label")),
"aria-hidden": "",
style: Qe({ order: w.value.year }),
onClick: P[1] || (P[1] = (R) => A("year"))
}, ze(t.labels.year), 7)) : ge("", !0),
t.enabled.month ? (S(), D(st, { key: 2 }, [
t.enabled.year ? (S(), D("div", {
key: 0,
class: x(e(o).be("separator")),
"aria-hidden": "",
style: { order: "-3" }
}, ze(t.dateSeparator), 3)) : ge("", !0),
oe("div", {
class: x([e(o).be("unit"), F("month")]),
role: "spinbutton",
"aria-label": c.value.month,
"aria-valuenow": a.dateValue.month,
"aria-valuetext": f.value,
"aria-valuemin": 1,
"aria-valuemax": 12,
"aria-labelledby": t.labeledBy,
style: Qe({ order: w.value.month }),
onClick: P[2] || (P[2] = (R) => A("month"))
}, ze(f.value), 15, w0),
t.labels.month ? (S(), D("div", {
key: 1,
class: x(e(o).be("label")),
"aria-hidden": "",
style: Qe({ order: w.value.month }),
onClick: P[3] || (P[3] = (R) => A("month"))
}, ze(t.labels.month), 7)) : ge("", !0)
], 64)) : ge("", !0),
t.enabled.date ? (S(), D(st, { key: 3 }, [
t.enabled.month || t.enabled.year ? (S(), D("div", {
key: 0,
class: x(e(o).be("separator")),
"aria-hidden": "",
style: { order: "-1" }
}, ze(t.dateSeparator), 3)) : ge("", !0),
oe("div", {
class: x([e(o).be("unit"), F("date")]),
role: "spinbutton",
"aria-label": c.value.date,
"aria-valuenow": a.dateValue.date,
"aria-valuetext": u.value,
"aria-valuemin": 1,
"aria-valuemax": k.value || 31,
"aria-labelledby": t.labeledBy,
style: Qe({ order: w.value.date }),
onClick: P[4] || (P[4] = (R) => A("date"))
}, ze(u.value), 15, x0),
t.labels.date ? (S(), D("div", {
key: 1,
class: x(e(o).be("label")),
"aria-hidden": "",
style: Qe({ order: w.value.date }),
onClick: P[5] || (P[5] = (R) => A("date"))
}, ze(t.labels.date), 7)) : ge("", !0)
], 64)) : ge("", !0),
m.value ? (S(), D(st, { key: 4 }, [
oe("div", {
class: x(e(o).be("pad"))
}, null, 2),
t.enabled.hour ? (S(), D("div", {
key: 0,
class: x([e(o).be("unit"), F("hour")]),
role: "spinbutton",
"aria-label": c.value.hour,
"aria-valuenow": a.dateValue.hour,
"aria-valuetext": h.value,
"aria-valuemin": 0,
"aria-valuemax": 23,
"aria-labelledby": t.labeledBy,
onClick: P[6] || (P[6] = (R) => A("hour"))
}, ze(h.value), 11, S0)) : ge("", !0),
t.labels.hour ? (S(), D("div", {
key: 1,
class: x(e(o).be("label")),
"aria-hidden": "",
onClick: P[7] || (P[7] = (R) => A("hour"))
}, ze(t.labels.hour), 3)) : ge("", !0),
t.enabled.minute ? (S(), D(st, { key: 2 }, [
t.enabled.hour ? (S(), D("div", {
key: 0,
class: x(e(o).be("separator")),
"aria-hidden": ""
}, ze(t.timeSeparator), 3)) : ge("", !0),
oe("div", {
class: x([e(o).be("unit"), F("minute")]),
role: "spinbutton",
"aria-label": c.value.minute,
"aria-valuenow": a.dateValue.minute,
"aria-valuetext": i.value,
"aria-valuemin": 0,
"aria-valuemax": 59,
"aria-labelledby": t.labeledBy,
onClick: P[8] || (P[8] = (R) => A("minute"))
}, ze(i.value), 11, C0),
t.labels.minute ? (S(), D("div", {
key: 1,
class: x(e(o).be("label")),
"aria-hidden": "",
onClick: P[9] || (P[9] = (R) => A("minute"))
}, ze(t.labels.minute), 3)) : ge("", !0)
], 64)) : ge("", !0),
t.enabled.second ? (S(), D(st, { key: 3 }, [
t.enabled.minute || t.enabled.hour ? (S(), D("div", {
key: 0,
class: x(e(o).be("separator")),
"aria-hidden": ""
}, ze(t.timeSeparator), 3)) : ge("", !0),
oe("div", {
class: x([e(o).be("unit"), F("second")]),
role: "spinbutton",
"aria-label": c.value.second,
"aria-valuenow": a.dateValue.second,
"aria-valuetext": v.value,
"aria-valuemin": 0,
"aria-valuemax": 59,
"aria-labelledby": t.labeledBy,
onClick: P[10] || (P[10] = (R) => A("second"))
}, ze(v.value), 11, T0),
t.labels.second ? (S(), D("div", {
key: 1,
class: x(e(o).be("label")),
"aria-hidden": "",
onClick: P[11] || (P[11] = (R) => A("second"))
}, ze(t.labels.second), 3)) : ge("", !0)
], 64)) : ge("", !0)
], 64)) : ge("", !0)
], 64))
], 34));
}
}), $0 = ft({
scrollClass: Bn,
scrollStyle: kl,
scrollAttrs: Object,
mode: String,
width: [Number, String],
height: [Number, String],
deltaX: Number,
deltaY: Number,
disabled: M,
pointer: M,
wheel: M,
scrollX: Number,
scrollY: Number,
useXBar: M,
useYBar: M,
barFade: Number,
barClass: Bn,
autoplay: La,
playWaiting: Number,
noBuffer: M,
noTransition: M,
onBeforeScroll: Function,
useBarTrack: M,
scrollTag: String,
onResize: B(),
onXEnabledChange: B(),
onYEnabledChange: B(),
onWheel: B(),
onScrollStart: B(),
onScroll: B(),
onScrollEnd: B(),
onBarScrollStart: B(),
onBarScroll: B(),
onBarScrollEnd: B(),
onReady: B()
});
function E0({
mode: t,
disabled: r,
width: l,
height: a,
scrollX: n,
scrollY: o,
onResize: s,
onBeforeRefresh: c,
onAfterRefresh: d
}) {
const { manualRef: p, triggerUpdate: m } = ci(), b = $(), f = $(), u = pt({
el: b,
width: rn(l.value),
height: rn(a.value)
}), h = pt({
el: f,
width: 0,
height: 0
}), i = p(-n.value), v = p(-o.value), k = $(!1), w = p(0), T = p(0), F = g(() => u.width ? u.width - h.width : 0), A = g(() => u.height ? u.height - h.height : 0), z = g(() => !r.value && t.value !== "vertical" && !!u.width && h.width - u.width > 1), C = g(() => !r.value && t.value !== "horizontal" && !!u.height && h.height - u.height > 1), E = g(() => u.width ? Math.max(Math.min(u.width / (h.width || 1) * 100, 99), 5) : 35), P = g(() => u.height ? Math.max(Math.min(u.height / (h.height || 1) * 100, 99), 5) : 35);
le(b, () => {
L();
}), le(f, () => {
G();
}), le(n, (Z) => {
i.value = -Z, ee();
}), le(o, (Z) => {
v.value = -Z, ee();
}), le(l, () => {
L().then(ee);
}), le(a, () => {
L().then(ee);
});
function R(Z) {
return kt(() => {
if (!u.el) return;
const K = Z === "width" ? l.value : a.value, we = Z.slice(0, 1).toUpperCase() + Z.slice(1);
typeof K == "string" ? !K.endsWith("px") && (!K || Number.isNaN(Number(K))) ? u[Z] = u.el[`offset${we}`] : u[Z] = parseInt(K) : u[Z] = K;
});
}
async function L() {
const Z = [];
t.value !== "vertical" && Z.push(R("width")), t.value !== "horizontal" && Z.push(R("height")), await Promise.all(Z);
}
let I;
function G() {
return clearTimeout(I), new Promise((Z) => {
k.value = !1, I = setTimeout(() => {
if (!h.el) {
Z();
return;
}
t.value !== "vertical" && (h.width = h.el.offsetWidth, u.width >= h.width ? i.value = 0 : i.value === 0 && (i.value = -n.value)), t.value !== "horizontal" && (h.height = h.el.offsetHeight, u.height >= h.height ? v.value = 0 : v.value === 0 && (v.value = -o.value)), setTimeout(() => {
k.value = !0, ee(), Z();
}, 1);
}, 0);
});
}
function ee() {
k.value && (t.value !== "vertical" && (i.value = Math.min(0, Math.max(i.value, F.value)), t.value !== "both" && (v.value = 0)), t.value !== "horizontal" && (v.value = Math.min(0, Math.max(v.value, A.value)), t.value !== "both" && (i.value = 0)), O(), m());
}
function O() {
w.value = br(i.value / (F.value || -1), 100, 2), T.value = br(v.value / (A.value || -1), 100, 2), w.value = Math.max(0, Math.min(w.value, 100)), T.value = Math.max(0, Math.min(T.value, 100));
}
function H(Z) {
q(), s == null || s(Z);
}
let U = !1;
sn(() => {
q(), U = !0;
});
async function q() {
typeof c == "function" && c(), L(), await G().then(() => {
setTimeout(
() => {
ee(), typeof d == "function" && d();
},
U ? 20 : 100
);
});
}
return {
wrapperEl: b,
contentEl: f,
wrapper: u,
content: h,
isReady: k,
x: i,
y: v,
percentX: w,
percentY: T,
xScrollLimit: F,
yScrollLimit: A,
enableXScroll: z,
enableYScroll: C,
xBarLength: E,
yBarLength: P,
handleResize: H,
verifyScroll: ee,
computePercent: O,
refresh: q,
triggerUpdate: m
};
}
const A0 = Object.freeze([
"horizontal",
"horizontal-exact",
"vertical",
"both"
]), Hu = wl ? "touchmove" : "mousemove", Vu = wl ? "touchend" : "mouseup", Ei = /* @__PURE__ */ Xe({
name: "Scroll",
__name: "scroll",
props: $0,
setup(t, { expose: r }) {
const a = ct("scroll", t, {
scrollClass: null,
scrollStyle: null,
scrollAttrs: null,
mode: {
default: "vertical",
validator: (Me) => A0.includes(Me)
},
width: "",
height: "",
deltaX: 40,
deltaY: 40,
disabled: !1,
pointer: wl,
wheel: !0,
scrollX: {
default: 0,
static: !0
},
scrollY: {
default: 0,
static: !0
},
useXBar: !1,
useYBar: !1,
barFade: 1500,
barClass: null,
autoplay: !1,
playWaiting: 500,
noBuffer: !1,
noTransition: !1,
onBeforeScroll: {
default: null,
isFunc: !0
},
useBarTrack: !1,
scrollTag: "div"
}), n = ai(), o = Ye("scroll"), { isRtl: s } = Un(), { timer: c } = Vn(), d = $(!1), p = $(!1), m = $(0), b = g(() => a.mode === "horizontal-exact" ? "horizontal" : a.mode);
let f = 180;
const u = $(), h = $();
let i = !1;
const {
wrapperEl: v,
contentEl: k,
wrapper: w,
isReady: T,
x: F,
y: A,
percentX: z,
percentY: C,
xScrollLimit: E,
yScrollLimit: P,
enableXScroll: R,
enableYScroll: L,
xBarLength: I,
yBarLength: G,
handleResize: ee,
verifyScroll: O,
computePercent: H,
refresh: U,
triggerUpdate: q
} = E0({
mode: b,
disabled: qe(a, "disabled"),
width: qe(a, "width"),
height: qe(a, "height"),
scrollX: qe(a, "scrollX"),
scrollY: qe(a, "scrollY"),
onResize: (Me) => {
_(a.onResize, Me);
},
// onBeforeRefresh: stopAutoplay,
onAfterRefresh: () => {
Ze(), i || (i = !0, de());
}
}), Z = yl({
getState: qt,
refresh: U,
scrollTo: Re,
scrollBy: he,
scrollToElement: lt,
ensureInView: Ke
}), K = $(!1), we = g(() => b.value !== "both" && (pc(a.autoplay) || +a.autoplay > 1e3) && (b.value === "horizontal" && R.value || b.value === "vertical" && L.value));
le([() => a.autoplay, () => a.playWaiting], () => {
te(), kt(de);
});
function de() {
if (!we.value) return;
te();
const Me = b.value === "horizontal" ? "width" : "height", Ge = b.value === "horizontal" ? E : P, mt = b.value === "horizontal" ? F : A, bt = a.playWaiting < 20 ? 20 : a.playWaiting;
let Ot = 0.5;
typeof a.autoplay == "number" && (Ot = w[Me] / a.autoplay * 16);
const Vt = () => {
H(), q(), Ze(), Wt(b.value);
}, $e = () => {
mt.value -= Ot, mt.value <= Ge.value ? (mt.value = Ge.value, K.value = !1, Vt(), c.end = setTimeout(() => {
Re(0, 0, 500), c.start = setTimeout(() => {
K.value = !0, Wt(b.value), $e();
}, 500 + bt);
}, bt)) : (Vt(), K.value && requestAnimationFrame($e));
};
c.play = setTimeout(() => {
K.value = !0, $e();
}, bt);
}
function te() {
K.value = !1, clearTimeout(c.play), clearTimeout(c.start), clearTimeout(c.end);
}
const Ee = g(() => [
o.b(),
o.bs("vars"),
o.bm(b.value),
{
[o.bm("inherit")]: a.inherit,
[o.bm("using-bar")]: d.value,
[o.bm("scrolling")]: p.value,
[o.bm("no-ready")]: !T.value,
[o.bm("no-transition")]: a.noTransition
}
]), Se = g(() => {
const { width: Me, height: Ge } = a;
return {
width: Me ? typeof Me == "string" ? Number.isNaN(Number(Me)) ? Me : `${Number(Me)}px` : `${Me}px` : void 0,
height: Ge ? typeof Ge == "string" ? Number.isNaN(Number(Ge)) ? Ge : `${Number(Ge)}px` : `${Ge}px` : void 0
};
}), Ce = g(() => {
var Me;
return [(Me = a.scrollAttrs) == null ? void 0 : Me.class, a.scrollClass, o.be("wrapper")];
}), fe = g(() => {
var Me;
return [(Me = a.scrollAttrs) == null ? void 0 : Me.style, a.scrollStyle];
});
le(R, (Me) => {
_(a.onXEnabledChange, Me);
}), le(L, (Me) => {
_(a.onYEnabledChange, Me);
}), le(T, (Me) => {
Me ? (m.value = -1, _(a.onReady)) : m.value = 0;
}), In(() => {
k.value && (k.value.style.transform = `translate3d(${s.value ? -F.value : F.value}px, ${A.value}px, 0)`);
}), In(() => {
k.value && (k.value.style.transitionDuration = m.value < 0 ? "" : `${m.value}ms`);
}), sn(() => {
if (!zt || !v.value) return;
const Ge = getComputedStyle(v.value).getPropertyValue(o.cv("move-duration")).trim();
Ge.endsWith("ms") ? f = parseFloat(Ge) : Ge.endsWith("s") && (f = parseFloat(Ge) * 1e3), f = Number.isNaN(f) ? 140 : f;
}), pn(te), r({
percentX: z,
percentY: C,
x: F,
y: A,
isReady: T,
xBarLength: I,
yBarLength: G,
enableXScroll: R,
enableYScroll: L,
wrapper: v,
content: k,
xBar: u,
yBar: h,
refresh: U,
scrollTo: Re,
scrollBy: he,
scrollToElement: lt,
ensureInView: Ke,
getXScrollLimit: Ct,
getYScrollLimit: ve,
addScrollListener: Ve,
removeScrollListener: Ie
});
function ot() {
return {
clientX: -F.value,
clientY: -A.value,
percentX: z.value,
percentY: C.value
};
}
function Ze() {
var Me, Ge;
(Me = u.value) == null || Me.handleScroll(z.value), (Ge = h.value) == null || Ge.handleScroll(C.value);
}
function Je(Me) {
if (!a.pointer || Me.button > 0 || wl)
return !1;
re(Me);
}
function se(Me) {
if (!a.pointer || Me.touches.length !== 1)
return !1;
re(Me);
}
let ne = 0, ue = 0, J = 0, N = 0, j = !1, ae = null, be = 0;
function re(Me) {
if (!R.value && !L.value)
return !1;
Me.cancelable && Me.preventDefault(), yt(), m.value = 0;
const Ge = "touches" in Me ? Me.touches[0] : Me;
ne = F.value, ue = A.value, J = Ge.clientX, N = Ge.clientY, j = !1, ae = Me.target, be = Date.now(), document.addEventListener(Hu, ce), document.addEventListener(Vu, Pe), _(a.onScrollStart, ot());
}
function ce(Me) {
var Ot;
Me.stopPropagation(), wl || Me.preventDefault();
const Ge = "touches" in Me ? Me.touches[0] : Me, mt = Ge.clientX - J > 0 ? 1 : -1, bt = Ge.clientY - N > 0 ? 1 : -1;
if (((Ot = a.onBeforeScroll) == null ? void 0 : Ot.call(a, { signX: mt, signY: bt })) === !1)
return !1;
p.value = !0, R.value && (F.value = ne + Ge.clientX - J, j = !0), L.value && (A.value = ue + Ge.clientY - N, j = !0), a.noBuffer ? O() : (H(), q()), Ze(), Wt(b.value);
}
function Pe(Me) {
!j && ae && Me.target === ae && Date.now() - be <= 500 && ae.dispatchEvent(new MouseEvent("click", Me)), document.removeEventListener(Hu, ce), document.removeEventListener(Vu, Pe), m.value = -1, j = !1, Nt(), O(), Ze(), _(a.onScrollEnd, ot()), de();
}
function at(Me, Ge) {
var $e;
const mt = L.value && Ge === "vertical", bt = R.value && Ge === "horizontal", Ot = Me.deltaY > 0 ? -1 : 1;
if (a.wheel && (mt || bt) && (($e = a.onBeforeScroll) == null ? void 0 : $e.call(a, { signX: -Ot, signY: -Ot })) !== !1)
Me.preventDefault(), Me.stopPropagation();
else
return !0;
if (b.value !== "both" && b.value !== Ge) return !1;
yt();
const Vt = Ot * (Ge === "horizontal" ? a.deltaX : a.deltaY);
mt ? A.value += Vt : bt && (F.value += Vt), O(), Ze(), Wt(Ge), _(a.onWheel, {
...ot(),
type: Ge,
sign: -Ot
}), de();
}
function yt() {
te(), clearTimeout(c.buffer);
}
function Nt() {
a.noBuffer ? c.buffer = setTimeout(() => {
p.value = !1;
}, 300) : p.value = !1;
}
function Mt(Me) {
d.value = !0, _(a.onBarScrollStart, { ...ot(), type: Me });
}
function Ht(Me) {
d.value = !1, _(a.onBarScrollEnd, { ...ot(), type: Me });
}
function _t(Me) {
z.value = Me, F.value = Me * E.value / 100, q(), _(a.onBarScroll, {
...ot(),
type: "horizontal"
}), Wt("horizontal");
}
function tn(Me) {
C.value = Me, A.value = Me * P.value / 100, q(), _(a.onBarScroll, {
...ot(),
type: "vertical"
}), Wt("vertical");
}
function Wt(Me) {
_(a.onScroll, {
...ot(),
type: Me
}), n.emit("scroll", {
...ot(),
type: Me
});
}
function un() {
v.value && (v.value.scrollTop = 0, v.value.scrollLeft = 0);
}
function qt() {
const { clientX: Me, clientY: Ge, percentX: mt, percentY: bt } = ot();
return {
scrollX: Me,
scrollY: Ge,
percentX: mt,
percentY: bt,
enableXScroll: R.value,
enableYScroll: L.value
};
}
function pe(Me = f) {
return clearTimeout(c.wait), new Promise((Ge) => {
c.wait = setTimeout(() => Ge(), Me + 1);
});
}
function Re(Me, Ge, mt) {
return Fe(mt), kt(() => {
let bt = !1;
R.value && Math.abs(F.value + Me) > 0.01 && (F.value = -Me, bt = !0), L.value && Math.abs(A.value + Ge) > 0.01 && (A.value = -Ge, bt = !0), O(), Ze(), bt || (m.value = -1);
}), pe(mt);
}
function he(Me, Ge, mt) {
return Fe(mt), kt(() => {
let bt = !1;
Me && R && (F.value -= Me, bt = !0), Ge && L && (A.value -= Ge, bt = !0), O(), Ze(), bt || (m.value = -1);
}), pe(mt);
}
function Fe(Me) {
typeof Me == "number" && (m.value = Me, m.value === 0 && kt(() => {
m.value = -1;
}));
}
function lt(Me, Ge, mt = 0) {
if (!k.value || (typeof Me == "string" && (Me = k.value.querySelector(Me)), !Rl(Me))) return Promise.resolve();
const bt = k.value.getBoundingClientRect(), Ot = Me.getBoundingClientRect();
let Vt = 0, $e = 0;
return b.value !== "vertical" && (Vt = Ot.left - bt.left + mt), b.value !== "horizontal" && ($e = Ot.top - bt.top + mt), Re(Vt, $e, Ge);
}
function Ke(Me, Ge, mt = 0) {
if (!v.value || (typeof Me == "string" && (Me = v.value.querySelector(Me)), !Rl(Me))) return Promise.resolve();
const bt = v.value.getBoundingClientRect(), Ot = Me.getBoundingClientRect();
let Vt = 0, $e = 0;
return b.value !== "vertical" && (Ot.left < bt.left + mt ? Vt = Ot.left - bt.left - mt : Ot.right > bt.right - mt && (Vt = Ot.right - bt.right + mt)), b.value !== "horizontal" && (Ot.top < bt.top + mt ? $e = Ot.top - bt.top - mt : Ot.bottom > bt.bottom - mt && ($e = Ot.bottom - bt.bottom + mt)), he(Vt, $e, Ge);
}
function Ct() {
return [0, -E.value];
}
function ve() {
return [0, -P.value];
}
function Ve(Me) {
n.on("scroll", Me);
}
function Ie(Me) {
n.off("scroll", Me);
}
return (Me, Ge) => (S(), D("div", {
ref_key: "wrapperEl",
ref: v,
class: x(Ee.value),
style: Qe(Se.value),
onMousedown: Je,
onTouchstart: se,
onScroll: un,
onWheel: [
Ge[5] || (Ge[5] = gt((mt) => at(mt, e(a).mode === "horizontal-exact" ? "horizontal" : "vertical"), ["exact"])),
Ge[6] || (Ge[6] = gt((mt) => at(mt, "horizontal"), ["shift"]))
]
}, [
Me.$slots.extra ? (S(), D("div", {
key: 0,
class: x(e(o).be("extra"))
}, [
W(Me.$slots, "extra", It(Yt(e(Z))))
], 2)) : ge("", !0),
y(e(zn), {
throttle: "",
"on-resize": e(ee)
}, {
default: X(() => [
(S(), Be(fc(e(a).scrollTag || "div"), He(e(a).scrollAttrs, {
ref_key: "contentEl",
ref: k,
class: Ce.value,
style: fe.value,
onTransitionend: Ge[0] || (Ge[0] = (mt) => m.value = -1)
}), {
default: X(() => [
W(Me.$slots, "default", It(Yt(e(Z))))
]),
_: 3
}, 16, ["class", "style"]))
]),
_: 3
}, 8, ["on-resize"]),
e(a).useXBar ? (S(), Be(e(Ma), {
key: 1,
ref_key: "xBar",
ref: u,
inherit: "",
placement: "bottom",
class: x([e(o).bem("bar", "horizontal"), e(a).barClass]),
fade: e(a).barFade,
"bar-length": e(I),
disabled: !e(R),
duration: m.value,
"use-track": e(a).useBarTrack,
onScrollStart: Ge[1] || (Ge[1] = (mt) => Mt("horizontal")),
onScroll: _t,
onScrollEnd: Ge[2] || (Ge[2] = (mt) => Ht("horizontal"))
}, null, 8, ["class", "fade", "bar-length", "disabled", "duration", "use-track"])) : ge("", !0),
e(a).useYBar ? (S(), Be(e(Ma), {
key: 2,
ref_key: "yBar",
ref: h,
inherit: "",
placement: "right",
class: x([e(o).bem("bar", "vertical"), e(a).barClass]),
fade: e(a).barFade,
"bar-length": e(G),
disabled: !e(L),
duration: m.value,
"use-track": e(a).useBarTrack,
onScrollStart: Ge[3] || (Ge[3] = (mt) => Mt("vertical")),
onScroll: tn,
onScrollEnd: Ge[4] || (Ge[4] = (mt) => Ht("vertical"))
}, null, 8, ["class", "fade", "bar-length", "disabled", "duration", "use-track"])) : ge("", !0)
], 38));
}
}), Hd = "__VXP_WHEEL_STATE", R0 = ["aria-disabled", "aria-selected"], M0 = /* @__PURE__ */ Xe({
name: "WheelItem",
__name: "wheel-item",
props: {
value: {
type: [Number, String],
default: null
},
disabled: {
type: Boolean,
default: !1
},
active: {
type: Boolean,
default: !1
},
meta: {
type: [String, Number, Object],
default: null
}
},
setup(t, { expose: r }) {
const l = t, a = Ye("wheel"), n = Et(Hd, null), o = $(0), s = $(0), c = $(), d = pt({
width: o,
height: s,
el: c,
value: qe(l, "value"),
disabled: qe(l, "disabled"),
meta: qe(l, "meta")
}), p = g(() => ({
width: o.value ? `${o.value}px` : void 0,
height: s.value ? `${s.value}px` : void 0
}));
return n && (sn(() => {
n.increaseItem(d);
}), pn(() => {
n.decreaseItem(d);
})), r({ wrapper: c }), (m, b) => (S(), D("li", {
ref_key: "wrapper",
ref: c,
class: x([
e(a).be("item"),
t.disabled && e(a).bem("item", "disabled"),
t.active && e(a).bem("item", "active")
]),
role: "option",
"aria-disabled": t.disabled ? "true" : void 0,
"aria-selected": t.active,
style: Qe(p.value)
}, [
W(m.$slots, "default", {}, () => [
dt(ze(t.value), 1)
])
], 14, R0));
}
}), P0 = ft({
state: Zn,
horizontal: M,
value: [String, Number],
/**
* 上下或左右两侧的候选数
*/
candidate: Number,
arrow: M,
pointer: M,
options: Array,
insertEmpty: hn,
disabled: M,
loading: M,
loadingLock: M,
disabledItem: Function,
noTransition: M,
selectable: M,
slots: Object,
onChange: B(),
onPrev: B(),
onNext: B(),
onItemClick: B()
}), z0 = ["id", "aria-labelledby"], bo = /* @__PURE__ */ Xe({
name: "Wheel",
__name: "wheel",
props: P0,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const { idFor: a, labelId: n, state: o, disabled: s, loading: c, validateField: d, getFieldValue: p, setFieldValue: m } = al(() => {
var re;
return (re = R.value) == null ? void 0 : re.focus();
}), f = ct("wheel", t, {
state: ll(o),
horizontal: !1,
value: {
default: () => p(),
static: !0
},
candidate: {
default: 2,
validator: (re) => [0, 1, 2, 3].includes(re)
},
arrow: !1,
pointer: wl,
options: {
default: () => [],
static: !0
},
insertEmpty: !1,
disabled: () => s.value,
loading: () => c.value,
loadingLock: !1,
disabledItem: {
default: sa,
isFunc: !0
},
noTransition: !1,
selectable: !1,
slots: () => ({})
}), u = l, h = Ye("wheel"), i = Gt(), v = $(/* @__PURE__ */ new Set()), k = $(0), w = $(0), T = $(0), F = $(0), A = $(0), z = $(0), C = $(0), E = $(!1), { isRtl: P } = Un(), R = Wo(ne), L = $();
cl({
target: R,
passive: !1,
onKeyDown: (re, ce) => {
(ce.up || ce.down) && (re.preventDefault(), ce.up ? j() : ae());
}
});
const I = g(() => {
const re = f.options.map((ce) => {
if (typeof ce == "object") {
const { value: Pe, label: at, disabled: yt = !1 } = ce;
return {
value: Pe,
label: at || String(Pe),
disabled: yt,
meta: ce
};
}
return { value: ce, label: String(ce), disabled: !1, meta: ce };
});
return f.insertEmpty && re.unshift({
value: "",
label: typeof f.insertEmpty == "string" ? f.insertEmpty : "-",
disabled: !1,
meta: ""
}), re;
}), G = g(() => Array.from(v.value)), ee = g(() => f.loading && f.loadingLock), O = g(() => [
h.b(),
h.bs("vars"),
h.bm(f.horizontal ? "horizontal" : "vertical"),
{
[h.bm("inherit")]: f.inherit,
[h.bm(f.state)]: f.state !== "default",
[h.bm("disabled")]: f.disabled,
[h.bm("readonly")]: ee.value,
[h.bm("loading")]: f.loading
}
]), H = g(() => f.horizontal ? {
paddingRight: `${z.value}px`,
paddingLeft: `${z.value}px`
} : {
paddingTop: `${C.value}px`,
paddingBottom: `${C.value}px`
}), U = g(() => f.horizontal ? {
width: z.value ? `${z.value}px` : void 0
} : {
height: C.value ? `${C.value}px` : void 0
}), q = g(() => {
const re = {
inset: f.horizontal ? `0 ${z.value - 1}px` : `${C.value - 1}px 0`
};
return f.horizontal ? (re.borderTop = "0", re.borderBottom = "0") : (re.borderRight = "0", re.borderLeft = "0"), re;
}), Z = g(() => f.disabled || !G.value.slice(0, k.value).some((re) => !Ce(re))), K = g(() => f.disabled || k.value >= G.value.length - 1 || !G.value.slice(k.value + 1, G.value.length).some((re) => !Ce(re))), we = g(
() => f.horizontal ? P.value ? i.value.angleRight : i.value.angleLeft : i.value.angleUp
), de = g(
() => f.horizontal ? P.value ? i.value.angleLeft : i.value.angleRight : i.value.angleDown
);
nn(Hd, { increaseItem: Je, decreaseItem: se });
const te = Ln(() => {
const re = Math.max(
G.value.findIndex((ce) => ce.value === f.value),
0
);
fe(Ze(re));
}), Ee = Ln(() => {
kt(() => {
const re = f.horizontal;
G.value.forEach((at) => {
at && at.el && (F.value = Math.max(F.value, at.el.offsetWidth), A.value = Math.max(A.value, at.el.offsetHeight));
});
const ce = f.candidate, Pe = 2 * ce + 1;
w.value = Pe * F.value, T.value = Pe * A.value, z.value = ce * F.value, C.value = ce * A.value, v.value.forEach((at) => {
re ? at.width = F.value : at.height = A.value;
}), setTimeout(() => {
var at;
(at = L.value) == null || at.refresh();
}, 0);
});
}), Se = da(() => {
if (L.value) {
let re = 0, ce = 0;
f.horizontal ? re = k.value * F.value : ce = k.value * A.value, kt(() => {
var Pe;
(Pe = L.value) == null || Pe.scrollTo(re, ce);
});
}
}, 20);
le(
() => f.value,
() => {
te(), Se();
},
{ immediate: !0 }
), le(() => f.horizontal, Ee), le(() => f.candidate, Ee), r({
idFor: a,
currentActive: k,
isInit: E,
targetWidth: F,
targetHeight: A,
wrapperWidth: w,
wrapperHeight: T,
itemList: G,
wrapper: R,
scroll: L,
refreshScroll: Se,
focus: (re) => {
var ce;
return (ce = R.value) == null ? void 0 : ce.focus(re);
},
blur: () => {
var re;
return (re = R.value) == null ? void 0 : re.blur();
}
});
function Ce(re) {
return re.disabled || f.disabledItem(re.value, re.meta);
}
function fe(re) {
if (k.value === re) return;
k.value = re;
const ce = G.value[re], Pe = ce == null ? void 0 : ce.value;
Se(), u("update:value", Pe), m(Pe), _(f.onChange, Pe, ce == null ? void 0 : ce.meta), d();
}
function ot(re, ce) {
for (ce = ce / Math.abs(ce); G.value[re].disabled && (re += ce, !(re < 0 || re >= G.value.length)); )
;
return re;
}
function Ze(re, ce = 1) {
return G.value[re] && Ce(G.value[re]) && (re = ot(re, 1 * ce), (ce > 0 ? re >= G.value.length : re < 0) && (re = ot(cn(re, 0, G.value.length - 1), -1 * ce), (ce > 0 ? re < 0 : re >= G.value.length) && (re = 0))), re;
}
function Je(re) {
v.value.add(re), Ee(), te();
}
function se(re) {
v.value.delete(re), Ee(), te();
}
function ne() {
var re;
Ee(), (re = L.value) == null || re.refresh(), kt(() => {
E.value = !0, te(), Se();
});
}
function ue({ signX: re, signY: ce }) {
if (f.disabled || ee.value) return !1;
const Pe = f.horizontal ? re : ce;
return !(Pe < 0 && Z.value || Pe > 0 && K.value);
}
function J({ clientX: re, clientY: ce }) {
const Pe = f.horizontal ? re / F.value : ce / A.value, at = Math.round(Pe);
at !== k.value ? fe(Ze(at, at > Pe ? 1 : -1)) : Se();
}
function N({
sign: re,
clientX: ce,
clientY: Pe
}) {
const at = f.horizontal ? Math.round(ce / F.value) : Math.round(Pe / A.value);
fe(Ze(at, re));
}
function j() {
if (!Z.value) {
fe(Ze(k.value - 1, -1));
const re = G.value[k.value];
_(f.onPrev, re == null ? void 0 : re.value, re == null ? void 0 : re.meta);
}
}
function ae() {
if (!K.value) {
fe(Ze(k.value + 1, 1));
const re = G.value[k.value];
_(f.onNext, re == null ? void 0 : re.value, re == null ? void 0 : re.meta);
}
}
function be(re, ce) {
f.selectable && !Ce(G.value[ce]) && fe(ce), _(f.onItemClick, re.value, re.meta);
}
return (re, ce) => (S(), D("div", {
id: e(a),
ref_key: "wrapper",
ref: R,
class: x(O.value),
tabindex: "0",
role: "group",
"aria-labelledby": e(n)
}, [
e(f).arrow ? (S(), D("div", {
key: 0,
ref: "prevArrow",
class: x([
e(h).be("arrow"),
e(h).bem("arrow", "prev"),
Z.value ? e(h).bem("arrow", "disabled") : ""
]),
"aria-hidden": "",
onClick: j
}, [
y(e(Oe), It(Yt(we.value)), null, 16)
], 2)) : ge("", !0),
oe("div", {
class: x(e(h).be("scroll")),
role: "none"
}, [
y(e(Ei), {
ref_key: "scroll",
ref: L,
inherit: "",
"scroll-x": e(f).horizontal ? F.value * k.value : 0,
"scroll-y": e(f).horizontal ? 0 : A.value * k.value,
width: e(f).horizontal ? w.value : "100%",
height: e(f).horizontal ? "100%" : T.value,
pointer: e(f).pointer,
mode: e(f).horizontal ? "horizontal" : "vertical",
"delta-x": F.value,
"delta-y": A.value,
"on-before-scroll": ue,
"no-transition": e(f).noTransition,
onWheel: N,
onScrollEnd: J
}, {
default: X(() => [
oe("ul", {
ref: "list",
class: x(e(h).be("list")),
style: Qe(H.value)
}, [
E.value ? (S(!0), D(st, { key: 0 }, ln(I.value, (Pe, at) => (S(), Be(M0, {
key: at,
value: Pe.value,
disabled: Pe.disabled || e(f).disabledItem(Pe.value, Pe),
active: k.value === at,
meta: Pe.meta,
onClick: (yt) => be(Pe, at)
}, {
default: X(() => [
W(re.$slots, "default", {
option: Pe,
index: at
}, () => [
y(e(me), {
renderer: e(f).slots.default,
data: { option: Pe, index: at }
}, {
default: X(() => [
dt(ze(Pe.label), 1)
]),
_: 2
}, 1032, ["renderer", "data"])
])
]),
_: 2
}, 1032, ["value", "disabled", "active", "meta", "onClick"]))), 128)) : ge("", !0)
], 6)
]),
_: 3
}, 8, ["scroll-x", "scroll-y", "width", "height", "pointer", "mode", "delta-x", "delta-y", "no-transition"]),
e(f).candidate ? (S(), D(st, { key: 0 }, [
oe("div", {
class: x([e(h).be("mask"), e(h).bem("mask", "top")]),
style: Qe(U.value)
}, null, 6),
oe("div", {
class: x([e(h).be("mask"), e(h).bem("mask", "bottom")]),
style: Qe(U.value)
}, null, 6)
], 64)) : ge("", !0),
oe("div", {
class: x({
[e(h).be("border")]: !0,
[e(h).bem("border", "active")]: e(f).loading,
[e(h).bem("border", "vertical")]: e(f).horizontal
}),
style: Qe(q.value)
}, null, 6)
], 2),
e(f).arrow ? (S(), D("div", {
key: 1,
ref: "nextArrow",
class: x([
e(h).be("arrow"),
e(h).bem("arrow", "next"),
K.value ? e(h).bem("arrow", "disabled") : ""
]),
"aria-hidden": "",
onClick: ae
}, [
y(e(Oe), It(Yt(de.value)), null, 16)
], 2)) : ge("", !0)
], 10, z0));
}
}), Io = /* @__PURE__ */ Xe({
name: "TimeWheel",
__name: "time-wheel",
props: {
noArrow: {
type: Boolean,
default: !1
},
hour: {
type: Number,
default: 0,
validator: (t) => t >= 0 && t <= 23
},
minute: {
type: Number,
default: 0,
validator: (t) => t >= 0 && t <= 59
},
second: {
type: Number,
default: 0,
validator: (t) => t >= 0 && t <= 59
},
candidate: {
default: 2,
validator: (t) => [0, 1, 2, 3].includes(t)
},
steps: {
type: Array,
default: () => [1, 1, 1],
validator: (t) => {
if (t[0] && 24 % t[0] !== 0)
return !1;
for (let r = 1; r < 3; ++r)
if (t[r] && 60 % t[r] !== 0)
return !1;
return !0;
}
},
pointer: {
type: Boolean,
default: wl
},
disabledTime: {
type: Object,
default: () => ({})
},
noTransition: {
type: Boolean,
default: !1
}
},
emits: ["change", "toggle-col", "update:hour", "update:minute", "update:second"],
setup(t, { expose: r, emit: l }) {
const a = t, n = l, o = Ye("time-picker"), s = $(a.hour), c = $(a.minute), d = $(a.second), p = $([]), m = $([]), b = $([]), f = $(), u = $(), h = $();
le(() => a.steps, w, { immediate: !0 }), le(
() => a.hour,
(A) => {
s.value = A;
}
), le(
() => a.minute,
(A) => {
c.value = A;
}
), le(
() => a.second,
(A) => {
d.value = A;
}
), le(s, (A) => {
n("update:hour", A), n("change", "hour", A);
}), le(c, (A) => {
n("update:minute", A), n("change", "minute", A);
}), le(d, (A) => {
n("update:second", A), n("change", "second", A);
}), r({ refreshWheel: F });
function i(A) {
return typeof a.disabledTime.hour == "function" && a.disabledTime.hour(A);
}
function v(A) {
return typeof a.disabledTime.minute == "function" && a.disabledTime.minute(s.value, A);
}
function k(A) {
return typeof a.disabledTime.second == "function" && a.disabledTime.second(s.value, c.value, A);
}
function w() {
const [A = 1, z = 1, C = 1] = a.steps;
p.value = $l(24 / A, 0, A), m.value = $l(60 / z, 0, z), b.value = $l(60 / C, 0, C);
}
function T(A) {
n("toggle-col", A);
}
function F() {
[f.value, u.value, h.value].forEach((A) => {
A == null || A.refreshScroll();
});
}
return (A, z) => (S(), D("div", {
class: x(e(o).be("wheel"))
}, [
y(e(bo), {
ref_key: "hourWheel",
ref: f,
value: s.value,
"onUpdate:value": z[0] || (z[0] = (C) => s.value = C),
inherit: "",
class: x(e(o).be("hour-wheel")),
pointer: t.pointer,
arrow: !t.noArrow,
candidate: t.candidate,
options: p.value,
tabindex: "-1",
"no-transition": t.noTransition,
onMouseenter: z[1] || (z[1] = (C) => T("hour")),
onTouchstart: z[2] || (z[2] = (C) => T("hour")),
onKeydown: z[3] || (z[3] = gt(() => {
}, ["stop"])),
onItemClick: z[4] || (z[4] = (C) => s.value = C)
}, {
default: X(({ option: C, index: E }) => [
oe("span", {
class: x([
e(o).be("option"),
e(o).be("hour"),
i(C.value) && e(o).bem("option", "disabled")
])
}, [
W(A.$slots, "hour", {
option: C,
index: E
}, () => [
dt(ze(e(ol)(C.value)), 1)
])
], 2)
]),
_: 3
}, 8, ["value", "class", "pointer", "arrow", "candidate", "options", "no-transition"]),
y(e(bo), {
ref_key: "minuteWheel",
ref: u,
value: c.value,
"onUpdate:value": z[5] || (z[5] = (C) => c.value = C),
inherit: "",
class: x(e(o).be("minute-wheel")),
pointer: t.pointer,
arrow: !t.noArrow,
candidate: t.candidate,
options: m.value,
tabindex: "-1",
"no-transition": t.noTransition,
onMouseenter: z[6] || (z[6] = (C) => T("minute")),
onTouchstart: z[7] || (z[7] = (C) => T("minute")),
onKeydown: z[8] || (z[8] = gt(() => {
}, ["stop"])),
onItemClick: z[9] || (z[9] = (C) => c.value = C)
}, {
default: X(({ option: C, index: E }) => [
oe("span", {
class: x([
e(o).be("option"),
e(o).be("minute"),
v(C.value) && e(o).bem("option", "disabled")
])
}, [
W(A.$slots, "minute", {
option: C,
index: E
}, () => [
dt(ze(e(ol)(C.value)), 1)
])
], 2)
]),
_: 3
}, 8, ["value", "class", "pointer", "arrow", "candidate", "options", "no-transition"]),
y(e(bo), {
ref_key: "secondWheel",
ref: h,
value: d.value,
"onUpdate:value": z[10] || (z[10] = (C) => d.value = C),
inherit: "",
class: x(e(o).be("second-wheel")),
pointer: t.pointer,
arrow: !t.noArrow,
candidate: t.candidate,
options: b.value,
tabindex: "-1",
"no-transition": t.noTransition,
onMouseenter: z[11] || (z[11] = (C) => T("second")),
onTouchstart: z[12] || (z[12] = (C) => T("second")),
onKeydown: z[13] || (z[13] = gt(() => {
}, ["stop"])),
onItemClick: z[14] || (z[14] = (C) => d.value = C)
}, {
default: X(({ option: C, index: E }) => [
oe("span", {
class: x([
e(o).be("option"),
e(o).be("second"),
k(C.value) && e(o).bem("option", "disabled")
])
}, [
W(A.$slots, "second", {
option: C,
index: E
}, () => [
dt(ze(e(ol)(C.value)), 1)
])
], 2)
]),
_: 3
}, 8, ["value", "class", "pointer", "arrow", "candidate", "options", "no-transition"])
], 2));
}
}), L0 = ["aria-labelledby"], F0 = ["title", "onClick"], I0 = ["onClick", "onMouseenter"], N0 = ["onClick", "onMouseenter"], D0 = /* @__PURE__ */ Xe({
name: "DatePanel",
__name: "date-panel",
props: {
type: {
default: "date",
validator: (t) => Od.includes(t)
},
enabled: {
type: Object,
default: () => ({})
},
startValue: {
type: Object,
default: null
},
endValue: {
type: Object,
default: null
},
shortcuts: {
type: Array,
default: () => []
},
confirmText: {
type: String,
default: null
},
cancelText: {
type: String,
default: null
},
today: {
type: [Number, String, Date],
default: () => /* @__PURE__ */ new Date()
},
disabledDate: {
type: Function,
default: () => !1
},
noAction: {
type: Boolean,
default: !1
},
steps: {
type: Array,
default: () => [1, 1, 1]
},
range: {
type: Boolean,
default: !1
},
startActivated: {
type: Object,
default: () => ({})
},
endActivated: {
type: Object,
default: () => ({})
},
min: {
type: [Number, String, Date],
default: null
},
max: {
type: [Number, String, Date],
default: null
},
disabledTime: {
type: Object,
default: () => ({})
},
hasError: {
type: Boolean,
default: !1
},
locale: {
type: Object,
default: () => ({})
},
selectingType: {
type: String,
default: "start"
},
weekStart: {
type: Number,
default: null
},
staticWheel: {
type: Boolean,
default: !1
},
shortcutsPlacement: {
type: String,
default: "left"
},
labeledBy: {
type: String,
default: void 0
}
},
emits: [
"click",
"shortcut",
"toggle-col",
"change",
"cancel",
"confirm",
"hover",
"type-change",
"time-change"
],
setup(t, { expose: r, emit: l }) {
const a = t, n = l, o = Ye("date-picker"), s = Gt(), { isRtl: c } = Un(), d = gl(a.today), p = $l(12, 1, 1), m = $(
a.type === "year" ? "year" : a.type === "month" ? "month" : "date"
), b = $(d.getFullYear()), f = $(d.getMonth() + 1), u = $(0), h = $(0), i = $([]), v = pt({ width: 0, height: 0 }), k = g(() => {
const { width: J, height: N } = v;
switch (a.shortcutsPlacement) {
case "top":
return { paddingTop: `${N}px` };
case "right":
return { paddingRight: `${J}px` };
case "bottom":
return { paddingBottom: `${N}px` };
default:
return { paddingLeft: `${J}px` };
}
}), w = g(() => {
const J = a.startActivated;
return J.year && J.month && J.date;
}), T = g(() => {
const J = a.endActivated;
return J.year && J.month && J.date;
}), F = g(() => a.type === "datetime"), A = g(() => a.range ? w.value || T.value ? [C("start"), C("end")] : ["", ""] : w.value ? C("start") : ""), z = g(() => [
a.locale.week7,
a.locale.week1,
a.locale.week2,
a.locale.week3,
a.locale.week4,
a.locale.week5,
a.locale.week6
].map((J) => J.slice(0, 2)));
le(
b,
(J) => {
i.value = $l(12, Math.floor(J / 10) * 10, 1);
},
{ immediate: !0 }
), sn(() => {
ne("start");
}), r({ refreshCalendar: ne });
function C(J) {
const N = J === "start" ? a.startValue : a.endValue;
return N ? `${N.year}-${N.month}-${N.date}` : "";
}
function E(J) {
return a.locale[`month${J}`];
}
function P(J) {
m.value = J;
}
function R(J, N) {
if (J === "year")
b.value += N;
else {
f.value += N;
const j = new Date(b.value, f.value - 1, 1);
b.value = j.getFullYear(), f.value = j.getMonth() + 1;
}
}
function L(J) {
n("click", J);
}
function I(J) {
const { value: N, name: j } = a.shortcuts[J];
n("shortcut", j, vl(N));
}
function G(J) {
H([J.getFullYear(), J.getMonth() + 1, J.getDate()]);
}
function ee(J) {
Ce(J) || (b.value = J, a.type !== "year" ? P("month") : H([J, 1, 1]));
}
function O(J) {
fe(J) || (f.value = J, a.type !== "month" ? P("date") : H([b.value, J, 1]));
}
function H(J) {
n("change", J);
}
function U(J, N) {
n("time-change", "start", J, N);
}
function q(J, N) {
n("time-change", "end", J, N);
}
function Z() {
m.value === "year" ? i.value = $l(12, i.value[0] - 10, 1) : R("year", -1);
}
function K() {
m.value === "year" ? i.value = $l(12, i.value[10], 1) : R("year", 1);
}
function we() {
n("cancel");
}
function de() {
n("confirm");
}
function te(J) {
n("hover", J);
}
function Ee(J) {
return J ? a.startActivated.year && a.startValue.year === J || a.endActivated.year && a.endValue.year === J : !1;
}
function Se(J) {
if (!J) return !1;
const N = 100 * b.value + J;
return a.startActivated.month && 100 * a.startValue.year + a.startValue.month === N || a.endActivated.month && 100 * a.endValue.year + a.endValue.month === N;
}
function Ce(J) {
if (a.type === "year")
return a.disabledDate(new Date(J, 0));
for (let N = 1; N <= 12; ++N)
if (!fe(N, J))
return !1;
return !0;
}
function fe(J, N = b.value) {
if (a.type === "year") return !1;
if (a.type === "month")
return a.disabledDate(new Date(N, J - 1));
const j = new Date(N, J - 1), be = new Date(N, J, 0).getDate();
for (let re = 1; re <= be; ++re)
if (j.setDate(re), !a.disabledDate(j))
return !1;
return !0;
}
function ot(J) {
u.value = Ce(J) ? 0 : J;
}
function Ze(J) {
h.value = fe(J) ? 0 : J;
}
function Je(J) {
if (!a.range || !u.value && !a.startActivated.year && !a.endActivated.year)
return !1;
const N = a.startValue.year, j = a.endValue.year;
let ae, be;
if (!u.value && a.startActivated.year && a.endActivated.year)
ae = Math.min(N, j), be = Math.max(N, j);
else if (u.value) {
if (!a.startActivated.year && !a.endActivated.year) return !1;
if (!a.startActivated.year || !a.endActivated.year) {
const re = a.startActivated.year ? N : j;
ae = Math.min(u.value, re), be = Math.max(u.value, re);
} else {
const re = Math.min(N, j), ce = Math.max(N, j);
ae = Math.min(u.value, re), be = Math.max(u.value, ce);
}
} else
return !1;
return J >= ae && J <= be;
}
function se(J) {
if (!a.range || !h.value && !a.startActivated.month && !a.endActivated.month)
return !1;
const N = 100 * a.startValue.year + a.startValue.month, j = 100 * a.endValue.year + a.endValue.month;
let ae, be;
if (!h.value && a.startActivated.month && a.endActivated.month)
ae = Math.min(N, j), be = Math.max(N, j);
else if (h.value) {
if (!a.startActivated.month && !a.endActivated.month) return !1;
const ce = 100 * b.value + h.value;
if (!a.startActivated.month || !a.endActivated.month) {
const Pe = a.startActivated.month ? N : j;
ae = Math.min(ce, Pe), be = Math.max(ce, Pe);
} else {
const Pe = Math.min(N, j), at = Math.max(N, j);
ae = Math.min(ce, Pe), be = Math.max(ce, at);
}
} else
return !1;
const re = 100 * b.value + J;
return re >= ae && re <= be;
}
function ne(J) {
const N = gl(a.today);
J === "start" ? (b.value = a.startActivated.year ? a.startValue.year : N.getFullYear(), f.value = a.startActivated.month ? a.startValue.month : N.getMonth() + 1) : (b.value = a.endActivated.year ? a.endValue.year : N.getFullYear(), f.value = a.endActivated.month ? a.endValue.month : N.getMonth() + 1);
}
function ue(J) {
var j;
const N = (j = J.borderBoxSize) == null ? void 0 : j[0];
N ? (v.width = N.inlineSize, v.height = N.blockSize) : (v.width = J.contentRect.width, v.height = J.contentRect.height);
}
return (J, N) => (S(), D("div", {
class: x({
[e(o).be("panel")]: !0,
[e(o).bem("panel", "vertical")]: t.shortcuts.length && (t.shortcutsPlacement === "top" || t.shortcutsPlacement === "bottom")
}),
"aria-labelledby": t.labeledBy,
style: Qe(k.value),
onClick: L
}, [
t.shortcuts.length ? (S(), Be(e(zn), {
key: 0,
"on-resize": ue
}, {
default: X(() => [
oe("div", {
class: x([
e(o).be("list"),
e(o).bem("list", "sub"),
e(o).be("shortcuts"),
e(o).bem("shortcuts", t.shortcutsPlacement)
])
}, [
(S(!0), D(st, null, ln(t.shortcuts, (j, ae) => (S(), D("div", {
key: ae,
class: x(e(o).be("shortcut")),
title: j.name,
onClick: (be) => I(ae)
}, ze(j.name), 11, F0))), 128))
], 2)
]),
_: 1
})) : ge("", !0),
oe("div", {
class: x(e(o).be("list")),
role: "application"
}, [
oe("div", {
class: x(e(o).be("panel-body"))
}, [
oe("div", {
class: x(e(o).be("date-panel"))
}, [
oe("div", {
class: x(e(o).be("header"))
}, [
oe("div", {
class: x([e(o).be("arrow"), e(o).be("prev-year")]),
onClick: Z
}, [
y(e(Oe), It(Yt(e(c) ? e(s).anglesRight : e(s).anglesLeft)), null, 16)
], 2),
el(oe("div", {
class: x([e(o).be("arrow"), e(o).be("prev-month")]),
onClick: N[0] || (N[0] = (j) => R("month", -1))
}, [
y(e(Oe), It(Yt(e(c) ? e(s).angleRight : e(s).angleLeft)), null, 16)
], 2), [
[tl, m.value === "date"]
]),
oe("div", {
class: x(e(o).be("year-month"))
}, [
W(J.$slots, "title", {
panel: m.value,
yearStart: i.value[0],
year: b.value,
month: f.value,
togglePanel: P
}, () => [
oe("div", {
key: "year",
class: x(e(o).be("year")),
onClick: N[1] || (N[1] = gt((j) => P("year"), ["stop"]))
}, [
m.value === "year" ? (S(), D(st, { key: 0 }, [
dt(ze(`${i.value[0]}${t.locale.year} - ${i.value[9]}${t.locale.year}`), 1)
], 64)) : (S(), D(st, { key: 1 }, [
dt(ze(`${b.value}${t.locale.year}`), 1)
], 64))
], 2),
el(oe("div", {
class: x(e(o).be("month")),
onClick: N[2] || (N[2] = gt((j) => P("month"), ["stop"]))
}, ze(E(f.value)), 3), [
[tl, m.value === "date"]
])
])
], 2),
el(oe("div", {
class: x([e(o).be("arrow"), e(o).be("next-month")]),
onClick: N[3] || (N[3] = (j) => R("month", 1))
}, [
y(e(Oe), It(Yt(e(c) ? e(s).angleLeft : e(s).angleRight)), null, 16)
], 2), [
[tl, m.value === "date"]
]),
oe("div", {
class: x([e(o).be("arrow"), e(o).be("next-year")]),
onClick: K
}, [
y(e(Oe), It(Yt(e(c) ? e(s).anglesLeft : e(s).anglesRight)), null, 16)
], 2)
], 2),
oe("div", {
class: x(e(o).be("calendar"))
}, [
m.value === "year" ? (S(), D("div", {
key: 0,
class: x(e(o).be("year-panel")),
onMouseleave: N[4] || (N[4] = (j) => u.value = 0)
}, [
(S(!0), D(st, null, ln(i.value, (j, ae) => (S(), D("div", {
key: ae,
class: x({
[e(o).be("year-item")]: !0,
[e(o).bem("year-item", "selected")]: Ee(j),
[e(o).bem("year-item", "next")]: ae > 9,
[e(o).bem("year-item", "disabled")]: Ce(j),
[e(o).bem("year-item", "in-range")]: Je(j)
}),
onClick: gt((be) => ee(j), ["stop"]),
onMouseenter: (be) => ot(j)
}, [
oe("div", {
class: x(e(o).be("year-label"))
}, [
W(J.$slots, "year", {
year: j,
selected: Ee(j),
isNext: ae > 9,
disabled: Ce(j),
inRange: Je(j)
}, () => [
oe("div", {
class: x(e(o).be("year-label-inner"))
}, ze(j), 3)
])
], 2)
], 42, I0))), 128))
], 34)) : m.value === "month" ? (S(), D("div", {
key: 1,
class: x(e(o).be("month-panel")),
onMouseleave: N[5] || (N[5] = (j) => h.value = 0)
}, [
(S(!0), D(st, null, ln(e(p), (j) => (S(), D("div", {
key: j,
class: x({
[e(o).be("month-item")]: !0,
[e(o).bem("month-item", "selected")]: Se(j),
[e(o).bem("month-item", "disabled")]: fe(j),
[e(o).bem("month-item", "in-range")]: se(j)
}),
onClick: gt((ae) => O(j), ["stop"]),
onMouseenter: (ae) => Ze(j)
}, [
oe("div", {
class: x(e(o).be("month-label"))
}, [
W(J.$slots, "month", {
year: b.value,
month: j,
selected: Se(j),
disabled: fe(j),
inRange: se(j)
}, () => [
oe("div", {
class: x(e(o).be("month-label-inner"))
}, ze(E(j)), 3)
])
], 2)
], 42, N0))), 128))
], 34)) : (S(), Be(e(Si), {
key: 2,
inherit: "",
value: A.value,
year: b.value,
month: f.value,
"value-type": t.selectingType,
"disabled-date": t.disabledDate,
range: t.range,
min: t.min,
max: t.max,
"week-start": t.weekStart,
"week-days": z.value,
onSelect: G,
onHover: te
}, nl({ _: 2 }, [
J.$slots.week ? {
name: "week",
fn: X((j) => [
W(J.$slots, "week", It(Yt(j)))
]),
key: "0"
} : void 0,
J.$slots.date ? {
name: "itemContent",
fn: X((j) => [
W(J.$slots, "date", It(Yt(j)))
]),
key: "1"
} : void 0
]), 1032, ["value", "year", "month", "value-type", "disabled-date", "range", "min", "max", "week-start", "week-days"]))
], 2)
], 2),
F.value ? (S(), D("div", {
key: 0,
class: x(e(o).be("time-panel"))
}, [
oe("div", {
class: x([e(o).be("header"), e(o).bem("header", "time")])
}, [
t.range ? (S(), D(st, { key: 0 }, [
oe("div", {
class: x(e(o).be("title"))
}, ze(t.locale.startTime), 3),
oe("div", {
class: x(e(o).be("title"))
}, ze(t.locale.endTime), 3)
], 64)) : ge("", !0)
], 2),
oe("div", {
class: x(e(o).be("wheel"))
}, [
y(Io, {
hour: t.startValue.hour,
minute: t.startValue.minute,
second: t.startValue.second,
candidate: 3,
steps: t.steps,
"disabled-time": t.disabledTime,
"no-transition": t.staticWheel,
onChange: U
}, null, 8, ["hour", "minute", "second", "steps", "disabled-time", "no-transition"]),
t.range ? (S(), Be(Io, {
key: 0,
hour: t.endValue.hour,
minute: t.endValue.minute,
second: t.endValue.second,
candidate: 3,
steps: t.steps,
"disabled-time": t.disabledTime,
"no-transition": t.staticWheel,
onChange: q
}, null, 8, ["hour", "minute", "second", "steps", "disabled-time", "no-transition"])) : ge("", !0)
], 2)
], 2)) : ge("", !0)
], 2),
t.noAction ? ge("", !0) : (S(), D("div", {
key: 0,
class: x(e(o).be("action"))
}, [
y(e(Hn), {
inherit: "",
text: "",
size: "small",
onClick: we
}, {
default: X(() => [
dt(ze(t.cancelText || t.locale.cancel), 1)
]),
_: 1
}),
y(e(Hn), {
inherit: "",
type: "primary",
size: "small",
disabled: t.hasError,
onClick: de
}, {
default: X(() => [
dt(ze(t.confirmText || t.locale.confirm), 1)
]),
_: 1
}, 8, ["disabled"])
], 2))
], 2)
], 14, L0));
}
}), O0 = ft({
size: An,
state: Zn,
locale: Object,
type: String,
visible: M,
placement: String,
transfer: hn,
value: [Number, String, Date, Array],
format: String,
valueFormat: [String, Array, Function],
filler: String,
clearable: M,
noAction: M,
labels: Object,
dateSeparator: String,
timeSeparator: String,
shortcuts: Array,
disabledDate: Function,
steps: Array,
ctrlSteps: Array,
prefix: Xt,
prefixColor: String,
suffix: Xt,
suffixColor: String,
noSuffix: M,
disabled: M,
transitionName: String,
confirmText: String,
cancelText: String,
today: [Number, String, Date],
range: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
min: [Number, String, Date],
max: [Number, String, Date],
outsideClose: M,
outsideCancel: M,
placeholder: [String, Array],
unitReadonly: M,
weekStart: Number,
popperAlive: M,
shortcutsPlacement: String,
slots: Object,
onInput: B(),
onPlus: B(),
onMinus: B(),
onEnter: B(),
onCancel: B(),
onChange: B(),
onClear: B(),
onShortcut: B(),
onToggle: B(),
onFocus: B(),
onBlur: B(),
onChangeCol: B(),
onClickOutside: B(),
onOutsideClose: B()
}), _0 = ft({
size: An,
state: Zn,
locale: Mn(),
visible: M,
placement: String,
transfer: hn,
format: String,
separator: String,
value: [String, Array],
filler: String,
clearable: M,
noAction: M,
noArrow: M,
pointer: M,
candidate: Number,
steps: Array,
labels: Object,
shortcuts: Array,
range: M,
disabled: M,
transitionName: String,
confirmText: String,
cancelText: String,
ctrlSteps: Array,
prefix: Xt,
prefixColor: String,
suffix: Xt,
suffixColor: String,
noSuffix: M,
exchange: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
min: String,
max: String,
outsideClose: M,
outsideCancel: M,
unitReadonly: M,
popperAlive: M,
shortcutsPlacement: String,
placeholder: [String, Array],
slots: Object,
onInput: B(),
onPlus: B(),
onMinus: B(),
onEnter: B(),
onCancel: B(),
onChange: B(),
onClear: B(),
onShortcut: B(),
onToggle: B(),
onFocus: B(),
onBlur: B(),
onChangeCol: B(),
onClickOutside: B(),
onOutsideClose: B()
}), B0 = ["id", "aria-disabled", "aria-expanded", "aria-labelledby"], H0 = ["onKeydown"], V0 = ["aria-label"], j0 = /* @__PURE__ */ Xe({
name: "DatePicker",
__name: "date-picker",
props: O0,
emits: ["update:value", "update:formatted-value", "update:visible"],
setup(t, { expose: r, emit: l }) {
const {
idFor: a,
labelId: n,
state: o,
disabled: s,
loading: c,
size: d,
validateField: p,
clearField: m,
getFieldValue: b,
setFieldValue: f
} = al(() => {
var ie;
return (ie = we.value) == null ? void 0 : ie.focus();
}), u = Ye("date-picker"), i = ct("datePicker", t, {
size: On(d),
state: ll(o),
locale: null,
type: {
default: "date",
validator: (ie) => Od.includes(ie)
},
visible: !1,
placement: {
default: "bottom-start",
validator: (ie) => Wl.includes(ie)
},
transfer: !1,
value: {
default: () => b(),
static: !0
},
format: "yMd Hms",
valueFormat: null,
filler: {
default: "-",
validator: (ie) => ie.length === 1
},
clearable: !1,
noAction: !1,
labels: () => ({}),
dateSeparator: "/",
timeSeparator: ":",
shortcuts: () => [],
disabledDate: {
default: sa,
isFunc: !0
},
steps: () => [1, 1, 1],
ctrlSteps: () => [5, 5, 5],
prefix: en(),
prefixColor: "",
suffix: en(),
suffixColor: "",
noSuffix: !1,
disabled: () => s.value,
transitionName: () => u.ns("drop"),
confirmText: null,
cancelText: null,
today: {
default: () => /* @__PURE__ */ new Date(),
validator: (ie) => !Number.isNaN(new Date(ie))
},
range: null,
loading: () => c.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
min: null,
max: null,
outsideClose: !0,
outsideCancel: !1,
placeholder: null,
unitReadonly: !1,
weekStart: null,
popperAlive: null,
shortcutsPlacement: "left",
slots: () => ({})
}), v = l, k = kn(), w = vn("calendar"), T = vn("datePicker"), F = Gt(), A = Vo(), z = qe(i, "placement"), C = qe(i, "transfer"), E = $(i.visible), P = $(!1), R = pe(), L = pe(), I = $("start"), G = $(""), ee = $(), O = $(/* @__PURE__ */ new Date()), H = $(!1), U = $([]), { timer: q } = Vn(), Z = Hl(Tn), K = $(), { reference: we, transferTo: de, updatePopper: te } = Kl({
placement: z,
transfer: C,
wrapper: Z,
popper: g(() => {
var ie;
return (ie = K.value) == null ? void 0 : ie.wrapper;
}),
isDrop: !0
}), { isHover: Ee } = Ql(we), Se = $(), Ce = $(), fe = $(), ot = g(() => {
const ie = Ga(w.value, T.value, !0);
return pl(i.locale) ? Ga(ie, i.locale) : ie;
}), Ze = g(() => {
if (i.placeholder)
return Array.isArray(i.placeholder) ? i.placeholder[0] : i.placeholder;
const { select: ie, start: Ae, [i.type]: tt } = ot.value.placeholder;
return nr(i.range ? `${Ae} ${tt}` : `${ie} ${tt}`, A.value);
}), Je = g(() => {
if (i.placeholder)
return Array.isArray(i.placeholder) ? i.placeholder[1] || i.placeholder[0] : i.placeholder;
const { end: ie, [i.type]: Ae } = ot.value.placeholder;
return nr(`${ie} ${Ae}`, A.value);
}), se = g(() => [
u.b(),
u.ns("input-vars"),
u.bs("vars"),
u.bm(i.type),
{
[u.bm("inherit")]: i.inherit,
[u.bm("disabled")]: i.disabled,
[u.bm(i.size)]: i.size !== "default",
[u.bm("no-hour")]: !R.enabled.hour,
[u.bm("no-minute")]: !R.enabled.minute,
[u.bm("no-second")]: !R.enabled.second,
[u.bm("visible")]: E.value,
[u.bm(i.state)]: i.state !== "default",
[u.bm("is-range")]: i.range
}
]), ne = g(() => i.loading && i.loadingLock), ue = g(() => {
const ie = u.be("selector");
return {
[ie]: !0,
[`${ie}--disabled`]: i.disabled,
[`${ie}--readonly`]: ne.value,
[`${ie}--loading`]: i.loading,
[`${ie}--${i.size}`]: i.size !== "default",
[`${ie}--focused`]: P.value,
[`${ie}--${i.state}`]: i.state !== "default"
};
}), J = g(() => !!(k.prefix || i.prefix)), N = g(() => {
const ie = [R, L].map((Ae) => {
const tt = Object.values(Ae.dateValue).map(ol);
return `${tt.slice(0, 3).join("-")} ${tt.slice(3).join(":")}`;
});
return i.range ? ie : ie[0];
}), j = g(() => {
if (!ee.value) return !1;
const [ie, Ae, tt] = ee.value, St = (/* @__PURE__ */ new Date(`${ie}-${Ae}-${tt}`)).getTime(), jt = O.value.getTime();
return St < jt;
}), ae = g(() => !i.disabled && !ne.value && i.clearable && Ee.value && !!G.value), be = g(() => {
if (i.min) {
const ie = he(i.min, _u);
return Number.isNaN(+ie) ? -1 / 0 : (ie.setHours(0, 0, 0, 0), ie.getTime());
}
return -1 / 0;
}), re = g(() => {
if (i.max) {
let ie = he(i.max, _u);
return Number.isNaN(+ie) ? 1 / 0 : (i.type !== "datetime" && (ie.setHours(23, 59, 59, 999), i.type === "year" ? (ie.setMonth(11), ie.setDate(31)) : i.type === "month" && (ie.setMonth(ie.getMonth() + 1), ie = gp(ie), ie.setDate(ie.getDate() - 1))), ie.getTime());
}
return 1 / 0;
}), ce = g(() => Number.isNaN(be.value) || Number.isNaN(re.value) ? !1 : be.value > re.value), Pe = g(() => i.type === "datetime" && i.min && !ra(i.min, R.getDate()) ? Yr(i.min) : ""), at = g(() => i.type === "datetime" && i.max && !ra(i.max, R.getDate()) ? Yr(i.max) : ""), yt = g(() => i.type === "datetime" && i.range && i.min && !ra(i.min, R.getDate()) ? Yr(i.min) : ""), Nt = g(() => i.type === "datetime" && i.range && i.max && !ra(i.max, R.getDate()) ? Yr(i.max) : ""), Mt = g(() => {
if (!i.range) return !1;
const ie = R.dateValue, Ae = L.dateValue;
let tt;
i.type === "year" ? tt = ["year"] : i.type === "month" ? tt = ["year", "month"] : i.type === "date" ? tt = ["year", "month", "date"] : tt = ["year", "month", "date", "hour", "minute", "second"];
for (const St of tt) {
if (ie[St] < Ae[St]) return !1;
if (ie[St] > Ae[St]) return !0;
}
return !1;
}), Ht = Ks(Pe, at), _t = Ks(yt, Nt), tn = g(() => I.value === "start" ? Ht.isTimeDisabled : _t.isTimeDisabled), Wt = g(() => {
const { hour: ie, minute: Ae, second: tt } = R.dateValue, { isTimeDisabled: St } = Ht;
return Mt.value || Ie(R.getDate()) || St.hour(ie) || St.minute(ie, Ae) || St.second(ie, Ae, tt);
}), un = g(() => {
if (!i.range) return !1;
const { hour: ie, minute: Ae, second: tt } = L.dateValue, { isTimeDisabled: St } = _t;
return Mt.value || Ie(L.getDate()) || St.hour(ie) || St.minute(ie, Ae) || St.second(ie, Ae, tt);
}), qt = g(() => i.type !== "datetime" && i.noAction);
le(() => i.type, Ct), le(
() => i.value,
(ie) => {
Fe(ie), G.value = (Array.isArray(ie) ? ie[0] || ie[1] : ie) ? Ve() : "";
},
{ immediate: !0 }
), le(
() => i.type,
(ie) => {
const Ae = ie !== "year", tt = Ae && ie !== "month";
R.enabled.year = !0, L.enabled.year = !0, R.enabled.month = Ae, L.enabled.month = Ae, R.enabled.date = tt, L.enabled.date = tt;
},
{ immediate: !0 }
), le(() => i.format, Ct, { immediate: !0 }), le(
() => i.visible,
(ie) => {
E.value = ie;
}
), le(E, (ie) => {
ie && te();
}), le(P, (ie) => {
_(ie ? i.onFocus : i.onBlur);
}), le(I, (ie) => {
!i.unitReadonly && E.value && _(i.onChangeCol, Re().column, ie);
}), le(
() => R.column,
(ie) => {
!i.unitReadonly && E.value && I.value === "start" && _(i.onChangeCol, ie, "start");
}
), le(
() => L.column,
(ie) => {
!i.unitReadonly && E.value && I.value === "end" && _(i.onChangeCol, ie, "end");
}
), le(
() => i.disabled,
(ie) => {
ie && (Ge(!1), $e());
}
), le(ne, (ie) => {
ie && Ge(!1);
}), r({
idFor: a,
currentVisible: E,
focused: P,
isHover: Ee,
startState: R,
endState: L,
currentState: I,
startError: Wt,
endError: un,
wrapper: Z,
reference: we,
popper: K,
start: Se,
end: Ce,
panel: fe,
updatePopper: te,
focus: (ie) => {
var Ae;
return (Ae = we.value) == null ? void 0 : Ae.focus(ie);
},
blur: () => {
var ie;
return (ie = we.value) == null ? void 0 : ie.blur();
}
});
function pe() {
const { currentColumn: ie, enabled: Ae, resetColumn: tt, enterColumn: St } = Bd([
"year",
"month",
"date",
"hour",
"minute",
"second"
]), jt = pt({
year: 1970,
month: 1,
// 1 ~ 12
date: 1,
hour: 0,
minute: 0,
second: 0
}), Zt = pt({
year: !1,
month: !1,
date: !1,
hour: !1,
minute: !1,
second: !1
});
let Nn = { ...jt }, Cn = { ...Zt };
return pt({
column: ie,
enabled: Ae,
activated: Zt,
dateValue: jt,
resetColumn: tt,
enterColumn: St,
setDate: (Q, Ne = !0) => {
jt.year = Q.getFullYear(), jt.month = Q.getMonth() + 1, jt.date = Q.getDate(), Ne && (jt.hour = Q.getHours(), jt.minute = Q.getMinutes(), jt.second = Q.getSeconds());
},
getDate: () => new Date(
jt.year,
jt.month - 1,
jt.date,
jt.hour,
jt.minute,
jt.second
),
record() {
Nn = { ...jt }, Cn = { ...Zt };
},
restore() {
Object.assign(jt, Nn), Object.assign(Zt, Cn);
}
});
}
function Re() {
return I.value === "start" ? R : L;
}
function he(ie, Ae = new Date(i.today)) {
let tt = gl(ie);
return Number.isNaN(tt.getTime()) && (tt = Ae), tt;
}
function Fe(ie) {
Array.isArray(ie) || (ie = [ie, ie]);
for (let Ae = 0; Ae < 2; ++Ae) {
const tt = he(ie[Ae] ?? "");
if ((Ae === 0 ? R : L).setDate(tt), ve(!!ie[Ae], Ae === 0 ? "start" : "end"), !i.range) break;
}
}
function lt() {
const ie = /* @__PURE__ */ new Set();
let Ae = !1;
for (let tt = 0, St = i.format.length; tt < St; ++tt) {
const jt = i.format.charAt(tt);
if (jt === "'")
Ae = !Ae;
else if (!Ae)
switch (jt) {
case "y":
ie.add("year");
break;
case "M":
ie.add("month");
break;
case "d":
ie.add("date");
break;
}
}
U.value = [...ie];
}
function Ke() {
const ie = i.type === "datetime";
[R, L].forEach((Ae) => {
if (Ae.enabled.hour = !1, Ae.enabled.minute = !1, Ae.enabled.second = !1, ie && i.format) {
let tt = !1;
for (let St = 0, jt = i.format.length; St < jt; ++St) {
const Zt = i.format.charAt(St);
if (Zt === "'")
tt = !tt;
else if (!tt)
switch (Zt) {
case "H":
Ae.enabled.hour = !0;
break;
case "m":
Ae.enabled.minute = !0;
break;
case "s":
Ae.enabled.second = !0;
break;
}
}
}
});
}
function Ct() {
lt(), Ke();
}
function ve(ie, Ae) {
(Ae ? Ae === "start" ? [R] : [L] : [R, L]).forEach((St) => {
Object.keys(St.activated).forEach((jt) => {
St.activated[jt] = ie;
});
});
}
function Ve() {
return Array.isArray(N.value) ? N.value.join("|") : N.value;
}
function Ie(ie) {
if (typeof i.disabledDate == "function" && i.disabledDate(ie))
return !0;
const Ae = ie.getTime();
if (ce.value) {
if (Ae > re.value && Ae < be.value)
return !0;
} else if (Ae < be.value || Ae > re.value)
return !0;
return !1;
}
function Me() {
(Wt.value || i.range && un.value) && Fe(i.value);
}
function Ge(ie) {
E.value !== ie && (E.value = ie, v("update:visible", ie), _(i.onToggle, ie));
}
function mt() {
if (Me(), G.value !== Ve()) {
G.value = Ve();
const ie = Array.isArray(N.value) ? N.value : [N.value], Ae = [], tt = [], St = i.valueFormat, jt = typeof St == "function" ? St : St ? (Cn, Q) => zc(
Cn,
Array.isArray(St) ? Q === "start" ? St[0] : St[1] : St
) : (Cn) => Cn;
for (let Cn = 0; Cn < 2 && (i.type === "year" ? Ae[Cn] = new Date(
Cn === 0 ? R.dateValue.year : L.dateValue.year,
0
).getTime() : i.type !== "datetime" ? Ae[Cn] = (/* @__PURE__ */ new Date(ie[Cn].split(" ")[0] + " 00:00:00")).getTime() : Ae[Cn] = new Date(ie[Cn]).getTime(), tt[Cn] = jt(Ae[Cn], Cn === 0 ? "start" : "end"), !!i.range); ++Cn)
;
const Zt = i.range ? Ae : Ae[0], Nn = i.range ? tt : tt[0];
ve(!0), v("update:value", Zt), v("update:formatted-value", Nn), f(Zt), _(i.onChange, Zt), p();
}
}
function bt(ie = !0) {
Ge(!1), ie && mt(), R.resetColumn(), L.resetColumn();
}
function Ot(ie) {
const Ae = Re().dateValue;
switch (ie) {
case "year": {
Ae.year = cn(Ae.year, 1970, 9999);
break;
}
case "month": {
Ae.month = cn(Ae.month, 1, 12);
break;
}
case "date": {
const tt = Ae.month;
let St;
tt < 7 ? tt !== 2 ? St = 30 + tt % 2 : Lc(Ae.year) ? St = 29 : St = 28 : St = 31 - tt % 2, Ae.date = cn(Ae.date, 1, St);
break;
}
case "hour":
case "minute":
case "second":
Ae[ie] = cn(Ae[ie], 0, ie === "hour" ? 23 : 59), Ae[ie] = Math.round(Ae[ie] / Bt(ie)) * Bt(ie);
}
}
function Vt() {
i.disabled || (P.value = !0, q.focus = setTimeout(() => {
var ie, Ae;
P.value && (I.value === "start" ? (ie = Se.value) == null || ie.focus() : (Ae = Ce.value) == null || Ae.focus());
}, 120));
}
function $e() {
var ie, Ae;
clearTimeout(q.focus), P.value = !1, (ie = Se.value) == null || ie.blur(), (Ae = Ce.value) == null || Ae.blur();
}
function et(ie) {
if (i.disabled || ne.value) return;
const Ae = ie.target;
if (Ge(!0), Z.value && Ae) {
const tt = Array.from(Z.value.querySelectorAll(`.${u.be("unit")}`)), St = tt.findIndex((jt) => jt === Ae || jt.contains(Ae));
~St || (R.column = null, L.column = null), i.range && St >= tt.length / 2 ? Wn("end") : Wn("start");
}
Vt();
}
function vt(ie) {
const Ae = Re(), tt = Ae.column;
tt && (an(tt, ie), (tt === "year" ? Ae.dateValue.year >= 1e3 : Ae.dateValue[tt] >= 10) && Ae.enterColumn("next", !1));
}
function an(ie, Ae) {
const tt = Re(), St = tt.dateValue[ie];
tt.activated[ie] && St > 0 && St < (ie === "year" ? 1e3 : 10) ? tt.dateValue[ie] = St * 10 + Ae : (tt.dateValue[ie] = Ae, Rn(ie)), ie !== "year" && Ot(ie), _(i.onInput, ie, tt.dateValue[ie]);
}
function Rn(ie) {
const Ae = Re().activated;
ie === "date" ? (Ae.year = !0, Ae.month = !0) : ie === "month" ? Ae.year = !0 : ie === "minute" ? Ae.hour = !0 : ie === "second" && (Ae.hour = !0, Ae.minute = !0), Ae[ie] = !0;
}
function wn(ie) {
Re().column = ie;
}
function Te(ie) {
return ["hour", "minute", "second"].includes(ie);
}
function Y(ie, Ae) {
var Nn;
const tt = ie === "plus", St = tt ? 1 : -1, jt = Re(), Zt = jt.column;
Zt && jt.enabled[Zt] && (Te(Zt) ? jt.dateValue[Zt] += St * (Ae ? Ut(Zt) : Bt(Zt)) : (Ae ? Zt === "year" ? jt.dateValue.year += St * 10 : jt.dateValue[Zt === "date" ? "month" : "year"] += St : jt.dateValue[Zt] += St, We(), Sn(Zt)), Ot(Zt), _(i[tt ? "onPlus" : "onMinus"], Zt, jt.dateValue[Zt]), (Nn = fe.value) == null || Nn.refreshCalendar(I.value));
}
function ke(ie) {
Y("plus", ie);
}
function xe(ie) {
Y("minus", ie);
}
function We() {
const ie = Re().dateValue, Ae = new Date(ie.year, ie.month - 1, ie.date);
ie.year = Ae.getFullYear(), ie.month = Ae.getMonth() + 1, ie.date = Ae.getDate();
}
function V() {
requestAnimationFrame(() => {
var ie;
$e(), (ie = we.value) == null || ie.focus();
});
}
function De() {
V(), bt(), _(i.onEnter);
}
function _e() {
V(), Fe(G.value.split("|")), bt(!1), _(i.onCancel);
}
function rt(ie = !0) {
i.disabled || ne.value || i.clearable && kt(() => {
const Ae = i.range ? [] : null;
Fe(null), ie && bt(!1), v("update:value", Ae), v("update:formatted-value", i.range ? [] : null), _(i.onChange, Ae), _(i.onClear), m(Ae), ie && $e(), G.value = "", kt(() => {
ve(!1);
});
});
}
function xt(ie, Ae) {
V(), Fe(Ae), _(i.onShortcut, ie, Ae), bt();
}
function Bt(ie) {
return i.steps[ie === "hour" ? 0 : ie === "minute" ? 1 : 2] || 1;
}
function Ut(ie) {
return i.ctrlSteps[ie === "hour" ? 0 : ie === "minute" ? 1 : 2] || 1;
}
function xn(ie) {
if (i.range && ie && (O.value = ie, ee.value)) {
const Ae = [ie.getFullYear(), ie.getMonth() + 1, ie.getDate()], tt = j.value ? ee.value : Ae, St = j.value ? Ae : ee.value;
let jt;
i.type === "year" ? jt = ["year"] : i.type === "month" ? jt = ["year", "month"] : jt = ["year", "month", "date"];
for (let Zt = 0, Nn = jt.length; Zt < Nn; ++Zt)
R.dateValue[jt[Zt]] = tt[Zt], L.dateValue[jt[Zt]] = St[Zt];
}
}
function qn(ie) {
let Ae;
if (i.type === "year" ? Ae = ["year"] : i.type === "month" ? Ae = ["year", "month"] : Ae = ["year", "month", "date"], !i.range) {
for (let tt = 0, St = Ae.length; tt < St; ++tt)
R.dateValue[Ae[tt]] = ie[tt], Sn(Ae[tt], "start");
qt.value && De();
return;
}
if (ee.value) {
const [tt, St, jt] = ee.value, Zt = (/* @__PURE__ */ new Date(`${tt}-${St}-${jt}`)).getTime(), Nn = (/* @__PURE__ */ new Date(`${ie[0]}-${ie[1]}-${ie[2]}`)).getTime(), Cn = Zt < Nn ? ee.value : ie, Q = Zt < Nn ? ie : ee.value;
for (let Ne = 0, nt = Ae.length; Ne < nt; ++Ne)
R.dateValue[Ae[Ne]] = Cn[Ne], L.dateValue[Ae[Ne]] = Q[Ne], Sn(Ae[Ne], "start"), Sn(Ae[Ne], "end");
jn(), ee.value = void 0, qt.value && De();
} else {
ee.value = ie;
for (let tt = 0, St = Ae.length; tt < St; ++tt)
R.dateValue[Ae[tt]] = ie[tt], L.dateValue[Ae[tt]] = ie[tt], Sn(Ae[tt], "start"), Sn(Ae[tt], "end");
}
}
function ul(ie, Ae, tt) {
const St = ie === "start" ? R : L;
St.dateValue[Ae] = tt, Sn("hour", ie), Sn("minute", ie), Sn("second", ie);
}
function Sn(ie, Ae) {
const tt = Ae ? Ae === "start" ? R : L : Re();
ie === "month" ? tt.activated.year = !0 : ie === "date" && (tt.activated.year = !0, tt.activated.month = !0), tt.activated[ie] = !0;
}
function jn() {
if (!i.range) return;
const ie = R.getDate(), Ae = L.getDate();
ie.getTime() > Ae.getTime() && (R.setDate(Ae), L.setDate(ie));
}
function Wn(ie) {
I.value = ie;
}
function Kt(ie) {
if (i.range) {
ie === "prev" && I.value === "start" && !R.column && Wn("end");
const Ae = Re(), tt = Ae.column;
if (Ae.enterColumn(ie, !tt), tt === Ae.column) {
const St = I.value === "start";
(St ? L : R).resetColumn(ie === "prev" ? "second" : "year", ie === "prev"), Wn(St ? "end" : "start");
}
} else
R.enterColumn(ie);
}
function Pn(ie) {
Wn("start"), wn(ie), kt(() => {
var Ae;
(Ae = fe.value) == null || Ae.refreshCalendar("start");
});
}
function mn(ie) {
Wn("end"), wn(ie), kt(() => {
var Ae;
(Ae = fe.value) == null || Ae.refreshCalendar("end");
});
}
function Tn() {
_(i.onClickOutside), i.outsideClose && E.value && (bt(!qt.value && !i.outsideCancel), $e(), _(i.onOutsideClose));
}
return (ie, Ae) => (S(), D("div", {
id: e(a),
ref_key: "wrapper",
ref: Z,
class: x(se.value),
role: "group",
"aria-disabled": e(fl)(e(i).disabled),
"aria-expanded": e(fl)(E.value),
"aria-haspopup": "dialog",
"aria-labelledby": e(n),
onClick: et
}, [
oe("div", {
ref_key: "reference",
ref: we,
class: x(ue.value),
tabindex: "0",
onKeydown: [
Kn(gt(et, ["prevent"]), ["space"]),
Ae[7] || (Ae[7] = Kn(gt((tt) => rt(!1), ["prevent"]), ["backspace"]))
]
}, [
J.value ? (S(), D("div", {
key: 0,
class: x([e(u).be("icon"), e(u).be("prefix")]),
style: Qe({ color: e(i).prefixColor })
}, [
W(ie.$slots, "prefix", {}, () => [
y(e(me), {
renderer: e(i).slots.prefix
}, {
default: X(() => [
y(e(Oe), {
icon: e(i).prefix
}, null, 8, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
], 6)) : ge("", !0),
oe("div", {
class: x(e(u).be("control"))
}, [
y(Bu, {
ref: "start",
"unit-type": I.value === "start" ? e(R).column : "",
enabled: e(R).enabled,
activated: e(R).activated,
"date-value": e(R).dateValue,
steps: e(i).steps,
"ctrl-steps": e(i).ctrlSteps,
focused: P.value,
visible: E.value,
"date-separator": e(i).dateSeparator,
"time-separator": e(i).timeSeparator,
filler: e(i).filler,
labels: e(i).labels,
"has-error": Wt.value,
placeholder: Ze.value,
readonly: e(i).unitReadonly,
"labeled-by": e(n),
"date-unit-order": U.value,
onInput: vt,
onPlus: ke,
onMinus: xe,
onEnter: De,
onCancel: _e,
onUnitFocus: Pn,
onPrevUnit: Ae[0] || (Ae[0] = (tt) => Kt("prev")),
onNextUnit: Ae[1] || (Ae[1] = (tt) => Kt("next")),
onBlur: Ae[2] || (Ae[2] = (tt) => e(R).column = null)
}, null, 8, ["unit-type", "enabled", "activated", "date-value", "steps", "ctrl-steps", "focused", "visible", "date-separator", "time-separator", "filler", "labels", "has-error", "placeholder", "readonly", "labeled-by", "date-unit-order"]),
e(i).range ? (S(), D(st, { key: 0 }, [
oe("div", {
class: x(e(u).be("exchange"))
}, [
W(ie.$slots, "exchange", {}, () => [
y(e(me), {
renderer: e(i).slots.exchange
}, {
default: X(() => [
y(e(Oe), He(e(F).exchange, { style: { "padding-top": "1px" } }), null, 16)
]),
_: 1
}, 8, ["renderer"])
])
], 2),
y(Bu, {
ref: "end",
"unit-type": I.value === "end" ? e(L).column : "",
enabled: e(L).enabled,
activated: e(L).activated,
"date-value": e(L).dateValue,
steps: e(i).steps,
"ctrl-steps": e(i).ctrlSteps,
focused: P.value,
visible: E.value,
"date-separator": e(i).dateSeparator,
"time-separator": e(i).timeSeparator,
filler: e(i).filler,
labels: e(i).labels,
"has-error": un.value,
placeholder: Je.value,
readonly: e(i).unitReadonly,
"labeled-by": e(n),
"date-unit-order": U.value,
onInput: vt,
onPlus: ke,
onMinus: xe,
onEnter: De,
onCancel: _e,
onUnitFocus: mn,
onPrevUnit: Ae[3] || (Ae[3] = (tt) => Kt("prev")),
onNextUnit: Ae[4] || (Ae[4] = (tt) => Kt("next")),
onBlur: Ae[5] || (Ae[5] = (tt) => e(L).column = null)
}, null, 8, ["unit-type", "enabled", "activated", "date-value", "steps", "ctrl-steps", "focused", "visible", "date-separator", "time-separator", "filler", "labels", "has-error", "placeholder", "readonly", "labeled-by", "date-unit-order"])
], 64)) : ge("", !0)
], 2),
e(i).noSuffix ? e(i).clearable || e(i).loading ? (S(), D("div", {
key: 2,
class: x([e(u).be("icon"), e(u).bem("icon", "placeholder"), e(u).be("suffix")])
}, null, 2)) : ge("", !0) : (S(), D("div", {
key: 1,
class: x([e(u).be("icon"), e(u).be("suffix")]),
style: Qe({
color: e(i).suffixColor,
opacity: ae.value || e(i).loading ? "0%" : ""
})
}, [
W(ie.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(i).slots.suffix
}, {
default: X(() => [
y(e(Oe), He(e(F).calendar, {
icon: e(i).suffix || e(F).calendar.icon
}), null, 16, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
], 6)),
y(En, {
name: e(u).ns("fade"),
appear: ""
}, {
default: X(() => [
ae.value ? (S(), D("button", {
key: 0,
class: x([e(u).be("icon"), e(u).be("clear")]),
type: "button",
tabindex: "-1",
"aria-label": ot.value.ariaLabel.clear,
onClick: Ae[6] || (Ae[6] = gt((tt) => rt(), ["stop"]))
}, [
y(e(Oe), He(e(F).clear, { label: "clear" }), null, 16)
], 10, V0)) : e(i).loading ? (S(), D("div", {
key: 1,
class: x([e(u).be("icon"), e(u).be("loading")])
}, [
y(e(Oe), He(e(F).loading, {
effect: e(i).loadingEffect || e(F).loading.effect,
icon: e(i).loadingIcon || e(F).loading.icon,
label: "loading"
}), null, 16, ["effect", "icon"])
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["name"])
], 42, H0),
y(e(Xl), {
ref_key: "popper",
ref: K,
class: x([e(u).be("popper"), e(u).ns("calendar-vars"), e(u).ns("time-picker-vars"), e(u).bs("vars")]),
visible: E.value,
to: e(de),
transition: e(i).transitionName,
alive: e(i).popperAlive ?? !e(de),
onClick: gt(Vt, ["stop"]),
onBeforeEnter: Ae[8] || (Ae[8] = (tt) => H.value = !0),
onBeforeLeave: Ae[9] || (Ae[9] = (tt) => H.value = !0),
onAfterEnter: Ae[10] || (Ae[10] = (tt) => H.value = !1),
onAfterLeave: Ae[11] || (Ae[11] = (tt) => H.value = !1)
}, {
default: X(() => [
y(D0, {
ref: "panel",
type: e(i).type,
"start-value": e(R).dateValue,
"end-value": e(L).dateValue,
"start-activated": e(R).activated,
"end-activated": e(L).activated,
"value-type": I.value,
shortcuts: e(i).shortcuts,
"confirm-text": e(i).confirmText,
"cancel-text": e(i).cancelText,
today: e(i).today,
"no-action": e(i).noAction,
steps: e(i).steps,
range: e(i).range,
min: e(i).min,
max: e(i).max,
"disabled-date": Ie,
"disabled-time": tn.value,
"has-error": Wt.value || un.value,
"selecting-type": j.value ? "end" : "start",
locale: ot.value,
"week-start": e(i).weekStart,
"static-wheel": H.value,
"shortcuts-placement": e(i).shortcutsPlacement,
"labeled-by": e(n),
onShortcut: xt,
onChange: qn,
onConfirm: De,
onCancel: _e,
onHover: xn,
onTimeChange: ul
}, nl({ _: 2 }, [
ie.$slots.panelTitle || e(i).slots.panelTitle ? {
name: "title",
fn: X((tt) => [
W(ie.$slots, "panelTitle", It(Yt(tt)), () => [
y(e(me), {
renderer: e(i).slots.panelTitle,
data: tt
}, null, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0,
ie.$slots.panelYear || e(i).slots.panelYear ? {
name: "year",
fn: X((tt) => [
W(ie.$slots, "panelYear", It(Yt(tt)), () => [
y(e(me), {
renderer: e(i).slots.panelYear,
data: tt
}, null, 8, ["renderer", "data"])
])
]),
key: "1"
} : void 0,
ie.$slots.panelMonth || e(i).slots.panelMonth ? {
name: "month",
fn: X((tt) => [
W(ie.$slots, "panelMonth", It(Yt(tt)), () => [
y(e(me), {
renderer: e(i).slots.panelMonth,
data: tt
}, null, 8, ["renderer", "data"])
])
]),
key: "2"
} : void 0,
ie.$slots.panelWeek || e(i).slots.panelWeek ? {
name: "week",
fn: X((tt) => [
W(ie.$slots, "panelWeek", It(Yt(tt)), () => [
y(e(me), {
renderer: e(i).slots.panelWeek,
data: tt
}, null, 8, ["renderer", "data"])
])
]),
key: "3"
} : void 0,
ie.$slots.panelDate || e(i).slots.panelDate ? {
name: "date",
fn: X((tt) => [
W(ie.$slots, "panelDate", It(Yt(tt)), () => [
y(e(me), {
renderer: e(i).slots.panelDate,
data: tt
}, null, 8, ["renderer", "data"])
])
]),
key: "4"
} : void 0
]), 1032, ["type", "start-value", "end-value", "start-activated", "end-activated", "value-type", "shortcuts", "confirm-text", "cancel-text", "today", "no-action", "steps", "range", "min", "max", "disabled-time", "has-error", "selecting-type", "locale", "week-start", "static-wheel", "shortcuts-placement", "labeled-by"])
]),
_: 3
}, 8, ["class", "visible", "to", "transition", "alive"])
], 10, B0));
}
}), W0 = ft({
vertical: M,
textPosition: String,
/**
* 字体增大加粗
*/
primary: M,
dashed: M,
margin: [String, Number]
}), Vd = /* @__PURE__ */ Xe({
name: "Divider",
__name: "divider",
props: W0,
setup(t) {
const l = ct("divider", t, {
vertical: !1,
textPosition: {
default: "center",
validator: (p) => ["center", "left", "right"].includes(p)
},
primary: !1,
dashed: !1,
margin: null
}), a = kn(), n = Ye("divider"), o = g(() => !!a.default), s = g(() => [
n.b(),
n.bs("vars"),
n.bm(l.vertical ? "vertical" : "horizontal"),
{
[n.bm("inherit")]: l.inherit,
[n.bm("primary")]: !l.vertical && l.primary,
[n.bm("dashed")]: l.dashed,
[n.bm("with-text")]: !l.vertical && o.value,
[n.bm(`with-text-${l.textPosition}`)]: !l.vertical && o.value && l.textPosition !== "center"
}
]), c = g(() => Mr(l.margin)), d = g(() => c.value ? l.vertical ? {
marginRight: c.value,
marginLeft: c.value
} : {
marginTop: c.value,
marginBottom: c.value
} : {});
return (p, m) => (S(), D("div", {
class: x(s.value),
role: "separator",
style: Qe(d.value)
}, [
!e(l).vertical && o.value ? (S(), D("span", {
key: 0,
class: x(e(n).be("text"))
}, [
W(p.$slots, "default")
], 2)) : ge("", !0)
], 6));
}
}), K0 = ft({
locale: Mn(),
transfer: hn,
active: M,
width: [Number, String],
height: [Number, String],
placement: String,
title: String,
closable: M,
inner: M,
maskClose: M,
drawerClass: Bn,
hideMask: M,
onBeforeClose: Function,
resizable: M,
autoRemove: M,
footer: M,
confirmText: String,
cancelText: String,
loading: M,
confirmType: String,
confirmProps: Object,
cancelType: String,
cancelProps: Object,
actionSize: An,
undivided: M,
disableEsc: M,
slots: Object,
onToggle: B(),
onClose: B(),
onShow: B(),
onHide: B(),
onResizeStart: B(),
onResizeMove: B(),
onResizeEnd: B(),
onConfirm: B(),
onCancel: B()
}), U0 = Object.freeze(["top", "right", "bottom", "left"]), X0 = ["aria-modal", "aria-labelledby", "aria-describedby"], Y0 = ["id"], q0 = ["id"], G0 = /* @__PURE__ */ Xe({
name: "Drawer",
__name: "drawer",
props: K0,
emits: ["update:active"],
setup(t, { expose: r, emit: l }) {
const n = ct("drawer", t, {
locale: null,
transfer: !1,
active: {
default: !1,
static: !0
},
width: {
default: 280,
validator: (O) => typeof O == "string" || O > 0
},
height: {
default: 280,
validator: (O) => typeof O == "string" || O > 0
},
placement: {
default: "right",
validator: (O) => U0.includes(O)
},
title: "",
closable: !0,
inner: !1,
maskClose: !0,
drawerClass: null,
hideMask: !1,
onBeforeClose: {
default: null,
isFunc: !0
},
resizable: !1,
autoRemove: !1,
footer: !1,
confirmText: null,
confirmProps: null,
cancelText: null,
cancelProps: null,
loading: !1,
confirmType: "primary",
cancelType: "default",
actionSize: On("small"),
undivided: !1,
disableEsc: !1,
slots: () => ({})
}), o = l, s = kn(), c = Ye("drawer"), d = Gt(), p = vn("drawer", qe(n, "locale")), m = $(n.active), b = $(n.width), f = $(n.height), u = $(), { target: h, moving: i } = Pl({
onStart: (O, H) => {
if (!n.resizable || H.button > 0 || !u.value)
return !1;
const U = `${b.value}`.endsWith("%") ? u.value.offsetWidth : rn(b.value), q = `${f.value}`.endsWith("%") ? u.value.offsetHeight : rn(f.value);
O.xStart = U, O.yStart = q, _(n.onResizeStart, { width: U, height: q });
},
onMove: (O, H) => {
const U = H.clientX - O.clientX, q = H.clientY - O.clientY;
let Z = rn(b.value), K = rn(f.value);
switch (n.placement) {
case "top": {
K = O.yStart + q;
break;
}
case "right": {
Z = O.xStart - U;
break;
}
case "bottom": {
K = O.yStart - q;
break;
}
default:
Z = O.xStart + U;
}
b.value = Math.max(Z, 100), f.value = Math.max(K, 100), _(n.onResizeMove, {
width: rn(b.value),
height: rn(f.value)
});
},
onEnd: () => {
_(n.onResizeEnd, {
width: rn(b.value),
height: rn(f.value)
});
}
}), v = g(() => [
c.b(),
c.bs("vars"),
{
[c.bm("inherit")]: n.inherit,
[c.bm("inner")]: n.inner,
[c.bm("closable")]: n.closable,
[c.bm("resizable")]: n.resizable,
[c.bm("undivided")]: n.undivided
}
]), k = g(() => c.ns(`move-${n.placement}`)), w = g(() => [
c.be("wrapper"),
c.bem("wrapper", n.placement),
{
[c.bem("wrapper", "hide-mask")]: n.hideMask,
[c.bem("wrapper", "resizing")]: i.value
},
n.drawerClass
]), T = g(() => {
const O = n.placement;
if (O === "top" || O === "bottom") {
const U = f.value;
return {
height: `${U}`.endsWith("%") ? U : `${U}px`
};
}
const H = b.value;
return {
width: `${H}`.endsWith("%") ? H : `${H}px`
};
}), F = g(() => !!(s.header || s.title || n.title || n.slots.header || n.slots.title)), A = Zl(), z = Zl();
le(
() => n.active,
(O) => {
m.value = O;
}
), le(
() => n.width,
(O) => {
b.value = O;
}
), le(
() => n.height,
(O) => {
f.value = O;
}
), r({
resizing: i,
titleId: A,
bodyId: z,
wrapper: u,
resizer: h,
handleConfirm: G,
handleCancel: ee,
handleClose: P
});
const C = yl(
pt({
resizing: i,
handleConfirm: G,
handleCancel: ee,
handleClose: P
})
);
function E(O) {
m.value !== O && (m.value = O, o("update:active", O), _(n.onToggle, O));
}
async function P(O = !1) {
let H = !0;
return typeof n.onBeforeClose == "function" && (H = n.onBeforeClose(O), Sl(H) && (H = await H)), H !== !1 && kt(() => {
E(!1), _(n.onClose);
}), H;
}
function R() {
if (n.maskClose)
return P();
}
function L() {
_(n.onShow);
}
function I() {
_(n.onHide);
}
function G() {
P(!0), _(n.onConfirm);
}
function ee() {
P(!1), _(n.onCancel);
}
return (O, H) => (S(), Be(e(fr), {
active: m.value,
"onUpdate:active": H[1] || (H[1] = (U) => m.value = U),
inherit: e(n).inherit,
class: x(v.value),
inner: e(n).inner,
"transition-name": k.value,
closable: e(n).maskClose,
disabled: e(n).hideMask,
"on-before-close": R,
transfer: e(n).transfer,
"auto-remove": e(n).autoRemove,
"disable-esc": e(n).disableEsc,
onShow: L,
onHide: I
}, {
default: X(({ show: U }) => [
el(oe("section", {
ref_key: "wrapper",
ref: u,
class: x(w.value),
style: Qe(T.value),
role: "dialog",
"aria-modal": U ? "true" : void 0,
"aria-labelledby": e(A),
"aria-describedby": e(z)
}, [
F.value ? (S(), D("div", {
key: 0,
class: x(e(c).be("header"))
}, [
W(O.$slots, "header", It(Yt(e(C))), () => [
y(e(me), {
renderer: e(n).slots.header,
data: e(C)
}, {
default: X(() => [
oe("div", {
id: e(A),
class: x(e(c).be("title"))
}, [
W(O.$slots, "title", It(Yt(e(C))), () => [
y(e(me), {
renderer: e(n).slots.title,
data: e(C)
}, {
default: X(() => [
dt(ze(e(n).title), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 10, Y0),
e(n).closable ? (S(), D("button", {
key: 0,
type: "button",
class: x(e(c).be("close")),
onClick: H[0] || (H[0] = (q) => P())
}, [
W(O.$slots, "close", It(Yt(e(C))), () => [
y(e(me), {
renderer: e(n).slots.close,
data: e(C)
}, {
default: X(() => [
y(e(Oe), He(e(d).close, {
scale: +(e(d).close.scale || 1) * 1.2,
label: "close"
}), null, 16, ["scale"])
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["renderer", "data"])
])
], 2)) : ge("", !0),
oe("div", {
id: e(z),
class: x(e(c).be("content"))
}, [
W(O.$slots, "default", It(Yt(e(C))), () => [
y(e(me), {
renderer: e(n).slots.default,
data: e(C)
}, null, 8, ["renderer", "data"])
])
], 10, q0),
e(n).footer || s.footer || e(n).slots.footer ? (S(), D("div", {
key: 1,
class: x(e(c).be("footer"))
}, [
W(O.$slots, "footer", It(Yt(e(C))), () => [
y(e(me), {
renderer: e(n).slots.footer,
data: e(C)
}, {
default: X(() => [
y(e(Hn), He({
class: [e(c).be("button"), e(c).bem("button", "cancel")],
inherit: "",
text: "",
type: e(n).cancelType,
size: e(n).actionSize
}, e(n).cancelProps, { onClick: ee }), {
default: X(() => [
dt(ze(e(n).cancelText || e(p).cancel), 1)
]),
_: 1
}, 16, ["class", "type", "size"]),
y(e(Hn), He({
class: [e(c).be("button"), e(c).bem("button", "confirm")],
inherit: "",
type: e(n).confirmType,
size: e(n).actionSize,
loading: e(n).loading
}, e(n).confirmProps, { onClick: G }), {
default: X(() => [
dt(ze(e(n).confirmText || e(p).confirm), 1)
]),
_: 1
}, 16, ["class", "type", "size", "loading"])
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2)) : ge("", !0),
e(n).resizable ? (S(), D("div", {
key: 2,
ref_key: "resizer",
ref: h,
class: x([
e(c).be("handler"),
e(c).bem("handler", e(n).placement),
{
[e(c).bem("handler", "resizing")]: e(i)
}
])
}, [
W(O.$slots, "handler", It(Yt(e(C))), () => [
y(e(me), {
renderer: e(n).slots.handler,
data: e(C)
}, null, 8, ["renderer", "data"])
])
], 2)) : ge("", !0)
], 14, X0), [
[tl, U]
])
]),
_: 3
}, 8, ["active", "inherit", "class", "inner", "transition-name", "closable", "disabled", "transfer", "auto-remove", "disable-esc"]));
}
}), Z0 = ft({
placement: String,
transfer: hn,
noHover: M,
transitionName: String,
tooltipTheme: String,
tipClass: Bn,
maxLines: Number,
tipMaxWidth: [Number, String],
tipDisabled: M,
tipShift: {
type: [Boolean, String],
default: null
},
slots: Object
}), ts = /* @__PURE__ */ Xe({
name: "Ellipsis",
__name: "ellipsis",
props: Z0,
setup(t, { expose: r }) {
const l = Ye("ellipsis"), n = ct("ellipsis", t, {
placement: {
default: "top",
validator: (i) => Wl.includes(i)
},
transfer: "body",
noHover: !1,
transitionName: () => l.ns("fade"),
tooltipTheme: {
default: "dark",
validator: (i) => ["light", "dark"].includes(i)
},
tipClass: null,
maxLines: null,
tipMaxWidth: 500,
tipDisabled: !1,
tipShift: !1,
slots: () => ({})
}), o = fa(), s = $(!1), c = $(""), { timer: d } = Vn(), p = $(), m = g(() => ({
[l.b()]: !0,
[l.bm("inherit")]: n.inherit,
[l.bm("multiple")]: n.maxLines
})), b = g(() => n.maxLines > 0 ? { "-webkit-line-clamp": n.maxLines } : ""), f = g(() => ({
maxWidth: typeof n.tipMaxWidth == "string" ? parseFloat(n.tipMaxWidth) || n.tipMaxWidth : `${n.tipMaxWidth}px`
}));
r({
visible: s,
wrapper: p
});
function u() {
clearTimeout(d.hover), !n.tipDisabled && (d.hover = setTimeout(() => {
if (!p.value || !p.value.childNodes.length) {
s.value = !1;
return;
}
if (n.maxLines > 0) {
const i = p.value.scrollHeight, v = p.value.clientHeight;
s.value = i > v;
} else
s.value = Bo(p.value) > p.value.getBoundingClientRect().width;
c.value = s.value ? p.value.textContent ?? "" : "";
}, o.value));
}
function h() {
clearTimeout(d.hover), !n.tipDisabled && (d.hover = setTimeout(() => {
s.value = !1;
}, o.value));
}
return (i, v) => (S(), Be(e(Fl), {
visible: s.value,
trigger: "custom",
disabled: e(n).tipDisabled,
transfer: e(n).transfer,
placement: e(n).placement,
"no-hover": e(n).noHover,
"transition-name": e(n).transitionName,
"tip-class": e(n).tipClass,
"tip-style": f.value,
reverse: e(n).tooltipTheme === "dark",
shift: e(n).tipShift,
onTipEnter: u,
onTipLeave: h
}, {
trigger: X(() => [
oe("div", He({
ref_key: "wrapper",
ref: p
}, i.$attrs, {
class: m.value,
style: b.value,
onMouseenter: u,
onMouseleave: h
}), [
W(i.$slots, "default", {}, () => [
y(e(me), {
renderer: e(n).slots.default
}, null, 8, ["renderer"])
])
], 16)
]),
default: X(() => [
W(i.$slots, "content", { content: c.value }, () => [
y(e(me), {
renderer: e(n).slots.content,
data: { content: c.value }
}, {
default: X(() => [
dt(ze(c.value), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
]),
_: 3
}, 8, ["visible", "disabled", "transfer", "placement", "no-hover", "transition-name", "tip-class", "tip-style", "reverse", "shift"]));
}
}), J0 = ["name", "value"], Q0 = ["id", "for"], e1 = /* @__PURE__ */ Xe({
name: "FormItem",
inheritAttrs: !0,
__name: "form-item",
props: pb,
setup(t, { expose: r }) {
const l = Ye("form"), n = ct("formItem", t, {
locale: null,
label: {
default: "",
static: !0
},
prop: {
default: "",
static: !0
},
name: {
default: "",
static: !0
},
rules: () => [],
labelWidth: null,
required: !1,
htmlFor: {
default: null,
static: !0
},
errorTransition: () => l.ns("fade"),
defaultValue: {
default: null,
static: !0
},
hideErrorTip: !1,
validateAll: null,
hideAsterisk: null,
hideLabel: null,
action: !1,
help: "",
pure: !1,
manual: !1,
span: 24,
offset: null,
push: null,
pull: null,
order: null,
xs: null,
sm: null,
md: null,
lg: null,
xl: null,
xxl: null,
flex: null
}), o = kn(), s = Et(yi, {}), c = Et(Yo, null), d = Et(wd, null), p = ai(), m = vn("form", qe(n, "locale")), b = Gt(), f = Vo(), u = $(n.defaultValue), h = $(!1), i = $(""), v = $(!1), k = $(!1), w = $(0), T = yl(
pt({
isError: h
})
), F = Wo(() => {
F.value && (w.value = F.value.offsetWidth);
}), A = Zl(), z = g(() => s.allRequired || n.required), C = g(() => nr(`${n.label || n.prop} ${m.value.notNullable}`, f.value)), E = g(() => {
if (!n.prop) return [];
const J = z.value ? [{ required: z.value, message: C.value }] : [], N = Array.isArray(n.rules) ? n.rules : [n.rules];
let j = [];
return s.rules && (j = Au(s.rules, n.prop) ?? []), j = Array.isArray(j) ? j : [j], J.concat(j, N);
}), P = g(Se), R = g(() => Tt(n.validateAll) ? s.validateAll ?? !1 : n.validateAll), L = g(() => {
if (n.hideAsterisk === !0 || s.hideAsterisk)
return !1;
for (const J of E.value)
if (J.required) return !0;
return z.value;
}), I = g(() => n.action || n.hideLabel === !0 || s.hideLabel), G = g(() => !(I.value || !(n.label || o.label))), ee = g(() => s.labelAlign), O = g(() => ee.value ? te(
ee.value === "top" || I.value ? 0 : n.labelWidth || s.labelWidth || 80
) : te(I.value ? 0 : n.labelWidth || 80)), H = g(() => ({
[l.be("item")]: !0,
[l.bs("vars")]: !0,
[l.bem("item", "inherit")]: d || n.inherit,
[l.bem("item", "required")]: !s.hideAsterisk && L.value,
[l.bem("item", "error")]: h.value,
[l.bem("item", "action")]: n.action,
[l.bem("item", "padding")]: s.inline && ee.value === "top" && !G.value
})), U = g(() => ({
width: ee.value === "top" ? void 0 : `calc(100% - ${O.value}px)`,
marginLeft: G.value || ee.value === "top" ? void 0 : `${O.value}px`
})), q = g(() => {
const J = P.value;
return Array.isArray(J) || pl(J) ? JSON.stringify(J) : J;
}), Z = g(() => ({ justify: n.action ? "center" : "start", align: "middle" })), K = g(
() => !!(s.labelWidth && s.labelWidth !== "auto") || n.labelWidth > 0
), we = /* @__PURE__ */ new Set(), de = Object.freeze({
prop: g(() => n.prop),
idFor: g(() => n.prop),
labelId: A,
state: g(() => h.value ? "error" : "default"),
disabled: g(() => !!s.disabled),
loading: g(() => !!s.loading),
size: g(() => s.size || "default"),
emitter: p,
labelWidth: w,
validate: fe,
clearError: ot,
reset: Ze,
getValue: Se,
setValue: Ce,
sync: (J) => {
we.size && console.warn("[vexip-ui:Form]: must only be one control component under FormItem."), we.add(J);
},
unSync: (J) => {
we.delete(J);
}
});
nn(Fr, n.manual ? null : de), le(
() => n.defaultValue,
(J) => {
u.value = J;
}
), sn(() => {
const J = P.value;
Tt(u.value) && (u.value = Array.isArray(J) ? Array.from(J) : J), d && d.add(de);
}), pn(() => {
d && d.delete(de);
}), r({ isError: h, inputValue: q, computedLabelWidth: O });
function te(J) {
return J === "auto" ? (c == null ? void 0 : c.getLabelWidth()) || 80 : J;
}
let Ee = !1;
function Se(J = u.value) {
if (!s.model || !n.prop) return J;
try {
const N = Au(s.model, n.prop, !0);
return Ee = !0, N;
} catch {
return Ee || (bs(s.model, n.prop, J, !1), Ee = !0), J;
}
}
function Ce(J, N = !1) {
if (!(!s.model || !n.prop))
try {
return bs(s.model, n.prop, J, N);
} catch {
}
}
function fe() {
return Je();
}
function ot() {
h.value = !1, i.value = "";
}
function Ze() {
if (ot(), !s.model || !n.prop) return !1;
const J = P.value;
let N;
return Array.isArray(J) ? N = Array.isArray(u.value) ? Array.from(u.value) : [] : N = on(u.value) ? u.value() : u.value, bs(s.model, n.prop, N, !0);
}
async function Je() {
if (k.value)
return k.value = !1, se(null);
if (!n.prop || !s.model || v.value)
return se(null);
v.value = !0;
const J = P.value, N = E.value, j = s.model;
let ae = await Rb(
N,
J,
j,
R.value,
m.value.validateFail
);
return ae = ae.length ? ae : null, se(ae);
}
function se(J) {
return v.value = !1, J ? (h.value = !0, i.value = Array.isArray(J) ? J[0] : J) : ot(), J;
}
function ne() {
p.emit("focus");
}
const ue = g(() => !!(s.action && s.method));
return (J, N) => e(n).pure ? W(J.$slots, "default", It(He({ key: 0 }, e(T)))) : (S(), Be(e(Lo), He({ key: 1 }, J.$attrs, {
class: H.value,
inherit: e(n).inherit,
role: "group",
tag: "div",
span: e(n).span,
offset: e(n).offset,
push: e(n).push,
pull: e(n).pull,
order: e(n).order,
xs: e(n).xs,
sm: e(n).sm,
md: e(n).md,
lg: e(n).lg,
xl: e(n).xl,
xxl: e(n).xxl,
flex: e(n).flex,
"use-flex": Z.value
}), {
default: X(() => [
ue.value ? (S(), D("input", {
key: 0,
type: "hidden",
name: e(n).name || e(n).prop,
value: q.value,
style: { display: "none" }
}, null, 8, J0)) : ge("", !0),
G.value && ee.value !== "top" && !K.value ? (S(), D("span", {
key: 1,
ref_key: "placeholder",
ref: F,
class: x(e(l).be("placeholder")),
role: "none"
}, [
e(n).help || o.help ? (S(), Be(e(Oe), He({ key: 0 }, e(b).help, {
class: e(l).be("help")
}), null, 16, ["class"])) : ge("", !0),
W(J.$slots, "label", {}, () => [
dt(ze(e(n).label + (e(s).labelSuffix || "")), 1)
])
], 2)) : ge("", !0),
G.value ? (S(), D("label", {
key: 2,
id: e(A),
class: x(e(l).be("label")),
style: Qe({ width: ee.value !== "top" ? `${O.value}px` : void 0 }),
for: e(n).htmlFor || e(n).prop,
onClick: ne
}, [
e(n).help || o.help ? (S(), Be(e(Fl), {
key: 0,
transfer: ""
}, {
trigger: X(() => [
y(e(Oe), He(e(b).help, {
class: e(l).be("help")
}), null, 16, ["class"])
]),
default: X(() => [
W(J.$slots, "help", {}, () => [
oe("div", {
class: x(e(l).be("help-tip"))
}, ze(e(n).help), 3)
])
]),
_: 3
})) : ge("", !0),
W(J.$slots, "label", {}, () => [
dt(ze(e(n).label + (e(s).labelSuffix || "")), 1)
])
], 14, Q0)) : ge("", !0),
oe("div", {
class: x({
[e(l).be("control")]: !0,
[e(l).bem("control", "no-label")]: !G.value,
[e(l).bem("control", "action")]: e(n).action
}),
role: "alert",
"aria-relevant": "all",
style: Qe(U.value)
}, [
W(J.$slots, "default", It(Yt(e(T)))),
y(En, {
name: e(n).errorTransition
}, {
default: X(() => [
!e(n).hideErrorTip && h.value ? (S(), D("div", {
key: 0,
class: x(e(l).be("error-tip"))
}, [
W(J.$slots, "error", { tip: i.value }, () => [
dt(ze(i.value), 1)
])
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["name"])
], 6)
]),
_: 3
}, 16, ["class", "inherit", "span", "offset", "push", "pull", "order", "xs", "sm", "md", "lg", "xl", "xxl", "flex", "use-flex"]));
}
}), t1 = /* @__PURE__ */ Xe({
name: "FormReset",
__name: "form-reset",
props: hb,
setup(t) {
const l = ct("formReset", t, {
size: null,
locale: null,
type: "default",
label: null,
dashed: null,
text: null,
simple: null,
ghost: null,
disabled: null,
loading: null,
circle: null,
loadingIcon: en(),
loadingEffect: null,
icon: en(),
color: null,
buttonType: null,
block: null,
onBeforeReset: {
default: null,
isFunc: !0
}
}), a = kn(), n = Et(Yo, null), o = Ye("form"), s = vn("form", qe(l, "locale")), c = g(() => !!n || l.inherit);
async function d() {
if (l.disabled) return;
let p = !0;
typeof l.onBeforeReset == "function" && (p = l.onBeforeReset(), Sl(p) && (p = await p)), p !== !1 && (n == null || n.reset(), _(l.onReset));
}
return (p, m) => (S(), Be(e(Hn), He(p.$attrs, {
inherit: c.value,
class: e(o).be("reset"),
size: e(l).size,
type: e(l).type,
simple: e(l).simple,
ghost: e(l).ghost,
dashed: e(l).dashed,
text: e(l).text,
disabled: e(l).disabled,
loading: e(l).loading,
circle: e(l).circle,
"loading-icon": e(l).loadingIcon,
"loading-effect": e(l).loadingEffect,
icon: e(l).icon,
color: e(l).color,
"button-type": e(l).buttonType,
block: e(l).block,
tag: e(l).tag,
onClick: d
}), nl({
default: X(() => [
W(p.$slots, "default", {}, () => [
dt(ze(e(l).label || e(s).reset), 1)
])
]),
_: 2
}, [
a.icon ? {
name: "icon",
fn: X(() => [
W(p.$slots, "icon")
]),
key: "0"
} : void 0,
a.loading ? {
name: "loading",
fn: X(() => [
W(p.$slots, "loading")
]),
key: "1"
} : void 0
]), 1040, ["inherit", "class", "size", "type", "simple", "ghost", "dashed", "text", "disabled", "loading", "circle", "loading-icon", "loading-effect", "icon", "color", "button-type", "block", "tag"]));
}
}), n1 = /* @__PURE__ */ Xe({
name: "FormSubmit",
__name: "form-submit",
props: vb,
setup(t, { expose: r }) {
const a = ct("form-submit", t, {
size: null,
locale: null,
type: "primary",
label: null,
dashed: null,
text: null,
simple: null,
ghost: null,
disabled: null,
circle: null,
loadingIcon: en(),
loadingEffect: null,
icon: en(),
color: null,
buttonType: null,
block: null,
onBeforeSubmit: {
default: null,
isFunc: !0
}
}), n = kn(), o = Et(Fr, null), s = Et(yi, {}), c = Et(Yo, null), d = Ye("form"), p = vn("form", qe(a, "locale")), { timer: m } = Vn(), b = $(!1), f = $(), u = g(() => s.method && s.action), h = g(() => !!c || a.inherit), i = g(() => b.value || (o ? o.loading.value : !1));
r({ submit: f, isNative: u, isLoading: i });
async function v() {
var w;
if (a.disabled || b.value || !c) return;
b.value = !0;
const k = await c.validate();
if (k.length)
_(a.onError, k);
else {
let T = !0;
typeof a.onBeforeSubmit == "function" && (T = a.onBeforeSubmit(), Sl(T) && (T = await T)), T !== !1 && (_(a.onSubmit), u.value && ((w = f.value) == null || w.click()));
}
m.loading = setTimeout(() => {
b.value = !1;
}, 300);
}
return (k, w) => (S(), Be(e(Hn), He(k.$attrs, {
inherit: h.value,
class: e(d).be("submit"),
size: e(a).size,
type: e(a).type,
simple: e(a).simple,
ghost: e(a).ghost,
dashed: e(a).dashed,
text: e(a).text,
disabled: e(a).disabled,
loading: i.value,
circle: e(a).circle,
"loading-icon": e(a).loadingIcon,
"loading-effect": e(a).loadingEffect,
icon: e(a).icon,
color: e(a).color,
"button-type": e(a).buttonType,
block: e(a).block,
tag: e(a).tag,
onClick: v
}), nl({
default: X(() => [
W(k.$slots, "default", {}, () => [
dt(ze(e(a).label || e(p).submit), 1)
]),
u.value ? (S(), D("button", {
key: 0,
ref_key: "submit",
ref: f,
type: "submit",
style: { display: "none" },
onClick: w[0] || (w[0] = gt(() => {
}, ["stop"]))
}, null, 512)) : ge("", !0)
]),
_: 2
}, [
n.icon ? {
name: "icon",
fn: X(() => [
W(k.$slots, "icon")
]),
key: "0"
} : void 0,
n.loading ? {
name: "loading",
fn: X(() => [
W(k.$slots, "loading")
]),
key: "1"
} : void 0
]), 1040, ["inherit", "class", "size", "type", "simple", "ghost", "dashed", "text", "disabled", "loading", "circle", "loading-icon", "loading-effect", "icon", "color", "button-type", "block", "tag"]));
}
}), l1 = ft({
tag: String,
onToggle: B()
}), a1 = ["id"], jd = /* @__PURE__ */ Xe({
name: "FullScreen",
__name: "full-screen",
props: l1,
setup(t, { expose: r }) {
const a = ct("fullScreen", t, {
tag: "div"
}), n = Ye("full-screen"), o = Zl(), s = $(!1), c = $(), d = $(), p = g(() => s.value && d.value), m = g(() => [n.b(), n.bs("vars"), { [n.bm("full")]: p.value }]), b = g(() => d.value === "window" ? "body" : ""), {
enter: f,
exit: u,
target: h,
full: i
} = Jc();
le(i, (T) => {
T || (s.value = !1, d.value = void 0);
}), le(p, (T) => {
_(a.onToggle, T);
});
async function v(T = "window", F) {
s.value && await k(), T !== "window" && await f(), s.value = !0, c.value = F, d.value = T !== "window" ? "browser" : "window";
}
async function k() {
await u(), c.value = void 0, s.value = !1, d.value = void 0;
}
async function w(T = "window", F) {
s.value ? d.value !== T ? await v(T, F) : await k() : await v(T, F);
}
return r({
full: p,
placeId: o,
wrapper: h,
enter: v,
exit: k,
toggle: w
}), (T, F) => (S(), Be(e(Zo), { to: b.value }, {
default: X(() => [
(S(), Be(fc(e(a).tag || "div"), He(T.$attrs, {
ref_key: "wrapper",
ref: h,
class: m.value,
style: { [e(n).cv("z-index")]: c.value }
}), {
default: X(() => [
W(T.$slots, "default", {
full: p.value,
placeId: e(o),
enter: v,
exit: k,
toggle: w
}),
oe("div", {
id: e(o),
class: x(e(n).be("place")),
role: "none"
}, null, 10, a1)
]),
_: 3
}, 16, ["class", "style"]))
]),
_: 3
}, 8, ["to"]));
}
}), no = /^\d+$/, r1 = Object.freeze([
"start",
"end",
"center",
"space-around",
"space-between",
"space-evenly"
]), o1 = Object.freeze(["top", "middle", "bottom", "stretch"]), s1 = Xe({
name: "Grid",
props: Cy,
setup(t, { slots: r }) {
const l = ct("grid", t, {
tag: "div",
gap: 0,
rows: "none",
columns: 24,
autoRows: "auto",
autoColumns: "auto",
dense: !1,
justify: {
default: "start",
validator: (p) => r1.includes(p)
},
align: {
default: "stretch",
validator: (p) => o1.includes(p)
},
cellFlex: !1
}), a = Ye("grid"), n = g(() => ({
[a.b()]: !0,
[a.bm(l.justify)]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm(l.align)]: l.align !== "stretch",
[a.bm("dense")]: l.dense
})), o = g(() => {
const p = {};
return l.gap && (p.gap = Array.isArray(l.gap) ? `${l.gap[0]}px ${l.gap[1]}px` : `${l.gap}px`), p.gridTemplateColumns = c(l.columns), l.rows !== "none" && (p.gridTemplateRows = c(l.rows)), l.autoRows !== "auto" && (p.gridAutoRows = d(l.autoRows)), l.autoColumns !== "auto" && (p.gridAutoColumns = d(l.autoColumns)), p;
}), s = g(() => l.cellFlex === !0 ? {
justify: "start",
align: "top"
} : l.cellFlex ? {
justify: "start",
align: "top",
...l.cellFlex
} : !1);
nn(Vs, pt({ cellFlex: s, columns: qe(l, "columns") }));
function c(p) {
return typeof p == "number" ? `repeat(${p}, 1fr)` : typeof p == "string" ? no.test(p.trim()) ? `repeat(${p}, 1fr)` : p : Array.isArray(p) ? p.map((m) => typeof m == "number" ? `${m}fr` : typeof m == "string" && no.test(m.trim()) ? `${m}fr` : m).join(" ") : p;
}
function d(p) {
return typeof p == "number" ? `${p}fr` : typeof p == "string" ? no.test(p.trim()) ? `repeat(${p}, 1fr)` : p : Array.isArray(p) ? p.map((m) => typeof m == "number" ? `${m}fr` : typeof m == "string" && no.test(m.trim()) ? `${m}fr` : m).join(" ") : p;
}
return () => Jn(
l.tag || "div",
{
class: n.value,
style: o.value
},
{
default: () => {
var p;
return (p = r.default) == null ? void 0 : p.call(r);
}
}
);
}
}), i1 = ft({
content: String,
keyWords: Array,
ignoreCase: M
}), u1 = { key: 1 }, c1 = /* @__PURE__ */ Xe({
name: "Highlight",
__name: "highlight",
props: i1,
setup(t) {
const l = ct("highlight", t, {
content: {
default: "",
static: !0
},
keyWords: {
default: () => [],
static: !0
},
ignoreCase: !1
}), a = Ye("highlight"), n = g(() => {
var c;
const s = (c = l.keyWords) == null ? void 0 : c.filter(Boolean);
return s != null && s.length ? new RegExp(
`(${s.sort((d, p) => p.length - d.length).join("|")})`,
`${l.ignoreCase ? "i" : ""}g`
) : null;
}), o = g(() => !n.value || !l.content ? [{ isKey: !1, text: l.content }] : l.content.split(n.value).map((s) => ({ isKey: n.value.test(s), text: s })));
return (s, c) => (S(), D("div", {
class: x([e(a).b(), e(a).bs("vars"), e(l).inherit && e(a).bm("inherit")])
}, [
(S(!0), D(st, null, ln(o.value, (d, p) => (S(), D(st, { key: p }, [
d.isKey ? (S(), D("span", {
key: 0,
class: x(e(a).be("key-word"))
}, [
W(s.$slots, "light", {
text: d.text
}, () => [
dt(ze(d.text), 1)
])
], 2)) : (S(), D("span", u1, [
W(s.$slots, "default", {
text: d.text
}, () => [
dt(ze(d.text), 1)
])
]))
], 64))), 128))
], 2));
}
}), d1 = ft({
locale: Mn(),
width: [String, Number],
height: [String, Number],
moveDisabled: M,
zoomDisabled: M,
zoomDelta: Number,
zoomMin: Number,
zoomMax: Number,
flipDisabled: M,
rotateDisabled: M,
rotateDelta: Number,
fullDisabled: M,
toolbarPlacement: String,
actions: Array,
toolbarFade: La,
noTransition: M,
centerScale: M,
actionLayout: Array,
onMoveStart: B(),
onMove: B(),
onMoveEnd: B(),
onWheel: B(),
onRotate: B(),
onFlipX: B(),
onFlipY: B(),
onZoom: B(),
onFull: B(),
onReset: B()
});
var il = /* @__PURE__ */ ((t) => (t.RotateRight = "rotate-right", t.RotateLeft = "rotate-left", t.FlipX = "flip-x", t.FlipY = "flip-y", t.ZoomIn = "zoom-in", t.ZoomOut = "zoom-out", t.FullScreen = "full-screen", t.Reset = "reset", t))(il || {});
const go = [
["rotate-right", "rotate-left"],
["flip-x", "flip-y"],
["zoom-in", "zoom-out"],
["full-screen"],
["reset"]
];
for (let t = 0, r = go.length; t < r; ++t)
go[t] = Object.freeze(go[t]);
const f1 = Object.freeze(go), p1 = ["title", "onClick"], Wd = /* @__PURE__ */ Xe({
name: "Viewer",
__name: "viewer",
props: d1,
setup(t, { expose: r }) {
const a = ct("viewer", t, {
locale: null,
width: "100%",
height: "100%",
moveDisabled: !1,
zoomDisabled: !1,
zoomDelta: 0.15,
zoomMin: 0.1,
zoomMax: 1 / 0,
rotateDisabled: !1,
rotateDelta: 90,
flipDisabled: !1,
fullDisabled: !1,
toolbarPlacement: "bottom",
actions: () => [],
toolbarFade: !1,
noTransition: !1,
centerScale: !1,
actionLayout: () => []
}), n = Ye("viewer"), o = vn("viewer", qe(a, "locale")), s = Gt(), { timer: c } = Vn(), d = $(!1), p = $(1), m = $(0), b = $(!1), f = $(!1), u = $(), h = $(), { supported: i, full: v, enter: k, exit: w } = Jc(u), {
target: T,
x: F,
y: A,
moving: z
} = Pl({
onStart: (se, ne) => {
if (a.moveDisabled || ne.button > 0)
return !1;
_(a.onMoveStart, P());
},
onMove: () => {
_(a.onMoveStart, P());
},
onEnd: () => {
_(a.onMoveStart, P());
}
}), C = pt({
zoom: p,
rotate: m,
flipX: b,
flipY: f,
full: v,
moving: z,
x: F,
y: A
}), E = {
x: 0,
y: 0
};
cl({
target: u,
passive: !1,
onKeyDown: (se, ne) => {
if (!z.value && (ne.up || ne.down || ne.left || ne.right)) {
se.preventDefault();
const ue = ne.up || ne.down ? A : F, J = ne.up || ne.left ? -10 : 10;
ue.value += se.ctrlKey ? 5 * J : J, ne.resetAll();
}
}
});
function P() {
return C;
}
function R(se, ne) {
return vl(se[ne], C);
}
function L(se) {
return n.be(se);
}
const I = [
{
name: il.RotateRight,
process: () => de(a.rotateDelta),
iconRenderer: () => Jn(Oe, s.value.rotateRight),
class: L(il.RotateRight),
title: () => o.value.rotateRight,
hidden: () => a.rotateDisabled
},
{
name: il.RotateLeft,
process: () => de(-1 * a.rotateDelta),
iconRenderer: () => Jn(Oe, s.value.rotateLeft),
class: L(il.RotateLeft),
title: () => o.value.rotateLeft,
hidden: () => a.rotateDisabled
},
{
name: il.FlipX,
process: () => te(),
iconRenderer: () => Jn(Oe, s.value.flipX),
class: L(il.FlipX),
title: () => o.value.flipHorizontal,
hidden: () => a.flipDisabled
},
{
name: il.FlipY,
process: () => Ee(),
iconRenderer: () => Jn(Oe, s.value.flipY),
class: L(il.FlipY),
title: () => o.value.flipVertical,
hidden: () => a.flipDisabled
},
{
name: il.ZoomIn,
process: () => Se(a.zoomDelta),
iconRenderer: () => Jn(Oe, s.value.zoomIn),
class: L(il.ZoomIn),
title: () => o.value.zoomIn,
hidden: () => a.zoomDisabled
},
{
name: il.ZoomOut,
process: () => Se(-1 * a.zoomDelta),
iconRenderer: () => Jn(Oe, s.value.zoonOut),
class: L(il.ZoomOut),
title: () => o.value.zoomOut,
hidden: () => a.zoomDisabled
},
{
name: il.FullScreen,
process: () => Ce(!v.value),
iconRenderer: () => Jn(Oe, v.value ? s.value.resetScreen : s.value.fullScreen),
class: L(il.FullScreen),
title: () => v.value ? o.value.fullScreenExit : o.value.fullScreen,
hidden: () => a.fullDisabled
},
{
name: il.Reset,
process: () => fe(),
iconRenderer: () => Jn(Oe, s.value.refresh),
class: L(il.Reset),
title: () => o.value.reset
}
], G = g(() => ({
[n.b()]: !0,
[n.bs("vars")]: !0,
[n.bm("inherit")]: a.inherit,
[n.bm("draggable")]: !a.moveDisabled,
[n.bm("resizable")]: !a.zoomDisabled,
[n.bm("full")]: v.value,
[n.bm("moving")]: z.value,
[n.bm("static")]: a.noTransition
})), ee = g(() => ({
width: Mr(a.width),
height: Mr(a.height)
})), O = g(() => {
const [se] = a.toolbarPlacement.split("-");
return se === "left" || se === "right";
}), H = g(() => typeof a.toolbarFade == "number" ? a.toolbarFade : a.toolbarFade ? 1500 : 0), U = g(() => ({
[n.be("toolbar")]: !0,
[n.bem("toolbar", "active")]: H.value < 300 || d.value,
[n.bem("toolbar", a.toolbarPlacement)]: !0,
[n.bem("toolbar", "vertical")]: O.value
})), q = g(() => ({
transform: `translate3d(${F.value}px, ${A.value}px, 0) scale(${p.value})`
})), Z = g(() => ({
transform: `scaleX(${b.value ? -1 : 1}) scaleY(${f.value ? -1 : 1}) rotate(${m.value}deg)`
})), K = g(() => {
var J;
const se = /* @__PURE__ */ new Map(), ne = [];
I.concat(a.actions).forEach((N) => {
N.name && se.set(N.name, N);
});
let ue;
(J = a.actionLayout) != null && J.length ? ue = a.actionLayout : (ue = [...f1], a.actions.length && ue.push(a.actions.map((N) => N.name)));
for (const N of ue) {
const j = N.map((ae) => se.get(ae)).filter(Boolean);
j.length && ne.push(j);
}
return ne;
});
r({
moving: z,
fullSupported: i,
state: C,
viewer: u,
container: T,
transition: h,
handleRotate: de,
toggleFlipHorizontal: te,
toggleFlipVertical: Ee,
handleZoom: Se,
toggleFull: Ce,
handleReset: fe
}), sn(() => {
if (T.value) {
const se = T.value.getBoundingClientRect();
E.x = se.left + se.width * 0.5, E.y = se.top + se.height * 0.5;
}
});
function we(se) {
se.stopPropagation(), se.preventDefault();
const ne = se.deltaY > 0 ? -1 : 1;
E.x = se.clientX, E.y = se.clientY, _(a.onWheel, ne, C), Se(ne * a.zoomDelta);
}
function de(se, ne = !0) {
a.rotateDisabled || (m.value += se, a.noTransition && m.value % 360 === 0 && (m.value = 0), ne && _(a.onRotate, se, C), a.noTransition && kt(ot));
}
function te(se = !b.value, ne = !0) {
a.flipDisabled || (b.value = se, ne && _(a.onFlipX, se, C));
}
function Ee(se = !f.value, ne = !0) {
a.flipDisabled || (f.value = se, ne && _(a.onFlipY, se, C));
}
function Se(se, ne = !0) {
if (a.zoomDisabled || !T.value || z.value) return;
const ue = T.value.getBoundingClientRect(), { x: J, y: N } = E, { offsetWidth: j, offsetHeight: ae } = T.value, be = p.value;
p.value = _n(cn(p.value + se, a.zoomMin, a.zoomMax), 5);
const re = p.value / be - 1, ce = re * j * 0.5, Pe = re * ae * 0.5;
a.centerScale || (F.value -= re * (J - ue.left - F.value) - ce, A.value -= re * (N - ue.top - A.value) - Pe), ne && _(a.onZoom, p.value, C);
}
async function Ce(se = !v.value, ne = !0) {
se ? await k() : await w(), ne && _(a.onFull, se, C);
}
function fe(se = !0) {
A.value = 0, F.value = 0, m.value = 0, b.value = !1, f.value = !1, p.value = 1, se && _(a.onReset, C);
}
function ot() {
if (a.noTransition) {
m.value % 360 === 0 && (m.value = 0);
return;
}
const se = [];
m.value % 360 === 0 && se.push(
() => {
h.value && (h.value.style.transitionDuration = "0ms");
},
() => {
m.value = 0;
},
() => {
h.value && (h.value.style.transitionDuration = "");
}
);
const ne = () => {
var ue;
(ue = se.shift()) == null || ue(), se.length && requestAnimationFrame(ne);
};
ne();
}
function Ze() {
clearTimeout(c.toolbarFade), d.value = !0;
}
function Je() {
clearTimeout(c.toolbarFade), H.value >= 300 && (c.toolbarFade = setTimeout(() => {
d.value = !1;
}, H.value));
}
return (se, ne) => (S(), D("div", {
ref_key: "viewer",
ref: u,
class: x(G.value),
tabindex: "0",
style: Qe(ee.value)
}, [
oe("div", {
ref_key: "container",
ref: T,
class: x(e(n).be("container")),
onWheel: we
}, [
oe("div", {
class: x(e(n).be("content")),
style: Qe(q.value)
}, [
oe("div", {
ref_key: "transition",
ref: h,
class: x(e(n).be("transition")),
style: Qe(Z.value),
onTransitionend: ot
}, [
W(se.$slots, "default", { state: C })
], 38)
], 6)
], 34),
oe("div", {
class: x(U.value),
role: "toolbar",
onMouseenter: Ze,
onMouseleave: Je
}, [
(S(!0), D(st, null, ln(K.value, (ue, J) => (S(), D(st, { key: J }, [
(S(!0), D(st, null, ln(ue, (N) => (S(), D(st, {
key: N.name
}, [
R(N, "hidden") ? ge("", !0) : (S(), D("button", {
key: 0,
type: "button",
class: x([
{
[e(n).be("action")]: !0,
[e(n).bem("action", "disabled")]: R(N, "disabled")
},
R(N, "class")
]),
title: R(N, "title"),
onClick: gt((j) => N.process(C), ["stop"])
}, [
W(se.$slots, `action-${N.name}`, { state: C }, () => [
N.iconRenderer ? (S(), Be(e(me), {
key: 0,
renderer: N.iconRenderer,
data: C
}, null, 8, ["renderer", "data"])) : N.icon ? (S(), Be(e(Oe), {
key: 1,
icon: N.icon,
style: Qe(R(N, "iconStyle")),
scale: R(N, "iconScale") || 1
}, null, 8, ["icon", "style", "scale"])) : (S(), D(st, { key: 2 }, [
dt(ze(N.name), 1)
], 64))
])
], 10, p1))
], 64))), 128)),
J !== K.value.length - 1 ? (S(), Be(e(Vd), {
key: 0,
inherit: "",
vertical: !O.value
}, null, 8, ["vertical"])) : ge("", !0)
], 64))), 128))
], 34)
], 6));
}
}), v1 = ft({
src: String,
fallbackSrc: String,
alt: String,
fit: String,
width: [String, Number],
height: [String, Number],
imgAttrs: Object,
lazy: M,
root: [String, Object, Function],
rootMargin: String,
preview: M,
skeleton: {
type: [Boolean, Object],
default: null
},
placeholder: String,
errorTip: String,
radius: Number,
border: hn,
previewSrc: String,
viewerTransfer: hn,
viewerProps: Object,
slots: Object,
onLoad: B(),
onError: B(),
onPreview: B()
}), h1 = ft({
showAll: M,
preview: M,
viewerTransfer: hn,
slots: Object,
onPreview: B()
}), m1 = ft({
active: M,
index: Number,
srcList: [String, Array],
transfer: hn,
viewerProps: Object,
slots: Object,
onToggle: B(),
onChange: B(),
onPrev: B(),
onNext: B(),
onClose: B(),
onShow: B(),
onHide: B()
}), b1 = ["src"], Ai = /* @__PURE__ */ Xe({
name: "ImageViewer",
__name: "image-viewer",
props: m1,
emits: ["update:active", "update:index"],
setup(t, { expose: r, emit: l }) {
const n = ct("imageViewer", t, {
active: !1,
index: 0,
srcList: {
default: "",
static: !0
},
transfer: !1,
viewerProps: () => ({}),
slots: () => ({})
}), o = l, s = Ye("image-viewer"), c = Gt(), d = $(n.active), p = $(n.index), m = $(), b = g(() => [s.b(), s.ns("image-vars"), n.inherit && s.bm("inherit")]), f = g(() => ur(dn(n.srcList) ? n.srcList : "")), u = g(() => p.value <= 0), h = g(() => p.value >= f.value.length - 1);
le(
() => n.active,
(C) => {
d.value = C;
}
), le(
() => n.index,
(C) => {
p.value = C;
}
), le(() => f.value.length, v), r({
currentActive: d,
currentIndex: p,
prevDisabled: u,
nextDisabled: h,
viewer: m
});
function i(C) {
d.value !== C && (d.value = C, o("update:active", C), _(n.onToggle, C));
}
function v() {
p.value = cn(p.value, 0, f.value.length - 1);
}
function k() {
var E;
const C = p.value;
(E = m.value) == null || E.handleReset(), o("update:index", C), _(n.onChange, C, f.value[C]);
}
function w() {
if (u.value) return;
const C = p.value;
p.value--, v(), p.value !== C && k(), _(n.onPrev, p.value, f.value[p.value]);
}
function T() {
if (h.value) return;
const C = p.value;
p.value++, v(), p.value !== C && k(), _(n.onNext, p.value, f.value[p.value]);
}
function F() {
i(!1), _(n.onClose);
}
function A() {
_(n.onShow);
}
function z() {
_(n.onHide);
}
return (C, E) => (S(), Be(e(fr), {
active: d.value,
inherit: e(n).inherit,
class: x(b.value),
closable: "",
"auto-remove": "",
transfer: e(n).transfer,
onShow: A,
onHide: z,
onToggle: i
}, {
default: X(({ show: P }) => [
el(oe("div", {
class: x(e(s).be("wrapper"))
}, [
y(e(Wd), He(e(n).viewerProps, {
ref_key: "viewer",
ref: m
}), {
default: X(() => [
W(C.$slots, "default", {
src: f.value[p.value]
}, () => [
y(e(me), {
renderer: e(n).slots.default,
data: { src: f.value[p.value] }
}, {
default: X(() => [
oe("img", {
src: f.value[p.value]
}, null, 8, b1)
]),
_: 1
}, 8, ["renderer", "data"])
])
]),
_: 3
}, 16),
f.value.length > 1 ? (S(), D(st, { key: 0 }, [
oe("button", {
type: "button",
class: x([e(s).be("prev"), u.value && e(s).bem("prev", "disabled")]),
onClick: gt(w, ["stop"])
}, [
W(C.$slots, "prev", { disabled: u.value }, () => [
y(e(me), {
renderer: e(n).slots.prev,
data: { disabled: u.value }
}, {
default: X(() => [
oe("div", {
class: x(e(s).be("prev-handler"))
}, [
y(e(Oe), He(e(c).angleLeft, {
scale: +(e(c).angleLeft.scale || 1) * 1.4,
label: "prev"
}), null, 16, ["scale"])
], 2)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2),
oe("button", {
type: "button",
class: x([e(s).be("next"), h.value && e(s).bem("next", "disabled")]),
onClick: gt(T, ["stop"])
}, [
W(C.$slots, "next", { disabled: h.value }, () => [
y(e(me), {
renderer: e(n).slots.next,
data: { disabled: h.value }
}, {
default: X(() => [
oe("div", {
class: x(e(s).be("next-handler"))
}, [
y(e(Oe), He(e(c).angleRight, {
scale: +(e(c).angleRight.scale || 1) * 1.4,
label: "next"
}), null, 16, ["scale"])
], 2)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2)
], 64)) : ge("", !0),
oe("button", {
type: "button",
class: x(e(s).be("close")),
onClick: gt(F, ["stop"])
}, [
W(C.$slots, "close", {}, () => [
y(e(me), {
renderer: e(n).slots.close
}, {
default: X(() => [
oe("div", {
class: x(e(s).be("close-handler"))
}, [
y(e(Oe), He(e(c).close, {
scale: +(e(c).close.scale || 1) * 1.4,
label: "close"
}), null, 16, ["scale"])
], 2)
]),
_: 1
}, 8, ["renderer"])
])
], 2)
], 2), [
[tl, P]
])
]),
_: 3
}, 8, ["active", "inherit", "class", "transfer"]));
}
}), g1 = ft({
size: An,
width: [Number, String],
height: [Number, String],
repeat: Number,
tag: String,
activated: M,
image: M,
imageIcon: Xt,
iconScale: Number,
round: M,
circle: M,
block: M,
spread: Number,
loading: M
}), y1 = ft({
size: An,
tag: hn,
itemTag: String,
activated: M,
round: M,
circle: M,
block: M,
loading: M
}), Kd = "__VXP_SKELETON_GROUP_STATE", Ud = /* @__PURE__ */ Xe({
name: "Skeleton",
inheritAttrs: !1,
props: g1,
setup(t, {
attrs: r,
slots: l
}) {
const a = ct("skeleton", t, {
size: null,
width: null,
height: null,
repeat: {
default: 1,
validator: (k) => k > 0
},
tag: "div",
activated: null,
image: !1,
imageIcon: en(),
iconScale: 4,
round: null,
circle: null,
block: null,
spread: 0,
loading: null
}), n = Et(Kd, {}), o = Ye("skeleton"), s = Gt(), c = g(() => a.activated ?? n.activated ?? !1), d = g(() => a.round ?? n.round ?? !1), p = g(() => a.circle ?? n.circle ?? !1), m = g(() => a.block ?? n.block ?? !1), b = g(() => a.loading ?? n.loading ?? !0), f = g(() => a.tag || n.itemTag || "div"), u = g(() => ({
[o.b()]: !0,
[o.bs("vars")]: !0,
[o.bm("inherit")]: Object.keys(n).length || a.inherit,
[o.bm(a.size)]: a.size ?? (n == null ? void 0 : n.size),
[o.bm("block")]: m.value,
[o.bm("image")]: a.image,
[o.bm("round")]: d.value && !p.value,
[o.bm("circle")]: p.value,
[o.bm("activated")]: c.value
})), h = g(() => {
const k = {};
return a.width !== null && (k[o.cv("width")] = i(a.width)), a.height !== null && (k[o.cv("height")] = i(a.height)), a.spread && (k[o.cv("spread")] = i(a.spread)), k;
});
function i(k) {
return typeof k == "number" ? `${k}px` : (k = k.trim(), /\d$/.test(k) ? `${k}px` : k);
}
function v() {
const k = f.value || "div";
return y(k, He(r, {
class: [u.value, r.class],
style: [h.value, r.style]
}), {
default: () => [a.image ? y(Oe, He(s.value.image, {
icon: a.imageIcon || s.value.image.icon,
scale: a.iconScale
}), null) : null]
});
}
return () => b.value ? a.repeat > 1 ? Array.from({
length: a.repeat
}, () => v()) : v() : W(l, "default");
}
}), Xd = "__VXP_IMAGE_GROUP_STATE", k1 = Object.freeze([
"fill",
"contain",
"cover",
"none",
"scale-down"
]), w1 = ["src", "alt", "width", "height", "loading", "aria-label"], x1 = /* @__PURE__ */ Xe({
name: "Image",
__name: "image",
props: v1,
setup(t, { expose: r }) {
const l = _p(), n = ct("image", t, {
src: {
default: "",
static: !0
},
fallbackSrc: "",
alt: "",
fit: {
default: "cover",
validator: (I) => k1.includes(I)
},
width: "",
height: "",
imgAttrs: () => ({}),
lazy: !1,
root: {
default: null,
static: !0
},
rootMargin: "",
preview: !1,
skeleton: !1,
placeholder: "",
errorTip: "",
radius: 0,
border: !1,
previewSrc: "",
viewerTransfer: null,
viewerProps: () => ({}),
slots: () => ({})
}), o = kn(), s = Et(Xd, null), c = Ye("image"), d = vn("image"), p = $(l), m = $(p.value), b = $(""), f = $(!1), u = $(!1), h = $(!1), i = $(!1), v = $(), k = g(() => f.value && (!n.fallbackSrc || u.value)), w = g(() => !s && n.preview), T = g(() => [
c.b(),
c.bs("vars"),
{
[c.bm("inherit")]: n.inherit,
[c.bm("border")]: n.border,
[c.bm("loading")]: m.value,
[c.bm("error")]: k.value,
[c.bm("preview")]: (s == null ? void 0 : s.preview) || w.value
}
]), F = g(() => {
const I = {
width: Mr(n.width),
height: Mr(n.height),
[c.cv("fit")]: n.fit,
[c.cv("radius")]: n.radius ? `${n.radius}px` : ""
};
return n.border && typeof n.border == "string" && (I[c.cv("b-color")] = n.border), I;
}), A = g(() => {
var I;
return n.src || ((I = n.imgAttrs) == null ? void 0 : I.src);
}), z = g(() => i.value || l && n.lazy ? "lazy" : void 0), C = g(() => typeof n.skeleton == "object" ? Object.assign({ activated: !0 }, n.skeleton) : { activated: !0 });
le(A, (I) => {
m.value = p.value, b.value = I, f.value = !1, u.value = !1;
}), le(
() => n.fallbackSrc,
(I) => {
u.value = !1, f.value && (m.value = p.value, b.value = I);
}
), b.value = A.value;
const E = pt({
src: g(() => n.previewSrc || b.value),
index: 0,
total: 0
});
if (s) {
s.increaseItem(E);
const I = In(() => {
i.value = !s.showAll && E.index > 0;
});
pn(() => {
I(), s.decreaseItem(E);
});
}
if (!l) {
let I;
const G = In(() => {
if (I == null || I(), I = void 0, !zt) return;
const ee = typeof n.root == "string" ? document.querySelector(n.root) : n.root;
n.lazy && (I = $h({
root: typeof ee == "object" ? ee : document.documentElement,
rootMargin: n.rootMargin,
target: v,
handler: () => {
I == null || I(), I = void 0, p.value = !0, m.value = !0;
}
}).disconnect);
});
pn(() => {
G(), I == null || I();
});
}
r({
loading: m,
fallbackFail: u,
viewerActive: h,
hidden: i,
wrapper: v
});
function P(I) {
m.value = !1, (!n.fallbackSrc || b.value !== n.fallbackSrc) && _(n.onLoad, I);
}
function R(I) {
if (n.fallbackSrc) {
if (b.value === n.fallbackSrc) {
m.value = !1, u.value = !0;
return;
}
b.value = n.fallbackSrc;
} else
m.value = !1;
f.value = !0, _(n.onError, I);
}
function L() {
if (!s) {
n.preview && (h.value = !0), _(n.onPreview, n.previewSrc || b.value);
return;
}
s.handlePreview(E);
}
return (I, G) => el((S(), D("div", {
ref_key: "wrapper",
ref: v,
class: x(T.value),
role: "none",
style: Qe(F.value)
}, [
m.value ? W(I.$slots, "placeholder", { key: 0 }, () => [
y(e(me), {
renderer: e(n).slots.placeholder
}, {
default: X(() => [
e(n).skeleton ? (S(), Be(e(Ud), He({ key: 0 }, C.value, {
class: e(c).be("skeleton"),
image: ""
}), null, 16, ["class"])) : (S(), D("span", {
key: 1,
class: x(e(c).be("placeholder"))
}, ze(e(n).placeholder || e(d).placeholder), 3))
]),
_: 1
}, 8, ["renderer"])
]) : k.value ? W(I.$slots, "error", { key: 1 }, () => [
y(e(me), {
renderer: e(n).slots.error
}, {
default: X(() => [
oe("span", {
class: x(e(c).be("error"))
}, ze(e(n).errorTip || e(n).alt || e(d).error), 3)
]),
_: 1
}, 8, ["renderer"])
]) : ge("", !0),
p.value && !k.value ? (S(), D("img", He({ key: 2 }, e(n).imgAttrs, {
class: e(c).be("img"),
src: b.value,
alt: e(n).alt,
width: e(n).width || void 0,
height: e(n).height || void 0,
loading: z.value,
"aria-label": e(n).alt,
onLoad: P,
onError: R,
onClick: L
}), null, 16, w1)) : ge("", !0),
w.value ? (S(), Be(e(Ai), He({ key: 3 }, I.viewerProps, {
active: h.value,
"onUpdate:active": G[0] || (G[0] = (ee) => h.value = ee),
"src-list": e(n).previewSrc || b.value,
transfer: e(n).viewerTransfer
}), nl({ _: 2 }, [
o.preview || e(n).slots.preview ? {
name: "default",
fn: X(({ src: ee }) => [
W(I.$slots, "preview", { src: ee }, () => [
y(e(me), {
renderer: e(n).slots.preview,
data: { src: ee }
}, null, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0
]), 1040, ["active", "src-list", "transfer"])) : ge("", !0)
], 6)), [
[tl, !i.value]
]);
}
}), S1 = /* @__PURE__ */ Xe({
name: "ImageGroup",
__name: "image-group",
props: h1,
setup(t, { expose: r }) {
const a = ct("imageGroup", t, {
showAll: !1,
preview: !1,
viewerTransfer: null,
slots: () => ({})
}), n = kn(), o = Ye("image-group"), s = $(!1), c = $(0), d = pt(/* @__PURE__ */ new Set()), p = g(() => [
o.b(),
o.ns("image-vars"),
{
[o.bm("preview")]: a.preview
}
]), m = g(() => Array.from(d).map((i) => i.src)), b = Ln(() => {
const i = d.size;
Array.from(d).forEach((v, k) => {
v.index = k, v.total = i;
});
});
nn(
Xd,
pt({
showAll: qe(a, "showAll"),
preview: qe(a, "preview"),
increaseItem: f,
decreaseItem: u,
handlePreview: h
})
), r({ currentActive: s, currentIndex: c });
function f(i) {
d.add(i), b();
}
function u(i) {
d.delete(i), b();
}
function h(i) {
c.value = i.index, s.value = !0, _(a.onPreview, i.src, Array.from(m.value));
}
return (i, v) => (S(), D("div", {
class: x(p.value)
}, [
W(i.$slots, "default"),
e(a).preview ? (S(), Be(e(Ai), {
key: 0,
active: s.value,
"onUpdate:active": v[0] || (v[0] = (k) => s.value = k),
index: c.value,
"onUpdate:index": v[1] || (v[1] = (k) => c.value = k),
"src-list": m.value,
transfer: e(a).viewerTransfer
}, nl({ _: 2 }, [
n.preview || e(a).slots.preview ? {
name: "default",
fn: X(({ src: k }) => [
W(i.$slots, "preview", { src: k }, () => [
y(e(me), {
renderer: e(a).slots.preview,
data: { src: k }
}, null, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0
]), 1032, ["active", "index", "src-list", "transfer"])) : ge("", !0)
], 2));
}
}), lo = {
type: [String, Boolean, Function],
default: null
}, C1 = ft({
locale: Mn(),
noAside: M,
footer: M,
tag: String,
menus: Object,
menuProps: Object,
logo: String,
signName: String,
config: Array,
user: Object,
actions: Array,
expanded: M,
reduced: M,
avatarCircle: M,
signType: String,
headerFixed: lo,
asideFixed: lo,
copyright: String,
links: Array,
colors: Array,
color: String,
miniHeaderSign: lo,
verticalLinks: lo,
darkMode: M,
fixedMain: M,
fitWindow: M,
innerClasses: Object,
noHeader: M,
noMasker: M,
onExpandedChange: B(),
onReducedChange: B(),
onSignClick: B(),
onMenuSelect: B(),
onUserAction: B(),
onNavChange: B(),
onColorChange: B(),
onToggleTheme: B(),
onContentResize: B()
}), T1 = ft({
tag: String,
expanded: M,
reduced: M,
menus: Array,
menuProps: Object,
logo: String,
signName: String,
fixed: hn,
signType: String,
onExpandedChange: B(),
onReducedChange: B(),
onSignClick: B(),
onMenuSelect: B()
}), $1 = ft({
locale: Mn(),
tag: String,
logo: String,
signName: String,
user: Object,
userDropped: M,
avatarCircle: M,
config: Array,
actions: Array,
signType: String,
colors: Array,
color: String,
menus: Object,
menuProps: Object,
darkMode: M,
onNavChange: B(),
onColorChange: B(),
onUserAction: B(),
onSignClick: B(),
onDroppedChange: B(),
onExpandedChange: B(),
onReducedChange: B(),
onMenuSelect: B(),
onToggleTheme: B()
}), E1 = ft({
tag: String,
fixed: M
}), A1 = ft({
tag: String,
copyright: String,
links: Array,
verticalLinks: hn
}), Yd = "___VXP_LAYOUT_STATE", No = zt ? document.documentElement : void 0, ks = No && getComputedStyle(No);
function ju(t) {
if (!No || !ks) return;
const r = {
light: [],
opacity: [],
dark: []
}, l = Qn(
ks.getPropertyValue("--vxp-color-black") || { r: 0, g: 0, b: 0, a: 1 }
), a = Qn(
ks.getPropertyValue("--vxp-color-white") || { r: 255, g: 255, b: 255, a: 1 }
), n = No.style;
for (let o = 1; o < 10; ++o) {
const s = ia(a, t, o * 0.1).toString(), c = ml(t, _n(1 - o * 0.1, 1)).toString();
n.setProperty(`--vxp-color-primary-light-${o}`, s), n.setProperty(`--vxp-color-primary-opacity-${o}`, c), r.light.push(s), r.opacity.push(c);
}
for (let o = 1; o < 3; ++o) {
const s = ia(l, t, o * 0.1).toString();
n.setProperty(`--vxp-color-primary-dark-${o}`, s), r.dark.push(s);
}
return n.setProperty("--vxp-color-primary-base", `${t}`), r;
}
function ns() {
return Et(
Yd,
pt({
isLayout: !1,
locked: !1,
affixed: !1,
scrollY: 0,
affixMatched: !1,
expandMatched: !1,
useExpand: !1,
expanded: !1,
reduced: !1,
navConfig: !1,
classes: Object.freeze({}),
changeInLock: Qt
})
);
}
const R1 = Object.freeze(["xs", "sm", "md", "lg", "xl", "xxl"]);
function Sr(t) {
const r = $(!1), l = $(0), a = zt && getComputedStyle(document.documentElement), n = g(() => {
if (l.value, typeof t.value != "function" && R1.includes(t.value)) {
const d = t.value === "xs" ? "sm" : t.value;
if (d === Fo.value) return !0;
const p = a && a.getPropertyValue(`--vxp-break-point-${d}`).trim();
return p && `only screen and ${p}`;
}
return t.value;
});
let o = !1, s;
const c = () => {
if (typeof n.value == "boolean") {
r.value = n.value;
return;
}
if (!n.value || n.value === "min") {
r.value = !1;
return;
}
if (n.value === "max") {
r.value = !0;
return;
}
if (typeof n.value == "function") {
r.value = n.value(Fo.value);
return;
}
o && (s = matchMedia(n.value), s == null || s.addEventListener("change", c)), r.value = s.matches;
};
return le(n, () => {
c();
}), sn(() => {
++l.value, o = !0, c();
}), pn(() => {
o = !1, s == null || s.removeEventListener("change", c), s = void 0;
}), r;
}
function M1() {
const t = $(0);
return sn(() => {
t.value++;
}), Qs(() => {
t.value++;
}), t;
}
const qd = /* @__PURE__ */ Xe({
name: "LayoutMain",
props: E1,
setup(t, {
slots: r
}) {
const l = ct("layoutMain", t, {
tag: "main",
fixed: !1
}), a = Ye("layout"), n = ns(), o = g(() => [a.be("main"), l.fixed && a.bem("main", "fixed"), n.classes.main]);
return () => {
const s = l.tag || "main";
return y(s, {
class: o.value
}, {
default: () => {
var c;
return [(c = r.default) == null ? void 0 : c.call(r)];
}
});
};
}
}), P1 = ft({
active: String,
accordion: M,
markerType: String,
reduced: M,
horizontal: M,
transfer: hn,
trigger: String,
groupType: String,
tooltipReverse: M,
options: Array,
router: Object,
manualRoute: M,
indent: [String, Number],
arrow: Xt,
slots: Object,
onSelect: B(),
onExpand: B(),
onReduce: B()
}), z1 = ft({
label: String,
icon: Xt,
iconProps: Object,
disabled: M,
transfer: hn,
trigger: String,
transitionName: String,
meta: Object,
children: Array,
route: [String, Object],
arrow: Xt,
slots: Object,
onSelect: B()
}), uS = ft({
label: String,
children: Array
}), Do = "__VXP_MENU_ITEM_STATE", Gd = "__VXP_MENU_GROUP_STATE", ls = "__VXP_MENU_STATE", L1 = Lf(() => Promise.resolve().then(() => F1)), Kr = /* @__PURE__ */ Xe({
name: "MenuItem",
props: z1,
emits: [],
setup(t, {
slots: r,
expose: l
}) {
const a = ct("menuItem", t, {
label: {
default: null,
static: !0
},
icon: en(),
iconProps: null,
disabled: !1,
transfer: null,
trigger: null,
transitionName: null,
meta: null,
children: {
default: () => [],
static: !0
},
route: null,
arrow: null,
slots: () => ({})
}), n = Et(ls, null), o = Et(Do, null), s = Et(Gd, null), c = Ye("menu"), d = Gt(), p = fa(), {
isRtl: m
} = Un(), b = c.be("item"), f = $(m.value ? "left-start" : "right-start"), u = $(!1), h = $(!1), i = $(!1), v = $(!1), k = g(() => ((o == null ? void 0 : o.indent) ?? 0) + 1), w = g(() => a.transfer ?? (n == null ? void 0 : n.transfer) ?? !1), T = g(() => o ? o.transfer : !1), F = g(() => !T.value && w.value), A = g(() => (n == null ? void 0 : n.markerType) || "right"), z = Hl(Je), C = $(), {
reference: E,
transferTo: P,
updatePopper: R
} = Kl({
placement: f,
transfer: F,
wrapper: z,
popper: g(() => {
var j;
return (j = C.value) == null ? void 0 : j.wrapper;
}),
shift: {
crossAxis: !0
}
}), L = g(() => {
var j;
return !!(r.group || (j = a.children) != null && j.length);
}), I = g(() => L.value && u.value), G = g(() => ({
[b]: !0,
[`${b}--disabled`]: a.disabled,
[`${b}--group-visible`]: I.value,
[`${b}--selected`]: h.value,
[`${b}--no-icon`]: !a.icon,
[`${b}--son-selected`]: i.value
})), ee = g(() => {
if (n != null && n.horizontal || o != null && o.isUsePopper)
return {};
const j = c.gcv("indent-width"), ae = k.value + (n != null && n.isReduced ? 0 : (s == null ? void 0 : s.indent) ?? 0) * 0.25;
return {
paddingInlineStart: o && o.isUsePopper ? void 0 : `calc(${j} * ${ae})`
};
}), O = g(() => n && (n.horizontal || n.groupType === "dropdown") || L.value && (n == null ? void 0 : n.isReduced) && !o || !!(o != null && o.isUsePopper)), H = g(() => L.value || !!(o != null && o.isUsePopper || n && !n.isReduced)), U = g(() => !!(n != null && n.tooltipReverse)), q = g(() => (n == null ? void 0 : n.horizontal) && !o), Z = g(() => a.transitionName ?? q.value ? c.ns("drop") : c.ns("zoom")), K = g(() => a.trigger || (n == null ? void 0 : n.trigger) || "hover"), we = pt({
el: z,
label: qe(a, "label"),
indent: k,
groupExpanded: u,
showGroup: I,
isUsePopper: O,
parentState: o,
transfer: g(() => T.value || w.value),
cachedExpanded: u.value,
updateSonSelected: de,
toggleGroupExpanded: Se,
handleMouseEnter: ot,
handleMouseLeave: Ze
});
nn(Do, we), le(I, (j) => {
j && O.value && (v.value = !0, R());
}, {
immediate: !0
}), le(h, (j) => {
j && _(a.onSelect), n == null || n.doForEachItem((ae) => ae.updateSonSelected(!1, !1)), j && kt(() => {
o == null || o.updateSonSelected(j);
});
}), le(u, (j) => {
typeof (n == null ? void 0 : n.handleExpand) == "function" && n.handleExpand(a.label, j, a.meta || {});
}), le(q, (j) => {
f.value = j ? "bottom" : m.value ? "left-start" : "right-start";
}, {
immediate: !0
}), n && (le([() => a.label, () => n.currentActive], () => {
h.value = a.label === n.currentActive;
}, {
immediate: !0
}), typeof n.increaseItem == "function" && n.increaseItem(we)), pn(() => {
typeof (n == null ? void 0 : n.decreaseItem) == "function" && n.decreaseItem(we);
}), l({
groupExpanded: u,
isGroup: L,
showGroup: I,
isUsePopper: O,
handleSelect: Ee,
handleMouseEnter: ot,
handleMouseLeave: Ze
});
function de(j, ae = !0) {
i.value = j, ae && (o == null || o.updateSonSelected(j));
}
const {
timer: te
} = Vn();
function Ee() {
if (clearTimeout(te.hover), !a.disabled)
if (L.value) {
if (O.value && K.value !== "click") return;
n == null || n.doForEachItem((j) => {
n.accordion && (j.groupExpanded = !1);
}), u.value = !u.value;
} else
O.value && Se(!1, !0), n && n.handleSelect(a.label, a.meta || {}, a.route), h.value = !0;
}
function Se(j, ae = !1) {
clearTimeout(te.hover), n == null || n.doForEachItem((be) => {
n.accordion && (be.groupExpanded = !1);
}), u.value = j, ae && typeof (o == null ? void 0 : o.toggleGroupExpanded) == "function" && o.toggleGroupExpanded(j, ae);
}
let Ce = !1, fe = !1;
function ot() {
if (clearTimeout(te.hover), !(Ce || !O.value || K.value !== "hover")) {
if (!u.value && v.value) {
fe = !0;
return;
}
typeof (o == null ? void 0 : o.handleMouseEnter) == "function" && o.handleMouseEnter(), !(a.disabled || !L.value) && (te.hover = setTimeout(() => {
u.value = !0;
}, p.value));
}
}
function Ze() {
clearTimeout(te.hover), !(Ce || !v.value || !O.value || K.value !== "hover") && (typeof (o == null ? void 0 : o.handleMouseLeave) == "function" && o.handleMouseLeave(), !(a.disabled || !L.value) && (te.hover = setTimeout(() => {
u.value = !1;
}, p.value)));
}
function Je() {
O.value && K.value === "click" && kt(() => {
u.value = !1;
});
}
function se() {
if (v.value = !1, u.value = !1, fe) {
if (fe = !1, typeof (o == null ? void 0 : o.handleMouseEnter) == "function" && o.handleMouseEnter(), a.disabled || !L.value) return;
u.value = !0;
}
}
function ne(j) {
const ae = j.code || j.key;
ae === "Enter" || ae === "NumpadEnter" ? (j.stopPropagation(), Ee()) : ae === "Space" && (j.stopPropagation(), j.preventDefault(), Ee());
}
function ue() {
var ae;
if (!((ae = a.children) != null && ae.length))
return null;
const j = (be) => y(Kr, {
label: be.label,
icon: be.icon,
"icon-props": be.iconProps,
disabled: be.disabled,
children: be.children,
route: be.route,
meta: be.meta
}, {
default: () => [be.name ? vl(be.name) : be.label]
});
return a.children.map((be) => be.group ? y(L1, {
key: be.label,
label: be.name ? vl(be.name) : be.label
}, {
default: () => {
var re;
return [(re = be.children) == null ? void 0 : re.map(j)];
}
}) : j(be));
}
function J() {
const j = {
groupExpanded: u.value,
sonSelected: i.value
}, ae = a.arrow || (n == null ? void 0 : n.arrow) || d.value.angleDown.icon, be = () => y(me, {
renderer: a.slots.arrow,
data: j
}, {
default: () => [y(Oe, He(d.value.angleDown, {
icon: ae,
class: {
[c.be("arrow")]: !0,
[c.bem("arrow", "visible")]: u.value,
[c.bem("arrow", "son-selected")]: i.value
}
}), null)]
});
return n ? n.renderItemArrow(j, be) : be();
}
function N() {
return y(Fl, {
placement: m.value ? "left" : "right",
reverse: U.value,
shift: !0,
transfer: !0,
disabled: H.value
}, {
trigger: () => y("div", {
ref: E,
class: {
[c.be("label")]: !0,
[c.bem("label", `marker-${A.value}`)]: !0,
[c.bem("label", "in-popper")]: o == null ? void 0 : o.isUsePopper
},
role: "menuitem",
tabindex: 0,
"aria-disabled": a.disabled ? "true" : void 0,
style: ee.value,
onClick: Ee,
onKeydown: ne,
onMouseenter: ot,
onMouseleave: Ze
}, [(r.icon || a.icon) && y("div", {
class: c.be("icon")
}, [r.icon ? W(r, "icon") : y(Oe, He(a.iconProps, {
icon: a.icon
}), null)]), y("span", {
class: {
[c.be("title")]: !0,
[c.bem("title", "in-group")]: !q.value && L.value
}
}, [r.default ? W(r, "default") : a.label]), L.value && W(r, "arrow", {
groupExpanded: u.value,
sonSelected: i.value
}, () => [J()])]),
default: () => y("span", {
class: c.be("tooltip-title")
}, [r.default ? W(r, "default") : a.label])
});
}
return () => y("li", {
ref: z,
class: G.value,
role: "none"
}, [N(), y(Ul, {
appear: !0
}, {
default: () => [L.value && !O.value && el(y("ul", {
class: c.be("list")
}, [r.group ? W(r, "group") : ue()]), [[tl, I.value]])]
}), L.value && O.value && y(Xl, {
ref: C,
class: [c.be("popper"), c.bs("vars"), q.value && c.bem("popper", "drop")],
visible: v.value && I.value,
alive: !P.value || v.value,
to: P.value,
transition: Z.value,
onAfterLeave: se,
onMouseenter: () => (Ce = !0, ot()),
onMouseleave: () => (Ce = !1, Ze())
}, {
default: () => [y("ul", {
class: c.be("list")
}, [r.group ? W(r, "group") : ue()])]
})]);
}
}), as = /* @__PURE__ */ Xe({
name: "MenuGroup",
props: {
label: String,
children: Array
},
setup(t, {
slots: r
}) {
const l = ct("menuGroup", t, {
label: {
default: "",
static: !0
},
children: {
default: () => [],
static: !0
}
}), a = Et(ls, null), n = Et(Do, null), o = Ye("menu-group"), s = Ye("menu"), c = $(1);
n && (c.value = n.indent + 1);
const d = g(() => ({
paddingLeft: n != null && n.isUsePopper ? void 0 : `calc(${s.gcv("indent-width")} * ${c.value})`
})), p = g(() => (a == null ? void 0 : a.horizontal) && !n);
nn(Gd, pt({
indent: c
}));
function m() {
return W(r, "default", {}, () => {
var f;
if (!((f = l.children) != null && f.length))
return [];
const b = (u) => y(Kr, {
label: u.label,
icon: u.icon,
"icon-props": u.iconProps,
disabled: u.disabled,
children: u.children,
route: u.route,
meta: u.meta
}, {
default: () => [u.name ? vl(u.name) : u.label]
});
return l.children.map((u) => u.group ? y(as, {
key: u.label,
label: u.name ? vl(u.name) : u.label
}, {
default: () => {
var h;
return [(h = u.children) == null ? void 0 : h.map(b)];
}
}) : b(u));
});
}
return () => {
var b;
return p.value ? (b = r.default) == null ? void 0 : b.call(r) : y("li", {
class: o.b()
}, [y("div", {
class: o.be("label")
}, [y("span", {
class: o.be("title"),
style: d.value
}, [r.label ? r.label() : l.label])]), y("ul", {
class: o.be("list")
}, [m()])]);
};
}
}), F1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
default: as
}, Symbol.toStringTag, { value: "Module" })), I1 = /* @__PURE__ */ Xe({
name: "MenuRest",
props: {
menus: {
type: Array,
default: () => []
}
},
setup(t) {
const r = Et(ls, null), l = Ye("menu"), a = Gt(), n = fa(), o = $(!1), s = $(!1), c = $(!1), d = g(() => (r == null ? void 0 : r.transfer) ?? !1), p = g(() => (r == null ? void 0 : r.trigger) || "hover"), m = Hl(E), b = $(), {
reference: f,
transferTo: u,
updatePopper: h
} = Kl({
placement: $("bottom"),
transfer: d,
wrapper: m,
popper: g(() => {
var L;
return (L = b.value) == null ? void 0 : L.wrapper;
})
}), i = pt({
el: m,
label: "",
indent: 1,
groupExpanded: o,
showGroup: o,
isUsePopper: !0,
parentState: null,
transfer: d,
cachedExpanded: !1,
updateSonSelected: v,
toggleGroupExpanded: k,
handleMouseEnter: A,
handleMouseLeave: z
});
nn(Do, i), le(o, (L) => {
L && (c.value = !0, h());
});
function v(L) {
s.value = L;
}
function k(L) {
o.value = L;
}
const {
timer: w
} = Vn();
let T = !1, F = !1;
function A() {
if (clearTimeout(w.hover), !(T || p.value !== "hover")) {
if (!o.value && c.value) {
F = !0;
return;
}
w.hover = setTimeout(() => {
o.value = !0;
}, n.value);
}
}
function z() {
clearTimeout(w.hover), !(T || !c.value || p.value !== "hover") && (w.hover = setTimeout(() => {
o.value = !1;
}, n.value));
}
function C() {
p.value === "click" && (o.value = !0);
}
function E() {
p.value === "click" && kt(() => {
o.value = !1;
});
}
function P() {
c.value = !1, o.value = !1, F && (F = !1, o.value = !0);
}
function R() {
var L;
return (L = t.menus) != null && L.length ? t.menus.map((I) => y(Kr, {
key: I.label,
label: I.label,
icon: I.icon,
"icon-props": I.iconProps,
disabled: I.disabled,
children: I.children,
route: I.route,
meta: I.meta
}, {
default: () => [I.name ? vl(I.name) : I.label]
})) : null;
}
return () => y("div", {
ref: m,
class: l.be("rest"),
onMouseenter: A,
onMouseleave: z
}, [y("div", {
ref: f,
class: [l.be("rest-handler"), s.value && l.bem("rest-handler", "selected")],
onClick: C
}, [y(Oe, a.value.ellipsis, null)]), y(Xl, {
ref: b,
class: [l.be("popper"), l.bs("vars"), l.bem("popper", "drop")],
visible: c.value && o.value,
alive: !u.value || c.value,
to: u.value,
transition: l.ns("drop"),
onAfterLeave: P,
onMouseenter: () => (T = !0, A()),
onMouseleave: () => (T = !1, z())
}, {
default: () => [y("ul", {
class: [l.be("list"), l.bem("list", "theme")]
}, [R()])]
})]);
}
});
function N1(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const D1 = Object.freeze(["top", "right", "bottom", "left", "none"]), Ri = /* @__PURE__ */ Xe({
name: "Menu",
props: P1,
emits: ["update:active"],
setup(t, {
slots: r,
emit: l,
expose: a
}) {
const n = ct("menu", t, {
active: {
default: null,
static: !0
},
accordion: !1,
markerType: {
default: "right",
validator: (I) => D1.includes(I)
},
reduced: !1,
horizontal: !1,
transfer: !1,
trigger: "hover",
groupType: {
default: "collapse",
validator: (I) => ["collapse", "dropdown"].includes(I)
},
tooltipReverse: null,
options: {
default: () => [],
static: !0
},
router: null,
manualRoute: !1,
indent: null,
arrow: null,
slots: () => ({})
}), o = Ye("menu"), s = /* @__PURE__ */ new Set(), c = $(n.active), d = $(!1), p = $(), m = $(), b = g(() => n.horizontal && (n.markerType === "left" || n.markerType === "right") ? "bottom" : !n.horizontal && (n.markerType === "top" || n.markerType === "bottom") ? "right" : n.markerType ?? (n.horizontal ? "bottom" : "right")), f = g(() => [o.b(), o.bs("vars"), o.bm(`marker-${b.value}`), {
[o.bm("inherit")]: n.inherit,
[o.bm("reduced")]: d.value,
[o.bm("dropdown")]: n.groupType === "dropdown",
[o.bm("horizontal")]: n.horizontal
}]), u = g(() => {
const I = {};
return dn(n.indent) && (I[o.cv("indent-width")] = typeof n.indent == "number" ? `${n.indent}px` : n.indent), I;
}), h = g(() => {
var G, ee;
if ((G = n.options) != null && G.length)
return n.options;
const I = (ee = n.router) == null ? void 0 : ee.options.routes;
return I != null && I.length ? v(I) : [];
}), i = g(() => {
var I;
return (I = n.router) == null ? void 0 : I.currentRoute.value;
});
nn(ls, pt({
currentActive: c,
isReduced: d,
horizontal: qe(n, "horizontal"),
accordion: qe(n, "accordion"),
groupType: qe(n, "groupType"),
tooltipReverse: qe(n, "tooltipReverse"),
transfer: qe(n, "transfer"),
trigger: qe(n, "trigger"),
markerType: b,
arrow: qe(n, "arrow"),
handleSelect: F,
handleExpand: A,
increaseItem: k,
decreaseItem: w,
doForEachItem: T,
renderItemArrow: P
})), le(() => n.active, (I) => {
I !== c.value && (c.value = I);
}), le(() => n.reduced, (I) => {
n.horizontal || (I ? z() : C());
}), le(i, (I) => {
var G;
!n.manualRoute && I && (c.value = ((G = I.meta) == null ? void 0 : G.label) ?? I.path);
}), sn(() => {
var I;
if (kt(() => {
!n.horizontal && n.reduced && z();
}), n.router && !n.manualRoute && !c.value) {
const G = i.value;
G && (c.value = ((I = G.meta) == null ? void 0 : I.label) ?? i.value.path);
}
}), a({
expandItemByLabel: E
});
function v(I) {
const G = {
label: "",
children: []
}, ee = Array.from(I).map((O) => ({
parent: G,
route: O
}));
for (; ee.length; ) {
const {
parent: O,
route: H
} = ee.shift(), U = H.meta || {};
if (U.menu === !1)
continue;
const q = {
...U,
route: H,
label: U.label || H.path,
name: U.name || H.name
};
O.children || (O.children = []), O.children.push(q), H.children && ee.push(...H.children.map((Z) => ({
parent: q,
route: Z
})));
}
return G.children;
}
function k(I) {
s.add(I);
}
function w(I) {
s.delete(I);
}
function T(I) {
for (const G of s)
I(G);
}
function F(I, G, ee) {
c.value !== I && (c.value = I, l("update:active", I), _(n.onSelect, I, G), !n.manualRoute && n.router && ee && n.router.push(ee));
}
function A(I, G, ee) {
_(G ? n.onExpand : n.onReduce, I, ee);
}
function z() {
if (n.horizontal) return;
let I = null;
for (const G of s)
G.cachedExpanded = G.showGroup, !I && G.showGroup && (I = G), G.toggleGroupExpanded(!1);
d.value = !0;
}
function C() {
if (!n.horizontal && (d.value = !1, p.value)) {
const I = p.value, G = () => {
requestAnimationFrame(() => {
I.removeEventListener("transitionend", G);
const ee = Array.from(s).find((O) => O.label === c.value);
requestAnimationFrame(() => {
requestAnimationFrame(() => {
for (const O of s)
O.groupExpanded = O.cachedExpanded;
if (ee) {
let O = ee.parentState;
for (; O; )
O.groupExpanded = !0, O = O.parentState;
}
});
});
});
};
I.addEventListener("transitionend", G);
}
}
function E(I) {
for (const G of s)
G.label === I && G.toggleGroupExpanded(!0, !0);
}
function P(I, G) {
return W(r, "arrow", {
...I
}, () => {
let ee;
return [y(me, {
renderer: n.slots.arrow,
data: I
}, N1(ee = G()) ? ee : {
default: () => [ee]
})];
});
}
function R(I) {
return y(Kr, {
label: I.label,
icon: I.icon,
"icon-props": I.iconProps,
disabled: I.disabled,
children: I.children,
route: I.route,
meta: I.meta
}, {
default: () => [I.name ? vl(I.name) : I.label]
});
}
function L() {
return h.value.map((I) => I.group ? y(as, {
key: I.label,
label: I.name ? vl(I.name) : I.label
}, {
default: () => {
var G;
return [(G = I.children) != null && G.length ? I.children.map(R) : null];
}
}) : R(I));
}
return () => y("ul", {
ref: p,
class: f.value,
role: "menu",
tabindex: -1,
style: u.value
}, [W(r, "default", {}, () => n.horizontal ? [y(Go, {
class: o.be("overflow"),
inherit: !0,
key: 0
}, {
default: L,
counter: ({
count: I
}) => y(I1, {
ref: m,
menus: h.value.slice(-I)
}, null)
})] : L())]);
}
}), O1 = ft({
size: An,
state: Zn,
value: M,
disabled: M,
openColor: String,
closeColor: String,
loading: M,
loadingIcon: Xt,
loadingEffect: String,
openIcon: Xt,
closeIcon: Xt,
openText: String,
closeText: String,
onBeforeChange: Function,
rectangle: M,
name: String,
slots: Object,
onChange: B()
}), _1 = ["id", "aria-checked", "aria-disabled", "aria-labelledby"], B1 = ["checked", "disabled", "name"], Zd = /* @__PURE__ */ Xe({
name: "Switch",
__name: "switch",
props: O1,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const {
idFor: a,
labelId: n,
state: o,
disabled: s,
loading: c,
size: d,
validateField: p,
getFieldValue: m,
setFieldValue: b
} = al(() => {
var E;
return (E = w.value) == null ? void 0 : E.focus();
}), u = ct("switch", t, {
size: On(d),
state: ll(o),
value: {
default: () => m(),
static: !0
},
disabled: () => s.value,
openColor: "",
closeColor: "",
loading: () => c.value,
loadingIcon: en(),
loadingEffect: null,
openIcon: en(),
closeIcon: en(),
openText: "",
closeText: "",
onBeforeChange: {
default: null,
isFunc: !0
},
rectangle: !1,
name: {
default: "",
static: !0
},
slots: () => ({})
}), h = l, i = Ye("switch"), v = Gt(), k = $(u.value), w = $(), T = g(() => [
i.b(),
i.bs("vars"),
{
[i.bm("inherit")]: u.inherit,
[i.bm("open")]: k.value,
[i.bm(u.size)]: u.size !== "default",
[i.bm(u.state)]: u.state !== "default",
[i.bm("disabled")]: u.disabled,
[i.bm("loading")]: u.loading,
[i.bm("rectangle")]: u.rectangle
}
]), F = g(() => ({
backgroundColor: k.value ? u.openColor : u.closeColor
})), A = g(() => ({
color: k.value ? u.openColor : u.closeColor
})), z = g(() => u.disabled || u.loading);
le(
() => u.value,
(E) => {
k.value = E;
}
), r({
idFor: a,
labelId: n,
currentValue: k,
input: w,
focus: (E) => {
var P;
return (P = w.value) == null ? void 0 : P.focus(E);
},
blur: () => {
var E;
return (E = w.value) == null ? void 0 : E.blur();
}
});
async function C(E = !k.value) {
if (E === k.value) return;
let P = !0;
typeof u.onBeforeChange == "function" && (P = u.onBeforeChange(E), Sl(P) && (P = await P)), P !== !1 && (k.value = E, h("update:value", E), b(E), _(u.onChange, E), p());
}
return (E, P) => (S(), D("label", {
id: e(a),
class: x(T.value),
role: "switch",
"aria-checked": k.value,
"aria-disabled": z.value,
"aria-labelledby": e(n),
style: Qe(F.value)
}, [
oe("input", {
ref_key: "input",
ref: w,
type: "checkbox",
class: x(e(i).be("input")),
checked: k.value,
disabled: z.value,
name: e(u).name,
onSubmit: P[0] || (P[0] = gt(() => {
}, ["prevent"])),
onChange: P[1] || (P[1] = (R) => C()),
onClick: P[2] || (P[2] = gt(() => {
}, ["stop"]))
}, null, 42, B1),
oe("span", {
class: x(e(i).be("placeholder")),
"aria-hidden": ""
}, [
oe("span", {
class: x(e(i).be("open-text"))
}, [
W(E.$slots, "open", {}, () => [
y(e(me), {
renderer: e(u).slots.open
}, {
default: X(() => [
dt(ze(e(u).openText), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2),
oe("span", {
class: x(e(i).be("close-text"))
}, [
W(E.$slots, "close", {}, () => [
y(e(me), {
renderer: e(u).slots.open
}, {
default: X(() => [
dt(ze(e(u).closeText), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)
], 2),
oe("span", {
class: x(e(i).be("signal")),
style: Qe(A.value)
}, [
e(u).loading ? W(E.$slots, "loading", { key: 0 }, () => [
y(e(me), {
renderer: e(u).slots.loading
}, {
default: X(() => [
y(e(Oe), He(e(v).loading, {
effect: e(u).loadingEffect || e(v).loading.effect,
icon: e(u).loadingIcon || e(v).loading.icon,
label: "loading"
}), null, 16, ["effect", "icon"])
]),
_: 1
}, 8, ["renderer"])
]) : W(E.$slots, "icon", {
key: 1,
value: k.value
}, () => [
y(e(me), {
renderer: e(u).slots.icon,
data: { value: k.value }
}, {
default: X(() => [
k.value && e(u).openIcon ? (S(), Be(e(Oe), {
key: 0,
icon: e(u).openIcon
}, null, 8, ["icon"])) : !k.value && e(u).closeIcon ? (S(), Be(e(Oe), {
key: 1,
icon: e(u).closeIcon
}, null, 8, ["icon"])) : ge("", !0)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 6),
oe("span", {
class: x(e(i).be("label"))
}, [
k.value ? (S(), D("span", {
key: 0,
class: x(e(i).be("open-text"))
}, [
W(E.$slots, "open", {}, () => [
y(e(me), {
renderer: e(u).slots.open
}, {
default: X(() => [
dt(ze(e(u).openText), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : (S(), D("span", {
key: 1,
class: x(e(i).be("close-text"))
}, [
W(E.$slots, "close", {}, () => [
y(e(me), {
renderer: e(u).slots.open
}, {
default: X(() => [
dt(ze(e(u).closeText), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2))
], 2)
], 14, _1));
}
}), Jd = /* @__PURE__ */ Xe({
name: "LayoutHeader",
props: $1,
emits: ["update:sign-type", "update:color", "update:user-dropped", "update:dark-mode"],
setup(t, {
slots: r,
emit: l,
expose: a
}) {
var Ee;
const n = ct("layoutHeader", t, {
locale: null,
tag: "header",
logo: "",
signName: "",
user: {
default: () => ({
name: ""
}),
static: !0
},
userDropped: !1,
avatarCircle: !1,
config: () => ["nav", "theme", "color"],
actions: () => [],
signType: "aside",
colors: () => ["#339af0", "#f03e3e", "#be4bdb", "#7950f2", "#1b9e44", "#f76707"],
color: "",
menus: {
default: () => [],
static: !0
},
menuProps: null,
darkMode: null
}), o = Ye("layout"), s = Gt(), c = vn("layout", qe(n, "locale")), d = ns(), p = $(n.signType), m = $(n.userDropped), b = $(), {
isRtl: f
} = Un(), {
isMounted: u
} = _r(), h = g(() => (u.value, zt ? document.documentElement : null)), i = $(n.color || z() || ((Ee = n.colors) == null ? void 0 : Ee[0])), v = $(!1), k = g(() => [o.be("header"), {
[o.bs("vars")]: !d.isLayout,
[o.bem("header", "inherit")]: d.isLayout || n.inherit,
[o.bem("header", "away")]: !d.affixMatched,
[o.bem("header", "affixed")]: d.affixed
}, d.classes.header]), w = g(() => {
var Se;
return (Se = n.actions) != null && Se.length ? n.actions.filter((Ce) => !Ce.hidden) : [{
label: "signOut",
name: c.value.signOut,
icon: s.value.signOut.icon,
iconProps: s.value.signOut
}];
}), T = g(() => !!(n.logo || n.signName || r.left)), F = g(() => {
var Se, Ce;
return !!((Se = n.menus) != null && Se.length || (Ce = n.menuProps) != null && Ce.router);
}), A = yl(pt({
expanded: qe(d, "expanded"),
reduced: qe(d, "reduced"),
toggleExpanded: P,
toggleReduced: R,
handleColorChange: L,
toggleUserDropped: G
}));
a({
menu: b,
toggleExpanded: P,
toggleReduced: R,
expandMenuByLabel: O,
toggleUserDropped: G
}), le(() => n.signType, (Se) => {
p.value = Se;
}), le(() => n.userDropped, (Se) => {
m.value = Se;
}), le(i, ju), le(() => n.darkMode, (Se) => {
var Ce;
v.value = Se ?? ((Ce = h.value) == null ? void 0 : Ce.classList.contains("dark")) ?? !1;
}, {
immediate: !0
}), sn(() => {
H(v.value);
}), Ff(() => {
le(() => n.color, (Se) => {
var Ce;
i.value = Se || z() || ((Ce = n.colors) == null ? void 0 : Ce[0]);
}, {
immediate: !0
}), ju(i.value);
});
function z() {
return h.value ? getComputedStyle(h.value).getPropertyValue("--vxp-color-primary-base") : "#339af0";
}
function C(Se, Ce) {
_(n.onUserAction, Se, Ce);
}
function E(Se) {
d.changeInLock(() => {
p.value = Se, l("update:sign-type", Se), _(n.onNavChange, Se);
});
}
function P(Se = !d.expanded) {
d.expanded = Se, _(n.onExpandedChange, Se);
}
function R(Se = !d.reduced) {
d.reduced = Se, _(n.onReducedChange, Se);
}
function L(Se) {
i.value = Se, l("update:color", Se), _(n.onColorChange, Se);
}
function I(Se) {
_(n.onSignClick, Se);
}
function G(Se = !m.value) {
m.value = Se, l("update:user-dropped", Se), _(n.onDroppedChange, Se);
}
function ee(Se, Ce) {
G(!1), _(n.onMenuSelect, Se, Ce);
}
function O(Se) {
var Ce;
(Ce = b.value) == null || Ce.expandItemByLabel(Se);
}
function H(Se) {
v.value = Se, l("update:dark-mode", Se), _(n.onToggleTheme, Se), zt && requestAnimationFrame(() => {
h.value && (Se ? h.value.classList.add("dark") : h.value.classList.remove("dark"));
});
}
function U() {
return y(Oe, s.value.check, null);
}
function q() {
return y("div", {
class: o.be("config-unit")
}, [y("div", {
class: [o.be("brief-block"), o.bem("brief-block", "aside")],
onClick: () => E("aside")
}, [p.value === "aside" && U()]), y("div", {
class: o.be("brief-block"),
onClick: () => E("header")
}, [p.value === "header" && U()])]);
}
function Z() {
return y("div", {
class: o.be("config-unit")
}, [y(Zd, {
value: v.value,
class: [o.be("theme-mode"), v.value && o.bem("theme-mode", "dark")],
"aria-label": "theme",
onChange: H
}, {
icon: () => v.value ? y(Oe, s.value.dark, null) : y(Oe, s.value.light, null)
})]);
}
function K() {
var Se;
return (Se = n.colors) != null && Se.length ? y("div", {
class: o.be("config-unit")
}, [n.colors.map((Ce) => y("div", {
key: Ce,
class: o.be("major-color"),
style: {
backgroundColor: Ce
},
onClick: () => L(Ce)
}, [i.value === Ce && U()]))]) : null;
}
function we() {
var Se;
return r.avatar ? W(r, "avatar", A) : typeof ((Se = n.user) == null ? void 0 : Se.avatar) == "string" ? y(wa, {
src: n.user.avatar,
circle: n.avatarCircle,
onClick: () => G()
}, {
icon: () => y(Oe, s.value.user, null)
}) : y(wa, {
circle: n.avatarCircle,
onClick: () => G()
}, {
icon: () => y(Oe, He(s.value.user, {
icon: n.user.avatar || s.value.user.icon
}), null)
});
}
function de() {
return y(Qo, null, {
default: () => {
var Se, Ce;
return [((Se = n.user) == null ? void 0 : Se.name) && y("li", {
class: o.be("user-profile")
}, [y("span", {
class: o.be("user-name")
}, [n.user.name]), n.user.email && y("span", {
class: o.be("user-email")
}, [n.user.email])]), (Ce = n.config) != null && Ce.length ? te() : null, w.value.map((fe) => y(es, {
key: fe.label,
class: o.be("user-action"),
label: fe.label,
disabled: fe.disabled,
divided: fe.divided,
onSelect: () => C(fe.label, fe.meta || {})
}, {
default: () => [fe.icon && y(Oe, He(fe.iconProps, {
icon: fe.icon,
style: {
marginRight: "6px"
}
}), null), fe.name || fe.label]
}))];
}
});
}
function te() {
return y("li", {
class: o.be("config")
}, [n.config.includes("nav") && d.navConfig && [y("div", {
key: 1,
class: o.be("config-label")
}, [c.value.signType]), q()], n.config.includes("theme") && [y("div", {
key: 2,
class: o.be("config-label")
}, [c.value.themeMode]), Z()], n.config.includes("color") && [y("div", {
key: 3,
class: o.be("config-label")
}, [c.value.majorColor]), K()]]);
}
return () => {
const Se = n.tag || "header";
return y(Se, {
class: k.value
}, {
default: () => [T.value && y("div", {
class: [o.be("header-left"), d.classes.headerLeft]
}, [r.left ? W(r, "left", A) : n.signType === "header" ? y("div", {
class: o.be("sign"),
onClick: I
}, [n.logo && y("div", {
class: o.be("logo")
}, [y("img", {
src: n.logo,
alt: "Logo"
}, null)]), n.signName && y("span", {
class: o.be("sign-name")
}, [n.signName])]) : null]), y("div", {
class: [o.be("header-main"), d.classes.headerMain]
}, [r.default ? W(r, "default", A) : F.value ? y(Ri, He({
ref: b
}, n.menuProps || {}, {
horizontal: !0,
transfer: !0,
options: n.menus,
onSelect: ee
}), null) : null]), r.right && y("div", {
class: [o.be("header-right"), d.classes.headerRight]
}, [W(r, "right", A)]), r.user ? W(r, "user", A) : y(Jo, {
class: [o.be("user"), d.classes.headerUser],
transfer: !0,
placement: f.value ? "bottom-start" : "bottom-end",
visible: m.value,
trigger: "custom",
onClickOutside: () => G(!1)
}, {
default: we,
drop: de
})]
});
};
}
}), H1 = ft({
to: String,
type: String,
icon: Xt,
underline: M,
disabled: M,
target: String,
onClick: B()
}), V1 = ["href", "target"], Us = /* @__PURE__ */ Xe({
name: "Linker",
__name: "linker",
props: H1,
setup(t) {
const r = Object.freeze([
"default",
"primary",
"success",
"error",
"warning",
"info"
]), a = ct("linker", t, {
to: {
default: null,
static: !0
},
type: {
default: "default",
validator: (c) => r.includes(c)
},
icon: en(),
underline: !1,
disabled: !1,
target: "_blank"
}), n = Ye("linker"), o = g(() => ({
[n.b()]: !0,
[n.bs("vars")]: !0,
[n.bm("inherit")]: a.inherit,
[n.bm(a.type)]: a.type !== "default",
[n.bm("disabled")]: a.disabled,
[n.bm("underline")]: a.underline
}));
function s(c) {
a.disabled && c.preventDefault(), _(a.onClick, c);
}
return (c, d) => (S(), D("a", {
class: x(o.value),
href: e(a).to,
tabindex: "0",
target: e(a).target,
onClick: s
}, [
W(c.$slots, "icon", {}, () => [
e(a).icon ? (S(), Be(e(Oe), {
key: 0,
class: x(e(n).be("icon")),
icon: e(a).icon
}, null, 8, ["class", "icon"])) : ge("", !0)
]),
W(c.$slots, "default")
], 10, V1));
}
}), Qd = /* @__PURE__ */ Xe({
name: "LayoutFooter",
props: A1,
setup(t, {
slots: r
}) {
const l = ct("layoutFooter", t, {
tag: "footer",
copyright: "",
links: () => [],
verticalLinks: "md"
}), a = Ye("layout"), n = ns(), o = Sr(qe(l, "verticalLinks")), s = g(() => [a.be("footer"), {
[a.bs("vars")]: !n.isLayout,
[a.bem("footer", "inherit")]: n.isLayout || l.inherit
}, n.classes.footer]);
function c() {
var d;
return (d = l.links) != null && d.length ? y("div", {
class: [a.be("links"), !o.value && a.bem("links", "vertical"), n.classes.footerLinks]
}, [y("div", {
class: a.be("links-row")
}, [l.links.map((p, m) => {
var b;
return y("div", {
key: m,
class: [a.be("link-group"), !o.value && a.bem("link-group", "vertical")]
}, [y("div", {
class: [a.be("link-name"), a.bem("link-name", "group")]
}, [p.to ? y(Us, {
icon: p.icon,
to: p.to,
target: p.target
}, {
default: () => [p.name]
}) : [p.icon && y(Oe, {
icon: p.icon
}, null), p.name], p.subname && y("div", {
class: a.be("link-subname")
}, [`- ${p.subname}`])]), (b = p.children) != null && b.length ? p.children.map((f, u) => y("div", {
key: u,
class: a.be("link")
}, [y(Us, {
icon: f.icon,
to: f.to,
target: f.target
}, {
default: () => [f.name]
}), f.subname && y("div", {
class: a.be("link-subname")
}, [`- ${f.subname}`])])) : null]);
})])]) : y("div", {
role: "none",
"aria-hidden": !0,
style: "display: none"
}, null);
}
return () => {
const d = l.tag || "footer";
return y(d, {
class: s.value
}, {
default: () => [r.links ? W(r, "links") : c(), y("div", {
class: [a.be("copyright"), n.classes.copyright]
}, [r.copyright ? r.copyright() : l.copyright])]
});
};
}
}), ef = /* @__PURE__ */ Xe({
name: "LayoutAside",
props: T1,
emits: ["update:reduced", "update:expanded"],
setup(t, {
slots: r,
emit: l,
expose: a
}) {
const n = ct("layoutAside", t, {
tag: "aside",
expanded: !1,
reduced: !1,
menus: {
default: () => [],
static: !0
},
menuProps: null,
logo: "",
signName: "",
fixed: "lg",
signType: "aside"
}), o = Ye("layout"), s = Gt(), c = ns(), d = $(n.reduced), p = $(n.expanded), m = $("100%"), b = Sr(qe(n, "fixed")), f = M1(), u = $(), h = $(), i = $(), v = g(() => [o.be("aside"), {
[o.bs("vars")]: !c.isLayout,
[o.bem("aside", "inherit")]: c.isLayout || n.inherit,
[o.bem("aside", "fixed")]: b.value,
[o.bem("aside", "expanded")]: p.value,
[o.bem("aside", "reduced")]: d.value,
[o.bem("aside", "no-sign")]: n.signType !== "aside"
}, c.classes.aside]), k = g(() => !!(n.logo || n.signName || r.top)), w = g(() => {
var R, L;
return !!((R = n.menus) != null && R.length || (L = n.menuProps) != null && L.router);
}), T = yl(pt({
expanded: p,
reduced: d,
toggleExpanded: A,
toggleReduced: z
}));
a({
menu: i,
toggleExpanded: A,
toggleReduced: z,
expandMenuByLabel: P
}), le(() => n.reduced, (R) => {
d.value = R;
}), le(() => n.expanded, (R) => {
p.value = R;
}), le(b, (R) => {
c.useExpand = !R, R && A(!1);
}, {
immediate: !0
}), le(f, () => F);
function F() {
let R = 0, L = 0;
u.value && (R = u.value.offsetHeight), h.value && (L = h.value.offsetHeight), R || L ? m.value = `calc(100% - ${R + L}px)` : m.value = "100%";
}
function A(R = !p.value) {
p.value = R, l("update:expanded", R), _(n.onExpandedChange, R);
}
function z(R = !d.value) {
d.value = R, l("update:reduced", R), _(n.onReducedChange, R);
}
function C(R) {
_(n.onSignClick, R);
}
function E(R, L) {
_(n.onMenuSelect, R, L);
}
function P(R) {
var L;
(L = i.value) == null || L.expandItemByLabel(R);
}
return () => {
const R = n.tag || "aside";
return y(R, {
class: v.value
}, {
default: () => [k.value && y("div", {
ref: u,
class: [o.be("aside-top"), c.classes.asideTop]
}, [r.top ? W(r, "top", T) : y("div", {
class: o.be("sign"),
onClick: C
}, [n.logo && y("div", {
class: o.be("logo")
}, [y("img", {
src: n.logo,
alt: "Logo"
}, null)]), n.signName && y("span", {
class: o.be("sign-name")
}, [n.signName])])]), y(Al, {
class: [o.be("aside-main"), c.classes.main],
"use-y-bar": !0,
"observe-deep": !0,
height: m.value
}, {
default: () => [r.default ? W(r, "default", T) : w.value ? y(Ri, He({
ref: i
}, n.menuProps || {}, {
transfer: !0,
options: n.menus,
reduced: d.value,
onSelect: E
}), null) : null]
}), y("div", {
ref: h,
class: [o.be("aside-bottom"), c.classes.asideBottom]
}, [r.bottom ? W(r, "bottom", T) : y("div", {
class: o.be("reduce-handler"),
onClick: () => z()
}, [d.value ? y(Oe, s.value.indent, null) : y(Oe, s.value.outdent, null)])]), y("div", {
class: [o.be("expand-handler"), c.classes.expandHandler],
onClick: () => A()
}, [r.expand ? W(r, "expand", T) : y(Oe, s.value.angleRight, null)])]
});
};
}
});
function Wu(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const j1 = /* @__PURE__ */ Xe({
name: "Layout",
props: C1,
emits: ["update:expanded", "update:reduced", "update:sign-type", "update:color", "update:dark-mode"],
setup(t, {
slots: r,
emit: l,
expose: a
}) {
const n = ct("layout", t, {
locale: null,
noAside: !1,
footer: !1,
tag: "section",
menus: {
default: () => [],
static: !0
},
menuProps: null,
logo: "",
signName: "",
config: () => ["nav", "theme", "color"],
user: null,
actions: () => [],
expanded: !1,
reduced: !1,
avatarCircle: !1,
signType: "aside",
headerFixed: "lg",
asideFixed: "lg",
copyright: "",
links: () => [],
colors: () => ["#339af0", "#f03e3e", "#be4bdb", "#7950f2", "#1b9e44", "#f76707"],
color: "",
miniHeaderSign: "lg",
verticalLinks: "md",
darkMode: null,
fixedMain: !1,
fitWindow: !1,
innerClasses: () => ({}),
noHeader: !1,
noMasker: !1
}), o = Ye("layout"), s = $(!1), c = $(n.expanded), d = $(n.reduced), p = $(n.signType), m = $(!1), b = $(n.color), {
isMounted: f
} = _r("frame"), u = $(), h = $(), i = $(), v = $(), k = Sr(qe(n, "headerFixed")), w = Sr(qe(n, "asideFixed")), T = Sr(qe(n, "miniHeaderSign")), F = pt({
isLayout: !0,
locked: g(() => s.value),
affixed: !1,
scrollY: 0,
affixMatched: k,
expandMatched: w,
useExpand: !1,
expanded: c,
reduced: d,
navConfig: g(() => !n.noAside),
classes: qe(n, "innerClasses"),
changeInLock: Ce
}), A = g(() => !n.noHeader && p.value === "header"), z = g(() => [o.b(), o.bs("vars"), {
[o.bm("inherit")]: n.inherit,
[o.bm("no-aside")]: n.noAside,
[o.bm("no-header")]: n.noHeader,
[o.bm("header-main")]: A.value,
[o.bm("locked")]: !f.value || s.value,
[o.bm("fit-window")]: n.fitWindow
}]), C = g(() => zt && f.value ? document.documentElement : null), E = g(() => n.noAside || A.value || F.useExpand), P = g(() => {
var N, j;
return ((N = v.value) == null ? void 0 : N.menu) || ((j = i.value) == null ? void 0 : j.menu);
}), R = $(n.darkMode), L = $("100%"), I = g(() => ({
[o.cv("view-height")]: n.fitWindow ? "100vh" : L.value
})), G = Or(), ee = $(c.value ? G() : 0), O = yl(pt({
expanded: c,
reduced: d,
toggleExpanded: U,
toggleReduced: q
}));
nn(Yd, F), a({
scroll: h,
menu: P,
toggleExpanded: U,
toggleReduced: q,
expandMenuByLabel: te
}), le(k, (N) => {
F.affixed = !N && F.scrollY >= 50;
}), le(() => n.expanded, (N) => {
c.value = N;
}), le(c, (N) => {
F.useExpand && N && (ee.value = G());
}), le(() => n.reduced, (N) => {
d.value = N;
}), le(p, (N) => {
l("update:sign-type", N), _(n.onNavChange, N);
}), le(() => n.color, (N) => {
var j;
b.value = N || ((j = n.colors) == null ? void 0 : j[0]) || H();
}), le(b, (N) => {
l("update:color", N), _(n.onColorChange, N);
}), le(() => n.darkMode, (N) => {
R.value = N;
});
function H() {
return C.value ? getComputedStyle(C.value).getPropertyValue("--vxp-color-primary-base") : "#339af0";
}
function U(N = !d.value) {
c.value = N, l("update:expanded", N), _(n.onExpandedChange, N);
}
function q(N = !d.value) {
d.value = N, l("update:reduced", N), _(n.onReducedChange, N);
}
function Z(N) {
_(n.onSignClick, N);
}
function K(N, j) {
_(n.onMenuSelect, N, j);
}
function we(N) {
l("update:dark-mode", N), _(n.onToggleTheme, N);
}
function de(N, j) {
_(n.onUserAction, N, j);
}
function te(N) {
var j;
(j = P.value) == null || j.expandItemByLabel(N);
}
function Ee() {
var N;
(N = h.value) != null && N.$el && (L.value = `${h.value.$el.offsetHeight - Lp(h.value.$el)}px`), _(n.onContentResize);
}
let Se;
function Ce(N) {
Se == null || Se(), Se = Vp([() => s.value = !0, N, () => s.value = !1]);
}
function fe(N) {
N.stopPropagation(), N.preventDefault();
}
function ot() {
if (!n.logo && !n.signName && !r.sign)
return null;
if (r.sign)
return W(r, "sign", O);
const N = n.signName && !(E.value && !T.value);
return y("div", {
class: [o.be("sign"), !N && o.bem("sign", "logo-only")],
onClick: Z
}, [[n.logo && y("div", {
class: o.be("logo")
}, [y("img", {
src: n.logo,
alt: "Logo"
}, null)]), N && y("span", {
class: o.be("sign-name")
}, [n.signName])]]);
}
function Ze() {
return n.noHeader ? y("header", {
role: "none",
"aria-hidden": !0,
style: "display: none"
}, null) : r.header ? W(r, "header", O) : y(Jd, He({
ref: i,
"sign-type": p.value,
"onUpdate:sign-type": (N) => p.value = N,
"user-dropped": m.value,
"onUpdate:user-dropped": (N) => m.value = N,
color: b.value,
"onUpdate:color": (N) => b.value = N,
"dark-mode": R.value,
"onUpdate:dark-mode": (N) => R.value = N,
inherit: !0,
locale: n.locale,
user: n.user,
actions: n.actions,
config: n.config,
"avatar-circle": n.avatarCircle,
menus: n.noAside ? n.menus : [],
"menu-props": n.noAside ? n.menuProps : null,
colors: n.colors,
onUserAction: de,
onExpandedChange: U,
onReducedChange: q,
onMenuSelect: K,
onToggleTheme: we
}, {
onWheel: fe,
onMousemove: fe
}), {
left: Yn(r, ["header-left", "headerLeft"], () => E.value ? ot() : null),
default: Yn(r, ["header-main", "headerMain"]),
right: Yn(r, ["header-right", "headerRight"]),
user: Yn(r, ["header-user", "headerUser"]),
avatar: Yn(r, ["header-avatar", "headerAvatar"])
});
}
function Je() {
return n.noAside ? y("div", {
role: "none",
"aria-hidden": !0,
style: "display: none"
}, null) : y("div", {
class: [o.be("sidebar"), !w.value && o.bem("sidebar", "away"), n.innerClasses.sidebar],
style: {
zIndex: F.useExpand ? ee.value + 1 : void 0
},
onWheel: fe,
onMousemove: fe
}, [r.aside ? W(r, "aside", O) : y(ef, {
ref: v,
expanded: c.value,
"onUpdate:expanded": (N) => c.value = N,
reduced: d.value,
"onUpdate:reduced": (N) => d.value = N,
inherit: !0,
"sign-type": A.value ? "header" : "aside",
menus: n.menus,
"menu-props": n.menuProps,
fixed: n.asideFixed,
onExpandedChange: U,
onReducedChange: q,
onMenuSelect: K
}, {
top: Yn(r, ["aside-top", "asideTop"], () => E.value ? null : ot()),
default: Yn(r, ["aside-main", "asideMain"]),
bottom: Yn(r, ["aside-bottom", "asideBottom"]),
expand: Yn(r, ["aside-expand", "asideExpand"])
})]);
}
function se() {
return r.default ? W(r, "default", O) : y(qd, {
fixed: n.fixedMain
}, {
default: Yn(r, ["main"])
});
}
function ne() {
return r.footer ? W(r, "footer", O) : y(Qd, {
inherit: !0,
copyright: n.copyright,
links: n.links,
"vertical-links": n.verticalLinks
}, {
links: Yn(r, ["footer-links", "footerLinks"]),
copyright: Yn(r, ["footer-copyright", "footerCopyright"])
});
}
function ue() {
return n.noMasker || !F.useExpand ? null : r.masker ? W(r, "masker", O) : y(fr, {
active: c.value,
"onUpdate:active": (N) => c.value = N,
class: o.be("masker"),
inner: !0,
closable: !0,
"auto-remove": !0,
transfer: !1,
style: {
zIndex: ee.value
},
onToggle: U
}, null);
}
function J() {
const N = n.tag || "section";
return y(N, {
class: [o.be("wrapper"), n.fixedMain && o.bem("wrapper", "fixed"), n.innerClasses.wrapper]
}, {
default: () => [A.value && Ze(), Je(), y("section", {
ref: u,
class: [o.be("section"), {
[o.bem("section", "away")]: w.value,
[o.bem("section", "reduced")]: d.value,
[o.bem("section", "locked")]: s.value,
[o.bem("section", "fixed")]: n.fixedMain
}, n.innerClasses.section]
}, [!A.value && Ze(), se(), n.footer && ne()]), ue()]
});
}
return () => {
let N;
if (n.fitWindow) {
let j;
return y("section", {
class: z.value,
style: I.value
}, [y(zn, {
throttle: !0,
onResize: Ee
}, Wu(j = J()) ? j : {
default: () => [j]
})]);
}
return y(Al, {
ref: h,
class: z.value,
inherit: n.inherit,
"use-y-bar": !0,
"observe-deep": !0,
"bar-class": [o.be("scrollbar"), n.innerClasses.scrollbar],
style: I.value,
onResize: Ee
}, Wu(N = J()) ? N : {
default: () => [N]
});
};
}
}), W1 = ["aria-valuenow"], Ku = /* @__PURE__ */ Xe({
name: "Loading",
__name: "loading",
setup(t, { expose: r }) {
const l = Ye("loading"), { isRtl: a } = Un(), n = $(!1), o = $(2), s = $("default"), c = $("top"), d = $(0);
let p = 95;
const m = g(() => ({
[l.b()]: !0,
[l.bs("vars")]: !0,
[l.bm(s.value)]: s.value !== "default"
})), b = g(() => ({
[c.value]: "0",
height: `${o.value}px`
})), f = g(() => ({
transform: `translateX(${(a.value ? -1 : 1) * (d.value - 100) / 2}%) scaleX(${d.value / 100})`
}));
let u, h, i;
r({ visible: n, percent: d, startLoading: v }), pn(() => {
clearTimeout(u), clearInterval(h), cancelAnimationFrame(i);
});
function v(k) {
d.value === 100 && (clearTimeout(u), n.value = !1, d.value = 0, s.value = "default", o.value = 2, c.value = "top"), clearInterval(h);
const w = () => {
d.value = cn(k.percent, 0, 100), s.value = k.state ?? s.value, o.value = cn(k.strokeWidth ?? 2, 1, 10), c.value = k.position ?? c.value, p = cn(k.maxPercent ?? 95, d.value, 95), d.value === 100 ? u = setTimeout(() => {
n.value = !1;
}, 500) : h = setInterval(() => {
d.value += Math.floor(Math.random() * 3 + 1), d.value >= p && (d.value = p, clearInterval(h));
}, 500);
};
p = 95, i = requestAnimationFrame(() => {
n.value ? w() : (n.value = !0, i = requestAnimationFrame(w));
});
}
return (k, w) => (S(), Be(En, {
name: e(l).ns("fade"),
appear: ""
}, {
default: X(() => [
el(oe("div", {
class: x(m.value),
role: "progressbar",
style: Qe(b.value),
"aria-valuenow": d.value,
"aria-valuemin": "0",
"aria-valuemax": "100"
}, [
oe("div", {
class: x(e(l).be("filler")),
style: Qe(f.value)
}, null, 6)
], 14, W1), [
[tl, n.value]
])
]),
_: 1
}, 8, ["name"]));
}
});
class Mi {
constructor(r = {}) {
Rt(this, "name");
Rt(this, "defaults");
Rt(this, "_mountedApp");
Rt(this, "_instance");
Rt(this, "_innerApp");
Rt(this, "_container");
Rt(this, "_wrapper");
Rt(this, "_mountedEl");
this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._wrapper = null, this._mountedEl = null, this.name = "Loading", this.defaults = {}, this.config(r);
}
open(r) {
zt && (typeof r == "number" && (r = { percent: r }), this._getInstance().startLoading({ ...this.defaults, ...r }));
}
close() {
this.open(100);
}
config(r) {
this.defaults = { ...this.defaults, ...r };
}
clone() {
const r = new Mi(this.defaults);
return r._mountedApp = this._mountedApp, r;
}
destroy() {
var r, l;
this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
}
isDestroyed() {
return !1;
}
install(r, l = {}) {
const { property: a, ...n } = l;
this.config(n), this._mountedApp = r, (a || !r.config.globalProperties.$loading) && (r.config.globalProperties[a || "$loading"] = this);
}
transferTo(r) {
if (!zt) return;
const l = El(r);
l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
}
_getInstance() {
if (!this._instance && zt) {
if (!this._mountedApp)
console.warn("[vexip-ui:Loading]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(Ku), this._instance = this._innerApp.mount(this._container);
else {
const r = y(Ku, null, null);
this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
}
this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
}
return this._instance;
}
}
const K1 = new Mi(), tf = "__VXP_POPUP_DELETE_HANDLER", U1 = Object.freeze([
"top-right",
"top-center",
"top-left",
"bottom-right",
"bottom-center",
"bottom-left"
]), X1 = ["vxp-index"], Y1 = /* @__PURE__ */ Xe({
name: "PopupItem",
__name: "popup-item",
props: {
state: {
type: Object,
default: () => ({})
},
transitionName: {
type: String,
default: null
},
innerClass: {
type: Bn,
default: null
}
},
emits: ["enter", "leave"],
setup(t, { emit: r }) {
const l = t, a = r, n = Et(tf, Qt), o = Ye("popup"), s = Or(), c = $(), d = g(() => l.transitionName || o.ns("popup-top"));
return sn(() => {
kt(() => {
const p = l.state;
p && c.value && (p.height = c.value.offsetHeight);
});
}), (p, m) => (S(), Be(En, {
appear: "",
name: d.value,
onAfterLeave: m[2] || (m[2] = (b) => e(n)(t.state.key))
}, {
default: X(() => [
el(oe("div", {
ref_key: "wrapper",
ref: c,
class: x(e(o).be("item")),
style: Qe({ zIndex: e(s)() }),
"vxp-index": t.state.key,
onPointerenter: m[0] || (m[0] = (b) => a("enter")),
onPointerleave: m[1] || (m[1] = (b) => a("leave"))
}, [
oe("div", {
class: x([e(o).be("item-inner"), t.innerClass])
}, [
W(p.$slots, "default", { item: t.state }, () => [
typeof t.state.renderer == "function" ? (S(), Be(e(me), {
key: 0,
renderer: t.state.renderer
}, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
dt(ze(t.state.content), 1)
], 64))
])
], 2)
], 46, X1), [
[tl, t.state.visible]
])
]),
_: 3
}, 8, ["name"]));
}
}), Pi = /* @__PURE__ */ Xe({
name: "Popup",
__name: "popup",
props: {
transitionName: {
type: String,
default: null
},
innerClass: {
type: Bn,
default: null
},
placement: {
default: "top-right",
validator: (t) => U1.includes(t)
},
startOffset: {
type: Number,
default: 30
},
itemGap: {
type: Number,
default: 16
}
},
setup(t, { expose: r }) {
const l = t, a = Ye("popup"), n = $([]), o = [], s = $();
let c = !1;
const d = g(() => l.placement.split("-")), p = g(() => l.transitionName || a.ns("popup-top"));
le(
() => l.startOffset,
(z, C) => {
n.value.forEach((E) => {
E.verticalPosition += z - C;
});
}
), nn(tf, v), r({
items: n,
wrapper: s,
add: b,
remove: f,
has: k,
find: w,
clear: T
});
function m(z) {
const E = { [d.value[0]]: `${z.verticalPosition}px` }, P = parseInt(z.zIndex);
return Number.isNaN(P) || (E.zIndex = P), E;
}
function b(z) {
return new Promise((C) => {
const E = on(z.onOpen) ? z.onOpen : Qt;
z.onOpen = (P) => {
C(P), E();
}, o.push({
type: "add",
param: z
}), c || (c = !0, u());
});
}
function f(z) {
return new Promise((C) => {
const E = w(z);
if (!E) return C(!1);
const P = on(E.onClose) ? E.onClose : Qt;
E.onClose = (R) => {
C(R), P(R);
}, o.push({
type: "clear",
param: z
}), c || (c = !0, u());
});
}
function u() {
if (o.length) {
const z = o.shift();
z.type === "add" ? h(z.param) : i(z.param), requestAnimationFrame(u);
} else
c = !1;
}
function h(z) {
let C = z.key ? w(z.key) : null;
if (!(C != null && C.visible)) {
const E = Ac(), P = z.key ?? a.bs(`${E}`);
let R = l.startOffset;
n.value.forEach((L) => {
L.visible && (R += L.height + l.itemGap);
}), C = pt(
Object.assign(
{
key: P,
content: "",
closable: !1,
onOpen: Qt,
onClose: Qt,
onEnter: Qt,
onLeave: Qt
},
z,
{
height: 0,
visible: !0,
verticalPosition: R
}
)
), n.value.push(C);
}
on(z.onOpen) && z.onOpen(C.key);
}
function i(z) {
const C = n.value.findIndex((E) => E.key === z);
if (~C) {
const E = n.value[C], P = E.height;
E.visible = !1;
for (let R = C + 1, L = n.value.length; R < L; ++R)
n.value[R].verticalPosition -= P + l.itemGap;
on(E.onClose) && E.onClose(!0);
}
}
function v(z) {
const C = n.value.findIndex((E) => E.key === z);
~C && n.value.splice(C, 1);
}
function k(z) {
return !~n.value.findIndex((C) => C.key === z);
}
function w(z) {
return n.value.find((C) => C.key === z);
}
function T() {
o.length = 0, n.value = [];
}
function F(z) {
on(z.onEnter) && z.onEnter();
}
function A(z) {
on(z.onLeave) && z.onLeave();
}
return (z, C) => (S(), D("div", {
class: x([e(a).b(), e(a).bm(t.placement)])
}, [
(S(!0), D(st, null, ln(n.value, (E) => (S(), Be(Y1, {
key: E.key,
state: E,
"transition-name": p.value,
"inner-class": t.innerClass,
style: Qe(m(E)),
onEnter: (P) => F(E),
onLeave: (P) => A(E)
}, {
default: X(({ item: P }) => [
W(z.$slots, "item", { item: P })
]),
_: 2
}, 1032, ["state", "transition-name", "inner-class", "style", "onEnter", "onLeave"]))), 128))
], 2));
}
}), Uu = Object.freeze(["primary", "info", "success", "warning", "error"]), q1 = Object.freeze(["success", "warning", "error"]), G1 = ["aria-live"], Z1 = ["innerHTML"], J1 = ["onClick"], Xu = /* @__PURE__ */ Xe({
name: "Message",
__name: "message",
setup(t, { expose: r }) {
const l = Ye("message"), a = Gt(), n = g(() => ({
primary: a.value.info,
info: a.value.info,
success: a.value.success,
warning: a.value.warning,
error: a.value.error
})), o = $("top"), s = $(30), c = $(16), d = $(), p = g(() => `${o.value}-center`);
async function m(h) {
d.value && await d.value.add(h);
}
async function b(h) {
return !!d.value && await d.value.remove(h);
}
function f(h) {
o.value = h.placement || o.value, s.value = h.startOffset || s.value, c.value = h.itemGap || c.value;
}
function u() {
d.value && d.value.clear();
}
return r(
pt({
popup: d,
add: m,
remove: b,
clear: u,
config: f
})
), (h, i) => (S(), Be(e(Pi), {
ref_key: "popup",
ref: d,
class: x(e(l).b()),
"transition-name": e(l).ns(`popup-${o.value}`),
placement: p.value,
"start-offset": s.value,
"item-gap": c.value
}, {
item: X(({ item: v }) => [
oe("div", {
class: x([
{
[e(l).be("item")]: !0,
[e(l).bs("vars")]: !0,
[e(l).bem("item", v.type)]: v.type && e(Uu).includes(v.type),
[e(l).bem("item", "background")]: v.background,
[e(l).bem("item", "color")]: v.background && v.color,
[e(l).bem("item", "color-only")]: !v.background && v.color,
[e(l).bem("item", "has-icon")]: v.icon,
[e(l).bem("item", "closable")]: v.closable
},
v.className
]),
role: "alert",
style: Qe([
{
color: typeof v.color == "string" ? v.color : void 0,
backgroundColor: typeof v.background == "string" ? v.background : void 0
},
v.style || {}
]),
"aria-atomic": "true",
"aria-live": v.type && e(q1).includes(v.type) ? "assertive" : "polite"
}, [
oe("div", {
class: x(e(l).be("wrapper"))
}, [
v.icon || v.type && e(Uu).includes(v.type) ? (S(), D("div", {
key: 0,
class: x(e(l).be("icon")),
style: Qe({ color: v.iconColor })
}, [
v.icon ? (S(), Be(e(Oe), {
key: 0,
icon: v.icon,
style: Qe([{ color: v.iconColor }, v.icon.style])
}, null, 8, ["icon", "style"])) : (S(), Be(e(Oe), He({ key: 1 }, n.value[v.type], {
style: { color: v.iconColor }
}), null, 16, ["style"]))
], 6)) : ge("", !0),
typeof v.renderer == "function" ? (S(), Be(e(me), {
key: 1,
renderer: v.renderer,
data: v
}, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 2 }, [
v.parseHtml ? (S(), D("div", {
key: 0,
class: x(e(l).be("content")),
innerHTML: v.content
}, null, 10, Z1)) : (S(), D("div", {
key: 1,
class: x(e(l).be("content"))
}, ze(v.content || ""), 3))
], 64))
], 2),
v.closable ? (S(), D("button", {
key: 0,
type: "button",
class: x(e(l).be("close")),
onClick: (k) => b(v.key)
}, [
y(e(Oe), He(e(a).close, { label: "close" }), null, 16)
], 10, J1)) : ge("", !0)
], 14, G1)
]),
_: 1
}, 8, ["class", "transition-name", "placement", "start-offset", "item-gap"]));
}
}), Yu = ["top", "bottom"];
let Q1 = 1;
function ek() {
return `message-${Q1++}`;
}
class zi {
constructor(r = {}) {
Rt(this, "name");
Rt(this, "defaults");
Rt(this, "open");
Rt(this, "primary");
Rt(this, "info");
Rt(this, "success");
Rt(this, "warning");
Rt(this, "error");
Rt(this, "_mountedApp");
Rt(this, "_instance");
Rt(this, "_innerApp");
Rt(this, "_container");
Rt(this, "_wrapper");
Rt(this, "_mountedEl");
Rt(this, "_installed");
Rt(this, "_configRecord");
r = {
...r,
duration: r.duration ? rn(r.duration) : 3e3
}, this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._wrapper = null, this._mountedEl = null, this._installed = !1, this._configRecord = null, this.name = "Message", this.defaults = {}, this.config(r), this.open = (l, a) => this._open(null, l, a), this.primary = (l, a) => this._open("primary", l, a), this.info = (l, a) => this._open("info", l, a), this.success = (l, a) => this._open("success", l, a), this.warning = (l, a) => this._open("warning", l, a), this.error = (l, a) => this._open("error", l, a);
}
judge(r, l, a, n) {
r ? this.success(l, n) : this.error(a, n);
}
close(r) {
var l;
Tt(r) ? this.clear() : (l = this._getInstance()) == null || l.remove(r);
}
config({ placement: r, startOffset: l, itemGap: a, ...n }) {
if (this._configRecord = { placement: r, startOffset: l, itemGap: a }, this.defaults = { ...this.defaults, ...n }, this._installed) {
const o = this._getInstance();
o && (r && o.config({
placement: Yu.includes(r) ? r : Yu[0]
}), o.config({ startOffset: l, itemGap: a }));
}
}
clone() {
const r = new zi(this.defaults);
return r._mountedApp = this._mountedApp, r._configRecord = this._configRecord, r._installed = this._installed, r;
}
clear() {
var r;
(r = this._getInstance()) == null || r.clear();
}
destroy() {
var r, l;
this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
}
isDestroyed() {
return !1;
}
install(r, l = {}) {
const { property: a, ...n } = l;
this._mountedApp = r, this._installed = !0, this.config(n), (a || !r.config.globalProperties.$message) && (r.config.globalProperties[a || "$message"] = this);
}
transferTo(r) {
if (!zt) return;
const l = El(r);
l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
}
_getInstance() {
if (!this._instance && zt) {
if (!this._mountedApp)
console.warn("[vexip-ui:Message]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(Xu), this._instance = this._innerApp.mount(this._container);
else {
const r = y(Xu, null, null);
this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
}
this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
}
return this._instance;
}
_open(r, l, a) {
if (!zt)
return Qt;
const n = typeof l == "string" ? { content: l, duration: a } : l, o = n.key ?? ek(), s = this._getInstance();
let c;
const d = n.onClose, p = () => {
if (clearTimeout(c), typeof d == "function")
return d();
}, m = n.onEnter, b = () => {
if (n.liveOnEnter && clearTimeout(c), typeof m == "function")
return m();
}, f = n.onLeave, u = () => {
if (n.liveOnEnter && (clearTimeout(c), i()), typeof f == "function")
return f();
}, h = {
...this.defaults,
...n,
key: o,
type: r ?? n.type,
onClose: p,
onEnter: b,
onLeave: u
};
h.icon && typeof h.icon != "function" && (h.icon = Nr(h.icon)), s.add(h), i();
function i() {
const v = typeof h.duration == "number" ? h.duration : 3e3;
v >= 500 && (c = setTimeout(() => {
s.remove(o);
}, v));
}
return () => {
clearTimeout(c), s.remove(o);
};
}
}
const tk = new zi(), qu = Object.freeze(["primary", "info", "success", "warning", "error"]), nk = Object.freeze(["success", "warning", "error"]), lk = ["aria-live"], ak = ["innerHTML"], rk = ["innerHTML"], ok = ["onClick"], Gu = /* @__PURE__ */ Xe({
name: "Notice",
__name: "notice",
setup(t, { expose: r }) {
const l = Ye("notice"), a = Gt(), n = g(() => ({
primary: a.value.info,
info: a.value.info,
success: a.value.success,
warning: a.value.warning,
error: a.value.error
})), o = $("top-right"), s = $(30), c = $(16), d = $();
async function p(u) {
d.value && await d.value.add(u);
}
async function m(u) {
return !!d.value && await d.value.remove(u);
}
function b() {
d.value && d.value.clear();
}
function f(u) {
o.value = u.placement || o.value, s.value = u.startOffset || s.value, c.value = u.itemGap || c.value;
}
return r(
pt({
popup: d,
add: p,
remove: m,
clear: b,
config: f
})
), (u, h) => (S(), Be(e(Pi), {
ref_key: "popup",
ref: d,
class: x(e(l).b()),
"transition-name": e(l).ns(`popup-${o.value.split("-")[1]}`),
placement: o.value,
"start-offset": s.value,
"item-gap": c.value
}, {
item: X(({ item: i }) => [
oe("div", {
class: x([
{
[e(l).be("item")]: !0,
[e(l).bs("vars")]: !0,
[e(l).bem("item", "title-only")]: !i.content && typeof i.renderer != "function",
[e(l).bem("item", "has-icon")]: i.icon,
[e(l).bem("item", "content-only")]: !i.title,
[e(l).bem("item", i.type)]: i.type && e(qu).includes(i.type),
[e(l).bem("item", "background")]: i.background,
[e(l).bem("item", "color")]: i.background && i.color,
[e(l).bem("item", "color-only")]: !i.background && i.color,
[e(l).bem("item", "marker")]: i.marker
},
i.className
]),
role: "alert",
style: Qe([
{
color: typeof i.color == "string" ? i.color : void 0,
backgroundColor: typeof i.background == "string" ? i.background : void 0
},
i.style || {}
]),
"aria-atomic": "true",
"aria-live": i.type && e(nk).includes(i.type) ? "assertive" : "polite"
}, [
i.icon || i.type && e(qu).includes(i.type) ? (S(), D("div", {
key: 0,
class: x(e(l).be("icon")),
style: Qe({ color: i.iconColor })
}, [
i.icon ? (S(), Be(e(Oe), {
key: 0,
icon: i.icon,
scale: !i.content && typeof i.renderer != "function" ? 1 : 2,
style: Qe([{ color: i.iconColor }, i.icon.style])
}, null, 8, ["icon", "scale", "style"])) : (S(), Be(e(Oe), He({ key: 1 }, n.value[i.type], {
scale: !i.content && typeof i.renderer != "function" ? 1 : 2,
style: { color: i.iconColor }
}), null, 16, ["scale", "style"]))
], 6)) : ge("", !0),
oe("div", {
class: x(e(l).be("wrapper"))
}, [
typeof i.renderer == "function" ? (S(), Be(e(me), {
key: 0,
renderer: i.renderer,
data: i
}, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 1 }, [
i.title ? (S(), D(st, { key: 0 }, [
i.parseHtml ? (S(), D("div", {
key: 0,
class: x(e(l).be("title")),
style: Qe({
color: typeof i.titleColor == "string" ? i.titleColor : void 0
}),
innerHTML: i.title
}, null, 14, ak)) : (S(), D("div", {
key: 1,
class: x(e(l).be("title")),
style: Qe({
color: typeof i.titleColor == "string" ? i.titleColor : void 0
})
}, ze(i.title || ""), 7))
], 64)) : ge("", !0),
i.content ? (S(), D(st, { key: 1 }, [
i.parseHtml ? (S(), D("div", {
key: 0,
class: x(e(l).be("content")),
innerHTML: i.content
}, null, 10, rk)) : (S(), D("div", {
key: 1,
class: x(e(l).be("content"))
}, ze(i.content || ""), 3))
], 64)) : ge("", !0)
], 64))
], 2),
i.closable ? (S(), D("button", {
key: 1,
type: "button",
class: x(e(l).be("close")),
onClick: (v) => m(i.key)
}, [
y(e(Oe), He(e(a).close, { label: "close" }), null, 16)
], 10, ok)) : ge("", !0)
], 14, lk)
]),
_: 1
}, 8, ["class", "transition-name", "placement", "start-offset", "item-gap"]));
}
}), Zu = [
"top-right",
"top-left",
"bottom-right",
"bottom-left"
];
let sk = 1;
function ik() {
return `notice-${sk++}`;
}
class Li {
constructor(r = {}) {
Rt(this, "name");
Rt(this, "defaults");
Rt(this, "open");
Rt(this, "primary");
Rt(this, "info");
Rt(this, "success");
Rt(this, "warning");
Rt(this, "error");
Rt(this, "_mountedApp");
Rt(this, "_instance");
Rt(this, "_innerApp");
Rt(this, "_container");
Rt(this, "_wrapper");
Rt(this, "_mountedEl");
Rt(this, "_installed");
Rt(this, "_configRecord");
r = {
...r,
marker: !!r.marker,
duration: r.duration ? rn(r.duration) : 4e3
}, this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._wrapper = null, this._mountedEl = null, this._installed = !1, this._configRecord = null, this.name = "Notice", this.defaults = {}, this.config(r), this.open = (l, a, n) => this._open(null, l, a, n), this.primary = (l, a, n) => this._open("primary", l, a, n), this.info = (l, a, n) => this._open("info", l, a, n), this.success = (l, a, n) => this._open("success", l, a, n), this.warning = (l, a, n) => this._open("warning", l, a, n), this.error = (l, a, n) => this._open("error", l, a, n);
}
judge(r, l, a, n) {
r ? this.success(l, n) : this.error(a, n);
}
close(r) {
var l;
Tt(r) ? this.clear() : (l = this._getInstance()) == null || l.remove(r);
}
config({ placement: r, startOffset: l, itemGap: a, ...n }) {
if (this._configRecord = { placement: r, startOffset: l, itemGap: a }, this.defaults = { ...this.defaults, ...n }, this._installed) {
const o = this._getInstance();
o && (r && o.config({
placement: Zu.includes(r) ? r : Zu[0]
}), o.config({ startOffset: l, itemGap: a }));
}
}
clone() {
const r = new Li(this.defaults);
return r._mountedApp = this._mountedApp, r._configRecord = this._configRecord, r._installed = this._installed, r;
}
clear() {
var r;
(r = this._getInstance()) == null || r.clear();
}
destroy() {
var r, l;
this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
}
isDestroyed() {
return !1;
}
install(r, l = {}) {
const { property: a, ...n } = l;
this._mountedApp = r, this._installed = !0, this.config({ ...this._configRecord, ...n }), (a || !r.config.globalProperties.$notice) && (r.config.globalProperties[a || "$notice"] = this);
}
transferTo(r) {
if (!zt) return;
const l = El(r);
l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
}
_getInstance() {
if (!this._instance && zt) {
if (!this._mountedApp)
console.warn("[vexip-ui:Notice]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(Gu), this._instance = this._innerApp.mount(this._container);
else {
const r = y(Gu, null, null);
this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
}
this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
}
return this._instance;
}
_open(r, l, a, n) {
if (!zt)
return Qt;
let o;
pl(l) ? o = l : typeof a == "number" ? o = { title: l, duration: a } : a ? o = { title: l, content: a, duration: n } : o = { title: l, duration: n };
const s = o.key ?? ik(), c = this._getInstance();
let d;
const p = o.onClose, m = () => {
if (clearTimeout(d), typeof p == "function")
return p();
}, b = o.onEnter, f = () => {
if (o.liveOnEnter && clearTimeout(d), typeof b == "function")
return b();
}, u = o.onLeave, h = () => {
if (o.liveOnEnter && (clearTimeout(d), v()), typeof u == "function")
return u();
}, i = {
...this.defaults,
...o,
key: s,
type: r ?? o.type,
onClose: m,
onEnter: f,
onLeave: h
};
i.icon && typeof i.icon != "function" && (i.icon = Nr(i.icon)), c.add(i), v();
function v() {
const k = typeof i.duration == "number" ? i.duration : 4e3;
k >= 500 && (d = setTimeout(() => {
c.remove(s);
}, k));
}
return () => {
clearTimeout(d), c.remove(s);
};
}
}
const uk = new Li(), ck = /* @__PURE__ */ Xe({
name: "OptionGroup",
__name: "option-group",
props: Qb,
setup(t) {
const r = Ye("option-group");
return (l, a) => (S(), D("li", {
class: x({
[e(r).b()]: !0,
[e(r).ns("option-vars")]: !0,
[e(r).bm("divided")]: l.divided
})
}, [
oe("div", {
class: x(e(r).be("label"))
}, [
W(l.$slots, "label", {}, () => [
dt(ze(l.label), 1)
])
], 2),
oe("ul", {
class: x(e(r).be("list"))
}, [
W(l.$slots, "default")
], 2)
], 2));
}
}), dk = ft({
size: An,
locale: Mn(),
total: Number,
noBorder: M,
background: M,
pageSize: Number,
sizeOptions: Array,
itemCount: Number,
active: Number,
disabled: M,
disableItem: Function,
turnPageCount: Number,
itemUnit: String,
plugins: Array,
noTitle: M,
itemTag: String,
listTag: String,
slots: Object,
onChange: B(),
onPageSizeChange: B()
});
function Ka(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
var ma = /* @__PURE__ */ function(t) {
return t.LEFT = "left", t.CENTER = "center", t.RIGHT = "right", t;
}(ma || {});
const fk = /* @__PURE__ */ Xe({
name: "Pagination",
props: dk,
emits: ["update:active", "update:page-size"],
setup(t, {
slots: r,
emit: l,
expose: a
}) {
const n = ct("pagination", t, {
size: On(),
locale: null,
total: {
default: 0,
validator: (N) => N >= 0,
static: !0
},
noBorder: !1,
background: !1,
pageSize: {
default: 10,
validator: (N) => N > 0
},
sizeOptions: () => [10, 20, 50, 100],
itemCount: {
default: 7,
validator: (N) => Number.isInteger(N) && N > 6
},
active: {
default: 1,
validator: (N) => N > 0,
static: !0
},
disabled: !1,
disableItem: {
default: () => !1,
isFunc: !0
},
turnPageCount: 5,
itemUnit: null,
plugins: {
default: () => [],
validator: (N) => Array.isArray(N)
},
noTitle: !1,
itemTag: "li",
listTag: null,
slots: () => ({})
}), {
isRtl: o
} = Un(), s = Ye("pagination"), c = Gt(), d = $([]), p = $(n.active), m = $(n.pageSize), b = $(ma.LEFT), f = $(!1), u = $(!1), h = $(n.active), i = pt([]), v = vn("pagination", qe(n, "locale")), {
target: k
} = cl({
passive: !1,
onKeyDown: (N, j) => {
n.disabled || za([[() => j.up || j.down || j.left || j.right, () => {
const ae = j.up || j.left ? -1 : 1;
if (zt && document.activeElement) {
const be = i.findIndex((ce) => ce === document.activeElement);
if (!~be) return;
i[cn(be + ae, 0, i.length - 1)].focus();
}
}], [() => j.enter || j.space, () => {
if (document && document.activeElement && !~i.findIndex((be) => be === document.activeElement)) {
const be = s.bem("item", "active"), re = i.find((ce) => ce.classList.contains(be));
re == null || re.focus();
}
}]], {
beforeMatchAny: () => N.preventDefault(),
afterMatchAny: j.resetAll
});
}
}), w = g(() => ({
[s.b()]: !0,
[s.bs("vars")]: !0,
[s.bm("inherit")]: n.inherit,
[s.bm(n.size)]: n.size !== "default",
[s.bm("background")]: n.background,
[s.bm("no-border")]: n.noBorder,
[s.bm("disabled")]: n.disabled
})), T = g(() => Math.ceil(n.total / (m.value || 1)) || 1), F = g(() => T.value > n.itemCount), A = g(() => {
const N = ee(1, 1);
return N >= T.value || p.value === N;
}), z = g(() => {
const N = ee(T.value, -1);
return N <= 1 || p.value === N;
}), C = g(() => `${v.value.prev} ${uo(v.value.page, n.turnPageCount)}`), E = g(() => `${v.value.next} ${uo(v.value.page, n.turnPageCount)}`), P = g(() => {
if (!F.value) return 0;
let N = ee(p.value - n.turnPageCount, -1);
return N < 1 && (N = ee(1, 1), N >= p.value) ? 0 : N;
}), R = g(() => {
if (!F.value) return 0;
let N = ee(p.value + n.turnPageCount, 1);
return N > T.value && (N = ee(T.value, -1), N <= p.value) ? 0 : N;
}), L = g(() => n.sizeOptions.map((N) => ({
value: N,
label: `${N} ${v.value.perPage}`
}))), I = g(() => {
const N = n.plugins, j = N.findIndex(Tt);
return {
total: N.findIndex((ae) => ae === "total") - j,
size: N.findIndex((ae) => ae === "size") - j,
jump: N.findIndex((ae) => ae === "jump") - j
};
}), G = g(() => {
if (!n.plugins.includes("jump")) return 0;
let N = 0;
return n.plugins.includes("size") ? N = Math.ceil(n.total / (Math.min(...n.sizeOptions) || 10)) : N = Math.ceil(n.total / (n.pageSize || 10)), N.toString().length * 10 + 30;
});
le(() => n.active, (N) => {
H(N, !1);
}), le(() => n.itemCount, Z), le(T, Z), le(() => n.pageSize, (N) => {
m.value = N;
}), le(m, (N, j) => {
l("update:page-size", N), _(n.onPageSizeChange, N);
const ae = Math.ceil((j * (p.value - 1) + 1) / N);
let be = ee(ae, 1);
be > T.value && (be = ee(ae - 1, -1), be < 1 && (be = 0)), p.value = be, Z();
}), a({
changeActive: H,
handlePrev: U,
handleNext: q
}), sn(() => {
kt(Z);
}), Qs(() => {
k.value && (i.length = 0, i.push(...Array.from(k.value.querySelectorAll(`${s.cbe("item")}:not(${s.cbem("item", "disabled")})`))));
});
function ee(N, j) {
for (j = j / Math.abs(j); n.disableItem(N) && (N += j, !(N < 1 || N > T.value)); )
;
return N;
}
function O(N) {
p.value !== N && (p.value = N, h.value = N, Z(), l("update:active", N), _(n.onChange, N));
}
function H(N, j = !0) {
if (N = parseInt(N.toString()), !(n.disabled || N < 1 || N > T.value || n.disableItem(N)) && (O(N), zt && j)) {
const ae = i.find((be) => be === document.activeElement);
ae == null || ae.blur(), kt(() => {
var be;
(be = i.find((re) => re.tabIndex >= 0)) == null || be.focus();
});
}
}
function U() {
if (!A.value && !n.disabled) {
const N = ee(p.value - 1, -1);
N >= 1 && H(N);
}
}
function q() {
if (!z.value && !n.disabled) {
const N = ee(p.value + 1, 1);
N <= T.value && H(N);
}
}
function Z() {
let N;
if (T.value <= n.itemCount)
N = $l(T.value);
else {
const j = n.itemCount - 2, ae = Math.ceil(n.itemCount / 2);
if (p.value < ae)
N = $l(j), N.push(T.value), b.value = ma.LEFT;
else if (p.value <= T.value - ae) {
let be = j - 2;
be % 2 === 0 && (be -= 1), N = $l(be, p.value - (be - 1) / 2), N.unshift(1), N.push(T.value), b.value = ma.CENTER;
} else
N = $l(j, T.value - j + 1), N.unshift(1), b.value = ma.RIGHT;
}
N.length === 1 && (d.value = []), d.value = N.slice(1, -1);
}
function K() {
f.value = !0;
}
function we() {
f.value = !1;
}
function de() {
!n.disabled && P.value && H(P.value);
}
function te() {
u.value = !0;
}
function Ee() {
u.value = !1;
}
function Se() {
!n.disabled && R.value && H(R.value);
}
function Ce(N) {
N = Math.max(Math.min(parseInt(N.toString()), T.value), 1);
const j = N;
if (N !== p.value) {
const ae = N > p.value ? 1 : -1;
N = ee(j, ae), (ae > 0 ? N > T.value : N < 1) && (N = ee(j, -ae), (ae > 0 ? N < 1 : N > T.value) && (N = 0)), O(N);
}
kt(() => {
h.value = p.value;
});
}
function fe(N) {
let j;
const ae = n.disabled || A.value, be = o.value ? c.value.angleRight : c.value.angleLeft;
return y(N, {
ref: (re) => re && !A.value && i.push(re),
class: [s.be("item"), s.bem("item", "prev"), ae ? s.bem("item", "disabled") : ""],
title: n.noTitle ? void 0 : v.value.prevPage,
role: "menuitem",
tabindex: "-1",
"aria-label": v.value.prevPage,
"aria-hidden": ae ? "true" : void 0,
onClick: U,
onKeydownEnter: U,
onKeydownSpace: U
}, Ka(j = W(r, "prev", {
disabled: ae
}, () => [y(me, {
renderer: n.slots.prev,
data: {
disabled: ae
}
}, {
default: () => [y(Oe, He(be, {
scale: +(be.scale || 1)
}), null)]
})])) ? j : {
default: () => [j]
});
}
function ot(N) {
let j;
const ae = n.disabled || z.value, be = o.value ? c.value.angleLeft : c.value.angleRight;
return y(N, {
ref: (re) => re && !z.value && i.push(re),
class: [s.be("item"), s.bem("item", "next"), ae ? s.bem("item", "disabled") : ""],
title: n.noTitle ? void 0 : v.value.nextPage,
role: "menuitem",
tabindex: "-1",
"aria-label": v.value.nextPage,
"aria-hidden": ae ? "true" : void 0,
onClick: q,
onKeydownEnter: q,
onKeydownSpace: q
}, Ka(j = W(r, "next", {
disabled: ae
}, () => [y(me, {
renderer: n.slots.next,
data: {
disabled: ae
}
}, {
default: () => [y(Oe, He(be, {
scale: +(be.scale || 1)
}), null)]
})])) ? j : {
default: () => [j]
});
}
function Ze(N) {
let j;
if (!F.value || b.value === ma.LEFT) return null;
const ae = n.disabled || !P.value;
return y(N, {
ref: (be) => be && P.value && i.push(be),
class: {
[s.be("item")]: !0,
[s.bem("item", "more")]: !0,
[s.bem("item", "disabled")]: ae
},
title: n.noTitle ? void 0 : C.value,
role: "menuitem",
tabindex: "-1",
"aria-label": C.value,
onClick: de,
onKeydownEnter: de,
onKeydownSpace: de,
onMouseenter: K,
onMouseleave: we
}, Ka(j = Yn(r, ["prev-jump", "prevJump"], () => {
const be = o.value ? c.value.anglesRight : c.value.anglesLeft;
return y(En, {
name: s.ns("fade")
}, {
default: () => [!ae && f.value ? y(Oe, He(be, {
scale: +(be.scale || 1)
}), null) : y(Oe, He(c.value.ellipsis, {
scale: +(c.value.ellipsis.scale || 1),
style: "position: absolute"
}), null)]
});
})({
disabled: ae,
entered: f.value
})) ? j : {
default: () => [j]
});
}
function Je(N) {
let j;
if (!F.value || b.value === ma.RIGHT) return null;
const ae = n.disabled || !R.value;
return y(N, {
ref: (be) => be && R.value && i.push(be),
class: {
[s.be("item")]: !0,
[s.bem("item", "more")]: !0,
[s.bem("item", "disabled")]: ae
},
title: n.noTitle ? void 0 : E.value,
role: "menuitem",
tabindex: "-1",
"aria-label": E.value,
onClick: Se,
onKeydownEnter: Se,
onKeydownSpace: Se,
onMouseenter: te,
onMouseleave: Ee
}, Ka(j = Yn(r, ["next-jump", "nextJump"], () => {
const be = o.value ? c.value.anglesLeft : c.value.anglesRight;
return y(En, {
name: s.ns("fade")
}, {
default: () => [!ae && u.value ? y(Oe, He(be, {
scale: +(be.scale || 1)
}), null) : y(Oe, He(c.value.ellipsis, {
scale: +(c.value.ellipsis.scale || 1),
style: "position: absolute"
}), null)]
});
})({
disabled: !R.value,
entered: u.value
})) ? j : {
default: () => [j]
});
}
function se(N, j) {
let ae;
const be = n.disabled || n.disableItem(j), re = p.value === j;
return y(N, {
ref: (ce) => ce && i.push(ce),
class: {
[s.be("item")]: !0,
[s.bem("item", "disabled")]: be,
[s.bem("item", "active")]: re
},
title: n.noTitle ? void 0 : j,
role: "menuitemradio",
tabindex: re ? "0" : "-1",
"aria-posinset": j,
"aria-setsize": T.value,
"aria-disabled": be ? "true" : void 0,
onClick: () => H(j),
onKeydownEnter: () => H(j),
onKeydownSpace: () => H(j)
}, Ka(ae = W(r, "item", {
page: j,
disabled: be,
active: re
}, () => [y(me, {
renderer: n.slots.item,
data: {
page: j,
disabled: be,
active: re
}
}, Ka(j) ? j : {
default: () => [j]
})])) ? ae : {
default: () => [ae]
});
}
function ne() {
return n.plugins.includes("total") ? y("div", {
class: [s.be("total"), I.value.total < 0 && s.bem("total", "prefix")],
style: {
order: I.value.total
}
}, [`${v.value.total} ${uo(n.itemUnit ?? v.value.itemUnit, n.total)}`]) : null;
}
function ue() {
return n.plugins.includes("size") ? y("div", {
class: [s.be("size"), I.value.size < 0 && s.bem("size", "prefix")],
style: {
order: I.value.size
}
}, [y(wi, {
value: m.value,
"onUpdate:value": (N) => m.value = N,
inherit: !0,
class: s.be("size-select"),
options: L.value,
filter: !1,
multiple: !1,
clearable: !1
}, null)]) : null;
}
function J() {
return n.plugins.includes("jump") ? y("div", {
class: [s.be("jump"), I.value.jump < 0 && s.bem("jump", "prefix")],
style: {
order: I.value.jump
}
}, [v.value.jumpTo, y(Ir, {
value: h.value,
"onUpdate:value": (N) => h.value = N,
inherit: !0,
class: s.be("jump-input"),
clearable: !1,
sync: !1,
style: {
width: `${G.value}px`
},
onChange: Ce
}, null), Kp(v.value.page, 1)]) : null;
}
return () => {
const N = n.itemTag || "li", j = n.listTag || (N === "li" ? "ul" : "div");
return y("div", {
class: w.value
}, [y(j, {
ref: k,
class: s.be("list"),
role: "menubar",
"aria-label": "Pagination",
"aria-disabled": n.disabled ? "true" : void 0
}, {
default: () => [fe(N), se(N, 1), Ze(N), d.value.map((ae) => se(N, ae)), Je(N), T.value > 1 && se(N, T.value), ot(N)]
}), ne(), ue(), J()]);
};
}
}), pk = ft({
percentage: Number,
state: Zn,
strokeWidth: Number,
infoType: String,
precision: Number,
activated: M,
strokeColor: [String, Array, Function],
slots: Object
}), vk = Object.freeze([
"outside",
"inside",
"bubble",
"bubble-top",
"bubble-bottom",
"none"
]), hk = ["aria-valuenow", "aria-valuetext"], Cr = /* @__PURE__ */ Xe({
name: "Progress",
__name: "progress",
props: pk,
setup(t, { expose: r }) {
const a = ct("progress", t, {
percentage: {
default: 0,
validator: (u) => u >= 0 && u <= 100,
static: !0
},
state: ll(),
strokeWidth: 8,
infoType: {
default: "outside",
validator: (u) => vk.includes(u)
},
precision: 2,
activated: !1,
strokeColor: {
default: null,
validator: (u) => !(Array.isArray(u) && (!u[0] || !u[1]))
},
slots: () => ({})
}), n = Ye("progress"), o = g(() => [
n.b(),
n.bs("vars"),
n.bm(`info-${a.infoType}`),
{
[n.bm("inherit")]: a.inherit,
[n.bm(a.state)]: a.state !== "default",
[n.bm("activated")]: a.activated
}
]), s = g(() => ({ [n.cv("percentage")]: a.percentage })), c = g(() => ({
height: `${a.strokeWidth}px`,
borderRadius: `${a.strokeWidth}px`
})), d = g(() => {
const u = {
borderRadius: `${a.strokeWidth}px`
}, h = vl(a.strokeColor, a.percentage);
return typeof h == "string" ? u.backgroundColor = h : Array.isArray(h) && (u.backgroundImage = `linear-gradient(to right, ${h[0]} 0%, ${h[1]} 100%)`), u;
}), p = g(() => a.infoType.includes("bubble")), m = g(() => p.value && a.infoType.split("-").pop() === "bottom" ? "bottom" : "top"), b = g(() => p.value ? {
[m.value === "top" ? "bottom" : "top"]: `${a.strokeWidth}px`
} : {}), f = g(() => _n(a.percentage, a.precision));
return r({ percentValue: f }), (u, h) => (S(), D("div", {
class: x(o.value),
style: Qe(s.value),
role: "progressbar",
"aria-valuenow": f.value,
"aria-valuetext": `${f.value}%`,
"aria-valuemin": "0",
"aria-valuemax": "100"
}, [
oe("div", {
class: x(e(n).be("track")),
style: Qe(c.value)
}, [
oe("div", {
class: x(e(n).be("filler")),
style: Qe(d.value)
}, null, 6),
e(a).infoType === "inside" ? (S(), D("div", {
key: 0,
class: x(e(n).be("info"))
}, [
W(u.$slots, "default", {}, () => [
y(e(me), {
renderer: e(a).slots.default
}, {
default: X(() => [
oe("span", {
class: x(e(n).be("percentage"))
}, ze(`${f.value}%`), 3)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0)
], 6),
p.value ? (S(), D("div", {
key: 0,
class: x(e(n).be("reference"))
}, [
y(e(xi), {
inherit: "",
class: x(e(n).be("bubble")),
style: Qe(b.value),
placement: m.value,
"content-class": e(n).be("info")
}, {
default: X(() => [
W(u.$slots, "default", {}, () => [
y(e(me), {
renderer: e(a).slots.default
}, {
default: X(() => [
oe("span", {
class: x(e(n).be("percentage"))
}, ze(`${f.value}%`), 3)
]),
_: 1
}, 8, ["renderer"])
])
]),
_: 3
}, 8, ["class", "style", "placement", "content-class"])
], 2)) : e(a).infoType === "outside" ? (S(), D("div", {
key: 1,
class: x(e(n).be("info"))
}, [
W(u.$slots, "default", {}, () => [
y(e(me), {
renderer: e(a).slots.default
}, {
default: X(() => [
oe("span", {
class: x(e(n).be("percentage"))
}, ze(`${f.value}%`), 3)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0)
], 14, hk));
}
}), mk = ft({
size: An,
state: Zn,
value: Eo,
label: Eo,
labelClass: Bn,
disabled: M,
tabIndex: [String, Number],
loading: M,
loadingLock: M,
name: String,
shape: String,
onChange: B()
}), bk = ft({
size: An,
state: Zn,
value: Eo,
vertical: M,
disabled: M,
options: Array,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
shape: String,
onChange: B()
}), nf = "__VXP_RADIO_GROUP_STATE", lf = Object.freeze(["default", "border", "button"]), gk = Object.freeze([...lf, "button-group"]), yk = ["checked", "disabled", "tabindex", "name"], Oo = /* @__PURE__ */ Xe({
name: "Radio",
__name: "radio",
props: mk,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const n = ct("radio", t, {
size: On(),
state: ll(),
value: {
default: null,
static: !0
},
label: {
default: null,
static: !0,
required: !0
},
labelClass: null,
disabled: !1,
tabIndex: 0,
loading: !1,
loadingLock: !1,
name: {
default: "",
static: !0
},
shape: {
default: "default",
validator: (E) => lf.includes(E)
}
}), o = l, s = Et(nf, null), c = Ye("radio"), d = Gt(), p = $(n.value), m = $(), b = g(() => (s == null ? void 0 : s.size) || n.size), f = g(() => (s == null ? void 0 : s.state) || n.state), u = g(() => (s == null ? void 0 : s.disabled) || n.disabled), h = g(() => (s == null ? void 0 : s.loading) || n.loading), i = g(() => s == null ? void 0 : s.loadingIcon), v = g(() => (s == null ? void 0 : s.loadingLock) || !1), k = g(() => (s == null ? void 0 : s.loadingEffect) || ""), w = g(() => (s == null ? void 0 : s.shape) || n.shape), T = g(() => h.value && v.value), F = g(() => [
c.b(),
c.bs("vars"),
{
[c.bm("inherit")]: n.inherit,
[c.bm("checked")]: p.value === n.label,
[c.bm("disabled")]: u.value,
[c.bm("readonly")]: T.value,
[c.bm("loading")]: h.value,
[c.bm(b.value)]: b.value !== "default",
[c.bm(f.value)]: f.value !== "default",
[c.bm(w.value)]: w.value !== "default" && w.value !== "button-group"
}
]), A = g(() => w.value === "button" || w.value === "button-group");
le(
() => n.value,
(E) => {
p.value = E;
}
), s && (p.value = s.currentValue, le(() => s.currentValue, z), sn(() => {
s.registerInput(m);
}), pn(() => {
s.unregisterInput(m);
})), r({ currentValue: p, input: m });
function z(E) {
p.value !== E && (p.value = E, o("update:value", E), _(n.onChange, E));
}
function C() {
u.value || T.value || (z(n.label), s && p.value === n.label && s.updateValue(p.value));
}
return (E, P) => (S(), D("label", {
class: x(F.value)
}, [
oe("input", {
ref_key: "input",
ref: m,
type: "radio",
class: x(e(c).be("input")),
checked: p.value === e(n).label,
disabled: u.value || T.value,
tabindex: e(n).tabIndex,
name: e(n).name,
onSubmit: P[0] || (P[0] = gt(() => {
}, ["prevent"])),
onChange: C,
onClick: P[1] || (P[1] = gt(() => {
}, ["stop"]))
}, null, 42, yk),
oe("span", {
class: x([e(c).be("signal"), h.value && e(c).bem("signal", "active")])
}, null, 2),
oe("span", {
class: x([e(c).be("label"), e(n).labelClass])
}, [
A.value ? (S(), Be(e(Ul), {
key: 0,
appear: "",
horizontal: "",
"fade-effect": ""
}, {
default: X(() => [
h.value ? (S(), D("div", {
key: 0,
class: x(e(c).be("loading"))
}, [
y(e(Oe), He(e(d).loading, {
effect: k.value || e(d).loading.effect,
icon: i.value || e(d).loading.icon,
label: "loading"
}), null, 16, ["effect", "icon"])
], 2)) : ge("", !0)
]),
_: 1
})) : ge("", !0),
W(E.$slots, "default", {}, () => [
dt(ze(e(n).label), 1)
]),
oe("span", {
class: x(e(c).be("extra")),
onClickCapture: P[2] || (P[2] = gt(() => {
}, ["prevent"]))
}, [
W(E.$slots, "extra")
], 34)
], 2)
], 2));
}
}), kk = ["id", "aria-orientation", "aria-labelledby"], wk = /* @__PURE__ */ Xe({
name: "RadioGroup",
__name: "radio-group",
props: bk,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const {
idFor: a,
labelId: n,
state: o,
disabled: s,
loading: c,
size: d,
validateField: p,
getFieldValue: m,
setFieldValue: b
} = al(E), u = ct("radioGroup", t, {
size: On(d),
state: ll(o),
value: {
default: () => m(),
static: !0
},
vertical: !1,
disabled: () => s.value,
options: {
default: () => [],
static: !0
},
loading: () => c.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
shape: {
default: "default",
validator: (P) => gk.includes(P)
}
}), h = l, i = Ye("radio-group"), v = $(u.value), k = /* @__PURE__ */ new Set(), w = g(() => u.loading && u.loadingLock), T = g(() => [
i.b(),
i.ns("radio-vars"),
{
[i.bm("inherit")]: u.inherit,
[i.bm("vertical")]: u.vertical,
[i.bm("disabled")]: u.disabled,
[i.bm("readonly")]: w.value,
[i.bm("loading")]: u.loading,
[i.bm(u.size)]: u.size !== "default",
[i.bm(u.state)]: u.state !== "default",
[i.bm(u.shape)]: u.shape !== "default"
}
]), F = pt({
currentValue: v,
size: qe(u, "size"),
state: qe(u, "state"),
disabled: qe(u, "disabled"),
loading: qe(u, "loading"),
loadingIcon: qe(u, "loadingIcon"),
loadingLock: qe(u, "loadingLock"),
loadingEffect: qe(u, "loadingEffect"),
shape: qe(u, "shape"),
updateValue: Ln(A),
registerInput: z,
unregisterInput: C
});
nn(nf, F), le(
() => u.value,
(P) => {
v.value = P;
}
), r({
idFor: a,
focus: E,
blur: () => {
var P;
for (const R of k)
(P = R.value) == null || P.blur();
}
});
function A(P) {
v.value !== P && (v.value = P, h("update:value", P), b(P), _(u.onChange, P), p());
}
function z(P) {
k.add(P);
}
function C(P) {
k.delete(P);
}
function E(P) {
var L;
const R = (L = Array.from(k)[0]) == null ? void 0 : L.value;
zt && R && document.activeElement !== R && R.focus(P);
}
return (P, R) => (S(), D("div", {
id: e(a),
class: x(T.value),
role: "radiogroup",
"aria-orientation": P.vertical ? "vertical" : "horizontal",
"aria-labelledby": e(n)
}, [
W(P.$slots, "default", {}, () => [
(S(!0), D(st, null, ln(e(u).options, (L) => (S(), D(st, { key: L }, [
e(pl)(L) ? (S(), Be(e(Oo), {
key: 0,
inherit: "",
label: L.label,
disabled: L.disabled
}, {
default: X(() => [
dt(ze(L.content || L.label), 1)
]),
_: 2
}, 1032, ["label", "disabled"])) : (S(), Be(e(Oo), {
key: 1,
inherit: "",
label: L
}, {
default: X(() => [
dt(ze(L), 1)
]),
_: 2
}, 1032, ["label"]))
], 64))), 128))
])
], 10, kk));
}
}), xk = ft({
title: String,
size: An,
type: String,
icon: Xt,
iconColor: String,
description: String,
slots: Object
}), Sk = Object.freeze([
"primary",
"info",
"success",
"warning",
"error"
]), Ck = /* @__PURE__ */ Xe({
name: "Result",
__name: "result",
props: xk,
setup(t) {
const l = ct("result", t, {
title: "",
size: On(),
type: {
default: "primary",
validator: (u) => Sk.includes(u)
},
icon: en(),
iconColor: "",
description: "",
slots: () => ({})
}), a = kn(), n = Ye("result"), o = Gt(), s = g(() => ({
primary: o.value.info,
info: o.value.info,
success: o.value.success,
warning: o.value.warning,
error: o.value.error
})), c = g(() => l.icon ? { icon: l.icon } : s.value[l.type]), d = g(() => !!(a.title || l.title || l.slots.title)), p = g(() => !!(a.icon || l.type || l.icon || l.slots.icon)), m = g(
() => !!(a.description || l.description || l.slots.description)
), b = g(() => ({
[n.b()]: !0,
[n.bs("vars")]: !0,
[n.bm("inherit")]: l.inherit,
[n.bm(l.type)]: l.type,
[n.bm(l.size)]: l.size !== "default"
})), f = g(() => l.iconColor ? n.cvm({
"icon-color": l.iconColor
}) : {});
return (u, h) => (S(), D("div", {
class: x(b.value),
style: Qe(f.value)
}, [
p.value ? (S(), D("div", {
key: 0,
class: x(e(n).be("icon"))
}, [
W(u.$slots, "icon", {}, () => [
y(e(me), {
renderer: e(l).slots.icon
}, {
default: X(() => [
y(e(Oe), He(c.value, {
class: e(n).be("icon"),
style: { color: e(l).iconColor }
}), null, 16, ["class", "style"])
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0),
d.value ? (S(), D("div", {
key: 1,
class: x(e(n).be("title"))
}, [
W(u.$slots, "title", {}, () => [
y(e(me), {
renderer: e(l).slots.title
}, {
default: X(() => [
dt(ze(e(l).title), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0),
m.value ? (S(), D("div", {
key: 2,
class: x(e(n).be("description"))
}, [
W(u.$slots, "description", {}, () => [
y(e(me), {
renderer: e(l).slots.description
}, {
default: X(() => [
dt(ze(e(l).description), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)) : ge("", !0),
a.extra || e(l).slots.extra ? (S(), D("div", {
key: 3,
class: x(e(n).be("extra"))
}, [
W(u.$slots, "extra", {}, () => [
y(e(me), {
renderer: e(l).slots.extra
}, null, 8, ["renderer"])
])
], 2)) : ge("", !0)
], 6));
}
}), Tk = Xe({
name: "SkeletonGroup",
props: y1,
setup(t, { slots: r }) {
const l = ct("skeletonGroup", t, {
size: null,
tag: !1,
itemTag: null,
activated: !1,
round: !1,
circle: !1,
block: !1,
loading: !0
}), a = Ye("skeletonGroup");
return nn(Kd, l), () => l.tag ? Jn(
typeof l.tag == "string" ? l.tag : "div",
{
class: [a.b(), l.inherit && a.bm("inherit")],
role: "group"
},
{
default: () => {
var n;
return (n = r.default) == null ? void 0 : n.call(r);
}
}
) : W(r, "default");
}
}), $k = ["aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-disabled"], Ju = /* @__PURE__ */ Xe({
name: "SliderTrigger",
__name: "slider-trigger",
props: {
value: {
type: Number,
default: 0
},
tipTransfer: {
type: [Boolean, String],
default: !1
},
hideTip: {
type: Boolean,
default: !1
},
vertical: {
type: Boolean,
default: !1
},
min: {
type: Number,
default: 0
},
max: {
type: Number,
default: 100
},
disabled: {
type: Boolean,
default: !1
},
loading: {
type: Boolean,
default: !1
},
reverse: {
type: Boolean,
default: !1
},
sliding: {
type: Boolean,
default: !1
},
tipHover: {
type: Boolean,
default: !1
},
tipProps: {
type: Object,
default: () => ({})
}
},
emits: ["key-minus", "key-plus"],
setup(t, { expose: r, emit: l }) {
const a = t, n = l, o = Ye("slider"), s = fa(), c = $(!1), d = $(null), p = $(), { timer: m } = Vn(), { target: b } = cl({
passive: !1,
onKeyDown: (T, F) => {
if (F.up || F.down || F.left || F.right) {
i(T);
const A = T.ctrlKey ? "ctrl" : T.shiftKey ? "shift" : T.altKey ? "alt" : void 0;
F.up || F.left ? n("key-minus", A) : n("key-plus", A);
}
}
}), f = g(() => {
var T;
return [o.be("tip"), (T = a.tipProps) == null ? void 0 : T.tipClass];
});
r({ updateTooltip: v, focus: k, blur: w });
function u() {
clearTimeout(m.hover), a.disabled || (m.hover = setTimeout(() => {
c.value = !0;
}, s.value));
}
function h() {
clearTimeout(m.hover), m.hover = setTimeout(() => {
c.value = !1;
}, s.value);
}
function i(T) {
T.cancelable && (T.stopPropagation(), T.preventDefault());
}
function v() {
d.value && d.value.updatePopper();
}
function k(T) {
var F;
(F = p.value) == null || F.focus(T);
}
function w() {
var T;
(T = p.value) == null || T.blur();
}
return (T, F) => (S(), D("div", {
ref_key: "wrapper",
ref: b,
class: x(e(o).be("trigger")),
tabindex: "-1",
onTouchstart: i
}, [
y(e(Fl), He({
ref_key: "tooltip",
ref: d,
placement: t.vertical ? "right" : "top"
}, t.tipProps, {
trigger: "custom",
transfer: t.tipTransfer,
visible: c.value || t.sliding,
"tip-class": f.value,
disabled: t.hideTip,
"no-hover": !t.tipHover,
onTipEnter: u,
onTipLeave: h
}), {
trigger: X(() => [
oe("div", {
ref_key: "handler",
ref: p,
class: x({
[e(o).be("button")]: !0,
[e(o).bem("button", "loading")]: t.loading,
[e(o).bem("button", "sliding")]: t.sliding
}),
role: "slider",
tabindex: "0",
"aria-valuenow": t.value,
"aria-valuemin": t.min,
"aria-valuemax": t.max,
"aria-disabled": t.disabled,
onMouseenter: u,
onMouseleave: h
}, [
W(T.$slots, "default", {}, () => [
oe("div", {
class: x(e(o).be("handler"))
}, null, 2)
])
], 42, $k)
]),
default: X(() => [
W(T.$slots, "tip", {}, () => [
dt(ze(t.value), 1)
])
]),
_: 3
}, 16, ["placement", "transfer", "visible", "tip-class", "disabled", "no-hover"])
], 34));
}
}), Ek = ft({
state: Zn,
value: [Number, Array],
min: Number,
max: Number,
step: Number,
vertical: M,
hideTip: M,
tipTransfer: hn,
disabled: M,
loading: M,
loadingLock: M,
reverse: M,
range: M,
markers: [Object, Array],
markerOnly: M,
tipHover: M,
flipMarker: M,
triggerFade: M,
tipProps: Object,
sync: M,
rangeDraggable: M,
slots: Object,
onChange: B(),
onInput: B()
}), Ak = ["id", "aria-labelledby"], Fi = /* @__PURE__ */ Xe({
name: "Slider",
__name: "slider",
props: Ek,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const { idFor: a, state: n, labelId: o, disabled: s, loading: c, validateField: d, getFieldValue: p, setFieldValue: m } = al(un), f = ct("slider", t, {
state: ll(n),
value: {
default: () => p() ?? 0,
static: !0
},
min: 0,
max: 100,
step: {
default: 1,
validator: (pe) => pe > 0
},
vertical: !1,
hideTip: !1,
tipTransfer: null,
disabled: () => s.value,
loading: () => c.value,
loadingLock: !1,
reverse: !1,
range: !1,
markers: null,
markerOnly: !1,
tipHover: !1,
flipMarker: !1,
triggerFade: !1,
tipProps: () => ({}),
sync: !1,
rangeDraggable: !1,
slots: () => ({})
}), u = l, h = kn(), i = Ye("slider"), v = fa(), { timer: k } = Vn(), w = $([0, 0]), T = $([!1, !1]), F = $(
1
/* END */
), A = $(!1), z = $(!1), C = $(), E = $(), P = $(), R = g(() => {
const pe = f.markers, Re = [];
if (!pe) return Re;
if (Array.isArray(pe))
for (const he of pe) {
const { value: Fe, ...lt } = typeof he == "number" ? { value: he } : he;
Number.isNaN(Fe) || Re.push({ value: Fe, marker: lt });
}
else
for (const he of Object.keys(pe)) {
const Fe = parseFloat(he), lt = pe[he];
Number.isNaN(Fe) || Re.push({
value: Fe,
marker: typeof lt == "string" ? { label: lt } : lt
});
}
return Re.sort((he, Fe) => he.value - Fe.value);
}), L = g(() => !!R.value.find(({ marker: pe }) => pe.label)), I = g(() => f.loading && f.loadingLock), G = g(() => f.range && f.rangeDraggable), ee = g(() => ({
[i.b()]: !0,
[i.bs("vars")]: !0,
[i.bm("inherit")]: f.inherit,
[i.bm(f.state)]: f.state !== "default",
[i.bm("vertical")]: f.vertical,
[i.bm("sliding")]: T.value[1] || T.value[0],
[i.bm("disabled")]: f.disabled,
[i.bm("readonly")]: I.value,
[i.bm("loading")]: f.loading,
[i.bm("reverse")]: f.reverse,
[i.bm("with-marker")]: L.value,
[i.bm("flip-marker")]: f.flipMarker,
[i.bm("hide-trigger")]: f.triggerFade && !z.value,
[i.bm("range-draggable")]: G.value
})), O = g(() => Bl(f.step)), H = g(() => Math.ceil(Math.min(f.min, f.max) / f.step)), U = g(() => Math.floor(Math.max(f.min, f.max) / f.step)), q = g(() => [
_n(w.value[0] * f.step, O.value),
_n(w.value[1] * f.step, O.value)
]), Z = g(() => U.value - H.value || 1), K = g(() => [Ze(w.value[0]), Ze(w.value[1])]), we = g(() => {
const { vertical: pe, reverse: Re } = f;
return {
[pe ? Re ? "bottom" : "top" : Re ? "right" : "left"]: `${Math.min(K.value[0], K.value[1])}%`,
[pe ? "height" : "width"]: `${Math.abs(K.value[0] - K.value[1])}%`
};
}), de = g(() => {
const { vertical: pe, reverse: Re } = f;
return {
[Re ? "bottom" : "top"]: pe ? `${K.value[0]}%` : "50%",
[Re ? "right" : "left"]: pe ? "50%" : `${K.value[0]}%`,
zIndex: F.value === 0 ? 1 : void 0,
transform: `translate(${Re ? "" : "-"}50%, ${Re ? "" : "-"}50%)`
};
}), te = g(() => {
const { vertical: pe, reverse: Re } = f;
return {
[Re ? "bottom" : "top"]: pe ? `${K.value[1]}%` : "50%",
[Re ? "right" : "left"]: pe ? "50%" : `${K.value[1]}%`,
zIndex: F.value === 1 ? 1 : void 0,
transform: `translate(${Re ? "" : "-"}50%, ${Re ? "" : "-"}50%)`
};
}), Ee = g(() => f.disabled || I.value), Se = yl(
pt({
values: q,
sliding: T,
percent: K,
disabled: qe(f, "disabled"),
loading: qe(f, "loading")
})
), { target: Ce } = Pl({
disabled: g(() => !G.value || Ee.value),
onStart: (pe, Re) => {
if (!C.value || Re.button > 0)
return !1;
clearTimeout(k.sliding), Re.stopPropagation(), Re.preventDefault(), j = C.value.getBoundingClientRect(), pe.startValue = w.value[
0
/* START */
], pe.endValue = w.value[
1
/* END */
], pe.valueDiff = pe.endValue - pe.startValue;
},
onMove: (pe, Re) => {
if (!j)
return;
Re.preventDefault();
const he = f.vertical, Fe = f.reverse, lt = he ? pe.deltaY : pe.deltaX;
for (let Ke = 0; Ke < 2; ++Ke) {
const Ct = Ke ? 1 : 0;
w.value[Ct] = (Fe ? -1 : 1) * (lt / j[he ? "height" : "width"]) * Z.value + Number(pe[Ke ? "endValue" : "startValue"]);
}
se(), w.value[
0
/* START */
] === H.value ? w.value[
1
/* END */
] = w.value[
0
/* START */
] + pe.valueDiff : w.value[
1
/* END */
] === U.value && (w.value[
0
/* START */
] = w.value[
1
/* END */
] - pe.valueDiff), N("input");
},
onEnd: () => N()
});
Je(f.value), se();
let fe = f.range ? q.value[0] > q.value[1] ? [q.value[1], q.value[0]] : [q.value[0], q.value[1]] : q.value[1], ot = Array.isArray(fe) ? [...fe] : fe;
le(
() => f.value,
(pe) => {
be(fe, pe) || (Je(pe), se());
}
), le(
() => f.step,
() => {
Je(f.value), se();
}
), r({
idFor: a,
sliding: T,
track: C,
startTrigger: E,
endTrigger: P,
isValueInRange: Ht,
focus: un,
blur: qt
});
function Ze(pe) {
return (parseFloat(pe) - H.value) / Z.value * 100;
}
function Je(pe) {
if (f.range) {
const Re = Array.isArray(pe) ? pe : [pe, 100];
w.value = [Re[0] / f.step, Re[1] / f.step];
} else
w.value = [H.value, (Array.isArray(pe) ? pe[0] : pe) / f.step];
}
function se() {
w.value = w.value.map((pe) => {
let Re = Math.max(H.value, Math.min(U.value, Math.round(pe)));
if (f.markerOnly && R.value.length) {
let he = 1 / 0, Fe = 0;
for (const { value: lt } of R.value) {
const Ke = Math.abs(Re * f.step - lt);
he > Ke && (he = Ke, Fe = lt);
}
Re = Fe / f.step;
}
return Re;
});
}
function ne() {
A.value || T.value[0] || T.value[1] || (z.value = !1);
}
function ue() {
clearTimeout(k.hover), k.hover = setTimeout(() => {
A.value = !0, z.value = !0;
}, v.value);
}
function J() {
clearTimeout(k.hover), k.hover = setTimeout(() => {
A.value = !1, ne();
}, v.value);
}
function N(pe = "change", Re = f.sync) {
const [he, Fe] = q.value, lt = f.range ? he > Fe ? [Fe, he] : [he, Fe] : Fe;
if (pe === "change") {
if (be(fe, lt)) return;
fe = lt, Re || (ot = lt, u("update:value", lt), m(lt)), _(f.onChange, lt), Re || d();
} else {
if (be(ot, lt)) return;
ot = lt, Re && (u("update:value", lt), m(lt)), _(f.onInput, lt), Re && d();
}
}
let j = null;
function ae(pe) {
if (!j) return;
const Re = f.vertical, he = f.reverse, Fe = Re ? pe.clientY : pe.clientX;
w.value[F.value] = (he ? -1 : 1) * ((Fe - j[Re ? he ? "bottom" : "top" : he ? "right" : "left"]) / j[Re ? "height" : "width"]) * Z.value + H.value;
}
function be(pe, Re) {
return Array.isArray(pe) && Array.isArray(Re) ? pe[0] === Re[0] && pe[1] === Re[1] : pe === Re;
}
const re = Cl((pe) => {
!j || f.disabled || (pe.preventDefault(), ae(pe), se(), E.value && E.value.updateTooltip(), P.value && P.value.updateTooltip(), N("input"));
});
function ce(pe) {
if (!(!C.value || Ee.value)) {
if (clearTimeout(k.sliding), pe.stopPropagation(), pe.preventDefault(), j = C.value.getBoundingClientRect(), f.range) {
const { vertical: Re, reverse: he } = f, Fe = Re ? pe.clientY : pe.clientX, lt = (he ? j[Re ? "bottom" : "right"] - Fe : Fe - j[Re ? "top" : "left"]) / j[Re ? "height" : "width"] * 100;
F.value = Math.abs(lt - K.value[0]) < Math.abs(lt - K.value[1]) ? 0 : 1;
} else
F.value = 1;
T.value[F.value] = !0, z.value = !0, ae(pe), se(), N("input"), document.addEventListener("pointermove", Pe), document.addEventListener("pointerup", at);
}
}
function Pe(pe) {
re(pe);
}
function at() {
j = null, document.removeEventListener("pointermove", Pe), document.removeEventListener("pointerup", at), N(), k.sliding = setTimeout(() => {
T.value[F.value] = !1, ne();
}, 250);
}
function yt(pe) {
pe.cancelable && (pe.stopPropagation(), pe.preventDefault());
}
function Nt(pe) {
const { vertical: Re, reverse: he } = f;
return pe = Ze(pe), {
[he ? "bottom" : "top"]: Re ? `${pe}%` : "50%",
[he ? "right" : "left"]: Re ? "50%" : `${pe}%`,
transform: `translate(${he ? "" : "-"}50%, ${he ? "" : "-"}50%)`
};
}
function Mt(pe) {
const { vertical: Re, reverse: he } = f;
return pe = Ze(pe), {
[he ? "bottom" : "top"]: Re ? `${pe}%` : void 0,
[he ? "right" : "left"]: Re ? void 0 : `${pe}%`,
transform: `translate${Re ? "Y" : "X"}(${he ? "" : "-"}50%)`
};
}
function Ht(pe) {
const Re = parseFloat(pe);
if (Number.isNaN(Re)) return !1;
if (f.range) {
const he = Math.min(q.value[0], q.value[1]), Fe = Math.max(q.value[0], q.value[1]);
return Re >= he && Re <= Fe;
} else
return Re <= q.value[1];
}
function _t(pe, Re, he = !1) {
w.value[pe] += Re, se(), he && N();
}
function tn(pe, Re) {
if (!Ee.value)
if (f.markerOnly || Re === "alt") {
if (!R.value.length) return;
const he = q.value[pe];
for (const { value: Fe } of R.value)
if (Fe > he) {
w.value[pe] = Fe;
break;
}
N();
} else
_t(pe, Re === "shift" ? 5 : Re === "ctrl" ? 20 : 1, !0);
}
function Wt(pe, Re) {
if (!Ee.value)
if (f.markerOnly || Re === "alt") {
if (!R.value.length) return;
const he = q.value[pe];
for (let Fe = R.value.length - 1; Fe >= 0; --Fe) {
const { value: lt } = R.value[Fe];
if (lt < he) {
w.value[pe] = lt;
break;
}
}
N();
} else
_t(pe, Re === "shift" ? -5 : Re === "ctrl" ? -20 : -1);
}
function un(pe) {
var Re;
(Re = E.value || P.value) == null || Re.focus(pe);
}
function qt() {
var pe;
(pe = E.value || P.value) == null || pe.blur();
}
return (pe, Re) => (S(), D("div", {
id: e(a),
class: x(ee.value),
tabindex: "-1",
role: "group",
"aria-labelledby": e(o),
onPointerdown: ce,
onPointerenter: ue,
onPointerleave: J,
onTouchstart: yt
}, [
oe("div", {
class: x(e(i).be("container"))
}, [
oe("div", {
ref_key: "track",
ref: C,
class: x(e(i).be("track"))
}, null, 2),
W(pe.$slots, "filler", It(Yt(e(Se))), () => [
y(e(me), {
renderer: e(f).slots.filler,
data: e(Se)
}, {
default: X(() => [
oe("div", {
ref_key: "filler",
ref: Ce,
class: x(e(i).be("filler")),
style: Qe(we.value)
}, [
oe("div", {
class: x(e(i).be("filler-inner"))
}, null, 2)
], 6)
]),
_: 1
}, 8, ["renderer", "data"])
]),
R.value.length ? (S(), D(st, { key: 0 }, [
oe("div", {
class: x(e(i).be("points"))
}, [
(S(!0), D(st, null, ln(R.value, ({ value: he, marker: Fe }) => (S(), D("div", {
key: he,
class: x([e(i).be("point"), Ht(he) && e(i).bem("point", "in-range")]),
style: Qe(Nt(he))
}, [
W(pe.$slots, "point", He({ ref_for: !0 }, e(Se), {
marker: Fe,
markerValue: he,
inRange: Ht(he)
}), () => [
y(e(me), {
renderer: e(f).slots.point,
data: {
...e(Se),
marker: Fe,
markerValue: he,
inRange: Ht(he)
}
}, {
default: X(() => [
oe("span", {
class: x(e(i).be("dot"))
}, null, 2)
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 6))), 128))
], 2),
oe("div", {
class: x(e(i).be("markers"))
}, [
(S(!0), D(st, null, ln(R.value, ({ value: he, marker: Fe }) => (S(), D("div", He({
key: he,
ref_for: !0
}, Fe.attrs, {
class: [e(i).be("marker"), Fe.class],
style: [Mt(he), Fe.style]
}), [
W(pe.$slots, "marker", He({ ref_for: !0 }, e(Se), {
marker: Fe,
markerValue: he,
inRange: Ht(he)
}), () => [
y(e(me), {
renderer: e(f).slots.marker,
data: {
...e(Se),
marker: Fe,
markerValue: he,
inRange: Ht(he)
}
}, {
default: X(() => [
dt(ze(Fe.label), 1)
]),
_: 2
}, 1032, ["renderer", "data"])
])
], 16))), 128))
], 2)
], 64)) : ge("", !0),
e(f).range ? (S(), Be(Ju, {
key: 1,
ref_key: "startTrigger",
ref: E,
value: q.value[0],
"tip-transfer": e(f).tipTransfer,
"hide-tip": e(f).hideTip,
vertical: e(f).vertical,
min: e(f).min,
max: e(f).max,
disabled: e(f).disabled,
loading: e(f).loading,
reverse: e(f).reverse,
sliding: T.value[0],
"tip-hover": e(f).tipHover,
style: Qe(de.value),
"tip-props": e(f).tipProps,
onKeyPlus: Re[0] || (Re[0] = (he) => tn(0, he)),
onKeyMinus: Re[1] || (Re[1] = (he) => Wt(0, he))
}, nl({
default: X(() => [
h.trigger || e(f).slots.trigger ? W(pe.$slots, "trigger", {
key: 0,
type: "start",
value: q.value[0],
sliding: T.value[0],
percent: K.value[0],
disabled: e(f).disabled,
loading: e(f).loading
}, () => [
y(e(me), {
renderer: e(f).slots.trigger,
data: {
type: "start",
value: q.value[0],
sliding: T.value[0],
percent: K.value[0],
disabled: e(f).disabled,
loading: e(f).loading
}
}, null, 8, ["renderer", "data"])
]) : ge("", !0)
]),
_: 2
}, [
h.tip || e(f).slots.tip ? {
name: "tip",
fn: X(() => [
W(pe.$slots, "tip", {
type: "start",
value: q.value[0],
sliding: T.value[0],
percent: K.value[0],
disabled: e(f).disabled,
loading: e(f).loading
}, () => [
y(e(me), {
renderer: e(f).slots.tip,
data: {
type: "start",
value: q.value[0],
sliding: T.value[0],
percent: K.value[0],
disabled: e(f).disabled,
loading: e(f).loading
}
}, {
default: X(() => [
dt(ze(q.value[0]), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0
]), 1032, ["value", "tip-transfer", "hide-tip", "vertical", "min", "max", "disabled", "loading", "reverse", "sliding", "tip-hover", "style", "tip-props"])) : ge("", !0),
y(Ju, {
ref_key: "endTrigger",
ref: P,
value: q.value[1],
"tip-transfer": e(f).tipTransfer,
"hide-tip": e(f).hideTip,
vertical: e(f).vertical,
min: e(f).min,
max: e(f).max,
disabled: e(f).disabled,
loading: e(f).loading,
reverse: e(f).reverse,
sliding: T.value[1],
"tip-hover": e(f).tipHover,
style: Qe(te.value),
"tip-props": e(f).tipProps,
onKeyPlus: Re[2] || (Re[2] = (he) => tn(1, he)),
onKeyMinus: Re[3] || (Re[3] = (he) => Wt(1, he))
}, nl({
default: X(() => [
h.trigger || e(f).slots.trigger ? W(pe.$slots, "trigger", {
key: 0,
type: "end",
value: q.value[1],
sliding: T.value[1],
percent: K.value[1],
disabled: e(f).disabled,
loading: e(f).loading
}, () => [
y(e(me), {
renderer: e(f).slots.trigger,
data: {
type: "end",
value: q.value[1],
sliding: T.value[1],
percent: K.value[1],
disabled: e(f).disabled,
loading: e(f).loading
}
}, null, 8, ["renderer", "data"])
]) : ge("", !0)
]),
_: 2
}, [
h.tip || e(f).slots.tip ? {
name: "tip",
fn: X(() => [
W(pe.$slots, "tip", {
type: "end",
value: q.value[1],
sliding: T.value[1],
percent: K.value[1],
disabled: e(f).disabled,
loading: e(f).loading
}, () => [
y(e(me), {
renderer: e(f).slots.tip,
data: {
type: "end",
value: q.value[1],
sliding: T.value[1],
percent: K.value[1],
disabled: e(f).disabled,
loading: e(f).loading
}
}, {
default: X(() => [
dt(ze(q.value[1]), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0
]), 1032, ["value", "tip-transfer", "hide-tip", "vertical", "min", "max", "disabled", "loading", "reverse", "sliding", "tip-hover", "style", "tip-props"])
], 2)
], 42, Ak));
}
}), Rk = ft({
vertical: M,
inline: M,
tag: String,
align: String,
justify: String,
noWrap: M,
size: [String, Number, Array],
itemStyle: kl,
gapDisabled: M
});
function Mk(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const Pk = Object.freeze(["start", "end", "center", "space-around", "space-between", "space-evenly"]), zk = Object.freeze(["start", "end", "center", "baseline", "stretch"]), Lk = Op();
function Qu(t) {
return t === "start" || t === "end" ? `flex-${t}` : t;
}
const Fk = /* @__PURE__ */ Xe({
name: "Space",
props: Rk,
setup(t, {
slots: r
}) {
const l = ct("space", t, {
vertical: !1,
inline: !1,
tag: "div",
align: {
default: "stretch",
validator: (c) => zk.includes(c)
},
justify: {
default: "start",
validator: (c) => Pk.includes(c)
},
noWrap: !1,
size: "default",
itemStyle: null,
gapDisabled: !Lk
}), a = Ye("space"), n = {
h: `var(${a.cv("h-gap")})`,
hh: `calc(var(${a.cv("h-gap")}) * 0.5)`,
mhh: `calc(var(${a.cv("h-gap")}) * -0.5)`,
v: `var(${a.cv("v-gap")})`,
hv: `calc(var(${a.cv("v-gap")}) * 0.5)`,
mhv: `calc(var(${a.cv("v-gap")}) * -0.5)`
}, o = g(() => {
const c = {
[a.b()]: !0,
[a.bs("vars")]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm("inline")]: l.inline,
[a.bm("vertical")]: l.vertical,
[a.bm("no-wrap")]: l.vertical || l.noWrap,
[a.bm("no-gap")]: l.gapDisabled
};
return typeof l.size == "string" && l.size !== "default" && (c[a.bm(l.size)] = !0), c;
}), s = g(() => {
const {
justify: c,
align: d,
size: p
} = l, m = {
alignItems: Qu(d),
justifyContent: Qu(c)
};
if (typeof p != "string") {
const b = Array.isArray(p) ? p : [p, p];
m[a.cv("h-gap")] = `${b[0]}px`, m[a.cv("v-gap")] = `${b[1]}px`;
}
return l.gapDisabled && !l.vertical && (m.marginTop = n.mhv, m.marginBottom = n.mhv), m;
});
return () => {
let c;
const d = l.tag || "div", p = W(r, "default").children;
if (!(p != null && p.length))
return y(d, {
class: o.value,
style: s.value
}, null);
const m = Gc(p), b = m.length - 1, f = l.justify, u = f.startsWith("space"), h = f !== "space-between";
return y(d, {
class: o.value,
style: s.value
}, Mk(c = m.map((i, v) => y("div", {
key: v,
class: a.be("item"),
role: "none",
style: [l.itemStyle, l.gapDisabled ? l.vertical ? {
marginBottom: v !== b ? n.v : void 0
} : {
paddingTop: n.hv,
paddingBottom: n.hv,
marginRight: u ? h || v !== b ? n.hh : void 0 : v !== b ? n.h : void 0,
marginLeft: u && (h || v !== 0) ? n.hh : void 0
} : ""]
}, [i]))) ? c : {
default: () => [c]
});
};
}
}), Ik = ft({
value: Number,
min: Number,
max: Number,
vertical: M,
noTransition: M,
lazy: M,
canFull: M,
onChange: B(),
onFull: B(),
onReset: B(),
onMoveStart: B(),
onMove: B(),
onMoveEnd: B()
}), Nk = Xe({
name: "Split",
components: {
Icon: Oe
},
props: Ik,
emits: ["update:value"],
setup(t, { emit: r }) {
const l = ct("split", t, {
value: {
default: 0.5,
validator: (C) => C > 0 && C < 1,
static: !0
},
min: 0.1,
max: 0.9,
vertical: !1,
noTransition: !1,
lazy: !1,
canFull: !1
}), a = Ye("split"), n = Gt(), o = $(l.value), s = $(0), c = $(!1), d = $(), p = $(), m = g(() => l.vertical ? "offsetHeight" : "offsetWidth"), b = g(() => l.vertical ? ["top", "bottom"] : ["left", "right"]), { target: f, moving: u } = Pl({
lazy: !0,
capture: !1,
onStart: (C, E) => {
if (s.value || !d.value || E.button > 0)
return !1;
const { min: P, max: R, vertical: L, lazy: I } = l, G = d.value[m.value], ee = P <= 1 ? P : P / G, O = R <= 1 ? R : R / G;
C.outer = G, C.min = ee, C.max = O, C.vertical = L, C.splitLazy = I, C.start = o.value * G, C.target = o.value, I && p.value && (p.value.style[b.value[0]] = `${o.value * 100}`, p.value.style.display = "block"), _(l.onMoveStart, o.value);
},
onMove: (C) => {
const E = C.outer, P = C.min, R = C.max, L = C.vertical ? C.deltaY : C.deltaX, I = C.start, G = Math.min(Math.max(P, (I + L) / E), R);
C.splitLazy ? (p.value && (p.value.style[b.value[0]] = `${G * 100}%`), C.target = G) : z(G), _(l.onMove, G);
},
onEnd: (C) => {
if (p.value && (p.value.style.display = ""), C.splitLazy) {
const E = C.target;
Math.abs(E - o.value) > 0.01 && T(), z(E);
}
_(l.onMoveEnd, o.value);
}
}), h = g(() => {
let C = "";
return s.value && (l.vertical ? C = s.value < 0 ? "top" : "bottom" : C = s.value < 0 ? "left" : "right"), {
[a.b()]: !0,
[a.bs("vars")]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm(l.vertical ? "vertical" : "horizontal")]: !0,
[a.bm("moving")]: u.value,
[a.bm(`${C}-full`)]: !!C,
[a.bm("transition")]: c.value
};
}), i = g(() => ({
[b.value[1]]: s.value < 0 ? "0" : s.value > 0 ? "100%" : `${(1 - o.value) * 100}%`
})), v = g(() => ({
[b.value[0]]: s.value < 0 ? "100%" : s.value > 0 ? "0" : `${o.value * 100}%`
})), k = g(() => ({
[b.value[0]]: s.value < 0 ? "100%" : s.value > 0 ? "0" : `calc(${o.value * 100}% - var(${a.cv("handler-size")}) * 0.5)`
})), w = g(() => l.vertical ? [n.value.angleDown, n.value.angleUp] : [n.value.angleRight, n.value.angleLeft]);
le(
() => l.value,
(C) => {
C.toFixed(5) !== o.value.toFixed(5) && (o.value = C, T());
}
), le(o, (C) => {
p.value && (p.value.style[b.value[0]] = `${C * 100}%`);
}), le(s, (C) => {
if (T(), C) {
let E;
l.vertical ? E = C < 0 ? "top" : "bottom" : E = C < 0 ? "left" : "right", _(l.onFull, E);
} else
_(l.onReset);
});
function T() {
c.value = !l.noTransition && !u.value;
}
function F() {
c.value = !1;
}
function A(C) {
l.canFull && (s.value ? s.value = 0 : s.value = C);
}
function z(C) {
C.toFixed(5) !== o.value.toFixed(5) && (o.value = C, _(l.onChange, C), r("update:value", C));
}
return {
props: l,
nh: a,
className: h,
position: b,
leftPaneStyle: i,
rightPaneStyle: v,
triggerStyle: k,
fullIcons: w,
wrapper: d,
guide: p,
handler: f,
removeTransition: F,
handleFull: A
};
}
});
function Dk(t, r, l, a, n, o) {
const s = Js("Icon");
return S(), D("div", {
ref: "wrapper",
class: x(t.className),
onTransitionend: r[4] || (r[4] = (...c) => t.removeTransition && t.removeTransition(...c))
}, [
oe("div", {
class: x([t.nh.be("panel"), t.nh.bem("panel", t.props.vertical ? "top" : "left")]),
style: Qe(t.leftPaneStyle)
}, [
W(t.$slots, "left")
], 6),
oe("div", {
class: x([t.nh.be("panel"), t.nh.bem("panel", t.props.vertical ? "bottom" : "right")]),
style: Qe(t.rightPaneStyle)
}, [
W(t.$slots, "right")
], 6),
oe("div", {
class: x(t.nh.be("trigger")),
style: Qe(t.triggerStyle)
}, [
oe("div", {
ref: "handler",
class: x(t.nh.be("handler"))
}, [
t.props.canFull ? (S(), D(st, { key: 0 }, [
oe("button", {
type: "button",
class: x([t.nh.be("button"), t.nh.bem("button", `${t.props.vertical ? "top" : "left"}-full`)]),
onPointerdown: r[0] || (r[0] = gt(() => {
}, ["stop"])),
onClick: r[1] || (r[1] = gt((c) => t.handleFull(-1), ["left"]))
}, [
y(s, He(t.fullIcons[0], {
scale: +(t.fullIcons[0].scale || 1) * 0.6
}), null, 16, ["scale"])
], 34),
oe("button", {
type: "button",
class: x([
t.nh.be("button"),
t.nh.bem("button", `${t.props.vertical ? "bottom" : "right"}-full`)
]),
onPointerdown: r[2] || (r[2] = gt(() => {
}, ["stop"])),
onClick: r[3] || (r[3] = gt((c) => t.handleFull(1), ["left"]))
}, [
y(s, He(t.fullIcons[1], {
scale: +(t.fullIcons[1].scale || 1) * 0.6
}), null, 16, ["scale"])
], 34)
], 64)) : W(t.$slots, "handler", { key: 1 }, () => [
(S(), D(st, null, ln(6, (c) => oe("span", {
key: c,
class: x(t.nh.be("pointer"))
}, null, 2)), 64))
])
], 2)
], 6),
oe("div", {
ref: "guide",
class: x(t.nh.be("guide"))
}, null, 2)
], 34);
}
const Ok = /* @__PURE__ */ jr(Nk, [["render", Dk]]), af = ft({
active: [String, Number],
card: M,
options: Array,
align: String,
placement: String,
closable: M,
showAdd: M,
slots: Object,
onChange: B(),
onAdd: B(),
onClose: B()
}), rf = ft({
label: [String, Number],
disabled: M,
icon: Xt,
closable: M,
onToggle: B()
}), of = "__VXP_TAB_NAV_STATE", _k = Object.freeze({
top: ["left", "width"],
right: ["top", "height"],
bottom: ["left", "width"],
left: ["top", "height"]
}), Bk = ["aria-disabled", "aria-setsize", "aria-posinset", "onKeydown"], Ii = /* @__PURE__ */ Xe({
name: "TabNavItem",
__name: "tab-nav-item",
props: rf,
setup(t) {
const l = ct("tabNavItem", t, {
label: {
static: !0,
default: null
},
disabled: !1,
icon: en(),
closable: null
}), a = Et(of, null), n = Ye("tab-nav"), o = Gt(), s = $(!1), c = $(l.label), d = $(0), p = $(0), m = $(), b = g(() => {
const i = n.be("content");
return {
[i]: !0,
[`${i}--disabled`]: l.disabled,
[`${i}--active`]: !l.disabled && s.value
};
}), f = g(() => dn(l.closable) ? l.closable : (a == null ? void 0 : a.closable) ?? !1);
if (le(
() => l.label,
(i) => {
c.value = i, a == null || a.refreshLabels();
}
), le(s, (i) => {
_(l.onToggle, i);
}), a) {
const i = pt({
el: m,
label: c,
index: d,
total: p
});
le(c, () => {
s.value = c.value === a.currentActive;
}), le(
() => a.currentActive,
(v) => {
s.value = c.value === v;
},
{ immediate: !0 }
), a.increaseItem(i), pn(() => {
a.decreaseItem(i);
});
}
function u() {
l.disabled || a == null || a.handleActive(c.value);
}
function h() {
l.disabled || a == null || a.handleClose(c.value);
}
return (i, v) => (S(), D("li", {
ref_key: "wrapper",
ref: m,
class: x(e(n).be("item")),
role: "none"
}, [
oe("div", {
class: x(e(n).be("pad"))
}, null, 2),
oe("div", {
class: x(b.value),
role: "tab",
tabindex: "0",
"aria-disabled": e(l).disabled,
"aria-setsize": p.value || void 0,
"aria-posinset": d.value || void 0,
onClick: u,
onKeydown: Kn(gt(u, ["stop"]), ["enter"])
}, [
e(l).icon ? (S(), Be(e(Oe), {
key: 0,
class: x(e(n).be("icon")),
icon: e(l).icon
}, null, 8, ["class", "icon"])) : ge("", !0),
W(i.$slots, "default", {}, () => [
dt(ze(e(l).label), 1)
]),
f.value ? (S(), D("button", {
key: 1,
type: "button",
class: x(e(n).be("close")),
onClick: gt(h, ["stop"])
}, [
y(e(Oe), He(e(o).close, { label: "close" }), null, 16)
], 2)) : ge("", !0)
], 42, Bk)
], 2));
}
}), sf = /* @__PURE__ */ Xe({
name: "TabNav",
__name: "tab-nav",
props: af,
emits: ["update:active"],
setup(t, { expose: r, emit: l }) {
const n = ct("tabNav", t, {
active: {
default: null,
static: !0
},
card: !1,
options: {
default: () => [],
static: !0
},
align: "left",
placement: "top",
closable: !1,
showAdd: !1,
slots: () => ({})
}), o = l, s = kn(), c = Ye("tab-nav"), d = Gt(), p = $(n.active), m = $(0), b = $(0), f = /* @__PURE__ */ new Set(), u = Wo(R), h = $(), i = g(() => ({
[c.b()]: !0,
[c.bs("vars")]: !0,
[c.bm("inherit")]: n.inherit,
[c.bm(`align-${n.align}`)]: !0,
[c.bm(n.placement)]: !0,
[c.bm("card")]: n.card
})), v = g(() => {
const [L, I] = _k[n.placement];
return {
[L]: `${m.value}px`,
[I]: `${b.value}px`
};
}), k = g(() => n.options.map((L) => typeof L == "string" || typeof L == "number" ? { label: L } : L)), w = g(() => n.placement === "top" || n.placement === "bottom" ? "horizontal-exact" : "vertical"), T = Ln(() => {
const L = f.size;
Array.from(f).forEach((I, G) => {
I.index = G + 1, I.total = L, Tt(I.label) && (I.label = G + 1);
}), f.size >= 1 && F() && (p.value = Array.from(f)[0].label);
});
nn(
of,
pt({
currentActive: p,
closable: qe(n, "closable"),
increaseItem: A,
decreaseItem: z,
handleActive: C,
handleClose: P,
refreshLabels: T
})
), le(
() => n.active,
(L) => {
p.value = L, R();
}
), le(
() => n.placement,
() => {
requestAnimationFrame(R);
}
), sn(R), r({
items: k,
wrapper: u,
scroll: h,
updateMarkerPosition: R,
handleAdd: E
});
function F() {
return Tt(p.value) || p.value === "";
}
function A(L) {
f.add(L), T();
}
function z(L) {
f.delete(L), T();
}
function C(L) {
p.value = L, R(), o("update:active", L), _(n.onChange, L);
}
function E() {
_(n.onAdd);
}
function P(L) {
_(n.onClose, L), requestAnimationFrame(R);
}
function R() {
const L = Array.from(f).find((I) => I.label === p.value);
L != null && L.el ? n.placement === "top" || n.placement === "bottom" ? (m.value = L.el.offsetLeft, b.value = L.el.offsetWidth) : (m.value = L.el.offsetTop, b.value = L.el.offsetHeight) : (m.value = 0, b.value = 0);
}
return (L, I) => (S(), D("div", {
ref_key: "wrapper",
ref: u,
class: x(i.value),
tabindex: "-1"
}, [
y(e(zn), { "on-resize": R }, {
default: X(() => [
oe("div", {
class: x([e(c).be("extra"), e(c).bem("extra", "prefix")])
}, [
s.prefix || e(n).slots.prefix ? (S(), D("div", {
key: 0,
class: x(e(c).be("prefix"))
}, [
W(L.$slots, "prefix", {}, () => [
y(e(me), {
renderer: e(n).slots.prefix
}, null, 8, ["renderer"])
])
], 2)) : ge("", !0)
], 2)
]),
_: 3
}),
y(e(Ei), {
ref_key: "scroll",
ref: h,
class: x(e(c).be("scroll")),
mode: w.value,
"delta-x": 40,
"delta-y": 40,
"scroll-tag": "ul",
"scroll-class": e(c).be("list"),
"scroll-attrs": { role: "tablist" }
}, {
default: X(() => [
W(L.$slots, "default", {}, () => [
(S(!0), D(st, null, ln(k.value, (G) => (S(), Be(e(Ii), {
key: G.label,
label: G.label,
icon: G.icon,
disabled: G.disabled,
closable: G.closable,
onToggle: G.onToggle
}, {
default: X(() => [
dt(ze(G.content || G.label), 1)
]),
_: 2
}, 1032, ["label", "icon", "disabled", "closable", "onToggle"]))), 128))
]),
e(n).showAdd || s.add || e(n).slots.add ? (S(), D("li", {
key: 0,
class: x(e(c).be("item")),
role: "none"
}, [
oe("div", {
class: x(e(c).be("pad"))
}, null, 2),
oe("button", {
type: "button",
class: x(e(c).be("add")),
onClick: E
}, [
W(L.$slots, "add", {}, () => [
y(e(me), {
renderer: e(n).slots.add
}, {
default: X(() => [
y(e(Oe), He(e(d).plus, {
scale: +(e(d).plus.scale || 1) * 1.2
}), null, 16, ["scale"])
]),
_: 1
}, 8, ["renderer"])
])
], 2)
], 2)) : ge("", !0),
e(n).card ? ge("", !0) : (S(), D("div", {
key: 1,
class: x(e(c).be("track")),
role: "none",
style: Qe(v.value)
}, [
W(L.$slots, "marker", {}, () => [
y(e(me), {
renderer: e(n).slots.marker
}, {
default: X(() => [
oe("div", {
class: x(e(c).be("marker"))
}, null, 2)
]),
_: 1
}, 8, ["renderer"])
])
], 6))
]),
_: 3
}, 8, ["class", "mode", "scroll-class"]),
y(e(zn), { "on-resize": R }, {
default: X(() => [
oe("div", {
class: x([e(c).be("extra"), e(c).bem("extra", "suffix")])
}, [
s.suffix || e(n).slots.suffix ? (S(), D("div", {
key: 0,
class: x(e(c).be("suffix"))
}, [
W(L.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(n).slots.suffix
}, null, 8, ["renderer"])
])
], 2)) : ge("", !0)
], 2)
]),
_: 3
})
], 2));
}
}), Hk = Jl({
...jo(af, ["options"]),
lazy: M,
lazyLoad: M,
slots: Object
}), Vk = Jl({
...rf,
lazy: M,
lazyLoad: M,
name: {
type: String,
default: ""
}
}), uf = "__VXP_TABS_STATE", jk = ["aria-hidden"], Wk = /* @__PURE__ */ Xe({
name: "TabPanel",
__name: "tab-panel",
props: Vk,
setup(t) {
const l = ct("tabPanel", t, {
lazy: null,
lazyLoad: null
}), a = kn(), n = Et(uf, null), o = Ye("tabs"), s = $(!1), c = $(l.label), d = $(!1), p = g(() => l.lazy ?? (n == null ? void 0 : n.lazy) ?? !1), m = g(() => l.lazyLoad ?? (n == null ? void 0 : n.lazyLoad) ?? !1), b = g(() => {
const f = o.be("panel");
return {
[f]: !0,
[`${f}--disabled`]: l.disabled,
[`${f}--lazy`]: p.value,
[`${f}--active`]: !l.disabled && s.value
};
});
if (le(
() => l.label,
(f) => {
c.value = f, n == null || n.refreshLabels();
}
), le(s, (f) => {
_(l.onToggle, f);
}), n) {
const f = pt({
label: c,
name: qe(l, "name"),
icon: qe(l, "icon"),
disabled: qe(l, "disabled"),
closable: qe(l, "closable"),
labelRenderer: null
});
le(
() => a.label,
(u) => {
f.labelRenderer = u ? (h) => u(h) : null;
},
{ immediate: !0 }
), le(c, () => {
s.value = c.value === n.currentActive;
}), le(
() => n.currentActive,
(u) => {
s.value = c.value === u, !d.value && s.value && (d.value = !0);
},
{ immediate: !0 }
), n.increaseItem(f), pn(() => {
n.decreaseItem(f);
});
}
return (f, u) => !(p.value || m.value && !d.value) || s.value ? (S(), D("div", {
key: 0,
class: x(b.value),
role: "tabpanel",
"aria-hidden": !s.value
}, [
W(f.$slots, "default")
], 10, jk)) : ge("", !0);
}
}), Kk = ft({
locale: Mn(),
columns: Array,
summaries: Array,
data: Array,
width: [Number, String],
height: Number,
minHeight: Number,
rowClass: [String, Object, Array, Function],
rowStyle: [String, Object, Array, Function],
rowAttrs: [Object, Function],
stripe: M,
border: M,
highlight: M,
useXBar: M,
useYBar: M,
barFade: Number,
rowDraggable: M,
rowHeight: Number,
rowMinHeight: Number,
virtual: M,
bufferCount: Number,
scrollClass: Object,
expandRenderer: Function,
currentPage: Number,
pageSize: Number,
transparent: M,
tooltipTheme: String,
tooltipWidth: [Number, String],
singleSorter: M,
singleFilter: M,
cellClass: [String, Object, Array, Function],
cellStyle: [String, Object, Array, Function],
cellAttrs: [Object, Function],
headClass: [String, Object, Array, Function],
headStyle: [String, Object, Array, Function],
headAttrs: [Object, Function],
footClass: [String, Object, Array, Function],
footStyle: [String, Object, Array, Function],
footAttrs: [Object, Function],
customSorter: M,
customFilter: M,
keyConfig: Object,
disabledTree: M,
rowIndent: [String, Number],
noCascaded: M,
colResizable: {
type: [Boolean, String],
default: null
},
cellSpan: Function,
sidePadding: [Number, Array],
icons: Object,
borderWidth: Number,
dataFilter: Function,
noTransition: M,
ellipsis: M,
slots: Object,
onScroll: B(),
onRowEnter: B(),
onRowLeave: B(),
onRowClick: B(),
onRowDblclick: B(),
onRowContextmenu: B(),
onRowCheck: B(),
onRowCheckAll: B(),
onRowExpand: B(),
onRowTreeExpand: B(),
onRowDragStart: B(),
onRowDragOver: B(),
onRowDrop: B(),
onRowDragEnd: B(),
onRowFilter: B(),
onRowSort: B(),
onCellEnter: B(),
onCellLeave: B(),
onCellClick: B(),
onCellDblclick: B(),
onCellContextmenu: B(),
onHeadEnter: B(),
onHeadLeave: B(),
onHeadClick: B(),
onHeadDblclick: B(),
onHeadContextmenu: B(),
onColResizeStart: B(),
onColResizeMove: B(),
onColResizeEnd: B(),
onFootEnter: B(),
onFootLeave: B(),
onFootClick: B(),
onFootDblclick: B(),
onFootContextmenu: B()
}), cf = ft({
idKey: [Number, String],
name: String,
accessor: Function,
fixed: {
type: [Boolean, String],
default: null
},
class: Bn,
style: kl,
attrs: Object,
type: String,
width: [Number, String],
minWidth: Number,
maxWidth: Number,
filter: Object,
sorter: {
type: [Boolean, Object],
default: null
},
renderer: Function,
headRenderer: Function,
filterRenderer: Function,
order: Number,
ellipsis: M,
checkboxSize: An,
selectionSize: An,
disableRow: Function,
truthIndex: M,
orderLabel: Function,
meta: Object,
textAlign: String,
headSpan: Number,
cellSpan: Function,
noSummary: M,
summaryRenderer: Function,
indented: M,
formatter: Function,
singleSelect: M
}), df = ft({
name: String,
fixed: {
type: [Boolean, String],
default: null
},
order: Number,
ellipsis: M,
textAlign: String,
renderer: Function,
children: Array
}), ff = ft({
idKey: [Number, String],
name: String,
class: Bn,
style: kl,
attrs: Object,
cellSpan: Function,
order: Number,
above: M,
meta: Object,
renderer: Function
});
var aa = /* @__PURE__ */ ((t) => (t.BEFORE = "before", t.INNER = "inner", t.AFTER = "after", t))(aa || {});
const Uk = "id", pa = "__VXP_TABLE_STORE", ea = "__VXP_TABLE_ACTIONS", pf = "__VXP_TABLE_SLOTS", Tr = "__vxp-table-head-", Xk = "__vxp-table-foot-", Xs = "__VXP_TABLE_COLUMN_GROUP_ACTIONS", or = ["order", "selection", "expand", "drag"], vf = (t) => t, Yk = Object.keys(cf), qk = {
idKey: "key"
}, Gk = [
"renderer",
"headRenderer",
"filterRenderer",
"summaryRenderer"
], Zk = [
"idKey",
"fixed",
"type",
"width",
"minWidth",
"maxWidth",
"sorter",
"order",
"orderLabel",
"disableRow",
"headSpan",
"cellSpan"
], Jk = ["left", "center", "right"], vr = {
default: null,
isFunc: !0,
static: !0
}, Ni = Xe({
name: "TableColumn",
inheritAttrs: !1,
props: cf,
setup(t, { slots: r }) {
const l = ct("tableColumn", t, {
idKey: {
default: null,
validator: (b) => !Tt(b),
static: !0
},
name: {
default: "",
static: !0
},
accessor: {
default: null,
isFunc: !0,
static: !0
},
fixed: {
default: !1,
static: !0
},
class: null,
style: null,
attrs: null,
type: {
default: null,
validator: (b) => or.includes(b),
static: !0
},
width: null,
minWidth: 10,
maxWidth: null,
filter: null,
sorter: !1,
renderer: vr,
headRenderer: vr,
filterRenderer: vr,
order: {
default: 0,
static: !0
},
ellipsis: null,
checkboxSize: {
...On(),
default: null
},
selectionSize: {
...On(),
default: null
},
disableRow: {
default: null,
isFunc: !0
},
truthIndex: !1,
orderLabel: {
default: null,
isFunc: !0
},
meta: null,
textAlign: {
default: "left",
validator: (b) => Jk.includes(b)
},
headSpan: {
default: 1,
static: !0
},
cellSpan: vr,
noSummary: !1,
summaryRenderer: vr,
indented: !1,
formatter: {
default: null,
isFunc: !0
},
singleSelect: !1
}), a = g(() => (l.checkboxSize && Np("'checkboxSize' has been deprecated, please use 'selectionSize' instead."), l.selectionSize ?? l.checkboxSize ?? "default")), n = Et(ea, null), o = Et(Xs, null), s = pt({});
for (const b of Yk) {
if (Gk.includes(b)) continue;
if (b === "selectionSize" || b === "checkboxSize") {
s.selectionSize = a.value, le(a, (u) => {
s.selectionSize = u, n == null || n.setColumnProp(s.key, "selectionSize", u);
});
continue;
}
const f = qk[b] || b;
if (s[f] = l[b], b === "idKey") {
const u = (h) => {
Tt(h) && l.type ? s[f] = h = `__vxp_${l.type}` : s[f] = h;
};
u(l.idKey), le(
() => l.idKey,
(h) => {
u(h), n == null || n.updateColumns();
}
);
} else if (b === "filter") {
const u = g(() => {
if (l.filter) {
const { meta: h, ...i } = l.filter;
return i;
}
return l.filter;
});
le(
u,
() => {
s.filter = l.filter, n == null || n.updateColumns();
},
{ deep: !0 }
);
} else {
const u = Zk.includes(b);
le(
() => l[b],
(h) => {
s[f] = h, u ? n == null || n.updateColumns() : n == null || n.setColumnProp(s.key, b, h);
}
);
}
}
le(() => l.renderer, c), le(() => l.headRenderer, d), le(() => l.filterRenderer, p), le(() => l.summaryRenderer, m), c(), d(), p(), m(), o ? (o.increaseColumn(s), pn(() => {
o.decreaseColumn(s);
})) : (n == null || n.increaseColumn(s), pn(() => {
n == null || n.decreaseColumn(s);
}));
function c() {
if (s.type && s.type !== "expand") {
s.renderer = void 0;
return;
}
s.renderer = (b) => {
if (typeof r.default == "function")
return W(r, "default", b);
if (typeof l.renderer == "function")
return l.renderer(b);
if (s.type === "expand")
return "";
const f = b.row, u = b.rowIndex, i = (typeof s.formatter == "function" ? s.formatter : vf)(
typeof l.accessor == "function" ? l.accessor(f, u) : f[s.key]
);
return Tt(i) ? "" : String(i);
};
}
function d() {
if (s.type === "selection") {
s.renderer = void 0;
return;
}
s.headRenderer = (b) => typeof r.head == "function" ? W(r, "head", b) : typeof l.headRenderer == "function" ? l.headRenderer(b) : l.name;
}
function p() {
typeof r.filter == "function" || typeof l.filterRenderer == "function" ? s.filterRenderer = (b) => typeof r.filter == "function" ? W(r, "filter", b) : l.filterRenderer(b) : s.filterRenderer = void 0;
}
function m() {
typeof r.summary == "function" || typeof l.summaryRenderer == "function" ? s.summaryRenderer = (b) => typeof r.summary == "function" ? W(r, "summary", b) : typeof l.summaryRenderer == "function" ? l.summaryRenderer(b) : "" : s.summaryRenderer = void 0;
}
return () => null;
}
}), Qk = Object.keys(df), ew = ["renderer", "children"], tw = ["fixed", "order"], Di = /* @__PURE__ */ Xe({
name: "TableColumnGroup",
inheritAttrs: !1,
props: df,
setup(t, {
slots: r
}) {
const l = ct("tableColumn", t, {
name: {
default: "",
static: !0
},
fixed: {
default: !1,
static: !0
},
order: {
default: 0,
static: !0
},
ellipsis: null,
textAlign: "center",
renderer: {
default: null,
isFunc: !0,
static: !0
},
children: {
default: () => [],
static: !0
}
}), a = Et(ea, null), n = Et(Xs, null), o = pt(/* @__PURE__ */ new Set()), s = g(() => [...o]), c = pt({
children: s
});
c.key = Symbol("TableColumnGroup");
for (const f of Qk) {
if (ew.includes(f)) continue;
c[f] = l[f];
const u = tw.includes(f);
le(() => l[f], (h) => {
c[f] = h, u ? a == null || a.updateColumns() : a == null || a.setColumnProp(c.key, f, h);
});
}
le(() => l.renderer, m, {
immediate: !0
}), nn(Xs, {
increaseColumn: d,
decreaseColumn: p
}), n ? (n.increaseColumn(c), pn(() => {
n.decreaseColumn(c);
})) : (a == null || a.increaseColumn(c), pn(() => {
a == null || a.decreaseColumn(c);
}));
function d(f) {
o.add(f);
}
function p(f) {
o.delete(f);
}
function m() {
c.renderer = () => typeof r.head == "function" ? W(r, "head") : typeof l.renderer == "function" ? l.renderer() : l.name;
}
function b() {
return l.children.map((f) => {
if ("children" in f)
return y(Di, f, null);
const {
key: u,
...h
} = f;
return y(Ni, He(h, {
"id-key": u
}), null);
});
}
return () => [W(r, "default"), ...b()];
}
}), nw = Object.keys(ff), lw = {
idKey: "key"
}, aw = ["renderer"], rw = ["idKey", "cellSpan", "order", "above"], ec = {
default: null,
isFunc: !0,
static: !0
}, hf = Xe({
name: "TableSummary",
props: ff,
setup(t, { slots: r }) {
const l = ct("tableSummary", t, {
idKey: {
default: null,
validator: (s) => !Tt(s),
static: !0
},
class: null,
style: null,
attrs: null,
cellSpan: ec,
order: {
default: 0,
static: !0
},
above: {
default: !1,
static: !0
},
meta: null,
renderer: ec
}), a = Et(ea, null), n = pt({});
for (const s of nw) {
if (aw.includes(s)) continue;
const c = lw[s] || s, d = rw.includes(s);
n[c] = l[s], le(
() => l[s],
(p) => {
n[c] = p, d ? a == null || a.updateSummaries() : a == null || a.setSummaryProp(n.key, s, p);
}
);
}
le(() => l.renderer, o), o(), a == null || a.increaseSummary(n), pn(() => {
a == null || a.decreaseSummary(n);
});
function o() {
n.renderer = (s) => typeof s.column.summaryRenderer == "function" ? s.column.summaryRenderer({
...s,
summary: n
}) : typeof r.default == "function" ? W(r, "default", s) : typeof l.renderer == "function" ? l.renderer(s) : "";
}
return () => null;
}
}), xa = /* @__PURE__ */ Xe({
name: "TableIcon",
__name: "table-icon",
props: {
name: {
type: String,
required: !0
},
origin: {
type: Object,
default: null
}
},
setup(t) {
const r = t, l = Et(ea), a = Et(pf), n = g(() => l.getIcon(r.name));
return (o, s) => e(on)(e(a)[`icon-${t.name}`]) ? (S(), Be(e(me), {
key: 0,
renderer: e(l).renderTableSlot,
data: { name: `icon-${t.name}` }
}, null, 8, ["renderer", "data"])) : e(l).hasIcon(t.name) ? (S(), Be(e(Oe), {
key: 1,
icon: n.value
}, null, 8, ["icon"])) : (S(), Be(e(Oe), It(He({ key: 2 }, t.origin)), null, 16));
}
}), ow = ["colspan", "rowspan", "aria-sort"], sw = ["onClick"], tc = 10, iw = /* @__PURE__ */ Xe({
name: "TableHeadCell",
__name: "table-head-cell",
props: {
column: {
type: Object,
default: () => ({})
},
index: {
type: Number,
default: -1
},
row: {
type: Object,
default: () => ({})
},
rowIndex: {
type: Number,
default: 0
},
fixed: {
type: String,
default: null
}
},
setup(t) {
const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Et(ea), s = Ye("table"), c = qe(l, "locale"), d = Gt(), { isRtl: p } = Un(), m = $(!1), b = qe(l, "colResizable"), f = g(() => l.colResizing), u = $(), h = g(() => n.isGroupColumn(r.column)), i = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), v = g(() => l.cellSpanMap.get(r.fixed || "default").get(`h${r.rowIndex},${r.index}`) || {
colSpan: 1,
rowSpan: 1
}), k = g(() => h.value ? r.column.last : r.column.index + v.value.colSpan >= l.columns.length);
let w = 0;
function T(se, ne = !1) {
const ue = Math.max(w + (se.isRtl ? -1 : 1) * se.deltaX, tc);
return !ne && n.handleColumnResize(
l.columns.slice(r.column.index, r.column.index + v.value.colSpan).map((J) => J.key),
ue
), ue;
}
const { target: F } = Pl({
capture: !1,
onStart: (se, ne) => {
if (!b.value || f.value || h.value) return !1;
const ue = o.getTableElement();
if (!ue || !u.value) return !1;
se.xStart = se.clientX - ue.getBoundingClientRect().left, se.isRtl = p.value, w = u.value.getBoundingClientRect().width, n.setColumnResizing(!0), n.setResizeLeft(se.xStart), o.emitColResize("Start", {
...H(ne),
width: w
});
},
onMove: (se, ne) => {
se.xEnd = Math.max(se.xStart - w + tc, se.xEnd), n.setResizeLeft(se.xEnd), o.emitColResize("Move", {
...H(ne),
width: T(se, l.colResizable !== "responsive")
});
},
onEnd: (se, ne) => {
n.setColumnResizing(!1), o.emitColResize("End", {
...H(ne),
width: T(se)
});
}
}), A = g(() => or.includes(r.column.type)), z = g(() => {
let se = null;
return typeof l.headClass == "function" ? se = l.headClass({
column: r.column,
index: r.column.colIndex,
rowIndex: r.rowIndex
}) : se = l.headClass, [
s.be("head-cell"),
{
[s.bem("head-cell", "group")]: h.value,
[s.bem("head-cell", "typed")]: A.value,
[s.bem("head-cell", "center")]: A.value || r.column.textAlign === "center",
[s.bem("head-cell", "right")]: r.column.textAlign === "right",
[s.bem("head-cell", "last")]: k.value
},
r.column.class,
se
];
}), C = g(() => typeof l.headStyle == "function" ? l.headStyle({
column: r.column,
index: r.column.colIndex,
rowIndex: r.rowIndex
}) : l.headStyle), E = g(() => {
var re, ce, Pe;
const se = r.fixed === "left" ? a.leftFixedWidths : r.fixed === "right" ? a.rightFixedWidths : a.normalWidths, { colSpan: ne, rowSpan: ue } = v.value, J = !a.hasFixedColumn, N = (J || ((re = i.value[0]) == null ? void 0 : re.fixed) === "left") && l.sidePadding[0] || 0, j = (J || ((ce = gn(i.value)) == null ? void 0 : ce.fixed) === "right") && l.sidePadding[1] || 0, ae = se[r.index + ne] - se[r.index];
let be;
if (ue > 1) {
be = 0;
for (let at = 0; at < ue; ++at)
be += ((Pe = l.rowMap.get(`${Tr}${r.rowIndex + at}`)) == null ? void 0 : Pe.height) ?? 0;
}
return [
r.column.style || "",
C.value,
{
display: ne ? void 0 : "none",
width: `${(r.column.index ? 0 : N) + (k.value ? j : 0) + ae}px`,
height: be ? `${be}px` : void 0,
visibility: r.column.fixed && !r.fixed ? "hidden" : void 0,
borderRightWidth: !l.border && ne > 1 && r.index + ne >= se.length - 1 ? 0 : void 0,
transform: `translate3d(${p.value ? "-" : ""}${(r.column.index ? N : 0) + se[r.index]}px, 0, 0)`
}
];
}), P = g(() => {
let se;
return typeof l.headAttrs == "function" ? se = l.headAttrs({
column: r.column,
index: r.column.colIndex,
rowIndex: r.rowIndex
}) : se = l.headAttrs, { ...r.column.attrs || {}, ...se || {} };
}), R = g(() => l.sorters.get(r.column.key) || {}), L = g(() => l.filters.get(r.column.key) || {}), I = g(() => {
const se = L.value.options ?? [];
for (let ne = 0, ue = se.length; ne < ue; ++ne)
if (se[ne].active)
return !0;
return !1;
}), G = g(() => {
if (!O(r.column))
return !1;
const se = Object.values(a.disableCheckRows);
return a.processedData.length === se.length && !Object.values(a.disableCheckRows).includes(!1);
}), ee = () => qa(o.refreshXScroll);
function O(se) {
return !h.value && se.type === "selection";
}
function H(se) {
return {
column: r.column,
index: r.column.colIndex,
event: se
};
}
function U(se) {
o == null || o.emitHeadEvent("Enter", H(se));
}
function q(se) {
o == null || o.emitHeadEvent("Leave", H(se));
}
function Z(se) {
o == null || o.emitHeadEvent("Click", H(se));
}
function K(se) {
o == null || o.emitHeadEvent("Dblclick", H(se));
}
function we(se) {
o == null || o.emitHeadEvent("Contextmenu", H(se));
}
function de() {
const se = r.column.key, ne = R.value.type === "asc" ? null : "asc";
n.handleSort(se, ne), o.emitRowSort();
}
function te() {
const se = r.column.key, ne = R.value.type === "desc" ? null : "desc";
n.handleSort(se, ne), o.emitRowSort();
}
function Ee(se) {
n.handleFilter(r.column.key, se);
}
function Se(se, ne) {
n.toggleFilterItemActive({
key: r.column.key,
value: se,
active: ne,
disableOthers: !0
}), Ee(se), m.value = !1, o.emitRowFilter();
}
function Ce(se, ne) {
n.toggleFilterItemActive({
key: r.column.key,
value: se,
active: ne
});
}
function fe() {
const se = L.value.options ?? [], ne = [];
for (let ue = 0, J = se.length; ue < J; ++ue) {
const N = se[ue];
N.active && ne.push(N.value);
}
Ee(ne), m.value = !1, o.emitRowFilter();
}
function ot() {
m.value = !1, Ee(null), n.toggleFilterItemActive({
key: r.column.key,
value: null,
disableOthers: !0
}), o.emitRowFilter();
}
function Ze() {
n.handleCheckAll(), o.emitAllRowCheck(l.checkedAll, l.partial);
}
function Je(se) {
var ne, ue;
n.setCellHeight(
r.row.key,
r.column.key,
(((ue = (ne = se.borderBoxSize) == null ? void 0 : ne[0]) == null ? void 0 : ue.blockSize) ?? se.contentRect.height) + l.borderWidth
);
}
return (se, ne) => (S(), D("div", He(P.value, {
ref_key: "wrapper",
ref: u,
class: z.value,
role: "columnheader",
scope: "col",
colspan: v.value.colSpan !== 1 ? v.value.colSpan : void 0,
rowspan: v.value.rowSpan !== 1 ? v.value.rowSpan : void 0,
style: E.value,
"aria-sort": !h.value && R.value.able ? R.value.type ? R.value.type === "asc" ? "ascending" : "descending" : "none" : void 0,
onMouseenter: U,
onMouseleave: q,
onClick: Z,
onDblclick: K,
onContextmenu: we,
onTransitionend: ee
}), [
t.column.index === 0 ? (S(), D("div", {
key: 0,
class: x(e(s).be("side-pad")),
role: "none",
"aria-hidden": ""
}, null, 2)) : ge("", !0),
O(t.column) ? (S(), D(st, { key: 1 }, [
t.column.singleSelect ? ge("", !0) : (S(), D("div", {
key: 0,
class: x(e(s).be("content"))
}, [
y(e(xl), {
inherit: "",
control: "",
class: x(e(s).be("selection")),
checked: e(l).checkedAll,
partial: e(l).partial,
disabled: G.value,
size: t.column.selectionSize || "default",
onClick: gt(Ze, ["prevent"])
}, null, 8, ["class", "checked", "partial", "disabled", "size"])
], 2))
], 64)) : (S(), Be(e(zn), {
key: 2,
disabled: t.column.ellipsis ?? e(l).ellipsis,
"on-resize": Je
}, {
default: X(() => [
oe("span", {
class: x({
[e(s).be("content")]: !0,
[e(s).bem("content", "ellipsis")]: t.column.ellipsis ?? e(l).ellipsis
})
}, [
t.column.ellipsis ?? e(l).ellipsis ? (S(), Be(e(ts), {
key: 0,
inherit: "",
class: x(e(s).be("ellipsis")),
"tooltip-theme": e(l).tooltipTheme,
"tip-max-width": e(l).tooltipWidth
}, {
default: X(() => [
h.value && e(on)(t.column.renderer) ? (S(), Be(e(me), {
key: 0,
renderer: t.column.renderer
}, null, 8, ["renderer"])) : e(on)(t.column.headRenderer) ? (S(), Be(e(me), {
key: 1,
renderer: t.column.headRenderer,
data: { column: t.column, index: t.index }
}, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 2 }, [
dt(ze(t.column.name), 1)
], 64))
]),
_: 1
}, 8, ["class", "tooltip-theme", "tip-max-width"])) : (S(), D(st, { key: 1 }, [
h.value && e(on)(t.column.renderer) ? (S(), Be(e(me), {
key: 0,
renderer: t.column.renderer
}, null, 8, ["renderer"])) : e(on)(t.column.headRenderer) ? (S(), Be(e(me), {
key: 1,
renderer: t.column.headRenderer,
data: { column: t.column, index: t.index }
}, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 2 }, [
dt(ze(t.column.name), 1)
], 64))
], 64)),
h.value ? ge("", !0) : (S(), D(st, { key: 2 }, [
R.value.able ? (S(), D("div", {
key: 0,
class: x(e(s).be("sorter"))
}, [
oe("span", {
class: x({
[e(s).bem("sorter", "asc")]: !0,
[e(s).bem("sorter", "active")]: R.value.type === "asc"
}),
onClick: ne[0] || (ne[0] = (ue) => de())
}, [
y(xa, {
name: "asc",
origin: e(d).angleUp
}, null, 8, ["origin"])
], 2),
oe("span", {
class: x({
[e(s).bem("sorter", "desc")]: !0,
[e(s).bem("sorter", "active")]: R.value.type === "desc"
}),
onClick: ne[1] || (ne[1] = (ue) => te())
}, [
y(xa, {
name: "desc",
origin: e(d).angleDown
}, null, 8, ["origin"])
], 2)
], 2)) : ge("", !0),
L.value.able ? (S(), D(st, { key: 1 }, [
e(on)(t.column.filterRenderer) ? (S(), Be(e(me), {
key: 0,
renderer: t.column.filterRenderer,
data: { column: t.column, index: t.index, filter: L.value, handleFilter: Ee }
}, null, 8, ["renderer", "data"])) : (S(), Be(e(Fl), {
key: 1,
visible: m.value,
"onUpdate:visible": ne[3] || (ne[3] = (ue) => m.value = ue),
transfer: "",
placement: "bottom",
trigger: "click",
class: x({
[e(s).be("filter")]: !0,
[e(s).bem("filter", "visible")]: m.value,
[e(s).bem("filter", "active")]: L.value.active
}),
"tip-class": {
[e(s).be("filter-wrapper")]: !0,
[e(s).bs("vars")]: !0,
[e(s).bem("filter-wrapper", "multiple")]: L.value.multiple
}
}, nl({
trigger: X(() => [
oe("div", {
class: x(e(s).be("filter-trigger"))
}, [
y(xa, {
name: "filter",
origin: e(d).filter
}, null, 8, ["origin"])
], 2)
]),
_: 2
}, [
L.value.multiple ? {
name: "default",
fn: X(() => [
oe("div", {
vertical: "",
class: x(e(s).be("filter-group"))
}, [
(S(!0), D(st, null, ln(L.value.options, (ue) => (S(), Be(e(xl), {
key: ue.value,
inherit: "",
checked: ue.active,
label: ue.label,
value: ue.value,
onChange: (J) => Ce(ue.value, J)
}, null, 8, ["checked", "label", "value", "onChange"]))), 128))
], 2),
oe("div", {
class: x(e(s).be("filter-actions"))
}, [
y(e(Hn), {
inherit: "",
text: "",
size: "small",
disabled: !I.value,
onClick: ne[2] || (ne[2] = (ue) => fe())
}, {
default: X(() => [
dt(ze(c.value.filterConfirm), 1)
]),
_: 1
}, 8, ["disabled"]),
y(e(Hn), {
inherit: "",
text: "",
size: "small",
onClick: ot
}, {
default: X(() => [
dt(ze(c.value.filterReset), 1)
]),
_: 1
})
], 2)
]),
key: "0"
} : {
name: "default",
fn: X(() => [
oe("div", {
class: x({
[e(s).be("filter-item")]: !0,
[e(s).bem("filter-item", "active")]: !L.value.active
}),
onClick: ot
}, ze(c.value.filterAll), 3),
(S(!0), D(st, null, ln(L.value.options, (ue) => (S(), D("div", {
key: ue.value,
class: x({
[e(s).be("filter-item")]: !0,
[e(s).bem("filter-item", "active")]: ue.active
}),
onClick: (J) => Se(ue.value, !ue.active)
}, ze(ue.label), 11, sw))), 128))
]),
key: "1"
}
]), 1032, ["visible", "class", "tip-class"]))
], 64)) : ge("", !0)
], 64))
], 2)
]),
_: 1
}, 8, ["disabled"])),
!h.value && b.value && !A.value && !t.column.last ? (S(), D("div", {
key: 3,
ref_key: "resizer",
ref: F,
class: x(e(s).be("resizer"))
}, null, 2)) : ge("", !0),
k.value ? (S(), D("div", {
key: 4,
class: x([e(s).be("side-pad"), e(s).bem("side-pad", "right")]),
role: "none",
"aria-hidden": ""
}, null, 2)) : ge("", !0)
], 16, ow));
}
}), uw = ["draggable"], Oi = /* @__PURE__ */ Xe({
name: "TableRow",
__name: "table-row",
props: {
row: {
type: Object,
default: () => ({})
},
index: {
type: Number,
default: null
},
isHead: {
type: Boolean,
default: !1
},
isFoot: {
type: Boolean,
default: !1
},
fixed: {
type: String,
default: null
}
},
setup(t) {
const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Et(ea), s = Ye("table"), { timer: c } = Vn(), d = $(!1), p = $(!1), m = $(), b = $(), f = $(), u = pt({
el: m,
row: qe(r, "row")
}), h = g(() => r.row.key), i = g(() => r.isHead ? "head" : r.isFoot ? "foot" : void 0), v = g(() => {
let Ce = null;
return i.value || (typeof l.rowClass == "function" ? Ce = l.rowClass(r.row.data, r.index) : Ce = l.rowClass), [
s.be("row"),
{
[s.bem("row", "fixed")]: l.rowHeight && l.rowHeight > 0,
[s.bem("row", "hover")]: !i.value && l.highlight && h.value === l.hoveredRowKey,
[s.bem("row", "stripe")]: l.stripe && r.index % 2 === 1,
[s.bem("row", "checked")]: r.row.checked,
[s.bem("row", "dragging")]: d.value,
[s.bem("row", "drag-over")]: p.value
},
Ce
];
}), k = g(
() => Math.max(...Object.values(r.row.cellHeights || {}), l.rowMinHeight)
), w = g(() => {
let Ce = "";
return i.value || (typeof l.rowStyle == "function" ? Ce = l.rowStyle(r.row.data, r.index) : Ce = l.rowStyle), [
Ce,
{
height: l.rowHeight ? `${l.rowHeight}px` : `${k.value}px`,
minHeight: l.rowHeight ? void 0 : `${l.rowMinHeight}px`,
border: "0"
}
];
}), T = g(() => i.value ? null : typeof l.rowAttrs == "function" ? l.rowAttrs(r.row.data, r.index) : l.rowAttrs), F = g(() => {
if (r.isHead || r.isFoot) return;
l.heightTrigger;
const Ce = l.heightBITree && !i.value && r.index ? l.heightBITree.sum(r.index) : 0;
return {
transform: Ce ? `translate3d(0, ${Ce}px, 0)` : void 0
};
}), A = g(() => a.hasDragColumn && !a.disableDragRows.has(h.value)), z = g(() => !i.value && l.rowDraggable), C = g(() => !i.value && (l.rowDraggable || A.value)), E = g(() => l.expandRenderer), P = g(() => r.isHead || r.isFoot || !a.expandColumn ? !1 : l.rightFixedColumns.length ? r.fixed === "right" : l.leftFixedColumns.length ? r.fixed === "left" : !!l.normalColumns.length && !r.fixed);
function R() {
let Ce;
r.row.expanded && f.value ? Ce = f.value.scrollHeight : Ce = 0, Ce !== r.row.expandHeight && (n.setRowProp(h.value, "expandHeight", Ce), L(!0));
}
function L(Ce = !1) {
if (l.heightBITree && a.visibleKeys.has(h.value) && (Ce || !r.fixed)) {
const fe = r.row.height + r.row.expandHeight, ot = l.heightBITree, Ze = ot.get(r.index);
fe !== Ze && (ot.add(r.index, fe - Ze), n.updateTotalHeight(), n.triggerHeightChange());
}
}
function I(Ce) {
var ot, Ze;
const fe = ((Ze = (ot = Ce.borderBoxSize) == null ? void 0 : ot[0]) == null ? void 0 : Ze.blockSize) ?? Ce.contentRect.height;
n.setRowProp(h.value, "height", fe), !i.value && L();
}
In(() => {
r.isHead || r.isFoot || (n.setRowProp(h.value, "height", l.rowHeight || k.value), !i.value && L(), kt(() => {
P.value && R();
}));
}), sn(() => {
kt(() => {
n.setRowProp(h.value, "height", l.rowHeight || k.value), kt(() => {
P.value && R();
});
});
});
function G(Ce) {
return {
row: r.row.data,
key: r.row.key,
index: r.index,
event: Ce
};
}
function ee(Ce) {
n.setHoveredRowKey(h.value), !i.value && o && o.emitRowEvent("Enter", G(Ce));
}
function O(Ce) {
n.setHoveredRowKey(null), !i.value && o && o.emitRowEvent("Leave", G(Ce));
}
function H(Ce) {
!i.value && o && o.emitRowEvent("Click", G(Ce));
}
function U(Ce) {
!i.value && o && o.emitRowEvent("Dblclick", G(Ce));
}
function q(Ce) {
!i.value && o && o.emitRowEvent("Contextmenu", G(Ce));
}
function Z() {
return C.value && l.dragging;
}
function K(Ce) {
!C.value && !A.value || (d.value = !0, o.handleRowDragStart(u, Ce));
}
function we(Ce) {
!Z() || A.value && !a.rowDragging || (clearTimeout(c.drag), Ce.stopPropagation(), Ce.preventDefault(), p.value = !0, o.handleRowDragOver(u, Ce));
}
function de(Ce) {
Z() && (clearTimeout(c.drag), Ce.stopPropagation(), Ce.preventDefault(), p.value = !1, o.handleRowDrop(u, Ce), kt(() => n.handleDrag(h.value, !1)));
}
function te(Ce) {
Z() && (Ce.stopPropagation(), d.value = !0, o.handleRowDragEnd(Ce), kt(() => n.handleDrag(h.value, !1)));
}
function Ee(Ce) {
Z() && (clearTimeout(c.drag), Ce.preventDefault(), c.drag = setTimeout(() => {
p.value = !1;
}, 100));
}
function Se() {
n.setRowProp(h.value, "expandAnimate", !1);
}
return (Ce, fe) => t.row.hidden ? ge("", !0) : (S(), D("div", {
key: 0,
ref_key: "wrapper",
ref: m,
class: x({
[e(s).be("group")]: !0,
[e(s).bem("group", "checked")]: t.row.checked,
[e(s).bem("group", "last")]: t.row.last
}),
role: "row",
draggable: z.value || t.row.dragging,
style: Qe(F.value),
onMouseenter: ee,
onMouseleave: O,
onClick: H,
onDblclick: U,
onContextmenu: q,
onDragstart: gt(K, ["stop"]),
onDragover: we,
onDrop: de,
onDragend: te,
onDragleave: Ee
}, [
y(e(zn), { "on-resize": I }, {
default: X(() => [
oe("div", He(T.value, {
ref_key: "rowEl",
ref: b,
class: v.value,
style: w.value
}), [
W(Ce.$slots, "default")
], 16)
]),
_: 3
}),
P.value ? (S(), Be(e(Ul), {
key: 0,
disabled: !t.row.expandAnimate,
onEnter: R,
onLeave: R,
onAfterEnter: Se,
onAfterLeave: Se
}, {
default: X(() => [
t.row.expanded ? (S(), D("div", {
key: 0,
ref_key: "expandEl",
ref: f,
class: x([e(s).be("expanded"), t.fixed === "right" && e(s).bem("expanded", "right")])
}, [
y(e(zn), {
disabled: t.row.expandAnimate,
"on-resize": R
}, {
default: X(() => [
oe("div", {
class: x(e(s).be("expanded-wrapper"))
}, [
e(on)(e(a).expandColumn.renderer) ? (S(), Be(e(me), {
key: 0,
renderer: e(a).expandColumn.renderer,
data: { leftFixed: 0, rightFixed: 0, row: t.row.data, rowIndex: t.index }
}, null, 8, ["renderer", "data"])) : e(on)(E.value) ? (S(), Be(e(me), {
key: 1,
renderer: E.value,
data: { leftFixed: 0, rightFixed: 0, row: t.row.data, rowIndex: t.index }
}, null, 8, ["renderer", "data"])) : ge("", !0)
], 2)
]),
_: 1
}, 8, ["disabled"])
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["disabled"])) : ge("", !0)
], 46, uw));
}
}), ws = /* @__PURE__ */ Xe({
name: "TableHead",
__name: "table-head",
props: {
fixed: {
type: String,
default: null
}
},
setup(t) {
const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Ye("table"), s = g(() => {
const m = l.leftFixedColumns.length, b = l.allColumns[0].length - l.rightFixedColumns.length;
return r.fixed === "left" ? l.allColumns.map((f) => f.slice(0, m)) : r.fixed === "right" ? l.allColumns.map((f) => f.slice(b, l.allColumns[0].length)) : l.allColumns.map((f) => f.slice(m, b));
}), c = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), d = g(() => {
var u, h;
const m = r.fixed === "left" ? gn(a.leftFixedWidths) : r.fixed === "right" ? gn(a.rightFixedWidths) : gn(a.normalWidths), b = ((u = c.value[0]) == null ? void 0 : u.fixed) === "left" && l.sidePadding[0] || 0, f = ((h = gn(c.value)) == null ? void 0 : h.fixed) === "right" && l.sidePadding[1] || 0;
return {
minWidth: m && `${m + b + f}px`
};
});
function p(m) {
const b = `${Tr}${m}`;
return l.rowMap.get(b) || n.createMinRowState(b);
}
return (m, b) => (S(), D("div", {
class: x(e(o).be("head")),
role: "rowgroup",
style: Qe(d.value)
}, [
(S(!0), D(st, null, ln(s.value, (f, u) => (S(), Be(Oi, {
key: u,
index: u,
"is-head": "",
fixed: t.fixed,
row: p(u),
"aria-rowindex": u
}, {
default: X(() => [
(S(!0), D(st, null, ln(f, (h, i) => (S(), D(st, { key: i }, [
h ? (S(), Be(iw, {
key: 0,
column: h,
index: i,
row: p(u),
"row-index": u,
fixed: t.fixed,
"aria-colindex": i
}, null, 8, ["column", "index", "row", "row-index", "fixed", "aria-colindex"])) : ge("", !0)
], 64))), 128))
]),
_: 2
}, 1032, ["index", "fixed", "row", "aria-rowindex"]))), 128))
], 6));
}
}), cw = ["scope", "colspan", "rowspan"], dw = /* @__PURE__ */ Xe({
name: "TableCell",
__name: "table-cell",
props: {
row: {
type: Object,
default: () => ({})
},
rowIndex: {
type: Number,
default: -1
},
column: {
type: Object,
default: () => ({})
},
colIndex: {
type: Number,
default: -1
},
fixed: {
type: String,
default: null
}
},
setup(t) {
const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Et(ea), s = Ye("table"), c = Gt(), { isRtl: d } = Un(), p = $(0), m = $(), b = g(() => r.column.index + h.value.colSpan >= l.columns.length), f = g(() => {
let K = null;
typeof l.cellClass == "function" ? K = l.cellClass({
row: r.row.data,
rowIndex: r.rowIndex,
column: r.column,
columnIndex: r.column.index
}) : K = l.cellClass;
const we = or.includes(r.column.type);
return [
s.be("cell"),
{
[s.bem("cell", "typed")]: we,
[s.bem("cell", "center")]: we || r.column.textAlign === "center",
[s.bem("cell", "right")]: r.column.textAlign === "right",
[s.bem("cell", "last")]: b.value
},
r.column.class,
K
];
}), u = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), h = g(() => l.cellSpanMap.get(r.fixed || "default").get(`${r.row.index},${r.column.index}`) || { colSpan: 1, rowSpan: 1 }), i = g(() => typeof l.cellStyle == "function" ? l.cellStyle({
row: r.row.data,
rowIndex: r.rowIndex,
column: r.column,
columnIndex: r.column.index
}) : l.cellStyle), v = g(() => {
var ot, Ze;
const K = r.fixed === "left" ? a.leftFixedWidths : r.fixed === "right" ? a.rightFixedWidths : a.normalWidths, { colSpan: we, rowSpan: de } = h.value, te = !a.hasFixedColumn, Ee = (te || ((ot = u.value[0]) == null ? void 0 : ot.fixed) === "left") && l.sidePadding[0] || 0, Se = (te || ((Ze = gn(u.value)) == null ? void 0 : Ze.fixed) === "right") && l.sidePadding[1] || 0, Ce = K[r.colIndex + we] - K[r.colIndex];
let fe;
return de > 1 && l.heightBITree && (fe = l.heightBITree.sum(r.row.listIndex + de) - l.heightBITree.sum(r.row.listIndex)), [
r.column.style || "",
i.value,
{
display: !we || !de ? "none" : void 0,
width: `${(r.column.index ? 0 : Ee) + (b.value ? Se : 0) + Ce}px`,
height: fe ? `${fe}px` : void 0,
visibility: r.column.fixed && !r.fixed ? "hidden" : void 0,
borderRightWidth: !l.border && we > 1 && r.colIndex + we >= K.length - 1 ? 0 : void 0,
borderBottomWidth: de > 1 && r.rowIndex + de >= a.processedData.length ? 0 : void 0,
transform: `translate3d(${d.value ? "-" : ""}${(r.column.index ? Ee : 0) + K[r.colIndex]}px, 0, 0)`
}
];
}), k = g(() => {
let K;
return typeof l.cellAttrs == "function" ? K = l.cellAttrs({
row: r.row.data,
rowIndex: r.rowIndex,
column: r.column,
columnIndex: r.colIndex
}) : K = l.cellAttrs, { ...r.column.attrs || {}, ...K || {} };
}), w = g(() => on(r.column.formatter) ? r.column.formatter : vf), T = g(() => a.usingTree && (a.indentedColumn ? r.column.key === a.indentedColumn.key : r.column.first));
In(() => {
E(r.column) || n.setCellHeight(r.row.key, r.column.key, p.value);
});
function F(K) {
return K.type === "selection";
}
function A(K) {
return K.type === "order";
}
function z(K) {
return K.type === "expand";
}
function C(K) {
return K.type === "drag";
}
function E(K) {
return F(K) || A(K) || z(K) || C(K);
}
function P(K) {
return {
row: r.row.data,
key: r.row.key,
rowIndex: r.rowIndex,
column: r.column,
columnIndex: r.colIndex,
event: K
};
}
function R(K) {
o == null || o.emitCellEvent("Enter", P(K));
}
function L(K) {
o == null || o.emitCellEvent("Leave", P(K));
}
function I(K) {
o == null || o.emitCellEvent("Click", P(K));
}
function G(K) {
o == null || o.emitCellEvent("Dblclick", P(K));
}
function ee(K) {
o == null || o.emitCellEvent("Contextmenu", P(K));
}
function O(K, we, de = !1) {
if (!a.disableCheckRows.has(K.key)) {
const te = !K.checked, { data: Ee, key: Se, index: Ce } = K;
n.handleCheck(Se, te, de), o.emitRowCheck({ row: Ee, key: Se, index: Ce, event: we, checked: te });
}
}
function H(K, we) {
if (!a.disableExpandRows.has(K.key)) {
const de = !K.expanded, { data: te, key: Ee, index: Se } = K;
n.setRowProp(Ee, "expandAnimate", !0), kt(() => {
n.handleExpand(Ee, de), o.emitRowExpand({ row: te, key: Ee, index: Se, event: we, expanded: de });
});
}
}
function U(K) {
a.disableDragRows.has(K.key) || n.handleDrag(K.key, !0);
}
function q(K, we) {
var Ce;
if (!((Ce = K.children) != null && Ce.length)) return;
const de = !K.treeExpanded, { data: te, key: Ee, index: Se } = K;
o.runInLocked(), n.setTreeExpanded(K.key, de), o.emitRowExpand({ row: te, key: Ee, index: Se, event: we, expanded: de });
}
function Z(K) {
var we, de;
p.value = (((de = (we = K.borderBoxSize) == null ? void 0 : we[0]) == null ? void 0 : de.blockSize) ?? K.contentRect.height) + l.borderWidth;
}
return (K, we) => {
var de;
return S(), D("div", He(k.value, {
ref_key: "wrapper",
ref: m,
class: f.value,
role: "cell",
scope: t.column.first ? "row" : void 0,
colspan: h.value.colSpan !== 1 ? h.value.colSpan : void 0,
rowspan: h.value.rowSpan !== 1 ? h.value.rowSpan : void 0,
style: v.value,
onMouseenter: R,
onMouseleave: L,
onClick: I,
onDblclick: G,
onContextmenu: ee
}), [
t.column.index === 0 ? (S(), D("div", {
key: 0,
class: x(e(s).be("side-pad")),
role: "none",
"aria-hidden": ""
}, null, 2)) : ge("", !0),
E(t.column) ? (S(), D("div", {
key: 1,
class: x(e(s).be("content"))
}, [
F(t.column) ? (S(), D(st, { key: 0 }, [
t.column.singleSelect ? (S(), Be(e(Oo), {
key: 0,
inherit: "",
label: t.row.key,
value: t.row.checked ? t.row.key : null,
class: x(e(s).be("selection")),
size: t.column.selectionSize || "default",
disabled: e(a).disableCheckRows.has(t.row.key),
onClick: we[0] || (we[0] = gt((te) => O(t.row, te, !0), ["prevent", "stop"]))
}, null, 8, ["label", "value", "class", "size", "disabled"])) : (S(), Be(e(xl), {
key: 1,
inherit: "",
class: x(e(s).be("selection")),
checked: t.row.checked,
size: t.column.selectionSize || "default",
disabled: e(a).disableCheckRows.has(t.row.key),
partial: t.row.partial,
control: !!((de = t.row.children) != null && de.length),
onClick: we[1] || (we[1] = gt((te) => O(t.row, te), ["prevent", "stop"]))
}, null, 8, ["class", "checked", "size", "disabled", "partial", "control"]))
], 64)) : A(t.column) ? (S(), D("span", {
key: 1,
class: x(e(s).be("order"))
}, ze(t.column.orderLabel && t.column.orderLabel(t.column.truthIndex ? t.row.index : t.rowIndex)), 3)) : z(t.column) ? (S(), D(st, { key: 2 }, [
e(a).disableExpandRows.has(t.row.key) ? ge("", !0) : (S(), D("button", {
key: 0,
type: "button",
class: x({
[e(s).be("expand")]: !0,
[e(s).bem("expand", "active")]: t.row.expanded
}),
onClick: we[2] || (we[2] = gt((te) => H(t.row, te), ["stop"]))
}, [
y(xa, {
name: "expand",
origin: e(c).angleRight
}, null, 8, ["origin"])
], 2))
], 64)) : C(t.column) ? (S(), D(st, { key: 3 }, [
e(a).disableDragRows.has(t.row.key) ? ge("", !0) : (S(), D("button", {
key: 0,
type: "button",
class: x(e(s).be("dragger")),
onMousedown: we[3] || (we[3] = (te) => U(t.row))
}, [
y(xa, {
name: "dragger",
origin: e(c).dragger
}, null, 8, ["origin"])
], 34))
], 64)) : ge("", !0)
], 2)) : (S(), Be(e(zn), {
key: 2,
"on-resize": Z
}, {
default: X(() => {
var te;
return [
oe("span", {
class: x({
[e(s).be("content")]: !0,
[e(s).bem("content", "ellipsis")]: t.column.ellipsis ?? e(l).ellipsis
})
}, [
T.value ? (S(), D("div", {
key: 0,
class: x(e(s).be("tree-append"))
}, [
oe("span", {
class: x(e(s).be("pad")),
style: Qe({
[e(s).cv("row-depth")]: t.row.depth
})
}, null, 6),
oe("button", {
type: "button",
class: x([
e(s).be("tree-expand"),
!((te = t.row.children) != null && te.length) && e(s).bem("tree-expand", "hidden")
]),
onClick: we[4] || (we[4] = (Ee) => q(t.row, Ee))
}, [
t.row.treeExpanded ? (S(), Be(xa, {
key: 0,
name: "minus",
origin: e(c).minusSquare
}, null, 8, ["origin"])) : (S(), Be(xa, {
key: 1,
name: "plus",
origin: e(c).plusSquare
}, null, 8, ["origin"]))
], 2)
], 2)) : ge("", !0),
t.column.ellipsis ?? e(l).ellipsis ? (S(), Be(e(ts), {
key: 1,
inherit: "",
class: x(e(s).be("ellipsis")),
"tip-disabled": e(l).barScrolling,
"tooltip-theme": e(l).tooltipTheme,
"tip-max-width": e(l).tooltipWidth
}, {
default: X(() => [
e(on)(t.column.renderer) ? (S(), Be(e(me), {
key: 0,
renderer: t.column.renderer,
data: { row: t.row.data, rowIndex: t.rowIndex, column: t.column, columnIndex: t.column.index }
}, null, 8, ["renderer", "data"])) : e(on)(t.column.accessor) ? (S(), D(st, { key: 1 }, [
dt(ze(w.value(t.column.accessor(t.row.data, t.rowIndex))), 1)
], 64)) : (S(), D(st, { key: 2 }, [
dt(ze(w.value(t.row.data[t.column.key])), 1)
], 64))
]),
_: 1
}, 8, ["class", "tip-disabled", "tooltip-theme", "tip-max-width"])) : (S(), D(st, { key: 2 }, [
e(on)(t.column.renderer) ? (S(), Be(e(me), {
key: 0,
renderer: t.column.renderer,
data: { row: t.row.data, rowIndex: t.rowIndex, column: t.column, columnIndex: t.column.index }
}, null, 8, ["renderer", "data"])) : e(on)(t.column.accessor) ? (S(), D(st, { key: 1 }, [
dt(ze(w.value(t.column.accessor(t.row.data, t.rowIndex))), 1)
], 64)) : (S(), D(st, { key: 2 }, [
dt(ze(w.value(t.row.data[t.column.key])), 1)
], 64))
], 64))
], 2)
];
}),
_: 1
})),
b.value ? (S(), D("div", {
key: 3,
class: x([e(s).be("side-pad"), e(s).bem("side-pad", "right")]),
role: "none",
"aria-hidden": ""
}, null, 2)) : ge("", !0)
], 16, cw);
};
}
}), xs = /* @__PURE__ */ Xe({
name: "TableBody",
__name: "table-body",
props: {
fixed: {
type: String,
default: null
}
},
setup(t) {
const r = t, { state: l, getters: a } = Et(pa), n = Ye("table"), o = qe(l, "locale"), s = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), c = g(() => l.virtual ? l.virtualData : a.processedData), d = g(() => l.rightFixedColumns.length ? r.fixed === "right" : l.leftFixedColumns.length ? r.fixed === "left" : !0), p = g(() => {
var i, v;
const b = r.fixed === "left" ? gn(a.leftFixedWidths) : r.fixed === "right" ? gn(a.rightFixedWidths) : gn(a.normalWidths), f = ((i = s.value[0]) == null ? void 0 : i.fixed) === "left" && l.sidePadding[0] || 0, u = ((v = gn(s.value)) == null ? void 0 : v.fixed) === "right" && l.sidePadding[1] || 0, h = d.value && c.value.length === 0;
return {
[n.cv("right-fixed-width")]: r.fixed === "right" && b ? `${b + f + u}px` : "0px",
[h ? "width" : "minWidth"]: b && `${b + f + u}px`,
minHeight: `${l.totalHeight}px`
};
}), m = g(() => {
const { rowHeight: b, rowMinHeight: f } = l;
return {
minHeight: `${b || f}px`
};
});
return (b, f) => (S(), D("div", {
class: x(e(n).be("body")),
role: "rowgroup",
style: Qe(p.value)
}, [
c.value.length ? (S(!0), D(st, { key: 0 }, ln(c.value, (u, h) => (S(), Be(Oi, {
key: h,
row: u,
index: u.listIndex,
fixed: t.fixed,
"aria-rowindex": u.index
}, {
default: X(() => [
(S(!0), D(st, null, ln(s.value, (i, v) => (S(), Be(dw, {
key: v,
row: u,
"row-index": u.listIndex,
column: i,
"col-index": v,
fixed: t.fixed,
"aria-colindex": v
}, null, 8, ["row", "row-index", "column", "col-index", "fixed", "aria-colindex"]))), 128))
]),
_: 2
}, 1032, ["row", "index", "fixed", "aria-rowindex"]))), 128)) : d.value ? (S(), D("div", {
key: 1,
class: x([e(n).be("empty"), t.fixed === "right" && e(n).bem("empty", "right")]),
style: Qe(m.value)
}, [
W(b.$slots, "empty", {}, () => [
dt(ze(o.value.empty), 1)
])
], 6)) : ge("", !0)
], 6));
}
}), fw = ["scope", "colspan", "rowspan"], pw = /* @__PURE__ */ Xe({
name: "TableFootCell",
__name: "table-foot-cell",
props: {
row: {
type: Object,
default: () => ({})
},
column: {
type: Object,
default: () => ({})
},
colIndex: {
type: Number,
default: -1
},
summary: {
type: Object,
default: () => ({})
},
summaryIndex: {
type: Number,
default: -1
},
fixed: {
type: String,
default: null
},
above: {
type: Boolean,
default: !1
}
},
setup(t) {
const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Et(ea), s = Ye("table"), { isRtl: c } = Un(), d = $(), p = g(() => r.column.index + i.value.colSpan >= l.columns.length), m = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), b = g(() => r.above ? "af" : "bf"), f = g(() => r.above ? l.aboveSummaries : l.belowSummaries), u = g(() => r.above ? a.topFixedHeights : a.bottomFixedHeights), h = g(() => {
let L = null;
typeof l.footClass == "function" ? L = l.footClass({
column: r.column,
columnIndex: r.column.index,
summary: r.summary,
summaryIndex: r.summaryIndex
}) : L = l.footClass;
const I = or.includes(r.column.type);
return [
s.be("foot-cell"),
{
[s.bem("foot-cell", "typed")]: I,
[s.bem("foot-cell", "center")]: I || r.column.textAlign === "center",
[s.bem("foot-cell", "right")]: r.column.textAlign === "right",
[s.bem("foot-cell", "last")]: p.value
},
r.column.class,
L
];
}), i = g(() => l.cellSpanMap.get(r.fixed || "default").get(`${b.value}${r.summaryIndex},${r.column.index}`) || {
colSpan: 1,
rowSpan: 1
}), v = g(() => typeof l.footStyle == "function" ? l.footStyle({
column: r.column,
columnIndex: r.column.index,
summary: r.summary,
summaryIndex: r.summaryIndex
}) : l.cellStyle), k = g(() => {
var q, Z;
const L = r.fixed === "left" ? a.leftFixedWidths : r.fixed === "right" ? a.rightFixedWidths : a.normalWidths, { colSpan: I, rowSpan: G } = i.value, ee = ((q = m.value[0]) == null ? void 0 : q.fixed) === "left" && l.sidePadding[0] || 0, O = ((Z = gn(m.value)) == null ? void 0 : Z.fixed) === "right" && l.sidePadding[1] || 0, H = L[r.colIndex + I] - L[r.colIndex];
let U;
return G > 1 && (U = u.value[r.summaryIndex + G] - u.value[r.summaryIndex]), [
r.column.style || "",
v.value,
{
display: !I || !G ? "none" : void 0,
width: `${(r.column.index ? 0 : ee) + (p.value ? O : 0) + H}px`,
height: U ? `${U}px` : void 0,
visibility: r.column.fixed && !r.fixed ? "hidden" : void 0,
borderRightWidth: !l.border && I > 1 && r.colIndex + I >= L.length - 1 ? 0 : void 0,
borderBottomWidth: G > 1 && r.summaryIndex + G >= f.value.length ? 0 : void 0,
transform: `translate3d(${c.value ? "-" : ""}${(r.column.index ? ee : 0) + L[r.colIndex]}px, 0, 0)`
}
];
}), w = g(() => {
let L;
return typeof l.footAttrs == "function" ? L = l.footAttrs({
column: r.column,
columnIndex: r.column.index,
summary: r.summary,
summaryIndex: r.summaryIndex
}) : L = l.footAttrs, { ...r.column.attrs || {}, ...L || {} };
}), T = g(() => a.summaryData.get(r.column.key));
function F(L) {
return {
column: r.column,
columnIndex: r.column.index,
summary: r.summary,
summaryIndex: r.summaryIndex,
event: L
};
}
function A(L) {
o == null || o.emitFootEvent("Enter", F(L));
}
function z(L) {
o == null || o.emitFootEvent("Leave", F(L));
}
function C(L) {
o == null || o.emitFootEvent("Click", F(L));
}
function E(L) {
o == null || o.emitFootEvent("Dblclick", F(L));
}
function P(L) {
o == null || o.emitFootEvent("Contextmenu", F(L));
}
function R(L) {
var I, G;
n.setCellHeight(
r.row.key,
r.column.key,
(((G = (I = L.borderBoxSize) == null ? void 0 : I[0]) == null ? void 0 : G.blockSize) ?? L.contentRect.height) + l.borderWidth
);
}
return (L, I) => (S(), D("div", He(w.value, {
ref_key: "wrapper",
ref: d,
class: h.value,
role: "cell",
scope: t.column.first ? "row" : void 0,
colspan: i.value.colSpan !== 1 ? i.value.colSpan : void 0,
rowspan: i.value.rowSpan !== 1 ? i.value.rowSpan : void 0,
style: k.value,
onMouseenter: A,
onMouseleave: z,
onClick: C,
onDblclick: E,
onContextmenu: P
}), [
t.column.index === 0 ? (S(), D("div", {
key: 0,
class: x(e(s).be("side-pad")),
role: "none",
"aria-hidden": ""
}, null, 2)) : ge("", !0),
e(on)(t.summary.renderer) ? (S(), Be(e(zn), {
key: 1,
disabled: t.column.ellipsis ?? e(l).ellipsis,
"on-resize": R
}, {
default: X(() => [
oe("span", {
class: x({
[e(s).be("content")]: !0,
[e(s).bem("content", "ellipsis")]: t.column.ellipsis ?? e(l).ellipsis
})
}, [
t.column.ellipsis ?? e(l).ellipsis ? (S(), Be(e(ts), {
key: 0,
inherit: "",
class: x(e(s).be("ellipsis")),
"tooltip-theme": e(l).tooltipTheme,
"tip-max-width": e(l).tooltipWidth
}, {
default: X(() => [
y(e(me), {
renderer: t.summary.renderer,
data: {
column: t.column,
index: t.column.index,
rows: e(l).data,
meta: T.value
}
}, null, 8, ["renderer", "data"])
]),
_: 1
}, 8, ["class", "tooltip-theme", "tip-max-width"])) : (S(), Be(e(me), {
key: 1,
renderer: t.summary.renderer,
data: {
column: t.column,
index: t.column.index,
rows: e(l).data,
meta: T.value
}
}, null, 8, ["renderer", "data"]))
], 2)
]),
_: 1
}, 8, ["disabled"])) : ge("", !0),
p.value ? (S(), D("div", {
key: 2,
class: x([e(s).be("side-pad"), e(s).bem("side-pad", "right")]),
role: "none",
"aria-hidden": ""
}, null, 2)) : ge("", !0)
], 16, fw));
}
}), Ua = /* @__PURE__ */ Xe({
name: "TableFoot",
__name: "table-foot",
props: {
fixed: {
type: String,
default: null
},
above: {
type: Boolean,
default: !1
}
},
setup(t) {
const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Ye("table"), s = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), c = g(() => r.above ? l.aboveSummaries : l.belowSummaries), d = g(() => c.value.map((b) => {
const f = n.buildSummaryKey(b.key), u = l.rowMap.get(f) || n.createMinRowState(f);
return { summary: b, row: u };
})), p = g(() => [o.be("foot"), o.bem("foot", r.above ? "above" : "below")]), m = g(() => {
var h, i;
const b = r.fixed === "left" ? gn(a.leftFixedWidths) : r.fixed === "right" ? gn(a.rightFixedWidths) : gn(a.normalWidths), f = ((h = s.value[0]) == null ? void 0 : h.fixed) === "left" && l.sidePadding[0] || 0, u = ((i = gn(s.value)) == null ? void 0 : i.fixed) === "right" && l.sidePadding[1] || 0;
return {
minWidth: b && `${b + f + u}px`
};
});
return (b, f) => (S(), D("div", {
class: x(p.value),
role: "rowgroup",
style: Qe(m.value)
}, [
(S(!0), D(st, null, ln(d.value, ({ row: u, summary: h }, i) => (S(), Be(Oi, {
key: u.key,
"is-foot": "",
fixed: t.fixed,
row: u,
"aria-rowindex": i
}, {
default: X(() => [
(S(!0), D(st, null, ln(s.value, (v, k) => (S(), Be(pw, {
key: k,
row: u,
column: v,
"col-index": k,
summary: h,
"summary-index": i,
fixed: t.fixed,
above: t.above,
"aria-colindex": k
}, null, 8, ["row", "column", "col-index", "summary", "summary-index", "fixed", "above", "aria-colindex"]))), 128))
]),
_: 2
}, 1032, ["fixed", "row", "aria-rowindex"]))), 128))
], 6));
}
});
function mf(t) {
function r(a) {
let n = t.getNode(a);
if (n)
for (; !Tt(n.parent); ) {
const o = n.parent, s = t.getNode(o);
if (!s || n.checked === s.checked && n.partial === s.partial)
break;
n.checked ? (s.checked = s.children.every((c) => c.checked), s.partial = !s.checked) : (s.checked = !1, s.partial = s.children.some((c) => c.checked || c.partial)), n = s;
}
}
function l(a) {
const n = t.getNode(a);
if (!n) return;
const o = typeof t.disableNode == "function" ? t.disableNode : sa, s = n.checked, c = n.partial, d = [...n.children];
let p;
for (; d.length; )
p = d.shift(), !o(p) && (p.checked = s, p.partial = c, p.children.length && d.push(...p.children));
}
return {
updateCheckedUpward: r,
updateCheckedDown: l
};
}
const nc = Object.freeze({
sum: NaN,
min: NaN,
max: NaN
});
let vw = 1;
function ao() {
return `__vxp-table-key-${vw++}`;
}
function hw(t) {
return t + 1;
}
const Ss = 100, hr = 10;
function mw(t) {
const r = pt({
...t,
columns: [],
normalColumns: [],
allColumns: [],
summaries: [],
data: [],
dataKey: t.dataKey ?? Uk,
rowData: [],
treeRowData: [],
width: 0,
rightFixedColumns: [],
leftFixedColumns: [],
aboveSummaries: [],
belowSummaries: [],
rowMinHeight: t.rowMinHeight || 36,
rowDraggable: !!t.rowDraggable,
columnMap: /* @__PURE__ */ new Map(),
rowMap: /* @__PURE__ */ new Map(),
summaryMap: /* @__PURE__ */ new Map(),
idMaps: /* @__PURE__ */ new WeakMap(),
checkedAll: !1,
partial: !1,
widths: /* @__PURE__ */ new Map(),
sorters: /* @__PURE__ */ new Map(),
filters: /* @__PURE__ */ new Map(),
resized: /* @__PURE__ */ new Set(),
bodyYScroll: 0,
bodyXScroll: 0,
padTop: 0,
startRow: 0,
endRow: 0,
dragging: !1,
heightBITree: null,
virtualData: [],
totalHeight: t.rowMinHeight * t.data.length,
colResizing: !1,
resizeLeft: 0,
cellSpanMap: /* @__PURE__ */ new Map(),
collapseMap: /* @__PURE__ */ new Map(),
sidePadding: t.sidePadding || [0, 0],
locked: !1,
barScrolling: !1,
heightTrigger: 0,
hoveredRowKey: null
});
O(t.columns), q(t.summaries), de(t.data);
const l = g(() => typeof r.dataFilter == "function" ? r.rowData.filter((Q) => r.dataFilter(Q.data)) : r.rowData), a = g(() => r.customFilter ? l.value : Tn(r.filters, l.value, r.singleFilter)), n = g(() => r.customSorter ? a.value : ie(r.sorters, a.value, r.columns, r.singleSorter)), o = g(() => {
const Q = Ae(r.currentPage, r.pageSize, n.value);
for (let Ne = 0, nt = Q.length; Ne < nt; ++Ne)
Q[Ne].listIndex = Ne, Q[Ne].last = Ne === nt - 1;
return Q;
}), s = g(() => new Set(o.value.map((Q) => Q.key))), c = g(() => {
const Q = o.value, Ne = r.columns.find(
(it) => it.type === "selection"
), nt = /* @__PURE__ */ new Set();
if (Ne && typeof Ne.disableRow == "function") {
const it = Ne.disableRow;
for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
const wt = Q[ut];
it(wt.data) && nt.add(wt.key);
}
}
return nt;
}), d = g(() => {
const Q = o.value, Ne = r.columns.find(
(it) => it.type === "expand"
), nt = /* @__PURE__ */ new Set();
if (Ne && typeof Ne.disableRow == "function") {
const it = Ne.disableRow;
for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
const wt = Q[ut];
it(wt.data) && nt.add(wt.key);
}
}
return nt;
}), p = g(() => {
const Q = o.value, Ne = r.columns.find((it) => it.type === "drag"), nt = /* @__PURE__ */ new Set();
if (Ne && typeof Ne.disableRow == "function") {
const it = Ne.disableRow;
for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
const wt = Q[ut];
it(wt.data) && nt.add(wt.key);
}
}
return nt;
}), m = g(() => !r.disabledTree && r.rowData.some((Q) => {
var Ne;
return (Ne = Q.children) == null ? void 0 : Ne.length;
})), b = g(() => !!r.columns.find((Q) => "type" in Q && Q.type === "drag")), f = g(() => !!o.value.find((Q) => Q.dragging)), u = g(() => R()), h = g(() => R(r.normalColumns)), i = g(() => R(r.leftFixedColumns)), v = g(() => R(r.rightFixedColumns)), k = g(() => r.columns.find((Q) => Q.type === "expand")), w = g(() => {
const { columns: Q, summaries: Ne, data: nt } = r, it = /* @__PURE__ */ new Map();
if (!Ne.length) return it;
for (const ut of Q) {
const ht = ut.key;
if (ut.type || ut.noSummary) {
it.set(ht, nc);
continue;
}
const wt = typeof ut.accessor == "function" ? ut.accessor : (Ue) => Ue[ht];
let Ft = 0, At = 1 / 0, ye = -1 / 0, Le = !1;
for (let Ue = 0, je = nt.length; Ue < je; ++Ue) {
const Lt = wt(nt[Ue], Ue), Pt = parseFloat(Lt);
Number.isNaN(Pt) || (Ft += Pt, At = Math.min(At, Pt), ye = Math.max(ye, Pt), Le = !0);
}
Le ? it.set(ht, { sum: Ft, min: At, max: ye }) : it.set(ht, nc);
}
return it;
}), T = g(() => L(r.aboveSummaries)), F = g(() => L()), A = g(() => r.columns.find((Q) => !Q.type && Q.indented)), z = g(() => !!(r.leftFixedColumns.length || r.rightFixedColumns.length)), C = pt({
filteredData: a,
sortedData: n,
processedData: o,
visibleKeys: s,
disableCheckRows: c,
disableExpandRows: d,
disableDragRows: p,
usingTree: m,
hasDragColumn: b,
rowDragging: f,
totalWidths: u,
normalWidths: h,
leftFixedWidths: i,
rightFixedWidths: v,
expandColumn: k,
summaryData: w,
topFixedHeights: T,
bottomFixedHeights: F,
indentedColumn: A,
hasFixedColumn: z
}), E = {
// 这几个个方法被 deep watch 回调
// 需要防止在一个微任务内被多次调用
setColumns: Ln(O),
// setColumns,
setSummaries: Ln(q),
setData: Ln(de),
// 这个方法被大量的 watch 回调,需要防抖
updateTotalHeight: Ln(Kt),
isGroupColumn: G,
buildSummaryKey: U,
setColumnProp: H,
setSummaryProp: Z,
setDataKey: K,
setCurrentPage: Se,
setPageSize: Ce,
setRowClass: fe,
setRowStyle: ot,
setRowAttrs: Ze,
setCellClass: Je,
setCellStyle: se,
setCellAttrs: ne,
setHeadClass: ue,
setHeadStyle: J,
setHeadAttrs: N,
setFootClass: j,
setFootStyle: ae,
setFootAttrs: be,
setTableWidth: re,
setRowHeight: Pe,
setRowMinHeight: at,
setCellHeight: yt,
setVirtual: un,
setRowDraggable: Nt,
setBodyYScroll: Mt,
setBodyXScroll: Ht,
setBorder: _t,
setStripe: tn,
setHighlight: Wt,
setRowProp: qt,
setLocale: pe,
setTooltipTheme: Re,
setTooltipWidth: he,
setSingleSorter: Fe,
setSingleFilter: lt,
setDragging: Ke,
setKeyConfig: Ct,
setDisabledTree: ve,
setNoCascaded: Ve,
setColResizable: Ie,
setCustomSorter: Me,
setCustomFilter: Ge,
setColumnResizing: mt,
setResizeLeft: bt,
setExpandRenderer: Ot,
setCellSpan: Vt,
setSidePadding: $e,
setBorderWidth: et,
setDataFilter: vt,
setEllipsis: an,
setLocked: Rn,
setBarScrolling: wn,
setHoveredRowKey: Te,
handleSort: Y,
clearSort: ke,
handleFilter: xe,
clearFilter: We,
toggleFilterItemActive: jn,
refreshRowIndex: Wn,
handleCheck: rt,
handleCheckAll: xt,
clearCheckAll: Bt,
setRenderRows: xn,
handleExpand: qn,
handleDrag: ul,
collectUnderRows: we,
setTreeExpanded: Sn,
getParentRow: tt,
handleColumnResize: jt,
getCurrentData: Nn,
createMinRowState: I,
flatTreeRows: te,
refreshRowDepth: Ee,
triggerHeightChange: P,
queryRow: Cn
};
In(() => {
r.heightBITree = Rc(
o.value.length,
r.rowHeight || r.rowMinHeight
), r.totalHeight = -1, Kt();
}), In(Zt);
function P() {
++r.heightTrigger, r.heightTrigger >= Number.MAX_SAFE_INTEGER && (r.heightTrigger = 0);
}
function R(Q = r.columns) {
const Ne = r.widths, nt = [0];
let it = 0;
for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
const Ft = Q[ut].key, At = Ne.get(Ft) || 0;
it += At, nt.push(it);
}
return nt;
}
function L(Q = r.belowSummaries) {
const Ne = r.rowMap, nt = [0];
let it = 0;
for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
const wt = Q[ut], Ft = U(wt.key), At = Ne.get(Ft);
At && (it += At.height || 0), nt.push(it);
}
return nt;
}
function I(Q) {
return { key: Q, cellHeights: {}, height: r.rowHeight ?? r.rowMinHeight };
}
function G(Q) {
var Ne;
return !!((Ne = Q.children) != null && Ne.length);
}
function ee(Q) {
const Ne = [], nt = [], it = /* @__PURE__ */ new Map(), ut = /* @__PURE__ */ new Set(), ht = (At) => At === !0 || At === "left" ? -1 : At === "right" ? 1 : 0, wt = (At, ye, Le = 0, Ue = []) => {
At = At.filter(($t) => !("children" in $t) || G($t)).sort(($t, Jt) => ($t.order || 0) - (Jt.order || 0)).sort(($t, Jt) => ht($t.fixed) - ht(Jt.fixed)), ye = ye === !0 ? "left" : ye;
const je = At, Lt = Ue[Le] ?? (Ue[Le] = []);
let Pt = Le > 0 ? Ue[Le - 1].length - 1 : 0;
for (const { ...$t } of je) {
if (Tt(ye) || ($t.fixed = ye), Lt[Pt] = $t, G($t)) {
const Jt = wt($t.children, $t.fixed, Le + 1, Ue);
$t.key = Symbol("TableColumnGroup"), $t.headSpan = Jt - Pt, Pt = Jt;
} else {
const Jt = $t.type && or.includes($t.type);
Jt && (ut.has($t.type) && console.warn(`[vexip-ui:Table] Table has duplicate column with type '${$t.type}'`), ut.add($t.type));
let fn = $t.key;
Tt(fn) && (Jt ? fn = `__vxp_${$t.type}` : (console.warn("[vexip-ui:Table] Table column requires key prop, but missing"), fn = ao())), $t.key = fn, nt.push($t), Pt += 1;
}
it.set($t.key, $t);
}
return Pt;
};
wt(Q, void 0, 0, Ne);
let Ft = 0;
for (const At of Ne)
Ft = Math.max(At.length, Ft);
for (const At of Ne)
At.length && (gn(At).last = !0), At.length = Ft;
for (let At = 0, ye = Ne.length; At < Ft; ++At) {
let Le = 1;
for (let Ue = ye - 1; Ue >= 0; --Ue) {
const je = Ne[Ue][At];
je ? (je.colIndex = At, je.rowSpan = Le, Le = 1) : ++Le;
}
}
return { allColumns: Ne, baseColumns: nt, columnMap: it };
}
function O(Q) {
const { widths: Ne, sorters: nt, filters: it } = r, { allColumns: ut, baseColumns: ht, columnMap: wt } = ee(Q), Ft = [], At = [], ye = [];
for (let Le = 0, Ue = ht.length; Le < Ue; ++Le) {
const je = ht[Le];
if (je.first = !1, je.last = !1, je.index = Le, je.type && or.includes(je.type)) {
switch (je.type) {
case "order": {
je.truthIndex = !!je.truthIndex, typeof je.orderLabel != "function" && (je.orderLabel = hw), Tt(je.width) && (je.width = 60, je.minWidth = 60);
break;
}
case "selection": {
je.selectionSize = je.selectionSize || "default", typeof je.disableRow != "function" && (je.disableRow = sa), Tt(je.width) && (je.width = 40, je.minWidth = 40);
break;
}
case "expand": {
typeof je.disableRow != "function" && (je.disableRow = sa), Tt(je.width) && (je.width = 40, je.minWidth = 40);
break;
}
case "drag": {
typeof je.disableRow != "function" && (je.disableRow = sa), Tt(je.width) && (je.width = 40, je.minWidth = 40);
break;
}
}
je.key || (je.key = `__vxp_${je.type}-${Le}`);
} else
je.type = void 0;
Ne.set(
je.key,
typeof je.width == "string" ? hr : Math.round(
cn(
je.width || Ss,
je.minWidth || hr,
je.maxWidth || 1 / 0
)
)
), nt.set(je.key, Pn(je.sorter)), it.set(je.key, mn(je.filter));
const Lt = je.fixed;
Lt === !0 || Lt === "left" ? ye.push(je) : Lt === "right" ? At.push(je) : Ft.push(je);
}
if (r.allColumns.length > ut.length)
for (let Le = ut.length - 1, Ue = r.allColumns.length; Le < Ue; ++Le)
r.rowMap.delete(`${Tr}${Le}`);
for (let Le = 0, Ue = ut.length; Le < Ue; ++Le) {
const je = `${Tr}${Le}`;
r.rowMap.set(je, I(je));
}
if (r.columnMap = wt, r.columns = Array.from(ye).concat(Ft, At), r.normalColumns = Ft, r.allColumns = ut, r.columns.length) {
for (const Le of r.columns)
if (!Le.type) {
Le.first = !0;
break;
}
gn(r.columns).last = !0;
}
ye.length && (r.leftFixedColumns = ye), At.length && (r.rightFixedColumns = At);
}
function H(Q, Ne, nt) {
r.columnMap.has(Q) && (r.columnMap.get(Q)[Ne] = nt);
}
function U(Q) {
return typeof Q == "symbol" ? Q : `${Xk}${Q}`;
}
function q(Q) {
Q = Array.from(Q).sort((ht, wt) => (ht.order || 0) - (wt.order || 0));
const Ne = new Set(r.summaries.map((ht) => ht.key)), nt = [], it = [], ut = /* @__PURE__ */ new Map();
for (let ht = 0, wt = Q.length; ht < wt; ++ht) {
const Ft = { ...Q[ht] };
let At = Ft.key;
if (Tt(At) && (console.error("[vexip-ui:Table] Table summary requires key prop, but missing"), At = ao()), Ft.key = At, (Ft.above ? nt : it).push(Ft), !Ne.has(Ft.key)) {
const ye = U(Ft.key);
r.rowMap.set(ye, I(ye));
}
Ne.delete(Ft.key), ut.set(Ft.key, Ft);
}
if (r.summaries = Array.from(nt).concat(it), r.summaryMap = ut, nt.length && (r.aboveSummaries = nt), it.length && (r.belowSummaries = it), Ne.size)
for (const ht of Ne)
r.rowMap.delete(U(ht));
}
function Z(Q, Ne, nt) {
r.summaryMap.has(Q) && (r.summaryMap.get(Q)[Ne] = nt);
}
function K(Q) {
const Ne = r.dataKey;
if (!Tt(Q) && Ne !== Q) {
const { rowData: nt, idMaps: it } = r;
r.dataKey = Q, nt.forEach((ut) => {
let ht = ut.data[Q];
Tt(ht) && (ht = ao()), ut.key = ht, it.set(ut.data, ht);
});
}
}
function we(Q, Ne = []) {
var nt;
if (Q.treeExpanded && ((nt = Q.children) != null && nt.length))
for (const it of Q.children)
Ne.push(it), we(it, Ne);
return Ne;
}
function de(Q) {
const Ne = [], nt = /* @__PURE__ */ new Map(), { allColumns: it, dataKey: ut, keyConfig: ht, idMaps: wt, disabledTree: Ft } = r, At = r.rowMap, ye = !!r.virtual, {
children: Le,
checked: Ue,
height: je,
expanded: Lt,
treeExpanded: Pt
} = ht;
for (let Jt = 0, fn = it.length; Jt < fn; ++Jt) {
const $n = `${Tr}${Jt}`;
nt.set($n, At.get($n) || I($n));
}
for (const Jt of r.summaries) {
const fn = U(Jt.key);
nt.set(fn, At.get(fn) || I(fn));
}
const $t = (Jt, fn, $n) => {
for (let Fn = 0, Xn = Jt.length; Fn < Xn; ++Fn) {
const bn = Jt[Fn];
let rl = bn[ut];
Tt(rl) && (rl = wt.get(bn), Tt(rl) && (rl = ao()));
let yn;
if (At.has(rl)) {
yn = At.get(rl);
const {
[Ue]: ha,
[je]: Na,
[Lt]: Il,
[Pt]: Ur
} = yn.data !== bn ? Object.assign(yn.data, bn) : yn.data;
yn.checked = Tt(ha) ? yn.checked : !!ha, yn.height = Tt(Na) ? yn.height : rn(Na), yn.expanded = Tt(Il) ? yn.expanded : !!Il, yn.treeExpanded = Tt(Ur) ? yn.treeExpanded : !!Ur;
} else {
const {
[Ue]: ha,
[je]: Na,
[Lt]: Il,
[Pt]: Ur
} = bn;
yn = {
key: rl,
hidden: ye,
checked: !!ha,
height: rn(Na),
expanded: !!Il,
hover: !1,
expandHeight: 0,
index: -1,
children: [],
depth: 0,
treeExpanded: !!Ur,
partial: !1,
dragging: !1,
listIndex: 0,
cellHeights: pt({}),
last: !1,
expandAnimate: !1,
data: bn
}, wt.set(bn, rl);
}
$n && (yn.parent = $n.key, yn.depth = $n.depth + 1), yn.children = [];
const ta = yn.data[Le];
ta != null && ta.length && $t(ta, yn.children, yn), fn.push(yn), nt.set(rl, yn);
}
};
$t(Q, Ne), r.rowMap = nt, r.treeRowData = Ne, Ft ? r.rowData = Ne : te(), r.data = Q, Wn(), Ut();
}
function te() {
if (r.disabledTree) return;
const Q = [];
for (const Ne of r.treeRowData)
Q.push(Ne), we(Ne, Q);
r.rowData = Q;
}
function Ee() {
so(r.treeRowData, (Q, Ne) => {
Q.depth = Ne;
});
}
function Se(Q) {
r.currentPage = Q ?? 1;
}
function Ce(Q) {
r.pageSize = Q || 0;
}
function fe(Q) {
r.rowClass = Q ?? "";
}
function ot(Q) {
r.rowStyle = Q ?? "";
}
function Ze(Q) {
r.rowAttrs = Q ?? null;
}
function Je(Q) {
r.cellClass = Q ?? "";
}
function se(Q) {
r.cellStyle = Q ?? "";
}
function ne(Q) {
r.cellAttrs = Q ?? null;
}
function ue(Q) {
r.headClass = Q ?? "";
}
function J(Q) {
r.headStyle = Q ?? "";
}
function N(Q) {
r.headAttrs = Q ?? null;
}
function j(Q) {
r.footClass = Q ?? "";
}
function ae(Q) {
r.footStyle = Q ?? "";
}
function be(Q) {
r.footAttrs = Q ?? null;
}
function re(Q) {
Q = rn(Q);
const { columns: Ne, widths: nt, resized: it } = r, ut = [];
let ht = Q;
for (let ye = 0, Le = Ne.length; ye < Le; ++ye) {
const Ue = Ne[ye], { minWidth: je, maxWidth: Lt } = Ue;
if (it.has(Ue.key))
ht -= nt.get(Ue.key);
else if (Ue.width)
if (typeof Ue.width == "string") {
const Pt = cn(rn(Ue.width), 0, 100);
if (Pt) {
const $t = Math.round(
cn(
Q * Pt / 100,
je || hr,
Lt || 1 / 0
)
);
ht -= $t, nt.set(Ue.key, $t);
} else
ut.push(Ue);
} else {
const Pt = Math.round(
cn(
Ue.width || Ss,
je || hr,
Lt || 1 / 0
)
);
ht -= Pt, nt.set(Ue.key, Pt);
}
else
ut.push(Ue);
}
const wt = ut.length, Ft = ce(ut, ht);
let At = 0;
for (let ye = 0; ye < wt; ++ye) {
const Le = ut[ye], Ue = Math[ye % 2 ? "ceil" : "floor"](Ft[ye]);
ye < wt - 1 && (At += Ue), nt.set(Le.key, Ue);
}
wt && ht >= At + gn(Ft) && nt.set(gn(ut).key, ht - At), r.width = Q;
}
function ce(Q, Ne) {
const nt = Q.length, it = Math.max(Ne / nt, Ss), ut = Q.map((Ue) => {
let je = it;
return Ue.minWidth != null && (je = Math.max(je, Ue.minWidth)), Ue.maxWidth != null && (je = Math.min(je, Ue.maxWidth)), je;
}), ht = ut.reduce((Ue, je) => Ue + je, 0);
let wt = Ne - ht;
const Ft = (Ue) => Q[Ue].maxWidth == null || ut[Ue] < Q[Ue].maxWidth, At = (Ue) => Q[Ue].minWidth == null || ut[Ue] > Q[Ue].minWidth, ye = 0.1;
let Le = !1;
for (; Math.abs(wt) > ye; ) {
const Ue = ut.map((Lt, Pt) => wt > 0 && Ft(Pt) || wt < 0 && At(Pt) ? Pt : -1).filter((Lt) => Lt !== -1);
if (Ue.length === 0) {
Le = !1;
break;
}
const je = wt / Ue.length;
for (const Lt of Ue) {
const Pt = ut[Lt];
let $t = Pt + je;
Q[Lt].minWidth != null && ($t = Math.max($t, Q[Lt].minWidth)), Q[Lt].maxWidth != null && ($t = Math.min($t, Q[Lt].maxWidth)), wt -= $t - Pt, ut[Lt] = $t;
}
Le = !0;
}
return !Le && wt > ye && (ut[nt - 1] += wt), ut;
}
function Pe(Q) {
r.rowHeight = Q;
}
function at(Q) {
r.rowMinHeight = Q;
}
function yt(Q, Ne, nt) {
!Tt(nt) && r.rowMap.has(Q) && (r.rowMap.get(Q).cellHeights[Ne] = nt);
}
function Nt(Q) {
r.rowDraggable = !!Q;
}
function Mt(Q) {
r.bodyYScroll = Q;
}
function Ht(Q) {
r.bodyXScroll = Q;
}
function _t(Q) {
r.border = !!Q;
}
function tn(Q) {
r.stripe = !!Q;
}
function Wt(Q) {
r.highlight = !!Q;
}
function un(Q) {
r.virtual = !!Q;
}
function qt(Q, Ne, nt) {
const it = r.rowMap.get(Q);
it && it[Ne] !== nt && (it[Ne] = nt);
}
function pe(Q) {
r.locale = Q;
}
function Re(Q) {
r.tooltipTheme = Q;
}
function he(Q) {
r.tooltipWidth = Q;
}
function Fe(Q) {
r.singleSorter = !!Q;
}
function lt(Q) {
r.singleFilter = !!Q;
}
function Ke(Q) {
r.dragging = !!Q;
}
function Ct(Q) {
r.keyConfig = Q;
}
function ve(Q) {
r.disabledTree = !!Q;
}
function Ve(Q) {
r.noCascaded = !!Q;
}
function Ie(Q) {
r.colResizable = Q === !0 ? "lazy" : Q;
}
function Me(Q) {
r.customSorter = !!Q;
}
function Ge(Q) {
r.customFilter = !!Q;
}
function mt(Q) {
r.colResizing = !!Q;
}
function bt(Q) {
r.resizeLeft = Q;
}
function Ot(Q) {
r.expandRenderer = Q;
}
function Vt(Q) {
r.cellSpan = Q;
}
function $e(Q) {
r.sidePadding = Array.isArray(Q) ? Q : [Q, Q];
}
function et(Q) {
r.borderWidth = Math.max(Q, 0);
}
function vt(Q) {
r.dataFilter = Q;
}
function an(Q) {
r.ellipsis = Q;
}
function Rn(Q) {
r.locked = Q;
}
function wn(Q) {
r.barScrolling = Q;
}
function Te(Q) {
if (r.hoveredRowKey !== Q) {
const Ne = r.hoveredRowKey && r.rowMap.get(r.hoveredRowKey), nt = Q && r.rowMap.get(Q);
Ne && (Ne.hover = !1), nt && (nt.hover = !0);
}
r.hoveredRowKey = Q;
}
function Y(Q, Ne) {
r.sorters.has(Q) && (r.singleSorter && Ne && ke(), r.sorters.get(Q).type = Ne);
}
function ke() {
const Q = r.sorters;
for (const Ne of Q.values())
Ne.type = null;
}
function xe(Q, Ne) {
r.filters.has(Q) && (r.singleFilter && (Array.isArray(Ne) ? Ne.length : Ne) && We(), r.filters.get(Q).active = Array.isArray(Ne) ? Array.from(Ne) : Ne);
}
function We() {
const Q = r.filters;
for (const Ne of Q.values()) {
Ne.active = null;
for (const nt of Ne.options)
nt.active = !1;
}
}
const { updateCheckedUpward: V, updateCheckedDown: De } = mf({
getNode: (Q) => r.rowMap.get(Q),
disableNode: (Q) => c.value.has(Q.key)
});
function _e(Q) {
const { rowMap: Ne, rowData: nt } = r, { disableCheckRows: it } = C;
if (!Ne.has(Q)) return;
const ut = [Ne.get(Q)].concat(
// 需要包含被禁用且被勾选的节点
nt.filter((ht) => it.has(ht.key) && ht.checked)
);
for (let ht = 0, wt = ut.length; ht < wt; ++ht)
V(ut[ht].key), De(ut[ht].key);
}
function rt(Q, Ne, nt = !1) {
const { rowMap: it, noCascaded: ut } = r, { disableCheckRows: ht } = C, wt = it.get(Q);
wt && (nt && (Bt(!0), wt.checked = !!Ne), ht.has(Q) || (wt.checked = !!Ne, wt.partial = !1), !ut && _e(Q), Ut());
}
function xt() {
const { rowData: Q, checkedAll: Ne } = r, { disableCheckRows: nt } = C;
let it = !Ne;
if (nt.size) {
let ut = !0;
for (const ht of Q)
if (!nt.has(ht.key) && !ht.checked) {
ut = !1;
break;
}
it = !ut;
}
for (const ut of Q)
nt.has(ut.key) || (ut.checked = it);
r.checkedAll = it, r.partial = !1, Ut();
}
function Bt(Q = !1) {
const { rowData: Ne } = r, { disableCheckRows: nt } = C;
for (const it of Ne)
(Q || !nt.has(it.key)) && (it.checked = !1), Q && (it.partial = !1);
r.checkedAll = !1, r.partial = !1, !Q && Ut();
}
function Ut() {
const Q = r.rowData;
let Ne = !1, nt = !1, it = !1;
for (let ut = 0, ht = Q.length; ut < ht; ++ut)
if (Q[ut].checked ? Ne = !0 : nt = !0, Ne && nt) {
it = !0;
break;
}
Ne && !it ? r.checkedAll = !0 : r.checkedAll = !1, r.partial = it;
}
function xn(Q, Ne, nt = !1) {
const { startRow: it, endRow: ut, heightBITree: ht, virtualData: wt } = r;
if (!nt && Q === it && Ne === ut) return;
const { processedData: Ft } = C;
if (!Ft.length) {
wt.length = 0;
return;
}
const At = /* @__PURE__ */ new Set([...wt]), ye = [], Le = [];
for (let je = 0, Lt = Ft.length; je < Lt; ++je) {
const Pt = Ft[je];
Pt.hidden = !(je >= Q && je < Ne), Pt.hidden ? (Pt.hover = !1, At.has(Pt) && Le.push(Pt)) : At.has(Pt) || ye.push(Pt), At.delete(Pt);
}
Le.push(...At);
const Ue = Math.min(ye.length, Le.length);
for (let je = 0; je < Ue; ++je)
wt[wt.indexOf(Le[je])] = ye[je];
ye.length > Le.length ? wt.push(...ye.slice(Ue)) : ye.length < Le.length && (r.virtualData = wt.filter((je) => !Le.includes(je))), r.padTop = (ht == null ? void 0 : ht.sum(Q)) ?? 0, r.startRow = Q, r.endRow = Ne;
}
function qn(Q, Ne) {
const { rowMap: nt } = r, { disableExpandRows: it } = C;
nt.has(Q) && !it.has(Q) && (nt.get(Q).expanded = !!Ne);
}
function ul(Q, Ne) {
const { rowMap: nt } = r, { disableDragRows: it } = C;
nt.has(Q) && !it.has(Q) && (nt.get(Q).dragging = !!Ne);
}
function Sn(Q, Ne) {
var Ft;
if (!m.value) return;
const { rowMap: nt, rowData: it, virtual: ut } = r, ht = nt.get(Q);
if (!((Ft = ht == null ? void 0 : ht.children) != null && Ft.length)) return;
const wt = we({ ...ht, treeExpanded: !0 });
Ne ? it.splice(ht.index + 1, 0, ...wt) : it.splice(ht.index + 1, wt.length), ht.treeExpanded = !!Ne, Wn(), ut && xn(r.startRow, r.endRow, !0);
}
function jn(Q) {
const { key: Ne, value: nt, active: it = !1, disableOthers: ut = !1 } = Q;
if (r.filters.has(Ne)) {
const ht = r.filters.get(Ne).options;
if (ut)
for (let Ft = 0, At = ht.length; Ft < At; ++Ft)
ht[Ft].active = !1;
const wt = ht.find((Ft) => Ft.value === nt);
wt && (wt.active = it);
}
}
function Wn() {
const Q = r.rowData;
for (let Ne = 0, nt = Q.length; Ne < nt; ++Ne)
Q[Ne].index = Ne;
}
function Kt() {
const { heightBITree: Q } = r;
Q ? r.totalHeight = Q.sum() ?? 0 : r.totalHeight = 0;
}
function Pn(Q = !1) {
const Ne = typeof Q == "boolean" ? { able: Q } : Q, { able: nt = !0, type: it = null, order: ut = 0, method: ht = null } = Ne;
return { able: nt, type: it, order: ut, method: ht };
}
function mn(Q) {
Q = Q || { able: !1, options: [] };
const {
able: Ne = !0,
custom: nt = !1,
multiple: it = !1,
active: ut = null,
method: ht = null,
meta: wt
} = Q, Ft = Ic(Q.options ?? []), At = [];
for (let ye = 0, Le = Ft.length; ye < Le; ++ye) {
const Ue = Ft[ye], je = typeof Ue == "string" ? { value: Ue } : { ...Ue };
je.label = je.label ?? je.value.toString();
let Lt = !1;
it && Array.isArray(ut) ? Lt = ut.includes(je.value) : Tt(ut) || (Lt = Object.is(je.value, ut)), je.active = Lt, At.push(je);
}
return { able: Ne, custom: nt, meta: wt, options: At, multiple: it, active: ut, method: ht };
}
function Tn(Q, Ne, nt) {
const it = [], ut = [];
for (const wt of Q.values()) {
const { able: Ft, active: At, method: ye } = wt;
if (Ft && At && typeof ye == "function" && (it.push(wt), nt))
break;
}
const ht = it.length;
for (let wt = 0, Ft = Ne.length; wt < Ft; ++wt) {
const At = Ne[wt];
let ye = !0;
for (let Le = 0; Le < ht; Le++) {
const { active: Ue, method: je } = it[Le];
if (ye = je(Ue, At.data), !ye)
break;
}
ye && ut.push(At);
}
return ut;
}
function ie(Q, Ne, nt, it) {
const ut = [];
for (const [ht, wt] of Q) {
const Ft = ht, { able: At, type: ye, order: Le, method: Ue } = wt;
if (At && ye) {
const je = nt.find((Pt) => Pt.key === Ft), Lt = je == null ? void 0 : je.accessor;
if (ut.push({
able: At,
key: Ft,
order: Le,
type: ye,
method: Ue ?? void 0,
accessor(Pt) {
return typeof Lt == "function" ? Lt(Pt.data, Pt.index) : Pt.data[Ft];
}
}), it) break;
}
}
return ut.sort((ht, wt) => ht.order - wt.order), Hp(Ne, ut);
}
function Ae(Q, Ne, nt) {
return Ne > 0 ? nt.slice((Q - 1) * Ne, Q * Ne) : nt;
}
function tt(Q) {
const { rowMap: Ne } = r, nt = Ne.get(Q);
return Tt(nt == null ? void 0 : nt.parent) ? null : Ne.get(nt.parent) ?? null;
}
let St;
function jt(Q, Ne) {
const { resized: nt, widths: it, columns: ut, columnMap: ht, width: wt } = r, Ft = Q.length;
if (!ut.length || !Ft) return;
const At = Ne / Ft, ye = gn(ut).key;
for (let Ue = 0; Ue < Ft; ++Ue) {
const je = Q[Ue], Lt = ht.get(je);
if (!Lt) continue;
const Pt = Ft === 1 ? Math.round(At) : Math[Ue % 2 ? "ceil" : "floor"](At), { minWidth: $t, maxWidth: Jt } = Lt;
nt.add(je), it.set(je, cn(Pt, $t || hr, Jt || 1 / 0));
}
let Le = 0;
for (const Ue of it.values())
Le += Ue;
Le = _n(Le, 1), Le - it.get(ye) < wt - (St ?? it.get(ye)) ? (St || (St = it.get(ye)), it.set(ye, it.get(ye) + wt - Le)) : St && (it.set(ye, St), St = void 0);
}
function Zt() {
const {
normalColumns: Q,
leftFixedColumns: Ne,
rightFixedColumns: nt,
aboveSummaries: it,
belowSummaries: ut,
rowData: ht,
cellSpanMap: wt,
collapseMap: Ft
} = r, { processedData: At } = C;
for (const Le of ["left", "default", "right"])
wt.set(Le, /* @__PURE__ */ new Map()), Ft.set(Le, /* @__PURE__ */ new Map());
function ye(Le, Ue, je, Lt, Pt = "") {
const $t = `${Pt}${Le},${Ue}`, Jt = Ft.get(je);
if (Jt.has($t)) {
wt.get(je).set($t, { colSpan: 0, rowSpan: 0 });
return;
}
const fn = Lt(), { colSpan: $n, rowSpan: Fn } = fn;
for (let Xn = 0; Xn < $n; ++Xn)
for (let bn = 0; bn < Fn; ++bn) {
if (!Xn && !bn) continue;
const rl = `${Pt}${Le + bn},${Ue + Xn}`;
let yn = Jt.get(rl);
yn || (yn = /* @__PURE__ */ new Set(), Jt.set(rl, yn)), yn.add($t);
}
wt.get(je).set($t, fn);
}
for (const Le of [Q, Ne, nt]) {
if (!Le.length) continue;
const Ue = Le[0].fixed === !0 ? "left" : Le[0].fixed || "default", je = Le[0].fixed === !0 ? "left" : Le[0].fixed || void 0, Lt = r.leftFixedColumns.length, Pt = r.allColumns[0].length - r.rightFixedColumns.length;
let $t;
Ue === "left" ? $t = r.allColumns.map((Jt) => Jt.slice(0, Lt)) : Ue === "right" ? $t = r.allColumns.map(
(Jt) => Jt.slice(Pt, r.allColumns[0].length)
) : $t = r.allColumns.map((Jt) => Jt.slice(Lt, Pt));
for (let Jt = 0, fn = $t.length; Jt < fn; ++Jt) {
const $n = $t[Jt];
for (let Fn = 0, Xn = $n.length; Fn < Xn; ++Fn) {
const bn = $n[Fn];
if (!bn) continue;
const rl = bn.fixed === !0 ? "left" : bn.fixed || "default";
ye(
Jt,
Fn,
rl,
() => {
const yn = rl === "left" ? Ne : rl === "right" ? nt : Q;
return { colSpan: cn(bn.headSpan ?? 1, 0, yn.length - Fn), rowSpan: bn.rowSpan };
},
"h"
);
}
}
for (let Jt = 0, fn = Le.length; Jt < fn; ++Jt) {
const $n = Le[Jt];
for (const Fn of ht)
ye(Fn.index, $n.index, Ue, () => {
let Xn;
typeof $n.cellSpan == "function" ? Xn = $n.cellSpan({
row: Fn.data,
index: Fn.index,
fixed: je
}) : typeof r.cellSpan == "function" && (Xn = r.cellSpan({
row: Fn.data,
rowIndex: Fn.index,
column: $n,
columnIndex: $n.index,
fixed: je
})), Xn = Xn || { colSpan: 1, rowSpan: 1 };
const bn = { colSpan: Xn.colSpan ?? 1, rowSpan: Xn.rowSpan ?? 1 };
return bn.colSpan = cn(bn.colSpan, 0, Le.length - Jt), bn.rowSpan = cn(bn.rowSpan, 0, At.length - Fn.listIndex), bn;
});
for (const { prefix: Fn, summaries: Xn } of [
{ prefix: "af", summaries: it },
{ prefix: "bf", summaries: ut }
])
for (let bn = 0, rl = Xn.length; bn < rl; ++bn) {
const yn = Xn[bn];
ye(
bn,
$n.index,
Ue,
() => {
let ta;
typeof yn.cellSpan == "function" && (ta = yn.cellSpan({
column: $n,
index: $n.index,
fixed: je
}));
const { colSpan: ha, rowSpan: Na } = ta || { colSpan: 1, rowSpan: 1 }, Il = { colSpan: ha ?? 1, rowSpan: Na ?? 1 };
return Il.colSpan = cn(Il.colSpan, 0, Le.length - Jt), Il.rowSpan = cn(Il.rowSpan, 0, Xn.length - bn), Il;
},
Fn
);
}
}
}
}
function Nn() {
const { treeRowData: Q, disabledTree: Ne, keyConfig: nt } = r;
return Ne ? Q.map((it) => ({ ...it.data })) : Bc(Q, (it) => ({ ...it.data }), {
childField: nt.children
});
}
function Cn(Q) {
const { dataKey: Ne, rowMap: nt, idMaps: it } = r;
let ut;
return typeof Q == "object" ? ut = it.get(Q) ?? Q[Ne] : ut = Q, Tt(ut) ? void 0 : nt.get(ut);
}
return { state: r, getters: C, mutations: E };
}
const bw = ["aria-rowcount"], gw = {
role: "none",
"aria-hidden": ""
}, yw = /* @__PURE__ */ Xe({
name: "Table",
__name: "table",
props: Kk,
emits: ["update:data"],
setup(t, { expose: r, emit: l }) {
const a = {
id: "id",
children: "children",
checked: "checked",
height: "height",
expanded: "expanded",
treeExpanded: "treeExpanded"
}, o = ct("table", t, {
locale: null,
columns: {
default: () => [],
static: !0
},
summaries: {
default: () => [],
static: !0
},
data: {
default: () => [],
static: !0
},
width: null,
height: null,
minHeight: null,
rowClass: null,
rowStyle: null,
rowAttrs: null,
stripe: !1,
border: !1,
highlight: !1,
useXBar: !1,
useYBar: !1,
barFade: 1500,
rowDraggable: !1,
rowHeight: {
default: null,
validator: (ye) => ye > 0
},
rowMinHeight: {
default: 36,
validator: (ye) => ye > 0
},
virtual: !1,
bufferCount: {
default: 5,
validator: (ye) => ye >= 0
},
scrollClass: () => ({}),
expandRenderer: {
default: null,
isFunc: !0
},
currentPage: {
default: 1,
validator: (ye) => ye > 0,
static: !0
},
pageSize: 0,
transparent: !1,
tooltipTheme: {
default: "dark",
validator: (ye) => ["light", "dark"].includes(ye)
},
tooltipWidth: 500,
singleSorter: !1,
singleFilter: !1,
cellClass: null,
cellStyle: null,
cellAttrs: null,
headClass: null,
headStyle: null,
headAttrs: null,
footClass: null,
footStyle: null,
footAttrs: null,
customSorter: !1,
customFilter: !1,
keyConfig: () => ({}),
disabledTree: !1,
rowIndent: "16px",
noCascaded: !1,
colResizable: !1,
cellSpan: {
default: null,
isFunc: !0
},
sidePadding: 0,
icons: () => ({}),
borderWidth: 1,
dataFilter: {
default: null,
isFunc: !0
},
noTransition: !1,
ellipsis: !1,
slots: () => ({})
}), s = l, c = kn(), d = Ye("table"), { timer: p } = Vn(), m = $(o.height), b = $(o.height || 0), f = $(!1), u = $(!1), h = $(0), i = $(0), v = $(0), k = $(0), w = $(!1), T = $(aa.BEFORE), F = pt(/* @__PURE__ */ new Set()), A = pt(/* @__PURE__ */ new Set()), z = $(), C = $(!1), E = $(0), P = $(), R = $(), L = $(), I = $(), G = $(), ee = $(), O = $(), H = $(), U = $(), q = $(), Z = $();
let K = !1;
const we = vn("table", qe(o, "locale")), de = g(() => ({ ...a, ...o.keyConfig })), te = g(() => Array.from(F)), Ee = g(() => Array.from(A)), Se = [
"rowClass",
"rowStyle",
"rowAttrs",
"cellClass",
"cellStyle",
"cellAttrs",
"headClass",
"headStyle",
"headAttrs",
"footClass",
"footStyle",
"footAttrs",
"border",
"stripe",
"highlight",
"currentPage",
"pageSize",
"rowHeight",
"rowMinHeight",
"rowDraggable",
"tooltipTheme",
"tooltipWidth",
"singleSorter",
"singleFilter",
"customSorter",
"customFilter",
"noCascaded",
"colResizable",
"expandRenderer",
"cellSpan",
"sidePadding",
"borderWidth",
"dataFilter",
"ellipsis"
], Ce = mw({
...Se.reduce(
(ye, Le) => (ye[Le] = o[Le], ye),
{}
),
columns: te.value,
summaries: Ee.value,
data: o.data,
dataKey: de.value.id,
virtual: o.virtual,
locale: we.value,
keyConfig: de.value,
disabledTree: o.disabledTree,
colResizable: o.colResizable === !0 ? "lazy" : o.colResizable,
sidePadding: Array.isArray(o.sidePadding) ? o.sidePadding : [o.sidePadding, o.sidePadding]
});
nn(pa, Ce), nn(ea, {
increaseColumn: We,
decreaseColumn: V,
increaseSummary: De,
decreaseSummary: _e,
getTableElement: xn,
refreshXScroll: qn,
emitRowCheck: ul,
emitAllRowCheck: Sn,
emitRowExpand: jn,
emitRowTreeExpand: Wn,
emitRowFilter: Kt,
emitRowSort: Pn,
handleRowDragStart: Tn,
handleRowDragOver: ie,
handleRowDrop: tt,
handleRowDragEnd: St,
emitRowEvent: jt,
emitCellEvent: Zt,
emitHeadEvent: Nn,
emitColResize: Cn,
emitFootEvent: Q,
hasIcon: (ye) => !!o.icons[ye],
getIcon: (ye) => o.icons[ye],
renderTableSlot: At,
runInLocked: it,
updateColumns: () => Ln(rt),
setColumnProp: xt,
updateSummaries: () => Ln(Bt),
setSummaryProp: Ut
}), nn(pf, c);
const { state: fe, getters: ot, mutations: Ze } = Ce, Je = g(() => o.noTransition || fe.locked || fe.barScrolling), se = g(() => ({
[d.b()]: !0,
[d.bs("vars")]: !0,
[d.bm("inherit")]: o.inherit,
[d.bm("stripe")]: o.stripe,
[d.bm("border")]: o.border,
[d.bm("highlight")]: o.highlight,
[d.bm("use-y-bar")]: o.useYBar,
[d.bm("transparent")]: o.transparent,
[d.bm("virtual")]: o.virtual,
[d.bm("col-resizable")]: o.colResizable,
[d.bm("col-resizing")]: fe.colResizing,
[d.bm("locked")]: Je.value,
[d.bm("above-foot")]: fe.aboveSummaries.length,
[d.bm("below-foot")]: fe.belowSummaries.length,
[d.bm("using-bar")]: fe.barScrolling
})), ne = g(() => {
const ye = z.value ?? o.width, [Le, Ue] = fe.sidePadding, je = {
[d.cv("row-indent-width")]: typeof o.rowIndent == "number" ? `${o.rowIndent}px` : o.rowIndent,
[d.cv("b-width")]: `${o.borderWidth}px`,
[d.cv("viewport-width")]: `${E.value}px`
};
return Le && (je[d.cv("side-pad-left")] = `${Le}px`), Ue && (je[d.cv("side-pad-right")] = `${Ue}px`), dn(ye) && (typeof ye == "number" || tr(ye, !0) ? (je.width = `${ye}px`, je.minWidth = `${ye}px`) : je.width = ye), je;
}), ue = g(() => !!(dn(o.width) || fe.leftFixedColumns.length || fe.rightFixedColumns.length)), J = g(() => {
const { totalHeight: ye } = fe;
return m.value ? Math.min(m.value, ye) : void 0;
}), N = g(() => {
var ye;
return ((ye = R.value) == null ? void 0 : ye.xBarLength) || 35;
}), j = g(() => {
const { totalHeight: ye } = fe;
return J.value && ye && Math.max(Math.min(J.value / ye * 100, 99), 5) || 35;
}), ae = g(() => (gn(ot.totalWidths) || 0) + (fe.sidePadding[0] || 0) + (fe.sidePadding[1] || 0)), be = g(() => f.value && h.value > 0), re = g(() => f.value && h.value < 100), {
setColumns: ce,
setSummaries: Pe,
setData: at,
setDataKey: yt,
setTableWidth: Nt,
setBodyYScroll: Mt,
setBodyXScroll: Ht,
setRenderRows: _t,
setVirtual: tn,
setLocale: Wt,
setDragging: un,
setKeyConfig: qt,
setDisabledTree: pe,
setLocked: Re,
setBarScrolling: he,
clearSort: Fe,
clearFilter: lt,
refreshRowIndex: Ke,
clearCheckAll: Ct,
getParentRow: ve,
getCurrentData: Ve,
flatTreeRows: Ie,
refreshRowDepth: Me,
queryRow: Ge,
handleCheck: mt,
setTreeExpanded: bt
} = Ze;
le(te, rt), le(Ee, Bt), le(() => de.value.id, yt), le(() => o.data, $e, { deep: !0 }), le(() => o.width, et), le([() => o.height, () => o.borderWidth], () => {
kt(vt);
}), le(we, Wt, { deep: !0 }), le(
() => o.virtual,
(ye) => {
tn(ye), at(o.data), ut();
}
), le(
de,
(ye) => {
qt(ye), at(o.data);
},
{ deep: !0 }
), le(
() => o.disabledTree,
(ye) => {
pe(ye), at(o.data);
}
), le([() => o.rowHeight, () => o.rowMinHeight], () => {
nt();
});
for (const ye of Se) {
const Le = Ze[`set${ye.charAt(0).toLocaleUpperCase()}${ye.slice(1)}`];
le(() => o[ye], Le);
}
function Ot() {
var ye, Le;
(ye = q.value) == null || ye.handleScroll(h.value), (Le = Z.value) == null || Le.handleScroll(i.value);
}
const Vt = da(nt);
sn(() => {
K = !0, le(J, ut), nt(), window.addEventListener("resize", Vt), kt(() => {
C.value = ot.hasDragColumn;
}), R.value && (f.value = R.value.enableXScroll, u.value = R.value.enableYScroll);
}), pn(() => {
K = !1, window.removeEventListener("resize", Vt);
}), r({
bodyHeight: m,
xScrollEnabled: f,
yScrollEnabled: u,
xScrollPercent: h,
yScrollPercent: i,
headHeight: v,
footHeight: k,
indicatorShow: w,
bodyScrollHeight: J,
totalWidths: ae,
totalHeight: g(() => fe.totalHeight),
locked: Je,
store: Ce,
wrapper: P,
mainScroll: R,
xHeadScroll: L,
xAboveScroll: I,
xBelowScroll: G,
thead: ee,
aboveTfoot: O,
belowTfoot: H,
indicator: U,
xScrollbar: q,
yScrollbar: Z,
clearSort: Fe,
clearFilter: lt,
clearSelected: Ct,
refresh: nt,
refreshData: $e,
getSelected: ht,
getData: Ve,
selectRow: wt,
treeExpandRow: Ft
});
function $e(ye = o.data) {
return it(() => {
at(ye), kt(() => Ne(!0)), ut();
});
}
function et() {
const ye = o.width;
dn(ye) && (typeof ye == "string" && parseFloat(ye).toString() !== ye ? z.value = ye : z.value = `${rn(ye)}px`), kt(() => {
var Le;
(Le = R.value) != null && Le.content && Nt(R.value.content.offsetWidth), qn();
});
}
function vt() {
const ye = o.height, Le = o.minHeight, Ue = o.borderWidth;
let je = 0;
ee.value || O.value || H.value ? (ee.value && (je = ee.value.offsetHeight), O.value && (je += O.value.offsetHeight), H.value && (je = H.value.offsetHeight)) : je = o.rowHeight || o.rowMinHeight, je += 2 * Ue, dn(ye) ? m.value = ye - je : m.value = void 0, dn(Le) ? b.value = Math.min(Le, ye ?? 1 / 0) - je : b.value = 0;
}
function an(ye) {
fe.barScrolling || (ye.type !== "vertical" && Rn(ye), ye.type !== "horizontal" && wn(ye));
}
function Rn({ clientX: ye, percentX: Le }) {
fe.barScrolling || (h.value = Le, Ht(ye), Ot(), _(o.onScroll, {
type: "horizontal",
client: ye,
percent: Le
}));
}
function wn({ clientY: ye, percentY: Le }) {
fe.barScrolling || (i.value = Le, Mt(ye), Ot(), ke(ye, Le));
}
function Te(ye) {
if (!R.value) return;
const Le = R.value.xScrollLimit * ye / 100;
h.value = ye, Ht(Le), _(o.onScroll, { type: "horizontal", client: Le, percent: ye });
}
function Y(ye) {
const { totalHeight: Le } = fe, Ue = ye * (Le - (J.value ?? 0)) / 100;
i.value = ye, Mt(Ue), ke(Ue, ye);
}
function ke(ye, Le) {
it(), qa(Ne), _(o.onScroll, { type: "vertical", client: ye, percent: Le });
}
function xe() {
var ye;
(ye = R.value) != null && ye.content && (E.value = R.value.content.offsetWidth), K && nt();
}
function We(ye) {
F.add(ye);
}
function V(ye) {
F.delete(ye);
}
function De(ye) {
A.add(ye);
}
function _e(ye) {
A.delete(ye);
}
function rt() {
it(() => {
ce(te.value), K && et(), kt(() => {
C.value = ot.hasDragColumn;
});
});
}
function xt(ye, Le, Ue) {
Ze.setColumnProp(ye, Le, Ue);
}
function Bt() {
it(() => {
Pe(Ee.value);
});
}
function Ut(ye, Le, Ue) {
Ze.setSummaryProp(ye, Le, Ue);
}
function xn() {
return P.value;
}
function qn() {
var ye, Le, Ue, je;
(ye = R.value) == null || ye.refresh(), (Le = L.value) == null || Le.refresh(), (Ue = I.value) == null || Ue.refresh(), (je = G.value) == null || je.refresh();
}
function ul(ye) {
_(o.onRowCheck, ye);
}
function Sn(ye, Le) {
_(o.onRowCheckAll, ye, Le);
}
function jn(ye) {
_(o.onRowExpand, ye);
}
function Wn(ye) {
_(o.onRowTreeExpand, ye);
}
function Kt() {
const { columns: ye, filters: Le } = fe, Ue = Rs(ye, "key"), je = Array.from(Le.keys()).filter((Lt) => Le.get(Lt).active).map((Lt) => {
const Pt = Ue[Lt];
return {
name: Pt.name,
key: Pt.key,
meta: Pt.meta,
active: Le.get(Lt).active
};
});
Ne(!0), _(
o.onRowFilter,
je,
ot.filteredData.map((Lt) => Lt.data)
);
}
function Pn() {
const { columns: ye, sorters: Le } = fe, Ue = Rs(ye, "key"), je = Array.from(Le.keys()).filter((Lt) => Le.get(Lt).type).map((Lt) => {
const Pt = Ue[Lt], $t = Le.get(Lt);
return {
name: Pt.name,
key: Pt.key,
meta: Pt.meta,
type: $t.type,
order: $t.order
};
});
Ne(!0), _(
o.onRowSort,
je,
ot.sortedData.map((Lt) => Lt.data)
);
}
let mn;
function Tn(ye, Le) {
mn = {
draggingRow: ye.row,
tableRect: P.value.getBoundingClientRect(),
willDropRow: null,
dropType: aa.BEFORE,
dropped: !1
}, un(!0), _(o.onRowDragStart, ye.row.data, Le);
}
function ie(ye, Le) {
if (!mn || !ye.el) return;
const Ue = ye.el.getBoundingClientRect(), je = mn.tableRect, Lt = fe.disabledTree ? 0.5 : 0.25, Pt = fe.disabledTree ? 0.5 : 0.75, $t = Le.clientY - Ue.top, Jt = Ue.height;
let fn, $n = -9999, Fn = !0;
$t < Jt * Lt ? (fn = aa.BEFORE, $n = Ue.top - je.top) : $t >= Jt * Pt ? (fn = aa.AFTER, $n = Ue.bottom - je.top) : (fn = aa.INNER, Fn = !1), U.value && (U.value.style.top = `${$n - 2}px`), mn.willDropRow = ye.row, mn.dropType = fn, w.value = Fn, T.value = fn, _(o.onRowDragOver, ye.row.data, Le);
}
function Ae(ye, Le) {
if (!ye || !Le) return !0;
for (; ye; ) {
if (ye === Le || ye.key === Le.key)
return !0;
ye = ve(ye.key);
}
return !1;
}
function tt(ye, Le) {
var Jt;
if (!mn) return;
const { draggingRow: Ue, willDropRow: je, dropType: Lt } = mn;
if (!je || Ae(je, Ue)) return;
let Pt, $t;
if (Ue && ($t = ve(Ue.key), $t || ($t = {
children: fe.treeRowData
}), Pt = Ue.key, Ho($t.children, (fn) => fn.key === Pt), (Jt = $t.children) != null && Jt.length || ($t.treeExpanded = !1)), Lt === aa.INNER) {
Array.isArray(je.children) || (je.children = []);
const fn = Array.from(je.children);
fn.push(Ue), je.children = fn, je.treeExpanded = !0, Ue.parent = je.key;
} else {
Pt = je.key, $t = ve(je.key), $t || ($t = {
children: fe.treeRowData
});
const fn = $t.children.findIndex(($n) => $n.key === Pt);
~fn && ($t.children.splice(+(Lt === aa.AFTER) + fn, 0, Ue), Ue.parent = $t.key);
}
mn.dropped = !0, Me(), Ie(), Ke(), _(o.onRowDrop, ye.row.data, Lt, Le);
}
function St(ye) {
if (!mn) return;
const { draggingRow: Le, dropped: Ue } = mn;
mn = null, w.value = !1, kt(() => {
const je = Ue ? Ve() : fe.data;
un(!1), Ue && s("update:data", je), _(o.onRowDragEnd, Le.data, je, ye);
});
}
function jt(ye, Le) {
_(o[`onRow${ye}`], Le);
}
function Zt(ye, Le) {
_(o[`onCell${ye}`], Le);
}
function Nn(ye, Le) {
_(o[`onHead${ye}`], Le);
}
function Cn(ye, Le) {
_(o[`onColResize${ye}`], Le);
}
function Q(ye, Le) {
_(o[`onFoot${ye}`], Le);
}
function Ne(ye = !1) {
const { totalHeight: Le, bodyYScroll: Ue, heightBITree: je } = fe, { processedData: Lt } = ot, Pt = Lt.length;
if (!o.virtual) {
_t(0, Pt, ye);
return;
}
const $t = Math.max(
Math.min(m.value || 0, J.value || 0),
b.value
);
$t || _t(0, 0, ye);
let Jt = Ue, fn = Ue + $t;
fn > Le && (fn = Le, Jt = fn - $t);
const $n = je.boundIndex(Jt), Fn = je.boundIndex(fn), Xn = Math.max($n - o.bufferCount, 0), bn = Math.min(Fn + o.bufferCount + 1, Pt);
_t(Xn, bn, ye);
}
function nt() {
return it(() => {
kt(et), setTimeout(() => {
vt(), ut(), qa(Ne);
}, 0);
});
}
async function it(ye = Qt, Le = 250) {
return clearTimeout(p.locked), Re(!0), await ye(), new Promise((Ue) => {
p.locked = setTimeout(() => {
Re(!1), Ue();
}, Le);
});
}
function ut() {
clearTimeout(p.scroll), p.scroll = setTimeout(() => {
const { totalHeight: ye, bodyYScroll: Le } = fe;
i.value = Math.max(
Math.min(Le / (ye - (J.value ?? 0) || 1) * 100, 100),
0
), Ot(), kt(() => {
vt();
}), it(), qa(Ne);
}, 10);
}
function ht() {
const ye = fe.rowData, Le = [];
for (let Ue = 0, je = ye.length; Ue < je; ++Ue) {
const Lt = ye[Ue];
Lt.checked && Le.push(Lt.data);
}
return Le;
}
function wt(ye, Le) {
const Ue = Ge(ye);
!Ue || ot.disableCheckRows.has(Ue.key) || mt(Ue.key, Le ?? !Ue.checked);
}
function Ft(ye, Le) {
const Ue = Ge(ye);
Ue && (it(), bt(Ue.key, Le ?? !Ue.treeExpanded));
}
function At({ name: ye }) {
return W(c, ye);
}
return (ye, Le) => (S(), D("div", {
ref_key: "wrapper",
ref: P,
class: x(se.value),
role: "table",
style: Qe(ne.value),
"aria-rowcount": e(o).data.length
}, [
el(oe("div", gw, [
W(ye.$slots, "default"),
(S(!0), D(st, null, ln(e(o).columns, (Ue, je) => (S(), D(st, {
key: Ue.key ?? `__inner-column-${je}`
}, [
"children" in Ue ? (S(), Be(e(Di), He({
key: 0,
ref_for: !0
}, Ue), null, 16)) : (S(), Be(e(Ni), He({
key: 1,
ref_for: !0
}, Ue, {
"id-key": Ue.key
}), null, 16, ["id-key"]))
], 64))), 128)),
(S(!0), D(st, null, ln(e(o).summaries, ({ key: Ue, ...je }, Lt) => (S(), Be(e(hf), He({ ref_for: !0 }, je, {
key: `__inner-summary-${Lt}`,
"id-key": Ue
}), null, 16, ["id-key"]))), 128))
], 512), [
[tl, !1]
]),
oe("div", {
ref_key: "thead",
ref: ee,
class: x(e(d).be("head-wrapper"))
}, [
y(e(Al), {
ref_key: "xHeadScroll",
ref: L,
inherit: "",
mode: "horizontal",
"scroll-only": "",
class: x([e(d).be("wrapper"), e(o).scrollClass.horizontal]),
"scroll-x": e(fe).bodyXScroll,
onScroll: Rn
}, {
default: X(() => [
e(fe).leftFixedColumns.length ? (S(), D("div", {
key: 0,
class: x({
[e(d).bem("fixed", "left")]: !0,
[e(d).bem("fixed", "active")]: be.value
})
}, [
y(ws, { fixed: "left" })
], 2)) : ge("", !0),
y(ws),
e(fe).rightFixedColumns.length ? (S(), D("div", {
key: 1,
class: x({
[e(d).bem("fixed", "right")]: !0,
[e(d).bem("fixed", "active")]: re.value
})
}, [
y(ws, { fixed: "right" })
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["class", "scroll-x"])
], 2),
e(fe).aboveSummaries.length ? (S(), D("div", {
key: 0,
ref_key: "aboveTfoot",
ref: O,
class: x([e(d).be("foot-wrapper"), e(d).bem("foot-wrapper", "above")])
}, [
y(e(Al), {
ref_key: "xAboveScroll",
ref: I,
inherit: "",
mode: "horizontal",
"scroll-only": "",
class: x([e(d).be("wrapper"), e(o).scrollClass.horizontal]),
"scroll-x": e(fe).bodyXScroll,
onScroll: Rn
}, {
default: X(() => [
e(fe).leftFixedColumns.length ? (S(), D("div", {
key: 0,
class: x({
[e(d).bem("fixed", "left")]: !0,
[e(d).bem("fixed", "active")]: be.value
})
}, [
y(Ua, {
fixed: "left",
above: ""
})
], 2)) : ge("", !0),
y(Ua, { above: "" }),
e(fe).rightFixedColumns.length ? (S(), D("div", {
key: 1,
class: x({
[e(d).bem("fixed", "right")]: !0,
[e(d).bem("fixed", "active")]: re.value
})
}, [
y(Ua, {
fixed: "right",
above: ""
})
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["class", "scroll-x"])
], 2)) : ge("", !0),
oe("div", {
class: x([
e(d).be("body-wrapper"),
e(fe).totalHeight >= b.value && e(d).bem("body-wrapper", "scrolled")
]),
style: Qe({
...!J.value && e(fe).totalHeight ? {
height: `${e(fe).totalHeight}px`,
transition: e(o).noTransition || e(fe).locked ? void 0 : `height ${e(d).gnv("transition-base")}`
} : void 0,
minHeight: `${b.value}px`
})
}, [
y(e(Al), {
ref_key: "mainScroll",
ref: R,
inherit: "",
mode: "both",
"scroll-only": "",
"observe-deep": "",
class: x([e(d).be("wrapper"), e(o).scrollClass.major]),
"bar-class": e(d).bem("bar", "horizontal"),
height: J.value,
"scroll-x": e(fe).bodyXScroll,
"scroll-y": e(fe).bodyYScroll,
onScroll: an,
onXEnabledChange: Le[0] || (Le[0] = (Ue) => f.value = Ue),
onYEnabledChange: Le[1] || (Le[1] = (Ue) => u.value = Ue),
onResize: xe
}, {
default: X(() => [
e(fe).leftFixedColumns.length ? (S(), D("div", {
key: 0,
class: x({
[e(d).bem("fixed", "left")]: !0,
[e(d).bem("fixed", "active")]: be.value
}),
style: Qe({ minHeight: `${e(fe).totalHeight}px` })
}, [
y(xs, { fixed: "left" }, nl({ _: 2 }, [
c.empty || e(o).slots.empty ? {
name: "empty",
fn: X(() => [
W(ye.$slots, "empty", {}, () => [
y(e(me), {
renderer: e(o).slots.empty
}, null, 8, ["renderer"])
])
]),
key: "0"
} : void 0
]), 1024)
], 6)) : ge("", !0),
y(xs, null, nl({ _: 2 }, [
c.empty || e(o).slots.empty ? {
name: "empty",
fn: X(() => [
W(ye.$slots, "empty", {}, () => [
y(e(me), {
renderer: e(o).slots.empty
}, null, 8, ["renderer"])
])
]),
key: "0"
} : void 0
]), 1024),
e(fe).rightFixedColumns.length ? (S(), D("div", {
key: 1,
class: x({
[e(d).bem("fixed", "right")]: !0,
[e(d).bem("fixed", "active")]: re.value
}),
style: Qe({ minHeight: `${e(fe).totalHeight}px` })
}, [
y(xs, { fixed: "right" }, nl({ _: 2 }, [
c.empty || e(o).slots.empty ? {
name: "empty",
fn: X(() => [
W(ye.$slots, "empty", {}, () => [
y(e(me), {
renderer: e(o).slots.empty
}, null, 8, ["renderer"])
])
]),
key: "0"
} : void 0
]), 1024)
], 6)) : ge("", !0)
]),
_: 3
}, 8, ["class", "bar-class", "height", "scroll-x", "scroll-y"])
], 6),
e(fe).belowSummaries.length ? (S(), D("div", {
key: 1,
ref_key: "belowTfoot",
ref: H,
class: x([e(d).be("foot-wrapper"), e(d).bem("foot-wrapper", "below")])
}, [
y(e(Al), {
ref_key: "xBelowScroll",
ref: G,
inherit: "",
mode: "horizontal",
"scroll-only": "",
class: x([e(d).be("wrapper"), e(o).scrollClass.horizontal]),
"bar-class": e(d).bem("bar", "horizontal"),
"bar-fade": e(o).barFade,
"scroll-x": e(fe).bodyXScroll,
onScroll: Rn
}, {
default: X(() => [
e(fe).leftFixedColumns.length ? (S(), D("div", {
key: 0,
class: x({
[e(d).bem("fixed", "left")]: !0,
[e(d).bem("fixed", "active")]: be.value
})
}, [
y(Ua, { fixed: "left" })
], 2)) : ge("", !0),
y(Ua),
e(fe).rightFixedColumns.length ? (S(), D("div", {
key: 1,
class: x({
[e(d).bem("fixed", "right")]: !0,
[e(d).bem("fixed", "active")]: re.value
})
}, [
y(Ua, { fixed: "right" })
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["class", "bar-class", "bar-fade", "scroll-x"])
], 2)) : ge("", !0),
e(o).useXBar && ue.value ? (S(), Be(e(Ma), {
key: 2,
ref_key: "xScrollbar",
ref: q,
inherit: "",
placement: "bottom",
class: x(e(d).bem("bar", "horizontal")),
fade: e(o).barFade,
disabled: !f.value,
"bar-length": N.value,
style: Qe({ bottom: `${k.value}px` }),
onScrollStart: Le[2] || (Le[2] = (Ue) => e(he)(!0)),
onScroll: Te,
onScrollEnd: Le[3] || (Le[3] = (Ue) => e(he)(!1))
}, null, 8, ["class", "fade", "disabled", "bar-length", "style"])) : ge("", !0),
e(o).useYBar && J.value ? (S(), Be(e(Ma), {
key: 3,
ref_key: "yScrollbar",
ref: Z,
inherit: "",
placement: "right",
class: x(e(d).bem("bar", "vertical")),
fade: e(o).barFade,
disabled: !u.value,
"bar-length": j.value,
style: Qe({
top: v.value ? `${v.value}px` : void 0,
bottom: k.value ? `${k.value}px` : void 0
}),
onScrollStart: Le[4] || (Le[4] = (Ue) => e(he)(!0)),
onScroll: Y,
onScrollEnd: Le[5] || (Le[5] = (Ue) => e(he)(!1))
}, null, 8, ["class", "fade", "disabled", "bar-length", "style"])) : ge("", !0),
e(o).rowDraggable || C.value ? el((S(), D("div", {
key: 4,
ref_key: "indicator",
ref: U,
class: x([
e(d).be("indicator"),
T.value === "before" && e(d).bem("indicator", "before"),
T.value === "after" && e(d).bem("indicator", "after")
])
}, null, 2)), [
[tl, w.value]
]) : ge("", !0),
e(fe).colResizable === "lazy" ? el((S(), D("div", {
key: 5,
class: x(e(d).be("resize-indicator")),
style: Qe({ left: `${e(fe).resizeLeft}px` })
}, null, 6)), [
[tl, e(fe).colResizing]
]) : ge("", !0)
], 14, bw));
}
});
function cS(t) {
return t;
}
function dS(t) {
return t;
}
function fS(t) {
return t;
}
function pS(t) {
return t;
}
function vS(t) {
return t;
}
function hS(t) {
return t;
}
const kw = /* @__PURE__ */ Xe({
name: "Tabs",
__name: "tabs",
props: Hk,
emits: ["update:active"],
setup(t, { expose: r, emit: l }) {
const n = ct("tabs", t, {
active: {
default: null,
static: !0
},
card: !1,
align: "left",
placement: "top",
closable: !1,
showAdd: !1,
lazy: !1,
lazyLoad: !1,
slots: () => ({})
}), o = l, s = kn(), c = Ye("tabs"), d = $(n.active), p = $(0), m = pt(/* @__PURE__ */ new Set()), b = $(!1), f = g(() => Array.from(m)), u = Ln(() => {
f.value.forEach((A, z) => {
Tt(A.label) && (A.label = z + 1);
}), f.value.length >= 1 && i() && (d.value = f.value[0].label);
}), h = Ln(() => {
const A = f.value.findIndex((z) => z.label === d.value);
~A && (p.value = A);
});
nn(
uf,
pt({
currentActive: d,
lazy: qe(n, "lazy"),
lazyLoad: qe(n, "lazyLoad"),
handleActive: w,
increaseItem: v,
decreaseItem: k,
refreshLabels: u
})
), le(
() => n.active,
(A) => {
d.value = A;
}
), sn(h), r({
currentActive: d,
inTransition: b,
itemList: f,
handleActive: w,
handleAdd: T,
handleClose: F
});
function i() {
return Tt(d.value) || d.value === "";
}
function v(A) {
m.add(A), u();
}
function k(A) {
m.delete(A), u();
}
function w(A) {
d.value = A, h(), o("update:active", A), _(n.onChange, A);
}
function T() {
_(n.onAdd);
}
function F(A) {
_(n.onClose, A);
}
return (A, z) => (S(), D("div", {
class: x([e(c).b(), e(c).bm(e(n).placement), e(n).inherit && e(c).bm("inherit")])
}, [
oe("div", {
class: x(e(c).be("header"))
}, [
y(e(sf), {
inherit: "",
active: d.value,
card: e(n).card,
align: e(n).align,
placement: e(n).placement,
closable: e(n).closable,
"show-add": e(n).showAdd,
onChange: w,
onAdd: T,
onClose: F
}, nl({
default: X(() => [
(S(!0), D(st, null, ln(f.value, (C, E) => (S(), Be(e(Ii), {
key: E,
label: C.label,
icon: C.icon,
disabled: C.disabled,
closable: C.closable
}, {
default: X(() => [
e(on)(C.labelRenderer) ? (S(), Be(e(me), {
key: 0,
renderer: C.labelRenderer,
data: { label: C.label, disabled: C.disabled }
}, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 1 }, [
dt(ze(C.name || C.label), 1)
], 64))
]),
_: 2
}, 1032, ["label", "icon", "disabled", "closable"]))), 128)),
s.add || e(n).slots.add ? W(A.$slots, "add", { key: 0 }, () => [
y(e(me), {
renderer: e(n).slots.add
}, null, 8, ["renderer"])
]) : ge("", !0),
s.marker || e(n).slots.marker ? W(A.$slots, "marker", { key: 1 }, () => [
y(e(me), {
renderer: e(n).slots.marker
}, null, 8, ["renderer"])
]) : ge("", !0)
]),
_: 2
}, [
s.prefix || e(n).slots.prefix ? {
name: "prefix",
fn: X(() => [
W(A.$slots, "prefix", {}, () => [
y(e(me), {
renderer: e(n).slots.prefix
}, null, 8, ["renderer"])
])
]),
key: "0"
} : void 0,
s.suffix || e(n).slots.suffix ? {
name: "suffix",
fn: X(() => [
W(A.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(n).slots.suffix
}, null, 8, ["renderer"])
])
]),
key: "1"
} : void 0
]), 1032, ["active", "card", "align", "placement", "closable", "show-add"])
], 2),
oe("div", {
class: x({
[e(c).be("main")]: !0,
[e(c).bem("main", "transition")]: b.value
}),
onTransitionend: z[0] || (z[0] = (C) => b.value = !1)
}, [
W(A.$slots, "default")
], 34)
], 2));
}
}), ww = ft({
state: Zn,
locale: Mn(),
value: String,
placeholder: String,
rows: Number,
noResize: M,
autofocus: M,
spellcheck: M,
autocomplete: hn,
readonly: M,
disabled: M,
debounce: M,
delay: Number,
maxLength: Number,
hideCount: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
sync: M,
controlClass: Bn,
controlAttrs: Object,
name: String,
onFocus: B(),
onBlur: B(),
onInput: B(),
onChange: B(),
onEnter: B(),
onKeyDown: B(),
onKeyPress: B(),
onKeyUp: B(),
onCompositionStart: B(),
onCompositionEnd: B()
}), xw = ["id"], Sw = ["value", "rows", "autofocus", "autocomplete", "spellcheck", "disabled", "readonly", "placeholder", "maxlength", "name", "aria-labelledby"], Cw = /* @__PURE__ */ Xe({
name: "Textarea",
__name: "textarea",
props: ww,
emits: ["update:value"],
setup(t, { expose: r, emit: l }) {
const { idFor: a, state: n, labelId: o, disabled: s, loading: c, validateField: d, getFieldValue: p, setFieldValue: m } = al(() => {
var te;
return (te = A.value) == null ? void 0 : te.focus();
}), f = ct("textarea", t, {
state: ll(n),
locale: null,
value: {
default: () => p(),
static: !0
},
placeholder: null,
rows: 2,
noResize: !1,
autofocus: !1,
spellcheck: !1,
autocomplete: !1,
readonly: !1,
disabled: () => s.value,
debounce: !1,
delay: null,
maxLength: 0,
hideCount: !1,
loading: () => c.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
sync: !1,
controlClass: null,
controlAttrs: null,
name: {
default: "",
static: !0
}
}), u = l, h = Ye("textarea"), i = vn("input", qe(f, "locale")), v = Gt(), k = $(!1), w = $(f.value), T = $(f.value ? f.value.length : 0), F = $(!1), A = $();
let z = f.value;
const C = g(() => f.loading && f.loadingLock || f.readonly), E = g(() => ({
[h.b()]: !0,
[h.ns("input-vars")]: !0,
[h.bs("vars")]: !0,
[h.bm("inherit")]: f.inherit,
[h.bm("focused")]: k.value,
[h.bm("disabled")]: f.disabled,
[h.bm("readonly")]: C.value,
[h.bm("loading")]: f.loading,
[h.bm("no-resize")]: f.noResize,
[h.bm(f.state)]: f.state !== "default"
})), P = g(() => typeof f.autocomplete == "boolean" ? f.autocomplete ? "on" : "off" : f.autocomplete);
le(
() => f.value,
(te) => {
w.value = te, z = te, U();
}
), r({
idFor: a,
currentValue: w,
currentLength: T,
composing: F,
isReadonly: C,
textarea: A,
copyValue: q,
focus: (te) => {
var Ee;
return (Ee = A.value) == null ? void 0 : Ee.focus(te);
},
blur: () => {
var te;
return (te = A.value) == null ? void 0 : te.blur();
}
});
function R(te) {
k.value = !0, _(f.onFocus, te);
}
function L(te) {
k.value = !1, _(f.onBlur, te);
}
function I(te) {
const Ee = te.type;
if (F.value) {
if (Ee === "input") return;
F.value = !1;
}
if (w.value = te.target.value, U(), Ee === "change") {
if (z === w.value) return;
z = w.value, f.sync || (u("update:value", w.value), m(w.value)), _(f.onChange, w.value), f.sync || d();
} else
f.sync && (u("update:value", w.value), m(w.value)), _(f.onInput, w.value), f.sync && d();
}
function G() {
_(f.onEnter);
}
function ee(te) {
_(f.onKeyDown, te);
}
function O(te) {
_(f.onKeyPress, te);
}
function H(te) {
_(f.onKeyUp, te);
}
function U() {
let te = w.value;
if (Tt(te)) {
T.value = 0;
return;
}
const Ee = f.maxLength;
Ee && te.length > Ee && (te = te.slice(0, Ee)), T.value = te.length, w.value = te;
}
function q() {
const te = document.createElement("textarea");
te.style.height = "0", te.setAttribute("readonly", "readonly"), te.value = w.value, document.body.appendChild(te), te.select();
const Ee = document.execCommand("copy");
return document.body.removeChild(te), Ee;
}
const Z = rn(f.delay), K = f.debounce ? da(I, Z || 100) : Cl(I, Z || 16);
function we(te) {
F.value = !0, _(f.onCompositionStart, te);
}
function de(te) {
F.value && (F.value = !1, A.value && A.value.dispatchEvent(new Event("input"))), _(f.onCompositionStart, te);
}
return (te, Ee) => {
var Se, Ce;
return S(), D("div", {
id: e(a),
class: x(E.value),
onClick: Ee[1] || (Ee[1] = (fe) => {
var ot;
return (ot = A.value) == null ? void 0 : ot.focus();
})
}, [
oe("textarea", He(e(f).controlAttrs, {
ref_key: "textarea",
ref: A,
class: [e(h).be("control"), (Se = e(f).controlAttrs) == null ? void 0 : Se.class, e(f).controlClass],
value: w.value,
rows: e(f).rows,
autofocus: e(f).autofocus,
autocomplete: P.value,
spellcheck: e(f).spellcheck,
disabled: e(f).disabled,
readonly: C.value,
placeholder: e(f).placeholder ?? e(i).placeholder,
maxlength: e(f).maxLength > 0 ? e(f).maxLength : void 0,
name: e(f).name || ((Ce = e(f).controlAttrs) == null ? void 0 : Ce.name),
"aria-labelledby": e(o),
onBlur: L,
onFocus: R,
onKeyup: [
Kn(G, ["enter"]),
H
],
onKeypress: O,
onKeydown: ee,
onInput: Ee[0] || (Ee[0] = //@ts-ignore
(...fe) => e(K) && e(K)(...fe)),
onChange: I,
onCompositionstart: we,
onCompositionend: de
}), null, 16, Sw),
oe("div", {
class: x(e(h).be("extra"))
}, [
y(En, {
name: e(h).ns("fade"),
appear: ""
}, {
default: X(() => [
e(f).loading ? (S(), D("div", {
key: 0,
class: x(e(h).be("loading"))
}, [
y(e(Oe), He(e(v).loading, {
effect: e(f).loadingEffect || e(v).loading.effect,
icon: e(f).loadingIcon || e(v).loading.icon,
label: "loading"
}), null, 16, ["effect", "icon"])
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["name"]),
e(f).maxLength > 0 && !e(f).hideCount ? (S(), D("div", {
key: 0,
class: x(e(h).be("count"))
}, [
W(te.$slots, "count", { value: w.value }, () => [
dt(ze(e(f).maxLength === 1 / 0 ? T.value : `${T.value}/${e(f).maxLength}`), 1)
])
], 2)) : ge("", !0)
], 2)
], 10, xw);
};
}
});
let Tw = 1;
function $w() {
return Tw++;
}
const $r = /* @__PURE__ */ new Map();
let Ys, qs;
function Ew(t, r) {
$r.set(t, r), $r.size && !qs && (clearInterval(Ys), Ys = setInterval(() => {
qs = !0;
const l = Date.now();
$r.forEach((a) => {
a.interval && l - a.updated > a.interval && (a.timeAgo.value = Gs(
a.datetime,
l,
a.locale.value,
a.wordSpace.value
), a.updated = l);
});
}, 5e3));
}
function Aw(t) {
$r.delete(t), $r.size || (clearInterval(Ys), qs = !1);
}
function Gs(t, r, l, a) {
const n = Math.abs(r - t.getTime()), o = r > t.getTime() ? l.ago : l.late;
let s, c, d = !1;
return n < 10 * Ea ? (s = l.justNow, d = !0) : n < Yi ? (s = l.second, c = Math.floor(n / Ea)) : n < qi ? (s = l.minute, c = Math.floor(n / Yi)) : n < Da ? (s = l.hour, c = Math.floor(n / qi)) : n < 30 * Da ? (c = Math.floor(n / Da), c === 1 ? (s = l.yesterday, d = !0) : s = l.days) : n < 365 * Da ? (c = Math.floor(n / (30 * Da)), c === 1 ? (s = l.lastMonth, d = !0) : s = l.months) : (c = Math.floor(n / 365 / Da), c === 1 ? (s = l.lastYear, d = !0) : s = l.years), d ? s : nr(`${uo(s, c)} ${o}`, a);
}
const Rw = ft({
locale: Mn(),
datetime: [String, Number, Date],
interval: La,
title: hn,
titleFormat: String
}), Mw = ["title"], Pw = /* @__PURE__ */ Xe({
name: "TimeAgo",
__name: "time-ago",
props: Rw,
setup(t, { expose: r }) {
const a = ct("timeAgo", t, {
locale: null,
datetime: {
default: () => Date.now(),
static: !0
},
interval: {
default: !1,
validator: (h) => typeof h == "boolean" || h >= 1
},
title: !1,
titleFormat: "yyyy-MM-dd HH:mm:ss"
}), n = Ye("time-ago"), o = u(a.datetime), s = vn("timeAgo", qe(a, "locale")), c = Vo(), d = $(Gs(o, Date.now(), s.value, c.value)), p = $w(), m = {
datetime: o,
timeAgo: d,
locale: s,
wordSpace: c,
interval: f(a.interval),
updated: Date.now()
}, b = g(() => {
if (a.title)
return typeof a.title == "string" ? a.title : zc(a.datetime, a.titleFormat);
});
Ew(p, m), le(
() => a.datetime,
(h) => {
m.datetime = u(h), d.value = Gs(o, Date.now(), s.value, c.value);
}
), le(
() => a.interval,
(h) => {
m.interval = f(h);
}
), pn(() => {
Aw(p);
});
function f(h) {
return h && (h === !0 ? 1e4 : h * 1e3);
}
function u(h) {
return typeof h == "string" && (h = h.replace(/-/g, "/")), gl(h);
}
return r({ timeAgo: d }), (h, i) => (S(), D("span", {
class: x([e(n).b(), e(a).inherit && e(n).bm("inherit")]),
title: b.value
}, ze(d.value), 11, Mw));
}
}), zw = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], Lw = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], Fw = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], lc = /* @__PURE__ */ Xe({
name: "TimeControl",
__name: "time-control",
props: {
unitType: {
type: String,
default: ""
},
enabled: {
type: Object,
default: () => ({})
},
activated: {
type: Object,
default: () => ({})
},
timeValue: {
type: Object,
default: () => ({})
},
separator: {
type: String,
default: ":"
},
visible: {
type: Boolean,
default: !1
},
focused: {
type: Boolean,
default: !1
},
filler: {
type: String,
default: "-",
validator: (t) => t.length === 1
},
steps: {
type: Array,
default: () => [1, 1, 1]
},
ctrlSteps: {
type: Array,
default: () => [5, 5, 5]
},
labels: {
type: Object,
default: () => ({})
},
hasError: {
type: Boolean,
default: !1
},
placeholder: {
type: String,
default: ""
},
readonly: {
type: Boolean,
default: !1
},
labeledBy: {
type: String,
default: void 0
},
locale: {
type: Object,
default: () => ({})
}
},
emits: [
"input",
"plus",
"minus",
"enter",
"cancel",
"unit-focus",
"unit-blur",
"prev-unit",
"next-unit",
"blur"
],
setup(t, { expose: r, emit: l }) {
const a = t, n = l, o = Ye("time-picker"), s = $(), c = g(() => a.locale.ariaLabel ?? {}), d = g(() => Object.keys(a.enabled).every((T) => !a.enabled[T] || a.activated[T])), p = g(() => f("hour")), m = g(() => f("minute")), b = g(() => f("second"));
r({
isActivated: d,
wrapper: s,
focus: () => {
var T;
(T = s.value) == null || T.focus();
},
blur: () => {
var T;
(T = s.value) == null || T.blur();
}
});
function f(T) {
return a.activated[T] ? ol(a.timeValue[T]) : `${a.filler}${a.filler}`;
}
function u(T) {
return a.visible && a.unitType === T ? o.bem("unit", "focused") : null;
}
function h(T) {
a.readonly || n("unit-focus", T);
}
function i(T) {
if (!a.visible) return;
const F = _d(T);
if (a.readonly) {
switch (F) {
case "ok": {
n("enter");
break;
}
case "esc": {
n("cancel");
break;
}
}
return;
}
switch (F) {
case "next": {
n("next-unit");
break;
}
case "prev": {
n("prev-unit");
break;
}
case "up": {
n("minus", T.ctrlKey);
break;
}
case "down": {
n("plus", T.ctrlKey);
break;
}
case "ok": {
v();
break;
}
case "esc": {
k();
break;
}
default:
typeof F == "number" && n("input", F);
}
}
function v() {
n("enter");
}
function k() {
n("cancel");
}
function w() {
n("blur");
}
return (T, F) => (S(), D("div", {
ref_key: "wrapper",
ref: s,
class: x([e(o).be("input"), t.hasError && e(o).bem("input", "error")]),
role: "none",
tabindex: "-1",
onKeydown: i,
onBlur: w
}, [
!t.focused && !d.value ? (S(), D("div", {
key: 0,
class: x(e(o).be("placeholder"))
}, ze(t.placeholder), 3)) : (S(), D(st, { key: 1 }, [
t.enabled.hour ? (S(), D("div", {
key: 0,
class: x([e(o).be("unit"), u("hour")]),
role: "spinbutton",
"aria-label": c.value.hour,
"aria-valuenow": a.timeValue.hour,
"aria-valuetext": p.value,
"aria-valuemin": 0,
"aria-valuemax": 23,
"aria-labelledby": t.labeledBy,
onClick: F[0] || (F[0] = (A) => h("hour"))
}, ze(p.value), 11, zw)) : ge("", !0),
t.labels.hour ? (S(), D("div", {
key: 1,
class: x(e(o).be("label")),
"aria-hidden": "",
onClick: F[1] || (F[1] = (A) => h("hour"))
}, ze(t.labels.hour), 3)) : ge("", !0),
t.enabled.minute ? (S(), D(st, { key: 2 }, [
t.enabled.hour ? (S(), D("div", {
key: 0,
class: x(e(o).be("separator")),
"aria-hidden": ""
}, ze(t.separator), 3)) : ge("", !0),
oe("div", {
class: x([e(o).be("unit"), u("minute")]),
role: "spinbutton",
"aria-label": c.value.minute,
"aria-valuenow": a.timeValue.minute,
"aria-valuetext": m.value,
"aria-valuemin": 0,
"aria-valuemax": 59,
"aria-labelledby": t.labeledBy,
onClick: F[2] || (F[2] = (A) => h("minute"))
}, ze(m.value), 11, Lw),
t.labels.minute ? (S(), D("div", {
key: 1,
class: x(e(o).be("label")),
"aria-hidden": "",
onClick: F[3] || (F[3] = (A) => h("minute"))
}, ze(t.labels.minute), 3)) : ge("", !0)
], 64)) : ge("", !0),
t.enabled.second ? (S(), D(st, { key: 3 }, [
t.enabled.minute || t.enabled.hour ? (S(), D("div", {
key: 0,
class: x(e(o).be("separator")),
"aria-hidden": ""
}, ze(t.separator), 3)) : ge("", !0),
oe("div", {
class: x([e(o).be("unit"), u("second")]),
role: "spinbutton",
"aria-label": c.value.second,
"aria-valuenow": a.timeValue.second,
"aria-valuetext": b.value,
"aria-valuemin": 0,
"aria-valuemax": 59,
"aria-labelledby": t.labeledBy,
onClick: F[4] || (F[4] = (A) => h("second"))
}, ze(b.value), 11, Fw),
t.labels.second ? (S(), D("div", {
key: 1,
class: x(e(o).be("label")),
"aria-hidden": "",
onClick: F[5] || (F[5] = (A) => h("second"))
}, ze(t.labels.second), 3)) : ge("", !0)
], 64)) : ge("", !0)
], 64))
], 34));
}
}), Iw = ["id", "aria-disabled", "aria-expanded", "aria-labelledby"], Nw = ["onKeydown"], Dw = ["aria-label"], Ow = ["aria-labelledby"], _w = ["title", "onClick"], Bw = /* @__PURE__ */ Xe({
name: "TimePicker",
__name: "time-picker",
props: _0,
emits: ["update:value", "update:visible"],
setup(t, { expose: r, emit: l }) {
const {
idFor: a,
labelId: n,
state: o,
disabled: s,
loading: c,
size: d,
validateField: p,
clearField: m,
getFieldValue: b,
setFieldValue: f
} = al(() => {
var $e;
return ($e = U.value) == null ? void 0 : $e.focus();
}), u = Ye("time-picker"), i = ct("timePicker", t, {
size: On(d),
state: ll(o),
locale: null,
visible: !1,
placement: {
default: "bottom-start",
validator: ($e) => Wl.includes($e)
},
transfer: !1,
format: "HH:mm:ss",
separator: ":",
value: {
default: () => b(),
static: !0
},
filler: {
default: "-",
validator: ($e) => $e.length === 1
},
clearable: !1,
noAction: !1,
noArrow: !1,
pointer: wl,
candidate: {
default: 3,
validator: ($e) => [0, 1, 2, 3].includes($e)
},
steps: () => [1, 1, 1],
labels: () => ({}),
shortcuts: () => [],
range: null,
disabled: () => s.value,
transitionName: () => u.ns("drop"),
confirmText: null,
cancelText: null,
ctrlSteps: () => [5, 5, 5],
prefix: en(),
prefixColor: "",
suffix: en(),
suffixColor: "",
noSuffix: !1,
exchange: !1,
loading: () => c.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
min: null,
max: null,
outsideClose: !0,
outsideCancel: !1,
placeholder: null,
unitReadonly: !1,
popperAlive: null,
shortcutsPlacement: "left",
slots: () => ({})
}), v = l, k = kn(), w = vn("timePicker", qe(i, "locale")), T = Gt(), F = Vo(), A = qe(i, "placement"), z = qe(i, "transfer"), C = $(i.visible), E = $(!1), P = $(""), R = J(), L = J(), I = $("start"), G = $(!1), { timer: ee } = Vn(), O = Hl(Vt), H = $(), { reference: U, transferTo: q, updatePopper: Z } = Kl({
placement: A,
transfer: z,
wrapper: O,
popper: g(() => {
var $e;
return ($e = H.value) == null ? void 0 : $e.wrapper;
}),
isDrop: !0
}), { isHover: K } = Ql(U), { isTimeDisabled: we } = Ks(qe(i, "min"), qe(i, "max")), de = $(), te = $(), Ee = g(() => {
if (i.placeholder)
return Array.isArray(i.placeholder) ? i.placeholder[0] : i.placeholder;
const { select: $e, start: et, time: vt } = w.value.placeholder;
return nr(i.range ? `${et} ${vt}` : `${$e} ${vt}`, F.value);
}), Se = g(() => {
if (i.placeholder)
return Array.isArray(i.placeholder) ? i.placeholder[1] || i.placeholder[0] : i.placeholder;
const { end: $e, time: et } = w.value.placeholder;
return nr(`${$e} ${et}`, F.value);
}), Ce = g(() => [
u.b(),
u.ns("input-vars"),
u.bs("vars"),
{
[u.bm("inherit")]: i.inherit,
[u.bm("disabled")]: i.disabled,
[u.bm(i.size)]: i.size !== "default",
[u.bm("no-hour")]: !R.enabled.hour,
[u.bm("no-minute")]: !R.enabled.minute,
[u.bm("no-second")]: !R.enabled.second,
[u.bm("visible")]: C.value,
[u.bm(i.state)]: i.state !== "default",
[u.bm("is-range")]: i.range
}
]), fe = g(() => i.loading && i.loadingLock), ot = g(() => {
const $e = u.be("selector");
return {
[$e]: !0,
[`${$e}--disabled`]: i.disabled,
[`${$e}--readonly`]: fe.value,
[`${$e}--loading`]: i.loading,
[`${$e}--${i.size}`]: i.size !== "default",
[`${$e}--focused`]: E.value,
[`${$e}--${i.state}`]: i.state !== "default"
};
}), Ze = g(() => !!(k.prefix || i.prefix || i.slots.prefix)), Je = g(() => {
const $e = [R, L].map((et) => Object.values(et.timeValue).map(ol).join(":"));
return i.range ? $e : $e[0];
}), se = g(() => !i.disabled && !fe.value && i.clearable && K.value && !!P.value), ne = g(() => {
const { hour: $e, minute: et, second: vt } = R.timeValue;
return we.hour($e) || we.minute($e, et) || we.second($e, et, vt);
}), ue = g(() => {
if (!i.range) return !1;
const { hour: $e, minute: et, second: vt } = L.timeValue;
return we.hour($e) || we.minute($e, et) || we.second($e, et, vt);
});
le(
() => i.value,
($e) => {
j($e), P.value = (Array.isArray($e) ? $e[0] || $e[1] : $e) ? re() : "";
},
{ immediate: !0 }
), le(() => i.format, ae, { immediate: !0 }), le(
() => i.visible,
($e) => {
C.value = $e;
}
), le(C, ($e) => {
$e && Z();
}), le(E, ($e) => {
_($e ? i.onFocus : i.onBlur);
}), le(I, ($e) => {
!i.unitReadonly && C.value && _(i.onChangeCol, N().column, $e);
}), le(
() => R.column,
($e) => {
!i.unitReadonly && C.value && I.value === "start" && _(i.onChangeCol, $e, "start");
}
), le(
() => L.column,
($e) => {
!i.unitReadonly && C.value && I.value === "end" && _(i.onChangeCol, $e, "end");
}
), le(
() => i.disabled,
($e) => {
$e && (Pe(!1), Nt());
}
), le(fe, ($e) => {
$e && Pe(!1);
}), r({
idFor: a,
isHover: K,
currentVisible: C,
focused: E,
startState: R,
endState: L,
currentState: I,
currentValue: Je,
startError: ne,
endError: ue,
wrapper: O,
reference: U,
popper: H,
start: de,
end: te,
updatePopper: Z,
focus: ($e) => {
var et;
return (et = U.value) == null ? void 0 : et.focus($e);
},
blur: () => {
var $e;
return ($e = U.value) == null ? void 0 : $e.blur();
}
});
function J() {
const { currentColumn: $e, enabled: et, resetColumn: vt, enterColumn: an } = Bd([
"hour",
"minute",
"second"
]), Rn = pt({
hour: 0,
minute: 0,
second: 0
}), wn = pt({
hour: !1,
minute: !1,
second: !1
});
return pt({
column: $e,
enabled: et,
activated: wn,
timeValue: Rn,
resetColumn: vt,
enterColumn: an
});
}
function N() {
return I.value === "start" ? R : L;
}
function j($e) {
Array.isArray($e) || ($e = [$e, $e]);
const et = /* @__PURE__ */ new Date();
for (let vt = 0; vt < 2; ++vt) {
const an = b0.exec($e[vt] || ""), Rn = vt === 0 ? R : L, { timeValue: wn } = Rn;
if (an) {
be(!0, vt === 0 ? "start" : "end");
const Te = parseInt(an[1]), Y = an[2] ? parseInt(an[2].slice(1)) : 0, ke = an[3] ? parseInt(an[3].slice(1)) : 0, xe = new Date(2e3, 1, 1, Te, Y, ke);
wn.hour = xe.getHours(), wn.minute = xe.getMinutes(), wn.second = xe.getSeconds();
} else
wn.hour = et.getHours(), wn.minute = et.getMinutes(), wn.second = et.getSeconds(), be(!1, vt === 0 ? "start" : "end");
if (!i.range) break;
}
}
function ae() {
[R, L].forEach(($e) => {
$e.enabled.hour = i.format.includes("H"), $e.enabled.minute = i.format.includes("m"), $e.enabled.second = i.format.includes("s");
});
}
function be($e, et) {
(et ? et === "start" ? [R] : [L] : [R, L]).forEach((an) => {
Object.keys(an.activated).forEach((Rn) => {
an.activated[Rn] = $e;
});
});
}
function re() {
return Array.isArray(Je.value) ? Je.value.join("|") : Je.value;
}
function ce() {
(ne.value || i.range && ue.value) && j(i.value);
}
function Pe($e) {
C.value !== $e && (C.value = $e, v("update:visible", $e), _(i.onToggle, $e));
}
function at() {
ce(), P.value !== re() && (P.value = re(), be(!0), v("update:value", Je.value), f(Je.value), _(i.onChange, Je.value), p());
}
function yt() {
i.disabled || (E.value = !0, ee.focus = setTimeout(() => {
var $e, et;
E.value && (I.value === "start" ? ($e = de.value) == null || $e.focus() : (et = te.value) == null || et.focus());
}, 120));
}
function Nt() {
var $e, et;
clearTimeout(ee.focus), E.value = !1, ($e = de.value) == null || $e.blur(), (et = te.value) == null || et.blur();
}
function Mt($e) {
if (i.disabled || fe.value) return;
const et = $e.target;
Pe(!0), yt(), O.value && et && (Array.from(O.value.querySelectorAll(`.${u.be("unit")}`)).some((an) => an === et || an.contains(et)) || (R.column = null, L.column = null));
}
function Ht($e = !0) {
Pe(!1), $e && at(), R.resetColumn(), L.resetColumn();
}
function _t($e = !0) {
i.disabled || fe.value || i.clearable && kt(() => {
const et = i.range ? [] : "";
j(null), $e && Ht(!1), v("update:value", et), _(i.onChange, et), _(i.onClear), m(et), $e && Nt(), P.value = "", kt(() => {
be(!1);
});
});
}
function tn($e) {
C.value && (N().activated[$e] = !0);
}
function Wt($e) {
N().column = $e;
}
function un($e) {
const et = N(), vt = et.column;
vt && (qt(vt, $e), et.column !== "second" && et.timeValue[vt] >= 10 && et.enterColumn("next", !1));
}
function qt($e, et) {
const vt = N(), an = vt.timeValue[$e];
vt.activated[$e] && an > 0 && an < 10 ? vt.timeValue[$e] = an * 10 + et : vt.timeValue[$e] = et, pe($e), vt.activated[$e] = !0, _(i.onInput, $e, vt.timeValue[$e]);
}
function pe($e) {
const et = N().timeValue;
et[$e] = cn(et[$e], 0, $e === "hour" ? 23 : 59), et[$e] = Math.round(et[$e] / Fe($e)) * Fe($e);
}
function Re($e) {
const et = N(), vt = et.column;
vt && et.enabled[vt] && (et.timeValue[vt] += $e ? lt(vt) : Fe(vt), pe(vt), _(i.onPlus, vt, et.timeValue[vt]));
}
function he($e) {
const et = N(), vt = et.column;
vt && et.enabled[vt] && (et.timeValue[vt] -= $e ? lt(vt) : Fe(vt), pe(vt), _(i.onMinus, vt, et.timeValue[vt]));
}
function Fe($e) {
return i.steps[$e === "hour" ? 0 : $e === "minute" ? 1 : 2] || 1;
}
function lt($e) {
return i.ctrlSteps[$e === "hour" ? 0 : $e === "minute" ? 1 : 2] || 1;
}
function Ke() {
requestAnimationFrame(() => {
var $e;
Nt(), ($e = U.value) == null || $e.focus();
});
}
function Ct() {
Ke(), Ht(), _(i.onEnter);
}
function ve() {
Ke(), j(i.value), Ht(!1), _(i.onCancel);
}
function Ve($e) {
const { value: et, name: vt } = i.shortcuts[$e], an = vl(et);
Ke(), j(an), _(i.onShortcut, vt, an), Ht();
}
function Ie($e) {
I.value = $e;
}
function Me($e) {
if (i.range) {
$e === "prev" && I.value === "start" && !R.column && Ie("end");
const et = N(), vt = et.column;
if (et.enterColumn($e, !vt), vt === et.column) {
const an = I.value === "start";
(an ? L : R).resetColumn($e === "prev" ? "second" : "hour", $e === "prev"), Ie(an ? "end" : "start");
}
} else
R.enterColumn($e);
}
function Ge($e) {
Ie("start"), Wt($e);
}
function mt($e) {
Ie("end"), Wt($e);
}
function bt() {
Object.keys(R.timeValue).forEach(($e) => {
const et = L.timeValue[$e];
L.timeValue[$e] = R.timeValue[$e], R.timeValue[$e] = et;
});
}
function Ot($e) {
i.exchange && (!C.value && $e.stopPropagation(), bt());
}
function Vt() {
_(i.onClickOutside), i.outsideClose && C.value && (Ht(!i.outsideCancel), Nt(), _(i.onOutsideClose));
}
return ($e, et) => (S(), D("div", {
id: e(a),
ref_key: "wrapper",
ref: O,
class: x(Ce.value),
role: "group",
"aria-disabled": e(fl)(e(i).disabled),
"aria-expanded": e(fl)(C.value),
"aria-haspopup": "dialog",
"aria-labelledby": e(n),
onClick: Mt
}, [
oe("div", {
ref_key: "reference",
ref: U,
class: x(ot.value),
tabindex: "0",
onKeydown: [
Kn(gt(Mt, ["prevent"]), ["space"]),
et[7] || (et[7] = Kn(gt((vt) => _t(!1), ["prevent"]), ["backspace"]))
]
}, [
Ze.value ? (S(), D("div", {
key: 0,
class: x([e(u).be("icon"), e(u).be("prefix")]),
style: Qe({ color: e(i).prefixColor })
}, [
W($e.$slots, "prefix", {}, () => [
y(e(me), {
renderer: e(i).slots.prefix
}, {
default: X(() => [
y(e(Oe), {
icon: e(i).prefix
}, null, 8, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
], 6)) : ge("", !0),
oe("div", {
class: x(e(u).be("control"))
}, [
y(lc, {
ref_key: "startInput",
ref: de,
"unit-type": I.value === "start" ? e(R).column : "",
enabled: e(R).enabled,
activated: e(R).activated,
"time-value": e(R).timeValue,
steps: e(i).steps,
"ctrl-steps": e(i).ctrlSteps,
focused: E.value,
visible: C.value,
separator: e(i).separator,
filler: e(i).filler,
labels: e(i).labels,
"has-error": ne.value,
placeholder: Ee.value,
readonly: e(i).unitReadonly,
"labeled-by": e(n),
locale: e(w),
onInput: un,
onPlus: Re,
onMinus: he,
onEnter: Ct,
onCancel: ve,
onUnitFocus: Ge,
onPrevUnit: et[0] || (et[0] = (vt) => Me("prev")),
onNextUnit: et[1] || (et[1] = (vt) => Me("next")),
onBlur: et[2] || (et[2] = (vt) => e(R).column = null)
}, null, 8, ["unit-type", "enabled", "activated", "time-value", "steps", "ctrl-steps", "focused", "visible", "separator", "filler", "labels", "has-error", "placeholder", "readonly", "labeled-by", "locale"]),
e(i).range ? (S(), D(st, { key: 0 }, [
oe("div", {
class: x([e(u).be("exchange"), e(i).exchange ? e(u).bem("exchange", "enabled") : ""]),
onClick: Ot
}, [
W($e.$slots, "exchange", {}, () => [
y(e(me), {
renderer: e(i).slots.exchange
}, {
default: X(() => [
y(e(Oe), He(e(T).exchange, { style: { "padding-top": "1px" } }), null, 16)
]),
_: 1
}, 8, ["renderer"])
])
], 2),
y(lc, {
ref_key: "endInput",
ref: te,
"unit-type": I.value === "end" ? e(L).column : "",
enabled: e(L).enabled,
activated: e(L).activated,
"time-value": e(L).timeValue,
steps: e(i).steps,
"ctrl-steps": e(i).ctrlSteps,
focused: E.value,
visible: C.value,
separator: e(i).separator,
filler: e(i).filler,
labels: e(i).labels,
"has-error": ue.value,
placeholder: Se.value,
readonly: e(i).unitReadonly,
"labeled-by": e(n),
locale: e(w),
onInput: un,
onPlus: Re,
onMinus: he,
onEnter: Ct,
onCancel: ve,
onUnitFocus: mt,
onPrevUnit: et[3] || (et[3] = (vt) => Me("prev")),
onNextUnit: et[4] || (et[4] = (vt) => Me("next")),
onBlur: et[5] || (et[5] = (vt) => e(L).column = null)
}, null, 8, ["unit-type", "enabled", "activated", "time-value", "steps", "ctrl-steps", "focused", "visible", "separator", "filler", "labels", "has-error", "placeholder", "readonly", "labeled-by", "locale"])
], 64)) : ge("", !0)
], 2),
e(i).noSuffix ? e(i).clearable || e(i).loading ? (S(), D("div", {
key: 2,
class: x([e(u).be("icon"), e(u).bem("icon", "placeholder"), e(u).be("suffix")])
}, null, 2)) : ge("", !0) : (S(), D("div", {
key: 1,
class: x([e(u).be("icon"), e(u).be("suffix")]),
style: Qe({
color: e(i).suffixColor,
opacity: se.value || e(i).loading ? "0%" : ""
})
}, [
W($e.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(i).slots.suffix
}, {
default: X(() => [
y(e(Oe), He(e(T).clock, {
icon: e(i).suffix || e(T).clock.icon
}), null, 16, ["icon"])
]),
_: 1
}, 8, ["renderer"])
])
], 6)),
y(En, {
name: e(u).ns("fade"),
appear: ""
}, {
default: X(() => [
se.value ? (S(), D("button", {
key: 0,
class: x([e(u).be("icon"), e(u).be("clear")]),
type: "button",
tabindex: "-1",
"aria-label": e(w).ariaLabel.clear,
onClick: et[6] || (et[6] = gt((vt) => _t(), ["stop"]))
}, [
y(e(Oe), It(Yt(e(T).clear)), null, 16)
], 10, Dw)) : e(i).loading ? (S(), D("div", {
key: 1,
class: x([e(u).be("icon"), e(u).be("loading")])
}, [
y(e(Oe), He(e(T).loading, {
effect: e(i).loadingEffect || e(T).loading.effect,
icon: e(i).loadingIcon || e(T).loading.icon
}), null, 16, ["effect", "icon"])
], 2)) : ge("", !0)
]),
_: 1
}, 8, ["name"])
], 42, Nw),
y(e(Xl), {
ref_key: "popper",
ref: H,
class: x([e(u).be("popper"), e(u).bs("vars")]),
visible: C.value,
to: e(q),
transition: e(i).transitionName,
alive: e(i).popperAlive ?? !e(q),
onClick: gt(yt, ["stop"]),
onBeforeEnter: et[16] || (et[16] = (vt) => G.value = !0),
onBeforeLeave: et[17] || (et[17] = (vt) => G.value = !0),
onAfterEnter: et[18] || (et[18] = (vt) => G.value = !1),
onAfterLeave: et[19] || (et[19] = (vt) => G.value = !1)
}, {
default: X(() => [
oe("div", {
class: x({
[e(u).be("panel")]: !0,
[e(u).bem("panel", "vertical")]: e(i).shortcuts.length && (e(i).shortcutsPlacement === "top" || e(i).shortcutsPlacement === "bottom")
}),
"aria-labelledby": e(n)
}, [
e(i).shortcuts.length ? (S(), D("div", {
key: 0,
class: x([
e(u).be("list"),
e(u).bem("list", "sub"),
e(u).be("shortcuts"),
e(u).bem("shortcuts", e(i).shortcutsPlacement)
])
}, [
(S(!0), D(st, null, ln(e(i).shortcuts, (vt, an) => (S(), D("div", {
key: an,
class: x(e(u).be("shortcut")),
title: vt.name,
onClick: (Rn) => Ve(an)
}, ze(vt.name), 11, _w))), 128))
], 2)) : ge("", !0),
oe("div", {
class: x(e(u).be("list"))
}, [
oe("div", {
class: x(e(u).be("wheels"))
}, [
y(Io, {
hour: e(R).timeValue.hour,
"onUpdate:hour": et[8] || (et[8] = (vt) => e(R).timeValue.hour = vt),
minute: e(R).timeValue.minute,
"onUpdate:minute": et[9] || (et[9] = (vt) => e(R).timeValue.minute = vt),
second: e(R).timeValue.second,
"onUpdate:second": et[10] || (et[10] = (vt) => e(R).timeValue.second = vt),
"no-arrow": e(i).noArrow,
candidate: e(i).candidate,
steps: e(i).steps,
pointer: e(i).pointer,
"disabled-time": e(we),
"no-transition": G.value,
onChange: tn,
onToggleCol: et[11] || (et[11] = (vt) => Ie("start"))
}, null, 8, ["hour", "minute", "second", "no-arrow", "candidate", "steps", "pointer", "disabled-time", "no-transition"]),
e(i).range ? (S(), Be(Io, {
key: 0,
hour: e(L).timeValue.hour,
"onUpdate:hour": et[12] || (et[12] = (vt) => e(L).timeValue.hour = vt),
minute: e(L).timeValue.minute,
"onUpdate:minute": et[13] || (et[13] = (vt) => e(L).timeValue.minute = vt),
second: e(L).timeValue.second,
"onUpdate:second": et[14] || (et[14] = (vt) => e(L).timeValue.second = vt),
"no-arrow": e(i).noArrow,
candidate: e(i).candidate,
steps: e(i).steps,
pointer: e(i).pointer,
"disabled-time": e(we),
"no-transition": G.value,
onChange: tn,
onToggleCol: et[15] || (et[15] = (vt) => Ie("end"))
}, null, 8, ["hour", "minute", "second", "no-arrow", "candidate", "steps", "pointer", "disabled-time", "no-transition"])) : ge("", !0)
], 2),
e(i).noAction ? ge("", !0) : (S(), D("div", {
key: 0,
class: x(e(u).be("action"))
}, [
y(e(Hn), {
inherit: "",
text: "",
size: "small",
onClick: gt(ve, ["stop"])
}, {
default: X(() => [
dt(ze(e(i).cancelText || e(w).cancel), 1)
]),
_: 1
}),
y(e(Hn), {
inherit: "",
type: "primary",
size: "small",
disabled: ne.value || ue.value,
onClick: gt(Ct, ["stop"])
}, {
default: X(() => [
dt(ze(e(i).confirmText || e(w).confirm), 1)
]),
_: 1
}, 8, ["disabled"])
], 2))
], 2)
], 10, Ow)
]),
_: 1
}, 8, ["class", "visible", "to", "transition", "alive"])
], 10, Iw));
}
}), Hw = ft({
pending: M,
dashed: M,
lineColor: String,
spacing: [Number, String],
flip: M,
horizontal: M,
alternate: M,
onSignalClick: B()
}), Vw = ft({
type: String,
color: String,
label: [Number, String],
dashed: M,
lineColor: String,
spacing: [Number, String],
onSignalClick: B()
}), bf = "__VXP_TIMELINE_STATE", ac = Object.freeze([
"primary",
"info",
"success",
"error",
"warning",
"disabled"
]), jw = /* @__PURE__ */ Xe({
name: "Timeline",
__name: "timeline",
props: Hw,
setup(t, { expose: r }) {
const a = ct("timeline", t, {
pending: !1,
dashed: !1,
lineColor: null,
spacing: null,
flip: !1,
horizontal: !1,
alternate: !1
}), n = Ye("timeline"), o = pt(/* @__PURE__ */ new Set()), s = g(() => ({
[n.b()]: !0,
[n.bs("vars")]: !0,
[n.bm("inherit")]: a.inherit,
[n.bm("pending")]: a.pending,
[n.bm("alternate")]: a.alternate,
[n.bm("flip")]: a.flip,
[n.bm("horizontal")]: a.horizontal
})), c = g(() => Math.max(...Array.from(o).map((u) => u.height)) * 2);
r({ itemStates: o });
const d = Ln(() => {
const u = o.size;
Array.from(o).forEach((h, i) => {
h.index = i + 1, h.total = u, Tt(h.label) && (h.label = i + 1);
});
}), p = pt({
dashed: qe(a, "dashed"),
lineColor: qe(a, "lineColor"),
spacing: qe(a, "spacing"),
alternate: qe(a, "alternate"),
horizontal: qe(a, "horizontal"),
increaseItem: m,
decreaseItem: b,
handleSignalClick: f
});
nn(bf, p);
function m(u) {
o.add(u), d();
}
function b(u) {
o.delete(u), d();
}
function f(u) {
_(a.onSignalClick, u);
}
return (u, h) => (S(), D("div", {
class: x(s.value),
style: Qe({ height: e(a).horizontal && e(a).alternate ? `${c.value}px` : void 0 })
}, [
W(u.$slots, "default")
], 6));
}
}), Ww = /* @__PURE__ */ Xe({
name: "TimelineItem",
__name: "timeline-item",
props: Vw,
setup(t, { expose: r }) {
const a = ct("timelineItem", t, {
type: {
default: "primary",
validator: (f) => ac.includes(f)
},
color: "",
label: {
default: null,
static: !0
},
dashed: null,
lineColor: null,
spacing: null
}), n = Et(bf, null), o = Ye("timeline"), s = $(a.label), c = $(), d = g(() => ({
[o.be("item")]: !0,
[o.bem("item", a.type)]: ac.includes(a.type)
})), p = g(() => {
const f = a.spacing || a.spacing === 0 ? a.spacing : n == null ? void 0 : n.spacing, u = {
[o.cv("item-span")]: typeof f == "number" ? `${f}px` : f
};
return a.color && (u[o.cv("pointer-color")] = a.color, u[o.cv("pointer-b-color")] = a.color), u;
}), m = g(() => {
const f = a.dashed ?? (n == null ? void 0 : n.dashed) ?? !1, u = a.lineColor ?? (n == null ? void 0 : n.lineColor);
return {
borderInlineStartStyle: f ? "dashed" : void 0,
borderInlineStartColor: u
};
});
if (r({ currentLabel: s, content: c }), n) {
let f = function() {
requestAnimationFrame(() => {
n != null && n.horizontal && c.value && (u.height = c.value.scrollHeight);
});
};
const u = pt({
label: s,
index: 0,
total: 0,
height: 0
});
n.increaseItem(u), le(() => n.alternate, f), le(() => n.horizontal, f), sn(f), Qs(f), pn(() => {
n.decreaseItem(u);
});
}
function b() {
_(a.onSignalClick, s.value), n == null || n.handleSignalClick(s.value);
}
return (f, u) => (S(), D("div", {
class: x(d.value),
style: Qe(p.value)
}, [
oe("div", {
class: x(e(o).be("signal")),
onClick: b
}, [
W(f.$slots, "signal", {}, () => [
oe("div", {
class: x(e(o).be("pointer"))
}, null, 2)
])
], 2),
oe("div", {
class: x(e(o).be("line")),
style: Qe(m.value)
}, [
W(f.$slots, "line")
], 6),
oe("div", {
ref_key: "content",
ref: c,
class: x(e(o).be("content"))
}, [
W(f.$slots, "default")
], 2)
], 6));
}
}), Kw = ft({
bodyWidth: Number,
icon: Xt,
iconProps: Object,
position: String,
transitionName: String,
closable: M,
maskClose: M,
showMask: M,
maskClass: Bn,
maskStyle: kl,
parseHtml: M,
renderer: Function
}), rc = Object.freeze(["success", "warning", "error", "loading"]), Uw = ["innerHTML"], oc = /* @__PURE__ */ Xe({
name: "Toast",
__name: "toast",
props: Kw,
setup(t, { expose: r }) {
const l = Ye("toast"), n = ct("toast", t, {
bodyWidth: 100,
icon: en(),
iconProps: () => ({}),
position: "center",
transitionName: () => l.ns("ease"),
closable: !1,
maskClose: !1,
showMask: !1,
maskClass: null,
maskStyle: null,
renderer: {
default: null,
isFunc: !0,
static: !0
},
parseHtml: !1
}), o = Or(), s = Gt(), c = g(() => ({
success: s.value.success,
warning: s.value.warning,
error: s.value.error,
loading: s.value.loading
})), d = pt({
visible: !1,
zIndex: 0,
type: null,
content: "",
icon: n.icon,
iconProps: n.iconProps,
position: n.position,
transition: n.transitionName,
closable: n.closable,
maskClose: n.maskClose,
showMask: n.showMask,
maskClass: n.maskClass,
maskStyle: n.maskStyle,
parseHtml: n.parseHtml,
textOnly: !1,
renderer: n.renderer,
onClose: null
}), p = new Promise((i) => {
sn(() => {
kt(i);
});
});
r({ state: d, openToast: m, closeToast: b, handleReset: f });
async function m(i) {
if (await p, d.zIndex = o(), d.type = i.type ?? null, d.content = i.content ?? "", d.icon = i.icon ?? n.icon, d.iconProps = i.iconProps ?? n.iconProps, d.position = i.position ?? n.position, d.transition = i.transitionName ?? n.transitionName, d.closable = i.closable ?? n.closable, d.maskClose = i.maskClose ?? n.maskClose, d.showMask = i.showMask ?? n.showMask, d.maskClass = i.maskClass ?? n.maskClass, d.maskStyle = i.maskStyle ?? n.maskStyle, d.parseHtml = i.parseHtml ?? n.parseHtml, d.renderer = on(i.renderer) ? i.renderer : n.renderer, d.onClose = i.onClose || null, d.textOnly = !d.icon && !(d.type && rc.includes(d.type)), on(d.renderer)) {
const v = d.renderer;
d.renderer = () => v(i), d.textOnly = !1;
}
d.visible = !0;
}
function b() {
d.visible = !1, on(d.onClose) && d.onClose();
}
function f() {
d.visible || (d.type = null, d.content = "", d.icon = n.icon, d.iconProps = n.iconProps, d.position = n.position, d.transition = n.transitionName, d.closable = n.closable, d.maskClose = n.maskClose, d.showMask = n.showMask, d.maskClass = n.maskClass, d.maskStyle = n.maskStyle, d.parseHtml = n.parseHtml, d.textOnly = !1, d.renderer = n.renderer, d.onClose = null);
}
function u() {
d.visible && d.closable && b();
}
function h() {
d.visible && d.maskClose && b();
}
return (i, v) => (S(), D("div", {
class: x({
[e(l).b()]: !0,
[e(l).bs("vars")]: !0,
[e(l).bm("text-only")]: d.textOnly
}),
role: "alert",
style: Qe({
zIndex: d.zIndex
}),
"aria-atomic": "true",
"aria-live": "assertive"
}, [
y(En, {
name: e(l).ns("fade")
}, {
default: X(() => [
d.showMask && d.visible ? (S(), D("div", {
key: 0,
class: x([e(l).be("mask"), d.maskClass]),
style: Qe(d.maskStyle),
onClick: h,
onWheel: v[0] || (v[0] = gt(() => {
}, ["stop", "prevent"]))
}, null, 38)) : ge("", !0)
]),
_: 1
}, 8, ["name"]),
y(En, {
name: d.transition
}, {
default: X(() => [
d.visible ? (S(), D("div", {
key: 0,
class: x({
[e(l).be("wrapper")]: !0,
[e(l).bem("wrapper", d.position)]: d.position !== "center",
[e(l).bem("wrapper", "closable")]: d.closable
}),
onClick: u,
onWheel: v[1] || (v[1] = gt(() => {
}, ["stop", "prevent"]))
}, [
e(on)(d.renderer) ? (S(), Be(e(me), {
key: 0,
renderer: d.renderer
}, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
d.icon || d.type && e(rc).includes(d.type) ? (S(), D("div", {
key: 0,
class: x(e(l).be("icon"))
}, [
d.icon ? (S(), Be(e(Oe), He({
key: 0,
icon: d.icon,
scale: 1.8
}, d.iconProps), null, 16, ["icon"])) : (S(), Be(e(Oe), It(He({ key: 1 }, { ...c.value[d.type], scale: 1.8, ...d.iconProps })), null, 16))
], 2)) : ge("", !0),
d.parseHtml ? (S(), D("div", {
key: 1,
class: x(e(l).be("content")),
innerHTML: d.content
}, null, 10, Uw)) : (S(), D("div", {
key: 2,
class: x(e(l).be("content"))
}, ze(d.content), 3))
], 64))
], 34)) : ge("", !0)
]),
_: 1
}, 8, ["name"])
], 6));
}
}), Xw = {
success: {},
warning: {},
error: {},
loading: {
showMask: !0
}
};
class _i {
constructor(r = {}) {
Rt(this, "name");
Rt(this, "defaults");
Rt(this, "open");
Rt(this, "success");
Rt(this, "warning");
Rt(this, "error");
Rt(this, "loading");
Rt(this, "_mountedApp");
Rt(this, "_instance");
Rt(this, "_innerApp");
Rt(this, "_container");
Rt(this, "_timer");
Rt(this, "_wrapper");
Rt(this, "_mountedEl");
r = {
...r,
duration: r.duration ? rn(r.duration) : 2e3
}, this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._timer = null, this._wrapper = null, this._mountedEl = null, this.name = "Toast", this.defaults = {}, this.config(r), this.open = (l, a) => this._open(null, l, a), this.success = (l, a) => this._open("success", l, a), this.warning = (l, a) => this._open("warning", l, a), this.error = (l, a) => this._open("error", l, a), this.loading = (l, a) => this._open("loading", l, a);
}
close() {
var r;
this._timer && clearTimeout(this._timer), (r = this._getInstance()) == null || r.closeToast();
}
config(r) {
this.defaults = { ...this.defaults, ...r };
}
clone() {
const r = new _i(this.defaults);
return r._mountedApp = this._mountedApp, r;
}
destroy() {
var r, l;
this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
}
isDestroyed() {
return !1;
}
install(r, l = {}) {
const { property: a, ...n } = l;
this.config(n), this._mountedApp = r, (a || !r.config.globalProperties.$toast) && (r.config.globalProperties[a || "$toast"] = this);
}
transferTo(r) {
if (!zt) return;
const l = El(r);
l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
}
_getInstance() {
if (!this._instance && zt) {
if (!this._mountedApp)
console.warn("[vexip-ui:Toast]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(oc), this._instance = this._innerApp.mount(this._container);
else {
const r = y(oc, null, null);
this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
}
this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
}
return this._instance;
}
_open(r, l, a) {
if (!zt)
return Qt;
this._timer && clearTimeout(this._timer);
const n = typeof l == "string" ? { content: l, duration: a } : l, o = r ? Xw[r] ?? {} : {}, s = n.onClose, c = () => {
if (this._timer && clearTimeout(this._timer), typeof s == "function")
return s();
}, d = this._getInstance(), p = {
...this.defaults,
...o,
...n,
type: r ?? n.type,
onClose: c
};
p.icon && typeof p.icon != "function" && (p.icon = Nr(p.icon)), d.openToast(p);
const m = typeof p.duration == "number" ? p.duration : 2e3;
return m >= 500 && (this._timer = setTimeout(() => {
d.closeToast();
}, m)), () => {
this._timer && clearTimeout(this._timer), d.closeToast();
};
}
}
const Yw = new _i(), qw = ft({
locale: Mn(),
active: M,
index: Number,
steps: Array,
type: String,
hideMask: M,
signType: String,
padding: [Number, Array],
closable: M,
permeable: M,
transfer: hn,
slots: Object,
onToggle: B(),
onChange: B(),
onClose: B(),
onMaskClick: B()
}), gf = ft({
target: [String, Object, Function],
placement: String,
title: String,
content: String,
order: Number,
type: String,
renderer: Function,
onPrev: B(),
onNext: B()
}), yf = "___VXP_TOUR_STATE", Gw = {
role: "none",
"aria-hidden": "true"
}, Zw = { style: { width: "100%", height: "100%" } }, Jw = ["id"], Qw = ["x", "y", "width", "height"], ex = ["mask"], tx = {
key: 0,
fill: "transparent",
style: { "pointer-events": "auto" }
}, nx = ["x", "y", "width", "height"], lx = /* @__PURE__ */ Xe({
name: "Tour",
inheritAttrs: !1,
__name: "tour",
props: qw,
emits: ["update:active", "update:index"],
setup(t, { expose: r, emit: l }) {
const n = ct("tour", t, {
locale: null,
active: !1,
index: {
static: !0,
default: 0,
validator: (Z) => Z >= 0
},
steps: {
static: !0,
default: () => []
},
type: "default",
hideMask: !1,
signType: "dot",
padding: 10,
closable: !0,
permeable: !1,
transfer: !1,
slots: () => ({})
}), o = l, s = Ye("tour"), c = vn("tour", qe(n, "locale")), d = Gt(), p = $(n.active), m = $(n.index), b = pt(/* @__PURE__ */ new Set()), f = $(), u = $(), h = $(), i = $(), v = g(() => {
var Z;
return (Z = h.value) == null ? void 0 : Z.wrapper;
});
cl({
target: v,
passive: !1,
onKeyDown: (Z, K) => {
p.value && za(
[
[() => K.left || K.up, O],
[() => K.right || K.down, H],
[() => K.escape, q]
],
{
beforeMatchAny: () => {
Z.preventDefault(), Z.stopPropagation();
},
afterMatchAny: K.resetAll
}
);
}
});
const k = g(() => Array.from(b).concat(n.steps).sort((Z, K) => (Z.order || 0) - (K.order || 0))), w = g(() => k.value[m.value]), T = g(() => {
var K;
const Z = ((K = w.value) == null ? void 0 : K.type) || n.type;
return Z === "default" ? void 0 : Z;
}), F = g(() => [
s.b(),
s.bs("vars"),
{
[s.bm("hide-mask")]: n.hideMask,
[s.bm("permeable")]: n.permeable
}
]), A = g(() => Array.isArray(n.padding) ? n.padding.length === 2 ? [n.padding[0], n.padding[1], n.padding[0], n.padding[1]] : n.padding : new Array(4).fill(n.padding)), z = Zl(), { reference: C, placement: E, updatePopper: P } = Kl({
wrapper: v,
placement: g(() => {
var Z;
return ((Z = w.value) == null ? void 0 : Z.placement) || "bottom";
}),
popper: g(() => {
var Z;
return (Z = i.value) == null ? void 0 : Z.$el;
}),
arrow: g(() => {
var Z;
return (Z = i.value) == null ? void 0 : Z.arrow;
}),
shift: { crossAxis: !0 },
autoUpdate: !1
});
le(
() => n.active,
(Z) => {
Z ? ee() : p.value = Z;
}
), le(
() => n.index,
(Z) => {
m.value = Math.max(0, Z);
}
), le(
[p, w],
() => {
if (u.value = void 0, !zt || !p.value || !w.value) return;
const Z = El(vl(w.value.target));
if (!Z) {
f.value = void 0;
return;
}
const { top: K, left: we, width: de, height: te } = Z.getBoundingClientRect();
if (f.value = [
we - A.value[3],
K - A.value[0],
de + A.value[1] + A.value[3],
te + A.value[0] + A.value[2]
], n.permeable) {
const [Ee, Se, Ce, fe] = f.value;
u.value = [
[0, 0, "100%", Se],
[Ee + Ce, 0, `calc(100% - ${Ee + Ce}px)`, "100%"],
[0, Se + fe, "100%", `calc(100% - ${Se + fe}px)`],
[0, 0, Ee, "100%"]
];
}
P();
},
{ immediate: !0, flush: "post" }
), nn(yf, {
increaseStep: I,
decreaseStep: G
}), r({
wrapper: v,
currentActive: p,
currentIndex: m,
currentStep: w,
allSteps: k,
start: ee,
prev: O,
next: H,
close: U
});
const R = { start: ee, prev: O, next: H, close: U }, L = yl(
pt({
...R,
step: w,
index: m
})
);
function I(Z) {
b.add(Z);
}
function G(Z) {
b.delete(Z);
}
function ee() {
p.value || (p.value = !0, o("update:active", !0), _(n.onToggle, !0), m.value && (m.value = 0, o("update:index", 0)));
}
function O() {
!p.value || m.value <= 0 || (--m.value, o("update:index", m.value), _(n.onChange, m.value, w.value));
}
function H(Z = !0) {
if (p.value) {
if (m.value >= k.value.length - 1) {
Z && U();
return;
}
++m.value, o("update:index", m.value), _(n.onChange, m.value, w.value);
}
}
function U() {
p.value && (p.value = !1, o("update:active", !1), _(n.onToggle, !1));
}
function q() {
p.value && (U(), _(n.onClose));
}
return (Z, K) => (S(), D(st, null, [
el(oe("div", Gw, [
W(Z.$slots, "default")
], 512), [
[tl, !1]
]),
y(e(fr), He(Z.$attrs, {
ref_key: "masker",
ref: h,
active: p.value,
"onUpdate:active": K[1] || (K[1] = (we) => p.value = we),
inherit: e(n).inherit,
class: F.value,
transfer: Z.transfer,
"auto-remove": "",
"transition-name": "",
disabled: e(n).hideMask,
onShow: e(P),
onHide: K[2] || (K[2] = (we) => f.value = void 0),
onMaskClick: K[3] || (K[3] = (we) => e(_)(e(n).onMaskClick, we))
}), {
default: X(({ show: we }) => [
f.value ? (S(), D("div", {
key: 0,
ref_key: "reference",
ref: C,
class: x(e(s).be("reference")),
role: "none",
"aria-hidden": "true",
style: Qe({
top: `${f.value[1]}px`,
left: `${f.value[0]}px`,
width: `${f.value[2]}px`,
height: `${f.value[3]}px`
})
}, null, 6)) : ge("", !0),
y(En, {
appear: "",
name: e(s).ns("fade")
}, {
default: X(() => [
we && w.value ? (S(), Be(e(xi), {
key: 0,
ref_key: "bubble",
ref: i,
inherit: "",
class: x([
e(s).be("bubble"),
!f.value && e(s).bem("bubble", "center"),
T.value && e(s).bem("bubble", "typed"),
T.value && e(s).bem("bubble", T.value)
]),
"content-class": e(s).be("step"),
placement: e(E),
type: w.value.type || e(n).type
}, {
default: X(() => [
e(on)(w.value.renderer) ? (S(), Be(e(me), {
key: 0,
renderer: w.value.renderer,
data: R
}, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
oe("div", {
class: x(e(s).be("header"))
}, [
W(Z.$slots, "header", It(Yt(e(L))), () => [
y(e(me), {
renderer: e(n).slots.header,
data: e(L)
}, {
default: X(() => [
oe("div", {
class: x(e(s).be("title"))
}, [
W(Z.$slots, "title", It(Yt(e(L))), () => [
y(e(me), {
renderer: e(n).slots.title,
data: e(L)
}, {
default: X(() => [
dt(ze(w.value.title ?? e(jc)(e(c).stepCount, m.value)), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2),
e(n).closable ? (S(), D("button", {
key: 0,
type: "button",
class: x(e(s).be("close")),
onClick: q
}, [
W(Z.$slots, "close", It(Yt(e(L))), () => [
y(e(me), {
renderer: e(n).slots.close,
data: e(L)
}, {
default: X(() => [
y(e(Oe), He(e(d).close, {
scale: +(e(d).close.scale || 1) * 1.2,
label: "close"
}), null, 16, ["scale"])
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["renderer", "data"])
])
], 2),
oe("div", {
class: x(e(s).be("content"))
}, [
W(Z.$slots, "body", It(Yt(e(L))), () => [
y(e(me), {
renderer: e(n).slots.body,
data: e(L)
}, {
default: X(() => [
dt(ze(w.value.content), 1)
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2),
oe("div", {
class: x(e(s).be("footer"))
}, [
W(Z.$slots, "footer", It(Yt(e(L))), () => [
y(e(me), {
renderer: e(n).slots.footer,
data: e(L)
}, {
default: X(() => [
oe("div", {
class: x([e(s).be("sign"), e(s).bem("sign", e(n).signType)])
}, [
W(Z.$slots, "sign", It(Yt(e(L))), () => [
y(e(me), {
renderer: e(n).slots.sign,
data: e(L)
}, {
default: X(() => [
e(n).signType === "count" ? (S(), D(st, { key: 0 }, [
oe("span", null, ze(m.value + 1), 1),
oe("span", {
class: x(e(s).be("count-sep"))
}, "/", 2),
oe("span", null, ze(k.value.length), 1)
], 64)) : (S(!0), D(st, { key: 1 }, ln(k.value.length, (de) => (S(), D("span", {
key: de,
class: x([
e(s).be(`sign-${e(n).signType === "dot" ? "dot" : "bar"}`),
de - 1 === m.value && e(s).bem(`sign-${e(n).signType === "dot" ? "dot" : "bar"}`, "active")
])
}, null, 2))), 128))
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2),
K[4] || (K[4] = oe("span", {
style: { flex: "auto" },
role: "none"
}, null, -1)),
W(Z.$slots, "actions", It(Yt(e(L))), () => [
y(e(me), {
renderer: e(n).slots.actions,
data: e(L)
}, {
default: X(() => [
m.value > 0 ? (S(), Be(e(Hn), {
key: 0,
inherit: "",
class: x([e(s).be("action"), e(s).bem("action", "prev")]),
size: "small",
text: !!T.value,
onClick: O
}, {
default: X(() => [
dt(ze(e(c).prev), 1)
]),
_: 1
}, 8, ["class", "text"])) : ge("", !0),
m.value <= k.value.length - 1 ? (S(), Be(e(Hn), {
key: 1,
inherit: "",
class: x([e(s).be("action"), e(s).bem("action", "next")]),
type: T.value ? "default" : "primary",
size: "small",
onClick: K[0] || (K[0] = (de) => H())
}, {
default: X(() => [
dt(ze(m.value === k.value.length - 1 ? e(c).done : e(c).next), 1)
]),
_: 1
}, 8, ["class", "type"])) : ge("", !0)
]),
_: 1
}, 8, ["renderer", "data"])
])
]),
_: 3,
__: [4]
}, 8, ["renderer", "data"])
])
], 2)
], 64))
]),
_: 3
}, 8, ["class", "content-class", "placement", "type"])) : ge("", !0)
]),
_: 2
}, 1032, ["name"])
]),
mask: X(() => {
var we;
return [
(S(), D("svg", Zw, [
oe("defs", null, [
oe("mask", { id: e(z) }, [
K[5] || (K[5] = oe("rect", {
x: "0",
y: "0",
width: "100%",
height: "100%",
fill: "white"
}, null, -1)),
f.value ? (S(), D("rect", {
key: 0,
class: x([e(s).be("hollow"), e(s).bem("hollow", "active")]),
x: f.value[0],
y: f.value[1],
width: f.value[2],
height: f.value[3],
fill: "black"
}, null, 10, Qw)) : ge("", !0)
], 8, Jw)
]),
oe("rect", {
x: "0",
y: "0",
width: "100%",
height: "100%",
fill: "rgba(0, 0, 0, 45%)",
mask: `url(#${e(z)})`
}, null, 8, ex),
(we = u.value) != null && we.length ? (S(), D("g", tx, [
(S(!0), D(st, null, ln(u.value, (de, te) => (S(), D("rect", {
key: te,
x: de[0],
y: de[1],
width: de[2],
height: de[3]
}, null, 8, nx))), 128))
])) : ge("", !0)
]))
];
}),
_: 3
}, 16, ["active", "inherit", "class", "transfer", "disabled", "onShow"])
], 64));
}
}), ax = Object.keys(gf), rx = [], ox = ["renderer"], sx = {
default: null,
isFunc: !0,
static: !0
}, ix = Xe({
name: "TourStep",
props: gf,
setup(t, { slots: r }) {
const l = ct("tourStep", t, {
target: {
default: null,
static: !0
},
placement: "bottom",
title: "",
content: "",
order: {
default: 0,
static: !0
},
type: "default",
renderer: sx
}), a = Et(yf, null), n = pt({});
for (const s of ax)
ox.includes(s) || le(
() => l[s],
(c) => {
n[s] = c;
},
{ immediate: !0, deep: rx.includes(s) }
);
le(() => l.renderer, o), o(), a == null || a.increaseStep(n), pn(() => {
a == null || a.decreaseStep(n);
});
function o() {
typeof r.default == "function" ? n.renderer = (s) => W(r, "default", s) : typeof l.renderer == "function" ? n.renderer = l.renderer : n.renderer = void 0;
}
return () => null;
}
}), sc = /* @__PURE__ */ Xe({
name: "TransferPanel",
props: {
type: {
type: String,
default: null
},
state: {
type: Zn,
default: "default"
},
selected: {
type: Set,
default: () => /* @__PURE__ */ new Set()
},
paged: {
type: Boolean,
default: !1
},
filter: {
type: Function,
default: null
},
disabled: {
type: Boolean,
default: !1
},
title: {
type: String,
default: ""
},
options: {
type: Array,
default: () => []
},
emptyText: {
type: String,
default: "暂无数据"
},
optionHeight: {
type: Number,
default: 32
},
deepState: {
type: Boolean,
default: !1
},
loading: {
type: Boolean,
default: !1
},
loadingIcon: {
type: [Object, Function],
default: null
},
loadingLock: {
type: Boolean,
default: !1
},
loadingEffect: {
type: String,
default: null
},
locale: {
type: Object,
default: () => ({})
}
},
emits: ["update:selected", "select", "enter", "switch"],
setup(t, {
slots: r,
emit: l
}) {
const a = Ye("transfer"), n = Gt(), {
isRtl: o
} = Un(), s = $(new Set(t.selected)), c = $(10), d = $(1), p = $(null), m = $(-1), b = $(""), f = $(!1), u = $(), h = $(), i = $(), v = $(), k = $(), w = $();
let T = 0, F = null, A = !1;
const {
target: z,
modifier: C
} = cl({
passive: !1,
onKeyDown: (ue, J) => {
za([[() => J.up || J.down, () => {
!A && m.value < 0 ? (A = !0, F ? m.value = t.options.findIndex((N) => N.value === F) : w.value && (m.value = Math.round(w.value.scrollOffset / t.optionHeight)), m.value = m.value === -1 ? 0 : m.value) : m.value = cn(Se(m.value + (J.up ? -1 : 1), J.up ? -1 : 1), 0, I.value.length - 1), t.paged || Ce(m.value, J.up ? "top" : "bottom");
}], [() => t.paged && (J.left || J.right) && ue.ctrlKey, () => {
te(d.value + (J.left ? -1 : 1)), m.value = 0;
}], [() => t.type === "source" && J.right || t.type === "target" && J.left, () => {
A = !1, m.value = -1, F = null, l("switch");
}], [() => J.space, () => {
const N = I.value[m.value];
N && (s.value[s.value.has(N.value) ? "delete" : "add"](N.value), de());
}], [() => J.enter, () => l("enter")], [() => typeof t.filter == "function" && !!k.value && J["ctrl+f"], () => {
ue.stopPropagation(), k.value.focus();
}]], {
beforeMatchAny: () => ue.preventDefault(),
afterMatchAny: J.resetAll
});
}
}), E = g(() => ({
[a.be("panel")]: !0,
[a.bem("panel", t.state)]: t.state !== "default",
[a.bem("panel", "disabled")]: t.disabled
})), P = g(() => {
const ue = t.filter, J = b.value;
return ue && J ? t.options.filter((N) => ue(J, N)) : t.options;
}), R = g(() => P.value.length), L = g(() => P.value.slice((d.value - 1) * c.value, d.value * c.value)), I = g(() => t.paged ? L.value : P.value), G = g(() => Math.ceil(R.value / (c.value || 1)));
le(() => t.selected, (ue) => {
s.value = ue;
}), le(R, () => {
A = !1, m.value = -1, F = null;
});
const ee = $(!1), O = $(!1);
In(() => {
const ue = P.value, J = s.value;
let N = !1, j = !1;
for (let ae = 0, be = R.value; ae < be; ++ae) {
const re = ue[ae];
if (re.disabled || (J.has(re.value) ? N = !0 : j = !0), N && j)
break;
}
O.value = N && !j, ee.value = !O.value && J.size > 0;
});
function H() {
requestAnimationFrame(() => {
var J;
const ue = h.value || ((J = w.value) == null ? void 0 : J.wrapper);
if (ue) {
const N = getComputedStyle(ue), j = parseInt(N.paddingTop), ae = parseInt(N.paddingBottom), be = ue.offsetHeight - j - ae;
T = be, c.value = Math.floor(be / (t.optionHeight || 1));
}
});
}
function U(ue) {
if (!(t.disabled || ue.disabled)) {
if (p.value && C.shift) {
q(p.value, ue.value);
return;
}
s.value.has(ue.value) ? s.value.delete(ue.value) : s.value.add(ue.value), A = !1, m.value = -1, F = ue.value, p.value = ue.value, de();
}
}
function q(ue, J) {
var re;
const N = P.value;
let j = -1, ae = -1;
for (let ce = 0, Pe = N.length; ce < Pe; ++ce) {
const at = N[ce];
if (at.value === ue ? j = ce : at.value === J && (ae = ce), j > 0 && ae > 0) break;
}
const be = s.value.has((re = N[j]) == null ? void 0 : re.value) ? "add" : "delete";
j > ae && ([j, ae] = [ae, j]);
for (let ce = j; ce <= ae; ++ce) {
const Pe = N[ce];
Pe.disabled || s.value[be](Pe.value);
}
de();
}
function Z(ue) {
if (ue == null || ue.preventDefault(), !t.disabled) {
if (O.value)
for (const J of P.value)
!J.disabled && s.value.delete(J.value);
else
for (const J of P.value)
!J.disabled && s.value.add(J.value);
p.value = null, de();
}
}
function K() {
if (!t.disabled)
if (ee.value) {
const ue = new Set(s.value);
for (const J of P.value)
J.disabled || (ue.has(J.value) ? s.value.delete(J.value) : s.value.add(J.value));
p.value = null, de();
} else
Z();
}
function we() {
p.value = null, C.resetAll();
}
function de() {
l("update:selected", s.value), l("select");
}
function te(ue) {
d.value = cn(ue, 1, G.value);
}
function Ee(ue, J) {
var j;
const N = I.value;
for (J = J / Math.abs(J); (j = N[ue]) != null && j.disabled && (ue += J, !(ue < 0 || ue >= N.length)); )
;
return ue;
}
function Se(ue, J = 1) {
var j;
const N = I.value;
return (j = N[ue]) != null && j.disabled && (ue = Ee(ue, J), (J > 0 ? ue >= N.length : ue < 0) && (ue = Ee(ue, -J), (J > 0 ? ue < 0 : ue >= N.length) && (ue = -1))), ue;
}
function Ce(ue, J) {
const N = t.options[ue];
if (!(t.paged || !N || !w.value))
if (J === "bottom") {
const j = (ue + 1) * t.optionHeight;
w.value.scrollOffset + T < j && w.value.scrollTo((ue - c.value + 1) * t.optionHeight);
} else {
const j = ue * t.optionHeight;
w.value.scrollOffset > j && w.value.scrollTo(j);
}
}
const fe = pt({
type: qe(t, "type"),
currentPage: d,
pageSize: c,
totalPages: G,
allSelected: O,
partial: ee,
selected: g(() => Array.from(s.value)),
options: g(() => P.value),
toggleSelectAll: Z,
handleReverse: K
});
function ot({
option: ue,
index: J
}) {
const N = t.disabled || ue.disabled, j = (ae) => {
ae.preventDefault(), ae.stopPropagation(), U(ue);
};
return y("li", {
class: {
[a.be("option")]: !0,
[a.bem("option", "disabled")]: N,
[a.bem("option", "hitting")]: m.value === J
},
role: "option",
"aria-disabled": N ? "true" : void 0,
onClick: () => U(ue)
}, [W(r, "option", {
type: t.type,
option: ue,
index: J
}, () => [y(xl, {
key: 1,
class: a.be("checkbox"),
state: t.deepState ? t.state : void 0,
checked: s.value.has(ue.value),
disabled: N,
"tab-index": -1,
onClick: j
}, null), y("span", {
key: 2,
class: a.be("label")
}, [W(r, "label", {
type: t.type,
option: ue,
index: J
}, () => [ue.label])])])]);
}
function Ze() {
return y("div", {
ref: u,
class: a.be("header")
}, [W(r, "header", fe, () => [y(st, null, [y(xl, {
inherit: !0,
control: !0,
class: a.be("checkbox"),
state: t.deepState ? t.state : void 0,
checked: O.value,
partial: ee.value,
disabled: t.disabled,
"tab-index": -1,
onClick: Z
}, null), y("div", {
class: [a.be("reverse"), t.disabled && a.bem("reverse", "disabled")],
title: t.locale.reverse,
onClick: K
}, [y(Oe, He(n.value.retweet, {
scale: +(n.value.retweet.scale || 1) * 1.2
}), null)]), y("div", {
class: a.be("counter")
}, [`${s.value.size}/${P.value.length}`]), (t.title || r.title) && y("span", {
class: a.be("title")
}, [W(r, "title", fe, () => [t.title])]), y(Ul, {
appear: !0,
horizontal: !0,
"fade-effect": !0
}, {
default: () => [t.loading && y("div", {
class: a.be("loading")
}, [y(Oe, He(n.value.loading, {
effect: t.loadingEffect || n.value.loading.effect,
icon: t.loadingIcon || n.value.loading.icon,
label: "loading"
}), null)])]
})])])]);
}
function Je() {
if (typeof t.filter != "function") return null;
const ue = (J) => J.stopPropagation();
return y("div", {
ref: v,
class: a.be("filter")
}, [y(Vr, {
ref: k,
value: b.value,
"onUpdate:value": (J) => b.value = J,
inherit: !0,
clearable: !0,
sync: !0,
disabled: t.disabled,
placeholder: f.value ? void 0 : t.locale.search,
onKeydown: ue,
onFocus: () => f.value = !0,
onBlur: () => f.value = !1
}, {
suffix: () => y(Oe, n.value.search, null)
})]);
}
function se() {
return t.paged || r.body ? y(zn, {
throttle: !0,
onResize: H
}, {
default: () => [y("ul", {
ref: h,
class: a.be("body"),
role: "listbox"
}, [W(r, "body", fe, () => [L.value.length ? L.value.map((ue, J) => ot({
option: ue,
index: J
})) : y("div", {
class: a.be("empty")
}, [t.emptyText || t.locale.empty])])])]
}) : y(Wr, {
ref: w,
inherit: !0,
class: a.be("body"),
items: P.value,
"item-size": t.optionHeight,
"item-fixed": !0,
"use-y-bar": !0,
"id-key": "value",
"items-attrs": {
role: "listbox",
ariaLabel: t.type
},
onResize: H
}, {
default: ({
item: ue,
index: J
}) => ot({
option: ue,
index: J
}),
empty: () => y("div", {
class: a.be("empty")
}, [t.emptyText || t.locale.empty])
});
}
function ne() {
return !t.paged && !r.footer ? null : y("div", {
ref: i,
class: a.be("footer")
}, [W(r, "footer", fe, () => [y("div", {
class: a.be("pagination")
}, [y(Oe, He(o.value ? n.value.angleRight : n.value.angleLeft, {
class: [a.be("page-plus"), d.value <= 1 && a.bem("page-plus", "disabled")],
onClick: () => te(d.value - 1)
}), null), y(Ir, {
inherit: !0,
value: d.value,
class: a.be("page-input"),
size: "small",
min: 1,
max: G.value,
onChange: te
}, null), y("span", {
style: "margin: 0 4px"
}, ["/"]), y("span", null, [G.value]), y(Oe, He(o.value ? n.value.angleLeft : n.value.angleRight, {
class: [a.be("page-minus"), d.value >= G.value && a.bem("page-minus", "disabled")],
onClick: () => te(d.value + 1)
}), null)])])]);
}
return () => y("div", {
ref: z,
class: E.value,
tabindex: 0,
onBlur: we
}, [Ze(), Je(), se(), ne()]);
}
}), ux = ft({
state: Zn,
locale: Mn(),
options: Array,
value: Array,
disabled: M,
paged: M,
filter: {
type: [Boolean, Function],
default: null
},
emptyText: String,
keyConfig: Object,
optionHeight: Number,
ignoreCase: M,
sourceTitle: String,
targetTitle: String,
deepState: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
slots: Object,
onChange: B(),
onSelect: B()
}), cx = {
value: "value",
label: "label",
disabled: "disabled"
}, dx = /* @__PURE__ */ Xe({
name: "Transfer",
props: ux,
emits: ["update:value"],
setup(t, {
slots: r,
emit: l,
expose: a
}) {
const {
idFor: n,
labelId: o,
state: s,
disabled: c,
loading: d,
validateField: p,
getFieldValue: m,
setFieldValue: b
} = al(() => {
var Je, se;
return (se = (Je = C.value) == null ? void 0 : Je.$el) == null ? void 0 : se.focus();
}), f = ct("transfer", t, {
state: ll(s),
locale: null,
options: {
default: () => [],
static: !0
},
value: {
default: () => m(),
static: !0
},
disabled: () => c.value,
paged: !1,
filter: !1,
emptyText: null,
keyConfig: () => ({}),
optionHeight: {
default: 32,
validator: (Je) => Je > 0
},
ignoreCase: !1,
sourceTitle: null,
targetTitle: null,
deepState: !1,
loading: () => d.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
slots: () => ({})
}), {
isRtl: u
} = Un(), h = Ye("transfer"), i = vn("transfer", qe(f, "locale")), v = Gt(), k = $(null), w = $(/* @__PURE__ */ new Set()), T = $(/* @__PURE__ */ new Set()), F = $([]), A = $([]), z = $([]), C = $(), E = $(), P = g(() => ({
...cx,
...f.keyConfig
}));
let R = /* @__PURE__ */ new Map(), L = f.value;
const I = $(0);
In(() => {
f.keyConfig.value, f.keyConfig.label, f.keyConfig.disabled;
for (let Je = 0, se = f.options.length; Je < se; ++Je)
f.options[Je];
I.value++;
}), le(I, G, {
immediate: !0
}), In(() => {
if (!k.value.size) {
F.value = Array.from(z.value), A.value = [];
return;
}
const Je = new Set(k.value), se = [], ne = [];
for (const ue of z.value)
Je.has(ue.value) ? se.push(ue) : ne.push(ue);
A.value = se, F.value = ne;
});
function G() {
const {
value: Je,
label: se,
disabled: ne
} = P.value, ue = R, J = /* @__PURE__ */ new Map();
f.options.forEach((N) => {
const j = typeof N == "string" ? {
[Je]: N
} : N, ae = j[Je];
if (Tt(ae)) return;
const be = j[se] || String(ae), {
[ne]: re = !1
} = j, ce = ue.get(j.value), Pe = pt({
disabled: re,
value: ae,
label: be,
hidden: (ce == null ? void 0 : ce.hidden) ?? !1,
hitting: (ce == null ? void 0 : ce.hitting) ?? !1,
data: N
});
J.set(ae, Pe);
}), R = J, z.value = Array.from(J.values()), k.value = new Set(L);
}
const ee = g(() => f.loading && f.loadingLock), O = g(() => [h.b(), h.bs("vars"), {
[h.bm("inherit")]: f.inherit,
[h.bm(f.state)]: f.state !== "default",
[h.bm("readonly")]: ee.value,
[h.bm("loading")]: f.loading
}]), H = g(() => f.deepState && f.state !== "default" ? f.state : "primary"), U = g(() => !!w.value.size), q = g(() => !!T.value.size), Z = g(() => f.ignoreCase ? (Je, se) => se.label.toLocaleLowerCase().includes(Je) : (Je, se) => se.label.includes(Je)), K = g(() => de("source")), we = g(() => de("target"));
le(() => f.value, (Je) => {
L = Je, k.value = new Set(L);
}), a({
handleToTarget: Ee,
handleToSource: Se,
handlePanelFocus: fe,
handlePanelBlur: ot,
focus: (Je) => {
var se, ne;
return (ne = (se = C.value) == null ? void 0 : se.$el) == null ? void 0 : ne.focus(Je);
},
blur: () => {
var Je, se, ne, ue;
(se = (Je = C.value) == null ? void 0 : Je.$el) == null || se.blur(), (ue = (ne = E.value) == null ? void 0 : ne.$el) == null || ue.blur();
}
});
function de(Je) {
const se = f.filter;
if (se)
return typeof se == "function" ? (ne, ue) => se(ne, ue, Je) : Z.value;
}
function te() {
L = Array.from(k.value), l("update:value", L), b(L), _(f.onChange, L), p();
}
function Ee() {
for (const Je of w.value)
k.value.add(Je);
w.value.clear(), te();
}
function Se() {
for (const Je of T.value)
k.value.delete(Je);
T.value.clear(), te();
}
function Ce(Je) {
const se = {
source: Array.from(w.value),
target: Array.from(T.value)
}, ne = {
source: se.source.map((ue) => {
var J;
return ((J = R.get(ue)) == null ? void 0 : J.data) ?? "";
}),
target: se.target.map((ue) => {
var J;
return ((J = R.get(ue)) == null ? void 0 : J.data) ?? "";
})
};
_(f.onSelect, Je, se, ne);
}
function fe(Je) {
var se, ne;
Je === "source" ? (se = C.value) == null || se.$el.focus() : (ne = E.value) == null || ne.$el.focus();
}
function ot() {
var Je, se;
(Je = C.value) == null || Je.$el.blur(), (se = E.value) == null || se.$el.blur();
}
function Ze(Je) {
let se = Yn(r, Je);
if (!se) {
for (const ne of Je)
if (se = f.slots[ne], typeof se == "function")
break;
return typeof se == "function" ? (ne) => y(me, {
renderer: se,
data: ne
}, null) : null;
}
return null;
}
return () => y("div", {
id: n.value,
class: O.value,
role: "application",
"aria-labelledby": o.value
}, [y(sc, {
ref: C,
selected: w.value,
"onUpdate:selected": (Je) => w.value = Je,
type: "source",
class: h.bem("panel", "source"),
state: f.state,
paged: f.paged,
filter: K.value,
disabled: f.disabled,
title: f.sourceTitle || i.value.source,
options: F.value,
"empty-text": f.emptyText || i.value.empty,
"option-height": f.optionHeight,
"ignore-case": f.ignoreCase,
"deep-state": f.deepState,
loading: f.loading,
"loading-icon": f.loadingIcon,
"loading-lock": f.loadingLock,
"loading-effect": f.loadingEffect,
locale: i.value,
onSelect: () => Ce("source"),
onEnter: Ee,
onSwitch: () => fe("target")
}, {
header: Ze(["source-header", "sourceHeader", "header"]),
title: Ze(["source-title", "sourceTitle", "title"]),
body: Ze(["source-body", "sourceBody", "body"]),
footer: Ze(["source-footer", "sourceFooter", "footer"]),
option: Ze(["source-option", "sourceOption", "option"]),
label: Ze(["source-label", "sourceLabel", "label"])
}), y("div", {
class: h.be("actions")
}, [W(r, "actions", {
handleToTarget: Ee,
handleToSource: Se
}, () => [y(me, {
renderer: f.slots.actions,
data: {
handleToTarget: Ee,
handleToSource: Se
}
}, {
default: () => [y(Hn, {
key: 1,
inherit: !0,
class: h.be("action"),
type: H.value,
size: "small",
disabled: f.disabled || !U.value,
loading: ee.value,
"loading-icon": f.loadingIcon,
"loading-effect": f.loadingEffect,
style: {
marginBottom: "6px"
},
onClick: Ee
}, {
icon: () => y(Oe, He(u.value ? v.value.angleLeft : v.value.angleRight, {
label: u.value ? "to left" : "to right"
}), null)
}), y(Hn, {
key: 2,
inherit: !0,
class: h.be("action"),
type: H.value,
size: "small",
disabled: f.disabled || !q.value,
loading: ee.value,
"loading-icon": f.loadingIcon,
"loading-effect": f.loadingEffect,
style: {
margin: "0"
},
onClick: Se
}, {
icon: () => y(Oe, He(u.value ? v.value.angleRight : v.value.angleLeft, {
label: u.value ? "to right" : "to left"
}), null)
})]
})])]), y(sc, {
ref: E,
selected: T.value,
"onUpdate:selected": (Je) => T.value = Je,
type: "target",
class: h.bem("panel", "target"),
state: f.state,
paged: f.paged,
filter: we.value,
disabled: f.disabled,
title: f.targetTitle || i.value.target,
options: A.value,
"empty-text": f.emptyText || i.value.empty,
"option-height": f.optionHeight,
"ignore-case": f.ignoreCase,
"deep-state": f.deepState,
loading: f.loading,
"loading-icon": f.loadingIcon,
"loading-lock": f.loadingLock,
"loading-effect": f.loadingEffect,
locale: i.value,
onSelect: () => Ce("target"),
onEnter: Se,
onSwitch: () => fe("source")
}, {
header: Ze(["target-header", "targetHeader", "header"]),
title: Ze(["target-title", "targetTitle", "title"]),
body: Ze(["target-body", "targetBody", "body"]),
footer: Ze(["target-footer", "targetFooter", "footer"]),
option: Ze(["target-option", "targetOption", "option"]),
label: Ze(["target-label", "targetLabel", "label"])
})]);
}
});
var ba = /* @__PURE__ */ ((t) => (t.BEFORE = "before", t.INNER = "inner", t.AFTER = "after", t))(ba || {});
const kf = "__VXP_TREE_STATE", fx = "__VXP_TREE_NODE_STATE", px = {
id: "id",
parent: "parent",
label: "label",
children: "children",
visible: "visible",
selected: "selected",
expanded: "expanded",
disabled: "disabled",
checked: "checked",
loading: "loading",
loaded: "loaded",
loadFail: "loadFail",
readonly: "readonly",
arrow: "arrow",
checkbox: "checkbox",
selectDisabled: "selectDisabled",
expandDisabled: "expandDisabled",
checkDisabled: "checkDisabled",
isLeaf: "isLeaf"
}, vx = ["draggable", "aria-disabled", "aria-grabbed"], hx = ["aria-hidden"], ic = /* @__PURE__ */ Xe({
name: "TreeNode",
inheritAttrs: !1,
__name: "tree-node",
props: {
node: {
type: Object,
default: () => ({})
}
},
setup(t) {
const r = t, l = Et(kf), a = Ye("tree"), n = Gt(), { isRtl: o } = Un(), s = $(), c = $(), d = g(() => r.node.parent ? l.nodeStates.get(r.node.parent) : void 0);
cl({
target: s,
passive: !1,
onKeyDown: (te, Ee) => {
l.expanding || za(
[
[
() => Ee.up || Ee.down,
() => l.handleHittingChange(Ee.up ? "up" : "down")
],
[
() => Ee.left || Ee.right,
() => {
var Ce, fe;
const Se = ((Ce = r.node.children) == null ? void 0 : Ce.length) > 0;
Ee.right && r.node.expanded && Se ? l.handleHittingChange("down") : Ee.left && (!r.node.expanded || !Se) ? l.handleNodeHitting((fe = d.value) == null ? void 0 : fe.el) : G(Ee.right);
}
],
[() => A.value && Ee.space, I],
[() => Ee.enter, ee]
],
{
beforeMatchAny: () => {
te.preventDefault(), te.stopPropagation();
},
afterMatchAny: Ee.resetAll
}
);
}
});
const p = $(!l.boundAsyncLoad || r.node.loaded), m = $(l.boundAsyncLoad && r.node.loadFail), b = $(!1), f = $(!1), u = $(!1), h = g(() => {
var te;
return !l.noCascaded && ((te = d.value) == null ? void 0 : te.disabled) || r.node.disabled;
}), i = g(() => {
var te;
return !l.noCascaded && ((te = d.value) == null ? void 0 : te.readonly) || r.node.readonly;
}), v = g(
() => !r.node.matched && (r.node.childMatched || r.node.upperMatched)
), k = g(() => !!l.linkLine && r.node.depth > 0), w = g(() => {
var te;
return {
[a.be("node")]: !0,
[a.bem("node", "last")]: r.node.last,
[a.bem("node", "focused")]: u.value,
[a.bem("node", "selected")]: r.node.selected,
[a.bem("node", "expanded")]: r.node.expanded,
[a.bem("node", "disabled")]: h.value,
[a.bem("node", "readonly")]: i.value,
[a.bem("node", "secondary")]: v.value,
[a.bem("node", "dragging")]: b.value,
[a.bem("node", "drag-over")]: f.value,
[a.bem("node", "link-line")]: k.value,
[a.bem("node", "no-arrow")]: !F.value,
[a.bem("node", "is-floor")]: l.floorSelect && ((te = r.node.children) == null ? void 0 : te.length),
[a.bem("node", "loaded")]: p.value,
[a.bem("node", "load-fail")]: m.value
};
}), T = g(() => {
var Ce;
const te = r.node.isLeaf;
let Ee = "auto", Se = !1;
return Tt(te) || te === "auto" ? (Ee = "auto", Se = l.boundAsyncLoad) : Ee = te, Ee === "auto" ? !((Ce = r.node.children) != null && Ce.length || Se && !p.value) : !!Ee;
}), F = g(() => Tt(r.node.arrow) || r.node.arrow === "auto" ? l.arrow === "auto" ? !T.value : l.arrow : r.node.arrow), A = g(() => {
const te = r.node.checkbox;
return Tt(te) ? l.checkbox : te;
}), z = g(() => l.suffixCheckbox), C = pt({
el: s,
depth: g(() => r.node.depth),
disabled: h,
readonly: i
});
le([() => l.boundAsyncLoad, () => r.node.loaded], (te) => {
p.value = !te[0] || te[1];
}), le([() => l.boundAsyncLoad, () => r.node.loadFail], (te) => {
m.value = !te[0] || te[1];
}), le(
() => r.node.id,
(te, Ee) => {
l.nodeStates.delete(Ee), l.nodeStates.set(te, C);
}
), l.nodeStates.set(r.node.id, C);
let E;
pn(() => {
clearTimeout(E), l.nodeStates.set(r.node.id, C);
});
function P(te, Ee) {
r.node[te] = Ee;
}
function R() {
l.handleNodeClick(r.node), l.blockEffect && O();
}
function L(te) {
l.handleNodeContextmenu(te, r.node);
}
function I(te = !r.node.checked) {
h.value || r.node.checkDisabled || (P("checked", te), P("partial", !1), kt(() => {
l.computeCheckedState(r.node, te);
}));
}
async function G(te = !r.node.expanded) {
if (!(l.expanding || r.node.loading || h.value || r.node.expandDisabled || T.value))
if (te && l.boundAsyncLoad && !p.value) {
P("loading", !0);
const Ee = await l.handleAsyncLoad(r.node);
H(Ee);
} else
P("expanded", te), te ? l.handleNodeExpand(r.node) : l.handleNodeReduce(r.node);
}
async function ee(te = !r.node.selected) {
if (h.value || r.node.selectDisabled) return;
if (l.floorSelect) {
await G();
return;
}
const Ee = !i.value && te;
(Ee || !l.keepSelected) && P("selected", Ee), i.value || te ? l.handleNodeSelect(r.node) : (l.multiple || !l.keepSelected) && l.handleNodeCancel(r.node);
}
function O() {
l.handleLabelClick(r.node), ee();
}
function H(te = !0) {
var Ee;
P("loading", !1), P("expanded", te !== !1), te !== !1 ? (P("loaded", !0), P("loadFail", !1), (Ee = r.node.children) != null && Ee.length ? l.handleNodeExpand(r.node) : P("arrow", !1)) : P("loadFail", !0);
}
function U() {
return {
el: s.value,
arrow: c.value,
node: r.node
};
}
function q() {
l.draggable && (b.value = !0, l.handleNodeDragStart(U()));
}
function Z(te) {
!l.draggable || !l.dragging || (clearTimeout(E), te.stopPropagation(), te.preventDefault(), f.value = !0, l.handleNodeDragOver(U(), te));
}
function K(te) {
l.draggable && (clearTimeout(E), te.preventDefault(), E = setTimeout(() => {
f.value = !1;
}, 100));
}
function we(te) {
!l.draggable || !l.dragging || (clearTimeout(E), te.stopPropagation(), te.preventDefault(), f.value = !1, l.handleNodeDrop(U()));
}
function de(te) {
!l.draggable || !l.dragging || (te.stopPropagation(), b.value = !1, l.handleNodeDragEnd(U()));
}
return (te, Ee) => (S(), D("li", He(te.$attrs, {
ref_key: "wrapper",
ref: s,
class: w.value,
draggable: e(l).draggable,
tabindex: "-1",
"aria-disabled": h.value,
"aria-grabbed": e(l).draggable && b.value ? "true" : void 0,
style: { [e(a).cv("depth")]: t.node.depth },
onClick: gt(R, ["left"]),
onContextmenu: L,
onFocus: Ee[4] || (Ee[4] = (Se) => u.value = !0),
onBlur: Ee[5] || (Ee[5] = (Se) => u.value = !1),
onDragstart: gt(q, ["stop"]),
onDragover: Z,
onDragleave: K,
onDragend: de,
onDrop: we
}), [
W(te.$slots, "default", {
data: t.node.data,
node: t.node,
depth: t.node.depth,
focused: u.value,
lineCount: 0,
lineIndexes: t.node.lineIndexes,
toggleCheck: I,
toggleExpand: G,
toggleSelect: ee
}, () => [
k.value ? (S(), D(st, { key: 0 }, [
(S(!0), D(st, null, ln(t.node.lineIndexes, (Se, Ce) => (S(), D("div", {
key: Ce,
class: x([
e(a).be("link-line"),
e(a).bem("link-line", "vertical"),
!Ce && e(a).bem("link-line", "first")
]),
style: Qe({ [e(a).cv("link-line-index")]: Se }),
"aria-hidden": "true"
}, null, 6))), 128)),
oe("div", {
class: x([e(a).be("link-line"), e(a).bem("link-line", "horizontal")]),
"aria-hidden": "true"
}, null, 2)
], 64)) : ge("", !0),
oe("div", {
class: x({
[e(a).be("content")]: !0,
[e(a).bem("content", "effect")]: e(l).blockEffect,
[e(a).bem("content", "disabled")]: e(l).blockEffect && (h.value || t.node.selectDisabled)
})
}, [
oe("span", {
ref_key: "arrowEl",
ref: c,
class: x({
[e(a).be("arrow")]: !0,
[e(a).bem("arrow", "transparent")]: !t.node.loading && !F.value,
[e(a).bem("arrow", "expanded")]: t.node.expanded,
[e(a).bem("arrow", "disabled")]: h.value || t.node.expandDisabled
}),
"aria-hidden": !t.node.loading && !F.value,
onClick: Ee[0] || (Ee[0] = gt((Se) => G(), ["stop"]))
}, [
t.node.loading ? (S(), Be(e(Oe), He({ key: 0 }, e(n).loading, { label: "loading" }), null, 16)) : W(te.$slots, "arrow", {
key: 1,
data: t.node.data,
node: t.node,
depth: t.node.depth,
focused: u.value
}, () => [
e(l).arrowIcon ? (S(), Be(e(Oe), {
key: 0,
icon: e(l).arrowIcon
}, null, 8, ["icon"])) : (S(), Be(e(Oe), It(He({ key: 1 }, e(o) ? e(n).angleLeft : e(n).angleRight)), null, 16))
])
], 10, hx),
A.value && !z.value ? (S(), Be(e(xl), {
key: 0,
inherit: "",
class: x(e(a).be("checkbox")),
"tab-index": -1,
control: F.value,
checked: t.node.checked,
disabled: h.value || t.node.checkDisabled,
partial: t.node.partial,
onClick: Ee[1] || (Ee[1] = gt((Se) => I(), ["prevent", "stop"]))
}, null, 8, ["class", "control", "checked", "disabled", "partial"])) : ge("", !0),
oe("div", {
class: x({
[e(a).be("label")]: !0,
[e(a).bem("label", "effect")]: !e(l).blockEffect,
[e(a).bem("label", "disabled")]: !e(l).blockEffect && (h.value || t.node.selectDisabled)
}),
onClick: Ee[2] || (Ee[2] = (Se) => !e(l).blockEffect && O())
}, [
e(l).prefixRenderer || te.$slots.prefix ? (S(), D("div", {
key: 0,
class: x(e(a).be("prefix"))
}, [
e(l).prefixRenderer ? (S(), Be(e(me), {
key: 0,
renderer: e(l).prefixRenderer,
data: { node: t.node, depth: t.node.depth, data: t.node.data, focused: u.value }
}, null, 8, ["renderer", "data"])) : W(te.$slots, "prefix", {
key: 1,
data: t.node.data,
node: t.node,
depth: t.node.depth,
focused: u.value
})
], 2)) : ge("", !0),
oe("div", {
class: x(e(a).be("text"))
}, [
e(l).renderer ? (S(), Be(e(me), {
key: 0,
renderer: e(l).renderer,
data: { node: t.node, depth: t.node.depth, data: t.node.data, focused: u.value }
}, null, 8, ["renderer", "data"])) : W(te.$slots, "label", {
key: 1,
data: t.node.data,
node: t.node,
depth: t.node.depth,
focused: u.value
}, () => [
dt(ze(t.node.data[e(l).labelKey]), 1)
])
], 2),
e(l).suffixRenderer || te.$slots.suffix ? (S(), D("div", {
key: 1,
class: x(e(a).be("suffix"))
}, [
e(l).suffixRenderer ? (S(), Be(e(me), {
key: 0,
renderer: e(l).suffixRenderer,
data: { node: t.node, depth: t.node.depth, data: t.node.data, focused: u.value }
}, null, 8, ["renderer", "data"])) : W(te.$slots, "suffix", {
key: 1,
data: t.node.data,
node: t.node,
depth: t.node.depth,
focused: u.value
})
], 2)) : ge("", !0)
], 2),
A.value && z.value ? (S(), Be(e(xl), {
key: 1,
inherit: "",
class: x([e(a).be("checkbox"), e(a).bem("checkbox", "suffix")]),
"tab-index": -1,
control: F.value,
checked: t.node.checked,
disabled: h.value || t.node.checkDisabled,
partial: t.node.partial,
onClick: Ee[3] || (Ee[3] = gt((Se) => I(), ["prevent", "stop"]))
}, null, 8, ["class", "control", "checked", "disabled", "partial"])) : ge("", !0)
], 2)
])
], 16, vx));
}
}), mx = ft({
locale: Mn(),
arrow: {
type: [Boolean, String],
default: null
},
data: Array,
noBuildTree: M,
emptyText: String,
disabled: M,
readonly: M,
checkbox: M,
suffixCheckbox: M,
renderer: Function,
prefixRenderer: Function,
suffixRenderer: Function,
multiple: M,
indent: [String, Number],
accordion: M,
draggable: M,
appear: M,
floorSelect: M,
onAsyncLoad: Function,
cacheNode: M,
rootId: [String, Number],
keyConfig: Object,
noCascaded: M,
filter: [String, Function],
ignoreCase: M,
nodeProps: [Object, Function],
linkLine: {
type: [Boolean, String],
default: null
},
postCreate: Function,
virtual: M,
nodeMinHeight: Number,
useYBar: M,
noTransition: M,
arrowIcon: Xt,
blockEffect: M,
filterLeaf: M,
keepSelected: M,
slots: Object,
onNodeChange: B(),
onNodeClick: B(),
onNodeSelect: B(),
onNodeCancel: B(),
onNodeExpand: B(),
onNodeReduce: B(),
onNodeContextmenu: B(),
onDragStart: B(),
onDragOver: B(),
onDrop: B(),
onDragEnd: B(),
onLabelClick: B()
}), bx = /* @__PURE__ */ Xe({
name: "Tree",
__name: "tree",
props: mx,
setup(t, { expose: r }) {
const a = ct("tree", t, {
arrow: {
default: "auto",
validator: (Te) => typeof Te == "boolean" || Te === "auto"
},
data: {
default: () => [],
static: !0
},
noBuildTree: !1,
emptyText: null,
disabled: !1,
readonly: !1,
checkbox: !1,
suffixCheckbox: !1,
renderer: {
default: null,
isFunc: !0
},
prefixRenderer: {
default: null,
isFunc: !0
},
suffixRenderer: {
default: null,
isFunc: !0
},
multiple: !1,
indent: "16px",
accordion: !1,
draggable: !1,
appear: !1,
floorSelect: !1,
onAsyncLoad: {
default: null,
isFunc: !0
},
cacheNode: !1,
rootId: null,
keyConfig: () => ({}),
noCascaded: !1,
filter: "",
ignoreCase: !1,
nodeProps: null,
linkLine: !1,
postCreate: {
default: null,
isFunc: !0
},
virtual: !1,
nodeMinHeight: {
default: 26,
validator: (Te) => Te > 0
},
useYBar: !1,
noTransition: !1,
arrowIcon: en(),
blockEffect: !1,
filterLeaf: !1,
keepSelected: !1,
slots: () => ({})
}), n = kn(), o = Ye("tree"), s = vn("tree", qe(a, "locale")), c = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), p = $([]), m = $([]), b = $(!1), f = $(!1), u = pt({ ...px }), h = pt(/* @__PURE__ */ new Map()), i = $(!1), v = $([]), k = $(/* @__PURE__ */ new Set()), { timer: w } = Vn(), { isMounted: T } = _r(), F = $(), A = $(), z = $(), C = g(() => {
var Te;
return (Te = F.value) == null ? void 0 : Te.wrapper;
});
let E = [];
const P = {
visible: !0,
selected: !1,
expanded: !1,
disabled: !1,
checked: !1,
loading: !1,
loaded: !1,
loadFail: !1,
readonly: !1,
arrow: "auto",
// will follow checkbox prop of tree when not set (be null)
checkbox: null,
selectDisabled: !1,
expandDisabled: !1,
checkDisabled: !1,
isLeaf: "auto"
}, R = g(() => typeof a.onAsyncLoad == "function"), L = g(() => a.linkLine === !0 ? "dashed" : a.linkLine === "none" ? !1 : a.linkLine), I = g(() => ({
[o.cv("indent-width")]: typeof a.indent == "number" ? `${a.indent}px` : a.indent,
[o.cv("link-line-type")]: L.value || void 0
})), G = g(() => Ee(p.value)), ee = g(() => i.value ? v.value : G.value), O = g(() => typeof a.nodeProps == "function" ? a.nodeProps : () => a.nodeProps);
function H(Te) {
const Y = a.ignoreCase ? String(Te).toLocaleLowerCase() : Te;
return (xe) => {
const We = xe[u.label];
return a.ignoreCase ? String(We).toLocaleLowerCase().includes(Y) : String(We).includes(Y);
};
}
const U = da(() => {
C.value && (E = Nc(`.${o.be("node")}`, C.value));
}, 300);
let q = !1;
function Z() {
q = !0, kt(() => {
q = !1;
});
}
In(() => {
const Te = m.value;
if (Z(), a.filter) {
const Y = typeof a.filter == "function" ? a.filter : H(a.filter), ke = a.filterLeaf;
for (let xe = 0, We = Te.length; xe < We; ++xe) {
const V = Te[xe];
if (ke && !te(V)) {
V.matched = !1, V.childMatched = !1, V.upperMatched = !1;
continue;
}
const De = V.parent ? c.get(V.parent) : void 0;
if (V.matched = Y(V.data, V), V.childMatched = !1, V.upperMatched = !!De && (De.matched || De.upperMatched), V.matched) {
let _e = De;
for (; _e && !_e.childMatched; )
_e.childMatched = !0, _e.expanded = !0, _e = _e.parent ? c.get(_e.parent) : void 0;
}
}
} else
for (let Y = 0, ke = Te.length; Y < ke; ++Y) {
const xe = Te[Y];
xe.matched = !0, xe.childMatched = !1, xe.upperMatched = !1;
}
pe();
}), In(() => Object.assign(u, a.keyConfig)), In(() => {
const Te = k.value, Y = /* @__PURE__ */ new Set();
let ke = !1;
for (const xe of m.value)
xe.expanded && (Y.add(xe.id), !ke && !Te.has(xe.id) && (ke = !0));
(ke || Y.size !== Te.size) && (k.value = Y);
}), le(
[
() => a.data,
() => a.data.length,
() => u.id,
() => u.children,
() => u.parent,
() => a.rootId
],
ot,
{ immediate: !0 }
), le(
[p, () => a.rootId],
() => {
m.value = Ms(p.value, {
keyField: "id",
parentField: "parent",
childField: "children",
rootId: a.rootId,
injectId: !1,
depthFirst: !0
});
},
{ immediate: !0 }
), le(k, (Te, Y) => {
var Ut, xn, qn, ul;
if (a.noTransition && U(), a.noTransition || q || !C.value) return;
let ke, xe;
for (const Sn of Te)
if (!Y.has(Sn)) {
if (ke != null) return;
ke = Sn;
}
for (const Sn of Y)
if (!Te.has(Sn)) {
if (xe != null) return;
xe = Sn;
}
if (ke == null && xe == null || ke && !((xn = (Ut = c.get(ke)) == null ? void 0 : Ut.children) != null && xn.length) || xe && !((ul = (qn = c.get(xe)) == null ? void 0 : qn.children) != null && ul.length))
return;
clearTimeout(w.expand), wn.value = !1, i.value = !0;
let We;
ke != null && (We = Y), xe != null && (We ? (We = new Set(We), We.delete(xe)) : We = Te);
const V = Ee(p.value, We), De = a.virtual, _e = C.value.offsetHeight, rt = a.nodeMinHeight || 1, xt = Math.ceil(_e / rt) + 1, Bt = [
ke != null && { id: ke, type: "expand" },
xe != null && { id: xe, type: "reduce" }
];
for (const Sn of Bt) {
if (!Sn) continue;
const { id: jn, type: Wn } = Sn, Kt = V.findIndex((Pn) => Pn.id === jn);
if (~Kt) {
const Pn = V[Kt].children;
if (Pn != null && Pn.length) {
const mn = Ee(Pn, Te);
V.splice(Kt + 1, 0, {
id: Symbol("TreeNodePlaceholder"),
collapse: !0,
type: Wn,
height: De ? mn.length * rt : void 0,
nodes: De ? mn.slice(0, xt) : mn
});
}
}
}
v.value = V;
}), nn(
kf,
pt({
arrow: qe(a, "arrow"),
checkbox: qe(a, "checkbox"),
suffixCheckbox: qe(a, "suffixCheckbox"),
noCascaded: qe(a, "noCascaded"),
linkLine: L,
virtual: qe(a, "virtual"),
labelKey: qe(u, "label"),
draggable: qe(a, "draggable"),
floorSelect: qe(a, "floorSelect"),
renderer: qe(a, "renderer"),
prefixRenderer: qe(a, "prefixRenderer"),
suffixRenderer: qe(a, "suffixRenderer"),
arrowIcon: qe(a, "arrowIcon"),
blockEffect: qe(a, "blockEffect"),
dragging: b,
boundAsyncLoad: R,
nodeStates: h,
expanding: i,
keepSelected: qe(a, "keepSelected"),
multiple: qe(a, "multiple"),
getParentNode: Ve,
updateVisibleNodeEls: U,
computeCheckedState: ne,
handleNodeClick: ue,
handleNodeSelect: N,
handleNodeCancel: j,
handleNodeExpand: ae,
handleNodeReduce: be,
handleNodeContextmenu: re,
handleAsyncLoad: ce,
handleNodeDragStart: at,
handleNodeDragOver: yt,
handleNodeDrop: Mt,
handleNodeDragEnd: Ht,
handleHittingChange: _t,
handleNodeHitting: tn,
handleLabelClick: J
})
), nn(
fx,
pt({
depth: -1,
disabled: qe(a, "disabled"),
readonly: qe(a, "readonly")
})
), r({
treeNodes: p,
flattedNodes: m,
dragging: b,
expanding: i,
virtualList: F,
trap: A,
indicator: z,
refreshScroll: qt,
isLeafNode: te,
parseAndTransformData: ot,
forceUpdateData: Ze,
syncNodeStateIntoData: Je,
getCheckedNodes: he,
getCheckedNodeData: Fe,
getSelectedNodes: lt,
getSelectedNodeData: Ke,
getExpandedNodes: Ct,
getDisabledNodes: ve,
getParentNode: Ve,
getNodeChildren: Ie,
getSiblingNodes: Me,
getPrevSiblingNode: Ge,
getNextSiblingNode: mt,
getNodeByData: bt,
expandNodeByData: Ot,
selectNodeByData: Vt,
checkNodeByData: $e,
toggleNodeLoadingByData: et,
toggleAllExpanded: vt,
getTreeData: an,
getFlattedData: Rn,
updateVisibleNodeEls: U
}), sn(U);
const { updateCheckedUpward: K, updateCheckedDown: we } = mf({
getNode: (Te) => c.get(Te),
disableNode: (Te) => Te.disabled
});
function de() {
return `__vxp-tree-key-${Ac()}`;
}
function te(Te) {
var We;
const Y = Te.isLeaf;
let ke = "auto", xe = !1;
return Tt(Y) || Y === "auto" ? (ke = "auto", xe = R.value) : ke = Y, ke === "auto" ? !((We = Te.children) != null && We.length || xe && !Te.loaded) : !!ke;
}
function Ee(Te, Y) {
const ke = new Set(Te);
return Ms(Te, {
keyField: "id",
parentField: "parent",
childField: "children",
injectId: !1,
depthFirst: !0,
cascaded: !0,
filter: (xe) => {
if (ke.has(xe))
return xe.matched || xe.childMatched || xe.upperMatched;
const We = Ve(xe);
return xe.visible && (xe.matched || xe.childMatched || xe.upperMatched) && (!We || (Y ? Y.has(We.id) : We.expanded));
}
});
}
function Se(Te) {
return Te.collapse;
}
function Ce() {
so(p.value, (Te, Y) => {
if (Te.depth = Y, Te.lineIndexes = [0], Te.parent && c.has(Te.parent)) {
const ke = c.get(Te.parent);
Te.last = gn(ke.children) === Te, Te.upstreamLast = [ke.last, ...ke.upstreamLast];
} else
Te.last = gn(p.value) === Te, Te.upstreamLast = [];
for (let ke = 1; ke < Y; ++ke)
Te.upstreamLast[ke - 1] || Te.lineIndexes.push(ke);
});
}
function fe(Te) {
p.value = _c(Te, {
keyField: "id",
parentField: "parent",
childField: "children",
rootId: a.rootId
}), Ce();
}
function ot() {
const Te = u.id, Y = /* @__PURE__ */ new Map(), ke = /* @__PURE__ */ new Map();
for (const We of c.values())
Y.set(We.data, We), ke.set(We.data[Te], We);
c.clear(), d.clear();
const xe = [];
if (a.noBuildTree)
so(
a.data,
(We, V, De) => {
var Bt;
const _e = Y.get(We), rt = (_e == null ? void 0 : _e.id) ?? de(), xt = a.cacheNode ? _e ?? se(We) : se(We, _e);
xt.id = rt, xt.parent = De ? (Bt = d.get(De)) == null ? void 0 : Bt.id : void 0, c.set(xt.id, xt), xe.push(xt), d.set(We, xt);
},
{ childField: u.children, depthFirst: !0 }
);
else {
const We = a.data;
for (let V = 0, De = We.length; V < De; ++V) {
const _e = We[V], rt = Y.get(_e) ?? ke.get(_e[Te]), xt = a.cacheNode ? rt ?? se(_e) : se(_e, rt);
c.set(xt.id, xt), xe.push(xt), d.set(_e, xt);
}
}
if (fe(xe), !a.noCascaded) {
const We = m.value.filter((V) => V.checked);
for (let V = 0, De = We.length; V < De; ++V) {
const _e = We[V], rt = _e.parent;
we(_e.id), rt && c.has(rt) && (c.get(rt).checked || K(_e.id));
}
}
pe();
}
function Ze() {
const Te = [], {
id: Y,
visible: ke,
selected: xe,
expanded: We,
disabled: V,
checked: De,
loading: _e,
loaded: rt,
loadFail: xt,
readonly: Bt,
arrow: Ut,
checkbox: xn,
selectDisabled: qn,
expandDisabled: ul,
checkDisabled: Sn,
isLeaf: jn
} = u, Wn = (Kt, Pn) => {
const {
[ke]: mn = Kt.visible,
[xe]: Tn = Kt.selected,
[We]: ie = Kt.expanded,
[V]: Ae = Kt.disabled,
[De]: tt = Kt.checked,
[_e]: St = Kt.loading,
[rt]: jt = Kt.loaded,
[xt]: Zt = Kt.loadFail,
[Bt]: Nn = Kt.readonly,
[Ut]: Cn = Kt.arrow,
[xn]: Q = Kt.checkbox,
[qn]: Ne = Kt.selectDisabled,
[ul]: nt = Kt.expandDisabled,
[Sn]: it = Kt.checkDisabled,
[jn]: ut = Kt.isLeaf
} = Pn;
Kt.visible = mn, Kt.selected = Tn, Kt.expanded = ie, Kt.disabled = Ae, Kt.checked = tt, Kt.loading = St, Kt.loaded = jt, Kt.loadFail = Zt, Kt.readonly = Nn, Kt.arrow = Cn, Kt.checkbox = Q, Kt.selectDisabled = Ne, Kt.expandDisabled = nt, Kt.checkDisabled = it, Kt.isLeaf = ut;
};
if (a.noBuildTree)
so(
a.data,
(Kt, Pn, mn) => {
var ie;
let Tn = d.get(Kt);
Tn ? Wn(Tn, Kt) : (Tn = se(Kt), Tn.id = de(), Tn.parent = mn ? (ie = d.get(mn)) == null ? void 0 : ie.id : void 0, c.set(Tn.id, Tn), d.set(Kt, Tn)), Te.push(Tn);
},
{ childField: u.children, depthFirst: !0 }
);
else {
const Kt = a.data;
for (let Pn = 0, mn = Kt.length; Pn < mn; ++Pn) {
const Tn = Kt[Pn], ie = Tn[Y];
let Ae = c.get(ie);
Ae ? Wn(Ae, Tn) : (Ae = se(Tn), c.set(ie, Ae)), Te.push(Ae);
}
}
fe(Te), pe();
}
function Je() {
m.value.forEach((Te) => {
if (!Te.data) return;
const { data: Y, visible: ke, selected: xe, expanded: We, disabled: V, checked: De, loading: _e, readonly: rt } = Te;
Y.visible = ke, Y.selected = xe, Y.expanded = We, Y.disabled = V, Y.checked = De, Y.loading = _e, Y.readonly = rt;
}), pe();
}
function se(Te, Y = P) {
const {
id: ke,
parent: xe,
visible: We,
selected: V,
expanded: De,
disabled: _e,
checked: rt,
loading: xt,
loaded: Bt,
loadFail: Ut,
readonly: xn,
arrow: qn,
checkbox: ul,
selectDisabled: Sn,
expandDisabled: jn,
checkDisabled: Wn,
isLeaf: Kt
} = u, {
[We]: Pn = Y.visible,
[V]: mn = Y.selected,
[De]: Tn = Y.expanded,
[_e]: ie = Y.disabled,
[rt]: Ae = Y.checked,
[xt]: tt = Y.loading,
[Bt]: St = Y.loaded,
[Ut]: jt = Y.loadFail,
[xn]: Zt = Y.readonly,
[qn]: Nn = Y.arrow,
[ul]: Cn = Y.checkbox,
[Sn]: Q = Y.selectDisabled,
[jn]: Ne = Y.expandDisabled,
[Wn]: nt = Y.checkDisabled,
[Kt]: it = Y.isLeaf
} = Te, ut = a.noBuildTree ? null : Te[ke], ht = a.noBuildTree ? null : Te[xe], wt = {
id: ut,
parent: ht,
data: Te,
visible: Pn,
selected: mn,
expanded: Tn,
disabled: ie,
checked: Ae,
loading: tt,
loaded: St,
loadFail: jt,
readonly: Zt,
arrow: Nn,
checkbox: Cn,
selectDisabled: Q,
expandDisabled: Ne,
checkDisabled: nt,
isLeaf: it
};
return typeof a.postCreate == "function" && a.postCreate(wt), pt({
...wt,
id: ut,
parent: ht,
children: [],
partial: !1,
matched: !1,
childMatched: !1,
upperMatched: !1,
depth: -1,
last: !1,
// inLastCount: 0,
upstreamLast: [],
lineIndexes: []
});
}
function ne(Te, Y) {
if (!a.noCascaded) {
const ke = [Te].concat(
// 需要包含被禁用且被勾选的节点
m.value.filter((xe) => (xe.disabled || xe.checkDisabled) && xe.checked)
);
for (let xe = 0, We = ke.length; xe < We; ++xe) {
const V = ke[xe];
K(V.id), we(V.id);
}
}
_(a.onNodeChange, Te.data, Te, Y);
}
function ue(Te) {
_(a.onNodeClick, Te.data, Te);
}
function J(Te) {
_(a.onLabelClick, Te.data, Te);
}
function N(Te) {
const Y = m.value.filter((ke) => ke.selected);
if (a.multiple)
_(
a.onNodeSelect,
Y.map((ke) => ke.data),
Y
);
else {
const ke = Te.id;
for (let xe = 0, We = Y.length; xe < We; ++xe) {
const V = Y[xe];
V.selected = V.id === ke;
}
_(a.onNodeSelect, Te.data, Te);
}
}
function j(Te) {
_(a.onNodeCancel, Te.data, Te);
}
function ae(Te) {
if (a.accordion) {
const Y = Me(Te);
for (let ke = 0, xe = Y.length; ke < xe; ++ke)
Y[ke].expanded = !1;
}
_(a.onNodeExpand, Te.data, Te);
}
function be(Te) {
_(a.onNodeReduce, Te.data, Te);
}
function re(Te, Y) {
_(a.onNodeContextmenu, Te, Y.data, Y);
}
async function ce(Te) {
if (!R.value) return !1;
let Y = a.onAsyncLoad(Te.data, Te);
return Sl(Y) && (Y = await Y), Y !== !1;
}
let Pe = null;
function at(Te) {
C.value && (Pe = {
draggingNode: Te.node,
treeRect: C.value.getBoundingClientRect(),
willDropNode: null,
dropType: ba.BEFORE
}, b.value = !0, _(a.onDragStart, Te.node.data, Te.node));
}
function yt(Te, Y) {
if (!Pe || !Te.el || !Te.arrow) return;
const ke = Te.el.getBoundingClientRect(), xe = Pe.treeRect, We = Te.arrow.getBoundingClientRect(), V = 0.25, De = 0.75, _e = Y.clientY - ke.top, rt = We.height;
let xt, Bt = -9999, Ut = !0;
_e < rt * V ? (xt = ba.BEFORE, Bt = We.top - xe.top) : _e > rt * De ? (xt = ba.AFTER, Bt = We.bottom - xe.top) : (xt = ba.INNER, Ut = !1), z.value && (z.value.style.top = `${Bt}px`, z.value.style.insetInlineStart = `${We.right - xe.left}px`), Pe.willDropNode = Te.node, Pe.dropType = xt, f.value = Ut, _(a.onDragOver, Te.node.data, Te.node);
}
function Nt(Te, Y) {
if (!Te || !Y) return !0;
for (; Te; ) {
if (Te === Y || Te.id === Y.id)
return !0;
Te = Ve(Te);
}
return !1;
}
function Mt(Te) {
if (!Pe) return;
const { draggingNode: Y, willDropNode: ke, dropType: xe } = Pe;
if (!ke || Nt(ke, Y)) return;
let We, V;
if (Y && (V = Ve(Y), V || (V = {
children: p.value
}), We = Y.id, Ho(V.children, (De) => De.id === We)), xe === ba.INNER) {
Array.isArray(ke.children) || (ke.children = []);
const De = Array.from(ke.children);
De.push(Y), ke.children = De, Y.parent = ke.id;
} else {
V = Ve(ke), V || (V = {
parent: void 0,
children: p.value
}), We = ke.id;
const De = V.children.findIndex((_e) => _e.id === We);
~De && (V.children.splice(+(xe === ba.AFTER) + De, 0, Y), Y.parent = V.id);
}
Ce(), _(a.onDrop, Te.node.data, Te.node, xe);
}
function Ht(Te) {
b.value = !0, f.value = !1, Pe = null, _(a.onDragEnd, Te.node.data, Te.node);
}
function _t(Te) {
var xe;
const Y = document.activeElement;
if (!E.length || !Y) return;
const ke = E.findIndex((We) => We === Y);
~ke && ((xe = E[(ke + (Te === "up" ? -1 : 1) + E.length) % E.length]) == null || xe.focus());
}
function tn(Te) {
!Te || !E.length || E.includes(Te) && Te.focus();
}
function Wt() {
U();
}
function un(Te) {
const Y = Te.target;
!E.length || !Y || !A.value || Y === A.value && E[0].focus();
}
function qt() {
var Te;
(Te = F.value) == null || Te.refresh();
}
function pe() {
i.value = !1, T.value && U();
}
function Re() {
if (a.virtual) {
pe();
return;
}
wn.value = !0, requestAnimationFrame(() => {
pe(), w.expand = setTimeout(() => {
wn.value = !1;
}, 300);
});
}
function he(Te = !1) {
return m.value.filter((Y) => Y.checked || Te && Y.partial);
}
function Fe(Te = !1) {
return he(Te).map((Y) => Y.data);
}
function lt() {
return m.value.filter((Te) => Te.selected);
}
function Ke() {
return lt().map((Te) => Te.data);
}
function Ct() {
return m.value.filter((Te) => Te.expanded);
}
function ve() {
return m.value.filter((Te) => Te.disabled);
}
function Ve(Te) {
return Te.parent ? c.get(Te.parent) ?? null : null;
}
function Ie(Te) {
return Te.children;
}
function Me(Te, Y = !1) {
const ke = Ve(Te), xe = Te.id, We = ke ? ke.id : null;
return m.value.filter((V) => {
const De = We === null ? !V.parent : V.parent === We;
return De && !Y ? V.id !== xe : De;
});
}
function Ge(Te) {
const Y = Ve(Te);
if (!Y) return null;
const ke = Te.id, xe = Y.id, We = m.value.filter((V) => V.parent === xe);
if (We && We.length) {
const V = We.findIndex((De) => De.id === ke);
if (V > 0)
return We[V - 1];
}
return null;
}
function mt(Te) {
const Y = Ve(Te);
if (!Y) return null;
const ke = Te.id, xe = Y.id, We = m.value.filter((V) => V.parent === xe);
if (We && We.length) {
const V = We.findIndex((De) => De.id === ke);
if (!~V && V < We.length - 1)
return We[V + 1];
}
return null;
}
function bt(Te) {
if (a.noBuildTree)
return m.value.find((ke) => ke.data === Te) ?? null;
const Y = u.id;
return m.value.find(
(ke) => ke.data === Te || ke.data[Y] === Te[Y]
) ?? null;
}
function Ot(Te, Y, ke = !1) {
const xe = bt(Te);
if (xe && (xe.expanded = Tt(Y) ? !xe.expanded : !!Y, ke)) {
let We = Ve(xe);
for (; We; )
We.expanded = xe.expanded, We = Ve(We);
}
}
function Vt(Te, Y) {
const ke = bt(Te);
ke && (ke.selected = Tt(Y) ? !ke.selected : !!Y);
}
function $e(Te, Y) {
const ke = bt(Te);
if (ke && (ke.checked = Tt(Y) ? !ke.checked : !!Y, !a.noCascaded)) {
const xe = [ke].concat(
m.value.filter((We) => We.disabled && We.checked)
);
for (let We = 0, V = xe.length; We < V; ++We) {
const De = xe[We];
K(De.id), we(De.id);
}
}
}
function et(Te, Y) {
const ke = bt(Te);
ke && (ke.checked = Tt(Y) ? !ke.loading : !!Y);
}
function vt(Te) {
var Y;
for (const ke of m.value)
!ke.disabled && !ke.expandDisabled && !ke.loading && ((Y = ke.children) != null && Y.length) && (ke.expanded = Te);
}
function an(Te = !1) {
return Bc(
Te ? Bp(p.value, (Y) => Y.matched, {
childField: "children",
leafOnly: a.filterLeaf,
isLeaf: te
}) : p.value,
(Y) => ({ ...Y.data })
);
}
function Rn(Te = !1) {
return (Te ? m.value.filter((Y) => Y.matched || Y.childMatched || Y.upperMatched) : m.value).map((Y) => ({ ...Y.data }));
}
const wn = $(!1);
return (Te, Y) => (S(), Be(e(Wr), {
ref_key: "virtualList",
ref: F,
class: x([e(o).b(), e(o).bs("vars"), e(a).inherit && e(o).bm("inherit")]),
inherit: e(a).inherit,
items: ee.value,
"item-size": e(a).nodeMinHeight,
"items-tag": "ul",
"items-attrs": { class: e(o).be("list") },
"hide-bar": !e(a).useYBar,
"ignore-resize": wn.value,
disabled: !e(a).virtual,
role: "tree",
tabindex: "-1",
"aria-disabled": e(a).disabled,
"aria-readonly": e(a).readonly,
style: Qe(I.value),
onScroll: Wt
}, {
"prefix-trap": X(() => [
oe("div", {
ref_key: "trap",
ref: A,
tabindex: "0",
role: "none",
style: { width: "0", height: "0", overflow: "hidden", outline: "none" },
onFocus: un
}, null, 544)
]),
default: X(({ item: ke }) => [
Se(ke) ? (S(), Be(e(Ul), {
key: 0,
appear: "",
reverse: ke.type === "reduce",
onAfterEnter: Re
}, {
default: X(() => [
oe("div", {
class: x(e(o).be("collapse")),
style: Qe({ height: `${ke.height}px` })
}, [
(S(!0), D(st, null, ln(ke.nodes, (xe, We) => (S(), Be(ic, He({
key: xe.id ?? We
}, { ref_for: !0 }, O.value(xe.data, xe), { node: xe }), nl({ _: 2 }, [
n.node || e(a).slots.node ? {
name: "default",
fn: X((V) => [
W(Te.$slots, "node", He({ ref_for: !0 }, V), () => [
y(e(me), {
renderer: e(a).slots.node,
data: V
}, null, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0,
n.arrow || e(a).slots.arrow ? {
name: "arrow",
fn: X((V) => [
W(Te.$slots, "arrow", He({ ref_for: !0 }, V), () => [
y(e(me), {
renderer: e(a).slots.arrow,
data: V
}, null, 8, ["renderer", "data"])
])
]),
key: "1"
} : void 0,
n.label || e(a).slots.label ? {
name: "label",
fn: X((V) => [
W(Te.$slots, "label", He({ ref_for: !0 }, V), () => [
y(e(me), {
renderer: e(a).slots.label,
data: V
}, null, 8, ["renderer", "data"])
])
]),
key: "2"
} : void 0,
n.prefix || e(a).slots.prefix ? {
name: "prefix",
fn: X((V) => [
W(Te.$slots, "prefix", He({ ref_for: !0 }, V), () => [
y(e(me), {
renderer: e(a).slots.prefix,
data: V
}, null, 8, ["renderer", "data"])
])
]),
key: "3"
} : void 0,
n.suffix || e(a).slots.suffix ? {
name: "suffix",
fn: X((V) => [
W(Te.$slots, "suffix", He({ ref_for: !0 }, V), () => [
y(e(me), {
renderer: e(a).slots.suffix,
data: V
}, null, 8, ["renderer", "data"])
])
]),
key: "4"
} : void 0
]), 1040, ["node"]))), 128))
], 6)
]),
_: 2
}, 1032, ["reverse"])) : (S(), Be(ic, He({ key: 1 }, O.value(ke.data, ke), { node: ke }), nl({ _: 2 }, [
n.node || e(a).slots.node ? {
name: "default",
fn: X((xe) => [
W(Te.$slots, "node", It(Yt(xe)), () => [
y(e(me), {
renderer: e(a).slots.node,
data: xe
}, null, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0,
n.arrow || e(a).slots.arrow ? {
name: "arrow",
fn: X((xe) => [
W(Te.$slots, "arrow", It(Yt(xe)), () => [
y(e(me), {
renderer: e(a).slots.arrow,
data: xe
}, null, 8, ["renderer", "data"])
])
]),
key: "1"
} : void 0,
n.label || e(a).slots.label ? {
name: "label",
fn: X((xe) => [
W(Te.$slots, "label", It(Yt(xe)), () => [
y(e(me), {
renderer: e(a).slots.label,
data: xe
}, null, 8, ["renderer", "data"])
])
]),
key: "2"
} : void 0,
n.prefix || e(a).slots.prefix ? {
name: "prefix",
fn: X((xe) => [
W(Te.$slots, "prefix", It(Yt(xe)), () => [
y(e(me), {
renderer: e(a).slots.prefix,
data: xe
}, null, 8, ["renderer", "data"])
])
]),
key: "3"
} : void 0,
n.suffix || e(a).slots.suffix ? {
name: "suffix",
fn: X((xe) => [
W(Te.$slots, "suffix", It(Yt(xe)), () => [
y(e(me), {
renderer: e(a).slots.suffix,
data: xe
}, null, 8, ["renderer", "data"])
])
]),
key: "4"
} : void 0
]), 1040, ["node"]))
]),
empty: X(() => [
oe("div", {
class: x(e(o).be("empty-tip"))
}, [
W(Te.$slots, "empty", {}, () => [
y(e(me), {
renderer: e(a).slots.empty
}, {
default: X(() => [
dt(ze(e(a).emptyText ?? e(s).empty), 1)
]),
_: 1
}, 8, ["renderer"])
])
], 2)
]),
"suffix-trap": X(() => [
e(a).draggable ? el((S(), D("div", {
key: 0,
ref_key: "indicator",
ref: z,
class: x(e(o).be("indicator"))
}, null, 2)), [
[tl, f.value]
]) : ge("", !0)
]),
_: 3
}, 8, ["class", "inherit", "items", "item-size", "items-attrs", "hide-bar", "ignore-resize", "disabled", "aria-disabled", "aria-readonly", "style"]));
}
}), gx = ft({
state: Zn,
locale: Mn(),
url: String,
fileList: Array,
multiple: M,
tip: String,
accept: [String, Array],
filter: [String, Array],
maxSize: Number,
field: String,
data: Object,
headers: Object,
withCredentials: M,
manual: M,
hiddenFiles: M,
countLimit: Number,
allowDrag: M,
onBeforeUpload: Function,
onBeforeSelect: Function,
iconRenderer: Function,
selectToAdd: M,
listType: String,
block: M,
loadingText: String,
directory: M,
pathField: String,
disabledClick: M,
buttonLabel: String,
disabled: M,
loading: M,
loadingIcon: Xt,
loadingLock: M,
loadingEffect: String,
image: M,
defaultFiles: Array,
canPreview: Function,
listStyle: kl,
name: String,
customFetch: Function,
slots: Object,
onExceed: B(),
onChange: B(),
onFilterError: B(),
onSizeError: B(),
onDelete: B(),
onPreview: B(),
onProgress: B(),
onSuccess: B(),
onError: B()
}), yx = ft({
files: Array,
selectToAdd: M,
iconRenderer: Function,
type: String,
loadingText: String,
style: kl,
precision: Number,
canPreview: Function,
slots: Object,
onDelete: B(),
onPreview: B()
}), kx = ft({
locale: Mn(),
file: Object,
iconRenderer: Function,
listType: String,
loadingText: String,
selectToAdd: M,
precision: Number,
canPreview: Function,
slots: Object,
onDelete: B(),
onPreview: B()
}), va = /* @__PURE__ */ new Map();
va.set("fileVideo", [
"mp4",
"flv",
"mkv",
"rm",
"rmvb",
"mov",
"mtv",
"wnv",
"avi",
"3gp",
"amv",
"dmv"
]);
va.set("fileImage", [
"bmp",
"jpg",
"jpeg",
"png",
"tif",
"gif",
"pcx",
"tga",
"exif",
"fpx",
"svg",
"psd",
"cdr",
"pcd",
"dxf",
"ufo",
"eps",
"ai",
"raw",
"wmf",
"webp"
]);
va.set(
"fileCode",
[
[
"json",
"xml",
"property",
"class",
"c",
"cpp",
"cc",
"cxx",
"h",
"hpp",
"hxx",
"cs",
"yml",
"yaml",
"ts",
"tsx"
],
["js", "jsx", "mjs", "cjs", "ts", "tsx", "mts", "cts"],
["css", "styl", "pcss"],
["sass", "scss"],
["less"],
["java", "class", "jsp"],
["vue"],
["html", "htm"],
["py", "pyc", "pyw", "pyo", "pyd"]
].flat()
);
va.set("fileAudio", [
"cd",
"wave",
"aiff",
"mpeg",
"mp3",
"mpeg-4",
"midi",
"wma",
"ra",
"rm",
"rmx",
"vqf",
"amr",
"ape",
"flac",
"aac"
]);
va.set("fileZip", [
"rar",
"zip",
"7z",
"cab",
"arj",
"lzh",
"tar",
"gz",
"ace",
"uue",
"bz2",
"jar",
"iso"
]);
va.set(
"fileText",
[
["doc", "docx"],
["xls", "xlsx", "xlsm", "xlsb", "xlam", "csv"],
["pdf", "txt", "md"]
].flat()
);
va.set("file", ["default"]);
function wx(t = Gt()) {
return g(() => {
const r = {};
for (const [l, a] of va.entries())
if (a != null && a.length)
for (const n of a)
r[n] = t.value[l];
return r;
});
}
var Gn = /* @__PURE__ */ ((t) => (t.PENDING = "pending", t.UPLOADING = "uploading", t.FAIL = "fail", t.SUCCESS = "success", t.DELETE = "delete", t))(Gn || {});
const Bi = Object.freeze([
"name",
"detail",
"thumbnail",
"card"
]), xx = ["title"], Sx = ["aria-label"], Cx = { style: { "margin-bottom": "0.3em" } }, Tx = ["src", "alt"], $x = ["disabled", "aria-label"], Ex = ["aria-label"], wf = /* @__PURE__ */ Xe({
name: "UploadFile",
__name: "upload-file",
props: kx,
setup(t) {
const r = /\.(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i, l = /^data:image\//;
function a(A) {
if (A.type)
return A.type.startsWith("image/");
const { name: z, url: C, base64: E } = A;
return !!(r.test(z) || C && (r.test(C) || l.test(C)) || E && l.test(E));
}
const o = ct("uploadFile", t, {
locale: null,
file: {
default: () => ({}),
static: !0
},
iconRenderer: {
default: null,
isFunc: !0
},
listType: {
default: "name",
validator: (A) => Bi.includes(A)
},
loadingText: null,
selectToAdd: !1,
precision: 2,
canPreview: {
default: a,
isFunc: !0
},
slots: () => ({})
}), s = Ye("upload"), c = vn("upload", qe(o, "locale")), d = Gt(), p = wx(d), m = g(() => typeof o.iconRenderer == "function"), b = g(() => o.file.path || o.file.name), f = g(() => o.file.status), u = g(() => _n(o.file.percentage, o.precision)), h = g(() => a(o.file) && (o.file.url || o.file.base64)), i = yl(
pt({
file: qe(o, "file"),
status: f,
percentage: u
})
);
function v(A) {
return A.name.split(".").pop().toLocaleLowerCase();
}
function k(A, z = 1) {
const C = v(A), E = C && p.value[C] || p.value.default;
return { ...E, scale: +(E.scale || 1) * z };
}
function w(A) {
_(o.onDelete, A);
}
function T(A) {
_(o.onPreview, A);
}
function F(A) {
if (!A.source || !a(o.file)) return;
const z = new FileReader();
z.readAsDataURL(A.source), z.onload = () => {
var C;
A.status !== Gn.DELETE && (A.base64 = ((C = z.result) == null ? void 0 : C.toString()) ?? null);
};
}
return (A, z) => (S(), D("li", {
class: x([
e(s).be("file"),
e(s).bem("file", e(o).listType),
e(s).bem("file", f.value),
e(o).inherit && e(s).bem("file", "inherit")
]),
title: b.value,
tabindex: "-1"
}, [
W(A.$slots, "default", It(Yt(e(i))), () => [
y(e(me), {
renderer: e(o).slots.default,
data: e(i)
}, {
default: X(() => [
e(o).listType === "name" ? (S(), D(st, { key: 0 }, [
oe("div", {
class: x(e(s).be("label"))
}, [
oe("div", {
class: x([e(s).be("icon"), e(s).be("file-icon")])
}, [
W(A.$slots, "icon", It(Yt(e(i))), () => [
y(e(me), {
renderer: e(o).slots.icon,
data: e(i)
}, {
default: X(() => [
m.value ? (S(), Be(e(me), {
key: 0,
renderer: e(o).iconRenderer,
data: { file: e(o).file }
}, null, 8, ["renderer", "data"])) : (S(), Be(e(Oe), It(He({ key: 1 }, k(e(o).file))), null, 16))
]),
_: 1
}, 8, ["renderer", "data"])
])
], 2),
oe("span", {
class: x(e(s).be("filename"))
}, ze(b.value), 3)
], 2),
oe("div", {
class: x(e(s).be("actions"))
}, [
f.value === "uploading" ? (S(), D("span", {
key: 0,
style: { "margin-inline-end": "0.5em" },
class: x(e(s).be("percentage"))
}, ze(`${u.value}%`), 3)) : ge("", !0),
f.value === "success" ? (S(), D("div", {
key: 1,
class: x([e(s).be("icon"), e(s).be("success")])
}, [
y(e(Oe), It(Yt(e(d).success)), null, 16)
], 2)) : f.value === "fail" ? (S(), D("div", {
key: 2,
class: x([e(s).be("icon"), e(s).be("fail")])
}, [
y(e(Oe), It(Yt(e(d).warning)), null, 16)
], 2)) : f.value === "uploading" ? (S(), D("div", {
key: 3,
class: x([e(s).be("icon"), e(s).be("loading")])
}, [
y(e(Oe), It(Yt(e(d).loading)), null, 16)
], 2)) : ge("", !0),
oe("button", {
type: "button",
class: x([e(s).be("icon"), e(s).be("close")]),
"aria-label": e(c).ariaLabel.delete,
onClick: z[0] || (z[0] = (C) => w(e(o).file))
}, [
y(e(Oe), It(Yt(e(d).delete)), null, 16)
], 10, Sx)
], 2),
f.value === "uploading" ? (S(), D("div", {
key: 0,
class: x(e(s).be("progress"))
}, [
y(e(Cr), {
inherit: "",
"info-type": "none",
"stroke-width": 2,
percentage: e(o).file.percentage,
precision: e(o).precision
}, null, 8, ["percentage", "precision"])
], 2)) : ge("", !0)
], 64)) : e(o).listType === "thumbnail" || e(o).listType === "card" ? (S(), D("div", {
key: 1,
class: x(e(s).be("card"))
}, [
oe("div", {
class: x(e(s).be("thumbnail"))
}, [
f.value === "uploading" ? (S(), D(st, { key: 0 }, [
e(o).listType === "thumbnail" ? (S(), D("div", {
key: 0,
class: x(e(s).be("progress"))
}, [
oe("span", Cx, ze(e(o).loadingText ?? e(c).uploading), 1),
y(e(Cr), {
inherit: "",
"info-type": "none",
"stroke-width": 2,
percentage: e(o).file.percentage,
precision: e(o).precision
}, null, 8, ["percentage", "precision"]),
oe("span", {
style: { "margin-top": "3px" },
class: x(e(s).be("percentage"))
}, ze(`${u.value}%`), 3)
], 2)) : (S(), Be(e(Oe), He({ key: 1 }, e(d).loading, {
scale: +(e(d).loading.scale || 1) * 1.8,
label: "loading"
}), null, 16, ["scale"]))
], 64)) : h.value ? (S(), D("img", {
key: 1,
class: x(e(s).be("image")),
src: e(o).file.url || e(o).file.base64 || "",
alt: b.value
}, null, 10, Tx)) : (S(), D(st, { key: 2 }, [
dt(ze(F(e(o).file)) + " ", 1),
W(A.$slots, "icon", It(Yt(e(i))), () => [
y(e(me), {
renderer: e(o).slots.icon,
data: e(i)
}, {
default: X(() => [
m.value ? (S(), Be(e(me), {
key: 0,
renderer: e(o).iconRenderer,
data: { file: e(o).file }
}, null, 8, ["renderer", "data"])) : (S(), Be(e(Oe), It(He({ key: 1 }, k(e(o).file, 2.8))), null, 16))
]),
_: 1
}, 8, ["renderer", "data"])
])
], 64))
], 2),
e(o).listType === "card" ? (S(), D("div", {
key: 0,
class: x(e(s).be("info"))
}, [
oe("span", {
class: x(e(s).be("filename"))
}, ze(b.value), 3),
y(e(Ul), null, {
default: X(() => [
f.value === "uploading" ? (S(), D("div", {
key: 0,
class: x(e(s).be("progress"))
}, [
y(e(Cr), {
inherit: "",
"info-type": "none",
"stroke-width": 4,
percentage: e(o).file.percentage,
precision: e(o).precision
}, null, 8, ["percentage", "precision"])
], 2)) : ge("", !0)
]),
_: 1
})
], 2)) : ge("", !0),
e(o).listType === "card" || f.value !== "uploading" ? (S(), D("div", {
key: 1,
class: x(e(s).be("actions"))
}, [
e(o).listType === "thumbnail" ? (S(), D("div", {
key: 0,
class: x(e(s).be("mask"))
}, null, 2)) : ge("", !0),
oe("button", {
type: "button",
class: x([
e(s).be("icon"),
e(s).be("action"),
{
[e(s).bem("action", "disabled")]: !e(o).canPreview(e(o).file)
}
]),
disabled: !e(o).canPreview(e(o).file),
"aria-label": e(c).ariaLabel.preview,
onClick: z[1] || (z[1] = (C) => T(e(o).file))
}, [
y(e(Oe), He(e(d).preview, {
scale: +(e(d).preview.scale || 1) * 1.4
}), null, 16, ["scale"])
], 10, $x),
oe("button", {
type: "button",
class: x([e(s).be("icon"), e(s).be("action")]),
"aria-label": e(c).ariaLabel.delete,
onClick: z[2] || (z[2] = (C) => w(e(o).file))
}, [
y(e(Oe), He(e(d).delete, {
scale: +(e(d).delete.scale || 1) * 1.4
}), null, 16, ["scale"])
], 10, Ex)
], 2)) : ge("", !0)
], 2)) : ge("", !0)
]),
_: 3
}, 8, ["renderer", "data"])
])
], 10, xx));
}
}), xf = /* @__PURE__ */ Xe({
name: "UploadList",
__name: "upload-list",
props: yx,
setup(t) {
const l = ct("uploadList", t, {
files: {
default: () => [],
static: !0
},
selectToAdd: !1,
iconRenderer: {
default: null,
isFunc: !0
},
type: {
default: "name",
validator: (d) => Bi.includes(d)
},
loadingText: null,
style: null,
precision: 2,
// 'canPreview' using UploadFile default
slots: () => ({})
}), a = kn(), n = Ye("upload"), o = g(() => n.ns("fade"));
function s(d) {
_(l.onDelete, d);
}
function c(d) {
_(l.onPreview, d);
}
return (d, p) => (S(), D("ul", {
class: x([e(n).be("files"), e(n).bs("vars"), e(l).inherit && e(n).bem("files", "inherit")]),
style: Qe(e(l).style)
}, [
(S(!0), D(st, null, ln(e(l).files, (m) => (S(), Be(En, {
key: m.id,
appear: "",
name: e(l).selectToAdd ? o.value : void 0
}, {
default: X(() => [
y(e(wf), {
inherit: "",
file: m,
"icon-renderer": e(l).iconRenderer,
"list-type": e(l).type,
"loading-text": e(l).loadingText,
"select-to-add": e(l).selectToAdd,
precision: e(l).precision,
"can-preview": e(l).canPreview,
onDelete: s,
onPreview: c
}, nl({ _: 2 }, [
a.item || e(l).slots.item ? {
name: "default",
fn: X(({ file: b, status: f, percentage: u }) => [
W(d.$slots, "item", {
file: b,
status: f,
percentage: u
}, () => [
y(e(me), {
renderer: e(l).slots.item,
data: {
file: b,
status: f,
percentage: u
}
}, null, 8, ["renderer", "data"])
])
]),
key: "0"
} : void 0,
a.icon || e(l).slots.icon ? {
name: "icon",
fn: X(({ file: b, status: f, percentage: u }) => [
W(d.$slots, "icon", {
file: b,
status: f,
percentage: u
}, () => [
y(e(me), {
renderer: e(l).slots.icon,
data: { file: b, status: f, percentage: u }
}, null, 8, ["renderer", "data"])
])
]),
key: "1"
} : void 0
]), 1032, ["file", "icon-renderer", "list-type", "loading-text", "select-to-add", "precision", "can-preview"])
]),
_: 2
}, 1032, ["name"]))), 128)),
W(d.$slots, "suffix", {}, () => [
y(e(me), {
renderer: e(l).slots.suffix
}, null, 8, ["renderer"])
])
], 6));
}
});
function uc(t, r) {
const l = `fail to post ${t} ${r.status}'`, a = new Error(l);
return a.response = Sf(r), a.url = t, a.status = r.status, a.method = "POST", a;
}
function Sf(t) {
const r = t.responseText || t.response;
if (!r)
return r;
try {
return JSON.parse(r);
} catch {
return r;
}
}
function Ax(t) {
if (typeof XMLHttpRequest > "u")
return Qt;
const r = new XMLHttpRequest(), l = t.url;
r.upload && t.onProgress && (r.upload.onprogress = (o) => {
let s = 0;
o.total > 0 && (s = o.loaded / o.total * 100), t.onProgress(s);
});
const a = new FormData();
if (t.data) {
const o = t.data;
Object.keys(o).forEach((s) => {
a.append(s, o[s]);
});
}
a.append(t.field || "file", t.file), t.file.path && a.append(t.pathField || "path", t.file.path), t.onError && (r.onerror = () => {
t.onError(uc(l, r));
}), r.onload = () => {
var s;
if (r.status < 200 || r.status >= 300) {
t.onError && t.onError(uc(l, r));
return;
}
const o = Sf(r);
(s = t.onSuccess) == null || s.call(t, o);
}, t.onAbort && (r.onabort = () => {
t.onAbort();
}), r.open("POST", l, !0), t.withCredentials && "withCredentials" in r && (r.withCredentials = !0);
const n = t.headers ?? {};
return Object.keys(n).forEach((o) => {
ei(n, o) && dn(n[o]) && r.setRequestHeader(o, n[o]);
}), r.send(a), () => r.abort();
}
function Rx(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
function Mx() {
return {
id: vc(),
name: "",
size: 0,
type: "",
base64: null,
status: Gn.PENDING,
percentage: 0,
source: null,
url: null,
path: "",
xhr: null,
response: null,
error: null,
abort: Qt
};
}
const Px = /* @__PURE__ */ Xe({
name: "Upload",
props: gx,
emits: ["update:file-list"],
setup(t, {
slots: r,
emit: l,
expose: a
}) {
const {
idFor: n,
labelId: o,
state: s,
disabled: c,
loading: d,
size: p,
validateField: m,
getFieldValue: b,
setFieldValue: f
} = al(I), u = ct("upload", t, {
state: ll(s),
locale: null,
url: {
default: "",
static: !0
},
fileList: {
default: () => b(),
static: !0
},
multiple: !1,
tip: "",
accept: null,
filter: "",
maxSize: {
default: null,
validator: (ce) => ce >= 0
},
field: "file",
data: () => ({}),
headers: () => ({}),
withCredentials: !1,
manual: !1,
hiddenFiles: !1,
countLimit: {
default: 0,
validator: (ce) => ce >= 0
},
allowDrag: !1,
onBeforeUpload: {
default: null,
isFunc: !0
},
onBeforeSelect: {
default: null,
isFunc: !0
},
iconRenderer: {
default: null,
isFunc: !0
},
selectToAdd: !1,
listType: {
default: "name",
validator: (ce) => Bi.includes(ce)
},
block: !1,
loadingText: null,
directory: !1,
pathField: "path",
disabledClick: !1,
buttonLabel: null,
disabled: () => c.value,
loading: () => d.value,
loadingIcon: en(),
loadingLock: !1,
loadingEffect: null,
image: !1,
defaultFiles: () => [],
// canPreview: don't set, using UploadFile default value
listStyle: null,
name: {
default: "",
static: !0
},
customFetch: {
default: null,
isFunc: !0
},
slots: () => ({})
}), h = Ye("upload"), i = vn("upload", qe(u, "locale")), v = Gt(), k = $([]), w = $(!1), T = $(), F = $(), A = $(), z = g(() => u.loading && u.loadingLock), C = g(() => [h.b(), h.bs("vars"), h.bm(`type-${u.listType}`), {
[h.bm("inherit")]: u.inherit,
[h.bm(u.state)]: u.state !== "default",
[h.bm("multiple")]: u.multiple,
[h.bm("drag")]: u.allowDrag,
[h.bm("to-add")]: u.selectToAdd,
[h.bm("block")]: u.block,
[h.bm("drag-only")]: u.disabledClick,
[h.bm("image")]: u.image,
[h.bm("has-file")]: !u.hiddenFiles && L.value.length,
[h.bm("readonly")]: z.value,
[h.bm("loading")]: u.loading
}]), E = g(() => u.image ? {
[h.be("image-control")]: !0,
[h.bem("image-control", "drag-over")]: w.value,
[h.bem("image-control", "disabled")]: u.disabled
} : {
[h.be("control")]: !0,
[h.bem("control", "drag-over")]: w.value
}), P = g(() => {
var Pe;
const ce = u.image ? (Pe = u.accept) != null && Pe.length ? u.accept : "image/*" : u.accept;
return ce && (typeof ce == "string" ? ce : ce.join());
}), R = g(() => u.defaultFiles.map((ce) => Z(ce))), L = g(() => R.value.concat(k.value).filter((ce) => ce.status !== Gn.DELETE));
le(() => u.fileList, (ce) => {
const Pe = /* @__PURE__ */ new Map(), at = /* @__PURE__ */ new Map();
for (const yt of k.value)
dn(yt.id) && Pe.set(yt.id, yt), yt.source && at.set(yt.source, yt);
k.value = (ce || []).map((yt) => Z(yt, yt.id ? Pe.get(yt.id) : yt.source ? at.get(yt.source) : void 0)), Ce();
}, {
immediate: !0,
deep: !0
}), a({
isDragOver: w,
execute: we,
handleDelete: Ee,
focus: I,
blur: () => {
var ce, Pe;
(ce = F.value) == null || ce.$el.blur(), (Pe = A.value) == null || Pe.blur();
}
});
function I(ce) {
var Pe, at;
(Pe = F.value) != null && Pe.$el ? F.value.$el.focus(ce) : (at = A.value) == null || at.focus(ce);
}
function G() {
var ce;
u.disabled || z.value || !u.disabledClick && ((ce = T.value) == null || ce.click());
}
function ee(ce) {
const Pe = ce.code || ce.key;
(Pe === "Enter" || Pe === "Space") && G();
}
function O(ce) {
const Pe = ce.target;
Pe != null && Pe.files && H(Pe.files);
}
async function H(ce) {
const Pe = Array.from(ce || []), yt = u.selectToAdd ? Array.from(k.value) : [];
for (const Mt of Pe) {
Mt.path || (Mt.path = Mt.webkitRelativePath);
let Ht = q(Mt);
if (Ht ? Ht.status !== Gn.SUCCESS && Ht.status !== Gn.UPLOADING && (Ht.status = Gn.PENDING) : Ht = Z({
name: Mt.name,
size: Mt.size,
type: Mt.type,
source: Mt
}), typeof u.onBeforeSelect == "function") {
let _t = u.onBeforeSelect(Ht, yt);
if (Sl(_t) && (_t = await _t), Wi(_t)) continue;
}
yt.includes(Ht) || yt.push(Ht);
}
const Nt = u.countLimit;
if (Nt > 0 && yt.length > Nt) {
const Mt = yt.slice(Nt);
_(u.onExceed, Mt), k.value = yt.slice(0, Nt);
} else
k.value = yt;
Ce(), U(), u.manual || we();
}
function U() {
l("update:file-list", k.value), f(k.value), _(u.onChange, k.value), m();
}
function q(ce) {
const {
name: Pe,
size: at,
type: yt
} = ce, Nt = ce.path || ce.webkitRelativePath;
return k.value.find(({
source: Mt
}) => Mt && (Mt.path || Mt.webkitRelativePath) === Nt && Mt.name === Pe && Mt.size === at && Mt.type === yt);
}
function Z(ce, Pe = Mx()) {
const {
id: at,
name: yt,
size: Nt,
type: Mt,
base64: Ht,
status: _t,
percentage: tn,
source: Wt,
url: un,
path: qt
} = ce;
return Object.assign(Pe, {
id: at ?? Pe.id ?? vc(),
name: yt || "",
size: Nt || 0,
type: Mt || "",
base64: Ht || null,
status: _t ?? Gn.PENDING,
percentage: tn || 0,
source: Wt || null,
url: un || null,
path: qt || "",
xhr: null,
response: null,
error: null
}), Pe;
}
function K(ce) {
return ce.name.split(".").pop().toLocaleLowerCase();
}
async function we() {
if (!u.url || !te())
return !1;
const ce = k.value.filter((at) => at.status !== Gn.SUCCESS && at.status !== Gn.DELETE), Pe = [];
for (const at of ce)
Pe.push(de(at).catch(Qt));
return await Promise.all(Pe).then((at) => at.filter((yt) => yt));
}
async function de(ce) {
if (typeof u.onBeforeUpload == "function") {
let _t = u.onBeforeUpload(ce, k.value.filter((tn) => tn.status !== Gn.SUCCESS && tn.status !== Gn.DELETE));
if (Sl(_t))
try {
_t = await _t;
} catch {
return;
}
if (Wi(_t)) return;
_t instanceof Blob && (_t instanceof File ? ce.source = _t : ce.source = new File([_t], ce.name, {
type: ce.type
}));
}
if (!ce.source) return;
ce.status = Gn.UPLOADING;
const {
url: Pe,
headers: at,
withCredentials: yt,
data: Nt,
field: Mt,
pathField: Ht
} = u;
return await new Promise((_t, tn) => {
ce.abort = (u.customFetch || Ax)({
url: Pe,
headers: at,
withCredentials: yt,
data: Nt,
field: Mt,
pathField: Ht,
file: ce.source,
onProgress: (Wt) => {
fe(Wt, ce);
},
onSuccess: (Wt) => {
ot(Wt, ce), _t(Wt);
},
onError: (Wt) => {
Ze(Wt, ce), tn(Wt);
},
onAbort: () => {
_t(null);
}
});
});
}
function te() {
const ce = u.maxSize ? u.maxSize * 1024 : 1 / 0, Pe = typeof u.filter == "string" ? u.filter ? [u.filter] : [] : u.filter.filter((at) => at);
for (let at = 0, yt = k.value.length; at < yt; ++at) {
const Nt = k.value[at], Mt = K(Nt);
if (Pe.length && !Pe.includes(Mt))
return _(u.onFilterError, Nt), !1;
if (Nt.size > ce)
return _(u.onSizeError, Nt), !1;
}
return !0;
}
function Ee(ce) {
var Pe;
ce.status = Gn.DELETE, (Pe = ce.abort) == null || Pe.call(ce), Ce(), _(u.onDelete, ce), U();
}
function Se(ce) {
_(u.onPreview, ce);
}
function Ce() {
if (!zt) return;
const ce = new DataTransfer();
k.value = k.value.filter((Pe) => Pe.status !== Gn.DELETE), k.value.forEach((Pe) => {
Pe.source && ce.items.add(Pe.source);
}), T.value && (T.value.files = ce.files);
}
function fe(ce, Pe) {
Pe.status !== Gn.DELETE && (Pe.percentage = ce, _(u.onProgress, Pe, ce), U());
}
function ot(ce, Pe) {
Pe.status !== Gn.DELETE && (Pe.status = Gn.SUCCESS, Pe.response = ce, Pe.error = null, _(u.onSuccess, Pe, ce), U());
}
function Ze(ce, Pe) {
Pe.status !== Gn.DELETE && (Pe.status = Gn.FAIL, Pe.error = ce, _(u.onError, Pe, ce), U());
}
let Je;
pn(() => {
clearTimeout(Je);
});
async function se(ce) {
if (!(!u.allowDrag || u.disabled || z.value) && (clearTimeout(Je), ce.preventDefault(), w.value = !1, ce.dataTransfer)) {
const Pe = await J(ce.dataTransfer);
Pe.length && H(Pe);
}
}
function ne(ce) {
!u.allowDrag || u.disabled || z.value || (clearTimeout(Je), ce.preventDefault(), w.value = !0);
}
function ue(ce) {
!u.allowDrag || u.disabled || z.value || (ce.preventDefault(), Je = setTimeout(() => {
w.value = !1;
}, 100));
}
async function J(ce) {
var Wt, un;
const {
items: Pe,
files: at
} = ce;
if (!Pe.length) return [];
const yt = [], Nt = [], Mt = [];
for (let qt = 0, pe = Pe.length; qt < pe; ++qt) {
const Re = (un = (Wt = Pe[qt]).webkitGetAsEntry) == null ? void 0 : un.call(Wt);
if (!Re) return at;
Re.isFile ? yt.push(at[qt]) : Nt.push({
dir: Re,
prefix: ""
});
}
if (!u.directory || !Nt.length) return yt;
const Ht = [];
let _t = u.countLimit - (u.selectToAdd ? k.value.length : 0);
_t = Math.round(_t) > 0 ? _t : 100;
const tn = () => {
for (; Nt.length; ) {
const qt = Nt.shift(), pe = qt.dir, Re = qt.prefix ? `${qt.prefix}/${pe.name}` : pe.name, he = pe.createReader();
Mt.push(new Promise((Fe) => {
he.readEntries((lt) => {
lt.forEach((Ke) => {
Ke.isFile ? Ht.push({
entry: Ke,
prefix: Re
}) : Nt.push({
dir: Ke,
prefix: Re
});
}), Fe();
});
}));
}
};
for (; tn(), await Promise.all(Mt), !(!Nt.length || Ht.length >= _t); )
;
return Ht.length > 0 ? yt.concat(await Promise.all(Ht.map(({
entry: qt,
prefix: pe
}) => new Promise((Re) => qt.file((he) => {
he.path = `${pe}/${he.name}`, Re(he);
}))))) : yt;
}
function N(ce) {
ce.preventDefault();
}
function j() {
return !u.allowDrag && !u.disabledClick ? y(st, null, [y(Hn, {
ref: F,
inherit: !0,
size: p.value,
type: u.state,
disabled: u.disabled,
loading: u.loading
}, {
default: () => u.buttonLabel ?? i.value.upload,
icon: () => y(Oe, v.value.upload, null),
loading: () => y(Oe, He(v.value.loading, {
class: h.be("loading-icon"),
effect: u.loadingEffect || v.value.loading.effect,
icon: u.loadingIcon || v.value.loading.icon,
label: "loading"
}), null)
}), W(r, "tip", void 0, () => [y(me, {
renderer: u.slots.tip
}, {
default: () => [u.tip && y("p", {
class: h.be("tip")
}, [u.tip])]
})])]) : y("div", {
ref: A,
class: [h.be("drag-panel"), u.disabled && h.bem("drag-panel", "disabled")],
tabindex: 0
}, [W(r, "cloud", void 0, () => [y(me, {
renderer: u.slots.cloud
}, {
default: () => [y(Oe, He(v.value.uploadCloud, {
class: [h.be("cloud"), u.disabled && h.bem("cloud", "disabled")],
scale: +(v.value.uploadCloud.scale || 1) * 4
}), null)]
})]), W(r, "tip", void 0, () => [y(me, {
renderer: u.slots.tip
}, {
default: () => [y("p", {
class: h.be("tip")
}, [u.tip || i.value.dragOrClick])]
})]), y(Oe, He(v.value.loading, {
class: h.be("loading-icon"),
effect: u.loadingEffect || v.value.loading.effect,
icon: u.loadingIcon || v.value.loading.icon,
label: "loading",
style: {
opacity: u.loading ? "100%" : "0%"
}
}), null)]);
}
function ae() {
return y("button", {
class: [h.be("image-action"), u.disabled && h.bem("image-action", "disabled")],
type: "button"
}, [W(r, "default", {
isDragOver: (u.allowDrag || u.disabledClick) && w.value
}, () => [y(me, {
renderer: u.slots.default,
data: {
isDragOver: (u.allowDrag || u.disabledClick) && w.value
}
}, {
default: () => [u.loading ? y(Oe, He(v.value.loading, {
class: h.be("loading-icon"),
effect: u.loadingEffect || v.value.loading.effect,
icon: u.loadingIcon || v.value.loading.icon,
label: "loading",
style: {
marginBottom: "6px"
}
}), null) : y(Oe, He(v.value.plus, {
class: [h.be("cloud"), u.disabled && h.bem("cloud", "disabled")],
scale: +(v.value.plus.scale || 1) * 1.2,
style: {
marginBottom: "6px"
}
}), null), y("span", null, [u.buttonLabel ?? i.value.upload])]
})])]);
}
function be() {
const ce = u.image ? "li" : "div";
return y(ce, {
class: E.value,
tabindex: -1,
onClick: G,
onDrop: se,
onDragover: ne,
onDragleave: ue,
onKeydown: ee
}, {
default: () => [!u.disabledClick && y("input", {
ref: T,
type: "file",
class: h.be("input"),
disabled: u.disabled,
multiple: u.multiple,
name: u.name,
accept: P.value,
webkitdirectory: u.directory || void 0,
onChange: O,
onSubmit: N
}, null), u.image ? ae() : W(r, "default", {
isDragOver: (u.allowDrag || u.disabledClick) && w.value
}, () => {
let Pe;
return [y(me, {
renderer: u.slots.default,
data: {
isDragOver: (u.allowDrag || u.disabledClick) && w.value
}
}, Rx(Pe = j()) ? Pe : {
default: () => [Pe]
})];
})]
});
}
function re() {
return y(xf, {
inherit: !0,
files: L.value,
"select-to-add": u.selectToAdd,
type: u.image ? "thumbnail" : u.listType,
"icon-renderer": u.iconRenderer,
"loading-text": u.loadingText,
"can-preview": u.canPreview,
style: u.listStyle,
onDelete: Ee,
onPreview: Se
}, {
item: r.item || u.slots.item ? (ce) => W(r, "item", ce, () => [y(me, {
renderer: u.slots.item,
data: ce
}, null)]) : null,
icon: r.icon || u.slots.icon ? (ce) => W(r, "icon", ce, () => [y(me, {
renderer: u.slots.icon,
data: ce
}, null)]) : null,
suffix: () => u.image && (!u.countLimit || L.value.length < u.countLimit) ? be() : null
});
}
return () => y("div", {
id: n.value,
class: C.value,
role: "group",
"aria-labelledby": o.value
}, [!u.image && be(), !u.hiddenFiles && re()]);
},
methods: {
execute: Qt,
handleDelete: Qt,
focus: Qt,
blur: Qt
}
}), zx = ft({
src: String,
srcList: Array,
noControls: M,
videoAttrs: Object,
time: Number,
volume: Number,
playbackRate: Number,
playbackRates: Array,
// kernel: Object as PropType<VideoKernel>,
controlLayout: Object,
poster: String,
video: Object,
segments: Array,
loading: M,
loadingIcon: Xt,
loadingEffect: String,
shortcuts: Object,
slots: Object,
onPlay: B(),
onPause: B(),
onEnded: B(),
onTimeChange: B(),
onVolumeChange: B(),
onRateChange: B(),
onToggleFlip: B(),
onTogglePip: B(),
onToggleFull: B(),
onPrev: B(),
onNext: B(),
onRefresh: B()
}), Lx = ft({
type: String,
label: String,
tipClass: [String, Array, Object],
disabled: M,
shortcut: String,
focusable: M,
value: [Number, String],
options: Array,
onClick: B(),
onEnter: B(),
onLeave: B(),
onFocus: B(),
onBlur: B(),
onSelect: B()
}), yo = {
left: ["play-prev", "play", "play-next", "refresh", "timer"],
center: [],
right: ["playback-rate", "volume", "flip", "pip", "full-window", "full-browser"]
};
for (const t of Object.keys(yo))
yo[t] = Object.freeze(yo[t]);
const ro = Object.freeze(yo), Fx = Object.freeze({
play: "Space",
"play-prev": "PageUp",
"play-next": "PageDown",
refresh: "R",
flip: "C",
volume: "M",
pip: "P",
"full-window": "G",
"full-browser": "F"
}), Hi = "__VXP_VIDEO_STATE", Dl = /* @__PURE__ */ Xe({
name: "VideoControl",
__name: "video-control",
props: Lx,
setup(t) {
const l = ct("videoControl", t, {
type: "button",
label: {
static: !0,
default: ""
},
tipClass: null,
disabled: !1,
shortcut: {
static: !0,
default: ""
},
focusable: !1,
value: null,
options: () => []
}), a = Ye("video"), n = Et(Hi), o = $(l.value), s = g(() => ({
[a.be("control")]: !0,
[a.bem("control", l.type)]: l.type !== "button",
[a.bem("control", "disabled")]: l.disabled
})), c = g(() => l.type === "button" ? a.be("control-tip") : a.be("control-panel")), d = g(() => l.options.map((h) => typeof h == "string" ? { value: h } : h)), p = g(() => Rs(d.value, "value", void 0, !0)), m = g(() => p.value.get(o.value));
let b;
le(
() => l.shortcut,
(h) => {
b == null || b(), h && (b = n.addShortcut(h, f));
},
{ immediate: !0 }
), pn(() => b == null ? void 0 : b());
function f() {
!l.disabled && _(l.onClick);
}
function u(h) {
l.disabled || h.disabled || (o.value = h.value, _(l.onSelect, h));
}
return (h, i) => (S(), D("div", {
class: x(s.value)
}, [
y(e(Fl), {
trigger: e(l).focusable ? "hover-focus" : "hover",
raw: "",
shift: "",
transfer: e(n).placeId && `#${e(n).placeId}`,
"tip-class": [c.value, e(l).tipClass],
"no-hover": e(l).type === "button",
disabled: e(l).type === "button" ? !e(l).label : e(l).disabled,
onTipEnter: i[2] || (i[2] = (v) => e(_)(e(l).onEnter)),
onTipLeave: i[3] || (i[3] = (v) => e(_)(e(l).onLeave))
}, {
trigger: X(() => [
oe("button", {
class: x(e(a).be("control-button")),
type: "button",
onFocus: i[0] || (i[0] = (v) => e(_)(e(l).onFocus, v)),
onBlur: i[1] || (i[1] = (v) => e(_)(e(l).onBlur, v)),
onClick: f
}, [
m.value ? W(h.$slots, "selected", {
key: 0,
option: m.value
}, () => [
dt(ze(m.value.selectedLabel || m.value.label || m.value.value), 1)
]) : W(h.$slots, "default", { key: 1 })
], 34)
]),
default: X(() => [
e(l).type === "button" ? (S(), D("span", {
key: 0,
class: x(e(a).be("control-name"))
}, [
W(h.$slots, "label", {}, () => [
dt(ze(e(l).label) + " ", 1),
e(l).shortcut ? (S(), D("span", {
key: 0,
class: x(e(a).be("control-shortcut"))
}, ze(`(${e(l).shortcut})`), 3)) : ge("", !0)
])
], 2)) : W(h.$slots, "panel", { key: 1 }, () => [
e(l).type === "select" ? (S(), D("ul", {
key: 0,
class: x(e(a).be("control-options"))
}, [
(S(!0), D(st, null, ln(d.value, (v, k) => (S(), Be(e(qo), {
key: v.value,
class: x({
[e(a).be("control-option")]: !0,
[e(a).bem("control-option", "selected")]: v.value === o.value
}),
label: v.label,
value: v.value,
disabled: v.disabled,
divided: v.disabled,
title: v.title,
"no-hover": "",
onSelect: (w) => u(v)
}, {
default: X(() => [
W(h.$slots, "option", {
option: v,
index: k,
selected: v.value === o.value
}, () => [
dt(ze(v.label || v.value), 1)
])
]),
_: 2
}, 1032, ["class", "label", "value", "disabled", "divided", "title", "onSelect"]))), 128))
], 2)) : ge("", !0)
])
]),
_: 3
}, 8, ["trigger", "transfer", "tip-class", "no-hover", "disabled"])
], 2));
}
});
function Zs(t) {
if (t <= 0) return "00:00";
const r = ep(Math.ceil(t), 60, 2);
return r.length < 2 && r.unshift(0), r.length < 3 ? r.map(ol).join(":") : r.map((l, a) => a ? ol(l) : l).join(":");
}
function Ix(t, r) {
return {
...r,
scale: +(r.scale || 1) * t
};
}
const Nx = ["src"], Dx = /* @__PURE__ */ Xe({
name: "VideoProgress",
__name: "video-progress",
props: {
time: {
type: Number,
default: 0
},
duration: {
type: Number,
default: 0
},
segments: {
type: Array,
default: () => []
},
noPreview: {
type: Boolean,
default: !1
},
previewSrc: {
type: String,
default: ""
}
},
emits: ["change"],
setup(t, { emit: r }) {
const l = t, a = r, n = Ye("video"), o = vn("video"), { timer: s } = Vn(), c = $(0), d = $(!1), p = $(0), m = $(0), b = $(0);
let f = [0, 0], u = 100, h = 60;
const i = $(), v = $(), k = g(() => {
var O;
return (O = v.value) == null ? void 0 : O.$el;
}), w = $(), T = g(() => {
var O;
return !!((O = v.value) != null && O.sliding[1]);
}), F = g(() => l.duration ? (T.value ? c.value : l.time) / l.duration * 100 : 0), A = g(() => ({
[n.be("progress")]: !0,
[n.bem("progress", "sliding")]: T.value,
[n.bem("progress", "disabled")]: l.duration <= 0
})), z = g(() => {
const O = Math.max(1, l.duration);
let H = l.segments.map((q) => q.time);
H.length || (H = [0, O]), H = H.at(-1) === O ? H : [...H, O], H = H[0] === 0 ? H : [0, ...H];
const U = [];
for (let q = 0, Z = H.length - 1; q < Z; ++q) {
const K = H[q], we = H[q + 1], de = we - K;
U.push({
start: K,
startPercent: K / O * 100,
end: we,
endPercent: we / O * 100,
duration: de,
durationPercent: de / O * 100,
width: (we - K) / O * 100
});
}
return U;
}), C = g(() => {
var Z;
const O = p.value, H = l.segments;
if (!H.length) return "";
let U = -1;
if (O <= 0)
U = 0;
else
for (let K = 1, we = H.length; K < we; ++K)
if (H[K].time > O) {
U = K - 1;
break;
}
U < 0 && (U = H.length - 1);
const q = ((Z = H[U]) == null ? void 0 : Z.title) || jc(o.value.chapterCount, U + 1);
return q && ` (${q})`;
});
Dn(k, "pointerenter", () => {
clearTimeout(s.hover), s.hover = setTimeout(() => {
d.value = !0;
}, 100);
}), Dn(k, "pointerleave", () => {
clearTimeout(s.hover), s.hover = setTimeout(() => {
d.value = !1;
}, 100);
}), Dn(
k,
"pointermove",
Cl((O) => {
T.value || E(O);
})
);
function E(O) {
if (!k.value) return;
const H = cn(
O.clientX - k.value.getBoundingClientRect().left,
0,
u
);
p.value = H / u * l.duration, m.value = H + f[0], b.value = cn(
H - h * 0.5 + f[0],
0,
u - h + f[0] + f[1]
);
}
function P(O) {
var U, q;
if (!i.value) return;
const H = getComputedStyle(i.value);
f = [parseFloat(H.paddingLeft), parseFloat(H.paddingRight)], u = ((q = (U = O.borderBoxSize) == null ? void 0 : U[0]) == null ? void 0 : q.inlineSize) ?? O.contentRect.width;
}
function R(O) {
var H, U;
h = ((U = (H = O.borderBoxSize) == null ? void 0 : H[0]) == null ? void 0 : U.inlineSize) ?? O.contentRect.width;
}
function L(O) {
a("change", O / 1e3 * l.duration);
}
const I = Cl(E);
function G() {
c.value = l.time, document.addEventListener("pointermove", I), document.addEventListener("pointerup", ee);
}
function ee() {
document.removeEventListener("pointermove", I), document.removeEventListener("pointerup", ee);
}
return (O, H) => (S(), D("div", {
ref_key: "wrapper",
ref: i,
class: x(A.value)
}, [
y(e(zn), { "on-resize": P }, {
default: X(() => [
y(e(Fi), {
ref_key: "slider",
ref: v,
class: x(e(n).be("progress-slider")),
value: F.value * 10,
max: 1e3,
vertical: !1,
range: !1,
"hide-tip": "",
"trigger-fade": "",
"flip-marker": "",
disabled: t.duration <= 0,
onChange: L,
onPointerdown: G
}, {
filler: X((U) => [
(S(!0), D(st, null, ln(z.value, (q, Z) => (S(), D("div", {
key: Z,
class: x(e(n).be("progress-segment")),
style: Qe({ width: `${q.width}%` })
}, [
oe("div", {
class: x(e(n).be("progress-track"))
}, [
oe("div", {
class: x(e(n).be("progress-filler")),
style: Qe({
visibility: U.percent[1] < q.startPercent ? "hidden" : void 0,
transform: `translateX(${Math.min(
Math.max(U.percent[1] - q.startPercent, 0) / q.durationPercent * 100 - 100,
0
)}%) translateZ(0)`
})
}, null, 6)
], 2)
], 6))), 128))
]),
trigger: X(() => [
W(O.$slots, "trigger", {}, () => [
oe("div", {
class: x(e(n).be("progress-trigger"))
}, null, 2)
])
]),
_: 3
}, 8, ["class", "value", "disabled"])
]),
_: 3
}),
oe("div", {
class: x({
[e(n).be("progress-indicator")]: !0,
[e(n).bem("progress-indicator", "active")]: d.value && !T.value
}),
style: Qe({ transform: `translateX(${m.value}px) translateZ(0)` })
}, null, 6),
t.noPreview ? ge("", !0) : (S(), Be(e(zn), {
key: 0,
"on-resize": R
}, {
default: X(() => [
oe("div", {
ref_key: "preview",
ref: w,
class: x({
[e(n).be("preview")]: !0,
[e(n).bem("preview", "has-image")]: t.previewSrc,
[e(n).bem("preview", "active")]: d.value || T.value
}),
style: Qe({ transform: `translateX(${b.value}px) translateZ(0)` })
}, [
W(O.$slots, "preview", {}, () => [
t.previewSrc ? (S(), D("div", {
key: 0,
class: x(e(n).be("preview-image"))
}, [
oe("img", { src: t.previewSrc }, null, 8, Nx)
], 2)) : ge("", !0),
oe("div", {
class: x(e(n).be("preview-time"))
}, ze(e(Zs)(p.value) + C.value), 3)
])
], 6)
]),
_: 3
}))
], 2));
}
}), Ox = /* @__PURE__ */ Xe({
name: "VideoTimer",
__name: "video-timer",
props: {
time: {
type: Number,
default: 0
},
duration: {
type: Number,
default: 0
},
disabled: {
type: Boolean,
default: !1
}
},
emits: ["change"],
setup(t, { emit: r }) {
const l = t, a = r, n = Ye("video"), o = $(l.time), s = $(!1), c = $(84), d = $(""), p = $(), m = $(), b = g(() => Zs(o.value));
le(
() => l.time,
(h) => {
o.value = h;
}
), le(
() => l.disabled,
(h) => {
h && (s.value = !1);
}
), sn(() => {
le(
() => l.duration,
() => {
kt(() => {
c.value = m.value ? Bo(m.value) * 2 + 20 : 84;
});
},
{ immediate: !0 }
);
});
function f() {
!l.disabled && !s.value && (s.value = !0, d.value = b.value, kt(() => {
var h;
(h = p.value) == null || h.focus();
}));
}
function u(h) {
if (s.value = !1, h) {
const i = d.value.trim().split(":");
i.every((v) => tr(v)) && (o.value = i.map(rn).reverse().slice(0, 3).reduce((v, k, w) => v + 60 ** w * k, 0), o.value = Math.min(o.value, l.duration), a("change", o.value));
}
}
return (h, i) => (S(), D("div", {
class: x([e(n).be("control"), e(n).be("timer"), l.disabled && e(n).bem("control", "disabled")]),
style: Qe({ width: `${c.value}px` }),
onClick: f
}, [
s.value ? (S(), Be(e(Vr), {
key: 0,
ref_key: "input",
ref: p,
value: d.value,
"onUpdate:value": i[0] || (i[0] = (v) => d.value = v),
class: x(e(n).be("timer-input")),
size: "small",
transparent: "",
onBlur: i[1] || (i[1] = (v) => u(!1)),
onEnter: i[2] || (i[2] = (v) => u(!0))
}, null, 8, ["value", "class"])) : (S(), D(st, { key: 1 }, [
oe("span", null, ze(b.value), 1),
oe("span", {
class: x(e(n).be("timer-separator"))
}, "/", 2),
oe("span", {
ref_key: "durationEl",
ref: m
}, ze(e(Zs)(t.duration)), 513)
], 64))
], 6));
}
}), _x = /* @__PURE__ */ Xe({
name: "VideoVolume",
__name: "video-volume",
props: {
volume: {
type: Number,
default: 1
}
},
emits: ["change"],
setup(t, { expose: r, emit: l }) {
const a = t, n = l, o = Ye("video"), s = Gt(), c = Et(Hi), d = $(a.volume), p = $(!1), m = g(() => p.value ? s.value.volumeMute : d.value < 0.5 ? s.value.volumeLow : s.value.volume);
le(
() => a.volume,
(h) => {
d.value = h;
}
), r({ toggleMute: f });
let b = d.value;
function f() {
p.value ? d.value = b <= 0 ? 0.5 : b : (b = d.value, d.value = 0), p.value = !p.value, n("change", d.value);
}
function u(h) {
h /= 100, b = h, d.value = h, p.value = h <= 0, n("change", d.value);
}
return (h, i) => (S(), Be(Dl, {
class: x(e(o).be("volume")),
type: "panel",
"tip-class": e(o).be("volume-panel"),
onClick: f
}, {
panel: X(() => [
oe("div", {
class: x(e(o).be("volume-text"))
}, ze((d.value * 100).toFixed()), 3),
y(e(Fi), {
value: d.value * 100,
class: x(e(o).be("volume-slider")),
min: 0,
max: 100,
vertical: "",
"hide-tip": "",
reverse: "",
range: !1,
onInput: u
}, null, 8, ["value", "class"])
]),
default: X(() => [
y(e(Oe), It(Yt(e(Ix)(e(c).iconScale, m.value))), null, 16)
]),
_: 1
}, 8, ["class", "tip-class"]));
}
}), Bx = /* @__PURE__ */ Xe({
name: "Video",
props: zx,
emits: ["update:src", "update:time", "update:volume", "update:playback-rate"],
setup(t, {
slots: r,
emit: l,
expose: a
}) {
var Ke, Ct;
const n = ct("video", t, {
src: {
static: !0,
default: ""
},
srcList: {
static: !0,
default: null
},
noControls: !1,
videoAttrs: null,
time: {
static: !0,
default: 0
},
volume: 1,
playbackRate: 1,
playbackRates: () => [0.5, 1, 1.25, 1.5, 2],
// kernel: null,
controlLayout: () => ro,
poster: "",
video: {
static: !0,
default: null
},
segments: () => [],
loading: !1,
loadingIcon: null,
loadingEffect: null,
shortcuts: () => ({}),
slots: () => ({})
}), o = Ye("video"), s = vn("video"), c = Gt(), {
timer: d
} = Vn(), p = zt && document.pictureInPictureEnabled, m = $(n.src || ((Ke = n.srcList) == null ? void 0 : Ke[0]) || ((Ct = n.videoAttrs) == null ? void 0 : Ct.src) || ""), b = $(!1), f = $(n.time), u = $(!1), h = $(0), i = $(n.volume), v = $(!1), k = $(!0), w = $(!1), T = $(n.playbackRate), F = $(!1), A = $(!1), z = $(!1), C = $(1.3), E = $(), P = g(() => {
var ve;
return (ve = E.value) == null ? void 0 : ve.wrapper;
}), R = $(), L = $(), I = g(() => {
var ve;
return (ve = E.value) == null ? void 0 : ve.placeId;
}), G = g(() => {
var ve;
return ((ve = E.value) == null ? void 0 : ve.full) ?? !1;
}), ee = g(() => R.value || n.video), O = pt({}), H = g(() => ({
...Fx,
...n.shortcuts
}));
function U(ve, Ve) {
return O[ve] ? (console.warn(`[vexip-ui:Video] duplicate shortcut key '${ve}' and it will be ignored`), Qt) : (O[ve] = Ve, () => {
delete O[ve];
});
}
cl({
target: P,
passive: !1,
onKeyDown: (ve, Ve) => {
ve.ctrlKey || ve.shiftKey || ve.altKey || ve.metaKey || za([[() => Ve.up, () => {
i.value = Math.min(1, i.value + 0.05);
}], [() => Ve.down, () => i.value = Math.max(0, i.value - 0.05)], [() => Ve.right, () => f.value = Math.min(h.value, f.value + 5)], [() => Ve.left, () => f.value = Math.max(0, f.value - 5)], [() => Ve[H.value.volume || "M"], () => {
var Ie;
return (Ie = L.value) == null ? void 0 : Ie.toggleMute();
}], ...Object.keys(O).map((Ie) => [() => Ve[Ie], O[Ie]])], {
afterMatchAny: Ve.resetAll
});
}
});
const q = g(() => [o.b(), o.bs("vars"), {
[o.bm("loading")]: n.loading
}]), Z = g(() => b.value ? c.value.pause : c.value.play), K = g(() => b.value ? c.value.pauseState : c.value.playState), we = g(() => {
const ve = n.playbackRates.map((Ve) => {
const Ie = typeof Ve == "number" ? {
value: Ve
} : Ve;
return Ie.value = rn(Ie.value), Ie.label = Ie.label || `${Bl(Ie.value) ? Ie.value : Ie.value.toFixed(1)}x`, Ie;
}).filter((Ve) => Ve.value > 0).sort((Ve, Ie) => Ie.value - Ve.value);
if (!ve.find((Ve) => Ve.value === 1)) {
const Ve = ve.findIndex((Ie) => Ie.value < 1);
ve.splice((Ve + ve.length) % ve.length, 0, {
value: 1,
label: "1.0x"
});
}
return ve;
}), de = g(() => n.segments.map((ve) => typeof ve == "number" ? {
time: ve
} : ve).filter((ve) => ve.time >= 0 && ve.time <= h.value).sort((ve, Ve) => ve.time - Ve.time)), te = g(() => h.value ? f.value / h.value * 100 : 0), Ee = g(() => {
var Ve;
const ve = n.src || ((Ve = n.videoAttrs) == null ? void 0 : Ve.src) || "";
return ve && n.srcList && !n.srcList.includes(ve) ? [ve].concat(n.srcList) : n.srcList || [ve];
}), Se = g(() => Ee.value ? Ee.value.indexOf(m.value) : -1), Ce = yl(pt({
playing: b,
currentTime: f,
currentVolume: i,
currentRate: T,
interacting: F,
flipped: z,
canPlay: u,
duration: h,
pip: v,
hasPlayed: A,
togglePlaying: fe,
togglePip: Ze,
changeRate: Je,
changeTime: se,
changeVolume: ne,
toggleFull: Pe
}));
le(() => n.src, (ve) => {
N(), m.value = ve;
}, {
flush: "pre"
}), le(() => n.time, (ve) => {
se(ve, !1);
}), le(() => n.volume, (ve) => {
ne(ve, !1);
}), le(() => n.playbackRate, (ve) => {
Je(ve, !1);
}), le(b, (ve) => {
ve ? requestAnimationFrame(() => {
k.value = !1;
}) : k.value = !0;
}), le(u, (ve) => {
ve || (b.value = !1);
}), le(k, (ve) => {
ve && (w.value = !1);
}), sn(() => {
kt(() => {
var ve;
zt && !ee.value && ((ve = E.value) != null && ve.wrapper) && (R.value = E.value.wrapper.querySelector("video") ?? void 0), ee.value && f.value > 0 && (ee.value.currentTime = f.value);
});
}), nn(Hi, pt({
placeId: I,
iconScale: C,
addShortcut: U
})), Dn(ee, "canplay", () => {
var ve;
u.value = !0, h.value = ((ve = ee.value) == null ? void 0 : ve.duration) ?? 0;
}), Dn(ee, "timeupdate", () => {
var ve;
f.value = ((ve = ee.value) == null ? void 0 : ve.currentTime) ?? 0, l("update:time", f.value), _(n.onTimeChange, f.value);
}), Dn(ee, "ended", ot), Dn(ee, "enterpictureinpicture", () => {
v.value = !0, _(n.onTogglePip, !0);
}), Dn(ee, "leavepictureinpicture", () => {
v.value = !1, _(n.onTogglePip, !1);
}), a({
currentSrc: m,
playing: b,
currentTime: f,
duration: h,
pip: v,
interacting: F,
stateHidden: w,
wrapper: P,
video: R,
resetMetaState: N
});
function fe(ve = !b.value) {
var Ve, Ie, Me;
if (!u.value) {
b.value = !1;
return;
}
b.value = ve, b.value ? (A.value = !0, (Ve = ee.value) == null || Ve.play()) : (Ie = ee.value) == null || Ie.pause(), (Me = P.value) == null || Me.focus(), _(b.value ? n.onPlay : n.onPause);
}
function ot() {
var ve;
b.value = !1, (ve = ee.value) == null || ve.pause(), _(n.onEnded);
}
async function Ze() {
!p || !ee.value || (v.value ? await document.exitPictureInPicture() : await ee.value.requestPictureInPicture());
}
function Je(ve, Ve = !0) {
T.value = ve, ee.value && (ee.value.playbackRate = ve), Ve && (l("update:playback-rate", ve), _(n.onRateChange, ve));
}
function se(ve, Ve = !0) {
f.value = ve, ee.value && ve !== ee.value.currentTime && (ee.value.currentTime = ve, ve = ee.value.currentTime), Ve && (l("update:time", ve), _(n.onTimeChange, ve));
}
function ne(ve, Ve = !0) {
i.value = ve, ee.value && (ee.value.volume = ve), Ve && (l("update:volume", ve), _(n.onVolumeChange, ve));
}
function ue(ve = !z.value, Ve = !0) {
z.value = ve, Ve && _(n.onToggleFlip, z.value);
}
function J(ve) {
kt(() => {
var Ve;
(Ve = P.value) == null || Ve.focus(), _(n.onToggleFull, ve);
});
}
function N() {
var ve;
b.value = !1, f.value = 0, u.value = !1, h.value = 0, v.value = !1, A.value = !1, (ve = ee.value) == null || ve.pause();
}
function j() {
clearTimeout(d.interact), F.value = !0, d.interact = setTimeout(() => {
F.value = !1;
}, 3e3);
}
function ae() {
clearTimeout(d.interact), d.interact = setTimeout(() => {
F.value = !1;
}, 500);
}
function be(ve) {
const Ve = Ee.value;
n.srcList && (m.value = Ve[(Se.value + ve + Ve.length) % Ve.length], l("update:src", m.value));
}
function re() {
be(-1), _(n.onPrev);
}
function ce() {
be(1), _(n.onNext);
}
function Pe(ve) {
var Ve;
(Ve = E.value) == null || Ve.toggle(ve);
}
function at() {
_(n.onRefresh);
}
function yt() {
return y(Dl, {
class: o.be("play-prev"),
label: s.value.playPrev,
shortcut: H.value["play-prev"],
disabled: !!n.srcList && !Se.value,
onClick: re
}, {
default: () => [y(Oe, He(c.value.playPrev, {
scale: +(c.value.playPrev.scale || 1) * C.value
}), null)]
});
}
function Nt() {
return y(Dl, {
class: o.be("play"),
label: b.value ? s.value.pause : s.value.play,
shortcut: H.value.play,
disabled: !u.value,
onClick: fe
}, {
default: () => [y(Oe, He(Z.value, {
scale: +(Z.value.scale || 1) * C.value * 1.16
}), null)]
});
}
function Mt() {
return y(Dl, {
class: o.be("play-next"),
label: s.value.playNext,
shortcut: H.value["play-next"],
disabled: !!n.srcList && Se.value === Ee.value.length - 1,
onClick: ce
}, {
default: () => [y(Oe, He(c.value.playNext, {
scale: +(c.value.playNext.scale || 1) * C.value
}), null)]
});
}
function Ht() {
return y(Dl, {
class: o.be("play-refresh"),
label: s.value.refresh,
shortcut: H.value.refresh,
onClick: at
}, {
default: () => [y(Oe, He(c.value.refresh, {
scale: +(c.value.refresh.scale || 1) * C.value
}), null)]
});
}
function _t() {
return y(Ox, {
time: f.value,
duration: h.value,
disabled: !u.value,
onChange: se
}, null);
}
function tn() {
return y(Dl, {
class: o.be("playback-rate"),
type: "select",
value: T.value,
options: we.value,
onSelect: (ve) => Je(ve.value)
}, null);
}
function Wt() {
return y(_x, {
ref: L,
volume: i.value,
onChange: ne
}, null);
}
function un() {
return y(Dl, {
class: o.be("flip"),
label: s.value.flip,
shortcut: H.value.flip,
onClick: ue
}, {
default: () => [y(Oe, He(c.value.flipX, {
scale: +(c.value.flipX.scale || 1) * C.value
}), null)]
});
}
function qt() {
return !p || !R.value ? null : y(Dl, {
class: o.be("pip"),
label: v.value ? s.value.exitPip : s.value.requestPip,
shortcut: H.value.pip,
disabled: !u.value,
onClick: Ze
}, {
default: () => [y(Oe, He(c.value.pip, {
scale: +(c.value.pip.scale || 1) * C.value
}), null)]
});
}
function pe() {
return y(Dl, {
class: o.be("full-window"),
label: G.value === "window" ? s.value.fullWindowExit : s.value.fullWindow,
shortcut: H.value["full-window"],
onClick: () => Pe("window")
}, {
default: () => [y(Oe, He(c.value.fullWindow, {
scale: +(c.value.fullWindow.scale || 1) * C.value
}), null)]
});
}
function Re() {
return y(Dl, {
class: o.be("full-browser"),
label: G.value === "browser" ? s.value.fullScreenExit : s.value.fullScreen,
shortcut: H.value["full-browser"],
onClick: () => Pe("browser")
}, {
default: () => [y(Oe, He(c.value.fullScreen, {
scale: +(c.value.fullScreen.scale || 1) * C.value
}), null)]
});
}
function he(ve) {
var Ve;
switch (ve) {
case "play-prev":
return yt();
case "play":
return Nt();
case "play-next":
return Mt();
case "refresh":
return Ht();
case "timer":
return _t();
case "playback-rate":
return tn();
case "volume":
return Wt();
case "flip":
return un();
case "pip":
return qt();
case "full-window":
return pe();
case "full-browser":
return Re();
default:
return (Ve = Yn(r, [`control-${ve}`, `control${Hc(ve)}`])) == null ? void 0 : Ve(Ce);
}
}
function Fe() {
return n.noControls ? y(Cr, {
class: o.be("progress-line"),
percentage: te.value,
"stroke-width": 1,
"info-type": "none"
}, null) : y("div", {
class: {
[o.be("controls")]: !0,
[o.bem("controls", "collapsed")]: A.value && !F.value
}
}, [y("section", {
class: o.be("controls-top")
}, [y(Dx, {
time: f.value,
duration: h.value,
segments: de.value,
onChange: se
}, null)]), y("section", {
class: o.be("controls-bottom")
}, [y("div", {
class: o.be("controls-left")
}, [(n.controlLayout.left ?? ro.left).map(he)]), y("div", {
class: o.be("controls-center")
}, [(n.controlLayout.center ?? ro.center).map(he)]), y("div", {
class: o.be("controls-right")
}, [(n.controlLayout.right ?? ro.right).map(he)])])]);
}
function lt() {
return y("div", {
class: o.be("main")
}, [y("div", {
class: [o.be("player"), z.value && o.bem("player", "flipped")],
onClick: () => fe()
}, [W(r, "player", {}, () => {
var ve;
return [y("video", He(n.videoAttrs, {
ref: R,
class: o.be("video"),
src: m.value || ((ve = n.videoAttrs) == null ? void 0 : ve.src)
}), [W(r, "default")])];
})]), !A.value && (n.poster || r.poster || n.slots.poster) && y("div", {
class: o.be("poster")
}, [W(r, "poster", void 0, () => [y(me, {
renderer: n.slots.poster
}, {
default: () => [y("img", {
src: n.poster
}, null)]
})])]), y(En, {
name: o.bs("state-effect"),
onAfterLeave: () => w.value = !0
}, {
default: () => [u.value && k.value && y("div", {
class: o.be("state")
}, [W(r, "state", {
active: k.value
}, () => [y(Oe, He(K.value, {
scale: +(K.value.scale || 1) * 5
}), null)])])]
}), y(En, {
name: o.ns("fade")
}, {
default: () => [(!u.value && !k.value || n.loading && w.value) && y("div", {
class: o.be("loading")
}, [W(r, "loading", {}, () => [y(Oe, He(c.value.loading, {
icon: n.loadingIcon || c.value.loading.icon,
label: "loading",
effect: n.loadingEffect || c.value.loading.effect,
scale: +(K.value.scale || 1) * 5
}), null)])])]
}), Fe(), W(r, "extra")]);
}
return () => y(jd, {
ref: E,
class: q.value,
tabindex: "-1",
onToggle: J,
onPointermove: j,
onPointerleave: ae
}, {
default: lt
});
}
}), Vi = ft({
type: String,
tag: String,
delete: M,
strong: M,
italic: M,
underline: M,
code: M,
mark: M,
disabled: M,
keyboard: M,
thin: M,
reversed: M
}), Hx = jo(Vi, ["tag", "code"]), Vx = jo(Vi, ["tag", "strong", "code"]), Cf = ft({
type: String,
level: Number,
top: M,
marker: M,
aligned: M,
thin: M,
markerType: String
}), Ia = jo(Cf, ["level"]), mS = Ia, bS = Ia, gS = Ia, yS = Ia, kS = Ia, wS = Ia, jx = ft({
type: String
}), Wx = ft({
type: String
}), Kx = ft({
listStyle: String
}), Tf = /* @__PURE__ */ Xe({
name: "Title",
props: Cf,
emits: [],
setup(t, {
slots: r
}) {
const l = ct("title", t, {
type: "default",
level: 5,
top: !1,
marker: !1,
aligned: !1,
thin: !1,
markerType: null
}), a = Ye("title"), n = g(() => Tc(l.markerType)), o = g(() => l.markerType || l.type), s = g(() => ({
[a.b()]: !0,
[a.bs("vars")]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm(l.type)]: l.type !== "default",
[a.bm("top")]: l.top,
[a.bm("marker")]: l.marker,
[a.bm("aligned")]: l.aligned,
[a.bm("thin")]: l.thin,
[a.bm(`marker-${o.value}`)]: !n.value && o.value !== "default"
})), c = g(() => cn(Math.round(l.level), 1, 6) || 5), d = g(() => n.value ? {
[a.cv("marker-color")]: l.markerType
} : null);
return () => {
const p = `h${c.value}`;
return y(p, {
class: s.value,
style: d.value
}, {
default: () => {
var m;
return [(m = r.default) == null ? void 0 : m.call(r)];
}
});
};
}
});
function Ux(t) {
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const ji = /* @__PURE__ */ Xe({
name: "Text",
props: Vi,
emits: [],
setup(t, {
slots: r
}) {
const l = ct("text", t, {
type: "default",
tag: "span",
delete: !1,
strong: !1,
italic: !1,
underline: !1,
code: !1,
mark: !1,
disabled: !1,
keyboard: !1,
thin: !1,
reversed: !1
}), a = Ye("text"), n = g(() => ({
[a.b()]: !0,
[a.bs("vars")]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm(l.type)]: l.type !== "default",
[a.bm("delete")]: l.delete,
[a.bm("strong")]: l.strong,
[a.bm("italic")]: l.italic,
[a.bm("underline")]: l.underline,
[a.bm("code")]: l.code,
[a.bm("mark")]: l.mark,
[a.bm("disabled")]: l.disabled,
[a.bm("keyboard")]: l.keyboard,
[a.bm("thin")]: l.thin,
[a.bm("reversed")]: l.reversed
}));
return () => {
const o = l.tag || "span", s = W(r, "default");
return l.code ? y("code", {
class: n.value
}, [l.delete ? y("del", null, [s]) : s]) : l.keyboard ? y("kbd", {
class: n.value
}, [l.delete ? y("del", null, [s]) : s]) : l.delete ? y("del", {
class: n.value
}, [s]) : y(o, {
class: n.value
}, Ux(s) ? s : {
default: () => [s]
});
};
}
}), Xx = /* @__PURE__ */ Xe({
name: "Blockquote",
props: jx,
emits: [],
setup(t, {
slots: r
}) {
const l = ct("blockquote", t, {
type: "default"
}), a = Ye("blockquote"), n = g(() => ({
[a.b()]: !0,
[a.bs("vars")]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm(l.type)]: l.type !== "default"
}));
return () => {
var o;
return y("blockquote", {
class: n.value
}, [(o = r.default) == null ? void 0 : o.call(r)]);
};
}
}), Yx = /* @__PURE__ */ Xe({
name: "OL",
props: Wx,
emits: [],
setup(t, {
slots: r
}) {
const l = ct("ol", t, {
type: "1"
}), a = Ye("ol");
return () => {
var n;
return y("ol", {
class: [a.b(), l.inherit && a.bm("inherit")],
type: l.type
}, [(n = r.default) == null ? void 0 : n.call(r)]);
};
}
}), qx = /* @__PURE__ */ Xe({
name: "UL",
props: Kx,
emits: [],
setup(t, {
slots: r
}) {
const l = ct("ul", t, {
listStyle: "circle"
}), a = Ye("ul"), n = g(() => ({
[a.b()]: !0,
[a.bm("inherit")]: l.inherit,
[a.bm("no-marker")]: l.listStyle === "none"
}));
return () => {
var o;
return y("ul", {
class: n.value,
style: {
listStyleType: l.listStyle
}
}, [(o = r.default) == null ? void 0 : o.call(r)]);
};
}
});
function pr(t) {
return /* @__PURE__ */ Xe({
name: `H${t}`,
props: Ia,
emits: [],
setup(r, {
slots: l
}) {
const a = ct(`h${t}`, r, {
type: "default",
top: !1,
marker: !1,
aligned: !1,
thin: !1
});
return () => y(Tf, He(a, {
level: t
}), {
default: () => {
var n;
return [(n = l.default) == null ? void 0 : n.call(l)];
}
});
}
});
}
const Gx = pr(1), Zx = pr(2), Jx = pr(3), Qx = pr(4), eS = pr(5), tS = pr(6), nS = /* @__PURE__ */ Xe({
name: "P",
props: Hx,
emits: [],
setup(t, {
slots: r
}) {
const l = ct("p", t, {
type: "default",
delete: !1,
strong: !1,
italic: !1,
underline: !1,
mark: !1,
disabled: !1,
keyboard: !1,
thin: !1,
reversed: !1
});
return () => y(ji, He(l, {
tag: "p"
}), {
default: () => {
var a;
return [(a = r.default) == null ? void 0 : a.call(r)];
}
});
}
}), lS = /* @__PURE__ */ Xe({
name: "Strong",
props: Vx,
emits: [],
setup(t, {
slots: r
}) {
const l = ct("strong", t, {
type: "default",
delete: !1,
italic: !1,
underline: !1,
mark: !1,
disabled: !1,
keyboard: !1,
thin: !1,
reversed: !1
});
return () => y(ji, He(l, {
tag: "strong",
strong: !0
}), {
default: () => {
var a;
return [(a = r.default) == null ? void 0 : a.call(r)];
}
});
}
});
function aS(t = [], r) {
return function(a, n = {}) {
const {
prefix: o = "",
namespace: s = "",
props: c = {},
locale: d = r,
zIndex: p,
icons: m = {},
hoverDelay: b = 100
} = n, f = g(() => ({ ...r, ...e(d) }));
ah(s, a), si(c, a), ri(f, a), oi(m, a), Vc(b, a), typeof e(p) == "number" && ii(p, a);
const u = Hc(o || "");
t.forEach((h) => {
typeof h == "function" || typeof h.install == "function" ? a.use(h) : a.component(`${u}${h.name}`, h);
});
};
}
function rS(t, r) {
!Cs(t) && si(t, r);
}
function xS(t = {}, r) {
const { props: l = {}, locale: a = {}, zIndex: n, icons: o = {} } = t;
rS(l, r), !Cs(a) && ri(a, r), !Cs(o) && oi(o, r), typeof e(n) == "number" && ii(n, r);
}
const SS = "2.3.39", oS = [
Ym,
eb,
ob,
kd,
xg,
wa,
Ag,
Cd,
Fg,
$d,
xi,
Hn,
_g,
Qg,
Si,
oy,
Rd,
iy,
dy,
fy,
Sy,
$y,
xl,
Ay,
Py,
Fy,
Ul,
Gy,
Lo,
Jy,
j0,
Vd,
G0,
Jo,
es,
Qo,
ts,
gb,
e1,
t1,
n1,
jd,
s1,
c1,
Oe,
x1,
S1,
Ai,
Vr,
j1,
ef,
Qd,
Jd,
qd,
Us,
fr,
Ri,
as,
Kr,
Ld,
Al,
Ir,
qo,
ck,
Go,
fk,
Xl,
Pi,
Zo,
Cr,
Oo,
wk,
me,
zn,
Ck,
gi,
Ei,
Ma,
wi,
Ud,
Tk,
Fi,
Fk,
ui,
Ok,
Zd,
sf,
Ii,
Wk,
yw,
Ni,
Di,
hf,
kw,
Gl,
Cw,
Pw,
Bw,
jw,
Ww,
Fl,
lx,
ix,
dx,
bx,
Px,
wf,
xf,
Bx,
Wd,
Wr,
bo,
// plugins
i0,
m0,
K1,
tk,
uk,
Yw,
// typography
Tf,
ji,
Xx,
Yx,
qx,
Gx,
Zx,
Jx,
Qx,
eS,
tS,
nS,
lS,
// directives
Wm
], CS = aS(oS);
export {
Ym as Affix,
eb as Alert,
ob as Anchor,
kd as AnchorLink,
xg as AutoComplete,
wa as Avatar,
Ag as AvatarGroup,
Cd as Badge,
Xx as Blockquote,
Fg as Breadcrumb,
$d as BreadcrumbItem,
xi as Bubble,
Hn as Button,
_g as ButtonGroup,
Qg as Calendar,
Si as CalendarPanel,
oy as Captcha,
Rd as CaptchaSlider,
iy as Card,
dy as Carousel,
fy as CarouselItem,
Sy as Cascader,
$y as Cell,
xl as Checkbox,
Ay as CheckboxGroup,
Py as Collapse,
Fy as CollapsePanel,
Ul as CollapseTransition,
Gy as ColorPicker,
Lo as Column,
Jy as ConfigProvider,
i0 as Confirm,
Ti as ConfirmManager,
m0 as Contextmenu,
h0 as ContextmenuManager,
j0 as DatePicker,
Vd as Divider,
G0 as Drawer,
Jo as Dropdown,
es as DropdownItem,
Qo as DropdownList,
ts as Ellipsis,
gb as Form,
e1 as FormItem,
t1 as FormReset,
n1 as FormSubmit,
jd as FullScreen,
s1 as Grid,
Gx as H1,
Zx as H2,
Jx as H3,
Qx as H4,
eS as H5,
tS as H6,
c1 as Highlight,
Oe as Icon,
x1 as Image,
S1 as ImageGroup,
Ai as ImageViewer,
Vr as Input,
j1 as Layout,
ef as LayoutAside,
Qd as LayoutFooter,
Jd as LayoutHeader,
qd as LayoutMain,
Us as Linker,
K1 as Loading,
Mi as LoadingManager,
fr as Masker,
Ri as Menu,
as as MenuGroup,
Kr as MenuItem,
tk as Message,
zi as MessageManager,
Ld as Modal,
Al as NativeScroll,
uk as Notice,
Li as NoticeManager,
Ir as NumberInput,
Yx as OL,
qo as Option,
ck as OptionGroup,
Go as Overflow,
nS as P,
fk as Pagination,
Xl as Popper,
Pi as Popup,
Zo as Portal,
Cr as Progress,
Oo as Radio,
wk as RadioGroup,
me as Renderer,
zn as ResizeObserver,
Ck as Result,
gi as Row,
Ei as Scroll,
Ma as Scrollbar,
wi as Select,
Ud as Skeleton,
Tk as SkeletonGroup,
Fi as Slider,
Fk as Space,
ui as Spin,
Ok as Split,
lS as Strong,
Zd as Switch,
sf as TabNav,
Ii as TabNavItem,
Wk as TabPanel,
yw as Table,
Ni as TableColumn,
Di as TableColumnGroup,
hf as TableSummary,
kw as Tabs,
Gl as Tag,
ji as Text,
Cw as Textarea,
Pw as TimeAgo,
Bw as TimePicker,
jw as Timeline,
Ww as TimelineItem,
Tf as Title,
Yw as Toast,
_i as ToastManager,
Fl as Tooltip,
lx as Tour,
ix as TourStep,
dx as Transfer,
bx as Tree,
qx as UL,
Px as Upload,
wf as UploadFile,
xf as UploadList,
Bx as Video,
Wd as Viewer,
Wr as VirtualList,
bo as Wheel,
Km as affixProps,
Jm as alertProps,
nb as anchorLinkProps,
tb as anchorProps,
qb as animateScrollTo,
kg as autoCompleteProps,
Cg as avatarGroupProps,
Sg as avatarProps,
Rg as badgeProps,
jx as blockquoteProps,
Lg as breadcrumbItemProps,
zg as breadcrumbProps,
Ig as bubbleProps,
aS as buildInstall,
Og as buttonGroupProps,
Dg as buttonProps,
qg as calendarPanelProps,
Gg as calendarProps,
ty as captchaSliderProps,
sy as cardProps,
uy as carouselProps,
yy as cascaderProps,
Ty as cellProps,
vy as checkboxGroupProps,
py as checkboxProps,
Gm as collapsePanelProps,
qm as collapseProps,
Zm as collapseTransitionProps,
Wy as colorPickerProps,
ib as columnProps,
oi as configIcons,
ri as configLocale,
rS as configProps,
Zy as configProviderProps,
ii as configZIndex,
o0 as confirmProps,
Fo as currentBreakPoint,
O0 as datePickerProps,
fS as defineColumn,
pS as defineColumns,
cS as defineFilter,
dS as defineSorter,
hS as defineSummaries,
vS as defineSummary,
fS as defineTableColumn,
pS as defineTableColumns,
cS as defineTableFilter,
dS as defineTableSorter,
hS as defineTableSummaries,
vS as defineTableSummary,
W0 as dividerProps,
K0 as drawerProps,
d0 as dropdownItemProps,
c0 as dropdownProps,
Z0 as ellipsisProps,
pb as formItemProps,
fb as formProps,
hb as formResetProps,
vb as formSubmitProps,
l1 as fullScreenProps,
Au as getValueByPath,
Cy as gridProps,
mS as h1Props,
bS as h2Props,
gS as h3Props,
yS as h4Props,
kS as h5Props,
wS as h6Props,
i1 as highlightProps,
hh as iconProps,
h1 as imageGroupProps,
v1 as imageProps,
m1 as imageViewerProps,
Bb as inputProps,
CS as install,
Wm as installDirectives,
T1 as layoutAsideProps,
A1 as layoutFooterProps,
$1 as layoutHeaderProps,
E1 as layoutMainProps,
C1 as layoutProps,
H1 as linkerProps,
Qy as maskerProps,
uS as menuGroupProps,
z1 as menuItemProps,
P1 as menuProps,
t0 as modalProps,
Yb as nativeScrollProps,
Bg as numberInputProps,
Wx as olProps,
Qb as optionGroupProps,
Jb as optionProps,
tg as overflowProps,
Hx as pProps,
dk as paginationProps,
lg as popperProps,
pk as progressProps,
xS as provideConfig,
bk as radioGroupProps,
mk as radioProps,
gh as rendererProps,
Xb as resizeObserverProps,
xk as resultProps,
sb as rowProps,
$0 as scrollProps,
jb as scrollbarProps,
pg as selectProps,
bs as setValueByPath,
y1 as skeletonGroupProps,
g1 as skeletonProps,
Ek as sliderProps,
Rk as spaceProps,
yh as spinProps,
Ik as splitProps,
Vx as strongProps,
O1 as switchProps,
rf as tabNavItemProps,
af as tabNavProps,
Vk as tabPanelProps,
df as tableColumnGroupProps,
cf as tableColumnProps,
Kk as tableProps,
ff as tableSummaryProps,
Hk as tabsProps,
sg as tagProps,
Vi as textProps,
ww as textareaProps,
Rw as timeAgoProps,
_0 as timePickerProps,
Vw as timelineItemProps,
Hw as timelineProps,
Cf as titleProps,
Kw as toastProps,
ug as tooltipProps,
qw as tourProps,
gf as tourStepProps,
ux as transferProps,
mx as treeProps,
Kx as ulProps,
kx as uploadFileProps,
yx as uploadListProps,
gx as uploadProps,
al as useFieldStore,
r0 as useModal,
wh as vLoading,
jm as vResize,
Rb as validate,
Fb as validateBoolean,
Db as validateDate,
_b as validateEmail,
Pb as validateEnumeration,
Nb as validateFloat,
Ib as validateInt,
ki as validateNumber,
Mb as validateRequirement,
Lb as validateString,
zb as validateType,
Ob as validateUrl,
SS as version,
ro as videoDefaultControlLayout,
Fx as videoDefaultShortcuts,
zx as videoProps,
f1 as viewerDefaultActionLayout,
d1 as viewerProps,
fg as virtualListProps,
P0 as wheelProps
};
//# sourceMappingURL=vexip-ui.mjs.map