unocss-ui
Version:
A Vue3 component library built with Unocss.
3,367 lines • 110 kB
JavaScript
import { defineComponent as j, computed as U, openBlock as c, createElementBlock as d, mergeProps as T, createElementVNode as u, createCommentVNode as _, normalizeClass as b, unref as x, renderSlot as w, createBlock as P, resolveDynamicComponent as fe, withCtx as A, withDirectives as M, isRef as Q, vModelCheckbox as ce, ref as O, reactive as R, onMounted as Pe, normalizeStyle as we, watch as Y, onUnmounted as ra, Teleport as kt, nextTick as _t, createVNode as D, Transition as xe, Fragment as B, renderList as S, withModifiers as L, toDisplayString as z, createTextVNode as K, withKeys as na, vModelText as sa, normalizeProps as ze, createSlots as ia, vModelRadio as ca, TransitionGroup as ua, vShow as $t, useAttrs as da, resolveComponent as fa, guardReactiveProps as pa, vModelDynamic as va, createStaticVNode as jt, provide as ya, useSlots as ma, getCurrentScope as ha, onScopeDispose as ba, toRef as ga, readonly as wa, customRef as xa, pushScopeId as Vt, popScopeId as Ct } from "vue";
const ka = { class: "flex" }, _a = { key: 0 }, $a = {
key: 0,
class: "ml-2 h-6 w-6 flex items-center justify-center"
}, ja = {
name: "UAlert"
}, Bt = /* @__PURE__ */ j({
...ja,
props: {
type: { default: "primary" },
icon: { default: "" },
closeable: { type: Boolean, default: !1 },
noIcon: { type: Boolean, default: !1 },
colorful: { type: Boolean, default: !1 },
bordered: { type: Boolean, default: !1 }
},
emits: ["close"],
setup(e) {
const t = e, a = U(() => {
if (t.noIcon)
return "";
if (t.icon)
return t.icon;
switch (t.type) {
case "success":
return "i-mdi:check-circle text-success-500";
case "info":
return "i-mdi:information text-info-500";
case "warning":
return "i-mdi:alert-circle text-warning-500";
case "error":
return "i-mdi:close-circle text-error-500";
case "primary":
return "i-mdi:information-slab-circle text-primary-500";
case "secondary":
return "i-mdi:information-slab-circle text-secondary-500";
case "accent":
return "i-mdi:information-slab-circle text-accent-500";
default:
return "";
}
});
return (l, n) => (c(), d("div", T(l.$attrs, {
class: ["max-w-lg flex justify-between rounded-lg px-4 py-3", [
e.colorful ? `bg-${e.type}-50 text-${e.type}-800` : "bg-white text-gray-700",
e.bordered ? "border border-current" : "border-none shadow"
]]
}), [
u("div", ka, [
e.noIcon ? _("", !0) : (c(), d("div", _a, [
u("div", {
class: b(["mr-3 h-6 w-6", x(a)])
}, null, 2)
])),
w(l.$slots, "default")
]),
e.closeable ? (c(), d("div", $a, [
u("button", {
class: "i-mdi:close-thick h-4 w-4 cursor-pointer transition hover:scale-125",
onClick: n[0] || (n[0] = (o) => l.$emit("close"))
})
])) : _("", !0)
], 16));
}
}), Va = { class: "relative cursor-default" }, Ca = {
name: "UBadge"
}, Ba = /* @__PURE__ */ j({
...Ca,
props: {
type: { default: "default" },
size: { default: "md" },
content: { default: "" }
},
setup(e) {
return (t, a) => (c(), d("span", Va, [
w(t.$slots, "default", {}, void 0, !0),
u("span", {
class: b(["absolute translate-x-1/2 rounded-full text-white -right-1 -top-1/2", [
e.content ? "min-w-5" : "h-3 w-3",
[e.type],
{
"text-xs": e.size === "sm",
"px-1 py-0.5 text-xs": e.size === "md",
"px-2.5 py-1 text-sm ": e.size === "lg"
}
]])
}, z(e.content), 3)
]));
}
}), pe = (e, t) => {
const a = e.__vccOpts || e;
for (const [l, n] of t)
a[l] = n;
return a;
}, za = /* @__PURE__ */ pe(Ba, [["__scopeId", "data-v-5426b2a5"]]), Ua = { class: "flex items-center" }, Aa = {
name: "UButton",
inheritAttrs: !1
}, ye = /* @__PURE__ */ j({
...Aa,
props: {
as: { default: "button" },
type: { default: "default" },
size: { default: "md" },
disabled: { type: Boolean, default: !1 }
},
setup(e) {
return (t, a) => (c(), d("div", Ua, [
(c(), P(fe(e.as), T(t.$attrs, {
type: "button",
disabled: e.disabled,
"aria-disabled": e.disabled,
class: ["inline-flex cursor-pointer items-center justify-center whitespace-nowrap rounded-md font-sans text-xs font-semibold leading-4 shadow-sm disabled:cursor-not-allowed disabled:opacity-30 focus:outline-none focus:ring-2 focus:ring-offset-2", [
e.type === "default" ? "text-gray-700 bg-gray-100 hover:bg-gray-200 focus:ring-gray-500" : `text-white bg-${e.type}-500 hover:bg-${e.type}-600 focus:ring-${e.type}-500`,
{
"px-2 py-1": e.size === "sm",
"px-3 py-2": e.size === "md",
"px-4 py-3": e.size === "lg"
}
]]
}), {
default: A(() => [
w(t.$slots, "default")
]),
_: 3
}, 16, ["disabled", "aria-disabled", "class"]))
]));
}
});
ye.install = function(e) {
e.component(ye.name, ye);
};
var Ta = typeof global == "object" && global && global.Object === Object && global;
const zt = Ta;
var Ma = typeof self == "object" && self && self.Object === Object && self, Sa = zt || Ma || Function("return this")();
const E = Sa;
var Oa = E.Symbol;
const q = Oa;
function Ia(e, t) {
for (var a = -1, l = e == null ? 0 : e.length, n = Array(l); ++a < l; )
n[a] = t(e[a], a, e);
return n;
}
var Pa = Array.isArray;
const ke = Pa;
var Ut = Object.prototype, Ea = Ut.hasOwnProperty, La = Ut.toString, ne = q ? q.toStringTag : void 0;
function Ka(e) {
var t = Ea.call(e, ne), a = e[ne];
try {
e[ne] = void 0;
var l = !0;
} catch {
}
var n = La.call(e);
return l && (t ? e[ne] = a : delete e[ne]), n;
}
var Da = Object.prototype, Ra = Da.toString;
function Fa(e) {
return Ra.call(e);
}
var Na = "[object Null]", qa = "[object Undefined]", Ze = q ? q.toStringTag : void 0;
function ae(e) {
return e == null ? e === void 0 ? qa : Na : Ze && Ze in Object(e) ? Ka(e) : Fa(e);
}
function le(e) {
return e != null && typeof e == "object";
}
var Ha = "[object Symbol]";
function Ga(e) {
return typeof e == "symbol" || le(e) && ae(e) == Ha;
}
var Za = 1 / 0, We = q ? q.prototype : void 0, Ye = We ? We.toString : void 0;
function At(e) {
if (typeof e == "string")
return e;
if (ke(e))
return Ia(e, At) + "";
if (Ga(e))
return Ye ? Ye.call(e) : "";
var t = e + "";
return t == "0" && 1 / e == -Za ? "-0" : t;
}
function Wa(e) {
return e == null ? "" : At(e);
}
var Ya = 0;
function ee(e) {
var t = ++Ya;
return Wa(e) + t;
}
const Xa = { class: "h-6 flex items-center" }, Ja = ["for"], Qa = ["id", "disabled", "value"], el = ["for"], tl = {
name: "UCheckbox"
}, al = /* @__PURE__ */ j({
...tl,
props: {
modelValue: { default: !1 },
type: { default: "primary" },
size: { default: "md" },
checked: { type: Boolean, default: !1 },
disabled: { type: Boolean, default: !1 },
value: { default: null },
checkedValue: { default: !0 },
uncheckedValue: { default: !1 },
labelLeft: { type: Boolean, default: !1 }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const a = e, l = ee("checkbox-"), n = U({
get: () => a.value ? a.modelValue || a.value : a.checkedValue && a.modelValue === a.checkedValue ? !0 : a.uncheckedValue && a.modelValue === a.uncheckedValue ? !1 : a.modelValue || a.checked,
set: (o) => {
if (a.value) {
t("update:modelValue", o);
return;
}
if (a.checkedValue && o) {
t("update:modelValue", a.checkedValue);
return;
} else if (a.uncheckedValue && !o) {
t("update:modelValue", a.uncheckedValue);
return;
}
t("update:modelValue", o);
}
});
return (o, r) => (c(), d("div", Xa, [
o.$slots.default && e.labelLeft ? (c(), d("label", {
key: 0,
for: x(l),
class: b(["mr-2 select-none", e.disabled ? "cursor-not-allowed" : "cursor-pointer"])
}, [
w(o.$slots, "default")
], 10, Ja)) : _("", !0),
M(u("input", T({
id: x(l),
"onUpdate:modelValue": r[0] || (r[0] = (s) => Q(n) ? n.value = s : null)
}, o.$attrs, {
type: "checkbox",
disabled: e.disabled,
value: e.value,
class: ["border-gray-300 rounded", [
`text-${e.type}-400 focus:ring-${e.type}-500`,
e.disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer",
{
"h-3 w-3": e.size === "sm",
"h-4 w-4": e.size === "md",
"h-5 w-5": e.size === "lg"
}
]]
}), null, 16, Qa), [
[ce, x(n)]
]),
o.$slots.default && !e.labelLeft ? (c(), d("label", {
key: 1,
for: x(l),
class: b(["ml-2 select-none", e.disabled ? "cursor-not-allowed" : "cursor-pointer"])
}, [
w(o.$slots, "default")
], 10, el)) : _("", !0)
]));
}
}), ll = { class: "border border-gray-100 rounded-md p-4" }, ol = { class: "flex-1" }, rl = /* @__PURE__ */ u("svg", {
xmlns: "http://www.w3.org/2000/svg",
fill: "none",
viewBox: "0 0 24 24",
"stroke-width": "1.5",
stroke: "currentColor",
class: "w-5 text-gray-500"
}, [
/* @__PURE__ */ u("path", {
"stroke-linecap": "round",
"stroke-linejoin": "round",
d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
})
], -1), nl = [
rl
], sl = {
name: "UCollapse"
}, il = /* @__PURE__ */ j({
...sl,
props: {
expanded: { type: Boolean, default: !1 },
disabled: { type: Boolean, default: !1 },
iconLeft: { type: Boolean, default: !1 }
},
setup(e) {
const t = e, a = O(null), l = R({
collapsed: !t.expanded,
expandedCompleted: !1,
maxHeight: 0,
toggleExpand() {
t.disabled || (l.expandedCompleted = !1, l.collapsed && setTimeout(() => {
l.expandedCompleted = !0;
}, 300), l.collapsed = !l.collapsed, l.resizeContent());
},
resizeContent() {
var n;
l.maxHeight = l.collapsed ? 0 : ((n = a.value) == null ? void 0 : n.offsetHeight) || 0;
}
});
return Pe(() => l.resizeContent()), (n, o) => (c(), d("div", ll, [
u("div", {
class: b(["flex items-center", [
e.disabled ? "cursor-not-allowed" : "cursor-pointer",
{
"flex-row-reverse": e.iconLeft
}
]]),
onClick: o[0] || (o[0] = //@ts-ignore
(...r) => l.toggleExpand && l.toggleExpand(...r))
}, [
u("div", ol, [
w(n.$slots, "default")
]),
u("div", {
class: b(["transition transition-transform duration-200 ease-in-out", [
e.iconLeft ? "mr-2" : "ml-2",
{
"rotate-180": !l.collapsed
}
]])
}, nl, 2)
], 2),
u("div", {
class: b(["transition-all duration-300 ease-in-out", {
"overflow-y-hidden": !l.expandedCompleted
}]),
style: we({ maxHeight: `${l.maxHeight}px` })
}, [
u("div", {
ref_key: "content",
ref: a
}, [
w(n.$slots, "content")
], 512)
], 6)
]));
}
}), cl = { class: "relative" }, ul = { class: "absolute inset-0 flex items-center" }, dl = {
name: "UDivider"
}, fl = /* @__PURE__ */ j({
...dl,
props: {
align: { default: "center" },
dashed: { type: Boolean, default: !1 },
thickness: { default: 2 }
},
setup(e) {
return (t, a) => (c(), d("div", T({ class: "w-full" }, t.$attrs), [
u("div", cl, [
u("div", ul, [
u("div", {
class: b(["w-full border-t border-t-1 border-gray-300", [`border-t-${e.thickness}`, { "border-dashed": e.dashed }]])
}, null, 2)
]),
u("div", {
class: b(["relative flex", {
"justify-center": e.align === "center",
"justify-end": e.align === "right",
"justify-start": e.align === "left"
}])
}, [
w(t.$slots, "default")
], 2)
])
], 16));
}
}), pl = /* @__PURE__ */ u("div", { class: "absolute inset-0 bg-gray-500 opacity-75" }, null, -1), vl = [
pl
], yl = {
name: "UDrawer"
}, ml = /* @__PURE__ */ j({
...yl,
props: {
modelValue: { type: Boolean, default: !1 },
placement: { default: "left" },
width: { default: "md" },
duration: { default: "200" }
},
emits: ["update:modelValue", "close"],
setup(e, { emit: t }) {
const a = e;
Y(
() => a.modelValue,
(n) => {
n && t("update:modelValue", n), document.body.style.overflow = n ? "hidden" : "auto";
}
);
function l() {
t("update:modelValue", !1), t("close");
}
return ra(() => {
document.body.style.overflow = "auto";
}), (n, o) => (c(), P(kt, { to: "body" }, [
e.modelValue ? (c(), d("div", {
key: 0,
class: "fixed inset-0 z-40",
onClick: l
}, vl)) : _("", !0),
u("div", T(n.$attrs, {
class: ["fixed z-50 overflow-y-auto bg-white transition-all duration-200", [`duration-${e.duration}`, {
[`h-screen w-${e.width}`]: e.placement === "right" || e.placement === "left",
[`w-full h-${e.width}`]: e.placement === "top" || e.placement === "bottom",
"-left-full top-0": e.placement === "left" && !e.modelValue,
"left-0 top-0": e.placement === "left" && e.modelValue,
"-right-full top-0": e.placement === "right" && !e.modelValue,
"right-0 top-0": e.placement === "right" && e.modelValue,
"-top-full left-0": e.placement === "top" && !e.modelValue,
"top-0 left-0 ": e.placement === "top" && e.modelValue,
"-bottom-full left-0": e.placement === "bottom" && !e.modelValue,
"bottom-0 left-0": e.placement === "bottom" && e.modelValue
}]]
}), [
w(n.$slots, "default")
], 16)
]));
}
});
function Tt(e) {
return ha() ? (ba(e), !0) : !1;
}
function be(e) {
return typeof e == "function" ? e() : x(e);
}
const Mt = typeof window < "u", Ee = () => {
}, Ue = /* @__PURE__ */ hl();
function hl() {
var e;
return Mt && ((e = window == null ? void 0 : window.navigator) == null ? void 0 : e.userAgent) && /* @__PURE__ */ /iP(ad|hone|od)/.test(window.navigator.userAgent);
}
const Xe = {
mounted: "mounted",
updated: "updated",
unmounted: "unmounted"
};
function bl(...e) {
if (e.length !== 1)
return ga(...e);
const t = e[0];
return typeof t == "function" ? wa(xa(() => ({ get: t, set: Ee }))) : O(t);
}
function se(e) {
var t;
const a = be(e);
return (t = a == null ? void 0 : a.$el) != null ? t : a;
}
const St = Mt ? window : void 0;
function me(...e) {
let t, a, l, n;
if (typeof e[0] == "string" || Array.isArray(e[0]) ? ([a, l, n] = e, t = St) : [t, a, l, n] = e, !t)
return Ee;
Array.isArray(a) || (a = [a]), Array.isArray(l) || (l = [l]);
const o = [], r = () => {
o.forEach((f) => f()), o.length = 0;
}, s = (f, m, k, v) => (f.addEventListener(m, k, v), () => f.removeEventListener(m, k, v)), i = Y(
() => [se(t), be(n)],
([f, m]) => {
r(), f && o.push(
...a.flatMap((k) => l.map((v) => s(f, k, v, m)))
);
},
{ immediate: !0, flush: "post" }
), p = () => {
i(), r();
};
return Tt(p), p;
}
let Je = !1;
function Qe(e, t, a = {}) {
const { window: l = St, ignore: n = [], capture: o = !0, detectIframe: r = !1 } = a;
if (!l)
return;
Ue && !Je && (Je = !0, Array.from(l.document.body.children).forEach((f) => f.addEventListener("click", Ee)));
let s = !0;
const i = (f) => n.some((m) => {
if (typeof m == "string")
return Array.from(l.document.querySelectorAll(m)).some((k) => k === f.target || f.composedPath().includes(k));
{
const k = se(m);
return k && (f.target === k || f.composedPath().includes(k));
}
}), p = [
me(l, "click", (f) => {
const m = se(e);
if (!(!m || m === f.target || f.composedPath().includes(m))) {
if (f.detail === 0 && (s = !i(f)), !s) {
s = !0;
return;
}
t(f);
}
}, { passive: !0, capture: o }),
me(l, "pointerdown", (f) => {
const m = se(e);
m && (s = !f.composedPath().includes(m) && !i(f));
}, { passive: !0 }),
r && me(l, "blur", (f) => {
var m;
const k = se(e);
((m = l.document.activeElement) == null ? void 0 : m.tagName) === "IFRAME" && !(k != null && k.contains(l.document.activeElement)) && t(f);
})
].filter(Boolean);
return () => p.forEach((f) => f());
}
const Le = {
[Xe.mounted](e, t) {
const a = !t.modifiers.bubble;
if (typeof t.value == "function")
e.__onClickOutside_stop = Qe(e, t.value, { capture: a });
else {
const [l, n] = t.value;
e.__onClickOutside_stop = Qe(e, l, Object.assign({ capture: a }, n));
}
},
[Xe.unmounted](e) {
e.__onClickOutside_stop();
}
};
function Ot(e) {
const t = window.getComputedStyle(e);
if (t.overflowX === "scroll" || t.overflowY === "scroll" || t.overflowX === "auto" && e.clientHeight < e.scrollHeight || t.overflowY === "auto" && e.clientWidth < e.scrollWidth)
return !0;
{
const a = e.parentNode;
return !a || a.tagName === "BODY" ? !1 : Ot(a);
}
}
function gl(e) {
const t = e || window.event, a = t.target;
return Ot(a) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1);
}
function wl(e, t = !1) {
const a = O(t);
let l = null, n;
Y(bl(e), (s) => {
if (s) {
const i = s;
n = i.style.overflow, a.value && (i.style.overflow = "hidden");
}
}, {
immediate: !0
});
const o = () => {
const s = be(e);
!s || a.value || (Ue && (l = me(
s,
"touchmove",
(i) => {
gl(i);
},
{ passive: !1 }
)), s.style.overflow = "hidden", a.value = !0);
}, r = () => {
const s = be(e);
!s || !a.value || (Ue && (l == null || l()), s.style.overflow = n, a.value = !1);
};
return Tt(r), U({
get() {
return a.value;
},
set(s) {
s ? o() : r();
}
});
}
function xl() {
let e = !1;
const t = O(!1);
return (a, l) => {
if (t.value = l.value, e)
return;
e = !0;
const n = wl(a, l.value);
Y(t, (o) => n.value = o);
};
}
xl();
const kl = { class: "py-1" }, _l = { class: "px-1 py-2 text-sm" }, $l = ["onClick"], jl = { class: "ml-2" }, Vl = {
key: 1,
class: "my-2 border dark:border-slate-600"
}, Cl = {
name: "UDropdown"
}, Bl = /* @__PURE__ */ j({
...Cl,
props: {
options: { default: () => [] },
trigger: { default: "click" }
},
emits: ["select"],
setup(e, { emit: t }) {
const a = e, l = O(null), n = O(null), o = R({
show: !1,
timeout: void 0,
showPanel() {
o.show = !0, clearTimeout(o.timeout), _t(() => {
if (l.value && n.value) {
const r = l.value.getBoundingClientRect(), s = window.innerHeight / 2, i = window.innerWidth / 2;
r.top > s ? n.value.style.bottom = "calc(100% + 0.5rem)" : n.value.classList.add("mt-2"), r.right > i ? n.value.classList.add("right-0") : n.value.classList.add("left-0");
}
});
},
closePanel() {
o.timeout = setTimeout(
() => o.show = !1,
a.trigger === "hover" ? 200 : 0
);
},
select(r) {
r.disabled || (o.show = !1, o.timeout = void 0, t("select", r));
}
});
return (r, s) => M((c(), d("div", {
class: "relative inline-block text-left",
onMouseleave: s[3] || (s[3] = () => e.trigger === "hover" && o.closePanel())
}, [
u("div", {
ref_key: "targetRef",
ref: l,
class: "w-full inline-flex items-center justify-center rounded-md",
onMouseenter: s[0] || (s[0] = () => e.trigger === "hover" && o.showPanel()),
onClick: s[1] || (s[1] = () => e.trigger === "click" && o.showPanel())
}, [
w(r.$slots, "default")
], 544),
D(xe, {
"enter-active-class": "transition duration-200 ease-out",
"enter-from-class": "translate-y-1 opacity-0",
"enter-to-class": "translate-y-0 opacity-100",
"leave-active-class": "transition duration-150 ease-in",
"leave-from-class": "translate-y-0 opacity-100",
"leave-to-class": "translate-y-1 opacity-0"
}, {
default: A(() => [
o.show ? (c(), d("div", {
key: 0,
ref_key: "dropdownRef",
ref: n,
class: "absolute z-10 min-w-max rounded-lg bg-white shadow-lg dark:bg-slate-800",
tabindex: "-1",
onMouseenter: s[2] || (s[2] = //@ts-ignore
(...i) => o.showPanel && o.showPanel(...i))
}, [
u("div", kl, [
u("div", _l, [
(c(!0), d(B, null, S(e.options, (i) => (c(), d(B, {
key: i.value
}, [
i ? (c(), d("div", {
key: 0,
class: b(["flex cursor-pointer items-center rounded-md px-3 py-1", [
i.disabled ? "text-gray-700 opacity-50 cursor-not-allowed" : "hover:bg-primary-200 hover:text-primary-600"
]]),
onClick: L((p) => o.select(i), ["stop"])
}, [
typeof i.icon == "string" ? (c(), d("div", {
key: 0,
class: b([i.icon, "w-5 text-gray-500"])
}, null, 2)) : (c(), P(fe(i.icon), {
key: 1,
class: "w-5"
})),
u("span", jl, z(i.label), 1)
], 10, $l)) : (c(), d("div", Vl))
], 64))), 128))
])
])
], 544)) : _("", !0)
]),
_: 1
})
], 32)), [
[x(Le), () => e.trigger === "click" && o.closePanel()]
]);
}
}), zl = { class: "flex items-center" }, Ul = { class: "flex items-center justify-center" }, Al = {
key: 0,
class: "flex"
}, Tl = /* @__PURE__ */ u("line", {
x1: "18",
y1: "6",
x2: "6",
y2: "18"
}, null, -1), Ml = /* @__PURE__ */ u("line", {
x1: "6",
y1: "6",
x2: "18",
y2: "18"
}, null, -1), Sl = [
Tl,
Ml
], Ol = {
name: "UTag"
}, Ae = /* @__PURE__ */ j({
...Ol,
props: {
type: { default: "default" },
size: { default: "md" },
rounded: { default: "sm" },
border: { type: Boolean, default: !1 },
closeable: { type: Boolean, default: !1 }
},
emits: ["close"],
setup(e) {
return (t, a) => (c(), d("div", zl, [
u("div", {
class: b(["block cursor-default whitespace-nowrap text-xs font-medium shadow-sm", [
`rounded-${e.rounded}`,
e.type === "default" ? "bg-gray-100 text-gray-800" : `bg-${e.type}-100 text-${e.type}-800`,
{
"border border-gray-300": e.border,
"px-2 py-1": e.size === "sm",
"px-3 py-1.5": e.size === "md",
"px-6 py-3": e.size === "lg"
}
]])
}, [
u("div", Ul, [
e.closeable ? (c(), d("div", Al, [
w(t.$slots, "default"),
(c(), d("svg", {
class: "ml-1 h-4 w-4 cursor-pointer stroke-2 transition-colors duration-150 ease-in-out hover:text-gray-700",
width: "24",
height: "24",
viewBox: "0 0 24 24",
stroke: "currentColor",
"stroke-linejoin": "round",
"stroke-linecap": "round",
fill: "none",
role: "presentation",
onClick: a[0] || (a[0] = (l) => t.$emit("close"))
}, Sl))
])) : w(t.$slots, "default", { key: 1 })
])
], 2)
]));
}
}), Il = { class: "flex flex-wrap items-center" }, Pl = { class: "relative h-4 min-w-7" }, El = ["id"], Ll = ["for", "textContent"], Kl = /* @__PURE__ */ u("svg", {
xmlns: "http://www.w3.org/2000/svg",
width: "21",
height: "21",
viewBox: "0 0 24 24"
}, [
/* @__PURE__ */ u("path", {
fill: "#888888",
d: "M11 17h2v-4h4v-2h-4V7h-2v4H7v2h4v4Zm1 5q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22Zm0-2q3.35 0 5.675-2.325T20 12q0-3.35-2.325-5.675T12 4Q8.65 4 6.325 6.325T4 12q0 3.35 2.325 5.675T12 20Zm0-8Z"
})
], -1), Dl = {
name: "UDynamicTags"
}, Rl = /* @__PURE__ */ j({
...Dl,
props: {
modelValue: { default: () => [] },
max: { default: 10 },
renderTag: { type: Function, default: void 0 },
closeable: { type: Boolean, default: !0 }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const a = e, l = ee("dynamic-tag-"), n = U({
get: () => a.modelValue,
set: (s) => t("update:modelValue", s)
}), o = O(null), r = R({
newTag: "",
typing: !1,
// if user is typing
clickAdd: () => {
r.typing = !0, setTimeout(() => {
var s;
return (s = o.value) == null ? void 0 : s.focus();
}, 0);
},
removeTag: (s) => {
n.value = n.value.filter((i) => i !== s);
},
addTag: (s) => {
const i = s.target.value.trim();
i && n.value.push(i), r.deactive();
},
deactive: () => {
r.newTag = "", r.typing = !1;
}
});
return (s, i) => (c(), d("div", Il, [
e.renderTag !== void 0 ? (c(!0), d(B, { key: 0 }, S(x(n), (p, f) => (c(), P(fe(e.renderTag(p, f)), {
key: f,
class: "mr-2"
}))), 128)) : (c(!0), d(B, { key: 1 }, S(x(n), (p) => (c(), P(Ae, {
key: p,
closeable: e.closeable,
class: "mr-2",
onClose: (f) => r.removeTag(p)
}, {
default: A(() => [
K(z(p), 1)
]),
_: 2
}, 1032, ["closeable", "onClose"]))), 128)),
r.typing ? w(s.$slots, "input", {
key: 2,
submit: r.addTag,
deactive: r.deactive
}, () => [
D(Ae, null, {
default: A(() => [
u("div", Pl, [
M(u("input", {
id: x(l),
ref_key: "newTagInputRef",
ref: o,
"onUpdate:modelValue": i[0] || (i[0] = (p) => r.newTag = p),
class: "absolute inline h-full w-full border-none bg-transparent text-gray-500 outline-transparent focus:outline-none",
onBlur: i[1] || (i[1] = //@ts-ignore
(...p) => r.addTag && r.addTag(...p)),
onKeyup: i[2] || (i[2] = na((p) => s.$refs.newTagInputRef.blur(), ["enter"]))
}, null, 40, El), [
[sa, r.newTag]
]),
u("label", {
for: x(l),
class: "invisible",
textContent: z(r.newTag)
}, null, 8, Ll)
])
]),
_: 1
})
]) : _("", !0),
x(n).length < e.max && !r.typing ? (c(), d("span", {
key: 3,
class: "cursor-pointer",
onClick: i[3] || (i[3] = //@ts-ignore
(...p) => r.clickAdd && r.clickAdd(...p))
}, [
w(s.$slots, "trigger", {}, () => [
Kl
])
])) : _("", !0)
]));
}
}), Fl = (e) => (Vt("data-v-0669237d"), e = e(), Ct(), e), Nl = ["for"], ql = {
key: 0,
class: "flex flex-wrap gap-1"
}, Hl = {
key: 1,
class: "text-sm"
}, Gl = {
key: 2,
class: "text-gray-400"
}, Zl = /* @__PURE__ */ Fl(() => /* @__PURE__ */ u("div", { class: "i-mdi:upload h-5 w-5 text-gray-400" }, null, -1)), Wl = ["id", "multiple"], Yl = {
name: "UFileInput"
}, Xl = /* @__PURE__ */ j({
...Yl,
props: {
fileList: null,
placeholder: { default: "Select a file" },
multiple: { type: Boolean, default: !1 }
},
emits: ["change", "update:fileList"],
setup(e, { emit: t }) {
const a = e, l = ee("file-input-"), n = U({
get() {
return a.fileList || [];
},
set(r) {
t("update:fileList", r);
}
}), o = R({
fileNames: [],
onChange(r) {
const s = r.target, i = Array.from(s.files || []);
o.fileNames = i.map((p) => p.name), n.value = i.map((p) => ({
id: ee("file-"),
name: p.name,
file: p
})), t("change", r);
}
});
return (r, s) => (c(), d(B, null, [
u("label", {
for: x(l),
class: b({ upload: !r.$slots.default })
}, [
r.$slots.default ? w(r.$slots, "default", { key: 0 }, void 0, !0) : (c(), d(B, { key: 1 }, [
o.fileNames.length > 1 ? (c(), d("div", ql, [
(c(!0), d(B, null, S(o.fileNames, (i) => (c(), d("div", {
key: i,
class: "bg-primary-300 text-whit inline-block whitespace-nowrap rounded px-1 text-center text-xs"
}, z(i), 1))), 128))
])) : o.fileNames.length === 1 ? (c(), d("div", Hl, z(o.fileNames[0]), 1)) : (c(), d("div", Gl, z(e.placeholder), 1)),
Zl
], 64))
], 10, Nl),
u("input", T({
id: x(l),
class: "hidden",
type: "file"
}, r.$attrs, {
multiple: e.multiple,
onChange: s[0] || (s[0] = //@ts-ignore
(...i) => o.onChange && o.onChange(...i))
}), null, 16, Wl)
], 64));
}
}), Jl = /* @__PURE__ */ pe(Xl, [["__scopeId", "data-v-0669237d"]]), Ql = { class: "mb-1 text-sm empty:hidden" }, eo = {
key: 2,
class: "text-error-500"
}, to = { class: "flex" }, ao = { class: "relative w-full flex items-center" }, lo = {
key: 0,
class: "absolute left-3 z-10"
}, oo = ["type", "disabled", "placeholder"], ro = {
key: 1,
class: "absolute right-3 z-10"
}, no = {
key: 0,
class: "text-error-500 mt-1 text-xs"
}, so = {
name: "UInput",
inheritAttrs: !1
}, io = /* @__PURE__ */ j({
...so,
props: {
modelValue: { default: "" },
label: { default: "" },
type: { default: "text" },
size: { default: "md" },
disabled: { type: Boolean, default: !1 },
required: { type: Boolean, default: !1 },
errorMessage: { default: "" },
placeholder: { default: "Please input" },
clearable: { type: Boolean, default: !1 },
leftIcon: { default: "" },
rightIcon: { default: "" }
},
emits: ["update:modelValue", "clear", "clickLeft", "clickRight"],
setup(e, { emit: t }) {
const a = e, l = U({
get: () => a.modelValue,
set: (o) => t("update:modelValue", o)
}), n = R({
focused: !1,
clear() {
l.value = "", t("clear");
}
});
return (o, r) => (c(), d("div", {
class: b(["w-full flex flex-col", { "opacity-60": e.disabled }])
}, [
u("label", Ql, [
e.label ? (c(), d(B, { key: 0 }, [
K(z(e.label), 1)
], 64)) : w(o.$slots, "default", { key: 1 }, void 0, !0),
e.required ? (c(), d("span", eo, "*")) : _("", !0)
]),
u("div", to, [
o.$slots.prepend ? (c(), d("span", {
key: 0,
class: b(["inline-flex items-center border border-r-0 rounded-l-md px-3 text-sm", {
"py-0.5": e.size === "sm",
"py-1.5": e.size === "md",
"py-2": e.size === "lg"
}])
}, [
w(o.$slots, "prepend", {}, void 0, !0)
], 2)) : _("", !0),
u("div", ao, [
e.leftIcon ? (c(), d("div", lo, [
u("div", {
class: b(["h-5 w-5", e.leftIcon]),
onClick: r[0] || (r[0] = (s) => o.$emit("clickLeft"))
}, null, 2)
])) : _("", !0),
M(u("input", T({
"onUpdate:modelValue": r[1] || (r[1] = (s) => Q(l) ? l.value = s : null)
}, o.$attrs, {
type: e.type,
disabled: e.disabled,
placeholder: e.placeholder,
class: ["text-field-input focus:ring-primary-600", {
// size
"py-1": e.size === "sm",
"py-2": e.size === "md",
"py-3": e.size === "lg",
// icon
"pl-10": e.leftIcon,
"pr-10": e.rightIcon && !e.clearable || !e.rightIcon && e.clearable,
"pr-15": e.rightIcon && e.clearable,
"px-3": !e.leftIcon && !e.rightIcon,
prepend: o.$slots.prepend,
append: o.$slots.append,
danger: e.errorMessage,
"cursor-not-allowed": e.disabled
}],
onFocus: r[2] || (r[2] = (s) => n.focused = !0),
onBlur: r[3] || (r[3] = (s) => n.focused = !1)
}), null, 16, oo), [
[va, x(l)]
]),
e.rightIcon ? (c(), d("div", ro, [
u("div", {
class: b(["h-5 w-5", e.rightIcon]),
onClick: r[4] || (r[4] = (s) => o.$emit("clickRight"))
}, null, 2)
])) : _("", !0),
u("div", {
class: b(["absolute z-10", {
"right-3": e.clearable && !e.rightIcon,
"right-10": e.clearable && e.rightIcon
}])
}, [
e.modelValue && e.clearable ? (c(), d("div", {
key: 0,
class: "i-mdi:close-circle-outline h-5 w-5 cursor-pointer text-gray-400 duration-300 hover:text-gray-500",
onClick: r[5] || (r[5] = //@ts-ignore
(...s) => n.clear && n.clear(...s))
})) : _("", !0)
], 2)
]),
o.$slots.append ? (c(), d("span", {
key: 1,
class: b(["inline-flex items-center border border-l-0 rounded-r-md px-3 text-sm", {
"py-0.5": e.size === "sm",
"py-1.5": e.size === "md",
"py-2": e.size === "lg"
}])
}, [
w(o.$slots, "append", {}, void 0, !0)
], 2)) : _("", !0)
]),
e.errorMessage ? (c(), d("span", no, z(e.errorMessage), 1)) : _("", !0)
], 2));
}
}), co = /* @__PURE__ */ pe(io, [["__scopeId", "data-v-6653a735"]]), uo = /* @__PURE__ */ u("span", { class: "sr-only" }, "loading", -1), fo = [
uo
], po = {
name: "USpin"
}, Te = /* @__PURE__ */ j({
...po,
props: {
show: { type: Boolean, default: !0 },
type: { default: "primary" },
thickness: { default: 5 }
},
setup(e) {
return (t, a) => (c(), d("div", T(t.$attrs, {
class: {
"h-8 w-8": !t.$attrs.hasOwnProperty("class")
}
}), [
w(t.$slots, "icon", {}, () => [
u("div", {
class: b(["inline-block h-full w-full animate-spin border-gray-300 rounded-full bg-transparent", [`border-r-${e.type}-500`, `border-${e.thickness}`]])
}, fo, 2)
])
], 16));
}
}), vo = {
key: 1,
class: "relative"
}, yo = { class: "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2" }, mo = {
name: "ULoading"
}, ho = /* @__PURE__ */ j({
...mo,
props: {
show: { type: Boolean, default: !0 }
},
setup(e) {
return (t, a) => t.$slots.default ? (c(), d("div", vo, [
u("div", {
class: b({ "opacity-30": e.show })
}, [
w(t.$slots, "default")
], 2),
u("div", yo, [
e.show ? (c(), P(Te, ze(T({ key: 0 }, t.$attrs)), {
icon: A(() => [
w(t.$slots, "icon")
]),
_: 3
}, 16)) : _("", !0)
])
])) : (c(), d(B, { key: 0 }, [
e.show ? (c(), P(Te, ze(T({ key: 0 }, t.$attrs)), ia({
default: A(() => [
w(t.$slots, "default")
]),
_: 2
}, [
t.$slots.icon ? {
name: "icon",
fn: A(() => [
w(t.$slots, "icon")
]),
key: "0"
} : void 0
]), 1040)) : _("", !0)
], 64));
}
}), bo = ["onClick"], go = { class: "min-h-full flex items-center justify-center p-2 sm:p-6" }, wo = /* @__PURE__ */ u("svg", {
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 24 24",
stroke: "currentColor"
}, [
/* @__PURE__ */ u("path", {
"stroke-linecap": "round",
"stroke-linejoin": "round",
"stroke-width": "2",
d: "M6 18L18 6M6 6l12 12"
})
], -1), xo = [
wo
], ko = {
key: 1,
class: "mb-5 text-lg font-bold"
}, _o = {
key: 2,
class: "mt-5 sm:flex sm:flex-row-reverse sm:gap-2"
}, $o = {
name: "UModal"
}, jo = /* @__PURE__ */ j({
...$o,
props: {
modelValue: { type: Boolean },
dismissible: { type: Boolean, default: !0 },
dismissButton: { type: Boolean, default: !0 },
width: { default: "base" },
padded: { type: Boolean, default: !0 },
zIndex: { default: 30 }
},
emits: ["update:modelValue", "close"],
setup(e, { emit: t }) {
const a = e, l = U({
get: () => a.modelValue,
set: (o) => t("update:modelValue", o)
});
function n() {
a.dismissible && (l.value = !1), t("close");
}
return (o, r) => (c(), P(kt, { to: "body" }, [
u("div", {
class: b(["fixed inset-0 overflow-y-auto transition-all ease-in", [
x(l) ? "visible" : "invisible duration-100 ease-in"
]]),
style: we({
zIndex: e.zIndex
})
}, [
u("div", {
class: b(["fixed inset-0 bg-gray-500 transition-opacity dark:bg-gray-600", [
x(l) ? "opacity-75 duration-75 ease-out" : "opacity-0 duration-75 ease-in"
]]),
onClick: L(n, ["self"])
}, null, 10, bo),
u("div", go, [
u("div", T(o.$attrs, {
class: ["relative inline-block w-full rounded-lg bg-white shadow-xl transition-all dark:bg-gray-900", [
e.padded ? "p-4 sm:p-6" : "p2",
{
"sm:max-w-sm": e.width === "sm",
"sm:max-w-lg": e.width === "base",
"sm:max-w-xl": e.width === "md",
"sm:max-w-3xl": e.width === "lg",
"sm:max-w-5xl": e.width === "xl",
"sm:max-w-full": e.width === "full"
},
x(l) ? "translate-y-0 opacity-100 duration-300 sm:scale-100" : "translate-y-4 opacity-0 duration-300 sm:translate-y-0 sm:scale-95"
]],
role: "dialog",
"aria-modal": "true"
}), [
e.dismissButton ? (c(), d("button", {
key: 0,
class: "absolute right-4 top-4 h-6 w-6 rounded-full bg-gray-100 p-1 text-gray-700 hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-500",
"aria-label": "close",
onClick: n
}, xo)) : _("", !0),
o.$slots.header ? (c(), d("div", ko, [
w(o.$slots, "header", {}, () => [
K(" Header ")
])
])) : _("", !0),
w(o.$slots, "default"),
o.$slots.footer ? (c(), d("div", _o, [
w(o.$slots, "footer", {}, () => [
K(" Footer ")
])
])) : _("", !0)
], 16)
])
], 6)
]));
}
}), Vo = { class: "relative inline-block text-left" }, Co = {
name: "UPopover"
}, Bo = /* @__PURE__ */ j({
...Co,
props: {
position: { default: "auto" },
trigger: { default: "click" },
dissmissable: { type: Boolean, default: !1 },
sustain: { type: Boolean, default: !1 },
hoverAlive: { type: Boolean, default: !1 }
},
emits: ["open", "close"],
setup(e, { emit: t }) {
const a = e, l = O(null), n = O(null), o = R({
inPanel: !1,
status: !1,
onClick: () => {
a.trigger === "click" && o.toggleStatus();
},
onMouseenter() {
a.trigger === "hover" && o.open();
},
onMouseleave() {
a.trigger === "hover" && o.close();
},
toggleStatus() {
o.status = !o.status, o.status ? o.open() : o.close();
},
open() {
o.status = !0, t("open"), _t(() => {
const r = l.value.getBoundingClientRect();
n.value.style.left = `${r.x}px`, n.value.style.top = `${r.y}px`;
let s, i;
if (a.position === "auto") {
const p = window.innerHeight / 2;
s = `calc(${r.width / 2}px - 50%)`, i = r.top > p ? "calc(-100% - 0.25rem)" : `calc(${r.height}px + 0.25rem)`;
} else
a.position === "left" ? (s = "calc(-100% - 0.25rem)", i = `calc(${r.height / 2}px - 50%)`) : a.position === "right" ? (s = `calc(${r.width}px + 0.25rem)`, i = `calc(${r.height / 2}px - 50%)`) : a.position === "top" ? (s = `calc(${r.width / 2}px - 50%)`, i = "calc(-100% - 0.25rem)") : a.position === "bottom" && (s = `calc(${r.width / 2}px - 50%)`, i = `calc(${r.height}px + 0.25rem)`);
n.value.style.transform = `translate(${s}, ${i})`;
});
},
close() {
o.status && t("close"), setTimeout(() => o.status = !1, 100);
}
});
return (r, s) => M((c(), d("div", Vo, [
u("div", {
ref_key: "target",
ref: l,
class: "w-full inline-flex items-center justify-center rounded-md",
onClick: s[0] || (s[0] = //@ts-ignore
(...i) => o.onClick && o.onClick(...i)),
onMouseenter: s[1] || (s[1] = //@ts-ignore
(...i) => o.onMouseenter && o.onMouseenter(...i)),
onMouseleave: s[2] || (s[2] = (i) => e.sustain ? null : o.onMouseleave())
}, [
w(r.$slots, "default")
], 544),
D(xe, {
"enter-active-class": "transition-opacity duration-300 ease-out",
"enter-from-class": "opacity-0",
"enter-to-class": "opacity-100",
"leave-active-class": "duration-200 ease-in",
"leave-from-class": "opacity-100",
"leave-to-class": "opacity-0"
}, {
default: A(() => [
e.hoverAlive && o.inPanel || o.status ? (c(), d("div", {
key: 0,
ref_key: "dropdown",
ref: n,
class: "fixed left-0 top-0 z-10 min-w-max rounded-lg bg-white shadow-lg dark:bg-slate-800",
tabindex: "-1"
}, [
u("div", {
class: "py-1",
onMouseenter: s[3] || (s[3] = (i) => o.inPanel = !0),
onMouseleave: s[4] || (s[4] = (i) => o.inPanel = !1),
onClick: s[5] || (s[5] = (i) => e.dissmissable ? o.close() : null)
}, [
w(r.$slots, "content")
], 32)
], 512)) : _("", !0)
]),
_: 3
})
])), [
[x(Le), o.close]
]);
}
}), zo = {
key: 0,
class: "overflow-hidden rounded-lg bg-gray-200 dark:bg-gray-700"
}, Uo = {
key: 1,
class: "-rotate-90",
viewBox: "0 0 100 100"
}, Ao = /* @__PURE__ */ u("circle", {
class: "text-gray-200 dark:text-gray-700",
stroke: "currentColor",
"stroke-linejoin": "round",
"stroke-linecap": "round",
"stroke-width": "8",
fill: "none",
cx: "50",
cy: "50",
r: "40"
}, null, -1), To = {
key: 2,
class: "inline-block space-x-1"
}, Mo = {
name: "UProgress"
}, So = /* @__PURE__ */ j({
...Mo,
props: {
type: { default: "primary" },
percentage: null,
scoreLength: { default: 5 },
tag: { default: "div" },
variant: { default: "bar" }
},
setup(e) {
const t = e, a = U(() => 251 / 100 * t.percentage);
function l(n) {
return (n - 1) * (100 / t.scoreLength) <= t.percentage;
}
return (n, o) => (c(), P(fe(e.tag), null, {
default: A(() => [
e.variant === "bar" ? (c(), d("div", zo, [
u("div", T(n.$attrs, {
class: ["h-2 rounded-lg", `bg-${e.type}-500 text-${e.type}-500`],
style: { width: `${e.percentage}%` }
}), null, 16)
])) : e.variant === "circle" ? (c(), d("svg", Uo, [
Ao,
u("circle", {
class: b(`bg-${e.type}-500 text-${e.type}-500`),
style: we({ strokeDasharray: `${x(a)} 252` }),
stroke: "currentColor",
"stroke-linejoin": "round",
"stroke-linecap": "round",
"stroke-width": "8",
fill: "none",
cx: "50",
cy: "50",
r: "40"
}, null, 6)
])) : e.variant === "score" ? (c(), d("div", To, [
(c(!0), d(B, null, S(e.scoreLength, (r) => (c(), d("div", {
key: r,
class: b(["inline-block h-2 w-3 rounded-sm", {
"bg-gray-200": !l(r),
[`bg-${e.type}-500`]: l(r)
}])
}, null, 2))), 128))
])) : _("", !0)
]),
_: 1
}));
}
}), Oo = ["for"], Io = ["id", "value", "name", "disabled"], Po = {
name: "URadio"
}, Eo = /* @__PURE__ */ j({
...Po,
props: {
modelValue: { default: void 0 },
type: { default: "primary" },
value: { default: void 0 },
disabled: { type: Boolean, default: !1 },
bordered: { type: Boolean, default: !1 },
hidden: { type: Boolean, default: !1 },
circleColored: { type: Boolean, default: !1 }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const a = e, l = ee("radio-"), n = U({
get: () => a.modelValue,
set: (r) => t("update:modelValue", r)
}), o = U(() => a.value === n.value);
return (r, s) => (c(), d("label", {
for: x(l),
class: b(["inline-flex select-none items-center font-medium leading-6 text-gray-900", [
e.disabled ? "cursor-not-allowed opacity-60" : "cursor-pointer",
{
"border-1 rounded p-2 transition-colors duration-150 ease-in-out": e.bordered,
"border-gray-300": e.bordered && !x(o) && !e.disabled,
[`border-${e.type}-500`]: e.bordered && x(o)
}
]])
}, [
M(u("input", T({ id: x(l) }, r.$attrs, {
"onUpdate:modelValue": s[0] || (s[0] = (i) => Q(n) ? n.value = i : null),
type: "radio",
value: e.value,
name: x(l),
disabled: e.disabled,
class: [
"h-4 w-4",
[
e.circleColored ? `border-${e.type}-500` : "border-gray-300",
e.disabled ? "cursor-not-allowed opacity-60" : "cursor-pointer",
`text-${e.type}-600 focus:ring-${e.type}-500`,
{
"hidden sr-only": e.hidden
}
]
]
}), null, 16, Io), [
[ca, x(n)]
]),
u("div", {
class: b({ "pl-2": r.$slots.default && !e.hidden })
}, [
w(r.$slots, "default", { checked: x(o) })
], 2)
], 10, Oo));
}
}), Lo = {
id: "listbox-label",
class: "block text-sm font-medium leading-6 text-gray-900"
}, Ko = { class: "relative" }, Do = ["disabled", "placeholder", "readonly", "value"], Ro = {
key: 1,
class: "i-mdi:unfold-more-horizontal h-5 w-5"
}, Fo = {
key: 0,
class: "absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-sm shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none",
tabindex: "-1"
}, No = ["onClick"], qo = { class: "block truncate font-normal" }, Ho = {
key: 0,
class: "absolute inset-y-0 right-0 flex items-center pr-3 text-white"
}, Go = /* @__PURE__ */ u("svg", {
class: "h-5 w-5",
viewBox: "0 0 20 20",
fill: "currentColor",
"aria-hidden": "true"
}, [
/* @__PURE__ */ u("path", {
"fill-rule": "evenodd",
d: "M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",
"clip-rule": "evenodd"
})
], -1), Zo = [
Go
], Wo = {
key: 0,
class: "text-xs text-red-500"
}, Yo = {
name: "USelect"
}, Xo = /* @__PURE__ */ j({
...Yo,
props: {
label: { default: "" },
modelValue: { default: null },
placeholder: { default: "Please select" },
disabled: { type: Boolean, default: !1 },
clearable: { type: Boolean, default: !1 },
filterable: { type: Boolean, default: !1 },
options: { default: () => [] },
errorMessage: { default: "" }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const a = e, l = U({
get: () => a.modelValue,
set: (s) => {
r.inputValue = n(s), t("update:modelValue", s);
}
});
Y(() => a.modelValue, (s) => {
setTimeout(() => r.inputValue = n(s), 50);
});
function n(s) {
var i, p;
return ((p = (i = a.options) == null ? void 0 : i.find((f) => f.value === s)) == null ? void 0 : p.label) || "";
}
const o = U(() => {
var s;
return a.filterable ? (s = a.options) == null ? void 0 : s.filter((i) => {
var p;
return (p = i.label) == null ? void 0 : p.includes(r.inputValue);
}) : a.options;
}), r = R({
show: !1,
inputValue: n(a.modelValue),
onSelect(s) {
l.value = s, r.show = !1;
},
filter(s) {
a.filterable && (r.inputValue = s, r.show = !0);
},
toggleMenu() {
a.disabled || (r.show = !r.show);
}
});
return (s, i) => (c(), d("div", null, [
u("label", Lo, z(e.label), 1),
M((c(), d("div", Ko, [
u("input", {
type: "text",
class: b(["focus:ring-primary-600 w-full border-0 rounded-md bg-white py-1.5 pl-3 pr-8 text-sm leading-6 shadow-sm ring-1 ring-inset placeholder:text-slate-400 focus:ring-2 focus:ring-inset", [
e.disabled ? "cursor-not-allowed opacity-40" : "cursor-default",
e.errorMessage ? "text-red-500 ring-red-500 focus:ring-red-500" : "text-gray-700 ring-gray-300 focus:ring-primary-600"
]]),
disabled: e.disabled,
placeholder: e.placeholder,
readonly: !e.filterable,
value: r.inputValue,
onClick: i[0] || (i[0] = () => r.toggleMenu()),
onInput: i[1] || (i[1] = (p) => {
r.show = !0, r.inputValue = p.target.value;
})
}, null, 42, Do),
u("button", {
class: b(["group absolute inset-y-0 right-0 mr-1.5 text-gray-400", [e.disabled ? "cursor-not-allowed opacity-40" : "cursor-default"]]),
onClick: i[3] || (i[3] = //@ts-ignore
(...p) => r.toggleMenu && r.toggleMenu(...p))
}, [
e.clearable && x(l) ? (c(), d("div", {
key: 0,
class: "i-mdi:unfold-more-horizontal group-hover:i-mdi:close-circle-outline h-5 w-5 text-gray-400 duration-100 group-hover:h-5 group-hover:w-5 hover:cursor-pointer",
onClick: i[2] || (i[2] = L((p) => l.value = null, ["stop"]))
})) : (c(), d("div", Ro))
], 2),
D(xe, {
"leave-active-class": "transition ease-in duration-100",
"leave-from-class": "opacity-100",
"leave-to-class": "opacity-0"
}, {
default: A(() => [
r.show && x(o).length ? (c(), d("ul", Fo, [
(c(!0), d(B, null, S(x(o), (p) => (c(), d("li", {
id: "listbox-option-0",
key: p.value,
class: b(["text relative cursor-default select-none py-2 pl-3 duration-100", {
"bg-primary-500 text-white ": e.modelValue === p.value,
"hover:bg-primary-500 text-gray-900 hover:text-white": e.modelValue !== p.value
}]),
onClick: (f) => r.onSelect(p.value)
}, [
w(s.$slots, "option", {
item: p,
active: e.modelValue === p.value
}, () => [
u("span", qo, z(p.label), 1),
e.modelValue === p.value ? (c(), d("span", Ho, Zo)) : _("", !0)
])
], 10, No))), 128))
])) : _("", !0)
]),
_: 3
})
])), [
[x(Le), () => r.show = !1]
]),
e.errorMessage ? (c(), d("div", Wo, z(e.errorMessage), 1)) : _("", !0)
]));
}
}), Jo = {
name: "USkeleton",
inheritAttrs: !1
}, Qo = /* @__PURE__ */ j({
...Jo,
props: {
as: { default: "div" }
},
setup(e) {
return (t, a) => {
var l;
return c(), P(fe(e.as), T(t.$attrs, {
class: ["animate-pulse", {
"bg-gray-200": !((l = t.$attrs.class) != null && l.includes("bg-"))
}]
}), {
default: A(() => [
K(" ")
]),
_: 1
}, 16, ["class"]);
};
}
}), er = { class: "flex items-center" }, tr = ["for"], ar = { class: "mr-2 font-medium leading-6 text-gray-900 empty:hidden" }, lr = {
tabindex: "0",
class: "relative"
}, or = ["id", "disabled"], rr = /* @__PURE__ */ jt('<defs><linearGradient id="mingcuteLoadingLine0" x1="50%" x2="50%" y1="5.271%" y2="91.793%"><stop offset="0%" stop-color="#888888"></stop><stop offset="100%" stop-color="currentColor" stop-opacity=".55"></stop></linearGradient><linearGradient id="mingcuteLoadingLine1" x1="50%" x2="50%" y1="8.877%" y2="90.415%"><stop offset="0%" stop-color="currentColor" stop-opacity="0"></stop><stop offset="100%" stop-color="currentColor" stop-opacity=".55"></stop></linearGradient></defs><g fill="none"><path d="M24 0v24H0V0h24ZM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035c-.01-.004-.019-.001-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427c-.002-.01-.009-.017-.017-.018Zm.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093c.012.004.023 0 .029-.008l.004-.014l-.034-.614c-.003-.012-.01-.02-.02-.022Zm-.715.002a.023.023 0 0 0-.027.006l-.006.014l-.034.614c0 .012.007.02.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01l-.184-.092Z"></path><path fill="url(#mingcuteLoadingLine0)" d="M8.886.006a1 1 0 0 1 .22 1.988A8.001 8.001 0 0 0 10 17.944v2c-5.523 0-10-4.476-10-10C0 4.838 3.848.566 8.886.007Z" transform="translate(2 2.055)"></path><path fill="url(#mingcuteLoadingLine1)" d="M14.322 1.985a1 1 0 0 1 1.392-.248A9.988 9.988 0 0 1 20 9.945c0 5.523-4.477 10-10 10v-2a8 8 0 0 0 4.57-14.567a1 1 0 0 1-.248-1.393Z" transform="translate(2 2.055)"></path></g>', 2), nr = [
rr
], sr = {
key: 0,
d: "M3.707 5.293a1 1 0 00-1.414 1.414l1.414-1.414zM5 8l-.707.707a1 1 0 001.414 0L5 8zm4.707-3.293a1 1 0 00-1.414-1.414l1.414 1.414zm-7.414 2l2 2 1.414-1.414-2-2-1.414 1.414zm3.414 2l4-4-1.414-1.414-4 4 1.414 1.414z"
}, ir = {
key: 1,
d: "M4 8l2-2m0 0l2-2M6 6L4 4m2 2l2 2",
stroke: "currentColor",
"stroke-width": "2",
"stroke-linecap": "round",
"stroke-linejoin": "round"
}, cr = {
name: "USwitch",
inheritAttrs: !1
}, ur = /* @__PURE__ */ j({
...cr,
props: {
modelValue: { type: [Boolean, String, Number], default: !1 },
type: { default: "primary" },
size: { default: "base" },
loading: { type: Boolean, default: !1 },
checked: { type: Boolean },
disabled: { type: Boolean, default: !1 },
icon: { type: Boolean, default: !1 },
readonly: { type: Boolean, default: !1 },
checkedValue: { default: !0 },
uncheckedValue: { default: !1 }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const a = e, l = ee("switch-"), n = U({
get: () => a.checkedValue && a.modelValue === a.checkedValue ? !0 : a.uncheckedValue && a.modelValue === a.uncheckedValue ? !1 : a.modelValue,
set: (r) => {
a.checkedValue && r ? r = a.checkedValue : a.uncheckedValue && !r && (r = a.uncheckedValue), t("update:modelValue", r);
}
}), o = {
success: {
color: "bg-success-500",
text: "text-success-500",
focus: "focus:ring-success-500"
},
info: {
color: "bg-info-500",
text: "text-info-500",
focus: "focus:ring-info-500"
},
warning: {
color: "bg-warning-500",
text: "text-warning-500",
focus: "focus:ring-warning-500"
},
error: {
color: "bg-error-500",
text: "text-error-500",
focus: "focus:ring-error-500"
},
primary: {
color: "bg-primary-500",
text: "text-primary-500",
focus: "focus:ring-primary-500"
},
secondary: {
color: "bg-secondary-500",
text: "text-secondary-500",
focus: "focus:ring-secondary-500"
},
accent: {
color: "bg-accent-500",
text: "text-accent-500",
focus: "focus:ring-accent-500"
}
};
return (r, s) => (c(), d("div", er, [
u("label", {
for: x(l),
class: b(["flex select-none items-center", [e.disabled ? "cursor-not-allowed opacity-60" : e.readonly ? "" : "cursor-pointer"]])
}, [
u("div", ar, [
w(r.$slots, "default")
]),
u("div", lr, [
M(u("input", T({
id: x(l),
"onUpdate:modelValue": s[0] || (s[0] = (i) => Q(n) ? n.value = i : null)
}, r.$attrs, {
type: "checkbox",
disabled: e.disabled,
class: "sr-only"
}), null, 16, or), [
[ce, x(n)]
]),
u("div", {
class: b(["block rounded-full", [
x(n) || e.checked ? o[e.type].color : "bg-gray-200",
{
"h-4 w-9": e.size === "sm",
"h-6 w-11": e.size === "base",
"h-9 w-14": e.size === "lg"
}
]])
}, null, 2),
u("div", {
class: b(["absolute left-0 top-0.5 rounded-full bg-white transition", [
x(n) || e.checked ? "translate-x-5" : "translate-x-0",
{
"h-3 w-3": e.size === "sm",
"h-5 w-5": e.size === "base",
"h-8 w-8": e.size === "lg"
}
]])
}, [
e.loading ? (c(), d("svg", {
key: 0,
class: b(["animate-spin", [
{
"h-3 w-3": e.size === "sm",
"h-5 w-5": e.size === "base",
"h-8 w-8": e.size === "lg"
}
]]),
xmlns: "http://www.w3.org/2000/svg",
width: "32",
height: "32",
viewBox: "0 0 24 24"
}, nr, 2)) : e.icon ? (c(), d("svg", {
key: 1,
fill: "currentColor",
viewBox: "0 0 12 12",
class: b([
e.checked || x(n) ? o[e.type].text : "text-gray-200",
{
"h-3 w-3": e.size === "sm",
"h-5 w-5": e.size === "base",
"h-8 w-8": e.size === "lg"
}
])
}, [
e.checked || x(n) ? (c(), d("path", sr)) : (c(), d("path", ir))
], 2)) : _("", !0)
], 2)
])
], 10, tr)
]));
}
});
function dr() {
this.__data__ = [], this.size = 0;
}
function It(e, t) {
return e === t || e !== e && t !== t;
}
function _e(e, t) {
for (var a = e.length; a--; )
if (It(e[a][0], t))
return a;
return -1;
}
var fr = Array.prototype, pr = fr.splice;
function vr(e) {
var t = this.__data__, a = _e(t, e);
if (a < 0)
return !1;
var l = t.length - 1;
return a == l ? t.pop() : pr.call(t, a, 1), --this.size, !0;
}
function yr(e) {
var t = this.__data__, a = _e(t, e);
return a < 0 ? void 0 : t[a][1];
}
function mr(e) {
return _e(this.__data__, e) > -1;
}
function hr(e, t) {
var a = this.__data__, l = _e(a, e);
return l < 0 ? (++this.size, a.push([e, t])) : a[l][1] = t, this;
}
function F(e) {
var t = -1, a = e == null ? 0 : e.length;
for (this.clear(); ++t < a; ) {
var l = e[t];
this.set(l[0], l[1]);
}
}
F.prototype.clear = dr;
F.prototype.delete = vr;
F.prototype.get = yr;
F.prototype.has = mr;
F.prototype.set = hr;
function br() {
this.__data__ = new F(), this.size = 0;
}
function gr(e) {
var t = this.__data__, a = t.delete(e);
return this.size = t.size, a;
}
function wr(e) {
return this.__data__.get(e);
}
function xr(e) {
return this.__data__.has(e);
}
function ve(e) {
var t = typeof e;
return e != null && (t == "object" || t == "function");
}
var kr = "[object AsyncFunction]", _r = "[object Function]", $r = "[object GeneratorFunction]", jr = "[object Proxy]";
function Pt(e) {
if (!ve(e))
return !1;
var t = ae(e);
return t == _r || t == $r || t == kr || t == jr;
}
var Vr = E["__core-js_shared__"];
const Ce = Vr;
var et = function() {
var e = /[^.]+$/.exec(Ce && Ce.keys && Ce.keys.IE_PROTO || "");
return e ? "Symbol(src)_1." + e : "";
}();
function Cr(e) {
return !!et && et in e;
}
var Br = Function.prototype, zr = Br.toString;
function X(e) {
if (e != null) {
try {
return zr.call(e);
} catch {
}
try {
return e + "";
} catch {
}
}
return "";
}
var Ur = /[\\^$.*+?()[\]{}|]/g, Ar = /^\[object .+?Constructor\]$/, Tr = Function.prototype, Mr = Object.prototype, Sr = Tr.toString, Or = Mr.hasOwnProperty, Ir = RegExp(
"^" + Sr.call(Or).replace(Ur, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function Pr(e) {
if (!ve(e) || Cr(e))
return !1;
var t = Pt(e) ? Ir : Ar;
return t.test(X(e));
}
function Er(e, t) {
return e == null ? void 0 : e[t];
}
function J(e, t) {
var a = Er(e, t);
return Pr(a) ? a : void 0;
}
var Lr = J(E, "Map");
const ue = Lr;
var Kr = J(Object, "create");
const de = Kr;
function Dr() {
this.__data__ = de ? de(null) : {}, this.size = 0;
}
function Rr(e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0, t;
}
var Fr = "__lodash_hash_undefined__", Nr = Object.prototype, qr = Nr.hasOwnProperty;
function Hr(e) {
var t = this.__data__;
if (de) {
var a = t[e];
return a === Fr ? void 0 : a;
}
return qr.call(t, e) ? t[e] : void 0;
}
var Gr = Object.prototype, Zr = Gr.hasOwnProperty;
function Wr(e) {
var t = this.__data__;
return de ? t[e] !== void 0 : Zr.call(t, e);
}
var Yr = "__lodash_hash_undefined__";
function Xr(e, t) {
var a = this.__data__;
return this.size += this.has(e) ? 0 : 1, a[e] = de && t === void 0 ? Yr : t, this;
}
function W(e) {
var t = -1, a = e == null ? 0 : e.length;
for (this.clear(); ++t < a; ) {
var l = e[t];
this.set(l[0], l[1]);
}
}
W.prototype.clear = Dr;
W.prototype.delete = Rr;
W.prototype.get = Hr;
W.prototype.has = Wr;
W.prototype.set = Xr;
function Jr() {
this.size = 0, this.__data__ = {
hash: new W(),
map: new (ue || F)(),
string: new W()
};
}
function Qr(e) {
var t = typeof e;
return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
function $e(e, t) {
var a = e.__data__;
return Qr(t) ? a[typeof t == "string" ? "string" : "hash"] : a.map;
}
function en(e) {
var t = $e(this, e).delete(e);
return this.size -= t ? 1 : 0, t;
}
function tn(e) {
return $e(this, e).get(e);
}
function an(e) {
return $e(this, e).has(e);
}
function ln(e, t) {
var a = $e(this, e), l = a.size;
return a.set(e, t), this.size += a.size == l ? 0 : 1, this;
}
function oe(e) {
var t = -1, a = e == null ? 0 : e.length;
for (this.clear(); ++t < a; ) {
var l = e[t];
this.set(l[0], l[1]);
}
}
oe.prototype.clear = Jr;
oe.prototype.delete = en;
oe.prototype.get = tn;
oe.prototype.has = an;
oe.prototype.set = ln;
var on = 200;
function rn(e, t) {
var a = this.__data__;
if (a instanceof F) {
var l = a.__data__;
if (!ue || l.length < on - 1)
return l.push([e, t]), this.size = ++a.size, this;
a = this.__data__ = new oe(l);
}
return a.set(e, t), this.size = a.size, this;
}
function re(e) {
var t = this.__data__ = new F(e);
this.size = t.size;
}
re.prototype.clear = br;
re.prototype.delete = gr;
re.prototype.get = wr;
re.prototype.has = xr;
re.prototype.set = rn;
function nn(e, t) {
for (var a = -1, l = e == null ? 0 : e.length; ++a < l && t(e[a], a, e) !== !1; )
;
return e;
}
var sn = function() {
try {
var e = J(Object, "defineProperty");
return e({}, "", {}), e;
} catch {
}
}();
const tt = sn;
function Et(e, t, a) {
t == "__proto__" && tt ? tt(e, t, {
configurable: !0,
enumerable: !0,
value: a,
writable: !0
}) : e[t] = a;
}
var cn = Object.prototype, un = cn.hasOwnProperty;
function Lt(e, t, a) {
var l = e[t];
(!(un.call(e, t) && It(l, a)) || a === void 0 && !(t in e)) && Et(e, t, a);
}
function je(e, t, a, l) {
var n = !a;
a || (a = {});
for (var o = -1, r = t.length; ++o < r; ) {
var s = t[o], i = l ? l(a[s], e[s], s, a, e) : void 0;
i === void 0 && (i = e[s]), n ? Et(a, s, i) : Lt(a, s, i);
}
return a;
}
function dn(e, t) {
for (var a = -1, l = Array(e); ++a < e; )
l[a] = t(a);
return l;
}
var fn = "[object Arguments]";
function at(e) {
return le(e) && ae(e) == fn;
}
var Kt = Object.prototype, pn = Kt.hasOwnProperty, vn = Kt.propertyIsEnumerable, yn = at(function() {
return arguments;
}()) ? at : function(e) {
return le(e) && pn.call(e, "callee") && !vn.call(e, "callee");
};
const mn = yn;
function hn() {
return !1;
}
var Dt = typeof exports == "object" && exports && !exports.nodeType && exports, lt = Dt && typeof module == "object" && module && !module.nodeType && module, bn = lt && lt.exports === Dt, ot = bn ? E.Buffer : void 0, gn = ot ? ot.isBuffer : void 0, wn = gn || hn;
const Rt = wn;
var xn = 9007199254740991, kn = /^(?:0|[1-9]\d*)$/;
function _n(e, t) {
var a = typeof e;
return t = t ?? xn, !!t && (a == "number" || a != "symbol" && kn.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
var $n = 9007199254740991;
function Ft(e) {
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= $n;
}
var jn = "[object Arguments]", Vn = "[object Array]", Cn = "[object Boolean]", Bn = "[object Date]", zn = "[object Error]", Un = "[object Function]", An = "[object Map]", Tn = "[object Number]", Mn = "[object Object]", Sn = "[object RegExp]", On = "[object Set]", In = "[object String]", Pn = "[object WeakMap]", En = "[object ArrayBuffer]", Ln = "[object DataView]", Kn = "[object Float32Array]", Dn = "[object Float64Array]", Rn = "[object Int8Array]", Fn = "[object Int16Array]", Nn = "[object Int32Array]", qn = "[object Uint8Array]", Hn = "[object Uint8ClampedArray]", Gn = "[object Uint16Array]", Zn = "[object Uint32Array]", V = {};
V[Kn] = V[Dn] = V[Rn] = V[Fn] = V[Nn] = V[qn] = V[Hn] = V[Gn] = V[Zn] = !0;
V[jn] = V[Vn] = V[En] = V[Cn] = V[Ln] = V[Bn] = V[zn] = V[Un] = V[An] = V[Tn] = V[Mn] = V[Sn] = V[On] = V[In] = V[Pn] = !1;
function Wn(e) {
return le(e) && Ft(e.length) && !!V[ae(e)];
}
function Ke(e) {
return function(t) {
return e(t);
};
}
var Nt = typeof exports == "object" && exports && !exports.nodeType && exports, ie = Nt && typeof module == "object" && module && !module.nodeType && module, Yn = ie && ie.exports === Nt, Be = Yn && zt.process, Xn = function() {
try {
var e = ie && ie.require && ie.require("util").types;
return e || Be && Be.binding && Be.binding("util");
} catch {
}
}();
const te = Xn;
var rt = te && te.isTypedArray, Jn = rt ? Ke(rt) : Wn;
const Qn = Jn;
var es = Object.prototype, ts = es.hasOwnProperty;
function qt(e, t) {
var a = ke(e), l = !a && mn(e), n = !a && !l && Rt(e), o = !a && !l && !n && Qn(e), r = a || l || n || o, s = r ? dn(e.length, String) : [], i = s.length;
for (var p in e)
(t || ts.call(e, p)) && !(r && // Safari 9 has enumerable `arguments.length` in strict mode.
(p == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
n && (p == "offset" || p == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
o && (p == "buffer" || p == "byteLength" || p == "byteOffset") || // Skip index properties.
_n(p, i))) && s.push(p);
return s;
}
var as = Object.prototype;
function De(e) {
var t = e && e.constructor, a = typeof t == "function" && t.prototype || as;
return e === a;
}
function Ht(e, t) {
return function(a) {
return e(t(a));
};
}
var ls = Ht(Object.keys, Object);
const os = ls;
var rs = Object.prototype, ns = rs.hasOwnProperty;
function ss(e) {
if (!De(e))
return os(e);
var t = [];
for (var a in Object(e))
ns.call(e, a) && a != "constructor" && t.push(a);
return t;
}
function Gt(e) {
return e != null && Ft(e.length) && !Pt(e);
}
function Re(e) {
return Gt(e) ? qt(e) : ss(e);
}
function is(e, t) {
return e && je(t, Re(t), e);
}
function cs(e) {
var t = [];
if (e != null)
for (var a in Object(e))
t.push(a);
return t;
}
var us = Object.prototype, ds = us.hasOwnProperty;
function fs(e) {
if (!ve(e))
return cs(e);
var t = De(e), a = [];
for (var l in e)
l == "constructor" && (t || !ds.call(e, l)) || a.push(l);
return a;
}
function Fe(e) {
return Gt(e) ? qt(e, !0) : fs(e);
}
function ps(e, t) {
return e && je(t, Fe(t), e);
}
var Zt = typeof exports == "object" && exports && !exports.nodeType && exports, nt = Zt && typeof module == "object" && module && !module.nodeType && module, vs = nt && nt.exports === Zt, st = vs ? E.Buffer : void 0, it = st ? st.allocUnsafe : void 0;
function ys(e, t) {
if (t)
return e.slice();
var a = e.length, l = it ? it(a) : new e.constructor(a);
return e.copy(l), l;
}
function ms(e, t) {
var a = -1, l = e.length;
for (t || (t = Array(l)); ++a < l; )
t[a] = e[a];
return t;
}
function hs(e, t) {
for (var a = -1, l = e == null ? 0 : e.length, n = 0, o = []; ++a < l; ) {
var r = e[a];
t(r, a, e) && (o[n++] = r);
}
return o;
}
function Wt() {
return [];
}
var bs = Object.prototype, gs = bs.propertyIsEnumerable, ct = Object.getOwnPropertySymbols, ws = ct ? function(e) {
return e == null ? [] : (e = Object(e), hs(ct(e), function(t) {
return gs.call(e, t);
}));
} : Wt;
const Ne = ws;
function xs(e, t) {
return je(e, Ne(e), t);
}
function Yt(e, t) {
for (var a = -1, l = t.length, n = e.length; ++a < l; )
e[n + a] = t[a];
return e;
}
var ks = Ht(Object.getPrototypeOf, Object);
const Xt = ks;
var _s = Object.getOwnPropertySymbols, $s = _s ? function(e) {
for (var t = []; e; )
Yt(t, Ne(e)), e = Xt(e);
return t;
} : Wt;
const Jt = $s;
function js(e, t) {
return je(e, Jt(e), t);
}
function Qt(e, t, a) {
var l = t(e);
return ke(e) ? l : Yt(l, a(e));
}
function Vs(e) {
return Qt(e, Re, Ne);
}
function Cs(e) {
return Qt(e, Fe, Jt);
}
var Bs = J(E, "DataView");
const Me = Bs;
var zs = J(E, "Promise");
const Se = zs;
var Us = J(E, "Set");
const Oe = Us;
var As = J(E, "WeakMap");
const Ie = As;
var ut = "[object Map]", Ts = "[object Object]", dt = "[object Promise]", ft = "[object Set]", pt = "[object WeakMap]", vt = "[object DataView]", Ms = X(Me), Ss = X(ue), Os = X(Se), Is = X(Oe), Ps = X(Ie), Z = ae;
(Me && Z(new Me(new ArrayBuffer(1))) != vt || ue && Z(new ue()) != ut || Se && Z(Se.resolve()) != dt || Oe && Z(new Oe()) != ft || Ie && Z(new Ie()) != pt) && (Z = function(e) {
var t = ae(e), a = t == Ts ? e.constructor : void 0, l = a ? X(a) : "";
if (l)
switch (l) {
case Ms:
return vt;
case Ss:
return ut;
case Os:
return dt;
case Is:
return ft;
case Ps:
return pt;
}
return t;
});
const qe = Z;
var Es = Object.prototype, Ls = Es.hasOwnProperty;
function Ks(e) {
var t = e.length, a = new e.constructor(t);
return t && typeof e[0] == "string" && Ls.call(e, "index") && (a.index = e.index, a.input = e.input), a;
}
var Ds = E.Uint8Array;
const yt = Ds;
function He(e) {
var t = new e.constructor(e.byteLength);
return new yt(t).set(new yt(e)), t;
}
function Rs(e, t) {
var a = t ? He(e.buffer) : e.buffer;
return new e.constructor(a, e.byteOffset, e.byteLength);
}
var Fs = /\w*$/;
function Ns(e) {
var t = new e.constructor(e.source, Fs.exec(e));
return t.lastIndex = e.lastIndex, t;
}
var mt = q ? q.prototype : void 0, ht = mt ? mt.valueOf : void 0;
function qs(e) {
return ht ? Object(ht.call(e)) : {};
}
function Hs(e, t) {
var a = t ? He(e.buffer) : e.buffer;
return new e.constructor(a, e.byteOffset, e.length);
}
var Gs = "[object Boolean]", Zs = "[object Date]", Ws = "[object Map]", Ys = "[object Number]", Xs = "[object RegExp]", Js = "[object Set]", Qs = "[object String]", ei = "[object Symbol]", ti = "[object ArrayBuffer]", ai = "[object DataView]", li = "[object Float32Array]", oi = "[object Float64Array]", ri = "[object Int8Array]", ni = "[object Int16Array]", si = "[object Int32Array]", ii = "[object Uint8Array]", ci = "[object Uint8ClampedArray]", ui = "[object Uint16Array]", di = "[object Uint32Array]";
function fi(e, t, a) {
var l = e.constructor;
switch (t) {
case ti:
return He(e);
case Gs:
case Zs:
return new l(+e);
case ai:
return Rs(e, a);
case li:
case oi:
case ri:
case ni:
case si:
case ii:
case ci:
case ui:
case di:
return Hs(e, a);
case Ws:
return new l();
case Ys:
case Qs:
return new l(e);
case Xs:
return Ns(e);
case Js:
return new l();
case ei:
return qs(e);
}
}
var bt = Object.create, pi = function() {
function e() {
}
return function(t) {
if (!ve(t))
return {};
if (bt)
return bt(t);
e.prototype = t;
var a = new e();
return e.prototype = void 0, a;
};
}();
const vi = pi;
function yi(e) {
return typeof e.constructor == "function" && !De(e) ? vi(Xt(e)) : {};
}
var mi = "[object Map]";
function hi(e) {
return le(e) && qe(e) == mi;
}
var gt = te && te.isMap, bi = gt ? Ke(gt) : hi;
const gi = bi;
var wi = "[object Set]";
function xi(e) {
return le(e) && qe(e) == wi;
}
var wt = te && te.isSet, ki = wt ? Ke(wt) : xi;
const _i = ki;
var $i = 1, ji = 2, Vi = 4, ea = "[object Arguments]", Ci = "[object Array]", Bi = "[object Boolean]", zi = "[object Date]", Ui = "[object Error]", ta = "[object Function]", Ai = "[object GeneratorFunction]", Ti = "[object Map]", Mi = "[object Number]", aa = "[object Object]", Si = "[object RegExp]", Oi = "[object Set]", Ii = "[object String]", Pi = "[object Symbol]", Ei = "[object WeakMap]", Li = "[object ArrayBuffer]", Ki = "[object DataView]", Di = "[object Float32Array]", Ri = "[object Float64Array]", Fi = "[object Int8Array]", Ni = "[object Int16Array]", qi = "[object Int32Array]", Hi = "[object Uint8Array]", Gi = "[object Uint8ClampedArray]", Zi = "[object Uint16Array]", Wi = "[object Uint32Array]", $ = {};
$[ea] = $[Ci] = $[Li] = $[Ki] = $[Bi] = $[zi] = $[Di] = $[Ri] = $[Fi] = $[Ni] = $[qi] = $[Ti] = $[Mi] = $[aa] = $[Si] = $[Oi] = $[Ii] = $[Pi] = $[Hi] = $[Gi] = $[Zi] = $[Wi] = !0;
$[Ui] = $[ta] = $[Ei] = !1;
function he(e, t, a, l, n, o) {
var r, s = t & $i, i = t & ji, p = t & Vi;
if (a && (r = n ? a(e, l, n, o) : a(e)), r !== void 0)
return r;
if (!ve(e))
return e;
var f = ke(e);
if (f) {
if (r = Ks(e), !s)
return ms(e, r);
} else {
var m = qe(e), k = m == ta || m == Ai;
if (Rt(e))
return ys(e, s);
if (m == aa || m == ea || k && !n) {
if (r = i || k ? {} : yi(e), !s)
return i ? js(e, ps(r, e)) : xs(e, is(r, e));
} else {
if (!$[m])
return n ? e : {};
r = fi(e, m, s);
}
}
o || (o = new re());
var v = o.get(e);
if (v)
return v;
o.set(e, r), _i(e) ? e.forEach(function(g) {
r.add(he(g, t, a, g, e, o));
}) : gi(e) && e.forEach(function(g, C) {
r.set(C, he(g, t, a, C, e, o));
});
var y = p ? i ? Cs : Vs : i ? Fe : Re, h = f ? void 0 : y(e);
return nn(h || e, function(g, C) {
h && (C = g, g = e[C]), Lt(r, C, he(g, t, a, C, e, o));
}), r;
}
var Yi = 1, Xi = 4;
function ge(e) {
return he(e, Yi | Xi);
}
const la = (e) => (Vt("data-v-6aca55dd"), e = e(), Ct(), e), Ji = { class: "w-full flex flex-col" }, Qi = { class: "overflow-x-auto -mx-4 -my-2 lg:-mx-8 sm:-mx-6" }, e0 = { class: "inline-block min-w-full py-2 align-middle lg:px-8 md:px-6" }, t0 = {
key: 0,
class: "absolute left-12 top-0 h-12 flex items-center sm:left-16 space-x-3"
}, a0 = ["disabled", "onClick"], l0 = { class: "min-w-full table-fixed overflow-x-auto" }, o0 = { class: "caption-top" }, r0 = { class: "caption-bottom" }, n0 = {
key: 0,
scope: "col",
class: "relative w-12 px-6 sm:w-16 sm:px-8"
}, s0 = ["checked", "indeterminate"], i0 = {
key: 1,
scope: "col"
}, c0 = { class: "relative overflow-x-auto bg-white divide-y divide-gray-200" }, u0 = { colspan: 99 }, d0 = { class: "absolute h-full w-full flex items-center justify-center" }, f0 = /* @__PURE__ */ jt('<svg class="opacity-80" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" data-v-6aca55dd><g stroke="#888888" data-v-6aca55dd><circle cx="12" cy="12" r="9.5" fill="none" stroke-linecap="round" stroke-width="3" data-v-6aca55dd><animate attributeName="stroke-dasharray" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0 150;42 150;42 150;42 150" data-v-6aca55dd></animate><animate attributeName="stroke-dashoffset" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0;-16;-59;-59" data-v-6aca55dd></animate></circle><animateTransform attributeName="transform" dur="2s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12" data-v-6aca55dd></animateTransform></g></svg>', 1), p0 = { key: 0 }, v0 = { colspan: 99 }, y0 = { class: "min-h-32 flex items-center justify-center" }, m0 = /* @__PURE__ */ la(() => /* @__PURE__ */ u("svg", {
class: "opacity-30",
xmlns: "http://www.w3.org/2000/svg",
width: "50",
height: "50",
viewBox: "0 0 24 24"
}, [
/* @__PURE__ */ u("path", {
fill: "#888888",
d: "M12 11.997a1.316 1.316 0 1 1 0-2.632a1.316 1.316 0 0 1 0 2.632zm2.916-.021c0-2.828-1.109-5.397-2.916-7.298a10.556 10.556 0 0 0-2.916 7.298c0 1.297.234 2.535.66 3.683c-.618.9-1.074 2.16-1.275 3.616c.639-.767 1.422-1.306 2.292-1.591c.363.555.78 1.096 1.239 1.574c.461-.494.876-1.02 1.239-1.59c.87.271 1.653.826 2.29 1.576c-.199-1.456-.655-2.716-1.275-3.615c.427-1.155.66-2.385.66-3.69l.002.037zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm0-22C5.373 0 0 5.373 0 12s5.373 12 12 12s12-5.373 12-12S18.627 0 12 0z"
})
], -1)), h0 = ["onMouseenter", "onClick"], b0 = {
key: 0,
class: "relative w-12 px-6 sm:w-16 sm:px-8"
}, g0 = {
key: 0,
class: "bg-primary-600 absolute inset-y-0 left-0 w-0.5"
}, w0 = ["value", "indeterminate"], x0 = ["onClick"], k0 = ["onClick", "onMouseenter"], _0 = {
key: 0,
class: "relative w-12 px-6 sm:w-16 sm:px-8"
}, $0 = {
key: 0,
class: "bg-primary-600 absolute inset-y-0 left-0 w-0.5"
}, j0 = ["value"], V0 = /* @__PURE__ */ la(() => /* @__PURE__ */ u("div", { class: "i-heroicons:minus h-4 w-4 flex items-center opacity-20" }, null, -1)), C0 = [
V0
], B0 = {
name: "UTable"
}, z0 = /* @__PURE__ */ j({
...B0,
props: {
data: { default: () => [] },
actions: { default: () => [] },
loading: { type: Boolean, default: !1 },
divided: { type: Boolean, default: !1 },
bordered: { type: Boolean, default: !1 },
striped: { type: Boolean, default: !1 },
tree: { type: Boolean, default: !1 },
headerColor: { type: Boolean, default: !1 },
rowKey: { default: "id" },
defaultExpandAll: { type: Boolean, default: !1 },
rounded: { default: "sm" },
associateParent: { default: "auto" }
},
emits: ["hoverRow", "clickRow"],
setup(e) {
const t = e, a = O(ge(t.data)), l = O([]);
Y(() => t.data, (f) => {
l.value = [], a.value = ge(f), p();
});
const n = U(() => {
let f = 0;
return a.value.forEach((m) => {
var k;
f++, t.tree && (k = m.children) != null && k.length && m.children.forEach(() => f++);
}), f;
}), o = U(() => {
const f = t.data;
return f && f.length > 0 && l.value.length > 0 && l.value.length < n.value;
});
function r(f) {
var m;
const k = f.target;
if (l.value = [], k.checked) {
for (const v of a.value)
if (l.value.push(v[t.rowKey]), t.tree && (m = v.children) != null && m.length)
for (const y of v.children)
l.value.push(y[t.rowKey]);
}
}
function s(f) {
var m;
if (t.tree && (m = f.children) != null && m.length) {
let k = 0;
for (const v of f.children)
l.value.includes(v[t.rowKey]) && k++;
return k > 0 && k < f.children.length;
}
}
function i(f) {
var m;
if (!t.tree)
return;
const k = f.target;
let v, y = !1;
for (const h of a.value) {
if (String(h[t.rowKey]) === k.value) {
v = h, y = !0;
break;
}
if ((m = h.children) != null && m.length) {
for (const g of h.children)
if (String(g[t.rowKey]) === k.value) {
v = h, y = !1;
break;
}
}
if (v)
break;
}
if (v != null && v.children.length)
if (y)
if (k.checked)
for (const h of v.children)
l.value.includes(h[t.rowKey]) || l.value.push(h[t.rowKey]);
else
for (const h of v.children)
l.value = l.value.filter((g) => g !== h[t.rowKey]);
else if (k.checked) {
if (t.associateParent === "uncheck")
return;
if (t.associateParent === "check" && (l.value.includes(v[t.rowKey]) || l.value.push(v[t.rowKey])), t.associateParent === "auto") {
let h = !0;
for (const g of v.children)
if (!l.value.includes(g[t.rowKey])) {
h = !1;
break;
}
h && !l.value.includes(v[t.rowKey]) && l.value.push(v[t.rowKey]);
}
} else {
t.associateParent === "auto" && (l.value = l.value.filter((h) => h !== v[t.rowKey]));
for (const h of v.children)
if (l.value.includes(h[t.rowKey]))
return;
l.value = l.value.filter((h) => h !== v[t.rowKey]);
}
}
function p() {
t.tree && (a.value.forEach((f) => f._hideSubItem = !0), t.defaultExpandAll && a.value.forEach((f) => f._hideSubItem = !1));
}
return Pe(() => {
p();
}), (f, m) => {
var k, v;
return c(), d("div", Ji, [
u("div", Qi, [
u("div", e0, [
u("div", {
class: b(["relative overflow-hidden", [
`rounded-${e.rounded}`,
{
"ring-1 ring-gray-300 border-opacity-50": e.bordered
}
]])
}, [
l.value.length > 0 ? (c(), d("div", t0, [
(c(!0), d(B, null, S(e.actions, (y) => (c(), d("button", {
key: y.name,
disabled: !l.value.length,
class: "focus:ring-primary-500 inline-flex items-center border border-gray-300 rounded bg-white px-2.5 py-1.5 text-xs font-medium text-gray-700 shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2",
onClick: (h) => y.clicked(l.value)
}, z(y.name), 9, a0))), 128))
])) : _("", !0),
u("table", l0, [
u("caption", o0, [
w(f.$slots, "top", {}, void 0, !0)
]),
u("caption", r0, [
w(f.$slots, "bottom", {}, void 0, !0)
]),
u("thead", {
class: b({ "bg-gray-50": e.headerColor })
}, [
u("tr", {
class: b({ "divide-x divide-gray-300": e.divided })
}, [
(k = e.actions) != null && k.length ? (c(), d("th", n0, [
u("input", {
type: "checkbox",
class: "checkbox",
checked: ((v = a.value) == null ? void 0 : v.length) > 0 && l.value.length === x(n),
indeterminate: x(o),
onChange: r
}, null, 40, s0)
])) : _("", !0),
e.tree ? (c(), d("th", i0)) : _("", !0),
w(f.$slots, "headers", {}, void 0, !0)
], 2)
], 2),
u("tbody", c0, [
u("tr", {
class: b([{ invisible: !e.loading }, "absolute h-full w-full"])
}, [
u("td", u0, [
u("div", d0, [
w(f.$slots, "loading", {}, () => [
f0
], !0)
])
])
], 2),
a.value.length === 0 ? (c(), d("tr", p0, [
u("td", v0, [
u("div", y0, [
w(f.$slots, "empty", {}, () => [
m0
], !0)
])
])
])) : (c(!0), d(B, { key: 1 }, S(a.value, (y, h) => {
var g;
return c(), d(B, {
key: y[e.rowKey]
}, [
u("tr", {
class: b(["duration-300 hover:bg-gray-100", {
"even:bg-gray-50": e.striped,
"divide-x divide-gray-300": e.divided,
"bg-gray-50": l.value.includes(y[e.rowKey]),
"opacity-30": e.loading
// 'bg-gray-100': item.children?.length,
}]),
onMouseenter: (C) => f.$emit("hoverRow", y),
onClick: L((C) => f.$emit("clickRow", y), ["stop"])
}, [
(g = e.actions) != null && g.length ? (c(), d("td", b0, [
l.value.includes(y[e.rowKey]) ? (c(), d("div", g0)) : _("", !0),
M(u("input", {
"onUpdate:modelValue": m[0] || (m[0] = (C) => l.value = C),
value: y[e.rowKey],
type: "checkbox",
class: "checkbox",
indeterminate: e.associateParent !== "uncheck" ? s(y) : !1,
onChange: i,
onClick: m[1] || (m[1] = L(() => {
}, ["stop"]))
}, null, 40, w0), [
[ce, l.value]
])
])) : _("", !0),
e.tree ? (c(), d("td", {
key: 1,
class: b(["w-1", { "pl-4": !e.actions.length }])
}, [
u("button", {
class: b(["i-heroicons:chevron-right h-4 w-4 flex items-center duration-200", { "rotate-90": !y._hideSubItem }]),
onClick: L((C) => y._hideSubItem = !y._hideSubItem, ["stop"])
}, null, 10, x0)
], 2)) : _("", !0),
w(f.$slots, "rows", {
row: y,
index: h
}, void 0, !0)
], 42, h0),
e.tree && !y._hideSubItem ? (c(!0), d(B, { key: 0 }, S(y.children, (C, I) => {
var Ge;
return c(), d("tr", {
key: C[e.rowKey],
class: b(["hover:bg-gray-100", {
"bg-gray-50": l.value.includes(y[e.rowKey]),
"opacity-30": e.loading
}]),
onClick: L((Ve) => f.$emit("clickRow", C), ["stop"]),
onMouseenter: (Ve) => f.$emit("hoverRow", C)
}, [
(Ge = e.actions) != null && Ge.length ? (c(), d("td", _0, [
l.value.includes(C[e.rowKey]) ? (c(), d("div", $0)) : _("", !0),
M(u("input", {
"onUpdate:modelValue": m[2] || (m[2] = (Ve) => l.value = Ve),
value: C[e.rowKey],
type: "checkbox",
class: "checkbox",
onChange: i,
onClick: m[3] || (m[3] = L(() => {
}, ["stop"]))
}, null, 40, j0), [
[ce, l.value]
])
])) : _("", !0),
u("td", {
class: b(["w-1", { "pl-4": !e.actions.length }])
}, C0, 2),
w(f.$slots, "subs", {
sub: C,
index: I
}, void 0, !0)
], 42, k0);
}), 128)) : _("", !0)
], 64);
}), 128))
])
])
], 2)
])
])
]);
};
}
}), U0 = /* @__PURE__ */ pe(z0, [["__scopeId", "data-v-6aca55dd"]]), A0 = {
name: "UToast"
}, T0 = /* @__PURE__ */ j({
...A0,
props: {
show: { type: Boolean },
position: { default: "top" },
align: { default: "center" },
timeout: { default: 2500 },
queue: { type: Boolean, default: !0 },
zIndex: { default: 100 },
closeable: { type: Boolean, default: !1 }
},
setup(e, { expose: t }) {
const a = e, l = R({
events: [],
success: (n) => l.add("success", n),
info: (n) => l.add("info", n),
warning: (n) => l.add("warning", n),
error: (n) => l.add("error", n),
show: (n, o) => l.add(n, o),
add: (n, o) => {
a.queue || (l.events = []), setTimeout(() => {
const r = { id: Date.now(), content: o, type: n };
l.events.push(r), setTimeout(() => l.remove(r), a.timeout);
}, 100);
},
remove: (n) => {
l.events = l.events.filter((o) => o.id !== n.id);
}
});
return t({
show: l.show,
success: l.success,
info: l.info,
warning: l.warning,
error: l.error
}), (n, o) => M((c(), d("div", {
class: b(["fixed w-4/5 sm:w-96", {
"left-1/2 -translate-x-1/2": e.align === "center",
"left-6": e.align === "left",
"right-6": e.align === "right",
"top-4": e.position === "top",
"bottom-6 ": e.position === "bottom"
}]),
style: we({ zIndex: e.zIndex })
}, [
D(ua, {
tag: "ul",
"enter-active-class": "transition ease-out duration-200",
"leave-active-class": "transition ease-in duration-200 absolute w-full",
"enter-class": e.position === "bottom" ? "transform translate-y-3 opacity-0" : "transform -translate-y-3 opacity-0",
"enter-to-class": "transform translate-y-0 opacity-100",
"leave-class": "transform translate-y-0 opacity-100",
"leave-to-class": e.position === "bottom" ? "transform translate-y-1/4 opacity-0" : "transform -translate-y-1/4 opacity-0",
"move-class": "ease-in-out duration-200",
class: "inline-block w-full"
}, {
default: A(() => [
(c(!0), d(B, null, S(l.events, (r) => (c(), d("li", {
key: r.id,
class: b({
"pb-2": e.position === "bottom",
"pt-2": e.position === "top"
})
}, [
w(n.$slots, "default", {
type: r.type,
content: r.content
}, () => [
D(Bt, {
type: r.type,
closeable: e.closeable,
onClose: (s) => l.remove(r)
}, {
default: A(() => [
K(z(r.content), 1)
]),
_: 2
}, 1032, ["type", "closeable", "onClose"])
])
], 2))), 128))
]),
_: 3
}, 8, ["enter-class", "leave-to-class"])
], 6)), [
[$t, l.events.length]
]);
}
}), M0 = { class: "w-full" }, S0 = { class: "hover:bg-primary-100 flex cursor-pointer items-center gap-1 px-2 py-0.5 transition-100 hover:rounded" }, O0 = ["onClick"], I0 = /* @__PURE__ */ u("svg", {
xmlns: "http://www.w3.org/2000/svg",
fill: "none",
viewBox: "0 0 24 24",
"stroke-width": "1.5",
stroke: "currentColor"
}, [
/* @__PURE__ */ u("path", {
"stroke-linecap": "round",
"stroke-linejoin": "round",
d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
})
], -1), P0 = [
I0
], E0 = {
key: 0,
class: "flex items-center"
}, L0 = ["disabled", "value", "indeterminate"], K0 = { key: 1 }, D0 = { class: "pl-4" }, R0 = {
name: "UTree"
}, F0 = /* @__PURE__ */ j({
...R0,
props: {
modelValue: { default: null },
options: { default: () => [] },
cascade: { type: Boolean, default: !1 },
associateParent: { default: "auto" },
selectable: { type: Boolean, default: !1 },
defaultExpandedKeys: { default: () => [] },
level: { default: 1 }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
const a = e, l = O(ge(a.options)), n = da();
Y(() => a.options, (v) => {
l.value = ge(v);
});
const o = U({
get: () => a.modelValue,
set: (v) => t("update:modelValue", v)
});
function r(v) {
var y;
if (a.cascade && (y = v.children) != null && y.length) {
let h = 0;
for (const g of v.children)
o.value.includes(g.value) && h++;
return h > 0 && h < v.children.length;
}
}
function s(v, y) {
if (y) {
for (const h of y)
if (h.children) {
if (h.children.some((g) => String(g.value) === v))
return h;
{
const g = s(v, h.children);
if (g)
return g;
}
}
}
}
function i(v) {
var y;
if (a.associateParent !== "uncheck") {
if (a.associateParent === "auto") {
const h = s(v, n["all-options"]);
h && ((y = h.children) != null && y.every((g) => o.value.includes(g.value)) && !o.value.includes(h.value) && o.value.push(h.value), i(h.value));
}
if (a.associateParent === "check") {
const h = s(v, n["all-options"]);
h && (o.value.includes(h.value) || o.value.push(h.value), i(h.value));
}
}
}
function p(v) {
const y = s(v, n["all-options"]);
y && (o.value.includes(y.value) && o.value.splice(o.value.indexOf(y.value), 1), p(y.value));
}
function f(v) {
if (!a.cascade)
return;
const { value: y, checked: h } = v.target;
h ? i(y) : p(y), m(
l.value.find((g) => String(g.value) === y),
o.value.includes(y) || o.value.includes(Number(y))
);
}
function m(v, y) {
!v || v.disabled || (y ? o.value.includes(v.value) || o.value.push(v.value) : o.value.includes(v.value) && o.value.splice(o.value.indexOf(v.value), 1), a.cascade && v.children && v.children.forEach((h) => m(h, y)));
}
function k(v) {
var y;
v.hidden = !0, a.defaultExpandedKeys.length && (a.defaultExpandedKeys.includes(v.value) && (v.hidden = !1), (y = v.children) == null || y.forEach((h) => k(h)));
}
return Pe(() => {
l.value.forEach((v) => k(v));
}), (v, y) => {
const h = fa("UTree");
return c(), d("div", M0, [
(c(!0), d(B, null, S(l.value, (g, C) => (c(), d("div", {
key: g.value + C
}, [
u("div", S0, [
u("span", {
class: b(["mr-1 h-4 w-4 cursor-pointer text-gray-500 duration-200", {
invisible: !g.children,
"-rotate-90": g.hidden
}]),
onClick: L((I) => g.hidden = !g.hidden, ["stop"])
}, P0, 10, O0),
e.selectable ? (c(), d("div", E0, [
M(u("input", {
"onUpdate:modelValue": y[0] || (y[0] = (I) => Q(o) ? o.value = I : null),
type: "checkbox",
disabled: g.disabled,
value: g.value,
class: b(["focus:ring-primary-500 text-primary-400 border-gray-300 rounded", g.disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer"]),
indeterminate: e.associateParent !== "uncheck" ? r(g) : !1,
onChange: f
}, null, 42, L0), [
[ce, x(o)]
]),
u("label", {
class: b(["ml-2", g.disabled ? "cursor-not-allowed" : "cursor-pointer"])
}, [
w(v.$slots, "option", {
item: g,
level: e.level
}, () => [
K(z(g.label), 1)
])
], 2)
])) : (c(), d("span", K0, [
w(v.$slots, "option", { item: g }, () => [
K(z(g.label), 1)
])
]))
]),
D(xe, null, {
default: A(() => [
M(u("div", D0, [
D(h, {
modelValue: x(o),
"onUpdate:modelValue": y[1] || (y[1] = (I) => Q(o) ? o.value = I : null),
cascade: e.cascade,
selectable: e.selectable,
options: g.children || [],
"default-expanded-keys": e.defaultExpandedKeys,
level: e.level + 1,
"all-options": e.level === 1 ? e.options : v.$attrs["all-options"],
"associate-parent": e.associateParent
}, {
option: A((I) => [
w(v.$slots, "option", {
item: I.item,
level: I.level
}, () => [
K(z(I.item.label), 1)
])
]),
_: 2
}, 1032, ["modelValue", "cascade", "selectable", "options", "default-expanded-keys", "level", "all-options", "associate-parent"])
], 512), [
[$t, !g.hidden]
])
]),
_: 2
}, 1024)
]))), 128))
]);
};
}
}), N0 = { class: "w-full px-3" }, q0 = { class: "flex items-center" }, H0 = {
key: 0,
class: "mr-3 text-gray-600"
}, G0 = ["onClick"], Z0 = { class: "p-3" }, W0 = {
name: "UTabs"
}, Y0 = /* @__PURE__ */ j({
...W0,
props: {
modelValue: { default: null },
full: { type: Boolean, default: !1 },
type: { default: "card" }
},
emits: ["update:modelValue"],
setup(e, { emit: t }) {
var a;
const l = e;
ya("tabs", { value: l.modelValue });
const n = ma(), o = (a = n.default) == null ? void 0 : a.call(n), r = R({
tab: [],
activeValue(i, p) {
if (typeof l.modelValue == "number")
return p;
if (typeof l.modelValue == "string")
return i.value;
},
selectTab(i, p) {
typeof l.modelValue == "number" && t("update:modelValue", p), typeof l.modelValue == "string" && t("update:modelValue", i.value);
}
});
if (o)
for (let i = 0; i < o.length; i++)
r.tab.push(o[i].props);
function s() {
var i;
if (n.default) {
if (typeof l.modelValue == "number")
return n.default()[l.modelValue];
if (typeof l.modelValue == "string" && o) {
for (let p = 0; p < o.length; p++)
if (((i = o[p].props) == null ? void 0 : i.value) === l.modelValue)
return n.default()[p];
}
}
}
return (i, p) => (c(), d("div", N0, [
u("div", q0, [
i.$slots.prefix ? (c(), d("div", H0, [
w(i.$slots, "prefix", {}, void 0, !0)
])) : _("", !0),
(c(!0), d(B, null, S(r.tab, (f, m) => (c(), d("div", {
key: m,
class: b(["tab", {
active: r.activeValue(f, m) === e.modelValue,
"w-full justify-center": e.type === "flex"
}]),
onClick: (k) => r.selectTab(f, m)
}, [
u("span", null, z(f == null ? void 0 : f.title), 1),
u("span", {
class: b(["ml-1 inline-block h-5 w-5", f == null ? void 0 : f.icon])
}, null, 2)
], 10, G0))), 128))
]),
u("div", Z0, [
D(s)
])
]));
}
}), X0 = /* @__PURE__ */ pe(Y0, [["__scopeId", "data-v-1641114e"]]), J0 = {
name: "UTabPane"
}, Q0 = /* @__PURE__ */ j({
...J0,
props: {
title: { default: "" },
icon: { default: void 0 },
value: { default: void 0 }
},
setup(e) {
return (t, a) => (c(), d("div", ze(pa(t.$attrs)), [
w(t.$slots, "default")
], 16));
}
}), oa = [
Bt,
za,
ye,
al,
il,
fl,
ml,
Bl,
Rl,
Jl,
co,
ho,
jo,
Bo,
So,
Eo,
Xo,
Qo,
Te,
ur,
U0,
Ae,
T0,
F0,
X0,
Q0
];
for (const e of oa)
e.install = (t) => {
t.component(e.name, e);
};
function ec(e) {
oa.forEach((t) => {
e.component(t.name, t);
});
}
const oc = {
install: ec
}, N = {
inherit: "inherit",
current: "currentColor",
transparent: "transparent",
black: "#000",
white: "#fff",
rose: {
50: "#fff1f2",
100: "#ffe4e6",
200: "#fecdd3",
300: "#fda4af",
400: "#fb7185",
500: "#f43f5e",
600: "#e11d48",
700: "#be123c",
800: "#9f1239",
900: "#881337",
950: "#4c0519"
},
pink: {
50: "#fdf2f8",
100: "#fce7f3",
200: "#fbcfe8",
300: "#f9a8d4",
400: "#f472b6",
500: "#ec4899",
600: "#db2777",
700: "#be185d",
800: "#9d174d",
900: "#831843",
950: "#500724"
},
fuchsia: {
50: "#fdf4ff",
100: "#fae8ff",
200: "#f5d0fe",
300: "#f0abfc",
400: "#e879f9",
500: "#d946ef",
600: "#c026d3",
700: "#a21caf",
800: "#86198f",
900: "#701a75",
950: "#4a044e"
},
purple: {
50: "#faf5ff",
100: "#f3e8ff",
200: "#e9d5ff",
300: "#d8b4fe",
400: "#c084fc",
500: "#a855f7",
600: "#9333ea",
700: "#7e22ce",
800: "#6b21a8",
900: "#581c87",
950: "#3b0764"
},
violet: {
50: "#f5f3ff",
100: "#ede9fe",
200: "#ddd6fe",
300: "#c4b5fd",
400: "#a78bfa",
500: "#8b5cf6",
600: "#7c3aed",
700: "#6d28d9",
800: "#5b21b6",
900: "#4c1d95",
950: "#2e1065"
},
indigo: {
50: "#eef2ff",
100: "#e0e7ff",
200: "#c7d2fe",
300: "#a5b4fc",
400: "#818cf8",
500: "#6366f1",
600: "#4f46e5",
700: "#4338ca",
800: "#3730a3",
900: "#312e81",
950: "#1e1b4b"
},
blue: {
50: "#eff6ff",
100: "#dbeafe",
200: "#bfdbfe",
300: "#93c5fd",
400: "#60a5fa",
500: "#3b82f6",
600: "#2563eb",
700: "#1d4ed8",
800: "#1e40af",
900: "#1e3a8a",
950: "#172554"
},
sky: {
50: "#f0f9ff",
100: "#e0f2fe",
200: "#bae6fd",
300: "#7dd3fc",
400: "#38bdf8",
500: "#0ea5e9",
600: "#0284c7",
700: "#0369a1",
800: "#075985",
900: "#0c4a6e",
950: "#082f49"
},
cyan: {
50: "#ecfeff",
100: "#cffafe",
200: "#a5f3fc",
300: "#67e8f9",
400: "#22d3ee",
500: "#06b6d4",
600: "#0891b2",
700: "#0e7490",
800: "#155e75",
900: "#164e63",
950: "#083344"
},
teal: {
50: "#f0fdfa",
100: "#ccfbf1",
200: "#99f6e4",
300: "#5eead4",
400: "#2dd4bf",
500: "#14b8a6",
600: "#0d9488",
700: "#0f766e",
800: "#115e59",
900: "#134e4a",
950: "#042f2e"
},
emerald: {
50: "#ecfdf5",
100: "#d1fae5",
200: "#a7f3d0",
300: "#6ee7b7",
400: "#34d399",
500: "#10b981",
600: "#059669",
700: "#047857",
800: "#065f46",
900: "#064e3b",
950: "#022c22"
},
green: {
50: "#f0fdf4",
100: "#dcfce7",
200: "#bbf7d0",
300: "#86efac",
400: "#4ade80",
500: "#22c55e",
600: "#16a34a",
700: "#15803d",
800: "#166534",
900: "#14532d",
950: "#052e16"
},
lime: {
50: "#f7fee7",
100: "#ecfccb",
200: "#d9f99d",
300: "#bef264",
400: "#a3e635",
500: "#84cc16",
600: "#65a30d",
700: "#4d7c0f",
800: "#3f6212",
900: "#365314",
950: "#1a2e05"
},
yellow: {
50: "#fefce8",
100: "#fef9c3",
200: "#fef08a",
300: "#fde047",
400: "#facc15",
500: "#eab308",
600: "#ca8a04",
700: "#a16207",
800: "#854d0e",
900: "#713f12",
950: "#422006"
},
amber: {
50: "#fffbeb",
100: "#fef3c7",
200: "#fde68a",
300: "#fcd34d",
400: "#fbbf24",
500: "#f59e0b",
600: "#d97706",
700: "#b45309",
800: "#92400e",
900: "#78350f",
950: "#451a03"
},
orange: {
50: "#fff7ed",
100: "#ffedd5",
200: "#fed7aa",
300: "#fdba74",
400: "#fb923c",
500: "#f97316",
600: "#ea580c",
700: "#c2410c",
800: "#9a3412",
900: "#7c2d12",
950: "#431407"
},
red: {
50: "#fef2f2",
100: "#fee2e2",
200: "#fecaca",
300: "#fca5a5",
400: "#f87171",
500: "#ef4444",
600: "#dc2626",
700: "#b91c1c",
800: "#991b1b",
900: "#7f1d1d",
950: "#450a0a"
},
gray: {
50: "#f9fafb",
100: "#f3f4f6",
200: "#e5e7eb",
300: "#d1d5db",
400: "#9ca3af",
500: "#6b7280",
600: "#4b5563",
700: "#374151",
800: "#1f2937",
900: "#111827",
950: "#030712"
},
slate: {
50: "#f8fafc",
100: "#f1f5f9",
200: "#e2e8f0",
300: "#cbd5e1",
400: "#94a3b8",
500: "#64748b",
600: "#475569",
700: "#334155",
800: "#1e293b",
900: "#0f172a",
950: "#020617"
},
zinc: {
50: "#fafafa",
100: "#f4f4f5",
200: "#e4e4e7",
300: "#d4d4d8",
400: "#a1a1aa",
500: "#71717a",
600: "#52525b",
700: "#3f3f46",
800: "#27272a",
900: "#18181b",
950: "#09090b"
},
neutral: {
50: "#fafafa",
100: "#f5f5f5",
200: "#e5e5e5",
300: "#d4d4d4",
400: "#a3a3a3",
500: "#737373",
600: "#525252",
700: "#404040",
800: "#262626",
900: "#171717",
950: "#0a0a0a"
},
stone: {
50: "#fafaf9",
100: "#f5f5f4",
200: "#e7e5e4",
300: "#d6d3d1",
400: "#a8a29e",
500: "#78716c",
600: "#57534e",
700: "#44403c",
800: "#292524",
900: "#1c1917",
950: "#0c0a09"
},
light: {
50: "#fdfdfd",
100: "#fcfcfc",
200: "#fafafa",
300: "#f8f9fa",
400: "#f6f6f6",
500: "#f2f2f2",
600: "#f1f3f5",
700: "#e9ecef",
800: "#dee2e6",
900: "#dde1e3",
950: "#d8dcdf"
},
dark: {
50: "#4a4a4a",
100: "#3c3c3c",
200: "#323232",
300: "#2d2d2d",
400: "#222222",
500: "#1f1f1f",
600: "#1c1c1e",
700: "#1b1b1b",
800: "#181818",
900: "#0f0f0f",
950: "#080808"
},
get lightblue() {
return this.sky;
},
get lightBlue() {
return this.sky;
},
get warmgray() {
return this.stone;
},
get warmGray() {
return this.stone;
},
get truegray() {
return this.neutral;
},
get trueGray() {
return this.neutral;
},
get coolgray() {
return this.gray;
},
get coolGray() {
return this.gray;
},
get bluegray() {
return this.slate;
},
get blueGray() {
return this.slate;
}
};
Object.values(N).forEach((e) => {
typeof e != "string" && (e.DEFAULT = e.DEFAULT || e[400], Object.keys(e).forEach((t) => {
const a = +t / 100;
a === Math.round(a) && (e[a] = e[t]);
}));
});
var H = ["primary", "secondary", "accent", "success", "info", "warning", "error"], G = ["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"], tc = ["sm", "md", "lg", "full"], ac = ["1/2", "1/3", "1/4", "1/5", "1/6", "full", "80", "96", "120", "sm", "md", "lg"], xt = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
function rc() {
return { name: "@unocss-ui/preset", safelist: [...H.map((e) => G.map((t) => `bg-${e}-${t}`)).flat(), ...H.map((e) => G.map((t) => `hover:bg-${e}-${t}`)).flat(), ...H.map((e) => G.map((t) => `border-${e}-${t}`)).flat(), ...H.map((e) => G.map((t) => `text-${e}-${t}`)).flat(), ...H.map((e) => G.map((t) => `focus:ring-${e}-${t}`)).flat(), ...H.map((e) => G.map((t) => `focus:border-${e}-${t}`)).flat(), ...ac.map((e) => `w-${e} h-${e}`.split(" ")).flat(), ...H.map((e) => `border-r-${e}-500`), ...tc.map((e) => `rounded-${e}`), ...G.map((e) => `duration-${e}`), ...xt.map((e) => `border-${e}`), ...xt.map((e) => `border-t-${e}`)], theme: { colors: { primary: N.indigo, secondary: N.teal, accent: N.pink, success: N.green, info: N.blue, warning: N.yellow, error: N.red } } };
}
export {
Bt as UAlert,
za as UBadge,
ye as UButton,
al as UCheckbox,
il as UCollapse,
fl as UDivider,
ml as UDrawer,
Bl as UDropdown,
Rl as UDynamicTags,
Jl as UFileInput,
co as UInput,
ho as ULoading,
jo as UModal,
Bo as UPopover,
So as UProgress,
Eo as URadio,
Xo as USelect,
Qo as USkeleton,
Te as USpin,
ur as USwitch,
Q0 as UTabPane,
U0 as UTable,
X0 as UTabs,
Ae as UTag,
T0 as UToast,
F0 as UTree,
oc as default,
rc as presetUnocssUI
};