diry3943542 1 jaar geleden
commit
8b4bf802f8

+ 1 - 0
lib/config.json

@@ -0,0 +1 @@
+{"_hash":1724997613295,"VITE_APP_API_BASE_URL":"http://192.168.200.14:2002","VITE_APP_API_FILE_URL":"/","VITE_APP_SOCKET_URL":"/","VITE_USER_NODE_ENV":"production"}

File diff suppressed because it is too large
+ 0 - 0
lib/css/style.css


BIN
lib/favicon.ico


+ 18 - 0
lib/js/403.js

@@ -0,0 +1,18 @@
+import { openBlock as t, createElementBlock as e } from "vue";
+import { r as o } from "./index2.js";
+const r = {
+  name: "AUth403",
+  data() {
+    return {};
+  },
+  methods: {},
+  mounted() {
+  }
+}, n = { class: "auth-403" };
+function s(c, a, _, d, m, p) {
+  return t(), e("div", n, "403");
+}
+const u = /* @__PURE__ */ o(r, [["render", s]]);
+export {
+  u as default
+};

+ 18 - 0
lib/js/404.js

@@ -0,0 +1,18 @@
+import { openBlock as t, createElementBlock as e } from "vue";
+import { r as o } from "./index2.js";
+const r = {
+  name: "AUth404",
+  data() {
+    return {};
+  },
+  methods: {},
+  mounted() {
+  }
+}, n = { class: "auth-404" };
+function s(c, a, _, d, m, p) {
+  return t(), e("div", n, "404");
+}
+const u = /* @__PURE__ */ o(r, [["render", s]]);
+export {
+  u as default
+};

+ 18 - 0
lib/js/500.js

@@ -0,0 +1,18 @@
+import { openBlock as t, createElementBlock as e } from "vue";
+import { r as o } from "./index2.js";
+const r = {
+  name: "AUth500",
+  data() {
+    return {};
+  },
+  methods: {},
+  mounted() {
+  }
+}, n = { class: "auth-500" };
+function s(c, a, _, d, m, p) {
+  return t(), e("div", n, "500");
+}
+const u = /* @__PURE__ */ o(r, [["render", s]]);
+export {
+  u as default
+};

+ 339 - 0
lib/js/Col.js

@@ -0,0 +1,339 @@
+import { g as E, I as T, _ as g, j as F, aK as D, aL as w, m as k, a as C, F as N } from "./index2.js";
+import { shallowRef as K, onMounted as L, inject as V, computed as $, provide as X, defineComponent as W, ref as R, onBeforeUnmount as H, createVNode as B } from "vue";
+import { d as P } from "./styleChecker.js";
+const J = () => {
+  const e = K(!1);
+  return L(() => {
+    e.value = P();
+  }), e;
+}, _ = Symbol("rowContextKey"), U = (e) => {
+  X(_, e);
+}, q = () => V(_, {
+  gutter: $(() => {
+  }),
+  wrap: $(() => {
+  }),
+  supportFlexGap: $(() => {
+  })
+}), Q = (e) => {
+  const {
+    componentCls: t
+  } = e;
+  return {
+    // Grid system
+    [t]: {
+      display: "flex",
+      flexFlow: "row wrap",
+      minWidth: 0,
+      "&::before, &::after": {
+        display: "flex"
+      },
+      "&-no-wrap": {
+        flexWrap: "nowrap"
+      },
+      // The origin of the X-axis
+      "&-start": {
+        justifyContent: "flex-start"
+      },
+      // The center of the X-axis
+      "&-center": {
+        justifyContent: "center"
+      },
+      // The opposite of the X-axis
+      "&-end": {
+        justifyContent: "flex-end"
+      },
+      "&-space-between": {
+        justifyContent: "space-between"
+      },
+      "&-space-around ": {
+        justifyContent: "space-around"
+      },
+      "&-space-evenly ": {
+        justifyContent: "space-evenly"
+      },
+      // Align at the top
+      "&-top": {
+        alignItems: "flex-start"
+      },
+      // Align at the center
+      "&-middle": {
+        alignItems: "center"
+      },
+      "&-bottom": {
+        alignItems: "flex-end"
+      }
+    }
+  };
+}, Y = (e) => {
+  const {
+    componentCls: t
+  } = e;
+  return {
+    // Grid system
+    [t]: {
+      position: "relative",
+      maxWidth: "100%",
+      // Prevent columns from collapsing when empty
+      minHeight: 1
+    }
+  };
+}, Z = (e, t) => {
+  const {
+    componentCls: a,
+    gridColumns: u
+  } = e, o = {};
+  for (let s = u; s >= 0; s--)
+    s === 0 ? (o[`${a}${t}-${s}`] = {
+      display: "none"
+    }, o[`${a}-push-${s}`] = {
+      insetInlineStart: "auto"
+    }, o[`${a}-pull-${s}`] = {
+      insetInlineEnd: "auto"
+    }, o[`${a}${t}-push-${s}`] = {
+      insetInlineStart: "auto"
+    }, o[`${a}${t}-pull-${s}`] = {
+      insetInlineEnd: "auto"
+    }, o[`${a}${t}-offset-${s}`] = {
+      marginInlineEnd: 0
+    }, o[`${a}${t}-order-${s}`] = {
+      order: 0
+    }) : (o[`${a}${t}-${s}`] = {
+      display: "block",
+      flex: `0 0 ${s / u * 100}%`,
+      maxWidth: `${s / u * 100}%`
+    }, o[`${a}${t}-push-${s}`] = {
+      insetInlineStart: `${s / u * 100}%`
+    }, o[`${a}${t}-pull-${s}`] = {
+      insetInlineEnd: `${s / u * 100}%`
+    }, o[`${a}${t}-offset-${s}`] = {
+      marginInlineStart: `${s / u * 100}%`
+    }, o[`${a}${t}-order-${s}`] = {
+      order: s
+    });
+  return o;
+}, O = (e, t) => Z(e, t), z = (e, t, a) => ({
+  [`@media (min-width: ${t}px)`]: g({}, O(e, a))
+}), ee = E("Grid", (e) => [Q(e)]), te = E("Grid", (e) => {
+  const t = T(e, {
+    gridColumns: 24
+    // Row is divided into 24 parts in Grid
+  }), a = {
+    "-sm": t.screenSMMin,
+    "-md": t.screenMDMin,
+    "-lg": t.screenLGMin,
+    "-xl": t.screenXLMin,
+    "-xxl": t.screenXXLMin
+  };
+  return [Y(t), O(t, ""), O(t, "-xs"), Object.keys(a).map((u) => z(t, a[u], u)).reduce((u, o) => g(g({}, u), o), {})];
+}), ne = () => ({
+  align: N([String, Object]),
+  justify: N([String, Object]),
+  prefixCls: String,
+  gutter: N([Number, Array, Object], 0),
+  wrap: {
+    type: Boolean,
+    default: void 0
+  }
+}), ie = W({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ARow",
+  inheritAttrs: !1,
+  props: ne(),
+  setup(e, t) {
+    let {
+      slots: a,
+      attrs: u
+    } = t;
+    const {
+      prefixCls: o,
+      direction: s
+    } = F("row", e), [G, y] = ee(o);
+    let v;
+    const x = D(), b = R({
+      xs: !0,
+      sm: !0,
+      md: !0,
+      lg: !0,
+      xl: !0,
+      xxl: !0
+    }), S = R({
+      xs: !1,
+      sm: !1,
+      md: !1,
+      lg: !1,
+      xl: !1,
+      xxl: !1
+    }), h = (n) => $(() => {
+      if (typeof e[n] == "string")
+        return e[n];
+      if (typeof e[n] != "object")
+        return "";
+      for (let r = 0; r < w.length; r++) {
+        const l = w[r];
+        if (!S.value[l]) continue;
+        const i = e[n][l];
+        if (i !== void 0)
+          return i;
+      }
+      return "";
+    }), f = h("align"), p = h("justify"), d = J();
+    L(() => {
+      v = x.value.subscribe((n) => {
+        S.value = n;
+        const r = e.gutter || 0;
+        (!Array.isArray(r) && typeof r == "object" || Array.isArray(r) && (typeof r[0] == "object" || typeof r[1] == "object")) && (b.value = n);
+      });
+    }), H(() => {
+      x.value.unsubscribe(v);
+    });
+    const m = $(() => {
+      const n = [void 0, void 0], {
+        gutter: r = 0
+      } = e;
+      return (Array.isArray(r) ? r : [r, void 0]).forEach((i, M) => {
+        if (typeof i == "object")
+          for (let I = 0; I < w.length; I++) {
+            const A = w[I];
+            if (b.value[A] && i[A] !== void 0) {
+              n[M] = i[A];
+              break;
+            }
+          }
+        else
+          n[M] = i;
+      }), n;
+    });
+    U({
+      gutter: m,
+      supportFlexGap: d,
+      wrap: $(() => e.wrap)
+    });
+    const j = $(() => k(o.value, {
+      [`${o.value}-no-wrap`]: e.wrap === !1,
+      [`${o.value}-${p.value}`]: p.value,
+      [`${o.value}-${f.value}`]: f.value,
+      [`${o.value}-rtl`]: s.value === "rtl"
+    }, u.class, y.value)), c = $(() => {
+      const n = m.value, r = {}, l = n[0] != null && n[0] > 0 ? `${n[0] / -2}px` : void 0, i = n[1] != null && n[1] > 0 ? `${n[1] / -2}px` : void 0;
+      return l && (r.marginLeft = l, r.marginRight = l), d.value ? r.rowGap = `${n[1]}px` : i && (r.marginTop = i, r.marginBottom = i), r;
+    });
+    return () => {
+      var n;
+      return G(B("div", C(C({}, u), {}, {
+        class: j.value,
+        style: g(g({}, c.value), u.style)
+      }), [(n = a.default) === null || n === void 0 ? void 0 : n.call(a)]));
+    };
+  }
+});
+function re(e) {
+  return typeof e == "number" ? `${e} ${e} auto` : /^\d+(\.\d+)?(px|em|rem|%)$/.test(e) ? `0 0 ${e}` : e;
+}
+const se = () => ({
+  span: [String, Number],
+  order: [String, Number],
+  offset: [String, Number],
+  push: [String, Number],
+  pull: [String, Number],
+  xs: {
+    type: [String, Number, Object],
+    default: void 0
+  },
+  sm: {
+    type: [String, Number, Object],
+    default: void 0
+  },
+  md: {
+    type: [String, Number, Object],
+    default: void 0
+  },
+  lg: {
+    type: [String, Number, Object],
+    default: void 0
+  },
+  xl: {
+    type: [String, Number, Object],
+    default: void 0
+  },
+  xxl: {
+    type: [String, Number, Object],
+    default: void 0
+  },
+  prefixCls: String,
+  flex: [String, Number]
+}), oe = ["xs", "sm", "md", "lg", "xl", "xxl"], de = W({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ACol",
+  inheritAttrs: !1,
+  props: se(),
+  setup(e, t) {
+    let {
+      slots: a,
+      attrs: u
+    } = t;
+    const {
+      gutter: o,
+      supportFlexGap: s,
+      wrap: G
+    } = q(), {
+      prefixCls: y,
+      direction: v
+    } = F("col", e), [x, b] = te(y), S = $(() => {
+      const {
+        span: f,
+        order: p,
+        offset: d,
+        push: m,
+        pull: j
+      } = e, c = y.value;
+      let n = {};
+      return oe.forEach((r) => {
+        let l = {};
+        const i = e[r];
+        typeof i == "number" ? l.span = i : typeof i == "object" && (l = i || {}), n = g(g({}, n), {
+          [`${c}-${r}-${l.span}`]: l.span !== void 0,
+          [`${c}-${r}-order-${l.order}`]: l.order || l.order === 0,
+          [`${c}-${r}-offset-${l.offset}`]: l.offset || l.offset === 0,
+          [`${c}-${r}-push-${l.push}`]: l.push || l.push === 0,
+          [`${c}-${r}-pull-${l.pull}`]: l.pull || l.pull === 0,
+          [`${c}-rtl`]: v.value === "rtl"
+        });
+      }), k(c, {
+        [`${c}-${f}`]: f !== void 0,
+        [`${c}-order-${p}`]: p,
+        [`${c}-offset-${d}`]: d,
+        [`${c}-push-${m}`]: m,
+        [`${c}-pull-${j}`]: j
+      }, n, u.class, b.value);
+    }), h = $(() => {
+      const {
+        flex: f
+      } = e, p = o.value, d = {};
+      if (p && p[0] > 0) {
+        const m = `${p[0] / 2}px`;
+        d.paddingLeft = m, d.paddingRight = m;
+      }
+      if (p && p[1] > 0 && !s.value) {
+        const m = `${p[1] / 2}px`;
+        d.paddingTop = m, d.paddingBottom = m;
+      }
+      return f && (d.flex = re(f), G.value === !1 && !d.minWidth && (d.minWidth = 0)), d;
+    });
+    return () => {
+      var f;
+      return x(B("div", C(C({}, u), {}, {
+        class: S.value,
+        style: [h.value, u.style]
+      }), [(f = a.default) === null || f === void 0 ? void 0 : f.call(a)]));
+    };
+  }
+});
+export {
+  ie as A,
+  de as C
+};

File diff suppressed because it is too large
+ 589 - 0
lib/js/CropperModal.js


+ 73 - 0
lib/js/FormItemContext.js

@@ -0,0 +1,73 @@
+import { computed as c, inject as u, getCurrentInstance as F, onBeforeUnmount as I, provide as r, defineComponent as v, ref as C, watch as x } from "vue";
+import { bz as y, d as g } from "./index2.js";
+const l = Symbol("ContextProps"), m = Symbol("InternalContextProps"), N = function(a) {
+  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : c(() => !0);
+  const e = C(/* @__PURE__ */ new Map()), o = (n, s) => {
+    e.value.set(n, s), e.value = new Map(e.value);
+  }, f = (n) => {
+    e.value.delete(n), e.value = new Map(e.value);
+  }, p = F();
+  x([t, e], () => {
+    if (process.env.NODE_ENV !== "production" && t.value && e.value.size > 1) {
+      g(!1, "Form.Item", `FormItem can only collect one field item, you haved set ${[...e.value.values()].map((s) => `\`${s.name}\``).join(", ")} ${e.value.size} field items.
+        You can set not need to be collected fields into \`a-form-item-rest\``);
+      let n = p;
+      for (; n.parent; )
+        console.warn("at", n.type), n = n.parent;
+    }
+  }), r(l, a), r(m, {
+    addFormItemField: o,
+    removeFormItemField: f
+  });
+}, i = {
+  id: c(() => {
+  }),
+  onFieldBlur: () => {
+  },
+  onFieldChange: () => {
+  },
+  clearValidate: () => {
+  }
+}, d = {
+  addFormItemField: () => {
+  },
+  removeFormItemField: () => {
+  }
+}, S = () => {
+  const a = u(m, d), t = Symbol("FormItemFieldKey"), e = F();
+  return a.addFormItemField(t, e.type), I(() => {
+    a.removeFormItemField(t);
+  }), r(m, d), r(l, i), u(l, i);
+}, _ = v({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AFormItemRest",
+  setup(a, t) {
+    let {
+      slots: e
+    } = t;
+    return r(m, d), r(l, i), () => {
+      var o;
+      return (o = e.default) === null || o === void 0 ? void 0 : o.call(e);
+    };
+  }
+}), b = y({}), K = v({
+  name: "NoFormStatus",
+  setup(a, t) {
+    let {
+      slots: e
+    } = t;
+    return b.useProvide({}), () => {
+      var o;
+      return (o = e.default) === null || o === void 0 ? void 0 : o.call(e);
+    };
+  }
+});
+export {
+  b as F,
+  K as N,
+  N as a,
+  _ as b,
+  S as u
+};

+ 1235 - 0
lib/js/SCascader.js

@@ -0,0 +1,1235 @@
+import { computed as y, shallowRef as Te, ref as X, watchEffect as ie, provide as We, inject as je, watch as be, createVNode as T, defineComponent as xe, onMounted as He, toRef as pe, toRefs as Be, openBlock as ze, createElementBlock as Xe, unref as Ue } from "vue";
+import { _ as k, w as qe, i as Ge, c as Se, u as Ye, K as Y, a as Z, b as De, d as oe, o as we, e as Je, P as ye, g as Qe, t as Ze, f as et, h as tt, j as nt, k as lt, l as at, m as ot, L as st, R as it, n as rt, p as Ve, q as ct } from "./index2.js";
+import { u as Ie, a as ut, B as dt, b as vt, c as pt, g as ht } from "./index3.js";
+import { u as ke } from "./useMergedState.js";
+import { c as ft, u as mt, a as Ce, g as gt } from "./index4.js";
+import "./index5.js";
+import { g as Ct, a as St } from "./statusUtils.js";
+import { u as yt, F as bt } from "./FormItemContext.js";
+const Pe = "__RC_CASCADER_SPLIT__", $e = "SHOW_PARENT", Ne = "SHOW_CHILD";
+function ee(e) {
+  return e.join(Pe);
+}
+function se(e) {
+  return e.map(ee);
+}
+function xt(e) {
+  return e.split(Pe);
+}
+function wt(e) {
+  const {
+    label: a,
+    value: t,
+    children: n
+  } = e || {}, l = t || "value";
+  return {
+    label: a || "label",
+    value: l,
+    key: l,
+    children: n || "children"
+  };
+}
+function ce(e, a) {
+  var t, n;
+  return (t = e.isLeaf) !== null && t !== void 0 ? t : !(!((n = e[a.children]) === null || n === void 0) && n.length);
+}
+function It(e) {
+  const a = e.parentElement;
+  if (!a)
+    return;
+  const t = e.offsetTop - a.offsetTop;
+  t - a.scrollTop < 0 ? a.scrollTo({
+    top: t
+  }) : t + e.offsetHeight - a.scrollTop > a.offsetHeight && a.scrollTo({
+    top: t + e.offsetHeight - a.offsetHeight
+  });
+}
+const Pt = (e, a) => y(() => ft(e.value, {
+  fieldNames: a.value,
+  initWrapper: (n) => k(k({}, n), {
+    pathKeyEntities: {}
+  }),
+  processEntity: (n, l) => {
+    const i = n.nodes.map((r) => r[a.value.value]).join(Pe);
+    l.pathKeyEntities[i] = n, n.key = i;
+  }
+}).pathKeyEntities);
+function Ot(e) {
+  const a = Te(!1), t = X({});
+  return ie(() => {
+    if (!e.value) {
+      a.value = !1, t.value = {};
+      return;
+    }
+    let n = {
+      matchInputWidth: !0,
+      limit: 50
+    };
+    e.value && typeof e.value == "object" && (n = k(k({}, n), e.value)), n.limit <= 0 && (delete n.limit, process.env.NODE_ENV !== "production" && qe(!1, "'limit' of showSearch should be positive number or false.")), a.value = !0, t.value = n;
+  }), {
+    showSearch: a,
+    searchConfig: t
+  };
+}
+const ue = "__rc_cascader_search_mark__", Vt = (e, a, t) => {
+  let {
+    label: n
+  } = t;
+  return a.some((l) => String(l[n]).toLowerCase().includes(e.toLowerCase()));
+}, kt = (e) => {
+  let {
+    path: a,
+    fieldNames: t
+  } = e;
+  return a.map((n) => n[t.label]).join(" / ");
+}, _t = (e, a, t, n, l, i) => y(() => {
+  const {
+    filter: r = Vt,
+    render: d = kt,
+    limit: v = 50,
+    sort: c
+  } = l.value, o = [];
+  if (!e.value)
+    return [];
+  function C(P, b) {
+    P.forEach((D) => {
+      if (!c && v > 0 && o.length >= v)
+        return;
+      const m = [...b, D], x = D[t.value.children];
+      // If is leaf option
+      (!x || x.length === 0 || // If is changeOnSelect
+      i.value) && r(e.value, m, {
+        label: t.value.label
+      }) && o.push(k(k({}, D), {
+        [t.value.label]: d({
+          inputValue: e.value,
+          path: m,
+          prefixCls: n.value,
+          fieldNames: t.value
+        }),
+        [ue]: m
+      })), x && C(D[t.value.children], m);
+    });
+  }
+  return C(a.value, []), c && o.sort((P, b) => c(P[ue], b[ue], e.value, t.value)), v > 0 ? o.slice(0, v) : o;
+});
+function _e(e, a, t) {
+  const n = new Set(e);
+  return e.filter((l) => {
+    const i = a[l], r = i ? i.parent : null, d = i ? i.children : null;
+    return t === Ne ? !(d && d.some((v) => v.key && n.has(v.key))) : !(r && !r.node.disabled && n.has(r.key));
+  });
+}
+function de(e, a, t) {
+  let n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1;
+  var l;
+  let i = a;
+  const r = [];
+  for (let d = 0; d < e.length; d += 1) {
+    const v = e[d], c = i == null ? void 0 : i.findIndex((C) => {
+      const P = C[t.value];
+      return n ? String(P) === String(v) : P === v;
+    }), o = c !== -1 ? i == null ? void 0 : i[c] : null;
+    r.push({
+      value: (l = o == null ? void 0 : o[t.value]) !== null && l !== void 0 ? l : v,
+      index: c,
+      option: o
+    }), i = o == null ? void 0 : o[t.children];
+  }
+  return r;
+}
+const At = (e, a, t) => y(() => {
+  const n = [], l = [];
+  return t.value.forEach((i) => {
+    de(i, e.value, a.value).every((d) => d.option) ? l.push(i) : n.push(i);
+  }), [l, n];
+}), Et = (e, a, t, n, l) => y(() => {
+  const i = l.value || // Default displayRender
+  ((r) => {
+    let {
+      labels: d
+    } = r;
+    const v = n.value ? d.slice(-1) : d, c = " / ";
+    return v.every((o) => ["string", "number"].includes(typeof o)) ? v.join(c) : v.reduce((o, C, P) => {
+      const b = Ge(C) ? Se(C, {
+        key: P
+      }) : C;
+      return P === 0 ? [b] : [...o, c, b];
+    }, []);
+  });
+  return e.value.map((r) => {
+    const d = de(r, a.value, t.value), v = i({
+      labels: d.map((o) => {
+        let {
+          option: C,
+          value: P
+        } = o;
+        var b;
+        return (b = C == null ? void 0 : C[t.value.label]) !== null && b !== void 0 ? b : P;
+      }),
+      selectedOptions: d.map((o) => {
+        let {
+          option: C
+        } = o;
+        return C;
+      })
+    }), c = ee(r);
+    return {
+      label: v,
+      value: c,
+      key: c,
+      valueCells: r
+    };
+  });
+}), Re = Symbol("CascaderContextKey"), Tt = (e) => {
+  We(Re, e);
+}, he = () => je(Re), Dt = () => {
+  const e = Ie(), {
+    values: a
+  } = he(), [t, n] = Ye([]);
+  return be(() => e.open, () => {
+    if (e.open && !e.multiple) {
+      const l = a.value[0];
+      n(l || []);
+    }
+  }, {
+    immediate: !0
+  }), [t, n];
+}, $t = (e, a, t, n, l, i) => {
+  const r = Ie(), d = y(() => r.direction === "rtl"), [v, c, o] = [X([]), X(), X([])];
+  ie(() => {
+    let m = -1, x = a.value;
+    const p = [], w = [], E = n.value.length;
+    for (let _ = 0; _ < E && x; _ += 1) {
+      const N = x.findIndex(($) => $[t.value.value] === n.value[_]);
+      if (N === -1)
+        break;
+      m = N, p.push(m), w.push(n.value[_]), x = x[m][t.value.children];
+    }
+    let O = a.value;
+    for (let _ = 0; _ < p.length - 1; _ += 1)
+      O = O[p[_]][t.value.children];
+    [v.value, c.value, o.value] = [w, m, O];
+  });
+  const C = (m) => {
+    l(m);
+  }, P = (m) => {
+    const x = o.value.length;
+    let p = c.value;
+    p === -1 && m < 0 && (p = x);
+    for (let w = 0; w < x; w += 1) {
+      p = (p + m + x) % x;
+      const E = o.value[p];
+      if (E && !E.disabled) {
+        const O = E[t.value.value], _ = v.value.slice(0, -1).concat(O);
+        C(_);
+        return;
+      }
+    }
+  }, b = () => {
+    if (v.value.length > 1) {
+      const m = v.value.slice(0, -1);
+      C(m);
+    } else
+      r.toggleOpen(!1);
+  }, D = () => {
+    var m;
+    const p = (((m = o.value[c.value]) === null || m === void 0 ? void 0 : m[t.value.children]) || []).find((w) => !w.disabled);
+    if (p) {
+      const w = [...v.value, p[t.value.value]];
+      C(w);
+    }
+  };
+  e.expose({
+    // scrollTo: treeRef.current?.scrollTo,
+    onKeydown: (m) => {
+      const {
+        which: x
+      } = m;
+      switch (x) {
+        case Y.UP:
+        case Y.DOWN: {
+          let p = 0;
+          x === Y.UP ? p = -1 : x === Y.DOWN && (p = 1), p !== 0 && P(p);
+          break;
+        }
+        case Y.LEFT: {
+          d.value ? D() : b();
+          break;
+        }
+        case Y.RIGHT: {
+          d.value ? b() : D();
+          break;
+        }
+        case Y.BACKSPACE: {
+          r.searchValue || b();
+          break;
+        }
+        case Y.ENTER: {
+          if (v.value.length) {
+            const p = o.value[c.value], w = (p == null ? void 0 : p[ue]) || [];
+            w.length ? i(w.map((E) => E[t.value.value]), w[w.length - 1]) : i(v.value, p);
+          }
+          break;
+        }
+        case Y.ESC:
+          r.toggleOpen(!1), open && m.stopPropagation();
+      }
+    },
+    onKeyup: () => {
+    }
+  });
+};
+function fe(e) {
+  let {
+    prefixCls: a,
+    checked: t,
+    halfChecked: n,
+    disabled: l,
+    onClick: i
+  } = e;
+  const {
+    customSlots: r,
+    checkable: d
+  } = he(), v = d.value !== !1 ? r.value.checkable : d.value, c = typeof v == "function" ? v() : typeof v == "boolean" ? null : v;
+  return T("span", {
+    class: {
+      [a]: !0,
+      [`${a}-checked`]: t,
+      [`${a}-indeterminate`]: !t && n,
+      [`${a}-disabled`]: l
+    },
+    onClick: i
+  }, [c]);
+}
+fe.props = ["prefixCls", "checked", "halfChecked", "disabled", "onClick"];
+fe.displayName = "Checkbox";
+fe.inheritAttrs = !1;
+const Le = "__cascader_fix_label__";
+function me(e) {
+  let {
+    prefixCls: a,
+    multiple: t,
+    options: n,
+    activeValue: l,
+    prevValuePath: i,
+    onToggleOpen: r,
+    onSelect: d,
+    onActive: v,
+    checkedSet: c,
+    halfCheckedSet: o,
+    loadingKeys: C,
+    isSelectable: P
+  } = e;
+  var b, D, m, x, p, w;
+  const E = `${a}-menu`, O = `${a}-menu-item`, {
+    fieldNames: _,
+    changeOnSelect: N,
+    expandTrigger: $,
+    expandIcon: U,
+    loadingIcon: J,
+    dropdownMenuColumnStyle: q,
+    customSlots: M
+  } = he(), F = (b = U.value) !== null && b !== void 0 ? b : (m = (D = M.value).expandIcon) === null || m === void 0 ? void 0 : m.call(D), W = (x = J.value) !== null && x !== void 0 ? x : (w = (p = M.value).loadingIcon) === null || w === void 0 ? void 0 : w.call(p), te = $.value === "hover";
+  return T("ul", {
+    class: E,
+    role: "menu"
+  }, [n.map((R) => {
+    var h;
+    const {
+      disabled: I
+    } = R, s = R[ue], S = (h = R[Le]) !== null && h !== void 0 ? h : R[_.value.label], g = R[_.value.value], V = ce(R, _.value), K = s ? s.map((u) => u[_.value.value]) : [...i, g], j = ee(K), H = C.includes(j), Q = c.has(j), ne = o.has(j), le = () => {
+      !I && (!te || !V) && v(K);
+    }, B = () => {
+      P(R) && d(K, V);
+    };
+    let G;
+    return typeof R.title == "string" ? G = R.title : typeof S == "string" && (G = S), T("li", {
+      key: j,
+      class: [O, {
+        [`${O}-expand`]: !V,
+        [`${O}-active`]: l === g,
+        [`${O}-disabled`]: I,
+        [`${O}-loading`]: H
+      }],
+      style: q.value,
+      role: "menuitemcheckbox",
+      title: G,
+      "aria-checked": Q,
+      "data-path-key": j,
+      onClick: () => {
+        le(), (!t || V) && B();
+      },
+      onDblclick: () => {
+        N.value && r(!1);
+      },
+      onMouseenter: () => {
+        te && le();
+      },
+      onMousedown: (u) => {
+        u.preventDefault();
+      }
+    }, [t && T(fe, {
+      prefixCls: `${a}-checkbox`,
+      checked: Q,
+      halfChecked: ne,
+      disabled: I,
+      onClick: (u) => {
+        u.stopPropagation(), B();
+      }
+    }, null), T("div", {
+      class: `${O}-content`
+    }, [S]), !H && F && !V && T("div", {
+      class: `${O}-expand-icon`
+    }, [Se(F)]), H && W && T("div", {
+      class: `${O}-loading-icon`
+    }, [Se(W)])]);
+  })]);
+}
+me.props = ["prefixCls", "multiple", "options", "activeValue", "prevValuePath", "onToggleOpen", "onSelect", "onActive", "checkedSet", "halfCheckedSet", "loadingKeys", "isSelectable"];
+me.displayName = "Column";
+me.inheritAttrs = !1;
+const Nt = xe({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "OptionList",
+  inheritAttrs: !1,
+  setup(e, a) {
+    const {
+      attrs: t,
+      slots: n
+    } = a, l = Ie(), i = X(), r = y(() => l.direction === "rtl"), {
+      options: d,
+      values: v,
+      halfValues: c,
+      fieldNames: o,
+      changeOnSelect: C,
+      onSelect: P,
+      searchOptions: b,
+      dropdownPrefixCls: D,
+      loadData: m,
+      expandTrigger: x,
+      customSlots: p
+    } = he(), w = y(() => D.value || l.prefixCls), E = Te([]), O = (h) => {
+      if (!m.value || l.searchValue)
+        return;
+      const s = de(h, d.value, o.value).map((g) => {
+        let {
+          option: V
+        } = g;
+        return V;
+      }), S = s[s.length - 1];
+      if (S && !ce(S, o.value)) {
+        const g = ee(h);
+        E.value = [...E.value, g], m.value(s);
+      }
+    };
+    ie(() => {
+      E.value.length && E.value.forEach((h) => {
+        const I = xt(h), s = de(I, d.value, o.value, !0).map((g) => {
+          let {
+            option: V
+          } = g;
+          return V;
+        }), S = s[s.length - 1];
+        (!S || S[o.value.children] || ce(S, o.value)) && (E.value = E.value.filter((g) => g !== h));
+      });
+    });
+    const _ = y(() => new Set(se(v.value))), N = y(() => new Set(se(c.value))), [$, U] = Dt(), J = (h) => {
+      U(h), O(h);
+    }, q = (h) => {
+      const {
+        disabled: I
+      } = h, s = ce(h, o.value);
+      return !I && (s || C.value || l.multiple);
+    }, M = function(h, I) {
+      let s = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
+      P(h), !l.multiple && (I || C.value && (x.value === "hover" || s)) && l.toggleOpen(!1);
+    }, F = y(() => l.searchValue ? b.value : d.value), W = y(() => {
+      const h = [{
+        options: F.value
+      }];
+      let I = F.value;
+      for (let s = 0; s < $.value.length; s += 1) {
+        const S = $.value[s], g = I.find((K) => K[o.value.value] === S), V = g == null ? void 0 : g[o.value.children];
+        if (!(V != null && V.length))
+          break;
+        I = V, h.push({
+          options: V
+        });
+      }
+      return h;
+    });
+    $t(a, F, o, $, J, (h, I) => {
+      q(I) && M(h, ce(I, o.value), !0);
+    });
+    const R = (h) => {
+      h.preventDefault();
+    };
+    return He(() => {
+      be($, (h) => {
+        var I;
+        for (let s = 0; s < h.length; s += 1) {
+          const S = h.slice(0, s + 1), g = ee(S), V = (I = i.value) === null || I === void 0 ? void 0 : I.querySelector(`li[data-path-key="${g.replace(/\\{0,2}"/g, '\\"')}"]`);
+          V && It(V);
+        }
+      }, {
+        flush: "post",
+        immediate: !0
+      });
+    }), () => {
+      var h, I, s, S, g;
+      const {
+        notFoundContent: V = ((h = n.notFoundContent) === null || h === void 0 ? void 0 : h.call(n)) || ((s = (I = p.value).notFoundContent) === null || s === void 0 ? void 0 : s.call(I)),
+        multiple: K,
+        toggleOpen: j
+      } = l, H = !(!((g = (S = W.value[0]) === null || S === void 0 ? void 0 : S.options) === null || g === void 0) && g.length), Q = [{
+        [o.value.value]: "__EMPTY__",
+        [Le]: V,
+        disabled: !0
+      }], ne = k(k({}, t), {
+        multiple: !H && K,
+        onSelect: M,
+        onActive: J,
+        onToggleOpen: j,
+        checkedSet: _.value,
+        halfCheckedSet: N.value,
+        loadingKeys: E.value,
+        isSelectable: q
+      }), B = (H ? [{
+        options: Q
+      }] : W.value).map((G, u) => {
+        const f = $.value.slice(0, u), A = $.value[u];
+        return T(me, Z(Z({
+          key: u
+        }, ne), {}, {
+          prefixCls: w.value,
+          options: G.options,
+          prevValuePath: f,
+          activeValue: A
+        }), null);
+      });
+      return T("div", {
+        class: [`${w.value}-menus`, {
+          [`${w.value}-menu-empty`]: H,
+          [`${w.value}-rtl`]: r.value
+        }],
+        onMousedown: R,
+        ref: i
+      }, [B]);
+    };
+  }
+});
+function Rt() {
+  return k(k({}, we(vt(), ["tokenSeparators", "mode", "showSearch"])), {
+    // MISC
+    id: String,
+    prefixCls: String,
+    fieldNames: Je(),
+    children: Array,
+    // Value
+    value: {
+      type: [String, Number, Array]
+    },
+    defaultValue: {
+      type: [String, Number, Array]
+    },
+    changeOnSelect: {
+      type: Boolean,
+      default: void 0
+    },
+    displayRender: Function,
+    checkable: {
+      type: Boolean,
+      default: void 0
+    },
+    showCheckedStrategy: {
+      type: String,
+      default: $e
+    },
+    // Search
+    showSearch: {
+      type: [Boolean, Object],
+      default: void 0
+    },
+    searchValue: String,
+    onSearch: Function,
+    // Trigger
+    expandTrigger: String,
+    // Options
+    options: Array,
+    /** @private Internal usage. Do not use in your production. */
+    dropdownPrefixCls: String,
+    loadData: Function,
+    // Open
+    /** @deprecated Use `open` instead */
+    popupVisible: {
+      type: Boolean,
+      default: void 0
+    },
+    dropdownClassName: String,
+    dropdownMenuColumnStyle: {
+      type: Object,
+      default: void 0
+    },
+    /** @deprecated Use `dropdownStyle` instead */
+    popupStyle: {
+      type: Object,
+      default: void 0
+    },
+    dropdownStyle: {
+      type: Object,
+      default: void 0
+    },
+    /** @deprecated Use `placement` instead */
+    popupPlacement: String,
+    placement: String,
+    /** @deprecated Use `onDropdownVisibleChange` instead */
+    onPopupVisibleChange: Function,
+    onDropdownVisibleChange: Function,
+    // Icon
+    expandIcon: ye.any,
+    loadingIcon: ye.any
+  });
+}
+function Ke() {
+  return k(k({}, Rt()), {
+    onChange: Function,
+    customSlots: Object
+  });
+}
+function Lt(e) {
+  return Array.isArray(e) && Array.isArray(e[0]);
+}
+function Ae(e) {
+  return e ? Lt(e) ? e : (e.length === 0 ? [] : [e]).map((a) => Array.isArray(a) ? a : [a]) : [];
+}
+const Kt = xe({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "Cascader",
+  inheritAttrs: !1,
+  props: De(Ke(), {}),
+  setup(e, a) {
+    let {
+      attrs: t,
+      expose: n,
+      slots: l
+    } = a;
+    const i = ut(pe(e, "id")), r = y(() => !!e.checkable), [d, v] = ke(e.defaultValue, {
+      value: y(() => e.value),
+      postState: Ae
+    }), c = y(() => wt(e.fieldNames)), o = y(() => e.options || []), C = Pt(o, c), P = (u) => {
+      const f = C.value;
+      return u.map((A) => {
+        const {
+          nodes: L
+        } = f[A];
+        return L.map((z) => z[c.value.value]);
+      });
+    }, [b, D] = ke("", {
+      value: y(() => e.searchValue),
+      postState: (u) => u || ""
+    }), m = (u, f) => {
+      D(u), f.source !== "blur" && e.onSearch && e.onSearch(u);
+    }, {
+      showSearch: x,
+      searchConfig: p
+    } = Ot(pe(e, "showSearch")), w = _t(b, o, c, y(() => e.dropdownPrefixCls || e.prefixCls), p, pe(e, "changeOnSelect")), E = At(o, c, d), [O, _, N] = [X([]), X([]), X([])], {
+      maxLevel: $,
+      levelEntities: U
+    } = mt(C);
+    ie(() => {
+      const [u, f] = E.value;
+      if (!r.value || !d.value.length) {
+        [O.value, _.value, N.value] = [u, [], f];
+        return;
+      }
+      const A = se(u), L = C.value, {
+        checkedKeys: z,
+        halfCheckedKeys: re
+      } = Ce(A, !0, L, $.value, U.value);
+      [O.value, _.value, N.value] = [P(z), P(re), f];
+    });
+    const J = y(() => {
+      const u = se(O.value), f = _e(u, C.value, e.showCheckedStrategy);
+      return [...N.value, ...P(f)];
+    }), q = Et(J, o, c, r, pe(e, "displayRender")), M = (u) => {
+      if (v(u), e.onChange) {
+        const f = Ae(u), A = f.map((re) => de(re, o.value, c.value).map((ve) => ve.option)), L = r.value ? f : f[0], z = r.value ? A : A[0];
+        e.onChange(L, z);
+      }
+    }, F = (u) => {
+      if (D(""), !r.value)
+        M(u);
+      else {
+        const f = ee(u), A = se(O.value), L = se(_.value), z = A.includes(f), re = N.value.some((ae) => ee(ae) === f);
+        let ve = O.value, Oe = N.value;
+        if (re && !z)
+          Oe = N.value.filter((ae) => ee(ae) !== f);
+        else {
+          const ae = z ? A.filter((Fe) => Fe !== f) : [...A, f];
+          let ge;
+          z ? {
+            checkedKeys: ge
+          } = Ce(ae, {
+            checked: !1,
+            halfCheckedKeys: L
+          }, C.value, $.value, U.value) : {
+            checkedKeys: ge
+          } = Ce(ae, !0, C.value, $.value, U.value);
+          const Me = _e(ge, C.value, e.showCheckedStrategy);
+          ve = P(Me);
+        }
+        M([...Oe, ...ve]);
+      }
+    }, W = (u, f) => {
+      if (f.type === "clear") {
+        M([]);
+        return;
+      }
+      const {
+        valueCells: A
+      } = f.values[0];
+      F(A);
+    };
+    process.env.NODE_ENV !== "production" && ie(() => {
+      oe(!e.onPopupVisibleChange, "Cascader", "`popupVisibleChange` is deprecated. Please use `dropdownVisibleChange` instead."), oe(e.popupVisible === void 0, "Cascader", "`popupVisible` is deprecated. Please use `open` instead."), oe(e.popupPlacement === void 0, "Cascader", "`popupPlacement` is deprecated. Please use `placement` instead."), oe(e.popupStyle === void 0, "Cascader", "`popupStyle` is deprecated. Please use `dropdownStyle` instead.");
+    });
+    const te = y(() => e.open !== void 0 ? e.open : e.popupVisible), R = y(() => e.dropdownStyle || e.popupStyle || {}), h = y(() => e.placement || e.popupPlacement), I = (u) => {
+      var f, A;
+      (f = e.onDropdownVisibleChange) === null || f === void 0 || f.call(e, u), (A = e.onPopupVisibleChange) === null || A === void 0 || A.call(e, u);
+    }, {
+      changeOnSelect: s,
+      checkable: S,
+      dropdownPrefixCls: g,
+      loadData: V,
+      expandTrigger: K,
+      expandIcon: j,
+      loadingIcon: H,
+      dropdownMenuColumnStyle: Q,
+      customSlots: ne,
+      dropdownClassName: le
+    } = Be(e);
+    Tt({
+      options: o,
+      fieldNames: c,
+      values: O,
+      halfValues: _,
+      changeOnSelect: s,
+      onSelect: F,
+      checkable: S,
+      searchOptions: w,
+      dropdownPrefixCls: g,
+      loadData: V,
+      expandTrigger: K,
+      expandIcon: j,
+      loadingIcon: H,
+      dropdownMenuColumnStyle: Q,
+      customSlots: ne
+    });
+    const B = X();
+    n({
+      focus() {
+        var u;
+        (u = B.value) === null || u === void 0 || u.focus();
+      },
+      blur() {
+        var u;
+        (u = B.value) === null || u === void 0 || u.blur();
+      },
+      scrollTo(u) {
+        var f;
+        (f = B.value) === null || f === void 0 || f.scrollTo(u);
+      }
+    });
+    const G = y(() => we(e, [
+      "id",
+      "prefixCls",
+      "fieldNames",
+      // Value
+      "defaultValue",
+      "value",
+      "changeOnSelect",
+      "onChange",
+      "displayRender",
+      "checkable",
+      // Search
+      "searchValue",
+      "onSearch",
+      "showSearch",
+      // Trigger
+      "expandTrigger",
+      // Options
+      "options",
+      "dropdownPrefixCls",
+      "loadData",
+      // Open
+      "popupVisible",
+      "open",
+      "dropdownClassName",
+      "dropdownMenuColumnStyle",
+      "popupPlacement",
+      "placement",
+      "onDropdownVisibleChange",
+      "onPopupVisibleChange",
+      // Icon
+      "expandIcon",
+      "loadingIcon",
+      "customSlots",
+      "showCheckedStrategy",
+      // Children
+      "children"
+    ]));
+    return () => {
+      const u = !(b.value ? w.value : o.value).length, {
+        dropdownMatchSelectWidth: f = !1
+      } = e, A = (
+        // Search to match width
+        b.value && p.value.matchInputWidth || // Empty keep the width
+        u ? {} : {
+          minWidth: "auto"
+        }
+      );
+      return T(dt, Z(Z(Z({}, G.value), t), {}, {
+        ref: B,
+        id: i,
+        prefixCls: e.prefixCls,
+        dropdownMatchSelectWidth: f,
+        dropdownStyle: k(k({}, R.value), A),
+        displayValues: q.value,
+        onDisplayValuesChange: W,
+        mode: r.value ? "multiple" : void 0,
+        searchValue: b.value,
+        onSearch: m,
+        showSearch: x.value,
+        OptionList: Nt,
+        emptyOptions: u,
+        open: te.value,
+        dropdownClassName: le.value,
+        placement: h.value,
+        onDropdownVisibleChange: I,
+        getRawInputElement: () => {
+          var L;
+          return (L = l.default) === null || L === void 0 ? void 0 : L.call(l);
+        }
+      }), l);
+    };
+  }
+}), Mt = (e) => {
+  const {
+    prefixCls: a,
+    componentCls: t,
+    antCls: n
+  } = e, l = `${t}-menu-item`, i = `
+    &${l}-expand ${l}-expand-icon,
+    ${l}-loading-icon
+  `, r = Math.round((e.controlHeight - e.fontSize * e.lineHeight) / 2);
+  return [
+    // =====================================================
+    // ==                     Control                     ==
+    // =====================================================
+    {
+      [t]: {
+        width: e.controlWidth
+      }
+    },
+    // =====================================================
+    // ==                      Popup                      ==
+    // =====================================================
+    {
+      [`${t}-dropdown`]: [
+        // ==================== Checkbox ====================
+        gt(`${a}-checkbox`, e),
+        {
+          [`&${n}-select-dropdown`]: {
+            padding: 0
+          }
+        },
+        {
+          [t]: {
+            // ================== Checkbox ==================
+            "&-checkbox": {
+              top: 0,
+              marginInlineEnd: e.paddingXS
+            },
+            // ==================== Menu ====================
+            // >>> Menus
+            "&-menus": {
+              display: "flex",
+              flexWrap: "nowrap",
+              alignItems: "flex-start",
+              [`&${t}-menu-empty`]: {
+                [`${t}-menu`]: {
+                  width: "100%",
+                  height: "auto",
+                  [l]: {
+                    color: e.colorTextDisabled
+                  }
+                }
+              }
+            },
+            // >>> Menu
+            "&-menu": {
+              flexGrow: 1,
+              minWidth: e.controlItemWidth,
+              height: e.dropdownHeight,
+              margin: 0,
+              padding: e.paddingXXS,
+              overflow: "auto",
+              verticalAlign: "top",
+              listStyle: "none",
+              "-ms-overflow-style": "-ms-autohiding-scrollbar",
+              "&:not(:last-child)": {
+                borderInlineEnd: `${e.lineWidth}px ${e.lineType} ${e.colorSplit}`
+              },
+              "&-item": k(k({}, Ze), {
+                display: "flex",
+                flexWrap: "nowrap",
+                alignItems: "center",
+                padding: `${r}px ${e.paddingSM}px`,
+                lineHeight: e.lineHeight,
+                cursor: "pointer",
+                transition: `all ${e.motionDurationMid}`,
+                borderRadius: e.borderRadiusSM,
+                "&:hover": {
+                  background: e.controlItemBgHover
+                },
+                "&-disabled": {
+                  color: e.colorTextDisabled,
+                  cursor: "not-allowed",
+                  "&:hover": {
+                    background: "transparent"
+                  },
+                  [i]: {
+                    color: e.colorTextDisabled
+                  }
+                },
+                [`&-active:not(${l}-disabled)`]: {
+                  "&, &:hover": {
+                    fontWeight: e.fontWeightStrong,
+                    backgroundColor: e.controlItemBgActive
+                  }
+                },
+                "&-content": {
+                  flex: "auto"
+                },
+                [i]: {
+                  marginInlineStart: e.paddingXXS,
+                  color: e.colorTextDescription,
+                  fontSize: e.fontSizeIcon
+                },
+                "&-keyword": {
+                  color: e.colorHighlight
+                }
+              })
+            }
+          }
+        }
+      ]
+    },
+    // =====================================================
+    // ==                       RTL                       ==
+    // =====================================================
+    {
+      [`${t}-dropdown-rtl`]: {
+        direction: "rtl"
+      }
+    },
+    // =====================================================
+    // ==             Space Compact                       ==
+    // =====================================================
+    et(e)
+  ];
+}, Ft = Qe("Cascader", (e) => [Mt(e)], {
+  controlWidth: 184,
+  controlItemWidth: 111,
+  dropdownHeight: 180
+});
+var Wt = function(e, a) {
+  var t = {};
+  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && a.indexOf(n) < 0 && (t[n] = e[n]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var l = 0, n = Object.getOwnPropertySymbols(e); l < n.length; l++)
+    a.indexOf(n[l]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[l]) && (t[n[l]] = e[n[l]]);
+  return t;
+};
+function jt(e, a, t) {
+  const n = e.toLowerCase().split(a).reduce((r, d, v) => v === 0 ? [d] : [...r, a, d], []), l = [];
+  let i = 0;
+  return n.forEach((r, d) => {
+    const v = i + r.length;
+    let c = e.slice(i, v);
+    i = v, d % 2 === 1 && (c = T("span", {
+      class: `${t}-menu-item-keyword`,
+      key: "seperator"
+    }, [c])), l.push(c);
+  }), l;
+}
+const Ht = (e) => {
+  let {
+    inputValue: a,
+    path: t,
+    prefixCls: n,
+    fieldNames: l
+  } = e;
+  const i = [], r = a.toLowerCase();
+  return t.forEach((d, v) => {
+    v !== 0 && i.push(" / ");
+    let c = d[l.label];
+    const o = typeof c;
+    (o === "string" || o === "number") && (c = jt(String(c), r, n)), i.push(c);
+  }), i;
+};
+function Bt() {
+  return k(k({}, we(Ke(), ["customSlots", "checkable", "options"])), {
+    multiple: {
+      type: Boolean,
+      default: void 0
+    },
+    size: String,
+    bordered: {
+      type: Boolean,
+      default: void 0
+    },
+    placement: {
+      type: String
+    },
+    suffixIcon: ye.any,
+    status: String,
+    options: Array,
+    popupClassName: String,
+    /** @deprecated Please use `popupClassName` instead */
+    dropdownClassName: String,
+    "onUpdate:value": Function
+  });
+}
+const zt = xe({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ACascader",
+  inheritAttrs: !1,
+  props: De(Bt(), {
+    bordered: !0,
+    choiceTransitionName: "",
+    allowClear: !0
+  }),
+  setup(e, a) {
+    let {
+      attrs: t,
+      expose: n,
+      slots: l,
+      emit: i
+    } = a;
+    process.env.NODE_ENV !== "production" && oe(!e.dropdownClassName, "Cascader", "`dropdownClassName` is deprecated. Please use `popupClassName` instead.");
+    const r = yt(), d = bt.useInject(), v = y(() => Ct(d.status, e.status)), {
+      prefixCls: c,
+      rootPrefixCls: o,
+      getPrefixCls: C,
+      direction: P,
+      getPopupContainer: b,
+      renderEmpty: D,
+      size: m,
+      disabled: x
+    } = nt("cascader", e), p = y(() => C("select", e.prefixCls)), {
+      compactSize: w,
+      compactItemClassnames: E
+    } = lt(p, P), O = y(() => w.value || m.value), _ = at(), N = y(() => {
+      var s;
+      return (s = x.value) !== null && s !== void 0 ? s : _.value;
+    }), [$, U] = pt(p), [J] = Ft(c), q = y(() => P.value === "rtl");
+    process.env.NODE_ENV !== "production" && ie(() => {
+      oe(!e.multiple || !e.displayRender || !l.displayRender, "Cascader", "`displayRender` not work on `multiple`. Please use `tagRender` instead.");
+    });
+    const M = y(() => {
+      if (!e.showSearch)
+        return e.showSearch;
+      let s = {
+        render: Ht
+      };
+      return typeof e.showSearch == "object" && (s = k(k({}, s), e.showSearch)), s;
+    }), F = y(() => ot(e.popupClassName || e.dropdownClassName, `${c.value}-dropdown`, {
+      [`${c.value}-dropdown-rtl`]: q.value
+    }, U.value)), W = X();
+    n({
+      focus() {
+        var s;
+        (s = W.value) === null || s === void 0 || s.focus();
+      },
+      blur() {
+        var s;
+        (s = W.value) === null || s === void 0 || s.blur();
+      }
+    });
+    const te = function() {
+      for (var s = arguments.length, S = new Array(s), g = 0; g < s; g++)
+        S[g] = arguments[g];
+      i("update:value", S[0]), i("change", ...S), r.onFieldChange();
+    }, R = function() {
+      for (var s = arguments.length, S = new Array(s), g = 0; g < s; g++)
+        S[g] = arguments[g];
+      i("blur", ...S), r.onFieldBlur();
+    }, h = y(() => e.showArrow !== void 0 ? e.showArrow : e.loading || !e.multiple), I = y(() => e.placement !== void 0 ? e.placement : P.value === "rtl" ? "bottomRight" : "bottomLeft");
+    return () => {
+      var s, S;
+      const {
+        notFoundContent: g = (s = l.notFoundContent) === null || s === void 0 ? void 0 : s.call(l),
+        expandIcon: V = (S = l.expandIcon) === null || S === void 0 ? void 0 : S.call(l),
+        multiple: K,
+        bordered: j,
+        allowClear: H,
+        choiceTransitionName: Q,
+        transitionName: ne,
+        id: le = r.id.value
+      } = e, B = Wt(e, ["notFoundContent", "expandIcon", "multiple", "bordered", "allowClear", "choiceTransitionName", "transitionName", "id"]), G = g || D("Cascader");
+      let u = V;
+      V || (u = q.value ? T(st, null, null) : T(it, null, null));
+      const f = T("span", {
+        class: `${p.value}-menu-item-loading-icon`
+      }, [T(rt, {
+        spin: !0
+      }, null)]), {
+        suffixIcon: A,
+        removeIcon: L,
+        clearIcon: z
+      } = ht(k(k({}, e), {
+        hasFeedback: d.hasFeedback,
+        feedbackIcon: d.feedbackIcon,
+        multiple: K,
+        prefixCls: p.value,
+        showArrow: h.value
+      }), l);
+      return J($(T(Kt, Z(Z(Z({}, B), t), {}, {
+        id: le,
+        prefixCls: p.value,
+        class: [c.value, {
+          [`${p.value}-lg`]: O.value === "large",
+          [`${p.value}-sm`]: O.value === "small",
+          [`${p.value}-rtl`]: q.value,
+          [`${p.value}-borderless`]: !j,
+          [`${p.value}-in-form-item`]: d.isFormItemInput
+        }, St(p.value, v.value, d.hasFeedback), E.value, t.class, U.value],
+        disabled: N.value,
+        direction: P.value,
+        placement: I.value,
+        notFoundContent: G,
+        allowClear: H,
+        showSearch: M.value,
+        expandIcon: u,
+        inputIcon: A,
+        removeIcon: L,
+        clearIcon: z,
+        loadingIcon: f,
+        checkable: !!K,
+        dropdownClassName: F.value,
+        dropdownPrefixCls: c.value,
+        choiceTransitionName: Ve(o.value, "", Q),
+        transitionName: Ve(o.value, ct(I.value), ne),
+        getPopupContainer: b == null ? void 0 : b.value,
+        customSlots: k(k({}, l), {
+          checkable: () => T("span", {
+            class: `${c.value}-checkbox-inner`
+          }, null)
+        }),
+        tagRender: e.tagRender || l.tagRender,
+        displayRender: e.displayRender || l.displayRender,
+        maxTagPlaceholder: e.maxTagPlaceholder || l.maxTagPlaceholder,
+        showArrow: d.hasFeedback || e.showArrow,
+        onChange: te,
+        onBlur: R,
+        ref: W
+      }), l)));
+    };
+  }
+}), Ee = tt(k(zt, {
+  SHOW_CHILD: Ne,
+  SHOW_PARENT: $e
+})), Xt = { class: "s-cascader-common" }, tn = {
+  __name: "SCascader",
+  props: {
+    // 支持清空
+    clear: {
+      type: Boolean,
+      default: !0
+    },
+    // 默认选中项,支持 v-model 双向绑定
+    modelValue: {
+      type: [String, Array],
+      default() {
+        return "";
+      }
+    },
+    // 占位符 - 文案提示
+    placeholder: {
+      type: String,
+      default: "请选择"
+    },
+    // 树节点数据
+    options: {
+      type: Array,
+      default() {
+        return [];
+      }
+    },
+    // 禁用
+    disabled: {
+      type: Boolean,
+      default: !1
+    },
+    // 菜单展开方式
+    expandTrigger: {
+      type: String,
+      default: "click"
+    },
+    // options 配字段置项
+    fieldNames: {
+      type: Object,
+      default() {
+        return {
+          label: "name",
+          value: "value",
+          children: "children"
+        };
+      }
+    },
+    // 显示数量
+    maxTagCount: {
+      type: Number,
+      default: 1
+    },
+    // 多选
+    multiple: {
+      type: Boolean,
+      default: !0
+    }
+  },
+  setup(e) {
+    const a = e, t = X("");
+    return be(() => a.modelValue, (n) => {
+      n != null && n.length && (t.value = n);
+    }, { immediate: !0 }), (n, l) => {
+      const i = Ee;
+      return ze(), Xe("div", Xt, [
+        T(i, {
+          options: e.options,
+          allowClear: e.clear,
+          disabled: e.disabled,
+          multiple: e.multiple,
+          fieldNames: e.fieldNames,
+          maxTagCount: e.maxTagCount,
+          placeholder: e.placeholder,
+          value: t.value,
+          "onUpdate:value": l[0] || (l[0] = (r) => t.value = r),
+          expandTrigger: e.expandTrigger,
+          showCheckedStrategy: Ue(Ee).SHOW_CHILD,
+          style: { width: "100%" }
+        }, null, 8, ["options", "allowClear", "disabled", "multiple", "fieldNames", "maxTagCount", "placeholder", "value", "expandTrigger", "showCheckedStrategy"])
+      ]);
+    };
+  }
+};
+export {
+  tn as default
+};

+ 235 - 0
lib/js/SCopperUpload.js

@@ -0,0 +1,235 @@
+var C = (l, r, t) => new Promise((m, c) => {
+  var f = (a) => {
+    try {
+      p(t.next(a));
+    } catch (u) {
+      c(u);
+    }
+  }, n = (a) => {
+    try {
+      p(t.throw(a));
+    } catch (u) {
+      c(u);
+    }
+  }, p = (a) => a.done ? m(a.value) : Promise.resolve(a.value).then(f, n);
+  p((t = t.apply(l, r)).next());
+});
+import { ref as i, reactive as z, watch as b, resolveComponent as g, openBlock as I, createElementBlock as x, createElementVNode as d, toDisplayString as D, createCommentVNode as E, createVNode as v, withCtx as k, pushScopeId as A, popScopeId as $ } from "vue";
+import { r as q, v as V } from "./index2.js";
+import { d as F, p as G } from "./upload.js";
+import H from "./CropperModal.js";
+import { _ as K } from "./index6.js";
+import { M as W } from "./index7.js";
+const J = (l) => (A("data-v-31ce420f"), l = l(), $(), l), Q = { class: "s-file-upload-common" }, X = { class: "head" }, Y = {
+  key: 0,
+  class: "label"
+}, Z = /* @__PURE__ */ J(() => /* @__PURE__ */ d("div", null, "图片上传", -1)), ee = { class: "preview-content" }, te = ["src"], oe = {
+  __name: "SCopperUpload",
+  props: {
+    /**
+     * 文件列表
+     * @list
+     */
+    list: {
+      type: Array,
+      default: () => []
+    },
+    /**
+     * 标题
+     * @label
+     */
+    label: {
+      type: String,
+      default: ""
+    },
+    /**
+     * 只读
+     * @readonly
+    */
+    readonly: {
+      type: Boolean,
+      default: !1
+    },
+    /**
+     * 是否显示删除
+     * @delete
+    */
+    showRemoveIcon: {
+      type: Boolean,
+      default: !1
+    },
+    /**
+     * 是否显示新增
+     * @add
+    */
+    add: {
+      type: Boolean,
+      default: !1
+    },
+    maxFileCount: {
+      type: Number,
+      default: 3
+    },
+    sizeLimit: {
+      type: Number,
+      default: 50
+    },
+    options: {
+      type: Object,
+      default: function() {
+        return {
+          autoCrop: !0,
+          // 是否默认生成截图框
+          autoCropWidth: 180,
+          // 默认生成截图框宽度
+          autoCropHeight: 180,
+          // 默认生成截图框高度
+          fixedBox: !1,
+          // 是否固定截图框大小 不允许改变
+          previewsCircle: !1,
+          // 预览图是否是原圆形
+          businessTableName: "sys_user",
+          title: "",
+          invariantId: ""
+        };
+      }
+    },
+    businessTableName: {
+      type: String,
+      default: void 0
+    },
+    businessKey: {
+      type: String,
+      default: void 0
+    }
+  },
+  setup(l) {
+    const r = l, t = i([
+      // {
+      //     uid: '-1',
+      //     name: 'xxx.png',
+      //     status: 'done',
+      //     url: 'https://www.sapit.com.cn/img/title-bg.cbbd159b.png',
+      //     thumbUrl: 'https://www.sapit.com.cn/img/title-bg.cbbd159b.png',
+      // },
+      // {
+      //     uid: '-2',
+      //     name: 'yyy.png',
+      //     status: 'done',
+      //     url: 'https://www.sapit.com.cn/img/title-bg.9b284669.png',
+      //     thumbUrl: 'https://www.sapit.com.cn/img/title-bg.9b284669.png',
+      // }
+    ]), m = i(!1), c = i(""), f = i(""), n = i(0), p = i(!1), a = z({}), u = i(""), w = i();
+    b(() => r.list, (e) => {
+      e && e.length && (t.value = e);
+    }, { immediate: !0 }), b(() => r.options, (e) => {
+      a.value = e;
+    }, { immediate: !0 });
+    const L = (e) => {
+      const o = e.size / 1024 / 1024 < r.sizeLimit;
+      return o || V.warn({
+        key: "only-you",
+        message: "提醒",
+        description: `文件不能大于${r.sizeLimit}MB!`
+      }), o;
+    }, S = (o) => C(this, [o], function* ({ file: e }) {
+      let s = setTimeout(() => {
+        a.value.invariantId = u.value;
+        const h = Object.assign({}, a.value, {
+          img: e.thumbUrl
+        });
+        h.img && w.value.edit(h), clearTimeout(s);
+      }, 500);
+    }), N = ({ file: e }) => {
+      u.value = e.uid;
+    }, O = (e) => {
+      const o = document.createElement("a");
+      o.href = F(e.uid), o.download = "test", o.click();
+    }, U = () => {
+      p.value = !1;
+      for (let e = t.value.length - 1; e >= 0; e--)
+        t.value[e].uid === u.value && t.value[e].status != "done" && t.value.splice(e, 1);
+    }, B = (e, o) => {
+      p.value = !1, t.value && t.value.length > 0 && t.value.forEach((s) => {
+        s.uid == e && (s.status = "done", s.thumbUrl = o, s.url = G(s.uid));
+      });
+    }, M = (e) => {
+      n.value = t.value.findIndex((o) => o.uid === e.uid), m.value = !0, f.value = e.name || "预览", c.value = e.url || e.thumbUrl;
+    }, P = () => {
+      m.value = !1;
+    }, y = (e) => {
+      n.value = n.value + e < 0 ? 0 : n.value + e > t.value.length - 1 ? t.value.length - 1 : n.value + e, f.value = t.value[n.value].name || "预览", c.value = t.value[n.value].url;
+    };
+    return (e, o) => {
+      const s = g("PlusOutlined"), h = K, R = g("LeftOutlined"), T = g("RightOutlined"), j = W;
+      return I(), x("div", Q, [
+        d("div", X, [
+          l.label ? (I(), x("div", Y, D(l.label), 1)) : E("", !0)
+        ]),
+        v(h, {
+          "list-type": "picture-card",
+          accept: ".jpg, .png, .jpeg, .PNG, .gif",
+          onPreview: M,
+          "before-upload": L,
+          "file-list": t.value,
+          "onUpdate:fileList": o[0] || (o[0] = (_) => t.value = _),
+          "custom-request": N,
+          onChange: S,
+          disabled: l.readonly,
+          onDownload: O,
+          showUploadList: {
+            showRemoveIcon: l.showRemoveIcon,
+            showDownloadIcon: !0
+          }
+        }, {
+          default: k(() => [
+            d("span", null, [
+              v(s),
+              Z
+            ])
+          ]),
+          _: 1
+        }, 8, ["file-list", "disabled", "showUploadList"]),
+        v(j, {
+          open: m.value,
+          title: f.value,
+          footer: null,
+          onCancel: P,
+          width: "800px"
+        }, {
+          default: k(() => [
+            d("div", ee, [
+              d("div", {
+                class: "prev",
+                onClick: o[1] || (o[1] = (_) => y(-1))
+              }, [
+                v(R)
+              ]),
+              d("img", {
+                alt: "example",
+                class: "view",
+                src: c.value
+              }, null, 8, te),
+              d("div", {
+                class: "next",
+                onClick: o[2] || (o[2] = (_) => y(1))
+              }, [
+                v(T)
+              ])
+            ])
+          ]),
+          _: 1
+        }, 8, ["open", "title"]),
+        v(H, {
+          ref_key: "cropperModal",
+          ref: w,
+          onCropperNo: U,
+          onCropperOk: B
+        }, null, 512)
+      ]);
+    };
+  }
+}, re = /* @__PURE__ */ q(oe, [["__scopeId", "data-v-31ce420f"]]);
+export {
+  re as default
+};

+ 209 - 0
lib/js/SDraggerUpload.js

@@ -0,0 +1,209 @@
+import { ref as u, watch as O, resolveComponent as v, openBlock as w, createElementBlock as g, createElementVNode as a, toDisplayString as T, createCommentVNode as j, createVNode as c, withCtx as y, pushScopeId as q, popScopeId as z } from "vue";
+import { r as A, v as E } from "./index2.js";
+import { a as F, d as M, b as $ } from "./upload.js";
+import { U as P } from "./index6.js";
+import { M as H } from "./index7.js";
+const b = (n) => (q("data-v-6353f81e"), n = n(), z(), n), V = { class: "s-file-upload-common" }, G = { class: "head" }, K = {
+  key: 0,
+  class: "label"
+}, X = { class: "ant-upload-drag-icon" }, J = /* @__PURE__ */ b(() => /* @__PURE__ */ a("p", { class: "ant-upload-text" }, "点击或拖入文件到此处", -1)), Q = /* @__PURE__ */ b(() => /* @__PURE__ */ a("p", { class: "ant-upload-hint" }, "支持单个或批量上传", -1)), W = { class: "preview-content" }, Y = ["src"], Z = /* @__PURE__ */ Object.assign({
+  inheritAttrs: !0
+}, {
+  __name: "SDraggerUpload",
+  props: {
+    /**
+     * 文件列表
+     * @list
+     */
+    list: {
+      type: Array,
+      default: () => []
+    },
+    /**
+     * 标题
+     * @label
+     */
+    label: {
+      type: String,
+      default: ""
+    },
+    /**
+     * 只读
+     * @readonly
+    */
+    readonly: {
+      type: Boolean,
+      default: !1
+    },
+    /**
+     * 是否显示删除
+     * @delete
+    */
+    showRemoveIcon: {
+      type: Boolean,
+      default: !1
+    },
+    /**
+     * 是否显示新增
+     * @isAdd
+    */
+    isAdd: {
+      type: Boolean,
+      default: !0
+    },
+    /**
+     * 文件类型
+     * @accept
+    */
+    accept: {
+      type: String,
+      default: ""
+    },
+    // 展示类型 picture | picture-card 注:规范内不设定text上传类型
+    listType: {
+      type: String,
+      default: "picture"
+    },
+    maxFileCount: {
+      type: Number,
+      default: 3
+    },
+    sizeLimit: {
+      type: Number,
+      default: 50
+    },
+    businessTableName: {
+      type: String,
+      default: "sapit-ui-plus-components-upload"
+    },
+    businessKey: {
+      type: String,
+      default: void 0
+    },
+    showUploadList: {
+      type: Boolean,
+      default: !0
+    }
+  },
+  setup(n) {
+    const s = n, o = u([]), d = u(!1), p = u(""), r = u(""), l = u(0);
+    O(() => s.list, (e) => {
+      e && e.length && (o.value = e);
+    }, { immediate: !0 });
+    const _ = (e) => {
+      console.log(s.sizeLimit);
+      const t = e.size / 1024 / 1024 < s.sizeLimit;
+      return t || E.warn({
+        key: "only-you",
+        message: "提醒",
+        description: `文件不能大于${s.sizeLimit}MB!`
+      }), t;
+    }, x = ({ onSuccess: e, onError: t, file: i }) => {
+      F(i, s.businessTableName, i.uid).then(() => {
+        e();
+      }).catch(() => {
+        o.value.splice(o.value.length - 1, 1), t();
+      });
+    }, L = (e) => {
+      o.value = e.fileList;
+    };
+    function C(e) {
+      console.log(e);
+    }
+    const U = (e) => {
+      l.value = o.value.findIndex((t) => t.uid === e.uid), d.value = !0, r.value = e.name || "预览", p.value = e.url || e.thumbUrl;
+    }, R = (e) => {
+      const t = document.createElement("a");
+      t.href = M(e.uid), t.download = "test", t.click();
+    }, S = () => {
+      d.value = !1;
+    }, h = (e) => {
+      var t;
+      l.value = l.value + e < 0 ? 0 : l.value + e > o.value.length - 1 ? o.value.length - 1 : l.value + e, (t = o.value[l.value]) != null && t.thumbUrl ? (r.value = o.value[l.value].name || "预览", p.value = o.value[l.value].thumbUrl) : D(o.value[l.value]);
+    }, D = (e) => {
+      if (e.type.includes("office")) {
+        const t = window.open("", "");
+        t.location = $(e.uid + "/" + e.name);
+      } else if (e.type.includes("text"))
+        k(e.url);
+      else if (e.type.includes("pdf") || e.type.includes("png") || e.type.includes("gif") || e.type.includes("jpeg") || e.type.includes("bmp") || e.type.includes("ico") || e.type.includes("webp")) {
+        const t = window.open("", "");
+        t.location = e.url;
+      } else
+        this.$notification.warning({
+          message: "不支持此文件类型"
+        });
+    }, k = (e) => {
+      const t = new XMLHttpRequest();
+      t.open("GET", e, !0), t.responseType = "blob", t.setRequestHeader("Content-Type", "application/json"), t.onload = function() {
+        const i = new Blob([t.response], { type: "application/json;charset=utf-8" }), m = window.URL.createObjectURL(i), f = window.open("", "");
+        f.location = m;
+      }, t.send();
+    };
+    return (e, t) => {
+      const i = v("inbox-outlined"), m = P, f = v("LeftOutlined"), B = v("RightOutlined"), I = H;
+      return w(), g("div", V, [
+        a("div", G, [
+          n.label ? (w(), g("div", K, T(n.label), 1)) : j("", !0)
+        ]),
+        c(m, {
+          accept: n.accept,
+          "list-type": "picture",
+          "file-list": o.value,
+          disabled: n.readonly,
+          maxCount: n.maxFileCount,
+          multiple: n.maxFileCount > 1,
+          "before-upload": _,
+          "custom-request": x,
+          onDrop: C,
+          onChange: L,
+          onPreview: U,
+          onDownload: R,
+          showUploadList: n.showUploadList
+        }, {
+          default: y(() => [
+            a("p", X, [
+              c(i)
+            ]),
+            J,
+            Q
+          ]),
+          _: 1
+        }, 8, ["accept", "file-list", "disabled", "maxCount", "multiple", "showUploadList"]),
+        c(I, {
+          open: d.value,
+          title: r.value,
+          footer: null,
+          onCancel: S,
+          width: "800px"
+        }, {
+          default: y(() => [
+            a("div", W, [
+              a("div", {
+                class: "prev",
+                onClick: t[0] || (t[0] = (N) => h(-1))
+              }, [
+                c(f)
+              ]),
+              a("img", {
+                alt: "example",
+                class: "view",
+                src: p.value
+              }, null, 8, Y),
+              a("div", {
+                class: "next",
+                onClick: t[1] || (t[1] = (N) => h(1))
+              }, [
+                c(B)
+              ])
+            ])
+          ]),
+          _: 1
+        }, 8, ["open", "title"])
+      ]);
+    };
+  }
+}), ae = /* @__PURE__ */ A(Z, [["__scopeId", "data-v-6353f81e"]]);
+export {
+  ae as default
+};

File diff suppressed because it is too large
+ 20 - 0
lib/js/SEditor.js


+ 72 - 0
lib/js/SEmpty.js

@@ -0,0 +1,72 @@
+import { getCurrentInstance as u, ref as l, onMounted as m, openBlock as s, createElementBlock as a, createVNode as _, withCtx as y, renderSlot as f, toDisplayString as E } from "vue";
+import { r as g, s as o } from "./index2.js";
+const S = { class: "s-empty-common" }, v = {
+  key: 0,
+  class: "description"
+}, I = {
+  key: 1,
+  class: "description"
+}, h = {
+  __name: "SEmpty",
+  props: {
+    /**
+     * icon类型
+     * @type
+    */
+    type: {
+      type: [String, Number],
+      default: 1
+    },
+    /**
+     * 提示信息
+     * @icon
+    */
+    icon: {
+      type: [String, Object],
+      default: ""
+    },
+    /**
+     * 描述信息
+     * @desc
+    */
+    desc: {
+      type: [String, Boolean],
+      default() {
+      }
+    },
+    /**
+     * 图片样式
+     * @desc
+    */
+    iconStyle: {
+      type: Object,
+      default() {
+        return {};
+      }
+    }
+  },
+  setup(c) {
+    const r = u(), { $l: i } = r.appContext.config.globalProperties, e = c, t = l(""), n = l("");
+    return m(() => {
+      e.icon ? t.value = e.icon : parseInt(e.type) === 1 ? t.value = o.PRESENTED_IMAGE_DEFAULT : parseInt(e.type) === 2 ? t.value = o.PRESENTED_IMAGE_SIMPLE : (t.value = o.PRESENTED_IMAGE_DEFAULT, console.warn('内置type类型为:1 或者 2,如需其他类型,请使用icon属性,例如:icon="https://xxx.png')), e.desc === void 0 ? n.value = i("暂无数据", "components.empty") : typeof e.desc == "string" ? n.value = e.desc.trim() : n.value = i("暂无数据", "components.empty");
+    }), (p, x) => {
+      const d = o;
+      return s(), a("div", S, [
+        _(d, {
+          image: t.value,
+          imageStyle: c.iconStyle
+        }, {
+          description: y(() => [
+            p.$slots.default ? (s(), a("span", v, [
+              f(p.$slots, "default", {}, void 0, !0)
+            ])) : (s(), a("span", I, E(n.value), 1))
+          ]),
+          _: 3
+        }, 8, ["image", "imageStyle"])
+      ]);
+    };
+  }
+}, M = /* @__PURE__ */ g(h, [["__scopeId", "data-v-a3108dac"]]);
+export {
+  M as default
+};

+ 224 - 0
lib/js/SFileUpload.js

@@ -0,0 +1,224 @@
+import { ref as d, watch as $, onMounted as q, resolveComponent as b, openBlock as s, createElementBlock as u, withModifiers as x, toDisplayString as f, createCommentVNode as c, createVNode as o, withCtx as g, createTextVNode as P, createElementVNode as p } from "vue";
+import { r as j, v as z, B as D } from "./index2.js";
+import { a as E, d as I, b as V } from "./upload.js";
+import { M as H } from "./index7.js";
+import { _ as G } from "./index6.js";
+const K = { class: "s-file-upload-common" }, X = {
+  key: 0,
+  class: "head"
+}, J = {
+  key: 0,
+  class: "head"
+}, Q = { key: 1 }, W = { class: "preview-content" }, Y = ["src"], Z = {
+  __name: "SFileUpload",
+  props: {
+    /**
+     * 文件列表
+     * @list
+     */
+    list: {
+      type: Array,
+      default: () => []
+    },
+    /**
+     * 标题
+     * @label
+     */
+    label: {
+      type: String,
+      default: ""
+    },
+    /**
+     * 只读
+     * @readonly
+    */
+    readonly: {
+      type: Boolean,
+      default: !1
+    },
+    /**
+     * 是否显示删除
+     * @delete
+    */
+    showRemoveIcon: {
+      type: Boolean,
+      default: !1
+    },
+    /**
+     * 是否显示新增
+     * @isAdd
+    */
+    isAdd: {
+      type: Boolean,
+      default: !0
+    },
+    /**
+     * 文件类型
+     * @accept
+    */
+    accept: {
+      type: String,
+      default: ""
+    },
+    // 展示类型 picture | picture-card 注:规范内不设定text上传类型
+    listType: {
+      type: String,
+      default: "picture"
+    },
+    maxFileCount: {
+      type: Number,
+      default: 3
+    },
+    sizeLimit: {
+      type: Number,
+      default: 50
+    },
+    businessTableName: {
+      type: String,
+      default: "sapit-ui-plus-components-upload"
+    },
+    businessKey: {
+      type: String,
+      default: void 0
+    },
+    showUploadList: {
+      type: Boolean,
+      default: !0
+    }
+  },
+  setup(l) {
+    const m = l, n = d([]), r = d(!1), y = d(""), w = d(""), a = d(0);
+    $(() => m.list, (e) => {
+      e && e.length && (n.value = e);
+    }, { immediate: !0 });
+    const L = (e) => {
+      const t = e.size / 1024 / 1024 < m.sizeLimit;
+      return t || z.warn({
+        key: "only-you",
+        message: "提醒",
+        description: `文件不能大于${m.sizeLimit}MB!`
+      }), t;
+    }, k = (e) => {
+      n.value = e.fileList;
+    }, U = ({ onSuccess: e, onError: t, file: i }) => {
+      E(i, m.businessTableName, i.uid).then((v) => {
+        e();
+      }).catch(() => {
+        n.value.splice(n.value.length - 1, 1), t();
+      });
+    }, T = (e) => {
+      const t = document.createElement("a");
+      t.href = I(e.uid), t.download = "test", t.click();
+    }, R = (e) => {
+      a.value = n.value.findIndex((t) => t.uid === e.uid), r.value = !0, w.value = e.name || "预览", y.value = e.url || e.thumbUrl;
+    }, B = () => {
+      r.value = !1;
+    }, C = (e) => {
+      var t;
+      a.value = a.value + e < 0 ? 0 : a.value + e > n.value.length - 1 ? n.value.length - 1 : a.value + e, (t = n.value[a.value]) != null && t.thumbUrl ? (w.value = n.value[a.value].name || "预览", y.value = n.value[a.value].thumbUrl) : F(n.value[a.value]);
+    }, F = (e) => {
+      if (e.type.includes("office")) {
+        const t = window.open("", "");
+        t.location = V(e.uid + "/" + e.name);
+      } else if (e.type.includes("text"))
+        N(e.url);
+      else if (e.type.includes("pdf") || e.type.includes("png") || e.type.includes("gif") || e.type.includes("jpeg") || e.type.includes("bmp") || e.type.includes("ico") || e.type.includes("webp")) {
+        const t = window.open("", "");
+        t.location = e.url;
+      } else
+        this.$notification.warning({
+          message: "不支持此文件类型"
+        });
+    }, N = (e) => {
+      const t = new XMLHttpRequest();
+      t.open("GET", e, !0), t.responseType = "blob", t.setRequestHeader("Content-Type", "application/json"), t.onload = function() {
+        const i = new Blob([t.response], { type: "application/json;charset=utf-8" }), v = window.URL.createObjectURL(i), h = window.open("", "");
+        h.location = v;
+      }, t.send();
+    };
+    return q(() => {
+    }), (e, t) => {
+      const i = b("PlusOutlined"), v = D, h = G, O = b("LeftOutlined"), S = b("RightOutlined"), A = H;
+      return s(), u("div", K, [
+        l.isAdd && l.listType === "picture-card" && n.value.length <= l.maxFileCount ? (s(), u("div", X, [
+          l.label ? (s(), u("div", {
+            key: 0,
+            class: "label",
+            onClick: t[0] || (t[0] = x(() => {
+            }, ["stop"]))
+          }, f(l.label), 1)) : c("", !0)
+        ])) : c("", !0),
+        o(h, {
+          accept: l.accept,
+          "list-type": l.listType,
+          "file-list": n.value,
+          disabled: l.readonly,
+          maxCount: l.maxFileCount,
+          multiple: l.maxFileCount > 1,
+          "before-upload": L,
+          "custom-request": U,
+          onChange: k,
+          onPreview: R,
+          onDownload: T,
+          showUploadList: l.showUploadList
+        }, {
+          default: g(() => [
+            l.isAdd && l.listType === "picture" && n.value.length <= l.maxFileCount ? (s(), u("div", J, [
+              l.label ? (s(), u("div", {
+                key: 0,
+                class: "label",
+                onClick: t[1] || (t[1] = x(() => {
+                }, ["stop"]))
+              }, f(l.label), 1)) : c("", !0),
+              o(v, null, {
+                default: g(() => [
+                  o(i),
+                  P(" " + f(e.$l("点击上传", "components.upload")), 1)
+                ]),
+                _: 1
+              })
+            ])) : c("", !0),
+            l.isAdd && l.listType === "picture-card" && n.value.length <= l.maxFileCount ? (s(), u("span", Q, [
+              o(i),
+              p("div", null, f(e.$l("点击上传", "components.upload")), 1)
+            ])) : c("", !0)
+          ]),
+          _: 1
+        }, 8, ["accept", "list-type", "file-list", "disabled", "maxCount", "multiple", "showUploadList"]),
+        o(A, {
+          open: r.value,
+          title: w.value,
+          footer: null,
+          onCancel: B,
+          width: "800px"
+        }, {
+          default: g(() => [
+            p("div", W, [
+              p("div", {
+                class: "prev",
+                onClick: t[2] || (t[2] = (M) => C(-1))
+              }, [
+                o(O)
+              ]),
+              p("img", {
+                alt: "example",
+                class: "view",
+                src: y.value
+              }, null, 8, Y),
+              p("div", {
+                class: "next",
+                onClick: t[3] || (t[3] = (M) => C(1))
+              }, [
+                o(S)
+              ])
+            ])
+          ]),
+          _: 1
+        }, 8, ["open", "title"])
+      ]);
+    };
+  }
+}, ae = /* @__PURE__ */ j(Z, [["__scopeId", "data-v-9a944142"]]);
+export {
+  ae as default
+};

+ 71 - 0
lib/js/SSideMenu.js

@@ -0,0 +1,71 @@
+import { ref as u, reactive as v, watch as k, onMounted as b, resolveComponent as i, openBlock as d, createElementBlock as M, createElementVNode as m, createVNode as S, normalizeStyle as O, createBlock as y } from "vue";
+import { c as g } from "./routeConvert.js";
+import { r as w, aM as E, aN as x } from "./index2.js";
+const C = { class: "s-menu-common" }, D = { class: "menu-wrap" }, N = {
+  __name: "SSideMenu",
+  emits: ["collapsed"],
+  setup(U, { emit: _ }) {
+    const f = _, r = u([]), l = u(""), e = v({
+      collapsed: !1,
+      selectedKeys: ["1"],
+      openKeys: ["sub1"],
+      preOpenKeys: ["sub1"]
+    });
+    k(
+      () => e.openKeys,
+      (t, s) => {
+        e.preOpenKeys = s;
+      }
+    );
+    const p = (t) => t.map((o) => {
+      const n = {
+        key: o.path,
+        // icon: item.icon ? () => h(item.icon) : null,
+        icon: null,
+        label: o.name || o.meta.title,
+        title: o.name || o,
+        path: o.path
+      };
+      return o.children && (n.children = p(o.children)), n;
+    }), h = () => {
+      e.collapsed = !e.collapsed, e.openKeys = e.collapsed ? [] : e.preOpenKeys, f("collapsed", e.collapsed);
+    }, K = (t) => {
+      window.$push(t.key);
+    };
+    return b(() => {
+      l.value = window.$utils.env.VITE_APP_MENU_THEME || "dark";
+      const s = E().dynamics, o = g(s.find((c) => c.path === "/")), n = o && o.children || [];
+      r.value = p(n.filter((c) => !c.meta.hidden));
+    }), (t, s) => {
+      const o = x, n = i("DoubleRightOutlined"), c = i("DoubleLeftOutlined");
+      return d(), M("div", C, [
+        m("div", D, [
+          S(o, {
+            openKeys: e.openKeys,
+            "onUpdate:openKeys": s[0] || (s[0] = (a) => e.openKeys = a),
+            selectedKeys: e.selectedKeys,
+            "onUpdate:selectedKeys": s[1] || (s[1] = (a) => e.selectedKeys = a),
+            mode: "inline",
+            theme: l.value,
+            items: r.value,
+            onSelect: K
+          }, null, 8, ["openKeys", "selectedKeys", "theme", "items"])
+        ]),
+        m("div", {
+          class: "right-border-btn",
+          style: O({
+            backgroundColor: l.value === "dark" ? "#001529" : "#fff",
+            color: l.value === "dark" ? "#fff" : "#000000A6",
+            border: `1px solid ${l.value === "dark" ? "#001529" : "#ececec"}`
+          }),
+          onClick: h
+        }, [
+          e.collapsed ? (d(), y(n, { key: 0 })) : (d(), y(c, { key: 1 }))
+        ], 4)
+      ]);
+    };
+  }
+}, T = /* @__PURE__ */ w(N, [["__scopeId", "data-v-c7d52ebe"]]);
+export {
+  T as default
+};

+ 58 - 0
lib/js/STopMenu.js

@@ -0,0 +1,58 @@
+import { ref as d, reactive as u, watch as m, onMounted as i, openBlock as _, createElementBlock as y, createElementVNode as h, createVNode as K } from "vue";
+import { c as f } from "./routeConvert.js";
+import { r as v, aM as M, aN as w } from "./index2.js";
+const E = { class: "s-menu-common" }, k = { class: "menu-wrap" }, S = {
+  __name: "STopMenu",
+  emits: ["collapsed"],
+  setup(T, { emit: b }) {
+    const c = d([]), l = d(""), n = u({
+      collapsed: !1,
+      selectedKeys: ["1"],
+      openKeys: ["sub1"],
+      preOpenKeys: ["sub1"]
+    });
+    m(
+      () => n.openKeys,
+      (o, s) => {
+        n.preOpenKeys = s;
+      }
+    );
+    const r = (o) => o.map((e) => {
+      const t = {
+        key: e.path,
+        // icon: item.icon ? () => h(item.icon) : null,
+        icon: null,
+        label: e.name || e.meta.title,
+        title: e.name || e,
+        path: e.path
+      };
+      return e.children && (t.children = r(e.children)), t;
+    }), p = (o) => {
+      window.$push(o.key);
+    };
+    return i(() => {
+      l.value = window.$utils.env.VITE_APP_MENU_THEME || "dark";
+      const s = M().dynamics, e = f(s.find((a) => a.path === "/")), t = e && e.children || [];
+      c.value = r(t.filter((a) => !a.meta.hidden));
+    }), (o, s) => {
+      const e = w;
+      return _(), y("div", E, [
+        h("div", k, [
+          K(e, {
+            openKeys: n.openKeys,
+            "onUpdate:openKeys": s[0] || (s[0] = (t) => n.openKeys = t),
+            selectedKeys: n.selectedKeys,
+            "onUpdate:selectedKeys": s[1] || (s[1] = (t) => n.selectedKeys = t),
+            mode: "horizontal",
+            theme: l.value,
+            items: c.value,
+            onSelect: p
+          }, null, 8, ["openKeys", "selectedKeys", "theme", "items"])
+        ])
+      ]);
+    };
+  }
+}, V = /* @__PURE__ */ v(S, [["__scopeId", "data-v-d34b8d4d"]]);
+export {
+  V as default
+};

+ 569 - 0
lib/js/STree.js

@@ -0,0 +1,569 @@
+var G = (e, f, d) => new Promise((a, l) => {
+  var i = (r) => {
+    try {
+      c(d.next(r));
+    } catch (y) {
+      l(y);
+    }
+  }, o = (r) => {
+    try {
+      c(d.throw(r));
+    } catch (y) {
+      l(y);
+    }
+  }, c = (r) => r.done ? a(r.value) : Promise.resolve(r.value).then(i, o);
+  c((d = d.apply(e, f)).next());
+});
+import { createVNode as S, defineComponent as oe, ref as E, computed as K, watchEffect as fe, watch as Q, onUpdated as ve, nextTick as ye, onMounted as he, openBlock as W, createElementBlock as ee, withCtx as F, createElementVNode as te, normalizeClass as pe, toDisplayString as j, createBlock as Ke, createTextVNode as xe } from "vue";
+import { b as de, w as me, j as ce, d as ke, _ as m, o as be, $ as X, a as P, m as se, F as Y, D as g, T as C, C as B, P as ne, e as _e, aQ as ge, aR as Ee, aS as we, r as Te, H as Ne } from "./index2.js";
+import { d as Se } from "./debounce.js";
+import { u as De, T as Ce, r as Oe, t as Ie, V as Pe } from "./index8.js";
+import { b as le, f as Ae, c as $e, d as Fe } from "./index4.js";
+const ae = 4;
+function je(e) {
+  const {
+    dropPosition: f,
+    dropLevelOffset: d,
+    prefixCls: a,
+    indent: l,
+    direction: i = "ltr"
+  } = e, o = i === "ltr" ? "left" : "right", c = i === "ltr" ? "right" : "left", r = {
+    [o]: `${-d * l + ae}px`,
+    [c]: 0
+  };
+  switch (f) {
+    case -1:
+      r.top = "-3px";
+      break;
+    case 1:
+      r.bottom = "-3px";
+      break;
+    default:
+      r.bottom = "-3px", r[o] = `${l + ae}px`;
+      break;
+  }
+  return S("div", {
+    style: r,
+    class: `${a}-drop-indicator`
+  }, null);
+}
+const ie = () => {
+  const e = Ie();
+  return m(m({}, e), {
+    showLine: Y([Boolean, Object]),
+    /** 是否支持多选 */
+    multiple: g(),
+    /** 是否自动展开父节点 */
+    autoExpandParent: g(),
+    /** checkable状态下节点选择完全受控(父子节点选中状态不再关联)*/
+    checkStrictly: g(),
+    /** 是否支持选中 */
+    checkable: g(),
+    /** 是否禁用树 */
+    disabled: g(),
+    /** 默认展开所有树节点 */
+    defaultExpandAll: g(),
+    /** 默认展开对应树节点 */
+    defaultExpandParent: g(),
+    /** 默认展开指定的树节点 */
+    defaultExpandedKeys: C(),
+    /** (受控)展开指定的树节点 */
+    expandedKeys: C(),
+    /** (受控)选中复选框的树节点 */
+    checkedKeys: Y([Array, Object]),
+    /** 默认选中复选框的树节点 */
+    defaultCheckedKeys: C(),
+    /** (受控)设置选中的树节点 */
+    selectedKeys: C(),
+    /** 默认选中的树节点 */
+    defaultSelectedKeys: C(),
+    selectable: g(),
+    loadedKeys: C(),
+    draggable: g(),
+    showIcon: g(),
+    icon: B(),
+    switcherIcon: ne.any,
+    prefixCls: String,
+    /**
+     * @default{title,key,children}
+     * deprecated, please use `fieldNames` instead
+     * 替换treeNode中 title,key,children字段为treeData中对应的字段
+     */
+    replaceFields: _e(),
+    blockNode: g(),
+    openAnimation: ne.any,
+    onDoubleclick: e.onDblclick,
+    "onUpdate:selectedKeys": B(),
+    "onUpdate:checkedKeys": B(),
+    "onUpdate:expandedKeys": B()
+  });
+}, U = oe({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ATree",
+  inheritAttrs: !1,
+  props: de(ie(), {
+    checkable: !1,
+    selectable: !0,
+    showIcon: !1,
+    blockNode: !1
+  }),
+  slots: Object,
+  setup(e, f) {
+    let {
+      attrs: d,
+      expose: a,
+      emit: l,
+      slots: i
+    } = f;
+    me(!(e.treeData === void 0 && i.default), "`children` of Tree is deprecated. Please use `treeData` instead.");
+    const {
+      prefixCls: o,
+      direction: c,
+      virtual: r
+    } = ce("tree", e), [y, w] = De(o), u = E();
+    a({
+      treeRef: u,
+      onNodeExpand: function() {
+        var n;
+        (n = u.value) === null || n === void 0 || n.onNodeExpand(...arguments);
+      },
+      scrollTo: (n) => {
+        var h;
+        (h = u.value) === null || h === void 0 || h.scrollTo(n);
+      },
+      selectedKeys: K(() => {
+        var n;
+        return (n = u.value) === null || n === void 0 ? void 0 : n.selectedKeys;
+      }),
+      checkedKeys: K(() => {
+        var n;
+        return (n = u.value) === null || n === void 0 ? void 0 : n.checkedKeys;
+      }),
+      halfCheckedKeys: K(() => {
+        var n;
+        return (n = u.value) === null || n === void 0 ? void 0 : n.halfCheckedKeys;
+      }),
+      loadedKeys: K(() => {
+        var n;
+        return (n = u.value) === null || n === void 0 ? void 0 : n.loadedKeys;
+      }),
+      loadingKeys: K(() => {
+        var n;
+        return (n = u.value) === null || n === void 0 ? void 0 : n.loadingKeys;
+      }),
+      expandedKeys: K(() => {
+        var n;
+        return (n = u.value) === null || n === void 0 ? void 0 : n.expandedKeys;
+      })
+    }), fe(() => {
+      ke(e.replaceFields === void 0, "Tree", "`replaceFields` is deprecated, please use fieldNames instead");
+    });
+    const v = (n, h) => {
+      l("update:checkedKeys", n), l("check", n, h);
+    }, T = (n, h) => {
+      l("update:expandedKeys", n), l("expand", n, h);
+    }, k = (n, h) => {
+      l("update:selectedKeys", n), l("select", n, h);
+    };
+    return () => {
+      const {
+        showIcon: n,
+        showLine: h,
+        switcherIcon: L = i.switcherIcon,
+        icon: R = i.icon,
+        blockNode: M,
+        checkable: H,
+        selectable: A,
+        fieldNames: O = e.replaceFields,
+        motion: z = e.openAnimation,
+        itemHeight: t = 28,
+        onDoubleclick: s,
+        onDblclick: p
+      } = e, I = m(m(m({}, d), be(e, ["onUpdate:checkedKeys", "onUpdate:expandedKeys", "onUpdate:selectedKeys", "onDoubleclick"])), {
+        showLine: !!h,
+        dropIndicatorRender: je,
+        fieldNames: O,
+        icon: R,
+        itemHeight: t
+      }), b = i.default ? X(i.default()) : void 0;
+      return y(S(Ce, P(P({}, I), {}, {
+        virtual: r.value,
+        motion: z,
+        ref: u,
+        prefixCls: o.value,
+        class: se({
+          [`${o.value}-icon-hide`]: !n,
+          [`${o.value}-block-node`]: M,
+          [`${o.value}-unselectable`]: !A,
+          [`${o.value}-rtl`]: c.value === "rtl"
+        }, d.class, w.value),
+        direction: c.value,
+        checkable: H,
+        selectable: A,
+        switcherIcon: (D) => Oe(o.value, L, D, i.leafIcon, h),
+        onCheck: v,
+        onExpand: T,
+        onSelect: k,
+        onDblclick: p || s,
+        children: b
+      }), m(m({}, i), {
+        checkable: () => S("span", {
+          class: `${o.value}-checkbox-inner`
+        }, null)
+      })));
+    };
+  }
+});
+var N;
+(function(e) {
+  e[e.None = 0] = "None", e[e.Start = 1] = "Start", e[e.End = 2] = "End";
+})(N || (N = {}));
+function Z(e, f, d) {
+  function a(l) {
+    const i = l[f.key], o = l[f.children];
+    d(i, l) !== !1 && Z(o || [], f, d);
+  }
+  e.forEach(a);
+}
+function Be(e) {
+  let {
+    treeData: f,
+    expandedKeys: d,
+    startKey: a,
+    endKey: l,
+    fieldNames: i = {
+      title: "title",
+      key: "key",
+      children: "children"
+    }
+  } = e;
+  const o = [];
+  let c = N.None;
+  if (a && a === l)
+    return [a];
+  if (!a || !l)
+    return [];
+  function r(y) {
+    return y === a || y === l;
+  }
+  return Z(f, i, (y) => {
+    if (c === N.End)
+      return !1;
+    if (r(y)) {
+      if (o.push(y), c === N.None)
+        c = N.Start;
+      else if (c === N.Start)
+        return c = N.End, !1;
+    } else c === N.Start && o.push(y);
+    return d.includes(y);
+  }), o;
+}
+function q(e, f, d) {
+  const a = [...f], l = [];
+  return Z(e, d, (i, o) => {
+    const c = a.indexOf(i);
+    return c !== -1 && (l.push(o), a.splice(c, 1)), !!a.length;
+  }), l;
+}
+var Ue = function(e, f) {
+  var d = {};
+  for (var a in e) Object.prototype.hasOwnProperty.call(e, a) && f.indexOf(a) < 0 && (d[a] = e[a]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var l = 0, a = Object.getOwnPropertySymbols(e); l < a.length; l++)
+    f.indexOf(a[l]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[l]) && (d[a[l]] = e[a[l]]);
+  return d;
+};
+const Ve = () => m(m({}, ie()), {
+  expandAction: Y([Boolean, String])
+});
+function Le(e) {
+  const {
+    isLeaf: f,
+    expanded: d
+  } = e;
+  return f ? S(ge, null, null) : d ? S(Ee, null, null) : S(we, null, null);
+}
+const V = oe({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ADirectoryTree",
+  inheritAttrs: !1,
+  props: de(Ve(), {
+    showIcon: !0,
+    expandAction: "click"
+  }),
+  slots: Object,
+  // emits: [
+  //   'update:selectedKeys',
+  //   'update:checkedKeys',
+  //   'update:expandedKeys',
+  //   'expand',
+  //   'select',
+  //   'check',
+  //   'doubleclick',
+  //   'dblclick',
+  //   'click',
+  // ],
+  setup(e, f) {
+    let {
+      attrs: d,
+      slots: a,
+      emit: l,
+      expose: i
+    } = f;
+    var o;
+    const c = E(e.treeData || le(X((o = a.default) === null || o === void 0 ? void 0 : o.call(a))));
+    Q(() => e.treeData, () => {
+      c.value = e.treeData;
+    }), ve(() => {
+      ye(() => {
+        var t;
+        e.treeData === void 0 && a.default && (c.value = le(X((t = a.default) === null || t === void 0 ? void 0 : t.call(a))));
+      });
+    });
+    const r = E(), y = E(), w = K(() => Ae(e.fieldNames)), u = E();
+    i({
+      scrollTo: (t) => {
+        var s;
+        (s = u.value) === null || s === void 0 || s.scrollTo(t);
+      },
+      selectedKeys: K(() => {
+        var t;
+        return (t = u.value) === null || t === void 0 ? void 0 : t.selectedKeys;
+      }),
+      checkedKeys: K(() => {
+        var t;
+        return (t = u.value) === null || t === void 0 ? void 0 : t.checkedKeys;
+      }),
+      halfCheckedKeys: K(() => {
+        var t;
+        return (t = u.value) === null || t === void 0 ? void 0 : t.halfCheckedKeys;
+      }),
+      loadedKeys: K(() => {
+        var t;
+        return (t = u.value) === null || t === void 0 ? void 0 : t.loadedKeys;
+      }),
+      loadingKeys: K(() => {
+        var t;
+        return (t = u.value) === null || t === void 0 ? void 0 : t.loadingKeys;
+      }),
+      expandedKeys: K(() => {
+        var t;
+        return (t = u.value) === null || t === void 0 ? void 0 : t.expandedKeys;
+      })
+    });
+    const v = () => {
+      const {
+        keyEntities: t
+      } = $e(c.value, {
+        fieldNames: w.value
+      });
+      let s;
+      return e.defaultExpandAll ? s = Object.keys(t) : e.defaultExpandParent ? s = Fe(e.expandedKeys || e.defaultExpandedKeys || [], t) : s = e.expandedKeys || e.defaultExpandedKeys, s;
+    }, T = E(e.selectedKeys || e.defaultSelectedKeys || []), k = E(v());
+    Q(() => e.selectedKeys, () => {
+      e.selectedKeys !== void 0 && (T.value = e.selectedKeys);
+    }, {
+      immediate: !0
+    }), Q(() => e.expandedKeys, () => {
+      e.expandedKeys !== void 0 && (k.value = e.expandedKeys);
+    }, {
+      immediate: !0
+    });
+    const h = Se((t, s) => {
+      const {
+        isLeaf: p
+      } = s;
+      p || t.shiftKey || t.metaKey || t.ctrlKey || u.value.onNodeExpand(t, s);
+    }, 200, {
+      leading: !0
+    }), L = (t, s) => {
+      e.expandedKeys === void 0 && (k.value = t), l("update:expandedKeys", t), l("expand", t, s);
+    }, R = (t, s) => {
+      const {
+        expandAction: p
+      } = e;
+      p === "click" && h(t, s), l("click", t, s);
+    }, M = (t, s) => {
+      const {
+        expandAction: p
+      } = e;
+      (p === "dblclick" || p === "doubleclick") && h(t, s), l("doubleclick", t, s), l("dblclick", t, s);
+    }, H = (t, s) => {
+      const {
+        multiple: p
+      } = e, {
+        node: I,
+        nativeEvent: b
+      } = s, D = I[w.value.key], $ = m(m({}, s), {
+        selected: !0
+      }), re = (b == null ? void 0 : b.ctrlKey) || (b == null ? void 0 : b.metaKey), ue = b == null ? void 0 : b.shiftKey;
+      let _;
+      p && re ? (_ = t, r.value = D, y.value = _, $.selectedNodes = q(c.value, _, w.value)) : p && ue ? (_ = Array.from(/* @__PURE__ */ new Set([...y.value || [], ...Be({
+        treeData: c.value,
+        expandedKeys: k.value,
+        startKey: D,
+        endKey: r.value,
+        fieldNames: w.value
+      })])), $.selectedNodes = q(c.value, _, w.value)) : (_ = [D], r.value = D, y.value = _, $.selectedNodes = q(c.value, _, w.value)), l("update:selectedKeys", _), l("select", _, $), e.selectedKeys === void 0 && (T.value = _);
+    }, A = (t, s) => {
+      l("update:checkedKeys", t), l("check", t, s);
+    }, {
+      prefixCls: O,
+      direction: z
+    } = ce("tree", e);
+    return () => {
+      const t = se(`${O.value}-directory`, {
+        [`${O.value}-directory-rtl`]: z.value === "rtl"
+      }, d.class), {
+        icon: s = a.icon,
+        blockNode: p = !0
+      } = e, I = Ue(e, ["icon", "blockNode"]);
+      return S(U, P(P(P({}, d), {}, {
+        icon: s || Le,
+        ref: u,
+        blockNode: p
+      }, I), {}, {
+        prefixCls: O.value,
+        class: t,
+        expandedKeys: k.value,
+        selectedKeys: T.value,
+        onSelect: H,
+        onClick: R,
+        onDblclick: M,
+        onExpand: L,
+        onCheck: A
+      }), a);
+    };
+  }
+}), J = Pe;
+m(U, {
+  DirectoryTree: V,
+  TreeNode: J,
+  install: (e) => (e.component(U.name, U), e.component(J.name, J), e.component(V.name, V), e)
+});
+const Re = { class: "s-tree-common" }, Me = { class: "node-title" }, He = {
+  key: 1,
+  class: "node-title"
+}, ze = {
+  __name: "STree",
+  props: {
+    // 是否展开所有节点
+    expandAll: {
+      type: Boolean,
+      default: !1
+    },
+    // 树节点属性
+    props: {
+      type: Object,
+      default: () => ({
+        children: "children",
+        label: "name",
+        value: "value"
+      })
+    },
+    // 是否添加复选框
+    checkable: {
+      type: Boolean,
+      default: !1
+    },
+    // 树高度
+    height: {
+      type: Number,
+      default: 300
+    },
+    // 获取一级节点数据
+    levelOneChildren: {
+      type: Function,
+      default: () => {
+      }
+    },
+    // 获取二级节点数据
+    levelTwoChildren: {
+      type: Function,
+      default: () => {
+      }
+    },
+    // 默认选中项,支持 v-model 双向绑定
+    modelValue: {
+      type: [String, Array],
+      default() {
+        return "";
+      }
+    },
+    // 默认选中第一个节点
+    selectFirstOne: {
+      type: Boolean,
+      default: !1
+    },
+    // 是否显示图标
+    showIcon: {
+      type: Boolean,
+      default: !1
+    },
+    // 显示字数长度 超过15字符显示省略号并且鼠标悬浮tooltip显示
+    showLength: {
+      type: [Number, String],
+      default: 15
+    }
+  },
+  emits: ["select:modelValue"],
+  setup(e, { emit: f }) {
+    const d = e, a = f, l = E([]), i = E([]), o = E([]), c = E([]), r = (x, v) => G(this, null, function* () {
+      v.expanded && (!v.node.dataRef.children || v.node.dataRef.children.length === 0) && (v.node.dataRef.children = yield d.levelOneChildren(v.node.dataRef.id)), x.value = x;
+    }), y = (x, v) => {
+      a("select:modelValue", x, v);
+    }, w = () => G(this, null, function* () {
+      var x, v, T, k;
+      o.value = [], l.value = yield d.levelTwoChildren(), (x = l.value) != null && x.length && ((T = (v = l.value[0]) == null ? void 0 : v.children[0]) != null && T.length) && (d.selectFirstOne && (l.value[0].selected = !0, i.value.push(((k = l.value[0]) == null ? void 0 : k.id) || ""), a("select:modelValue", l.value[0].id || "", l.value[0])), o.value = [l.value[0].id]);
+    }), u = (x) => ["D", "G", "C", "D"][x];
+    return he(() => {
+      w();
+    }), (x, v) => {
+      const T = Ne, k = V;
+      return W(), ee("div", Re, [
+        S(k, {
+          selectedKeys: i.value,
+          "onUpdate:selectedKeys": v[0] || (v[0] = (n) => i.value = n),
+          checkedKeys: o.value,
+          "onUpdate:checkedKeys": v[1] || (v[1] = (n) => o.value = n),
+          expandedKeys: c.value,
+          "onUpdate:expandedKeys": v[2] || (v[2] = (n) => c.value = n),
+          "default-expand-all": e.expandAll,
+          checkable: e.checkable,
+          "tree-data": l.value,
+          showIcon: e.showIcon,
+          height: e.height,
+          onExpand: r,
+          onSelect: y
+        }, {
+          icon: F((n) => [
+            te("div", {
+              class: pe(["node-icon", u(n.type)])
+            }, j(u(n.type)), 3)
+          ]),
+          title: F((n) => [
+            n.title.length > 15 ? (W(), Ke(T, {
+              key: 0,
+              placement: "topLeft"
+            }, {
+              title: F(() => [
+                xe(j(n.title), 1)
+              ]),
+              default: F(() => [
+                te("div", Me, j(n.title.slice(0, 15)) + "... ", 1)
+              ]),
+              _: 2
+            }, 1024)) : (W(), ee("div", He, j(n.title), 1))
+          ]),
+          _: 1
+        }, 8, ["selectedKeys", "checkedKeys", "expandedKeys", "default-expand-all", "checkable", "tree-data", "showIcon", "height"])
+      ]);
+    };
+  }
+}, Ye = /* @__PURE__ */ Te(ze, [["__scopeId", "data-v-aa1c998c"]]);
+export {
+  Ye as default
+};

+ 1375 - 0
lib/js/STreeSelect.js

@@ -0,0 +1,1375 @@
+var ht = Object.defineProperty;
+var Ge = Object.getOwnPropertySymbols;
+var pt = Object.prototype.hasOwnProperty, mt = Object.prototype.propertyIsEnumerable;
+var Je = (e, n, l) => n in e ? ht(e, n, { enumerable: !0, configurable: !0, writable: !0, value: l }) : e[n] = l, Qe = (e, n) => {
+  for (var l in n || (n = {}))
+    pt.call(n, l) && Je(e, l, n[l]);
+  if (Ge)
+    for (var l of Ge(n))
+      mt.call(n, l) && Je(e, l, n[l]);
+  return e;
+};
+import { ref as $, watch as ve, inject as gt, provide as yt, defineComponent as Xe, computed as S, nextTick as bt, shallowRef as M, toRaw as ae, createVNode as z, watchEffect as we, toRef as re, toRefs as Ct, onMounted as St, openBlock as ye, createElementBlock as be, unref as Ze, isRef as wt, withCtx as xt, Fragment as _e, renderList as Vt, toDisplayString as et, createTextVNode as kt } from "vue";
+import { K as de, a as Y, _ as y, $ as Tt, w as _, aU as It, b as ut, o as xe, P as fe, g as Nt, I as it, d as Re, j as Et, k as Lt, l as Dt, q as Pt, m as tt, a8 as At, A as $e, D as Kt, F as Ot, e as Ft, C as Be } from "./index2.js";
+import { T as Ht, g as _t, r as Rt } from "./index8.js";
+import { u as $t, d as Bt, a as Mt, e as jt, t as lt, B as Wt, b as Ut, c as zt, g as Xt } from "./index3.js";
+import { c as Yt, a as je, u as qt, g as Gt } from "./index4.js";
+import { u as at } from "./useMergedState.js";
+import { u as Jt, F as Qt } from "./FormItemContext.js";
+import { g as Zt, a as el } from "./statusUtils.js";
+function tl(e, n, l) {
+  const t = $(e());
+  return ve(n, (a, o) => {
+    l ? l(a, o) && (t.value = e()) : t.value = e();
+  }), t;
+}
+function ct(e) {
+  return Array.isArray(e) ? e : e !== void 0 ? [e] : [];
+}
+function ll(e) {
+  const {
+    label: n,
+    value: l,
+    children: t
+  } = e || {}, a = l || "value";
+  return {
+    _title: n ? [n] : ["title", "label"],
+    value: a,
+    key: a,
+    children: t || "children"
+  };
+}
+function We(e) {
+  return e.disabled || e.disableCheckbox || e.checkable === !1;
+}
+function al(e, n) {
+  const l = [];
+  function t(a) {
+    a.forEach((o) => {
+      l.push(o[n.value]);
+      const s = o[n.children];
+      s && t(s);
+    });
+  }
+  return t(e), l;
+}
+function Ue(e) {
+  return e == null;
+}
+const dt = Symbol("TreeSelectContextPropsKey");
+function nl(e) {
+  return yt(dt, e);
+}
+function ol() {
+  return gt(dt, {});
+}
+const rl = {
+  width: 0,
+  height: 0,
+  display: "flex",
+  overflow: "hidden",
+  opacity: 0,
+  border: 0,
+  padding: 0,
+  margin: 0
+}, sl = Xe({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "OptionList",
+  inheritAttrs: !1,
+  setup(e, n) {
+    let {
+      slots: l,
+      expose: t
+    } = n;
+    const a = $t(), o = Bt(), s = ol(), u = $(), c = tl(() => s.treeData, [() => a.open, () => s.treeData], (f) => f[0]), r = S(() => {
+      const {
+        checkable: f,
+        halfCheckedKeys: k,
+        checkedKeys: K
+      } = o;
+      return f ? {
+        checked: K,
+        halfChecked: k
+      } : null;
+    });
+    ve(() => a.open, () => {
+      bt(() => {
+        var f;
+        a.open && !a.multiple && o.checkedKeys.length && ((f = u.value) === null || f === void 0 || f.scrollTo({
+          key: o.checkedKeys[0]
+        }));
+      });
+    }, {
+      immediate: !0,
+      flush: "post"
+    });
+    const d = S(() => String(a.searchValue).toLowerCase()), m = (f) => d.value ? String(f[o.treeNodeFilterProp]).toLowerCase().includes(d.value) : !1, N = M(o.treeDefaultExpandedKeys), x = M(null);
+    ve(() => a.searchValue, () => {
+      a.searchValue && (x.value = al(ae(s.treeData), ae(s.fieldNames)));
+    }, {
+      immediate: !0
+    });
+    const T = S(() => o.treeExpandedKeys ? o.treeExpandedKeys.slice() : a.searchValue ? x.value : N.value), w = (f) => {
+      var k;
+      N.value = f, x.value = f, (k = o.onTreeExpand) === null || k === void 0 || k.call(o, f);
+    }, v = (f) => {
+      f.preventDefault();
+    }, b = (f, k) => {
+      let {
+        node: K
+      } = k;
+      var H, P;
+      const {
+        checkable: X,
+        checkedKeys: q
+      } = o;
+      X && We(K) || ((H = s.onSelect) === null || H === void 0 || H.call(s, K.key, {
+        selected: !q.includes(K.key)
+      }), a.multiple || (P = a.toggleOpen) === null || P === void 0 || P.call(a, !1));
+    }, V = $(null), g = S(() => o.keyEntities[V.value]), D = (f) => {
+      V.value = f;
+    };
+    return t({
+      scrollTo: function() {
+        for (var f, k, K = arguments.length, H = new Array(K), P = 0; P < K; P++)
+          H[P] = arguments[P];
+        return (k = (f = u.value) === null || f === void 0 ? void 0 : f.scrollTo) === null || k === void 0 ? void 0 : k.call(f, ...H);
+      },
+      onKeydown: (f) => {
+        var k;
+        const {
+          which: K
+        } = f;
+        switch (K) {
+          case de.UP:
+          case de.DOWN:
+          case de.LEFT:
+          case de.RIGHT:
+            (k = u.value) === null || k === void 0 || k.onKeydown(f);
+            break;
+          case de.ENTER: {
+            if (g.value) {
+              const {
+                selectable: H,
+                value: P
+              } = g.value.node || {};
+              H !== !1 && b(null, {
+                node: {
+                  key: V.value
+                },
+                selected: !o.checkedKeys.includes(P)
+              });
+            }
+            break;
+          }
+          case de.ESC:
+            a.toggleOpen(!1);
+        }
+      },
+      onKeyup: () => {
+      }
+    }), () => {
+      var f;
+      const {
+        prefixCls: k,
+        multiple: K,
+        searchValue: H,
+        open: P,
+        notFoundContent: X = (f = l.notFoundContent) === null || f === void 0 ? void 0 : f.call(l)
+      } = a, {
+        listHeight: q,
+        listItemHeight: j,
+        virtual: ne,
+        dropdownMatchSelectWidth: G,
+        treeExpandAction: se
+      } = s, {
+        checkable: ue,
+        treeDefaultExpandAll: ie,
+        treeIcon: oe,
+        showTreeIcon: J,
+        switcherIcon: pe,
+        treeLine: me,
+        loadData: ge,
+        treeLoadedKeys: ce,
+        treeMotion: C,
+        onTreeLoad: O,
+        checkedKeys: R
+      } = o;
+      if (c.value.length === 0)
+        return z("div", {
+          role: "listbox",
+          class: `${k}-empty`,
+          onMousedown: v
+        }, [X]);
+      const Q = {
+        fieldNames: s.fieldNames
+      };
+      return ce && (Q.loadedKeys = ce), T.value && (Q.expandedKeys = T.value), z("div", {
+        onMousedown: v
+      }, [g.value && P && z("span", {
+        style: rl,
+        "aria-live": "assertive"
+      }, [g.value.node.value]), z(Ht, Y(Y({
+        ref: u,
+        focusable: !1,
+        prefixCls: `${k}-tree`,
+        treeData: c.value,
+        height: q,
+        itemHeight: j,
+        virtual: ne !== !1 && G !== !1,
+        multiple: K,
+        icon: oe,
+        showIcon: J,
+        switcherIcon: pe,
+        showLine: me,
+        loadData: H ? null : ge,
+        motion: C,
+        activeKey: V.value,
+        checkable: ue,
+        checkStrictly: !0,
+        checkedKeys: r.value,
+        selectedKeys: ue ? [] : R,
+        defaultExpandAll: ie
+      }, Q), {}, {
+        onActiveChange: D,
+        onSelect: b,
+        onCheck: b,
+        onExpand: w,
+        onLoad: O,
+        filterTreeNode: m,
+        expandAction: se
+      }), y(y({}, l), {
+        checkable: o.customSlots.treeCheckable
+      }))]);
+    };
+  }
+}), ul = "SHOW_ALL", ft = "SHOW_PARENT", Ye = "SHOW_CHILD";
+function nt(e, n, l, t) {
+  const a = new Set(e);
+  return n === Ye ? e.filter((o) => {
+    const s = l[o];
+    return !(s && s.children && s.children.some((u) => {
+      let {
+        node: c
+      } = u;
+      return a.has(c[t.value]);
+    }) && s.children.every((u) => {
+      let {
+        node: c
+      } = u;
+      return We(c) || a.has(c[t.value]);
+    }));
+  }) : n === ft ? e.filter((o) => {
+    const s = l[o], u = s ? s.parent : null;
+    return !(u && !We(u.node) && a.has(u.key));
+  }) : e;
+}
+const he = () => null;
+he.inheritAttrs = !1;
+he.displayName = "ATreeSelectNode";
+he.isTreeSelectNode = !0;
+var il = function(e, n) {
+  var l = {};
+  for (var t in e) Object.prototype.hasOwnProperty.call(e, t) && n.indexOf(t) < 0 && (l[t] = e[t]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var a = 0, t = Object.getOwnPropertySymbols(e); a < t.length; a++)
+    n.indexOf(t[a]) < 0 && Object.prototype.propertyIsEnumerable.call(e, t[a]) && (l[t[a]] = e[t[a]]);
+  return l;
+};
+function cl(e) {
+  return e && e.type && e.type.isTreeSelectNode;
+}
+function dl(e) {
+  function n() {
+    let l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
+    return Tt(l).map((t) => {
+      var a, o, s;
+      if (!cl(t))
+        return _(!t, "TreeSelect/TreeSelectNode can only accept TreeSelectNode as children."), null;
+      const u = t.children || {}, c = t.key, r = {};
+      for (const [K, H] of Object.entries(t.props))
+        r[It(K)] = H;
+      const {
+        isLeaf: d,
+        checkable: m,
+        selectable: N,
+        disabled: x,
+        disableCheckbox: T
+      } = r, w = {
+        isLeaf: d || d === "" || void 0,
+        checkable: m || m === "" || void 0,
+        selectable: N || N === "" || void 0,
+        disabled: x || x === "" || void 0,
+        disableCheckbox: T || T === "" || void 0
+      }, v = y(y({}, r), w), {
+        title: b = (a = u.title) === null || a === void 0 ? void 0 : a.call(u, v),
+        switcherIcon: V = (o = u.switcherIcon) === null || o === void 0 ? void 0 : o.call(u, v)
+      } = r, g = il(r, ["title", "switcherIcon"]), D = (s = u.default) === null || s === void 0 ? void 0 : s.call(u), f = y(y(y({}, g), {
+        title: b,
+        switcherIcon: V,
+        key: c,
+        isLeaf: d
+      }), w), k = n(D);
+      return k.length && (f.children = k), f;
+    });
+  }
+  return n(e);
+}
+function ze(e) {
+  if (!e)
+    return e;
+  const n = y({}, e);
+  return "props" in n || Object.defineProperty(n, "props", {
+    get() {
+      return _(!1, "New `vc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access."), n;
+    }
+  }), n;
+}
+function fl(e, n, l, t, a, o) {
+  let s = null, u = null;
+  function c() {
+    function r(d) {
+      let m = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "0", N = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
+      return d.map((x, T) => {
+        const w = `${m}-${T}`, v = x[o.value], b = l.includes(v), V = r(x[o.children] || [], w, b), g = z(he, x, {
+          default: () => [V.map((D) => D.node)]
+        });
+        if (n === v && (s = g), b) {
+          const D = {
+            pos: w,
+            node: g,
+            children: V
+          };
+          return N || u.push(D), D;
+        }
+        return null;
+      }).filter((x) => x);
+    }
+    u || (u = [], r(t), u.sort((d, m) => {
+      let {
+        node: {
+          props: {
+            value: N
+          }
+        }
+      } = d, {
+        node: {
+          props: {
+            value: x
+          }
+        }
+      } = m;
+      const T = l.indexOf(N), w = l.indexOf(x);
+      return T - w;
+    }));
+  }
+  Object.defineProperty(e, "triggerNode", {
+    get() {
+      return _(!1, "`triggerNode` is deprecated. Please consider decoupling data with node."), c(), s;
+    }
+  }), Object.defineProperty(e, "allCheckedNodes", {
+    get() {
+      return _(!1, "`allCheckedNodes` is deprecated. Please consider decoupling data with node."), c(), a ? u : u.map((r) => {
+        let {
+          node: d
+        } = r;
+        return d;
+      });
+    }
+  });
+}
+function vl(e, n) {
+  let {
+    id: l,
+    pId: t,
+    rootPId: a
+  } = n;
+  const o = {}, s = [];
+  return e.map((c) => {
+    const r = y({}, c), d = r[l];
+    return o[d] = r, r.key = r.key || d, r;
+  }).forEach((c) => {
+    const r = c[t], d = o[r];
+    d && (d.children = d.children || [], d.children.push(c)), (r === a || !d && a === null) && s.push(c);
+  }), s;
+}
+function hl(e, n, l) {
+  const t = M();
+  return ve([l, e, n], () => {
+    const a = l.value;
+    e.value ? t.value = l.value ? vl(ae(e.value), y({
+      id: "id",
+      pId: "pId",
+      rootPId: null
+    }, a !== !0 ? a : {})) : ae(e.value).slice() : t.value = dl(ae(n.value));
+  }, {
+    immediate: !0,
+    deep: !0
+  }), t;
+}
+const pl = (e) => {
+  const n = M({
+    valueLabels: /* @__PURE__ */ new Map()
+  }), l = M();
+  return ve(e, () => {
+    l.value = ae(e.value);
+  }, {
+    immediate: !0
+  }), [S(() => {
+    const {
+      valueLabels: a
+    } = n.value, o = /* @__PURE__ */ new Map(), s = l.value.map((u) => {
+      var c;
+      const {
+        value: r
+      } = u, d = (c = u.label) !== null && c !== void 0 ? c : a.get(r);
+      return o.set(r, d), y(y({}, u), {
+        label: d
+      });
+    });
+    return n.value.valueLabels = o, s;
+  })];
+}, ml = (e, n) => {
+  const l = M(/* @__PURE__ */ new Map()), t = M({});
+  return we(() => {
+    const a = n.value, o = Yt(e.value, {
+      fieldNames: a,
+      initWrapper: (s) => y(y({}, s), {
+        valueEntities: /* @__PURE__ */ new Map()
+      }),
+      processEntity: (s, u) => {
+        const c = s.node[a.value];
+        if (process.env.NODE_ENV !== "production") {
+          const r = s.node.key;
+          _(!Ue(c), "TreeNode `value` is invalidate: undefined"), _(!u.valueEntities.has(c), `Same \`value\` exist in the tree: ${c}`), _(!r || String(r) === String(c), `\`key\` or \`value\` with TreeNode must be the same or you can remove one of them. key: ${r}, value: ${c}.`);
+        }
+        u.valueEntities.set(c, s);
+      }
+    });
+    l.value = o.valueEntities, t.value = o.keyEntities;
+  }), {
+    valueEntities: l,
+    keyEntities: t
+  };
+}, gl = (e, n, l, t, a, o) => {
+  const s = M([]), u = M([]);
+  return we(() => {
+    let c = e.value.map((m) => {
+      let {
+        value: N
+      } = m;
+      return N;
+    }), r = n.value.map((m) => {
+      let {
+        value: N
+      } = m;
+      return N;
+    });
+    const d = c.filter((m) => !t.value[m]);
+    l.value && ({
+      checkedKeys: c,
+      halfCheckedKeys: r
+    } = je(c, !0, t.value, a.value, o.value)), s.value = Array.from(/* @__PURE__ */ new Set([...d, ...c])), u.value = r;
+  }), [s, u];
+}, yl = (e, n, l) => {
+  let {
+    treeNodeFilterProp: t,
+    filterTreeNode: a,
+    fieldNames: o
+  } = l;
+  return S(() => {
+    const {
+      children: s
+    } = o.value, u = n.value, c = t == null ? void 0 : t.value;
+    if (!u || a.value === !1)
+      return e.value;
+    let r;
+    if (typeof a.value == "function")
+      r = a.value;
+    else {
+      const m = u.toUpperCase();
+      r = (N, x) => {
+        const T = x[c];
+        return String(T).toUpperCase().includes(m);
+      };
+    }
+    function d(m) {
+      let N = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
+      const x = [];
+      for (let T = 0, w = m.length; T < w; T++) {
+        const v = m[T], b = v[s], V = N || r(u, ze(v)), g = d(b || [], V);
+        (V || g.length) && x.push(y(y({}, v), {
+          [s]: g
+        }));
+      }
+      return x;
+    }
+    return d(e.value);
+  });
+};
+function bl(e) {
+  const {
+    searchPlaceholder: n,
+    treeCheckStrictly: l,
+    treeCheckable: t,
+    labelInValue: a,
+    value: o,
+    multiple: s
+  } = e;
+  _(!n, "`searchPlaceholder` has been removed, please use `placeholder` instead"), l && a === !1 && _(!1, "`treeCheckStrictly` will force set `labelInValue` to `true`."), (a || l) && _(ct(o).every((u) => u && typeof u == "object" && "value" in u), "Invalid prop `value` supplied to `TreeSelect`. You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead."), l || s || t ? _(!o || Array.isArray(o), "`value` should be an array when `TreeSelect` is checkable or multiple.") : _(!Array.isArray(o), "`value` should not be array when `TreeSelect` is single mode.");
+}
+function vt() {
+  return y(y({}, xe(Ut(), ["mode"])), {
+    prefixCls: String,
+    id: String,
+    value: {
+      type: [String, Number, Object, Array]
+    },
+    defaultValue: {
+      type: [String, Number, Object, Array]
+    },
+    onChange: {
+      type: Function
+    },
+    searchValue: String,
+    /** @deprecated Use `searchValue` instead */
+    inputValue: String,
+    onSearch: {
+      type: Function
+    },
+    autoClearSearchValue: {
+      type: Boolean,
+      default: void 0
+    },
+    filterTreeNode: {
+      type: [Boolean, Function],
+      default: void 0
+    },
+    treeNodeFilterProp: String,
+    // >>> Select
+    onSelect: Function,
+    onDeselect: Function,
+    showCheckedStrategy: {
+      type: String
+    },
+    treeNodeLabelProp: String,
+    fieldNames: {
+      type: Object
+    },
+    // >>> Mode
+    multiple: {
+      type: Boolean,
+      default: void 0
+    },
+    treeCheckable: {
+      type: Boolean,
+      default: void 0
+    },
+    treeCheckStrictly: {
+      type: Boolean,
+      default: void 0
+    },
+    labelInValue: {
+      type: Boolean,
+      default: void 0
+    },
+    // >>> Data
+    treeData: {
+      type: Array
+    },
+    treeDataSimpleMode: {
+      type: [Boolean, Object],
+      default: void 0
+    },
+    loadData: {
+      type: Function
+    },
+    treeLoadedKeys: {
+      type: Array
+    },
+    onTreeLoad: {
+      type: Function
+    },
+    // >>> Expanded
+    treeDefaultExpandAll: {
+      type: Boolean,
+      default: void 0
+    },
+    treeExpandedKeys: {
+      type: Array
+    },
+    treeDefaultExpandedKeys: {
+      type: Array
+    },
+    onTreeExpand: {
+      type: Function
+    },
+    // >>> Options
+    virtual: {
+      type: Boolean,
+      default: void 0
+    },
+    listHeight: Number,
+    listItemHeight: Number,
+    onDropdownVisibleChange: {
+      type: Function
+    },
+    // >>> Tree
+    treeLine: {
+      type: [Boolean, Object],
+      default: void 0
+    },
+    treeIcon: fe.any,
+    showTreeIcon: {
+      type: Boolean,
+      default: void 0
+    },
+    switcherIcon: fe.any,
+    treeMotion: fe.any,
+    children: Array,
+    treeExpandAction: String,
+    showArrow: {
+      type: Boolean,
+      default: void 0
+    },
+    showSearch: {
+      type: Boolean,
+      default: void 0
+    },
+    open: {
+      type: Boolean,
+      default: void 0
+    },
+    defaultOpen: {
+      type: Boolean,
+      default: void 0
+    },
+    disabled: {
+      type: Boolean,
+      default: void 0
+    },
+    placeholder: fe.any,
+    maxTagPlaceholder: {
+      type: Function
+    },
+    dropdownPopupAlign: fe.any,
+    customSlots: Object
+  });
+}
+function Cl(e) {
+  return !e || typeof e != "object";
+}
+const Sl = Xe({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "TreeSelect",
+  inheritAttrs: !1,
+  props: ut(vt(), {
+    treeNodeFilterProp: "value",
+    autoClearSearchValue: !0,
+    showCheckedStrategy: Ye,
+    listHeight: 200,
+    listItemHeight: 20,
+    prefixCls: "vc-tree-select"
+  }),
+  setup(e, n) {
+    let {
+      attrs: l,
+      expose: t,
+      slots: a
+    } = n;
+    const o = Mt(re(e, "id")), s = S(() => e.treeCheckable && !e.treeCheckStrictly), u = S(() => e.treeCheckable || e.treeCheckStrictly), c = S(() => e.treeCheckStrictly || e.labelInValue), r = S(() => u.value || e.multiple);
+    process.env.NODE_ENV !== "production" && we(() => {
+      bl(e);
+    });
+    const d = S(() => ll(e.fieldNames)), [m, N] = at("", {
+      value: S(() => e.searchValue !== void 0 ? e.searchValue : e.inputValue),
+      postState: (i) => i || ""
+    }), x = (i) => {
+      var h;
+      N(i), (h = e.onSearch) === null || h === void 0 || h.call(e, i);
+    }, T = hl(re(e, "treeData"), re(e, "children"), re(e, "treeDataSimpleMode")), {
+      keyEntities: w,
+      valueEntities: v
+    } = ml(T, d), b = (i) => {
+      const h = [], p = [];
+      return i.forEach((E) => {
+        v.value.has(E) ? p.push(E) : h.push(E);
+      }), {
+        missingRawValues: h,
+        existRawValues: p
+      };
+    }, V = yl(T, m, {
+      fieldNames: d,
+      treeNodeFilterProp: re(e, "treeNodeFilterProp"),
+      filterTreeNode: re(e, "filterTreeNode")
+    }), g = (i) => {
+      if (i) {
+        if (e.treeNodeLabelProp)
+          return i[e.treeNodeLabelProp];
+        const {
+          _title: h
+        } = d.value;
+        for (let p = 0; p < h.length; p += 1) {
+          const E = i[h[p]];
+          if (E !== void 0)
+            return E;
+        }
+      }
+    }, D = (i) => ct(i).map((p) => Cl(p) ? {
+      value: p
+    } : p), f = (i) => D(i).map((p) => {
+      let {
+        label: E
+      } = p;
+      const {
+        value: F,
+        halfChecked: A
+      } = p;
+      let I;
+      const L = v.value.get(F);
+      return L && (E = E != null ? E : g(L.node), I = L.node.disabled), {
+        label: E,
+        value: F,
+        halfChecked: A,
+        disabled: I
+      };
+    }), [k, K] = at(e.defaultValue, {
+      value: re(e, "value")
+    }), H = S(() => D(k.value)), P = M([]), X = M([]);
+    we(() => {
+      const i = [], h = [];
+      H.value.forEach((p) => {
+        p.halfChecked ? h.push(p) : i.push(p);
+      }), P.value = i, X.value = h;
+    });
+    const q = S(() => P.value.map((i) => i.value)), {
+      maxLevel: j,
+      levelEntities: ne
+    } = qt(w), [G, se] = gl(P, X, s, w, j, ne), ue = S(() => {
+      const p = nt(G.value, e.showCheckedStrategy, w.value, d.value).map((A) => {
+        var I, L, B;
+        return (B = (L = (I = w.value[A]) === null || I === void 0 ? void 0 : I.node) === null || L === void 0 ? void 0 : L[d.value.value]) !== null && B !== void 0 ? B : A;
+      }).map((A) => {
+        const I = P.value.find((L) => L.value === A);
+        return {
+          value: A,
+          label: I == null ? void 0 : I.label
+        };
+      }), E = f(p), F = E[0];
+      return !r.value && F && Ue(F.value) && Ue(F.label) ? [] : E.map((A) => {
+        var I;
+        return y(y({}, A), {
+          label: (I = A.label) !== null && I !== void 0 ? I : A.value
+        });
+      });
+    }), [ie] = pl(ue), oe = (i, h, p) => {
+      const E = f(i);
+      if (K(E), e.autoClearSearchValue && N(""), e.onChange) {
+        let F = i;
+        s.value && (F = nt(i, e.showCheckedStrategy, w.value, d.value).map((le) => {
+          const Se = v.value.get(le);
+          return Se ? Se.node[d.value.value] : le;
+        }));
+        const {
+          triggerValue: A,
+          selected: I
+        } = h || {
+          triggerValue: void 0,
+          selected: void 0
+        };
+        let L = F;
+        if (e.treeCheckStrictly) {
+          const U = X.value.filter((le) => !F.includes(le.value));
+          L = [...L, ...U];
+        }
+        const B = f(L), ee = {
+          // [Legacy] Always return as array contains label & value
+          preValue: P.value,
+          triggerValue: A
+        };
+        let te = !0;
+        (e.treeCheckStrictly || p === "selection" && !I) && (te = !1), fl(ee, A, i, T.value, te, d.value), u.value ? ee.checked = I : ee.selected = I;
+        const W = c.value ? B : B.map((U) => U.value);
+        e.onChange(r.value ? W : W[0], c.value ? null : B.map((U) => U.label), ee);
+      }
+    }, J = (i, h) => {
+      let {
+        selected: p,
+        source: E
+      } = h;
+      var F, A, I;
+      const L = ae(w.value), B = ae(v.value), ee = L[i], te = ee == null ? void 0 : ee.node, W = (F = te == null ? void 0 : te[d.value.value]) !== null && F !== void 0 ? F : i;
+      if (!r.value)
+        oe([W], {
+          selected: !0,
+          triggerValue: W
+        }, "option");
+      else {
+        let U = p ? [...q.value, W] : G.value.filter((le) => le !== W);
+        if (s.value) {
+          const {
+            missingRawValues: le,
+            existRawValues: Se
+          } = b(U), qe = Se.map((He) => B.get(He).key);
+          let Fe;
+          p ? {
+            checkedKeys: Fe
+          } = je(qe, !0, L, j.value, ne.value) : {
+            checkedKeys: Fe
+          } = je(qe, {
+            checked: !1,
+            halfCheckedKeys: se.value
+          }, L, j.value, ne.value), U = [...le, ...Fe.map((He) => L[He].node[d.value.value])];
+        }
+        oe(U, {
+          selected: p,
+          triggerValue: W
+        }, E || "option");
+      }
+      p || !r.value ? (A = e.onSelect) === null || A === void 0 || A.call(e, W, ze(te)) : (I = e.onDeselect) === null || I === void 0 || I.call(e, W, ze(te));
+    }, pe = (i) => {
+      if (e.onDropdownVisibleChange) {
+        const h = {};
+        Object.defineProperty(h, "documentClickClose", {
+          get() {
+            return _(!1, "Second param of `onDropdownVisibleChange` has been removed."), !1;
+          }
+        }), e.onDropdownVisibleChange(i, h);
+      }
+    }, me = (i, h) => {
+      const p = i.map((E) => E.value);
+      if (h.type === "clear") {
+        oe(p, {}, "selection");
+        return;
+      }
+      h.values.length && J(h.values[0].value, {
+        selected: !1,
+        source: "selection"
+      });
+    }, {
+      treeNodeFilterProp: ge,
+      // Data
+      loadData: ce,
+      treeLoadedKeys: C,
+      onTreeLoad: O,
+      // Expanded
+      treeDefaultExpandAll: R,
+      treeExpandedKeys: Q,
+      treeDefaultExpandedKeys: Ve,
+      onTreeExpand: ke,
+      // Options
+      virtual: Te,
+      listHeight: Ie,
+      listItemHeight: Ne,
+      // Tree
+      treeLine: Ee,
+      treeIcon: Ce,
+      showTreeIcon: Le,
+      switcherIcon: De,
+      treeMotion: Pe,
+      customSlots: Ae,
+      dropdownMatchSelectWidth: Ke,
+      treeExpandAction: Oe
+    } = Ct(e);
+    jt(lt({
+      checkable: u,
+      loadData: ce,
+      treeLoadedKeys: C,
+      onTreeLoad: O,
+      checkedKeys: G,
+      halfCheckedKeys: se,
+      treeDefaultExpandAll: R,
+      treeExpandedKeys: Q,
+      treeDefaultExpandedKeys: Ve,
+      onTreeExpand: ke,
+      treeIcon: Ce,
+      treeMotion: Pe,
+      showTreeIcon: Le,
+      switcherIcon: De,
+      treeLine: Ee,
+      treeNodeFilterProp: ge,
+      keyEntities: w,
+      customSlots: Ae
+    })), nl(lt({
+      virtual: Te,
+      listHeight: Ie,
+      listItemHeight: Ne,
+      treeData: V,
+      fieldNames: d,
+      onSelect: J,
+      dropdownMatchSelectWidth: Ke,
+      treeExpandAction: Oe
+    }));
+    const Z = $();
+    return t({
+      focus() {
+        var i;
+        (i = Z.value) === null || i === void 0 || i.focus();
+      },
+      blur() {
+        var i;
+        (i = Z.value) === null || i === void 0 || i.blur();
+      },
+      scrollTo(i) {
+        var h;
+        (h = Z.value) === null || h === void 0 || h.scrollTo(i);
+      }
+    }), () => {
+      var i;
+      const h = xe(e, [
+        "id",
+        "prefixCls",
+        "customSlots",
+        // Value
+        "value",
+        "defaultValue",
+        "onChange",
+        "onSelect",
+        "onDeselect",
+        // Search
+        "searchValue",
+        "inputValue",
+        "onSearch",
+        "autoClearSearchValue",
+        "filterTreeNode",
+        "treeNodeFilterProp",
+        // Selector
+        "showCheckedStrategy",
+        "treeNodeLabelProp",
+        //  Mode
+        "multiple",
+        "treeCheckable",
+        "treeCheckStrictly",
+        "labelInValue",
+        // FieldNames
+        "fieldNames",
+        // Data
+        "treeDataSimpleMode",
+        "treeData",
+        "children",
+        "loadData",
+        "treeLoadedKeys",
+        "onTreeLoad",
+        // Expanded
+        "treeDefaultExpandAll",
+        "treeExpandedKeys",
+        "treeDefaultExpandedKeys",
+        "onTreeExpand",
+        // Options
+        "virtual",
+        "listHeight",
+        "listItemHeight",
+        "onDropdownVisibleChange",
+        // Tree
+        "treeLine",
+        "treeIcon",
+        "showTreeIcon",
+        "switcherIcon",
+        "treeMotion"
+      ]);
+      return z(Wt, Y(Y(Y({
+        ref: Z
+      }, l), h), {}, {
+        id: o,
+        prefixCls: e.prefixCls,
+        mode: r.value ? "multiple" : void 0,
+        displayValues: ie.value,
+        onDisplayValuesChange: me,
+        searchValue: m.value,
+        onSearch: x,
+        OptionList: sl,
+        emptyOptions: !T.value.length,
+        onDropdownVisibleChange: pe,
+        tagRender: e.tagRender || a.tagRender,
+        dropdownMatchSelectWidth: (i = e.dropdownMatchSelectWidth) !== null && i !== void 0 ? i : !0
+      }), a);
+    };
+  }
+}), wl = (e) => {
+  const {
+    componentCls: n,
+    treePrefixCls: l,
+    colorBgElevated: t
+  } = e, a = `.${l}`;
+  return [
+    // ======================================================
+    // ==                     Dropdown                     ==
+    // ======================================================
+    {
+      [`${n}-dropdown`]: [
+        {
+          padding: `${e.paddingXS}px ${e.paddingXS / 2}px`
+        },
+        // ====================== Tree ======================
+        _t(l, it(e, {
+          colorBgContainer: t
+        })),
+        {
+          [a]: {
+            borderRadius: 0,
+            "&-list-holder-inner": {
+              alignItems: "stretch",
+              [`${a}-treenode`]: {
+                [`${a}-node-content-wrapper`]: {
+                  flex: "auto"
+                }
+              }
+            }
+          }
+        },
+        // ==================== Checkbox ====================
+        Gt(`${l}-checkbox`, e),
+        // ====================== RTL =======================
+        {
+          "&-rtl": {
+            direction: "rtl",
+            [`${a}-switcher${a}-switcher_close`]: {
+              [`${a}-switcher-icon svg`]: {
+                transform: "rotate(90deg)"
+              }
+            }
+          }
+        }
+      ]
+    }
+  ];
+};
+function xl(e, n) {
+  return Nt("TreeSelect", (l) => {
+    const t = it(l, {
+      treePrefixCls: n.value
+    });
+    return [wl(t)];
+  })(e);
+}
+const ot = (e, n, l) => l !== void 0 ? l : `${e}-${n}`;
+function Vl() {
+  return y(y({}, xe(vt(), ["showTreeIcon", "treeMotion", "inputIcon", "getInputElement", "treeLine", "customSlots"])), {
+    suffixIcon: fe.any,
+    size: $e(),
+    bordered: Kt(),
+    treeLine: Ot([Boolean, Object]),
+    replaceFields: Ft(),
+    placement: $e(),
+    status: $e(),
+    popupClassName: String,
+    /** @deprecated Please use `popupClassName` instead */
+    dropdownClassName: String,
+    "onUpdate:value": Be(),
+    "onUpdate:treeExpandedKeys": Be(),
+    "onUpdate:searchValue": Be()
+  });
+}
+const Me = Xe({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ATreeSelect",
+  inheritAttrs: !1,
+  props: ut(Vl(), {
+    choiceTransitionName: "",
+    listHeight: 256,
+    treeIcon: !1,
+    listItemHeight: 26,
+    bordered: !0
+  }),
+  slots: Object,
+  setup(e, n) {
+    let {
+      attrs: l,
+      slots: t,
+      expose: a,
+      emit: o
+    } = n;
+    _(!(e.treeData === void 0 && t.default), "`children` of TreeSelect is deprecated. Please use `treeData` instead."), Re(e.multiple !== !1 || !e.treeCheckable, "TreeSelect", "`multiple` will always be `true` when `treeCheckable` is true"), Re(e.replaceFields === void 0, "TreeSelect", "`replaceFields` is deprecated, please use fieldNames instead"), Re(!e.dropdownClassName, "TreeSelect", "`dropdownClassName` is deprecated. Please use `popupClassName` instead.");
+    const s = Jt(), u = Qt.useInject(), c = S(() => Zt(u.status, e.status)), {
+      prefixCls: r,
+      renderEmpty: d,
+      direction: m,
+      virtual: N,
+      dropdownMatchSelectWidth: x,
+      size: T,
+      getPopupContainer: w,
+      getPrefixCls: v,
+      disabled: b
+    } = Et("select", e), {
+      compactSize: V,
+      compactItemClassnames: g
+    } = Lt(r, m), D = S(() => V.value || T.value), f = Dt(), k = S(() => {
+      var C;
+      return (C = b.value) !== null && C !== void 0 ? C : f.value;
+    }), K = S(() => v()), H = S(() => e.placement !== void 0 ? e.placement : m.value === "rtl" ? "bottomRight" : "bottomLeft"), P = S(() => ot(K.value, Pt(H.value), e.transitionName)), X = S(() => ot(K.value, "", e.choiceTransitionName)), q = S(() => v("select-tree", e.prefixCls)), j = S(() => v("tree-select", e.prefixCls)), [ne, G] = zt(r), [se] = xl(j, q), ue = S(() => tt(e.popupClassName || e.dropdownClassName, `${j.value}-dropdown`, {
+      [`${j.value}-dropdown-rtl`]: m.value === "rtl"
+    }, G.value)), ie = S(() => !!(e.treeCheckable || e.multiple)), oe = S(() => e.showArrow !== void 0 ? e.showArrow : e.loading || !ie.value), J = $();
+    a({
+      focus() {
+        var C, O;
+        (O = (C = J.value).focus) === null || O === void 0 || O.call(C);
+      },
+      blur() {
+        var C, O;
+        (O = (C = J.value).blur) === null || O === void 0 || O.call(C);
+      }
+    });
+    const pe = function() {
+      for (var C = arguments.length, O = new Array(C), R = 0; R < C; R++)
+        O[R] = arguments[R];
+      o("update:value", O[0]), o("change", ...O), s.onFieldChange();
+    }, me = (C) => {
+      o("update:treeExpandedKeys", C), o("treeExpand", C);
+    }, ge = (C) => {
+      o("update:searchValue", C), o("search", C);
+    }, ce = (C) => {
+      o("blur", C), s.onFieldBlur();
+    };
+    return () => {
+      var C, O, R;
+      const {
+        notFoundContent: Q = (C = t.notFoundContent) === null || C === void 0 ? void 0 : C.call(t),
+        prefixCls: Ve,
+        bordered: ke,
+        listHeight: Te,
+        listItemHeight: Ie,
+        multiple: Ne,
+        treeIcon: Ee,
+        treeLine: Ce,
+        showArrow: Le,
+        switcherIcon: De = (O = t.switcherIcon) === null || O === void 0 ? void 0 : O.call(t),
+        fieldNames: Pe = e.replaceFields,
+        id: Ae = s.id.value,
+        placeholder: Ke = (R = t.placeholder) === null || R === void 0 ? void 0 : R.call(t)
+      } = e, {
+        isFormItemInput: Oe,
+        hasFeedback: Z,
+        feedbackIcon: i
+      } = u, {
+        suffixIcon: h,
+        removeIcon: p,
+        clearIcon: E
+      } = Xt(y(y({}, e), {
+        multiple: ie.value,
+        showArrow: oe.value,
+        hasFeedback: Z,
+        feedbackIcon: i,
+        prefixCls: r.value
+      }), t);
+      let F;
+      Q !== void 0 ? F = Q : F = d("Select");
+      const A = xe(e, ["suffixIcon", "itemIcon", "removeIcon", "clearIcon", "switcherIcon", "bordered", "status", "onUpdate:value", "onUpdate:treeExpandedKeys", "onUpdate:searchValue"]), I = tt(!Ve && j.value, {
+        [`${r.value}-lg`]: D.value === "large",
+        [`${r.value}-sm`]: D.value === "small",
+        [`${r.value}-rtl`]: m.value === "rtl",
+        [`${r.value}-borderless`]: !ke,
+        [`${r.value}-in-form-item`]: Oe
+      }, el(r.value, c.value, Z), g.value, l.class, G.value), L = {};
+      return e.treeData === void 0 && t.default && (L.children = At(t.default())), ne(se(z(Sl, Y(Y(Y(Y({}, l), A), {}, {
+        disabled: k.value,
+        virtual: N.value,
+        dropdownMatchSelectWidth: x.value,
+        id: Ae,
+        fieldNames: Pe,
+        ref: J,
+        prefixCls: r.value,
+        class: I,
+        listHeight: Te,
+        listItemHeight: Ie,
+        treeLine: !!Ce,
+        inputIcon: h,
+        multiple: Ne,
+        removeIcon: p,
+        clearIcon: E,
+        switcherIcon: (B) => Rt(q.value, De, B, t.leafIcon, Ce),
+        showTreeIcon: Ee,
+        notFoundContent: F,
+        getPopupContainer: w == null ? void 0 : w.value,
+        treeMotion: null,
+        dropdownClassName: ue.value,
+        choiceTransitionName: X.value,
+        onChange: pe,
+        onBlur: ce,
+        onSearch: ge,
+        onTreeExpand: me
+      }, L), {}, {
+        transitionName: P.value,
+        customSlots: y(y({}, t), {
+          treeCheckable: () => z("span", {
+            class: `${r.value}-tree-checkbox-inner`
+          }, null)
+        }),
+        maxTagPlaceholder: e.maxTagPlaceholder || t.maxTagPlaceholder,
+        placement: H.value,
+        showArrow: Z || Le,
+        placeholder: Ke
+      }), y(y({}, t), {
+        treeCheckable: () => z("span", {
+          class: `${r.value}-tree-checkbox-inner`
+        }, null)
+      }))));
+    };
+  }
+}), rt = he, st = y(Me, {
+  TreeNode: he,
+  SHOW_ALL: ul,
+  SHOW_PARENT: ft,
+  SHOW_CHILD: Ye,
+  install: (e) => (e.component(Me.name, Me), e.component(rt.displayName, rt), e)
+}), kl = { class: "s-tree-select-common" }, Ol = {
+  __name: "STreeSelect",
+  props: {
+    // 过滤字段 - search为tree 时生效
+    filterField: {
+      type: String,
+      default: "name"
+    },
+    // 树节点属性
+    props: {
+      type: Object,
+      default: () => ({
+        children: "children",
+        label: "name",
+        value: "value"
+      })
+    },
+    // 是否支持查询
+    search: {
+      type: Boolean,
+      default: !0
+    },
+    // 是否支持清空
+    clear: {
+      type: Boolean,
+      default: !0
+    },
+    // 是否展开所有节点
+    expandAll: {
+      type: Boolean,
+      default: !1
+    },
+    // 占位符 - 文案提示
+    placeholder: {
+      type: String,
+      default: "请选择"
+    },
+    // 默认值 - 默认选中项
+    // 默认为空字符串,表示不选中任何项,也可以是字符串数组,表示选中项的 value 值
+    // 默认选中项,支持 v-model 双向绑定
+    modelValue: {
+      type: [String, Array],
+      default() {
+        return "";
+      }
+    },
+    // 获取数据
+    recursionChildren: {
+      type: Function,
+      default: () => []
+    },
+    // 是否添加全选节点
+    appendRootNodeAll: {
+      type: Boolean,
+      default: !1
+    },
+    // 多选
+    multiple: {
+      type: Boolean,
+      default: !1
+    },
+    // 显示数量
+    maxTagCount: {
+      type: Number,
+      default: 1
+    },
+    // 
+    listHeight: {
+      type: Number,
+      default: 256
+    }
+  },
+  emits: ["update:modelValue"],
+  setup(e, { emit: n }) {
+    const l = n, t = e, a = $(""), o = $([]), s = $([]), u = t.multiple ? $([]) : $(null), c = $([]), r = $("");
+    ve(() => t.modelValue, (v) => {
+      v && (u.value = v);
+    }, { immediate: !0 });
+    const d = () => {
+      l("update:modelValue", u.value);
+    }, m = (v) => {
+      v.value = v;
+    }, N = () => {
+      s.value = [], t.recursionChildren("", a.value).then((v) => {
+        o.value = x(v), o.value && o.value.length > 0 && (t.modelValue ? s.value = [t.modelValue] : s.value = [o.value[0].id]);
+      });
+    }, x = (v) => {
+      if (t.appendRootNodeAll) {
+        const b = {
+          id: "all",
+          key: "all",
+          value: "all",
+          label: "全选",
+          name: "全选",
+          title: "全选",
+          type: "1",
+          typeLabel: "组织",
+          parent: { id: "0" },
+          children: null,
+          isLeaf: !0
+        };
+        w(v, c.value, "children"), c.value && c.value.length && (c.value = c.value.map((V) => V.id)), v.unshift(b);
+      }
+      return v;
+    }, T = (v, b) => b.name.toLowerCase().indexOf(v.toLowerCase()) >= 0, w = (v, b = [], V = "children") => {
+      v && v.length > 0 && v.forEach((g) => {
+        const D = Qe({}, g);
+        b.push(D), g[V] instanceof Array && g[V].length > 0 && w(g[V], b, V);
+      });
+    };
+    return St(() => {
+      N();
+    }), (v, b) => {
+      const V = st;
+      return ye(), be("div", kl, [
+        z(V, {
+          style: { width: "100%" },
+          multiple: e.multiple,
+          "allow-clear": e.clear,
+          "field-names": t,
+          "show-search": e.search,
+          "tree-data": o.value,
+          listHeight: e.listHeight,
+          maxTagCount: e.maxTagCount,
+          placeholder: e.placeholder,
+          value: Ze(u),
+          "onUpdate:value": b[0] || (b[0] = (g) => wt(u) ? u.value = g : null),
+          showCheckedStrategy: Ze(st).SHOW_ALL,
+          searchValue: r.value,
+          "onUpdate:searchValue": b[1] || (b[1] = (g) => r.value = g),
+          "tree-node-filter-prop": e.filterField,
+          "tree-default-expand-all": e.expandAll,
+          treeExpandedKeys: s.value,
+          "onUpdate:treeExpandedKeys": b[2] || (b[2] = (g) => s.value = g),
+          filterTreeNode: T,
+          onTreeExpand: m,
+          onSelect: d
+        }, {
+          title: xt(({ name: g }) => [
+            (ye(!0), be(_e, null, Vt(g.toString().split(new RegExp(`(?<=${r.value})|(?=${r.value})`, "i")), (D, f) => (ye(), be(_e, null, [
+              D.toLowerCase() === r.value.toLowerCase() ? (ye(), be("span", {
+                key: f,
+                style: { color: "#1677FF" }
+              }, et(D), 1)) : (ye(), be(_e, { key: 1 }, [
+                kt(et(D), 1)
+              ], 64))
+            ], 64))), 256))
+          ]),
+          _: 1
+        }, 8, ["multiple", "allow-clear", "field-names", "show-search", "tree-data", "listHeight", "maxTagCount", "placeholder", "value", "showCheckedStrategy", "searchValue", "tree-node-filter-prop", "tree-default-expand-all", "treeExpandedKeys"])
+      ]);
+    };
+  }
+};
+export {
+  Ol as default
+};

+ 2320 - 0
lib/js/SUserSelect.js

@@ -0,0 +1,2320 @@
+var Me = (e, n, t) => new Promise((o, a) => {
+  var f = (r) => {
+    try {
+      l(t.next(r));
+    } catch (u) {
+      a(u);
+    }
+  }, d = (r) => {
+    try {
+      l(t.throw(r));
+    } catch (u) {
+      a(u);
+    }
+  }, l = (r) => r.done ? o(r.value) : Promise.resolve(r.value).then(f, d);
+  l((t = t.apply(e, n)).next());
+});
+import { defineComponent as ee, ref as W, createVNode as b, shallowRef as Y, watch as de, computed as J, onMounted as Ge, Fragment as ye, nextTick as $e, onBeforeUpdate as ft, onBeforeUnmount as Ee, watchEffect as Be, getCurrentInstance as Ue, resolveComponent as we, resolveDirective as pt, withDirectives as vt, openBlock as ie, createElementBlock as se, withCtx as Q, createTextVNode as me, createElementVNode as N, toDisplayString as q, withModifiers as gt, renderList as Fe, normalizeClass as ht, createCommentVNode as mt } from "vue";
+import { g as bt, l as xt, a as yt } from "./common.js";
+import { g as $t, f as St, _ as p, J as Xe, I as Se, a3 as Ct, $ as Ke, P as te, A as wt, c as ae, m as G, a as D, o as k, be as Ve, j as ve, k as _t, l as Ye, N as Ze, bf as je, aY as It, B as Je, aD as zt, E as oe, b6 as be, aJ as Rt, b5 as Et, i as At, X as Pt, bg as Bt, bh as Ot, aN as Tt, bi as Ht } from "./index2.js";
+import { u as Qe, F as pe, N as We } from "./FormItemContext.js";
+import { B as qe, g as Oe, a as ue } from "./statusUtils.js";
+import { i as Nt } from "./isPlainObject.js";
+import { M as Mt } from "./index7.js";
+const Ft = (e) => ({
+  // Firefox
+  "&::-moz-placeholder": {
+    opacity: 1
+  },
+  "&::placeholder": {
+    color: e,
+    userSelect: "none"
+    // https://github.com/ant-design/ant-design/pull/32639
+  },
+  "&:placeholder-shown": {
+    textOverflow: "ellipsis"
+  }
+}), Te = (e) => ({
+  borderColor: e.inputBorderHoverColor,
+  borderInlineEndWidth: e.lineWidth
+}), Ae = (e) => ({
+  borderColor: e.inputBorderHoverColor,
+  boxShadow: `0 0 0 ${e.controlOutlineWidth}px ${e.controlOutline}`,
+  borderInlineEndWidth: e.lineWidth,
+  outline: 0
+}), Vt = (e) => ({
+  color: e.colorTextDisabled,
+  backgroundColor: e.colorBgContainerDisabled,
+  borderColor: e.colorBorder,
+  boxShadow: "none",
+  cursor: "not-allowed",
+  opacity: 1,
+  "&:hover": p({}, Te(Se(e, {
+    inputBorderHoverColor: e.colorBorder
+  })))
+}), ke = (e) => {
+  const {
+    inputPaddingVerticalLG: n,
+    fontSizeLG: t,
+    lineHeightLG: o,
+    borderRadiusLG: a,
+    inputPaddingHorizontalLG: f
+  } = e;
+  return {
+    padding: `${n}px ${f}px`,
+    fontSize: t,
+    lineHeight: o,
+    borderRadius: a
+  };
+}, et = (e) => ({
+  padding: `${e.inputPaddingVerticalSM}px ${e.controlPaddingHorizontalSM - 1}px`,
+  borderRadius: e.borderRadiusSM
+}), tt = (e, n) => {
+  const {
+    componentCls: t,
+    colorError: o,
+    colorWarning: a,
+    colorErrorOutline: f,
+    colorWarningOutline: d,
+    colorErrorBorderHover: l,
+    colorWarningBorderHover: r
+  } = e;
+  return {
+    [`&-status-error:not(${n}-disabled):not(${n}-borderless)${n}`]: {
+      borderColor: o,
+      "&:hover": {
+        borderColor: l
+      },
+      "&:focus, &-focused": p({}, Ae(Se(e, {
+        inputBorderActiveColor: o,
+        inputBorderHoverColor: o,
+        controlOutline: f
+      }))),
+      [`${t}-prefix`]: {
+        color: o
+      }
+    },
+    [`&-status-warning:not(${n}-disabled):not(${n}-borderless)${n}`]: {
+      borderColor: a,
+      "&:hover": {
+        borderColor: r
+      },
+      "&:focus, &-focused": p({}, Ae(Se(e, {
+        inputBorderActiveColor: a,
+        inputBorderHoverColor: a,
+        controlOutline: d
+      }))),
+      [`${t}-prefix`]: {
+        color: a
+      }
+    }
+  };
+}, nt = (e) => p(p({
+  position: "relative",
+  display: "inline-block",
+  width: "100%",
+  minWidth: 0,
+  padding: `${e.inputPaddingVertical}px ${e.inputPaddingHorizontal}px`,
+  color: e.colorText,
+  fontSize: e.fontSize,
+  lineHeight: e.lineHeight,
+  backgroundColor: e.colorBgContainer,
+  backgroundImage: "none",
+  borderWidth: e.lineWidth,
+  borderStyle: e.lineType,
+  borderColor: e.colorBorder,
+  borderRadius: e.borderRadius,
+  transition: `all ${e.motionDurationMid}`
+}, Ft(e.colorTextPlaceholder)), {
+  "&:hover": p({}, Te(e)),
+  "&:focus, &-focused": p({}, Ae(e)),
+  "&-disabled, &[disabled]": p({}, Vt(e)),
+  "&-borderless": {
+    "&, &:hover, &:focus, &-focused, &-disabled, &[disabled]": {
+      backgroundColor: "transparent",
+      border: "none",
+      boxShadow: "none"
+    }
+  },
+  // Reset height for `textarea`s
+  "textarea&": {
+    maxWidth: "100%",
+    height: "auto",
+    minHeight: e.controlHeight,
+    lineHeight: e.lineHeight,
+    verticalAlign: "bottom",
+    transition: `all ${e.motionDurationSlow}, height 0s`,
+    resize: "vertical"
+  },
+  // Size
+  "&-lg": p({}, ke(e)),
+  "&-sm": p({}, et(e)),
+  // RTL
+  "&-rtl": {
+    direction: "rtl"
+  },
+  "&-textarea-rtl": {
+    direction: "rtl"
+  }
+}), jt = (e) => {
+  const {
+    componentCls: n,
+    antCls: t
+  } = e;
+  return {
+    position: "relative",
+    display: "table",
+    width: "100%",
+    borderCollapse: "separate",
+    borderSpacing: 0,
+    // Undo padding and float of grid classes
+    "&[class*='col-']": {
+      paddingInlineEnd: e.paddingXS,
+      "&:last-child": {
+        paddingInlineEnd: 0
+      }
+    },
+    // Sizing options
+    [`&-lg ${n}, &-lg > ${n}-group-addon`]: p({}, ke(e)),
+    [`&-sm ${n}, &-sm > ${n}-group-addon`]: p({}, et(e)),
+    [`> ${n}`]: {
+      display: "table-cell",
+      "&:not(:first-child):not(:last-child)": {
+        borderRadius: 0
+      }
+    },
+    [`${n}-group`]: {
+      "&-addon, &-wrap": {
+        display: "table-cell",
+        width: 1,
+        whiteSpace: "nowrap",
+        verticalAlign: "middle",
+        "&:not(:first-child):not(:last-child)": {
+          borderRadius: 0
+        }
+      },
+      "&-wrap > *": {
+        display: "block !important"
+      },
+      "&-addon": {
+        position: "relative",
+        padding: `0 ${e.inputPaddingHorizontal}px`,
+        color: e.colorText,
+        fontWeight: "normal",
+        fontSize: e.fontSize,
+        textAlign: "center",
+        backgroundColor: e.colorFillAlter,
+        border: `${e.lineWidth}px ${e.lineType} ${e.colorBorder}`,
+        borderRadius: e.borderRadius,
+        transition: `all ${e.motionDurationSlow}`,
+        lineHeight: 1,
+        // Reset Select's style in addon
+        [`${t}-select`]: {
+          margin: `-${e.inputPaddingVertical + 1}px -${e.inputPaddingHorizontal}px`,
+          [`&${t}-select-single:not(${t}-select-customize-input)`]: {
+            [`${t}-select-selector`]: {
+              backgroundColor: "inherit",
+              border: `${e.lineWidth}px ${e.lineType} transparent`,
+              boxShadow: "none"
+            }
+          },
+          "&-open, &-focused": {
+            [`${t}-select-selector`]: {
+              color: e.colorPrimary
+            }
+          }
+        },
+        // https://github.com/ant-design/ant-design/issues/31333
+        [`${t}-cascader-picker`]: {
+          margin: `-9px -${e.inputPaddingHorizontal}px`,
+          backgroundColor: "transparent",
+          [`${t}-cascader-input`]: {
+            textAlign: "start",
+            border: 0,
+            boxShadow: "none"
+          }
+        }
+      },
+      "&-addon:first-child": {
+        borderInlineEnd: 0
+      },
+      "&-addon:last-child": {
+        borderInlineStart: 0
+      }
+    },
+    [`${n}`]: {
+      float: "inline-start",
+      width: "100%",
+      marginBottom: 0,
+      textAlign: "inherit",
+      "&:focus": {
+        zIndex: 1,
+        borderInlineEndWidth: 1
+      },
+      "&:hover": {
+        zIndex: 1,
+        borderInlineEndWidth: 1,
+        [`${n}-search-with-button &`]: {
+          zIndex: 0
+        }
+      }
+    },
+    // Reset rounded corners
+    [`> ${n}:first-child, ${n}-group-addon:first-child`]: {
+      borderStartEndRadius: 0,
+      borderEndEndRadius: 0,
+      // Reset Select's style in addon
+      [`${t}-select ${t}-select-selector`]: {
+        borderStartEndRadius: 0,
+        borderEndEndRadius: 0
+      }
+    },
+    [`> ${n}-affix-wrapper`]: {
+      [`&:not(:first-child) ${n}`]: {
+        borderStartStartRadius: 0,
+        borderEndStartRadius: 0
+      },
+      [`&:not(:last-child) ${n}`]: {
+        borderStartEndRadius: 0,
+        borderEndEndRadius: 0
+      }
+    },
+    [`> ${n}:last-child, ${n}-group-addon:last-child`]: {
+      borderStartStartRadius: 0,
+      borderEndStartRadius: 0,
+      // Reset Select's style in addon
+      [`${t}-select ${t}-select-selector`]: {
+        borderStartStartRadius: 0,
+        borderEndStartRadius: 0
+      }
+    },
+    [`${n}-affix-wrapper`]: {
+      "&:not(:last-child)": {
+        borderStartEndRadius: 0,
+        borderEndEndRadius: 0,
+        [`${n}-search &`]: {
+          borderStartStartRadius: e.borderRadius,
+          borderEndStartRadius: e.borderRadius
+        }
+      },
+      [`&:not(:first-child), ${n}-search &:not(:first-child)`]: {
+        borderStartStartRadius: 0,
+        borderEndStartRadius: 0
+      }
+    },
+    [`&${n}-group-compact`]: p(p({
+      display: "block"
+    }, Ct()), {
+      [`${n}-group-addon, ${n}-group-wrap, > ${n}`]: {
+        "&:not(:first-child):not(:last-child)": {
+          borderInlineEndWidth: e.lineWidth,
+          "&:hover": {
+            zIndex: 1
+          },
+          "&:focus": {
+            zIndex: 1
+          }
+        }
+      },
+      "& > *": {
+        display: "inline-block",
+        float: "none",
+        verticalAlign: "top",
+        borderRadius: 0
+      },
+      [`& > ${n}-affix-wrapper`]: {
+        display: "inline-flex"
+      },
+      [`& > ${t}-picker-range`]: {
+        display: "inline-flex"
+      },
+      "& > *:not(:last-child)": {
+        marginInlineEnd: -e.lineWidth,
+        borderInlineEndWidth: e.lineWidth
+      },
+      // Undo float for .ant-input-group .ant-input
+      [`${n}`]: {
+        float: "none"
+      },
+      // reset border for Select, DatePicker, AutoComplete, Cascader, Mention, TimePicker, Input
+      [`& > ${t}-select > ${t}-select-selector,
+      & > ${t}-select-auto-complete ${n},
+      & > ${t}-cascader-picker ${n},
+      & > ${n}-group-wrapper ${n}`]: {
+        borderInlineEndWidth: e.lineWidth,
+        borderRadius: 0,
+        "&:hover": {
+          zIndex: 1
+        },
+        "&:focus": {
+          zIndex: 1
+        }
+      },
+      [`& > ${t}-select-focused`]: {
+        zIndex: 1
+      },
+      // update z-index for arrow icon
+      [`& > ${t}-select > ${t}-select-arrow`]: {
+        zIndex: 1
+        // https://github.com/ant-design/ant-design/issues/20371
+      },
+      [`& > *:first-child,
+      & > ${t}-select:first-child > ${t}-select-selector,
+      & > ${t}-select-auto-complete:first-child ${n},
+      & > ${t}-cascader-picker:first-child ${n}`]: {
+        borderStartStartRadius: e.borderRadius,
+        borderEndStartRadius: e.borderRadius
+      },
+      [`& > *:last-child,
+      & > ${t}-select:last-child > ${t}-select-selector,
+      & > ${t}-cascader-picker:last-child ${n},
+      & > ${t}-cascader-picker-focused:last-child ${n}`]: {
+        borderInlineEndWidth: e.lineWidth,
+        borderStartEndRadius: e.borderRadius,
+        borderEndEndRadius: e.borderRadius
+      },
+      // https://github.com/ant-design/ant-design/issues/12493
+      [`& > ${t}-select-auto-complete ${n}`]: {
+        verticalAlign: "top"
+      },
+      [`${n}-group-wrapper + ${n}-group-wrapper`]: {
+        marginInlineStart: -e.lineWidth,
+        [`${n}-affix-wrapper`]: {
+          borderRadius: 0
+        }
+      },
+      [`${n}-group-wrapper:not(:last-child)`]: {
+        [`&${n}-search > ${n}-group`]: {
+          [`& > ${n}-group-addon > ${n}-search-button`]: {
+            borderRadius: 0
+          },
+          [`& > ${n}`]: {
+            borderStartStartRadius: e.borderRadius,
+            borderStartEndRadius: 0,
+            borderEndEndRadius: 0,
+            borderEndStartRadius: e.borderRadius
+          }
+        }
+      }
+    }),
+    [`&&-sm ${t}-btn`]: {
+      fontSize: e.fontSizeSM,
+      height: e.controlHeightSM,
+      lineHeight: "normal"
+    },
+    [`&&-lg ${t}-btn`]: {
+      fontSize: e.fontSizeLG,
+      height: e.controlHeightLG,
+      lineHeight: "normal"
+    },
+    // Fix https://github.com/ant-design/ant-design/issues/5754
+    [`&&-lg ${t}-select-single ${t}-select-selector`]: {
+      height: `${e.controlHeightLG}px`,
+      [`${t}-select-selection-item, ${t}-select-selection-placeholder`]: {
+        // -2 is for the border size & override default
+        lineHeight: `${e.controlHeightLG - 2}px`
+      },
+      [`${t}-select-selection-search-input`]: {
+        height: `${e.controlHeightLG}px`
+      }
+    },
+    [`&&-sm ${t}-select-single ${t}-select-selector`]: {
+      height: `${e.controlHeightSM}px`,
+      [`${t}-select-selection-item, ${t}-select-selection-placeholder`]: {
+        // -2 is for the border size & override default
+        lineHeight: `${e.controlHeightSM - 2}px`
+      },
+      [`${t}-select-selection-search-input`]: {
+        height: `${e.controlHeightSM}px`
+      }
+    }
+  };
+}, Wt = (e) => {
+  const {
+    componentCls: n,
+    controlHeightSM: t,
+    lineWidth: o
+  } = e, f = (t - o * 2 - 16) / 2;
+  return {
+    [n]: p(p(p(p({}, Xe(e)), nt(e)), tt(e, n)), {
+      '&[type="color"]': {
+        height: e.controlHeight,
+        [`&${n}-lg`]: {
+          height: e.controlHeightLG
+        },
+        [`&${n}-sm`]: {
+          height: t,
+          paddingTop: f,
+          paddingBottom: f
+        }
+      }
+    })
+  };
+}, Dt = (e) => {
+  const {
+    componentCls: n
+  } = e;
+  return {
+    // ========================= Input =========================
+    [`${n}-clear-icon`]: {
+      margin: 0,
+      color: e.colorTextQuaternary,
+      fontSize: e.fontSizeIcon,
+      verticalAlign: -1,
+      // https://github.com/ant-design/ant-design/pull/18151
+      // https://codesandbox.io/s/wizardly-sun-u10br
+      cursor: "pointer",
+      transition: `color ${e.motionDurationSlow}`,
+      "&:hover": {
+        color: e.colorTextTertiary
+      },
+      "&:active": {
+        color: e.colorText
+      },
+      "&-hidden": {
+        visibility: "hidden"
+      },
+      "&-has-suffix": {
+        margin: `0 ${e.inputAffixPadding}px`
+      }
+    },
+    // ======================= TextArea ========================
+    "&-textarea-with-clear-btn": {
+      padding: "0 !important",
+      border: "0 !important",
+      [`${n}-clear-icon`]: {
+        position: "absolute",
+        insetBlockStart: e.paddingXS,
+        insetInlineEnd: e.paddingXS,
+        zIndex: 1
+      }
+    }
+  };
+}, Lt = (e) => {
+  const {
+    componentCls: n,
+    inputAffixPadding: t,
+    colorTextDescription: o,
+    motionDurationSlow: a,
+    colorIcon: f,
+    colorIconHover: d,
+    iconCls: l
+  } = e;
+  return {
+    [`${n}-affix-wrapper`]: p(p(p(p(p({}, nt(e)), {
+      display: "inline-flex",
+      [`&:not(${n}-affix-wrapper-disabled):hover`]: p(p({}, Te(e)), {
+        zIndex: 1,
+        [`${n}-search-with-button &`]: {
+          zIndex: 0
+        }
+      }),
+      "&-focused, &:focus": {
+        zIndex: 1
+      },
+      "&-disabled": {
+        [`${n}[disabled]`]: {
+          background: "transparent"
+        }
+      },
+      [`> input${n}`]: {
+        padding: 0,
+        fontSize: "inherit",
+        border: "none",
+        borderRadius: 0,
+        outline: "none",
+        "&:focus": {
+          boxShadow: "none !important"
+        }
+      },
+      "&::before": {
+        width: 0,
+        visibility: "hidden",
+        content: '"\\a0"'
+      },
+      [`${n}`]: {
+        "&-prefix, &-suffix": {
+          display: "flex",
+          flex: "none",
+          alignItems: "center",
+          "> *:not(:last-child)": {
+            marginInlineEnd: e.paddingXS
+          }
+        },
+        "&-show-count-suffix": {
+          color: o
+        },
+        "&-show-count-has-suffix": {
+          marginInlineEnd: e.paddingXXS
+        },
+        "&-prefix": {
+          marginInlineEnd: t
+        },
+        "&-suffix": {
+          marginInlineStart: t
+        }
+      }
+    }), Dt(e)), {
+      // password
+      [`${l}${n}-password-icon`]: {
+        color: f,
+        cursor: "pointer",
+        transition: `all ${a}`,
+        "&:hover": {
+          color: d
+        }
+      }
+    }), tt(e, `${n}-affix-wrapper`))
+  };
+}, Gt = (e) => {
+  const {
+    componentCls: n,
+    colorError: t,
+    colorSuccess: o,
+    borderRadiusLG: a,
+    borderRadiusSM: f
+  } = e;
+  return {
+    [`${n}-group`]: p(p(p({}, Xe(e)), jt(e)), {
+      "&-rtl": {
+        direction: "rtl"
+      },
+      "&-wrapper": {
+        display: "inline-block",
+        width: "100%",
+        textAlign: "start",
+        verticalAlign: "top",
+        "&-rtl": {
+          direction: "rtl"
+        },
+        // Size
+        "&-lg": {
+          [`${n}-group-addon`]: {
+            borderRadius: a
+          }
+        },
+        "&-sm": {
+          [`${n}-group-addon`]: {
+            borderRadius: f
+          }
+        },
+        // Status
+        "&-status-error": {
+          [`${n}-group-addon`]: {
+            color: t,
+            borderColor: t
+          }
+        },
+        "&-status-warning": {
+          [`${n}-group-addon:last-child`]: {
+            color: o,
+            borderColor: o
+          }
+        }
+      }
+    })
+  };
+}, Ut = (e) => {
+  const {
+    componentCls: n,
+    antCls: t
+  } = e, o = `${n}-search`;
+  return {
+    [o]: {
+      [`${n}`]: {
+        "&:hover, &:focus": {
+          borderColor: e.colorPrimaryHover,
+          [`+ ${n}-group-addon ${o}-button:not(${t}-btn-primary)`]: {
+            borderInlineStartColor: e.colorPrimaryHover
+          }
+        }
+      },
+      [`${n}-affix-wrapper`]: {
+        borderRadius: 0
+      },
+      // fix slight height diff in Firefox:
+      // https://ant.design/components/auto-complete-cn/#components-auto-complete-demo-certain-category
+      [`${n}-lg`]: {
+        lineHeight: e.lineHeightLG - 2e-4
+      },
+      [`> ${n}-group`]: {
+        [`> ${n}-group-addon:last-child`]: {
+          insetInlineStart: -1,
+          padding: 0,
+          border: 0,
+          [`${o}-button`]: {
+            paddingTop: 0,
+            paddingBottom: 0,
+            borderStartStartRadius: 0,
+            borderStartEndRadius: e.borderRadius,
+            borderEndEndRadius: e.borderRadius,
+            borderEndStartRadius: 0
+          },
+          [`${o}-button:not(${t}-btn-primary)`]: {
+            color: e.colorTextDescription,
+            "&:hover": {
+              color: e.colorPrimaryHover
+            },
+            "&:active": {
+              color: e.colorPrimaryActive
+            },
+            [`&${t}-btn-loading::before`]: {
+              insetInlineStart: 0,
+              insetInlineEnd: 0,
+              insetBlockStart: 0,
+              insetBlockEnd: 0
+            }
+          }
+        }
+      },
+      [`${o}-button`]: {
+        height: e.controlHeight,
+        "&:hover, &:focus": {
+          zIndex: 1
+        }
+      },
+      [`&-large ${o}-button`]: {
+        height: e.controlHeightLG
+      },
+      [`&-small ${o}-button`]: {
+        height: e.controlHeightSM
+      },
+      "&-rtl": {
+        direction: "rtl"
+      },
+      // ===================== Compact Item Customized Styles =====================
+      [`&${n}-compact-item`]: {
+        [`&:not(${n}-compact-last-item)`]: {
+          [`${n}-group-addon`]: {
+            [`${n}-search-button`]: {
+              marginInlineEnd: -e.lineWidth,
+              borderRadius: 0
+            }
+          }
+        },
+        [`&:not(${n}-compact-first-item)`]: {
+          [`${n},${n}-affix-wrapper`]: {
+            borderRadius: 0
+          }
+        },
+        [`> ${n}-group-addon ${n}-search-button,
+        > ${n},
+        ${n}-affix-wrapper`]: {
+          "&:hover,&:focus,&:active": {
+            zIndex: 2
+          }
+        },
+        [`> ${n}-affix-wrapper-focused`]: {
+          zIndex: 2
+        }
+      }
+    }
+  };
+};
+function Xt(e) {
+  return Se(e, {
+    inputAffixPadding: e.paddingXXS,
+    inputPaddingVertical: Math.max(Math.round((e.controlHeight - e.fontSize * e.lineHeight) / 2 * 10) / 10 - e.lineWidth, 3),
+    inputPaddingVerticalLG: Math.ceil((e.controlHeightLG - e.fontSizeLG * e.lineHeightLG) / 2 * 10) / 10 - e.lineWidth,
+    inputPaddingVerticalSM: Math.max(Math.round((e.controlHeightSM - e.fontSize * e.lineHeight) / 2 * 10) / 10 - e.lineWidth, 0),
+    inputPaddingHorizontal: e.paddingSM - e.lineWidth,
+    inputPaddingHorizontalSM: e.paddingXS - e.lineWidth,
+    inputPaddingHorizontalLG: e.controlPaddingHorizontal - e.lineWidth,
+    inputBorderHoverColor: e.colorPrimaryHover,
+    inputBorderActiveColor: e.colorPrimaryHover
+  });
+}
+const Kt = (e) => {
+  const {
+    componentCls: n,
+    inputPaddingHorizontal: t,
+    paddingLG: o
+  } = e, a = `${n}-textarea`;
+  return {
+    [a]: {
+      position: "relative",
+      [`${a}-suffix`]: {
+        position: "absolute",
+        top: 0,
+        insetInlineEnd: t,
+        bottom: 0,
+        zIndex: 1,
+        display: "inline-flex",
+        alignItems: "center",
+        margin: "auto"
+      },
+      "&-status-error,\n        &-status-warning,\n        &-status-success,\n        &-status-validating": {
+        [`&${a}-has-feedback`]: {
+          [`${n}`]: {
+            paddingInlineEnd: o
+          }
+        }
+      },
+      "&-show-count": {
+        // https://github.com/ant-design/ant-design/issues/33049
+        [`> ${n}`]: {
+          height: "100%"
+        },
+        "&::after": {
+          color: e.colorTextDescription,
+          whiteSpace: "nowrap",
+          content: "attr(data-count)",
+          pointerEvents: "none",
+          float: "right"
+        }
+      },
+      "&-rtl": {
+        "&::after": {
+          float: "left"
+        }
+      }
+    }
+  };
+}, He = $t("Input", (e) => {
+  const n = Xt(e);
+  return [
+    Wt(n),
+    Kt(n),
+    Lt(n),
+    Gt(n),
+    Ut(n),
+    // =====================================================
+    // ==             Space Compact                       ==
+    // =====================================================
+    St(n)
+  ];
+}), ce = (e) => e != null && (Array.isArray(e) ? Ke(e).length : !0);
+function Ne(e) {
+  return ce(e.prefix) || ce(e.suffix) || ce(e.allowClear);
+}
+function xe(e) {
+  return ce(e.addonBefore) || ce(e.addonAfter);
+}
+function Pe(e) {
+  return typeof e == "undefined" || e === null ? "" : String(e);
+}
+function fe(e, n, t, o) {
+  if (!t)
+    return;
+  const a = n;
+  if (n.type === "click") {
+    Object.defineProperty(a, "target", {
+      writable: !0
+    }), Object.defineProperty(a, "currentTarget", {
+      writable: !0
+    });
+    const f = e.cloneNode(!0);
+    a.target = f, a.currentTarget = f, f.value = "", t(a);
+    return;
+  }
+  if (o !== void 0) {
+    Object.defineProperty(a, "target", {
+      writable: !0
+    }), Object.defineProperty(a, "currentTarget", {
+      writable: !0
+    }), a.target = e, a.currentTarget = e, e.value = o, t(a);
+    return;
+  }
+  t(a);
+}
+function ot(e, n) {
+  if (!e) return;
+  e.focus(n);
+  const {
+    cursor: t
+  } = n || {};
+  if (t) {
+    const o = e.value.length;
+    switch (t) {
+      case "start":
+        e.setSelectionRange(0, 0);
+        break;
+      case "end":
+        e.setSelectionRange(o, o);
+        break;
+      default:
+        e.setSelectionRange(0, o);
+    }
+  }
+}
+const Yt = () => ({
+  addonBefore: te.any,
+  addonAfter: te.any,
+  prefix: te.any,
+  suffix: te.any,
+  clearIcon: te.any,
+  affixWrapperClassName: String,
+  groupClassName: String,
+  wrapperClassName: String,
+  inputClassName: String,
+  allowClear: {
+    type: Boolean,
+    default: void 0
+  }
+}), at = () => p(p({}, Yt()), {
+  value: {
+    type: [String, Number, Symbol],
+    default: void 0
+  },
+  defaultValue: {
+    type: [String, Number, Symbol],
+    default: void 0
+  },
+  inputElement: te.any,
+  prefixCls: String,
+  disabled: {
+    type: Boolean,
+    default: void 0
+  },
+  focused: {
+    type: Boolean,
+    default: void 0
+  },
+  triggerFocus: Function,
+  readonly: {
+    type: Boolean,
+    default: void 0
+  },
+  handleReset: Function,
+  hidden: {
+    type: Boolean,
+    default: void 0
+  }
+}), lt = () => p(p({}, at()), {
+  id: String,
+  placeholder: {
+    type: [String, Number]
+  },
+  autocomplete: String,
+  type: wt("text"),
+  name: String,
+  size: {
+    type: String
+  },
+  autofocus: {
+    type: Boolean,
+    default: void 0
+  },
+  lazy: {
+    type: Boolean,
+    default: !0
+  },
+  maxlength: Number,
+  loading: {
+    type: Boolean,
+    default: void 0
+  },
+  bordered: {
+    type: Boolean,
+    default: void 0
+  },
+  showCount: {
+    type: [Boolean, Object]
+  },
+  htmlSize: Number,
+  onPressEnter: Function,
+  onKeydown: Function,
+  onKeyup: Function,
+  onFocus: Function,
+  onBlur: Function,
+  onChange: Function,
+  onInput: Function,
+  "onUpdate:value": Function,
+  onCompositionstart: Function,
+  onCompositionend: Function,
+  valueModifiers: Object,
+  hidden: {
+    type: Boolean,
+    default: void 0
+  },
+  status: String
+}), Zt = ee({
+  name: "BaseInput",
+  inheritAttrs: !1,
+  props: at(),
+  setup(e, n) {
+    let {
+      slots: t,
+      attrs: o
+    } = n;
+    const a = W(), f = (l) => {
+      var r;
+      if (!((r = a.value) === null || r === void 0) && r.contains(l.target)) {
+        const {
+          triggerFocus: u
+        } = e;
+        u == null || u();
+      }
+    }, d = () => {
+      var l;
+      const {
+        allowClear: r,
+        value: u,
+        disabled: v,
+        readonly: h,
+        handleReset: c,
+        suffix: E = t.suffix,
+        prefixCls: P
+      } = e;
+      if (!r)
+        return null;
+      const B = !v && !h && u, g = `${P}-clear-icon`, T = ((l = t.clearIcon) === null || l === void 0 ? void 0 : l.call(t)) || "*";
+      return b("span", {
+        onClick: c,
+        onMousedown: (R) => R.preventDefault(),
+        class: G({
+          [`${g}-hidden`]: !B,
+          [`${g}-has-suffix`]: !!E
+        }, g),
+        role: "button",
+        tabindex: -1
+      }, [T]);
+    };
+    return () => {
+      var l, r;
+      const {
+        focused: u,
+        value: v,
+        disabled: h,
+        allowClear: c,
+        readonly: E,
+        hidden: P,
+        prefixCls: B,
+        prefix: g = (l = t.prefix) === null || l === void 0 ? void 0 : l.call(t),
+        suffix: T = (r = t.suffix) === null || r === void 0 ? void 0 : r.call(t),
+        addonAfter: R = t.addonAfter,
+        addonBefore: A = t.addonBefore,
+        inputElement: M,
+        affixWrapperClassName: x,
+        wrapperClassName: y,
+        groupClassName: i
+      } = e;
+      let _ = ae(M, {
+        value: v,
+        hidden: P
+      });
+      if (Ne({
+        prefix: g,
+        suffix: T,
+        allowClear: c
+      })) {
+        const I = `${B}-affix-wrapper`, H = G(I, {
+          [`${I}-disabled`]: h,
+          [`${I}-focused`]: u,
+          [`${I}-readonly`]: E,
+          [`${I}-input-with-clear-btn`]: T && c && v
+        }, !xe({
+          addonAfter: R,
+          addonBefore: A
+        }) && o.class, x), $ = (T || c) && b("span", {
+          class: `${B}-suffix`
+        }, [d(), T]);
+        _ = b("span", {
+          class: H,
+          style: o.style,
+          hidden: !xe({
+            addonAfter: R,
+            addonBefore: A
+          }) && P,
+          onMousedown: f,
+          ref: a
+        }, [g && b("span", {
+          class: `${B}-prefix`
+        }, [g]), ae(M, {
+          style: null,
+          value: v,
+          hidden: null
+        }), $]);
+      }
+      if (xe({
+        addonAfter: R,
+        addonBefore: A
+      })) {
+        const I = `${B}-group`, H = `${I}-addon`, $ = G(`${B}-wrapper`, I, y), C = G(`${B}-group-wrapper`, o.class, i);
+        return b("span", {
+          class: C,
+          style: o.style,
+          hidden: P
+        }, [b("span", {
+          class: $
+        }, [A && b("span", {
+          class: H
+        }, [A]), ae(_, {
+          style: null,
+          hidden: null
+        }), R && b("span", {
+          class: H
+        }, [R])])]);
+      }
+      return _;
+    };
+  }
+});
+var Jt = function(e, n) {
+  var t = {};
+  for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && n.indexOf(o) < 0 && (t[o] = e[o]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var a = 0, o = Object.getOwnPropertySymbols(e); a < o.length; a++)
+    n.indexOf(o[a]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[a]) && (t[o[a]] = e[o[a]]);
+  return t;
+};
+const Qt = ee({
+  name: "VCInput",
+  inheritAttrs: !1,
+  props: lt(),
+  setup(e, n) {
+    let {
+      slots: t,
+      attrs: o,
+      expose: a,
+      emit: f
+    } = n;
+    const d = Y(e.value === void 0 ? e.defaultValue : e.value), l = Y(!1), r = Y(), u = Y();
+    de(() => e.value, () => {
+      d.value = e.value;
+    }), de(() => e.disabled, () => {
+      e.disabled && (l.value = !1);
+    });
+    const v = (i) => {
+      r.value && ot(r.value.input, i);
+    }, h = () => {
+      var i;
+      (i = r.value.input) === null || i === void 0 || i.blur();
+    }, c = (i, _, I) => {
+      var H;
+      (H = r.value.input) === null || H === void 0 || H.setSelectionRange(i, _, I);
+    }, E = () => {
+      var i;
+      (i = r.value.input) === null || i === void 0 || i.select();
+    };
+    a({
+      focus: v,
+      blur: h,
+      input: J(() => {
+        var i;
+        return (i = r.value.input) === null || i === void 0 ? void 0 : i.input;
+      }),
+      stateValue: d,
+      setSelectionRange: c,
+      select: E
+    });
+    const P = (i) => {
+      f("change", i);
+    }, B = (i, _) => {
+      d.value !== i && (e.value === void 0 ? d.value = i : $e(() => {
+        var I;
+        r.value.input.value !== d.value && ((I = u.value) === null || I === void 0 || I.$forceUpdate());
+      }), $e(() => {
+        _ && _();
+      }));
+    }, g = (i) => {
+      const {
+        value: _
+      } = i.target;
+      if (d.value === _) return;
+      const I = i.target.value;
+      fe(r.value.input, i, P), B(I);
+    }, T = (i) => {
+      i.keyCode === 13 && f("pressEnter", i), f("keydown", i);
+    }, R = (i) => {
+      l.value = !0, f("focus", i);
+    }, A = (i) => {
+      l.value = !1, f("blur", i);
+    }, M = (i) => {
+      fe(r.value.input, i, P), B("", () => {
+        v();
+      });
+    }, x = () => {
+      var i, _;
+      const {
+        addonBefore: I = t.addonBefore,
+        addonAfter: H = t.addonAfter,
+        disabled: $,
+        valueModifiers: C = {},
+        htmlSize: m,
+        autocomplete: z,
+        prefixCls: F,
+        inputClassName: V,
+        prefix: U = (i = t.prefix) === null || i === void 0 ? void 0 : i.call(t),
+        suffix: K = (_ = t.suffix) === null || _ === void 0 ? void 0 : _.call(t),
+        allowClear: s,
+        type: w = "text"
+      } = e, O = k(e, [
+        "prefixCls",
+        "onPressEnter",
+        "addonBefore",
+        "addonAfter",
+        "prefix",
+        "suffix",
+        "allowClear",
+        // Input elements must be either controlled or uncontrolled,
+        // specify either the value prop, or the defaultValue prop, but not both.
+        "defaultValue",
+        "size",
+        "bordered",
+        "htmlSize",
+        "lazy",
+        "showCount",
+        "valueModifiers",
+        "showCount",
+        "affixWrapperClassName",
+        "groupClassName",
+        "inputClassName",
+        "wrapperClassName"
+      ]), j = p(p(p({}, O), o), {
+        autocomplete: z,
+        onChange: g,
+        onInput: g,
+        onFocus: R,
+        onBlur: A,
+        onKeydown: T,
+        class: G(F, {
+          [`${F}-disabled`]: $
+        }, V, !xe({
+          addonAfter: H,
+          addonBefore: I
+        }) && !Ne({
+          prefix: U,
+          suffix: K,
+          allowClear: s
+        }) && o.class),
+        ref: r,
+        key: "ant-input",
+        size: m,
+        type: w,
+        lazy: e.lazy
+      });
+      return C.lazy && delete j.onInput, j.autofocus || delete j.autofocus, b(qe, k(j, ["size"]), null);
+    }, y = () => {
+      var i;
+      const {
+        maxlength: _,
+        suffix: I = (i = t.suffix) === null || i === void 0 ? void 0 : i.call(t),
+        showCount: H,
+        prefixCls: $
+      } = e, C = Number(_) > 0;
+      if (I || H) {
+        const m = [...Pe(d.value)].length, z = typeof H == "object" ? H.formatter({
+          count: m,
+          maxlength: _
+        }) : `${m}${C ? ` / ${_}` : ""}`;
+        return b(ye, null, [!!H && b("span", {
+          class: G(`${$}-show-count-suffix`, {
+            [`${$}-show-count-has-suffix`]: !!I
+          })
+        }, [z]), I]);
+      }
+      return null;
+    };
+    return Ge(() => {
+      process.env.NODE_ENV === "test" && e.autofocus && v();
+    }), () => {
+      const {
+        prefixCls: i,
+        disabled: _
+      } = e, I = Jt(e, ["prefixCls", "disabled"]);
+      return b(Zt, D(D(D({}, I), o), {}, {
+        ref: u,
+        prefixCls: i,
+        inputElement: x(),
+        handleReset: M,
+        value: Pe(d.value),
+        focused: l.value,
+        triggerFocus: v,
+        suffix: y(),
+        disabled: _
+      }), t);
+    };
+  }
+}), Ce = () => k(lt(), ["wrapperClassName", "groupClassName", "inputClassName", "affixWrapperClassName"]), rt = () => p(p({}, k(Ce(), ["prefix", "addonBefore", "addonAfter", "suffix"])), {
+  rows: Number,
+  autosize: {
+    type: [Boolean, Object],
+    default: void 0
+  },
+  autoSize: {
+    type: [Boolean, Object],
+    default: void 0
+  },
+  onResize: {
+    type: Function
+  },
+  onCompositionstart: Ve(),
+  onCompositionend: Ve(),
+  valueModifiers: Object
+});
+var qt = function(e, n) {
+  var t = {};
+  for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && n.indexOf(o) < 0 && (t[o] = e[o]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var a = 0, o = Object.getOwnPropertySymbols(e); a < o.length; a++)
+    n.indexOf(o[a]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[a]) && (t[o[a]] = e[o[a]]);
+  return t;
+};
+const L = ee({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AInput",
+  inheritAttrs: !1,
+  props: Ce(),
+  setup(e, n) {
+    let {
+      slots: t,
+      attrs: o,
+      expose: a,
+      emit: f
+    } = n;
+    const d = W(), l = Qe(), r = pe.useInject(), u = J(() => Oe(r.status, e.status)), {
+      direction: v,
+      prefixCls: h,
+      size: c,
+      autocomplete: E
+    } = ve("input", e), {
+      compactSize: P,
+      compactItemClassnames: B
+    } = _t(h, v), g = J(() => P.value || c.value), [T, R] = He(h), A = Ye();
+    a({
+      focus: (m) => {
+        var z;
+        (z = d.value) === null || z === void 0 || z.focus(m);
+      },
+      blur: () => {
+        var m;
+        (m = d.value) === null || m === void 0 || m.blur();
+      },
+      input: d,
+      setSelectionRange: (m, z, F) => {
+        var V;
+        (V = d.value) === null || V === void 0 || V.setSelectionRange(m, z, F);
+      },
+      select: () => {
+        var m;
+        (m = d.value) === null || m === void 0 || m.select();
+      }
+    });
+    const _ = W([]), I = () => {
+      _.value.push(setTimeout(() => {
+        var m, z, F, V;
+        !((m = d.value) === null || m === void 0) && m.input && ((z = d.value) === null || z === void 0 ? void 0 : z.input.getAttribute("type")) === "password" && (!((F = d.value) === null || F === void 0) && F.input.hasAttribute("value")) && ((V = d.value) === null || V === void 0 || V.input.removeAttribute("value"));
+      }));
+    };
+    Ge(() => {
+      I();
+    }), ft(() => {
+      _.value.forEach((m) => clearTimeout(m));
+    }), Ee(() => {
+      _.value.forEach((m) => clearTimeout(m));
+    });
+    const H = (m) => {
+      I(), f("blur", m), l.onFieldBlur();
+    }, $ = (m) => {
+      I(), f("focus", m);
+    }, C = (m) => {
+      f("update:value", m.target.value), f("change", m), f("input", m), l.onFieldChange();
+    };
+    return () => {
+      var m, z, F, V, U, K;
+      const {
+        hasFeedback: s,
+        feedbackIcon: w
+      } = r, {
+        allowClear: O,
+        bordered: j = !0,
+        prefix: S = (m = t.prefix) === null || m === void 0 ? void 0 : m.call(t),
+        suffix: ne = (z = t.suffix) === null || z === void 0 ? void 0 : z.call(t),
+        addonAfter: ge = (F = t.addonAfter) === null || F === void 0 ? void 0 : F.call(t),
+        addonBefore: le = (V = t.addonBefore) === null || V === void 0 ? void 0 : V.call(t),
+        id: he = (U = l.id) === null || U === void 0 ? void 0 : U.value
+      } = e, re = qt(e, ["allowClear", "bordered", "prefix", "suffix", "addonAfter", "addonBefore", "id"]), dt = (s || ne) && b(ye, null, [ne, s && w]), X = h.value, ut = Ne({
+        prefix: S,
+        suffix: ne
+      }) || !!s, ct = t.clearIcon || (() => b(Ze, null, null));
+      return T(b(Qt, D(D(D({}, o), k(re, ["onUpdate:value", "onChange", "onInput"])), {}, {
+        onChange: C,
+        id: he,
+        disabled: (K = e.disabled) !== null && K !== void 0 ? K : A.value,
+        ref: d,
+        prefixCls: X,
+        autocomplete: E.value,
+        onBlur: H,
+        onFocus: $,
+        prefix: S,
+        suffix: dt,
+        allowClear: O,
+        addonAfter: ge && b(je, null, {
+          default: () => [b(We, null, {
+            default: () => [ge]
+          })]
+        }),
+        addonBefore: le && b(je, null, {
+          default: () => [b(We, null, {
+            default: () => [le]
+          })]
+        }),
+        class: [o.class, B.value],
+        inputClassName: G({
+          [`${X}-sm`]: g.value === "small",
+          [`${X}-lg`]: g.value === "large",
+          [`${X}-rtl`]: v.value === "rtl",
+          [`${X}-borderless`]: !j
+        }, !ut && ue(X, u.value), R.value),
+        affixWrapperClassName: G({
+          [`${X}-affix-wrapper-sm`]: g.value === "small",
+          [`${X}-affix-wrapper-lg`]: g.value === "large",
+          [`${X}-affix-wrapper-rtl`]: v.value === "rtl",
+          [`${X}-affix-wrapper-borderless`]: !j
+        }, ue(`${X}-affix-wrapper`, u.value, s), R.value),
+        wrapperClassName: G({
+          [`${X}-group-rtl`]: v.value === "rtl"
+        }, R.value),
+        groupClassName: G({
+          [`${X}-group-wrapper-sm`]: g.value === "small",
+          [`${X}-group-wrapper-lg`]: g.value === "large",
+          [`${X}-group-wrapper-rtl`]: v.value === "rtl"
+        }, ue(`${X}-group-wrapper`, u.value, s), R.value)
+      }), p(p({}, t), {
+        clearIcon: ct
+      })));
+    };
+  }
+}), kt = ee({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AInputGroup",
+  inheritAttrs: !1,
+  props: {
+    prefixCls: String,
+    size: {
+      type: String
+    },
+    compact: {
+      type: Boolean,
+      default: void 0
+    }
+  },
+  setup(e, n) {
+    let {
+      slots: t,
+      attrs: o
+    } = n;
+    const {
+      prefixCls: a,
+      direction: f,
+      getPrefixCls: d
+    } = ve("input-group", e), l = pe.useInject();
+    pe.useProvide(l, {
+      isFormItemInput: !1
+    });
+    const r = J(() => d("input")), [u, v] = He(r), h = J(() => {
+      const c = a.value;
+      return {
+        [`${c}`]: !0,
+        [v.value]: !0,
+        [`${c}-lg`]: e.size === "large",
+        [`${c}-sm`]: e.size === "small",
+        [`${c}-compact`]: e.compact,
+        [`${c}-rtl`]: f.value === "rtl"
+      };
+    });
+    return () => {
+      var c;
+      return u(b("span", D(D({}, o), {}, {
+        class: G(h.value, o.class)
+      }), [(c = t.default) === null || c === void 0 ? void 0 : c.call(t)]));
+    };
+  }
+});
+var en = function(e, n) {
+  var t = {};
+  for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && n.indexOf(o) < 0 && (t[o] = e[o]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var a = 0, o = Object.getOwnPropertySymbols(e); a < o.length; a++)
+    n.indexOf(o[a]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[a]) && (t[o[a]] = e[o[a]]);
+  return t;
+};
+const it = ee({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AInputSearch",
+  inheritAttrs: !1,
+  props: p(p({}, Ce()), {
+    inputPrefixCls: String,
+    // 不能设置默认值 https://github.com/vueComponent/ant-design-vue/issues/1916
+    enterButton: te.any,
+    onSearch: {
+      type: Function
+    }
+  }),
+  setup(e, n) {
+    let {
+      slots: t,
+      attrs: o,
+      expose: a,
+      emit: f
+    } = n;
+    const d = Y(), l = Y(!1);
+    a({
+      focus: () => {
+        var x;
+        (x = d.value) === null || x === void 0 || x.focus();
+      },
+      blur: () => {
+        var x;
+        (x = d.value) === null || x === void 0 || x.blur();
+      }
+    });
+    const v = (x) => {
+      f("update:value", x.target.value), x && x.target && x.type === "click" && f("search", x.target.value, x), f("change", x);
+    }, h = (x) => {
+      var y;
+      document.activeElement === ((y = d.value) === null || y === void 0 ? void 0 : y.input) && x.preventDefault();
+    }, c = (x) => {
+      var y, i;
+      f("search", (i = (y = d.value) === null || y === void 0 ? void 0 : y.input) === null || i === void 0 ? void 0 : i.stateValue, x);
+    }, E = (x) => {
+      l.value || e.loading || c(x);
+    }, P = (x) => {
+      l.value = !0, f("compositionstart", x);
+    }, B = (x) => {
+      l.value = !1, f("compositionend", x);
+    }, {
+      prefixCls: g,
+      getPrefixCls: T,
+      direction: R,
+      size: A
+    } = ve("input-search", e), M = J(() => T("input", e.inputPrefixCls));
+    return () => {
+      var x, y, i, _;
+      const {
+        disabled: I,
+        loading: H,
+        addonAfter: $ = (x = t.addonAfter) === null || x === void 0 ? void 0 : x.call(t),
+        suffix: C = (y = t.suffix) === null || y === void 0 ? void 0 : y.call(t)
+      } = e, m = en(e, ["disabled", "loading", "addonAfter", "suffix"]);
+      let {
+        enterButton: z = (_ = (i = t.enterButton) === null || i === void 0 ? void 0 : i.call(t)) !== null && _ !== void 0 ? _ : !1
+      } = e;
+      z = z || z === "";
+      const F = typeof z == "boolean" ? b(It, null, null) : null, V = `${g.value}-button`, U = Array.isArray(z) ? z[0] : z;
+      let K;
+      const s = U.type && Nt(U.type) && U.type.__ANT_BUTTON;
+      if (s || U.tagName === "button")
+        K = ae(U, p({
+          onMousedown: h,
+          onClick: c,
+          key: "enterButton"
+        }, s ? {
+          class: V,
+          size: A.value
+        } : {}), !1);
+      else {
+        const O = F && !z;
+        K = b(Je, {
+          class: V,
+          type: z ? "primary" : void 0,
+          size: A.value,
+          disabled: I,
+          key: "enterButton",
+          onMousedown: h,
+          onClick: c,
+          loading: H,
+          icon: O ? F : null
+        }, {
+          default: () => [O ? null : F || z]
+        });
+      }
+      $ && (K = [K, $]);
+      const w = G(g.value, {
+        [`${g.value}-rtl`]: R.value === "rtl",
+        [`${g.value}-${A.value}`]: !!A.value,
+        [`${g.value}-with-button`]: !!z
+      }, o.class);
+      return b(L, D(D(D({
+        ref: d
+      }, k(m, ["onUpdate:value", "onSearch", "enterButton"])), o), {}, {
+        onPressEnter: E,
+        onCompositionstart: P,
+        onCompositionend: B,
+        size: A.value,
+        prefixCls: M.value,
+        addonAfter: K,
+        suffix: C,
+        onChange: v,
+        class: w,
+        disabled: I
+      }), t);
+    };
+  }
+}), De = (e) => e != null && (Array.isArray(e) ? Ke(e).length : !0);
+function tn(e) {
+  return De(e.addonBefore) || De(e.addonAfter);
+}
+const nn = ["text", "input"], on = ee({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ClearableLabeledInput",
+  inheritAttrs: !1,
+  props: {
+    prefixCls: String,
+    inputType: te.oneOf(zt("text", "input")),
+    value: oe(),
+    defaultValue: oe(),
+    allowClear: {
+      type: Boolean,
+      default: void 0
+    },
+    element: oe(),
+    handleReset: Function,
+    disabled: {
+      type: Boolean,
+      default: void 0
+    },
+    direction: {
+      type: String
+    },
+    size: {
+      type: String
+    },
+    suffix: oe(),
+    prefix: oe(),
+    addonBefore: oe(),
+    addonAfter: oe(),
+    readonly: {
+      type: Boolean,
+      default: void 0
+    },
+    focused: {
+      type: Boolean,
+      default: void 0
+    },
+    bordered: {
+      type: Boolean,
+      default: !0
+    },
+    triggerFocus: {
+      type: Function
+    },
+    hidden: Boolean,
+    status: String,
+    hashId: String
+  },
+  setup(e, n) {
+    let {
+      slots: t,
+      attrs: o
+    } = n;
+    const a = pe.useInject(), f = (l) => {
+      const {
+        value: r,
+        disabled: u,
+        readonly: v,
+        handleReset: h,
+        suffix: c = t.suffix
+      } = e, E = !u && !v && r, P = `${l}-clear-icon`;
+      return b(Ze, {
+        onClick: h,
+        onMousedown: (B) => B.preventDefault(),
+        class: G({
+          [`${P}-hidden`]: !E,
+          [`${P}-has-suffix`]: !!c
+        }, P),
+        role: "button"
+      }, null);
+    }, d = (l, r) => {
+      const {
+        value: u,
+        allowClear: v,
+        direction: h,
+        bordered: c,
+        hidden: E,
+        status: P,
+        addonAfter: B = t.addonAfter,
+        addonBefore: g = t.addonBefore,
+        hashId: T
+      } = e, {
+        status: R,
+        hasFeedback: A
+      } = a;
+      if (!v)
+        return ae(r, {
+          value: u,
+          disabled: e.disabled
+        });
+      const M = G(`${l}-affix-wrapper`, `${l}-affix-wrapper-textarea-with-clear-btn`, ue(`${l}-affix-wrapper`, Oe(R, P), A), {
+        [`${l}-affix-wrapper-rtl`]: h === "rtl",
+        [`${l}-affix-wrapper-borderless`]: !c,
+        // className will go to addon wrapper
+        [`${o.class}`]: !tn({
+          addonAfter: B,
+          addonBefore: g
+        }) && o.class
+      }, T);
+      return b("span", {
+        class: M,
+        style: o.style,
+        hidden: E
+      }, [ae(r, {
+        style: null,
+        value: u,
+        disabled: e.disabled
+      }), f(l)]);
+    };
+    return () => {
+      var l;
+      const {
+        prefixCls: r,
+        inputType: u,
+        element: v = (l = t.element) === null || l === void 0 ? void 0 : l.call(t)
+      } = e;
+      return u === nn[0] ? d(r, v) : null;
+    };
+  }
+}), an = `
+  min-height:0 !important;
+  max-height:none !important;
+  height:0 !important;
+  visibility:hidden !important;
+  overflow:hidden !important;
+  position:absolute !important;
+  z-index:-1000 !important;
+  top:0 !important;
+  right:0 !important;
+  pointer-events: none !important;
+`, ln = ["letter-spacing", "line-height", "padding-top", "padding-bottom", "font-family", "font-weight", "font-size", "font-variant", "text-rendering", "text-transform", "width", "text-indent", "padding-left", "padding-right", "border-width", "box-sizing", "word-break", "white-space"], _e = {};
+let Z;
+function rn(e) {
+  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
+  const t = e.getAttribute("id") || e.getAttribute("data-reactid") || e.getAttribute("name");
+  if (n && _e[t])
+    return _e[t];
+  const o = window.getComputedStyle(e), a = o.getPropertyValue("box-sizing") || o.getPropertyValue("-moz-box-sizing") || o.getPropertyValue("-webkit-box-sizing"), f = parseFloat(o.getPropertyValue("padding-bottom")) + parseFloat(o.getPropertyValue("padding-top")), d = parseFloat(o.getPropertyValue("border-bottom-width")) + parseFloat(o.getPropertyValue("border-top-width")), r = {
+    sizingStyle: ln.map((u) => `${u}:${o.getPropertyValue(u)}`).join(";"),
+    paddingSize: f,
+    borderSize: d,
+    boxSizing: a
+  };
+  return n && t && (_e[t] = r), r;
+}
+function sn(e) {
+  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, o = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : null;
+  Z || (Z = document.createElement("textarea"), Z.setAttribute("tab-index", "-1"), Z.setAttribute("aria-hidden", "true"), document.body.appendChild(Z)), e.getAttribute("wrap") ? Z.setAttribute("wrap", e.getAttribute("wrap")) : Z.removeAttribute("wrap");
+  const {
+    paddingSize: a,
+    borderSize: f,
+    boxSizing: d,
+    sizingStyle: l
+  } = rn(e, n);
+  Z.setAttribute("style", `${l};${an}`), Z.value = e.value || e.placeholder || "";
+  let r, u, v, h = Z.scrollHeight;
+  if (d === "border-box" ? h += f : d === "content-box" && (h -= a), t !== null || o !== null) {
+    Z.value = " ";
+    const E = Z.scrollHeight - a;
+    t !== null && (r = E * t, d === "border-box" && (r = r + a + f), h = Math.max(r, h)), o !== null && (u = E * o, d === "border-box" && (u = u + a + f), v = h > u ? "" : "hidden", h = Math.min(u, h));
+  }
+  const c = {
+    height: `${h}px`,
+    overflowY: v,
+    resize: "none"
+  };
+  return r && (c.minHeight = `${r}px`), u && (c.maxHeight = `${u}px`), c;
+}
+const Ie = 0, ze = 1, Re = 2, dn = ee({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ResizableTextArea",
+  inheritAttrs: !1,
+  props: rt(),
+  setup(e, n) {
+    let {
+      attrs: t,
+      emit: o,
+      expose: a
+    } = n, f, d;
+    const l = W(), r = W({}), u = W(Re);
+    Ee(() => {
+      be.cancel(f), be.cancel(d);
+    });
+    const v = () => {
+      try {
+        if (l.value && document.activeElement === l.value.input) {
+          const y = l.value.getSelectionStart(), i = l.value.getSelectionEnd(), _ = l.value.getScrollTop();
+          l.value.setSelectionRange(y, i), l.value.setScrollTop(_);
+        }
+      } catch (y) {
+      }
+    }, h = W(), c = W();
+    Be(() => {
+      const y = e.autoSize || e.autosize;
+      y ? (h.value = y.minRows, c.value = y.maxRows) : (h.value = void 0, c.value = void 0);
+    });
+    const E = J(() => !!(e.autoSize || e.autosize)), P = () => {
+      u.value = Ie;
+    };
+    de([() => e.value, h, c, E], () => {
+      E.value && P();
+    }, {
+      immediate: !0
+    });
+    const B = W();
+    de([u, l], () => {
+      if (l.value)
+        if (u.value === Ie)
+          u.value = ze;
+        else if (u.value === ze) {
+          const y = sn(l.value.input, !1, h.value, c.value);
+          u.value = Re, B.value = y;
+        } else
+          v();
+    }, {
+      immediate: !0,
+      flush: "post"
+    });
+    const g = Ue(), T = W(), R = () => {
+      be.cancel(T.value);
+    }, A = (y) => {
+      u.value === Re && (o("resize", y), E.value && (R(), T.value = be(() => {
+        P();
+      })));
+    };
+    Ee(() => {
+      R();
+    }), a({
+      resizeTextarea: () => {
+        P();
+      },
+      textArea: J(() => {
+        var y;
+        return (y = l.value) === null || y === void 0 ? void 0 : y.input;
+      }),
+      instance: g
+    }), Rt(e.autosize === void 0, "Input.TextArea", "autosize is deprecated, please use autoSize instead.");
+    const x = () => {
+      const {
+        prefixCls: y,
+        disabled: i
+      } = e, _ = k(e, ["prefixCls", "onPressEnter", "autoSize", "autosize", "defaultValue", "allowClear", "type", "maxlength", "valueModifiers"]), I = G(y, t.class, {
+        [`${y}-disabled`]: i
+      }), H = E.value ? B.value : null, $ = [t.style, r.value, H], C = p(p(p({}, _), t), {
+        style: $,
+        class: I
+      });
+      return (u.value === Ie || u.value === ze) && $.push({
+        overflowX: "hidden",
+        overflowY: "hidden"
+      }), C.autofocus || delete C.autofocus, C.rows === 0 && delete C.rows, b(Et, {
+        onResize: A,
+        disabled: !E.value
+      }, {
+        default: () => [b(qe, D(D({}, C), {}, {
+          ref: l,
+          tag: "textarea"
+        }), null)]
+      });
+    };
+    return () => x();
+  }
+});
+function st(e, n) {
+  return [...e || ""].slice(0, n).join("");
+}
+function Le(e, n, t, o) {
+  let a = t;
+  return e ? a = st(t, o) : [...n || ""].length < t.length && [...t || ""].length > o && (a = n), a;
+}
+const un = ee({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ATextarea",
+  inheritAttrs: !1,
+  props: rt(),
+  setup(e, n) {
+    let {
+      attrs: t,
+      expose: o,
+      emit: a
+    } = n;
+    var f;
+    const d = Qe(), l = pe.useInject(), r = J(() => Oe(l.status, e.status)), u = Y((f = e.value) !== null && f !== void 0 ? f : e.defaultValue), v = Y(), h = Y(""), {
+      prefixCls: c,
+      size: E,
+      direction: P
+    } = ve("input", e), [B, g] = He(c), T = Ye(), R = J(() => e.showCount === "" || e.showCount || !1), A = J(() => Number(e.maxlength) > 0), M = Y(!1), x = Y(), y = Y(0), i = (s) => {
+      M.value = !0, x.value = h.value, y.value = s.currentTarget.selectionStart, a("compositionstart", s);
+    }, _ = (s) => {
+      var w;
+      M.value = !1;
+      let O = s.currentTarget.value;
+      if (A.value) {
+        const j = y.value >= e.maxlength + 1 || y.value === ((w = x.value) === null || w === void 0 ? void 0 : w.length);
+        O = Le(j, x.value, O, e.maxlength);
+      }
+      O !== h.value && (C(O), fe(s.currentTarget, s, F, O)), a("compositionend", s);
+    }, I = Ue();
+    de(() => e.value, () => {
+      var s;
+      "value" in I.vnode.props, u.value = (s = e.value) !== null && s !== void 0 ? s : "";
+    });
+    const H = (s) => {
+      var w;
+      ot((w = v.value) === null || w === void 0 ? void 0 : w.textArea, s);
+    }, $ = () => {
+      var s, w;
+      (w = (s = v.value) === null || s === void 0 ? void 0 : s.textArea) === null || w === void 0 || w.blur();
+    }, C = (s, w) => {
+      u.value !== s && (e.value === void 0 ? u.value = s : $e(() => {
+        var O, j, S;
+        v.value.textArea.value !== h.value && ((S = (O = v.value) === null || O === void 0 ? void 0 : (j = O.instance).update) === null || S === void 0 || S.call(j));
+      }), $e(() => {
+        w && w();
+      }));
+    }, m = (s) => {
+      s.keyCode === 13 && a("pressEnter", s), a("keydown", s);
+    }, z = (s) => {
+      const {
+        onBlur: w
+      } = e;
+      w == null || w(s), d.onFieldBlur();
+    }, F = (s) => {
+      a("update:value", s.target.value), a("change", s), a("input", s), d.onFieldChange();
+    }, V = (s) => {
+      fe(v.value.textArea, s, F), C("", () => {
+        H();
+      });
+    }, U = (s) => {
+      let w = s.target.value;
+      if (u.value !== w) {
+        if (A.value) {
+          const O = s.target, j = O.selectionStart >= e.maxlength + 1 || O.selectionStart === w.length || !O.selectionStart;
+          w = Le(j, h.value, w, e.maxlength);
+        }
+        fe(s.currentTarget, s, F, w), C(w);
+      }
+    }, K = () => {
+      var s, w;
+      const {
+        class: O
+      } = t, {
+        bordered: j = !0
+      } = e, S = p(p(p({}, k(e, ["allowClear"])), t), {
+        class: [{
+          [`${c.value}-borderless`]: !j,
+          [`${O}`]: O && !R.value,
+          [`${c.value}-sm`]: E.value === "small",
+          [`${c.value}-lg`]: E.value === "large"
+        }, ue(c.value, r.value), g.value],
+        disabled: T.value,
+        showCount: null,
+        prefixCls: c.value,
+        onInput: U,
+        onChange: U,
+        onBlur: z,
+        onKeydown: m,
+        onCompositionstart: i,
+        onCompositionend: _
+      });
+      return !((s = e.valueModifiers) === null || s === void 0) && s.lazy && delete S.onInput, b(dn, D(D({}, S), {}, {
+        id: (w = S == null ? void 0 : S.id) !== null && w !== void 0 ? w : d.id.value,
+        ref: v,
+        maxlength: e.maxlength,
+        lazy: e.lazy
+      }), null);
+    };
+    return o({
+      focus: H,
+      blur: $,
+      resizableTextArea: v
+    }), Be(() => {
+      let s = Pe(u.value);
+      !M.value && A.value && (e.value === null || e.value === void 0) && (s = st(s, e.maxlength)), h.value = s;
+    }), () => {
+      var s;
+      const {
+        maxlength: w,
+        bordered: O = !0,
+        hidden: j
+      } = e, {
+        style: S,
+        class: ne
+      } = t, ge = p(p(p({}, e), t), {
+        prefixCls: c.value,
+        inputType: "text",
+        handleReset: V,
+        direction: P.value,
+        bordered: O,
+        style: R.value ? void 0 : S,
+        hashId: g.value,
+        disabled: (s = e.disabled) !== null && s !== void 0 ? s : T.value
+      });
+      let le = b(on, D(D({}, ge), {}, {
+        value: h.value,
+        status: e.status
+      }), {
+        element: K
+      });
+      if (R.value || l.hasFeedback) {
+        const he = [...h.value].length;
+        let re = "";
+        typeof R.value == "object" ? re = R.value.formatter({
+          value: h.value,
+          count: he,
+          maxlength: w
+        }) : re = `${he}${A.value ? ` / ${w}` : ""}`, le = b("div", {
+          hidden: j,
+          class: G(`${c.value}-textarea`, {
+            [`${c.value}-textarea-rtl`]: P.value === "rtl",
+            [`${c.value}-textarea-show-count`]: R.value,
+            [`${c.value}-textarea-in-form-item`]: l.isFormItemInput
+          }, `${c.value}-textarea-show-count`, ne, g.value),
+          style: S,
+          "data-count": typeof re != "object" ? re : void 0
+        }, [le, l.hasFeedback && b("span", {
+          class: `${c.value}-textarea-suffix`
+        }, [l.feedbackIcon])]);
+      }
+      return B(le);
+    };
+  }
+});
+var cn = function(e, n) {
+  var t = {};
+  for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && n.indexOf(o) < 0 && (t[o] = e[o]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var a = 0, o = Object.getOwnPropertySymbols(e); a < o.length; a++)
+    n.indexOf(o[a]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[a]) && (t[o[a]] = e[o[a]]);
+  return t;
+};
+const fn = {
+  click: "onClick",
+  hover: "onMouseover"
+}, pn = (e) => e ? b(Pt, null, null) : b(Bt, null, null), vn = ee({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AInputPassword",
+  inheritAttrs: !1,
+  props: p(p({}, Ce()), {
+    prefixCls: String,
+    inputPrefixCls: String,
+    action: {
+      type: String,
+      default: "click"
+    },
+    visibilityToggle: {
+      type: Boolean,
+      default: !0
+    },
+    visible: {
+      type: Boolean,
+      default: void 0
+    },
+    "onUpdate:visible": Function,
+    iconRender: Function
+  }),
+  setup(e, n) {
+    let {
+      slots: t,
+      attrs: o,
+      expose: a,
+      emit: f
+    } = n;
+    const d = Y(!1), l = () => {
+      const {
+        disabled: g
+      } = e;
+      g || (d.value = !d.value, f("update:visible", d.value));
+    };
+    Be(() => {
+      e.visible !== void 0 && (d.value = !!e.visible);
+    });
+    const r = Y();
+    a({
+      focus: () => {
+        var g;
+        (g = r.value) === null || g === void 0 || g.focus();
+      },
+      blur: () => {
+        var g;
+        (g = r.value) === null || g === void 0 || g.blur();
+      }
+    });
+    const h = (g) => {
+      const {
+        action: T,
+        iconRender: R = t.iconRender || pn
+      } = e, A = fn[T] || "", M = R(d.value), x = {
+        [A]: l,
+        class: `${g}-icon`,
+        key: "passwordIcon",
+        onMousedown: (y) => {
+          y.preventDefault();
+        },
+        onMouseup: (y) => {
+          y.preventDefault();
+        }
+      };
+      return ae(At(M) ? M : b("span", null, [M]), x);
+    }, {
+      prefixCls: c,
+      getPrefixCls: E
+    } = ve("input-password", e), P = J(() => E("input", e.inputPrefixCls)), B = () => {
+      const {
+        size: g,
+        visibilityToggle: T
+      } = e, R = cn(e, ["size", "visibilityToggle"]), A = T && h(c.value), M = G(c.value, o.class, {
+        [`${c.value}-${g}`]: !!g
+      }), x = p(p(p({}, k(R, ["suffix", "iconRender", "action"])), o), {
+        type: d.value ? "text" : "password",
+        class: M,
+        prefixCls: P.value,
+        suffix: A
+      });
+      return g && (x.size = g), b(L, D({
+        ref: r
+      }, x), t);
+    };
+    return () => B();
+  }
+});
+L.Group = kt;
+L.Search = it;
+L.TextArea = un;
+L.Password = vn;
+L.install = function(e) {
+  return e.component(L.name, L), e.component(L.Group.name, L.Group), e.component(L.Search.name, L.Search), e.component(L.TextArea.name, L.TextArea), e.component(L.Password.name, L.Password), e;
+};
+const gn = { class: "s-user-select-common" }, hn = { class: "modal-container" }, mn = { class: "side" }, bn = { class: "main" }, xn = { class: "filter" }, yn = { class: "list-wrap" }, $n = { class: "item left-wrap" }, Sn = { class: "head" }, Cn = { class: "sub-title" }, wn = { class: "right" }, _n = /* @__PURE__ */ N("a", { href: "javascript:;" }, "节点全选", -1), In = ["onClick"], zn = { class: "icon" }, Rn = { class: "cont" }, En = { class: "name" }, An = { class: "job" }, Pn = {
+  key: 0,
+  class: "not-more"
+}, Bn = { class: "item right-wrap" }, On = { class: "head" }, Tn = /* @__PURE__ */ N("div", { class: "sub-title" }, "本次已选", -1), Hn = { class: "icon" }, Nn = { class: "cont" }, Mn = { class: "name" }, Fn = { class: "job" }, Vn = ["onClick"], Yn = {
+  __name: "SUserSelect",
+  props: {
+    modelValue: {
+      type: [String, Array],
+      default() {
+        return "";
+      }
+    },
+    placeholder: {
+      type: String,
+      default: "请选择"
+    },
+    // 弹窗标题
+    title: {
+      type: String,
+      default: "选择用户"
+    }
+  },
+  emits: ["change:modelValue"],
+  setup(e, { emit: n }) {
+    const t = n, o = e, a = W(""), f = W(""), d = W(""), l = W(!1), r = W(!1), u = W({}), v = W([]), h = W(1), c = W(0), E = W(!1);
+    let P = null;
+    de(() => o.modelValue, ($) => {
+      $ && (a.value = $);
+    }, { immediate: !0 });
+    const B = () => {
+      r.value = !0;
+    }, g = () => {
+      r.value = !1, A();
+    }, T = () => {
+      E.value = !E.value, E.value ? R() : A();
+    }, R = () => {
+      v.value.forEach(($) => $.selected = !0), a.value = v.value.map(($) => $.name).join(",");
+    }, A = () => {
+      E.value = !1, v.value.forEach(($) => $.selected = !1), a.value = "";
+    }, M = () => {
+      r.value = !1, t("change:modelValue", v.value.filter(($) => $.selected));
+    }, x = ($, C) => {
+      u.value = C.node, h.value = 1, c.value = 0, v.value = [], l.value = !0, y($);
+    }, y = ($) => Me(this, null, function* () {
+      const C = {
+        pageNum: h.value,
+        pageSize: 20,
+        searchValue: d.value,
+        unitid: $.join(","),
+        containsChild: !0
+      };
+      l.value = !0;
+      const m = yield bt(C);
+      v.value = v.value.concat(m.list), c.value = m.pages, P = setTimeout(() => {
+        l.value = !1, clearTimeout(P);
+      }, 200);
+    }), i = ($) => {
+      $.selected = !$.selected, a.value = v.value.filter((C) => C.selected).map((C) => C.name).join(",");
+    }, _ = ({ target: { offsetHeight: $, scrollHeight: C, scrollTop: m } }) => {
+      l.value || $ + m >= C - 20 && h.value <= c.value && (h.value++, y([u.value.id]));
+    }, I = ($) => xt($), H = ($) => yt($);
+    return ($, C) => {
+      const m = it, z = Je, F = we("s-tree"), V = we("DownOutlined"), U = Ot, K = Tt, s = Ht, w = we("CloseCircleOutlined"), O = Mt, j = pt("removeAriaHidden");
+      return vt((ie(), se("div", gn, [
+        b(m, {
+          value: a.value,
+          "onUpdate:value": C[0] || (C[0] = (S) => a.value = S),
+          readonly: "",
+          placeholder: e.placeholder,
+          onSearch: B
+        }, null, 8, ["value", "placeholder"]),
+        b(O, {
+          wrapClassName: "s-user-select-modal",
+          open: r.value,
+          "onUpdate:open": C[4] || (C[4] = (S) => r.value = S),
+          title: e.title,
+          onOk: M,
+          keyboard: !1,
+          maskClosable: !1,
+          width: "1000px"
+        }, {
+          footer: Q(() => [
+            b(z, {
+              key: "back",
+              onClick: g
+            }, {
+              default: Q(() => [
+                me("取消")
+              ]),
+              _: 1
+            }),
+            b(z, {
+              key: "submit",
+              type: "primary",
+              loading: l.value,
+              onClick: M
+            }, {
+              default: Q(() => [
+                me("确认")
+              ]),
+              _: 1
+            }, 8, ["loading"])
+          ]),
+          default: Q(() => [
+            N("div", hn, [
+              N("div", mn, [
+                b(F, {
+                  levelOneChildren: I,
+                  levelTwoChildren: H,
+                  "onSelect:modelValue": x,
+                  select: f.value,
+                  "onUpdate:select": C[1] || (C[1] = (S) => f.value = S),
+                  height: 470
+                }, null, 8, ["select"])
+              ]),
+              N("div", bn, [
+                N("div", xn, [
+                  b(m, {
+                    value: d.value,
+                    "onUpdate:value": C[2] || (C[2] = (S) => d.value = S),
+                    placeholder: $.$l("请输入", "components.placeInput"),
+                    style: { width: "340px" },
+                    onSearch: B
+                  }, null, 8, ["value", "placeholder"])
+                ]),
+                N("div", yn, [
+                  N("div", $n, [
+                    N("div", Sn, [
+                      N("div", Cn, q(u.value.title || u.value.name), 1),
+                      N("div", wn, [
+                        b(z, {
+                          type: "link",
+                          onClick: T
+                        }, {
+                          default: Q(() => [
+                            me(q(E.value ? "反选" : "全选"), 1)
+                          ]),
+                          _: 1
+                        }),
+                        b(s, null, {
+                          overlay: Q(() => [
+                            b(K, null, {
+                              default: Q(() => [
+                                b(U, null, {
+                                  default: Q(() => [
+                                    _n
+                                  ]),
+                                  _: 1
+                                })
+                              ]),
+                              _: 1
+                            })
+                          ]),
+                          default: Q(() => [
+                            N("a", {
+                              class: "ant-dropdown-link",
+                              onClick: C[3] || (C[3] = gt(() => {
+                              }, ["prevent"]))
+                            }, [
+                              b(V)
+                            ])
+                          ]),
+                          _: 1
+                        })
+                      ])
+                    ]),
+                    N("div", {
+                      class: "user-list",
+                      onScroll: _
+                    }, [
+                      (ie(!0), se(ye, null, Fe(v.value, (S) => (ie(), se("div", {
+                        class: ht(["item", { select: !!S.selected }]),
+                        key: S.id,
+                        onClick: (ne) => i(S)
+                      }, [
+                        N("div", zn, q(S.name && S.name.slice(0, 1)), 1),
+                        N("div", Rn, [
+                          N("div", En, q(S.name) + " (" + q(S.nameOrCount) + ")", 1),
+                          N("div", An, q(S.deptName), 1)
+                        ])
+                      ], 10, In))), 128)),
+                      h.value >= c.value ? (ie(), se("div", Pn, "没有更多了")) : mt("", !0)
+                    ], 32)
+                  ]),
+                  N("div", Bn, [
+                    N("div", On, [
+                      Tn,
+                      b(z, {
+                        type: "link",
+                        onClick: A
+                      }, {
+                        default: Q(() => [
+                          me("清除")
+                        ]),
+                        _: 1
+                      })
+                    ]),
+                    N("div", {
+                      class: "user-list select-list",
+                      onScroll: _
+                    }, [
+                      (ie(!0), se(ye, null, Fe(v.value.filter((S) => S.selected), (S) => (ie(), se("div", {
+                        class: "item",
+                        key: S.id
+                      }, [
+                        N("div", Hn, q(S.name && S.name.slice(0, 1)), 1),
+                        N("div", Nn, [
+                          N("div", Mn, q(S.name) + " (" + q(S.nameOrCount) + ")", 1),
+                          N("div", Fn, q(S.deptName), 1)
+                        ]),
+                        N("div", {
+                          class: "icon no-bg",
+                          onClick: (ne) => i(S)
+                        }, [
+                          b(w)
+                        ], 8, Vn)
+                      ]))), 128))
+                    ], 32)
+                  ])
+                ])
+              ])
+            ])
+          ]),
+          _: 1
+        }, 8, ["open", "title"])
+      ])), [
+        [j]
+      ]);
+    };
+  }
+};
+export {
+  Yn as default
+};

+ 32 - 0
lib/js/common.js

@@ -0,0 +1,32 @@
+import { bA as i } from "./index2.js";
+function o(t = "", n = "") {
+  const e = window.$utils.env.VITE_APP_SYS_SERVER_NAME;
+  return window.$utils.http({
+    url: `${e}/office/recursionChildrenWithAuth?parentId=${t}&excludeIds=${n}`
+  });
+}
+function u(t = "") {
+  const n = window.$utils.env.VITE_APP_SYS_SERVER_NAME;
+  return window.$utils.http({
+    url: `${n}/office/levelTwoChildrenWithAuth?parentId=${t}`
+  });
+}
+function r(t = "") {
+  const n = window.$utils.env.VITE_APP_SYS_SERVER_NAME;
+  return window.$utils.http({
+    url: `${n}/office/levelOneChildrenWithAuth?parentId=${t}`
+  });
+}
+function s(t) {
+  const n = window.$utils.env.VITE_APP_SYS_SERVER_NAME;
+  return window.$utils.http({
+    method: "get",
+    url: `${n}/v1/units/jobs?${i.stringify(t)}`
+  });
+}
+export {
+  u as a,
+  o as b,
+  s as g,
+  r as l
+};

+ 86 - 0
lib/js/debounce.js

@@ -0,0 +1,86 @@
+import { an as C, aT as M, aa as I, ai as N } from "./index2.js";
+var j = "[object Symbol]";
+function B(e) {
+  return typeof e == "symbol" || C(e) && M(e) == j;
+}
+var R = /\s/;
+function $(e) {
+  for (var i = e.length; i-- && R.test(e.charAt(i)); )
+    ;
+  return i;
+}
+var F = /^\s+/;
+function _(e) {
+  return e && e.slice(0, $(e) + 1).replace(F, "");
+}
+var k = NaN, D = /^[-+]0x[0-9a-f]+$/i, G = /^0b[01]+$/i, H = /^0o[0-7]+$/i, P = parseInt;
+function S(e) {
+  if (typeof e == "number")
+    return e;
+  if (B(e))
+    return k;
+  if (I(e)) {
+    var i = typeof e.valueOf == "function" ? e.valueOf() : e;
+    e = I(i) ? i + "" : i;
+  }
+  if (typeof e != "string")
+    return e === 0 ? e : +e;
+  e = _(e);
+  var t = G.test(e);
+  return t || H.test(e) ? P(e.slice(2), t ? 2 : 8) : D.test(e) ? k : +e;
+}
+var y = function() {
+  return N.Date.now();
+}, U = "Expected a function", X = Math.max, q = Math.min;
+function J(e, i, t) {
+  var s, o, l, u, r, f, c = 0, h = !1, d = !1, T = !0;
+  if (typeof e != "function")
+    throw new TypeError(U);
+  i = S(i) || 0, I(t) && (h = !!t.leading, d = "maxWait" in t, l = d ? X(S(t.maxWait) || 0, i) : l, T = "trailing" in t ? !!t.trailing : T);
+  function b(n) {
+    var a = s, m = o;
+    return s = o = void 0, c = n, u = e.apply(m, a), u;
+  }
+  function O(n) {
+    return c = n, r = setTimeout(g, i), h ? b(n) : u;
+  }
+  function W(n) {
+    var a = n - f, m = n - c, E = i - a;
+    return d ? q(E, l - m) : E;
+  }
+  function p(n) {
+    var a = n - f, m = n - c;
+    return f === void 0 || a >= i || a < 0 || d && m >= l;
+  }
+  function g() {
+    var n = y();
+    if (p(n))
+      return v(n);
+    r = setTimeout(g, W(n));
+  }
+  function v(n) {
+    return r = void 0, T && s ? b(n) : (s = o = void 0, u);
+  }
+  function L() {
+    r !== void 0 && clearTimeout(r), c = 0, s = f = o = r = void 0;
+  }
+  function A() {
+    return r === void 0 ? u : v(y());
+  }
+  function x() {
+    var n = y(), a = p(n);
+    if (s = arguments, o = this, f = n, a) {
+      if (r === void 0)
+        return O(f);
+      if (d)
+        return clearTimeout(r), r = setTimeout(g, i), b(f);
+    }
+    return r === void 0 && (r = setTimeout(g, i)), u;
+  }
+  return x.cancel = L, x.flush = A, x;
+}
+export {
+  J as d,
+  B as i,
+  S as t
+};

File diff suppressed because it is too large
+ 0 - 0
lib/js/index.js


File diff suppressed because it is too large
+ 1551 - 0
lib/js/index2.js


+ 2233 - 0
lib/js/index3.js

@@ -0,0 +1,2233 @@
+import { P as s, _ as d, aV as zn, a as q, m as pe, c as Qe, aW as Nn, K as I, b as Vn, i as Ln, aX as Hn, N as An, n as Wn, S as Kn, O as _n, aY as jn, aZ as Xn, J as Fe, a_ as Un, a$ as Gn, b0 as Yn, b1 as qn, t as Pe, b2 as je, b3 as Xe, I as Z, b4 as Je, g as Qn, f as Jn } from "./index2.js";
+import { defineComponent as ce, computed as N, ref as se, createVNode as p, isVNode as Zn, cloneVNode as kn, inject as De, provide as Ee, shallowRef as W, watchEffect as Ze, onMounted as re, watch as ae, createTextVNode as Te, Fragment as ge, onBeforeUnmount as Oe, isRef as eo, reactive as Ue, toRefs as no } from "vue";
+import { B as oo } from "./statusUtils.js";
+import { p as ke } from "./pickAttrs.js";
+import { e as en } from "./index4.js";
+function to(e, n) {
+  if (!n || !n.length)
+    return null;
+  let o = !1;
+  function t(l, m) {
+    let [v, ...x] = m;
+    if (!v)
+      return [l];
+    const b = l.split(v);
+    return o = o || b.length > 1, b.reduce((u, C) => [...u, ...t(C, x)], []).filter((u) => u);
+  }
+  const i = t(e, n);
+  return o ? i : null;
+}
+var io = function(e, n) {
+  var o = {};
+  for (var t in e) Object.prototype.hasOwnProperty.call(e, t) && n.indexOf(t) < 0 && (o[t] = e[t]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var i = 0, t = Object.getOwnPropertySymbols(e); i < t.length; i++)
+    n.indexOf(t[i]) < 0 && Object.prototype.propertyIsEnumerable.call(e, t[i]) && (o[t[i]] = e[t[i]]);
+  return o;
+};
+const lo = (e) => {
+  const n = e === !0 ? 0 : 1;
+  return {
+    bottomLeft: {
+      points: ["tl", "bl"],
+      offset: [0, 4],
+      overflow: {
+        adjustX: n,
+        adjustY: 1
+      }
+    },
+    bottomRight: {
+      points: ["tr", "br"],
+      offset: [0, 4],
+      overflow: {
+        adjustX: n,
+        adjustY: 1
+      }
+    },
+    topLeft: {
+      points: ["bl", "tl"],
+      offset: [0, -4],
+      overflow: {
+        adjustX: n,
+        adjustY: 1
+      }
+    },
+    topRight: {
+      points: ["br", "tr"],
+      offset: [0, -4],
+      overflow: {
+        adjustX: n,
+        adjustY: 1
+      }
+    }
+  };
+}, ao = ce({
+  name: "SelectTrigger",
+  inheritAttrs: !1,
+  props: {
+    dropdownAlign: Object,
+    visible: {
+      type: Boolean,
+      default: void 0
+    },
+    disabled: {
+      type: Boolean,
+      default: void 0
+    },
+    dropdownClassName: String,
+    dropdownStyle: s.object,
+    placement: String,
+    empty: {
+      type: Boolean,
+      default: void 0
+    },
+    prefixCls: String,
+    popupClassName: String,
+    animation: String,
+    transitionName: String,
+    getPopupContainer: Function,
+    dropdownRender: Function,
+    containerWidth: Number,
+    dropdownMatchSelectWidth: s.oneOfType([Number, Boolean]).def(!0),
+    popupElement: s.any,
+    direction: String,
+    getTriggerDOMNode: Function,
+    onPopupVisibleChange: Function,
+    onPopupMouseEnter: Function,
+    onPopupFocusin: Function,
+    onPopupFocusout: Function
+  },
+  setup(e, n) {
+    let {
+      slots: o,
+      attrs: t,
+      expose: i
+    } = n;
+    const l = N(() => {
+      const {
+        dropdownMatchSelectWidth: v
+      } = e;
+      return lo(v);
+    }), m = se();
+    return i({
+      getPopupElement: () => m.value
+    }), () => {
+      const v = d(d({}, e), t), {
+        empty: x = !1
+      } = v, b = io(v, ["empty"]), {
+        visible: u,
+        dropdownAlign: C,
+        prefixCls: M,
+        popupElement: $,
+        dropdownClassName: g,
+        dropdownStyle: h,
+        direction: w = "ltr",
+        placement: c,
+        dropdownMatchSelectWidth: f,
+        containerWidth: P,
+        dropdownRender: S,
+        animation: E,
+        transitionName: T,
+        getPopupContainer: y,
+        getTriggerDOMNode: X,
+        onPopupVisibleChange: D,
+        onPopupMouseEnter: V,
+        onPopupFocusin: R,
+        onPopupFocusout: Y
+      } = b, L = `${M}-dropdown`;
+      let U = $;
+      S && (U = S({
+        menuNode: $,
+        props: e
+      }));
+      const F = E ? `${L}-${E}` : T, B = d({
+        minWidth: `${P}px`
+      }, h);
+      return typeof f == "number" ? B.width = `${f}px` : f && (B.width = `${P}px`), p(zn, q(q({}, e), {}, {
+        showAction: D ? ["click"] : [],
+        hideAction: D ? ["click"] : [],
+        popupPlacement: c || (w === "rtl" ? "bottomRight" : "bottomLeft"),
+        builtinPlacements: l.value,
+        prefixCls: L,
+        popupTransitionName: F,
+        popupAlign: C,
+        popupVisible: u,
+        getPopupContainer: y,
+        popupClassName: pe(g, {
+          [`${L}-empty`]: x
+        }),
+        popupStyle: B,
+        getTriggerDOMNode: X,
+        onPopupVisibleChange: D
+      }), {
+        default: o.default,
+        popup: () => p("div", {
+          ref: m,
+          onMouseenter: V,
+          onFocusin: R,
+          onFocusout: Y
+        }, [U])
+      });
+    };
+  }
+}), ue = (e, n) => {
+  let {
+    slots: o
+  } = n;
+  var t;
+  const {
+    class: i,
+    customizeIcon: l,
+    customizeIconProps: m,
+    onMousedown: v,
+    onClick: x
+  } = e;
+  let b;
+  return typeof l == "function" ? b = l(m) : b = Zn(l) ? kn(l) : l, p("span", {
+    class: i,
+    onMousedown: (u) => {
+      u.preventDefault(), v && v(u);
+    },
+    style: {
+      userSelect: "none",
+      WebkitUserSelect: "none"
+    },
+    unselectable: "on",
+    onClick: x,
+    "aria-hidden": !0
+  }, [b !== void 0 ? b : p("span", {
+    class: i.split(/\s+/).map((u) => `${u}-icon`)
+  }, [(t = o.default) === null || t === void 0 ? void 0 : t.call(o)])]);
+};
+ue.inheritAttrs = !1;
+ue.displayName = "TransBtn";
+ue.props = {
+  class: String,
+  customizeIcon: s.any,
+  customizeIconProps: s.any,
+  onMousedown: Function,
+  onClick: Function
+};
+const ro = {
+  inputRef: s.any,
+  prefixCls: String,
+  id: String,
+  inputElement: s.VueNode,
+  disabled: {
+    type: Boolean,
+    default: void 0
+  },
+  autofocus: {
+    type: Boolean,
+    default: void 0
+  },
+  autocomplete: String,
+  editable: {
+    type: Boolean,
+    default: void 0
+  },
+  activeDescendantId: String,
+  value: String,
+  open: {
+    type: Boolean,
+    default: void 0
+  },
+  tabindex: s.oneOfType([s.number, s.string]),
+  /** Pass accessibility props to input */
+  attrs: s.object,
+  onKeydown: {
+    type: Function
+  },
+  onMousedown: {
+    type: Function
+  },
+  onChange: {
+    type: Function
+  },
+  onPaste: {
+    type: Function
+  },
+  onCompositionstart: {
+    type: Function
+  },
+  onCompositionend: {
+    type: Function
+  },
+  onFocus: {
+    type: Function
+  },
+  onBlur: {
+    type: Function
+  }
+}, nn = ce({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "SelectInput",
+  inheritAttrs: !1,
+  props: ro,
+  setup(e) {
+    let n = null;
+    const o = De("VCSelectContainerEvent");
+    return () => {
+      var t;
+      const {
+        prefixCls: i,
+        id: l,
+        inputElement: m,
+        disabled: v,
+        tabindex: x,
+        autofocus: b,
+        autocomplete: u,
+        editable: C,
+        activeDescendantId: M,
+        value: $,
+        onKeydown: g,
+        onMousedown: h,
+        onChange: w,
+        onPaste: c,
+        onCompositionstart: f,
+        onCompositionend: P,
+        onFocus: S,
+        onBlur: E,
+        open: T,
+        inputRef: y,
+        attrs: X
+      } = e;
+      let D = m || p(oo, null, null);
+      const V = D.props || {}, {
+        onKeydown: R,
+        onInput: Y,
+        onFocus: L,
+        onBlur: U,
+        onMousedown: F,
+        onCompositionstart: B,
+        onCompositionend: oe,
+        style: te
+      } = V;
+      return D = Qe(D, d(d(d(d(d({
+        type: "search"
+      }, V), {
+        id: l,
+        ref: y,
+        disabled: v,
+        tabindex: x,
+        lazy: !1,
+        autocomplete: u || "off",
+        autofocus: b,
+        class: pe(`${i}-selection-search-input`, (t = D == null ? void 0 : D.props) === null || t === void 0 ? void 0 : t.class),
+        role: "combobox",
+        "aria-expanded": T,
+        "aria-haspopup": "listbox",
+        "aria-owns": `${l}_list`,
+        "aria-autocomplete": "list",
+        "aria-controls": `${l}_list`,
+        "aria-activedescendant": M
+      }), X), {
+        value: C ? $ : "",
+        readonly: !C,
+        unselectable: C ? null : "on",
+        style: d(d({}, te), {
+          opacity: C ? null : 0
+        }),
+        onKeydown: (O) => {
+          g(O), R && R(O);
+        },
+        onMousedown: (O) => {
+          h(O), F && F(O);
+        },
+        onInput: (O) => {
+          w(O), Y && Y(O);
+        },
+        onCompositionstart(O) {
+          f(O), B && B(O);
+        },
+        onCompositionend(O) {
+          P(O), oe && oe(O);
+        },
+        onPaste: c,
+        onFocus: function() {
+          clearTimeout(n), L && L(arguments.length <= 0 ? void 0 : arguments[0]), S && S(arguments.length <= 0 ? void 0 : arguments[0]), o == null || o.focus(arguments.length <= 0 ? void 0 : arguments[0]);
+        },
+        onBlur: function() {
+          for (var O = arguments.length, J = new Array(O), ie = 0; ie < O; ie++)
+            J[ie] = arguments[ie];
+          n = setTimeout(() => {
+            U && U(J[0]), E && E(J[0]), o == null || o.blur(J[0]);
+          }, 100);
+        }
+      }), D.type === "textarea" ? {} : {
+        type: "search"
+      }), !0, !0), D;
+    };
+  }
+}), on = Symbol("TreeSelectLegacyContextPropsKey");
+function Yo(e) {
+  return Ee(on, e);
+}
+function Me() {
+  return De(on, {});
+}
+const so = {
+  id: String,
+  prefixCls: String,
+  values: s.array,
+  open: {
+    type: Boolean,
+    default: void 0
+  },
+  searchValue: String,
+  inputRef: s.any,
+  placeholder: s.any,
+  disabled: {
+    type: Boolean,
+    default: void 0
+  },
+  mode: String,
+  showSearch: {
+    type: Boolean,
+    default: void 0
+  },
+  autofocus: {
+    type: Boolean,
+    default: void 0
+  },
+  autocomplete: String,
+  activeDescendantId: String,
+  tabindex: s.oneOfType([s.number, s.string]),
+  compositionStatus: Boolean,
+  removeIcon: s.any,
+  choiceTransitionName: String,
+  maxTagCount: s.oneOfType([s.number, s.string]),
+  maxTagTextLength: Number,
+  maxTagPlaceholder: s.any.def(() => (e) => `+ ${e.length} ...`),
+  tagRender: Function,
+  onToggleOpen: {
+    type: Function
+  },
+  onRemove: Function,
+  onInputChange: Function,
+  onInputPaste: Function,
+  onInputKeyDown: Function,
+  onInputMouseDown: Function,
+  onInputCompositionStart: Function,
+  onInputCompositionEnd: Function
+}, Ge = (e) => {
+  e.preventDefault(), e.stopPropagation();
+}, uo = ce({
+  name: "MultipleSelectSelector",
+  inheritAttrs: !1,
+  props: so,
+  setup(e) {
+    const n = W(), o = W(0), t = W(!1), i = Me(), l = N(() => `${e.prefixCls}-selection`), m = N(() => e.open || e.mode === "tags" ? e.searchValue : ""), v = N(() => e.mode === "tags" || e.showSearch && (e.open || t.value)), x = se("");
+    Ze(() => {
+      x.value = m.value;
+    }), re(() => {
+      ae(x, () => {
+        o.value = n.value.scrollWidth;
+      }, {
+        flush: "post",
+        immediate: !0
+      });
+    });
+    function b(g, h, w, c, f) {
+      return p("span", {
+        class: pe(`${l.value}-item`, {
+          [`${l.value}-item-disabled`]: w
+        }),
+        title: typeof g == "string" || typeof g == "number" ? g.toString() : void 0
+      }, [p("span", {
+        class: `${l.value}-item-content`
+      }, [h]), c && p(ue, {
+        class: `${l.value}-item-remove`,
+        onMousedown: Ge,
+        onClick: f,
+        customizeIcon: e.removeIcon
+      }, {
+        default: () => [Te("×")]
+      })]);
+    }
+    function u(g, h, w, c, f, P) {
+      var S;
+      const E = (y) => {
+        Ge(y), e.onToggleOpen(!open);
+      };
+      let T = P;
+      return i.keyEntities && (T = ((S = i.keyEntities[g]) === null || S === void 0 ? void 0 : S.node) || {}), p("span", {
+        key: g,
+        onMousedown: E
+      }, [e.tagRender({
+        label: h,
+        value: g,
+        disabled: w,
+        closable: c,
+        onClose: f,
+        option: T
+      })]);
+    }
+    function C(g) {
+      const {
+        disabled: h,
+        label: w,
+        value: c,
+        option: f
+      } = g, P = !e.disabled && !h;
+      let S = w;
+      if (typeof e.maxTagTextLength == "number" && (typeof w == "string" || typeof w == "number")) {
+        const T = String(S);
+        T.length > e.maxTagTextLength && (S = `${T.slice(0, e.maxTagTextLength)}...`);
+      }
+      const E = (T) => {
+        var y;
+        T && T.stopPropagation(), (y = e.onRemove) === null || y === void 0 || y.call(e, g);
+      };
+      return typeof e.tagRender == "function" ? u(c, S, h, P, E, f) : b(w, S, h, P, E);
+    }
+    function M(g) {
+      const {
+        maxTagPlaceholder: h = (c) => `+ ${c.length} ...`
+      } = e, w = typeof h == "function" ? h(g) : h;
+      return b(w, w, !1);
+    }
+    const $ = (g) => {
+      const h = g.target.composing;
+      x.value = g.target.value, h || e.onInputChange(g);
+    };
+    return () => {
+      const {
+        id: g,
+        prefixCls: h,
+        values: w,
+        open: c,
+        inputRef: f,
+        placeholder: P,
+        disabled: S,
+        autofocus: E,
+        autocomplete: T,
+        activeDescendantId: y,
+        tabindex: X,
+        compositionStatus: D,
+        onInputPaste: V,
+        onInputKeyDown: R,
+        onInputMouseDown: Y,
+        onInputCompositionStart: L,
+        onInputCompositionEnd: U
+      } = e, F = p("div", {
+        class: `${l.value}-search`,
+        style: {
+          width: o.value + "px"
+        },
+        key: "input"
+      }, [p(nn, {
+        inputRef: f,
+        open: c,
+        prefixCls: h,
+        id: g,
+        inputElement: null,
+        disabled: S,
+        autofocus: E,
+        autocomplete: T,
+        editable: v.value,
+        activeDescendantId: y,
+        value: x.value,
+        onKeydown: R,
+        onMousedown: Y,
+        onChange: $,
+        onPaste: V,
+        onCompositionstart: L,
+        onCompositionend: U,
+        tabindex: X,
+        attrs: ke(e, !0),
+        onFocus: () => t.value = !0,
+        onBlur: () => t.value = !1
+      }, null), p("span", {
+        ref: n,
+        class: `${l.value}-search-mirror`,
+        "aria-hidden": !0
+      }, [x.value, Te(" ")])]), B = p(Nn, {
+        prefixCls: `${l.value}-overflow`,
+        data: w,
+        renderItem: C,
+        renderRest: M,
+        suffix: F,
+        itemKey: "key",
+        maxCount: e.maxTagCount,
+        key: "overflow"
+      }, null);
+      return p(ge, null, [B, !w.length && !m.value && !D && p("span", {
+        class: `${l.value}-placeholder`
+      }, [P])]);
+    };
+  }
+}), co = {
+  inputElement: s.any,
+  id: String,
+  prefixCls: String,
+  values: s.array,
+  open: {
+    type: Boolean,
+    default: void 0
+  },
+  searchValue: String,
+  inputRef: s.any,
+  placeholder: s.any,
+  compositionStatus: {
+    type: Boolean,
+    default: void 0
+  },
+  disabled: {
+    type: Boolean,
+    default: void 0
+  },
+  mode: String,
+  showSearch: {
+    type: Boolean,
+    default: void 0
+  },
+  autofocus: {
+    type: Boolean,
+    default: void 0
+  },
+  autocomplete: String,
+  activeDescendantId: String,
+  tabindex: s.oneOfType([s.number, s.string]),
+  activeValue: String,
+  backfill: {
+    type: Boolean,
+    default: void 0
+  },
+  optionLabelRender: Function,
+  onInputChange: Function,
+  onInputPaste: Function,
+  onInputKeyDown: Function,
+  onInputMouseDown: Function,
+  onInputCompositionStart: Function,
+  onInputCompositionEnd: Function
+}, Re = ce({
+  name: "SingleSelector",
+  setup(e) {
+    const n = W(!1), o = N(() => e.mode === "combobox"), t = N(() => o.value || e.showSearch), i = N(() => {
+      let u = e.searchValue || "";
+      return o.value && e.activeValue && !n.value && (u = e.activeValue), u;
+    }), l = Me();
+    ae([o, () => e.activeValue], () => {
+      o.value && (n.value = !1);
+    }, {
+      immediate: !0
+    });
+    const m = N(() => e.mode !== "combobox" && !e.open && !e.showSearch ? !1 : !!i.value || e.compositionStatus), v = N(() => {
+      const u = e.values[0];
+      return u && (typeof u.label == "string" || typeof u.label == "number") ? u.label.toString() : void 0;
+    }), x = () => {
+      if (e.values[0])
+        return null;
+      const u = m.value ? {
+        visibility: "hidden"
+      } : void 0;
+      return p("span", {
+        class: `${e.prefixCls}-selection-placeholder`,
+        style: u
+      }, [e.placeholder]);
+    }, b = (u) => {
+      u.target.composing || (n.value = !0, e.onInputChange(u));
+    };
+    return () => {
+      var u, C, M, $;
+      const {
+        inputElement: g,
+        prefixCls: h,
+        id: w,
+        values: c,
+        inputRef: f,
+        disabled: P,
+        autofocus: S,
+        autocomplete: E,
+        activeDescendantId: T,
+        open: y,
+        tabindex: X,
+        optionLabelRender: D,
+        onInputKeyDown: V,
+        onInputMouseDown: R,
+        onInputPaste: Y,
+        onInputCompositionStart: L,
+        onInputCompositionEnd: U
+      } = e, F = c[0];
+      let B = null;
+      if (F && l.customSlots) {
+        const oe = (u = F.key) !== null && u !== void 0 ? u : F.value, te = ((C = l.keyEntities[oe]) === null || C === void 0 ? void 0 : C.node) || {};
+        B = l.customSlots[(M = te.slots) === null || M === void 0 ? void 0 : M.title] || l.customSlots.title || F.label, typeof B == "function" && (B = B(te));
+      } else
+        B = D && F ? D(F.option) : F == null ? void 0 : F.label;
+      return p(ge, null, [p("span", {
+        class: `${h}-selection-search`
+      }, [p(nn, {
+        inputRef: f,
+        prefixCls: h,
+        id: w,
+        open: y,
+        inputElement: g,
+        disabled: P,
+        autofocus: S,
+        autocomplete: E,
+        editable: t.value,
+        activeDescendantId: T,
+        value: i.value,
+        onKeydown: V,
+        onMousedown: R,
+        onChange: b,
+        onPaste: Y,
+        onCompositionstart: L,
+        onCompositionend: U,
+        tabindex: X,
+        attrs: ke(e, !0)
+      }, null)]), !o.value && F && !m.value && p("span", {
+        class: `${h}-selection-item`,
+        title: v.value
+      }, [p(ge, {
+        key: ($ = F.key) !== null && $ !== void 0 ? $ : F.value
+      }, [B])]), x()]);
+    };
+  }
+});
+Re.props = co;
+Re.inheritAttrs = !1;
+function po(e) {
+  return ![
+    // System function button
+    I.ESC,
+    I.SHIFT,
+    I.BACKSPACE,
+    I.TAB,
+    I.WIN_KEY,
+    I.ALT,
+    I.META,
+    I.WIN_KEY_RIGHT,
+    I.CTRL,
+    I.SEMICOLON,
+    I.EQUALS,
+    I.CAPS_LOCK,
+    I.CONTEXT_MENU,
+    // F1-F12
+    I.F1,
+    I.F2,
+    I.F3,
+    I.F4,
+    I.F5,
+    I.F6,
+    I.F7,
+    I.F8,
+    I.F9,
+    I.F10,
+    I.F11,
+    I.F12
+  ].includes(e);
+}
+function tn() {
+  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 250, n = null, o;
+  Oe(() => {
+    clearTimeout(o);
+  });
+  function t(i) {
+    (i || n === null) && (n = i), clearTimeout(o), o = setTimeout(() => {
+      n = null;
+    }, e);
+  }
+  return [() => n, t];
+}
+const mo = ce({
+  name: "Selector",
+  inheritAttrs: !1,
+  props: {
+    id: String,
+    prefixCls: String,
+    showSearch: {
+      type: Boolean,
+      default: void 0
+    },
+    open: {
+      type: Boolean,
+      default: void 0
+    },
+    /** Display in the Selector value, it's not same as `value` prop */
+    values: s.array,
+    multiple: {
+      type: Boolean,
+      default: void 0
+    },
+    mode: String,
+    searchValue: String,
+    activeValue: String,
+    inputElement: s.any,
+    autofocus: {
+      type: Boolean,
+      default: void 0
+    },
+    activeDescendantId: String,
+    tabindex: s.oneOfType([s.number, s.string]),
+    disabled: {
+      type: Boolean,
+      default: void 0
+    },
+    placeholder: s.any,
+    removeIcon: s.any,
+    // Tags
+    maxTagCount: s.oneOfType([s.number, s.string]),
+    maxTagTextLength: Number,
+    maxTagPlaceholder: s.any,
+    tagRender: Function,
+    optionLabelRender: Function,
+    /** Check if `tokenSeparators` contains `\n` or `\r\n` */
+    tokenWithEnter: {
+      type: Boolean,
+      default: void 0
+    },
+    // Motion
+    choiceTransitionName: String,
+    onToggleOpen: {
+      type: Function
+    },
+    /** `onSearch` returns go next step boolean to check if need do toggle open */
+    onSearch: Function,
+    onSearchSubmit: Function,
+    onRemove: Function,
+    onInputKeyDown: {
+      type: Function
+    },
+    /**
+     * @private get real dom for trigger align.
+     * This may be removed after React provides replacement of `findDOMNode`
+     */
+    domRef: Function
+  },
+  setup(e, n) {
+    let {
+      expose: o
+    } = n;
+    const t = en(), i = se(!1), [l, m] = tn(0), v = (c) => {
+      const {
+        which: f
+      } = c;
+      (f === I.UP || f === I.DOWN) && c.preventDefault(), e.onInputKeyDown && e.onInputKeyDown(c), f === I.ENTER && e.mode === "tags" && !i.value && !e.open && e.onSearchSubmit(c.target.value), po(f) && e.onToggleOpen(!0);
+    }, x = () => {
+      m(!0);
+    };
+    let b = null;
+    const u = (c) => {
+      e.onSearch(c, !0, i.value) !== !1 && e.onToggleOpen(!0);
+    }, C = () => {
+      i.value = !0;
+    }, M = (c) => {
+      i.value = !1, e.mode !== "combobox" && u(c.target.value);
+    }, $ = (c) => {
+      let {
+        target: {
+          value: f
+        }
+      } = c;
+      if (e.tokenWithEnter && b && /[\r\n]/.test(b)) {
+        const P = b.replace(/[\r\n]+$/, "").replace(/\r\n/g, " ").replace(/[\r\n]/g, " ");
+        f = f.replace(P, b);
+      }
+      b = null, u(f);
+    }, g = (c) => {
+      const {
+        clipboardData: f
+      } = c;
+      b = f.getData("text");
+    }, h = (c) => {
+      let {
+        target: f
+      } = c;
+      f !== t.current && (document.body.style.msTouchAction !== void 0 ? setTimeout(() => {
+        t.current.focus();
+      }) : t.current.focus());
+    }, w = (c) => {
+      const f = l();
+      c.target !== t.current && !f && c.preventDefault(), (e.mode !== "combobox" && (!e.showSearch || !f) || !e.open) && (e.open && e.onSearch("", !0, !1), e.onToggleOpen());
+    };
+    return o({
+      focus: () => {
+        t.current.focus();
+      },
+      blur: () => {
+        t.current.blur();
+      }
+    }), () => {
+      const {
+        prefixCls: c,
+        domRef: f,
+        mode: P
+      } = e, S = {
+        inputRef: t,
+        onInputKeyDown: v,
+        onInputMouseDown: x,
+        onInputChange: $,
+        onInputPaste: g,
+        compositionStatus: i.value,
+        onInputCompositionStart: C,
+        onInputCompositionEnd: M
+      }, E = P === "multiple" || P === "tags" ? p(uo, q(q({}, e), S), null) : p(Re, q(q({}, e), S), null);
+      return p("div", {
+        ref: f,
+        class: `${c}-selector`,
+        onClick: h,
+        onMousedown: w
+      }, [E]);
+    };
+  }
+});
+function fo(e, n, o) {
+  function t(i) {
+    var l, m, v;
+    let x = i.target;
+    x.shadowRoot && i.composed && (x = i.composedPath()[0] || x);
+    const b = [(l = e[0]) === null || l === void 0 ? void 0 : l.value, (v = (m = e[1]) === null || m === void 0 ? void 0 : m.value) === null || v === void 0 ? void 0 : v.getPopupElement()];
+    n.value && b.every((u) => u && !u.contains(x) && u !== x) && o(!1);
+  }
+  re(() => {
+    window.addEventListener("mousedown", t);
+  }), Oe(() => {
+    window.removeEventListener("mousedown", t);
+  });
+}
+function go() {
+  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 10;
+  const n = W(!1);
+  let o;
+  const t = () => {
+    clearTimeout(o);
+  };
+  return re(() => {
+    t();
+  }), [n, (l, m) => {
+    t(), o = setTimeout(() => {
+      n.value = l, m && m();
+    }, e);
+  }, t];
+}
+const ln = Symbol("BaseSelectContextKey");
+function ho(e) {
+  return Ee(ln, e);
+}
+function qo() {
+  return De(ln, {});
+}
+const vo = () => {
+  if (typeof navigator == "undefined" || typeof window == "undefined")
+    return !1;
+  const e = navigator.userAgent || navigator.vendor || window.opera;
+  return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(e == null ? void 0 : e.substring(0, 4));
+};
+function bo(e) {
+  if (!eo(e)) return Ue(e);
+  const n = new Proxy({}, {
+    get(o, t, i) {
+      return Reflect.get(e.value, t, i);
+    },
+    set(o, t, i) {
+      return e.value[t] = i, !0;
+    },
+    deleteProperty(o, t) {
+      return Reflect.deleteProperty(e.value, t);
+    },
+    has(o, t) {
+      return Reflect.has(e.value, t);
+    },
+    ownKeys() {
+      return Object.keys(e.value);
+    },
+    getOwnPropertyDescriptor() {
+      return {
+        enumerable: !0,
+        configurable: !0
+      };
+    }
+  });
+  return Ue(n);
+}
+var So = function(e, n) {
+  var o = {};
+  for (var t in e) Object.prototype.hasOwnProperty.call(e, t) && n.indexOf(t) < 0 && (o[t] = e[t]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var i = 0, t = Object.getOwnPropertySymbols(e); i < t.length; i++)
+    n.indexOf(t[i]) < 0 && Object.prototype.propertyIsEnumerable.call(e, t[i]) && (o[t[i]] = e[t[i]]);
+  return o;
+};
+const yo = ["value", "onChange", "removeIcon", "placeholder", "autofocus", "maxTagCount", "maxTagTextLength", "maxTagPlaceholder", "choiceTransitionName", "onInputKeyDown", "onPopupScroll", "tabindex", "OptionList", "notFoundContent"], wo = () => ({
+  prefixCls: String,
+  id: String,
+  omitDomProps: Array,
+  // >>> Value
+  displayValues: Array,
+  onDisplayValuesChange: Function,
+  // >>> Active
+  /** Current dropdown list active item string value */
+  activeValue: String,
+  /** Link search input with target element */
+  activeDescendantId: String,
+  onActiveValueChange: Function,
+  // >>> Search
+  searchValue: String,
+  /** Trigger onSearch, return false to prevent trigger open event */
+  onSearch: Function,
+  /** Trigger when search text match the `tokenSeparators`. Will provide split content */
+  onSearchSplit: Function,
+  maxLength: Number,
+  OptionList: s.any,
+  /** Tell if provided `options` is empty */
+  emptyOptions: Boolean
+}), Io = () => ({
+  showSearch: {
+    type: Boolean,
+    default: void 0
+  },
+  tagRender: {
+    type: Function
+  },
+  optionLabelRender: {
+    type: Function
+  },
+  direction: {
+    type: String
+  },
+  // MISC
+  tabindex: Number,
+  autofocus: Boolean,
+  notFoundContent: s.any,
+  placeholder: s.any,
+  onClear: Function,
+  choiceTransitionName: String,
+  // >>> Mode
+  mode: String,
+  // >>> Status
+  disabled: {
+    type: Boolean,
+    default: void 0
+  },
+  loading: {
+    type: Boolean,
+    default: void 0
+  },
+  // >>> Open
+  open: {
+    type: Boolean,
+    default: void 0
+  },
+  defaultOpen: {
+    type: Boolean,
+    default: void 0
+  },
+  onDropdownVisibleChange: {
+    type: Function
+  },
+  // >>> Customize Input
+  /** @private Internal usage. Do not use in your production. */
+  getInputElement: {
+    type: Function
+  },
+  /** @private Internal usage. Do not use in your production. */
+  getRawInputElement: {
+    type: Function
+  },
+  // >>> Selector
+  maxTagTextLength: Number,
+  maxTagCount: {
+    type: [String, Number]
+  },
+  maxTagPlaceholder: s.any,
+  // >>> Search
+  tokenSeparators: {
+    type: Array
+  },
+  // >>> Icons
+  allowClear: {
+    type: Boolean,
+    default: void 0
+  },
+  showArrow: {
+    type: Boolean,
+    default: void 0
+  },
+  inputIcon: s.any,
+  /** Clear all icon */
+  clearIcon: s.any,
+  /** Selector remove icon */
+  removeIcon: s.any,
+  // >>> Dropdown
+  animation: String,
+  transitionName: String,
+  dropdownStyle: {
+    type: Object
+  },
+  dropdownClassName: String,
+  dropdownMatchSelectWidth: {
+    type: [Boolean, Number],
+    default: void 0
+  },
+  dropdownRender: {
+    type: Function
+  },
+  dropdownAlign: Object,
+  placement: {
+    type: String
+  },
+  getPopupContainer: {
+    type: Function
+  },
+  // >>> Focus
+  showAction: {
+    type: Array
+  },
+  onBlur: {
+    type: Function
+  },
+  onFocus: {
+    type: Function
+  },
+  // >>> Rest Events
+  onKeyup: Function,
+  onKeydown: Function,
+  onMousedown: Function,
+  onPopupScroll: Function,
+  onInputKeyDown: Function,
+  onMouseenter: Function,
+  onMouseleave: Function,
+  onClick: Function
+}), xo = () => d(d({}, wo()), Io());
+function Co(e) {
+  return e === "tags" || e === "multiple";
+}
+const Qo = ce({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "BaseSelect",
+  inheritAttrs: !1,
+  props: Vn(xo(), {
+    showAction: [],
+    notFoundContent: "Not Found"
+  }),
+  setup(e, n) {
+    let {
+      attrs: o,
+      expose: t,
+      slots: i
+    } = n;
+    const l = N(() => Co(e.mode)), m = N(() => e.showSearch !== void 0 ? e.showSearch : l.value || e.mode === "combobox"), v = W(!1);
+    re(() => {
+      v.value = vo();
+    });
+    const x = Me(), b = W(null), u = en(), C = W(null), M = W(null), $ = W(null), g = se(!1), [h, w, c] = go();
+    t({
+      focus: () => {
+        var a;
+        (a = M.value) === null || a === void 0 || a.focus();
+      },
+      blur: () => {
+        var a;
+        (a = M.value) === null || a === void 0 || a.blur();
+      },
+      scrollTo: (a) => {
+        var r;
+        return (r = $.value) === null || r === void 0 ? void 0 : r.scrollTo(a);
+      }
+    });
+    const S = N(() => {
+      var a;
+      if (e.mode !== "combobox")
+        return e.searchValue;
+      const r = (a = e.displayValues[0]) === null || a === void 0 ? void 0 : a.value;
+      return typeof r == "string" || typeof r == "number" ? String(r) : "";
+    }), E = e.open !== void 0 ? e.open : e.defaultOpen, T = W(E), y = W(E), X = (a) => {
+      T.value = e.open !== void 0 ? e.open : a, y.value = T.value;
+    };
+    ae(() => e.open, () => {
+      X(e.open);
+    });
+    const D = N(() => !e.notFoundContent && e.emptyOptions);
+    Ze(() => {
+      y.value = T.value, (e.disabled || D.value && y.value && e.mode === "combobox") && (y.value = !1);
+    });
+    const V = N(() => D.value ? !1 : y.value), R = (a) => {
+      const r = a !== void 0 ? a : !y.value;
+      y.value !== r && !e.disabled && (X(r), e.onDropdownVisibleChange && e.onDropdownVisibleChange(r));
+    }, Y = N(() => (e.tokenSeparators || []).some((a) => [`
+`, `\r
+`].includes(a))), L = (a, r, z) => {
+      var H, _;
+      let A = !0, j = a;
+      (H = e.onActiveValueChange) === null || H === void 0 || H.call(e, null);
+      const K = z ? null : to(a, e.tokenSeparators);
+      return e.mode !== "combobox" && K && (j = "", (_ = e.onSearchSplit) === null || _ === void 0 || _.call(e, K), R(!1), A = !1), e.onSearch && S.value !== j && e.onSearch(j, {
+        source: r ? "typing" : "effect"
+      }), A;
+    }, U = (a) => {
+      var r;
+      !a || !a.trim() || (r = e.onSearch) === null || r === void 0 || r.call(e, a, {
+        source: "submit"
+      });
+    };
+    ae(y, () => {
+      !y.value && !l.value && e.mode !== "combobox" && L("", !1, !1);
+    }, {
+      immediate: !0,
+      flush: "post"
+    }), ae(() => e.disabled, () => {
+      T.value && e.disabled && X(!1), e.disabled && !g.value && w(!1);
+    }, {
+      immediate: !0
+    });
+    const [F, B] = tn(), oe = function(a) {
+      var r;
+      const z = F(), {
+        which: H
+      } = a;
+      if (H === I.ENTER && (e.mode !== "combobox" && a.preventDefault(), y.value || R(!0)), B(!!S.value), H === I.BACKSPACE && !z && l.value && !S.value && e.displayValues.length) {
+        const K = [...e.displayValues];
+        let k = null;
+        for (let G = K.length - 1; G >= 0; G -= 1) {
+          const ee = K[G];
+          if (!ee.disabled) {
+            K.splice(G, 1), k = ee;
+            break;
+          }
+        }
+        k && e.onDisplayValuesChange(K, {
+          type: "remove",
+          values: [k]
+        });
+      }
+      for (var _ = arguments.length, A = new Array(_ > 1 ? _ - 1 : 0), j = 1; j < _; j++)
+        A[j - 1] = arguments[j];
+      y.value && $.value && $.value.onKeydown(a, ...A), (r = e.onKeydown) === null || r === void 0 || r.call(e, a, ...A);
+    }, te = function(a) {
+      for (var r = arguments.length, z = new Array(r > 1 ? r - 1 : 0), H = 1; H < r; H++)
+        z[H - 1] = arguments[H];
+      y.value && $.value && $.value.onKeyup(a, ...z), e.onKeyup && e.onKeyup(a, ...z);
+    }, O = (a) => {
+      const r = e.displayValues.filter((z) => z !== a);
+      e.onDisplayValuesChange(r, {
+        type: "remove",
+        values: [a]
+      });
+    }, J = W(!1), ie = function() {
+      w(!0), e.disabled || (e.onFocus && !J.value && e.onFocus(...arguments), e.showAction && e.showAction.includes("focus") && R(!0)), J.value = !0;
+    }, he = se(!1), rn = function() {
+      if (he.value || (g.value = !0, w(!1, () => {
+        J.value = !1, g.value = !1, R(!1);
+      }), e.disabled))
+        return;
+      const a = S.value;
+      a && (e.mode === "tags" ? e.onSearch(a, {
+        source: "submit"
+      }) : e.mode === "multiple" && e.onSearch("", {
+        source: "blur"
+      })), e.onBlur && e.onBlur(...arguments);
+    }, sn = () => {
+      he.value = !0;
+    }, un = () => {
+      he.value = !1;
+    };
+    Ee("VCSelectContainerEvent", {
+      focus: ie,
+      blur: rn
+    });
+    const Q = [];
+    re(() => {
+      Q.forEach((a) => clearTimeout(a)), Q.splice(0, Q.length);
+    }), Oe(() => {
+      Q.forEach((a) => clearTimeout(a)), Q.splice(0, Q.length);
+    });
+    const cn = function(a) {
+      var r, z;
+      const {
+        target: H
+      } = a, _ = (r = C.value) === null || r === void 0 ? void 0 : r.getPopupElement();
+      if (_ && _.contains(H)) {
+        const k = setTimeout(() => {
+          var G;
+          const ee = Q.indexOf(k);
+          ee !== -1 && Q.splice(ee, 1), c(), !v.value && !_.contains(document.activeElement) && ((G = M.value) === null || G === void 0 || G.focus());
+        });
+        Q.push(k);
+      }
+      for (var A = arguments.length, j = new Array(A > 1 ? A - 1 : 0), K = 1; K < A; K++)
+        j[K - 1] = arguments[K];
+      (z = e.onMousedown) === null || z === void 0 || z.call(e, a, ...j);
+    }, ve = W(null), dn = () => {
+    };
+    return re(() => {
+      ae(V, () => {
+        var a;
+        if (V.value) {
+          const r = Math.ceil((a = b.value) === null || a === void 0 ? void 0 : a.offsetWidth);
+          ve.value !== r && !Number.isNaN(r) && (ve.value = r);
+        }
+      }, {
+        immediate: !0,
+        flush: "post"
+      });
+    }), fo([b, C], V, R), ho(bo(d(d({}, no(e)), {
+      open: y,
+      triggerOpen: V,
+      showSearch: m,
+      multiple: l,
+      toggleOpen: R
+    }))), () => {
+      const a = d(d({}, e), o), {
+        prefixCls: r,
+        id: z,
+        open: H,
+        defaultOpen: _,
+        mode: A,
+        // Search related
+        showSearch: j,
+        searchValue: K,
+        onSearch: k,
+        // Icons
+        allowClear: G,
+        clearIcon: ee,
+        showArrow: Be,
+        inputIcon: pn,
+        // Others
+        disabled: be,
+        loading: me,
+        getInputElement: ze,
+        getPopupContainer: mn,
+        placement: fn,
+        // Dropdown
+        animation: gn,
+        transitionName: hn,
+        dropdownStyle: vn,
+        dropdownClassName: bn,
+        dropdownMatchSelectWidth: Sn,
+        dropdownRender: yn,
+        dropdownAlign: wn,
+        showAction: Bo,
+        direction: In,
+        // Tags
+        tokenSeparators: zo,
+        tagRender: xn,
+        optionLabelRender: Cn,
+        // Events
+        onPopupScroll: No,
+        onDropdownVisibleChange: Vo,
+        onFocus: Lo,
+        onBlur: Ho,
+        onKeyup: Ao,
+        onKeydown: Wo,
+        onMousedown: Ko,
+        onClear: Se,
+        omitDomProps: ye,
+        getRawInputElement: Ne,
+        displayValues: fe,
+        onDisplayValuesChange: $n,
+        emptyOptions: Pn,
+        activeDescendantId: Tn,
+        activeValue: Fn,
+        OptionList: Dn
+      } = a, En = So(a, ["prefixCls", "id", "open", "defaultOpen", "mode", "showSearch", "searchValue", "onSearch", "allowClear", "clearIcon", "showArrow", "inputIcon", "disabled", "loading", "getInputElement", "getPopupContainer", "placement", "animation", "transitionName", "dropdownStyle", "dropdownClassName", "dropdownMatchSelectWidth", "dropdownRender", "dropdownAlign", "showAction", "direction", "tokenSeparators", "tagRender", "optionLabelRender", "onPopupScroll", "onDropdownVisibleChange", "onFocus", "onBlur", "onKeyup", "onKeydown", "onMousedown", "onClear", "omitDomProps", "getRawInputElement", "displayValues", "onDisplayValuesChange", "emptyOptions", "activeDescendantId", "activeValue", "OptionList"]), Ve = A === "combobox" && ze && ze() || null, de = typeof Ne == "function" && Ne(), we = d({}, En);
+      let Le;
+      de && (Le = (ne) => {
+        R(ne);
+      }), yo.forEach((ne) => {
+        delete we[ne];
+      }), ye == null || ye.forEach((ne) => {
+        delete we[ne];
+      });
+      const He = Be !== void 0 ? Be : me || !l.value && A !== "combobox";
+      let Ae;
+      He && (Ae = p(ue, {
+        class: pe(`${r}-arrow`, {
+          [`${r}-arrow-loading`]: me
+        }),
+        customizeIcon: pn,
+        customizeIconProps: {
+          loading: me,
+          searchValue: S.value,
+          open: y.value,
+          focused: h.value,
+          showSearch: m.value
+        }
+      }, null));
+      let We;
+      const On = () => {
+        Se == null || Se(), $n([], {
+          type: "clear",
+          values: fe
+        }), L("", !1, !1);
+      };
+      !be && G && (fe.length || S.value) && (We = p(ue, {
+        class: `${r}-clear`,
+        onMousedown: On,
+        customizeIcon: ee
+      }, {
+        default: () => [Te("×")]
+      }));
+      const Mn = p(Dn, {
+        ref: $
+      }, d(d({}, x.customSlots), {
+        option: i.option
+      })), Rn = pe(r, o.class, {
+        [`${r}-focused`]: h.value,
+        [`${r}-multiple`]: l.value,
+        [`${r}-single`]: !l.value,
+        [`${r}-allow-clear`]: G,
+        [`${r}-show-arrow`]: He,
+        [`${r}-disabled`]: be,
+        [`${r}-loading`]: me,
+        [`${r}-open`]: y.value,
+        [`${r}-customize-input`]: Ve,
+        [`${r}-show-search`]: m.value
+      }), Ke = p(ao, {
+        ref: C,
+        disabled: be,
+        prefixCls: r,
+        visible: V.value,
+        popupElement: Mn,
+        containerWidth: ve.value,
+        animation: gn,
+        transitionName: hn,
+        dropdownStyle: vn,
+        dropdownClassName: bn,
+        direction: In,
+        dropdownMatchSelectWidth: Sn,
+        dropdownRender: yn,
+        dropdownAlign: wn,
+        placement: fn,
+        getPopupContainer: mn,
+        empty: Pn,
+        getTriggerDOMNode: () => u.current,
+        onPopupVisibleChange: Le,
+        onPopupMouseEnter: dn,
+        onPopupFocusin: sn,
+        onPopupFocusout: un
+      }, {
+        default: () => de ? Ln(de) && Qe(de, {
+          ref: u
+        }, !1, !0) : p(mo, q(q({}, e), {}, {
+          domRef: u,
+          prefixCls: r,
+          inputElement: Ve,
+          ref: M,
+          id: z,
+          showSearch: m.value,
+          mode: A,
+          activeDescendantId: Tn,
+          tagRender: xn,
+          optionLabelRender: Cn,
+          values: fe,
+          open: y.value,
+          onToggleOpen: R,
+          activeValue: Fn,
+          searchValue: S.value,
+          onSearch: L,
+          onSearchSubmit: U,
+          onRemove: O,
+          tokenWithEnter: Y.value
+        }), null)
+      });
+      let Ie;
+      return de ? Ie = Ke : Ie = p("div", q(q({}, we), {}, {
+        class: Rn,
+        ref: b,
+        onMousedown: cn,
+        onKeydown: oe,
+        onKeyup: te
+      }), [h.value && !y.value && p("span", {
+        style: {
+          width: 0,
+          height: 0,
+          position: "absolute",
+          overflow: "hidden",
+          opacity: 0
+        },
+        "aria-live": "polite"
+      }, [`${fe.map((ne) => {
+        let {
+          label: _e,
+          value: Bn
+        } = ne;
+        return ["number", "string"].includes(typeof _e) ? _e : Bn;
+      }).join(", ")}`]), Ke, Ae, We]), Ie;
+    };
+  }
+});
+let Ye = 0;
+const $o = process.env.NODE_ENV !== "test" && Hn();
+function Po() {
+  let e;
+  return $o ? (e = Ye, Ye += 1) : e = "TEST_OR_SSR", e;
+}
+function Jo() {
+  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : se("");
+  const n = `rc_select_${Po()}`;
+  return e.value || n;
+}
+function Zo(e) {
+  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
+  const {
+    loading: o,
+    multiple: t,
+    prefixCls: i,
+    hasFeedback: l,
+    feedbackIcon: m,
+    showArrow: v
+  } = e, x = e.suffixIcon || n.suffixIcon && n.suffixIcon(), b = e.clearIcon || n.clearIcon && n.clearIcon(), u = e.menuItemSelectedIcon || n.menuItemSelectedIcon && n.menuItemSelectedIcon(), C = e.removeIcon || n.removeIcon && n.removeIcon(), M = b != null ? b : p(An, null, null), $ = (c) => p(ge, null, [v !== !1 && c, l && m]);
+  let g = null;
+  if (x !== void 0)
+    g = $(x);
+  else if (o)
+    g = $(p(Wn, {
+      spin: !0
+    }, null));
+  else {
+    const c = `${i}-suffix`;
+    g = (f) => {
+      let {
+        open: P,
+        showSearch: S
+      } = f;
+      return $(P && S ? p(jn, {
+        class: c
+      }, null) : p(Xn, {
+        class: c
+      }, null));
+    };
+  }
+  let h = null;
+  u !== void 0 ? h = u : t ? h = p(Kn, null, null) : h = null;
+  let w = null;
+  return C !== void 0 ? w = C : w = p(_n, null, null), {
+    clearIcon: M,
+    suffixIcon: g,
+    itemIcon: h,
+    removeIcon: w
+  };
+}
+const qe = (e) => {
+  const {
+    controlPaddingHorizontal: n
+  } = e;
+  return {
+    position: "relative",
+    display: "block",
+    minHeight: e.controlHeight,
+    padding: `${(e.controlHeight - e.fontSize * e.lineHeight) / 2}px ${n}px`,
+    color: e.colorText,
+    fontWeight: "normal",
+    fontSize: e.fontSize,
+    lineHeight: e.lineHeight,
+    boxSizing: "border-box"
+  };
+}, To = (e) => {
+  const {
+    antCls: n,
+    componentCls: o
+  } = e, t = `${o}-item`;
+  return [
+    {
+      [`${o}-dropdown`]: d(d({}, Fe(e)), {
+        position: "absolute",
+        top: -9999,
+        zIndex: e.zIndexPopup,
+        boxSizing: "border-box",
+        padding: e.paddingXXS,
+        overflow: "hidden",
+        fontSize: e.fontSize,
+        // Fix select render lag of long text in chrome
+        // https://github.com/ant-design/ant-design/issues/11456
+        // https://github.com/ant-design/ant-design/issues/11843
+        fontVariant: "initial",
+        backgroundColor: e.colorBgElevated,
+        borderRadius: e.borderRadiusLG,
+        outline: "none",
+        boxShadow: e.boxShadowSecondary,
+        [`
+            &${n}-slide-up-enter${n}-slide-up-enter-active${o}-dropdown-placement-bottomLeft,
+            &${n}-slide-up-appear${n}-slide-up-appear-active${o}-dropdown-placement-bottomLeft
+          `]: {
+          animationName: Un
+        },
+        [`
+            &${n}-slide-up-enter${n}-slide-up-enter-active${o}-dropdown-placement-topLeft,
+            &${n}-slide-up-appear${n}-slide-up-appear-active${o}-dropdown-placement-topLeft
+          `]: {
+          animationName: Gn
+        },
+        [`&${n}-slide-up-leave${n}-slide-up-leave-active${o}-dropdown-placement-bottomLeft`]: {
+          animationName: Yn
+        },
+        [`&${n}-slide-up-leave${n}-slide-up-leave-active${o}-dropdown-placement-topLeft`]: {
+          animationName: qn
+        },
+        "&-hidden": {
+          display: "none"
+        },
+        "&-empty": {
+          color: e.colorTextDisabled
+        },
+        // ========================= Options =========================
+        [`${t}-empty`]: d(d({}, qe(e)), {
+          color: e.colorTextDisabled
+        }),
+        [`${t}`]: d(d({}, qe(e)), {
+          cursor: "pointer",
+          transition: `background ${e.motionDurationSlow} ease`,
+          borderRadius: e.borderRadiusSM,
+          // =========== Group ============
+          "&-group": {
+            color: e.colorTextDescription,
+            fontSize: e.fontSizeSM,
+            cursor: "default"
+          },
+          // =========== Option ===========
+          "&-option": {
+            display: "flex",
+            "&-content": d({
+              flex: "auto"
+            }, Pe),
+            "&-state": {
+              flex: "none"
+            },
+            [`&-active:not(${t}-option-disabled)`]: {
+              backgroundColor: e.controlItemBgHover
+            },
+            [`&-selected:not(${t}-option-disabled)`]: {
+              color: e.colorText,
+              fontWeight: e.fontWeightStrong,
+              backgroundColor: e.controlItemBgActive,
+              [`${t}-option-state`]: {
+                color: e.colorPrimary
+              }
+            },
+            "&-disabled": {
+              [`&${t}-option-selected`]: {
+                backgroundColor: e.colorBgContainerDisabled
+              },
+              color: e.colorTextDisabled,
+              cursor: "not-allowed"
+            },
+            "&-grouped": {
+              paddingInlineStart: e.controlPaddingHorizontal * 2
+            }
+          }
+        }),
+        // =========================== RTL ===========================
+        "&-rtl": {
+          direction: "rtl"
+        }
+      })
+    },
+    // Follow code may reuse in other components
+    je(e, "slide-up"),
+    je(e, "slide-down"),
+    Xe(e, "move-up"),
+    Xe(e, "move-down")
+  ];
+}, le = 2;
+function an(e) {
+  let {
+    controlHeightSM: n,
+    controlHeight: o,
+    lineWidth: t
+  } = e;
+  const i = (o - n) / 2 - t, l = Math.ceil(i / 2);
+  return [i, l];
+}
+function xe(e, n) {
+  const {
+    componentCls: o,
+    iconCls: t
+  } = e, i = `${o}-selection-overflow`, l = e.controlHeightSM, [m] = an(e), v = n ? `${o}-${n}` : "";
+  return {
+    [`${o}-multiple${v}`]: {
+      fontSize: e.fontSize,
+      /**
+       * Do not merge `height` & `line-height` under style with `selection` & `search`, since chrome
+       * may update to redesign with its align logic.
+       */
+      // =========================== Overflow ===========================
+      [i]: {
+        position: "relative",
+        display: "flex",
+        flex: "auto",
+        flexWrap: "wrap",
+        maxWidth: "100%",
+        "&-item": {
+          flex: "none",
+          alignSelf: "center",
+          maxWidth: "100%",
+          display: "inline-flex"
+        }
+      },
+      // ========================= Selector =========================
+      [`${o}-selector`]: {
+        display: "flex",
+        flexWrap: "wrap",
+        alignItems: "center",
+        // Multiple is little different that horizontal is follow the vertical
+        padding: `${m - le}px ${le * 2}px`,
+        borderRadius: e.borderRadius,
+        [`${o}-show-search&`]: {
+          cursor: "text"
+        },
+        [`${o}-disabled&`]: {
+          background: e.colorBgContainerDisabled,
+          cursor: "not-allowed"
+        },
+        "&:after": {
+          display: "inline-block",
+          width: 0,
+          margin: `${le}px 0`,
+          lineHeight: `${l}px`,
+          content: '"\\a0"'
+        }
+      },
+      [`
+        &${o}-show-arrow ${o}-selector,
+        &${o}-allow-clear ${o}-selector
+      `]: {
+        paddingInlineEnd: e.fontSizeIcon + e.controlPaddingHorizontal
+      },
+      // ======================== Selections ========================
+      [`${o}-selection-item`]: {
+        position: "relative",
+        display: "flex",
+        flex: "none",
+        boxSizing: "border-box",
+        maxWidth: "100%",
+        height: l,
+        marginTop: le,
+        marginBottom: le,
+        lineHeight: `${l - e.lineWidth * 2}px`,
+        background: e.colorFillSecondary,
+        border: `${e.lineWidth}px solid ${e.colorSplit}`,
+        borderRadius: e.borderRadiusSM,
+        cursor: "default",
+        transition: `font-size ${e.motionDurationSlow}, line-height ${e.motionDurationSlow}, height ${e.motionDurationSlow}`,
+        userSelect: "none",
+        marginInlineEnd: le * 2,
+        paddingInlineStart: e.paddingXS,
+        paddingInlineEnd: e.paddingXS / 2,
+        [`${o}-disabled&`]: {
+          color: e.colorTextDisabled,
+          borderColor: e.colorBorder,
+          cursor: "not-allowed"
+        },
+        // It's ok not to do this, but 24px makes bottom narrow in view should adjust
+        "&-content": {
+          display: "inline-block",
+          marginInlineEnd: e.paddingXS / 2,
+          overflow: "hidden",
+          whiteSpace: "pre",
+          textOverflow: "ellipsis"
+        },
+        "&-remove": d(d({}, Je()), {
+          display: "inline-block",
+          color: e.colorIcon,
+          fontWeight: "bold",
+          fontSize: 10,
+          lineHeight: "inherit",
+          cursor: "pointer",
+          [`> ${t}`]: {
+            verticalAlign: "-0.2em"
+          },
+          "&:hover": {
+            color: e.colorIconHover
+          }
+        })
+      },
+      // ========================== Input ==========================
+      [`${i}-item + ${i}-item`]: {
+        [`${o}-selection-search`]: {
+          marginInlineStart: 0
+        }
+      },
+      [`${o}-selection-search`]: {
+        display: "inline-flex",
+        position: "relative",
+        maxWidth: "100%",
+        marginInlineStart: e.inputPaddingHorizontalBase - m,
+        "\n          &-input,\n          &-mirror\n        ": {
+          height: l,
+          fontFamily: e.fontFamily,
+          lineHeight: `${l}px`,
+          transition: `all ${e.motionDurationSlow}`
+        },
+        "&-input": {
+          width: "100%",
+          minWidth: 4.1
+          // fix search cursor missing
+        },
+        "&-mirror": {
+          position: "absolute",
+          top: 0,
+          insetInlineStart: 0,
+          insetInlineEnd: "auto",
+          zIndex: 999,
+          whiteSpace: "pre",
+          visibility: "hidden"
+        }
+      },
+      // ======================= Placeholder =======================
+      [`${o}-selection-placeholder `]: {
+        position: "absolute",
+        top: "50%",
+        insetInlineStart: e.inputPaddingHorizontalBase,
+        insetInlineEnd: e.inputPaddingHorizontalBase,
+        transform: "translateY(-50%)",
+        transition: `all ${e.motionDurationSlow}`
+      }
+    }
+  };
+}
+function Fo(e) {
+  const {
+    componentCls: n
+  } = e, o = Z(e, {
+    controlHeight: e.controlHeightSM,
+    controlHeightSM: e.controlHeightXS,
+    borderRadius: e.borderRadiusSM,
+    borderRadiusSM: e.borderRadiusXS
+  }), [, t] = an(e);
+  return [
+    xe(e),
+    // ======================== Small ========================
+    // Shared
+    xe(o, "sm"),
+    // Padding
+    {
+      [`${n}-multiple${n}-sm`]: {
+        [`${n}-selection-placeholder`]: {
+          insetInlineStart: e.controlPaddingHorizontalSM - e.lineWidth,
+          insetInlineEnd: "auto"
+        },
+        // https://github.com/ant-design/ant-design/issues/29559
+        [`${n}-selection-search`]: {
+          marginInlineStart: t
+        }
+      }
+    },
+    // ======================== Large ========================
+    // Shared
+    xe(Z(e, {
+      fontSize: e.fontSizeLG,
+      controlHeight: e.controlHeightLG,
+      controlHeightSM: e.controlHeight,
+      borderRadius: e.borderRadiusLG,
+      borderRadiusSM: e.borderRadius
+    }), "lg")
+  ];
+}
+function Ce(e, n) {
+  const {
+    componentCls: o,
+    inputPaddingHorizontalBase: t,
+    borderRadius: i
+  } = e, l = e.controlHeight - e.lineWidth * 2, m = Math.ceil(e.fontSize * 1.25), v = n ? `${o}-${n}` : "";
+  return {
+    [`${o}-single${v}`]: {
+      fontSize: e.fontSize,
+      // ========================= Selector =========================
+      [`${o}-selector`]: d(d({}, Fe(e)), {
+        display: "flex",
+        borderRadius: i,
+        [`${o}-selection-search`]: {
+          position: "absolute",
+          top: 0,
+          insetInlineStart: t,
+          insetInlineEnd: t,
+          bottom: 0,
+          "&-input": {
+            width: "100%"
+          }
+        },
+        [`
+          ${o}-selection-item,
+          ${o}-selection-placeholder
+        `]: {
+          padding: 0,
+          lineHeight: `${l}px`,
+          transition: `all ${e.motionDurationSlow}`,
+          // Firefox inline-block position calculation is not same as Chrome & Safari. Patch this:
+          "@supports (-moz-appearance: meterbar)": {
+            lineHeight: `${l}px`
+          }
+        },
+        [`${o}-selection-item`]: {
+          position: "relative",
+          userSelect: "none"
+        },
+        [`${o}-selection-placeholder`]: {
+          transition: "none",
+          pointerEvents: "none"
+        },
+        // For common baseline align
+        [[
+          "&:after",
+          /* For '' value baseline align */
+          `${o}-selection-item:after`,
+          /* For undefined value baseline align */
+          `${o}-selection-placeholder:after`
+        ].join(",")]: {
+          display: "inline-block",
+          width: 0,
+          visibility: "hidden",
+          content: '"\\a0"'
+        }
+      }),
+      [`
+        &${o}-show-arrow ${o}-selection-item,
+        &${o}-show-arrow ${o}-selection-placeholder
+      `]: {
+        paddingInlineEnd: m
+      },
+      // Opacity selection if open
+      [`&${o}-open ${o}-selection-item`]: {
+        color: e.colorTextPlaceholder
+      },
+      // ========================== Input ==========================
+      // We only change the style of non-customize input which is only support by `combobox` mode.
+      // Not customize
+      [`&:not(${o}-customize-input)`]: {
+        [`${o}-selector`]: {
+          width: "100%",
+          height: e.controlHeight,
+          padding: `0 ${t}px`,
+          [`${o}-selection-search-input`]: {
+            height: l
+          },
+          "&:after": {
+            lineHeight: `${l}px`
+          }
+        }
+      },
+      [`&${o}-customize-input`]: {
+        [`${o}-selector`]: {
+          "&:after": {
+            display: "none"
+          },
+          [`${o}-selection-search`]: {
+            position: "static",
+            width: "100%"
+          },
+          [`${o}-selection-placeholder`]: {
+            position: "absolute",
+            insetInlineStart: 0,
+            insetInlineEnd: 0,
+            padding: `0 ${t}px`,
+            "&:after": {
+              display: "none"
+            }
+          }
+        }
+      }
+    }
+  };
+}
+function Do(e) {
+  const {
+    componentCls: n
+  } = e, o = e.controlPaddingHorizontalSM - e.lineWidth;
+  return [
+    Ce(e),
+    // ======================== Small ========================
+    // Shared
+    Ce(Z(e, {
+      controlHeight: e.controlHeightSM,
+      borderRadius: e.borderRadiusSM
+    }), "sm"),
+    // padding
+    {
+      [`${n}-single${n}-sm`]: {
+        [`&:not(${n}-customize-input)`]: {
+          [`${n}-selection-search`]: {
+            insetInlineStart: o,
+            insetInlineEnd: o
+          },
+          [`${n}-selector`]: {
+            padding: `0 ${o}px`
+          },
+          // With arrow should provides `padding-right` to show the arrow
+          [`&${n}-show-arrow ${n}-selection-search`]: {
+            insetInlineEnd: o + e.fontSize * 1.5
+          },
+          [`
+            &${n}-show-arrow ${n}-selection-item,
+            &${n}-show-arrow ${n}-selection-placeholder
+          `]: {
+            paddingInlineEnd: e.fontSize * 1.5
+          }
+        }
+      }
+    },
+    // ======================== Large ========================
+    // Shared
+    Ce(Z(e, {
+      controlHeight: e.controlHeightLG,
+      fontSize: e.fontSizeLG,
+      borderRadius: e.borderRadiusLG
+    }), "lg")
+  ];
+}
+const Eo = (e) => {
+  const {
+    componentCls: n
+  } = e;
+  return {
+    position: "relative",
+    backgroundColor: e.colorBgContainer,
+    border: `${e.lineWidth}px ${e.lineType} ${e.colorBorder}`,
+    transition: `all ${e.motionDurationMid} ${e.motionEaseInOut}`,
+    input: {
+      cursor: "pointer"
+    },
+    [`${n}-show-search&`]: {
+      cursor: "text",
+      input: {
+        cursor: "auto",
+        color: "inherit"
+      }
+    },
+    [`${n}-disabled&`]: {
+      color: e.colorTextDisabled,
+      background: e.colorBgContainerDisabled,
+      cursor: "not-allowed",
+      [`${n}-multiple&`]: {
+        background: e.colorBgContainerDisabled
+      },
+      input: {
+        cursor: "not-allowed"
+      }
+    }
+  };
+}, $e = function(e, n) {
+  let o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
+  const {
+    componentCls: t,
+    borderHoverColor: i,
+    outlineColor: l,
+    antCls: m
+  } = n, v = o ? {
+    [`${t}-selector`]: {
+      borderColor: i
+    }
+  } : {};
+  return {
+    [e]: {
+      [`&:not(${t}-disabled):not(${t}-customize-input):not(${m}-pagination-size-changer)`]: d(d({}, v), {
+        [`${t}-focused& ${t}-selector`]: {
+          borderColor: i,
+          boxShadow: `0 0 0 ${n.controlOutlineWidth}px ${l}`,
+          borderInlineEndWidth: `${n.controlLineWidth}px !important`,
+          outline: 0
+        },
+        [`&:hover ${t}-selector`]: {
+          borderColor: i,
+          borderInlineEndWidth: `${n.controlLineWidth}px !important`
+        }
+      })
+    }
+  };
+}, Oo = (e) => {
+  const {
+    componentCls: n
+  } = e;
+  return {
+    [`${n}-selection-search-input`]: {
+      margin: 0,
+      padding: 0,
+      background: "transparent",
+      border: "none",
+      outline: "none",
+      appearance: "none",
+      "&::-webkit-search-cancel-button": {
+        display: "none",
+        "-webkit-appearance": "none"
+      }
+    }
+  };
+}, Mo = (e) => {
+  const {
+    componentCls: n,
+    inputPaddingHorizontalBase: o,
+    iconCls: t
+  } = e;
+  return {
+    [n]: d(d({}, Fe(e)), {
+      position: "relative",
+      display: "inline-block",
+      cursor: "pointer",
+      [`&:not(${n}-customize-input) ${n}-selector`]: d(d({}, Eo(e)), Oo(e)),
+      // [`&:not(&-disabled):hover ${selectCls}-selector`]: {
+      //   ...genHoverStyle(token),
+      // },
+      // ======================== Selection ========================
+      [`${n}-selection-item`]: d({
+        flex: 1,
+        fontWeight: "normal"
+      }, Pe),
+      // ======================= Placeholder =======================
+      [`${n}-selection-placeholder`]: d(d({}, Pe), {
+        flex: 1,
+        color: e.colorTextPlaceholder,
+        pointerEvents: "none"
+      }),
+      // ========================== Arrow ==========================
+      [`${n}-arrow`]: d(d({}, Je()), {
+        position: "absolute",
+        top: "50%",
+        insetInlineStart: "auto",
+        insetInlineEnd: o,
+        height: e.fontSizeIcon,
+        marginTop: -e.fontSizeIcon / 2,
+        color: e.colorTextQuaternary,
+        fontSize: e.fontSizeIcon,
+        lineHeight: 1,
+        textAlign: "center",
+        pointerEvents: "none",
+        display: "flex",
+        alignItems: "center",
+        [t]: {
+          verticalAlign: "top",
+          transition: `transform ${e.motionDurationSlow}`,
+          "> svg": {
+            verticalAlign: "top"
+          },
+          [`&:not(${n}-suffix)`]: {
+            pointerEvents: "auto"
+          }
+        },
+        [`${n}-disabled &`]: {
+          cursor: "not-allowed"
+        },
+        "> *:not(:last-child)": {
+          marginInlineEnd: 8
+          // FIXME: magic
+        }
+      }),
+      // ========================== Clear ==========================
+      [`${n}-clear`]: {
+        position: "absolute",
+        top: "50%",
+        insetInlineStart: "auto",
+        insetInlineEnd: o,
+        zIndex: 1,
+        display: "inline-block",
+        width: e.fontSizeIcon,
+        height: e.fontSizeIcon,
+        marginTop: -e.fontSizeIcon / 2,
+        color: e.colorTextQuaternary,
+        fontSize: e.fontSizeIcon,
+        fontStyle: "normal",
+        lineHeight: 1,
+        textAlign: "center",
+        textTransform: "none",
+        background: e.colorBgContainer,
+        cursor: "pointer",
+        opacity: 0,
+        transition: `color ${e.motionDurationMid} ease, opacity ${e.motionDurationSlow} ease`,
+        textRendering: "auto",
+        "&:before": {
+          display: "block"
+        },
+        "&:hover": {
+          color: e.colorTextTertiary
+        }
+      },
+      "&:hover": {
+        [`${n}-clear`]: {
+          opacity: 1
+        }
+      }
+    }),
+    // ========================= Feedback ==========================
+    [`${n}-has-feedback`]: {
+      [`${n}-clear`]: {
+        insetInlineEnd: o + e.fontSize + e.paddingXXS
+      }
+    }
+  };
+}, Ro = (e) => {
+  const {
+    componentCls: n
+  } = e;
+  return [
+    {
+      [n]: {
+        // ==================== BorderLess ====================
+        [`&-borderless ${n}-selector`]: {
+          backgroundColor: "transparent !important",
+          borderColor: "transparent !important",
+          boxShadow: "none !important"
+        },
+        // ==================== In Form ====================
+        [`&${n}-in-form-item`]: {
+          width: "100%"
+        }
+      }
+    },
+    // =====================================================
+    // ==                       LTR                       ==
+    // =====================================================
+    // Base
+    Mo(e),
+    // Single
+    Do(e),
+    // Multiple
+    Fo(e),
+    // Dropdown
+    To(e),
+    // =====================================================
+    // ==                       RTL                       ==
+    // =====================================================
+    {
+      [`${n}-rtl`]: {
+        direction: "rtl"
+      }
+    },
+    // =====================================================
+    // ==                     Status                      ==
+    // =====================================================
+    $e(n, Z(e, {
+      borderHoverColor: e.colorPrimaryHover,
+      outlineColor: e.controlOutline
+    })),
+    $e(`${n}-status-error`, Z(e, {
+      borderHoverColor: e.colorErrorHover,
+      outlineColor: e.colorErrorOutline
+    }), !0),
+    $e(`${n}-status-warning`, Z(e, {
+      borderHoverColor: e.colorWarningHover,
+      outlineColor: e.colorWarningOutline
+    }), !0),
+    // =====================================================
+    // ==             Space Compact                       ==
+    // =====================================================
+    Jn(e, {
+      borderElCls: `${n}-selector`,
+      focusElCls: `${n}-focused`
+    })
+  ];
+}, ko = Qn("Select", (e, n) => {
+  let {
+    rootPrefixCls: o
+  } = n;
+  const t = Z(e, {
+    rootPrefixCls: o,
+    inputPaddingHorizontalBase: e.paddingSM - 1
+  });
+  return [Ro(t)];
+}, (e) => ({
+  zIndexPopup: e.zIndexPopupBase + 50
+}));
+export {
+  Qo as B,
+  Jo as a,
+  Io as b,
+  ko as c,
+  Me as d,
+  Yo as e,
+  Zo as g,
+  bo as t,
+  qo as u
+};

+ 781 - 0
lib/js/index4.js

@@ -0,0 +1,781 @@
+import { w as N, _ as v, $ as B, aU as F, o as M, bd as L, I as R, J as E, bc as G, M as W } from "./index2.js";
+import { ref as H, shallowRef as X, watchEffect as U } from "vue";
+function ae() {
+  const e = (t) => {
+    e.current = t;
+  };
+  return e;
+}
+function le(e, t) {
+  if (!e) return [];
+  const n = e.slice(), r = n.indexOf(t);
+  return r >= 0 && n.splice(r, 1), n;
+}
+function se(e, t) {
+  const n = (e || []).slice();
+  return n.indexOf(t) === -1 && n.push(t), n;
+}
+function I(e) {
+  return e.split("-");
+}
+function D(e, t) {
+  return `${e}-${t}`;
+}
+function q(e) {
+  return e && e.type && e.type.isTreeNode;
+}
+function ce(e, t) {
+  const n = [], r = t[e];
+  function o() {
+    (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []).forEach((f) => {
+      let {
+        key: d,
+        children: u
+      } = f;
+      n.push(d), o(u);
+    });
+  }
+  return o(r.children), n;
+}
+function J(e) {
+  if (e.parent) {
+    const t = I(e.pos);
+    return Number(t[t.length - 1]) === e.parent.children.length - 1;
+  }
+  return !1;
+}
+function V(e) {
+  const t = I(e.pos);
+  return Number(t[t.length - 1]) === 0;
+}
+function de(e, t, n, r, o, i, f, d, u, s) {
+  var l;
+  const {
+    clientX: a,
+    clientY: c
+  } = e, {
+    top: h,
+    height: p
+  } = e.target.getBoundingClientRect(), g = ((s === "rtl" ? -1 : 1) * (((o == null ? void 0 : o.x) || 0) - a) - 12) / r;
+  let y = d[n.eventKey];
+  if (c < h + p / 2) {
+    const k = f.findIndex((A) => A.key === y.key), O = k <= 0 ? 0 : k - 1, z = f[O].key;
+    y = d[z];
+  }
+  const S = y.key, C = y, m = y.key;
+  let $ = 0, P = 0;
+  if (!u.has(S))
+    for (let k = 0; k < g && J(y); k += 1)
+      y = y.parent, P += 1;
+  const x = t.eventData, w = y.node;
+  let K = !0;
+  return V(y) && y.level === 0 && c < h + p / 2 && i({
+    dragNode: x,
+    dropNode: w,
+    dropPosition: -1
+  }) && y.key === n.eventKey ? $ = -1 : (C.children || []).length && u.has(m) ? i({
+    dragNode: x,
+    dropNode: w,
+    dropPosition: 0
+  }) ? $ = 0 : K = !1 : P === 0 ? g > -1.5 ? i({
+    dragNode: x,
+    dropNode: w,
+    dropPosition: 1
+  }) ? $ = 1 : K = !1 : i({
+    dragNode: x,
+    dropNode: w,
+    dropPosition: 0
+  }) ? $ = 0 : i({
+    dragNode: x,
+    dropNode: w,
+    dropPosition: 1
+  }) ? $ = 1 : K = !1 : i({
+    dragNode: x,
+    dropNode: w,
+    dropPosition: 1
+  }) ? $ = 1 : K = !1, {
+    dropPosition: $,
+    dropLevelOffset: P,
+    dropTargetKey: y.key,
+    dropTargetPos: y.pos,
+    dragOverNodeKey: m,
+    dropContainerKey: $ === 0 ? null : ((l = y.parent) === null || l === void 0 ? void 0 : l.key) || null,
+    dropAllowed: K
+  };
+}
+function fe(e, t) {
+  if (!e) return;
+  const {
+    multiple: n
+  } = t;
+  return n ? e.slice() : e.length ? [e[0]] : e;
+}
+function ue(e) {
+  if (!e)
+    return null;
+  let t;
+  if (Array.isArray(e))
+    t = {
+      checkedKeys: e,
+      halfCheckedKeys: void 0
+    };
+  else if (typeof e == "object")
+    t = {
+      checkedKeys: e.checked || void 0,
+      halfCheckedKeys: e.halfChecked || void 0
+    };
+  else
+    return N(!1, "`checkedKeys` is not an array or an object"), null;
+  return t;
+}
+function pe(e, t) {
+  const n = /* @__PURE__ */ new Set();
+  function r(o) {
+    if (n.has(o)) return;
+    const i = t[o];
+    if (!i) return;
+    n.add(o);
+    const {
+      parent: f,
+      node: d
+    } = i;
+    d.disabled || f && r(f.key);
+  }
+  return (e || []).forEach((o) => {
+    r(o);
+  }), [...n];
+}
+var Y = function(e, t) {
+  var n = {};
+  for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var o = 0, r = Object.getOwnPropertySymbols(e); o < r.length; o++)
+    t.indexOf(r[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[o]) && (n[r[o]] = e[r[o]]);
+  return n;
+};
+function T(e, t) {
+  return e != null ? e : t;
+}
+function j(e) {
+  const {
+    title: t,
+    _title: n,
+    key: r,
+    children: o
+  } = e || {}, i = t || "title";
+  return {
+    title: i,
+    _title: n || [i],
+    key: r || "key",
+    children: o || "children"
+  };
+}
+function he(e) {
+  function t() {
+    let n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
+    return B(n).map((o) => {
+      var i, f, d, u;
+      if (!q(o))
+        return N(!o, "Tree/TreeNode can only accept TreeNode as children."), null;
+      const s = o.children || {}, l = o.key, a = {};
+      for (const [k, O] of Object.entries(o.props))
+        a[F(k)] = O;
+      const {
+        isLeaf: c,
+        checkable: h,
+        selectable: p,
+        disabled: b,
+        disableCheckbox: g
+      } = a, y = {
+        isLeaf: c || c === "" || void 0,
+        checkable: h || h === "" || void 0,
+        selectable: p || p === "" || void 0,
+        disabled: b || b === "" || void 0,
+        disableCheckbox: g || g === "" || void 0
+      }, S = v(v({}, a), y), {
+        title: C = (i = s.title) === null || i === void 0 ? void 0 : i.call(s, S),
+        icon: m = (f = s.icon) === null || f === void 0 ? void 0 : f.call(s, S),
+        switcherIcon: $ = (d = s.switcherIcon) === null || d === void 0 ? void 0 : d.call(s, S)
+      } = a, P = Y(a, ["title", "icon", "switcherIcon"]), x = (u = s.default) === null || u === void 0 ? void 0 : u.call(s), w = v(v(v({}, P), {
+        title: C,
+        icon: m,
+        switcherIcon: $,
+        key: l,
+        isLeaf: c
+      }), y), K = t(x);
+      return K.length && (w.children = K), w;
+    });
+  }
+  return t(e);
+}
+function ye(e, t, n) {
+  const {
+    _title: r,
+    key: o,
+    children: i
+  } = j(n), f = new Set(t === !0 ? [] : t), d = [];
+  function u(s) {
+    let l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
+    return s.map((a, c) => {
+      const h = D(l ? l.pos : "0", c), p = T(a[o], h);
+      let b;
+      for (let y = 0; y < r.length; y += 1) {
+        const S = r[y];
+        if (a[S] !== void 0) {
+          b = a[S];
+          break;
+        }
+      }
+      const g = v(v({}, M(a, [...r, o, i])), {
+        title: b,
+        key: p,
+        parent: l,
+        pos: h,
+        children: null,
+        data: a,
+        isStart: [...l ? l.isStart : [], c === 0],
+        isEnd: [...l ? l.isEnd : [], c === s.length - 1]
+      });
+      return d.push(g), t === !0 || f.has(p) ? g.children = u(a[i] || [], g) : g.children = [], g;
+    });
+  }
+  return u(e), d;
+}
+function Q(e, t, n) {
+  let r = {};
+  typeof n == "object" ? r = n : r = {
+    externalGetKey: n
+  }, r = r || {};
+  const {
+    childrenPropName: o,
+    externalGetKey: i,
+    fieldNames: f
+  } = r, {
+    key: d,
+    children: u
+  } = j(f), s = o || u;
+  let l;
+  i ? typeof i == "string" ? l = (c) => c[i] : typeof i == "function" && (l = (c) => i(c)) : l = (c, h) => T(c[d], h);
+  function a(c, h, p, b) {
+    const g = c ? c[s] : e, y = c ? D(p.pos, h) : "0", S = c ? [...b, c] : [];
+    if (c) {
+      const C = l(c, y), m = {
+        node: c,
+        index: h,
+        pos: y,
+        key: C,
+        parentPos: p.node ? p.pos : null,
+        level: p.level + 1,
+        nodes: S
+      };
+      t(m);
+    }
+    g && g.forEach((C, m) => {
+      a(C, m, {
+        node: c,
+        pos: y,
+        level: p ? p.level + 1 : -1
+      }, S);
+    });
+  }
+  a(null);
+}
+function ge(e) {
+  let {
+    initWrapper: t,
+    processEntity: n,
+    onProcessFinished: r,
+    externalGetKey: o,
+    childrenPropName: i,
+    fieldNames: f
+  } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, d = arguments.length > 2 ? arguments[2] : void 0;
+  const u = o || d, s = {}, l = {};
+  let a = {
+    posEntities: s,
+    keyEntities: l
+  };
+  return t && (a = t(a) || a), Q(e, (c) => {
+    const {
+      node: h,
+      index: p,
+      pos: b,
+      key: g,
+      parentPos: y,
+      level: S,
+      nodes: C
+    } = c, m = {
+      node: h,
+      nodes: C,
+      index: p,
+      key: g,
+      pos: b,
+      level: S
+    }, $ = T(g, b);
+    s[b] = m, l[$] = m, m.parent = s[y], m.parent && (m.parent.children = m.parent.children || [], m.parent.children.push(m)), n && n(m, a);
+  }, {
+    externalGetKey: u,
+    childrenPropName: i,
+    fieldNames: f
+  }), r && r(a), a;
+}
+function be(e, t) {
+  let {
+    expandedKeysSet: n,
+    selectedKeysSet: r,
+    loadedKeysSet: o,
+    loadingKeysSet: i,
+    checkedKeysSet: f,
+    halfCheckedKeysSet: d,
+    dragOverNodeKey: u,
+    dropPosition: s,
+    keyEntities: l
+  } = t;
+  const a = l[e];
+  return {
+    eventKey: e,
+    expanded: n.has(e),
+    selected: r.has(e),
+    loaded: o.has(e),
+    loading: i.has(e),
+    checked: f.has(e),
+    halfChecked: d.has(e),
+    pos: String(a ? a.pos : ""),
+    parent: a.parent,
+    // [Legacy] Drag props
+    // Since the interaction of drag is changed, the semantic of the props are
+    // not accuracy, I think it should be finally removed
+    dragOver: u === e && s === 0,
+    dragOverGapTop: u === e && s === -1,
+    dragOverGapBottom: u === e && s === 1
+  };
+}
+function me(e) {
+  const {
+    data: t,
+    expanded: n,
+    selected: r,
+    checked: o,
+    loaded: i,
+    loading: f,
+    halfChecked: d,
+    dragOver: u,
+    dragOverGapTop: s,
+    dragOverGapBottom: l,
+    pos: a,
+    active: c,
+    eventKey: h
+  } = e, p = v(v({
+    dataRef: t
+  }, t), {
+    expanded: n,
+    selected: r,
+    checked: o,
+    loaded: i,
+    loading: f,
+    halfChecked: d,
+    dragOver: u,
+    dragOverGapTop: s,
+    dragOverGapBottom: l,
+    pos: a,
+    active: c,
+    eventKey: h,
+    key: h
+  });
+  return "props" in p || Object.defineProperty(p, "props", {
+    get() {
+      return N(!1, "Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."), e;
+    }
+  }), p;
+}
+function _(e, t) {
+  const n = /* @__PURE__ */ new Set();
+  return e.forEach((r) => {
+    t.has(r) || n.add(r);
+  }), n;
+}
+function Z(e) {
+  const {
+    disabled: t,
+    disableCheckbox: n,
+    checkable: r
+  } = e || {};
+  return !!(t || n) || r === !1;
+}
+function ee(e, t, n, r) {
+  const o = new Set(e), i = /* @__PURE__ */ new Set();
+  for (let d = 0; d <= n; d += 1)
+    (t.get(d) || /* @__PURE__ */ new Set()).forEach((s) => {
+      const {
+        key: l,
+        node: a,
+        children: c = []
+      } = s;
+      o.has(l) && !r(a) && c.filter((h) => !r(h.node)).forEach((h) => {
+        o.add(h.key);
+      });
+    });
+  const f = /* @__PURE__ */ new Set();
+  for (let d = n; d >= 0; d -= 1)
+    (t.get(d) || /* @__PURE__ */ new Set()).forEach((s) => {
+      const {
+        parent: l,
+        node: a
+      } = s;
+      if (r(a) || !s.parent || f.has(s.parent.key))
+        return;
+      if (r(s.parent.node)) {
+        f.add(l.key);
+        return;
+      }
+      let c = !0, h = !1;
+      (l.children || []).filter((p) => !r(p.node)).forEach((p) => {
+        let {
+          key: b
+        } = p;
+        const g = o.has(b);
+        c && !g && (c = !1), !h && (g || i.has(b)) && (h = !0);
+      }), c && o.add(l.key), h && i.add(l.key), f.add(l.key);
+    });
+  return {
+    checkedKeys: Array.from(o),
+    halfCheckedKeys: Array.from(_(i, o))
+  };
+}
+function te(e, t, n, r, o) {
+  const i = new Set(e);
+  let f = new Set(t);
+  for (let u = 0; u <= r; u += 1)
+    (n.get(u) || /* @__PURE__ */ new Set()).forEach((l) => {
+      const {
+        key: a,
+        node: c,
+        children: h = []
+      } = l;
+      !i.has(a) && !f.has(a) && !o(c) && h.filter((p) => !o(p.node)).forEach((p) => {
+        i.delete(p.key);
+      });
+    });
+  f = /* @__PURE__ */ new Set();
+  const d = /* @__PURE__ */ new Set();
+  for (let u = r; u >= 0; u -= 1)
+    (n.get(u) || /* @__PURE__ */ new Set()).forEach((l) => {
+      const {
+        parent: a,
+        node: c
+      } = l;
+      if (o(c) || !l.parent || d.has(l.parent.key))
+        return;
+      if (o(l.parent.node)) {
+        d.add(a.key);
+        return;
+      }
+      let h = !0, p = !1;
+      (a.children || []).filter((b) => !o(b.node)).forEach((b) => {
+        let {
+          key: g
+        } = b;
+        const y = i.has(g);
+        h && !y && (h = !1), !p && (y || f.has(g)) && (p = !0);
+      }), h || i.delete(a.key), p && f.add(a.key), d.add(a.key);
+    });
+  return {
+    checkedKeys: Array.from(i),
+    halfCheckedKeys: Array.from(_(f, i))
+  };
+}
+function ve(e, t, n, r, o, i) {
+  const f = [];
+  let d;
+  d = Z;
+  const u = new Set(e.filter((l) => {
+    const a = !!n[l];
+    return a || f.push(l), a;
+  }));
+  L(!f.length, `Tree missing follow keys: ${f.slice(0, 100).map((l) => `'${l}'`).join(", ")}`);
+  let s;
+  return t === !0 ? s = ee(u, o, r, d) : s = te(u, t.halfCheckedKeys, o, r, d), s;
+}
+function Se(e) {
+  const t = H(0), n = X();
+  return U(() => {
+    const r = /* @__PURE__ */ new Map();
+    let o = 0;
+    const i = e.value || {};
+    for (const f in i)
+      if (Object.prototype.hasOwnProperty.call(i, f)) {
+        const d = i[f], {
+          level: u
+        } = d;
+        let s = r.get(u);
+        s || (s = /* @__PURE__ */ new Set(), r.set(u, s)), s.add(d), o = Math.max(o, u);
+      }
+    t.value = o, n.value = r;
+  }), {
+    maxLevel: t,
+    levelEntities: n
+  };
+}
+const ne = new W("antCheckboxEffect", {
+  "0%": {
+    transform: "scale(1)",
+    opacity: 0.5
+  },
+  "100%": {
+    transform: "scale(1.6)",
+    opacity: 0
+  }
+}), re = (e) => {
+  const {
+    checkboxCls: t
+  } = e, n = `${t}-wrapper`;
+  return [
+    // ===================== Basic =====================
+    {
+      // Group
+      [`${t}-group`]: v(v({}, E(e)), {
+        display: "inline-flex",
+        flexWrap: "wrap",
+        columnGap: e.marginXS,
+        // Group > Grid
+        [`> ${e.antCls}-row`]: {
+          flex: 1
+        }
+      }),
+      // Wrapper
+      [n]: v(v({}, E(e)), {
+        display: "inline-flex",
+        alignItems: "baseline",
+        cursor: "pointer",
+        // Fix checkbox & radio in flex align #30260
+        "&:after": {
+          display: "inline-block",
+          width: 0,
+          overflow: "hidden",
+          content: "'\\a0'"
+        },
+        // Checkbox near checkbox
+        [`& + ${n}`]: {
+          marginInlineStart: 0
+        },
+        [`&${n}-in-form-item`]: {
+          'input[type="checkbox"]': {
+            width: 14,
+            height: 14
+            // FIXME: magic
+          }
+        }
+      }),
+      // Wrapper > Checkbox
+      [t]: v(v({}, E(e)), {
+        position: "relative",
+        whiteSpace: "nowrap",
+        lineHeight: 1,
+        cursor: "pointer",
+        // To make alignment right when `controlHeight` is changed
+        // Ref: https://github.com/ant-design/ant-design/issues/41564
+        alignSelf: "center",
+        // Wrapper > Checkbox > input
+        [`${t}-input`]: {
+          position: "absolute",
+          // Since baseline align will get additional space offset,
+          // we need to move input to top to make it align with text.
+          // Ref: https://github.com/ant-design/ant-design/issues/38926#issuecomment-1486137799
+          inset: 0,
+          zIndex: 1,
+          cursor: "pointer",
+          opacity: 0,
+          margin: 0,
+          [`&:focus-visible + ${t}-inner`]: v({}, G(e))
+        },
+        // Wrapper > Checkbox > inner
+        [`${t}-inner`]: {
+          boxSizing: "border-box",
+          position: "relative",
+          top: 0,
+          insetInlineStart: 0,
+          display: "block",
+          width: e.checkboxSize,
+          height: e.checkboxSize,
+          direction: "ltr",
+          backgroundColor: e.colorBgContainer,
+          border: `${e.lineWidth}px ${e.lineType} ${e.colorBorder}`,
+          borderRadius: e.borderRadiusSM,
+          borderCollapse: "separate",
+          transition: `all ${e.motionDurationSlow}`,
+          "&:after": {
+            boxSizing: "border-box",
+            position: "absolute",
+            top: "50%",
+            insetInlineStart: "21.5%",
+            display: "table",
+            width: e.checkboxSize / 14 * 5,
+            height: e.checkboxSize / 14 * 8,
+            border: `${e.lineWidthBold}px solid ${e.colorWhite}`,
+            borderTop: 0,
+            borderInlineStart: 0,
+            transform: "rotate(45deg) scale(0) translate(-50%,-50%)",
+            opacity: 0,
+            content: '""',
+            transition: `all ${e.motionDurationFast} ${e.motionEaseInBack}, opacity ${e.motionDurationFast}`
+          }
+        },
+        // Wrapper > Checkbox + Text
+        "& + span": {
+          paddingInlineStart: e.paddingXS,
+          paddingInlineEnd: e.paddingXS
+        }
+      })
+    },
+    // ================= Indeterminate =================
+    {
+      [t]: {
+        "&-indeterminate": {
+          // Wrapper > Checkbox > inner
+          [`${t}-inner`]: {
+            "&:after": {
+              top: "50%",
+              insetInlineStart: "50%",
+              width: e.fontSizeLG / 2,
+              height: e.fontSizeLG / 2,
+              backgroundColor: e.colorPrimary,
+              border: 0,
+              transform: "translate(-50%, -50%) scale(1)",
+              opacity: 1,
+              content: '""'
+            }
+          }
+        }
+      }
+    },
+    // ===================== Hover =====================
+    {
+      // Wrapper
+      [`${n}:hover ${t}:after`]: {
+        visibility: "visible"
+      },
+      // Wrapper & Wrapper > Checkbox
+      [`
+        ${n}:not(${n}-disabled),
+        ${t}:not(${t}-disabled)
+      `]: {
+        [`&:hover ${t}-inner`]: {
+          borderColor: e.colorPrimary
+        }
+      },
+      [`${n}:not(${n}-disabled)`]: {
+        [`&:hover ${t}-checked:not(${t}-disabled) ${t}-inner`]: {
+          backgroundColor: e.colorPrimaryHover,
+          borderColor: "transparent"
+        },
+        [`&:hover ${t}-checked:not(${t}-disabled):after`]: {
+          borderColor: e.colorPrimaryHover
+        }
+      }
+    },
+    // ==================== Checked ====================
+    {
+      // Wrapper > Checkbox
+      [`${t}-checked`]: {
+        [`${t}-inner`]: {
+          backgroundColor: e.colorPrimary,
+          borderColor: e.colorPrimary,
+          "&:after": {
+            opacity: 1,
+            transform: "rotate(45deg) scale(1) translate(-50%,-50%)",
+            transition: `all ${e.motionDurationMid} ${e.motionEaseOutBack} ${e.motionDurationFast}`
+          }
+        },
+        // Checked Effect
+        "&:after": {
+          position: "absolute",
+          top: 0,
+          insetInlineStart: 0,
+          width: "100%",
+          height: "100%",
+          borderRadius: e.borderRadiusSM,
+          visibility: "hidden",
+          border: `${e.lineWidthBold}px solid ${e.colorPrimary}`,
+          animationName: ne,
+          animationDuration: e.motionDurationSlow,
+          animationTimingFunction: "ease-in-out",
+          animationFillMode: "backwards",
+          content: '""',
+          transition: `all ${e.motionDurationSlow}`
+        }
+      },
+      [`
+        ${n}-checked:not(${n}-disabled),
+        ${t}-checked:not(${t}-disabled)
+      `]: {
+        [`&:hover ${t}-inner`]: {
+          backgroundColor: e.colorPrimaryHover,
+          borderColor: "transparent"
+        },
+        [`&:hover ${t}:after`]: {
+          borderColor: e.colorPrimaryHover
+        }
+      }
+    },
+    // ==================== Disable ====================
+    {
+      // Wrapper
+      [`${n}-disabled`]: {
+        cursor: "not-allowed"
+      },
+      // Wrapper > Checkbox
+      [`${t}-disabled`]: {
+        // Wrapper > Checkbox > input
+        [`&, ${t}-input`]: {
+          cursor: "not-allowed",
+          // Disabled for native input to enable Tooltip event handler
+          // ref: https://github.com/ant-design/ant-design/issues/39822#issuecomment-1365075901
+          pointerEvents: "none"
+        },
+        // Wrapper > Checkbox > inner
+        [`${t}-inner`]: {
+          background: e.colorBgContainerDisabled,
+          borderColor: e.colorBorder,
+          "&:after": {
+            borderColor: e.colorTextDisabled
+          }
+        },
+        "&:after": {
+          display: "none"
+        },
+        "& + span": {
+          color: e.colorTextDisabled
+        },
+        [`&${t}-indeterminate ${t}-inner::after`]: {
+          background: e.colorTextDisabled
+        }
+      }
+    }
+  ];
+};
+function $e(e, t) {
+  const n = R(t, {
+    checkboxCls: `.${e}`,
+    checkboxSize: t.controlInteractiveSize
+  });
+  return [re(n)];
+}
+export {
+  ve as a,
+  he as b,
+  ge as c,
+  pe as d,
+  ae as e,
+  j as f,
+  $e as g,
+  be as h,
+  me as i,
+  T as j,
+  ye as k,
+  fe as l,
+  le as m,
+  ce as n,
+  de as o,
+  ue as p,
+  se as q,
+  I as r,
+  Se as u
+};

+ 2888 - 0
lib/js/index5.js

@@ -0,0 +1,2888 @@
+import { a9 as he, z as fe, aa as _e, ab as Dn, ac as Wn, ad as Yt, y as rt, ae as Bn, af as Zt, ag as Qt, ah as Jt, x as je, ai as Hn, aj as kt, ak as zn, al as Gn, am as bt, an as it, ao as at, ap as Ie, aq as ot, ar as Un, as as en, at as Kn, au as tn, av as Xn, aw as Yn, ax as Zn, ay as Qn, az as wt, aA as Jn, _ as M, w as Ue, i as kn, a6 as er, m as xe, H as tr, aB as nr, a7 as rr, a as Y, g as ir, I as ar, a5 as or, aC as nn, J as rn, Y as lr, Z as sr, U as ur, $ as an, j as on, aD as lt, Q as fr, aE as cr, N as dr, n as mr, P as ge, aF as ln, b as gr, aG as hr, aH as vr, aI as pr, e as Se, D as pe, A as xt, F as $t, E as yr, C as ce, aJ as We } from "./index2.js";
+import { cloneVNode as br, provide as sn, inject as un, computed as C, createVNode as R, Fragment as qe, defineComponent as Le, ref as st, watch as ue, Transition as wr, withDirectives as xr, TransitionGroup as $r, vShow as Fr, shallowRef as re, watchEffect as Ke, onBeforeUnmount as Or, reactive as fn, onMounted as Ar, toRaw as Xe, nextTick as cn, unref as oe } from "vue";
+import { g as dn, i as Sr } from "./isPlainObject.js";
+import { C as mn, A as Er } from "./Col.js";
+import { i as ut, t as Cr, d as Pr } from "./debounce.js";
+import { a as Tr, F as Ir, u as qr, b as Ye } from "./FormItemContext.js";
+function Ft(e) {
+  return typeof e == "object" && e != null && e.nodeType === 1;
+}
+function Ot(e, t) {
+  return (!t || e !== "hidden") && e !== "visible" && e !== "clip";
+}
+function Be(e, t) {
+  if (e.clientHeight < e.scrollHeight || e.clientWidth < e.scrollWidth) {
+    var n = getComputedStyle(e, null);
+    return Ot(n.overflowY, t) || Ot(n.overflowX, t) || function(r) {
+      var i = function(a) {
+        if (!a.ownerDocument || !a.ownerDocument.defaultView) return null;
+        try {
+          return a.ownerDocument.defaultView.frameElement;
+        } catch (o) {
+          return null;
+        }
+      }(r);
+      return !!i && (i.clientHeight < r.scrollHeight || i.clientWidth < r.scrollWidth);
+    }(e);
+  }
+  return !1;
+}
+function Ee(e, t, n, r, i, a, o, l) {
+  return a < e && o > t || a > e && o < t ? 0 : a <= e && l <= n || o >= t && l >= n ? a - e - r : o > t && l < n || a < e && l > n ? o - t + i : 0;
+}
+var At = function(e, t) {
+  var n = window, r = t.scrollMode, i = t.block, a = t.inline, o = t.boundary, l = t.skipOverflowHiddenElements, s = typeof o == "function" ? o : function(Vn) {
+    return Vn !== o;
+  };
+  if (!Ft(e)) throw new TypeError("Invalid target");
+  for (var v, f, g = document.scrollingElement || document.documentElement, h = [], y = e; Ft(y) && s(y); ) {
+    if ((y = (f = (v = y).parentElement) == null ? v.getRootNode().host || null : f) === g) {
+      h.push(y);
+      break;
+    }
+    y != null && y === document.body && Be(y) && !Be(document.documentElement) || y != null && Be(y, l) && h.push(y);
+  }
+  for (var $ = n.visualViewport ? n.visualViewport.width : innerWidth, d = n.visualViewport ? n.visualViewport.height : innerHeight, b = window.scrollX || pageXOffset, m = window.scrollY || pageYOffset, P = e.getBoundingClientRect(), u = P.height, c = P.width, w = P.top, E = P.right, F = P.bottom, O = P.left, j = i === "start" || i === "nearest" ? w : i === "end" ? F : w + u / 2, I = a === "center" ? O + c / 2 : a === "end" ? E : O, L = [], _ = 0; _ < h.length; _++) {
+    var A = h[_], H = A.getBoundingClientRect(), Z = H.height, U = H.width, x = H.top, S = H.right, N = H.bottom, z = H.left;
+    if (r === "if-needed" && w >= 0 && O >= 0 && F <= d && E <= $ && w >= x && F <= N && O >= z && E <= S) return L;
+    var K = getComputedStyle(A), J = parseInt(K.borderLeftWidth, 10), ie = parseInt(K.borderTopWidth, 10), Q = parseInt(K.borderRightWidth, 10), p = parseInt(K.borderBottomWidth, 10), T = 0, V = 0, W = "offsetWidth" in A ? A.offsetWidth - A.clientWidth - J - Q : 0, B = "offsetHeight" in A ? A.offsetHeight - A.clientHeight - ie - p : 0, X = "offsetWidth" in A ? A.offsetWidth === 0 ? 0 : U / A.offsetWidth : 0, te = "offsetHeight" in A ? A.offsetHeight === 0 ? 0 : Z / A.offsetHeight : 0;
+    if (g === A) T = i === "start" ? j : i === "end" ? j - d : i === "nearest" ? Ee(m, m + d, d, ie, p, m + j, m + j + u, u) : j - d / 2, V = a === "start" ? I : a === "center" ? I - $ / 2 : a === "end" ? I - $ : Ee(b, b + $, $, J, Q, b + I, b + I + c, c), T = Math.max(0, T + m), V = Math.max(0, V + b);
+    else {
+      T = i === "start" ? j - x - ie : i === "end" ? j - N + p + B : i === "nearest" ? Ee(x, N, Z, ie, p + B, j, j + u, u) : j - (x + Z / 2) + B / 2, V = a === "start" ? I - z - J : a === "center" ? I - (z + U / 2) + W / 2 : a === "end" ? I - S + Q + W : Ee(z, S, U, J, Q + W, I, I + c, c);
+      var ne = A.scrollLeft, ve = A.scrollTop;
+      j += ve - (T = Math.max(0, Math.min(ve + T / te, A.scrollHeight - Z / te + B))), I += ne - (V = Math.max(0, Math.min(ne + V / X, A.scrollWidth - U / X + W)));
+    }
+    L.push({ el: A, top: T, left: V });
+  }
+  return L;
+};
+function gn(e) {
+  return e === Object(e) && Object.keys(e).length !== 0;
+}
+function Mr(e, t) {
+  t === void 0 && (t = "auto");
+  var n = "scrollBehavior" in document.body.style;
+  e.forEach(function(r) {
+    var i = r.el, a = r.top, o = r.left;
+    i.scroll && n ? i.scroll({
+      top: a,
+      left: o,
+      behavior: t
+    }) : (i.scrollTop = a, i.scrollLeft = o);
+  });
+}
+function _r(e) {
+  return e === !1 ? {
+    block: "end",
+    inline: "nearest"
+  } : gn(e) ? e : {
+    block: "start",
+    inline: "nearest"
+  };
+}
+function jr(e, t) {
+  var n = e.isConnected || e.ownerDocument.documentElement.contains(e);
+  if (gn(t) && typeof t.behavior == "function")
+    return t.behavior(n ? At(e, t) : []);
+  if (n) {
+    var r = _r(t);
+    return Mr(At(e, r), r.behavior);
+  }
+}
+function Ne(e, t) {
+  for (var n = -1, r = e == null ? 0 : e.length, i = Array(r); ++n < r; )
+    i[n] = t(e[n], n, e);
+  return i;
+}
+var Lr = 1 / 0, St = he ? he.prototype : void 0, Et = St ? St.toString : void 0;
+function hn(e) {
+  if (typeof e == "string")
+    return e;
+  if (fe(e))
+    return Ne(e, hn) + "";
+  if (ut(e))
+    return Et ? Et.call(e) : "";
+  var t = e + "";
+  return t == "0" && 1 / e == -Lr ? "-0" : t;
+}
+var Ct = 1 / 0, Nr = 17976931348623157e292;
+function Rr(e) {
+  if (!e)
+    return e === 0 ? e : 0;
+  if (e = Cr(e), e === Ct || e === -Ct) {
+    var t = e < 0 ? -1 : 1;
+    return t * Nr;
+  }
+  return e === e ? e : 0;
+}
+function Vr(e) {
+  var t = Rr(e), n = t % 1;
+  return t === t ? n ? t - n : t : 0;
+}
+function ft(e) {
+  return e;
+}
+var Pt = Object.create, Dr = /* @__PURE__ */ function() {
+  function e() {
+  }
+  return function(t) {
+    if (!_e(t))
+      return {};
+    if (Pt)
+      return Pt(t);
+    e.prototype = t;
+    var n = new e();
+    return e.prototype = void 0, n;
+  };
+}();
+function Wr(e, t, n) {
+  switch (n.length) {
+    case 0:
+      return e.call(t);
+    case 1:
+      return e.call(t, n[0]);
+    case 2:
+      return e.call(t, n[0], n[1]);
+    case 3:
+      return e.call(t, n[0], n[1], n[2]);
+  }
+  return e.apply(t, n);
+}
+function Br(e, t) {
+  var n = -1, r = e.length;
+  for (t || (t = Array(r)); ++n < r; )
+    t[n] = e[n];
+  return t;
+}
+var Hr = 800, zr = 16, Gr = Date.now;
+function Ur(e) {
+  var t = 0, n = 0;
+  return function() {
+    var r = Gr(), i = zr - (r - n);
+    if (n = r, i > 0) {
+      if (++t >= Hr)
+        return arguments[0];
+    } else
+      t = 0;
+    return e.apply(void 0, arguments);
+  };
+}
+function Kr(e) {
+  return function() {
+    return e;
+  };
+}
+var Me = function() {
+  try {
+    var e = Dn(Object, "defineProperty");
+    return e({}, "", {}), e;
+  } catch (t) {
+  }
+}(), Xr = Me ? function(e, t) {
+  return Me(e, "toString", {
+    configurable: !0,
+    enumerable: !1,
+    value: Kr(t),
+    writable: !0
+  });
+} : ft, vn = Ur(Xr);
+function Yr(e, t) {
+  for (var n = -1, r = e == null ? 0 : e.length; ++n < r && t(e[n], n, e) !== !1; )
+    ;
+  return e;
+}
+function pn(e, t, n) {
+  t == "__proto__" && Me ? Me(e, t, {
+    configurable: !0,
+    enumerable: !0,
+    value: n,
+    writable: !0
+  }) : e[t] = n;
+}
+var Zr = Object.prototype, Qr = Zr.hasOwnProperty;
+function yn(e, t, n) {
+  var r = e[t];
+  (!(Qr.call(e, t) && Wn(r, n)) || n === void 0 && !(t in e)) && pn(e, t, n);
+}
+function Fe(e, t, n, r) {
+  var i = !n;
+  n || (n = {});
+  for (var a = -1, o = t.length; ++a < o; ) {
+    var l = t[a], s = void 0;
+    s === void 0 && (s = e[l]), i ? pn(n, l, s) : yn(n, l, s);
+  }
+  return n;
+}
+var Tt = Math.max;
+function bn(e, t, n) {
+  return t = Tt(t === void 0 ? e.length - 1 : t, 0), function() {
+    for (var r = arguments, i = -1, a = Tt(r.length - t, 0), o = Array(a); ++i < a; )
+      o[i] = r[t + i];
+    i = -1;
+    for (var l = Array(t + 1); ++i < t; )
+      l[i] = r[i];
+    return l[t] = n(o), Wr(e, this, l);
+  };
+}
+function Jr(e, t) {
+  return vn(bn(e, t, ft), e + "");
+}
+function kr(e) {
+  var t = [];
+  if (e != null)
+    for (var n in Object(e))
+      t.push(n);
+  return t;
+}
+var ei = Object.prototype, ti = ei.hasOwnProperty;
+function ni(e) {
+  if (!_e(e))
+    return kr(e);
+  var t = Yt(e), n = [];
+  for (var r in e)
+    r == "constructor" && (t || !ti.call(e, r)) || n.push(r);
+  return n;
+}
+function ct(e) {
+  return rt(e) ? Bn(e, !0) : ni(e);
+}
+var ri = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, ii = /^\w*$/;
+function dt(e, t) {
+  if (fe(e))
+    return !1;
+  var n = typeof e;
+  return n == "number" || n == "symbol" || n == "boolean" || e == null || ut(e) ? !0 : ii.test(e) || !ri.test(e) || t != null && e in Object(t);
+}
+var ai = "Expected a function";
+function mt(e, t) {
+  if (typeof e != "function" || t != null && typeof t != "function")
+    throw new TypeError(ai);
+  var n = function() {
+    var r = arguments, i = t ? t.apply(this, r) : r[0], a = n.cache;
+    if (a.has(i))
+      return a.get(i);
+    var o = e.apply(this, r);
+    return n.cache = a.set(i, o) || a, o;
+  };
+  return n.cache = new (mt.Cache || Zt)(), n;
+}
+mt.Cache = Zt;
+var oi = 500;
+function li(e) {
+  var t = mt(e, function(r) {
+    return n.size === oi && n.clear(), r;
+  }), n = t.cache;
+  return t;
+}
+var si = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, ui = /\\(\\)?/g, fi = li(function(e) {
+  var t = [];
+  return e.charCodeAt(0) === 46 && t.push(""), e.replace(si, function(n, r, i, a) {
+    t.push(i ? a.replace(ui, "$1") : r || n);
+  }), t;
+});
+function ci(e) {
+  return e == null ? "" : hn(e);
+}
+function Re(e, t) {
+  return fe(e) ? e : dt(e, t) ? [e] : fi(ci(e));
+}
+var di = 1 / 0;
+function Oe(e) {
+  if (typeof e == "string" || ut(e))
+    return e;
+  var t = e + "";
+  return t == "0" && 1 / e == -di ? "-0" : t;
+}
+function gt(e, t) {
+  t = Re(t, e);
+  for (var n = 0, r = t.length; e != null && n < r; )
+    e = e[Oe(t[n++])];
+  return n && n == r ? e : void 0;
+}
+function mi(e, t, n) {
+  var r = e == null ? void 0 : gt(e, t);
+  return r === void 0 ? n : r;
+}
+var It = he ? he.isConcatSpreadable : void 0;
+function gi(e) {
+  return fe(e) || Qt(e) || !!(It && e && e[It]);
+}
+function hi(e, t, n, r, i) {
+  var a = -1, o = e.length;
+  for (n || (n = gi), i || (i = []); ++a < o; ) {
+    var l = e[a];
+    n(l) ? Jt(i, l) : i[i.length] = l;
+  }
+  return i;
+}
+function vi(e) {
+  var t = e == null ? 0 : e.length;
+  return t ? hi(e) : [];
+}
+function pi(e) {
+  return vn(bn(e, void 0, vi), e + "");
+}
+function yi(e, t, n) {
+  var r = -1, i = e.length;
+  t < 0 && (t = -t > i ? 0 : i + t), n = n > i ? i : n, n < 0 && (n += i), i = t > n ? 0 : n - t >>> 0, t >>>= 0;
+  for (var a = Array(i); ++r < i; )
+    a[r] = e[r + t];
+  return a;
+}
+function bi(e, t) {
+  return e && Fe(t, je(t), e);
+}
+function wi(e, t) {
+  return e && Fe(t, ct(t), e);
+}
+var wn = typeof exports == "object" && exports && !exports.nodeType && exports, qt = wn && typeof module == "object" && module && !module.nodeType && module, xi = qt && qt.exports === wn, Mt = xi ? Hn.Buffer : void 0, _t = Mt ? Mt.allocUnsafe : void 0;
+function $i(e, t) {
+  if (t)
+    return e.slice();
+  var n = e.length, r = _t ? _t(n) : new e.constructor(n);
+  return e.copy(r), r;
+}
+function Fi(e, t) {
+  return Fe(e, kt(e), t);
+}
+var Oi = Object.getOwnPropertySymbols, xn = Oi ? function(e) {
+  for (var t = []; e; )
+    Jt(t, kt(e)), e = dn(e);
+  return t;
+} : zn;
+function Ai(e, t) {
+  return Fe(e, xn(e), t);
+}
+function $n(e) {
+  return Gn(e, ct, xn);
+}
+var Si = Object.prototype, Ei = Si.hasOwnProperty;
+function Ci(e) {
+  var t = e.length, n = new e.constructor(t);
+  return t && typeof e[0] == "string" && Ei.call(e, "index") && (n.index = e.index, n.input = e.input), n;
+}
+function ht(e) {
+  var t = new e.constructor(e.byteLength);
+  return new bt(t).set(new bt(e)), t;
+}
+function Pi(e, t) {
+  var n = t ? ht(e.buffer) : e.buffer;
+  return new e.constructor(n, e.byteOffset, e.byteLength);
+}
+var Ti = /\w*$/;
+function Ii(e) {
+  var t = new e.constructor(e.source, Ti.exec(e));
+  return t.lastIndex = e.lastIndex, t;
+}
+var jt = he ? he.prototype : void 0, Lt = jt ? jt.valueOf : void 0;
+function qi(e) {
+  return Lt ? Object(Lt.call(e)) : {};
+}
+function Mi(e, t) {
+  var n = t ? ht(e.buffer) : e.buffer;
+  return new e.constructor(n, e.byteOffset, e.length);
+}
+var _i = "[object Boolean]", ji = "[object Date]", Li = "[object Map]", Ni = "[object Number]", Ri = "[object RegExp]", Vi = "[object Set]", Di = "[object String]", Wi = "[object Symbol]", Bi = "[object ArrayBuffer]", Hi = "[object DataView]", zi = "[object Float32Array]", Gi = "[object Float64Array]", Ui = "[object Int8Array]", Ki = "[object Int16Array]", Xi = "[object Int32Array]", Yi = "[object Uint8Array]", Zi = "[object Uint8ClampedArray]", Qi = "[object Uint16Array]", Ji = "[object Uint32Array]";
+function ki(e, t, n) {
+  var r = e.constructor;
+  switch (t) {
+    case Bi:
+      return ht(e);
+    case _i:
+    case ji:
+      return new r(+e);
+    case Hi:
+      return Pi(e, n);
+    case zi:
+    case Gi:
+    case Ui:
+    case Ki:
+    case Xi:
+    case Yi:
+    case Zi:
+    case Qi:
+    case Ji:
+      return Mi(e, n);
+    case Li:
+      return new r();
+    case Ni:
+    case Di:
+      return new r(e);
+    case Ri:
+      return Ii(e);
+    case Vi:
+      return new r();
+    case Wi:
+      return qi(e);
+  }
+}
+function ea(e) {
+  return typeof e.constructor == "function" && !Yt(e) ? Dr(dn(e)) : {};
+}
+var ta = "[object Map]";
+function na(e) {
+  return it(e) && at(e) == ta;
+}
+var Nt = Ie && Ie.isMap, ra = Nt ? ot(Nt) : na, ia = "[object Set]";
+function aa(e) {
+  return it(e) && at(e) == ia;
+}
+var Rt = Ie && Ie.isSet, oa = Rt ? ot(Rt) : aa, la = 1, sa = 2, ua = 4, Fn = "[object Arguments]", fa = "[object Array]", ca = "[object Boolean]", da = "[object Date]", ma = "[object Error]", On = "[object Function]", ga = "[object GeneratorFunction]", ha = "[object Map]", va = "[object Number]", An = "[object Object]", pa = "[object RegExp]", ya = "[object Set]", ba = "[object String]", wa = "[object Symbol]", xa = "[object WeakMap]", $a = "[object ArrayBuffer]", Fa = "[object DataView]", Oa = "[object Float32Array]", Aa = "[object Float64Array]", Sa = "[object Int8Array]", Ea = "[object Int16Array]", Ca = "[object Int32Array]", Pa = "[object Uint8Array]", Ta = "[object Uint8ClampedArray]", Ia = "[object Uint16Array]", qa = "[object Uint32Array]", D = {};
+D[Fn] = D[fa] = D[$a] = D[Fa] = D[ca] = D[da] = D[Oa] = D[Aa] = D[Sa] = D[Ea] = D[Ca] = D[ha] = D[va] = D[An] = D[pa] = D[ya] = D[ba] = D[wa] = D[Pa] = D[Ta] = D[Ia] = D[qa] = !0;
+D[ma] = D[On] = D[xa] = !1;
+function be(e, t, n, r, i, a) {
+  var o, l = t & la, s = t & sa, v = t & ua;
+  if (n && (o = i ? n(e, r, i, a) : n(e)), o !== void 0)
+    return o;
+  if (!_e(e))
+    return e;
+  var f = fe(e);
+  if (f) {
+    if (o = Ci(e), !l)
+      return Br(e, o);
+  } else {
+    var g = at(e), h = g == On || g == ga;
+    if (Un(e))
+      return $i(e, l);
+    if (g == An || g == Fn || h && !i) {
+      if (o = s || h ? {} : ea(e), !l)
+        return s ? Ai(e, wi(o, e)) : Fi(e, bi(o, e));
+    } else {
+      if (!D[g])
+        return i ? e : {};
+      o = ki(e, g, l);
+    }
+  }
+  a || (a = new en());
+  var y = a.get(e);
+  if (y)
+    return y;
+  a.set(e, o), oa(e) ? e.forEach(function(b) {
+    o.add(be(b, t, n, b, e, a));
+  }) : ra(e) && e.forEach(function(b, m) {
+    o.set(m, be(b, t, n, m, e, a));
+  });
+  var $ = v ? s ? $n : Kn : s ? ct : je, d = f ? void 0 : $(e);
+  return Yr(d || e, function(b, m) {
+    d && (m = b, b = e[m]), yn(o, m, be(b, t, n, m, e, a));
+  }), o;
+}
+var Ma = 1, _a = 4;
+function Pe(e) {
+  return be(e, Ma | _a);
+}
+var ja = 1, La = 2;
+function Na(e, t, n, r) {
+  var i = n.length, a = i;
+  if (e == null)
+    return !a;
+  for (e = Object(e); i--; ) {
+    var o = n[i];
+    if (o[2] ? o[1] !== e[o[0]] : !(o[0] in e))
+      return !1;
+  }
+  for (; ++i < a; ) {
+    o = n[i];
+    var l = o[0], s = e[l], v = o[1];
+    if (o[2]) {
+      if (s === void 0 && !(l in e))
+        return !1;
+    } else {
+      var f = new en(), g;
+      if (!(g === void 0 ? tn(v, s, ja | La, r, f) : g))
+        return !1;
+    }
+  }
+  return !0;
+}
+function Sn(e) {
+  return e === e && !_e(e);
+}
+function Ra(e) {
+  for (var t = je(e), n = t.length; n--; ) {
+    var r = t[n], i = e[r];
+    t[n] = [r, i, Sn(i)];
+  }
+  return t;
+}
+function En(e, t) {
+  return function(n) {
+    return n == null ? !1 : n[e] === t && (t !== void 0 || e in Object(n));
+  };
+}
+function Va(e) {
+  var t = Ra(e);
+  return t.length == 1 && t[0][2] ? En(t[0][0], t[0][1]) : function(n) {
+    return n === e || Na(n, e, t);
+  };
+}
+function Da(e, t) {
+  return e != null && t in Object(e);
+}
+function Wa(e, t, n) {
+  t = Re(t, e);
+  for (var r = -1, i = t.length, a = !1; ++r < i; ) {
+    var o = Oe(t[r]);
+    if (!(a = e != null && n(e, o)))
+      break;
+    e = e[o];
+  }
+  return a || ++r != i ? a : (i = e == null ? 0 : e.length, !!i && Xn(i) && Yn(o, i) && (fe(e) || Qt(e)));
+}
+function Ba(e, t) {
+  return e != null && Wa(e, t, Da);
+}
+var Ha = 1, za = 2;
+function Ga(e, t) {
+  return dt(e) && Sn(t) ? En(Oe(e), t) : function(n) {
+    var r = mi(n, e);
+    return r === void 0 && r === t ? Ba(n, e) : tn(t, r, Ha | za);
+  };
+}
+function Ua(e) {
+  return function(t) {
+    return t == null ? void 0 : t[e];
+  };
+}
+function Ka(e) {
+  return function(t) {
+    return gt(t, e);
+  };
+}
+function Xa(e) {
+  return dt(e) ? Ua(Oe(e)) : Ka(e);
+}
+function Cn(e) {
+  return typeof e == "function" ? e : e == null ? ft : typeof e == "object" ? fe(e) ? Ga(e[0], e[1]) : Va(e) : Xa(e);
+}
+function Ya(e) {
+  return it(e) && rt(e);
+}
+function Za(e) {
+  var t = e == null ? 0 : e.length;
+  return t ? e[t - 1] : void 0;
+}
+function Qa(e) {
+  return function(t, n, r) {
+    var i = Object(t);
+    if (!rt(t)) {
+      var a = Cn(n);
+      t = je(t), n = function(l) {
+        return a(i[l], l, i);
+      };
+    }
+    var o = e(t, n, r);
+    return o > -1 ? i[a ? t[o] : o] : void 0;
+  };
+}
+var Ja = Math.max;
+function ka(e, t, n) {
+  var r = e == null ? 0 : e.length;
+  if (!r)
+    return -1;
+  var i = n == null ? 0 : Vr(n);
+  return i < 0 && (i = Ja(r + i, 0)), Zn(e, Cn(t), i);
+}
+var eo = Qa(ka), to = Math.min;
+function no(e, t, n) {
+  for (var r = Jn, i = e[0].length, a = e.length, o = a, l = Array(a), s = 1 / 0, v = []; o--; ) {
+    var f = e[o];
+    o && t && (f = Ne(f, ot(t))), s = to(f.length, s), l[o] = i >= 120 && f.length >= 120 ? new Qn(o && f) : void 0;
+  }
+  f = e[0];
+  var g = -1, h = l[0];
+  e:
+    for (; ++g < i && v.length < s; ) {
+      var y = f[g], $ = y;
+      if (y = y !== 0 ? y : 0, !(h ? wt(h, $) : r(v, $))) {
+        for (o = a; --o; ) {
+          var d = l[o];
+          if (!(d ? wt(d, $) : r(e[o], $)))
+            continue e;
+        }
+        h && h.push($), v.push(y);
+      }
+    }
+  return v;
+}
+function ro(e) {
+  return Ya(e) ? e : [];
+}
+var io = Jr(function(e) {
+  var t = Ne(e, ro);
+  return t.length && t[0] === e[0] ? no(t) : [];
+});
+function ao(e, t) {
+  return t.length < 2 ? e : gt(e, yi(t, 0, -1));
+}
+function oo(e, t) {
+  return t = Re(t, e), e = ao(e, t), e == null || delete e[Oe(Za(t))];
+}
+function lo(e) {
+  return Sr(e) ? void 0 : e;
+}
+var so = 1, uo = 2, fo = 4, co = pi(function(e, t) {
+  var n = {};
+  if (e == null)
+    return n;
+  var r = !1;
+  t = Ne(t, function(a) {
+    return a = Re(a, e), r || (r = a.length > 1), a;
+  }), Fe(e, $n(e), n), r && (n = be(n, so | uo | fo, lo));
+  for (var i = t.length; i--; )
+    oo(n, t[i]);
+  return n;
+});
+function se() {
+  return se = Object.assign ? Object.assign.bind() : function(e) {
+    for (var t = 1; t < arguments.length; t++) {
+      var n = arguments[t];
+      for (var r in n)
+        Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+    }
+    return e;
+  }, se.apply(this, arguments);
+}
+function mo(e, t) {
+  e.prototype = Object.create(t.prototype), e.prototype.constructor = e, $e(e, t);
+}
+function Ze(e) {
+  return Ze = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(n) {
+    return n.__proto__ || Object.getPrototypeOf(n);
+  }, Ze(e);
+}
+function $e(e, t) {
+  return $e = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(r, i) {
+    return r.__proto__ = i, r;
+  }, $e(e, t);
+}
+function go() {
+  if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham) return !1;
+  if (typeof Proxy == "function") return !0;
+  try {
+    return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
+    })), !0;
+  } catch (e) {
+    return !1;
+  }
+}
+function Te(e, t, n) {
+  return go() ? Te = Reflect.construct.bind() : Te = function(i, a, o) {
+    var l = [null];
+    l.push.apply(l, a);
+    var s = Function.bind.apply(i, l), v = new s();
+    return o && $e(v, o.prototype), v;
+  }, Te.apply(null, arguments);
+}
+function ho(e) {
+  return Function.toString.call(e).indexOf("[native code]") !== -1;
+}
+function Qe(e) {
+  var t = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
+  return Qe = function(r) {
+    if (r === null || !ho(r)) return r;
+    if (typeof r != "function")
+      throw new TypeError("Super expression must either be null or a function");
+    if (typeof t != "undefined") {
+      if (t.has(r)) return t.get(r);
+      t.set(r, i);
+    }
+    function i() {
+      return Te(r, arguments, Ze(this).constructor);
+    }
+    return i.prototype = Object.create(r.prototype, {
+      constructor: {
+        value: i,
+        enumerable: !1,
+        writable: !0,
+        configurable: !0
+      }
+    }), $e(i, r);
+  }, Qe(e);
+}
+var vo = /%[sdj%]/g, Pn = function() {
+};
+typeof process != "undefined" && process.env && process.env.NODE_ENV !== "production" && typeof window != "undefined" && typeof document != "undefined" && (Pn = function(t, n) {
+  typeof console != "undefined" && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING == "undefined" && n.every(function(r) {
+    return typeof r == "string";
+  }) && console.warn(t, n);
+});
+function Je(e) {
+  if (!e || !e.length) return null;
+  var t = {};
+  return e.forEach(function(n) {
+    var r = n.field;
+    t[r] = t[r] || [], t[r].push(n);
+  }), t;
+}
+function ee(e) {
+  for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
+    n[r - 1] = arguments[r];
+  var i = 0, a = n.length;
+  if (typeof e == "function")
+    return e.apply(null, n);
+  if (typeof e == "string") {
+    var o = e.replace(vo, function(l) {
+      if (l === "%%")
+        return "%";
+      if (i >= a)
+        return l;
+      switch (l) {
+        case "%s":
+          return String(n[i++]);
+        case "%d":
+          return Number(n[i++]);
+        case "%j":
+          try {
+            return JSON.stringify(n[i++]);
+          } catch (s) {
+            return "[Circular]";
+          }
+          break;
+        default:
+          return l;
+      }
+    });
+    return o;
+  }
+  return e;
+}
+function po(e) {
+  return e === "string" || e === "url" || e === "hex" || e === "email" || e === "date" || e === "pattern";
+}
+function G(e, t) {
+  return !!(e == null || t === "array" && Array.isArray(e) && !e.length || po(t) && typeof e == "string" && !e);
+}
+function yo(e, t, n) {
+  var r = [], i = 0, a = e.length;
+  function o(l) {
+    r.push.apply(r, l || []), i++, i === a && n(r);
+  }
+  e.forEach(function(l) {
+    t(l, o);
+  });
+}
+function Vt(e, t, n) {
+  var r = 0, i = e.length;
+  function a(o) {
+    if (o && o.length) {
+      n(o);
+      return;
+    }
+    var l = r;
+    r = r + 1, l < i ? t(e[l], a) : n([]);
+  }
+  a([]);
+}
+function bo(e) {
+  var t = [];
+  return Object.keys(e).forEach(function(n) {
+    t.push.apply(t, e[n] || []);
+  }), t;
+}
+var Dt = /* @__PURE__ */ function(e) {
+  mo(t, e);
+  function t(n, r) {
+    var i;
+    return i = e.call(this, "Async Validation Error") || this, i.errors = n, i.fields = r, i;
+  }
+  return t;
+}(/* @__PURE__ */ Qe(Error));
+function wo(e, t, n, r, i) {
+  if (t.first) {
+    var a = new Promise(function(h, y) {
+      var $ = function(m) {
+        return r(m), m.length ? y(new Dt(m, Je(m))) : h(i);
+      }, d = bo(e);
+      Vt(d, n, $);
+    });
+    return a.catch(function(h) {
+      return h;
+    }), a;
+  }
+  var o = t.firstFields === !0 ? Object.keys(e) : t.firstFields || [], l = Object.keys(e), s = l.length, v = 0, f = [], g = new Promise(function(h, y) {
+    var $ = function(b) {
+      if (f.push.apply(f, b), v++, v === s)
+        return r(f), f.length ? y(new Dt(f, Je(f))) : h(i);
+    };
+    l.length || (r(f), h(i)), l.forEach(function(d) {
+      var b = e[d];
+      o.indexOf(d) !== -1 ? Vt(b, n, $) : yo(b, n, $);
+    });
+  });
+  return g.catch(function(h) {
+    return h;
+  }), g;
+}
+function xo(e) {
+  return !!(e && e.message !== void 0);
+}
+function $o(e, t) {
+  for (var n = e, r = 0; r < t.length; r++) {
+    if (n == null)
+      return n;
+    n = n[t[r]];
+  }
+  return n;
+}
+function Wt(e, t) {
+  return function(n) {
+    var r;
+    return e.fullFields ? r = $o(t, e.fullFields) : r = t[n.field || e.fullField], xo(n) ? (n.field = n.field || e.fullField, n.fieldValue = r, n) : {
+      message: typeof n == "function" ? n() : n,
+      fieldValue: r,
+      field: n.field || e.fullField
+    };
+  };
+}
+function Bt(e, t) {
+  if (t) {
+    for (var n in t)
+      if (t.hasOwnProperty(n)) {
+        var r = t[n];
+        typeof r == "object" && typeof e[n] == "object" ? e[n] = se({}, e[n], r) : e[n] = r;
+      }
+  }
+  return e;
+}
+var Tn = function(t, n, r, i, a, o) {
+  t.required && (!r.hasOwnProperty(t.field) || G(n, o || t.type)) && i.push(ee(a.messages.required, t.fullField));
+}, Fo = function(t, n, r, i, a) {
+  (/^\s+$/.test(n) || n === "") && i.push(ee(a.messages.whitespace, t.fullField));
+}, Ce, Oo = function() {
+  if (Ce)
+    return Ce;
+  var e = "[a-fA-F\\d:]", t = function(c) {
+    return c && c.includeBoundaries ? "(?:(?<=\\s|^)(?=" + e + ")|(?<=" + e + ")(?=\\s|$))" : "";
+  }, n = "(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}", r = "[a-fA-F\\d]{1,4}", i = (`
+(?:
+(?:` + r + ":){7}(?:" + r + `|:)|                                    // 1:2:3:4:5:6:7::  1:2:3:4:5:6:7:8
+(?:` + r + ":){6}(?:" + n + "|:" + r + `|:)|                             // 1:2:3:4:5:6::    1:2:3:4:5:6::8   1:2:3:4:5:6::8  1:2:3:4:5:6::1.2.3.4
+(?:` + r + ":){5}(?::" + n + "|(?::" + r + `){1,2}|:)|                   // 1:2:3:4:5::      1:2:3:4:5::7:8   1:2:3:4:5::8    1:2:3:4:5::7:1.2.3.4
+(?:` + r + ":){4}(?:(?::" + r + "){0,1}:" + n + "|(?::" + r + `){1,3}|:)| // 1:2:3:4::        1:2:3:4::6:7:8   1:2:3:4::8      1:2:3:4::6:7:1.2.3.4
+(?:` + r + ":){3}(?:(?::" + r + "){0,2}:" + n + "|(?::" + r + `){1,4}|:)| // 1:2:3::          1:2:3::5:6:7:8   1:2:3::8        1:2:3::5:6:7:1.2.3.4
+(?:` + r + ":){2}(?:(?::" + r + "){0,3}:" + n + "|(?::" + r + `){1,5}|:)| // 1:2::            1:2::4:5:6:7:8   1:2::8          1:2::4:5:6:7:1.2.3.4
+(?:` + r + ":){1}(?:(?::" + r + "){0,4}:" + n + "|(?::" + r + `){1,6}|:)| // 1::              1::3:4:5:6:7:8   1::8            1::3:4:5:6:7:1.2.3.4
+(?::(?:(?::` + r + "){0,5}:" + n + "|(?::" + r + `){1,7}|:))             // ::2:3:4:5:6:7:8  ::2:3:4:5:6:7:8  ::8             ::1.2.3.4
+)(?:%[0-9a-zA-Z]{1,})?                                             // %eth0            %1
+`).replace(/\s*\/\/.*$/gm, "").replace(/\n/g, "").trim(), a = new RegExp("(?:^" + n + "$)|(?:^" + i + "$)"), o = new RegExp("^" + n + "$"), l = new RegExp("^" + i + "$"), s = function(c) {
+    return c && c.exact ? a : new RegExp("(?:" + t(c) + n + t(c) + ")|(?:" + t(c) + i + t(c) + ")", "g");
+  };
+  s.v4 = function(u) {
+    return u && u.exact ? o : new RegExp("" + t(u) + n + t(u), "g");
+  }, s.v6 = function(u) {
+    return u && u.exact ? l : new RegExp("" + t(u) + i + t(u), "g");
+  };
+  var v = "(?:(?:[a-z]+:)?//)", f = "(?:\\S+(?::\\S*)?@)?", g = s.v4().source, h = s.v6().source, y = "(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)", $ = "(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*", d = "(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))", b = "(?::\\d{2,5})?", m = '(?:[/?#][^\\s"]*)?', P = "(?:" + v + "|www\\.)" + f + "(?:localhost|" + g + "|" + h + "|" + y + $ + d + ")" + b + m;
+  return Ce = new RegExp("(?:^" + P + "$)", "i"), Ce;
+}, Ht = {
+  // http://emailregex.com/
+  email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,
+  // url: new RegExp(
+  //   '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$',
+  //   'i',
+  // ),
+  hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
+}, ye = {
+  integer: function(t) {
+    return ye.number(t) && parseInt(t, 10) === t;
+  },
+  float: function(t) {
+    return ye.number(t) && !ye.integer(t);
+  },
+  array: function(t) {
+    return Array.isArray(t);
+  },
+  regexp: function(t) {
+    if (t instanceof RegExp)
+      return !0;
+    try {
+      return !!new RegExp(t);
+    } catch (n) {
+      return !1;
+    }
+  },
+  date: function(t) {
+    return typeof t.getTime == "function" && typeof t.getMonth == "function" && typeof t.getYear == "function" && !isNaN(t.getTime());
+  },
+  number: function(t) {
+    return isNaN(t) ? !1 : typeof t == "number";
+  },
+  object: function(t) {
+    return typeof t == "object" && !ye.array(t);
+  },
+  method: function(t) {
+    return typeof t == "function";
+  },
+  email: function(t) {
+    return typeof t == "string" && t.length <= 320 && !!t.match(Ht.email);
+  },
+  url: function(t) {
+    return typeof t == "string" && t.length <= 2048 && !!t.match(Oo());
+  },
+  hex: function(t) {
+    return typeof t == "string" && !!t.match(Ht.hex);
+  }
+}, Ao = function(t, n, r, i, a) {
+  if (t.required && n === void 0) {
+    Tn(t, n, r, i, a);
+    return;
+  }
+  var o = ["integer", "float", "array", "regexp", "object", "method", "email", "number", "date", "url", "hex"], l = t.type;
+  o.indexOf(l) > -1 ? ye[l](n) || i.push(ee(a.messages.types[l], t.fullField, t.type)) : l && typeof n !== t.type && i.push(ee(a.messages.types[l], t.fullField, t.type));
+}, So = function(t, n, r, i, a) {
+  var o = typeof t.len == "number", l = typeof t.min == "number", s = typeof t.max == "number", v = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, f = n, g = null, h = typeof n == "number", y = typeof n == "string", $ = Array.isArray(n);
+  if (h ? g = "number" : y ? g = "string" : $ && (g = "array"), !g)
+    return !1;
+  $ && (f = n.length), y && (f = n.replace(v, "_").length), o ? f !== t.len && i.push(ee(a.messages[g].len, t.fullField, t.len)) : l && !s && f < t.min ? i.push(ee(a.messages[g].min, t.fullField, t.min)) : s && !l && f > t.max ? i.push(ee(a.messages[g].max, t.fullField, t.max)) : l && s && (f < t.min || f > t.max) && i.push(ee(a.messages[g].range, t.fullField, t.min, t.max));
+}, de = "enum", Eo = function(t, n, r, i, a) {
+  t[de] = Array.isArray(t[de]) ? t[de] : [], t[de].indexOf(n) === -1 && i.push(ee(a.messages[de], t.fullField, t[de].join(", ")));
+}, Co = function(t, n, r, i, a) {
+  if (t.pattern) {
+    if (t.pattern instanceof RegExp)
+      t.pattern.lastIndex = 0, t.pattern.test(n) || i.push(ee(a.messages.pattern.mismatch, t.fullField, n, t.pattern));
+    else if (typeof t.pattern == "string") {
+      var o = new RegExp(t.pattern);
+      o.test(n) || i.push(ee(a.messages.pattern.mismatch, t.fullField, n, t.pattern));
+    }
+  }
+}, q = {
+  required: Tn,
+  whitespace: Fo,
+  type: Ao,
+  range: So,
+  enum: Eo,
+  pattern: Co
+}, Po = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n, "string") && !t.required)
+      return r();
+    q.required(t, n, i, o, a, "string"), G(n, "string") || (q.type(t, n, i, o, a), q.range(t, n, i, o, a), q.pattern(t, n, i, o, a), t.whitespace === !0 && q.whitespace(t, n, i, o, a));
+  }
+  r(o);
+}, To = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n) && !t.required)
+      return r();
+    q.required(t, n, i, o, a), n !== void 0 && q.type(t, n, i, o, a);
+  }
+  r(o);
+}, Io = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (n === "" && (n = void 0), G(n) && !t.required)
+      return r();
+    q.required(t, n, i, o, a), n !== void 0 && (q.type(t, n, i, o, a), q.range(t, n, i, o, a));
+  }
+  r(o);
+}, qo = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n) && !t.required)
+      return r();
+    q.required(t, n, i, o, a), n !== void 0 && q.type(t, n, i, o, a);
+  }
+  r(o);
+}, Mo = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n) && !t.required)
+      return r();
+    q.required(t, n, i, o, a), G(n) || q.type(t, n, i, o, a);
+  }
+  r(o);
+}, _o = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n) && !t.required)
+      return r();
+    q.required(t, n, i, o, a), n !== void 0 && (q.type(t, n, i, o, a), q.range(t, n, i, o, a));
+  }
+  r(o);
+}, jo = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n) && !t.required)
+      return r();
+    q.required(t, n, i, o, a), n !== void 0 && (q.type(t, n, i, o, a), q.range(t, n, i, o, a));
+  }
+  r(o);
+}, Lo = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (n == null && !t.required)
+      return r();
+    q.required(t, n, i, o, a, "array"), n != null && (q.type(t, n, i, o, a), q.range(t, n, i, o, a));
+  }
+  r(o);
+}, No = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n) && !t.required)
+      return r();
+    q.required(t, n, i, o, a), n !== void 0 && q.type(t, n, i, o, a);
+  }
+  r(o);
+}, Ro = "enum", Vo = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n) && !t.required)
+      return r();
+    q.required(t, n, i, o, a), n !== void 0 && q[Ro](t, n, i, o, a);
+  }
+  r(o);
+}, Do = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n, "string") && !t.required)
+      return r();
+    q.required(t, n, i, o, a), G(n, "string") || q.pattern(t, n, i, o, a);
+  }
+  r(o);
+}, Wo = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n, "date") && !t.required)
+      return r();
+    if (q.required(t, n, i, o, a), !G(n, "date")) {
+      var s;
+      n instanceof Date ? s = n : s = new Date(n), q.type(t, s, i, o, a), s && q.range(t, s.getTime(), i, o, a);
+    }
+  }
+  r(o);
+}, Bo = function(t, n, r, i, a) {
+  var o = [], l = Array.isArray(n) ? "array" : typeof n;
+  q.required(t, n, i, o, a, l), r(o);
+}, He = function(t, n, r, i, a) {
+  var o = t.type, l = [], s = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (s) {
+    if (G(n, o) && !t.required)
+      return r();
+    q.required(t, n, i, l, a, o), G(n, o) || q.type(t, n, i, l, a);
+  }
+  r(l);
+}, Ho = function(t, n, r, i, a) {
+  var o = [], l = t.required || !t.required && i.hasOwnProperty(t.field);
+  if (l) {
+    if (G(n) && !t.required)
+      return r();
+    q.required(t, n, i, o, a);
+  }
+  r(o);
+}, we = {
+  string: Po,
+  method: To,
+  number: Io,
+  boolean: qo,
+  regexp: Mo,
+  integer: _o,
+  float: jo,
+  array: Lo,
+  object: No,
+  enum: Vo,
+  pattern: Do,
+  date: Wo,
+  url: He,
+  hex: He,
+  email: He,
+  required: Bo,
+  any: Ho
+};
+function ke() {
+  return {
+    default: "Validation error on field %s",
+    required: "%s is required",
+    enum: "%s must be one of %s",
+    whitespace: "%s cannot be empty",
+    date: {
+      format: "%s date %s is invalid for format %s",
+      parse: "%s date could not be parsed, %s is invalid ",
+      invalid: "%s date %s is invalid"
+    },
+    types: {
+      string: "%s is not a %s",
+      method: "%s is not a %s (function)",
+      array: "%s is not an %s",
+      object: "%s is not an %s",
+      number: "%s is not a %s",
+      date: "%s is not a %s",
+      boolean: "%s is not a %s",
+      integer: "%s is not an %s",
+      float: "%s is not a %s",
+      regexp: "%s is not a valid %s",
+      email: "%s is not a valid %s",
+      url: "%s is not a valid %s",
+      hex: "%s is not a valid %s"
+    },
+    string: {
+      len: "%s must be exactly %s characters",
+      min: "%s must be at least %s characters",
+      max: "%s cannot be longer than %s characters",
+      range: "%s must be between %s and %s characters"
+    },
+    number: {
+      len: "%s must equal %s",
+      min: "%s cannot be less than %s",
+      max: "%s cannot be greater than %s",
+      range: "%s must be between %s and %s"
+    },
+    array: {
+      len: "%s must be exactly %s in length",
+      min: "%s cannot be less than %s in length",
+      max: "%s cannot be greater than %s in length",
+      range: "%s must be between %s and %s in length"
+    },
+    pattern: {
+      mismatch: "%s value %s does not match pattern %s"
+    },
+    clone: function() {
+      var t = JSON.parse(JSON.stringify(this));
+      return t.clone = this.clone, t;
+    }
+  };
+}
+var et = ke(), Ae = /* @__PURE__ */ function() {
+  function e(n) {
+    this.rules = null, this._messages = et, this.define(n);
+  }
+  var t = e.prototype;
+  return t.define = function(r) {
+    var i = this;
+    if (!r)
+      throw new Error("Cannot configure a schema with no rules");
+    if (typeof r != "object" || Array.isArray(r))
+      throw new Error("Rules must be an object");
+    this.rules = {}, Object.keys(r).forEach(function(a) {
+      var o = r[a];
+      i.rules[a] = Array.isArray(o) ? o : [o];
+    });
+  }, t.messages = function(r) {
+    return r && (this._messages = Bt(ke(), r)), this._messages;
+  }, t.validate = function(r, i, a) {
+    var o = this;
+    i === void 0 && (i = {}), a === void 0 && (a = function() {
+    });
+    var l = r, s = i, v = a;
+    if (typeof s == "function" && (v = s, s = {}), !this.rules || Object.keys(this.rules).length === 0)
+      return v && v(null, l), Promise.resolve(l);
+    function f(d) {
+      var b = [], m = {};
+      function P(c) {
+        if (Array.isArray(c)) {
+          var w;
+          b = (w = b).concat.apply(w, c);
+        } else
+          b.push(c);
+      }
+      for (var u = 0; u < d.length; u++)
+        P(d[u]);
+      b.length ? (m = Je(b), v(b, m)) : v(null, l);
+    }
+    if (s.messages) {
+      var g = this.messages();
+      g === et && (g = ke()), Bt(g, s.messages), s.messages = g;
+    } else
+      s.messages = this.messages();
+    var h = {}, y = s.keys || Object.keys(this.rules);
+    y.forEach(function(d) {
+      var b = o.rules[d], m = l[d];
+      b.forEach(function(P) {
+        var u = P;
+        typeof u.transform == "function" && (l === r && (l = se({}, l)), m = l[d] = u.transform(m)), typeof u == "function" ? u = {
+          validator: u
+        } : u = se({}, u), u.validator = o.getValidationMethod(u), u.validator && (u.field = d, u.fullField = u.fullField || d, u.type = o.getType(u), h[d] = h[d] || [], h[d].push({
+          rule: u,
+          value: m,
+          source: l,
+          field: d
+        }));
+      });
+    });
+    var $ = {};
+    return wo(h, s, function(d, b) {
+      var m = d.rule, P = (m.type === "object" || m.type === "array") && (typeof m.fields == "object" || typeof m.defaultField == "object");
+      P = P && (m.required || !m.required && d.value), m.field = d.field;
+      function u(E, F) {
+        return se({}, F, {
+          fullField: m.fullField + "." + E,
+          fullFields: m.fullFields ? [].concat(m.fullFields, [E]) : [E]
+        });
+      }
+      function c(E) {
+        E === void 0 && (E = []);
+        var F = Array.isArray(E) ? E : [E];
+        !s.suppressWarning && F.length && e.warning("async-validator:", F), F.length && m.message !== void 0 && (F = [].concat(m.message));
+        var O = F.map(Wt(m, l));
+        if (s.first && O.length)
+          return $[m.field] = 1, b(O);
+        if (!P)
+          b(O);
+        else {
+          if (m.required && !d.value)
+            return m.message !== void 0 ? O = [].concat(m.message).map(Wt(m, l)) : s.error && (O = [s.error(m, ee(s.messages.required, m.field))]), b(O);
+          var j = {};
+          m.defaultField && Object.keys(d.value).map(function(_) {
+            j[_] = m.defaultField;
+          }), j = se({}, j, d.rule.fields);
+          var I = {};
+          Object.keys(j).forEach(function(_) {
+            var A = j[_], H = Array.isArray(A) ? A : [A];
+            I[_] = H.map(u.bind(null, _));
+          });
+          var L = new e(I);
+          L.messages(s.messages), d.rule.options && (d.rule.options.messages = s.messages, d.rule.options.error = s.error), L.validate(d.value, d.rule.options || s, function(_) {
+            var A = [];
+            O && O.length && A.push.apply(A, O), _ && _.length && A.push.apply(A, _), b(A.length ? A : null);
+          });
+        }
+      }
+      var w;
+      if (m.asyncValidator)
+        w = m.asyncValidator(m, d.value, c, d.source, s);
+      else if (m.validator) {
+        try {
+          w = m.validator(m, d.value, c, d.source, s);
+        } catch (E) {
+          console.error == null || console.error(E), s.suppressValidatorError || setTimeout(function() {
+            throw E;
+          }, 0), c(E.message);
+        }
+        w === !0 ? c() : w === !1 ? c(typeof m.message == "function" ? m.message(m.fullField || m.field) : m.message || (m.fullField || m.field) + " fails") : w instanceof Array ? c(w) : w instanceof Error && c(w.message);
+      }
+      w && w.then && w.then(function() {
+        return c();
+      }, function(E) {
+        return c(E);
+      });
+    }, function(d) {
+      f(d);
+    }, l);
+  }, t.getType = function(r) {
+    if (r.type === void 0 && r.pattern instanceof RegExp && (r.type = "pattern"), typeof r.validator != "function" && r.type && !we.hasOwnProperty(r.type))
+      throw new Error(ee("Unknown rule type %s", r.type));
+    return r.type || "string";
+  }, t.getValidationMethod = function(r) {
+    if (typeof r.validator == "function")
+      return r.validator;
+    var i = Object.keys(r), a = i.indexOf("message");
+    return a !== -1 && i.splice(a, 1), i.length === 1 && i[0] === "required" ? we.required : we[this.getType(r)] || void 0;
+  }, e;
+}();
+Ae.register = function(t, n) {
+  if (typeof n != "function")
+    throw new Error("Cannot register a validator by type, validator is not a function");
+  we[t] = n;
+};
+Ae.warning = Pn;
+Ae.messages = et;
+Ae.validators = we;
+function ae(e) {
+  return e == null ? [] : Array.isArray(e) ? e : [e];
+}
+function In(e, t) {
+  let n = e;
+  for (let r = 0; r < t.length; r += 1) {
+    if (n == null)
+      return;
+    n = n[t[r]];
+  }
+  return n;
+}
+function qn(e, t, n, r) {
+  if (!t.length)
+    return n;
+  const [i, ...a] = t;
+  let o;
+  return !e && typeof i == "number" ? o = [] : Array.isArray(e) ? o = [...e] : o = M({}, e), r && n === void 0 && a.length === 1 ? delete o[i][a[0]] : o[i] = qn(o[i], a, n, r), o;
+}
+function zo(e, t, n) {
+  let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1;
+  return t.length && r && n === void 0 && !In(e, t.slice(0, -1)) ? e : qn(e, t, n, r);
+}
+function tt(e) {
+  return ae(e);
+}
+function Go(e, t) {
+  return In(e, t);
+}
+function Uo(e, t, n) {
+  let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1;
+  return zo(e, t, n, r);
+}
+function Ko(e, t) {
+  return e && e.some((n) => Yo(n, t));
+}
+function zt(e) {
+  return typeof e == "object" && e !== null && Object.getPrototypeOf(e) === Object.prototype;
+}
+function Mn(e, t) {
+  const n = Array.isArray(e) ? [...e] : M({}, e);
+  return t && Object.keys(t).forEach((r) => {
+    const i = n[r], a = t[r], o = zt(i) && zt(a);
+    n[r] = o ? Mn(i, a || {}) : a;
+  }), n;
+}
+function Xo(e) {
+  for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
+    n[r - 1] = arguments[r];
+  return n.reduce((i, a) => Mn(i, a), e);
+}
+function Gt(e, t) {
+  let n = {};
+  return t.forEach((r) => {
+    const i = Go(e, r);
+    n = Uo(n, r, i);
+  }), n;
+}
+function Yo(e, t) {
+  return !e || !t || e.length !== t.length ? !1 : e.every((n, r) => t[r] === n);
+}
+const k = "'${name}' is not a valid ${type}", Ve = {
+  default: "Validation error on field '${name}'",
+  required: "'${name}' is required",
+  enum: "'${name}' must be one of [${enum}]",
+  whitespace: "'${name}' cannot be empty",
+  date: {
+    format: "'${name}' is invalid for format date",
+    parse: "'${name}' could not be parsed as date",
+    invalid: "'${name}' is invalid date"
+  },
+  types: {
+    string: k,
+    method: k,
+    array: k,
+    object: k,
+    number: k,
+    date: k,
+    boolean: k,
+    integer: k,
+    float: k,
+    regexp: k,
+    email: k,
+    url: k,
+    hex: k
+  },
+  string: {
+    len: "'${name}' must be exactly ${len} characters",
+    min: "'${name}' must be at least ${min} characters",
+    max: "'${name}' cannot be longer than ${max} characters",
+    range: "'${name}' must be between ${min} and ${max} characters"
+  },
+  number: {
+    len: "'${name}' must equal ${len}",
+    min: "'${name}' cannot be less than ${min}",
+    max: "'${name}' cannot be greater than ${max}",
+    range: "'${name}' must be between ${min} and ${max}"
+  },
+  array: {
+    len: "'${name}' must be exactly ${len} in length",
+    min: "'${name}' cannot be less than ${min} in length",
+    max: "'${name}' cannot be greater than ${max} in length",
+    range: "'${name}' must be between ${min} and ${max} in length"
+  },
+  pattern: {
+    mismatch: "'${name}' does not match pattern ${pattern}"
+  }
+};
+var De = function(e, t, n, r) {
+  function i(a) {
+    return a instanceof n ? a : new n(function(o) {
+      o(a);
+    });
+  }
+  return new (n || (n = Promise))(function(a, o) {
+    function l(f) {
+      try {
+        v(r.next(f));
+      } catch (g) {
+        o(g);
+      }
+    }
+    function s(f) {
+      try {
+        v(r.throw(f));
+      } catch (g) {
+        o(g);
+      }
+    }
+    function v(f) {
+      f.done ? a(f.value) : i(f.value).then(l, s);
+    }
+    v((r = r.apply(e, t || [])).next());
+  });
+};
+const Zo = Ae;
+function Qo(e, t) {
+  return e.replace(/\$\{\w+\}/g, (n) => {
+    const r = n.slice(2, -1);
+    return t[r];
+  });
+}
+function nt(e, t, n, r, i) {
+  return De(this, void 0, void 0, function* () {
+    const a = M({}, n);
+    delete a.ruleIndex, delete a.trigger;
+    let o = null;
+    a && a.type === "array" && a.defaultField && (o = a.defaultField, delete a.defaultField);
+    const l = new Zo({
+      [e]: [a]
+    }), s = Xo({}, Ve, r.validateMessages);
+    l.messages(s);
+    let v = [];
+    try {
+      yield Promise.resolve(l.validate({
+        [e]: t
+      }, M({}, r)));
+    } catch (h) {
+      h.errors ? v = h.errors.map((y, $) => {
+        let {
+          message: d
+        } = y;
+        return (
+          // Wrap VueNode with `key`
+          kn(d) ? br(d, {
+            key: `error_${$}`
+          }) : d
+        );
+      }) : (console.error(h), v = [s.default()]);
+    }
+    if (!v.length && o)
+      return (yield Promise.all(t.map((y, $) => nt(`${e}.${$}`, y, o, r, i)))).reduce((y, $) => [...y, ...$], []);
+    const f = M(M(M({}, n), {
+      name: e,
+      enum: (n.enum || []).join(", ")
+    }), i);
+    return v.map((h) => typeof h == "string" ? Qo(h, f) : h);
+  });
+}
+function _n(e, t, n, r, i, a) {
+  const o = e.join("."), l = n.map((v, f) => {
+    const g = v.validator, h = M(M({}, v), {
+      ruleIndex: f
+    });
+    return g && (h.validator = (y, $, d) => {
+      let b = !1;
+      const P = g(y, $, function() {
+        for (var u = arguments.length, c = new Array(u), w = 0; w < u; w++)
+          c[w] = arguments[w];
+        Promise.resolve().then(() => {
+          Ue(!b, "Your validator function has already return a promise. `callback` will be ignored."), b || d(...c);
+        });
+      });
+      b = P && typeof P.then == "function" && typeof P.catch == "function", Ue(b, "`callback` is deprecated. Please return a promise instead."), b && P.then(() => {
+        d();
+      }).catch((u) => {
+        d(u || " ");
+      });
+    }), h;
+  }).sort((v, f) => {
+    let {
+      warningOnly: g,
+      ruleIndex: h
+    } = v, {
+      warningOnly: y,
+      ruleIndex: $
+    } = f;
+    return !!g == !!y ? h - $ : g ? 1 : -1;
+  });
+  let s;
+  if (i === !0)
+    s = new Promise((v, f) => De(this, void 0, void 0, function* () {
+      for (let g = 0; g < l.length; g += 1) {
+        const h = l[g], y = yield nt(o, t, h, r, a);
+        if (y.length) {
+          f([{
+            errors: y,
+            rule: h
+          }]);
+          return;
+        }
+      }
+      v([]);
+    }));
+  else {
+    const v = l.map((f) => nt(o, t, f, r, a).then((g) => ({
+      errors: g,
+      rule: f
+    })));
+    s = (i ? ko(v) : Jo(v)).then((f) => Promise.reject(f));
+  }
+  return s.catch((v) => v), s;
+}
+function Jo(e) {
+  return De(this, void 0, void 0, function* () {
+    return Promise.all(e).then((t) => [].concat(...t));
+  });
+}
+function ko(e) {
+  return De(this, void 0, void 0, function* () {
+    let t = 0;
+    return new Promise((n) => {
+      e.forEach((r) => {
+        r.then((i) => {
+          i.errors.length && n([i]), t += 1, t === e.length && n([]);
+        });
+      });
+    });
+  });
+}
+const jn = Symbol("formContextKey"), Ln = (e) => {
+  sn(jn, e);
+}, vt = () => un(jn, {
+  name: C(() => {
+  }),
+  labelAlign: C(() => "right"),
+  vertical: C(() => !1),
+  // eslint-disable-next-line @typescript-eslint/no-unused-vars
+  addField: (e, t) => {
+  },
+  // eslint-disable-next-line @typescript-eslint/no-unused-vars
+  removeField: (e) => {
+  },
+  model: C(() => {
+  }),
+  rules: C(() => {
+  }),
+  colon: C(() => {
+  }),
+  labelWrap: C(() => {
+  }),
+  labelCol: C(() => {
+  }),
+  requiredMark: C(() => !1),
+  validateTrigger: C(() => {
+  }),
+  onValidate: () => {
+  },
+  validateMessages: C(() => Ve)
+}), Nn = Symbol("formItemPrefixContextKey"), el = (e) => {
+  sn(Nn, e);
+}, tl = () => un(Nn, {
+  prefixCls: C(() => "")
+}), pt = (e, t) => {
+  let {
+    slots: n,
+    emit: r,
+    attrs: i
+  } = t;
+  var a, o, l, s, v;
+  const {
+    prefixCls: f,
+    htmlFor: g,
+    labelCol: h,
+    labelAlign: y,
+    colon: $,
+    required: d,
+    requiredMark: b
+  } = M(M({}, e), i), [m] = er("Form"), P = (a = e.label) !== null && a !== void 0 ? a : (o = n.label) === null || o === void 0 ? void 0 : o.call(n);
+  if (!P) return null;
+  const {
+    vertical: u,
+    labelAlign: c,
+    labelCol: w,
+    labelWrap: E,
+    colon: F
+  } = vt(), O = h || (w == null ? void 0 : w.value) || {}, j = y || (c == null ? void 0 : c.value), I = `${f}-item-label`, L = xe(I, j === "left" && `${I}-left`, O.class, {
+    [`${I}-wrap`]: !!E.value
+  });
+  let _ = P;
+  const A = $ === !0 || (F == null ? void 0 : F.value) !== !1 && $ !== !1;
+  if (A && !u.value && typeof P == "string" && P.trim() !== "" && (_ = P.replace(/[:|:]\s*$/, "")), e.tooltip || n.tooltip) {
+    const U = R("span", {
+      class: `${f}-item-tooltip`
+    }, [R(tr, {
+      title: e.tooltip
+    }, {
+      default: () => [R(nr, null, null)]
+    })]);
+    _ = R(qe, null, [_, n.tooltip ? (l = n.tooltip) === null || l === void 0 ? void 0 : l.call(n, {
+      class: `${f}-item-tooltip`
+    }) : U]);
+  }
+  b === "optional" && !d && (_ = R(qe, null, [_, R("span", {
+    class: `${f}-item-optional`
+  }, [((s = m.value) === null || s === void 0 ? void 0 : s.optional) || ((v = rr.Form) === null || v === void 0 ? void 0 : v.optional)])]));
+  const Z = xe({
+    [`${f}-item-required`]: d,
+    [`${f}-item-required-mark-optional`]: b === "optional",
+    [`${f}-item-no-colon`]: !A
+  });
+  return R(mn, Y(Y({}, O), {}, {
+    class: L
+  }), {
+    default: () => [R("label", {
+      for: g,
+      class: Z,
+      title: typeof P == "string" ? P : "",
+      onClick: (U) => r("click", U)
+    }, [_])]
+  });
+};
+pt.displayName = "FormItemLabel";
+pt.inheritAttrs = !1;
+const nl = (e) => {
+  const {
+    componentCls: t
+  } = e, n = `${t}-show-help`, r = `${t}-show-help-item`;
+  return {
+    [n]: {
+      // Explain holder
+      transition: `opacity ${e.motionDurationSlow} ${e.motionEaseInOut}`,
+      "&-appear, &-enter": {
+        opacity: 0,
+        "&-active": {
+          opacity: 1
+        }
+      },
+      "&-leave": {
+        opacity: 1,
+        "&-active": {
+          opacity: 0
+        }
+      },
+      // Explain
+      [r]: {
+        overflow: "hidden",
+        transition: `height ${e.motionDurationSlow} ${e.motionEaseInOut},
+                     opacity ${e.motionDurationSlow} ${e.motionEaseInOut},
+                     transform ${e.motionDurationSlow} ${e.motionEaseInOut} !important`,
+        [`&${r}-appear, &${r}-enter`]: {
+          transform: "translateY(-5px)",
+          opacity: 0,
+          "&-active": {
+            transform: "translateY(0)",
+            opacity: 1
+          }
+        },
+        [`&${r}-leave-active`]: {
+          transform: "translateY(-5px)"
+        }
+      }
+    }
+  };
+}, rl = (e) => ({
+  legend: {
+    display: "block",
+    width: "100%",
+    marginBottom: e.marginLG,
+    padding: 0,
+    color: e.colorTextDescription,
+    fontSize: e.fontSizeLG,
+    lineHeight: "inherit",
+    border: 0,
+    borderBottom: `${e.lineWidth}px ${e.lineType} ${e.colorBorder}`
+  },
+  label: {
+    fontSize: e.fontSize
+  },
+  'input[type="search"]': {
+    boxSizing: "border-box"
+  },
+  // Position radios and checkboxes better
+  'input[type="radio"], input[type="checkbox"]': {
+    lineHeight: "normal"
+  },
+  'input[type="file"]': {
+    display: "block"
+  },
+  // Make range inputs behave like textual form controls
+  'input[type="range"]': {
+    display: "block",
+    width: "100%"
+  },
+  // Make multiple select elements height not fixed
+  "select[multiple], select[size]": {
+    height: "auto"
+  },
+  // Focus for file, radio, and checkbox
+  "input[type='file']:focus,\n  input[type='radio']:focus,\n  input[type='checkbox']:focus": {
+    outline: 0,
+    boxShadow: `0 0 0 ${e.controlOutlineWidth}px ${e.controlOutline}`
+  },
+  // Adjust output element
+  output: {
+    display: "block",
+    paddingTop: 15,
+    color: e.colorText,
+    fontSize: e.fontSize,
+    lineHeight: e.lineHeight
+  }
+}), Ut = (e, t) => {
+  const {
+    formItemCls: n
+  } = e;
+  return {
+    [n]: {
+      [`${n}-label > label`]: {
+        height: t
+      },
+      [`${n}-control-input`]: {
+        minHeight: t
+      }
+    }
+  };
+}, il = (e) => {
+  const {
+    componentCls: t
+  } = e;
+  return {
+    [e.componentCls]: M(M(M({}, rn(e)), rl(e)), {
+      [`${t}-text`]: {
+        display: "inline-block",
+        paddingInlineEnd: e.paddingSM
+      },
+      // ================================================================
+      // =                             Size                             =
+      // ================================================================
+      "&-small": M({}, Ut(e, e.controlHeightSM)),
+      "&-large": M({}, Ut(e, e.controlHeightLG))
+    })
+  };
+}, al = (e) => {
+  const {
+    formItemCls: t,
+    iconCls: n,
+    componentCls: r,
+    rootPrefixCls: i
+  } = e;
+  return {
+    [t]: M(M({}, rn(e)), {
+      marginBottom: e.marginLG,
+      verticalAlign: "top",
+      "&-with-help": {
+        transition: "none"
+      },
+      [`&-hidden,
+        &-hidden.${i}-row`]: {
+        // https://github.com/ant-design/ant-design/issues/26141
+        display: "none"
+      },
+      "&-has-warning": {
+        [`${t}-split`]: {
+          color: e.colorError
+        }
+      },
+      "&-has-error": {
+        [`${t}-split`]: {
+          color: e.colorWarning
+        }
+      },
+      // ==============================================================
+      // =                            Label                           =
+      // ==============================================================
+      [`${t}-label`]: {
+        display: "inline-block",
+        flexGrow: 0,
+        overflow: "hidden",
+        whiteSpace: "nowrap",
+        textAlign: "end",
+        verticalAlign: "middle",
+        "&-left": {
+          textAlign: "start"
+        },
+        "&-wrap": {
+          overflow: "unset",
+          lineHeight: `${e.lineHeight} - 0.25em`,
+          whiteSpace: "unset"
+        },
+        "> label": {
+          position: "relative",
+          display: "inline-flex",
+          alignItems: "center",
+          maxWidth: "100%",
+          height: e.controlHeight,
+          color: e.colorTextHeading,
+          fontSize: e.fontSize,
+          [`> ${n}`]: {
+            fontSize: e.fontSize,
+            verticalAlign: "top"
+          },
+          // Required mark
+          [`&${t}-required:not(${t}-required-mark-optional)::before`]: {
+            display: "inline-block",
+            marginInlineEnd: e.marginXXS,
+            color: e.colorError,
+            fontSize: e.fontSize,
+            fontFamily: "SimSun, sans-serif",
+            lineHeight: 1,
+            content: '"*"',
+            [`${r}-hide-required-mark &`]: {
+              display: "none"
+            }
+          },
+          // Optional mark
+          [`${t}-optional`]: {
+            display: "inline-block",
+            marginInlineStart: e.marginXXS,
+            color: e.colorTextDescription,
+            [`${r}-hide-required-mark &`]: {
+              display: "none"
+            }
+          },
+          // Optional mark
+          [`${t}-tooltip`]: {
+            color: e.colorTextDescription,
+            cursor: "help",
+            writingMode: "horizontal-tb",
+            marginInlineStart: e.marginXXS
+          },
+          "&::after": {
+            content: '":"',
+            position: "relative",
+            marginBlock: 0,
+            marginInlineStart: e.marginXXS / 2,
+            marginInlineEnd: e.marginXS
+          },
+          [`&${t}-no-colon::after`]: {
+            content: '" "'
+          }
+        }
+      },
+      // ==============================================================
+      // =                            Input                           =
+      // ==============================================================
+      [`${t}-control`]: {
+        display: "flex",
+        flexDirection: "column",
+        flexGrow: 1,
+        [`&:first-child:not([class^="'${i}-col-'"]):not([class*="' ${i}-col-'"])`]: {
+          width: "100%"
+        },
+        "&-input": {
+          position: "relative",
+          display: "flex",
+          alignItems: "center",
+          minHeight: e.controlHeight,
+          "&-content": {
+            flex: "auto",
+            maxWidth: "100%"
+          }
+        }
+      },
+      // ==============================================================
+      // =                           Explain                          =
+      // ==============================================================
+      [t]: {
+        "&-explain, &-extra": {
+          clear: "both",
+          color: e.colorTextDescription,
+          fontSize: e.fontSize,
+          lineHeight: e.lineHeight
+        },
+        "&-explain-connected": {
+          width: "100%"
+        },
+        "&-extra": {
+          minHeight: e.controlHeightSM,
+          transition: `color ${e.motionDurationMid} ${e.motionEaseOut}`
+          // sync input color transition
+        },
+        "&-explain": {
+          "&-error": {
+            color: e.colorError
+          },
+          "&-warning": {
+            color: e.colorWarning
+          }
+        }
+      },
+      [`&-with-help ${t}-explain`]: {
+        height: "auto",
+        opacity: 1
+      },
+      // ==============================================================
+      // =                        Feedback Icon                       =
+      // ==============================================================
+      [`${t}-feedback-icon`]: {
+        fontSize: e.fontSize,
+        textAlign: "center",
+        visibility: "visible",
+        animationName: nn,
+        animationDuration: e.motionDurationMid,
+        animationTimingFunction: e.motionEaseOutBack,
+        pointerEvents: "none",
+        "&-success": {
+          color: e.colorSuccess
+        },
+        "&-error": {
+          color: e.colorError
+        },
+        "&-warning": {
+          color: e.colorWarning
+        },
+        "&-validating": {
+          color: e.colorPrimary
+        }
+      }
+    })
+  };
+}, ol = (e) => {
+  const {
+    componentCls: t,
+    formItemCls: n,
+    rootPrefixCls: r
+  } = e;
+  return {
+    [`${t}-horizontal`]: {
+      [`${n}-label`]: {
+        flexGrow: 0
+      },
+      [`${n}-control`]: {
+        flex: "1 1 0",
+        // https://github.com/ant-design/ant-design/issues/32777
+        // https://github.com/ant-design/ant-design/issues/33773
+        minWidth: 0
+      },
+      // https://github.com/ant-design/ant-design/issues/32980
+      [`${n}-label.${r}-col-24 + ${n}-control`]: {
+        minWidth: "unset"
+      }
+    }
+  };
+}, ll = (e) => {
+  const {
+    componentCls: t,
+    formItemCls: n
+  } = e;
+  return {
+    [`${t}-inline`]: {
+      display: "flex",
+      flexWrap: "wrap",
+      [n]: {
+        flex: "none",
+        flexWrap: "nowrap",
+        marginInlineEnd: e.margin,
+        marginBottom: 0,
+        "&-with-help": {
+          marginBottom: e.marginLG
+        },
+        [`> ${n}-label,
+        > ${n}-control`]: {
+          display: "inline-block",
+          verticalAlign: "top"
+        },
+        [`> ${n}-label`]: {
+          flex: "none"
+        },
+        [`${t}-text`]: {
+          display: "inline-block"
+        },
+        [`${n}-has-feedback`]: {
+          display: "inline-block"
+        }
+      }
+    }
+  };
+}, me = (e) => ({
+  margin: 0,
+  padding: `0 0 ${e.paddingXS}px`,
+  whiteSpace: "initial",
+  textAlign: "start",
+  "> label": {
+    margin: 0,
+    "&::after": {
+      display: "none"
+    }
+  }
+}), sl = (e) => {
+  const {
+    componentCls: t,
+    formItemCls: n
+  } = e;
+  return {
+    [`${n} ${n}-label`]: me(e),
+    [t]: {
+      [n]: {
+        flexWrap: "wrap",
+        [`${n}-label,
+          ${n}-control`]: {
+          flex: "0 0 100%",
+          maxWidth: "100%"
+        }
+      }
+    }
+  };
+}, ul = (e) => {
+  const {
+    componentCls: t,
+    formItemCls: n,
+    rootPrefixCls: r
+  } = e;
+  return {
+    [`${t}-vertical`]: {
+      [n]: {
+        "&-row": {
+          flexDirection: "column"
+        },
+        "&-label > label": {
+          height: "auto"
+        },
+        [`${t}-item-control`]: {
+          width: "100%"
+        }
+      }
+    },
+    [`${t}-vertical ${n}-label,
+      .${r}-col-24${n}-label,
+      .${r}-col-xl-24${n}-label`]: me(e),
+    [`@media (max-width: ${e.screenXSMax}px)`]: [sl(e), {
+      [t]: {
+        [`.${r}-col-xs-24${n}-label`]: me(e)
+      }
+    }],
+    [`@media (max-width: ${e.screenSMMax}px)`]: {
+      [t]: {
+        [`.${r}-col-sm-24${n}-label`]: me(e)
+      }
+    },
+    [`@media (max-width: ${e.screenMDMax}px)`]: {
+      [t]: {
+        [`.${r}-col-md-24${n}-label`]: me(e)
+      }
+    },
+    [`@media (max-width: ${e.screenLGMax}px)`]: {
+      [t]: {
+        [`.${r}-col-lg-24${n}-label`]: me(e)
+      }
+    }
+  };
+}, yt = ir("Form", (e, t) => {
+  let {
+    rootPrefixCls: n
+  } = t;
+  const r = ar(e, {
+    formItemCls: `${e.componentCls}-item`,
+    rootPrefixCls: n
+  });
+  return [il(r), al(r), nl(r), ol(r), ll(r), ul(r), or(r), nn];
+}), fl = Le({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ErrorList",
+  inheritAttrs: !1,
+  props: ["errors", "help", "onErrorVisibleChanged", "helpStatus", "warnings"],
+  setup(e, t) {
+    let {
+      attrs: n
+    } = t;
+    const {
+      prefixCls: r,
+      status: i
+    } = tl(), a = C(() => `${r.value}-item-explain`), o = C(() => !!(e.errors && e.errors.length)), l = st(i.value), [, s] = yt(r);
+    return ue([o, i], () => {
+      o.value && (l.value = i.value);
+    }), () => {
+      var v, f;
+      const g = lr(`${r.value}-show-help-item`), h = sr(`${r.value}-show-help-item`, g);
+      return h.role = "alert", h.class = [s.value, a.value, n.class, `${r.value}-show-help`], R(wr, Y(Y({}, ur(`${r.value}-show-help`)), {}, {
+        onAfterEnter: () => e.onErrorVisibleChanged(!0),
+        onAfterLeave: () => e.onErrorVisibleChanged(!1)
+      }), {
+        default: () => [xr(R($r, Y(Y({}, h), {}, {
+          tag: "div"
+        }), {
+          default: () => [(f = e.errors) === null || f === void 0 ? void 0 : f.map((y, $) => R("div", {
+            key: $,
+            class: l.value ? `${a.value}-${l.value}` : ""
+          }, [y]))]
+        }), [[Fr, !!(!((v = e.errors) === null || v === void 0) && v.length)]])]
+      });
+    };
+  }
+}), cl = Le({
+  compatConfig: {
+    MODE: 3
+  },
+  slots: Object,
+  inheritAttrs: !1,
+  props: ["prefixCls", "errors", "hasFeedback", "onDomErrorVisibleChange", "wrapperCol", "help", "extra", "status", "marginBottom", "onErrorVisibleChanged"],
+  setup(e, t) {
+    let {
+      slots: n
+    } = t;
+    const r = vt(), {
+      wrapperCol: i
+    } = r, a = M({}, r);
+    return delete a.labelCol, delete a.wrapperCol, Ln(a), el({
+      prefixCls: C(() => e.prefixCls),
+      status: C(() => e.status)
+    }), () => {
+      var o, l, s;
+      const {
+        prefixCls: v,
+        wrapperCol: f,
+        marginBottom: g,
+        onErrorVisibleChanged: h,
+        help: y = (o = n.help) === null || o === void 0 ? void 0 : o.call(n),
+        errors: $ = an((l = n.errors) === null || l === void 0 ? void 0 : l.call(n)),
+        // hasFeedback,
+        // status,
+        extra: d = (s = n.extra) === null || s === void 0 ? void 0 : s.call(n)
+      } = e, b = `${v}-item`, m = f || (i == null ? void 0 : i.value) || {}, P = xe(`${b}-control`, m.class);
+      return R(mn, Y(Y({}, m), {}, {
+        class: P
+      }), {
+        default: () => {
+          var u;
+          return R(qe, null, [R("div", {
+            class: `${b}-control-input`
+          }, [R("div", {
+            class: `${b}-control-input-content`
+          }, [(u = n.default) === null || u === void 0 ? void 0 : u.call(n)])]), g !== null || $.length ? R("div", {
+            style: {
+              display: "flex",
+              flexWrap: "nowrap"
+            }
+          }, [R(fl, {
+            errors: $,
+            help: y,
+            class: `${b}-explain-connected`,
+            onErrorVisibleChanged: h
+          }, null), !!g && R("div", {
+            style: {
+              width: 0,
+              height: `${g}px`
+            }
+          }, null)]) : null, d ? R("div", {
+            class: `${b}-extra`
+          }, [d]) : null]);
+        }
+      });
+    };
+  }
+});
+function dl(e) {
+  const t = re(e.value.slice());
+  let n = null;
+  return Ke(() => {
+    clearTimeout(n), n = setTimeout(() => {
+      t.value = e.value;
+    }, e.value.length ? 0 : 10);
+  }), t;
+}
+lt("success", "warning", "error", "validating", "");
+const ml = {
+  success: fr,
+  warning: cr,
+  error: dr,
+  validating: mr
+};
+function ze(e, t, n) {
+  let r = e;
+  const i = t;
+  let a = 0;
+  try {
+    for (let o = i.length; a < o - 1 && !(!r && !n); ++a) {
+      const l = i[a];
+      if (l in r)
+        r = r[l];
+      else {
+        if (n)
+          throw Error("please transfer a valid name path to form item!");
+        break;
+      }
+    }
+    if (n && !r)
+      throw Error("please transfer a valid name path to form item!");
+  } catch (o) {
+    console.error("please transfer a valid name path to form item!");
+  }
+  return {
+    o: r,
+    k: i[a],
+    v: r ? r[i[a]] : void 0
+  };
+}
+const gl = () => ({
+  htmlFor: String,
+  prefixCls: String,
+  label: ge.any,
+  help: ge.any,
+  extra: ge.any,
+  labelCol: {
+    type: Object
+  },
+  wrapperCol: {
+    type: Object
+  },
+  hasFeedback: {
+    type: Boolean,
+    default: !1
+  },
+  colon: {
+    type: Boolean,
+    default: void 0
+  },
+  labelAlign: String,
+  prop: {
+    type: [String, Number, Array]
+  },
+  name: {
+    type: [String, Number, Array]
+  },
+  rules: [Array, Object],
+  autoLink: {
+    type: Boolean,
+    default: !0
+  },
+  required: {
+    type: Boolean,
+    default: void 0
+  },
+  validateFirst: {
+    type: Boolean,
+    default: void 0
+  },
+  validateStatus: ge.oneOf(lt("", "success", "warning", "error", "validating")),
+  validateTrigger: {
+    type: [String, Array]
+  },
+  messageVariables: {
+    type: Object
+  },
+  hidden: Boolean,
+  noStyle: Boolean,
+  tooltip: String
+});
+let hl = 0;
+const vl = "form_item", pl = Le({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AFormItem",
+  inheritAttrs: !1,
+  __ANT_NEW_FORM_ITEM: !0,
+  props: gl(),
+  slots: Object,
+  setup(e, t) {
+    let {
+      slots: n,
+      attrs: r,
+      expose: i
+    } = t;
+    Ue(e.prop === void 0, "`prop` is deprecated. Please use `name` instead.");
+    const a = `form-item-${++hl}`, {
+      prefixCls: o
+    } = on("form", e), [l, s] = yt(o), v = re(), f = vt(), g = C(() => e.name || e.prop), h = re([]), y = re(!1), $ = re(), d = C(() => {
+      const p = g.value;
+      return tt(p);
+    }), b = C(() => {
+      if (d.value.length) {
+        const p = f.name.value, T = d.value.join("_");
+        return p ? `${p}_${T}` : `${vl}_${T}`;
+      } else
+        return;
+    }), m = () => {
+      const p = f.model.value;
+      if (!(!p || !g.value))
+        return ze(p, d.value, !0).v;
+    }, P = C(() => m()), u = re(Pe(P.value)), c = C(() => {
+      let p = e.validateTrigger !== void 0 ? e.validateTrigger : f.validateTrigger.value;
+      return p = p === void 0 ? "change" : p, ae(p);
+    }), w = C(() => {
+      let p = f.rules.value;
+      const T = e.rules, V = e.required !== void 0 ? {
+        required: !!e.required,
+        trigger: c.value
+      } : [], W = ze(p, d.value);
+      p = p ? W.o[W.k] || W.v : [];
+      const B = [].concat(T || p || []);
+      return eo(B, (X) => X.required) ? B : B.concat(V);
+    }), E = C(() => {
+      const p = w.value;
+      let T = !1;
+      return p && p.length && p.every((V) => V.required ? (T = !0, !1) : !0), T || e.required;
+    }), F = re();
+    Ke(() => {
+      F.value = e.validateStatus;
+    });
+    const O = C(() => {
+      let p = {};
+      return typeof e.label == "string" ? p.label = e.label : e.name && (p.label = String(e.name)), e.messageVariables && (p = M(M({}, p), e.messageVariables)), p;
+    }), j = (p) => {
+      if (d.value.length === 0)
+        return;
+      const {
+        validateFirst: T = !1
+      } = e, {
+        triggerName: V
+      } = p || {};
+      let W = w.value;
+      if (V && (W = W.filter((X) => {
+        const {
+          trigger: te
+        } = X;
+        return !te && !c.value.length ? !0 : ae(te || c.value).includes(V);
+      })), !W.length)
+        return Promise.resolve();
+      const B = _n(d.value, P.value, W, M({
+        validateMessages: f.validateMessages.value
+      }, p), T, O.value);
+      return F.value = "validating", h.value = [], B.catch((X) => X).then(function() {
+        let X = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
+        if (F.value === "validating") {
+          const te = X.filter((ne) => ne && ne.errors.length);
+          F.value = te.length ? "error" : "success", h.value = te.map((ne) => ne.errors), f.onValidate(g.value, !h.value.length, h.value.length ? Xe(h.value[0]) : null);
+        }
+      }), B;
+    }, I = () => {
+      j({
+        triggerName: "blur"
+      });
+    }, L = () => {
+      if (y.value) {
+        y.value = !1;
+        return;
+      }
+      j({
+        triggerName: "change"
+      });
+    }, _ = () => {
+      F.value = e.validateStatus, y.value = !1, h.value = [];
+    }, A = () => {
+      var p;
+      F.value = e.validateStatus, y.value = !0, h.value = [];
+      const T = f.model.value || {}, V = P.value, W = ze(T, d.value, !0);
+      Array.isArray(V) ? W.o[W.k] = [].concat((p = u.value) !== null && p !== void 0 ? p : []) : W.o[W.k] = u.value, cn(() => {
+        y.value = !1;
+      });
+    }, H = C(() => e.htmlFor === void 0 ? b.value : e.htmlFor), Z = () => {
+      const p = H.value;
+      if (!p || !$.value)
+        return;
+      const T = $.value.$el.querySelector(`[id="${p}"]`);
+      T && T.focus && T.focus();
+    };
+    i({
+      onFieldBlur: I,
+      onFieldChange: L,
+      clearValidate: _,
+      resetField: A
+    }), Tr({
+      id: b,
+      onFieldBlur: () => {
+        e.autoLink && I();
+      },
+      onFieldChange: () => {
+        e.autoLink && L();
+      },
+      clearValidate: _
+    }, C(() => !!(e.autoLink && f.model.value && g.value)));
+    let U = !1;
+    ue(g, (p) => {
+      p ? U || (U = !0, f.addField(a, {
+        fieldValue: P,
+        fieldId: b,
+        fieldName: g,
+        resetField: A,
+        clearValidate: _,
+        namePath: d,
+        validateRules: j,
+        rules: w
+      })) : (U = !1, f.removeField(a));
+    }, {
+      immediate: !0
+    }), Or(() => {
+      f.removeField(a);
+    });
+    const x = dl(h), S = C(() => e.validateStatus !== void 0 ? e.validateStatus : x.value.length ? "error" : F.value), N = C(() => ({
+      [`${o.value}-item`]: !0,
+      [s.value]: !0,
+      // Status
+      [`${o.value}-item-has-feedback`]: S.value && e.hasFeedback,
+      [`${o.value}-item-has-success`]: S.value === "success",
+      [`${o.value}-item-has-warning`]: S.value === "warning",
+      [`${o.value}-item-has-error`]: S.value === "error",
+      [`${o.value}-item-is-validating`]: S.value === "validating",
+      [`${o.value}-item-hidden`]: e.hidden
+    })), z = fn({});
+    Ir.useProvide(z), Ke(() => {
+      let p;
+      if (e.hasFeedback) {
+        const T = S.value && ml[S.value];
+        p = T ? R("span", {
+          class: xe(`${o.value}-item-feedback-icon`, `${o.value}-item-feedback-icon-${S.value}`)
+        }, [R(T, null, null)]) : null;
+      }
+      M(z, {
+        status: S.value,
+        hasFeedback: e.hasFeedback,
+        feedbackIcon: p,
+        isFormItemInput: !0
+      });
+    });
+    const K = re(null), J = re(!1), ie = () => {
+      if (v.value) {
+        const p = getComputedStyle(v.value);
+        K.value = parseInt(p.marginBottom, 10);
+      }
+    };
+    Ar(() => {
+      ue(J, () => {
+        J.value && ie();
+      }, {
+        flush: "post",
+        immediate: !0
+      });
+    });
+    const Q = (p) => {
+      p || (K.value = null);
+    };
+    return () => {
+      var p, T;
+      if (e.noStyle) return (p = n.default) === null || p === void 0 ? void 0 : p.call(n);
+      const V = (T = e.help) !== null && T !== void 0 ? T : n.help ? an(n.help()) : null, W = !!(V != null && Array.isArray(V) && V.length || x.value.length);
+      return J.value = W, l(R("div", {
+        class: [N.value, W ? `${o.value}-item-with-help` : "", r.class],
+        ref: v
+      }, [R(Er, Y(Y({}, r), {}, {
+        class: `${o.value}-item-row`,
+        key: "row"
+      }), {
+        default: () => {
+          var B, X;
+          return R(qe, null, [R(pt, Y(Y({}, e), {}, {
+            htmlFor: H.value,
+            required: E.value,
+            requiredMark: f.requiredMark.value,
+            prefixCls: o.value,
+            onClick: Z,
+            label: e.label
+          }), {
+            label: n.label,
+            tooltip: n.tooltip
+          }), R(cl, Y(Y({}, e), {}, {
+            errors: V != null ? ae(V) : x.value,
+            marginBottom: K.value,
+            prefixCls: o.value,
+            status: S.value,
+            ref: $,
+            help: V,
+            extra: (B = e.extra) !== null && B !== void 0 ? B : (X = n.extra) === null || X === void 0 ? void 0 : X.call(n),
+            onErrorVisibleChanged: Q
+          }), {
+            default: n.default
+          })]);
+        }
+      }), !!K.value && R("div", {
+        class: `${o.value}-margin-offset`,
+        style: {
+          marginBottom: `-${K.value}px`
+        }
+      }, null)]));
+    };
+  }
+});
+function Rn(e) {
+  let t = !1, n = e.length;
+  const r = [];
+  return e.length ? new Promise((i, a) => {
+    e.forEach((o, l) => {
+      o.catch((s) => (t = !0, s)).then((s) => {
+        n -= 1, r[l] = s, !(n > 0) && (t && a(r), i(r));
+      });
+    });
+  }) : Promise.resolve([]);
+}
+function Kt(e) {
+  let t = !1;
+  return e && e.length && e.every((n) => n.required ? (t = !0, !1) : !0), t;
+}
+function Xt(e) {
+  return e == null ? [] : Array.isArray(e) ? e : [e];
+}
+function Ge(e, t, n) {
+  let r = e;
+  t = t.replace(/\[(\w+)\]/g, ".$1"), t = t.replace(/^\./, "");
+  const i = t.split(".");
+  let a = 0;
+  for (let o = i.length; a < o - 1 && !(!r && !n); ++a) {
+    const l = i[a];
+    if (l in r)
+      r = r[l];
+    else {
+      if (n)
+        throw new Error("please transfer a valid name path to validate!");
+      break;
+    }
+  }
+  return {
+    o: r,
+    k: i[a],
+    v: r ? r[i[a]] : null,
+    isValid: r && i[a] in r
+  };
+}
+function yl(e) {
+  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : st({}), n = arguments.length > 2 ? arguments[2] : void 0;
+  const r = Pe(oe(e)), i = fn({}), a = re([]), o = (u) => {
+    M(oe(e), M(M({}, Pe(r)), u)), cn(() => {
+      Object.keys(i).forEach((c) => {
+        i[c] = {
+          autoLink: !1,
+          required: Kt(oe(t)[c])
+        };
+      });
+    });
+  }, l = function() {
+    let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], c = arguments.length > 1 ? arguments[1] : void 0;
+    return c.length ? u.filter((w) => {
+      const E = Xt(w.trigger || "change");
+      return io(E, c).length;
+    }) : u;
+  };
+  let s = null;
+  const v = function(u) {
+    let c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, w = arguments.length > 2 ? arguments[2] : void 0;
+    const E = [], F = {};
+    for (let I = 0; I < u.length; I++) {
+      const L = u[I], _ = Ge(oe(e), L, w);
+      if (!_.isValid) continue;
+      F[L] = _.v;
+      const A = l(oe(t)[L], Xt(c && c.trigger));
+      A.length && E.push(f(L, _.v, A, c || {}).then(() => ({
+        name: L,
+        errors: [],
+        warnings: []
+      })).catch((H) => {
+        const Z = [], U = [];
+        return H.forEach((x) => {
+          let {
+            rule: {
+              warningOnly: S
+            },
+            errors: N
+          } = x;
+          S ? U.push(...N) : Z.push(...N);
+        }), Z.length ? Promise.reject({
+          name: L,
+          errors: Z,
+          warnings: U
+        }) : {
+          name: L,
+          errors: Z,
+          warnings: U
+        };
+      }));
+    }
+    const O = Rn(E);
+    s = O;
+    const j = O.then(() => s === O ? Promise.resolve(F) : Promise.reject([])).catch((I) => {
+      const L = I.filter((_) => _ && _.errors.length);
+      return L.length ? Promise.reject({
+        values: F,
+        errorFields: L,
+        outOfDate: s !== O
+      }) : Promise.resolve(F);
+    });
+    return j.catch((I) => I), j;
+  }, f = function(u, c, w) {
+    let E = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
+    const F = _n([u], c, w, M({
+      validateMessages: Ve
+    }, E), !!E.validateFirst);
+    return i[u] ? (i[u].validateStatus = "validating", F.catch((O) => O).then(function() {
+      let O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
+      var j;
+      if (i[u].validateStatus === "validating") {
+        const I = O.filter((L) => L && L.errors.length);
+        i[u].validateStatus = I.length ? "error" : "success", i[u].help = I.length ? I.map((L) => L.errors) : null, (j = n == null ? void 0 : n.onValidate) === null || j === void 0 || j.call(n, u, !I.length, I.length ? Xe(i[u].help[0]) : null);
+      }
+    }), F) : F.catch((O) => O);
+  }, g = (u, c) => {
+    let w = [], E = !0;
+    u ? Array.isArray(u) ? w = u : w = [u] : (E = !1, w = a.value);
+    const F = v(w, c || {}, E);
+    return F.catch((O) => O), F;
+  }, h = (u) => {
+    let c = [];
+    u ? Array.isArray(u) ? c = u : c = [u] : c = a.value, c.forEach((w) => {
+      i[w] && M(i[w], {
+        validateStatus: "",
+        help: null
+      });
+    });
+  }, y = (u) => {
+    const c = {
+      autoLink: !1
+    }, w = [], E = Array.isArray(u) ? u : [u];
+    for (let F = 0; F < E.length; F++) {
+      const O = E[F];
+      (O == null ? void 0 : O.validateStatus) === "error" && (c.validateStatus = "error", O.help && w.push(O.help)), c.required = c.required || (O == null ? void 0 : O.required);
+    }
+    return c.help = w, c;
+  };
+  let $ = r, d = !0;
+  const b = (u) => {
+    const c = [];
+    a.value.forEach((w) => {
+      const E = Ge(u, w, !1), F = Ge($, w, !1);
+      (d && (n == null ? void 0 : n.immediate) && E.isValid || !ln(E.v, F.v)) && c.push(w);
+    }), g(c, {
+      trigger: "change"
+    }), d = !1, $ = Pe(Xe(u));
+  }, m = n == null ? void 0 : n.debounce;
+  let P = !0;
+  return ue(t, () => {
+    a.value = t ? Object.keys(oe(t)) : [], !P && n && n.validateOnRuleChange && g(), P = !1;
+  }, {
+    deep: !0,
+    immediate: !0
+  }), ue(a, () => {
+    const u = {};
+    a.value.forEach((c) => {
+      u[c] = M({}, i[c], {
+        autoLink: !1,
+        required: Kt(oe(t)[c])
+      }), delete i[c];
+    });
+    for (const c in i)
+      Object.prototype.hasOwnProperty.call(i, c) && delete i[c];
+    M(i, u);
+  }, {
+    immediate: !0
+  }), ue(e, m && m.wait ? Pr(b, m.wait, co(m, ["wait"])) : b, {
+    immediate: n && !!n.immediate,
+    deep: !0
+  }), {
+    modelRef: e,
+    rulesRef: t,
+    initialModel: r,
+    validateInfos: i,
+    resetFields: o,
+    validate: g,
+    validateField: f,
+    mergeValidateInfo: y,
+    clearValidate: h
+  };
+}
+const bl = () => ({
+  layout: ge.oneOf(lt("horizontal", "inline", "vertical")),
+  labelCol: Se(),
+  wrapperCol: Se(),
+  colon: pe(),
+  labelAlign: xt(),
+  labelWrap: pe(),
+  prefixCls: String,
+  requiredMark: $t([String, Boolean]),
+  /** @deprecated Will warning in future branch. Pls use `requiredMark` instead. */
+  hideRequiredMark: pe(),
+  model: ge.object,
+  rules: Se(),
+  validateMessages: Se(),
+  validateOnRuleChange: pe(),
+  // 提交失败自动滚动到第一个错误字段
+  scrollToFirstError: yr(),
+  onSubmit: ce(),
+  name: String,
+  validateTrigger: $t([String, Array]),
+  size: xt(),
+  disabled: pe(),
+  onValuesChange: ce(),
+  onFieldsChange: ce(),
+  onFinish: ce(),
+  onFinishFailed: ce(),
+  onValidate: ce()
+});
+function wl(e, t) {
+  return ln(ae(e), ae(t));
+}
+const le = Le({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AForm",
+  inheritAttrs: !1,
+  props: gr(bl(), {
+    layout: "horizontal",
+    hideRequiredMark: !1,
+    colon: !0
+  }),
+  Item: pl,
+  useForm: yl,
+  // emits: ['finishFailed', 'submit', 'finish', 'validate'],
+  setup(e, t) {
+    let {
+      emit: n,
+      slots: r,
+      expose: i,
+      attrs: a
+    } = t;
+    const {
+      prefixCls: o,
+      direction: l,
+      form: s,
+      size: v,
+      disabled: f
+    } = on("form", e), g = C(() => e.requiredMark === "" || e.requiredMark), h = C(() => {
+      var x;
+      return g.value !== void 0 ? g.value : s && ((x = s.value) === null || x === void 0 ? void 0 : x.requiredMark) !== void 0 ? s.value.requiredMark : !e.hideRequiredMark;
+    });
+    hr(v), vr(f);
+    const y = C(() => {
+      var x, S;
+      return (x = e.colon) !== null && x !== void 0 ? x : (S = s.value) === null || S === void 0 ? void 0 : S.colon;
+    }), {
+      validateMessages: $
+    } = pr(), d = C(() => M(M(M({}, Ve), $.value), e.validateMessages)), [b, m] = yt(o), P = C(() => xe(o.value, {
+      [`${o.value}-${e.layout}`]: !0,
+      [`${o.value}-hide-required-mark`]: h.value === !1,
+      [`${o.value}-rtl`]: l.value === "rtl",
+      [`${o.value}-${v.value}`]: v.value
+    }, m.value)), u = st(), c = {}, w = (x, S) => {
+      c[x] = S;
+    }, E = (x) => {
+      delete c[x];
+    }, F = (x) => {
+      const S = !!x, N = S ? ae(x).map(tt) : [];
+      return S ? Object.values(c).filter((z) => N.findIndex((K) => wl(K, z.fieldName.value)) > -1) : Object.values(c);
+    }, O = (x) => {
+      if (!e.model) {
+        We(!1, "Form", "model is required for resetFields to work.");
+        return;
+      }
+      F(x).forEach((S) => {
+        S.resetField();
+      });
+    }, j = (x) => {
+      F(x).forEach((S) => {
+        S.clearValidate();
+      });
+    }, I = (x) => {
+      const {
+        scrollToFirstError: S
+      } = e;
+      if (n("finishFailed", x), S && x.errorFields.length) {
+        let N = {};
+        typeof S == "object" && (N = S), _(x.errorFields[0].name, N);
+      }
+    }, L = function() {
+      return Z(...arguments);
+    }, _ = function(x) {
+      let S = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
+      const N = F(x ? [x] : void 0);
+      if (N.length) {
+        const z = N[0].fieldId.value, K = z ? document.getElementById(z) : null;
+        K && jr(K, M({
+          scrollMode: "if-needed",
+          block: "nearest"
+        }, S));
+      }
+    }, A = function() {
+      let x = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
+      if (x === !0) {
+        const S = [];
+        return Object.values(c).forEach((N) => {
+          let {
+            namePath: z
+          } = N;
+          S.push(z.value);
+        }), Gt(e.model, S);
+      } else
+        return Gt(e.model, x);
+    }, H = (x, S) => {
+      if (We(!(x instanceof Function), "Form", "validateFields/validateField/validate not support callback, please use promise instead"), !e.model)
+        return We(!1, "Form", "model is required for validateFields to work."), Promise.reject("Form `model` is required for validateFields to work.");
+      const N = !!x, z = N ? ae(x).map(tt) : [], K = [];
+      Object.values(c).forEach((Q) => {
+        var p;
+        if (N || z.push(Q.namePath.value), !(!((p = Q.rules) === null || p === void 0) && p.value.length))
+          return;
+        const T = Q.namePath.value;
+        if (!N || Ko(z, T)) {
+          const V = Q.validateRules(M({
+            validateMessages: d.value
+          }, S));
+          K.push(V.then(() => ({
+            name: T,
+            errors: [],
+            warnings: []
+          })).catch((W) => {
+            const B = [], X = [];
+            return W.forEach((te) => {
+              let {
+                rule: {
+                  warningOnly: ne
+                },
+                errors: ve
+              } = te;
+              ne ? X.push(...ve) : B.push(...ve);
+            }), B.length ? Promise.reject({
+              name: T,
+              errors: B,
+              warnings: X
+            }) : {
+              name: T,
+              errors: B,
+              warnings: X
+            };
+          }));
+        }
+      });
+      const J = Rn(K);
+      u.value = J;
+      const ie = J.then(() => u.value === J ? Promise.resolve(A(z)) : Promise.reject([])).catch((Q) => {
+        const p = Q.filter((T) => T && T.errors.length);
+        return Promise.reject({
+          values: A(z),
+          errorFields: p,
+          outOfDate: u.value !== J
+        });
+      });
+      return ie.catch((Q) => Q), ie;
+    }, Z = function() {
+      return H(...arguments);
+    }, U = (x) => {
+      x.preventDefault(), x.stopPropagation(), n("submit", x), e.model && H().then((N) => {
+        n("finish", N);
+      }).catch((N) => {
+        I(N);
+      });
+    };
+    return i({
+      resetFields: O,
+      clearValidate: j,
+      validateFields: H,
+      getFieldsValue: A,
+      validate: L,
+      scrollToField: _
+    }), Ln({
+      model: C(() => e.model),
+      name: C(() => e.name),
+      labelAlign: C(() => e.labelAlign),
+      labelCol: C(() => e.labelCol),
+      labelWrap: C(() => e.labelWrap),
+      wrapperCol: C(() => e.wrapperCol),
+      vertical: C(() => e.layout === "vertical"),
+      colon: y,
+      requiredMark: h,
+      validateTrigger: C(() => e.validateTrigger),
+      rules: C(() => e.rules),
+      addField: w,
+      removeField: E,
+      onValidate: (x, S, N) => {
+        n("validate", x, S, N);
+      },
+      validateMessages: d
+    }), ue(() => e.rules, () => {
+      e.validateOnRuleChange && H();
+    }), () => {
+      var x;
+      return b(R("form", Y(Y({}, a), {}, {
+        onSubmit: U,
+        class: [P.value, a.class]
+      }), [(x = r.default) === null || x === void 0 ? void 0 : x.call(r)]));
+    };
+  }
+});
+le.useInjectFormItemContext = qr;
+le.ItemRest = Ye;
+le.install = function(e) {
+  return e.component(le.name, le), e.component(le.Item.name, le.Item), e.component(Ye.name, Ye), e;
+};
+export {
+  Cn as b
+};

+ 2577 - 0
lib/js/index6.js

@@ -0,0 +1,2577 @@
+import { x as rt, y as it, z as lt, A as B, C as I, D as W, E as Se, e as q, F as Z, d as J, G as Ce, _ as P, a as D, b as ne, H as ke, g as Me, I as Ne, J as We, M as xe, j as fe, N as st, O as at, Q as ct, S as ut, h as dt, w as pt, T as de, U as ft, V as gt, W as mt, X as vt, Y as ht, Z as yt, $ as bt, a0 as wt, a1 as $t, n as Oe, a2 as Ct, i as St, B as De, a3 as Be, t as Xe, a4 as xt, a5 as It, l as Pt, a6 as Ot, a7 as Dt, m as re, a8 as Ft } from "./index2.js";
+import { ref as Q, onBeforeUpdate as Rt, defineComponent as z, computed as _, createVNode as d, Fragment as ze, onUpdated as _t, onMounted as ge, onBeforeUnmount as He, shallowRef as le, watch as Ge, Transition as At, withDirectives as qe, vShow as Ve, watchEffect as Tt, triggerRef as Et, TransitionGroup as Lt, toRef as jt } from "vue";
+import { p as Ut } from "./pickAttrs.js";
+import { b as kt } from "./index5.js";
+import { u as Mt } from "./useMergedState.js";
+import { u as Nt } from "./FormItemContext.js";
+function Wt(e, t, o, n) {
+  for (var r = -1, l = e == null ? 0 : e.length; ++r < l; ) {
+    var i = e[r];
+    t(n, i, o(i), e);
+  }
+  return n;
+}
+function Bt(e) {
+  return function(t, o, n) {
+    for (var r = -1, l = Object(t), i = n(t), a = i.length; a--; ) {
+      var c = i[++r];
+      if (o(l[c], c, l) === !1)
+        break;
+    }
+    return t;
+  };
+}
+var Xt = Bt();
+function zt(e, t) {
+  return e && Xt(e, t, rt);
+}
+function Ht(e, t) {
+  return function(o, n) {
+    if (o == null)
+      return o;
+    if (!it(o))
+      return e(o, n);
+    for (var r = o.length, l = -1, i = Object(o); ++l < r && n(i[l], l, i) !== !1; )
+      ;
+    return o;
+  };
+}
+var Gt = Ht(zt);
+function qt(e, t, o, n) {
+  return Gt(e, function(r, l, i) {
+    t(n, r, o(r), i);
+  }), n;
+}
+function Vt(e, t) {
+  return function(o, n) {
+    var r = lt(o) ? Wt : qt, l = t ? t() : {};
+    return r(o, e, kt(n), l);
+  };
+}
+var Kt = Vt(function(e, t, o) {
+  e[o ? 0 : 1].push(t);
+}, function() {
+  return [[], []];
+});
+const Yt = () => {
+  const e = Q(/* @__PURE__ */ new Map()), t = (o) => (n) => {
+    e.value.set(o, n);
+  };
+  return Rt(() => {
+    e.value = /* @__PURE__ */ new Map();
+  }), [t, e];
+}, Jt = ["normal", "exception", "active", "success"], me = () => ({
+  prefixCls: String,
+  type: B(),
+  percent: Number,
+  format: I(),
+  status: B(),
+  showInfo: W(),
+  strokeWidth: Number,
+  strokeLinecap: B(),
+  strokeColor: Se(),
+  trailColor: String,
+  /** @deprecated Use `size` instead */
+  width: Number,
+  success: q(),
+  gapDegree: Number,
+  gapPosition: B(),
+  size: Z([String, Number, Array]),
+  steps: Number,
+  /** @deprecated Use `success` instead */
+  successPercent: Number,
+  title: String,
+  progressStatus: B()
+});
+function ee(e) {
+  return !e || e < 0 ? 0 : e > 100 ? 100 : e;
+}
+function pe(e) {
+  let {
+    success: t,
+    successPercent: o
+  } = e, n = o;
+  return t && "progress" in t && (J(!1, "Progress", "`success.progress` is deprecated. Please use `success.percent` instead."), n = t.progress), t && "percent" in t && (n = t.percent), n;
+}
+function Qt(e) {
+  let {
+    percent: t,
+    success: o,
+    successPercent: n
+  } = e;
+  const r = ee(pe({
+    success: o,
+    successPercent: n
+  }));
+  return [r, ee(ee(t) - r)];
+}
+function Zt(e) {
+  let {
+    success: t = {},
+    strokeColor: o
+  } = e;
+  const {
+    strokeColor: n
+  } = t;
+  return [n || Ce.green, o || null];
+}
+const ve = (e, t, o) => {
+  var n, r, l, i;
+  let a = -1, c = -1;
+  if (t === "step") {
+    const b = o.steps, u = o.strokeWidth;
+    typeof e == "string" || typeof e == "undefined" ? (a = e === "small" ? 2 : 14, c = u != null ? u : 8) : typeof e == "number" ? [a, c] = [e, e] : [a = 14, c = 8] = e, a *= b;
+  } else if (t === "line") {
+    const b = o == null ? void 0 : o.strokeWidth;
+    typeof e == "string" || typeof e == "undefined" ? c = b || (e === "small" ? 6 : 8) : typeof e == "number" ? [a, c] = [e, e] : [a = -1, c = 8] = e;
+  } else (t === "circle" || t === "dashboard") && (typeof e == "string" || typeof e == "undefined" ? [a, c] = e === "small" ? [60, 60] : [120, 120] : typeof e == "number" ? [a, c] = [e, e] : (process.env.NODE_ENV !== "production" && J(!1, "Progress", 'Type "circle" and "dashboard" do not accept array as `size`, please use number or preset size instead.'), a = (r = (n = e[0]) !== null && n !== void 0 ? n : e[1]) !== null && r !== void 0 ? r : 120, c = (i = (l = e[0]) !== null && l !== void 0 ? l : e[1]) !== null && i !== void 0 ? i : 120));
+  return {
+    width: a,
+    height: c
+  };
+};
+var en = function(e, t) {
+  var o = {};
+  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++)
+    t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]);
+  return o;
+};
+const tn = () => P(P({}, me()), {
+  strokeColor: Se(),
+  direction: B()
+}), nn = (e) => {
+  let t = [];
+  return Object.keys(e).forEach((o) => {
+    const n = parseFloat(o.replace(/%/g, ""));
+    isNaN(n) || t.push({
+      key: n,
+      value: e[o]
+    });
+  }), t = t.sort((o, n) => o.key - n.key), t.map((o) => {
+    let {
+      key: n,
+      value: r
+    } = o;
+    return `${r} ${n}%`;
+  }).join(", ");
+}, on = (e, t) => {
+  const {
+    from: o = Ce.blue,
+    to: n = Ce.blue,
+    direction: r = t === "rtl" ? "to left" : "to right"
+  } = e, l = en(e, ["from", "to", "direction"]);
+  if (Object.keys(l).length !== 0) {
+    const i = nn(l);
+    return {
+      backgroundImage: `linear-gradient(${r}, ${i})`
+    };
+  }
+  return {
+    backgroundImage: `linear-gradient(${r}, ${o}, ${n})`
+  };
+}, rn = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ProgressLine",
+  inheritAttrs: !1,
+  props: tn(),
+  setup(e, t) {
+    let {
+      slots: o,
+      attrs: n
+    } = t;
+    const r = _(() => {
+      const {
+        strokeColor: g,
+        direction: F
+      } = e;
+      return g && typeof g != "string" ? on(g, F) : {
+        backgroundColor: g
+      };
+    }), l = _(() => e.strokeLinecap === "square" || e.strokeLinecap === "butt" ? 0 : void 0), i = _(() => e.trailColor ? {
+      backgroundColor: e.trailColor
+    } : void 0), a = _(() => {
+      var g;
+      return (g = e.size) !== null && g !== void 0 ? g : [-1, e.strokeWidth || (e.size === "small" ? 6 : 8)];
+    }), c = _(() => ve(a.value, "line", {
+      strokeWidth: e.strokeWidth
+    }));
+    process.env.NODE_ENV !== "production" && J("strokeWidth" in e, "Progress", "`strokeWidth` is deprecated. Please use `size` instead.");
+    const b = _(() => {
+      const {
+        percent: g
+      } = e;
+      return P({
+        width: `${ee(g)}%`,
+        height: `${c.value.height}px`,
+        borderRadius: l.value
+      }, r.value);
+    }), u = _(() => pe(e)), O = _(() => {
+      const {
+        success: g
+      } = e;
+      return {
+        width: `${ee(u.value)}%`,
+        height: `${c.value.height}px`,
+        borderRadius: l.value,
+        backgroundColor: g == null ? void 0 : g.strokeColor
+      };
+    }), y = {
+      width: c.value.width < 0 ? "100%" : c.value.width,
+      height: `${c.value.height}px`
+    };
+    return () => {
+      var g;
+      return d(ze, null, [d("div", D(D({}, n), {}, {
+        class: [`${e.prefixCls}-outer`, n.class],
+        style: [n.style, y]
+      }), [d("div", {
+        class: `${e.prefixCls}-inner`,
+        style: i.value
+      }, [d("div", {
+        class: `${e.prefixCls}-bg`,
+        style: b.value
+      }, null), u.value !== void 0 ? d("div", {
+        class: `${e.prefixCls}-success-bg`,
+        style: O.value
+      }, null) : null])]), (g = o.default) === null || g === void 0 ? void 0 : g.call(o)]);
+    };
+  }
+}), ln = {
+  percent: 0,
+  prefixCls: "vc-progress",
+  strokeColor: "#2db7f5",
+  strokeLinecap: "round",
+  strokeWidth: 1,
+  trailColor: "#D9D9D9",
+  trailWidth: 1
+}, sn = (e) => {
+  const t = Q(null);
+  return _t(() => {
+    const o = Date.now();
+    let n = !1;
+    e.value.forEach((r) => {
+      const l = (r == null ? void 0 : r.$el) || r;
+      if (!l)
+        return;
+      n = !0;
+      const i = l.style;
+      i.transitionDuration = ".3s, .3s, .3s, .06s", t.value && o - t.value < 100 && (i.transitionDuration = "0s, 0s");
+    }), n && (t.value = Date.now());
+  }), e;
+}, an = {
+  gapDegree: Number,
+  gapPosition: {
+    type: String
+  },
+  percent: {
+    type: [Array, Number]
+  },
+  prefixCls: String,
+  strokeColor: {
+    type: [Object, String, Array]
+  },
+  strokeLinecap: {
+    type: String
+  },
+  strokeWidth: Number,
+  trailColor: String,
+  trailWidth: Number,
+  transition: String
+};
+var cn = function(e, t) {
+  var o = {};
+  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++)
+    t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]);
+  return o;
+};
+let Fe = 0;
+function Re(e) {
+  return +e.replace("%", "");
+}
+function _e(e) {
+  return Array.isArray(e) ? e : [e];
+}
+function Ae(e, t, o, n) {
+  let r = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0, l = arguments.length > 5 ? arguments[5] : void 0;
+  const i = 50 - n / 2;
+  let a = 0, c = -i, b = 0, u = -2 * i;
+  switch (l) {
+    case "left":
+      a = -i, c = 0, b = 2 * i, u = 0;
+      break;
+    case "right":
+      a = i, c = 0, b = -2 * i, u = 0;
+      break;
+    case "bottom":
+      c = i, u = 2 * i;
+      break;
+  }
+  const O = `M 50,50 m ${a},${c}
+   a ${i},${i} 0 1 1 ${b},${-u}
+   a ${i},${i} 0 1 1 ${-b},${u}`, y = Math.PI * 2 * i, g = {
+    stroke: o,
+    strokeDasharray: `${t / 100 * (y - r)}px ${y}px`,
+    strokeDashoffset: `-${r / 2 + e / 100 * (y - r)}px`,
+    transition: "stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s"
+    // eslint-disable-line
+  };
+  return {
+    pathString: O,
+    pathStyle: g
+  };
+}
+const un = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "VCCircle",
+  props: ne(an, ln),
+  setup(e) {
+    Fe += 1;
+    const t = Q(Fe), o = _(() => _e(e.percent)), n = _(() => _e(e.strokeColor)), [r, l] = Yt();
+    sn(l);
+    const i = () => {
+      const {
+        prefixCls: a,
+        strokeWidth: c,
+        strokeLinecap: b,
+        gapDegree: u,
+        gapPosition: O
+      } = e;
+      let y = 0;
+      return o.value.map((g, F) => {
+        const s = n.value[F] || n.value[n.value.length - 1], v = Object.prototype.toString.call(s) === "[object Object]" ? `url(#${a}-gradient-${t.value})` : "", {
+          pathString: R,
+          pathStyle: p
+        } = Ae(y, g, s, c, u, O);
+        y += g;
+        const h = {
+          key: F,
+          d: R,
+          stroke: v,
+          "stroke-linecap": b,
+          "stroke-width": c,
+          opacity: g === 0 ? 0 : 1,
+          "fill-opacity": "0",
+          class: `${a}-circle-path`,
+          style: p
+        };
+        return d("path", D({
+          ref: r(F)
+        }, h), null);
+      });
+    };
+    return () => {
+      const {
+        prefixCls: a,
+        strokeWidth: c,
+        trailWidth: b,
+        gapDegree: u,
+        gapPosition: O,
+        trailColor: y,
+        strokeLinecap: g,
+        strokeColor: F
+      } = e, s = cn(e, ["prefixCls", "strokeWidth", "trailWidth", "gapDegree", "gapPosition", "trailColor", "strokeLinecap", "strokeColor"]), {
+        pathString: v,
+        pathStyle: R
+      } = Ae(0, 100, y, c, u, O);
+      delete s.percent;
+      const p = n.value.find((m) => Object.prototype.toString.call(m) === "[object Object]"), h = {
+        d: v,
+        stroke: y,
+        "stroke-linecap": g,
+        "stroke-width": b || c,
+        "fill-opacity": "0",
+        class: `${a}-circle-trail`,
+        style: R
+      };
+      return d("svg", D({
+        class: `${a}-circle`,
+        viewBox: "0 0 100 100"
+      }, s), [p && d("defs", null, [d("linearGradient", {
+        id: `${a}-gradient-${t.value}`,
+        x1: "100%",
+        y1: "0%",
+        x2: "0%",
+        y2: "0%"
+      }, [Object.keys(p).sort((m, S) => Re(m) - Re(S)).map((m, S) => d("stop", {
+        key: S,
+        offset: m,
+        "stop-color": p[m]
+      }, null))])]), d("path", h, null), i().reverse()]);
+    };
+  }
+}), dn = () => P(P({}, me()), {
+  strokeColor: Se()
+}), pn = 3, fn = (e) => pn / e * 100, gn = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ProgressCircle",
+  inheritAttrs: !1,
+  props: ne(dn(), {
+    trailColor: null
+  }),
+  setup(e, t) {
+    let {
+      slots: o,
+      attrs: n
+    } = t;
+    const r = _(() => {
+      var s;
+      return (s = e.width) !== null && s !== void 0 ? s : 120;
+    }), l = _(() => {
+      var s;
+      return (s = e.size) !== null && s !== void 0 ? s : [r.value, r.value];
+    }), i = _(() => ve(l.value, "circle")), a = _(() => {
+      if (e.gapDegree || e.gapDegree === 0)
+        return e.gapDegree;
+      if (e.type === "dashboard")
+        return 75;
+    }), c = _(() => ({
+      width: `${i.value.width}px`,
+      height: `${i.value.height}px`,
+      fontSize: `${i.value.width * 0.15 + 6}px`
+    })), b = _(() => {
+      var s;
+      return (s = e.strokeWidth) !== null && s !== void 0 ? s : Math.max(fn(i.value.width), 6);
+    }), u = _(() => e.gapPosition || e.type === "dashboard" && "bottom" || void 0), O = _(() => Qt(e)), y = _(() => Object.prototype.toString.call(e.strokeColor) === "[object Object]"), g = _(() => Zt({
+      success: e.success,
+      strokeColor: e.strokeColor
+    })), F = _(() => ({
+      [`${e.prefixCls}-inner`]: !0,
+      [`${e.prefixCls}-circle-gradient`]: y.value
+    }));
+    return () => {
+      var s;
+      const v = d(un, {
+        percent: O.value,
+        strokeWidth: b.value,
+        trailWidth: b.value,
+        strokeColor: g.value,
+        strokeLinecap: e.strokeLinecap,
+        trailColor: e.trailColor,
+        prefixCls: e.prefixCls,
+        gapDegree: a.value,
+        gapPosition: u.value
+      }, null);
+      return d("div", D(D({}, n), {}, {
+        class: [F.value, n.class],
+        style: [n.style, c.value]
+      }), [i.value.width <= 20 ? d(ke, null, {
+        default: () => [d("span", null, [v])],
+        title: o.default
+      }) : d(ze, null, [v, (s = o.default) === null || s === void 0 ? void 0 : s.call(o)])]);
+    };
+  }
+}), mn = () => P(P({}, me()), {
+  steps: Number,
+  strokeColor: Z(),
+  trailColor: String
+}), vn = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "Steps",
+  props: mn(),
+  setup(e, t) {
+    let {
+      slots: o
+    } = t;
+    const n = _(() => Math.round(e.steps * ((e.percent || 0) / 100))), r = _(() => {
+      var a;
+      return (a = e.size) !== null && a !== void 0 ? a : [e.size === "small" ? 2 : 14, e.strokeWidth || 8];
+    }), l = _(() => ve(r.value, "step", {
+      steps: e.steps,
+      strokeWidth: e.strokeWidth || 8
+    })), i = _(() => {
+      const {
+        steps: a,
+        strokeColor: c,
+        trailColor: b,
+        prefixCls: u
+      } = e, O = [];
+      for (let y = 0; y < a; y += 1) {
+        const g = Array.isArray(c) ? c[y] : c, F = {
+          [`${u}-steps-item`]: !0,
+          [`${u}-steps-item-active`]: y <= n.value - 1
+        };
+        O.push(d("div", {
+          key: y,
+          class: F,
+          style: {
+            backgroundColor: y <= n.value - 1 ? g : b,
+            width: `${l.value.width / a}px`,
+            height: `${l.value.height}px`
+          }
+        }, null));
+      }
+      return O;
+    });
+    return () => {
+      var a;
+      return d("div", {
+        class: `${e.prefixCls}-steps-outer`
+      }, [i.value, (a = o.default) === null || a === void 0 ? void 0 : a.call(o)]);
+    };
+  }
+}), hn = new xe("antProgressActive", {
+  "0%": {
+    transform: "translateX(-100%) scaleX(0)",
+    opacity: 0.1
+  },
+  "20%": {
+    transform: "translateX(-100%) scaleX(0)",
+    opacity: 0.5
+  },
+  to: {
+    transform: "translateX(0) scaleX(1)",
+    opacity: 0
+  }
+}), yn = (e) => {
+  const {
+    componentCls: t,
+    iconCls: o
+  } = e;
+  return {
+    [t]: P(P({}, We(e)), {
+      display: "inline-block",
+      "&-rtl": {
+        direction: "rtl"
+      },
+      "&-line": {
+        position: "relative",
+        width: "100%",
+        fontSize: e.fontSize,
+        marginInlineEnd: e.marginXS,
+        marginBottom: e.marginXS
+      },
+      [`${t}-outer`]: {
+        display: "inline-block",
+        width: "100%"
+      },
+      [`&${t}-show-info`]: {
+        [`${t}-outer`]: {
+          marginInlineEnd: `calc(-2em - ${e.marginXS}px)`,
+          paddingInlineEnd: `calc(2em + ${e.paddingXS}px)`
+        }
+      },
+      [`${t}-inner`]: {
+        position: "relative",
+        display: "inline-block",
+        width: "100%",
+        overflow: "hidden",
+        verticalAlign: "middle",
+        backgroundColor: e.progressRemainingColor,
+        borderRadius: e.progressLineRadius
+      },
+      [`${t}-inner:not(${t}-circle-gradient)`]: {
+        [`${t}-circle-path`]: {
+          stroke: e.colorInfo
+        }
+      },
+      [`${t}-success-bg, ${t}-bg`]: {
+        position: "relative",
+        backgroundColor: e.colorInfo,
+        borderRadius: e.progressLineRadius,
+        transition: `all ${e.motionDurationSlow} ${e.motionEaseInOutCirc}`
+      },
+      [`${t}-success-bg`]: {
+        position: "absolute",
+        insetBlockStart: 0,
+        insetInlineStart: 0,
+        backgroundColor: e.colorSuccess
+      },
+      [`${t}-text`]: {
+        display: "inline-block",
+        width: "2em",
+        marginInlineStart: e.marginXS,
+        color: e.progressInfoTextColor,
+        lineHeight: 1,
+        whiteSpace: "nowrap",
+        textAlign: "start",
+        verticalAlign: "middle",
+        wordBreak: "normal",
+        [o]: {
+          fontSize: e.fontSize
+        }
+      },
+      [`&${t}-status-active`]: {
+        [`${t}-bg::before`]: {
+          position: "absolute",
+          inset: 0,
+          backgroundColor: e.colorBgContainer,
+          borderRadius: e.progressLineRadius,
+          opacity: 0,
+          animationName: hn,
+          animationDuration: e.progressActiveMotionDuration,
+          animationTimingFunction: e.motionEaseOutQuint,
+          animationIterationCount: "infinite",
+          content: '""'
+        }
+      },
+      [`&${t}-status-exception`]: {
+        [`${t}-bg`]: {
+          backgroundColor: e.colorError
+        },
+        [`${t}-text`]: {
+          color: e.colorError
+        }
+      },
+      [`&${t}-status-exception ${t}-inner:not(${t}-circle-gradient)`]: {
+        [`${t}-circle-path`]: {
+          stroke: e.colorError
+        }
+      },
+      [`&${t}-status-success`]: {
+        [`${t}-bg`]: {
+          backgroundColor: e.colorSuccess
+        },
+        [`${t}-text`]: {
+          color: e.colorSuccess
+        }
+      },
+      [`&${t}-status-success ${t}-inner:not(${t}-circle-gradient)`]: {
+        [`${t}-circle-path`]: {
+          stroke: e.colorSuccess
+        }
+      }
+    })
+  };
+}, bn = (e) => {
+  const {
+    componentCls: t,
+    iconCls: o
+  } = e;
+  return {
+    [t]: {
+      [`${t}-circle-trail`]: {
+        stroke: e.progressRemainingColor
+      },
+      [`&${t}-circle ${t}-inner`]: {
+        position: "relative",
+        lineHeight: 1,
+        backgroundColor: "transparent"
+      },
+      [`&${t}-circle ${t}-text`]: {
+        position: "absolute",
+        insetBlockStart: "50%",
+        insetInlineStart: 0,
+        width: "100%",
+        margin: 0,
+        padding: 0,
+        color: e.colorText,
+        lineHeight: 1,
+        whiteSpace: "normal",
+        textAlign: "center",
+        transform: "translateY(-50%)",
+        [o]: {
+          fontSize: `${e.fontSize / e.fontSizeSM}em`
+        }
+      },
+      [`${t}-circle&-status-exception`]: {
+        [`${t}-text`]: {
+          color: e.colorError
+        }
+      },
+      [`${t}-circle&-status-success`]: {
+        [`${t}-text`]: {
+          color: e.colorSuccess
+        }
+      }
+    },
+    [`${t}-inline-circle`]: {
+      lineHeight: 1,
+      [`${t}-inner`]: {
+        verticalAlign: "bottom"
+      }
+    }
+  };
+}, wn = (e) => {
+  const {
+    componentCls: t
+  } = e;
+  return {
+    [t]: {
+      [`${t}-steps`]: {
+        display: "inline-block",
+        "&-outer": {
+          display: "flex",
+          flexDirection: "row",
+          alignItems: "center"
+        },
+        "&-item": {
+          flexShrink: 0,
+          minWidth: e.progressStepMinWidth,
+          marginInlineEnd: e.progressStepMarginInlineEnd,
+          backgroundColor: e.progressRemainingColor,
+          transition: `all ${e.motionDurationSlow}`,
+          "&-active": {
+            backgroundColor: e.colorInfo
+          }
+        }
+      }
+    }
+  };
+}, $n = (e) => {
+  const {
+    componentCls: t,
+    iconCls: o
+  } = e;
+  return {
+    [t]: {
+      [`${t}-small&-line, ${t}-small&-line ${t}-text ${o}`]: {
+        fontSize: e.fontSizeSM
+      }
+    }
+  };
+}, Cn = Me("Progress", (e) => {
+  const t = e.marginXXS / 2, o = Ne(e, {
+    progressLineRadius: 100,
+    progressInfoTextColor: e.colorText,
+    progressDefaultColor: e.colorInfo,
+    progressRemainingColor: e.colorFillSecondary,
+    progressStepMarginInlineEnd: t,
+    progressStepMinWidth: t,
+    progressActiveMotionDuration: "2.4s"
+  });
+  return [yn(o), bn(o), wn(o), $n(o)];
+});
+var Sn = function(e, t) {
+  var o = {};
+  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++)
+    t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]);
+  return o;
+};
+const xn = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AProgress",
+  inheritAttrs: !1,
+  props: ne(me(), {
+    type: "line",
+    percent: 0,
+    showInfo: !0,
+    // null for different theme definition
+    trailColor: null,
+    size: "default",
+    strokeLinecap: "round"
+  }),
+  slots: Object,
+  setup(e, t) {
+    let {
+      slots: o,
+      attrs: n
+    } = t;
+    const {
+      prefixCls: r,
+      direction: l
+    } = fe("progress", e), [i, a] = Cn(r);
+    process.env.NODE_ENV !== "production" && (J("successPercent" in e, "Progress", "`successPercent` is deprecated. Please use `success.percent` instead."), J("width" in e, "Progress", "`width` is deprecated. Please use `size` instead."));
+    const c = _(() => Array.isArray(e.strokeColor) ? e.strokeColor[0] : e.strokeColor), b = _(() => {
+      const {
+        percent: F = 0
+      } = e, s = pe(e);
+      return parseInt(s !== void 0 ? s.toString() : F.toString(), 10);
+    }), u = _(() => {
+      const {
+        status: F
+      } = e;
+      return !Jt.includes(F) && b.value >= 100 ? "success" : F || "normal";
+    }), O = _(() => {
+      const {
+        type: F,
+        showInfo: s,
+        size: v
+      } = e, R = r.value;
+      return {
+        [R]: !0,
+        [`${R}-inline-circle`]: F === "circle" && ve(v, "circle").width <= 20,
+        [`${R}-${F === "dashboard" && "circle" || F}`]: !0,
+        [`${R}-status-${u.value}`]: !0,
+        [`${R}-show-info`]: s,
+        [`${R}-${v}`]: v,
+        [`${R}-rtl`]: l.value === "rtl",
+        [a.value]: !0
+      };
+    }), y = _(() => typeof e.strokeColor == "string" || Array.isArray(e.strokeColor) ? e.strokeColor : void 0), g = () => {
+      const {
+        showInfo: F,
+        format: s,
+        type: v,
+        percent: R,
+        title: p
+      } = e, h = pe(e);
+      if (!F) return null;
+      let m;
+      const S = s || (o == null ? void 0 : o.format) || ((L) => `${L}%`), E = v === "line";
+      return s || o != null && o.format || u.value !== "exception" && u.value !== "success" ? m = S(ee(R), ee(h)) : u.value === "exception" ? m = E ? d(st, null, null) : d(at, null, null) : u.value === "success" && (m = E ? d(ct, null, null) : d(ut, null, null)), d("span", {
+        class: `${r.value}-text`,
+        title: p === void 0 && typeof m == "string" ? m : void 0
+      }, [m]);
+    };
+    return () => {
+      const {
+        type: F,
+        steps: s,
+        title: v
+      } = e, {
+        class: R
+      } = n, p = Sn(n, ["class"]), h = g();
+      let m;
+      return F === "line" ? m = s ? d(vn, D(D({}, e), {}, {
+        strokeColor: y.value,
+        prefixCls: r.value,
+        steps: s
+      }), {
+        default: () => [h]
+      }) : d(rn, D(D({}, e), {}, {
+        strokeColor: c.value,
+        prefixCls: r.value,
+        direction: l.value
+      }), {
+        default: () => [h]
+      }) : (F === "circle" || F === "dashboard") && (m = d(gn, D(D({}, e), {}, {
+        prefixCls: r.value,
+        strokeColor: c.value,
+        progressStatus: u.value
+      }), {
+        default: () => [h]
+      })), i(d("div", D(D({
+        role: "progressbar"
+      }, p), {}, {
+        class: [O.value, R],
+        title: v
+      }), [m]));
+    };
+  }
+}), In = dt(xn);
+function Pn(e, t) {
+  const o = `cannot ${e.method} ${e.action} ${t.status}'`, n = new Error(o);
+  return n.status = t.status, n.method = e.method, n.url = e.action, n;
+}
+function Te(e) {
+  const t = e.responseText || e.response;
+  if (!t)
+    return t;
+  try {
+    return JSON.parse(t);
+  } catch (o) {
+    return t;
+  }
+}
+function On(e) {
+  const t = new XMLHttpRequest();
+  e.onProgress && t.upload && (t.upload.onprogress = function(l) {
+    l.total > 0 && (l.percent = l.loaded / l.total * 100), e.onProgress(l);
+  });
+  const o = new FormData();
+  e.data && Object.keys(e.data).forEach((r) => {
+    const l = e.data[r];
+    if (Array.isArray(l)) {
+      l.forEach((i) => {
+        o.append(`${r}[]`, i);
+      });
+      return;
+    }
+    o.append(r, l);
+  }), e.file instanceof Blob ? o.append(e.filename, e.file, e.file.name) : o.append(e.filename, e.file), t.onerror = function(l) {
+    e.onError(l);
+  }, t.onload = function() {
+    return t.status < 200 || t.status >= 300 ? e.onError(Pn(e, t), Te(t)) : e.onSuccess(Te(t), t);
+  }, t.open(e.method, e.action, !0), e.withCredentials && "withCredentials" in t && (t.withCredentials = !0);
+  const n = e.headers || {};
+  return n["X-Requested-With"] !== null && t.setRequestHeader("X-Requested-With", "XMLHttpRequest"), Object.keys(n).forEach((r) => {
+    n[r] !== null && t.setRequestHeader(r, n[r]);
+  }), t.send(o), {
+    abort() {
+      t.abort();
+    }
+  };
+}
+const Dn = +/* @__PURE__ */ new Date();
+let Fn = 0;
+function ye() {
+  return `vc-upload-${Dn}-${++Fn}`;
+}
+const be = (e, t) => {
+  if (e && t) {
+    const o = Array.isArray(t) ? t : t.split(","), n = e.name || "", r = e.type || "", l = r.replace(/\/.*$/, "");
+    return o.some((i) => {
+      const a = i.trim();
+      if (/^\*(\/\*)?$/.test(i))
+        return !0;
+      if (a.charAt(0) === ".") {
+        const c = n.toLowerCase(), b = a.toLowerCase();
+        let u = [b];
+        return (b === ".jpg" || b === ".jpeg") && (u = [".jpg", ".jpeg"]), u.some((O) => c.endsWith(O));
+      }
+      return /\/\*$/.test(a) ? l === a.replace(/\/.*$/, "") : r === a ? !0 : /^\w+$/.test(a) ? (pt(!1, `Upload takes an invalidate 'accept' type '${a}'.Skip for check.`), !0) : !1;
+    });
+  }
+  return !0;
+};
+function Rn(e, t) {
+  const o = e.createReader();
+  let n = [];
+  function r() {
+    o.readEntries((l) => {
+      const i = Array.prototype.slice.apply(l);
+      n = n.concat(i), !i.length ? t(n) : r();
+    });
+  }
+  r();
+}
+const _n = (e, t, o) => {
+  const n = (r, l) => {
+    r.path = l || "", r.isFile ? r.file((i) => {
+      o(i) && (r.fullPath && !i.webkitRelativePath && (Object.defineProperties(i, {
+        webkitRelativePath: {
+          writable: !0
+        }
+      }), i.webkitRelativePath = r.fullPath.replace(/^\//, ""), Object.defineProperties(i, {
+        webkitRelativePath: {
+          writable: !1
+        }
+      })), t([i]));
+    }) : r.isDirectory && Rn(r, (i) => {
+      i.forEach((a) => {
+        n(a, `${l}${r.name}/`);
+      });
+    });
+  };
+  e.forEach((r) => {
+    n(r.webkitGetAsEntry());
+  });
+}, Ke = () => ({
+  capture: [Boolean, String],
+  multipart: {
+    type: Boolean,
+    default: void 0
+  },
+  name: String,
+  disabled: {
+    type: Boolean,
+    default: void 0
+  },
+  componentTag: String,
+  action: [String, Function],
+  method: String,
+  directory: {
+    type: Boolean,
+    default: void 0
+  },
+  data: [Object, Function],
+  headers: Object,
+  accept: String,
+  multiple: {
+    type: Boolean,
+    default: void 0
+  },
+  onBatchStart: Function,
+  onReject: Function,
+  onStart: Function,
+  onError: Function,
+  onSuccess: Function,
+  onProgress: Function,
+  beforeUpload: Function,
+  customRequest: Function,
+  withCredentials: {
+    type: Boolean,
+    default: void 0
+  },
+  openFileDialogOnClick: {
+    type: Boolean,
+    default: void 0
+  },
+  prefixCls: String,
+  id: String,
+  onMouseenter: Function,
+  onMouseleave: Function,
+  onClick: Function
+});
+var An = function(e, t, o, n) {
+  function r(l) {
+    return l instanceof o ? l : new o(function(i) {
+      i(l);
+    });
+  }
+  return new (o || (o = Promise))(function(l, i) {
+    function a(u) {
+      try {
+        b(n.next(u));
+      } catch (O) {
+        i(O);
+      }
+    }
+    function c(u) {
+      try {
+        b(n.throw(u));
+      } catch (O) {
+        i(O);
+      }
+    }
+    function b(u) {
+      u.done ? l(u.value) : r(u.value).then(a, c);
+    }
+    b((n = n.apply(e, t || [])).next());
+  });
+}, Tn = function(e, t) {
+  var o = {};
+  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++)
+    t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]);
+  return o;
+};
+const En = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AjaxUploader",
+  inheritAttrs: !1,
+  props: Ke(),
+  setup(e, t) {
+    let {
+      slots: o,
+      attrs: n,
+      expose: r
+    } = t;
+    const l = Q(ye()), i = {}, a = Q();
+    let c = !1;
+    const b = (p, h) => An(this, void 0, void 0, function* () {
+      const {
+        beforeUpload: m
+      } = e;
+      let S = p;
+      if (m) {
+        try {
+          S = yield m(p, h);
+        } catch ($) {
+          S = !1;
+        }
+        if (S === !1)
+          return {
+            origin: p,
+            parsedFile: null,
+            action: null,
+            data: null
+          };
+      }
+      const {
+        action: E
+      } = e;
+      let L;
+      typeof E == "function" ? L = yield E(p) : L = E;
+      const {
+        data: M
+      } = e;
+      let U;
+      typeof M == "function" ? U = yield M(p) : U = M;
+      const N = (
+        // string type is from legacy `transformFile`.
+        // Not sure if this will work since no related test case works with it
+        (typeof S == "object" || typeof S == "string") && S ? S : p
+      );
+      let f;
+      N instanceof File ? f = N : f = new File([N], p.name, {
+        type: p.type
+      });
+      const w = f;
+      return w.uid = p.uid, {
+        origin: p,
+        data: U,
+        parsedFile: w,
+        action: L
+      };
+    }), u = (p) => {
+      let {
+        data: h,
+        origin: m,
+        action: S,
+        parsedFile: E
+      } = p;
+      if (!c)
+        return;
+      const {
+        onStart: L,
+        customRequest: M,
+        name: U,
+        headers: N,
+        withCredentials: f,
+        method: w
+      } = e, {
+        uid: $
+      } = m, C = M || On, x = {
+        action: S,
+        filename: U,
+        data: h,
+        file: E,
+        headers: N,
+        withCredentials: f,
+        method: w || "post",
+        onProgress: (A) => {
+          const {
+            onProgress: j
+          } = e;
+          j == null || j(A, E);
+        },
+        onSuccess: (A, j) => {
+          const {
+            onSuccess: T
+          } = e;
+          T == null || T(A, E, j), delete i[$];
+        },
+        onError: (A, j) => {
+          const {
+            onError: T
+          } = e;
+          T == null || T(A, j, E), delete i[$];
+        }
+      };
+      L(m), i[$] = C(x);
+    }, O = () => {
+      l.value = ye();
+    }, y = (p) => {
+      if (p) {
+        const h = p.uid ? p.uid : p;
+        i[h] && i[h].abort && i[h].abort(), delete i[h];
+      } else
+        Object.keys(i).forEach((h) => {
+          i[h] && i[h].abort && i[h].abort(), delete i[h];
+        });
+    };
+    ge(() => {
+      c = !0;
+    }), He(() => {
+      c = !1, y();
+    });
+    const g = (p) => {
+      const h = [...p], m = h.map((S) => (S.uid = ye(), b(S, h)));
+      Promise.all(m).then((S) => {
+        const {
+          onBatchStart: E
+        } = e;
+        E == null || E(S.map((L) => {
+          let {
+            origin: M,
+            parsedFile: U
+          } = L;
+          return {
+            file: M,
+            parsedFile: U
+          };
+        })), S.filter((L) => L.parsedFile !== null).forEach((L) => {
+          u(L);
+        });
+      });
+    }, F = (p) => {
+      const {
+        accept: h,
+        directory: m
+      } = e, {
+        files: S
+      } = p.target, E = [...S].filter((L) => !m || be(L, h));
+      g(E), O();
+    }, s = (p) => {
+      const h = a.value;
+      if (!h)
+        return;
+      const {
+        onClick: m
+      } = e;
+      h.click(), m && m(p);
+    }, v = (p) => {
+      p.key === "Enter" && s(p);
+    }, R = (p) => {
+      const {
+        multiple: h
+      } = e;
+      if (p.preventDefault(), p.type !== "dragover")
+        if (e.directory)
+          _n(Array.prototype.slice.call(p.dataTransfer.items), g, (m) => be(m, e.accept));
+        else {
+          const m = Kt(Array.prototype.slice.call(p.dataTransfer.files), (L) => be(L, e.accept));
+          let S = m[0];
+          const E = m[1];
+          h === !1 && (S = S.slice(0, 1)), g(S), E.length && e.onReject && e.onReject(E);
+        }
+    };
+    return r({
+      abort: y
+    }), () => {
+      var p;
+      const {
+        componentTag: h,
+        prefixCls: m,
+        disabled: S,
+        id: E,
+        multiple: L,
+        accept: M,
+        capture: U,
+        directory: N,
+        openFileDialogOnClick: f,
+        onMouseenter: w,
+        onMouseleave: $
+      } = e, C = Tn(e, ["componentTag", "prefixCls", "disabled", "id", "multiple", "accept", "capture", "directory", "openFileDialogOnClick", "onMouseenter", "onMouseleave"]), x = {
+        [m]: !0,
+        [`${m}-disabled`]: S,
+        [n.class]: !!n.class
+      }, A = N ? {
+        directory: "directory",
+        webkitdirectory: "webkitdirectory"
+      } : {};
+      return d(h, D(D({}, S ? {} : {
+        onClick: f ? s : () => {
+        },
+        onKeydown: f ? v : () => {
+        },
+        onMouseenter: w,
+        onMouseleave: $,
+        onDrop: R,
+        onDragover: R,
+        tabindex: "0"
+      }), {}, {
+        class: x,
+        role: "button",
+        style: n.style
+      }), {
+        default: () => [d("input", D(D(D({}, Ut(C, {
+          aria: !0,
+          data: !0
+        })), {}, {
+          id: E,
+          type: "file",
+          ref: a,
+          onClick: (T) => T.stopPropagation(),
+          onCancel: (T) => T.stopPropagation(),
+          key: l.value,
+          style: {
+            display: "none"
+          },
+          accept: M
+        }, A), {}, {
+          multiple: L,
+          onChange: F
+        }, U != null ? {
+          capture: U
+        } : {}), null), (p = o.default) === null || p === void 0 ? void 0 : p.call(o)]
+      });
+    };
+  }
+});
+function we() {
+}
+const Ee = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "Upload",
+  inheritAttrs: !1,
+  props: ne(Ke(), {
+    componentTag: "span",
+    prefixCls: "rc-upload",
+    data: {},
+    headers: {},
+    name: "file",
+    multipart: !1,
+    onStart: we,
+    onError: we,
+    onSuccess: we,
+    multiple: !1,
+    beforeUpload: null,
+    customRequest: null,
+    withCredentials: !1,
+    openFileDialogOnClick: !0
+  }),
+  setup(e, t) {
+    let {
+      slots: o,
+      attrs: n,
+      expose: r
+    } = t;
+    const l = Q();
+    return r({
+      abort: (a) => {
+        var c;
+        (c = l.value) === null || c === void 0 || c.abort(a);
+      }
+    }), () => d(En, D(D(D({}, e), n), {}, {
+      ref: l
+    }), o);
+  }
+});
+function Ye() {
+  return {
+    capture: Z([Boolean, String]),
+    type: B(),
+    name: String,
+    defaultFileList: de(),
+    fileList: de(),
+    action: Z([String, Function]),
+    directory: W(),
+    data: Z([Object, Function]),
+    method: B(),
+    headers: q(),
+    showUploadList: Z([Boolean, Object]),
+    multiple: W(),
+    accept: String,
+    beforeUpload: I(),
+    onChange: I(),
+    "onUpdate:fileList": I(),
+    onDrop: I(),
+    listType: B(),
+    onPreview: I(),
+    onDownload: I(),
+    onReject: I(),
+    onRemove: I(),
+    /** @deprecated Please use `onRemove` directly */
+    remove: I(),
+    supportServerRender: W(),
+    disabled: W(),
+    prefixCls: String,
+    customRequest: I(),
+    withCredentials: W(),
+    openFileDialogOnClick: W(),
+    locale: q(),
+    id: String,
+    previewFile: I(),
+    /** @deprecated Please use `beforeUpload` directly */
+    transformFile: I(),
+    iconRender: I(),
+    isImageUrl: I(),
+    progress: q(),
+    itemRender: I(),
+    /** Config max count of `fileList`. Will replace current one when `maxCount` is 1 */
+    maxCount: Number,
+    height: Z([Number, String]),
+    removeIcon: I(),
+    downloadIcon: I(),
+    previewIcon: I()
+  };
+}
+function Ln() {
+  return {
+    listType: B(),
+    onPreview: I(),
+    onDownload: I(),
+    onRemove: I(),
+    items: de(),
+    progress: q(),
+    prefixCls: B(),
+    showRemoveIcon: W(),
+    showDownloadIcon: W(),
+    showPreviewIcon: W(),
+    removeIcon: I(),
+    downloadIcon: I(),
+    previewIcon: I(),
+    locale: q(void 0),
+    previewFile: I(),
+    iconRender: I(),
+    isImageUrl: I(),
+    appendAction: I(),
+    appendActionVisible: W(),
+    itemRender: I()
+  };
+}
+function se(e) {
+  return P(P({}, e), {
+    lastModified: e.lastModified,
+    lastModifiedDate: e.lastModifiedDate,
+    name: e.name,
+    size: e.size,
+    type: e.type,
+    uid: e.uid,
+    percent: 0,
+    originFileObj: e
+  });
+}
+function ae(e, t) {
+  const o = [...t], n = o.findIndex((r) => {
+    let {
+      uid: l
+    } = r;
+    return l === e.uid;
+  });
+  return n === -1 ? o.push(e) : o[n] = e, o;
+}
+function $e(e, t) {
+  const o = e.uid !== void 0 ? "uid" : "name";
+  return t.filter((n) => n[o] === e[o])[0];
+}
+function jn(e, t) {
+  const o = e.uid !== void 0 ? "uid" : "name", n = t.filter((r) => r[o] !== e[o]);
+  return n.length === t.length ? null : n;
+}
+const Un = function() {
+  const t = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "").split("/"), n = t[t.length - 1].split(/#|\?/)[0];
+  return (/\.[^./\\]*$/.exec(n) || [""])[0];
+}, Je = (e) => e.indexOf("image/") === 0, kn = (e) => {
+  if (e.type && !e.thumbUrl)
+    return Je(e.type);
+  const t = e.thumbUrl || e.url || "", o = Un(t);
+  return /^data:image\//.test(t) || /(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(o) ? !0 : !(/^data:/.test(t) || o);
+}, Y = 200;
+function Mn(e) {
+  return new Promise((t) => {
+    if (!e.type || !Je(e.type)) {
+      t("");
+      return;
+    }
+    const o = document.createElement("canvas");
+    o.width = Y, o.height = Y, o.style.cssText = `position: fixed; left: 0; top: 0; width: ${Y}px; height: ${Y}px; z-index: 9999; display: none;`, document.body.appendChild(o);
+    const n = o.getContext("2d"), r = new Image();
+    if (r.onload = () => {
+      const {
+        width: l,
+        height: i
+      } = r;
+      let a = Y, c = Y, b = 0, u = 0;
+      l > i ? (c = i * (Y / l), u = -(c - a) / 2) : (a = l * (Y / i), b = -(a - c) / 2), n.drawImage(r, b, u, a, c);
+      const O = o.toDataURL();
+      document.body.removeChild(o), t(O);
+    }, r.crossOrigin = "anonymous", e.type.startsWith("image/svg+xml")) {
+      const l = new FileReader();
+      l.addEventListener("load", () => {
+        l.result && (r.src = l.result);
+      }), l.readAsDataURL(e);
+    } else
+      r.src = window.URL.createObjectURL(e);
+  });
+}
+const Nn = () => ({
+  prefixCls: String,
+  locale: q(void 0),
+  file: q(),
+  items: de(),
+  listType: B(),
+  isImgUrl: I(),
+  showRemoveIcon: W(),
+  showDownloadIcon: W(),
+  showPreviewIcon: W(),
+  removeIcon: I(),
+  downloadIcon: I(),
+  previewIcon: I(),
+  iconRender: I(),
+  actionIconRender: I(),
+  itemRender: I(),
+  onPreview: I(),
+  onClose: I(),
+  onDownload: I(),
+  progress: q()
+}), Wn = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ListItem",
+  inheritAttrs: !1,
+  props: Nn(),
+  setup(e, t) {
+    let {
+      slots: o,
+      attrs: n
+    } = t;
+    var r;
+    const l = le(!1), i = le();
+    ge(() => {
+      i.value = setTimeout(() => {
+        l.value = !0;
+      }, 300);
+    }), He(() => {
+      clearTimeout(i.value);
+    });
+    const a = le((r = e.file) === null || r === void 0 ? void 0 : r.status);
+    Ge(() => {
+      var u;
+      return (u = e.file) === null || u === void 0 ? void 0 : u.status;
+    }, (u) => {
+      u !== "removed" && (a.value = u);
+    });
+    const {
+      rootPrefixCls: c
+    } = fe("upload", e), b = _(() => ft(`${c.value}-fade`));
+    return () => {
+      var u, O;
+      const {
+        prefixCls: y,
+        locale: g,
+        listType: F,
+        file: s,
+        items: v,
+        progress: R,
+        iconRender: p = o.iconRender,
+        actionIconRender: h = o.actionIconRender,
+        itemRender: m = o.itemRender,
+        isImgUrl: S,
+        showPreviewIcon: E,
+        showRemoveIcon: L,
+        showDownloadIcon: M,
+        previewIcon: U = o.previewIcon,
+        removeIcon: N = o.removeIcon,
+        downloadIcon: f = o.downloadIcon,
+        onPreview: w,
+        onDownload: $,
+        onClose: C
+      } = e, {
+        class: x,
+        style: A
+      } = n, j = p({
+        file: s
+      });
+      let T = d("div", {
+        class: `${y}-text-icon`
+      }, [j]);
+      if (F === "picture" || F === "picture-card")
+        if (a.value === "uploading" || !s.thumbUrl && !s.url) {
+          const X = {
+            [`${y}-list-item-thumbnail`]: !0,
+            [`${y}-list-item-file`]: a.value !== "uploading"
+          };
+          T = d("div", {
+            class: X
+          }, [j]);
+        } else {
+          const X = S != null && S(s) ? d("img", {
+            src: s.thumbUrl || s.url,
+            alt: s.name,
+            class: `${y}-list-item-image`,
+            crossorigin: s.crossOrigin
+          }, null) : j, nt = {
+            [`${y}-list-item-thumbnail`]: !0,
+            [`${y}-list-item-file`]: S && !S(s)
+          };
+          T = d("a", {
+            class: nt,
+            onClick: (ot) => w(s, ot),
+            href: s.url || s.thumbUrl,
+            target: "_blank",
+            rel: "noopener noreferrer"
+          }, [X]);
+        }
+      const k = {
+        [`${y}-list-item`]: !0,
+        [`${y}-list-item-${a.value}`]: !0
+      }, V = typeof s.linkProps == "string" ? JSON.parse(s.linkProps) : s.linkProps, te = L ? h({
+        customIcon: N ? N({
+          file: s
+        }) : d(gt, null, null),
+        callback: () => C(s),
+        prefixCls: y,
+        title: g.removeFile
+      }) : null, H = M && a.value === "done" ? h({
+        customIcon: f ? f({
+          file: s
+        }) : d(mt, null, null),
+        callback: () => $(s),
+        prefixCls: y,
+        title: g.downloadFile
+      }) : null, G = F !== "picture-card" && d("span", {
+        key: "download-delete",
+        class: [`${y}-list-item-actions`, {
+          picture: F === "picture"
+        }]
+      }, [H, te]), K = `${y}-list-item-name`, oe = s.url ? [d("a", D(D({
+        key: "view",
+        target: "_blank",
+        rel: "noopener noreferrer",
+        class: K,
+        title: s.name
+      }, V), {}, {
+        href: s.url,
+        onClick: (X) => w(s, X)
+      }), [s.name]), G] : [d("span", {
+        key: "view",
+        class: K,
+        onClick: (X) => w(s, X),
+        title: s.name
+      }, [s.name]), G], he = {
+        pointerEvents: "none",
+        opacity: 0.5
+      }, Qe = E ? d("a", {
+        href: s.url || s.thumbUrl,
+        target: "_blank",
+        rel: "noopener noreferrer",
+        style: s.url || s.thumbUrl ? void 0 : he,
+        onClick: (X) => w(s, X),
+        title: g.previewFile
+      }, [U ? U({
+        file: s
+      }) : d(vt, null, null)]) : null, Ze = F === "picture-card" && a.value !== "uploading" && d("span", {
+        class: `${y}-list-item-actions`
+      }, [Qe, a.value === "done" && H, te]), Ie = d("div", {
+        class: k
+      }, [T, oe, Ze, l.value && d(At, b.value, {
+        default: () => [qe(d("div", {
+          class: `${y}-list-item-progress`
+        }, ["percent" in s ? d(In, D(D({}, R), {}, {
+          type: "line",
+          percent: s.percent
+        }), null) : null]), [[Ve, a.value === "uploading"]])]
+      })]), et = {
+        [`${y}-list-item-container`]: !0,
+        [`${x}`]: !!x
+      }, tt = s.response && typeof s.response == "string" ? s.response : ((u = s.error) === null || u === void 0 ? void 0 : u.statusText) || ((O = s.error) === null || O === void 0 ? void 0 : O.message) || g.uploadError, Pe = a.value === "error" ? d(ke, {
+        title: tt,
+        getPopupContainer: (X) => X.parentNode
+      }, {
+        default: () => [Ie]
+      }) : Ie;
+      return d("div", {
+        class: et,
+        style: A
+      }, [m ? m({
+        originNode: Pe,
+        file: s,
+        fileList: v,
+        actions: {
+          download: $.bind(null, s),
+          preview: w.bind(null, s),
+          remove: C.bind(null, s)
+        }
+      }) : Pe]);
+    };
+  }
+}), Bn = (e, t) => {
+  let {
+    slots: o
+  } = t;
+  var n;
+  return bt((n = o.default) === null || n === void 0 ? void 0 : n.call(o))[0];
+}, Xn = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AUploadList",
+  props: ne(Ln(), {
+    listType: "text",
+    progress: {
+      strokeWidth: 2,
+      showInfo: !1
+    },
+    showRemoveIcon: !0,
+    showDownloadIcon: !1,
+    showPreviewIcon: !0,
+    previewFile: Mn,
+    isImageUrl: kn,
+    items: [],
+    appendActionVisible: !0
+  }),
+  setup(e, t) {
+    let {
+      slots: o,
+      expose: n
+    } = t;
+    const r = le(!1);
+    ge(() => {
+      r.value == !0;
+    });
+    const l = le([]);
+    Ge(() => e.items, function() {
+      let s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
+      l.value = s.slice();
+    }, {
+      immediate: !0,
+      deep: !0
+    }), Tt(() => {
+      if (e.listType !== "picture" && e.listType !== "picture-card")
+        return;
+      let s = !1;
+      (e.items || []).forEach((v, R) => {
+        typeof document == "undefined" || typeof window == "undefined" || !window.FileReader || !window.File || !(v.originFileObj instanceof File || v.originFileObj instanceof Blob) || v.thumbUrl !== void 0 || (v.thumbUrl = "", e.previewFile && e.previewFile(v.originFileObj).then((p) => {
+          const h = p || "";
+          h !== v.thumbUrl && (l.value[R].thumbUrl = h, s = !0);
+        }));
+      }), s && Et(l);
+    });
+    const i = (s, v) => {
+      if (e.onPreview)
+        return v == null || v.preventDefault(), e.onPreview(s);
+    }, a = (s) => {
+      typeof e.onDownload == "function" ? e.onDownload(s) : s.url && window.open(s.url);
+    }, c = (s) => {
+      var v;
+      (v = e.onRemove) === null || v === void 0 || v.call(e, s);
+    }, b = (s) => {
+      let {
+        file: v
+      } = s;
+      const R = e.iconRender || o.iconRender;
+      if (R)
+        return R({
+          file: v,
+          listType: e.listType
+        });
+      const p = v.status === "uploading", h = e.isImageUrl && e.isImageUrl(v) ? d(wt, null, null) : d($t, null, null);
+      let m = p ? d(Oe, null, null) : d(Ct, null, null);
+      return e.listType === "picture" ? m = p ? d(Oe, null, null) : h : e.listType === "picture-card" && (m = p ? e.locale.uploading : h), m;
+    }, u = (s) => {
+      const {
+        customIcon: v,
+        callback: R,
+        prefixCls: p,
+        title: h
+      } = s, m = {
+        type: "text",
+        size: "small",
+        title: h,
+        onClick: () => {
+          R();
+        },
+        class: `${p}-list-item-action`
+      };
+      return St(v) ? d(De, m, {
+        icon: () => v
+      }) : d(De, m, {
+        default: () => [d("span", null, [v])]
+      });
+    };
+    n({
+      handlePreview: i,
+      handleDownload: a
+    });
+    const {
+      prefixCls: O,
+      rootPrefixCls: y
+    } = fe("upload", e), g = _(() => ({
+      [`${O.value}-list`]: !0,
+      [`${O.value}-list-${e.listType}`]: !0
+    })), F = _(() => {
+      const s = P({}, ht(`${y.value}-motion-collapse`));
+      delete s.onAfterAppear, delete s.onAfterEnter, delete s.onAfterLeave;
+      const v = P(P({}, yt(`${O.value}-${e.listType === "picture-card" ? "animate-inline" : "animate"}`)), {
+        class: g.value,
+        appear: r.value
+      });
+      return e.listType !== "picture-card" ? P(P({}, s), v) : v;
+    });
+    return () => {
+      const {
+        listType: s,
+        locale: v,
+        isImageUrl: R,
+        showPreviewIcon: p,
+        showRemoveIcon: h,
+        showDownloadIcon: m,
+        removeIcon: S,
+        previewIcon: E,
+        downloadIcon: L,
+        progress: M,
+        appendAction: U,
+        itemRender: N,
+        appendActionVisible: f
+      } = e, w = U == null ? void 0 : U(), $ = l.value;
+      return d(Lt, D(D({}, F.value), {}, {
+        tag: "div"
+      }), {
+        default: () => [$.map((C) => {
+          const {
+            uid: x
+          } = C;
+          return d(Wn, {
+            key: x,
+            locale: v,
+            prefixCls: O.value,
+            file: C,
+            items: $,
+            progress: M,
+            listType: s,
+            isImgUrl: R,
+            showPreviewIcon: p,
+            showRemoveIcon: h,
+            showDownloadIcon: m,
+            onPreview: i,
+            onDownload: a,
+            onClose: c,
+            removeIcon: S,
+            previewIcon: E,
+            downloadIcon: L,
+            itemRender: N
+          }, P(P({}, o), {
+            iconRender: b,
+            actionIconRender: u
+          }));
+        }), U ? qe(d(Bn, {
+          key: "__ant_upload_appendAction"
+        }, {
+          default: () => w
+        }), [[Ve, !!f]]) : null]
+      });
+    };
+  }
+}), zn = (e) => {
+  const {
+    componentCls: t,
+    iconCls: o
+  } = e;
+  return {
+    [`${t}-wrapper`]: {
+      [`${t}-drag`]: {
+        position: "relative",
+        width: "100%",
+        height: "100%",
+        textAlign: "center",
+        background: e.colorFillAlter,
+        border: `${e.lineWidth}px dashed ${e.colorBorder}`,
+        borderRadius: e.borderRadiusLG,
+        cursor: "pointer",
+        transition: `border-color ${e.motionDurationSlow}`,
+        [t]: {
+          padding: `${e.padding}px 0`
+        },
+        [`${t}-btn`]: {
+          display: "table",
+          width: "100%",
+          height: "100%",
+          outline: "none"
+        },
+        [`${t}-drag-container`]: {
+          display: "table-cell",
+          verticalAlign: "middle"
+        },
+        [`&:not(${t}-disabled):hover`]: {
+          borderColor: e.colorPrimaryHover
+        },
+        [`p${t}-drag-icon`]: {
+          marginBottom: e.margin,
+          [o]: {
+            color: e.colorPrimary,
+            fontSize: e.uploadThumbnailSize
+          }
+        },
+        [`p${t}-text`]: {
+          margin: `0 0 ${e.marginXXS}px`,
+          color: e.colorTextHeading,
+          fontSize: e.fontSizeLG
+        },
+        [`p${t}-hint`]: {
+          color: e.colorTextDescription,
+          fontSize: e.fontSize
+        },
+        // ===================== Disabled =====================
+        [`&${t}-disabled`]: {
+          cursor: "not-allowed",
+          [`p${t}-drag-icon ${o},
+            p${t}-text,
+            p${t}-hint
+          `]: {
+            color: e.colorTextDisabled
+          }
+        }
+      }
+    }
+  };
+}, Hn = (e) => {
+  const {
+    componentCls: t,
+    antCls: o,
+    iconCls: n,
+    fontSize: r,
+    lineHeight: l
+  } = e, i = `${t}-list-item`, a = `${i}-actions`, c = `${i}-action`, b = Math.round(r * l);
+  return {
+    [`${t}-wrapper`]: {
+      [`${t}-list`]: P(P({}, Be()), {
+        lineHeight: e.lineHeight,
+        [i]: {
+          position: "relative",
+          height: e.lineHeight * r,
+          marginTop: e.marginXS,
+          fontSize: r,
+          display: "flex",
+          alignItems: "center",
+          transition: `background-color ${e.motionDurationSlow}`,
+          "&:hover": {
+            backgroundColor: e.controlItemBgHover
+          },
+          [`${i}-name`]: P(P({}, Xe), {
+            padding: `0 ${e.paddingXS}px`,
+            lineHeight: l,
+            flex: "auto",
+            transition: `all ${e.motionDurationSlow}`
+          }),
+          [a]: {
+            [c]: {
+              opacity: 0
+            },
+            [`${c}${o}-btn-sm`]: {
+              height: b,
+              border: 0,
+              lineHeight: 1,
+              // FIXME: should not override small button
+              "> span": {
+                transform: "scale(1)"
+              }
+            },
+            [`
+              ${c}:focus,
+              &.picture ${c}
+            `]: {
+              opacity: 1
+            },
+            [n]: {
+              color: e.colorTextDescription,
+              transition: `all ${e.motionDurationSlow}`
+            },
+            [`&:hover ${n}`]: {
+              color: e.colorText
+            }
+          },
+          [`${t}-icon ${n}`]: {
+            color: e.colorTextDescription,
+            fontSize: r
+          },
+          [`${i}-progress`]: {
+            position: "absolute",
+            bottom: -e.uploadProgressOffset,
+            width: "100%",
+            paddingInlineStart: r + e.paddingXS,
+            fontSize: r,
+            lineHeight: 0,
+            pointerEvents: "none",
+            "> div": {
+              margin: 0
+            }
+          }
+        },
+        [`${i}:hover ${c}`]: {
+          opacity: 1,
+          color: e.colorText
+        },
+        [`${i}-error`]: {
+          color: e.colorError,
+          [`${i}-name, ${t}-icon ${n}`]: {
+            color: e.colorError
+          },
+          [a]: {
+            [`${n}, ${n}:hover`]: {
+              color: e.colorError
+            },
+            [c]: {
+              opacity: 1
+            }
+          }
+        },
+        [`${t}-list-item-container`]: {
+          transition: `opacity ${e.motionDurationSlow}, height ${e.motionDurationSlow}`,
+          // For smooth removing animation
+          "&::before": {
+            display: "table",
+            width: 0,
+            height: 0,
+            content: '""'
+          }
+        }
+      })
+    }
+  };
+}, Le = new xe("uploadAnimateInlineIn", {
+  from: {
+    width: 0,
+    height: 0,
+    margin: 0,
+    padding: 0,
+    opacity: 0
+  }
+}), je = new xe("uploadAnimateInlineOut", {
+  to: {
+    width: 0,
+    height: 0,
+    margin: 0,
+    padding: 0,
+    opacity: 0
+  }
+}), Gn = (e) => {
+  const {
+    componentCls: t
+  } = e, o = `${t}-animate-inline`;
+  return [{
+    [`${t}-wrapper`]: {
+      [`${o}-appear, ${o}-enter, ${o}-leave`]: {
+        animationDuration: e.motionDurationSlow,
+        animationTimingFunction: e.motionEaseInOutCirc,
+        animationFillMode: "forwards"
+      },
+      [`${o}-appear, ${o}-enter`]: {
+        animationName: Le
+      },
+      [`${o}-leave`]: {
+        animationName: je
+      }
+    }
+  }, Le, je];
+}, qn = (e) => {
+  const {
+    componentCls: t,
+    iconCls: o,
+    uploadThumbnailSize: n,
+    uploadProgressOffset: r
+  } = e, l = `${t}-list`, i = `${l}-item`;
+  return {
+    [`${t}-wrapper`]: {
+      // ${listCls} 增加优先级
+      [`${l}${l}-picture, ${l}${l}-picture-card`]: {
+        [i]: {
+          position: "relative",
+          height: n + e.lineWidth * 2 + e.paddingXS * 2,
+          padding: e.paddingXS,
+          border: `${e.lineWidth}px ${e.lineType} ${e.colorBorder}`,
+          borderRadius: e.borderRadiusLG,
+          "&:hover": {
+            background: "transparent"
+          },
+          [`${i}-thumbnail`]: P(P({}, Xe), {
+            width: n,
+            height: n,
+            lineHeight: `${n + e.paddingSM}px`,
+            textAlign: "center",
+            flex: "none",
+            [o]: {
+              fontSize: e.fontSizeHeading2,
+              color: e.colorPrimary
+            },
+            img: {
+              display: "block",
+              width: "100%",
+              height: "100%",
+              overflow: "hidden"
+            }
+          }),
+          [`${i}-progress`]: {
+            bottom: r,
+            width: `calc(100% - ${e.paddingSM * 2}px)`,
+            marginTop: 0,
+            paddingInlineStart: n + e.paddingXS
+          }
+        },
+        [`${i}-error`]: {
+          borderColor: e.colorError,
+          // Adjust the color of the error icon : https://github.com/ant-design/ant-design/pull/24160
+          [`${i}-thumbnail ${o}`]: {
+            "svg path[fill='#e6f7ff']": {
+              fill: e.colorErrorBg
+            },
+            "svg path[fill='#1890ff']": {
+              fill: e.colorError
+            }
+          }
+        },
+        [`${i}-uploading`]: {
+          borderStyle: "dashed",
+          [`${i}-name`]: {
+            marginBottom: r
+          }
+        }
+      }
+    }
+  };
+}, Vn = (e) => {
+  const {
+    componentCls: t,
+    iconCls: o,
+    fontSizeLG: n,
+    colorTextLightSolid: r
+  } = e, l = `${t}-list`, i = `${l}-item`, a = e.uploadPicCardSize;
+  return {
+    [`${t}-wrapper${t}-picture-card-wrapper`]: P(P({}, Be()), {
+      display: "inline-block",
+      width: "100%",
+      [`${t}${t}-select`]: {
+        width: a,
+        height: a,
+        marginInlineEnd: e.marginXS,
+        marginBottom: e.marginXS,
+        textAlign: "center",
+        verticalAlign: "top",
+        backgroundColor: e.colorFillAlter,
+        border: `${e.lineWidth}px dashed ${e.colorBorder}`,
+        borderRadius: e.borderRadiusLG,
+        cursor: "pointer",
+        transition: `border-color ${e.motionDurationSlow}`,
+        [`> ${t}`]: {
+          display: "flex",
+          alignItems: "center",
+          justifyContent: "center",
+          height: "100%",
+          textAlign: "center"
+        },
+        [`&:not(${t}-disabled):hover`]: {
+          borderColor: e.colorPrimary
+        }
+      },
+      // list
+      [`${l}${l}-picture-card`]: {
+        [`${l}-item-container`]: {
+          display: "inline-block",
+          width: a,
+          height: a,
+          marginBlock: `0 ${e.marginXS}px`,
+          marginInline: `0 ${e.marginXS}px`,
+          verticalAlign: "top"
+        },
+        "&::after": {
+          display: "none"
+        },
+        [i]: {
+          height: "100%",
+          margin: 0,
+          "&::before": {
+            position: "absolute",
+            zIndex: 1,
+            width: `calc(100% - ${e.paddingXS * 2}px)`,
+            height: `calc(100% - ${e.paddingXS * 2}px)`,
+            backgroundColor: e.colorBgMask,
+            opacity: 0,
+            transition: `all ${e.motionDurationSlow}`,
+            content: '" "'
+          }
+        },
+        [`${i}:hover`]: {
+          [`&::before, ${i}-actions`]: {
+            opacity: 1
+          }
+        },
+        [`${i}-actions`]: {
+          position: "absolute",
+          insetInlineStart: 0,
+          zIndex: 10,
+          width: "100%",
+          whiteSpace: "nowrap",
+          textAlign: "center",
+          opacity: 0,
+          transition: `all ${e.motionDurationSlow}`,
+          [`${o}-eye, ${o}-download, ${o}-delete`]: {
+            zIndex: 10,
+            width: n,
+            margin: `0 ${e.marginXXS}px`,
+            fontSize: n,
+            cursor: "pointer",
+            transition: `all ${e.motionDurationSlow}`
+          }
+        },
+        [`${i}-actions, ${i}-actions:hover`]: {
+          [`${o}-eye, ${o}-download, ${o}-delete`]: {
+            color: new xt(r).setAlpha(0.65).toRgbString(),
+            "&:hover": {
+              color: r
+            }
+          }
+        },
+        [`${i}-thumbnail, ${i}-thumbnail img`]: {
+          position: "static",
+          display: "block",
+          width: "100%",
+          height: "100%",
+          objectFit: "contain"
+        },
+        [`${i}-name`]: {
+          display: "none",
+          textAlign: "center"
+        },
+        [`${i}-file + ${i}-name`]: {
+          position: "absolute",
+          bottom: e.margin,
+          display: "block",
+          width: `calc(100% - ${e.paddingXS * 2}px)`
+        },
+        [`${i}-uploading`]: {
+          [`&${i}`]: {
+            backgroundColor: e.colorFillAlter
+          },
+          [`&::before, ${o}-eye, ${o}-download, ${o}-delete`]: {
+            display: "none"
+          }
+        },
+        [`${i}-progress`]: {
+          bottom: e.marginXL,
+          width: `calc(100% - ${e.paddingXS * 2}px)`,
+          paddingInlineStart: 0
+        }
+      }
+    })
+  };
+}, Kn = (e) => {
+  const {
+    componentCls: t
+  } = e;
+  return {
+    [`${t}-rtl`]: {
+      direction: "rtl"
+    }
+  };
+}, Yn = (e) => {
+  const {
+    componentCls: t,
+    colorTextDisabled: o
+  } = e;
+  return {
+    [`${t}-wrapper`]: P(P({}, We(e)), {
+      [t]: {
+        outline: 0,
+        "input[type='file']": {
+          cursor: "pointer"
+        }
+      },
+      [`${t}-select`]: {
+        display: "inline-block"
+      },
+      [`${t}-disabled`]: {
+        color: o,
+        cursor: "not-allowed"
+      }
+    })
+  };
+}, Jn = Me("Upload", (e) => {
+  const {
+    fontSizeHeading3: t,
+    fontSize: o,
+    lineHeight: n,
+    lineWidth: r,
+    controlHeightLG: l
+  } = e, i = Math.round(o * n), a = Ne(e, {
+    uploadThumbnailSize: t * 2,
+    uploadProgressOffset: i / 2 + r,
+    uploadPicCardSize: l * 2.55
+  });
+  return [Yn(a), zn(a), qn(a), Vn(a), Hn(a), Gn(a), Kn(a), It(a)];
+});
+var Qn = function(e, t, o, n) {
+  function r(l) {
+    return l instanceof o ? l : new o(function(i) {
+      i(l);
+    });
+  }
+  return new (o || (o = Promise))(function(l, i) {
+    function a(u) {
+      try {
+        b(n.next(u));
+      } catch (O) {
+        i(O);
+      }
+    }
+    function c(u) {
+      try {
+        b(n.throw(u));
+      } catch (O) {
+        i(O);
+      }
+    }
+    function b(u) {
+      u.done ? l(u.value) : r(u.value).then(a, c);
+    }
+    b((n = n.apply(e, t || [])).next());
+  });
+}, Zn = function(e, t) {
+  var o = {};
+  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++)
+    t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]);
+  return o;
+};
+const ie = `__LIST_IGNORE_${Date.now()}__`, ce = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AUpload",
+  inheritAttrs: !1,
+  props: ne(Ye(), {
+    type: "select",
+    multiple: !1,
+    action: "",
+    data: {},
+    accept: "",
+    showUploadList: !0,
+    listType: "text",
+    supportServerRender: !0
+  }),
+  setup(e, t) {
+    let {
+      slots: o,
+      attrs: n,
+      expose: r
+    } = t;
+    const l = Nt(), {
+      prefixCls: i,
+      direction: a,
+      disabled: c
+    } = fe("upload", e), [b, u] = Jn(i), O = Pt(), y = _(() => {
+      var f;
+      return (f = c.value) !== null && f !== void 0 ? f : O.value;
+    }), [g, F] = Mt(e.defaultFileList || [], {
+      value: jt(e, "fileList"),
+      postState: (f) => {
+        const w = Date.now();
+        return (f != null ? f : []).map(($, C) => (!$.uid && !Object.isFrozen($) && ($.uid = `__AUTO__${w}_${C}__`), $));
+      }
+    }), s = Q("drop"), v = Q(null);
+    ge(() => {
+      J(e.fileList !== void 0 || n.value === void 0, "Upload", "`value` is not a valid prop, do you mean `fileList`?"), J(e.transformFile === void 0, "Upload", "`transformFile` is deprecated. Please use `beforeUpload` directly."), J(e.remove === void 0, "Upload", "`remove` props is deprecated. Please use `remove` event.");
+    });
+    const R = (f, w, $) => {
+      var C, x;
+      let A = [...w];
+      e.maxCount === 1 ? A = A.slice(-1) : e.maxCount && (A = A.slice(0, e.maxCount)), F(A);
+      const j = {
+        file: f,
+        fileList: A
+      };
+      $ && (j.event = $), (C = e["onUpdate:fileList"]) === null || C === void 0 || C.call(e, j.fileList), (x = e.onChange) === null || x === void 0 || x.call(e, j), l.onFieldChange();
+    }, p = (f, w) => Qn(this, void 0, void 0, function* () {
+      const {
+        beforeUpload: $,
+        transformFile: C
+      } = e;
+      let x = f;
+      if ($) {
+        const A = yield $(f, w);
+        if (A === !1)
+          return !1;
+        if (delete f[ie], A === ie)
+          return Object.defineProperty(f, ie, {
+            value: !0,
+            configurable: !0
+          }), !1;
+        typeof A == "object" && A && (x = A);
+      }
+      return C && (x = yield C(x)), x;
+    }), h = (f) => {
+      const w = f.filter((x) => !x.file[ie]);
+      if (!w.length)
+        return;
+      const $ = w.map((x) => se(x.file));
+      let C = [...g.value];
+      $.forEach((x) => {
+        C = ae(x, C);
+      }), $.forEach((x, A) => {
+        let j = x;
+        if (w[A].parsedFile)
+          x.status = "uploading";
+        else {
+          const {
+            originFileObj: T
+          } = x;
+          let k;
+          try {
+            k = new File([T], T.name, {
+              type: T.type
+            });
+          } catch (V) {
+            k = new Blob([T], {
+              type: T.type
+            }), k.name = T.name, k.lastModifiedDate = /* @__PURE__ */ new Date(), k.lastModified = (/* @__PURE__ */ new Date()).getTime();
+          }
+          k.uid = x.uid, j = k;
+        }
+        R(j, C);
+      });
+    }, m = (f, w, $) => {
+      try {
+        typeof f == "string" && (f = JSON.parse(f));
+      } catch (A) {
+      }
+      if (!$e(w, g.value))
+        return;
+      const C = se(w);
+      C.status = "done", C.percent = 100, C.response = f, C.xhr = $;
+      const x = ae(C, g.value);
+      R(C, x);
+    }, S = (f, w) => {
+      if (!$e(w, g.value))
+        return;
+      const $ = se(w);
+      $.status = "uploading", $.percent = f.percent;
+      const C = ae($, g.value);
+      R($, C, f);
+    }, E = (f, w, $) => {
+      if (!$e($, g.value))
+        return;
+      const C = se($);
+      C.error = f, C.response = w, C.status = "error";
+      const x = ae(C, g.value);
+      R(C, x);
+    }, L = (f) => {
+      let w;
+      const $ = e.onRemove || e.remove;
+      Promise.resolve(typeof $ == "function" ? $(f) : $).then((C) => {
+        var x, A;
+        if (C === !1)
+          return;
+        const j = jn(f, g.value);
+        j && (w = P(P({}, f), {
+          status: "removed"
+        }), (x = g.value) === null || x === void 0 || x.forEach((T) => {
+          const k = w.uid !== void 0 ? "uid" : "name";
+          T[k] === w[k] && !Object.isFrozen(T) && (T.status = "removed");
+        }), (A = v.value) === null || A === void 0 || A.abort(w), R(w, j));
+      });
+    }, M = (f) => {
+      var w;
+      s.value = f.type, f.type === "drop" && ((w = e.onDrop) === null || w === void 0 || w.call(e, f));
+    };
+    r({
+      onBatchStart: h,
+      onSuccess: m,
+      onProgress: S,
+      onError: E,
+      fileList: g,
+      upload: v
+    });
+    const [U] = Ot("Upload", Dt.Upload, _(() => e.locale)), N = (f, w) => {
+      const {
+        removeIcon: $,
+        previewIcon: C,
+        downloadIcon: x,
+        previewFile: A,
+        onPreview: j,
+        onDownload: T,
+        isImageUrl: k,
+        progress: V,
+        itemRender: te,
+        iconRender: H,
+        showUploadList: G
+      } = e, {
+        showDownloadIcon: K,
+        showPreviewIcon: oe,
+        showRemoveIcon: he
+      } = typeof G == "boolean" ? {} : G;
+      return G ? d(Xn, {
+        prefixCls: i.value,
+        listType: e.listType,
+        items: g.value,
+        previewFile: A,
+        onPreview: j,
+        onDownload: T,
+        onRemove: L,
+        showRemoveIcon: !y.value && he,
+        showPreviewIcon: oe,
+        showDownloadIcon: K,
+        removeIcon: $,
+        previewIcon: C,
+        downloadIcon: x,
+        iconRender: H,
+        locale: U.value,
+        isImageUrl: k,
+        progress: V,
+        itemRender: te,
+        appendActionVisible: w,
+        appendAction: f
+      }, P({}, o)) : f == null ? void 0 : f();
+    };
+    return () => {
+      var f, w, $;
+      const {
+        listType: C,
+        type: x
+      } = e, {
+        class: A,
+        style: j
+      } = n, T = Zn(n, ["class", "style"]), k = P(P(P({
+        onBatchStart: h,
+        onError: E,
+        onProgress: S,
+        onSuccess: m
+      }, T), e), {
+        id: (f = e.id) !== null && f !== void 0 ? f : l.id.value,
+        prefixCls: i.value,
+        beforeUpload: p,
+        onChange: void 0,
+        disabled: y.value
+      });
+      delete k.remove, (!o.default || y.value) && delete k.id;
+      const V = {
+        [`${i.value}-rtl`]: a.value === "rtl"
+      };
+      if (x === "drag") {
+        const K = re(i.value, {
+          [`${i.value}-drag`]: !0,
+          [`${i.value}-drag-uploading`]: g.value.some((oe) => oe.status === "uploading"),
+          [`${i.value}-drag-hover`]: s.value === "dragover",
+          [`${i.value}-disabled`]: y.value,
+          [`${i.value}-rtl`]: a.value === "rtl"
+        }, n.class, u.value);
+        return b(d("span", D(D({}, n), {}, {
+          class: re(`${i.value}-wrapper`, V, A, u.value)
+        }), [d("div", {
+          class: K,
+          onDrop: M,
+          onDragover: M,
+          onDragleave: M,
+          style: n.style
+        }, [d(Ee, D(D({}, k), {}, {
+          ref: v,
+          class: `${i.value}-btn`
+        }), D({
+          default: () => [d("div", {
+            class: `${i.value}-drag-container`
+          }, [(w = o.default) === null || w === void 0 ? void 0 : w.call(o)])]
+        }, o))]), N()]));
+      }
+      const te = re(i.value, {
+        [`${i.value}-select`]: !0,
+        [`${i.value}-select-${C}`]: !0,
+        [`${i.value}-disabled`]: y.value,
+        [`${i.value}-rtl`]: a.value === "rtl"
+      }), H = Ft(($ = o.default) === null || $ === void 0 ? void 0 : $.call(o)), G = (K) => d("div", {
+        class: te,
+        style: K
+      }, [d(Ee, D(D({}, k), {}, {
+        ref: v
+      }), o)]);
+      return b(C === "picture-card" ? d("span", D(D({}, n), {}, {
+        class: re(`${i.value}-wrapper`, `${i.value}-picture-card-wrapper`, V, n.class, u.value)
+      }), [N(G, !!(H && H.length))]) : d("span", D(D({}, n), {}, {
+        class: re(`${i.value}-wrapper`, V, n.class, u.value)
+      }), [G(H && H.length ? void 0 : {
+        display: "none"
+      }), N()]));
+    };
+  }
+});
+var Ue = function(e, t) {
+  var o = {};
+  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++)
+    t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]);
+  return o;
+};
+const ue = z({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AUploadDragger",
+  inheritAttrs: !1,
+  props: Ye(),
+  setup(e, t) {
+    let {
+      slots: o,
+      attrs: n
+    } = t;
+    return () => {
+      const {
+        height: r
+      } = e, l = Ue(e, ["height"]), {
+        style: i
+      } = n, a = Ue(n, ["style"]), c = P(P(P({}, l), a), {
+        type: "drag",
+        style: P(P({}, i), {
+          height: typeof r == "number" ? `${r}px` : r
+        })
+      });
+      return d(ce, c, o);
+    };
+  }
+}), lo = ue, so = P(ce, {
+  Dragger: ue,
+  LIST_IGNORE: ie,
+  install(e) {
+    return e.component(ce.name, ce), e.component(ue.name, ue), e;
+  }
+});
+export {
+  lo as U,
+  so as _
+};

+ 1457 - 0
lib/js/index7.js

@@ -0,0 +1,1457 @@
+import { bk as We, M as $e, P as w, _ as c, a as y, U as he, b as Z, m as U, o as Se, bl as je, K as de, bm as Ve, bn as _e, g as Ge, I as Ke, bo as Xe, J as Ue, bp as Qe, a3 as ke, a6 as ae, j as qe, aJ as we, p as q, O as Je, bq as Ye, e as _, B as te, br as Te, bs as Ze, aE as eo, N as oo, Q as no, bt as to, bu as lo, bv as ao, bw as io, bx as ro, by as so, a7 as co } from "./index2.js";
+import { defineComponent as O, ref as X, computed as J, createVNode as s, Transition as Be, withDirectives as Pe, vShow as Fe, nextTick as uo, shallowRef as S, watch as Y, onBeforeUnmount as ie, watchEffect as fo, Fragment as mo, onMounted as go, render as ue, unref as po, isRef as vo } from "vue";
+import { p as Co } from "./pickAttrs.js";
+import { c as yo } from "./styleChecker.js";
+const bo = new $e("antFadeIn", {
+  "0%": {
+    opacity: 0
+  },
+  "100%": {
+    opacity: 1
+  }
+}), xo = new $e("antFadeOut", {
+  "0%": {
+    opacity: 1
+  },
+  "100%": {
+    opacity: 0
+  }
+}), $o = function(e) {
+  let o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
+  const {
+    antCls: t
+  } = e, n = `${t}-fade`, l = o ? "&" : "";
+  return [We(n, bo, xo, e.motionDurationMid, o), {
+    [`
+        ${l}${n}-enter,
+        ${l}${n}-appear
+      `]: {
+      opacity: 0,
+      animationTimingFunction: "linear"
+    },
+    [`${l}${n}-leave`]: {
+      animationTimingFunction: "linear"
+    }
+  }];
+};
+function re() {
+  return {
+    keyboard: {
+      type: Boolean,
+      default: void 0
+    },
+    mask: {
+      type: Boolean,
+      default: void 0
+    },
+    afterClose: Function,
+    closable: {
+      type: Boolean,
+      default: void 0
+    },
+    maskClosable: {
+      type: Boolean,
+      default: void 0
+    },
+    visible: {
+      type: Boolean,
+      default: void 0
+    },
+    destroyOnClose: {
+      type: Boolean,
+      default: void 0
+    },
+    mousePosition: w.shape({
+      x: Number,
+      y: Number
+    }).loose,
+    title: w.any,
+    footer: w.any,
+    transitionName: String,
+    maskTransitionName: String,
+    animation: w.any,
+    maskAnimation: w.any,
+    wrapStyle: {
+      type: Object,
+      default: void 0
+    },
+    bodyStyle: {
+      type: Object,
+      default: void 0
+    },
+    maskStyle: {
+      type: Object,
+      default: void 0
+    },
+    prefixCls: String,
+    wrapClassName: String,
+    rootClassName: String,
+    width: [String, Number],
+    height: [String, Number],
+    zIndex: Number,
+    bodyProps: w.any,
+    maskProps: w.any,
+    wrapProps: w.any,
+    getContainer: w.any,
+    dialogStyle: {
+      type: Object,
+      default: void 0
+    },
+    dialogClass: String,
+    closeIcon: w.any,
+    forceRender: {
+      type: Boolean,
+      default: void 0
+    },
+    getOpenCount: Function,
+    // https://github.com/ant-design/ant-design/issues/19771
+    // https://github.com/react-component/dialog/issues/95
+    focusTriggerAfterClose: {
+      type: Boolean,
+      default: void 0
+    },
+    onClose: Function,
+    modalRender: Function
+  };
+}
+function fe(e, o, t) {
+  let n = o;
+  return !n && t && (n = `${e}-${t}`), n;
+}
+let me = -1;
+function ho() {
+  return me += 1, me;
+}
+function ge(e, o) {
+  let t = e[`page${o ? "Y" : "X"}Offset`];
+  const n = `scroll${o ? "Top" : "Left"}`;
+  if (typeof t != "number") {
+    const l = e.document;
+    t = l.documentElement[n], typeof t != "number" && (t = l.body[n]);
+  }
+  return t;
+}
+function So(e) {
+  const o = e.getBoundingClientRect(), t = {
+    left: o.left,
+    top: o.top
+  }, n = e.ownerDocument, l = n.defaultView || n.parentWindow;
+  return t.left += ge(l), t.top += ge(l, !0), t;
+}
+const pe = {
+  width: 0,
+  height: 0,
+  overflow: "hidden",
+  outline: "none"
+}, wo = O({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "DialogContent",
+  inheritAttrs: !1,
+  props: c(c({}, re()), {
+    motionName: String,
+    ariaId: String,
+    onVisibleChanged: Function,
+    onMousedown: Function,
+    onMouseup: Function
+  }),
+  setup(e, o) {
+    let {
+      expose: t,
+      slots: n,
+      attrs: l
+    } = o;
+    const d = X(), g = X(), v = X();
+    t({
+      focus: () => {
+        var a;
+        (a = d.value) === null || a === void 0 || a.focus();
+      },
+      changeActive: (a) => {
+        const {
+          activeElement: r
+        } = document;
+        a && r === g.value ? d.value.focus() : !a && r === d.value && g.value.focus();
+      }
+    });
+    const b = X(), f = J(() => {
+      const {
+        width: a,
+        height: r
+      } = e, p = {};
+      return a !== void 0 && (p.width = typeof a == "number" ? `${a}px` : a), r !== void 0 && (p.height = typeof r == "number" ? `${r}px` : r), b.value && (p.transformOrigin = b.value), p;
+    }), u = () => {
+      uo(() => {
+        if (v.value) {
+          const a = So(v.value);
+          b.value = e.mousePosition ? `${e.mousePosition.x - a.left}px ${e.mousePosition.y - a.top}px` : "";
+        }
+      });
+    }, i = (a) => {
+      e.onVisibleChanged(a);
+    };
+    return () => {
+      var a, r, p, x;
+      const {
+        prefixCls: h,
+        footer: m = (a = n.footer) === null || a === void 0 ? void 0 : a.call(n),
+        title: $ = (r = n.title) === null || r === void 0 ? void 0 : r.call(n),
+        ariaId: C,
+        closable: T,
+        closeIcon: B = (p = n.closeIcon) === null || p === void 0 ? void 0 : p.call(n),
+        onClose: F,
+        bodyStyle: I,
+        bodyProps: N,
+        onMousedown: z,
+        onMouseup: A,
+        visible: D,
+        modalRender: L = n.modalRender,
+        destroyOnClose: G,
+        motionName: H
+      } = e;
+      let W;
+      m && (W = s("div", {
+        class: `${h}-footer`
+      }, [m]));
+      let j;
+      $ && (j = s("div", {
+        class: `${h}-header`
+      }, [s("div", {
+        class: `${h}-title`,
+        id: C
+      }, [$])]));
+      let R;
+      T && (R = s("button", {
+        type: "button",
+        onClick: F,
+        "aria-label": "Close",
+        class: `${h}-close`
+      }, [B || s("span", {
+        class: `${h}-close-x`
+      }, null)]));
+      const M = s("div", {
+        class: `${h}-content`
+      }, [R, j, s("div", y({
+        class: `${h}-body`,
+        style: I
+      }, N), [(x = n.default) === null || x === void 0 ? void 0 : x.call(n)]), W]), ee = he(H);
+      return s(Be, y(y({}, ee), {}, {
+        onBeforeEnter: u,
+        onAfterEnter: () => i(!0),
+        onAfterLeave: () => i(!1)
+      }), {
+        default: () => [D || !G ? Pe(s("div", y(y({}, l), {}, {
+          ref: v,
+          key: "dialog-element",
+          role: "document",
+          style: [f.value, l.style],
+          class: [h, l.class],
+          onMousedown: z,
+          onMouseup: A
+        }), [s("div", {
+          tabindex: 0,
+          ref: d,
+          style: pe,
+          "aria-hidden": "true"
+        }, null), L ? L({
+          originVNode: M
+        }) : M, s("div", {
+          tabindex: 0,
+          ref: g,
+          style: pe,
+          "aria-hidden": "true"
+        }, null)]), [[Fe, D]]) : null]
+      });
+    };
+  }
+}), To = O({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "DialogMask",
+  props: {
+    prefixCls: String,
+    visible: Boolean,
+    motionName: String,
+    maskProps: Object
+  },
+  setup(e, o) {
+    return () => {
+      const {
+        prefixCls: t,
+        visible: n,
+        maskProps: l,
+        motionName: d
+      } = e, g = he(d);
+      return s(Be, g, {
+        default: () => [Pe(s("div", y({
+          class: `${t}-mask`
+        }, l), null), [[Fe, n]])]
+      });
+    };
+  }
+}), ve = O({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "VcDialog",
+  inheritAttrs: !1,
+  props: Z(c(c({}, re()), {
+    getOpenCount: Function,
+    scrollLocker: Object
+  }), {
+    mask: !0,
+    visible: !1,
+    keyboard: !0,
+    closable: !0,
+    maskClosable: !0,
+    destroyOnClose: !1,
+    prefixCls: "rc-dialog",
+    getOpenCount: () => null,
+    focusTriggerAfterClose: !0
+  }),
+  setup(e, o) {
+    let {
+      attrs: t,
+      slots: n
+    } = o;
+    const l = S(), d = S(), g = S(), v = S(e.visible), b = S(`vcDialogTitle${ho()}`), f = (m) => {
+      var $, C;
+      if (m)
+        je(d.value, document.activeElement) || (l.value = document.activeElement, ($ = g.value) === null || $ === void 0 || $.focus());
+      else {
+        const T = v.value;
+        if (v.value = !1, e.mask && l.value && e.focusTriggerAfterClose) {
+          try {
+            l.value.focus({
+              preventScroll: !0
+            });
+          } catch (B) {
+          }
+          l.value = null;
+        }
+        T && ((C = e.afterClose) === null || C === void 0 || C.call(e));
+      }
+    }, u = (m) => {
+      var $;
+      ($ = e.onClose) === null || $ === void 0 || $.call(e, m);
+    }, i = S(!1), a = S(), r = () => {
+      clearTimeout(a.value), i.value = !0;
+    }, p = () => {
+      a.value = setTimeout(() => {
+        i.value = !1;
+      });
+    }, x = (m) => {
+      if (!e.maskClosable) return null;
+      i.value ? i.value = !1 : d.value === m.target && u(m);
+    }, h = (m) => {
+      if (e.keyboard && m.keyCode === de.ESC) {
+        m.stopPropagation(), u(m);
+        return;
+      }
+      e.visible && m.keyCode === de.TAB && g.value.changeActive(!m.shiftKey);
+    };
+    return Y(() => e.visible, () => {
+      e.visible && (v.value = !0);
+    }, {
+      flush: "post"
+    }), ie(() => {
+      var m;
+      clearTimeout(a.value), (m = e.scrollLocker) === null || m === void 0 || m.unLock();
+    }), fo(() => {
+      var m, $;
+      (m = e.scrollLocker) === null || m === void 0 || m.unLock(), v.value && (($ = e.scrollLocker) === null || $ === void 0 || $.lock());
+    }), () => {
+      const {
+        prefixCls: m,
+        mask: $,
+        visible: C,
+        maskTransitionName: T,
+        maskAnimation: B,
+        zIndex: F,
+        wrapClassName: I,
+        rootClassName: N,
+        wrapStyle: z,
+        closable: A,
+        maskProps: D,
+        maskStyle: L,
+        transitionName: G,
+        animation: H,
+        wrapProps: W,
+        title: j = n.title
+      } = e, {
+        style: R,
+        class: M
+      } = t;
+      return s("div", y({
+        class: [`${m}-root`, N]
+      }, Co(e, {
+        data: !0
+      })), [s(To, {
+        prefixCls: m,
+        visible: $ && C,
+        motionName: fe(m, T, B),
+        style: c({
+          zIndex: F
+        }, L),
+        maskProps: D
+      }, null), s("div", y({
+        tabIndex: -1,
+        onKeydown: h,
+        class: U(`${m}-wrap`, I),
+        ref: d,
+        onClick: x,
+        role: "dialog",
+        "aria-labelledby": j ? b.value : null,
+        style: c(c({
+          zIndex: F
+        }, z), {
+          display: v.value ? null : "none"
+        })
+      }, W), [s(wo, y(y({}, Se(e, ["scrollLocker"])), {}, {
+        style: R,
+        class: M,
+        onMousedown: r,
+        onMouseup: p,
+        ref: g,
+        closable: A,
+        ariaId: b.value,
+        prefixCls: m,
+        visible: C,
+        onClose: u,
+        onVisibleChanged: f,
+        motionName: fe(m, G, H)
+      }), n)])]);
+    };
+  }
+}), Bo = re(), Po = O({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "DialogWrap",
+  inheritAttrs: !1,
+  props: Z(Bo, {
+    visible: !1
+  }),
+  setup(e, o) {
+    let {
+      attrs: t,
+      slots: n
+    } = o;
+    const l = X(e.visible);
+    return Ve({}, {
+      inTriggerContext: !1
+    }), Y(() => e.visible, () => {
+      e.visible && (l.value = !0);
+    }, {
+      flush: "post"
+    }), () => {
+      const {
+        visible: d,
+        getContainer: g,
+        forceRender: v,
+        destroyOnClose: b = !1,
+        afterClose: f
+      } = e;
+      let u = c(c(c({}, e), t), {
+        ref: "_component",
+        key: "dialog"
+      });
+      return g === !1 ? s(ve, y(y({}, u), {}, {
+        getOpenCount: () => 2
+      }), n) : !v && b && !l.value ? null : s(_e, {
+        autoLock: !0,
+        visible: d,
+        forceRender: v,
+        getContainer: g
+      }, {
+        default: (i) => (u = c(c(c({}, u), i), {
+          afterClose: () => {
+            f == null || f(), l.value = !1;
+          }
+        }), s(ve, u, n))
+      });
+    };
+  }
+});
+function Ce(e) {
+  return {
+    position: e,
+    top: 0,
+    insetInlineEnd: 0,
+    bottom: 0,
+    insetInlineStart: 0
+  };
+}
+const Fo = (e) => {
+  const {
+    componentCls: o
+  } = e;
+  return [{
+    [`${o}-root`]: {
+      [`${o}${e.antCls}-zoom-enter, ${o}${e.antCls}-zoom-appear`]: {
+        // reset scale avoid mousePosition bug
+        transform: "none",
+        opacity: 0,
+        animationDuration: e.motionDurationSlow,
+        // https://github.com/ant-design/ant-design/issues/11777
+        userSelect: "none"
+      },
+      [`${o}${e.antCls}-zoom-leave ${o}-content`]: {
+        pointerEvents: "none"
+      },
+      [`${o}-mask`]: c(c({}, Ce("fixed")), {
+        zIndex: e.zIndexPopupBase,
+        height: "100%",
+        backgroundColor: e.colorBgMask,
+        [`${o}-hidden`]: {
+          display: "none"
+        }
+      }),
+      [`${o}-wrap`]: c(c({}, Ce("fixed")), {
+        overflow: "auto",
+        outline: 0,
+        WebkitOverflowScrolling: "touch"
+      })
+    }
+  }, {
+    [`${o}-root`]: $o(e)
+  }];
+}, Io = (e) => {
+  const {
+    componentCls: o
+  } = e;
+  return [
+    // ======================== Root =========================
+    {
+      [`${o}-root`]: {
+        [`${o}-wrap`]: {
+          zIndex: e.zIndexPopupBase,
+          position: "fixed",
+          inset: 0,
+          overflow: "auto",
+          outline: 0,
+          WebkitOverflowScrolling: "touch"
+        },
+        [`${o}-wrap-rtl`]: {
+          direction: "rtl"
+        },
+        [`${o}-centered`]: {
+          textAlign: "center",
+          "&::before": {
+            display: "inline-block",
+            width: 0,
+            height: "100%",
+            verticalAlign: "middle",
+            content: '""'
+          },
+          [o]: {
+            top: 0,
+            display: "inline-block",
+            paddingBottom: 0,
+            textAlign: "start",
+            verticalAlign: "middle"
+          }
+        },
+        [`@media (max-width: ${e.screenSMMax})`]: {
+          [o]: {
+            maxWidth: "calc(100vw - 16px)",
+            margin: `${e.marginXS} auto`
+          },
+          [`${o}-centered`]: {
+            [o]: {
+              flex: 1
+            }
+          }
+        }
+      }
+    },
+    // ======================== Modal ========================
+    {
+      [o]: c(c({}, Ue(e)), {
+        pointerEvents: "none",
+        position: "relative",
+        top: 100,
+        width: "auto",
+        maxWidth: `calc(100vw - ${e.margin * 2}px)`,
+        margin: "0 auto",
+        paddingBottom: e.paddingLG,
+        [`${o}-title`]: {
+          margin: 0,
+          color: e.modalHeadingColor,
+          fontWeight: e.fontWeightStrong,
+          fontSize: e.modalHeaderTitleFontSize,
+          lineHeight: e.modalHeaderTitleLineHeight,
+          wordWrap: "break-word"
+        },
+        [`${o}-content`]: {
+          position: "relative",
+          backgroundColor: e.modalContentBg,
+          backgroundClip: "padding-box",
+          border: 0,
+          borderRadius: e.borderRadiusLG,
+          boxShadow: e.boxShadowSecondary,
+          pointerEvents: "auto",
+          padding: `${e.paddingMD}px ${e.paddingContentHorizontalLG}px`
+        },
+        [`${o}-close`]: c({
+          position: "absolute",
+          top: (e.modalHeaderCloseSize - e.modalCloseBtnSize) / 2,
+          insetInlineEnd: (e.modalHeaderCloseSize - e.modalCloseBtnSize) / 2,
+          zIndex: e.zIndexPopupBase + 10,
+          padding: 0,
+          color: e.modalCloseColor,
+          fontWeight: e.fontWeightStrong,
+          lineHeight: 1,
+          textDecoration: "none",
+          background: "transparent",
+          borderRadius: e.borderRadiusSM,
+          width: e.modalConfirmIconSize,
+          height: e.modalConfirmIconSize,
+          border: 0,
+          outline: 0,
+          cursor: "pointer",
+          transition: `color ${e.motionDurationMid}, background-color ${e.motionDurationMid}`,
+          "&-x": {
+            display: "block",
+            fontSize: e.fontSizeLG,
+            fontStyle: "normal",
+            lineHeight: `${e.modalCloseBtnSize}px`,
+            textAlign: "center",
+            textTransform: "none",
+            textRendering: "auto"
+          },
+          "&:hover": {
+            color: e.modalIconHoverColor,
+            backgroundColor: e.wireframe ? "transparent" : e.colorFillContent,
+            textDecoration: "none"
+          },
+          "&:active": {
+            backgroundColor: e.wireframe ? "transparent" : e.colorFillContentHover
+          }
+        }, Qe(e)),
+        [`${o}-header`]: {
+          color: e.colorText,
+          background: e.modalHeaderBg,
+          borderRadius: `${e.borderRadiusLG}px ${e.borderRadiusLG}px 0 0`,
+          marginBottom: e.marginXS
+        },
+        [`${o}-body`]: {
+          fontSize: e.fontSize,
+          lineHeight: e.lineHeight,
+          wordWrap: "break-word"
+        },
+        [`${o}-footer`]: {
+          textAlign: "end",
+          background: e.modalFooterBg,
+          marginTop: e.marginSM,
+          [`${e.antCls}-btn + ${e.antCls}-btn:not(${e.antCls}-dropdown-trigger)`]: {
+            marginBottom: 0,
+            marginInlineStart: e.marginXS
+          }
+        },
+        [`${o}-open`]: {
+          overflow: "hidden"
+        }
+      })
+    },
+    // ======================== Pure =========================
+    {
+      [`${o}-pure-panel`]: {
+        top: "auto",
+        padding: 0,
+        display: "flex",
+        flexDirection: "column",
+        [`${o}-content,
+          ${o}-body,
+          ${o}-confirm-body-wrapper`]: {
+          display: "flex",
+          flexDirection: "column",
+          flex: "auto"
+        },
+        [`${o}-confirm-body`]: {
+          marginBottom: "auto"
+        }
+      }
+    }
+  ];
+}, Mo = (e) => {
+  const {
+    componentCls: o
+  } = e, t = `${o}-confirm`;
+  return {
+    [t]: {
+      "&-rtl": {
+        direction: "rtl"
+      },
+      [`${e.antCls}-modal-header`]: {
+        display: "none"
+      },
+      [`${t}-body-wrapper`]: c({}, ke()),
+      [`${t}-body`]: {
+        display: "flex",
+        flexWrap: "wrap",
+        alignItems: "center",
+        [`${t}-title`]: {
+          flex: "0 0 100%",
+          display: "block",
+          // create BFC to avoid
+          // https://user-images.githubusercontent.com/507615/37702510-ba844e06-2d2d-11e8-9b67-8e19be57f445.png
+          overflow: "hidden",
+          color: e.colorTextHeading,
+          fontWeight: e.fontWeightStrong,
+          fontSize: e.modalHeaderTitleFontSize,
+          lineHeight: e.modalHeaderTitleLineHeight,
+          [`+ ${t}-content`]: {
+            marginBlockStart: e.marginXS,
+            flexBasis: "100%",
+            maxWidth: `calc(100% - ${e.modalConfirmIconSize + e.marginSM}px)`
+          }
+        },
+        [`${t}-content`]: {
+          color: e.colorText,
+          fontSize: e.fontSize
+        },
+        [`> ${e.iconCls}`]: {
+          flex: "none",
+          marginInlineEnd: e.marginSM,
+          fontSize: e.modalConfirmIconSize,
+          [`+ ${t}-title`]: {
+            flex: 1
+          },
+          // `content` after `icon` should set marginLeft
+          [`+ ${t}-title + ${t}-content`]: {
+            marginInlineStart: e.modalConfirmIconSize + e.marginSM
+          }
+        }
+      },
+      [`${t}-btns`]: {
+        textAlign: "end",
+        marginTop: e.marginSM,
+        [`${e.antCls}-btn + ${e.antCls}-btn`]: {
+          marginBottom: 0,
+          marginInlineStart: e.marginXS
+        }
+      }
+    },
+    [`${t}-error ${t}-body > ${e.iconCls}`]: {
+      color: e.colorError
+    },
+    [`${t}-warning ${t}-body > ${e.iconCls},
+        ${t}-confirm ${t}-body > ${e.iconCls}`]: {
+      color: e.colorWarning
+    },
+    [`${t}-info ${t}-body > ${e.iconCls}`]: {
+      color: e.colorInfo
+    },
+    [`${t}-success ${t}-body > ${e.iconCls}`]: {
+      color: e.colorSuccess
+    },
+    // https://github.com/ant-design/ant-design/issues/37329
+    [`${o}-zoom-leave ${o}-btns`]: {
+      pointerEvents: "none"
+    }
+  };
+}, Oo = (e) => {
+  const {
+    componentCls: o
+  } = e;
+  return {
+    [`${o}-root`]: {
+      [`${o}-wrap-rtl`]: {
+        direction: "rtl",
+        [`${o}-confirm-body`]: {
+          direction: "rtl"
+        }
+      }
+    }
+  };
+}, No = (e) => {
+  const {
+    componentCls: o,
+    antCls: t
+  } = e, n = `${o}-confirm`;
+  return {
+    [o]: {
+      [`${o}-content`]: {
+        padding: 0
+      },
+      [`${o}-header`]: {
+        padding: e.modalHeaderPadding,
+        borderBottom: `${e.modalHeaderBorderWidth}px ${e.modalHeaderBorderStyle} ${e.modalHeaderBorderColorSplit}`,
+        marginBottom: 0
+      },
+      [`${o}-body`]: {
+        padding: e.modalBodyPadding
+      },
+      [`${o}-footer`]: {
+        padding: `${e.modalFooterPaddingVertical}px ${e.modalFooterPaddingHorizontal}px`,
+        borderTop: `${e.modalFooterBorderWidth}px ${e.modalFooterBorderStyle} ${e.modalFooterBorderColorSplit}`,
+        borderRadius: `0 0 ${e.borderRadiusLG}px ${e.borderRadiusLG}px`,
+        marginTop: 0
+      }
+    },
+    [n]: {
+      [`${t}-modal-body`]: {
+        padding: `${e.padding * 2}px ${e.padding * 2}px ${e.paddingLG}px`
+      },
+      [`${n}-body`]: {
+        [`> ${e.iconCls}`]: {
+          marginInlineEnd: e.margin,
+          // `content` after `icon` should set marginLeft
+          [`+ ${n}-title + ${n}-content`]: {
+            marginInlineStart: e.modalConfirmIconSize + e.margin
+          }
+        }
+      },
+      [`${n}-btns`]: {
+        marginTop: e.marginLG
+      }
+    }
+  };
+}, zo = Ge("Modal", (e) => {
+  const o = e.padding, t = e.fontSizeHeading5, n = e.lineHeightHeading5, l = Ke(e, {
+    modalBodyPadding: e.paddingLG,
+    modalHeaderBg: e.colorBgElevated,
+    modalHeaderPadding: `${o}px ${e.paddingLG}px`,
+    modalHeaderBorderWidth: e.lineWidth,
+    modalHeaderBorderStyle: e.lineType,
+    modalHeaderTitleLineHeight: n,
+    modalHeaderTitleFontSize: t,
+    modalHeaderBorderColorSplit: e.colorSplit,
+    modalHeaderCloseSize: n * t + o * 2,
+    modalContentBg: e.colorBgElevated,
+    modalHeadingColor: e.colorTextHeading,
+    modalCloseColor: e.colorTextDescription,
+    modalFooterBg: "transparent",
+    modalFooterBorderColorSplit: e.colorSplit,
+    modalFooterBorderStyle: e.lineType,
+    modalFooterPaddingVertical: e.paddingXS,
+    modalFooterPaddingHorizontal: e.padding,
+    modalFooterBorderWidth: e.lineWidth,
+    modalConfirmTitleFontSize: e.fontSizeLG,
+    modalIconHoverColor: e.colorIconHover,
+    modalConfirmIconSize: e.fontSize * e.lineHeight,
+    modalCloseBtnSize: e.controlHeightLG * 0.55
+  });
+  return [Io(l), Mo(l), Oo(l), Fo(l), e.wireframe && No(l), Xe(l, "zoom")];
+});
+var Ho = function(e, o) {
+  var t = {};
+  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && o.indexOf(n) < 0 && (t[n] = e[n]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var l = 0, n = Object.getOwnPropertySymbols(e); l < n.length; l++)
+    o.indexOf(n[l]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[l]) && (t[n[l]] = e[n[l]]);
+  return t;
+};
+let le;
+const Ao = (e) => {
+  le = {
+    x: e.pageX,
+    y: e.pageY
+  }, setTimeout(() => le = null, 100);
+};
+yo() && Ye(document.documentElement, "click", Ao, !0);
+const Ro = () => ({
+  prefixCls: String,
+  /** @deprecated Please use `open` instead. */
+  visible: {
+    type: Boolean,
+    default: void 0
+  },
+  open: {
+    type: Boolean,
+    default: void 0
+  },
+  confirmLoading: {
+    type: Boolean,
+    default: void 0
+  },
+  title: w.any,
+  closable: {
+    type: Boolean,
+    default: void 0
+  },
+  closeIcon: w.any,
+  onOk: Function,
+  onCancel: Function,
+  "onUpdate:visible": Function,
+  "onUpdate:open": Function,
+  onChange: Function,
+  afterClose: Function,
+  centered: {
+    type: Boolean,
+    default: void 0
+  },
+  width: [String, Number],
+  footer: w.any,
+  okText: w.any,
+  okType: String,
+  cancelText: w.any,
+  icon: w.any,
+  maskClosable: {
+    type: Boolean,
+    default: void 0
+  },
+  forceRender: {
+    type: Boolean,
+    default: void 0
+  },
+  okButtonProps: _(),
+  cancelButtonProps: _(),
+  destroyOnClose: {
+    type: Boolean,
+    default: void 0
+  },
+  wrapClassName: String,
+  maskTransitionName: String,
+  transitionName: String,
+  getContainer: {
+    type: [String, Function, Boolean, Object],
+    default: void 0
+  },
+  zIndex: Number,
+  bodyStyle: _(),
+  maskStyle: _(),
+  mask: {
+    type: Boolean,
+    default: void 0
+  },
+  keyboard: {
+    type: Boolean,
+    default: void 0
+  },
+  wrapProps: Object,
+  focusTriggerAfterClose: {
+    type: Boolean,
+    default: void 0
+  },
+  modalRender: Function,
+  mousePosition: _()
+}), P = O({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "AModal",
+  inheritAttrs: !1,
+  props: Z(Ro(), {
+    width: 520,
+    confirmLoading: !1,
+    okType: "primary"
+  }),
+  setup(e, o) {
+    let {
+      emit: t,
+      slots: n,
+      attrs: l
+    } = o;
+    const [d] = ae("Modal"), {
+      prefixCls: g,
+      rootPrefixCls: v,
+      direction: b,
+      getPopupContainer: f
+    } = qe("modal", e), [u, i] = zo(g);
+    we(e.visible === void 0, "Modal", "`visible` will be removed in next major version, please use `open` instead.");
+    const a = (x) => {
+      t("update:visible", !1), t("update:open", !1), t("cancel", x), t("change", !1);
+    }, r = (x) => {
+      t("ok", x);
+    }, p = () => {
+      var x, h;
+      const {
+        okText: m = (x = n.okText) === null || x === void 0 ? void 0 : x.call(n),
+        okType: $,
+        cancelText: C = (h = n.cancelText) === null || h === void 0 ? void 0 : h.call(n),
+        confirmLoading: T
+      } = e;
+      return s(mo, null, [s(te, y({
+        onClick: a
+      }, e.cancelButtonProps), {
+        default: () => [C || d.value.cancelText]
+      }), s(te, y(y({}, Te($)), {}, {
+        loading: T,
+        onClick: r
+      }, e.okButtonProps), {
+        default: () => [m || d.value.okText]
+      })]);
+    };
+    return () => {
+      var x, h;
+      const {
+        prefixCls: m,
+        visible: $,
+        open: C,
+        wrapClassName: T,
+        centered: B,
+        getContainer: F,
+        closeIcon: I = (x = n.closeIcon) === null || x === void 0 ? void 0 : x.call(n),
+        focusTriggerAfterClose: N = !0
+      } = e, z = Ho(e, ["prefixCls", "visible", "open", "wrapClassName", "centered", "getContainer", "closeIcon", "focusTriggerAfterClose"]), A = U(T, {
+        [`${g.value}-centered`]: !!B,
+        [`${g.value}-wrap-rtl`]: b.value === "rtl"
+      });
+      return u(s(Po, y(y(y({}, z), l), {}, {
+        rootClassName: i.value,
+        class: U(i.value, l.class),
+        getContainer: F || (f == null ? void 0 : f.value),
+        prefixCls: g.value,
+        wrapClassName: A,
+        visible: C != null ? C : $,
+        onClose: a,
+        focusTriggerAfterClose: N,
+        transitionName: q(v.value, "zoom", e.transitionName),
+        maskTransitionName: q(v.value, "fade", e.maskTransitionName),
+        mousePosition: (h = z.mousePosition) !== null && h !== void 0 ? h : le
+      }), c(c({}, n), {
+        footer: n.footer || p,
+        closeIcon: () => s("span", {
+          class: `${g.value}-close-x`
+        }, [I || s(Je, {
+          class: `${g.value}-close-icon`
+        }, null)])
+      })));
+    };
+  }
+}), Eo = () => {
+  const e = S(!1);
+  return ie(() => {
+    e.value = !0;
+  }), e;
+}, Do = {
+  type: {
+    type: String
+  },
+  actionFn: Function,
+  close: Function,
+  autofocus: Boolean,
+  prefixCls: String,
+  buttonProps: _(),
+  emitEvent: Boolean,
+  quitOnNullishReturnValue: Boolean
+};
+function ye(e) {
+  return !!(e && e.then);
+}
+const be = O({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ActionButton",
+  props: Do,
+  setup(e, o) {
+    let {
+      slots: t
+    } = o;
+    const n = S(!1), l = S(), d = S(!1);
+    let g;
+    const v = Eo();
+    go(() => {
+      e.autofocus && (g = setTimeout(() => {
+        var i, a;
+        return (a = (i = Ze(l.value)) === null || i === void 0 ? void 0 : i.focus) === null || a === void 0 ? void 0 : a.call(i);
+      }));
+    }), ie(() => {
+      clearTimeout(g);
+    });
+    const b = function() {
+      for (var i, a = arguments.length, r = new Array(a), p = 0; p < a; p++)
+        r[p] = arguments[p];
+      (i = e.close) === null || i === void 0 || i.call(e, ...r);
+    }, f = (i) => {
+      ye(i) && (d.value = !0, i.then(function() {
+        v.value || (d.value = !1), b(...arguments), n.value = !1;
+      }, (a) => (v.value || (d.value = !1), n.value = !1, Promise.reject(a))));
+    }, u = (i) => {
+      const {
+        actionFn: a
+      } = e;
+      if (n.value)
+        return;
+      if (n.value = !0, !a) {
+        b();
+        return;
+      }
+      let r;
+      if (e.emitEvent) {
+        if (r = a(i), e.quitOnNullishReturnValue && !ye(r)) {
+          n.value = !1, b(i);
+          return;
+        }
+      } else if (a.length)
+        r = a(e.close), n.value = !1;
+      else if (r = a(), !r) {
+        b();
+        return;
+      }
+      f(r);
+    };
+    return () => {
+      const {
+        type: i,
+        prefixCls: a,
+        buttonProps: r
+      } = e;
+      return s(te, y(y(y({}, Te(i)), {}, {
+        onClick: u,
+        loading: d.value,
+        prefixCls: a
+      }, r), {}, {
+        ref: l
+      }), t);
+    };
+  }
+});
+function V(e) {
+  return typeof e == "function" ? e() : e;
+}
+const Ie = O({
+  name: "ConfirmDialog",
+  inheritAttrs: !1,
+  props: ["icon", "onCancel", "onOk", "close", "closable", "zIndex", "afterClose", "visible", "open", "keyboard", "centered", "getContainer", "maskStyle", "okButtonProps", "cancelButtonProps", "okType", "prefixCls", "okCancel", "width", "mask", "maskClosable", "okText", "cancelText", "autoFocusButton", "transitionName", "maskTransitionName", "type", "title", "content", "direction", "rootPrefixCls", "bodyStyle", "closeIcon", "modalRender", "focusTriggerAfterClose", "wrapClassName", "confirmPrefixCls", "footer"],
+  setup(e, o) {
+    let {
+      attrs: t
+    } = o;
+    const [n] = ae("Modal");
+    return process.env.NODE_ENV !== "production" && we(e.visible === void 0, "Modal", "`visible` is deprecated, please use `open` instead."), () => {
+      const {
+        icon: l,
+        onCancel: d,
+        onOk: g,
+        close: v,
+        okText: b,
+        closable: f = !1,
+        zIndex: u,
+        afterClose: i,
+        keyboard: a,
+        centered: r,
+        getContainer: p,
+        maskStyle: x,
+        okButtonProps: h,
+        cancelButtonProps: m,
+        okCancel: $,
+        width: C = 416,
+        mask: T = !0,
+        maskClosable: B = !1,
+        type: F,
+        open: I,
+        title: N,
+        content: z,
+        direction: A,
+        closeIcon: D,
+        modalRender: L,
+        focusTriggerAfterClose: G,
+        rootPrefixCls: H,
+        bodyStyle: W,
+        wrapClassName: j,
+        footer: R
+      } = e;
+      let M = l;
+      if (!l && l !== null)
+        switch (F) {
+          case "info":
+            M = s(to, null, null);
+            break;
+          case "success":
+            M = s(no, null, null);
+            break;
+          case "error":
+            M = s(oo, null, null);
+            break;
+          default:
+            M = s(eo, null, null);
+        }
+      const ee = e.okType || "primary", oe = e.prefixCls || "ant-modal", K = `${oe}-confirm`, Re = t.style || {}, se = $ != null ? $ : F === "confirm", ce = e.autoFocusButton === null ? !1 : e.autoFocusButton || "ok", k = `${oe}-confirm`, Ee = U(k, `${k}-${e.type}`, {
+        [`${k}-rtl`]: A === "rtl"
+      }, t.class), ne = n.value, De = se && s(be, {
+        actionFn: d,
+        close: v,
+        autofocus: ce === "cancel",
+        buttonProps: m,
+        prefixCls: `${H}-btn`
+      }, {
+        default: () => [V(e.cancelText) || ne.cancelText]
+      });
+      return s(P, {
+        prefixCls: oe,
+        class: Ee,
+        wrapClassName: U({
+          [`${k}-centered`]: !!r
+        }, j),
+        onCancel: (Le) => v == null ? void 0 : v({
+          triggerCancel: !0
+        }, Le),
+        open: I,
+        title: "",
+        footer: "",
+        transitionName: q(H, "zoom", e.transitionName),
+        maskTransitionName: q(H, "fade", e.maskTransitionName),
+        mask: T,
+        maskClosable: B,
+        maskStyle: x,
+        style: Re,
+        bodyStyle: W,
+        width: C,
+        zIndex: u,
+        afterClose: i,
+        keyboard: a,
+        centered: r,
+        getContainer: p,
+        closable: f,
+        closeIcon: D,
+        modalRender: L,
+        focusTriggerAfterClose: G
+      }, {
+        default: () => [s("div", {
+          class: `${K}-body-wrapper`
+        }, [s("div", {
+          class: `${K}-body`
+        }, [V(M), N === void 0 ? null : s("span", {
+          class: `${K}-title`
+        }, [V(N)]), s("div", {
+          class: `${K}-content`
+        }, [V(z)])]), R !== void 0 ? V(R) : s("div", {
+          class: `${K}-btns`
+        }, [De, s(be, {
+          type: ee,
+          actionFn: g,
+          close: v,
+          autofocus: ce === "ok",
+          buttonProps: h,
+          prefixCls: `${H}-btn`
+        }, {
+          default: () => [V(b) || (se ? ne.okText : ne.justOkText)]
+        })])])]
+      });
+    };
+  }
+}), E = [], Q = (e) => {
+  const o = document.createDocumentFragment();
+  let t = c(c({}, Se(e, ["parentContext", "appContext"])), {
+    close: d,
+    open: !0
+  }), n = null;
+  function l() {
+    n && (ue(null, o), n = null);
+    for (var f = arguments.length, u = new Array(f), i = 0; i < f; i++)
+      u[i] = arguments[i];
+    const a = u.some((r) => r && r.triggerCancel);
+    e.onCancel && a && e.onCancel(() => {
+    }, ...u.slice(1));
+    for (let r = 0; r < E.length; r++)
+      if (E[r] === d) {
+        E.splice(r, 1);
+        break;
+      }
+  }
+  function d() {
+    for (var f = arguments.length, u = new Array(f), i = 0; i < f; i++)
+      u[i] = arguments[i];
+    t = c(c({}, t), {
+      open: !1,
+      afterClose: () => {
+        typeof e.afterClose == "function" && e.afterClose(), l.apply(this, u);
+      }
+    }), t.visible && delete t.visible, g(t);
+  }
+  function g(f) {
+    typeof f == "function" ? t = f(t) : t = c(c({}, t), f), n && lo(n, t, o);
+  }
+  const v = (f) => {
+    const u = io, i = u.prefixCls, a = f.prefixCls || `${i}-modal`, r = u.iconPrefixCls, p = ro();
+    return s(ao, y(y({}, u), {}, {
+      prefixCls: i
+    }), {
+      default: () => [s(Ie, y(y({}, f), {}, {
+        rootPrefixCls: i,
+        prefixCls: a,
+        iconPrefixCls: r,
+        locale: p,
+        cancelText: f.cancelText || p.cancelText
+      }), null)]
+    });
+  };
+  function b(f) {
+    const u = s(v, c({}, f));
+    return u.appContext = e.parentContext || e.appContext || u.appContext, ue(u, o), u;
+  }
+  return n = b(t), E.push(d), {
+    destroy: d,
+    update: g
+  };
+};
+function Me(e) {
+  return c(c({}, e), {
+    type: "warning"
+  });
+}
+function Oe(e) {
+  return c(c({}, e), {
+    type: "info"
+  });
+}
+function Ne(e) {
+  return c(c({}, e), {
+    type: "success"
+  });
+}
+function ze(e) {
+  return c(c({}, e), {
+    type: "error"
+  });
+}
+function He(e) {
+  return c(c({}, e), {
+    type: "confirm"
+  });
+}
+const Lo = () => ({
+  config: Object,
+  afterClose: Function,
+  destroyAction: Function,
+  open: Boolean
+}), Wo = O({
+  name: "HookModal",
+  inheritAttrs: !1,
+  props: Z(Lo(), {
+    config: {
+      width: 520,
+      okType: "primary"
+    }
+  }),
+  setup(e, o) {
+    let {
+      expose: t
+    } = o;
+    var n;
+    const l = J(() => e.open), d = J(() => e.config), {
+      direction: g,
+      getPrefixCls: v
+    } = so(), b = v("modal"), f = v(), u = () => {
+      var p, x;
+      e == null || e.afterClose(), (x = (p = d.value).afterClose) === null || x === void 0 || x.call(p);
+    }, i = function() {
+      e.destroyAction(...arguments);
+    };
+    t({
+      destroy: i
+    });
+    const a = (n = d.value.okCancel) !== null && n !== void 0 ? n : d.value.type === "confirm", [r] = ae("Modal", co.Modal);
+    return () => s(Ie, y(y({
+      prefixCls: b,
+      rootPrefixCls: f
+    }, d.value), {}, {
+      close: i,
+      open: l.value,
+      afterClose: u,
+      okText: d.value.okText || (a ? r == null ? void 0 : r.value.okText : r == null ? void 0 : r.value.justOkText),
+      direction: d.value.direction || g.value,
+      cancelText: d.value.cancelText || (r == null ? void 0 : r.value.cancelText)
+    }), null);
+  }
+});
+let xe = 0;
+const jo = O({
+  name: "ElementsHolder",
+  inheritAttrs: !1,
+  setup(e, o) {
+    let {
+      expose: t
+    } = o;
+    const n = S([]);
+    return t({
+      addModal: (d) => (n.value.push(d), n.value = n.value.slice(), () => {
+        n.value = n.value.filter((g) => g !== d);
+      })
+    }), () => n.value.map((d) => d());
+  }
+});
+function Vo() {
+  const e = S(null), o = S([]);
+  Y(o, () => {
+    o.value.length && ([...o.value].forEach((g) => {
+      g();
+    }), o.value = []);
+  }, {
+    immediate: !0
+  });
+  const t = (d) => function(v) {
+    var b;
+    xe += 1;
+    const f = S(!0), u = S(null), i = S(po(v)), a = S({});
+    Y(() => v, (C) => {
+      h(c(c({}, vo(C) ? C.value : C), a.value));
+    });
+    const r = function() {
+      f.value = !1;
+      for (var C = arguments.length, T = new Array(C), B = 0; B < C; B++)
+        T[B] = arguments[B];
+      const F = T.some((I) => I && I.triggerCancel);
+      i.value.onCancel && F && i.value.onCancel(() => {
+      }, ...T.slice(1));
+    };
+    let p;
+    const x = () => s(Wo, {
+      key: `modal-${xe}`,
+      config: d(i.value),
+      ref: u,
+      open: f.value,
+      destroyAction: r,
+      afterClose: () => {
+        p == null || p();
+      }
+    }, null);
+    p = (b = e.value) === null || b === void 0 ? void 0 : b.addModal(x), p && E.push(p);
+    const h = (C) => {
+      i.value = c(c({}, i.value), C);
+    };
+    return {
+      destroy: () => {
+        u.value ? r() : o.value = [...o.value, r];
+      },
+      update: (C) => {
+        a.value = C, u.value ? h(C) : o.value = [...o.value, () => h(C)];
+      }
+    };
+  }, n = J(() => ({
+    info: t(Oe),
+    success: t(Ne),
+    error: t(ze),
+    warning: t(Me),
+    confirm: t(He)
+  })), l = Symbol("modalHolderKey");
+  return [n.value, () => s(jo, {
+    key: l,
+    ref: e
+  }, null)];
+}
+function Ae(e) {
+  return Q(Me(e));
+}
+P.useModal = Vo;
+P.info = function(o) {
+  return Q(Oe(o));
+};
+P.success = function(o) {
+  return Q(Ne(o));
+};
+P.error = function(o) {
+  return Q(ze(o));
+};
+P.warning = Ae;
+P.warn = Ae;
+P.confirm = function(o) {
+  return Q(He(o));
+};
+P.destroyAll = function() {
+  for (; E.length; ) {
+    const o = E.pop();
+    o && o();
+  }
+};
+P.install = function(e) {
+  return e.component(P.name, P), e;
+};
+export {
+  P as M
+};

+ 2996 - 0
lib/js/index8.js

@@ -0,0 +1,2996 @@
+import { _ as w, b5 as en, m as ue, a8 as tn, b6 as be, b7 as Ce, P as Ee, a as re, w as Ue, b8 as he, Y as nn, o as on, b as ln, K as Oe, n as an, aQ as sn, b9 as rn, ba as cn, bb as dn, i as un, g as fn, a5 as vn, I as hn, J as gn, bc as dt, M as yn } from "./index2.js";
+import { createVNode as C, cloneVNode as Et, defineComponent as Ne, reactive as _e, ref as We, watch as ie, onUnmounted as Dt, onMounted as qe, onBeforeUnmount as rt, computed as E, shallowRef as L, toRaw as it, nextTick as Ae, onUpdated as Tt, watchEffect as Pe, provide as $t, inject as Nt, getCurrentInstance as pn, Transition as mn, withDirectives as bn, vShow as Sn, Fragment as xn } from "vue";
+import { e as ut, h as Ge, i as Xe, j as Mt, b as Kn, f as kn, c as wn, d as ft, k as Cn, l as vt, u as En, p as lt, a as at, m as me, n as Dn, o as ht, q as we, r as Tn, g as $n } from "./index4.js";
+import { p as Ot } from "./pickAttrs.js";
+const Je = (e, t) => {
+  let {
+    height: n,
+    offset: o,
+    prefixCls: l,
+    onInnerResize: c
+  } = e, {
+    slots: i
+  } = t;
+  var v;
+  let S = {}, f = {
+    display: "flex",
+    flexDirection: "column"
+  };
+  return o !== void 0 && (S = {
+    height: `${n}px`,
+    position: "relative",
+    overflow: "hidden"
+  }, f = w(w({}, f), {
+    transform: `translateY(${o}px)`,
+    position: "absolute",
+    left: 0,
+    right: 0,
+    top: 0
+  })), C("div", {
+    style: S
+  }, [C(en, {
+    onResize: (K) => {
+      let {
+        offsetHeight: x
+      } = K;
+      x && c && c();
+    }
+  }, {
+    default: () => [C("div", {
+      style: f,
+      class: ue({
+        [`${l}-holder-inner`]: l
+      })
+    }, [(v = i.default) === null || v === void 0 ? void 0 : v.call(i)])]
+  })]);
+};
+Je.displayName = "Filter";
+Je.inheritAttrs = !1;
+Je.props = {
+  prefixCls: String,
+  /** Virtual filler height. Should be `count * itemMinHeight` */
+  height: Number,
+  /** Set offset of visible items. Should be the top of start item position */
+  offset: Number,
+  onInnerResize: Function
+};
+const Pt = (e, t) => {
+  let {
+    setRef: n
+  } = e, {
+    slots: o
+  } = t;
+  var l;
+  const c = tn((l = o.default) === null || l === void 0 ? void 0 : l.call(o));
+  return c && c.length ? Et(c[0], {
+    ref: n
+  }) : c;
+};
+Pt.props = {
+  setRef: {
+    type: Function,
+    default: () => {
+    }
+  }
+};
+const Nn = 20;
+function gt(e) {
+  return "touches" in e ? e.touches[0].pageY : e.pageY;
+}
+const Mn = Ne({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ScrollBar",
+  inheritAttrs: !1,
+  props: {
+    prefixCls: String,
+    scrollTop: Number,
+    scrollHeight: Number,
+    height: Number,
+    count: Number,
+    onScroll: {
+      type: Function
+    },
+    onStartMove: {
+      type: Function
+    },
+    onStopMove: {
+      type: Function
+    }
+  },
+  setup() {
+    return {
+      moveRaf: null,
+      scrollbarRef: ut(),
+      thumbRef: ut(),
+      visibleTimeout: null,
+      state: _e({
+        dragging: !1,
+        pageY: null,
+        startTop: null,
+        visible: !1
+      })
+    };
+  },
+  watch: {
+    scrollTop: {
+      handler() {
+        this.delayHidden();
+      },
+      flush: "post"
+    }
+  },
+  mounted() {
+    var e, t;
+    (e = this.scrollbarRef.current) === null || e === void 0 || e.addEventListener("touchstart", this.onScrollbarTouchStart, Ce ? {
+      passive: !1
+    } : !1), (t = this.thumbRef.current) === null || t === void 0 || t.addEventListener("touchstart", this.onMouseDown, Ce ? {
+      passive: !1
+    } : !1);
+  },
+  beforeUnmount() {
+    this.removeEvents(), clearTimeout(this.visibleTimeout);
+  },
+  methods: {
+    delayHidden() {
+      clearTimeout(this.visibleTimeout), this.state.visible = !0, this.visibleTimeout = setTimeout(() => {
+        this.state.visible = !1;
+      }, 2e3);
+    },
+    onScrollbarTouchStart(e) {
+      e.preventDefault();
+    },
+    onContainerMouseDown(e) {
+      e.stopPropagation(), e.preventDefault();
+    },
+    // ======================= Clean =======================
+    patchEvents() {
+      window.addEventListener("mousemove", this.onMouseMove), window.addEventListener("mouseup", this.onMouseUp), this.thumbRef.current.addEventListener("touchmove", this.onMouseMove, Ce ? {
+        passive: !1
+      } : !1), this.thumbRef.current.addEventListener("touchend", this.onMouseUp);
+    },
+    removeEvents() {
+      window.removeEventListener("mousemove", this.onMouseMove), window.removeEventListener("mouseup", this.onMouseUp), this.scrollbarRef.current.removeEventListener("touchstart", this.onScrollbarTouchStart, Ce ? {
+        passive: !1
+      } : !1), this.thumbRef.current && (this.thumbRef.current.removeEventListener("touchstart", this.onMouseDown, Ce ? {
+        passive: !1
+      } : !1), this.thumbRef.current.removeEventListener("touchmove", this.onMouseMove, Ce ? {
+        passive: !1
+      } : !1), this.thumbRef.current.removeEventListener("touchend", this.onMouseUp)), be.cancel(this.moveRaf);
+    },
+    // ======================= Thumb =======================
+    onMouseDown(e) {
+      const {
+        onStartMove: t
+      } = this.$props;
+      w(this.state, {
+        dragging: !0,
+        pageY: gt(e),
+        startTop: this.getTop()
+      }), t(), this.patchEvents(), e.stopPropagation(), e.preventDefault();
+    },
+    onMouseMove(e) {
+      const {
+        dragging: t,
+        pageY: n,
+        startTop: o
+      } = this.state, {
+        onScroll: l
+      } = this.$props;
+      if (be.cancel(this.moveRaf), t) {
+        const c = gt(e) - n, i = o + c, v = this.getEnableScrollRange(), S = this.getEnableHeightRange(), f = S ? i / S : 0, K = Math.ceil(f * v);
+        this.moveRaf = be(() => {
+          l(K);
+        });
+      }
+    },
+    onMouseUp() {
+      const {
+        onStopMove: e
+      } = this.$props;
+      this.state.dragging = !1, e(), this.removeEvents();
+    },
+    // ===================== Calculate =====================
+    getSpinHeight() {
+      const {
+        height: e,
+        scrollHeight: t
+      } = this.$props;
+      let n = e / t * 100;
+      return n = Math.max(n, Nn), n = Math.min(n, e / 2), Math.floor(n);
+    },
+    getEnableScrollRange() {
+      const {
+        scrollHeight: e,
+        height: t
+      } = this.$props;
+      return e - t || 0;
+    },
+    getEnableHeightRange() {
+      const {
+        height: e
+      } = this.$props, t = this.getSpinHeight();
+      return e - t || 0;
+    },
+    getTop() {
+      const {
+        scrollTop: e
+      } = this.$props, t = this.getEnableScrollRange(), n = this.getEnableHeightRange();
+      return e === 0 || t === 0 ? 0 : e / t * n;
+    },
+    // Not show scrollbar when height is large than scrollHeight
+    showScroll() {
+      const {
+        height: e,
+        scrollHeight: t
+      } = this.$props;
+      return t > e;
+    }
+  },
+  render() {
+    const {
+      dragging: e,
+      visible: t
+    } = this.state, {
+      prefixCls: n
+    } = this.$props, o = this.getSpinHeight() + "px", l = this.getTop() + "px", c = this.showScroll(), i = c && t;
+    return C("div", {
+      ref: this.scrollbarRef,
+      class: ue(`${n}-scrollbar`, {
+        [`${n}-scrollbar-show`]: c
+      }),
+      style: {
+        width: "8px",
+        top: 0,
+        bottom: 0,
+        right: 0,
+        position: "absolute",
+        display: i ? void 0 : "none"
+      },
+      onMousedown: this.onContainerMouseDown,
+      onMousemove: this.delayHidden
+    }, [C("div", {
+      ref: this.thumbRef,
+      class: ue(`${n}-scrollbar-thumb`, {
+        [`${n}-scrollbar-thumb-moving`]: e
+      }),
+      style: {
+        width: "100%",
+        height: o,
+        top: l,
+        left: 0,
+        position: "absolute",
+        background: "rgba(0, 0, 0, 0.5)",
+        borderRadius: "99px",
+        cursor: "pointer",
+        userSelect: "none"
+      },
+      onMousedown: this.onMouseDown
+    }, null)]);
+  }
+});
+function On(e, t, n, o) {
+  const l = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), i = We(Symbol("update"));
+  ie(e, () => {
+    i.value = Symbol("update");
+  });
+  let v;
+  function S() {
+    be.cancel(v);
+  }
+  function f() {
+    S(), v = be(() => {
+      l.forEach((x, m) => {
+        if (x && x.offsetParent) {
+          const {
+            offsetHeight: D
+          } = x;
+          c.get(m) !== D && (i.value = Symbol("update"), c.set(m, x.offsetHeight));
+        }
+      });
+    });
+  }
+  function K(x, m) {
+    const D = t(x);
+    l.get(D), m ? (l.set(D, m.$el || m), f()) : l.delete(D);
+  }
+  return Dt(() => {
+    S();
+  }), [K, f, c, i];
+}
+function Pn(e, t, n, o, l, c, i, v) {
+  let S;
+  return (f) => {
+    if (f == null) {
+      v();
+      return;
+    }
+    be.cancel(S);
+    const K = t.value, x = o.itemHeight;
+    if (typeof f == "number")
+      i(f);
+    else if (f && typeof f == "object") {
+      let m;
+      const {
+        align: D
+      } = f;
+      "index" in f ? {
+        index: m
+      } = f : m = K.findIndex((N) => l(N) === f.key);
+      const {
+        offset: j = 0
+      } = f, y = (N, O) => {
+        if (N < 0 || !e.value) return;
+        const V = e.value.clientHeight;
+        let T = !1, Y = O;
+        if (V) {
+          const B = O || D;
+          let Q = 0, q = 0, A = 0;
+          const G = Math.min(K.length, m);
+          for (let U = 0; U <= G; U += 1) {
+            const ee = l(K[U]);
+            q = Q;
+            const le = n.get(ee);
+            A = q + (le === void 0 ? x : le), Q = A, U === m && le === void 0 && (T = !0);
+          }
+          const Z = e.value.scrollTop;
+          let z = null;
+          switch (B) {
+            case "top":
+              z = q - j;
+              break;
+            case "bottom":
+              z = A - V + j;
+              break;
+            default: {
+              const U = Z + V;
+              q < Z ? Y = "top" : A > U && (Y = "bottom");
+            }
+          }
+          z !== null && z !== Z && i(z);
+        }
+        S = be(() => {
+          T && c(), y(N - 1, Y);
+        }, 2);
+      };
+      y(5);
+    }
+  };
+}
+const In = typeof navigator == "object" && /Firefox/i.test(navigator.userAgent), It = (e, t) => {
+  let n = !1, o = null;
+  function l() {
+    clearTimeout(o), n = !0, o = setTimeout(() => {
+      n = !1;
+    }, 50);
+  }
+  return function(c) {
+    let i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
+    const v = (
+      // Pass origin wheel when on the top
+      c < 0 && e.value || // Pass origin wheel when on the bottom
+      c > 0 && t.value
+    );
+    return i && v ? (clearTimeout(o), n = !1) : (!v || n) && l(), !n && v;
+  };
+};
+function Ln(e, t, n, o) {
+  let l = 0, c = null, i = null, v = !1;
+  const S = It(t, n);
+  function f(x) {
+    if (!e.value) return;
+    be.cancel(c);
+    const {
+      deltaY: m
+    } = x;
+    l += m, i = m, !S(m) && (In || x.preventDefault(), c = be(() => {
+      o(l * (v ? 10 : 1)), l = 0;
+    }));
+  }
+  function K(x) {
+    e.value && (v = x.detail === i);
+  }
+  return [f, K];
+}
+const Hn = 14 / 15;
+function Rn(e, t, n) {
+  let o = !1, l = 0, c = null, i = null;
+  const v = () => {
+    c && (c.removeEventListener("touchmove", S), c.removeEventListener("touchend", f));
+  }, S = (m) => {
+    if (o) {
+      const D = Math.ceil(m.touches[0].pageY);
+      let j = l - D;
+      l = D, n(j) && m.preventDefault(), clearInterval(i), i = setInterval(() => {
+        j *= Hn, (!n(j, !0) || Math.abs(j) <= 0.1) && clearInterval(i);
+      }, 16);
+    }
+  }, f = () => {
+    o = !1, v();
+  }, K = (m) => {
+    v(), m.touches.length === 1 && !o && (o = !0, l = Math.ceil(m.touches[0].pageY), c = m.target, c.addEventListener("touchmove", S, {
+      passive: !1
+    }), c.addEventListener("touchend", f));
+  }, x = () => {
+  };
+  qe(() => {
+    document.addEventListener("touchmove", x, {
+      passive: !1
+    }), ie(e, (m) => {
+      t.value.removeEventListener("touchstart", K), v(), clearInterval(i), m && t.value.addEventListener("touchstart", K, {
+        passive: !1
+      });
+    }, {
+      immediate: !0
+    });
+  }), rt(() => {
+    document.removeEventListener("touchmove", x);
+  });
+}
+var Fn = function(e, t) {
+  var n = {};
+  for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && t.indexOf(o) < 0 && (n[o] = e[o]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var l = 0, o = Object.getOwnPropertySymbols(e); l < o.length; l++)
+    t.indexOf(o[l]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[l]) && (n[o[l]] = e[o[l]]);
+  return n;
+};
+const An = [], _n = {
+  overflowY: "auto",
+  overflowAnchor: "none"
+};
+function Bn(e, t, n, o, l, c) {
+  let {
+    getKey: i
+  } = c;
+  return e.slice(t, n + 1).map((v, S) => {
+    const f = t + S, K = l(v, f, {
+      // style: status === 'MEASURE_START' ? { visibility: 'hidden' } : {},
+    }), x = i(v);
+    return C(Pt, {
+      key: x,
+      setRef: (m) => o(v, m)
+    }, {
+      default: () => [K]
+    });
+  });
+}
+const jn = Ne({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "List",
+  inheritAttrs: !1,
+  props: {
+    prefixCls: String,
+    data: Ee.array,
+    height: Number,
+    itemHeight: Number,
+    /** If not match virtual scroll condition, Set List still use height of container. */
+    fullHeight: {
+      type: Boolean,
+      default: void 0
+    },
+    itemKey: {
+      type: [String, Number, Function],
+      required: !0
+    },
+    component: {
+      type: [String, Object]
+    },
+    /** Set `false` will always use real scroll instead of virtual one */
+    virtual: {
+      type: Boolean,
+      default: void 0
+    },
+    children: Function,
+    onScroll: Function,
+    onMousedown: Function,
+    onMouseenter: Function,
+    onVisibleChange: Function
+  },
+  setup(e, t) {
+    let {
+      expose: n
+    } = t;
+    const o = E(() => {
+      const {
+        height: h,
+        itemHeight: b,
+        virtual: H
+      } = e;
+      return !!(H !== !1 && h && b);
+    }), l = E(() => {
+      const {
+        height: h,
+        itemHeight: b,
+        data: H
+      } = e;
+      return o.value && H && b * H.length > h;
+    }), c = _e({
+      scrollTop: 0,
+      scrollMoving: !1
+    }), i = E(() => e.data || An), v = L([]);
+    ie(i, () => {
+      v.value = it(i.value).slice();
+    }, {
+      immediate: !0
+    });
+    const S = L((h) => {
+    });
+    ie(() => e.itemKey, (h) => {
+      typeof h == "function" ? S.value = h : S.value = (b) => b == null ? void 0 : b[h];
+    }, {
+      immediate: !0
+    });
+    const f = L(), K = L(), x = L(), m = (h) => S.value(h), D = {
+      getKey: m
+    };
+    function j(h) {
+      let b;
+      typeof h == "function" ? b = h(c.scrollTop) : b = h;
+      const H = Q(b);
+      f.value && (f.value.scrollTop = H), c.scrollTop = H;
+    }
+    const [y, N, O, V] = On(v, m), T = _e({
+      scrollHeight: void 0,
+      start: 0,
+      end: 0,
+      offset: void 0
+    }), Y = L(0);
+    qe(() => {
+      Ae(() => {
+        var h;
+        Y.value = ((h = K.value) === null || h === void 0 ? void 0 : h.offsetHeight) || 0;
+      });
+    }), Tt(() => {
+      Ae(() => {
+        var h;
+        Y.value = ((h = K.value) === null || h === void 0 ? void 0 : h.offsetHeight) || 0;
+      });
+    }), ie([o, v], () => {
+      o.value || w(T, {
+        scrollHeight: void 0,
+        start: 0,
+        end: v.value.length - 1,
+        offset: void 0
+      });
+    }, {
+      immediate: !0
+    }), ie([o, v, Y, l], () => {
+      o.value && !l.value && w(T, {
+        scrollHeight: Y.value,
+        start: 0,
+        end: v.value.length - 1,
+        offset: void 0
+      }), f.value && (c.scrollTop = f.value.scrollTop);
+    }, {
+      immediate: !0
+    }), ie([l, o, () => c.scrollTop, v, V, () => e.height, Y], () => {
+      if (!o.value || !l.value)
+        return;
+      let h = 0, b, H, X;
+      const de = v.value.length, ge = v.value, ye = c.scrollTop, {
+        itemHeight: xe,
+        height: Me
+      } = e, Ie = ye + Me;
+      for (let pe = 0; pe < de; pe += 1) {
+        const Le = ge[pe], He = m(Le);
+        let Ke = O.get(He);
+        Ke === void 0 && (Ke = xe);
+        const De = h + Ke;
+        b === void 0 && De >= ye && (b = pe, H = h), X === void 0 && De > Ie && (X = pe), h = De;
+      }
+      b === void 0 && (b = 0, H = 0, X = Math.ceil(Me / xe)), X === void 0 && (X = de - 1), X = Math.min(X + 1, de), w(T, {
+        scrollHeight: h,
+        start: b,
+        end: X,
+        offset: H
+      });
+    }, {
+      immediate: !0
+    });
+    const B = E(() => T.scrollHeight - e.height);
+    function Q(h) {
+      let b = h;
+      return Number.isNaN(B.value) || (b = Math.min(b, B.value)), b = Math.max(b, 0), b;
+    }
+    const q = E(() => c.scrollTop <= 0), A = E(() => c.scrollTop >= B.value), G = It(q, A);
+    function Z(h) {
+      j(h);
+    }
+    function z(h) {
+      var b;
+      const {
+        scrollTop: H
+      } = h.currentTarget;
+      H !== c.scrollTop && j(H), (b = e.onScroll) === null || b === void 0 || b.call(e, h);
+    }
+    const [U, ee] = Ln(o, q, A, (h) => {
+      j((b) => b + h);
+    });
+    Rn(o, f, (h, b) => G(h, b) ? !1 : (U({
+      preventDefault() {
+      },
+      deltaY: h
+    }), !0));
+    function le(h) {
+      o.value && h.preventDefault();
+    }
+    const se = () => {
+      f.value && (f.value.removeEventListener("wheel", U, Ce ? {
+        passive: !1
+      } : !1), f.value.removeEventListener("DOMMouseScroll", ee), f.value.removeEventListener("MozMousePixelScroll", le));
+    };
+    Pe(() => {
+      Ae(() => {
+        f.value && (se(), f.value.addEventListener("wheel", U, Ce ? {
+          passive: !1
+        } : !1), f.value.addEventListener("DOMMouseScroll", ee), f.value.addEventListener("MozMousePixelScroll", le));
+      });
+    }), rt(() => {
+      se();
+    });
+    const Se = Pn(f, v, O, e, m, N, j, () => {
+      var h;
+      (h = x.value) === null || h === void 0 || h.delayHidden();
+    });
+    n({
+      scrollTo: Se
+    });
+    const ce = E(() => {
+      let h = null;
+      return e.height && (h = w({
+        [e.fullHeight ? "height" : "maxHeight"]: e.height + "px"
+      }, _n), o.value && (h.overflowY = "hidden", c.scrollMoving && (h.pointerEvents = "none"))), h;
+    });
+    return ie([() => T.start, () => T.end, v], () => {
+      if (e.onVisibleChange) {
+        const h = v.value.slice(T.start, T.end + 1);
+        e.onVisibleChange(h, v.value);
+      }
+    }, {
+      flush: "post"
+    }), {
+      state: c,
+      mergedData: v,
+      componentStyle: ce,
+      onFallbackScroll: z,
+      onScrollBar: Z,
+      componentRef: f,
+      useVirtual: o,
+      calRes: T,
+      collectHeight: N,
+      setInstance: y,
+      sharedConfig: D,
+      scrollBarRef: x,
+      fillerInnerRef: K,
+      delayHideScrollBar: () => {
+        var h;
+        (h = x.value) === null || h === void 0 || h.delayHidden();
+      }
+    };
+  },
+  render() {
+    const e = w(w({}, this.$props), this.$attrs), {
+      prefixCls: t = "rc-virtual-list",
+      height: n,
+      itemHeight: o,
+      // eslint-disable-next-line no-unused-vars
+      fullHeight: l,
+      data: c,
+      itemKey: i,
+      virtual: v,
+      component: S = "div",
+      onScroll: f,
+      children: K = this.$slots.default,
+      style: x,
+      class: m
+    } = e, D = Fn(e, ["prefixCls", "height", "itemHeight", "fullHeight", "data", "itemKey", "virtual", "component", "onScroll", "children", "style", "class"]), j = ue(t, m), {
+      scrollTop: y
+    } = this.state, {
+      scrollHeight: N,
+      offset: O,
+      start: V,
+      end: T
+    } = this.calRes, {
+      componentStyle: Y,
+      onFallbackScroll: B,
+      onScrollBar: Q,
+      useVirtual: q,
+      collectHeight: A,
+      sharedConfig: G,
+      setInstance: Z,
+      mergedData: z,
+      delayHideScrollBar: U
+    } = this;
+    return C("div", re({
+      style: w(w({}, x), {
+        position: "relative"
+      }),
+      class: j
+    }, D), [C(S, {
+      class: `${t}-holder`,
+      style: Y,
+      ref: "componentRef",
+      onScroll: B,
+      onMouseenter: U
+    }, {
+      default: () => [C(Je, {
+        prefixCls: t,
+        height: N,
+        offset: O,
+        onInnerResize: A,
+        ref: "fillerInnerRef"
+      }, {
+        default: () => Bn(z, V, T, Z, K, G)
+      })]
+    }), q && C(Mn, {
+      ref: "scrollBarRef",
+      prefixCls: t,
+      scrollTop: y,
+      height: n,
+      scrollHeight: N,
+      count: z.length,
+      onScroll: Q,
+      onStartMove: () => {
+        this.state.scrollMoving = !0;
+      },
+      onStopMove: () => {
+        this.state.scrollMoving = !1;
+      }
+    }, null)]);
+  }
+}), Lt = Symbol("TreeContextKey"), Yn = Ne({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "TreeContext",
+  props: {
+    value: {
+      type: Object
+    }
+  },
+  setup(e, t) {
+    let {
+      slots: n
+    } = t;
+    return $t(Lt, E(() => e.value)), () => {
+      var o;
+      return (o = n.default) === null || o === void 0 ? void 0 : o.call(n);
+    };
+  }
+}), ct = () => Nt(Lt, E(() => ({}))), Ht = Symbol("KeysStateKey"), zn = (e) => {
+  $t(Ht, e);
+}, Rt = () => Nt(Ht, {
+  expandedKeys: L([]),
+  selectedKeys: L([]),
+  loadedKeys: L([]),
+  loadingKeys: L([]),
+  checkedKeys: L([]),
+  halfCheckedKeys: L([]),
+  expandedKeysSet: E(() => /* @__PURE__ */ new Set()),
+  selectedKeysSet: E(() => /* @__PURE__ */ new Set()),
+  loadedKeysSet: E(() => /* @__PURE__ */ new Set()),
+  loadingKeysSet: E(() => /* @__PURE__ */ new Set()),
+  checkedKeysSet: E(() => /* @__PURE__ */ new Set()),
+  halfCheckedKeysSet: E(() => /* @__PURE__ */ new Set()),
+  flattenNodes: L([])
+}), Vn = (e) => {
+  let {
+    prefixCls: t,
+    level: n,
+    isStart: o,
+    isEnd: l
+  } = e;
+  const c = `${t}-indent-unit`, i = [];
+  for (let v = 0; v < n; v += 1)
+    i.push(C("span", {
+      key: v,
+      class: {
+        [c]: !0,
+        [`${c}-start`]: o[v],
+        [`${c}-end`]: l[v]
+      }
+    }, null));
+  return C("span", {
+    "aria-hidden": "true",
+    class: `${t}-indent`
+  }, [i]);
+}, Ft = {
+  eventKey: [String, Number],
+  prefixCls: String,
+  // By parent
+  // expanded: { type: Boolean, default: undefined },
+  // selected: { type: Boolean, default: undefined },
+  // checked: { type: Boolean, default: undefined },
+  // loaded: { type: Boolean, default: undefined },
+  // loading: { type: Boolean, default: undefined },
+  // halfChecked: { type: Boolean, default: undefined },
+  // dragOver: { type: Boolean, default: undefined },
+  // dragOverGapTop: { type: Boolean, default: undefined },
+  // dragOverGapBottom: { type: Boolean, default: undefined },
+  // pos: String,
+  title: Ee.any,
+  /** New added in Tree for easy data access */
+  data: {
+    type: Object,
+    default: void 0
+  },
+  parent: {
+    type: Object,
+    default: void 0
+  },
+  isStart: {
+    type: Array
+  },
+  isEnd: {
+    type: Array
+  },
+  active: {
+    type: Boolean,
+    default: void 0
+  },
+  onMousemove: {
+    type: Function
+  },
+  // By user
+  isLeaf: {
+    type: Boolean,
+    default: void 0
+  },
+  checkable: {
+    type: Boolean,
+    default: void 0
+  },
+  selectable: {
+    type: Boolean,
+    default: void 0
+  },
+  disabled: {
+    type: Boolean,
+    default: void 0
+  },
+  disableCheckbox: {
+    type: Boolean,
+    default: void 0
+  },
+  icon: Ee.any,
+  switcherIcon: Ee.any,
+  domRef: {
+    type: Function
+  }
+}, Un = {
+  prefixCls: {
+    type: String
+  },
+  // data: { type: Array as PropType<FlattenNode[]> },
+  motion: {
+    type: Object
+  },
+  focusable: {
+    type: Boolean
+  },
+  activeItem: {
+    type: Object
+  },
+  focused: {
+    type: Boolean
+  },
+  tabindex: {
+    type: Number
+  },
+  checkable: {
+    type: Boolean
+  },
+  selectable: {
+    type: Boolean
+  },
+  disabled: {
+    type: Boolean
+  },
+  // expandedKeys: { type: Array as PropType<Key[]> },
+  // selectedKeys: { type: Array as PropType<Key[]> },
+  // checkedKeys: { type: Array as PropType<Key[]> },
+  // loadedKeys: { type: Array as PropType<Key[]> },
+  // loadingKeys: { type: Array as PropType<Key[]> },
+  // halfCheckedKeys: { type: Array as PropType<Key[]> },
+  // keyEntities: { type: Object as PropType<Record<Key, DataEntity<DataNode>>> },
+  // dragging: { type: Boolean as PropType<boolean> },
+  // dragOverNodeKey: { type: [String, Number] as PropType<Key> },
+  // dropPosition: { type: Number as PropType<number> },
+  // Virtual list
+  height: {
+    type: Number
+  },
+  itemHeight: {
+    type: Number
+  },
+  virtual: {
+    type: Boolean
+  },
+  onScroll: {
+    type: Function
+  },
+  onKeydown: {
+    type: Function
+  },
+  onFocus: {
+    type: Function
+  },
+  onBlur: {
+    type: Function
+  },
+  onActiveChange: {
+    type: Function
+  },
+  onContextmenu: {
+    type: Function
+  },
+  onListChangeStart: {
+    type: Function
+  },
+  onListChangeEnd: {
+    type: Function
+  }
+}, Wn = () => ({
+  prefixCls: String,
+  focusable: {
+    type: Boolean,
+    default: void 0
+  },
+  activeKey: [Number, String],
+  tabindex: Number,
+  children: Ee.any,
+  treeData: {
+    type: Array
+  },
+  fieldNames: {
+    type: Object
+  },
+  showLine: {
+    type: [Boolean, Object],
+    default: void 0
+  },
+  showIcon: {
+    type: Boolean,
+    default: void 0
+  },
+  icon: Ee.any,
+  selectable: {
+    type: Boolean,
+    default: void 0
+  },
+  expandAction: [String, Boolean],
+  disabled: {
+    type: Boolean,
+    default: void 0
+  },
+  multiple: {
+    type: Boolean,
+    default: void 0
+  },
+  checkable: {
+    type: Boolean,
+    default: void 0
+  },
+  checkStrictly: {
+    type: Boolean,
+    default: void 0
+  },
+  draggable: {
+    type: [Function, Boolean]
+  },
+  defaultExpandParent: {
+    type: Boolean,
+    default: void 0
+  },
+  autoExpandParent: {
+    type: Boolean,
+    default: void 0
+  },
+  defaultExpandAll: {
+    type: Boolean,
+    default: void 0
+  },
+  defaultExpandedKeys: {
+    type: Array
+  },
+  expandedKeys: {
+    type: Array
+  },
+  defaultCheckedKeys: {
+    type: Array
+  },
+  checkedKeys: {
+    type: [Object, Array]
+  },
+  defaultSelectedKeys: {
+    type: Array
+  },
+  selectedKeys: {
+    type: Array
+  },
+  allowDrop: {
+    type: Function
+  },
+  dropIndicatorRender: {
+    type: Function
+  },
+  onFocus: {
+    type: Function
+  },
+  onBlur: {
+    type: Function
+  },
+  onKeydown: {
+    type: Function
+  },
+  onContextmenu: {
+    type: Function
+  },
+  onClick: {
+    type: Function
+  },
+  onDblclick: {
+    type: Function
+  },
+  onScroll: {
+    type: Function
+  },
+  onExpand: {
+    type: Function
+  },
+  onCheck: {
+    type: Function
+  },
+  onSelect: {
+    type: Function
+  },
+  onLoad: {
+    type: Function
+  },
+  loadData: {
+    type: Function
+  },
+  loadedKeys: {
+    type: Array
+  },
+  onMouseenter: {
+    type: Function
+  },
+  onMouseleave: {
+    type: Function
+  },
+  onRightClick: {
+    type: Function
+  },
+  onDragstart: {
+    type: Function
+  },
+  onDragenter: {
+    type: Function
+  },
+  onDragover: {
+    type: Function
+  },
+  onDragleave: {
+    type: Function
+  },
+  onDragend: {
+    type: Function
+  },
+  onDrop: {
+    type: Function
+  },
+  /**
+   * Used for `rc-tree-select` only.
+   * Do not use in your production code directly since this will be refactor.
+   */
+  onActiveChange: {
+    type: Function
+  },
+  filterTreeNode: {
+    type: Function
+  },
+  motion: Ee.any,
+  switcherIcon: Ee.any,
+  // Virtual List
+  height: Number,
+  itemHeight: Number,
+  virtual: {
+    type: Boolean,
+    default: void 0
+  },
+  // direction for drag logic
+  direction: {
+    type: String
+  },
+  rootClassName: String,
+  rootStyle: Object
+});
+var Gn = function(e, t) {
+  var n = {};
+  for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && t.indexOf(o) < 0 && (n[o] = e[o]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var l = 0, o = Object.getOwnPropertySymbols(e); l < o.length; l++)
+    t.indexOf(o[l]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[l]) && (n[o[l]] = e[o[l]]);
+  return n;
+};
+const yt = "open", pt = "close", Xn = "---", mt = Ne({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "ATreeNode",
+  inheritAttrs: !1,
+  props: Ft,
+  isTreeNode: 1,
+  setup(e, t) {
+    let {
+      attrs: n,
+      slots: o,
+      expose: l
+    } = t;
+    Ue(!("slots" in e.data), `treeData slots is deprecated, please use ${Object.keys(e.data.slots || {}).map((a) => "`v-slot:" + a + "` ")}instead`);
+    const c = L(!1), i = ct(), {
+      expandedKeysSet: v,
+      selectedKeysSet: S,
+      loadedKeysSet: f,
+      loadingKeysSet: K,
+      checkedKeysSet: x,
+      halfCheckedKeysSet: m
+    } = Rt(), {
+      dragOverNodeKey: D,
+      dropPosition: j,
+      keyEntities: y
+    } = i.value, N = E(() => Ge(e.eventKey, {
+      expandedKeysSet: v.value,
+      selectedKeysSet: S.value,
+      loadedKeysSet: f.value,
+      loadingKeysSet: K.value,
+      checkedKeysSet: x.value,
+      halfCheckedKeysSet: m.value,
+      dragOverNodeKey: D,
+      dropPosition: j,
+      keyEntities: y
+    })), O = he(() => N.value.expanded), V = he(() => N.value.selected), T = he(() => N.value.checked), Y = he(() => N.value.loaded), B = he(() => N.value.loading), Q = he(() => N.value.halfChecked), q = he(() => N.value.dragOver), A = he(() => N.value.dragOverGapTop), G = he(() => N.value.dragOverGapBottom), Z = he(() => N.value.pos), z = L(), U = E(() => {
+      const {
+        eventKey: a
+      } = e, {
+        keyEntities: d
+      } = i.value, {
+        children: R
+      } = d[a] || {};
+      return !!(R || []).length;
+    }), ee = E(() => {
+      const {
+        isLeaf: a
+      } = e, {
+        loadData: d
+      } = i.value, R = U.value;
+      return a === !1 ? !1 : a || !d && !R || d && Y.value && !R;
+    }), le = E(() => ee.value ? null : O.value ? yt : pt), se = E(() => {
+      const {
+        disabled: a
+      } = e, {
+        disabled: d
+      } = i.value;
+      return !!(d || a);
+    }), Se = E(() => {
+      const {
+        checkable: a
+      } = e, {
+        checkable: d
+      } = i.value;
+      return !d || a === !1 ? !1 : d;
+    }), ce = E(() => {
+      const {
+        selectable: a
+      } = e, {
+        selectable: d
+      } = i.value;
+      return typeof a == "boolean" ? a : d;
+    }), W = E(() => {
+      const {
+        data: a,
+        active: d,
+        checkable: R,
+        disableCheckbox: J,
+        disabled: te,
+        selectable: ne
+      } = e;
+      return w(w({
+        active: d,
+        checkable: R,
+        disableCheckbox: J,
+        disabled: te,
+        selectable: ne
+      }, a), {
+        dataRef: a,
+        data: a,
+        isLeaf: ee.value,
+        checked: T.value,
+        expanded: O.value,
+        loading: B.value,
+        selected: V.value,
+        halfChecked: Q.value
+      });
+    }), h = pn(), b = E(() => {
+      const {
+        eventKey: a
+      } = e, {
+        keyEntities: d
+      } = i.value, {
+        parent: R
+      } = d[a] || {};
+      return w(w({}, Xe(w({}, e, N.value))), {
+        parent: R
+      });
+    }), H = _e({
+      eventData: b,
+      eventKey: E(() => e.eventKey),
+      selectHandle: z,
+      pos: Z,
+      key: h.vnode.key
+    });
+    l(H);
+    const X = (a) => {
+      const {
+        onNodeDoubleClick: d
+      } = i.value;
+      d(a, b.value);
+    }, de = (a) => {
+      if (se.value) return;
+      const {
+        onNodeSelect: d
+      } = i.value;
+      a.preventDefault(), d(a, b.value);
+    }, ge = (a) => {
+      if (se.value) return;
+      const {
+        disableCheckbox: d
+      } = e, {
+        onNodeCheck: R
+      } = i.value;
+      if (!Se.value || d) return;
+      a.preventDefault();
+      const J = !T.value;
+      R(a, b.value, J);
+    }, ye = (a) => {
+      const {
+        onNodeClick: d
+      } = i.value;
+      d(a, b.value), ce.value ? de(a) : ge(a);
+    }, xe = (a) => {
+      const {
+        onNodeMouseEnter: d
+      } = i.value;
+      d(a, b.value);
+    }, Me = (a) => {
+      const {
+        onNodeMouseLeave: d
+      } = i.value;
+      d(a, b.value);
+    }, Ie = (a) => {
+      const {
+        onNodeContextMenu: d
+      } = i.value;
+      d(a, b.value);
+    }, pe = (a) => {
+      const {
+        onNodeDragStart: d
+      } = i.value;
+      a.stopPropagation(), c.value = !0, d(a, H);
+      try {
+        a.dataTransfer.setData("text/plain", "");
+      } catch (R) {
+      }
+    }, Le = (a) => {
+      const {
+        onNodeDragEnter: d
+      } = i.value;
+      a.preventDefault(), a.stopPropagation(), d(a, H);
+    }, He = (a) => {
+      const {
+        onNodeDragOver: d
+      } = i.value;
+      a.preventDefault(), a.stopPropagation(), d(a, H);
+    }, Ke = (a) => {
+      const {
+        onNodeDragLeave: d
+      } = i.value;
+      a.stopPropagation(), d(a, H);
+    }, De = (a) => {
+      const {
+        onNodeDragEnd: d
+      } = i.value;
+      a.stopPropagation(), c.value = !1, d(a, H);
+    }, Qe = (a) => {
+      const {
+        onNodeDrop: d
+      } = i.value;
+      a.preventDefault(), a.stopPropagation(), c.value = !1, d(a, H);
+    }, Be = (a) => {
+      const {
+        onNodeExpand: d
+      } = i.value;
+      B.value || d(a, b.value);
+    }, je = () => {
+      const {
+        data: a
+      } = e, {
+        draggable: d
+      } = i.value;
+      return !!(d && (!d.nodeDraggable || d.nodeDraggable(a)));
+    }, Ye = () => {
+      const {
+        draggable: a,
+        prefixCls: d
+      } = i.value;
+      return a && (a != null && a.icon) ? C("span", {
+        class: `${d}-draggable-icon`
+      }, [a.icon]) : null;
+    }, Ze = () => {
+      var a, d, R;
+      const {
+        switcherIcon: J = o.switcherIcon || ((a = i.value.slots) === null || a === void 0 ? void 0 : a[(R = (d = e.data) === null || d === void 0 ? void 0 : d.slots) === null || R === void 0 ? void 0 : R.switcherIcon])
+      } = e, {
+        switcherIcon: te
+      } = i.value, ne = J || te;
+      return typeof ne == "function" ? ne(W.value) : ne;
+    }, ze = () => {
+      const {
+        loadData: a,
+        onNodeLoad: d
+      } = i.value;
+      B.value || a && O.value && !ee.value && !U.value && !Y.value && d(b.value);
+    };
+    qe(() => {
+      ze();
+    }), Tt(() => {
+      ze();
+    });
+    const et = () => {
+      const {
+        prefixCls: a
+      } = i.value, d = Ze();
+      if (ee.value)
+        return d !== !1 ? C("span", {
+          class: ue(`${a}-switcher`, `${a}-switcher-noop`)
+        }, [d]) : null;
+      const R = ue(`${a}-switcher`, `${a}-switcher_${O.value ? yt : pt}`);
+      return d !== !1 ? C("span", {
+        onClick: Be,
+        class: R
+      }, [d]) : null;
+    }, tt = () => {
+      var a, d;
+      const {
+        disableCheckbox: R
+      } = e, {
+        prefixCls: J
+      } = i.value, te = se.value;
+      return Se.value ? C("span", {
+        class: ue(`${J}-checkbox`, T.value && `${J}-checkbox-checked`, !T.value && Q.value && `${J}-checkbox-indeterminate`, (te || R) && `${J}-checkbox-disabled`),
+        onClick: ge
+      }, [(d = (a = i.value).customCheckable) === null || d === void 0 ? void 0 : d.call(a)]) : null;
+    }, Ve = () => {
+      const {
+        prefixCls: a
+      } = i.value;
+      return C("span", {
+        class: ue(`${a}-iconEle`, `${a}-icon__${le.value || "docu"}`, B.value && `${a}-icon_loading`)
+      }, null);
+    }, Te = () => {
+      const {
+        disabled: a,
+        eventKey: d
+      } = e, {
+        draggable: R,
+        dropLevelOffset: J,
+        dropPosition: te,
+        prefixCls: ne,
+        indent: s,
+        dropIndicatorRender: r,
+        dragOverNodeKey: u,
+        direction: p
+      } = i.value;
+      return !a && R !== !1 && u === d ? r({
+        dropPosition: te,
+        dropLevelOffset: J,
+        indent: s,
+        prefixCls: ne,
+        direction: p
+      }) : null;
+    }, nt = () => {
+      var a, d, R, J, te, ne;
+      const {
+        // title = slots.title ||
+        //   context.value.slots?.[props.data?.slots?.title] ||
+        //   context.value.slots?.title,
+        // selected,
+        icon: s = o.icon,
+        // loading,
+        data: r
+      } = e, u = o.title || ((a = i.value.slots) === null || a === void 0 ? void 0 : a[(R = (d = e.data) === null || d === void 0 ? void 0 : d.slots) === null || R === void 0 ? void 0 : R.title]) || ((J = i.value.slots) === null || J === void 0 ? void 0 : J.title) || e.title, {
+        prefixCls: p,
+        showIcon: $,
+        icon: k,
+        loadData: g
+        // slots: contextSlots,
+      } = i.value, I = se.value, _ = `${p}-node-content-wrapper`;
+      let M;
+      if ($) {
+        const oe = s || ((te = i.value.slots) === null || te === void 0 ? void 0 : te[(ne = r == null ? void 0 : r.slots) === null || ne === void 0 ? void 0 : ne.icon]) || k;
+        M = oe ? C("span", {
+          class: ue(`${p}-iconEle`, `${p}-icon__customize`)
+        }, [typeof oe == "function" ? oe(W.value) : oe]) : Ve();
+      } else g && B.value && (M = Ve());
+      let P;
+      typeof u == "function" ? P = u(W.value) : P = u, P = P === void 0 ? Xn : P;
+      const F = C("span", {
+        class: `${p}-title`
+      }, [P]);
+      return C("span", {
+        ref: z,
+        title: typeof u == "string" ? u : "",
+        class: ue(`${_}`, `${_}-${le.value || "normal"}`, !I && (V.value || c.value) && `${p}-node-selected`),
+        onMouseenter: xe,
+        onMouseleave: Me,
+        onContextmenu: Ie,
+        onClick: ye,
+        onDblclick: X
+      }, [M, F, Te()]);
+    };
+    return () => {
+      const a = w(w({}, e), n), {
+        eventKey: d,
+        isLeaf: R,
+        isStart: J,
+        isEnd: te,
+        domRef: ne,
+        active: s,
+        data: r,
+        onMousemove: u,
+        selectable: p
+      } = a, $ = Gn(a, ["eventKey", "isLeaf", "isStart", "isEnd", "domRef", "active", "data", "onMousemove", "selectable"]), {
+        prefixCls: k,
+        filterTreeNode: g,
+        keyEntities: I,
+        dropContainerKey: _,
+        dropTargetKey: M,
+        draggingNodeKey: P
+      } = i.value, F = se.value, oe = Ot($, {
+        aria: !0,
+        data: !0
+      }), {
+        level: fe
+      } = I[d] || {}, ve = te[te.length - 1], ae = je(), ke = !F && ae, Re = P === d, ot = p !== void 0 ? {
+        "aria-selected": !!p
+      } : void 0;
+      return C("div", re(re({
+        ref: ne,
+        class: ue(n.class, `${k}-treenode`, {
+          [`${k}-treenode-disabled`]: F,
+          [`${k}-treenode-switcher-${O.value ? "open" : "close"}`]: !R,
+          [`${k}-treenode-checkbox-checked`]: T.value,
+          [`${k}-treenode-checkbox-indeterminate`]: Q.value,
+          [`${k}-treenode-selected`]: V.value,
+          [`${k}-treenode-loading`]: B.value,
+          [`${k}-treenode-active`]: s,
+          [`${k}-treenode-leaf-last`]: ve,
+          [`${k}-treenode-draggable`]: ke,
+          dragging: Re,
+          "drop-target": M === d,
+          "drop-container": _ === d,
+          "drag-over": !F && q.value,
+          "drag-over-gap-top": !F && A.value,
+          "drag-over-gap-bottom": !F && G.value,
+          "filter-node": g && g(b.value)
+        }),
+        style: n.style,
+        draggable: ke,
+        "aria-grabbed": Re,
+        onDragstart: ke ? pe : void 0,
+        onDragenter: ae ? Le : void 0,
+        onDragover: ae ? He : void 0,
+        onDragleave: ae ? Ke : void 0,
+        onDrop: ae ? Qe : void 0,
+        onDragend: ae ? De : void 0,
+        onMousemove: u
+      }, ot), oe), [C(Vn, {
+        prefixCls: k,
+        level: fe,
+        isStart: J,
+        isEnd: te
+      }, null), Ye(), et(), tt(), nt()]);
+    };
+  }
+});
+var bt = function(e, t) {
+  var n = {};
+  for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && t.indexOf(o) < 0 && (n[o] = e[o]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var l = 0, o = Object.getOwnPropertySymbols(e); l < o.length; l++)
+    t.indexOf(o[l]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[l]) && (n[o[l]] = e[o[l]]);
+  return n;
+};
+const qn = Ne({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "MotionTreeNode",
+  inheritAttrs: !1,
+  props: w(w({}, Ft), {
+    active: Boolean,
+    motion: Object,
+    motionNodes: {
+      type: Array
+    },
+    onMotionStart: Function,
+    onMotionEnd: Function,
+    motionType: String
+  }),
+  setup(e, t) {
+    let {
+      attrs: n,
+      slots: o
+    } = t;
+    const l = L(!0), c = ct(), i = L(!1), v = E(() => e.motion ? e.motion : nn()), S = (f, K) => {
+      var x, m, D, j;
+      K === "appear" ? (m = (x = v.value) === null || x === void 0 ? void 0 : x.onAfterEnter) === null || m === void 0 || m.call(x, f) : K === "leave" && ((j = (D = v.value) === null || D === void 0 ? void 0 : D.onAfterLeave) === null || j === void 0 || j.call(D, f)), i.value || e.onMotionEnd(), i.value = !0;
+    };
+    return ie(() => e.motionNodes, () => {
+      e.motionNodes && e.motionType === "hide" && l.value && Ae(() => {
+        l.value = !1;
+      });
+    }, {
+      immediate: !0,
+      flush: "post"
+    }), qe(() => {
+      e.motionNodes && e.onMotionStart();
+    }), rt(() => {
+      e.motionNodes && S();
+    }), () => {
+      const {
+        motion: f,
+        motionNodes: K,
+        motionType: x,
+        active: m,
+        eventKey: D
+      } = e, j = bt(e, ["motion", "motionNodes", "motionType", "active", "eventKey"]);
+      return K ? C(mn, re(re({}, v.value), {}, {
+        appear: x === "show",
+        onAfterAppear: (y) => S(y, "appear"),
+        onAfterLeave: (y) => S(y, "leave")
+      }), {
+        default: () => [bn(C("div", {
+          class: `${c.value.prefixCls}-treenode-motion`
+        }, [K.map((y) => {
+          const N = bt(y.data, []), {
+            title: O,
+            key: V,
+            isStart: T,
+            isEnd: Y
+          } = y;
+          return delete N.children, C(mt, re(re({}, N), {}, {
+            title: O,
+            active: m,
+            data: y.data,
+            key: V,
+            eventKey: V,
+            isStart: T,
+            isEnd: Y
+          }), o);
+        })]), [[Sn, l.value]])]
+      }) : C(mt, re(re({
+        class: n.class,
+        style: n.style
+      }, j), {}, {
+        active: m,
+        eventKey: D
+      }), o);
+    };
+  }
+});
+function Jn() {
+  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
+  const n = e.length, o = t.length;
+  if (Math.abs(n - o) !== 1)
+    return {
+      add: !1,
+      key: null
+    };
+  function l(c, i) {
+    const v = /* @__PURE__ */ new Map();
+    c.forEach((f) => {
+      v.set(f, !0);
+    });
+    const S = i.filter((f) => !v.has(f));
+    return S.length === 1 ? S[0] : null;
+  }
+  return n < o ? {
+    add: !0,
+    key: l(e, t)
+  } : {
+    add: !1,
+    key: l(t, e)
+  };
+}
+function St(e, t, n) {
+  const o = e.findIndex((i) => i.key === n), l = e[o + 1], c = t.findIndex((i) => i.key === n);
+  if (l) {
+    const i = t.findIndex((v) => v.key === l.key);
+    return t.slice(c + 1, i);
+  }
+  return t.slice(c + 1);
+}
+var xt = function(e, t) {
+  var n = {};
+  for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && t.indexOf(o) < 0 && (n[o] = e[o]);
+  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var l = 0, o = Object.getOwnPropertySymbols(e); l < o.length; l++)
+    t.indexOf(o[l]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[l]) && (n[o[l]] = e[o[l]]);
+  return n;
+};
+const Kt = {
+  width: 0,
+  height: 0,
+  display: "flex",
+  overflow: "hidden",
+  opacity: 0,
+  border: 0,
+  padding: 0,
+  margin: 0
+}, Qn = () => {
+}, $e = `RC_TREE_MOTION_${Math.random()}`, st = {
+  key: $e
+}, At = {
+  key: $e,
+  level: 0,
+  index: 0,
+  pos: "0",
+  node: st,
+  nodes: [st]
+}, kt = {
+  parent: null,
+  children: [],
+  pos: At.pos,
+  data: st,
+  title: null,
+  key: $e,
+  /** Hold empty list here since we do not use it */
+  isStart: [],
+  isEnd: []
+};
+function wt(e, t, n, o) {
+  return t === !1 || !n ? e : e.slice(0, Math.ceil(n / o) + 1);
+}
+function Ct(e) {
+  const {
+    key: t,
+    pos: n
+  } = e;
+  return Mt(t, n);
+}
+function Zn(e) {
+  let t = String(e.key), n = e;
+  for (; n.parent; )
+    n = n.parent, t = `${n.key} > ${t}`;
+  return t;
+}
+const eo = Ne({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "NodeList",
+  inheritAttrs: !1,
+  props: Un,
+  setup(e, t) {
+    let {
+      expose: n,
+      attrs: o
+    } = t;
+    const l = We(), c = We(), {
+      expandedKeys: i,
+      flattenNodes: v
+    } = Rt();
+    n({
+      scrollTo: (y) => {
+        l.value.scrollTo(y);
+      },
+      getIndentWidth: () => c.value.offsetWidth
+    });
+    const S = L(v.value), f = L([]), K = We(null);
+    function x() {
+      S.value = v.value, f.value = [], K.value = null, e.onListChangeEnd();
+    }
+    const m = ct();
+    ie([() => i.value.slice(), v], (y, N) => {
+      let [O, V] = y, [T, Y] = N;
+      const B = Jn(T, O);
+      if (B.key !== null) {
+        const {
+          virtual: Q,
+          height: q,
+          itemHeight: A
+        } = e;
+        if (B.add) {
+          const G = Y.findIndex((U) => {
+            let {
+              key: ee
+            } = U;
+            return ee === B.key;
+          }), Z = wt(St(Y, V, B.key), Q, q, A), z = Y.slice();
+          z.splice(G + 1, 0, kt), S.value = z, f.value = Z, K.value = "show";
+        } else {
+          const G = V.findIndex((U) => {
+            let {
+              key: ee
+            } = U;
+            return ee === B.key;
+          }), Z = wt(St(V, Y, B.key), Q, q, A), z = V.slice();
+          z.splice(G + 1, 0, kt), S.value = z, f.value = Z, K.value = "hide";
+        }
+      } else Y !== V && (S.value = V);
+    }), ie(() => m.value.dragging, (y) => {
+      y || x();
+    });
+    const D = E(() => e.motion === void 0 ? S.value : v.value), j = () => {
+      e.onActiveChange(null);
+    };
+    return () => {
+      const y = w(w({}, e), o), {
+        prefixCls: N,
+        selectable: O,
+        checkable: V,
+        disabled: T,
+        motion: Y,
+        height: B,
+        itemHeight: Q,
+        virtual: q,
+        focusable: A,
+        activeItem: G,
+        focused: Z,
+        tabindex: z,
+        onKeydown: U,
+        onFocus: ee,
+        onBlur: le,
+        onListChangeStart: se,
+        onListChangeEnd: Se
+      } = y, ce = xt(y, ["prefixCls", "selectable", "checkable", "disabled", "motion", "height", "itemHeight", "virtual", "focusable", "activeItem", "focused", "tabindex", "onKeydown", "onFocus", "onBlur", "onListChangeStart", "onListChangeEnd"]);
+      return C(xn, null, [Z && G && C("span", {
+        style: Kt,
+        "aria-live": "assertive"
+      }, [Zn(G)]), C("div", null, [C("input", {
+        style: Kt,
+        disabled: A === !1 || T,
+        tabindex: A !== !1 ? z : null,
+        onKeydown: U,
+        onFocus: ee,
+        onBlur: le,
+        value: "",
+        onChange: Qn,
+        "aria-label": "for screen reader"
+      }, null)]), C("div", {
+        class: `${N}-treenode`,
+        "aria-hidden": !0,
+        style: {
+          position: "absolute",
+          pointerEvents: "none",
+          visibility: "hidden",
+          height: 0,
+          overflow: "hidden"
+        }
+      }, [C("div", {
+        class: `${N}-indent`
+      }, [C("div", {
+        ref: c,
+        class: `${N}-indent-unit`
+      }, null)])]), C(jn, re(re({}, on(ce, ["onActiveChange"])), {}, {
+        data: D.value,
+        itemKey: Ct,
+        height: B,
+        fullHeight: !1,
+        virtual: q,
+        itemHeight: Q,
+        prefixCls: `${N}-list`,
+        ref: l,
+        onVisibleChange: (W, h) => {
+          const b = new Set(W);
+          h.filter((X) => !b.has(X)).some((X) => Ct(X) === $e) && x();
+        }
+      }), {
+        default: (W) => {
+          const {
+            pos: h
+          } = W, b = xt(W.data, []), {
+            title: H,
+            key: X,
+            isStart: de,
+            isEnd: ge
+          } = W, ye = Mt(X, h);
+          return delete b.key, delete b.children, C(qn, re(re({}, b), {}, {
+            eventKey: ye,
+            title: H,
+            active: !!G && X === G.key,
+            data: W.data,
+            isStart: de,
+            isEnd: ge,
+            motion: Y,
+            motionNodes: X === $e ? f.value : null,
+            motionType: K.value,
+            onMotionStart: se,
+            onMotionEnd: x,
+            onMousemove: j
+          }), null);
+        }
+      })]);
+    };
+  }
+});
+function to(e) {
+  let {
+    dropPosition: t,
+    dropLevelOffset: n,
+    indent: o
+  } = e;
+  const l = {
+    pointerEvents: "none",
+    position: "absolute",
+    right: 0,
+    backgroundColor: "red",
+    height: "2px"
+  };
+  switch (t) {
+    case -1:
+      l.top = 0, l.left = `${-n * o}px`;
+      break;
+    case 1:
+      l.bottom = 0, l.left = `${-n * o}px`;
+      break;
+    case 0:
+      l.bottom = 0, l.left = `${o}`;
+      break;
+  }
+  return C("div", {
+    style: l
+  }, null);
+}
+const no = 10, ho = Ne({
+  compatConfig: {
+    MODE: 3
+  },
+  name: "Tree",
+  inheritAttrs: !1,
+  props: ln(Wn(), {
+    prefixCls: "vc-tree",
+    showLine: !1,
+    showIcon: !0,
+    selectable: !0,
+    multiple: !1,
+    checkable: !1,
+    disabled: !1,
+    checkStrictly: !1,
+    draggable: !1,
+    expandAction: !1,
+    defaultExpandParent: !0,
+    autoExpandParent: !1,
+    defaultExpandAll: !1,
+    defaultExpandedKeys: [],
+    defaultCheckedKeys: [],
+    defaultSelectedKeys: [],
+    dropIndicatorRender: to,
+    allowDrop: () => !0
+  }),
+  setup(e, t) {
+    let {
+      attrs: n,
+      slots: o,
+      expose: l
+    } = t;
+    const c = L(!1);
+    let i = {};
+    const v = L(), S = L([]), f = L([]), K = L([]), x = L([]), m = L([]), D = L([]), j = {}, y = _e({
+      draggingNodeKey: null,
+      dragChildrenKeys: [],
+      // dropTargetKey is the key of abstract-drop-node
+      // the abstract-drop-node is the real drop node when drag and drop
+      // not the DOM drag over node
+      dropTargetKey: null,
+      dropPosition: null,
+      dropContainerKey: null,
+      dropLevelOffset: null,
+      dropTargetPos: null,
+      dropAllowed: !0,
+      // the abstract-drag-over-node
+      // if mouse is on the bottom of top dom node or no the top of the bottom dom node
+      // abstract-drag-over-node is the top node
+      dragOverNodeKey: null
+    }), N = L([]);
+    ie([() => e.treeData, () => e.children], () => {
+      N.value = e.treeData !== void 0 ? e.treeData.slice() : Kn(it(e.children));
+    }, {
+      immediate: !0,
+      deep: !0
+    });
+    const O = L({}), V = L(!1), T = L(null), Y = L(!1), B = E(() => kn(e.fieldNames)), Q = L();
+    let q = null, A = null, G = null;
+    const Z = E(() => ({
+      expandedKeysSet: z.value,
+      selectedKeysSet: U.value,
+      loadedKeysSet: ee.value,
+      loadingKeysSet: le.value,
+      checkedKeysSet: se.value,
+      halfCheckedKeysSet: Se.value,
+      dragOverNodeKey: y.dragOverNodeKey,
+      dropPosition: y.dropPosition,
+      keyEntities: O.value
+    })), z = E(() => new Set(D.value)), U = E(() => new Set(S.value)), ee = E(() => new Set(x.value)), le = E(() => new Set(m.value)), se = E(() => new Set(f.value)), Se = E(() => new Set(K.value));
+    Pe(() => {
+      if (N.value) {
+        const s = wn(N.value, {
+          fieldNames: B.value
+        });
+        O.value = w({
+          [$e]: At
+        }, s.keyEntities);
+      }
+    });
+    let ce = !1;
+    ie(
+      [() => e.expandedKeys, () => e.autoExpandParent, O],
+      // eslint-disable-next-line @typescript-eslint/no-unused-vars
+      (s, r) => {
+        let [u, p] = s, [$, k] = r, g = D.value;
+        if (e.expandedKeys !== void 0 || ce && p !== k)
+          g = e.autoExpandParent || !ce && e.defaultExpandParent ? ft(e.expandedKeys, O.value) : e.expandedKeys;
+        else if (!ce && e.defaultExpandAll) {
+          const I = w({}, O.value);
+          delete I[$e], g = Object.keys(I).map((_) => I[_].key);
+        } else !ce && e.defaultExpandedKeys && (g = e.autoExpandParent || e.defaultExpandParent ? ft(e.defaultExpandedKeys, O.value) : e.defaultExpandedKeys);
+        g && (D.value = g), ce = !0;
+      },
+      {
+        immediate: !0
+      }
+    );
+    const W = L([]);
+    Pe(() => {
+      W.value = Cn(N.value, D.value, B.value);
+    }), Pe(() => {
+      e.selectable && (e.selectedKeys !== void 0 ? S.value = vt(e.selectedKeys, e) : !ce && e.defaultSelectedKeys && (S.value = vt(e.defaultSelectedKeys, e)));
+    });
+    const {
+      maxLevel: h,
+      levelEntities: b
+    } = En(O);
+    Pe(() => {
+      if (e.checkable) {
+        let s;
+        if (e.checkedKeys !== void 0 ? s = lt(e.checkedKeys) || {} : !ce && e.defaultCheckedKeys ? s = lt(e.defaultCheckedKeys) || {} : N.value && (s = lt(e.checkedKeys) || {
+          checkedKeys: f.value,
+          halfCheckedKeys: K.value
+        }), s) {
+          let {
+            checkedKeys: r = [],
+            halfCheckedKeys: u = []
+          } = s;
+          e.checkStrictly || ({
+            checkedKeys: r,
+            halfCheckedKeys: u
+          } = at(r, !0, O.value, h.value, b.value)), f.value = r, K.value = u;
+        }
+      }
+    }), Pe(() => {
+      e.loadedKeys && (x.value = e.loadedKeys);
+    });
+    const H = () => {
+      w(y, {
+        dragOverNodeKey: null,
+        dropPosition: null,
+        dropLevelOffset: null,
+        dropTargetKey: null,
+        dropContainerKey: null,
+        dropTargetPos: null,
+        dropAllowed: !1
+      });
+    }, X = (s) => {
+      Q.value.scrollTo(s);
+    };
+    ie(() => e.activeKey, () => {
+      e.activeKey !== void 0 && (T.value = e.activeKey);
+    }, {
+      immediate: !0
+    }), ie(T, (s) => {
+      Ae(() => {
+        s !== null && X({
+          key: s
+        });
+      });
+    }, {
+      immediate: !0,
+      flush: "post"
+    });
+    const de = (s) => {
+      e.expandedKeys === void 0 && (D.value = s);
+    }, ge = () => {
+      y.draggingNodeKey !== null && w(y, {
+        draggingNodeKey: null,
+        dropPosition: null,
+        dropContainerKey: null,
+        dropTargetKey: null,
+        dropLevelOffset: null,
+        dropAllowed: !0,
+        dragOverNodeKey: null
+      }), q = null, G = null;
+    }, ye = (s, r) => {
+      const {
+        onDragend: u
+      } = e;
+      y.dragOverNodeKey = null, ge(), u == null || u({
+        event: s,
+        node: r.eventData
+      }), A = null;
+    }, xe = (s) => {
+      ye(s, null), window.removeEventListener("dragend", xe);
+    }, Me = (s, r) => {
+      const {
+        onDragstart: u
+      } = e, {
+        eventKey: p,
+        eventData: $
+      } = r;
+      A = r, q = {
+        x: s.clientX,
+        y: s.clientY
+      };
+      const k = me(D.value, p);
+      y.draggingNodeKey = p, y.dragChildrenKeys = Dn(p, O.value), v.value = Q.value.getIndentWidth(), de(k), window.addEventListener("dragend", xe), u && u({
+        event: s,
+        node: $
+      });
+    }, Ie = (s, r) => {
+      const {
+        onDragenter: u,
+        onExpand: p,
+        allowDrop: $,
+        direction: k
+      } = e, {
+        pos: g,
+        eventKey: I
+      } = r;
+      if (G !== I && (G = I), !A) {
+        H();
+        return;
+      }
+      const {
+        dropPosition: _,
+        dropLevelOffset: M,
+        dropTargetKey: P,
+        dropContainerKey: F,
+        dropTargetPos: oe,
+        dropAllowed: fe,
+        dragOverNodeKey: ve
+      } = ht(s, A, r, v.value, q, $, W.value, O.value, z.value, k);
+      if (
+        // don't allow drop inside its children
+        y.dragChildrenKeys.indexOf(P) !== -1 || // don't allow drop when drop is not allowed caculated by calcDropPosition
+        !fe
+      ) {
+        H();
+        return;
+      }
+      if (i || (i = {}), Object.keys(i).forEach((ae) => {
+        clearTimeout(i[ae]);
+      }), A.eventKey !== r.eventKey && (i[g] = window.setTimeout(() => {
+        if (y.draggingNodeKey === null) return;
+        let ae = D.value.slice();
+        const ke = O.value[r.eventKey];
+        ke && (ke.children || []).length && (ae = we(D.value, r.eventKey)), de(ae), p && p(ae, {
+          node: r.eventData,
+          expanded: !0,
+          nativeEvent: s
+        });
+      }, 800)), A.eventKey === P && M === 0) {
+        H();
+        return;
+      }
+      w(y, {
+        dragOverNodeKey: ve,
+        dropPosition: _,
+        dropLevelOffset: M,
+        dropTargetKey: P,
+        dropContainerKey: F,
+        dropTargetPos: oe,
+        dropAllowed: fe
+      }), u && u({
+        event: s,
+        node: r.eventData,
+        expandedKeys: D.value
+      });
+    }, pe = (s, r) => {
+      const {
+        onDragover: u,
+        allowDrop: p,
+        direction: $
+      } = e;
+      if (!A)
+        return;
+      const {
+        dropPosition: k,
+        dropLevelOffset: g,
+        dropTargetKey: I,
+        dropContainerKey: _,
+        dropAllowed: M,
+        dropTargetPos: P,
+        dragOverNodeKey: F
+      } = ht(s, A, r, v.value, q, p, W.value, O.value, z.value, $);
+      y.dragChildrenKeys.indexOf(I) !== -1 || !M || (A.eventKey === I && g === 0 ? y.dropPosition === null && y.dropLevelOffset === null && y.dropTargetKey === null && y.dropContainerKey === null && y.dropTargetPos === null && y.dropAllowed === !1 && y.dragOverNodeKey === null || H() : k === y.dropPosition && g === y.dropLevelOffset && I === y.dropTargetKey && _ === y.dropContainerKey && P === y.dropTargetPos && M === y.dropAllowed && F === y.dragOverNodeKey || w(y, {
+        dropPosition: k,
+        dropLevelOffset: g,
+        dropTargetKey: I,
+        dropContainerKey: _,
+        dropTargetPos: P,
+        dropAllowed: M,
+        dragOverNodeKey: F
+      }), u && u({
+        event: s,
+        node: r.eventData
+      }));
+    }, Le = (s, r) => {
+      G === r.eventKey && !s.currentTarget.contains(s.relatedTarget) && (H(), G = null);
+      const {
+        onDragleave: u
+      } = e;
+      u && u({
+        event: s,
+        node: r.eventData
+      });
+    }, He = function(s, r) {
+      let u = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
+      var p;
+      const {
+        dragChildrenKeys: $,
+        dropPosition: k,
+        dropTargetKey: g,
+        dropTargetPos: I,
+        dropAllowed: _
+      } = y;
+      if (!_) return;
+      const {
+        onDrop: M
+      } = e;
+      if (y.dragOverNodeKey = null, ge(), g === null) return;
+      const P = w(w({}, Ge(g, it(Z.value))), {
+        active: ((p = R.value) === null || p === void 0 ? void 0 : p.key) === g,
+        data: O.value[g].node
+      }), F = $.indexOf(g) !== -1;
+      Ue(!F, "Can not drop to dragNode's children node. Maybe this is a bug of ant-design-vue. Please report an issue.");
+      const oe = Tn(I), fe = {
+        event: s,
+        node: Xe(P),
+        dragNode: A ? A.eventData : null,
+        dragNodesKeys: [A.eventKey].concat($),
+        dropToGap: k !== 0,
+        dropPosition: k + Number(oe[oe.length - 1])
+      };
+      u || M == null || M(fe), A = null;
+    }, Ke = (s, r) => {
+      const {
+        expanded: u,
+        key: p
+      } = r, $ = W.value.filter((g) => g.key === p)[0], k = Xe(w(w({}, Ge(p, Z.value)), {
+        data: $.data
+      }));
+      de(u ? me(D.value, p) : we(D.value, p)), Te(s, k);
+    }, De = (s, r) => {
+      const {
+        onClick: u,
+        expandAction: p
+      } = e;
+      p === "click" && Ke(s, r), u && u(s, r);
+    }, Qe = (s, r) => {
+      const {
+        onDblclick: u,
+        expandAction: p
+      } = e;
+      (p === "doubleclick" || p === "dblclick") && Ke(s, r), u && u(s, r);
+    }, Be = (s, r) => {
+      let u = S.value;
+      const {
+        onSelect: p,
+        multiple: $
+      } = e, {
+        selected: k
+      } = r, g = r[B.value.key], I = !k;
+      I ? $ ? u = we(u, g) : u = [g] : u = me(u, g);
+      const _ = O.value, M = u.map((P) => {
+        const F = _[P];
+        return F ? F.node : null;
+      }).filter((P) => P);
+      e.selectedKeys === void 0 && (S.value = u), p && p(u, {
+        event: "select",
+        selected: I,
+        node: r,
+        selectedNodes: M,
+        nativeEvent: s
+      });
+    }, je = (s, r, u) => {
+      const {
+        checkStrictly: p,
+        onCheck: $
+      } = e, k = r[B.value.key];
+      let g;
+      const I = {
+        event: "check",
+        node: r,
+        checked: u,
+        nativeEvent: s
+      }, _ = O.value;
+      if (p) {
+        const M = u ? we(f.value, k) : me(f.value, k), P = me(K.value, k);
+        g = {
+          checked: M,
+          halfChecked: P
+        }, I.checkedNodes = M.map((F) => _[F]).filter((F) => F).map((F) => F.node), e.checkedKeys === void 0 && (f.value = M);
+      } else {
+        let {
+          checkedKeys: M,
+          halfCheckedKeys: P
+        } = at([...f.value, k], !0, _, h.value, b.value);
+        if (!u) {
+          const F = new Set(M);
+          F.delete(k), {
+            checkedKeys: M,
+            halfCheckedKeys: P
+          } = at(Array.from(F), {
+            checked: !1,
+            halfCheckedKeys: P
+          }, _, h.value, b.value);
+        }
+        g = M, I.checkedNodes = [], I.checkedNodesPositions = [], I.halfCheckedKeys = P, M.forEach((F) => {
+          const oe = _[F];
+          if (!oe) return;
+          const {
+            node: fe,
+            pos: ve
+          } = oe;
+          I.checkedNodes.push(fe), I.checkedNodesPositions.push({
+            node: fe,
+            pos: ve
+          });
+        }), e.checkedKeys === void 0 && (f.value = M, K.value = P);
+      }
+      $ && $(g, I);
+    }, Ye = (s) => {
+      const r = s[B.value.key], u = new Promise((p, $) => {
+        const {
+          loadData: k,
+          onLoad: g
+        } = e;
+        if (!k || ee.value.has(r) || le.value.has(r))
+          return null;
+        k(s).then(() => {
+          const _ = we(x.value, r), M = me(m.value, r);
+          g && g(_, {
+            event: "load",
+            node: s
+          }), e.loadedKeys === void 0 && (x.value = _), m.value = M, p();
+        }).catch((_) => {
+          const M = me(m.value, r);
+          if (m.value = M, j[r] = (j[r] || 0) + 1, j[r] >= no) {
+            Ue(!1, "Retry for `loadData` many times but still failed. No more retry.");
+            const P = we(x.value, r);
+            e.loadedKeys === void 0 && (x.value = P), p();
+          }
+          $(_);
+        }), m.value = we(m.value, r);
+      });
+      return u.catch(() => {
+      }), u;
+    }, Ze = (s, r) => {
+      const {
+        onMouseenter: u
+      } = e;
+      u && u({
+        event: s,
+        node: r
+      });
+    }, ze = (s, r) => {
+      const {
+        onMouseleave: u
+      } = e;
+      u && u({
+        event: s,
+        node: r
+      });
+    }, et = (s, r) => {
+      const {
+        onRightClick: u
+      } = e;
+      u && (s.preventDefault(), u({
+        event: s,
+        node: r
+      }));
+    }, tt = (s) => {
+      const {
+        onFocus: r
+      } = e;
+      V.value = !0, r && r(s);
+    }, Ve = (s) => {
+      const {
+        onBlur: r
+      } = e;
+      V.value = !1, d(null), r && r(s);
+    }, Te = (s, r) => {
+      let u = D.value;
+      const {
+        onExpand: p,
+        loadData: $
+      } = e, {
+        expanded: k
+      } = r, g = r[B.value.key];
+      if (Y.value)
+        return;
+      const I = u.indexOf(g), _ = !k;
+      if (Ue(k && I !== -1 || !k && I === -1, "Expand state not sync with index check"), _ ? u = we(u, g) : u = me(u, g), de(u), p && p(u, {
+        node: r,
+        expanded: _,
+        nativeEvent: s
+      }), _ && $) {
+        const M = Ye(r);
+        M && M.then(() => {
+        }).catch((P) => {
+          const F = me(D.value, g);
+          de(F), Promise.reject(P);
+        });
+      }
+    }, nt = () => {
+      Y.value = !0;
+    }, a = () => {
+      setTimeout(() => {
+        Y.value = !1;
+      });
+    }, d = (s) => {
+      const {
+        onActiveChange: r
+      } = e;
+      T.value !== s && (e.activeKey !== void 0 && (T.value = s), s !== null && X({
+        key: s
+      }), r && r(s));
+    }, R = E(() => T.value === null ? null : W.value.find((s) => {
+      let {
+        key: r
+      } = s;
+      return r === T.value;
+    }) || null), J = (s) => {
+      let r = W.value.findIndex((p) => {
+        let {
+          key: $
+        } = p;
+        return $ === T.value;
+      });
+      r === -1 && s < 0 && (r = W.value.length), r = (r + s + W.value.length) % W.value.length;
+      const u = W.value[r];
+      if (u) {
+        const {
+          key: p
+        } = u;
+        d(p);
+      } else
+        d(null);
+    }, te = E(() => Xe(w(w({}, Ge(T.value, Z.value)), {
+      data: R.value.data,
+      active: !0
+    }))), ne = (s) => {
+      const {
+        onKeydown: r,
+        checkable: u,
+        selectable: p
+      } = e;
+      switch (s.which) {
+        case Oe.UP: {
+          J(-1), s.preventDefault();
+          break;
+        }
+        case Oe.DOWN: {
+          J(1), s.preventDefault();
+          break;
+        }
+      }
+      const $ = R.value;
+      if ($ && $.data) {
+        const k = $.data.isLeaf === !1 || !!($.data.children || []).length, g = te.value;
+        switch (s.which) {
+          case Oe.LEFT: {
+            k && z.value.has(T.value) ? Te({}, g) : $.parent && d($.parent.key), s.preventDefault();
+            break;
+          }
+          case Oe.RIGHT: {
+            k && !z.value.has(T.value) ? Te({}, g) : $.children && $.children.length && d($.children[0].key), s.preventDefault();
+            break;
+          }
+          case Oe.ENTER:
+          case Oe.SPACE: {
+            u && !g.disabled && g.checkable !== !1 && !g.disableCheckbox ? je({}, g, !se.value.has(T.value)) : !u && p && !g.disabled && g.selectable !== !1 && Be({}, g);
+            break;
+          }
+        }
+      }
+      r && r(s);
+    };
+    return l({
+      onNodeExpand: Te,
+      scrollTo: X,
+      onKeydown: ne,
+      selectedKeys: E(() => S.value),
+      checkedKeys: E(() => f.value),
+      halfCheckedKeys: E(() => K.value),
+      loadedKeys: E(() => x.value),
+      loadingKeys: E(() => m.value),
+      expandedKeys: E(() => D.value)
+    }), Dt(() => {
+      window.removeEventListener("dragend", xe), c.value = !0;
+    }), zn({
+      expandedKeys: D,
+      selectedKeys: S,
+      loadedKeys: x,
+      loadingKeys: m,
+      checkedKeys: f,
+      halfCheckedKeys: K,
+      expandedKeysSet: z,
+      selectedKeysSet: U,
+      loadedKeysSet: ee,
+      loadingKeysSet: le,
+      checkedKeysSet: se,
+      halfCheckedKeysSet: Se,
+      flattenNodes: W
+    }), () => {
+      const {
+        // focused,
+        // flattenNodes,
+        // keyEntities,
+        draggingNodeKey: s,
+        // activeKey,
+        dropLevelOffset: r,
+        dropContainerKey: u,
+        dropTargetKey: p,
+        dropPosition: $,
+        dragOverNodeKey: k
+        // indent,
+      } = y, {
+        prefixCls: g,
+        showLine: I,
+        focusable: _,
+        tabindex: M = 0,
+        selectable: P,
+        showIcon: F,
+        icon: oe = o.icon,
+        switcherIcon: fe,
+        draggable: ve,
+        checkable: ae,
+        checkStrictly: ke,
+        disabled: Re,
+        motion: ot,
+        loadData: _t,
+        filterTreeNode: Bt,
+        height: jt,
+        itemHeight: Yt,
+        virtual: zt,
+        dropIndicatorRender: Vt,
+        onContextmenu: Ut,
+        onScroll: Wt,
+        direction: Gt,
+        rootClassName: Xt,
+        rootStyle: qt
+      } = e, {
+        class: Jt,
+        style: Qt
+      } = n, Zt = Ot(w(w({}, e), n), {
+        aria: !0,
+        data: !0
+      });
+      let Fe;
+      return ve ? typeof ve == "object" ? Fe = ve : typeof ve == "function" ? Fe = {
+        nodeDraggable: ve
+      } : Fe = {} : Fe = !1, C(Yn, {
+        value: {
+          prefixCls: g,
+          selectable: P,
+          showIcon: F,
+          icon: oe,
+          switcherIcon: fe,
+          draggable: Fe,
+          draggingNodeKey: s,
+          checkable: ae,
+          customCheckable: o.checkable,
+          checkStrictly: ke,
+          disabled: Re,
+          keyEntities: O.value,
+          dropLevelOffset: r,
+          dropContainerKey: u,
+          dropTargetKey: p,
+          dropPosition: $,
+          dragOverNodeKey: k,
+          dragging: s !== null,
+          indent: v.value,
+          direction: Gt,
+          dropIndicatorRender: Vt,
+          loadData: _t,
+          filterTreeNode: Bt,
+          onNodeClick: De,
+          onNodeDoubleClick: Qe,
+          onNodeExpand: Te,
+          onNodeSelect: Be,
+          onNodeCheck: je,
+          onNodeLoad: Ye,
+          onNodeMouseEnter: Ze,
+          onNodeMouseLeave: ze,
+          onNodeContextMenu: et,
+          onNodeDragStart: Me,
+          onNodeDragEnter: Ie,
+          onNodeDragOver: pe,
+          onNodeDragLeave: Le,
+          onNodeDragEnd: ye,
+          onNodeDrop: He,
+          slots: o
+        }
+      }, {
+        default: () => [C("div", {
+          role: "tree",
+          class: ue(g, Jt, Xt, {
+            [`${g}-show-line`]: I,
+            [`${g}-focused`]: V.value,
+            [`${g}-active-focused`]: T.value !== null
+          }),
+          style: qt
+        }, [C(eo, re({
+          ref: Q,
+          prefixCls: g,
+          style: Qt,
+          disabled: Re,
+          selectable: P,
+          checkable: !!ae,
+          motion: ot,
+          height: jt,
+          itemHeight: Yt,
+          virtual: zt,
+          focusable: _,
+          focused: V.value,
+          tabindex: M,
+          activeItem: R.value,
+          onFocus: tt,
+          onBlur: Ve,
+          onKeydown: ne,
+          onActiveChange: d,
+          onListChangeStart: nt,
+          onListChangeEnd: a,
+          onContextmenu: Ut,
+          onScroll: Wt
+        }, Zt), null)])]
+      });
+    };
+  }
+});
+function go(e, t, n, o, l) {
+  const {
+    isLeaf: c,
+    expanded: i,
+    loading: v
+  } = n;
+  let S = t;
+  if (v)
+    return C(an, {
+      class: `${e}-switcher-loading-icon`
+    }, null);
+  let f;
+  l && typeof l == "object" && (f = l.showLeafIcon);
+  let K = null;
+  const x = `${e}-switcher-icon`;
+  return c ? l ? f && o ? o(n) : (typeof l == "object" && !f ? K = C("span", {
+    class: `${e}-switcher-leaf-line`
+  }, null) : K = C(sn, {
+    class: `${e}-switcher-line-icon`
+  }, null), K) : null : (K = C(rn, {
+    class: x
+  }, null), l && (K = i ? C(cn, {
+    class: `${e}-switcher-line-icon`
+  }, null) : C(dn, {
+    class: `${e}-switcher-line-icon`
+  }, null)), typeof t == "function" ? S = t(w(w({}, n), {
+    defaultIcon: K,
+    switcherCls: x
+  })) : un(S) && (S = Et(S, {
+    class: x
+  })), S || K);
+}
+const oo = new yn("ant-tree-node-fx-do-not-use", {
+  "0%": {
+    opacity: 0
+  },
+  "100%": {
+    opacity: 1
+  }
+}), lo = (e, t) => ({
+  [`.${e}-switcher-icon`]: {
+    display: "inline-block",
+    fontSize: 10,
+    verticalAlign: "baseline",
+    svg: {
+      transition: `transform ${t.motionDurationSlow}`
+    }
+  }
+}), ao = (e, t) => ({
+  [`.${e}-drop-indicator`]: {
+    position: "absolute",
+    // it should displayed over the following node
+    zIndex: 1,
+    height: 2,
+    backgroundColor: t.colorPrimary,
+    borderRadius: 1,
+    pointerEvents: "none",
+    "&:after": {
+      position: "absolute",
+      top: -3,
+      insetInlineStart: -6,
+      width: 8,
+      height: 8,
+      backgroundColor: "transparent",
+      border: `${t.lineWidthBold}px solid ${t.colorPrimary}`,
+      borderRadius: "50%",
+      content: '""'
+    }
+  }
+}), io = (e, t) => {
+  const {
+    treeCls: n,
+    treeNodeCls: o,
+    treeNodePadding: l,
+    treeTitleHeight: c
+  } = t, i = (c - t.fontSizeLG) / 2, v = t.paddingXS;
+  return {
+    [n]: w(w({}, gn(t)), {
+      background: t.colorBgContainer,
+      borderRadius: t.borderRadius,
+      transition: `background-color ${t.motionDurationSlow}`,
+      [`&${n}-rtl`]: {
+        // >>> Switcher
+        [`${n}-switcher`]: {
+          "&_close": {
+            [`${n}-switcher-icon`]: {
+              svg: {
+                transform: "rotate(90deg)"
+              }
+            }
+          }
+        }
+      },
+      [`&-focused:not(:hover):not(${n}-active-focused)`]: w({}, dt(t)),
+      // =================== Virtual List ===================
+      [`${n}-list-holder-inner`]: {
+        alignItems: "flex-start"
+      },
+      [`&${n}-block-node`]: {
+        [`${n}-list-holder-inner`]: {
+          alignItems: "stretch",
+          // >>> Title
+          [`${n}-node-content-wrapper`]: {
+            flex: "auto"
+          },
+          // >>> Drag
+          [`${o}.dragging`]: {
+            position: "relative",
+            "&:after": {
+              position: "absolute",
+              top: 0,
+              insetInlineEnd: 0,
+              bottom: l,
+              insetInlineStart: 0,
+              border: `1px solid ${t.colorPrimary}`,
+              opacity: 0,
+              animationName: oo,
+              animationDuration: t.motionDurationSlow,
+              animationPlayState: "running",
+              animationFillMode: "forwards",
+              content: '""',
+              pointerEvents: "none"
+            }
+          }
+        }
+      },
+      // ===================== TreeNode =====================
+      [`${o}`]: {
+        display: "flex",
+        alignItems: "flex-start",
+        padding: `0 0 ${l}px 0`,
+        outline: "none",
+        "&-rtl": {
+          direction: "rtl"
+        },
+        // Disabled
+        "&-disabled": {
+          // >>> Title
+          [`${n}-node-content-wrapper`]: {
+            color: t.colorTextDisabled,
+            cursor: "not-allowed",
+            "&:hover": {
+              background: "transparent"
+            }
+          }
+        },
+        [`&-active ${n}-node-content-wrapper`]: w({}, dt(t)),
+        [`&:not(${o}-disabled).filter-node ${n}-title`]: {
+          color: "inherit",
+          fontWeight: 500
+        },
+        "&-draggable": {
+          [`${n}-draggable-icon`]: {
+            width: c,
+            lineHeight: `${c}px`,
+            textAlign: "center",
+            visibility: "visible",
+            opacity: 0.2,
+            transition: `opacity ${t.motionDurationSlow}`,
+            [`${o}:hover &`]: {
+              opacity: 0.45
+            }
+          },
+          [`&${o}-disabled`]: {
+            [`${n}-draggable-icon`]: {
+              visibility: "hidden"
+            }
+          }
+        }
+      },
+      // >>> Indent
+      [`${n}-indent`]: {
+        alignSelf: "stretch",
+        whiteSpace: "nowrap",
+        userSelect: "none",
+        "&-unit": {
+          display: "inline-block",
+          width: c
+        }
+      },
+      // >>> Drag Handler
+      [`${n}-draggable-icon`]: {
+        visibility: "hidden"
+      },
+      // >>> Switcher
+      [`${n}-switcher`]: w(w({}, lo(e, t)), {
+        position: "relative",
+        flex: "none",
+        alignSelf: "stretch",
+        width: c,
+        margin: 0,
+        lineHeight: `${c}px`,
+        textAlign: "center",
+        cursor: "pointer",
+        userSelect: "none",
+        "&-noop": {
+          cursor: "default"
+        },
+        "&_close": {
+          [`${n}-switcher-icon`]: {
+            svg: {
+              transform: "rotate(-90deg)"
+            }
+          }
+        },
+        "&-loading-icon": {
+          color: t.colorPrimary
+        },
+        "&-leaf-line": {
+          position: "relative",
+          zIndex: 1,
+          display: "inline-block",
+          width: "100%",
+          height: "100%",
+          // https://github.com/ant-design/ant-design/issues/31884
+          "&:before": {
+            position: "absolute",
+            top: 0,
+            insetInlineEnd: c / 2,
+            bottom: -l,
+            marginInlineStart: -1,
+            borderInlineEnd: `1px solid ${t.colorBorder}`,
+            content: '""'
+          },
+          "&:after": {
+            position: "absolute",
+            width: c / 2 * 0.8,
+            height: c / 2,
+            borderBottom: `1px solid ${t.colorBorder}`,
+            content: '""'
+          }
+        }
+      }),
+      // >>> Checkbox
+      [`${n}-checkbox`]: {
+        top: "initial",
+        marginInlineEnd: v,
+        marginBlockStart: i
+      },
+      // >>> Title
+      // add `${treeCls}-checkbox + span` to cover checkbox `${checkboxCls} + span`
+      [`${n}-node-content-wrapper, ${n}-checkbox + span`]: {
+        position: "relative",
+        zIndex: "auto",
+        minHeight: c,
+        margin: 0,
+        padding: `0 ${t.paddingXS / 2}px`,
+        color: "inherit",
+        lineHeight: `${c}px`,
+        background: "transparent",
+        borderRadius: t.borderRadius,
+        cursor: "pointer",
+        transition: `all ${t.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,
+        "&:hover": {
+          backgroundColor: t.controlItemBgHover
+        },
+        [`&${n}-node-selected`]: {
+          backgroundColor: t.controlItemBgActive
+        },
+        // Icon
+        [`${n}-iconEle`]: {
+          display: "inline-block",
+          width: c,
+          height: c,
+          lineHeight: `${c}px`,
+          textAlign: "center",
+          verticalAlign: "top",
+          "&:empty": {
+            display: "none"
+          }
+        }
+      },
+      // https://github.com/ant-design/ant-design/issues/28217
+      [`${n}-unselectable ${n}-node-content-wrapper:hover`]: {
+        backgroundColor: "transparent"
+      },
+      // ==================== Draggable =====================
+      [`${n}-node-content-wrapper`]: w({
+        lineHeight: `${c}px`,
+        userSelect: "none"
+      }, ao(e, t)),
+      [`${o}.drop-container`]: {
+        "> [draggable]": {
+          boxShadow: `0 0 0 2px ${t.colorPrimary}`
+        }
+      },
+      // ==================== Show Line =====================
+      "&-show-line": {
+        // ================ Indent lines ================
+        [`${n}-indent`]: {
+          "&-unit": {
+            position: "relative",
+            height: "100%",
+            "&:before": {
+              position: "absolute",
+              top: 0,
+              insetInlineEnd: c / 2,
+              bottom: -l,
+              borderInlineEnd: `1px solid ${t.colorBorder}`,
+              content: '""'
+            },
+            "&-end": {
+              "&:before": {
+                display: "none"
+              }
+            }
+          }
+        },
+        // ============== Cover Background ==============
+        [`${n}-switcher`]: {
+          background: "transparent",
+          "&-line-icon": {
+            // https://github.com/ant-design/ant-design/issues/32813
+            verticalAlign: "-0.15em"
+          }
+        }
+      },
+      [`${o}-leaf-last`]: {
+        [`${n}-switcher`]: {
+          "&-leaf-line": {
+            "&:before": {
+              top: "auto !important",
+              bottom: "auto !important",
+              height: `${c / 2}px !important`
+            }
+          }
+        }
+      }
+    })
+  };
+}, so = (e) => {
+  const {
+    treeCls: t,
+    treeNodeCls: n,
+    treeNodePadding: o
+  } = e;
+  return {
+    [`${t}${t}-directory`]: {
+      // ================== TreeNode ==================
+      [n]: {
+        position: "relative",
+        // Hover color
+        "&:before": {
+          position: "absolute",
+          top: 0,
+          insetInlineEnd: 0,
+          bottom: o,
+          insetInlineStart: 0,
+          transition: `background-color ${e.motionDurationMid}`,
+          content: '""',
+          pointerEvents: "none"
+        },
+        "&:hover": {
+          "&:before": {
+            background: e.controlItemBgHover
+          }
+        },
+        // Elements
+        "> *": {
+          zIndex: 1
+        },
+        // >>> Switcher
+        [`${t}-switcher`]: {
+          transition: `color ${e.motionDurationMid}`
+        },
+        // >>> Title
+        [`${t}-node-content-wrapper`]: {
+          borderRadius: 0,
+          userSelect: "none",
+          "&:hover": {
+            background: "transparent"
+          },
+          [`&${t}-node-selected`]: {
+            color: e.colorTextLightSolid,
+            background: "transparent"
+          }
+        },
+        // ============= Selected =============
+        "&-selected": {
+          "\n            &:hover::before,\n            &::before\n          ": {
+            background: e.colorPrimary
+          },
+          // >>> Switcher
+          [`${t}-switcher`]: {
+            color: e.colorTextLightSolid
+          },
+          // >>> Title
+          [`${t}-node-content-wrapper`]: {
+            color: e.colorTextLightSolid,
+            background: "transparent"
+          }
+        }
+      }
+    }
+  };
+}, ro = (e, t) => {
+  const n = `.${e}`, o = `${n}-treenode`, l = t.paddingXS / 2, c = t.controlHeightSM, i = hn(t, {
+    treeCls: n,
+    treeNodeCls: o,
+    treeNodePadding: l,
+    treeTitleHeight: c
+  });
+  return [
+    // Basic
+    io(e, i),
+    // Directory
+    so(i)
+  ];
+}, yo = fn("Tree", (e, t) => {
+  let {
+    prefixCls: n
+  } = t;
+  return [{
+    [e.componentCls]: $n(`${n}-checkbox`, e)
+  }, ro(n, e), vn(e)];
+});
+export {
+  ho as T,
+  mt as V,
+  ro as g,
+  go as r,
+  Wn as t,
+  yo as u
+};

+ 15 - 0
lib/js/isPlainObject.js

@@ -0,0 +1,15 @@
+import { bj as a, an as c, aT as n } from "./index2.js";
+var i = a(Object.getPrototypeOf, Object), s = "[object Object]", b = Function.prototype, j = Object.prototype, e = b.toString, p = j.hasOwnProperty, f = e.call(Object);
+function O(r) {
+  if (!c(r) || n(r) != s)
+    return !1;
+  var o = i(r);
+  if (o === null)
+    return !0;
+  var t = p.call(o, "constructor") && o.constructor;
+  return typeof t == "function" && t instanceof t && e.call(t) == f;
+}
+export {
+  i as g,
+  O as i
+};

+ 18 - 0
lib/js/login.js

@@ -0,0 +1,18 @@
+import { openBlock as o, createElementBlock as t } from "vue";
+import { r as e } from "./index2.js";
+const n = {
+  name: "LoginCommon",
+  data() {
+    return {};
+  },
+  methods: {},
+  mounted() {
+  }
+}, r = { class: "login-common" };
+function c(s, m, a, i, _, d) {
+  return o(), t("div", r, "登录页");
+}
+const l = /* @__PURE__ */ e(n, [["render", c]]);
+export {
+  l as default
+};

+ 42 - 0
lib/js/pickAttrs.js

@@ -0,0 +1,42 @@
+import { _ as i } from "./index2.js";
+const l = `accept acceptcharset accesskey action allowfullscreen allowtransparency
+alt async autocomplete autofocus autoplay capture cellpadding cellspacing challenge
+charset checked classid classname colspan cols content contenteditable contextmenu
+controls coords crossorigin data datetime default defer dir disabled download draggable
+enctype form formaction formenctype formmethod formnovalidate formtarget frameborder
+headers height hidden high href hreflang htmlfor for httpequiv icon id inputmode integrity
+is keyparams keytype kind label lang list loop low manifest marginheight marginwidth max maxlength media
+mediagroup method min minlength multiple muted name novalidate nonce open
+optimum pattern placeholder poster preload radiogroup readonly rel required
+reversed role rowspan rows sandbox scope scoped scrolling seamless selected
+shape size sizes span spellcheck src srcdoc srclang srcset start step style
+summary tabindex target title type usemap value width wmode wrap`, c = `onCopy onCut onPaste onCompositionend onCompositionstart onCompositionupdate onKeydown
+    onKeypress onKeyup onFocus onBlur onChange onInput onSubmit onClick onContextmenu onDoubleclick onDblclick
+    onDrag onDragend onDragenter onDragexit onDragleave onDragover onDragstart onDrop onMousedown
+    onMouseenter onMouseleave onMousemove onMouseout onMouseover onMouseup onSelect onTouchcancel
+    onTouchend onTouchmove onTouchstart onTouchstartPassive onTouchmovePassive onScroll onWheel onAbort onCanplay onCanplaythrough
+    onDurationchange onEmptied onEncrypted onEnded onError onLoadeddata onLoadedmetadata
+    onLoadstart onPause onPlay onPlaying onProgress onRatechange onSeeked onSeeking onStalled onSuspend onTimeupdate onVolumechange onWaiting onLoad onError`, r = `${l} ${c}`.split(/[\s\n]+/), d = "aria-", u = "data-";
+function s(a, n) {
+  return a.indexOf(n) === 0;
+}
+function m(a) {
+  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, o;
+  n === !1 ? o = {
+    aria: !0,
+    data: !0,
+    attr: !0
+  } : n === !0 ? o = {
+    aria: !0
+  } : o = i({}, n);
+  const t = {};
+  return Object.keys(a).forEach((e) => {
+    // Aria
+    (o.aria && (e === "role" || s(e, d)) || // Data
+    o.data && s(e, u) || // Attr
+    o.attr && (r.includes(e) || r.includes(e.toLowerCase()))) && (t[e] = a[e]);
+  }), t;
+}
+export {
+  m as p
+};

+ 466 - 0
lib/js/routeConvert.js

@@ -0,0 +1,466 @@
+import { aO as $, aP as pe } from "./index2.js";
+var B = { exports: {} };
+B.exports;
+(function(s, u) {
+  var D = 200, S = "__lodash_hash_undefined__", p = 9007199254740991, g = "[object Arguments]", Ut = "[object Array]", Q = "[object Boolean]", k = "[object Date]", Kt = "[object Error]", F = "[object Function]", tt = "[object GeneratorFunction]", x = "[object Map]", rt = "[object Number]", H = "[object Object]", et = "[object Promise]", nt = "[object RegExp]", O = "[object Set]", at = "[object String]", ot = "[object Symbol]", L = "[object WeakMap]", it = "[object ArrayBuffer]", j = "[object DataView]", ct = "[object Float32Array]", st = "[object Float64Array]", ut = "[object Int8Array]", ft = "[object Int16Array]", lt = "[object Int32Array]", ht = "[object Uint8Array]", pt = "[object Uint8ClampedArray]", gt = "[object Uint16Array]", dt = "[object Uint32Array]", Nt = /[\\^$.*+?()[\]{}|]/g, Wt = /\w*$/, Vt = /^\[object .+?Constructor\]$/, qt = /^(?:0|[1-9]\d*)$/, a = {};
+  a[g] = a[Ut] = a[it] = a[j] = a[Q] = a[k] = a[ct] = a[st] = a[ut] = a[ft] = a[lt] = a[x] = a[rt] = a[H] = a[nt] = a[O] = a[at] = a[ot] = a[ht] = a[pt] = a[gt] = a[dt] = !0, a[Kt] = a[F] = a[L] = !1;
+  var zt = typeof $ == "object" && $ && $.Object === Object && $, Jt = typeof self == "object" && self && self.Object === Object && self, f = zt || Jt || Function("return this")(), _t = u && !u.nodeType && u, yt = _t && !0 && s && !s.nodeType && s, Xt = yt && yt.exports === _t;
+  function Yt(t, r) {
+    return t.set(r[0], r[1]), t;
+  }
+  function Zt(t, r) {
+    return t.add(r), t;
+  }
+  function Qt(t, r) {
+    for (var e = -1, n = t ? t.length : 0; ++e < n && r(t[e], e, t) !== !1; )
+      ;
+    return t;
+  }
+  function kt(t, r) {
+    for (var e = -1, n = r.length, o = t.length; ++e < n; )
+      t[o + e] = r[e];
+    return t;
+  }
+  function bt(t, r, e, n) {
+    for (var o = -1, i = t ? t.length : 0; ++o < i; )
+      e = r(e, t[o], o, t);
+    return e;
+  }
+  function tr(t, r) {
+    for (var e = -1, n = Array(t); ++e < t; )
+      n[e] = r(e);
+    return n;
+  }
+  function rr(t, r) {
+    return t == null ? void 0 : t[r];
+  }
+  function wt(t) {
+    var r = !1;
+    if (t != null && typeof t.toString != "function")
+      try {
+        r = !!(t + "");
+      } catch (e) {
+      }
+    return r;
+  }
+  function vt(t) {
+    var r = -1, e = Array(t.size);
+    return t.forEach(function(n, o) {
+      e[++r] = [o, n];
+    }), e;
+  }
+  function U(t, r) {
+    return function(e) {
+      return t(r(e));
+    };
+  }
+  function At(t) {
+    var r = -1, e = Array(t.size);
+    return t.forEach(function(n) {
+      e[++r] = n;
+    }), e;
+  }
+  var er = Array.prototype, nr = Function.prototype, E = Object.prototype, K = f["__core-js_shared__"], Tt = function() {
+    var t = /[^.]+$/.exec(K && K.keys && K.keys.IE_PROTO || "");
+    return t ? "Symbol(src)_1." + t : "";
+  }(), St = nr.toString, d = E.hasOwnProperty, I = E.toString, ar = RegExp(
+    "^" + St.call(d).replace(Nt, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
+  ), mt = Xt ? f.Buffer : void 0, Ct = f.Symbol, xt = f.Uint8Array, or = U(Object.getPrototypeOf, Object), ir = Object.create, cr = E.propertyIsEnumerable, sr = er.splice, Ot = Object.getOwnPropertySymbols, ur = mt ? mt.isBuffer : void 0, fr = U(Object.keys, Object), N = A(f, "DataView"), m = A(f, "Map"), W = A(f, "Promise"), V = A(f, "Set"), q = A(f, "WeakMap"), C = A(Object, "create"), lr = b(N), hr = b(m), pr = b(W), gr = b(V), dr = b(q), jt = Ct ? Ct.prototype : void 0, Et = jt ? jt.valueOf : void 0;
+  function _(t) {
+    var r = -1, e = t ? t.length : 0;
+    for (this.clear(); ++r < e; ) {
+      var n = t[r];
+      this.set(n[0], n[1]);
+    }
+  }
+  function _r() {
+    this.__data__ = C ? C(null) : {};
+  }
+  function yr(t) {
+    return this.has(t) && delete this.__data__[t];
+  }
+  function br(t) {
+    var r = this.__data__;
+    if (C) {
+      var e = r[t];
+      return e === S ? void 0 : e;
+    }
+    return d.call(r, t) ? r[t] : void 0;
+  }
+  function wr(t) {
+    var r = this.__data__;
+    return C ? r[t] !== void 0 : d.call(r, t);
+  }
+  function vr(t, r) {
+    var e = this.__data__;
+    return e[t] = C && r === void 0 ? S : r, this;
+  }
+  _.prototype.clear = _r, _.prototype.delete = yr, _.prototype.get = br, _.prototype.has = wr, _.prototype.set = vr;
+  function l(t) {
+    var r = -1, e = t ? t.length : 0;
+    for (this.clear(); ++r < e; ) {
+      var n = t[r];
+      this.set(n[0], n[1]);
+    }
+  }
+  function Ar() {
+    this.__data__ = [];
+  }
+  function Tr(t) {
+    var r = this.__data__, e = P(r, t);
+    if (e < 0)
+      return !1;
+    var n = r.length - 1;
+    return e == n ? r.pop() : sr.call(r, e, 1), !0;
+  }
+  function Sr(t) {
+    var r = this.__data__, e = P(r, t);
+    return e < 0 ? void 0 : r[e][1];
+  }
+  function mr(t) {
+    return P(this.__data__, t) > -1;
+  }
+  function Cr(t, r) {
+    var e = this.__data__, n = P(e, t);
+    return n < 0 ? e.push([t, r]) : e[n][1] = r, this;
+  }
+  l.prototype.clear = Ar, l.prototype.delete = Tr, l.prototype.get = Sr, l.prototype.has = mr, l.prototype.set = Cr;
+  function w(t) {
+    var r = -1, e = t ? t.length : 0;
+    for (this.clear(); ++r < e; ) {
+      var n = t[r];
+      this.set(n[0], n[1]);
+    }
+  }
+  function xr() {
+    this.__data__ = {
+      hash: new _(),
+      map: new (m || l)(),
+      string: new _()
+    };
+  }
+  function Or(t) {
+    return M(this, t).delete(t);
+  }
+  function jr(t) {
+    return M(this, t).get(t);
+  }
+  function Er(t) {
+    return M(this, t).has(t);
+  }
+  function Ir(t, r) {
+    return M(this, t).set(t, r), this;
+  }
+  w.prototype.clear = xr, w.prototype.delete = Or, w.prototype.get = jr, w.prototype.has = Er, w.prototype.set = Ir;
+  function v(t) {
+    this.__data__ = new l(t);
+  }
+  function Pr() {
+    this.__data__ = new l();
+  }
+  function Mr(t) {
+    return this.__data__.delete(t);
+  }
+  function Gr(t) {
+    return this.__data__.get(t);
+  }
+  function Rr(t) {
+    return this.__data__.has(t);
+  }
+  function $r(t, r) {
+    var e = this.__data__;
+    if (e instanceof l) {
+      var n = e.__data__;
+      if (!m || n.length < D - 1)
+        return n.push([t, r]), this;
+      e = this.__data__ = new w(n);
+    }
+    return e.set(t, r), this;
+  }
+  v.prototype.clear = Pr, v.prototype.delete = Mr, v.prototype.get = Gr, v.prototype.has = Rr, v.prototype.set = $r;
+  function Br(t, r) {
+    var e = X(t) || ie(t) ? tr(t.length, String) : [], n = e.length, o = !!n;
+    for (var i in t)
+      d.call(t, i) && !(o && (i == "length" || ee(i, n))) && e.push(i);
+    return e;
+  }
+  function It(t, r, e) {
+    var n = t[r];
+    (!(d.call(t, r) && Rt(n, e)) || e === void 0 && !(r in t)) && (t[r] = e);
+  }
+  function P(t, r) {
+    for (var e = t.length; e--; )
+      if (Rt(t[e][0], r))
+        return e;
+    return -1;
+  }
+  function Dr(t, r) {
+    return t && Pt(r, Y(r), t);
+  }
+  function z(t, r, e, n, o, i, h) {
+    var c;
+    if (n && (c = i ? n(t, o, i, h) : n(t)), c !== void 0)
+      return c;
+    if (!G(t))
+      return t;
+    var Dt = X(t);
+    if (Dt) {
+      if (c = kr(t), !r)
+        return Yr(t, c);
+    } else {
+      var T = y(t), Ft = T == F || T == tt;
+      if (se(t))
+        return Nr(t, r);
+      if (T == H || T == g || Ft && !i) {
+        if (wt(t))
+          return i ? t : {};
+        if (c = te(Ft ? {} : t), !r)
+          return Zr(t, Dr(c, t));
+      } else {
+        if (!a[T])
+          return i ? t : {};
+        c = re(t, T, z, r);
+      }
+    }
+    h || (h = new v());
+    var Ht = h.get(t);
+    if (Ht)
+      return Ht;
+    if (h.set(t, c), !Dt)
+      var Lt = e ? Qr(t) : Y(t);
+    return Qt(Lt || t, function(Z, R) {
+      Lt && (R = Z, Z = t[R]), It(c, R, z(Z, r, e, n, R, t, h));
+    }), c;
+  }
+  function Fr(t) {
+    return G(t) ? ir(t) : {};
+  }
+  function Hr(t, r, e) {
+    var n = r(t);
+    return X(t) ? n : kt(n, e(t));
+  }
+  function Lr(t) {
+    return I.call(t);
+  }
+  function Ur(t) {
+    if (!G(t) || ae(t))
+      return !1;
+    var r = Bt(t) || wt(t) ? ar : Vt;
+    return r.test(b(t));
+  }
+  function Kr(t) {
+    if (!Gt(t))
+      return fr(t);
+    var r = [];
+    for (var e in Object(t))
+      d.call(t, e) && e != "constructor" && r.push(e);
+    return r;
+  }
+  function Nr(t, r) {
+    if (r)
+      return t.slice();
+    var e = new t.constructor(t.length);
+    return t.copy(e), e;
+  }
+  function J(t) {
+    var r = new t.constructor(t.byteLength);
+    return new xt(r).set(new xt(t)), r;
+  }
+  function Wr(t, r) {
+    var e = r ? J(t.buffer) : t.buffer;
+    return new t.constructor(e, t.byteOffset, t.byteLength);
+  }
+  function Vr(t, r, e) {
+    var n = r ? e(vt(t), !0) : vt(t);
+    return bt(n, Yt, new t.constructor());
+  }
+  function qr(t) {
+    var r = new t.constructor(t.source, Wt.exec(t));
+    return r.lastIndex = t.lastIndex, r;
+  }
+  function zr(t, r, e) {
+    var n = r ? e(At(t), !0) : At(t);
+    return bt(n, Zt, new t.constructor());
+  }
+  function Jr(t) {
+    return Et ? Object(Et.call(t)) : {};
+  }
+  function Xr(t, r) {
+    var e = r ? J(t.buffer) : t.buffer;
+    return new t.constructor(e, t.byteOffset, t.length);
+  }
+  function Yr(t, r) {
+    var e = -1, n = t.length;
+    for (r || (r = Array(n)); ++e < n; )
+      r[e] = t[e];
+    return r;
+  }
+  function Pt(t, r, e, n) {
+    e || (e = {});
+    for (var o = -1, i = r.length; ++o < i; ) {
+      var h = r[o], c = void 0;
+      It(e, h, c === void 0 ? t[h] : c);
+    }
+    return e;
+  }
+  function Zr(t, r) {
+    return Pt(t, Mt(t), r);
+  }
+  function Qr(t) {
+    return Hr(t, Y, Mt);
+  }
+  function M(t, r) {
+    var e = t.__data__;
+    return ne(r) ? e[typeof r == "string" ? "string" : "hash"] : e.map;
+  }
+  function A(t, r) {
+    var e = rr(t, r);
+    return Ur(e) ? e : void 0;
+  }
+  var Mt = Ot ? U(Ot, Object) : le, y = Lr;
+  (N && y(new N(new ArrayBuffer(1))) != j || m && y(new m()) != x || W && y(W.resolve()) != et || V && y(new V()) != O || q && y(new q()) != L) && (y = function(t) {
+    var r = I.call(t), e = r == H ? t.constructor : void 0, n = e ? b(e) : void 0;
+    if (n)
+      switch (n) {
+        case lr:
+          return j;
+        case hr:
+          return x;
+        case pr:
+          return et;
+        case gr:
+          return O;
+        case dr:
+          return L;
+      }
+    return r;
+  });
+  function kr(t) {
+    var r = t.length, e = t.constructor(r);
+    return r && typeof t[0] == "string" && d.call(t, "index") && (e.index = t.index, e.input = t.input), e;
+  }
+  function te(t) {
+    return typeof t.constructor == "function" && !Gt(t) ? Fr(or(t)) : {};
+  }
+  function re(t, r, e, n) {
+    var o = t.constructor;
+    switch (r) {
+      case it:
+        return J(t);
+      case Q:
+      case k:
+        return new o(+t);
+      case j:
+        return Wr(t, n);
+      case ct:
+      case st:
+      case ut:
+      case ft:
+      case lt:
+      case ht:
+      case pt:
+      case gt:
+      case dt:
+        return Xr(t, n);
+      case x:
+        return Vr(t, n, e);
+      case rt:
+      case at:
+        return new o(t);
+      case nt:
+        return qr(t);
+      case O:
+        return zr(t, n, e);
+      case ot:
+        return Jr(t);
+    }
+  }
+  function ee(t, r) {
+    return r = r == null ? p : r, !!r && (typeof t == "number" || qt.test(t)) && t > -1 && t % 1 == 0 && t < r;
+  }
+  function ne(t) {
+    var r = typeof t;
+    return r == "string" || r == "number" || r == "symbol" || r == "boolean" ? t !== "__proto__" : t === null;
+  }
+  function ae(t) {
+    return !!Tt && Tt in t;
+  }
+  function Gt(t) {
+    var r = t && t.constructor, e = typeof r == "function" && r.prototype || E;
+    return t === e;
+  }
+  function b(t) {
+    if (t != null) {
+      try {
+        return St.call(t);
+      } catch (r) {
+      }
+      try {
+        return t + "";
+      } catch (r) {
+      }
+    }
+    return "";
+  }
+  function oe(t) {
+    return z(t, !0, !0);
+  }
+  function Rt(t, r) {
+    return t === r || t !== t && r !== r;
+  }
+  function ie(t) {
+    return ce(t) && d.call(t, "callee") && (!cr.call(t, "callee") || I.call(t) == g);
+  }
+  var X = Array.isArray;
+  function $t(t) {
+    return t != null && ue(t.length) && !Bt(t);
+  }
+  function ce(t) {
+    return fe(t) && $t(t);
+  }
+  var se = ur || he;
+  function Bt(t) {
+    var r = G(t) ? I.call(t) : "";
+    return r == F || r == tt;
+  }
+  function ue(t) {
+    return typeof t == "number" && t > -1 && t % 1 == 0 && t <= p;
+  }
+  function G(t) {
+    var r = typeof t;
+    return !!t && (r == "object" || r == "function");
+  }
+  function fe(t) {
+    return !!t && typeof t == "object";
+  }
+  function Y(t) {
+    return $t(t) ? Br(t) : Kr(t);
+  }
+  function le() {
+    return [];
+  }
+  function he() {
+    return !1;
+  }
+  s.exports = oe;
+})(B, B.exports);
+var ge = B.exports;
+const de = /* @__PURE__ */ pe(ge);
+function ye(s) {
+  if (!s) return null;
+  s = de(s);
+  let u = Array.isArray(s) ? s.concat() : [s];
+  for (; u.length; ) {
+    const D = u.length;
+    for (let S = 0; S < D; S++) {
+      const p = u.shift();
+      !p.children || !p.children.length || (p.children.forEach((g) => {
+        g.path[0] !== "/" && !g.path.startsWith("http") && (g.path = p.path.replace(/(\w*)[/]*$/, `$1/${g.path}`));
+      }), u = u.concat(p.children));
+    }
+  }
+  return s;
+}
+export {
+  ye as c
+};

+ 219 - 0
lib/js/statusUtils.js

@@ -0,0 +1,219 @@
+import { P as s, a as p, m as $ } from "./index2.js";
+import { defineComponent as S, shallowRef as O, createVNode as h, ref as m, watch as M, computed as b } from "vue";
+var K = function(t, a) {
+  var o = {};
+  for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && a.indexOf(n) < 0 && (o[n] = t[n]);
+  if (t != null && typeof Object.getOwnPropertySymbols == "function") for (var l = 0, n = Object.getOwnPropertySymbols(t); l < n.length; l++)
+    a.indexOf(n[l]) < 0 && Object.prototype.propertyIsEnumerable.call(t, n[l]) && (o[n[l]] = t[n[l]]);
+  return o;
+};
+const z = S({
+  compatConfig: {
+    MODE: 3
+  },
+  // inheritAttrs: false,
+  props: {
+    disabled: s.looseBool,
+    type: s.string,
+    value: s.any,
+    tag: {
+      type: String,
+      default: "input"
+    },
+    size: s.string,
+    onChange: Function,
+    onInput: Function,
+    onBlur: Function,
+    onFocus: Function,
+    onKeydown: Function,
+    onCompositionstart: Function,
+    onCompositionend: Function,
+    onKeyup: Function,
+    onPaste: Function,
+    onMousedown: Function
+  },
+  emits: ["change", "input", "blur", "keydown", "focus", "compositionstart", "compositionend", "keyup", "paste", "mousedown"],
+  setup(t, a) {
+    let {
+      expose: o
+    } = a;
+    const n = O(null);
+    return o({
+      focus: () => {
+        n.value && n.value.focus();
+      },
+      blur: () => {
+        n.value && n.value.blur();
+      },
+      input: n,
+      setSelectionRange: (u, c, d) => {
+        var v;
+        (v = n.value) === null || v === void 0 || v.setSelectionRange(u, c, d);
+      },
+      select: () => {
+        var u;
+        (u = n.value) === null || u === void 0 || u.select();
+      },
+      getSelectionStart: () => {
+        var u;
+        return (u = n.value) === null || u === void 0 ? void 0 : u.selectionStart;
+      },
+      getSelectionEnd: () => {
+        var u;
+        return (u = n.value) === null || u === void 0 ? void 0 : u.selectionEnd;
+      },
+      getScrollTop: () => {
+        var u;
+        return (u = n.value) === null || u === void 0 ? void 0 : u.scrollTop;
+      }
+    }), () => {
+      const {
+        tag: u,
+        value: c
+      } = t, d = K(t, ["tag", "value"]);
+      return h(u, p(p({}, d), {}, {
+        ref: n,
+        value: c
+      }), null);
+    };
+  }
+});
+function x(t) {
+  return Object.keys(t).reduce((a, o) => {
+    const n = t[o];
+    return typeof n == "undefined" || n === null || (a += `${o}: ${t[o]};`), a;
+  }, "");
+}
+var D = function(t, a) {
+  var o = {};
+  for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && a.indexOf(n) < 0 && (o[n] = t[n]);
+  if (t != null && typeof Object.getOwnPropertySymbols == "function") for (var l = 0, n = Object.getOwnPropertySymbols(t); l < n.length; l++)
+    a.indexOf(n[l]) < 0 && Object.prototype.propertyIsEnumerable.call(t, n[l]) && (o[n[l]] = t[n[l]]);
+  return o;
+};
+const A = S({
+  compatConfig: {
+    MODE: 3
+  },
+  inheritAttrs: !1,
+  props: {
+    disabled: s.looseBool,
+    type: s.string,
+    value: s.any,
+    lazy: s.bool.def(!0),
+    tag: {
+      type: String,
+      default: "input"
+    },
+    size: s.string,
+    style: s.oneOfType([String, Object]),
+    class: s.string
+  },
+  emits: ["change", "input", "blur", "keydown", "focus", "compositionstart", "compositionend", "keyup", "paste", "mousedown"],
+  setup(t, a) {
+    let {
+      emit: o,
+      attrs: n,
+      expose: l
+    } = a;
+    const r = O(null), f = m(), i = m(!1);
+    M([() => t.value, i], () => {
+      i.value || (f.value = t.value);
+    }, {
+      immediate: !0
+    });
+    const u = (e) => {
+      o("change", e);
+    }, c = (e) => {
+      i.value = !0, e.target.composing = !0, o("compositionstart", e);
+    }, d = (e) => {
+      i.value = !1, e.target.composing = !1, o("compositionend", e);
+      const g = document.createEvent("HTMLEvents");
+      g.initEvent("input", !0, !0), e.target.dispatchEvent(g), u(e);
+    }, v = (e) => {
+      if (i.value && t.lazy) {
+        f.value = e.target.value;
+        return;
+      }
+      o("input", e);
+    }, w = (e) => {
+      o("blur", e);
+    }, _ = (e) => {
+      o("focus", e);
+    }, F = () => {
+      r.value && r.value.focus();
+    }, P = () => {
+      r.value && r.value.blur();
+    }, j = (e) => {
+      o("keydown", e);
+    }, E = (e) => {
+      o("keyup", e);
+    }, C = (e, g, R) => {
+      var y;
+      (y = r.value) === null || y === void 0 || y.setSelectionRange(e, g, R);
+    }, T = () => {
+      var e;
+      (e = r.value) === null || e === void 0 || e.select();
+    };
+    l({
+      focus: F,
+      blur: P,
+      input: b(() => {
+        var e;
+        return (e = r.value) === null || e === void 0 ? void 0 : e.input;
+      }),
+      setSelectionRange: C,
+      select: T,
+      getSelectionStart: () => {
+        var e;
+        return (e = r.value) === null || e === void 0 ? void 0 : e.getSelectionStart();
+      },
+      getSelectionEnd: () => {
+        var e;
+        return (e = r.value) === null || e === void 0 ? void 0 : e.getSelectionEnd();
+      },
+      getScrollTop: () => {
+        var e;
+        return (e = r.value) === null || e === void 0 ? void 0 : e.getScrollTop();
+      }
+    });
+    const k = (e) => {
+      o("mousedown", e);
+    }, B = (e) => {
+      o("paste", e);
+    }, I = b(() => t.style && typeof t.style != "string" ? x(t.style) : t.style);
+    return () => {
+      const e = D(t, ["style", "lazy"]);
+      return h(z, p(p(p({}, e), n), {}, {
+        style: I.value,
+        onInput: v,
+        onChange: u,
+        onBlur: w,
+        onFocus: _,
+        ref: r,
+        value: f.value,
+        onCompositionstart: c,
+        onCompositionend: d,
+        onKeyup: E,
+        onKeydown: j,
+        onPaste: B,
+        onMousedown: k
+      }), null);
+    };
+  }
+});
+function H(t, a, o) {
+  return $({
+    [`${t}-status-success`]: a === "success",
+    [`${t}-status-warning`]: a === "warning",
+    [`${t}-status-error`]: a === "error",
+    [`${t}-status-validating`]: a === "validating",
+    [`${t}-has-feedback`]: o
+  });
+}
+const L = (t, a) => a || t;
+export {
+  A as B,
+  H as a,
+  L as g
+};

+ 15 - 0
lib/js/styleChecker.js

@@ -0,0 +1,15 @@
+import { aX as n } from "./index2.js";
+const d = () => n() && window.document.documentElement;
+let t;
+const l = () => {
+  if (!d())
+    return !1;
+  if (t !== void 0)
+    return t;
+  const e = document.createElement("div");
+  return e.style.display = "flex", e.style.flexDirection = "column", e.style.rowGap = "1px", e.appendChild(document.createElement("div")), e.appendChild(document.createElement("div")), document.body.appendChild(e), t = e.scrollHeight === 1, document.body.removeChild(e), t;
+};
+export {
+  d as c,
+  l as d
+};

File diff suppressed because it is too large
+ 28 - 0
lib/js/todo.js


+ 39 - 0
lib/js/upload.js

@@ -0,0 +1,39 @@
+function u(n) {
+  const i = window.$utils.env.VITE_APP_SYS_SERVER_NAME;
+  return window.$utils.http({
+    url: `${i}/file/preview?id=${n}`
+  });
+}
+function o(n) {
+  return `${window.$utils.env.VUE_APP_PREVIEW_ONLINE}${n}`;
+}
+function d(n) {
+  const i = window.$utils.env.VITE_APP_SYS_SERVER_NAME;
+  return window.$utils.http({
+    url: `${i}/file/download?id=${n}`
+  });
+}
+function l(n, i, t) {
+  const e = window.$utils.env.VITE_APP_SYS_SERVER_NAME, a = new FormData();
+  return a.append("file", n), window.$utils.http({
+    url: `${e}/file/upload?businessTableName=${i}&uid=${t}`,
+    data: a,
+    headers: {
+      "Content-Type": "multipart/form-data"
+    }
+  });
+}
+function s(n, i, t) {
+  const e = window.$utils.env.VITE_APP_SYS_SERVER_NAME;
+  return window.$utils.http({
+    url: `${e}/file/uploadWithBase64?businessTableName=${i}&invariantId=${t}`,
+    data: n
+  });
+}
+export {
+  l as a,
+  o as b,
+  d,
+  u as p,
+  s as u
+};

+ 24 - 0
lib/js/useMergedState.js

@@ -0,0 +1,24 @@
+import { ref as i, unref as o, watchEffect as s, watch as d, toRaw as g } from "vue";
+function m(l, u) {
+  const {
+    defaultValue: a,
+    value: n = i()
+  } = u || {};
+  let t = typeof l == "function" ? l() : l;
+  n.value !== void 0 && (t = o(n)), a !== void 0 && (t = typeof a == "function" ? a() : a);
+  const r = i(t), f = i(t);
+  s(() => {
+    let e = n.value !== void 0 ? n.value : r.value;
+    u.postState && (e = u.postState(e)), f.value = e;
+  });
+  function v(e) {
+    const c = f.value;
+    r.value = e, g(f.value) !== e && u.onChange && u.onChange(e, c);
+  }
+  return d(n, () => {
+    r.value = n.value;
+  }), [f, v];
+}
+export {
+  m as u
+};

+ 27 - 0
lib/js/workbench.js

@@ -0,0 +1,27 @@
+import { resolveComponent as o, openBlock as t, createElementBlock as n, createVNode as r, withCtx as c, createTextVNode as s, createElementVNode as a } from "vue";
+import { r as m } from "./index2.js";
+const _ = {
+  name: "WorkbenchCommon",
+  data() {
+    return {};
+  },
+  methods: {},
+  mounted() {
+  }
+}, d = { class: "workbench-common" }, i = /* @__PURE__ */ a("div", null, "工作台页", -1);
+function l(p, u, h, f, k, x) {
+  const e = o("router-link");
+  return t(), n("div", d, [
+    i,
+    r(e, { to: "/housing/listings" }, {
+      default: c(() => [
+        s("跳转到业务首页")
+      ]),
+      _: 1
+    })
+  ]);
+}
+const v = /* @__PURE__ */ m(_, [["render", l]]);
+export {
+  v as default
+};

+ 57 - 0
package.json

@@ -0,0 +1,57 @@
+{
+  "name": "sapit-ui-plus",
+  "version": "1.0.1",
+  "private": false,
+  "description": "赛普科技 - 底层框架 - 项目基座",
+  "type": "module",
+  "author": "diry",
+  "license": "ISC",
+  "main": "./lib/js/index.js",
+  "module": "./lib/js/index.js",
+  "files": [
+    "lib"
+  ],
+  "scripts": {
+    "dev": "vite",
+    "build": "vite build && @powershell copy './package.json' './dist/' && cd dist && git init && git add -A && git commit -m 'deploy' && git push -f http://59.46.229.138:6010/sapit/sapit-ui-plus.git master",
+    "preview": "vite preview",
+    "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore",
+    "format": "prettier --write src/"
+  },
+  "dependencies": {
+    "@ffmpeg/core": "^0.12.6",
+    "@ffmpeg/ffmpeg": "0.12.7",
+    "@ffmpeg/util": "^0.12.1",
+    "ant-design-vue": "4.x",
+    "axios": "^1.7.3",
+    "dayjs": "^1.11.12",
+    "html2canvas": "^1.4.1",
+    "jodit": "3.24.7",
+    "less": "^4.2.0",
+    "less-loader": "^12.2.0",
+    "lodash.clonedeep": "^4.5.0",
+    "lodash.get": "^4.4.2",
+    "moment": "^2.30.1",
+    "nprogress": "^0.2.0",
+    "pinia": "^2.1.7",
+    "pinia-plugin-persist": "^1.0.0",
+    "qs": "^6.13.0",
+    "vite-plugin-generate-file": "^0.2.0",
+    "vite-plugin-html": "^3.2.2",
+    "vue": "^3.4.29",
+    "vue-cropper": "^1.1.4",
+    "vue-i18n": "^9.14.0",
+    "vue-ls": "^4.2.0",
+    "vue-router": "^4.3.3"
+  },
+  "devDependencies": {
+    "@rushstack/eslint-patch": "^1.8.0",
+    "@vitejs/plugin-vue": "^5.0.5",
+    "@vue/eslint-config-prettier": "^9.0.0",
+    "eslint": "^8.57.0",
+    "eslint-plugin-vue": "^9.23.0",
+    "prettier": "^3.2.5",
+    "unplugin-vue-components": "^0.27.3",
+    "vite": "^5.3.1"
+  }
+}

Some files were not shown because too many files changed in this diff