import { createI18n as xo } from "vue-i18n";
import { useClipboard as Co, useThrottleFn as Lt, useToggle as et, useDebounceFn as $e, useResizeObserver as Te, useStorage as Vo, usePreferredDark as Eo, useFullscreen as Io, isDefined as Mt } from "@vueuse/core";
import { ElMessage as Bo } from "element-plus";
import { defineComponent as T, computed as j, resolveComponent as x, openBlock as h, createElementBlock as k, normalizeClass as W, Fragment as O, renderList as U, normalizeStyle as ee, renderSlot as X, createVNode as y, createCommentVNode as P, createBlock as S, mergeProps as L, withCtx as v, createTextVNode as H, toDisplayString as $, createElementVNode as C, useAttrs as $o, shallowRef as _e, watch as G, onMounted as ie, onBeforeUnmount as Fe, unref as f, useCssVars as Pt, Transition as To, h as Le, resolveDynamicComponent as K, normalizeProps as q, guardReactiveProps as Q, withDirectives as Ae, createSlots as ke, vShow as Dt, mergeModels as te, useModel as le, ref as M, onBeforeMount as fe, toHandlers as ae, reactive as me, isRef as re, pushScopeId as Ft, popScopeId as At, TransitionGroup as Lo, nextTick as ue, inject as zt, provide as Mo, useSlots as Po, resolveDirective as Rt } from "vue";
import * as Do from "echarts";
import Fo from "vue-echarts";
import Ao from "vditor";
import { useRoute as Ue } from "vue-router";
import { Howler as zo, Howl as Ro } from "howler";
import mt from "video.js";
import Me from "sortablejs";
/*! Element Plus v2.4.4 */
var Oo = { name: "zh-cn", el: { colorpicker: { confirm: "确定", clear: "清空" }, datepicker: { now: "此刻", today: "今天", cancel: "取消", clear: "清空", confirm: "确定", selectDate: "选择日期", selectTime: "选择时间", startDate: "开始日期", startTime: "开始时间", endDate: "结束日期", endTime: "结束时间", prevYear: "前一年", nextYear: "后一年", prevMonth: "上个月", nextMonth: "下个月", year: "年", month1: "1 月", month2: "2 月", month3: "3 月", month4: "4 月", month5: "5 月", month6: "6 月", month7: "7 月", month8: "8 月", month9: "9 月", month10: "10 月", month11: "11 月", month12: "12 月", weeks: { sun: "日", mon: "一", tue: "二", wed: "三", thu: "四", fri: "五", sat: "六" }, months: { jan: "一月", feb: "二月", mar: "三月", apr: "四月", may: "五月", jun: "六月", jul: "七月", aug: "八月", sep: "九月", oct: "十月", nov: "十一月", dec: "十二月" } }, select: { loading: "加载中", noMatch: "无匹配数据", noData: "无数据", placeholder: "请选择" }, cascader: { noMatch: "无匹配数据", loading: "加载中", placeholder: "请选择", noData: "暂无数据" }, pagination: { goto: "前往", pagesize: "条/页", total: "共 {total} 条", pageClassifier: "页", page: "页", prev: "上一页", next: "下一页", currentPage: "第 {pager} 页", prevPages: "向前 {pager} 页", nextPages: "向后 {pager} 页", deprecationWarning: "你使用了一些已被废弃的用法，请参考 el-pagination 的官方文档" }, messagebox: { title: "提示", confirm: "确定", cancel: "取消", error: "输入的数据不合法!" }, upload: { deleteTip: "按 delete 键可删除", delete: "删除", preview: "查看图片", continue: "继续上传" }, table: { emptyText: "暂无数据", confirmFilter: "筛选", resetFilter: "重置", clearFilter: "全部", sumText: "合计" }, tree: { emptyText: "暂无数据" }, transfer: { noMatch: "无匹配数据", noData: "无数据", titles: ["列表 1", "列表 2"], filterPlaceholder: "请输入搜索内容", noCheckedFormat: "共 {total} 项", hasCheckedFormat: "已选 {checked}/{total} 项" }, image: { error: "加载失败" }, pageHeader: { title: "返回" }, popconfirm: { confirmButtonText: "确定", cancelButtonText: "取消" } } };
/*! Element Plus v2.4.4 */
var jo = { name: "en", el: { colorpicker: { confirm: "OK", clear: "Clear", defaultLabel: "color picker", description: "current color is {color}. press enter to select a new color." }, datepicker: { now: "Now", today: "Today", cancel: "Cancel", clear: "Clear", confirm: "OK", dateTablePrompt: "Use the arrow keys and enter to select the day of the month", monthTablePrompt: "Use the arrow keys and enter to select the month", yearTablePrompt: "Use the arrow keys and enter to select the year", selectedDate: "Selected date", selectDate: "Select date", selectTime: "Select time", startDate: "Start Date", startTime: "Start Time", endDate: "End Date", endTime: "End Time", prevYear: "Previous Year", nextYear: "Next Year", prevMonth: "Previous Month", nextMonth: "Next Month", year: "", month1: "January", month2: "February", month3: "March", month4: "April", month5: "May", month6: "June", month7: "July", month8: "August", month9: "September", month10: "October", month11: "November", month12: "December", week: "week", weeks: { sun: "Sun", mon: "Mon", tue: "Tue", wed: "Wed", thu: "Thu", fri: "Fri", sat: "Sat" }, weeksFull: { sun: "Sunday", mon: "Monday", tue: "Tuesday", wed: "Wednesday", thu: "Thursday", fri: "Friday", sat: "Saturday" }, months: { jan: "Jan", feb: "Feb", mar: "Mar", apr: "Apr", may: "May", jun: "Jun", jul: "Jul", aug: "Aug", sep: "Sep", oct: "Oct", nov: "Nov", dec: "Dec" } }, inputNumber: { decrease: "decrease number", increase: "increase number" }, select: { loading: "Loading", noMatch: "No matching data", noData: "No data", placeholder: "Select" }, dropdown: { toggleDropdown: "Toggle Dropdown" }, cascader: { noMatch: "No matching data", loading: "Loading", placeholder: "Select", noData: "No data" }, pagination: { goto: "Go to", pagesize: "/page", total: "Total {total}", pageClassifier: "", page: "Page", prev: "Go to previous page", next: "Go to next page", currentPage: "page {pager}", prevPages: "Previous {pager} pages", nextPages: "Next {pager} pages", deprecationWarning: "Deprecated usages detected, please refer to the el-pagination documentation for more details" }, dialog: { close: "Close this dialog" }, drawer: { close: "Close this dialog" }, messagebox: { title: "Message", confirm: "OK", cancel: "Cancel", error: "Illegal input", close: "Close this dialog" }, upload: { deleteTip: "press delete to remove", delete: "Delete", preview: "Preview", continue: "Continue" }, slider: { defaultLabel: "slider between {min} and {max}", defaultRangeStartLabel: "pick start value", defaultRangeEndLabel: "pick end value" }, table: { emptyText: "No Data", confirmFilter: "Confirm", resetFilter: "Reset", clearFilter: "All", sumText: "Sum" }, tree: { emptyText: "No Data" }, transfer: { noMatch: "No matching data", noData: "No data", titles: ["List 1", "List 2"], filterPlaceholder: "Enter keyword", noCheckedFormat: "{total} items", hasCheckedFormat: "{checked}/{total} checked" }, image: { error: "FAILED" }, pageHeader: { title: "Back" }, popconfirm: { confirmButtonText: "Yes", cancelButtonText: "No" } } };
const he = xo({
  legacy: !1,
  locale: "",
  messages: {}
}), N = he.global.t, ht = [];
let se = {
  // 'zh-cn': localzhCN,
  // en: localen
}, He = {};
const Ot = (e) => {
  const t = "/";
  se = { ...{
    "zh-cn": () => fetch(`${t}locales/zh-cn.json`).then((l) => l.json()),
    en: () => fetch(`${t}locales/en.json`).then((l) => l.json()),
    ...se
  }, ...e };
}, jt = (e = {}) => {
  He = { ...{
    "zh-cn": Oo,
    en: jo,
    ...He
  }, ...e };
}, No = Object.keys(se);
function qe(e) {
  var t;
  he.global.locale.value = e, typeof document < "u" && ((t = document.querySelector("html")) == null || t.setAttribute("lang", e));
}
async function tt(e) {
  const t = e.toLowerCase();
  if (he.global.locale.value === t || ht.includes(t))
    return qe(t);
  if (se && se[t]) {
    const o = typeof se[t] == "function" ? await se[t]() : se[t], l = await He[t];
    return he.global.setLocaleMessage(t, {
      ...l,
      ...o
    }), ht.push(t), qe(t);
  } else
    setTimeout(() => {
      Nt();
    }, 1e3);
}
async function Nt() {
  Ot(), jt(), await tt("zh-CN");
}
const Uo = {
  install(e) {
    e.use(he), Nt();
  }
}, da = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  $t: N,
  availableLocales: No,
  epLocaleLoader: jt,
  i18n: he,
  i18nPlugin: Uo,
  loadLocaleMessages: tt,
  localesMapLoader: Ot,
  setI18nLanguage: qe
}, Symbol.toStringTag, { value: "Module" })), Ho = {
  mounted: function(e, t) {
    e.copyData = t.value;
    const { copy: o } = Co({ source: t.value }), { modifiers: l } = t, n = () => {
      o(e.copyData), !l.mute && Bo({
        type: "success",
        message: "复制成功"
      });
    };
    e.addEventListener("click", n), e.__handleClick = n;
  },
  updated: function(e, t) {
    e.copyData = t.value;
  },
  beforeUnmount: function(e) {
    e.removeEventListener("click", e.__handleClick);
  }
}, qo = {
  mounted: function(e, t) {
    if (typeof t.value != "function")
      throw "callback must be a function";
    let o = null;
    e.__handleClick = function() {
      o && clearInterval(o), o = setTimeout(() => {
        t.value();
      }, 500);
    }, e.addEventListener("click", e.__handleClick);
  },
  beforeUnmount: function(e) {
    e.removeEventListener("click", e.__handleClick);
  }
}, Wo = (e) => {
  e.style.cursor = "move", e.style.position = "absolute", e.onmousedown = function(t) {
    const o = t.pageX - e.offsetLeft, l = t.pageY - e.offsetTop;
    document.onmousemove = function(n) {
      let s = n.pageX - o, a = n.pageY - l;
      const c = parseInt(window.getComputedStyle(e.parentNode).width) - parseInt(window.getComputedStyle(e).width), i = parseInt(window.getComputedStyle(e.parentNode).height) - parseInt(window.getComputedStyle(e).height);
      s < 0 ? s = 0 : s > c && (s = c), a < 0 ? a = 0 : a > i && (a = i), e.style.left = s + "px", e.style.top = a + "px";
    }, document.onmouseup = function() {
      document.onmousemove = document.onmouseup = null;
    };
  };
}, Xo = {
  mounted: Wo
}, Yo = `
@keyframes blink {
  to {
    visibility: hidden
  }
}

.cursor1:after {
  -webkit-animation: blink 1s steps(5, start) infinite;
  animation: blink 1s steps(5, start) infinite;
  content: "_";
  margin-left: .25rem;
  vertical-align: baseline
}
`;
function Ko(e, t) {
  if (!document.head.querySelector(`#${t}`)) {
    const o = document.createElement("style");
    o.id = t, o.appendChild(document.createTextNode(e)), document.head.appendChild(o);
  }
}
const Pe = /* @__PURE__ */ new WeakMap();
function gt(e) {
  const t = Pe.get(e);
  t && (t.forEach(clearInterval), Pe.delete(e));
}
const Go = {
  mounted: function(e) {
    Ko(Yo, "v-flash-animation");
    const t = e.innerText, o = e.children, l = (s, a, c) => {
      var p;
      gt(s), s.classList.add("cursor1");
      const i = a.length, u = Math.floor(Math.random() * i);
      let r = a;
      const d = setInterval(() => {
        var m;
        if (r = r.substring(0, r.length - 1), s.textContent = r, r.length === u) {
          const g = setInterval(() => {
            r = r + a.charAt(r.length), s.textContent = r, r.length === a.length && (clearInterval(g), s.classList.remove("cursor1"), setTimeout(() => {
              typeof c == "function" ? c() : l(s, a);
            }, 5e3));
          }, 500);
          clearInterval(d), (m = Pe.get(s)) == null || m.push(g);
        }
      }, 200);
      (p = Pe.get(s)) == null || p.push(d);
    }, n = () => {
      const s = Math.floor(Math.random() * o.length), a = o[s], c = a.textContent;
      c && l(a, c, n);
    };
    t && o.length === 0 ? l(e, t) : n();
  },
  beforeUnmount: function(e) {
    gt(e);
  }
}, Jo = (e, t) => {
  if (typeof t.value != "function")
    throw "callback must be a function";
  let o = null;
  const l = (c) => {
    c.type === "mousedown" && "button" in c && c.button !== 0 || o === null && (o = setTimeout(() => {
      s(c);
    }, 2e3));
  }, n = () => {
    o !== null && (clearTimeout(o), o = null);
  }, s = (c) => {
    t.value(c);
  };
  e.addEventListener("mousedown", l), e.addEventListener("touchstart", l), e.addEventListener("click", n), e.addEventListener("mouseout", n), e.addEventListener("touchend", n), e.addEventListener("touchcancel", n);
  const a = () => {
    e.removeEventListener("mousedown", l), e.removeEventListener("touchstart", l), e.removeEventListener("click", n), e.removeEventListener("mouseout", n), e.removeEventListener("touchend", n), e.removeEventListener("touchcancel", n);
  };
  e._unmounted = a;
}, Qo = {
  mounted: Jo,
  beforeUnmount: (e) => e == null ? void 0 : e._unmounted()
}, Zo = {
  mounted(e, t) {
    var a, c;
    e.style.overflow = "hidden", e.style.whiteSpace = "nowrap";
    const o = ((a = t == null ? void 0 : t.value) == null ? void 0 : a.duration) || 1e4, l = ((c = t == null ? void 0 : t.value) == null ? void 0 : c.delay) || 2e3, n = t.modifiers.noreverse;
    e.__state = {
      animating: !0,
      oldScrollLeft: 0,
      start: 0,
      direction: !0,
      maxScrollLeft: e.scrollWidth - e.clientWidth
    };
    function s(i) {
      if (!(e.__state && e.__state.animating))
        return;
      const { oldScrollLeft: u, maxScrollLeft: r, direction: d } = e.__state;
      e.__state.start || (e.__state.start = i);
      const { start: p } = e.__state;
      if (i < p + l) {
        requestAnimationFrame(s);
        return;
      }
      const m = r / o, g = i - p;
      let b;
      if (d)
        b = (g - l) * m + u;
      else {
        let _ = 0;
        u && (_ = r - u), b = (o + l - g) * m - _;
      }
      e.scrollLeft = b, (b >= r || b < 0) && (n || (e.__state.direction = !d), e.__state.start = 0, e.__state.oldScrollLeft = 0), requestAnimationFrame(s);
    }
    requestAnimationFrame(s), e.__resizeHandler = () => {
      e.__state.maxScrollLeft = e.scrollWidth - e.clientWidth, e.__state.maxScrollLeft <= 0 && (e.__state.start = 0, e.scrollLeft = 0, e.__state.direction = !0);
    }, e.__pauseScroll = () => {
      e.__state.animating = !1, e.__state.oldScrollLeft = e.scrollLeft;
    }, e.__resumeScroll = () => {
      e.__state.animating || (e.__state.animating = !0, e.__state.start = 0, requestAnimationFrame(s));
    }, window.addEventListener("resize", e.__resizeHandler), e.addEventListener("mouseover", e.__pauseScroll), e.addEventListener("touchstart", e.__pauseScroll), e.addEventListener("mouseleave", e.__resumeScroll), e.addEventListener("touchend", e.__resumeScroll);
  },
  updated(e) {
    const t = e.scrollWidth - e.clientWidth;
    e.__state.maxScrollLeft !== t && (e.__state.maxScrollLeft = t, e.__state.start = 0, e.__state.direction = !0, e.__state.oldScrollLeft = 0, e.scrollLeft = 0);
  },
  beforeUnmount(e) {
    e.__state.animating = !1, e.__state = null, e.scrollLeft = 0, e.__resizeHandler && window.removeEventListener("resize", e.__resizeHandler), e.removeEventListener("mouseover", e.__pauseScroll), e.removeEventListener("touchstart", e.__pauseScroll), e.removeEventListener("mouseleave", e.__resumeScroll), e.removeEventListener("touchend", e.__resumeScroll);
  }
}, en = {
  mounted: function(e, t) {
    if (typeof t.value != "function")
      throw "callback must be a function";
    let o = null;
    e.__handleClick = function() {
      o && clearInterval(o), e.disabled || (e.disabled = !0, t.value(), o = setTimeout(() => {
        e.disabled = !1;
      }, 1e3));
    }, e.addEventListener("click", e.__handleClick);
  },
  beforeUnmount: function(e) {
    e.removeEventListener("click", e.__handleClick);
  }
}, tn = (e, t, o, l) => {
  const n = document.createElement("canvas");
  t.appendChild(n), n.width = 200, n.height = 150, n.style.display = "none";
  const s = n.getContext("2d");
  s.rotate(-20 * Math.PI / 180), s.font = o || "16px Microsoft JhengHei", s.fillStyle = l || "rgba(180, 180, 180, 0.3)", s.textAlign = "left", s.textBaseline = "Middle", s.fillText(e, n.width / 10, n.height / 2), t.style.backgroundImage = "url(" + n.toDataURL("image/png") + ")";
}, on = (e, t) => {
  tn(t.value.text, e, t.value.font, t.value.textColor);
}, nn = {
  mounted: on
}, vt = /* @__PURE__ */ Object.assign({
  "./modules/copy.ts": Ho,
  "./modules/debounce.ts": qo,
  "./modules/draggable.ts": Xo,
  "./modules/flash.ts": Go,
  "./modules/longPress.ts": Qo,
  "./modules/scrollText.ts": Zo,
  "./modules/throttle.ts": en,
  "./modules/waterMarker.ts": nn
}), ln = {
  install: (e) => {
    Object.keys(vt).forEach((t) => {
      const o = t.replace("./modules/", "").replace(".ts", "");
      e.directive(o, vt[t]);
    });
  }
};
function fa(e) {
  e.use(ln);
}
const sn = /* @__PURE__ */ T({
  __name: "AvatarList",
  props: {
    images: { default: () => [] },
    num: { default: 5 },
    size: { default: 32 },
    direction: { default: "horizontal" },
    gutter: { default: 0 },
    borderColor: { default: "white" },
    borderWidth: { default: "3px" },
    showMore: { type: Boolean },
    reverse: { type: Boolean },
    inline: { type: Boolean }
  },
  emits: ["click"],
  setup(e, { emit: t }) {
    const o = e, l = t, n = (u, r) => {
      l("click", { item: u, index: r });
    }, s = j(() => {
      let u = [];
      return o.direction === "vertical" ? u = [...u, "flex-col", "justify-center"] : u = [...u, "flex-row", "items-center"], o.inline ? u = ["inline", ...u] : u = ["flex", ...u], u;
    }), a = j(() => o.direction === "horizontal" ? {
      marginRight: -o.gutter + "px"
    } : {
      marginBottom: -o.gutter + "px"
    }), c = j(() => o.direction === "horizontal" ? { marginLeft: o.gutter + 3 + "px" } : { marginTop: o.gutter - 5 + "px" }), i = j(
      () => (o.num ? (o.images || []).slice(0, o.num) : o.images) || []
    );
    return (u, r) => {
      const d = x("el-avatar");
      return h(), k("ul", {
        class: W(s.value)
      }, [
        (h(!0), k(O, null, U(i.value, (p, m) => (h(), k("li", {
          key: m,
          class: "rounded-full flex border-white",
          style: ee({
            ...a.value,
            borderColor: u.borderColor,
            borderWidth: u.borderWidth,
            zIndex: u.reverse ? i.value.length - m : m
          })
        }, [
          X(u.$slots, "item", { item: p }, () => [
            y(d, {
              src: typeof p != "string" ? p.src : p,
              size: u.size,
              onClick: () => n(p, m)
            }, null, 8, ["src", "size", "onClick"])
          ], !0)
        ], 4))), 128)),
        u.num && u.showMore ? (h(), k("li", {
          key: 0,
          class: "more",
          style: ee(c.value)
        }, "...", 4)) : P("", !0)
      ], 2);
    };
  }
}), oe = (e, t) => {
  const o = e.__vccOpts || e;
  for (const [l, n] of t)
    o[l] = n;
  return o;
}, an = /* @__PURE__ */ oe(sn, [["__scopeId", "data-v-b1f75e17"]]), rn = { class: "flex items-center" }, cn = {
  key: 0,
  class: "ml-2"
}, Ut = /* @__PURE__ */ T({
  __name: "AvatarMenu",
  props: {
    username: { default: "" },
    menuSize: {},
    data: {},
    trigger: { default: "click" },
    effect: {},
    type: {},
    placement: {},
    popperOptions: {},
    id: {},
    splitButton: { type: Boolean },
    hideOnClick: { type: Boolean },
    loop: { type: Boolean },
    showTimeout: {},
    hideTimeout: {},
    tabindex: {},
    maxHeight: {},
    popperClass: {},
    disabled: { type: Boolean },
    role: {},
    buttonProps: {},
    teleported: { type: Boolean },
    size: { default: "small" },
    shape: {},
    icon: {},
    src: {},
    alt: {},
    srcSet: {},
    fit: {}
  },
  emits: ["command"],
  setup(e, { emit: t }) {
    const o = e, l = t, n = (s) => l("command", s);
    return (s, a) => {
      const c = x("el-avatar"), i = x("el-dropdown-item"), u = x("el-divider"), r = x("el-dropdown-menu"), d = x("el-dropdown");
      return h(), S(d, L(o, {
        onCommand: n,
        size: s.menuSize
      }), {
        dropdown: v(() => [
          y(r, null, {
            default: v(() => [
              (h(!0), k(O, null, U(s.data, (p, m) => (h(), k(O, { key: m }, [
                (typeof p == "object" && (p != null && p.key) ? p.key : p) !== "divider" ? (h(), S(i, {
                  key: 0,
                  command: typeof p == "object" && (p != null && p.key) ? p.key : p
                }, {
                  default: v(() => [
                    H($(typeof p == "object" && (p != null && p.value) ? p.value : p), 1)
                  ]),
                  _: 2
                }, 1032, ["command"])) : (h(), S(u, {
                  key: 1,
                  class: "my-0!"
                }))
              ], 64))), 128))
            ]),
            _: 1
          })
        ]),
        default: v(() => [
          C("div", rn, [
            y(c, {
              icon: s.icon,
              size: s.size,
              src: s.src,
              alt: s.alt,
              fit: s.fit,
              "src-set": s.srcSet,
              shape: s.shape
            }, {
              default: v(() => [
                H($(s.username ? s.username[0].toUpperCase() : ""), 1)
              ]),
              _: 1
            }, 8, ["icon", "size", "src", "alt", "fit", "src-set", "shape"]),
            s.username ? (h(), k("span", cn, $(s.username), 1)) : P("", !0)
          ])
        ]),
        _: 1
      }, 16, ["size"]);
    };
  }
}), un = /* @__PURE__ */ T({
  __name: "Charts",
  props: {
    options: {},
    width: {},
    height: {},
    autoresize: { type: Boolean, default: !0 }
  },
  emits: ["init"],
  setup(e, { emit: t }) {
    const o = e, l = $o(), n = _e(), s = _e(), a = t, c = j(() => {
      const p = l.style || {}, m = u(o.width, "100%"), g = u(o.height, "400px");
      return {
        width: m,
        height: g,
        ...p
      };
    });
    G(
      () => o.options,
      (p) => {
        var m;
        (m = s.value) == null || m.setOption(p);
      },
      {
        deep: !0
      }
    );
    const i = Lt(d, 50);
    ie(() => {
      r(), o.autoresize && window.addEventListener("resize", i);
    }), Fe(() => {
      var p;
      s.value && ((p = s.value) == null || p.dispose()), o.autoresize && window.removeEventListener("resize", i);
    });
    function u(p, m) {
      return typeof p == "number" ? `${p}px` : p || m;
    }
    function r() {
      n.value && (s.value = Do.init(n.value), s.value.setOption(o.options), a("init", s.value));
    }
    function d() {
      s.value && s.value.resize();
    }
    return (p, m) => (h(), k("div", {
      ref_key: "chartRef",
      ref: n,
      style: ee(f(c))
    }, null, 4));
  }
}), dn = /* @__PURE__ */ T({
  __name: "VueEcharts",
  props: {
    theme: { default: "default" },
    style: {},
    height: { default: "400px" },
    charts: {},
    components: {},
    option: {},
    initOptions: {},
    updateOptions: {},
    group: {},
    manualUpdate: { type: Boolean },
    autoresize: { type: [Boolean, Object], default: !0 },
    loading: { type: Boolean },
    loadingOptions: {}
  },
  setup(e) {
    const t = e, o = j(() => {
      let l = {};
      const { theme: n, style: s, height: a } = t;
      return n && n.startsWith("#") && (l = { backgroundColor: n }), l.height = typeof a == "number" ? `${a}px` : a, { ...s, ...l };
    });
    return (l, n) => (h(), S(f(Fo), L(t, { style: f(o) }), null, 16, ["style"]));
  }
}), fn = /* @__PURE__ */ T({
  __name: "CollapseTransition",
  props: {
    duration: {
      type: String,
      default: "0.3s"
    }
  },
  setup(e) {
    Pt((c) => ({
      "3c98b46e": e.duration
    }));
    function t(c) {
      c.dataset || (c.dataset = {}), c.dataset.oldPaddingTop = c.style.paddingTop, c.dataset.oldPaddingBottom = c.style.paddingBottom, c.style.height = 0, c.style.paddingTop = 0, c.style.paddingBottom = 0;
    }
    function o(c) {
      c.dataset.oldOverflow = c.style.overflow, c.scrollHeight !== 0 ? (c.style.height = c.scrollHeight + "px", c.style.paddingTop = c.dataset.oldPaddingTop, c.style.paddingBottom = c.dataset.oldPaddingBottom) : (c.style.height = "", c.style.paddingTop = c.dataset.oldPaddingTop, c.style.paddingBottom = c.dataset.oldPaddingBottom), c.style.overflow = "hidden";
    }
    function l(c) {
      c.style.height = "", c.style.overflow = c.dataset.oldOverflow;
    }
    function n(c) {
      c.dataset || (c.dataset = {}), c.dataset.oldPaddingTop = c.style.paddingTop, c.dataset.oldPaddingBottom = c.style.paddingBottom, c.dataset.oldOverflow = c.style.overflow, c.style.height = c.scrollHeight + "px", c.style.overflow = "hidden";
    }
    function s(c) {
      c.scrollHeight !== 0 && (c.style.height = 0, c.style.paddingTop = 0, c.style.paddingBottom = 0);
    }
    function a(c) {
      c.style.height = "", c.style.overflow = c.dataset.oldOverflow, c.style.paddingTop = c.dataset.oldPaddingTop, c.style.paddingBottom = c.dataset.oldPaddingBottom;
    }
    return (c, i) => (h(), S(To, {
      name: "collapse",
      onBeforeLeave: n,
      onLeave: s,
      onAfterLeave: a,
      onBeforeEnter: t,
      onEnter: o,
      onAfterEnter: l
    }, {
      default: v(() => [
        X(c.$slots, "default", {}, void 0, !0)
      ]),
      _: 3
    }));
  }
}), Ht = /* @__PURE__ */ oe(fn, [["__scopeId", "data-v-e9efdbd5"]]), ye = /^[a-z0-9]+(-[a-z0-9]+)*$/, ze = (e, t, o, l = "") => {
  const n = e.split(":");
  if (e.slice(0, 1) === "@") {
    if (n.length < 2 || n.length > 3)
      return null;
    l = n.shift().slice(1);
  }
  if (n.length > 3 || !n.length)
    return null;
  if (n.length > 1) {
    const c = n.pop(), i = n.pop(), u = {
      // Allow provider without '@': "provider:prefix:name"
      provider: n.length > 0 ? n[0] : l,
      prefix: i,
      name: c
    };
    return t && !Ve(u) ? null : u;
  }
  const s = n[0], a = s.split("-");
  if (a.length > 1) {
    const c = {
      provider: l,
      prefix: a.shift(),
      name: a.join("-")
    };
    return t && !Ve(c) ? null : c;
  }
  if (o && l === "") {
    const c = {
      provider: l,
      prefix: "",
      name: s
    };
    return t && !Ve(c, o) ? null : c;
  }
  return null;
}, Ve = (e, t) => e ? !!((e.provider === "" || e.provider.match(ye)) && (t && e.prefix === "" || e.prefix.match(ye)) && e.name.match(ye)) : !1, qt = Object.freeze(
  {
    left: 0,
    top: 0,
    width: 16,
    height: 16
  }
), De = Object.freeze({
  rotate: 0,
  vFlip: !1,
  hFlip: !1
}), Re = Object.freeze({
  ...qt,
  ...De
}), We = Object.freeze({
  ...Re,
  body: "",
  hidden: !1
});
function pn(e, t) {
  const o = {};
  !e.hFlip != !t.hFlip && (o.hFlip = !0), !e.vFlip != !t.vFlip && (o.vFlip = !0);
  const l = ((e.rotate || 0) + (t.rotate || 0)) % 4;
  return l && (o.rotate = l), o;
}
function yt(e, t) {
  const o = pn(e, t);
  for (const l in We)
    l in De ? l in e && !(l in o) && (o[l] = De[l]) : l in t ? o[l] = t[l] : l in e && (o[l] = e[l]);
  return o;
}
function mn(e, t) {
  const o = e.icons, l = e.aliases || /* @__PURE__ */ Object.create(null), n = /* @__PURE__ */ Object.create(null);
  function s(a) {
    if (o[a])
      return n[a] = [];
    if (!(a in n)) {
      n[a] = null;
      const c = l[a] && l[a].parent, i = c && s(c);
      i && (n[a] = [c].concat(i));
    }
    return n[a];
  }
  return (t || Object.keys(o).concat(Object.keys(l))).forEach(s), n;
}
function hn(e, t, o) {
  const l = e.icons, n = e.aliases || /* @__PURE__ */ Object.create(null);
  let s = {};
  function a(c) {
    s = yt(
      l[c] || n[c],
      s
    );
  }
  return a(t), o.forEach(a), yt(e, s);
}
function Wt(e, t) {
  const o = [];
  if (typeof e != "object" || typeof e.icons != "object")
    return o;
  e.not_found instanceof Array && e.not_found.forEach((n) => {
    t(n, null), o.push(n);
  });
  const l = mn(e);
  for (const n in l) {
    const s = l[n];
    s && (t(n, hn(e, n, s)), o.push(n));
  }
  return o;
}
const gn = {
  provider: "",
  aliases: {},
  not_found: {},
  ...qt
};
function je(e, t) {
  for (const o in t)
    if (o in e && typeof e[o] != typeof t[o])
      return !1;
  return !0;
}
function Xt(e) {
  if (typeof e != "object" || e === null)
    return null;
  const t = e;
  if (typeof t.prefix != "string" || !e.icons || typeof e.icons != "object" || !je(e, gn))
    return null;
  const o = t.icons;
  for (const n in o) {
    const s = o[n];
    if (!n.match(ye) || typeof s.body != "string" || !je(
      s,
      We
    ))
      return null;
  }
  const l = t.aliases || /* @__PURE__ */ Object.create(null);
  for (const n in l) {
    const s = l[n], a = s.parent;
    if (!n.match(ye) || typeof a != "string" || !o[a] && !l[a] || !je(
      s,
      We
    ))
      return null;
  }
  return t;
}
const _t = /* @__PURE__ */ Object.create(null);
function vn(e, t) {
  return {
    provider: e,
    prefix: t,
    icons: /* @__PURE__ */ Object.create(null),
    missing: /* @__PURE__ */ new Set()
  };
}
function de(e, t) {
  const o = _t[e] || (_t[e] = /* @__PURE__ */ Object.create(null));
  return o[t] || (o[t] = vn(e, t));
}
function ot(e, t) {
  return Xt(t) ? Wt(t, (o, l) => {
    l ? e.icons[o] = l : e.missing.add(o);
  }) : [];
}
function yn(e, t, o) {
  try {
    if (typeof o.body == "string")
      return e.icons[t] = { ...o }, !0;
  } catch {
  }
  return !1;
}
let be = !1;
function Yt(e) {
  return typeof e == "boolean" && (be = e), be;
}
function _n(e) {
  const t = typeof e == "string" ? ze(e, !0, be) : e;
  if (t) {
    const o = de(t.provider, t.prefix), l = t.name;
    return o.icons[l] || (o.missing.has(l) ? null : void 0);
  }
}
function bn(e, t) {
  const o = ze(e, !0, be);
  if (!o)
    return !1;
  const l = de(o.provider, o.prefix);
  return yn(l, o.name, t);
}
function wn(e, t) {
  if (typeof e != "object")
    return !1;
  if (typeof t != "string" && (t = e.provider || ""), be && !t && !e.prefix) {
    let n = !1;
    return Xt(e) && (e.prefix = "", Wt(e, (s, a) => {
      a && bn(s, a) && (n = !0);
    })), n;
  }
  const o = e.prefix;
  if (!Ve({
    provider: t,
    prefix: o,
    name: "a"
  }))
    return !1;
  const l = de(t, o);
  return !!ot(l, e);
}
const Kt = Object.freeze({
  width: null,
  height: null
}), Gt = Object.freeze({
  // Dimensions
  ...Kt,
  // Transformations
  ...De
}), kn = /(-?[0-9.]*[0-9]+[0-9.]*)/g, Sn = /^-?[0-9.]*[0-9]+[0-9.]*$/g;
function bt(e, t, o) {
  if (t === 1)
    return e;
  if (o = o || 100, typeof e == "number")
    return Math.ceil(e * t * o) / o;
  if (typeof e != "string")
    return e;
  const l = e.split(kn);
  if (l === null || !l.length)
    return e;
  const n = [];
  let s = l.shift(), a = Sn.test(s);
  for (; ; ) {
    if (a) {
      const c = parseFloat(s);
      isNaN(c) ? n.push(s) : n.push(Math.ceil(c * t * o) / o);
    } else
      n.push(s);
    if (s = l.shift(), s === void 0)
      return n.join("");
    a = !a;
  }
}
const xn = (e) => e === "unset" || e === "undefined" || e === "none";
function Cn(e, t) {
  const o = {
    ...Re,
    ...e
  }, l = {
    ...Gt,
    ...t
  }, n = {
    left: o.left,
    top: o.top,
    width: o.width,
    height: o.height
  };
  let s = o.body;
  [o, l].forEach((g) => {
    const b = [], _ = g.hFlip, E = g.vFlip;
    let w = g.rotate;
    _ ? E ? w += 2 : (b.push(
      "translate(" + (n.width + n.left).toString() + " " + (0 - n.top).toString() + ")"
    ), b.push("scale(-1 1)"), n.top = n.left = 0) : E && (b.push(
      "translate(" + (0 - n.left).toString() + " " + (n.height + n.top).toString() + ")"
    ), b.push("scale(1 -1)"), n.top = n.left = 0);
    let A;
    switch (w < 0 && (w -= Math.floor(w / 4) * 4), w = w % 4, w) {
      case 1:
        A = n.height / 2 + n.top, b.unshift(
          "rotate(90 " + A.toString() + " " + A.toString() + ")"
        );
        break;
      case 2:
        b.unshift(
          "rotate(180 " + (n.width / 2 + n.left).toString() + " " + (n.height / 2 + n.top).toString() + ")"
        );
        break;
      case 3:
        A = n.width / 2 + n.left, b.unshift(
          "rotate(-90 " + A.toString() + " " + A.toString() + ")"
        );
        break;
    }
    w % 2 === 1 && (n.left !== n.top && (A = n.left, n.left = n.top, n.top = A), n.width !== n.height && (A = n.width, n.width = n.height, n.height = A)), b.length && (s = '<g transform="' + b.join(" ") + '">' + s + "</g>");
  });
  const a = l.width, c = l.height, i = n.width, u = n.height;
  let r, d;
  a === null ? (d = c === null ? "1em" : c === "auto" ? u : c, r = bt(d, i / u)) : (r = a === "auto" ? i : a, d = c === null ? bt(r, u / i) : c === "auto" ? u : c);
  const p = {}, m = (g, b) => {
    xn(b) || (p[g] = b.toString());
  };
  return m("width", r), m("height", d), p.viewBox = n.left.toString() + " " + n.top.toString() + " " + i.toString() + " " + u.toString(), {
    attributes: p,
    body: s
  };
}
const Vn = /\sid="(\S+)"/g, En = "IconifyId" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);
let In = 0;
function Bn(e, t = En) {
  const o = [];
  let l;
  for (; l = Vn.exec(e); )
    o.push(l[1]);
  if (!o.length)
    return e;
  const n = "suffix" + (Math.random() * 16777216 | Date.now()).toString(16);
  return o.forEach((s) => {
    const a = typeof t == "function" ? t(s) : t + (In++).toString(), c = s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
    e = e.replace(
      // Allowed characters before id: [#;"]
      // Allowed characters after id: [)"], .[a-z]
      new RegExp('([#;"])(' + c + ')([")]|\\.[a-z])', "g"),
      "$1" + a + n + "$3"
    );
  }), e = e.replace(new RegExp(n, "g"), ""), e;
}
const Xe = /* @__PURE__ */ Object.create(null);
function $n(e, t) {
  Xe[e] = t;
}
function Ye(e) {
  return Xe[e] || Xe[""];
}
function nt(e) {
  let t;
  if (typeof e.resources == "string")
    t = [e.resources];
  else if (t = e.resources, !(t instanceof Array) || !t.length)
    return null;
  return {
    // API hosts
    resources: t,
    // Root path
    path: e.path || "/",
    // URL length limit
    maxURL: e.maxURL || 500,
    // Timeout before next host is used.
    rotate: e.rotate || 750,
    // Timeout before failing query.
    timeout: e.timeout || 5e3,
    // Randomise default API end point.
    random: e.random === !0,
    // Start index
    index: e.index || 0,
    // Receive data after time out (used if time out kicks in first, then API module sends data anyway).
    dataAfterTimeout: e.dataAfterTimeout !== !1
  };
}
const lt = /* @__PURE__ */ Object.create(null), ge = [
  "https://api.simplesvg.com",
  "https://api.unisvg.com"
], Ee = [];
for (; ge.length > 0; )
  ge.length === 1 || Math.random() > 0.5 ? Ee.push(ge.shift()) : Ee.push(ge.pop());
lt[""] = nt({
  resources: ["https://api.iconify.design"].concat(Ee)
});
function Tn(e, t) {
  const o = nt(t);
  return o === null ? !1 : (lt[e] = o, !0);
}
function st(e) {
  return lt[e];
}
const Ln = () => {
  let e;
  try {
    if (e = fetch, typeof e == "function")
      return e;
  } catch {
  }
};
let wt = Ln();
function Mn(e, t) {
  const o = st(e);
  if (!o)
    return 0;
  let l;
  if (!o.maxURL)
    l = 0;
  else {
    let n = 0;
    o.resources.forEach((a) => {
      n = Math.max(n, a.length);
    });
    const s = t + ".json?icons=";
    l = o.maxURL - n - o.path.length - s.length;
  }
  return l;
}
function Pn(e) {
  return e === 404;
}
const Dn = (e, t, o) => {
  const l = [], n = Mn(e, t), s = "icons";
  let a = {
    type: s,
    provider: e,
    prefix: t,
    icons: []
  }, c = 0;
  return o.forEach((i, u) => {
    c += i.length + 1, c >= n && u > 0 && (l.push(a), a = {
      type: s,
      provider: e,
      prefix: t,
      icons: []
    }, c = i.length), a.icons.push(i);
  }), l.push(a), l;
};
function Fn(e) {
  if (typeof e == "string") {
    const t = st(e);
    if (t)
      return t.path;
  }
  return "/";
}
const An = (e, t, o) => {
  if (!wt) {
    o("abort", 424);
    return;
  }
  let l = Fn(t.provider);
  switch (t.type) {
    case "icons": {
      const s = t.prefix, c = t.icons.join(","), i = new URLSearchParams({
        icons: c
      });
      l += s + ".json?" + i.toString();
      break;
    }
    case "custom": {
      const s = t.uri;
      l += s.slice(0, 1) === "/" ? s.slice(1) : s;
      break;
    }
    default:
      o("abort", 400);
      return;
  }
  let n = 503;
  wt(e + l).then((s) => {
    const a = s.status;
    if (a !== 200) {
      setTimeout(() => {
        o(Pn(a) ? "abort" : "next", a);
      });
      return;
    }
    return n = 501, s.json();
  }).then((s) => {
    if (typeof s != "object" || s === null) {
      setTimeout(() => {
        s === 404 ? o("abort", s) : o("next", n);
      });
      return;
    }
    setTimeout(() => {
      o("success", s);
    });
  }).catch(() => {
    o("next", n);
  });
}, zn = {
  prepare: Dn,
  send: An
};
function Rn(e) {
  const t = {
    loaded: [],
    missing: [],
    pending: []
  }, o = /* @__PURE__ */ Object.create(null);
  e.sort((n, s) => n.provider !== s.provider ? n.provider.localeCompare(s.provider) : n.prefix !== s.prefix ? n.prefix.localeCompare(s.prefix) : n.name.localeCompare(s.name));
  let l = {
    provider: "",
    prefix: "",
    name: ""
  };
  return e.forEach((n) => {
    if (l.name === n.name && l.prefix === n.prefix && l.provider === n.provider)
      return;
    l = n;
    const s = n.provider, a = n.prefix, c = n.name, i = o[s] || (o[s] = /* @__PURE__ */ Object.create(null)), u = i[a] || (i[a] = de(s, a));
    let r;
    c in u.icons ? r = t.loaded : a === "" || u.missing.has(c) ? r = t.missing : r = t.pending;
    const d = {
      provider: s,
      prefix: a,
      name: c
    };
    r.push(d);
  }), t;
}
function Jt(e, t) {
  e.forEach((o) => {
    const l = o.loaderCallbacks;
    l && (o.loaderCallbacks = l.filter((n) => n.id !== t));
  });
}
function On(e) {
  e.pendingCallbacksFlag || (e.pendingCallbacksFlag = !0, setTimeout(() => {
    e.pendingCallbacksFlag = !1;
    const t = e.loaderCallbacks ? e.loaderCallbacks.slice(0) : [];
    if (!t.length)
      return;
    let o = !1;
    const l = e.provider, n = e.prefix;
    t.forEach((s) => {
      const a = s.icons, c = a.pending.length;
      a.pending = a.pending.filter((i) => {
        if (i.prefix !== n)
          return !0;
        const u = i.name;
        if (e.icons[u])
          a.loaded.push({
            provider: l,
            prefix: n,
            name: u
          });
        else if (e.missing.has(u))
          a.missing.push({
            provider: l,
            prefix: n,
            name: u
          });
        else
          return o = !0, !0;
        return !1;
      }), a.pending.length !== c && (o || Jt([e], s.id), s.callback(
        a.loaded.slice(0),
        a.missing.slice(0),
        a.pending.slice(0),
        s.abort
      ));
    });
  }));
}
let jn = 0;
function Nn(e, t, o) {
  const l = jn++, n = Jt.bind(null, o, l);
  if (!t.pending.length)
    return n;
  const s = {
    id: l,
    icons: t,
    callback: e,
    abort: n
  };
  return o.forEach((a) => {
    (a.loaderCallbacks || (a.loaderCallbacks = [])).push(s);
  }), n;
}
function Un(e, t = !0, o = !1) {
  const l = [];
  return e.forEach((n) => {
    const s = typeof n == "string" ? ze(n, t, o) : n;
    s && l.push(s);
  }), l;
}
var Hn = {
  resources: [],
  index: 0,
  timeout: 2e3,
  rotate: 750,
  random: !1,
  dataAfterTimeout: !1
};
function qn(e, t, o, l) {
  const n = e.resources.length, s = e.random ? Math.floor(Math.random() * n) : e.index;
  let a;
  if (e.random) {
    let D = e.resources.slice(0);
    for (a = []; D.length > 1; ) {
      const V = Math.floor(Math.random() * D.length);
      a.push(D[V]), D = D.slice(0, V).concat(D.slice(V + 1));
    }
    a = a.concat(D);
  } else
    a = e.resources.slice(s).concat(e.resources.slice(0, s));
  const c = Date.now();
  let i = "pending", u = 0, r, d = null, p = [], m = [];
  typeof l == "function" && m.push(l);
  function g() {
    d && (clearTimeout(d), d = null);
  }
  function b() {
    i === "pending" && (i = "aborted"), g(), p.forEach((D) => {
      D.status === "pending" && (D.status = "aborted");
    }), p = [];
  }
  function _(D, V) {
    V && (m = []), typeof D == "function" && m.push(D);
  }
  function E() {
    return {
      startTime: c,
      payload: t,
      status: i,
      queriesSent: u,
      queriesPending: p.length,
      subscribe: _,
      abort: b
    };
  }
  function w() {
    i = "failed", m.forEach((D) => {
      D(void 0, r);
    });
  }
  function A() {
    p.forEach((D) => {
      D.status === "pending" && (D.status = "aborted");
    }), p = [];
  }
  function Y(D, V, z) {
    const B = V !== "success";
    switch (p = p.filter((F) => F !== D), i) {
      case "pending":
        break;
      case "failed":
        if (B || !e.dataAfterTimeout)
          return;
        break;
      default:
        return;
    }
    if (V === "abort") {
      r = z, w();
      return;
    }
    if (B) {
      r = z, p.length || (a.length ? J() : w());
      return;
    }
    if (g(), A(), !e.random) {
      const F = e.resources.indexOf(D.resource);
      F !== -1 && F !== e.index && (e.index = F);
    }
    i = "completed", m.forEach((F) => {
      F(z);
    });
  }
  function J() {
    if (i !== "pending")
      return;
    g();
    const D = a.shift();
    if (D === void 0) {
      if (p.length) {
        d = setTimeout(() => {
          g(), i === "pending" && (A(), w());
        }, e.timeout);
        return;
      }
      w();
      return;
    }
    const V = {
      status: "pending",
      resource: D,
      callback: (z, B) => {
        Y(V, z, B);
      }
    };
    p.push(V), u++, d = setTimeout(J, e.rotate), o(D, t, V.callback);
  }
  return setTimeout(J), E;
}
function Qt(e) {
  const t = {
    ...Hn,
    ...e
  };
  let o = [];
  function l() {
    o = o.filter((c) => c().status === "pending");
  }
  function n(c, i, u) {
    const r = qn(
      t,
      c,
      i,
      (d, p) => {
        l(), u && u(d, p);
      }
    );
    return o.push(r), r;
  }
  function s(c) {
    return o.find((i) => c(i)) || null;
  }
  return {
    query: n,
    find: s,
    setIndex: (c) => {
      t.index = c;
    },
    getIndex: () => t.index,
    cleanup: l
  };
}
function kt() {
}
const Ne = /* @__PURE__ */ Object.create(null);
function Wn(e) {
  if (!Ne[e]) {
    const t = st(e);
    if (!t)
      return;
    const o = Qt(t), l = {
      config: t,
      redundancy: o
    };
    Ne[e] = l;
  }
  return Ne[e];
}
function Xn(e, t, o) {
  let l, n;
  if (typeof e == "string") {
    const s = Ye(e);
    if (!s)
      return o(void 0, 424), kt;
    n = s.send;
    const a = Wn(e);
    a && (l = a.redundancy);
  } else {
    const s = nt(e);
    if (s) {
      l = Qt(s);
      const a = e.resources ? e.resources[0] : "", c = Ye(a);
      c && (n = c.send);
    }
  }
  return !l || !n ? (o(void 0, 424), kt) : l.query(t, n, o)().abort;
}
const St = "iconify2", we = "iconify", Zt = we + "-count", xt = we + "-version", eo = 36e5, Yn = 168;
function Ke(e, t) {
  try {
    return e.getItem(t);
  } catch {
  }
}
function at(e, t, o) {
  try {
    return e.setItem(t, o), !0;
  } catch {
  }
}
function Ct(e, t) {
  try {
    e.removeItem(t);
  } catch {
  }
}
function Ge(e, t) {
  return at(e, Zt, t.toString());
}
function Je(e) {
  return parseInt(Ke(e, Zt)) || 0;
}
const Oe = {
  local: !0,
  session: !0
}, to = {
  local: /* @__PURE__ */ new Set(),
  session: /* @__PURE__ */ new Set()
};
let rt = !1;
function Kn(e) {
  rt = e;
}
let xe = typeof window > "u" ? {} : window;
function oo(e) {
  const t = e + "Storage";
  try {
    if (xe && xe[t] && typeof xe[t].length == "number")
      return xe[t];
  } catch {
  }
  Oe[e] = !1;
}
function no(e, t) {
  const o = oo(e);
  if (!o)
    return;
  const l = Ke(o, xt);
  if (l !== St) {
    if (l) {
      const c = Je(o);
      for (let i = 0; i < c; i++)
        Ct(o, we + i.toString());
    }
    at(o, xt, St), Ge(o, 0);
    return;
  }
  const n = Math.floor(Date.now() / eo) - Yn, s = (c) => {
    const i = we + c.toString(), u = Ke(o, i);
    if (typeof u == "string") {
      try {
        const r = JSON.parse(u);
        if (typeof r == "object" && typeof r.cached == "number" && r.cached > n && typeof r.provider == "string" && typeof r.data == "object" && typeof r.data.prefix == "string" && // Valid item: run callback
        t(r, c))
          return !0;
      } catch {
      }
      Ct(o, i);
    }
  };
  let a = Je(o);
  for (let c = a - 1; c >= 0; c--)
    s(c) || (c === a - 1 ? (a--, Ge(o, a)) : to[e].add(c));
}
function lo() {
  if (!rt) {
    Kn(!0);
    for (const e in Oe)
      no(e, (t) => {
        const o = t.data, l = t.provider, n = o.prefix, s = de(
          l,
          n
        );
        if (!ot(s, o).length)
          return !1;
        const a = o.lastModified || -1;
        return s.lastModifiedCached = s.lastModifiedCached ? Math.min(s.lastModifiedCached, a) : a, !0;
      });
  }
}
function Gn(e, t) {
  const o = e.lastModifiedCached;
  if (
    // Matches or newer
    o && o >= t
  )
    return o === t;
  if (e.lastModifiedCached = t, o)
    for (const l in Oe)
      no(l, (n) => {
        const s = n.data;
        return n.provider !== e.provider || s.prefix !== e.prefix || s.lastModified === t;
      });
  return !0;
}
function Jn(e, t) {
  rt || lo();
  function o(l) {
    let n;
    if (!Oe[l] || !(n = oo(l)))
      return;
    const s = to[l];
    let a;
    if (s.size)
      s.delete(a = Array.from(s).shift());
    else if (a = Je(n), !Ge(n, a + 1))
      return;
    const c = {
      cached: Math.floor(Date.now() / eo),
      provider: e.provider,
      data: t
    };
    return at(
      n,
      we + a.toString(),
      JSON.stringify(c)
    );
  }
  t.lastModified && !Gn(e, t.lastModified) || Object.keys(t.icons).length && (t.not_found && (t = Object.assign({}, t), delete t.not_found), o("local") || o("session"));
}
function Vt() {
}
function Qn(e) {
  e.iconsLoaderFlag || (e.iconsLoaderFlag = !0, setTimeout(() => {
    e.iconsLoaderFlag = !1, On(e);
  }));
}
function Zn(e, t) {
  e.iconsToLoad ? e.iconsToLoad = e.iconsToLoad.concat(t).sort() : e.iconsToLoad = t, e.iconsQueueFlag || (e.iconsQueueFlag = !0, setTimeout(() => {
    e.iconsQueueFlag = !1;
    const { provider: o, prefix: l } = e, n = e.iconsToLoad;
    delete e.iconsToLoad;
    let s;
    if (!n || !(s = Ye(o)))
      return;
    s.prepare(o, l, n).forEach((c) => {
      Xn(o, c, (i) => {
        if (typeof i != "object")
          c.icons.forEach((u) => {
            e.missing.add(u);
          });
        else
          try {
            const u = ot(
              e,
              i
            );
            if (!u.length)
              return;
            const r = e.pendingIcons;
            r && u.forEach((d) => {
              r.delete(d);
            }), Jn(e, i);
          } catch (u) {
            console.error(u);
          }
        Qn(e);
      });
    });
  }));
}
const so = (e, t) => {
  const o = Un(e, !0, Yt()), l = Rn(o);
  if (!l.pending.length) {
    let i = !0;
    return t && setTimeout(() => {
      i && t(
        l.loaded,
        l.missing,
        l.pending,
        Vt
      );
    }), () => {
      i = !1;
    };
  }
  const n = /* @__PURE__ */ Object.create(null), s = [];
  let a, c;
  return l.pending.forEach((i) => {
    const { provider: u, prefix: r } = i;
    if (r === c && u === a)
      return;
    a = u, c = r, s.push(de(u, r));
    const d = n[u] || (n[u] = /* @__PURE__ */ Object.create(null));
    d[r] || (d[r] = []);
  }), l.pending.forEach((i) => {
    const { provider: u, prefix: r, name: d } = i, p = de(u, r), m = p.pendingIcons || (p.pendingIcons = /* @__PURE__ */ new Set());
    m.has(d) || (m.add(d), n[u][r].push(d));
  }), s.forEach((i) => {
    const { provider: u, prefix: r } = i;
    n[u][r].length && Zn(i, n[u][r]);
  }), t ? Nn(t, l, s) : Vt;
};
function el(e, t) {
  const o = {
    ...e
  };
  for (const l in t) {
    const n = t[l], s = typeof n;
    l in Kt ? (n === null || n && (s === "string" || s === "number")) && (o[l] = n) : s === typeof o[l] && (o[l] = l === "rotate" ? n % 4 : n);
  }
  return o;
}
const tl = /[\s,]+/;
function ol(e, t) {
  t.split(tl).forEach((o) => {
    switch (o.trim()) {
      case "horizontal":
        e.hFlip = !0;
        break;
      case "vertical":
        e.vFlip = !0;
        break;
    }
  });
}
function nl(e, t = 0) {
  const o = e.replace(/^-?[0-9.]*/, "");
  function l(n) {
    for (; n < 0; )
      n += 4;
    return n % 4;
  }
  if (o === "") {
    const n = parseInt(e);
    return isNaN(n) ? 0 : l(n);
  } else if (o !== e) {
    let n = 0;
    switch (o) {
      case "%":
        n = 25;
        break;
      case "deg":
        n = 90;
    }
    if (n) {
      let s = parseFloat(e.slice(0, e.length - o.length));
      return isNaN(s) ? 0 : (s = s / n, s % 1 === 0 ? l(s) : 0);
    }
  }
  return t;
}
function ll(e, t) {
  let o = e.indexOf("xlink:") === -1 ? "" : ' xmlns:xlink="http://www.w3.org/1999/xlink"';
  for (const l in t)
    o += " " + l + '="' + t[l] + '"';
  return '<svg xmlns="http://www.w3.org/2000/svg"' + o + ">" + e + "</svg>";
}
function sl(e) {
  return e.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(/</g, "%3C").replace(/>/g, "%3E").replace(/\s+/g, " ");
}
function al(e) {
  return "data:image/svg+xml," + sl(e);
}
function rl(e) {
  return 'url("' + al(e) + '")';
}
const Et = {
  ...Gt,
  inline: !1
}, il = {
  xmlns: "http://www.w3.org/2000/svg",
  "xmlns:xlink": "http://www.w3.org/1999/xlink",
  "aria-hidden": !0,
  role: "img"
}, cl = {
  display: "inline-block"
}, Qe = {
  backgroundColor: "currentColor"
}, ao = {
  backgroundColor: "transparent"
}, It = {
  Image: "var(--svg)",
  Repeat: "no-repeat",
  Size: "100% 100%"
}, Bt = {
  webkitMask: Qe,
  mask: Qe,
  background: ao
};
for (const e in Bt) {
  const t = Bt[e];
  for (const o in It)
    t[e + o] = It[o];
}
const Ie = {};
["horizontal", "vertical"].forEach((e) => {
  const t = e.slice(0, 1) + "Flip";
  Ie[e + "-flip"] = t, Ie[e.slice(0, 1) + "-flip"] = t, Ie[e + "Flip"] = t;
});
function $t(e) {
  return e + (e.match(/^[-0-9.]+$/) ? "px" : "");
}
const Tt = (e, t) => {
  const o = el(Et, t), l = { ...il }, n = t.mode || "svg", s = {}, a = t.style, c = typeof a == "object" && !(a instanceof Array) ? a : {};
  for (let b in t) {
    const _ = t[b];
    if (_ !== void 0)
      switch (b) {
        case "icon":
        case "style":
        case "onLoad":
        case "mode":
          break;
        case "inline":
        case "hFlip":
        case "vFlip":
          o[b] = _ === !0 || _ === "true" || _ === 1;
          break;
        case "flip":
          typeof _ == "string" && ol(o, _);
          break;
        case "color":
          s.color = _;
          break;
        case "rotate":
          typeof _ == "string" ? o[b] = nl(_) : typeof _ == "number" && (o[b] = _);
          break;
        case "ariaHidden":
        case "aria-hidden":
          _ !== !0 && _ !== "true" && delete l["aria-hidden"];
          break;
        default: {
          const E = Ie[b];
          E ? (_ === !0 || _ === "true" || _ === 1) && (o[E] = !0) : Et[b] === void 0 && (l[b] = _);
        }
      }
  }
  const i = Cn(e, o), u = i.attributes;
  if (o.inline && (s.verticalAlign = "-0.125em"), n === "svg") {
    l.style = {
      ...s,
      ...c
    }, Object.assign(l, u);
    let b = 0, _ = t.id;
    return typeof _ == "string" && (_ = _.replace(/-/g, "_")), l.innerHTML = Bn(i.body, _ ? () => _ + "ID" + b++ : "iconifyVue"), Le("svg", l);
  }
  const { body: r, width: d, height: p } = e, m = n === "mask" || (n === "bg" ? !1 : r.indexOf("currentColor") !== -1), g = ll(r, {
    ...u,
    width: d + "",
    height: p + ""
  });
  return l.style = {
    ...s,
    "--svg": rl(g),
    width: $t(u.width),
    height: $t(u.height),
    ...cl,
    ...m ? Qe : ao,
    ...c
  }, Le("span", l);
};
Yt(!0);
$n("", zn);
if (typeof document < "u" && typeof window < "u") {
  lo();
  const e = window;
  if (e.IconifyPreload !== void 0) {
    const t = e.IconifyPreload, o = "Invalid IconifyPreload syntax.";
    typeof t == "object" && t !== null && (t instanceof Array ? t : [t]).forEach((l) => {
      try {
        // Check if item is an object and not null/array
        (typeof l != "object" || l === null || l instanceof Array || // Check for 'icons' and 'prefix'
        typeof l.icons != "object" || typeof l.prefix != "string" || // Add icon set
        !wn(l)) && console.error(o);
      } catch {
        console.error(o);
      }
    });
  }
  if (e.IconifyProviders !== void 0) {
    const t = e.IconifyProviders;
    if (typeof t == "object" && t !== null)
      for (let o in t) {
        const l = "IconifyProviders[" + o + "] is invalid.";
        try {
          const n = t[o];
          if (typeof n != "object" || !n || n.resources === void 0)
            continue;
          Tn(o, n) || console.error(l);
        } catch {
          console.error(l);
        }
      }
  }
}
const ul = {
  ...Re,
  body: ""
}, it = T({
  // Do not inherit other attributes: it is handled by render()
  inheritAttrs: !1,
  // Set initial data
  data() {
    return {
      // Mounted status
      iconMounted: !1,
      // Callback counter to trigger re-render
      counter: 0
    };
  },
  mounted() {
    this._name = "", this._loadingIcon = null, this.iconMounted = !0;
  },
  unmounted() {
    this.abortLoading();
  },
  methods: {
    abortLoading() {
      this._loadingIcon && (this._loadingIcon.abort(), this._loadingIcon = null);
    },
    // Get data for icon to render or null
    getIcon(e, t) {
      if (typeof e == "object" && e !== null && typeof e.body == "string")
        return this._name = "", this.abortLoading(), {
          data: e
        };
      let o;
      if (typeof e != "string" || (o = ze(e, !1, !0)) === null)
        return this.abortLoading(), null;
      const l = _n(o);
      if (!l)
        return (!this._loadingIcon || this._loadingIcon.name !== e) && (this.abortLoading(), this._name = "", l !== null && (this._loadingIcon = {
          name: e,
          abort: so([o], () => {
            this.counter++;
          })
        })), null;
      this.abortLoading(), this._name !== e && (this._name = e, t && t(e));
      const n = ["iconify"];
      return o.prefix !== "" && n.push("iconify--" + o.prefix), o.provider !== "" && n.push("iconify--" + o.provider), { data: l, classes: n };
    }
  },
  // Render icon
  render() {
    this.counter;
    const e = this.$attrs, t = this.iconMounted ? this.getIcon(e.icon, e.onLoad) : null;
    if (!t)
      return Tt(ul, e);
    let o = e;
    return t.classes && (o = {
      ...e,
      class: (typeof e.class == "string" ? e.class + " " : "") + t.classes.join(" ")
    }), Tt({
      ...Re,
      ...t.data
    }, o);
  }
}), Z = /* @__PURE__ */ T({
  __name: "Iconify",
  setup(e) {
    const t = e;
    return (o, l) => (h(), S(K(f(it)), q(Q(t)), null, 16));
  }
}), dl = { class: "p-2" }, fl = { class: "flex justify-between items-center" }, pl = /* @__PURE__ */ T({
  __name: "Description",
  props: {
    border: { type: Boolean },
    column: {},
    direction: {},
    size: {},
    extra: {},
    title: {},
    collapse: { type: Boolean },
    data: {}
  },
  setup(e) {
    const t = e, [o, l] = et(t.collapse || !1), n = j(() => {
      const { title: s, ...a } = t;
      return a;
    });
    return (s, a) => {
      const c = x("el-tag"), i = x("el-link"), u = Z, r = x("el-descriptions-item"), d = x("el-descriptions"), p = Ht;
      return h(), k("div", dl, [
        X(s.$slots, "title", {}, () => [
          C("div", fl, [
            C("span", null, $(s.title), 1),
            C("span", {
              class: W([
                "i-ep:arrow-down transition-all transition-duration-500",
                { "transform-rotate-180": f(o) }
              ]),
              onClick: a[0] || (a[0] = () => f(l)())
            }, null, 2)
          ])
        ]),
        y(p, null, {
          default: v(() => [
            Ae(y(d, q(Q(f(n))), {
              extra: v(() => [
                X(s.$slots, "extra")
              ]),
              default: v(() => [
                X(s.$slots, "default", {}, () => [
                  (h(!0), k(O, null, U(s.data, (m, g) => (h(), S(r, L(m, { key: g }), ke({ _: 2 }, [
                    m.defaultSlot ? {
                      name: "default",
                      fn: v(() => [
                        (h(), S(K(m.defaultSlot), q(Q(m)), null, 16))
                      ]),
                      key: "1"
                    } : {
                      name: "default",
                      fn: v(() => [
                        m.tag ? (h(), S(c, q(L({ key: 0 }, m.tag)), {
                          default: v(() => [
                            H($(m.value), 1)
                          ]),
                          _: 2
                        }, 1040)) : m.link ? (h(), S(i, L({
                          key: 1,
                          target: "_target"
                        }, m.link), {
                          default: v(() => [
                            H($(m.value), 1)
                          ]),
                          _: 2
                        }, 1040)) : (h(), k(O, { key: 2 }, [
                          H($(m.value), 1)
                        ], 64))
                      ]),
                      key: "0"
                    },
                    m.labelSlot ? {
                      name: "label",
                      fn: v(() => [
                        (h(), S(K(m.labelSlot), q(Q(m)), null, 16))
                      ]),
                      key: "2"
                    } : {
                      name: "label",
                      fn: v(() => [
                        C("div", { class: "flex items-center" }, [
                          m.icon ? (h(), S(u, L({ key: 0 }, m.icon, { class: "mr-2" }), null, 16)) : P("", !0),
                          H(" " + $(m.label), 1)
                        ])
                      ]),
                      key: "3"
                    }
                  ]), 1040))), 128))
                ])
              ]),
              _: 3
            }, 16), [
              [Dt, !f(o)]
            ])
          ]),
          _: 3
        })
      ]);
    };
  }
}), ml = /* @__PURE__ */ T({
  __name: "Editor",
  props: /* @__PURE__ */ te({
    options: {}
  }, {
    modelValue: {}
  }),
  emits: /* @__PURE__ */ te(["init"], ["update:modelValue"]),
  setup(e, { emit: t }) {
    import("./index-w40geAFS.js");
    const o = {
      rtl: !1,
      mode: "ir",
      value: "",
      debugger: !1,
      typewriterMode: !1,
      height: "auto",
      minHeight: 400,
      width: "auto",
      placeholder: "",
      fullscreen: { index: 90 },
      counter: {
        enable: !1,
        // 默认值: false
        type: "markdown"
        // 默认值: 'markdown'
      },
      link: {
        isOpen: !0
        // 默认值: true
      },
      image: {
        isPreview: !0
        // 默认值: true
      },
      cache: { enable: !0, id: Math.random().toString(16).slice(2) },
      lang: "zh_CN",
      theme: "classic",
      icon: "ant",
      cdn: "https://unpkg.com/vditor@3.9.6"
    }, l = e, n = le(e, "modelValue"), s = M(), a = _e(), c = M(""), i = t;
    G(n, (d) => {
      console.log("in"), a.value && d && `${d}` !== a.value.getValue() && a.value.setValue(d + "");
    });
    const u = $e((d) => {
      var p, m;
      if (a.value) {
        try {
          c.value = (p = a.value) == null ? void 0 : p.getValue(), (m = a.value) == null || m.destroy();
        } catch {
          c.value = "";
        }
        r(d);
      }
    }, 100);
    G(() => l.options, u, {
      deep: !0
    });
    function r(d) {
      const p = d == null ? void 0 : d.after, m = d == null ? void 0 : d.input, g = new Ao(
        s.value,
        Object.assign(o, {
          ...d,
          after: () => {
            p && p(), c.value && g.setValue(c.value, !0);
            const b = g.getValue();
            b || (n.value = b);
          },
          input: (b) => {
            m && m(b), n.value = b;
          }
        })
      );
      return a.value = g, n.value = (d == null ? void 0 : d.value) || "", g;
    }
    return ie(() => {
      r(l.options), i("init", a.value);
    }), Fe(() => {
      var d;
      (d = a.value) == null || d.destroy();
    }), (d, p) => (h(), k("div", {
      ref_key: "editorRef",
      ref: s
    }, null, 512));
  }
}), Be = /* @__PURE__ */ T({
  __name: "FormItem",
  props: /* @__PURE__ */ te({
    prop: {},
    type: {},
    events: {},
    attrs: {},
    span: {},
    colProps: {},
    value: {},
    children: {},
    schema: {},
    rules: {},
    defaultSlot: {},
    labelSlot: {},
    errorSlot: {},
    prefixSlot: {},
    suffixSlot: {},
    itemRef: {},
    childRef: {},
    label: {},
    labelWidth: { default: "" },
    required: { type: Boolean, default: void 0 },
    error: {},
    validateStatus: {},
    for: {},
    inlineMessage: { default: "" },
    showMessage: { type: Boolean, default: !0 },
    size: {}
  }, {
    modelValue: {}
  }),
  emits: ["update:modelValue"],
  setup(e) {
    const t = e, o = le(e, "modelValue");
    return fe(() => {
      t.type === "select" && t.value === "" ? o.value = void 0 : o.value = t.value;
    }), (l, n) => {
      const s = x("el-option"), a = x("el-select"), c = x("el-checkbox-group"), i = x("el-radio-group"), u = x("el-form-item");
      return h(), S(u, L(t, {
        ref: (r) => (t == null ? void 0 : t.itemRef) && t.itemRef(r)
      }), ke({
        default: v(() => [
          t != null && t.prefixSlot ? (h(), S(K(t.prefixSlot), q(L({ key: 0 }, t)), null, 16)) : P("", !0),
          t != null && t.suffixSlot ? (h(), S(K(t.suffixSlot), q(L({ key: 1 }, t)), null, 16)) : P("", !0)
        ]),
        _: 2
      }, [
        t != null && t.defaultSlot ? {
          name: "default",
          fn: v(() => [
            (h(), S(K(t.defaultSlot), q(Q(t)), null, 16))
          ]),
          key: "0"
        } : {
          name: "default",
          fn: v(() => [
            l.type === "select" ? (h(), S(a, L({
              key: 0,
              modelValue: o.value,
              "onUpdate:modelValue": n[0] || (n[0] = (r) => o.value = r)
            }, l.attrs, ae(l.events)), {
              default: v(() => [
                (h(!0), k(O, null, U(l.children, (r, d) => (h(), S(s, L({
                  label: r.label,
                  value: r.value
                }, r, { key: d }), null, 16, ["label", "value"]))), 128))
              ]),
              _: 1
            }, 16, ["modelValue"])) : l.type === "checkbox" || l.type === "checkbox-group" ? (h(), S(c, L({
              key: 1,
              modelValue: o.value,
              "onUpdate:modelValue": n[1] || (n[1] = (r) => o.value = r)
            }, l.attrs), {
              default: v(() => [
                (h(!0), k(O, null, U(l.children, (r, d) => (h(), S(K("el-" + r.type), L({
                  label: r.label,
                  value: r.value
                }, r, ae(l.events), { key: d }), null, 16, ["label", "value"]))), 128))
              ]),
              _: 1
            }, 16, ["modelValue"])) : l.type === "radio" || l.type === "radio-group" ? (h(), S(i, L({
              key: 2,
              modelValue: o.value,
              "onUpdate:modelValue": n[2] || (n[2] = (r) => o.value = r)
            }, l.attrs, ae(l.events)), {
              default: v(() => [
                (h(!0), k(O, null, U(l.children, (r, d) => (h(), S(K("el-" + r.type), {
                  key: d,
                  label: r.value
                }, {
                  default: v(() => [
                    H($(r.label), 1)
                  ]),
                  _: 2
                }, 1032, ["label"]))), 128))
              ]),
              _: 1
            }, 16, ["modelValue"])) : !["checkbox", "radio", "select"].includes(l.type) && typeof l.type < "u" && l.type !== "" ? (h(), S(K("el-" + l.type), L({
              key: 3,
              modelValue: o.value,
              "onUpdate:modelValue": n[3] || (n[3] = (r) => o.value = r)
            }, l.attrs, ae(l.events), {
              ref: (r) => t.childRef && t.childRef(r)
            }), null, 16, ["modelValue"])) : (h(), k("span", q(L({ key: 4 }, l.attrs)), $(l.value), 17))
          ]),
          key: "1"
        },
        t != null && t.labelSlot ? {
          name: "label",
          fn: v((r) => [
            (h(), S(K(t.labelSlot), q(Q(r)), null, 16))
          ]),
          key: "2"
        } : void 0,
        t.errorSlot ? {
          name: "error",
          fn: v((r) => [
            (h(), S(K(t.errorSlot), q(Q(r)), null, 16))
          ]),
          key: "3"
        } : void 0
      ]), 1040);
    };
  }
}), ro = /* @__PURE__ */ T({
  __name: "FormLayout",
  props: /* @__PURE__ */ te({
    prop: {},
    type: {},
    events: {},
    attrs: {},
    span: {},
    colProps: {},
    value: {},
    children: {},
    schema: {},
    rules: {},
    defaultSlot: {},
    labelSlot: {},
    errorSlot: {},
    prefixSlot: {},
    suffixSlot: {},
    itemRef: {},
    childRef: {},
    label: {},
    labelWidth: { default: "" },
    required: { type: Boolean, default: void 0 },
    error: {},
    validateStatus: {},
    for: {},
    inlineMessage: { default: "" },
    showMessage: { type: Boolean, default: !0 },
    size: {}
  }, {
    modelValue: {}
  }),
  emits: ["update:modelValue"],
  setup(e) {
    const t = e, o = le(e, "modelValue");
    return (l, n) => {
      var c;
      const s = x("el-col"), a = x("el-form-item");
      return l.schema && l.schema.length ? (h(), S(a, q(L({ key: 0 }, t)), {
        default: v(() => [
          (h(!0), k(O, null, U(l.schema, (i, u) => {
            var r;
            return h(), S(s, L(i.colProps, {
              span: i.span || ((r = i.colProps) == null ? void 0 : r.span),
              key: u
            }), {
              default: v(() => [
                y(Be, L(i, {
                  modelValue: o.value[i == null ? void 0 : i.prop],
                  "onUpdate:modelValue": (d) => o.value[i == null ? void 0 : i.prop] = d
                }), null, 16, ["modelValue", "onUpdate:modelValue"])
              ]),
              _: 2
            }, 1040, ["span"]);
          }), 128))
        ]),
        _: 1
      }, 16)) : l.colProps || l.span ? (h(), S(s, L({
        key: 1,
        span: ((c = l.colProps) == null ? void 0 : c.span) || l.span
      }, l.colProps), {
        default: v(() => [
          y(Be, L(t, {
            modelValue: o.value,
            "onUpdate:modelValue": n[0] || (n[0] = (i) => o.value = i)
          }), null, 16, ["modelValue"])
        ]),
        _: 1
      }, 16, ["span"])) : (h(), S(Be, L({ key: 2 }, t, {
        modelValue: o.value,
        "onUpdate:modelValue": n[1] || (n[1] = (i) => o.value = i)
      }), null, 16, ["modelValue"]));
    };
  }
});
function hl(e) {
  return e.replace(/-([a-z])/g, function(t) {
    return t[1].toUpperCase();
  });
}
function Ze(e, t, o = "") {
  const l = {};
  return t.forEach((n) => {
    const s = hl(n);
    l[s] = (...a) => {
      e(o + n, ...a);
    };
  }), l;
}
function ct(e, t) {
  const o = {};
  return t.forEach((l) => {
    o[l] = (...n) => e.value && typeof e.value[l] == "function" ? e.value[l](...n) : e.value[l];
  }), o;
}
function Ce(e) {
  const t = Math.floor(e / 3600), o = Math.floor(e % 3600 / 60), l = Math.round(e % 60);
  let n = "";
  if (t > 0) {
    const c = String(t).padStart(2, "0");
    n += `${c}:`;
  }
  const s = String(o).padStart(2, "0"), a = String(l).padStart(2, "0");
  return n += `${s}:${a}`, n;
}
function gl(e) {
  const t = M(), o = M();
  fe(() => {
    t.value = l(e || []), o.value = n(e || []);
  });
  function l(a, c = 0) {
    const i = {};
    let u = 0;
    return a.forEach((r) => {
      r.prop || (r.prop = `form${c}-${u}`), r.value ? i[r.prop] = r.value : r.schema && r.schema.length ? (i[r.prop] = l(r.schema, c + 1), u++) : i[r.prop] = void 0;
    }), i;
  }
  function n(a) {
    let c = {};
    return a.forEach((i) => {
      i.prop && i.rules && (c[i.prop] = i.rules), i.schema && i.schema.length && (c = { ...c, ...n(i.schema) });
    }), c;
  }
  function s(a) {
    let c = {};
    if (typeof a != "object")
      return c;
    for (const i in a)
      typeof a[i] == "object" && !Array.isArray(a[i]) && Object.keys(a[i]).length ? c = { ...c, ...s(a[i]) } : i.startsWith("form") || (c[i] = a[i]);
    return c;
  }
  return {
    model: t,
    rules: o,
    setForm: l,
    formValue: j(() => s(t.value))
  };
}
const vl = /* @__PURE__ */ T({
  __name: "Form",
  props: {
    schema: {},
    rowClass: {},
    rowStyle: {},
    model: {},
    rules: {},
    labelPosition: { default: "right" },
    requireAsteriskPosition: { default: "left" },
    labelWidth: {},
    labelSuffix: {},
    inline: { type: Boolean, default: !1 },
    inlineMessage: { type: Boolean, default: !1 },
    statusIcon: { type: Boolean, default: !1 },
    showMessage: { type: Boolean, default: !0 },
    validateOnRuleChange: { type: Boolean, default: !1 },
    hideRequiredAsterisk: { type: Boolean, default: !1 },
    scrollToError: { type: Boolean, default: !1 },
    scrollIntoViewOptions: {},
    size: {},
    disabled: { type: Boolean, default: !1 }
  },
  emits: ["validate", "update:modelValue"],
  setup(e, { expose: t, emit: o }) {
    const l = ["validate", "validateField", "resetFields", "clearValidate", "scrollToField"], n = e, s = M(), a = o, c = ct(s, l);
    t({ ...c });
    const { model: i, rules: u } = gl(n.schema || []);
    return G(
      i,
      () => {
        a("update:modelValue", i.value);
      },
      {
        deep: !0
      }
    ), (r, d) => {
      const p = ro, m = x("el-row"), g = x("el-form");
      return h(), S(g, {
        model: f(i),
        rules: f(u),
        ref_key: "formRef",
        ref: s
      }, {
        default: v(() => [
          X(r.$slots, "default", {}, () => [
            y(m, {
              class: W(r.rowClass),
              style: ee(r.rowStyle)
            }, {
              default: v(() => [
                r.schema && r.schema.length ? (h(!0), k(O, { key: 0 }, U(r.schema, (b, _) => (h(), S(p, L({ key: _ }, b, {
                  modelValue: f(i)[b.prop],
                  "onUpdate:modelValue": (E) => f(i)[b.prop] = E
                }), null, 16, ["modelValue", "onUpdate:modelValue"]))), 128)) : P("", !0)
              ]),
              _: 1
            }, 8, ["class", "style"])
          ]),
          X(r.$slots, "actions")
        ]),
        _: 3
      }, 8, ["model", "rules"]);
    };
  }
}), yl = /* @__PURE__ */ C("span", {
  class: "text-gray-500"
}, "其他登录方式", -1), _l = {
  class: "flex justify-around"
}, bl = /* @__PURE__ */ T({
  __name: "LoginForm",
  props: {
    position: {},
    title: {
      default: "pages.login.welcome"
    },
    loginItems: {}
  },
  emits: ["clickIcon", "submit", "reg"],
  setup(e, {
    emit: t
  }) {
    const o = M("sign"), l = M(), n = M(), s = t, a = me({
      username: "",
      password: "",
      repassword: "",
      phone: "",
      email: "",
      code: "",
      remember: !1
    }), c = $e((g, b, _) => {
      if (b.trim() === "")
        _(new Error("请输入密码"));
      else if (b !== a.repassword)
        _(new Error("两次输入的密码不一致"));
      else {
        if (!l.value)
          return;
        l.value.validateField("repassword", () => null), _();
      }
    }, 200), i = $e((g, b, _) => {
      if (b.trim() === "")
        _(new Error("请再次输入密码"));
      else if (b !== a.password)
        _(new Error("两次输入的密码不一致"));
      else {
        if (!l.value)
          return;
        l.value.validateField("password", () => null), _();
      }
    }, 300), u = me({
      username: [{
        required: !0,
        message: "用户名不得为空"
      }, {
        min: 6,
        max: 16,
        message: "用户名格式不正确，最小6位，最长16位"
      }],
      password: [{
        min: 6,
        max: 32,
        message: "请输入密码，最小6位，最长32位"
      }, {
        asyncValidator: c,
        trigger: ["change", "blur"]
      }],
      repassword: [{
        min: 6,
        max: 32,
        message: "请再次输入密码"
      }, {
        asyncValidator: i,
        trigger: ["change", "blur"]
      }],
      phone: [{
        required: !0,
        message: "手机号不得为空"
      }, {
        pattern: /^1[3456789]\d{9}$/,
        message: "请输入正确的手机号"
      }],
      code: [{
        required: !0,
        message: "验证码不得为空"
      }, {
        pattern: /^\d{6}$/,
        message: "验证码只能为6位数字",
        trigger: ["change", "blur"]
      }]
    });
    function r(g) {
      return () => y(Z, {
        icon: g
      }, null);
    }
    const d = (g) => {
      s("clickIcon", g.url);
    }, p = () => {
      l.value && l.value.validate((g) => {
        g && s("submit", a);
      });
    }, m = () => {
      n.value && n.value.validate((g) => {
        g && s("reg", a);
      });
    };
    return (g, b) => {
      const _ = x("el-input"), E = x("el-form-item"), w = x("el-checkbox"), A = x("el-row"), Y = x("el-button"), J = x("el-form"), D = x("el-divider"), V = x("el-tab-pane"), z = x("el-tabs");
      return h(), S(z, {
        modelValue: f(o),
        "onUpdate:modelValue": b[8] || (b[8] = (B) => re(o) ? o.value = B : null)
      }, {
        default: v(() => [y(V, {
          label: "登录",
          name: "sign"
        }, {
          default: v(() => [y(J, {
            model: f(a),
            class: "min-w-[450px]",
            rules: f(u),
            ref_key: "formRef",
            ref: l
          }, {
            default: v(() => [y(E, {
              prop: "username"
            }, {
              default: v(() => [y(_, {
                modelValue: f(a).username,
                "onUpdate:modelValue": b[0] || (b[0] = (B) => f(a).username = B),
                placeholder: f(N)("pages.login.username"),
                "prefix-icon": r("ep:user")
              }, null, 8, ["modelValue", "placeholder", "prefix-icon"])]),
              _: 1
            }), y(E, {
              prop: "password"
            }, {
              default: v(() => [y(_, {
                type: "password",
                modelValue: f(a).password,
                "onUpdate:modelValue": b[1] || (b[1] = (B) => f(a).password = B),
                placeholder: f(N)("pages.login.password"),
                "prefix-icon": r("ep:lock")
              }, null, 8, ["modelValue", "placeholder", "prefix-icon"])]),
              _: 1
            }), y(A, {
              class: "items-center justify-between"
            }, {
              default: v(() => [y(E, null, {
                default: v(() => [y(w, {
                  label: f(N)("pages.login.remember"),
                  modelValue: f(a).remember,
                  "onUpdate:modelValue": b[2] || (b[2] = (B) => f(a).remember = B),
                  name: "type"
                }, null, 8, ["label", "modelValue"])]),
                _: 1
              })]),
              _: 1
            }), y(E, null, {
              default: v(() => [y(Y, {
                type: "primary",
                onClick: p,
                class: "w-full mt-4"
              }, {
                default: v(() => [H($(f(N)("pages.login.submit")), 1)]),
                _: 1
              })]),
              _: 1
            })]),
            _: 1
          }, 8, ["model", "rules"]), y(D, {
            direction: "horizontal",
            class: "mt-10"
          }, {
            default: v(() => [yl]),
            _: 1
          }), C("div", _l, [(h(!0), k(O, null, U(g.loginItems, (B, F) => (h(), S(Z, {
            class: "text-2xl text-gray-400 cursor-pointer hover:text-[var(--el-color-primary)]",
            icon: B.icon,
            key: F,
            onClick: (I) => d(B)
          }, null, 8, ["icon", "onClick"]))), 128))])]),
          _: 1
        }), y(V, {
          label: "注册",
          name: "reg"
        }, {
          default: v(() => [y(J, {
            model: f(a),
            class: "min-w-[450px]",
            rules: f(u),
            ref_key: "formRef1",
            ref: n
          }, {
            default: v(() => [y(E, {
              prop: "username"
            }, {
              default: v(() => [y(_, {
                modelValue: f(a).username,
                "onUpdate:modelValue": b[3] || (b[3] = (B) => f(a).username = B),
                placeholder: f(N)("pages.login.username"),
                "prefix-icon": r("ep:user")
              }, null, 8, ["modelValue", "placeholder", "prefix-icon"])]),
              _: 1
            }), y(E, {
              prop: "password"
            }, {
              default: v(() => [y(_, {
                type: "password",
                modelValue: f(a).password,
                "onUpdate:modelValue": b[4] || (b[4] = (B) => f(a).password = B),
                placeholder: f(N)("pages.login.password"),
                "prefix-icon": r("ep:lock")
              }, null, 8, ["modelValue", "placeholder", "prefix-icon"])]),
              _: 1
            }), y(E, {
              prop: "repassword"
            }, {
              default: v(() => [y(_, {
                type: "password",
                modelValue: f(a).repassword,
                "onUpdate:modelValue": b[5] || (b[5] = (B) => f(a).repassword = B),
                placeholder: f(N)("pages.login.repassword"),
                "prefix-icon": r("ep:lock")
              }, null, 8, ["modelValue", "placeholder", "prefix-icon"])]),
              _: 1
            }), y(E, {
              prop: "phone"
            }, {
              default: v(() => [y(_, {
                modelValue: f(a).phone,
                "onUpdate:modelValue": b[6] || (b[6] = (B) => f(a).phone = B),
                placeholder: f(N)("pages.login.phone"),
                "prefix-icon": r("ep:phone")
              }, null, 8, ["modelValue", "placeholder", "prefix-icon"])]),
              _: 1
            }), y(E, {
              prop: "code"
            }, {
              default: v(() => [y(A, {
                class: "flex-nowrap w-full"
              }, {
                default: v(() => [y(_, {
                  class: "flex-1 mr-3",
                  modelValue: f(a).code,
                  "onUpdate:modelValue": b[7] || (b[7] = (B) => f(a).code = B),
                  placeholder: f(N)("pages.login.code"),
                  "prefix-icon": r("ep:message")
                }, null, 8, ["modelValue", "placeholder", "prefix-icon"]), y(Y, {
                  type: "primary"
                }, {
                  default: v(() => [H("发送验证码")]),
                  _: 1
                })]),
                _: 1
              })]),
              _: 1
            }), y(E, null, {
              default: v(() => [y(Y, {
                type: "primary",
                onClick: m,
                class: "w-full mt-8"
              }, {
                default: v(() => [H($(f(N)("pages.login.sign-up")), 1)]),
                _: 1
              })]),
              _: 1
            })]),
            _: 1
          }, 8, ["model", "rules"])]),
          _: 1
        })]),
        _: 1
      }, 8, ["modelValue"]);
    };
  }
}), wl = [
  "add-location",
  "aim",
  "alarm-clock",
  "apple",
  "arrow-down",
  "arrow-down-bold",
  "arrow-left",
  "arrow-left-bold",
  "arrow-right",
  "arrow-right-bold",
  "arrow-up",
  "arrow-up-bold",
  "avatar",
  "back",
  "baseball",
  "basketball",
  "bell",
  "bell-filled",
  "bicycle",
  "bottom",
  "bottom-left",
  "bottom-right",
  "bowl",
  "box",
  "briefcase",
  "brush",
  "brush-filled",
  "burger",
  "calendar",
  "camera",
  "camera-filled",
  "caret-bottom",
  "caret-left",
  "caret-right",
  "caret-top",
  "cellphone",
  "chat-dot-round",
  "chat-dot-square",
  "chat-line-round",
  "chat-line-square",
  "chat-round",
  "chat-square",
  "check",
  "checked",
  "cherry",
  "chicken",
  "chrome-filled",
  "circle-check",
  "circle-check-filled",
  "circle-close",
  "circle-close-filled",
  "circle-plus",
  "circle-plus-filled",
  "clock",
  "close",
  "close-bold",
  "cloudy",
  "coffee",
  "coffee-cup",
  "coin",
  "cold-drink",
  "collection",
  "collection-tag",
  "comment",
  "compass",
  "connection",
  "coordinate",
  "copy-document",
  "cpu",
  "credit-card",
  "crop",
  "d-arrow-left",
  "d-arrow-right",
  "d-caret",
  "data-analysis",
  "data-board",
  "data-line",
  "delete",
  "delete-filled",
  "delete-location",
  "dessert",
  "discount",
  "dish",
  "dish-dot",
  "document",
  "document-add",
  "document-checked",
  "document-copy",
  "document-delete",
  "document-remove",
  "download",
  "drizzling",
  "edit",
  "edit-pen",
  "eleme",
  "eleme-filled",
  "element-plus",
  "expand",
  "failed",
  "female",
  "files",
  "film",
  "filter",
  "finished",
  "first-aid-kit",
  "flag",
  "fold",
  "folder",
  "folder-add",
  "folder-checked",
  "folder-delete",
  "folder-opened",
  "folder-remove",
  "food",
  "football",
  "fork-spoon",
  "fries",
  "full-screen",
  "goblet",
  "goblet-full",
  "goblet-square",
  "goblet-square-full",
  "gold-medal",
  "goods",
  "goods-filled",
  "grape",
  "grid",
  "guide",
  "handbag",
  "headset",
  "help",
  "help-filled",
  "hide",
  "histogram",
  "home-filled",
  "hot-water",
  "house",
  "ice-cream",
  "ice-cream-round",
  "ice-cream-square",
  "ice-drink",
  "ice-tea",
  "info-filled",
  "iphone",
  "key",
  "knife-fork",
  "lightning",
  "link",
  "list",
  "loading",
  "location",
  "location-filled",
  "location-information",
  "lock",
  "lollipop",
  "magic-stick",
  "magnet",
  "male",
  "management",
  "map-location",
  "medal",
  "memo",
  "menu",
  "message",
  "message-box",
  "mic",
  "microphone",
  "milk-tea",
  "minus",
  "money",
  "monitor",
  "moon",
  "moon-night",
  "more",
  "more-filled",
  "mostly-cloudy",
  "mouse",
  "mug",
  "mute",
  "mute-notification",
  "no-smoking",
  "notebook",
  "notification",
  "odometer",
  "office-building",
  "open",
  "operation",
  "opportunity",
  "orange",
  "paperclip",
  "partly-cloudy",
  "pear",
  "phone",
  "phone-filled",
  "picture",
  "picture-filled",
  "picture-rounded",
  "pie-chart",
  "place",
  "platform",
  "plus",
  "pointer",
  "position",
  "postcard",
  "pouring",
  "present",
  "price-tag",
  "printer",
  "promotion",
  "quartz-watch",
  "question-filled",
  "rank",
  "reading",
  "reading-lamp",
  "refresh",
  "refresh-left",
  "refresh-right",
  "refrigerator",
  "remove",
  "remove-filled",
  "right",
  "scale-to-original",
  "school",
  "scissor",
  "search",
  "select",
  "sell",
  "semi-select",
  "service",
  "set-up",
  "setting",
  "share",
  "ship",
  "shop",
  "shopping-bag",
  "shopping-cart",
  "shopping-cart-full",
  "shopping-trolley",
  "smoking",
  "soccer",
  "sold-out",
  "sort",
  "sort-down",
  "sort-up",
  "stamp",
  "star",
  "star-filled",
  "stopwatch",
  "success-filled",
  "sugar",
  "suitcase",
  "suitcase-line",
  "sunny",
  "sunrise",
  "sunset",
  "switch",
  "switch-button",
  "switch-filled",
  "takeaway-box",
  "ticket",
  "tickets",
  "timer",
  "toilet-paper",
  "tools",
  "top",
  "top-left",
  "top-right",
  "trend-charts",
  "trophy",
  "trophy-base",
  "turn-off",
  "umbrella",
  "unlock",
  "upload",
  "upload-filled",
  "user",
  "user-filled",
  "van",
  "video-camera",
  "video-camera-filled",
  "video-pause",
  "video-play",
  "view",
  "wallet",
  "wallet-filled",
  "warn-triangle-filled",
  "warning",
  "warning-filled",
  "watch",
  "watermelon",
  "wind-power",
  "zoom-in",
  "zoom-out"
], kl = { class: "grid grid-cols-[repeat(auto-fill,minmax(7rem,1fr))] border-l border-t rounded" }, Sl = ["onClick"], xl = {
  key: 0,
  class: "text-sm mt-3"
}, io = /* @__PURE__ */ T({
  __name: "IconList",
  props: /* @__PURE__ */ te({
    iconData: { default: () => wl },
    collection: { default: "ep" },
    itemClass: { default: "hover:bg-sky-100  py-4" },
    iconClass: { default: "text-3xl" },
    activeClass: { default: "" },
    showText: { type: Boolean }
  }, {
    modelValue: {}
  }),
  emits: /* @__PURE__ */ te(["click"], ["update:modelValue"]),
  setup(e, { emit: t }) {
    const o = le(e, "modelValue"), l = e, n = t, s = M(-1);
    fe(async () => {
      l.iconData && l.iconData.length && await so(l.iconData.map((u) => `${l.collection}:${u}`));
    });
    function a(u) {
      return u.split("-").map((p, m) => m === 0 ? c(p) : c(p, !0)).join("");
    }
    function c(u, r = !1) {
      return r ? u.charAt(0).toUpperCase() + u.slice(1) : u.toLowerCase().replace(/(?:^|-)(\w)/g, (d, p) => p.toUpperCase());
    }
    async function i(u, r) {
      s.value = r, o.value = u, n("click", u);
    }
    return (u, r) => (h(), k("ul", kl, [
      (h(!0), k(O, null, U(u.iconData, (d, p) => (h(), k("li", {
        class: W([
          "border-r border-b flex flex-col justify-center items-center cursor-pointer",
          u.itemClass
        ]),
        key: p,
        onClick: (m) => i(`${u.collection}:${d}`, p)
      }, [
        (h(), S(K(f(it)), {
          icon: `${u.collection}:${d}`,
          class: W([
            u.iconClass,
            { [u.activeClass]: o.value ? o.value === `${u.collection}:${d}` : f(s) === p }
          ])
        }, null, 8, ["icon", "class"])),
        u.showText ? (h(), k("div", xl, $(a(d)), 1)) : P("", !0)
      ], 10, Sl))), 128))
    ]));
  }
}), co = (e) => (Ft("data-v-f15bf97c"), e = e(), At(), e), Cl = { class: "icon-picker" }, Vl = { class: "p-2 flex" }, El = { class: "mr-4" }, Il = /* @__PURE__ */ co(() => /* @__PURE__ */ C("span", { class: "pr-2" }, "color:", -1)), Bl = { class: "flex items-center flex-1" }, $l = /* @__PURE__ */ co(() => /* @__PURE__ */ C("span", { class: "pr-2" }, "fontSize:", -1)), Tl = { class: "flex items-center" }, Ll = { class: "pr-2" }, Ml = { class: "pl-2" }, Pl = /* @__PURE__ */ T({
  __name: "IconPicker",
  props: {
    width: { default: "50%" },
    title: { default: "components.icon-picker" }
  },
  emits: ["submit", "cancel"],
  setup(e, { emit: t }) {
    const o = M("#409eff"), l = M(16), n = M(""), [s, a] = et(!1), c = t, i = (r) => {
      n.value = r;
    }, u = () => {
      a(!1), c("submit", { icon: n.value, color: o.value, fontSize: l.value });
    };
    return (r, d) => {
      const p = x("el-button"), m = io, g = x("el-color-picker"), b = x("el-slider"), _ = x("el-dialog");
      return h(), k("div", Cl, [
        y(p, {
          type: "primary",
          onClick: d[0] || (d[0] = () => f(a)(!0))
        }, {
          default: v(() => [
            X(r.$slots, "default", {}, () => [
              H($(f(N)("components.icon-picker")), 1)
            ], !0)
          ]),
          _: 3
        }),
        y(_, {
          title: f(N)(r.title),
          width: r.width,
          modelValue: f(s),
          "onUpdate:modelValue": d[4] || (d[4] = (E) => re(s) ? s.value = E : null)
        }, {
          footer: v(() => [
            y(p, {
              onClick: d[3] || (d[3] = () => f(a)(!1))
            }, {
              default: v(() => [
                H($(f(N)("components.cancel")), 1)
              ]),
              _: 1
            }),
            y(p, {
              type: "primary",
              onClick: u
            }, {
              default: v(() => [
                H($(f(N)("components.submit")), 1)
              ]),
              _: 1
            })
          ]),
          default: v(() => [
            y(m, {
              "item-class": "hover:bg-sky-100 p-1",
              "icon-class": "text-2xl",
              "show-text": !1,
              onClick: i,
              activeClass: "text-[#409eff]"
            }),
            C("div", Vl, [
              C("div", El, [
                Il,
                y(g, {
                  modelValue: f(o),
                  "onUpdate:modelValue": d[1] || (d[1] = (E) => re(o) ? o.value = E : null)
                }, null, 8, ["modelValue"])
              ]),
              C("div", Bl, [
                $l,
                y(b, {
                  modelValue: f(l),
                  "onUpdate:modelValue": d[2] || (d[2] = (E) => re(l) ? l.value = E : null),
                  step: 1,
                  "show-input": ""
                }, null, 8, ["modelValue"])
              ])
            ]),
            C("div", Tl, [
              C("span", Ll, $(f(N)("components.choose-icon")) + "：", 1),
              y(f(it), {
                icon: f(n),
                style: ee({ color: f(o), fontSize: `${f(l)}px` })
              }, null, 8, ["icon", "style"]),
              C("span", Ml, $(f(n)), 1)
            ])
          ]),
          _: 1
        }, 8, ["title", "width", "modelValue"])
      ]);
    };
  }
}), Dl = /* @__PURE__ */ oe(Pl, [["__scopeId", "data-v-f15bf97c"]]), uo = /* @__PURE__ */ T({
  __name: "NetIcon",
  props: {
    url: { default: "" },
    prefix: { default: "iconfont-" },
    fontFamily: { default: "iconfont" },
    type: { default: "" }
  },
  setup(e) {
    const t = e;
    fe(() => {
      if (t.url && !document.querySelector(`link[href="${t.url}"]`)) {
        const n = document.createElement("link");
        n.href = t.url, n.rel = "stylesheet", document.head.appendChild(n);
      }
    });
    const o = j(() => `${t.fontFamily} ${t.prefix}${t.type}`);
    return (l, n) => (h(), k("i", {
      class: W(f(o))
    }, null, 2));
  }
}), Fl = /* @__PURE__ */ T({
  __name: "IconfontIcon",
  props: {
    url: { default: "/font_1791095_hy6b9xbrdsk.css" },
    prefix: { default: "iconfont-" },
    fontFamily: { default: "iconfont" },
    type: { default: "" }
  },
  setup(e) {
    const t = e;
    return (o, l) => (h(), S(uo, q(Q(t)), null, 16));
  }
}), Al = { "aria-hidden": "true" }, zl = ["xlink:href", "fill"], Rl = /* @__PURE__ */ T({
  __name: "SvgIcon",
  props: {
    prefix: {
      type: String,
      default: "icon"
    },
    type: {
      type: String,
      required: !0
    },
    color: {
      type: String,
      default: "currentColor"
    }
  },
  setup(e) {
    const t = e, o = j(() => `#${t.prefix}-${t.type}`);
    return (l, n) => (h(), k("svg", Al, [
      C("use", {
        "xlink:href": f(o),
        fill: e.color
      }, null, 8, zl)
    ]));
  }
}), Ol = /* @__PURE__ */ T({
  __name: "Breadcrumb",
  setup(e) {
    const t = () => y("i", {
      class: "i-ep:arrow-right"
    }, null), o = Ue(), l = M(), n = M([]), s = M();
    function a() {
      o && o.matched && (n.value = o.matched.filter((u) => u.name && u.meta && u.meta.title), l.value = o.matched.filter((u) => u.name && u.meta && u.meta.title));
    }
    Te(s, (u) => {
      const {
        height: r
      } = u[0].contentRect;
      r > 14 && n.value.shift();
    });
    const c = M(-1), i = Lt((u) => {
      const {
        width: r
      } = u[0].contentRect;
      if (c.value === -1 && (c.value = r), r > c.value && s.value && s.value.$el.offsetHeight <= 14) {
        let d;
        if (n.value.length > 0) {
          const p = l.value.findIndex((m) => m === n.value[0]);
          d = l.value[p - 1 <= 0 ? 0 : p - 1];
        } else
          d = l.value[l.value.length - 1];
        n.value.indexOf(d) === -1 && n.value.unshift(d);
      }
      c.value = r;
    }, 500);
    return Te(document.body, i), G(o, () => {
      a();
    }, {
      immediate: !0
    }), (u, r) => {
      const d = x("el-breadcrumb-item"), p = x("el-breadcrumb");
      return h(), S(p, {
        "separator-icon": t,
        class: "ml-4",
        ref_key: "breadcrumbRef",
        ref: s
      }, {
        default: v(() => [y(Lo, {
          name: "breadcrumb"
        }, {
          default: v(() => [(h(!0), k(O, null, U(f(n), (m, g) => (h(), S(d, {
            to: {
              path: m.name
            },
            key: m.name,
            "data-index": g
          }, {
            default: v(() => {
              var b;
              return [C("span", null, $(f(N)((b = m.meta) == null ? void 0 : b.title)), 1)];
            }),
            _: 2
          }, 1032, ["to", "data-index"]))), 128))]),
          _: 1
        })]),
        _: 1
      }, 512);
    };
  }
}), fo = /* @__PURE__ */ oe(Ol, [["__scopeId", "data-v-75c0eb21"]]), po = /* @__PURE__ */ T({
  __name: "DarkModeToggle",
  props: {
    dark: Boolean
  },
  emits: ["change"],
  setup(e, {
    emit: t
  }) {
    const o = e, l = t, n = () => y("i", {
      class: "i-prime:moon text-3xl"
    }, null), s = () => y("i", {
      class: "i-octicon:sun-24 text-3xl"
    }, null), a = Vo("dark-mode-flag", o.dark), c = Eo();
    ie(() => {
      typeof a.value > "u" && !o.dark && (i(c.value), a.value = c.value);
    });
    function i(u) {
      u ? document.documentElement.classList.add("dark") : document.documentElement.classList.remove("dark");
    }
    return G([a], () => {
      ue(() => {
        i(a.value), l("change", a);
      });
    }, {
      immediate: !0
    }), G([c], () => {
      ue(() => {
        i(c.value), a.value = c.value;
      });
    }), (u, r) => {
      const d = x("el-switch");
      return h(), S(d, {
        style: {
          "--el-switch-on-color": "#333"
        },
        modelValue: f(a),
        "onUpdate:modelValue": r[0] || (r[0] = (p) => re(a) ? a.value = p : null),
        "active-action-icon": n,
        "inactive-action-icon": s,
        size: "large"
      }, null, 8, ["modelValue"]);
    };
  }
}), mo = /* @__PURE__ */ T({
  __name: "FullScreen",
  props: {
    tag: {
      type: String,
      default: "i"
    },
    iconClass: {
      type: String,
      default: "text-xl"
    }
  },
  setup(e) {
    const { isFullscreen: t, toggle: o } = Io();
    return (l, n) => (h(), S(K(e.tag), {
      onClick: f(o),
      class: W([
        f(t) ? "i-ri:fullscreen-exit-fill" : "i-ep:full-screen",
        "cursor-pointer",
        e.iconClass
      ])
    }, null, 8, ["onClick", "class"]));
  }
}), jl = { class: "flex items-center" }, Nl = /* @__PURE__ */ T({
  __name: "DropDown",
  props: /* @__PURE__ */ te({
    items: {},
    iconProps: {},
    iconClass: {}
  }, {
    modelValue: {
      default: 0
    },
    item: {
      default: () => ({})
    }
  }),
  emits: /* @__PURE__ */ te(["change"], ["update:modelValue", "update:item"]),
  setup(e, { emit: t }) {
    const o = e, l = t, n = le(e, "modelValue"), s = le(e, "item");
    fe(() => {
      s.value = o.items[n.value];
    });
    const a = (c) => {
      n.value = c.index, s.value = c.item, l("change", c.item, c.index);
    };
    return (c, i) => {
      const u = Z, r = x("el-dropdown-item"), d = x("el-dropdown-menu"), p = x("el-dropdown");
      return h(), S(p, {
        trigger: "click",
        onCommand: a
      }, {
        dropdown: v(() => [
          y(d, null, {
            default: v(() => [
              (h(!0), k(O, null, U(c.items, (m, g) => (h(), S(r, {
                key: g,
                command: { item: m, index: g },
                class: W({ active: g === n.value })
              }, {
                default: v(() => [
                  C("div", jl, [
                    m.icon ? (h(), S(u, L({
                      key: 0,
                      icon: m.icon
                    }, c.iconProps, {
                      class: ["mr-2", c.iconClass]
                    }), null, 16, ["icon", "class"])) : P("", !0),
                    X(c.$slots, "item", { item: m }, void 0, !0)
                  ])
                ]),
                _: 2
              }, 1032, ["command", "class"]))), 128))
            ]),
            _: 3
          })
        ]),
        default: v(() => [
          X(c.$slots, "header", {}, void 0, !0)
        ]),
        _: 3
      });
    };
  }
}), ut = /* @__PURE__ */ oe(Nl, [["__scopeId", "data-v-1bc7642f"]]), Ul = { class: "mr-2" }, Hl = /* @__PURE__ */ T({
  __name: "ChangeLocale",
  props: {
    locales: {},
    iconClass: { default: "text-xl" }
  },
  emits: ["change"],
  setup(e, { emit: t }) {
    const o = e, l = M(0), n = t, s = j(() => {
      const { locales: c, icon: i, ...u } = o;
      return u;
    }), a = (c) => {
      n("change", c.name);
    };
    return (c, i) => {
      const u = Z;
      return h(), S(ut, {
        items: c.locales,
        onChange: a,
        "icon-props": s.value,
        "icon-class": c.iconClass,
        modelValue: l.value,
        "onUpdate:modelValue": i[0] || (i[0] = (r) => l.value = r)
      }, {
        header: v(() => [
          C("span", Ul, [
            y(u, L({
              icon: "ion:language",
              class: c.iconClass
            }, s.value), null, 16, ["class"])
          ])
        ]),
        item: v(({ item: r }) => [
          H($(r.text), 1)
        ]),
        _: 1
      }, 8, ["items", "icon-props", "icon-class", "modelValue"]);
    };
  }
}), ho = /* @__PURE__ */ oe(Hl, [["__scopeId", "data-v-7b95c869"]]), ql = [
  "Fade",
  "Scale",
  "SlideY",
  "ScrollY",
  "SlideYReverse",
  "ScrollYReverse",
  "SlideX",
  "ScrollX",
  "SlideXReverse",
  "ScrollXReverse",
  "ScaleRotate"
];
var go = /* @__PURE__ */ ((e) => (e.Fade = "Fade", e.Scale = "Scale", e.SlideY = "SlideY", e.ScrollY = "ScrollY", e.SlideYReverse = "SlideYReverse", e.ScrollYReverse = "ScrollYReverse", e.SlideX = "SlideX", e.ScrollX = "ScrollX", e.SlideXReverse = "SlideXReverse", e.ScrollXReverse = "ScrollXReverse", e.ScaleRotate = "ScaleRotate", e))(go || {});
const ce = (e) => (Ft("data-v-3e011227"), e = e(), At(), e), Wl = { class: "flex justify-around flex-1 mt-3" }, Xl = /* @__PURE__ */ ce(() => /* @__PURE__ */ C("div", { class: "bg-dark w-1/4 h-full left-0 top-0 absolute z-30" }, null, -1)), Yl = /* @__PURE__ */ ce(() => /* @__PURE__ */ C("div", { class: "bg-white w-full h-1/4 left-0 top-0 absolute z-10" }, null, -1)), Kl = [
  Xl,
  Yl
], Gl = /* @__PURE__ */ ce(() => /* @__PURE__ */ C("div", { class: "bg-white w-1/4 h-full left-0 top-0 absolute z-10" }, null, -1)), Jl = /* @__PURE__ */ ce(() => /* @__PURE__ */ C("div", { class: "bg-dark w-full h-1/4 left-0 top-0 absolute z-30" }, null, -1)), Ql = [
  Gl,
  Jl
], Zl = /* @__PURE__ */ ce(() => /* @__PURE__ */ C("div", { class: "bg-dark w-full h-1/4 left-0 top-0 absolute z-10" }, null, -1)), es = [
  Zl
], ts = /* @__PURE__ */ ce(() => /* @__PURE__ */ C("div", { class: "bg-dark w-1/5 h-full left-0 top-0 absolute z-30" }, null, -1)), os = /* @__PURE__ */ ce(() => /* @__PURE__ */ C("div", { class: "bg-white w-1/3 h-full left-0 top-0 absolute z-10" }, null, -1)), ns = /* @__PURE__ */ ce(() => /* @__PURE__ */ C("div", { class: "bg-white w-full h-1/4 left-0 top-0 absolute z-20 border-b" }, null, -1)), ls = [
  ts,
  os,
  ns
], ss = /* @__PURE__ */ T({
  __name: "ThemeSettings",
  props: {
    theme: { default: "#409eff" },
    backgroundColor: { default: "#001529" },
    darkMode: { type: Boolean, default: !1 },
    menuWidth: { default: 240 },
    showLogo: { type: Boolean, default: !1 },
    showTabs: { type: Boolean, default: !0 },
    fixedHead: { type: Boolean, default: !1 },
    showBreadcrumb: { type: Boolean, default: !0 },
    mode: { default: "siderbar" },
    transition: { default: go.Fade }
  },
  emits: ["change"],
  setup(e, { emit: t }) {
    const o = M(!1), l = e, n = t, s = me({
      ...l
    });
    ie(() => {
      n("change", s);
    });
    const a = () => {
      n("change", s);
    };
    return (c, i) => {
      const u = x("el-color-picker"), r = x("el-form-item"), d = x("el-switch"), p = x("el-tooltip"), m = x("el-slider"), g = x("el-option"), b = x("el-select"), _ = x("el-form"), E = x("el-drawer");
      return h(), k(O, null, [
        y(Z, {
          icon: "ri:brush-2-line",
          class: "text-xl mr-3 cursor-pointer",
          onClick: i[0] || (i[0] = (w) => o.value = !0)
        }),
        y(E, {
          class: "min-w-[330px] lt-sm:w-full!",
          modelValue: f(o),
          "onUpdate:modelValue": i[15] || (i[15] = (w) => re(o) ? o.value = w : null),
          title: "主题设置",
          onClose: a
        }, {
          default: v(() => [
            y(_, {
              model: f(s),
              "label-position": "left"
            }, {
              default: v(() => [
                y(r, { label: "主题颜色" }, {
                  default: v(() => [
                    y(u, {
                      modelValue: f(s).theme,
                      "onUpdate:modelValue": i[1] || (i[1] = (w) => f(s).theme = w)
                    }, null, 8, ["modelValue"])
                  ]),
                  _: 1
                }),
                y(r, { label: "暗黑模式" }, {
                  default: v(() => [
                    y(d, {
                      modelValue: f(s).darkMode,
                      "onUpdate:modelValue": i[2] || (i[2] = (w) => f(s).darkMode = w)
                    }, null, 8, ["modelValue"])
                  ]),
                  _: 1
                }),
                y(r, {
                  label: "导航模式",
                  class: "flex-col",
                  modelValue: f(s).mode,
                  "onUpdate:modelValue": i[7] || (i[7] = (w) => f(s).mode = w)
                }, {
                  default: v(() => [
                    C("div", Wl, [
                      y(p, { content: "左侧菜单" }, {
                        default: v(() => [
                          C("div", {
                            class: W(["item", { active: f(s).mode === "siderbar" }]),
                            onClick: i[3] || (i[3] = (w) => f(s).mode = "siderbar")
                          }, Kl, 2)
                        ]),
                        _: 1
                      }),
                      y(p, { content: "顶部左侧菜单混合" }, {
                        default: v(() => [
                          C("div", {
                            class: W(["item", { active: f(s).mode === "mix" }]),
                            onClick: i[4] || (i[4] = (w) => f(s).mode = "mix")
                          }, Ql, 2)
                        ]),
                        _: 1
                      }),
                      y(p, { content: "顶部菜单" }, {
                        default: v(() => [
                          C("div", {
                            class: W(["item", { active: f(s).mode === "top" }]),
                            onClick: i[5] || (i[5] = (w) => f(s).mode = "top")
                          }, es, 2)
                        ]),
                        _: 1
                      }),
                      y(p, { content: "左侧菜单混合" }, {
                        default: v(() => [
                          C("div", {
                            class: W(["item", { active: f(s).mode === "mixbar" }]),
                            onClick: i[6] || (i[6] = (w) => f(s).mode = "mixbar")
                          }, ls, 2)
                        ]),
                        _: 1
                      })
                    ])
                  ]),
                  _: 1
                }, 8, ["modelValue"]),
                y(r, { label: "菜单背景" }, {
                  default: v(() => [
                    y(u, {
                      modelValue: f(s).backgroundColor,
                      "onUpdate:modelValue": i[8] || (i[8] = (w) => f(s).backgroundColor = w)
                    }, null, 8, ["modelValue"])
                  ]),
                  _: 1
                }),
                y(r, { label: "菜单宽度" }, {
                  default: v(() => [
                    y(m, {
                      class: "ml-3",
                      max: 600,
                      min: 220,
                      modelValue: f(s).menuWidth,
                      "onUpdate:modelValue": i[9] || (i[9] = (w) => f(s).menuWidth = w),
                      "show-input": "",
                      "input-size": "small"
                    }, null, 8, ["modelValue"])
                  ]),
                  _: 1
                }),
                y(r, { label: "显示 Logo" }, {
                  default: v(() => [
                    y(d, {
                      modelValue: f(s).showLogo,
                      "onUpdate:modelValue": i[10] || (i[10] = (w) => f(s).showLogo = w)
                    }, null, 8, ["modelValue"])
                  ]),
                  _: 1
                }),
                y(r, { label: "切换动画" }, {
                  default: v(() => [
                    y(b, {
                      modelValue: f(s).transition,
                      "onUpdate:modelValue": i[11] || (i[11] = (w) => f(s).transition = w),
                      placeholder: "Select"
                    }, {
                      default: v(() => [
                        (h(!0), k(O, null, U(f(ql), (w) => (h(), S(g, {
                          key: w,
                          label: w,
                          value: w
                        }, null, 8, ["label", "value"]))), 128))
                      ]),
                      _: 1
                    }, 8, ["modelValue"])
                  ]),
                  _: 1
                }),
                y(r, { label: "标签页" }, {
                  default: v(() => [
                    y(d, {
                      modelValue: f(s).showTabs,
                      "onUpdate:modelValue": i[12] || (i[12] = (w) => f(s).showTabs = w)
                    }, null, 8, ["modelValue"])
                  ]),
                  _: 1
                }),
                y(r, { label: "头部固定" }, {
                  default: v(() => [
                    y(d, {
                      modelValue: f(s).fixedHead,
                      "onUpdate:modelValue": i[13] || (i[13] = (w) => f(s).fixedHead = w)
                    }, null, 8, ["modelValue"])
                  ]),
                  _: 1
                }),
                y(r, { label: "显示 面包屑导航" }, {
                  default: v(() => [
                    y(d, {
                      modelValue: f(s).showBreadcrumb,
                      "onUpdate:modelValue": i[14] || (i[14] = (w) => f(s).showBreadcrumb = w)
                    }, null, 8, ["modelValue"])
                  ]),
                  _: 1
                })
              ]),
              _: 1
            }, 8, ["model"])
          ]),
          _: 1
        }, 8, ["modelValue"])
      ], 64);
    };
  }
}), vo = /* @__PURE__ */ oe(ss, [["__scopeId", "data-v-3e011227"]]), as = {
  class: /* @__PURE__ */ W(["flex items-center flex-nowrap h-[50px] z-100 bg-white dark:bg-dark"])
}, rs = { class: "relative overflow-x-hidden flex-grow" }, is = /* @__PURE__ */ T({
  __name: "Header",
  props: /* @__PURE__ */ te({
    collapse: { type: Boolean, default: !1 },
    showCollapse: { type: Boolean, default: !0 },
    locales: {},
    settings: {},
    username: {},
    menuSize: {},
    data: {},
    trigger: {},
    effect: {},
    type: {},
    placement: {},
    popperOptions: {},
    id: {},
    splitButton: { type: Boolean },
    hideOnClick: { type: Boolean },
    loop: { type: Boolean },
    showTimeout: {},
    hideTimeout: {},
    tabindex: {},
    maxHeight: {},
    popperClass: {},
    disabled: { type: Boolean },
    role: {},
    buttonProps: {},
    teleported: { type: Boolean },
    size: {},
    shape: {},
    icon: {},
    src: {},
    alt: {},
    srcSet: {},
    fit: {}
  }, {
    collapse: {
      default: !1
    }
  }),
  emits: /* @__PURE__ */ te(["menuChange", "settingsChange"], ["update:collapse"]),
  setup(e, { emit: t }) {
    const o = e, l = le(e, "collapse"), n = me({ ...o }), s = t, a = j(() => {
      const { collapse: d, locales: p, settings: m, ...g } = o;
      return g;
    }), c = (d) => s("menuChange", d);
    G(
      () => n.settings,
      () => {
        s("settingsChange", n.settings);
      },
      {
        deep: !0
      }
    );
    const i = (d) => {
      n.settings = d;
    }, u = (d) => {
      n.settings.darkMode = d;
    }, r = (d) => {
      tt(d);
    };
    return (d, p) => {
      var _, E;
      const m = fo, g = x("el-divider"), b = x("el-row");
      return h(), k("div", as, [
        ((_ = d.settings) == null ? void 0 : _.mode) !== "top" ? Ae((h(), S(Z, {
          key: 0,
          icon: l.value ? "ep:expand" : "ep:fold",
          class: "ml-2 text-2xl cursor-pointer",
          onClick: p[0] || (p[0] = (w) => l.value = !l.value)
        }, null, 8, ["icon"])), [
          [Dt, d.showCollapse]
        ]) : P("", !0),
        ["mix", "top"].includes(((E = d.settings) == null ? void 0 : E.mode) || "") ? P("", !0) : (h(), S(m, { key: 1 })),
        C("div", rs, [
          X(d.$slots, "default")
        ]),
        y(b, { class: "items-center flex-nowrap" }, {
          default: v(() => {
            var w;
            return [
              y(vo, L(d.settings, { onChange: i }), null, 16),
              y(po, {
                dark: (w = d.settings) == null ? void 0 : w.darkMode,
                onChange: u,
                class: "mr-2"
              }, null, 8, ["dark"]),
              y(ho, {
                locales: d.locales,
                onChange: r,
                class: "mr-2"
              }, null, 8, ["locales"]),
              y(mo, { class: "mr-2" }),
              y(g, { direction: "vertical" }),
              d.username || d.src ? (h(), S(Ut, L({
                key: 0,
                class: "mr-4"
              }, f(a), { onCommand: c }), null, 16)) : P("", !0)
            ];
          }),
          _: 1
        })
      ]);
    };
  }
});
var ve = /* @__PURE__ */ ((e) => (e.closeOthers = "closeOthers", e.closeLeft = "closeLeft", e.closeRight = "closeRight", e.closeAll = "closeAll", e))(ve || {});
const cs = { class: "flex justify-between items-center px-2" }, us = /* @__PURE__ */ T({
  __name: "HeaderTabs",
  props: /* @__PURE__ */ te({
    data: {},
    type: {},
    activeName: {},
    closable: { type: Boolean, default: !1 },
    addable: { type: Boolean, default: !1 },
    modelValue: {},
    editable: { type: Boolean, default: !1 },
    tabPosition: { default: "top" },
    beforeLeave: {},
    stretch: { type: Boolean, default: !1 }
  }, {
    modelValue: {}
  }),
  emits: /* @__PURE__ */ te(["tabClick", "tabChange", "edit", "tabRemove", "tabAdd", "tabMenuClick"], ["update:modelValue"]),
  setup(e, { emit: t }) {
    const o = ["tabClick", "tabChange", "edit", "tabRemove", "tabAdd"], l = t, n = Ze(l, o), s = le(e, "modelValue"), a = M([
      {
        action: ve.closeOthers,
        icon: "ep:close",
        text: "关闭其他"
      },
      {
        action: ve.closeLeft,
        icon: "line-md:arrow-close-left",
        text: "关闭左侧"
      },
      {
        action: ve.closeRight,
        icon: "line-md:arrow-close-right",
        text: "关闭右侧"
      },
      {
        action: ve.closeAll,
        icon: "codicon:close-all",
        text: "关闭全部"
      }
    ]), c = (i) => {
      l("tabMenuClick", i.action);
    };
    return (i, u) => {
      const r = x("el-tab-pane"), d = x("el-tabs"), p = Z;
      return h(), k("div", cs, [
        y(d, L({
          type: "card",
          class: "myTabs overflow-hidden flex-1",
          closable: ""
        }, ae(f(n)), {
          modelValue: s.value,
          "onUpdate:modelValue": u[0] || (u[0] = (m) => s.value = m)
        }), {
          default: v(() => [
            (h(!0), k(O, null, U(i.data, (m) => {
              var g;
              return h(), S(r, {
                name: m == null ? void 0 : m.name,
                key: m.name,
                label: m.meta && f(N)((g = m.meta) == null ? void 0 : g.title)
              }, null, 8, ["name", "label"]);
            }), 128))
          ]),
          _: 1
        }, 16, ["modelValue"]),
        y(ut, {
          items: f(a),
          class: "w-6",
          onChange: c
        }, {
          header: v(() => [
            y(p, {
              icon: "mdi:view-grid",
              size: "18px"
            })
          ]),
          item: v(({ item: m }) => [
            H($(m.text), 1)
          ]),
          _: 1
        }, 8, ["items"])
      ]);
    };
  }
}), ds = /* @__PURE__ */ oe(us, [["__scopeId", "data-v-3c212246"]]);
function dt() {
  function e(u) {
    return u.forEach((r) => {
      var d;
      r.children && r.children.length > 0 && (r.children = e(r.children)), r.meta = {
        ...r.meta,
        order: ((d = r.meta) == null ? void 0 : d.order) ?? 100
      };
    }), u.filter((r) => {
      var d;
      return !((d = r.meta) != null && d.hideMenu);
    }).sort((r, d) => {
      var g, b;
      const p = ((g = r.meta) == null ? void 0 : g.order) ?? 100, m = ((b = d.meta) == null ? void 0 : b.order) ?? 100;
      return p - m;
    }).map((r) => ({ ...r }));
  }
  function t(u, r = "1") {
    const d = e(u);
    let p = 1;
    return d.forEach((m) => {
      const g = r.indexOf("-") !== -1 ? `${r}${p}` : `${p}`;
      if (m.meta = {
        ...m.meta,
        key: g
      }, p++, m.children && m.children.length > 0)
        return m.children = t(m.children, `${g}-`);
    }), d;
  }
  function o(u, r) {
    for (let d = 0; d < u.length; d++) {
      if (r(u[d]))
        return u[d];
      if (u[d].children && Array.isArray(u[d].children)) {
        const p = o(u[d].children, r);
        if (p)
          return p;
      }
    }
  }
  function l(u, r) {
    return o(u, (d) => {
      var p;
      return ((p = d.meta) == null ? void 0 : p.key) === r;
    });
  }
  function n(u) {
    return e(u).map((d) => (delete d.children, d));
  }
  function s(u) {
    var m;
    const r = Ue(), d = j(() => {
      let g = "/";
      if (r) {
        if (r.path === "/")
          return "/";
        g = r.path.split("/")[1];
      }
      return g;
    });
    return ((m = e(u).find((g) => g.path === d.value)) == null ? void 0 : m.children) || [];
  }
  function a(u) {
    const r = Ue();
    if (!r)
      return [];
    const d = j(() => r.path);
    return o(u, (p) => {
      const m = d.value.split("/");
      return m.length < 3 ? !1 : (m.pop(), m.join("/") === p.name);
    });
  }
  function c(u) {
    var r;
    return `${(r = u.meta) == null ? void 0 : r.key}`;
  }
  function i(u) {
    var r;
    return !((r = u.meta) != null && r.hideMenu) && Array.isArray(u.children) && u.children.length > 0;
  }
  return {
    generateMenuKeys: t,
    getItem: l,
    getParentMenu: a,
    filterAndOrderMenus: e,
    getSubMenus: s,
    getTopMenus: n,
    getIndex: c,
    menuHasChildren: i
  };
}
const yo = /* @__PURE__ */ T({
  __name: "MenuItem",
  props: {
    data: {},
    collapse: { type: Boolean }
  },
  setup(e) {
    const t = zt("iconProps"), { getIndex: o } = dt();
    return (l, n) => {
      var a, c, i, u;
      const s = x("el-menu-item");
      return (a = l.data.meta) != null && a.icon ? (h(), k(O, { key: 1 }, [
        l.collapse ? (h(), S(s, {
          key: 0,
          index: f(o)(l.data),
          disabled: (i = l.data.meta) == null ? void 0 : i.disabled
        }, {
          title: v(() => {
            var r;
            return [
              H($(f(N)(((r = l.data.meta) == null ? void 0 : r.title) || "")), 1)
            ];
          }),
          default: v(() => {
            var r, d, p;
            return [
              y(Z, {
                icon: (r = l.data.meta) == null ? void 0 : r.icon,
                style: ee((d = f(t)) == null ? void 0 : d.style),
                class: W((p = f(t)) == null ? void 0 : p.class)
              }, null, 8, ["icon", "style", "class"])
            ];
          }),
          _: 1
        }, 8, ["index", "disabled"])) : (h(), S(s, {
          key: 1,
          index: f(o)(l.data),
          disabled: (u = l.data.meta) == null ? void 0 : u.disabled
        }, {
          default: v(() => {
            var r, d, p, m;
            return [
              y(Z, {
                icon: (r = l.data.meta) == null ? void 0 : r.icon,
                style: ee((d = f(t)) == null ? void 0 : d.style),
                class: W((p = f(t)) == null ? void 0 : p.class)
              }, null, 8, ["icon", "style", "class"]),
              C("span", null, $(f(N)(((m = l.data.meta) == null ? void 0 : m.title) || "")), 1)
            ];
          }),
          _: 1
        }, 8, ["index", "disabled"]))
      ], 64)) : (h(), S(s, {
        key: 0,
        index: f(o)(l.data),
        disabled: (c = l.data.meta) == null ? void 0 : c.disabled
      }, {
        default: v(() => {
          var r;
          return [
            H($(f(N)(((r = l.data.meta) == null ? void 0 : r.title) || "")), 1)
          ];
        }),
        _: 1
      }, 8, ["index", "disabled"]));
    };
  }
}), _o = /* @__PURE__ */ T({
  __name: "SubMenu",
  props: {
    data: {},
    collapse: { type: Boolean },
    index: {},
    showTimeout: {},
    hideTimeout: {},
    popperClass: {},
    disabled: { type: Boolean },
    popperAppendToBody: { type: Boolean },
    teleported: { type: Boolean },
    popperOffset: {},
    expandCloseIcon: {},
    expandOpenIcon: {},
    collapseCloseIcon: {},
    collapseOpenIcon: {}
  },
  setup(e) {
    const t = e, { getIndex: o, menuHasChildren: l } = dt(), n = zt("iconProps"), s = j(() => {
      const { data: a, ...c } = t;
      return c;
    });
    return (a, c) => {
      var d;
      const i = yo, u = x("SubMenu", !0), r = x("el-sub-menu");
      return h(), k(O, null, [
        f(l)(a.data) ? P("", !0) : (h(), S(i, {
          key: 0,
          data: a.data,
          collapse: a.collapse
        }, null, 8, ["data", "collapse"])),
        f(l)(a.data) ? (h(), S(r, {
          key: 1,
          index: f(o)(a.data)
        }, ke({
          default: v(() => [
            (h(!0), k(O, null, U(a.data.children, (p) => (h(), S(u, L({
              data: p,
              key: `${a.data.path}/${p.path}`
            }, f(s)), null, 16, ["data"]))), 128))
          ]),
          _: 2
        }, [
          (d = a.data.meta) != null && d.icon ? {
            name: "title",
            fn: v(() => {
              var p, m, g, b;
              return [
                y(Z, {
                  icon: (p = a.data.meta) == null ? void 0 : p.icon,
                  style: ee((m = f(n)) == null ? void 0 : m.style),
                  class: W((g = f(n)) == null ? void 0 : g.class)
                }, null, 8, ["icon", "style", "class"]),
                C("span", null, $(f(N)(((b = a.data.meta) == null ? void 0 : b.title) || "")), 1)
              ];
            }),
            key: "1"
          } : {
            name: "title",
            fn: v(() => {
              var p;
              return [
                H($(f(N)(((p = a.data.meta) == null ? void 0 : p.title) || "")), 1)
              ];
            }),
            key: "0"
          }
        ]), 1032, ["index"])) : P("", !0)
      ], 64);
    };
  }
}), fs = {
  key: 0,
  class: "flex-grow"
}, ps = /* @__PURE__ */ T({
  __name: "Menu",
  props: {
    data: { default: () => [] },
    subMenuProps: {},
    iconProps: { default: () => ({
      style: { fontSize: "22px" },
      class: "mr-3"
    }) },
    mode: {},
    defaultActive: {},
    defaultOpeneds: {},
    uniqueOpened: { type: Boolean },
    router: { type: Boolean },
    menuTrigger: {},
    collapse: { type: Boolean },
    backgroundColor: { default: "transparent" },
    textColor: {},
    activeTextColor: {},
    closeOnClickOutside: { type: Boolean },
    collapseTransition: { type: Boolean },
    ellipsis: { type: Boolean, default: !0 },
    popperOffset: {},
    ellipsisIcon: {},
    popperEffect: {}
  },
  emits: ["select", "open", "close"],
  setup(e, { emit: t }) {
    const o = e, l = me(o.iconProps), n = M();
    G(
      () => o.collapse,
      () => {
        l.class = o.collapse ? "" : "mr-3";
      }
    ), Mo("iconProps", l);
    const s = t, a = Po(), { generateMenuKeys: c, getItem: i, getParentMenu: u } = dt(), r = j(() => c(o.data)), d = j(() => {
      const { subMenuProps: _, data: E, ...w } = o;
      return w;
    });
    ie(() => {
      const _ = u(r.value);
      _ && _.meta && _.meta.key && n.value && n.value.open && !o.collapse && n.value.open(_.meta.key);
    });
    function p(_) {
      let E = "";
      const w = (A) => {
        A.forEach((Y) => {
          var J;
          Y.name === _.name && (E = (J = Y.meta) == null ? void 0 : J.key), Y.children && w(Y.children);
        });
      };
      return w(r.value), E;
    }
    const m = (..._) => {
      const [E] = _, w = i(r.value, E);
      w && s("select", w);
    }, g = (..._) => {
      s("open", _);
    }, b = (..._) => {
      s("close", _);
    };
    return (_, E) => {
      const w = _o, A = x("el-menu");
      return h(), S(A, L({
        ref_key: "menuRef",
        ref: n
      }, f(d), {
        style: { "--bg-color": _.backgroundColor },
        class: "border-r-0!",
        onSelect: m,
        onOpen: g,
        onClose: b,
        "default-active": p(_.$route)
      }), {
        default: v(() => [
          X(_.$slots, "icon"),
          ("isDefined" in _ ? _.isDefined : f(Mt))(f(a).icon) ? (h(), k("div", fs)) : P("", !0),
          (h(!0), k(O, null, U(f(r), (Y) => (h(), S(w, L({
            key: Y.path,
            data: Y,
            collapse: _.collapse
          }, _.subMenuProps), null, 16, ["data", "collapse"]))), 128))
        ]),
        _: 3
      }, 16, ["style", "default-active"]);
    };
  }
}), ms = {
  key: 0
}, hs = {
  class: "text-base line-clamp-1"
}, gs = {
  class: "text-sm text-gray-400 mb-2 line-clamp-2"
}, vs = {
  class: "text-sm text-gray-400"
}, ys = {
  class: "flex w-full justify-around border-t"
}, _s = ["onClick"], bs = {
  class: "ml-2"
}, ws = /* @__PURE__ */ T({
  __name: "NoticeMessageList",
  props: {
    lists: {},
    actions: {},
    wrapClass: {},
    wrapStyle: {}
  },
  emits: ["clickAvatar", "clickItem", "clickTab"],
  setup(e, {
    emit: t
  }) {
    const o = e, l = M((o == null ? void 0 : o.lists[0].title) || ""), n = t, s = (i) => {
      n("clickAvatar", i);
    }, a = (i) => {
      n("clickItem", i);
    }, c = (i, u) => {
      n("clickTab", i, u);
    };
    return (i, u) => {
      const r = x("el-avatar"), d = x("el-col"), p = x("el-tag"), m = x("el-row"), g = x("el-tab-pane"), b = x("el-tabs");
      return h(), k(O, null, [y(b, {
        modelValue: f(l),
        "onUpdate:modelValue": u[0] || (u[0] = (_) => re(l) ? l.value = _ : null),
        class: W(i.wrapClass),
        style: ee(i.wrapStyle),
        onTabClick: c
      }, {
        default: v(() => [(h(!0), k(O, null, U(i.lists, (_, E) => (h(), S(g, {
          label: _.title,
          name: _.title,
          key: E
        }, {
          default: v(() => [_.contents && _.contents.length ? (h(), k("ul", ms, [(h(!0), k(O, null, U(_.contents, (w, A) => (h(), k("li", {
            key: A,
            class: "cursor-pointer hover:bg-sky-100 py-2"
          }, [y(m, {
            justify: "center",
            align: "middle"
          }, {
            default: v(() => [w.avatar ? (h(), S(d, {
              key: 0,
              span: 4,
              align: "middle",
              onClick: () => s(w.avatar)
            }, {
              default: v(() => [y(r, q(Q(Object.assign({
                size: "small"
              }, w.avatar))), null, 16)]),
              _: 2
            }, 1032, ["onClick"])) : P("", !0), y(d, {
              span: 20,
              class: "px-3",
              onClick: () => a(w)
            }, {
              default: v(() => [y(m, {
                align: "middle",
                class: "flex-nowrap! mb-2"
              }, {
                default: v(() => [C("div", hs, $(w.title), 1), w.tag ? (h(), S(p, L({
                  key: 0,
                  class: "ml-2",
                  effect: "dark"
                }, w.tagProps), {
                  default: v(() => [H($(w.tag), 1)]),
                  _: 2
                }, 1040)) : P("", !0)]),
                _: 2
              }, 1024), w.content ? (h(), S(m, {
                key: 0
              }, {
                default: v(() => [C("div", gs, $(w.content), 1)]),
                _: 2
              }, 1024)) : P("", !0), w.time ? (h(), S(m, {
                key: 1
              }, {
                default: v(() => [C("div", vs, $(w.time), 1)]),
                _: 2
              }, 1024)) : P("", !0)]),
              _: 2
            }, 1032, ["onClick"])]),
            _: 2
          }, 1024)]))), 128))])) : P("", !0)]),
          _: 2
        }, 1032, ["label", "name"]))), 128))]),
        _: 1
      }, 8, ["modelValue", "class", "style"]), C("div", ys, [(h(!0), k(O, null, U(i.actions, (_, E) => (h(), k("div", {
        class: "flex-1 py-3 border-r flex items-center justify-center hover:bg-sky-100 cursor-pointer text-gray-500",
        onClick: _.click,
        key: E
      }, [_.icon ? (h(), S(Z, {
        key: 0,
        icon: _.icon,
        color: _.color,
        style: ee(_.style)
      }, null, 8, ["icon", "color", "style"])) : P("", !0), C("span", bs, $(_.title), 1)], 8, _s))), 128))])], 64);
    };
  }
}), bo = /* @__PURE__ */ oe(ws, [["__scopeId", "data-v-8f4e9db0"]]), ks = /* @__PURE__ */ T({
  __name: "Notification",
  props: {
    icon: { default: "ep:bell" },
    iconSize: {},
    iconColor: {},
    size: { default: 12 },
    scale: { default: 1 },
    color: { default: "" },
    value: {},
    max: {},
    isDot: { type: Boolean },
    hidden: { type: Boolean },
    type: {}
  },
  setup(e) {
    Pt((i) => ({
      b2b128a0: f(n),
      aa8fed9e: f(s),
      "030b1722": f(a),
      "32d91eae": f(c)
    }));
    const t = e;
    function o(i) {
      return {
        translateX: 75 + 25 * ((i - 0.4) / 0.6),
        scale: i
      };
    }
    const l = j(() => o(t.scale)), n = j(() => t.color || "var(--el-color-danger)"), s = j(() => t.size + "px" || "var(--el-badge-size)"), a = j(() => {
      var i;
      return (((i = l.value) == null ? void 0 : i.translateX) || 100) + "%";
    }), c = j(() => {
      var i;
      return ((i = l.value) == null ? void 0 : i.scale) || 100;
    });
    return (i, u) => {
      const r = x("el-badge");
      return h(), S(r, { value: i.value }, {
        default: v(() => [
          X(i.$slots, "default", {}, () => [
            y(Z, {
              icon: i.icon,
              style: ee({ color: i.iconColor ?? "#333", fontSize: i.iconSize ? `${i.iconSize}px` : "18px" })
            }, null, 8, ["icon", "style"])
          ], !0)
        ]),
        _: 3
      }, 8, ["value"]);
    };
  }
}), wo = /* @__PURE__ */ oe(ks, [["__scopeId", "data-v-a46b4821"]]), Ss = { class: "el-dropdown-link" }, xs = /* @__PURE__ */ T({
  __name: "Notice",
  props: {
    lists: {},
    actions: {},
    wrapClass: {},
    wrapStyle: {},
    icon: {},
    iconSize: {},
    iconColor: {},
    size: {},
    scale: {},
    color: {},
    value: {},
    max: {},
    isDot: { type: Boolean },
    hidden: { type: Boolean },
    type: {}
  },
  emits: ["clickAvatar", "clickItem", "clickTab"],
  setup(e, { emit: t }) {
    const o = e, l = t, n = {
      clickAvatar: (a) => l("clickAvatar", a),
      clickItem: (a) => l("clickItem", a),
      clickTab: (a, c) => l("clickTab", a, c)
    }, s = j(() => {
      const { actions: a, lists: c, ...i } = o;
      return i;
    });
    return (a, c) => {
      const i = x("el-dropdown");
      return h(), k("div", null, [
        y(i, { trigger: "click" }, {
          dropdown: v(() => [
            y(bo, L({
              lists: a.lists,
              actions: a.actions,
              "wrap-class": a.wrapClass,
              "wrap-style": a.wrapStyle
            }, ae(n)), null, 16, ["lists", "actions", "wrap-class", "wrap-style"])
          ]),
          default: v(() => [
            C("span", Ss, [
              y(wo, q(Q(f(s))), null, 16)
            ])
          ]),
          _: 1
        })
      ]);
    };
  }
}), Cs = /* @__PURE__ */ C("i", { class: "absolute left-0 top-1/2 translate-x--1/2 translate-y--1/2 block i-ic:outline-circle text-2xl color-[var(--el-color-primary)]" }, null, -1), Vs = /* @__PURE__ */ C("i", { class: "absolute left-0 top-1/2 translate-x--1/2 translate-y--1/2 block i-ic:round-circle text-xl color-[var(--el-bg-color)] z-20" }, null, -1), Es = [
  Cs,
  Vs
], ko = /* @__PURE__ */ T({
  __name: "ProgressBar",
  props: {
    modelValue: { default: 0 }
  },
  emits: ["update:modelValue"],
  setup(e) {
    const t = le(e, "modelValue"), o = M(0), l = M(), n = M(0);
    ie(() => {
      l.value && (n.value = l.value.offsetWidth);
    }), G(t, (i) => {
      !isNaN(i) && typeof i < "u" && (o.value = i * n.value);
    }), Te(l, (i) => {
      const { width: u } = i[0].contentRect;
      o.value = t.value * u, n.value = u;
    });
    function s(i, u) {
      var r;
      if (l.value) {
        const d = (r = l.value) == null ? void 0 : r.getBoundingClientRect(), p = u - d.left, m = Math.min(
          Math.max(p + i - u, 0),
          l.value.offsetWidth
        );
        o.value = m, t.value = m / l.value.offsetWidth;
      }
    }
    function a(i) {
      i.preventDefault(i);
      const u = i.type === "touchstart", r = u ? i.touches[0].clientX : i.clientX, d = (m) => {
        const g = u ? m.touches[0].clientX : m.clientX;
        s(g, r);
      }, p = () => {
        document.removeEventListener(u ? "touchmove" : "mousemove", d), document.removeEventListener(u ? "touchEnd" : "mouseup", p);
      };
      document.addEventListener(u ? "touchmove" : "mousemove", d), document.addEventListener(u ? "touchEnd" : "mouseup", p);
    }
    function c(i) {
      var p;
      i.preventDefault(i);
      const r = i.type === "touchstart" ? i.touches[0].clientX : i.clientX, d = (p = l.value) == null ? void 0 : p.getBoundingClientRect();
      s(r, d.left);
    }
    return (i, u) => (h(), k("div", {
      class: "inline-block flex-1 mx-4 relative",
      ref_key: "progressRef",
      ref: l
    }, [
      C("span", {
        class: "cursor-pointer z-50 absolute top-1/2",
        style: ee({ left: f(o) + "px" }),
        onMousedown: a,
        onTouchstart: a
      }, Es, 36),
      C("div", {
        class: "h-2 w-full bg-[var(--el-fill-color-darker)] rounded cursor-pointer",
        onMousedown: c,
        onTouchstart: c
      }, [
        C("div", {
          class: "h-2 bg-[var(--el-color-primary)] rounded-l absolute z-10",
          style: ee({ width: f(o) + "px" })
        }, null, 4)
      ], 32)
    ], 512));
  }
}), Is = { class: "w-full" }, Bs = { class: "py-2" }, $s = { class: "flex items-center w-full flex-wrap" }, Ts = { class: "flex items-center lt-sm:w-full lt-sm:justify-between lt-sm:py-3" }, Ls = {
  key: 0,
  class: "i-bi:sort-down-alt"
}, Ms = {
  key: 1,
  class: "i-cil:loop"
}, Ps = {
  key: 2,
  class: "i-cil:loop-1"
}, Ds = {
  key: 3,
  class: "i-ps:random"
}, Fs = { class: "flex items-center" }, As = { class: "flex items-center flex-1 mx-4 flex-wrap lt-sm:mx-0" }, zs = { class: "hidden lt-sm:block lt-sm:flex lt-sm:justify-between lt-sm:py-2 lt-sm:w-full" }, Rs = { class: "text-sm min-w-10 text-center" }, Os = { class: "text-sm" }, js = { class: "flex-1 flex items-center mx-2 lt-sm:my-2" }, Ns = { class: "text-sm min-w-10 text-center lt-sm:hidden" }, Us = { class: "text-sm lt-sm:hidden" }, Hs = {
  key: 0,
  class: "flex items-center mx-2 lt-sm:w-full lt-sm:mx-0 lt-sm:my-2 lt-sm:justify-between lt-sm:hidden"
}, qs = {
  key: 0,
  class: "flex items-center group"
}, Ws = {
  key: 0,
  class: "i-bi:sort-down-alt"
}, Xs = {
  key: 1,
  class: "i-cil:loop"
}, Ys = {
  key: 2,
  class: "i-cil:loop-1"
}, Ks = {
  key: 3,
  class: "i-ps:random"
}, Gs = /* @__PURE__ */ T({
  __name: "AudioPlayer",
  props: {
    options: {},
    title: {},
    controls: { default: () => ["prev", "next", "forward", "rewind", "volume", "rate", "mode"] }
  },
  emits: ["init", "prev", "next", "mode"],
  setup(e, { expose: t, emit: o }) {
    const l = [
      "usingWebAudio",
      "noAudio",
      "autoUnlock",
      "html5PoolSize",
      "autoSuspend",
      "ctx",
      "masterGain"
    ], n = [
      "play",
      "pause",
      "stop",
      "mute",
      "volume",
      "fade",
      "rate",
      "seek",
      "loop",
      "state",
      "playing",
      "duration",
      "on",
      "once",
      "off",
      "load",
      "unload"
    ], s = {
      volume: 1,
      loop: !1,
      rate: 1,
      mute: !1
    }, a = e, c = M(0), i = M([0.5, 1, 1.5, 2]), u = M(1), r = M(), d = o, p = ct(r, n);
    t({ ...p });
    const m = M(0), g = me({
      isPlay: !1,
      duration: 0,
      progress: 0,
      volume: 1,
      oldVolume: 1,
      oldIsPlay: !1,
      oldLoop: !1
    }), [b, _] = et(!1);
    G(c, (I) => {
      r.value && I && (r.value.seek(I * g.duration), g.progress = I * g.duration);
    }), G(
      () => g.volume,
      (I) => {
        r.value && !isNaN(I) && (r.value.volume(I), _(I <= 0));
      },
      {
        deep: !0
      }
    ), G(
      () => a.options,
      (I) => {
        g.oldIsPlay = g.isPlay, r.value.unload();
        const R = Object.assign({}, I, { volume: g.volume });
        B(R);
      },
      {
        deep: !0
      }
    ), fe(() => {
      B(a.options);
    }), Fe(() => {
      r.value && r.value.unload();
    });
    const E = (I) => {
      I === "prev" && d("prev"), I === "next" && d("next"), m.value !== 2 && (g.progress = 0, g.isPlay && r.value && r.value.pause());
    }, w = () => {
      r.value && (g.isPlay = r.value.playing(), g.isPlay && (g.progress = r.value.seek() || 0, c.value = g.progress / g.duration, requestAnimationFrame(w)));
    }, A = () => {
      r.value && (g.isPlay ? r.value.pause() : r.value.play());
    }, Y = (I) => {
      r.value && (I === 0 && (g.progress = g.progress + 15 > g.duration ? g.duration : g.progress + 15), I === 1 && (g.progress = g.progress - 15 < 0 ? 0 : g.progress - 15), c.value = g.progress / g.duration, r.value.seek(g.progress));
    }, J = () => {
      if (_(), b.value && (g.oldVolume = g.volume), r.value) {
        r.value.mute(b);
        const I = g.oldVolume === 0 ? 1 : g.oldVolume;
        g.volume = b.value ? 0 : I;
      }
    }, D = () => {
      u.value++, u.value >= i.value.length && (u.value = 0), r.value && r.value.rate(i.value[u.value]);
    }, V = () => {
      var I;
      m.value++, m.value >= 4 && (m.value = 0), m.value === 2 ? (g.oldLoop = ((I = a.options) == null ? void 0 : I.loop) || !1, r.value && r.value.loop(!0)) : r.value && r.value.loop(g.oldLoop), d("mode", m.value);
    };
    function z(I, R, ...pe) {
      if (R) {
        const Se = R[I];
        Se && Se(pe);
      }
    }
    function B(I) {
      I && (l.forEach((R) => {
        R in I && (zo[R] = I[R]);
      }), g.volume = typeof I.volume > "u" ? 1 : I.volume), r.value = new Ro(
        Object.assign(s, I, {
          onload: () => {
            z("onload", I), g.duration = r.value.duration(), g.oldIsPlay && r.value.play(), g.oldIsPlay = !1;
          },
          onplay: (R) => {
            z("onplay", I, R), w();
          },
          onend: () => {
            z("onend", I), d("next");
          }
        })
      ), d("init", r.value);
    }
    function F(I) {
      return (a.controls || []).includes(I);
    }
    return (I, R) => {
      var pt;
      const pe = ko, Se = Rt("scrollText");
      return h(), k("div", Is, [
        I.title ? X(I.$slots, "title", { key: 0 }, () => [
          Ae((h(), k("div", Bs, [
            H($(I.title), 1)
          ])), [
            [Se, { delay: 2e3, duration: 5e3 }]
          ])
        ], !0) : P("", !0),
        C("div", $s, [
          C("div", Ts, [
            F("mode") ? (h(), k("span", {
              key: 0,
              onClick: V,
              class: "hidden over lt-sm:block lt-sm:text-xl lt-sm:flex lt-sm:items-center"
            }, [
              f(m) === 0 ? (h(), k("i", Ls)) : f(m) === 1 ? (h(), k("i", Ms)) : f(m) === 2 ? (h(), k("i", Ps)) : (h(), k("i", Ds))
            ])) : P("", !0),
            C("div", Fs, [
              F("prev") ? (h(), k("i", {
                key: 0,
                class: "i-iconoir:skip-prev lt-sm:text-3xl",
                onClick: R[0] || (R[0] = (ne) => E("prev"))
              })) : P("", !0),
              f(g).isPlay ? (h(), k("i", {
                key: 2,
                class: "i-iconoir:pause mx-2 lt-sm:text-5xl lt-sm:mx-9",
                onClick: A
              })) : (h(), k("i", {
                key: 1,
                class: "i-iconoir:play mx-2 lt-sm:text-5xl lt-sm:mx-9",
                onClick: A
              })),
              F("next") ? (h(), k("i", {
                key: 3,
                class: "i-iconoir:skip-next lt-sm:text-3xl",
                onClick: R[1] || (R[1] = (ne) => E("next"))
              })) : P("", !0)
            ]),
            F("rate") ? (h(), k("span", {
              key: 1,
              class: "cursor-pointer hidden min-w-10 lt-sm:block lt-sm:text-xl text-right select-none",
              onClick: D
            }, $(f(i)[f(u)]) + "x", 1)) : P("", !0)
          ]),
          C("div", As, [
            C("div", zs, [
              C("span", Rs, $(f(Ce)(f(g).progress)), 1),
              C("span", Os, $(f(Ce)(f(g).duration)), 1)
            ]),
            F("rewind") ? (h(), k("i", {
              key: 0,
              class: "i-iconoir:backward-15-seconds lt-sm:text-2xl",
              onClick: R[2] || (R[2] = (ne) => Y(
                1
                /* Rewind */
              ))
            })) : P("", !0),
            C("div", js, [
              C("span", Ns, $(f(Ce)(f(g).progress)), 1),
              y(pe, {
                modelValue: f(c),
                "onUpdate:modelValue": R[3] || (R[3] = (ne) => re(c) ? c.value = ne : null)
              }, null, 8, ["modelValue"]),
              C("span", Us, $(f(Ce)(f(g).duration)), 1)
            ]),
            F("forward") ? (h(), k("i", {
              key: 1,
              class: "i-iconoir:forward-15-seconds lt-sm:text-2xl",
              onClick: R[4] || (R[4] = (ne) => Y(
                0
                /* Forward */
              ))
            })) : P("", !0)
          ]),
          (pt = I.controls) != null && pt.some((ne) => ["volume", "rate", "mode"].includes(ne)) ? (h(), k("div", Hs, [
            F("volume") ? (h(), k("i", qs, [
              y(pe, {
                modelValue: f(g).volume,
                "onUpdate:modelValue": R[5] || (R[5] = (ne) => f(g).volume = ne),
                class: "transition-width invisible w-0 mx-0! group-hover:visible group-hover:w-[80px] group-hover:ml-2! group-hover:mr-4!"
              }, null, 8, ["modelValue"]),
              f(b) ? (h(), k("i", {
                key: 0,
                class: "i-clarity:volume-mute-line mr-3",
                onClick: J
              })) : (h(), k("i", {
                key: 1,
                class: "i-clarity:volume-up-line mr-3",
                onClick: J
              }))
            ])) : P("", !0),
            F("rate") ? (h(), k("span", {
              key: 1,
              class: "mr-3 cursor-pointer min-w-8 text-center select-none",
              onClick: D
            }, $(f(i)[f(u)]) + "x", 1)) : P("", !0),
            F("mode") ? (h(), k("span", {
              key: 2,
              onClick: V,
              class: "flex items-center"
            }, [
              f(m) === 0 ? (h(), k("i", Ws)) : f(m) === 1 ? (h(), k("i", Xs)) : f(m) === 2 ? (h(), k("i", Ys)) : (h(), k("i", Ks))
            ])) : P("", !0)
          ])) : P("", !0)
        ])
      ]);
    };
  }
}), Js = /* @__PURE__ */ oe(Gs, [["__scopeId", "data-v-c0b001f0"]]), Qs = /* @__PURE__ */ T({
  __name: "VideoPlayer",
  props: {
    options: {},
    slots: {}
  },
  emits: ["init"],
  setup(e, { emit: t }) {
    const o = e, l = M(), n = _e(), s = _e(), a = t, c = {
      fluid: !0,
      aspectRatio: "16:9",
      autoplay: !1,
      controls: !0,
      playbackRates: [0.5, 1, 1.5, 2, 2.5, 3],
      muted: !1,
      loop: !1
    };
    return G(
      () => o.options,
      (i) => {
        if (s.value) {
          s.value.pause(), s.value.dispose();
          const u = document.createElement("video");
          u.className = "video-js", l.value.appendChild(u), n.value = u, s.value = mt(n.value, Object.assign(c, i)), a("init", s.value);
        }
      }
    ), G(
      () => {
        var i;
        return (i = o.options) == null ? void 0 : i.sources;
      },
      (i) => {
        var u, r, d;
        s.value && (s.value.pause(), (u = s.value) == null || u.reset(), (r = s.value) == null || r.src(i), (d = s.value) == null || d.load());
      },
      {
        deep: !0
      }
    ), ie(() => {
      n.value && (s.value = mt(n.value, Object.assign(c, o.options)), a("init", s.value));
    }), Fe(() => {
      var i;
      s.value && ((i = s.value) == null || i.dispose());
    }), (i, u) => (h(), k("div", {
      ref_key: "videoRef",
      ref: l
    }, [
      C("video", {
        ref_key: "playerRef",
        ref: n,
        class: "video-js"
      }, null, 512)
    ], 512));
  }
}), Zs = { class: "flex items-center drag-btn" }, ft = /* @__PURE__ */ T({
  __name: "DragIcon",
  props: {
    icon: { default: "i-icon-park-outline:drag" }
  },
  setup(e) {
    return (t, o) => (h(), k("div", Zs, [
      C("i", {
        class: W(["cursor-grab mr-2", t.icon])
      }, null, 2),
      X(t.$slots, "default")
    ]));
  }
}), So = /* @__PURE__ */ T({
  __name: "TableColumn",
  props: {
    id: {},
    defaultSlot: {},
    headerSlot: {},
    children: {},
    realWidth: {},
    type: {},
    label: {},
    className: {},
    labelClassName: {},
    property: {},
    prop: {},
    width: {},
    minWidth: {},
    renderHeader: { type: Function },
    sortable: { type: [Boolean, String] },
    sortMethod: { type: Function },
    sortBy: { type: [String, Function, Array] },
    resizable: { type: Boolean },
    columnKey: {},
    rawColumnKey: {},
    align: {},
    headerAlign: {},
    showOverflowTooltip: { type: [Boolean, Object] },
    fixed: { type: [Boolean, String] },
    formatter: { type: Function },
    selectable: { type: Function },
    reserveSelection: { type: Boolean },
    filterMethod: {},
    filteredValue: {},
    filters: {},
    filterPlacement: {},
    filterMultiple: { type: Boolean },
    index: { type: [Number, Function] },
    sortOrders: {},
    renderCell: { type: Function },
    colSpan: {},
    rowSpan: {},
    level: {},
    filterable: { type: [Boolean, Array] },
    order: {},
    isColumnGroup: { type: Boolean },
    isSubColumn: { type: Boolean },
    columns: {},
    getColumnIndex: { type: Function },
    no: {},
    filterOpened: { type: Boolean }
  },
  setup(e) {
    const t = e;
    return (o, l) => {
      const n = x("VpTableColumn"), s = x("el-table-column");
      return h(), S(s, q(Q(t)), ke({
        default: v(() => [
          o.children && o.children.length ? (h(!0), k(O, { key: 0 }, U(o.children, (a, c) => (h(), S(n, L({ key: c }, a), null, 16))), 128)) : P("", !0)
        ]),
        _: 2
      }, [
        o.defaultSlot ? {
          name: "default",
          fn: v((a) => [
            (h(), S(K(o.defaultSlot), q(Q(a)), null, 16))
          ]),
          key: "0"
        } : void 0,
        o.headerSlot ? {
          name: "header",
          fn: v((a) => [
            (h(), S(K(o.headerSlot), q(Q(a)), null, 16))
          ]),
          key: "1"
        } : void 0
      ]), 1040);
    };
  }
}), ea = /* @__PURE__ */ T({
  __name: "Table",
  props: {
    columns: {},
    pagination: {},
    adaptive: {
      type: [Boolean, Number],
      default: !1
    },
    loading: {
      type: Boolean,
      default: !1
    },
    elementLoadingText: {},
    elementLoadingSpinner: {},
    elementLoadingSvgViewBox: {},
    elementLoadingBackground: {},
    elementLoadingSvg: {},
    draggableCol: {
      type: Boolean,
      default: !1
    },
    draggableRow: {
      type: Boolean,
      default: !1
    },
    data: {},
    size: {},
    width: {},
    height: {},
    maxHeight: {},
    fit: {
      type: Boolean,
      default: !0
    },
    stripe: {
      type: Boolean,
      default: !1
    },
    border: {
      type: Boolean,
      default: !1
    },
    rowKey: {},
    context: {},
    showHeader: {
      type: Boolean,
      default: !0
    },
    showSummary: {
      type: Boolean,
      default: !1
    },
    sumText: {},
    summaryMethod: {},
    rowClassName: {},
    rowStyle: {},
    cellClassName: {},
    cellStyle: {},
    headerRowClassName: {},
    headerRowStyle: {},
    headerCellClassName: {},
    headerCellStyle: {},
    highlightCurrentRow: {
      type: Boolean,
      default: !1
    },
    currentRowKey: {},
    emptyText: {
      default: "No Data"
    },
    expandRowKeys: {},
    defaultExpandAll: {
      type: Boolean,
      default: !1
    },
    defaultSort: {},
    tooltipEffect: {
      default: "dark"
    },
    tooltipOptions: {},
    spanMethod: {},
    selectOnIndeterminate: {
      type: Boolean,
      default: !0
    },
    indent: {
      default: 16
    },
    treeProps: {},
    lazy: {
      type: Boolean
    },
    load: {},
    className: {},
    style: {},
    tableLayout: {
      default: "fixed"
    },
    scrollbarAlwaysOn: {
      type: Boolean,
      default: !1
    },
    flexible: {
      type: Boolean,
      default: !1
    },
    showOverflowTooltip: {
      type: [Boolean, Object]
    }
  },
  emits: ["select", "select-all", "selection-change", "cell-mouse-enter", "cell-mouse-leave", "cell-click", "cell-dblclick", "cell-contextmenu", "row-click", "row-contextmenu", "row-dblclick", "header-click", "header-contextmenu", "sort-change", "filter-change", "current-change", "header-dragend", "expand-change", "page-size-change", "page-current-change", "page-prev-click", "page-next-click", "drag-row-change", "drag-col-change"],
  setup(e, {
    expose: t,
    emit: o
  }) {
    const l = {
      sortable: !1,
      sortOrders: ["ascending", "descending", null],
      resizable: !0,
      align: "left",
      reserveSelection: !1,
      filterMultiple: !0
    }, n = e, s = M(), a = o, c = ["select", "select-all", "selection-change", "cell-mouse-enter", "cell-mouse-leave", "cell-contextmenu", "cell-click", "cell-dblclick", "row-click", "row-contextmenu", "row-dblclick", "header-click", "header-contextmenu", "sort-change", "filter-change", "current-change", "header-dragend", "expand-change"], i = ["size-change", "current-change", "prev-click", "next-click"], u = ["clearSelection", "getSelectionRows", "toggleRowSelection", "toggleAllSelection", "toggleRowExpansion", "setCurrentRow", "clearSort", "clearFilter", "doLayout", "sort", "scrollTo", "setScrollTop", "setScrollLeft"], r = Ze(a, c), d = Ze(a, i, "page-"), p = ct(s, u), m = M(n.columns), g = M(n.data), b = M(n.rowKey);
    t({
      ...p
    });
    const _ = j(() => {
      let V = "justify-center";
      return n.pagination && n.pagination.align && (n.pagination.align === "left" && (V = "justify-start"), n.pagination.align === "right" && (V = "justify-end")), V;
    });
    fe(() => {
      if (m.value = w(n.draggableCol, n.columns), g.value = w(n.draggableRow, n.data), n.draggableRow && g.value.length) {
        const V = m.value[0].defaultSlot;
        m.value[0].defaultSlot = (z) => {
          const {
            row: B
          } = z;
          return y(ft, null, {
            default: () => {
              var F;
              return [V ? V(z) : y("span", null, [(F = m.value[0]) != null && F.prop ? B[m.value[0].prop] : ""])];
            }
          });
        };
      }
    }), ie(() => {
      n.adaptive && A(), n.draggableCol && J(), n.draggableRow && D();
    });
    function E(V) {
      return {
        ...l,
        ...V
      };
    }
    function w(V, z) {
      const B = Math.random().toString(36).slice(2);
      return V && z.length && !z[0].id && (z.forEach((F, I) => {
        F.id = B + "-" + I;
      }), b.value = "id"), z;
    }
    async function A() {
      if (await ue(), n.adaptive) {
        let V = 50;
        typeof n.adaptive == "number" && (V = n.adaptive);
        const z = window.innerHeight - s.value.$el.getBoundingClientRect().top - V;
        s.value.style.height = z + "px";
      }
    }
    const Y = $e(A, 200);
    Te(s, Y);
    function J() {
      ue(() => {
        const V = s.value.$el.querySelector(".el-table__header-wrapper tr");
        Me.create(V, {
          delay: 0,
          animation: 300,
          onEnd: ({
            newIndex: z,
            oldIndex: B
          }) => {
            if (z && B) {
              const F = m.value.splice(B, 1)[0];
              m.value.splice(z, 0, F), a("drag-col-change", m.value);
            }
          }
        });
      });
    }
    function D() {
      ue(() => {
        const V = s.value.$el.querySelector(".el-table__body-wrapper tbody");
        Me.create(V, {
          delay: 0,
          handle: ".drag-btn",
          animation: 300,
          onEnd: ({
            newIndex: z,
            oldIndex: B
          }) => {
            if (z && B) {
              const F = g.value.splice(B, 1)[0];
              g.value.splice(z, 0, F), a("drag-row-change", g.value);
            }
          }
        });
      });
    }
    return (V, z) => {
      const B = x("el-table"), F = x("el-pagination"), I = Rt("loading");
      return h(), k(O, null, [Ae((h(), S(B, L(n, ae(f(r)), {
        style: {
          width: "100%"
        },
        ref_key: "tableRef",
        ref: s,
        data: f(g)
      }), {
        append: v(() => [X(V.$slots, "append")]),
        empty: v(() => [X(V.$slots, "empty")]),
        default: v(() => [(h(!0), k(O, null, U(V.columns, (R, pe) => (h(), S(So, L(E(R), {
          key: R.id || pe
        }), null, 16))), 128)), X(V.$slots, "default")]),
        _: 3
      }, 16, ["data"])), [[I, V.loading]]), X(V.$slots, "footer", {}, () => [("isDefined" in V ? V.isDefined : f(Mt))(V.pagination) ? (h(), k("div", {
        key: 0,
        class: W(["p-2 flex", f(_)])
      }, [y(F, L(V.pagination, ae(f(d))), ke({
        _: 2
      }, [V.pagination.defaultSlot ? {
        name: "default",
        fn: v((R) => [(h(), S(K(V.pagination.defaultSlot), q(Q(R)), null, 16))]),
        key: "0"
      } : void 0]), 1040)], 2)) : P("", !0)])], 64);
    };
  }
});
function pa(e) {
  const t = M(0), o = M(0), l = M([]), n = (i, u) => {
    let r;
    do
      r = Math.floor(Math.random() * u);
    while (r === i);
    return r;
  };
  return {
    current: t,
    mode: o,
    handlePrev: () => {
      if (o.value === 0 && (t.value = t.value - 1 < 0 ? 0 : t.value - 1), o.value === 1 && (t.value = t.value - 1 < 0 ? e.length - 1 : t.value - 1), o.value === 3)
        if (l.value.length) {
          const i = l.value.pop();
          i === t.value ? l.value.length ? t.value = l.value.pop() : t.value = n(i, e.length) : t.value = i;
        } else
          t.value = n(t.value, e.length);
    },
    handleNext: () => {
      o.value === 0 && (t.value = t.value + 1 >= e.length ? e.length - 1 : t.value + 1), o.value === 1 && (t.value = (t.value + 1) % e.length), o.value === 3 && (l.value.length === 0 && l.value.push(t.value), t.value = n(t.value, e.length), l.value.push(t.value));
    },
    handleMode: (i) => {
      o.value = i, o.value === 3 ? l.value.push(t.value) : l.value = [];
    }
  };
}
function ma() {
  function e(n, s) {
    const a = Math.random().toString(36).slice(2);
    return n && s.length && !s[0].id && s.forEach((c, i) => {
      c.id = a + "-" + i;
    }), s;
  }
  function t(n, s = ".el-table__header-wrapper tr", a) {
    ue(() => {
      const c = n.querySelector(s);
      Me.create(c, {
        delay: 0,
        animation: 300,
        onEnd: (...i) => {
          a && a(i);
        }
      });
    });
  }
  function o(n, s = ".el-table__body-wrapper tbody", a) {
    ue(() => {
      const c = n.querySelector(s);
      Me.create(c, {
        delay: 0,
        handle: ".drag-btn",
        animation: 300,
        onEnd: (...i) => {
          a && a(i);
        }
      });
    });
  }
  function l(n) {
    const s = n[0].defaultSlot;
    n[0].defaultSlot = (a) => Le(
      ft,
      {
        props: a
      },
      {
        default: () => {
          var i;
          const { row: c } = a;
          return s ? s(a) : Le("span", { props: a }, (i = n[0]) != null && i.prop ? c[n[0].prop] : "");
        }
      }
    );
  }
  return {
    addId: e,
    columnDrop: t,
    rowDrop: o,
    setColumn: l
  };
}
const ha = {
  install(e) {
    e.component("VpAvatarList", an), e.component("VpAvatarMenu", Ut), e.component("VpCharts", un), e.component("VpVueEcharts", dn), e.component("VpDescription", pl), e.component("VpEditor", ml), e.component("VpForm", vl), e.component("VpFormItem", Be), e.component("VpFormLayout", ro), e.component("VpLoginForm", bl), e.component("VpIconList", io), e.component("VpIconPicker", Dl), e.component("VpIconfontIcon", Fl), e.component("VpIconify", Z), e.component("VpNetIcon", uo), e.component("VpSvgIcon", Rl), e.component("VpHeader", is), e.component("VpHeaderTabs", ds), e.component("VpDropDown", ut), e.component("VpMenu", ps), e.component("VpMenuItem", yo), e.component("VpSubMenu", _o), e.component("VpNotice", xs), e.component("VpNoticeMessageList", bo), e.component("VpNotification", wo), e.component("VpAudioPlayer", Js), e.component("VpVideoPlayer", Qs), e.component("VpProgressBar", ko), e.component("VpDragIcon", ft), e.component("VpTable", ea), e.component("VpTableColumn", So), e.component("VpBreadcrumb", fo), e.component("VpChangeLocale", ho), e.component("VpDarkModeToggle", po), e.component("VpFullScreen", mo), e.component("VpThemeSettings", vo), e.component("VpCollapseTransition", Ht);
  }
};
export {
  da as I18nModule,
  Js as VpAudioPlayer,
  an as VpAvatarList,
  Ut as VpAvatarMenu,
  fo as VpBreadcrumb,
  ho as VpChangeLocale,
  un as VpCharts,
  Ht as VpCollapseTransition,
  po as VpDarkModeToggle,
  pl as VpDescription,
  Ho as VpDirectiveCopy,
  qo as VpDirectiveDebounce,
  Xo as VpDirectiveDraggable,
  Go as VpDirectiveFlash,
  Qo as VpDirectiveLongPress,
  Zo as VpDirectiveScrollText,
  en as VpDirectiveThrottle,
  nn as VpDirectiveWaterMarker,
  ft as VpDragIcon,
  ut as VpDropDown,
  ml as VpEditor,
  vl as VpForm,
  Be as VpFormItem,
  ro as VpFormLayout,
  mo as VpFullScreen,
  is as VpHeader,
  ds as VpHeaderTabs,
  io as VpIconList,
  Dl as VpIconPicker,
  Fl as VpIconfontIcon,
  Z as VpIconify,
  bl as VpLoginForm,
  ps as VpMenu,
  yo as VpMenuItem,
  uo as VpNetIcon,
  xs as VpNotice,
  bo as VpNoticeMessageList,
  wo as VpNotification,
  ko as VpProgressBar,
  _o as VpSubMenu,
  Rl as VpSvgIcon,
  ea as VpTable,
  So as VpTableColumn,
  vo as VpThemeSettings,
  Qs as VpVideoPlayer,
  dn as VpVueEcharts,
  ha as default,
  ha as globalPlugin,
  fa as setupDirectives,
  pa as useAudioPlayer,
  ma as useDrag,
  gl as useForm,
  dt as useMenu
};
//# sourceMappingURL=el-admin-components.es.js.map
