UNPKG

vue-echarts-linkage

Version:
7,773 lines 286 kB
var Fa = Object.defineProperty;
var Ha = (e, t, n) => t in e ? Fa(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
var j = (e, t, n) => Ha(e, typeof t != "symbol" ? t + "" : t, n);
import { getCurrentInstance as tt, inject as ve, ref as K, computed as O, unref as f, isRef as Po, warn as Ga, defineComponent as Q, createElementBlock as Z, openBlock as N, mergeProps as ht, renderSlot as ie, onMounted as Te, watch as re, toRef as ft, onUnmounted as Va, shallowRef as pn, nextTick as ae, useAttrs as Ua, useSlots as No, normalizeStyle as Ze, normalizeClass as te, createCommentVNode as ce, Fragment as Ke, createElementVNode as pe, createBlock as he, withCtx as ne, resolveDynamicComponent as xt, withModifiers as vs, createVNode as ye, toDisplayString as je, provide as nt, onBeforeUnmount as Fe, withDirectives as Tn, cloneVNode as ja, Text as ms, Comment as Ka, Teleport as qa, onBeforeMount as ys, Transition as bs, vShow as Ro, readonly as Xa, onDeactivated as Wa, reactive as yn, h as Ya, watchEffect as xs, onScopeDispose as Ja, createSlots as Za, createTextVNode as Kt, isReactive as Qa, isProxy as ei, toRaw as ti, renderList as Wt } from "vue";
import { ElMessage as lo } from "element-plus";
import * as Oe from "echarts/core";
import { BarChart as ni, LineChart as oi } from "echarts/charts";
import { CanvasRenderer as ri } from "echarts/renderers";
import { TooltipComponent as si, LegendComponent as ai, ToolboxComponent as ii, DataZoomComponent as li, VisualMapComponent as ci, GridComponent as ui, GraphicComponent as di, MarkLineComponent as fi } from "echarts/components";
import { isClient as Ee, computedEager as pi, useEventListener as ln, useResizeObserver as hi, unrefElement as ws, tryOnScopeDispose as gi, onClickOutside as vi, useTimeoutFn as mr, useDebounceFn as wo } from "@vueuse/core";
import mi from "html2canvas";
import { VueDraggable as yi } from "vue-draggable-plus";
import { CircleClose as Es, CircleCheck as bi, Loading as Ss, Close as xi, View as wi, Hide as Ei } from "@element-plus/icons-vue";
import { utils as cn, writeFileXLSX as Si } from "xlsx";
import Ai from "vue3-infinite-scroll-better";
const Ci = Symbol(), $n = "el", Ti = "is-", _t = (e, t, n, o, r) => {
  let a = `${e}-${t}`;
  return n && (a += `-${n}`), o && (a += `__${o}`), r && (a += `--${r}`), a;
}, Oi = Symbol("namespaceContextKey"), Bo = (e) => {
  const t = tt() ? ve(Oi, K($n)) : K($n);
  return O(() => f(t) || $n);
}, Ce = (e, t) => {
  const n = Bo();
  return {
    namespace: n,
    b: (v = "") => _t(n.value, e, v, "", ""),
    e: (v) => v ? _t(n.value, e, "", v, "") : "",
    m: (v) => v ? _t(n.value, e, "", "", v) : "",
    be: (v, x) => v && x ? _t(n.value, e, v, x, "") : "",
    em: (v, x) => v && x ? _t(n.value, e, "", v, x) : "",
    bm: (v, x) => v && x ? _t(n.value, e, v, "", x) : "",
    bem: (v, x, E) => v && x && E ? _t(n.value, e, v, x, E) : "",
    is: (v, ...x) => {
      const E = x.length >= 1 ? x[0] : !0;
      return v && E ? `${Ti}${v}` : "";
    },
    cssVar: (v) => {
      const x = {};
      for (const E in v)
        v[E] && (x[`--${n.value}-${E}`] = v[E]);
      return x;
    },
    cssVarName: (v) => `--${n.value}-${v}`,
    cssVarBlock: (v) => {
      const x = {};
      for (const E in v)
        v[E] && (x[`--${n.value}-${e}-${E}`] = v[E]);
      return x;
    },
    cssVarBlockName: (v) => `--${n.value}-${e}-${v}`
  };
};
/**
* @vue/shared v3.5.13
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
process.env.NODE_ENV !== "production" && Object.freeze({});
process.env.NODE_ENV !== "production" && Object.freeze([]);
const St = () => {
}, Ii = Object.prototype.hasOwnProperty, yr = (e, t) => Ii.call(e, t), ki = Array.isArray, wt = (e) => typeof e == "function", Pt = (e) => typeof e == "string", bn = (e) => e !== null && typeof e == "object", _i = (e) => {
  const t = /* @__PURE__ */ Object.create(null);
  return (n) => t[n] || (t[n] = e(n));
}, Mi = /-(\w)/g, Di = _i(
  (e) => e.replace(Mi, (t, n) => n ? n.toUpperCase() : "")
);
var Li = typeof global == "object" && global && global.Object === Object && global, Pi = typeof self == "object" && self && self.Object === Object && self, Wn = Li || Pi || Function("return this")(), Ct = Wn.Symbol, As = Object.prototype, Ni = As.hasOwnProperty, Ri = As.toString, un = Ct ? Ct.toStringTag : void 0;
function Bi(e) {
  var t = Ni.call(e, un), n = e[un];
  try {
    e[un] = void 0;
    var o = !0;
  } catch {
  }
  var r = Ri.call(e);
  return o && (t ? e[un] = n : delete e[un]), r;
}
var zi = Object.prototype, $i = zi.toString;
function Fi(e) {
  return $i.call(e);
}
var Hi = "[object Null]", Gi = "[object Undefined]", br = Ct ? Ct.toStringTag : void 0;
function zo(e) {
  return e == null ? e === void 0 ? Gi : Hi : br && br in Object(e) ? Bi(e) : Fi(e);
}
function $o(e) {
  return e != null && typeof e == "object";
}
var Vi = "[object Symbol]";
function Yn(e) {
  return typeof e == "symbol" || $o(e) && zo(e) == Vi;
}
function Ui(e, t) {
  for (var n = -1, o = e == null ? 0 : e.length, r = Array(o); ++n < o; )
    r[n] = t(e[n], n, e);
  return r;
}
var On = Array.isArray, xr = Ct ? Ct.prototype : void 0, wr = xr ? xr.toString : void 0;
function Cs(e) {
  if (typeof e == "string")
    return e;
  if (On(e))
    return Ui(e, Cs) + "";
  if (Yn(e))
    return wr ? wr.call(e) : "";
  var t = e + "";
  return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
}
var ji = /\s/;
function Ki(e) {
  for (var t = e.length; t-- && ji.test(e.charAt(t)); )
    ;
  return t;
}
var qi = /^\s+/;
function Xi(e) {
  return e && e.slice(0, Ki(e) + 1).replace(qi, "");
}
function Tt(e) {
  var t = typeof e;
  return e != null && (t == "object" || t == "function");
}
var Er = NaN, Wi = /^[-+]0x[0-9a-f]+$/i, Yi = /^0b[01]+$/i, Ji = /^0o[0-7]+$/i, Zi = parseInt;
function Sr(e) {
  if (typeof e == "number")
    return e;
  if (Yn(e))
    return Er;
  if (Tt(e)) {
    var t = typeof e.valueOf == "function" ? e.valueOf() : e;
    e = Tt(t) ? t + "" : t;
  }
  if (typeof e != "string")
    return e === 0 ? e : +e;
  e = Xi(e);
  var n = Yi.test(e);
  return n || Ji.test(e) ? Zi(e.slice(2), n ? 2 : 8) : Wi.test(e) ? Er : +e;
}
function Qi(e) {
  return e;
}
var el = "[object AsyncFunction]", tl = "[object Function]", nl = "[object GeneratorFunction]", ol = "[object Proxy]";
function rl(e) {
  if (!Tt(e))
    return !1;
  var t = zo(e);
  return t == tl || t == nl || t == el || t == ol;
}
var co = Wn["__core-js_shared__"], Ar = function() {
  var e = /[^.]+$/.exec(co && co.keys && co.keys.IE_PROTO || "");
  return e ? "Symbol(src)_1." + e : "";
}();
function sl(e) {
  return !!Ar && Ar in e;
}
var al = Function.prototype, il = al.toString;
function ll(e) {
  if (e != null) {
    try {
      return il.call(e);
    } catch {
    }
    try {
      return e + "";
    } catch {
    }
  }
  return "";
}
var cl = /[\\^$.*+?()[\]{}|]/g, ul = /^\[object .+?Constructor\]$/, dl = Function.prototype, fl = Object.prototype, pl = dl.toString, hl = fl.hasOwnProperty, gl = RegExp(
  "^" + pl.call(hl).replace(cl, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function vl(e) {
  if (!Tt(e) || sl(e))
    return !1;
  var t = rl(e) ? gl : ul;
  return t.test(ll(e));
}
function ml(e, t) {
  return e == null ? void 0 : e[t];
}
function Fo(e, t) {
  var n = ml(e, t);
  return vl(n) ? n : void 0;
}
function yl(e, t, n) {
  switch (n.length) {
    case 0:
      return e.call(t);
    case 1:
      return e.call(t, n[0]);
    case 2:
      return e.call(t, n[0], n[1]);
    case 3:
      return e.call(t, n[0], n[1], n[2]);
  }
  return e.apply(t, n);
}
var bl = 800, xl = 16, wl = Date.now;
function El(e) {
  var t = 0, n = 0;
  return function() {
    var o = wl(), r = xl - (o - n);
    if (n = o, r > 0) {
      if (++t >= bl)
        return arguments[0];
    } else
      t = 0;
    return e.apply(void 0, arguments);
  };
}
function Sl(e) {
  return function() {
    return e;
  };
}
var Vn = function() {
  try {
    var e = Fo(Object, "defineProperty");
    return e({}, "", {}), e;
  } catch {
  }
}(), Al = Vn ? function(e, t) {
  return Vn(e, "toString", {
    configurable: !0,
    enumerable: !1,
    value: Sl(t),
    writable: !0
  });
} : Qi, Cl = El(Al), Tl = 9007199254740991, Ol = /^(?:0|[1-9]\d*)$/;
function Ts(e, t) {
  var n = typeof e;
  return t = t ?? Tl, !!t && (n == "number" || n != "symbol" && Ol.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
function Il(e, t, n) {
  t == "__proto__" && Vn ? Vn(e, t, {
    configurable: !0,
    enumerable: !0,
    value: n,
    writable: !0
  }) : e[t] = n;
}
function Os(e, t) {
  return e === t || e !== e && t !== t;
}
var kl = Object.prototype, _l = kl.hasOwnProperty;
function Ml(e, t, n) {
  var o = e[t];
  (!(_l.call(e, t) && Os(o, n)) || n === void 0 && !(t in e)) && Il(e, t, n);
}
var Cr = Math.max;
function Dl(e, t, n) {
  return t = Cr(t === void 0 ? e.length - 1 : t, 0), function() {
    for (var o = arguments, r = -1, a = Cr(o.length - t, 0), s = Array(a); ++r < a; )
      s[r] = o[t + r];
    r = -1;
    for (var i = Array(t + 1); ++r < t; )
      i[r] = o[r];
    return i[t] = n(s), yl(e, this, i);
  };
}
var Ll = 9007199254740991;
function Pl(e) {
  return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Ll;
}
var Nl = "[object Arguments]";
function Tr(e) {
  return $o(e) && zo(e) == Nl;
}
var Is = Object.prototype, Rl = Is.hasOwnProperty, Bl = Is.propertyIsEnumerable, ks = Tr(/* @__PURE__ */ function() {
  return arguments;
}()) ? Tr : function(e) {
  return $o(e) && Rl.call(e, "callee") && !Bl.call(e, "callee");
}, zl = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, $l = /^\w*$/;
function Fl(e, t) {
  if (On(e))
    return !1;
  var n = typeof e;
  return n == "number" || n == "symbol" || n == "boolean" || e == null || Yn(e) ? !0 : $l.test(e) || !zl.test(e) || t != null && e in Object(t);
}
var xn = Fo(Object, "create");
function Hl() {
  this.__data__ = xn ? xn(null) : {}, this.size = 0;
}
function Gl(e) {
  var t = this.has(e) && delete this.__data__[e];
  return this.size -= t ? 1 : 0, t;
}
var Vl = "__lodash_hash_undefined__", Ul = Object.prototype, jl = Ul.hasOwnProperty;
function Kl(e) {
  var t = this.__data__;
  if (xn) {
    var n = t[e];
    return n === Vl ? void 0 : n;
  }
  return jl.call(t, e) ? t[e] : void 0;
}
var ql = Object.prototype, Xl = ql.hasOwnProperty;
function Wl(e) {
  var t = this.__data__;
  return xn ? t[e] !== void 0 : Xl.call(t, e);
}
var Yl = "__lodash_hash_undefined__";
function Jl(e, t) {
  var n = this.__data__;
  return this.size += this.has(e) ? 0 : 1, n[e] = xn && t === void 0 ? Yl : t, this;
}
function Rt(e) {
  var t = -1, n = e == null ? 0 : e.length;
  for (this.clear(); ++t < n; ) {
    var o = e[t];
    this.set(o[0], o[1]);
  }
}
Rt.prototype.clear = Hl;
Rt.prototype.delete = Gl;
Rt.prototype.get = Kl;
Rt.prototype.has = Wl;
Rt.prototype.set = Jl;
function Zl() {
  this.__data__ = [], this.size = 0;
}
function Jn(e, t) {
  for (var n = e.length; n--; )
    if (Os(e[n][0], t))
      return n;
  return -1;
}
var Ql = Array.prototype, ec = Ql.splice;
function tc(e) {
  var t = this.__data__, n = Jn(t, e);
  if (n < 0)
    return !1;
  var o = t.length - 1;
  return n == o ? t.pop() : ec.call(t, n, 1), --this.size, !0;
}
function nc(e) {
  var t = this.__data__, n = Jn(t, e);
  return n < 0 ? void 0 : t[n][1];
}
function oc(e) {
  return Jn(this.__data__, e) > -1;
}
function rc(e, t) {
  var n = this.__data__, o = Jn(n, e);
  return o < 0 ? (++this.size, n.push([e, t])) : n[o][1] = t, this;
}
function sn(e) {
  var t = -1, n = e == null ? 0 : e.length;
  for (this.clear(); ++t < n; ) {
    var o = e[t];
    this.set(o[0], o[1]);
  }
}
sn.prototype.clear = Zl;
sn.prototype.delete = tc;
sn.prototype.get = nc;
sn.prototype.has = oc;
sn.prototype.set = rc;
var sc = Fo(Wn, "Map");
function ac() {
  this.size = 0, this.__data__ = {
    hash: new Rt(),
    map: new (sc || sn)(),
    string: new Rt()
  };
}
function ic(e) {
  var t = typeof e;
  return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
function Zn(e, t) {
  var n = e.__data__;
  return ic(t) ? n[typeof t == "string" ? "string" : "hash"] : n.map;
}
function lc(e) {
  var t = Zn(this, e).delete(e);
  return this.size -= t ? 1 : 0, t;
}
function cc(e) {
  return Zn(this, e).get(e);
}
function uc(e) {
  return Zn(this, e).has(e);
}
function dc(e, t) {
  var n = Zn(this, e), o = n.size;
  return n.set(e, t), this.size += n.size == o ? 0 : 1, this;
}
function zt(e) {
  var t = -1, n = e == null ? 0 : e.length;
  for (this.clear(); ++t < n; ) {
    var o = e[t];
    this.set(o[0], o[1]);
  }
}
zt.prototype.clear = ac;
zt.prototype.delete = lc;
zt.prototype.get = cc;
zt.prototype.has = uc;
zt.prototype.set = dc;
var fc = "Expected a function";
function Ho(e, t) {
  if (typeof e != "function" || t != null && typeof t != "function")
    throw new TypeError(fc);
  var n = function() {
    var o = arguments, r = t ? t.apply(this, o) : o[0], a = n.cache;
    if (a.has(r))
      return a.get(r);
    var s = e.apply(this, o);
    return n.cache = a.set(r, s) || a, s;
  };
  return n.cache = new (Ho.Cache || zt)(), n;
}
Ho.Cache = zt;
var pc = 500;
function hc(e) {
  var t = Ho(e, function(o) {
    return n.size === pc && n.clear(), o;
  }), n = t.cache;
  return t;
}
var gc = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, vc = /\\(\\)?/g, mc = hc(function(e) {
  var t = [];
  return e.charCodeAt(0) === 46 && t.push(""), e.replace(gc, function(n, o, r, a) {
    t.push(r ? a.replace(vc, "$1") : o || n);
  }), t;
});
function yc(e) {
  return e == null ? "" : Cs(e);
}
function Qn(e, t) {
  return On(e) ? e : Fl(e, t) ? [e] : mc(yc(e));
}
function Go(e) {
  if (typeof e == "string" || Yn(e))
    return e;
  var t = e + "";
  return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
}
function _s(e, t) {
  t = Qn(t, e);
  for (var n = 0, o = t.length; e != null && n < o; )
    e = e[Go(t[n++])];
  return n && n == o ? e : void 0;
}
function bc(e, t, n) {
  var o = e == null ? void 0 : _s(e, t);
  return o === void 0 ? n : o;
}
function xc(e, t) {
  for (var n = -1, o = t.length, r = e.length; ++n < o; )
    e[r + n] = t[n];
  return e;
}
var Or = Ct ? Ct.isConcatSpreadable : void 0;
function wc(e) {
  return On(e) || ks(e) || !!(Or && e && e[Or]);
}
function Ec(e, t, n, o, r) {
  var a = -1, s = e.length;
  for (n || (n = wc), r || (r = []); ++a < s; ) {
    var i = e[a];
    n(i) ? xc(r, i) : r[r.length] = i;
  }
  return r;
}
function Sc(e) {
  var t = e == null ? 0 : e.length;
  return t ? Ec(e) : [];
}
function Ac(e) {
  return Cl(Dl(e, void 0, Sc), e + "");
}
function Cc(e, t) {
  return e != null && t in Object(e);
}
function Tc(e, t, n) {
  t = Qn(t, e);
  for (var o = -1, r = t.length, a = !1; ++o < r; ) {
    var s = Go(t[o]);
    if (!(a = e != null && n(e, s)))
      break;
    e = e[s];
  }
  return a || ++o != r ? a : (r = e == null ? 0 : e.length, !!r && Pl(r) && Ts(s, r) && (On(e) || ks(e)));
}
function Oc(e, t) {
  return e != null && Tc(e, t, Cc);
}
var uo = function() {
  return Wn.Date.now();
}, Ic = "Expected a function", kc = Math.max, _c = Math.min;
function Mc(e, t, n) {
  var o, r, a, s, i, l, c = 0, p = !1, h = !1, b = !0;
  if (typeof e != "function")
    throw new TypeError(Ic);
  t = Sr(t) || 0, Tt(n) && (p = !!n.leading, h = "maxWait" in n, a = h ? kc(Sr(n.maxWait) || 0, t) : a, b = "trailing" in n ? !!n.trailing : b);
  function g(D) {
    var M = o, F = r;
    return o = r = void 0, c = D, s = e.apply(F, M), s;
  }
  function d(D) {
    return c = D, i = setTimeout(E, t), p ? g(D) : s;
  }
  function v(D) {
    var M = D - l, F = D - c, J = t - M;
    return h ? _c(J, a - F) : J;
  }
  function x(D) {
    var M = D - l, F = D - c;
    return l === void 0 || M >= t || M < 0 || h && F >= a;
  }
  function E() {
    var D = uo();
    if (x(D))
      return k(D);
    i = setTimeout(E, v(D));
  }
  function k(D) {
    return i = void 0, b && o ? g(D) : (o = r = void 0, s);
  }
  function G() {
    i !== void 0 && clearTimeout(i), c = 0, o = l = r = i = void 0;
  }
  function _() {
    return i === void 0 ? s : k(uo());
  }
  function V() {
    var D = uo(), M = x(D);
    if (o = arguments, r = this, l = D, M) {
      if (i === void 0)
        return d(l);
      if (h)
        return clearTimeout(i), i = setTimeout(E, t), g(l);
    }
    return i === void 0 && (i = setTimeout(E, t)), s;
  }
  return V.cancel = G, V.flush = _, V;
}
function Un(e) {
  for (var t = -1, n = e == null ? 0 : e.length, o = {}; ++t < n; ) {
    var r = e[t];
    o[r[0]] = r[1];
  }
  return o;
}
function eo(e) {
  return e == null;
}
function Ms(e) {
  return e === void 0;
}
function Dc(e, t, n, o) {
  if (!Tt(e))
    return e;
  t = Qn(t, e);
  for (var r = -1, a = t.length, s = a - 1, i = e; i != null && ++r < a; ) {
    var l = Go(t[r]), c = n;
    if (l === "__proto__" || l === "constructor" || l === "prototype")
      return e;
    if (r != s) {
      var p = i[l];
      c = void 0, c === void 0 && (c = Tt(p) ? p : Ts(t[r + 1]) ? [] : {});
    }
    Ml(i, l, c), i = i[l];
  }
  return e;
}
function Lc(e, t, n) {
  for (var o = -1, r = t.length, a = {}; ++o < r; ) {
    var s = t[o], i = _s(e, s);
    n(i, s) && Dc(a, Qn(s, e), i);
  }
  return a;
}
function Pc(e, t) {
  return Lc(e, t, function(n, o) {
    return Oc(e, o);
  });
}
var Nc = Ac(function(e, t) {
  return e == null ? {} : Pc(e, t);
}), Rc = "Expected a function";
function Ir(e, t, n) {
  var o = !0, r = !0;
  if (typeof e != "function")
    throw new TypeError(Rc);
  return Tt(n) && (o = "leading" in n ? !!n.leading : o, r = "trailing" in n ? !!n.trailing : r), Mc(e, t, {
    leading: o,
    maxWait: t,
    trailing: r
  });
}
const Bc = (e) => e === void 0, to = (e) => typeof e == "boolean", Bt = (e) => typeof e == "number", At = (e) => typeof Element > "u" ? !1 : e instanceof Element, zc = (e) => Pt(e) ? !Number.isNaN(Number(e)) : !1;
class Ds extends Error {
  constructor(t) {
    super(t), this.name = "ElementPlusError";
  }
}
function Ls(e, t) {
  throw new Ds(`[${e}] ${t}`);
}
function Qe(e, t) {
  if (process.env.NODE_ENV !== "production") {
    const n = Pt(e) ? new Ds(`[${e}] ${t}`) : e;
    console.warn(n);
  }
}
const kr = {
  current: 0
}, _r = K(0), $c = 2e3, Mr = Symbol("elZIndexContextKey"), Fc = Symbol("zIndexContextKey"), Ps = (e) => {
  const t = tt() ? ve(Mr, kr) : kr, n = tt() ? ve(Fc, void 0) : void 0, o = O(() => {
    const s = f(n);
    return Bt(s) ? s : $c;
  }), r = O(() => o.value + _r.value), a = () => (t.current++, _r.value = t.current, r.value);
  return !Ee && !ve(Mr) && Qe("ZIndexInjection", `Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed
usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
    initialZIndex: o,
    currentZIndex: r,
    nextZIndex: a
  };
};
var Hc = {
  name: "en",
  el: {
    breadcrumb: {
      label: "Breadcrumb"
    },
    colorpicker: {
      confirm: "OK",
      clear: "Clear",
      defaultLabel: "color picker",
      description: "current color is {color}. press enter to select a new color.",
      alphaLabel: "pick alpha value"
    },
    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"
    },
    mention: {
      loading: "Loading"
    },
    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"
    },
    tour: {
      next: "Next",
      previous: "Previous",
      finish: "Finish"
    },
    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"
    },
    carousel: {
      leftArrow: "Carousel arrow left",
      rightArrow: "Carousel arrow right",
      indicator: "Carousel switch to index {index}"
    }
  }
};
const Gc = (e) => (t, n) => Vc(t, n, f(e)), Vc = (e, t, n) => bc(n, e, e).replace(/\{(\w+)\}/g, (o, r) => {
  var a;
  return `${(a = t == null ? void 0 : t[r]) != null ? a : `{${r}}`}`;
}), Uc = (e) => {
  const t = O(() => f(e).name), n = Po(e) ? e : K(e);
  return {
    lang: t,
    locale: n,
    t: Gc(e)
  };
}, jc = Symbol("localeContextKey"), Kc = (e) => {
  const t = ve(jc, K());
  return Uc(O(() => t.value || Hc));
}, Ns = "__epPropKey", W = (e) => e, qc = (e) => bn(e) && !!e[Ns], no = (e, t) => {
  if (!bn(e) || qc(e))
    return e;
  const { values: n, required: o, default: r, type: a, validator: s } = e, l = {
    type: a,
    required: !!o,
    validator: n || s ? (c) => {
      let p = !1, h = [];
      if (n && (h = Array.from(n), yr(e, "default") && h.push(r), p || (p = h.includes(c))), s && (p || (p = s(c))), !p && h.length > 0) {
        const b = [...new Set(h)].map((g) => JSON.stringify(g)).join(", ");
        Ga(`Invalid prop: validation failed${t ? ` for prop "${t}"` : ""}. Expected one of [${b}], got value ${JSON.stringify(c)}.`);
      }
      return p;
    } : void 0,
    [Ns]: !0
  };
  return yr(e, "default") && (l.default = r), l;
}, me = (e) => Un(Object.entries(e).map(([t, n]) => [
  t,
  no(n, t)
])), Xc = ["", "default", "small", "large"], Rs = no({
  type: String,
  values: Xc,
  required: !1
}), Wc = Symbol("size"), Yc = () => {
  const e = ve(Wc, {});
  return O(() => f(e.size) || "");
}, Dr = K();
function Bs(e, t = void 0) {
  const n = tt() ? ve(Ci, Dr) : Dr;
  return e ? O(() => {
    var o, r;
    return (r = (o = n.value) == null ? void 0 : o[e]) != null ? r : t;
  }) : n;
}
const wn = "update:modelValue", Lr = "change", Pr = "input";
var be = (e, t) => {
  const n = e.__vccOpts || e;
  for (const [o, r] of t)
    n[o] = r;
  return n;
};
const Jc = "utils/dom/style", zs = (e = "") => e.split(" ").filter((t) => !!t.trim()), Nr = (e, t) => {
  if (!e || !t)
    return !1;
  if (t.includes(" "))
    throw new Error("className should not contain space.");
  return e.classList.contains(t);
}, Zc = (e, t) => {
  !e || !t.trim() || e.classList.add(...zs(t));
}, Qc = (e, t) => {
  !e || !t.trim() || e.classList.remove(...zs(t));
}, $s = (e, t) => {
  var n;
  if (!Ee || !e || !t)
    return "";
  let o = Di(t);
  o === "float" && (o = "cssFloat");
  try {
    const r = e.style[o];
    if (r)
      return r;
    const a = (n = document.defaultView) == null ? void 0 : n.getComputedStyle(e, "");
    return a ? a[o] : "";
  } catch {
    return e.style[o];
  }
};
function En(e, t = "px") {
  if (!e)
    return "";
  if (Bt(e) || zc(e))
    return `${e}${t}`;
  if (Pt(e))
    return e;
  Qe(Jc, "binding value must be a string or number");
}
const eu = (e, t) => {
  if (!Ee)
    return !1;
  const n = {
    undefined: "overflow",
    true: "overflow-y",
    false: "overflow-x"
  }[String(t)], o = $s(e, n);
  return ["scroll", "auto", "overlay"].some((r) => o.includes(r));
}, tu = (e, t) => {
  if (!Ee)
    return;
  let n = e;
  for (; n; ) {
    if ([window, document, document.documentElement].includes(n))
      return window;
    if (eu(n, t))
      return n;
    n = n.parentNode;
  }
  return n;
};
let Dn;
const nu = (e) => {
  var t;
  if (!Ee)
    return 0;
  if (Dn !== void 0)
    return Dn;
  const n = document.createElement("div");
  n.className = `${e}-scrollbar__wrap`, n.style.visibility = "hidden", n.style.width = "100px", n.style.position = "absolute", n.style.top = "-9999px", document.body.appendChild(n);
  const o = n.offsetWidth;
  n.style.overflow = "scroll";
  const r = document.createElement("div");
  r.style.width = "100%", n.appendChild(r);
  const a = r.offsetWidth;
  return (t = n.parentNode) == null || t.removeChild(n), Dn = o - a, Dn;
}, vt = (e, t) => {
  if (e.install = (n) => {
    for (const o of [e, ...Object.values(t ?? {})])
      n.component(o.name, o);
  }, t)
    for (const [n, o] of Object.entries(t))
      e[n] = o;
  return e;
}, ou = (e, t) => (e.install = (n) => {
  n.directive(t, e);
}, e), ru = (e) => (e.install = St, e), su = me({
  size: {
    type: W([Number, String])
  },
  color: {
    type: String
  }
}), au = Q({
  name: "ElIcon",
  inheritAttrs: !1
}), iu = /* @__PURE__ */ Q({
  ...au,
  props: su,
  setup(e) {
    const t = e, n = Ce("icon"), o = O(() => {
      const { size: r, color: a } = t;
      return !r && !a ? {} : {
        fontSize: Bc(r) ? void 0 : En(r),
        "--color": a
      };
    });
    return (r, a) => (N(), Z("i", ht({
      class: f(n).b(),
      style: f(o)
    }, r.$attrs), [
      ie(r.$slots, "default")
    ], 16));
  }
});
var lu = /* @__PURE__ */ be(iu, [["__file", "icon.vue"]]);
const bt = vt(lu), Qt = W([
  String,
  Object,
  Function
]), cu = {
  Close: xi
}, uu = {
  validating: Ss,
  success: bi,
  error: Es
}, du = () => Ee && /firefox/i.test(window.navigator.userAgent);
let Ie;
const fu = {
  height: "0",
  visibility: "hidden",
  overflow: du() ? "" : "hidden",
  position: "absolute",
  "z-index": "-1000",
  top: "0",
  right: "0"
}, pu = [
  "letter-spacing",
  "line-height",
  "padding-top",
  "padding-bottom",
  "font-family",
  "font-weight",
  "font-size",
  "text-rendering",
  "text-transform",
  "width",
  "text-indent",
  "padding-left",
  "padding-right",
  "border-width",
  "box-sizing"
];
function hu(e) {
  const t = window.getComputedStyle(e), n = t.getPropertyValue("box-sizing"), o = Number.parseFloat(t.getPropertyValue("padding-bottom")) + Number.parseFloat(t.getPropertyValue("padding-top")), r = Number.parseFloat(t.getPropertyValue("border-bottom-width")) + Number.parseFloat(t.getPropertyValue("border-top-width"));
  return { contextStyle: pu.map((s) => [
    s,
    t.getPropertyValue(s)
  ]), paddingSize: o, borderSize: r, boxSizing: n };
}
function Rr(e, t = 1, n) {
  var o;
  Ie || (Ie = document.createElement("textarea"), document.body.appendChild(Ie));
  const { paddingSize: r, borderSize: a, boxSizing: s, contextStyle: i } = hu(e);
  i.forEach(([h, b]) => Ie == null ? void 0 : Ie.style.setProperty(h, b)), Object.entries(fu).forEach(([h, b]) => Ie == null ? void 0 : Ie.style.setProperty(h, b, "important")), Ie.value = e.value || e.placeholder || "";
  let l = Ie.scrollHeight;
  const c = {};
  s === "border-box" ? l = l + a : s === "content-box" && (l = l - r), Ie.value = "";
  const p = Ie.scrollHeight - r;
  if (Bt(t)) {
    let h = p * t;
    s === "border-box" && (h = h + r + a), l = Math.max(h, l), c.minHeight = `${h}px`;
  }
  if (Bt(n)) {
    let h = p * n;
    s === "border-box" && (h = h + r + a), l = Math.min(h, l);
  }
  return c.height = `${l}px`, (o = Ie.parentNode) == null || o.removeChild(Ie), Ie = void 0, c;
}
const gu = (e) => e, vu = me({
  ariaLabel: String,
  ariaOrientation: {
    type: String,
    values: ["horizontal", "vertical", "undefined"]
  },
  ariaControls: String
}), Vo = (e) => Nc(vu, e), mu = me({
  id: {
    type: String,
    default: void 0
  },
  size: Rs,
  disabled: Boolean,
  modelValue: {
    type: W([
      String,
      Number,
      Object
    ]),
    default: ""
  },
  maxlength: {
    type: [String, Number]
  },
  minlength: {
    type: [String, Number]
  },
  type: {
    type: String,
    default: "text"
  },
  resize: {
    type: String,
    values: ["none", "both", "horizontal", "vertical"]
  },
  autosize: {
    type: W([Boolean, Object]),
    default: !1
  },
  autocomplete: {
    type: String,
    default: "off"
  },
  formatter: {
    type: Function
  },
  parser: {
    type: Function
  },
  placeholder: {
    type: String
  },
  form: {
    type: String
  },
  readonly: Boolean,
  clearable: Boolean,
  showPassword: Boolean,
  showWordLimit: Boolean,
  suffixIcon: {
    type: Qt
  },
  prefixIcon: {
    type: Qt
  },
  containerRole: {
    type: String,
    default: void 0
  },
  tabindex: {
    type: [String, Number],
    default: 0
  },
  validateEvent: {
    type: Boolean,
    default: !0
  },
  inputStyle: {
    type: W([Object, Array, String]),
    default: () => gu({})
  },
  autofocus: Boolean,
  rows: {
    type: Number,
    default: 2
  },
  ...Vo(["ariaLabel"])
}), yu = {
  [wn]: (e) => Pt(e),
  input: (e) => Pt(e),
  change: (e) => Pt(e),
  focus: (e) => e instanceof FocusEvent,
  blur: (e) => e instanceof FocusEvent,
  clear: () => !0,
  mouseleave: (e) => e instanceof MouseEvent,
  mouseenter: (e) => e instanceof MouseEvent,
  keydown: (e) => e instanceof Event,
  compositionstart: (e) => e instanceof CompositionEvent,
  compositionupdate: (e) => e instanceof CompositionEvent,
  compositionend: (e) => e instanceof CompositionEvent
}, bu = ["class", "style"], xu = /^on[A-Z]/, wu = (e = {}) => {
  const { excludeListeners: t = !1, excludeKeys: n } = e, o = O(() => ((n == null ? void 0 : n.value) || []).concat(bu)), r = tt();
  return r ? O(() => {
    var a;
    return Un(Object.entries((a = r.proxy) == null ? void 0 : a.$attrs).filter(([s]) => !o.value.includes(s) && !(t && xu.test(s))));
  }) : (Qe("use-attrs", "getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function"), O(() => ({})));
}, Uo = Symbol("formContextKey"), jn = Symbol("formItemContextKey"), Eo = {
  prefix: Math.floor(Math.random() * 1e4),
  current: 0
}, Eu = Symbol("elIdInjection"), Fs = () => tt() ? ve(Eu, Eo) : Eo, Kn = (e) => {
  const t = Fs();
  !Ee && t === Eo && Qe("IdInjection", `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed
usage: app.provide(ID_INJECTION_KEY, {
  prefix: number,
  current: number,
})`);
  const n = Bo();
  return pi(() => f(e) || `${n.value}-id-${t.prefix}-${t.current++}`);
}, Hs = () => {
  const e = ve(Uo, void 0), t = ve(jn, void 0);
  return {
    form: e,
    formItem: t
  };
}, Su = (e, {
  formItemContext: t,
  disableIdGeneration: n,
  disableIdManagement: o
}) => {
  n || (n = K(!1)), o || (o = K(!1));
  const r = K();
  let a;
  const s = O(() => {
    var i;
    return !!(!(e.label || e.ariaLabel) && t && t.inputIds && ((i = t.inputIds) == null ? void 0 : i.length) <= 1);
  });
  return Te(() => {
    a = re([ft(e, "id"), n], ([i, l]) => {
      const c = i ?? (l ? void 0 : Kn().value);
      c !== r.value && (t != null && t.removeInputId && (r.value && t.removeInputId(r.value), !(o != null && o.value) && !l && c && t.addInputId(c)), r.value = c);
    }, { immediate: !0 });
  }), Va(() => {
    a && a(), t != null && t.removeInputId && r.value && t.removeInputId(r.value);
  }), {
    isLabeledByFormItem: s,
    inputId: r
  };
}, jo = (e) => {
  const t = tt();
  return O(() => {
    var n, o;
    return (o = (n = t == null ? void 0 : t.proxy) == null ? void 0 : n.$props) == null ? void 0 : o[e];
  });
}, Gs = (e, t = {}) => {
  const n = K(void 0), o = t.prop ? n : jo("size"), r = t.global ? n : Yc(), a = t.form ? { size: void 0 } : ve(Uo, void 0), s = t.formItem ? { size: void 0 } : ve(jn, void 0);
  return O(() => o.value || f(e) || (s == null ? void 0 : s.size) || (a == null ? void 0 : a.size) || r.value || "");
}, Ko = (e) => {
  const t = jo("disabled"), n = ve(Uo, void 0);
  return O(() => t.value || f(e) || (n == null ? void 0 : n.disabled) || !1);
};
function Au(e, {
  beforeFocus: t,
  afterFocus: n,
  beforeBlur: o,
  afterBlur: r
} = {}) {
  const a = tt(), { emit: s } = a, i = pn(), l = jo("disabled"), c = K(!1), p = (g) => {
    wt(t) && t(g) || c.value || (c.value = !0, s("focus", g), n == null || n());
  }, h = (g) => {
    var d;
    wt(o) && o(g) || g.relatedTarget && ((d = i.value) != null && d.contains(g.relatedTarget)) || (c.value = !1, s("blur", g), r == null || r());
  }, b = () => {
    var g, d;
    (g = i.value) != null && g.contains(document.activeElement) && i.value !== document.activeElement || l.value || (d = e.value) == null || d.focus();
  };
  return re([i, l], ([g, d]) => {
    g && (d ? g.removeAttribute("tabindex") : g.setAttribute("tabindex", "-1"));
  }), ln(i, "focus", p, !0), ln(i, "blur", h, !0), ln(i, "click", b, !0), process.env.NODE_ENV === "test" && Te(() => {
    const g = At(e.value) ? e.value : document.querySelector("input,textarea");
    g && (ln(g, "focus", p, !0), ln(g, "blur", h, !0));
  }), {
    isFocused: c,
    wrapperRef: i,
    handleFocus: p,
    handleBlur: h
  };
}
const Cu = (e) => /([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e);
function Tu({
  afterComposition: e,
  emit: t
}) {
  const n = K(!1), o = (i) => {
    t == null || t("compositionstart", i), n.value = !0;
  }, r = (i) => {
    var l;
    t == null || t("compositionupdate", i);
    const c = (l = i.target) == null ? void 0 : l.value, p = c[c.length - 1] || "";
    n.value = !Cu(p);
  }, a = (i) => {
    t == null || t("compositionend", i), n.value && (n.value = !1, ae(() => e(i)));
  };
  return {
    isComposing: n,
    handleComposition: (i) => {
      i.type === "compositionend" ? a(i) : r(i);
    },
    handleCompositionStart: o,
    handleCompositionUpdate: r,
    handleCompositionEnd: a
  };
}
function Ou(e) {
  let t;
  function n() {
    if (e.value == null)
      return;
    const { selectionStart: r, selectionEnd: a, value: s } = e.value;
    if (r == null || a == null)
      return;
    const i = s.slice(0, Math.max(0, r)), l = s.slice(Math.max(0, a));
    t = {
      selectionStart: r,
      selectionEnd: a,
      value: s,
      beforeTxt: i,
      afterTxt: l
    };
  }
  function o() {
    if (e.value == null || t == null)
      return;
    const { value: r } = e.value, { beforeTxt: a, afterTxt: s, selectionStart: i } = t;
    if (a == null || s == null || i == null)
      return;
    let l = r.length;
    if (r.endsWith(s))
      l = r.length - s.length;
    else if (r.startsWith(a))
      l = a.length;
    else {
      const c = a[i - 1], p = r.indexOf(c, i - 1);
      p !== -1 && (l = p + 1);
    }
    e.value.setSelectionRange(l, l);
  }
  return [n, o];
}
const Vs = "ElInput", Iu = Q({
  name: Vs,
  inheritAttrs: !1
}), ku = /* @__PURE__ */ Q({
  ...Iu,
  props: mu,
  emits: yu,
  setup(e, { expose: t, emit: n }) {
    const o = e, r = Ua(), a = wu(), s = No(), i = O(() => [
      o.type === "textarea" ? v.b() : d.b(),
      d.m(b.value),
      d.is("disabled", g.value),
      d.is("exceed", U.value),
      {
        [d.b("group")]: s.prepend || s.append,
        [d.m("prefix")]: s.prefix || o.prefixIcon,
        [d.m("suffix")]: s.suffix || o.suffixIcon || o.clearable || o.showPassword,
        [d.bm("suffix", "password-clear")]: L.value && B.value,
        [d.b("hidden")]: o.type === "hidden"
      },
      r.class
    ]), l = O(() => [
      d.e("wrapper"),
      d.is("focus", F.value)
    ]), { form: c, formItem: p } = Hs(), { inputId: h } = Su(o, {
      formItemContext: p
    }), b = Gs(), g = Ko(), d = Ce("input"), v = Ce("textarea"), x = pn(), E = pn(), k = K(!1), G = K(!1), _ = K(), V = pn(o.inputStyle), D = O(() => x.value || E.value), { wrapperRef: M, isFocused: F, handleFocus: J, handleBlur: Y } = Au(D, {
      beforeFocus() {
        return g.value;
      },
      afterBlur() {
        var I;
        o.validateEvent && ((I = p == null ? void 0 : p.validate) == null || I.call(p, "blur").catch((se) => Qe(se)));
      }
    }), R = O(() => {
      var I;
      return (I = c == null ? void 0 : c.statusIcon) != null ? I : !1;
    }), X = O(() => (p == null ? void 0 : p.validateState) || ""), ee = O(() => X.value && uu[X.value]), we = O(() => G.value ? wi : Ei), oe = O(() => [
      r.style
    ]), T = O(() => [
      o.inputStyle,
      V.value,
      { resize: o.resize }
    ]), A = O(() => eo(o.modelValue) ? "" : String(o.modelValue)), L = O(() => o.clearable && !g.value && !o.readonly && !!A.value && (F.value || k.value)), B = O(() => o.showPassword && !g.value && !!A.value && (!!A.value || F.value)), z = O(() => o.showWordLimit && !!o.maxlength && (o.type === "text" || o.type === "textarea") && !g.value && !o.readonly && !o.showPassword), $ = O(() => A.value.length), U = O(() => !!z.value && $.value > Number(o.maxlength)), q = O(() => !!s.suffix || !!o.suffixIcon || L.value || o.showPassword || z.value || !!X.value && R.value), [ue, ge] = Ou(x);
    hi(E, (I) => {
      if (He(), !z.value || o.resize !== "both")
        return;
      const se = I[0], { width: Ve } = se.contentRect;
      _.value = {
        right: `calc(100% - ${Ve + 15 + 6}px)`
      };
    });
    const Pe = () => {
      const { type: I, autosize: se } = o;
      if (!(!Ee || I !== "textarea" || !E.value))
        if (se) {
          const Ve = bn(se) ? se.minRows : void 0, Ae = bn(se) ? se.maxRows : void 0, kt = Rr(E.value, Ve, Ae);
          V.value = {
            overflowY: "hidden",
            ...kt
          }, ae(() => {
            E.value.offsetHeight, V.value = kt;
          });
        } else
          V.value = {
            minHeight: Rr(E.value).minHeight
          };
    }, He = ((I) => {
      let se = !1;
      return () => {
        var Ve;
        if (se || !o.autosize)
          return;
        ((Ve = E.value) == null ? void 0 : Ve.offsetParent) === null || (I(), se = !0);
      };
    })(Pe), Xe = () => {
      const I = D.value, se = o.formatter ? o.formatter(A.value) : A.value;
      !I || I.value === se || (I.value = se);
    }, rt = async (I) => {
      ue();
      let { value: se } = I.target;
      if (o.formatter && o.parser && (se = o.parser(se)), !$t.value) {
        if (se === A.value) {
          Xe();
          return;
        }
        n(wn, se), n(Pr, se), await ae(), Xe(), ge();
      }
    }, We = (I) => {
      let { value: se } = I.target;
      o.formatter && o.parser && (se = o.parser(se)), n(Lr, se);
    }, {
      isComposing: $t,
      handleCompositionStart: It,
      handleCompositionUpdate: Ft,
      handleCompositionEnd: Ht
    } = Tu({ emit: n, afterComposition: rt }), Gt = () => {
      ue(), G.value = !G.value, setTimeout(ge);
    }, Vt = () => {
      var I;
      return (I = D.value) == null ? void 0 : I.focus();
    }, an = () => {
      var I;
      return (I = D.value) == null ? void 0 : I.blur();
    }, Ut = (I) => {
      k.value = !1, n("mouseleave", I);
    }, Ge = (I) => {
      k.value = !0, n("mouseenter", I);
    }, st = (I) => {
      n("keydown", I);
    }, at = () => {
      var I;
      (I = D.value) == null || I.select();
    }, Ye = () => {
      n(wn, ""), n(Lr, ""), n("clear"), n(Pr, "");
    };
    return re(() => o.modelValue, () => {
      var I;
      ae(() => Pe()), o.validateEvent && ((I = p == null ? void 0 : p.validate) == null || I.call(p, "change").catch((se) => Qe(se)));
    }), re(A, () => Xe()), re(() => o.type, async () => {
      await ae(), Xe(), Pe();
    }), Te(() => {
      !o.formatter && o.parser && Qe(Vs, "If you set the parser, you also need to set the formatter."), Xe(), ae(Pe);
    }), t({
      input: x,
      textarea: E,
      ref: D,
      textareaStyle: T,
      autosize: ft(o, "autosize"),
      isComposing: $t,
      focus: Vt,
      blur: an,
      select: at,
      clear: Ye,
      resizeTextarea: Pe
    }), (I, se) => (N(), Z("div", {
      class: te([
        f(i),
        {
          [f(d).bm("group", "append")]: I.$slots.append,
          [f(d).bm("group", "prepend")]: I.$slots.prepend
        }
      ]),
      style: Ze(f(oe)),
      onMouseenter: Ge,
      onMouseleave: Ut
    }, [
      ce(" input "),
      I.type !== "textarea" ? (N(), Z(Ke, { key: 0 }, [
        ce(" prepend slot "),
        I.$slots.prepend ? (N(), Z("div", {
          key: 0,
          class: te(f(d).be("group", "prepend"))
        }, [
          ie(I.$slots, "prepend")
        ], 2)) : ce("v-if", !0),
        pe("div", {
          ref_key: "wrapperRef",
          ref: M,
          class: te(f(l))
        }, [
          ce(" prefix slot "),
          I.$slots.prefix || I.prefixIcon ? (N(), Z("span", {
            key: 0,
            class: te(f(d).e("prefix"))
          }, [
            pe("span", {
              class: te(f(d).e("prefix-inner"))
            }, [
              ie(I.$slots, "prefix"),
              I.prefixIcon ? (N(), he(f(bt), {
                key: 0,
                class: te(f(d).e("icon"))
              }, {
                default: ne(() => [
                  (N(), he(xt(I.prefixIcon)))
                ]),
                _: 1
              }, 8, ["class"])) : ce("v-if", !0)
            ], 2)
          ], 2)) : ce("v-if", !0),
          pe("input", ht({
            id: f(h),
            ref_key: "input",
            ref: x,
            class: f(d).e("inner")
          }, f(a), {
            minlength: I.minlength,
            maxlength: I.maxlength,
            type: I.showPassword ? G.value ? "text" : "password" : I.type,
            disabled: f(g),
            readonly: I.readonly,
            autocomplete: I.autocomplete,
            tabindex: I.tabindex,
            "aria-label": I.ariaLabel,
            placeholder: I.placeholder,
            style: I.inputStyle,
            form: I.form,
            autofocus: I.autofocus,
            role: I.containerRole,
            onCompositionstart: f(It),
            onCompositionupdate: f(Ft),
            onCompositionend: f(Ht),
            onInput: rt,
            onChange: We,
            onKeydown: st
          }), null, 16, ["id", "minlength", "maxlength", "type", "disabled", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder", "form", "autofocus", "role", "onCompositionstart", "onCompositionupdate", "onCompositionend"]),
          ce(" suffix slot "),
          f(q) ? (N(), Z("span", {
            key: 1,
            class: te(f(d).e("suffix"))
          }, [
            pe("span", {
              class: te(f(d).e("suffix-inner"))
            }, [
              !f(L) || !f(B) || !f(z) ? (N(), Z(Ke, { key: 0 }, [
                ie(I.$slots, "suffix"),
                I.suffixIcon ? (N(), he(f(bt), {
                  key: 0,
                  class: te(f(d).e("icon"))
                }, {
                  default: ne(() => [
                    (N(), he(xt(I.suffixIcon)))
                  ]),
                  _: 1
                }, 8, ["class"])) : ce("v-if", !0)
              ], 64)) : ce("v-if", !0),
              f(L) ? (N(), he(f(bt), {
                key: 1,
                class: te([f(d).e("icon"), f(d).e("clear")]),
                onMousedown: vs(f(St), ["prevent"]),
                onClick: Ye
              }, {
                default: ne(() => [
                  ye(f(Es))
                ]),
                _: 1
              }, 8, ["class", "onMousedown"])) : ce("v-if", !0),
              f(B) ? (N(), he(f(bt), {
                key: 2,
                class: te([f(d).e("icon"), f(d).e("password")]),
                onClick: Gt
              }, {
                default: ne(() => [
                  (N(), he(xt(f(we))))
                ]),
                _: 1
              }, 8, ["class"])) : ce("v-if", !0),
              f(z) ? (N(), Z("span", {
                key: 3,
                class: te(f(d).e("count"))
              }, [
                pe("span", {
                  class: te(f(d).e("count-inner"))
                }, je(f($)) + " / " + je(I.maxlength), 3)
              ], 2)) : ce("v-if", !0),
              f(X) && f(ee) && f(R) ? (N(), he(f(bt), {
                key: 4,
                class: te([
                  f(d).e("icon"),
                  f(d).e("validateIcon"),
                  f(d).is("loading", f(X) === "validating")
                ])
              }, {
                default: ne(() => [
                  (N(), he(xt(f(ee))))
                ]),
                _: 1
              }, 8, ["class"])) : ce("v-if", !0)
            ], 2)
          ], 2)) : ce("v-if", !0)
        ], 2),
        ce(" append slot "),
        I.$slots.append ? (N(), Z("div", {
          key: 1,
          class: te(f(d).be("group", "append"))
        }, [
          ie(I.$slots, "append")
        ], 2)) : ce("v-if", !0)
      ], 64)) : (N(), Z(Ke, { key: 1 }, [
        ce(" textarea "),
        pe("textarea", ht({
          id: f(h),
          ref_key: "textarea",
          ref: E,
          class: [f(v).e("inner"), f(d).is("focus", f(F))]
        }, f(a), {
          minlength: I.minlength,
          maxlength: I.maxlength,
          tabindex: I.tabindex,
          disabled: f(g),
          readonly: I.readonly,
          autocomplete: I.autocomplete,
          style: f(T),
          "aria-label": I.ariaLabel,
          placeholder: I.placeholder,
          form: I.form,
          autofocus: I.autofocus,
          rows: I.rows,
          role: I.containerRole,
          onCompositionstart: f(It),
          onCompositionupdate: f(Ft),
          onCompositionend: f(Ht),
          onInput: rt,
          onFocus: f(J),
          onBlur: f(Y),
          onChange: We,
          onKeydown: st
        }), null, 16, ["id", "minlength", "maxlength", "tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder", "form", "autofocus", "rows", "role", "onCompositionstart", "onCompositionupdate", "onCompositionend", "onFocus", "onBlur"]),
        f(z) ? (N(), Z("span", {
          key: 0,
          style: Ze(_.value),
          class: te(f(d).e("count"))
        }, je(f($)) + " / " + je(I.maxlength), 7)) : ce("v-if", !0)
      ], 64))
    ], 38));
  }
});
var _u = /* @__PURE__ */ be(ku, [["__file", "input.vue"]]);
const Mu = vt(_u), qo = Symbol("popper"), Us = Symbol("popperContent"), js = [
  "dialog",
  "grid",
  "group",
  "listbox",
  "menu",
  "navigation",
  "tooltip",
  "tree"
], Ks = me({
  role: {
    type: String,
    values: js,
    default: "tooltip"
  }
}), Du = Q({
  name: "ElPopper",
  inheritAttrs: !1
}), Lu = /* @__PURE__ */ Q({
  ...Du,
  props: Ks,
  setup(e, { expose: t }) {
    const n = e, o = K(), r = K(), a = K(), s = K(), i = O(() => n.role), l = {
      triggerRef: o,
      popperInstanceRef: r,
      contentRef: a,
      referenceRef: s,
      role: i
    };
    return t(l), nt(qo, l), (c, p) => ie(c.$slots, "default");
  }
});
var Pu = /* @__PURE__ */ be(Lu, [["__file", "popper.vue"]]);
const qs = me({
  arrowOffset: {
    type: Number,
    default: 5
  }
}), Nu = Q({
  name: "ElPopperArrow",
  inheritAttrs: !1
}), Ru = /* @__PURE__ */ Q({
  ...Nu,
  props: qs,
  setup(e, { expose: t }) {
    const n = e, o = Ce("popper"), { arrowOffset: r, arrowRef: a, arrowStyle: s } = ve(Us, void 0);
    return re(() => n.arrowOffset, (i) => {
      r.value = i;
    }), Fe(() => {
      a.value = void 0;
    }), t({
      arrowRef: a
    }), (i, l) => (N(), Z("span", {
      ref_key: "arrowRef",
      ref: a,
      class: te(f(o).e("arrow")),
      style: Ze(f(s)),
      "data-popper-arrow": ""
    }, null, 6));
  }
});
var Bu = /* @__PURE__ */ be(Ru, [["__file", "arrow.vue"]]);
const Xs = me({
  virtualRef: {
    type: W(Object)
  },
  virtualTriggering: Boolean,
  onMouseenter: {
    type: W(Function)
  },
  onMouseleave: {
    type: W(Function)
  },
  onClick: {
    type: W(Function)
  },
  onKeydown: {
    type: W(Function)
  },
  onFocus: {
    type: W(Function)
  },
  onBlur: {
    type: W(Function)
  },
  onContextmenu: {
    type: W(Function)
  },
  id: String,
  open: Boolean
}), Ws = Symbol("elForwardRef"), zu = (e) => {
  nt(Ws, {
    setForwardRef: (n) => {
      e.value = n;
    }
  });
}, $u = (e) => ({
  mounted(t) {
    e(t);
  },
  updated(t) {
    e(t);
  },
  unmounted() {
    e(null);
  }
}), So = (e) => {
  if (e.tabIndex > 0 || e.tabIndex === 0 && e.getAttribute("tabIndex") !== null)
    return !0;
  if (e.tabIndex < 0 || e.hasAttribute("disabled") || e.getAttribute("aria-disabled") === "true")
    return !1;
  switch (e.nodeName) {
    case "A":
      return !!e.href && e.rel !== "ignore";
    case "INPUT":
      return !(e.type === "hidden" || e.type === "file");
    case "BUTTON":
    case "SELECT":
    case "TEXTAREA":
      return !0;
    default:
      return !1;
  }
}, fo = "ElOnlyChild", Fu = Q({
  name: fo,
  setup(e, {
    slots: t,
    attrs: n
  }) {
    var o;
    const r = ve(Ws), a = $u((o = r == null ? void 0 : r.setForwardRef) != null ? o : St);
    return () => {
      var s;
      const i = (s = t.default) == null ? void 0 : s.call(t, n);
      if (!i)
        return null;
      if (i.length > 1)
        return Qe(fo, "requires exact only one valid child."), null;
      const l = Ys(i);
      return l ? Tn(ja(l, n), [[a]]) : (Qe(fo, "no valid child node found"), null);
    };
  }
});
function Ys(e) {
  if (!e)
    return null;
  const t = e;
  for (const n of t) {
    if (bn(n))
      switch (n.type) {
        case Ka:
          continue;
        case ms:
        case "svg":
          return Br(n);
        case Ke:
          return Ys(n.children);
        default:
          return n;
      }
    return Br(n);
  }
  return null;
}
function Br(e) {
  const t = Ce("only-child");
  return ye("span", {
    class: t.e("content")
  }, [e]);
}
const Hu = Q({
  name: "ElPopperTrigger",
  inheritAttrs: !1
}), Gu = /* @__PURE__ */ Q({
  ...Hu,
  props: Xs,
  setup(e, { expose: t }) {
    const n = e, { role: o, triggerRef: r } = ve(qo, void 0);
    zu(r);
    const a = O(() => i.value ? n.id : void 0), s = O(() => {
      if (o && o.value === "tooltip")
        return n.open && n.id ? n.id : void 0;
    }), i = O(() => {
      if (o && o.value !== "tooltip")
        return o.value;
    }), l = O(() => i.value ? `${n.open}` : void 0);
    let c;
    const p = [
      "onMouseenter",
      "onMouseleave",
      "onClick",
      "onKeydown",
      "onFocus",
      "onBlur",
      "onContextmenu"
    ];
    return Te(() => {
      re(() => n.virtualRef, (h) => {
        h && (r.value = ws(h));
      }, {
        immediate: !0
      }), re(r, (h, b) => {
        c == null || c(), c = void 0, At(h) && (p.forEach((g) => {
          var d;
          const v = n[g];
          v && (h.addEventListener(g.slice(2).toLowerCase(), v), (d = b == null ? void 0 : b.removeEventListener) == null || d.call(b, g.slice(2).toLowerCase(), v));
        }), So(h) && (c = re([a, s, i, l], (g) => {
          [
            "aria-controls",
            "aria-describedby",
            "aria-haspopup",
            "aria-expanded"
          ].forEach((d, v) => {
            eo(g[v]) ? h.removeAttribute(d) : h.setAttribute(d, g[v]);
          });
        }, { immediate: !0 }))), At(b) && So(b) && [
          "aria-controls",
          "aria-describedby",
          "aria-haspopup",
          "aria-expanded"
        ].forEach((g) => b.removeAttribute(g));
      }, {
        immediate: !0
      });
    }), Fe(() => {
      if (c == null || c(), c = void 0, r.value && At(r.value)) {
        const h = r.value;
        p.forEach((b) => {
          const g = n[b];
          g && h.removeEventListener(b.slice(2).toLowerCase(), g);
        }), r.value = void 0;
      }
    }), t({
      triggerRef: r
    }), (h, b) => h.virtualTriggering ? ce("v-if", !0) : (N(), he(f(Fu), ht({ key: 0 }, h.$attrs, {
      "aria-controls": f(a),
      "aria-describedby": f(s),
      "aria-expanded": f(l),
      "aria-haspopup": f(i)
    }), {
      default: ne(() => [
        ie(h.$slots, "default")
      ]),
      _: 3
    }, 16, ["aria-controls", "aria-describedby", "aria-expanded", "aria-haspopup"]));
  }
});
var Vu = /* @__PURE__ */ be(Gu, [["__file", "trigger.vue"]]);
const po = "focus-trap.focus-after-trapped", ho = "focus-trap.focus-after-released", Uu = "focus-trap.focusout-prevented", zr = {
  cancelable: !0,
  bubbles: !1
}, ju = {
  cancelable: !0,
  bubbles: !1
}, $r = "focusAfterTrapped", Fr = "focusAfterReleased", Js = Symbol("elFocusTrap"), Xo = K(), oo = K(0), Wo = K(0);
let Ln = 0;
const Zs = (e) => {
  const t = [], n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
    acceptNode: (o) => {
      const r = o.tagName === "INPUT" && o.type === "hidden";
      return o.disabled || o.hidden || r ? NodeFilter.FILTER_SKIP : o.tabIndex >= 0 || o === document.activeElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
    }
  });
  for (; n.nextNode(); )
    t.push(n.currentNode);
  return t;
}, Hr = (e, t) => {
  for (const n of e)
    if (!Ku(n, t))
      return n;
}, Ku = (e, t) => {
  if (process.env.NODE_ENV === "test")
    return !1;
  if (getComputedStyle(e).visibility === "hidden")
    return !0;
  for (; e; ) {
    if (t && e === t)
      return !1;
    if (getComputedStyle(e).display === "none")
      return !0;
    e = e.parentElement;
  }
  return !1;
}, qu = (e) => {
  const t = Zs(e), n = Hr(t, e), o = Hr(t.reverse(), e);
  return [n, o];
}, Xu = (e) => e instanceof HTMLInputElement && "select" in e, ct = (e, t) => {
  if (e && e.focus) {
    const n = document.activeElement;
    let o = !1;
    At(e) && !So(e) && !e.getAttribute("tabindex") && (e.setAttribute("tabindex", "-1"), o = !0), e.focus({ preventScroll: !0 }), Wo.value = window.performance.now(), e !== n && Xu(e) && t && e.select(), At(e) && o && e.removeAttribute("tabindex");
  }
};
function Gr(e, t) {
  const n = [...e], o = e.indexOf(t);
  return o !== -1 && n.splice(o, 1), n;
}
const Wu = () => {
  let e = [];
  return {
    push: (o) => {
      const r = e[0];
      r && o !== r && r.pause(), e = Gr(e, o), e.unshift(o);
    },
    remove: (o) => {
      var r, a;
      e = Gr(e, o), (a = (r = e[0]) == null ? void 0 : r.resume) == null || a.call(r);
    }
  };
}, Yu = (e, t = !1) => {
  const n = document.activeElement;
  for (const o of e)
    if (ct(o, t), document.activeElement !== n)
      return;
}, Vr = Wu(), Ju = () => oo.value > Wo.value, Pn = () => {
  Xo.value = "pointer", oo.value = window.performance.now();
}, Ur = () => {
  Xo.value = "keyboard", oo.value = window.performance.now();
}, Zu = () => (Te(() => {
  Ln === 0 && (document.addEventListener("mousedown", Pn), document.addEventListener("touchstart", Pn), document.addEventListener("keydown", Ur)), Ln++;
}), Fe(() => {
  Ln--, Ln <= 0 && (document.removeEventListener("mousedown", Pn), document.removeEventListener("touchstart", Pn), document.removeEventListener("keydown", Ur));
}), {
  focusReason: Xo,
  lastUserFocusTimestamp: oo,
  lastAutomatedFocusTimestamp: Wo
}), Nn = (e) => new CustomEvent(Uu, {
  ...ju,
  detail: e
}), pt = {
  tab: "Tab",
  enter: "Enter",
  space: "Space",
  down: "ArrowDown",
  esc: "Escape",
  numpadEnter: "NumpadEnter"
};
let qt = [];
const jr = (e) => {
  e.code === pt.esc && qt.forEach((t) => t(e));
}, Qu = (e) => {
  Te(() => {
    qt.length === 0 && document.addEventListener("keydown", jr), Ee && qt.push(e);
  }), Fe(() => {
    qt = qt.filter((t) => t !== e), qt.length === 0 && Ee && document.removeEventListener("keydown", jr);
  });
}, ed = Q({
  name: "ElFocusTrap",
  inheritAttrs: !1,
  props: {
    loop: Boolean,
    trapped: Boolean,
    focusTrapEl: Object,
    focusStartEl: {
      type: [Object, String],
      default: "first"
    }
  },
  emits: [
    $r,
    Fr,
    "focusin",
    "focusout",
    "focusout-prevented",
    "release-requested"
  ],
  setup(e, { emit: t }) {
    const n = K();
    let o, r;
    const { focusReason: a } = Zu();
    Qu((d) => {
      e.trapped && !s.paused && t("release-requested", d);
    });
    const s = {
      paused: !1,
      pause() {
        this.paused = !0;
      },
      resume() {
        this.paused = !1;
      }
    }, i = (d) => {
      if (!e.loop && !e.trapped || s.paused)
        return;
      const { code: v, altKey: x, ctrlKey: E, metaKey: k, currentTarget: G, shiftKey: _ } = d, { loop: V } = e, D = v === pt.tab && !x && !E && !k, M = document.activeElement;
      if (D && M) {
        const F = G, [J, Y] = qu(F);
        if (J && Y) {
          if (!_ && M === Y) {
            const X = Nn({
              focusReason: a.value
            });
            t("focusout-prevented", X), X.defaultPrevented || (d.preventDefault(), V && ct(J, !0));
          } else if (_ && [J, F].includes(M)) {
            const X = Nn({
              focusReason: a.value
            });
            t("focusout-prevented", X), X.defaultPrevented || (d.preventDefault(), V && ct(Y, !0));
          }
        } else if (M === F) {
          const X = Nn({
            focusReason: a.value
          });
          t("focusout-prevented", X), X.defaultPrevented || d.preventDefault();
        }
      }
    };
    nt(Js, {
      focusTrapRef: n,
      onKeydown: i
    }), re(() => e.focusTrapEl, (d) => {
      d && (n.value = d);
    }, { immediate: !0 }), re([n], ([d], [v]) => {
      d && (d.addEventListener("keydown", i), d.addEventListener("focusin", p), d.addEventListener("focusout", h)), v && (v.removeEventListener("keydown", i), v.removeEventListener("focusin", p), v.removeEventListener("focusout", h));
    });
    const l = (d) => {
      t($r, d);
    }, c = (d) => t(Fr, d), p = (d) => {
      const v = f(n);
      if (!v)
        return;
      const x = d.target, E = d.relatedTarget, k = x && v.contains(x);
      e.trapped || E && v.contains(E) || (o = E), k && t("focusin", d), !s.paused && e.trapped && (k ? r = x : ct(r, !0));
    }, h = (d) => {
      const v = f(n);
      if (!(s.paused || !v))
        if (e.trapped) {
          const x = d.relatedTarget;
          !eo(x) && !v.contains(x) && setTimeout(() => {
            if (!s.paused && e.trapped) {
              const E = Nn({
                focusReason: a.value
              });
              t("focusout-prevented", E), E.defaultPrevented || ct(r, !0);
            }
          }, 0);
        } else {
          const x = d.target;
          x && v.contains(x) || t("focusout", d);
        }
    };
    async function b() {
      await ae();
      const d = f(n);
      if (d) {
        Vr.push(s);
        const v = d.contains(document.activeElement) ? o : document.activeElement;
        if (o = v, !d.contains(v)) {
          const E = new Event(po, zr);
          d.addEventListener(po, l), d.dispatchEvent(E), E.defaultPrevented || ae(() => {
            let k = e.focusStartEl;
            Pt(k) || (ct(k), document.activeElement !== k && (k = "first")), k === "first" && Yu(Zs(d), !0), (document.activeElement === v || k === "container") && ct(d);
          });
        }
      }
    }
    function g() {
      const d = f(n);
      if (d) {
        d.removeEventListener(po, l);
        const v = new CustomEvent(ho, {
          ...zr,
          detail: {
            focusReason: a.value
          }
        });
        d.addEventListener(ho, c), d.dispatchEvent(v), !v.defaultPrevented && (a.value == "keyboard" || !Ju() || d.contains(document.activeElement)) && ct(o ?? document.body), d.removeEventListener(ho, c), Vr.remove(s);
      }
    }
    return Te(() => {
      e.trapped && b(), re(() => e.trapped, (d) => {
        d ? b() : g();
      });
    }), Fe(() => {
      e.trapped && g(), n.value && (n.value.removeEventListener("keydown", i), n.value.removeEventListener("focusin", p), n.value.removeEventListener("focusout", h), n.value = void 0);
    }), {
      onKeydown: i
    };
  }
});
function td(e, t, n, o, r, a) {
  return ie(e.$slots, "default", { handleKeydown: e.onKeydown });
}
var Qs = /* @__PURE__ */ be(ed, [["render", td], ["__file", "focus-trap.vue"]]), _e = "top", ze = "bottom", $e = "right", Me = "left", Yo = "auto", In = [_e, ze, $e, Me], en = "start", Sn = "end", nd = "clippingParents", ea = "viewport", dn = "popper", od = "reference", Kr = In.reduce(function(e, t) {
  return e.concat([t + "-" + en, t + "-" + Sn]);
}, []), Jo = [].concat(In, [Yo]).reduce(function(e, t) {
  return e.concat([t, t + "-" + en, t + "-" + Sn]);
}, []), rd = "beforeRead", sd = "read", ad = "afterRead", id = "beforeMain", ld = "main", cd = "afterMain", ud = "beforeWrite", dd = "write", fd = "afterWrite", pd = [rd, sd, ad, id, ld, cd, ud, dd, fd];
function ot(e) {
  return e ? (e.nodeName || "").toLowerCase() : null;
}
function qe(e) {
  if (e == null) return window;
  if (e.toString() !== "[object Window]") {
    var t = e.ownerDocument;
    return t && t.defaultView || window;
  }
  return e;
}
function tn(e) {
  var t = qe(e).Element;
  return e instanceof t || e instanceof Element;
}
function Be(e) {
  var t = qe(e).HTMLElement;
  return e instanceof t || e instanceof HTMLElement;
}
function Zo(e) {
  if (typeof ShadowRoot > "u") return !1;
  var t = qe(e).ShadowRoot;
  return e instanceof t || e instanceof ShadowRoot;
}
function hd(e) {
  var t = e.state;
  Object.keys(t.elements).forEach(function(n) {
    var o = t.styles[n] || {}, r = t.attributes[n] || {}, a = t.elements[n];
    !Be(a) || !ot(a) || (Object.assign(a.style, o), Object.keys(r).forEach(function(s) {
      var i = r[s];
      i === !1 ? a.removeAttribute(s) : a.setAttribute(s, i === !0 ? "" : i);
    }));
  });
}
function gd(e) {
  var t = e.state, n = { popper: { position: t.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} };
  return Object.assign(t.elements.popper.style, n.popper), t.styles = n, t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow), function() {
    Object.keys(t.elements).forEach(function(o) {
      var r = t.elements[o], a = t.attributes[o] || {}, s = Object.keys(t.styles.hasOwnProperty(o) ? t.styles[o] : n[o]), i = s.reduce(function(l, c) {
        return l[c] = "", l;
      }, {});
      !Be(r) || !ot(r) || (Object.assign(r.style, i), Object.keys(a).forEach(function(l) {
        r.removeAttribute(l);
      }));
    });
  };
}
var ta = { name: "applyStyles", enabled: !0, phase: "write", fn: hd, effect: gd, requires: ["computeStyles"] };
function et(e) {
  return e.split("-")[0];
}
var Nt = Math.max, qn = Math.min, nn = Math.round;
function on(e, t) {
  t === void 0 && (t = !1);
  var n = e.getBoundingClientRect(), o = 1, r = 1;
  if (Be(e) && t) {
    var a = e.offsetHeight, s = e.offsetWidth;
    s > 0 && (o = nn(n.width) / s || 1), a > 0 && (r = nn(n.height) / a || 1);
  }
  return { width: n.width / o, height: n.height / r, top: n.top / r, right: n.right / o, bottom: n.bottom / r, left: n.left / o, x: n.left / o, y: n.top / r };
}
function Qo(e) {
  var t = on(e), n = e.offsetWidth, o = e.offsetHeight;
  return Math.abs(t.width - n) <= 1 && (n = t.width), Math.abs(t.height - o) <= 1 && (o = t.height), { x: e.offsetLeft, y: e.offsetTop, width: n, height: o };
}
function na(e, t) {
  var n = t.getRootNode && t.getRootNode();
  if (e.contains(t)) return !0;
  if (n && Zo(n)) {
    var o = t;
    do {
      if (o && e.isSameNode(o)) return !0;
      o = o.parentNode || o.host;
    } while (o);
  }
  return !1;
}
function gt(e) {
  return qe(e).getComputedStyle(e);
}
function vd(e) {
  return ["table", "td", "th"].indexOf(ot(e)) >= 0;
}
function Ot(e) {
  return ((tn(e) ? e.ownerDocument : e.document) || window.document).documentElement;
}
function ro(e) {
  return ot(e) === "html" ? e : e.assignedSlot || e.parentNode || (Zo(e) ? e.host : null) || Ot(e);
}
function qr(e) {
  return !Be(e) || gt(e).position === "fixed" ? null : e.offsetParent;
}
function md(e) {
  var t = navigator.userAgent.toLowerCase().indexOf("firefox") !== -1, n = navigator.userAgent.indexOf("Trident") !== -1;
  if (n && Be(e)) {
    var o = gt(e);
    if (o.position === "fixed") return null;
  }
  var r = ro(e);
  for (Zo(r) && (r = r.host); Be(r) && ["html", "body"].indexOf(ot(r)) < 0; ) {
    var a = gt(r);
    if (a.transform !== "none" || a.perspective !== "none" || a.contain === "paint" || ["transform", "perspective"].indexOf(a.willChange) !== -1 || t && a.willChange === "filter" || t && a.filter && a.filter !== "none") return r;
    r = r.parentNode;
  }
  return null;
}
function kn(e) {
  for (var t = qe(e), n = qr(e); n && vd(n) && gt(n).position === "static"; ) n = qr(n);
  return n && (ot(n) === "html" || ot(n) === "body" && gt(n).position === "static") ? t : n || md(e) || t;
}
function er(e) {
  return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y";
}
function hn(e, t, n) {
  return Nt(e, qn(t, n));
}
function yd(e, t, n) {
  var o = hn(e, t, n);
  return o > n ? n : o;
}
function oa() {
  return { top: 0, right: 0, bottom: 0, left: 0 };
}
function ra(e) {
  return Object.assign({}, oa(), e);
}
function sa(e, t) {
  return t.reduce(function(n, o) {
    return n[o] = e, n;
  }, {});
}
var bd = function(e, t) {
  return e = typeof e == "function" ? e(Object.assign({}, t.rects, { placement: t.placement })) : e, ra(typeof e != "number" ? e : sa(e, In));
};
function xd(e) {
  var t, n = e.state, o = e.name, r = e.options, a = n.elements.arrow, s = n.modifiersData.popperOffsets, i = et(n.placement), l = er(i), c = [Me, $e].indexOf(i) >= 0, p = c ? "height" : "width";
  if (!(!a || !s)) {
    var h = bd(r.padding, n), b = Qo(a), g = l === "y" ? _e : Me, d = l === "y" ? ze : $e, v = n.rects.reference[p] + n.rects.reference[l] - s[l] - n.rects.popper[p], x = s[l] - n.rects.reference[l], E = kn(a), k = E ? l === "y" ? E.clientHeight || 0 : E.clientWidth || 0 : 0, G = v / 2 - x / 2, _ = h[g], V = k - b[p] - h[d], D = k / 2 - b[p] / 2 + G, M = hn(_, D, V), F = l;
    n.modifiersData[o] = (t = {}, t[F] = M, t.centerOffset = M - D, t);
  }
}
function wd(e) {
  var t = e.state, n = e.options, o = n.element, r = o === void 0 ? "[data-popper-arrow]" : o;
  r != null && (typeof r == "string" && (r = t.elements.popper.querySelector(r), !r) || !na(t.elements.popper, r) || (t.elements.arrow = r));
}
var Ed = { name: "arrow", enabled: !0, phase: "main", fn: xd, effect: wd, requires: ["popperOffsets"], requiresIfExists: ["preventOverflow"] };
function rn(e) {
  return e.split("-")[1];
}
var Sd = { top: "auto", right: "auto", bottom: "auto", left: "auto" };
function Ad(e) {
  var t = e.x, n = e.y, o = window, r = o.devicePixelRatio || 1;
  return { x: nn(t * r) / r || 0, y: nn(n * r) / r || 0 };
}
function Xr(e) {
  var t, n = e.popper, o = e.popperRect, r = e.placement, a = e.variation, s = e.offsets, i = e.position, l = e.gpuAcceleration, c = e.adaptive, p = e.roundOffsets, h = e.isFixed, b = s.x, g = b === void 0 ? 0 : b, d = s.y, v = d === void 0 ? 0 : d, x = typeof p == "function" ? p({ x: g, y: v }) : { x: g, y: v };
  g = x.x, v = x.y;
  var E = s.hasOwnProperty("x"), k = s.hasOwnProperty("y"), G = Me, _ = _e, V = window;
  if (c) {
    var D = kn(n), M = "clientHeight", F = "clientWidth";
    if (D === qe(n) && (D = Ot(n), gt(D).position !== "static" && i === "absolute" && (M = "scrollHeight", F = "scrollWidth")), D = D, r === _e || (r === Me || r === $e) && a === Sn) {
      _ = ze;
      var J = h && D === V && V.visualViewport ? V.visualViewport.height : D[M];
      v -= J - o.height, v *= l ? 1 : -1;
    }
    if (r === Me || (r === _e || r === ze) && a === Sn) {
      G = $e;
      var Y = h && D === V && V.visualViewport ? V.visualViewport.width : D[F];
      g -= Y - o.width, g *= l ? 1 : -1;
    }
  }
  var R = Object.assign({ position: i }, c && Sd), X = p === !0 ? Ad({ x: g, y: v }) : { x: g, y: v };
  if (g = X.x, v = X.y, l) {
    var ee;
    return Object.assign({}, R, (ee = {}, ee[_] = k ? "0" : "", ee[G] = E ? "0" : "", ee.transform = (V.devicePixelRatio || 1) <= 1 ? "translate(" + g + "px, " + v + "px)" : "translate3d(" + g + "px, " + v + "px, 0)", ee));
  }
  return Object.assign({}, R, (t = {}, t[_] = k ? v + "px" : "", t[G] = E ? g + "px" : "", t.transform = "", t));
}
function Cd(e) {
  var t = e.state, n = e.options, o = n.gpuAcceleration, r = o === void 0 ? !0 : o, a = n.adaptive, s = a === void 0 ? !0 : a, i = n.roundOffsets, l = i === void 0 ? !0 : i, c = { placement: et(t.placement), variation: rn(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: r, isFixed: t.options.strategy === "fixed" };
  t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, Xr(Object.assign({}, c, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: s, roundOffsets: l })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, Xr(Object.assign({}, c, { offsets: t.modifiersData.arrow, position: "absolute", adaptive: !1, roundOffsets: l })))), t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-placement": t.placement });
}
var aa = { name: "computeStyles", enabled: !0, phase: "beforeWrite", fn: Cd, data: {} }, Rn = { passive: !0 };
function Td(e) {
  var t = e.state, n = e.instance, o = e.options, r = o.scroll, a = r === void 0 ? !0 : r, s = o.resize, i = s === void 0 ? !0 : s, l = qe(t.elements.popper), c = [].concat(t.scrollParents.reference, t.scrollParents.popper);
  return a && c.forEach(function(p) {
    p.addEventListener("scroll", n.update, Rn);
  }), i && l.addEventListener("resize", n.update, Rn), function() {
    a && c.forEach(function(p) {
      p.removeEventListener("scroll", n.update, Rn);
    }), i && l.removeEventListener("resize", n.update, Rn);
  };
}
var ia = { name: "eventListeners", enabled: !0, phase: "write", fn: function() {
}, effect: Td, data: {} }, Od = { left: "right", right: "left", bottom: "top", top: "bottom" };
function Fn(e) {
  return e.replace(/left|right|bottom|top/g, function(t) {
    return Od[t];
  });
}
var Id = { start: "end", end: "start" };
function Wr(e) {
  return e.replace(/start|end/g, function(t) {
    return Id[t];
  });
}
function tr(e) {
  var t = qe(e), n = t.pageXOffset, o = t.pageYOffset;
  return { scrollLeft: n, scrollTop: o };
}
function nr(e) {
  return on(Ot(e)).left + tr(e).scrollLeft;
}
function kd(e) {
  var t = qe(e), n = Ot(e), o = t.visualViewport, r = n.clientWidth, a = n.clientHeight, s = 0, i = 0;
  return o && (r = o.width, a = o.height, /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || (s = o.offsetLeft, i = o.offsetTop)), { width: r, height: a, x: s + nr(e), y: i };
}
function _d(e) {
  var t, n = Ot(e), o = tr(e), r = (t = e.ownerDocument) == null ? void 0 : t.body, a = Nt(n.scrollWidth, n.clientWidth, r ? r.scrollWidth : 0, r ? r.clientWidth : 0), s = Nt(n.scrollHeight, n.clientHeight, r ? r.scrollHeight : 0, r ? r.clientHeight : 0), i = -o.scrollLeft + nr(e), l = -o.scrollTop;
  return gt(r || n).direction === "rtl" && (i += Nt(n.clientWidth, r ? r.clientWidth : 0) - a), { width: a, height: s, x: i, y: l };
}
function or(e) {
  var t = gt(e), n = t.overflow, o = t.overflowX, r = t.overflowY;
  return /auto|scroll|overlay|hidden/.test(n + r + o);
}
function la(e) {
  return ["html", "body", "#document"].indexOf(ot(e)) >= 0 ? e.ownerDocument.body : Be(e) && or(e) ? e : la(ro(e));
}
function gn(e, t) {
  var n;
  t === void 0 && (t = []);
  var o = la(e), r = o === ((n = e.ownerDocument) == null ? void 0 : n.body), a = qe(o), s = r ? [a].concat(a.visualViewport || [], or(o) ? o : []) : o, i = t.concat(s);
  return r ? i : i.concat(gn(ro(s)));
}
function Ao(e) {
  return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height });
}
function Md(e) {
  var t = on(e);
  return t.top = t.top + e.clientTop, t.left = t.left + e.clientLeft, t.bottom = t.top + e.clientHeight, t.right = t.left + e.clientWidth, t.width = e.clientWidth, t.height = e.clientHeight, t.x = t.left, t.y = t.top, t;
}
function Yr(e, t) {
  return t === ea ? Ao(kd(e)) : tn(t) ? Md(t) : Ao(_d(Ot(e)));
}
function Dd(e) {
  var t = gn(ro(e)), n = ["absolute", "fixed"].indexOf(gt(e).position) >= 0, o = n && Be(e) ? kn(e) : e;
  return tn(o) ? t.filter(function(r) {
    return tn(r) && na(r, o) && ot(r) !== "body";
  }) : [];
}
function Ld(e, t, n) {
  var o = t === "clippingParents" ? Dd(e) : [].concat(t), r = [].concat(o, [n]), a = r[0], s = r.reduce(function(i, l) {
    var c = Yr(e, l);
    return i.top = Nt(c.top, i.top), i.right = qn(c.right, i.right), i.bottom = qn(c.bottom, i.bottom), i.left = Nt(c.left, i.left), i;
  }, Yr(e, a));
  return s.width = s.right - s.left, s.height = s.bottom - s.top, s.x = s.left, s.y = s.top, s;
}
function ca(e) {
  var t = e.reference, n = e.element, o = e.placement, r = o ? et(o) : null, a = o ? rn(o) : null, s = t.x + t.width / 2 - n.width / 2, i = t.y + t.height / 2 - n.height / 2, l;
  switch (r) {
    case _e:
      l = { x: s, y: t.y - n.height };
      break;
    case ze:
      l = { x: s, y: t.y + t.height };
      break;
    case $e:
      l = { x: t.x + t.width, y: i };
      break;
    case Me:
      l = { x: t.x - n.width, y: i };
      break;
    default:
      l = { x: t.x, y: t.y };
  }
  var c = r ? er(r) : null;
  if (c != null) {
    var p = c === "y" ? "height" : "width";
    switch (a) {
      case en:
        l[c] = l[c] - (t[p] / 2 - n[p] / 2);
        break;
      case Sn:
        l[c] = l[c] + (t[p] / 2 - n[p] / 2);
        break;
    }
  }
  return l;
}
function An(e, t) {
  t === void 0 && (t = {});
  var n = t, o = n.placement, r = o === void 0 ? e.placement : o, a = n.boundary, s = a === void 0 ? nd : a, i = n.rootBoundary, l = i === void 0 ? ea : i, c = n.elementContext, p = c === void 0 ? dn : c, h = n.altBoundary, b = h === void 0 ? !1 : h, g = n.padding, d = g === void 0 ? 0 : g, v = ra(typeof d != "number" ? d : sa(d, In)), x = p === dn ? od : dn, E = e.rects.popper, k = e.elements[b ? x : p], G = Ld(tn(k) ? k : k.contextElement || Ot(e.elements.popper), s, l), _ = on(e.elements.reference), V = ca({ reference: _, element: E, placement: r }), D = Ao(Object.assign({}, E, V)), M = p === dn ? D : _, F = { top: G.top - M.top + v.top, bottom: M.bottom - G.bottom + v.bottom, left: G.left - M.left + v.left, right: M.right - G.right + v.right }, J = e.modifiersData.offset;
  if (p === dn && J) {
    var Y = J[r];
    Object.keys(F).forEach(function(R) {
      var X = [$e, ze].indexOf(R) >= 0 ? 1 : -1, ee = [_e, ze].indexOf(R) >= 0 ? "y" : "x";
      F[R] += Y[ee] * X;
    });
  }
  return F;
}
function Pd(e, t) {
  t === void 0 && (t = {});
  var n = t, o = n.placement, r = n.boundary, a = n.rootBoundary, s = n.padding, i = n.flipVariations, l = n.allowedAutoPlacements, c = l === void 0 ? Jo : l, p = rn(o), h = p ? i ? Kr : Kr.filter(function(d) {
    return rn(d) === p;
  }) : In, b = h.filter(function(d) {
    return c.indexOf(d) >= 0;
  });
  b.length === 0 && (b = h);
  var g = b.reduce(function(d, v) {
    return d[v] = An(e, { placement: v, boundary: r, rootBoundary: a, padding: s })[et(v)], d;
  }, {});
  return Object.keys(g).sort(function(d, v) {
    return g[d] - g[v];
  });
}
function Nd(e) {
  if (et(e) === Yo) return [];
  var t = Fn(e);
  return [Wr(e), t, Wr(t)];
}
function Rd(e) {
  var t = e.state, n = e.options, o = e.name;
  if (!t.modifiersData[o]._skip) {
    for (var r = n.mainAxis, a = r === void 0 ? !0 : r, s = n.altAxis, i = s === void 0 ? !0 : s, l = n.fallbackPlacements, c = n.padding, p = n.boundary, h = n.rootBoundary, b = n.altBoundary, g = n.flipVariations, d = g === void 0 ? !0 : g, v = n.allowedAutoPlacements, x = t.options.placement, E = et(x), k = E === x, G = l || (k || !d ? [Fn(x)] : Nd(x)), _ = [x].concat(G).reduce(function(ue, ge) {
      return ue.concat(et(ge) === Yo ? Pd(t, { placement: ge, boundary: p, rootBoundary: h, padding: c, flipVariations: d, allowedAutoPlacements: v }) : ge);
    }, []), V = t.rects.reference, D = t.rects.popper, M = /* @__PURE__ */ new Map(), F = !0, J = _[0], Y = 0; Y < _.length; Y++) {
      var R = _[Y], X = et(R), ee = rn(R) === en, we = [_e, ze].indexOf(X) >= 0, oe = we ? "width" : "height", T = An(t, { placement: R, boundary: p, rootBoundary: h, altBoundary: b, padding: c }), A = we ? ee ? $e : Me : ee ? ze : _e;
      V[oe] > D[oe] && (A = Fn(A));
      var L = Fn(A), B = [];
      if (a && B.push(T[X] <= 0), i && B.push(T[A] <= 0, T[L] <= 0), B.every(function(ue) {
        return ue;
      })) {
        J = R, F = !1;
        break;
      }
      M.set(R, B);
    }
    if (F) for (var z = d ? 3 : 1, $ = function(ue) {
      var ge = _.find(function(Pe) {
        var mt = M.get(Pe);
        if (mt) return mt.slice(0, ue).every(function(He) {
          return He;
        });
      });
      if (ge) return J = ge, "break";
    }, U = z; U > 0; U--) {
      var q = $(U);
      if (q === "break") break;
    }
    t.placement !== J && (t.modifiersData[o]._skip = !0, t.placement = J, t.reset = !0);
  }
}
var Bd = { name: "flip", enabled: !0, phase: "main", fn: Rd, requiresIfExists: ["offset"], data: { _skip: !1 } };
function Jr(e, t, n) {
  return n === void 0 && (n = { x: 0, y: 0 }), { top: e.top - t.height - n.y, right: e.right - t.width + n.x, bottom: e.bottom - t.height + n.y, left: e.left - t.width - n.x };
}
function Zr(e) {
  return [_e, $e, ze, Me].some(function(t) {
    return e[t] >= 0;
  });
}
function zd(e) {
  var t = e.state, n = e.name, o = t.rects.reference, r = t.rects.popper, a = t.modifiersData.preventOverflow, s = An(t, { elementContext: "reference" }), i = An(t, { altBoundary: !0 }), l = Jr(s, o), c = Jr(i, r, a), p = Zr(l), h = Zr(c);
  t.modifiersData[n] = { referenceClippingOffsets: l, popperEscapeOffsets: c, isReferenceHidden: p, hasPopperEscaped: h }, t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-reference-hidden": p, "data-popper-escaped": h });
}
var $d = { name: "hide", enabled: !0, phase: "main", requiresIfExists: ["preventOverflow"], fn: zd };
function Fd(e, t, n) {
  var o = et(e), r = [Me, _e].indexOf(o) >= 0 ? -1 : 1, a = typeof n == "function" ? n(Object.assign({}, t, { placement: e })) : n, s = a[0], i = a[1];
  return s = s || 0, i = (i || 0) * r, [Me, $e].indexOf(o) >= 0 ? { x: i, y: s } : { x: s, y: i };
}
function Hd(e) {
  var t = e.state, n = e.options, o = e.name, r = n.offset, a = r === void 0 ? [0, 0] : r, s = Jo.reduce(function(p, h) {
    return p[h] = Fd(h, t.rects, a), p;
  }, {}), i = s[t.placement], l = i.x, c = i.y;
  t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += l, t.modifiersData.popperOffsets.y += c), t.modifiersData[o] = s;
}
var Gd = { name: "offset", enabled: !0, phase: "main", requires: ["popperOffsets"], fn: Hd };
function Vd(e) {
  var t = e.state, n = e.name;
  t.modifiersData[n] = ca({ reference: t.rects.reference, element: t.rects.popper, placement: t.placement });
}
var ua = { name: "popperOffsets", enabled: !0, phase: "read", fn: Vd, data: {} };
function Ud(e) {
  return e === "x" ? "y" : "x";
}
function jd(e) {
  var t = e.state, n = e.options, o = e.name, r = n.mainAxis, a = r === void 0 ? !0 : r, s = n.altAxis, i = s === void 0 ? !1 : s, l = n.boundary, c = n.rootBoundary, p = n.altBoundary, h = n.padding, b = n.tether, g = b === void 0 ? !0 : b, d = n.tetherOffset, v = d === void 0 ? 0 : d, x = An(t, { boundary: l, rootBoundary: c, padding: h, altBoundary: p }), E = et(t.placement), k = rn(t.placement), G = !k, _ = er(E), V = Ud(_), D = t.modifiersData.popperOffsets, M = t.rects.reference, F = t.rects.popper, J = typeof v == "function" ? v(Object.assign({}, t.rects, { placement: t.placement })) : v, Y = typeof J == "number" ? { mainAxis: J, altAxis: J } : Object.assign({ mainAxis: 0, altAxis: 0 }, J), R = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, X = { x: 0, y: 0 };
  if (D) {
    if (a) {
      var ee, we = _ === "y" ? _e : Me, oe = _ === "y" ? ze : $e, T = _ === "y" ? "height" : "width", A = D[_], L = A + x[we], B = A - x[oe], z = g ? -F[T] / 2 : 0, $ = k === en ? M[T] : F[T], U = k === en ? -F[T] : -M[T], q = t.elements.arrow, ue = g && q ? Qo(q) : { width: 0, height: 0 }, ge = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : oa(), Pe = ge[we], mt = ge[oe], He = hn(0, M[T], ue[T]), Xe = G ? M[T] / 2 - z - He - Pe - Y.mainAxis : $ - He - Pe - Y.mainAxis, rt = G ? -M[T] / 2 + z + He + mt + Y.mainAxis : U + He + mt + Y.mainAxis, We = t.elements.arrow && kn(t.elements.arrow), $t = We ? _ === "y" ? We.clientTop || 0 : We.clientLeft || 0 : 0, It = (ee = R == null ? void 0 : R[_]) != null ? ee : 0, Ft = A + Xe - It - $t, Ht = A + rt - It, Gt = hn(g ? qn(L, Ft) : L, A, g ? Nt(B, Ht) : B);
      D[_] = Gt, X[_] = Gt - A;
    }
    if (i) {
      var Vt, an = _ === "x" ? _e : Me, Ut = _ === "x" ? ze : $e, Ge = D[V], st = V === "y" ? "height" : "width", at = Ge + x[an], Ye = Ge - x[Ut], I = [_e, Me].indexOf(E) !== -1, se = (Vt = R == null ? void 0 : R[V]) != null ? Vt : 0, Ve = I ? at : Ge - M[st] - F[st] - se + Y.altAxis, Ae = I ? Ge + M[st] + F[st] - se - Y.altAxis : Ye, kt = g && I ? yd(Ve, Ge, Ae) : hn(g ? Ve : at, Ge, g ? Ae : Ye);
      D[V] = kt, X[V] = kt - Ge;
    }
    t.modifiersData[o] = X;
  }
}
var Kd = { name: "preventOverflow", enabled: !0, phase: "main", fn: jd, requiresIfExists: ["offset"] };
function qd(e) {
  return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop };
}
function Xd(e) {
  return e === qe(e) || !Be(e) ? tr(e) : qd(e);
}
function Wd(e) {
  var t = e.getBoundingClientRect(), n = nn(t.width) / e.offsetWidth || 1, o = nn(t.height) / e.offsetHeight || 1;
  return n !== 1 || o !== 1;
}
function Yd(e, t, n) {
  n === void 0 && (n = !1);
  var o = Be(t), r = Be(t) && Wd(t), a = Ot(t), s = on(e, r), i = { scrollLeft: 0, scrollTop: 0 }, l = { x: 0, y: 0 };
  return (o || !o && !n) && ((ot(t) !== "body" || or(a)) && (i = Xd(t)), Be(t) ? (l = on(t, !0), l.x += t.clientLeft, l.y += t.clientTop) : a && (l.x = nr(a))), { x: s.left + i.scrollLeft - l.x, y: s.top + i.scrollTop - l.y, width: s.width, height: s.height };
}
function Jd(e) {
  var t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), o = [];
  e.forEach(function(a) {
    t.set(a.name, a);
  });
  function r(a) {
    n.add(a.name);
    var s = [].concat(a.requires || [], a.requiresIfExists || []);
    s.forEach(function(i) {
      if (!n.has(i)) {
        var l = t.get(i);
        l && r(l);
      }
    }), o.push(a);
  }
  return e.forEach(function(a) {
    n.has(a.name) || r(a);
  }), o;
}
function Zd(e) {
  var t = Jd(e);
  return pd.reduce(function(n, o) {
    return n.concat(t.filter(function(r) {
      return r.phase === o;
    }));
  }, []);
}
function Qd(e) {
  var t;
  return function() {
    return t || (t = new Promise(function(n) {
      Promise.resolve().then(function() {
        t = void 0, n(e());
      });
    })), t;
  };
}
function e0(e) {
  var t = e.reduce(function(n, o) {
    var r = n[o.name];
    return n[o.name] = r ? Object.assign({}, r, o, { options: Object.assign({}, r.options, o.options), data: Object.assign({}, r.data, o.data) }) : o, n;
  }, {});
  return Object.keys(t).map(function(n) {
    return t[n];
  });
}
var Qr = { placement: "bottom", modifiers: [], strategy: "absolute" };
function es() {
  for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
  return !t.some(function(o) {
    return !(o && typeof o.getBoundingClientRect == "function");
  });
}
function rr(e) {
  e === void 0 && (e = {});
  var t = e, n = t.defaultModifiers, o = n === void 0 ? [] : n, r = t.defaultOptions, a = r === void 0 ? Qr : r;
  return function(s, i, l) {
    l === void 0 && (l = a);
    var c = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, Qr, a), modifiersData: {}, elements: { reference: s, popper: i }, attributes: {}, styles: {} }, p = [], h = !1, b = { state: c, setOptions: function(v) {
      var x = typeof v == "function" ? v(c.options) : v;
      d(), c.options = Object.assign({}, a, c.options, x), c.scrollParents = { reference: tn(s) ? gn(s) : s.contextElement ? gn(s.contextElement) : [], popper: gn(i) };
      var E = Zd(e0([].concat(o, c.options.modifiers)));
      return c.orderedModifiers = E.filter(function(k) {
        return k.enabled;
      }), g(), b.update();
    }, forceUpdate: function() {
      if (!h) {
        var v = c.elements, x = v.reference, E = v.popper;
        if (es(x, E)) {
          c.rects = { reference: Yd(x, kn(E), c.options.strategy === "fixed"), popper: Qo(E) }, c.reset = !1, c.placement = c.options.placement, c.orderedModifiers.forEach(function(F) {
            return c.modifiersData[F.name] = Object.assign({}, F.data);
          });
          for (var k = 0; k < c.orderedModifiers.length; k++) {
            if (c.reset === !0) {
              c.reset = !1, k = -1;
              continue;
            }
            var G = c.orderedModifiers[k], _ = G.fn, V = G.options, D = V === void 0 ? {} : V, M = G.name;
            typeof _ == "function" && (c = _({ state: c, options: D, name: M, instance: b }) || c);
          }
        }
      }
    }, update: Qd(function() {
      return new Promise(function(v) {
        b.forceUpdate(), v(c);
      });
    }), destroy: function() {
      d(), h = !0;
    } };
    if (!es(s, i)) return b;
    b.setOptions(l).then(function(v) {
      !h && l.onFirstUpdate && l.onFirstUpdate(v);
    });
    function g() {
      c.orderedModifiers.forEach(function(v) {
        var x = v.name, E = v.options, k = E === void 0 ? {} : E, G = v.effect;
        if (typeof G == "function") {
          var _ = G({ state: c, name: x, instance: b, options: k }), V = function() {
          };
          p.push(_ || V);
        }
      });
    }
    function d() {
      p.forEach(function(v) {
        return v();
      }), p = [];
    }
    return b;
  };
}
rr();
var t0 = [ia, ua, aa, ta];
rr({ defaultModifiers: t0 });
var n0 = [ia, ua, aa, ta, Gd, Bd, Kd, Ed, $d], o0 = rr({ defaultModifiers: n0 });
const r0 = ["fixed", "absolute"], s0 = me({
  boundariesPadding: {
    type: Number,
    default: 0
  },
  fallbackPlacements: {
    type: W(Array),
    default: void 0
  },
  gpuAcceleration: {
    type: Boolean,
    default: !0
  },
  offset: {
    type: Number,
    default: 12
  },
  placement: {
    type: String,
    values: Jo,
    default: "bottom"
  },
  popperOptions: {
    type: W(Object),
    default: () => ({})
  },
  strategy: {
    type: String,
    values: r0,
    default: "absolute"
  }
}), da = me({
  ...s0,
  id: String,
  style: {
    type: W([String, Array, Object])
  },
  className: {
    type: W([String, Array, Object])
  },
  effect: {
    type: W(String),
    default: "dark"
  },
  visible: Boolean,
  enterable: {
    type: Boolean,
    default: !0
  },
  pure: Boolean,
  focusOnShow: {
    type: Boolean,
    default: !1
  },
  trapping: {
    type: Boolean,
    default: !1
  },
  popperClass: {
    type: W([String, Array, Object])
  },
  popperStyle: {
    type: W([String, Array, Object])
  },
  referenceEl: {
    type: W(Object)
  },
  triggerTargetEl: {
    type: W(Object)
  },
  stopPopperMouseEvent: {
    type: Boolean,
    default: !0
  },
  virtualTriggering: Boolean,
  zIndex: Number,
  ...Vo(["ariaLabel"])
}), a0 = {
  mouseenter: (e) => e instanceof MouseEvent,
  mouseleave: (e) => e instanceof MouseEvent,
  focus: () => !0,
  blur: () => !0,
  close: () => !0
}, i0 = (e, t) => {
  const n = K(!1), o = K();
  return {
    focusStartRef: o,
    trapped: n,
    onFocusAfterReleased: (c) => {
      var p;
      ((p = c.detail) == null ? void 0 : p.focusReason) !== "pointer" && (o.value = "first", t("blur"));
    },
    onFocusAfterTrapped: () => {
      t("focus");
    },
    onFocusInTrap: (c) => {
      e.visible && !n.value && (c.target && (o.value = c.target), n.value = !0);
    },
    onFocusoutPrevented: (c) => {
      e.trapping || (c.detail.focusReason === "pointer" && c.preventDefault(), n.value = !1);
    },
    onReleaseRequested: () => {
      n.value = !1, t("close");
    }
  };
}, l0 = (e, t = []) => {
  const { placement: n, strategy: o, popperOptions: r } = e, a = {
    placement: n,
    strategy: o,
    ...r,
    modifiers: [...u0(e), ...t]
  };
  return d0(a, r == null ? void 0 : r.modifiers), a;
}, c0 = (e) => {
  if (Ee)
    return ws(e);
};
function u0(e) {
  const { offset: t, gpuAcceleration: n, fallbackPlacements: o } = e;
  return [
    {
      name: "offset",
      options: {
        offset: [0, t ?? 12]
      }
    },
    {
      name: "preventOverflow",
      options: {
        padding: {
          top: 2,
          bottom: 2,
          left: 5,
          right: 5
        }
      }
    },
    {
      name: "flip",
      options: {
        padding: 5,
        fallbackPlacements: o
      }
    },
    {
      name: "computeStyles",
      options: {
        gpuAcceleration: n
      }
    }
  ];
}
function d0(e, t) {
  t && (e.modifiers = [...e.modifiers, ...t ?? []]);
}
const f0 = (e, t, n = {}) => {
  const o = {
    name: "updateState",
    enabled: !0,
    phase: "write",
    fn: ({ state: l }) => {
      const c = p0(l);
      Object.assign(s.value, c);
    },
    requires: ["computeStyles"]
  }, r = O(() => {
    const { onFirstUpdate: l, placement: c, strategy: p, modifiers: h } = f(n);
    return {
      onFirstUpdate: l,
      placement: c || "bottom",
      strategy: p || "absolute",
      modifiers: [
        ...h || [],
        o,
        { name: "applyStyles", enabled: !1 }
      ]
    };
  }), a = pn(), s = K({
    styles: {
      popper: {
        position: f(r).strategy,
        left: "0",
        top: "0"
      },
      arrow: {
        position: "absolute"
      }
    },
    attributes: {}
  }), i = () => {
    a.value && (a.value.destroy(), a.value = void 0);
  };
  return re(r, (l) => {
    const c = f(a);
    c && c.setOptions(l);
  }, {
    deep: !0
  }), re([e, t], ([l, c]) => {
    i(), !(!l || !c) && (a.value = o0(l, c, f(r)));
  }), Fe(() => {
    i();
  }), {
    state: O(() => {
      var l;
      return { ...((l = f(a)) == null ? void 0 : l.state) || {} };
    }),
    styles: O(() => f(s).styles),
    attributes: O(() => f(s).attributes),
    update: () => {
      var l;
      return (l = f(a)) == null ? void 0 : l.update();
    },
    forceUpdate: () => {
      var l;
      return (l = f(a)) == null ? void 0 : l.forceUpdate();
    },
    instanceRef: O(() => f(a))
  };
};
function p0(e) {
  const t = Object.keys(e.elements), n = Un(t.map((r) => [r, e.styles[r] || {}])), o = Un(t.map((r) => [r, e.attributes[r]]));
  return {
    styles: n,
    attributes: o
  };
}
const h0 = 0, g0 = (e) => {
  const { popperInstanceRef: t, contentRef: n, triggerRef: o, role: r } = ve(qo, void 0), a = K(), s = K(), i = O(() => ({
    name: "eventListeners",
    enabled: !!e.visible
  })), l = O(() => {
    var E;
    const k = f(a), G = (E = f(s)) != null ? E : h0;
    return {
      name: "arrow",
      enabled: !Ms(k),
      options: {
        element: k,
        padding: G
      }
    };
  }), c = O(() => ({
    onFirstUpdate: () => {
      d();
    },
    ...l0(e, [
      f(l),
      f(i)
    ])
  })), p = O(() => c0(e.referenceEl) || f(o)), { attributes: h, state: b, styles: g, update: d, forceUpdate: v, instanceRef: x } = f0(p, n, c);
  return re(x, (E) => t.value = E), Te(() => {
    re(() => {
      var E;
      return (E = f(p)) == null ? void 0 : E.getBoundingClientRect();
    }, () => {
      d();
    });
  }), {
    attributes: h,
    arrowRef: a,
    contentRef: n,
    instanceRef: x,
    state: b,
    styles: g,
    role: r,
    forceUpdate: v,
    update: d
  };
}, v0 = (e, {
  attributes: t,
  styles: n,
  role: o
}) => {
  const { nextZIndex: r } = Ps(), a = Ce("popper"), s = O(() => f(t).popper), i = K(Bt(e.zIndex) ? e.zIndex : r()), l = O(() => [
    a.b(),
    a.is("pure", e.pure),
    a.is(e.effect),
    e.popperClass
  ]), c = O(() => [
    { zIndex: f(i) },
    f(n).popper,
    e.popperStyle || {}
  ]), p = O(() => o.value === "dialog" ? "false" : void 0), h = O(() => f(n).arrow || {});
  return {
    ariaModal: p,
    arrowStyle: h,
    contentAttrs: s,
    contentClass: l,
    contentStyle: c,
    contentZIndex: i,
    updateZIndex: () => {
      i.value = Bt(e.zIndex) ? e.zIndex : r();
    }
  };
}, m0 = Q({
  name: "ElPopperContent"
}), y0 = /* @__PURE__ */ Q({
  ...m0,
  props: da,
  emits: a0,
  setup(e, { expose: t, emit: n }) {
    const o = e, {
      focusStartRef: r,
      trapped: a,
      onFocusAfterReleased: s,
      onFocusAfterTrapped: i,
      onFocusInTrap: l,
      onFocusoutPrevented: c,
      onReleaseRequested: p
    } = i0(o, n), { attributes: h, arrowRef: b, contentRef: g, styles: d, instanceRef: v, role: x, update: E } = g0(o), {
      ariaModal: k,
      arrowStyle: G,
      contentAttrs: _,
      contentClass: V,
      contentStyle: D,
      updateZIndex: M
    } = v0(o, {
      styles: d,
      attributes: h,
      role: x
    }), F = ve(jn, void 0), J = K();
    nt(Us, {
      arrowStyle: G,
      arrowRef: b,
      arrowOffset: J
    }), F && nt(jn, {
      ...F,
      addInputId: St,
      removeInputId: St
    });
    let Y;
    const R = (ee = !0) => {
      E(), ee && M();
    }, X = () => {
      R(!1), o.visible && o.focusOnShow ? a.value = !0 : o.visible === !1 && (a.value = !1);
    };
    return Te(() => {
      re(() => o.triggerTargetEl, (ee, we) => {
        Y == null || Y(), Y = void 0;
        const oe = f(ee || g.value), T = f(we || g.value);
        At(oe) && (Y = re([x, () => o.ariaLabel, k, () => o.id], (A) => {
          ["role", "aria-label", "aria-modal", "id"].forEach((L, B) => {
            eo(A[B]) ? oe.removeAttribute(L) : oe.setAttribute(L, A[B]);
          });
        }, { immediate: !0 })), T !== oe && At(T) && ["role", "aria-label", "aria-modal", "id"].forEach((A) => {
          T.removeAttribute(A);
        });
      }, { immediate: !0 }), re(() => o.visible, X, { immediate: !0 });
    }), Fe(() => {
      Y == null || Y(), Y = void 0;
    }), t({
      popperContentRef: g,
      popperInstanceRef: v,
      updatePopper: R,
      contentStyle: D
    }), (ee, we) => (N(), Z("div", ht({
      ref_key: "contentRef",
      ref: g
    }, f(_), {
      style: f(D),
      class: f(V),
      tabindex: "-1",
      onMouseenter: (oe) => ee.$emit("mouseenter", oe),
      onMouseleave: (oe) => ee.$emit("mouseleave", oe)
    }), [
      ye(f(Qs), {
        trapped: f(a),
        "trap-on-focus-in": !0,
        "focus-trap-el": f(g),
        "focus-start-el": f(r),
        onFocusAfterTrapped: f(i),
        onFocusAfterReleased: f(s),
        onFocusin: f(l),
        onFocusoutPrevented: f(c),
        onReleaseRequested: f(p)
      }, {
        default: ne(() => [
          ie(ee.$slots, "default")
        ]),
        _: 3
      }, 8, ["trapped", "focus-trap-el", "focus-start-el", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusin", "onFocusoutPrevented", "onReleaseRequested"])
    ], 16, ["onMouseenter", "onMouseleave"]));
  }
});
var b0 = /* @__PURE__ */ be(y0, [["__file", "content.vue"]]);
const x0 = vt(Pu), sr = Symbol("elTooltip");
function ts() {
  let e;
  const t = (o, r) => {
    n(), e = window.setTimeout(o, r);
  }, n = () => window.clearTimeout(e);
  return gi(() => n()), {
    registerTimeout: t,
    cancelTimeout: n
  };
}
const w0 = me({
  showAfter: {
    type: Number,
    default: 0
  },
  hideAfter: {
    type: Number,
    default: 200
  },
  autoClose: {
    type: Number,
    default: 0
  }
}), E0 = ({
  showAfter: e,
  hideAfter: t,
  autoClose: n,
  open: o,
  close: r
}) => {
  const { registerTimeout: a } = ts(), {
    registerTimeout: s,
    cancelTimeout: i
  } = ts();
  return {
    onOpen: (p) => {
      a(() => {
        o(p);
        const h = f(n);
        Bt(h) && h > 0 && s(() => {
          r(p);
        }, h);
      }, f(e));
    },
    onClose: (p) => {
      i(), a(() => {
        r(p);
      }, f(t));
    }
  };
}, Ne = me({
  ...w0,
  ...da,
  appendTo: {
    type: W([String, Object])
  },
  content: {
    type: String,
    default: ""
  },
  rawContent: Boolean,
  persistent: Boolean,
  visible: {
    type: W(Boolean),
    default: null
  },
  transition: String,
  teleported: {
    type: Boolean,
    default: !0
  },
  disabled: Boolean,
  ...Vo(["ariaLabel"])
}), Yt = me({
  ...Xs,
  disabled: Boolean,
  trigger: {
    type: W([String, Array]),
    default: "hover"
  },
  triggerKeys: {
    type: W(Array),
    default: () => [pt.enter, pt.numpadEnter, pt.space]
  }
}), S0 = no({
  type: W(Boolean),
  default: null
}), A0 = no({
  type: W(Function)
}), C0 = (e) => {
  const t = `update:${e}`, n = `onUpdate:${e}`, o = [t], r = {
    [e]: S0,
    [n]: A0
  };
  return {
    useModelToggle: ({
      indicator: s,
      toggleReason: i,
      shouldHideWhenRouteChanges: l,
      shouldProceed: c,
      onShow: p,
      onHide: h
    }) => {
      const b = tt(), { emit: g } = b, d = b.props, v = O(() => wt(d[n])), x = O(() => d[e] === null), E = (M) => {
        s.value !== !0 && (s.value = !0, i && (i.value = M), wt(p) && p(M));
      }, k = (M) => {
        s.value !== !1 && (s.value = !1, i && (i.value = M), wt(h) && h(M));
      }, G = (M) => {
        if (d.disabled === !0 || wt(c) && !c())
          return;
        const F = v.value && Ee;
        F && g(t, !0), (x.value || !F) && E(M);
      }, _ = (M) => {
        if (d.disabled === !0 || !Ee)
          return;
        const F = v.value && Ee;
        F && g(t, !1), (x.value || !F) && k(M);
      }, V = (M) => {
        to(M) && (d.disabled && M ? v.value && g(t, !1) : s.value !== M && (M ? E() : k()));
      }, D = () => {
        s.value ? _() : G();
      };
      return re(() => d[e], V), l && b.appContext.config.globalProperties.$route !== void 0 && re(() => ({
        ...b.proxy.$route
      }), () => {
        l.value && s.value && _();
      }), Te(() => {
        V(d[e]);
      }), {
        hide: _,
        show: G,
        toggle: D,
        hasUpdateHandler: v
      };
    },
    useModelToggleProps: r,
    useModelToggleEmits: o
  };
}, {
  useModelToggleProps: T0,
  useModelToggleEmits: O0,
  useModelToggle: I0
} = C0("visible"), k0 = me({
  ...Ks,
  ...T0,
  ...Ne,
  ...Yt,
  ...qs,
  showArrow: {
    type: Boolean,
    default: !0
  }
}), _0 = [
  ...O0,
  "before-show",
  "before-hide",
  "show",
  "hide",
  "open",
  "close"
], M0 = (e, t) => ki(e) ? e.includes(t) : e === t, jt = (e, t, n) => (o) => {
  M0(f(e), t) && n(o);
}, ut = (e, t, { checkForDefaultPrevented: n = !0 } = {}) => (r) => {
  const a = e == null ? void 0 : e(r);
  if (n === !1 || !a)
    return t == null ? void 0 : t(r);
}, D0 = Q({
  name: "ElTooltipTrigger"
}), L0 = /* @__PURE__ */ Q({
  ...D0,
  props: Yt,
  setup(e, { expose: t }) {
    const n = e, o = Ce("tooltip"), { controlled: r, id: a, open: s, onOpen: i, onClose: l, onToggle: c } = ve(sr, void 0), p = K(null), h = () => {
      if (f(r) || n.disabled)
        return !0;
    }, b = ft(n, "trigger"), g = ut(h, jt(b, "hover", i)), d = ut(h, jt(b, "hover", l)), v = ut(h, jt(b, "click", (_) => {
      _.button === 0 && c(_);
    })), x = ut(h, jt(b, "focus", i)), E = ut(h, jt(b, "focus", l)), k = ut(h, jt(b, "contextmenu", (_) => {
      _.preventDefault(), c(_);
    })), G = ut(h, (_) => {
      const { code: V } = _;
      n.triggerKeys.includes(V) && (_.preventDefault(), c(_));
    });
    return t({
      triggerRef: p
    }), (_, V) => (N(), he(f(Vu), {
      id: f(a),
      "virtual-ref": _.virtualRef,
      open: f(s),
      "virtual-triggering": _.virtualTriggering,
      class: te(f(o).e("trigger")),
      onBlur: f(E),
      onClick: f(v),
      onContextmenu: f(k),
      onFocus: f(x),
      onMouseenter: f(g),
      onMouseleave: f(d),
      onKeydown: f(G)
    }, {
      default: ne(() => [
        ie(_.$slots, "default")
      ]),
      _: 3
    }, 8, ["id", "virtual-ref", "open", "virtual-triggering", "class", "onBlur", "onClick", "onContextmenu", "onFocus", "onMouseenter", "onMouseleave", "onKeydown"]));
  }
});
var P0 = /* @__PURE__ */ be(L0, [["__file", "trigger.vue"]]);
const N0 = me({
  to: {
    type: W([String, Object]),
    required: !0
  },
  disabled: Boolean
}), R0 = /* @__PURE__ */ Q({
  __name: "teleport",
  props: N0,
  setup(e) {
    return (t, n) => t.disabled ? ie(t.$slots, "default", { key: 0 }) : (N(), he(qa, {
      key: 1,
      to: t.to
    }, [
      ie(t.$slots, "default")
    ], 8, ["to"]));
  }
});
var B0 = /* @__PURE__ */ be(R0, [["__file", "teleport.vue"]]);
const fa = vt(B0), pa = () => {
  const e = Bo(), t = Fs(), n = O(() => `${e.value}-popper-container-${t.prefix}`), o = O(() => `#${n.value}`);
  return {
    id: n,
    selector: o
  };
}, z0 = (e) => {
  const t = document.createElement("div");
  return t.id = e, document.body.appendChild(t), t;
}, $0 = () => {
  const { id: e, selector: t } = pa();
  return ys(() => {
    Ee && (process.env.NODE_ENV === "test" || !document.body.querySelector(t.value)) && z0(e.value);
  }), {
    id: e,
    selector: t
  };
}, F0 = Q({
  name: "ElTooltipContent",
  inheritAttrs: !1
}), H0 = /* @__PURE__ */ Q({
  ...F0,
  props: Ne,
  setup(e, { expose: t }) {
    const n = e, { selector: o } = pa(), r = Ce("tooltip"), a = K();
    let s;
    const {
      controlled: i,
      id: l,
      open: c,
      trigger: p,
      onClose: h,
      onOpen: b,
      onShow: g,
      onHide: d,
      onBeforeShow: v,
      onBeforeHide: x
    } = ve(sr, void 0), E = O(() => n.transition || `${r.namespace.value}-fade-in-linear`), k = O(() => process.env.NODE_ENV === "test" ? !0 : n.persistent);
    Fe(() => {
      s == null || s();
    });
    const G = O(() => f(k) ? !0 : f(c)), _ = O(() => n.disabled ? !1 : f(c)), V = O(() => n.appendTo || o.value), D = O(() => {
      var A;
      return (A = n.style) != null ? A : {};
    }), M = K(!0), F = () => {
      d(), T() && ct(document.body), M.value = !0;
    }, J = () => {
      if (f(i))
        return !0;
    }, Y = ut(J, () => {
      n.enterable && f(p) === "hover" && b();
    }), R = ut(J, () => {
      f(p) === "hover" && h();
    }), X = () => {
      var A, L;
      (L = (A = a.value) == null ? void 0 : A.updatePopper) == null || L.call(A), v == null || v();
    }, ee = () => {
      x == null || x();
    }, we = () => {
      g(), s = vi(O(() => {
        var A;
        return (A = a.value) == null ? void 0 : A.popperContentRef;
      }), () => {
        if (f(i))
          return;
        f(p) !== "hover" && h();
      });
    }, oe = () => {
      n.virtualTriggering || h();
    }, T = (A) => {
      var L;
      const B = (L = a.value) == null ? void 0 : L.popperContentRef, z = (A == null ? void 0 : A.relatedTarget) || document.activeElement;
      return B == null ? void 0 : B.contains(z);
    };
    return re(() => f(c), (A) => {
      A ? M.value = !1 : s == null || s();
    }, {
      flush: "post"
    }), re(() => n.content, () => {
      var A, L;
      (L = (A = a.value) == null ? void 0 : A.updatePopper) == null || L.call(A);
    }), t({
      contentRef: a,
      isFocusInsideContent: T
    }), (A, L) => (N(), he(f(fa), {
      disabled: !A.teleported,
      to: f(V)
    }, {
      default: ne(() => [
        ye(bs, {
          name: f(E),
          onAfterLeave: F,
          onBeforeEnter: X,
          onAfterEnter: we,
          onBeforeLeave: ee
        }, {
          default: ne(() => [
            f(G) ? Tn((N(), he(f(b0), ht({
              key: 0,
              id: f(l),
              ref_key: "contentRef",
              ref: a
            }, A.$attrs, {
              "aria-label": A.ariaLabel,
              "aria-hidden": M.value,
              "boundaries-padding": A.boundariesPadding,
              "fallback-placements": A.fallbackPlacements,
              "gpu-acceleration": A.gpuAcceleration,
              offset: A.offset,
              placement: A.placement,
              "popper-options": A.popperOptions,
              strategy: A.strategy,
              effect: A.effect,
              enterable: A.enterable,
              pure: A.pure,
              "popper-class": A.popperClass,
              "popper-style": [A.popperStyle, f(D)],
              "reference-el": A.referenceEl,
              "trigger-target-el": A.triggerTargetEl,
              visible: f(_),
              "z-index": A.zIndex,
              onMouseenter: f(Y),
              onMouseleave: f(R),
              onBlur: oe,
              onClose: f(h)
            }), {
              default: ne(() => [
                ie(A.$slots, "default")
              ]),
              _: 3
            }, 16, ["id", "aria-label", "aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "trigger-target-el", "visible", "z-index", "onMouseenter", "onMouseleave", "onClose"])), [
              [Ro, f(_)]
            ]) : ce("v-if", !0)
          ]),
          _: 3
        }, 8, ["name"])
      ]),
      _: 3
    }, 8, ["disabled", "to"]));
  }
});
var G0 = /* @__PURE__ */ be(H0, [["__file", "content.vue"]]);
const V0 = Q({
  name: "ElTooltip"
}), U0 = /* @__PURE__ */ Q({
  ...V0,
  props: k0,
  emits: _0,
  setup(e, { expose: t, emit: n }) {
    const o = e;
    $0();
    const r = Kn(), a = K(), s = K(), i = () => {
      var E;
      const k = f(a);
      k && ((E = k.popperInstanceRef) == null || E.update());
    }, l = K(!1), c = K(), { show: p, hide: h, hasUpdateHandler: b } = I0({
      indicator: l,
      toggleReason: c
    }), { onOpen: g, onClose: d } = E0({
      showAfter: ft(o, "showAfter"),
      hideAfter: ft(o, "hideAfter"),
      autoClose: ft(o, "autoClose"),
      open: p,
      close: h
    }), v = O(() => to(o.visible) && !b.value);
    nt(sr, {
      controlled: v,
      id: r,
      open: Xa(l),
      trigger: ft(o, "trigger"),
      onOpen: (E) => {
        g(E);
      },
      onClose: (E) => {
        d(E);
      },
      onToggle: (E) => {
        f(l) ? d(E) : g(E);
      },
      onShow: () => {
        n("show", c.value);
      },
      onHide: () => {
        n("hide", c.value);
      },
      onBeforeShow: () => {
        n("before-show", c.value);
      },
      onBeforeHide: () => {
        n("before-hide", c.value);
      },
      updatePopper: i
    }), re(() => o.disabled, (E) => {
      E && l.value && (l.value = !1);
    });
    const x = (E) => {
      var k;
      return (k = s.value) == null ? void 0 : k.isFocusInsideContent(E);
    };
    return Wa(() => l.value && h()), t({
      popperRef: a,
      contentRef: s,
      isFocusInsideContent: x,
      updatePopper: i,
      onOpen: g,
      onClose: d,
      hide: h
    }), (E, k) => (N(), he(f(x0), {
      ref_key: "popperRef",
      ref: a,
      role: E.role
    }, {
      default: ne(() => [
        ye(P0, {
          disabled: E.disabled,
          trigger: E.trigger,
          "trigger-keys": E.triggerKeys,
          "virtual-ref": E.virtualRef,
          "virtual-triggering": E.virtualTriggering
        }, {
          default: ne(() => [
            E.$slots.default ? ie(E.$slots, "default", { key: 0 }) : ce("v-if", !0)
          ]),
          _: 3
        }, 8, ["disabled", "trigger", "trigger-keys", "virtual-ref", "virtual-triggering"]),
        ye(G0, {
          ref_key: "contentRef",
          ref: s,
          "aria-label": E.ariaLabel,
          "boundaries-padding": E.boundariesPadding,
          content: E.content,
          disabled: E.disabled,
          effect: E.effect,
          enterable: E.enterable,
          "fallback-placements": E.fallbackPlacements,
          "hide-after": E.hideAfter,
          "gpu-acceleration": E.gpuAcceleration,
          offset: E.offset,
          persistent: E.persistent,
          "popper-class": E.popperClass,
          "popper-style": E.popperStyle,
          placement: E.placement,
          "popper-options": E.popperOptions,
          pure: E.pure,
          "raw-content": E.rawContent,
          "reference-el": E.referenceEl,
          "trigger-target-el": E.triggerTargetEl,
          "show-after": E.showAfter,
          strategy: E.strategy,
          teleported: E.teleported,
          transition: E.transition,
          "virtual-triggering": E.virtualTriggering,
          "z-index": E.zIndex,
          "append-to": E.appendTo
        }, {
          default: ne(() => [
            ie(E.$slots, "content", {}, () => [
              E.rawContent ? (N(), Z("span", {
                key: 0,
                innerHTML: E.content
              }, null, 8, ["innerHTML"])) : (N(), Z("span", { key: 1 }, je(E.content), 1))
            ]),
            E.showArrow ? (N(), he(f(Bu), {
              key: 0,
              "arrow-offset": E.arrowOffset
            }, null, 8, ["arrow-offset"])) : ce("v-if", !0)
          ]),
          _: 3
        }, 8, ["aria-label", "boundaries-padding", "content", "disabled", "effect", "enterable", "fallback-placements", "hide-after", "gpu-acceleration", "offset", "persistent", "popper-class", "popper-style", "placement", "popper-options", "pure", "raw-content", "reference-el", "trigger-target-el", "show-after", "strategy", "teleported", "transition", "virtual-triggering", "z-index", "append-to"])
      ]),
      _: 3
    }, 8, ["role"]));
  }
});
var j0 = /* @__PURE__ */ be(U0, [["__file", "tooltip.vue"]]);
const K0 = vt(j0), ha = Symbol("buttonGroupContextKey"), ga = ({ from: e, replacement: t, scope: n, version: o, ref: r, type: a = "API" }, s) => {
  re(() => f(s), (i) => {
    i && Qe(n, `[${a}] ${e} is about to be deprecated in version ${o}, please use ${t} instead.
For more detail, please visit: ${r}
`);
  }, {
    immediate: !0
  });
}, q0 = (e, t) => {
  ga({
    from: "type.text",
    replacement: "link",
    version: "3.0.0",
    scope: "props",
    ref: "https://element-plus.org/en-US/component/button.html#button-attributes"
  }, O(() => e.type === "text"));
  const n = ve(ha, void 0), o = Bs("button"), { form: r } = Hs(), a = Gs(O(() => n == null ? void 0 : n.size)), s = Ko(), i = K(), l = No(), c = O(() => e.type || (n == null ? void 0 : n.type) || ""), p = O(() => {
    var d, v, x;
    return (x = (v = e.autoInsertSpace) != null ? v : (d = o.value) == null ? void 0 : d.autoInsertSpace) != null ? x : !1;
  }), h = O(() => e.tag === "button" ? {
    ariaDisabled: s.value || e.loading,
    disabled: s.value || e.loading,
    autofocus: e.autofocus,
    type: e.nativeType
  } : {}), b = O(() => {
    var d;
    const v = (d = l.default) == null ? void 0 : d.call(l);
    if (p.value && (v == null ? void 0 : v.length) === 1) {
      const x = v[0];
      if ((x == null ? void 0 : x.type) === ms) {
        const E = x.children;
        return new RegExp("^\\p{Unified_Ideograph}{2}$", "u").test(E.trim());
      }
    }
    return !1;
  });
  return {
    _disabled: s,
    _size: a,
    _type: c,
    _ref: i,
    _props: h,
    shouldAddSpace: b,
    handleClick: (d) => {
      if (s.value || e.loading) {
        d.stopPropagation();
        return;
      }
      e.nativeType === "reset" && (r == null || r.resetFields()), t("click", d);
    }
  };
}, X0 = [
  "default",
  "primary",
  "success",
  "warning",
  "info",
  "danger",
  "text",
  ""
], W0 = ["button", "submit", "reset"], Co = me({
  size: Rs,
  disabled: Boolean,
  type: {
    type: String,
    values: X0,
    default: ""
  },
  icon: {
    type: Qt
  },
  nativeType: {
    type: String,
    values: W0,
    default: "button"
  },
  loading: Boolean,
  loadingIcon: {
    type: Qt,
    default: () => Ss
  },
  plain: Boolean,
  text: Boolean,
  link: Boolean,
  bg: Boolean,
  autofocus: Boolean,
  round: Boolean,
  circle: Boolean,
  color: String,
  dark: Boolean,
  autoInsertSpace: {
    type: Boolean,
    default: void 0
  },
  tag: {
    type: W([String, Object]),
    default: "button"
  }
}), Y0 = {
  click: (e) => e instanceof MouseEvent
};
function Se(e, t) {
  J0(e) && (e = "100%");
  var n = Z0(e);
  return e = t === 360 ? e : Math.min(t, Math.max(0, parseFloat(e))), n && (e = parseInt(String(e * t), 10) / 100), Math.abs(e - t) < 1e-6 ? 1 : (t === 360 ? e = (e < 0 ? e % t + t : e % t) / parseFloat(String(t)) : e = e % t / parseFloat(String(t)), e);
}
function Bn(e) {
  return Math.min(1, Math.max(0, e));
}
function J0(e) {
  return typeof e == "string" && e.indexOf(".") !== -1 && parseFloat(e) === 1;
}
function Z0(e) {
  return typeof e == "string" && e.indexOf("%") !== -1;
}
function va(e) {
  return e = parseFloat(e), (isNaN(e) || e < 0 || e > 1) && (e = 1), e;
}
function zn(e) {
  return e <= 1 ? "".concat(Number(e) * 100, "%") : e;
}
function Dt(e) {
  return e.length === 1 ? "0" + e : String(e);
}
function Q0(e, t, n) {
  return {
    r: Se(e, 255) * 255,
    g: Se(t, 255) * 255,
    b: Se(n, 255) * 255
  };
}
function ns(e, t, n) {
  e = Se(e, 255), t = Se(t, 255), n = Se(n, 255);
  var o = Math.max(e, t, n), r = Math.min(e, t, n), a = 0, s = 0, i = (o + r) / 2;
  if (o === r)
    s = 0, a = 0;
  else {
    var l = o - r;
    switch (s = i > 0.5 ? l / (2 - o - r) : l / (o + r), o) {
      case e:
        a = (t - n) / l + (t < n ? 6 : 0);
        break;
      case t:
        a = (n - e) / l + 2;
        break;
      case n:
        a = (e - t) / l + 4;
        break;
    }
    a /= 6;
  }
  return { h: a, s, l: i };
}
function go(e, t, n) {
  return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? e + (t - e) * (6 * n) : n < 1 / 2 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e;
}
function ef(e, t, n) {
  var o, r, a;
  if (e = Se(e, 360), t = Se(t, 100), n = Se(n, 100), t === 0)
    r = n, a = n, o = n;
  else {
    var s = n < 0.5 ? n * (1 + t) : n + t - n * t, i = 2 * n - s;
    o = go(i, s, e + 1 / 3), r = go(i, s, e), a = go(i, s, e - 1 / 3);
  }
  return { r: o * 255, g: r * 255, b: a * 255 };
}
function os(e, t, n) {
  e = Se(e, 255), t = Se(t, 255), n = Se(n, 255);
  var o = Math.max(e, t, n), r = Math.min(e, t, n), a = 0, s = o, i = o - r, l = o === 0 ? 0 : i / o;
  if (o === r)
    a = 0;
  else {
    switch (o) {
      case e:
        a = (t - n) / i + (t < n ? 6 : 0);
        break;
      case t:
        a = (n - e) / i + 2;
        break;
      case n:
        a = (e - t) / i + 4;
        break;
    }
    a /= 6;
  }
  return { h: a, s: l, v: s };
}
function tf(e, t, n) {
  e = Se(e, 360) * 6, t = Se(t, 100), n = Se(n, 100);
  var o = Math.floor(e), r = e - o, a = n * (1 - t), s = n * (1 - r * t), i = n * (1 - (1 - r) * t), l = o % 6, c = [n, s, a, a, i, n][l], p = [i, n, n, s, a, a][l], h = [a, a, i, n, n, s][l];
  return { r: c * 255, g: p * 255, b: h * 255 };
}
function rs(e, t, n, o) {
  var r = [
    Dt(Math.round(e).toString(16)),
    Dt(Math.round(t).toString(16)),
    Dt(Math.round(n).toString(16))
  ];
  return o && r[0].startsWith(r[0].charAt(1)) && r[1].startsWith(r[1].charAt(1)) && r[2].startsWith(r[2].charAt(1)) ? r[0].charAt(0) + r[1].charAt(0) + r[2].charAt(0) : r.join("");
}
function nf(e, t, n, o, r) {
  var a = [
    Dt(Math.round(e).toString(16)),
    Dt(Math.round(t).toString(16)),
    Dt(Math.round(n).toString(16)),
    Dt(of(o))
  ];
  return r && a[0].startsWith(a[0].charAt(1)) && a[1].startsWith(a[1].charAt(1)) && a[2].startsWith(a[2].charAt(1)) && a[3].startsWith(a[3].charAt(1)) ? a[0].charAt(0) + a[1].charAt(0) + a[2].charAt(0) + a[3].charAt(0) : a.join("");
}
function of(e) {
  return Math.round(parseFloat(e) * 255).toString(16);
}
function ss(e) {
  return De(e) / 255;
}
function De(e) {
  return parseInt(e, 16);
}
function rf(e) {
  return {
    r: e >> 16,
    g: (e & 65280) >> 8,
    b: e & 255
  };
}
var To = {
  aliceblue: "#f0f8ff",
  antiquewhite: "#faebd7",
  aqua: "#00ffff",
  aquamarine: "#7fffd4",
  azure: "#f0ffff",
  beige: "#f5f5dc",
  bisque: "#ffe4c4",
  black: "#000000",
  blanchedalmond: "#ffebcd",
  blue: "#0000ff",
  blueviolet: "#8a2be2",
  brown: "#a52a2a",
  burlywood: "#deb887",
  cadetblue: "#5f9ea0",
  chartreuse: "#7fff00",
  chocolate: "#d2691e",
  coral: "#ff7f50",
  cornflowerblue: "#6495ed",
  cornsilk: "#fff8dc",
  crimson: "#dc143c",
  cyan: "#00ffff",
  darkblue: "#00008b",
  darkcyan: "#008b8b",
  darkgoldenrod: "#b8860b",
  darkgray: "#a9a9a9",
  darkgreen: "#006400",
  darkgrey: "#a9a9a9",
  darkkhaki: "#bdb76b",
  darkmagenta: "#8b008b",
  darkolivegreen: "#556b2f",
  darkorange: "#ff8c00",
  darkorchid: "#9932cc",
  darkred: "#8b0000",
  darksalmon: "#e9967a",
  darkseagreen: "#8fbc8f",
  darkslateblue: "#483d8b",
  darkslategray: "#2f4f4f",
  darkslategrey: "#2f4f4f",
  darkturquoise: "#00ced1",
  darkviolet: "#9400d3",
  deeppink: "#ff1493",
  deepskyblue: "#00bfff",
  dimgray: "#696969",
  dimgrey: "#696969",
  dodgerblue: "#1e90ff",
  firebrick: "#b22222",
  floralwhite: "#fffaf0",
  forestgreen: "#228b22",
  fuchsia: "#ff00ff",
  gainsboro: "#dcdcdc",
  ghostwhite: "#f8f8ff",
  goldenrod: "#daa520",
  gold: "#ffd700",
  gray: "#808080",
  green: "#008000",
  greenyellow: "#adff2f",
  grey: "#808080",
  honeydew: "#f0fff0",
  hotpink: "#ff69b4",
  indianred: "#cd5c5c",
  indigo: "#4b0082",
  ivory: "#fffff0",
  khaki: "#f0e68c",
  lavenderblush: "#fff0f5",
  lavender: "#e6e6fa",
  lawngreen: "#7cfc00",
  lemonchiffon: "#fffacd",
  lightblue: "#add8e6",
  lightcoral: "#f08080",
  lightcyan: "#e0ffff",
  lightgoldenrodyellow: "#fafad2",
  lightgray: "#d3d3d3",
  lightgreen: "#90ee90",
  lightgrey: "#d3d3d3",
  lightpink: "#ffb6c1",
  lightsalmon: "#ffa07a",
  lightseagreen: "#20b2aa",
  lightskyblue: "#87cefa",
  lightslategray: "#778899",
  lightslategrey: "#778899",
  lightsteelblue: "#b0c4de",
  lightyellow: "#ffffe0",
  lime: "#00ff00",
  limegreen: "#32cd32",
  linen: "#faf0e6",
  magenta: "#ff00ff",
  maroon: "#800000",
  mediumaquamarine: "#66cdaa",
  mediumblue: "#0000cd",
  mediumorchid: "#ba55d3",
  mediumpurple: "#9370db",
  mediumseagreen: "#3cb371",
  mediumslateblue: "#7b68ee",
  mediumspringgreen: "#00fa9a",
  mediumturquoise: "#48d1cc",
  mediumvioletred: "#c71585",
  midnightblue: "#191970",
  mintcream: "#f5fffa",
  mistyrose: "#ffe4e1",
  moccasin: "#ffe4b5",
  navajowhite: "#ffdead",
  navy: "#000080",
  oldlace: "#fdf5e6",
  olive: "#808000",
  olivedrab: "#6b8e23",
  orange: "#ffa500",
  orangered: "#ff4500",
  orchid: "#da70d6",
  palegoldenrod: "#eee8aa",
  palegreen: "#98fb98",
  paleturquoise: "#afeeee",
  palevioletred: "#db7093",
  papayawhip: "#ffefd5",
  peachpuff: "#ffdab9",
  peru: "#cd853f",
  pink: "#ffc0cb",
  plum: "#dda0dd",
  powderblue: "#b0e0e6",
  purple: "#800080",
  rebeccapurple: "#663399",
  red: "#ff0000",
  rosybrown: "#bc8f8f",
  royalblue: "#4169e1",
  saddlebrown: "#8b4513",
  salmon: "#fa8072",
  sandybrown: "#f4a460",
  seagreen: "#2e8b57",
  seashell: "#fff5ee",
  sienna: "#a0522d",
  silver: "#c0c0c0",
  skyblue: "#87ceeb",
  slateblue: "#6a5acd",
  slategray: "#708090",
  slategrey: "#708090",
  snow: "#fffafa",
  springgreen: "#00ff7f",
  steelblue: "#4682b4",
  tan: "#d2b48c",
  teal: "#008080",
  thistle: "#d8bfd8",
  tomato: "#ff6347",
  turquoise: "#40e0d0",
  violet: "#ee82ee",
  wheat: "#f5deb3",
  white: "#ffffff",
  whitesmoke: "#f5f5f5",
  yellow: "#ffff00",
  yellowgreen: "#9acd32"
};
function sf(e) {
  var t = { r: 0, g: 0, b: 0 }, n = 1, o = null, r = null, a = null, s = !1, i = !1;
  return typeof e == "string" && (e = cf(e)), typeof e == "object" && (lt(e.r) && lt(e.g) && lt(e.b) ? (t = Q0(e.r, e.g, e.b), s = !0, i = String(e.r).substr(-1) === "%" ? "prgb" : "rgb") : lt(e.h) && lt(e.s) && lt(e.v) ? (o = zn(e.s), r = zn(e.v), t = tf(e.h, o, r), s = !0, i = "hsv") : lt(e.h) && lt(e.s) && lt(e.l) && (o = zn(e.s), a = zn(e.l), t = ef(e.h, o, a), s = !0, i = "hsl"), Object.prototype.hasOwnProperty.call(e, "a") && (n = e.a)), n = va(n), {
    ok: s,
    format: e.format || i,
    r: Math.min(255, Math.max(t.r, 0)),
    g: Math.min(255, Math.max(t.g, 0)),
    b: Math.min(255, Math.max(t.b, 0)),
    a: n
  };
}
var af = "[-\\+]?\\d+%?", lf = "[-\\+]?\\d*\\.\\d+%?", Et = "(?:".concat(lf, ")|(?:").concat(af, ")"), vo = "[\\s|\\(]+(".concat(Et, ")[,|\\s]+(").concat(Et, ")[,|\\s]+(").concat(Et, ")\\s*\\)?"), mo = "[\\s|\\(]+(".concat(Et, ")[,|\\s]+(").concat(Et, ")[,|\\s]+(").concat(Et, ")[,|\\s]+(").concat(Et, ")\\s*\\)?"), Ue = {
  CSS_UNIT: new RegExp(Et),
  rgb: new RegExp("rgb" + vo),
  rgba: new RegExp("rgba" + mo),
  hsl: new RegExp("hsl" + vo),
  hsla: new RegExp("hsla" + mo),
  hsv: new RegExp("hsv" + vo),
  hsva: new RegExp("hsva" + mo),
  hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
  hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
  hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
  hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
};
function cf(e) {
  if (e = e.trim().toLowerCase(), e.length === 0)
    return !1;
  var t = !1;
  if (To[e])
    e = To[e], t = !0;
  else if (e === "transparent")
    return { r: 0, g: 0, b: 0, a: 0, format: "name" };
  var n = Ue.rgb.exec(e);
  return n ? { r: n[1], g: n[2], b: n[3] } : (n = Ue.rgba.exec(e), n ? { r: n[1], g: n[2], b: n[3], a: n[4] } : (n = Ue.hsl.exec(e), n ? { h: n[1], s: n[2], l: n[3] } : (n = Ue.hsla.exec(e), n ? { h: n[1], s: n[2], l: n[3], a: n[4] } : (n = Ue.hsv.exec(e), n ? { h: n[1], s: n[2], v: n[3] } : (n = Ue.hsva.exec(e), n ? { h: n[1], s: n[2], v: n[3], a: n[4] } : (n = Ue.hex8.exec(e), n ? {
    r: De(n[1]),
    g: De(n[2]),
    b: De(n[3]),
    a: ss(n[4]),
    format: t ? "name" : "hex8"
  } : (n = Ue.hex6.exec(e), n ? {
    r: De(n[1]),
    g: De(n[2]),
    b: De(n[3]),
    format: t ? "name" : "hex"
  } : (n = Ue.hex4.exec(e), n ? {
    r: De(n[1] + n[1]),
    g: De(n[2] + n[2]),
    b: De(n[3] + n[3]),
    a: ss(n[4] + n[4]),
    format: t ? "name" : "hex8"
  } : (n = Ue.hex3.exec(e), n ? {
    r: De(n[1] + n[1]),
    g: De(n[2] + n[2]),
    b: De(n[3] + n[3]),
    format: t ? "name" : "hex"
  } : !1)))))))));
}
function lt(e) {
  return !!Ue.CSS_UNIT.exec(String(e));
}
var uf = (
  /** @class */
  function() {
    function e(t, n) {
      t === void 0 && (t = ""), n === void 0 && (n = {});
      var o;
      if (t instanceof e)
        return t;
      typeof t == "number" && (t = rf(t)), this.originalInput = t;
      var r = sf(t);
      this.originalInput = t, this.r = r.r, this.g = r.g, this.b = r.b, this.a = r.a, this.roundA = Math.round(100 * this.a) / 100, this.format = (o = n.format) !== null && o !== void 0 ? o : r.format, this.gradientType = n.gradientType, this.r < 1 && (this.r = Math.round(this.r)), this.g < 1 && (this.g = Math.round(this.g)), this.b < 1 && (this.b = Math.round(this.b)), this.isValid = r.ok;
    }
    return e.prototype.isDark = function() {
      return this.getBrightness() < 128;
    }, e.prototype.isLight = function() {
      return !this.isDark();
    }, e.prototype.getBrightness = function() {
      var t = this.toRgb();
      return (t.r * 299 + t.g * 587 + t.b * 114) / 1e3;
    }, e.prototype.getLuminance = function() {
      var t = this.toRgb(), n, o, r, a = t.r / 255, s = t.g / 255, i = t.b / 255;
      return a <= 0.03928 ? n = a / 12.92 : n = Math.pow((a + 0.055) / 1.055, 2.4), s <= 0.03928 ? o = s / 12.92 : o = Math.pow((s + 0.055) / 1.055, 2.4), i <= 0.03928 ? r = i / 12.92 : r = Math.pow((i + 0.055) / 1.055, 2.4), 0.2126 * n + 0.7152 * o + 0.0722 * r;
    }, e.prototype.getAlpha = function() {
      return this.a;
    }, e.prototype.setAlpha = function(t) {
      return this.a = va(t), this.roundA = Math.round(100 * this.a) / 100, this;
    }, e.prototype.isMonochrome = function() {
      var t = this.toHsl().s;
      return t === 0;
    }, e.prototype.toHsv = function() {
      var t = os(this.r, this.g, this.b);
      return { h: t.h * 360, s: t.s, v: t.v, a: this.a };
    }, e.prototype.toHsvString = function() {
      var t = os(this.r, this.g, this.b), n = Math.round(t.h * 360), o = Math.round(t.s * 100), r = Math.round(t.v * 100);
      return this.a === 1 ? "hsv(".concat(n, ", ").concat(o, "%, ").concat(r, "%)") : "hsva(".concat(n, ", ").concat(o, "%, ").concat(r, "%, ").concat(this.roundA, ")");
    }, e.prototype.toHsl = function() {
      var t = ns(this.r, this.g, this.b);
      return { h: t.h * 360, s: t.s, l: t.l, a: this.a };
    }, e.prototype.toHslString = function() {
      var t = ns(this.r, this.g, this.b), n = Math.round(t.h * 360), o = Math.round(t.s * 100), r = Math.round(t.l * 100);
      return this.a === 1 ? "hsl(".concat(n, ", ").concat(o, "%, ").concat(r, "%)") : "hsla(".concat(n, ", ").concat(o, "%, ").concat(r, "%, ").concat(this.roundA, ")");
    }, e.prototype.toHex = function(t) {
      return t === void 0 && (t = !1), rs(this.r, this.g, this.b, t);
    }, e.prototype.toHexString = function(t) {
      return t === void 0 && (t = !1), "#" + this.toHex(t);
    }, e.prototype.toHex8 = function(t) {
      return t === void 0 && (t = !1), nf(this.r, this.g, this.b, this.a, t);
    }, e.prototype.toHex8String = function(t) {
      return t === void 0 && (t = !1), "#" + this.toHex8(t);
    }, e.prototype.toHexShortString = function(t) {
      return t === void 0 && (t = !1), this.a === 1 ? this.toHexString(t) : this.toHex8String(t);
    }, e.prototype.toRgb = function() {
      return {
        r: Math.round(this.r),
        g: Math.round(this.g),
        b: Math.round(this.b),
        a: this.a
      };
    }, e.prototype.toRgbString = function() {
      var t = Math.round(this.r), n = Math.round(this.g), o = Math.round(this.b);
      return this.a === 1 ? "rgb(".concat(t, ", ").concat(n, ", ").concat(o, ")") : "rgba(".concat(t, ", ").concat(n, ", ").concat(o, ", ").concat(this.roundA, ")");
    }, e.prototype.toPercentageRgb = function() {
      var t = function(n) {
        return "".concat(Math.round(Se(n, 255) * 100), "%");
      };
      return {
        r: t(this.r),
        g: t(this.g),
        b: t(this.b),
        a: this.a
      };
    }, e.prototype.toPercentageRgbString = function() {
      var t = function(n) {
        return Math.round(Se(n, 255) * 100);
      };
      return this.a === 1 ? "rgb(".concat(t(this.r), "%, ").concat(t(this.g), "%, ").concat(t(this.b), "%)") : "rgba(".concat(t(this.r), "%, ").concat(t(this.g), "%, ").concat(t(this.b), "%, ").concat(this.roundA, ")");
    }, e.prototype.toName = function() {
      if (this.a === 0)
        return "transparent";
      if (this.a < 1)
        return !1;
      for (var t = "#" + rs(this.r, this.g, this.b, !1), n = 0, o = Object.entries(To); n < o.length; n++) {
        var r = o[n], a = r[0], s = r[1];
        if (t === s)
          return a;
      }
      return !1;
    }, e.prototype.toString = function(t) {
      var n = !!t;
      t = t ?? this.format;
      var o = !1, r = this.a < 1 && this.a >= 0, a = !n && r && (t.startsWith("hex") || t === "name");
      return a ? t === "name" && this.a === 0 ? this.toName() : this.toRgbString() : (t === "rgb" && (o = this.toRgbString()), t === "prgb" && (o = this.toPercentageRgbString()), (t === "hex" || t === "hex6") && (o = this.toHexString()), t === "hex3" && (o = this.toHexString(!0)), t === "hex4" && (o = this.toHex8String(!0)), t === "hex8" && (o = this.toHex8String()), t === "name" && (o = this.toName()), t === "hsl" && (o = this.toHslString()), t === "hsv" && (o = this.toHsvString()), o || this.toHexString());
    }, e.prototype.toNumber = function() {
      return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);
    }, e.prototype.clone = function() {
      return new e(this.toString());
    }, e.prototype.lighten = function(t) {
      t === void 0 && (t = 10);
      var n = this.toHsl();
      return n.l += t / 100, n.l = Bn(n.l), new e(n);
    }, e.prototype.brighten = function(t) {
      t === void 0 && (t = 10);
      var n = this.toRgb();
      return n.r = Math.max(0, Math.min(255, n.r - Math.round(255 * -(t / 100)))), n.g = Math.max(0, Math.min(255, n.g - Math.round(255 * -(t / 100)))), n.b = Math.max(0, Math.min(255, n.b - Math.round(255 * -(t / 100)))), new e(n);
    }, e.prototype.darken = function(t) {
      t === void 0 && (t = 10);
      var n = this.toHsl();
      return n.l -= t / 100, n.l = Bn(n.l), new e(n);
    }, e.prototype.tint = function(t) {
      return t === void 0 && (t = 10), this.mix("white", t);
    }, e.prototype.shade = function(t) {
      return t === void 0 && (t = 10), this.mix("black", t);
    }, e.prototype.desaturate = function(t) {
      t === void 0 && (t = 10);
      var n = this.toHsl();
      return n.s -= t / 100, n.s = Bn(n.s), new e(n);
    }, e.prototype.saturate = function(t) {
      t === void 0 && (t = 10);
      var n = this.toHsl();
      return n.s += t / 100, n.s = Bn(n.s), new e(n);
    }, e.prototype.greyscale = function() {
      return this.desaturate(100);
    }, e.prototype.spin = function(t) {
      var n = this.toHsl(), o = (n.h + t) % 360;
      return n.h = o < 0 ? 360 + o : o, new e(n);
    }, e.prototype.mix = function(t, n) {
      n === void 0 && (n = 50);
      var o = this.toRgb(), r = new e(t).toRgb(), a = n / 100, s = {
        r: (r.r - o.r) * a + o.r,
        g: (r.g - o.g) * a + o.g,
        b: (r.b - o.b) * a + o.b,
        a: (r.a - o.a) * a + o.a
      };
      return new e(s);
    }, e.prototype.analogous = function(t, n) {
      t === void 0 && (t = 6), n === void 0 && (n = 30);
      var o = this.toHsl(), r = 360 / n, a = [this];
      for (o.h = (o.h - (r * t >> 1) + 720) % 360; --t; )
        o.h = (o.h + r) % 360, a.push(new e(o));
      return a;
    }, e.prototype.complement = function() {
      var t = this.toHsl();
      return t.h = (t.h + 180) % 360, new e(t);
    }, e.prototype.monochromatic = function(t) {
      t === void 0 && (t = 6);
      for (var n = this.toHsv(), o = n.h, r = n.s, a = n.v, s = [], i = 1 / t; t--; )
        s.push(new e({ h: o, s: r, v: a })), a = (a + i) % 1;
      return s;
    }, e.prototype.splitcomplement = function() {
      var t = this.toHsl(), n = t.h;
      return [
        this,
        new e({ h: (n + 72) % 360, s: t.s, l: t.l }),
        new e({ h: (n + 216) % 360, s: t.s, l: t.l })
      ];
    }, e.prototype.onBackground = function(t) {
      var n = this.toRgb(), o = new e(t).toRgb(), r = n.a + o.a * (1 - n.a);
      return new e({
        r: (n.r * n.a + o.r * o.a * (1 - n.a)) / r,
        g: (n.g * n.a + o.g * o.a * (1 - n.a)) / r,
        b: (n.b * n.a + o.b * o.a * (1 - n.a)) / r,
        a: r
      });
    }, e.prototype.triad = function() {
      return this.polyad(3);
    }, e.prototype.tetrad = function() {
      return this.polyad(4);
    }, e.prototype.polyad = function(t) {
      for (var n = this.toHsl(), o = n.h, r = [this], a = 360 / t, s = 1; s < t; s++)
        r.push(new e({ h: (o + s * a) % 360, s: n.s, l: n.l }));
      return r;
    }, e.prototype.equals = function(t) {
      return this.toRgbString() === new e(t).toRgbString();
    }, e;
  }()
);
function yt(e, t = 20) {
  return e.mix("#141414", t).toString();
}
function df(e) {
  const t = Ko(), n = Ce("button");
  return O(() => {
    let o = {}, r = e.color;
    if (r) {
      const a = r.match(/var\((.*?)\)/);
      a && (r = window.getComputedStyle(window.document.documentElement).getPropertyValue(a[1]));
      const s = new uf(r), i = e.dark ? s.tint(20).toString() : yt(s, 20);
      if (e.plain)
        o = n.cssVarBlock({
          "bg-color": e.dark ? yt(s, 90) : s.tint(90).toString(),
          "text-color": r,
          "border-color": e.dark ? yt(s, 50) : s.tint(50).toString(),
          "hover-text-color": `var(${n.cssVarName("color-white")})`,
          "hover-bg-color": r,
          "hover-border-color": r,
          "active-bg-color": i,
          "active-text-color": `var(${n.cssVarName("color-white")})`,
          "active-border-color": i
        }), t.value && (o[n.cssVarBlockName("disabled-bg-color")] = e.dark ? yt(s, 90) : s.tint(90).toString(), o[n.cssVarBlockName("disabled-text-color")] = e.dark ? yt(s, 50) : s.tint(50).toString(), o[n.cssVarBlockName("disabled-border-color")] = e.dark ? yt(s, 80) : s.tint(80).toString());
      else {
        const l = e.dark ? yt(s, 30) : s.tint(30).toString(), c = s.isDark() ? `var(${n.cssVarName("color-white")})` : `var(${n.cssVarName("color-black")})`;
        if (o = n.cssVarBlock({
          "bg-color": r,
          "text-color": c,
          "border-color": r,
          "hover-bg-color": l,
          "hover-text-color": c,
          "hover-border-color": l,
          "active-bg-color": i,
          "active-border-color": i
        }), t.value) {
          const p = e.dark ? yt(s, 50) : s.tint(50).toString();
          o[n.cssVarBlockName("disabled-bg-color")] = p, o[n.cssVarBlockName("disabled-text-color")] = e.dark ? "rgba(255, 255, 255, 0.5)" : `var(${n.cssVarName("color-white")})`, o[n.cssVarBlockName("disabled-border-color")] = p;
        }
      }
    }
    return o;
  });
}
const ff = Q({
  name: "ElButton"
}), pf = /* @__PURE__ */ Q({
  ...ff,
  props: Co,
  emits: Y0,
  setup(e, { expose: t, emit: n }) {
    const o = e, r = df(o), a = Ce("button"), { _ref: s, _size: i, _type: l, _disabled: c, _props: p, shouldAddSpace: h, handleClick: b } = q0(o, n), g = O(() => [
      a.b(),
      a.m(l.value),
      a.m(i.value),
      a.is("disabled", c.value),
      a.is("loading", o.loading),
      a.is("plain", o.plain),
      a.is("round", o.round),
      a.is("circle", o.circle),
      a.is("text", o.text),
      a.is("link", o.link),
      a.is("has-bg", o.bg)
    ]);
    return t({
      ref: s,
      size: i,
      type: l,
      disabled: c,
      shouldAddSpace: h
    }), (d, v) => (N(), he(xt(d.tag), ht({
      ref_key: "_ref",
      ref: s
    }, f(p), {
      class: f(g),
      style: f(r),
      onClick: f(b)
    }), {
      default: ne(() => [
        d.loading ? (N(), Z(Ke, { key: 0 }, [
          d.$slots.loading ? ie(d.$slots, "loading", { key: 0 }) : (N(), he(f(bt), {
            key: 1,
            class: te(f(a).is("loading"))
          }, {
            default: ne(() => [
              (N(), he(xt(d.loadingIcon)))
            ]),
            _: 1
          }, 8, ["class"]))
        ], 64)) : d.icon || d.$slots.icon ? (N(), he(f(bt), { key: 1 }, {
          default: ne(() => [
            d.icon ? (N(), he(xt(d.icon), { key: 0 })) : ie(d.$slots, "icon", { key: 1 })
          ]),
          _: 3
        })) : ce("v-if", !0),
        d.$slots.default ? (N(), Z("span", {
          key: 2,
          class: te({ [f(a).em("text", "expand")]: f(h) })
        }, [
          ie(d.$slots, "default")
        ], 2)) : ce("v-if", !0)
      ]),
      _: 3
    }, 16, ["class", "style", "onClick"]));
  }
});
var hf = /* @__PURE__ */ be(pf, [["__file", "button.vue"]]);
const gf = {
  size: Co.size,
  type: Co.type
}, vf = Q({
  name: "ElButtonGroup"
}), mf = /* @__PURE__ */ Q({
  ...vf,
  props: gf,
  setup(e) {
    const t = e;
    nt(ha, yn({
      size: ft(t, "size"),
      type: ft(t, "type")
    }));
    const n = Ce("button");
    return (o, r) => (N(), Z("div", {
      class: te(f(n).b("group"))
    }, [
      ie(o.$slots, "default")
    ], 2));
  }
});
var ma = /* @__PURE__ */ be(mf, [["__file", "button-group.vue"]]);
const yf = vt(hf, {
  ButtonGroup: ma
});
ru(ma);
var Hn = /* @__PURE__ */ ((e) => (e[e.TEXT = 1] = "TEXT", e[e.CLASS = 2] = "CLASS", e[e.STYLE = 4] = "STYLE", e[e.PROPS = 8] = "PROPS", e[e.FULL_PROPS = 16] = "FULL_PROPS", e[e.HYDRATE_EVENTS = 32] = "HYDRATE_EVENTS", e[e.STABLE_FRAGMENT = 64] = "STABLE_FRAGMENT", e[e.KEYED_FRAGMENT = 128] = "KEYED_FRAGMENT", e[e.UNKEYED_FRAGMENT = 256] = "UNKEYED_FRAGMENT", e[e.NEED_PATCH = 512] = "NEED_PATCH", e[e.DYNAMIC_SLOTS = 1024] = "DYNAMIC_SLOTS", e[e.HOISTED = -1] = "HOISTED", e[e.BAIL = -2] = "BAIL", e))(Hn || {});
const as = (e) => {
  let t = 0, n = e;
  for (; n; )
    t += n.offsetTop, n = n.offsetParent;
  return t;
}, bf = (e, t) => Math.abs(as(e) - as(t)), ya = (e) => {
  if (!e)
    return { onClick: St, onMousedown: St, onMouseup: St };
  let t = !1, n = !1;
  return { onClick: (s) => {
    t && n && e(s), t = n = !1;
  }, onMousedown: (s) => {
    t = s.target === s.currentTarget;
  }, onMouseup: (s) => {
    n = s.target === s.currentTarget;
  } };
}, xf = me({
  mask: {
    type: Boolean,
    default: !0
  },
  customMaskEvent: Boolean,
  overlayClass: {
    type: W([
      String,
      Array,
      Object
    ])
  },
  zIndex: {
    type: W([String, Number])
  }
}), wf = {
  click: (e) => e instanceof MouseEvent
}, Ef = "overlay";
var Sf = Q({
  name: "ElOverlay",
  props: xf,
  emits: wf,
  setup(e, { slots: t, emit: n }) {
    const o = Ce(Ef), r = (l) => {
      n("click", l);
    }, { onClick: a, onMousedown: s, onMouseup: i } = ya(e.customMaskEvent ? void 0 : r);
    return () => e.mask ? ye("div", {
      class: [o.b(), e.overlayClass],
      style: {
        zIndex: e.zIndex
      },
      onClick: a,
      onMousedown: s,
      onMouseup: i
    }, [ie(t, "default")], Hn.STYLE | Hn.CLASS | Hn.PROPS, ["onClick", "onMouseup", "onMousedown"]) : Ya("div", {
      class: e.overlayClass,
      style: {
        zIndex: e.zIndex,
        position: "fixed",
        top: "0px",
        right: "0px",
        bottom: "0px",
        left: "0px"
      }
    }, [ie(t, "default")]);
  }
});
const Af = Sf, ba = Symbol("dialogInjectionKey"), xa = me({
  center: Boolean,
  alignCenter: Boolean,
  closeIcon: {
    type: Qt
  },
  draggable: Boolean,
  overflow: Boolean,
  fullscreen: Boolean,
  headerClass: String,
  bodyClass: String,
  footerClass: String,
  showClose: {
    type: Boolean,
    default: !0
  },
  title: {
    type: String,
    default: ""
  },
  ariaLevel: {
    type: String,
    default: "2"
  }
}), Cf = {
  close: () => !0
}, Tf = (e, t, n, o) => {
  let r = {
    offsetX: 0,
    offsetY: 0
  };
  const a = (c) => {
    const p = c.clientX, h = c.clientY, { offsetX: b, offsetY: g } = r, d = e.value.getBoundingClientRect(), v = d.left, x = d.top, E = d.width, k = d.height, G = document.documentElement.clientWidth, _ = document.documentElement.clientHeight, V = -v + b, D = -x + g, M = G - v - E + b, F = _ - x - k + g, J = (R) => {
      let X = b + R.clientX - p, ee = g + R.clientY - h;
      o != null && o.value || (X = Math.min(Math.max(X, V), M), ee = Math.min(Math.max(ee, D), F)), r = {
        offsetX: X,
        offsetY: ee
      }, e.value && (e.value.style.transform = `translate(${En(X)}, ${En(ee)})`);
    }, Y = () => {
      document.removeEventListener("mousemove", J), document.removeEventListener("mouseup", Y);
    };
    document.addEventListener("mousemove", J), document.addEventListener("mouseup", Y);
  }, s = () => {
    t.value && e.value && t.value.addEventListener("mousedown", a);
  }, i = () => {
    t.value && e.value && t.value.removeEventListener("mousedown", a);
  }, l = () => {
    r = {
      offsetX: 0,
      offsetY: 0
    }, e.value && (e.value.style.transform = "none");
  };
  return Te(() => {
    xs(() => {
      n.value ? s() : i();
    });
  }), Fe(() => {
    i();
  }), {
    resetPosition: l
  };
}, Of = (...e) => (t) => {
  e.forEach((n) => {
    wt(n) ? n(t) : n.value = t;
  });
}, If = Q({ name: "ElDialogContent" }), kf = /* @__PURE__ */ Q({
  ...If,
  props: xa,
  emits: Cf,
  setup(e, { expose: t }) {
    const n = e, { t: o } = Kc(), { Close: r } = cu, { dialogRef: a, headerRef: s, bodyId: i, ns: l, style: c } = ve(ba), { focusTrapRef: p } = ve(Js), h = O(() => [
      l.b(),
      l.is("fullscreen", n.fullscreen),
      l.is("draggable", n.draggable),
      l.is("align-center", n.alignCenter),
      { [l.m("center")]: n.center }
    ]), b = Of(p, a), g = O(() => n.draggable), d = O(() => n.overflow), { resetPosition: v } = Tf(a, s, g, d);
    return t({
      resetPosition: v
    }), (x, E) => (N(), Z("div", {
      ref: f(b),
      class: te(f(h)),
      style: Ze(f(c)),
      tabindex: "-1"
    }, [
      pe("header", {
        ref_key: "headerRef",
        ref: s,
        class: te([f(l).e("header"), x.headerClass, { "show-close": x.showClose }])
      }, [
        ie(x.$slots, "header", {}, () => [
          pe("span", {
            role: "heading",
            "aria-level": x.ariaLevel,
            class: te(f(l).e("title"))
          }, je(x.title), 11, ["aria-level"])
        ]),
        x.showClose ? (N(), Z("button", {
          key: 0,
          "aria-label": f(o)("el.dialog.close"),
          class: te(f(l).e("headerbtn")),
          type: "button",
          onClick: (k) => x.$emit("close")
        }, [
          ye(f(bt), {
            class: te(f(l).e("close"))
          }, {
            default: ne(() => [
              (N(), he(xt(x.closeIcon || f(r))))
            ]),
            _: 1
          }, 8, ["class"])
        ], 10, ["aria-label", "onClick"])) : ce("v-if", !0)
      ], 2),
      pe("div", {
        id: f(i),
        class: te([f(l).e("body"), x.bodyClass])
      }, [
        ie(x.$slots, "default")
      ], 10, ["id"]),
      x.$slots.footer ? (N(), Z("footer", {
        key: 0,
        class: te([f(l).e("footer"), x.footerClass])
      }, [
        ie(x.$slots, "footer")
      ], 2)) : ce("v-if", !0)
    ], 6));
  }
});
var _f = /* @__PURE__ */ be(kf, [["__file", "dialog-content.vue"]]);
const Mf = me({
  ...xa,
  appendToBody: Boolean,
  appendTo: {
    type: W([String, Object]),
    default: "body"
  },
  beforeClose: {
    type: W(Function)
  },
  destroyOnClose: Boolean,
  closeOnClickModal: {
    type: Boolean,
    default: !0
  },
  closeOnPressEscape: {
    type: Boolean,
    default: !0
  },
  lockScroll: {
    type: Boolean,
    default: !0
  },
  modal: {
    type: Boolean,
    default: !0
  },
  openDelay: {
    type: Number,
    default: 0
  },
  closeDelay: {
    type: Number,
    default: 0
  },
  top: {
    type: String
  },
  modelValue: Boolean,
  modalClass: String,
  headerClass: String,
  bodyClass: String,
  footerClass: String,
  width: {
    type: [String, Number]
  },
  zIndex: {
    type: Number
  },
  trapFocus: Boolean,
  headerAriaLevel: {
    type: String,
    default: "2"
  }
}), Df = {
  open: () => !0,
  opened: () => !0,
  close: () => !0,
  closed: () => !0,
  [wn]: (e) => to(e),
  openAutoFocus: () => !0,
  closeAutoFocus: () => !0
}, Lf = (e, t = {}) => {
  Po(e) || Ls("[useLockscreen]", "You need to pass a ref param to this function");
  const n = t.ns || Ce("popup"), o = O(() => n.bm("parent", "hidden"));
  if (!Ee || Nr(document.body, o.value))
    return;
  let r = 0, a = !1, s = "0";
  const i = () => {
    setTimeout(() => {
      typeof document > "u" || a && document && (document.body.style.width = s, Qc(document.body, o.value));
    }, 200);
  };
  re(e, (l) => {
    if (!l) {
      i();
      return;
    }
    a = !Nr(document.body, o.value), a && (s = document.body.style.width, Zc(document.body, o.value)), r = nu(n.namespace.value);
    const c = document.documentElement.clientHeight < document.body.scrollHeight, p = $s(document.body, "overflowY");
    r > 0 && (c || p === "scroll") && a && (document.body.style.width = `calc(100% - ${r}px)`);
  }), Ja(() => i());
}, Pf = (e, t) => {
  var n;
  const r = tt().emit, { nextZIndex: a } = Ps();
  let s = "";
  const i = Kn(), l = Kn(), c = K(!1), p = K(!1), h = K(!1), b = K((n = e.zIndex) != null ? n : a());
  let g, d;
  const v = Bs("namespace", $n), x = O(() => {
    const oe = {}, T = `--${v.value}-dialog`;
    return e.fullscreen || (e.top && (oe[`${T}-margin-top`] = e.top), e.width && (oe[`${T}-width`] = En(e.width))), oe;
  }), E = O(() => e.alignCenter ? { display: "flex" } : {});
  function k() {
    r("opened");
  }
  function G() {
    r("closed"), r(wn, !1), e.destroyOnClose && (h.value = !1);
  }
  function _() {
    r("close");
  }
  function V() {
    d == null || d(), g == null || g(), e.openDelay && e.openDelay > 0 ? { stop: g } = mr(() => J(), e.openDelay) : J();
  }
  function D() {
    g == null || g(), d == null || d(), e.closeDelay && e.closeDelay > 0 ? { stop: d } = mr(() => Y(), e.closeDelay) : Y();
  }
  function M() {
    function oe(T) {
      T || (p.value = !0, c.value = !1);
    }
    e.beforeClose ? e.beforeClose(oe) : D();
  }
  function F() {
    e.closeOnClickModal && M();
  }
  function J() {
    Ee && (c.value = !0);
  }
  function Y() {
    c.value = !1;
  }
  function R() {
    r("openAutoFocus");
  }
  function X() {
    r("closeAutoFocus");
  }
  function ee(oe) {
    var T;
    ((T = oe.detail) == null ? void 0 : T.focusReason) === "pointer" && oe.preventDefault();
  }
  e.lockScroll && Lf(c);
  function we() {
    e.closeOnPressEscape && M();
  }
  return re(() => e.modelValue, (oe) => {
    oe ? (p.value = !1, V(), h.value = !0, b.value = Ms(e.zIndex) ? a() : b.value++, ae(() => {
      r("open"), t.value && (t.value.parentElement.scrollTop = 0, t.value.parentElement.scrollLeft = 0, t.value.scrollTop = 0);
    })) : c.value && D();
  }), re(() => e.fullscreen, (oe) => {
    t.value && (oe ? (s = t.value.style.transform, t.value.style.transform = "") : t.value.style.transform = s);
  }), Te(() => {
    e.modelValue && (c.value = !0, h.value = !0, V());
  }), {
    afterEnter: k,
    afterLeave: G,
    beforeLeave: _,
    handleClose: M,
    onModalClick: F,
    close: D,
    doClose: Y,
    onOpenAutoFocus: R,
    onCloseAutoFocus: X,
    onCloseRequested: we,
    onFocusoutPrevented: ee,
    titleId: i,
    bodyId: l,
    closed: p,
    style: x,
    overlayDialogStyle: E,
    rendered: h,
    visible: c,
    zIndex: b
  };
}, Nf = Q({
  name: "ElDialog",
  inheritAttrs: !1
}), Rf = /* @__PURE__ */ Q({
  ...Nf,
  props: Mf,
  emits: Df,
  setup(e, { expose: t }) {
    const n = e, o = No();
    ga({
      scope: "el-dialog",
      from: "the title slot",
      replacement: "the header slot",
      version: "3.0.0",
      ref: "https://element-plus.org/en-US/component/dialog.html#slots"
    }, O(() => !!o.title));
    const r = Ce("dialog"), a = K(), s = K(), i = K(), {
      visible: l,
      titleId: c,
      bodyId: p,
      style: h,
      overlayDialogStyle: b,
      rendered: g,
      zIndex: d,
      afterEnter: v,
      afterLeave: x,
      beforeLeave: E,
      handleClose: k,
      onModalClick: G,
      onOpenAutoFocus: _,
      onCloseAutoFocus: V,
      onCloseRequested: D,
      onFocusoutPrevented: M
    } = Pf(n, a);
    nt(ba, {
      dialogRef: a,
      headerRef: s,
      bodyId: p,
      ns: r,
      rendered: g,
      style: h
    });
    const F = ya(G), J = O(() => n.draggable && !n.fullscreen);
    return t({
      visible: l,
      dialogContentRef: i,
      resetPosition: () => {
        var R;
        (R = i.value) == null || R.resetPosition();
      },
      handleClose: k
    }), (R, X) => (N(), he(f(fa), {
      to: R.appendTo,
      disabled: R.appendTo !== "body" ? !1 : !R.appendToBody
    }, {
      default: ne(() => [
        ye(bs, {
          name: "dialog-fade",
          onAfterEnter: f(v),
          onAfterLeave: f(x),
          onBeforeLeave: f(E),
          persisted: ""
        }, {
          default: ne(() => [
            Tn(ye(f(Af), {
              "custom-mask-event": "",
              mask: R.modal,
              "overlay-class": R.modalClass,
              "z-index": f(d)
            }, {
              default: ne(() => [
                pe("div", {
                  role: "dialog",
                  "aria-modal": "true",
                  "aria-label": R.title || void 0,
                  "aria-labelledby": R.title ? void 0 : f(c),
                  "aria-describedby": f(p),
                  class: te(`${f(r).namespace.value}-overlay-dialog`),
                  style: Ze(f(b)),
                  onClick: f(F).onClick,
                  onMousedown: f(F).onMousedown,
                  onMouseup: f(F).onMouseup
                }, [
                  ye(f(Qs), {
                    loop: "",
                    trapped: f(l),
                    "focus-start-el": "container",
                    onFocusAfterTrapped: f(_),
                    onFocusAfterReleased: f(V),
                    onFocusoutPrevented: f(M),
                    onReleaseRequested: f(D)
                  }, {
                    default: ne(() => [
                      f(g) ? (N(), he(_f, ht({
                        key: 0,
                        ref_key: "dialogContentRef",
                        ref: i
                      }, R.$attrs, {
                        center: R.center,
                        "align-center": R.alignCenter,
                        "close-icon": R.closeIcon,
                        draggable: f(J),
                        overflow: R.overflow,
                        fullscreen: R.fullscreen,
                        "header-class": R.headerClass,
                        "body-class": R.bodyClass,
                        "footer-class": R.footerClass,
                        "show-close": R.showClose,
                        title: R.title,
                        "aria-level": R.headerAriaLevel,
                        onClose: f(k)
                      }), Za({
                        header: ne(() => [
                          R.$slots.title ? ie(R.$slots, "title", { key: 1 }) : ie(R.$slots, "header", {
                            key: 0,
                            close: f(k),
                            titleId: f(c),
                            titleClass: f(r).e("title")
                          })
                        ]),
                        default: ne(() => [
                          ie(R.$slots, "default")
                        ]),
                        _: 2
                      }, [
                        R.$slots.footer ? {
                          name: "footer",
                          fn: ne(() => [
                            ie(R.$slots, "footer")
                          ])
                        } : void 0
                      ]), 1040, ["center", "align-center", "close-icon", "draggable", "overflow", "fullscreen", "header-class", "body-class", "footer-class", "show-close", "title", "aria-level", "onClose"])) : ce("v-if", !0)
                    ]),
                    _: 3
                  }, 8, ["trapped", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusoutPrevented", "onReleaseRequested"])
                ], 46, ["aria-label", "aria-labelledby", "aria-describedby", "onClick", "onMousedown", "onMouseup"])
              ]),
              _: 3
            }, 8, ["mask", "overlay-class", "z-index"]), [
              [Ro, f(l)]
            ])
          ]),
          _: 3
        }, 8, ["onAfterEnter", "onAfterLeave", "onBeforeLeave"])
      ]),
      _: 3
    }, 8, ["to", "disabled"]));
  }
});
var Bf = /* @__PURE__ */ be(Rf, [["__file", "dialog.vue"]]);
const zf = vt(Bf), $f = me({
  direction: {
    type: String,
    values: ["horizontal", "vertical"],
    default: "horizontal"
  },
  contentPosition: {
    type: String,
    values: ["left", "center", "right"],
    default: "center"
  },
  borderStyle: {
    type: W(String),
    default: "solid"
  }
}), Ff = Q({
  name: "ElDivider"
}), Hf = /* @__PURE__ */ Q({
  ...Ff,
  props: $f,
  setup(e) {
    const t = e, n = Ce("divider"), o = O(() => n.cssVar({
      "border-style": t.borderStyle
    }));
    return (r, a) => (N(), Z("div", {
      class: te([f(n).b(), f(n).m(r.direction)]),
      style: Ze(f(o)),
      role: "separator"
    }, [
      r.$slots.default && r.direction !== "vertical" ? (N(), Z("div", {
        key: 0,
        class: te([f(n).e("text"), f(n).is(r.contentPosition)])
      }, [
        ie(r.$slots, "default")
      ], 2)) : ce("v-if", !0)
    ], 6));
  }
});
var Gf = /* @__PURE__ */ be(Hf, [["__file", "divider.vue"]]);
const Vf = vt(Gf), Uf = /* @__PURE__ */ Q({
  inheritAttrs: !1
});
function jf(e, t, n, o, r, a) {
  return ie(e.$slots, "default");
}
var Kf = /* @__PURE__ */ be(Uf, [["render", jf], ["__file", "collection.vue"]]);
const qf = /* @__PURE__ */ Q({
  name: "ElCollectionItem",
  inheritAttrs: !1
});
function Xf(e, t, n, o, r, a) {
  return ie(e.$slots, "default");
}
var Wf = /* @__PURE__ */ be(qf, [["render", Xf], ["__file", "collection-item.vue"]]);
const Yf = "data-el-collection-item", Jf = (e) => {
  const t = `El${e}Collection`, n = `${t}Item`, o = Symbol(t), r = Symbol(n), a = {
    ...Kf,
    name: t,
    setup() {
      const i = K(), l = /* @__PURE__ */ new Map();
      nt(o, {
        itemMap: l,
        getItems: () => {
          const p = f(i);
          if (!p)
            return [];
          const h = Array.from(p.querySelectorAll(`[${Yf}]`));
          return [...l.values()].sort((g, d) => h.indexOf(g.ref) - h.indexOf(d.ref));
        },
        collectionRef: i
      });
    }
  }, s = {
    ...Wf,
    name: n,
    setup(i, { attrs: l }) {
      const c = K(), p = ve(o, void 0);
      nt(r, {
        collectionItemRef: c
      }), Te(() => {
        const h = f(c);
        h && p.itemMap.set(h, {
          ref: h,
          ...l
        });
      }), Fe(() => {
        const h = f(c);
        p.itemMap.delete(h);
      });
    }
  };
  return {
    COLLECTION_INJECTION_KEY: o,
    COLLECTION_ITEM_INJECTION_KEY: r,
    ElCollection: a,
    ElCollectionItem: s
  };
}, yo = me({
  trigger: Yt.trigger,
  triggerKeys: {
    type: W(Array),
    default: () => [
      pt.enter,
      pt.numpadEnter,
      pt.space,
      pt.down
    ]
  },
  effect: {
    ...Ne.effect,
    default: "light"
  },
  type: {
    type: W(String)
  },
  placement: {
    type: W(String),
    default: "bottom"
  },
  popperOptions: {
    type: W(Object),
    default: () => ({})
  },
  id: String,
  size: {
    type: String,
    default: ""
  },
  splitButton: Boolean,
  hideOnClick: {
    type: Boolean,
    default: !0
  },
  loop: {
    type: Boolean,
    default: !0
  },
  showTimeout: {
    type: Number,
    default: 150
  },
  hideTimeout: {
    type: Number,
    default: 150
  },
  tabindex: {
    type: W([Number, String]),
    default: 0
  },
  maxHeight: {
    type: W([Number, String]),
    default: ""
  },
  popperClass: {
    type: String,
    default: ""
  },
  disabled: Boolean,
  role: {
    type: String,
    values: js,
    default: "menu"
  },
  buttonProps: {
    type: W(Object)
  },
  teleported: Ne.teleported,
  persistent: {
    type: Boolean,
    default: !0
  }
});
me({
  command: {
    type: [Object, String, Number],
    default: () => ({})
  },
  disabled: Boolean,
  divided: Boolean,
  textValue: String,
  icon: {
    type: Qt
  }
});
me({
  onKeydown: { type: W(Function) }
});
Jf("Dropdown");
const Zf = me({
  trigger: Yt.trigger,
  triggerKeys: Yt.triggerKeys,
  placement: yo.placement,
  disabled: Yt.disabled,
  visible: Ne.visible,
  transition: Ne.transition,
  popperOptions: yo.popperOptions,
  tabindex: yo.tabindex,
  content: Ne.content,
  popperStyle: Ne.popperStyle,
  popperClass: Ne.popperClass,
  enterable: {
    ...Ne.enterable,
    default: !0
  },
  effect: {
    ...Ne.effect,
    default: "light"
  },
  teleported: Ne.teleported,
  title: String,
  width: {
    type: [String, Number],
    default: 150
  },
  offset: {
    type: Number,
    default: void 0
  },
  showAfter: {
    type: Number,
    default: 0
  },
  hideAfter: {
    type: Number,
    default: 200
  },
  autoClose: {
    type: Number,
    default: 0
  },
  showArrow: {
    type: Boolean,
    default: !0
  },
  persistent: {
    type: Boolean,
    default: !0
  },
  "onUpdate:visible": {
    type: Function
  }
}), Qf = {
  "update:visible": (e) => to(e),
  "before-enter": () => !0,
  "before-leave": () => !0,
  "after-enter": () => !0,
  "after-leave": () => !0
}, ep = "onUpdate:visible", tp = Q({
  name: "ElPopover"
}), np = /* @__PURE__ */ Q({
  ...tp,
  props: Zf,
  emits: Qf,
  setup(e, { expose: t, emit: n }) {
    const o = e, r = O(() => o[ep]), a = Ce("popover"), s = K(), i = O(() => {
      var x;
      return (x = f(s)) == null ? void 0 : x.popperRef;
    }), l = O(() => [
      {
        width: En(o.width)
      },
      o.popperStyle
    ]), c = O(() => [a.b(), o.popperClass, { [a.m("plain")]: !!o.content }]), p = O(() => o.transition === `${a.namespace.value}-fade-in-linear`), h = () => {
      var x;
      (x = s.value) == null || x.hide();
    }, b = () => {
      n("before-enter");
    }, g = () => {
      n("before-leave");
    }, d = () => {
      n("after-enter");
    }, v = () => {
      n("update:visible", !1), n("after-leave");
    };
    return t({
      popperRef: i,
      hide: h
    }), (x, E) => (N(), he(f(K0), ht({
      ref_key: "tooltipRef",
      ref: s
    }, x.$attrs, {
      trigger: x.trigger,
      "trigger-keys": x.triggerKeys,
      placement: x.placement,
      disabled: x.disabled,
      visible: x.visible,
      transition: x.transition,
      "popper-options": x.popperOptions,
      tabindex: x.tabindex,
      content: x.content,
      offset: x.offset,
      "show-after": x.showAfter,
      "hide-after": x.hideAfter,
      "auto-close": x.autoClose,
      "show-arrow": x.showArrow,
      "aria-label": x.title,
      effect: x.effect,
      enterable: x.enterable,
      "popper-class": f(c),
      "popper-style": f(l),
      teleported: x.teleported,
      persistent: x.persistent,
      "gpu-acceleration": f(p),
      "onUpdate:visible": f(r),
      onBeforeShow: b,
      onBeforeHide: g,
      onShow: d,
      onHide: v
    }), {
      content: ne(() => [
        x.title ? (N(), Z("div", {
          key: 0,
          class: te(f(a).e("title")),
          role: "title"
        }, je(x.title), 3)) : ce("v-if", !0),
        ie(x.$slots, "default", {}, () => [
          Kt(je(x.content), 1)
        ])
      ]),
      default: ne(() => [
        x.$slots.reference ? ie(x.$slots, "reference", { key: 0 }) : ce("v-if", !0)
      ]),
      _: 3
    }, 16, ["trigger", "trigger-keys", "placement", "disabled", "visible", "transition", "popper-options", "tabindex", "content", "offset", "show-after", "hide-after", "auto-close", "show-arrow", "aria-label", "effect", "enterable", "popper-class", "popper-style", "teleported", "persistent", "gpu-acceleration", "onUpdate:visible"]));
  }
});
var op = /* @__PURE__ */ be(np, [["__file", "popover.vue"]]);
const is = (e, t) => {
  const n = t.arg || t.value, o = n == null ? void 0 : n.popperRef;
  o && (o.triggerRef = e);
};
var rp = {
  mounted(e, t) {
    is(e, t);
  },
  updated(e, t) {
    is(e, t);
  }
};
const sp = "popover", ap = ou(rp, sp), ip = vt(op, {
  directive: ap
}), Re = "ElInfiniteScroll", lp = 50, cp = 200, up = 0, dp = {
  delay: {
    type: Number,
    default: cp
  },
  distance: {
    type: Number,
    default: up
  },
  disabled: {
    type: Boolean,
    default: !1
  },
  immediate: {
    type: Boolean,
    default: !0
  }
}, ar = (e, t) => Object.entries(dp).reduce((n, [o, r]) => {
  var a, s;
  const { type: i, default: l } = r, c = e.getAttribute(`infinite-scroll-${o}`);
  let p = (s = (a = t[c]) != null ? a : c) != null ? s : l;
  return p = p === "false" ? !1 : p, p = i(p), n[o] = Number.isNaN(p) ? l : p, n;
}, {}), wa = (e) => {
  const { observer: t } = e[Re];
  t && (t.disconnect(), delete e[Re].observer);
}, fp = (e, t) => {
  const { container: n, containerEl: o, instance: r, observer: a, lastScrollTop: s } = e[Re], { disabled: i, distance: l } = ar(e, r), { clientHeight: c, scrollHeight: p, scrollTop: h } = o, b = h - s;
  if (e[Re].lastScrollTop = h, a || i || b < 0)
    return;
  let g = !1;
  if (n === e)
    g = p - (c + h) <= l;
  else {
    const { clientTop: d, scrollHeight: v } = e, x = bf(e, o);
    g = h + c >= x + d + v - l;
  }
  g && t.call(r);
};
function bo(e, t) {
  const { containerEl: n, instance: o } = e[Re], { disabled: r } = ar(e, o);
  r || n.clientHeight === 0 || (n.scrollHeight <= n.clientHeight ? t.call(o) : wa(e));
}
const pp = {
  async mounted(e, t) {
    const { instance: n, value: o } = t;
    wt(o) || Ls(Re, "'v-infinite-scroll' binding value must be a function"), await ae();
    const { delay: r, immediate: a } = ar(e, n), s = tu(e, !0), i = s === window ? document.documentElement : s, l = Ir(fp.bind(null, e, o), r);
    if (s) {
      if (e[Re] = {
        instance: n,
        container: s,
        containerEl: i,
        delay: r,
        cb: o,
        onScroll: l,
        lastScrollTop: i.scrollTop
      }, a) {
        const c = new MutationObserver(Ir(bo.bind(null, e, o), lp));
        e[Re].observer = c, c.observe(e, { childList: !0, subtree: !0 }), bo(e, o);
      }
      s.addEventListener("scroll", l);
    }
  },
  unmounted(e) {
    if (!e[Re])
      return;
    const { container: t, onScroll: n } = e[Re];
    t == null || t.removeEventListener("scroll", n), wa(e);
  },
  async updated(e) {
    if (!e[Re])
      await ae();
    else {
      const { containerEl: t, cb: n, observer: o } = e[Re];
      t.clientHeight && o && bo(e, n);
    }
  }
}, Oo = pp;
Oo.install = (e) => {
  e.directive("InfiniteScroll", Oo);
};
const hp = Oo;
Oe.use([
  ni,
  oi,
  ri,
  si,
  ai,
  ii,
  li,
  ci,
  ui,
  di,
  fi
]);
const gp = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='159.966093px'%20height='163px'%20viewBox='0%200%20159.966093%20163'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eDownload%3c/title%3e%3cg%20id='页面-1'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%20stroke-linecap='round'%3e%3cg%20id='Download'%20transform='translate(5.000000,%204.500000)'%20stroke='%23A1A1A1'%20stroke-width='15'%3e%3cline%20x1='76'%20y1='113.5'%20x2='113'%20y2='75.5'%20id='直线-3'%3e%3c/line%3e%3cline%20x1='74'%20y1='113.5'%20x2='39'%20y2='77.5'%20id='直线-4'%3e%3c/line%3e%3cline%20x1='75'%20y1='0.5'%20x2='75'%20y2='114.5'%20id='直线-2'%3e%3c/line%3e%3cpath%20d='M0,75.5%20L0,152.5%20C-4.33869274e-17,153.052285%200.44771525,153.5%201,153.5%20L148.966093,153.5%20C149.518378,153.5%20149.966093,153.052285%20149.966093,152.5%20L149.966093,75.8333334%20L149.966093,75.8333334'%20id='直线'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e", vp = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1726801081066'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='25050'%20width='200'%20height='200'%3e%3cpath%20d='M498.395429%20412.086857L870.4%2040.228571a54.857143%2054.857143%200%200%201%2077.531429%2077.531429L576.073143%20489.691429l371.931428%20371.931428a54.857143%2054.857143%200%200%201-77.604571%2077.531429L498.395429%20567.369143%20126.537143%20939.154286A54.857143%2054.857143%200%201%201%2049.005714%20861.622857l371.931429-371.931428L48.932571%20117.76A54.857143%2054.857143%200%200%201%20126.464%2040.228571l371.931429%20371.858286z'%20fill='%23A1A1A1'%20p-id='25051'%3e%3c/path%3e%3c/svg%3e", mp = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1733294876140'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='16555'%20width='200'%20height='200'%3e%3cpath%20d='M847.644444%201024H150.755556c-48.355556-5.688889-88.177778-42.666667-93.866667-93.866667V93.866667C62.577778%2045.511111%20102.4%205.688889%20150.755556%200h466.488888l327.111112%20327.111111v605.866667c-8.533333%2048.355556-48.355556%2085.333333-96.711112%2091.022222z%20m0-696.888889h-184.888888c-25.6-2.844444-45.511111-22.755556-45.511112-45.511111V93.866667H196.266667c-25.6-2.844444-45.511111%2017.066667-45.511111%2042.666666v748.088889c5.688889%2022.755556%2022.755556%2042.666667%2045.511111%2045.511111h605.866666c25.6-2.844444%2045.511111-22.755556%2045.511111-45.511111V327.111111z%20m-270.222222%20512l-102.4-150.755555-45.511111%2068.266666h45.511111v82.488889H241.777778l167.822222-244.622222-150.755556-219.022222h125.155556l88.177778%20128%2088.177778-128h125.155555L540.444444%20591.644444l167.822223%20244.622223-130.844445%202.844444z'%20fill='%23A1A1A1'%20p-id='16556'%3e%3c/path%3e%3c/svg%3e", yp = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1744788570996'%20class='icon'%20viewBox='0%200%201026%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='11334'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200.390625'%20height='200'%3e%3cpath%20d='M163.2%2094.08a48%2048%200%200%200-67.84%200%2048%2048%200%200%200%200%2067.84l67.84-67.84z%20m145.28%20279.04a48%2048%200%200%200%2067.84%200%2048%2048%200%200%200%200-67.84L308.48%20373.12z%20m-213.12-211.2l213.12%20211.2%2067.84-67.84-213.12-211.2-67.84%2067.84zM95.36%20859.52a48%2048%200%200%200%2067.84%2068.48l-67.84-68.48z%20m280.96-142.72a48%2048%200%200%200-67.84-68.48l67.84%2068.48z%20m-213.12%20211.2l213.12-211.2-67.84-68.48-213.12%20211.2%2067.84%2068.48zM863.36%20928a48%2048%200%200%200%2067.84-67.84l-67.84%2067.84z%20m-143.36-279.04a47.36%2047.36%200%200%200-67.84%200%2048%2048%200%200%200%200%2067.84l67.84-67.84z%20m211.2%20211.2l-211.2-211.2-67.84%2067.84%20211.2%20211.2%2067.84-67.84zM929.28%20161.92a48%2048%200%200%200%200-67.84%2049.28%2049.28%200%200%200-68.48%200l68.48%2067.84z%20m-279.68%20143.36a48%2048%200%200%200%200%2067.84%2049.28%2049.28%200%200%200%2068.48%200l-68.48-67.84z%20m211.2-211.2l-211.2%20211.2%2068.48%2067.84%20211.2-211.2-68.48-67.84z'%20fill='%23A1A1A1'%20p-id='11335'%3e%3c/path%3e%3cpath%20d='M704%2080a48%2048%200%200%200%200%2096v-96zM896%20128h48a48.64%2048.64%200%200%200-48-48V128z%20m-48%20192a48%2048%200%200%200%2096%200zM704%20176h192v-96h-192v96zM849.28%20128v192h96V128zM945.28%20704a48%2048%200%200%200-96%200zM896%20896v48a48.64%2048.64%200%200%200%2048-48z%20m-192-48a48%2048%200%200%200%200%2096v-96zM849.28%20704v192h96v-192z%20m46.72%20144h-192v96h192v-96zM320%20944a48%2048%200%200%200%200-96v96zM128%20896h-46.72a48%2048%200%200%200%2048%2048V896z%20m48-192a48%2048%200%200%200-96%200zM320%20848H128v96h192v-96zM177.28%20896v-192h-96v192zM81.28%20320a48%2048%200%200%200%2096%200zM128%20128v-48a48%2048%200%200%200-46.72%2048z%20m192%2048a48%2048%200%200%200%200-96v96zM177.28%20320V128h-96v192zM128%20176h192v-96H128v96z'%20fill='%23A1A1A1'%20p-id='11336'%3e%3c/path%3e%3c/svg%3e", Le = "X1", ls = {
  DARK: {
    // 黑色主题
    BACKGROUND_COLOR: "#100C2A"
  },
  LIGHT: {
    // 白色主题
    BACKGROUND_COLOR: "#fff"
  }
}, dt = "dark", Gn = "light", Mt = "enlarge", Io = "shrink", cs = ["#0078FF", "#FFAA2E", "#00FF00", "#9D2EFF", "#DA1D80", "#DA4127"], ko = {
  tooltip: { trigger: "axis", confine: !0 },
  legend: { show: !0, left: 45, top: 8 },
  grid: {
    show: !0,
    left: "1%",
    right: "1.3%",
    top: "15%",
    bottom: "10%"
    // containLabel: true, // 包含刻度标签, 如果这里使用的话,echarts自身的适配的效果并不好,grid的left适配会出现问题
  },
  toolbox: {
    show: !0,
    feature: {
      dataZoom: {
        show: !0,
        yAxisIndex: "none",
        brushStyle: {
          shadowColor: "rgba(0,0,0,0.7)",
          shadowBlur: 10
        }
      },
      // dataView: { readOnly: false },
      // magicType: { type: ['line', 'bar'] },
      restore: {
        show: !0
        // 这里要加上,否则后续为拖拽组件设置右偏移时,计算显示的feature数量会少一个
      },
      // saveAsImage: {}, //注:echarts自带的saveAsImage功能,不能将自定义legend等元素保存到图片中,因此这里使用下面自定义的mySaveAsImage功能
      myThemeButton: {
        // 自定义的主题切换功能
        show: !0,
        title: "深色模式",
        icon: "image://",
        onclick: (e) => {
        }
      },
      myEnlargeShrinkButton: {
        // 自定义的放缩功能
        show: !0,
        title: "放大",
        icon: "image://" + yp,
        onclick: (e) => {
        }
      },
      myExcelView: {
        show: !0,
        title: "数据视图",
        icon: "image://" + mp,
        onclick: (e) => {
        }
      },
      mySaveAsImage: {
        // 自定义的保存图片功能
        show: !0,
        title: "保存为图片",
        // icon: 'path://M225.28 675.75808a20.48 20.48 0 0 0-20.48 20.48v125.60384a20.48 20.48 0 0 0 20.48 20.48h573.44a20.48 20.48 0 0 0 20.48-20.48v-125.60384a20.48 20.48 0 1 0-40.96 0v105.12384H245.76v-105.12384a20.48 20.48 0 0 0-20.48-20.48z M512 186.96192a20.48 20.48 0 0 0-20.48 20.48v440.5248l-129.90464-125.48096a20.45952 20.45952 0 1 0-28.44672 29.45024l164.31104 158.74048 0.04096 0.04096 0.24576 0.22528c0.75776 0.73728 1.72032 1.04448 2.53952 1.6384 1.26976 0.9216 2.4576 1.9456 3.93216 2.53952a20.25472 20.25472 0 0 0 15.48288 0c1.37216-0.55296 2.4576-1.51552 3.64544-2.3552 0.94208-0.63488 2.00704-1.024 2.84672-1.8432l164.57728-159.0272a20.48 20.48 0 0 0-28.48768-29.45024L532.48 647.96672v-440.5248a20.48 20.48 0 0 0-20.48-20.48z',
        icon: "image://" + gp,
        onclick: (e) => {
        }
      },
      myDeleteButton: {
        // 自定义的删除功能
        show: !0,
        title: "删除",
        // icon: 'path://M554.6496 512.0512l255.744-255.6928a30.1056 30.1056 0 1 0-42.6496-42.5984L512 469.4528 256.256 213.6064a30.1568 30.1568 0 1 0-42.6496 42.6496l255.744 255.6928-255.744 255.7952a30.1056 30.1056 0 1 0 42.6496 42.6496L512 554.6496l255.744 255.744a30.1568 30.1568 0 1 0 42.6496-42.6496l-255.744-255.6928z',
        icon: "image://" + vp,
        onclick: (e) => {
        }
      }
    }
  },
  dataZoom: [{
    type: "inside",
    start: 0,
    end: 100
  }],
  xAxis: [{
    type: "category",
    id: Le,
    name: "",
    axisLabel: {
      fontSize: 12
    },
    axisTick: {
      onZero: !1
    },
    nameGap: 20,
    nameTextStyle: {
      fontSize: 12,
      align: "center"
    },
    data: []
  }],
  yAxis: [
    {
      type: "value",
      //y轴为值类型
      show: !0,
      nameLocation: "center",
      nameTextStyle: {
        padding: 0,
        align: "right"
      },
      scale: !0,
      //坐标刻度不会强制包含零刻度
      axisLine: {
        show: !0
      },
      axisLabel: {
        fontSize: 12
      }
    }
  ],
  visualMap: [],
  series: []
}, bp = {
  symbol: ["none", "none"],
  // 箭头方向
  lineStyle: {
    type: "dashed",
    color: "#f00"
    // 线条颜色
  },
  itemStyle: {
    show: !0,
    color: "#f00"
    // 标签颜色
  },
  label: {
    show: !0,
    position: "insideEndTop",
    color: "#f00",
    // 标签颜色
    distance: 0
    // 标签距离线条距离
  },
  data: []
}, xp = "/base.css", wp = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20261.76%20226.69'%3e%3cpath%20d='M161.096.001l-30.225%2052.351L100.647.001H-.005l130.877%20226.688L261.749.001z'%20fill='%2341b883'/%3e%3cpath%20d='M161.096.001l-30.225%2052.351L100.647.001H52.346l78.526%20136.01L209.398.001z'%20fill='%2334495e'/%3e%3c/svg%3e", Ep = "/main.css", Sp = "/common.css", Ap = "/mixin.css", Cp = "/mixin.css", Tp = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1727336072305'%20class='icon'%20viewBox='0%200%201025%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='12248'%20width='200'%20height='200'%3e%3cpath%20d='M514.865796%201023.999488a511.999744%20511.999744%200%201%201%200-1023.999488c5.11795%200%2010.235901%200.307077%2015.353851%200.614154l5.629745%200.358257a51.179503%2051.179503%200%200%201%2046.061553%2033.471394%2050.41181%2050.41181%200%200%201-13.818466%2054.864427%20289.778344%20289.778344%200%200%200-94.68208%20213.316167%20296.841115%20296.841115%200%200%200%20297.864705%20293.053832h2.04718a296.175782%20296.175782%200%200%200%20170.427744-54.966786%2051.793657%2051.793657%200%200%201%2056.809248-1.944821%2050.104733%2050.104733%200%200%201%2023.542571%2051.179503A514.814617%20514.814617%200%200%201%20514.865796%201023.999488zM421.207306%20112.18547a409.845457%20409.845457%200%200%200%2030.707702%20805.258294%20414.144535%20414.144535%200%200%200%20440.143722-238.547662%20400.479608%20400.479608%200%200%201-117.712856%2018.52698%20404.881045%20404.881045%200%200%201-284.046239-114.18147%20395.668735%20395.668735%200%200%201-119.248241-280.003059v-0.05118a386.763501%20386.763501%200%200%201%2050.155912-190.746006z'%20fill='%23A1A1A1'%20p-id='12249'%3e%3c/path%3e%3c/svg%3e", Op = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1726801081066'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='25050'%20width='200'%20height='200'%3e%3cpath%20d='M498.395429%20412.086857L870.4%2040.228571a54.857143%2054.857143%200%200%201%2077.531429%2077.531429L576.073143%20489.691429l371.931428%20371.931428a54.857143%2054.857143%200%200%201-77.604571%2077.531429L498.395429%20567.369143%20126.537143%20939.154286A54.857143%2054.857143%200%201%201%2049.005714%20861.622857l371.931429-371.931428L48.932571%20117.76A54.857143%2054.857143%200%200%201%20126.464%2040.228571l371.931429%20371.858286z'%20fill='%23A1A1A1'%20p-id='25051'%3e%3c/path%3e%3c/svg%3e", Ip = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1744788570996'%20class='icon'%20viewBox='0%200%201026%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='11334'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200.390625'%20height='200'%3e%3cpath%20d='M163.2%2094.08a48%2048%200%200%200-67.84%200%2048%2048%200%200%200%200%2067.84l67.84-67.84z%20m145.28%20279.04a48%2048%200%200%200%2067.84%200%2048%2048%200%200%200%200-67.84L308.48%20373.12z%20m-213.12-211.2l213.12%20211.2%2067.84-67.84-213.12-211.2-67.84%2067.84zM95.36%20859.52a48%2048%200%200%200%2067.84%2068.48l-67.84-68.48z%20m280.96-142.72a48%2048%200%200%200-67.84-68.48l67.84%2068.48z%20m-213.12%20211.2l213.12-211.2-67.84-68.48-213.12%20211.2%2067.84%2068.48zM863.36%20928a48%2048%200%200%200%2067.84-67.84l-67.84%2067.84z%20m-143.36-279.04a47.36%2047.36%200%200%200-67.84%200%2048%2048%200%200%200%200%2067.84l67.84-67.84z%20m211.2%20211.2l-211.2-211.2-67.84%2067.84%20211.2%20211.2%2067.84-67.84zM929.28%20161.92a48%2048%200%200%200%200-67.84%2049.28%2049.28%200%200%200-68.48%200l68.48%2067.84z%20m-279.68%20143.36a48%2048%200%200%200%200%2067.84%2049.28%2049.28%200%200%200%2068.48%200l-68.48-67.84z%20m211.2-211.2l-211.2%20211.2%2068.48%2067.84%20211.2-211.2-68.48-67.84z'%20fill='%23A1A1A1'%20p-id='11335'%3e%3c/path%3e%3cpath%20d='M704%2080a48%2048%200%200%200%200%2096v-96zM896%20128h48a48.64%2048.64%200%200%200-48-48V128z%20m-48%20192a48%2048%200%200%200%2096%200zM704%20176h192v-96h-192v96zM849.28%20128v192h96V128zM945.28%20704a48%2048%200%200%200-96%200zM896%20896v48a48.64%2048.64%200%200%200%2048-48z%20m-192-48a48%2048%200%200%200%200%2096v-96zM849.28%20704v192h96v-192z%20m46.72%20144h-192v96h192v-96zM320%20944a48%2048%200%200%200%200-96v96zM128%20896h-46.72a48%2048%200%200%200%2048%2048V896z%20m48-192a48%2048%200%200%200-96%200zM320%20848H128v96h192v-96zM177.28%20896v-192h-96v192zM81.28%20320a48%2048%200%200%200%2096%200zM128%20128v-48a48%2048%200%200%200-46.72%2048z%20m192%2048a48%2048%200%200%200%200-96v96zM177.28%20320V128h-96v192zM128%20176h192v-96H128v96z'%20fill='%23A1A1A1'%20p-id='11336'%3e%3c/path%3e%3c/svg%3e", kp = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1733294876140'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='16555'%20width='200'%20height='200'%3e%3cpath%20d='M847.644444%201024H150.755556c-48.355556-5.688889-88.177778-42.666667-93.866667-93.866667V93.866667C62.577778%2045.511111%20102.4%205.688889%20150.755556%200h466.488888l327.111112%20327.111111v605.866667c-8.533333%2048.355556-48.355556%2085.333333-96.711112%2091.022222z%20m0-696.888889h-184.888888c-25.6-2.844444-45.511111-22.755556-45.511112-45.511111V93.866667H196.266667c-25.6-2.844444-45.511111%2017.066667-45.511111%2042.666666v748.088889c5.688889%2022.755556%2022.755556%2042.666667%2045.511111%2045.511111h605.866666c25.6-2.844444%2045.511111-22.755556%2045.511111-45.511111V327.111111z%20m-270.222222%20512l-102.4-150.755555-45.511111%2068.266666h45.511111v82.488889H241.777778l167.822222-244.622222-150.755556-219.022222h125.155556l88.177778%20128%2088.177778-128h125.155555L540.444444%20591.644444l167.822223%20244.622223-130.844445%202.844444z'%20fill='%23A1A1A1'%20p-id='16556'%3e%3c/path%3e%3c/svg%3e", _p = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1727337344522'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='17351'%20width='200'%20height='200'%3e%3cpath%20d='M512%200c25.6%200%2042.666667%2017.066667%2042.666667%2042.666667v85.333333c0%2025.6-17.066667%2042.666667-42.666667%2042.666667s-42.666667-17.066667-42.666667-42.666667V42.666667c0-25.6%2017.066667-42.666667%2042.666667-42.666667zM512%20853.333333c25.6%200%2042.666667%2017.066667%2042.666667%2042.666667v85.333333c0%2025.6-17.066667%2042.666667-42.666667%2042.666667s-42.666667-17.066667-42.666667-42.666667v-85.333333c0-25.6%2017.066667-42.666667%2042.666667-42.666667zM209.066667%20149.333333c-17.066667-17.066667-42.666667-17.066667-59.733334%200-17.066667%2017.066667-17.066667%2042.666667%200%2059.733334l59.733334%2059.733333c17.066667%2017.066667%2042.666667%2017.066667%2059.733333%200%2017.066667-17.066667%2017.066667-42.666667%200-59.733333L209.066667%20149.333333zM755.2%20755.2c17.066667-17.066667%2042.666667-17.066667%2059.733333%200l59.733334%2059.733333c17.066667%2017.066667%2017.066667%2042.666667%200%2059.733334s-42.666667%2017.066667-59.733334%200l-59.733333-59.733334c-17.066667-17.066667-17.066667-46.933333%200-59.733333zM42.666667%20469.333333c-25.6%200-42.666667%2017.066667-42.666667%2042.666667s17.066667%2042.666667%2042.666667%2042.666667h85.333333c25.6%200%2042.666667-17.066667%2042.666667-42.666667s-17.066667-42.666667-42.666667-42.666667H42.666667zM853.333333%20512c0-25.6%2017.066667-42.666667%2042.666667-42.666667h85.333333c25.6%200%2042.666667%2017.066667%2042.666667%2042.666667s-17.066667%2042.666667-42.666667%2042.666667h-85.333333c-25.6%200-42.666667-17.066667-42.666667-42.666667zM149.333333%20814.933333c-17.066667%2017.066667-17.066667%2042.666667%200%2059.733334%2017.066667%2017.066667%2042.666667%2017.066667%2059.733334%200l59.733333-59.733334c17.066667-17.066667%2017.066667-42.666667%200-59.733333-17.066667-17.066667-42.666667-17.066667-59.733333%200l-59.733334%2059.733333zM755.2%20268.8c-17.066667-17.066667-17.066667-42.666667%200-59.733333l59.733333-59.733334c17.066667-17.066667%2042.666667-17.066667%2059.733334%200s17.066667%2042.666667%200%2059.733334l-59.733334%2059.733333c-17.066667%2017.066667-46.933333%2017.066667-59.733333%200z'%20fill='%23A1A1A1'%20p-id='17352'%3e%3c/path%3e%3cpath%20d='M512%20213.333333c-166.4%200-298.666667%20132.266667-298.666667%20298.666667s132.266667%20298.666667%20298.666667%20298.666667%20298.666667-132.266667%20298.666667-298.666667-132.266667-298.666667-298.666667-298.666667z%20m0%20512c-119.466667%200-213.333333-93.866667-213.333333-213.333333s93.866667-213.333333%20213.333333-213.333333%20213.333333%2093.866667%20213.333333%20213.333333-93.866667%20213.333333-213.333333%20213.333333z'%20fill='%23A1A1A1'%20p-id='17353'%3e%3c/path%3e%3c/svg%3e", Mp = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='159.966093px'%20height='163px'%20viewBox='0%200%20159.966093%20163'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eDownload%3c/title%3e%3cg%20id='页面-1'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%20stroke-linecap='round'%3e%3cg%20id='Download'%20transform='translate(5.000000,%204.500000)'%20stroke='%23A1A1A1'%20stroke-width='15'%3e%3cline%20x1='76'%20y1='113.5'%20x2='113'%20y2='75.5'%20id='直线-3'%3e%3c/line%3e%3cline%20x1='74'%20y1='113.5'%20x2='39'%20y2='77.5'%20id='直线-4'%3e%3c/line%3e%3cline%20x1='75'%20y1='0.5'%20x2='75'%20y2='114.5'%20id='直线-2'%3e%3c/line%3e%3cpath%20d='M0,75.5%20L0,152.5%20C-4.33869274e-17,153.052285%200.44771525,153.5%201,153.5%20L148.966093,153.5%20C149.518378,153.5%20149.966093,153.052285%20149.966093,152.5%20L149.966093,75.8333334%20L149.966093,75.8333334'%20id='直线'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e", Dp = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1744788348825'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8501'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M926.165333%2097.820444a42.638222%2042.638222%200%200%201%200%2060.330667l-239.928889%20239.928889a42.638222%2042.638222%200%200%201-60.330666%200%2042.638222%2042.638222%200%200%201%200-60.330667l239.928889-239.928889a42.638222%2042.638222%200%200%201%2060.330666%200'%20fill='%23A1A1A1'%20p-id='8502'%3e%3c/path%3e%3cpath%20d='M613.404444%20367.914667a42.666667%2042.666667%200%200%201%2042.666667-42.666667h199.111111a42.666667%2042.666667%200%201%201%200%2085.333333h-199.111111a42.666667%2042.666667%200%200%201-42.666667-42.666666'%20fill='%23A1A1A1'%20p-id='8503'%3e%3c/path%3e%3cpath%20d='M656.071111%20126.136889a42.666667%2042.666667%200%200%201%2042.666667%2042.666667v199.111111a42.666667%2042.666667%200%201%201-85.333334%200v-199.111111a42.666667%2042.666667%200%200%201%2042.666667-42.666667M926.165333%20926.151111a42.638222%2042.638222%200%200%201-60.330666%200L625.92%20686.222222a42.638222%2042.638222%200%200%201%200-60.330666%2042.638222%2042.638222%200%200%201%2060.330667%200l239.928889%20239.928888a42.638222%2042.638222%200%200%201%200%2060.330667'%20fill='%23A1A1A1'%20p-id='8504'%3e%3c/path%3e%3cpath%20d='M656.071111%20613.390222a42.666667%2042.666667%200%200%201%2042.666667%2042.666667v199.111111a42.666667%2042.666667%200%201%201-85.333334%200v-199.111111a42.666667%2042.666667%200%200%201%2042.666667-42.666667'%20fill='%23A1A1A1'%20p-id='8505'%3e%3c/path%3e%3cpath%20d='M897.848889%20656.056889a42.666667%2042.666667%200%200%201-42.666667%2042.666667h-199.111111a42.666667%2042.666667%200%201%201%200-85.333334h199.111111a42.666667%2042.666667%200%200%201%2042.666667%2042.666667M97.834667%2097.820444a42.638222%2042.638222%200%200%201%2060.330666%200l239.928889%20239.928889a42.638222%2042.638222%200%200%201%200%2060.330667%2042.638222%2042.638222%200%200%201-60.330666%200L97.834667%20158.151111a42.638222%2042.638222%200%200%201%200-60.330667'%20fill='%23A1A1A1'%20p-id='8506'%3e%3c/path%3e%3cpath%20d='M367.928889%20410.581333a42.666667%2042.666667%200%200%201-42.666667-42.666666v-199.111111a42.666667%2042.666667%200%201%201%2085.333334%200v199.111111a42.666667%2042.666667%200%200%201-42.666667%2042.666666'%20fill='%23A1A1A1'%20p-id='8507'%3e%3c/path%3e%3cpath%20d='M126.151111%20367.914667a42.666667%2042.666667%200%200%201%2042.666667-42.666667h199.111111a42.666667%2042.666667%200%201%201%200%2085.333333h-199.111111a42.666667%2042.666667%200%200%201-42.666667-42.666666M97.834667%20926.151111a42.638222%2042.638222%200%200%201%200-60.330667l239.928889-239.928888a42.638222%2042.638222%200%200%201%2060.330666%200%2042.638222%2042.638222%200%200%201%200%2060.330666L158.151111%20926.151111a42.638222%2042.638222%200%200%201-60.330667%200'%20fill='%23A1A1A1'%20p-id='8508'%3e%3c/path%3e%3cpath%20d='M410.595556%20656.056889a42.666667%2042.666667%200%200%201-42.666667%2042.666667h-199.111111a42.666667%2042.666667%200%201%201%200-85.333334h199.111111a42.666667%2042.666667%200%200%201%2042.666667%2042.666667'%20fill='%23A1A1A1'%20p-id='8509'%3e%3c/path%3e%3cpath%20d='M367.928889%20897.834667a42.666667%2042.666667%200%200%201-42.666667-42.666667v-199.111111a42.666667%2042.666667%200%200%201%2085.333334%200v199.111111a42.666667%2042.666667%200%200%201-42.666667%2042.666667'%20fill='%23A1A1A1'%20p-id='8510'%3e%3c/path%3e%3c/svg%3e", Lp = (e) => e.map((n) => "." + n).join(","), Pp = (e, t = " | ") => e.map((o) => "." + o).join(t), Np = (e) => e < 1024 ? e + "B" : e < 1024 * 1024 ? (e = e / 1024, Number.isInteger(e) ? e + "KB" : e.toFixed(2).replace(/[0]$/g, "") + "KB") : e < 1024 * 1024 * 1024 ? (e = e / (1024 * 1024), Number.isInteger(e) ? e + "MB" : e.toFixed(2).replace(/[0]$/g, "") + "MB") : (e = e / (1024 * 1024 * 1024), Number.isInteger(e) ? e + "GB" : e.toFixed(2).replace(/[0]$/g, "") + "GB"), Rp = (e) => {
  const t = e.match(/\.(\w+)$/);
  return t ? t[1] : "";
}, Bp = (e, t = "htmlElementToImage.png", n, o) => {
  console.log("打印图片");
  const r = typeof e == "string" ? document.querySelector(e) : e;
  n && n(r), mi(r, {
    backgroundColor: null,
    useCORS: !0,
    scale: window.devicePixelRatio * 1
    // 图片放大两倍,解决高清屏下图片模糊问题
  }).then((a) => {
    o && o(r), a.getContext("2d", { willReadFrequently: !0 });
    const s = a.toDataURL(), i = document.createElement("a");
    i.href = s, i.download = t, i.click(), i.remove();
  });
}, zp = (e) => new URL((/* @__PURE__ */ Object.assign({ "../assets/base.css": xp, "../assets/logo.svg": wp, "../assets/main.css": Ep, "../assets/styles/common.less": Sp, "../assets/styles/mixin.less": Ap, "../assets/styles/var.less": Cp, "../assets/svg/dark.svg": Tp, "../assets/svg/delete.svg": Op, "../assets/svg/enlarge.svg": Ip, "../assets/svg/file-excel.svg": kp, "../assets/svg/light.svg": _p, "../assets/svg/save-image.svg": Mp, "../assets/svg/shrink.svg": Dp }))[`../assets/${e}`], import.meta.url).href, Lt = { fileTypesInputAcceptStr: Lp, fileTypesSeparatorStr: Pp, fileSizeToUnit: Np, getFileExtension: Rp, htmlElementToImage: Bp, getAssetsFile: zp }, Ea = (e, t = /* @__PURE__ */ new WeakMap()) => {
  if (Object(e) !== e) return e;
  if (t.has(e)) return t.get(e);
  let n = Array.isArray(e) ? [] : {};
  return t.set(e, n), Reflect.ownKeys(e).forEach((o) => {
    typeof e[o] == "function" ? n[o] = e[o].bind(n) : typeof e[o] == "object" && e[o] !== null ? n[o] = Ea(e[o], t) : n[o] = e[o];
  }), n;
}, $p = (e, t) => {
  if (e <= 0 || !Number.isInteger(e))
    throw new Error(t);
  return !0;
}, Cn = { deepCopy: Ea, validateCols: $p };
function Fp(e, t, n) {
  if (e.length !== t.length)
    throw new Error("两个数组长度必须相等");
  let o = [], r = null;
  for (let a = 0; a < e.length; a++)
    n(e[a], t[a]) ? r === null && (r = a) : r !== null && (o.push([r, a - 1]), r = null);
  return r !== null && o.push([r, e.length - 1]), o;
}
const Hp = { getGreaterValueIntervals: Fp };
let _o = ko;
const Mo = "color", Do = "colorCache";
class Gp {
  // 最终的option
  constructor(t) {
    j(this, "seriesOptionArray");
    // 原始数据
    j(this, "segment");
    // 图表分段数
    j(this, "theme");
    // 主题
    j(this, "enlargeShrink");
    // 放缩类型
    j(this, "swichThemeIcon");
    // 切换按钮的icon主题,与theme相反
    j(this, "xAxisInterval", 1);
    // x轴刻度标签显示间隔
    j(this, "offsetNum", 40);
    // Y轴偏移量
    j(this, "gridLeftInit", 45);
    // 左侧边距 --- 由于设置了containLabel: true,包含Y轴刻度标签,所以这里不需要设置
    j(this, "gridTopInit", 40);
    // 上方边距
    j(this, "echartsColors", cs);
    // 颜色数组
    j(this, "legendShow", !0);
    // 是否显示图例
    j(this, "extraTootip");
    // 额外的tooltip
    j(this, "xAxisData", []);
    // x轴数据
    j(this, "usedStandards", {});
    // 标准配置,适配高度尺寸自适应
    j(this, "lineSeriesMarkLineTemplate", JSON.parse(JSON.stringify(bp)));
    // 标记线模板
    // private optionTemplate: EChartsOption; // 折线图表模板
    j(this, "resultOption");
    // 初始化
    j(this, "init", () => {
      this.setLenged(), this.setYAxis(), this.setToolTip(), this.setThemeButtonIcon(), this.setEnlargeShrinkButtonIcon(), this.initOptionTemplate(), this.setResultOption(), this.setVisualMap();
    });
    // 设置图例,在图例中设置selected来显示和隐藏series
    j(this, "setLenged", () => {
      this.resultOption.legend.show = this.legendShow;
      const t = {};
      this.seriesOptionArray.forEach((n) => {
        const { name: o } = n;
        o && (t[o] = n.seriesShow !== !1);
      }), this.resultOption.legend.selected = t;
    });
    /**
     * @description 设置x轴刻度标签显示间隔
     * egment值300,表示间隔300,效果应该是0,300,600,...,; 
     * 但在echarts中的含义其实是interval为299,表示『隔299个标签显示一个标签』;
     * 也就是说,间隔300,实际上interval为299。
     * @returns {number | boolean} x轴刻度标签显示间隔
     */
    j(this, "setXAxisInterval", () => {
      if (!this.segment) return !1;
      let t = 1;
      if (typeof this.segment == "number")
        t = this.segment;
      else if (typeof this.segment == "object") {
        const { mode: n, value: o } = this.segment;
        if (n === "percent")
          return this.xAxisInterval = 0, !0;
        t = o;
      }
      return this.xAxisInterval = t - 1, this.xAxisInterval;
    });
    // 获取x轴数据 --- 如果有多个series,则从第一个开始获取,如果没有则往下一个series中获取
    j(this, "setXAxisData", () => {
      let t = [];
      for (let n = 0; n < this.seriesOptionArray.length; n++) {
        const o = this.seriesOptionArray[n].seriesData;
        if (o.length !== 0) {
          t = [...o.map((r) => r[0].toString())];
          break;
        }
      }
      return this.xAxisData = t, this.xAxisData;
    });
    // 折线图表模板
    j(this, "initOptionTemplate", () => {
      var n, o;
      const t = this.resultOption.xAxis;
      t[0].data = this.setXAxisData(), ((n = t[0].data) == null ? void 0 : n.length) > 0 && this.seriesOptionArray[0].xAxisName && (t[0].name = this.seriesOptionArray[0].xAxisName), t[0].show = ((o = this.xAxisData) == null ? void 0 : o.length) > 0, this.setXAxisInterval() && (t[0].axisLabel.interval = this.xAxisInterval), t[0].axisLabel.formatter = (r) => (this.seriesOptionArray.some((s) => s.seriesLinkMode) && (r = r.toString().split("--")[1]), typeof this.segment == "object" && this.segment.mode === "percent" && +r % this.segment.value !== 0 && (r = ""), r), typeof this.segment == "object" && this.segment.mode === "percent" && (t[0].axisTick.show = !1);
    });
    /**
     * @description 根据series数据,自定义Y轴最小值和最大值 --- 暂未使用,使用echarts自身的优化算法来自动设置
     * @returns this 链式调用   
     */
    j(this, "customYAxisMinMax", () => {
      function t(n) {
        const o = n.map((s) => +s[1]);
        let r = Math.min(...o), a = Math.max(...o);
        return console.log("min, max", r, a), (r > 0 || r < 0) && (r = Math.floor(r / 10) * 10), (a > 0 || a < 0) && (a = Math.ceil(a / 10) * 10), { min: r, max: a };
      }
      return this.seriesOptionArray.forEach((n, o) => {
        const { min: r, max: a } = t(n.seriesData), s = this.resultOption.yAxis[o];
        s.min = r, s.max = a, s.alignTicks = !1;
      }), this;
    });
    // 设置y轴
    j(this, "setYAxis", () => {
      const t = [], n = [];
      let o = 0;
      this.seriesOptionArray.forEach((a, s) => {
        const i = a.seriesData.length > 0 && a.yAxisShow !== !1 && a.dataType !== "switch" && a.dataType !== "markLine";
        n.push(i);
        const l = {
          name: a.yAxisName || "",
          type: "value",
          show: i,
          // 注:只有当数据不为空时才显示Y轴
          position: "left",
          offset: 0,
          alignTicks: !0,
          scale: !0,
          // 坐标刻度不强制包含零刻度
          axisLine: { show: !0, lineStyle: { color: this.echartsColors[s % this.echartsColors.length] } },
          nameTextStyle: { align: "center", padding: [0, 0, -7, 0] },
          axisLabel: { margin: 2 }
        };
        (a.yAxisMin || a.yAxisMin === 0) && (l.min = a.yAxisMin), (a.yAxisMax || a.yAxisMax === 0) && (l.max = a.yAxisMax), a.dataType === "switch" && (l.show = !0, l.name = "", l.min = 0 - o * 1.5, l.max = 12 - o * 1.5, l.axisLine.show = !1, l.axisLabel.show = !1, o++), a.dataType === "markLine" && (l.show = !0, l.name = "markLine", l.axisLine.show = !0, l.axisLabel.show = !0), t.push(l);
      }), t.forEach((a, s) => {
        if (a.axisLine.show === !1 && a.axisLabel.show === !1) return;
        const i = n.reduce((l, c, p) => (p <= s && (l = l + (c ? 1 : 0)), l), 0);
        a.offset = i === 0 ? 0 : this.offsetNum * (i - 1);
      }), this.resultOption.yAxis = t, console.log("yAxisShowArray", n);
      const r = n.filter((a) => a === !0).length;
      r === 0 || r === 1 ? this.resultOption.grid.left = this.gridLeftInit : this.resultOption.grid.left = this.gridLeftInit + this.offsetNum * (r - 1);
    });
    // 设置tooltip
    j(this, "setToolTip", () => {
      const t = this.resultOption.tooltip;
      this.setBaseLineOnToolTip(t);
    });
    // 设置基准线值在tooltip中显示
    j(this, "setBaseLineOnToolTip", (t) => {
      var r, a;
      const n = [];
      let o = !1;
      this.seriesOptionArray.forEach((s) => {
        var v, x, E, k;
        const i = s.seriesShow !== !1;
        if (!s.visualMapSeries) {
          const G = {
            seriesShow: i,
            showOnToolTipMode: "not",
            baseLineValue: void 0,
            piecesOnTooltipValue: ""
          };
          n.push(G);
          return;
        }
        const l = s.visualMapSeries, c = (v = l == null ? void 0 : l.baseLine) == null ? void 0 : v.isShowOnToolTip, p = (x = l == null ? void 0 : l.piecesOnTooltip) == null ? void 0 : x.show, h = ((E = l == null ? void 0 : l.piecesOnTooltip) == null ? void 0 : E.value) || "";
        console.log("isShowOnToolTip", c);
        const b = !c && !p ? "not" : p ? "pieces" : "baseLine";
        (c || p) && (o = !0);
        const g = (k = l == null ? void 0 : l.baseLine) == null ? void 0 : k.value, d = {
          seriesShow: i,
          showOnToolTipMode: b,
          baseLineValue: g,
          piecesOnTooltipValue: h
        };
        n.push(d);
      }), console.log("someIsShowOnToolTip", o), !(!o && (!((r = this.extraTootip) != null && r.show) || ((a = this.extraTootip) == null ? void 0 : a.data.length) === 0)) && (t.formatter = (s) => {
        var l, c;
        let i = "";
        if (s && s.length > 0 && (i += `${s[0].name}</br>`, s.forEach((p) => {
          const h = p.componentIndex, b = p.dataIndex, g = n[h].seriesShow, d = n[h].showOnToolTipMode;
          let v = Array.isArray(p.value) ? p.value[1] : p.value;
          if (d === "pieces") {
            const x = n[h].piecesOnTooltipValue;
            v = `${v}&nbsp;<span style="color: green;">(${x})<span>`;
          } else if (d === "baseLine") {
            const x = n[h].baseLineValue, E = Array.isArray(x[b]) ? x[b][1] : x[b];
            v = `${v}&nbsp;<span style="color: green;">(${E})<span>`;
          }
          g && (i += `<div>${p.marker}&nbsp;${p.seriesName}&nbsp;&nbsp;&nbsp;&nbsp;<span style="float: right;">${v}</span></div>`);
        }), (l = this.extraTootip) != null && l.show && ((c = this.extraTootip) == null ? void 0 : c.data.length) > 0)) {
          const p = '<span style="display:inline-block; margin-right:4px; width:10px; height:10px; color: #ccc;">--</span>';
          this.extraTootip.data.forEach((h) => {
            const b = h.label, g = h.value, d = s[0].dataIndex, v = g[d], x = Array.isArray(v) ? v[1] : v;
            i += `<div>${p}&nbsp;${b}&nbsp;&nbsp;&nbsp;&nbsp;<span style="float: right;">${x}</span></div>`;
          });
        }
        return i;
      });
    });
    // 设置主题按钮图标
    j(this, "setThemeButtonIcon", () => {
      if (this.resultOption.toolbox) {
        const t = this.resultOption.toolbox;
        if (t.feature && t.feature.myThemeButton) {
          const n = Lt.getAssetsFile("svg/dark.svg"), o = Lt.getAssetsFile("svg/light.svg");
          let r = n;
          this.swichThemeIcon === dt ? r = n : r = o, t.feature.myThemeButton.icon = "image://" + r, this.setOptionColorsByTheme(this.resultOption, this.swichThemeIcon);
        } else
          console.error("myThemeButton is not defined in toolbox feature");
      } else
        console.error("toolbox is not defined in resultOption");
      return this;
    });
    /**
     * @description 根据主题设置所有颜色,主要是坐标轴相关的颜色
     * @param option 配置项
     * @param swichThemeIcon 切换图标 
     */
    j(this, "setOptionColorsByTheme", (t, n) => {
      if (t !== null && typeof t == "object") {
        for (const o in t)
          if (Reflect.has(t, o))
            if (o === Do) {
              const r = t[Do];
              if (!r) continue;
              t[Mo] = n === dt ? r[0] : r[1];
            } else
              this.setOptionColorsByTheme(t[o], n);
      }
    });
    // 设置放缩按钮图标
    j(this, "setEnlargeShrinkButtonIcon", () => {
      if (this.resultOption.toolbox) {
        const t = this.resultOption.toolbox;
        if (t.feature && t.feature.myEnlargeShrinkButton) {
          const n = Lt.getAssetsFile("svg/enlarge.svg"), o = Lt.getAssetsFile("svg/shrink.svg");
          let r = n;
          this.enlargeShrink === Mt ? r = o : r = n, t.feature.myEnlargeShrinkButton.icon = "image://" + r;
        } else
          console.error("myEnlargeShrinkButton is not defined in toolbox feature");
      } else
        console.error("toolbox is not defined in resultOption");
      return this;
    });
    // 组装option
    j(this, "setResultOption", () => {
      const t = this;
      function n(r, a, s) {
        const i = {
          type: "line",
          name: "demo",
          smooth: !0,
          ...a
        };
        let l = [];
        switch (i.type) {
          case "line":
            l = r.series;
            break;
          case "bar":
            l = r.series;
            break;
          default:
            l = r.series;
            break;
        }
        const c = t.echartsColors[s % t.echartsColors.length], p = {
          id: `series${s}`,
          name: i.name,
          type: i.type,
          smooth: i.smooth,
          step: !1,
          symbol: "none",
          yAxisIndex: a.seriesYAxisIndex || a.seriesYAxisIndex === 0 ? a.seriesYAxisIndex : s,
          lineStyle: { color: c },
          itemStyle: { color: c },
          data: i.seriesData
        };
        return i.dataType === "switch" && (p.smooth = !1, p.step = "start", p.areaStyle = { origin: 0 }), l.push(p), r;
      }
      let o = Cn.deepCopy(this.resultOption);
      Array.isArray(this.seriesOptionArray) ? this.seriesOptionArray.forEach((r, a) => {
        o = n(o, r, a);
      }) : o = n(o, this.seriesOptionArray[0], 0), this.resultOption = o;
    });
    /**
     * @description 添加自定义标记线
     * @param markLineArray 自定义标记线数组
     * @returns this 链式调用 
     */
    j(this, "addCustomSeriesMarkLine", (t) => t.length === 0 ? (this.lineSeriesMarkLineTemplate.data = [], this) : (t.forEach((n) => {
      typeof n == "number" ? this.lineSeriesMarkLineTemplate.data && this.lineSeriesMarkLineTemplate.data.push({ yAxis: n }) : this.lineSeriesMarkLineTemplate.data && this.lineSeriesMarkLineTemplate.data.push(n);
    }), this));
    /**
     * @description 清除所有自定义标记线
     * @returns this 链式调用
     */
    j(this, "clearCustomSeriesMarkLine", () => (this.lineSeriesMarkLineTemplate.data.length = 0, this));
    /**
     * @description 设置自定义标记线
     * 根据yAxis的show值,如果show是true,则显示该系列的markLine,否则不显示;
     * 同时也考虑到重复的markLine,如果有重复的,则只显示第一个重复的
     * @returns this 链式调用
     */
    j(this, "setCustomSeriesMarkLine", (t) => {
      function n(i, l) {
        const c = new Set(i.filter((b) => b !== void 0).flat().map((b) => JSON.stringify(b))), p = Array.from(c).reduce((b, g) => (b[g] = !1, b), {}), h = [];
        return i.forEach((b, g) => {
          const d = l[g].show;
          if (!b || b.length === 0) {
            h.push(void 0);
            return;
          }
          if (!d) {
            h.push(void 0);
            return;
          }
          const v = [];
          b.forEach((x) => {
            const E = JSON.stringify(x);
            if (!c.has(E)) {
              v.push(x);
              return;
            }
            p[E] || (v.push(x), p[E] = !0);
          }), h.push(v);
        }), h;
      }
      const o = this.resultOption.series, r = this.resultOption.yAxis;
      if (o.length === 0) return this;
      const a = t.map((i) => i.markLineArray), s = n(a, r);
      console.log("markLineArraysFilter", s);
      for (let i = 0; i < s.length; i++) {
        const l = o[i], c = r[i].show, p = s[i], h = JSON.parse(JSON.stringify(this.lineSeriesMarkLineTemplate));
        p == null || p.forEach((b) => {
          typeof b == "number" ? h.data.push({ yAxis: b }) : h.data.push(b);
        }), c ? l.markLine = h : l.markLine = { data: [] };
      }
      return this;
    });
    /**
     * @description 设置自定义视觉映射
     * @param visualMapSreies 自定义视觉映射 例如:[ {min: 0, max: 100, color: 'green'}, {min: 100, max: 200, color: 'yellow'} ]
     * @returns this 链式调用
     */
    j(this, "setVisualMap", () => {
      function t(o, r) {
        const a = [], s = o.baseLine;
        if (s) {
          const i = s.mode, c = s.value.map((b) => +b[1]), p = r.map((b) => +b[1]), h = Hp.getGreaterValueIntervals(c, p, (b, g) => {
            let d = !1;
            switch (i) {
              case "above":
                d = g > b;
                break;
              case "below":
                d = g < b;
                break;
              case "equal":
                d = g === b;
                break;
            }
            return d;
          });
          console.log("intervals---------------", h), h.forEach((b) => {
            const g = {
              gte: b[0],
              color: "red"
            };
            b[0] === b[1] ? g.lt = b[1] + 1 : g.lte = b[1], a.push(g);
          });
        } else
          o.pieces.forEach((l) => {
            const c = {
              gte: l.min,
              lte: l.max,
              color: l.color || "red"
            };
            a.push(c);
          });
        return a;
      }
      this.resultOption.visualMap = [];
      const n = this.resultOption.visualMap;
      return this.seriesOptionArray.forEach((o, r) => {
        var l;
        if (!o.visualMapSeries) return;
        const a = (l = this.resultOption.series[r].lineStyle) == null ? void 0 : l.color;
        this.resultOption.series[r].lineStyle = {};
        const s = t(o.visualMapSeries, o.seriesData);
        if (s.length === 0) return;
        const i = {
          show: !1,
          type: "piecewise",
          pieces: s,
          seriesIndex: r,
          outOfRange: {
            color: a
          },
          dimension: o.visualMapSeries.baseLine ? 0 : 1
          // 基准线存在时,dimension为0,否则为1
        };
        n.push(i);
      }), this;
    });
    /**
     * @description 设置echarts实例的myDeleteButton按钮的点击事件
     * @param callback myDeleteButton按钮的自定义点击事件回调函数
     * @returns this 链式调用
     */
    j(this, "setMyDeleteButton", (t) => {
      if (this.resultOption.toolbox) {
        const n = this.resultOption.toolbox;
        n.feature && n.feature.myDeleteButton ? n.feature.myDeleteButton.onclick = t : console.error("myDeleteButton is not defined in toolbox feature");
      } else
        console.error("toolbox is not defined in resultOption");
      return this;
    });
    /**
     * @description 重写echarts实例的SaveAsImage按钮的点击事件
     * @param callback SaveAsImage按钮的自定义点击事件回调函数
     * @returns this 链式调用 
     */
    j(this, "setSaveAsImageClickEvent", (t) => {
      if (this.resultOption.toolbox) {
        const n = this.resultOption.toolbox;
        n.feature && n.feature.mySaveAsImage ? n.feature.mySaveAsImage.onclick = t : console.error("mySaveAsImage is not defined in toolbox feature");
      } else
        console.error("toolbox is not defined in resultOption");
      return this;
    });
    /**
     * @description 设置echarts实例的myThemeButton按钮的点击事件
     * @param callback myThemeButton按钮的自定义点击事件回调函数
     * @returns this 链式调用 
     */
    j(this, "setMyThemeButtonClickEvent", (t) => {
      if (this.resultOption.toolbox) {
        const n = this.resultOption.toolbox;
        n.feature && n.feature.myThemeButton ? n.feature.myThemeButton.onclick = t : console.error("myThemeButton is not defined in toolbox feature");
      } else
        console.error("toolbox is not defined in resultOption");
      return this;
    });
    /** 
     * @description 设置echarts实例的放缩按钮的点击事件
     * @param callback 放缩按钮的自定义点击事件回调函数
     * @returns this 链式调用
     */
    j(this, "setMyEnlargeShrinkButtonClickEvent", (t) => {
      if (this.resultOption.toolbox) {
        const n = this.resultOption.toolbox;
        n.feature && n.feature.myEnlargeShrinkButton ? n.feature.myEnlargeShrinkButton.onclick = t : console.error("myEnlargeShrinkButton is not defined in toolbox feature");
      } else
        console.error("toolbox is not defined in resultOption");
      return this;
    });
    /**
     * @description 设置echarts实例的myExcelView按钮的点击事件
     * @param callback myExcelView按钮的自定义点击事件回调函数
     * @returns this 链式调用
     */
    j(this, "setMyExcelViewClickEvent", (t) => {
      if (this.resultOption.toolbox) {
        const n = this.resultOption.toolbox;
        n.feature && n.feature.myExcelView ? n.feature.myExcelView.onclick = t : console.error("myExcelView is not defined in toolbox feature");
      } else
        console.error("toolbox is not defined in resultOption");
      return this;
    });
    /**
     * 设置toolbox中相关工具的title语言类型
     * @param lang 语言类型,zh-cn | en (中文 | 英文),默认中文
     * @returns this 链式调用 
     */
    j(this, "setLanguage", (t) => {
      var o;
      const n = ((o = this.resultOption) == null ? void 0 : o.toolbox).feature;
      return n.dataZoom.title = { zoom: t === "zh-cn" ? "区域缩放" : "Zoom", back: t === "zh-cn" ? "区域缩放还原" : "Zoom Reset" }, n.restore.title = t === "zh-cn" ? "还原" : "Restore", n.myThemeButton.title = t === "zh-cn" ? "切换到" + (this.swichThemeIcon === dt ? "黑夜" : "白天") : "switch to " + (this.swichThemeIcon === dt ? "dark" : "light"), n.myEnlargeShrinkButton.title = t === "zh-cn" ? this.enlargeShrink === Mt ? "缩小" : "放大" : this.enlargeShrink === Mt ? "Shrink" : "Enlarge", n.myExcelView.title = t === "zh-cn" ? "数据视图" : "Data View", n.myDeleteButton.title = t === "zh-cn" ? "删除" : "Delete", n.mySaveAsImage.title = "", this;
    });
    /**
     * @description 统一设置所有echarts实例grid的left值对齐
     * 当前echarts中没有Y轴显示时,grid的left值设置默认值,无需对齐
     * 最大显示数量maxShowYCount为0时,grid的left值设置默认值,无需对齐
     * 其他情况,grid的left值设置: 默认值 + 最大显示数量-1的偏移量
     * @param maxShowYCount 各个图表中Y轴的最大显示数量
     * @returns this 链式调用
     */
    j(this, "setGridLeftAlign", (t) => {
      let n = 0;
      return this.seriesOptionArray.forEach((o) => {
        o.seriesData.length > 0 && n++;
      }), n === 0 || t === 0 ? this.resultOption.grid.left = this.gridLeftInit : this.resultOption.grid.left = this.gridLeftInit + this.offsetNum * (t - 1), this;
    });
    /**
     * @description 统一设置所有echarts实例的Y轴的显示
     * @param myChart echarts实例
     * @param graphics 图形元素数组 
     * @param onPointDragging 自定义图形元素拖拽事件回调函数 
     * @returns 图形元素数组信息 Array<GraphicLocationInfoType>
     */
    j(this, "setGraphic", (t, n, o) => {
      const r = "rect1", a = "rect2";
      console.log("graphics", n);
      const s = n && n[0].xAxisSeq || Math.floor(this.xAxisData.length / 3), i = n && n[1].xAxisSeq || Math.floor(this.xAxisData.length / 3) * 2, l = this.xAxisData[s], c = this.xAxisData[i];
      return t.setOption({
        // 绘制markLine的graphic line
        graphic: [
          {
            ...this.getGraphicRectTemplate(t, r, s, l),
            ondrag: (p) => o(this.computedTwoGraphicRect(p.target.x, t, r))
            // draggable: false, // 禁止拖拽
          },
          {
            ...this.getGraphicRectTemplate(t, a, i, c),
            ondrag: (p) => o(this.computedTwoGraphicRect(p.target.x, t, a))
            // draggable: false, // 禁止拖拽
          }
        ]
      }), [
        { graphicId: r, positionX: t.convertToPixel({ xAxisId: Le }, s), xAxisSeq: s, xAxisX: l },
        { graphicId: a, positionX: t.convertToPixel({ xAxisId: Le }, i), xAxisSeq: i, xAxisX: c }
      ];
    });
    j(this, "setMyGraphic", (t, n, o) => {
      const r = "rect1", a = this.xAxisData[n], s = t.convertToPixel({ xAxisId: Le }, n);
      t.setOption({
        // 绘制markLine的graphic line
        graphic: [
          {
            ...this.getGraphicRectTemplate_1(t, n),
            // ondrag: (e: any) => onPointDragging(this.computedTwoGraphicRect(e.target.x, myChart, GRAPHIC_RECT1_ID)),
            id: r,
            position: [s, 0],
            info: a,
            textContent: {
              style: {
                text: a
              }
            },
            draggable: !1,
            // 禁止拖拽
            ...o
          }
        ]
      });
    });
    /**
     * 设置背景色
     * @param color 背景色
     * @returns 
     */
    j(this, "setBackgroundColor", (t) => (t && (this.resultOption.backgroundColor = t), this));
    /**
     * @description 获取graphic 矩形图形模板
     * @param myChart echarts实例
     * @param graphicId 图形元素id
     * @param xAxisSeq 图形元素x轴坐标序号:从0开始
     * @param graphicXAxisX 图形元素x轴坐标:不定,可能是数值可能是时间等等
     * @returns 
     */
    j(this, "getGraphicRectTemplate", (t, n, o, r) => {
      console.log("this.usedStandards", this.usedStandards);
      let a = 40, s = 20, i = t.getHeight() * 0.9 - a, l = 12;
      if (Object.keys(this.usedStandards).length !== 0) {
        const p = this.usedStandards, h = p.grid.top, b = p.grid.bottom;
        a = h / 2, i = p.echartsHeight - h - b + a, l = p.fontSize, s = (h - a) / 2 + l;
      }
      const c = t.convertToPixel({ xAxisId: Le }, o);
      return {
        id: n,
        type: "rect",
        //'rect' 表示这个 graphic element 的类型是长方形。
        top: a,
        // left: myChart.convertToPixel({ xAxisId: XAXIS_ID }, 120),
        z: 101,
        // 这个属性让长方形可以被拖拽。
        //设置长方形的形状
        shape: {
          width: 1,
          height: i
          // r: 10
        },
        // 用 transform 的方式对长方形进行定位。position: [x, y] 表示将长方形平移到 [x, y] 位置。
        // 这里使用了 convertToPixel 这个 API 来得到长方形的位置
        position: [c, 0],
        draggable: "horizontal",
        // 这个属性让圆点可以被拖拽。
        //设置长方形的样式,透明度设置为0时,该长方形不可见
        //  invisible: true,// 这个属性让长方形不可见(但是不影响他响应鼠标事件)。
        info: r,
        textContent: {
          type: "text",
          style: {
            text: r,
            font: l + 'px "Microsoft YaHei", sans-serif'
          }
        },
        textConfig: {
          position: "top",
          offset: [15, s]
        },
        style: {
          fill: "red",
          stroke: "red",
          lineWidth: 1
        },
        //鼠标悬浮时在图形元素上时鼠标的样式是什么。同 CSS 的 cursor
        // 'move'	光标指示某对象可被移动。
        // 'pointer'	光标呈现为指示链接的指针(一只手)
        cursor: "pointer"
      };
    });
    //todo: 待实现 
    j(this, "getGraphicRectTemplate_1", (t, n) => {
      console.log("this.usedStandards", this.usedStandards);
      let o = 40, r = 20, a = t.getHeight() * 0.9 - o, s = 12;
      if (Object.keys(this.usedStandards).length !== 0) {
        const i = this.usedStandards, l = i.grid.top, c = i.grid.bottom;
        o = l / 2, a = i.echartsHeight - l - c + o, s = i.fontSize, r = (l - o) / 2 + s;
      }
      return {
        id: "",
        type: "rect",
        //'rect' 表示这个 graphic element 的类型是长方形。
        top: o,
        // left: myChart.convertToPixel({ xAxisId: XAXIS_ID }, 120),
        z: 101,
        // 这个属性让长方形可以被拖拽。
        //设置长方形的形状
        shape: {
          width: 1,
          height: a
          // r: 10
        },
        // 用 transform 的方式对长方形进行定位。position: [x, y] 表示将长方形平移到 [x, y] 位置。
        // 这里使用了 convertToPixel 这个 API 来得到长方形的位置
        position: [0, 0],
        draggable: "horizontal",
        // 这个属性让圆点可以被拖拽。
        //设置长方形的样式,透明度设置为0时,该长方形不可见
        //  invisible: true,// 这个属性让长方形不可见(但是不影响他响应鼠标事件)。
        info: "",
        textContent: {
          type: "text",
          style: {
            text: "",
            font: s + 'px "Microsoft YaHei", sans-serif'
          }
        },
        textConfig: {
          position: "top",
          offset: [15, r]
        },
        style: {
          fill: "red",
          stroke: "red",
          lineWidth: 1
        },
        //鼠标悬浮时在图形元素上时鼠标的样式是什么。同 CSS 的 cursor
        // 'move'	光标指示某对象可被移动。
        // 'pointer'	光标呈现为指示链接的指针(一只手)
        cursor: "pointer"
      };
    });
    /**
     * @description 计算两个graphic矩形的坐标信息: 当前拖拽的图形的左侧位置和在X轴上的坐标值、未拖动的图形的左侧位置和在X轴上的坐标值
     * @param positionX 当前拖拽线条的X值,距离echarts左侧边框距离(包含grid)
     * @param myChart echarts实例 
     * @param currentDragGraphicId 当前拖拽的图形的id 
     * @param notDragGraphicId 未拖动的图形的id 
     * @returns
     */
    j(this, "computedTwoGraphicRect", (t, n, o) => {
      const r = n.convertFromPixel({ xAxisId: Le }, t), a = this.xAxisData[r];
      return {
        graphicId: o,
        positionX: t,
        xAxisSeq: r,
        xAxisX: a
      };
    });
    /**
     * @description 设置字体大小和其他自适应
     * @param myChart echarts实例
     * @returns this 链式调用
     */
    j(this, "setFontSizeAndMoreAuto", (t, n = !0) => {
      let o = {};
      const r = {
        // 标准映射
        200: {
          fontSize: 12,
          grid: {
            top: n ? 50 : 30,
            bottom: 21
          },
          toolbox: {
            top: "auto",
            itemSize: 15,
            itemGap: 8
          }
        },
        150: {
          fontSize: 10,
          grid: {
            top: n ? 40 : 20,
            bottom: 19
          },
          toolbox: {
            top: -4,
            itemSize: 12,
            itemGap: 6
          }
        },
        100: {
          fontSize: 10,
          grid: {
            top: n ? 30 : 20,
            bottom: 19
          },
          toolbox: {
            top: -4,
            itemSize: 12,
            itemGap: 6
          }
        },
        other: {
          fontSize: 9,
          grid: {
            top: 20,
            bottom: 18
          },
          toolbox: {
            top: -4,
            itemSize: 10,
            itemGap: 4
          }
        }
      };
      t > 200 ? o = r[200] : t > 150 ? o = r[150] : t > 100 ? o = r[100] : o = r.other;
      const a = this.resultOption.grid;
      a.top = o.grid.top, a.bottom = o.grid.bottom;
      const s = this.resultOption.toolbox;
      s.top = o.toolbox.top, s.itemSize = o.toolbox.itemSize, s.itemGap = o.toolbox.itemGap;
      const i = this.resultOption.xAxis[0];
      return i.axisLabel.fontSize = o.fontSize, i.nameTextStyle.fontSize = o.fontSize, this.resultOption.yAxis.forEach((l) => {
        l.axisLabel.fontSize = o.fontSize, l.nameTextStyle.fontSize = o.fontSize;
      }), o.echartsHeight = t, console.log("usedStandards----------------------------", o), this.usedStandards = o, this;
    });
    /**
     * @description 根据xAxisName的文本宽度设置grid的right属性
     * @param width 容器宽度
     * @returns 
     */
    j(this, "setGridRightByXAxisName", (t) => {
      function n(p, h) {
        const g = document.createElement("canvas").getContext("2d");
        return g === null ? 0 : (g.font = `${h}px Arial`, g.measureText(p).width);
      }
      function o(p, h, b) {
        p.right = b, h.nameTextStyle.align = "left", h.nameTextStyle.padding = 0, h.nameGap = 5;
      }
      console.log("容器宽度:" + t);
      const r = this.resultOption.xAxis[0], a = this.resultOption.grid, s = r.name;
      if (s === "") return this;
      const i = r.nameTextStyle.fontSize, l = n(s, i);
      let c = a.right;
      return typeof c == "string" && (c.endsWith("%") ? c = t * parseFloat(c.slice(0, -1)) / 100 : c = 10), console.log("原始right值:" + c), console.log("计算后的文本宽度:" + l), l === 0 ? this : (c <= l ? l - c < 10 ? o(a, r, l + 10) : o(a, r, l + 15) : c - l < 5 ? o(a, r, l + 15) : c - l < 10 && o(a, r, l + 10), this);
    });
    j(this, "getXAxisData", () => this.xAxisData);
    j(this, "getResultOption", () => this.resultOption);
    console.groupCollapsed("EchartsLinkageModel"), console.log("param", t);
    const n = Cn.deepCopy(_o);
    this.resultOption = n, this.seriesOptionArray = t.seriesOptionArray, this.segment = t.segment, this.theme = t.theme, this.enlargeShrink = t.enlargeShrink || Io, this.swichThemeIcon = this.theme === dt ? Gn : dt, this.enlargeShrink = this.enlargeShrink === Mt ? Mt : Io, this.echartsColors = t.echartsColors || cs, this.legendShow = t.useMergedLegend === !1, this.extraTootip = t.extraTooltip, this.init(), console.groupEnd();
  }
}
const Vp = (e, t) => {
  if (t) {
    if (Array.isArray(e) && e.length === 2)
      return e;
    throw new Error("color属性值必须是长度为2的数组");
  } else
    return Array.isArray(e) ? e[0] : e;
}, Lo = (e, t, n) => {
  if (!t) return e;
  for (const o in t)
    if (Reflect.has(t, o)) {
      if (o === Mo) {
        const r = t[o], a = Vp(r, n);
        n ? e[Do] = a : e[Mo] = a;
        continue;
      }
      if (!Reflect.has(e, o)) {
        e[o] = t[o];
        continue;
      }
      if (typeof t[o] == "object" && t[o] !== null) {
        let r = t[o];
        Array.isArray(t[o]) && (r = t[o][0]), typeof e[o] == "object" && (Array.isArray(e[o]) ? e[o][0] = Lo(e[o][0], r, n) : e[o] = Lo(e[o], r, n));
      } else
        e[o] = t[o];
    }
  return e;
}, Up = (e) => {
  function t(o) {
    var a, s;
    const r = (s = (a = o == null ? void 0 : o.toolbox) == null ? void 0 : a.feature) == null ? void 0 : s.myThemeButton;
    return !(r && Reflect.has(r, "show") && r.show === !1);
  }
  const n = Lo(Cn.deepCopy(ko), e, t(e));
  if (n && Object.keys(n).length !== 0) {
    _o = n;
    return;
  }
  _o = ko;
}, us = "pulse", ds = "line", fe = (e) => {
  try {
    if (typeof structuredClone < "u") {
      const t = fn(e);
      return structuredClone(t);
    }
  } catch (t) {
    console.warn("structuredClone failed, falling back to JSON method", t);
  }
  return JSON.parse(JSON.stringify(e));
}, jp = (e) => Array.isArray(e) ? [...e] : typeof e == "object" && e !== null ? { ...e } : e, fn = (e) => {
  if (e === null || typeof e != "object")
    return e;
  if (e instanceof Date)
    return new Date(e.getTime());
  if (e instanceof RegExp)
    return new RegExp(e.source, e.flags);
  if (Po(e))
    return fn(e.value);
  if (Qa(e) || ei(e)) {
    const n = ti(e);
    return fn(n);
  }
  if (Array.isArray(e))
    return e.map((n) => fn(n));
  const t = {};
  for (const n in e)
    Object.prototype.hasOwnProperty.call(e, n) && (t[n] = fn(e[n]));
  return t;
}, Kp = { class: "drag-container" }, qp = ["data-id", "onContextmenu", "onClick"], Xp = { class: "flex flex-col justify-center items-start gap-1" }, Wp = { class: "flex justify-start items-center gap-1" }, Yp = { class: "flex justify-start items-center gap-1" }, Jp = /* @__PURE__ */ Q({
  __name: "index",
  props: {
    data: { default: () => [] },
    id: { default: "" },
    colors: { default: () => ["#0078FF", "#FFAA2E", "#00FF00", "#9D2EFF", "#DA1D80", "#DA4127"] },
    group: { default: "people" },
    theme: { default: "light" },
    itemFontSize: { default: "12px" }
  },
  emits: ["isDragging", "update", "deleteItem", "deleteItemColumn", "deleteItemsAll"],
  setup(e, { expose: t, emit: n }) {
    const o = n, r = e, a = O(() => typeof r.itemFontSize == "number" ? r.itemFontSize + "px" : r.itemFontSize), s = yn({
      list: [],
      visible: "",
      // 右键菜单显示项
      isDeleteItemHandle: !1
      // 是否为删除子项操作
    }), i = {
      dropEffect: "move",
      // 拖动的实时效果
      dataCache: []
      // 缓存数据
    }, l = K(!1), c = {}, p = () => {
      c.handleContextMenu = function(T, A) {
        console.log("处理右键点击", A), s.visible = A;
      }, c.resetItemDefault = function(T) {
        let A = {};
        const L = s.list;
        e: for (let B = 0; B < L.length; B++) {
          const z = L[B].value;
          for (let $ = 0; $ < z.length; $++)
            if (z[$].id === T) {
              A = z[$];
              break e;
            }
        }
        s.list = D(fe(A)), s.visible = "", o("update", fe(s.list));
      }, c.resetAllItemsDefault = function() {
        const T = new Array(s.list.length);
        for (let A = 0; A < s.list.length; A++)
          T[A] = fe({ key: (A + 1).toString(), value: [] });
        s.list.forEach((A) => {
          A.value.forEach((B) => {
            T.forEach((z) => {
              z.key === B.id && (z.value[0] = B);
            });
          });
        }), s.list = T, s.visible = "", o("update", fe(s.list));
      }, c.deleteItemDefault = async function(T) {
        console.group("移除当前子项"), console.log("itemId", T), console.log("dataAbout.list", fe(s.list));
        let A = fe(s.list);
        A.forEach((z) => z.value = z.value.filter(($) => $.id !== T)), A.forEach((z) => {
          z.value.forEach(($, U) => {
            $.id > T && ($.id = (+$.id - 1).toString());
          });
        });
        const L = A.reduce((z, $) => z + $.value.length, 0), B = new Array(L);
        for (let z = 0; z < L; z++)
          B[z] = fe({ key: (z + 1).toString(), value: [] });
        B.forEach((z) => {
          const $ = z.key;
          A.forEach((U, q) => {
            U.value.length > 0 && U.value[0].id === $ && (z.value = U.value);
          });
        }), console.log("resetData", B), console.groupEnd(), s.list = fe(B), s.visible = "", o("deleteItem", B, +T - 1), s.isDeleteItemHandle = !0, await ae(), s.isDeleteItemHandle = !1;
      }, c.deleteItemColumnDefault = async function(T) {
        console.group("移除当前子项所在的列"), console.log("itemId", T), console.log("dataAbout.list", fe(s.list));
        let A = fe(s.list), L = [];
        A.forEach((U) => U.value.some((q) => q.id === T) && (L = fe(U.value))), A = A.filter((U) => U.value.length > 0 && !U.value.some((q) => q.id === T));
        const B = [];
        A.forEach((U) => U.value.forEach((q) => B.push(q.id))), B.sort((U, q) => +U - +q), console.log("tt", B), A.forEach((U) => {
          U.value.forEach((q, ue) => {
            B.findIndex((ge) => ge === q.id), q.id = (B.findIndex((ge) => ge === q.id) + 1).toString();
          });
        }), console.log("dataOrigin", A);
        const z = new Array(B.length);
        for (let U = 0; U < B.length; U++)
          z[U] = fe({ key: (U + 1).toString(), value: [] });
        z.forEach((U) => {
          const q = U.key;
          A.forEach((ue, ge) => {
            ue.value.length > 0 && ue.value[0].id === q && (U.value = ue.value);
          });
        }), console.log("resetData", z), console.groupEnd(), s.list = fe(z), s.visible = "";
        const $ = L.map((U) => +U.id - 1);
        o("deleteItemColumn", z, $), s.isDeleteItemHandle = !0, await ae(), s.isDeleteItemHandle = !1;
      }, c.deleteItemsAllDefault = async function(T) {
        console.group("移除所有子项"), console.log("itemId", T), s.list = [], s.visible = "", o("deleteItemsAll"), s.isDeleteItemHandle = !0, await ae(), s.isDeleteItemHandle = !1;
      };
    }, h = (T) => T.value.length > 0 && T.value[0].isDrag ? r.group : r.group + "-no-drag";
    function b(T) {
    }
    function g(T) {
    }
    function d(T) {
    }
    function v() {
      console.log("update");
    }
    function x(T) {
    }
    function E() {
    }
    const k = (T) => {
      l.value = !0, i.dataCache = fe(s.list), o("isDragging", !0);
    };
    function G(T = 100) {
      return new Promise((A) => setTimeout(A, T));
    }
    const _ = async (T) => {
      if (console.group("end"), await G(100), console.log("e", T), o("isDragging", !1), l.value = !1, i.dropEffect === "none") {
        console.log("拖动到非可放置区域,则还原数据"), s.list = fe(i.dataCache);
        return;
      }
      if (!T.pullMode && T.originalEvent.toElement.nodeName.toLowerCase() === "canvas") {
        const A = T.item.dataset.id;
        c.resetItemDefault(A);
        return;
      }
      V(), console.groupEnd(), o("update", fe(s.list));
    }, V = () => {
      const T = fe(s.list), A = fe(s.list);
      T.forEach((L) => L.value.length = 0), A.forEach((L, B) => {
        L.value.length !== 0 && T.forEach((z) => {
          z.key === L.value[0].id && z.value.push(...L.value);
        });
      }), s.list = T;
    }, D = (T) => {
      const A = fe(s.list);
      console.groupCollapsed("dragData", T);
      let L = 0, B = 0, z = "1", $ = [];
      e: for (let U = 0; U < A.length; U++) {
        let q = A[U].value;
        for (let ue = 0; ue < q.length; ue++)
          if (JSON.stringify(T) === JSON.stringify(q[ue]) && q.length > 1) {
            const ge = fe(q);
            ue === 0 ? (z = ge[1].id, L = U, B = 0, $ = ge.splice(1), console.log(q), console.log($)) : (L = U, B = ue, ge.splice(ue, 1));
            break e;
          }
      }
      return B === 0 ? (A[L].value.splice(1), A.forEach((U) => {
        U.key === z && U.value.push(...$);
      })) : (A[L].value.splice(B, 1), A.forEach((U) => {
        U.key === T.id && U.value.push(T);
      })), console.log(A), console.groupEnd(), A;
    }, M = wo((T) => {
      i.dropEffect = T.dataTransfer.dropEffect;
    }, 100), F = (T, A) => {
      const L = T;
      e: for (let B = 0; B < L.length; B++) {
        const z = L[B].value;
        for (let $ = 0; $ < z.length; $++)
          if (z[$].id === A) {
            if ($ === 0) {
              const U = !L[B].value[$].isShow;
              L[B].value.forEach((q) => q.isShow = U);
            } else
              z[$].isShow = !z[$].isShow;
            break e;
          }
      }
      return fe(L);
    }, J = (T, A) => {
      console.log("click点击了子级元素:", A, T);
      const L = F(s.list, A);
      o("update", L), s.isDeleteItemHandle = !1;
    }, Y = () => {
      document.querySelector(".drag-container").addEventListener("drag", M);
    }, R = () => {
      document.querySelector(".drag-container").removeEventListener("drag", M);
    }, X = (T, A, L = !0, B = !0) => ({ name: T, id: A, followId: A, isShow: L, isDrag: B });
    t({
      getAllData: () => fe(s.list)
    });
    const oe = (T) => {
      const A = [];
      for (let L = 0; L < T.length; L++) {
        const B = { key: T[L].id, value: [] };
        for (let z = 0; z < T.length; z++)
          T[z].followId === T[L].id && B.value.push(T[z]);
        if (B.value.length > 1) {
          const z = B.value.findIndex(($) => $.id === B.key);
          if (z !== 0) {
            const $ = B.value.splice(z, 1)[0];
            B.value.unshift($);
          }
        }
        A.push(B);
      }
      return A;
    };
    return re(() => r.data, (T, A) => {
      if (T.length === 0) {
        s.list = [];
        return;
      } else T.length > 0 && (!A || A.length === 0) && (s.list = oe(T), (A == null ? void 0 : A.length) === 0 && ae(() => {
        o("update", fe(s.list));
      }));
      if (s.list.length > 0 && T.length === s.list.length + 1) {
        const L = T.length;
        s.list.push({ key: L.toString(), value: [X(T[L - 1].name, L.toString(), !0, T[L - 1].isDrag)] });
      }
    }, { deep: !0, immediate: !0 }), Te(() => {
      Y(), p();
    }), Fe(() => {
      R();
    }), (T, A) => {
      const L = yf, B = Vf, z = ip;
      return N(), Z("div", Kp, [
        pe("div", {
          class: te(["main", T.id])
        }, [
          (N(!0), Z(Ke, null, Wt(s.list, ($, U) => Tn((N(), he(f(yi), {
            key: $.key,
            class: "flex flex-col items-start gap-1 drag-column",
            "data-info": $.value.length > 0 ? $.value[0].name : "",
            style: Ze({ height: $.value.length * 20 + ($.value.length - 1) * 4 + "px", minwidth: "20px" }),
            modelValue: s.list[U].value,
            "onUpdate:modelValue": (q) => s.list[U].value = q,
            animation: l.value ? 0 : 150,
            sort: !0,
            ghostClass: "ghost",
            group: h($),
            disabled: h($) !== T.group,
            onUpdate: v,
            onAdd: x,
            onStart: k,
            onEnd: _,
            onRemove: E,
            onSort: d,
            onMove: g,
            onChange: b
          }, {
            default: ne(() => [
              (N(!0), Z(Ke, null, Wt(s.list[U].value, (q) => (N(), Z("div", {
                key: q.id,
                "data-id": q.id,
                class: te(["cursor-move h-5 line-height-5 pl-3px pr-3px border-rd-1 text-2.7 flex justify-center items-center drag-item", { vague: !q.isShow, "no-drag": h($) !== T.group }]),
                onContextmenu: vs((ue) => c.handleContextMenu(ue, q.id), ["prevent"]),
                onClick: (ue) => J(q.name, q.id)
              }, [
                s.isDeleteItemHandle ? ce("", !0) : (N(), he(z, {
                  key: 0,
                  fixed: "right",
                  placement: "right",
                  width: "auto",
                  "popper-style": { "min-width": "80px", display: s.visible === q.id ? "block" : "none" },
                  trigger: "contextmenu"
                }, {
                  reference: ne(() => [
                    pe("div", {
                      class: te(["flex justify-center items-center gap-1", { dark: T.theme === "dark" }]),
                      style: Ze({ "--color": T.colors[(+q.id - 1) % T.colors.length] })
                    }, [
                      A[0] || (A[0] = pe("div", {
                        class: "w-6 h-2px line",
                        style: { "--height": "1.5rem" }
                      }, null, -1)),
                      pe("span", {
                        class: "cursor-move-item",
                        style: Ze({ "--move-item-font-size": a.value })
                      }, je(q.name), 5)
                    ], 6)
                  ]),
                  default: ne(() => [
                    pe("div", Xp, [
                      pe("div", Wp, [
                        A[3] || (A[3] = pe("span", null, "重置:", -1)),
                        ye(L, {
                          type: "primary",
                          size: "small",
                          class: "!ml-0",
                          onClick: (ue) => c.resetItemDefault(q.id)
                        }, {
                          default: ne(() => A[1] || (A[1] = [
                            Kt(" 重置 ")
                          ])),
                          _: 2
                        }, 1032, ["onClick"]),
                        ye(L, {
                          type: "primary",
                          size: "small",
                          class: "!ml-0",
                          onClick: c.resetAllItemsDefault
                        }, {
                          default: ne(() => A[2] || (A[2] = [
                            Kt(" 全部 ")
                          ])),
                          _: 1
                        }, 8, ["onClick"])
                      ]),
                      ye(B, { "border-style": "dashed" }),
                      pe("div", Yp, [
                        A[7] || (A[7] = pe("span", null, "移除:", -1)),
                        ye(L, {
                          type: "primary",
                          size: "small",
                          class: "!ml-0",
                          onClick: (ue) => c.deleteItemDefault(q.id)
                        }, {
                          default: ne(() => A[4] || (A[4] = [
                            Kt(" 自身 ")
                          ])),
                          _: 2
                        }, 1032, ["onClick"]),
                        ye(L, {
                          type: "primary",
                          size: "small",
                          class: "!ml-0",
                          onClick: (ue) => c.deleteItemColumnDefault(q.id)
                        }, {
                          default: ne(() => A[5] || (A[5] = [
                            Kt(" 本列 ")
                          ])),
                          _: 2
                        }, 1032, ["onClick"]),
                        ye(L, {
                          type: "primary",
                          size: "small",
                          class: "!ml-0",
                          onClick: (ue) => c.deleteItemsAllDefault(q.id)
                        }, {
                          default: ne(() => A[6] || (A[6] = [
                            Kt(" 全部 ")
                          ])),
                          _: 2
                        }, 1032, ["onClick"])
                      ])
                    ])
                  ]),
                  _: 2
                }, 1032, ["popper-style"]))
              ], 42, qp))), 128))
            ]),
            _: 2
          }, 1032, ["data-info", "style", "modelValue", "onUpdate:modelValue", "animation", "group", "disabled"])), [
            [Ro, $.value.length > 0]
          ])), 128))
        ], 2)
      ]);
    };
  }
}), ir = (e, t) => {
  const n = e.__vccOpts || e;
  for (const [o, r] of t)
    n[o] = r;
  return n;
}, Zp = /* @__PURE__ */ ir(Jp, [["__scopeId", "data-v-6ccc13f2"]]), Qp = { class: "sheet-container" }, e2 = ["infinite-scroll-disabled"], t2 = {
  class: "border-collapse table-auto w-full",
  border: "1"
}, n2 = { class: "flex justify-between items-center" }, o2 = /* @__PURE__ */ Q({
  directives: {
    infiniteScroll: Ai
  },
  __name: "index",
  props: {
    head: {
      type: Array,
      default: () => []
    },
    body: {
      type: Array,
      default: () => []
    }
  },
  setup(e) {
    const t = K(null), n = e, o = yn({
      head: [],
      body: [],
      showBody: []
    }), r = () => {
      const c = o.showBody.length;
      o.showBody.push(...o.body.slice(c, c + 50));
    }, a = () => {
      let l = [];
      o.body.forEach((h) => {
        let b = {};
        o.head.forEach((g) => {
          b[g.prop] = h[g.prop];
        }), l.push(b);
      });
      const c = cn.json_to_sheet(l);
      if (c["!ref"]) {
        const h = cn.decode_range(c["!ref"]), b = h.s.r;
        for (let g = h.s.c; g <= h.e.c; g++) {
          const d = cn.encode_cell({ r: b, c: g });
          c[d] = { v: `${o.head[g].label}`, t: "s" };
        }
      }
      const p = cn.book_new();
      cn.book_append_sheet(p, c, "Data"), Si(p, "SheetData.xlsx");
    }, s = O(() => o.showBody.length >= o.body.length);
    xs(() => {
      o.head = n.head, o.body = n.body, o.showBody = n.body.slice(0, 50);
    });
    const i = () => {
      console.log("initPage--------------"), o.head = n.head, o.body = n.body;
    };
    return Te(() => {
      i();
    }), (l, c) => {
      const p = Mu, h = hp;
      return N(), Z("div", Qp, [
        Tn((N(), Z("div", {
          ref_key: "tableRef",
          ref: t,
          class: "table-container",
          "infinite-scroll-disabled": s.value
        }, [
          pe("table", t2, [
            pe("thead", null, [
              pe("tr", null, [
                (N(!0), Z(Ke, null, Wt(o.head, (b) => (N(), Z("th", {
                  key: b.prop
                }, [
                  ye(p, {
                    modelValue: b.label,
                    "onUpdate:modelValue": (g) => b.label = g
                  }, null, 8, ["modelValue", "onUpdate:modelValue"])
                ]))), 128))
              ])
            ]),
            pe("tbody", null, [
              (N(!0), Z(Ke, null, Wt(o.showBody, (b, g) => (N(), Z("tr", { key: g }, [
                (N(!0), Z(Ke, null, Wt(o.head, (d, v) => (N(), Z("td", { key: v }, je(b[d.prop]), 1))), 128))
              ]))), 128))
            ])
          ])
        ], 8, e2)), [
          [h, r]
        ]),
        pe("div", n2, [
          pe("span", null, "总数:" + je(o.body.length), 1),
          pe("button", { onClick: a }, "导出")
        ])
      ]);
    };
  }
}), r2 = /* @__PURE__ */ ir(o2, [["__scopeId", "data-v-db6edab3"]]), s2 = 3, Jt = 10, Xn = "group-default", lr = (e, t) => {
  if (e) return;
  let n = t;
  return n <= 0 && (n = s2), n;
}, a2 = (e, t) => {
  const { cols: n, isEchartsHeightChange: o, echartsHeightFixedCount: r } = e, a = t, s = document.querySelector(".main-container"), i = Math.ceil(a / n), l = lr(o, r);
  if (s.style.setProperty("--count", a.toString()), s.style.setProperty("--rows", l ? l.toString() : i.toString()), s.style.setProperty("--gap", Jt + "px"), s.style.setProperty("--main-container-height", s.clientHeight - Jt + "px"), n === 1)
    s.style.setProperty("--item-width", "100%");
  else if (a === 1)
    s.style.setProperty("--item-width", "100%");
  else {
    const c = a < n ? a : n;
    s.style.setProperty("--item-width", `calc((100% - ${Jt} * ${c - 1} * 1px) / ${c})`);
  }
}, i2 = (e, t) => {
  const { isEchartsHeightChange: n, echartsHeightFixedCount: o } = e, r = document.querySelector(".main-container");
  if (!r) return 0;
  const a = Jt, i = lr(n, o) || t;
  return Math.floor((r.offsetHeight - (i - 1) * a) / i);
}, l2 = (e) => {
  const t = document.querySelector(".main-container");
  if (!t) return 0;
  const n = Jt;
  return Math.floor((t.offsetHeight - (e - 1) * n) / e);
}, c2 = (e) => {
  let t = 5, n = 12;
  return e <= 200 && (t = -2, n = 11), { top: t, fontSize: n };
}, u2 = (e) => {
  let t = [];
  if (!e)
    t = [Xn];
  else {
    const n = e.flat(), o = new Set(n);
    if (n.forEach((r) => {
      Cn.validateCols(r, "分组序号必须是正整数");
    }), o.size !== n.length)
      throw new Error("分组下序号不能重复");
    t = e.map((r, a) => "group" + (a + 1));
  }
  return t;
}, d2 = (e, t, n) => {
  let o = "";
  if (!t)
    o = Xn;
  else {
    const r = e + 1;
    t.forEach((a, s) => {
      a.includes(r) && (o = n[s]);
    }), o = o || Xn;
  }
  return o;
}, f2 = (e, t, n) => {
  const o = t[0].positionX, r = t[1].positionX, a = e.convertFromPixel({ xAxisId: Le }, o), s = e.convertFromPixel({ xAxisId: Le }, r), i = n[a], l = n[s];
  return [
    { graphicId: t[0].graphicId, positionX: o, xAxisSeq: a, xAxisX: i },
    { graphicId: t[1].graphicId, positionX: r, xAxisSeq: s, xAxisX: l }
  ];
}, p2 = (e, t, n) => {
  const o = t[0].xAxisSeq, r = t[1].xAxisSeq, a = n[o], s = n[r], i = e.convertToPixel({ xAxisId: Le }, a), l = e.convertToPixel({ xAxisId: Le }, s);
  return [
    { graphicId: t[0].graphicId, positionX: i, xAxisSeq: o, xAxisX: a },
    { graphicId: t[1].graphicId, positionX: l, xAxisSeq: r, xAxisX: s }
  ];
};
function h2(e, t) {
  if (e.length === 0) return !0;
  const n = typeof e[0][t];
  if (!e.every((r) => typeof r[t] === n))
    throw new Error(`数据视图中传入的${t}属性类型不一致,请保持一致!`);
}
const ke = {
  computedFixedRows: lr,
  setStyleProperty: a2,
  GAP: Jt,
  GROUP_DEFAULT: Xn,
  computerEchartsHeight: i2,
  computerEchartsHeightByEnlarge: l2,
  setDragPosition: c2,
  initGroupData: u2,
  getGroupNameByChartSeq: d2,
  computerDatazoomGraphicByZoom: f2,
  computerDatazoomGraphicNotByZoom: p2,
  isAutoPropertyTypeConsistent: h2
}, Sa = "listener-graphic-location";
let Aa, Zt = !1;
const Ca = (e, t, n) => {
  let o = !0;
  return !n.isLinkage && e.id !== t && (o = !1), (!e.data || e.data.length === 0 || !e.xAxisdata || e.xAxisdata.length === 0 || e.data[0].name === "") && (o = !1), o;
}, g2 = (e, t, n, o, r) => {
  o.isLinkage && r.data[0].id !== t || Zt || !e || (Zt = !0, requestAnimationFrame(() => {
    const a = document.getElementById(t), s = Oe.getInstanceByDom(a), i = o.isGraphicZoom ? ke.computerDatazoomGraphicByZoom(s, e, n) : ke.computerDatazoomGraphicNotByZoom(s, e, n);
    r.data.forEach((l) => {
      if (!Ca(l, t, o)) return;
      l.graphics = i;
      const c = document.getElementById(l.id), p = Oe.getInstanceByDom(c);
      cr(p, i);
    }), so(r, t), Zt = !1;
  }));
}, v2 = (e, t, n, o) => {
  e && requestAnimationFrame(() => {
    const r = document.getElementById(t), a = Oe.getInstanceByDom(r), s = ke.computerDatazoomGraphicByZoom(a, e, n);
    o.data.forEach((i) => {
      if (i.id !== t) return;
      i.graphics = s;
      const l = document.getElementById(i.id), c = Oe.getInstanceByDom(l);
      cr(c, s);
    }), so(o, t);
  });
}, m2 = (e) => {
  e.data.forEach((t) => {
    t.graphics = void 0;
  });
}, y2 = (e, t) => {
  e.data.forEach((n) => {
    n.id === t && (n.graphics = void 0);
  });
}, b2 = (e, t, n, o) => {
  Zt || (Zt = !0, requestAnimationFrame(() => {
    n.data.forEach((r) => {
      if (!Ca(r, t, o)) return;
      const a = document.getElementById(r.id), s = Oe.getInstanceByDom(a);
      let i = {};
      r.graphics && r.graphics.forEach((l) => {
        if (l.graphicId === e.graphicId)
          l.positionX = e.positionX, l.xAxisSeq = e.xAxisSeq, l.xAxisX = e.xAxisX, l = fs(e, s, r.xAxisdata);
        else {
          i = l, i.xAxisSeq = s.convertFromPixel({ xAxisId: Le }, i.positionX);
          const c = i.xAxisSeq;
          i.xAxisX = r.xAxisdata && r.xAxisdata[c] ? r.xAxisdata[c].toString() : "", i = fs(i, s, r.xAxisdata);
        }
      }), cr(s, [e, i]);
    }), so(n, t), Zt = !1;
  }));
}, fs = (e, t, n) => {
  const o = e.xAxisSeq;
  return o < 0 ? (e.xAxisSeq = 0, e.positionX = t.convertToPixel({ xAxisId: Le }, e.xAxisSeq), e.xAxisX = n[e.xAxisSeq]) : o >= n.length && (e.xAxisSeq = n.length - 1, e.positionX = t.convertToPixel({ xAxisId: Le }, e.xAxisSeq), e.xAxisX = n[e.xAxisSeq]), e;
}, cr = (e, t) => {
  e.setOption({
    graphic: [
      {
        id: t[0].graphicId,
        type: "rect",
        // 这里必须要添加图形类型,否则打包后发布新版本再引入会报错
        position: [t[0].positionX, 0],
        info: t[0].xAxisX,
        textContent: {
          type: "text",
          style: {
            text: t[0].xAxisX
          }
        }
      },
      {
        id: t[1].graphicId,
        type: "rect",
        position: [t[1].positionX, 0],
        info: t[1].xAxisX,
        textContent: {
          type: "text",
          style: {
            text: t[1].xAxisX
          }
        }
      }
    ]
  });
}, so = (e, t = "") => {
  const n = [];
  e.data.forEach((o) => {
    let r = !1;
    o.id === t && (r = !0), n.push({ id: o.id, graphics: o.graphics ? JSON.parse(JSON.stringify(o.graphics)) : [], isCurrentHandleEcharts: r });
  }), Aa(Sa, n);
}, x2 = (e) => {
  Aa = e;
}, Je = {
  datazoomEvent: g2,
  graphicDragLinkage: b2,
  updateGraphic: v2,
  clearAllGraphicData: m2,
  clearGraphicData: y2,
  setEmit: x2,
  emitGraphicLocation: so,
  LISTENER_GRAPHIC_LOCATION: Sa
};
let Xt = null;
const Ta = /* @__PURE__ */ new WeakMap();
function w2(e, t) {
  Ta.set(e, {
    position: e.style.position,
    width: e.style.width,
    height: e.style.height,
    top: e.style.top,
    left: e.style.left,
    zIndex: e.style.zIndex
    // flex: box.style.flex,
    // margin: box.style.margin,
  }), e.style.position = "absolute", e.style.top = "0", e.style.left = "0", e.style.width = t.clientWidth + "px", console.log("container.clientHeight", t.clientHeight), console.log("container.offsetHeight", t.offsetHeight), e.style.height = t.clientHeight - 10 + "px", e.style.zIndex = "99";
}
function ps(e) {
  const t = Ta.get(e);
  t && (e.style.position = t.position, e.style.width = t.width, e.style.height = t.height, e.style.top = t.top, e.style.left = t.left, e.style.zIndex = t.zIndex);
}
const E2 = (e, t, n, o) => {
  if (!e || !t) throw new Error("放缩的元素或容器不存在,请检查!");
  Xt === e ? (ps(e), Xt = null, o && o()) : (Xt && ps(Xt), w2(e, t), Xt = e, n && n());
}, S2 = (e) => Xt === e, hs = {
  handleEnlargeShrink: E2,
  getStatus: S2
}, vn = "PREPROP", mn = "POSTPROP";
function gs(e, t, n) {
  return e.forEach((o) => {
    t.forEach((r, a) => {
      o[n + a] = r.value;
    });
  }), e;
}
function Oa(e, t, n) {
  var a;
  const o = ((a = t.xAxisdata) == null ? void 0 : a.map((s) => n(s))) || [], r = t.data.map((s) => {
    var l;
    return { prop: (l = e.find((c) => c.label === s.name)) == null ? void 0 : l.prop, value: s.seriesData };
  });
  return o.forEach((s, i) => {
    r.forEach((l) => {
      s[l.prop] = l.value[i] ? l.value[i][1] : "";
    });
  }), { head: e, body: o };
}
function A2(e, t, n, o, r) {
  const a = "xProp";
  t.unshift({ label: n, prop: "xProp" });
  const s = Oa(t, e, (i) => ({ [a]: i }));
  return o && o.length > 0 && (s.head.unshift(...o.map((i, l) => ({ label: i.name, prop: vn + l }))), s.body = gs(s.body, o, vn)), r && r.length > 0 && (s.head.push(...r.map((i, l) => ({ label: i.name, prop: mn + l }))), s.body = gs(s.body, r, mn)), s;
}
function C2(e, t, n, o, r) {
  const a = "primary", s = "auto";
  t.unshift({ label: "自定义", prop: s }, { label: n, prop: "xProp" });
  const i = Oa(t, e, (b) => ({ [a]: b, auto: b.split("--")[0], xProp: b.split("--")[1] }));
  let l = [];
  const c = [];
  if (o && o.length > 0) {
    const b = o.map((g, d) => g.isPrimaryKey ? { label: g.name, prop: s } : { label: g.name, prop: vn + d });
    i.head.shift(), i.head.unshift(...b), o.forEach((g, d) => {
      Array.isArray(g.value) ? g.isPrimaryKey ? l = g.value : c.push({ value: g.value, prop: vn + d }) : g.isPrimaryKey ? l.push(g.value) : c.push({ value: [g.value], prop: vn + d });
    });
  }
  const p = [];
  if (r && r.length > 0) {
    const b = r.map((g, d) => ({ label: g.name, prop: mn + d }));
    i.head.push(...b), r.forEach((g, d) => {
      Array.isArray(g.value) ? p.push({ value: g.value, prop: mn + d }) : p.push({ value: [g.value], prop: mn + d });
    });
  }
  const h = {};
  return l.forEach((b, g) => {
    const d = b + "";
    h[d] = {}, c.forEach((v) => {
      h[d][v.prop] = v.value[g];
    }), p.forEach((v) => {
      h[d][v.prop] = v.value[g];
    });
  }), console.log("packageData", h), i.body.forEach((b) => {
    const g = b[s], d = h[g];
    if (d)
      for (const v in d)
        Object.prototype.hasOwnProperty.call(d, v) && (b[v] = d[v]);
  }), i;
}
function T2(e, t, n) {
  console.groupCollapsed("excelViewCallback"), console.time("excelViewCallback");
  const o = (t == null ? void 0 : t.headXname) || e.data[0].xAxisName || "", r = t == null ? void 0 : t.preAdd, a = t == null ? void 0 : t.postAdd;
  r && ke.isAutoPropertyTypeConsistent(r, "value"), a && ke.isAutoPropertyTypeConsistent(a, "value");
  let s = [], i = [];
  if (s = [...e.data.map((c, p) => ({ label: c.name, prop: "prop" + p }))], n) {
    const c = C2(e, s, o, r, a);
    s = c.head, i = c.body;
  } else {
    const c = A2(e, s, o, r, a);
    s = c.head, i = c.body;
  }
  return console.log("head", s), console.log("body", i), { head: s, body: i };
}
const O2 = {
  handleExcel: T2
};
class xo {
  // 组装Y轴显示状态数据
  static packageYAxisShowData(t) {
    return t.map(
      (n) => n.value.length > 0 && n.value.some((o) => o.isShow === !0)
    );
  }
  // 组装系列透明度数据
  static packageSeriesOpacityData(t) {
    const n = new Array(t.length).fill(0);
    return t.forEach((o) => {
      o.value.forEach((r) => {
        n[+r.id - 1] = r.isShow;
      });
    }), n;
  }
  // 组装系列Y轴索引数据
  static packageSeriesyAxisIndexData(t) {
    const n = new Array(t.length).fill(0);
    return t.forEach((o, r) => {
      o.value.forEach((a) => {
        n[+a.id - 1] = r;
      });
    }), n;
  }
}
const I2 = { class: "echarts-linkage-container" }, k2 = ["id"], _2 = ["id"], M2 = "all", D2 = /* @__PURE__ */ Q({
  __name: "index",
  props: {
    cols: { default: 1 },
    echartsMaxCount: { default: 7 },
    emptyEchartCount: {},
    echartsColors: {},
    segment: {},
    language: { default: "zh-cn" },
    gridAlign: { type: Boolean, default: !1 },
    theme: { default: "light" },
    background: {},
    isLinkage: { type: Boolean, default: !0 },
    useMergedLegend: { type: Boolean, default: !0 },
    useGraphicLocation: { type: Boolean, default: !1 },
    useGraphicGroup: { default: M2 },
    isGraphicZoom: { type: Boolean, default: !1 },
    isEchartsHeightChange: { type: Boolean, default: !0 },
    echartsHeightFixedCount: { default: 3 },
    extraOption: {},
    groups: {}
  },
  emits: [Je.LISTENER_GRAPHIC_LOCATION, "drop-echart", "delete-echart", "listener-excel-view"],
  setup(e, { expose: t, emit: n }) {
    const o = e, r = K(!1);
    Cn.validateCols(o.cols, "cols 必须是一个正整数"), Up(o.extraOption);
    const a = n;
    Je.setEmit(a);
    const s = yn({
      groupsName: [],
      // 组名数组
      groupDefault: "",
      // 默认组名
      usedGroupNames: [],
      // 已使用的组名
      maxEchartsIdSeq: 0,
      // 最大序号
      data: [],
      // 所有echarts数据
      currentHandleChartIds: [""],
      // 当前操作的echart图表id集合
      restoreClickBool: !1,
      // 监听restore是否触发点击
      isAllUpdate: !1,
      // 是否全部更新
      isSwitchingTheme: !1,
      // 是否正在切换主题
      currentMaxShowYCount: 0,
      // 当前显示的echarts中最大Y轴数量
      drag: {
        top: 5,
        // 拖拽legend图例距离顶部距离
        fontSize: 12,
        // 拖拽legend图例字体大小
        isDragging: !1
        // 是否拖拽中
      },
      currentHandleMode: "normal"
      // 当前操作模式,normal:正常模式,all-replace:全部替换模式
    }), i = yn({
      head: [],
      // 表头数据
      body: []
      // 表格数据
    }), l = (u) => {
      const y = u.theme;
      let m = "", w = ls.LIGHT.BACKGROUND_COLOR, S = ls.DARK.BACKGROUND_COLOR;
      return o.background && (o.theme === Gn ? w = o.background : o.theme === dt && (S = o.background)), m = y === dt ? S : w, m;
    }, c = (u) => {
      const y = [], m = s.data[u].data;
      return m.length > 0 && m[0].name === "" || m.forEach((w, S) => {
        w.dragItemOption ? (w.dragItemOption.isDrag = w.dataType !== "switch", y.push(jp(w.dragItemOption))) : y.push({
          name: w.name,
          id: (S + 1).toString(),
          followId: (S + 1).toString(),
          isDrag: w.dataType !== "switch",
          isShow: !0
        });
      }), y;
    }, p = (u, y) => {
      u.forEach((m) => {
        const w = m.key;
        m.value.forEach((S) => {
          S.followId = w;
        });
      }), s.data[y].data.forEach((m, w) => {
        u.forEach((S) => {
          const C = S.value.filter((H) => H.id === (w + 1).toString());
          (C == null ? void 0 : C.length) > 0 && (m.dragItemOption = C[0]);
        });
      });
    }, h = async (u, y) => {
      console.groupCollapsed("update"), console.log("data", u), p(u, y);
      const m = xo.packageYAxisShowData(u), w = xo.packageSeriesOpacityData(u), S = xo.packageSeriesyAxisIndexData(u);
      if (s.currentHandleChartIds = [s.data[y].id], s.data[y].data.forEach((C, H) => {
        C.yAxisShow = m[H], C.seriesShow = w[H], C.seriesYAxisIndex = S[H];
      }), console.groupEnd(), await ae(), s.currentHandleMode === "all-replace") {
        b();
        return;
      }
      $();
    }, b = wo(() => {
      s.currentHandleMode = "normal", Ae();
    }, 100), g = async (u, y, m) => {
      console.groupCollapsed("deleteItem", u, y, m), p(u, m), s.data[m].data.splice(y, 1), s.data[m].isDeleteItem = !0, s.data[m].data.length === 0 && Je.clearGraphicData(s, s.data[m].id), h(u, m), await ae(), s.data[m].isDeleteItem = !1, console.groupEnd();
    }, d = async (u, y, m) => {
      console.groupCollapsed("deleteItemColumn", u, y, m), p(u, m), s.data[m].data = s.data[m].data.filter((w, S) => !y.includes(S)), console.log("dataAbout.data", s.data[m]), s.data[m].isDeleteItem = !0, s.data[m].data.length === 0 && Je.clearGraphicData(s, s.data[m].id), h(u, m), await ae(), s.data[m].isDeleteItem = !1, console.groupEnd();
    }, v = async (u) => {
      console.groupCollapsed("deleteItemsAll", u), s.data[u].data = [], s.data[u].isDeleteItem = !0, Je.clearGraphicData(s, s.data[u].id), $(), await ae(), s.data[u].isDeleteItem = !1, console.groupEnd();
    }, x = (u, y, m, w) => new Gp({
      seriesOptionArray: u,
      theme: y,
      segment: o.segment,
      echartsColors: !o.echartsColors || (o == null ? void 0 : o.echartsColors.length) < 1 ? null : o.echartsColors,
      useMergedLegend: o.useMergedLegend,
      extraTooltip: m,
      enlargeShrink: w
    }), E = (u, y) => ({
      name: u.name,
      id: y,
      followId: y,
      isShow: !0,
      isDrag: !0
    }), k = (u, y) => {
      if (!u) return u;
      if (Array.isArray(u))
        return u.map((m, w) => {
          let S = io(m);
          return S.dragItemOption || (S.dragItemOption = E(m, (w + 1).toString())), S;
        });
      {
        let m = io(u);
        if (m.dragItemOption) return m;
        if (y && y.data.length > 0 && y.data[0].name === "")
          m.dragItemOption = E(u, "1");
        else {
          const w = y ? (y.data.length + 1).toString() : "1";
          m.dragItemOption = E(u, w);
        }
        return m;
      }
    }, G = async (u, y = !0) => {
      u = k(u), s.maxEchartsIdSeq++;
      const m = "echart" + s.maxEchartsIdSeq;
      let w = [];
      if (!u)
        w = [_()];
      else if (Array.isArray(u)) {
        const P = [];
        u.forEach((de) => {
          P.push({ ...de });
        }), w = P;
      } else
        (!u.seriesData || u.seriesData.length < 1) && (u = V(u.name, ds, [], u.customData, [])), w = [{ ...u }];
      const { theme: S, graphics: C } = D(), H = { id: m, data: w, theme: S, graphics: C };
      s.data.push(H), M(), y && (ke.setStyleProperty(o, s.data.length), Ae());
    }, _ = () => V("", ds, [], "", []), V = (u, y, m, w, S) => ({ name: u, type: y, seriesData: m, seriesDataCache: m, customData: w, markLineArray: S, dataType: us, visualMapSeries: void 0 }), D = () => {
      var m, w;
      let u = o.theme, y;
      return o.isLinkage && s.data.length > 0 && (u = s.data[0].theme, o.useGraphicLocation && ((w = (m = s.data[0].data) == null ? void 0 : m[0]) == null ? void 0 : w.name) !== "" && (y = s.data[0].graphics)), { theme: u, graphics: y };
    }, M = () => {
      s.data.length <= o.echartsMaxCount || (lo.warning(`最多只能添加${o.echartsMaxCount}个echarts,超出限定数量的不进行加载!`), s.data.splice(o.echartsMaxCount));
    }, F = async (u) => {
      const y = s.data.findIndex((m) => m.id === u);
      s.data.splice(y, 1), ke.setStyleProperty(o, s.data.length), Ae(), await ae(), a("delete-echart", { id: u, remainCount: s.data.length });
    }, J = async (u, y) => {
      const m = (S, C) => {
        let H = !1;
        return H = S.data.some((P) => P.name === C.name && JSON.stringify(P.customData) === JSON.stringify(C.customData)), H;
      }, w = s.data.findIndex((S) => S.id === u);
      if (y = k(y, s.data[w]), s.data.length < 1) {
        lo.warning("请先添加1个echart图表!");
        return;
      }
      if (s.currentHandleChartIds = [u], m(s.data[w], y)) {
        lo.warning("该子项已存在,请选择其他子项!");
        return;
      }
      s.data[w].data.length > 0 && s.data[w].data[0].name === "" ? s.data[w].data[0] = y : s.data[w].data.push(y), await ae(), $(), await ae(), s.currentHandleChartIds = [""];
    }, Y = async (u, y) => {
      const m = s.data.findIndex((w) => w.id === u);
      if (y.length === 0) {
        s.data[m].data = [_()];
        return;
      }
      y.forEach((w, S) => {
        if (!w.dragItemOption) {
          const C = (S + 1).toString();
          w.dragItemOption = E(w, C);
        }
        w = k(w, s.data[S]);
      }), s.data[m].data = y;
    }, R = () => {
      let u = 0;
      s.data.forEach((y) => {
        const m = parseInt(y.id.substring(6));
        u = m > u ? m : u;
      }), s.maxEchartsIdSeq = u;
    }, X = () => {
      const u = [];
      return s.data.forEach((m) => {
        const w = m.data;
        let S = 0;
        w.forEach((C) => {
          S += ee(C);
        }), u.push(S);
      }), Math.max(...u);
    }, ee = (u) => u.yAxisShow === !1 || u.dataType === "switch" ? 0 : 1, we = (u) => {
      const y = u.id;
      console.groupCollapsed("judgeEchartInstance", y);
      const m = document.getElementById(y);
      let w = Oe.getInstanceByDom(m), S = !1;
      if (w) {
        const C = s.currentMaxShowYCount, H = X(), P = s.data.find((le) => le.id === y), de = P.data.reduce((le, xe) => le + ee(xe), 0);
        if (P.isDeleteItem ? (w.clear(), P.data.length === 0 && (P.data = [_()]), S = !0) : (s.currentHandleChartIds.includes(y) && (S = !0), de < C && (S = !0), de < H && (S = !0), P.data.length === 0 && (S = !1)), (s.isAllUpdate || s.currentHandleChartIds.includes(y) && u.data.length === 1) && u.data.length > 0 && (w.dispose(), w = Oe.init(m, u.theme)), s.isSwitchingTheme) {
          const le = u.theme;
          (o.isLinkage || !o.isLinkage && s.currentHandleChartIds.includes(y)) && (w.dispose(), w = Oe.init(m, le));
        }
        w.off("restore"), w.on("restore", () => {
          Promise.resolve().then(() => {
            s.restoreClickBool = !0, $();
          });
        });
      } else
        S = !0, w = Oe.init(m, u.theme);
      return s.restoreClickBool && (S = !0), s.isAllUpdate && (S = !0), console.log("needHandle", S), console.groupEnd(), { myChart: w, needHandle: S };
    }, oe = (u, y) => {
      var de;
      const m = u.toolbox;
      let w = 0;
      const S = m.feature;
      if (!S) return;
      for (const le in S)
        Reflect.has(S, le) && (de = S[le]) != null && de.show && (w = le === "dataZoom" ? w + 2 : w + 1);
      const C = document.querySelector(".main-container");
      C.style.setProperty("--toolbox-size", w.toString());
      const H = (u == null ? void 0 : u.grid).left;
      C.querySelector(`#${y}-custom-content`).style.setProperty("--left", H + "px");
    }, T = wo(() => {
      Ae();
    }, 300), A = (u, y) => {
      console.groupCollapsed("initOneEcharts", u.id);
      const { myChart: m, needHandle: w } = we(u);
      if (!w)
        return m.resize(), m;
      const S = [];
      u.data.forEach((P) => {
        var de;
        P.seriesData.forEach((le) => le[0] += ""), S.push({
          type: P.type,
          name: P.name,
          seriesData: P.seriesData,
          seriesDataCache: P.seriesData,
          xAxisName: P.xAxisName,
          yAxisName: P.yAxisName,
          yAxisShow: P.yAxisShow,
          yAxisMin: P.yAxisMin,
          yAxisMax: P.yAxisMax,
          seriesShow: P.seriesShow,
          seriesYAxisIndex: P.seriesYAxisIndex,
          dataType: P.dataType || us,
          visualMapSeries: P.visualMapSeries,
          seriesLinkMode: (de = P.seriesLink) == null ? void 0 : de.isLinkMode
        });
      });
      const C = x(S, u.theme, u.extraTooltip, u.enlargeShrink);
      console.log("数据", u.data), C.setMyDeleteButton(() => F(u.id)).setSaveAsImageClickEvent((P) => ka(P, u.id)).setMyThemeButtonClickEvent((P) => Ra(P, u.id)).setMyEnlargeShrinkButtonClickEvent((P) => Ba(P, u.id)).setMyExcelViewClickEvent((P) => za(P, u.id)).setCustomSeriesMarkLine(u.data).setLanguage(o.language.toLocaleLowerCase() === "zh-cn" ? "zh-cn" : "en").setFontSizeAndMoreAuto(L(u.enlargeShrink), o.useGraphicLocation).setGridRightByXAxisName(m.getWidth()), o.gridAlign && C.setGridLeftAlign(X()), C.setBackgroundColor("transparent");
      const H = C.getResultOption();
      return m.setOption(H), oe(H, u.id), u.xAxisdata = C.getXAxisData(), m.on("datazoom", (P) => Je.datazoomEvent(u.graphics, u.id, u.xAxisdata, o, s)), console.log("option", H), m.resize(), o.useGraphicLocation && (o.useGraphicGroup === "all" || o.useGraphicGroup.includes(y + 1)) && u.data[0].seriesData.length > 0 && (u.graphics = C.setGraphic(
        m,
        u.graphics,
        (P) => Je.graphicDragLinkage(P, u.id, s, o)
      )), hr(u.id), console.groupEnd(), m;
    }, L = (u) => {
      let y = ke.computerEchartsHeight(o, s.data.length);
      return u === Mt && (y = ke.computerEchartsHeightByEnlarge(1)), B(y), y;
    }, B = (u) => {
      const { top: y, fontSize: m } = ke.setDragPosition(u);
      s.drag.top = y, s.drag.fontSize = m;
    }, z = (u) => {
      if (!(!u || u < 1))
        for (let y = 0; y < u; y++)
          y < u - 1 ? G(void 0, !1) : G();
    }, $ = async () => {
      s.usedGroupNames = [], s.data.forEach((u, y) => {
        const m = A(u, y), w = ke.getGroupNameByChartSeq(y, o.groups, s.groupsName);
        m.group = w, !s.usedGroupNames.includes(w) && s.usedGroupNames.push(w);
      }), o.useGraphicLocation && Je.emitGraphicLocation(s), s.restoreClickBool = !1, s.currentMaxShowYCount = X(), o.isLinkage && q();
    }, U = () => {
      s.groupsName = ke.initGroupData(o.groups), s.groupDefault = ke.GROUP_DEFAULT;
    }, q = () => {
      s.usedGroupNames.forEach((u) => {
        u && Oe.connect(u);
      });
    }, ue = () => {
      s.usedGroupNames.forEach((u) => {
        Oe.disconnect(u);
      });
    }, ge = () => {
      ue(), o.isLinkage && o.groups && o.groups.length > 0 && U(), $();
    }, Pe = (u) => {
      Ae();
    }, mt = () => {
      s.data.forEach((u) => {
        const y = document.getElementById(u.id), m = Oe.getInstanceByDom(y);
        m && m.dispose();
      });
    }, He = (u) => {
      u.preventDefault();
    }, Xe = (u) => {
      if (u.target.localName !== "canvas" || s.drag.isDragging) return;
      u.preventDefault();
      const y = u.target.parentElement.offsetParent.id;
      a("drop-echart", { id: y });
    };
    let rt, We = !0;
    const $t = () => {
      const u = document.querySelector(".echarts-linkage-container");
      u.addEventListener("dragover", He), u.addEventListener("drop", Xe), rt = new ResizeObserver((y) => {
        for (let m of y)
          We ? We = !1 : T();
      }), rt.observe(u);
    }, It = async () => {
      await ae(), We = !1;
    }, Ft = () => {
      const u = document.querySelector(".echarts-linkage-container");
      u.removeEventListener("dragover", He), u.removeEventListener("drop", Xe), rt.unobserve(u);
    }, Ht = () => s.data.length, Gt = () => {
      const u = [];
      return s.data.forEach((y) => {
        y.data.forEach((m) => {
          const w = u.some((S) => S.name === m.name && JSON.stringify(S.customData) === JSON.stringify(m.customData));
          m.name && !w && u.push({
            name: m.name,
            type: m.type,
            customData: m.customData,
            dataType: m.dataType,
            seriesData: fe(m.seriesData)
            // 暴露缓存数据,原因是外部可能还会使用缓存数据进行渲染
          });
        });
      }), u;
    }, Vt = (u = "all") => {
      const y = [];
      return s.data.forEach((m) => {
        if (u !== "all" && u !== m.id) return;
        const w = { id: m.id, series: [] };
        m.data.forEach((S) => {
          w.series.push({
            name: S.name,
            type: S.type,
            customData: S.customData,
            dataType: S.dataType,
            seriesData: fe(S.seriesData)
          });
        }), y.push(w);
      }), y;
    }, an = () => {
      function u(m) {
        return {
          name: m.name,
          type: m.type,
          customData: m.customData,
          dataType: m.dataType,
          seriesData: [],
          yAxisMin: m.yAxisMin,
          yAxisMax: m.yAxisMax
        };
      }
      const y = [];
      return s.data.forEach((m, w) => {
        let S = [];
        m.data.length === 1 && m.data[0].name === "" && (S = []), m.data.forEach((C) => {
          if (C.dragItemOption)
            C.dragItemOption.seriesOption = u(C), S.push(C.dragItemOption);
          else {
            if (!C.name) return;
            S.push({
              name: C.name,
              id: (w + 1).toString(),
              followId: (w + 1).toString(),
              isShow: !0,
              isDrag: !0,
              seriesOption: u(C)
            });
          }
        }), y.push(S);
      }), fe(y);
    }, Ut = async (u = "clear") => {
      u === "clear" ? (s.data.forEach(async (y) => {
        y.data = [], y.isDeleteItem = !0;
      }), await Ae()) : (s.data = [], s.maxEchartsIdSeq = 0, ke.setStyleProperty(o, s.data.length), await $());
    }, Ge = async (u) => {
      async function y(S, C) {
        if (console.log("oldCount", S, "newCount", C), S > C)
          s.data.slice(C).forEach(async (P) => {
            await F(P.id);
          });
        else if (S < C)
          for (let H = S; H < C; H++)
            await G();
      }
      await ae(), console.time("replaceAllEchartsData time"), s.currentHandleMode = "all-replace", await Ut();
      const m = s.data.length, w = u.length;
      await y(m, w), Je.clearAllGraphicData(s), console.log("开始添加新的series"), u.forEach(async (S, C) => {
        const H = s.data[C].id;
        await Y(H, S);
      }), await ae(), console.timeEnd("replaceAllEchartsData time");
    }, st = async (u, y) => {
      function m(S, C) {
        const H = C.seriesName;
        S.data.forEach((P) => {
          P.dataType !== "switch" && (H ? P.name === H && P.visualMapSeries && (P.visualMapSeries = C) : P.visualMapSeries && (P.visualMapSeries = C));
        });
      }
      const w = s.data.find((S) => S.id === u);
      if (Array.isArray(y)) {
        if (y.length === 0) return;
        y.forEach((S) => m(w, S));
      } else {
        if (Object.keys(y).length === 0) return;
        m(w, y);
      }
      s.currentHandleChartIds = [u], await ae(), $();
    }, at = (u, y) => u.name === y.name && JSON.stringify(u.customData) === JSON.stringify(y.customData), Ye = (u, y, m) => {
      let w = !1;
      m ? u.data.forEach((S) => {
        var le;
        const C = y.filter((xe) => at(xe, S))[0];
        if (!C) return;
        let H = fe((le = C.seriesLink) == null ? void 0 : le.linkData);
        if (H.length === 0) {
          S.seriesData = [], S.markLineArray = [];
          return;
        } else if (H = H.filter((it) => it.data.length > 0), H.length === 0) {
          S.seriesData = [], S.markLineArray = [];
          return;
        }
        const { packageData: P, markLineData: de } = dr(H);
        S.seriesData = P, S.markLineArray = ur(C.seriesLink.linkData, H, de), !C.visualMapSeries && (w = !0), S.visualMapSeries = C.visualMapSeries, (C.yAxisMin || C.yAxisMin === 0) && (S.yAxisMin = C.yAxisMin), (C.yAxisMax || C.yAxisMax === 0) && (S.yAxisMax = C.yAxisMax);
      }) : u.data.forEach((S) => {
        const C = y.filter((P) => at(P, S))[0];
        if (!C) return;
        const H = C.seriesData;
        H && (S.seriesData = H), !C.visualMapSeries && (w = !0), S.visualMapSeries = C.visualMapSeries, (C.yAxisMin || C.yAxisMin === 0) && (S.yAxisMin = C.yAxisMin), (C.yAxisMax || C.yAxisMax === 0) && (S.yAxisMax = C.yAxisMax);
      }), w && !s.currentHandleChartIds.includes(u.id) && s.currentHandleChartIds.push(u.id);
    }, I = async (u) => {
      if (Array.isArray(u))
        s.currentHandleChartIds = [], u.forEach((y) => {
          s.data.forEach((m) => {
            if (y.id !== m.id) return;
            s.currentHandleChartIds.push(m.id);
            const w = y.series.some((S) => {
              var C;
              return (C = S.seriesLink) == null ? void 0 : C.isLinkMode;
            });
            Ye(m, y.series, w);
          });
        });
      else {
        const y = s.data.filter((w) => w.id === u.id)[0], m = u.series.some((w) => {
          var S;
          return (S = w.seriesLink) == null ? void 0 : S.isLinkMode;
        });
        Ye(y, u.series, m), s.currentHandleChartIds = [u.id];
      }
      try {
        return await ae(), await $(), !0;
      } catch (y) {
        return console.log(y), !1;
      }
    }, se = async (u) => {
      const y = u.some((m) => {
        var w;
        return (w = m.seriesLink) == null ? void 0 : w.isLinkMode;
      });
      s.data.forEach((m) => {
        Ye(m, u, y);
      });
      try {
        return await Ae(), !0;
      } catch (m) {
        return console.log(m), !1;
      }
    }, Ve = async (u) => {
      function y(w, S) {
        return !(!S || !w.data.some((H) => !!u.filter((de) => at(de, H))[0]));
      }
      const m = u.some((w) => {
        var S;
        return (S = w.seriesLink) == null ? void 0 : S.isLinkMode;
      });
      s.data.forEach((w) => {
        Ye(w, u, m);
      });
      try {
        await ae();
        let w = 0;
        return s.data.forEach((S) => {
          const C = document.getElementById(S.id), H = Oe.getInstanceByDom(C);
          if (!y(S, H)) return;
          const de = S.data[0].seriesData.map((xe) => xe[0] + ""), le = S.data.map((xe) => ({ data: xe.seriesData.map((it) => [it[0] + "", it[1]]) }));
          H.setOption({
            xAxis: [{
              data: de
            }],
            series: le
          }), w++, o.useGraphicLocation && Je.updateGraphic(S.graphics, S.id, de, s);
        }), console.log("updateSimpleEcharts数量:", w), !0;
      } catch (w) {
        return console.log(w), !1;
      }
    }, Ae = async () => {
      await ae(), s.isAllUpdate = !0, $(), await ae(), L(), s.isAllUpdate = !1;
    }, kt = () => s.maxEchartsIdSeq;
    let ao = !1;
    const Ia = (u, y = 50) => {
      const m = y;
      if (s.data.forEach((w) => {
        var P, de, le;
        let S = [], C = !1;
        w.data.forEach((xe, it) => {
          const _n = u.filter((Mn) => at(Mn, xe))[0];
          _n && _n.seriesData.forEach((Mn) => {
            const vr = Mn[0].toString(), $a = Mn[1];
            it === 0 && S.push(vr), xe.seriesData.push([vr, $a]), xe.seriesData.length > m && xe.seriesData.shift() && (C = !0);
          });
        });
        let H = 0;
        (P = w.xAxisdata) == null || P.push(...S), C && ((de = w.xAxisdata) != null && de.length) && ((le = w.xAxisdata) == null || le.splice(H, S.length));
      }), (s.data[0].xAxisdata || []).length === u[0].seriesData.length) {
        Ae();
        return;
      }
      console.log("realTimeUpdate", s.data), !ao && (ao = !0, requestAnimationFrame(() => {
        s.data.forEach((w) => {
          if (!w.data || w.data.length === 0) return;
          const S = document.getElementById(w.id);
          let C = Oe.getInstanceByDom(S);
          const H = w.data.map((P) => ({
            data: P.seriesData
          }));
          C.setOption({
            xAxis: [{
              data: w.xAxisdata
            }],
            series: H
          });
        }), ao = !1;
      }));
    }, io = (u) => {
      var S;
      let y = [];
      if ((S = u.seriesLink) != null && S.isLinkMode) {
        if (u.seriesLink.linkData.length === 0)
          return u.seriesData = [], u.markLineArray = [], u;
        if (y = u.seriesLink.linkData.filter((C) => C.data.length > 0), y.length === 0)
          return u.seriesData = [], u.markLineArray = [], u;
      } else return u;
      const { packageData: m, markLineData: w } = dr(y);
      return u.seriesData = m, u.markLineArray = ur(u.seriesLink.linkData, y, w), u.seriesLink.isLinkMode = !0, u;
    }, ur = (u, y, m) => (console.log("packageMarkLineOnLink", u, y, m), u.length === 1 && y.length === 1 && (m = []), m), dr = (u) => {
      const y = fe(u);
      let m = [];
      const w = [];
      return y.forEach((C, H) => {
        const P = C.label || "X" + H.toString().padStart(3, "0");
        C.data.forEach((de) => de[0] = P + "--" + de[0]), m.push(C.data), w.push({
          xAxis: C.data[C.data.length - 1][0],
          label: { show: !!C.label, position: "insideMiddleTop", formatter: C.label }
        });
      }), { packageData: m.reduce((C, H) => C.concat(H), []), markLineData: w };
    }, fr = () => {
      if (!o.isEchartsHeightChange && s.data.length > o.echartsHeightFixedCount) {
        Lt.htmlElementToImage(".main-container", "echarts-linkage.png", (u) => {
          u.style.setProperty("--height", u.scrollHeight + "px"), u.style.width = u.clientWidth - 10 + "px", u.classList.add("hide-scroll");
        }, (u) => {
          u.style.setProperty("--height", "100%"), u.style.width = u.clientWidth + 10 + "px", u.classList.remove("hide-scroll");
        });
        return;
      }
      Lt.htmlElementToImage(".main-container", "echarts-linkage.png");
    }, ka = (u, y) => {
      var m;
      if (console.log("saveAsImage", y), o.isLinkage)
        fr();
      else {
        const w = (m = document.getElementById(y)) == null ? void 0 : m.parentElement;
        console.log("parentElement", w), Lt.htmlElementToImage(w, `echarts-linkage-${y}.png`);
      }
    }, pr = (u) => {
      s.data.every((m) => m.theme === u) || (s.data.forEach((m) => m.theme = u), Ae());
    }, _a = (u, y, m = !1) => {
      var w;
      if (y) {
        const S = s.data.find((C) => C.id === y);
        if ((((w = S.extraTooltip) == null ? void 0 : w.data) || []).length > 0) return;
        S.extraTooltip = { show: !0, data: u };
      } else
        s.data.forEach((S) => {
          var C;
          (((C = S.extraTooltip) == null ? void 0 : C.data) || []).length > 0 || (S.extraTooltip = { show: !0, data: u });
        });
      m && T();
    }, Ma = (u, y, m = !1) => {
      if (y) {
        const w = s.data.find((S) => S.id === y);
        if (!w.extraTooltip) return;
        w.extraTooltip.data = u;
      } else
        s.data.forEach((w) => {
          w.extraTooltip && (w.extraTooltip.data = u);
        });
      m && T();
    }, Da = (u, y = !0) => {
      if (s.currentHandleChartIds = [], u) {
        const m = s.data.find((w) => w.id === u);
        m.extraTooltip = void 0, s.currentHandleChartIds = [u];
      } else
        s.data.forEach((m) => {
          m.extraTooltip && (m.extraTooltip = void 0, s.currentHandleChartIds.push(m.id));
        });
      y && T();
    }, La = (u) => {
      const y = document.querySelectorAll(".main-container .custom-content");
      u.forEach((m, w) => {
        const S = y[w];
        S && (S.innerHTML = m);
      });
    }, Pa = (u) => {
      if (Array.isArray(u))
        u.forEach((y) => {
          const m = document.querySelector(`.main-container #${y.id}-custom-content`);
          m && (m.innerHTML = y.html);
        });
      else {
        const y = document.querySelector(`.main-container #${u.id}-custom-content`);
        if (!y) return;
        y.innerHTML = u.html;
      }
    }, Na = () => {
      document.querySelectorAll(".main-container .custom-content").forEach((y) => {
        y && (y.innerHTML = "");
      });
    }, hr = (u) => {
      if (Array.isArray(u))
        u.forEach((y) => {
          const m = document.querySelector(`.main-container #${y}-custom-content`);
          m && (m.innerHTML = "");
        });
      else {
        const y = document.querySelector(`.main-container #${u}-custom-content`);
        if (!y) return;
        y.innerHTML = "";
      }
    }, Ra = async (u, y) => {
      console.log("switchEchartsTheme", y);
      const m = s.data.find((S) => S.id === y), w = m.theme === Gn ? dt : Gn;
      if (console.log("data", m), s.isSwitchingTheme = !0, o.isLinkage)
        s.data.forEach((S) => S.theme = w), Ae();
      else {
        const S = s.data.findIndex((C) => C.id === y);
        s.data[S].theme = w, s.currentHandleChartIds = [y], await ae(), $();
      }
      await ae(), s.isSwitchingTheme = !1;
    };
    let gr = 0;
    const Ba = async (u, y) => {
      function m(le, xe) {
        s.data.forEach((it) => {
          if (it.id === le) return;
          const _n = document.getElementById(it.id);
          _n.parentElement.style.display = xe ? "block" : "none";
        });
      }
      console.log("switchEchartsEnlargeShrink", y);
      const w = document.querySelector(".main-container"), S = w == null ? void 0 : w.querySelectorAll(".echarts-container"), C = s.data.findIndex((le) => le.id === y), H = s.data[C], P = S[C];
      if (!P) return;
      hs.getStatus(P) || (gr = w.scrollTop);
      let de = !1;
      hs.handleEnlargeShrink(P, w, () => {
        H.enlargeShrink = Mt, de = !1;
      }, () => {
        H.enlargeShrink = Io, de = !0;
      }), s.currentHandleChartIds = [y], m(y, de), de && (w.scrollTop = gr), await ae(), $();
    }, za = async (u, y) => {
      var de;
      const m = s.data.find((le) => le.id === y), w = m.data.filter((le) => {
        var xe;
        return ((xe = le.seriesLink) == null ? void 0 : xe.isLinkMode) && le.seriesLink.linkData.length > 0;
      }), S = { id: y };
      w.length > 0 && (S.seriesLink = fe(w[0].seriesLink), (de = S.seriesLink) == null || de.linkData.forEach((le) => le.data = []));
      let C;
      a("listener-excel-view", S, (le) => {
        C = le;
      }), await Promise.resolve(), r.value = !0;
      const { head: H, body: P } = O2.handleExcel(m, C, S.seriesLink);
      i.head = H, i.body = P;
    };
    return t({
      initEcharts: $,
      addEchart: G,
      addEchartSeries: J,
      deleteEchart: F,
      getDataLength: Ht,
      getMaxEchartsIdSeq: kt,
      getAllDistinctSeriesTagInfo: Gt,
      getAllSeriesTagInfo: Vt,
      getTemplateTagsOption: an,
      updateOneOrMoreEcharts: I,
      updateAllEcharts: se,
      updateSimpleEcharts: Ve,
      clearAllEchartsData: Ut,
      replaceAllEchartsData: Ge,
      downloadAllEchartsImg: fr,
      realTimeUpdate: Ia,
      updateOneEchartsVisualMapSeries: st,
      handleMultipleLinkData: io,
      changeAllEchartsTheme: pr,
      addExtraTooltip: _a,
      updateExtraTooltip: Ma,
      clearExtraTooltip: Da,
      updateAllCustomContent: La,
      updateCustomContentById: Pa,
      clearAllCustomContent: Na,
      clearCustomContentById: hr
    }), re(() => s.data.length, () => {
      R();
    }), re(() => o.theme, (u) => {
      pr(u);
    }), re(() => o.groups, (u) => {
      console.log("groups", u), ge();
    }), re(() => o.isLinkage, (u) => {
      console.log("isLinkage", u), ge();
    }), re(() => o.useGraphicLocation, (u) => {
      Pe();
    }), ys(() => {
      U();
    }), Te(() => {
      $t(), o.emptyEchartCount && z(o.emptyEchartCount), It();
    }), Fe(() => {
      Ft(), mt();
    }), (u, y) => {
      const m = zf;
      return N(), Z("div", I2, [
        pe("div", {
          class: te(["main-container", { "hide-scroll": u.isEchartsHeightChange }])
        }, [
          (N(!0), Z(Ke, null, Wt(s.data, (w, S) => (N(), Z("div", {
            key: w.id + "-" + S,
            class: "echarts-container",
            style: Ze({ "background-color": l(w), "--drag-top": s.drag.top + "px" })
          }, [
            pe("div", {
              id: w.id,
              class: "h-100% w-100%"
            }, null, 8, k2),
            u.useMergedLegend ? (N(), he(Zp, {
              key: 0,
              data: c(S),
              colors: u.echartsColors,
              id: w.id,
              group: w.id,
              theme: w.theme,
              "item-font-size": s.drag.fontSize,
              onIsDragging: y[0] || (y[0] = (C) => s.drag.isDragging = C),
              onUpdate: (C) => h(C, S),
              onDeleteItem: (C, H) => g(C, H, S),
              onDeleteItemColumn: (C, H) => d(C, H, S),
              onDeleteItemsAll: (C) => v(S)
            }, null, 8, ["data", "colors", "id", "group", "theme", "item-font-size", "onUpdate", "onDeleteItem", "onDeleteItemColumn", "onDeleteItemsAll"])) : ce("", !0),
            pe("div", {
              class: "custom-content",
              draggable: "false",
              id: w.id + "-custom-content"
            }, null, 8, _2)
          ], 4))), 128))
        ], 2),
        ye(m, {
          modelValue: r.value,
          "onUpdate:modelValue": y[1] || (y[1] = (w) => r.value = w),
          title: "数据视图"
        }, {
          default: ne(() => [
            ye(r2, {
              head: i.head,
              body: i.body
            }, null, 8, ["head", "body"])
          ]),
          _: 1
        }, 8, ["modelValue"])
      ]);
    };
  }
}), L2 = /* @__PURE__ */ ir(D2, [["__scopeId", "data-v-2e89c527"]]), q2 = {
  install(e) {
    e.component("VueEchartsLinkage", L2);
  }
};
export {
  ds as SERIES_CLASS_TYPE_DEFAULT,
  us as SERIES_TYPE_DEFAULT,
  L2 as VueEchartsLinkage,
  q2 as default
};