@yhsoft/rapid-design
Version:
Rapid Design 是基于 Vue 3 开发的轻量级 UI 组件库,可用于快速搭建原型、网站或者企业应用。
1,599 lines • 54.9 kB
JavaScript
import { computed as u, openBlock as c, createElementBlock as d, normalizeClass as f, renderSlot as m, createTextVNode as P, toDisplayString as w, provide as A, inject as F, createElementVNode as i, getCurrentInstance as K, ref as b, reactive as X, onMounted as I, nextTick as Pe, normalizeStyle as N, useSlots as et, watch as qe, withDirectives as we, vShow as Se, Fragment as L, renderList as B, unref as Y, createCommentVNode as tt, pushScopeId as nt, popScopeId as at, onUpdated as st, onUnmounted as lt, createVNode as j, withCtx as H, createBlock as Ae, Transition as Re, render as rt, Teleport as ot, resolveDynamicComponent as it, watchEffect as ct } from "vue";
const p = (e, n) => {
const a = e.__vccOpts || e;
for (const [t, s] of n)
a[t] = s;
return a;
}, dt = {
name: "Alert",
props: {
type: {
type: String,
default: "info",
validator: (e) => [
"default",
"dark",
"info",
"success",
"warning",
"error"
].includes(e)
},
message: String,
description: String,
closeable: {
type: Boolean,
default: !1
},
showIcon: {
type: Boolean,
default: !1
}
},
emits: ["onClose"],
setup(e, { emit: n }) {
return {
classes: u(() => `alert-${e.type}`),
onClose: (s) => {
n("onClose", s);
}
};
}
};
function ut(e, n, a, t, s, l) {
return c(), d("div", {
class: f(["alert", t.classes])
}, [
m(e.$slots, "icon"),
P(" " + w(a.message), 1)
], 2);
}
const le = /* @__PURE__ */ p(dt, [["render", ut]]);
le.install = function(e, n) {
return e.component(le.name, le), e;
};
const mt = {
name: "Breadcrumb",
props: {
separator: { type: String, default: "/" }
},
setup(e) {
return A("BreadcrumbScope", {
separator: e.separator
}), {};
}
}, ft = { class: "breadcrumb" };
function pt(e, n, a, t, s, l) {
return c(), d("div", ft, [
m(e.$slots, "default")
]);
}
const re = /* @__PURE__ */ p(mt, [["render", pt]]), vt = {
name: "BreadcrumbItem",
setup() {
return { separator: F("BreadcrumbScope").separator };
}
}, ht = { class: "breadcrumb-separator" };
function gt(e, n, a, t, s, l) {
return c(), d("span", null, [
i("span", null, [
m(e.$slots, "default")
]),
i("em", ht, w(t.separator), 1)
]);
}
const Ie = /* @__PURE__ */ p(vt, [["render", gt]]);
re.install = function(e, n) {
return e.component(re.name, re), e.component(Ie.name, Ie), e;
};
const yt = ["type"], $t = {
name: "Button"
}, q = /* @__PURE__ */ Object.assign($t, {
props: {
block: {
type: Boolean,
default: !1
},
classNames: {
type: Object,
default: () => {
}
},
disabled: {
type: Boolean,
default: !1
},
ghost: {
type: Boolean,
default: !1
},
loading: {
type: Boolean,
default: !1
},
shape: {
type: String,
default: "default",
validator: (e) => ["default", "circle", "round"].includes(e)
},
htmlType: {
type: String,
default: "button"
},
size: {
type: String,
default: "middle",
validator: (e) => ["large", "middle", "small"].includes(e)
},
type: {
type: String,
default: "default",
validator: (e) => [
"default",
"primary",
"info",
"success",
"warning",
"danger",
"text",
"link",
"dashed"
].includes(e)
}
},
emits: ["onClick"],
setup(e, { emit: n }) {
const a = "btn", t = e, s = n, l = u(() => [
`${a}-${t.type}`,
{ [`${a}-lg`]: t.size === "large" },
{ [`${a}-sm`]: t.size === "small" },
{ ghost: t.ghost },
{ [`${a}-block`]: t.block }
]), r = (o) => {
s("onClick", o);
};
return (o, v) => (c(), d("button", {
type: e.htmlType,
class: f(["btn", l.value]),
onClick: r
}, [
m(o.$slots, "icon"),
P(),
m(o.$slots, "default")
], 10, yt));
}
});
q.install = function(e, n) {
return e.component(q.name, q), e;
};
const _t = {
name: "Card",
props: {
actions: { type: Array, default: () => [] },
bordered: { type: Boolean, default: !0 },
borderRadius: {
type: [Number, String],
default: 0
},
cover: { type: String, default: void 0 },
title: { type: String, default: "" }
},
setup(e) {
return { classes: u(() => ["card", { "card-bordered": e.bordered }]) };
}
}, bt = { class: "card-header" }, wt = { class: "card-header-title" }, St = { class: "card-body" }, Ct = /* @__PURE__ */ i("div", { class: "card-body-cover" }, null, -1), xt = { class: "card-footer" };
function kt(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes)
}, [
i("div", bt, [
m(e.$slots, "title", {}, () => [
i("div", wt, w(a.title), 1)
])
]),
i("div", St, [
Ct,
m(e.$slots, "default")
]),
i("div", xt, [
m(e.$slots, "footer")
])
], 2);
}
const oe = /* @__PURE__ */ p(_t, [["render", kt]]);
oe.install = function(e, n) {
return e.component(oe.name, oe), e;
};
const Nt = {
name: "Carousel",
props: {
autoplay: { type: Boolean, default: !0 },
displayCount: { type: Number, default: 6 },
interval: { type: Number, default: 3e3 }
},
setup(e, { slots: n }) {
const a = K(), t = u(() => ["carousel"]), s = b([]), l = n.default().filter((z) => z.type.name === "CarouselItem"), r = l.length - 1, o = X({
prevIndex: 0,
nextIndex: r,
timer: void 0,
itemSize: { width: 0, height: 0 },
translate: 0
}), v = u(() => ({
// width: `${Number(data.itemSize.width) * items.value.length}px`,
height: o.itemSize.height === 0 ? "unset" : `${o.itemSize.height}px`
})), h = (z) => {
s.value.push(z);
}, x = () => {
o.nextIndex < 0 && (o.nextIndex = l.length - 1), o.translate += o.itemSize.width, o.prevIndex = o.nextIndex;
const z = s.value[o.nextIndex--];
z.left -= o.itemSize.width * s.value.length;
}, S = () => {
o.prevIndex === s.value.length && (o.prevIndex = 0), o.translate -= o.itemSize.width, o.nextIndex = o.prevIndex;
const z = s.value[o.prevIndex++];
setTimeout(() => {
z.left += o.itemSize.width * s.value.length;
}, 600);
}, M = () => {
e.autoplay && e.interval > 0 && (o.timer = setInterval(() => x(), e.interval));
}, $ = () => {
o.timer && (clearInterval(o.timer), o.timer = void 0);
}, E = () => {
$();
}, xe = () => {
M();
};
return I(() => {
M(), Pe(() => {
const z = a.vnode.el.clientWidth;
o.itemSize.width = Number(
(z * 1 / e.displayCount).toFixed(3)
), s.value.forEach((G, Q) => {
G.left += o.itemSize.width * Q;
});
});
}), A("CarouselScope", {
data: o,
items: s,
addItem: h,
startTimer: M,
stopTimer: $
}), {
classes: t,
ulStyles: v,
prevHandler: x,
nextHandler: S,
handleEnter: E,
handleLeave: xe
};
}
};
function Mt(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes)
}, [
i("ul", {
style: N(t.ulStyles)
}, [
m(e.$slots, "default")
], 4),
i("div", {
class: "carousel-control carousel-prev",
onClick: n[0] || (n[0] = (...r) => t.prevHandler && t.prevHandler(...r)),
onMouseenter: n[1] || (n[1] = (...r) => t.handleEnter && t.handleEnter(...r)),
onMouseleave: n[2] || (n[2] = (...r) => t.handleLeave && t.handleLeave(...r))
}, " ‹ ", 32),
i("div", {
class: "carousel-control carousel-next",
onClick: n[3] || (n[3] = (...r) => t.nextHandler && t.nextHandler(...r)),
onMouseenter: n[4] || (n[4] = (...r) => t.handleEnter && t.handleEnter(...r)),
onMouseleave: n[5] || (n[5] = (...r) => t.handleLeave && t.handleLeave(...r))
}, " › ", 32)
], 2);
}
const ie = /* @__PURE__ */ p(Nt, [["render", Mt]]), zt = {
name: "CarouselItem",
setup() {
const e = F("CarouselScope"), n = K(), a = u(() => {
const l = e.items.value.filter(
(r) => r.uid === n.uid
)[0];
return {
width: `${e.data.itemSize.width}px`,
left: `${l == null ? void 0 : l.left}px`,
transform: `translateX(${e.data.translate}px)`
};
}), t = () => {
e.stopTimer();
}, s = () => {
e.startTimer();
};
return I(() => {
Pe(() => {
const l = setInterval(() => {
const r = n.vnode.el.clientHeight;
r > 16 && e.data.itemSize.height == 0 && (e.data.itemSize.height = r, clearInterval(l));
}, 600);
}), e.addItem({ uid: n.uid, left: 0 });
}), { styles: a, handleEnter: t, handleLeave: s };
}
};
function It(e, n, a, t, s, l) {
return c(), d("li", {
class: "carousel-item",
style: N(t.styles),
onMouseenter: n[0] || (n[0] = (...r) => t.handleEnter && t.handleEnter(...r)),
onMouseleave: n[1] || (n[1] = (...r) => t.handleLeave && t.handleLeave(...r))
}, [
m(e.$slots, "default")
], 36);
}
const Te = /* @__PURE__ */ p(zt, [["render", It]]);
ie.install = function(e, n) {
return e.component(ie.name, ie), e.component(Te.name, Te), e;
};
const Tt = {
setup() {
return {};
}
}, Lt = { class: "container" };
function Bt(e, n, a, t, s, l) {
return c(), d("div", Lt, [
m(e.$slots, "default")
]);
}
const ce = /* @__PURE__ */ p(Tt, [["render", Bt]]);
ce.install = (e) => e.component(ce.name, ce);
const Et = {
name: "Decorator",
props: {
color: { type: String, default: "" },
placement: {
type: String,
default: "leftTop",
validator: (e) => ["leftTop", "rightTop", "leftBottom", "rightBottom"].includes(e)
},
title: { type: String, default: "" },
type: {
type: String,
default: "marker",
validator: (e) => ["label", "marker"].includes(e)
}
},
setup(e) {
const n = u(() => {
let t = e.placement;
return t = t.replace(
/[A-Z]/,
`-${/[A-Z]/g.exec(t)[0].toLowerCase()}`
), ["decorator", `decorator-${e.type}`, t];
}), a = u(() => [`corner-${e.type}`]);
return { classes: n, innerClasses: a };
}
}, Dt = { class: "decorator-wrap" };
function Ot(e, n, a, t, s, l) {
return c(), d("div", Dt, [
m(e.$slots, "default"),
i("div", {
class: f(t.classes)
}, [
i("div", {
class: f(t.innerClasses)
}, w(a.title), 3)
], 2)
]);
}
const de = /* @__PURE__ */ p(Et, [["render", Ot]]);
de.install = (e) => e.component(de.name, de);
const jt = (e) => (nt("data-v-419cd8db"), e = e(), at(), e), Ht = { class: "calendar" }, Vt = { class: "calendar-header" }, Pt = { class: "month" }, At = { class: "operation" }, Ft = { class: "weeks" }, Gt = ["data-p"], Wt = {
key: 0,
class: "event-marker"
}, Ut = /* @__PURE__ */ jt(() => /* @__PURE__ */ i("div", { class: "marker" }, null, -1)), Yt = {
name: "Calendar"
}, qt = /* @__PURE__ */ Object.assign(Yt, {
props: {
weekStart: {
type: Number,
default: 1,
validator: (e) => [0, 1].includes(e)
},
events: {
type: Array,
default: () => []
},
eventMarker: { type: String, default: "dot" }
},
emits: ["change", "selected"],
setup(e, { emit: n }) {
const a = e, t = n;
et();
const s = b(2024), l = b(1), r = b(1), o = a.weekStart === 0 ? ["日", "一", "二", "三", "四", "五", "六"] : ["一", "二", "三", "四", "五", "六", "日"], v = b([]);
b([]);
const h = b(!1), x = b([1, 1]), S = b(30);
let M = "";
const $ = () => {
let y = /* @__PURE__ */ new Date();
s.value = y.getFullYear(), l.value = y.getMonth(), r.value = y.getDate(), E();
}, E = () => {
let y = /* @__PURE__ */ new Date();
const g = y.getFullYear(), _ = y.getMonth(), C = y.getDate();
let k = new Date(s.value, l.value, 1).getDay(), T = [31, 28 + (xe(s.value) ? 1 : 0), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
k === 0 && (k = 7);
let ke = Math.ceil((k + T[l.value]) / 7);
v.value = [];
for (let W = 0; W < ke; W++) {
let We = new Array();
for (let U = a.weekStart; U < 7 + a.weekStart; U++) {
let Z = 7 * W + U - k + 1, J = {
disabled: !1,
selected: !1,
active: !1,
event: !1,
arrow: !1,
dot: !1
}, te = s.value, ne = l.value + 1, D = 0;
if (Z < 1) {
let ae = l.value === 0 ? 11 : l.value - 1, Ne = l.value === 0 ? s.value - 1 : s.value;
D = Z + T[ae], J.disabled = !0, ne = ae + 1, te = Ne;
} else if (Z > T[l.value]) {
let ae = l.value === 11 ? 0 : l.value + 1, Ne = l.value === 11 ? s.value + 1 : s.value;
D = Z - T[l.value], J.disabled = !0, ne = ae + 1, te = Ne;
} else
D = Z, g === s.value && _ === l.value && C === D && (J.active = !0, y = D);
J.selected = `${te}-` + `${ne}`.padStart(2, 0) + "-" + `${D}`.padStart(2, 0) === M, We.push({
row: W + 1,
column: U + (1 - a.weekStart),
week: U === 0 ? 7 : U,
year: te,
month: ne,
day: D,
monthEnd: T[l.value],
className: J
});
}
v.value.push(We);
}
Q();
}, xe = (y) => y % 4 == 0 ? y % 100 != 0 ? !0 : y % 400 == 0 : !1, z = (y) => {
const g = y.target;
let [_, C] = x.value;
v.value[_ - 1][C - 1].className.selected = !1;
let ee = g.getAttribute("data-p");
x.value = JSON.parse(`[${ee}]`), [_, C] = x.value;
let k = v.value[_ - 1][C - 1];
k.className.selected = !0, r.value = parseInt(g.innerText);
const R = k.year, T = `${k.month}`.padStart(2, 0), ke = `${k.day}`.padStart(2, 0);
if (M = `${R}-${T}-${ke}`, k.className.disabled) {
const W = k.row === 1 ? -1 : 1;
G(W);
}
t("selected", {
date: M,
week: k.week,
pos: [_, C]
});
}, G = (y) => {
if (y === 0) {
let g = /* @__PURE__ */ new Date();
s.value = g.getFullYear(), l.value = g.getMonth(), h.value = !1;
} else
h.value = !0, l.value += y, l.value > 11 ? (l.value = 0, s.value++) : l.value < 0 && (l.value = 11, s.value--);
E(), t("change");
}, Q = () => {
v.value.forEach((y) => {
y.forEach((g) => {
const _ = g.year, C = `${g.month}`.padStart(2, 0), ee = `${g.day}`.padStart(2, 0), k = `${_}-${C}-${ee}`, R = a.events.some((T) => T == k);
g.event = R, g.className.event = R, g.className.arrow = a.eventMarker === "arrow", g.className.dot = a.eventMarker === "dot";
});
});
}, Qe = () => {
window.onresize = () => {
Ge();
};
}, Ge = () => {
S.value = document.querySelector(".day").clientWidth;
};
return qe(a.events, () => {
Q();
}), I(() => {
$(), Qe(), Pe(() => {
Ge();
});
}), (y, g) => (c(), d("div", Ht, [
i("div", Vt, [
i("div", Pt, w(s.value) + "年" + w(l.value + 1) + "月", 1),
i("div", At, [
we(i("a", {
class: "back",
onClick: g[0] || (g[0] = (_) => G(0))
}, "今日", 512), [
[Se, h.value]
]),
i("i", {
class: "btn arrow-left",
onClick: g[1] || (g[1] = (_) => G(-1))
}),
i("i", {
class: "btn arrow-right",
onClick: g[2] || (g[2] = (_) => G(1))
})
])
]),
i("div", Ft, [
(c(!0), d(L, null, B(Y(o), (_) => (c(), d("div", {
class: "week",
key: _
}, w(_), 1))), 128))
]),
i("div", {
class: "days",
onClick: z
}, [
(c(!0), d(L, null, B(v.value, (_) => (c(), d("div", {
class: "a-week",
key: _.index
}, [
(c(!0), d(L, null, B(_, (C) => (c(), d("div", {
class: f(["day", C.className]),
key: C.day,
"data-p": [C.row, C.column],
style: N({ height: `${S.value}px` })
}, [
P(w(C.day) + " ", 1),
C.event ? (c(), d("div", Wt, [
m(y.$slots, "eventMarker", {}, () => [
Ut
], !0)
])) : tt("", !0)
], 14, Gt))), 128))
]))), 128))
])
]));
}
}), ue = /* @__PURE__ */ p(qt, [["__scopeId", "data-v-419cd8db"]]);
ue.install = (e) => {
e.component(ue.name, ue);
};
const Rt = {
name: "Swiper",
props: {
autoplay: { type: Boolean, default: !0 },
interval: { type: Number, default: 3e3 }
},
setup(e) {
const n = u(() => ["swiper"]), a = X({
activeUid: 0,
timer: void 0,
itemHeight: 0
}), t = u(() => ({
height: a.itemHeight === 0 ? "unset" : `${a.itemHeight}px`
})), s = b([]), l = () => {
a.activeUid = s.value[0];
}, r = ($) => {
s.value.push($);
}, o = () => {
e.autoplay && e.interval > 0 && (a.timer = setInterval(() => x(), e.interval));
}, v = () => {
a.timer && (clearInterval(a.timer), a.timer = void 0);
}, h = () => {
let $ = s.value.indexOf(a.activeUid);
$ = $ > 0 ? $ : s.value.length, a.activeUid = s.value[--$];
}, x = () => {
let $ = s.value.indexOf(a.activeUid);
$ = $ < s.value.length - 1 ? $ : -1, a.activeUid = s.value[++$];
}, S = () => {
v();
}, M = () => {
o();
};
return I(() => {
l(), o();
}), st(() => {
}), lt(() => {
v();
}), A("SwiperScope", {
data: a,
addItem: r,
startTimer: o,
stopTimer: v
}), {
classes: n,
items: s,
styles: t,
prevHandler: h,
nextHandler: x,
handleEnter: S,
handleLeave: M
};
}
}, Zt = /* @__PURE__ */ i("svg", {
viewBox: "64 64 896 896",
focusable: "false",
"data-icon": "left",
width: "1em",
height: "1em",
fill: "currentColor",
"aria-hidden": "true"
}, [
/* @__PURE__ */ i("path", { d: "M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z" })
], -1), Jt = [
Zt
], Xt = /* @__PURE__ */ i("svg", {
viewBox: "64 64 896 896",
focusable: "false",
"data-icon": "right",
width: "1em",
height: "1em",
fill: "currentColor",
"aria-hidden": "true"
}, [
/* @__PURE__ */ i("path", { d: "M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z" })
], -1), Kt = [
Xt
];
function Qt(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
style: N(t.styles)
}, [
m(e.$slots, "default"),
i("div", {
class: "swiper-control swiper-prev",
role: "img",
onClick: n[0] || (n[0] = (...r) => t.prevHandler && t.prevHandler(...r)),
onMouseenter: n[1] || (n[1] = (...r) => t.handleEnter && t.handleEnter(...r)),
onMouseleave: n[2] || (n[2] = (...r) => t.handleLeave && t.handleLeave(...r))
}, Jt, 32),
i("div", {
class: "swiper-control swiper-next",
role: "img",
onClick: n[3] || (n[3] = (...r) => t.nextHandler && t.nextHandler(...r)),
onMouseenter: n[4] || (n[4] = (...r) => t.handleEnter && t.handleEnter(...r)),
onMouseleave: n[5] || (n[5] = (...r) => t.handleLeave && t.handleLeave(...r))
}, Kt, 32)
], 6);
}
const me = /* @__PURE__ */ p(Rt, [["render", Qt]]), en = {
name: "SwiperItem",
props: {
title: { type: String, default: "" }
},
setup() {
const e = F("SwiperScope"), n = K(), a = u(() => [
"swiper-item",
{ active: e.data.activeUid === n.uid }
]), t = () => {
e.stopTimer();
}, s = () => {
e.startTimer();
};
return I(() => {
const l = setInterval(() => {
const r = n.vnode.el.clientHeight;
r > 16 && e.data.itemHeight == 0 && (e.data.itemHeight = r, clearInterval(l));
}, 600);
e.addItem(n.uid);
}), { classes: a, handleEnter: t, handleLeave: s };
}
};
function tn(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
onMouseenter: n[0] || (n[0] = (...r) => t.handleEnter && t.handleEnter(...r)),
onMouseleave: n[1] || (n[1] = (...r) => t.handleLeave && t.handleLeave(...r))
}, [
m(e.$slots, "default")
], 34);
}
const Le = /* @__PURE__ */ p(en, [["render", tn]]);
me.install = (e) => (e.component(me.name, me), e.component(Le.name, Le), e);
const nn = { class: "rd-form" }, an = {
name: "Form"
}, fe = /* @__PURE__ */ Object.assign(an, {
props: {
labelAlign: {
type: String,
default: "right",
validator: (e) => ["left", "right"].includes(e)
},
labelCol: {
type: Object,
default: () => ({ span: 8 })
},
layout: {
type: String,
default: "horizontal",
validator: (e) => ["horizontal", "vertical", "inline"].includes(e)
},
name: { type: String, default: "" },
size: {
type: String,
default: "middle",
validator: (e) => ["large", "middle", "small"].includes(e)
},
wrapperCol: {
type: Object,
default: () => ({ span: 16 })
}
},
emits: ["onFinish", "onFinishFailed", "onValuesChange"],
setup(e, { emit: n }) {
const a = e;
return A("formScope", {
labelAlign: u(() => a.labelAlign),
labelCol: u(() => a.labelCol),
wrapperCol: u(() => a.wrapperCol)
}), (t, s) => (c(), d("div", nn, [
m(t.$slots, "default")
]));
}
}), Ue = "grid", sn = {
name: "Col",
props: {
flex: {
type: [String, Number],
default: ""
},
offset: {
type: [Number, String],
default: 0
},
order: { type: Number, default: 0 },
pull: { type: Number, default: 0 },
push: { type: Number, default: 0 },
span: { type: Number },
xs: [Number, String],
sm: [Number, String],
md: [Number, String],
lg: [Number, String],
xl: [Number, String],
xxl: [Number, String]
},
setup(e) {
const { gutter: n } = F("gutter", { gutter: { value: 0 } }), a = u(() => n.value ? { padding: `${n.value / 2}px` } : {}), t = u(() => [
`${Ue}-col`,
{ [`${Ue}-col-${e.span}`]: e.span }
]);
return { styles: a, classes: t };
}
};
function ln(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
style: N(t.styles)
}, [
m(e.$slots, "default")
], 6);
}
const Ce = /* @__PURE__ */ p(sn, [["render", ln]]), se = "grid", rn = {
name: "Row",
props: {
align: {
type: String,
default: "top",
validator: (e) => ["top", "middle", "bottom"].includes(e)
},
gutter: {
type: [Number, Object, Array],
default: 0
},
justify: {
type: String,
default: "start",
validator: (e) => [
"start",
"end",
"center",
"space-around",
"space-between"
].includes(e)
},
wrap: {
type: Boolean,
default: !0
}
},
setup(e) {
const n = u(() => ({
[`${se}-row`]: !0,
[`${se}-row-no-wrap`]: e.wrap === !1,
[`${se}-row-${e.justify}`]: e.justify,
[`${se}-row-${e.align}`]: e.align
})), a = u(() => e.gutter);
A("gutter", { gutter: a });
let t;
const s = u(() => (typeof e.gutter == "number" ? e.gutter <= 0 ? t = {} : t = {
margin: `-${e.gutter / 2}px`
} : Array.isArray(e.gutter) && e.gutter.length === 2 && (t = {
margin: `${e.gutter[0] / 2}px ${e.gutter[1] / 2}px`
}), t));
return {
classes: n,
styles: s
};
}
};
function on(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
style: N(t.styles)
}, [
m(e.$slots, "default")
], 6);
}
const Fe = /* @__PURE__ */ p(rn, [["render", on]]), cn = {
Col: Ce,
Row: Fe
};
Object.values(cn).forEach((e) => {
e.install = (n) => n.component(e.name, e);
});
const dn = { class: "rd-form-item" }, un = {
name: "FormItem"
}, Be = /* @__PURE__ */ Object.assign(un, {
props: {
help: { type: String, default: "" },
label: { type: String, default: "" },
labelCol: {
type: Object,
default: () => ({ span: void 0 })
},
name: { type: String, default: "" },
wrapperCol: {
type: Object,
default: () => ({ span: void 0 })
}
},
setup(e) {
const n = e, a = F("formScope"), {
labelCol: t,
wrapperCol: s,
labelAlign: l
} = a, r = u(() => ({
"rd-form-item-label": l.value === "right",
"rd-form-item-label-left": l.value === "left"
})), o = u(() => ({ span: n.labelCol.span ?? t.value.span })), v = u(() => ({ span: n.wrapperCol.span ?? s.value.span }));
return (h, x) => (c(), d("div", dn, [
j(Y(Fe), {
gutter: 16,
align: "middle"
}, {
default: H(() => [
j(Y(Ce), {
span: o.value.span,
class: f(r.value)
}, {
default: H(() => [
m(h.$slots, "label", {}, () => [
P(w(e.label), 1)
])
]),
_: 3
}, 8, ["span", "class"]),
j(Y(Ce), {
span: v.value.span
}, {
default: H(() => [
m(h.$slots, "default")
]),
_: 3
}, 8, ["span"])
]),
_: 3
})
]));
}
});
fe.install = (e) => (e.component(fe.name, fe), e.component(Be.name, Be), e);
const mn = ["type", "disabled", "readonly", "value", "placeholder", "title"], fn = { name: "Input" }, pe = /* @__PURE__ */ Object.assign(fn, {
props: {
bordered: { type: Boolean, default: !0 },
clearable: { type: Boolean, default: !1 },
disabled: { type: Boolean, default: !1 },
maxLength: Number,
placeholder: { type: String, default: "" },
prefix: { type: String, default: "" },
readonly: { type: Boolean, default: !1 },
size: {
type: String,
default: "middle",
validator: (e) => ["large", "middle", "small"].includes(e)
},
suffix: { type: String, default: "" },
title: { type: String, default: "" },
type: {
type: String,
default: "text",
validator: (e) => [
"button",
"checkbox",
"color",
"date",
"datetime",
"email",
"file",
"hidden",
"image",
"month",
"number",
"password",
"radio",
"range",
"reset",
"search",
"submit",
"tel",
"text",
"time",
"url",
"week"
].includes(e)
},
value: { type: String, default: "" }
},
emits: ["onChange", "update:value"],
setup(e, { emit: n }) {
const a = e, t = n, s = u(() => [
"rd-input-wrapper",
{ "rd-input-wrapper-lg": a.size === "large" },
{ "rd-input-wrapper-sm": a.size === "small" }
]), l = u(() => [
"rd-input",
{ "rd-input-lg": a.size === "large" },
{ "rd-input-sm": a.size === "small" }
]), r = (o) => {
t("update:value", o.target.value), t("onChange");
};
return (o, v) => (c(), d("div", {
class: f(s.value)
}, [
i("input", {
class: f(["rd-input", l.value]),
type: e.type,
disabled: e.disabled,
readonly: e.readonly,
value: e.value,
placeholder: e.placeholder,
title: e.title,
onInput: r
}, null, 42, mn)
], 2));
}
});
pe.install = (e) => (e.component(pe.name, pe), e);
const pn = "layout-content", vn = {
name: "Content",
props: {
className: {
type: String,
default: ""
},
style: { type: [Object, String], default: () => {
} }
},
setup(e) {
const n = u(() => [`${pn}`, `${e.className}`]), a = u(() => e.style);
return {
classes: n,
styles: a
};
}
};
function hn(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
style: N(t.styles)
}, [
m(e.$slots, "default")
], 6);
}
const Ee = /* @__PURE__ */ p(vn, [["render", hn]]), gn = "layout-footer", yn = {
name: "Footer",
props: {
className: {
type: String,
default: ""
},
style: { type: [Object, String], default: () => {
} }
},
setup(e) {
const n = u(() => [`${gn}`, `${e.className}`]), a = u(() => e.style);
return {
classes: n,
styles: a
};
}
};
function $n(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
style: N(t.styles)
}, [
m(e.$slots, "default")
], 6);
}
const De = /* @__PURE__ */ p(yn, [["render", $n]]), _n = "layout-header", bn = {
name: "Header",
props: {
className: {
type: String,
default: ""
},
style: { type: Object, default: () => {
} }
},
setup(e) {
const n = u(() => [`${_n}`, `${e.className}`]), a = u(() => e.style);
return { classes: n, styles: a };
}
};
function wn(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
style: N(t.styles)
}, [
m(e.$slots, "default")
], 6);
}
const Oe = /* @__PURE__ */ p(bn, [["render", wn]]), Me = "layout", Sn = {
name: "Layout",
props: {
className: { type: String, default: "" },
style: Object
},
setup(e) {
let n = b(!1);
const a = b(null), t = u(() => [
`${Me}`,
`${e.className}`,
{ [`${Me}-has-sider`]: n.value }
]);
return I(() => {
n.value = [].slice.call(a.value.children).some((s) => s.className.startsWith(`${Me}-sider`));
}), {
classes: t,
layout: a
};
}
};
function Cn(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
ref: "layout"
}, [
m(e.$slots, "default")
], 2);
}
const ve = /* @__PURE__ */ p(Sn, [["render", Cn]]), xn = "layout-sider", kn = {
name: "Sider",
props: {
breakpoint: {
type: String,
validator(e) {
return ["xs", "sm", "md", "lg", "xl", "xxl"].includes(e);
}
},
className: { type: String, default: "" },
collapsed: Boolean,
collapsible: Boolean,
defaultCollapsed: Boolean,
style: Object,
width: {
type: [Number, String],
default: 200
}
},
setup(e) {
const n = u(() => e.width), a = u(() => ({
width: `${n.value}px`,
...e.style
}));
return {
classes: u(() => [`${xn}`, `${e.className}`]),
styles: a
};
}
};
function Nn(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
style: N(t.styles)
}, [
m(e.$slots, "default")
], 6);
}
const je = /* @__PURE__ */ p(kn, [["render", Nn]]);
ve.install = (e) => {
e.component(ve.name, ve), e.component(Ee.name, Ee), e.component(De.name, De), e.component(Oe.name, Oe), e.component(je.name, je);
};
function Mn(e) {
return { all: e = e || /* @__PURE__ */ new Map(), on: function(n, a) {
var t = e.get(n);
t ? t.push(a) : e.set(n, [a]);
}, off: function(n, a) {
var t = e.get(n);
t && (a ? t.splice(t.indexOf(a) >>> 0, 1) : e.set(n, []));
}, emit: function(n, a) {
var t = e.get(n);
t && t.slice().map(function(s) {
s(a);
}), (t = e.get("*")) && t.slice().map(function(s) {
s(n, a);
});
} };
}
const zn = "menu", In = {
name: "Menu",
props: {
mode: {
type: String,
default: "horizontal",
validator: (e) => ["vertical", "horizontal", "inline"].includes(e)
},
selectable: {
type: Boolean,
default: !0
},
style: {
type: Object,
default: () => {
}
}
},
emits: ["onClick"],
setup(e, { emit: n }) {
const a = u(() => [{ [`${zn}-${e.mode}`]: e.mode }]), t = Mn(), s = X({
currentMenuItem: 0,
emit: t.emit
});
return A("rootMenu", s), t.on("menuItem:click", (l) => {
s.currentMenuItem = l.uid, n("onClick", l.name);
}), { classes: a };
}
};
function Tn(e, n, a, t, s, l) {
return c(), d("ul", {
class: f(["menu", t.classes])
}, [
m(e.$slots, "default")
], 2);
}
const Ze = /* @__PURE__ */ p(In, [["render", Tn]]), Ln = {
name: "MenuGroup",
props: {
title: { type: String, default: "" }
},
setup() {
return {};
}
}, Bn = { class: "menu-item-group" }, En = { class: "menu-item-group-title" };
function Dn(e, n, a, t, s, l) {
return c(), d("li", Bn, [
i("div", En, w(a.title), 1),
i("ul", null, [
m(e.$slots, "default")
])
]);
}
const Je = /* @__PURE__ */ p(Ln, [["render", Dn]]), On = "menu", jn = {
name: "MenuItem",
props: {
icon: { type: String, default: "" },
title: { type: String, default: "" },
name: { type: String, default: "" }
},
setup(e) {
const n = F("rootMenu"), a = K(), t = u(() => ({
[`${On}-item-selected`]: n.currentMenuItem === a.uid
}));
return {
classes: t,
handleClick: () => {
t.value["menu-item-selected"] = !0, n.emit("menuItem:click", { uid: a.uid, name: e.name });
},
handleEnter: () => {
},
handleLeave: () => {
}
};
}
}, Hn = ["title"];
function Vn(e, n, a, t, s, l) {
return c(), d("li", {
class: f(["menu-item", t.classes]),
title: a.title,
onClick: n[0] || (n[0] = (...r) => t.handleClick && t.handleClick(...r)),
onMouseenter: n[1] || (n[1] = (...r) => t.handleEnter && t.handleEnter(...r)),
onMouseleave: n[2] || (n[2] = (...r) => t.handleLeave && t.handleLeave(...r))
}, [
m(e.$slots, "icon"),
P(),
m(e.$slots, "default")
], 42, Hn);
}
const Xe = /* @__PURE__ */ p(jn, [["render", Vn]]), Pn = {
name: "SubMenu",
setup() {
return {};
}
}, An = { class: "menu-submenu" }, Fn = /* @__PURE__ */ i("div", { class: "menu-submenu-title" }, null, -1), Gn = { class: "menu" };
function Wn(e, n, a, t, s, l) {
return c(), d("li", An, [
Fn,
i("ul", Gn, [
m(e.$slots, "default")
])
]);
}
const Ke = /* @__PURE__ */ p(Pn, [["render", Wn]]), Un = {
Menu: Ze,
MenuGroup: Je,
MenuItem: Xe,
SubMenu: Ke
};
Object.values(Un).forEach((e) => {
e.install = (n) => n.component(e.name, e);
});
const Yn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1693206393492'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9998'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='128'%20height='128'%3e%3cpath%20d='M625.9%20115c-5.9%200-11.9%201.6-17.4%205.3L254%20352H90c-8.8%200-16%207.2-16%2016v288c0%208.8%207.2%2016%2016%2016h164l354.5%20231.7c5.5%203.6%2011.6%205.3%2017.4%205.3%2016.7%200%2032.1-13.3%2032.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586%20803L293.4%20611.7l-18-11.7H146V424h129.4l17.9-11.7L586%20221v582zM934%20476H806c-8.8%200-16%207.2-16%2016v40c0%208.8%207.2%2016%2016%2016h128c8.8%200%2016-7.2%2016-16v-40c0-8.8-7.2-16-16-16zM892.1%20737.8l-110.3-63.7c-2.5-1.4-5.2-2.1-7.9-2.1-5.5%200-10.9%202.9-13.8%208l-19.9%2034.5c-4.4%207.6-1.8%2017.4%205.8%2021.8L856.3%20800c2.5%201.4%205.2%202.1%207.9%202.1%205.5%200%2010.9-2.9%2013.8-8l19.9-34.5c4.4-7.6%201.7-17.4-5.8-21.8zM760%20344c2.9%205.1%208.3%208%2013.8%208%202.7%200%205.4-0.7%207.9-2.1L892%20286.2c7.6-4.4%2010.2-14.2%205.8-21.8L878%20230c-2.9-5.1-8.3-8-13.8-8-2.7%200-5.4%200.7-7.9%202.1L746%20287.8c-7.6%204.4-10.2%2014.2-5.8%2021.8L760%20344z'%20p-id='9999'%20fill='%23707070'%3e%3c/path%3e%3c/svg%3e", qn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1693199351903'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9134'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='128'%20height='128'%3e%3cpath%20d='M512%2064C264.6%2064%2064%20264.6%2064%20512s200.6%20448%20448%20448%20448-200.6%20448-448S759.4%2064%20512%2064z%20m32%20664c0%204.4-3.6%208-8%208h-48c-4.4%200-8-3.6-8-8V456c0-4.4%203.6-8%208-8h48c4.4%200%208%203.6%208%208v272z%20m-32-344c-26.5%200-48-21.5-48-48s21.5-48%2048-48%2048%2021.5%2048%2048-21.5%2048-48%2048z'%20p-id='9135'%20fill='%234096ff'%3e%3c/path%3e%3c/svg%3e", Rn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1693198927790'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8387'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='128'%20height='128'%3e%3cpath%20d='M512%2064C264.6%2064%2064%20264.6%2064%20512s200.6%20448%20448%20448%20448-200.6%20448-448S759.4%2064%20512%2064z%20m193.5%20301.7l-210.6%20292c-12.7%2017.7-39%2017.7-51.7%200L318.5%20484.9c-3.8-5.3%200-12.7%206.5-12.7h46.9c10.2%200%2019.9%204.9%2025.9%2013.3l71.2%2098.8%20157.2-218c6-8.3%2015.6-13.3%2025.9-13.3H699c6.5%200%2010.3%207.4%206.5%2012.7z'%20p-id='8388'%20fill='%2352c41a'%3e%3c/path%3e%3c/svg%3e", Zn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1693199343924'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8952'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='128'%20height='128'%3e%3cpath%20d='M512%2064C264.6%2064%2064%20264.6%2064%20512s200.6%20448%20448%20448%20448-200.6%20448-448S759.4%2064%20512%2064z%20m-32%20232c0-4.4%203.6-8%208-8h48c4.4%200%208%203.6%208%208v272c0%204.4-3.6%208-8%208h-48c-4.4%200-8-3.6-8-8V296z%20m32%20440c-26.5%200-48-21.5-48-48s21.5-48%2048-48%2048%2021.5%2048%2048-21.5%2048-48%2048z'%20p-id='8953'%20fill='%23faad14'%3e%3c/path%3e%3c/svg%3e", Jn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1693199129364'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8560'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='128'%20height='128'%3e%3cpath%20d='M512%2064C264.6%2064%2064%20264.6%2064%20512s200.6%20448%20448%20448%20448-200.6%20448-448S759.4%2064%20512%2064z%20m165.4%20618.2l-66-0.3L512%20563.4l-99.3%20118.4-66.1%200.3c-4.4%200-8-3.5-8-8%200-1.9%200.7-3.7%201.9-5.2l130.1-155L340.5%20359c-1.2-1.5-1.9-3.3-1.9-5.2%200-4.4%203.6-8%208-8l66.1%200.3L512%20464.6l99.3-118.4%2066-0.3c4.4%200%208%203.5%208%208%200%201.9-0.7%203.7-1.9%205.2L553.5%20514l130%20155c1.2%201.5%201.9%203.3%201.9%205.2%200%204.4-3.6%208-8%208z'%20p-id='8561'%20fill='%23ff4d4f'%3e%3c/path%3e%3c/svg%3e", Xn = "rd-message", Kn = {
name: "Message",
props: {
id: { type: String, default: "" },
message: {
type: String,
default: ""
},
type: {
type: String,
default: "default",
validator: (e) => ["success", "warning", "info", "error", "default"].includes(e)
},
fill: { type: Boolean, default: !1 },
offset: { type: Number, default: 45 },
duration: { type: Number, default: 3e3 },
onClose: { type: Function, default: () => {
} }
},
setup(e) {
const n = u(() => [
Xn,
"rd-message-notice",
{ "rd-message-default": !e.fill },
`rd-message-${e.type}`,
{ [`rd-message-${e.type}-fill`]: e.fill }
]), a = u(() => ({ top: `${e.offset}px` })), t = {
info: qn,
success: Rn,
warning: Zn,
error: Jn,
default: Yn
}, s = u(() => t[e.type]), l = b(!1);
let r = null;
const o = () => {
e.duration > 0 && (r = setTimeout(() => {
l.value && h();
}, e.duration));
}, v = () => {
clearTimeout(r), r = null;
}, h = () => {
l.value = !1;
};
return I(() => {
o(), l.value = !0;
}), { classes: n, styles: a, icon: s, visible: l, startTimer: o, clearTimer: v };
}
}, Qn = ["data"];
function ea(e, n, a, t, s, l) {
return c(), Ae(Re, {
name: "message",
onBeforeLeave: a.onClose
}, {
default: H(() => [
we(i("div", {
class: f(t.classes),
style: N(t.styles),
onMouseenter: n[0] || (n[0] = (...r) => t.clearTimer && t.clearTimer(...r)),
onMouseleave: n[1] || (n[1] = (...r) => t.startTimer && t.startTimer(...r))
}, [
m(e.$slots, "icon", {}, () => [
i("object", {
data: t.icon,
class: "icon",
type: "image/svg+xml"
}, null, 8, Qn)
]),
i("span", null, w(a.message), 1)
], 38), [
[Se, t.visible]
])
]),
_: 3
}, 8, ["onBeforeLeave"]);
}
const ta = /* @__PURE__ */ p(Kn, [["render", ea]]), O = [];
let na = 1;
const V = (e) => {
typeof e == "string" && (e = {
message: e
});
const n = `message_${na++}`;
let a = e.offset || 45;
a += O.length * 56, e = {
...e,
id: n,
offset: a,
onClose: () => {
aa(n);
}
};
const t = document.createElement("div");
t.className = `container_${n}`;
const s = j(ta, e);
rt(s, t), O.push({ vm: s }), document.body.appendChild(t.firstElementChild);
}, aa = (e) => {
const n = O.findIndex(({ vm: l }) => l.component.props.id === e);
if (n === -1)
return;
const { vm: a } = O[n];
if (!a)
return;
const t = a.el.offsetHeight;
O.splice(n, 1);
const s = document.querySelector(".rd-message");
s.style.display === "none" && document.body.removeChild(s), !(O.length < 1) && O.forEach((l) => {
l.vm.component.props.offset = parseInt(l.vm.el.style.top, 10) - t - 15;
});
};
["success", "warning", "info", "error"].forEach((e) => {
V[e] = (n) => (console.log(n), typeof n == "string" ? n = {
message: n,
type: e
} : n.type = e, V(n));
});
V.install = (e) => (e.component(V.name, V), e);
const sa = { class: "modal" }, la = { class: "overlay" }, ra = { class: "modal-header" }, oa = { class: "modal-header-title" }, ia = /* @__PURE__ */ i("span", { class: "modal-close-x" }, "×", -1), ca = [
ia
], da = { class: "modal-body" }, ua = { class: "modal-footer" }, ma = {
name: "Modal"
}, he = /* @__PURE__ */ Object.assign(ma, {
props: {
mask: { type: Boolean, default: !0 },
open: { type: Boolean, default: !1 },
style: { type: [String, Object], default: () => {
} },
title: { type: String, default: "" },
width: { type: [String, Number], default: 520 },
zIndex: { type: Number, default: 999 }
},
emits: ["update:open", "onOk", "onCancel"],
setup(e, { emit: n }) {
const a = e, t = n, s = u(() => {
let h = a.width;
return !`${h}`.endsWith("%") && !`${h}`.endsWith("px") && (h = `${h}px`), { width: `${h}`, ...a.style };
}), l = b(!1), r = () => {
l.value = !1, t("update:open", l.value);
}, o = () => {
t("onCancel"), r();
}, v = () => {
t("onOk"), r();
};
return I(() => {
l.value = a.open;
}), qe(
() => a.open,
(h) => {
l.value = h;
}
), (h, x) => (c(), Ae(ot, { to: "body" }, [
j(Re, null, {
default: H(() => [
i("div", sa, [
we(i("div", la, null, 512), [
[Se, e.mask && l.value]
]),
we(i("div", {
class: "modal-content",
style: N(s.value)
}, [
m(h.$slots, "header", {}, () => [
i("div", ra, [
i("div", oa, w(e.title), 1)
])
]),
i("div", {
class: "modal-close",
onClick: r
}, ca),
i("div", da, [
m(h.$slots, "default")
]),
i("div", ua, [
m(h.$slots, "footer", {}, () => [
j(Y(q), {
type: "primary",
onOnClick: v
}, {
default: H(() => [
P("确定")
]),
_: 1
}),
j(Y(q), { onOnClick: o }, {
default: H(() => [
P("取消")
]),
_: 1
})
])
])
], 4), [
[Se, l.value]
])
])
]),
_: 3
})
]));
}
});
he.install = (e) => (e.component(he.name, he), e);
const fa = {
name: "Pagination",
props: {
current: { type: Number, default: 1 },
pageSize: { type: Number, default: 10 },
total: Number
},
setup(e) {
const n = b([]), a = Math.ceil(e.total / e.pageSize);
for (let s = 1; s <= a; s++)
n.value.push({ index: s, active: s === e.current });
return { pagers: n, handlePageClick: (s) => {
const l = s.target;
if (l.tagName.toLowerCase() === "ul")
return;
if (l.tagName.toLowerCase() === "li" && l.className.toLowerCase() === "pagination-prev" || l.getAttribute("data-icon") && l.getAttribute("data-icon") === "left")
return;
if (l.tagName.toLowerCase() === "li" && l.className.toLowerCase() === "pagination-next" || l.getAttribute("data-icon") && l.getAttribute("data-icon") === "right")
return;
let r = Number(l.textContent);
n.value.forEach((o) => {
o.active = o.index === r;
});
} };
}
}, pa = /* @__PURE__ */ i("li", { class: "pagination-prev" }, [
/* @__PURE__ */ i("svg", {
viewBox: "64 64 896 896",
focusable: "false",
"data-icon": "left",
width: "1em",
height: "1em",
fill: "currentColor",
"aria-hidden": "true"
}, [
/* @__PURE__ */ i("path", { d: "M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z" })
])
], -1), va = /* @__PURE__ */ i("li", { class: "pagination-next" }, [
/* @__PURE__ */ i("svg", {
viewBox: "64 64 896 896",
focusable: "false",
"data-icon": "right",
width: "1em",
height: "1em",
fill: "currentColor",
"aria-hidden": "true"
}, [
/* @__PURE__ */ i("path", { d: "M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z" })
])
], -1);
function ha(e, n, a, t, s, l) {
return c(), d("ul", {
class: "pagination",
onClick: n[0] || (n[0] = (...r) => t.handlePageClick && t.handlePageClick(...r))
}, [
pa,
(c(!0), d(L, null, B(t.pagers, (r) => (c(), d("li", {
class: f(["pagination-item", { "pagination-item-active": r.active }]),
key: r.index
}, w(r.index), 3))), 128)),
va
]);
}
const ge = /* @__PURE__ */ p(fa, [["render", ha]]);
ge.install = (e) => (e.component(ge.name, ge), e);
const ga = {
name: "Space",
props: {
direction: {
type: String,
default: "horizontal",
validator: (e) => ["horizontal", "vertical"].includes(e)
},
size: { type: [String, Number], default: "middle" }
},
setup(e, { slots: n }) {
const a = u(() => ["space", `space-${e.direction}`]), t = u(() => ({
"space-item": e.size === "middle",
"space-item-sm": e.size === "small",
"space-item-lg": e.size === "large"
})), s = u(() => {
const r = {};
if (e.size === "small" || e.size === "middle")
return r;
const o = e.direction === "horizontal" ? "marginLeft" : "marginTop", v = typeof e.size == "number" ? `${e.size}px` : e.size;
return r[o] = v, r;
}), l = n.default();
return { classes: a, itemClasses: t, itemStyles: s, items: l };
}
};
function ya(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes)
}, [
(c(!0), d(L, null, B(t.items, (r, o) => (c(), d("div", {
class: f(t.itemClasses),
style: N(o > 0 && t.itemStyles),
key: o
}, [
(c(), Ae(it(r)))
], 6))), 128))
], 2);
}
const ye = /* @__PURE__ */ p(ga, [["render", ya]]);
ye.install = (e) => e.component(ye.name, ye);
const ze = "switch", $a = {
name: "Switch",
props: {
checked: { type: Boolean, default: !1 },
shape: {
type: String,
default: "circle",
validator: (e) => ["circle", "square"].includes(e)
}
},
emits: ["update:checked", "onChange"],
setup(e, { emit: n }) {
const a = b(!1), t = u(() => [
ze,
{ [`${ze}-checked`]: a.value },
{ [`${ze}-circle`]: e.shape === "circle" }
]), s = () => {
a.value = !a.value, n("update:checked", a.value), n("onChange", a.value);
};
return I(() => {
a.value = e.checked;
}), ct(() => {
a.value = e.checked;
}), { classes: t, handleClick: s };
}
}, _a = /* @__PURE__ */ i("div", { class: "switch-handle" }, null, -1), ba = [
_a
];
function wa(e, n, a, t, s, l) {
return c(), d("div", {
class: f(t.classes),
onClick: n[0] || (n[0] = (...r) => t.handleClick && t.handleClick(...r))
}, ba, 2);
}
const $e = /* @__PURE__ */ p($a, [["render", wa]]);
$e.install = (e) => e.component($e.name, $e);
const Sa = {
name: "Table",
props: {
bordered: { type: Boolean, default: !1 },
className: { type: String, default: "" },
cloumns: { type: Array, default: () => [] },
data: { type: Array, default: () => [] },
size: {
type: String,
default: "middle",
validator: (e) => ["large", "middle", "small"].includes(e)
},
stripe: { type: Boolean, default: !1 }
},
setup(e) {
const n = u(() => [
"rd-table-wrap",
{ "rd-table-bordered": e.bordered },
e.className
]), a = u(()