UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

39,570 lines 1.21 MB
var $f = Object.defineProperty;
var Ef = (t, r, l) => r in t ? $f(t, r, { enumerable: !0, configurable: !0, writable: !0, value: l }) : t[r] = l;
var Rt = (t, r, l) => Ef(t, typeof r != "symbol" ? r + "" : r, l);
import { inject as Et, computed as g, getCurrentInstance as _l, unref as e, provide as nn, h as Jn, getCurrentScope as sr, markRaw as Nr, shallowRef as oa, watchEffect as In, readonly as cc, watch as le, reactive as pt, defineComponent as Xe, createVNode as y, renderSlot as W, useSlots as kn, ref as $, createElementBlock as D, createBlock as Be, openBlock as S, normalizeClass as x, Transition as En, withCtx as X, createCommentVNode as ge, normalizeStyle as Qe, createElementVNode as oe, mergeProps as He, createTextVNode as dt, toDisplayString as ze, render as sl, nextTick as kt, onScopeDispose as ca, onMounted as sn, onBeforeUnmount as pn, isVNode as hl, Comment as Af, Fragment as st, isRef as Xa, customRef as Rf, toRef as qe, resolveComponent as Js, withModifiers as gt, renderList as ln, shallowReadonly as yl, Teleport as Mf, withDirectives as el, vShow as tl, toRefs as dc, normalizeProps as It, guardReactiveProps as Yt, createSlots as nl, withKeys as Kn, TransitionGroup as Pf, onBeforeUpdate as zf, createApp as Pa, resolveDynamicComponent as fc, onUpdated as Qs, defineAsyncComponent as Lf, onBeforeMount as Ff } from "vue";
const zt = typeof window < "u", If = Object.prototype.toString, Nf = Object.prototype.hasOwnProperty;
function Df(t, r) {
  return If.call(t) === `[object ${r}]`;
}
function ei(t, r) {
  return Nf.call(t, r);
}
function dn(t) {
  return t != null;
}
function Tt(t) {
  return t == null;
}
function Of(t) {
  return Number.isNaN(t);
}
function pc(t) {
  return t === !0;
}
function Wi(t) {
  return t === !1;
}
function pl(t) {
  return Df(t, "Object");
}
function Sl(t) {
  return !!t && typeof t.then == "function" && typeof t.catch == "function";
}
function on(t) {
  return typeof t == "function";
}
function Cs(t) {
  return Array.isArray(t) || typeof t == "string" ? t.length === 0 : t instanceof Map || t instanceof Set ? t.size === 0 : pl(t) ? Object.keys(t).length === 0 : typeof t == "number" ? Of(t) : Tt(t);
}
function Rl(t, r = !1) {
  return !r && !zt ? !1 : !!(t && "nodeType" in t);
}
function ko(t) {
  return dn(t) && typeof t[Symbol.iterator] == "function";
}
function Qt() {
}
function _f() {
  return !0;
}
function sa() {
  return !1;
}
function $l(t, r = 1, l = 1) {
  const a = [];
  for (let n = 0; n < t; ++n)
    a.push(r + n * l);
  return a;
}
function Bf(t) {
  return Object.prototype.toString.call(t).slice(8, -1);
}
function vc(t = 16) {
  const r = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", l = r.length;
  let a = "";
  for (; t--; )
    a += r.charAt(Math.floor(Math.random() * l));
  return a;
}
async function za(t, r = {}) {
  if (t.length) {
    for (const [l, a] of t)
      if (typeof l == "function" ? l() : l)
        return typeof r.beforeMatchAny == "function" && await r.beforeMatchAny(), await a(), typeof r.afterMatchAny == "function" && await r.afterMatchAny(), !0;
  }
  return !1;
}
const Hf = "[-\\+]?\\d+%?", Vf = "[-\\+]?\\d*\\.\\d+%?", ga = `(?:${Vf})|(?:${Hf})`, jf = `[\\s|\\(]+(${ga})[,|\\s]+(${ga})[,|\\s]+(${ga})\\s*\\)?`, Dr = `[\\s|\\(]+(${ga})[,|\\s]+(${ga})[,|\\s]+(${ga})[,|\\s]+(${ga})\\s*\\)?`, hc = new RegExp(`rgb${jf}`), mc = new RegExp(`rgba${Dr}`), bc = new RegExp(`hsl${Dr}`), gc = new RegExp(`hsla${Dr}`), yc = new RegExp(`hsv${Dr}`), kc = new RegExp(`hsva${Dr}`), wc = /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, xc = /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, Sc = /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, Cc = /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, wo = Object.freeze({
  aliceblue: "f0f8ff",
  antiquewhite: "faebd7",
  aqua: "0ff",
  aquamarine: "7fffd4",
  azure: "f0ffff",
  beige: "f5f5dc",
  bisque: "ffe4c4",
  black: "000",
  blanchedalmond: "ffebcd",
  blue: "00f",
  blueviolet: "8a2be2",
  brown: "a52a2a",
  burlywood: "deb887",
  burntsienna: "ea7e5d",
  cadetblue: "5f9ea0",
  chartreuse: "7fff00",
  chocolate: "d2691e",
  coral: "ff7f50",
  cornflowerblue: "6495ed",
  cornsilk: "fff8dc",
  crimson: "dc143c",
  cyan: "0ff",
  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: "f0f",
  gainsboro: "dcdcdc",
  ghostwhite: "f8f8ff",
  gold: "ffd700",
  goldenrod: "daa520",
  gray: "808080",
  green: "008000",
  greenyellow: "adff2f",
  grey: "808080",
  honeydew: "f0fff0",
  hotpink: "ff69b4",
  indianred: "cd5c5c",
  indigo: "4b0082",
  ivory: "fffff0",
  khaki: "f0e68c",
  lavender: "e6e6fa",
  lavenderblush: "fff0f5",
  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: "789",
  lightslategrey: "789",
  lightsteelblue: "b0c4de",
  lightyellow: "ffffe0",
  lime: "0f0",
  limegreen: "32cd32",
  linen: "faf0e6",
  magenta: "f0f",
  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: "f00",
  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: "fff",
  whitesmoke: "f5f5f5",
  yellow: "ff0",
  yellowgreen: "9acd32"
}), Wf = Object.freeze(new Set(Object.keys(wo)));
function Tc(t) {
  return t = String(t).trim().toLowerCase(), t ? t === "transparent" || wo[t] ? !0 : t === "transparent" || Wf.has(t) || hc.test(t) || mc.test(t) || bc.test(t) || gc.test(t) || yc.test(t) || kc.test(t) || wc.test(t) || xc.test(t) || Sc.test(t) || Cc.test(t) : !1;
}
function Kf(t) {
  if (t = t.toString().trim().toLowerCase(), t === "transparent")
    return { r: 0, g: 0, b: 0, a: 0, format: "name", toString: Tl };
  let r = !1;
  wo[t] && (t = wo[t], r = !0);
  let l;
  if (l = hc.exec(t)) {
    const { r: a, g: n, b: o } = Er(l[1], l[2], l[3]);
    return {
      r: a * 255,
      g: n * 255,
      b: o * 255,
      format: "rgb",
      toString: Tl
    };
  }
  if (l = mc.exec(t)) {
    const { r: a, g: n, b: o } = Er(l[1], l[2], l[3]);
    return {
      r: a * 255,
      g: n * 255,
      b: o * 255,
      a: Ya(l[4]),
      format: "rgba",
      toString: Tl
    };
  }
  if (l = bc.exec(t)) {
    const { h: a, s: n, l: o } = xo(l[0], l[1], l[3]);
    return { h: a * 360, s: n, l: o, format: "hsl", toString: Co };
  }
  if (l = gc.exec(t)) {
    const { h: a, s: n, l: o } = xo(l[0], l[1], l[3]);
    return {
      h: a * 360,
      s: n,
      l: o,
      a: Ya(l[4]),
      format: "hsla",
      toString: Co
    };
  }
  if (l = yc.exec(t)) {
    const { h: a, s: n, v: o } = So(l[0], l[1], l[3]);
    return { h: a * 360, s: n, v: o, format: "hsv", toString: To };
  }
  if (l = kc.exec(t)) {
    const { h: a, s: n, v: o } = So(l[0], l[1], l[3]);
    return {
      h: a * 360,
      s: n,
      v: o,
      a: Ya(l[4]),
      format: "hsva",
      toString: To
    };
  }
  return (l = wc.exec(t)) ? {
    r: parseInt(`${l[1]}${l[1]}`, 16),
    g: parseInt(`${l[2]}${l[2]}`, 16),
    b: parseInt(`${l[3]}${l[3]}`, 16),
    format: r ? "name" : "hex3",
    toString: Tl
  } : (l = xc.exec(t)) ? {
    r: parseInt(`${l[1]}${l[1]}`, 16),
    g: parseInt(`${l[2]}${l[2]}`, 16),
    b: parseInt(`${l[3]}${l[3]}`, 16),
    a: Ki(`${l[4]}${l[4]}`),
    format: r ? "name" : "hex4",
    toString: Tl
  } : (l = Sc.exec(t)) ? {
    r: parseInt(l[1], 16),
    g: parseInt(l[2], 16),
    b: parseInt(l[3], 16),
    format: r ? "name" : "hex6",
    toString: Tl
  } : (l = Cc.exec(t)) ? {
    r: parseInt(l[1], 16),
    g: parseInt(l[2], 16),
    b: parseInt(l[3], 16),
    a: Ki(l[4]),
    format: r ? "name" : "hex8",
    toString: Tl
  } : null;
}
function Qn(t) {
  let r = { r: 0, g: 0, b: 0 }, l = 1, a;
  return typeof t == "string" ? a = Kf(t) : a = t, a !== null && typeof a == "object" && ("l" in a ? r = $c(a.h, a.s, a.l) : "v" in a && (r = Ec(a.h, a.s, a.v)), "a" in a && (l = Ya(a.a ?? 1), Number.isNaN(l) && (l = 1)), r = a), { ...r, a: l, format: "rgba", toString: Tl };
}
function xo(t, r, l) {
  return {
    h: Ml(t, 0, 360) / 360,
    s: Ml(Ar(r) ? Rr(r) : r, 0, 1),
    l: Ml(Ar(l) ? Rr(l) : l, 0, 1)
  };
}
function Er(t, r, l) {
  return {
    r: Ml(t, 0, 255) / 255,
    g: Ml(r, 0, 255) / 255,
    b: Ml(l, 0, 255) / 255
  };
}
function So(t, r, l) {
  return {
    h: Ml(t, 0, 360) / 360,
    s: Ml(Ar(r) ? Rr(r) : r, 0, 1),
    v: Ml(Ar(l) ? Rr(l) : l, 0, 1)
  };
}
function Ya(t) {
  return Ml(Ar(t) ? Rr(t) : t, 0, 1);
}
function $c(t, r, l) {
  let a, n, o;
  if ({ h: t, s: r, l } = xo(t, r, l), r === 0)
    a = n = o = l;
  else {
    const s = l < 0.5 ? 1 * (1 + r) : l + r - l * r, c = 2 * l - s;
    a = rs(c, s, t + 1 / 3), n = rs(c, s, t), o = rs(c, s, t - 1 / 3);
  }
  return a *= 255, n *= 255, o *= 255, { r: a, g: n, b: o, toString: Tl };
}
function Uf(t, r, l) {
  ({ h: t, s: r, l } = xo(t, r, l));
  const a = 0.5 * (2 * l + r * (1 - Math.abs(2 * l - 1)));
  return r = 2 * (a - l) / a, { h: t * 360, s: r, v: a, toString: To };
}
function Xf(t, r, l) {
  ({ h: t, s: r, v: l } = So(t, r, l));
  const a = 0.5 * l * (2 - r);
  return r = l * r / (1 - Math.abs(2 * a - 1)), { h: t * 360, s: r, l: a, toString: Co };
}
function Ec(t, r, l) {
  ({ h: t, s: r, v: l } = So(t, r, l)), t *= 6;
  const a = Math.floor(t), n = t - a, o = l * (1 - r), s = l * (1 - n * r), c = l * (1 - (1 - n) * r), d = a % 6;
  let p = [l, s, o, o, c, l][d], m = [c, l, l, s, o, o][d], b = [o, o, c, l, l, s][d];
  return p *= 255, m *= 255, b *= 255, { r: p, g: m, b, toString: Tl };
}
function oo(t, r, l) {
  ({ r: t, g: r, b: l } = Er(t, r, l));
  const a = Math.max(t, r, l), n = Math.min(t, r, l);
  let o;
  const s = a, c = a - n, d = a === 0 ? 0 : c / a;
  if (a === n)
    o = 0;
  else {
    switch (a) {
      case t: {
        o = (r - l) / c + (r < l ? 6 : 0);
        break;
      }
      case r: {
        o = (l - t) / c + 2;
        break;
      }
      case l: {
        o = (t - r) / c + 4;
        break;
      }
      default:
        o = 0;
    }
    o *= 60;
  }
  return { h: o, s: d, v: s, toString: To };
}
function Ts(t, r, l, a = !1) {
  ({ r: t, g: r, b: l } = Er(t, r, l));
  const n = [
    ya(Math.round(t * 255).toString(16)),
    ya(Math.round(r * 255).toString(16)),
    ya(Math.round(l * 255).toString(16))
  ];
  return a && ka(n[0]) && ka(n[1]) && ka(n[2]) ? n[0].charAt(0) + n[1].charAt(0) + n[2].charAt(0) : "#" + n.join("");
}
function $s(t, r, l, a, n = !1) {
  ({ r: t, g: r, b: l } = Er(t, r, l));
  const o = [
    ya(Math.round(t * 255).toString(16)),
    ya(Math.round(r * 255).toString(16)),
    ya(Math.round(l * 255).toString(16)),
    ya(Gf(Ya(a)))
  ];
  return n && ka(o[0]) && ka(o[1]) && ka(o[2]) && ka(o[3]) ? o[0].charAt(0) + o[1].charAt(0) + o[2].charAt(0) + o[3].charAt(0) : "#" + o.join("");
}
function ia(t, r, l = 0.5) {
  if (!t && !r) return { r: 0, g: 0, b: 0, a: 1 };
  if (!t) return Qn(r);
  if (!r) return Qn(t);
  const a = Qn(t), n = Qn(r), o = Ml(l, 0, 1), s = o * 2 - 1, c = a.a - n.a, p = ((s * c === -1 ? s : (s + c) / (1 + s * c)) + 1) / 2, m = 1 - p;
  return {
    r: Math.round(a.r * p + n.r * m),
    g: Math.round(a.g * p + n.g * m),
    b: Math.round(a.b * p + n.b * m),
    a: Math.round(a.a * o + n.a * (1 - o)),
    format: "rgba",
    toString: Tl
  };
}
function ml(t, r) {
  const l = Qn(t);
  return l.a = Ya(r), l;
}
function Yf(t, r = !1, l = "hex") {
  const a = Math.round(Math.random() * 360), n = Math.round(80 + Math.random() * 20) / 100, o = Math.round(40 + Math.random() * 20) / 100;
  if (l === "hsl")
    return Co.bind({ h: a, s: n, l: o })();
  let s;
  if (l === "hex" || l === "rgb") {
    if (s = $c(a, n, o), l === "hex") {
      const { r: c, g: d, b: p } = s;
      return r ? $s(c, d, p, Math.random()) : Ts(c, d, p);
    }
  } else l === "hsv" && (s = Uf(a, n, o));
  return r && (s.a = Math.random()), s.toString();
}
function qf(t = !1, r = "hex") {
  return Yf("hard", t, r);
}
function ya(t) {
  return t.length === 1 ? `0${t}` : t.toString();
}
function ka(t) {
  return t.charAt(0) === t.charAt(1);
}
function Gf(t) {
  return Math.round(parseFloat(t) * 255).toString(16);
}
function Ki(t) {
  return parseInt(t, 16) / 255;
}
function Ml(t, r, l) {
  return Math.max(r, Math.min(l, parseFloat(t)));
}
function rs(t, r, l) {
  return l < 0 && (l += 1), l > 1 && (l -= 1), l < 1 / 6 ? t + (r - t) * 6 * l : l < 1 / 2 ? r : l < 2 / 3 ? t + (r - t) * (2 / 3 - l) * 6 : t;
}
function Ar(t) {
  return String(t).trim().includes("%");
}
function Rr(t) {
  const r = parseFloat(t) / 100;
  return Number.isNaN(r) ? 0 : r;
}
function Tl() {
  return dn(this.a) && this.a >= 0 && this.a < 1 ? `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a})` : `rgb(${this.r}, ${this.g}, ${this.b})`;
}
function Co() {
  const t = `${this.s * 100}%`, r = `${this.l * 100}%`;
  return dn(this.a) && this.a >= 0 && this.a < 1 ? `hsla(${this.h}, ${t}, ${r}, ${this.a})` : `hsl(${this.h}, ${t}, ${r})`;
}
function To() {
  const t = `${this.s * 100}%`, r = `${this.v * 100}%`;
  return dn(this.a) && this.a >= 0 && this.a < 1 ? `hsva(${this.h}, ${t}, ${r}, ${this.a})` : `hsv(${this.h}, ${t}, ${r})`;
}
let Zf = 0;
function Ac() {
  return Zf++;
}
function Ui(t) {
  return t & -t;
}
function Rc(t, r = 0) {
  const l = new Array(t + 1).fill(0);
  function a(c, d) {
    if (!(!d || c >= t))
      for (c += 1; c <= t; )
        l[c] += d, c += Ui(c);
  }
  function n(c = t) {
    if (c <= 0) return 0;
    c > t && (c = t);
    let d = c * r;
    for (; c > 0; )
      d += l[c], c -= Ui(c);
    return d;
  }
  function o(c) {
    return n(c + 1) - n(c);
  }
  function s(c) {
    let d = 0, p = t;
    for (; p > d; ) {
      const m = Math.floor((d + p) / 2), b = n(m);
      if (b > c) {
        p = m;
        continue;
      } else if (b < c) {
        if (d === m)
          return n(d + 1) <= c ? d + 1 : d;
        d = m;
      } else
        return m;
    }
    return d;
  }
  return { tree: l, add: a, sum: n, get: o, boundIndex: s };
}
const Jf = /^\s*[+-]?\d*\.?\d+(?:[eE][+-]?\d+)?\s*$/;
function tr(t, r = !1) {
  return typeof t == "number" ? !Number.isNaN(t) : r ? Jf.test(String(t)) : !Number.isNaN(parseFloat(t)) || !Number.isNaN(Number(t));
}
function rn(t) {
  let r = parseFloat(t);
  return Number.isNaN(r) && (r = Number(t)), Number.isNaN(r) ? 0 : r;
}
function Qf(t, r) {
  return `${t < 0 ? "-" : ""}${String(Math.abs(Math.round(t))).padStart(r, "0")}`;
}
function ol(t) {
  return Qf(t, 2);
}
function Bl(t) {
  const r = t.toString().split(/[eE]/), l = (r[0].split(".")[1] || "").length - +(r[1] || 0);
  return l > 0 ? l : 0;
}
function _n(t, r) {
  r = Math.max(Math.round(r), 0);
  let l = t.toFixed(Bl(t));
  const a = l.indexOf(".");
  if (a === -1) return t;
  const n = l.replace(".", "").split(""), o = a + r;
  return n[o] ? (l.charAt(o + 1) === "5" ? l = l.substring(0, o + 1) + "6" : l = l.substring(0, o + 2), parseFloat(Number(l).toFixed(r))) : t;
}
function br(t, r, l) {
  return _n(t * r, l);
}
function cn(t, r, l) {
  return Math.max(r, Math.min(l, parseFloat(t)));
}
function ep(t, r, l = 0) {
  if (t <= 0 || r <= 1) return [t];
  l < 1 && (l = 1 / 0);
  const a = [];
  let n = 0;
  for (; t >= r && n < l; )
    a.push(t % r), t = Math.floor(t / r), ++n;
  return a.push(t), a.reverse();
}
function Xr(t, r = 0) {
  return r === t ? r : (r > t && ([r, t] = [t, r]), Math.random() * (t - r) + r);
}
function tp(t, r = 15) {
  return +parseFloat(Number(t).toPrecision(r));
}
function Xi(t) {
  const r = String(t);
  if (!r.includes("e"))
    return Number(r.replace(".", ""));
  const l = Bl(t);
  return l > 0 ? tp(Number(t) * 10 ** l) : Number(t);
}
function ti(t) {
  return (...r) => {
    let l = r[0];
    for (let a = 1, n = r.length; a < n; ++a)
      l = t(l, r[a]);
    return l;
  };
}
const $o = ti((t, r) => {
  const l = Xi(t), a = Xi(r), n = Bl(t) + Bl(r);
  return l * a / 10 ** n;
}), np = ti((t, r) => {
  const l = 10 ** Math.max(Bl(t), Bl(r));
  return ($o(t, l) + $o(r, l)) / l;
}), lp = ti((t, r) => {
  const l = 10 ** Math.max(Bl(t), Bl(r));
  return ($o(t, l) - $o(r, l)) / l;
}), Ea = 1e3, _o = 60, Yi = _o * Ea, ni = 60, ap = ni * _o, qi = ap * Ea, Mc = 24, rp = Mc * ni, Pc = rp * _o, op = Pc * Ea, Da = Pc * Ea, sp = 7, ip = sp * Mc, up = ip * ni, cp = up * _o, dp = cp * Ea, fp = {
  y(t, r) {
    const l = t.getFullYear();
    return r.length === 4 ? l : l % 1e3 % 100;
  },
  M(t, r) {
    const l = t.getMonth() + 1;
    return r.length === 2 ? ol(l) : l;
  },
  d(t, r) {
    const l = t.getDate();
    return r.length === 2 ? ol(l) : l;
  },
  H(t, r) {
    const l = t.getHours();
    return r.length === 2 ? ol(l) : l;
  },
  m(t, r) {
    const l = t.getMinutes();
    return r.length === 2 ? ol(l) : l;
  },
  s(t, r) {
    const l = t.getSeconds();
    return r.length === 2 ? ol(l) : l;
  },
  q(t, r) {
    const l = Math.ceil((t.getMonth() + 1) / 3);
    return r.length === 2 ? ol(l) : l;
  }
}, pp = /[yMdHmsq](\w)*|./g, vp = /'(.+?)'/g;
function gl(t, r = !1) {
  const l = new Date(t);
  if (r && Number.isNaN(+l))
    throw new RangeError("Invalid date value");
  return typeof t == "string" && !t.includes(":") && (l.setHours(0), l.setMinutes(0), l.setSeconds(0)), l;
}
function zc(t, r = "yyyy-MM-dd HH:mm:ss") {
  t = gl(t);
  const l = r.match(pp), a = l == null ? void 0 : l.length;
  if (!a)
    return r;
  let n = 0, o = "";
  for (; n < a; ) {
    const s = l[n], c = s[0], d = fp[c];
    d ? o += d(t, s) : o += s, ++n;
  }
  return o.replace(vp, "$1");
}
function Yr(t) {
  return t = gl(t), `${ol(t.getHours())}:${ol(t.getMinutes())}:${ol(
    t.getSeconds()
  )}`;
}
function hp(t, r) {
  return t = gl(t), r = ~~r, t.setDate(t.getDate() + r), t;
}
function mp(t, r = 42, l = 1) {
  t = gl(t);
  const a = [];
  for (let n = 0; n < r; ++n)
    a.push(hp(t, n * l));
  return a;
}
function Es(t) {
  return t = gl(t), t.setHours(0, 0, 0, 0), t;
}
function bp(t) {
  return t = gl(t), t.setHours(23, 59, 59, 999), t;
}
function As(t, r = 0) {
  r = r % 7, r < 0 && (r += 7), t = gl(t);
  const l = t.getDay(), a = (l < r ? 7 : 0) + l - r;
  return t.setDate(t.getDate() - a), t.setHours(0, 0, 0, 0), t;
}
function Lc(t) {
  return t % 4 === 0 && t % 100 !== 0 || t % 400 === 0;
}
function Fc(t, r) {
  let l;
  return r < 7 ? r !== 2 ? l = 30 + r % 2 : Lc(t) ? l = 29 : l = 28 : l = 31 - r % 2, l;
}
function gp(t, r = 1) {
  t = gl(t);
  const l = t.getFullYear(), a = t.getMonth() + 1, n = t.getDate(), o = Fc(l, a);
  return r = r % o, r < 0 && (r += o), n < r && t.setMonth(a - 1), t.setDate(r), t.setHours(0, 0, 0, 0), t;
}
function ra(t, r) {
  return t = Es(t), r = Es(r), (r.getTime() - t.getTime()) / op;
}
function yp(t, r, l = 0) {
  return t = As(t, l), r = As(r, l), (r.getTime() - t.getTime()) / dp;
}
function Ic(t, r = {}) {
  if (t == null || typeof t != "object")
    return t;
  const { cloneObject: l = Qt } = r, a = /* @__PURE__ */ Object.create(null), n = [
    {
      parent: a,
      prop: "root",
      data: t
    }
  ], o = /* @__PURE__ */ new WeakMap(), s = [], c = [];
  for (; n.length; ) {
    const { parent: d, prop: p, data: m } = n.pop();
    if (!d) continue;
    const b = Bf(m);
    if (b === "Date") {
      d[p] = new Date(m);
      continue;
    }
    if (b !== "Array") {
      const u = l(b, m);
      if (u != null) {
        d[p] = u;
        continue;
      }
    }
    const f = d[p] = b === "Array" || b === "Set" || b === "Map" ? [] : /* @__PURE__ */ Object.create(null);
    if (b === "Set" || b === "Map") {
      let u = 0;
      if (b === "Set") {
        for (const h of m)
          o.has(h) ? f[u] = o.get(h) : h !== null && typeof h == "object" ? n.push({
            parent: f,
            prop: u,
            data: h
          }) : f[u] = h, ++u;
        s.push({ parent: d, prop: p });
      } else {
        for (const h of m) {
          const i = [];
          u = 0;
          for (const v of h)
            o.has(v) ? i[u] = o.get(v) : v !== null && typeof v == "object" ? n.push({
              parent: i,
              prop: u,
              data: v
            }) : i[u] = v, ++u;
          f.push(i);
        }
        c.push({ parent: d, prop: p });
      }
    } else
      for (const u of Object.keys(m)) {
        const h = m[u];
        o.has(h) ? f[u] = o.get(h) : h !== null && typeof h == "object" ? n.push({
          parent: f,
          prop: u,
          data: h
        }) : f[u] = h;
      }
    o.set(m, f);
  }
  for (const { parent: d, prop: p } of s)
    d[p] = new Set(d[p]);
  for (const { parent: d, prop: p } of c)
    d[p] = new Map(d[p]);
  return a.root;
}
const kp = "This object was destroyed, do not use it anywhere", wp = () => !0;
function ir(t, r = kp) {
  const l = () => {
    throw new Error(r);
  };
  Object.keys(t).forEach((a) => {
    typeof t[a] == "function" ? t[a] = l.bind(t) : t[a] = null;
  }), Object.getOwnPropertyNames(t.constructor.prototype).forEach((a) => {
    a !== "constructor" && typeof t[a] == "function" && (t[a] = l.bind(t));
  }), t.isDestroyed = wp;
}
const wl = zt && ("ontouchstart" in window || Sp() > 0), xp = wl ? "pointerdown" : "click";
function Sp() {
  return typeof navigator < "u" && (navigator.maxTouchPoints || navigator.msMaxTouchPoints) || 0;
}
function Cp(t, r, l = window.Event) {
  const { type: a, bubbles: n = !1, cancelable: o = !1, ...s } = r;
  if (!dn(a) || a === "") return !1;
  let c;
  return dn(l) ? c = new l(a, { bubbles: n, cancelable: o }) : (c = document.createEvent("HTMLEvents"), c.initEvent(a, n, o)), Object.assign(c, s), t.dispatchEvent(c);
}
const Tp = [
  "button",
  "[href]:not(.disabled)",
  "input",
  "select",
  "textarea",
  "[tabindex]",
  "[contenteditable]"
].map((t) => `${t}:not(:disabled):not([disabled])`).join(", ");
function li(t) {
  return !!t && t.nodeType === 1;
}
function $p(t) {
  return li(t) ? t : document.body;
}
function Nc(t, r) {
  return !zt || !t ? [] : Array.from($p(r).querySelectorAll(t));
}
function Ep(t, r) {
  if (!t || !r) return !1;
  const l = r.__transferElement;
  return r.contains(t) || !!l && (l === t || l.contains(t));
}
function Ap(t) {
  if (!zt || !li(t) || !t.parentNode || !Ep(t, document.body) || t.style.display === "none")
    return !0;
  const r = t.getBoundingClientRect();
  return !(r && r.width > 0 && r.height > 0);
}
function Rp(t) {
  return !Ap(t);
}
function Mp(t) {
  return !li(t) || t.hasAttribute("disabled") && t.getAttribute("disabled") !== "false" || t.disabled;
}
function Pp(t, r = !1) {
  const l = r ? () => !1 : Mp;
  return Nc(Tp, t).filter(
    (a) => Rp(a) && a.tabIndex > -1 && !l(a)
  );
}
function zp(t) {
  if (!zt || !t) return 0;
  const r = getComputedStyle(t);
  return parseFloat(r.paddingLeft) + parseFloat(r.paddingRight) || 0;
}
function Lp(t) {
  if (!zt || !t) return 0;
  const r = getComputedStyle(t);
  return parseFloat(r.borderTopWidth) + parseFloat(r.borderBottomWidth) || 0;
}
function Bo(t) {
  if (!zt || !t) return 0;
  const r = document.createRange();
  r.setStart(t, 0), r.setEnd(t, t.childNodes.length);
  const l = r.getBoundingClientRect().width, a = zp(t);
  return l + a;
}
function Mr(t) {
  return tr(t, !0) ? `${rn(t)}px` : String(t).trim();
}
function fl(t) {
  return dn(t) && t !== !1 ? String(t) : void 0;
}
function ai() {
  const t = /* @__PURE__ */ new Map();
  return {
    on(r, l) {
      const a = t.get(r);
      (a == null ? void 0 : a.add(l)) || t.set(r, /* @__PURE__ */ new Set([l]));
    },
    off(r, l) {
      const a = t.get(r);
      a && a.delete(l);
    },
    clear(r) {
      const l = t.get(r);
      l && l.clear();
    },
    clearAll() {
      t.clear();
    },
    emit(r, ...l) {
      const a = t.get(r);
      a && a.forEach((n) => {
        n(...l);
      });
    }
  };
}
function Fp(t, r, l) {
  r.has(t) || (l(t), r.add(t));
}
const Ip = /* @__PURE__ */ new Set();
function Np(t, r = console.warn) {
  Fp(t, Ip, r);
}
const Dc = zt ? requestAnimationFrame : (t) => {
  setTimeout(t, 16);
};
function Cl(t, r = 16) {
  if (typeof t != "function")
    return Qt;
  const l = (...o) => {
    t(...o);
  };
  if (r <= 0)
    return Ln(l);
  let a = 0, n;
  return function(...o) {
    const s = Date.now(), c = s - a;
    clearTimeout(n), c >= r ? (a = s, l(...o)) : n = setTimeout(
      () => {
        a = Date.now(), l(...o);
      },
      Math.max(0, r - c)
    );
  };
}
function da(t, r = 100) {
  if (typeof t != "function")
    return Qt;
  const l = (...n) => {
    t(...n);
  };
  if (r <= 0)
    return Ln(l);
  let a;
  return function(...n) {
    clearTimeout(a), a = setTimeout(() => {
      l(...n);
    }, r);
  };
}
function Ln(t) {
  if (typeof t != "function")
    return t;
  let r = !1, l, a;
  return function(...n) {
    return l = n, r || (r = !0, a = Promise.resolve().then(() => (r = !1, a = void 0, t(...l)))), a;
  };
}
const gr = /* @__PURE__ */ new Set(), Oc = /* @__PURE__ */ new WeakMap();
function Dp() {
  gr.forEach((t) => {
    t(...Oc.get(t));
  }), gr.clear();
}
function qa(t, ...r) {
  if (typeof t != "function")
    return t;
  Oc.set(t, r), !gr.has(t) && (gr.add(t), gr.size === 1 && Dc(Dp));
}
let os = null;
function Op() {
  if (!zt)
    return !0;
  if (os === null) {
    const t = document.createElement("div");
    t.style.display = "flex", t.style.flexDirection = "column", t.style.rowGap = "1px", t.appendChild(document.createElement("div")), t.appendChild(document.createElement("div")), document.body.appendChild(t), os = t.scrollHeight === 1, document.body.removeChild(t);
  }
  return os;
}
let ss = null;
function _p() {
  return zt ? (ss === null && (ss = "loading" in document.createElement("img")), ss) : !1;
}
function ur(t) {
  return Array.isArray(t) ? t : [t];
}
function vl(t, ...r) {
  return on(t) ? t(...r) : t;
}
function gn(t) {
  return t[t.length - 1];
}
const Gi = (t) => t;
function Rs(t, r, l, a) {
  let n;
  a === void 0 && (a = !1), n = Gi;
  const o = a ? /* @__PURE__ */ new Map() : {};
  if (!dn(r)) return o;
  const s = a ? (d, p) => o.set(d, p) : (d, p) => o[d] = p, c = on(r) ? r : (d) => d[r];
  return t.forEach((d) => {
    if (!dn(d)) return;
    const p = c(d);
    dn(p) && s(p, n(d));
  }), o;
}
function Ho(t, r, l = !1) {
  let a = -1;
  return l || typeof r != "function" ? a = t.findIndex((n) => n === r) : a = t.findIndex(r), ~a ? t.splice(a, 1)[0] : null;
}
function _c(t, r = {}) {
  const {
    keyField: l = "id",
    childField: a = "children",
    parentField: n = "parent",
    rootId: o = null
  } = r, s = dn(o) && o !== "", c = [], d = /* @__PURE__ */ new Map();
  for (let p = 0, m = t.length; p < m; ++p) {
    const b = t[p], f = b[l];
    if (!(s ? f === o : !dn(f)))
      if (d.has(f) ? b[a] = d.get(f) : (b[a] = [], d.set(f, b[a])), b[n] && (!s || b[n] !== o)) {
        const u = b[n];
        d.has(u) || d.set(u, []), d.get(u).push(b);
      } else
        c.push(b);
  }
  return c;
}
function Ms(t, r = {}) {
  const {
    keyField: l = "id",
    childField: a = "children",
    parentField: n = "parent",
    rootId: o = null,
    depthFirst: s = !1,
    injectId: c = !0,
    buildId: d = (v) => v,
    filter: p = _f,
    cascaded: m = !1,
    forceInject: b = !1
  } = r;
  let f = 1;
  const u = dn(o) && o !== "", h = [], i = [...t];
  for (; i.length; ) {
    const v = i.shift(), k = v[a], w = Array.isArray(k) && k.length ? k : [];
    c && (b || !v[l]) && (v[l] = d(f++));
    const T = v[l];
    c && n && (u ? v[n] === o : !v[n]) && (v[n] = o);
    const F = p(v);
    if (F && h.push(v), F || !m) {
      for (let A = 0, z = w.length; A < z; ++A) {
        const C = w[A];
        c && n && (C[n] = T), !s && i.push(C);
      }
      s && i.unshift(...w);
    }
  }
  return h;
}
function so(t, r, l = {}) {
  const { childField: a = "children", depthFirst: n = !1 } = l, o = [...t.map((s) => ({ item: s, depth: 0, parent: null }))];
  for (; o.length; ) {
    const { item: s, depth: c, parent: d } = o.shift(), p = s[a];
    r(s, c, d), ko(p) && o[n ? "unshift" : "push"](
      ...Array.from(p).map((m) => ({ item: m, depth: c + 1, parent: s }))
    );
  }
}
function Bc(t, r, l = {}) {
  const { childField: a = "children", depthFirst: n = !1, clearChildren: o = !0 } = l, s = [], c = [...t.map((d) => ({ item: d, depth: 0, parent: null, result: s }))];
  for (; c.length; ) {
    const { item: d, depth: p, parent: m, result: b } = c.shift(), f = d[a], u = r(d, p, m) ?? {};
    o && (u[a] = []), b.push(u), ko(f) && Array.from(f).length && (u[a] = [], c[n ? "unshift" : "push"](
      ...Array.from(f).map((i) => ({
        item: i,
        depth: p + 1,
        parent: d,
        result: u[a]
      }))
    ));
  }
  return s;
}
function Bp(t, r, l = {}) {
  const {
    childField: a = "children",
    leafOnly: n = !1,
    isLeaf: o = (c) => !ko(c[a])
  } = l, s = (c, d, p) => c.map((m) => ({ ...m })).filter((m) => {
    const b = m[a], f = o(m), u = ko(b) && Array.from(b);
    if (n && !f) {
      if (u && u.length) {
        const i = s(u, d + 1, m);
        return m[a] = i, !!i.length;
      }
      return !1;
    }
    const h = r(m, d, p);
    if (f) return h;
    if (!n && h) return !0;
    if (u && u.length) {
      const i = s(u, d + 1, m);
      return m[a] = i, !!i.length;
    }
    return h;
  });
  return s(t, 0, null);
}
const Zi = (t, r) => Number.isNaN(Number(t) - Number(r)) ? String(t).localeCompare(r) : t - r;
function Hp(t, r) {
  if (!t.sort || pl(r) && !r.key || !r.length)
    return t;
  const l = Array.from(t);
  Array.isArray(r) || (r = [r]);
  const a = r.map(
    (n) => typeof n == "string" ? {
      key: n,
      method: Zi,
      type: "asc"
    } : n
  ).map((n) => (typeof n.accessor != "function" && (n.accessor = (o) => o[n.key]), typeof n.method != "function" && (n.method = Zi), n.params = Array.isArray(n.params) ? n.params : [], n));
  return l.sort((n, o) => {
    let s = 0;
    for (const c of a) {
      const { method: d, type: p, accessor: m, params: b } = c, f = p === "desc", u = d(m(n, ...b), m(o, ...b));
      if (s = f ? -u : u, s) break;
    }
    return s;
  }), l;
}
function Ga(t, r, l = !0) {
  t = l ? Ic(t) : t;
  const a = [
    {
      source: t,
      target: r
    }
  ];
  for (; a.length; ) {
    const { source: n, target: o } = a.pop();
    Object.keys(o).forEach((s) => {
      pl(o[s]) ? (pl(n[s]) || (n[s] = /* @__PURE__ */ Object.create(null)), a.push({
        source: n[s],
        target: o[s]
      })) : Array.isArray(o[s]) ? (Array.isArray(n[s]) || (n[s] = []), a.push({
        source: n[s],
        target: o[s]
      })) : n[s] = o[s];
    });
  }
  return t;
}
function Vp(t) {
  t = Array.from(t);
  let r = !1;
  const l = () => {
    var a;
    r || ((a = t.shift()) == null || a(), t.length && Dc(l));
  };
  return l(), () => r = !0;
}
function Hc(t) {
  return t = t.trim().replace(/\s+/g, "-"), t = t.replace(/-+(\w)/g, (r, l) => l ? l.toUpperCase() : ""), (t.charAt(0).toLocaleUpperCase() + t.slice(1)).replace(
    /[^\w]/g,
    ""
  );
}
const io = "___vxp-provided-hover-delay", yr = g(() => 100);
function is(t, r) {
  return dn(t) && !Number.isNaN(t) ? t : r;
}
function Vc(t, r) {
  if (r) {
    const l = g(() => {
      const a = e(t);
      return is(a, yr.value);
    });
    r.provide(io, l);
  } else {
    const l = Et(io, null), a = g(() => {
      const n = e(t);
      return is(
        n,
        l ? is(l.value, yr.value) : yr.value
      );
    });
    nn(io, a);
  }
}
function fa() {
  return _l() ? Et(io, yr) : yr;
}
function jp() {
  return {
    locale: "zh-CN",
    wordSpace: !1,
    calendar: {
      year: "年",
      month: "月",
      month1: "01月",
      month2: "02月",
      month3: "03月",
      month4: "04月",
      month5: "05月",
      month6: "06月",
      month7: "07月",
      month8: "08月",
      month9: "09月",
      month10: "10月",
      month11: "11月",
      month12: "12月",
      week1: "一",
      week2: "二",
      week3: "三",
      week4: "四",
      week5: "五",
      week6: "六",
      week7: "日",
      ariaLabel: {
        year: "年",
        month: "月",
        month1: "一月",
        month2: "二月",
        month3: "三月",
        month4: "四月",
        month5: "五月",
        month6: "六月",
        month7: "七月",
        month8: "八月",
        month9: "九月",
        month10: "十月",
        month11: "十一月",
        month12: "十二月",
        week1: "星期一",
        week2: "星期二",
        week3: "星期三",
        week4: "星期四",
        week5: "星期五",
        week6: "星期六",
        week7: "星期日"
      }
    },
    captcha: {
      slideEnd: "请滑动到最后",
      slide: "请滑动到适当的位置",
      success: "验证成功",
      fail: "验证失败,请重试",
      doCaptcha: "请完成下面的验证",
      pointInOrder: "请按顺序点击",
      trigger: "点击进行验证",
      completed: "已完成验证"
    },
    checkbox: {
      all: "全选"
    },
    colorPicker: {
      confirm: "确定",
      cancel: "重置",
      ariaLabel: {
        clear: "清空颜色"
      }
    },
    confirm: {
      confirm: "确认",
      cancel: "取消"
    },
    datePicker: {
      confirm: "确认",
      cancel: "取消",
      placeholder: {
        year: "年份",
        month: "月份",
        date: "日期",
        datetime: "日期时间",
        start: "开始",
        end: "结束",
        select: "请选择"
      },
      startTime: "开始时间",
      endTime: "结束时间",
      ariaLabel: {
        clear: "清空日期",
        quarter: "季度",
        week: "周",
        date: "日",
        hour: "时",
        minute: "分",
        second: "秒"
      }
    },
    drawer: {
      confirm: "确认",
      cancel: "取消"
    },
    form: {
      submit: "提交",
      reset: "重置",
      notNullable: "不可为空",
      validateFail: "验证未通过"
    },
    image: {
      placeholder: "加载中...",
      error: "加载失败"
    },
    input: {
      placeholder: "请输入",
      ariaLabel: {
        clear: "清空文本"
      }
    },
    layout: {
      signOut: "注销",
      signType: "导航模式",
      majorColor: "主题颜色",
      themeMode: "主题模式"
    },
    modal: {
      confirm: "确认",
      cancel: "取消"
    },
    numberInput: {
      placeholder: "请输入数字",
      outOfRange: "超出范围",
      ariaLabel: {
        clear: "清空数字",
        increase: "增加",
        decrease: "减少"
      }
    },
    pagination: {
      page: "页",
      perPage: "条/页",
      prevPage: "上一页",
      nextPage: "下一页",
      prev: "向前",
      next: "向后",
      total: "共",
      jumpTo: "跳转",
      itemUnit: "条"
    },
    select: {
      placeholder: "请选择",
      empty: "暂无数据",
      search: "搜索选项",
      ariaLabel: {
        clear: "清空选项"
      }
    },
    table: {
      empty: "暂无数据",
      filterConfirm: "筛选",
      filterReset: "重置",
      filterAll: "全部"
    },
    timeAgo: {
      ago: "前",
      late: "后",
      justNow: "刚刚",
      second: "秒",
      minute: "分钟",
      hour: "小时",
      yesterday: "昨天",
      days: "天",
      lastMonth: "上个月",
      months: "个月",
      lastYear: "去年",
      years: "年"
    },
    timePicker: {
      confirm: "确认",
      cancel: "取消",
      placeholder: {
        time: "时间",
        start: "开始",
        end: "结束",
        select: "请选择"
      },
      ariaLabel: {
        clear: "清空时间",
        hour: "时",
        minute: "分",
        second: "秒"
      }
    },
    tour: {
      prev: "上一步",
      next: "下一步",
      done: "完成",
      stepCount: "第 {n} 步"
    },
    transfer: {
      source: "源",
      target: "目标",
      empty: "暂无数据",
      reverse: "反选",
      search: "搜索 (Ctrl + F)"
    },
    tree: {
      empty: "暂无数据"
    },
    upload: {
      upload: "上传文件",
      uploading: "上传中",
      dragOrClick: "将文件拖到此处, 或点击上传",
      ariaLabel: {
        preview: "预览文件",
        delete: "删除文件"
      }
    },
    video: {
      play: "播放",
      pause: "暂停",
      playPrev: "上一个",
      playNext: "下一个",
      refresh: "刷新",
      flip: "镜像翻转",
      requestPip: "进入画中画",
      exitPip: "退出画中画",
      fullWindow: "进入网页全屏",
      fullWindowExit: "退出网页全屏",
      fullScreen: "进入全屏",
      fullScreenExit: "退出全屏",
      chapterCount: "第 {n} 章"
    },
    viewer: {
      rotateRight: "向右旋转",
      rotateLeft: "向左旋转",
      flipHorizontal: "横向翻转",
      flipVertical: "纵向翻转",
      zoomIn: "放大",
      zoomOut: "缩小",
      fullScreen: "进入全屏",
      fullScreenExit: "退出全屏",
      reset: "重置"
    }
  };
}
const kr = "__vxp-provided-locale", Pr = g(() => jp()), Wp = /* @__PURE__ */ new Map();
function Ji(t) {
  return t && Wp.get(t) || Pr.value;
}
function ri(t, r) {
  if (r) {
    const l = g(() => {
      const a = e(t);
      return Ga(Ji(a.locale), a);
    });
    r.provide(kr, l);
  } else {
    const l = Et(kr, null), a = g(() => {
      const n = e(t);
      return l != null && l.value ? Ga(l.value, n) : Ga(Ji(n.locale), n);
    });
    nn(kr, a);
  }
}
function vn(t, r) {
  const l = Et(kr, Pr);
  return t ? r ? g(() => {
    var a;
    return { ...((a = l.value) == null ? void 0 : a[t]) ?? {}, ...e(r) ?? {} };
  }) : g(() => {
    var a;
    return ((a = l.value) == null ? void 0 : a[t]) ?? {};
  }) : l;
}
function Vo() {
  const t = Et(kr, Pr);
  return g(() => t.value.wordSpace ?? !1);
}
function uo(t, r) {
  const l = t.split("|");
  return l.length === 1 ? `${r} ${t}` : `${r} ${r > 1 ? l[1].trim() : l[0].trim()}`;
}
function Kp(t, r) {
  const l = t.split("|");
  return l.length === 1 ? t : r > 1 ? l[1].trim() : l[0].trim();
}
function nr(t, r = Pr.value.wordSpace ?? !1) {
  return r ? t : t.replace(/\s+/g, "");
}
function jc(t, r) {
  return t.replace(/{n}/g, `${r}`);
}
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Qi = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Up = (t) => t.replace(
  /^([A-Z])|[\s-_]+(\w)/g,
  (r, l, a) => a ? a.toUpperCase() : l.toLowerCase()
), Xp = (t) => {
  const r = Up(t);
  return r.charAt(0).toUpperCase() + r.slice(1);
}, Yp = (...t) => t.filter((r, l, a) => !!r && r.trim() !== "" && a.indexOf(r) === l).join(" ").trim();
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
var qr = {
  xmlns: "http://www.w3.org/2000/svg",
  width: 24,
  height: 24,
  viewBox: "0 0 24 24",
  fill: "none",
  stroke: "currentColor",
  "stroke-width": 2,
  "stroke-linecap": "round",
  "stroke-linejoin": "round"
};
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const qp = ({ size: t, strokeWidth: r = 2, absoluteStrokeWidth: l, color: a, iconNode: n, name: o, class: s, ...c }, { slots: d }) => Jn(
  "svg",
  {
    ...qr,
    width: t || qr.width,
    height: t || qr.height,
    stroke: a || qr.stroke,
    "stroke-width": l ? Number(r) * 24 / Number(t) : r,
    class: Yp(
      "lucide",
      ...o ? [`lucide-${Qi(Xp(o))}-icon`, `lucide-${Qi(o)}`] : ["lucide-icon"]
    ),
    ...c
  },
  [...n.map((p) => Jn(...p)), ...d.default ? [d.default()] : []]
);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Dt = (t, r) => (l, { slots: a }) => Jn(
  qp,
  {
    ...l,
    iconNode: r,
    name: t
  },
  a
);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Gp = Dt("arrow-left-right", [
  ["path", { d: "M8 3 4 7l4 4", key: "9rb6wj" }],
  ["path", { d: "M4 7h16", key: "6tx8e3" }],
  ["path", { d: "m16 21 4-4-4-4", key: "siv7j2" }],
  ["path", { d: "M20 17H4", key: "h6l3hr" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Zp = Dt("calendar", [
  ["path", { d: "M8 2v4", key: "1cmpym" }],
  ["path", { d: "M16 2v4", key: "4m81vk" }],
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
  ["path", { d: "M3 10h18", key: "8toen8" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Jp = Dt("check", [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Qp = Dt("chevron-down", [
  ["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const ev = Dt("chevron-left", [
  ["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const tv = Dt("chevron-right", [
  ["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const nv = Dt("chevron-up", [
  ["path", { d: "m18 15-6-6-6 6", key: "153udz" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const lv = Dt("chevrons-left", [
  ["path", { d: "m11 17-5-5 5-5", key: "13zhaf" }],
  ["path", { d: "m18 17-5-5 5-5", key: "h8a8et" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const av = Dt("chevrons-right", [
  ["path", { d: "m6 17 5-5-5-5", key: "xnjwq" }],
  ["path", { d: "m13 17 5-5-5-5", key: "17xmmf" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const rv = Dt("circle-alert", [
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const ov = Dt("circle-check", [
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const sv = Dt("circle-help", [
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
  ["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
  ["path", { d: "M12 17h.01", key: "p32p05" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const eu = Dt("circle-x", [
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
  ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
  ["path", { d: "m9 9 6 6", key: "z0biqf" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const iv = Dt("clock", [
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
  ["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const uv = Dt("cloud-upload", [
  ["path", { d: "M12 13v8", key: "1l5pq0" }],
  ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }],
  ["path", { d: "m8 17 4-4 4 4", key: "1quai1" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const cv = Dt("ellipsis", [
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
  ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
  ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const dv = Dt("eye-off", [
  [
    "path",
    {
      d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
      key: "ct8e1f"
    }
  ],
  ["path", { d: "M14.084 14.158a3 3 0 0 1-4.242-4.242", key: "151rxh" }],
  [
    "path",
    {
      d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",
      key: "13bj9a"
    }
  ],
  ["path", { d: "m2 2 20 20", key: "1ooewy" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const tu = Dt("eye", [
  [
    "path",
    {
      d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
      key: "1nclc0"
    }
  ],
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const fv = Dt("file-archive", [
  ["path", { d: "M10 12v-1", key: "v7bkov" }],
  ["path", { d: "M10 18v-2", key: "1cjy8d" }],
  ["path", { d: "M10 7V6", key: "dljcrl" }],
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
  [
    "path",
    { d: "M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01", key: "gkbcor" }
  ],
  ["circle", { cx: "10", cy: "20", r: "2", key: "1xzdoj" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const pv = Dt("file-code", [
  ["path", { d: "M10 12.5 8 15l2 2.5", key: "1tg20x" }],
  ["path", { d: "m14 12.5 2 2.5-2 2.5", key: "yinavb" }],
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const vv = Dt("file-image", [
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
  ["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }],
  ["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const hv = Dt("file-music", [
  ["path", { d: "M10.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v8.4", key: "1d3kfm" }],
  ["path", { d: "M8 18v-7.7L16 9v7", key: "1oie6o" }],
  ["circle", { cx: "14", cy: "16", r: "2", key: "1bzzi3" }],
  ["circle", { cx: "6", cy: "18", r: "2", key: "1fncim" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const mv = Dt("file-text", [
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
  ["path", { d: "M10 9H8", key: "b1mrlr" }],
  ["path", { d: "M16 13H8", key: "t4e002" }],
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const bv = Dt("file-video", [
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
  ["path", { d: "m10 11 5 3-5 3v-6Z", key: "7ntvm4" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const gv = Dt("file", [
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const yv = Dt("flip-horizontal", [
  ["path", { d: "M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3", key: "1i73f7" }],
  ["path", { d: "M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3", key: "saxlbk" }],
  ["path", { d: "M12 20v2", key: "1lh1kg" }],
  ["path", { d: "M12 14v2", key: "8jcxud" }],
  ["path", { d: "M12 8v2", key: "1woqiv" }],
  ["path", { d: "M12 2v2", key: "tus03m" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const kv = Dt("flip-vertical", [
  ["path", { d: "M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3", key: "14bfxa" }],
  ["path", { d: "M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3", key: "14rx03" }],
  ["path", { d: "M4 12H2", key: "rhcxmi" }],
  ["path", { d: "M10 12H8", key: "s88cx1" }],
  ["path", { d: "M16 12h-2", key: "10asgb" }],
  ["path", { d: "M22 12h-2", key: "14jgyd" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const wv = Dt("fullscreen", [
  ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }],
  ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }],
  ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }],
  ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }],
  ["rect", { width: "10", height: "8", x: "7", y: "8", rx: "1", key: "vys8me" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const xv = Dt("funnel", [
  [
    "path",
    {
      d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
      key: "sc7q7i"
    }
  ]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Sv = Dt("grip-vertical", [
  ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }],
  ["circle", { cx: "9", cy: "5", r: "1", key: "hp0tcf" }],
  ["circle", { cx: "9", cy: "19", r: "1", key: "fkjjf6" }],
  ["circle", { cx: "15", cy: "12", r: "1", key: "1tmaij" }],
  ["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }],
  ["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Cv = Dt("image", [
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
  ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
  ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Tv = Dt("indent-decrease", [
  ["path", { d: "M21 12H11", key: "wd7e0v" }],
  ["path", { d: "M21 18H11", key: "4wu86t" }],
  ["path", { d: "M21 6H11", key: "6dy1d6" }],
  ["path", { d: "m7 8-4 4 4 4", key: "o5hrat" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const $v = Dt("indent-increase", [
  ["path", { d: "M21 12H11", key: "wd7e0v" }],
  ["path", { d: "M21 18H11", key: "4wu86t" }],
  ["path", { d: "M21 6H11", key: "6dy1d6" }],
  ["path", { d: "m3 8 4 4-4 4", key: "1a3j6y" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Ev = Dt("info", [
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
  ["path", { d: "M12 16v-4", key: "1dtifu" }],
  ["path", { d: "M12 8h.01", key: "e9boi3" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Av = Dt("loader-circle", [
  ["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Rv = Dt("log-out", [
  ["path", { d: "m16 17 5-5-5-5", key: "1bji2h" }],
  ["path", { d: "M21 12H9", key: "dn1m92" }],
  ["path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4", key: "1uf3rs" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Mv = Dt("maximize", [
  ["path", { d: "M8 3H5a2 2 0 0 0-2 2v3", key: "1dcmit" }],
  ["path", { d: "M21 8V5a2 2 0 0 0-2-2h-3", key: "1e4gt3" }],
  ["path", { d: "M3 16v3a2 2 0 0 0 2 2h3", key: "wsl5sc" }],
  ["path", { d: "M16 21h3a2 2 0 0 0 2-2v-3", key: "18trek" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Pv = Dt("message-circle-question", [
  ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }],
  ["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
  ["path", { d: "M12 17h.01", key: "p32p05" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const zv = Dt("minimize", [
  ["path", { d: "M8 3v3a2 2 0 0 1-2 2H3", key: "hohbtr" }],
  ["path", { d: "M21 8h-3a2 2 0 0 1-2-2V3", key: "5jw1f3" }],
  ["path", { d: "M3 16h3a2 2 0 0 1 2 2v3", key: "198tvr" }],
  ["path", { d: "M16 21v-3a2 2 0 0 1 2-2h3", key: "ph8mxp" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Lv = Dt("minus", [["path", { d: "M5 12h14", key: "1ays0h" }]]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Fv = Dt("moon", [
  ["path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z", key: "a7tn18" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const nu = Dt("pause", [
  ["rect", { x: "14", y: "4", width: "4", height: "16", rx: "1", key: "zuxfzm" }],
  ["rect", { x: "6", y: "4", width: "4", height: "16", rx: "1", key: "1okwgv" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Iv = Dt("picture-in-picture", [
  ["path", { d: "M2 10h6V4", key: "zwrco" }],
  ["path", { d: "m2 4 6 6", key: "ug085t" }],
  ["path", { d: "M21 10V7a2 2 0 0 0-2-2h-7", key: "git5jr" }],
  ["path", { d: "M3 14v2a2 2 0 0 0 2 2h3", key: "1f7fh3" }],
  ["rect", { x: "12", y: "14", width: "10", height: "7", rx: "1", key: "1wjs3o" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const lu = Dt("play", [
  ["polygon", { points: "6 3 20 12 6 21 6 3", key: "1oa8hb" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Nv = Dt("plus", [
  ["path", { d: "M5 12h14", key: "1ays0h" }],
  ["path", { d: "M12 5v14", key: "s699le" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Dv = Dt("refresh-cw", [
  ["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
  ["path", { d: "M21 3v5h-5", key: "1q7to0" }],
  ["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
  ["path", { d: "M8 16H3v5", key: "1cv678" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Ov = Dt("repeat-2", [
  ["path", { d: "m2 9 3-3 3 3", key: "1ltn5i" }],
  ["path", { d: "M13 18H7a2 2 0 0 1-2-2V6", key: "1r6tfw" }],
  ["path", { d: "m22 15-3 3-3-3", key: "4rnwn2" }],
  ["path", { d: "M11 6h6a2 2 0 0 1 2 2v10", key: "2f72bc" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const _v = Dt("rotate-ccw", [
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Bv = Dt("rotate-cw", [
  ["path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8", key: "1p45f6" }],
  ["path", { d: "M21 3v5h-5", key: "1q7to0" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Hv = Dt("search", [
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Vv = Dt("siren", [
  ["path", { d: "M7 18v-6a5 5 0 1 1 10 0v6", key: "pcx96s" }],
  [
    "path",
    { d: "M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z", key: "1b4s83" }
  ],
  ["path", { d: "M21 12h1", key: "jtio3y" }],
  ["path", { d: "M18.5 4.5 18 5", key: "g5sp9y" }],
  ["path", { d: "M2 12h1", key: "1uaihz" }],
  ["path", { d: "M12 2v1", key: "11qlp1" }],
  ["path", { d: "m4.929 4.929.707.707", key: "1i51kw" }],
  ["path", { d: "M12 12v6", key: "3ahymv" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const jv = Dt("skip-back", [
  ["polygon", { points: "19 20 9 12 19 4 19 20", key: "o2sva" }],
  ["line", { x1: "5", x2: "5", y1: "19", y2: "5", key: "1ocqjk" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Wv = Dt("skip-forward", [
  ["polygon", { points: "5 4 15 12 5 20 5 4", key: "16p6eg" }],
  ["line", { x1: "19", x2: "19", y1: "5", y2: "19", key: "futhcm" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Kv = Dt("square-minus", [
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
  ["path", { d: "M8 12h8", key: "1wcyev" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Uv = Dt("square-plus", [
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
  ["path", { d: "M8 12h8", key: "1wcyev" }],
  ["path", { d: "M12 8v8", key: "napkw2" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Xv = Dt("sun", [
  ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }],
  ["path", { d: "M12 2v2", key: "tus03m" }],
  ["path", { d: "M12 20v2", key: "1lh1kg" }],
  ["path", { d: "m4.93 4.93 1.41 1.41", key: "149t6j" }],
  ["path", { d: "m17.66 17.66 1.41 1.41", key: "ptbguv" }],
  ["path", { d: "M2 12h2", key: "1t8f8n" }],
  ["path", { d: "M20 12h2", key: "1q8mjw" }],
  ["path", { d: "m6.34 17.66-1.41 1.41", key: "1m8zz5" }],
  ["path", { d: "m19.07 4.93-1.41 1.41", key: "1shlcs" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Yv = Dt("trash-2", [
  ["path", { d: "M3 6h18", key: "d0wm0j" }],
  ["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
  ["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }],
  ["line", { x1: "10", x2: "10", y1: "11", y2: "17", key: "1uufr5" }],
  ["line", { x1: "14", x2: "14", y1: "11", y2: "17", key: "xtxkd" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const qv = Dt("upload", [
  ["path", { d: "M12 3v12", key: "1x0j5s" }],
  ["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }],
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Gv = Dt("user-round", [
  ["circle", { cx: "12", cy: "8", r: "5", key: "1hypcn" }],
  ["path", { d: "M20 21a8 8 0 0 0-16 0", key: "rfgkzh" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Zv = Dt("volume-1", [
  [
    "path",
    {
      d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
      key: "uqj9uw"
    }
  ],
  ["path", { d: "M16 9a5 5 0 0 1 0 6", key: "1q6k2b" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Jv = Dt("volume-2", [
  [
    "path",
    {
      d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
      key: "uqj9uw"
    }
  ],
  ["path", { d: "M16 9a5 5 0 0 1 0 6", key: "1q6k2b" }],
  ["path", { d: "M19.364 18.364a9 9 0 0 0 0-12.728", key: "ijwkga" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const Qv = Dt("volume-x", [
  [
    "path",
    {
      d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
      key: "uqj9uw"
    }
  ],
  ["line", { x1: "22", x2: "16", y1: "9", y2: "15", key: "1ewh16" }],
  ["line", { x1: "16", x2: "22", y1: "9", y2: "15", key: "5ykzw1" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const eh = Dt("x", [
  ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
  ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const th = Dt("zoom-in", [
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
  ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
  ["line", { x1: "11", x2: "11", y1: "8", y2: "14", key: "1vmskp" }],
  ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
]);
/**
 * @license lucide-vue-next v0.511.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const nh = Dt("zoom-out", [
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
  ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
  ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
]), co = "__vxp-provided-icons", Wc = {
  loading: [Av, { effect: "spin-in" }],
  clear: eu,
  close: eh,
  calendar: Zp,
  clock: iv,
  exchange: Gp,
  angleUp: nv,
  angleRight: tv,
  angleDown: Qp,
  angleLeft: ev,
  anglesRight: av,
  anglesLeft: lv,
  retweet: Ov,
  refresh: Dv,
  filter: xv,
  ellipsis: cv,
  upload: qv,
  uploadCloud: uv,
  check: Jp,
  help: sv,
  alert: Vv,
  question: Pv,
  info: Ev,
  success: ov,
  warning: rv,
  error: eu,
  delete: Yv,
  preview: tu,
  image: Cv,
  plus: Nv,
  minus: Lv,
  plusSquare: Uv,
  minusSquare: Kv,
  cipherText: dv,
  plainText: tu,
  user: Gv,
  light: Xv,
  dark: Fv,
  signOut: Rv,
  indent: $v,
  outdent: Tv,
  search: Hv,
  rotateRight: Bv,
  rotateLeft: _v,
  flipX: yv,
  flipY: kv,
  zoomIn: th,
  zoonOut: nh,
  fullScreen: Mv,
  resetScreen: zv,
  dragger: Sv,
  file: gv,
  fileText: mv,
  fileCode: pv,
  fileImage: vv,
  fileAudio: hv,
  fileVideo: bv,
  fileZip: fv,
  volume: Jv,
  volumeLow: Zv,
  volumeMute: Qv,
  play: lu,
  pause: nu,
  fullWindow: wv,
  pip: Iv,
  playState: lu,
  pauseState: nu,
  playPrev: jv,
  playNext: Wv
}, Kc = Object.freeze(Object.keys(Wc)), Ps = g(() => {
  const t = {};
  for (const r of Kc) {
    const [l, a = {}] = ur(Wc[r]);
    t[r] = { ...a, icon: l };
  }
  return t;
});
function oi(t, r) {
  const l = r || !sr() ? Ps : Et(co, null), a = g(() => {
    const n = {}, o = e(t);
    for (const s of Kc) {
      const c = o[s];
      if (!c)
        n[s] = (l == null ? void 0 : l.value[s]) || Ps.value[s];
      else {
        const [d, p = {}] = ur(c), m = typeof d == "function" ? d : Nr(d);
        n[s] = { ...p, icon: m };
      }
    }
    return n;
  });
  r ? r.provide(co, a) : nn(co, a);
}
function Gt() {
  return Et(co, Ps);
}
const Oa = (t) => `--${t}`, us = (t) => `var(--${t})`, cs = (t, r) => `--${t}: ${r};`;
function lh(t, r) {
  if (!r)
    return {
      b: () => `${t}`,
      be: (a) => `${t}__${a}`,
      bm: (a) => `${t}--${a}`,
      bem: (a, n) => `${t}__${a}--${n}`,
      bs: (a) => `${t}-${a}`,
      cb: () => `.${t}`,
      cbe: (a) => `.${t}__${a}`,
      cbm: (a) => `.${t}--${a}`,
      cbem: (a, n) => `.${t}__${a}--${n}`,
      cbs: (a) => `.${t}-${a}`,
      cv: (a) => Oa(`${t}-${a}`),
      cvm: (a, n = {}) => {
        for (const o of Object.keys(a))
          n[Oa(`${t}-${o}`)] = a[o];
        return n;
      },
      gcv: (a) => us(`${t}-${a}`),
      scv: (a, n) => cs(`${t}-${a}`, n)
    };
  const l = (a) => typeof r == "function" ? r(a) : r;
  return {
    b: () => `${l()}-${t}`,
    be: (a) => `${l()}-${t}__${a}`,
    bm: (a) => `${l()}-${t}--${a}`,
    bem: (a, n) => `${l()}-${t}__${a}--${n}`,
    bs: (a) => `${l()}-${t}-${a}`,
    ns: (a) => `${l()}-${a}`,
    cb: () => `.${l()}-${t}`,
    cbe: (a) => `.${l()}-${t}__${a}`,
    cbm: (a) => `.${l()}-${t}--${a}`,
    cbem: (a, n) => `.${l()}-${t}__${a}--${n}`,
    cbs: (a) => `.${l()}-${t}-${a}`,
    cns: (a) => `.${l()}-${a}`,
    cv: (a) => Oa(`${l(!0)}-${t}-${a}`),
    cvm: (a, n = {}) => {
      const o = l(!0);
      for (const s of Object.keys(a))
        n[Oa(`${o}-${t}-${s}`)] = a[s];
      return n;
    },
    gcv: (a) => us(`${l(!0)}-${t}-${a}`),
    scv: (a, n) => cs(`${l(!0)}-${t}-${a}`, n),
    nv: (a) => Oa(`${l(!0)}-${a}`),
    nvm: (a, n = {}) => {
      const o = l(!0);
      for (const s of Object.keys(a))
        n[Oa(`${o}-${s}`)] = a[s];
      return n;
    },
    gnv: (a) => us(`${l(!0)}-${a}`),
    snv: (a, n) => cs(`${l(!0)}-${a}`, n)
  };
}
const fo = "__vxp-provided-namespace", zs = g(() => "vxp");
function ah(t, r) {
  if (r) {
    const l = g(() => e(t) || zs.value);
    r.provide(fo, l);
  } else {
    const l = Et(fo, null), a = g(() => e(t) || (l == null ? void 0 : l.value) || zs.value);
    nn(fo, a);
  }
}
function Uc() {
  return Et(fo, zs);
}
function Ye(t, r = Uc()) {
  return lh(t, (l) => l ? "vxp" : e(r));
}
const rh = "__vxp-provided-id-counter";
class oh {
  constructor({ current: r = 0 } = {}) {
    Rt(this, "current");
    this.current = r;
  }
  getNext() {
    return this.current++;
  }
}
const au = new oh();
function Zl(t) {
  const r = Uc(), l = _l() ? Et(rh, au) : au, a = oa();
  return In(
    () => {
      a.value = e(t) || `${r.value}-id-${l.getNext()}`;
    },
    { flush: "sync" }
  ), cc(a);
}
const po = "__vxp-provided-props", sh = /^on[A-Z]/;
function si(t, r) {
  if (r)
    r.provide(
      po,
      g(() => e(t))
    );
  else {
    const l = Et(po, null), a = g(() => l != null && l.value ? Ga(l.value, e(t)) : e(t));
    nn(po, a);
  }
}
function ct(t, r, l = {}) {
  const a = Et(
    po,
    null
  ), n = g(() => {
    var d;
    return ((d = a == null ? void 0 : a.value) == null ? void 0 : d.default) ?? {};
  }), o = g(() => {
    var d;
    return ((d = a == null ? void 0 : a.value) == null ? void 0 : d[t]) ?? {};
  }), s = Object.keys(r), c = {};
  return s.forEach((d) => {
    const p = l[d], m = pl(p) && ei(p, "default") ? p : { default: p }, b = on(m.validator) ? m.validator : null, f = m.default, u = Tt(m.isFunc) ? sh.test(String(d)) : m.isFunc, h = (v) => !u && on(v) ? v() : v, i = () => !u && on(f) ? f() : f;
    (m.required || b) && le(
      () => r[d],
      (v) => {
        if (Tt(v)) {
          m.required && console.warn(`${ru(t)}: '${d}' prop is required but not set`);
          return;
        } else if (!b)
          return;
        b(v) === !1 && console.warn(
          `${ru(t)}: an invalid value is set to '${d}' prop`
        );
      },
      { immediate: !0 }
    ), m.static ? c[d] = g(() => r[d] ?? i()) : c[d] = g(() => Tt(r[d]) ? Tt(o.value[d]) ? Tt(n.value[d]) ? i() : h(n.value[d]) : h(o.value[d]) : r[d]);
  }), pt(c);
}
function ru(t) {
  return `[vexip-ui:${t.charAt(0).toLocaleUpperCase() + t.substring(1)}]`;
}
const M = {
  type: Boolean,
  default: null
}, hn = {
  type: [Boolean, String],
  default: null
}, La = {
  type: [Boolean, Number],
  default: null
};
function Jl(t) {
  return Object.freeze(t);
}
function ft(t) {
  return Object.freeze({ ...{
    inherit: M
  }, ...t });
}
function jo(t, r, l) {
  const a = new Set(r);
  return Object.freeze(
    Object.assign(
      Object.keys(t).reduce((n, o) => (a.has(o) || (n[o] = t[o]), n), {}),
      {}
    )
  );
}
const An = String, ih = ["small", "default", "large"], uh = (t) => ih.includes(t);
function On(t = "default") {
  return {
    default: () => e(t),
    validator: uh
  };
}
const Zn = String, ch = ["default", "success", "error", "warning"], dh = (t) => ch.includes(t);
function ll(t = "default") {
  return {
    default: () => e(t),
    validator: dh
  };
}
const Bn = [String, Object, Array], kl = [String, Object, Array], fh = [Function, Array];
function B() {
  return fh;
}
function _(t, ...r) {
  if (Array.isArray(t))
    for (let l = 0, a = t.length; l < a; ++l) {
      const n = t[l];
      typeof n == "function" && n(...r);
    }
  else
    typeof t == "function" && t(...r);
}
function Mn(t) {
  return Object;
}
const Eo = {
  type: [String, Number, Boolean],
  default: null
}, ph = {
  type: [String, Number, Boolean, Array],
  default: null
}, Xt = [Object, Function];
function en(t = null) {
  return {
    isFunc: !0,
    default: t
  };
}
const vo = "___vxp-provided-z-index";
let Xc = 2e3;
if (zt) {
  const t = getComputedStyle(document.documentElement), r = parseFloat(t.getPropertyValue("--vxp-z-index-popup").trim());
  Number.isNaN(r) || (Xc = r);
}
const vh = {
  current: 0
}, wr = g(() => Xc);
function ds(t, r) {
  return dn(t) && !Number.isNaN(t) ? t : r;
}
function ii(t, r) {
  if (r) {
    const l = g(() => {
      const a = e(t);
      return ds(a, wr.value);
    });
    r.provide(vo, l);
  } else {
    const l = Et(vo, null), a = g(() => {
      const n = e(t);
      return ds(
        n,
        l ? ds(l.value, wr.value) : wr.value
      );
    });
    nn(vo, a);
  }
}
function Or() {
  const t = _l() ? Et(vo, wr) : wr;
  return () => t.value + vh.current++;
}
const hh = ft({
  icon: Xt,
  scale: [Number, String],
  title: String,
  label: String,
  flip: String,
  effect: String,
  size: String,
  color: String,
  rotate: [Number, String],
  renderer: Function
}), mh = Object.freeze(["spin-in", "spin-out", "pulse-in", "pulse-out"]), bh = /(^\s*[+-]?\d*\.?\d+\s*)(deg|grad|turn|rad)?\s*/i, Oe = /* @__PURE__ */ Xe({
  name: "Icon",
  props: hh,
  setup(t, {
    attrs: r,
    slots: l
  }) {
    const a = ct("icon", t, {
      icon: {
        isFunc: !0,
        default: null,
        static: !0
      },
      scale: 1,
      title: null,
      label: null,
      flip: {
        default: null,
        validator: (m) => ["horizontal", "vertical", "both"].includes(m)
      },
      effect: null,
      size: null,
      color: null,
      rotate: null,
      renderer: {
        default: null,
        isFunc: !0
      }
    }), n = Ye("icon"), o = g(() => {
      let m = "";
      return a.effect && (m = mh.includes(a.effect) ? n.bm(a.effect) : a.effect), {
        [n.b()]: !0,
        [n.bm(`flip-${a.flip}`)]: a.flip,
        [m]: m
      };
    }), s = g(() => rn(a.scale) || 1), c = g(() => {
      var f;
      if (typeof a.rotate == "number")
        return `${a.rotate % 4 / 4}turn`;
      const m = (f = a.rotate) == null ? void 0 : f.match(bh);
      if (!m) return null;
      const b = rn(m[1]);
      return m[2] ? b ? `${b}${m[2]}` : null : `${b % 4 / 4}turn`;
    }), d = g(() => {
      const m = {
        color: a.color
      };
      return a.size ? m.fontSize = a.size : s.value !== 1 && (m.fontSize = `${s.value}em`), c.value && (m[n.cv("rotate")] = c.value), m;
    });
    function p() {
      const m = {
        class: o.value,
        style: d.value,
        title: a.title,
        role: r.role || (a.label || a.title ? "img" : void 0),
        "aria-label": a.label,
        "aria-hidden": !(a.label || a.title)
      };
      return l.default ? y("i", m, [y("g", null, [W(l, "default")])]) : a.icon ? y("i", m, [y("g", null, [Jn(a.icon)])]) : y("i", m, null);
    }
    return () => typeof a.renderer == "function" ? a.renderer(a, r, p) : p();
  }
}), gh = Jl({
  renderer: {
    type: Function,
    default: null
  },
  data: {
    type: Object,
    default: void 0
  }
}), me = Xe({
  name: "Renderer",
  props: gh,
  setup(t, { slots: r }) {
    return () => typeof t.renderer != "function" ? W(r, "default", t.data) : t.renderer(t.data);
  }
}), yh = ft({
  active: M,
  icon: Xt,
  inner: M,
  delay: {
    type: [Boolean, Number, Array],
    default: null
  },
  tip: String,
  hideMask: M,
  maskColor: String,
  maskClass: Bn,
  transitionName: String,
  iconEffect: String,
  slots: Object,
  onMaskClick: B(),
  onShow: B(),
  onHide: B()
}), kh = ["aria-busy"], ui = /* @__PURE__ */ Xe({
  name: "Spin",
  __name: "spin",
  props: yh,
  setup(t, { expose: r }) {
    const l = Ye("spin"), n = ct("spin", t, {
      active: {
        default: !1,
        static: !0
      },
      icon: en(),
      inner: !1,
      delay: !1,
      tip: "",
      hideMask: !1,
      maskColor: "",
      maskClass: null,
      transitionName: () => l.ns("fade"),
      iconEffect: null,
      slots: () => ({})
    }), o = kn(), s = Gt(), c = $(n.active), d = g(() => !!(n.tip || o.tip)), p = g(() => {
      const i = {};
      return n.maskColor && (i[l.cv("mask-bg-color")] = n.maskColor), i;
    }), m = g(() => {
      if (n.delay) {
        if (n.delay === !0)
          return { enter: 500, leave: 500 };
        if (typeof n.delay == "number")
          return { enter: n.delay, leave: n.delay };
        if (Array.isArray(n.delay))
          return { enter: rn(n.delay[0]), leave: rn(n.delay[1]) };
      }
      return { enter: 0, leave: 0 };
    });
    let b;
    le(
      () => n.active,
      (i) => {
        clearTimeout(b);
        const v = i ? m.value.enter : m.value.leave;
        v ? b = setTimeout(() => {
          c.value = i;
        }, v) : c.value = i;
      }
    ), r({
      currentActive: c,
      hasTip: d,
      handleShow: u,
      handleHide: h
    });
    function f(i) {
      _(n.onMaskClick, i);
    }
    function u() {
      _(n.onShow);
    }
    function h() {
      _(n.onHide);
    }
    return (i, v) => e(n).inner ? (S(), Be(En, {
      key: 1,
      appear: "",
      name: e(n).transitionName,
      onAfterEnter: u,
      onAfterLeave: h
    }, {
      default: X(() => [
        c.value ? (S(), D("div", {
          key: 0,
          class: x([e(l).b(), e(l).bs("vars"), e(l).bm("inner")])
        }, [
          e(n).hideMask ? ge("", !0) : (S(), D("div", {
            key: 0,
            class: x([e(l).be("mask"), e(n).maskClass]),
            style: Qe(p.value),
            onClick: f
          }, null, 6)),
          W(i.$slots, "content", {}, () => [
            y(e(me), {
              renderer: e(n).slots.content
            }, {
              default: X(() => [
                oe("div", {
                  class: x(e(l).be("icon"))
                }, [
                  W(i.$slots, "icon", {}, () => [
                    y(e(me), {
                      renderer: e(n).slots.icon
                    }, {
                      default: X(() => [
                        y(e(Oe), He(e(s).loading, {
                          icon: e(n).icon || e(s).loading.icon,
                          effect: e(n).iconEffect || e(s).loading.effect,
                          label: "loading"
                        }), null, 16, ["icon", "effect"])
                      ]),
                      _: 1
                    }, 8, ["renderer"])
                  ])
                ], 2),
                d.value ? (S(), D("div", {
                  key: 0,
                  class: x(e(l).be("tip"))
                }, [
                  W(i.$slots, "tip", {}, () => [
                    y(e(me), {
                      renderer: e(n).slots.tip
                    }, {
                      default: X(() => [
                        dt(ze(e(n).tip), 1)
                      ]),
                      _: 1
                    }, 8, ["renderer"])
                  ])
                ], 2)) : ge("", !0)
              ]),
              _: 3
            }, 8, ["renderer"])
          ])
        ], 2)) : ge("", !0)
      ]),
      _: 3
    }, 8, ["name"])) : (S(), D("div", {
      key: 0,
      class: x([e(l).b(), e(l).bs("vars"), e(n).inherit && e(l).bm("inherit")]),
      "aria-busy": c.value ? "true" : void 0
    }, [
      W(i.$slots, "default", {}, () => [
        y(e(me), {
          renderer: e(n).slots.default
        }, null, 8, ["renderer"])
      ]),
      y(En, {
        appear: "",
        name: e(n).transitionName,
        onAfterEnter: u,
        onAfterLeave: h
      }, {
        default: X(() => [
          c.value ? (S(), D("div", {
            key: 0,
            class: x(e(l).be("loading"))
          }, [
            e(n).hideMask ? ge("", !0) : (S(), D("div", {
              key: 0,
              class: x([e(l).be("mask"), e(n).maskClass]),
              style: Qe(p.value),
              onClick: f
            }, null, 6)),
            W(i.$slots, "content", {}, () => [
              y(e(me), {
                renderer: e(n).slots.content
              }, {
                default: X(() => [
                  oe("div", {
                    class: x(e(l).be("icon"))
                  }, [
                    W(i.$slots, "icon", {}, () => [
                      y(e(me), {
                        renderer: e(n).slots.icon
                      }, {
                        default: X(() => [
                          y(e(Oe), He(e(s).loading, {
                            icon: e(n).icon || e(s).loading.icon,
                            effect: e(n).iconEffect || e(s).loading.effect,
                            label: "loading"
                          }), null, 16, ["icon", "effect"])
                        ]),
                        _: 1
                      }, 8, ["renderer"])
                    ])
                  ], 2),
                  d.value ? (S(), D("div", {
                    key: 0,
                    class: x(e(l).be("tip"))
                  }, [
                    W(i.$slots, "tip", {}, () => [
                      y(e(me), {
                        renderer: e(n).slots.tip
                      }, {
                        default: X(() => [
                          dt(ze(e(n).tip), 1)
                        ]),
                        _: 1
                      }, 8, ["renderer"])
                    ])
                  ], 2)) : ge("", !0)
                ]),
                _: 3
              }, 8, ["renderer"])
            ])
          ], 2)) : ge("", !0)
        ]),
        _: 3
      }, 8, ["name"])
    ], 10, kh));
  }
});
function ou(t, r, l) {
  var s;
  const a = pl(r.value) ? { ...r.value } : { active: r.value };
  a.inner = !0;
  const n = y(ui, a, null, 0, Object.keys(a)), o = getComputedStyle(t).position;
  n.appContext = l.appContext ?? ((s = l.ctx) == null ? void 0 : s.appContext), t.__loading = {
    spin: n,
    props: a,
    originPosition: o
  }, o === "static" && (t.style.position = "relative"), sl(n, t);
}
const wh = {
  mounted(t, r, l) {
    kt(() => ou(t, r, l));
  },
  updated(t, r, l) {
    kt(() => {
      if (!t.__loading) {
        ou(t, r, l);
        return;
      }
      const a = pl(r.value) ? r.value : { active: r.value }, n = t.__loading.spin.component;
      n && (Object.keys(a).forEach((o) => {
        n.props[o] = a[o];
      }), n.props.inner = !0);
    });
  },
  beforeUnmount(t) {
    t.__loading && (sl(null, t), delete t.__loading);
  }
};
function Dn(t, r, l, a) {
  if (!t)
    return Qt;
  const n = g(() => typeof a == "boolean" ? { capture: a } : a || {});
  let o = Qt;
  const s = le(
    () => e(t),
    (d) => {
      if (o(), !d)
        return;
      const { disabled: p, ...m } = n.value, b = (f) => {
        e(p) || l(f);
      };
      d.addEventListener(r, b, m), o = () => {
        d.removeEventListener(r, b, m), o = Qt;
      };
    },
    { immediate: !0, flush: "post" }
  ), c = () => {
    s(), o();
  };
  return sr() && ca(c), c;
}
const Yc = "clickoutside", Ls = /* @__PURE__ */ new Set();
zt && document.addEventListener(
  xp,
  (t) => {
    const r = t.target, l = t.composedPath && t.composedPath();
    Ls.forEach((a) => {
      a !== r && (l ? !l.includes(a) : !a.contains(r)) && (!a.__transferElement || a.__transferElement !== r && !a.__transferElement.contains(r)) && Cp(a, { type: Yc });
    });
  },
  !0
);
function Hl(t, r = $(null)) {
  let l = Qt;
  const a = le(
    () => e(r),
    (o) => {
      l(), o && (Ls.add(o), l = () => {
        Ls.delete(o), l = Qt;
      });
    },
    { immediate: !0, flush: "post" }
  ), n = () => {
    a(), l();
  };
  return sr() && ca(n), Dn(r, Yc, t), r;
}
function Wo(t = Qt, r = $(null)) {
  let l;
  return sn(() => {
    kt(() => {
      const a = qc(r.value);
      a ? (l = new MutationObserver(() => {
        a.style.display !== "none" && (typeof t == "function" && t(), l == null || l.disconnect(), l = null);
      }), l.observe(a, {
        attributes: !0,
        childList: !0,
        characterData: !0,
        attributeFilter: ["style"]
      })) : typeof t == "function" && t();
    });
  }), pn(() => {
    l == null || l.disconnect(), l = null;
  }), r;
}
function qc(t) {
  if (t) {
    let r = t.parentElement;
    for (; r && r !== document.body; ) {
      if (r.style.display === "none")
        return r;
      r = r.parentElement;
    }
  }
  return null;
}
function Fs(t) {
  return (t == null ? void 0 : t.style.display) !== "none" ? !!qc(t) : !0;
}
function Yn(t, r, l) {
  for (const a of r)
    if (t[a])
      return (n) => W(t, a, n, () => {
        const o = l == null ? void 0 : l(n);
        return o ? ur(o) : [];
      });
  return l || null;
}
function Gc(t) {
  const r = [], l = Array.isArray(t) ? [...t] : [];
  for (; l.length; ) {
    const a = l.shift();
    a !== null && (Array.isArray(a) && l.unshift(...a), !(typeof a != "string" && typeof a != "number" && (!hl(a) || a.type === Af)) && (typeof a == "string" || typeof a == "number" ? r.push(dt(String(a))) : a.type === st && Array.isArray(a.children) ? l.unshift(a.children) : r.push(a)));
  }
  return r;
}
function El(t) {
  const r = e(t);
  return typeof r == "string" ? zt ? document.querySelector(r) : null : (r == null ? void 0 : r.$el) ?? r;
}
function Fa(t) {
  return new Proxy({}, {
    get(r, l) {
      var a, n, o;
      if (t.component)
        return ((a = t.component.proxy) == null ? void 0 : a[l]) ?? ((n = t.component.exposeProxy) == null ? void 0 : n[l]) ?? ((o = t.component.exposed) == null ? void 0 : o[l]);
    }
  });
}
const xh = [
  [
    "requestFullscreen",
    "exitFullscreen",
    "fullscreenElement",
    "fullscreenEnabled",
    "fullscreenchange",
    "fullscreenerror"
  ],
  // New WebKit
  [
    "webkitRequestFullscreen",
    "webkitExitFullscreen",
    "webkitFullscreenElement",
    "webkitFullscreenEnabled",
    "webkitfullscreenchange",
    "webkitfullscreenerror"
  ],
  // Old WebKit
  [
    "webkitRequestFullScreen",
    "webkitCancelFullScreen",
    "webkitCurrentFullScreenElement",
    "webkitCancelFullScreen",
    "webkitfullscreenchange",
    "webkitfullscreenerror"
  ],
  [
    "mozRequestFullScreen",
    "mozCancelFullScreen",
    "mozFullScreenElement",
    "mozFullScreenEnabled",
    "mozfullscreenchange",
    "mozfullscreenerror"
  ],
  [
    "msRequestFullscreen",
    "msExitFullscreen",
    "msFullscreenElement",
    "msFullscreenEnabled",
    "MSFullscreenChange",
    "MSFullscreenError"
  ]
];
let Za;
if (zt) {
  for (const t of xh)
    if (t[1] in document) {
      Za = t;
      break;
    }
}
const Is = !!Za, Sh = {
  supported: Is,
  full: g(() => !1),
  enter: Qt,
  exit: Qt,
  toggle: Qt
}, Zc = /* @__PURE__ */ new Set(), Ns = /* @__PURE__ */ new WeakMap();
if (zt && Za) {
  const t = Za[2], r = Za[4];
  document.addEventListener(
    r,
    () => {
      if (Zc.forEach((l) => {
        l.value = !1;
      }), document[t]) {
        const l = Ns.get(document[t]);
        l && (l.value = !0);
      }
    },
    !1
  );
}
function Jc(t = $(null)) {
  const r = g({
    get: () => El(t),
    set: (p) => {
      Xa(t) && (t.value = p);
    }
  });
  if (!zt || !Is)
    return { ...Sh, target: r };
  const [l, a, n] = Za, o = $(!1);
  le(
    () => El(t),
    (p, m) => {
      m && Ns.delete(m), p && Ns.set(p, o);
    },
    { immediate: !0, flush: "post" }
  ), Zc.add(o), sr() && ca(c);
  async function s(p = !1) {
    await c();
    const m = El(t);
    return m && (p || !document[n]) ? (await m[l](), o.value = !0, document[n] === m) : !1;
  }
  async function c(p = !1) {
    const m = El(t);
    return p || document[n] && document[n] === m ? (await document[a](), o.value = !1, document[n] !== m) : !1;
  }
  async function d(p = !1) {
    return o.value ? await c(p) : await s(p);
  }
  return {
    supported: Is,
    target: r,
    full: g(() => o.value),
    enter: s,
    exit: c,
    toggle: d
  };
}
function Ql(t = $(null)) {
  const r = $(!1);
  Dn(t, "mouseenter", l), Dn(t, "mouseleave", a);
  function l() {
    r.value = !0;
  }
  function a() {
    r.value = !1;
  }
  return { wrapper: t, isHover: r };
}
const Gr = /* @__PURE__ */ new WeakMap(), Ch = /\s+/g, Th = /(px|%)$/;
function $h(t) {
  const r = t.target || $(null);
  if (!zt)
    return { target: r, disconnect: Qt };
  const { handler: l } = t;
  let a = t.root ?? document;
  const n = ur(t.threshold || 0).join() || "0", o = u(t.rootMargin);
  Gr.has(a) || Gr.set(a, /* @__PURE__ */ new Map());
  const s = Gr.get(a);
  s.has(n) || s.set(n, /* @__PURE__ */ new Map());
  const c = s.get(n);
  c.has(o) || c.set(o, {
    ob: new IntersectionObserver(h, { ...t, rootMargin: o }),
    count: 0,
    handlers: /* @__PURE__ */ new WeakMap()
  });
  let d = c.get(o), { ob: p, handlers: m } = d, b = Qt;
  const f = le(
    () => e(r),
    (v) => {
      b(), !(!v || !p) && (m.set(v, l), p.observe(v), d && d.count++, b = () => {
        p.unobserve(v), m.delete(v), d && d.count--, b = Qt;
      });
    },
    { immediate: !0, flush: "post" }
  );
  sr() && ca(i);
  function u(v) {
    if (!v || !v.trim()) return "_";
    const k = v.trim().split(Ch, 4);
    k.length = 4;
    for (let w = 0; w < 4; ++w) {
      const T = k[w];
      k[w] = Th.test(T) ? T : `${rn(T)}px`;
    }
    return k.join(" ");
  }
  function h(v) {
    for (let k = 0, w = v.length; k < w; ++k) {
      const T = v[k], F = m.get(T.target);
      typeof F == "function" && F(T);
    }
  }
  function i() {
    f(), b(), d && (d.count <= 0 && (c.delete(o), c.size || (s.delete(n), s.size || Gr.delete(a))), d = void 0, p = void 0, m = void 0, a = void 0);
  }
  return { target: r, disconnect: i };
}
function ci() {
  const t = /* @__PURE__ */ new Set();
  function r(a) {
    return Rf((n, o) => {
      let s = a;
      const c = () => {
        a !== s && (s = a, o());
      };
      return {
        get: () => (n(), a),
        set: (d) => {
          d !== a && (a = d, t.add(c));
        }
      };
    });
  }
  function l() {
    for (const a of t)
      a();
    t.clear();
  }
  return { updateSet: t, manualRef: r, triggerUpdate: l };
}
const Eh = {
  ctrl: "control",
  command: "meta",
  cmd: "meta",
  option: "alt",
  up: "arrowup",
  down: "arrowdown",
  left: "arrowleft",
  right: "arrowright"
}, Ah = /[+_-]/, Rh = /[+_-]/g, Mh = ["activeKeys", "resetAll"];
function cl(t = {}) {
  const {
    autoReset: r = !0,
    capture: l = !1,
    passive: a = !0,
    strictTarget: n = !1,
    onKeyDown: o = Qt,
    onKeyUp: s = Qt
  } = t, c = t.target || $(null), d = Xa(t.disabled) ? t.disabled : $(t.disabled || !1), p = { ...Eh, ...t.aliasMap || {} }, m = pt(/* @__PURE__ */ new Set()), b = /* @__PURE__ */ new Set(), f = pt({ activeKeys: m, resetAll: i });
  function u(k, w) {
    k in f && (f[k] = w);
  }
  function h(k, w) {
    var z, C;
    const T = (z = k.key) == null ? void 0 : z.toLocaleLowerCase(), A = [(C = k.code) == null ? void 0 : C.toLocaleLowerCase(), T].filter(Boolean);
    for (const E of A)
      m[w ? "add" : "delete"](E), u(E, w);
    if (!w && T === "meta") {
      for (const E of b)
        m.delete(E), u(E, !1);
      b.clear();
    } else if (w && typeof k.getModifierState == "function" && k.getModifierState("Meta"))
      for (const E of [...m, ...A])
        b.add(E);
  }
  function i() {
    Object.keys(f).forEach((k) => {
      f[k] = !1;
    }), f.activeKeys = m, f.resetAll = i;
  }
  const v = new Proxy(f, {
    get(k, w, T) {
      if (typeof w != "string" || Mh.includes(w))
        return Reflect.get(k, w, T);
      if (w = w.toLocaleLowerCase(), w in p && (w = p[w]), !(w in f))
        if (Ah.test(w)) {
          const F = w.split(Rh).map((A) => A.trim());
          f[w] = g(() => F.every((A) => e(v[A])));
        } else
          f[w] = $(m.has(w));
      return e(Reflect.get(k, w, T));
    }
  });
  return Dn(
    c,
    "keydown",
    (k) => {
      n && k.target !== e(c) || (h(k, !0), o(k, v));
    },
    { capture: l, passive: a, disabled: d }
  ), Dn(
    c,
    "keyup",
    (k) => {
      n && k.target !== e(c) || (h(k, !1), s(k, v));
    },
    { capture: l, passive: a, disabled: d }
  ), r && Dn(c, "blur", i, { capture: l, passive: a, disabled: d }), { target: c, modifier: v };
}
function _r(t) {
  const r = $(!1), l = () => r.value = !0;
  return sn(() => {
    t === "tick" ? kt(l) : t === "frame" ? requestAnimationFrame(l) : l();
  }), pn(() => {
    r.value = !1;
  }), { isMounted: cc(r) };
}
function fs(t) {
  t.cancelable && (t.stopPropagation(), t.preventDefault());
}
function Pl(t) {
  const r = t.target || $(null), l = Xa(t.x) ? t.x : $(0), a = Xa(t.y) ? t.y : $(0), n = Xa(t.lazy) ? t.lazy : $(t.lazy || !1), o = Xa(t.disabled) ? t.disabled : $(t.disabled || !1), { capture: s = !0, stopMouse: c = !0, stopTouch: d = !0 } = t, p = $(!1), m = {
    xStart: 0,
    yStart: 0,
    xEnd: 0,
    yEnd: 0,
    clientX: 0,
    clientY: 0,
    deltaX: 0,
    deltaY: 0,
    lazy: !1
  };
  let b = 0, f = 0;
  const u = Cl((w) => {
    var T;
    f < b || (k(w), m.lazy || (l.value = m.xEnd, a.value = m.yEnd), (T = t.onMove) == null || T.call(t, m, w));
  });
  function h(w) {
    var T;
    o.value || (Object.assign(m, {
      xStart: l.value,
      yStart: a.value,
      xEnd: l.value,
      yEnd: a.value,
      clientX: w.clientX,
      clientY: w.clientY,
      lazy: n.value
    }), ((T = t.onStart) == null ? void 0 : T.call(t, m, w)) !== !1 && (document.addEventListener("pointermove", i, { capture: s }), document.addEventListener("pointerup", v, { capture: s }), f = b, p.value = !0));
  }
  function i(w) {
    o.value || (fs(w), u(w));
  }
  function v(w) {
    var T;
    document.removeEventListener("pointermove", i, { capture: s }), document.removeEventListener("pointerup", v, { capture: s }), !o.value && (k(w), m.lazy && (l.value = m.xEnd, a.value = m.yEnd), p.value = !1, ++b, (T = t.onEnd) == null || T.call(t, m, w));
  }
  function k(w) {
    const { clientX: T, clientY: F } = w, { xStart: A, yStart: z, clientX: C, clientY: E } = m, P = T - C, R = F - E;
    m.deltaX = P, m.deltaY = R, m.xEnd = A + P, m.yEnd = z + R;
  }
  return Dn(r, "pointerdown", h, { capture: s }), c && Dn(r, "mousedown", fs, { capture: s }), d && Dn(r, "touchstart", fs, { capture: s }), {
    target: r,
    moving: g(() => p.value),
    x: l,
    y: a,
    lazy: n,
    disabled: o
  };
}
const Qc = /* @__PURE__ */ new Map();
Qc.set("x", 0);
Qc.set("y", 0);
const Ph = ["top", "right", "bottom", "left"], lr = Math.min, Sa = Math.max, Ao = Math.round, Zr = Math.floor, Ol = (t) => ({
  x: t,
  y: t
}), zh = {
  left: "right",
  right: "left",
  bottom: "top",
  top: "bottom"
}, Lh = {
  start: "end",
  end: "start"
};
function Ds(t, r, l) {
  return Sa(t, lr(r, l));
}
function cr(t, r) {
  return typeof t == "function" ? t(r) : t;
}
function Aa(t) {
  return t.split("-")[0];
}
function Br(t) {
  return t.split("-")[1];
}
function ed(t) {
  return t === "x" ? "y" : "x";
}
function di(t) {
  return t === "y" ? "height" : "width";
}
function Ca(t) {
  return ["top", "bottom"].includes(Aa(t)) ? "y" : "x";
}
function fi(t) {
  return ed(Ca(t));
}
function Fh(t, r, l) {
  l === void 0 && (l = !1);
  const a = Br(t), n = fi(t), o = di(n);
  let s = n === "x" ? a === (l ? "end" : "start") ? "right" : "left" : a === "start" ? "bottom" : "top";
  return r.reference[o] > r.floating[o] && (s = Ro(s)), [s, Ro(s)];
}
function Ih(t) {
  const r = Ro(t);
  return [Os(t), r, Os(r)];
}
function Os(t) {
  return t.replace(/start|end/g, (r) => Lh[r]);
}
function Nh(t, r, l) {
  const a = ["left", "right"], n = ["right", "left"], o = ["top", "bottom"], s = ["bottom", "top"];
  switch (t) {
    case "top":
    case "bottom":
      return l ? r ? n : a : r ? a : n;
    case "left":
    case "right":
      return r ? o : s;
    default:
      return [];
  }
}
function Dh(t, r, l, a) {
  const n = Br(t);
  let o = Nh(Aa(t), l === "start", a);
  return n && (o = o.map((s) => s + "-" + n), r && (o = o.concat(o.map(Os)))), o;
}
function Ro(t) {
  return t.replace(/left|right|bottom|top/g, (r) => zh[r]);
}
function Oh(t) {
  return {
    top: 0,
    right: 0,
    bottom: 0,
    left: 0,
    ...t
  };
}
function td(t) {
  return typeof t != "number" ? Oh(t) : {
    top: t,
    right: t,
    bottom: t,
    left: t
  };
}
function Mo(t) {
  const {
    x: r,
    y: l,
    width: a,
    height: n
  } = t;
  return {
    width: a,
    height: n,
    top: l,
    left: r,
    right: r + a,
    bottom: l + n,
    x: r,
    y: l
  };
}
function su(t, r, l) {
  let {
    reference: a,
    floating: n
  } = t;
  const o = Ca(r), s = fi(r), c = di(s), d = Aa(r), p = o === "y", m = a.x + a.width / 2 - n.width / 2, b = a.y + a.height / 2 - n.height / 2, f = a[c] / 2 - n[c] / 2;
  let u;
  switch (d) {
    case "top":
      u = {
        x: m,
        y: a.y - n.height
      };
      break;
    case "bottom":
      u = {
        x: m,
        y: a.y + a.height
      };
      break;
    case "right":
      u = {
        x: a.x + a.width,
        y: b
      };
      break;
    case "left":
      u = {
        x: a.x - n.width,
        y: b
      };
      break;
    default:
      u = {
        x: a.x,
        y: a.y
      };
  }
  switch (Br(r)) {
    case "start":
      u[s] -= f * (l && p ? -1 : 1);
      break;
    case "end":
      u[s] += f * (l && p ? -1 : 1);
      break;
  }
  return u;
}
const _h = async (t, r, l) => {
  const {
    placement: a = "bottom",
    strategy: n = "absolute",
    middleware: o = [],
    platform: s
  } = l, c = o.filter(Boolean), d = await (s.isRTL == null ? void 0 : s.isRTL(r));
  let p = await s.getElementRects({
    reference: t,
    floating: r,
    strategy: n
  }), {
    x: m,
    y: b
  } = su(p, a, d), f = a, u = {}, h = 0;
  for (let i = 0; i < c.length; i++) {
    const {
      name: v,
      fn: k
    } = c[i], {
      x: w,
      y: T,
      data: F,
      reset: A
    } = await k({
      x: m,
      y: b,
      initialPlacement: a,
      placement: f,
      strategy: n,
      middlewareData: u,
      rects: p,
      platform: s,
      elements: {
        reference: t,
        floating: r
      }
    });
    m = w ?? m, b = T ?? b, u = {
      ...u,
      [v]: {
        ...u[v],
        ...F
      }
    }, A && h <= 50 && (h++, typeof A == "object" && (A.placement && (f = A.placement), A.rects && (p = A.rects === !0 ? await s.getElementRects({
      reference: t,
      floating: r,
      strategy: n
    }) : A.rects), {
      x: m,
      y: b
    } = su(p, f, d)), i = -1);
  }
  return {
    x: m,
    y: b,
    placement: f,
    strategy: n,
    middlewareData: u
  };
};
async function Po(t, r) {
  var l;
  r === void 0 && (r = {});
  const {
    x: a,
    y: n,
    platform: o,
    rects: s,
    elements: c,
    strategy: d
  } = t, {
    boundary: p = "clippingAncestors",
    rootBoundary: m = "viewport",
    elementContext: b = "floating",
    altBoundary: f = !1,
    padding: u = 0
  } = cr(r, t), h = td(u), v = c[f ? b === "floating" ? "reference" : "floating" : b], k = Mo(await o.getClippingRect({
    element: (l = await (o.isElement == null ? void 0 : o.isElement(v))) == null || l ? v : v.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(c.floating)),
    boundary: p,
    rootBoundary: m,
    strategy: d
  })), w = b === "floating" ? {
    x: a,
    y: n,
    width: s.floating.width,
    height: s.floating.height
  } : s.reference, T = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(c.floating)), F = await (o.isElement == null ? void 0 : o.isElement(T)) ? await (o.getScale == null ? void 0 : o.getScale(T)) || {
    x: 1,
    y: 1
  } : {
    x: 1,
    y: 1
  }, A = Mo(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({
    elements: c,
    rect: w,
    offsetParent: T,
    strategy: d
  }) : w);
  return {
    top: (k.top - A.top + h.top) / F.y,
    bottom: (A.bottom - k.bottom + h.bottom) / F.y,
    left: (k.left - A.left + h.left) / F.x,
    right: (A.right - k.right + h.right) / F.x
  };
}
const Bh = (t) => ({
  name: "arrow",
  options: t,
  async fn(r) {
    const {
      x: l,
      y: a,
      placement: n,
      rects: o,
      platform: s,
      elements: c,
      middlewareData: d
    } = r, {
      element: p,
      padding: m = 0
    } = cr(t, r) || {};
    if (p == null)
      return {};
    const b = td(m), f = {
      x: l,
      y: a
    }, u = fi(n), h = di(u), i = await s.getDimensions(p), v = u === "y", k = v ? "top" : "left", w = v ? "bottom" : "right", T = v ? "clientHeight" : "clientWidth", F = o.reference[h] + o.reference[u] - f[u] - o.floating[h], A = f[u] - o.reference[u], z = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(p));
    let C = z ? z[T] : 0;
    (!C || !await (s.isElement == null ? void 0 : s.isElement(z))) && (C = c.floating[T] || o.floating[h]);
    const E = F / 2 - A / 2, P = C / 2 - i[h] / 2 - 1, R = lr(b[k], P), L = lr(b[w], P), I = R, G = C - i[h] - L, ee = C / 2 - i[h] / 2 + E, O = Ds(I, ee, G), H = !d.arrow && Br(n) != null && ee !== O && o.reference[h] / 2 - (ee < I ? R : L) - i[h] / 2 < 0, U = H ? ee < I ? ee - I : ee - G : 0;
    return {
      [u]: f[u] + U,
      data: {
        [u]: O,
        centerOffset: ee - O - U,
        ...H && {
          alignmentOffset: U
        }
      },
      reset: H
    };
  }
}), Hh = function(t) {
  return t === void 0 && (t = {}), {
    name: "flip",
    options: t,
    async fn(r) {
      var l, a;
      const {
        placement: n,
        middlewareData: o,
        rects: s,
        initialPlacement: c,
        platform: d,
        elements: p
      } = r, {
        mainAxis: m = !0,
        crossAxis: b = !0,
        fallbackPlacements: f,
        fallbackStrategy: u = "bestFit",
        fallbackAxisSideDirection: h = "none",
        flipAlignment: i = !0,
        ...v
      } = cr(t, r);
      if ((l = o.arrow) != null && l.alignmentOffset)
        return {};
      const k = Aa(n), w = Ca(c), T = Aa(c) === c, F = await (d.isRTL == null ? void 0 : d.isRTL(p.floating)), A = f || (T || !i ? [Ro(c)] : Ih(c)), z = h !== "none";
      !f && z && A.push(...Dh(c, i, h, F));
      const C = [c, ...A], E = await Po(r, v), P = [];
      let R = ((a = o.flip) == null ? void 0 : a.overflows) || [];
      if (m && P.push(E[k]), b) {
        const O = Fh(n, s, F);
        P.push(E[O[0]], E[O[1]]);
      }
      if (R = [...R, {
        placement: n,
        overflows: P
      }], !P.every((O) => O <= 0)) {
        var L, I;
        const O = (((L = o.flip) == null ? void 0 : L.index) || 0) + 1, H = C[O];
        if (H) {
          var G;
          const q = b === "alignment" ? w !== Ca(H) : !1, Z = ((G = R[0]) == null ? void 0 : G.overflows[0]) > 0;
          if (!q || Z)
            return {
              data: {
                index: O,
                overflows: R
              },
              reset: {
                placement: H
              }
            };
        }
        let U = (I = R.filter((q) => q.overflows[0] <= 0).sort((q, Z) => q.overflows[1] - Z.overflows[1])[0]) == null ? void 0 : I.placement;
        if (!U)
          switch (u) {
            case "bestFit": {
              var ee;
              const q = (ee = R.filter((Z) => {
                if (z) {
                  const K = Ca(Z.placement);
                  return K === w || // Create a bias to the `y` side axis due to horizontal
                  // reading directions favoring greater width.
                  K === "y";
                }
                return !0;
              }).map((Z) => [Z.placement, Z.overflows.filter((K) => K > 0).reduce((K, we) => K + we, 0)]).sort((Z, K) => Z[1] - K[1])[0]) == null ? void 0 : ee[0];
              q && (U = q);
              break;
            }
            case "initialPlacement":
              U = c;
              break;
          }
        if (n !== U)
          return {
            reset: {
              placement: U
            }
          };
      }
      return {};
    }
  };
};
function iu(t, r) {
  return {
    top: t.top - r.height,
    right: t.right - r.width,
    bottom: t.bottom - r.height,
    left: t.left - r.width
  };
}
function uu(t) {
  return Ph.some((r) => t[r] >= 0);
}
const Vh = function(t) {
  return t === void 0 && (t = {}), {
    name: "hide",
    options: t,
    async fn(r) {
      const {
        rects: l
      } = r, {
        strategy: a = "referenceHidden",
        ...n
      } = cr(t, r);
      switch (a) {
        case "referenceHidden": {
          const o = await Po(r, {
            ...n,
            elementContext: "reference"
          }), s = iu(o, l.reference);
          return {
            data: {
              referenceHiddenOffsets: s,
              referenceHidden: uu(s)
            }
          };
        }
        case "escaped": {
          const o = await Po(r, {
            ...n,
            altBoundary: !0
          }), s = iu(o, l.floating);
          return {
            data: {
              escapedOffsets: s,
              escaped: uu(s)
            }
          };
        }
        default:
          return {};
      }
    }
  };
};
async function jh(t, r) {
  const {
    placement: l,
    platform: a,
    elements: n
  } = t, o = await (a.isRTL == null ? void 0 : a.isRTL(n.floating)), s = Aa(l), c = Br(l), d = Ca(l) === "y", p = ["left", "top"].includes(s) ? -1 : 1, m = o && d ? -1 : 1, b = cr(r, t);
  let {
    mainAxis: f,
    crossAxis: u,
    alignmentAxis: h
  } = typeof b == "number" ? {
    mainAxis: b,
    crossAxis: 0,
    alignmentAxis: null
  } : {
    mainAxis: b.mainAxis || 0,
    crossAxis: b.crossAxis || 0,
    alignmentAxis: b.alignmentAxis
  };
  return c && typeof h == "number" && (u = c === "end" ? h * -1 : h), d ? {
    x: u * m,
    y: f * p
  } : {
    x: f * p,
    y: u * m
  };
}
const Wh = function(t) {
  return t === void 0 && (t = 0), {
    name: "offset",
    options: t,
    async fn(r) {
      var l, a;
      const {
        x: n,
        y: o,
        placement: s,
        middlewareData: c
      } = r, d = await jh(r, t);
      return s === ((l = c.offset) == null ? void 0 : l.placement) && (a = c.arrow) != null && a.alignmentOffset ? {} : {
        x: n + d.x,
        y: o + d.y,
        data: {
          ...d,
          placement: s
        }
      };
    }
  };
}, Kh = function(t) {
  return t === void 0 && (t = {}), {
    name: "shift",
    options: t,
    async fn(r) {
      const {
        x: l,
        y: a,
        placement: n
      } = r, {
        mainAxis: o = !0,
        crossAxis: s = !1,
        limiter: c = {
          fn: (v) => {
            let {
              x: k,
              y: w
            } = v;
            return {
              x: k,
              y: w
            };
          }
        },
        ...d
      } = cr(t, r), p = {
        x: l,
        y: a
      }, m = await Po(r, d), b = Ca(Aa(n)), f = ed(b);
      let u = p[f], h = p[b];
      if (o) {
        const v = f === "y" ? "top" : "left", k = f === "y" ? "bottom" : "right", w = u + m[v], T = u - m[k];
        u = Ds(w, u, T);
      }
      if (s) {
        const v = b === "y" ? "top" : "left", k = b === "y" ? "bottom" : "right", w = h + m[v], T = h - m[k];
        h = Ds(w, h, T);
      }
      const i = c.fn({
        ...r,
        [f]: u,
        [b]: h
      });
      return {
        ...i,
        data: {
          x: i.x - l,
          y: i.y - a,
          enabled: {
            [f]: o,
            [b]: s
          }
        }
      };
    }
  };
};
function Ko() {
  return typeof window < "u";
}
function dr(t) {
  return nd(t) ? (t.nodeName || "").toLowerCase() : "#document";
}
function bl(t) {
  var r;
  return (t == null || (r = t.ownerDocument) == null ? void 0 : r.defaultView) || window;
}
function jl(t) {
  var r;
  return (r = (nd(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : r.documentElement;
}
function nd(t) {
  return Ko() ? t instanceof Node || t instanceof bl(t).Node : !1;
}
function zl(t) {
  return Ko() ? t instanceof Element || t instanceof bl(t).Element : !1;
}
function Vl(t) {
  return Ko() ? t instanceof HTMLElement || t instanceof bl(t).HTMLElement : !1;
}
function cu(t) {
  return !Ko() || typeof ShadowRoot > "u" ? !1 : t instanceof ShadowRoot || t instanceof bl(t).ShadowRoot;
}
function Hr(t) {
  const {
    overflow: r,
    overflowX: l,
    overflowY: a,
    display: n
  } = Ll(t);
  return /auto|scroll|overlay|hidden|clip/.test(r + a + l) && !["inline", "contents"].includes(n);
}
function Uh(t) {
  return ["table", "td", "th"].includes(dr(t));
}
function Uo(t) {
  return [":popover-open", ":modal"].some((r) => {
    try {
      return t.matches(r);
    } catch {
      return !1;
    }
  });
}
function pi(t) {
  const r = vi(), l = zl(t) ? Ll(t) : t;
  return ["transform", "translate", "scale", "rotate", "perspective"].some((a) => l[a] ? l[a] !== "none" : !1) || (l.containerType ? l.containerType !== "normal" : !1) || !r && (l.backdropFilter ? l.backdropFilter !== "none" : !1) || !r && (l.filter ? l.filter !== "none" : !1) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((a) => (l.willChange || "").includes(a)) || ["paint", "layout", "strict", "content"].some((a) => (l.contain || "").includes(a));
}
function Xh(t) {
  let r = ua(t);
  for (; Vl(r) && !ar(r); ) {
    if (pi(r))
      return r;
    if (Uo(r))
      return null;
    r = ua(r);
  }
  return null;
}
function vi() {
  return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
}
function ar(t) {
  return ["html", "body", "#document"].includes(dr(t));
}
function Ll(t) {
  return bl(t).getComputedStyle(t);
}
function Xo(t) {
  return zl(t) ? {
    scrollLeft: t.scrollLeft,
    scrollTop: t.scrollTop
  } : {
    scrollLeft: t.scrollX,
    scrollTop: t.scrollY
  };
}
function ua(t) {
  if (dr(t) === "html")
    return t;
  const r = (
    // Step into the shadow DOM of the parent of a slotted node.
    t.assignedSlot || // DOM Element detected.
    t.parentNode || // ShadowRoot detected.
    cu(t) && t.host || // Fallback.
    jl(t)
  );
  return cu(r) ? r.host : r;
}
function ld(t) {
  const r = ua(t);
  return ar(r) ? t.ownerDocument ? t.ownerDocument.body : t.body : Vl(r) && Hr(r) ? r : ld(r);
}
function zr(t, r, l) {
  var a;
  r === void 0 && (r = []), l === void 0 && (l = !0);
  const n = ld(t), o = n === ((a = t.ownerDocument) == null ? void 0 : a.body), s = bl(n);
  if (o) {
    const c = _s(s);
    return r.concat(s, s.visualViewport || [], Hr(n) ? n : [], c && l ? zr(c) : []);
  }
  return r.concat(n, zr(n, [], l));
}
function _s(t) {
  return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;
}
function ad(t) {
  const r = Ll(t);
  let l = parseFloat(r.width) || 0, a = parseFloat(r.height) || 0;
  const n = Vl(t), o = n ? t.offsetWidth : l, s = n ? t.offsetHeight : a, c = Ao(l) !== o || Ao(a) !== s;
  return c && (l = o, a = s), {
    width: l,
    height: a,
    $: c
  };
}
function hi(t) {
  return zl(t) ? t : t.contextElement;
}
function Ja(t) {
  const r = hi(t);
  if (!Vl(r))
    return Ol(1);
  const l = r.getBoundingClientRect(), {
    width: a,
    height: n,
    $: o
  } = ad(r);
  let s = (o ? Ao(l.width) : l.width) / a, c = (o ? Ao(l.height) : l.height) / n;
  return (!s || !Number.isFinite(s)) && (s = 1), (!c || !Number.isFinite(c)) && (c = 1), {
    x: s,
    y: c
  };
}
const Yh = /* @__PURE__ */ Ol(0);
function rd(t) {
  const r = bl(t);
  return !vi() || !r.visualViewport ? Yh : {
    x: r.visualViewport.offsetLeft,
    y: r.visualViewport.offsetTop
  };
}
function qh(t, r, l) {
  return r === void 0 && (r = !1), !l || r && l !== bl(t) ? !1 : r;
}
function Ra(t, r, l, a) {
  r === void 0 && (r = !1), l === void 0 && (l = !1);
  const n = t.getBoundingClientRect(), o = hi(t);
  let s = Ol(1);
  r && (a ? zl(a) && (s = Ja(a)) : s = Ja(t));
  const c = qh(o, l, a) ? rd(o) : Ol(0);
  let d = (n.left + c.x) / s.x, p = (n.top + c.y) / s.y, m = n.width / s.x, b = n.height / s.y;
  if (o) {
    const f = bl(o), u = a && zl(a) ? bl(a) : a;
    let h = f, i = _s(h);
    for (; i && a && u !== h; ) {
      const v = Ja(i), k = i.getBoundingClientRect(), w = Ll(i), T = k.left + (i.clientLeft + parseFloat(w.paddingLeft)) * v.x, F = k.top + (i.clientTop + parseFloat(w.paddingTop)) * v.y;
      d *= v.x, p *= v.y, m *= v.x, b *= v.y, d += T, p += F, h = bl(i), i = _s(h);
    }
  }
  return Mo({
    width: m,
    height: b,
    x: d,
    y: p
  });
}
function mi(t, r) {
  const l = Xo(t).scrollLeft;
  return r ? r.left + l : Ra(jl(t)).left + l;
}
function od(t, r, l) {
  l === void 0 && (l = !1);
  const a = t.getBoundingClientRect(), n = a.left + r.scrollLeft - (l ? 0 : (
    // RTL <body> scrollbar.
    mi(t, a)
  )), o = a.top + r.scrollTop;
  return {
    x: n,
    y: o
  };
}
function Gh(t) {
  let {
    elements: r,
    rect: l,
    offsetParent: a,
    strategy: n
  } = t;
  const o = n === "fixed", s = jl(a), c = r ? Uo(r.floating) : !1;
  if (a === s || c && o)
    return l;
  let d = {
    scrollLeft: 0,
    scrollTop: 0
  }, p = Ol(1);
  const m = Ol(0), b = Vl(a);
  if ((b || !b && !o) && ((dr(a) !== "body" || Hr(s)) && (d = Xo(a)), Vl(a))) {
    const u = Ra(a);
    p = Ja(a), m.x = u.x + a.clientLeft, m.y = u.y + a.clientTop;
  }
  const f = s && !b && !o ? od(s, d, !0) : Ol(0);
  return {
    width: l.width * p.x,
    height: l.height * p.y,
    x: l.x * p.x - d.scrollLeft * p.x + m.x + f.x,
    y: l.y * p.y - d.scrollTop * p.y + m.y + f.y
  };
}
function Zh(t) {
  return Array.from(t.getClientRects());
}
function Jh(t) {
  const r = jl(t), l = Xo(t), a = t.ownerDocument.body, n = Sa(r.scrollWidth, r.clientWidth, a.scrollWidth, a.clientWidth), o = Sa(r.scrollHeight, r.clientHeight, a.scrollHeight, a.clientHeight);
  let s = -l.scrollLeft + mi(t);
  const c = -l.scrollTop;
  return Ll(a).direction === "rtl" && (s += Sa(r.clientWidth, a.clientWidth) - n), {
    width: n,
    height: o,
    x: s,
    y: c
  };
}
function Qh(t, r) {
  const l = bl(t), a = jl(t), n = l.visualViewport;
  let o = a.clientWidth, s = a.clientHeight, c = 0, d = 0;
  if (n) {
    o = n.width, s = n.height;
    const p = vi();
    (!p || p && r === "fixed") && (c = n.offsetLeft, d = n.offsetTop);
  }
  return {
    width: o,
    height: s,
    x: c,
    y: d
  };
}
function em(t, r) {
  const l = Ra(t, !0, r === "fixed"), a = l.top + t.clientTop, n = l.left + t.clientLeft, o = Vl(t) ? Ja(t) : Ol(1), s = t.clientWidth * o.x, c = t.clientHeight * o.y, d = n * o.x, p = a * o.y;
  return {
    width: s,
    height: c,
    x: d,
    y: p
  };
}
function du(t, r, l) {
  let a;
  if (r === "viewport")
    a = Qh(t, l);
  else if (r === "document")
    a = Jh(jl(t));
  else if (zl(r))
    a = em(r, l);
  else {
    const n = rd(t);
    a = {
      x: r.x - n.x,
      y: r.y - n.y,
      width: r.width,
      height: r.height
    };
  }
  return Mo(a);
}
function sd(t, r) {
  const l = ua(t);
  return l === r || !zl(l) || ar(l) ? !1 : Ll(l).position === "fixed" || sd(l, r);
}
function tm(t, r) {
  const l = r.get(t);
  if (l)
    return l;
  let a = zr(t, [], !1).filter((c) => zl(c) && dr(c) !== "body"), n = null;
  const o = Ll(t).position === "fixed";
  let s = o ? ua(t) : t;
  for (; zl(s) && !ar(s); ) {
    const c = Ll(s), d = pi(s);
    !d && c.position === "fixed" && (n = null), (o ? !d && !n : !d && c.position === "static" && !!n && ["absolute", "fixed"].includes(n.position) || Hr(s) && !d && sd(t, s)) ? a = a.filter((m) => m !== s) : n = c, s = ua(s);
  }
  return r.set(t, a), a;
}
function nm(t) {
  let {
    element: r,
    boundary: l,
    rootBoundary: a,
    strategy: n
  } = t;
  const s = [...l === "clippingAncestors" ? Uo(r) ? [] : tm(r, this._c) : [].concat(l), a], c = s[0], d = s.reduce((p, m) => {
    const b = du(r, m, n);
    return p.top = Sa(b.top, p.top), p.right = lr(b.right, p.right), p.bottom = lr(b.bottom, p.bottom), p.left = Sa(b.left, p.left), p;
  }, du(r, c, n));
  return {
    width: d.right - d.left,
    height: d.bottom - d.top,
    x: d.left,
    y: d.top
  };
}
function lm(t) {
  const {
    width: r,
    height: l
  } = ad(t);
  return {
    width: r,
    height: l
  };
}
function am(t, r, l) {
  const a = Vl(r), n = jl(r), o = l === "fixed", s = Ra(t, !0, o, r);
  let c = {
    scrollLeft: 0,
    scrollTop: 0
  };
  const d = Ol(0);
  function p() {
    d.x = mi(n);
  }
  if (a || !a && !o)
    if ((dr(r) !== "body" || Hr(n)) && (c = Xo(r)), a) {
      const u = Ra(r, !0, o, r);
      d.x = u.x + r.clientLeft, d.y = u.y + r.clientTop;
    } else n && p();
  o && !a && n && p();
  const m = n && !a && !o ? od(n, c) : Ol(0), b = s.left + c.scrollLeft - d.x - m.x, f = s.top + c.scrollTop - d.y - m.y;
  return {
    x: b,
    y: f,
    width: s.width,
    height: s.height
  };
}
function ps(t) {
  return Ll(t).position === "static";
}
function fu(t, r) {
  if (!Vl(t) || Ll(t).position === "fixed")
    return null;
  if (r)
    return r(t);
  let l = t.offsetParent;
  return jl(t) === l && (l = l.ownerDocument.body), l;
}
function id(t, r) {
  const l = bl(t);
  if (Uo(t))
    return l;
  if (!Vl(t)) {
    let n = ua(t);
    for (; n && !ar(n); ) {
      if (zl(n) && !ps(n))
        return n;
      n = ua(n);
    }
    return l;
  }
  let a = fu(t, r);
  for (; a && Uh(a) && ps(a); )
    a = fu(a, r);
  return a && ar(a) && ps(a) && !pi(a) ? l : a || Xh(t) || l;
}
const rm = async function(t) {
  const r = this.getOffsetParent || id, l = this.getDimensions, a = await l(t.floating);
  return {
    reference: am(t.reference, await r(t.floating), t.strategy),
    floating: {
      x: 0,
      y: 0,
      width: a.width,
      height: a.height
    }
  };
};
function om(t) {
  return Ll(t).direction === "rtl";
}
const ud = {
  convertOffsetParentRelativeRectToViewportRelativeRect: Gh,
  getDocumentElement: jl,
  getClippingRect: nm,
  getOffsetParent: id,
  getElementRects: rm,
  getClientRects: Zh,
  getDimensions: lm,
  getScale: Ja,
  isElement: zl,
  isRTL: om
};
function cd(t, r) {
  return t.x === r.x && t.y === r.y && t.width === r.width && t.height === r.height;
}
function sm(t, r) {
  let l = null, a;
  const n = jl(t);
  function o() {
    var c;
    clearTimeout(a), (c = l) == null || c.disconnect(), l = null;
  }
  function s(c, d) {
    c === void 0 && (c = !1), d === void 0 && (d = 1), o();
    const p = t.getBoundingClientRect(), {
      left: m,
      top: b,
      width: f,
      height: u
    } = p;
    if (c || r(), !f || !u)
      return;
    const h = Zr(b), i = Zr(n.clientWidth - (m + f)), v = Zr(n.clientHeight - (b + u)), k = Zr(m), T = {
      rootMargin: -h + "px " + -i + "px " + -v + "px " + -k + "px",
      threshold: Sa(0, lr(1, d)) || 1
    };
    let F = !0;
    function A(z) {
      const C = z[0].intersectionRatio;
      if (C !== d) {
        if (!F)
          return s();
        C ? s(!1, C) : a = setTimeout(() => {
          s(!1, 1e-7);
        }, 1e3);
      }
      C === 1 && !cd(p, t.getBoundingClientRect()) && s(), F = !1;
    }
    try {
      l = new IntersectionObserver(A, {
        ...T,
        // Handle <iframe>s
        root: n.ownerDocument
      });
    } catch {
      l = new IntersectionObserver(A, T);
    }
    l.observe(t);
  }
  return s(!0), o;
}
function im(t, r, l, a) {
  a === void 0 && (a = {});
  const {
    ancestorScroll: n = !0,
    ancestorResize: o = !0,
    elementResize: s = typeof ResizeObserver == "function",
    layoutShift: c = typeof IntersectionObserver == "function",
    animationFrame: d = !1
  } = a, p = hi(t), m = n || o ? [...p ? zr(p) : [], ...zr(r)] : [];
  m.forEach((k) => {
    n && k.addEventListener("scroll", l, {
      passive: !0
    }), o && k.addEventListener("resize", l);
  });
  const b = p && c ? sm(p, l) : null;
  let f = -1, u = null;
  s && (u = new ResizeObserver((k) => {
    let [w] = k;
    w && w.target === p && u && (u.unobserve(r), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
      var T;
      (T = u) == null || T.observe(r);
    })), l();
  }), p && !d && u.observe(p), u.observe(r));
  let h, i = d ? Ra(t) : null;
  d && v();
  function v() {
    const k = Ra(t);
    i && !cd(i, k) && l(), i = k, h = requestAnimationFrame(v);
  }
  return l(), () => {
    var k;
    m.forEach((w) => {
      n && w.removeEventListener("scroll", l), o && w.removeEventListener("resize", l);
    }), b == null || b(), (k = u) == null || k.disconnect(), u = null, d && cancelAnimationFrame(h);
  };
}
const um = Wh, cm = Kh, dm = Hh, fm = Vh, pm = Bh, vm = (t, r, l) => {
  const a = /* @__PURE__ */ new Map(), n = {
    platform: ud,
    ...l
  }, o = {
    ...n.platform,
    _c: a
  };
  return _h(t, r, {
    ...n,
    platform: o
  });
};
var Ta = [], hm = function() {
  return Ta.some(function(t) {
    return t.activeTargets.length > 0;
  });
}, mm = function() {
  return Ta.some(function(t) {
    return t.skippedTargets.length > 0;
  });
}, pu = "ResizeObserver loop completed with undelivered notifications.", bm = function() {
  var t;
  typeof ErrorEvent == "function" ? t = new ErrorEvent("error", {
    message: pu
  }) : (t = document.createEvent("Event"), t.initEvent("error", !1, !1), t.message = pu), window.dispatchEvent(t);
}, Lr;
(function(t) {
  t.BORDER_BOX = "border-box", t.CONTENT_BOX = "content-box", t.DEVICE_PIXEL_CONTENT_BOX = "device-pixel-content-box";
})(Lr || (Lr = {}));
var $a = function(t) {
  return Object.freeze(t);
}, gm = /* @__PURE__ */ function() {
  function t(r, l) {
    this.inlineSize = r, this.blockSize = l, $a(this);
  }
  return t;
}(), dd = function() {
  function t(r, l, a, n) {
    return this.x = r, this.y = l, this.width = a, this.height = n, this.top = this.y, this.left = this.x, this.bottom = this.top + this.height, this.right = this.left + this.width, $a(this);
  }
  return t.prototype.toJSON = function() {
    var r = this, l = r.x, a = r.y, n = r.top, o = r.right, s = r.bottom, c = r.left, d = r.width, p = r.height;
    return { x: l, y: a, top: n, right: o, bottom: s, left: c, width: d, height: p };
  }, t.fromRect = function(r) {
    return new t(r.x, r.y, r.width, r.height);
  }, t;
}(), bi = function(t) {
  return t instanceof SVGElement && "getBBox" in t;
}, fd = function(t) {
  if (bi(t)) {
    var r = t.getBBox(), l = r.width, a = r.height;
    return !l && !a;
  }
  var n = t, o = n.offsetWidth, s = n.offsetHeight;
  return !(o || s || t.getClientRects().length);
}, vu = function(t) {
  var r;
  if (t instanceof Element)
    return !0;
  var l = (r = t == null ? void 0 : t.ownerDocument) === null || r === void 0 ? void 0 : r.defaultView;
  return !!(l && t instanceof l.Element);
}, ym = function(t) {
  switch (t.tagName) {
    case "INPUT":
      if (t.type !== "image")
        break;
    case "VIDEO":
    case "AUDIO":
    case "EMBED":
    case "OBJECT":
    case "CANVAS":
    case "IFRAME":
    case "IMG":
      return !0;
  }
  return !1;
}, xr = typeof window < "u" ? window : {}, Jr = /* @__PURE__ */ new WeakMap(), hu = /auto|scroll/, km = /^tb|vertical/, wm = /msie|trident/i.test(xr.navigator && xr.navigator.userAgent), Nl = function(t) {
  return parseFloat(t || "0");
}, Qa = function(t, r, l) {
  return t === void 0 && (t = 0), r === void 0 && (r = 0), l === void 0 && (l = !1), new gm((l ? r : t) || 0, (l ? t : r) || 0);
}, mu = $a({
  devicePixelContentBoxSize: Qa(),
  borderBoxSize: Qa(),
  contentBoxSize: Qa(),
  contentRect: new dd(0, 0, 0, 0)
}), pd = function(t, r) {
  if (r === void 0 && (r = !1), Jr.has(t) && !r)
    return Jr.get(t);
  if (fd(t))
    return Jr.set(t, mu), mu;
  var l = getComputedStyle(t), a = bi(t) && t.ownerSVGElement && t.getBBox(), n = !wm && l.boxSizing === "border-box", o = km.test(l.writingMode || ""), s = !a && hu.test(l.overflowY || ""), c = !a && hu.test(l.overflowX || ""), d = a ? 0 : Nl(l.paddingTop), p = a ? 0 : Nl(l.paddingRight), m = a ? 0 : Nl(l.paddingBottom), b = a ? 0 : Nl(l.paddingLeft), f = a ? 0 : Nl(l.borderTopWidth), u = a ? 0 : Nl(l.borderRightWidth), h = a ? 0 : Nl(l.borderBottomWidth), i = a ? 0 : Nl(l.borderLeftWidth), v = b + p, k = d + m, w = i + u, T = f + h, F = c ? t.offsetHeight - T - t.clientHeight : 0, A = s ? t.offsetWidth - w - t.clientWidth : 0, z = n ? v + w : 0, C = n ? k + T : 0, E = a ? a.width : Nl(l.width) - z - A, P = a ? a.height : Nl(l.height) - C - F, R = E + v + A + w, L = P + k + F + T, I = $a({
    devicePixelContentBoxSize: Qa(Math.round(E * devicePixelRatio), Math.round(P * devicePixelRatio), o),
    borderBoxSize: Qa(R, L, o),
    contentBoxSize: Qa(E, P, o),
    contentRect: new dd(b, d, E, P)
  });
  return Jr.set(t, I), I;
}, vd = function(t, r, l) {
  var a = pd(t, l), n = a.borderBoxSize, o = a.contentBoxSize, s = a.devicePixelContentBoxSize;
  switch (r) {
    case Lr.DEVICE_PIXEL_CONTENT_BOX:
      return s;
    case Lr.BORDER_BOX:
      return n;
    default:
      return o;
  }
}, xm = /* @__PURE__ */ function() {
  function t(r) {
    var l = pd(r);
    this.target = r, this.contentRect = l.contentRect, this.borderBoxSize = $a([l.borderBoxSize]), this.contentBoxSize = $a([l.contentBoxSize]), this.devicePixelContentBoxSize = $a([l.devicePixelContentBoxSize]);
  }
  return t;
}(), hd = function(t) {
  if (fd(t))
    return 1 / 0;
  for (var r = 0, l = t.parentNode; l; )
    r += 1, l = l.parentNode;
  return r;
}, Sm = function() {
  var t = 1 / 0, r = [];
  Ta.forEach(function(s) {
    if (s.activeTargets.length !== 0) {
      var c = [];
      s.activeTargets.forEach(function(p) {
        var m = new xm(p.target), b = hd(p.target);
        c.push(m), p.lastReportedSize = vd(p.target, p.observedBox), b < t && (t = b);
      }), r.push(function() {
        s.callback.call(s.observer, c, s.observer);
      }), s.activeTargets.splice(0, s.activeTargets.length);
    }
  });
  for (var l = 0, a = r; l < a.length; l++) {
    var n = a[l];
    n();
  }
  return t;
}, bu = function(t) {
  Ta.forEach(function(l) {
    l.activeTargets.splice(0, l.activeTargets.length), l.skippedTargets.splice(0, l.skippedTargets.length), l.observationTargets.forEach(function(n) {
      n.isActive() && (hd(n.target) > t ? l.activeTargets.push(n) : l.skippedTargets.push(n));
    });
  });
}, Cm = function() {
  var t = 0;
  for (bu(t); hm(); )
    t = Sm(), bu(t);
  return mm() && bm(), t > 0;
}, vs, md = [], Tm = function() {
  return md.splice(0).forEach(function(t) {
    return t();
  });
}, $m = function(t) {
  if (!vs) {
    var r = 0, l = document.createTextNode(""), a = { characterData: !0 };
    new MutationObserver(function() {
      return Tm();
    }).observe(l, a), vs = function() {
      l.textContent = "".concat(r ? r-- : r++);
    };
  }
  md.push(t), vs();
}, Em = function(t) {
  $m(function() {
    requestAnimationFrame(t);
  });
}, ho = 0, Am = function() {
  return !!ho;
}, Rm = 250, Mm = { attributes: !0, characterData: !0, childList: !0, subtree: !0 }, gu = [
  "resize",
  "load",
  "transitionend",
  "animationend",
  "animationstart",
  "animationiteration",
  "keyup",
  "keydown",
  "mouseup",
  "mousedown",
  "mouseover",
  "mouseout",
  "blur",
  "focus"
], yu = function(t) {
  return t === void 0 && (t = 0), Date.now() + t;
}, hs = !1, Pm = function() {
  function t() {
    var r = this;
    this.stopped = !0, this.listener = function() {
      return r.schedule();
    };
  }
  return t.prototype.run = function(r) {
    var l = this;
    if (r === void 0 && (r = Rm), !hs) {
      hs = !0;
      var a = yu(r);
      Em(function() {
        var n = !1;
        try {
          n = Cm();
        } finally {
          if (hs = !1, r = a - yu(), !Am())
            return;
          n ? l.run(1e3) : r > 0 ? l.run(r) : l.start();
        }
      });
    }
  }, t.prototype.schedule = function() {
    this.stop(), this.run();
  }, t.prototype.observe = function() {
    var r = this, l = function() {
      return r.observer && r.observer.observe(document.body, Mm);
    };
    document.body ? l() : xr.addEventListener("DOMContentLoaded", l);
  }, t.prototype.start = function() {
    var r = this;
    this.stopped && (this.stopped = !1, this.observer = new MutationObserver(this.listener), this.observe(), gu.forEach(function(l) {
      return xr.addEventListener(l, r.listener, !0);
    }));
  }, t.prototype.stop = function() {
    var r = this;
    this.stopped || (this.observer && this.observer.disconnect(), gu.forEach(function(l) {
      return xr.removeEventListener(l, r.listener, !0);
    }), this.stopped = !0);
  }, t;
}(), Bs = new Pm(), ku = function(t) {
  !ho && t > 0 && Bs.start(), ho += t, !ho && Bs.stop();
}, zm = function(t) {
  return !bi(t) && !ym(t) && getComputedStyle(t).display === "inline";
}, Lm = function() {
  function t(r, l) {
    this.target = r, this.observedBox = l || Lr.CONTENT_BOX, this.lastReportedSize = {
      inlineSize: 0,
      blockSize: 0
    };
  }
  return t.prototype.isActive = function() {
    var r = vd(this.target, this.observedBox, !0);
    return zm(this.target) && (this.lastReportedSize = r), this.lastReportedSize.inlineSize !== r.inlineSize || this.lastReportedSize.blockSize !== r.blockSize;
  }, t;
}(), Fm = /* @__PURE__ */ function() {
  function t(r, l) {
    this.activeTargets = [], this.skippedTargets = [], this.observationTargets = [], this.observer = r, this.callback = l;
  }
  return t;
}(), Qr = /* @__PURE__ */ new WeakMap(), wu = function(t, r) {
  for (var l = 0; l < t.length; l += 1)
    if (t[l].target === r)
      return l;
  return -1;
}, eo = function() {
  function t() {
  }
  return t.connect = function(r, l) {
    var a = new Fm(r, l);
    Qr.set(r, a);
  }, t.observe = function(r, l, a) {
    var n = Qr.get(r), o = n.observationTargets.length === 0;
    wu(n.observationTargets, l) < 0 && (o && Ta.push(n), n.observationTargets.push(new Lm(l, a && a.box)), ku(1), Bs.schedule());
  }, t.unobserve = function(r, l) {
    var a = Qr.get(r), n = wu(a.observationTargets, l), o = a.observationTargets.length === 1;
    n >= 0 && (o && Ta.splice(Ta.indexOf(a), 1), a.observationTargets.splice(n, 1), ku(-1));
  }, t.disconnect = function(r) {
    var l = this, a = Qr.get(r);
    a.observationTargets.slice().forEach(function(n) {
      return l.unobserve(r, n.target);
    }), a.activeTargets.splice(0, a.activeTargets.length);
  }, t;
}(), xu = function() {
  function t(r) {
    if (arguments.length === 0)
      throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");
    if (typeof r != "function")
      throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");
    eo.connect(this, r);
  }
  return t.prototype.observe = function(r, l) {
    if (arguments.length === 0)
      throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");
    if (!vu(r))
      throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");
    eo.observe(this, r, l);
  }, t.prototype.unobserve = function(r) {
    if (arguments.length === 0)
      throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");
    if (!vu(r))
      throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");
    eo.unobserve(this, r);
  }, t.prototype.disconnect = function() {
    eo.disconnect(this);
  }, t.toString = function() {
    return "function ResizeObserver () { [polyfill code] }";
  }, t;
}();
const zo = /* @__PURE__ */ new WeakMap();
function Im(t) {
  var r;
  for (let l = 0, a = t.length; l < a; ++l) {
    const n = t[l], o = zo.get(n.target);
    if (typeof o == "function") {
      const { inlineSize: s, blockSize: c } = ((r = n.borderBoxSize) == null ? void 0 : r[0]) ?? {}, { offsetWidth: d, offsetHeight: p } = n.target;
      o(
        Object.assign(n, {
          offsetWidth: d,
          offsetHeight: p,
          width: s ?? d,
          height: c ?? p
        })
      );
    }
  }
}
const bd = new (zt && window.ResizeObserver || xu)(
  Im
);
function rr(t, r) {
  zo.set(t, r), bd.observe(t);
}
function er(t) {
  zo.has(t) && (bd.unobserve(t), zo.delete(t));
}
function Nm(t = {}) {
  let r = Qt;
  const l = le(
    () => e(t.target),
    (n) => {
      r(), !(!n || typeof t.onResize != "function") && (rr(n, t.onResize), r = () => {
        er(n), r = Qt;
      });
    },
    { immediate: !0 }
  ), a = () => {
    l(), r();
  };
  return sr() && ca(a), {
    /**
     * @deprecated Will be removed in next major version, please directly use `observeResize` from imports.
     */
    observeResize: rr,
    /**
     * @deprecated Will be removed in next major version, please directly use `unobserveResize` from imports.
     */
    unobserveResize: er,
    unobserve: a
  };
}
const gd = $(!1), Dm = g(() => gd.value), mr = "__rtl_observer__";
function Un() {
  return zt && !document.querySelector(`#${mr}`) && Om(), { isRtl: Dm };
}
function Om() {
  if (!zt) return;
  const t = document.createElement("style"), r = `#${mr} { width: 1px } html.rtl #${mr}, html[dir='rtl'] #${mr} { width: 2px }`;
  t.textContent = r, document.head.appendChild(t);
  const l = document.createElement("div");
  l.id = mr, l.role = "none", l.style.cssText = "position: fixed; top -10px; left: -10px; height: 1px; visibility: hidden;", rr(l, () => {
    zt && (gd.value = document.documentElement.classList.contains("rtl") || document.documentElement.getAttribute("dir") === "rtl");
  }), document.body.appendChild(l);
}
const Wl = Object.freeze([
  "top",
  "top-start",
  "top-end",
  "bottom",
  "bottom-start",
  "bottom-end",
  "left",
  "left-start",
  "left-end",
  "right",
  "right-start",
  "right-end"
]);
function Kl(t) {
  const { transfer: r, wrapper: l, isDrop: a = !1 } = t, n = t.reference ?? oa(null), o = t.popper ?? oa(null), s = t.arrow ?? oa(null), c = $(e(t.placement)), d = $(""), p = t.isRtl ?? Un().isRtl;
  l && In(() => {
    const i = e(l), v = e(o);
    i && (i.__transferElement = v);
  }), r != null && (le(
    () => e(r),
    (i) => {
      u(i), f();
    }
  ), u(e(r))), sn(() => {
    requestAnimationFrame(() => {
      In(b);
    });
  });
  let m;
  async function b() {
    if (!zt) return;
    m == null || m();
    const i = e(n), v = e(o);
    if (!i || !v) return;
    const k = e(s), w = [dm()];
    if (a && w.push({
      name: "origin",
      fn({ placement: z, elements: C }) {
        const E = h(z);
        return E && (C.floating.style.transformOrigin = E), {};
      }
    }), t.offset) {
      let z = e(t.offset);
      Array.isArray(z) && (z = {
        mainAxis: z[1],
        crossAxis: z[0]
      }), w.push(um(z));
    }
    if (t.shift) {
      let z = e(t.shift);
      typeof z == "boolean" && (z = {}), w.push(cm(z));
    }
    k && w.push(pm({ element: k })), w.push(fm({ strategy: "escaped" }));
    const T = e(p) || !1, F = {
      middleware: w,
      placement: e(t.placement),
      platform: {
        ...ud,
        isRTL: async () => T
      }
    }, A = async () => {
      const {
        x: z,
        y: C,
        placement: E,
        strategy: P,
        middlewareData: R
      } = await vm(i, v, F);
      if (e(n) !== i) {
        e(o) === v && Object.assign(v.style, {
          position: "",
          top: "",
          left: ""
        });
        return;
      }
      const L = {
        position: P,
        top: `${C}px`,
        left: `${z}px`
      };
      if (k)
        if (R.arrow) {
          const { x: I, y: G } = R.arrow;
          Object.assign(k.style, {
            top: G != null ? `${G}px` : "",
            left: I != null ? `${I}px` : ""
          });
        } else
          Object.assign(k.style, { top: "", left: "" });
      Object.assign(v.style, L), v.dataset.popperPlacement = E, c.value = E;
    };
    t.autoUpdate && (m = im(i, v, A)), await A();
  }
  const f = () => new Promise((i) => {
    requestAnimationFrame(() => {
      b().then(i);
    });
  });
  function u(i) {
    d.value = typeof i == "boolean" ? i ? "body" : "" : i;
  }
  function h(i) {
    if (i !== "left" && i !== "right") {
      const [v, k] = i.split("-");
      return v === "bottom" || v !== "top" && k === "start" ? "center top" : "center bottom";
    }
  }
  return {
    wrapper: l,
    reference: n,
    popper: o,
    placement: c,
    transferTo: d,
    updatePopper: f
  };
}
const Su = "__theme_style__", ms = "__theme_observer__", Cu = pt(/* @__PURE__ */ new Map()), Tu = /* @__PURE__ */ new Map();
le(Cu, () => {
  if (!zt) return;
  Tu.clear();
  const t = document.head.querySelector(`#${Su}`);
  t && document.head.removeChild(t);
  const r = document.createElement("style");
  let l = `.${ms} { width: 1px }`, a = 1;
  for (const [n, [o, s]] of Cu.entries())
    l += ` html.${o} .${ms}, .${s} .${ms} { width: ${++a}px }`, Tu.set(a, n);
  r.textContent = l, r.id = Su, document.head.appendChild(r);
});
function Vn() {
  const t = {};
  return ca(() => {
    Object.keys(t).forEach((r) => {
      clearTimeout(t[r]);
    });
  }), { timer: t };
}
function _m() {
  const t = {};
  return ca(() => {
    Object.keys(t).forEach((r) => {
      clearInterval(t[r]);
    });
  }), { timer: t };
}
function Bm() {
  const t = {};
  return ca(() => {
    Object.keys(t).forEach((r) => {
      cancelAnimationFrame(t[r]);
    });
  }), { timer: t };
}
function Hm() {
  const { timer: t } = Vn(), { timer: r } = _m(), { timer: l } = Bm();
  return { timeout: t, interval: r, raf: l };
}
function Vm(t) {
  const {
    items: r,
    itemSize: l,
    itemFixed: a,
    idKey: n,
    defaultKeyAt: o,
    bufferSize: s = $(5),
    wrapper: c = $(null)
  } = t, d = g(() => {
    const I = e(r), G = I.length, ee = e(n), O = /* @__PURE__ */ new Map();
    for (let H = 0; H < G; ++H)
      O.set(I[H][ee], H);
    return O;
  }), p = $(0), m = /* @__PURE__ */ new Map(), b = g(() => {
    const I = e(r), G = I.length, ee = e(n), O = Rc(G, e(l));
    for (let H = 0; H < G; ++H) {
      const U = I[H][ee], q = m.get(U);
      q && O.add(H, q);
    }
    return O;
  }), f = $(0), u = $(0), h = g(() => Math.max(
    b.value.boundIndex(u.value) - Math.max(e(s), 0),
    0
  )), i = g(() => {
    if (!p.value || p.value < 0) return [];
    const I = e(r), G = Math.min(
      b.value.boundIndex(u.value + p.value) + 1 + Math.max(e(s), 0),
      I.length
    );
    return I.slice(h.value, G);
  }), v = g(() => {
    f.value;
    const I = b.value.sum(), G = e(a);
    return {
      height: G ? `${I}px` : void 0,
      minHeight: G ? void 0 : `${I}px`,
      boxSizing: "content-box"
    };
  }), k = g(() => (f.value, {
    transform: `translate3d(0, ${b.value.sum(h.value)}px, 0)`
  }));
  le(
    () => e(c),
    (I) => {
      I && dn(o) && requestAnimationFrame(() => {
        requestAnimationFrame(() => {
          E(o);
        });
      });
    },
    { immediate: !0, flush: "post" }
  );
  function w() {
    const I = e(c);
    I && (u.value = I.scrollTop);
  }
  function T() {
    qa(w);
  }
  function F(I) {
    Fs(I.target) || I.contentRect.height === p.value || (p.value = I.contentRect.height);
  }
  function A(I, G) {
    var we, de;
    if (e(a)) return;
    const ee = d.value.get(I), O = b.value, H = O.get(ee), U = ((de = (we = G.borderBoxSize) == null ? void 0 : we[0]) == null ? void 0 : de.blockSize) ?? G.contentRect.height;
    if (U === H) return;
    if (Fs(G.target)) {
      H && (O.add(ee, -H), f.value++);
      return;
    }
    const q = U - e(l), Z = U - H;
    if (q ? m.set(I, q) : m.delete(I), !Z) return;
    O.add(ee, Z), f.value++;
    const K = e(c);
    if (K) {
      const te = O.sum(ee);
      K.scrollTop > te && K.scrollBy(0, Z), u.value = K.scrollTop;
    }
  }
  function z(I, G) {
    const ee = e(c);
    ee && ee.scrollTo({
      behavior: G,
      top: I,
      left: 0
    });
  }
  function C(I, G) {
    const ee = e(c);
    ee && ee.scrollBy({
      behavior: G,
      top: I,
      left: 0
    });
  }
  function E(I, G) {
    const ee = d.value.get(I);
    ee != null && P(ee, G);
  }
  function P(I, G) {
    const ee = e(c);
    ee && ee.scrollTo({
      behavior: G,
      top: b.value.sum(I),
      left: 0
    });
  }
  function R(I, G) {
    const ee = e(c);
    if (!ee) return;
    const O = b.value, H = ee.scrollTop;
    if (O.sum(I) < H) {
      P(I, G);
      return;
    }
    const q = ee.offsetHeight, Z = H + q, K = O.sum(I + 1);
    K > Z && z(K - q, G);
  }
  function L(I, G) {
    const ee = d.value.get(I);
    ee != null && R(ee, G);
  }
  return {
    wrapper: c,
    indexMap: d,
    heightTree: b,
    startIndex: h,
    scrollOffset: u,
    visibleItems: i,
    listStyle: v,
    itemsStyle: k,
    handleScroll: T,
    handleResize: F,
    handleItemResize: A,
    scrollTo: z,
    scrollBy: C,
    scrollToKey: E,
    scrollToIndex: P,
    ensureIndexInView: R,
    ensureKeyInView: L
  };
}
function $u(t, r) {
  const l = typeof r.value == "function" ? { handler: r.value } : { ...r.value }, a = l.throttle || r.modifiers.throttle || !1;
  if (t.__resize = {
    useThrottle: a,
    observed: !1
  }, l.disabled) {
    er(t), t.__resize.observed = !1;
    return;
  }
  const n = a ? Cl(l.handler, typeof a == "boolean" ? 16 : a) : l.handler;
  rr(t, n), t.__resize.observed = !0;
}
const jm = {
  mounted(t, r) {
    $u(t, r);
  },
  updated(t, r) {
    if (!t.__resize) {
      $u(t, r);
      return;
    }
    const l = typeof r.value == "function" ? { handler: r.value } : { ...r.value }, a = l.throttle || r.modifiers.throttle, n = () => a ? Cl(l.handler, typeof a == "boolean" ? 16 : a) : l.handler;
    if (l.disabled)
      t.__resize.observed && (er(t), t.__resize.observed = !1);
    else if (!t.__resize.observed)
      rr(t, n()), t.__resize.observed = !0;
    else {
      const o = typeof r.oldValue == "function" ? { handler: r.oldValue } : { ...r.oldValue || { handler: Qt } };
      (a !== t.__resize.useThrottle || l.handler !== o.handler) && (er(t), rr(t, n()));
    }
  },
  beforeUnmount(t) {
    var r;
    (r = t.__resize) != null && r.observed && er(t), delete t.__resize;
  }
};
function Wm(t) {
  t.directive("loading", wh), t.directive("resize", jm);
}
const Km = ft({
  offset: Number,
  zIndex: Number,
  position: String,
  target: [String, Object, Function],
  onScroll: B(),
  onChange: B()
});
let Yl = null;
function Um(t) {
  if (t = e(t), Yl !== e(t)) {
    if (Yl && Yl !== window && Yl !== document.documentElement) {
      const r = Yl.querySelector(
        ".vxp-affix--fixed"
      );
      r && r.classList.remove("vxp-affix--fixed");
    }
    Yl = t;
  }
}
function Xm(t) {
  Yl && Yl === e(t) && (Yl = null);
}
const Ym = /* @__PURE__ */ Xe({
  name: "Affix",
  __name: "affix",
  props: Km,
  setup(t, { expose: r }) {
    const a = ct("affix", t, {
      offset: 0,
      zIndex: 100,
      position: "top",
      target: null
    }), n = Ye("affix"), o = _l(), s = oa(), c = oa(), d = oa();
    let p = !1, m = null;
    const b = $(!1), f = $(0), u = $(0), h = $(0), i = $(0), v = $(0), k = g(() => ({
      height: b.value ? `${f.value}px` : "",
      width: b.value ? `${u.value}px` : ""
    })), w = g(() => {
      if (!b.value) return {};
      let C = a.offset, E = a.offset;
      return Rl(d.value) && (a.target && a.position === "top" ? C += v.value : E += v.value), {
        height: `${f.value}px`,
        width: `${u.value}px`,
        top: a.position === "top" ? `${C}px` : "",
        bottom: a.position === "bottom" ? `${E}px` : "",
        zIndex: a.zIndex
      };
    });
    In(T), le(b, (C) => {
      _(a.onChange, C);
    }), r({ update: T }), sn(() => {
      if (a.target) {
        const C = vl(a.target);
        if (typeof C == "string") {
          if (c.value = document.querySelector(C) ?? void 0, !c.value)
            throw new Error(`[vexip-ui:Affix] target not exists: ${a.target}`);
        } else
          c.value = C;
      } else
        c.value = document.documentElement;
      A();
    }), pn(() => {
      z();
    });
    function T() {
      if (!s.value || !c.value || !d.value) return;
      const C = s.value.getBoundingClientRect(), E = c.value.getBoundingClientRect();
      f.value = C.height, u.value = C.width, h.value = d.value === window ? document.documentElement.scrollTop : d.value.scrollY || 0, h.value = document.documentElement.scrollTop, i.value = document.documentElement.clientHeight, a.position === "top" ? a.target ? (v.value = E.top, b.value = C.top < E.top + a.offset) : b.value = a.offset > C.top : a.target ? (v.value = i.value - E.bottom, b.value = E.bottom < a.offset + C.bottom) : b.value = i.value - a.offset < C.bottom;
    }
    function F() {
      Um(c), T(), _(a.onScroll, {
        scrollTop: h.value,
        fixed: b.value
      });
    }
    function A() {
      var C, E, P;
      if (z(), !!zt)
        if (a.target)
          d.value = c.value, d.value.addEventListener("scroll", F);
        else {
          let R = o.parent;
          const L = "scroll";
          for (; R; ) {
            const I = (C = R.type) == null ? void 0 : C.name;
            if (I === "Scroll" || I === "NativeScroll") {
              const { exposeProxy: ee, exposed: O, proxy: H } = R, U = new Proxy({}, {
                get(Z, K) {
                  return (H == null ? void 0 : H[K]) ?? (ee == null ? void 0 : ee[K]) ?? (O == null ? void 0 : O[K]);
                }
              });
              if (!((E = (U == null ? void 0 : U.$el).getAttribute("class")) != null && E.includes("vxp-native-scroll--horizontal"))) {
                m = U;
                break;
              }
            }
            const G = (P = R.refs) == null ? void 0 : P[L];
            if (G) {
              Rl(G) ? (p = !0, d.value = G) : m = G;
              break;
            }
            R = R.parent;
          }
          m ? (m.addScrollListener(F), d.value = m.$el) : d.value || (p = !0, d.value = window), p && d.value && d.value.addEventListener("scroll", F);
        }
    }
    function z() {
      m && (m.removeScrollListener(F), m = null), d.value && (d.value.removeEventListener("scroll", F), d.value = void 0), Xm(c);
    }
    return (C, E) => (S(), D("div", {
      ref_key: "wrapper",
      ref: s,
      class: x(e(n).b()),
      style: Qe(k.value)
    }, [
      oe("div", {
        class: x({ [e(n).bm("fixed")]: b.value }),
        style: Qe(w.value)
      }, [
        W(C.$slots, "default")
      ], 6)
    ], 6));
  }
}), qm = ft({
  expanded: [String, Number, Array],
  card: M,
  accordion: M,
  arrowType: String,
  ghost: M,
  alive: {
    type: [Boolean, String],
    default: null
  },
  onChange: B()
}), Gm = ft({
  label: [String, Number],
  title: String,
  disabled: M,
  contentStyle: kl,
  expanded: M,
  card: M,
  arrowType: String,
  icon: Xt,
  ghost: M,
  alive: {
    type: [Boolean, String],
    default: null
  },
  slots: Object,
  onToggle: B()
}), Zm = ft({
  appear: M,
  mode: String,
  horizontal: M,
  duration: Number,
  timing: String,
  fadeEffect: M,
  /**
   * Internal prop for Tree, reverse the enter transition
   *
   * @internal
   */
  reverse: M,
  disabled: M,
  onBeforeEnter: B(),
  onEnter: B(),
  onAfterEnter: B(),
  onEnterCancelled: B(),
  onBeforeLeave: B(),
  onLeave: B(),
  onAfterLeave: B(),
  onLeaveCancelled: B()
}), Ul = Xe({
  name: "CollapseTransition",
  props: Zm,
  emits: [],
  setup(t, { slots: r }) {
    const l = ct("collapseTransition", t, {
      appear: !1,
      mode: {
        default: "default",
        validator: (o) => ["in-out", "out-in", "default"].includes(o)
      },
      horizontal: !1,
      duration: {
        default: 250,
        validator: (o) => o >= 200
      },
      timing: null,
      fadeEffect: !1,
      reverse: !1
    });
    let a = null, n = null;
    return () => {
      if (l.disabled)
        return W(r, "default");
      const o = l.duration, s = l.timing || "ease-in-out";
      let c = "maxHeight", d = "paddingTop", p = "paddingBottom", m = "marginTop", b = "marginBottom", f = "scrollHeight", u = `
        max-height ${o}ms ${s},
        padding-top ${o}ms ${s},
        padding-bottom ${o}ms ${s},
        margin-top ${o}ms ${s},
        margin-bottom ${o}ms ${s}
      `;
      l.horizontal && (c = "maxWidth", d = "paddingLeft", p = "paddingRight", m = "marginLeft", b = "marginRight", f = "scrollWidth", u = `
          max-width ${o}ms ${s},
          padding-inline-start ${o}ms ${s},
          padding-inline-end ${o}ms ${s},
          margin-inline-start ${o}ms ${s},
          margin-inline-end ${o}ms ${s}
        `), l.fadeEffect && (u = `
          ${u},
          opacity ${o}ms ease
        `);
      const h = {}, i = {};
      return Jn(
        En,
        {
          appear: l.appear,
          mode: l.mode,
          onBeforeEnter(v) {
            if (a) return;
            a = "before";
            const k = v;
            h.paddingTop = k.style[d], h.paddingBottom = k.style[p], h.marginTop = k.style[m], h.marginBottom = k.style[b], h.transition = k.style.transition, h.boxSizing = k.style.boxSizing, h.opacity = k.style.opacity, k.style.transition = u, l.reverse || (k.style[c] = "0", k.style[d] = "0", k.style[p] = "0", k.style[m] = "0", k.style[b] = "0", k.style.boxSizing = "content-box", l.fadeEffect && (k.style.opacity = "0")), _(l.onBeforeEnter, v);
          },
          onEnter(v) {
            if (a === "in") return;
            a = "in";
            const k = v;
            h.overflow = k.style.overflow, k.style.overflow = "hidden", k[f] !== 0 ? k.style[c] = `${k[f]}px` : k.style[c] = "", k.style[d] = h.paddingTop, k.style[p] = h.paddingBottom, k.style[m] = h.marginTop, k.style[b] = h.marginBottom, l.reverse ? (k[f], k.style[c] = "0", k.style[d] = "0", k.style[p] = "0", k.style[m] = "0", k.style[b] = "0", k.style.boxSizing = "content-box", l.fadeEffect && (k.style.opacity = "0")) : l.fadeEffect && (k.style.opacity = h.opacity), _(l.onEnter, v);
          },
          onAfterEnter(v) {
            const k = v;
            k.style.transition = h.transition || "", l.reverse || (k.style[c] = "", k.style.overflow = h.overflow, k.style.boxSizing = h.boxSizing), a = null, _(l.onAfterEnter, v);
          },
          onEnterCancelled(v) {
            const k = v;
            k.style.transition = h.transition || "", k.style[c] = "", k.style.overflow = h.overflow, k.style.boxSizing = h.boxSizing, a = null, _(l.onEnterCancelled, v);
          },
          onBeforeLeave(v) {
            if (n) return;
            n = "before";
            const k = v;
            i.paddingTop = k.style[d], i.paddingBottom = k.style[p], i.marginTop = k.style[m], i.marginBottom = k.style[b], i.overflow = k.style.overflow, i.boxSizing = k.style.boxSizing, i.opacity = k.style.opacity, k.style[c] = `${k[f]}px`, k.style.overflow = "hidden", _(l.onBeforeLeave, v);
          },
          onLeave(v) {
            if (n === "in") return;
            n = "in";
            const k = v;
            k[f] !== 0 && (i.transition = k.style.transition, k.style.transition = u, k.style[c] = "0", k.style[d] = "0", k.style[p] = "0", k.style[m] = "0", k.style[b] = "0", l.fadeEffect && (k.style.opacity = "0")), _(l.onLeave, v);
          },
          onAfterLeave(v) {
            const k = v;
            k.style[c] = "", k.style[d] = i.paddingTop, k.style[p] = i.paddingBottom, k.style[m] = i.marginTop, k.style[b] = i.marginBottom, k.style.overflow = i.overflow, k.style.transition = i.transition || "", k.style.boxSizing = i.boxSizing, k.style.opacity = i.opacity, n = null, _(l.onAfterLeave, v);
          },
          onLeaveCancelled(v) {
            const k = v;
            k.style[c] = "", k.style[d] = i.paddingTop, k.style[p] = i.paddingBottom, k.style[m] = i.marginTop, k.style[b] = i.marginBottom, k.style.overflow = i.overflow, k.style.transition = i.transition || "", k.style.boxSizing = i.boxSizing, k.style.opacity = i.opacity, n = null, _(l.onLeaveCancelled, v);
          }
        },
        r
      );
    };
  }
}), Jm = ft({
  type: String,
  title: String,
  colorfulText: M,
  icon: {
    type: [Boolean, Object, Function],
    default: null
  },
  closable: M,
  iconColor: String,
  noBorder: M,
  banner: M,
  manual: M,
  scroll: M,
  scrollSpeed: Number,
  color: String,
  slots: Object,
  onClose: B(),
  onHide: B(),
  onScrollEnd: B()
}), Qm = Object.freeze([
  "default",
  "primary",
  "info",
  "success",
  "warning",
  "error"
]), eb = /* @__PURE__ */ Xe({
  name: "Alert",
  __name: "alert",
  props: Jm,
  setup(t) {
    const l = ct("alert", t, {
      type: {
        default: "primary",
        validator: (E) => Qm.includes(E)
      },
      title: "",
      colorfulText: !1,
      icon: {
        isFunc: !0,
        default: !1
      },
      closable: !1,
      iconColor: "",
      noBorder: !1,
      banner: !1,
      manual: !1,
      scroll: !1,
      scrollSpeed: 1,
      color: null,
      slots: () => ({})
    }), a = kn(), n = Ye("alert"), o = Gt(), s = g(() => ({
      default: o.value.alert,
      primary: o.value.info,
      info: o.value.info,
      success: o.value.success,
      warning: o.value.warning,
      error: o.value.error
    })), c = $(!1), d = $(!1), p = $(0), m = $(0), b = $(0), f = $(), u = $(), h = g(() => !!(l.title || a.title)), i = g(() => !!(l.icon || a.icon)), v = g(() => ({
      [n.b()]: !0,
      [n.bs("vars")]: !0,
      [n.bm("inherit")]: l.inherit,
      [n.bm(l.type)]: l.type,
      [n.bm("colorful-text")]: l.colorfulText,
      [n.bm("has-title")]: h.value,
      [n.bm("has-icon")]: i.value,
      [n.bm("closable")]: l.closable,
      [n.bm("no-border")]: !l.banner && l.noBorder,
      [n.bm("banner")]: l.banner
    })), k = g(() => {
      if (!l.color) return;
      const E = zt ? getComputedStyle(document.documentElement) : null, P = Qn((E == null ? void 0 : E.getPropertyValue(n.nv("color-black"))) || "#000"), R = Qn(l.color);
      return n.cvm({
        "bg-color": ml(R, 0.2).toString(),
        "b-color": ml(R, 0.5).toString(),
        "icon-color": ia(P, R, 0.2).toString(),
        ...l.colorfulText ? {
          "text-color": ia(P, R, 0.2).toString(),
          "title-color": ia(P, R, 0.2).toString()
        } : {}
      });
    }), w = g(() => typeof l.icon == "boolean" ? s.value[l.type] ?? {} : { icon: l.icon }), T = g(() => ({
      width: `${b.value}px`,
      transitionDuration: `${p.value}ms`,
      transform: `translateX(${m.value}px)`
    }));
    le(
      () => l.scroll,
      (E) => {
        E && z();
      }
    ), sn(() => {
      l.scroll && z();
    });
    function F() {
      l.manual || (c.value = !0), _(l.onClose);
    }
    function A() {
      _(l.onHide), d.value = !0;
    }
    function z() {
      if (f.value && u.value) {
        const E = f.value.getBoundingClientRect(), P = Bo(u.value), R = (E.width + P) * 12 / (Math.max(l.scrollSpeed, 0) || 1);
        p.value = 0, m.value = E.width, b.value = P, requestAnimationFrame(() => {
          requestAnimationFrame(() => {
            p.value = R, m.value = -P;
          });
        });
      }
    }
    function C() {
      _(l.onScrollEnd), requestAnimationFrame(z);
    }
    return (E, P) => d.value ? ge("", !0) : (S(), Be(e(Ul), {
      key: 0,
      "fade-effect": "",
      onAfterLeave: A
    }, {
      default: X(() => [
        c.value ? ge("", !0) : (S(), D("div", {
          key: 0,
          class: x(v.value),
          role: "alert",
          style: Qe(k.value)
        }, [
          oe("div", {
            class: x(e(n).be("wrapper"))
          }, [
            h.value ? (S(), D("div", {
              key: 0,
              class: x(e(n).be("title"))
            }, [
              W(E.$slots, "title", {}, () => [
                y(e(me), {
                  renderer: e(l).slots.title
                }, {
                  default: X(() => [
                    dt(ze(E.title), 1)
                  ]),
                  _: 1
                }, 8, ["renderer"])
              ])
            ], 2)) : ge("", !0),
            oe("div", {
              ref_key: "content",
              ref: f,
              class: x([e(n).be("content"), e(l).scroll && e(n).bem("content", "scroll")])
            }, [
              e(l).scroll ? (S(), D("span", {
                key: 0,
                ref_key: "scrollEl",
                ref: u,
                class: x(e(n).be("scroll")),
                style: Qe(T.value),
                onTransitionend: C
              }, [
                W(E.$slots, "default", {}, () => [
                  y(e(me), {
                    renderer: e(l).slots.default
                  }, null, 8, ["renderer"])
                ])
              ], 38)) : W(E.$slots, "default", { key: 1 }, () => [
                y(e(me), {
                  renderer: e(l).slots.default
                }, null, 8, ["renderer"])
              ])
            ], 2)
          ], 2),
          e(l).closable ? (S(), D("button", {
            key: 0,
            type: "button",
            class: x(e(n).be("close")),
            onClick: F
          }, [
            W(E.$slots, "close", {}, () => [
              y(e(me), {
                renderer: e(l).slots.close
              }, {
                default: X(() => [
                  y(e(Oe), He(e(o).close, { label: "close" }), null, 16)
                ]),
                _: 1
              }, 8, ["renderer"])
            ])
          ], 2)) : ge("", !0),
          i.value ? (S(), D("div", {
            key: 1,
            class: x(e(n).be("icon"))
          }, [
            W(E.$slots, "icon", {}, () => [
              y(e(me), {
                renderer: e(l).slots.icon
              }, {
                default: X(() => [
                  y(e(Oe), He(w.value, {
                    scale: h.value ? 2 : 1,
                    style: { color: e(l).iconColor }
                  }), null, 16, ["scale", "style"])
                ]),
                _: 1
              }, 8, ["renderer"])
            ])
          ], 2)) : ge("", !0)
        ], 6))
      ]),
      _: 3
    }));
  }
}), tb = ft({
  active: String,
  viewer: [String, Object, Function],
  offset: Number,
  marker: M,
  scrollDuration: Number,
  markerTransition: String,
  options: Array,
  bindHash: M,
  forceActive: M,
  slots: Object,
  onChange: B()
}), nb = Jl({
  to: {
    type: String,
    default: ""
  },
  title: {
    type: String,
    default: ""
  },
  children: {
    type: Array,
    default: () => []
  }
}), lb = 14, Eu = "__VXP_ANCHOR_LINK_STATE", yd = "__VXP_ANCHOR_STATE", ab = ["href", "title"], kd = /* @__PURE__ */ Xe({
  name: "AnchorLink",
  __name: "anchor-link",
  props: nb,
  setup(t) {
    const r = t, l = Et(yd, null), a = Et(Eu, null), n = Ye("anchor"), o = $(a != null && a.indent ? (a == null ? void 0 : a.indent) + 1 : 1), s = $(!1), c = $(), d = pt({
      el: c,
      to: qe(r, "to"),
      active: s,
      indent: o
    }), p = g(() => ({
      [n.be("link")]: !0,
      [n.bem("link", "active")]: d.active
    })), m = g(() => ({
      paddingInlineStart: `${lb * o.value}px`
    }));
    nn(Eu, d), l && (le(
      () => l.currentActive,
      (f) => {
        s.value = f === r.to;
      }
    ), sn(() => {
      l.increaseLink(d);
    }), pn(() => {
      l.decreaseLink(d);
    }));
    function b() {
      return l && l.handleActive(r.to), !1;
    }
    return (f, u) => {
      const h = Js("AnchorLink", !0);
      return S(), D("li", {
        class: x(e(n).be("item"))
      }, [
        oe("a", {
          ref_key: "link",
          ref: c,
          class: x(p.value),
          href: f.to,
          style: Qe(m.value),
          title: f.title,
          onClick: gt(b, ["prevent"])
        }, [
          W(f.$slots, "default")
        ], 14, ab),
        f.$slots.group || f.children && f.children.length ? (S(), D("ul", {
          key: 0,
          class: x(e(n).be("list"))
        }, [
          W(f.$slots, "group", {}, () => [
            f.children && f.children.length ? (S(!0), D(st, { key: 0 }, ln(f.children, (i) => (S(), Be(h, {
              key: i.to,
              to: i.to,
              title: i.title,
              children: i.children
            }, {
              default: X(() => [
                dt(ze(i.label), 1)
              ]),
              _: 2
            }, 1032, ["to", "title", "children"]))), 128)) : ge("", !0)
          ])
        ], 2)) : ge("", !0)
      ], 2);
    };
  }
});
function rb(t, r, l, a, n) {
  const o = l - r, s = Math.ceil(o / a * 16), c = () => {
    typeof n == "function" && n();
  };
  if (!o) {
    c();
    return;
  }
  if (a <= 0) {
    t.scrollTo(0, l), c();
    return;
  }
  let d = r;
  const p = () => {
    o && (d = d + s, (l - d) / o <= 0 && (d = l), t.scrollTo(0, d), d === l ? c() : requestAnimationFrame(p));
  };
  p();
}
const ob = /* @__PURE__ */ Xe({
  name: "Anchor",
  __name: "anchor",
  props: tb,
  emits: ["update:active"],
  setup(t, { emit: r }) {
    const l = Ye("anchor"), n = ct("anchor", t, {
      active: {
        default: "",
        static: !0
      },
      viewer: {
        default: null,
        static: !0
      },
      offset: 8,
      marker: !1,
      scrollDuration: 500,
      markerTransition: () => l.ns("fade"),
      options: {
        default: () => [],
        static: !0
      },
      bindHash: !1,
      forceActive: !1,
      slots: () => ({})
    }), o = r, s = $(n.active), c = $(!1), d = $(0), p = /* @__PURE__ */ new Set(), m = $();
    let b, f = !1, u = null, h = null, i = 0;
    zt && !s.value && n.bindHash && (s.value = decodeURIComponent(location.hash)), nn(
      yd,
      pt({
        currentActive: s,
        increaseLink: v,
        decreaseLink: k,
        handleActive: E
      })
    ), le(
      () => n.active,
      (R) => {
        s.value = R;
      }
    ), le(() => n.viewer, T), sn(() => {
      T(), P();
    }), pn(() => {
      C(), clearTimeout(b);
    });
    function v(R) {
      p.add(R), R.active = s.value === R.to;
    }
    function k(R) {
      p.delete(R);
    }
    const w = _l();
    function T() {
      C(), zt && kt(() => {
        var G, ee, O, H;
        const R = n.viewer;
        i = 0;
        let L = null, I = "scroll";
        if (typeof R == "string" ? R.startsWith("ref:") ? (I = R.substring(4), I = I || "scroll") : ["window", "document", "html"].includes(R) ? L = window : R === "body" ? L = document.body : R === "root" ? L = w.root : L = document.querySelector(R) : typeof R == "function" ? L = R() : Rl(R) && (L = R), L === window || Rl(L) ? f = !0 : f = !1, f)
          u = L, u.addEventListener("scroll", z);
        else {
          for (L = L, L = hl(L == null ? void 0 : L.vnode) ? L : w.parent; L; ) {
            const U = (G = L.type) == null ? void 0 : G.name;
            if (U === "Scroll" || U === "NativeScroll") {
              h = Fa({ component: L });
              break;
            }
            const q = (ee = L.refs) == null ? void 0 : ee[I];
            if (q) {
              Rl(q) ? (f = !0, u = q) : h = q;
              break;
            }
            L = L.parent;
          }
          h ? (h.addScrollListener(z), u = h.$el) : u || (f = !0, u = (H = (O = w.parent) == null ? void 0 : O.proxy) == null ? void 0 : H.$el), f && u && u.addEventListener("scroll", z);
        }
      });
    }
    function F() {
      return u ? u === window ? document.documentElement : u : null;
    }
    function A(R) {
      if (!p.size || !u) return;
      const L = F().offsetTop, I = [];
      let G = R + n.offset;
      f && (G += L), p.forEach((O) => {
        const H = O.to;
        if (!H.startsWith("#")) return;
        const U = document.querySelector(H);
        U && I.push({
          link: H,
          offset: U.offsetTop
        });
      }), I.sort((O, H) => O.offset - H.offset), I.push({
        link: "",
        offset: 1 / 0
      });
      let ee = "";
      for (let O = 0, H = I.length - 1; O < H; ++O) {
        const U = I[O], q = I[O + 1];
        if (U.offset <= G && q.offset > G) {
          ee = U.link;
          break;
        }
      }
      i = R, s.value !== ee && (s.value = ee, o("update:active", ee), _(n.onChange, ee));
    }
    function z(R) {
      if (c.value) return;
      const L = f ? (R.target === window || R.target === document ? document.documentElement : R.target).scrollTop : R.clientY;
      A(L), P();
    }
    function C() {
      h && (h.removeScrollListener(z), h = null), u && u.removeEventListener("scroll", z);
    }
    function E(R) {
      if (!n.forceActive && R === s.value || !R.startsWith("#") || R.length < 2)
        return;
      const L = document.querySelector(R);
      if (!L) return;
      clearTimeout(b), c.value = !0;
      const I = L.offsetTop, G = Math.max(n.scrollDuration, 0);
      if (f && u) {
        const ee = F(), O = Math.min(
          I - ee.offsetTop - n.offset,
          ee.scrollHeight - ee.clientHeight
        );
        rb(ee, i, O, G, () => {
          b = setTimeout(() => {
            c.value = !1;
          }, 10);
        }), A(O), P();
      } else if (h) {
        const [ee, O] = h.getYScrollLimit(), H = Math.max(Math.min(I - n.offset, O), ee);
        h.scrollTo(0, H, G).then(() => {
          b = setTimeout(() => {
            c.value = !1;
          }, G + 10);
        }), A(H), P();
      } else
        c.value = !1;
      zt && n.bindHash && location && (location.hash = encodeURIComponent(s.value.replace(/^#/, "")));
    }
    function P() {
      var L;
      const R = Array.from(p).find(
        (I) => I.to && I.to === s.value
      );
      if (R != null && R.el) {
        const I = R.el.getBoundingClientRect(), G = ((L = m.value) == null ? void 0 : L.getBoundingClientRect().top) ?? 0;
        d.value = I.top - G + I.height / 2 + 0.5;
      }
    }
    return (R, L) => (S(), D("div", {
      ref_key: "wrapper",
      ref: m,
      class: x({
        [e(l).b()]: !0,
        [e(l).bs("vars")]: !0,
        [e(l).bm("inherit")]: e(n).inherit,
        [e(l).bm("no-marker")]: !e(n).marker
      })
    }, [
      oe("ul", {
        class: x(e(l).be("list"))
      }, [
        W(R.$slots, "default", {}, () => [
          y(e(me), {
            renderer: e(n).slots.default
          }, {
            default: X(() => [
              (S(!0), D(st, null, ln(e(n).options, (I) => (S(), Be(e(kd), {
                key: I.to,
                to: I.to,
                title: I.title,
                children: I.children
              }, {
                default: X(() => [
                  dt(ze(I.label), 1)
                ]),
                _: 2
              }, 1032, ["to", "title", "children"]))), 128))
            ]),
            _: 1
          }, 8, ["renderer"])
        ])
      ], 2),
      y(En, {
        appear: "",
        name: e(n).markerTransition
      }, {
        default: X(() => [
          e(n).marker && s.value ? (S(), D("div", {
            key: 0,
            class: x(e(l).be("marker")),
            style: Qe({ top: `${d.value}px` })
          }, [
            W(R.$slots, "marker", {}, () => [
              y(e(me), {
                renderer: e(n).slots.marker
              }, {
                default: X(() => [
                  oe("div", {
                    class: x(e(l).be("pointer"))
                  }, null, 2)
                ]),
                _: 1
              }, 8, ["renderer"])
            ])
          ], 6)) : ge("", !0)
        ]),
        _: 3
      }, 8, ["name"])
    ], 2));
  }
}), sb = ft({
  tag: String,
  gap: [Number, Array],
  justify: String,
  align: String,
  columnFlex: {
    type: [Boolean, Object],
    default: null
  }
}), _a = [Number, Object], ib = ft({
  tag: String,
  span: Number,
  offset: Number,
  push: Number,
  pull: Number,
  order: Number,
  xs: _a,
  sm: _a,
  md: _a,
  lg: _a,
  xl: _a,
  xxl: _a,
  flex: [Number, String],
  useFlex: {
    type: [Boolean, Object],
    default: null
  }
}), ub = Object.freeze(["xs", "sm", "md", "lg", "xl", "xxl"]), Hs = "__VXP_GRID_ROW_STATE", cb = Object.freeze([
  "start",
  "end",
  "center",
  "space-around",
  "space-between",
  "space-evenly"
]), db = Object.freeze(["top", "middle", "bottom", "stretch"]), gi = Xe({
  name: "Row",
  props: sb,
  setup(t, { slots: r }) {
    const l = ct("row", t, {
      tag: "div",
      gap: 0,
      justify: {
        default: "start",
        validator: (c) => cb.includes(c)
      },
      align: {
        default: "top",
        validator: (c) => db.includes(c)
      },
      columnFlex: !1
    }), a = Ye("row"), n = g(() => [
      a.b(),
      a.bs("vars"),
      a.bm(l.justify),
      a.bm(l.align),
      {
        [a.bm("inherit")]: l.inherit
      }
    ]), o = g(() => {
      if (!l.gap) return null;
      if (typeof l.gap == "number")
        return {
          [a.cv("h-gap")]: `${l.gap}px`
        };
      if (Array.isArray(l.gap)) {
        const [c, d] = l.gap;
        return {
          [a.cv("h-gap")]: `${c}px`,
          [a.cv("v-gap")]: `${d}px`
        };
      }
      return null;
    }), s = g(() => l.columnFlex === !0 ? {
      justify: "start",
      align: "top"
    } : l.columnFlex ? {
      justify: "start",
      align: "top",
      ...l.columnFlex
    } : !1);
    return nn(
      Hs,
      pt({
        columnFlex: s,
        gap: qe(l, "gap")
      })
    ), () => Jn(
      l.tag || "div",
      {
        class: n.value,
        style: o.value
      },
      {
        default: () => r.default && r.default()
      }
    );
  }
}), fb = ft({
  method: String,
  action: String,
  model: Object,
  rules: Object,
  labelWidth: [Number, String],
  labelAlign: String,
  allRequired: M,
  labelSuffix: String,
  hideAsterisk: M,
  validateAll: M,
  hideLabel: M,
  disabled: M,
  loading: M,
  size: An,
  inline: M,
  gap: [Number, Array],
  justify: String,
  align: String,
  onSubmit: B()
}), Ba = [Number, Object], pb = ft({
  locale: Mn(),
  label: String,
  prop: String,
  name: String,
  rules: [Object, Array],
  labelWidth: Number,
  required: M,
  htmlFor: String,
  errorTransition: String,
  defaultValue: {
    type: [String, Number, Boolean, Object, Array, Function],
    default: null
  },
  hideErrorTip: M,
  validateAll: M,
  hideAsterisk: M,
  hideLabel: M,
  action: M,
  help: String,
  pure: M,
  manual: M,
  span: Number,
  offset: Number,
  push: Number,
  pull: Number,
  order: Number,
  xs: Ba,
  sm: Ba,
  md: Ba,
  lg: Ba,
  xl: Ba,
  xxl: Ba,
  flex: [Number, String]
}), vb = ft({
  size: An,
  locale: Mn(),
  type: String,
  label: String,
  dashed: M,
  text: M,
  simple: M,
  ghost: M,
  disabled: M,
  circle: M,
  loadingIcon: Xt,
  loadingEffect: String,
  icon: Xt,
  color: String,
  buttonType: String,
  block: M,
  tag: String,
  onBeforeSubmit: Function,
  onSubmit: B(),
  onError: B()
}), hb = ft({
  size: An,
  locale: Mn(),
  type: String,
  label: String,
  dashed: M,
  text: M,
  simple: M,
  ghost: M,
  disabled: M,
  loading: M,
  circle: M,
  loadingIcon: Xt,
  loadingEffect: String,
  icon: Xt,
  color: String,
  buttonType: String,
  block: M,
  tag: String,
  onBeforeReset: Function,
  onReset: B()
}), yi = "__VXP_FORM_PROPS", wd = "__VXP_FORM_FIELDS", Yo = "__VXP_FORM_ACTIONS", Fr = "__VXP_FIELD_OPTIONS", mb = Object.freeze(["get", "post", "put", "delete"]), bb = Object.freeze(["right", "top", "left"]), gb = /* @__PURE__ */ Xe({
  name: "Form",
  inheritAttrs: !0,
  __name: "form",
  props: fb,
  setup(t, { expose: r }) {
    const a = ct("form", t, {
      method: {
        default: "post",
        validator: (w) => mb.includes(w)
      },
      action: null,
      model: {
        default: () => ({}),
        static: !0
      },
      rules: () => ({}),
      labelWidth: "auto",
      labelAlign: {
        default: "right",
        validator: (w) => bb.includes(w)
      },
      allRequired: !1,
      labelSuffix: "",
      hideAsterisk: !1,
      validateAll: !1,
      hideLabel: !1,
      disabled: !1,
      loading: !1,
      size: On(),
      inline: !1,
      gap: [8, 0],
      justify: "start",
      align: "top"
    }), n = Ye("form"), o = pt(/* @__PURE__ */ new Set()), s = g(() => [
      n.b(),
      n.bs("vars"),
      n.bm(`label-${a.labelAlign}`),
      {
        [n.bm("inherit")]: a.inherit,
        [n.bm("disabled")]: a.disabled,
        [n.bm("loading")]: a.loading,
        [n.bm(a.size)]: a.size !== "default",
        [n.bm("inline")]: a.inline
      }
    ]), c = g(() => Math.max(...Array.from(o).map((w) => w.labelWidth.value)));
    nn(yi, a), nn(wd, o), nn(Yo, {
      getLabelWidth: d,
      validate: m,
      validateFields: b,
      reset: u,
      resetFields: h,
      clearError: i,
      clearFieldsError: v
    }), r({
      validate: m,
      validateFields: b,
      reset: u,
      resetFields: h,
      clearError: i,
      clearFieldsError: v
    });
    function d() {
      return typeof a.labelWidth == "number" ? a.labelWidth : c.value;
    }
    function p() {
      const w = {};
      for (const T of o)
        T.prop.value && (w[T.prop.value] = T);
      return w;
    }
    function m() {
      return f(o);
    }
    function b(w) {
      Array.isArray(w) || (w = [w]);
      const T = p(), F = /* @__PURE__ */ new Set();
      return w.forEach((A) => {
        T[A] && F.add(T[A]);
      }), f(F);
    }
    function f(w) {
      const T = [];
      return w.forEach((F) => {
        T.push(F.validate());
      }), new Promise((F) => {
        Promise.all(T).then((A) => {
          F(A.flat().filter(Boolean));
        });
      });
    }
    function u() {
      o.forEach((w) => {
        w.reset();
      });
    }
    function h(w) {
      Array.isArray(w) || (w = [w]);
      const T = p();
      w.forEach((F) => {
        T[F] && T[F].reset();
      });
    }
    function i() {
      o.forEach((w) => {
        w.clearError();
      });
    }
    function v(w) {
      Array.isArray(w) || (w = [w]);
      const T = p();
      w.forEach((F) => {
        T[F] && T[F].clearError();
      });
    }
    function k(w) {
      w.stopPropagation(), a.action || w.preventDefault(), _(a.onSubmit, w);
    }
    return (w, T) => (S(), Be(e(gi), He(w.$attrs, {
      class: s.value,
      inherit: e(a).inherit,
      tag: "form",
      method: e(a).action && e(a).method,
      action: e(a).action,
      gap: e(a).gap,
      justify: e(a).justify,
      align: e(a).align,
      "column-flex": void 0,
      onSubmit: k,
      onReset: T[0] || (T[0] = gt(() => {
      }, ["prevent", "stop"]))
    }), {
      default: X(() => [
        W(w.$slots, "default")
      ]),
      _: 3
    }, 16, ["class", "inherit", "method", "action", "gap", "justify", "align"]));
  }
});
function Au(t, r, l = !1) {
  if (!t || !r) return null;
  if (typeof r == "string") {
    if (r in t) return t[r];
    r = r.split(".");
  }
  if (Array.isArray(r) && r.length) {
    const a = r.pop();
    if (!a) return null;
    for (let n = 0, o = r.length; n < o; ++n) {
      const s = String(r[n]);
      if (!s) break;
      if (t = t[s], Tt(t)) {
        if (l)
          throw new Error("[vexip-ui:Form] Get value by an invalid path");
        return t;
      }
    }
    if (l && Tt(t[a]))
      throw new Error("[vexip-ui:Form] Get value by an invalid path");
    return t[a];
  }
  return null;
}
function bs(t, r, l, a = !1) {
  if (!t || !r) return !1;
  if (typeof r == "string") {
    if (r in t)
      return t[r] = l, !0;
    r = r.split(".");
  }
  if (Array.isArray(r) && r.length) {
    const n = r.pop();
    if (!n) return !1;
    for (let o = 0, s = r.length; o < s; ++o) {
      const c = String(r[o]);
      if (!c)
        return !1;
      if (typeof t[c] != "object") {
        if (a)
          throw new Error("[vexip-ui:Form] Set value by an invalid path");
        t[c] = {};
      }
      t = t[c];
    }
    if (a && typeof t != "object")
      throw new Error("[vexip-ui:Form] Set value by an invalid path");
    return t[n] = l, !0;
  }
  return !1;
}
const Ru = g(() => {
}), yb = g(() => "default"), Mu = g(() => !1), kb = g(() => "default");
function Pu() {
  return {
    isField: !1,
    idFor: Ru,
    labelId: Ru,
    state: yb,
    disabled: Mu,
    loading: Mu,
    size: kb,
    validateField: Qt,
    clearField: Qt,
    resetField: sa,
    getFieldValue: (t) => t,
    setFieldValue: Qt
  };
}
function al(t) {
  const r = _l();
  if (!r) return Pu();
  const l = Et(Fr, null);
  if (!l)
    return Pu();
  nn(Fr, null), l.sync(r), t && l.emitter.on("focus", t), pn(() => {
    l.unSync(r), t && l.emitter.off("focus", t);
  });
  function a(n) {
    l && (l.setValue(n), l.clearError());
  }
  return {
    isField: !0,
    idFor: l.idFor,
    labelId: l.labelId,
    state: l.state,
    disabled: l.disabled,
    loading: l.loading,
    size: l.size,
    validateField: l.validate,
    clearField: a,
    resetField: l.reset,
    getFieldValue: l.getValue,
    setFieldValue: l.setValue
  };
}
const wb = "Validate failed", xd = "1\\d\\d|2([0-4]\\d|5[0-5])", xb = `[1-9](\\d)?|${xd}`, gs = `\\d{1,2}|${xd}`, Sb = `(?:${xb})\\.(?:${gs})\\.(?:${gs})\\.(?:${gs})`, Cb = "(?:[a-zA-Z0-9][\\w-]*\\.)?(?:[a-zA-Z0-9][\\w-]*)(?:\\.[a-zA-Z]+){1,2}", Tb = "(?:(?:[\\/]+[^\\?\\.]+)+)?(?:[\\/]*)?(\\?([^&\\.]+=[^&\\.]*)(&[^&\\.]+=[^&\\.]*)*)?(#.*)?", $b = new RegExp(
  `^(?:[a-z]{2,5}:(\\/+)?)?\\/\\/((?:${Sb})|(?:${Cb}))(?:${Tb})?$`
), Eb = /^(?:[a-zA-Z0-9][\w-]*)@(?:[a-zA-Z0-9][\w-]*)(?:\.[a-zA-Z]+){1,2}$/, Ab = /* @__PURE__ */ new Set([
  "string",
  "number",
  "boolean",
  "int",
  "float",
  "array",
  "object",
  "date",
  "url",
  "color",
  "email"
]);
async function Rb(t, r, l, a = !0, n = wb) {
  Array.isArray(t) || (t = [t]);
  const o = [];
  for (const s of t) {
    const { message: c = n, validator: d } = s;
    if (typeof d == "function") {
      let p;
      try {
        p = d(r, l), Sl(p) && (p = await p);
      } catch (m) {
        p = m instanceof Error ? m.message : m;
      }
      if (p !== !0) {
        const m = typeof p == "string" ? p : c;
        if (o.push(m), !a) break;
      }
    }
    if (s.required && !Mb(r) && (o.push(c), !a) || dn(r) && r !== "" && (s.enums && !Pb(r, s.enums) && (o.push(c), !a) || s.type && !zb(r, s.type, s) && (o.push(c), !a)))
      break;
  }
  return o;
}
function Mb(t) {
  return !(!dn(t) || t.toString().trim() === "" || Array.isArray(t) && !t.length || pl(t) && !Object.keys(t).length);
}
function Pb(t, r) {
  if (!Array.isArray(r) || !r.length) return !0;
  if (Array.isArray(t)) {
    const l = new Set(r);
    for (const a of t)
      if (!l.has(a))
        return !1;
    return !0;
  } else
    return r.includes(t);
}
function zb(t, r, l = {}) {
  if (!Ab.has(r)) return !0;
  switch (r) {
    case "string":
      return Lb(t, l.length, l.range);
    case "number":
      return ki(t, l.strict, l.length, l.range);
    case "boolean":
      return Fb(t, l.strict);
    case "int":
      return Ib(t, l.strict, l.length, l.range);
    case "float":
      return Nb(t, l.strict, l.length, l.range);
    case "array":
      return Array.isArray(t);
    case "object":
      return pl(t);
    case "date":
      return Db(t, l.strict);
    case "url":
      return Ob(t);
    case "color":
      return typeof t == "string" && Tc(t);
    case "email":
      return _b(t);
  }
}
function Lb(t, r, l) {
  if (typeof t != "string" || dn(r) && t.length !== r)
    return !1;
  if (Array.isArray(l)) {
    const [a, n] = l;
    if (a && t.length < a || n && t.length > n) return !1;
  }
  return !0;
}
function ki(t, r, l, a) {
  if (r) {
    if (typeof t != "number") return !1;
  } else if (t = Number(t), Number.isNaN(t)) return !1;
  const n = t;
  if (dn(l) && n.toString().length !== l)
    return !1;
  if (Array.isArray(a)) {
    const [o, s] = a;
    if (dn(o) && n < o || dn(s) && n > s) return !1;
  }
  return !0;
}
function Fb(t, r) {
  if (!r) {
    if (typeof t == "string")
      return t === "true" || t === "false";
    if (typeof t == "number")
      return t === 1 || t === 0;
  }
  return typeof t == "boolean";
}
function Ib(t, r, l, a) {
  if (ki(t, r, l, a)) {
    const n = rn(t);
    return Math.ceil(n) === n;
  }
  return !1;
}
function Nb(t, r, l, a) {
  if (ki(t, r, l, a)) {
    const n = rn(t);
    return r ? Math.ceil(n) !== n : n.toString().includes(".");
  }
  return !1;
}
function Db(t, r) {
  if (r && !(t instanceof Date))
    return !1;
  try {
    gl(t);
  } catch {
    return !1;
  }
  return !0;
}
function Ob(t) {
  return typeof t == "string" && $b.test(t);
}
function _b(t) {
  return typeof t == "string" && Eb.test(t);
}
const Bb = ft({
  size: An,
  state: Zn,
  locale: Mn(),
  type: String,
  prefix: Xt,
  prefixColor: String,
  suffix: Xt,
  suffixColor: String,
  formatter: Function,
  value: [String, Number],
  placeholder: String,
  autofocus: M,
  spellcheck: M,
  autocomplete: hn,
  readonly: M,
  disabled: M,
  controlClass: Bn,
  debounce: M,
  delay: Number,
  maxLength: Number,
  hideCount: M,
  before: String,
  after: String,
  /**
   * 是否显示切换 password 为明文的按钮
   */
  plainPassword: M,
  clearable: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  transparent: M,
  sync: M,
  controlAttrs: Object,
  name: String,
  slots: Object,
  onFocus: B(),
  onBlur: B(),
  onInput: B(),
  onChange: B(),
  onEnter: B(),
  onClear: B(),
  onPrefixClick: B(),
  onSuffixClick: B(),
  onKeyDown: B(),
  onKeyPress: B(),
  onKeyUp: B(),
  onCompositionStart: B(),
  onCompositionEnd: B()
});
function Hb(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const Vb = Object.freeze(["text", "password", "date", "datetime", "time"]);
function ys(t) {
  return Tt(t) ? "" : String(t);
}
const Vr = /* @__PURE__ */ Xe({
  name: "Input",
  props: Bb,
  emits: ["update:value"],
  setup(t, {
    slots: r,
    emit: l,
    expose: a
  }) {
    const {
      idFor: n,
      labelId: o,
      state: s,
      disabled: c,
      loading: d,
      size: p,
      validateField: m,
      clearField: b,
      getFieldValue: f,
      setFieldValue: u
    } = al(() => {
      var Ke;
      return (Ke = P.value) == null ? void 0 : Ke.focus();
    }), h = ct("input", t, {
      size: On(p),
      state: ll(s),
      locale: null,
      type: {
        default: "text",
        validator: (Ke) => Vb.includes(Ke)
      },
      prefix: en(),
      prefixColor: "",
      suffix: en(),
      suffixColor: "",
      formatter: {
        default: null,
        isFunc: !0
      },
      value: {
        default: () => f(),
        static: !0
      },
      placeholder: null,
      autofocus: !1,
      spellcheck: !1,
      autocomplete: !1,
      readonly: !1,
      disabled: () => c.value,
      controlClass: null,
      debounce: !1,
      delay: null,
      maxLength: 0,
      hideCount: !1,
      before: "",
      after: "",
      plainPassword: !1,
      clearable: !1,
      loading: () => d.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      transparent: !1,
      sync: !1,
      controlAttrs: null,
      name: {
        default: "",
        static: !0
      },
      slots: () => ({})
    }), i = ys(h.value), v = Ye("input"), k = Gt(), w = $(!1), T = $(i), F = $(!1), A = $(i.length), z = $(!1), C = $(!1), E = $(!1), P = $(), {
      wrapper: R,
      isHover: L
    } = Ql(), I = vn("input", qe(h, "locale"));
    let G = h.value;
    const ee = g(() => !!(r.before || r.beforeAction || r["before-action"] || h.before || h.slots.before || h.slots.beforeAction)), O = g(() => !!(r.after || r.afterAction || r["after-action"] || h.after || h.slots.after || h.slots.afterAction)), H = g(() => ({
      [v.bs("wrapper")]: !0,
      [v.bs("vars")]: !0,
      [v.bm("inherit")]: h.inherit,
      [v.bm(h.size)]: h.size !== "default"
    })), U = g(() => h.loading && h.loadingLock || h.readonly), q = g(() => [v.b(), v.bm(h.type), !ee.value && !O.value && H.value, {
      [v.bm("focused")]: w.value,
      [v.bm("disabled")]: h.disabled,
      [v.bm("readonly")]: U.value,
      [v.bm("loading")]: h.loading,
      [v.bm(h.state)]: h.state !== "default",
      [v.bm("before")]: r.beforeAction || r["before-action"] || h.slots.before,
      [v.bm("after")]: r.afterAction || r["after-action"] || h.slots.after,
      [v.bm("transparent")]: h.transparent,
      [v.bm("plain-password")]: h.plainPassword
    }]), Z = g(() => ({
      ...H.value,
      [v.bm(`wrapper--${h.size}`)]: h.size !== "default",
      [v.bs("wrapper--before-only")]: ee.value && !O.value,
      [v.bs("wrapper--after-only")]: !ee.value && O.value,
      [v.bm("transparent")]: h.transparent
    })), K = g(() => !!(r.prefix || h.prefix || h.slots.prefix)), we = g(() => !!(r.suffix || h.suffix || h.slots.suffix)), de = g(() => {
      const Ke = h.type;
      return Ke === "password" ? F.value ? "text" : "password" : Ke === "datetime" ? "datetime-local" : Ke;
    }), te = g(() => typeof h.formatter == "function" ? ys(h.formatter(T.value)) : T.value), Ee = g(() => F.value ? k.value.plainText : k.value.cipherText), Se = g(() => !(Tt(T.value) || T.value === "")), Ce = g(() => !h.disabled && !U.value && h.clearable && Se.value && L.value), fe = g(() => typeof h.autocomplete == "boolean" ? h.autocomplete ? "on" : "off" : h.autocomplete);
    le(() => h.value, (Ke) => {
      T.value = ys(Ke), G = T.value, J();
    }), le([te, P], () => {
      P.value && (P.value.value = te.value);
    }, {
      immediate: !0,
      flush: "post"
    }), a({
      idFor: n,
      labelId: o,
      focused: w,
      currentValue: T,
      showPassword: F,
      currentLength: A,
      composing: E,
      input: P,
      copyValue: Mt,
      focus: (Ke) => {
        var Ct;
        (Ct = P.value) == null || Ct.focus(Ke);
      },
      blur: () => {
        var Ke;
        (Ke = P.value) == null || Ke.blur();
      }
    });
    function ot() {
      return typeof h.value == "number" ? parseFloat(T.value) : T.value;
    }
    function Ze(Ke) {
      w.value || (w.value = !0, _(h.onFocus, Ke));
    }
    function Je(Ke) {
      w.value && (w.value = !1, setTimeout(() => {
        w.value || (_(h.onBlur, Ke), G !== ot() && ue("change"));
      }, 120));
    }
    function se(Ke) {
      const Ct = Ke.type;
      if (E.value) {
        if (Ct === "input") return;
        E.value = !1;
      }
      T.value = Ke.target.value, J();
      const ve = T.value;
      ne(ve, Ct);
    }
    function ne(Ke, Ct, ve = h.sync) {
      T.value = Ke, ue(Ct, ve);
    }
    function ue(Ke, Ct = h.sync) {
      Ke = Ke === "input" ? "input" : "change";
      const ve = ot();
      Ke === "change" ? (G = ve, Ct || (l("update:value", ve), u(ve)), _(h.onChange, ve), Ct || m()) : (Ct && (l("update:value", ve), u(ve)), _(h.onInput, ve), Ct && m());
    }
    function J() {
      let Ke = T.value;
      if (Tt(Ke)) {
        A.value = 0;
        return;
      }
      const Ct = h.maxLength;
      Ct && Ke.length > Ct && (Ke = Ke.slice(0, Ct)), A.value = Ke.length, T.value = Ke;
    }
    function N() {
      h.disabled || (F.value = !F.value, kt(() => {
        var Ke;
        (Ke = P.value) == null || Ke.focus();
      }));
    }
    function j(Ke) {
      var Ct;
      h.disabled || U.value || (Ke.stopPropagation(), ne("", "change", !1), _(h.onClear), kt(() => b("")), A.value = 0, (Ct = P.value) == null || Ct.focus());
    }
    function ae() {
      _(h.onEnter);
    }
    function be(Ke) {
      _(h.onPrefixClick, Ke);
    }
    function re(Ke) {
      _(h.onSuffixClick, Ke);
    }
    function ce(Ke) {
      _(h.onKeyDown, Ke);
    }
    function Pe(Ke) {
      _(h.onKeyPress, Ke);
    }
    function at(Ke) {
      Ke.key === "Enter" && ae(), _(h.onKeyUp, Ke);
    }
    function yt(Ke) {
      E.value = !0, _(h.onCompositionStart, Ke);
    }
    function Nt(Ke) {
      E.value && (E.value = !1, P.value && P.value.dispatchEvent(new Event("input"))), _(h.onCompositionEnd, Ke);
    }
    function Mt() {
      const Ke = document.createElement("input");
      Ke.style.height = "0", Ke.setAttribute("readonly", "readonly"), Ke.value = T.value, document.body.appendChild(Ke), Ke.select();
      const Ct = document.execCommand("copy");
      return document.body.removeChild(Ke), Ct;
    }
    function Ht(Ke) {
      Ke.preventDefault();
    }
    const _t = rn(h.delay), tn = h.debounce ? da(se, _t || 100) : Cl(se, _t || 16);
    function Wt() {
      return y("div", {
        class: [v.be("icon"), v.be("prefix")],
        style: {
          color: h.prefixColor
        },
        onClick: be
      }, [W(r, "prefix", void 0, () => [y(me, {
        renderer: h.slots.prefix
      }, {
        default: () => [y(Oe, {
          icon: h.prefix
        }, null)]
      })])]);
    }
    function un() {
      return we.value ? y("div", {
        key: "suffix",
        class: [v.be("icon"), v.be("suffix")],
        style: {
          color: h.suffixColor,
          opacity: Ce.value || h.loading ? "0%" : ""
        },
        onClick: re
      }, [W(r, "suffix", void 0, () => [y(me, {
        renderer: h.slots.suffix
      }, {
        default: () => [y(Oe, {
          icon: h.suffix
        }, null)]
      })])]) : h.clearable || h.loading ? y("div", {
        key: "placeholder",
        class: [v.be("icon"), v.bem("icon", "placeholder")]
      }, null) : null;
    }
    function qt() {
      return Ce.value ? y("button", {
        key: "clear",
        class: [v.be("icon"), v.be("clear")],
        type: "button",
        tabindex: -1,
        "aria-label": I.value.ariaLabel.clear,
        onClick: j
      }, [y(Oe, He(k.value.clear, {
        label: "clear"
      }), null)]) : h.loading ? y("div", {
        key: "loading",
        class: [v.be("icon"), v.be("loading")]
      }, [y(Oe, He(k.value.loading, {
        effect: h.loadingEffect || k.value.loading.effect,
        icon: h.loadingIcon || k.value.loading.icon,
        label: "loading"
      }), null)]) : null;
    }
    function pe() {
      let Ke;
      return y("div", {
        class: v.be("suffix-wrapper")
      }, [un(), y(En, {
        name: v.ns("fade"),
        appear: !0
      }, Hb(Ke = qt()) ? Ke : {
        default: () => [Ke]
      })]);
    }
    function Re() {
      return y("div", {
        class: v.be("count")
      }, [W(r, "count", {
        value: T.value
      }, () => [y(me, {
        renderer: h.slots.count,
        data: {
          value: T.value
        }
      }, {
        default: () => [h.maxLength === 1 / 0 ? A.value : `${A.value}/${h.maxLength}`]
      })])]);
    }
    function he() {
      return h.type === "password" && h.plainPassword ? y("div", {
        key: "password",
        class: [v.be("icon"), v.be("password")],
        style: {
          color: h.suffixColor
        },
        onClick: N
      }, [W(r, "password", {
        plain: F.value
      }, () => [y(me, {
        renderer: h.slots.password,
        data: {
          plain: F.value
        }
      }, {
        default: () => [y(Oe, Ee.value, null)]
      })])]) : null;
    }
    function Fe() {
      var Ke, Ct;
      return y("div", {
        id: n.value,
        ref: R,
        class: q.value,
        onClick: () => {
          var ve;
          return (ve = P.value) == null ? void 0 : ve.focus();
        }
      }, [K.value && Wt(), y("input", He(h.controlAttrs, {
        ref: P,
        class: [v.be("control"), (Ke = h.controlAttrs) == null ? void 0 : Ke.class, h.controlClass],
        type: de.value,
        autofocus: h.autofocus,
        autocomplete: fe.value,
        spellcheck: h.spellcheck,
        disabled: h.disabled,
        readonly: U.value || void 0,
        placeholder: h.placeholder ?? I.value.placeholder,
        maxlength: h.maxLength > 0 ? h.maxLength : void 0,
        name: h.name || ((Ct = h.controlAttrs) == null ? void 0 : Ct.name),
        "aria-labelledby": o.value,
        onBlur: Je,
        onFocus: Ze,
        onInput: tn,
        onChange: se,
        onKeypress: Pe,
        onKeydown: ce,
        onKeyup: at,
        onSubmit: Ht,
        onCompositionstart: yt,
        onCompositionend: Nt
      }), null), pe(), h.maxLength > 0 && !h.hideCount ? Re() : null, he()]);
    }
    function lt(Ke) {
      const Ct = r[`${Ke}Action`] || r[`${Ke}-action`] || h.slots[`${Ke}Action`];
      return Ct ? y("div", {
        class: [v.be(Ke), v.bem(Ke, "action")],
        onMouseenter: () => (Ke === "before" ? z : C).value = !0,
        onMouseleave: () => (Ke === "before" ? z : C).value = !1
      }, [Ct()]) : y("div", {
        class: v.be(Ke)
      }, [r[Ke] ? r[Ke]() : y(me, {
        renderer: h.slots[Ke]
      }, {
        default: () => [h[Ke]]
      })]);
    }
    return () => ee.value || O.value ? y("div", {
      class: Z.value
    }, [ee.value && lt("before"), Fe(), O.value && lt("after")]) : Fe();
  },
  methods: {
    focus: Qt,
    blur: Qt
  }
}), jb = ft({
  placement: String,
  scroll: Number,
  barLength: Number,
  width: Number,
  appear: M,
  fade: Number,
  barColor: String,
  trackColor: String,
  disabled: M,
  wrapper: [String, Object],
  duration: Number,
  useTrack: M,
  trackSpeed: Number,
  onScrollStart: B(),
  onScroll: B(),
  onScrollEnd: B()
});
var ql = /* @__PURE__ */ ((t) => (t[t.HORIZONTAL = 0] = "HORIZONTAL", t[t.VERTICAL = 1] = "VERTICAL", t))(ql || {});
const Wb = Object.freeze([
  "top",
  "right",
  "bottom",
  "left"
]);
function Kb({
  currentScroll: t = $(0),
  trackSpeed: r = $(2),
  track: l = $(null),
  bar: a = $(null),
  tracking: n = $(!1),
  type: o = $(ql.VERTICAL),
  barLength: s = $(35),
  disabled: c = $(!1),
  onDown: d = Qt,
  onMove: p = Qt,
  onUp: m = Qt,
  onScroll: b = Qt
}) {
  let f, u, h, i, v = !0, k = !1;
  function w() {
    if (!n.value) return;
    k = !0;
    const C = Ub(i, t.value);
    let E = !1;
    v ? t.value < i && (t.value += C * r.value, E = !0) : t.value > i && (t.value -= C * r.value, E = !0), E && (z(), b(t.value)), (n.value && v ? t.value < i : t.value > i) ? requestAnimationFrame(w) : k = !1;
  }
  function T(C) {
    if (c.value || C.button > 0 || (C.stopPropagation(), C.preventDefault(), !l.value || !a.value)) return !1;
    document.addEventListener("pointermove", F), document.addEventListener("pointerup", A);
    const E = l.value.getBoundingClientRect(), P = a.value.getBoundingClientRect();
    let R;
    o.value === ql.VERTICAL ? (f = E.height, u = P.top - E.top, h = P.top, R = u + C.clientY - h) : (f = E.width, u = P.left - E.left, h = P.left, R = u + C.clientX - h), i = Math.max(
      0,
      Math.min(R / f / (100 - s.value / 2) * 1e4, 100)
    ), v = i >= t.value, n.value = !0, d(t.value), w();
  }
  function F(C) {
    C.stopPropagation(), wl || C.preventDefault(), p(t.value);
    let E;
    o.value === ql.VERTICAL ? E = u + C.clientY - h : E = u + C.clientX - h, i = Math.max(
      0,
      Math.min(E / f / (100 - s.value / 2) * 1e4, 100)
    ), !k && w();
  }
  function A(C) {
    C.preventDefault(), document.removeEventListener("pointermove", F), document.removeEventListener("pointerup", A), n.value = !1, m(t.value);
  }
  function z() {
    t.value = Math.max(0, Math.min(t.value, 100));
  }
  return {
    currentScroll: t,
    trackSpeed: r,
    track: l,
    bar: a,
    tracking: n,
    type: o,
    barLength: s,
    disabled: c,
    handleMouseDown: T
  };
}
function Ub(t, r) {
  const l = Math.abs(t - r);
  for (let a = 0; a < 5; ++a)
    if (l < (a + 1) * 20)
      return 1 + 0.25 * a;
  return 2;
}
const Ma = /* @__PURE__ */ Xe({
  name: "Scrollbar",
  __name: "scrollbar",
  props: jb,
  setup(t, { expose: r }) {
    const a = ct("scrollbar", t, {
      placement: {
        default: "right",
        validator: (H) => Wb.includes(H)
      },
      scroll: {
        default: 0,
        validator: (H) => H >= 0 && H <= 100,
        static: !0
      },
      barLength: {
        default: 35,
        validator: (H) => H > 0 && H < 100
      },
      width: null,
      appear: !1,
      fade: 1500,
      barColor: null,
      trackColor: null,
      disabled: !1,
      wrapper: null,
      duration: null,
      useTrack: !1,
      trackSpeed: {
        default: 2,
        validator: (H) => H > 0 && H < 10
      }
    }), n = Ye("scrollbar"), o = $(!1), s = $(!1), { manualRef: c, triggerUpdate: d } = ci(), { isRtl: p } = Un(), m = c(a.scroll), b = $(), f = $(), u = $(), { timer: h } = Vn(), i = g(() => a.placement === "right" || a.placement === "left" ? ql.VERTICAL : ql.HORIZONTAL), { tracking: v, handleMouseDown: k } = Kb({
      currentScroll: m,
      track: u,
      bar: f,
      type: i,
      trackSpeed: qe(a, "trackSpeed"),
      barLength: qe(a, "barLength"),
      disabled: qe(a, "disabled"),
      onDown: (H) => {
        clearTimeout(h.fade), _(a.onScrollStart, H);
      },
      // onMove: () => clearTimeout(timer.fade),
      onUp: (H) => {
        G(), d(), _(a.onScrollEnd, H);
      },
      onScroll: (H) => {
        d(), _(a.onScroll, H);
      }
    }), w = g(() => [
      n.b(),
      n.bs("vars"),
      n.bm(a.placement),
      {
        [n.bm("inherit")]: a.inherit,
        [n.bm("fade")]: a.fade,
        [n.bm("scrolling")]: s.value,
        [n.bm("tracking")]: v.value,
        [n.bm("active")]: o.value,
        [n.bm("disabled")]: a.disabled
      }
    ]), T = g(() => ({
      [n.cv("bar-bg-color")]: a.barColor,
      [n.cv("track-bg-color")]: a.trackColor,
      [n.cv("width")]: a.width ? `${a.width}px` : null
    }));
    le(
      () => a.scroll,
      (H) => {
        m.value = H, d();
      }
    ), In(() => {
      if (!f.value) return;
      const H = `${(100 - a.barLength) * m.value / a.barLength}%`, U = `${a.barLength}%`;
      i.value === ql.VERTICAL ? (f.value.style.height = U, f.value.style.transform = `translate3d(0, ${H}, 0)`) : (f.value.style.width = U, f.value.style.transform = `translate3d(${p.value ? "-" : ""}${H}, 0, 0)`);
    }), In(() => {
      f.value && (f.value.style.transitionDuration = dn(a.duration) && a.duration >= 0 ? `${a.duration}ms` : "");
    }), a.appear && le(m, () => {
      clearTimeout(h.fade), o.value = !0, !s.value && !v.value && G();
    });
    const F = Cl(() => {
      clearTimeout(h.fade), a.disabled ? o.value = !1 : (o.value = !0, !s.value && !v.value && G());
    });
    let A;
    sn(() => {
      let H = _l();
      kt(() => {
        var U, q, Z;
        typeof a.wrapper == "string" ? A = document.querySelector(a.wrapper) : A = a.wrapper, A || (H != null && H.parent ? (A = (U = H.parent.proxy) == null ? void 0 : U.$el, A || (A = ((q = b.value) == null ? void 0 : q.parentElement) ?? null)) : A = ((Z = b.value) == null ? void 0 : Z.parentElement) ?? null), A && a.fade >= 300 && A.addEventListener("mousemove", F), H = null, a.appear || le(m, () => {
          clearInterval(h.fade), o.value = !0, G();
        });
      });
    }), pn(() => {
      A && A.removeEventListener("mousemove", F), A = null, clearTimeout(h.fade);
    }), r({
      currentScroll: m,
      container: b,
      bar: f,
      track: u,
      handleScroll: ee
    });
    let z, C, E;
    function P(H) {
      if (H.button !== 0 || a.disabled || (H.stopPropagation(), H.preventDefault(), !u.value || !f.value)) return !1;
      document.addEventListener("pointermove", R), document.addEventListener("pointerup", L);
      const U = u.value.getBoundingClientRect(), q = f.value.getBoundingClientRect();
      i.value === ql.VERTICAL ? (z = U.height, C = q.top - U.top, E = H.clientY) : (z = U.width, C = p.value ? q.right - U.right : q.left - U.left, E = H.clientX), clearTimeout(h.fade), s.value = !0, _(a.onScrollStart, m.value);
    }
    function R(H) {
      H.stopPropagation(), wl || H.preventDefault();
      let U;
      i.value === ql.VERTICAL ? U = C + H.clientY - E : U = p.value ? -(C + H.clientX - E) : C + H.clientX - E, m.value = U / z / (100 - a.barLength) * 1e4, I(), d(), _(a.onScroll, m.value);
    }
    function L(H) {
      H.preventDefault(), document.removeEventListener("pointermove", R), document.removeEventListener("pointerup", L), G(), s.value = !1, _(a.onScrollEnd, m.value);
    }
    function I() {
      m.value = Math.max(0, Math.min(m.value, 100));
    }
    function G() {
      a.fade >= 300 && (h.fade = setTimeout(() => {
        o.value = !1;
      }, a.fade));
    }
    function ee(H) {
      Math.abs(m.value - H) < 1e-4 || (m.value = cn(H, 0, 100), d());
    }
    function O(H) {
      H.cancelable && (H.stopPropagation(), H.preventDefault());
    }
    return (H, U) => (S(), D("div", {
      ref_key: "container",
      ref: b,
      class: x(w.value),
      role: "scrollbar",
      style: Qe(T.value)
    }, [
      oe("div", {
        ref_key: "track",
        ref: u,
        class: x([e(n).be("track"), e(a).useTrack ? null : e(n).bem("track", "disabled")]),
        onTouchstart: O,
        onPointerdown: U[0] || (U[0] = //@ts-ignore
        (...q) => e(k) && e(k)(...q))
      }, null, 34),
      oe("div", {
        ref_key: "bar",
        ref: f,
        class: x(e(n).be("bar")),
        onTouchstart: O,
        onPointerdown: P
      }, null, 34)
    ], 6));
  }
}), Xb = ft({
  throttle: La,
  disabled: M,
  onResize: B()
}), zn = Xe({
  name: "ResizeObserver",
  props: Xb,
  setup(t, { slots: r }) {
    const l = ct("resizeObserver", t, {
      throttle: {
        default: !1,
        validator: (b) => typeof b == "boolean" || b > 0
      },
      disabled: !1
    }), { observeResize: a, unobserveResize: n } = Nm();
    let o = !1;
    function s(b) {
      _(l.onResize, b);
    }
    const c = l.throttle ? Cl(s, typeof l.throttle == "boolean" ? 16 : l.throttle) : s, d = _l();
    sn(() => {
      le(
        () => l.disabled,
        (b) => {
          b ? m() : p();
        },
        { immediate: !0, flush: "post" }
      );
    }), pn(() => {
      var b, f;
      if (o) {
        const u = (f = (b = _l()) == null ? void 0 : b.proxy) == null ? void 0 : f.$el;
        u != null && u.nextElementSibling && n(u.nextElementSibling);
      }
    });
    function p() {
      var f;
      if (o) return;
      const b = (f = d == null ? void 0 : d.proxy) == null ? void 0 : f.$el;
      if (b != null && b.nextElementSibling) {
        if (b.nextElementSibling !== b.nextSibling && b.nodeType === 3 && b.nodeValue !== "")
          return;
        a(b.nextElementSibling, c), o = !0;
      }
    }
    function m() {
      var b;
      if (o) {
        const f = (b = d == null ? void 0 : d.proxy) == null ? void 0 : b.$el;
        f != null && f.nextElementSibling && n(f.nextElementSibling), o = !1;
      }
    }
    return () => W(r, "default");
  }
}), Yb = ft({
  scrollClass: Bn,
  scrollStyle: kl,
  scrollAttrs: Object,
  mode: String,
  width: [Number, String],
  height: [Number, String],
  disabled: M,
  pointer: M,
  scrollX: Number,
  scrollY: Number,
  useXBar: M,
  useYBar: M,
  barFade: Number,
  barClass: Bn,
  autoplay: La,
  playWaiting: Number,
  appear: M,
  barDuration: Number,
  useBarTrack: M,
  scrollTag: String,
  observeDeep: M,
  scrollOnly: M,
  onResize: B(),
  onXEnabledChange: B(),
  onYEnabledChange: B(),
  onWheel: B(),
  onScrollStart: B(),
  onScroll: B(),
  onScrollEnd: B(),
  onBarScrollStart: B(),
  onBarScroll: B(),
  onBarScrollEnd: B()
});
function qb(t) {
  const { el: r, xFrom: l = 0, xTo: a = 0, yFrom: n = 0, yTo: o = 0, duration: s = 500, callback: c = null } = t;
  if (!r) return;
  const d = () => {
    typeof c == "function" && c();
  };
  if (s <= 0) {
    r.scrollTo(a, o), d();
    return;
  }
  const p = a - l, m = o - n;
  if (!p && !m) {
    d();
    return;
  }
  const b = Math.ceil(p / s * 16), f = Math.ceil(m / s * 16);
  let u = l, h = n;
  const i = () => {
    u += b, h += f, p && (a - u) / p <= 0 && (u = a), m && (o - h) / m <= 0 && (h = o), r.scrollTo(u, h), (!p || u === a) && (!m || h === o) ? d() : requestAnimationFrame(i);
  };
  i();
}
function Gb({
  mode: t,
  disabled: r,
  appear: l,
  scrollX: a,
  scrollY: n,
  onResize: o,
  onBeforeRefresh: s,
  onAfterRefresh: c
}) {
  const { manualRef: d, triggerUpdate: p } = ci(), { isRtl: m } = Un(), b = $(), f = pt({
    el: b,
    scrollWidth: 0,
    offsetWidth: 0,
    scrollHeight: 0,
    offsetHeight: 0
  }), u = d(0), h = d(0), i = d(0), v = d(0), k = g(() => f.el ? f.scrollWidth - f.offsetWidth : 0), w = g(() => f.el ? f.scrollHeight - f.offsetHeight : 0), T = g(() => !r.value && t.value !== "vertical" && !!f.el && f.scrollWidth > f.offsetWidth), F = g(() => !r.value && t.value !== "horizontal" && !!f.el && f.scrollHeight > f.offsetHeight), A = g(() => f.el ? cn(f.offsetWidth / (f.scrollWidth || 1) * 100, 5, 99) : 35), z = g(() => f.el ? cn(f.offsetHeight / (f.scrollHeight || 1) * 100, 5, 99) : 35);
  le(b, () => {
    L();
  }), le(a, (q) => {
    C(q);
  }), le(n, (q) => {
    E(q);
  });
  function C(q) {
    u.value = cn(q, 0, k.value), P();
  }
  function E(q) {
    h.value = cn(q, 0, w.value), P();
  }
  function P() {
    f.el && f.el.scrollTo({
      top: h.value,
      left: m.value ? -u.value : u.value,
      behavior: "instant"
    });
  }
  const { isMounted: R } = _r();
  function L() {
    !f.el || Fs(f.el) || (f.scrollWidth = f.el.scrollWidth, f.offsetWidth = f.el.offsetWidth, f.scrollHeight = f.el.scrollHeight, f.offsetHeight = f.el.offsetHeight, t.value !== "vertical" && C(!R.value && l.value ? a.value : u.value || 0), t.value !== "horizontal" && E(!R.value && l.value ? n.value : h.value || 0), I(), p());
  }
  function I() {
    f.el && (i.value = m.value ? -br(u.value / (k.value || 1), 100, 2) : br(u.value / (k.value || 1), 100, 2), v.value = br(h.value / (w.value || 1), 100, 2));
  }
  function G(q) {
    ee(), o == null || o(q);
  }
  sn(() => {
    ee(), l.value && O(a.value, n.value);
  });
  const ee = Ln(() => new Promise((q) => {
    typeof s == "function" && s(), L(), setTimeout(() => {
      typeof c == "function" && c(), q();
    }, 0);
  }));
  function O(q, Z, K = 500) {
    return new Promise((we) => {
      f.el && ((!T.value || Math.abs(u.value - q) < 0.01) && (q = u.value), (!F.value || Math.abs(h.value - Z) < 0.01) && (Z = h.value), qb({
        duration: K,
        el: f.el,
        xFrom: u.value,
        xTo: cn(q, 0, k.value),
        yFrom: h.value,
        yTo: cn(Z, 0, w.value),
        callback: we
      }));
    });
  }
  function H(q, Z, K = 500) {
    return O(u.value + q, h.value + Z, K);
  }
  function U(q, Z, K = 0) {
    if (!f.el || (typeof q == "string" && (q = f.el.querySelector(q)), !Rl(q))) return Promise.resolve();
    const we = f.el.getBoundingClientRect(), de = q.getBoundingClientRect();
    let te = 0, Ee = 0;
    return t.value !== "vertical" && (te = de.left - we.left + K), t.value !== "horizontal" && (Ee = de.top - we.top + K), O(te, Ee, Z);
  }
  return {
    contentEl: b,
    content: f,
    x: u,
    y: h,
    percentX: i,
    percentY: v,
    xScrollLimit: k,
    yScrollLimit: w,
    enableXScroll: T,
    enableYScroll: F,
    xBarLength: A,
    yBarLength: z,
    handleResize: da(G),
    setScrollX: C,
    setScrollY: E,
    computePercent: I,
    refresh: ee,
    scrollTo: O,
    scrollBy: H,
    scrollToElement: U,
    triggerUpdate: p
  };
}
function zu(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const Zb = Object.freeze(["horizontal", "vertical", "both"]), Lu = "mousemove", Fu = "mouseup", Al = /* @__PURE__ */ Xe({
  name: "NativeScroll",
  inheritAttrs: !1,
  props: Yb,
  emits: [],
  setup(t, {
    attrs: r,
    slots: l,
    expose: a
  }) {
    const n = ct("nativeScroll", t, {
      scrollClass: null,
      scrollStyle: null,
      scrollAttrs: null,
      mode: {
        default: "vertical",
        validator: (Ie) => Zb.includes(Ie)
      },
      width: "",
      height: "",
      disabled: !1,
      pointer: !1,
      scrollX: {
        default: 0,
        static: !0
      },
      scrollY: {
        default: 0,
        static: !0
      },
      useXBar: !1,
      useYBar: !1,
      barFade: 1500,
      barClass: null,
      autoplay: !1,
      playWaiting: 500,
      appear: !1,
      barDuration: null,
      useBarTrack: !1,
      scrollTag: "div",
      observeDeep: !1,
      scrollOnly: !1
    }), o = ai(), s = Ye("native-scroll"), {
      isRtl: c
    } = Un(), d = $(!1), p = $(!1), m = $(), b = $(), f = $();
    let u = !1;
    const {
      contentEl: h,
      content: i,
      x: v,
      y: k,
      percentX: w,
      percentY: T,
      xScrollLimit: F,
      yScrollLimit: A,
      enableXScroll: z,
      enableYScroll: C,
      xBarLength: E,
      yBarLength: P,
      handleResize: R,
      setScrollX: L,
      setScrollY: I,
      computePercent: G,
      refresh: ee,
      scrollTo: O,
      scrollBy: H,
      scrollToElement: U,
      triggerUpdate: q
    } = Gb({
      mode: qe(n, "mode"),
      disabled: qe(n, "disabled"),
      appear: qe(n, "appear"),
      // width: toRef(props, 'width'),
      // height: toRef(props, 'height'),
      scrollX: qe(n, "scrollX"),
      scrollY: qe(n, "scrollY"),
      onResize: (Ie) => {
        _(n.onResize, Ie);
      },
      // onBeforeRefresh: stopAutoplay,
      onAfterRefresh: () => {
        ae(), u || (u = !0, Se());
      }
    }), Z = yl({
      getState: he,
      refresh: ee,
      scrollTo: O,
      scrollBy: H,
      scrollToElement: U,
      ensureInView: Ke
    }), K = $(!1), we = g(() => n.mode !== "both" && (pc(n.autoplay) || +n.autoplay > 1e3) && (n.mode === "horizontal" && z.value || n.mode === "vertical" && C.value));
    le([() => n.autoplay, () => n.playWaiting, h], () => {
      Ce(), kt(Se);
    });
    let de, te, Ee;
    pn(Ce);
    function Se() {
      if (Ce(), !we.value || !h.value) return;
      const Ie = n.mode, Me = Ie === "horizontal" ? "offsetWidth" : "offsetHeight", Ge = Ie === "horizontal" ? F : A, mt = Ie === "horizontal" ? v : k, bt = n.playWaiting < 20 ? 20 : n.playWaiting, Ot = Ie === "horizontal" ? L : I;
      let Vt = 0.5;
      typeof n.autoplay == "number" && (Vt = h.value[Me] / n.autoplay * 16);
      const $e = () => {
        Ot(mt.value + Vt), mt.value >= Ge.value ? (Ot(Ge.value), K.value = !1, G(), q(), ae(), Ee = setTimeout(() => {
          O(0, 0, 500), te = setTimeout(() => {
            K.value = !0, $e();
          }, 500 + bt);
        }, bt)) : (G(), q(), ae(), K.value && requestAnimationFrame($e));
      };
      de = setTimeout(() => {
        K.value = !0, $e();
      }, bt);
    }
    function Ce() {
      K.value = !1, clearTimeout(de), clearTimeout(te), clearTimeout(Ee);
    }
    const fe = g(() => [s.b(), s.bm(n.mode), {
      [s.bm("inherit")]: n.inherit,
      [s.bm("scrolling")]: p.value,
      [s.bm("using-bar")]: d.value
    }]), ot = g(() => {
      const {
        width: Ie,
        height: Me
      } = n;
      return {
        width: Ie ? typeof Ie == "string" ? Number.isNaN(Number(Ie)) ? Ie : `${Number(Ie)}px` : `${Ie}px` : void 0,
        height: Me ? typeof Me == "string" ? Number.isNaN(Number(Me)) ? Me : `${Number(Me)}px` : `${Me}px` : void 0
      };
    }), Ze = g(() => {
      var Ie;
      return [(Ie = n.scrollAttrs) == null ? void 0 : Ie.class, n.scrollClass, s.be("wrapper")];
    }), Je = g(() => we.value ? 0 : n.barFade), se = $(!1);
    function ne() {
      se.value = !0, kt(ee), requestAnimationFrame(() => {
        se.value = !1;
      });
    }
    let ue;
    function J() {
      !zt || !h.value || (ue = new MutationObserver(ne), ue.observe(h.value, {
        childList: !0
      }));
    }
    function N() {
      ue == null || ue.disconnect(), ue = void 0;
    }
    le(h, () => {
      N(), J();
    }, {
      immediate: !0
    }), le(z, (Ie) => {
      _(n.onXEnabledChange, Ie);
    }), le(C, (Ie) => {
      _(n.onYEnabledChange, Ie);
    }), a({
      x: v,
      y: k,
      percentX: w,
      percentY: T,
      xScrollLimit: F,
      yScrollLimit: A,
      xBarLength: E,
      yBarLength: P,
      enableXScroll: z,
      enableYScroll: C,
      wrapper: m,
      content: h,
      xBar: b,
      yBar: f,
      refresh: ee,
      scrollTo: O,
      scrollBy: H,
      scrollToElement: U,
      ensureInView: Ke,
      getXScrollLimit: Fe,
      getYScrollLimit: lt,
      addScrollListener: Ct,
      removeScrollListener: ve
    });
    function j() {
      return {
        clientX: (c.value ? -1 : 1) * v.value,
        clientY: k.value,
        percentX: w.value,
        percentY: T.value
      };
    }
    function ae() {
      var Ie, Me;
      (Ie = b.value) == null || Ie.handleScroll(w.value), (Me = f.value) == null || Me.handleScroll(T.value);
    }
    function be(Ie) {
      if (!n.pointer || Ie.button !== 0 || wl)
        return !1;
      yt(Ie);
    }
    let re = 0, ce = 0, Pe = 0, at = 0;
    function yt(Ie) {
      if (!z.value && !C.value)
        return !1;
      tn(), re = v.value, ce = k.value, Pe = Ie.clientX, at = Ie.clientY, document.addEventListener(Lu, Nt), document.addEventListener(Fu, Mt), _(n.onScrollStart, j());
    }
    function Nt(Ie) {
      Ie.stopPropagation(), Ie.preventDefault(), p.value = !0, z.value && L(re - (Ie.clientX - Pe)), C.value && I(ce - (Ie.clientY - at)), G(), q(), ae(), Re(n.mode);
    }
    function Mt() {
      document.removeEventListener(Lu, Nt), document.removeEventListener(Fu, Mt), _(n.onScrollEnd, j()), Se();
    }
    function Ht(Ie, Me) {
      const Ge = C.value && Me === "vertical", mt = z.value && Me === "horizontal", bt = Ie.deltaY > 0 ? 1 : -1;
      if (_(n.onWheel, Ie, Me), Ge || mt) {
        const Ot = Ge ? A.value : F.value, Vt = Ge ? k.value : v.value;
        if (bt > 0 ? Vt < Ot : Vt > 0)
          return Ie.stopPropagation(), !1;
      }
    }
    function _t(Ie) {
      var Ge;
      if (!h.value) return;
      Ie.stopPropagation();
      const Me = ((Ge = h.value) == null ? void 0 : Ge.scrollLeft) !== v.value ? "horizontal" : "vertical";
      k.value = h.value.scrollTop, v.value = h.value.scrollLeft, G(), q(), ae(), Re(Me);
    }
    function tn() {
      Ce();
    }
    function Wt(Ie) {
      d.value = !0, tn(), _(n.onBarScrollStart, {
        ...j(),
        type: Ie
      });
    }
    function un(Ie) {
      d.value = !1, Se(), _(n.onBarScrollEnd, {
        ...j(),
        type: Ie
      });
    }
    function qt(Ie) {
      w.value = Ie, L(Ie * F.value / 100), q(), _(n.onBarScroll, {
        ...j(),
        type: "horizontal"
      }), Re("horizontal");
    }
    function pe(Ie) {
      T.value = Ie, I(Ie * A.value / 100), q(), _(n.onBarScroll, {
        ...j(),
        type: "vertical"
      }), Re("vertical");
    }
    function Re(Ie) {
      _(n.onScroll, {
        ...j(),
        type: Ie
      }), o.emit("scroll", {
        ...j(),
        type: Ie
      });
    }
    function he() {
      const {
        clientX: Ie,
        clientY: Me,
        percentX: Ge,
        percentY: mt
      } = j();
      return {
        scrollX: Ie,
        scrollY: Me,
        percentX: Ge,
        percentY: mt,
        enableXScroll: z.value,
        enableYScroll: C.value
      };
    }
    function Fe() {
      return [0, F.value];
    }
    function lt() {
      return [0, A.value];
    }
    function Ke(Ie, Me, Ge = 0) {
      if (!m.value || (typeof Ie == "string" && (Ie = m.value.querySelector(Ie)), !Rl(Ie))) return Promise.resolve();
      const mt = m.value.getBoundingClientRect(), bt = Ie.getBoundingClientRect();
      let Ot = 0, Vt = 0;
      return n.mode !== "vertical" && (bt.left < mt.left + Ge ? Ot = bt.left - mt.left - Ge : bt.right > mt.right - Ge && (Ot = bt.right - mt.right + Ge)), n.mode !== "horizontal" && (bt.top < mt.top + Ge ? Vt = bt.top - mt.top - Ge : bt.bottom > mt.bottom - Ge && (Vt = bt.bottom - mt.bottom + Ge)), H(Ot, Vt, Me);
    }
    function Ct(Ie) {
      o.on("scroll", Ie);
    }
    function ve(Ie) {
      o.off("scroll", Ie);
    }
    function Ve() {
      var Ge;
      const Ie = n.scrollTag || "div", Me = n.observeDeep && l.default ? W(l, "default", Z).children : [];
      return y(Ie, He(n.scrollAttrs, n.scrollOnly ? r : {}, {
        ref: h,
        class: Ze.value,
        style: [(Ge = n.scrollAttrs) == null ? void 0 : Ge.style, n.scrollStyle, n.scrollOnly && ot.value],
        onMousedown: be,
        onWheelPassive: (mt) => Ht(mt, mt.shiftKey ? "horizontal" : "vertical"),
        onScroll: _t
      }), {
        default: () => [l.extra && y("div", {
          class: s.be("extra"),
          style: {
            width: se.value ? void 0 : `${i.scrollWidth}px`,
            height: se.value ? void 0 : `${i.scrollHeight}px`
          }
        }, [y("div", {
          class: s.be("extra-inner"),
          style: {
            width: `${i.offsetWidth}px`,
            height: `${i.offsetHeight}px`
          }
        }, [W(l, "extra", Z)])]), l.default && (n.observeDeep ? Gc(Me).map((mt, bt) => y(zn, {
          key: mt.key ?? bt,
          "on-resize": R
        }, {
          default: () => mt
        })) : W(l, "default", Z))]
      });
    }
    return () => {
      var Me, Ge;
      let Ie;
      if (n.scrollOnly) {
        let mt;
        return y(zn, {
          "on-resize": R
        }, zu(mt = Ve()) ? mt : {
          default: () => [mt]
        });
      }
      return y("div", He(r, {
        ref: m,
        class: [fe.value, r.class],
        style: [ot.value, r.style]
      }), [(Me = Yn(l, ["prefix-trap", "prefixTrap"])) == null ? void 0 : Me(), y(zn, {
        "on-resize": R
      }, zu(Ie = Ve()) ? Ie : {
        default: () => [Ie]
      }), n.useXBar && y(Ma, {
        ref: b,
        inherit: !0,
        placement: "bottom",
        class: [s.bem("bar", "horizontal"), n.barClass],
        fade: Je.value,
        "bar-length": E.value,
        disabled: !z.value,
        appear: n.appear,
        duration: n.barDuration,
        "use-track": n.useBarTrack,
        onScrollStart: () => Wt("horizontal"),
        onScroll: qt,
        onScrollEnd: () => un("horizontal")
      }, null), n.useYBar && y(Ma, {
        ref: f,
        inherit: !0,
        placement: "right",
        class: [s.bem("bar", "vertical"), n.barClass],
        fade: Je.value,
        "bar-length": P.value,
        disabled: !C.value,
        appear: n.appear,
        duration: n.barDuration,
        "use-track": n.useBarTrack,
        onScrollStart: () => Wt("vertical"),
        onScroll: pe,
        onScrollEnd: () => un("vertical")
      }, null), (Ge = Yn(l, ["suffix-trap", "suffixTrap"])) == null ? void 0 : Ge()]);
    };
  }
}), Jb = Jl({
  value: Eo,
  label: {
    type: String,
    default: ""
  },
  disabled: {
    type: Boolean,
    default: !1
  },
  divided: {
    type: Boolean,
    default: !1
  },
  title: {
    type: String,
    default: ""
  },
  hitting: {
    type: Boolean,
    default: !1
  },
  noHover: {
    type: Boolean,
    default: !1
  },
  selected: {
    type: Boolean,
    default: !1
  },
  onSelect: B()
}), Qb = Jl({
  label: {
    type: String,
    default: ""
  },
  divided: {
    type: Boolean,
    default: !1
  }
}), eg = ["title", "aria-disabled", "aria-selected"], qo = /* @__PURE__ */ Xe({
  name: "Option",
  __name: "option",
  props: Jb,
  setup(t) {
    const r = t, l = Ye("option"), a = g(() => ({
      [l.b()]: !0,
      [l.bs("vars")]: !0,
      [l.bm("disabled")]: r.disabled,
      [l.bm("selected")]: !r.disabled && r.selected,
      [l.bm("divided")]: r.divided,
      [l.bm("hitting")]: r.hitting,
      [l.bm("no-hover")]: r.noHover
    }));
    function n() {
      r.disabled || _(r.onSelect);
    }
    return (o, s) => (S(), D("li", {
      ref: "wrapper",
      class: x(a.value),
      title: o.title || void 0,
      role: "option",
      "aria-disabled": e(fl)(o.disabled),
      "aria-selected": o.selected,
      onClick: n
    }, [
      W(o.$slots, "default", {}, () => [
        dt(ze(o.label || o.value), 1)
      ])
    ], 10, eg));
  }
}), tg = ft({
  items: Array,
  tag: String,
  attrFlag: hn,
  static: M,
  maxCount: Number,
  onRestChange: B(),
  onToggle: B()
});
function ng(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const Go = /* @__PURE__ */ Xe({
  name: "Overflow",
  inheritAttrs: !1,
  props: tg,
  emits: [],
  setup(t, {
    attrs: r,
    slots: l,
    expose: a
  }) {
    const n = ct("overflow", t, {
      items: {
        default: null,
        static: !0
      },
      tag: "div",
      attrFlag: !1,
      static: !1,
      maxCount: 0
    }), o = Ye("overflow"), s = $(0), c = $(), d = $(), p = $(), m = g(() => [o.b(), o.bs("vars"), {
      [o.bm("inherit")]: n.inherit,
      [o.bm("manual")]: n.maxCount > 0
    }]), b = g(() => n.attrFlag ? n.attrFlag === !0 ? "hidden" : n.attrFlag : !1);
    le([() => {
      var F;
      return (F = n.items) == null ? void 0 : F.length;
    }, () => n.maxCount], () => {
      kt(w);
    }), a({
      refresh: w
    }), sn(w);
    function f(F, A) {
      b.value ? A ? F.removeAttribute(b.value) : F.setAttribute(b.value, "") : A ? F.style.display = "" : F.style.display = "none";
    }
    function u(F) {
      const A = getComputedStyle(F), z = parseFloat(A.marginLeft) || 0, C = parseFloat(A.marginRight) || 0;
      return z + C;
    }
    function h(F) {
      const A = F instanceof Element ? getComputedStyle(F) : F, z = parseFloat(A.paddingLeft) || 0, C = parseFloat(A.paddingRight) || 0;
      return z + C;
    }
    function i(F) {
      return F.offsetWidth + u(F);
    }
    let v = !1, k = s.value;
    function w() {
      const F = d.value;
      if (!c.value || !F) return;
      f(F, !0);
      const A = c.value.children, z = A.length, C = p.value, E = z - (C ? 2 : 1);
      let P = !1;
      if (n.maxCount > 0) {
        for (let H = 0; H < E; ++H) {
          const U = A[H];
          U.style.display = H < n.maxCount ? "" : "none";
        }
        n.maxCount >= E ? (f(F, !1), s.value = 0) : (s.value = E - n.maxCount, P = s.value > 0), T(P);
        return;
      }
      const R = getComputedStyle(c.value), L = c.value.offsetWidth - h(R), I = parseFloat(R.columnGap) || 0, G = u(F), ee = [];
      let O = C ? C.offsetWidth + u(C) + I : 0;
      for (let H = 0; H < E; ++H) {
        if (H < 0) continue;
        const U = A[H];
        if (P) {
          f(U, !1);
          continue;
        } else
          f(U, !0);
        const q = i(U) + I;
        if (O += q, ee[H] = q, O > L) {
          for (let Z = H; Z >= 0; --Z)
            if (s.value = E - Z, O -= ee[Z], O + F.offsetWidth + G <= L || !Z) {
              P = !0, H = Z - 1, C && (C.style.maxWidth = H === -1 ? `${L - F.offsetWidth}px` : "");
              break;
            }
        }
      }
      T(P);
    }
    function T(F) {
      k !== s.value && (k = s.value, _(n.onRestChange, s.value)), d.value && f(d.value, F), F !== v && (v = F, _(n.onToggle, F));
    }
    return () => {
      var R;
      let F;
      const A = n.tag || "div", z = l.default, C = n.static, E = ((R = l.counter) == null ? void 0 : R.call(l, {
        count: s.value
      })[0]) || null;
      return y(zn, {
        onResize: w
      }, ng(F = y(A, He(r, {
        ref: c,
        class: m.value
      }), {
        default: () => [z && dn(n.items) ? n.items.map((L, I) => {
          const G = z({
            item: L,
            index: I
          })[0];
          return C ? (G.key = I, G) : y(zn, {
            key: I,
            onResize: w
          }, {
            default: () => G
          });
        }) : z == null ? void 0 : z(), y("span", {
          ref: d
        }, [E]), l.suffix ? y(zn, {
          onResize: w
        }, {
          default: () => [y("div", {
            ref: p,
            class: o.be("suffix")
          }, [l.suffix()])]
        }) : null]
      })) ? F : {
        default: () => [F]
      });
    };
  }
}), Zo = /* @__PURE__ */ Xe({
  name: "Portal",
  __name: "portal",
  props: {
    to: {
      type: String,
      default: ""
    }
  },
  setup(t) {
    return (r, l) => (S(), Be(Mf, {
      to: t.to || "body",
      disabled: !t.to
    }, [
      W(r.$slots, "default")
    ], 8, ["to", "disabled"]));
  }
}), lg = ft({
  visible: M,
  alive: M,
  to: String,
  transition: String,
  appear: M,
  role: String,
  onBeforeEnter: B(),
  onEnter: B(),
  onAfterEnter: B(),
  onEnterCancelled: B(),
  onBeforeLeave: B(),
  onLeave: B(),
  onAfterLeave: B(),
  onLeaveCancelled: B()
}), ag = Xe({
  name: "Popper",
  components: {
    Portal: Zo
  },
  inheritAttrs: !1,
  props: lg,
  emits: [],
  setup(t) {
    const r = Ye("popper"), l = ct("popper", t, {
      visible: !1,
      alive: !1,
      to: "",
      transition: () => r.ns("drop"),
      appear: !1,
      role: "dialog"
    }), a = Or(), n = $(10), o = $();
    le(
      () => l.visible,
      (c) => {
        l.to && c && (n.value = a());
      },
      { immediate: !0 }
    );
    function s(c, d) {
      switch (c) {
        case "be":
          _(l.onBeforeEnter, d);
          break;
        case "e":
          _(l.onEnter, d);
          break;
        case "ae":
          _(l.onAfterEnter, d);
          break;
        case "ec":
          _(l.onEnterCancelled, d);
          break;
        case "bl":
          _(l.onBeforeLeave, d);
          break;
        case "l":
          _(l.onLeave, d);
          break;
        case "al":
          _(l.onAfterLeave, d);
          break;
        case "lc":
          _(l.onLeaveCancelled, d);
          break;
      }
    }
    return {
      nh: r,
      props: l,
      zIndex: n,
      wrapper: o,
      emitHookEvent: s
    };
  }
}), jr = (t, r) => {
  const l = t.__vccOpts || t;
  for (const [a, n] of r)
    l[a] = n;
  return l;
}, rg = ["role"];
function og(t, r, l, a, n, o) {
  const s = Js("Portal");
  return S(), Be(s, {
    to: t.props.to
  }, {
    default: X(() => [
      y(En, {
        name: t.props.transition,
        appear: t.props.appear,
        onBeforeEnter: r[0] || (r[0] = (c) => t.emitHookEvent("be", c)),
        onEnter: r[1] || (r[1] = (c) => t.emitHookEvent("e", c)),
        onAfterEnter: r[2] || (r[2] = (c) => t.emitHookEvent("ae", c)),
        onEnterCancelled: r[3] || (r[3] = (c) => t.emitHookEvent("ec", c)),
        onBeforeLeave: r[4] || (r[4] = (c) => t.emitHookEvent("bl", c)),
        onLeave: r[5] || (r[5] = (c) => t.emitHookEvent("l", c)),
        onAfterLeave: r[6] || (r[6] = (c) => t.emitHookEvent("al", c)),
        onLeaveCancelled: r[7] || (r[7] = (c) => t.emitHookEvent("lc", c))
      }, {
        default: X(() => [
          t.props.alive || t.props.visible ? el((S(), D("div", He({
            key: 0,
            ref: "wrapper"
          }, t.$attrs, {
            class: [t.nh.b(), t.props.to !== "body" && t.nh.bm("inherit")],
            role: t.props.role,
            style: { zIndex: t.props.to && t.props.visible ? t.zIndex : void 0 }
          }), [
            W(t.$slots, "default")
          ], 16, rg)), [
            [tl, !t.props.alive || t.props.visible]
          ]) : ge("", !0)
        ]),
        _: 3
      }, 8, ["name", "appear"])
    ]),
    _: 3
  }, 8, ["to"]);
}
const Xl = /* @__PURE__ */ jr(ag, [["render", og]]), sg = ft({
  size: An,
  type: String,
  border: M,
  closable: M,
  color: String,
  simple: M,
  circle: M,
  prefix: [String, Number],
  prefixBg: String,
  prefixColor: String,
  suffix: [String, Number],
  suffixBg: String,
  suffixColor: String,
  disabled: M,
  slots: Object,
  onClose: B()
}), ig = Object.freeze(["default", "primary", "info", "success", "error", "warning", "lime", "pink", "magenta", "tomato", "orange", "cyan", "navy", "gold", "purple"]), Gl = /* @__PURE__ */ Xe({
  name: "Tag",
  components: {
    Icon: Oe
  },
  props: sg,
  emits: [],
  setup(t, {
    slots: r
  }) {
    const l = ct("tag", t, {
      size: On(),
      type: {
        default: "default",
        validator: (p) => ig.includes(p)
      },
      border: !1,
      closable: !1,
      color: null,
      simple: !1,
      circle: !1,
      prefix: "",
      prefixBg: "",
      prefixColor: "",
      suffix: "",
      suffixBg: "",
      suffixColor: "",
      disabled: !1,
      slots: () => ({})
    }), a = Ye("tag"), n = Gt(), o = g(() => ({
      [a.b()]: !0,
      [a.bs("vars")]: !0,
      [a.bm("inherit")]: l.inherit,
      [a.bm(l.size)]: l.size !== "default",
      [a.bm(l.type)]: l.type !== "default",
      [a.bm("border")]: l.border,
      [a.bm("simple")]: l.simple,
      [a.bm("circle")]: l.circle,
      [a.bm("closable")]: l.closable,
      [a.bm("disabled")]: l.disabled
    })), s = g(() => {
      if (!l.color) return;
      const p = zt ? getComputedStyle(document.documentElement) : null, m = Qn((p == null ? void 0 : p.getPropertyValue(a.nv("color-white"))) || "#fff"), b = Qn(l.color), f = b.toString();
      return a.cvm({
        color: "var(--vxp-color-white)",
        "bg-color": f,
        "b-color": f,
        "close-color": "var(--vxp-color-white)",
        "d-color": ia(m, b, 0.3).toString(),
        ...l.simple || l.border ? {
          color: f,
          "close-color": f
        } : {},
        ...l.simple ? {
          "bg-color": ml(b, 0.2).toString()
        } : {}
      });
    });
    function c(p) {
      if (!l.closable || l.disabled || p.button > 0)
        return !1;
      p.stopPropagation(), _(l.onClose);
    }
    function d() {
      return l.closable ? y("button", {
        type: "button",
        class: a.be("close"),
        onClick: c
      }, [y(Oe, He(n.value.close, {
        label: "close"
      }), null)]) : null;
    }
    return () => {
      const p = !!(l.prefix === 0 || l.prefix || r.prefix || l.slots.prefix), m = !!(l.suffix === 0 || l.suffix || r.suffix || l.slots.suffix);
      return y("div", {
        class: o.value,
        style: s.value
      }, [p ? y("span", {
        class: [a.be("unit"), a.be("prefix")],
        style: {
          color: l.prefixColor,
          backgroundColor: l.prefixBg,
          borderColor: l.prefixBg
        }
      }, [W(r, "prefix", void 0, () => [y(me, {
        renderer: l.slots.prefix
      }, {
        default: () => [l.prefix]
      })])]) : null, y("span", {
        class: [a.be("unit"), a.be("content")]
      }, [W(r, "default", void 0, () => [y(me, {
        renderer: l.slots.default
      }, null)]), !m && d()]), m ? y("span", {
        class: [a.be("unit"), a.be("suffix")],
        style: {
          color: l.suffixColor,
          backgroundColor: l.suffixBg,
          borderColor: l.suffixBg
        }
      }, [W(r, "suffix", void 0, () => [y(me, {
        renderer: l.slots.suffix
      }, {
        default: () => [l.suffix]
      })]), d()]) : null]);
    };
  }
}), ug = ft({
  trigger: [String, Array],
  wrapper: hn,
  noArrow: M,
  transitionName: String,
  visible: M,
  placement: String,
  outsideClose: M,
  noHover: M,
  tipClass: Bn,
  tipStyle: kl,
  transfer: hn,
  disabled: M,
  raw: M,
  delay: [Number, Array],
  tipAlive: M,
  reverse: M,
  width: [String, Number],
  virtual: Object,
  shift: {
    type: [Boolean, String],
    default: null
  },
  onToggle: B(),
  onTipEnter: B(),
  onTipLeave: B(),
  onClickOutside: B(),
  onOutsideClose: B()
});
function cg(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const dg = dt("").type, Fl = /* @__PURE__ */ Xe({
  name: "Tooltip",
  inheritAttrs: !0,
  props: ug,
  emits: ["clickoutside", "update:visible"],
  setup(t, {
    attrs: r,
    slots: l,
    emit: a,
    expose: n
  }) {
    const o = Ye("tooltip"), s = ct("tooltip", t, {
      trigger: {
        default: "hover",
        validator: (fe) => ["hover", "click", "focus", "hover-focus", "custom"].includes(fe)
      },
      wrapper: !1,
      noArrow: !1,
      transitionName: () => o.ns("fade"),
      visible: !1,
      placement: {
        default: "top",
        validator: (fe) => Wl.includes(fe)
      },
      outsideClose: !0,
      noHover: !1,
      tipClass: null,
      tipStyle: null,
      transfer: !1,
      disabled: !1,
      raw: !1,
      delay: 250,
      tipAlive: !1,
      reverse: !1,
      width: "auto",
      virtual: null,
      shift: !1
    }), c = Zl(), d = fa(), {
      timer: p
    } = Vn(), m = qe(s, "placement"), b = $(s.visible), f = $(s.visible), u = qe(s, "transfer"), h = $(100);
    let i = !1, v = !1;
    const k = g(() => s.trigger === "hover" || s.trigger === "hover-focus"), w = g(() => s.trigger === "focus" || s.trigger === "hover-focus"), T = $(), F = g(() => {
      var ot;
      const fe = ((ot = s.virtual) == null ? void 0 : ot.$el) ?? s.virtual;
      if (fe) {
        if ("getBoundingClientRect" in fe)
          return fe;
        if ("x" in fe && "y" in fe)
          return {
            getBoundingClientRect: () => ({
              x: fe.x,
              y: fe.y,
              left: fe.x,
              top: fe.y,
              width: 0,
              height: 0
            })
          };
      }
      return T.value;
    }), A = g(() => Rl(F.value) ? F.value : null), z = g(() => typeof s.delay == "number" ? new Array(2).fill(Math.max(s.delay, 0)) : s.delay.map((fe) => Math.max(fe, 0))), C = $(), E = g(() => {
      var fe;
      return (fe = C.value) == null ? void 0 : fe.wrapper;
    }), P = $(), R = g(() => {
      if (!s.shift)
        return {
          mainAxis: !1,
          crossAxis: !1
        };
      if (s.shift === !0 || s.shift === "both")
        return {
          mainAxis: !0,
          crossAxis: !0
        };
      const fe = m.value.split("-")[0];
      return s.shift === (fe === "top" || fe === "bottom" ? "vertical" : "horizontal") ? {
        mainAxis: !1,
        crossAxis: !0
      } : {
        mainAxis: !0,
        crossAxis: !1
      };
    }), {
      transferTo: L,
      updatePopper: I
    } = Kl({
      placement: m,
      transfer: u,
      arrow: P,
      reference: F,
      shift: R,
      wrapper: T,
      popper: E
    });
    Hl(te, T), Hl(() => {
      b.value && !T.value && te();
    }, E);
    const G = g(() => s.width === "auto" ? s.tipStyle : s.width === "trigger" ? [{
      width: `${h.value}px`
    }, s.tipStyle] : [{
      width: `${s.width}px`
    }, s.tipStyle]), ee = yl({
      toggleVisible: O,
      updatePopper: I
    });
    Dn(A, "mouseenter", q), Dn(A, "mouseleave", Z), Dn(A, "click", K), Dn(A, "focus", we), Dn(A, "blur", de), Dn(E, "mouseenter", q), Dn(E, "mouseleave", Z), le(() => s.visible, (fe) => {
      b.value = fe, fe && (f.value = !0, I());
    }), le(() => s.disabled, (fe) => {
      fe && O(!1);
    }), n({
      rendering: f,
      trigger: A,
      toggleVisible: O,
      updatePopper: I
    });
    function O(fe = !b.value) {
      b.value !== fe && (b.value = fe, fe && (H(), f.value = !0, I()), a("update:visible", fe), _(s.onToggle, fe));
    }
    function H() {
      A.value && (h.value = A.value.offsetWidth);
    }
    function U() {
      return k.value && i || w.value && v;
    }
    function q() {
      s.disabled || (k.value && (clearTimeout(p.hover), p.hover = setTimeout(() => {
        i = !0, O(U());
      }, z.value[0] ?? d.value)), _(s.onTipEnter));
    }
    function Z() {
      s.disabled || (k.value && (clearTimeout(p.hover), p.hover = setTimeout(() => {
        i = !1, O(U());
      }, z.value[1] ?? d.value)), _(s.onTipLeave));
    }
    function K() {
      s.disabled || s.trigger === "click" && O();
    }
    function we() {
      s.disabled || w.value && (v = !0, O(U()));
    }
    function de() {
      s.disabled || w.value && (v = !1, O(U()));
    }
    function te() {
      s.disabled || (_(s.onClickOutside), s.outsideClose && s.trigger !== "custom" && b.value && (O(!1), _(s.onOutsideClose)));
    }
    function Ee(fe) {
      fe ? T.value = fe.nextElementSibling : T.value = void 0;
    }
    function Se() {
      f.value = b.value;
    }
    function Ce(fe) {
      fe.stopPropagation();
    }
    return () => {
      var se;
      const fe = s.wrapper ? s.wrapper === !0 ? "span" : s.wrapper : null, ot = (se = l.trigger) == null ? void 0 : se.call(l, ee), Ze = ot ? ot[0] : null;
      return [Ze && (fe ? y(fe, He(r, {
        ref: T,
        class: [o.b(), o.bs("vars"), s.inherit && o.bm("inherit")],
        "aria-describedby": c.value
      }), cg(ot) ? ot : {
        default: () => [ot]
      }) : y(st, {
        ref: Ee
      }, [Ze ? Ze.type === dg || Ze.type === st ? fe ? y("span", null, [Ze]) : y("span", r, [Ze]) : (fe || (Ze.props = He(Ze.props || {}, r, {
        "aria-describedby": c.value
      })), Ze) : null])), !s.disabled && (s.tipAlive || f.value) && y(Xl, {
        ref: C,
        id: c.value,
        class: {
          [o.be("popper")]: !0,
          [o.bs("vars")]: !0,
          [o.bem("popper", s.reverse ? "dark" : "light")]: !0,
          [o.bem("popper", "no-hover")]: s.noHover,
          [o.bem("popper", "no-arrow")]: s.noArrow
        },
        appear: !0,
        visible: b.value,
        alive: s.tipAlive,
        to: L.value,
        transition: s.transitionName,
        role: "tooltip",
        tabindex: -1,
        onClick: Ce,
        onAnimationend: Se,
        onTransitionend: Se
      }, {
        default: () => [y("div", {
          class: [!s.raw && o.be("tip"), s.tipClass],
          style: G.value
        }, [W(l, "default", ee)]), !s.raw && !s.noArrow && y("div", {
          ref: P,
          class: o.be("arrow")
        }, null)]
      })];
    };
  }
}), fg = ft({
  items: Array,
  itemSize: Number,
  itemFixed: M,
  idKey: String,
  defaultKeyAt: [Number, String, Symbol],
  bufferSize: Number,
  listTag: String,
  itemsTag: String,
  hideBar: M,
  lockItems: M,
  itemsAttrs: Object,
  autoplay: M,
  ignoreResize: M,
  disabled: M,
  onScroll: B(),
  onResize: B()
}), Wr = /* @__PURE__ */ Xe({
  name: "VirtualList",
  components: {
    NativeScroll: Al,
    ResizeObserver: zn
  },
  inheritAttrs: !1,
  props: fg,
  emits: [],
  setup(t, {
    slots: r,
    attrs: l,
    expose: a
  }) {
    const n = ct("virtualList", t, {
      items: {
        default: () => [],
        static: !0
      },
      itemSize: 36,
      itemFixed: !1,
      idKey: "id",
      defaultKeyAt: null,
      bufferSize: 5,
      listTag: "div",
      itemsTag: "ul",
      itemsAttrs: null,
      hideBar: !1,
      lockItems: !1,
      autoplay: !1,
      ignoreResize: !1,
      disabled: !1
    }), o = Ye("virtual-list"), {
      items: s,
      itemSize: c,
      itemFixed: d,
      idKey: p,
      bufferSize: m
    } = dc(n), b = $(), f = $(), u = g(() => {
      var Z;
      return (Z = b.value) == null ? void 0 : Z.content;
    }), {
      indexMap: h,
      heightTree: i,
      scrollOffset: v,
      visibleItems: k,
      listStyle: w,
      itemsStyle: T,
      handleScroll: F,
      handleResize: A,
      handleItemResize: z,
      scrollTo: C,
      scrollBy: E,
      scrollToKey: P,
      scrollToIndex: R,
      ensureIndexInView: L,
      ensureKeyInView: I
    } = Vm({
      items: s,
      itemSize: c,
      itemFixed: d,
      idKey: p,
      bufferSize: m,
      wrapper: u,
      defaultKeyAt: n.defaultKeyAt
    });
    a({
      scroll: b,
      wrapper: u,
      list: f,
      indexMap: h,
      heightTree: i,
      scrollOffset: v,
      scrollTo: C,
      scrollBy: E,
      scrollToKey: P,
      scrollToIndex: R,
      ensureIndexInView: L,
      ensureKeyInView: I,
      refresh: U
    }), le(() => n.items.length, () => {
      kt(U);
    });
    const G = g(() => [o.b(), n.inherit && o.bm("inherit"), n.disabled && o.bm("disabled"), l.class]);
    function ee(Z) {
      F(), _(n.onScroll, Z);
    }
    function O(Z) {
      n.ignoreResize || (A(Z), _(n.onResize, Z));
    }
    function H(Z, K) {
      !n.lockItems && !n.ignoreResize && z(Z, K);
    }
    async function U() {
      var Z;
      await ((Z = b.value) == null ? void 0 : Z.refresh()), F();
    }
    function q(Z) {
      const K = n.idKey, we = n.itemFixed, de = h.value, {
        class: te,
        style: Ee,
        ...Se
      } = n.itemsAttrs || {}, Ce = n.listTag || "div", fe = n.itemsTag || "ul";
      return y(zn, {
        onResize: U
      }, {
        default: () => [y(Ce, {
          ref: f,
          class: o.be("list"),
          style: w.value
        }, {
          default: () => [y(fe, He(Se, {
            class: [o.be("items"), te],
            style: [T.value, Ee]
          }), {
            default: () => [r.default && n.items.length ? Z.map((ot) => {
              const Ze = ot[K], Je = de.get(Ze), se = W(r, "default", {
                item: ot,
                index: Je
              });
              if (we)
                return se.key = Ze, se;
              const ne = H.bind(null, Ze);
              return y(zn, {
                key: Ze,
                onResize: ne
              }, {
                default: () => se
              });
            }) : W(r, "empty")]
          })]
        })]
      });
    }
    return () => {
      let Z = k.value;
      return y(Al, He(l, {
        ref: b,
        class: G.value,
        inherit: n.inherit,
        "use-y-bar": !n.hideBar,
        "scroll-y": v.value,
        autoplay: n.autoplay,
        onScroll: ee,
        onResize: O
      }), {
        default: () => n.disabled ? r.default && n.items.length ? n.items.map((K, we) => {
          const de = K[n.idKey], te = W(r, "default", {
            item: K,
            index: we
          });
          return te.key = de, te;
        }) : W(r, "empty") : q(Z),
        prefixTrap: Yn(r, ["prefix-trap", "prefixTrap"]),
        suffixTrap: Yn(r, ["suffix-trap", "suffixTrap"])
      });
    };
  }
}), pg = ft({
  size: An,
  state: Zn,
  locale: Mn(),
  visible: M,
  options: Array,
  disabled: M,
  transitionName: String,
  outsideClose: M,
  placeholder: String,
  prefix: Xt,
  prefixColor: String,
  suffix: Xt,
  suffixColor: String,
  noSuffix: M,
  value: ph,
  multiple: M,
  clearable: M,
  maxListHeight: Number,
  listClass: Bn,
  placement: String,
  transfer: hn,
  optionCheck: M,
  emptyText: String,
  staticSuffix: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  keyConfig: Object,
  filter: {
    type: [Boolean, Function],
    default: null
  },
  ignoreCase: M,
  creatable: M,
  transparent: M,
  maxTagCount: Number,
  noRestTip: M,
  tagType: String,
  noPreview: M,
  remote: M,
  fitPopper: La,
  name: String,
  popperAlive: M,
  countLimit: Number,
  filterPosition: String,
  slots: Object,
  shift: M,
  onFocus: B(),
  onBlur: B(),
  onToggle: B(),
  onSelect: B(),
  onCancel: B(),
  onChange: B(),
  onClickOutside: B(),
  onOutsideClose: B(),
  onClear: B(),
  onFilterInput: B()
}), vg = Object.freeze({
  value: "value",
  label: "label",
  disabled: "disabled",
  divided: "divided",
  title: "title",
  group: "group",
  children: "children"
}), hg = ["id", "aria-disabled", "aria-expanded", "aria-labelledby"], mg = ["disabled", "name"], bg = ["disabled", "name"], gg = ["aria-label"], yg = ["title"], wi = /* @__PURE__ */ Xe({
  name: "Select",
  __name: "select",
  props: pg,
  emits: ["update:value", "update:visible", "update:label"],
  setup(t, { expose: r, emit: l }) {
    function a(V, De) {
      const _e = Array.isArray(V), rt = Array.isArray(De);
      if (_e !== rt) return !1;
      if (_e && rt) {
        if (V.length !== De.length) return !1;
        for (let xt = 0, Bt = V.length; xt < Bt; ++xt)
          if (V[xt] !== De[xt]) return !1;
        return !0;
      }
      return Tt(V) ? Tt(De) : V === De;
    }
    const {
      idFor: n,
      labelId: o,
      state: s,
      disabled: c,
      loading: d,
      size: p,
      validateField: m,
      clearField: b,
      getFieldValue: f,
      setFieldValue: u
    } = al(We), h = Ye("select"), v = ct("select", t, {
      size: On(p),
      state: ll(s),
      locale: null,
      visible: {
        default: !1,
        static: !0
      },
      options: {
        default: () => [],
        static: !0
      },
      disabled: () => c.value,
      transitionName: () => h.ns("drop"),
      outsideClose: !0,
      placeholder: null,
      prefix: en(),
      prefixColor: "",
      suffix: en(),
      suffixColor: "",
      noSuffix: !1,
      value: {
        default: () => f(),
        static: !0
      },
      multiple: !1,
      clearable: !1,
      maxListHeight: 300,
      listClass: null,
      placement: {
        default: "bottom",
        validator: (V) => Wl.includes(V)
      },
      transfer: !1,
      optionCheck: !1,
      emptyText: null,
      staticSuffix: !1,
      loading: () => d.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      keyConfig: () => ({}),
      filter: !1,
      ignoreCase: !1,
      creatable: !1,
      transparent: !1,
      maxTagCount: 0,
      noRestTip: !1,
      tagType: null,
      noPreview: !1,
      remote: !1,
      fitPopper: !1,
      name: {
        default: "",
        static: !0
      },
      popperAlive: null,
      countLimit: 0,
      filterPosition: "in-control",
      slots: () => ({}),
      shift: !0
    }), k = l, w = kn(), T = vn("select", qe(v, "locale")), F = Gt(), A = $(v.visible), z = $([]), C = $([]), E = $(-1), P = qe(v, "placement"), R = qe(v, "transfer"), L = $([]), I = $(""), G = $(0), ee = $([]), O = $(0), H = $(!1), U = $(!1), { isMounted: q } = _r(), Z = pt({
      disabled: !1,
      divided: !1,
      title: "",
      value: "",
      label: "",
      group: !1,
      depth: 0,
      parent: null,
      hidden: !1,
      hitting: !0,
      data: ""
    }), K = pt(/* @__PURE__ */ new Set()), we = $(), de = g(() => ee.value.concat(L.value)), te = g(() => de.value.filter((V) => !V.hidden)), Ee = g(() => ({ ...vg, ...v.keyConfig })), Se = Hl($e), Ce = $(), fe = $(), ot = $(), Ze = $(), Je = $(), se = $(), ne = g(() => {
      var V;
      return ((V = fe.value) == null ? void 0 : V.input) ?? Ce.value;
    }), { reference: ue, transferTo: J, updatePopper: N } = Kl({
      placement: P,
      transfer: R,
      wrapper: Se,
      popper: g(() => {
        var V;
        return (V = Je.value) == null ? void 0 : V.wrapper;
      }),
      isDrop: !0,
      shift: qe(v, "shift")
    }), { isHover: j } = Ql(ue), ae = pt(/* @__PURE__ */ new Map()), be = $(/* @__PURE__ */ new Map());
    let re = v.value;
    const ce = $(0);
    In(() => {
      v.keyConfig.value, v.keyConfig.label, v.keyConfig.disabled, v.keyConfig.divided, v.keyConfig.title, v.keyConfig.group, v.keyConfig.children;
      for (let V = 0, De = v.options.length; V < De; ++V)
        v.options[V];
      ce.value++;
    }), le(ce, Pe, { immediate: !0 });
    function Pe() {
      const {
        value: V,
        label: De,
        disabled: _e,
        divided: rt,
        title: xt,
        group: Bt,
        children: Ut
      } = Ee.value, xn = be.value, qn = /* @__PURE__ */ new Map(), ul = [], Sn = v.options.map((jn) => ({ option: jn, depth: 0, parent: null })).reverse();
      K.clear();
      for (const jn of ee.value)
        qn.set(jn.value, jn), K.add(jn.value);
      for (; Sn.length; ) {
        const { option: jn, depth: Wn, parent: Kt } = Sn.pop(), Pn = typeof jn == "string" ? { [V]: jn } : jn, mn = !!Pn[Bt], Tn = Pn[V];
        if (!mn && Tt(Tn)) continue;
        const ie = Pn[De] || String(Tn), {
          [_e]: Ae = !1,
          [rt]: tt = !1,
          [xt]: St = "",
          [Ut]: jt = null
        } = Pn, Zt = xn.get(Pn.value), Nn = pt({
          disabled: Ae,
          divided: tt,
          title: St,
          value: Tn,
          label: ie,
          group: mn,
          depth: Wn,
          parent: Kt,
          hidden: (Zt == null ? void 0 : Zt.hidden) ?? !1,
          hitting: (Zt == null ? void 0 : Zt.hitting) ?? !1,
          data: jn
        });
        ul.push(Nn), mn || (qn.set(Tn, Nn), K.add(String(Tn))), Array.isArray(jt) && jt.length && Sn.push(
          ...jt.map((Cn) => ({ option: Cn, depth: Wn + 1, parent: Nn })).reverse()
        );
      }
      be.value = qn, L.value = ul, Ke(re);
    }
    cl({
      target: Se,
      passive: !1,
      onKeyDown: (V, De) => {
        if (U.value) {
          V.stopPropagation();
          return;
        }
        if (!A.value) {
          (De.space || De.enter) && (V.preventDefault(), V.stopPropagation(), Vt());
          return;
        }
        if (De.tab || De.escape) {
          ve(!1), De.resetAll();
          return;
        }
        za(
          [
            [
              () => De.up || De.down,
              () => {
                const _e = te.value, rt = _e.length;
                if (!rt) return;
                const xt = De.down ? 1 : -1;
                let Bt = (Math.max(-1, E.value + xt) + rt) % rt, Ut = _e[Bt];
                for (let xn = 0; (Ut.disabled || Ut.group) && xn < rt; ++xn)
                  Bt += xt, Bt = (Bt + rt) % rt, Ut = _e[Bt];
                Ve(Bt);
              }
            ],
            [
              () => De.enter || !v.filter && De.space,
              () => {
                E.value >= 0 ? bt(tn.value[E.value]) : _t.value ? bt(Z) : ve(!1);
              }
            ]
          ],
          {
            beforeMatchAny: () => {
              V.preventDefault(), V.stopPropagation();
            },
            afterMatchAny: De.resetAll
          }
        );
      }
    });
    const at = g(() => ({
      [h.b()]: !0,
      [h.ns("input-vars")]: !0,
      [h.bs("vars")]: !0,
      [h.bm("inherit")]: v.inherit,
      [h.bm("multiple")]: v.multiple,
      [h.bm("filter")]: v.filter,
      [h.bm("responsive")]: v.multiple && v.maxTagCount <= 0,
      [h.bm("disabled")]: v.disabled
    })), yt = g(() => v.loading && v.loadingLock), Nt = g(() => {
      const V = h.be("selector");
      return {
        [V]: !0,
        [`${V}--focused`]: !v.disabled && A.value,
        [`${V}--disabled`]: v.disabled,
        [`${V}--readonly`]: yt.value,
        [`${V}--loading`]: v.loading,
        [`${V}--${v.size}`]: v.size !== "default",
        [`${V}--${v.state}`]: v.state !== "default",
        [`${V}--has-prefix`]: Ht.value,
        [`${V}--has-suffix`]: !v.noSuffix,
        [`${V}--transparent`]: v.transparent
      };
    }), Mt = g(
      () => !Tt(C.value[0]) && (v.multiple || C.value[0] !== "")
    ), Ht = g(() => !!(w.prefix || v.prefix || v.slots.prefix)), _t = g(() => !!(v.filter && v.creatable && Z.value && !K.has(Z.value))), tn = g(() => _t.value ? [Z].concat(te.value) : te.value), Wt = g(() => de.value.filter((V) => !V.group)), un = g(() => {
      const V = Wt.value, De = /* @__PURE__ */ new Map();
      for (let _e = 0, rt = V.length; _e < rt; ++_e) {
        const xt = V[_e];
        xt.parent && De.set(xt.value, xt.parent);
      }
      return De;
    }), qt = g(() => !v.disabled && !yt.value && v.clearable && j.value && Mt.value), pe = g(() => !v.noPreview && A.value ? we.value : void 0), Re = g(() => v.multiple && v.countLimit > 0 && C.value.length >= v.countLimit), he = g(() => v.filterPosition !== "in-control" ? !Mt.value && !pe.value && !!(v.placeholder ?? T.value.placeholder) : !U.value && !(Mt.value && (v.noPreview || v.multiple || !A.value)) && !(!pe.value && !(v.placeholder ?? T.value.placeholder)) && !(A.value && I.value));
    function Fe(V) {
      return Tt(V) ? null : be.value.get(V) ?? ae.get(V) ?? null;
    }
    function lt() {
      requestAnimationFrame(() => {
        var V;
        N(), Se.value && ((V = Je.value) != null && V.wrapper) && (typeof v.fitPopper == "number" ? Je.value.wrapper.style.width = `${v.fitPopper}px` : v.fitPopper ? Je.value.wrapper.style.width = `${Se.value.offsetWidth}px` : Je.value.wrapper.style.minWidth = `${Se.value.offsetWidth}px`);
      });
    }
    le(
      () => v.visible,
      (V) => {
        A.value = V;
      }
    ), le(A, (V) => {
      V && (H.value = !1, Ct(), lt()), v.filterPosition !== "in-control" ? requestAnimationFrame(wn) : wn();
    }), le(
      () => v.value,
      (V) => {
        (!re || !a(V, re)) && (re = V, Ke(V), wn());
      }
    ), le(
      () => v.disabled,
      (V) => {
        V && ve(!1);
      }
    ), le(yt, (V) => {
      V && ve(!1);
    }), le(I, (V) => {
      Z.value = V, Z.label = V, Z.data = V, Me(V);
    }), r({
      idFor: n,
      labelId: o,
      currentVisible: A,
      currentValues: C,
      currentLabels: z,
      optionStates: de,
      isHover: j,
      currentFilter: I,
      composing: U,
      visibleOptions: te,
      totalOptions: tn,
      wrapper: Se,
      reference: ue,
      popper: Je,
      input: ne,
      device: ot,
      virtualList: Ze,
      restTip: se,
      updatePopper: N,
      isSelected: Ie,
      getOptionFromMap: Fe,
      updateHitting: Ve,
      handleClear: et,
      focus: We,
      blur: () => {
        var V, De;
        (V = ne.value) == null || V.blur(), (De = ue.value) == null || De.blur();
      }
    }), sn(() => {
      wn(), v.visible && (H.value = !1, Ct(), lt());
    });
    function Ke(V) {
      if (Tt(V)) {
        C.value = [], z.value = [];
        return;
      }
      const De = Array.isArray(V) ? V : [V], _e = new Set(De), rt = [], xt = [];
      _e.forEach((Bt) => {
        let Ut = Fe(Bt);
        Ut ? (rt.push(Ut.value), xt.push(Ut.label), ae.has(Ut.value) || ae.set(Ut.value, Ut)) : v.remote && (Ut = pt({
          value: Bt,
          disabled: !1,
          divided: !1,
          title: "",
          label: String(Bt),
          group: !1,
          depth: -1,
          parent: null,
          hidden: !0,
          hitting: !1,
          data: Bt
        }), ae.set(Bt, Ut), rt.push(Bt), xt.push(Ut.label));
      });
      for (const Bt of Array.from(ae.keys()))
        _e.has(Bt) || ae.delete(Bt);
      C.value = rt, z.value = xt, Ct(), Me(I.value);
    }
    function Ct() {
      const V = C.value[0];
      if (Tt(V))
        Ve(-1);
      else {
        if (!q.value) return;
        Ve(te.value.findIndex((De) => De.value === V));
      }
    }
    function ve(V) {
      A.value !== V && (A.value = V, k("update:visible", V), _(v.onToggle, V));
    }
    function Ve(V, De = !0) {
      E.value = V, we.value = void 0;
      let _e = -1;
      de.value.forEach((rt) => {
        rt.hidden ? rt.hitting = !1 : (_e += 1, rt.hitting = V === _e, rt.hitting && (we.value = rt));
      }), De && A.value && Ze.value && Ze.value.ensureIndexInView(V);
    }
    function Ie(V) {
      return v.multiple ? C.value.includes(V.value) : C.value[0] === V.value;
    }
    function Me(V) {
      const De = v.filter;
      if (!(!De || v.remote)) {
        if (!V)
          de.value.forEach((_e) => {
            _e.hidden = !1;
          });
        else {
          if (de.value.forEach((rt) => {
            rt.hidden = !0;
          }), typeof De == "function")
            Wt.value.forEach((rt) => {
              rt.hidden = !De(V, rt);
            });
          else if (v.ignoreCase) {
            const rt = V.toString().toLocaleLowerCase();
            Wt.value.forEach((xt) => {
              var Bt;
              xt.hidden = !((Bt = xt.label) != null && Bt.toString().toLocaleLowerCase().includes(rt));
            });
          } else
            Wt.value.forEach((rt) => {
              var xt;
              rt.hidden = !((xt = rt.label) != null && xt.toString().includes(V == null ? void 0 : V.toString()));
            });
          const _e = un.value;
          Wt.value.forEach((rt) => {
            if (!rt.hidden && rt.parent) {
              let xt = _e.get(rt.value) || null;
              for (; xt && xt.hidden; )
                xt.hidden = !1, xt = xt.parent;
            }
          });
        }
        Ve(E.value);
      }
    }
    function Ge(V) {
      v.disabled || yt.value || !Tt(V) && bt(Fe(V));
    }
    function mt(V) {
      var De;
      Ge(V), H.value && ((De = se.value) == null || De.updatePopper());
    }
    function bt(V) {
      if (!V) return;
      const De = Ie(V), _e = V.value;
      if (De)
        ee.value.find((rt) => rt.value === _e) && (Ho(ee.value, (rt) => rt.value === _e), be.value.delete(_e)), ae.delete(_e);
      else {
        if (v.multiple || (ee.value.length = 0), Re.value) return;
        if (Z.value && _e === Z.value) {
          const rt = { ...Z };
          ee.value.push(rt), be.value.set(_e, rt);
        }
        ae.set(V.value, V);
      }
      _(
        v[v.multiple && De ? "onCancel" : "onSelect"],
        _e,
        V.data
      ), Ot(V), v.multiple ? (v.filterPosition === "in-control" && (I.value = "", wn()), requestAnimationFrame(N)) : ve(!1), G.value = 0;
    }
    function Ot(V) {
      if (v.multiple) {
        if (Ie(V)) {
          const De = C.value.findIndex((_e) => _e === V.value);
          ~De && (C.value.splice(De, 1), z.value.splice(De, 1));
        } else
          C.value.push(V.value), z.value.push(V.label);
        re = Array.from(C.value), k("update:value", re), k("update:label", z.value), u(re), _(
          v.onChange,
          re,
          re.map((De) => {
            var _e;
            return ((_e = Fe(De)) == null ? void 0 : _e.data) ?? De;
          })
        ), m();
      } else {
        const De = C.value[0];
        C.value.length = 0, z.value.length = 0, C.value.push(V.value), z.value.push(V.label), De !== V.value && (re = V.value, k("update:value", re), k("update:label", z.value[0]), u(re), _(v.onChange, re, V.data), m());
      }
    }
    function Vt() {
      v.disabled || yt.value || ve(!A.value);
    }
    function $e() {
      H.value = !1, _(v.onClickOutside), v.outsideClose && A.value && (ve(!1), _(v.onOutsideClose));
    }
    function et() {
      if (!(v.disabled || yt.value) && v.clearable) {
        for (const V of ee.value)
          be.value.delete(V.value);
        ae.clear(), ee.value.length = 0, C.value.length = 0, z.value.length = 0, H.value = !1, re = v.multiple ? [] : "", wn(), k("update:value", re), _(v.onChange, re, v.multiple ? [] : ""), _(v.onClear), b(re), N();
      }
    }
    let vt = !1;
    function an(V) {
      vt || (vt = !0, _(v.onFocus, V));
    }
    function Rn(V) {
      vt && (vt = !1, setTimeout(() => {
        vt || _(v.onBlur, V);
      }, 120));
    }
    function wn() {
      if (!ne.value) return;
      const V = A.value;
      v.multiple ? ne.value.value = "" : ne.value.value = V ? "" : z.value[0] || "", V ? ne.value.focus() : ne.value.blur();
    }
    function Te() {
      if (!ne.value || U.value) return;
      let V;
      I.value = ne.value.value, I.value ? _t.value || E.value !== -1 ? V = 0 : (V = te.value.findIndex(
        (De) => String(De.label) === I.value
      ), V = V === -1 ? 0 : V) : V = -1, requestAnimationFrame(() => {
        V || (V = te.value.findIndex(
          (De) => !C.value.includes(De.value)
        )), V !== E.value && Ve(V), v.multiple && ot.value && (G.value = Bo(ot.value)), N();
      }), _(v.onFilterInput, I.value);
    }
    function Y() {
      U.value && (U.value = !1, ne.value && ne.value.dispatchEvent(new Event("input")));
    }
    function ke(V) {
      ne.value && v.filterPosition !== "in-list" && V.key === "Backspace" && !ne.value.value && !Tt(gn(C.value)) && (V.stopPropagation(), Ge(gn(C.value)));
    }
    function xe() {
      A.value ? (Vt(), H.value = !1) : (H.value = !H.value, H.value && kt(() => {
        var V;
        (V = se.value) == null || V.updatePopper();
      }));
    }
    function We(V) {
      var De, _e;
      A.value ? (De = ne.value || ue.value) == null || De.focus(V) : (_e = ue.value) == null || _e.focus(V);
    }
    return (V, De) => (S(), D("div", {
      id: e(n),
      ref_key: "wrapper",
      ref: Se,
      class: x(at.value),
      role: "group",
      "aria-disabled": e(fl)(e(v).disabled),
      "aria-expanded": e(fl)(A.value),
      "aria-haspopup": "listbox",
      "aria-labelledby": e(o),
      onClick: Vt
    }, [
      oe("div", {
        ref_key: "reference",
        ref: ue,
        class: x(Nt.value),
        tabindex: "0",
        onFocus: an,
        onBlur: De[9] || (De[9] = (_e) => {
          (!e(v).filter || !A.value) && Rn(_e);
        })
      }, [
        Ht.value ? (S(), D("div", {
          key: 0,
          class: x([e(h).be("icon"), e(h).be("prefix")]),
          style: Qe({ color: e(v).prefixColor })
        }, [
          W(V.$slots, "prefix", {}, () => [
            y(e(me), {
              renderer: e(v).slots.prefix
            }, {
              default: X(() => [
                y(e(Oe), {
                  icon: e(v).prefix
                }, null, 8, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)) : ge("", !0),
        oe("div", {
          class: x(e(h).be("control"))
        }, [
          W(V.$slots, "control", {}, () => [
            y(e(me), {
              renderer: e(v).slots.control
            }, {
              default: X(() => [
                e(v).multiple ? (S(), D(st, { key: 0 }, [
                  y(e(Go), {
                    inherit: "",
                    class: x([e(h).be("tags")]),
                    items: C.value,
                    "max-count": e(v).maxTagCount,
                    style: Qe({
                      maxWidth: e(v).maxTagCount <= 0 && `calc(100% - ${G.value}px)`
                    }),
                    onRestChange: De[0] || (De[0] = (_e) => O.value = _e),
                    onClick: gt(Vt, ["stop"])
                  }, {
                    default: X(({ item: _e, index: rt }) => [
                      W(V.$slots, "tag", {
                        value: _e,
                        option: Fe(_e),
                        handleClose: Ge.bind(null, _e)
                      }, () => [
                        y(e(me), {
                          renderer: e(v).slots.tag,
                          data: {
                            value: _e,
                            option: Fe(_e),
                            handleClose: Ge.bind(null, _e)
                          }
                        }, {
                          default: X(() => [
                            y(e(Gl), {
                              inherit: "",
                              class: x(e(h).be("tag")),
                              type: e(v).tagType,
                              closable: "",
                              disabled: e(v).disabled,
                              onClose: (xt) => Ge(_e)
                            }, {
                              default: X(() => [
                                oe("span", {
                                  class: x(e(h).be("label"))
                                }, [
                                  W(V.$slots, "selected", {
                                    value: _e,
                                    option: Fe(_e)
                                  }, () => [
                                    y(e(me), {
                                      renderer: e(v).slots.selected,
                                      data: { value: _e, option: Fe(_e) }
                                    }, {
                                      default: X(() => [
                                        dt(ze(z.value[rt]), 1)
                                      ]),
                                      _: 2
                                    }, 1032, ["renderer", "data"])
                                  ])
                                ], 2)
                              ]),
                              _: 2
                            }, 1032, ["class", "type", "disabled", "onClose"])
                          ]),
                          _: 2
                        }, 1032, ["renderer", "data"])
                      ])
                    ]),
                    counter: X(({ count: _e }) => [
                      e(v).noRestTip ? W(V.$slots, "restTag", {
                        key: 0,
                        restCount: _e
                      }, () => [
                        y(e(me), {
                          renderer: e(v).slots.restTag,
                          data: { restCount: _e }
                        }, {
                          default: X(() => [
                            y(e(Gl), {
                              inherit: "",
                              class: x([e(h).be("tag"), e(h).be("counter")]),
                              type: e(v).tagType,
                              disabled: e(v).disabled
                            }, {
                              default: X(() => [
                                dt(ze(`+${_e}`), 1)
                              ]),
                              _: 2
                            }, 1032, ["class", "type", "disabled"])
                          ]),
                          _: 2
                        }, 1032, ["renderer", "data"])
                      ]) : (S(), Be(e(Fl), {
                        key: 1,
                        ref_key: "restTip",
                        ref: se,
                        inherit: "",
                        transfer: !1,
                        visible: H.value,
                        trigger: "custom",
                        placement: "top",
                        "tip-class": e(h).be("rest-tip"),
                        onClick: gt(xe, ["stop"])
                      }, {
                        trigger: X(() => [
                          W(V.$slots, "restTag", { restCount: _e }, () => [
                            y(e(me), {
                              renderer: e(v).slots.restTag,
                              data: { restCount: _e }
                            }, {
                              default: X(() => [
                                y(e(Gl), {
                                  inherit: "",
                                  class: x([e(h).be("tag"), e(h).be("counter")]),
                                  type: e(v).tagType,
                                  disabled: e(v).disabled
                                }, {
                                  default: X(() => [
                                    dt(ze(`+${_e}`), 1)
                                  ]),
                                  _: 2
                                }, 1032, ["class", "type", "disabled"])
                              ]),
                              _: 2
                            }, 1032, ["renderer", "data"])
                          ])
                        ]),
                        default: X(() => [
                          y(e(Al), {
                            inherit: "",
                            "use-y-bar": ""
                          }, {
                            default: X(() => [
                              (S(!0), D(st, null, ln(C.value, (rt, xt) => (S(), D(st, { key: xt }, [
                                xt >= C.value.length - O.value ? W(V.$slots, "tag", {
                                  key: 0,
                                  value: rt,
                                  option: Fe(rt),
                                  handleClose: mt.bind(null, rt)
                                }, () => [
                                  y(e(me), {
                                    renderer: e(v).slots.tag,
                                    data: {
                                      value: rt,
                                      option: Fe(rt),
                                      handleClose: mt.bind(null, rt)
                                    }
                                  }, {
                                    default: X(() => [
                                      y(e(Gl), {
                                        inherit: "",
                                        class: x(e(h).be("tag")),
                                        closable: "",
                                        type: e(v).tagType,
                                        disabled: e(v).disabled,
                                        onClose: (Bt) => mt(rt)
                                      }, {
                                        default: X(() => [
                                          oe("span", {
                                            class: x(e(h).be("label"))
                                          }, [
                                            W(V.$slots, "selected", {
                                              value: rt,
                                              option: Fe(rt)
                                            }, () => [
                                              y(e(me), {
                                                renderer: e(v).slots.selected,
                                                data: { value: rt, option: Fe(rt) }
                                              }, {
                                                default: X(() => [
                                                  dt(ze(z.value[xt]), 1)
                                                ]),
                                                _: 2
                                              }, 1032, ["renderer", "data"])
                                            ])
                                          ], 2)
                                        ]),
                                        _: 2
                                      }, 1032, ["class", "type", "disabled", "onClose"])
                                    ]),
                                    _: 2
                                  }, 1032, ["renderer", "data"])
                                ]) : ge("", !0)
                              ], 64))), 128))
                            ]),
                            _: 3
                          })
                        ]),
                        _: 2
                      }, 1032, ["visible", "tip-class"]))
                    ]),
                    _: 3
                  }, 8, ["class", "items", "max-count", "style"]),
                  e(v).filter && e(v).filterPosition === "in-control" ? (S(), D("div", {
                    key: 0,
                    class: x(e(h).be("anchor")),
                    style: Qe({
                      width: `${G.value}px`
                    })
                  }, [
                    oe("input", {
                      ref_key: "nativeInput",
                      ref: Ce,
                      class: x([
                        e(h).be("input"),
                        e(h).bem("input", "multiple"),
                        A.value && e(h).bem("input", "visible")
                      ]),
                      disabled: e(v).disabled,
                      autocomplete: "off",
                      tabindex: "-1",
                      role: "combobox",
                      "aria-autocomplete": "list",
                      name: e(v).name,
                      onSubmit: De[1] || (De[1] = gt(() => {
                      }, ["prevent"])),
                      onInput: Te,
                      onKeydown: ke,
                      onFocus: De[2] || (De[2] = (_e) => an(_e)),
                      onBlur: De[3] || (De[3] = (_e) => Rn(_e)),
                      onCompositionstart: De[4] || (De[4] = (_e) => U.value = !0),
                      onCompositionend: Y,
                      onChange: Y
                    }, null, 42, mg),
                    oe("span", {
                      ref_key: "device",
                      ref: ot,
                      class: x(e(h).be("device")),
                      "aria-hidden": "true"
                    }, ze(I.value), 3)
                  ], 6)) : ge("", !0)
                ], 64)) : (S(), D(st, { key: 1 }, [
                  e(v).filter && e(v).filterPosition === "in-control" ? (S(), D("input", {
                    key: 0,
                    ref_key: "nativeInput",
                    ref: Ce,
                    class: x([e(h).be("input"), A.value && e(h).bem("input", "visible")]),
                    disabled: e(v).disabled,
                    autocomplete: "off",
                    tabindex: "-1",
                    role: "combobox",
                    "aria-autocomplete": "list",
                    name: e(v).name,
                    style: Qe({
                      opacity: A.value ? void 0 : "0%"
                    }),
                    onSubmit: De[5] || (De[5] = gt(() => {
                    }, ["prevent"])),
                    onInput: Te,
                    onFocus: De[6] || (De[6] = (_e) => an(_e)),
                    onBlur: De[7] || (De[7] = (_e) => Rn(_e)),
                    onCompositionstart: De[8] || (De[8] = (_e) => U.value = !0),
                    onCompositionend: Y,
                    onChange: Y
                  }, null, 46, bg)) : ge("", !0),
                  (e(v).noPreview || !A.value) && Mt.value && (e(v).filterPosition !== "in-control" || !I.value) ? (S(), D("span", {
                    key: 1,
                    class: x({
                      [e(h).be("selected")]: !0,
                      [e(h).bem("selected", "placeholder")]: e(v).filter && A.value && Mt.value
                    })
                  }, [
                    Fe(C.value[0]) ? W(V.$slots, "selected", {
                      key: 0,
                      value: C.value[0],
                      option: Fe(C.value[0])
                    }, () => [
                      y(e(me), {
                        renderer: e(v).slots.selected,
                        data: { value: C.value[0], option: Fe(C.value[0]) }
                      }, {
                        default: X(() => [
                          dt(ze(z.value[0]), 1)
                        ]),
                        _: 1
                      }, 8, ["renderer", "data"])
                    ]) : (S(), D(st, { key: 1 }, [
                      dt(ze(z.value[0]), 1)
                    ], 64))
                  ], 2)) : ge("", !0)
                ], 64)),
                he.value ? (S(), D("span", {
                  key: 2,
                  class: x(e(h).be("placeholder"))
                }, [
                  pe.value ? W(V.$slots, "selected", {
                    key: 0,
                    preview: !0,
                    value: pe.value.value,
                    option: pe.value
                  }, () => [
                    y(e(me), {
                      renderer: e(v).slots.selected,
                      data: { value: pe.value.value, preview: !0, option: pe.value }
                    }, {
                      default: X(() => [
                        dt(ze(pe.value.label), 1)
                      ]),
                      _: 1
                    }, 8, ["renderer", "data"])
                  ]) : (S(), D(st, { key: 1 }, [
                    dt(ze(e(v).placeholder ?? e(T).placeholder), 1)
                  ], 64))
                ], 2)) : ge("", !0)
              ]),
              _: 3
            }, 8, ["renderer"])
          ])
        ], 2),
        e(v).noSuffix ? e(v).clearable || e(v).loading ? (S(), D("div", {
          key: 2,
          class: x([e(h).be("icon"), e(h).bem("icon", "placeholder"), e(h).be("suffix")])
        }, null, 2)) : ge("", !0) : (S(), D("div", {
          key: 1,
          class: x([e(h).be("icon"), e(h).be("suffix")]),
          style: Qe({
            color: e(v).suffixColor,
            opacity: qt.value || e(v).loading ? "0%" : ""
          })
        }, [
          W(V.$slots, "suffix", {}, () => [
            y(e(me), {
              renderer: e(v).slots.suffix
            }, {
              default: X(() => [
                e(v).suffix ? (S(), Be(e(Oe), {
                  key: 0,
                  icon: e(v).suffix,
                  class: x({
                    [e(h).be("arrow")]: !e(v).staticSuffix
                  })
                }, null, 8, ["icon", "class"])) : (S(), Be(e(Oe), He({ key: 1 }, e(F).angleDown, {
                  class: e(h).be("arrow")
                }), null, 16, ["class"]))
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)),
        y(En, {
          name: e(h).ns("fade"),
          appear: ""
        }, {
          default: X(() => [
            qt.value ? (S(), D("button", {
              key: 0,
              class: x([e(h).be("icon"), e(h).be("clear")]),
              type: "button",
              tabindex: "-1",
              "aria-label": e(T).ariaLabel.clear,
              onClick: gt(et, ["stop"])
            }, [
              y(e(Oe), He(e(F).clear, { label: "clear" }), null, 16)
            ], 10, gg)) : e(v).loading ? (S(), D("div", {
              key: 1,
              class: x([e(h).be("icon"), e(h).be("loading")])
            }, [
              y(e(Oe), He(e(F).loading, {
                effect: e(v).loadingEffect || e(F).loading.effect,
                icon: e(v).loadingIcon || e(F).loading.icon,
                label: "loading"
              }), null, 16, ["effect", "icon"])
            ], 2)) : ge("", !0)
          ]),
          _: 1
        }, 8, ["name"])
      ], 34),
      y(e(Xl), {
        ref_key: "popper",
        ref: Je,
        class: x([e(h).be("popper"), e(h).bs("vars")]),
        visible: A.value,
        to: e(J),
        transition: e(v).transitionName,
        alive: e(v).popperAlive ?? !e(J),
        onClick: gt(We, ["stop"]),
        onAfterLeave: De[11] || (De[11] = (_e) => I.value = "")
      }, {
        default: X(() => [
          W(V.$slots, "list", {
            options: tn.value,
            isSelected: Ie,
            handleSelect: bt
          }, () => [
            y(e(me), {
              renderer: e(v).slots.list,
              data: { options: tn.value, isSelected: Ie, handleSelect: bt }
            }, {
              default: X(() => [
                oe("div", {
                  class: x([
                    e(h).be("list"),
                    (w.prepend || w.append) && e(h).bem("list", "with-extra"),
                    e(v).listClass
                  ])
                }, [
                  e(v).filter && e(v).filterPosition === "in-list" ? (S(), D("div", {
                    key: 0,
                    class: x(e(h).be("filter"))
                  }, [
                    y(e(Vr), {
                      ref_key: "filterInput",
                      ref: fe,
                      class: x(e(h).be("filter-input")),
                      transparent: "",
                      disabled: e(v).disabled,
                      placeholder: e(T).search,
                      autocomplete: !1,
                      tabindex: -1,
                      role: "combobox",
                      "aria-autocomplete": "list",
                      onInput: Te,
                      onKeydown: ke,
                      onFocus: an,
                      onBlur: Rn,
                      onCompositionstart: De[10] || (De[10] = (_e) => U.value = !0),
                      onCompositionend: Y,
                      onChange: Y
                    }, {
                      suffix: X(() => [
                        y(e(Oe), It(Yt(e(F).search)), null, 16)
                      ]),
                      _: 1
                    }, 8, ["class", "disabled", "placeholder"])
                  ], 2)) : ge("", !0),
                  w.prepend || e(v).slots.prepend ? W(V.$slots, "prepend", { key: 1 }, () => [
                    y(e(me), {
                      renderer: e(v).slots.prepend
                    }, null, 8, ["renderer"])
                  ]) : ge("", !0),
                  y(e(Wr), {
                    ref_key: "virtualList",
                    ref: Ze,
                    inherit: "",
                    style: Qe({
                      height: void 0,
                      maxHeight: `${e(v).maxListHeight}px`
                    }),
                    items: tn.value,
                    "item-size": 32,
                    "use-y-bar": "",
                    height: "100%",
                    "id-key": "value",
                    "items-attrs": {
                      class: [e(h).be("options"), e(v).optionCheck ? e(h).bem("options", "has-check") : ""],
                      role: "listbox",
                      ariaLabel: "options",
                      ariaMultiselectable: e(v).multiple
                    }
                  }, {
                    default: X(({ item: _e, index: rt }) => [
                      _e.group ? (S(), D("li", {
                        key: 0,
                        class: x([e(h).ns("option-vars"), e(h).be("group")]),
                        title: _e.label
                      }, [
                        W(V.$slots, "group", {
                          option: _e,
                          index: rt
                        }, () => [
                          y(e(me), {
                            renderer: e(v).slots.group,
                            data: { option: _e, index: rt }
                          }, {
                            default: X(() => [
                              oe("div", {
                                class: x([e(h).be("label"), e(h).bem("label", "group")]),
                                style: Qe({ paddingInlineStart: `${_e.depth * 6}px` })
                              }, ze(_e.label), 7)
                            ]),
                            _: 2
                          }, 1032, ["renderer", "data"])
                        ])
                      ], 10, yg)) : (S(), Be(e(qo), {
                        key: 1,
                        label: _e.label,
                        value: _e.value,
                        disabled: _e.disabled || Re.value && !Ie(_e),
                        divided: _e.divided,
                        "no-title": _e.title,
                        hitting: _e.hitting,
                        selected: Ie(_e),
                        "no-hover": "",
                        onSelect: (xt) => bt(_e),
                        onMousemove: (xt) => Ve(rt, !1)
                      }, {
                        default: X(() => [
                          W(V.$slots, "default", {
                            option: _e,
                            index: rt,
                            selected: Ie(_e)
                          }, () => [
                            y(e(me), {
                              renderer: e(v).slots.default,
                              data: { option: _e, index: rt, selected: Ie(_e) }
                            }, {
                              default: X(() => [
                                oe("span", {
                                  class: x(e(h).be("label")),
                                  style: Qe({ paddingInlineStart: `${_e.depth * 6}px` })
                                }, ze(_e.label), 7),
                                e(v).optionCheck ? (S(), Be(En, {
                                  key: 0,
                                  name: e(h).ns("fade"),
                                  appear: ""
                                }, {
                                  default: X(() => [
                                    Ie(_e) ? (S(), Be(e(Oe), He({ key: 0 }, e(F).check, {
                                      class: e(h).be("check")
                                    }), null, 16, ["class"])) : ge("", !0)
                                  ]),
                                  _: 2
                                }, 1032, ["name"])) : ge("", !0)
                              ]),
                              _: 2
                            }, 1032, ["renderer", "data"])
                          ])
                        ]),
                        _: 2
                      }, 1032, ["label", "value", "disabled", "divided", "no-title", "hitting", "selected", "onSelect", "onMousemove"]))
                    ]),
                    empty: X(() => [
                      oe("div", {
                        class: x(e(h).be("empty"))
                      }, [
                        W(V.$slots, "empty", {}, () => [
                          y(e(me), {
                            renderer: e(v).slots.empty
                          }, {
                            default: X(() => [
                              dt(ze(e(v).emptyText ?? e(T).empty), 1)
                            ]),
                            _: 1
                          }, 8, ["renderer"])
                        ])
                      ], 2)
                    ]),
                    _: 3
                  }, 8, ["style", "items", "items-attrs"]),
                  w.append || e(v).slots.append ? W(V.$slots, "append", { key: 2 }, () => [
                    y(e(me), {
                      renderer: e(v).slots.append
                    }, null, 8, ["renderer"])
                  ]) : ge("", !0)
                ], 2)
              ]),
              _: 3
            }, 8, ["renderer", "data"])
          ])
        ]),
        _: 3
      }, 8, ["class", "visible", "to", "transition", "alive"])
    ], 10, hg));
  }
}), kg = ft({
  size: An,
  state: Zn,
  locale: Mn(),
  transfer: hn,
  value: [String, Number],
  options: Array,
  filter: {
    type: [Boolean, Function],
    default: null
  },
  prefix: Xt,
  prefixColor: String,
  suffix: Xt,
  suffixColor: String,
  placeholder: String,
  disabled: M,
  transitionName: String,
  dropDisabled: M,
  placement: String,
  clearable: M,
  ignoreCase: M,
  autofocus: M,
  spellcheck: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  transparent: M,
  debounce: M,
  delay: Number,
  keyConfig: Object,
  showEmpty: M,
  name: String,
  popperAlive: M,
  slots: Object,
  shift: M,
  onFocus: B(),
  onBlur: B(),
  onSelect: B(),
  onInput: B(),
  onChange: B(),
  onToggle: B(),
  onEnter: B(),
  onClear: B()
}), wg = ["autofocus", "spellcheck", "disabled", "placeholder", "readonly", "name"], xg = /* @__PURE__ */ Xe({
  name: "AutoComplete",
  __name: "auto-complete",
  props: kg,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const a = $(), n = $(), {
      idFor: o,
      labelId: s,
      state: c,
      disabled: d,
      loading: p,
      size: m,
      validateField: b,
      clearField: f,
      getFieldValue: u,
      setFieldValue: h
    } = al(() => {
      var ae;
      return (ae = n.value) == null ? void 0 : ae.focus();
    }), i = Ye("auto-complete"), k = ct("autoComplete", t, {
      size: On(m),
      state: ll(c),
      locale: null,
      transfer: !1,
      value: {
        default: () => u(),
        static: !0
      },
      options: {
        default: () => [],
        static: !0
      },
      filter: !1,
      prefix: en(),
      prefixColor: "",
      suffix: en(),
      suffixColor: "",
      placeholder: null,
      disabled: () => d.value,
      transitionName: () => i.ns("drop"),
      dropDisabled: !1,
      placement: {
        default: "bottom",
        validator: (ae) => Wl.includes(ae)
      },
      clearable: !1,
      ignoreCase: !1,
      autofocus: !1,
      spellcheck: !1,
      keyConfig: () => ({}),
      loading: () => p.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      transparent: !1,
      debounce: !1,
      delay: null,
      showEmpty: !1,
      name: {
        default: "",
        static: !0
      },
      popperAlive: null,
      slots: () => ({}),
      shift: !0
    }), w = l, T = kn(), F = vn("input", qe(k, "locale")), { timer: A } = Vn(), z = $(k.value), C = $(-1), E = $(!1), P = $(!1);
    let R = !1, L = k.value, I = String(L);
    const G = g(() => k.loading && k.loadingLock), ee = g(() => {
      var ae;
      return ((ae = a.value) == null ? void 0 : ae.optionStates) || [];
    }), O = g(() => {
      var ae;
      return ((ae = a.value) == null ? void 0 : ae.visibleOptions) || [];
    }), H = g(() => !!(T.prefix || k.prefix || k.slots.prefix)), U = g(() => !!(T.suffix || k.suffix || k.slots.suffix));
    le(
      () => k.value,
      (ae) => {
        z.value = ae, L = ae, I = String(ae), n.value && (n.value.value = String(ae));
      }
    ), le(C, q), le(E, (ae) => {
      var be;
      ae ? (be = n.value) == null || be.focus() : C.value = -1;
    }), le(z, (ae) => {
      k.filter && a.value && (a.value.currentFilter = `${ae}`);
    }), In(() => {
      !k.filter || !E.value || !a.value || (a.value.currentFilter = String(z.value));
    }), r({
      idFor: o,
      composing: P,
      select: a,
      control: n,
      focus: (ae) => {
        var be;
        return (be = n.value) == null ? void 0 : be.focus(ae);
      },
      blur: () => {
        var ae;
        return (ae = n.value) == null ? void 0 : ae.blur();
      }
    }), sn(() => {
      kt(() => {
        n.value && !Tt(z.value) && (n.value.value = String(z.value));
      });
    });
    function q() {
      const ae = C.value;
      let be = -1;
      ee.value.forEach((re) => {
        re.hidden ? re.hitting = !1 : (be += 1, re.hitting = ae === be, re.hitting && n.value && (n.value.value = String(re.value)));
      }), n.value && ae < 0 && (n.value.value = I);
    }
    let Z = !1;
    function K(ae) {
      Z || (Z = !0, _(k.onFocus, ae));
    }
    function we(ae) {
      Z && (Z = !1, A.focus = setTimeout(() => {
        Z || (_(k.onBlur, ae), Ce());
      }, 120));
    }
    function de(ae, be) {
      if (P.value || Tt(ae))
        return;
      const re = z.value;
      z.value = ae, _(k.onSelect, ae, be), ae !== re ? (R = !0, Ce()) : E.value = !1;
    }
    function te(ae) {
      var re;
      const be = typeof ae == "string" ? ae : ae.target.value;
      z.value = be, R = !0, I = be, C.value !== -1 && (C.value = 0), k.showEmpty && (E.value = !k.dropDisabled, a.value && (a.value.currentVisible = E.value)), _(k.onInput, be), kt(ne), (re = a.value) == null || re.updatePopper();
    }
    const Ee = rn(k.delay), Se = k.debounce ? da(te, Ee || 100) : Cl(te, Ee || 16);
    function Ce(ae = !0) {
      if (!R || z.value === L) return;
      R = !1, L = z.value, I = String(L);
      const be = ee.value.find((re) => re.value === L);
      a.value && (a.value.currentValues.length = 0, (z.value || z.value === 0) && a.value.currentValues.push(z.value)), w("update:value", z.value), h(z.value), _(k.onChange, z.value, (be == null ? void 0 : be.data) || null), ae && b(), E.value = !1, n.value && (n.value.value = String(L));
    }
    let fe = !1, ot = !1;
    function Ze() {
      k.disabled || G.value || (fe = E.value, ot = !0, a.value && (a.value.currentFilter = String(z.value)));
    }
    function Je() {
      k.disabled || G.value || (ot = !1, a.value && (E.value = !0, fe ? a.value.currentVisible = !0 : (ne(), fe = E.value, fe && _(k.onToggle, fe))));
    }
    function se(ae) {
      k.disabled || G.value || ot || (E.value = ae, ae && ne(), fe = E.value, E.value !== ae && _(k.onToggle, E.value), E.value || (C.value = -1));
    }
    function ne() {
      E.value = !(k.dropDisabled || !k.showEmpty && !O.value.length), a.value && (a.value.currentVisible = E.value);
    }
    function ue(ae) {
      if (P.value) {
        ae.stopPropagation();
        return;
      }
      const be = ae.code || ae.key;
      if (be === "Enter" || be === "NumpadEnter")
        J(ae);
      else if (be === "ArrowDown" || be === "ArrowUp") {
        ae.preventDefault(), ae.stopPropagation();
        const re = O.value, ce = re.length;
        if (!ce) return;
        const Pe = be === "ArrowDown" ? 1 : -1;
        let at = (Math.max(C.value + Pe, -1) + ce) % ce, yt = re[at];
        for (let Nt = 0; (yt.disabled || yt.group) && Nt < ce; ++Nt)
          at += Pe, at = (at + ce) % ce, yt = re[at];
        C.value = at;
      } else
        ["Space", " "].includes(be) && ae.stopPropagation(), ["Enter", "ArrowLeft", "ArrowRight"].includes(be) || (C.value = -1);
    }
    function J(ae) {
      if (ae.stopPropagation(), !P.value) {
        if (C.value >= 0 && O.value.length) {
          const be = O.value[C.value === -1 ? 0 : C.value];
          de(be.value, be.data);
        } else
          Ce();
        _(k.onEnter, z.value), E.value = !1;
      }
    }
    function N() {
      var ae;
      if (k.clearable) {
        const be = z.value;
        z.value = "", E.value = !1, !Tt(be) && be !== z.value && (R = !0), Ce(!1), _(k.onClear), kt(f), (ae = n.value) == null || ae.focus();
      }
    }
    function j() {
      P.value && (P.value = !1, n.value && n.value.dispatchEvent(new Event("input")));
    }
    return (ae, be) => (S(), Be(e(wi), {
      id: e(o),
      ref_key: "select",
      ref: a,
      visible: E.value,
      "onUpdate:visible": be[5] || (be[5] = (re) => E.value = re),
      class: x([e(i).b(), e(k).inherit && e(i).bm("inherit")]),
      inherit: e(k).inherit,
      "label-id": e(s),
      "list-class": e(i).be("list"),
      value: z.value,
      size: e(k).size,
      state: e(k).state,
      clearable: e(k).clearable,
      "transition-name": e(k).transitionName,
      disabled: e(k).disabled,
      transfer: e(k).transfer,
      placement: e(k).placement,
      "prefix-color": e(k).prefixColor,
      "suffix-color": e(k).suffixColor,
      "no-suffix": !U.value,
      placeholder: e(k).placeholder,
      options: e(k).options,
      "key-config": e(k).keyConfig,
      loading: e(k).loading,
      "loading-icon": e(k).loadingIcon,
      "loading-lock": e(k).loadingLock,
      "loading-effect": e(k).loadingEffect,
      transparent: ae.transparent,
      filter: e(k).filter,
      "ignore-case": e(k).ignoreCase,
      "popper-alive": e(k).popperAlive,
      shift: e(k).shift,
      onToggle: se,
      onSelect: de,
      onClear: N,
      onFocus: be[6] || (be[6] = (re) => {
        var ce;
        return (ce = n.value) == null ? void 0 : ce.focus();
      }),
      onOutsideClose: Ce,
      onClick: Je,
      onClickCapture: Ze
    }, nl({
      control: X(() => [
        W(ae.$slots, "control", {
          value: z.value,
          onInput: e(Se),
          onChange: Ce,
          onEnter: J,
          onClear: N
        }, () => [
          y(e(me), {
            renderer: e(k).slots.control,
            data: {
              value: z.value,
              onInput: e(Se),
              onChange: Ce,
              onEnter: J,
              onClear: N
            }
          }, {
            default: X(() => [
              oe("input", {
                ref_key: "control",
                ref: n,
                class: x(e(i).be("input")),
                autofocus: e(k).autofocus,
                spellcheck: e(k).spellcheck,
                disabled: e(k).disabled,
                placeholder: e(k).placeholder ?? e(F).placeholder,
                readonly: G.value,
                name: e(k).name,
                autocomplete: "off",
                tabindex: "-1",
                role: "combobox",
                "aria-autocomplete": "list",
                onSubmit: be[0] || (be[0] = gt(() => {
                }, ["prevent"])),
                onInput: be[1] || (be[1] = //@ts-ignore
                (...re) => e(Se) && e(Se)(...re)),
                onKeydown: ue,
                onFocus: be[2] || (be[2] = (re) => K(re)),
                onBlur: be[3] || (be[3] = (re) => we(re)),
                onCompositionstart: be[4] || (be[4] = (re) => P.value = !0),
                onCompositionend: j,
                onChange: j
              }, null, 42, wg)
            ]),
            _: 1
          }, 8, ["renderer", "data"])
        ])
      ]),
      _: 2
    }, [
      H.value ? {
        name: "prefix",
        fn: X(() => [
          W(ae.$slots, "prefix", {}, () => [
            y(e(me), {
              renderer: e(k).slots.prefix
            }, {
              default: X(() => [
                y(e(Oe), {
                  icon: e(k).prefix
                }, null, 8, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ]),
        key: "0"
      } : void 0,
      U.value ? {
        name: "suffix",
        fn: X(() => [
          W(ae.$slots, "suffix", {}, () => [
            y(e(me), {
              renderer: e(k).slots.suffix
            }, {
              default: X(() => [
                y(e(Oe), {
                  icon: e(k).suffix
                }, null, 8, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ]),
        key: "1"
      } : void 0,
      ae.$slots.default || e(k).slots.default ? {
        name: "default",
        fn: X(({ option: re, index: ce, selected: Pe }) => [
          W(ae.$slots, "default", {
            option: re,
            index: ce,
            selected: Pe
          }, () => [
            y(e(me), {
              renderer: e(k).slots.default,
              data: { option: re, index: ce, selected: Pe }
            }, null, 8, ["renderer", "data"])
          ])
        ]),
        key: "2"
      } : void 0,
      ae.$slots.group || e(k).slots.group ? {
        name: "group",
        fn: X(({ option: re, index: ce }) => [
          W(ae.$slots, "group", {
            option: re,
            index: ce
          }, () => [
            y(e(me), {
              renderer: e(k).slots.group,
              data: { option: re, index: ce }
            }, null, 8, ["renderer", "data"])
          ])
        ]),
        key: "3"
      } : void 0,
      ae.$slots.prepend || e(k).slots.prepend ? {
        name: "prepend",
        fn: X(() => [
          W(ae.$slots, "prepend", {}, () => [
            y(e(me), {
              renderer: e(k).slots.prepend
            }, null, 8, ["renderer"])
          ])
        ]),
        key: "4"
      } : void 0,
      ae.$slots.append || e(k).slots.append ? {
        name: "append",
        fn: X(() => [
          W(ae.$slots, "append", {}, () => [
            y(e(me), {
              renderer: e(k).slots.append
            }, null, 8, ["renderer"])
          ])
        ]),
        key: "5"
      } : void 0,
      ae.$slots.list || e(k).slots.list ? {
        name: "list",
        fn: X(({ options: re, isSelected: ce, handleSelect: Pe }) => [
          W(ae.$slots, "list", {
            options: re,
            isSelected: ce,
            handleSelect: Pe
          }, () => [
            y(e(me), {
              renderer: e(k).slots.list,
              data: {
                options: re,
                isSelected: ce,
                handleSelect: Pe
              }
            }, null, 8, ["renderer", "data"])
          ])
        ]),
        key: "6"
      } : void 0
    ]), 1032, ["id", "visible", "class", "inherit", "label-id", "list-class", "value", "size", "state", "clearable", "transition-name", "disabled", "transfer", "placement", "prefix-color", "suffix-color", "no-suffix", "placeholder", "options", "key-config", "loading", "loading-icon", "loading-lock", "loading-effect", "transparent", "filter", "ignore-case", "popper-alive", "shift"]));
  }
}), Sg = ft({
  size: [Number, String],
  src: String,
  icon: Xt,
  circle: M,
  alt: String,
  fit: String,
  srcSet: String,
  gap: Number,
  iconScale: Number,
  fallbackSrc: String,
  color: String,
  background: String,
  slots: Object,
  onError: B(),
  onClick: B()
}), Cg = ft({
  size: [Number, String],
  options: Object,
  circle: M,
  max: Number,
  showTip: M,
  tipTrigger: String,
  vertical: M,
  offset: Number,
  restColor: String,
  restBackground: String,
  slots: Object
}), Sd = "__VXP_AVATAR_GROUP_STATE", Tg = Object.freeze([
  "fill",
  "contain",
  "cover",
  "none",
  "scale-down"
]), $g = ["src", "alt", "srcset"], Eg = ["src", "alt"], wa = /* @__PURE__ */ Xe({
  name: "Avatar",
  __name: "avatar",
  props: Sg,
  setup(t, { expose: r }) {
    const a = ct("avatar", t, {
      size: "default",
      src: {
        default: "",
        static: !0
      },
      icon: en(),
      circle: !1,
      alt: "",
      fit: {
        default: "cover",
        validator: (w) => Tg.includes(w)
      },
      srcSet: "",
      gap: 4,
      iconScale: 1.4,
      fallbackSrc: "",
      color: null,
      background: null,
      slots: () => ({})
    }), n = kn(), o = Et(Sd, null), s = Ye("avatar"), c = $(!1), d = $(!1), p = $(), m = Wo(() => v(!0)), b = g(() => (o == null ? void 0 : o.size) ?? a.size), f = g(() => ({
      [s.b()]: !0,
      [s.bs("vars")]: !0,
      [s.bm("inherit")]: a.inherit,
      [s.bm(b.value)]: typeof b.value != "number" && b.value !== "default",
      [s.bm("circle")]: a.circle
    })), u = g(() => {
      const w = {
        [s.cv("color")]: a.color,
        [s.cv("bg-color")]: a.background,
        [s.cv("image-fit")]: a.fit
      };
      return typeof b.value == "number" && (w[s.cv("size")] = `${b.value}px`), w;
    });
    le(
      () => a.src,
      () => {
        c.value = !1, d.value = !1, v();
      }
    ), le(
      () => a.fallbackSrc,
      () => {
        d.value = !1, v();
      }
    ), le(
      () => a.gap,
      () => v()
    ), r({ loadFail: c, fallbackFail: d });
    function h(w) {
      c.value = !0, _(a.onError, w);
    }
    let i = null;
    function v(w = !1) {
      const T = p.value, F = m.value;
      if (T && F && (w || i === null || i !== F.textContent)) {
        i = F.textContent;
        const { offsetWidth: A, offsetHeight: z } = T, { offsetWidth: C, offsetHeight: E } = F, P = a.gap * 2, R = Math.min(
          (A - P) / (C || 1),
          (z - P) / (E || 1),
          1
        );
        F.style.transform = `scale(${R})`;
      }
    }
    function k(w) {
      _(a.onClick, w);
    }
    return (w, T) => (S(), D("div", {
      ref_key: "wrapper",
      ref: p,
      class: x(f.value),
      style: Qe(u.value),
      onClick: k
    }, [
      (e(a).src || e(a).srcSet) && !c.value ? (S(), D("img", {
        key: 0,
        class: x(e(s).be("image")),
        src: e(a).src,
        alt: e(a).alt,
        srcset: e(a).srcSet,
        onError: h
      }, null, 42, $g)) : c.value && e(a).fallbackSrc && !d.value ? (S(), D("img", {
        key: 1,
        class: x(e(s).be("image")),
        src: e(a).fallbackSrc,
        alt: e(a).alt,
        onError: T[0] || (T[0] = (F) => d.value = !0)
      }, null, 42, Eg)) : w.icon || n.icon ? W(w.$slots, "icon", { key: 2 }, () => [
        y(e(me), {
          renderer: e(a).slots.icon
        }, {
          default: X(() => [
            y(e(Oe), {
              class: x(e(s).be("icon")),
              icon: w.icon,
              scale: e(a).iconScale
            }, null, 8, ["class", "icon", "scale"])
          ]),
          _: 1
        }, 8, ["renderer"])
      ]) : (S(), Be(e(zn), {
        key: 3,
        "on-resize": v
      }, {
        default: X(() => [
          oe("span", {
            ref_key: "text",
            ref: m,
            class: x(e(s).be("text"))
          }, [
            W(w.$slots, "default", {}, () => [
              y(e(me), {
                renderer: e(a).slots.default
              }, null, 8, ["renderer"])
            ])
          ], 2)
        ]),
        _: 3
      }))
    ], 6));
  }
}), Ag = /* @__PURE__ */ Xe({
  name: "AvatarGroup",
  __name: "avatar-group",
  props: Cg,
  setup(t) {
    const l = ct("avatarGroup", t, {
      size: "default",
      options: {
        default: () => [],
        static: !0
      },
      circle: !1,
      max: null,
      showTip: !1,
      tipTrigger: "hover",
      vertical: !1,
      offset: null,
      restColor: null,
      restBackground: null,
      slots: () => ({})
    }), a = Ye("avatar-group"), n = $([]), o = $([]);
    In(() => {
      const d = l.options.length;
      l.max > 0 && d > l.max ? (n.value = l.options.slice(0, l.max - 1), o.value = l.options.slice(l.max - 1)) : (n.value = Array.from(l.options), o.value = []);
    }), nn(Sd, l);
    const s = g(() => ({
      [a.b()]: !0,
      [a.ns("avatar-vars")]: !0,
      [a.bm("inherit")]: l.inherit,
      [a.bm(l.size)]: typeof l.size != "number" && l.size !== "default",
      [a.bm("circle")]: l.circle,
      [a.bm("vertical")]: l.vertical
    })), c = g(() => {
      const d = {};
      return typeof l.offset == "number" && (d[a.cv("offset")] = `${l.offset}px`), d;
    });
    return (d, p) => (S(), D("div", {
      class: x(s.value),
      role: "group",
      style: Qe(c.value)
    }, [
      (S(!0), D(st, null, ln(n.value, (m, b) => (S(), D("div", {
        key: b,
        class: x(e(a).be("item"))
      }, [
        W(d.$slots, "default", {
          option: m,
          index: b
        }, () => [
          y(e(me), {
            renderer: e(l).slots.default,
            data: { option: m, index: b }
          }, {
            default: X(() => [
              y(e(wa), {
                inherit: "",
                src: m.src,
                icon: m.icon,
                alt: m.alt,
                fit: m.fit,
                "src-set": m.srcSet,
                gap: m.gap,
                "icon-scale": m.iconScale,
                "fallback-src": m.fallbackSrc
              }, {
                default: X(() => [
                  dt(ze(m.text), 1)
                ]),
                _: 2
              }, 1032, ["src", "icon", "alt", "fit", "src-set", "gap", "icon-scale", "fallback-src"])
            ]),
            _: 2
          }, 1032, ["renderer", "data"])
        ])
      ], 2))), 128)),
      o.value.length ? (S(), D("div", {
        key: 0,
        class: x([e(a).be("item"), e(a).bem("item", "rest")])
      }, [
        e(l).showTip ? (S(), Be(e(Fl), {
          key: 0,
          inherit: "",
          trigger: e(l).tipTrigger,
          "tip-class": e(a).be("rest")
        }, {
          trigger: X(() => [
            W(d.$slots, "rest", {
              options: o.value,
              count: o.value.length
            }, () => [
              y(e(me), {
                renderer: e(l).slots.rest,
                data: { options: o.value, count: o.value.length }
              }, {
                default: X(() => [
                  y(e(wa), {
                    inherit: "",
                    color: e(l).restColor,
                    background: e(l).restBackground
                  }, {
                    default: X(() => [
                      dt(ze(`+${o.value.length}`), 1)
                    ]),
                    _: 1
                  }, 8, ["color", "background"])
                ]),
                _: 1
              }, 8, ["renderer", "data"]),
              p[0] || (p[0] = dt("> "))
            ])
          ]),
          default: X(() => [
            W(d.$slots, "tip", {
              options: o.value,
              count: o.value.length
            }, () => [
              y(e(me), {
                renderer: e(l).slots.tip,
                data: { options: o.value, count: o.value.length }
              }, {
                default: X(() => [
                  (S(!0), D(st, null, ln(o.value, (m, b) => (S(), Be(e(wa), {
                    key: b,
                    inherit: "",
                    src: m.src,
                    icon: m.icon,
                    alt: m.alt,
                    fit: m.fit,
                    "src-set": m.srcSet,
                    gap: m.gap,
                    "icon-scale": m.iconScale,
                    "fallback-src": m.fallbackSrc
                  }, {
                    default: X(() => [
                      dt(ze(m.text), 1)
                    ]),
                    _: 2
                  }, 1032, ["src", "icon", "alt", "fit", "src-set", "gap", "icon-scale", "fallback-src"]))), 128))
                ]),
                _: 1
              }, 8, ["renderer", "data"])
            ])
          ]),
          _: 3
        }, 8, ["trigger", "tip-class"])) : W(d.$slots, "rest", {
          key: 1,
          options: o.value,
          count: o.value.length
        }, () => [
          y(e(me), {
            renderer: e(l).slots.rest,
            data: { options: o.value, count: o.value.length }
          }, {
            default: X(() => [
              y(e(wa), {
                inherit: "",
                color: e(l).restColor,
                background: e(l).restBackground
              }, {
                default: X(() => [
                  dt(ze(`+${o.value.length}`), 1)
                ]),
                _: 1
              }, 8, ["color", "background"])
            ]),
            _: 1
          }, 8, ["renderer", "data"])
        ])
      ], 2)) : ge("", !0)
    ], 6));
  }
}), Rg = ft({
  content: [Number, String],
  max: Number,
  disabled: M,
  isDot: M,
  type: String,
  color: String,
  slots: Object,
  onBadgeClick: B()
}), Mg = Object.freeze([
  "error",
  "primary",
  "success",
  "warning",
  "info",
  "disabled"
]), Pg = ["title"], Cd = /* @__PURE__ */ Xe({
  name: "Badge",
  __name: "badge",
  props: Rg,
  setup(t) {
    const l = ct("badge", t, {
      content: {
        default: null,
        static: !0
      },
      max: 0,
      disabled: !1,
      isDot: !1,
      type: {
        default: "error",
        validator: (f) => Mg.includes(f)
      },
      color: null,
      slots: () => ({})
    }), a = kn(), n = Ye("badge"), o = g(() => !!a.default), s = g(() => ({
      [n.b()]: !0,
      [n.bs("vars")]: !0,
      [n.bm("inherit")]: l.inherit,
      [n.bm("not-wrapper")]: !o.value,
      [n.bm("is-dot")]: l.isDot
    })), c = g(() => l.isDot ? "" : typeof l.content == "number" && l.max > 0 && l.content > l.max ? `${l.max}+` : l.content), d = g(() => o.value ? n.bs("badge-zoom") : n.bs("zoom")), p = g(() => l.content || l.content === 0 ? l.content.toString() : void 0), m = g(() => !l.disabled && (l.content || l.content === 0 || l.isDot));
    function b(f) {
      _(l.onBadgeClick, f);
    }
    return (f, u) => (S(), D("div", {
      class: x(s.value)
    }, [
      W(f.$slots, "default", {}, () => [
        y(e(me), {
          renderer: e(l).slots.default
        }, null, 8, ["renderer"])
      ]),
      y(En, { name: d.value }, {
        default: X(() => [
          el(oe("sup", {
            class: x({
              [e(n).be("content")]: !0,
              [e(n).bem("content", "fixed")]: o.value,
              [e(n).bem("content", e(l).type)]: e(l).type !== "error"
            }),
            style: Qe({ backgroundColor: e(l).color }),
            title: p.value,
            onClick: b
          }, [
            W(f.$slots, "content", { content: c.value }, () => [
              y(e(me), {
                renderer: e(l).slots.content,
                data: { content: c.value }
              }, {
                default: X(() => [
                  dt(ze(c.value), 1)
                ]),
                _: 1
              }, 8, ["renderer", "data"])
            ])
          ], 14, Pg), [
            [tl, m.value]
          ])
        ]),
        _: 3
      }, 8, ["name"])
    ], 2));
  }
}), zg = ft({
  separator: String,
  border: M,
  options: Array,
  router: Object,
  slots: Object,
  onSelect: B(),
  onSeparatorClick: B()
}), Lg = Jl({
  label: {
    type: [String, Number],
    default: null
  },
  onSelect: B(),
  onSeparatorClick: B()
}), Td = "__VXP_BREADCRUMB_STATE", $d = /* @__PURE__ */ Xe({
  name: "BreadcrumbItem",
  __name: "breadcrumb-item",
  props: Lg,
  setup(t) {
    const r = t, l = Ye("breadcrumb"), a = Et(Td, null), n = $(r.label), o = $("/"), s = $(null);
    if (le(
      () => r.label,
      (p) => {
        n.value = p, a == null || a.refreshLabels();
      }
    ), a) {
      const p = pt({
        label: n
      });
      le(
        () => a.separator,
        (m) => {
          o.value = m;
        },
        { immediate: !0 }
      ), le(
        () => a.separatorRenderer,
        (m) => {
          s.value = m;
        },
        { immediate: !0 }
      ), a.increaseItem(p), pn(() => {
        a.decreaseItem(p);
      });
    }
    function c() {
      _(r.onSelect, n.value), a == null || a.handleSelect(n.value);
    }
    function d() {
      _(r.onSeparatorClick, n.value), a == null || a.handleSeparatorClick(n.value);
    }
    return (p, m) => (S(), D("li", {
      class: x(e(l).be("item"))
    }, [
      oe("a", {
        class: x(e(l).be("label")),
        tabindex: "0",
        onClick: c,
        onKeydown: Kn(c, ["enter"])
      }, [
        W(p.$slots, "default", {}, () => [
          dt(ze(p.label), 1)
        ])
      ], 34),
      oe("span", {
        class: x(e(l).be("separator")),
        role: "separator",
        onClick: d
      }, [
        W(p.$slots, "separator", {}, () => [
          e(on)(s.value) ? (S(), Be(e(me), {
            key: 0,
            renderer: s.value,
            data: { label: n.value }
          }, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 1 }, [
            dt(ze(o.value), 1)
          ], 64))
        ])
      ], 2)
    ], 2));
  }
}), Fg = /* @__PURE__ */ Xe({
  name: "Breadcrumb",
  __name: "breadcrumb",
  props: zg,
  setup(t) {
    const l = ct("breadcrumb", t, {
      separator: "/",
      border: !1,
      options: {
        default: () => [],
        static: !0
      },
      router: null,
      slots: () => ({})
    }), a = kn(), n = Ye("breadcrumb"), o = /* @__PURE__ */ new Set(), s = g(() => ({
      [n.b()]: !0,
      [n.bs("vars")]: !0,
      [n.bm("inherit")]: l.inherit,
      [n.bm("border")]: l.border
    })), c = g(() => {
      var h;
      if (l.router && !((h = l.options) != null && h.length)) {
        const i = l.router.currentRoute.value.matched, v = [];
        for (const k of i) {
          const w = k.meta || {};
          w.menu !== !1 && v.push({
            label: w.label || k.path,
            name: w.name || k.name
          });
        }
        return v;
      }
      return l.options.map((i) => typeof i == "string" ? { label: i } : i);
    }), d = Ln(() => {
      Array.from(o).forEach((h, i) => {
        Tt(h.label) && (h.label = i + 1);
      });
    }), p = pt({
      separator: qe(l, "separator"),
      separatorRenderer: null,
      increaseItem: m,
      decreaseItem: b,
      handleSelect: f,
      refreshLabels: d,
      handleSeparatorClick: u
    });
    nn(Td, p), le(
      [() => a.separator, () => l.slots.separator],
      ([h, i]) => {
        p.separatorRenderer = h ? (v) => h(v) : i ? (v) => i(v) : null;
      },
      { immediate: !0 }
    );
    function m(h) {
      o.add(h), d();
    }
    function b(h) {
      o.delete(h), d();
    }
    function f(h) {
      _(l.onSelect, h);
    }
    function u(h) {
      _(l.onSeparatorClick, h);
    }
    return (h, i) => (S(), D("ol", {
      class: x(s.value)
    }, [
      W(h.$slots, "default", {}, () => [
        y(e(me), {
          renderer: e(l).slots.default
        }, {
          default: X(() => [
            (S(!0), D(st, null, ln(c.value, (v, k) => (S(), Be(e($d), {
              key: v.label,
              label: v.label
            }, {
              default: X(() => [
                W(h.$slots, "item", {
                  option: v,
                  index: k
                }, () => [
                  y(e(me), {
                    renderer: e(l).slots.item,
                    data: { option: v, index: k }
                  }, {
                    default: X(() => [
                      dt(ze(v.name ? e(vl)(v.name) : v.label), 1)
                    ]),
                    _: 2
                  }, 1032, ["renderer", "data"])
                ])
              ]),
              _: 2
            }, 1032, ["label"]))), 128))
          ]),
          _: 3
        }, 8, ["renderer"])
      ])
    ], 2));
  }
}), Ig = ft({
  placement: String,
  type: String,
  background: String,
  shadow: hn,
  contentClass: Bn
}), Ng = Object.freeze([
  "default",
  "primary",
  "info",
  "success",
  "warning",
  "error"
]), xi = /* @__PURE__ */ Xe({
  name: "Bubble",
  __name: "bubble",
  props: Ig,
  setup(t, { expose: r }) {
    const a = ct("bubble", t, {
      placement: {
        default: "right",
        validator: (p) => Wl.includes(p)
      },
      type: {
        default: null,
        validator: (p) => Ng.includes(p)
      },
      background: "",
      shadow: !1,
      contentClass: null
    }), n = Ye("bubble"), o = $(), s = $(), c = g(() => [
      n.b(),
      n.bs("vars"),
      n.bm(a.placement),
      {
        [n.bm("inherit")]: a.inherit,
        [n.bm("background")]: a.background,
        [n.bm("shadow")]: a.shadow,
        [n.bm(a.type)]: a.type !== "default"
      }
    ]), d = g(() => {
      if (a.background)
        return {
          [n.cv("color")]: n.gnv("color-white"),
          [n.cv("bg-color")]: a.background
        };
    });
    return r({ wrapper: o, arrow: s }), (p, m) => (S(), D("div", {
      ref_key: "wrapper",
      ref: o,
      class: x(c.value),
      style: Qe(d.value)
    }, [
      oe("div", {
        class: x([e(n).be("content"), e(a).contentClass]),
        style: Qe({
          boxShadow: e(a).shadow ? `0 0 4px ${e(a).shadow}` : void 0
        })
      }, [
        W(p.$slots, "default")
      ], 6),
      oe("div", {
        ref_key: "arrow",
        ref: s,
        class: x(e(n).be("arrow"))
      }, null, 2)
    ], 6));
  }
}), Dg = ft({
  size: An,
  type: String,
  dashed: M,
  text: M,
  simple: M,
  ghost: M,
  disabled: M,
  loading: M,
  circle: M,
  loadingIcon: Xt,
  loadingEffect: String,
  icon: Xt,
  color: String,
  buttonType: String,
  block: M,
  tag: String,
  noPulse: M,
  badge: [String, Number],
  slots: Object,
  onClick: B()
}), Og = ft({
  size: An,
  type: String,
  circle: M
}), Ed = "__VXP_BUTTON_GROUP_STATE", Ad = Object.freeze([
  "default",
  "primary",
  "info",
  "success",
  "warning",
  "error"
]), Hn = /* @__PURE__ */ Xe({
  name: "Button",
  props: Dg,
  emits: [],
  setup(t, {
    slots: r
  }) {
    const l = Et(Fr, null), a = ct("button", t, {
      size: On(l ? l.size : void 0),
      type: {
        default: null,
        validator: (z) => Ad.includes(z)
      },
      dashed: !1,
      text: !1,
      simple: !1,
      ghost: !1,
      disabled: () => l ? l.disabled.value : !1,
      loading: () => l ? l.loading.value : !1,
      circle: !1,
      loadingIcon: en(),
      loadingEffect: null,
      icon: en(),
      color: null,
      buttonType: {
        default: "button",
        validator: (z) => ["button", "submit", "reset"].includes(z)
      },
      block: !1,
      tag: "button",
      noPulse: !1,
      badge: null,
      slots: () => ({})
    }), n = Et(Ed, null), o = Ye("button"), s = Gt(), c = $(!1), d = $(0), p = $(!1), m = g(() => !r.default && !a.slots.default), b = g(() => a.type ?? (n == null ? void 0 : n.type) ?? "default"), f = g(() => (n == null ? void 0 : n.size) ?? a.size), u = g(() => ({
      [o.b()]: !0,
      [o.bs("vars")]: !0,
      [o.bm("inherit")]: a.inherit,
      [o.bm(b.value)]: b.value !== "default",
      [o.bm("simple")]: !a.ghost && a.simple,
      [o.bm("ghost")]: a.ghost,
      [o.bm("text")]: a.text,
      [o.bm("dashed")]: a.dashed,
      [o.bm("disabled")]: a.disabled,
      [o.bm("loading")]: a.loading,
      [o.bm("circle")]: a.circle,
      [o.bm("icon-only")]: m.value,
      [o.bm(f.value)]: f.value !== "default",
      [o.bm("pulsing")]: c.value,
      [o.bm("first")]: d.value === 1,
      [o.bm("last")]: p.value,
      [o.bm("block")]: a.block
    })), h = g(() => {
      if (!a.color) return null;
      const z = zt ? getComputedStyle(document.documentElement) : null, C = Qn((z == null ? void 0 : z.getPropertyValue(o.nv("color-black"))) || "#000"), E = Qn((z == null ? void 0 : z.getPropertyValue(o.nv("color-white"))) || "#fff"), P = Qn(a.color);
      return {
        base: P.toString(),
        light2: ia(E, P, 0.2).toString(),
        dark1: ia(C, P, 0.1).toString(),
        opacity1: ml(P, 0.9).toString(),
        opacity3: ml(P, 0.7).toString(),
        opacity4: ml(P, 0.6).toString(),
        opacity7: ml(P, 0.3).toString(),
        opacity8: ml(P, 0.2).toString(),
        white8: ml(E, 0.2).toString(),
        white9: ml(E, 0.1).toString()
      };
    }), i = g(() => {
      if (!h.value) return {};
      const {
        base: z,
        light2: C,
        dark1: E,
        opacity1: P,
        opacity3: R,
        opacity4: L,
        opacity7: I,
        opacity8: G,
        white8: ee,
        white9: O
      } = h.value, {
        cvm: H,
        gnv: U
      } = o;
      return a.ghost ? H({
        color: z,
        "color-hover": z,
        "color-focus": z,
        "color-active": z,
        "color-disabled": z,
        "bg-color": "transparent",
        "bg-color-hover": O,
        "bg-color-focus": O,
        "bg-color-active": ee,
        "bg-color-disabled": "transparent",
        "b-color": z,
        "b-color-hover": C,
        "b-color-focus": C,
        "b-color-active": E,
        "b-color-disabled": U("content-color-disabled"),
        "pulse-s-color": E
      }) : a.simple ? H({
        color: z,
        "color-hover": z,
        "color-focus": U("color-white"),
        "color-active": U("color-white"),
        "color-disabled": U("content-color-disabled"),
        "bg-color": G,
        "bg-color-hover": I,
        "bg-color-focus": P,
        "bg-color-active": P,
        "bg-color-disabled": U("fill-color-background"),
        "b-color": L,
        "b-color-hover": L,
        "b-color-focus": R,
        "b-color-active": R,
        "b-color-disabled": U("border-color-light-1"),
        "pulse-s-color": E
      }) : a.text || a.dashed ? H({
        ...a.dashed ? {
          "b-color": z,
          "b-color-hover": C,
          "b-color-focus": C,
          "b-color-active": E,
          "pulse-s-color": E
        } : {},
        color: z,
        "color-hover": C,
        "color-focus": C,
        "color-active": E,
        "color-disabled": L
      }) : H({
        color: U("color-white"),
        "color-hover": U("color-white"),
        "color-focus": U("color-white"),
        "color-active": U("color-white"),
        "color-disabled": U("content-color-disabled"),
        "bg-color": z,
        "bg-color-hover": C,
        "bg-color-focus": C,
        "bg-color-active": E,
        "bg-color-disabled": U("fill-color-background"),
        "b-color": z,
        "b-color-hover": C,
        "b-color-focus": C,
        "b-color-active": E,
        "b-color-disabled": U("border-color-light-1"),
        "pulse-s-color": E
      });
    });
    if (n) {
      const z = pt({
        index: d,
        isLast: p
      });
      n.increaseItem(z), pn(() => {
        n.decreaseItem(z);
      });
    }
    function v(z) {
      a.disabled || a.loading || z.button || (a.noPulse || (c.value = !1, requestAnimationFrame(() => {
        c.value = !0;
      })), _(a.onClick, z));
    }
    function k() {
      c.value = !1;
    }
    function w() {
      return y("div", {
        class: [o.be("icon"), o.bem("icon", "loading")]
      }, [W(r, "loading", void 0, () => [y(me, {
        renderer: a.slots.loading
      }, {
        default: () => [y(Oe, He(s.value.loading, {
          effect: a.loadingEffect || s.value.loading.effect,
          icon: a.loadingIcon || s.value.loading.icon,
          label: "loading"
        }), null)]
      })])]);
    }
    function T() {
      return a.loading ? w() : y("div", {
        class: o.be("icon")
      }, [W(r, "icon", void 0, () => [y(me, {
        renderer: a.slots.icon
      }, {
        default: () => [a.icon ? y(Oe, {
          icon: a.icon
        }, null) : null]
      })])]);
    }
    function F() {
      return a.icon || r.icon || a.slots.icon ? a.loading ? w() : y("div", {
        class: o.be("icon")
      }, [W(r, "icon", void 0, () => [y(me, {
        renderer: a.slots.icon
      }, {
        default: () => [y(Oe, {
          icon: a.icon
        }, null)]
      })])]) : y(Ul, {
        appear: !0,
        horizontal: !0,
        "fade-effect": !0
      }, {
        default: () => [a.loading && w()]
      });
    }
    function A() {
      const z = a.disabled ? "disabled" : a.type === "default" ? "error" : a.type;
      return y(Cd, {
        inherit: !0,
        class: [o.be("badge"), o.bem("badge", z)],
        content: a.badge,
        type: z
      }, null);
    }
    return () => {
      const z = a.tag || "button";
      return y(z, {
        type: a.buttonType,
        class: u.value,
        role: "button",
        style: i.value,
        disabled: a.disabled,
        onClick: v,
        onAnimationend: k
      }, {
        default: () => [m.value ? T() : F(), !m.value && W(r, "default", void 0, () => [y(me, {
          renderer: a.slots.default
        }, null)]), !m.value && (a.badge || a.badge === 0) ? A() : null]
      });
    };
  }
}), _g = /* @__PURE__ */ Xe({
  name: "ButtonGroup",
  __name: "button-group",
  props: Og,
  setup(t) {
    const l = ct("buttonGroup", t, {
      size: null,
      type: {
        default: "default",
        validator: (f) => Ad.includes(f)
      },
      circle: !1
    }), a = Ye("button-group"), n = pt(/* @__PURE__ */ new Set()), o = qe(l, "size"), s = qe(l, "type"), c = g(() => ({
      [a.b()]: !0,
      [a.bm("inherit")]: l.inherit,
      [a.bm("circle")]: l.circle
    })), d = g(() => Array.from(n)), p = Ln(() => {
      for (let f = 0, u = d.value.length; f < u; ++f) {
        const h = d.value[f];
        h.index = f + 1, h.isLast = f === u - 1;
      }
    });
    nn(
      Ed,
      pt({
        size: o,
        type: s,
        increaseItem: m,
        decreaseItem: b,
        refreshIndexes: p
      })
    );
    function m(f) {
      n.add(f), p();
    }
    function b(f) {
      n.delete(f), p();
    }
    return (f, u) => (S(), D("div", {
      class: x(c.value),
      role: "group"
    }, [
      W(f.$slots, "default")
    ], 2));
  }
}), Iu = ["span", "offset", "pull", "push", "order"], Lo = Xe({
  name: "Column",
  props: ib,
  setup(t, { slots: r }) {
    const l = ct("column", t, {
      tag: "div",
      span: 24,
      offset: null,
      push: null,
      pull: null,
      order: null,
      xs: null,
      sm: null,
      md: null,
      lg: null,
      xl: null,
      xxl: null,
      flex: null,
      useFlex: null
    }), a = Et(Hs, null), n = Ye("column");
    nn(Hs, null);
    const o = g(() => {
      const c = (l.useFlex || (a == null ? void 0 : a.columnFlex)) && {
        ...(a == null ? void 0 : a.columnFlex) || {},
        ...l.useFlex ? l.useFlex === !0 ? { justify: "start", align: "top" } : l.useFlex : {}
      }, d = [
        n.b(),
        n.bs("vars"),
        {
          [n.bm("flex")]: c,
          [n.bm("inherit")]: a || l.inherit
        }
      ];
      return c && (c.justify && d.push(n.bm(c.justify)), c.align && d.push(n.bm(c.align))), Iu.forEach((p) => {
        typeof l[p] == "number" && d.push(
          p === "span" ? n.bm(`${l[p]}`) : n.bm(`${p}-${l[p]}`)
        );
      }), ub.forEach((p) => {
        const m = l[p];
        !m && m !== 0 || (typeof m == "number" ? d.push(n.bm(`${p}-${m}`)) : typeof m == "object" && Iu.forEach((b) => {
          const f = m[b];
          !f && f !== 0 || d.push(b === "span" ? n.bm(`${f}`) : n.bm(`${b}-${f}`));
        }));
      }), d;
    }), s = g(() => {
      const c = l.flex, d = {};
      return a && (typeof a.gap == "number" ? d.paddingInlineStart = d.paddingInlineEnd = `${a.gap / 2}px` : Array.isArray(a.gap) && (d.paddingInlineStart = d.paddingInlineEnd = `${a.gap[0] / 2}px`)), c && (typeof c == "number" ? d.flex = `${c} ${c} auto` : typeof c == "string" && (/^\d+\s\d+\s\d+(\w+)?$/.test(c) ? d.flex = c : d.flex = c === "auto" ? "1 1 auto" : `0 0 ${c}`)), d;
    });
    return () => Jn(
      l.tag || "div",
      {
        class: o.value,
        style: s.value
      },
      {
        default: () => r.default && r.default()
      }
    );
  }
}), Bg = ft({
  size: An,
  state: Zn,
  locale: Mn(),
  prefix: Xt,
  prefixColor: String,
  suffix: Xt,
  suffixColor: String,
  /**
   * 格式化后显示
   */
  formatter: Function,
  value: Number,
  min: Number,
  max: Number,
  placeholder: String,
  autofocus: M,
  spellcheck: M,
  autocomplete: hn,
  precision: Number,
  readonly: M,
  step: Number,
  ctrlStep: Number,
  shiftStep: Number,
  altStep: Number,
  disabled: M,
  controlClass: Bn,
  debounce: M,
  delay: Number,
  clearable: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  sync: M,
  syncStep: M,
  controlType: String,
  emptyType: String,
  controlAttrs: Object,
  name: String,
  slots: Object,
  onFocus: B(),
  onBlur: B(),
  onInput: B(),
  onChange: B(),
  onEnter: B(),
  onClear: B(),
  onPrefixClick: B(),
  onSuffixClick: B(),
  onKeyDown: B(),
  onKeyPress: B(),
  onKeyUp: B()
}), Hg = ["id"], Vg = ["id", "autofocus", "autocomplete", "spellcheck", "disabled", "readonly", "placeholder", "name", "title", "aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-labelledby"], jg = ["aria-label"], Wg = ["aria-label", "aria-labelledby", "aria-controls"], Kg = ["aria-label", "aria-labelledby", "aria-controls"], Ir = /* @__PURE__ */ Xe({
  name: "NumberInput",
  __name: "number-input",
  props: Bg,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const a = (pe) => !pe && pe !== 0, n = (pe) => Tt(pe) || Number.isNaN(pe), {
      idFor: o,
      labelId: s,
      state: c,
      disabled: d,
      loading: p,
      size: m,
      validateField: b,
      clearField: f,
      getFieldValue: u,
      setFieldValue: h
    } = al(N), v = ct("numberInput", t, {
      size: On(m),
      state: ll(c),
      locale: null,
      prefix: en(),
      prefixColor: "",
      suffix: en(),
      suffixColor: "",
      // 格式化后显示
      formatter: {
        default: null,
        isFunc: !0
      },
      value: {
        default: () => u(),
        static: !0
      },
      min: -1 / 0,
      max: 1 / 0,
      placeholder: null,
      autofocus: !1,
      spellcheck: !1,
      autocomplete: !1,
      precision: -1,
      readonly: !1,
      step: 1,
      ctrlStep: 100,
      shiftStep: 10,
      altStep: 0.1,
      disabled: () => d.value,
      controlClass: null,
      debounce: !1,
      delay: null,
      clearable: !1,
      loading: () => p.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      sync: !1,
      syncStep: !1,
      controlType: "right",
      emptyType: "NaN",
      controlAttrs: null,
      name: {
        default: "",
        static: !0
      },
      slots: () => ({})
    }), k = l, w = kn(), T = Ye("number-input"), F = vn("numberInput", qe(v, "locale")), A = Gt(), { timeout: z, interval: C } = Hm(), E = $(!1), P = $(a(v.value) ? Mt() : v.value), R = $(!1), L = $(!1), I = $(!1), G = $(), { wrapper: ee, isHover: O } = Ql();
    cl({
      target: G,
      passive: !1,
      onKeyDown: (pe, Re) => {
        if (_(v.onKeyDown, pe), Re.up || Re.down) {
          if (pe.preventDefault(), pe.stopPropagation(), Re.up && K.value || Re.down && we.value)
            return;
          at(
            Re.up ? "plus" : "minus",
            pe.ctrlKey ? "ctrl" : pe.shiftKey ? "shift" : pe.altKey ? "alt" : void 0
          ), Re.resetAll();
        } else Re.enter && (pe.preventDefault(), pe.stopPropagation(), Ht("change"), Re.resetAll());
      },
      onKeyUp: (pe) => {
        _(v.onKeyUp, pe), pe.key === "Enter" && tn();
      }
    });
    let H;
    const U = Zl(), q = g(() => !n(P.value) && (rn(P.value) > v.max || rn(P.value) < v.min)), Z = g(() => v.loading && v.loadingLock || v.readonly), K = g(() => v.disabled || Z.value || !n(P.value) && rn(P.value) >= v.max), we = g(() => v.disabled || Z.value || !n(P.value) && rn(P.value) <= v.min), de = g(() => {
      const [pe, Re] = (v.controlType || "right").split("-");
      return [
        T.b(),
        T.bs("vars"),
        T.ns("input-vars"),
        {
          [T.bm("inherit")]: v.inherit,
          [T.bm("focused")]: R.value,
          [T.bm("disabled")]: v.disabled,
          [T.bm("readonly")]: Z.value,
          [T.bm("loading")]: v.loading,
          [T.bm(v.size)]: v.size !== "default",
          [T.bm(v.state)]: v.state !== "default",
          [T.bm(`control-${pe}`)]: pe !== "right",
          [T.bm("control-fade")]: Re,
          [T.bm("out-of-range")]: q.value
        }
      ];
    }), te = g(() => !!(w.prefix || v.prefix || v.slots.prefix)), Ee = g(() => !!(w.suffix || v.suffix || v.slots.suffix)), Se = g(() => !R.value && typeof P.value == "number" && !Number.isNaN(P.value) && v.precision >= 0 ? _n(P.value, v.precision) : P.value), Ce = g(() => n(Se.value) || typeof Se.value != "number" ? Se.value ?? "" : !R.value && typeof v.formatter == "function" ? v.formatter(Se.value) : Se.value.toString()), fe = g(() => !!(P.value || P.value === 0)), ot = g(() => !v.disabled && !Z.value && v.clearable && O.value && fe.value), Ze = g(() => typeof v.autocomplete == "boolean" ? v.autocomplete ? "on" : "off" : v.autocomplete), Je = rn(v.delay), se = v.debounce ? da(yt, Je || 100) : Cl(yt, Je || 16);
    le(
      () => v.value,
      (pe) => {
        pe !== H && J();
      },
      { immediate: !0 }
    ), le(R, (pe) => {
      pe || ne(R.value ? P.value : Ce.value);
    }), sn(() => {
      ne(R.value ? P.value : Ce.value);
    }), r({
      idFor: o,
      focused: E,
      isHover: O,
      outOfRange: q,
      preciseNumber: Se,
      formattedValue: Ce,
      isReadonly: Z,
      wrapper: ee,
      input: G,
      focus: N,
      blur: () => {
        var pe;
        return (pe = G.value) == null ? void 0 : pe.blur();
      }
    });
    function ne(pe) {
      G.value && (G.value.value = n(pe) ? "" : pe.toString());
    }
    function ue(pe) {
      return cn(pe, v.min, v.max);
    }
    function J() {
      let pe = v.value;
      pe = R.value ? pe : tr(pe, !0) ? rn(pe) : Mt(), v.precision >= 0 && !n(pe) && (pe = _n(ue(pe), v.precision)), P.value = pe, H = pe, ne(R.value ? pe : Ce.value);
    }
    function N(pe) {
      var Re;
      (Re = G.value) == null || Re.focus(pe);
    }
    function j(pe) {
      E.value = !0, R.value = !0, _(v.onFocus, pe);
    }
    function ae(pe) {
      E.value = !1, setTimeout(() => {
        E.value || (R.value = !1, _(v.onBlur, pe), Ht("change"));
      }, 120);
    }
    function be(pe, Re) {
      const he = pe === "plus" ? K : we, Fe = pe === "plus" ? ce : Pe;
      Re.button !== 0 || he.value || (Fe(Re), document.addEventListener("pointerup", re), document.addEventListener("touchend", re), clearTimeout(z.step), clearInterval(C.step), (pe === "plus" ? L : I).value = !0, z.step = setTimeout(() => {
        C.step = setInterval(() => {
          he.value ? re() : Fe(Re);
        }, 32);
      }, 500));
    }
    function re() {
      document.removeEventListener("pointerup", re), document.removeEventListener("touchend", re), clearTimeout(z.step), clearInterval(C.step), L.value = !1, I.value = !1;
    }
    function ce(pe) {
      !E.value && N(), at(
        "plus",
        pe.ctrlKey ? "ctrl" : pe.shiftKey ? "shift" : pe.altKey ? "alt" : void 0
      );
    }
    function Pe(pe) {
      !E.value && N(), at(
        "minus",
        pe.ctrlKey ? "ctrl" : pe.shiftKey ? "shift" : pe.altKey ? "alt" : void 0
      );
    }
    function at(pe, Re) {
      if (v.disabled || Z.value) return;
      let he = P.value || 0, Fe;
      switch (Re) {
        case "ctrl":
          Fe = v.ctrlStep;
          break;
        case "shift":
          Fe = v.shiftStep;
          break;
        case "alt":
          Fe = v.altStep;
          break;
        default:
          Fe = v.step;
      }
      const lt = he.toString().trim();
      lt.endsWith(".") && (he = rn(lt.slice(0, -1))), pe === "plus" ? he = np(he, Fe) : he = lp(he, Fe), Nt(he, v.syncStep && !v.sync ? "change" : "input");
    }
    function yt(pe) {
      const Re = pe.type, he = pe.target.value;
      let Fe = he.trim();
      if (Re === "change" && he && !tr(he, !0)) {
        const lt = parseFloat(he);
        Number.isNaN(lt) ? Fe = "" : Fe = lt.toString();
      }
      R.value = Re === "input", Nt(Fe, Re);
    }
    function Nt(pe, Re, he = v.sync) {
      Re !== "input" ? P.value = a(pe) ? Mt() : rn(pe) : P.value = pe, ne(P.value), Ht(Re, he);
    }
    function Mt() {
      switch (v.emptyType) {
        case "undefined":
          return;
        case "null":
          return null;
        default:
          return NaN;
      }
    }
    function Ht(pe, Re = v.sync) {
      if (pe = pe === "input" ? "input" : "change", pe === "change") {
        const he = a(P.value), Fe = he ? Mt() : rn(P.value);
        let lt = he ? Fe : ue(rn(Fe));
        !he && v.precision >= 0 && (lt = _n(lt, v.precision));
        const Ke = !Object.is(lt, Fe);
        if (he || (P.value = lt), !Re && Object.is(H, lt)) {
          !Object.is(v.value, Fe) && k("update:value", lt);
          return;
        }
        H = lt, (!Re || Ke) && (k("update:value", lt), h(lt)), _(v.onChange, lt), (!Re || Ke) && b();
      } else {
        const he = parseFloat(P.value), Fe = Number.isNaN(he);
        let lt = Fe ? Mt() : ue(rn(he));
        !Fe && v.precision >= 0 && (lt = _n(lt, v.precision));
        const Ke = Re && !Object.is(H, lt);
        Ke && (H = lt, k("update:value", lt), h(lt)), _(v.onInput, he), Ke && b();
      }
    }
    function _t() {
      v.disabled || Z.value || (Nt(NaN, "change", !1), _(v.onClear), f(NaN), N());
    }
    function tn() {
      _(v.onEnter);
    }
    function Wt(pe) {
      _(v.onPrefixClick, pe);
    }
    function un(pe) {
      _(v.onSuffixClick, pe);
    }
    function qt(pe) {
      _(v.onKeyPress, pe);
    }
    return (pe, Re) => {
      var he, Fe;
      return S(), D("div", {
        id: e(o),
        ref_key: "wrapper",
        ref: ee,
        class: x(de.value),
        role: "group",
        onClick: Re[8] || (Re[8] = (lt) => {
          var Ke;
          return (Ke = G.value) == null ? void 0 : Ke.focus();
        })
      }, [
        te.value ? (S(), D("div", {
          key: 0,
          class: x([e(T).be("icon"), e(T).be("prefix")]),
          style: Qe({ color: e(v).prefixColor }),
          onClick: Wt
        }, [
          W(pe.$slots, "prefix", {}, () => [
            y(e(me), {
              renderer: e(v).slots.prefix
            }, {
              default: X(() => [
                y(e(Oe), {
                  icon: e(v).prefix
                }, null, 8, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)) : ge("", !0),
        oe("input", He(e(v).controlAttrs, {
          id: e(U),
          ref_key: "control",
          ref: G,
          class: [e(T).be("control"), (he = e(v).controlAttrs) == null ? void 0 : he.class, e(v).controlClass],
          type: "text",
          autofocus: e(v).autofocus,
          autocomplete: Ze.value,
          spellcheck: e(v).spellcheck,
          disabled: e(v).disabled,
          readonly: Z.value,
          placeholder: e(v).placeholder ?? e(F).placeholder,
          name: e(v).name || ((Fe = e(v).controlAttrs) == null ? void 0 : Fe.name),
          role: "spinbutton",
          title: q.value ? e(F).outOfRange : void 0,
          "aria-valuenow": Se.value,
          "aria-valuemin": e(v).min !== -1 / 0 ? e(v).min : void 0,
          "aria-valuemax": e(v).max !== 1 / 0 ? e(v).max : void 0,
          "aria-labelledby": e(s),
          onSubmit: Re[0] || (Re[0] = gt(() => {
          }, ["prevent"])),
          onBlur: ae,
          onFocus: j,
          onKeypress: qt,
          onInput: Re[1] || (Re[1] = //@ts-ignore
          (...lt) => e(se) && e(se)(...lt)),
          onChange: yt
        }), null, 16, Vg),
        Ee.value ? (S(), D("div", {
          key: 1,
          class: x([e(T).be("icon"), e(T).be("suffix")]),
          style: Qe({
            color: e(v).suffixColor,
            opacity: ot.value || e(v).loading ? "0%" : ""
          }),
          onClick: un
        }, [
          W(pe.$slots, "suffix", {}, () => [
            y(e(me), {
              renderer: e(v).slots.suffix
            }, {
              default: X(() => [
                y(e(Oe), {
                  icon: e(v).suffix
                }, null, 8, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)) : e(v).clearable || e(v).loading ? (S(), D("div", {
          key: 2,
          class: x([e(T).be("icon"), e(T).bem("icon", "placeholder"), e(T).be("suffix")])
        }, null, 2)) : ge("", !0),
        y(En, {
          name: e(T).ns("fade"),
          appear: ""
        }, {
          default: X(() => [
            ot.value ? (S(), D("button", {
              key: 0,
              class: x([e(T).be("icon"), e(T).be("clear")]),
              type: "button",
              tabindex: "-1",
              "aria-label": e(F).ariaLabel.clear,
              onClick: gt(_t, ["stop"])
            }, [
              y(e(Oe), He(e(A).clear, { label: "clear" }), null, 16)
            ], 10, jg)) : e(v).loading ? (S(), D("div", {
              key: 1,
              class: x([e(T).be("icon"), e(T).be("loading")])
            }, [
              y(e(Oe), He(e(A).loading, {
                effect: e(v).loadingEffect || e(A).loading.effect,
                icon: e(v).loadingIcon || e(A).loading.icon,
                label: "loading"
              }), null, 16, ["effect", "icon"])
            ], 2)) : ge("", !0)
          ]),
          _: 1
        }, 8, ["name"]),
        e(v).controlType !== "none" ? (S(), D(st, { key: 3 }, [
          oe("div", {
            class: x({
              [e(T).be("plus")]: !0,
              [e(T).bem("plus", "disabled")]: K.value,
              [e(T).bem("plus", "holding")]: L.value
            }),
            role: "button",
            "aria-label": e(F).ariaLabel.increase,
            "aria-labelledby": e(s),
            "aria-controls": e(U),
            onPointerdown: Re[2] || (Re[2] = gt((lt) => be("plus", lt), ["prevent"])),
            onMousedown: Re[3] || (Re[3] = gt(() => {
            }, ["prevent"])),
            onTouchstart: Re[4] || (Re[4] = gt(() => {
            }, ["prevent"]))
          }, [
            y(e(Oe), He(e(A).angleUp, {
              scale: +(e(A).angleUp.scale || 1) * 0.8
            }), null, 16, ["scale"])
          ], 42, Wg),
          oe("div", {
            class: x({
              [e(T).be("minus")]: !0,
              [e(T).bem("minus", "disabled")]: we.value,
              [e(T).bem("minus", "holding")]: I.value
            }),
            "aria-label": e(F).ariaLabel.decrease,
            "aria-labelledby": e(s),
            "aria-controls": e(U),
            onPointerdown: Re[5] || (Re[5] = gt((lt) => be("minus", lt), ["prevent"])),
            onMousedown: Re[6] || (Re[6] = gt(() => {
            }, ["prevent"])),
            onTouchstart: Re[7] || (Re[7] = gt(() => {
            }, ["prevent"]))
          }, [
            y(e(Oe), He(e(A).angleDown, {
              scale: +(e(A).angleDown.scale || 1) * 0.8
            }), null, 16, ["scale"])
          ], 42, Kg)
        ], 64)) : ge("", !0)
      ], 10, Hg);
    };
  }
}), Ug = ["aria-selected", "aria-disabled"], Xg = ["aria-label", "aria-disabled"], Yg = /* @__PURE__ */ Xe({
  __name: "calendar-cell",
  props: {
    date: {
      type: Date,
      required: !0
    },
    locale: {
      type: Object,
      required: !0
    },
    selected: {
      type: Boolean,
      default: !1
    },
    hovered: {
      type: Boolean,
      default: !1
    },
    isPrev: {
      type: Boolean,
      default: !1
    },
    isNext: {
      type: Boolean,
      default: !1
    },
    isToday: {
      type: Boolean,
      default: !1
    },
    disabled: {
      type: Boolean,
      default: !1
    },
    inRange: {
      type: Boolean,
      default: !1
    }
  },
  emits: ["select", "hover"],
  setup(t, { emit: r }) {
    const l = t, a = r, n = Ye("calendar"), o = g(() => {
      const s = l.locale.ariaLabel, c = l.date.getFullYear(), d = l.date.getMonth() + 1, p = l.date.getDate(), m = l.date.getDay() || 7;
      return `${s[`week${m}`]}, ${s[`month${d}`]} ${p}, ${c}`;
    });
    return (s, c) => (S(), D("div", {
      class: x(e(n).be("cell")),
      role: "gridcell",
      "aria-selected": e(fl)(t.selected),
      "aria-disabled": e(fl)(t.disabled),
      onMouseenter: c[3] || (c[3] = (d) => a("hover", t.date))
    }, [
      W(s.$slots, "item", {
        date: t.date,
        label: o.value,
        selected: t.selected,
        hovered: t.hovered,
        isPrev: t.isPrev,
        isNext: t.isNext,
        isToday: t.isToday,
        disabled: t.disabled,
        inRange: t.inRange
      }, () => [
        oe("div", {
          class: x({
            [e(n).be("index")]: !0,
            [e(n).bem("index", "selected")]: t.selected,
            [e(n).bem("index", "hovered")]: t.hovered,
            [e(n).bem("index", "prev")]: t.isPrev,
            [e(n).bem("index", "next")]: t.isNext,
            [e(n).bem("index", "today")]: t.isToday,
            [e(n).bem("index", "disabled")]: t.disabled,
            [e(n).bem("index", "in-range")]: t.inRange
          }),
          tabindex: "0",
          role: "button",
          "aria-label": o.value,
          "aria-disabled": e(fl)(t.disabled),
          onClick: c[0] || (c[0] = (d) => a("select", t.date)),
          onKeydown: [
            c[1] || (c[1] = Kn(gt((d) => a("select", t.date), ["prevent"]), ["enter"])),
            c[2] || (c[2] = Kn(gt((d) => a("select", t.date), ["prevent"]), ["space"]))
          ]
        }, [
          W(s.$slots, "default", {
            date: t.date,
            label: o.value,
            selected: t.selected,
            hovered: t.hovered,
            isPrev: t.isPrev,
            isNext: t.isNext,
            isToday: t.isToday,
            disabled: t.disabled,
            inRange: t.inRange
          }, () => [
            oe("div", {
              class: x(e(n).be("index-inner"))
            }, ze(t.date.getDate()), 3)
          ])
        ], 42, Xg)
      ])
    ], 42, Ug));
  }
}), qg = ft({
  locale: Mn(),
  /**
   * 选中的日期
   */
  value: [Number, String, Date, Array],
  /**
   * 当前日历显示的年份
   */
  year: Number,
  /**
   * 当前日历显示的月份 (1 ~ 12)
   */
  month: Number,
  /**
   * 头部星期显示的内容,数量须为 7 个
   */
  weekDays: Array,
  weekStart: Number,
  today: [Number, String, Date],
  disabledDate: Function,
  valueType: String,
  min: [Number, String, Date],
  max: [Number, String, Date],
  range: M,
  selectRow: M,
  slots: Object,
  onSelect: B(),
  onHover: B()
}), Gg = ft({
  locale: Mn(),
  value: [Number, String, Date],
  year: Number,
  /**
   * 当前日历显示的月份 (1 ~ 12)
   */
  month: Number,
  /**
   * 头部星期显示的内容,数量须为 7 个
   */
  weekDays: Array,
  weekStart: Number,
  today: [Number, String, Date],
  disabledDate: Function,
  slots: Object,
  onSelect: B(),
  onYearChange: B(),
  onMonthChange: B()
}), Si = /* @__PURE__ */ Xe({
  name: "CalendarPanel",
  __name: "calendar-panel",
  props: qg,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("calendarBase", t, {
      locale: null,
      value: {
        default: null,
        static: !0
      },
      year: () => (/* @__PURE__ */ new Date()).getFullYear(),
      month: {
        default: () => (/* @__PURE__ */ new Date()).getMonth() + 1,
        validator: (O) => O > 0 && O <= 12
      },
      weekDays: {
        default: null,
        validator: (O) => !O || O.length === 0 || O.length === 7
      },
      weekStart: {
        default: 0,
        validator: (O) => O >= 0 && O < 7
      },
      today: {
        default: () => /* @__PURE__ */ new Date(),
        validator: (O) => !Number.isNaN(+new Date(O))
      },
      disabledDate: {
        default: sa,
        isFunc: !0
      },
      valueType: {
        default: "start",
        validator: (O) => O === "start" || O === "end"
      },
      min: null,
      max: null,
      range: null,
      selectRow: !1,
      slots: () => ({})
    }), o = l, s = Ye("calendar"), c = $(null), d = $(null), p = $([]), m = $(null), { wrapper: b, isHover: f } = Ql(), u = vn("calendar", qe(n, "locale")), h = g(() => n.min ? +Es(n.min) : -1 / 0), i = g(() => n.max ? +bp(n.max) : 1 / 0), v = g(() => Number.isNaN(h.value) || Number.isNaN(i.value) ? !1 : h.value > i.value), k = Ln(T);
    F(n.value), T(), le(() => n.value, F), le([() => n.year, () => n.month, () => n.weekStart], k), le(f, (O) => {
      O || (m.value = null);
    }), le(m, (O) => {
      _(n.onHover, O);
    }), r({
      startValue: c,
      endValue: d,
      body: b,
      isSelected: z,
      isHovered: E,
      isPrevMonth: P,
      isNextMonth: R,
      isDisabled: C,
      isToday: L,
      isInRange: ee
    });
    function w(O) {
      var H;
      return ((H = n.weekDays) == null ? void 0 : H[O]) || u.value[`week${O || 7}`];
    }
    function T() {
      p.value = mp(
        As(new Date(n.year, n.month - 1, 1), n.weekStart),
        42
      );
    }
    function F(O) {
      Array.isArray(O) || (O = [O, O]);
      for (let H = 0; H < 2; ++H) {
        const U = new Date(O[H] ?? "");
        if (H === 0 ? c.value = Number.isNaN(+U) ? null : U : d.value = Number.isNaN(+U) ? null : U, !n.range) break;
      }
    }
    function A(O, H) {
      return n.selectRow && yp(O, H) === 0;
    }
    function z(O) {
      return !O || !c.value && !d.value ? !1 : !!(c.value && (!ra(O, c.value) || A(O, c.value)) || d.value && (!ra(O, d.value) || A(O, d.value)));
    }
    function C(O) {
      if (typeof n.disabledDate == "function" && n.disabledDate(O))
        return !0;
      const H = O.getTime();
      if (v.value) {
        if (H > i.value && H < h.value)
          return !0;
      } else if (H < h.value || H > i.value)
        return !0;
      return !1;
    }
    function E(O) {
      return !O || !m.value ? !1 : !ra(O, m.value) || A(O, m.value);
    }
    function P(O) {
      const { year: H, month: U } = n, q = O.getFullYear(), Z = O.getMonth();
      return q < H || q === H && Z < U - 1;
    }
    function R(O) {
      const { year: H, month: U } = n, q = O.getFullYear(), Z = O.getMonth();
      return q > H || q === H && Z > U - 1;
    }
    function L(O) {
      return ra(O, n.today) === 0;
    }
    function I(O) {
      C(O) || (n.valueType === "start" ? c.value = O : d.value = O, _(n.onSelect, O), o("update:value", O));
    }
    function G(O) {
      m.value = C(O) ? null : O;
    }
    function ee(O) {
      if (!m.value && !c.value && !d.value)
        return !1;
      let H, U;
      if (c.value && d.value) {
        const q = c.value.getTime(), Z = d.value.getTime();
        H = Math.min(q, Z), U = Math.max(q, Z);
      } else if (m.value) {
        if (!c.value && !d.value) return !1;
        const q = m.value.getTime();
        if (!c.value || !d.value) {
          const Z = (c.value ?? d.value).getTime();
          H = Math.min(q, Z), U = Math.max(q, Z);
        } else {
          const Z = c.value.getTime(), K = d.value.getTime(), we = Math.min(Z, K), de = Math.max(Z, K);
          H = Math.min(q, we), U = Math.max(q, de);
        }
      } else
        return !1;
      return O.getTime() >= H && O.getTime() <= U;
    }
    return (O, H) => (S(), D("div", {
      class: x([
        e(s).be("panel"),
        e(s).bs("vars"),
        e(n).selectRow && e(s).bem("panel", "select-row"),
        e(n).inherit && e(s).bem("panel", "inherit")
      ]),
      role: "grid"
    }, [
      W(O.$slots, "header", {}, () => [
        y(e(me), {
          renderer: e(n).slots.header
        }, null, 8, ["renderer"])
      ]),
      oe("div", {
        class: x([e(s).be("row"), e(s).bem("row", "week")]),
        "aria-hidden": ""
      }, [
        (S(), D(st, null, ln(7, (U) => oe("div", {
          key: U,
          class: x([e(s).be("cell"), e(s).be("cell-week")])
        }, [
          W(O.$slots, "week", {
            label: w((U - 1 + e(n).weekStart) % 7),
            index: U - 1,
            week: (U - 1 + e(n).weekStart) % 7
          }, () => [
            y(e(me), {
              renderer: e(n).slots.week,
              data: {
                label: w((U - 1 + e(n).weekStart) % 7),
                index: U - 1,
                week: (U - 1 + e(n).weekStart) % 7
              }
            }, {
              default: X(() => [
                oe("div", {
                  class: x(e(s).be("index"))
                }, ze(w((U - 1 + e(n).weekStart) % 7)), 3)
              ]),
              _: 2
            }, 1032, ["renderer", "data"])
          ])
        ], 2)), 64))
      ], 2),
      oe("div", {
        ref_key: "body",
        ref: b,
        class: x(e(s).be("body"))
      }, [
        (S(), D(st, null, ln(6, (U) => oe("div", {
          key: U,
          class: x(e(s).be("row"))
        }, [
          (S(), D(st, null, ln(7, (q) => y(Yg, {
            key: (U - 1) * 7 + q,
            date: p.value[(U - 1) * 7 + q - 1],
            locale: e(u),
            selected: z(p.value[(U - 1) * 7 + q - 1]),
            hovered: E(p.value[(U - 1) * 7 + q - 1]),
            "is-prev": P(p.value[(U - 1) * 7 + q - 1]),
            "is-next": R(p.value[(U - 1) * 7 + q - 1]),
            "is-today": L(p.value[(U - 1) * 7 + q - 1]),
            disabled: C(p.value[(U - 1) * 7 + q - 1]),
            "in-range": e(n).range && ee(p.value[(U - 1) * 7 + q - 1]),
            onHover: G,
            onSelect: I
          }, nl({ _: 2 }, [
            O.$slots.item || e(n).slots.item ? {
              name: "item",
              fn: X(({
                date: Z,
                label: K,
                selected: we,
                hovered: de,
                isPrev: te,
                isNext: Ee,
                isToday: Se,
                disabled: Ce,
                inRange: fe
              }) => [
                W(O.$slots, "item", {
                  date: Z,
                  label: K,
                  selected: we,
                  hovered: de,
                  isPrev: te,
                  isNext: Ee,
                  isToday: Se,
                  disabled: Ce,
                  inRange: fe
                }, () => [
                  y(e(me), {
                    renderer: e(n).slots.item,
                    data: {
                      date: Z,
                      label: K,
                      selected: we,
                      hovered: de,
                      isPrev: te,
                      isNext: Ee,
                      isToday: Se,
                      disabled: Ce,
                      inRange: fe
                    }
                  }, null, 8, ["renderer", "data"])
                ])
              ]),
              key: "0"
            } : void 0,
            O.$slots.itemContent || e(n).slots.itemContent ? {
              name: "default",
              fn: X((Z) => [
                W(O.$slots, "itemContent", He({ ref_for: !0 }, Z), () => [
                  y(e(me), {
                    renderer: e(n).slots.itemContent,
                    data: Z
                  }, null, 8, ["renderer", "data"])
                ])
              ]),
              key: "1"
            } : void 0
          ]), 1032, ["date", "locale", "selected", "hovered", "is-prev", "is-next", "is-today", "disabled", "in-range"])), 64))
        ], 2)), 64))
      ], 2),
      W(O.$slots, "footer", {}, () => [
        y(e(me), {
          renderer: e(n).slots.footer
        }, null, 8, ["renderer"])
      ])
    ], 2));
  }
}), Zg = ["onClick", "onKeydown"], Jg = ["aria-label"], Qg = /* @__PURE__ */ Xe({
  name: "Calendar",
  __name: "calendar",
  props: Gg,
  emits: ["update:value", "update:year", "update:month"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("calendar", t, {
      locale: null,
      value: {
        default: null,
        static: !0
      },
      year: () => (/* @__PURE__ */ new Date()).getFullYear(),
      month: {
        default: () => (/* @__PURE__ */ new Date()).getMonth() + 1,
        validator: (k) => k > 0 && k <= 12
      },
      weekDays: {
        default: null,
        validator: (k) => !k || k.length === 0 || k.length === 7
      },
      weekStart: {
        default: 0,
        validator: (k) => k >= 0 && k < 7
      },
      today: {
        default: () => /* @__PURE__ */ new Date(),
        validator: (k) => !Number.isNaN(+new Date(k))
      },
      disabledDate: {
        default: () => !1,
        isFunc: !0
      },
      slots: () => ({})
    }), o = l, s = Ye("calendar"), c = vn("calendar", qe(n, "locale")), d = $(n.value), p = $(n.year), m = $(n.month);
    le(
      () => n.value,
      (k) => {
        d.value = k;
      }
    ), le(
      () => n.year,
      (k) => {
        p.value = k;
      }
    ), le(
      () => n.month,
      (k) => {
        m.value = k;
      }
    ), r({ calendarValue: d, calendarYear: p, calendarMonth: m });
    function b(k) {
      return `${k}${c.value.year}`;
    }
    function f(k) {
      return `${k}${c.value.month}`;
    }
    function u(k) {
      return typeof n.disabledDate != "function" ? !0 : n.disabledDate(k);
    }
    function h(k) {
      u(k) || (d.value = k), _(n.onSelect, k), o("update:value", k);
    }
    function i(k) {
      p.value = k, _(n.onYearChange, k, m.value), o("update:year", k);
    }
    function v(k) {
      m.value = k, _(n.onMonthChange, p.value, k), o("update:month", k);
    }
    return (k, w) => (S(), Be(Si, {
      value: d.value,
      "onUpdate:value": w[0] || (w[0] = (T) => d.value = T),
      inherit: e(n).inherit,
      class: x([e(s).b()]),
      year: p.value,
      month: m.value,
      "week-start": e(n).weekStart,
      today: e(n).today,
      "disabled-date": e(n).disabledDate
    }, {
      header: X(() => [
        W(k.$slots, "header", {}, () => [
          y(e(me), {
            renderer: e(n).slots.header
          }, {
            default: X(() => [
              y(e(gi), {
                inherit: "",
                class: x(e(s).be("header")),
                align: "middle"
              }, {
                default: X(() => [
                  y(e(Lo), { flex: "auto" }, {
                    default: X(() => [
                      W(k.$slots, "title", {}, () => [
                        y(e(me), {
                          renderer: e(n).slots.title
                        }, null, 8, ["renderer"])
                      ])
                    ]),
                    _: 3
                  }),
                  y(e(Lo), {
                    class: x(e(s).be("actions")),
                    flex: "0"
                  }, {
                    default: X(() => [
                      y(e(Ir), {
                        value: p.value,
                        inherit: "",
                        class: x(e(s).be("year-input")),
                        min: 1970,
                        max: 2300,
                        formatter: b,
                        onChange: i
                      }, null, 8, ["value", "class"]),
                      y(e(Ir), {
                        value: m.value,
                        inherit: "",
                        class: x(e(s).be("month-input")),
                        min: 1,
                        max: 12,
                        formatter: f,
                        onChange: v
                      }, null, 8, ["value", "class"])
                    ]),
                    _: 1
                  }, 8, ["class"])
                ]),
                _: 3
              }, 8, ["class"])
            ]),
            _: 3
          }, 8, ["renderer"])
        ])
      ]),
      week: X(({ label: T, index: F, week: A }) => [
        oe("div", {
          class: x(e(s).be("week"))
        }, [
          W(k.$slots, "week", {
            label: T,
            index: F,
            week: A
          }, () => [
            y(e(me), {
              renderer: e(n).slots.week,
              data: { label: T, index: F, week: A }
            }, {
              default: X(() => [
                oe("div", {
                  class: x(e(s).be("week-value"))
                }, ze(T), 3)
              ]),
              _: 2
            }, 1032, ["renderer", "data"])
          ])
        ], 2)
      ]),
      item: X(({ date: T, label: F, selected: A, hovered: z, isPrev: C, isNext: E, isToday: P, disabled: R }) => [
        oe("div", {
          class: x({
            [e(s).be("date")]: !0,
            [e(s).bem("date", "selected")]: A,
            [e(s).bem("date", "prev")]: C,
            [e(s).bem("date", "next")]: E,
            [e(s).bem("date", "today")]: P,
            [e(s).bem("date", "disabled")]: R
          }),
          tabindex: "0",
          onClick: (L) => h(T),
          onKeydown: [
            Kn(gt((L) => h(T), ["prevent"]), ["enter"]),
            Kn(gt((L) => h(T), ["prevent"]), ["space"])
          ]
        }, [
          oe("div", {
            class: x(e(s).be("date-header"))
          }, [
            W(k.$slots, "date", {
              selected: A,
              hovered: z,
              date: T,
              isPrev: C,
              isNext: E,
              isToday: P,
              disabled: R
            }, () => [
              y(e(me), {
                renderer: e(n).slots.date,
                data: { selected: A, hovered: z, date: T, isPrev: C, isNext: E, isToday: P, disabled: R }
              }, {
                default: X(() => [
                  oe("div", {
                    class: x(e(s).be("date-value")),
                    "aria-label": F
                  }, ze(T.getDate()), 11, Jg)
                ]),
                _: 2
              }, 1032, ["renderer", "data"])
            ])
          ], 2),
          oe("div", {
            class: x(e(s).be("date-content"))
          }, [
            W(k.$slots, "content", {
              selected: A,
              hovered: z,
              date: T,
              isPrev: C,
              isNext: E,
              isToday: P,
              disabled: R
            }, () => [
              y(e(me), {
                renderer: e(n).slots.content,
                data: { selected: A, hovered: z, date: T, isPrev: C, isNext: E, isToday: P, disabled: R }
              }, null, 8, ["renderer", "data"])
            ])
          ], 2)
        ], 42, Zg)
      ]),
      _: 3
    }, 8, ["value", "inherit", "class", "year", "month", "week-start", "today", "disabled-date"]));
  }
}), ey = ft({
  type: String,
  slideTarget: [Number, Array],
  title: String,
  tip: String,
  successTip: String,
  failTip: String,
  image: [String, Function],
  tolerance: Number,
  canvasSize: Array,
  refreshIcon: Xt,
  disabled: M,
  loading: M,
  loadingIcon: Xt,
  loadingEffect: String,
  onBeforeTest: Function,
  texts: Array,
  failLimit: Number,
  remotePoint: M,
  useTrigger: M,
  triggerSize: An,
  triggerText: String,
  transfer: hn,
  hideDelay: Number,
  hollowShape: [String, Function],
  slots: Object,
  onSuccess: B(),
  onFail: B(),
  onDragStart: B(),
  onDrag: B(),
  onDragEnd: B(),
  onRefresh: B()
}), ty = ft({
  size: An,
  target: Number,
  tip: String,
  successTip: String,
  tolerance: Number,
  disabled: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  onBeforeTest: Function,
  slots: Object,
  onSuccess: B(),
  onFail: B(),
  onDragStart: B(),
  onDrag: B(),
  onDragEnd: B()
}), ny = ["id", "aria-labelledby"], Rd = /* @__PURE__ */ Xe({
  name: "CaptchaSlider",
  __name: "captcha-slider",
  props: ty,
  setup(t, { expose: r }) {
    const { idFor: l, labelId: a, disabled: n, loading: o, size: s, validateField: c, getFieldValue: d, setFieldValue: p } = al(Z), b = ct("captcha", t, {
      size: On(s),
      target: {
        default: 100,
        validator: (K) => K >= 0 && K <= 100
      },
      tip: null,
      successTip: null,
      tolerance: {
        default: 1,
        validator: (K) => K >= 0
      },
      disabled: () => n.value,
      loading: () => o.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      onBeforeTest: {
        default: null,
        isFunc: !0
      },
      slots: () => ({})
    }), f = Ye("captcha"), u = vn("captcha"), h = Gt(), { timer: i } = Vn(), v = $(0), k = $(!1), w = $(!1), T = $(!1), F = $(!1), A = $(), z = g(() => b.disabled || b.loading && b.loadingLock);
    let C;
    const { target: E, moving: P } = Pl({
      onStart: (K, we) => {
        if (k.value || z.value || !A.value || !E.value || T.value || w.value || we.button > 0)
          return !1;
        C = A.value.getBoundingClientRect().width, v.value = 0, O(), E.value.focus(), _(b.onDragStart, v.value);
      },
      onMove: (K) => {
        if (k.value || z.value || T.value || w.value)
          return !1;
        v.value = K.deltaX / C * 100, O(), _(b.onDrag, v.value);
      },
      onEnd: async () => {
        var de;
        if (k.value || z.value) return;
        k.value = !0;
        const K = q(v.value);
        let we;
        typeof b.onBeforeTest == "function" && (kt(() => {
          F.value = !0;
        }), we = await b.onBeforeTest(v.value, K), kt(() => {
          F.value = !1;
        })), v.value && (we === !1 || !K && we !== !0) ? (w.value = !0, v.value = 0, T.value = !1, p(!1), _(b.onFail)) : (K || we === !0) && (T.value = !0, we && !K && (w.value = !0, v.value = b.target), p(!0), _(b.onSuccess, v.value)), c(), (de = E.value) == null || de.blur(), _(b.onDragEnd, v.value), clearTimeout(i.testing), k.value = !1;
      }
    }), R = g(() => b.loading || F.value), L = g(() => {
      const K = f.be("slider");
      return {
        [K]: !0,
        [f.bs("vars")]: !0,
        [`${K}--success`]: T.value,
        [`${K}--disabled`]: b.disabled,
        [`${K}--loading`]: R.value,
        [`${K}--${b.size}`]: b.size !== "default"
      };
    }), I = g(() => ({
      [f.cv("filler-transition")]: w.value ? "transform 250ms ease" : void 0,
      transform: `scaleX(${v.value / 100})`
    })), G = g(() => ({
      [f.cv("tip-transition")]: w.value ? "background-position 250ms ease" : void 0,
      backgroundPosition: `-${v.value}%`
    })), ee = g(() => ({
      left: `${v.value}%`,
      [f.cv("trigger-transition")]: w.value ? "left 250ms ease" : void 0
    }));
    le(
      () => d(),
      (K) => {
        K ? (q(v.value) || (w.value = !0, v.value = b.target), T.value = !0) : H();
      }
    ), le(z, (K) => K && H()), r({
      idFor: l,
      currentLeft: v,
      resetting: w,
      isSuccess: T,
      dragging: P,
      isLoading: R,
      track: A,
      trigger: E,
      focus: Z,
      reset: H
    });
    function O() {
      v.value = _n(cn(v.value, 0, 100), 3);
    }
    function H() {
      w.value = !0, v.value = 0, T.value = !1;
    }
    function U() {
      w.value = !1;
    }
    function q(K) {
      return Math.abs(b.target - K) <= b.tolerance;
    }
    function Z(K) {
      var we;
      (we = E.value) == null || we.focus(K);
    }
    return (K, we) => (S(), D("div", {
      id: e(l),
      ref: "wrapper",
      class: x(L.value),
      tabindex: "-1",
      role: "group",
      "aria-labelledby": e(a)
    }, [
      oe("div", {
        class: x({
          [e(f).be("filler")]: !0,
          [e(f).bem("filler", "loading")]: R.value,
          [e(f).bem("filler", "success")]: T.value
        }),
        style: Qe(I.value)
      }, null, 6),
      oe("div", {
        class: x({
          [e(f).be("tip")]: !0,
          [e(f).bem("tip", "focused")]: e(P),
          [e(f).bem("tip", "loading")]: R.value,
          [e(f).bem("tip", "success")]: T.value
        }),
        style: Qe(G.value)
      }, [
        W(K.$slots, "tip", { success: T.value }, () => [
          y(e(me), {
            renderer: e(b).slots.tip,
            data: { success: T.value }
          }, {
            default: X(() => [
              dt(ze(T.value ? e(b).successTip ?? e(u).success : e(b).tip ?? e(u).slideEnd), 1)
            ]),
            _: 1
          }, 8, ["renderer", "data"])
        ])
      ], 6),
      oe("div", {
        ref_key: "track",
        ref: A,
        class: x(e(f).be("track"))
      }, [
        oe("div", {
          ref_key: "trigger",
          ref: E,
          class: x({
            [e(f).be("trigger")]: !0,
            [e(f).bem("trigger", "focused")]: e(P),
            [e(f).bem("trigger", "loading")]: R.value,
            [e(f).bem("trigger", "success")]: T.value
          }),
          tabindex: "0",
          style: Qe(ee.value),
          onTransitionend: U
        }, [
          W(K.$slots, "trigger", { success: T.value }, () => [
            y(e(me), {
              renderer: e(b).slots.trigger,
              data: { success: T.value }
            }, {
              default: X(() => [
                T.value ? (S(), Be(e(Oe), It(He({ key: 0 }, e(h).check)), null, 16)) : R.value ? (S(), Be(e(Oe), He({ key: 1 }, e(h).loading, {
                  effect: e(b).loadingEffect || e(h).loading.effect,
                  icon: e(b).loadingIcon || e(h).loading.icon
                }), null, 16, ["effect", "icon"])) : (S(), Be(e(Oe), It(He({ key: 2 }, e(h).anglesRight)), null, 16))
              ]),
              _: 1
            }, 8, ["renderer", "data"])
          ])
        ], 38)
      ], 2)
    ], 10, ny));
  }
}), Nu = ({ ctx: t, x: r, y: l, width: a, height: n }) => {
  const o = Math.min(a, n) * 0.25, s = o * 0.5;
  return t.moveTo(r - s, l - s), t.lineTo(r + s, l - s), t.lineTo(r + s, l + s), t.lineTo(r - s, l + s), t.closePath(), [r - s - 2, l - s - 2, o + 4, o + 4];
}, ly = ({ ctx: t, x: r, y: l, width: a, height: n }) => {
  const o = Math.min(a, n) * 0.2, s = o * 0.5, c = r - s, d = l - s, p = o * 0.2;
  return t.moveTo(c, d), t.arc(c + s, d - p + 2, p, 0.72 * Math.PI, 2.26 * Math.PI), t.lineTo(c + o, d), t.arc(c + o + p - 2, d + s, p, 1.21 * Math.PI, 2.78 * Math.PI), t.lineTo(c + o, d + o), t.lineTo(c, d + o), t.arc(c + p - 2, d + s, p + 0.4, 2.76 * Math.PI, 1.24 * Math.PI, !0), t.lineTo(c, d), [r - s - 2, l - o * 0.9 - 2, o * 1.4 + 4, o * 1.4 + 4];
}, ay = ({ ctx: t, x: r, y: l, width: a, height: n }) => {
  const o = Math.min(a, n) * 0.25, s = o * 0.5;
  return t.moveTo(r, l - s), t.bezierCurveTo(
    r,
    l - s + o * 0.05,
    r - s + o * 0.3,
    l - s * 0.5 + o * 0.1,
    r - s,
    l - s * 0.7
  ), t.bezierCurveTo(r - s, l + o * 0.3, r - o * 0.1, l + s, r, l + s), t.bezierCurveTo(
    r + o * 0.1,
    l + s,
    r + s,
    l + o * 0.3,
    r + s,
    l - s * 0.7
  ), t.bezierCurveTo(
    r + s - o * 0.3,
    l - s * 0.5 + o * 0.1,
    r,
    l - s + o * 0.05,
    r,
    l - s
  ), [r - s - 2, l - s - 2, o + 4, o + 4];
}, ry = ({ ctx: t, x: r, y: l, width: a, height: n }) => {
  const o = Math.min(a, n) * 0.25, s = o * 0.5;
  return t.moveTo(r, l - o * 0.25), t.bezierCurveTo(
    r,
    l - o * 0.4,
    r - o * 0.1,
    l - s,
    r - s * 0.5,
    l - s
  ), t.bezierCurveTo(
    r - s * 0.5 - o * 0.1,
    l - s,
    r - s,
    l - o * 0.4,
    r - s,
    l - o * 0.2
  ), t.bezierCurveTo(
    r - s,
    l + o * 0.2,
    r - o * 0.05,
    l + s * 0.8,
    r,
    l + s * 0.8
  ), t.bezierCurveTo(
    r + o * 0.05,
    l + s * 0.8,
    r + s,
    l + o * 0.2,
    r + s,
    l - o * 0.2
  ), t.bezierCurveTo(
    r + s,
    l - o * 0.4,
    r + s * 0.5 + o * 0.1,
    l - s,
    r + s * 0.5,
    l - s
  ), t.bezierCurveTo(r + o * 0.1, l - s, r, l - o * 0.4, r, l - o * 0.25), [r - s - 2, l - s - 2, o + 4, o * 0.9 + 4];
};
function Du(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const oy = /* @__PURE__ */ Xe({
  name: "Captcha",
  props: ey,
  emits: ["update:visible"],
  setup(t, {
    slots: r,
    expose: l
  }) {
    const {
      idFor: a,
      labelId: n,
      disabled: o,
      loading: s,
      validateField: c,
      setFieldValue: d
    } = al(j), p = ct("captcha", t, {
      type: "slide",
      slideTarget: {
        default: null,
        validator: (he) => Tt(he) ? !0 : Array.isArray(he) ? he[0] >= 0 && he[0] <= 100 && he[1] >= 0 && he[1] <= 100 : he >= 0 && he <= 100
      },
      title: null,
      tip: null,
      successTip: null,
      failTip: null,
      image: null,
      tolerance: {
        default: 1,
        validator: (he) => he >= 0
      },
      canvasSize: () => [1e3, 600],
      refreshIcon: en(),
      disabled: () => o.value,
      loading: () => s.value,
      loadingIcon: en(),
      loadingEffect: null,
      onBeforeTest: {
        default: null,
        isFunc: !0
      },
      texts: {
        default: () => [],
        validator: (he) => !he.find((Fe) => Fe.length > 1)
      },
      failLimit: 0,
      remotePoint: !1,
      useTrigger: !1,
      triggerSize: On(),
      triggerText: null,
      transfer: !1,
      hideDelay: {
        default: 3e3,
        validator: (he) => he >= 0
      },
      hollowShape: {
        default: Nu,
        isFunc: !0
      },
      slots: () => ({})
    }), m = Ye("captcha"), b = vn("captcha"), f = Gt(), {
      timer: u
    } = Vn(), h = $(N(p.slideTarget)), i = $(!1), v = pt([]), k = $(!1), w = $(!1), T = $(!1), F = $(0), A = $(!1), z = $(), C = $(), E = $(), P = $(), R = g(() => {
      var he;
      return (he = P.value) == null ? void 0 : he.track;
    }), L = g(() => {
      var he;
      return !!((he = P.value) != null && he.isSuccess) || w.value;
    }), I = g(() => {
      var he;
      return ((he = P.value) == null ? void 0 : he.currentLeft) || 0;
    }), G = g(() => {
      var he;
      return (he = P.value) == null ? void 0 : he.resetting;
    }), ee = g(() => h.value[0]), O = $(!1), H = oa(Promise.resolve()), U = [], q = 0.108;
    let Z = !1, K, we;
    const de = g(() => p.loading || O.value || k.value), te = g(() => p.failLimit > 0 && F.value >= p.failLimit), Ee = g(() => [m.b(), m.bs("vars"), m.bm(p.type), {
      [m.bm("success")]: L.value,
      [m.bm("fail")]: !L.value && T.value,
      [m.bm("dragging")]: i.value,
      [m.bm("disabled")]: p.disabled,
      [m.bm("loading")]: de.value,
      [m.bm("fail-locked")]: te.value
    }]), Se = g(() => ({
      left: `${I.value}%`,
      [m.cv("trigger-transition")]: G.value ? "left 250ms ease" : void 0
    })), Ce = g(() => [p.canvasSize[0] || 1e3, p.canvasSize[1] || 600]), fe = g(() => p.disabled || L.value || de.value);
    le(() => p.slideTarget, (he) => {
      h.value = N(he);
    }), le([() => p.image, z], async () => {
      K = void 0, await (H.value = Ze()), ue();
    }), le([h, () => p.canvasSize[0], () => p.canvasSize[1], () => p.hollowShape], ue), le([() => p.type, () => p.remotePoint], () => {
      p.type !== "slide" && p.remotePoint && typeof p.onBeforeTest != "function" && console.warn("[vexip-ui:Captcha] You should specify 'on-before-test' prop to valid the captcha if you are using the 'point' type in remote");
    }, {
      immediate: !0
    }), le([() => p.type, () => p.texts, () => p.texts.length, () => p.remotePoint], () => {
      p.type === "point" && p.texts.length && !p.remotePoint && K && ue();
    }), le(A, async (he) => {
      he && (await (H.value = Ze()), ue());
    }), le(L, (he) => {
      he && p.useTrigger && A.value && (clearTimeout(u.hideTrigger), u.hideTrigger = setTimeout(() => {
        A.value = !1;
      }, p.hideDelay));
    }), sn(async () => {
      await (H.value = Ze()), ne();
    }), l({
      dragging: i,
      resetting: G,
      isSuccess: L,
      imageLoading: O,
      imagePromise: H,
      wrapper: z,
      canvas: C,
      subCanvas: E,
      slider: P,
      reset: J
    });
    let ot;
    async function Ze() {
      if (K) return;
      O.value = !0, ot = `${Date.now()}${Math.round(Math.random() * 1e7)}`;
      const he = ot, Fe = typeof p.image == "function" ? await p.image() : p.image;
      await new Promise((lt) => {
        if (!zt || he !== ot || !Fe) {
          lt();
          return;
        }
        K = new Image(), Z = !1, K.src = Fe, Fe.trim().startsWith("data:image") ? (Z = !0, lt()) : K.onload = () => {
          Z = !0, lt();
        };
      }).finally(() => {
        O.value = !1;
      });
    }
    function Je() {
      var bt;
      const he = C.value, Fe = (bt = he == null ? void 0 : he.getContext) == null ? void 0 : bt.call(he, "2d");
      if (!K || !he || !Fe) return;
      const {
        width: lt,
        height: Ke
      } = he;
      if (Fe.drawImage(K, 0, 0, lt, Ke), !p.texts.length || p.remotePoint) return;
      U.length = 0;
      const Ct = Math.max(lt, Ke) * q;
      Fe.textBaseline = "middle", Fe.textAlign = "center", Fe.font = `bold ${Ct}px sans-serif`, Fe.lineWidth = 2, Fe.strokeStyle = "#fff";
      const ve = (Ot, Vt, $e, et = 0, vt = qf()) => {
        Fe.save(), Fe.translate(Vt, $e), et && Fe.rotate(et * Math.PI), Fe.fillStyle = vt, Fe.fillText(Ot, 0, 0), Fe.strokeText(Ot, 0, 0), Fe.restore();
      }, Ve = Fe.measureText(p.texts[0]), Ie = Math.max(Ct, Ve.width) * 1.2, Me = Math.max(Ct, Ve.fontBoundingBoxAscent + Ve.fontBoundingBoxDescent) * 1.2;
      let Ge = -2 * Ct, mt = -2 * Ct;
      for (const Ot of p.texts) {
        let Vt = Ge, $e = mt;
        for (; Math.abs(Vt - Ge) < Ie && Math.abs($e - mt) < Me; )
          Vt = lt * 0.1 + Math.random() * lt * 0.8, $e = Ke * 0.1 + Math.random() * Ke * 0.8;
        Ge = Vt, mt = $e, U.push([Vt / lt * 100, $e / Ke * 100]), ve(Ot, Vt, $e, Math.random() * 2);
      }
    }
    function se() {
      if (typeof p.hollowShape == "function") return p.hollowShape;
      switch (p.hollowShape) {
        case "puzzle":
          return ly;
        case "shield":
          return ay;
        case "heart":
          return ry;
        default:
          return Nu;
      }
    }
    function ne() {
      var an, Rn;
      const he = C.value, Fe = (an = he == null ? void 0 : he.getContext) == null ? void 0 : an.call(he, "2d"), lt = E.value, Ke = (Rn = lt == null ? void 0 : lt.getContext) == null ? void 0 : Rn.call(lt, "2d");
      if (!K || !Z || !he || !Fe || !p.image) return;
      if (p.type === "point") {
        Je();
        return;
      }
      if (!lt || !Ke || !R.value) return;
      if (!we) {
        if (!zt) return;
        we = document.createElement("canvas");
      }
      we.width = he.width, we.height = he.height;
      const Ct = we.getContext("2d");
      if (!Ct) return;
      Fe.clearRect(0, 0, he.width, he.height), Ke.clearRect(0, 0, lt.width, lt.height), Ct.clearRect(0, 0, we.width, we.height);
      const ve = he.getBoundingClientRect(), Ve = R.value.getBoundingClientRect(), Ie = (ve.width - Ve.width) / ve.width * he.width, Me = Ie / 2 + h.value[0] * (he.width - Ie) * 0.01, Ge = h.value[1] * he.height * 0.01, mt = se();
      Ct.beginPath(), Ct.strokeStyle = "rgba(255, 255, 255, 0.5)", Ct.lineWidth = 4;
      const [bt, Ot, Vt, $e] = mt({
        ctx: Ct,
        x: Me,
        y: Ge,
        width: p.canvasSize[0],
        height: p.canvasSize[1]
      });
      Ct.stroke(), Ct.clip(), Ct.drawImage(K, 0, 0, he.width, he.height);
      const et = Me - bt, vt = (Vt * 0.5 - et) / Vt * 100;
      lt.style.transform = `translate3d(${vt - 50}%, 0, 0)`, lt.width = Vt, Ke.drawImage(we, bt, Ot, Vt, $e, 0, Ot, Vt, $e), Fe.save(), Fe.beginPath(), Fe.fillStyle = "rgba(255, 255, 255, 0.75)", Fe.strokeStyle = "rgba(255, 255, 255, 0.5)", Fe.lineWidth = 10, mt({
        ctx: Fe,
        x: Me,
        y: Ge,
        width: p.canvasSize[0],
        height: p.canvasSize[1]
      }), Fe.stroke(), Fe.fill(), Fe.restore(), Fe.globalCompositeOperation = "destination-over", Fe.drawImage(K, 0, 0, he.width, he.height);
    }
    function ue() {
      qa(ne);
    }
    async function J(he) {
      var Fe;
      he && (K = void 0, await (H.value = Ze()), ne()), w.value = !1, T.value = !1, F.value = 0, h.value = N(), v.length = 0, (Fe = P.value) == null || Fe.reset(), p.type === "point" && Je();
    }
    function N(he = p.slideTarget) {
      if (Tt(he)) return [Xr(75, 25), Xr(75, 25)];
      const [Fe = Xr(75, 25), lt = Xr(75, 25)] = ur(he);
      return [Fe, lt];
    }
    function j(he) {
      var Fe;
      (Fe = P.value) == null || Fe.focus(he);
    }
    function ae(he) {
      i.value = !0, _(p.onDragStart, he);
    }
    function be(he) {
      _(p.onDrag, he);
    }
    function re(he) {
      i.value = !1, _(p.onDragEnd, he);
    }
    function ce(he) {
      w.value = !0, T.value = !1, _(p.onSuccess, he), d(he), c();
    }
    function Pe() {
      T.value = !0, ++F.value, _(p.onFail);
    }
    function at() {
      !fe.value && _(p.onRefresh);
    }
    function yt(he) {
      he.stopPropagation();
    }
    async function Nt() {
      if (de.value) return;
      v.length = p.texts.length;
      let he = p.remotePoint, Fe;
      if (!p.remotePoint && C.value) {
        const {
          width: lt,
          height: Ke
        } = C.value, Ct = Math.max(lt, Ke) * q, ve = Ct / lt * 50 + p.tolerance, Ve = Ct / Ke * 50 + p.tolerance;
        he = !0;
        for (let Ie = 0, Me = v.length; Ie < Me; ++Ie) {
          const [Ge, mt] = v[Ie], [bt, Ot] = U[Ie];
          if (Math.abs(Ge - bt) > ve || Math.abs(mt - Ot) > Ve) {
            he = !1;
            break;
          }
        }
      }
      typeof p.onBeforeTest == "function" && (kt(() => {
        k.value = !0;
      }), Fe = await p.onBeforeTest(v.flat()), kt(() => {
        k.value = !1;
      })), !he || Fe === !1 ? (w.value = !1, v.length = 0, T.value = !0, ++F.value, _(p.onFail)) : (w.value = !0, T.value = !1, _(p.onSuccess, v.flat()));
    }
    function Mt(he) {
      if (p.type !== "point" || fe.value || !C.value) return;
      const {
        clientWidth: Fe,
        clientHeight: lt
      } = C.value, {
        offsetX: Ke,
        offsetY: Ct
      } = he;
      v.push([Ke / Fe * 100, Ct / lt * 100]), v.length >= p.texts.length && kt(Nt);
    }
    function Ht(he, Fe) {
      Fe.stopPropagation(), !(fe.value || he !== v.length - 1) && v.pop();
    }
    function _t() {
      L.value || (A.value = !0);
    }
    function tn() {
      let he;
      return y("div", {
        class: [m.be("image"), fe.value && m.bem("image", "locked")],
        onClick: Mt
      }, [p.image && y("div", {
        class: m.be("image-inner")
      }, [y("canvas", {
        ref: C,
        class: m.be("canvas"),
        width: Ce.value[0],
        height: Ce.value[1]
      }, null), p.type === "slide" && y("div", {
        class: m.be("sub-image")
      }, [y("canvas", {
        ref: E,
        class: m.be("sub-canvas"),
        height: Ce.value[1],
        style: Se.value
      }, null)])]), p.type === "point" && y(Pf, {
        name: m.ns("fade"),
        appear: !0
      }, Du(he = v.map(([Fe, lt], Ke) => y("span", {
        key: Ke,
        class: m.be("pointer"),
        style: {
          top: `${lt}%`,
          left: `${Fe}%`
        },
        onClick: Ht.bind(null, Ke)
      }, [Ke + 1]))) ? he : {
        default: () => [he]
      }), y(En, {
        name: m.ns("fade")
      }, {
        default: () => [(L.value || T.value) && y("div", {
          class: [m.be("image-tip"), m.bem("image-tip", L.value ? "success" : "fail")],
          onClick: yt
        }, [L.value ? p.successTip ?? b.value.success : p.failTip ?? b.value.fail])]
      })]);
    }
    function Wt() {
      return y(Rd, {
        ref: P,
        class: m.bem("slider", "inner"),
        target: ee.value,
        tolerance: p.tolerance,
        loading: de.value,
        "loading-icon": p.loadingIcon,
        "loading-lock": !0,
        "loading-effect": p.loadingEffect,
        disabled: p.disabled || te.value,
        onBeforeTest: p.onBeforeTest,
        onSuccess: ce,
        onFail: Pe,
        onDragStart: ae,
        onDrag: be,
        onDragEnd: re
      }, {
        tip: () => W(r, "tip", {
          success: L.value
        }, () => [y(me, {
          renderer: p.slots.tip,
          data: {
            success: L.value
          }
        }, {
          default: () => [p.tip ?? b.value.slide]
        })])
      });
    }
    function un() {
      return y("div", {
        class: m.be("text-list")
      }, [y("div", {
        class: m.be("tip")
      }, [W(r, "tip", {
        success: L.value
      }, () => [y(me, {
        renderer: p.slots.tip,
        data: {
          success: L.value
        }
      }, {
        default: () => [p.tip ?? b.value.pointInOrder]
      })])]), y("span", null, [":"]), W(r, "texts", {
        texts: qe(p, "texts")
      }, () => {
        let he;
        return [y(me, {
          renderer: p.slots.texts,
          data: {
            texts: qe(p, "texts")
          }
        }, Du(he = p.texts.map((Fe, lt) => y("span", {
          key: lt,
          class: m.be("text")
        }, [Fe]))) ? he : {
          default: () => [he]
        })];
      })]);
    }
    function qt() {
      return p.type === "slide" ? Wt() : p.type === "point" ? un() : null;
    }
    function pe() {
      var he;
      return y("div", {
        ref: z,
        id: a.value,
        class: Ee.value,
        tabindex: -1,
        role: "application",
        "aria-labelledby": n.value
      }, [y("div", {
        class: m.be("header")
      }, [y("div", {
        class: m.be("title")
      }, [W(r, "title", {
        success: L.value
      }, () => [y(me, {
        renderer: p.slots.title,
        data: {
          success: L.value
        }
      }, {
        default: () => [p.title ?? b.value.doCaptcha]
      })])]), y("span", {
        role: "none",
        style: "flex: auto"
      }, null), y("button", {
        class: [m.be("action"), m.be("refresh"), fe.value && m.bem("action", "disabled")],
        type: "button",
        onClick: at
      }, [W(r, "refresh", void 0, () => [y(me, {
        renderer: p.slots.refresh
      }, {
        default: () => [y(Oe, He(f.value.refresh, {
          icon: p.refreshIcon || f.value.refresh.icon
        }), null)]
      })])])]), y(ui, {
        active: de.value || ((he = P.value) == null ? void 0 : he.isLoading),
        delay: !1
      }, {
        default: tn,
        icon: Yn(r, ["loading-icon", "loadingIcon"], () => y(me, {
          renderer: p.slots.loadingIcon
        }, null))
      }), qt()]);
    }
    function Re() {
      return W(r, "trigger", {
        visible: A.value,
        success: L.value
      }, () => [y(me, {
        renderer: p.slots.trigger,
        data: {
          visible: A.value,
          success: L.value
        }
      }, {
        default: () => [y(Hn, {
          class: [m.be("button"), L.value && m.bem("button", "success")],
          type: L.value ? "success" : "primary",
          size: p.triggerSize,
          block: !0,
          loading: A.value && !L.value,
          icon: L.value ? f.value.success.icon : null,
          onClick: _t
        }, {
          default: () => [p.triggerText ?? (L.value ? b.value.completed : b.value.trigger)]
        })]
      })]);
    }
    return () => p.useTrigger ? y(Fl, {
      class: m.bs("wrapper"),
      visible: A.value,
      trigger: "custom",
      raw: !0,
      wrapper: !0,
      transfer: p.transfer
    }, {
      trigger: Re,
      default: pe
    }) : pe();
  }
}), sy = ft({
  title: String,
  shadow: String,
  contentStyle: kl,
  slots: Object
}), iy = /* @__PURE__ */ Xe({
  name: "Card",
  __name: "card",
  props: sy,
  setup(t) {
    const l = ct("card", t, {
      title: "",
      shadow: {
        default: "always",
        validator: (p) => ["always", "hover", "never"].includes(p)
      },
      contentStyle: () => ({}),
      slots: () => ({})
    }), a = kn(), n = Ye("card"), o = g(() => [
      n.b(),
      n.bs("vars"),
      n.bm(`shadow-${l.shadow}`),
      {
        [n.bm("inherit")]: l.inherit
      }
    ]), s = g(() => !!(a.title || l.title || l.slots.title)), c = g(() => !!(a.extra || l.slots.extra)), d = g(() => !!a.header || s.value || c.value);
    return (p, m) => (S(), D("article", {
      class: x(o.value)
    }, [
      d.value ? (S(), D("div", {
        key: 0,
        class: x(e(n).be("header"))
      }, [
        W(p.$slots, "header", {}, () => [
          y(e(me), {
            renderer: e(l).slots.header
          }, {
            default: X(() => [
              s.value ? (S(), D("div", {
                key: 0,
                class: x(e(n).be("title"))
              }, [
                W(p.$slots, "title", {}, () => [
                  y(e(me), {
                    renderer: e(l).slots.title
                  }, {
                    default: X(() => [
                      dt(ze(e(l).title), 1)
                    ]),
                    _: 1
                  }, 8, ["renderer"])
                ])
              ], 2)) : ge("", !0),
              c.value ? (S(), D("div", {
                key: 1,
                class: x(e(n).be("extra"))
              }, [
                W(p.$slots, "extra", {}, () => [
                  y(e(me), {
                    renderer: e(l).slots.extra
                  }, null, 8, ["renderer"])
                ])
              ], 2)) : ge("", !0)
            ]),
            _: 3
          }, 8, ["renderer"])
        ])
      ], 2)) : ge("", !0),
      oe("div", {
        class: x(e(n).be("content")),
        style: Qe(e(l).contentStyle)
      }, [
        W(p.$slots, "default", {}, () => [
          y(e(me), {
            renderer: e(l).slots.default
          }, null, 8, ["renderer"])
        ])
      ], 6)
    ], 2));
  }
}), uy = ft({
  active: Number,
  viewSize: Number,
  vertical: M,
  disabled: M,
  loop: M,
  arrow: String,
  arrowTrigger: String,
  autoplay: La,
  pointer: String,
  speed: Number,
  activeOffset: Number,
  height: [Number, String],
  ignoreHover: M,
  slots: Object,
  onChange: B(),
  onPrev: B(),
  onNext: B(),
  onSelect: B()
}), Md = "__VXP_CAROUSEL_STATE", cy = ["onClick"], dy = /* @__PURE__ */ Xe({
  name: "Carousel",
  __name: "carousel",
  props: uy,
  emits: ["update:active"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("carousel", t, {
      active: {
        default: 0,
        static: !0
      },
      viewSize: {
        default: 3,
        validator: (j) => j > 0
      },
      vertical: !1,
      disabled: !1,
      loop: !1,
      arrow: {
        default: "outside",
        validator: (j) => ["outside", "inside", "none"].includes(j)
      },
      arrowTrigger: {
        default: "hover",
        validator: (j) => ["hover", "always"].includes(j)
      },
      autoplay: {
        default: !1,
        validator: (j) => typeof j == "number" ? j > 500 : !0
      },
      pointer: {
        default: "none",
        validator: (j) => ["outside", "inside", "none"].includes(j)
      },
      speed: 300,
      activeOffset: 0,
      height: null,
      ignoreHover: !1,
      slots: () => ({})
    }), o = l, s = Ye("carousel"), c = Gt(), d = fa(), { isRtl: p } = Un(), m = $(/* @__PURE__ */ new Set()), b = $(0), f = $(!1), u = $(n.arrowTrigger === "always"), h = pt({
      width: 0,
      height: 0
    }), i = pt({
      width: 0,
      height: 0,
      offset: 0
    }), v = pt({
      width: 0,
      height: 0
    }), { wrapper: k, isHover: w } = Ql(), T = $(), F = $(), A = g(() => n.disabled || m.value.size <= n.viewSize), z = g(() => ({
      [s.b()]: !0,
      [s.bs("vars")]: !0,
      [s.bm("inherit")]: n.inherit,
      [s.bm("vertical")]: n.vertical,
      [s.bm("disabled")]: A.value
    })), C = g(() => ({
      height: n.vertical && n.height ? `${n.height}${typeof n.height == "number" ? "px" : ""}` : void 0
    })), E = g(() => ({
      width: h.width ? `${h.width}px` : void 0,
      height: h.height ? `${h.height}px` : void 0
    })), P = g(() => ({
      width: i.width ? `${i.width}px` : void 0,
      height: i.height ? `${i.height}px` : void 0,
      transform: i.offset ? `translate${n.vertical ? "Y" : "X"}(${p.value && !n.vertical ? `${-i.offset}` : i.offset}px) translateZ(0)` : void 0,
      transitionDuration: f.value ? "0ms" : `${n.speed}ms`
    })), R = g(() => A.value || !n.loop && b.value <= 0), L = g(() => A.value || !n.loop && b.value >= m.value.size - n.viewSize), I = g(() => n.vertical ? [c.value.angleUp, c.value.angleDown] : p.value ? [c.value.angleRight, c.value.angleLeft] : [c.value.angleLeft, c.value.angleRight]);
    le(
      () => n.active,
      (j) => {
        Ce(j - n.activeOffset);
      }
    ), le(w, (j) => {
      n.ignoreHover || (j ? ue() : J());
    }), le(() => n.viewSize, de), le(() => n.autoplay, ne);
    const G = Ln(() => {
      Array.from(m.value).forEach((j, ae) => {
        j.label = ae;
      });
    }), ee = Ln(() => {
      m.value.forEach((j) => {
        j.width = v.width, j.height = v.height;
      });
    }), O = Ln(() => {
      i.width = v.width * m.value.size, i.height = v.height * m.value.size;
    });
    nn(
      Md,
      pt({
        vertical: qe(n, "vertical"),
        increaseItem: q,
        decreaseItem: Z,
        isItemActive: K,
        handleSelect: Je
      })
    );
    let H = !1, U = !1;
    f.value = !0, sn(() => {
      we(), Ce(n.active - n.activeOffset), fe(), setTimeout(() => {
        f.value = !1, H = !1, ne();
      }, 0);
    }), r({
      itemStates: m,
      currentActive: b,
      arrowActive: u,
      wrapper: k,
      prev: T,
      next: F,
      refresh: de
    });
    function q(j) {
      m.value.add(j), G(), ee(), O();
    }
    function Z(j) {
      m.value.delete(j), G(), O();
    }
    function K(j) {
      return (b.value + n.activeOffset) % m.value.size === j;
    }
    function we() {
      if (!k.value) return;
      let j = 0, ae = 0;
      n.arrow === "outside" && (n.vertical ? (j = T.value ? T.value.offsetHeight : 0, ae = F.value ? F.value.offsetHeight : 0) : (j = T.value ? T.value.offsetWidth : 0, ae = F.value ? F.value.offsetWidth : 0)), n.vertical ? (h.width = 0, h.height = k.value.offsetHeight - j - ae, v.width = 0, v.height = h.height / n.viewSize) : (h.width = k.value.offsetWidth - j - ae, h.height = 0, v.width = h.width / n.viewSize, v.height = 0);
    }
    function de() {
      we(), ee(), O(), i.offset > 0 ? Ee(0) : Se(0), setTimeout(() => {
        f.value = !1, H = !1;
      }, 0);
    }
    function te() {
      const j = (b.value + n.activeOffset) % m.value.size;
      o("update:active", j), _(n.onChange, j);
    }
    function Ee(j = 1) {
      if (A.value || H) return;
      const ae = n.vertical ? v.height : v.width, be = Array.from(m.value), re = be.length, ce = (b.value - j + re) % re, Pe = b.value;
      if (ce >= re - n.viewSize) {
        if (!n.loop) return;
        if (i.offset < 0)
          if (j < b.value)
            i.offset = -ce * ae;
          else {
            i.offset = ae * (re - ce);
            for (let at = ce; at < re; ++at)
              be[at].offset = -re * ae;
          }
        else {
          for (let at = 0; at < re; ++at)
            be[at].offset = at < ce ? 0 : (p.value && !n.vertical ? re : -re) * ae;
          i.offset = ae * (re - ce);
        }
        b.value = ce;
      } else
        b.value = ce, i.offset = -b.value * ae;
      U = b.value <= re - n.viewSize, H = !0, b.value !== Pe && te();
    }
    function Se(j = 1) {
      if (A.value || H) return;
      const ae = n.vertical ? v.height : v.width, be = Array.from(m.value), re = be.length, ce = b.value + j, Pe = b.value;
      if (ce > m.value.size - n.viewSize) {
        if (!n.loop) return;
        if (i.offset > 0)
          i.offset = ae * (re - ce);
        else {
          const at = ce + n.viewSize - re;
          for (let yt = 0, Nt = be.length; yt < Nt; ++yt)
            be[yt].offset = yt < at ? (p.value && !n.vertical ? -re : re) * ae : 0;
          i.offset = -ce * ae;
        }
        b.value = ce % re;
      } else
        b.value = ce, i.offset = -b.value * ae;
      U = b.value <= re - n.viewSize, H = !0, b.value !== Pe && te();
    }
    function Ce(j) {
      if (A.value || H || j === b.value) return;
      const ae = m.value.size;
      if (j = j % ae + (j < 0 ? ae : 0), n.loop) {
        let be, re;
        j > b.value ? (be = j - b.value, re = ae - j + b.value) : (be = ae - b.value + j, re = b.value - j), be < re ? Se(be) : be > re ? Ee(re) : i.offset > 0 ? Ee(be) : Se(be);
      } else
        j < b.value ? Ee(b.value - j) : Se(j - b.value);
    }
    function fe() {
      U ? (m.value.forEach((j) => {
        j.offset = 0;
      }), U = !1, f.value = !0, requestAnimationFrame(() => {
        i.offset = -b.value * (n.vertical ? v.height : v.width), requestAnimationFrame(() => {
          f.value = !1, H = !1;
        });
      })) : H = !1;
    }
    function ot() {
      Ee(1), _(n.onPrev, (b.value + n.activeOffset) % m.value.size);
    }
    function Ze() {
      Se(1), _(n.onNext, (b.value + n.activeOffset) % m.value.size);
    }
    function Je(j) {
      _(n.onSelect, j);
    }
    const { timer: se } = Vn();
    function ne() {
      if (clearInterval(se.play), !n.autoplay) return;
      let j = 4e3;
      typeof n.autoplay == "number" && (j = n.autoplay), se.play = window.setInterval(() => {
        !n.loop && L.value ? Ce(0) : Se();
      }, j);
    }
    function ue() {
      n.autoplay && (clearTimeout(se.hover), se.hover = setTimeout(() => {
        clearInterval(se.play);
      }, d.value)), n.arrowTrigger === "hover" && n.arrow === "inside" && (u.value = !0);
    }
    function J() {
      n.autoplay && (clearTimeout(se.hover), se.hover = setTimeout(() => {
        ne();
      }, d.value)), n.arrowTrigger === "hover" && (u.value = !1);
    }
    function N(j) {
      return n.loop ? !1 : !(j >= n.activeOffset - 1 && j < m.value.size - n.activeOffset - 1);
    }
    return (j, ae) => (S(), D("div", {
      ref_key: "wrapper",
      ref: k,
      class: x(z.value),
      role: "list",
      style: Qe(C.value)
    }, [
      y(e(zn), { onResize: de }, {
        default: X(() => [
          oe("div", {
            style: Qe({
              position: "relative",
              display: "flex",
              flexDirection: e(n).vertical ? "column" : "row",
              width: "100%"
            })
          }, [
            e(n).arrow !== "none" ? (S(), D("div", {
              key: 0,
              ref_key: "prev",
              ref: T,
              class: x([
                e(s).bem("arrow", e(n).arrow),
                e(s).bem("arrow", "prev"),
                u.value ? e(s).bem("arrow", "show") : ""
              ])
            }, [
              oe("div", {
                class: x({
                  [e(s).be("handler")]: !0,
                  [e(s).bem("handler", "disabled")]: R.value
                }),
                onClick: ot
              }, [
                W(j.$slots, "prevArrow", { disabled: R.value }, () => [
                  y(e(me), {
                    renderer: e(n).slots.prevArrow,
                    data: { disabled: R.value }
                  }, {
                    default: X(() => [
                      y(e(Oe), He(I.value[0], {
                        scale: +(I.value[0].scale || 1) * 1.5
                      }), null, 16, ["scale"])
                    ]),
                    _: 1
                  }, 8, ["renderer", "data"])
                ])
              ], 2)
            ], 2)) : ge("", !0),
            oe("div", {
              class: x(e(s).be("list")),
              style: Qe(E.value)
            }, [
              oe("div", {
                class: x(e(s).be("track")),
                style: Qe(P.value),
                onTransitionend: gt(fe, ["self"])
              }, [
                W(j.$slots, "default", {}, () => [
                  y(e(me), {
                    renderer: e(n).slots.default
                  }, null, 8, ["renderer"]),
                  ae[0] || (ae[0] = dt("> "))
                ])
              ], 38)
            ], 6),
            e(n).arrow !== "none" ? (S(), D("div", {
              key: 1,
              ref_key: "next",
              ref: F,
              class: x([
                e(s).bem("arrow", e(n).arrow),
                e(s).bem("arrow", "next"),
                u.value ? e(s).bem("arrow", "show") : ""
              ])
            }, [
              oe("div", {
                class: x({
                  [e(s).be("handler")]: !0,
                  [e(s).bem("handler", "disabled")]: L.value
                }),
                onClick: Ze
              }, [
                W(j.$slots, "nextArrow", { disabled: L.value }, () => [
                  y(e(me), {
                    renderer: e(n).slots.nextArrow,
                    data: { disabled: L.value }
                  }, {
                    default: X(() => [
                      y(e(Oe), He(I.value[1], {
                        scale: +(I.value[1].scale || 1) * 1.5
                      }), null, 16, ["scale"])
                    ]),
                    _: 1
                  }, 8, ["renderer", "data"])
                ])
              ], 2)
            ], 2)) : ge("", !0)
          ], 4)
        ]),
        _: 3
      }),
      e(n).pointer !== "none" ? (S(), D("div", {
        key: 0,
        class: x(e(s).bem("pointers", e(n).pointer))
      }, [
        (S(!0), D(st, null, ln(m.value.size, (be) => (S(), D("div", {
          key: be,
          class: x({
            [e(s).be("pointer")]: !0,
            [e(s).bem("pointer", "active")]: be - 1 === (b.value + e(n).activeOffset) % m.value.size,
            [e(s).bem("pointer", "disabled")]: N(be - e(n).activeOffset - 1)
          }),
          onClick: (re) => Ce(be - e(n).activeOffset - 1)
        }, [
          W(j.$slots, "pointer", {
            active: be - 1 === (b.value + e(n).activeOffset) % m.value.size
          }, () => [
            y(e(me), {
              renderer: e(n).slots.pointer,
              data: { active: be - 1 === (b.value + e(n).activeOffset) % m.value.size }
            }, {
              default: X(() => [
                oe("span", {
                  class: x(e(s).be("pointer-inner"))
                }, null, 2)
              ]),
              _: 2
            }, 1032, ["renderer", "data"])
          ])
        ], 10, cy))), 128))
      ], 2)) : ge("", !0)
    ], 6));
  }
}), fy = /* @__PURE__ */ Xe({
  name: "CarouselItem",
  __name: "carousel-item",
  setup(t) {
    const r = Et(Md, null), l = Ye("carousel"), a = pt({
      label: -1,
      width: 0,
      height: 0,
      offset: 0
    }), n = g(() => (r == null ? void 0 : r.isItemActive(a.label)) ?? !1), o = g(() => ({
      [l.be("item")]: !0,
      [l.bem("item", "active")]: n.value
    })), s = g(() => {
      const { width: d, height: p, offset: m } = a;
      return {
        width: d ? `${d}px` : void 0,
        height: p ? `${p}px` : void 0,
        transform: m ? `translate${r != null && r.vertical ? "Y" : "X"}(${m}px)` : void 0
      };
    });
    r && (r.increaseItem(a), pn(() => {
      r.decreaseItem(a);
    }));
    function c() {
      r == null || r.handleSelect(a.label);
    }
    return (d, p) => (S(), D("div", {
      class: x(o.value),
      role: "listitem",
      style: Qe(s.value),
      onClick: c
    }, [
      W(d.$slots, "default", { active: n.value })
    ], 6));
  }
}), py = ft({
  size: An,
  state: Zn,
  checked: M,
  label: String,
  value: [String, Number],
  labelClass: Bn,
  disabled: M,
  border: M,
  control: M,
  partial: M,
  tabIndex: [String, Number],
  loading: M,
  loadingLock: M,
  name: String,
  color: String,
  stateColor: M,
  onChange: B(),
  onClick: B()
}), vy = ft({
  size: An,
  state: Zn,
  locale: Mn(),
  value: Array,
  vertical: M,
  disabled: M,
  border: M,
  options: Array,
  loading: M,
  loadingLock: M,
  control: hn,
  color: String,
  stateColor: M,
  onChange: B()
}), Pd = "__VXP_CHECKBOX_GROUP_STATE", hy = ["id", "aria-disabled", "aria-labelledby"], my = ["checked", "disabled", "tabindex", "name"], xl = /* @__PURE__ */ Xe({
  name: "Checkbox",
  __name: "checkbox",
  props: py,
  emits: ["update:checked"],
  setup(t, { expose: r, emit: l }) {
    const {
      idFor: a,
      labelId: n,
      state: o,
      disabled: s,
      loading: c,
      size: d,
      validateField: p,
      getFieldValue: m,
      setFieldValue: b
    } = al(() => {
      var de;
      return (de = F.value) == null ? void 0 : de.focus();
    }), u = ct("checkbox", t, {
      size: On(d),
      state: ll(o),
      checked: {
        default: () => m(),
        static: !0
      },
      label: null,
      value: {
        default: null,
        static: !0
      },
      labelClass: null,
      disabled: () => s.value,
      border: !1,
      control: !1,
      partial: !1,
      tabIndex: 0,
      loading: () => c.value,
      loadingLock: !1,
      name: {
        default: "",
        static: !0
      },
      color: null,
      stateColor: !1
    }), h = l, i = kn(), v = Et(Pd, null), k = Ye("checkbox"), w = $(u.checked ?? !1), T = $(u.partial), F = $(), A = pt({
      checked: w,
      partial: T
    }), z = g(() => (v == null ? void 0 : v.size) || u.size), C = g(() => (v == null ? void 0 : v.state) || u.state), E = g(() => (v == null ? void 0 : v.disabled) || u.disabled), P = g(() => (v == null ? void 0 : v.loading) || u.loading), R = g(() => (v == null ? void 0 : v.loadingLock) || u.loadingLock), L = g(() => (v == null ? void 0 : v.stateColor) || u.stateColor), I = g(() => P.value && R.value), G = g(() => [
      k.b(),
      k.bs("vars"),
      {
        [k.bm("inherit")]: u.inherit,
        [k.bm("checked")]: w.value,
        [k.bm("disabled")]: E.value,
        [k.bm("readonly")]: I.value,
        [k.bm("loading")]: P.value,
        [k.bm(z.value)]: z.value !== "default",
        [k.bm("border")]: u.border,
        [k.bm("partial")]: u.control && T.value,
        [k.bm(C.value)]: C.value !== "default"
      }
    ]), ee = g(() => {
      if (!u.color) return v == null ? void 0 : v.colorMap;
      const de = Qn(u.color);
      return {
        base: de.toString(),
        opacity6: ml(de, 0.4).toString()
      };
    }), O = g(() => {
      if (!ee.value) return {};
      const { base: de, opacity6: te } = ee.value;
      return k.cvm({
        "label-color-checked": de,
        "b-color": L.value ? de : void 0,
        "b-color-hover": de,
        "b-color-checked": de,
        "signal-bg-color-checked": de,
        "s-color-focus": te
      });
    }), H = g(() => dn(u.label) && u.label !== ""), U = g(() => u.value ?? u.label);
    if (le(
      () => u.checked,
      (de) => {
        Z(de);
      }
    ), le(
      () => u.partial,
      (de) => {
        T.value = de;
      }
    ), v) {
      let de = !1;
      le(U, (te, Ee) => {
        on(v.replaceValue) && v.replaceValue(Ee, te);
      }), le(
        () => u.control,
        (te) => {
          te ? (de && (v.decreaseItem(U.value, F), de = !1), v.increaseControl(A)) : v.decreaseControl(A);
        },
        { immediate: !0 }
      ), le(
        () => v.currentValues,
        (te) => {
          u.control || Z(te.includes(U.value));
        },
        { immediate: !0 }
      ), sn(() => {
        u.control || (v.increaseItem(U.value, w.value, F), de = !0);
      }), pn(() => {
        u.control ? v.decreaseControl(A) : v.decreaseItem(U.value, F);
      });
    }
    r({
      idFor: a,
      labelId: n,
      currentChecked: w,
      input: F,
      focus: (de) => {
        var te;
        return (te = F.value) == null ? void 0 : te.focus(de);
      },
      blur: () => {
        var de;
        return (de = F.value) == null ? void 0 : de.blur();
      }
    });
    function q() {
      const de = w.value;
      h("update:checked", de), b(de), _(u.onChange, de);
    }
    function Z(de) {
      u.control && on(v == null ? void 0 : v.handleControlChange) ? v.handleControlChange() : w.value !== de && (w.value = de, q());
    }
    function K(de) {
      E.value || I.value || (Z(de), !u.control && v && on(v.setItemChecked) && v.setItemChecked(U.value, de), v || p());
    }
    function we(de) {
      _(u.onClick, de);
    }
    return (de, te) => (S(), D("label", {
      id: e(a),
      class: x(G.value),
      style: Qe(O.value),
      "aria-disabled": E.value,
      "aria-labelledby": e(n),
      onClick: we
    }, [
      oe("input", {
        ref_key: "input",
        ref: F,
        type: "checkbox",
        class: x(e(k).be("input")),
        checked: w.value,
        disabled: E.value || I.value,
        tabindex: e(u).tabIndex,
        name: e(u).name,
        onSubmit: te[0] || (te[0] = gt(() => {
        }, ["prevent"])),
        onChange: te[1] || (te[1] = (Ee) => K(!w.value)),
        onClick: te[2] || (te[2] = gt(() => {
        }, ["stop"]))
      }, null, 42, my),
      oe("span", {
        class: x([e(k).be("signal"), P.value && e(k).bem("signal", "active")])
      }, null, 2),
      H.value || i.default ? (S(), D("span", {
        key: 0,
        class: x([e(k).be("label"), e(u).labelClass])
      }, [
        W(de.$slots, "default", {}, () => [
          dt(ze(e(u).label), 1)
        ])
      ], 2)) : ge("", !0)
    ], 14, hy));
  }
}), by = ["aria-labelledby"], gy = /* @__PURE__ */ Xe({
  name: "CascaderPanel",
  __name: "cascader-panel",
  props: {
    options: {
      type: Array,
      default: () => []
    },
    openedId: {
      type: Number,
      default: null
    },
    values: {
      type: Array,
      default: () => []
    },
    ready: {
      type: Boolean,
      default: !1
    },
    multiple: {
      type: Boolean,
      default: !1
    },
    checkIcon: {
      type: Object,
      default: null
    },
    isAsync: {
      type: Boolean,
      default: !1
    },
    merged: {
      type: Boolean,
      default: !1
    },
    noCascaded: {
      type: Boolean,
      default: !1
    },
    visible: {
      type: Boolean,
      default: !1
    },
    labeledBy: {
      type: String,
      default: void 0
    }
  },
  emits: ["select", "check", "hover", "open", "back", "close"],
  setup(t, { expose: r, emit: l }) {
    const a = t, n = l, o = Ye("cascader"), s = Gt(), { isRtl: c } = Un(), d = $(-1), p = $(), { target: m } = cl({
      passive: !1,
      onKeyDown: (E, P) => {
        if (P.escape) {
          n("close");
          return;
        }
        za(
          [
            [
              () => P.up || P.down,
              () => {
                if (d.value < 0) {
                  d.value = a.options.findIndex(h), d.value < 0 && (d.value = 0);
                  return;
                }
                d.value = cn(
                  z(d.value + (P.up ? -1 : 1), P.up ? -1 : 1),
                  0,
                  a.options.length - 1
                ), C(d.value, P.up ? "top" : "bottom");
              }
            ],
            [
              () => P.left || P.right,
              () => {
                if (P.right) {
                  const R = a.options[d.value];
                  R && u(R) && n("open", R);
                } else
                  n("back");
              }
            ],
            [
              () => P.enter || P.space,
              () => {
                E.stopPropagation();
                const R = a.options[d.value];
                R && (a.multiple ? k(R) : v(R, d.value));
              }
            ]
          ],
          {
            beforeMatchAny: () => E.preventDefault(),
            afterMatchAny: P.resetAll
          }
        );
      }
    });
    let b = 0, f;
    le([() => a.ready, () => a.options], () => {
      var E;
      requestAnimationFrame(F), a.ready ? ((E = p.value) == null || E.refresh(), d.value = a.options.findIndex(h)) : d.value = -1;
    }), sn(() => {
      requestAnimationFrame(F);
    }), pn(T), r({ currentHitting: d });
    function u(E) {
      var P;
      return !!(E.hasChild || (P = E.children) != null && P.length);
    }
    function h(E) {
      return u(E) && E.id === a.openedId || a.values.includes(E.fullValue);
    }
    function i(E) {
      return E.disabled || !a.merged && a.multiple && a.isAsync && u(E) && !E.childrenLoaded;
    }
    function v(E, P) {
      E.disabled || (d.value = P, a.multiple || a.noCascaded ? u(E) ? n("select", E) : k(E) : n("select", E));
    }
    function k(E) {
      !i(E) && n("check", E);
    }
    function w(E) {
      clearTimeout(f), f = setTimeout(() => {
        !E.disabled && n("hover", E);
      }, 100);
    }
    function T() {
      clearTimeout(f);
    }
    function F() {
      var P;
      const E = (P = p.value) == null ? void 0 : P.wrapper;
      if (E) {
        const R = getComputedStyle(E), L = parseInt(R.paddingTop), I = parseInt(R.paddingBottom);
        b = E.offsetHeight - L - I;
      }
    }
    function A(E, P) {
      var L;
      const R = a.options;
      for (P = P / Math.abs(P); (L = R[E]) != null && L.disabled && (E += P, !(E < 0 || E >= R.length)); )
        ;
      return E;
    }
    function z(E, P = 1) {
      var L;
      const R = a.options;
      return (L = R[E]) != null && L.disabled && (E = A(E, P), (P > 0 ? E >= R.length : E < 0) && (E = A(E, -P), (P > 0 ? E < 0 : E >= R.length) && (E = -1))), E;
    }
    function C(E, P) {
      const R = a.options[E], L = 32;
      if (!(!R || !p.value))
        if (P === "bottom") {
          const I = (E + 1) * L;
          p.value.scrollOffset + b < I && p.value.scrollTo(I - b);
        } else {
          const I = E * L;
          p.value.scrollOffset > I && p.value.scrollTo(I);
        }
    }
    return (E, P) => (S(), D("div", {
      ref_key: "wrapper",
      ref: m,
      class: x(e(o).be("panel")),
      tabindex: "-1",
      "aria-labelledby": t.labeledBy,
      onMouseleave: T
    }, [
      y(e(Wr), {
        ref_key: "list",
        ref: p,
        inherit: "",
        items: t.options,
        "item-size": 32,
        height: "100%",
        "id-key": "id",
        "items-attrs": {
          class: [
            e(o).be("options"),
            t.multiple ? e(o).bem("options", "multiple") : null,
            t.noCascaded ? e(o).bem("options", "no-cascaded") : null
          ],
          role: "listbox",
          ariaMultiselectable: t.multiple
        },
        onResize: F
      }, {
        default: X(({ item: R, index: L }) => [
          y(e(qo), {
            class: x({
              [e(o).ns("option--error")]: R.error
            }),
            value: R.value,
            label: R.label,
            disabled: R.disabled,
            selected: h(R),
            hitting: L === d.value,
            onSelect: (I) => v(R, L),
            onMouseenter: (I) => w(R)
          }, {
            default: X(() => [
              W(E.$slots, "default", {
                option: R,
                index: L,
                selected: h(R),
                canCheck: i(R),
                hasChild: u(R)
              }, () => [
                t.multiple || t.noCascaded ? (S(), Be(e(xl), {
                  key: 0,
                  inherit: "",
                  class: x(e(o).be("checkbox")),
                  checked: R.checked,
                  control: u(R),
                  partial: R.partial,
                  disabled: i(R),
                  size: "small",
                  onClick: gt((I) => k(R), ["prevent", "stop"])
                }, null, 8, ["class", "checked", "control", "partial", "disabled", "onClick"])) : ge("", !0),
                oe("span", {
                  class: x(e(o).be("label"))
                }, [
                  W(E.$slots, "label", {
                    option: R,
                    index: L,
                    selected: h(R),
                    canCheck: i(R),
                    hasChild: u(R),
                    handleSelect: () => v(R, L)
                  }, () => [
                    dt(ze(R.label), 1)
                  ])
                ], 2),
                oe("div", {
                  class: x(e(o).be("icon"))
                }, [
                  R.loading ? (S(), Be(e(Oe), It(He({ key: 0 }, e(s).loading)), null, 16)) : R.error ? (S(), Be(e(Oe), It(He({ key: 1 }, e(s).refresh)), null, 16)) : u(R) ? (S(), D(st, { key: 2 }, [
                    e(c) ? (S(), Be(e(Oe), It(He({ key: 0 }, e(s).angleLeft)), null, 16)) : (S(), Be(e(Oe), It(He({ key: 1 }, e(s).angleRight)), null, 16))
                  ], 64)) : !t.multiple && !t.noCascaded && t.checkIcon && t.values.includes(R.fullValue) ? (S(), Be(e(Oe), He({ key: 3 }, e(s).check, {
                    icon: t.checkIcon || e(s).check.icon
                  }), null, 16, ["icon"])) : ge("", !0)
                ], 2)
              ])
            ]),
            _: 2
          }, 1032, ["class", "value", "label", "disabled", "selected", "hitting", "onSelect", "onMouseenter"])
        ]),
        _: 3
      }, 8, ["items", "items-attrs"])
    ], 42, by));
  }
}), yy = ft({
  size: An,
  state: Zn,
  locale: Mn(),
  value: Array,
  visible: M,
  options: Array,
  placeholder: String,
  prefix: Xt,
  prefixColor: String,
  suffix: Xt,
  suffixColor: String,
  noCascaded: M,
  multiple: M,
  disabled: M,
  clearable: M,
  placement: String,
  transfer: hn,
  staticSuffix: M,
  noSuffix: M,
  transitionName: String,
  outsideClose: M,
  keyConfig: Object,
  separator: String,
  hoverTrigger: M,
  maxTagCount: Number,
  briefLabel: M,
  noRestTip: M,
  onAsyncLoad: Function,
  mergeTags: M,
  tagType: String,
  emptyText: String,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  transparent: M,
  popperAlive: M,
  slots: Object,
  onToggle: B(),
  onSelect: B(),
  onCancel: B(),
  onChange: B(),
  onClickOutside: B(),
  onOutsideClose: B(),
  onClear: B()
}), ky = ["id", "aria-disabled", "aria-expanded", "aria-labelledby"], wy = { key: 1 }, xy = ["aria-label"], Sy = /* @__PURE__ */ Xe({
  name: "Cascader",
  __name: "cascader",
  props: yy,
  emits: ["update:visible", "update:value"],
  setup(t, { expose: r, emit: l }) {
    const a = Symbol("ID_KEY"), n = Symbol("PARENT_KEY"), o = {
      value: "value",
      label: "label",
      children: "children",
      disabled: "disabled",
      hasChild: "hasChild"
    }, {
      idFor: s,
      labelId: c,
      state: d,
      disabled: p,
      loading: m,
      size: b,
      validateField: f,
      clearField: u,
      getFieldValue: h,
      setFieldValue: i
    } = al(() => {
      var Y;
      return (Y = ue.value) == null ? void 0 : Y.focus();
    }), v = t, k = Ye("cascader"), w = ct("cascader", v, {
      size: On(b),
      state: ll(d),
      locale: null,
      value: {
        default: () => h(),
        static: !0
      },
      visible: {
        default: !1,
        static: !0
      },
      options: {
        default: () => [],
        static: !0
      },
      placeholder: null,
      prefix: en(),
      prefixColor: "",
      suffix: en(),
      suffixColor: "",
      noCascaded: !1,
      multiple: !1,
      disabled: () => p.value,
      clearable: !1,
      placement: {
        default: "bottom-start",
        validator: (Y) => Wl.includes(Y)
      },
      transfer: !1,
      staticSuffix: !1,
      noSuffix: !1,
      transitionName: () => k.ns("drop"),
      outsideClose: !0,
      keyConfig: () => ({}),
      separator: {
        default: "/",
        validator: (Y) => Y.length === 1
      },
      hoverTrigger: !1,
      maxTagCount: 0,
      briefLabel: !1,
      noRestTip: !1,
      onAsyncLoad: {
        default: null,
        isFunc: !0
      },
      mergeTags: !1,
      tagType: null,
      emptyText: null,
      loading: () => m.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      transparent: !1,
      popperAlive: null,
      slots: () => ({})
    }), T = l, F = kn(), A = Gt(), z = vn("select", qe(w, "locale")), C = $(w.visible), E = $([]), P = $([]), R = $([]), L = $([]), I = $(!1), G = qe(w, "placement"), ee = qe(w, "transfer"), O = $(null), H = $(null), U = g(() => typeof w.onAsyncLoad == "function"), q = g(() => w.mergeTags && !w.noCascaded), Z = g(
      () => q.value ? R.value : E.value
    ), K = g(
      () => q.value ? L.value : P.value
    );
    let we = null, de = null, te = null, Ee = !1, Se = -1, Ce;
    const fe = $(0);
    In(() => {
      w.keyConfig.value, w.keyConfig.label, w.keyConfig.disabled, w.keyConfig.hasChild, w.separator, U.value, Ce = Ms(w.options, {
        keyField: a,
        parentField: n,
        childField: w.keyConfig.children ?? o.children,
        forceInject: !0
      }), fe.value++;
    }), le(fe, ot, { immediate: !0 });
    function ot() {
      const Y = w.separator, ke = U.value;
      we = Wt(Ce), de = /* @__PURE__ */ new Map(), te = /* @__PURE__ */ new Map();
      for (let xe = 0, We = we.length; xe < We; ++xe) {
        const V = we[xe];
        un(V, Y), de.set(V.id, V), te.set(V.fullValue, V), ke && (V.childrenLoaded = qt(V));
      }
      H.value = _c(we), Fe(O.value);
    }
    const Ze = $([]), Je = g(() => [
      H.value,
      ...Ze.value.map((Y) => {
        var ke;
        return (ke = de.get(Y)) == null ? void 0 : ke.children;
      }).filter(Boolean)
    ]), se = Hl($e), ne = $(), { reference: ue, transferTo: J, updatePopper: N } = Kl({
      placement: G,
      transfer: ee,
      wrapper: se,
      popper: g(() => {
        var Y;
        return (Y = ne.value) == null ? void 0 : Y.wrapper;
      }),
      isDrop: !0
    }), { isHover: j } = Ql(ue), ae = $([]), be = $(0), re = $(!1), ce = $(0), Pe = g(() => ({
      [k.b()]: !0,
      [k.ns("input-vars")]: !0,
      [k.bs("vars")]: !0,
      [k.bm("inherit")]: w.inherit,
      [k.bm("multiple")]: w.multiple,
      [k.bm("responsive")]: w.multiple && w.maxTagCount <= 0
    })), at = g(() => w.loading && w.loadingLock), yt = g(() => {
      const Y = k.be("selector");
      return {
        [Y]: !0,
        [`${Y}--focused`]: !w.disabled && C.value,
        [`${Y}--disabled`]: w.disabled,
        [`${Y}--readonly`]: at.value,
        [`${Y}--loading`]: w.loading,
        [`${Y}--${w.size}`]: w.size !== "default",
        [`${Y}--${w.state}`]: w.state !== "default",
        [`${Y}--has-prefix`]: Nt.value,
        [`${Y}--has-suffix`]: !w.noSuffix,
        [`${Y}--transparent`]: w.transparent
      };
    }), Nt = g(() => !!(F.prefix || w.slots.prefix || w.prefix)), Mt = g(() => !!Z.value[0]), Ht = g(() => w.hoverTrigger && !U.value), _t = g(() => !w.disabled && !at.value && w.clearable && j.value && Mt.value);
    le(
      () => w.visible,
      (Y) => {
        C.value = Y;
      }
    ), le(C, async (Y) => {
      var ke;
      Y ? (re.value = !1, ce.value = ((ke = se.value) == null ? void 0 : ke.offsetWidth) || 0, await N(), kt(() => {
        var xe, We;
        (We = (xe = gn(ae.value)) == null ? void 0 : xe.$el) == null || We.focus();
      })) : (I.value = !1, ue.value && !Ee && ue.value.focus()), Ee = !1;
    });
    let tn = !1;
    le(O, () => {
      tn = !0;
    }), le(
      () => w.value,
      (Y) => {
        (Y !== O.value || tn) && (O.value = Y, Fe(Y), kt(() => {
          tn = !1;
        }));
      },
      { immediate: !0 }
    ), le(
      () => w.briefLabel,
      (Y) => {
        P.value = E.value.map((ke) => {
          var xe;
          return (xe = te.get(ke)) == null ? void 0 : xe[Y ? "label" : "fullLabel"];
        }).filter(Boolean);
      }
    ), le(U, (Y) => {
      if (Y)
        for (const ke of de.values())
          ke.childrenLoaded = qt(ke);
    }), le(q, (Y) => {
      if (Y && (R.value.length = 0, L.value.length = 0, pe()), U.value) {
        const ke = [];
        for (const xe of de.values())
          xe.checked && ke.push(xe), xe.hasChild && !xe.children.length && !xe.loaded && (xe.checked = !1);
        for (let xe = 0, We = ke.length; xe < We; ++xe) {
          const V = ke[xe];
          Ve(V), Ie(V);
        }
      }
      Ge();
    }), le(
      () => Je.value.length,
      () => {
        N(), kt(() => {
          var Y, ke;
          (ke = (Y = gn(ae.value)) == null ? void 0 : Y.$el) == null || ke.focus(), Se = -1;
        });
      }
    ), le(
      () => w.disabled,
      (Y) => {
        Y && lt(!1);
      }
    ), le(at, (Y) => {
      Y && lt(!1);
    }), zf(() => {
      ae.value.length = 0;
    }), r({
      idFor: s,
      labelId: c,
      currentVisible: C,
      currentValues: E,
      currentLabels: P,
      isHover: j,
      openedIds: Ze,
      restTagCount: be,
      restTipShow: re,
      optionsList: Je,
      hasValue: Mt,
      templateValues: Z,
      templateLabels: K,
      showClear: _t,
      wrapper: se,
      reference: ue,
      popper: ne,
      panelElList: ae,
      handlePanelOpen: Ke,
      handleOptionSelect: Ct,
      handleOptionCheck: Me,
      toggleVisible: Vt,
      handleClear: et,
      handlePanelBack: wn,
      focus: (Y) => {
        var ke;
        return (ke = ue.value) == null ? void 0 : ke.focus(Y);
      },
      blur: () => {
        var Y;
        return (Y = ue.value) == null ? void 0 : Y.blur();
      }
    });
    function Wt(Y) {
      const {
        value: ke,
        label: xe,
        disabled: We,
        hasChild: V
      } = { ...o, ...w.keyConfig };
      return Y.map((De) => {
        const {
          [a]: _e,
          [n]: rt,
          [ke]: xt,
          [xe]: Bt,
          [We]: Ut,
          [V]: xn
        } = De;
        return pt({
          id: _e,
          parent: rt,
          value: xt,
          disabled: Ut,
          hasChild: xn,
          label: Bt || String(xt),
          fullValue: "",
          fullLabel: "",
          children: [],
          checked: !1,
          partial: !1,
          loading: !1,
          loaded: !1,
          error: !1,
          childrenLoaded: !1,
          data: De
        });
      });
    }
    function un(Y, ke) {
      let xe = Y.value, We = Y.label, V = de.get(Y.parent);
      for (; V; )
        xe = `${V.value}${ke}${xe}`, We = `${V.label}${ke}${We}`, V = de.get(V.parent);
      Y.fullValue = xe, Y.fullLabel = We;
    }
    function qt(Y) {
      var xe, We;
      if (Y.hasChild && !((xe = Y.children) != null && xe.length))
        return Y.loaded;
      const ke = [...Y.children];
      for (; ke.length; ) {
        const V = ke.shift();
        if (!V.childrenLoaded) {
          if (V.hasChild && !((We = V.children) != null && We.length) && (V.childrenLoaded = V.loaded, !V.loaded))
            return !1;
          ke.push(...V.children);
        }
      }
      return !0;
    }
    function pe() {
      const Y = U.value ? E.value.concat(R.value) : E.value, ke = new Set(Y), xe = [...Y];
      for (; xe.length; ) {
        const V = xe.shift(), De = te.get(V);
        if (De) {
          const _e = de.get(De.parent);
          _e != null && _e.checked && (ke.delete(V), ke.add(_e.fullValue), xe.push(_e.fullValue));
        }
      }
      const We = w.briefLabel;
      R.value = Array.from(ke).filter((V) => te.has(V)), L.value = R.value.map((V) => {
        const De = te.get(V);
        return We ? De.label : De.fullLabel;
      }).filter(Boolean);
    }
    function Re(Y) {
      return !!Y.length && !Array.isArray(Y[0]);
    }
    function he(Y) {
      return !!Y.length && Array.isArray(Y[0]);
    }
    function Fe(Y) {
      const ke = () => {
        q.value && (U.value && (R.value = Array.from(de.values()).filter((V) => V.checked).map((V) => V.fullValue)), pe());
      };
      for (const V of we)
        V.checked = !1, V.partial = !1;
      if (!(Y != null && Y.length)) {
        E.value = [], P.value = [], ke();
        return;
      }
      const xe = w.briefLabel;
      if (w.multiple) {
        const V = Re(Y) ? [Y] : Y, De = new Set(V.map((Bt) => Bt.join(w.separator))), _e = [], rt = [], xt = [];
        if (De.forEach((Bt) => {
          const Ut = te.get(Bt);
          Ut && (Ut.checked = !0, Ut.partial = !1, _e.push(Bt), rt.push(xe ? Ut.label : Ut.fullLabel), xt.push(Ut));
        }), !w.noCascaded) {
          const Bt = xt.concat(
            Array.from(de.values()).filter((Ut) => Ut.disabled && Ut.checked)
          );
          for (let Ut = 0, xn = Bt.length; Ut < xn; ++Ut) {
            const qn = Bt[Ut];
            Ve(qn), Ie(qn);
          }
        }
        E.value = _e, P.value = rt;
      } else {
        const De = (he(Y) ? Y[0] : Y).join(w.separator), _e = te.get(De);
        _e ? (E.value = [De], P.value = [xe ? _e.label : _e.fullLabel], w.noCascaded && (_e.checked = !0, _e.partial = !1)) : (E.value = [], P.value = []);
      }
      if (ke(), Ze.value.length) return;
      const We = E.value[0];
      if (We) {
        const V = te.get(We), De = [V.id];
        let _e = de.get(V.parent);
        for (; _e; )
          De.push(_e.id), _e = de.get(_e.parent);
        Ze.value = De.reverse().slice(0, -1);
      }
    }
    function lt(Y) {
      C.value !== Y && (C.value = Y, T("update:visible", Y), _(w.onToggle, Y));
    }
    async function Ke(Y, ke) {
      var xe, We;
      if (!(!Y.hasChild && !((xe = Y.children) != null && xe.length))) {
        if (U.value && !((We = Y.children) != null && We.length) && !Y.loaded) {
          Y.loading = !0;
          let V;
          try {
            V = w.onAsyncLoad(Y.data), V = Sl(V) ? await V : V;
          } catch {
            Y.error = !0, Y.loading = !1;
            return;
          }
          const De = V;
          if (!Array.isArray(De) || !De.length)
            Y.hasChild = !1;
          else {
            const rt = Wt(De), xt = Y.id, Bt = w.separator;
            Y.children.push(...rt);
            let Ut = Math.max(...Array.from(de.keys()).map(Number)) + 1;
            rt.forEach((xn) => {
              xn.id = Ut++, xn.parent = xt, un(xn, Bt), de.set(xn.id, xn), te.set(xn.fullValue, xn);
            }), we.push(...rt);
          }
          Y.loaded = !0, Y.loading = !1, ve(Y).forEach((rt) => {
            rt.childrenLoaded = qt(rt);
          });
        }
        ke < Ze.value.length && (Ze.value = Ze.value.slice(0, ke)), Ze.value.push(Y.id), requestAnimationFrame(() => {
          var V, De;
          (De = (V = gn(ae.value)) == null ? void 0 : V.$el) == null || De.focus();
        });
      }
    }
    function Ct(Y, ke) {
      var xe;
      Y && (Y.hasChild || (xe = Y.children) != null && xe.length ? Ke(Y, ke) : mt(Y.fullValue));
    }
    function ve(Y) {
      const ke = [Y];
      let xe = de.get(Y.parent);
      for (; xe; )
        ke.push(xe), xe = de.get(xe.parent);
      return ke;
    }
    function Ve(Y) {
      let ke = Y;
      for (; !Tt(ke.parent); ) {
        const xe = de.get(ke.parent);
        if (!xe || ke.checked === xe.checked && ke.partial === xe.partial)
          break;
        ke.checked ? (xe.checked = xe.children.every((We) => We.disabled || We.checked), xe.partial = !xe.checked) : (xe.checked = !1, xe.partial = xe.children.some((We) => We.checked || We.partial)), ke = xe;
      }
    }
    function Ie(Y) {
      var De;
      const ke = Y.checked, xe = Y.partial, We = [...Y.children];
      let V;
      for (; We.length; )
        V = We.shift(), !V.disabled && (V.checked = ke, V.partial = xe, (De = V.children) != null && De.length && We.push(...V.children));
    }
    function Me(Y) {
      if (!Y) return;
      const ke = Array.from(de.values()), xe = !Y.checked;
      if (!w.multiple) {
        for (let We = 0, V = ke.length; We < V; ++We)
          ke[We].checked = !1;
        return Y.checked = xe, Y.partial = !1, mt(Y.fullValue);
      }
      if (Y.checked = xe, Y.partial = !1, !w.noCascaded) {
        const We = [Y].concat(
          ke.filter((V) => V.disabled && V.checked)
        );
        for (let V = 0, De = We.length; V < De; ++V) {
          const _e = We[V];
          Ve(_e), Ie(_e);
        }
      }
      _(w[xe ? "onSelect" : "onCancel"], Y.fullValue, Y.data), Ge();
    }
    function Ge() {
      const Y = Array.from(de.values()), ke = w.noCascaded ? Y.filter((rt) => rt.checked) : Y.filter((rt) => {
        var xt;
        return rt.checked && !(rt.hasChild || (xt = rt.children) != null && xt.length);
      }), xe = [], We = [], V = [], De = [], _e = w.briefLabel;
      ke.forEach((rt) => {
        xe.push(rt.fullValue), We.push(_e ? rt.label : rt.fullLabel);
        const { value: xt, data: Bt } = Ot(rt.fullValue);
        V.push(xt), De.push(Bt);
      }), E.value = xe, P.value = We, q.value && (U.value && (R.value = Y.filter((rt) => rt.checked).map((rt) => rt.fullValue)), pe()), q.value && U.value && (V.length = 0, De.length = 0, R.value.forEach((rt) => {
        const xt = te.get(rt);
        if (xt) {
          const { value: Bt, data: Ut } = Ot(xt.fullValue);
          V.push(Bt), De.push(Ut);
        }
      })), bt(V, De), kt(N);
    }
    function mt(Y) {
      const ke = te.get(Y);
      if (!ke) return;
      _(w.onSelect, Y, ke.data), Y ? (E.value[0] = Y, P.value[0] = w.briefLabel ? ke.label : ke.fullLabel) : (E.value.length = 0, P.value.length = 0);
      const { value: xe, data: We } = Ot(Y);
      bt(xe, We), lt(!1);
    }
    function bt(Y, ke) {
      O.value = Y, kt(() => {
        tn = !1, T("update:value", Y), i(Y), _(w.onChange, Y, ke), f();
      });
    }
    function Ot(Y) {
      let ke = te.get(Y);
      if (!ke) return { value: [], data: [] };
      const xe = [ke.value], We = [ke.data];
      for (; ke.parent; ) {
        const V = de.get(ke.parent);
        if (!V) break;
        xe.push(V.value), We.push(V.data), ke = V;
      }
      return {
        value: xe.reverse(),
        data: We.reverse()
      };
    }
    function Vt(Y = !C.value) {
      w.disabled || at.value || lt(Y);
    }
    function $e() {
      re.value = !1, _(w.onClickOutside), w.outsideClose && C.value && (lt(!1), Ee = !0, _(w.onOutsideClose));
    }
    function et() {
      if (!(w.disabled || at.value) && w.clearable) {
        const Y = O.value;
        E.value.length = 0, P.value.length = 0, R.value.length = 0, L.value.length = 0, Ze.value.length = 0, O.value = (Y == null ? void 0 : Y.length) === 0 ? Y : [], re.value = !1;
        for (const ke of de.values())
          ke.checked = !1, ke.partial = !1;
        (Y == null ? void 0 : Y.length) !== 0 && (T("update:value", O.value), _(w.onChange, O.value, [])), _(w.onClear), u(O.value);
      }
    }
    function vt() {
      C.value ? re.value = !1 : re.value = !re.value;
    }
    function an(Y) {
      w.disabled || at.value || (w.multiple ? Me(te.get(Y)) : mt(Y));
    }
    function Rn(Y, ke) {
      Ke(Y, ke), requestAnimationFrame(() => {
        const xe = gn(ae.value);
        xe && xe.currentHitting < 0 && (xe.currentHitting = xe.options.findIndex((We) => We.id === Se), xe.currentHitting < 0 && (xe.currentHitting = 0));
      });
    }
    function wn() {
      Se = Ze.value.pop();
    }
    function Te() {
      requestAnimationFrame(() => {
        I.value = !0;
      });
    }
    return (Y, ke) => (S(), D("div", {
      id: e(s),
      ref_key: "wrapper",
      ref: se,
      class: x(Pe.value),
      role: "group",
      "aria-disabled": e(fl)(e(w).disabled),
      "aria-expanded": e(fl)(C.value),
      "aria-haspopup": "dialog",
      "aria-labelledby": e(c),
      onClick: ke[7] || (ke[7] = (xe) => Vt())
    }, [
      oe("div", {
        ref_key: "reference",
        ref: ue,
        class: x(yt.value),
        tabindex: "0",
        onKeydown: [
          ke[2] || (ke[2] = Kn(gt((xe) => Vt(), ["prevent"]), ["space"])),
          ke[3] || (ke[3] = Kn((xe) => Vt(!1), ["tab"]))
        ]
      }, [
        Nt.value ? (S(), D("div", {
          key: 0,
          class: x([e(k).be("icon"), e(k).be("prefix")]),
          style: Qe({ color: e(w).prefixColor })
        }, [
          W(Y.$slots, "prefix", {}, () => [
            y(e(me), {
              renderer: e(w).slots.prefix
            }, {
              default: X(() => [
                y(e(Oe), {
                  icon: e(w).prefix
                }, null, 8, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)) : ge("", !0),
        oe("div", {
          class: x(e(k).be("control"))
        }, [
          W(Y.$slots, "control", {}, () => [
            y(e(me), {
              renderer: e(w).slots.control
            }, {
              default: X(() => [
                e(w).multiple ? (S(), Be(e(Go), {
                  key: 0,
                  inherit: "",
                  class: x([e(k).be("tags")]),
                  items: Z.value,
                  "max-count": e(w).maxTagCount,
                  onRestChange: ke[1] || (ke[1] = (xe) => be.value = xe)
                }, {
                  default: X(({ item: xe, index: We }) => [
                    y(e(Gl), {
                      inherit: "",
                      class: x(e(k).be("tag")),
                      type: e(w).tagType,
                      closable: "",
                      disabled: e(w).disabled,
                      onClick: ke[0] || (ke[0] = gt((V) => Vt(), ["stop"])),
                      onClose: (V) => an(xe)
                    }, {
                      default: X(() => [
                        dt(ze(K.value[We]), 1)
                      ]),
                      _: 2
                    }, 1032, ["class", "type", "disabled", "onClose"])
                  ]),
                  counter: X(({ count: xe }) => [
                    e(w).noRestTip ? (S(), Be(e(Gl), {
                      key: 0,
                      inherit: "",
                      class: x([e(k).be("tag"), e(k).be("counter")]),
                      type: e(w).tagType,
                      disabled: e(w).disabled
                    }, {
                      default: X(() => [
                        dt(ze(`+${xe}`), 1)
                      ]),
                      _: 2
                    }, 1032, ["class", "type", "disabled"])) : (S(), D("span", wy, [
                      y(e(Fl), {
                        inherit: "",
                        transfer: !1,
                        visible: re.value,
                        trigger: "custom",
                        placement: "top-end",
                        "tip-class": e(k).be("rest-tip"),
                        onClick: gt(vt, ["stop"])
                      }, {
                        trigger: X(() => [
                          y(e(Gl), {
                            inherit: "",
                            class: x([e(k).be("tag"), e(k).be("counter")]),
                            type: e(w).tagType,
                            disabled: e(w).disabled
                          }, {
                            default: X(() => [
                              dt(ze(`+${xe}`), 1)
                            ]),
                            _: 2
                          }, 1032, ["class", "type", "disabled"])
                        ]),
                        default: X(() => [
                          y(e(Al), {
                            inherit: "",
                            "use-y-bar": ""
                          }, {
                            default: X(() => [
                              (S(!0), D(st, null, ln(Z.value, (We, V) => (S(), D(st, { key: V }, [
                                V >= Z.value.length - be.value ? (S(), Be(e(Gl), {
                                  key: 0,
                                  inherit: "",
                                  class: x(e(k).be("tag")),
                                  closable: "",
                                  type: e(w).tagType,
                                  disabled: e(w).disabled,
                                  onClose: (De) => an(We)
                                }, {
                                  default: X(() => [
                                    dt(ze(K.value[V]), 1)
                                  ]),
                                  _: 2
                                }, 1032, ["class", "type", "disabled", "onClose"])) : ge("", !0)
                              ], 64))), 128))
                            ]),
                            _: 1
                          })
                        ]),
                        _: 2
                      }, 1032, ["visible", "tip-class"])
                    ]))
                  ]),
                  _: 1
                }, 8, ["class", "items", "max-count"])) : (S(), D(st, { key: 1 }, [
                  dt(ze(P.value[0]), 1)
                ], 64)),
                (e(w).placeholder ?? e(z).placeholder) && !Mt.value ? (S(), D("span", {
                  key: 2,
                  class: x(e(k).be("placeholder"))
                }, ze(e(w).placeholder ?? e(z).placeholder), 3)) : ge("", !0)
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 2),
        e(w).noSuffix ? e(w).clearable || e(w).loading ? (S(), D("div", {
          key: 2,
          class: x([e(k).be("icon"), e(k).bem("icon", "placeholder"), e(k).be("suffix")])
        }, null, 2)) : ge("", !0) : (S(), D("div", {
          key: 1,
          class: x([e(k).be("icon"), e(k).be("suffix")]),
          style: Qe({
            color: e(w).suffixColor,
            opacity: _t.value || e(w).loading ? "0%" : ""
          })
        }, [
          W(Y.$slots, "suffix", {}, () => [
            y(e(me), {
              renderer: e(w).slots.suffix
            }, {
              default: X(() => [
                e(w).suffix ? (S(), Be(e(Oe), {
                  key: 0,
                  icon: e(w).suffix,
                  class: x({
                    [e(k).be("arrow")]: !e(w).staticSuffix
                  })
                }, null, 8, ["icon", "class"])) : (S(), Be(e(Oe), He({ key: 1 }, e(A).angleDown, {
                  class: e(k).be("arrow")
                }), null, 16, ["class"]))
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)),
        y(En, {
          name: e(k).ns("fade"),
          appear: ""
        }, {
          default: X(() => [
            _t.value ? (S(), D("button", {
              key: 0,
              class: x([e(k).be("icon"), e(k).be("clear")]),
              type: "button",
              tabindex: "-1",
              "aria-label": e(z).ariaLabel.clear,
              onClick: gt(et, ["stop"])
            }, [
              y(e(Oe), It(Yt(e(A).clear)), null, 16)
            ], 10, xy)) : e(w).loading ? (S(), D("div", {
              key: 1,
              class: x([e(k).be("icon"), e(k).be("loading")])
            }, [
              y(e(Oe), He(e(A).loading, {
                effect: e(w).loadingEffect || e(A).loading.effect,
                icon: e(w).loadingIcon || e(A).loading.icon
              }), null, 16, ["effect", "icon"])
            ], 2)) : ge("", !0)
          ]),
          _: 1
        }, 8, ["name"])
      ], 34),
      y(e(Xl), {
        ref_key: "popper",
        ref: ne,
        class: x([e(k).be("popper"), e(k).ns("input-vars"), e(k).bs("vars")]),
        visible: C.value,
        to: e(J),
        transition: e(w).transitionName,
        alive: e(w).popperAlive ?? !e(J),
        onClick: ke[6] || (ke[6] = gt(() => {
        }, ["stop"])),
        onEnter: Te
      }, {
        default: X(() => [
          oe("div", {
            class: x({
              [e(k).be("panels")]: !0,
              [e(k).bem("panels", "empty")]: !Je.value[0] || !Je.value[0].length
            })
          }, [
            Je.value[0] && Je.value[0].length ? (S(!0), D(st, { key: 0 }, ln(Je.value, (xe, We) => (S(), Be(gy, {
              key: We,
              ref_for: !0,
              ref: (V) => V && ae.value.push(V),
              options: xe,
              "opened-id": Ze.value[We],
              values: E.value,
              ready: I.value,
              multiple: e(w).multiple,
              "is-async": U.value,
              merged: q.value,
              "no-cascaded": e(w).noCascaded,
              "labeled-by": e(c),
              onSelect: (V) => Ct(V, We),
              onHover: (V) => Ht.value && Ke(V, We),
              onCheck: ke[4] || (ke[4] = (V) => Me(V)),
              onOpen: (V) => Rn(V, We),
              onBack: wn,
              onClose: ke[5] || (ke[5] = (V) => C.value = !1)
            }, nl({ _: 2 }, [
              F.default || e(w).slots.default ? {
                name: "default",
                fn: X((V) => [
                  W(Y.$slots, "default", He({ ref_for: !0 }, V), () => [
                    y(e(me), {
                      renderer: e(w).slots.default,
                      data: V
                    }, null, 8, ["renderer", "data"])
                  ])
                ]),
                key: "0"
              } : void 0,
              F.label || e(w).slots.label ? {
                name: "label",
                fn: X((V) => [
                  W(Y.$slots, "label", He({ ref_for: !0 }, V), () => [
                    y(e(me), {
                      renderer: e(w).slots.label,
                      data: V
                    }, null, 8, ["renderer", "data"])
                  ])
                ]),
                key: "1"
              } : void 0
            ]), 1032, ["options", "opened-id", "values", "ready", "multiple", "is-async", "merged", "no-cascaded", "labeled-by", "onSelect", "onHover", "onOpen"]))), 128)) : (S(), D("div", {
              key: 1,
              class: x(e(k).be("empty")),
              style: Qe({ width: `${ce.value}px` })
            }, [
              W(Y.$slots, "empty", {}, () => [
                y(e(me), {
                  renderer: e(w).slots.empty
                }, {
                  default: X(() => [
                    dt(ze(e(w).emptyText ?? e(z).empty), 1)
                  ]),
                  _: 1
                }, 8, ["renderer"])
              ])
            ], 6))
          ], 2)
        ]),
        _: 3
      }, 8, ["class", "visible", "to", "transition", "alive"])
    ], 10, ky));
  }
}), to = [Number, String, Array], Cy = ft({
  tag: String,
  gap: [Number, Array],
  rows: to,
  columns: to,
  autoRows: to,
  autoColumns: to,
  dense: M,
  justify: String,
  align: String,
  cellFlex: {
    type: [Boolean, Object],
    default: null
  }
}), Ha = [Number, Object], Ty = ft({
  tag: String,
  top: [Number, String],
  left: [Number, String],
  width: Number,
  height: Number,
  right: [Number, String],
  bottom: [Number, String],
  xs: Ha,
  sm: Ha,
  md: Ha,
  lg: Ha,
  xl: Ha,
  xxl: Ha,
  useFlex: {
    type: [Boolean, Object],
    default: null
  }
}), mo = Object.freeze(["xs", "sm", "md", "lg", "xl", "xxl"]), Fo = $("xs");
if (zt) {
  let t = function() {
    for (const [n, o] of a)
      if (o.matches) {
        Fo.value = n;
        break;
      }
  };
  const r = getComputedStyle(document.documentElement), l = {};
  mo.forEach((n) => {
    const o = r.getPropertyValue(`--vxp-break-point-${n}`).trim(), s = matchMedia(`only screen and ${o}`);
    s.addEventListener("change", t), l[n] = s;
  });
  const a = Object.entries(l).reverse();
  t();
}
const Vs = "__VXP_GRID_STATE", $y = Xe({
  name: "Cell",
  props: Ty,
  setup(t, { slots: r }) {
    const l = ct("cell", t, {
      tag: "div",
      top: "auto",
      left: "auto",
      width: null,
      height: 1,
      right: "",
      bottom: "",
      xs: null,
      sm: null,
      md: null,
      lg: null,
      xl: null,
      xxl: null,
      useFlex: null
    }), a = Et(Vs, null), n = Ye("cell");
    nn(Vs, null);
    const o = pt({
      top: l.top,
      right: l.right,
      bottom: l.bottom,
      left: l.left,
      width: l.width,
      height: l.height
    }), s = Object.keys(o), c = g(() => dn(l.width) ? l.width : a != null && a.columns && typeof a.columns == "number" ? a.columns : 1);
    le(
      Fo,
      (u) => {
        const h = f(u);
        h ? typeof h == "number" ? (s.forEach((i) => {
          o[i] = l[i];
        }), o.width = h) : (s.forEach((i) => {
          o[i] = ei(h, i) ? h[i] : l[i];
        }), o.width = o.width ?? c.value) : (s.forEach((i) => {
          o[i] = l[i];
        }), o.width = c.value);
      },
      { immediate: !0 }
    );
    const d = g(() => {
      const u = l.useFlex !== !1 && (l.useFlex || (a == null ? void 0 : a.cellFlex)) && {
        ...(a == null ? void 0 : a.cellFlex) || {},
        ...l.useFlex ? l.useFlex === !0 ? { justify: "start", align: "top" } : l.useFlex : {}
      }, h = {
        [n.b()]: !0,
        [n.bm("inherit")]: a || l.inherit,
        [n.bm("flex")]: u
      };
      return u && (u.justify && (h[n.bm(u.justify)] = !0), u.align && (h[n.bm(u.align)] = !0)), h;
    }), p = g(() => {
      const u = {}, h = m(o.top), i = m(o.right), v = m(o.bottom), k = m(o.left);
      return h && v ? (u.gridRowStart = b(o.top), u.gridRowEnd = b(o.bottom)) : h ? (u.gridRowStart = b(o.top), u.gridRowEnd = `span ${o.height}`) : v ? (u.gridRowStart = `span ${o.height}`, u.gridRowEnd = b(o.bottom)) : u.gridRowEnd = `span ${o.height}`, k && i ? (u.gridColumnStart = b(o.left), u.gridColumnEnd = b(o.right)) : k ? (u.gridColumnStart = b(o.left), u.gridColumnEnd = `span ${o.width}`) : i ? (u.gridColumnStart = `span ${o.width}`, u.gridColumnEnd = b(o.right)) : u.gridColumnStart = `span ${o.width}`, u;
    });
    function m(u) {
      return u === 0 || u && u !== "auto";
    }
    function b(u) {
      return typeof u == "number" ? u + 1 : u;
    }
    function f(u) {
      const h = mo.findIndex((i) => i === u);
      if (~h) {
        for (let i = h; i >= 0; --i)
          if (dn(l[mo[i]]))
            return l[mo[i]];
      }
      return null;
    }
    return () => Jn(
      l.tag || "div",
      {
        class: d.value,
        style: p.value
      },
      {
        default: () => {
          var u;
          return (u = r.default) == null ? void 0 : u.call(r);
        }
      }
    );
  }
}), Ey = ["id", "aria-labelledby"], Ay = /* @__PURE__ */ Xe({
  name: "CheckboxGroup",
  __name: "checkbox-group",
  props: vy,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const {
      idFor: a,
      labelId: n,
      state: o,
      disabled: s,
      loading: c,
      size: d,
      validateField: p,
      getFieldValue: m,
      setFieldValue: b
    } = al(Z), u = ct("checkboxGroup", t, {
      size: On(d),
      state: ll(o),
      locale: null,
      value: {
        default: () => m(),
        static: !0
      },
      vertical: !1,
      disabled: () => s.value,
      border: !1,
      options: {
        default: () => [],
        static: !0
      },
      loading: () => c.value,
      control: null,
      loadingLock: !1,
      color: null,
      stateColor: !1
    }), h = l, i = Ye("checkbox-group"), v = vn("checkbox", qe(u, "locale")), k = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Set(), T = /* @__PURE__ */ new Set(), F = $(u.value || []), A = g(() => u.loading && u.loadingLock), z = g(() => [
      i.b(),
      i.ns("checkbox-vars"),
      {
        [i.bm("inherit")]: u.inherit,
        [i.bm("vertical")]: u.vertical,
        [i.bm("disabled")]: u.disabled,
        [i.bm("readonly")]: A.value,
        [i.bm("loading")]: u.loading,
        [i.bm(u.size)]: u.size !== "default",
        [i.bm("border")]: u.border,
        [i.bm(u.state)]: u.state !== "default"
      }
    ]), C = g(() => typeof u.control == "string" ? u.control : v.value.all), E = g(() => {
      if (!u.color) return null;
      const K = Qn(u.color);
      return {
        base: K.toString(),
        opacity6: ml(K, 0.4).toString()
      };
    }), P = Ln(() => {
      F.value = [], k.forEach((K, we) => {
        K && F.value.push(we);
      }), U(F.value);
    }), R = Ln(() => {
      const K = F.value.length, we = K === k.size, de = K > 0 && !we;
      T.forEach((te) => {
        te.checked = we, te.partial = de;
      });
    });
    nn(
      Pd,
      pt({
        currentValues: F,
        size: qe(u, "size"),
        state: qe(u, "state"),
        disabled: qe(u, "disabled"),
        loading: qe(u, "loading"),
        loadingLock: qe(u, "loadingLock"),
        colorMap: E,
        stateColor: qe(u, "stateColor"),
        increaseItem: L,
        decreaseItem: I,
        increaseControl: G,
        decreaseControl: ee,
        handleControlChange: H,
        setItemChecked: O,
        replaceValue: q
      })
    ), le(
      () => u.value,
      (K) => {
        const we = new Set(K), de = Array.from(k.keys());
        F.value = [], de.forEach((te) => {
          const Ee = we.has(te);
          k.set(te, we.has(te)), Ee && F.value.push(te);
        });
      }
    ), le(F, () => {
      R();
    });
    function L(K, we, de) {
      k.set(K, we), w.add(de);
    }
    function I(K, we) {
      k.delete(K), w.delete(we);
    }
    function G(K) {
      T.add(K), R();
    }
    function ee(K) {
      T.delete(K);
    }
    function O(K, we) {
      !dn(K) || !k.has(K) || (k.set(K, we), P(), R());
    }
    function H() {
      const K = Array.from(k.keys()), we = F.value.length !== K.length;
      K.forEach((de) => {
        k.set(de, we);
      }), P(), R();
    }
    function U(K) {
      h("update:value", K), b(K), _(u.onChange, K), p();
    }
    function q(K, we) {
      dn(K) && dn(we) && K !== we && k.has(K) && (k.set(we, k.get(K)), k.delete(K));
    }
    function Z(K) {
      var de;
      const we = (de = Array.from(w)[0]) == null ? void 0 : de.value;
      zt && we && document.activeElement !== we && we.focus(K);
    }
    return r({
      idFor: a,
      labelId: n,
      increaseControl: G,
      decreaseControl: ee,
      focus: Z,
      blur: () => {
        var K;
        for (const we of w)
          (K = we.value) == null || K.blur();
      }
    }), (K, we) => (S(), D("div", {
      id: e(a),
      class: x(z.value),
      role: "group",
      "aria-labelledby": e(n)
    }, [
      W(K.$slots, "default", {}, () => [
        e(u).control ? (S(), Be(e(xl), {
          key: 0,
          inherit: "",
          control: ""
        }, {
          default: X(() => [
            dt(ze(C.value), 1)
          ]),
          _: 1
        })) : ge("", !0),
        (S(!0), D(st, null, ln(e(u).options, (de, te) => (S(), D(st, { key: te }, [
          e(pl)(de) ? (S(), Be(e(xl), {
            key: 0,
            inherit: "",
            value: de.value,
            control: de.control,
            disabled: de.disabled
          }, {
            default: X(() => [
              dt(ze(de.label || de.value), 1)
            ]),
            _: 2
          }, 1032, ["value", "control", "disabled"])) : (S(), Be(e(xl), {
            key: 1,
            inherit: "",
            value: de
          }, {
            default: X(() => [
              dt(ze(de), 1)
            ]),
            _: 2
          }, 1032, ["value"]))
        ], 64))), 128))
      ])
    ], 10, Ey));
  }
}), zd = "__VXP_COLLAPSE_STATE";
let Ry = 0;
function My() {
  return Ry++;
}
const Py = /* @__PURE__ */ Xe({
  name: "Collapse",
  __name: "collapse",
  props: qm,
  emits: ["update:expanded"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("collapse", t, {
      expanded: {
        default: null,
        static: !0
      },
      card: !1,
      accordion: !1,
      arrowType: {
        default: "right",
        validator: (T) => ["right", "left", "none"].includes(T)
      },
      ghost: !1,
      alive: !1
    }), o = l, s = Ye("collapse"), c = pt(/* @__PURE__ */ new Set()), d = $([]), { target: p } = cl({
      passive: !1,
      onKeyDown: (T, F) => {
        if (F.left || F.right) {
          if (!p.value || ![...c].find(({ tab: C }) => C === T.target)) return;
          const A = Array.from(p.value.querySelectorAll(s.cbe("header")));
          if (A.length < 1) return;
          T.preventDefault(), T.stopPropagation();
          const z = document.activeElement ? A.findIndex((C) => C === document.activeElement) : -1;
          if (~z) {
            const C = A[(z + (F.left ? -1 : 1) + A.length) % A.length];
            C == null || C.focus();
          }
        } else F.escape && (T.preventDefault(), T.stopPropagation(), v());
      }
    }), m = g(() => [
      s.b(),
      s.bs("vars"),
      s.bm(`arrow-${n.arrowType}`),
      {
        [s.bm("inherit")]: n.inherit,
        [s.bm("card")]: n.card,
        [s.bm("ghost")]: !n.card && n.ghost
      }
    ]), b = Ln(() => {
      if (Array.from(c.values()).forEach((T, F) => {
        Tt(T.label) && (T.label = F + 1);
      }), c.size)
        for (const T of c)
          d.value.includes(T.label) ? T.expanded = !0 : T.expanded && i(T.label, !0);
    });
    nn(
      zd,
      pt({
        arrowType: qe(n, "arrowType"),
        alive: qe(n, "alive"),
        registerPanel: f,
        unregisterPanel: u,
        expandPanel: i,
        refreshLabels: b
      })
    ), In(() => {
      const T = n.expanded, F = n.accordion && Array.isArray(T) ? T[0] : T || T === 0 ? T : [];
      d.value = Array.isArray(F) ? Array.from(F) : [F];
    }), sn(() => {
      kt(w), le(d, (T, F) => {
        h(T, F) || w();
      });
    }), r({ currentExpanded: d, wrapper: p });
    function f(T) {
      c.add(T), b();
    }
    function u(T) {
      c.delete(T), i(T.label, !1), b();
    }
    function h(T, F) {
      const A = new Set(T);
      return A.size !== new Set(F).size ? !1 : F.every((z) => A.has(z));
    }
    function i(T, F) {
      !T && T !== 0 || (n.accordion ? d.value = F ? [T] : [] : F ? d.value.push(T) : Ho(d.value, T), k(), w());
    }
    function v() {
      d.value.length && (d.value = [], k(), w());
    }
    function k() {
      o("update:expanded", d.value), _(n.onChange, d.value);
    }
    function w() {
      c.forEach((T) => {
        T.setExpanded(d.value.includes(T.label));
      });
    }
    return (T, F) => (S(), D("div", {
      ref_key: "wrapper",
      ref: p,
      class: x(m.value),
      role: "tablist",
      tabindex: "-1"
    }, [
      W(T.$slots, "default")
    ], 2));
  }
}), zy = ["id", "aria-expanded", "aria-controls", "aria-describedby"], Ly = ["id", "aria-labelledby"], Fy = /* @__PURE__ */ Xe({
  name: "CollapsePanel",
  __name: "collapse-panel",
  props: Gm,
  emits: ["update:expanded"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("collapsePanel", t, {
      label: {
        default: null,
        static: !0
      },
      title: "",
      disabled: !1,
      contentStyle: null,
      expanded: !1,
      card: !1,
      arrowType: {
        default: "right",
        validator: (P) => ["right", "left", "none"].includes(P)
      },
      icon: en(),
      ghost: !1,
      alive: null,
      slots: () => ({})
    }), o = l, s = Et(zd, null), c = Ye("collapse"), d = Gt(), p = $(n.expanded), m = $(n.label), b = $(p.value), f = $(), u = My(), h = g(() => `${c.be("tab")}-${u}`), i = g(() => `${c.be("body")}-${u}`), v = g(() => s ? !1 : n.card), k = g(() => s ? !1 : n.ghost), w = g(() => s ? s.arrowType : n.arrowType), T = g(() => n.alive ?? (s == null ? void 0 : s.alive) ?? !1), F = g(() => [
      c.be("panel"),
      c.bs("vars"),
      c.bem("panel", `arrow-${w.value}`),
      {
        [c.bem("panel", "inherit")]: s || n.inherit,
        [c.bem("panel", "card")]: v.value,
        [c.bem("panel", "ghost")]: !v.value && k.value,
        [c.bem("panel", "expanded")]: p.value,
        [c.bem("panel", "disabled")]: n.disabled
      }
    ]);
    if (s) {
      const P = pt({
        tab: f,
        label: m,
        expanded: p,
        setExpanded: C
      });
      le(
        () => n.label,
        (R) => {
          const L = m.value;
          m.value = R || R === 0 ? R : L;
        }
      ), s.registerPanel(P), pn(() => {
        s.unregisterPanel(P);
      });
    } else
      le(
        () => n.expanded,
        (P) => {
          p.value = P;
        }
      );
    const A = g(() => {
      switch (T.value) {
        case !0:
        case "always":
          return !0;
        case "mounted":
          return b.value;
        default:
          return p.value;
      }
    }), z = g(() => !T.value || p.value);
    p.value || le(
      p,
      () => {
        b.value = !0;
      },
      { once: !0 }
    );
    function C(P) {
      p.value = P, o("update:expanded", P), _(n.onToggle, P);
    }
    function E(P = !p.value) {
      n.disabled || (s ? s.expandPanel(m.value, P) : C(P));
    }
    return r({
      currentExpanded: p,
      tab: f,
      tabId: h,
      bodyId: i,
      handleToggle: E
    }), (P, R) => (S(), D("section", {
      class: x(F.value)
    }, [
      oe("button", {
        id: h.value,
        ref_key: "tab",
        ref: f,
        class: x(e(c).be("header")),
        type: "button",
        role: "tab",
        "aria-expanded": p.value,
        "aria-controls": i.value,
        "aria-describedby": i.value,
        onClick: R[0] || (R[0] = (L) => E())
      }, [
        oe("div", {
          class: x(e(c).be("arrow"))
        }, [
          W(P.$slots, "arrow", { expanded: p.value }, () => [
            y(e(me), {
              renderer: e(n).slots.arrow,
              data: { expanded: p.value }
            }, {
              default: X(() => [
                y(e(Oe), It(Yt(e(d).angleRight)), null, 16)
              ]),
              _: 1
            }, 8, ["renderer", "data"])
          ])
        ], 2),
        W(P.$slots, "title", {}, () => [
          e(n).icon ? (S(), D("div", {
            key: 0,
            class: x(e(c).be("icon"))
          }, [
            y(e(Oe), {
              icon: e(n).icon
            }, null, 8, ["icon"])
          ], 2)) : ge("", !0),
          dt(" " + ze(e(n).title), 1)
        ])
      ], 10, zy),
      y(e(Ul), null, {
        default: X(() => [
          A.value ? el((S(), D("div", {
            key: 0,
            id: i.value,
            class: x(e(c).be("body")),
            role: "tabpanel",
            tabindex: "0",
            "aria-labelledby": h.value
          }, [
            oe("div", {
              class: x(e(c).be("content")),
              style: Qe(e(n).contentStyle)
            }, [
              W(P.$slots, "default")
            ], 6)
          ], 10, Ly)), [
            [tl, z.value]
          ]) : ge("", !0)
        ]),
        _: 3
      })
    ], 2));
  }
}), Iy = Xe({
  name: "ColorPalette",
  props: {
    hue: {
      type: Number,
      default: 0,
      validator: (t) => t >= 0 && t <= 360
    },
    value: {
      type: Number,
      default: 1,
      validator: (t) => t >= 0 && t <= 1
    },
    saturation: {
      type: Number,
      default: 0,
      validator: (t) => t >= 0 && t <= 1
    }
  },
  emits: ["edit-start", "edit-end", "change"],
  setup(t, { emit: r }) {
    const l = $((1 - t.value) * 100), a = $(t.saturation * 100);
    let n = l.value, o = a.value, s, c, d, p;
    const { target: m } = cl({
      passive: !1,
      onKeyDown: (h, i) => {
        if (i.up || i.down || i.left || i.right) {
          h.preventDefault();
          const v = h.ctrlKey ? 10 : h.altKey ? 0.5 : 2, k = i.up || i.left ? -1 : 1, w = v * k;
          i.up || i.down ? l.value += w : a.value += w, f(), n = l.value, o = a.value, u();
        }
      }
    }), { moving: b } = Pl({
      target: m,
      onStart: (h, i) => {
        if (!m.value || i.button > 0)
          return !1;
        const v = m.value.getBoundingClientRect(), { top: k, left: w, width: T, height: F } = v;
        s = T, c = F, l.value = (d = h.clientY - k) / F * 100, a.value = (p = h.clientX - w) / T * 100, f(), r("edit-start");
        let A = !1;
        Math.abs(l.value - n) >= 0.01 && (n = l.value, A = !0), Math.abs(a.value - o) >= 0.01 && (o = a.value, A = !0), A && u();
      },
      onMove: (h) => {
        l.value = (d + h.deltaY) / c * 100, a.value = (p + h.deltaX) / s * 100, f(), u();
      },
      onEnd: () => {
        r("edit-end");
      }
    });
    le(
      () => t.value,
      (h) => {
        l.value = (1 - h) * 100, f();
      },
      { immediate: !0 }
    ), le(
      () => t.saturation,
      (h) => {
        a.value = h * 100, f();
      },
      { immediate: !0 }
    );
    function f() {
      l.value = _n(cn(l.value, 0, 100), 3), a.value = _n(cn(a.value, 0, 100), 3);
    }
    function u() {
      r("change", {
        h: t.hue,
        s: a.value / 100,
        v: _n(1 - l.value / 100, 3)
      });
    }
    return {
      nh: Ye("color-picker"),
      currentTop: l,
      currentLeft: a,
      editing: b,
      wrapper: m
      // handleMouseDown
    };
  }
});
function Ny(t, r, l, a, n, o) {
  return S(), D("div", {
    ref: "wrapper",
    class: x(t.nh.be("palette")),
    tabindex: "-1",
    role: "group",
    style: Qe({
      backgroundColor: `hsl(${t.hue}, 100%, 50%)`
    })
  }, [
    oe("div", {
      class: x(t.nh.be("saturation")),
      role: "none"
    }, null, 2),
    oe("div", {
      class: x(t.nh.be("value")),
      role: "none"
    }, null, 2),
    oe("div", {
      class: x(t.nh.be("palette-handler")),
      style: Qe({
        top: `${t.currentTop}%`,
        left: `${t.currentLeft}%`
      })
    }, [
      oe("div", {
        class: x(t.nh.be("palette-pointer"))
      }, null, 2)
    ], 6)
  ], 6);
}
const Dy = /* @__PURE__ */ jr(Iy, [["render", Ny]]), Oy = Xe({
  name: "ColorHue",
  props: {
    hue: {
      type: Number,
      default: 0,
      validator: (t) => t >= 0 && t <= 360
    }
  },
  emits: ["edit-start", "edit-end", "change"],
  setup(t, { emit: r }) {
    const l = $(t.hue * 100);
    let a = l.value, n, o;
    const { target: s } = cl({
      passive: !1,
      onKeyDown: (m, b) => {
        if (b.left || b.right) {
          m.preventDefault();
          const u = (m.ctrlKey ? 10 : m.altKey ? 0.5 : 2) * (b.left ? -1 : 1);
          l.value += u, d(), a = l.value, p();
        }
      }
    }), { moving: c } = Pl({
      target: s,
      onStart: (m, b) => {
        if (!s.value || b.button > 0)
          return !1;
        const f = s.value.getBoundingClientRect(), { left: u, width: h } = f;
        n = h, l.value = (o = m.clientX - u) / h * 100, d(), r("edit-start"), Math.abs(l.value - a) >= 0.01 && (a = l.value, p());
      },
      onMove: (m) => {
        l.value = (o + m.deltaX) / n * 100, d(), p();
      },
      onEnd: () => {
        r("edit-end");
      }
    });
    le(
      () => t.hue,
      (m) => {
        l.value = m / 360 * 100, d();
      },
      { immediate: !0 }
    );
    function d() {
      l.value = _n(cn(l.value, 0, 100), 3);
    }
    function p() {
      r("change", l.value / 100 * 360);
    }
    return {
      nh: Ye("color-picker"),
      currentLeft: l,
      editing: c,
      wrapper: s
    };
  }
});
function _y(t, r, l, a, n, o) {
  return S(), D("div", {
    ref: "wrapper",
    class: x(t.nh.be("hue")),
    tabindex: "-1",
    role: "group"
  }, [
    oe("div", {
      class: x(t.nh.be("hue-handler")),
      style: Qe({ left: `${t.currentLeft}%` })
    }, null, 6)
  ], 2);
}
const By = /* @__PURE__ */ jr(Oy, [["render", _y]]), Hy = Xe({
  name: "ColorAlpha",
  props: {
    rgb: {
      type: Object,
      default: () => ({ r: 0, g: 0, b: 0 }),
      validator: (t) => "r" in t && "g" in t && "b" in t
    },
    alpha: {
      type: Number,
      default: 1,
      validator: (t) => t >= 0 && t <= 1
    }
  },
  emits: ["edit-start", "edit-end", "change"],
  setup(t, { emit: r }) {
    const l = $(t.alpha * 100);
    let a = l.value, n, o;
    const { target: s } = cl({
      passive: !1,
      onKeyDown: (b, f) => {
        if (f.left || f.right) {
          b.preventDefault();
          const h = (b.ctrlKey ? 10 : b.altKey ? 0.5 : 2) * (f.left ? -1 : 1);
          l.value += h, p(), a = l.value, m();
        }
      }
    }), { moving: c } = Pl({
      target: s,
      onStart: (b, f) => {
        if (!s.value || f.button > 0)
          return !1;
        const u = s.value.getBoundingClientRect(), { left: h, width: i } = u;
        n = i, l.value = (o = b.clientX - h) / i * 100, p(), r("edit-start"), Math.abs(l.value - a) >= 0.01 && (a = l.value, m());
      },
      onMove: (b) => {
        l.value = (o + b.deltaX) / n * 100, p(), m();
      },
      onEnd: () => {
        r("edit-end");
      }
    }), d = g(() => {
      const { r: b, g: f, b: u } = t.rgb;
      return `${b}, ${f}, ${u}`;
    });
    p(), le(
      () => t.alpha,
      (b) => {
        l.value = b * 100, p();
      },
      { immediate: !0 }
    );
    function p() {
      l.value = _n(cn(l.value, 0, 100), 3);
    }
    function m() {
      r("change", l.value / 100);
    }
    return {
      nh: Ye("color-picker"),
      currentLeft: l,
      editing: c,
      rgbString: d,
      wrapper: s
    };
  }
});
function Vy(t, r, l, a, n, o) {
  return S(), D("div", {
    ref: "wrapper",
    class: x(t.nh.be("alpha")),
    tabindex: "-1",
    role: "group"
  }, [
    oe("div", {
      class: x(t.nh.be("opacity")),
      style: Qe({
        backgroundImage: `linear-gradient(to right, rgba(${t.rgbString}, 0) 0%, rgb(${t.rgbString}) 100%)`
      })
    }, null, 6),
    oe("div", {
      class: x(t.nh.be("alpha-handler")),
      style: Qe({ left: `${t.currentLeft}%` })
    }, null, 6)
  ], 2);
}
const jy = /* @__PURE__ */ jr(Hy, [["render", Vy]]), Wy = ft({
  size: An,
  state: Zn,
  locale: Mn(),
  value: [String, Object],
  visible: M,
  format: String,
  alpha: M,
  disabled: M,
  transitionName: String,
  noInput: M,
  shortcut: {
    type: [Boolean, Array],
    default: null
  },
  placement: String,
  transfer: hn,
  outsideClose: M,
  clearable: M,
  cancelText: String,
  confirmText: String,
  prefix: Xt,
  prefixColor: String,
  suffix: Xt,
  suffixColor: String,
  noSuffix: M,
  staticSuffix: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  popperAlive: M,
  showLabel: M,
  labelFormat: String,
  slots: Object,
  onToggle: B(),
  onClickOutside: B(),
  onOutsideClose: B(),
  onClear: B(),
  onChange: B(),
  onShortcut: B()
}), Ky = Object.freeze([
  "#2d8cf0",
  "#19be6b",
  "#ff9900",
  "#ed4014",
  "#00b5ff",
  "#19c919",
  "#f9e31c",
  "#ea1a1a",
  "#9b1dea",
  "#00c2b1",
  "#ac7a33",
  "#1d35ea",
  "#8bc34a",
  "#f16b62",
  "#ea4ca3",
  "#0d94aa",
  "#febd79",
  "#5d4037",
  "#00bcd4",
  "#f06292",
  "#cddc39",
  "#607d8b",
  "#000000",
  "#ffffff"
]), Uy = () => oo(0, 0, 0), Xy = ["id", "aria-disabled", "aria-expanded", "aria-labelledby", "onKeydown"], Yy = ["aria-label"], qy = ["onClick"], Gy = /* @__PURE__ */ Xe({
  name: "ColorPicker",
  __name: "color-picker",
  props: Wy,
  emits: ["update:value", "update:visible"],
  setup(t, { expose: r, emit: l }) {
    const {
      idFor: a,
      labelId: n,
      state: o,
      disabled: s,
      loading: c,
      size: d,
      validateField: p,
      clearField: m,
      getFieldValue: b,
      setFieldValue: f
    } = al(() => {
      var ve;
      return (ve = de.value) == null ? void 0 : ve.focus();
    }), u = Ye("color-picker"), i = ct("colorPicker", t, {
      size: On(d),
      state: ll(o),
      locale: null,
      value: {
        default: () => b(),
        static: !0
      },
      visible: !1,
      format: {
        default: "rgb",
        validator: (ve) => ["rgb", "hsl", "hsv", "hex"].includes(ve)
      },
      alpha: !1,
      disabled: () => s.value,
      transitionName: () => u.ns("drop"),
      noInput: !1,
      shortcut: !1,
      placement: {
        default: "bottom",
        validator: (ve) => Wl.includes(ve)
      },
      transfer: !1,
      outsideClose: !0,
      clearable: !1,
      cancelText: null,
      confirmText: null,
      prefix: en(),
      prefixColor: "",
      suffix: en(),
      suffixColor: "",
      noSuffix: !1,
      staticSuffix: !1,
      loading: () => c.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      popperAlive: null,
      showLabel: !1,
      labelFormat: null,
      slots: () => ({})
    }), v = l, k = kn(), w = Gt(), T = vn("colorPicker", qe(i, "locale")), F = $(!0), A = $(i.visible), z = $(null), C = $(1), E = $(!1), P = qe(i, "placement"), R = qe(i, "transfer"), L = $(0), I = $(!1);
    be(i.value);
    const G = $(null), ee = $(null), O = $(null), H = $(null), U = $(null), q = $(null), Z = $(null), K = Hl(Pe), we = $(), { reference: de, transferTo: te, updatePopper: Ee } = Kl({
      placement: P,
      transfer: R,
      wrapper: K,
      popper: g(() => {
        var ve;
        return (ve = we.value) == null ? void 0 : ve.wrapper;
      }),
      isDrop: !0
    }), { isHover: Se } = Ql(de), Ce = g(() => [
      G.value,
      ee.value,
      O.value,
      H.value,
      U.value,
      q.value,
      Z.value
    ].filter(Boolean)), fe = $({
      ...z.value,
      a: C.value,
      format: "hsva"
    }), ot = g(() => ({
      [u.b()]: !0,
      [u.ns("input-vars")]: !0,
      [u.bs("vars")]: !0,
      [u.bm("inherit")]: i.inherit,
      [u.bm("empty")]: F.value && !A.value,
      [u.bm("focused")]: A.value,
      [u.bm("disabled")]: i.disabled,
      [u.bm("alpha")]: i.alpha,
      [u.bm(i.size)]: i.size !== "default",
      [u.bm(i.state)]: i.state !== "default"
    })), Ze = g(() => i.loading && i.loadingLock), Je = g(() => {
      const ve = u.be("selector");
      return {
        [ve]: !0,
        [`${ve}--disabled`]: i.disabled,
        [`${ve}--readonly`]: Ze.value,
        [`${ve}--loading`]: i.loading,
        [`${ve}--${i.size}`]: i.size !== "default",
        [`${ve}--focused`]: A.value,
        [`${ve}--${i.state}`]: i.state !== "default"
      };
    }), se = g(() => {
      const { h: ve, s: Ve, v: Ie } = z.value && A.value ? z.value : fe.value ?? { h: 0, s: 0, v: 0 };
      return Ec(ve, Ve, Ie);
    }), ne = g(() => {
      const { r: ve, g: Ve, b: Ie } = se.value;
      return i.alpha ? $s(ve, Ve, Ie, C.value) : Ts(ve, Ve, Ie);
    }), ue = g(() => i.shortcut ? Array.isArray(i.shortcut) ? i.shortcut : Ky : []), J = g(() => !!(k.prefix || i.prefix || i.slots.prefix)), N = g(() => !i.disabled && !Ze.value && i.clearable && Se.value && !F.value), j = g(() => ce(i.format)), ae = g(() => {
      var ve;
      return (ve = i.labelFormat ? ce(i.labelFormat) : j.value) == null ? void 0 : ve.toString();
    });
    le(
      () => i.visible,
      (ve) => {
        A.value = ve;
      }
    ), le(A, (ve) => {
      ve && Ee();
    }), le(
      () => i.value,
      (ve) => {
        be(ve), fe.value = { ...z.value, a: C.value, format: "hsva" };
      }
    ), le(
      () => i.disabled,
      (ve) => {
        ve && re(!1);
      }
    ), r({
      idFor: a,
      isEmpty: F,
      currentVisible: A,
      currentValue: z,
      currentAlpha: C,
      rgb: se,
      hex: ne,
      labelColor: ae,
      wrapper: K,
      reference: de,
      popper: we,
      toggleVisible: at,
      focus: Ke,
      blur: Ct
    });
    function be(ve) {
      if (ve) {
        const { r: Ve, g: Ie, b: Me, a: Ge } = Qn(ve);
        F.value = !1, z.value = oo(Ve, Ie, Me), C.value = Ge;
      } else
        F.value = !0, z.value = Uy(), C.value = 1;
    }
    function re(ve) {
      A.value !== ve && (A.value = ve, v("update:visible", ve), _(i.onToggle, ve));
    }
    function ce(ve) {
      let Ve;
      if (ve === "hex") {
        const { r: Ie, g: Me, b: Ge } = se.value;
        i.alpha ? Ve = $s(Ie, Me, Ge, C.value) : Ve = Ts(Ie, Me, Ge);
      } else {
        switch (ve) {
          case "rgb": {
            Ve = { ...se.value }, Ve.r = Math.round(Ve.r), Ve.g = Math.round(Ve.g), Ve.b = Math.round(Ve.b);
            break;
          }
          case "hsl": {
            const { h: Ie, s: Me, v: Ge } = z.value;
            Ve = Xf(Ie, Me, Ge), Ve.h = Math.round(Ve.h), Ve.s = _n(Ve.s, 3), Ve.l = _n(Ve.l, 3);
            break;
          }
          default:
            Ve = { ...z.value }, Ve.h = Math.round(Ve.h), Ve.s = _n(Ve.s, 3), Ve.v = _n(Ve.v, 3);
        }
        Ve.a = _n(C.value, 3);
      }
      return Ve;
    }
    function Pe() {
      E.value || (_(i.onClickOutside), i.outsideClose && A.value && (re(!1), _(i.onOutsideClose)));
    }
    function at() {
      i.disabled || Ze.value || re(!A.value);
    }
    function yt() {
      i.disabled || Ze.value || i.clearable && (re(!1), v("update:value", ""), _(i.onChange, ""), kt(() => {
        be(null), m(), _(i.onClear);
      }));
    }
    function Nt() {
      i.disabled || Ze.value || (fe.value = { ...z.value, a: C.value, format: "hsva" }, F.value = !1, re(!1), Mt());
    }
    function Mt() {
      const ve = j.value;
      v("update:value", ve), f(ve), _(i.onChange, ve), p();
    }
    function Ht({ s: ve, v: Ve }) {
      z.value.s = ve, z.value.v = Ve;
    }
    function _t(ve) {
      z.value.h = ve;
    }
    function tn(ve) {
      C.value = ve;
    }
    function Wt(ve) {
      const { r: Ve, g: Ie, b: Me, a: Ge } = Qn(ve);
      z.value = oo(Ve, Ie, Me), C.value = Ge;
    }
    function un(ve) {
      const { r: Ve, g: Ie, b: Me, a: Ge } = Qn(ve);
      z.value = oo(Ve, Ie, Me), C.value = Ge, _(i.onShortcut, j.value);
    }
    function qt(ve) {
      ve ? E.value = !0 : setTimeout(() => {
        E.value = !1;
      }, 0);
    }
    function pe(ve) {
      var Ve;
      if (zt && A.value) {
        const Ie = document && document.activeElement;
        if (!Ie) return;
        ve.preventDefault();
        const Me = ve.shiftKey, Ge = Array.from(Ce.value), mt = Ge.findIndex((Ot) => {
          const Vt = Rl(Ot) ? Ot : Ot.$el;
          return Vt === Ie || Vt.contains(Ie);
        });
        let bt;
        ~mt ? (Me ? !mt : mt === Ge.length - 1) ? bt = de.value : bt = Ge[mt + (Me ? -1 : 1)] : bt = Me ? gn(Ge) : Ge[0], bt && (typeof bt.focus == "function" ? bt.focus() : (Ve = bt.$el) == null || Ve.focus());
      }
    }
    function Re() {
      L.value = 0, I.value = !0;
    }
    function he(ve) {
      const Ve = ve.code || ve.key, Ie = ue.value.length;
      switch (Ve) {
        case "ArrowUp":
        case "ArrowLeft": {
          L.value--;
          break;
        }
        case "ArrowDown":
        case "ArrowRight": {
          L.value++;
          break;
        }
        case "Enter":
        case "Space":
        case " ": {
          const Me = ue.value[L.value];
          Me && un(Me);
          break;
        }
      }
      L.value = (L.value + Ie) % Ie;
    }
    function Fe(ve) {
      var Ve;
      i.disabled ? re(!1) : (ve.preventDefault(), A.value ? (Nt(), (Ve = de.value) == null || Ve.focus()) : re(!0));
    }
    function lt() {
      var ve;
      re(!1), (ve = de.value) == null || ve.focus();
    }
    function Ke(ve) {
      var Ve;
      (Ve = de.value) == null || Ve.focus(ve);
    }
    function Ct() {
      var ve;
      (ve = de.value) == null || ve.blur();
    }
    return (ve, Ve) => (S(), D("div", {
      id: e(a),
      ref_key: "wrapper",
      ref: K,
      class: x(ot.value),
      role: "group",
      "aria-disabled": e(fl)(e(i).disabled),
      "aria-expanded": e(fl)(A.value),
      "aria-haspopup": "listbox",
      "aria-labelledby": e(n),
      onClick: at,
      onKeydown: [
        Kn(gt(pe, ["stop"]), ["tab"]),
        Kn(Fe, ["space"]),
        Kn(lt, ["escape"])
      ]
    }, [
      oe("div", {
        ref_key: "reference",
        ref: de,
        class: x(Je.value),
        tabindex: "0"
      }, [
        W(ve.$slots, "control", {
          color: se.value,
          alpha: C.value,
          empty: F.value
        }, () => [
          y(e(me), {
            renderer: e(i).slots.control,
            data: { color: se.value, alpha: C.value, empty: F.value }
          }, {
            default: X(() => [
              J.value ? (S(), D("div", {
                key: 0,
                class: x([e(u).be("icon"), e(u).be("prefix")]),
                style: Qe({ color: e(i).prefixColor })
              }, [
                W(ve.$slots, "prefix", {}, () => [
                  y(e(me), {
                    renderer: e(i).slots.prefix
                  }, {
                    default: X(() => [
                      y(e(Oe), {
                        icon: e(i).prefix
                      }, null, 8, ["icon"])
                    ]),
                    _: 1
                  }, 8, ["renderer"])
                ])
              ], 6)) : ge("", !0),
              oe("div", {
                class: x(e(u).be("control"))
              }, [
                oe("div", {
                  class: x([e(u).be("marker"), ve.showLabel && e(u).bem("marker", "with-label")])
                }, [
                  !A.value && F.value ? (S(), Be(e(Oe), It(He({ key: 0 }, e(w).close)), null, 16)) : (S(), D("div", {
                    key: 1,
                    style: Qe({
                      width: "100%",
                      height: "100%",
                      backgroundColor: `rgba(${se.value.r}, ${se.value.g}, ${se.value.b}, ${A.value ? C.value : fe.value.a})`
                    })
                  }, null, 4))
                ], 2),
                ve.showLabel ? (S(), D("div", {
                  key: 0,
                  class: x(e(u).be("label"))
                }, [
                  W(ve.$slots, "label", {
                    color: se.value,
                    alpha: C.value,
                    empty: F.value,
                    label: ae.value
                  }, () => [
                    y(e(me), {
                      renderer: e(i).slots.label,
                      data: { color: se.value, alpha: C.value, empty: F.value, label: ae.value }
                    }, {
                      default: X(() => [
                        dt(ze(ae.value), 1)
                      ]),
                      _: 1
                    }, 8, ["renderer", "data"])
                  ])
                ], 2)) : ge("", !0)
              ], 2),
              e(i).noSuffix ? e(i).clearable || e(i).loading ? (S(), D("div", {
                key: 2,
                class: x([e(u).be("icon"), e(u).bem("icon", "placeholder"), e(u).be("suffix")])
              }, null, 2)) : ge("", !0) : (S(), D("div", {
                key: 1,
                class: x([e(u).be("icon"), e(u).be("suffix")]),
                style: Qe({
                  color: e(i).suffixColor,
                  opacity: N.value || e(i).loading ? "0%" : ""
                })
              }, [
                W(ve.$slots, "suffix", {}, () => [
                  y(e(me), {
                    renderer: e(i).slots.suffix
                  }, {
                    default: X(() => [
                      e(i).suffix ? (S(), Be(e(Oe), {
                        key: 0,
                        icon: e(i).suffix,
                        class: x({
                          [e(u).be("arrow")]: !e(i).staticSuffix
                        })
                      }, null, 8, ["icon", "class"])) : (S(), Be(e(Oe), He({ key: 1 }, e(w).angleDown, {
                        class: e(u).be("arrow")
                      }), null, 16, ["class"]))
                    ]),
                    _: 1
                  }, 8, ["renderer"])
                ])
              ], 6)),
              y(En, {
                name: e(u).ns("fade"),
                appear: ""
              }, {
                default: X(() => [
                  N.value ? (S(), D("button", {
                    key: 0,
                    class: x([e(u).be("icon"), e(u).be("clear")]),
                    type: "button",
                    tabindex: "-1",
                    "aria-label": e(T).ariaLabel.clear,
                    onClick: gt(yt, ["stop"])
                  }, [
                    y(e(Oe), It(Yt(e(w).clear)), null, 16)
                  ], 10, Yy)) : e(i).loading ? (S(), D("div", {
                    key: 1,
                    class: x([e(u).be("icon"), e(u).be("loading")])
                  }, [
                    y(e(Oe), He(e(w).loading, {
                      effect: e(i).loadingEffect || e(w).loading.effect,
                      icon: e(i).loadingIcon || e(w).loading.icon
                    }), null, 16, ["effect", "icon"])
                  ], 2)) : ge("", !0)
                ]),
                _: 1
              }, 8, ["name"])
            ]),
            _: 3
          }, 8, ["renderer", "data"])
        ])
      ], 2),
      y(e(Xl), {
        ref_key: "popper",
        ref: we,
        class: x([e(u).be("popper"), e(u).bs("vars")]),
        visible: A.value,
        to: e(te),
        transition: e(i).transitionName,
        alive: e(i).popperAlive ?? !e(te),
        onClick: Ve[7] || (Ve[7] = gt(() => {
        }, ["stop"])),
        onKeydown: [
          Kn(gt(pe, ["stop"]), ["tab"]),
          Kn(Fe, ["space"]),
          Kn(lt, ["escape"])
        ]
      }, {
        default: X(() => [
          oe("div", {
            class: x(e(u).be("panel"))
          }, [
            oe("div", {
              class: x(e(u).be("section"))
            }, [
              y(Dy, {
                ref_key: "palette",
                ref: G,
                hue: z.value.h,
                saturation: z.value.s,
                value: z.value.v,
                onEditStart: Ve[0] || (Ve[0] = (Ie) => qt(!0)),
                onEditEnd: Ve[1] || (Ve[1] = (Ie) => qt(!1)),
                onChange: Ht
              }, null, 8, ["hue", "saturation", "value"]),
              y(By, {
                ref_key: "hue",
                ref: ee,
                hue: z.value.h,
                onEditStart: Ve[2] || (Ve[2] = (Ie) => qt(!0)),
                onEditEnd: Ve[3] || (Ve[3] = (Ie) => qt(!1)),
                onChange: _t
              }, null, 8, ["hue"]),
              e(i).alpha ? (S(), Be(jy, {
                key: 0,
                ref_key: "alphaEl",
                ref: O,
                rgb: se.value,
                alpha: C.value,
                onEditStart: Ve[4] || (Ve[4] = (Ie) => qt(!0)),
                onEditEnd: Ve[5] || (Ve[5] = (Ie) => qt(!1)),
                onChange: tn
              }, null, 8, ["rgb", "alpha"])) : ge("", !0),
              e(i).shortcut ? (S(), D("div", {
                key: 1,
                ref_key: "shortcutEl",
                ref: H,
                class: x(e(u).be("shortcuts")),
                tabindex: "-1",
                onFocus: Re,
                onBlur: Ve[6] || (Ve[6] = (Ie) => I.value = !1),
                onKeydown: he
              }, [
                (S(!0), D(st, null, ln(ue.value, (Ie, Me) => (S(), D("div", {
                  key: Me,
                  class: x({
                    [e(u).be("shortcut-item")]: !0,
                    [e(u).bem("shortcut-item", "hitting")]: I.value && L.value === Me
                  }),
                  style: Qe({ backgroundColor: Ie }),
                  onClick: (Ge) => un(Ie)
                }, null, 14, qy))), 128))
              ], 34)) : ge("", !0)
            ], 2),
            oe("div", {
              class: x(e(u).be("action"))
            }, [
              e(i).noInput ? ge("", !0) : (S(), Be(e(Vr), {
                key: 0,
                ref_key: "input",
                ref: U,
                inherit: "",
                class: x(e(u).be("input")),
                size: "small",
                value: ne.value.toUpperCase(),
                respond: !1,
                onChange: Wt
              }, null, 8, ["class", "value"])),
              e(i).clearable ? (S(), Be(e(Hn), {
                key: 1,
                ref_key: "cancel",
                ref: q,
                inherit: "",
                text: "",
                size: "small",
                onClick: yt
              }, {
                default: X(() => [
                  dt(ze(e(i).cancelText || e(T).cancel), 1)
                ]),
                _: 1
              }, 512)) : ge("", !0),
              y(e(Hn), {
                ref_key: "confirm",
                ref: Z,
                inherit: "",
                type: "primary",
                size: "small",
                onClick: Nt
              }, {
                default: X(() => [
                  dt(ze(e(i).confirmText || e(T).confirm), 1)
                ]),
                _: 1
              }, 512)
            ], 2)
          ], 2)
        ]),
        _: 1
      }, 8, ["class", "visible", "to", "transition", "alive", "onKeydown"])
    ], 42, Xy));
  }
}), Zy = Jl({
  props: {
    type: Object,
    default: () => ({})
  },
  locale: {
    type: Object,
    default: () => ({})
  },
  icons: {
    type: Object,
    default: () => ({})
  },
  zIndex: {
    type: Number,
    default: null
  },
  theme: {
    type: String,
    default: null
  },
  hoverDelay: {
    type: Number,
    default: null
  }
}), Jy = /* @__PURE__ */ Xe({
  name: "ConfigProvider",
  props: Zy,
  setup(t, {
    slots: r
  }) {
    const {
      props: l,
      locale: a,
      icons: n,
      zIndex: o,
      theme: s,
      hoverDelay: c
    } = dc(t), d = Ye("config-provider");
    return si(l), ri(a), oi(n), ii(o), Vc(c), () => s.value ? y("section", {
      class: [d.b(), d.ns(`theme-vars-${s.value}`)]
    }, [W(r, "default")]) : W(r, "default");
  }
}), Qy = ft({
  active: M,
  closable: M,
  inner: M,
  maskTransition: String,
  transitionName: String,
  disabled: M,
  onBeforeClose: Function,
  transfer: hn,
  autoRemove: M,
  permeable: M,
  disableEsc: M,
  onToggle: B(),
  onClose: B(),
  onHide: B(),
  onShow: B(),
  onResize: B(),
  onMaskClick: B()
}), fr = /* @__PURE__ */ Xe({
  name: "Masker",
  __name: "masker",
  props: Qy,
  emits: ["update:active"],
  setup(t, { expose: r, emit: l }) {
    const a = Ye("masker"), o = ct("masker", t, {
      active: {
        default: !1,
        static: !0
      },
      closable: !1,
      inner: !1,
      maskTransition: () => a.ns("fade"),
      transitionName: () => a.ns("fade"),
      disabled: !1,
      onBeforeClose: {
        default: null,
        isFunc: !0
      },
      transfer: !1,
      autoRemove: !1,
      permeable: !1,
      disableEsc: !1
    }), s = l, c = kn(), d = Or(), p = $(o.active), m = $(o.active ? d() : 0), b = $(o.active), f = $(), u = $(), h = $();
    let i = !1, v = !1, k = !1, w = null;
    const T = g(() => o.inner ? "" : typeof o.transfer == "boolean" ? o.transfer ? "body" : "" : o.transfer), F = g(() => [
      a.b(),
      a.bs("vars"),
      {
        [a.bm("inherit")]: T.value !== "body" && o.inherit,
        [a.bm("inner")]: o.inner,
        [a.bm("disabled")]: o.disabled
      }
    ]);
    le(
      () => o.active,
      (q) => {
        p.value = q, q && (b.value = q);
      }
    ), le(p, (q) => {
      q ? (w = document.activeElement, m.value = d()) : (k = !1, w && (w.focus(), w = null)), (!o.maskTransition || o.disabled) && !o.transitionName && (q ? E() : P());
    }), le(
      [() => o.permeable, f],
      () => {
        f.value && (f.value.removeEventListener("wheel", A), o.permeable || f.value.addEventListener("wheel", A));
      },
      { immediate: !0, flush: "post" }
    ), r({
      currentActive: p,
      zIndex: m,
      wrapperShow: b,
      wrapper: f,
      topTrap: u,
      bottomTrap: h
    });
    function A(q) {
      q.preventDefault(), q.stopPropagation();
    }
    function z(q) {
      p.value !== q && (p.value = q, s("update:active", q), _(o.onToggle, q));
    }
    async function C() {
      if (!o.closable) return;
      let q = !0;
      typeof o.onBeforeClose == "function" && (q = o.onBeforeClose(), Sl(q) && (q = await q)), q !== !1 && kt(() => {
        z(!1), _(o.onClose);
      });
    }
    function E() {
      var Z;
      if (!p.value) return;
      const q = document && document.activeElement;
      (!q || !f.value || !f.value.contains(q)) && ((Z = u.value) == null || Z.focus()), kt(() => {
        k = !0, _(o.onShow);
      });
    }
    function P() {
      p.value || kt(() => {
        b.value = !1, _(o.onHide);
      });
    }
    function R() {
      p.value && (i = !0, (!o.transitionName || !c.default || v) && E());
    }
    function L() {
      p.value || (i = !1, (!o.transitionName || !c.default || !v) && P());
    }
    function I() {
      p.value && (v = !0, (!o.maskTransition || o.disabled || i) && E());
    }
    function G() {
      p.value || (v = !1, (!o.maskTransition || o.disabled || !i) && P());
    }
    function ee(q) {
      _(o.onMaskClick, q), C();
    }
    function O(q) {
      const Z = q.target;
      if (!k || !f.value || !Z || !u.value || !h.value)
        return;
      const K = Pp(f.value);
      K.length && (u.value === Z ? gn(K).focus() : h.value === Z && K[0].focus());
    }
    function H(q) {
      _(o.onResize, q);
    }
    function U(q) {
      o.disableEsc || (q.preventDefault(), C());
    }
    return (q, Z) => !e(o).autoRemove || b.value ? (S(), Be(e(Zo), {
      key: 0,
      to: T.value
    }, {
      default: X(() => [
        oe("div", He(q.$attrs, {
          ref_key: "wrapper",
          ref: f,
          class: [F.value, q.$attrs.class],
          tabindex: "-1",
          style: {
            zIndex: m.value,
            ...q.$attrs.style || {},
            pointerEvents: b.value ? void 0 : "none",
            visibility: b.value ? void 0 : "hidden"
          },
          onFocusin: O,
          onKeydown: Kn(U, ["escape"])
        }), [
          y(e(zn), { onResize: H }, {
            default: X(() => [
              e(o).disabled ? (S(), D("div", {
                key: 1,
                class: x(e(a).be("placeholder")),
                role: "none",
                "aria-hidden": ""
              }, null, 2)) : (S(), Be(En, {
                key: 0,
                appear: "",
                name: e(o).maskTransition,
                onAfterEnter: R,
                onAfterLeave: L
              }, {
                default: X(() => [
                  el(oe("div", {
                    class: x(e(a).be("mask")),
                    onClick: ee
                  }, [
                    W(q.$slots, "mask", {}, () => [
                      oe("div", {
                        class: x(e(a).be("mask-inner"))
                      }, null, 2)
                    ])
                  ], 2), [
                    [tl, p.value]
                  ])
                ]),
                _: 3
              }, 8, ["name"]))
            ]),
            _: 3
          }),
          oe("div", {
            ref_key: "topTrap",
            ref: u,
            tabindex: "0",
            role: "none",
            style: { width: "0", height: "0", overflow: "hidden", outline: "none" }
          }, null, 512),
          oe("div", {
            class: x(e(a).be("content")),
            onWheel: Z[0] || (Z[0] = gt(() => {
            }, ["stop", "prevent"]))
          }, [
            e(o).transitionName ? (S(), Be(En, {
              key: 0,
              appear: "",
              name: e(o).transitionName,
              onAfterEnter: I,
              onAfterLeave: G
            }, {
              default: X(() => [
                W(q.$slots, "default", { show: p.value })
              ]),
              _: 3
            }, 8, ["name"])) : W(q.$slots, "default", {
              key: 1,
              show: p.value
            })
          ], 34),
          oe("div", {
            ref_key: "bottomTrap",
            ref: h,
            tabindex: "0",
            role: "none",
            style: { width: "0", height: "0", overflow: "hidden", outline: "none" }
          }, null, 512)
        ], 16)
      ]),
      _: 3
    }, 8, ["to"])) : ge("", !0);
  }
}), na = [Number, String], e0 = (t) => t === "auto" || !Number.isNaN(parseFloat(t)), Va = {
  default: "auto",
  validator: e0
}, t0 = ft({
  locale: Mn(),
  transfer: hn,
  active: M,
  width: na,
  height: na,
  top: na,
  left: na,
  right: na,
  bottom: na,
  title: String,
  closable: M,
  inner: M,
  maskClose: M,
  modalClass: Bn,
  modalStyle: kl,
  noFooter: M,
  hideMask: M,
  draggable: M,
  resizable: M,
  onBeforeClose: Function,
  loading: M,
  minWidth: Number,
  minHeight: Number,
  transitionName: String,
  confirmText: String,
  cancelText: String,
  actionSize: An,
  autoRemove: M,
  confirmType: String,
  confirmProps: Object,
  cancelType: String,
  cancelProps: Object,
  undivided: M,
  xOffset: na,
  yOffset: na,
  disableEsc: M,
  slots: Object,
  onToggle: B(),
  onConfirm: B(),
  onCancel: B(),
  onClose: B(),
  onShow: B(),
  onHide: B(),
  onDragStart: B(),
  onDragMove: B(),
  onDragEnd: B(),
  onResizeStart: B(),
  onResizeMove: B(),
  onResizeEnd: B()
}), n0 = ["aria-modal", "aria-labelledby", "aria-describedby"], l0 = ["id"], a0 = ["id"], Ci = /* @__PURE__ */ Xe({
  name: "Modal",
  __name: "modal",
  props: t0,
  emits: ["update:active"],
  setup(t, { expose: r, emit: l }) {
    const a = Ye("modal"), o = ct("modal", t, {
      locale: null,
      transfer: !1,
      active: {
        default: !1,
        static: !0
      },
      width: Va,
      height: Va,
      top: Va,
      left: Va,
      right: Va,
      bottom: Va,
      title: "",
      closable: !0,
      inner: !1,
      maskClose: !0,
      modalClass: null,
      modalStyle: null,
      noFooter: !1,
      hideMask: !1,
      draggable: !1,
      resizable: !1,
      onBeforeClose: {
        default: null,
        isFunc: !0
      },
      loading: !1,
      minWidth: 150,
      minHeight: 120,
      transitionName: () => a.ns("ease"),
      confirmText: null,
      cancelText: null,
      autoRemove: !1,
      confirmType: "primary",
      confirmProps: null,
      cancelType: "default",
      cancelProps: null,
      actionSize: On("small"),
      undivided: !1,
      xOffset: 0,
      yOffset: 0,
      disableEsc: !1,
      slots: () => ({})
    }), s = l, c = kn(), d = vn("modal", qe(o, "locale")), p = Gt();
    function m(ne) {
      return !Tt(ne) && ne !== "auto";
    }
    function b(ne) {
      return tr(ne, !0) ? `${rn(ne)}px` : Tt(ne) ? "auto" : String(ne);
    }
    const f = $(o.active), u = pt({
      top: b(o.top),
      right: b(o.right),
      bottom: b(o.bottom),
      left: b(o.left),
      width: b(o.width),
      height: b(o.height)
    }), h = pt({ width: 0, height: 0 }), i = pt({ width: 0, height: 0 }), v = $(!1), k = $(), w = $(), T = $(), F = g(() => o.top === "auto" && m(o.bottom) && m(o.height)), A = g(() => o.left === "auto" && m(o.right) && m(o.width)), { target: z, moving: C } = Pl({
      capture: !1,
      onStart: (ne, ue) => {
        if (!w.value || !o.draggable || ue.button > 0)
          return !1;
        Ee(!1), v.value = !0, ne.xStart = parseFloat(u.left), ne.yStart = parseFloat(u.top), _(o.onDragStart, {
          top: ne.yStart,
          left: ne.xStart
        });
      },
      onMove: (ne) => {
        u.left = `${ne.xEnd}px`, u.top = `${ne.yEnd}px`, _(o.onDragMove, {
          top: ne.yEnd,
          left: ne.xEnd
        });
      },
      onEnd: (ne) => {
        _(o.onDragEnd, {
          top: ne.yEnd,
          left: ne.xEnd
        });
      }
    }), { target: E, moving: P } = Pl({
      onStart: (ne, ue) => {
        if (!w.value || !o.resizable || ue.button > 0)
          return !1;
        Ee();
        let J = 32;
        z.value && (J += z.value.offsetHeight), T.value && (J += T.value.offsetHeight), v.value = !0, ne.xStart = parseFloat(u.width), ne.yStart = parseFloat(u.height), ne.minHeight = Math.max(J, o.minHeight), _(o.onResizeStart, {
          width: ne.xStart,
          height: ne.yStart
        });
      },
      onMove: (ne) => {
        const ue = Math.max(o.minWidth, ne.xEnd, 32), J = Math.max(ne.minHeight, ne.yEnd);
        u.width = `${ue}px`, u.height = `${J}px`, _(o.onResizeMove, { width: ue, height: J });
      },
      onEnd: (ne) => {
        const ue = Math.max(o.minWidth, ne.xEnd, 32), J = Math.max(ne.minHeight, ne.yEnd);
        _(o.onResizeEnd, { width: ue, height: J });
      }
    }), R = g(() => [
      a.b(),
      a.bs("vars"),
      {
        [a.bm("inherit")]: o.inherit,
        [a.bm("inner")]: o.inner,
        [a.bm("draggable")]: o.draggable,
        [a.bm("resizable")]: o.resizable,
        [a.bm("undivided")]: o.undivided
      }
    ]), L = g(() => [
      a.be("wrapper"),
      {
        [a.bem("wrapper", "closable")]: o.closable,
        [a.bem("wrapper", "dragging")]: C.value,
        [a.bem("wrapper", "resizing")]: P.value
      },
      o.modalClass
    ]), I = g(() => {
      const ne = [];
      return o.xOffset && ne.push(`translateX(${b(o.xOffset)})`), o.yOffset && ne.push(`translateY(${b(o.yOffset)})`), ne.length && ne.push("translateZ(0)"), ne.length ? ne.join(" ") : void 0;
    }), G = g(() => [
      o.modalStyle,
      {
        ...u,
        height: u.height !== "auto" ? u.height : void 0,
        transform: I.value
      }
    ]), ee = g(() => {
      const ne = { x: "50%", y: "50%" };
      if (v.value)
        ne.x = `${parseFloat(u.left) + 0.5 * i.width}px`, ne.y = `${parseFloat(u.top) + 0.5 * i.height}px`;
      else {
        if (F.value)
          ne.y = `calc(100% - ${parseFloat(u.bottom) + 0.5 * parseFloat(u.height)}px)`;
        else if (m(o.top)) {
          const ue = parseFloat(u.top);
          if (m(o.height))
            ne.y = `${ue + 0.5 * parseFloat(u.height)}px`;
          else if (m(o.bottom)) {
            const J = parseFloat(u.bottom), N = h.height - ue - J;
            ne.y = `${ue + 0.5 * N}px`;
          } else
            ne.y = `${parseFloat(u.top) + 0.5 * i.height}px`;
        }
        if (A.value)
          ne.x = `calc(100% - ${parseFloat(u.right) + 0.5 * parseFloat(u.width)}px)`;
        else if (m(o.left)) {
          const ue = parseFloat(u.left);
          if (m(o.width))
            ne.x = `${ue + 0.5 * parseFloat(u.width)}px`;
          else if (m(o.right)) {
            const J = parseFloat(u.right), N = h.width - ue - J;
            ne.x = `${ue + 0.5 * N}px`;
          } else
            ne.x = `${parseFloat(u.left) + 0.5 * i.width}px`;
        }
      }
      return `${ne.x} ${ne.y}`;
    }), O = g(() => !!(c.header || c.title || o.title || o.slots.header || o.slots.title)), H = Zl(), U = Zl();
    for (const ne of Object.keys(u))
      le(
        () => o[ne],
        (ue) => {
          u[ne] = b(ue);
        }
      );
    le(
      () => o.active,
      (ne) => {
        f.value = ne;
      }
    ), le(f, (ne) => {
      o.hideMask && ne && q();
    }), le([() => o.top, () => o.bottom, () => o.height], () => {
      f.value && kt(de);
    }), le([() => o.left, () => o.right, () => o.width], () => {
      f.value && kt(te);
    });
    const q = () => {
      var ne;
      f.value && !v.value && kt(() => {
        de(), te();
      }), (ne = k.value) != null && ne.wrapper && (h.width = k.value.wrapper.offsetWidth, h.height = k.value.wrapper.offsetHeight);
    };
    r({
      dragging: C,
      resizing: P,
      titleId: H,
      bodyId: U,
      wrapper: w,
      header: z,
      footer: T,
      resizer: E,
      handleResize: q,
      handleConfirm: Se,
      handleCancel: Ce,
      handleClose: fe
    });
    const Z = yl(
      pt({
        dragging: C,
        resizing: P,
        handleResize: q,
        handleConfirm: Se,
        handleCancel: Ce,
        handleClose: fe
      })
    );
    function K(ne) {
      f.value !== ne && (f.value = ne, s("update:active", ne), _(o.onToggle, ne));
    }
    function we() {
      if (!w.value) return document.body;
      let ne = w.value.parentElement;
      for (; ne && ne !== document.body; ) {
        if (getComputedStyle(ne).position !== "static")
          return ne;
        ne = ne.parentElement;
      }
      return ne;
    }
    function de() {
      if (!w.value || o.top !== "auto" || F.value) return;
      const ne = w.value.offsetHeight;
      o.inner ? u.top = `${(we().offsetHeight - ne) / 2}px` : u.top = `${(window.innerHeight - ne) / 2 - 20}px`;
    }
    function te() {
      if (!w.value || o.left !== "auto" || A.value) return;
      const ne = w.value.offsetWidth;
      o.inner ? u.left = `${(we().offsetWidth - ne) / 2}px` : u.left = `${(window.innerWidth - ne) / 2}px`;
    }
    function Ee(ne = !0) {
      if (!w.value) return;
      const { offsetWidth: ue, offsetHeight: J, offsetTop: N, offsetLeft: j } = w.value;
      !ne && (!F.value && o.bottom !== "auto" || !A.value && o.right !== "auto") && (ne = !0), Object.assign(
        u,
        {
          top: `${N}px`,
          right: "auto",
          bottom: "auto",
          left: `${j}px`
        },
        ne ? {
          width: `${ue}px`,
          height: `${J}px`
        } : {}
      );
    }
    function Se() {
      fe(!0), _(o.onConfirm);
    }
    function Ce() {
      fe(!1), _(o.onCancel);
    }
    async function fe(ne = !1) {
      let ue = !0;
      return typeof o.onBeforeClose == "function" && (ue = o.onBeforeClose(ne), Sl(ue) && (ue = await ue)), ue !== !1 && await kt(() => {
        K(!1), _(o.onClose);
      }), ue;
    }
    function ot() {
      _(o.onShow);
    }
    function Ze() {
      _(o.onHide);
    }
    function Je() {
      if (o.maskClose)
        return fe(!1);
    }
    function se(ne) {
      var J;
      const ue = (J = ne.borderBoxSize) == null ? void 0 : J[0];
      ue ? (i.width = ue.inlineSize, i.height = ue.blockSize) : (i.width = ne.contentRect.width, i.height = ne.contentRect.height);
    }
    return (ne, ue) => (S(), Be(e(fr), {
      ref_key: "masker",
      ref: k,
      active: f.value,
      "onUpdate:active": ue[4] || (ue[4] = (J) => f.value = J),
      inherit: e(o).inherit,
      class: x(R.value),
      inner: e(o).inner,
      "transition-name": e(o).transitionName,
      closable: e(o).maskClose,
      disabled: e(o).hideMask,
      "on-before-close": Je,
      transfer: e(o).transfer,
      "auto-remove": e(o).autoRemove,
      "disable-esc": e(o).disableEsc,
      onShow: ot,
      onHide: Ze,
      onResize: q
    }, {
      default: X(({ show: J }) => [
        el(oe("section", {
          class: x(e(a).be("transform")),
          style: Qe({ transformOrigin: ee.value })
        }, [
          y(e(zn), { onResize: se }, {
            default: X(() => [
              oe("div", {
                ref_key: "wrapper",
                ref: w,
                class: x(L.value),
                role: "dialog",
                style: Qe(G.value),
                "aria-modal": J ? "true" : void 0,
                "aria-labelledby": e(H),
                "aria-describedby": e(U)
              }, [
                O.value ? (S(), D("div", {
                  key: 0,
                  ref_key: "header",
                  ref: z,
                  class: x(e(a).be("header"))
                }, [
                  W(ne.$slots, "header", It(Yt(e(Z))), () => [
                    y(e(me), {
                      renderer: e(o).slots.header,
                      data: e(Z)
                    }, {
                      default: X(() => [
                        oe("div", {
                          id: e(H),
                          class: x(e(a).be("title"))
                        }, [
                          W(ne.$slots, "title", It(Yt(e(Z))), () => [
                            y(e(me), {
                              renderer: e(o).slots.title,
                              data: e(Z)
                            }, {
                              default: X(() => [
                                dt(ze(e(o).title), 1)
                              ]),
                              _: 1
                            }, 8, ["renderer", "data"])
                          ])
                        ], 10, l0),
                        e(o).closable ? (S(), D("button", {
                          key: 0,
                          type: "button",
                          class: x(e(a).be("close")),
                          onPointerdown: ue[0] || (ue[0] = gt(() => {
                          }, ["stop"])),
                          onMousedown: ue[1] || (ue[1] = gt(() => {
                          }, ["stop"])),
                          onTouchstart: ue[2] || (ue[2] = gt(() => {
                          }, ["stop"])),
                          onClick: ue[3] || (ue[3] = (N) => fe(!1))
                        }, [
                          W(ne.$slots, "close", It(Yt(e(Z))), () => [
                            y(e(me), {
                              renderer: e(o).slots.close,
                              data: e(Z)
                            }, {
                              default: X(() => [
                                y(e(Oe), He(e(p).close, {
                                  scale: +(e(p).close.scale || 1) * 1.2,
                                  label: "close"
                                }), null, 16, ["scale"])
                              ]),
                              _: 1
                            }, 8, ["renderer", "data"])
                          ])
                        ], 34)) : ge("", !0)
                      ]),
                      _: 3
                    }, 8, ["renderer", "data"])
                  ])
                ], 2)) : ge("", !0),
                oe("div", {
                  id: e(U),
                  class: x(e(a).be("content")),
                  style: Qe({
                    overflow: e(P) ? "hidden" : void 0
                  })
                }, [
                  W(ne.$slots, "default", It(Yt(e(Z))), () => [
                    y(e(me), {
                      renderer: e(o).slots.default,
                      data: e(Z)
                    }, null, 8, ["renderer", "data"])
                  ])
                ], 14, a0),
                e(o).noFooter ? ge("", !0) : (S(), D("div", {
                  key: 1,
                  ref_key: "footer",
                  ref: T,
                  class: x(e(a).be("footer"))
                }, [
                  W(ne.$slots, "footer", It(Yt(e(Z))), () => [
                    y(e(me), {
                      renderer: e(o).slots.footer,
                      data: e(Z)
                    }, {
                      default: X(() => [
                        y(e(Hn), He({
                          class: [e(a).be("button"), e(a).bem("button", "cancel")],
                          inherit: "",
                          text: "",
                          type: e(o).cancelType,
                          size: e(o).actionSize
                        }, e(o).cancelProps, { onClick: Ce }), {
                          default: X(() => [
                            dt(ze(e(o).cancelText || e(d).cancel), 1)
                          ]),
                          _: 1
                        }, 16, ["class", "type", "size"]),
                        y(e(Hn), He({
                          class: [e(a).be("button"), e(a).bem("button", "confirm")],
                          inherit: "",
                          type: e(o).confirmType,
                          size: e(o).actionSize,
                          loading: e(o).loading
                        }, e(o).confirmProps, { onClick: Se }), {
                          default: X(() => [
                            dt(ze(e(o).confirmText || e(d).confirm), 1)
                          ]),
                          _: 1
                        }, 16, ["class", "type", "size", "loading"])
                      ]),
                      _: 1
                    }, 8, ["renderer", "data"])
                  ])
                ], 2)),
                e(o).resizable ? (S(), D("div", {
                  key: 2,
                  ref_key: "resizer",
                  ref: E,
                  class: x(e(a).be("resizer"))
                }, null, 2)) : ge("", !0)
              ], 14, n0)
            ]),
            _: 2
          }, 1024)
        ], 6), [
          [tl, J]
        ])
      ]),
      _: 3
    }, 8, ["active", "inherit", "class", "inner", "transition-name", "closable", "disabled", "transfer", "auto-remove", "disable-esc"]));
  }
});
function r0(t = {}) {
  if (!zt) return Qt;
  const {
    appContext: r,
    loading: l,
    renderer: a,
    headerRenderer: n,
    titleRenderer: o,
    closeRenderer: s,
    footerRenderer: c,
    onHide: d,
    ...p
  } = t, m = $(!1);
  let b = _l(), f = document.createElement("div"), u;
  if (r || b) {
    const v = y(h, null, null);
    v.appContext = r || b.appContext, sl(v, f);
  } else
    u = Pa(h), u.mount(f);
  document.body.appendChild(f), kt(() => {
    m.value = !0;
  });
  function h() {
    return Jn(
      Ci,
      {
        ...p,
        active: m.value,
        transfer: !1,
        autoRemove: !1,
        loading: e(l),
        onHide: Array.isArray(d) ? [...d, i] : d ? [d, i] : i
      },
      {
        header: n,
        title: o,
        close: s,
        default: a,
        footer: c
      }
    );
  }
  function i() {
    b && (f && sl(null, f), b = null), u && (u.unmount(), u = void 0), f && (document.body.removeChild(f), f = void 0);
  }
  return () => kt(() => {
    m.value = !1;
  });
}
Ci.open = r0;
const Ld = Ci, la = [Number, String], o0 = ft({
  locale: Mn(),
  width: la,
  height: la,
  top: la,
  left: la,
  right: la,
  bottom: la,
  maskClose: M,
  confirmType: String,
  cancelType: String,
  confirmText: String,
  cancelText: String,
  icon: {
    type: [Boolean, Object, Function],
    default: null
  },
  className: Bn,
  style: kl,
  renderer: Function,
  iconProps: Object,
  closable: M,
  contentAlign: String,
  actionsAlign: String,
  parseHtml: M,
  cancelable: M,
  xOffset: la,
  yOffset: la
}), s0 = ["innerHTML"], js = /* @__PURE__ */ Xe({
  name: "Confirm",
  __name: "confirm",
  props: o0,
  setup(t, { expose: r }) {
    const l = (A) => A === "auto" || !Number.isNaN(parseFloat(A)), a = {
      default: "auto",
      validator: l
    }, n = Object.freeze([
      "default",
      "primary",
      "info",
      "success",
      "warning",
      "error"
    ]), s = ct("confirm", t, {
      locale: null,
      width: {
        default: 420,
        validator: l
      },
      height: a,
      top: a,
      left: a,
      right: a,
      bottom: a,
      maskClose: !1,
      confirmType: {
        default: "primary",
        validator: (A) => n.includes(A)
      },
      cancelType: {
        default: "default",
        validator: (A) => n.includes(A)
      },
      confirmText: null,
      cancelText: null,
      icon: {
        isFunc: !0,
        default: !1
      },
      className: null,
      style: null,
      renderer: {
        default: null,
        isFunc: !0,
        static: !0
      },
      iconProps: () => ({}),
      closable: !1,
      parseHtml: !1,
      contentAlign: "left",
      actionsAlign: "right",
      cancelable: !0,
      xOffset: 0,
      yOffset: 0
    }), c = Ye("confirm"), d = Gt(), p = vn("confirm", qe(s, "locale")), m = [
      "className",
      "style",
      "icon",
      "iconProps",
      "maskClose",
      "confirmType",
      "cancelType",
      "confirmText",
      "cancelText",
      "parseHtml",
      "closable",
      "contentAlign",
      "actionsAlign",
      "cancelable",
      "width",
      "height",
      "top",
      "right",
      "bottom",
      "left",
      "xOffset",
      "yOffset"
    ], b = pt({
      ...m.reduce((A, z) => (A[z] = s[z], A), {}),
      visible: !1,
      loading: !1,
      title: "",
      content: "",
      raw: {}
    }), f = $(s.renderer);
    let u = null, h = null, i = null;
    const v = new Promise((A) => {
      sn(() => {
        kt(A);
      });
    });
    r({ state: b, openConfirm: k, closeConfirm: T, handleReset: F });
    async function k(A) {
      return await v, await new Promise((z) => {
        for (const E of m)
          b[E] = A[E] ?? s[E];
        if (b.title = A.title ?? "", b.content = A.content ?? "", b.raw = A, f.value = on(A.renderer) ? A.renderer : s.renderer, u = on(A.onBeforeConfirm) ? A.onBeforeConfirm : null, on(f.value)) {
          const E = f.value;
          f.value = () => E(b, w, T);
        }
        b.visible = !0;
        let C = !1;
        h = () => {
          !C && z(!0), C = !0, u = null;
        }, i = () => {
          !C && z(!1), C = !0, u = null;
        };
      });
    }
    async function w() {
      if (b.loading = !0, on(u)) {
        let A = u();
        if (Sl(A) && (A = await A), A === !1) {
          b.loading = !1;
          return;
        }
      }
      b.visible = !1, b.loading = !1, on(h) && (h(), h = null);
    }
    function T() {
      b.visible = !1, on(i) && (i(), i = null);
    }
    function F() {
      for (const A of m)
        b[A] = s[A];
      b.visible = !1, b.loading = !1, b.title = "", b.content = "", b.raw = {}, f.value = s.renderer;
    }
    return (A, z) => (S(), D("div", {
      class: x([e(c).b(), e(c).bs("vars")])
    }, [
      y(e(Ld), {
        "no-footer": "",
        "auto-remove": !1,
        transfer: !1,
        closable: !1,
        active: b.visible,
        "modal-class": b.className,
        "modal-style": b.style,
        width: b.width,
        height: b.height,
        top: b.top,
        left: b.left,
        right: b.right,
        bottom: b.bottom,
        "x-offset": b.xOffset,
        "y-offset": b.yOffset,
        "mask-close": b.maskClose,
        onHide: F,
        onClose: T
      }, {
        default: X(() => [
          e(on)(f.value) ? (S(), Be(e(me), {
            key: 0,
            renderer: f.value
          }, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
            b.title ? (S(), D("div", {
              key: 0,
              class: x(e(c).be("header"))
            }, [
              oe("div", {
                class: x(e(c).be("title"))
              }, [
                typeof b.title == "function" ? (S(), Be(e(me), {
                  key: 0,
                  renderer: b.title
                }, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
                  dt(ze(b.title), 1)
                ], 64))
              ], 2),
              b.closable ? (S(), D("button", {
                key: 0,
                type: "button",
                class: x(e(c).be("close")),
                onMousedown: z[0] || (z[0] = gt(() => {
                }, ["stop"])),
                onClick: T
              }, [
                W(A.$slots, "close", {}, () => [
                  y(e(Oe), He(e(d).close, {
                    scale: +(e(d).close.scale || 1) * 1.2,
                    label: "close"
                  }), null, 16, ["scale"])
                ])
              ], 34)) : ge("", !0)
            ], 2)) : ge("", !0),
            oe("div", {
              class: x([
                e(c).be("body"),
                e(c).bem("body", b.contentAlign),
                !b.title && e(c).bem("body", "no-title")
              ])
            }, [
              b.icon !== !1 ? (S(), D("div", {
                key: 0,
                class: x(e(c).be("icon"))
              }, [
                typeof b.icon != "boolean" ? (S(), Be(e(Oe), He({ key: 0 }, b.iconProps, {
                  icon: b.icon
                }), null, 16, ["icon"])) : (S(), Be(e(Oe), He({
                  key: 1,
                  scale: 2.2
                }, {
                  ...b.cancelable ? e(d).question : e(d).warning,
                  ...b.iconProps
                }, {
                  icon: (b.cancelable ? e(d).question : e(d).warning).icon
                }), null, 16, ["icon"]))
              ], 2)) : ge("", !0),
              typeof b.content == "function" ? (S(), Be(e(me), {
                key: 1,
                renderer: b.content
              }, null, 8, ["renderer"])) : (S(), D(st, { key: 2 }, [
                b.parseHtml ? (S(), D("div", {
                  key: 0,
                  class: x(e(c).be("content")),
                  innerHTML: b.content
                }, null, 10, s0)) : (S(), D("div", {
                  key: 1,
                  class: x(e(c).be("content"))
                }, ze(b.content), 3))
              ], 64))
            ], 2),
            oe("div", {
              class: x([e(c).be("footer"), e(c).bem("footer", b.actionsAlign)])
            }, [
              b.cancelable ? (S(), Be(e(Hn), {
                key: 0,
                class: x([e(c).be("button"), e(c).bem("button", "cancel")]),
                inherit: "",
                "no-pulse": "",
                type: b.cancelType,
                onClick: T
              }, {
                default: X(() => [
                  dt(ze(b.cancelText || e(p).cancel), 1)
                ]),
                _: 1
              }, 8, ["class", "type"])) : ge("", !0),
              y(e(Hn), {
                class: x([e(c).be("button"), e(c).bem("button", "confirm")]),
                inherit: "",
                "no-pulse": "",
                type: b.confirmType,
                loading: b.loading,
                onClick: w
              }, {
                default: X(() => [
                  dt(ze(b.confirmText || e(p).confirm), 1)
                ]),
                _: 1
              }, 8, ["class", "type", "loading"])
            ], 2)
          ], 64))
        ]),
        _: 3
      }, 8, ["active", "modal-class", "modal-style", "width", "height", "top", "left", "right", "bottom", "x-offset", "y-offset", "mask-close"])
    ], 2));
  }
});
js.name = "Confirm";
class Ti {
  constructor(r = {}) {
    Rt(this, "name");
    Rt(this, "defaults");
    Rt(this, "_mountedApp");
    Rt(this, "_instance");
    Rt(this, "_innerApp");
    Rt(this, "_container");
    Rt(this, "_wrapper");
    Rt(this, "_mountedEl");
    this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._wrapper = null, this._mountedEl = null, this.name = "Confirm", this.defaults = {}, this.config(r);
  }
  open(r, l, a) {
    var o;
    if (!zt)
      return;
    typeof r == "string" && (a ? r = { title: l, content: r, confirmType: a } : r = { content: r, confirmType: l });
    const n = { ...this.defaults, ...r };
    return n.icon && typeof n.icon == "object" && (n.icon = Nr(n.icon)), (o = this._getInstance()) == null ? void 0 : o.openConfirm(n);
  }
  close() {
    var r;
    (r = this._getInstance()) == null || r.closeConfirm();
  }
  config(r) {
    this.defaults = { ...this.defaults, ...r };
  }
  clone() {
    const r = new Ti(this.defaults);
    return r._mountedApp = this._mountedApp, r;
  }
  destroy() {
    var r, l;
    this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
  }
  isDestroyed() {
    return !1;
  }
  install(r, l = {}) {
    const { property: a, ...n } = l;
    this.config(n), this._mountedApp = r, (a || !r.config.globalProperties.$confirm) && (r.config.globalProperties[a || "$confirm"] = this);
  }
  transferTo(r) {
    if (!zt) return;
    const l = El(r);
    l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
  }
  _getInstance() {
    if (!this._instance && zt) {
      if (!this._mountedApp)
        console.warn("[vexip-ui:Confirm]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(js), this._instance = this._innerApp.mount(this._container);
      else {
        const r = y(js, null, null);
        this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
      }
      this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
    }
    return this._instance;
  }
}
const i0 = new Ti(), $i = "__VXP_SELECT_HANDLER", Ws = "__VXP_DROPDOWN_STATE", u0 = Xe({
  setup(t, { slots: r }) {
    const l = Et(Ws, null);
    return l && nn($i, l.handleSelect), () => W(r, "default");
  }
}), c0 = ft({
  visible: M,
  placement: String,
  outsideClose: M,
  trigger: String,
  label: [String, Number],
  transitionName: String,
  transfer: hn,
  dropClass: Bn,
  appear: M,
  meta: Object,
  alive: M,
  custom: M,
  shift: M,
  onToggle: B(),
  onSelect: B(),
  onClickOutside: B(),
  onOutsideClose: B()
}), d0 = Jl({
  label: {
    type: [String, Number],
    default: null
  },
  disabled: {
    type: Boolean,
    default: !1
  },
  selected: {
    type: Boolean,
    default: !1
  },
  divided: {
    type: Boolean,
    default: !1
  },
  reference: {
    type: Boolean,
    default: !1
  },
  meta: {
    type: Object,
    default: () => ({})
  },
  onSelect: B()
});
function Fd(t, r) {
  const l = $(t.value);
  function a(n) {
    var o;
    r.value ? l.value = n ?? ((o = r.value.textContent) == null ? void 0 : o.trim()) ?? null : l.value = n;
  }
  return le(t, (n) => {
    a(n);
  }), sn(() => {
    kt(() => {
      a(t.value);
    });
  }), l;
}
const f0 = ["onKeydown"], Jo = /* @__PURE__ */ Xe({
  name: "Dropdown",
  __name: "dropdown",
  props: c0,
  emits: ["update:visible"],
  setup(t, { expose: r, emit: l }) {
    const a = Ye("dropdown"), o = ct("dropdown", t, {
      visible: {
        default: !1,
        static: !0
      },
      placement: {
        default: "bottom",
        validator: (U) => Wl.includes(U)
      },
      outsideClose: !0,
      trigger: {
        default: "hover",
        validator: (U) => ["hover", "click", "custom"].includes(U)
      },
      label: {
        default: null,
        static: !0
      },
      transitionName: () => a.ns("drop"),
      transfer: !1,
      dropClass: null,
      appear: !1,
      meta: null,
      alive: !1,
      custom: !1,
      shift: !0
    }), s = l, c = Et(Ws, null), { isRtl: d } = Un(), p = fa(), m = !!c, b = qe(o, "label"), f = $(o.placement), u = $(o.visible), h = $(!1), i = m ? $(!1) : qe(o, "transfer"), v = g(() => !!(c != null && c.shift || o.shift)), k = Hl(R), w = $(), { reference: T, transferTo: F, updatePopper: A } = Kl({
      placement: f,
      shift: v,
      transfer: i,
      wrapper: k,
      popper: g(() => {
        var U;
        return (U = w.value) == null ? void 0 : U.wrapper;
      }),
      isDrop: !0,
      offset: m ? [-5, 0] : void 0
    }), z = Fd(b, T), C = g(() => ({
      [a.b()]: !0,
      [a.bs("vars")]: !0,
      [a.bm("inherit")]: o.inherit,
      [a.bm("visible")]: u.value
    })), E = g(() => (c == null ? void 0 : c.alive) || o.alive);
    nn($i, null), !o.custom && nn(
      Ws,
      pt({
        alive: E,
        shift: v,
        handleSelect: L,
        handleTriggerEnter: ee,
        handleTriggerLeave: O
      })
    ), le(
      () => o.visible,
      (U) => {
        u.value = U;
      }
    ), le(
      () => o.placement,
      (U) => {
        I(U);
      }
    ), le(u, (U) => {
      U && A();
    }), sn(() => {
      kt(() => {
        I(o.placement);
      });
    }), r({
      isNested: m,
      currentVisible: u,
      isAlive: E,
      wrapper: k,
      reference: T,
      popper: w,
      handleTriggerEnter: ee,
      handleTriggerLeave: O,
      handleTriggerClick: H
    });
    function P(U) {
      u.value !== U && (u.value = U, s("update:visible", U), _(o.onToggle, U));
    }
    function R() {
      _(o.onClickOutside), o.outsideClose && o.trigger !== "custom" && u.value && (P(!1), _(o.onOutsideClose));
    }
    function L(U, q) {
      o.trigger !== "custom" && (P(!1), _(o.onSelect, U, q)), typeof (c == null ? void 0 : c.handleSelect) == "function" && c.handleSelect([z.value, ...U], [o.meta || {}, ...q]);
    }
    function I(U) {
      const [q] = U.split("-");
      m && q !== "right" && q !== "left" ? f.value = d.value ? "left-start" : "right-start" : f.value = U;
    }
    const { timer: G } = Vn();
    function ee() {
      o.trigger === "hover" && (clearTimeout(G.hover), typeof (c == null ? void 0 : c.handleTriggerEnter) == "function" && c.handleTriggerEnter(), G.hover = setTimeout(() => {
        P(!0);
      }, p.value));
    }
    function O() {
      o.trigger === "hover" && (clearTimeout(G.hover), typeof (c == null ? void 0 : c.handleTriggerLeave) == "function" && c.handleTriggerLeave(), G.hover = setTimeout(() => {
        P(!1);
      }, p.value));
    }
    function H() {
      o.trigger === "click" && P(!u.value);
    }
    return (U, q) => (S(), D("div", {
      ref_key: "wrapper",
      ref: k,
      class: x(C.value),
      onMouseenter: ee,
      onMouseleave: O
    }, [
      oe("div", {
        ref_key: "reference",
        ref: T,
        class: x([e(a).be("trigger"), u.value ? e(a).bem("trigger", "active") : ""]),
        onClick: H,
        onKeydown: [
          Kn(gt(H, ["prevent"]), ["enter"]),
          Kn(gt(H, ["prevent"]), ["space"])
        ]
      }, [
        W(U.$slots, "default")
      ], 42, f0),
      y(e(u0), null, {
        default: X(() => [
          y(e(Xl), {
            ref_key: "popper",
            ref: w,
            class: x([
              e(a).be("popper"),
              e(a).bs("vars"),
              m ? e(a).bem("popper", "nested") : null,
              e(o).dropClass
            ]),
            visible: u.value,
            alive: E.value || h.value,
            to: e(F),
            transition: e(o).transitionName,
            appear: e(o).appear,
            onMouseenter: ee,
            onMouseleave: O,
            onAfterEnter: q[0] || (q[0] = (Z) => h.value = !0),
            onAfterLeave: q[1] || (q[1] = (Z) => h.value = !1)
          }, {
            default: X(() => [
              W(U.$slots, "drop")
            ]),
            _: 3
          }, 8, ["class", "visible", "alive", "to", "transition", "appear"])
        ]),
        _: 3
      })
    ], 34));
  }
}), Qo = /* @__PURE__ */ Xe({
  name: "DropdownList",
  __name: "dropdown-list",
  setup(t) {
    const r = Ye("dropdown");
    return (l, a) => (S(), D("ul", {
      class: x(e(r).be("list")),
      role: "menu"
    }, [
      W(l.$slots, "default")
    ], 2));
  }
}), es = /* @__PURE__ */ Xe({
  name: "DropdownItem",
  __name: "dropdown-item",
  props: d0,
  setup(t, { expose: r }) {
    const l = t, a = Et($i, null), n = Ye("dropdown"), o = $(null), s = qe(l, "label"), c = $(l.reference), d = Fd(s, o), p = g(() => {
      const b = n.be("item");
      return {
        [b]: !0,
        [`${b}--disabled`]: l.disabled,
        [`${b}--selected`]: !l.disabled && l.selected,
        [`${b}--divided`]: l.divided
      };
    });
    r({ wrapper: o, handleSelect: m });
    function m() {
      l.disabled || c.value || (typeof a == "function" && a([d.value], [l.meta || {}]), _(l.onSelect, d.value));
    }
    return (b, f) => (S(), D("li", {
      ref_key: "wrapper",
      ref: o,
      class: x(p.value),
      role: "menuitem",
      tabindex: "0",
      onClick: m
    }, [
      W(b.$slots, "default")
    ], 2));
  }
});
function p0(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
function Id(t, r) {
  return t.icon ? y("div", {
    class: r.be("icon")
  }, [y(Oe, {
    icon: t.icon,
    style: [{
      color: t.iconColor || t.color
    }, t.icon.style]
  }, null)]) : null;
}
function Nd(t, r) {
  return t.shortcut ? y("div", {
    class: r.be("shortcut")
  }, [t.shortcut]) : null;
}
function v0(t, r) {
  const l = Gt(), {
    isRtl: a
  } = Un();
  return y(Jo, He({
    inherit: !0,
    transfer: !1
  }, {
    onContextmenu: (n) => {
      n.preventDefault(), n.stopPropagation();
    }
  }), {
    default: () => y(es, {
      class: r.be("item"),
      label: t.key,
      divided: t.divided,
      disabled: t.disabled
    }, {
      default: () => [Id(t, r), typeof t.renderer == "function" ? t.renderer() : y("span", {
        class: r.be("label"),
        style: {
          color: t.color
        }
      }, [t.label || t.key]), Nd(t, r), y("div", {
        class: [r.be("icon"), r.be("arrow")]
      }, [y(Oe, He(a.value ? l.value.angleLeft : l.value.angleRight, {
        style: {
          color: t.iconColor || t.color
        }
      }), null)])]
    }),
    drop: () => {
      let n;
      return y(Qo, {
        class: [r.be("list"), t.children.some((o) => o.icon) ? r.bem("list", "icons") : r.bem("list", "no-icon"), t.children.some((o) => {
          var s;
          return (s = o.children) == null ? void 0 : s.length;
        }) ? r.bem("list", "arrows") : r.bem("list", "no-arrow")]
      }, p0(n = t.children.map((o) => Dd({
        nh: r,
        config: o
      }))) ? n : {
        default: () => [n]
      });
    }
  });
}
function Dd({
  config: t,
  nh: r
}) {
  var l;
  return (l = t.children) != null && l.length ? v0(t, r) : y(es, {
    class: r.be("item"),
    label: t.key,
    divided: t.divided,
    disabled: t.disabled
  }, {
    default: () => [Id(t, r), typeof t.renderer == "function" ? t.renderer() : y("span", {
      class: r.be("label"),
      style: {
        color: t.color
      }
    }, [t.label || t.key]), Nd(t, r)]
  });
}
const Ou = /* @__PURE__ */ Xe({
  name: "Contextmenu",
  __name: "contextmenu",
  setup(t, { expose: r }) {
    const l = Ye("contextmenu"), { isRtl: a } = Un(), n = $(!1), o = $([]), s = $(!1), c = pt({
      x: 0,
      y: 0
    }), d = $(null), p = $(null);
    function m(h) {
      return c.x = h.clientX || 0, c.y = h.clientY || 0, o.value = h.configs, s.value = h.appear ?? !1, n.value = !0, new Promise((i) => {
        d.value = (v) => {
          i(v);
        }, p.value = () => {
          i(null);
        };
      });
    }
    function b() {
      d.value = null, p.value = null;
    }
    function f(h) {
      n.value = !1, on(d.value) && (d.value(h), b());
    }
    function u() {
      n.value = !1, on(p.value) && (p.value(), b());
    }
    return r({ visible: n, position: c, openContextmenu: m, handleSelect: f, handleCancel: u }), (h, i) => (S(), Be(e(Jo), {
      visible: n.value,
      "onUpdate:visible": i[0] || (i[0] = (v) => n.value = v),
      class: x([e(l).b(), e(l).bs("vars")]),
      trigger: "click",
      placement: e(a) ? "left-start" : "right-start",
      appear: s.value,
      transfer: !1,
      style: Qe({
        top: `${c.y}px`,
        left: `${c.x}px`
      }),
      onContextmenu: i[1] || (i[1] = gt(() => {
      }, ["prevent", "stop"])),
      onSelect: f,
      onOutsideClose: u
    }, {
      drop: X(() => [
        y(e(Qo), {
          class: x([
            e(l).be("list"),
            o.value.some((v) => v.icon) ? e(l).bem("list", "icons") : e(l).bem("list", "no-icon"),
            o.value.some((v) => v.children && v.children.length) ? e(l).bem("list", "arrows") : e(l).bem("list", "no-arrow")
          ])
        }, {
          default: X(() => [
            (S(!0), D(st, null, ln(o.value, (v) => (S(), Be(e(me), {
              key: v.key,
              data: { config: v, nh: e(l) },
              renderer: e(Dd)
            }, null, 8, ["data", "renderer"]))), 128))
          ]),
          _: 1
        }, 8, ["class"])
      ]),
      _: 1
    }, 8, ["visible", "class", "placement", "appear", "style"]));
  }
});
class h0 {
  constructor() {
    Rt(this, "name");
    Rt(this, "_mountedApp");
    Rt(this, "_instance");
    Rt(this, "_innerApp");
    Rt(this, "_container");
    Rt(this, "_pending");
    Rt(this, "_wrapper");
    Rt(this, "_mountedEl");
    this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._pending = null, this._wrapper = null, this._mountedEl = null, this.name = "Contextmenu";
  }
  open(r) {
    if (!zt)
      return;
    const { target: l = document.body, ...a } = r;
    return this._pending = this._getInstance(l).openContextmenu(a), this._pending;
  }
  destroy() {
    var r, l;
    this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
  }
  isDestroyed() {
    return !1;
  }
  install(r, l = {}) {
    const { property: a } = l;
    this._mountedApp = r, (a || !r.config.globalProperties.$contextmenu) && (r.config.globalProperties[a || "$contextmenu"] = this);
  }
  _getInstance(r) {
    var l, a;
    if (zt) {
      if (this._pending) {
        let n = this._innerApp, o = this._container;
        const s = () => {
          n == null || n.unmount(), o && sl(null, o), n = null, o = null;
        };
        this._pending.finally(s), (l = this._instance) == null || l.handleCancel();
      } else
        (a = this._innerApp) == null || a.unmount(), this._container && sl(null, this._container);
      if (this._pending = null, !this._mountedApp)
        console.warn("[vexip-ui:Contextmenu]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(Ou), this._instance = this._innerApp.mount(this._container);
      else {
        const n = y(Ou, null, null);
        this._container = document.createElement("div"), n.appContext = this._mountedApp._context, sl(n, this._container), this._instance = Fa(n);
      }
      return this._mountedEl = this._container.firstElementChild, this._wrapper = El(r) || document.body, this._wrapper.appendChild(this._mountedEl), this._instance;
    }
  }
}
const m0 = new h0();
var dl = /* @__PURE__ */ ((t) => (t[t.UPSTREAM = 0] = "UPSTREAM", t[t.TRUE = 1] = "TRUE", t[t.AT_MIN_TRUE = 2] = "AT_MIN_TRUE", t[t.AT_MAX_TRUE = 3] = "AT_MAX_TRUE", t[t.FALSE = 4] = "FALSE", t))(dl || {});
const Od = Object.freeze([
  "date",
  "datetime",
  "year",
  "month"
]), _u = /* @__PURE__ */ new Date(""), b0 = /^((?:\d{1,2}))((?::\d{1,2}))?((?::\d{1,2}))?$/, g0 = Array.from({ length: 10 }, (t, r) => r);
function y0(t, r) {
  return t === `Digit${r}` || t === `Numpad${r}` || t === `${r}`;
}
function _d(t) {
  const r = t.code || t.key;
  let l = null, a = !1;
  switch (r) {
    case "Tab": {
      a = !0, l = t.shiftKey ? "prev" : "next";
      break;
    }
    case "ArrowRight": {
      a = !0, l = "next";
      break;
    }
    case "Delete":
    case "ArrowLeft": {
      a = !0, l = "prev";
      break;
    }
    case "ArrowUp": {
      a = !0, l = "up";
      break;
    }
    case "ArrowDown": {
      a = !0, l = "down";
      break;
    }
    case "Space":
    case " ":
    case "Enter":
    case "NumpadEnter": {
      a = !0, l = "ok";
      break;
    }
    case "Escape": {
      a = !0, l = "esc";
      break;
    }
  }
  if (a)
    t.preventDefault(), t.stopPropagation();
  else {
    const n = g0.findIndex((o) => y0(r, o));
    ~n && (l = n, t.preventDefault(), t.stopPropagation());
  }
  return l;
}
function Bd(t, r = $(t[0])) {
  const l = Array.from(t), a = l.length, n = pt(
    l.reduce((d, p) => (d[p] = !1, d), {})
  );
  function o(d) {
    r.value = d.find((p) => n[p]) ?? r.value;
  }
  function s(d, p = !1) {
    d || (r.value = null);
    const m = p ? Array.from(l).reverse() : l, b = m.findIndex((f) => f === d);
    ~b ? o(m.slice(b, a).concat(m.slice(0, b))) : o(m);
  }
  function c(d, p = !0) {
    r.value || (r.value = (d === "next" ? gn(l) : l[0]) ?? null);
    for (let m = 0; m < a; ++m)
      if (r.value === l[m]) {
        const b = d === "prev" ? Array.from(l).reverse() : l, f = (d === "prev" ? a - m : m + 1) % a, u = p ? b.slice(f, a).concat(b.slice(0, f)) : f ? b.slice(f, a) : [];
        o(u);
        break;
      }
  }
  return {
    currentColumn: r,
    enabled: n,
    resetColumn: s,
    enterColumn: c
  };
}
const ja = [0, 0, 0], Wa = [23, 59, 59];
function Ks(t, r) {
  const l = g(() => t.value ? t.value.split(":").map(rn) : ja), a = g(() => r.value ? r.value.split(":").map(rn) : Wa), n = g(() => {
    const p = l.value, m = a.value;
    for (let b = 0; b < 3; ++b) {
      if (p[b] < m[b]) return !1;
      if (p[b] > m[b]) return !0;
    }
    return !1;
  }), o = {
    hour: s,
    minute: (p, m) => c(p, m) !== dl.FALSE,
    second: (p, m, b) => d(p, m, b) !== dl.FALSE
  };
  function s(p) {
    const m = l.value[0] || ja[0], b = a.value[0] || Wa[0];
    return n.value ? p > b && p < m : p < m || p > b;
  }
  function c(p, m) {
    if (s(p)) return dl.UPSTREAM;
    if (l.value[0] === a.value[0] && p === l.value[0]) {
      const b = l.value[1] || ja[1], f = a.value[1] || Wa[1];
      if (n.value ? m > f && m < b : m < b || m > f)
        return dl.TRUE;
    }
    if (p === l.value[0]) {
      const b = l.value[1] || ja[1];
      if (m < b) return dl.AT_MIN_TRUE;
    }
    if (p === a.value[0]) {
      const b = a.value[1] || Wa[1];
      if (m > b) return dl.AT_MAX_TRUE;
    }
    return dl.FALSE;
  }
  function d(p, m, b) {
    if (c(p, m) !== dl.FALSE) return dl.UPSTREAM;
    if (l.value[0] === a.value[0] && p === l.value[0] && l.value[1] === a.value[1] && m === l.value[1]) {
      const f = l.value[2] || ja[2], u = a.value[2] || Wa[2];
      if (n.value ? b > u && b < f : b < f || b > u)
        return dl.TRUE;
    }
    if (p === l.value[0] && m === l.value[1]) {
      const f = l.value[2] || ja[2];
      if (b < f) return dl.AT_MIN_TRUE;
    }
    if (p === a.value[0] && m === a.value[1]) {
      const f = a.value[2] || Wa[2];
      if (b > f) return dl.AT_MAX_TRUE;
    }
    return dl.FALSE;
  }
  return {
    minUnits: l,
    maxUnits: a,
    reversed: n,
    isTimeDisabled: o
  };
}
const k0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], w0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], x0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-valuemax", "aria-labelledby"], S0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], C0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], T0 = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], Bu = /* @__PURE__ */ Xe({
  name: "DateControl",
  __name: "date-control",
  props: {
    unitType: {
      type: String,
      default: ""
    },
    enabled: {
      type: Object,
      default: () => ({})
    },
    activated: {
      type: Object,
      default: () => ({})
    },
    dateValue: {
      type: Object,
      default: () => ({})
    },
    dateSeparator: {
      type: String,
      default: "/"
    },
    timeSeparator: {
      type: String,
      default: ":"
    },
    visible: {
      type: Boolean,
      default: !1
    },
    focused: {
      type: Boolean,
      default: !1
    },
    filler: {
      type: String,
      default: "-",
      validator: (t) => t.length === 1
    },
    steps: {
      type: Array,
      default: () => [1, 1, 1]
    },
    ctrlSteps: {
      type: Array,
      default: () => [5, 5, 5]
    },
    labels: {
      type: Object,
      default: () => ({})
    },
    hasError: {
      type: Boolean,
      default: !1
    },
    placeholder: {
      type: String,
      default: ""
    },
    readonly: {
      type: Boolean,
      default: !1
    },
    labeledBy: {
      type: String,
      default: void 0
    },
    locale: {
      type: Object,
      default: () => ({})
    },
    dateUnitOrder: {
      type: Array,
      default: () => ["year", "month", "date"]
    }
  },
  emits: [
    "input",
    "plus",
    "minus",
    "enter",
    "cancel",
    "unit-focus",
    "prev-unit",
    "next-unit",
    "blur"
  ],
  setup(t, { expose: r, emit: l }) {
    const a = t, n = l, o = Ye("date-picker"), s = $(), c = g(() => a.locale.ariaLabel ?? {}), d = g(() => Object.keys(a.enabled).every((E) => !a.enabled[E] || a.activated[E])), p = g(() => ({
      [o.be("input")]: !0,
      [o.bem("input", "activated")]: d.value,
      [o.bem("input", "error")]: a.hasError
    })), m = g(() => a.enabled.hour || a.enabled.minute || a.enabled.second), b = g(() => T("year")), f = g(() => T("month")), u = g(() => T("date")), h = g(() => T("hour")), i = g(() => T("minute")), v = g(() => T("second")), k = g(() => Fc(a.dateValue.year, a.dateValue.month)), w = g(() => {
      const [E, P, R] = a.dateUnitOrder;
      return {
        [E]: -4,
        [P]: -2,
        [R]: 0
      };
    });
    r({
      isActivated: d,
      wrapper: s,
      focus: () => {
        var E;
        (E = s.value) == null || E.focus();
      },
      blur: () => {
        var E;
        (E = s.value) == null || E.blur();
      }
    });
    function T(E) {
      const P = E === "year", R = a.filler;
      return a.activated[E] ? P ? a.dateValue.year.toString().padStart(4, "0") : ol(a.dateValue[E]) : `${P ? `${R}${R}` : ""}${R}${R}`;
    }
    function F(E) {
      return a.visible && a.unitType === E ? o.bem("unit", "focused") : null;
    }
    function A(E) {
      a.readonly || n("unit-focus", E);
    }
    function z(E) {
      if (!a.visible) return;
      const P = _d(E);
      if (a.readonly) {
        switch (P) {
          case "ok": {
            n("enter");
            break;
          }
          case "esc": {
            n("cancel");
            break;
          }
        }
        return;
      }
      switch (P) {
        case "next": {
          n("next-unit");
          break;
        }
        case "prev": {
          n("prev-unit");
          break;
        }
        case "up": {
          n("minus", E.ctrlKey);
          break;
        }
        case "down": {
          n("plus", E.ctrlKey);
          break;
        }
        case "ok": {
          n("enter");
          break;
        }
        case "esc": {
          n("cancel");
          break;
        }
        default:
          typeof P == "number" && n("input", P);
      }
    }
    function C() {
      n("blur");
    }
    return (E, P) => (S(), D("div", {
      ref_key: "wrapper",
      ref: s,
      class: x(p.value),
      role: "none",
      tabindex: "-1",
      onKeydown: z,
      onBlur: C
    }, [
      !t.focused && !d.value ? (S(), D("div", {
        key: 0,
        class: x(e(o).be("placeholder"))
      }, ze(t.placeholder), 3)) : (S(), D(st, { key: 1 }, [
        t.enabled.year ? (S(), D("div", {
          key: 0,
          class: x([e(o).be("unit"), F("year")]),
          role: "spinbutton",
          "aria-label": c.value.year,
          "aria-valuenow": a.dateValue.year,
          "aria-valuetext": b.value,
          "aria-valuemin": 1,
          "aria-valuemax": 9999,
          "aria-labelledby": t.labeledBy,
          style: Qe({ order: w.value.year }),
          onClick: P[0] || (P[0] = (R) => A("year"))
        }, ze(b.value), 15, k0)) : ge("", !0),
        t.labels.year ? (S(), D("div", {
          key: 1,
          class: x(e(o).be("label")),
          "aria-hidden": "",
          style: Qe({ order: w.value.year }),
          onClick: P[1] || (P[1] = (R) => A("year"))
        }, ze(t.labels.year), 7)) : ge("", !0),
        t.enabled.month ? (S(), D(st, { key: 2 }, [
          t.enabled.year ? (S(), D("div", {
            key: 0,
            class: x(e(o).be("separator")),
            "aria-hidden": "",
            style: { order: "-3" }
          }, ze(t.dateSeparator), 3)) : ge("", !0),
          oe("div", {
            class: x([e(o).be("unit"), F("month")]),
            role: "spinbutton",
            "aria-label": c.value.month,
            "aria-valuenow": a.dateValue.month,
            "aria-valuetext": f.value,
            "aria-valuemin": 1,
            "aria-valuemax": 12,
            "aria-labelledby": t.labeledBy,
            style: Qe({ order: w.value.month }),
            onClick: P[2] || (P[2] = (R) => A("month"))
          }, ze(f.value), 15, w0),
          t.labels.month ? (S(), D("div", {
            key: 1,
            class: x(e(o).be("label")),
            "aria-hidden": "",
            style: Qe({ order: w.value.month }),
            onClick: P[3] || (P[3] = (R) => A("month"))
          }, ze(t.labels.month), 7)) : ge("", !0)
        ], 64)) : ge("", !0),
        t.enabled.date ? (S(), D(st, { key: 3 }, [
          t.enabled.month || t.enabled.year ? (S(), D("div", {
            key: 0,
            class: x(e(o).be("separator")),
            "aria-hidden": "",
            style: { order: "-1" }
          }, ze(t.dateSeparator), 3)) : ge("", !0),
          oe("div", {
            class: x([e(o).be("unit"), F("date")]),
            role: "spinbutton",
            "aria-label": c.value.date,
            "aria-valuenow": a.dateValue.date,
            "aria-valuetext": u.value,
            "aria-valuemin": 1,
            "aria-valuemax": k.value || 31,
            "aria-labelledby": t.labeledBy,
            style: Qe({ order: w.value.date }),
            onClick: P[4] || (P[4] = (R) => A("date"))
          }, ze(u.value), 15, x0),
          t.labels.date ? (S(), D("div", {
            key: 1,
            class: x(e(o).be("label")),
            "aria-hidden": "",
            style: Qe({ order: w.value.date }),
            onClick: P[5] || (P[5] = (R) => A("date"))
          }, ze(t.labels.date), 7)) : ge("", !0)
        ], 64)) : ge("", !0),
        m.value ? (S(), D(st, { key: 4 }, [
          oe("div", {
            class: x(e(o).be("pad"))
          }, null, 2),
          t.enabled.hour ? (S(), D("div", {
            key: 0,
            class: x([e(o).be("unit"), F("hour")]),
            role: "spinbutton",
            "aria-label": c.value.hour,
            "aria-valuenow": a.dateValue.hour,
            "aria-valuetext": h.value,
            "aria-valuemin": 0,
            "aria-valuemax": 23,
            "aria-labelledby": t.labeledBy,
            onClick: P[6] || (P[6] = (R) => A("hour"))
          }, ze(h.value), 11, S0)) : ge("", !0),
          t.labels.hour ? (S(), D("div", {
            key: 1,
            class: x(e(o).be("label")),
            "aria-hidden": "",
            onClick: P[7] || (P[7] = (R) => A("hour"))
          }, ze(t.labels.hour), 3)) : ge("", !0),
          t.enabled.minute ? (S(), D(st, { key: 2 }, [
            t.enabled.hour ? (S(), D("div", {
              key: 0,
              class: x(e(o).be("separator")),
              "aria-hidden": ""
            }, ze(t.timeSeparator), 3)) : ge("", !0),
            oe("div", {
              class: x([e(o).be("unit"), F("minute")]),
              role: "spinbutton",
              "aria-label": c.value.minute,
              "aria-valuenow": a.dateValue.minute,
              "aria-valuetext": i.value,
              "aria-valuemin": 0,
              "aria-valuemax": 59,
              "aria-labelledby": t.labeledBy,
              onClick: P[8] || (P[8] = (R) => A("minute"))
            }, ze(i.value), 11, C0),
            t.labels.minute ? (S(), D("div", {
              key: 1,
              class: x(e(o).be("label")),
              "aria-hidden": "",
              onClick: P[9] || (P[9] = (R) => A("minute"))
            }, ze(t.labels.minute), 3)) : ge("", !0)
          ], 64)) : ge("", !0),
          t.enabled.second ? (S(), D(st, { key: 3 }, [
            t.enabled.minute || t.enabled.hour ? (S(), D("div", {
              key: 0,
              class: x(e(o).be("separator")),
              "aria-hidden": ""
            }, ze(t.timeSeparator), 3)) : ge("", !0),
            oe("div", {
              class: x([e(o).be("unit"), F("second")]),
              role: "spinbutton",
              "aria-label": c.value.second,
              "aria-valuenow": a.dateValue.second,
              "aria-valuetext": v.value,
              "aria-valuemin": 0,
              "aria-valuemax": 59,
              "aria-labelledby": t.labeledBy,
              onClick: P[10] || (P[10] = (R) => A("second"))
            }, ze(v.value), 11, T0),
            t.labels.second ? (S(), D("div", {
              key: 1,
              class: x(e(o).be("label")),
              "aria-hidden": "",
              onClick: P[11] || (P[11] = (R) => A("second"))
            }, ze(t.labels.second), 3)) : ge("", !0)
          ], 64)) : ge("", !0)
        ], 64)) : ge("", !0)
      ], 64))
    ], 34));
  }
}), $0 = ft({
  scrollClass: Bn,
  scrollStyle: kl,
  scrollAttrs: Object,
  mode: String,
  width: [Number, String],
  height: [Number, String],
  deltaX: Number,
  deltaY: Number,
  disabled: M,
  pointer: M,
  wheel: M,
  scrollX: Number,
  scrollY: Number,
  useXBar: M,
  useYBar: M,
  barFade: Number,
  barClass: Bn,
  autoplay: La,
  playWaiting: Number,
  noBuffer: M,
  noTransition: M,
  onBeforeScroll: Function,
  useBarTrack: M,
  scrollTag: String,
  onResize: B(),
  onXEnabledChange: B(),
  onYEnabledChange: B(),
  onWheel: B(),
  onScrollStart: B(),
  onScroll: B(),
  onScrollEnd: B(),
  onBarScrollStart: B(),
  onBarScroll: B(),
  onBarScrollEnd: B(),
  onReady: B()
});
function E0({
  mode: t,
  disabled: r,
  width: l,
  height: a,
  scrollX: n,
  scrollY: o,
  onResize: s,
  onBeforeRefresh: c,
  onAfterRefresh: d
}) {
  const { manualRef: p, triggerUpdate: m } = ci(), b = $(), f = $(), u = pt({
    el: b,
    width: rn(l.value),
    height: rn(a.value)
  }), h = pt({
    el: f,
    width: 0,
    height: 0
  }), i = p(-n.value), v = p(-o.value), k = $(!1), w = p(0), T = p(0), F = g(() => u.width ? u.width - h.width : 0), A = g(() => u.height ? u.height - h.height : 0), z = g(() => !r.value && t.value !== "vertical" && !!u.width && h.width - u.width > 1), C = g(() => !r.value && t.value !== "horizontal" && !!u.height && h.height - u.height > 1), E = g(() => u.width ? Math.max(Math.min(u.width / (h.width || 1) * 100, 99), 5) : 35), P = g(() => u.height ? Math.max(Math.min(u.height / (h.height || 1) * 100, 99), 5) : 35);
  le(b, () => {
    L();
  }), le(f, () => {
    G();
  }), le(n, (Z) => {
    i.value = -Z, ee();
  }), le(o, (Z) => {
    v.value = -Z, ee();
  }), le(l, () => {
    L().then(ee);
  }), le(a, () => {
    L().then(ee);
  });
  function R(Z) {
    return kt(() => {
      if (!u.el) return;
      const K = Z === "width" ? l.value : a.value, we = Z.slice(0, 1).toUpperCase() + Z.slice(1);
      typeof K == "string" ? !K.endsWith("px") && (!K || Number.isNaN(Number(K))) ? u[Z] = u.el[`offset${we}`] : u[Z] = parseInt(K) : u[Z] = K;
    });
  }
  async function L() {
    const Z = [];
    t.value !== "vertical" && Z.push(R("width")), t.value !== "horizontal" && Z.push(R("height")), await Promise.all(Z);
  }
  let I;
  function G() {
    return clearTimeout(I), new Promise((Z) => {
      k.value = !1, I = setTimeout(() => {
        if (!h.el) {
          Z();
          return;
        }
        t.value !== "vertical" && (h.width = h.el.offsetWidth, u.width >= h.width ? i.value = 0 : i.value === 0 && (i.value = -n.value)), t.value !== "horizontal" && (h.height = h.el.offsetHeight, u.height >= h.height ? v.value = 0 : v.value === 0 && (v.value = -o.value)), setTimeout(() => {
          k.value = !0, ee(), Z();
        }, 1);
      }, 0);
    });
  }
  function ee() {
    k.value && (t.value !== "vertical" && (i.value = Math.min(0, Math.max(i.value, F.value)), t.value !== "both" && (v.value = 0)), t.value !== "horizontal" && (v.value = Math.min(0, Math.max(v.value, A.value)), t.value !== "both" && (i.value = 0)), O(), m());
  }
  function O() {
    w.value = br(i.value / (F.value || -1), 100, 2), T.value = br(v.value / (A.value || -1), 100, 2), w.value = Math.max(0, Math.min(w.value, 100)), T.value = Math.max(0, Math.min(T.value, 100));
  }
  function H(Z) {
    q(), s == null || s(Z);
  }
  let U = !1;
  sn(() => {
    q(), U = !0;
  });
  async function q() {
    typeof c == "function" && c(), L(), await G().then(() => {
      setTimeout(
        () => {
          ee(), typeof d == "function" && d();
        },
        U ? 20 : 100
      );
    });
  }
  return {
    wrapperEl: b,
    contentEl: f,
    wrapper: u,
    content: h,
    isReady: k,
    x: i,
    y: v,
    percentX: w,
    percentY: T,
    xScrollLimit: F,
    yScrollLimit: A,
    enableXScroll: z,
    enableYScroll: C,
    xBarLength: E,
    yBarLength: P,
    handleResize: H,
    verifyScroll: ee,
    computePercent: O,
    refresh: q,
    triggerUpdate: m
  };
}
const A0 = Object.freeze([
  "horizontal",
  "horizontal-exact",
  "vertical",
  "both"
]), Hu = wl ? "touchmove" : "mousemove", Vu = wl ? "touchend" : "mouseup", Ei = /* @__PURE__ */ Xe({
  name: "Scroll",
  __name: "scroll",
  props: $0,
  setup(t, { expose: r }) {
    const a = ct("scroll", t, {
      scrollClass: null,
      scrollStyle: null,
      scrollAttrs: null,
      mode: {
        default: "vertical",
        validator: (Me) => A0.includes(Me)
      },
      width: "",
      height: "",
      deltaX: 40,
      deltaY: 40,
      disabled: !1,
      pointer: wl,
      wheel: !0,
      scrollX: {
        default: 0,
        static: !0
      },
      scrollY: {
        default: 0,
        static: !0
      },
      useXBar: !1,
      useYBar: !1,
      barFade: 1500,
      barClass: null,
      autoplay: !1,
      playWaiting: 500,
      noBuffer: !1,
      noTransition: !1,
      onBeforeScroll: {
        default: null,
        isFunc: !0
      },
      useBarTrack: !1,
      scrollTag: "div"
    }), n = ai(), o = Ye("scroll"), { isRtl: s } = Un(), { timer: c } = Vn(), d = $(!1), p = $(!1), m = $(0), b = g(() => a.mode === "horizontal-exact" ? "horizontal" : a.mode);
    let f = 180;
    const u = $(), h = $();
    let i = !1;
    const {
      wrapperEl: v,
      contentEl: k,
      wrapper: w,
      isReady: T,
      x: F,
      y: A,
      percentX: z,
      percentY: C,
      xScrollLimit: E,
      yScrollLimit: P,
      enableXScroll: R,
      enableYScroll: L,
      xBarLength: I,
      yBarLength: G,
      handleResize: ee,
      verifyScroll: O,
      computePercent: H,
      refresh: U,
      triggerUpdate: q
    } = E0({
      mode: b,
      disabled: qe(a, "disabled"),
      width: qe(a, "width"),
      height: qe(a, "height"),
      scrollX: qe(a, "scrollX"),
      scrollY: qe(a, "scrollY"),
      onResize: (Me) => {
        _(a.onResize, Me);
      },
      // onBeforeRefresh: stopAutoplay,
      onAfterRefresh: () => {
        Ze(), i || (i = !0, de());
      }
    }), Z = yl({
      getState: qt,
      refresh: U,
      scrollTo: Re,
      scrollBy: he,
      scrollToElement: lt,
      ensureInView: Ke
    }), K = $(!1), we = g(() => b.value !== "both" && (pc(a.autoplay) || +a.autoplay > 1e3) && (b.value === "horizontal" && R.value || b.value === "vertical" && L.value));
    le([() => a.autoplay, () => a.playWaiting], () => {
      te(), kt(de);
    });
    function de() {
      if (!we.value) return;
      te();
      const Me = b.value === "horizontal" ? "width" : "height", Ge = b.value === "horizontal" ? E : P, mt = b.value === "horizontal" ? F : A, bt = a.playWaiting < 20 ? 20 : a.playWaiting;
      let Ot = 0.5;
      typeof a.autoplay == "number" && (Ot = w[Me] / a.autoplay * 16);
      const Vt = () => {
        H(), q(), Ze(), Wt(b.value);
      }, $e = () => {
        mt.value -= Ot, mt.value <= Ge.value ? (mt.value = Ge.value, K.value = !1, Vt(), c.end = setTimeout(() => {
          Re(0, 0, 500), c.start = setTimeout(() => {
            K.value = !0, Wt(b.value), $e();
          }, 500 + bt);
        }, bt)) : (Vt(), K.value && requestAnimationFrame($e));
      };
      c.play = setTimeout(() => {
        K.value = !0, $e();
      }, bt);
    }
    function te() {
      K.value = !1, clearTimeout(c.play), clearTimeout(c.start), clearTimeout(c.end);
    }
    const Ee = g(() => [
      o.b(),
      o.bs("vars"),
      o.bm(b.value),
      {
        [o.bm("inherit")]: a.inherit,
        [o.bm("using-bar")]: d.value,
        [o.bm("scrolling")]: p.value,
        [o.bm("no-ready")]: !T.value,
        [o.bm("no-transition")]: a.noTransition
      }
    ]), Se = g(() => {
      const { width: Me, height: Ge } = a;
      return {
        width: Me ? typeof Me == "string" ? Number.isNaN(Number(Me)) ? Me : `${Number(Me)}px` : `${Me}px` : void 0,
        height: Ge ? typeof Ge == "string" ? Number.isNaN(Number(Ge)) ? Ge : `${Number(Ge)}px` : `${Ge}px` : void 0
      };
    }), Ce = g(() => {
      var Me;
      return [(Me = a.scrollAttrs) == null ? void 0 : Me.class, a.scrollClass, o.be("wrapper")];
    }), fe = g(() => {
      var Me;
      return [(Me = a.scrollAttrs) == null ? void 0 : Me.style, a.scrollStyle];
    });
    le(R, (Me) => {
      _(a.onXEnabledChange, Me);
    }), le(L, (Me) => {
      _(a.onYEnabledChange, Me);
    }), le(T, (Me) => {
      Me ? (m.value = -1, _(a.onReady)) : m.value = 0;
    }), In(() => {
      k.value && (k.value.style.transform = `translate3d(${s.value ? -F.value : F.value}px, ${A.value}px, 0)`);
    }), In(() => {
      k.value && (k.value.style.transitionDuration = m.value < 0 ? "" : `${m.value}ms`);
    }), sn(() => {
      if (!zt || !v.value) return;
      const Ge = getComputedStyle(v.value).getPropertyValue(o.cv("move-duration")).trim();
      Ge.endsWith("ms") ? f = parseFloat(Ge) : Ge.endsWith("s") && (f = parseFloat(Ge) * 1e3), f = Number.isNaN(f) ? 140 : f;
    }), pn(te), r({
      percentX: z,
      percentY: C,
      x: F,
      y: A,
      isReady: T,
      xBarLength: I,
      yBarLength: G,
      enableXScroll: R,
      enableYScroll: L,
      wrapper: v,
      content: k,
      xBar: u,
      yBar: h,
      refresh: U,
      scrollTo: Re,
      scrollBy: he,
      scrollToElement: lt,
      ensureInView: Ke,
      getXScrollLimit: Ct,
      getYScrollLimit: ve,
      addScrollListener: Ve,
      removeScrollListener: Ie
    });
    function ot() {
      return {
        clientX: -F.value,
        clientY: -A.value,
        percentX: z.value,
        percentY: C.value
      };
    }
    function Ze() {
      var Me, Ge;
      (Me = u.value) == null || Me.handleScroll(z.value), (Ge = h.value) == null || Ge.handleScroll(C.value);
    }
    function Je(Me) {
      if (!a.pointer || Me.button > 0 || wl)
        return !1;
      re(Me);
    }
    function se(Me) {
      if (!a.pointer || Me.touches.length !== 1)
        return !1;
      re(Me);
    }
    let ne = 0, ue = 0, J = 0, N = 0, j = !1, ae = null, be = 0;
    function re(Me) {
      if (!R.value && !L.value)
        return !1;
      Me.cancelable && Me.preventDefault(), yt(), m.value = 0;
      const Ge = "touches" in Me ? Me.touches[0] : Me;
      ne = F.value, ue = A.value, J = Ge.clientX, N = Ge.clientY, j = !1, ae = Me.target, be = Date.now(), document.addEventListener(Hu, ce), document.addEventListener(Vu, Pe), _(a.onScrollStart, ot());
    }
    function ce(Me) {
      var Ot;
      Me.stopPropagation(), wl || Me.preventDefault();
      const Ge = "touches" in Me ? Me.touches[0] : Me, mt = Ge.clientX - J > 0 ? 1 : -1, bt = Ge.clientY - N > 0 ? 1 : -1;
      if (((Ot = a.onBeforeScroll) == null ? void 0 : Ot.call(a, { signX: mt, signY: bt })) === !1)
        return !1;
      p.value = !0, R.value && (F.value = ne + Ge.clientX - J, j = !0), L.value && (A.value = ue + Ge.clientY - N, j = !0), a.noBuffer ? O() : (H(), q()), Ze(), Wt(b.value);
    }
    function Pe(Me) {
      !j && ae && Me.target === ae && Date.now() - be <= 500 && ae.dispatchEvent(new MouseEvent("click", Me)), document.removeEventListener(Hu, ce), document.removeEventListener(Vu, Pe), m.value = -1, j = !1, Nt(), O(), Ze(), _(a.onScrollEnd, ot()), de();
    }
    function at(Me, Ge) {
      var $e;
      const mt = L.value && Ge === "vertical", bt = R.value && Ge === "horizontal", Ot = Me.deltaY > 0 ? -1 : 1;
      if (a.wheel && (mt || bt) && (($e = a.onBeforeScroll) == null ? void 0 : $e.call(a, { signX: -Ot, signY: -Ot })) !== !1)
        Me.preventDefault(), Me.stopPropagation();
      else
        return !0;
      if (b.value !== "both" && b.value !== Ge) return !1;
      yt();
      const Vt = Ot * (Ge === "horizontal" ? a.deltaX : a.deltaY);
      mt ? A.value += Vt : bt && (F.value += Vt), O(), Ze(), Wt(Ge), _(a.onWheel, {
        ...ot(),
        type: Ge,
        sign: -Ot
      }), de();
    }
    function yt() {
      te(), clearTimeout(c.buffer);
    }
    function Nt() {
      a.noBuffer ? c.buffer = setTimeout(() => {
        p.value = !1;
      }, 300) : p.value = !1;
    }
    function Mt(Me) {
      d.value = !0, _(a.onBarScrollStart, { ...ot(), type: Me });
    }
    function Ht(Me) {
      d.value = !1, _(a.onBarScrollEnd, { ...ot(), type: Me });
    }
    function _t(Me) {
      z.value = Me, F.value = Me * E.value / 100, q(), _(a.onBarScroll, {
        ...ot(),
        type: "horizontal"
      }), Wt("horizontal");
    }
    function tn(Me) {
      C.value = Me, A.value = Me * P.value / 100, q(), _(a.onBarScroll, {
        ...ot(),
        type: "vertical"
      }), Wt("vertical");
    }
    function Wt(Me) {
      _(a.onScroll, {
        ...ot(),
        type: Me
      }), n.emit("scroll", {
        ...ot(),
        type: Me
      });
    }
    function un() {
      v.value && (v.value.scrollTop = 0, v.value.scrollLeft = 0);
    }
    function qt() {
      const { clientX: Me, clientY: Ge, percentX: mt, percentY: bt } = ot();
      return {
        scrollX: Me,
        scrollY: Ge,
        percentX: mt,
        percentY: bt,
        enableXScroll: R.value,
        enableYScroll: L.value
      };
    }
    function pe(Me = f) {
      return clearTimeout(c.wait), new Promise((Ge) => {
        c.wait = setTimeout(() => Ge(), Me + 1);
      });
    }
    function Re(Me, Ge, mt) {
      return Fe(mt), kt(() => {
        let bt = !1;
        R.value && Math.abs(F.value + Me) > 0.01 && (F.value = -Me, bt = !0), L.value && Math.abs(A.value + Ge) > 0.01 && (A.value = -Ge, bt = !0), O(), Ze(), bt || (m.value = -1);
      }), pe(mt);
    }
    function he(Me, Ge, mt) {
      return Fe(mt), kt(() => {
        let bt = !1;
        Me && R && (F.value -= Me, bt = !0), Ge && L && (A.value -= Ge, bt = !0), O(), Ze(), bt || (m.value = -1);
      }), pe(mt);
    }
    function Fe(Me) {
      typeof Me == "number" && (m.value = Me, m.value === 0 && kt(() => {
        m.value = -1;
      }));
    }
    function lt(Me, Ge, mt = 0) {
      if (!k.value || (typeof Me == "string" && (Me = k.value.querySelector(Me)), !Rl(Me))) return Promise.resolve();
      const bt = k.value.getBoundingClientRect(), Ot = Me.getBoundingClientRect();
      let Vt = 0, $e = 0;
      return b.value !== "vertical" && (Vt = Ot.left - bt.left + mt), b.value !== "horizontal" && ($e = Ot.top - bt.top + mt), Re(Vt, $e, Ge);
    }
    function Ke(Me, Ge, mt = 0) {
      if (!v.value || (typeof Me == "string" && (Me = v.value.querySelector(Me)), !Rl(Me))) return Promise.resolve();
      const bt = v.value.getBoundingClientRect(), Ot = Me.getBoundingClientRect();
      let Vt = 0, $e = 0;
      return b.value !== "vertical" && (Ot.left < bt.left + mt ? Vt = Ot.left - bt.left - mt : Ot.right > bt.right - mt && (Vt = Ot.right - bt.right + mt)), b.value !== "horizontal" && (Ot.top < bt.top + mt ? $e = Ot.top - bt.top - mt : Ot.bottom > bt.bottom - mt && ($e = Ot.bottom - bt.bottom + mt)), he(Vt, $e, Ge);
    }
    function Ct() {
      return [0, -E.value];
    }
    function ve() {
      return [0, -P.value];
    }
    function Ve(Me) {
      n.on("scroll", Me);
    }
    function Ie(Me) {
      n.off("scroll", Me);
    }
    return (Me, Ge) => (S(), D("div", {
      ref_key: "wrapperEl",
      ref: v,
      class: x(Ee.value),
      style: Qe(Se.value),
      onMousedown: Je,
      onTouchstart: se,
      onScroll: un,
      onWheel: [
        Ge[5] || (Ge[5] = gt((mt) => at(mt, e(a).mode === "horizontal-exact" ? "horizontal" : "vertical"), ["exact"])),
        Ge[6] || (Ge[6] = gt((mt) => at(mt, "horizontal"), ["shift"]))
      ]
    }, [
      Me.$slots.extra ? (S(), D("div", {
        key: 0,
        class: x(e(o).be("extra"))
      }, [
        W(Me.$slots, "extra", It(Yt(e(Z))))
      ], 2)) : ge("", !0),
      y(e(zn), {
        throttle: "",
        "on-resize": e(ee)
      }, {
        default: X(() => [
          (S(), Be(fc(e(a).scrollTag || "div"), He(e(a).scrollAttrs, {
            ref_key: "contentEl",
            ref: k,
            class: Ce.value,
            style: fe.value,
            onTransitionend: Ge[0] || (Ge[0] = (mt) => m.value = -1)
          }), {
            default: X(() => [
              W(Me.$slots, "default", It(Yt(e(Z))))
            ]),
            _: 3
          }, 16, ["class", "style"]))
        ]),
        _: 3
      }, 8, ["on-resize"]),
      e(a).useXBar ? (S(), Be(e(Ma), {
        key: 1,
        ref_key: "xBar",
        ref: u,
        inherit: "",
        placement: "bottom",
        class: x([e(o).bem("bar", "horizontal"), e(a).barClass]),
        fade: e(a).barFade,
        "bar-length": e(I),
        disabled: !e(R),
        duration: m.value,
        "use-track": e(a).useBarTrack,
        onScrollStart: Ge[1] || (Ge[1] = (mt) => Mt("horizontal")),
        onScroll: _t,
        onScrollEnd: Ge[2] || (Ge[2] = (mt) => Ht("horizontal"))
      }, null, 8, ["class", "fade", "bar-length", "disabled", "duration", "use-track"])) : ge("", !0),
      e(a).useYBar ? (S(), Be(e(Ma), {
        key: 2,
        ref_key: "yBar",
        ref: h,
        inherit: "",
        placement: "right",
        class: x([e(o).bem("bar", "vertical"), e(a).barClass]),
        fade: e(a).barFade,
        "bar-length": e(G),
        disabled: !e(L),
        duration: m.value,
        "use-track": e(a).useBarTrack,
        onScrollStart: Ge[3] || (Ge[3] = (mt) => Mt("vertical")),
        onScroll: tn,
        onScrollEnd: Ge[4] || (Ge[4] = (mt) => Ht("vertical"))
      }, null, 8, ["class", "fade", "bar-length", "disabled", "duration", "use-track"])) : ge("", !0)
    ], 38));
  }
}), Hd = "__VXP_WHEEL_STATE", R0 = ["aria-disabled", "aria-selected"], M0 = /* @__PURE__ */ Xe({
  name: "WheelItem",
  __name: "wheel-item",
  props: {
    value: {
      type: [Number, String],
      default: null
    },
    disabled: {
      type: Boolean,
      default: !1
    },
    active: {
      type: Boolean,
      default: !1
    },
    meta: {
      type: [String, Number, Object],
      default: null
    }
  },
  setup(t, { expose: r }) {
    const l = t, a = Ye("wheel"), n = Et(Hd, null), o = $(0), s = $(0), c = $(), d = pt({
      width: o,
      height: s,
      el: c,
      value: qe(l, "value"),
      disabled: qe(l, "disabled"),
      meta: qe(l, "meta")
    }), p = g(() => ({
      width: o.value ? `${o.value}px` : void 0,
      height: s.value ? `${s.value}px` : void 0
    }));
    return n && (sn(() => {
      n.increaseItem(d);
    }), pn(() => {
      n.decreaseItem(d);
    })), r({ wrapper: c }), (m, b) => (S(), D("li", {
      ref_key: "wrapper",
      ref: c,
      class: x([
        e(a).be("item"),
        t.disabled && e(a).bem("item", "disabled"),
        t.active && e(a).bem("item", "active")
      ]),
      role: "option",
      "aria-disabled": t.disabled ? "true" : void 0,
      "aria-selected": t.active,
      style: Qe(p.value)
    }, [
      W(m.$slots, "default", {}, () => [
        dt(ze(t.value), 1)
      ])
    ], 14, R0));
  }
}), P0 = ft({
  state: Zn,
  horizontal: M,
  value: [String, Number],
  /**
   * 上下或左右两侧的候选数
   */
  candidate: Number,
  arrow: M,
  pointer: M,
  options: Array,
  insertEmpty: hn,
  disabled: M,
  loading: M,
  loadingLock: M,
  disabledItem: Function,
  noTransition: M,
  selectable: M,
  slots: Object,
  onChange: B(),
  onPrev: B(),
  onNext: B(),
  onItemClick: B()
}), z0 = ["id", "aria-labelledby"], bo = /* @__PURE__ */ Xe({
  name: "Wheel",
  __name: "wheel",
  props: P0,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const { idFor: a, labelId: n, state: o, disabled: s, loading: c, validateField: d, getFieldValue: p, setFieldValue: m } = al(() => {
      var re;
      return (re = R.value) == null ? void 0 : re.focus();
    }), f = ct("wheel", t, {
      state: ll(o),
      horizontal: !1,
      value: {
        default: () => p(),
        static: !0
      },
      candidate: {
        default: 2,
        validator: (re) => [0, 1, 2, 3].includes(re)
      },
      arrow: !1,
      pointer: wl,
      options: {
        default: () => [],
        static: !0
      },
      insertEmpty: !1,
      disabled: () => s.value,
      loading: () => c.value,
      loadingLock: !1,
      disabledItem: {
        default: sa,
        isFunc: !0
      },
      noTransition: !1,
      selectable: !1,
      slots: () => ({})
    }), u = l, h = Ye("wheel"), i = Gt(), v = $(/* @__PURE__ */ new Set()), k = $(0), w = $(0), T = $(0), F = $(0), A = $(0), z = $(0), C = $(0), E = $(!1), { isRtl: P } = Un(), R = Wo(ne), L = $();
    cl({
      target: R,
      passive: !1,
      onKeyDown: (re, ce) => {
        (ce.up || ce.down) && (re.preventDefault(), ce.up ? j() : ae());
      }
    });
    const I = g(() => {
      const re = f.options.map((ce) => {
        if (typeof ce == "object") {
          const { value: Pe, label: at, disabled: yt = !1 } = ce;
          return {
            value: Pe,
            label: at || String(Pe),
            disabled: yt,
            meta: ce
          };
        }
        return { value: ce, label: String(ce), disabled: !1, meta: ce };
      });
      return f.insertEmpty && re.unshift({
        value: "",
        label: typeof f.insertEmpty == "string" ? f.insertEmpty : "-",
        disabled: !1,
        meta: ""
      }), re;
    }), G = g(() => Array.from(v.value)), ee = g(() => f.loading && f.loadingLock), O = g(() => [
      h.b(),
      h.bs("vars"),
      h.bm(f.horizontal ? "horizontal" : "vertical"),
      {
        [h.bm("inherit")]: f.inherit,
        [h.bm(f.state)]: f.state !== "default",
        [h.bm("disabled")]: f.disabled,
        [h.bm("readonly")]: ee.value,
        [h.bm("loading")]: f.loading
      }
    ]), H = g(() => f.horizontal ? {
      paddingRight: `${z.value}px`,
      paddingLeft: `${z.value}px`
    } : {
      paddingTop: `${C.value}px`,
      paddingBottom: `${C.value}px`
    }), U = g(() => f.horizontal ? {
      width: z.value ? `${z.value}px` : void 0
    } : {
      height: C.value ? `${C.value}px` : void 0
    }), q = g(() => {
      const re = {
        inset: f.horizontal ? `0 ${z.value - 1}px` : `${C.value - 1}px 0`
      };
      return f.horizontal ? (re.borderTop = "0", re.borderBottom = "0") : (re.borderRight = "0", re.borderLeft = "0"), re;
    }), Z = g(() => f.disabled || !G.value.slice(0, k.value).some((re) => !Ce(re))), K = g(() => f.disabled || k.value >= G.value.length - 1 || !G.value.slice(k.value + 1, G.value.length).some((re) => !Ce(re))), we = g(
      () => f.horizontal ? P.value ? i.value.angleRight : i.value.angleLeft : i.value.angleUp
    ), de = g(
      () => f.horizontal ? P.value ? i.value.angleLeft : i.value.angleRight : i.value.angleDown
    );
    nn(Hd, { increaseItem: Je, decreaseItem: se });
    const te = Ln(() => {
      const re = Math.max(
        G.value.findIndex((ce) => ce.value === f.value),
        0
      );
      fe(Ze(re));
    }), Ee = Ln(() => {
      kt(() => {
        const re = f.horizontal;
        G.value.forEach((at) => {
          at && at.el && (F.value = Math.max(F.value, at.el.offsetWidth), A.value = Math.max(A.value, at.el.offsetHeight));
        });
        const ce = f.candidate, Pe = 2 * ce + 1;
        w.value = Pe * F.value, T.value = Pe * A.value, z.value = ce * F.value, C.value = ce * A.value, v.value.forEach((at) => {
          re ? at.width = F.value : at.height = A.value;
        }), setTimeout(() => {
          var at;
          (at = L.value) == null || at.refresh();
        }, 0);
      });
    }), Se = da(() => {
      if (L.value) {
        let re = 0, ce = 0;
        f.horizontal ? re = k.value * F.value : ce = k.value * A.value, kt(() => {
          var Pe;
          (Pe = L.value) == null || Pe.scrollTo(re, ce);
        });
      }
    }, 20);
    le(
      () => f.value,
      () => {
        te(), Se();
      },
      { immediate: !0 }
    ), le(() => f.horizontal, Ee), le(() => f.candidate, Ee), r({
      idFor: a,
      currentActive: k,
      isInit: E,
      targetWidth: F,
      targetHeight: A,
      wrapperWidth: w,
      wrapperHeight: T,
      itemList: G,
      wrapper: R,
      scroll: L,
      refreshScroll: Se,
      focus: (re) => {
        var ce;
        return (ce = R.value) == null ? void 0 : ce.focus(re);
      },
      blur: () => {
        var re;
        return (re = R.value) == null ? void 0 : re.blur();
      }
    });
    function Ce(re) {
      return re.disabled || f.disabledItem(re.value, re.meta);
    }
    function fe(re) {
      if (k.value === re) return;
      k.value = re;
      const ce = G.value[re], Pe = ce == null ? void 0 : ce.value;
      Se(), u("update:value", Pe), m(Pe), _(f.onChange, Pe, ce == null ? void 0 : ce.meta), d();
    }
    function ot(re, ce) {
      for (ce = ce / Math.abs(ce); G.value[re].disabled && (re += ce, !(re < 0 || re >= G.value.length)); )
        ;
      return re;
    }
    function Ze(re, ce = 1) {
      return G.value[re] && Ce(G.value[re]) && (re = ot(re, 1 * ce), (ce > 0 ? re >= G.value.length : re < 0) && (re = ot(cn(re, 0, G.value.length - 1), -1 * ce), (ce > 0 ? re < 0 : re >= G.value.length) && (re = 0))), re;
    }
    function Je(re) {
      v.value.add(re), Ee(), te();
    }
    function se(re) {
      v.value.delete(re), Ee(), te();
    }
    function ne() {
      var re;
      Ee(), (re = L.value) == null || re.refresh(), kt(() => {
        E.value = !0, te(), Se();
      });
    }
    function ue({ signX: re, signY: ce }) {
      if (f.disabled || ee.value) return !1;
      const Pe = f.horizontal ? re : ce;
      return !(Pe < 0 && Z.value || Pe > 0 && K.value);
    }
    function J({ clientX: re, clientY: ce }) {
      const Pe = f.horizontal ? re / F.value : ce / A.value, at = Math.round(Pe);
      at !== k.value ? fe(Ze(at, at > Pe ? 1 : -1)) : Se();
    }
    function N({
      sign: re,
      clientX: ce,
      clientY: Pe
    }) {
      const at = f.horizontal ? Math.round(ce / F.value) : Math.round(Pe / A.value);
      fe(Ze(at, re));
    }
    function j() {
      if (!Z.value) {
        fe(Ze(k.value - 1, -1));
        const re = G.value[k.value];
        _(f.onPrev, re == null ? void 0 : re.value, re == null ? void 0 : re.meta);
      }
    }
    function ae() {
      if (!K.value) {
        fe(Ze(k.value + 1, 1));
        const re = G.value[k.value];
        _(f.onNext, re == null ? void 0 : re.value, re == null ? void 0 : re.meta);
      }
    }
    function be(re, ce) {
      f.selectable && !Ce(G.value[ce]) && fe(ce), _(f.onItemClick, re.value, re.meta);
    }
    return (re, ce) => (S(), D("div", {
      id: e(a),
      ref_key: "wrapper",
      ref: R,
      class: x(O.value),
      tabindex: "0",
      role: "group",
      "aria-labelledby": e(n)
    }, [
      e(f).arrow ? (S(), D("div", {
        key: 0,
        ref: "prevArrow",
        class: x([
          e(h).be("arrow"),
          e(h).bem("arrow", "prev"),
          Z.value ? e(h).bem("arrow", "disabled") : ""
        ]),
        "aria-hidden": "",
        onClick: j
      }, [
        y(e(Oe), It(Yt(we.value)), null, 16)
      ], 2)) : ge("", !0),
      oe("div", {
        class: x(e(h).be("scroll")),
        role: "none"
      }, [
        y(e(Ei), {
          ref_key: "scroll",
          ref: L,
          inherit: "",
          "scroll-x": e(f).horizontal ? F.value * k.value : 0,
          "scroll-y": e(f).horizontal ? 0 : A.value * k.value,
          width: e(f).horizontal ? w.value : "100%",
          height: e(f).horizontal ? "100%" : T.value,
          pointer: e(f).pointer,
          mode: e(f).horizontal ? "horizontal" : "vertical",
          "delta-x": F.value,
          "delta-y": A.value,
          "on-before-scroll": ue,
          "no-transition": e(f).noTransition,
          onWheel: N,
          onScrollEnd: J
        }, {
          default: X(() => [
            oe("ul", {
              ref: "list",
              class: x(e(h).be("list")),
              style: Qe(H.value)
            }, [
              E.value ? (S(!0), D(st, { key: 0 }, ln(I.value, (Pe, at) => (S(), Be(M0, {
                key: at,
                value: Pe.value,
                disabled: Pe.disabled || e(f).disabledItem(Pe.value, Pe),
                active: k.value === at,
                meta: Pe.meta,
                onClick: (yt) => be(Pe, at)
              }, {
                default: X(() => [
                  W(re.$slots, "default", {
                    option: Pe,
                    index: at
                  }, () => [
                    y(e(me), {
                      renderer: e(f).slots.default,
                      data: { option: Pe, index: at }
                    }, {
                      default: X(() => [
                        dt(ze(Pe.label), 1)
                      ]),
                      _: 2
                    }, 1032, ["renderer", "data"])
                  ])
                ]),
                _: 2
              }, 1032, ["value", "disabled", "active", "meta", "onClick"]))), 128)) : ge("", !0)
            ], 6)
          ]),
          _: 3
        }, 8, ["scroll-x", "scroll-y", "width", "height", "pointer", "mode", "delta-x", "delta-y", "no-transition"]),
        e(f).candidate ? (S(), D(st, { key: 0 }, [
          oe("div", {
            class: x([e(h).be("mask"), e(h).bem("mask", "top")]),
            style: Qe(U.value)
          }, null, 6),
          oe("div", {
            class: x([e(h).be("mask"), e(h).bem("mask", "bottom")]),
            style: Qe(U.value)
          }, null, 6)
        ], 64)) : ge("", !0),
        oe("div", {
          class: x({
            [e(h).be("border")]: !0,
            [e(h).bem("border", "active")]: e(f).loading,
            [e(h).bem("border", "vertical")]: e(f).horizontal
          }),
          style: Qe(q.value)
        }, null, 6)
      ], 2),
      e(f).arrow ? (S(), D("div", {
        key: 1,
        ref: "nextArrow",
        class: x([
          e(h).be("arrow"),
          e(h).bem("arrow", "next"),
          K.value ? e(h).bem("arrow", "disabled") : ""
        ]),
        "aria-hidden": "",
        onClick: ae
      }, [
        y(e(Oe), It(Yt(de.value)), null, 16)
      ], 2)) : ge("", !0)
    ], 10, z0));
  }
}), Io = /* @__PURE__ */ Xe({
  name: "TimeWheel",
  __name: "time-wheel",
  props: {
    noArrow: {
      type: Boolean,
      default: !1
    },
    hour: {
      type: Number,
      default: 0,
      validator: (t) => t >= 0 && t <= 23
    },
    minute: {
      type: Number,
      default: 0,
      validator: (t) => t >= 0 && t <= 59
    },
    second: {
      type: Number,
      default: 0,
      validator: (t) => t >= 0 && t <= 59
    },
    candidate: {
      default: 2,
      validator: (t) => [0, 1, 2, 3].includes(t)
    },
    steps: {
      type: Array,
      default: () => [1, 1, 1],
      validator: (t) => {
        if (t[0] && 24 % t[0] !== 0)
          return !1;
        for (let r = 1; r < 3; ++r)
          if (t[r] && 60 % t[r] !== 0)
            return !1;
        return !0;
      }
    },
    pointer: {
      type: Boolean,
      default: wl
    },
    disabledTime: {
      type: Object,
      default: () => ({})
    },
    noTransition: {
      type: Boolean,
      default: !1
    }
  },
  emits: ["change", "toggle-col", "update:hour", "update:minute", "update:second"],
  setup(t, { expose: r, emit: l }) {
    const a = t, n = l, o = Ye("time-picker"), s = $(a.hour), c = $(a.minute), d = $(a.second), p = $([]), m = $([]), b = $([]), f = $(), u = $(), h = $();
    le(() => a.steps, w, { immediate: !0 }), le(
      () => a.hour,
      (A) => {
        s.value = A;
      }
    ), le(
      () => a.minute,
      (A) => {
        c.value = A;
      }
    ), le(
      () => a.second,
      (A) => {
        d.value = A;
      }
    ), le(s, (A) => {
      n("update:hour", A), n("change", "hour", A);
    }), le(c, (A) => {
      n("update:minute", A), n("change", "minute", A);
    }), le(d, (A) => {
      n("update:second", A), n("change", "second", A);
    }), r({ refreshWheel: F });
    function i(A) {
      return typeof a.disabledTime.hour == "function" && a.disabledTime.hour(A);
    }
    function v(A) {
      return typeof a.disabledTime.minute == "function" && a.disabledTime.minute(s.value, A);
    }
    function k(A) {
      return typeof a.disabledTime.second == "function" && a.disabledTime.second(s.value, c.value, A);
    }
    function w() {
      const [A = 1, z = 1, C = 1] = a.steps;
      p.value = $l(24 / A, 0, A), m.value = $l(60 / z, 0, z), b.value = $l(60 / C, 0, C);
    }
    function T(A) {
      n("toggle-col", A);
    }
    function F() {
      [f.value, u.value, h.value].forEach((A) => {
        A == null || A.refreshScroll();
      });
    }
    return (A, z) => (S(), D("div", {
      class: x(e(o).be("wheel"))
    }, [
      y(e(bo), {
        ref_key: "hourWheel",
        ref: f,
        value: s.value,
        "onUpdate:value": z[0] || (z[0] = (C) => s.value = C),
        inherit: "",
        class: x(e(o).be("hour-wheel")),
        pointer: t.pointer,
        arrow: !t.noArrow,
        candidate: t.candidate,
        options: p.value,
        tabindex: "-1",
        "no-transition": t.noTransition,
        onMouseenter: z[1] || (z[1] = (C) => T("hour")),
        onTouchstart: z[2] || (z[2] = (C) => T("hour")),
        onKeydown: z[3] || (z[3] = gt(() => {
        }, ["stop"])),
        onItemClick: z[4] || (z[4] = (C) => s.value = C)
      }, {
        default: X(({ option: C, index: E }) => [
          oe("span", {
            class: x([
              e(o).be("option"),
              e(o).be("hour"),
              i(C.value) && e(o).bem("option", "disabled")
            ])
          }, [
            W(A.$slots, "hour", {
              option: C,
              index: E
            }, () => [
              dt(ze(e(ol)(C.value)), 1)
            ])
          ], 2)
        ]),
        _: 3
      }, 8, ["value", "class", "pointer", "arrow", "candidate", "options", "no-transition"]),
      y(e(bo), {
        ref_key: "minuteWheel",
        ref: u,
        value: c.value,
        "onUpdate:value": z[5] || (z[5] = (C) => c.value = C),
        inherit: "",
        class: x(e(o).be("minute-wheel")),
        pointer: t.pointer,
        arrow: !t.noArrow,
        candidate: t.candidate,
        options: m.value,
        tabindex: "-1",
        "no-transition": t.noTransition,
        onMouseenter: z[6] || (z[6] = (C) => T("minute")),
        onTouchstart: z[7] || (z[7] = (C) => T("minute")),
        onKeydown: z[8] || (z[8] = gt(() => {
        }, ["stop"])),
        onItemClick: z[9] || (z[9] = (C) => c.value = C)
      }, {
        default: X(({ option: C, index: E }) => [
          oe("span", {
            class: x([
              e(o).be("option"),
              e(o).be("minute"),
              v(C.value) && e(o).bem("option", "disabled")
            ])
          }, [
            W(A.$slots, "minute", {
              option: C,
              index: E
            }, () => [
              dt(ze(e(ol)(C.value)), 1)
            ])
          ], 2)
        ]),
        _: 3
      }, 8, ["value", "class", "pointer", "arrow", "candidate", "options", "no-transition"]),
      y(e(bo), {
        ref_key: "secondWheel",
        ref: h,
        value: d.value,
        "onUpdate:value": z[10] || (z[10] = (C) => d.value = C),
        inherit: "",
        class: x(e(o).be("second-wheel")),
        pointer: t.pointer,
        arrow: !t.noArrow,
        candidate: t.candidate,
        options: b.value,
        tabindex: "-1",
        "no-transition": t.noTransition,
        onMouseenter: z[11] || (z[11] = (C) => T("second")),
        onTouchstart: z[12] || (z[12] = (C) => T("second")),
        onKeydown: z[13] || (z[13] = gt(() => {
        }, ["stop"])),
        onItemClick: z[14] || (z[14] = (C) => d.value = C)
      }, {
        default: X(({ option: C, index: E }) => [
          oe("span", {
            class: x([
              e(o).be("option"),
              e(o).be("second"),
              k(C.value) && e(o).bem("option", "disabled")
            ])
          }, [
            W(A.$slots, "second", {
              option: C,
              index: E
            }, () => [
              dt(ze(e(ol)(C.value)), 1)
            ])
          ], 2)
        ]),
        _: 3
      }, 8, ["value", "class", "pointer", "arrow", "candidate", "options", "no-transition"])
    ], 2));
  }
}), L0 = ["aria-labelledby"], F0 = ["title", "onClick"], I0 = ["onClick", "onMouseenter"], N0 = ["onClick", "onMouseenter"], D0 = /* @__PURE__ */ Xe({
  name: "DatePanel",
  __name: "date-panel",
  props: {
    type: {
      default: "date",
      validator: (t) => Od.includes(t)
    },
    enabled: {
      type: Object,
      default: () => ({})
    },
    startValue: {
      type: Object,
      default: null
    },
    endValue: {
      type: Object,
      default: null
    },
    shortcuts: {
      type: Array,
      default: () => []
    },
    confirmText: {
      type: String,
      default: null
    },
    cancelText: {
      type: String,
      default: null
    },
    today: {
      type: [Number, String, Date],
      default: () => /* @__PURE__ */ new Date()
    },
    disabledDate: {
      type: Function,
      default: () => !1
    },
    noAction: {
      type: Boolean,
      default: !1
    },
    steps: {
      type: Array,
      default: () => [1, 1, 1]
    },
    range: {
      type: Boolean,
      default: !1
    },
    startActivated: {
      type: Object,
      default: () => ({})
    },
    endActivated: {
      type: Object,
      default: () => ({})
    },
    min: {
      type: [Number, String, Date],
      default: null
    },
    max: {
      type: [Number, String, Date],
      default: null
    },
    disabledTime: {
      type: Object,
      default: () => ({})
    },
    hasError: {
      type: Boolean,
      default: !1
    },
    locale: {
      type: Object,
      default: () => ({})
    },
    selectingType: {
      type: String,
      default: "start"
    },
    weekStart: {
      type: Number,
      default: null
    },
    staticWheel: {
      type: Boolean,
      default: !1
    },
    shortcutsPlacement: {
      type: String,
      default: "left"
    },
    labeledBy: {
      type: String,
      default: void 0
    }
  },
  emits: [
    "click",
    "shortcut",
    "toggle-col",
    "change",
    "cancel",
    "confirm",
    "hover",
    "type-change",
    "time-change"
  ],
  setup(t, { expose: r, emit: l }) {
    const a = t, n = l, o = Ye("date-picker"), s = Gt(), { isRtl: c } = Un(), d = gl(a.today), p = $l(12, 1, 1), m = $(
      a.type === "year" ? "year" : a.type === "month" ? "month" : "date"
    ), b = $(d.getFullYear()), f = $(d.getMonth() + 1), u = $(0), h = $(0), i = $([]), v = pt({ width: 0, height: 0 }), k = g(() => {
      const { width: J, height: N } = v;
      switch (a.shortcutsPlacement) {
        case "top":
          return { paddingTop: `${N}px` };
        case "right":
          return { paddingRight: `${J}px` };
        case "bottom":
          return { paddingBottom: `${N}px` };
        default:
          return { paddingLeft: `${J}px` };
      }
    }), w = g(() => {
      const J = a.startActivated;
      return J.year && J.month && J.date;
    }), T = g(() => {
      const J = a.endActivated;
      return J.year && J.month && J.date;
    }), F = g(() => a.type === "datetime"), A = g(() => a.range ? w.value || T.value ? [C("start"), C("end")] : ["", ""] : w.value ? C("start") : ""), z = g(() => [
      a.locale.week7,
      a.locale.week1,
      a.locale.week2,
      a.locale.week3,
      a.locale.week4,
      a.locale.week5,
      a.locale.week6
    ].map((J) => J.slice(0, 2)));
    le(
      b,
      (J) => {
        i.value = $l(12, Math.floor(J / 10) * 10, 1);
      },
      { immediate: !0 }
    ), sn(() => {
      ne("start");
    }), r({ refreshCalendar: ne });
    function C(J) {
      const N = J === "start" ? a.startValue : a.endValue;
      return N ? `${N.year}-${N.month}-${N.date}` : "";
    }
    function E(J) {
      return a.locale[`month${J}`];
    }
    function P(J) {
      m.value = J;
    }
    function R(J, N) {
      if (J === "year")
        b.value += N;
      else {
        f.value += N;
        const j = new Date(b.value, f.value - 1, 1);
        b.value = j.getFullYear(), f.value = j.getMonth() + 1;
      }
    }
    function L(J) {
      n("click", J);
    }
    function I(J) {
      const { value: N, name: j } = a.shortcuts[J];
      n("shortcut", j, vl(N));
    }
    function G(J) {
      H([J.getFullYear(), J.getMonth() + 1, J.getDate()]);
    }
    function ee(J) {
      Ce(J) || (b.value = J, a.type !== "year" ? P("month") : H([J, 1, 1]));
    }
    function O(J) {
      fe(J) || (f.value = J, a.type !== "month" ? P("date") : H([b.value, J, 1]));
    }
    function H(J) {
      n("change", J);
    }
    function U(J, N) {
      n("time-change", "start", J, N);
    }
    function q(J, N) {
      n("time-change", "end", J, N);
    }
    function Z() {
      m.value === "year" ? i.value = $l(12, i.value[0] - 10, 1) : R("year", -1);
    }
    function K() {
      m.value === "year" ? i.value = $l(12, i.value[10], 1) : R("year", 1);
    }
    function we() {
      n("cancel");
    }
    function de() {
      n("confirm");
    }
    function te(J) {
      n("hover", J);
    }
    function Ee(J) {
      return J ? a.startActivated.year && a.startValue.year === J || a.endActivated.year && a.endValue.year === J : !1;
    }
    function Se(J) {
      if (!J) return !1;
      const N = 100 * b.value + J;
      return a.startActivated.month && 100 * a.startValue.year + a.startValue.month === N || a.endActivated.month && 100 * a.endValue.year + a.endValue.month === N;
    }
    function Ce(J) {
      if (a.type === "year")
        return a.disabledDate(new Date(J, 0));
      for (let N = 1; N <= 12; ++N)
        if (!fe(N, J))
          return !1;
      return !0;
    }
    function fe(J, N = b.value) {
      if (a.type === "year") return !1;
      if (a.type === "month")
        return a.disabledDate(new Date(N, J - 1));
      const j = new Date(N, J - 1), be = new Date(N, J, 0).getDate();
      for (let re = 1; re <= be; ++re)
        if (j.setDate(re), !a.disabledDate(j))
          return !1;
      return !0;
    }
    function ot(J) {
      u.value = Ce(J) ? 0 : J;
    }
    function Ze(J) {
      h.value = fe(J) ? 0 : J;
    }
    function Je(J) {
      if (!a.range || !u.value && !a.startActivated.year && !a.endActivated.year)
        return !1;
      const N = a.startValue.year, j = a.endValue.year;
      let ae, be;
      if (!u.value && a.startActivated.year && a.endActivated.year)
        ae = Math.min(N, j), be = Math.max(N, j);
      else if (u.value) {
        if (!a.startActivated.year && !a.endActivated.year) return !1;
        if (!a.startActivated.year || !a.endActivated.year) {
          const re = a.startActivated.year ? N : j;
          ae = Math.min(u.value, re), be = Math.max(u.value, re);
        } else {
          const re = Math.min(N, j), ce = Math.max(N, j);
          ae = Math.min(u.value, re), be = Math.max(u.value, ce);
        }
      } else
        return !1;
      return J >= ae && J <= be;
    }
    function se(J) {
      if (!a.range || !h.value && !a.startActivated.month && !a.endActivated.month)
        return !1;
      const N = 100 * a.startValue.year + a.startValue.month, j = 100 * a.endValue.year + a.endValue.month;
      let ae, be;
      if (!h.value && a.startActivated.month && a.endActivated.month)
        ae = Math.min(N, j), be = Math.max(N, j);
      else if (h.value) {
        if (!a.startActivated.month && !a.endActivated.month) return !1;
        const ce = 100 * b.value + h.value;
        if (!a.startActivated.month || !a.endActivated.month) {
          const Pe = a.startActivated.month ? N : j;
          ae = Math.min(ce, Pe), be = Math.max(ce, Pe);
        } else {
          const Pe = Math.min(N, j), at = Math.max(N, j);
          ae = Math.min(ce, Pe), be = Math.max(ce, at);
        }
      } else
        return !1;
      const re = 100 * b.value + J;
      return re >= ae && re <= be;
    }
    function ne(J) {
      const N = gl(a.today);
      J === "start" ? (b.value = a.startActivated.year ? a.startValue.year : N.getFullYear(), f.value = a.startActivated.month ? a.startValue.month : N.getMonth() + 1) : (b.value = a.endActivated.year ? a.endValue.year : N.getFullYear(), f.value = a.endActivated.month ? a.endValue.month : N.getMonth() + 1);
    }
    function ue(J) {
      var j;
      const N = (j = J.borderBoxSize) == null ? void 0 : j[0];
      N ? (v.width = N.inlineSize, v.height = N.blockSize) : (v.width = J.contentRect.width, v.height = J.contentRect.height);
    }
    return (J, N) => (S(), D("div", {
      class: x({
        [e(o).be("panel")]: !0,
        [e(o).bem("panel", "vertical")]: t.shortcuts.length && (t.shortcutsPlacement === "top" || t.shortcutsPlacement === "bottom")
      }),
      "aria-labelledby": t.labeledBy,
      style: Qe(k.value),
      onClick: L
    }, [
      t.shortcuts.length ? (S(), Be(e(zn), {
        key: 0,
        "on-resize": ue
      }, {
        default: X(() => [
          oe("div", {
            class: x([
              e(o).be("list"),
              e(o).bem("list", "sub"),
              e(o).be("shortcuts"),
              e(o).bem("shortcuts", t.shortcutsPlacement)
            ])
          }, [
            (S(!0), D(st, null, ln(t.shortcuts, (j, ae) => (S(), D("div", {
              key: ae,
              class: x(e(o).be("shortcut")),
              title: j.name,
              onClick: (be) => I(ae)
            }, ze(j.name), 11, F0))), 128))
          ], 2)
        ]),
        _: 1
      })) : ge("", !0),
      oe("div", {
        class: x(e(o).be("list")),
        role: "application"
      }, [
        oe("div", {
          class: x(e(o).be("panel-body"))
        }, [
          oe("div", {
            class: x(e(o).be("date-panel"))
          }, [
            oe("div", {
              class: x(e(o).be("header"))
            }, [
              oe("div", {
                class: x([e(o).be("arrow"), e(o).be("prev-year")]),
                onClick: Z
              }, [
                y(e(Oe), It(Yt(e(c) ? e(s).anglesRight : e(s).anglesLeft)), null, 16)
              ], 2),
              el(oe("div", {
                class: x([e(o).be("arrow"), e(o).be("prev-month")]),
                onClick: N[0] || (N[0] = (j) => R("month", -1))
              }, [
                y(e(Oe), It(Yt(e(c) ? e(s).angleRight : e(s).angleLeft)), null, 16)
              ], 2), [
                [tl, m.value === "date"]
              ]),
              oe("div", {
                class: x(e(o).be("year-month"))
              }, [
                W(J.$slots, "title", {
                  panel: m.value,
                  yearStart: i.value[0],
                  year: b.value,
                  month: f.value,
                  togglePanel: P
                }, () => [
                  oe("div", {
                    key: "year",
                    class: x(e(o).be("year")),
                    onClick: N[1] || (N[1] = gt((j) => P("year"), ["stop"]))
                  }, [
                    m.value === "year" ? (S(), D(st, { key: 0 }, [
                      dt(ze(`${i.value[0]}${t.locale.year} - ${i.value[9]}${t.locale.year}`), 1)
                    ], 64)) : (S(), D(st, { key: 1 }, [
                      dt(ze(`${b.value}${t.locale.year}`), 1)
                    ], 64))
                  ], 2),
                  el(oe("div", {
                    class: x(e(o).be("month")),
                    onClick: N[2] || (N[2] = gt((j) => P("month"), ["stop"]))
                  }, ze(E(f.value)), 3), [
                    [tl, m.value === "date"]
                  ])
                ])
              ], 2),
              el(oe("div", {
                class: x([e(o).be("arrow"), e(o).be("next-month")]),
                onClick: N[3] || (N[3] = (j) => R("month", 1))
              }, [
                y(e(Oe), It(Yt(e(c) ? e(s).angleLeft : e(s).angleRight)), null, 16)
              ], 2), [
                [tl, m.value === "date"]
              ]),
              oe("div", {
                class: x([e(o).be("arrow"), e(o).be("next-year")]),
                onClick: K
              }, [
                y(e(Oe), It(Yt(e(c) ? e(s).anglesLeft : e(s).anglesRight)), null, 16)
              ], 2)
            ], 2),
            oe("div", {
              class: x(e(o).be("calendar"))
            }, [
              m.value === "year" ? (S(), D("div", {
                key: 0,
                class: x(e(o).be("year-panel")),
                onMouseleave: N[4] || (N[4] = (j) => u.value = 0)
              }, [
                (S(!0), D(st, null, ln(i.value, (j, ae) => (S(), D("div", {
                  key: ae,
                  class: x({
                    [e(o).be("year-item")]: !0,
                    [e(o).bem("year-item", "selected")]: Ee(j),
                    [e(o).bem("year-item", "next")]: ae > 9,
                    [e(o).bem("year-item", "disabled")]: Ce(j),
                    [e(o).bem("year-item", "in-range")]: Je(j)
                  }),
                  onClick: gt((be) => ee(j), ["stop"]),
                  onMouseenter: (be) => ot(j)
                }, [
                  oe("div", {
                    class: x(e(o).be("year-label"))
                  }, [
                    W(J.$slots, "year", {
                      year: j,
                      selected: Ee(j),
                      isNext: ae > 9,
                      disabled: Ce(j),
                      inRange: Je(j)
                    }, () => [
                      oe("div", {
                        class: x(e(o).be("year-label-inner"))
                      }, ze(j), 3)
                    ])
                  ], 2)
                ], 42, I0))), 128))
              ], 34)) : m.value === "month" ? (S(), D("div", {
                key: 1,
                class: x(e(o).be("month-panel")),
                onMouseleave: N[5] || (N[5] = (j) => h.value = 0)
              }, [
                (S(!0), D(st, null, ln(e(p), (j) => (S(), D("div", {
                  key: j,
                  class: x({
                    [e(o).be("month-item")]: !0,
                    [e(o).bem("month-item", "selected")]: Se(j),
                    [e(o).bem("month-item", "disabled")]: fe(j),
                    [e(o).bem("month-item", "in-range")]: se(j)
                  }),
                  onClick: gt((ae) => O(j), ["stop"]),
                  onMouseenter: (ae) => Ze(j)
                }, [
                  oe("div", {
                    class: x(e(o).be("month-label"))
                  }, [
                    W(J.$slots, "month", {
                      year: b.value,
                      month: j,
                      selected: Se(j),
                      disabled: fe(j),
                      inRange: se(j)
                    }, () => [
                      oe("div", {
                        class: x(e(o).be("month-label-inner"))
                      }, ze(E(j)), 3)
                    ])
                  ], 2)
                ], 42, N0))), 128))
              ], 34)) : (S(), Be(e(Si), {
                key: 2,
                inherit: "",
                value: A.value,
                year: b.value,
                month: f.value,
                "value-type": t.selectingType,
                "disabled-date": t.disabledDate,
                range: t.range,
                min: t.min,
                max: t.max,
                "week-start": t.weekStart,
                "week-days": z.value,
                onSelect: G,
                onHover: te
              }, nl({ _: 2 }, [
                J.$slots.week ? {
                  name: "week",
                  fn: X((j) => [
                    W(J.$slots, "week", It(Yt(j)))
                  ]),
                  key: "0"
                } : void 0,
                J.$slots.date ? {
                  name: "itemContent",
                  fn: X((j) => [
                    W(J.$slots, "date", It(Yt(j)))
                  ]),
                  key: "1"
                } : void 0
              ]), 1032, ["value", "year", "month", "value-type", "disabled-date", "range", "min", "max", "week-start", "week-days"]))
            ], 2)
          ], 2),
          F.value ? (S(), D("div", {
            key: 0,
            class: x(e(o).be("time-panel"))
          }, [
            oe("div", {
              class: x([e(o).be("header"), e(o).bem("header", "time")])
            }, [
              t.range ? (S(), D(st, { key: 0 }, [
                oe("div", {
                  class: x(e(o).be("title"))
                }, ze(t.locale.startTime), 3),
                oe("div", {
                  class: x(e(o).be("title"))
                }, ze(t.locale.endTime), 3)
              ], 64)) : ge("", !0)
            ], 2),
            oe("div", {
              class: x(e(o).be("wheel"))
            }, [
              y(Io, {
                hour: t.startValue.hour,
                minute: t.startValue.minute,
                second: t.startValue.second,
                candidate: 3,
                steps: t.steps,
                "disabled-time": t.disabledTime,
                "no-transition": t.staticWheel,
                onChange: U
              }, null, 8, ["hour", "minute", "second", "steps", "disabled-time", "no-transition"]),
              t.range ? (S(), Be(Io, {
                key: 0,
                hour: t.endValue.hour,
                minute: t.endValue.minute,
                second: t.endValue.second,
                candidate: 3,
                steps: t.steps,
                "disabled-time": t.disabledTime,
                "no-transition": t.staticWheel,
                onChange: q
              }, null, 8, ["hour", "minute", "second", "steps", "disabled-time", "no-transition"])) : ge("", !0)
            ], 2)
          ], 2)) : ge("", !0)
        ], 2),
        t.noAction ? ge("", !0) : (S(), D("div", {
          key: 0,
          class: x(e(o).be("action"))
        }, [
          y(e(Hn), {
            inherit: "",
            text: "",
            size: "small",
            onClick: we
          }, {
            default: X(() => [
              dt(ze(t.cancelText || t.locale.cancel), 1)
            ]),
            _: 1
          }),
          y(e(Hn), {
            inherit: "",
            type: "primary",
            size: "small",
            disabled: t.hasError,
            onClick: de
          }, {
            default: X(() => [
              dt(ze(t.confirmText || t.locale.confirm), 1)
            ]),
            _: 1
          }, 8, ["disabled"])
        ], 2))
      ], 2)
    ], 14, L0));
  }
}), O0 = ft({
  size: An,
  state: Zn,
  locale: Object,
  type: String,
  visible: M,
  placement: String,
  transfer: hn,
  value: [Number, String, Date, Array],
  format: String,
  valueFormat: [String, Array, Function],
  filler: String,
  clearable: M,
  noAction: M,
  labels: Object,
  dateSeparator: String,
  timeSeparator: String,
  shortcuts: Array,
  disabledDate: Function,
  steps: Array,
  ctrlSteps: Array,
  prefix: Xt,
  prefixColor: String,
  suffix: Xt,
  suffixColor: String,
  noSuffix: M,
  disabled: M,
  transitionName: String,
  confirmText: String,
  cancelText: String,
  today: [Number, String, Date],
  range: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  min: [Number, String, Date],
  max: [Number, String, Date],
  outsideClose: M,
  outsideCancel: M,
  placeholder: [String, Array],
  unitReadonly: M,
  weekStart: Number,
  popperAlive: M,
  shortcutsPlacement: String,
  slots: Object,
  onInput: B(),
  onPlus: B(),
  onMinus: B(),
  onEnter: B(),
  onCancel: B(),
  onChange: B(),
  onClear: B(),
  onShortcut: B(),
  onToggle: B(),
  onFocus: B(),
  onBlur: B(),
  onChangeCol: B(),
  onClickOutside: B(),
  onOutsideClose: B()
}), _0 = ft({
  size: An,
  state: Zn,
  locale: Mn(),
  visible: M,
  placement: String,
  transfer: hn,
  format: String,
  separator: String,
  value: [String, Array],
  filler: String,
  clearable: M,
  noAction: M,
  noArrow: M,
  pointer: M,
  candidate: Number,
  steps: Array,
  labels: Object,
  shortcuts: Array,
  range: M,
  disabled: M,
  transitionName: String,
  confirmText: String,
  cancelText: String,
  ctrlSteps: Array,
  prefix: Xt,
  prefixColor: String,
  suffix: Xt,
  suffixColor: String,
  noSuffix: M,
  exchange: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  min: String,
  max: String,
  outsideClose: M,
  outsideCancel: M,
  unitReadonly: M,
  popperAlive: M,
  shortcutsPlacement: String,
  placeholder: [String, Array],
  slots: Object,
  onInput: B(),
  onPlus: B(),
  onMinus: B(),
  onEnter: B(),
  onCancel: B(),
  onChange: B(),
  onClear: B(),
  onShortcut: B(),
  onToggle: B(),
  onFocus: B(),
  onBlur: B(),
  onChangeCol: B(),
  onClickOutside: B(),
  onOutsideClose: B()
}), B0 = ["id", "aria-disabled", "aria-expanded", "aria-labelledby"], H0 = ["onKeydown"], V0 = ["aria-label"], j0 = /* @__PURE__ */ Xe({
  name: "DatePicker",
  __name: "date-picker",
  props: O0,
  emits: ["update:value", "update:formatted-value", "update:visible"],
  setup(t, { expose: r, emit: l }) {
    const {
      idFor: a,
      labelId: n,
      state: o,
      disabled: s,
      loading: c,
      size: d,
      validateField: p,
      clearField: m,
      getFieldValue: b,
      setFieldValue: f
    } = al(() => {
      var ie;
      return (ie = we.value) == null ? void 0 : ie.focus();
    }), u = Ye("date-picker"), i = ct("datePicker", t, {
      size: On(d),
      state: ll(o),
      locale: null,
      type: {
        default: "date",
        validator: (ie) => Od.includes(ie)
      },
      visible: !1,
      placement: {
        default: "bottom-start",
        validator: (ie) => Wl.includes(ie)
      },
      transfer: !1,
      value: {
        default: () => b(),
        static: !0
      },
      format: "yMd Hms",
      valueFormat: null,
      filler: {
        default: "-",
        validator: (ie) => ie.length === 1
      },
      clearable: !1,
      noAction: !1,
      labels: () => ({}),
      dateSeparator: "/",
      timeSeparator: ":",
      shortcuts: () => [],
      disabledDate: {
        default: sa,
        isFunc: !0
      },
      steps: () => [1, 1, 1],
      ctrlSteps: () => [5, 5, 5],
      prefix: en(),
      prefixColor: "",
      suffix: en(),
      suffixColor: "",
      noSuffix: !1,
      disabled: () => s.value,
      transitionName: () => u.ns("drop"),
      confirmText: null,
      cancelText: null,
      today: {
        default: () => /* @__PURE__ */ new Date(),
        validator: (ie) => !Number.isNaN(new Date(ie))
      },
      range: null,
      loading: () => c.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      min: null,
      max: null,
      outsideClose: !0,
      outsideCancel: !1,
      placeholder: null,
      unitReadonly: !1,
      weekStart: null,
      popperAlive: null,
      shortcutsPlacement: "left",
      slots: () => ({})
    }), v = l, k = kn(), w = vn("calendar"), T = vn("datePicker"), F = Gt(), A = Vo(), z = qe(i, "placement"), C = qe(i, "transfer"), E = $(i.visible), P = $(!1), R = pe(), L = pe(), I = $("start"), G = $(""), ee = $(), O = $(/* @__PURE__ */ new Date()), H = $(!1), U = $([]), { timer: q } = Vn(), Z = Hl(Tn), K = $(), { reference: we, transferTo: de, updatePopper: te } = Kl({
      placement: z,
      transfer: C,
      wrapper: Z,
      popper: g(() => {
        var ie;
        return (ie = K.value) == null ? void 0 : ie.wrapper;
      }),
      isDrop: !0
    }), { isHover: Ee } = Ql(we), Se = $(), Ce = $(), fe = $(), ot = g(() => {
      const ie = Ga(w.value, T.value, !0);
      return pl(i.locale) ? Ga(ie, i.locale) : ie;
    }), Ze = g(() => {
      if (i.placeholder)
        return Array.isArray(i.placeholder) ? i.placeholder[0] : i.placeholder;
      const { select: ie, start: Ae, [i.type]: tt } = ot.value.placeholder;
      return nr(i.range ? `${Ae} ${tt}` : `${ie} ${tt}`, A.value);
    }), Je = g(() => {
      if (i.placeholder)
        return Array.isArray(i.placeholder) ? i.placeholder[1] || i.placeholder[0] : i.placeholder;
      const { end: ie, [i.type]: Ae } = ot.value.placeholder;
      return nr(`${ie} ${Ae}`, A.value);
    }), se = g(() => [
      u.b(),
      u.ns("input-vars"),
      u.bs("vars"),
      u.bm(i.type),
      {
        [u.bm("inherit")]: i.inherit,
        [u.bm("disabled")]: i.disabled,
        [u.bm(i.size)]: i.size !== "default",
        [u.bm("no-hour")]: !R.enabled.hour,
        [u.bm("no-minute")]: !R.enabled.minute,
        [u.bm("no-second")]: !R.enabled.second,
        [u.bm("visible")]: E.value,
        [u.bm(i.state)]: i.state !== "default",
        [u.bm("is-range")]: i.range
      }
    ]), ne = g(() => i.loading && i.loadingLock), ue = g(() => {
      const ie = u.be("selector");
      return {
        [ie]: !0,
        [`${ie}--disabled`]: i.disabled,
        [`${ie}--readonly`]: ne.value,
        [`${ie}--loading`]: i.loading,
        [`${ie}--${i.size}`]: i.size !== "default",
        [`${ie}--focused`]: P.value,
        [`${ie}--${i.state}`]: i.state !== "default"
      };
    }), J = g(() => !!(k.prefix || i.prefix)), N = g(() => {
      const ie = [R, L].map((Ae) => {
        const tt = Object.values(Ae.dateValue).map(ol);
        return `${tt.slice(0, 3).join("-")} ${tt.slice(3).join(":")}`;
      });
      return i.range ? ie : ie[0];
    }), j = g(() => {
      if (!ee.value) return !1;
      const [ie, Ae, tt] = ee.value, St = (/* @__PURE__ */ new Date(`${ie}-${Ae}-${tt}`)).getTime(), jt = O.value.getTime();
      return St < jt;
    }), ae = g(() => !i.disabled && !ne.value && i.clearable && Ee.value && !!G.value), be = g(() => {
      if (i.min) {
        const ie = he(i.min, _u);
        return Number.isNaN(+ie) ? -1 / 0 : (ie.setHours(0, 0, 0, 0), ie.getTime());
      }
      return -1 / 0;
    }), re = g(() => {
      if (i.max) {
        let ie = he(i.max, _u);
        return Number.isNaN(+ie) ? 1 / 0 : (i.type !== "datetime" && (ie.setHours(23, 59, 59, 999), i.type === "year" ? (ie.setMonth(11), ie.setDate(31)) : i.type === "month" && (ie.setMonth(ie.getMonth() + 1), ie = gp(ie), ie.setDate(ie.getDate() - 1))), ie.getTime());
      }
      return 1 / 0;
    }), ce = g(() => Number.isNaN(be.value) || Number.isNaN(re.value) ? !1 : be.value > re.value), Pe = g(() => i.type === "datetime" && i.min && !ra(i.min, R.getDate()) ? Yr(i.min) : ""), at = g(() => i.type === "datetime" && i.max && !ra(i.max, R.getDate()) ? Yr(i.max) : ""), yt = g(() => i.type === "datetime" && i.range && i.min && !ra(i.min, R.getDate()) ? Yr(i.min) : ""), Nt = g(() => i.type === "datetime" && i.range && i.max && !ra(i.max, R.getDate()) ? Yr(i.max) : ""), Mt = g(() => {
      if (!i.range) return !1;
      const ie = R.dateValue, Ae = L.dateValue;
      let tt;
      i.type === "year" ? tt = ["year"] : i.type === "month" ? tt = ["year", "month"] : i.type === "date" ? tt = ["year", "month", "date"] : tt = ["year", "month", "date", "hour", "minute", "second"];
      for (const St of tt) {
        if (ie[St] < Ae[St]) return !1;
        if (ie[St] > Ae[St]) return !0;
      }
      return !1;
    }), Ht = Ks(Pe, at), _t = Ks(yt, Nt), tn = g(() => I.value === "start" ? Ht.isTimeDisabled : _t.isTimeDisabled), Wt = g(() => {
      const { hour: ie, minute: Ae, second: tt } = R.dateValue, { isTimeDisabled: St } = Ht;
      return Mt.value || Ie(R.getDate()) || St.hour(ie) || St.minute(ie, Ae) || St.second(ie, Ae, tt);
    }), un = g(() => {
      if (!i.range) return !1;
      const { hour: ie, minute: Ae, second: tt } = L.dateValue, { isTimeDisabled: St } = _t;
      return Mt.value || Ie(L.getDate()) || St.hour(ie) || St.minute(ie, Ae) || St.second(ie, Ae, tt);
    }), qt = g(() => i.type !== "datetime" && i.noAction);
    le(() => i.type, Ct), le(
      () => i.value,
      (ie) => {
        Fe(ie), G.value = (Array.isArray(ie) ? ie[0] || ie[1] : ie) ? Ve() : "";
      },
      { immediate: !0 }
    ), le(
      () => i.type,
      (ie) => {
        const Ae = ie !== "year", tt = Ae && ie !== "month";
        R.enabled.year = !0, L.enabled.year = !0, R.enabled.month = Ae, L.enabled.month = Ae, R.enabled.date = tt, L.enabled.date = tt;
      },
      { immediate: !0 }
    ), le(() => i.format, Ct, { immediate: !0 }), le(
      () => i.visible,
      (ie) => {
        E.value = ie;
      }
    ), le(E, (ie) => {
      ie && te();
    }), le(P, (ie) => {
      _(ie ? i.onFocus : i.onBlur);
    }), le(I, (ie) => {
      !i.unitReadonly && E.value && _(i.onChangeCol, Re().column, ie);
    }), le(
      () => R.column,
      (ie) => {
        !i.unitReadonly && E.value && I.value === "start" && _(i.onChangeCol, ie, "start");
      }
    ), le(
      () => L.column,
      (ie) => {
        !i.unitReadonly && E.value && I.value === "end" && _(i.onChangeCol, ie, "end");
      }
    ), le(
      () => i.disabled,
      (ie) => {
        ie && (Ge(!1), $e());
      }
    ), le(ne, (ie) => {
      ie && Ge(!1);
    }), r({
      idFor: a,
      currentVisible: E,
      focused: P,
      isHover: Ee,
      startState: R,
      endState: L,
      currentState: I,
      startError: Wt,
      endError: un,
      wrapper: Z,
      reference: we,
      popper: K,
      start: Se,
      end: Ce,
      panel: fe,
      updatePopper: te,
      focus: (ie) => {
        var Ae;
        return (Ae = we.value) == null ? void 0 : Ae.focus(ie);
      },
      blur: () => {
        var ie;
        return (ie = we.value) == null ? void 0 : ie.blur();
      }
    });
    function pe() {
      const { currentColumn: ie, enabled: Ae, resetColumn: tt, enterColumn: St } = Bd([
        "year",
        "month",
        "date",
        "hour",
        "minute",
        "second"
      ]), jt = pt({
        year: 1970,
        month: 1,
        // 1 ~ 12
        date: 1,
        hour: 0,
        minute: 0,
        second: 0
      }), Zt = pt({
        year: !1,
        month: !1,
        date: !1,
        hour: !1,
        minute: !1,
        second: !1
      });
      let Nn = { ...jt }, Cn = { ...Zt };
      return pt({
        column: ie,
        enabled: Ae,
        activated: Zt,
        dateValue: jt,
        resetColumn: tt,
        enterColumn: St,
        setDate: (Q, Ne = !0) => {
          jt.year = Q.getFullYear(), jt.month = Q.getMonth() + 1, jt.date = Q.getDate(), Ne && (jt.hour = Q.getHours(), jt.minute = Q.getMinutes(), jt.second = Q.getSeconds());
        },
        getDate: () => new Date(
          jt.year,
          jt.month - 1,
          jt.date,
          jt.hour,
          jt.minute,
          jt.second
        ),
        record() {
          Nn = { ...jt }, Cn = { ...Zt };
        },
        restore() {
          Object.assign(jt, Nn), Object.assign(Zt, Cn);
        }
      });
    }
    function Re() {
      return I.value === "start" ? R : L;
    }
    function he(ie, Ae = new Date(i.today)) {
      let tt = gl(ie);
      return Number.isNaN(tt.getTime()) && (tt = Ae), tt;
    }
    function Fe(ie) {
      Array.isArray(ie) || (ie = [ie, ie]);
      for (let Ae = 0; Ae < 2; ++Ae) {
        const tt = he(ie[Ae] ?? "");
        if ((Ae === 0 ? R : L).setDate(tt), ve(!!ie[Ae], Ae === 0 ? "start" : "end"), !i.range) break;
      }
    }
    function lt() {
      const ie = /* @__PURE__ */ new Set();
      let Ae = !1;
      for (let tt = 0, St = i.format.length; tt < St; ++tt) {
        const jt = i.format.charAt(tt);
        if (jt === "'")
          Ae = !Ae;
        else if (!Ae)
          switch (jt) {
            case "y":
              ie.add("year");
              break;
            case "M":
              ie.add("month");
              break;
            case "d":
              ie.add("date");
              break;
          }
      }
      U.value = [...ie];
    }
    function Ke() {
      const ie = i.type === "datetime";
      [R, L].forEach((Ae) => {
        if (Ae.enabled.hour = !1, Ae.enabled.minute = !1, Ae.enabled.second = !1, ie && i.format) {
          let tt = !1;
          for (let St = 0, jt = i.format.length; St < jt; ++St) {
            const Zt = i.format.charAt(St);
            if (Zt === "'")
              tt = !tt;
            else if (!tt)
              switch (Zt) {
                case "H":
                  Ae.enabled.hour = !0;
                  break;
                case "m":
                  Ae.enabled.minute = !0;
                  break;
                case "s":
                  Ae.enabled.second = !0;
                  break;
              }
          }
        }
      });
    }
    function Ct() {
      lt(), Ke();
    }
    function ve(ie, Ae) {
      (Ae ? Ae === "start" ? [R] : [L] : [R, L]).forEach((St) => {
        Object.keys(St.activated).forEach((jt) => {
          St.activated[jt] = ie;
        });
      });
    }
    function Ve() {
      return Array.isArray(N.value) ? N.value.join("|") : N.value;
    }
    function Ie(ie) {
      if (typeof i.disabledDate == "function" && i.disabledDate(ie))
        return !0;
      const Ae = ie.getTime();
      if (ce.value) {
        if (Ae > re.value && Ae < be.value)
          return !0;
      } else if (Ae < be.value || Ae > re.value)
        return !0;
      return !1;
    }
    function Me() {
      (Wt.value || i.range && un.value) && Fe(i.value);
    }
    function Ge(ie) {
      E.value !== ie && (E.value = ie, v("update:visible", ie), _(i.onToggle, ie));
    }
    function mt() {
      if (Me(), G.value !== Ve()) {
        G.value = Ve();
        const ie = Array.isArray(N.value) ? N.value : [N.value], Ae = [], tt = [], St = i.valueFormat, jt = typeof St == "function" ? St : St ? (Cn, Q) => zc(
          Cn,
          Array.isArray(St) ? Q === "start" ? St[0] : St[1] : St
        ) : (Cn) => Cn;
        for (let Cn = 0; Cn < 2 && (i.type === "year" ? Ae[Cn] = new Date(
          Cn === 0 ? R.dateValue.year : L.dateValue.year,
          0
        ).getTime() : i.type !== "datetime" ? Ae[Cn] = (/* @__PURE__ */ new Date(ie[Cn].split(" ")[0] + " 00:00:00")).getTime() : Ae[Cn] = new Date(ie[Cn]).getTime(), tt[Cn] = jt(Ae[Cn], Cn === 0 ? "start" : "end"), !!i.range); ++Cn)
          ;
        const Zt = i.range ? Ae : Ae[0], Nn = i.range ? tt : tt[0];
        ve(!0), v("update:value", Zt), v("update:formatted-value", Nn), f(Zt), _(i.onChange, Zt), p();
      }
    }
    function bt(ie = !0) {
      Ge(!1), ie && mt(), R.resetColumn(), L.resetColumn();
    }
    function Ot(ie) {
      const Ae = Re().dateValue;
      switch (ie) {
        case "year": {
          Ae.year = cn(Ae.year, 1970, 9999);
          break;
        }
        case "month": {
          Ae.month = cn(Ae.month, 1, 12);
          break;
        }
        case "date": {
          const tt = Ae.month;
          let St;
          tt < 7 ? tt !== 2 ? St = 30 + tt % 2 : Lc(Ae.year) ? St = 29 : St = 28 : St = 31 - tt % 2, Ae.date = cn(Ae.date, 1, St);
          break;
        }
        case "hour":
        case "minute":
        case "second":
          Ae[ie] = cn(Ae[ie], 0, ie === "hour" ? 23 : 59), Ae[ie] = Math.round(Ae[ie] / Bt(ie)) * Bt(ie);
      }
    }
    function Vt() {
      i.disabled || (P.value = !0, q.focus = setTimeout(() => {
        var ie, Ae;
        P.value && (I.value === "start" ? (ie = Se.value) == null || ie.focus() : (Ae = Ce.value) == null || Ae.focus());
      }, 120));
    }
    function $e() {
      var ie, Ae;
      clearTimeout(q.focus), P.value = !1, (ie = Se.value) == null || ie.blur(), (Ae = Ce.value) == null || Ae.blur();
    }
    function et(ie) {
      if (i.disabled || ne.value) return;
      const Ae = ie.target;
      if (Ge(!0), Z.value && Ae) {
        const tt = Array.from(Z.value.querySelectorAll(`.${u.be("unit")}`)), St = tt.findIndex((jt) => jt === Ae || jt.contains(Ae));
        ~St || (R.column = null, L.column = null), i.range && St >= tt.length / 2 ? Wn("end") : Wn("start");
      }
      Vt();
    }
    function vt(ie) {
      const Ae = Re(), tt = Ae.column;
      tt && (an(tt, ie), (tt === "year" ? Ae.dateValue.year >= 1e3 : Ae.dateValue[tt] >= 10) && Ae.enterColumn("next", !1));
    }
    function an(ie, Ae) {
      const tt = Re(), St = tt.dateValue[ie];
      tt.activated[ie] && St > 0 && St < (ie === "year" ? 1e3 : 10) ? tt.dateValue[ie] = St * 10 + Ae : (tt.dateValue[ie] = Ae, Rn(ie)), ie !== "year" && Ot(ie), _(i.onInput, ie, tt.dateValue[ie]);
    }
    function Rn(ie) {
      const Ae = Re().activated;
      ie === "date" ? (Ae.year = !0, Ae.month = !0) : ie === "month" ? Ae.year = !0 : ie === "minute" ? Ae.hour = !0 : ie === "second" && (Ae.hour = !0, Ae.minute = !0), Ae[ie] = !0;
    }
    function wn(ie) {
      Re().column = ie;
    }
    function Te(ie) {
      return ["hour", "minute", "second"].includes(ie);
    }
    function Y(ie, Ae) {
      var Nn;
      const tt = ie === "plus", St = tt ? 1 : -1, jt = Re(), Zt = jt.column;
      Zt && jt.enabled[Zt] && (Te(Zt) ? jt.dateValue[Zt] += St * (Ae ? Ut(Zt) : Bt(Zt)) : (Ae ? Zt === "year" ? jt.dateValue.year += St * 10 : jt.dateValue[Zt === "date" ? "month" : "year"] += St : jt.dateValue[Zt] += St, We(), Sn(Zt)), Ot(Zt), _(i[tt ? "onPlus" : "onMinus"], Zt, jt.dateValue[Zt]), (Nn = fe.value) == null || Nn.refreshCalendar(I.value));
    }
    function ke(ie) {
      Y("plus", ie);
    }
    function xe(ie) {
      Y("minus", ie);
    }
    function We() {
      const ie = Re().dateValue, Ae = new Date(ie.year, ie.month - 1, ie.date);
      ie.year = Ae.getFullYear(), ie.month = Ae.getMonth() + 1, ie.date = Ae.getDate();
    }
    function V() {
      requestAnimationFrame(() => {
        var ie;
        $e(), (ie = we.value) == null || ie.focus();
      });
    }
    function De() {
      V(), bt(), _(i.onEnter);
    }
    function _e() {
      V(), Fe(G.value.split("|")), bt(!1), _(i.onCancel);
    }
    function rt(ie = !0) {
      i.disabled || ne.value || i.clearable && kt(() => {
        const Ae = i.range ? [] : null;
        Fe(null), ie && bt(!1), v("update:value", Ae), v("update:formatted-value", i.range ? [] : null), _(i.onChange, Ae), _(i.onClear), m(Ae), ie && $e(), G.value = "", kt(() => {
          ve(!1);
        });
      });
    }
    function xt(ie, Ae) {
      V(), Fe(Ae), _(i.onShortcut, ie, Ae), bt();
    }
    function Bt(ie) {
      return i.steps[ie === "hour" ? 0 : ie === "minute" ? 1 : 2] || 1;
    }
    function Ut(ie) {
      return i.ctrlSteps[ie === "hour" ? 0 : ie === "minute" ? 1 : 2] || 1;
    }
    function xn(ie) {
      if (i.range && ie && (O.value = ie, ee.value)) {
        const Ae = [ie.getFullYear(), ie.getMonth() + 1, ie.getDate()], tt = j.value ? ee.value : Ae, St = j.value ? Ae : ee.value;
        let jt;
        i.type === "year" ? jt = ["year"] : i.type === "month" ? jt = ["year", "month"] : jt = ["year", "month", "date"];
        for (let Zt = 0, Nn = jt.length; Zt < Nn; ++Zt)
          R.dateValue[jt[Zt]] = tt[Zt], L.dateValue[jt[Zt]] = St[Zt];
      }
    }
    function qn(ie) {
      let Ae;
      if (i.type === "year" ? Ae = ["year"] : i.type === "month" ? Ae = ["year", "month"] : Ae = ["year", "month", "date"], !i.range) {
        for (let tt = 0, St = Ae.length; tt < St; ++tt)
          R.dateValue[Ae[tt]] = ie[tt], Sn(Ae[tt], "start");
        qt.value && De();
        return;
      }
      if (ee.value) {
        const [tt, St, jt] = ee.value, Zt = (/* @__PURE__ */ new Date(`${tt}-${St}-${jt}`)).getTime(), Nn = (/* @__PURE__ */ new Date(`${ie[0]}-${ie[1]}-${ie[2]}`)).getTime(), Cn = Zt < Nn ? ee.value : ie, Q = Zt < Nn ? ie : ee.value;
        for (let Ne = 0, nt = Ae.length; Ne < nt; ++Ne)
          R.dateValue[Ae[Ne]] = Cn[Ne], L.dateValue[Ae[Ne]] = Q[Ne], Sn(Ae[Ne], "start"), Sn(Ae[Ne], "end");
        jn(), ee.value = void 0, qt.value && De();
      } else {
        ee.value = ie;
        for (let tt = 0, St = Ae.length; tt < St; ++tt)
          R.dateValue[Ae[tt]] = ie[tt], L.dateValue[Ae[tt]] = ie[tt], Sn(Ae[tt], "start"), Sn(Ae[tt], "end");
      }
    }
    function ul(ie, Ae, tt) {
      const St = ie === "start" ? R : L;
      St.dateValue[Ae] = tt, Sn("hour", ie), Sn("minute", ie), Sn("second", ie);
    }
    function Sn(ie, Ae) {
      const tt = Ae ? Ae === "start" ? R : L : Re();
      ie === "month" ? tt.activated.year = !0 : ie === "date" && (tt.activated.year = !0, tt.activated.month = !0), tt.activated[ie] = !0;
    }
    function jn() {
      if (!i.range) return;
      const ie = R.getDate(), Ae = L.getDate();
      ie.getTime() > Ae.getTime() && (R.setDate(Ae), L.setDate(ie));
    }
    function Wn(ie) {
      I.value = ie;
    }
    function Kt(ie) {
      if (i.range) {
        ie === "prev" && I.value === "start" && !R.column && Wn("end");
        const Ae = Re(), tt = Ae.column;
        if (Ae.enterColumn(ie, !tt), tt === Ae.column) {
          const St = I.value === "start";
          (St ? L : R).resetColumn(ie === "prev" ? "second" : "year", ie === "prev"), Wn(St ? "end" : "start");
        }
      } else
        R.enterColumn(ie);
    }
    function Pn(ie) {
      Wn("start"), wn(ie), kt(() => {
        var Ae;
        (Ae = fe.value) == null || Ae.refreshCalendar("start");
      });
    }
    function mn(ie) {
      Wn("end"), wn(ie), kt(() => {
        var Ae;
        (Ae = fe.value) == null || Ae.refreshCalendar("end");
      });
    }
    function Tn() {
      _(i.onClickOutside), i.outsideClose && E.value && (bt(!qt.value && !i.outsideCancel), $e(), _(i.onOutsideClose));
    }
    return (ie, Ae) => (S(), D("div", {
      id: e(a),
      ref_key: "wrapper",
      ref: Z,
      class: x(se.value),
      role: "group",
      "aria-disabled": e(fl)(e(i).disabled),
      "aria-expanded": e(fl)(E.value),
      "aria-haspopup": "dialog",
      "aria-labelledby": e(n),
      onClick: et
    }, [
      oe("div", {
        ref_key: "reference",
        ref: we,
        class: x(ue.value),
        tabindex: "0",
        onKeydown: [
          Kn(gt(et, ["prevent"]), ["space"]),
          Ae[7] || (Ae[7] = Kn(gt((tt) => rt(!1), ["prevent"]), ["backspace"]))
        ]
      }, [
        J.value ? (S(), D("div", {
          key: 0,
          class: x([e(u).be("icon"), e(u).be("prefix")]),
          style: Qe({ color: e(i).prefixColor })
        }, [
          W(ie.$slots, "prefix", {}, () => [
            y(e(me), {
              renderer: e(i).slots.prefix
            }, {
              default: X(() => [
                y(e(Oe), {
                  icon: e(i).prefix
                }, null, 8, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)) : ge("", !0),
        oe("div", {
          class: x(e(u).be("control"))
        }, [
          y(Bu, {
            ref: "start",
            "unit-type": I.value === "start" ? e(R).column : "",
            enabled: e(R).enabled,
            activated: e(R).activated,
            "date-value": e(R).dateValue,
            steps: e(i).steps,
            "ctrl-steps": e(i).ctrlSteps,
            focused: P.value,
            visible: E.value,
            "date-separator": e(i).dateSeparator,
            "time-separator": e(i).timeSeparator,
            filler: e(i).filler,
            labels: e(i).labels,
            "has-error": Wt.value,
            placeholder: Ze.value,
            readonly: e(i).unitReadonly,
            "labeled-by": e(n),
            "date-unit-order": U.value,
            onInput: vt,
            onPlus: ke,
            onMinus: xe,
            onEnter: De,
            onCancel: _e,
            onUnitFocus: Pn,
            onPrevUnit: Ae[0] || (Ae[0] = (tt) => Kt("prev")),
            onNextUnit: Ae[1] || (Ae[1] = (tt) => Kt("next")),
            onBlur: Ae[2] || (Ae[2] = (tt) => e(R).column = null)
          }, null, 8, ["unit-type", "enabled", "activated", "date-value", "steps", "ctrl-steps", "focused", "visible", "date-separator", "time-separator", "filler", "labels", "has-error", "placeholder", "readonly", "labeled-by", "date-unit-order"]),
          e(i).range ? (S(), D(st, { key: 0 }, [
            oe("div", {
              class: x(e(u).be("exchange"))
            }, [
              W(ie.$slots, "exchange", {}, () => [
                y(e(me), {
                  renderer: e(i).slots.exchange
                }, {
                  default: X(() => [
                    y(e(Oe), He(e(F).exchange, { style: { "padding-top": "1px" } }), null, 16)
                  ]),
                  _: 1
                }, 8, ["renderer"])
              ])
            ], 2),
            y(Bu, {
              ref: "end",
              "unit-type": I.value === "end" ? e(L).column : "",
              enabled: e(L).enabled,
              activated: e(L).activated,
              "date-value": e(L).dateValue,
              steps: e(i).steps,
              "ctrl-steps": e(i).ctrlSteps,
              focused: P.value,
              visible: E.value,
              "date-separator": e(i).dateSeparator,
              "time-separator": e(i).timeSeparator,
              filler: e(i).filler,
              labels: e(i).labels,
              "has-error": un.value,
              placeholder: Je.value,
              readonly: e(i).unitReadonly,
              "labeled-by": e(n),
              "date-unit-order": U.value,
              onInput: vt,
              onPlus: ke,
              onMinus: xe,
              onEnter: De,
              onCancel: _e,
              onUnitFocus: mn,
              onPrevUnit: Ae[3] || (Ae[3] = (tt) => Kt("prev")),
              onNextUnit: Ae[4] || (Ae[4] = (tt) => Kt("next")),
              onBlur: Ae[5] || (Ae[5] = (tt) => e(L).column = null)
            }, null, 8, ["unit-type", "enabled", "activated", "date-value", "steps", "ctrl-steps", "focused", "visible", "date-separator", "time-separator", "filler", "labels", "has-error", "placeholder", "readonly", "labeled-by", "date-unit-order"])
          ], 64)) : ge("", !0)
        ], 2),
        e(i).noSuffix ? e(i).clearable || e(i).loading ? (S(), D("div", {
          key: 2,
          class: x([e(u).be("icon"), e(u).bem("icon", "placeholder"), e(u).be("suffix")])
        }, null, 2)) : ge("", !0) : (S(), D("div", {
          key: 1,
          class: x([e(u).be("icon"), e(u).be("suffix")]),
          style: Qe({
            color: e(i).suffixColor,
            opacity: ae.value || e(i).loading ? "0%" : ""
          })
        }, [
          W(ie.$slots, "suffix", {}, () => [
            y(e(me), {
              renderer: e(i).slots.suffix
            }, {
              default: X(() => [
                y(e(Oe), He(e(F).calendar, {
                  icon: e(i).suffix || e(F).calendar.icon
                }), null, 16, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)),
        y(En, {
          name: e(u).ns("fade"),
          appear: ""
        }, {
          default: X(() => [
            ae.value ? (S(), D("button", {
              key: 0,
              class: x([e(u).be("icon"), e(u).be("clear")]),
              type: "button",
              tabindex: "-1",
              "aria-label": ot.value.ariaLabel.clear,
              onClick: Ae[6] || (Ae[6] = gt((tt) => rt(), ["stop"]))
            }, [
              y(e(Oe), He(e(F).clear, { label: "clear" }), null, 16)
            ], 10, V0)) : e(i).loading ? (S(), D("div", {
              key: 1,
              class: x([e(u).be("icon"), e(u).be("loading")])
            }, [
              y(e(Oe), He(e(F).loading, {
                effect: e(i).loadingEffect || e(F).loading.effect,
                icon: e(i).loadingIcon || e(F).loading.icon,
                label: "loading"
              }), null, 16, ["effect", "icon"])
            ], 2)) : ge("", !0)
          ]),
          _: 1
        }, 8, ["name"])
      ], 42, H0),
      y(e(Xl), {
        ref_key: "popper",
        ref: K,
        class: x([e(u).be("popper"), e(u).ns("calendar-vars"), e(u).ns("time-picker-vars"), e(u).bs("vars")]),
        visible: E.value,
        to: e(de),
        transition: e(i).transitionName,
        alive: e(i).popperAlive ?? !e(de),
        onClick: gt(Vt, ["stop"]),
        onBeforeEnter: Ae[8] || (Ae[8] = (tt) => H.value = !0),
        onBeforeLeave: Ae[9] || (Ae[9] = (tt) => H.value = !0),
        onAfterEnter: Ae[10] || (Ae[10] = (tt) => H.value = !1),
        onAfterLeave: Ae[11] || (Ae[11] = (tt) => H.value = !1)
      }, {
        default: X(() => [
          y(D0, {
            ref: "panel",
            type: e(i).type,
            "start-value": e(R).dateValue,
            "end-value": e(L).dateValue,
            "start-activated": e(R).activated,
            "end-activated": e(L).activated,
            "value-type": I.value,
            shortcuts: e(i).shortcuts,
            "confirm-text": e(i).confirmText,
            "cancel-text": e(i).cancelText,
            today: e(i).today,
            "no-action": e(i).noAction,
            steps: e(i).steps,
            range: e(i).range,
            min: e(i).min,
            max: e(i).max,
            "disabled-date": Ie,
            "disabled-time": tn.value,
            "has-error": Wt.value || un.value,
            "selecting-type": j.value ? "end" : "start",
            locale: ot.value,
            "week-start": e(i).weekStart,
            "static-wheel": H.value,
            "shortcuts-placement": e(i).shortcutsPlacement,
            "labeled-by": e(n),
            onShortcut: xt,
            onChange: qn,
            onConfirm: De,
            onCancel: _e,
            onHover: xn,
            onTimeChange: ul
          }, nl({ _: 2 }, [
            ie.$slots.panelTitle || e(i).slots.panelTitle ? {
              name: "title",
              fn: X((tt) => [
                W(ie.$slots, "panelTitle", It(Yt(tt)), () => [
                  y(e(me), {
                    renderer: e(i).slots.panelTitle,
                    data: tt
                  }, null, 8, ["renderer", "data"])
                ])
              ]),
              key: "0"
            } : void 0,
            ie.$slots.panelYear || e(i).slots.panelYear ? {
              name: "year",
              fn: X((tt) => [
                W(ie.$slots, "panelYear", It(Yt(tt)), () => [
                  y(e(me), {
                    renderer: e(i).slots.panelYear,
                    data: tt
                  }, null, 8, ["renderer", "data"])
                ])
              ]),
              key: "1"
            } : void 0,
            ie.$slots.panelMonth || e(i).slots.panelMonth ? {
              name: "month",
              fn: X((tt) => [
                W(ie.$slots, "panelMonth", It(Yt(tt)), () => [
                  y(e(me), {
                    renderer: e(i).slots.panelMonth,
                    data: tt
                  }, null, 8, ["renderer", "data"])
                ])
              ]),
              key: "2"
            } : void 0,
            ie.$slots.panelWeek || e(i).slots.panelWeek ? {
              name: "week",
              fn: X((tt) => [
                W(ie.$slots, "panelWeek", It(Yt(tt)), () => [
                  y(e(me), {
                    renderer: e(i).slots.panelWeek,
                    data: tt
                  }, null, 8, ["renderer", "data"])
                ])
              ]),
              key: "3"
            } : void 0,
            ie.$slots.panelDate || e(i).slots.panelDate ? {
              name: "date",
              fn: X((tt) => [
                W(ie.$slots, "panelDate", It(Yt(tt)), () => [
                  y(e(me), {
                    renderer: e(i).slots.panelDate,
                    data: tt
                  }, null, 8, ["renderer", "data"])
                ])
              ]),
              key: "4"
            } : void 0
          ]), 1032, ["type", "start-value", "end-value", "start-activated", "end-activated", "value-type", "shortcuts", "confirm-text", "cancel-text", "today", "no-action", "steps", "range", "min", "max", "disabled-time", "has-error", "selecting-type", "locale", "week-start", "static-wheel", "shortcuts-placement", "labeled-by"])
        ]),
        _: 3
      }, 8, ["class", "visible", "to", "transition", "alive"])
    ], 10, B0));
  }
}), W0 = ft({
  vertical: M,
  textPosition: String,
  /**
   * 字体增大加粗
   */
  primary: M,
  dashed: M,
  margin: [String, Number]
}), Vd = /* @__PURE__ */ Xe({
  name: "Divider",
  __name: "divider",
  props: W0,
  setup(t) {
    const l = ct("divider", t, {
      vertical: !1,
      textPosition: {
        default: "center",
        validator: (p) => ["center", "left", "right"].includes(p)
      },
      primary: !1,
      dashed: !1,
      margin: null
    }), a = kn(), n = Ye("divider"), o = g(() => !!a.default), s = g(() => [
      n.b(),
      n.bs("vars"),
      n.bm(l.vertical ? "vertical" : "horizontal"),
      {
        [n.bm("inherit")]: l.inherit,
        [n.bm("primary")]: !l.vertical && l.primary,
        [n.bm("dashed")]: l.dashed,
        [n.bm("with-text")]: !l.vertical && o.value,
        [n.bm(`with-text-${l.textPosition}`)]: !l.vertical && o.value && l.textPosition !== "center"
      }
    ]), c = g(() => Mr(l.margin)), d = g(() => c.value ? l.vertical ? {
      marginRight: c.value,
      marginLeft: c.value
    } : {
      marginTop: c.value,
      marginBottom: c.value
    } : {});
    return (p, m) => (S(), D("div", {
      class: x(s.value),
      role: "separator",
      style: Qe(d.value)
    }, [
      !e(l).vertical && o.value ? (S(), D("span", {
        key: 0,
        class: x(e(n).be("text"))
      }, [
        W(p.$slots, "default")
      ], 2)) : ge("", !0)
    ], 6));
  }
}), K0 = ft({
  locale: Mn(),
  transfer: hn,
  active: M,
  width: [Number, String],
  height: [Number, String],
  placement: String,
  title: String,
  closable: M,
  inner: M,
  maskClose: M,
  drawerClass: Bn,
  hideMask: M,
  onBeforeClose: Function,
  resizable: M,
  autoRemove: M,
  footer: M,
  confirmText: String,
  cancelText: String,
  loading: M,
  confirmType: String,
  confirmProps: Object,
  cancelType: String,
  cancelProps: Object,
  actionSize: An,
  undivided: M,
  disableEsc: M,
  slots: Object,
  onToggle: B(),
  onClose: B(),
  onShow: B(),
  onHide: B(),
  onResizeStart: B(),
  onResizeMove: B(),
  onResizeEnd: B(),
  onConfirm: B(),
  onCancel: B()
}), U0 = Object.freeze(["top", "right", "bottom", "left"]), X0 = ["aria-modal", "aria-labelledby", "aria-describedby"], Y0 = ["id"], q0 = ["id"], G0 = /* @__PURE__ */ Xe({
  name: "Drawer",
  __name: "drawer",
  props: K0,
  emits: ["update:active"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("drawer", t, {
      locale: null,
      transfer: !1,
      active: {
        default: !1,
        static: !0
      },
      width: {
        default: 280,
        validator: (O) => typeof O == "string" || O > 0
      },
      height: {
        default: 280,
        validator: (O) => typeof O == "string" || O > 0
      },
      placement: {
        default: "right",
        validator: (O) => U0.includes(O)
      },
      title: "",
      closable: !0,
      inner: !1,
      maskClose: !0,
      drawerClass: null,
      hideMask: !1,
      onBeforeClose: {
        default: null,
        isFunc: !0
      },
      resizable: !1,
      autoRemove: !1,
      footer: !1,
      confirmText: null,
      confirmProps: null,
      cancelText: null,
      cancelProps: null,
      loading: !1,
      confirmType: "primary",
      cancelType: "default",
      actionSize: On("small"),
      undivided: !1,
      disableEsc: !1,
      slots: () => ({})
    }), o = l, s = kn(), c = Ye("drawer"), d = Gt(), p = vn("drawer", qe(n, "locale")), m = $(n.active), b = $(n.width), f = $(n.height), u = $(), { target: h, moving: i } = Pl({
      onStart: (O, H) => {
        if (!n.resizable || H.button > 0 || !u.value)
          return !1;
        const U = `${b.value}`.endsWith("%") ? u.value.offsetWidth : rn(b.value), q = `${f.value}`.endsWith("%") ? u.value.offsetHeight : rn(f.value);
        O.xStart = U, O.yStart = q, _(n.onResizeStart, { width: U, height: q });
      },
      onMove: (O, H) => {
        const U = H.clientX - O.clientX, q = H.clientY - O.clientY;
        let Z = rn(b.value), K = rn(f.value);
        switch (n.placement) {
          case "top": {
            K = O.yStart + q;
            break;
          }
          case "right": {
            Z = O.xStart - U;
            break;
          }
          case "bottom": {
            K = O.yStart - q;
            break;
          }
          default:
            Z = O.xStart + U;
        }
        b.value = Math.max(Z, 100), f.value = Math.max(K, 100), _(n.onResizeMove, {
          width: rn(b.value),
          height: rn(f.value)
        });
      },
      onEnd: () => {
        _(n.onResizeEnd, {
          width: rn(b.value),
          height: rn(f.value)
        });
      }
    }), v = g(() => [
      c.b(),
      c.bs("vars"),
      {
        [c.bm("inherit")]: n.inherit,
        [c.bm("inner")]: n.inner,
        [c.bm("closable")]: n.closable,
        [c.bm("resizable")]: n.resizable,
        [c.bm("undivided")]: n.undivided
      }
    ]), k = g(() => c.ns(`move-${n.placement}`)), w = g(() => [
      c.be("wrapper"),
      c.bem("wrapper", n.placement),
      {
        [c.bem("wrapper", "hide-mask")]: n.hideMask,
        [c.bem("wrapper", "resizing")]: i.value
      },
      n.drawerClass
    ]), T = g(() => {
      const O = n.placement;
      if (O === "top" || O === "bottom") {
        const U = f.value;
        return {
          height: `${U}`.endsWith("%") ? U : `${U}px`
        };
      }
      const H = b.value;
      return {
        width: `${H}`.endsWith("%") ? H : `${H}px`
      };
    }), F = g(() => !!(s.header || s.title || n.title || n.slots.header || n.slots.title)), A = Zl(), z = Zl();
    le(
      () => n.active,
      (O) => {
        m.value = O;
      }
    ), le(
      () => n.width,
      (O) => {
        b.value = O;
      }
    ), le(
      () => n.height,
      (O) => {
        f.value = O;
      }
    ), r({
      resizing: i,
      titleId: A,
      bodyId: z,
      wrapper: u,
      resizer: h,
      handleConfirm: G,
      handleCancel: ee,
      handleClose: P
    });
    const C = yl(
      pt({
        resizing: i,
        handleConfirm: G,
        handleCancel: ee,
        handleClose: P
      })
    );
    function E(O) {
      m.value !== O && (m.value = O, o("update:active", O), _(n.onToggle, O));
    }
    async function P(O = !1) {
      let H = !0;
      return typeof n.onBeforeClose == "function" && (H = n.onBeforeClose(O), Sl(H) && (H = await H)), H !== !1 && kt(() => {
        E(!1), _(n.onClose);
      }), H;
    }
    function R() {
      if (n.maskClose)
        return P();
    }
    function L() {
      _(n.onShow);
    }
    function I() {
      _(n.onHide);
    }
    function G() {
      P(!0), _(n.onConfirm);
    }
    function ee() {
      P(!1), _(n.onCancel);
    }
    return (O, H) => (S(), Be(e(fr), {
      active: m.value,
      "onUpdate:active": H[1] || (H[1] = (U) => m.value = U),
      inherit: e(n).inherit,
      class: x(v.value),
      inner: e(n).inner,
      "transition-name": k.value,
      closable: e(n).maskClose,
      disabled: e(n).hideMask,
      "on-before-close": R,
      transfer: e(n).transfer,
      "auto-remove": e(n).autoRemove,
      "disable-esc": e(n).disableEsc,
      onShow: L,
      onHide: I
    }, {
      default: X(({ show: U }) => [
        el(oe("section", {
          ref_key: "wrapper",
          ref: u,
          class: x(w.value),
          style: Qe(T.value),
          role: "dialog",
          "aria-modal": U ? "true" : void 0,
          "aria-labelledby": e(A),
          "aria-describedby": e(z)
        }, [
          F.value ? (S(), D("div", {
            key: 0,
            class: x(e(c).be("header"))
          }, [
            W(O.$slots, "header", It(Yt(e(C))), () => [
              y(e(me), {
                renderer: e(n).slots.header,
                data: e(C)
              }, {
                default: X(() => [
                  oe("div", {
                    id: e(A),
                    class: x(e(c).be("title"))
                  }, [
                    W(O.$slots, "title", It(Yt(e(C))), () => [
                      y(e(me), {
                        renderer: e(n).slots.title,
                        data: e(C)
                      }, {
                        default: X(() => [
                          dt(ze(e(n).title), 1)
                        ]),
                        _: 1
                      }, 8, ["renderer", "data"])
                    ])
                  ], 10, Y0),
                  e(n).closable ? (S(), D("button", {
                    key: 0,
                    type: "button",
                    class: x(e(c).be("close")),
                    onClick: H[0] || (H[0] = (q) => P())
                  }, [
                    W(O.$slots, "close", It(Yt(e(C))), () => [
                      y(e(me), {
                        renderer: e(n).slots.close,
                        data: e(C)
                      }, {
                        default: X(() => [
                          y(e(Oe), He(e(d).close, {
                            scale: +(e(d).close.scale || 1) * 1.2,
                            label: "close"
                          }), null, 16, ["scale"])
                        ]),
                        _: 1
                      }, 8, ["renderer", "data"])
                    ])
                  ], 2)) : ge("", !0)
                ]),
                _: 3
              }, 8, ["renderer", "data"])
            ])
          ], 2)) : ge("", !0),
          oe("div", {
            id: e(z),
            class: x(e(c).be("content"))
          }, [
            W(O.$slots, "default", It(Yt(e(C))), () => [
              y(e(me), {
                renderer: e(n).slots.default,
                data: e(C)
              }, null, 8, ["renderer", "data"])
            ])
          ], 10, q0),
          e(n).footer || s.footer || e(n).slots.footer ? (S(), D("div", {
            key: 1,
            class: x(e(c).be("footer"))
          }, [
            W(O.$slots, "footer", It(Yt(e(C))), () => [
              y(e(me), {
                renderer: e(n).slots.footer,
                data: e(C)
              }, {
                default: X(() => [
                  y(e(Hn), He({
                    class: [e(c).be("button"), e(c).bem("button", "cancel")],
                    inherit: "",
                    text: "",
                    type: e(n).cancelType,
                    size: e(n).actionSize
                  }, e(n).cancelProps, { onClick: ee }), {
                    default: X(() => [
                      dt(ze(e(n).cancelText || e(p).cancel), 1)
                    ]),
                    _: 1
                  }, 16, ["class", "type", "size"]),
                  y(e(Hn), He({
                    class: [e(c).be("button"), e(c).bem("button", "confirm")],
                    inherit: "",
                    type: e(n).confirmType,
                    size: e(n).actionSize,
                    loading: e(n).loading
                  }, e(n).confirmProps, { onClick: G }), {
                    default: X(() => [
                      dt(ze(e(n).confirmText || e(p).confirm), 1)
                    ]),
                    _: 1
                  }, 16, ["class", "type", "size", "loading"])
                ]),
                _: 1
              }, 8, ["renderer", "data"])
            ])
          ], 2)) : ge("", !0),
          e(n).resizable ? (S(), D("div", {
            key: 2,
            ref_key: "resizer",
            ref: h,
            class: x([
              e(c).be("handler"),
              e(c).bem("handler", e(n).placement),
              {
                [e(c).bem("handler", "resizing")]: e(i)
              }
            ])
          }, [
            W(O.$slots, "handler", It(Yt(e(C))), () => [
              y(e(me), {
                renderer: e(n).slots.handler,
                data: e(C)
              }, null, 8, ["renderer", "data"])
            ])
          ], 2)) : ge("", !0)
        ], 14, X0), [
          [tl, U]
        ])
      ]),
      _: 3
    }, 8, ["active", "inherit", "class", "inner", "transition-name", "closable", "disabled", "transfer", "auto-remove", "disable-esc"]));
  }
}), Z0 = ft({
  placement: String,
  transfer: hn,
  noHover: M,
  transitionName: String,
  tooltipTheme: String,
  tipClass: Bn,
  maxLines: Number,
  tipMaxWidth: [Number, String],
  tipDisabled: M,
  tipShift: {
    type: [Boolean, String],
    default: null
  },
  slots: Object
}), ts = /* @__PURE__ */ Xe({
  name: "Ellipsis",
  __name: "ellipsis",
  props: Z0,
  setup(t, { expose: r }) {
    const l = Ye("ellipsis"), n = ct("ellipsis", t, {
      placement: {
        default: "top",
        validator: (i) => Wl.includes(i)
      },
      transfer: "body",
      noHover: !1,
      transitionName: () => l.ns("fade"),
      tooltipTheme: {
        default: "dark",
        validator: (i) => ["light", "dark"].includes(i)
      },
      tipClass: null,
      maxLines: null,
      tipMaxWidth: 500,
      tipDisabled: !1,
      tipShift: !1,
      slots: () => ({})
    }), o = fa(), s = $(!1), c = $(""), { timer: d } = Vn(), p = $(), m = g(() => ({
      [l.b()]: !0,
      [l.bm("inherit")]: n.inherit,
      [l.bm("multiple")]: n.maxLines
    })), b = g(() => n.maxLines > 0 ? { "-webkit-line-clamp": n.maxLines } : ""), f = g(() => ({
      maxWidth: typeof n.tipMaxWidth == "string" ? parseFloat(n.tipMaxWidth) || n.tipMaxWidth : `${n.tipMaxWidth}px`
    }));
    r({
      visible: s,
      wrapper: p
    });
    function u() {
      clearTimeout(d.hover), !n.tipDisabled && (d.hover = setTimeout(() => {
        if (!p.value || !p.value.childNodes.length) {
          s.value = !1;
          return;
        }
        if (n.maxLines > 0) {
          const i = p.value.scrollHeight, v = p.value.clientHeight;
          s.value = i > v;
        } else
          s.value = Bo(p.value) > p.value.getBoundingClientRect().width;
        c.value = s.value ? p.value.textContent ?? "" : "";
      }, o.value));
    }
    function h() {
      clearTimeout(d.hover), !n.tipDisabled && (d.hover = setTimeout(() => {
        s.value = !1;
      }, o.value));
    }
    return (i, v) => (S(), Be(e(Fl), {
      visible: s.value,
      trigger: "custom",
      disabled: e(n).tipDisabled,
      transfer: e(n).transfer,
      placement: e(n).placement,
      "no-hover": e(n).noHover,
      "transition-name": e(n).transitionName,
      "tip-class": e(n).tipClass,
      "tip-style": f.value,
      reverse: e(n).tooltipTheme === "dark",
      shift: e(n).tipShift,
      onTipEnter: u,
      onTipLeave: h
    }, {
      trigger: X(() => [
        oe("div", He({
          ref_key: "wrapper",
          ref: p
        }, i.$attrs, {
          class: m.value,
          style: b.value,
          onMouseenter: u,
          onMouseleave: h
        }), [
          W(i.$slots, "default", {}, () => [
            y(e(me), {
              renderer: e(n).slots.default
            }, null, 8, ["renderer"])
          ])
        ], 16)
      ]),
      default: X(() => [
        W(i.$slots, "content", { content: c.value }, () => [
          y(e(me), {
            renderer: e(n).slots.content,
            data: { content: c.value }
          }, {
            default: X(() => [
              dt(ze(c.value), 1)
            ]),
            _: 1
          }, 8, ["renderer", "data"])
        ])
      ]),
      _: 3
    }, 8, ["visible", "disabled", "transfer", "placement", "no-hover", "transition-name", "tip-class", "tip-style", "reverse", "shift"]));
  }
}), J0 = ["name", "value"], Q0 = ["id", "for"], e1 = /* @__PURE__ */ Xe({
  name: "FormItem",
  inheritAttrs: !0,
  __name: "form-item",
  props: pb,
  setup(t, { expose: r }) {
    const l = Ye("form"), n = ct("formItem", t, {
      locale: null,
      label: {
        default: "",
        static: !0
      },
      prop: {
        default: "",
        static: !0
      },
      name: {
        default: "",
        static: !0
      },
      rules: () => [],
      labelWidth: null,
      required: !1,
      htmlFor: {
        default: null,
        static: !0
      },
      errorTransition: () => l.ns("fade"),
      defaultValue: {
        default: null,
        static: !0
      },
      hideErrorTip: !1,
      validateAll: null,
      hideAsterisk: null,
      hideLabel: null,
      action: !1,
      help: "",
      pure: !1,
      manual: !1,
      span: 24,
      offset: null,
      push: null,
      pull: null,
      order: null,
      xs: null,
      sm: null,
      md: null,
      lg: null,
      xl: null,
      xxl: null,
      flex: null
    }), o = kn(), s = Et(yi, {}), c = Et(Yo, null), d = Et(wd, null), p = ai(), m = vn("form", qe(n, "locale")), b = Gt(), f = Vo(), u = $(n.defaultValue), h = $(!1), i = $(""), v = $(!1), k = $(!1), w = $(0), T = yl(
      pt({
        isError: h
      })
    ), F = Wo(() => {
      F.value && (w.value = F.value.offsetWidth);
    }), A = Zl(), z = g(() => s.allRequired || n.required), C = g(() => nr(`${n.label || n.prop} ${m.value.notNullable}`, f.value)), E = g(() => {
      if (!n.prop) return [];
      const J = z.value ? [{ required: z.value, message: C.value }] : [], N = Array.isArray(n.rules) ? n.rules : [n.rules];
      let j = [];
      return s.rules && (j = Au(s.rules, n.prop) ?? []), j = Array.isArray(j) ? j : [j], J.concat(j, N);
    }), P = g(Se), R = g(() => Tt(n.validateAll) ? s.validateAll ?? !1 : n.validateAll), L = g(() => {
      if (n.hideAsterisk === !0 || s.hideAsterisk)
        return !1;
      for (const J of E.value)
        if (J.required) return !0;
      return z.value;
    }), I = g(() => n.action || n.hideLabel === !0 || s.hideLabel), G = g(() => !(I.value || !(n.label || o.label))), ee = g(() => s.labelAlign), O = g(() => ee.value ? te(
      ee.value === "top" || I.value ? 0 : n.labelWidth || s.labelWidth || 80
    ) : te(I.value ? 0 : n.labelWidth || 80)), H = g(() => ({
      [l.be("item")]: !0,
      [l.bs("vars")]: !0,
      [l.bem("item", "inherit")]: d || n.inherit,
      [l.bem("item", "required")]: !s.hideAsterisk && L.value,
      [l.bem("item", "error")]: h.value,
      [l.bem("item", "action")]: n.action,
      [l.bem("item", "padding")]: s.inline && ee.value === "top" && !G.value
    })), U = g(() => ({
      width: ee.value === "top" ? void 0 : `calc(100% - ${O.value}px)`,
      marginLeft: G.value || ee.value === "top" ? void 0 : `${O.value}px`
    })), q = g(() => {
      const J = P.value;
      return Array.isArray(J) || pl(J) ? JSON.stringify(J) : J;
    }), Z = g(() => ({ justify: n.action ? "center" : "start", align: "middle" })), K = g(
      () => !!(s.labelWidth && s.labelWidth !== "auto") || n.labelWidth > 0
    ), we = /* @__PURE__ */ new Set(), de = Object.freeze({
      prop: g(() => n.prop),
      idFor: g(() => n.prop),
      labelId: A,
      state: g(() => h.value ? "error" : "default"),
      disabled: g(() => !!s.disabled),
      loading: g(() => !!s.loading),
      size: g(() => s.size || "default"),
      emitter: p,
      labelWidth: w,
      validate: fe,
      clearError: ot,
      reset: Ze,
      getValue: Se,
      setValue: Ce,
      sync: (J) => {
        we.size && console.warn("[vexip-ui:Form]: must only be one control component under FormItem."), we.add(J);
      },
      unSync: (J) => {
        we.delete(J);
      }
    });
    nn(Fr, n.manual ? null : de), le(
      () => n.defaultValue,
      (J) => {
        u.value = J;
      }
    ), sn(() => {
      const J = P.value;
      Tt(u.value) && (u.value = Array.isArray(J) ? Array.from(J) : J), d && d.add(de);
    }), pn(() => {
      d && d.delete(de);
    }), r({ isError: h, inputValue: q, computedLabelWidth: O });
    function te(J) {
      return J === "auto" ? (c == null ? void 0 : c.getLabelWidth()) || 80 : J;
    }
    let Ee = !1;
    function Se(J = u.value) {
      if (!s.model || !n.prop) return J;
      try {
        const N = Au(s.model, n.prop, !0);
        return Ee = !0, N;
      } catch {
        return Ee || (bs(s.model, n.prop, J, !1), Ee = !0), J;
      }
    }
    function Ce(J, N = !1) {
      if (!(!s.model || !n.prop))
        try {
          return bs(s.model, n.prop, J, N);
        } catch {
        }
    }
    function fe() {
      return Je();
    }
    function ot() {
      h.value = !1, i.value = "";
    }
    function Ze() {
      if (ot(), !s.model || !n.prop) return !1;
      const J = P.value;
      let N;
      return Array.isArray(J) ? N = Array.isArray(u.value) ? Array.from(u.value) : [] : N = on(u.value) ? u.value() : u.value, bs(s.model, n.prop, N, !0);
    }
    async function Je() {
      if (k.value)
        return k.value = !1, se(null);
      if (!n.prop || !s.model || v.value)
        return se(null);
      v.value = !0;
      const J = P.value, N = E.value, j = s.model;
      let ae = await Rb(
        N,
        J,
        j,
        R.value,
        m.value.validateFail
      );
      return ae = ae.length ? ae : null, se(ae);
    }
    function se(J) {
      return v.value = !1, J ? (h.value = !0, i.value = Array.isArray(J) ? J[0] : J) : ot(), J;
    }
    function ne() {
      p.emit("focus");
    }
    const ue = g(() => !!(s.action && s.method));
    return (J, N) => e(n).pure ? W(J.$slots, "default", It(He({ key: 0 }, e(T)))) : (S(), Be(e(Lo), He({ key: 1 }, J.$attrs, {
      class: H.value,
      inherit: e(n).inherit,
      role: "group",
      tag: "div",
      span: e(n).span,
      offset: e(n).offset,
      push: e(n).push,
      pull: e(n).pull,
      order: e(n).order,
      xs: e(n).xs,
      sm: e(n).sm,
      md: e(n).md,
      lg: e(n).lg,
      xl: e(n).xl,
      xxl: e(n).xxl,
      flex: e(n).flex,
      "use-flex": Z.value
    }), {
      default: X(() => [
        ue.value ? (S(), D("input", {
          key: 0,
          type: "hidden",
          name: e(n).name || e(n).prop,
          value: q.value,
          style: { display: "none" }
        }, null, 8, J0)) : ge("", !0),
        G.value && ee.value !== "top" && !K.value ? (S(), D("span", {
          key: 1,
          ref_key: "placeholder",
          ref: F,
          class: x(e(l).be("placeholder")),
          role: "none"
        }, [
          e(n).help || o.help ? (S(), Be(e(Oe), He({ key: 0 }, e(b).help, {
            class: e(l).be("help")
          }), null, 16, ["class"])) : ge("", !0),
          W(J.$slots, "label", {}, () => [
            dt(ze(e(n).label + (e(s).labelSuffix || "")), 1)
          ])
        ], 2)) : ge("", !0),
        G.value ? (S(), D("label", {
          key: 2,
          id: e(A),
          class: x(e(l).be("label")),
          style: Qe({ width: ee.value !== "top" ? `${O.value}px` : void 0 }),
          for: e(n).htmlFor || e(n).prop,
          onClick: ne
        }, [
          e(n).help || o.help ? (S(), Be(e(Fl), {
            key: 0,
            transfer: ""
          }, {
            trigger: X(() => [
              y(e(Oe), He(e(b).help, {
                class: e(l).be("help")
              }), null, 16, ["class"])
            ]),
            default: X(() => [
              W(J.$slots, "help", {}, () => [
                oe("div", {
                  class: x(e(l).be("help-tip"))
                }, ze(e(n).help), 3)
              ])
            ]),
            _: 3
          })) : ge("", !0),
          W(J.$slots, "label", {}, () => [
            dt(ze(e(n).label + (e(s).labelSuffix || "")), 1)
          ])
        ], 14, Q0)) : ge("", !0),
        oe("div", {
          class: x({
            [e(l).be("control")]: !0,
            [e(l).bem("control", "no-label")]: !G.value,
            [e(l).bem("control", "action")]: e(n).action
          }),
          role: "alert",
          "aria-relevant": "all",
          style: Qe(U.value)
        }, [
          W(J.$slots, "default", It(Yt(e(T)))),
          y(En, {
            name: e(n).errorTransition
          }, {
            default: X(() => [
              !e(n).hideErrorTip && h.value ? (S(), D("div", {
                key: 0,
                class: x(e(l).be("error-tip"))
              }, [
                W(J.$slots, "error", { tip: i.value }, () => [
                  dt(ze(i.value), 1)
                ])
              ], 2)) : ge("", !0)
            ]),
            _: 3
          }, 8, ["name"])
        ], 6)
      ]),
      _: 3
    }, 16, ["class", "inherit", "span", "offset", "push", "pull", "order", "xs", "sm", "md", "lg", "xl", "xxl", "flex", "use-flex"]));
  }
}), t1 = /* @__PURE__ */ Xe({
  name: "FormReset",
  __name: "form-reset",
  props: hb,
  setup(t) {
    const l = ct("formReset", t, {
      size: null,
      locale: null,
      type: "default",
      label: null,
      dashed: null,
      text: null,
      simple: null,
      ghost: null,
      disabled: null,
      loading: null,
      circle: null,
      loadingIcon: en(),
      loadingEffect: null,
      icon: en(),
      color: null,
      buttonType: null,
      block: null,
      onBeforeReset: {
        default: null,
        isFunc: !0
      }
    }), a = kn(), n = Et(Yo, null), o = Ye("form"), s = vn("form", qe(l, "locale")), c = g(() => !!n || l.inherit);
    async function d() {
      if (l.disabled) return;
      let p = !0;
      typeof l.onBeforeReset == "function" && (p = l.onBeforeReset(), Sl(p) && (p = await p)), p !== !1 && (n == null || n.reset(), _(l.onReset));
    }
    return (p, m) => (S(), Be(e(Hn), He(p.$attrs, {
      inherit: c.value,
      class: e(o).be("reset"),
      size: e(l).size,
      type: e(l).type,
      simple: e(l).simple,
      ghost: e(l).ghost,
      dashed: e(l).dashed,
      text: e(l).text,
      disabled: e(l).disabled,
      loading: e(l).loading,
      circle: e(l).circle,
      "loading-icon": e(l).loadingIcon,
      "loading-effect": e(l).loadingEffect,
      icon: e(l).icon,
      color: e(l).color,
      "button-type": e(l).buttonType,
      block: e(l).block,
      tag: e(l).tag,
      onClick: d
    }), nl({
      default: X(() => [
        W(p.$slots, "default", {}, () => [
          dt(ze(e(l).label || e(s).reset), 1)
        ])
      ]),
      _: 2
    }, [
      a.icon ? {
        name: "icon",
        fn: X(() => [
          W(p.$slots, "icon")
        ]),
        key: "0"
      } : void 0,
      a.loading ? {
        name: "loading",
        fn: X(() => [
          W(p.$slots, "loading")
        ]),
        key: "1"
      } : void 0
    ]), 1040, ["inherit", "class", "size", "type", "simple", "ghost", "dashed", "text", "disabled", "loading", "circle", "loading-icon", "loading-effect", "icon", "color", "button-type", "block", "tag"]));
  }
}), n1 = /* @__PURE__ */ Xe({
  name: "FormSubmit",
  __name: "form-submit",
  props: vb,
  setup(t, { expose: r }) {
    const a = ct("form-submit", t, {
      size: null,
      locale: null,
      type: "primary",
      label: null,
      dashed: null,
      text: null,
      simple: null,
      ghost: null,
      disabled: null,
      circle: null,
      loadingIcon: en(),
      loadingEffect: null,
      icon: en(),
      color: null,
      buttonType: null,
      block: null,
      onBeforeSubmit: {
        default: null,
        isFunc: !0
      }
    }), n = kn(), o = Et(Fr, null), s = Et(yi, {}), c = Et(Yo, null), d = Ye("form"), p = vn("form", qe(a, "locale")), { timer: m } = Vn(), b = $(!1), f = $(), u = g(() => s.method && s.action), h = g(() => !!c || a.inherit), i = g(() => b.value || (o ? o.loading.value : !1));
    r({ submit: f, isNative: u, isLoading: i });
    async function v() {
      var w;
      if (a.disabled || b.value || !c) return;
      b.value = !0;
      const k = await c.validate();
      if (k.length)
        _(a.onError, k);
      else {
        let T = !0;
        typeof a.onBeforeSubmit == "function" && (T = a.onBeforeSubmit(), Sl(T) && (T = await T)), T !== !1 && (_(a.onSubmit), u.value && ((w = f.value) == null || w.click()));
      }
      m.loading = setTimeout(() => {
        b.value = !1;
      }, 300);
    }
    return (k, w) => (S(), Be(e(Hn), He(k.$attrs, {
      inherit: h.value,
      class: e(d).be("submit"),
      size: e(a).size,
      type: e(a).type,
      simple: e(a).simple,
      ghost: e(a).ghost,
      dashed: e(a).dashed,
      text: e(a).text,
      disabled: e(a).disabled,
      loading: i.value,
      circle: e(a).circle,
      "loading-icon": e(a).loadingIcon,
      "loading-effect": e(a).loadingEffect,
      icon: e(a).icon,
      color: e(a).color,
      "button-type": e(a).buttonType,
      block: e(a).block,
      tag: e(a).tag,
      onClick: v
    }), nl({
      default: X(() => [
        W(k.$slots, "default", {}, () => [
          dt(ze(e(a).label || e(p).submit), 1)
        ]),
        u.value ? (S(), D("button", {
          key: 0,
          ref_key: "submit",
          ref: f,
          type: "submit",
          style: { display: "none" },
          onClick: w[0] || (w[0] = gt(() => {
          }, ["stop"]))
        }, null, 512)) : ge("", !0)
      ]),
      _: 2
    }, [
      n.icon ? {
        name: "icon",
        fn: X(() => [
          W(k.$slots, "icon")
        ]),
        key: "0"
      } : void 0,
      n.loading ? {
        name: "loading",
        fn: X(() => [
          W(k.$slots, "loading")
        ]),
        key: "1"
      } : void 0
    ]), 1040, ["inherit", "class", "size", "type", "simple", "ghost", "dashed", "text", "disabled", "loading", "circle", "loading-icon", "loading-effect", "icon", "color", "button-type", "block", "tag"]));
  }
}), l1 = ft({
  tag: String,
  onToggle: B()
}), a1 = ["id"], jd = /* @__PURE__ */ Xe({
  name: "FullScreen",
  __name: "full-screen",
  props: l1,
  setup(t, { expose: r }) {
    const a = ct("fullScreen", t, {
      tag: "div"
    }), n = Ye("full-screen"), o = Zl(), s = $(!1), c = $(), d = $(), p = g(() => s.value && d.value), m = g(() => [n.b(), n.bs("vars"), { [n.bm("full")]: p.value }]), b = g(() => d.value === "window" ? "body" : ""), {
      enter: f,
      exit: u,
      target: h,
      full: i
    } = Jc();
    le(i, (T) => {
      T || (s.value = !1, d.value = void 0);
    }), le(p, (T) => {
      _(a.onToggle, T);
    });
    async function v(T = "window", F) {
      s.value && await k(), T !== "window" && await f(), s.value = !0, c.value = F, d.value = T !== "window" ? "browser" : "window";
    }
    async function k() {
      await u(), c.value = void 0, s.value = !1, d.value = void 0;
    }
    async function w(T = "window", F) {
      s.value ? d.value !== T ? await v(T, F) : await k() : await v(T, F);
    }
    return r({
      full: p,
      placeId: o,
      wrapper: h,
      enter: v,
      exit: k,
      toggle: w
    }), (T, F) => (S(), Be(e(Zo), { to: b.value }, {
      default: X(() => [
        (S(), Be(fc(e(a).tag || "div"), He(T.$attrs, {
          ref_key: "wrapper",
          ref: h,
          class: m.value,
          style: { [e(n).cv("z-index")]: c.value }
        }), {
          default: X(() => [
            W(T.$slots, "default", {
              full: p.value,
              placeId: e(o),
              enter: v,
              exit: k,
              toggle: w
            }),
            oe("div", {
              id: e(o),
              class: x(e(n).be("place")),
              role: "none"
            }, null, 10, a1)
          ]),
          _: 3
        }, 16, ["class", "style"]))
      ]),
      _: 3
    }, 8, ["to"]));
  }
}), no = /^\d+$/, r1 = Object.freeze([
  "start",
  "end",
  "center",
  "space-around",
  "space-between",
  "space-evenly"
]), o1 = Object.freeze(["top", "middle", "bottom", "stretch"]), s1 = Xe({
  name: "Grid",
  props: Cy,
  setup(t, { slots: r }) {
    const l = ct("grid", t, {
      tag: "div",
      gap: 0,
      rows: "none",
      columns: 24,
      autoRows: "auto",
      autoColumns: "auto",
      dense: !1,
      justify: {
        default: "start",
        validator: (p) => r1.includes(p)
      },
      align: {
        default: "stretch",
        validator: (p) => o1.includes(p)
      },
      cellFlex: !1
    }), a = Ye("grid"), n = g(() => ({
      [a.b()]: !0,
      [a.bm(l.justify)]: !0,
      [a.bm("inherit")]: l.inherit,
      [a.bm(l.align)]: l.align !== "stretch",
      [a.bm("dense")]: l.dense
    })), o = g(() => {
      const p = {};
      return l.gap && (p.gap = Array.isArray(l.gap) ? `${l.gap[0]}px ${l.gap[1]}px` : `${l.gap}px`), p.gridTemplateColumns = c(l.columns), l.rows !== "none" && (p.gridTemplateRows = c(l.rows)), l.autoRows !== "auto" && (p.gridAutoRows = d(l.autoRows)), l.autoColumns !== "auto" && (p.gridAutoColumns = d(l.autoColumns)), p;
    }), s = g(() => l.cellFlex === !0 ? {
      justify: "start",
      align: "top"
    } : l.cellFlex ? {
      justify: "start",
      align: "top",
      ...l.cellFlex
    } : !1);
    nn(Vs, pt({ cellFlex: s, columns: qe(l, "columns") }));
    function c(p) {
      return typeof p == "number" ? `repeat(${p}, 1fr)` : typeof p == "string" ? no.test(p.trim()) ? `repeat(${p}, 1fr)` : p : Array.isArray(p) ? p.map((m) => typeof m == "number" ? `${m}fr` : typeof m == "string" && no.test(m.trim()) ? `${m}fr` : m).join(" ") : p;
    }
    function d(p) {
      return typeof p == "number" ? `${p}fr` : typeof p == "string" ? no.test(p.trim()) ? `repeat(${p}, 1fr)` : p : Array.isArray(p) ? p.map((m) => typeof m == "number" ? `${m}fr` : typeof m == "string" && no.test(m.trim()) ? `${m}fr` : m).join(" ") : p;
    }
    return () => Jn(
      l.tag || "div",
      {
        class: n.value,
        style: o.value
      },
      {
        default: () => {
          var p;
          return (p = r.default) == null ? void 0 : p.call(r);
        }
      }
    );
  }
}), i1 = ft({
  content: String,
  keyWords: Array,
  ignoreCase: M
}), u1 = { key: 1 }, c1 = /* @__PURE__ */ Xe({
  name: "Highlight",
  __name: "highlight",
  props: i1,
  setup(t) {
    const l = ct("highlight", t, {
      content: {
        default: "",
        static: !0
      },
      keyWords: {
        default: () => [],
        static: !0
      },
      ignoreCase: !1
    }), a = Ye("highlight"), n = g(() => {
      var c;
      const s = (c = l.keyWords) == null ? void 0 : c.filter(Boolean);
      return s != null && s.length ? new RegExp(
        `(${s.sort((d, p) => p.length - d.length).join("|")})`,
        `${l.ignoreCase ? "i" : ""}g`
      ) : null;
    }), o = g(() => !n.value || !l.content ? [{ isKey: !1, text: l.content }] : l.content.split(n.value).map((s) => ({ isKey: n.value.test(s), text: s })));
    return (s, c) => (S(), D("div", {
      class: x([e(a).b(), e(a).bs("vars"), e(l).inherit && e(a).bm("inherit")])
    }, [
      (S(!0), D(st, null, ln(o.value, (d, p) => (S(), D(st, { key: p }, [
        d.isKey ? (S(), D("span", {
          key: 0,
          class: x(e(a).be("key-word"))
        }, [
          W(s.$slots, "light", {
            text: d.text
          }, () => [
            dt(ze(d.text), 1)
          ])
        ], 2)) : (S(), D("span", u1, [
          W(s.$slots, "default", {
            text: d.text
          }, () => [
            dt(ze(d.text), 1)
          ])
        ]))
      ], 64))), 128))
    ], 2));
  }
}), d1 = ft({
  locale: Mn(),
  width: [String, Number],
  height: [String, Number],
  moveDisabled: M,
  zoomDisabled: M,
  zoomDelta: Number,
  zoomMin: Number,
  zoomMax: Number,
  flipDisabled: M,
  rotateDisabled: M,
  rotateDelta: Number,
  fullDisabled: M,
  toolbarPlacement: String,
  actions: Array,
  toolbarFade: La,
  noTransition: M,
  centerScale: M,
  actionLayout: Array,
  onMoveStart: B(),
  onMove: B(),
  onMoveEnd: B(),
  onWheel: B(),
  onRotate: B(),
  onFlipX: B(),
  onFlipY: B(),
  onZoom: B(),
  onFull: B(),
  onReset: B()
});
var il = /* @__PURE__ */ ((t) => (t.RotateRight = "rotate-right", t.RotateLeft = "rotate-left", t.FlipX = "flip-x", t.FlipY = "flip-y", t.ZoomIn = "zoom-in", t.ZoomOut = "zoom-out", t.FullScreen = "full-screen", t.Reset = "reset", t))(il || {});
const go = [
  ["rotate-right", "rotate-left"],
  ["flip-x", "flip-y"],
  ["zoom-in", "zoom-out"],
  ["full-screen"],
  ["reset"]
];
for (let t = 0, r = go.length; t < r; ++t)
  go[t] = Object.freeze(go[t]);
const f1 = Object.freeze(go), p1 = ["title", "onClick"], Wd = /* @__PURE__ */ Xe({
  name: "Viewer",
  __name: "viewer",
  props: d1,
  setup(t, { expose: r }) {
    const a = ct("viewer", t, {
      locale: null,
      width: "100%",
      height: "100%",
      moveDisabled: !1,
      zoomDisabled: !1,
      zoomDelta: 0.15,
      zoomMin: 0.1,
      zoomMax: 1 / 0,
      rotateDisabled: !1,
      rotateDelta: 90,
      flipDisabled: !1,
      fullDisabled: !1,
      toolbarPlacement: "bottom",
      actions: () => [],
      toolbarFade: !1,
      noTransition: !1,
      centerScale: !1,
      actionLayout: () => []
    }), n = Ye("viewer"), o = vn("viewer", qe(a, "locale")), s = Gt(), { timer: c } = Vn(), d = $(!1), p = $(1), m = $(0), b = $(!1), f = $(!1), u = $(), h = $(), { supported: i, full: v, enter: k, exit: w } = Jc(u), {
      target: T,
      x: F,
      y: A,
      moving: z
    } = Pl({
      onStart: (se, ne) => {
        if (a.moveDisabled || ne.button > 0)
          return !1;
        _(a.onMoveStart, P());
      },
      onMove: () => {
        _(a.onMoveStart, P());
      },
      onEnd: () => {
        _(a.onMoveStart, P());
      }
    }), C = pt({
      zoom: p,
      rotate: m,
      flipX: b,
      flipY: f,
      full: v,
      moving: z,
      x: F,
      y: A
    }), E = {
      x: 0,
      y: 0
    };
    cl({
      target: u,
      passive: !1,
      onKeyDown: (se, ne) => {
        if (!z.value && (ne.up || ne.down || ne.left || ne.right)) {
          se.preventDefault();
          const ue = ne.up || ne.down ? A : F, J = ne.up || ne.left ? -10 : 10;
          ue.value += se.ctrlKey ? 5 * J : J, ne.resetAll();
        }
      }
    });
    function P() {
      return C;
    }
    function R(se, ne) {
      return vl(se[ne], C);
    }
    function L(se) {
      return n.be(se);
    }
    const I = [
      {
        name: il.RotateRight,
        process: () => de(a.rotateDelta),
        iconRenderer: () => Jn(Oe, s.value.rotateRight),
        class: L(il.RotateRight),
        title: () => o.value.rotateRight,
        hidden: () => a.rotateDisabled
      },
      {
        name: il.RotateLeft,
        process: () => de(-1 * a.rotateDelta),
        iconRenderer: () => Jn(Oe, s.value.rotateLeft),
        class: L(il.RotateLeft),
        title: () => o.value.rotateLeft,
        hidden: () => a.rotateDisabled
      },
      {
        name: il.FlipX,
        process: () => te(),
        iconRenderer: () => Jn(Oe, s.value.flipX),
        class: L(il.FlipX),
        title: () => o.value.flipHorizontal,
        hidden: () => a.flipDisabled
      },
      {
        name: il.FlipY,
        process: () => Ee(),
        iconRenderer: () => Jn(Oe, s.value.flipY),
        class: L(il.FlipY),
        title: () => o.value.flipVertical,
        hidden: () => a.flipDisabled
      },
      {
        name: il.ZoomIn,
        process: () => Se(a.zoomDelta),
        iconRenderer: () => Jn(Oe, s.value.zoomIn),
        class: L(il.ZoomIn),
        title: () => o.value.zoomIn,
        hidden: () => a.zoomDisabled
      },
      {
        name: il.ZoomOut,
        process: () => Se(-1 * a.zoomDelta),
        iconRenderer: () => Jn(Oe, s.value.zoonOut),
        class: L(il.ZoomOut),
        title: () => o.value.zoomOut,
        hidden: () => a.zoomDisabled
      },
      {
        name: il.FullScreen,
        process: () => Ce(!v.value),
        iconRenderer: () => Jn(Oe, v.value ? s.value.resetScreen : s.value.fullScreen),
        class: L(il.FullScreen),
        title: () => v.value ? o.value.fullScreenExit : o.value.fullScreen,
        hidden: () => a.fullDisabled
      },
      {
        name: il.Reset,
        process: () => fe(),
        iconRenderer: () => Jn(Oe, s.value.refresh),
        class: L(il.Reset),
        title: () => o.value.reset
      }
    ], G = g(() => ({
      [n.b()]: !0,
      [n.bs("vars")]: !0,
      [n.bm("inherit")]: a.inherit,
      [n.bm("draggable")]: !a.moveDisabled,
      [n.bm("resizable")]: !a.zoomDisabled,
      [n.bm("full")]: v.value,
      [n.bm("moving")]: z.value,
      [n.bm("static")]: a.noTransition
    })), ee = g(() => ({
      width: Mr(a.width),
      height: Mr(a.height)
    })), O = g(() => {
      const [se] = a.toolbarPlacement.split("-");
      return se === "left" || se === "right";
    }), H = g(() => typeof a.toolbarFade == "number" ? a.toolbarFade : a.toolbarFade ? 1500 : 0), U = g(() => ({
      [n.be("toolbar")]: !0,
      [n.bem("toolbar", "active")]: H.value < 300 || d.value,
      [n.bem("toolbar", a.toolbarPlacement)]: !0,
      [n.bem("toolbar", "vertical")]: O.value
    })), q = g(() => ({
      transform: `translate3d(${F.value}px, ${A.value}px, 0) scale(${p.value})`
    })), Z = g(() => ({
      transform: `scaleX(${b.value ? -1 : 1}) scaleY(${f.value ? -1 : 1}) rotate(${m.value}deg)`
    })), K = g(() => {
      var J;
      const se = /* @__PURE__ */ new Map(), ne = [];
      I.concat(a.actions).forEach((N) => {
        N.name && se.set(N.name, N);
      });
      let ue;
      (J = a.actionLayout) != null && J.length ? ue = a.actionLayout : (ue = [...f1], a.actions.length && ue.push(a.actions.map((N) => N.name)));
      for (const N of ue) {
        const j = N.map((ae) => se.get(ae)).filter(Boolean);
        j.length && ne.push(j);
      }
      return ne;
    });
    r({
      moving: z,
      fullSupported: i,
      state: C,
      viewer: u,
      container: T,
      transition: h,
      handleRotate: de,
      toggleFlipHorizontal: te,
      toggleFlipVertical: Ee,
      handleZoom: Se,
      toggleFull: Ce,
      handleReset: fe
    }), sn(() => {
      if (T.value) {
        const se = T.value.getBoundingClientRect();
        E.x = se.left + se.width * 0.5, E.y = se.top + se.height * 0.5;
      }
    });
    function we(se) {
      se.stopPropagation(), se.preventDefault();
      const ne = se.deltaY > 0 ? -1 : 1;
      E.x = se.clientX, E.y = se.clientY, _(a.onWheel, ne, C), Se(ne * a.zoomDelta);
    }
    function de(se, ne = !0) {
      a.rotateDisabled || (m.value += se, a.noTransition && m.value % 360 === 0 && (m.value = 0), ne && _(a.onRotate, se, C), a.noTransition && kt(ot));
    }
    function te(se = !b.value, ne = !0) {
      a.flipDisabled || (b.value = se, ne && _(a.onFlipX, se, C));
    }
    function Ee(se = !f.value, ne = !0) {
      a.flipDisabled || (f.value = se, ne && _(a.onFlipY, se, C));
    }
    function Se(se, ne = !0) {
      if (a.zoomDisabled || !T.value || z.value) return;
      const ue = T.value.getBoundingClientRect(), { x: J, y: N } = E, { offsetWidth: j, offsetHeight: ae } = T.value, be = p.value;
      p.value = _n(cn(p.value + se, a.zoomMin, a.zoomMax), 5);
      const re = p.value / be - 1, ce = re * j * 0.5, Pe = re * ae * 0.5;
      a.centerScale || (F.value -= re * (J - ue.left - F.value) - ce, A.value -= re * (N - ue.top - A.value) - Pe), ne && _(a.onZoom, p.value, C);
    }
    async function Ce(se = !v.value, ne = !0) {
      se ? await k() : await w(), ne && _(a.onFull, se, C);
    }
    function fe(se = !0) {
      A.value = 0, F.value = 0, m.value = 0, b.value = !1, f.value = !1, p.value = 1, se && _(a.onReset, C);
    }
    function ot() {
      if (a.noTransition) {
        m.value % 360 === 0 && (m.value = 0);
        return;
      }
      const se = [];
      m.value % 360 === 0 && se.push(
        () => {
          h.value && (h.value.style.transitionDuration = "0ms");
        },
        () => {
          m.value = 0;
        },
        () => {
          h.value && (h.value.style.transitionDuration = "");
        }
      );
      const ne = () => {
        var ue;
        (ue = se.shift()) == null || ue(), se.length && requestAnimationFrame(ne);
      };
      ne();
    }
    function Ze() {
      clearTimeout(c.toolbarFade), d.value = !0;
    }
    function Je() {
      clearTimeout(c.toolbarFade), H.value >= 300 && (c.toolbarFade = setTimeout(() => {
        d.value = !1;
      }, H.value));
    }
    return (se, ne) => (S(), D("div", {
      ref_key: "viewer",
      ref: u,
      class: x(G.value),
      tabindex: "0",
      style: Qe(ee.value)
    }, [
      oe("div", {
        ref_key: "container",
        ref: T,
        class: x(e(n).be("container")),
        onWheel: we
      }, [
        oe("div", {
          class: x(e(n).be("content")),
          style: Qe(q.value)
        }, [
          oe("div", {
            ref_key: "transition",
            ref: h,
            class: x(e(n).be("transition")),
            style: Qe(Z.value),
            onTransitionend: ot
          }, [
            W(se.$slots, "default", { state: C })
          ], 38)
        ], 6)
      ], 34),
      oe("div", {
        class: x(U.value),
        role: "toolbar",
        onMouseenter: Ze,
        onMouseleave: Je
      }, [
        (S(!0), D(st, null, ln(K.value, (ue, J) => (S(), D(st, { key: J }, [
          (S(!0), D(st, null, ln(ue, (N) => (S(), D(st, {
            key: N.name
          }, [
            R(N, "hidden") ? ge("", !0) : (S(), D("button", {
              key: 0,
              type: "button",
              class: x([
                {
                  [e(n).be("action")]: !0,
                  [e(n).bem("action", "disabled")]: R(N, "disabled")
                },
                R(N, "class")
              ]),
              title: R(N, "title"),
              onClick: gt((j) => N.process(C), ["stop"])
            }, [
              W(se.$slots, `action-${N.name}`, { state: C }, () => [
                N.iconRenderer ? (S(), Be(e(me), {
                  key: 0,
                  renderer: N.iconRenderer,
                  data: C
                }, null, 8, ["renderer", "data"])) : N.icon ? (S(), Be(e(Oe), {
                  key: 1,
                  icon: N.icon,
                  style: Qe(R(N, "iconStyle")),
                  scale: R(N, "iconScale") || 1
                }, null, 8, ["icon", "style", "scale"])) : (S(), D(st, { key: 2 }, [
                  dt(ze(N.name), 1)
                ], 64))
              ])
            ], 10, p1))
          ], 64))), 128)),
          J !== K.value.length - 1 ? (S(), Be(e(Vd), {
            key: 0,
            inherit: "",
            vertical: !O.value
          }, null, 8, ["vertical"])) : ge("", !0)
        ], 64))), 128))
      ], 34)
    ], 6));
  }
}), v1 = ft({
  src: String,
  fallbackSrc: String,
  alt: String,
  fit: String,
  width: [String, Number],
  height: [String, Number],
  imgAttrs: Object,
  lazy: M,
  root: [String, Object, Function],
  rootMargin: String,
  preview: M,
  skeleton: {
    type: [Boolean, Object],
    default: null
  },
  placeholder: String,
  errorTip: String,
  radius: Number,
  border: hn,
  previewSrc: String,
  viewerTransfer: hn,
  viewerProps: Object,
  slots: Object,
  onLoad: B(),
  onError: B(),
  onPreview: B()
}), h1 = ft({
  showAll: M,
  preview: M,
  viewerTransfer: hn,
  slots: Object,
  onPreview: B()
}), m1 = ft({
  active: M,
  index: Number,
  srcList: [String, Array],
  transfer: hn,
  viewerProps: Object,
  slots: Object,
  onToggle: B(),
  onChange: B(),
  onPrev: B(),
  onNext: B(),
  onClose: B(),
  onShow: B(),
  onHide: B()
}), b1 = ["src"], Ai = /* @__PURE__ */ Xe({
  name: "ImageViewer",
  __name: "image-viewer",
  props: m1,
  emits: ["update:active", "update:index"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("imageViewer", t, {
      active: !1,
      index: 0,
      srcList: {
        default: "",
        static: !0
      },
      transfer: !1,
      viewerProps: () => ({}),
      slots: () => ({})
    }), o = l, s = Ye("image-viewer"), c = Gt(), d = $(n.active), p = $(n.index), m = $(), b = g(() => [s.b(), s.ns("image-vars"), n.inherit && s.bm("inherit")]), f = g(() => ur(dn(n.srcList) ? n.srcList : "")), u = g(() => p.value <= 0), h = g(() => p.value >= f.value.length - 1);
    le(
      () => n.active,
      (C) => {
        d.value = C;
      }
    ), le(
      () => n.index,
      (C) => {
        p.value = C;
      }
    ), le(() => f.value.length, v), r({
      currentActive: d,
      currentIndex: p,
      prevDisabled: u,
      nextDisabled: h,
      viewer: m
    });
    function i(C) {
      d.value !== C && (d.value = C, o("update:active", C), _(n.onToggle, C));
    }
    function v() {
      p.value = cn(p.value, 0, f.value.length - 1);
    }
    function k() {
      var E;
      const C = p.value;
      (E = m.value) == null || E.handleReset(), o("update:index", C), _(n.onChange, C, f.value[C]);
    }
    function w() {
      if (u.value) return;
      const C = p.value;
      p.value--, v(), p.value !== C && k(), _(n.onPrev, p.value, f.value[p.value]);
    }
    function T() {
      if (h.value) return;
      const C = p.value;
      p.value++, v(), p.value !== C && k(), _(n.onNext, p.value, f.value[p.value]);
    }
    function F() {
      i(!1), _(n.onClose);
    }
    function A() {
      _(n.onShow);
    }
    function z() {
      _(n.onHide);
    }
    return (C, E) => (S(), Be(e(fr), {
      active: d.value,
      inherit: e(n).inherit,
      class: x(b.value),
      closable: "",
      "auto-remove": "",
      transfer: e(n).transfer,
      onShow: A,
      onHide: z,
      onToggle: i
    }, {
      default: X(({ show: P }) => [
        el(oe("div", {
          class: x(e(s).be("wrapper"))
        }, [
          y(e(Wd), He(e(n).viewerProps, {
            ref_key: "viewer",
            ref: m
          }), {
            default: X(() => [
              W(C.$slots, "default", {
                src: f.value[p.value]
              }, () => [
                y(e(me), {
                  renderer: e(n).slots.default,
                  data: { src: f.value[p.value] }
                }, {
                  default: X(() => [
                    oe("img", {
                      src: f.value[p.value]
                    }, null, 8, b1)
                  ]),
                  _: 1
                }, 8, ["renderer", "data"])
              ])
            ]),
            _: 3
          }, 16),
          f.value.length > 1 ? (S(), D(st, { key: 0 }, [
            oe("button", {
              type: "button",
              class: x([e(s).be("prev"), u.value && e(s).bem("prev", "disabled")]),
              onClick: gt(w, ["stop"])
            }, [
              W(C.$slots, "prev", { disabled: u.value }, () => [
                y(e(me), {
                  renderer: e(n).slots.prev,
                  data: { disabled: u.value }
                }, {
                  default: X(() => [
                    oe("div", {
                      class: x(e(s).be("prev-handler"))
                    }, [
                      y(e(Oe), He(e(c).angleLeft, {
                        scale: +(e(c).angleLeft.scale || 1) * 1.4,
                        label: "prev"
                      }), null, 16, ["scale"])
                    ], 2)
                  ]),
                  _: 1
                }, 8, ["renderer", "data"])
              ])
            ], 2),
            oe("button", {
              type: "button",
              class: x([e(s).be("next"), h.value && e(s).bem("next", "disabled")]),
              onClick: gt(T, ["stop"])
            }, [
              W(C.$slots, "next", { disabled: h.value }, () => [
                y(e(me), {
                  renderer: e(n).slots.next,
                  data: { disabled: h.value }
                }, {
                  default: X(() => [
                    oe("div", {
                      class: x(e(s).be("next-handler"))
                    }, [
                      y(e(Oe), He(e(c).angleRight, {
                        scale: +(e(c).angleRight.scale || 1) * 1.4,
                        label: "next"
                      }), null, 16, ["scale"])
                    ], 2)
                  ]),
                  _: 1
                }, 8, ["renderer", "data"])
              ])
            ], 2)
          ], 64)) : ge("", !0),
          oe("button", {
            type: "button",
            class: x(e(s).be("close")),
            onClick: gt(F, ["stop"])
          }, [
            W(C.$slots, "close", {}, () => [
              y(e(me), {
                renderer: e(n).slots.close
              }, {
                default: X(() => [
                  oe("div", {
                    class: x(e(s).be("close-handler"))
                  }, [
                    y(e(Oe), He(e(c).close, {
                      scale: +(e(c).close.scale || 1) * 1.4,
                      label: "close"
                    }), null, 16, ["scale"])
                  ], 2)
                ]),
                _: 1
              }, 8, ["renderer"])
            ])
          ], 2)
        ], 2), [
          [tl, P]
        ])
      ]),
      _: 3
    }, 8, ["active", "inherit", "class", "transfer"]));
  }
}), g1 = ft({
  size: An,
  width: [Number, String],
  height: [Number, String],
  repeat: Number,
  tag: String,
  activated: M,
  image: M,
  imageIcon: Xt,
  iconScale: Number,
  round: M,
  circle: M,
  block: M,
  spread: Number,
  loading: M
}), y1 = ft({
  size: An,
  tag: hn,
  itemTag: String,
  activated: M,
  round: M,
  circle: M,
  block: M,
  loading: M
}), Kd = "__VXP_SKELETON_GROUP_STATE", Ud = /* @__PURE__ */ Xe({
  name: "Skeleton",
  inheritAttrs: !1,
  props: g1,
  setup(t, {
    attrs: r,
    slots: l
  }) {
    const a = ct("skeleton", t, {
      size: null,
      width: null,
      height: null,
      repeat: {
        default: 1,
        validator: (k) => k > 0
      },
      tag: "div",
      activated: null,
      image: !1,
      imageIcon: en(),
      iconScale: 4,
      round: null,
      circle: null,
      block: null,
      spread: 0,
      loading: null
    }), n = Et(Kd, {}), o = Ye("skeleton"), s = Gt(), c = g(() => a.activated ?? n.activated ?? !1), d = g(() => a.round ?? n.round ?? !1), p = g(() => a.circle ?? n.circle ?? !1), m = g(() => a.block ?? n.block ?? !1), b = g(() => a.loading ?? n.loading ?? !0), f = g(() => a.tag || n.itemTag || "div"), u = g(() => ({
      [o.b()]: !0,
      [o.bs("vars")]: !0,
      [o.bm("inherit")]: Object.keys(n).length || a.inherit,
      [o.bm(a.size)]: a.size ?? (n == null ? void 0 : n.size),
      [o.bm("block")]: m.value,
      [o.bm("image")]: a.image,
      [o.bm("round")]: d.value && !p.value,
      [o.bm("circle")]: p.value,
      [o.bm("activated")]: c.value
    })), h = g(() => {
      const k = {};
      return a.width !== null && (k[o.cv("width")] = i(a.width)), a.height !== null && (k[o.cv("height")] = i(a.height)), a.spread && (k[o.cv("spread")] = i(a.spread)), k;
    });
    function i(k) {
      return typeof k == "number" ? `${k}px` : (k = k.trim(), /\d$/.test(k) ? `${k}px` : k);
    }
    function v() {
      const k = f.value || "div";
      return y(k, He(r, {
        class: [u.value, r.class],
        style: [h.value, r.style]
      }), {
        default: () => [a.image ? y(Oe, He(s.value.image, {
          icon: a.imageIcon || s.value.image.icon,
          scale: a.iconScale
        }), null) : null]
      });
    }
    return () => b.value ? a.repeat > 1 ? Array.from({
      length: a.repeat
    }, () => v()) : v() : W(l, "default");
  }
}), Xd = "__VXP_IMAGE_GROUP_STATE", k1 = Object.freeze([
  "fill",
  "contain",
  "cover",
  "none",
  "scale-down"
]), w1 = ["src", "alt", "width", "height", "loading", "aria-label"], x1 = /* @__PURE__ */ Xe({
  name: "Image",
  __name: "image",
  props: v1,
  setup(t, { expose: r }) {
    const l = _p(), n = ct("image", t, {
      src: {
        default: "",
        static: !0
      },
      fallbackSrc: "",
      alt: "",
      fit: {
        default: "cover",
        validator: (I) => k1.includes(I)
      },
      width: "",
      height: "",
      imgAttrs: () => ({}),
      lazy: !1,
      root: {
        default: null,
        static: !0
      },
      rootMargin: "",
      preview: !1,
      skeleton: !1,
      placeholder: "",
      errorTip: "",
      radius: 0,
      border: !1,
      previewSrc: "",
      viewerTransfer: null,
      viewerProps: () => ({}),
      slots: () => ({})
    }), o = kn(), s = Et(Xd, null), c = Ye("image"), d = vn("image"), p = $(l), m = $(p.value), b = $(""), f = $(!1), u = $(!1), h = $(!1), i = $(!1), v = $(), k = g(() => f.value && (!n.fallbackSrc || u.value)), w = g(() => !s && n.preview), T = g(() => [
      c.b(),
      c.bs("vars"),
      {
        [c.bm("inherit")]: n.inherit,
        [c.bm("border")]: n.border,
        [c.bm("loading")]: m.value,
        [c.bm("error")]: k.value,
        [c.bm("preview")]: (s == null ? void 0 : s.preview) || w.value
      }
    ]), F = g(() => {
      const I = {
        width: Mr(n.width),
        height: Mr(n.height),
        [c.cv("fit")]: n.fit,
        [c.cv("radius")]: n.radius ? `${n.radius}px` : ""
      };
      return n.border && typeof n.border == "string" && (I[c.cv("b-color")] = n.border), I;
    }), A = g(() => {
      var I;
      return n.src || ((I = n.imgAttrs) == null ? void 0 : I.src);
    }), z = g(() => i.value || l && n.lazy ? "lazy" : void 0), C = g(() => typeof n.skeleton == "object" ? Object.assign({ activated: !0 }, n.skeleton) : { activated: !0 });
    le(A, (I) => {
      m.value = p.value, b.value = I, f.value = !1, u.value = !1;
    }), le(
      () => n.fallbackSrc,
      (I) => {
        u.value = !1, f.value && (m.value = p.value, b.value = I);
      }
    ), b.value = A.value;
    const E = pt({
      src: g(() => n.previewSrc || b.value),
      index: 0,
      total: 0
    });
    if (s) {
      s.increaseItem(E);
      const I = In(() => {
        i.value = !s.showAll && E.index > 0;
      });
      pn(() => {
        I(), s.decreaseItem(E);
      });
    }
    if (!l) {
      let I;
      const G = In(() => {
        if (I == null || I(), I = void 0, !zt) return;
        const ee = typeof n.root == "string" ? document.querySelector(n.root) : n.root;
        n.lazy && (I = $h({
          root: typeof ee == "object" ? ee : document.documentElement,
          rootMargin: n.rootMargin,
          target: v,
          handler: () => {
            I == null || I(), I = void 0, p.value = !0, m.value = !0;
          }
        }).disconnect);
      });
      pn(() => {
        G(), I == null || I();
      });
    }
    r({
      loading: m,
      fallbackFail: u,
      viewerActive: h,
      hidden: i,
      wrapper: v
    });
    function P(I) {
      m.value = !1, (!n.fallbackSrc || b.value !== n.fallbackSrc) && _(n.onLoad, I);
    }
    function R(I) {
      if (n.fallbackSrc) {
        if (b.value === n.fallbackSrc) {
          m.value = !1, u.value = !0;
          return;
        }
        b.value = n.fallbackSrc;
      } else
        m.value = !1;
      f.value = !0, _(n.onError, I);
    }
    function L() {
      if (!s) {
        n.preview && (h.value = !0), _(n.onPreview, n.previewSrc || b.value);
        return;
      }
      s.handlePreview(E);
    }
    return (I, G) => el((S(), D("div", {
      ref_key: "wrapper",
      ref: v,
      class: x(T.value),
      role: "none",
      style: Qe(F.value)
    }, [
      m.value ? W(I.$slots, "placeholder", { key: 0 }, () => [
        y(e(me), {
          renderer: e(n).slots.placeholder
        }, {
          default: X(() => [
            e(n).skeleton ? (S(), Be(e(Ud), He({ key: 0 }, C.value, {
              class: e(c).be("skeleton"),
              image: ""
            }), null, 16, ["class"])) : (S(), D("span", {
              key: 1,
              class: x(e(c).be("placeholder"))
            }, ze(e(n).placeholder || e(d).placeholder), 3))
          ]),
          _: 1
        }, 8, ["renderer"])
      ]) : k.value ? W(I.$slots, "error", { key: 1 }, () => [
        y(e(me), {
          renderer: e(n).slots.error
        }, {
          default: X(() => [
            oe("span", {
              class: x(e(c).be("error"))
            }, ze(e(n).errorTip || e(n).alt || e(d).error), 3)
          ]),
          _: 1
        }, 8, ["renderer"])
      ]) : ge("", !0),
      p.value && !k.value ? (S(), D("img", He({ key: 2 }, e(n).imgAttrs, {
        class: e(c).be("img"),
        src: b.value,
        alt: e(n).alt,
        width: e(n).width || void 0,
        height: e(n).height || void 0,
        loading: z.value,
        "aria-label": e(n).alt,
        onLoad: P,
        onError: R,
        onClick: L
      }), null, 16, w1)) : ge("", !0),
      w.value ? (S(), Be(e(Ai), He({ key: 3 }, I.viewerProps, {
        active: h.value,
        "onUpdate:active": G[0] || (G[0] = (ee) => h.value = ee),
        "src-list": e(n).previewSrc || b.value,
        transfer: e(n).viewerTransfer
      }), nl({ _: 2 }, [
        o.preview || e(n).slots.preview ? {
          name: "default",
          fn: X(({ src: ee }) => [
            W(I.$slots, "preview", { src: ee }, () => [
              y(e(me), {
                renderer: e(n).slots.preview,
                data: { src: ee }
              }, null, 8, ["renderer", "data"])
            ])
          ]),
          key: "0"
        } : void 0
      ]), 1040, ["active", "src-list", "transfer"])) : ge("", !0)
    ], 6)), [
      [tl, !i.value]
    ]);
  }
}), S1 = /* @__PURE__ */ Xe({
  name: "ImageGroup",
  __name: "image-group",
  props: h1,
  setup(t, { expose: r }) {
    const a = ct("imageGroup", t, {
      showAll: !1,
      preview: !1,
      viewerTransfer: null,
      slots: () => ({})
    }), n = kn(), o = Ye("image-group"), s = $(!1), c = $(0), d = pt(/* @__PURE__ */ new Set()), p = g(() => [
      o.b(),
      o.ns("image-vars"),
      {
        [o.bm("preview")]: a.preview
      }
    ]), m = g(() => Array.from(d).map((i) => i.src)), b = Ln(() => {
      const i = d.size;
      Array.from(d).forEach((v, k) => {
        v.index = k, v.total = i;
      });
    });
    nn(
      Xd,
      pt({
        showAll: qe(a, "showAll"),
        preview: qe(a, "preview"),
        increaseItem: f,
        decreaseItem: u,
        handlePreview: h
      })
    ), r({ currentActive: s, currentIndex: c });
    function f(i) {
      d.add(i), b();
    }
    function u(i) {
      d.delete(i), b();
    }
    function h(i) {
      c.value = i.index, s.value = !0, _(a.onPreview, i.src, Array.from(m.value));
    }
    return (i, v) => (S(), D("div", {
      class: x(p.value)
    }, [
      W(i.$slots, "default"),
      e(a).preview ? (S(), Be(e(Ai), {
        key: 0,
        active: s.value,
        "onUpdate:active": v[0] || (v[0] = (k) => s.value = k),
        index: c.value,
        "onUpdate:index": v[1] || (v[1] = (k) => c.value = k),
        "src-list": m.value,
        transfer: e(a).viewerTransfer
      }, nl({ _: 2 }, [
        n.preview || e(a).slots.preview ? {
          name: "default",
          fn: X(({ src: k }) => [
            W(i.$slots, "preview", { src: k }, () => [
              y(e(me), {
                renderer: e(a).slots.preview,
                data: { src: k }
              }, null, 8, ["renderer", "data"])
            ])
          ]),
          key: "0"
        } : void 0
      ]), 1032, ["active", "index", "src-list", "transfer"])) : ge("", !0)
    ], 2));
  }
}), lo = {
  type: [String, Boolean, Function],
  default: null
}, C1 = ft({
  locale: Mn(),
  noAside: M,
  footer: M,
  tag: String,
  menus: Object,
  menuProps: Object,
  logo: String,
  signName: String,
  config: Array,
  user: Object,
  actions: Array,
  expanded: M,
  reduced: M,
  avatarCircle: M,
  signType: String,
  headerFixed: lo,
  asideFixed: lo,
  copyright: String,
  links: Array,
  colors: Array,
  color: String,
  miniHeaderSign: lo,
  verticalLinks: lo,
  darkMode: M,
  fixedMain: M,
  fitWindow: M,
  innerClasses: Object,
  noHeader: M,
  noMasker: M,
  onExpandedChange: B(),
  onReducedChange: B(),
  onSignClick: B(),
  onMenuSelect: B(),
  onUserAction: B(),
  onNavChange: B(),
  onColorChange: B(),
  onToggleTheme: B(),
  onContentResize: B()
}), T1 = ft({
  tag: String,
  expanded: M,
  reduced: M,
  menus: Array,
  menuProps: Object,
  logo: String,
  signName: String,
  fixed: hn,
  signType: String,
  onExpandedChange: B(),
  onReducedChange: B(),
  onSignClick: B(),
  onMenuSelect: B()
}), $1 = ft({
  locale: Mn(),
  tag: String,
  logo: String,
  signName: String,
  user: Object,
  userDropped: M,
  avatarCircle: M,
  config: Array,
  actions: Array,
  signType: String,
  colors: Array,
  color: String,
  menus: Object,
  menuProps: Object,
  darkMode: M,
  onNavChange: B(),
  onColorChange: B(),
  onUserAction: B(),
  onSignClick: B(),
  onDroppedChange: B(),
  onExpandedChange: B(),
  onReducedChange: B(),
  onMenuSelect: B(),
  onToggleTheme: B()
}), E1 = ft({
  tag: String,
  fixed: M
}), A1 = ft({
  tag: String,
  copyright: String,
  links: Array,
  verticalLinks: hn
}), Yd = "___VXP_LAYOUT_STATE", No = zt ? document.documentElement : void 0, ks = No && getComputedStyle(No);
function ju(t) {
  if (!No || !ks) return;
  const r = {
    light: [],
    opacity: [],
    dark: []
  }, l = Qn(
    ks.getPropertyValue("--vxp-color-black") || { r: 0, g: 0, b: 0, a: 1 }
  ), a = Qn(
    ks.getPropertyValue("--vxp-color-white") || { r: 255, g: 255, b: 255, a: 1 }
  ), n = No.style;
  for (let o = 1; o < 10; ++o) {
    const s = ia(a, t, o * 0.1).toString(), c = ml(t, _n(1 - o * 0.1, 1)).toString();
    n.setProperty(`--vxp-color-primary-light-${o}`, s), n.setProperty(`--vxp-color-primary-opacity-${o}`, c), r.light.push(s), r.opacity.push(c);
  }
  for (let o = 1; o < 3; ++o) {
    const s = ia(l, t, o * 0.1).toString();
    n.setProperty(`--vxp-color-primary-dark-${o}`, s), r.dark.push(s);
  }
  return n.setProperty("--vxp-color-primary-base", `${t}`), r;
}
function ns() {
  return Et(
    Yd,
    pt({
      isLayout: !1,
      locked: !1,
      affixed: !1,
      scrollY: 0,
      affixMatched: !1,
      expandMatched: !1,
      useExpand: !1,
      expanded: !1,
      reduced: !1,
      navConfig: !1,
      classes: Object.freeze({}),
      changeInLock: Qt
    })
  );
}
const R1 = Object.freeze(["xs", "sm", "md", "lg", "xl", "xxl"]);
function Sr(t) {
  const r = $(!1), l = $(0), a = zt && getComputedStyle(document.documentElement), n = g(() => {
    if (l.value, typeof t.value != "function" && R1.includes(t.value)) {
      const d = t.value === "xs" ? "sm" : t.value;
      if (d === Fo.value) return !0;
      const p = a && a.getPropertyValue(`--vxp-break-point-${d}`).trim();
      return p && `only screen and ${p}`;
    }
    return t.value;
  });
  let o = !1, s;
  const c = () => {
    if (typeof n.value == "boolean") {
      r.value = n.value;
      return;
    }
    if (!n.value || n.value === "min") {
      r.value = !1;
      return;
    }
    if (n.value === "max") {
      r.value = !0;
      return;
    }
    if (typeof n.value == "function") {
      r.value = n.value(Fo.value);
      return;
    }
    o && (s = matchMedia(n.value), s == null || s.addEventListener("change", c)), r.value = s.matches;
  };
  return le(n, () => {
    c();
  }), sn(() => {
    ++l.value, o = !0, c();
  }), pn(() => {
    o = !1, s == null || s.removeEventListener("change", c), s = void 0;
  }), r;
}
function M1() {
  const t = $(0);
  return sn(() => {
    t.value++;
  }), Qs(() => {
    t.value++;
  }), t;
}
const qd = /* @__PURE__ */ Xe({
  name: "LayoutMain",
  props: E1,
  setup(t, {
    slots: r
  }) {
    const l = ct("layoutMain", t, {
      tag: "main",
      fixed: !1
    }), a = Ye("layout"), n = ns(), o = g(() => [a.be("main"), l.fixed && a.bem("main", "fixed"), n.classes.main]);
    return () => {
      const s = l.tag || "main";
      return y(s, {
        class: o.value
      }, {
        default: () => {
          var c;
          return [(c = r.default) == null ? void 0 : c.call(r)];
        }
      });
    };
  }
}), P1 = ft({
  active: String,
  accordion: M,
  markerType: String,
  reduced: M,
  horizontal: M,
  transfer: hn,
  trigger: String,
  groupType: String,
  tooltipReverse: M,
  options: Array,
  router: Object,
  manualRoute: M,
  indent: [String, Number],
  arrow: Xt,
  slots: Object,
  onSelect: B(),
  onExpand: B(),
  onReduce: B()
}), z1 = ft({
  label: String,
  icon: Xt,
  iconProps: Object,
  disabled: M,
  transfer: hn,
  trigger: String,
  transitionName: String,
  meta: Object,
  children: Array,
  route: [String, Object],
  arrow: Xt,
  slots: Object,
  onSelect: B()
}), uS = ft({
  label: String,
  children: Array
}), Do = "__VXP_MENU_ITEM_STATE", Gd = "__VXP_MENU_GROUP_STATE", ls = "__VXP_MENU_STATE", L1 = Lf(() => Promise.resolve().then(() => F1)), Kr = /* @__PURE__ */ Xe({
  name: "MenuItem",
  props: z1,
  emits: [],
  setup(t, {
    slots: r,
    expose: l
  }) {
    const a = ct("menuItem", t, {
      label: {
        default: null,
        static: !0
      },
      icon: en(),
      iconProps: null,
      disabled: !1,
      transfer: null,
      trigger: null,
      transitionName: null,
      meta: null,
      children: {
        default: () => [],
        static: !0
      },
      route: null,
      arrow: null,
      slots: () => ({})
    }), n = Et(ls, null), o = Et(Do, null), s = Et(Gd, null), c = Ye("menu"), d = Gt(), p = fa(), {
      isRtl: m
    } = Un(), b = c.be("item"), f = $(m.value ? "left-start" : "right-start"), u = $(!1), h = $(!1), i = $(!1), v = $(!1), k = g(() => ((o == null ? void 0 : o.indent) ?? 0) + 1), w = g(() => a.transfer ?? (n == null ? void 0 : n.transfer) ?? !1), T = g(() => o ? o.transfer : !1), F = g(() => !T.value && w.value), A = g(() => (n == null ? void 0 : n.markerType) || "right"), z = Hl(Je), C = $(), {
      reference: E,
      transferTo: P,
      updatePopper: R
    } = Kl({
      placement: f,
      transfer: F,
      wrapper: z,
      popper: g(() => {
        var j;
        return (j = C.value) == null ? void 0 : j.wrapper;
      }),
      shift: {
        crossAxis: !0
      }
    }), L = g(() => {
      var j;
      return !!(r.group || (j = a.children) != null && j.length);
    }), I = g(() => L.value && u.value), G = g(() => ({
      [b]: !0,
      [`${b}--disabled`]: a.disabled,
      [`${b}--group-visible`]: I.value,
      [`${b}--selected`]: h.value,
      [`${b}--no-icon`]: !a.icon,
      [`${b}--son-selected`]: i.value
    })), ee = g(() => {
      if (n != null && n.horizontal || o != null && o.isUsePopper)
        return {};
      const j = c.gcv("indent-width"), ae = k.value + (n != null && n.isReduced ? 0 : (s == null ? void 0 : s.indent) ?? 0) * 0.25;
      return {
        paddingInlineStart: o && o.isUsePopper ? void 0 : `calc(${j} * ${ae})`
      };
    }), O = g(() => n && (n.horizontal || n.groupType === "dropdown") || L.value && (n == null ? void 0 : n.isReduced) && !o || !!(o != null && o.isUsePopper)), H = g(() => L.value || !!(o != null && o.isUsePopper || n && !n.isReduced)), U = g(() => !!(n != null && n.tooltipReverse)), q = g(() => (n == null ? void 0 : n.horizontal) && !o), Z = g(() => a.transitionName ?? q.value ? c.ns("drop") : c.ns("zoom")), K = g(() => a.trigger || (n == null ? void 0 : n.trigger) || "hover"), we = pt({
      el: z,
      label: qe(a, "label"),
      indent: k,
      groupExpanded: u,
      showGroup: I,
      isUsePopper: O,
      parentState: o,
      transfer: g(() => T.value || w.value),
      cachedExpanded: u.value,
      updateSonSelected: de,
      toggleGroupExpanded: Se,
      handleMouseEnter: ot,
      handleMouseLeave: Ze
    });
    nn(Do, we), le(I, (j) => {
      j && O.value && (v.value = !0, R());
    }, {
      immediate: !0
    }), le(h, (j) => {
      j && _(a.onSelect), n == null || n.doForEachItem((ae) => ae.updateSonSelected(!1, !1)), j && kt(() => {
        o == null || o.updateSonSelected(j);
      });
    }), le(u, (j) => {
      typeof (n == null ? void 0 : n.handleExpand) == "function" && n.handleExpand(a.label, j, a.meta || {});
    }), le(q, (j) => {
      f.value = j ? "bottom" : m.value ? "left-start" : "right-start";
    }, {
      immediate: !0
    }), n && (le([() => a.label, () => n.currentActive], () => {
      h.value = a.label === n.currentActive;
    }, {
      immediate: !0
    }), typeof n.increaseItem == "function" && n.increaseItem(we)), pn(() => {
      typeof (n == null ? void 0 : n.decreaseItem) == "function" && n.decreaseItem(we);
    }), l({
      groupExpanded: u,
      isGroup: L,
      showGroup: I,
      isUsePopper: O,
      handleSelect: Ee,
      handleMouseEnter: ot,
      handleMouseLeave: Ze
    });
    function de(j, ae = !0) {
      i.value = j, ae && (o == null || o.updateSonSelected(j));
    }
    const {
      timer: te
    } = Vn();
    function Ee() {
      if (clearTimeout(te.hover), !a.disabled)
        if (L.value) {
          if (O.value && K.value !== "click") return;
          n == null || n.doForEachItem((j) => {
            n.accordion && (j.groupExpanded = !1);
          }), u.value = !u.value;
        } else
          O.value && Se(!1, !0), n && n.handleSelect(a.label, a.meta || {}, a.route), h.value = !0;
    }
    function Se(j, ae = !1) {
      clearTimeout(te.hover), n == null || n.doForEachItem((be) => {
        n.accordion && (be.groupExpanded = !1);
      }), u.value = j, ae && typeof (o == null ? void 0 : o.toggleGroupExpanded) == "function" && o.toggleGroupExpanded(j, ae);
    }
    let Ce = !1, fe = !1;
    function ot() {
      if (clearTimeout(te.hover), !(Ce || !O.value || K.value !== "hover")) {
        if (!u.value && v.value) {
          fe = !0;
          return;
        }
        typeof (o == null ? void 0 : o.handleMouseEnter) == "function" && o.handleMouseEnter(), !(a.disabled || !L.value) && (te.hover = setTimeout(() => {
          u.value = !0;
        }, p.value));
      }
    }
    function Ze() {
      clearTimeout(te.hover), !(Ce || !v.value || !O.value || K.value !== "hover") && (typeof (o == null ? void 0 : o.handleMouseLeave) == "function" && o.handleMouseLeave(), !(a.disabled || !L.value) && (te.hover = setTimeout(() => {
        u.value = !1;
      }, p.value)));
    }
    function Je() {
      O.value && K.value === "click" && kt(() => {
        u.value = !1;
      });
    }
    function se() {
      if (v.value = !1, u.value = !1, fe) {
        if (fe = !1, typeof (o == null ? void 0 : o.handleMouseEnter) == "function" && o.handleMouseEnter(), a.disabled || !L.value) return;
        u.value = !0;
      }
    }
    function ne(j) {
      const ae = j.code || j.key;
      ae === "Enter" || ae === "NumpadEnter" ? (j.stopPropagation(), Ee()) : ae === "Space" && (j.stopPropagation(), j.preventDefault(), Ee());
    }
    function ue() {
      var ae;
      if (!((ae = a.children) != null && ae.length))
        return null;
      const j = (be) => y(Kr, {
        label: be.label,
        icon: be.icon,
        "icon-props": be.iconProps,
        disabled: be.disabled,
        children: be.children,
        route: be.route,
        meta: be.meta
      }, {
        default: () => [be.name ? vl(be.name) : be.label]
      });
      return a.children.map((be) => be.group ? y(L1, {
        key: be.label,
        label: be.name ? vl(be.name) : be.label
      }, {
        default: () => {
          var re;
          return [(re = be.children) == null ? void 0 : re.map(j)];
        }
      }) : j(be));
    }
    function J() {
      const j = {
        groupExpanded: u.value,
        sonSelected: i.value
      }, ae = a.arrow || (n == null ? void 0 : n.arrow) || d.value.angleDown.icon, be = () => y(me, {
        renderer: a.slots.arrow,
        data: j
      }, {
        default: () => [y(Oe, He(d.value.angleDown, {
          icon: ae,
          class: {
            [c.be("arrow")]: !0,
            [c.bem("arrow", "visible")]: u.value,
            [c.bem("arrow", "son-selected")]: i.value
          }
        }), null)]
      });
      return n ? n.renderItemArrow(j, be) : be();
    }
    function N() {
      return y(Fl, {
        placement: m.value ? "left" : "right",
        reverse: U.value,
        shift: !0,
        transfer: !0,
        disabled: H.value
      }, {
        trigger: () => y("div", {
          ref: E,
          class: {
            [c.be("label")]: !0,
            [c.bem("label", `marker-${A.value}`)]: !0,
            [c.bem("label", "in-popper")]: o == null ? void 0 : o.isUsePopper
          },
          role: "menuitem",
          tabindex: 0,
          "aria-disabled": a.disabled ? "true" : void 0,
          style: ee.value,
          onClick: Ee,
          onKeydown: ne,
          onMouseenter: ot,
          onMouseleave: Ze
        }, [(r.icon || a.icon) && y("div", {
          class: c.be("icon")
        }, [r.icon ? W(r, "icon") : y(Oe, He(a.iconProps, {
          icon: a.icon
        }), null)]), y("span", {
          class: {
            [c.be("title")]: !0,
            [c.bem("title", "in-group")]: !q.value && L.value
          }
        }, [r.default ? W(r, "default") : a.label]), L.value && W(r, "arrow", {
          groupExpanded: u.value,
          sonSelected: i.value
        }, () => [J()])]),
        default: () => y("span", {
          class: c.be("tooltip-title")
        }, [r.default ? W(r, "default") : a.label])
      });
    }
    return () => y("li", {
      ref: z,
      class: G.value,
      role: "none"
    }, [N(), y(Ul, {
      appear: !0
    }, {
      default: () => [L.value && !O.value && el(y("ul", {
        class: c.be("list")
      }, [r.group ? W(r, "group") : ue()]), [[tl, I.value]])]
    }), L.value && O.value && y(Xl, {
      ref: C,
      class: [c.be("popper"), c.bs("vars"), q.value && c.bem("popper", "drop")],
      visible: v.value && I.value,
      alive: !P.value || v.value,
      to: P.value,
      transition: Z.value,
      onAfterLeave: se,
      onMouseenter: () => (Ce = !0, ot()),
      onMouseleave: () => (Ce = !1, Ze())
    }, {
      default: () => [y("ul", {
        class: c.be("list")
      }, [r.group ? W(r, "group") : ue()])]
    })]);
  }
}), as = /* @__PURE__ */ Xe({
  name: "MenuGroup",
  props: {
    label: String,
    children: Array
  },
  setup(t, {
    slots: r
  }) {
    const l = ct("menuGroup", t, {
      label: {
        default: "",
        static: !0
      },
      children: {
        default: () => [],
        static: !0
      }
    }), a = Et(ls, null), n = Et(Do, null), o = Ye("menu-group"), s = Ye("menu"), c = $(1);
    n && (c.value = n.indent + 1);
    const d = g(() => ({
      paddingLeft: n != null && n.isUsePopper ? void 0 : `calc(${s.gcv("indent-width")} * ${c.value})`
    })), p = g(() => (a == null ? void 0 : a.horizontal) && !n);
    nn(Gd, pt({
      indent: c
    }));
    function m() {
      return W(r, "default", {}, () => {
        var f;
        if (!((f = l.children) != null && f.length))
          return [];
        const b = (u) => y(Kr, {
          label: u.label,
          icon: u.icon,
          "icon-props": u.iconProps,
          disabled: u.disabled,
          children: u.children,
          route: u.route,
          meta: u.meta
        }, {
          default: () => [u.name ? vl(u.name) : u.label]
        });
        return l.children.map((u) => u.group ? y(as, {
          key: u.label,
          label: u.name ? vl(u.name) : u.label
        }, {
          default: () => {
            var h;
            return [(h = u.children) == null ? void 0 : h.map(b)];
          }
        }) : b(u));
      });
    }
    return () => {
      var b;
      return p.value ? (b = r.default) == null ? void 0 : b.call(r) : y("li", {
        class: o.b()
      }, [y("div", {
        class: o.be("label")
      }, [y("span", {
        class: o.be("title"),
        style: d.value
      }, [r.label ? r.label() : l.label])]), y("ul", {
        class: o.be("list")
      }, [m()])]);
    };
  }
}), F1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: as
}, Symbol.toStringTag, { value: "Module" })), I1 = /* @__PURE__ */ Xe({
  name: "MenuRest",
  props: {
    menus: {
      type: Array,
      default: () => []
    }
  },
  setup(t) {
    const r = Et(ls, null), l = Ye("menu"), a = Gt(), n = fa(), o = $(!1), s = $(!1), c = $(!1), d = g(() => (r == null ? void 0 : r.transfer) ?? !1), p = g(() => (r == null ? void 0 : r.trigger) || "hover"), m = Hl(E), b = $(), {
      reference: f,
      transferTo: u,
      updatePopper: h
    } = Kl({
      placement: $("bottom"),
      transfer: d,
      wrapper: m,
      popper: g(() => {
        var L;
        return (L = b.value) == null ? void 0 : L.wrapper;
      })
    }), i = pt({
      el: m,
      label: "",
      indent: 1,
      groupExpanded: o,
      showGroup: o,
      isUsePopper: !0,
      parentState: null,
      transfer: d,
      cachedExpanded: !1,
      updateSonSelected: v,
      toggleGroupExpanded: k,
      handleMouseEnter: A,
      handleMouseLeave: z
    });
    nn(Do, i), le(o, (L) => {
      L && (c.value = !0, h());
    });
    function v(L) {
      s.value = L;
    }
    function k(L) {
      o.value = L;
    }
    const {
      timer: w
    } = Vn();
    let T = !1, F = !1;
    function A() {
      if (clearTimeout(w.hover), !(T || p.value !== "hover")) {
        if (!o.value && c.value) {
          F = !0;
          return;
        }
        w.hover = setTimeout(() => {
          o.value = !0;
        }, n.value);
      }
    }
    function z() {
      clearTimeout(w.hover), !(T || !c.value || p.value !== "hover") && (w.hover = setTimeout(() => {
        o.value = !1;
      }, n.value));
    }
    function C() {
      p.value === "click" && (o.value = !0);
    }
    function E() {
      p.value === "click" && kt(() => {
        o.value = !1;
      });
    }
    function P() {
      c.value = !1, o.value = !1, F && (F = !1, o.value = !0);
    }
    function R() {
      var L;
      return (L = t.menus) != null && L.length ? t.menus.map((I) => y(Kr, {
        key: I.label,
        label: I.label,
        icon: I.icon,
        "icon-props": I.iconProps,
        disabled: I.disabled,
        children: I.children,
        route: I.route,
        meta: I.meta
      }, {
        default: () => [I.name ? vl(I.name) : I.label]
      })) : null;
    }
    return () => y("div", {
      ref: m,
      class: l.be("rest"),
      onMouseenter: A,
      onMouseleave: z
    }, [y("div", {
      ref: f,
      class: [l.be("rest-handler"), s.value && l.bem("rest-handler", "selected")],
      onClick: C
    }, [y(Oe, a.value.ellipsis, null)]), y(Xl, {
      ref: b,
      class: [l.be("popper"), l.bs("vars"), l.bem("popper", "drop")],
      visible: c.value && o.value,
      alive: !u.value || c.value,
      to: u.value,
      transition: l.ns("drop"),
      onAfterLeave: P,
      onMouseenter: () => (T = !0, A()),
      onMouseleave: () => (T = !1, z())
    }, {
      default: () => [y("ul", {
        class: [l.be("list"), l.bem("list", "theme")]
      }, [R()])]
    })]);
  }
});
function N1(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const D1 = Object.freeze(["top", "right", "bottom", "left", "none"]), Ri = /* @__PURE__ */ Xe({
  name: "Menu",
  props: P1,
  emits: ["update:active"],
  setup(t, {
    slots: r,
    emit: l,
    expose: a
  }) {
    const n = ct("menu", t, {
      active: {
        default: null,
        static: !0
      },
      accordion: !1,
      markerType: {
        default: "right",
        validator: (I) => D1.includes(I)
      },
      reduced: !1,
      horizontal: !1,
      transfer: !1,
      trigger: "hover",
      groupType: {
        default: "collapse",
        validator: (I) => ["collapse", "dropdown"].includes(I)
      },
      tooltipReverse: null,
      options: {
        default: () => [],
        static: !0
      },
      router: null,
      manualRoute: !1,
      indent: null,
      arrow: null,
      slots: () => ({})
    }), o = Ye("menu"), s = /* @__PURE__ */ new Set(), c = $(n.active), d = $(!1), p = $(), m = $(), b = g(() => n.horizontal && (n.markerType === "left" || n.markerType === "right") ? "bottom" : !n.horizontal && (n.markerType === "top" || n.markerType === "bottom") ? "right" : n.markerType ?? (n.horizontal ? "bottom" : "right")), f = g(() => [o.b(), o.bs("vars"), o.bm(`marker-${b.value}`), {
      [o.bm("inherit")]: n.inherit,
      [o.bm("reduced")]: d.value,
      [o.bm("dropdown")]: n.groupType === "dropdown",
      [o.bm("horizontal")]: n.horizontal
    }]), u = g(() => {
      const I = {};
      return dn(n.indent) && (I[o.cv("indent-width")] = typeof n.indent == "number" ? `${n.indent}px` : n.indent), I;
    }), h = g(() => {
      var G, ee;
      if ((G = n.options) != null && G.length)
        return n.options;
      const I = (ee = n.router) == null ? void 0 : ee.options.routes;
      return I != null && I.length ? v(I) : [];
    }), i = g(() => {
      var I;
      return (I = n.router) == null ? void 0 : I.currentRoute.value;
    });
    nn(ls, pt({
      currentActive: c,
      isReduced: d,
      horizontal: qe(n, "horizontal"),
      accordion: qe(n, "accordion"),
      groupType: qe(n, "groupType"),
      tooltipReverse: qe(n, "tooltipReverse"),
      transfer: qe(n, "transfer"),
      trigger: qe(n, "trigger"),
      markerType: b,
      arrow: qe(n, "arrow"),
      handleSelect: F,
      handleExpand: A,
      increaseItem: k,
      decreaseItem: w,
      doForEachItem: T,
      renderItemArrow: P
    })), le(() => n.active, (I) => {
      I !== c.value && (c.value = I);
    }), le(() => n.reduced, (I) => {
      n.horizontal || (I ? z() : C());
    }), le(i, (I) => {
      var G;
      !n.manualRoute && I && (c.value = ((G = I.meta) == null ? void 0 : G.label) ?? I.path);
    }), sn(() => {
      var I;
      if (kt(() => {
        !n.horizontal && n.reduced && z();
      }), n.router && !n.manualRoute && !c.value) {
        const G = i.value;
        G && (c.value = ((I = G.meta) == null ? void 0 : I.label) ?? i.value.path);
      }
    }), a({
      expandItemByLabel: E
    });
    function v(I) {
      const G = {
        label: "",
        children: []
      }, ee = Array.from(I).map((O) => ({
        parent: G,
        route: O
      }));
      for (; ee.length; ) {
        const {
          parent: O,
          route: H
        } = ee.shift(), U = H.meta || {};
        if (U.menu === !1)
          continue;
        const q = {
          ...U,
          route: H,
          label: U.label || H.path,
          name: U.name || H.name
        };
        O.children || (O.children = []), O.children.push(q), H.children && ee.push(...H.children.map((Z) => ({
          parent: q,
          route: Z
        })));
      }
      return G.children;
    }
    function k(I) {
      s.add(I);
    }
    function w(I) {
      s.delete(I);
    }
    function T(I) {
      for (const G of s)
        I(G);
    }
    function F(I, G, ee) {
      c.value !== I && (c.value = I, l("update:active", I), _(n.onSelect, I, G), !n.manualRoute && n.router && ee && n.router.push(ee));
    }
    function A(I, G, ee) {
      _(G ? n.onExpand : n.onReduce, I, ee);
    }
    function z() {
      if (n.horizontal) return;
      let I = null;
      for (const G of s)
        G.cachedExpanded = G.showGroup, !I && G.showGroup && (I = G), G.toggleGroupExpanded(!1);
      d.value = !0;
    }
    function C() {
      if (!n.horizontal && (d.value = !1, p.value)) {
        const I = p.value, G = () => {
          requestAnimationFrame(() => {
            I.removeEventListener("transitionend", G);
            const ee = Array.from(s).find((O) => O.label === c.value);
            requestAnimationFrame(() => {
              requestAnimationFrame(() => {
                for (const O of s)
                  O.groupExpanded = O.cachedExpanded;
                if (ee) {
                  let O = ee.parentState;
                  for (; O; )
                    O.groupExpanded = !0, O = O.parentState;
                }
              });
            });
          });
        };
        I.addEventListener("transitionend", G);
      }
    }
    function E(I) {
      for (const G of s)
        G.label === I && G.toggleGroupExpanded(!0, !0);
    }
    function P(I, G) {
      return W(r, "arrow", {
        ...I
      }, () => {
        let ee;
        return [y(me, {
          renderer: n.slots.arrow,
          data: I
        }, N1(ee = G()) ? ee : {
          default: () => [ee]
        })];
      });
    }
    function R(I) {
      return y(Kr, {
        label: I.label,
        icon: I.icon,
        "icon-props": I.iconProps,
        disabled: I.disabled,
        children: I.children,
        route: I.route,
        meta: I.meta
      }, {
        default: () => [I.name ? vl(I.name) : I.label]
      });
    }
    function L() {
      return h.value.map((I) => I.group ? y(as, {
        key: I.label,
        label: I.name ? vl(I.name) : I.label
      }, {
        default: () => {
          var G;
          return [(G = I.children) != null && G.length ? I.children.map(R) : null];
        }
      }) : R(I));
    }
    return () => y("ul", {
      ref: p,
      class: f.value,
      role: "menu",
      tabindex: -1,
      style: u.value
    }, [W(r, "default", {}, () => n.horizontal ? [y(Go, {
      class: o.be("overflow"),
      inherit: !0,
      key: 0
    }, {
      default: L,
      counter: ({
        count: I
      }) => y(I1, {
        ref: m,
        menus: h.value.slice(-I)
      }, null)
    })] : L())]);
  }
}), O1 = ft({
  size: An,
  state: Zn,
  value: M,
  disabled: M,
  openColor: String,
  closeColor: String,
  loading: M,
  loadingIcon: Xt,
  loadingEffect: String,
  openIcon: Xt,
  closeIcon: Xt,
  openText: String,
  closeText: String,
  onBeforeChange: Function,
  rectangle: M,
  name: String,
  slots: Object,
  onChange: B()
}), _1 = ["id", "aria-checked", "aria-disabled", "aria-labelledby"], B1 = ["checked", "disabled", "name"], Zd = /* @__PURE__ */ Xe({
  name: "Switch",
  __name: "switch",
  props: O1,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const {
      idFor: a,
      labelId: n,
      state: o,
      disabled: s,
      loading: c,
      size: d,
      validateField: p,
      getFieldValue: m,
      setFieldValue: b
    } = al(() => {
      var E;
      return (E = w.value) == null ? void 0 : E.focus();
    }), u = ct("switch", t, {
      size: On(d),
      state: ll(o),
      value: {
        default: () => m(),
        static: !0
      },
      disabled: () => s.value,
      openColor: "",
      closeColor: "",
      loading: () => c.value,
      loadingIcon: en(),
      loadingEffect: null,
      openIcon: en(),
      closeIcon: en(),
      openText: "",
      closeText: "",
      onBeforeChange: {
        default: null,
        isFunc: !0
      },
      rectangle: !1,
      name: {
        default: "",
        static: !0
      },
      slots: () => ({})
    }), h = l, i = Ye("switch"), v = Gt(), k = $(u.value), w = $(), T = g(() => [
      i.b(),
      i.bs("vars"),
      {
        [i.bm("inherit")]: u.inherit,
        [i.bm("open")]: k.value,
        [i.bm(u.size)]: u.size !== "default",
        [i.bm(u.state)]: u.state !== "default",
        [i.bm("disabled")]: u.disabled,
        [i.bm("loading")]: u.loading,
        [i.bm("rectangle")]: u.rectangle
      }
    ]), F = g(() => ({
      backgroundColor: k.value ? u.openColor : u.closeColor
    })), A = g(() => ({
      color: k.value ? u.openColor : u.closeColor
    })), z = g(() => u.disabled || u.loading);
    le(
      () => u.value,
      (E) => {
        k.value = E;
      }
    ), r({
      idFor: a,
      labelId: n,
      currentValue: k,
      input: w,
      focus: (E) => {
        var P;
        return (P = w.value) == null ? void 0 : P.focus(E);
      },
      blur: () => {
        var E;
        return (E = w.value) == null ? void 0 : E.blur();
      }
    });
    async function C(E = !k.value) {
      if (E === k.value) return;
      let P = !0;
      typeof u.onBeforeChange == "function" && (P = u.onBeforeChange(E), Sl(P) && (P = await P)), P !== !1 && (k.value = E, h("update:value", E), b(E), _(u.onChange, E), p());
    }
    return (E, P) => (S(), D("label", {
      id: e(a),
      class: x(T.value),
      role: "switch",
      "aria-checked": k.value,
      "aria-disabled": z.value,
      "aria-labelledby": e(n),
      style: Qe(F.value)
    }, [
      oe("input", {
        ref_key: "input",
        ref: w,
        type: "checkbox",
        class: x(e(i).be("input")),
        checked: k.value,
        disabled: z.value,
        name: e(u).name,
        onSubmit: P[0] || (P[0] = gt(() => {
        }, ["prevent"])),
        onChange: P[1] || (P[1] = (R) => C()),
        onClick: P[2] || (P[2] = gt(() => {
        }, ["stop"]))
      }, null, 42, B1),
      oe("span", {
        class: x(e(i).be("placeholder")),
        "aria-hidden": ""
      }, [
        oe("span", {
          class: x(e(i).be("open-text"))
        }, [
          W(E.$slots, "open", {}, () => [
            y(e(me), {
              renderer: e(u).slots.open
            }, {
              default: X(() => [
                dt(ze(e(u).openText), 1)
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 2),
        oe("span", {
          class: x(e(i).be("close-text"))
        }, [
          W(E.$slots, "close", {}, () => [
            y(e(me), {
              renderer: e(u).slots.open
            }, {
              default: X(() => [
                dt(ze(e(u).closeText), 1)
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 2)
      ], 2),
      oe("span", {
        class: x(e(i).be("signal")),
        style: Qe(A.value)
      }, [
        e(u).loading ? W(E.$slots, "loading", { key: 0 }, () => [
          y(e(me), {
            renderer: e(u).slots.loading
          }, {
            default: X(() => [
              y(e(Oe), He(e(v).loading, {
                effect: e(u).loadingEffect || e(v).loading.effect,
                icon: e(u).loadingIcon || e(v).loading.icon,
                label: "loading"
              }), null, 16, ["effect", "icon"])
            ]),
            _: 1
          }, 8, ["renderer"])
        ]) : W(E.$slots, "icon", {
          key: 1,
          value: k.value
        }, () => [
          y(e(me), {
            renderer: e(u).slots.icon,
            data: { value: k.value }
          }, {
            default: X(() => [
              k.value && e(u).openIcon ? (S(), Be(e(Oe), {
                key: 0,
                icon: e(u).openIcon
              }, null, 8, ["icon"])) : !k.value && e(u).closeIcon ? (S(), Be(e(Oe), {
                key: 1,
                icon: e(u).closeIcon
              }, null, 8, ["icon"])) : ge("", !0)
            ]),
            _: 1
          }, 8, ["renderer", "data"])
        ])
      ], 6),
      oe("span", {
        class: x(e(i).be("label"))
      }, [
        k.value ? (S(), D("span", {
          key: 0,
          class: x(e(i).be("open-text"))
        }, [
          W(E.$slots, "open", {}, () => [
            y(e(me), {
              renderer: e(u).slots.open
            }, {
              default: X(() => [
                dt(ze(e(u).openText), 1)
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 2)) : (S(), D("span", {
          key: 1,
          class: x(e(i).be("close-text"))
        }, [
          W(E.$slots, "close", {}, () => [
            y(e(me), {
              renderer: e(u).slots.open
            }, {
              default: X(() => [
                dt(ze(e(u).closeText), 1)
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 2))
      ], 2)
    ], 14, _1));
  }
}), Jd = /* @__PURE__ */ Xe({
  name: "LayoutHeader",
  props: $1,
  emits: ["update:sign-type", "update:color", "update:user-dropped", "update:dark-mode"],
  setup(t, {
    slots: r,
    emit: l,
    expose: a
  }) {
    var Ee;
    const n = ct("layoutHeader", t, {
      locale: null,
      tag: "header",
      logo: "",
      signName: "",
      user: {
        default: () => ({
          name: ""
        }),
        static: !0
      },
      userDropped: !1,
      avatarCircle: !1,
      config: () => ["nav", "theme", "color"],
      actions: () => [],
      signType: "aside",
      colors: () => ["#339af0", "#f03e3e", "#be4bdb", "#7950f2", "#1b9e44", "#f76707"],
      color: "",
      menus: {
        default: () => [],
        static: !0
      },
      menuProps: null,
      darkMode: null
    }), o = Ye("layout"), s = Gt(), c = vn("layout", qe(n, "locale")), d = ns(), p = $(n.signType), m = $(n.userDropped), b = $(), {
      isRtl: f
    } = Un(), {
      isMounted: u
    } = _r(), h = g(() => (u.value, zt ? document.documentElement : null)), i = $(n.color || z() || ((Ee = n.colors) == null ? void 0 : Ee[0])), v = $(!1), k = g(() => [o.be("header"), {
      [o.bs("vars")]: !d.isLayout,
      [o.bem("header", "inherit")]: d.isLayout || n.inherit,
      [o.bem("header", "away")]: !d.affixMatched,
      [o.bem("header", "affixed")]: d.affixed
    }, d.classes.header]), w = g(() => {
      var Se;
      return (Se = n.actions) != null && Se.length ? n.actions.filter((Ce) => !Ce.hidden) : [{
        label: "signOut",
        name: c.value.signOut,
        icon: s.value.signOut.icon,
        iconProps: s.value.signOut
      }];
    }), T = g(() => !!(n.logo || n.signName || r.left)), F = g(() => {
      var Se, Ce;
      return !!((Se = n.menus) != null && Se.length || (Ce = n.menuProps) != null && Ce.router);
    }), A = yl(pt({
      expanded: qe(d, "expanded"),
      reduced: qe(d, "reduced"),
      toggleExpanded: P,
      toggleReduced: R,
      handleColorChange: L,
      toggleUserDropped: G
    }));
    a({
      menu: b,
      toggleExpanded: P,
      toggleReduced: R,
      expandMenuByLabel: O,
      toggleUserDropped: G
    }), le(() => n.signType, (Se) => {
      p.value = Se;
    }), le(() => n.userDropped, (Se) => {
      m.value = Se;
    }), le(i, ju), le(() => n.darkMode, (Se) => {
      var Ce;
      v.value = Se ?? ((Ce = h.value) == null ? void 0 : Ce.classList.contains("dark")) ?? !1;
    }, {
      immediate: !0
    }), sn(() => {
      H(v.value);
    }), Ff(() => {
      le(() => n.color, (Se) => {
        var Ce;
        i.value = Se || z() || ((Ce = n.colors) == null ? void 0 : Ce[0]);
      }, {
        immediate: !0
      }), ju(i.value);
    });
    function z() {
      return h.value ? getComputedStyle(h.value).getPropertyValue("--vxp-color-primary-base") : "#339af0";
    }
    function C(Se, Ce) {
      _(n.onUserAction, Se, Ce);
    }
    function E(Se) {
      d.changeInLock(() => {
        p.value = Se, l("update:sign-type", Se), _(n.onNavChange, Se);
      });
    }
    function P(Se = !d.expanded) {
      d.expanded = Se, _(n.onExpandedChange, Se);
    }
    function R(Se = !d.reduced) {
      d.reduced = Se, _(n.onReducedChange, Se);
    }
    function L(Se) {
      i.value = Se, l("update:color", Se), _(n.onColorChange, Se);
    }
    function I(Se) {
      _(n.onSignClick, Se);
    }
    function G(Se = !m.value) {
      m.value = Se, l("update:user-dropped", Se), _(n.onDroppedChange, Se);
    }
    function ee(Se, Ce) {
      G(!1), _(n.onMenuSelect, Se, Ce);
    }
    function O(Se) {
      var Ce;
      (Ce = b.value) == null || Ce.expandItemByLabel(Se);
    }
    function H(Se) {
      v.value = Se, l("update:dark-mode", Se), _(n.onToggleTheme, Se), zt && requestAnimationFrame(() => {
        h.value && (Se ? h.value.classList.add("dark") : h.value.classList.remove("dark"));
      });
    }
    function U() {
      return y(Oe, s.value.check, null);
    }
    function q() {
      return y("div", {
        class: o.be("config-unit")
      }, [y("div", {
        class: [o.be("brief-block"), o.bem("brief-block", "aside")],
        onClick: () => E("aside")
      }, [p.value === "aside" && U()]), y("div", {
        class: o.be("brief-block"),
        onClick: () => E("header")
      }, [p.value === "header" && U()])]);
    }
    function Z() {
      return y("div", {
        class: o.be("config-unit")
      }, [y(Zd, {
        value: v.value,
        class: [o.be("theme-mode"), v.value && o.bem("theme-mode", "dark")],
        "aria-label": "theme",
        onChange: H
      }, {
        icon: () => v.value ? y(Oe, s.value.dark, null) : y(Oe, s.value.light, null)
      })]);
    }
    function K() {
      var Se;
      return (Se = n.colors) != null && Se.length ? y("div", {
        class: o.be("config-unit")
      }, [n.colors.map((Ce) => y("div", {
        key: Ce,
        class: o.be("major-color"),
        style: {
          backgroundColor: Ce
        },
        onClick: () => L(Ce)
      }, [i.value === Ce && U()]))]) : null;
    }
    function we() {
      var Se;
      return r.avatar ? W(r, "avatar", A) : typeof ((Se = n.user) == null ? void 0 : Se.avatar) == "string" ? y(wa, {
        src: n.user.avatar,
        circle: n.avatarCircle,
        onClick: () => G()
      }, {
        icon: () => y(Oe, s.value.user, null)
      }) : y(wa, {
        circle: n.avatarCircle,
        onClick: () => G()
      }, {
        icon: () => y(Oe, He(s.value.user, {
          icon: n.user.avatar || s.value.user.icon
        }), null)
      });
    }
    function de() {
      return y(Qo, null, {
        default: () => {
          var Se, Ce;
          return [((Se = n.user) == null ? void 0 : Se.name) && y("li", {
            class: o.be("user-profile")
          }, [y("span", {
            class: o.be("user-name")
          }, [n.user.name]), n.user.email && y("span", {
            class: o.be("user-email")
          }, [n.user.email])]), (Ce = n.config) != null && Ce.length ? te() : null, w.value.map((fe) => y(es, {
            key: fe.label,
            class: o.be("user-action"),
            label: fe.label,
            disabled: fe.disabled,
            divided: fe.divided,
            onSelect: () => C(fe.label, fe.meta || {})
          }, {
            default: () => [fe.icon && y(Oe, He(fe.iconProps, {
              icon: fe.icon,
              style: {
                marginRight: "6px"
              }
            }), null), fe.name || fe.label]
          }))];
        }
      });
    }
    function te() {
      return y("li", {
        class: o.be("config")
      }, [n.config.includes("nav") && d.navConfig && [y("div", {
        key: 1,
        class: o.be("config-label")
      }, [c.value.signType]), q()], n.config.includes("theme") && [y("div", {
        key: 2,
        class: o.be("config-label")
      }, [c.value.themeMode]), Z()], n.config.includes("color") && [y("div", {
        key: 3,
        class: o.be("config-label")
      }, [c.value.majorColor]), K()]]);
    }
    return () => {
      const Se = n.tag || "header";
      return y(Se, {
        class: k.value
      }, {
        default: () => [T.value && y("div", {
          class: [o.be("header-left"), d.classes.headerLeft]
        }, [r.left ? W(r, "left", A) : n.signType === "header" ? y("div", {
          class: o.be("sign"),
          onClick: I
        }, [n.logo && y("div", {
          class: o.be("logo")
        }, [y("img", {
          src: n.logo,
          alt: "Logo"
        }, null)]), n.signName && y("span", {
          class: o.be("sign-name")
        }, [n.signName])]) : null]), y("div", {
          class: [o.be("header-main"), d.classes.headerMain]
        }, [r.default ? W(r, "default", A) : F.value ? y(Ri, He({
          ref: b
        }, n.menuProps || {}, {
          horizontal: !0,
          transfer: !0,
          options: n.menus,
          onSelect: ee
        }), null) : null]), r.right && y("div", {
          class: [o.be("header-right"), d.classes.headerRight]
        }, [W(r, "right", A)]), r.user ? W(r, "user", A) : y(Jo, {
          class: [o.be("user"), d.classes.headerUser],
          transfer: !0,
          placement: f.value ? "bottom-start" : "bottom-end",
          visible: m.value,
          trigger: "custom",
          onClickOutside: () => G(!1)
        }, {
          default: we,
          drop: de
        })]
      });
    };
  }
}), H1 = ft({
  to: String,
  type: String,
  icon: Xt,
  underline: M,
  disabled: M,
  target: String,
  onClick: B()
}), V1 = ["href", "target"], Us = /* @__PURE__ */ Xe({
  name: "Linker",
  __name: "linker",
  props: H1,
  setup(t) {
    const r = Object.freeze([
      "default",
      "primary",
      "success",
      "error",
      "warning",
      "info"
    ]), a = ct("linker", t, {
      to: {
        default: null,
        static: !0
      },
      type: {
        default: "default",
        validator: (c) => r.includes(c)
      },
      icon: en(),
      underline: !1,
      disabled: !1,
      target: "_blank"
    }), n = Ye("linker"), o = g(() => ({
      [n.b()]: !0,
      [n.bs("vars")]: !0,
      [n.bm("inherit")]: a.inherit,
      [n.bm(a.type)]: a.type !== "default",
      [n.bm("disabled")]: a.disabled,
      [n.bm("underline")]: a.underline
    }));
    function s(c) {
      a.disabled && c.preventDefault(), _(a.onClick, c);
    }
    return (c, d) => (S(), D("a", {
      class: x(o.value),
      href: e(a).to,
      tabindex: "0",
      target: e(a).target,
      onClick: s
    }, [
      W(c.$slots, "icon", {}, () => [
        e(a).icon ? (S(), Be(e(Oe), {
          key: 0,
          class: x(e(n).be("icon")),
          icon: e(a).icon
        }, null, 8, ["class", "icon"])) : ge("", !0)
      ]),
      W(c.$slots, "default")
    ], 10, V1));
  }
}), Qd = /* @__PURE__ */ Xe({
  name: "LayoutFooter",
  props: A1,
  setup(t, {
    slots: r
  }) {
    const l = ct("layoutFooter", t, {
      tag: "footer",
      copyright: "",
      links: () => [],
      verticalLinks: "md"
    }), a = Ye("layout"), n = ns(), o = Sr(qe(l, "verticalLinks")), s = g(() => [a.be("footer"), {
      [a.bs("vars")]: !n.isLayout,
      [a.bem("footer", "inherit")]: n.isLayout || l.inherit
    }, n.classes.footer]);
    function c() {
      var d;
      return (d = l.links) != null && d.length ? y("div", {
        class: [a.be("links"), !o.value && a.bem("links", "vertical"), n.classes.footerLinks]
      }, [y("div", {
        class: a.be("links-row")
      }, [l.links.map((p, m) => {
        var b;
        return y("div", {
          key: m,
          class: [a.be("link-group"), !o.value && a.bem("link-group", "vertical")]
        }, [y("div", {
          class: [a.be("link-name"), a.bem("link-name", "group")]
        }, [p.to ? y(Us, {
          icon: p.icon,
          to: p.to,
          target: p.target
        }, {
          default: () => [p.name]
        }) : [p.icon && y(Oe, {
          icon: p.icon
        }, null), p.name], p.subname && y("div", {
          class: a.be("link-subname")
        }, [`- ${p.subname}`])]), (b = p.children) != null && b.length ? p.children.map((f, u) => y("div", {
          key: u,
          class: a.be("link")
        }, [y(Us, {
          icon: f.icon,
          to: f.to,
          target: f.target
        }, {
          default: () => [f.name]
        }), f.subname && y("div", {
          class: a.be("link-subname")
        }, [`- ${f.subname}`])])) : null]);
      })])]) : y("div", {
        role: "none",
        "aria-hidden": !0,
        style: "display: none"
      }, null);
    }
    return () => {
      const d = l.tag || "footer";
      return y(d, {
        class: s.value
      }, {
        default: () => [r.links ? W(r, "links") : c(), y("div", {
          class: [a.be("copyright"), n.classes.copyright]
        }, [r.copyright ? r.copyright() : l.copyright])]
      });
    };
  }
}), ef = /* @__PURE__ */ Xe({
  name: "LayoutAside",
  props: T1,
  emits: ["update:reduced", "update:expanded"],
  setup(t, {
    slots: r,
    emit: l,
    expose: a
  }) {
    const n = ct("layoutAside", t, {
      tag: "aside",
      expanded: !1,
      reduced: !1,
      menus: {
        default: () => [],
        static: !0
      },
      menuProps: null,
      logo: "",
      signName: "",
      fixed: "lg",
      signType: "aside"
    }), o = Ye("layout"), s = Gt(), c = ns(), d = $(n.reduced), p = $(n.expanded), m = $("100%"), b = Sr(qe(n, "fixed")), f = M1(), u = $(), h = $(), i = $(), v = g(() => [o.be("aside"), {
      [o.bs("vars")]: !c.isLayout,
      [o.bem("aside", "inherit")]: c.isLayout || n.inherit,
      [o.bem("aside", "fixed")]: b.value,
      [o.bem("aside", "expanded")]: p.value,
      [o.bem("aside", "reduced")]: d.value,
      [o.bem("aside", "no-sign")]: n.signType !== "aside"
    }, c.classes.aside]), k = g(() => !!(n.logo || n.signName || r.top)), w = g(() => {
      var R, L;
      return !!((R = n.menus) != null && R.length || (L = n.menuProps) != null && L.router);
    }), T = yl(pt({
      expanded: p,
      reduced: d,
      toggleExpanded: A,
      toggleReduced: z
    }));
    a({
      menu: i,
      toggleExpanded: A,
      toggleReduced: z,
      expandMenuByLabel: P
    }), le(() => n.reduced, (R) => {
      d.value = R;
    }), le(() => n.expanded, (R) => {
      p.value = R;
    }), le(b, (R) => {
      c.useExpand = !R, R && A(!1);
    }, {
      immediate: !0
    }), le(f, () => F);
    function F() {
      let R = 0, L = 0;
      u.value && (R = u.value.offsetHeight), h.value && (L = h.value.offsetHeight), R || L ? m.value = `calc(100% - ${R + L}px)` : m.value = "100%";
    }
    function A(R = !p.value) {
      p.value = R, l("update:expanded", R), _(n.onExpandedChange, R);
    }
    function z(R = !d.value) {
      d.value = R, l("update:reduced", R), _(n.onReducedChange, R);
    }
    function C(R) {
      _(n.onSignClick, R);
    }
    function E(R, L) {
      _(n.onMenuSelect, R, L);
    }
    function P(R) {
      var L;
      (L = i.value) == null || L.expandItemByLabel(R);
    }
    return () => {
      const R = n.tag || "aside";
      return y(R, {
        class: v.value
      }, {
        default: () => [k.value && y("div", {
          ref: u,
          class: [o.be("aside-top"), c.classes.asideTop]
        }, [r.top ? W(r, "top", T) : y("div", {
          class: o.be("sign"),
          onClick: C
        }, [n.logo && y("div", {
          class: o.be("logo")
        }, [y("img", {
          src: n.logo,
          alt: "Logo"
        }, null)]), n.signName && y("span", {
          class: o.be("sign-name")
        }, [n.signName])])]), y(Al, {
          class: [o.be("aside-main"), c.classes.main],
          "use-y-bar": !0,
          "observe-deep": !0,
          height: m.value
        }, {
          default: () => [r.default ? W(r, "default", T) : w.value ? y(Ri, He({
            ref: i
          }, n.menuProps || {}, {
            transfer: !0,
            options: n.menus,
            reduced: d.value,
            onSelect: E
          }), null) : null]
        }), y("div", {
          ref: h,
          class: [o.be("aside-bottom"), c.classes.asideBottom]
        }, [r.bottom ? W(r, "bottom", T) : y("div", {
          class: o.be("reduce-handler"),
          onClick: () => z()
        }, [d.value ? y(Oe, s.value.indent, null) : y(Oe, s.value.outdent, null)])]), y("div", {
          class: [o.be("expand-handler"), c.classes.expandHandler],
          onClick: () => A()
        }, [r.expand ? W(r, "expand", T) : y(Oe, s.value.angleRight, null)])]
      });
    };
  }
});
function Wu(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const j1 = /* @__PURE__ */ Xe({
  name: "Layout",
  props: C1,
  emits: ["update:expanded", "update:reduced", "update:sign-type", "update:color", "update:dark-mode"],
  setup(t, {
    slots: r,
    emit: l,
    expose: a
  }) {
    const n = ct("layout", t, {
      locale: null,
      noAside: !1,
      footer: !1,
      tag: "section",
      menus: {
        default: () => [],
        static: !0
      },
      menuProps: null,
      logo: "",
      signName: "",
      config: () => ["nav", "theme", "color"],
      user: null,
      actions: () => [],
      expanded: !1,
      reduced: !1,
      avatarCircle: !1,
      signType: "aside",
      headerFixed: "lg",
      asideFixed: "lg",
      copyright: "",
      links: () => [],
      colors: () => ["#339af0", "#f03e3e", "#be4bdb", "#7950f2", "#1b9e44", "#f76707"],
      color: "",
      miniHeaderSign: "lg",
      verticalLinks: "md",
      darkMode: null,
      fixedMain: !1,
      fitWindow: !1,
      innerClasses: () => ({}),
      noHeader: !1,
      noMasker: !1
    }), o = Ye("layout"), s = $(!1), c = $(n.expanded), d = $(n.reduced), p = $(n.signType), m = $(!1), b = $(n.color), {
      isMounted: f
    } = _r("frame"), u = $(), h = $(), i = $(), v = $(), k = Sr(qe(n, "headerFixed")), w = Sr(qe(n, "asideFixed")), T = Sr(qe(n, "miniHeaderSign")), F = pt({
      isLayout: !0,
      locked: g(() => s.value),
      affixed: !1,
      scrollY: 0,
      affixMatched: k,
      expandMatched: w,
      useExpand: !1,
      expanded: c,
      reduced: d,
      navConfig: g(() => !n.noAside),
      classes: qe(n, "innerClasses"),
      changeInLock: Ce
    }), A = g(() => !n.noHeader && p.value === "header"), z = g(() => [o.b(), o.bs("vars"), {
      [o.bm("inherit")]: n.inherit,
      [o.bm("no-aside")]: n.noAside,
      [o.bm("no-header")]: n.noHeader,
      [o.bm("header-main")]: A.value,
      [o.bm("locked")]: !f.value || s.value,
      [o.bm("fit-window")]: n.fitWindow
    }]), C = g(() => zt && f.value ? document.documentElement : null), E = g(() => n.noAside || A.value || F.useExpand), P = g(() => {
      var N, j;
      return ((N = v.value) == null ? void 0 : N.menu) || ((j = i.value) == null ? void 0 : j.menu);
    }), R = $(n.darkMode), L = $("100%"), I = g(() => ({
      [o.cv("view-height")]: n.fitWindow ? "100vh" : L.value
    })), G = Or(), ee = $(c.value ? G() : 0), O = yl(pt({
      expanded: c,
      reduced: d,
      toggleExpanded: U,
      toggleReduced: q
    }));
    nn(Yd, F), a({
      scroll: h,
      menu: P,
      toggleExpanded: U,
      toggleReduced: q,
      expandMenuByLabel: te
    }), le(k, (N) => {
      F.affixed = !N && F.scrollY >= 50;
    }), le(() => n.expanded, (N) => {
      c.value = N;
    }), le(c, (N) => {
      F.useExpand && N && (ee.value = G());
    }), le(() => n.reduced, (N) => {
      d.value = N;
    }), le(p, (N) => {
      l("update:sign-type", N), _(n.onNavChange, N);
    }), le(() => n.color, (N) => {
      var j;
      b.value = N || ((j = n.colors) == null ? void 0 : j[0]) || H();
    }), le(b, (N) => {
      l("update:color", N), _(n.onColorChange, N);
    }), le(() => n.darkMode, (N) => {
      R.value = N;
    });
    function H() {
      return C.value ? getComputedStyle(C.value).getPropertyValue("--vxp-color-primary-base") : "#339af0";
    }
    function U(N = !d.value) {
      c.value = N, l("update:expanded", N), _(n.onExpandedChange, N);
    }
    function q(N = !d.value) {
      d.value = N, l("update:reduced", N), _(n.onReducedChange, N);
    }
    function Z(N) {
      _(n.onSignClick, N);
    }
    function K(N, j) {
      _(n.onMenuSelect, N, j);
    }
    function we(N) {
      l("update:dark-mode", N), _(n.onToggleTheme, N);
    }
    function de(N, j) {
      _(n.onUserAction, N, j);
    }
    function te(N) {
      var j;
      (j = P.value) == null || j.expandItemByLabel(N);
    }
    function Ee() {
      var N;
      (N = h.value) != null && N.$el && (L.value = `${h.value.$el.offsetHeight - Lp(h.value.$el)}px`), _(n.onContentResize);
    }
    let Se;
    function Ce(N) {
      Se == null || Se(), Se = Vp([() => s.value = !0, N, () => s.value = !1]);
    }
    function fe(N) {
      N.stopPropagation(), N.preventDefault();
    }
    function ot() {
      if (!n.logo && !n.signName && !r.sign)
        return null;
      if (r.sign)
        return W(r, "sign", O);
      const N = n.signName && !(E.value && !T.value);
      return y("div", {
        class: [o.be("sign"), !N && o.bem("sign", "logo-only")],
        onClick: Z
      }, [[n.logo && y("div", {
        class: o.be("logo")
      }, [y("img", {
        src: n.logo,
        alt: "Logo"
      }, null)]), N && y("span", {
        class: o.be("sign-name")
      }, [n.signName])]]);
    }
    function Ze() {
      return n.noHeader ? y("header", {
        role: "none",
        "aria-hidden": !0,
        style: "display: none"
      }, null) : r.header ? W(r, "header", O) : y(Jd, He({
        ref: i,
        "sign-type": p.value,
        "onUpdate:sign-type": (N) => p.value = N,
        "user-dropped": m.value,
        "onUpdate:user-dropped": (N) => m.value = N,
        color: b.value,
        "onUpdate:color": (N) => b.value = N,
        "dark-mode": R.value,
        "onUpdate:dark-mode": (N) => R.value = N,
        inherit: !0,
        locale: n.locale,
        user: n.user,
        actions: n.actions,
        config: n.config,
        "avatar-circle": n.avatarCircle,
        menus: n.noAside ? n.menus : [],
        "menu-props": n.noAside ? n.menuProps : null,
        colors: n.colors,
        onUserAction: de,
        onExpandedChange: U,
        onReducedChange: q,
        onMenuSelect: K,
        onToggleTheme: we
      }, {
        onWheel: fe,
        onMousemove: fe
      }), {
        left: Yn(r, ["header-left", "headerLeft"], () => E.value ? ot() : null),
        default: Yn(r, ["header-main", "headerMain"]),
        right: Yn(r, ["header-right", "headerRight"]),
        user: Yn(r, ["header-user", "headerUser"]),
        avatar: Yn(r, ["header-avatar", "headerAvatar"])
      });
    }
    function Je() {
      return n.noAside ? y("div", {
        role: "none",
        "aria-hidden": !0,
        style: "display: none"
      }, null) : y("div", {
        class: [o.be("sidebar"), !w.value && o.bem("sidebar", "away"), n.innerClasses.sidebar],
        style: {
          zIndex: F.useExpand ? ee.value + 1 : void 0
        },
        onWheel: fe,
        onMousemove: fe
      }, [r.aside ? W(r, "aside", O) : y(ef, {
        ref: v,
        expanded: c.value,
        "onUpdate:expanded": (N) => c.value = N,
        reduced: d.value,
        "onUpdate:reduced": (N) => d.value = N,
        inherit: !0,
        "sign-type": A.value ? "header" : "aside",
        menus: n.menus,
        "menu-props": n.menuProps,
        fixed: n.asideFixed,
        onExpandedChange: U,
        onReducedChange: q,
        onMenuSelect: K
      }, {
        top: Yn(r, ["aside-top", "asideTop"], () => E.value ? null : ot()),
        default: Yn(r, ["aside-main", "asideMain"]),
        bottom: Yn(r, ["aside-bottom", "asideBottom"]),
        expand: Yn(r, ["aside-expand", "asideExpand"])
      })]);
    }
    function se() {
      return r.default ? W(r, "default", O) : y(qd, {
        fixed: n.fixedMain
      }, {
        default: Yn(r, ["main"])
      });
    }
    function ne() {
      return r.footer ? W(r, "footer", O) : y(Qd, {
        inherit: !0,
        copyright: n.copyright,
        links: n.links,
        "vertical-links": n.verticalLinks
      }, {
        links: Yn(r, ["footer-links", "footerLinks"]),
        copyright: Yn(r, ["footer-copyright", "footerCopyright"])
      });
    }
    function ue() {
      return n.noMasker || !F.useExpand ? null : r.masker ? W(r, "masker", O) : y(fr, {
        active: c.value,
        "onUpdate:active": (N) => c.value = N,
        class: o.be("masker"),
        inner: !0,
        closable: !0,
        "auto-remove": !0,
        transfer: !1,
        style: {
          zIndex: ee.value
        },
        onToggle: U
      }, null);
    }
    function J() {
      const N = n.tag || "section";
      return y(N, {
        class: [o.be("wrapper"), n.fixedMain && o.bem("wrapper", "fixed"), n.innerClasses.wrapper]
      }, {
        default: () => [A.value && Ze(), Je(), y("section", {
          ref: u,
          class: [o.be("section"), {
            [o.bem("section", "away")]: w.value,
            [o.bem("section", "reduced")]: d.value,
            [o.bem("section", "locked")]: s.value,
            [o.bem("section", "fixed")]: n.fixedMain
          }, n.innerClasses.section]
        }, [!A.value && Ze(), se(), n.footer && ne()]), ue()]
      });
    }
    return () => {
      let N;
      if (n.fitWindow) {
        let j;
        return y("section", {
          class: z.value,
          style: I.value
        }, [y(zn, {
          throttle: !0,
          onResize: Ee
        }, Wu(j = J()) ? j : {
          default: () => [j]
        })]);
      }
      return y(Al, {
        ref: h,
        class: z.value,
        inherit: n.inherit,
        "use-y-bar": !0,
        "observe-deep": !0,
        "bar-class": [o.be("scrollbar"), n.innerClasses.scrollbar],
        style: I.value,
        onResize: Ee
      }, Wu(N = J()) ? N : {
        default: () => [N]
      });
    };
  }
}), W1 = ["aria-valuenow"], Ku = /* @__PURE__ */ Xe({
  name: "Loading",
  __name: "loading",
  setup(t, { expose: r }) {
    const l = Ye("loading"), { isRtl: a } = Un(), n = $(!1), o = $(2), s = $("default"), c = $("top"), d = $(0);
    let p = 95;
    const m = g(() => ({
      [l.b()]: !0,
      [l.bs("vars")]: !0,
      [l.bm(s.value)]: s.value !== "default"
    })), b = g(() => ({
      [c.value]: "0",
      height: `${o.value}px`
    })), f = g(() => ({
      transform: `translateX(${(a.value ? -1 : 1) * (d.value - 100) / 2}%) scaleX(${d.value / 100})`
    }));
    let u, h, i;
    r({ visible: n, percent: d, startLoading: v }), pn(() => {
      clearTimeout(u), clearInterval(h), cancelAnimationFrame(i);
    });
    function v(k) {
      d.value === 100 && (clearTimeout(u), n.value = !1, d.value = 0, s.value = "default", o.value = 2, c.value = "top"), clearInterval(h);
      const w = () => {
        d.value = cn(k.percent, 0, 100), s.value = k.state ?? s.value, o.value = cn(k.strokeWidth ?? 2, 1, 10), c.value = k.position ?? c.value, p = cn(k.maxPercent ?? 95, d.value, 95), d.value === 100 ? u = setTimeout(() => {
          n.value = !1;
        }, 500) : h = setInterval(() => {
          d.value += Math.floor(Math.random() * 3 + 1), d.value >= p && (d.value = p, clearInterval(h));
        }, 500);
      };
      p = 95, i = requestAnimationFrame(() => {
        n.value ? w() : (n.value = !0, i = requestAnimationFrame(w));
      });
    }
    return (k, w) => (S(), Be(En, {
      name: e(l).ns("fade"),
      appear: ""
    }, {
      default: X(() => [
        el(oe("div", {
          class: x(m.value),
          role: "progressbar",
          style: Qe(b.value),
          "aria-valuenow": d.value,
          "aria-valuemin": "0",
          "aria-valuemax": "100"
        }, [
          oe("div", {
            class: x(e(l).be("filler")),
            style: Qe(f.value)
          }, null, 6)
        ], 14, W1), [
          [tl, n.value]
        ])
      ]),
      _: 1
    }, 8, ["name"]));
  }
});
class Mi {
  constructor(r = {}) {
    Rt(this, "name");
    Rt(this, "defaults");
    Rt(this, "_mountedApp");
    Rt(this, "_instance");
    Rt(this, "_innerApp");
    Rt(this, "_container");
    Rt(this, "_wrapper");
    Rt(this, "_mountedEl");
    this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._wrapper = null, this._mountedEl = null, this.name = "Loading", this.defaults = {}, this.config(r);
  }
  open(r) {
    zt && (typeof r == "number" && (r = { percent: r }), this._getInstance().startLoading({ ...this.defaults, ...r }));
  }
  close() {
    this.open(100);
  }
  config(r) {
    this.defaults = { ...this.defaults, ...r };
  }
  clone() {
    const r = new Mi(this.defaults);
    return r._mountedApp = this._mountedApp, r;
  }
  destroy() {
    var r, l;
    this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
  }
  isDestroyed() {
    return !1;
  }
  install(r, l = {}) {
    const { property: a, ...n } = l;
    this.config(n), this._mountedApp = r, (a || !r.config.globalProperties.$loading) && (r.config.globalProperties[a || "$loading"] = this);
  }
  transferTo(r) {
    if (!zt) return;
    const l = El(r);
    l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
  }
  _getInstance() {
    if (!this._instance && zt) {
      if (!this._mountedApp)
        console.warn("[vexip-ui:Loading]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(Ku), this._instance = this._innerApp.mount(this._container);
      else {
        const r = y(Ku, null, null);
        this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
      }
      this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
    }
    return this._instance;
  }
}
const K1 = new Mi(), tf = "__VXP_POPUP_DELETE_HANDLER", U1 = Object.freeze([
  "top-right",
  "top-center",
  "top-left",
  "bottom-right",
  "bottom-center",
  "bottom-left"
]), X1 = ["vxp-index"], Y1 = /* @__PURE__ */ Xe({
  name: "PopupItem",
  __name: "popup-item",
  props: {
    state: {
      type: Object,
      default: () => ({})
    },
    transitionName: {
      type: String,
      default: null
    },
    innerClass: {
      type: Bn,
      default: null
    }
  },
  emits: ["enter", "leave"],
  setup(t, { emit: r }) {
    const l = t, a = r, n = Et(tf, Qt), o = Ye("popup"), s = Or(), c = $(), d = g(() => l.transitionName || o.ns("popup-top"));
    return sn(() => {
      kt(() => {
        const p = l.state;
        p && c.value && (p.height = c.value.offsetHeight);
      });
    }), (p, m) => (S(), Be(En, {
      appear: "",
      name: d.value,
      onAfterLeave: m[2] || (m[2] = (b) => e(n)(t.state.key))
    }, {
      default: X(() => [
        el(oe("div", {
          ref_key: "wrapper",
          ref: c,
          class: x(e(o).be("item")),
          style: Qe({ zIndex: e(s)() }),
          "vxp-index": t.state.key,
          onPointerenter: m[0] || (m[0] = (b) => a("enter")),
          onPointerleave: m[1] || (m[1] = (b) => a("leave"))
        }, [
          oe("div", {
            class: x([e(o).be("item-inner"), t.innerClass])
          }, [
            W(p.$slots, "default", { item: t.state }, () => [
              typeof t.state.renderer == "function" ? (S(), Be(e(me), {
                key: 0,
                renderer: t.state.renderer
              }, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
                dt(ze(t.state.content), 1)
              ], 64))
            ])
          ], 2)
        ], 46, X1), [
          [tl, t.state.visible]
        ])
      ]),
      _: 3
    }, 8, ["name"]));
  }
}), Pi = /* @__PURE__ */ Xe({
  name: "Popup",
  __name: "popup",
  props: {
    transitionName: {
      type: String,
      default: null
    },
    innerClass: {
      type: Bn,
      default: null
    },
    placement: {
      default: "top-right",
      validator: (t) => U1.includes(t)
    },
    startOffset: {
      type: Number,
      default: 30
    },
    itemGap: {
      type: Number,
      default: 16
    }
  },
  setup(t, { expose: r }) {
    const l = t, a = Ye("popup"), n = $([]), o = [], s = $();
    let c = !1;
    const d = g(() => l.placement.split("-")), p = g(() => l.transitionName || a.ns("popup-top"));
    le(
      () => l.startOffset,
      (z, C) => {
        n.value.forEach((E) => {
          E.verticalPosition += z - C;
        });
      }
    ), nn(tf, v), r({
      items: n,
      wrapper: s,
      add: b,
      remove: f,
      has: k,
      find: w,
      clear: T
    });
    function m(z) {
      const E = { [d.value[0]]: `${z.verticalPosition}px` }, P = parseInt(z.zIndex);
      return Number.isNaN(P) || (E.zIndex = P), E;
    }
    function b(z) {
      return new Promise((C) => {
        const E = on(z.onOpen) ? z.onOpen : Qt;
        z.onOpen = (P) => {
          C(P), E();
        }, o.push({
          type: "add",
          param: z
        }), c || (c = !0, u());
      });
    }
    function f(z) {
      return new Promise((C) => {
        const E = w(z);
        if (!E) return C(!1);
        const P = on(E.onClose) ? E.onClose : Qt;
        E.onClose = (R) => {
          C(R), P(R);
        }, o.push({
          type: "clear",
          param: z
        }), c || (c = !0, u());
      });
    }
    function u() {
      if (o.length) {
        const z = o.shift();
        z.type === "add" ? h(z.param) : i(z.param), requestAnimationFrame(u);
      } else
        c = !1;
    }
    function h(z) {
      let C = z.key ? w(z.key) : null;
      if (!(C != null && C.visible)) {
        const E = Ac(), P = z.key ?? a.bs(`${E}`);
        let R = l.startOffset;
        n.value.forEach((L) => {
          L.visible && (R += L.height + l.itemGap);
        }), C = pt(
          Object.assign(
            {
              key: P,
              content: "",
              closable: !1,
              onOpen: Qt,
              onClose: Qt,
              onEnter: Qt,
              onLeave: Qt
            },
            z,
            {
              height: 0,
              visible: !0,
              verticalPosition: R
            }
          )
        ), n.value.push(C);
      }
      on(z.onOpen) && z.onOpen(C.key);
    }
    function i(z) {
      const C = n.value.findIndex((E) => E.key === z);
      if (~C) {
        const E = n.value[C], P = E.height;
        E.visible = !1;
        for (let R = C + 1, L = n.value.length; R < L; ++R)
          n.value[R].verticalPosition -= P + l.itemGap;
        on(E.onClose) && E.onClose(!0);
      }
    }
    function v(z) {
      const C = n.value.findIndex((E) => E.key === z);
      ~C && n.value.splice(C, 1);
    }
    function k(z) {
      return !~n.value.findIndex((C) => C.key === z);
    }
    function w(z) {
      return n.value.find((C) => C.key === z);
    }
    function T() {
      o.length = 0, n.value = [];
    }
    function F(z) {
      on(z.onEnter) && z.onEnter();
    }
    function A(z) {
      on(z.onLeave) && z.onLeave();
    }
    return (z, C) => (S(), D("div", {
      class: x([e(a).b(), e(a).bm(t.placement)])
    }, [
      (S(!0), D(st, null, ln(n.value, (E) => (S(), Be(Y1, {
        key: E.key,
        state: E,
        "transition-name": p.value,
        "inner-class": t.innerClass,
        style: Qe(m(E)),
        onEnter: (P) => F(E),
        onLeave: (P) => A(E)
      }, {
        default: X(({ item: P }) => [
          W(z.$slots, "item", { item: P })
        ]),
        _: 2
      }, 1032, ["state", "transition-name", "inner-class", "style", "onEnter", "onLeave"]))), 128))
    ], 2));
  }
}), Uu = Object.freeze(["primary", "info", "success", "warning", "error"]), q1 = Object.freeze(["success", "warning", "error"]), G1 = ["aria-live"], Z1 = ["innerHTML"], J1 = ["onClick"], Xu = /* @__PURE__ */ Xe({
  name: "Message",
  __name: "message",
  setup(t, { expose: r }) {
    const l = Ye("message"), a = Gt(), n = g(() => ({
      primary: a.value.info,
      info: a.value.info,
      success: a.value.success,
      warning: a.value.warning,
      error: a.value.error
    })), o = $("top"), s = $(30), c = $(16), d = $(), p = g(() => `${o.value}-center`);
    async function m(h) {
      d.value && await d.value.add(h);
    }
    async function b(h) {
      return !!d.value && await d.value.remove(h);
    }
    function f(h) {
      o.value = h.placement || o.value, s.value = h.startOffset || s.value, c.value = h.itemGap || c.value;
    }
    function u() {
      d.value && d.value.clear();
    }
    return r(
      pt({
        popup: d,
        add: m,
        remove: b,
        clear: u,
        config: f
      })
    ), (h, i) => (S(), Be(e(Pi), {
      ref_key: "popup",
      ref: d,
      class: x(e(l).b()),
      "transition-name": e(l).ns(`popup-${o.value}`),
      placement: p.value,
      "start-offset": s.value,
      "item-gap": c.value
    }, {
      item: X(({ item: v }) => [
        oe("div", {
          class: x([
            {
              [e(l).be("item")]: !0,
              [e(l).bs("vars")]: !0,
              [e(l).bem("item", v.type)]: v.type && e(Uu).includes(v.type),
              [e(l).bem("item", "background")]: v.background,
              [e(l).bem("item", "color")]: v.background && v.color,
              [e(l).bem("item", "color-only")]: !v.background && v.color,
              [e(l).bem("item", "has-icon")]: v.icon,
              [e(l).bem("item", "closable")]: v.closable
            },
            v.className
          ]),
          role: "alert",
          style: Qe([
            {
              color: typeof v.color == "string" ? v.color : void 0,
              backgroundColor: typeof v.background == "string" ? v.background : void 0
            },
            v.style || {}
          ]),
          "aria-atomic": "true",
          "aria-live": v.type && e(q1).includes(v.type) ? "assertive" : "polite"
        }, [
          oe("div", {
            class: x(e(l).be("wrapper"))
          }, [
            v.icon || v.type && e(Uu).includes(v.type) ? (S(), D("div", {
              key: 0,
              class: x(e(l).be("icon")),
              style: Qe({ color: v.iconColor })
            }, [
              v.icon ? (S(), Be(e(Oe), {
                key: 0,
                icon: v.icon,
                style: Qe([{ color: v.iconColor }, v.icon.style])
              }, null, 8, ["icon", "style"])) : (S(), Be(e(Oe), He({ key: 1 }, n.value[v.type], {
                style: { color: v.iconColor }
              }), null, 16, ["style"]))
            ], 6)) : ge("", !0),
            typeof v.renderer == "function" ? (S(), Be(e(me), {
              key: 1,
              renderer: v.renderer,
              data: v
            }, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 2 }, [
              v.parseHtml ? (S(), D("div", {
                key: 0,
                class: x(e(l).be("content")),
                innerHTML: v.content
              }, null, 10, Z1)) : (S(), D("div", {
                key: 1,
                class: x(e(l).be("content"))
              }, ze(v.content || ""), 3))
            ], 64))
          ], 2),
          v.closable ? (S(), D("button", {
            key: 0,
            type: "button",
            class: x(e(l).be("close")),
            onClick: (k) => b(v.key)
          }, [
            y(e(Oe), He(e(a).close, { label: "close" }), null, 16)
          ], 10, J1)) : ge("", !0)
        ], 14, G1)
      ]),
      _: 1
    }, 8, ["class", "transition-name", "placement", "start-offset", "item-gap"]));
  }
}), Yu = ["top", "bottom"];
let Q1 = 1;
function ek() {
  return `message-${Q1++}`;
}
class zi {
  constructor(r = {}) {
    Rt(this, "name");
    Rt(this, "defaults");
    Rt(this, "open");
    Rt(this, "primary");
    Rt(this, "info");
    Rt(this, "success");
    Rt(this, "warning");
    Rt(this, "error");
    Rt(this, "_mountedApp");
    Rt(this, "_instance");
    Rt(this, "_innerApp");
    Rt(this, "_container");
    Rt(this, "_wrapper");
    Rt(this, "_mountedEl");
    Rt(this, "_installed");
    Rt(this, "_configRecord");
    r = {
      ...r,
      duration: r.duration ? rn(r.duration) : 3e3
    }, this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._wrapper = null, this._mountedEl = null, this._installed = !1, this._configRecord = null, this.name = "Message", this.defaults = {}, this.config(r), this.open = (l, a) => this._open(null, l, a), this.primary = (l, a) => this._open("primary", l, a), this.info = (l, a) => this._open("info", l, a), this.success = (l, a) => this._open("success", l, a), this.warning = (l, a) => this._open("warning", l, a), this.error = (l, a) => this._open("error", l, a);
  }
  judge(r, l, a, n) {
    r ? this.success(l, n) : this.error(a, n);
  }
  close(r) {
    var l;
    Tt(r) ? this.clear() : (l = this._getInstance()) == null || l.remove(r);
  }
  config({ placement: r, startOffset: l, itemGap: a, ...n }) {
    if (this._configRecord = { placement: r, startOffset: l, itemGap: a }, this.defaults = { ...this.defaults, ...n }, this._installed) {
      const o = this._getInstance();
      o && (r && o.config({
        placement: Yu.includes(r) ? r : Yu[0]
      }), o.config({ startOffset: l, itemGap: a }));
    }
  }
  clone() {
    const r = new zi(this.defaults);
    return r._mountedApp = this._mountedApp, r._configRecord = this._configRecord, r._installed = this._installed, r;
  }
  clear() {
    var r;
    (r = this._getInstance()) == null || r.clear();
  }
  destroy() {
    var r, l;
    this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
  }
  isDestroyed() {
    return !1;
  }
  install(r, l = {}) {
    const { property: a, ...n } = l;
    this._mountedApp = r, this._installed = !0, this.config(n), (a || !r.config.globalProperties.$message) && (r.config.globalProperties[a || "$message"] = this);
  }
  transferTo(r) {
    if (!zt) return;
    const l = El(r);
    l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
  }
  _getInstance() {
    if (!this._instance && zt) {
      if (!this._mountedApp)
        console.warn("[vexip-ui:Message]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(Xu), this._instance = this._innerApp.mount(this._container);
      else {
        const r = y(Xu, null, null);
        this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
      }
      this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
    }
    return this._instance;
  }
  _open(r, l, a) {
    if (!zt)
      return Qt;
    const n = typeof l == "string" ? { content: l, duration: a } : l, o = n.key ?? ek(), s = this._getInstance();
    let c;
    const d = n.onClose, p = () => {
      if (clearTimeout(c), typeof d == "function")
        return d();
    }, m = n.onEnter, b = () => {
      if (n.liveOnEnter && clearTimeout(c), typeof m == "function")
        return m();
    }, f = n.onLeave, u = () => {
      if (n.liveOnEnter && (clearTimeout(c), i()), typeof f == "function")
        return f();
    }, h = {
      ...this.defaults,
      ...n,
      key: o,
      type: r ?? n.type,
      onClose: p,
      onEnter: b,
      onLeave: u
    };
    h.icon && typeof h.icon != "function" && (h.icon = Nr(h.icon)), s.add(h), i();
    function i() {
      const v = typeof h.duration == "number" ? h.duration : 3e3;
      v >= 500 && (c = setTimeout(() => {
        s.remove(o);
      }, v));
    }
    return () => {
      clearTimeout(c), s.remove(o);
    };
  }
}
const tk = new zi(), qu = Object.freeze(["primary", "info", "success", "warning", "error"]), nk = Object.freeze(["success", "warning", "error"]), lk = ["aria-live"], ak = ["innerHTML"], rk = ["innerHTML"], ok = ["onClick"], Gu = /* @__PURE__ */ Xe({
  name: "Notice",
  __name: "notice",
  setup(t, { expose: r }) {
    const l = Ye("notice"), a = Gt(), n = g(() => ({
      primary: a.value.info,
      info: a.value.info,
      success: a.value.success,
      warning: a.value.warning,
      error: a.value.error
    })), o = $("top-right"), s = $(30), c = $(16), d = $();
    async function p(u) {
      d.value && await d.value.add(u);
    }
    async function m(u) {
      return !!d.value && await d.value.remove(u);
    }
    function b() {
      d.value && d.value.clear();
    }
    function f(u) {
      o.value = u.placement || o.value, s.value = u.startOffset || s.value, c.value = u.itemGap || c.value;
    }
    return r(
      pt({
        popup: d,
        add: p,
        remove: m,
        clear: b,
        config: f
      })
    ), (u, h) => (S(), Be(e(Pi), {
      ref_key: "popup",
      ref: d,
      class: x(e(l).b()),
      "transition-name": e(l).ns(`popup-${o.value.split("-")[1]}`),
      placement: o.value,
      "start-offset": s.value,
      "item-gap": c.value
    }, {
      item: X(({ item: i }) => [
        oe("div", {
          class: x([
            {
              [e(l).be("item")]: !0,
              [e(l).bs("vars")]: !0,
              [e(l).bem("item", "title-only")]: !i.content && typeof i.renderer != "function",
              [e(l).bem("item", "has-icon")]: i.icon,
              [e(l).bem("item", "content-only")]: !i.title,
              [e(l).bem("item", i.type)]: i.type && e(qu).includes(i.type),
              [e(l).bem("item", "background")]: i.background,
              [e(l).bem("item", "color")]: i.background && i.color,
              [e(l).bem("item", "color-only")]: !i.background && i.color,
              [e(l).bem("item", "marker")]: i.marker
            },
            i.className
          ]),
          role: "alert",
          style: Qe([
            {
              color: typeof i.color == "string" ? i.color : void 0,
              backgroundColor: typeof i.background == "string" ? i.background : void 0
            },
            i.style || {}
          ]),
          "aria-atomic": "true",
          "aria-live": i.type && e(nk).includes(i.type) ? "assertive" : "polite"
        }, [
          i.icon || i.type && e(qu).includes(i.type) ? (S(), D("div", {
            key: 0,
            class: x(e(l).be("icon")),
            style: Qe({ color: i.iconColor })
          }, [
            i.icon ? (S(), Be(e(Oe), {
              key: 0,
              icon: i.icon,
              scale: !i.content && typeof i.renderer != "function" ? 1 : 2,
              style: Qe([{ color: i.iconColor }, i.icon.style])
            }, null, 8, ["icon", "scale", "style"])) : (S(), Be(e(Oe), He({ key: 1 }, n.value[i.type], {
              scale: !i.content && typeof i.renderer != "function" ? 1 : 2,
              style: { color: i.iconColor }
            }), null, 16, ["scale", "style"]))
          ], 6)) : ge("", !0),
          oe("div", {
            class: x(e(l).be("wrapper"))
          }, [
            typeof i.renderer == "function" ? (S(), Be(e(me), {
              key: 0,
              renderer: i.renderer,
              data: i
            }, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 1 }, [
              i.title ? (S(), D(st, { key: 0 }, [
                i.parseHtml ? (S(), D("div", {
                  key: 0,
                  class: x(e(l).be("title")),
                  style: Qe({
                    color: typeof i.titleColor == "string" ? i.titleColor : void 0
                  }),
                  innerHTML: i.title
                }, null, 14, ak)) : (S(), D("div", {
                  key: 1,
                  class: x(e(l).be("title")),
                  style: Qe({
                    color: typeof i.titleColor == "string" ? i.titleColor : void 0
                  })
                }, ze(i.title || ""), 7))
              ], 64)) : ge("", !0),
              i.content ? (S(), D(st, { key: 1 }, [
                i.parseHtml ? (S(), D("div", {
                  key: 0,
                  class: x(e(l).be("content")),
                  innerHTML: i.content
                }, null, 10, rk)) : (S(), D("div", {
                  key: 1,
                  class: x(e(l).be("content"))
                }, ze(i.content || ""), 3))
              ], 64)) : ge("", !0)
            ], 64))
          ], 2),
          i.closable ? (S(), D("button", {
            key: 1,
            type: "button",
            class: x(e(l).be("close")),
            onClick: (v) => m(i.key)
          }, [
            y(e(Oe), He(e(a).close, { label: "close" }), null, 16)
          ], 10, ok)) : ge("", !0)
        ], 14, lk)
      ]),
      _: 1
    }, 8, ["class", "transition-name", "placement", "start-offset", "item-gap"]));
  }
}), Zu = [
  "top-right",
  "top-left",
  "bottom-right",
  "bottom-left"
];
let sk = 1;
function ik() {
  return `notice-${sk++}`;
}
class Li {
  constructor(r = {}) {
    Rt(this, "name");
    Rt(this, "defaults");
    Rt(this, "open");
    Rt(this, "primary");
    Rt(this, "info");
    Rt(this, "success");
    Rt(this, "warning");
    Rt(this, "error");
    Rt(this, "_mountedApp");
    Rt(this, "_instance");
    Rt(this, "_innerApp");
    Rt(this, "_container");
    Rt(this, "_wrapper");
    Rt(this, "_mountedEl");
    Rt(this, "_installed");
    Rt(this, "_configRecord");
    r = {
      ...r,
      marker: !!r.marker,
      duration: r.duration ? rn(r.duration) : 4e3
    }, this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._wrapper = null, this._mountedEl = null, this._installed = !1, this._configRecord = null, this.name = "Notice", this.defaults = {}, this.config(r), this.open = (l, a, n) => this._open(null, l, a, n), this.primary = (l, a, n) => this._open("primary", l, a, n), this.info = (l, a, n) => this._open("info", l, a, n), this.success = (l, a, n) => this._open("success", l, a, n), this.warning = (l, a, n) => this._open("warning", l, a, n), this.error = (l, a, n) => this._open("error", l, a, n);
  }
  judge(r, l, a, n) {
    r ? this.success(l, n) : this.error(a, n);
  }
  close(r) {
    var l;
    Tt(r) ? this.clear() : (l = this._getInstance()) == null || l.remove(r);
  }
  config({ placement: r, startOffset: l, itemGap: a, ...n }) {
    if (this._configRecord = { placement: r, startOffset: l, itemGap: a }, this.defaults = { ...this.defaults, ...n }, this._installed) {
      const o = this._getInstance();
      o && (r && o.config({
        placement: Zu.includes(r) ? r : Zu[0]
      }), o.config({ startOffset: l, itemGap: a }));
    }
  }
  clone() {
    const r = new Li(this.defaults);
    return r._mountedApp = this._mountedApp, r._configRecord = this._configRecord, r._installed = this._installed, r;
  }
  clear() {
    var r;
    (r = this._getInstance()) == null || r.clear();
  }
  destroy() {
    var r, l;
    this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
  }
  isDestroyed() {
    return !1;
  }
  install(r, l = {}) {
    const { property: a, ...n } = l;
    this._mountedApp = r, this._installed = !0, this.config({ ...this._configRecord, ...n }), (a || !r.config.globalProperties.$notice) && (r.config.globalProperties[a || "$notice"] = this);
  }
  transferTo(r) {
    if (!zt) return;
    const l = El(r);
    l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
  }
  _getInstance() {
    if (!this._instance && zt) {
      if (!this._mountedApp)
        console.warn("[vexip-ui:Notice]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(Gu), this._instance = this._innerApp.mount(this._container);
      else {
        const r = y(Gu, null, null);
        this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
      }
      this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
    }
    return this._instance;
  }
  _open(r, l, a, n) {
    if (!zt)
      return Qt;
    let o;
    pl(l) ? o = l : typeof a == "number" ? o = { title: l, duration: a } : a ? o = { title: l, content: a, duration: n } : o = { title: l, duration: n };
    const s = o.key ?? ik(), c = this._getInstance();
    let d;
    const p = o.onClose, m = () => {
      if (clearTimeout(d), typeof p == "function")
        return p();
    }, b = o.onEnter, f = () => {
      if (o.liveOnEnter && clearTimeout(d), typeof b == "function")
        return b();
    }, u = o.onLeave, h = () => {
      if (o.liveOnEnter && (clearTimeout(d), v()), typeof u == "function")
        return u();
    }, i = {
      ...this.defaults,
      ...o,
      key: s,
      type: r ?? o.type,
      onClose: m,
      onEnter: f,
      onLeave: h
    };
    i.icon && typeof i.icon != "function" && (i.icon = Nr(i.icon)), c.add(i), v();
    function v() {
      const k = typeof i.duration == "number" ? i.duration : 4e3;
      k >= 500 && (d = setTimeout(() => {
        c.remove(s);
      }, k));
    }
    return () => {
      clearTimeout(d), c.remove(s);
    };
  }
}
const uk = new Li(), ck = /* @__PURE__ */ Xe({
  name: "OptionGroup",
  __name: "option-group",
  props: Qb,
  setup(t) {
    const r = Ye("option-group");
    return (l, a) => (S(), D("li", {
      class: x({
        [e(r).b()]: !0,
        [e(r).ns("option-vars")]: !0,
        [e(r).bm("divided")]: l.divided
      })
    }, [
      oe("div", {
        class: x(e(r).be("label"))
      }, [
        W(l.$slots, "label", {}, () => [
          dt(ze(l.label), 1)
        ])
      ], 2),
      oe("ul", {
        class: x(e(r).be("list"))
      }, [
        W(l.$slots, "default")
      ], 2)
    ], 2));
  }
}), dk = ft({
  size: An,
  locale: Mn(),
  total: Number,
  noBorder: M,
  background: M,
  pageSize: Number,
  sizeOptions: Array,
  itemCount: Number,
  active: Number,
  disabled: M,
  disableItem: Function,
  turnPageCount: Number,
  itemUnit: String,
  plugins: Array,
  noTitle: M,
  itemTag: String,
  listTag: String,
  slots: Object,
  onChange: B(),
  onPageSizeChange: B()
});
function Ka(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
var ma = /* @__PURE__ */ function(t) {
  return t.LEFT = "left", t.CENTER = "center", t.RIGHT = "right", t;
}(ma || {});
const fk = /* @__PURE__ */ Xe({
  name: "Pagination",
  props: dk,
  emits: ["update:active", "update:page-size"],
  setup(t, {
    slots: r,
    emit: l,
    expose: a
  }) {
    const n = ct("pagination", t, {
      size: On(),
      locale: null,
      total: {
        default: 0,
        validator: (N) => N >= 0,
        static: !0
      },
      noBorder: !1,
      background: !1,
      pageSize: {
        default: 10,
        validator: (N) => N > 0
      },
      sizeOptions: () => [10, 20, 50, 100],
      itemCount: {
        default: 7,
        validator: (N) => Number.isInteger(N) && N > 6
      },
      active: {
        default: 1,
        validator: (N) => N > 0,
        static: !0
      },
      disabled: !1,
      disableItem: {
        default: () => !1,
        isFunc: !0
      },
      turnPageCount: 5,
      itemUnit: null,
      plugins: {
        default: () => [],
        validator: (N) => Array.isArray(N)
      },
      noTitle: !1,
      itemTag: "li",
      listTag: null,
      slots: () => ({})
    }), {
      isRtl: o
    } = Un(), s = Ye("pagination"), c = Gt(), d = $([]), p = $(n.active), m = $(n.pageSize), b = $(ma.LEFT), f = $(!1), u = $(!1), h = $(n.active), i = pt([]), v = vn("pagination", qe(n, "locale")), {
      target: k
    } = cl({
      passive: !1,
      onKeyDown: (N, j) => {
        n.disabled || za([[() => j.up || j.down || j.left || j.right, () => {
          const ae = j.up || j.left ? -1 : 1;
          if (zt && document.activeElement) {
            const be = i.findIndex((ce) => ce === document.activeElement);
            if (!~be) return;
            i[cn(be + ae, 0, i.length - 1)].focus();
          }
        }], [() => j.enter || j.space, () => {
          if (document && document.activeElement && !~i.findIndex((be) => be === document.activeElement)) {
            const be = s.bem("item", "active"), re = i.find((ce) => ce.classList.contains(be));
            re == null || re.focus();
          }
        }]], {
          beforeMatchAny: () => N.preventDefault(),
          afterMatchAny: j.resetAll
        });
      }
    }), w = g(() => ({
      [s.b()]: !0,
      [s.bs("vars")]: !0,
      [s.bm("inherit")]: n.inherit,
      [s.bm(n.size)]: n.size !== "default",
      [s.bm("background")]: n.background,
      [s.bm("no-border")]: n.noBorder,
      [s.bm("disabled")]: n.disabled
    })), T = g(() => Math.ceil(n.total / (m.value || 1)) || 1), F = g(() => T.value > n.itemCount), A = g(() => {
      const N = ee(1, 1);
      return N >= T.value || p.value === N;
    }), z = g(() => {
      const N = ee(T.value, -1);
      return N <= 1 || p.value === N;
    }), C = g(() => `${v.value.prev} ${uo(v.value.page, n.turnPageCount)}`), E = g(() => `${v.value.next} ${uo(v.value.page, n.turnPageCount)}`), P = g(() => {
      if (!F.value) return 0;
      let N = ee(p.value - n.turnPageCount, -1);
      return N < 1 && (N = ee(1, 1), N >= p.value) ? 0 : N;
    }), R = g(() => {
      if (!F.value) return 0;
      let N = ee(p.value + n.turnPageCount, 1);
      return N > T.value && (N = ee(T.value, -1), N <= p.value) ? 0 : N;
    }), L = g(() => n.sizeOptions.map((N) => ({
      value: N,
      label: `${N} ${v.value.perPage}`
    }))), I = g(() => {
      const N = n.plugins, j = N.findIndex(Tt);
      return {
        total: N.findIndex((ae) => ae === "total") - j,
        size: N.findIndex((ae) => ae === "size") - j,
        jump: N.findIndex((ae) => ae === "jump") - j
      };
    }), G = g(() => {
      if (!n.plugins.includes("jump")) return 0;
      let N = 0;
      return n.plugins.includes("size") ? N = Math.ceil(n.total / (Math.min(...n.sizeOptions) || 10)) : N = Math.ceil(n.total / (n.pageSize || 10)), N.toString().length * 10 + 30;
    });
    le(() => n.active, (N) => {
      H(N, !1);
    }), le(() => n.itemCount, Z), le(T, Z), le(() => n.pageSize, (N) => {
      m.value = N;
    }), le(m, (N, j) => {
      l("update:page-size", N), _(n.onPageSizeChange, N);
      const ae = Math.ceil((j * (p.value - 1) + 1) / N);
      let be = ee(ae, 1);
      be > T.value && (be = ee(ae - 1, -1), be < 1 && (be = 0)), p.value = be, Z();
    }), a({
      changeActive: H,
      handlePrev: U,
      handleNext: q
    }), sn(() => {
      kt(Z);
    }), Qs(() => {
      k.value && (i.length = 0, i.push(...Array.from(k.value.querySelectorAll(`${s.cbe("item")}:not(${s.cbem("item", "disabled")})`))));
    });
    function ee(N, j) {
      for (j = j / Math.abs(j); n.disableItem(N) && (N += j, !(N < 1 || N > T.value)); )
        ;
      return N;
    }
    function O(N) {
      p.value !== N && (p.value = N, h.value = N, Z(), l("update:active", N), _(n.onChange, N));
    }
    function H(N, j = !0) {
      if (N = parseInt(N.toString()), !(n.disabled || N < 1 || N > T.value || n.disableItem(N)) && (O(N), zt && j)) {
        const ae = i.find((be) => be === document.activeElement);
        ae == null || ae.blur(), kt(() => {
          var be;
          (be = i.find((re) => re.tabIndex >= 0)) == null || be.focus();
        });
      }
    }
    function U() {
      if (!A.value && !n.disabled) {
        const N = ee(p.value - 1, -1);
        N >= 1 && H(N);
      }
    }
    function q() {
      if (!z.value && !n.disabled) {
        const N = ee(p.value + 1, 1);
        N <= T.value && H(N);
      }
    }
    function Z() {
      let N;
      if (T.value <= n.itemCount)
        N = $l(T.value);
      else {
        const j = n.itemCount - 2, ae = Math.ceil(n.itemCount / 2);
        if (p.value < ae)
          N = $l(j), N.push(T.value), b.value = ma.LEFT;
        else if (p.value <= T.value - ae) {
          let be = j - 2;
          be % 2 === 0 && (be -= 1), N = $l(be, p.value - (be - 1) / 2), N.unshift(1), N.push(T.value), b.value = ma.CENTER;
        } else
          N = $l(j, T.value - j + 1), N.unshift(1), b.value = ma.RIGHT;
      }
      N.length === 1 && (d.value = []), d.value = N.slice(1, -1);
    }
    function K() {
      f.value = !0;
    }
    function we() {
      f.value = !1;
    }
    function de() {
      !n.disabled && P.value && H(P.value);
    }
    function te() {
      u.value = !0;
    }
    function Ee() {
      u.value = !1;
    }
    function Se() {
      !n.disabled && R.value && H(R.value);
    }
    function Ce(N) {
      N = Math.max(Math.min(parseInt(N.toString()), T.value), 1);
      const j = N;
      if (N !== p.value) {
        const ae = N > p.value ? 1 : -1;
        N = ee(j, ae), (ae > 0 ? N > T.value : N < 1) && (N = ee(j, -ae), (ae > 0 ? N < 1 : N > T.value) && (N = 0)), O(N);
      }
      kt(() => {
        h.value = p.value;
      });
    }
    function fe(N) {
      let j;
      const ae = n.disabled || A.value, be = o.value ? c.value.angleRight : c.value.angleLeft;
      return y(N, {
        ref: (re) => re && !A.value && i.push(re),
        class: [s.be("item"), s.bem("item", "prev"), ae ? s.bem("item", "disabled") : ""],
        title: n.noTitle ? void 0 : v.value.prevPage,
        role: "menuitem",
        tabindex: "-1",
        "aria-label": v.value.prevPage,
        "aria-hidden": ae ? "true" : void 0,
        onClick: U,
        onKeydownEnter: U,
        onKeydownSpace: U
      }, Ka(j = W(r, "prev", {
        disabled: ae
      }, () => [y(me, {
        renderer: n.slots.prev,
        data: {
          disabled: ae
        }
      }, {
        default: () => [y(Oe, He(be, {
          scale: +(be.scale || 1)
        }), null)]
      })])) ? j : {
        default: () => [j]
      });
    }
    function ot(N) {
      let j;
      const ae = n.disabled || z.value, be = o.value ? c.value.angleLeft : c.value.angleRight;
      return y(N, {
        ref: (re) => re && !z.value && i.push(re),
        class: [s.be("item"), s.bem("item", "next"), ae ? s.bem("item", "disabled") : ""],
        title: n.noTitle ? void 0 : v.value.nextPage,
        role: "menuitem",
        tabindex: "-1",
        "aria-label": v.value.nextPage,
        "aria-hidden": ae ? "true" : void 0,
        onClick: q,
        onKeydownEnter: q,
        onKeydownSpace: q
      }, Ka(j = W(r, "next", {
        disabled: ae
      }, () => [y(me, {
        renderer: n.slots.next,
        data: {
          disabled: ae
        }
      }, {
        default: () => [y(Oe, He(be, {
          scale: +(be.scale || 1)
        }), null)]
      })])) ? j : {
        default: () => [j]
      });
    }
    function Ze(N) {
      let j;
      if (!F.value || b.value === ma.LEFT) return null;
      const ae = n.disabled || !P.value;
      return y(N, {
        ref: (be) => be && P.value && i.push(be),
        class: {
          [s.be("item")]: !0,
          [s.bem("item", "more")]: !0,
          [s.bem("item", "disabled")]: ae
        },
        title: n.noTitle ? void 0 : C.value,
        role: "menuitem",
        tabindex: "-1",
        "aria-label": C.value,
        onClick: de,
        onKeydownEnter: de,
        onKeydownSpace: de,
        onMouseenter: K,
        onMouseleave: we
      }, Ka(j = Yn(r, ["prev-jump", "prevJump"], () => {
        const be = o.value ? c.value.anglesRight : c.value.anglesLeft;
        return y(En, {
          name: s.ns("fade")
        }, {
          default: () => [!ae && f.value ? y(Oe, He(be, {
            scale: +(be.scale || 1)
          }), null) : y(Oe, He(c.value.ellipsis, {
            scale: +(c.value.ellipsis.scale || 1),
            style: "position: absolute"
          }), null)]
        });
      })({
        disabled: ae,
        entered: f.value
      })) ? j : {
        default: () => [j]
      });
    }
    function Je(N) {
      let j;
      if (!F.value || b.value === ma.RIGHT) return null;
      const ae = n.disabled || !R.value;
      return y(N, {
        ref: (be) => be && R.value && i.push(be),
        class: {
          [s.be("item")]: !0,
          [s.bem("item", "more")]: !0,
          [s.bem("item", "disabled")]: ae
        },
        title: n.noTitle ? void 0 : E.value,
        role: "menuitem",
        tabindex: "-1",
        "aria-label": E.value,
        onClick: Se,
        onKeydownEnter: Se,
        onKeydownSpace: Se,
        onMouseenter: te,
        onMouseleave: Ee
      }, Ka(j = Yn(r, ["next-jump", "nextJump"], () => {
        const be = o.value ? c.value.anglesLeft : c.value.anglesRight;
        return y(En, {
          name: s.ns("fade")
        }, {
          default: () => [!ae && u.value ? y(Oe, He(be, {
            scale: +(be.scale || 1)
          }), null) : y(Oe, He(c.value.ellipsis, {
            scale: +(c.value.ellipsis.scale || 1),
            style: "position: absolute"
          }), null)]
        });
      })({
        disabled: !R.value,
        entered: u.value
      })) ? j : {
        default: () => [j]
      });
    }
    function se(N, j) {
      let ae;
      const be = n.disabled || n.disableItem(j), re = p.value === j;
      return y(N, {
        ref: (ce) => ce && i.push(ce),
        class: {
          [s.be("item")]: !0,
          [s.bem("item", "disabled")]: be,
          [s.bem("item", "active")]: re
        },
        title: n.noTitle ? void 0 : j,
        role: "menuitemradio",
        tabindex: re ? "0" : "-1",
        "aria-posinset": j,
        "aria-setsize": T.value,
        "aria-disabled": be ? "true" : void 0,
        onClick: () => H(j),
        onKeydownEnter: () => H(j),
        onKeydownSpace: () => H(j)
      }, Ka(ae = W(r, "item", {
        page: j,
        disabled: be,
        active: re
      }, () => [y(me, {
        renderer: n.slots.item,
        data: {
          page: j,
          disabled: be,
          active: re
        }
      }, Ka(j) ? j : {
        default: () => [j]
      })])) ? ae : {
        default: () => [ae]
      });
    }
    function ne() {
      return n.plugins.includes("total") ? y("div", {
        class: [s.be("total"), I.value.total < 0 && s.bem("total", "prefix")],
        style: {
          order: I.value.total
        }
      }, [`${v.value.total} ${uo(n.itemUnit ?? v.value.itemUnit, n.total)}`]) : null;
    }
    function ue() {
      return n.plugins.includes("size") ? y("div", {
        class: [s.be("size"), I.value.size < 0 && s.bem("size", "prefix")],
        style: {
          order: I.value.size
        }
      }, [y(wi, {
        value: m.value,
        "onUpdate:value": (N) => m.value = N,
        inherit: !0,
        class: s.be("size-select"),
        options: L.value,
        filter: !1,
        multiple: !1,
        clearable: !1
      }, null)]) : null;
    }
    function J() {
      return n.plugins.includes("jump") ? y("div", {
        class: [s.be("jump"), I.value.jump < 0 && s.bem("jump", "prefix")],
        style: {
          order: I.value.jump
        }
      }, [v.value.jumpTo, y(Ir, {
        value: h.value,
        "onUpdate:value": (N) => h.value = N,
        inherit: !0,
        class: s.be("jump-input"),
        clearable: !1,
        sync: !1,
        style: {
          width: `${G.value}px`
        },
        onChange: Ce
      }, null), Kp(v.value.page, 1)]) : null;
    }
    return () => {
      const N = n.itemTag || "li", j = n.listTag || (N === "li" ? "ul" : "div");
      return y("div", {
        class: w.value
      }, [y(j, {
        ref: k,
        class: s.be("list"),
        role: "menubar",
        "aria-label": "Pagination",
        "aria-disabled": n.disabled ? "true" : void 0
      }, {
        default: () => [fe(N), se(N, 1), Ze(N), d.value.map((ae) => se(N, ae)), Je(N), T.value > 1 && se(N, T.value), ot(N)]
      }), ne(), ue(), J()]);
    };
  }
}), pk = ft({
  percentage: Number,
  state: Zn,
  strokeWidth: Number,
  infoType: String,
  precision: Number,
  activated: M,
  strokeColor: [String, Array, Function],
  slots: Object
}), vk = Object.freeze([
  "outside",
  "inside",
  "bubble",
  "bubble-top",
  "bubble-bottom",
  "none"
]), hk = ["aria-valuenow", "aria-valuetext"], Cr = /* @__PURE__ */ Xe({
  name: "Progress",
  __name: "progress",
  props: pk,
  setup(t, { expose: r }) {
    const a = ct("progress", t, {
      percentage: {
        default: 0,
        validator: (u) => u >= 0 && u <= 100,
        static: !0
      },
      state: ll(),
      strokeWidth: 8,
      infoType: {
        default: "outside",
        validator: (u) => vk.includes(u)
      },
      precision: 2,
      activated: !1,
      strokeColor: {
        default: null,
        validator: (u) => !(Array.isArray(u) && (!u[0] || !u[1]))
      },
      slots: () => ({})
    }), n = Ye("progress"), o = g(() => [
      n.b(),
      n.bs("vars"),
      n.bm(`info-${a.infoType}`),
      {
        [n.bm("inherit")]: a.inherit,
        [n.bm(a.state)]: a.state !== "default",
        [n.bm("activated")]: a.activated
      }
    ]), s = g(() => ({ [n.cv("percentage")]: a.percentage })), c = g(() => ({
      height: `${a.strokeWidth}px`,
      borderRadius: `${a.strokeWidth}px`
    })), d = g(() => {
      const u = {
        borderRadius: `${a.strokeWidth}px`
      }, h = vl(a.strokeColor, a.percentage);
      return typeof h == "string" ? u.backgroundColor = h : Array.isArray(h) && (u.backgroundImage = `linear-gradient(to right, ${h[0]} 0%, ${h[1]} 100%)`), u;
    }), p = g(() => a.infoType.includes("bubble")), m = g(() => p.value && a.infoType.split("-").pop() === "bottom" ? "bottom" : "top"), b = g(() => p.value ? {
      [m.value === "top" ? "bottom" : "top"]: `${a.strokeWidth}px`
    } : {}), f = g(() => _n(a.percentage, a.precision));
    return r({ percentValue: f }), (u, h) => (S(), D("div", {
      class: x(o.value),
      style: Qe(s.value),
      role: "progressbar",
      "aria-valuenow": f.value,
      "aria-valuetext": `${f.value}%`,
      "aria-valuemin": "0",
      "aria-valuemax": "100"
    }, [
      oe("div", {
        class: x(e(n).be("track")),
        style: Qe(c.value)
      }, [
        oe("div", {
          class: x(e(n).be("filler")),
          style: Qe(d.value)
        }, null, 6),
        e(a).infoType === "inside" ? (S(), D("div", {
          key: 0,
          class: x(e(n).be("info"))
        }, [
          W(u.$slots, "default", {}, () => [
            y(e(me), {
              renderer: e(a).slots.default
            }, {
              default: X(() => [
                oe("span", {
                  class: x(e(n).be("percentage"))
                }, ze(`${f.value}%`), 3)
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 2)) : ge("", !0)
      ], 6),
      p.value ? (S(), D("div", {
        key: 0,
        class: x(e(n).be("reference"))
      }, [
        y(e(xi), {
          inherit: "",
          class: x(e(n).be("bubble")),
          style: Qe(b.value),
          placement: m.value,
          "content-class": e(n).be("info")
        }, {
          default: X(() => [
            W(u.$slots, "default", {}, () => [
              y(e(me), {
                renderer: e(a).slots.default
              }, {
                default: X(() => [
                  oe("span", {
                    class: x(e(n).be("percentage"))
                  }, ze(`${f.value}%`), 3)
                ]),
                _: 1
              }, 8, ["renderer"])
            ])
          ]),
          _: 3
        }, 8, ["class", "style", "placement", "content-class"])
      ], 2)) : e(a).infoType === "outside" ? (S(), D("div", {
        key: 1,
        class: x(e(n).be("info"))
      }, [
        W(u.$slots, "default", {}, () => [
          y(e(me), {
            renderer: e(a).slots.default
          }, {
            default: X(() => [
              oe("span", {
                class: x(e(n).be("percentage"))
              }, ze(`${f.value}%`), 3)
            ]),
            _: 1
          }, 8, ["renderer"])
        ])
      ], 2)) : ge("", !0)
    ], 14, hk));
  }
}), mk = ft({
  size: An,
  state: Zn,
  value: Eo,
  label: Eo,
  labelClass: Bn,
  disabled: M,
  tabIndex: [String, Number],
  loading: M,
  loadingLock: M,
  name: String,
  shape: String,
  onChange: B()
}), bk = ft({
  size: An,
  state: Zn,
  value: Eo,
  vertical: M,
  disabled: M,
  options: Array,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  shape: String,
  onChange: B()
}), nf = "__VXP_RADIO_GROUP_STATE", lf = Object.freeze(["default", "border", "button"]), gk = Object.freeze([...lf, "button-group"]), yk = ["checked", "disabled", "tabindex", "name"], Oo = /* @__PURE__ */ Xe({
  name: "Radio",
  __name: "radio",
  props: mk,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("radio", t, {
      size: On(),
      state: ll(),
      value: {
        default: null,
        static: !0
      },
      label: {
        default: null,
        static: !0,
        required: !0
      },
      labelClass: null,
      disabled: !1,
      tabIndex: 0,
      loading: !1,
      loadingLock: !1,
      name: {
        default: "",
        static: !0
      },
      shape: {
        default: "default",
        validator: (E) => lf.includes(E)
      }
    }), o = l, s = Et(nf, null), c = Ye("radio"), d = Gt(), p = $(n.value), m = $(), b = g(() => (s == null ? void 0 : s.size) || n.size), f = g(() => (s == null ? void 0 : s.state) || n.state), u = g(() => (s == null ? void 0 : s.disabled) || n.disabled), h = g(() => (s == null ? void 0 : s.loading) || n.loading), i = g(() => s == null ? void 0 : s.loadingIcon), v = g(() => (s == null ? void 0 : s.loadingLock) || !1), k = g(() => (s == null ? void 0 : s.loadingEffect) || ""), w = g(() => (s == null ? void 0 : s.shape) || n.shape), T = g(() => h.value && v.value), F = g(() => [
      c.b(),
      c.bs("vars"),
      {
        [c.bm("inherit")]: n.inherit,
        [c.bm("checked")]: p.value === n.label,
        [c.bm("disabled")]: u.value,
        [c.bm("readonly")]: T.value,
        [c.bm("loading")]: h.value,
        [c.bm(b.value)]: b.value !== "default",
        [c.bm(f.value)]: f.value !== "default",
        [c.bm(w.value)]: w.value !== "default" && w.value !== "button-group"
      }
    ]), A = g(() => w.value === "button" || w.value === "button-group");
    le(
      () => n.value,
      (E) => {
        p.value = E;
      }
    ), s && (p.value = s.currentValue, le(() => s.currentValue, z), sn(() => {
      s.registerInput(m);
    }), pn(() => {
      s.unregisterInput(m);
    })), r({ currentValue: p, input: m });
    function z(E) {
      p.value !== E && (p.value = E, o("update:value", E), _(n.onChange, E));
    }
    function C() {
      u.value || T.value || (z(n.label), s && p.value === n.label && s.updateValue(p.value));
    }
    return (E, P) => (S(), D("label", {
      class: x(F.value)
    }, [
      oe("input", {
        ref_key: "input",
        ref: m,
        type: "radio",
        class: x(e(c).be("input")),
        checked: p.value === e(n).label,
        disabled: u.value || T.value,
        tabindex: e(n).tabIndex,
        name: e(n).name,
        onSubmit: P[0] || (P[0] = gt(() => {
        }, ["prevent"])),
        onChange: C,
        onClick: P[1] || (P[1] = gt(() => {
        }, ["stop"]))
      }, null, 42, yk),
      oe("span", {
        class: x([e(c).be("signal"), h.value && e(c).bem("signal", "active")])
      }, null, 2),
      oe("span", {
        class: x([e(c).be("label"), e(n).labelClass])
      }, [
        A.value ? (S(), Be(e(Ul), {
          key: 0,
          appear: "",
          horizontal: "",
          "fade-effect": ""
        }, {
          default: X(() => [
            h.value ? (S(), D("div", {
              key: 0,
              class: x(e(c).be("loading"))
            }, [
              y(e(Oe), He(e(d).loading, {
                effect: k.value || e(d).loading.effect,
                icon: i.value || e(d).loading.icon,
                label: "loading"
              }), null, 16, ["effect", "icon"])
            ], 2)) : ge("", !0)
          ]),
          _: 1
        })) : ge("", !0),
        W(E.$slots, "default", {}, () => [
          dt(ze(e(n).label), 1)
        ]),
        oe("span", {
          class: x(e(c).be("extra")),
          onClickCapture: P[2] || (P[2] = gt(() => {
          }, ["prevent"]))
        }, [
          W(E.$slots, "extra")
        ], 34)
      ], 2)
    ], 2));
  }
}), kk = ["id", "aria-orientation", "aria-labelledby"], wk = /* @__PURE__ */ Xe({
  name: "RadioGroup",
  __name: "radio-group",
  props: bk,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const {
      idFor: a,
      labelId: n,
      state: o,
      disabled: s,
      loading: c,
      size: d,
      validateField: p,
      getFieldValue: m,
      setFieldValue: b
    } = al(E), u = ct("radioGroup", t, {
      size: On(d),
      state: ll(o),
      value: {
        default: () => m(),
        static: !0
      },
      vertical: !1,
      disabled: () => s.value,
      options: {
        default: () => [],
        static: !0
      },
      loading: () => c.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      shape: {
        default: "default",
        validator: (P) => gk.includes(P)
      }
    }), h = l, i = Ye("radio-group"), v = $(u.value), k = /* @__PURE__ */ new Set(), w = g(() => u.loading && u.loadingLock), T = g(() => [
      i.b(),
      i.ns("radio-vars"),
      {
        [i.bm("inherit")]: u.inherit,
        [i.bm("vertical")]: u.vertical,
        [i.bm("disabled")]: u.disabled,
        [i.bm("readonly")]: w.value,
        [i.bm("loading")]: u.loading,
        [i.bm(u.size)]: u.size !== "default",
        [i.bm(u.state)]: u.state !== "default",
        [i.bm(u.shape)]: u.shape !== "default"
      }
    ]), F = pt({
      currentValue: v,
      size: qe(u, "size"),
      state: qe(u, "state"),
      disabled: qe(u, "disabled"),
      loading: qe(u, "loading"),
      loadingIcon: qe(u, "loadingIcon"),
      loadingLock: qe(u, "loadingLock"),
      loadingEffect: qe(u, "loadingEffect"),
      shape: qe(u, "shape"),
      updateValue: Ln(A),
      registerInput: z,
      unregisterInput: C
    });
    nn(nf, F), le(
      () => u.value,
      (P) => {
        v.value = P;
      }
    ), r({
      idFor: a,
      focus: E,
      blur: () => {
        var P;
        for (const R of k)
          (P = R.value) == null || P.blur();
      }
    });
    function A(P) {
      v.value !== P && (v.value = P, h("update:value", P), b(P), _(u.onChange, P), p());
    }
    function z(P) {
      k.add(P);
    }
    function C(P) {
      k.delete(P);
    }
    function E(P) {
      var L;
      const R = (L = Array.from(k)[0]) == null ? void 0 : L.value;
      zt && R && document.activeElement !== R && R.focus(P);
    }
    return (P, R) => (S(), D("div", {
      id: e(a),
      class: x(T.value),
      role: "radiogroup",
      "aria-orientation": P.vertical ? "vertical" : "horizontal",
      "aria-labelledby": e(n)
    }, [
      W(P.$slots, "default", {}, () => [
        (S(!0), D(st, null, ln(e(u).options, (L) => (S(), D(st, { key: L }, [
          e(pl)(L) ? (S(), Be(e(Oo), {
            key: 0,
            inherit: "",
            label: L.label,
            disabled: L.disabled
          }, {
            default: X(() => [
              dt(ze(L.content || L.label), 1)
            ]),
            _: 2
          }, 1032, ["label", "disabled"])) : (S(), Be(e(Oo), {
            key: 1,
            inherit: "",
            label: L
          }, {
            default: X(() => [
              dt(ze(L), 1)
            ]),
            _: 2
          }, 1032, ["label"]))
        ], 64))), 128))
      ])
    ], 10, kk));
  }
}), xk = ft({
  title: String,
  size: An,
  type: String,
  icon: Xt,
  iconColor: String,
  description: String,
  slots: Object
}), Sk = Object.freeze([
  "primary",
  "info",
  "success",
  "warning",
  "error"
]), Ck = /* @__PURE__ */ Xe({
  name: "Result",
  __name: "result",
  props: xk,
  setup(t) {
    const l = ct("result", t, {
      title: "",
      size: On(),
      type: {
        default: "primary",
        validator: (u) => Sk.includes(u)
      },
      icon: en(),
      iconColor: "",
      description: "",
      slots: () => ({})
    }), a = kn(), n = Ye("result"), o = Gt(), s = g(() => ({
      primary: o.value.info,
      info: o.value.info,
      success: o.value.success,
      warning: o.value.warning,
      error: o.value.error
    })), c = g(() => l.icon ? { icon: l.icon } : s.value[l.type]), d = g(() => !!(a.title || l.title || l.slots.title)), p = g(() => !!(a.icon || l.type || l.icon || l.slots.icon)), m = g(
      () => !!(a.description || l.description || l.slots.description)
    ), b = g(() => ({
      [n.b()]: !0,
      [n.bs("vars")]: !0,
      [n.bm("inherit")]: l.inherit,
      [n.bm(l.type)]: l.type,
      [n.bm(l.size)]: l.size !== "default"
    })), f = g(() => l.iconColor ? n.cvm({
      "icon-color": l.iconColor
    }) : {});
    return (u, h) => (S(), D("div", {
      class: x(b.value),
      style: Qe(f.value)
    }, [
      p.value ? (S(), D("div", {
        key: 0,
        class: x(e(n).be("icon"))
      }, [
        W(u.$slots, "icon", {}, () => [
          y(e(me), {
            renderer: e(l).slots.icon
          }, {
            default: X(() => [
              y(e(Oe), He(c.value, {
                class: e(n).be("icon"),
                style: { color: e(l).iconColor }
              }), null, 16, ["class", "style"])
            ]),
            _: 1
          }, 8, ["renderer"])
        ])
      ], 2)) : ge("", !0),
      d.value ? (S(), D("div", {
        key: 1,
        class: x(e(n).be("title"))
      }, [
        W(u.$slots, "title", {}, () => [
          y(e(me), {
            renderer: e(l).slots.title
          }, {
            default: X(() => [
              dt(ze(e(l).title), 1)
            ]),
            _: 1
          }, 8, ["renderer"])
        ])
      ], 2)) : ge("", !0),
      m.value ? (S(), D("div", {
        key: 2,
        class: x(e(n).be("description"))
      }, [
        W(u.$slots, "description", {}, () => [
          y(e(me), {
            renderer: e(l).slots.description
          }, {
            default: X(() => [
              dt(ze(e(l).description), 1)
            ]),
            _: 1
          }, 8, ["renderer"])
        ])
      ], 2)) : ge("", !0),
      a.extra || e(l).slots.extra ? (S(), D("div", {
        key: 3,
        class: x(e(n).be("extra"))
      }, [
        W(u.$slots, "extra", {}, () => [
          y(e(me), {
            renderer: e(l).slots.extra
          }, null, 8, ["renderer"])
        ])
      ], 2)) : ge("", !0)
    ], 6));
  }
}), Tk = Xe({
  name: "SkeletonGroup",
  props: y1,
  setup(t, { slots: r }) {
    const l = ct("skeletonGroup", t, {
      size: null,
      tag: !1,
      itemTag: null,
      activated: !1,
      round: !1,
      circle: !1,
      block: !1,
      loading: !0
    }), a = Ye("skeletonGroup");
    return nn(Kd, l), () => l.tag ? Jn(
      typeof l.tag == "string" ? l.tag : "div",
      {
        class: [a.b(), l.inherit && a.bm("inherit")],
        role: "group"
      },
      {
        default: () => {
          var n;
          return (n = r.default) == null ? void 0 : n.call(r);
        }
      }
    ) : W(r, "default");
  }
}), $k = ["aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-disabled"], Ju = /* @__PURE__ */ Xe({
  name: "SliderTrigger",
  __name: "slider-trigger",
  props: {
    value: {
      type: Number,
      default: 0
    },
    tipTransfer: {
      type: [Boolean, String],
      default: !1
    },
    hideTip: {
      type: Boolean,
      default: !1
    },
    vertical: {
      type: Boolean,
      default: !1
    },
    min: {
      type: Number,
      default: 0
    },
    max: {
      type: Number,
      default: 100
    },
    disabled: {
      type: Boolean,
      default: !1
    },
    loading: {
      type: Boolean,
      default: !1
    },
    reverse: {
      type: Boolean,
      default: !1
    },
    sliding: {
      type: Boolean,
      default: !1
    },
    tipHover: {
      type: Boolean,
      default: !1
    },
    tipProps: {
      type: Object,
      default: () => ({})
    }
  },
  emits: ["key-minus", "key-plus"],
  setup(t, { expose: r, emit: l }) {
    const a = t, n = l, o = Ye("slider"), s = fa(), c = $(!1), d = $(null), p = $(), { timer: m } = Vn(), { target: b } = cl({
      passive: !1,
      onKeyDown: (T, F) => {
        if (F.up || F.down || F.left || F.right) {
          i(T);
          const A = T.ctrlKey ? "ctrl" : T.shiftKey ? "shift" : T.altKey ? "alt" : void 0;
          F.up || F.left ? n("key-minus", A) : n("key-plus", A);
        }
      }
    }), f = g(() => {
      var T;
      return [o.be("tip"), (T = a.tipProps) == null ? void 0 : T.tipClass];
    });
    r({ updateTooltip: v, focus: k, blur: w });
    function u() {
      clearTimeout(m.hover), a.disabled || (m.hover = setTimeout(() => {
        c.value = !0;
      }, s.value));
    }
    function h() {
      clearTimeout(m.hover), m.hover = setTimeout(() => {
        c.value = !1;
      }, s.value);
    }
    function i(T) {
      T.cancelable && (T.stopPropagation(), T.preventDefault());
    }
    function v() {
      d.value && d.value.updatePopper();
    }
    function k(T) {
      var F;
      (F = p.value) == null || F.focus(T);
    }
    function w() {
      var T;
      (T = p.value) == null || T.blur();
    }
    return (T, F) => (S(), D("div", {
      ref_key: "wrapper",
      ref: b,
      class: x(e(o).be("trigger")),
      tabindex: "-1",
      onTouchstart: i
    }, [
      y(e(Fl), He({
        ref_key: "tooltip",
        ref: d,
        placement: t.vertical ? "right" : "top"
      }, t.tipProps, {
        trigger: "custom",
        transfer: t.tipTransfer,
        visible: c.value || t.sliding,
        "tip-class": f.value,
        disabled: t.hideTip,
        "no-hover": !t.tipHover,
        onTipEnter: u,
        onTipLeave: h
      }), {
        trigger: X(() => [
          oe("div", {
            ref_key: "handler",
            ref: p,
            class: x({
              [e(o).be("button")]: !0,
              [e(o).bem("button", "loading")]: t.loading,
              [e(o).bem("button", "sliding")]: t.sliding
            }),
            role: "slider",
            tabindex: "0",
            "aria-valuenow": t.value,
            "aria-valuemin": t.min,
            "aria-valuemax": t.max,
            "aria-disabled": t.disabled,
            onMouseenter: u,
            onMouseleave: h
          }, [
            W(T.$slots, "default", {}, () => [
              oe("div", {
                class: x(e(o).be("handler"))
              }, null, 2)
            ])
          ], 42, $k)
        ]),
        default: X(() => [
          W(T.$slots, "tip", {}, () => [
            dt(ze(t.value), 1)
          ])
        ]),
        _: 3
      }, 16, ["placement", "transfer", "visible", "tip-class", "disabled", "no-hover"])
    ], 34));
  }
}), Ek = ft({
  state: Zn,
  value: [Number, Array],
  min: Number,
  max: Number,
  step: Number,
  vertical: M,
  hideTip: M,
  tipTransfer: hn,
  disabled: M,
  loading: M,
  loadingLock: M,
  reverse: M,
  range: M,
  markers: [Object, Array],
  markerOnly: M,
  tipHover: M,
  flipMarker: M,
  triggerFade: M,
  tipProps: Object,
  sync: M,
  rangeDraggable: M,
  slots: Object,
  onChange: B(),
  onInput: B()
}), Ak = ["id", "aria-labelledby"], Fi = /* @__PURE__ */ Xe({
  name: "Slider",
  __name: "slider",
  props: Ek,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const { idFor: a, state: n, labelId: o, disabled: s, loading: c, validateField: d, getFieldValue: p, setFieldValue: m } = al(un), f = ct("slider", t, {
      state: ll(n),
      value: {
        default: () => p() ?? 0,
        static: !0
      },
      min: 0,
      max: 100,
      step: {
        default: 1,
        validator: (pe) => pe > 0
      },
      vertical: !1,
      hideTip: !1,
      tipTransfer: null,
      disabled: () => s.value,
      loading: () => c.value,
      loadingLock: !1,
      reverse: !1,
      range: !1,
      markers: null,
      markerOnly: !1,
      tipHover: !1,
      flipMarker: !1,
      triggerFade: !1,
      tipProps: () => ({}),
      sync: !1,
      rangeDraggable: !1,
      slots: () => ({})
    }), u = l, h = kn(), i = Ye("slider"), v = fa(), { timer: k } = Vn(), w = $([0, 0]), T = $([!1, !1]), F = $(
      1
      /* END */
    ), A = $(!1), z = $(!1), C = $(), E = $(), P = $(), R = g(() => {
      const pe = f.markers, Re = [];
      if (!pe) return Re;
      if (Array.isArray(pe))
        for (const he of pe) {
          const { value: Fe, ...lt } = typeof he == "number" ? { value: he } : he;
          Number.isNaN(Fe) || Re.push({ value: Fe, marker: lt });
        }
      else
        for (const he of Object.keys(pe)) {
          const Fe = parseFloat(he), lt = pe[he];
          Number.isNaN(Fe) || Re.push({
            value: Fe,
            marker: typeof lt == "string" ? { label: lt } : lt
          });
        }
      return Re.sort((he, Fe) => he.value - Fe.value);
    }), L = g(() => !!R.value.find(({ marker: pe }) => pe.label)), I = g(() => f.loading && f.loadingLock), G = g(() => f.range && f.rangeDraggable), ee = g(() => ({
      [i.b()]: !0,
      [i.bs("vars")]: !0,
      [i.bm("inherit")]: f.inherit,
      [i.bm(f.state)]: f.state !== "default",
      [i.bm("vertical")]: f.vertical,
      [i.bm("sliding")]: T.value[1] || T.value[0],
      [i.bm("disabled")]: f.disabled,
      [i.bm("readonly")]: I.value,
      [i.bm("loading")]: f.loading,
      [i.bm("reverse")]: f.reverse,
      [i.bm("with-marker")]: L.value,
      [i.bm("flip-marker")]: f.flipMarker,
      [i.bm("hide-trigger")]: f.triggerFade && !z.value,
      [i.bm("range-draggable")]: G.value
    })), O = g(() => Bl(f.step)), H = g(() => Math.ceil(Math.min(f.min, f.max) / f.step)), U = g(() => Math.floor(Math.max(f.min, f.max) / f.step)), q = g(() => [
      _n(w.value[0] * f.step, O.value),
      _n(w.value[1] * f.step, O.value)
    ]), Z = g(() => U.value - H.value || 1), K = g(() => [Ze(w.value[0]), Ze(w.value[1])]), we = g(() => {
      const { vertical: pe, reverse: Re } = f;
      return {
        [pe ? Re ? "bottom" : "top" : Re ? "right" : "left"]: `${Math.min(K.value[0], K.value[1])}%`,
        [pe ? "height" : "width"]: `${Math.abs(K.value[0] - K.value[1])}%`
      };
    }), de = g(() => {
      const { vertical: pe, reverse: Re } = f;
      return {
        [Re ? "bottom" : "top"]: pe ? `${K.value[0]}%` : "50%",
        [Re ? "right" : "left"]: pe ? "50%" : `${K.value[0]}%`,
        zIndex: F.value === 0 ? 1 : void 0,
        transform: `translate(${Re ? "" : "-"}50%, ${Re ? "" : "-"}50%)`
      };
    }), te = g(() => {
      const { vertical: pe, reverse: Re } = f;
      return {
        [Re ? "bottom" : "top"]: pe ? `${K.value[1]}%` : "50%",
        [Re ? "right" : "left"]: pe ? "50%" : `${K.value[1]}%`,
        zIndex: F.value === 1 ? 1 : void 0,
        transform: `translate(${Re ? "" : "-"}50%, ${Re ? "" : "-"}50%)`
      };
    }), Ee = g(() => f.disabled || I.value), Se = yl(
      pt({
        values: q,
        sliding: T,
        percent: K,
        disabled: qe(f, "disabled"),
        loading: qe(f, "loading")
      })
    ), { target: Ce } = Pl({
      disabled: g(() => !G.value || Ee.value),
      onStart: (pe, Re) => {
        if (!C.value || Re.button > 0)
          return !1;
        clearTimeout(k.sliding), Re.stopPropagation(), Re.preventDefault(), j = C.value.getBoundingClientRect(), pe.startValue = w.value[
          0
          /* START */
        ], pe.endValue = w.value[
          1
          /* END */
        ], pe.valueDiff = pe.endValue - pe.startValue;
      },
      onMove: (pe, Re) => {
        if (!j)
          return;
        Re.preventDefault();
        const he = f.vertical, Fe = f.reverse, lt = he ? pe.deltaY : pe.deltaX;
        for (let Ke = 0; Ke < 2; ++Ke) {
          const Ct = Ke ? 1 : 0;
          w.value[Ct] = (Fe ? -1 : 1) * (lt / j[he ? "height" : "width"]) * Z.value + Number(pe[Ke ? "endValue" : "startValue"]);
        }
        se(), w.value[
          0
          /* START */
        ] === H.value ? w.value[
          1
          /* END */
        ] = w.value[
          0
          /* START */
        ] + pe.valueDiff : w.value[
          1
          /* END */
        ] === U.value && (w.value[
          0
          /* START */
        ] = w.value[
          1
          /* END */
        ] - pe.valueDiff), N("input");
      },
      onEnd: () => N()
    });
    Je(f.value), se();
    let fe = f.range ? q.value[0] > q.value[1] ? [q.value[1], q.value[0]] : [q.value[0], q.value[1]] : q.value[1], ot = Array.isArray(fe) ? [...fe] : fe;
    le(
      () => f.value,
      (pe) => {
        be(fe, pe) || (Je(pe), se());
      }
    ), le(
      () => f.step,
      () => {
        Je(f.value), se();
      }
    ), r({
      idFor: a,
      sliding: T,
      track: C,
      startTrigger: E,
      endTrigger: P,
      isValueInRange: Ht,
      focus: un,
      blur: qt
    });
    function Ze(pe) {
      return (parseFloat(pe) - H.value) / Z.value * 100;
    }
    function Je(pe) {
      if (f.range) {
        const Re = Array.isArray(pe) ? pe : [pe, 100];
        w.value = [Re[0] / f.step, Re[1] / f.step];
      } else
        w.value = [H.value, (Array.isArray(pe) ? pe[0] : pe) / f.step];
    }
    function se() {
      w.value = w.value.map((pe) => {
        let Re = Math.max(H.value, Math.min(U.value, Math.round(pe)));
        if (f.markerOnly && R.value.length) {
          let he = 1 / 0, Fe = 0;
          for (const { value: lt } of R.value) {
            const Ke = Math.abs(Re * f.step - lt);
            he > Ke && (he = Ke, Fe = lt);
          }
          Re = Fe / f.step;
        }
        return Re;
      });
    }
    function ne() {
      A.value || T.value[0] || T.value[1] || (z.value = !1);
    }
    function ue() {
      clearTimeout(k.hover), k.hover = setTimeout(() => {
        A.value = !0, z.value = !0;
      }, v.value);
    }
    function J() {
      clearTimeout(k.hover), k.hover = setTimeout(() => {
        A.value = !1, ne();
      }, v.value);
    }
    function N(pe = "change", Re = f.sync) {
      const [he, Fe] = q.value, lt = f.range ? he > Fe ? [Fe, he] : [he, Fe] : Fe;
      if (pe === "change") {
        if (be(fe, lt)) return;
        fe = lt, Re || (ot = lt, u("update:value", lt), m(lt)), _(f.onChange, lt), Re || d();
      } else {
        if (be(ot, lt)) return;
        ot = lt, Re && (u("update:value", lt), m(lt)), _(f.onInput, lt), Re && d();
      }
    }
    let j = null;
    function ae(pe) {
      if (!j) return;
      const Re = f.vertical, he = f.reverse, Fe = Re ? pe.clientY : pe.clientX;
      w.value[F.value] = (he ? -1 : 1) * ((Fe - j[Re ? he ? "bottom" : "top" : he ? "right" : "left"]) / j[Re ? "height" : "width"]) * Z.value + H.value;
    }
    function be(pe, Re) {
      return Array.isArray(pe) && Array.isArray(Re) ? pe[0] === Re[0] && pe[1] === Re[1] : pe === Re;
    }
    const re = Cl((pe) => {
      !j || f.disabled || (pe.preventDefault(), ae(pe), se(), E.value && E.value.updateTooltip(), P.value && P.value.updateTooltip(), N("input"));
    });
    function ce(pe) {
      if (!(!C.value || Ee.value)) {
        if (clearTimeout(k.sliding), pe.stopPropagation(), pe.preventDefault(), j = C.value.getBoundingClientRect(), f.range) {
          const { vertical: Re, reverse: he } = f, Fe = Re ? pe.clientY : pe.clientX, lt = (he ? j[Re ? "bottom" : "right"] - Fe : Fe - j[Re ? "top" : "left"]) / j[Re ? "height" : "width"] * 100;
          F.value = Math.abs(lt - K.value[0]) < Math.abs(lt - K.value[1]) ? 0 : 1;
        } else
          F.value = 1;
        T.value[F.value] = !0, z.value = !0, ae(pe), se(), N("input"), document.addEventListener("pointermove", Pe), document.addEventListener("pointerup", at);
      }
    }
    function Pe(pe) {
      re(pe);
    }
    function at() {
      j = null, document.removeEventListener("pointermove", Pe), document.removeEventListener("pointerup", at), N(), k.sliding = setTimeout(() => {
        T.value[F.value] = !1, ne();
      }, 250);
    }
    function yt(pe) {
      pe.cancelable && (pe.stopPropagation(), pe.preventDefault());
    }
    function Nt(pe) {
      const { vertical: Re, reverse: he } = f;
      return pe = Ze(pe), {
        [he ? "bottom" : "top"]: Re ? `${pe}%` : "50%",
        [he ? "right" : "left"]: Re ? "50%" : `${pe}%`,
        transform: `translate(${he ? "" : "-"}50%, ${he ? "" : "-"}50%)`
      };
    }
    function Mt(pe) {
      const { vertical: Re, reverse: he } = f;
      return pe = Ze(pe), {
        [he ? "bottom" : "top"]: Re ? `${pe}%` : void 0,
        [he ? "right" : "left"]: Re ? void 0 : `${pe}%`,
        transform: `translate${Re ? "Y" : "X"}(${he ? "" : "-"}50%)`
      };
    }
    function Ht(pe) {
      const Re = parseFloat(pe);
      if (Number.isNaN(Re)) return !1;
      if (f.range) {
        const he = Math.min(q.value[0], q.value[1]), Fe = Math.max(q.value[0], q.value[1]);
        return Re >= he && Re <= Fe;
      } else
        return Re <= q.value[1];
    }
    function _t(pe, Re, he = !1) {
      w.value[pe] += Re, se(), he && N();
    }
    function tn(pe, Re) {
      if (!Ee.value)
        if (f.markerOnly || Re === "alt") {
          if (!R.value.length) return;
          const he = q.value[pe];
          for (const { value: Fe } of R.value)
            if (Fe > he) {
              w.value[pe] = Fe;
              break;
            }
          N();
        } else
          _t(pe, Re === "shift" ? 5 : Re === "ctrl" ? 20 : 1, !0);
    }
    function Wt(pe, Re) {
      if (!Ee.value)
        if (f.markerOnly || Re === "alt") {
          if (!R.value.length) return;
          const he = q.value[pe];
          for (let Fe = R.value.length - 1; Fe >= 0; --Fe) {
            const { value: lt } = R.value[Fe];
            if (lt < he) {
              w.value[pe] = lt;
              break;
            }
          }
          N();
        } else
          _t(pe, Re === "shift" ? -5 : Re === "ctrl" ? -20 : -1);
    }
    function un(pe) {
      var Re;
      (Re = E.value || P.value) == null || Re.focus(pe);
    }
    function qt() {
      var pe;
      (pe = E.value || P.value) == null || pe.blur();
    }
    return (pe, Re) => (S(), D("div", {
      id: e(a),
      class: x(ee.value),
      tabindex: "-1",
      role: "group",
      "aria-labelledby": e(o),
      onPointerdown: ce,
      onPointerenter: ue,
      onPointerleave: J,
      onTouchstart: yt
    }, [
      oe("div", {
        class: x(e(i).be("container"))
      }, [
        oe("div", {
          ref_key: "track",
          ref: C,
          class: x(e(i).be("track"))
        }, null, 2),
        W(pe.$slots, "filler", It(Yt(e(Se))), () => [
          y(e(me), {
            renderer: e(f).slots.filler,
            data: e(Se)
          }, {
            default: X(() => [
              oe("div", {
                ref_key: "filler",
                ref: Ce,
                class: x(e(i).be("filler")),
                style: Qe(we.value)
              }, [
                oe("div", {
                  class: x(e(i).be("filler-inner"))
                }, null, 2)
              ], 6)
            ]),
            _: 1
          }, 8, ["renderer", "data"])
        ]),
        R.value.length ? (S(), D(st, { key: 0 }, [
          oe("div", {
            class: x(e(i).be("points"))
          }, [
            (S(!0), D(st, null, ln(R.value, ({ value: he, marker: Fe }) => (S(), D("div", {
              key: he,
              class: x([e(i).be("point"), Ht(he) && e(i).bem("point", "in-range")]),
              style: Qe(Nt(he))
            }, [
              W(pe.$slots, "point", He({ ref_for: !0 }, e(Se), {
                marker: Fe,
                markerValue: he,
                inRange: Ht(he)
              }), () => [
                y(e(me), {
                  renderer: e(f).slots.point,
                  data: {
                    ...e(Se),
                    marker: Fe,
                    markerValue: he,
                    inRange: Ht(he)
                  }
                }, {
                  default: X(() => [
                    oe("span", {
                      class: x(e(i).be("dot"))
                    }, null, 2)
                  ]),
                  _: 2
                }, 1032, ["renderer", "data"])
              ])
            ], 6))), 128))
          ], 2),
          oe("div", {
            class: x(e(i).be("markers"))
          }, [
            (S(!0), D(st, null, ln(R.value, ({ value: he, marker: Fe }) => (S(), D("div", He({
              key: he,
              ref_for: !0
            }, Fe.attrs, {
              class: [e(i).be("marker"), Fe.class],
              style: [Mt(he), Fe.style]
            }), [
              W(pe.$slots, "marker", He({ ref_for: !0 }, e(Se), {
                marker: Fe,
                markerValue: he,
                inRange: Ht(he)
              }), () => [
                y(e(me), {
                  renderer: e(f).slots.marker,
                  data: {
                    ...e(Se),
                    marker: Fe,
                    markerValue: he,
                    inRange: Ht(he)
                  }
                }, {
                  default: X(() => [
                    dt(ze(Fe.label), 1)
                  ]),
                  _: 2
                }, 1032, ["renderer", "data"])
              ])
            ], 16))), 128))
          ], 2)
        ], 64)) : ge("", !0),
        e(f).range ? (S(), Be(Ju, {
          key: 1,
          ref_key: "startTrigger",
          ref: E,
          value: q.value[0],
          "tip-transfer": e(f).tipTransfer,
          "hide-tip": e(f).hideTip,
          vertical: e(f).vertical,
          min: e(f).min,
          max: e(f).max,
          disabled: e(f).disabled,
          loading: e(f).loading,
          reverse: e(f).reverse,
          sliding: T.value[0],
          "tip-hover": e(f).tipHover,
          style: Qe(de.value),
          "tip-props": e(f).tipProps,
          onKeyPlus: Re[0] || (Re[0] = (he) => tn(0, he)),
          onKeyMinus: Re[1] || (Re[1] = (he) => Wt(0, he))
        }, nl({
          default: X(() => [
            h.trigger || e(f).slots.trigger ? W(pe.$slots, "trigger", {
              key: 0,
              type: "start",
              value: q.value[0],
              sliding: T.value[0],
              percent: K.value[0],
              disabled: e(f).disabled,
              loading: e(f).loading
            }, () => [
              y(e(me), {
                renderer: e(f).slots.trigger,
                data: {
                  type: "start",
                  value: q.value[0],
                  sliding: T.value[0],
                  percent: K.value[0],
                  disabled: e(f).disabled,
                  loading: e(f).loading
                }
              }, null, 8, ["renderer", "data"])
            ]) : ge("", !0)
          ]),
          _: 2
        }, [
          h.tip || e(f).slots.tip ? {
            name: "tip",
            fn: X(() => [
              W(pe.$slots, "tip", {
                type: "start",
                value: q.value[0],
                sliding: T.value[0],
                percent: K.value[0],
                disabled: e(f).disabled,
                loading: e(f).loading
              }, () => [
                y(e(me), {
                  renderer: e(f).slots.tip,
                  data: {
                    type: "start",
                    value: q.value[0],
                    sliding: T.value[0],
                    percent: K.value[0],
                    disabled: e(f).disabled,
                    loading: e(f).loading
                  }
                }, {
                  default: X(() => [
                    dt(ze(q.value[0]), 1)
                  ]),
                  _: 1
                }, 8, ["renderer", "data"])
              ])
            ]),
            key: "0"
          } : void 0
        ]), 1032, ["value", "tip-transfer", "hide-tip", "vertical", "min", "max", "disabled", "loading", "reverse", "sliding", "tip-hover", "style", "tip-props"])) : ge("", !0),
        y(Ju, {
          ref_key: "endTrigger",
          ref: P,
          value: q.value[1],
          "tip-transfer": e(f).tipTransfer,
          "hide-tip": e(f).hideTip,
          vertical: e(f).vertical,
          min: e(f).min,
          max: e(f).max,
          disabled: e(f).disabled,
          loading: e(f).loading,
          reverse: e(f).reverse,
          sliding: T.value[1],
          "tip-hover": e(f).tipHover,
          style: Qe(te.value),
          "tip-props": e(f).tipProps,
          onKeyPlus: Re[2] || (Re[2] = (he) => tn(1, he)),
          onKeyMinus: Re[3] || (Re[3] = (he) => Wt(1, he))
        }, nl({
          default: X(() => [
            h.trigger || e(f).slots.trigger ? W(pe.$slots, "trigger", {
              key: 0,
              type: "end",
              value: q.value[1],
              sliding: T.value[1],
              percent: K.value[1],
              disabled: e(f).disabled,
              loading: e(f).loading
            }, () => [
              y(e(me), {
                renderer: e(f).slots.trigger,
                data: {
                  type: "end",
                  value: q.value[1],
                  sliding: T.value[1],
                  percent: K.value[1],
                  disabled: e(f).disabled,
                  loading: e(f).loading
                }
              }, null, 8, ["renderer", "data"])
            ]) : ge("", !0)
          ]),
          _: 2
        }, [
          h.tip || e(f).slots.tip ? {
            name: "tip",
            fn: X(() => [
              W(pe.$slots, "tip", {
                type: "end",
                value: q.value[1],
                sliding: T.value[1],
                percent: K.value[1],
                disabled: e(f).disabled,
                loading: e(f).loading
              }, () => [
                y(e(me), {
                  renderer: e(f).slots.tip,
                  data: {
                    type: "end",
                    value: q.value[1],
                    sliding: T.value[1],
                    percent: K.value[1],
                    disabled: e(f).disabled,
                    loading: e(f).loading
                  }
                }, {
                  default: X(() => [
                    dt(ze(q.value[1]), 1)
                  ]),
                  _: 1
                }, 8, ["renderer", "data"])
              ])
            ]),
            key: "0"
          } : void 0
        ]), 1032, ["value", "tip-transfer", "hide-tip", "vertical", "min", "max", "disabled", "loading", "reverse", "sliding", "tip-hover", "style", "tip-props"])
      ], 2)
    ], 42, Ak));
  }
}), Rk = ft({
  vertical: M,
  inline: M,
  tag: String,
  align: String,
  justify: String,
  noWrap: M,
  size: [String, Number, Array],
  itemStyle: kl,
  gapDisabled: M
});
function Mk(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const Pk = Object.freeze(["start", "end", "center", "space-around", "space-between", "space-evenly"]), zk = Object.freeze(["start", "end", "center", "baseline", "stretch"]), Lk = Op();
function Qu(t) {
  return t === "start" || t === "end" ? `flex-${t}` : t;
}
const Fk = /* @__PURE__ */ Xe({
  name: "Space",
  props: Rk,
  setup(t, {
    slots: r
  }) {
    const l = ct("space", t, {
      vertical: !1,
      inline: !1,
      tag: "div",
      align: {
        default: "stretch",
        validator: (c) => zk.includes(c)
      },
      justify: {
        default: "start",
        validator: (c) => Pk.includes(c)
      },
      noWrap: !1,
      size: "default",
      itemStyle: null,
      gapDisabled: !Lk
    }), a = Ye("space"), n = {
      h: `var(${a.cv("h-gap")})`,
      hh: `calc(var(${a.cv("h-gap")}) * 0.5)`,
      mhh: `calc(var(${a.cv("h-gap")}) * -0.5)`,
      v: `var(${a.cv("v-gap")})`,
      hv: `calc(var(${a.cv("v-gap")}) * 0.5)`,
      mhv: `calc(var(${a.cv("v-gap")}) * -0.5)`
    }, o = g(() => {
      const c = {
        [a.b()]: !0,
        [a.bs("vars")]: !0,
        [a.bm("inherit")]: l.inherit,
        [a.bm("inline")]: l.inline,
        [a.bm("vertical")]: l.vertical,
        [a.bm("no-wrap")]: l.vertical || l.noWrap,
        [a.bm("no-gap")]: l.gapDisabled
      };
      return typeof l.size == "string" && l.size !== "default" && (c[a.bm(l.size)] = !0), c;
    }), s = g(() => {
      const {
        justify: c,
        align: d,
        size: p
      } = l, m = {
        alignItems: Qu(d),
        justifyContent: Qu(c)
      };
      if (typeof p != "string") {
        const b = Array.isArray(p) ? p : [p, p];
        m[a.cv("h-gap")] = `${b[0]}px`, m[a.cv("v-gap")] = `${b[1]}px`;
      }
      return l.gapDisabled && !l.vertical && (m.marginTop = n.mhv, m.marginBottom = n.mhv), m;
    });
    return () => {
      let c;
      const d = l.tag || "div", p = W(r, "default").children;
      if (!(p != null && p.length))
        return y(d, {
          class: o.value,
          style: s.value
        }, null);
      const m = Gc(p), b = m.length - 1, f = l.justify, u = f.startsWith("space"), h = f !== "space-between";
      return y(d, {
        class: o.value,
        style: s.value
      }, Mk(c = m.map((i, v) => y("div", {
        key: v,
        class: a.be("item"),
        role: "none",
        style: [l.itemStyle, l.gapDisabled ? l.vertical ? {
          marginBottom: v !== b ? n.v : void 0
        } : {
          paddingTop: n.hv,
          paddingBottom: n.hv,
          marginRight: u ? h || v !== b ? n.hh : void 0 : v !== b ? n.h : void 0,
          marginLeft: u && (h || v !== 0) ? n.hh : void 0
        } : ""]
      }, [i]))) ? c : {
        default: () => [c]
      });
    };
  }
}), Ik = ft({
  value: Number,
  min: Number,
  max: Number,
  vertical: M,
  noTransition: M,
  lazy: M,
  canFull: M,
  onChange: B(),
  onFull: B(),
  onReset: B(),
  onMoveStart: B(),
  onMove: B(),
  onMoveEnd: B()
}), Nk = Xe({
  name: "Split",
  components: {
    Icon: Oe
  },
  props: Ik,
  emits: ["update:value"],
  setup(t, { emit: r }) {
    const l = ct("split", t, {
      value: {
        default: 0.5,
        validator: (C) => C > 0 && C < 1,
        static: !0
      },
      min: 0.1,
      max: 0.9,
      vertical: !1,
      noTransition: !1,
      lazy: !1,
      canFull: !1
    }), a = Ye("split"), n = Gt(), o = $(l.value), s = $(0), c = $(!1), d = $(), p = $(), m = g(() => l.vertical ? "offsetHeight" : "offsetWidth"), b = g(() => l.vertical ? ["top", "bottom"] : ["left", "right"]), { target: f, moving: u } = Pl({
      lazy: !0,
      capture: !1,
      onStart: (C, E) => {
        if (s.value || !d.value || E.button > 0)
          return !1;
        const { min: P, max: R, vertical: L, lazy: I } = l, G = d.value[m.value], ee = P <= 1 ? P : P / G, O = R <= 1 ? R : R / G;
        C.outer = G, C.min = ee, C.max = O, C.vertical = L, C.splitLazy = I, C.start = o.value * G, C.target = o.value, I && p.value && (p.value.style[b.value[0]] = `${o.value * 100}`, p.value.style.display = "block"), _(l.onMoveStart, o.value);
      },
      onMove: (C) => {
        const E = C.outer, P = C.min, R = C.max, L = C.vertical ? C.deltaY : C.deltaX, I = C.start, G = Math.min(Math.max(P, (I + L) / E), R);
        C.splitLazy ? (p.value && (p.value.style[b.value[0]] = `${G * 100}%`), C.target = G) : z(G), _(l.onMove, G);
      },
      onEnd: (C) => {
        if (p.value && (p.value.style.display = ""), C.splitLazy) {
          const E = C.target;
          Math.abs(E - o.value) > 0.01 && T(), z(E);
        }
        _(l.onMoveEnd, o.value);
      }
    }), h = g(() => {
      let C = "";
      return s.value && (l.vertical ? C = s.value < 0 ? "top" : "bottom" : C = s.value < 0 ? "left" : "right"), {
        [a.b()]: !0,
        [a.bs("vars")]: !0,
        [a.bm("inherit")]: l.inherit,
        [a.bm(l.vertical ? "vertical" : "horizontal")]: !0,
        [a.bm("moving")]: u.value,
        [a.bm(`${C}-full`)]: !!C,
        [a.bm("transition")]: c.value
      };
    }), i = g(() => ({
      [b.value[1]]: s.value < 0 ? "0" : s.value > 0 ? "100%" : `${(1 - o.value) * 100}%`
    })), v = g(() => ({
      [b.value[0]]: s.value < 0 ? "100%" : s.value > 0 ? "0" : `${o.value * 100}%`
    })), k = g(() => ({
      [b.value[0]]: s.value < 0 ? "100%" : s.value > 0 ? "0" : `calc(${o.value * 100}% - var(${a.cv("handler-size")}) * 0.5)`
    })), w = g(() => l.vertical ? [n.value.angleDown, n.value.angleUp] : [n.value.angleRight, n.value.angleLeft]);
    le(
      () => l.value,
      (C) => {
        C.toFixed(5) !== o.value.toFixed(5) && (o.value = C, T());
      }
    ), le(o, (C) => {
      p.value && (p.value.style[b.value[0]] = `${C * 100}%`);
    }), le(s, (C) => {
      if (T(), C) {
        let E;
        l.vertical ? E = C < 0 ? "top" : "bottom" : E = C < 0 ? "left" : "right", _(l.onFull, E);
      } else
        _(l.onReset);
    });
    function T() {
      c.value = !l.noTransition && !u.value;
    }
    function F() {
      c.value = !1;
    }
    function A(C) {
      l.canFull && (s.value ? s.value = 0 : s.value = C);
    }
    function z(C) {
      C.toFixed(5) !== o.value.toFixed(5) && (o.value = C, _(l.onChange, C), r("update:value", C));
    }
    return {
      props: l,
      nh: a,
      className: h,
      position: b,
      leftPaneStyle: i,
      rightPaneStyle: v,
      triggerStyle: k,
      fullIcons: w,
      wrapper: d,
      guide: p,
      handler: f,
      removeTransition: F,
      handleFull: A
    };
  }
});
function Dk(t, r, l, a, n, o) {
  const s = Js("Icon");
  return S(), D("div", {
    ref: "wrapper",
    class: x(t.className),
    onTransitionend: r[4] || (r[4] = (...c) => t.removeTransition && t.removeTransition(...c))
  }, [
    oe("div", {
      class: x([t.nh.be("panel"), t.nh.bem("panel", t.props.vertical ? "top" : "left")]),
      style: Qe(t.leftPaneStyle)
    }, [
      W(t.$slots, "left")
    ], 6),
    oe("div", {
      class: x([t.nh.be("panel"), t.nh.bem("panel", t.props.vertical ? "bottom" : "right")]),
      style: Qe(t.rightPaneStyle)
    }, [
      W(t.$slots, "right")
    ], 6),
    oe("div", {
      class: x(t.nh.be("trigger")),
      style: Qe(t.triggerStyle)
    }, [
      oe("div", {
        ref: "handler",
        class: x(t.nh.be("handler"))
      }, [
        t.props.canFull ? (S(), D(st, { key: 0 }, [
          oe("button", {
            type: "button",
            class: x([t.nh.be("button"), t.nh.bem("button", `${t.props.vertical ? "top" : "left"}-full`)]),
            onPointerdown: r[0] || (r[0] = gt(() => {
            }, ["stop"])),
            onClick: r[1] || (r[1] = gt((c) => t.handleFull(-1), ["left"]))
          }, [
            y(s, He(t.fullIcons[0], {
              scale: +(t.fullIcons[0].scale || 1) * 0.6
            }), null, 16, ["scale"])
          ], 34),
          oe("button", {
            type: "button",
            class: x([
              t.nh.be("button"),
              t.nh.bem("button", `${t.props.vertical ? "bottom" : "right"}-full`)
            ]),
            onPointerdown: r[2] || (r[2] = gt(() => {
            }, ["stop"])),
            onClick: r[3] || (r[3] = gt((c) => t.handleFull(1), ["left"]))
          }, [
            y(s, He(t.fullIcons[1], {
              scale: +(t.fullIcons[1].scale || 1) * 0.6
            }), null, 16, ["scale"])
          ], 34)
        ], 64)) : W(t.$slots, "handler", { key: 1 }, () => [
          (S(), D(st, null, ln(6, (c) => oe("span", {
            key: c,
            class: x(t.nh.be("pointer"))
          }, null, 2)), 64))
        ])
      ], 2)
    ], 6),
    oe("div", {
      ref: "guide",
      class: x(t.nh.be("guide"))
    }, null, 2)
  ], 34);
}
const Ok = /* @__PURE__ */ jr(Nk, [["render", Dk]]), af = ft({
  active: [String, Number],
  card: M,
  options: Array,
  align: String,
  placement: String,
  closable: M,
  showAdd: M,
  slots: Object,
  onChange: B(),
  onAdd: B(),
  onClose: B()
}), rf = ft({
  label: [String, Number],
  disabled: M,
  icon: Xt,
  closable: M,
  onToggle: B()
}), of = "__VXP_TAB_NAV_STATE", _k = Object.freeze({
  top: ["left", "width"],
  right: ["top", "height"],
  bottom: ["left", "width"],
  left: ["top", "height"]
}), Bk = ["aria-disabled", "aria-setsize", "aria-posinset", "onKeydown"], Ii = /* @__PURE__ */ Xe({
  name: "TabNavItem",
  __name: "tab-nav-item",
  props: rf,
  setup(t) {
    const l = ct("tabNavItem", t, {
      label: {
        static: !0,
        default: null
      },
      disabled: !1,
      icon: en(),
      closable: null
    }), a = Et(of, null), n = Ye("tab-nav"), o = Gt(), s = $(!1), c = $(l.label), d = $(0), p = $(0), m = $(), b = g(() => {
      const i = n.be("content");
      return {
        [i]: !0,
        [`${i}--disabled`]: l.disabled,
        [`${i}--active`]: !l.disabled && s.value
      };
    }), f = g(() => dn(l.closable) ? l.closable : (a == null ? void 0 : a.closable) ?? !1);
    if (le(
      () => l.label,
      (i) => {
        c.value = i, a == null || a.refreshLabels();
      }
    ), le(s, (i) => {
      _(l.onToggle, i);
    }), a) {
      const i = pt({
        el: m,
        label: c,
        index: d,
        total: p
      });
      le(c, () => {
        s.value = c.value === a.currentActive;
      }), le(
        () => a.currentActive,
        (v) => {
          s.value = c.value === v;
        },
        { immediate: !0 }
      ), a.increaseItem(i), pn(() => {
        a.decreaseItem(i);
      });
    }
    function u() {
      l.disabled || a == null || a.handleActive(c.value);
    }
    function h() {
      l.disabled || a == null || a.handleClose(c.value);
    }
    return (i, v) => (S(), D("li", {
      ref_key: "wrapper",
      ref: m,
      class: x(e(n).be("item")),
      role: "none"
    }, [
      oe("div", {
        class: x(e(n).be("pad"))
      }, null, 2),
      oe("div", {
        class: x(b.value),
        role: "tab",
        tabindex: "0",
        "aria-disabled": e(l).disabled,
        "aria-setsize": p.value || void 0,
        "aria-posinset": d.value || void 0,
        onClick: u,
        onKeydown: Kn(gt(u, ["stop"]), ["enter"])
      }, [
        e(l).icon ? (S(), Be(e(Oe), {
          key: 0,
          class: x(e(n).be("icon")),
          icon: e(l).icon
        }, null, 8, ["class", "icon"])) : ge("", !0),
        W(i.$slots, "default", {}, () => [
          dt(ze(e(l).label), 1)
        ]),
        f.value ? (S(), D("button", {
          key: 1,
          type: "button",
          class: x(e(n).be("close")),
          onClick: gt(h, ["stop"])
        }, [
          y(e(Oe), He(e(o).close, { label: "close" }), null, 16)
        ], 2)) : ge("", !0)
      ], 42, Bk)
    ], 2));
  }
}), sf = /* @__PURE__ */ Xe({
  name: "TabNav",
  __name: "tab-nav",
  props: af,
  emits: ["update:active"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("tabNav", t, {
      active: {
        default: null,
        static: !0
      },
      card: !1,
      options: {
        default: () => [],
        static: !0
      },
      align: "left",
      placement: "top",
      closable: !1,
      showAdd: !1,
      slots: () => ({})
    }), o = l, s = kn(), c = Ye("tab-nav"), d = Gt(), p = $(n.active), m = $(0), b = $(0), f = /* @__PURE__ */ new Set(), u = Wo(R), h = $(), i = g(() => ({
      [c.b()]: !0,
      [c.bs("vars")]: !0,
      [c.bm("inherit")]: n.inherit,
      [c.bm(`align-${n.align}`)]: !0,
      [c.bm(n.placement)]: !0,
      [c.bm("card")]: n.card
    })), v = g(() => {
      const [L, I] = _k[n.placement];
      return {
        [L]: `${m.value}px`,
        [I]: `${b.value}px`
      };
    }), k = g(() => n.options.map((L) => typeof L == "string" || typeof L == "number" ? { label: L } : L)), w = g(() => n.placement === "top" || n.placement === "bottom" ? "horizontal-exact" : "vertical"), T = Ln(() => {
      const L = f.size;
      Array.from(f).forEach((I, G) => {
        I.index = G + 1, I.total = L, Tt(I.label) && (I.label = G + 1);
      }), f.size >= 1 && F() && (p.value = Array.from(f)[0].label);
    });
    nn(
      of,
      pt({
        currentActive: p,
        closable: qe(n, "closable"),
        increaseItem: A,
        decreaseItem: z,
        handleActive: C,
        handleClose: P,
        refreshLabels: T
      })
    ), le(
      () => n.active,
      (L) => {
        p.value = L, R();
      }
    ), le(
      () => n.placement,
      () => {
        requestAnimationFrame(R);
      }
    ), sn(R), r({
      items: k,
      wrapper: u,
      scroll: h,
      updateMarkerPosition: R,
      handleAdd: E
    });
    function F() {
      return Tt(p.value) || p.value === "";
    }
    function A(L) {
      f.add(L), T();
    }
    function z(L) {
      f.delete(L), T();
    }
    function C(L) {
      p.value = L, R(), o("update:active", L), _(n.onChange, L);
    }
    function E() {
      _(n.onAdd);
    }
    function P(L) {
      _(n.onClose, L), requestAnimationFrame(R);
    }
    function R() {
      const L = Array.from(f).find((I) => I.label === p.value);
      L != null && L.el ? n.placement === "top" || n.placement === "bottom" ? (m.value = L.el.offsetLeft, b.value = L.el.offsetWidth) : (m.value = L.el.offsetTop, b.value = L.el.offsetHeight) : (m.value = 0, b.value = 0);
    }
    return (L, I) => (S(), D("div", {
      ref_key: "wrapper",
      ref: u,
      class: x(i.value),
      tabindex: "-1"
    }, [
      y(e(zn), { "on-resize": R }, {
        default: X(() => [
          oe("div", {
            class: x([e(c).be("extra"), e(c).bem("extra", "prefix")])
          }, [
            s.prefix || e(n).slots.prefix ? (S(), D("div", {
              key: 0,
              class: x(e(c).be("prefix"))
            }, [
              W(L.$slots, "prefix", {}, () => [
                y(e(me), {
                  renderer: e(n).slots.prefix
                }, null, 8, ["renderer"])
              ])
            ], 2)) : ge("", !0)
          ], 2)
        ]),
        _: 3
      }),
      y(e(Ei), {
        ref_key: "scroll",
        ref: h,
        class: x(e(c).be("scroll")),
        mode: w.value,
        "delta-x": 40,
        "delta-y": 40,
        "scroll-tag": "ul",
        "scroll-class": e(c).be("list"),
        "scroll-attrs": { role: "tablist" }
      }, {
        default: X(() => [
          W(L.$slots, "default", {}, () => [
            (S(!0), D(st, null, ln(k.value, (G) => (S(), Be(e(Ii), {
              key: G.label,
              label: G.label,
              icon: G.icon,
              disabled: G.disabled,
              closable: G.closable,
              onToggle: G.onToggle
            }, {
              default: X(() => [
                dt(ze(G.content || G.label), 1)
              ]),
              _: 2
            }, 1032, ["label", "icon", "disabled", "closable", "onToggle"]))), 128))
          ]),
          e(n).showAdd || s.add || e(n).slots.add ? (S(), D("li", {
            key: 0,
            class: x(e(c).be("item")),
            role: "none"
          }, [
            oe("div", {
              class: x(e(c).be("pad"))
            }, null, 2),
            oe("button", {
              type: "button",
              class: x(e(c).be("add")),
              onClick: E
            }, [
              W(L.$slots, "add", {}, () => [
                y(e(me), {
                  renderer: e(n).slots.add
                }, {
                  default: X(() => [
                    y(e(Oe), He(e(d).plus, {
                      scale: +(e(d).plus.scale || 1) * 1.2
                    }), null, 16, ["scale"])
                  ]),
                  _: 1
                }, 8, ["renderer"])
              ])
            ], 2)
          ], 2)) : ge("", !0),
          e(n).card ? ge("", !0) : (S(), D("div", {
            key: 1,
            class: x(e(c).be("track")),
            role: "none",
            style: Qe(v.value)
          }, [
            W(L.$slots, "marker", {}, () => [
              y(e(me), {
                renderer: e(n).slots.marker
              }, {
                default: X(() => [
                  oe("div", {
                    class: x(e(c).be("marker"))
                  }, null, 2)
                ]),
                _: 1
              }, 8, ["renderer"])
            ])
          ], 6))
        ]),
        _: 3
      }, 8, ["class", "mode", "scroll-class"]),
      y(e(zn), { "on-resize": R }, {
        default: X(() => [
          oe("div", {
            class: x([e(c).be("extra"), e(c).bem("extra", "suffix")])
          }, [
            s.suffix || e(n).slots.suffix ? (S(), D("div", {
              key: 0,
              class: x(e(c).be("suffix"))
            }, [
              W(L.$slots, "suffix", {}, () => [
                y(e(me), {
                  renderer: e(n).slots.suffix
                }, null, 8, ["renderer"])
              ])
            ], 2)) : ge("", !0)
          ], 2)
        ]),
        _: 3
      })
    ], 2));
  }
}), Hk = Jl({
  ...jo(af, ["options"]),
  lazy: M,
  lazyLoad: M,
  slots: Object
}), Vk = Jl({
  ...rf,
  lazy: M,
  lazyLoad: M,
  name: {
    type: String,
    default: ""
  }
}), uf = "__VXP_TABS_STATE", jk = ["aria-hidden"], Wk = /* @__PURE__ */ Xe({
  name: "TabPanel",
  __name: "tab-panel",
  props: Vk,
  setup(t) {
    const l = ct("tabPanel", t, {
      lazy: null,
      lazyLoad: null
    }), a = kn(), n = Et(uf, null), o = Ye("tabs"), s = $(!1), c = $(l.label), d = $(!1), p = g(() => l.lazy ?? (n == null ? void 0 : n.lazy) ?? !1), m = g(() => l.lazyLoad ?? (n == null ? void 0 : n.lazyLoad) ?? !1), b = g(() => {
      const f = o.be("panel");
      return {
        [f]: !0,
        [`${f}--disabled`]: l.disabled,
        [`${f}--lazy`]: p.value,
        [`${f}--active`]: !l.disabled && s.value
      };
    });
    if (le(
      () => l.label,
      (f) => {
        c.value = f, n == null || n.refreshLabels();
      }
    ), le(s, (f) => {
      _(l.onToggle, f);
    }), n) {
      const f = pt({
        label: c,
        name: qe(l, "name"),
        icon: qe(l, "icon"),
        disabled: qe(l, "disabled"),
        closable: qe(l, "closable"),
        labelRenderer: null
      });
      le(
        () => a.label,
        (u) => {
          f.labelRenderer = u ? (h) => u(h) : null;
        },
        { immediate: !0 }
      ), le(c, () => {
        s.value = c.value === n.currentActive;
      }), le(
        () => n.currentActive,
        (u) => {
          s.value = c.value === u, !d.value && s.value && (d.value = !0);
        },
        { immediate: !0 }
      ), n.increaseItem(f), pn(() => {
        n.decreaseItem(f);
      });
    }
    return (f, u) => !(p.value || m.value && !d.value) || s.value ? (S(), D("div", {
      key: 0,
      class: x(b.value),
      role: "tabpanel",
      "aria-hidden": !s.value
    }, [
      W(f.$slots, "default")
    ], 10, jk)) : ge("", !0);
  }
}), Kk = ft({
  locale: Mn(),
  columns: Array,
  summaries: Array,
  data: Array,
  width: [Number, String],
  height: Number,
  minHeight: Number,
  rowClass: [String, Object, Array, Function],
  rowStyle: [String, Object, Array, Function],
  rowAttrs: [Object, Function],
  stripe: M,
  border: M,
  highlight: M,
  useXBar: M,
  useYBar: M,
  barFade: Number,
  rowDraggable: M,
  rowHeight: Number,
  rowMinHeight: Number,
  virtual: M,
  bufferCount: Number,
  scrollClass: Object,
  expandRenderer: Function,
  currentPage: Number,
  pageSize: Number,
  transparent: M,
  tooltipTheme: String,
  tooltipWidth: [Number, String],
  singleSorter: M,
  singleFilter: M,
  cellClass: [String, Object, Array, Function],
  cellStyle: [String, Object, Array, Function],
  cellAttrs: [Object, Function],
  headClass: [String, Object, Array, Function],
  headStyle: [String, Object, Array, Function],
  headAttrs: [Object, Function],
  footClass: [String, Object, Array, Function],
  footStyle: [String, Object, Array, Function],
  footAttrs: [Object, Function],
  customSorter: M,
  customFilter: M,
  keyConfig: Object,
  disabledTree: M,
  rowIndent: [String, Number],
  noCascaded: M,
  colResizable: {
    type: [Boolean, String],
    default: null
  },
  cellSpan: Function,
  sidePadding: [Number, Array],
  icons: Object,
  borderWidth: Number,
  dataFilter: Function,
  noTransition: M,
  ellipsis: M,
  slots: Object,
  onScroll: B(),
  onRowEnter: B(),
  onRowLeave: B(),
  onRowClick: B(),
  onRowDblclick: B(),
  onRowContextmenu: B(),
  onRowCheck: B(),
  onRowCheckAll: B(),
  onRowExpand: B(),
  onRowTreeExpand: B(),
  onRowDragStart: B(),
  onRowDragOver: B(),
  onRowDrop: B(),
  onRowDragEnd: B(),
  onRowFilter: B(),
  onRowSort: B(),
  onCellEnter: B(),
  onCellLeave: B(),
  onCellClick: B(),
  onCellDblclick: B(),
  onCellContextmenu: B(),
  onHeadEnter: B(),
  onHeadLeave: B(),
  onHeadClick: B(),
  onHeadDblclick: B(),
  onHeadContextmenu: B(),
  onColResizeStart: B(),
  onColResizeMove: B(),
  onColResizeEnd: B(),
  onFootEnter: B(),
  onFootLeave: B(),
  onFootClick: B(),
  onFootDblclick: B(),
  onFootContextmenu: B()
}), cf = ft({
  idKey: [Number, String],
  name: String,
  accessor: Function,
  fixed: {
    type: [Boolean, String],
    default: null
  },
  class: Bn,
  style: kl,
  attrs: Object,
  type: String,
  width: [Number, String],
  minWidth: Number,
  maxWidth: Number,
  filter: Object,
  sorter: {
    type: [Boolean, Object],
    default: null
  },
  renderer: Function,
  headRenderer: Function,
  filterRenderer: Function,
  order: Number,
  ellipsis: M,
  checkboxSize: An,
  selectionSize: An,
  disableRow: Function,
  truthIndex: M,
  orderLabel: Function,
  meta: Object,
  textAlign: String,
  headSpan: Number,
  cellSpan: Function,
  noSummary: M,
  summaryRenderer: Function,
  indented: M,
  formatter: Function,
  singleSelect: M
}), df = ft({
  name: String,
  fixed: {
    type: [Boolean, String],
    default: null
  },
  order: Number,
  ellipsis: M,
  textAlign: String,
  renderer: Function,
  children: Array
}), ff = ft({
  idKey: [Number, String],
  name: String,
  class: Bn,
  style: kl,
  attrs: Object,
  cellSpan: Function,
  order: Number,
  above: M,
  meta: Object,
  renderer: Function
});
var aa = /* @__PURE__ */ ((t) => (t.BEFORE = "before", t.INNER = "inner", t.AFTER = "after", t))(aa || {});
const Uk = "id", pa = "__VXP_TABLE_STORE", ea = "__VXP_TABLE_ACTIONS", pf = "__VXP_TABLE_SLOTS", Tr = "__vxp-table-head-", Xk = "__vxp-table-foot-", Xs = "__VXP_TABLE_COLUMN_GROUP_ACTIONS", or = ["order", "selection", "expand", "drag"], vf = (t) => t, Yk = Object.keys(cf), qk = {
  idKey: "key"
}, Gk = [
  "renderer",
  "headRenderer",
  "filterRenderer",
  "summaryRenderer"
], Zk = [
  "idKey",
  "fixed",
  "type",
  "width",
  "minWidth",
  "maxWidth",
  "sorter",
  "order",
  "orderLabel",
  "disableRow",
  "headSpan",
  "cellSpan"
], Jk = ["left", "center", "right"], vr = {
  default: null,
  isFunc: !0,
  static: !0
}, Ni = Xe({
  name: "TableColumn",
  inheritAttrs: !1,
  props: cf,
  setup(t, { slots: r }) {
    const l = ct("tableColumn", t, {
      idKey: {
        default: null,
        validator: (b) => !Tt(b),
        static: !0
      },
      name: {
        default: "",
        static: !0
      },
      accessor: {
        default: null,
        isFunc: !0,
        static: !0
      },
      fixed: {
        default: !1,
        static: !0
      },
      class: null,
      style: null,
      attrs: null,
      type: {
        default: null,
        validator: (b) => or.includes(b),
        static: !0
      },
      width: null,
      minWidth: 10,
      maxWidth: null,
      filter: null,
      sorter: !1,
      renderer: vr,
      headRenderer: vr,
      filterRenderer: vr,
      order: {
        default: 0,
        static: !0
      },
      ellipsis: null,
      checkboxSize: {
        ...On(),
        default: null
      },
      selectionSize: {
        ...On(),
        default: null
      },
      disableRow: {
        default: null,
        isFunc: !0
      },
      truthIndex: !1,
      orderLabel: {
        default: null,
        isFunc: !0
      },
      meta: null,
      textAlign: {
        default: "left",
        validator: (b) => Jk.includes(b)
      },
      headSpan: {
        default: 1,
        static: !0
      },
      cellSpan: vr,
      noSummary: !1,
      summaryRenderer: vr,
      indented: !1,
      formatter: {
        default: null,
        isFunc: !0
      },
      singleSelect: !1
    }), a = g(() => (l.checkboxSize && Np("'checkboxSize' has been deprecated, please use 'selectionSize' instead."), l.selectionSize ?? l.checkboxSize ?? "default")), n = Et(ea, null), o = Et(Xs, null), s = pt({});
    for (const b of Yk) {
      if (Gk.includes(b)) continue;
      if (b === "selectionSize" || b === "checkboxSize") {
        s.selectionSize = a.value, le(a, (u) => {
          s.selectionSize = u, n == null || n.setColumnProp(s.key, "selectionSize", u);
        });
        continue;
      }
      const f = qk[b] || b;
      if (s[f] = l[b], b === "idKey") {
        const u = (h) => {
          Tt(h) && l.type ? s[f] = h = `__vxp_${l.type}` : s[f] = h;
        };
        u(l.idKey), le(
          () => l.idKey,
          (h) => {
            u(h), n == null || n.updateColumns();
          }
        );
      } else if (b === "filter") {
        const u = g(() => {
          if (l.filter) {
            const { meta: h, ...i } = l.filter;
            return i;
          }
          return l.filter;
        });
        le(
          u,
          () => {
            s.filter = l.filter, n == null || n.updateColumns();
          },
          { deep: !0 }
        );
      } else {
        const u = Zk.includes(b);
        le(
          () => l[b],
          (h) => {
            s[f] = h, u ? n == null || n.updateColumns() : n == null || n.setColumnProp(s.key, b, h);
          }
        );
      }
    }
    le(() => l.renderer, c), le(() => l.headRenderer, d), le(() => l.filterRenderer, p), le(() => l.summaryRenderer, m), c(), d(), p(), m(), o ? (o.increaseColumn(s), pn(() => {
      o.decreaseColumn(s);
    })) : (n == null || n.increaseColumn(s), pn(() => {
      n == null || n.decreaseColumn(s);
    }));
    function c() {
      if (s.type && s.type !== "expand") {
        s.renderer = void 0;
        return;
      }
      s.renderer = (b) => {
        if (typeof r.default == "function")
          return W(r, "default", b);
        if (typeof l.renderer == "function")
          return l.renderer(b);
        if (s.type === "expand")
          return "";
        const f = b.row, u = b.rowIndex, i = (typeof s.formatter == "function" ? s.formatter : vf)(
          typeof l.accessor == "function" ? l.accessor(f, u) : f[s.key]
        );
        return Tt(i) ? "" : String(i);
      };
    }
    function d() {
      if (s.type === "selection") {
        s.renderer = void 0;
        return;
      }
      s.headRenderer = (b) => typeof r.head == "function" ? W(r, "head", b) : typeof l.headRenderer == "function" ? l.headRenderer(b) : l.name;
    }
    function p() {
      typeof r.filter == "function" || typeof l.filterRenderer == "function" ? s.filterRenderer = (b) => typeof r.filter == "function" ? W(r, "filter", b) : l.filterRenderer(b) : s.filterRenderer = void 0;
    }
    function m() {
      typeof r.summary == "function" || typeof l.summaryRenderer == "function" ? s.summaryRenderer = (b) => typeof r.summary == "function" ? W(r, "summary", b) : typeof l.summaryRenderer == "function" ? l.summaryRenderer(b) : "" : s.summaryRenderer = void 0;
    }
    return () => null;
  }
}), Qk = Object.keys(df), ew = ["renderer", "children"], tw = ["fixed", "order"], Di = /* @__PURE__ */ Xe({
  name: "TableColumnGroup",
  inheritAttrs: !1,
  props: df,
  setup(t, {
    slots: r
  }) {
    const l = ct("tableColumn", t, {
      name: {
        default: "",
        static: !0
      },
      fixed: {
        default: !1,
        static: !0
      },
      order: {
        default: 0,
        static: !0
      },
      ellipsis: null,
      textAlign: "center",
      renderer: {
        default: null,
        isFunc: !0,
        static: !0
      },
      children: {
        default: () => [],
        static: !0
      }
    }), a = Et(ea, null), n = Et(Xs, null), o = pt(/* @__PURE__ */ new Set()), s = g(() => [...o]), c = pt({
      children: s
    });
    c.key = Symbol("TableColumnGroup");
    for (const f of Qk) {
      if (ew.includes(f)) continue;
      c[f] = l[f];
      const u = tw.includes(f);
      le(() => l[f], (h) => {
        c[f] = h, u ? a == null || a.updateColumns() : a == null || a.setColumnProp(c.key, f, h);
      });
    }
    le(() => l.renderer, m, {
      immediate: !0
    }), nn(Xs, {
      increaseColumn: d,
      decreaseColumn: p
    }), n ? (n.increaseColumn(c), pn(() => {
      n.decreaseColumn(c);
    })) : (a == null || a.increaseColumn(c), pn(() => {
      a == null || a.decreaseColumn(c);
    }));
    function d(f) {
      o.add(f);
    }
    function p(f) {
      o.delete(f);
    }
    function m() {
      c.renderer = () => typeof r.head == "function" ? W(r, "head") : typeof l.renderer == "function" ? l.renderer() : l.name;
    }
    function b() {
      return l.children.map((f) => {
        if ("children" in f)
          return y(Di, f, null);
        const {
          key: u,
          ...h
        } = f;
        return y(Ni, He(h, {
          "id-key": u
        }), null);
      });
    }
    return () => [W(r, "default"), ...b()];
  }
}), nw = Object.keys(ff), lw = {
  idKey: "key"
}, aw = ["renderer"], rw = ["idKey", "cellSpan", "order", "above"], ec = {
  default: null,
  isFunc: !0,
  static: !0
}, hf = Xe({
  name: "TableSummary",
  props: ff,
  setup(t, { slots: r }) {
    const l = ct("tableSummary", t, {
      idKey: {
        default: null,
        validator: (s) => !Tt(s),
        static: !0
      },
      class: null,
      style: null,
      attrs: null,
      cellSpan: ec,
      order: {
        default: 0,
        static: !0
      },
      above: {
        default: !1,
        static: !0
      },
      meta: null,
      renderer: ec
    }), a = Et(ea, null), n = pt({});
    for (const s of nw) {
      if (aw.includes(s)) continue;
      const c = lw[s] || s, d = rw.includes(s);
      n[c] = l[s], le(
        () => l[s],
        (p) => {
          n[c] = p, d ? a == null || a.updateSummaries() : a == null || a.setSummaryProp(n.key, s, p);
        }
      );
    }
    le(() => l.renderer, o), o(), a == null || a.increaseSummary(n), pn(() => {
      a == null || a.decreaseSummary(n);
    });
    function o() {
      n.renderer = (s) => typeof s.column.summaryRenderer == "function" ? s.column.summaryRenderer({
        ...s,
        summary: n
      }) : typeof r.default == "function" ? W(r, "default", s) : typeof l.renderer == "function" ? l.renderer(s) : "";
    }
    return () => null;
  }
}), xa = /* @__PURE__ */ Xe({
  name: "TableIcon",
  __name: "table-icon",
  props: {
    name: {
      type: String,
      required: !0
    },
    origin: {
      type: Object,
      default: null
    }
  },
  setup(t) {
    const r = t, l = Et(ea), a = Et(pf), n = g(() => l.getIcon(r.name));
    return (o, s) => e(on)(e(a)[`icon-${t.name}`]) ? (S(), Be(e(me), {
      key: 0,
      renderer: e(l).renderTableSlot,
      data: { name: `icon-${t.name}` }
    }, null, 8, ["renderer", "data"])) : e(l).hasIcon(t.name) ? (S(), Be(e(Oe), {
      key: 1,
      icon: n.value
    }, null, 8, ["icon"])) : (S(), Be(e(Oe), It(He({ key: 2 }, t.origin)), null, 16));
  }
}), ow = ["colspan", "rowspan", "aria-sort"], sw = ["onClick"], tc = 10, iw = /* @__PURE__ */ Xe({
  name: "TableHeadCell",
  __name: "table-head-cell",
  props: {
    column: {
      type: Object,
      default: () => ({})
    },
    index: {
      type: Number,
      default: -1
    },
    row: {
      type: Object,
      default: () => ({})
    },
    rowIndex: {
      type: Number,
      default: 0
    },
    fixed: {
      type: String,
      default: null
    }
  },
  setup(t) {
    const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Et(ea), s = Ye("table"), c = qe(l, "locale"), d = Gt(), { isRtl: p } = Un(), m = $(!1), b = qe(l, "colResizable"), f = g(() => l.colResizing), u = $(), h = g(() => n.isGroupColumn(r.column)), i = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), v = g(() => l.cellSpanMap.get(r.fixed || "default").get(`h${r.rowIndex},${r.index}`) || {
      colSpan: 1,
      rowSpan: 1
    }), k = g(() => h.value ? r.column.last : r.column.index + v.value.colSpan >= l.columns.length);
    let w = 0;
    function T(se, ne = !1) {
      const ue = Math.max(w + (se.isRtl ? -1 : 1) * se.deltaX, tc);
      return !ne && n.handleColumnResize(
        l.columns.slice(r.column.index, r.column.index + v.value.colSpan).map((J) => J.key),
        ue
      ), ue;
    }
    const { target: F } = Pl({
      capture: !1,
      onStart: (se, ne) => {
        if (!b.value || f.value || h.value) return !1;
        const ue = o.getTableElement();
        if (!ue || !u.value) return !1;
        se.xStart = se.clientX - ue.getBoundingClientRect().left, se.isRtl = p.value, w = u.value.getBoundingClientRect().width, n.setColumnResizing(!0), n.setResizeLeft(se.xStart), o.emitColResize("Start", {
          ...H(ne),
          width: w
        });
      },
      onMove: (se, ne) => {
        se.xEnd = Math.max(se.xStart - w + tc, se.xEnd), n.setResizeLeft(se.xEnd), o.emitColResize("Move", {
          ...H(ne),
          width: T(se, l.colResizable !== "responsive")
        });
      },
      onEnd: (se, ne) => {
        n.setColumnResizing(!1), o.emitColResize("End", {
          ...H(ne),
          width: T(se)
        });
      }
    }), A = g(() => or.includes(r.column.type)), z = g(() => {
      let se = null;
      return typeof l.headClass == "function" ? se = l.headClass({
        column: r.column,
        index: r.column.colIndex,
        rowIndex: r.rowIndex
      }) : se = l.headClass, [
        s.be("head-cell"),
        {
          [s.bem("head-cell", "group")]: h.value,
          [s.bem("head-cell", "typed")]: A.value,
          [s.bem("head-cell", "center")]: A.value || r.column.textAlign === "center",
          [s.bem("head-cell", "right")]: r.column.textAlign === "right",
          [s.bem("head-cell", "last")]: k.value
        },
        r.column.class,
        se
      ];
    }), C = g(() => typeof l.headStyle == "function" ? l.headStyle({
      column: r.column,
      index: r.column.colIndex,
      rowIndex: r.rowIndex
    }) : l.headStyle), E = g(() => {
      var re, ce, Pe;
      const se = r.fixed === "left" ? a.leftFixedWidths : r.fixed === "right" ? a.rightFixedWidths : a.normalWidths, { colSpan: ne, rowSpan: ue } = v.value, J = !a.hasFixedColumn, N = (J || ((re = i.value[0]) == null ? void 0 : re.fixed) === "left") && l.sidePadding[0] || 0, j = (J || ((ce = gn(i.value)) == null ? void 0 : ce.fixed) === "right") && l.sidePadding[1] || 0, ae = se[r.index + ne] - se[r.index];
      let be;
      if (ue > 1) {
        be = 0;
        for (let at = 0; at < ue; ++at)
          be += ((Pe = l.rowMap.get(`${Tr}${r.rowIndex + at}`)) == null ? void 0 : Pe.height) ?? 0;
      }
      return [
        r.column.style || "",
        C.value,
        {
          display: ne ? void 0 : "none",
          width: `${(r.column.index ? 0 : N) + (k.value ? j : 0) + ae}px`,
          height: be ? `${be}px` : void 0,
          visibility: r.column.fixed && !r.fixed ? "hidden" : void 0,
          borderRightWidth: !l.border && ne > 1 && r.index + ne >= se.length - 1 ? 0 : void 0,
          transform: `translate3d(${p.value ? "-" : ""}${(r.column.index ? N : 0) + se[r.index]}px, 0, 0)`
        }
      ];
    }), P = g(() => {
      let se;
      return typeof l.headAttrs == "function" ? se = l.headAttrs({
        column: r.column,
        index: r.column.colIndex,
        rowIndex: r.rowIndex
      }) : se = l.headAttrs, { ...r.column.attrs || {}, ...se || {} };
    }), R = g(() => l.sorters.get(r.column.key) || {}), L = g(() => l.filters.get(r.column.key) || {}), I = g(() => {
      const se = L.value.options ?? [];
      for (let ne = 0, ue = se.length; ne < ue; ++ne)
        if (se[ne].active)
          return !0;
      return !1;
    }), G = g(() => {
      if (!O(r.column))
        return !1;
      const se = Object.values(a.disableCheckRows);
      return a.processedData.length === se.length && !Object.values(a.disableCheckRows).includes(!1);
    }), ee = () => qa(o.refreshXScroll);
    function O(se) {
      return !h.value && se.type === "selection";
    }
    function H(se) {
      return {
        column: r.column,
        index: r.column.colIndex,
        event: se
      };
    }
    function U(se) {
      o == null || o.emitHeadEvent("Enter", H(se));
    }
    function q(se) {
      o == null || o.emitHeadEvent("Leave", H(se));
    }
    function Z(se) {
      o == null || o.emitHeadEvent("Click", H(se));
    }
    function K(se) {
      o == null || o.emitHeadEvent("Dblclick", H(se));
    }
    function we(se) {
      o == null || o.emitHeadEvent("Contextmenu", H(se));
    }
    function de() {
      const se = r.column.key, ne = R.value.type === "asc" ? null : "asc";
      n.handleSort(se, ne), o.emitRowSort();
    }
    function te() {
      const se = r.column.key, ne = R.value.type === "desc" ? null : "desc";
      n.handleSort(se, ne), o.emitRowSort();
    }
    function Ee(se) {
      n.handleFilter(r.column.key, se);
    }
    function Se(se, ne) {
      n.toggleFilterItemActive({
        key: r.column.key,
        value: se,
        active: ne,
        disableOthers: !0
      }), Ee(se), m.value = !1, o.emitRowFilter();
    }
    function Ce(se, ne) {
      n.toggleFilterItemActive({
        key: r.column.key,
        value: se,
        active: ne
      });
    }
    function fe() {
      const se = L.value.options ?? [], ne = [];
      for (let ue = 0, J = se.length; ue < J; ++ue) {
        const N = se[ue];
        N.active && ne.push(N.value);
      }
      Ee(ne), m.value = !1, o.emitRowFilter();
    }
    function ot() {
      m.value = !1, Ee(null), n.toggleFilterItemActive({
        key: r.column.key,
        value: null,
        disableOthers: !0
      }), o.emitRowFilter();
    }
    function Ze() {
      n.handleCheckAll(), o.emitAllRowCheck(l.checkedAll, l.partial);
    }
    function Je(se) {
      var ne, ue;
      n.setCellHeight(
        r.row.key,
        r.column.key,
        (((ue = (ne = se.borderBoxSize) == null ? void 0 : ne[0]) == null ? void 0 : ue.blockSize) ?? se.contentRect.height) + l.borderWidth
      );
    }
    return (se, ne) => (S(), D("div", He(P.value, {
      ref_key: "wrapper",
      ref: u,
      class: z.value,
      role: "columnheader",
      scope: "col",
      colspan: v.value.colSpan !== 1 ? v.value.colSpan : void 0,
      rowspan: v.value.rowSpan !== 1 ? v.value.rowSpan : void 0,
      style: E.value,
      "aria-sort": !h.value && R.value.able ? R.value.type ? R.value.type === "asc" ? "ascending" : "descending" : "none" : void 0,
      onMouseenter: U,
      onMouseleave: q,
      onClick: Z,
      onDblclick: K,
      onContextmenu: we,
      onTransitionend: ee
    }), [
      t.column.index === 0 ? (S(), D("div", {
        key: 0,
        class: x(e(s).be("side-pad")),
        role: "none",
        "aria-hidden": ""
      }, null, 2)) : ge("", !0),
      O(t.column) ? (S(), D(st, { key: 1 }, [
        t.column.singleSelect ? ge("", !0) : (S(), D("div", {
          key: 0,
          class: x(e(s).be("content"))
        }, [
          y(e(xl), {
            inherit: "",
            control: "",
            class: x(e(s).be("selection")),
            checked: e(l).checkedAll,
            partial: e(l).partial,
            disabled: G.value,
            size: t.column.selectionSize || "default",
            onClick: gt(Ze, ["prevent"])
          }, null, 8, ["class", "checked", "partial", "disabled", "size"])
        ], 2))
      ], 64)) : (S(), Be(e(zn), {
        key: 2,
        disabled: t.column.ellipsis ?? e(l).ellipsis,
        "on-resize": Je
      }, {
        default: X(() => [
          oe("span", {
            class: x({
              [e(s).be("content")]: !0,
              [e(s).bem("content", "ellipsis")]: t.column.ellipsis ?? e(l).ellipsis
            })
          }, [
            t.column.ellipsis ?? e(l).ellipsis ? (S(), Be(e(ts), {
              key: 0,
              inherit: "",
              class: x(e(s).be("ellipsis")),
              "tooltip-theme": e(l).tooltipTheme,
              "tip-max-width": e(l).tooltipWidth
            }, {
              default: X(() => [
                h.value && e(on)(t.column.renderer) ? (S(), Be(e(me), {
                  key: 0,
                  renderer: t.column.renderer
                }, null, 8, ["renderer"])) : e(on)(t.column.headRenderer) ? (S(), Be(e(me), {
                  key: 1,
                  renderer: t.column.headRenderer,
                  data: { column: t.column, index: t.index }
                }, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 2 }, [
                  dt(ze(t.column.name), 1)
                ], 64))
              ]),
              _: 1
            }, 8, ["class", "tooltip-theme", "tip-max-width"])) : (S(), D(st, { key: 1 }, [
              h.value && e(on)(t.column.renderer) ? (S(), Be(e(me), {
                key: 0,
                renderer: t.column.renderer
              }, null, 8, ["renderer"])) : e(on)(t.column.headRenderer) ? (S(), Be(e(me), {
                key: 1,
                renderer: t.column.headRenderer,
                data: { column: t.column, index: t.index }
              }, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 2 }, [
                dt(ze(t.column.name), 1)
              ], 64))
            ], 64)),
            h.value ? ge("", !0) : (S(), D(st, { key: 2 }, [
              R.value.able ? (S(), D("div", {
                key: 0,
                class: x(e(s).be("sorter"))
              }, [
                oe("span", {
                  class: x({
                    [e(s).bem("sorter", "asc")]: !0,
                    [e(s).bem("sorter", "active")]: R.value.type === "asc"
                  }),
                  onClick: ne[0] || (ne[0] = (ue) => de())
                }, [
                  y(xa, {
                    name: "asc",
                    origin: e(d).angleUp
                  }, null, 8, ["origin"])
                ], 2),
                oe("span", {
                  class: x({
                    [e(s).bem("sorter", "desc")]: !0,
                    [e(s).bem("sorter", "active")]: R.value.type === "desc"
                  }),
                  onClick: ne[1] || (ne[1] = (ue) => te())
                }, [
                  y(xa, {
                    name: "desc",
                    origin: e(d).angleDown
                  }, null, 8, ["origin"])
                ], 2)
              ], 2)) : ge("", !0),
              L.value.able ? (S(), D(st, { key: 1 }, [
                e(on)(t.column.filterRenderer) ? (S(), Be(e(me), {
                  key: 0,
                  renderer: t.column.filterRenderer,
                  data: { column: t.column, index: t.index, filter: L.value, handleFilter: Ee }
                }, null, 8, ["renderer", "data"])) : (S(), Be(e(Fl), {
                  key: 1,
                  visible: m.value,
                  "onUpdate:visible": ne[3] || (ne[3] = (ue) => m.value = ue),
                  transfer: "",
                  placement: "bottom",
                  trigger: "click",
                  class: x({
                    [e(s).be("filter")]: !0,
                    [e(s).bem("filter", "visible")]: m.value,
                    [e(s).bem("filter", "active")]: L.value.active
                  }),
                  "tip-class": {
                    [e(s).be("filter-wrapper")]: !0,
                    [e(s).bs("vars")]: !0,
                    [e(s).bem("filter-wrapper", "multiple")]: L.value.multiple
                  }
                }, nl({
                  trigger: X(() => [
                    oe("div", {
                      class: x(e(s).be("filter-trigger"))
                    }, [
                      y(xa, {
                        name: "filter",
                        origin: e(d).filter
                      }, null, 8, ["origin"])
                    ], 2)
                  ]),
                  _: 2
                }, [
                  L.value.multiple ? {
                    name: "default",
                    fn: X(() => [
                      oe("div", {
                        vertical: "",
                        class: x(e(s).be("filter-group"))
                      }, [
                        (S(!0), D(st, null, ln(L.value.options, (ue) => (S(), Be(e(xl), {
                          key: ue.value,
                          inherit: "",
                          checked: ue.active,
                          label: ue.label,
                          value: ue.value,
                          onChange: (J) => Ce(ue.value, J)
                        }, null, 8, ["checked", "label", "value", "onChange"]))), 128))
                      ], 2),
                      oe("div", {
                        class: x(e(s).be("filter-actions"))
                      }, [
                        y(e(Hn), {
                          inherit: "",
                          text: "",
                          size: "small",
                          disabled: !I.value,
                          onClick: ne[2] || (ne[2] = (ue) => fe())
                        }, {
                          default: X(() => [
                            dt(ze(c.value.filterConfirm), 1)
                          ]),
                          _: 1
                        }, 8, ["disabled"]),
                        y(e(Hn), {
                          inherit: "",
                          text: "",
                          size: "small",
                          onClick: ot
                        }, {
                          default: X(() => [
                            dt(ze(c.value.filterReset), 1)
                          ]),
                          _: 1
                        })
                      ], 2)
                    ]),
                    key: "0"
                  } : {
                    name: "default",
                    fn: X(() => [
                      oe("div", {
                        class: x({
                          [e(s).be("filter-item")]: !0,
                          [e(s).bem("filter-item", "active")]: !L.value.active
                        }),
                        onClick: ot
                      }, ze(c.value.filterAll), 3),
                      (S(!0), D(st, null, ln(L.value.options, (ue) => (S(), D("div", {
                        key: ue.value,
                        class: x({
                          [e(s).be("filter-item")]: !0,
                          [e(s).bem("filter-item", "active")]: ue.active
                        }),
                        onClick: (J) => Se(ue.value, !ue.active)
                      }, ze(ue.label), 11, sw))), 128))
                    ]),
                    key: "1"
                  }
                ]), 1032, ["visible", "class", "tip-class"]))
              ], 64)) : ge("", !0)
            ], 64))
          ], 2)
        ]),
        _: 1
      }, 8, ["disabled"])),
      !h.value && b.value && !A.value && !t.column.last ? (S(), D("div", {
        key: 3,
        ref_key: "resizer",
        ref: F,
        class: x(e(s).be("resizer"))
      }, null, 2)) : ge("", !0),
      k.value ? (S(), D("div", {
        key: 4,
        class: x([e(s).be("side-pad"), e(s).bem("side-pad", "right")]),
        role: "none",
        "aria-hidden": ""
      }, null, 2)) : ge("", !0)
    ], 16, ow));
  }
}), uw = ["draggable"], Oi = /* @__PURE__ */ Xe({
  name: "TableRow",
  __name: "table-row",
  props: {
    row: {
      type: Object,
      default: () => ({})
    },
    index: {
      type: Number,
      default: null
    },
    isHead: {
      type: Boolean,
      default: !1
    },
    isFoot: {
      type: Boolean,
      default: !1
    },
    fixed: {
      type: String,
      default: null
    }
  },
  setup(t) {
    const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Et(ea), s = Ye("table"), { timer: c } = Vn(), d = $(!1), p = $(!1), m = $(), b = $(), f = $(), u = pt({
      el: m,
      row: qe(r, "row")
    }), h = g(() => r.row.key), i = g(() => r.isHead ? "head" : r.isFoot ? "foot" : void 0), v = g(() => {
      let Ce = null;
      return i.value || (typeof l.rowClass == "function" ? Ce = l.rowClass(r.row.data, r.index) : Ce = l.rowClass), [
        s.be("row"),
        {
          [s.bem("row", "fixed")]: l.rowHeight && l.rowHeight > 0,
          [s.bem("row", "hover")]: !i.value && l.highlight && h.value === l.hoveredRowKey,
          [s.bem("row", "stripe")]: l.stripe && r.index % 2 === 1,
          [s.bem("row", "checked")]: r.row.checked,
          [s.bem("row", "dragging")]: d.value,
          [s.bem("row", "drag-over")]: p.value
        },
        Ce
      ];
    }), k = g(
      () => Math.max(...Object.values(r.row.cellHeights || {}), l.rowMinHeight)
    ), w = g(() => {
      let Ce = "";
      return i.value || (typeof l.rowStyle == "function" ? Ce = l.rowStyle(r.row.data, r.index) : Ce = l.rowStyle), [
        Ce,
        {
          height: l.rowHeight ? `${l.rowHeight}px` : `${k.value}px`,
          minHeight: l.rowHeight ? void 0 : `${l.rowMinHeight}px`,
          border: "0"
        }
      ];
    }), T = g(() => i.value ? null : typeof l.rowAttrs == "function" ? l.rowAttrs(r.row.data, r.index) : l.rowAttrs), F = g(() => {
      if (r.isHead || r.isFoot) return;
      l.heightTrigger;
      const Ce = l.heightBITree && !i.value && r.index ? l.heightBITree.sum(r.index) : 0;
      return {
        transform: Ce ? `translate3d(0, ${Ce}px, 0)` : void 0
      };
    }), A = g(() => a.hasDragColumn && !a.disableDragRows.has(h.value)), z = g(() => !i.value && l.rowDraggable), C = g(() => !i.value && (l.rowDraggable || A.value)), E = g(() => l.expandRenderer), P = g(() => r.isHead || r.isFoot || !a.expandColumn ? !1 : l.rightFixedColumns.length ? r.fixed === "right" : l.leftFixedColumns.length ? r.fixed === "left" : !!l.normalColumns.length && !r.fixed);
    function R() {
      let Ce;
      r.row.expanded && f.value ? Ce = f.value.scrollHeight : Ce = 0, Ce !== r.row.expandHeight && (n.setRowProp(h.value, "expandHeight", Ce), L(!0));
    }
    function L(Ce = !1) {
      if (l.heightBITree && a.visibleKeys.has(h.value) && (Ce || !r.fixed)) {
        const fe = r.row.height + r.row.expandHeight, ot = l.heightBITree, Ze = ot.get(r.index);
        fe !== Ze && (ot.add(r.index, fe - Ze), n.updateTotalHeight(), n.triggerHeightChange());
      }
    }
    function I(Ce) {
      var ot, Ze;
      const fe = ((Ze = (ot = Ce.borderBoxSize) == null ? void 0 : ot[0]) == null ? void 0 : Ze.blockSize) ?? Ce.contentRect.height;
      n.setRowProp(h.value, "height", fe), !i.value && L();
    }
    In(() => {
      r.isHead || r.isFoot || (n.setRowProp(h.value, "height", l.rowHeight || k.value), !i.value && L(), kt(() => {
        P.value && R();
      }));
    }), sn(() => {
      kt(() => {
        n.setRowProp(h.value, "height", l.rowHeight || k.value), kt(() => {
          P.value && R();
        });
      });
    });
    function G(Ce) {
      return {
        row: r.row.data,
        key: r.row.key,
        index: r.index,
        event: Ce
      };
    }
    function ee(Ce) {
      n.setHoveredRowKey(h.value), !i.value && o && o.emitRowEvent("Enter", G(Ce));
    }
    function O(Ce) {
      n.setHoveredRowKey(null), !i.value && o && o.emitRowEvent("Leave", G(Ce));
    }
    function H(Ce) {
      !i.value && o && o.emitRowEvent("Click", G(Ce));
    }
    function U(Ce) {
      !i.value && o && o.emitRowEvent("Dblclick", G(Ce));
    }
    function q(Ce) {
      !i.value && o && o.emitRowEvent("Contextmenu", G(Ce));
    }
    function Z() {
      return C.value && l.dragging;
    }
    function K(Ce) {
      !C.value && !A.value || (d.value = !0, o.handleRowDragStart(u, Ce));
    }
    function we(Ce) {
      !Z() || A.value && !a.rowDragging || (clearTimeout(c.drag), Ce.stopPropagation(), Ce.preventDefault(), p.value = !0, o.handleRowDragOver(u, Ce));
    }
    function de(Ce) {
      Z() && (clearTimeout(c.drag), Ce.stopPropagation(), Ce.preventDefault(), p.value = !1, o.handleRowDrop(u, Ce), kt(() => n.handleDrag(h.value, !1)));
    }
    function te(Ce) {
      Z() && (Ce.stopPropagation(), d.value = !0, o.handleRowDragEnd(Ce), kt(() => n.handleDrag(h.value, !1)));
    }
    function Ee(Ce) {
      Z() && (clearTimeout(c.drag), Ce.preventDefault(), c.drag = setTimeout(() => {
        p.value = !1;
      }, 100));
    }
    function Se() {
      n.setRowProp(h.value, "expandAnimate", !1);
    }
    return (Ce, fe) => t.row.hidden ? ge("", !0) : (S(), D("div", {
      key: 0,
      ref_key: "wrapper",
      ref: m,
      class: x({
        [e(s).be("group")]: !0,
        [e(s).bem("group", "checked")]: t.row.checked,
        [e(s).bem("group", "last")]: t.row.last
      }),
      role: "row",
      draggable: z.value || t.row.dragging,
      style: Qe(F.value),
      onMouseenter: ee,
      onMouseleave: O,
      onClick: H,
      onDblclick: U,
      onContextmenu: q,
      onDragstart: gt(K, ["stop"]),
      onDragover: we,
      onDrop: de,
      onDragend: te,
      onDragleave: Ee
    }, [
      y(e(zn), { "on-resize": I }, {
        default: X(() => [
          oe("div", He(T.value, {
            ref_key: "rowEl",
            ref: b,
            class: v.value,
            style: w.value
          }), [
            W(Ce.$slots, "default")
          ], 16)
        ]),
        _: 3
      }),
      P.value ? (S(), Be(e(Ul), {
        key: 0,
        disabled: !t.row.expandAnimate,
        onEnter: R,
        onLeave: R,
        onAfterEnter: Se,
        onAfterLeave: Se
      }, {
        default: X(() => [
          t.row.expanded ? (S(), D("div", {
            key: 0,
            ref_key: "expandEl",
            ref: f,
            class: x([e(s).be("expanded"), t.fixed === "right" && e(s).bem("expanded", "right")])
          }, [
            y(e(zn), {
              disabled: t.row.expandAnimate,
              "on-resize": R
            }, {
              default: X(() => [
                oe("div", {
                  class: x(e(s).be("expanded-wrapper"))
                }, [
                  e(on)(e(a).expandColumn.renderer) ? (S(), Be(e(me), {
                    key: 0,
                    renderer: e(a).expandColumn.renderer,
                    data: { leftFixed: 0, rightFixed: 0, row: t.row.data, rowIndex: t.index }
                  }, null, 8, ["renderer", "data"])) : e(on)(E.value) ? (S(), Be(e(me), {
                    key: 1,
                    renderer: E.value,
                    data: { leftFixed: 0, rightFixed: 0, row: t.row.data, rowIndex: t.index }
                  }, null, 8, ["renderer", "data"])) : ge("", !0)
                ], 2)
              ]),
              _: 1
            }, 8, ["disabled"])
          ], 2)) : ge("", !0)
        ]),
        _: 1
      }, 8, ["disabled"])) : ge("", !0)
    ], 46, uw));
  }
}), ws = /* @__PURE__ */ Xe({
  name: "TableHead",
  __name: "table-head",
  props: {
    fixed: {
      type: String,
      default: null
    }
  },
  setup(t) {
    const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Ye("table"), s = g(() => {
      const m = l.leftFixedColumns.length, b = l.allColumns[0].length - l.rightFixedColumns.length;
      return r.fixed === "left" ? l.allColumns.map((f) => f.slice(0, m)) : r.fixed === "right" ? l.allColumns.map((f) => f.slice(b, l.allColumns[0].length)) : l.allColumns.map((f) => f.slice(m, b));
    }), c = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), d = g(() => {
      var u, h;
      const m = r.fixed === "left" ? gn(a.leftFixedWidths) : r.fixed === "right" ? gn(a.rightFixedWidths) : gn(a.normalWidths), b = ((u = c.value[0]) == null ? void 0 : u.fixed) === "left" && l.sidePadding[0] || 0, f = ((h = gn(c.value)) == null ? void 0 : h.fixed) === "right" && l.sidePadding[1] || 0;
      return {
        minWidth: m && `${m + b + f}px`
      };
    });
    function p(m) {
      const b = `${Tr}${m}`;
      return l.rowMap.get(b) || n.createMinRowState(b);
    }
    return (m, b) => (S(), D("div", {
      class: x(e(o).be("head")),
      role: "rowgroup",
      style: Qe(d.value)
    }, [
      (S(!0), D(st, null, ln(s.value, (f, u) => (S(), Be(Oi, {
        key: u,
        index: u,
        "is-head": "",
        fixed: t.fixed,
        row: p(u),
        "aria-rowindex": u
      }, {
        default: X(() => [
          (S(!0), D(st, null, ln(f, (h, i) => (S(), D(st, { key: i }, [
            h ? (S(), Be(iw, {
              key: 0,
              column: h,
              index: i,
              row: p(u),
              "row-index": u,
              fixed: t.fixed,
              "aria-colindex": i
            }, null, 8, ["column", "index", "row", "row-index", "fixed", "aria-colindex"])) : ge("", !0)
          ], 64))), 128))
        ]),
        _: 2
      }, 1032, ["index", "fixed", "row", "aria-rowindex"]))), 128))
    ], 6));
  }
}), cw = ["scope", "colspan", "rowspan"], dw = /* @__PURE__ */ Xe({
  name: "TableCell",
  __name: "table-cell",
  props: {
    row: {
      type: Object,
      default: () => ({})
    },
    rowIndex: {
      type: Number,
      default: -1
    },
    column: {
      type: Object,
      default: () => ({})
    },
    colIndex: {
      type: Number,
      default: -1
    },
    fixed: {
      type: String,
      default: null
    }
  },
  setup(t) {
    const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Et(ea), s = Ye("table"), c = Gt(), { isRtl: d } = Un(), p = $(0), m = $(), b = g(() => r.column.index + h.value.colSpan >= l.columns.length), f = g(() => {
      let K = null;
      typeof l.cellClass == "function" ? K = l.cellClass({
        row: r.row.data,
        rowIndex: r.rowIndex,
        column: r.column,
        columnIndex: r.column.index
      }) : K = l.cellClass;
      const we = or.includes(r.column.type);
      return [
        s.be("cell"),
        {
          [s.bem("cell", "typed")]: we,
          [s.bem("cell", "center")]: we || r.column.textAlign === "center",
          [s.bem("cell", "right")]: r.column.textAlign === "right",
          [s.bem("cell", "last")]: b.value
        },
        r.column.class,
        K
      ];
    }), u = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), h = g(() => l.cellSpanMap.get(r.fixed || "default").get(`${r.row.index},${r.column.index}`) || { colSpan: 1, rowSpan: 1 }), i = g(() => typeof l.cellStyle == "function" ? l.cellStyle({
      row: r.row.data,
      rowIndex: r.rowIndex,
      column: r.column,
      columnIndex: r.column.index
    }) : l.cellStyle), v = g(() => {
      var ot, Ze;
      const K = r.fixed === "left" ? a.leftFixedWidths : r.fixed === "right" ? a.rightFixedWidths : a.normalWidths, { colSpan: we, rowSpan: de } = h.value, te = !a.hasFixedColumn, Ee = (te || ((ot = u.value[0]) == null ? void 0 : ot.fixed) === "left") && l.sidePadding[0] || 0, Se = (te || ((Ze = gn(u.value)) == null ? void 0 : Ze.fixed) === "right") && l.sidePadding[1] || 0, Ce = K[r.colIndex + we] - K[r.colIndex];
      let fe;
      return de > 1 && l.heightBITree && (fe = l.heightBITree.sum(r.row.listIndex + de) - l.heightBITree.sum(r.row.listIndex)), [
        r.column.style || "",
        i.value,
        {
          display: !we || !de ? "none" : void 0,
          width: `${(r.column.index ? 0 : Ee) + (b.value ? Se : 0) + Ce}px`,
          height: fe ? `${fe}px` : void 0,
          visibility: r.column.fixed && !r.fixed ? "hidden" : void 0,
          borderRightWidth: !l.border && we > 1 && r.colIndex + we >= K.length - 1 ? 0 : void 0,
          borderBottomWidth: de > 1 && r.rowIndex + de >= a.processedData.length ? 0 : void 0,
          transform: `translate3d(${d.value ? "-" : ""}${(r.column.index ? Ee : 0) + K[r.colIndex]}px, 0, 0)`
        }
      ];
    }), k = g(() => {
      let K;
      return typeof l.cellAttrs == "function" ? K = l.cellAttrs({
        row: r.row.data,
        rowIndex: r.rowIndex,
        column: r.column,
        columnIndex: r.colIndex
      }) : K = l.cellAttrs, { ...r.column.attrs || {}, ...K || {} };
    }), w = g(() => on(r.column.formatter) ? r.column.formatter : vf), T = g(() => a.usingTree && (a.indentedColumn ? r.column.key === a.indentedColumn.key : r.column.first));
    In(() => {
      E(r.column) || n.setCellHeight(r.row.key, r.column.key, p.value);
    });
    function F(K) {
      return K.type === "selection";
    }
    function A(K) {
      return K.type === "order";
    }
    function z(K) {
      return K.type === "expand";
    }
    function C(K) {
      return K.type === "drag";
    }
    function E(K) {
      return F(K) || A(K) || z(K) || C(K);
    }
    function P(K) {
      return {
        row: r.row.data,
        key: r.row.key,
        rowIndex: r.rowIndex,
        column: r.column,
        columnIndex: r.colIndex,
        event: K
      };
    }
    function R(K) {
      o == null || o.emitCellEvent("Enter", P(K));
    }
    function L(K) {
      o == null || o.emitCellEvent("Leave", P(K));
    }
    function I(K) {
      o == null || o.emitCellEvent("Click", P(K));
    }
    function G(K) {
      o == null || o.emitCellEvent("Dblclick", P(K));
    }
    function ee(K) {
      o == null || o.emitCellEvent("Contextmenu", P(K));
    }
    function O(K, we, de = !1) {
      if (!a.disableCheckRows.has(K.key)) {
        const te = !K.checked, { data: Ee, key: Se, index: Ce } = K;
        n.handleCheck(Se, te, de), o.emitRowCheck({ row: Ee, key: Se, index: Ce, event: we, checked: te });
      }
    }
    function H(K, we) {
      if (!a.disableExpandRows.has(K.key)) {
        const de = !K.expanded, { data: te, key: Ee, index: Se } = K;
        n.setRowProp(Ee, "expandAnimate", !0), kt(() => {
          n.handleExpand(Ee, de), o.emitRowExpand({ row: te, key: Ee, index: Se, event: we, expanded: de });
        });
      }
    }
    function U(K) {
      a.disableDragRows.has(K.key) || n.handleDrag(K.key, !0);
    }
    function q(K, we) {
      var Ce;
      if (!((Ce = K.children) != null && Ce.length)) return;
      const de = !K.treeExpanded, { data: te, key: Ee, index: Se } = K;
      o.runInLocked(), n.setTreeExpanded(K.key, de), o.emitRowExpand({ row: te, key: Ee, index: Se, event: we, expanded: de });
    }
    function Z(K) {
      var we, de;
      p.value = (((de = (we = K.borderBoxSize) == null ? void 0 : we[0]) == null ? void 0 : de.blockSize) ?? K.contentRect.height) + l.borderWidth;
    }
    return (K, we) => {
      var de;
      return S(), D("div", He(k.value, {
        ref_key: "wrapper",
        ref: m,
        class: f.value,
        role: "cell",
        scope: t.column.first ? "row" : void 0,
        colspan: h.value.colSpan !== 1 ? h.value.colSpan : void 0,
        rowspan: h.value.rowSpan !== 1 ? h.value.rowSpan : void 0,
        style: v.value,
        onMouseenter: R,
        onMouseleave: L,
        onClick: I,
        onDblclick: G,
        onContextmenu: ee
      }), [
        t.column.index === 0 ? (S(), D("div", {
          key: 0,
          class: x(e(s).be("side-pad")),
          role: "none",
          "aria-hidden": ""
        }, null, 2)) : ge("", !0),
        E(t.column) ? (S(), D("div", {
          key: 1,
          class: x(e(s).be("content"))
        }, [
          F(t.column) ? (S(), D(st, { key: 0 }, [
            t.column.singleSelect ? (S(), Be(e(Oo), {
              key: 0,
              inherit: "",
              label: t.row.key,
              value: t.row.checked ? t.row.key : null,
              class: x(e(s).be("selection")),
              size: t.column.selectionSize || "default",
              disabled: e(a).disableCheckRows.has(t.row.key),
              onClick: we[0] || (we[0] = gt((te) => O(t.row, te, !0), ["prevent", "stop"]))
            }, null, 8, ["label", "value", "class", "size", "disabled"])) : (S(), Be(e(xl), {
              key: 1,
              inherit: "",
              class: x(e(s).be("selection")),
              checked: t.row.checked,
              size: t.column.selectionSize || "default",
              disabled: e(a).disableCheckRows.has(t.row.key),
              partial: t.row.partial,
              control: !!((de = t.row.children) != null && de.length),
              onClick: we[1] || (we[1] = gt((te) => O(t.row, te), ["prevent", "stop"]))
            }, null, 8, ["class", "checked", "size", "disabled", "partial", "control"]))
          ], 64)) : A(t.column) ? (S(), D("span", {
            key: 1,
            class: x(e(s).be("order"))
          }, ze(t.column.orderLabel && t.column.orderLabel(t.column.truthIndex ? t.row.index : t.rowIndex)), 3)) : z(t.column) ? (S(), D(st, { key: 2 }, [
            e(a).disableExpandRows.has(t.row.key) ? ge("", !0) : (S(), D("button", {
              key: 0,
              type: "button",
              class: x({
                [e(s).be("expand")]: !0,
                [e(s).bem("expand", "active")]: t.row.expanded
              }),
              onClick: we[2] || (we[2] = gt((te) => H(t.row, te), ["stop"]))
            }, [
              y(xa, {
                name: "expand",
                origin: e(c).angleRight
              }, null, 8, ["origin"])
            ], 2))
          ], 64)) : C(t.column) ? (S(), D(st, { key: 3 }, [
            e(a).disableDragRows.has(t.row.key) ? ge("", !0) : (S(), D("button", {
              key: 0,
              type: "button",
              class: x(e(s).be("dragger")),
              onMousedown: we[3] || (we[3] = (te) => U(t.row))
            }, [
              y(xa, {
                name: "dragger",
                origin: e(c).dragger
              }, null, 8, ["origin"])
            ], 34))
          ], 64)) : ge("", !0)
        ], 2)) : (S(), Be(e(zn), {
          key: 2,
          "on-resize": Z
        }, {
          default: X(() => {
            var te;
            return [
              oe("span", {
                class: x({
                  [e(s).be("content")]: !0,
                  [e(s).bem("content", "ellipsis")]: t.column.ellipsis ?? e(l).ellipsis
                })
              }, [
                T.value ? (S(), D("div", {
                  key: 0,
                  class: x(e(s).be("tree-append"))
                }, [
                  oe("span", {
                    class: x(e(s).be("pad")),
                    style: Qe({
                      [e(s).cv("row-depth")]: t.row.depth
                    })
                  }, null, 6),
                  oe("button", {
                    type: "button",
                    class: x([
                      e(s).be("tree-expand"),
                      !((te = t.row.children) != null && te.length) && e(s).bem("tree-expand", "hidden")
                    ]),
                    onClick: we[4] || (we[4] = (Ee) => q(t.row, Ee))
                  }, [
                    t.row.treeExpanded ? (S(), Be(xa, {
                      key: 0,
                      name: "minus",
                      origin: e(c).minusSquare
                    }, null, 8, ["origin"])) : (S(), Be(xa, {
                      key: 1,
                      name: "plus",
                      origin: e(c).plusSquare
                    }, null, 8, ["origin"]))
                  ], 2)
                ], 2)) : ge("", !0),
                t.column.ellipsis ?? e(l).ellipsis ? (S(), Be(e(ts), {
                  key: 1,
                  inherit: "",
                  class: x(e(s).be("ellipsis")),
                  "tip-disabled": e(l).barScrolling,
                  "tooltip-theme": e(l).tooltipTheme,
                  "tip-max-width": e(l).tooltipWidth
                }, {
                  default: X(() => [
                    e(on)(t.column.renderer) ? (S(), Be(e(me), {
                      key: 0,
                      renderer: t.column.renderer,
                      data: { row: t.row.data, rowIndex: t.rowIndex, column: t.column, columnIndex: t.column.index }
                    }, null, 8, ["renderer", "data"])) : e(on)(t.column.accessor) ? (S(), D(st, { key: 1 }, [
                      dt(ze(w.value(t.column.accessor(t.row.data, t.rowIndex))), 1)
                    ], 64)) : (S(), D(st, { key: 2 }, [
                      dt(ze(w.value(t.row.data[t.column.key])), 1)
                    ], 64))
                  ]),
                  _: 1
                }, 8, ["class", "tip-disabled", "tooltip-theme", "tip-max-width"])) : (S(), D(st, { key: 2 }, [
                  e(on)(t.column.renderer) ? (S(), Be(e(me), {
                    key: 0,
                    renderer: t.column.renderer,
                    data: { row: t.row.data, rowIndex: t.rowIndex, column: t.column, columnIndex: t.column.index }
                  }, null, 8, ["renderer", "data"])) : e(on)(t.column.accessor) ? (S(), D(st, { key: 1 }, [
                    dt(ze(w.value(t.column.accessor(t.row.data, t.rowIndex))), 1)
                  ], 64)) : (S(), D(st, { key: 2 }, [
                    dt(ze(w.value(t.row.data[t.column.key])), 1)
                  ], 64))
                ], 64))
              ], 2)
            ];
          }),
          _: 1
        })),
        b.value ? (S(), D("div", {
          key: 3,
          class: x([e(s).be("side-pad"), e(s).bem("side-pad", "right")]),
          role: "none",
          "aria-hidden": ""
        }, null, 2)) : ge("", !0)
      ], 16, cw);
    };
  }
}), xs = /* @__PURE__ */ Xe({
  name: "TableBody",
  __name: "table-body",
  props: {
    fixed: {
      type: String,
      default: null
    }
  },
  setup(t) {
    const r = t, { state: l, getters: a } = Et(pa), n = Ye("table"), o = qe(l, "locale"), s = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), c = g(() => l.virtual ? l.virtualData : a.processedData), d = g(() => l.rightFixedColumns.length ? r.fixed === "right" : l.leftFixedColumns.length ? r.fixed === "left" : !0), p = g(() => {
      var i, v;
      const b = r.fixed === "left" ? gn(a.leftFixedWidths) : r.fixed === "right" ? gn(a.rightFixedWidths) : gn(a.normalWidths), f = ((i = s.value[0]) == null ? void 0 : i.fixed) === "left" && l.sidePadding[0] || 0, u = ((v = gn(s.value)) == null ? void 0 : v.fixed) === "right" && l.sidePadding[1] || 0, h = d.value && c.value.length === 0;
      return {
        [n.cv("right-fixed-width")]: r.fixed === "right" && b ? `${b + f + u}px` : "0px",
        [h ? "width" : "minWidth"]: b && `${b + f + u}px`,
        minHeight: `${l.totalHeight}px`
      };
    }), m = g(() => {
      const { rowHeight: b, rowMinHeight: f } = l;
      return {
        minHeight: `${b || f}px`
      };
    });
    return (b, f) => (S(), D("div", {
      class: x(e(n).be("body")),
      role: "rowgroup",
      style: Qe(p.value)
    }, [
      c.value.length ? (S(!0), D(st, { key: 0 }, ln(c.value, (u, h) => (S(), Be(Oi, {
        key: h,
        row: u,
        index: u.listIndex,
        fixed: t.fixed,
        "aria-rowindex": u.index
      }, {
        default: X(() => [
          (S(!0), D(st, null, ln(s.value, (i, v) => (S(), Be(dw, {
            key: v,
            row: u,
            "row-index": u.listIndex,
            column: i,
            "col-index": v,
            fixed: t.fixed,
            "aria-colindex": v
          }, null, 8, ["row", "row-index", "column", "col-index", "fixed", "aria-colindex"]))), 128))
        ]),
        _: 2
      }, 1032, ["row", "index", "fixed", "aria-rowindex"]))), 128)) : d.value ? (S(), D("div", {
        key: 1,
        class: x([e(n).be("empty"), t.fixed === "right" && e(n).bem("empty", "right")]),
        style: Qe(m.value)
      }, [
        W(b.$slots, "empty", {}, () => [
          dt(ze(o.value.empty), 1)
        ])
      ], 6)) : ge("", !0)
    ], 6));
  }
}), fw = ["scope", "colspan", "rowspan"], pw = /* @__PURE__ */ Xe({
  name: "TableFootCell",
  __name: "table-foot-cell",
  props: {
    row: {
      type: Object,
      default: () => ({})
    },
    column: {
      type: Object,
      default: () => ({})
    },
    colIndex: {
      type: Number,
      default: -1
    },
    summary: {
      type: Object,
      default: () => ({})
    },
    summaryIndex: {
      type: Number,
      default: -1
    },
    fixed: {
      type: String,
      default: null
    },
    above: {
      type: Boolean,
      default: !1
    }
  },
  setup(t) {
    const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Et(ea), s = Ye("table"), { isRtl: c } = Un(), d = $(), p = g(() => r.column.index + i.value.colSpan >= l.columns.length), m = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), b = g(() => r.above ? "af" : "bf"), f = g(() => r.above ? l.aboveSummaries : l.belowSummaries), u = g(() => r.above ? a.topFixedHeights : a.bottomFixedHeights), h = g(() => {
      let L = null;
      typeof l.footClass == "function" ? L = l.footClass({
        column: r.column,
        columnIndex: r.column.index,
        summary: r.summary,
        summaryIndex: r.summaryIndex
      }) : L = l.footClass;
      const I = or.includes(r.column.type);
      return [
        s.be("foot-cell"),
        {
          [s.bem("foot-cell", "typed")]: I,
          [s.bem("foot-cell", "center")]: I || r.column.textAlign === "center",
          [s.bem("foot-cell", "right")]: r.column.textAlign === "right",
          [s.bem("foot-cell", "last")]: p.value
        },
        r.column.class,
        L
      ];
    }), i = g(() => l.cellSpanMap.get(r.fixed || "default").get(`${b.value}${r.summaryIndex},${r.column.index}`) || {
      colSpan: 1,
      rowSpan: 1
    }), v = g(() => typeof l.footStyle == "function" ? l.footStyle({
      column: r.column,
      columnIndex: r.column.index,
      summary: r.summary,
      summaryIndex: r.summaryIndex
    }) : l.cellStyle), k = g(() => {
      var q, Z;
      const L = r.fixed === "left" ? a.leftFixedWidths : r.fixed === "right" ? a.rightFixedWidths : a.normalWidths, { colSpan: I, rowSpan: G } = i.value, ee = ((q = m.value[0]) == null ? void 0 : q.fixed) === "left" && l.sidePadding[0] || 0, O = ((Z = gn(m.value)) == null ? void 0 : Z.fixed) === "right" && l.sidePadding[1] || 0, H = L[r.colIndex + I] - L[r.colIndex];
      let U;
      return G > 1 && (U = u.value[r.summaryIndex + G] - u.value[r.summaryIndex]), [
        r.column.style || "",
        v.value,
        {
          display: !I || !G ? "none" : void 0,
          width: `${(r.column.index ? 0 : ee) + (p.value ? O : 0) + H}px`,
          height: U ? `${U}px` : void 0,
          visibility: r.column.fixed && !r.fixed ? "hidden" : void 0,
          borderRightWidth: !l.border && I > 1 && r.colIndex + I >= L.length - 1 ? 0 : void 0,
          borderBottomWidth: G > 1 && r.summaryIndex + G >= f.value.length ? 0 : void 0,
          transform: `translate3d(${c.value ? "-" : ""}${(r.column.index ? ee : 0) + L[r.colIndex]}px, 0, 0)`
        }
      ];
    }), w = g(() => {
      let L;
      return typeof l.footAttrs == "function" ? L = l.footAttrs({
        column: r.column,
        columnIndex: r.column.index,
        summary: r.summary,
        summaryIndex: r.summaryIndex
      }) : L = l.footAttrs, { ...r.column.attrs || {}, ...L || {} };
    }), T = g(() => a.summaryData.get(r.column.key));
    function F(L) {
      return {
        column: r.column,
        columnIndex: r.column.index,
        summary: r.summary,
        summaryIndex: r.summaryIndex,
        event: L
      };
    }
    function A(L) {
      o == null || o.emitFootEvent("Enter", F(L));
    }
    function z(L) {
      o == null || o.emitFootEvent("Leave", F(L));
    }
    function C(L) {
      o == null || o.emitFootEvent("Click", F(L));
    }
    function E(L) {
      o == null || o.emitFootEvent("Dblclick", F(L));
    }
    function P(L) {
      o == null || o.emitFootEvent("Contextmenu", F(L));
    }
    function R(L) {
      var I, G;
      n.setCellHeight(
        r.row.key,
        r.column.key,
        (((G = (I = L.borderBoxSize) == null ? void 0 : I[0]) == null ? void 0 : G.blockSize) ?? L.contentRect.height) + l.borderWidth
      );
    }
    return (L, I) => (S(), D("div", He(w.value, {
      ref_key: "wrapper",
      ref: d,
      class: h.value,
      role: "cell",
      scope: t.column.first ? "row" : void 0,
      colspan: i.value.colSpan !== 1 ? i.value.colSpan : void 0,
      rowspan: i.value.rowSpan !== 1 ? i.value.rowSpan : void 0,
      style: k.value,
      onMouseenter: A,
      onMouseleave: z,
      onClick: C,
      onDblclick: E,
      onContextmenu: P
    }), [
      t.column.index === 0 ? (S(), D("div", {
        key: 0,
        class: x(e(s).be("side-pad")),
        role: "none",
        "aria-hidden": ""
      }, null, 2)) : ge("", !0),
      e(on)(t.summary.renderer) ? (S(), Be(e(zn), {
        key: 1,
        disabled: t.column.ellipsis ?? e(l).ellipsis,
        "on-resize": R
      }, {
        default: X(() => [
          oe("span", {
            class: x({
              [e(s).be("content")]: !0,
              [e(s).bem("content", "ellipsis")]: t.column.ellipsis ?? e(l).ellipsis
            })
          }, [
            t.column.ellipsis ?? e(l).ellipsis ? (S(), Be(e(ts), {
              key: 0,
              inherit: "",
              class: x(e(s).be("ellipsis")),
              "tooltip-theme": e(l).tooltipTheme,
              "tip-max-width": e(l).tooltipWidth
            }, {
              default: X(() => [
                y(e(me), {
                  renderer: t.summary.renderer,
                  data: {
                    column: t.column,
                    index: t.column.index,
                    rows: e(l).data,
                    meta: T.value
                  }
                }, null, 8, ["renderer", "data"])
              ]),
              _: 1
            }, 8, ["class", "tooltip-theme", "tip-max-width"])) : (S(), Be(e(me), {
              key: 1,
              renderer: t.summary.renderer,
              data: {
                column: t.column,
                index: t.column.index,
                rows: e(l).data,
                meta: T.value
              }
            }, null, 8, ["renderer", "data"]))
          ], 2)
        ]),
        _: 1
      }, 8, ["disabled"])) : ge("", !0),
      p.value ? (S(), D("div", {
        key: 2,
        class: x([e(s).be("side-pad"), e(s).bem("side-pad", "right")]),
        role: "none",
        "aria-hidden": ""
      }, null, 2)) : ge("", !0)
    ], 16, fw));
  }
}), Ua = /* @__PURE__ */ Xe({
  name: "TableFoot",
  __name: "table-foot",
  props: {
    fixed: {
      type: String,
      default: null
    },
    above: {
      type: Boolean,
      default: !1
    }
  },
  setup(t) {
    const r = t, { state: l, getters: a, mutations: n } = Et(pa), o = Ye("table"), s = g(() => r.fixed === "left" ? l.leftFixedColumns : r.fixed === "right" ? l.rightFixedColumns : l.normalColumns), c = g(() => r.above ? l.aboveSummaries : l.belowSummaries), d = g(() => c.value.map((b) => {
      const f = n.buildSummaryKey(b.key), u = l.rowMap.get(f) || n.createMinRowState(f);
      return { summary: b, row: u };
    })), p = g(() => [o.be("foot"), o.bem("foot", r.above ? "above" : "below")]), m = g(() => {
      var h, i;
      const b = r.fixed === "left" ? gn(a.leftFixedWidths) : r.fixed === "right" ? gn(a.rightFixedWidths) : gn(a.normalWidths), f = ((h = s.value[0]) == null ? void 0 : h.fixed) === "left" && l.sidePadding[0] || 0, u = ((i = gn(s.value)) == null ? void 0 : i.fixed) === "right" && l.sidePadding[1] || 0;
      return {
        minWidth: b && `${b + f + u}px`
      };
    });
    return (b, f) => (S(), D("div", {
      class: x(p.value),
      role: "rowgroup",
      style: Qe(m.value)
    }, [
      (S(!0), D(st, null, ln(d.value, ({ row: u, summary: h }, i) => (S(), Be(Oi, {
        key: u.key,
        "is-foot": "",
        fixed: t.fixed,
        row: u,
        "aria-rowindex": i
      }, {
        default: X(() => [
          (S(!0), D(st, null, ln(s.value, (v, k) => (S(), Be(pw, {
            key: k,
            row: u,
            column: v,
            "col-index": k,
            summary: h,
            "summary-index": i,
            fixed: t.fixed,
            above: t.above,
            "aria-colindex": k
          }, null, 8, ["row", "column", "col-index", "summary", "summary-index", "fixed", "above", "aria-colindex"]))), 128))
        ]),
        _: 2
      }, 1032, ["fixed", "row", "aria-rowindex"]))), 128))
    ], 6));
  }
});
function mf(t) {
  function r(a) {
    let n = t.getNode(a);
    if (n)
      for (; !Tt(n.parent); ) {
        const o = n.parent, s = t.getNode(o);
        if (!s || n.checked === s.checked && n.partial === s.partial)
          break;
        n.checked ? (s.checked = s.children.every((c) => c.checked), s.partial = !s.checked) : (s.checked = !1, s.partial = s.children.some((c) => c.checked || c.partial)), n = s;
      }
  }
  function l(a) {
    const n = t.getNode(a);
    if (!n) return;
    const o = typeof t.disableNode == "function" ? t.disableNode : sa, s = n.checked, c = n.partial, d = [...n.children];
    let p;
    for (; d.length; )
      p = d.shift(), !o(p) && (p.checked = s, p.partial = c, p.children.length && d.push(...p.children));
  }
  return {
    updateCheckedUpward: r,
    updateCheckedDown: l
  };
}
const nc = Object.freeze({
  sum: NaN,
  min: NaN,
  max: NaN
});
let vw = 1;
function ao() {
  return `__vxp-table-key-${vw++}`;
}
function hw(t) {
  return t + 1;
}
const Ss = 100, hr = 10;
function mw(t) {
  const r = pt({
    ...t,
    columns: [],
    normalColumns: [],
    allColumns: [],
    summaries: [],
    data: [],
    dataKey: t.dataKey ?? Uk,
    rowData: [],
    treeRowData: [],
    width: 0,
    rightFixedColumns: [],
    leftFixedColumns: [],
    aboveSummaries: [],
    belowSummaries: [],
    rowMinHeight: t.rowMinHeight || 36,
    rowDraggable: !!t.rowDraggable,
    columnMap: /* @__PURE__ */ new Map(),
    rowMap: /* @__PURE__ */ new Map(),
    summaryMap: /* @__PURE__ */ new Map(),
    idMaps: /* @__PURE__ */ new WeakMap(),
    checkedAll: !1,
    partial: !1,
    widths: /* @__PURE__ */ new Map(),
    sorters: /* @__PURE__ */ new Map(),
    filters: /* @__PURE__ */ new Map(),
    resized: /* @__PURE__ */ new Set(),
    bodyYScroll: 0,
    bodyXScroll: 0,
    padTop: 0,
    startRow: 0,
    endRow: 0,
    dragging: !1,
    heightBITree: null,
    virtualData: [],
    totalHeight: t.rowMinHeight * t.data.length,
    colResizing: !1,
    resizeLeft: 0,
    cellSpanMap: /* @__PURE__ */ new Map(),
    collapseMap: /* @__PURE__ */ new Map(),
    sidePadding: t.sidePadding || [0, 0],
    locked: !1,
    barScrolling: !1,
    heightTrigger: 0,
    hoveredRowKey: null
  });
  O(t.columns), q(t.summaries), de(t.data);
  const l = g(() => typeof r.dataFilter == "function" ? r.rowData.filter((Q) => r.dataFilter(Q.data)) : r.rowData), a = g(() => r.customFilter ? l.value : Tn(r.filters, l.value, r.singleFilter)), n = g(() => r.customSorter ? a.value : ie(r.sorters, a.value, r.columns, r.singleSorter)), o = g(() => {
    const Q = Ae(r.currentPage, r.pageSize, n.value);
    for (let Ne = 0, nt = Q.length; Ne < nt; ++Ne)
      Q[Ne].listIndex = Ne, Q[Ne].last = Ne === nt - 1;
    return Q;
  }), s = g(() => new Set(o.value.map((Q) => Q.key))), c = g(() => {
    const Q = o.value, Ne = r.columns.find(
      (it) => it.type === "selection"
    ), nt = /* @__PURE__ */ new Set();
    if (Ne && typeof Ne.disableRow == "function") {
      const it = Ne.disableRow;
      for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
        const wt = Q[ut];
        it(wt.data) && nt.add(wt.key);
      }
    }
    return nt;
  }), d = g(() => {
    const Q = o.value, Ne = r.columns.find(
      (it) => it.type === "expand"
    ), nt = /* @__PURE__ */ new Set();
    if (Ne && typeof Ne.disableRow == "function") {
      const it = Ne.disableRow;
      for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
        const wt = Q[ut];
        it(wt.data) && nt.add(wt.key);
      }
    }
    return nt;
  }), p = g(() => {
    const Q = o.value, Ne = r.columns.find((it) => it.type === "drag"), nt = /* @__PURE__ */ new Set();
    if (Ne && typeof Ne.disableRow == "function") {
      const it = Ne.disableRow;
      for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
        const wt = Q[ut];
        it(wt.data) && nt.add(wt.key);
      }
    }
    return nt;
  }), m = g(() => !r.disabledTree && r.rowData.some((Q) => {
    var Ne;
    return (Ne = Q.children) == null ? void 0 : Ne.length;
  })), b = g(() => !!r.columns.find((Q) => "type" in Q && Q.type === "drag")), f = g(() => !!o.value.find((Q) => Q.dragging)), u = g(() => R()), h = g(() => R(r.normalColumns)), i = g(() => R(r.leftFixedColumns)), v = g(() => R(r.rightFixedColumns)), k = g(() => r.columns.find((Q) => Q.type === "expand")), w = g(() => {
    const { columns: Q, summaries: Ne, data: nt } = r, it = /* @__PURE__ */ new Map();
    if (!Ne.length) return it;
    for (const ut of Q) {
      const ht = ut.key;
      if (ut.type || ut.noSummary) {
        it.set(ht, nc);
        continue;
      }
      const wt = typeof ut.accessor == "function" ? ut.accessor : (Ue) => Ue[ht];
      let Ft = 0, At = 1 / 0, ye = -1 / 0, Le = !1;
      for (let Ue = 0, je = nt.length; Ue < je; ++Ue) {
        const Lt = wt(nt[Ue], Ue), Pt = parseFloat(Lt);
        Number.isNaN(Pt) || (Ft += Pt, At = Math.min(At, Pt), ye = Math.max(ye, Pt), Le = !0);
      }
      Le ? it.set(ht, { sum: Ft, min: At, max: ye }) : it.set(ht, nc);
    }
    return it;
  }), T = g(() => L(r.aboveSummaries)), F = g(() => L()), A = g(() => r.columns.find((Q) => !Q.type && Q.indented)), z = g(() => !!(r.leftFixedColumns.length || r.rightFixedColumns.length)), C = pt({
    filteredData: a,
    sortedData: n,
    processedData: o,
    visibleKeys: s,
    disableCheckRows: c,
    disableExpandRows: d,
    disableDragRows: p,
    usingTree: m,
    hasDragColumn: b,
    rowDragging: f,
    totalWidths: u,
    normalWidths: h,
    leftFixedWidths: i,
    rightFixedWidths: v,
    expandColumn: k,
    summaryData: w,
    topFixedHeights: T,
    bottomFixedHeights: F,
    indentedColumn: A,
    hasFixedColumn: z
  }), E = {
    // 这几个个方法被 deep watch 回调
    // 需要防止在一个微任务内被多次调用
    setColumns: Ln(O),
    // setColumns,
    setSummaries: Ln(q),
    setData: Ln(de),
    // 这个方法被大量的 watch 回调,需要防抖
    updateTotalHeight: Ln(Kt),
    isGroupColumn: G,
    buildSummaryKey: U,
    setColumnProp: H,
    setSummaryProp: Z,
    setDataKey: K,
    setCurrentPage: Se,
    setPageSize: Ce,
    setRowClass: fe,
    setRowStyle: ot,
    setRowAttrs: Ze,
    setCellClass: Je,
    setCellStyle: se,
    setCellAttrs: ne,
    setHeadClass: ue,
    setHeadStyle: J,
    setHeadAttrs: N,
    setFootClass: j,
    setFootStyle: ae,
    setFootAttrs: be,
    setTableWidth: re,
    setRowHeight: Pe,
    setRowMinHeight: at,
    setCellHeight: yt,
    setVirtual: un,
    setRowDraggable: Nt,
    setBodyYScroll: Mt,
    setBodyXScroll: Ht,
    setBorder: _t,
    setStripe: tn,
    setHighlight: Wt,
    setRowProp: qt,
    setLocale: pe,
    setTooltipTheme: Re,
    setTooltipWidth: he,
    setSingleSorter: Fe,
    setSingleFilter: lt,
    setDragging: Ke,
    setKeyConfig: Ct,
    setDisabledTree: ve,
    setNoCascaded: Ve,
    setColResizable: Ie,
    setCustomSorter: Me,
    setCustomFilter: Ge,
    setColumnResizing: mt,
    setResizeLeft: bt,
    setExpandRenderer: Ot,
    setCellSpan: Vt,
    setSidePadding: $e,
    setBorderWidth: et,
    setDataFilter: vt,
    setEllipsis: an,
    setLocked: Rn,
    setBarScrolling: wn,
    setHoveredRowKey: Te,
    handleSort: Y,
    clearSort: ke,
    handleFilter: xe,
    clearFilter: We,
    toggleFilterItemActive: jn,
    refreshRowIndex: Wn,
    handleCheck: rt,
    handleCheckAll: xt,
    clearCheckAll: Bt,
    setRenderRows: xn,
    handleExpand: qn,
    handleDrag: ul,
    collectUnderRows: we,
    setTreeExpanded: Sn,
    getParentRow: tt,
    handleColumnResize: jt,
    getCurrentData: Nn,
    createMinRowState: I,
    flatTreeRows: te,
    refreshRowDepth: Ee,
    triggerHeightChange: P,
    queryRow: Cn
  };
  In(() => {
    r.heightBITree = Rc(
      o.value.length,
      r.rowHeight || r.rowMinHeight
    ), r.totalHeight = -1, Kt();
  }), In(Zt);
  function P() {
    ++r.heightTrigger, r.heightTrigger >= Number.MAX_SAFE_INTEGER && (r.heightTrigger = 0);
  }
  function R(Q = r.columns) {
    const Ne = r.widths, nt = [0];
    let it = 0;
    for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
      const Ft = Q[ut].key, At = Ne.get(Ft) || 0;
      it += At, nt.push(it);
    }
    return nt;
  }
  function L(Q = r.belowSummaries) {
    const Ne = r.rowMap, nt = [0];
    let it = 0;
    for (let ut = 0, ht = Q.length; ut < ht; ++ut) {
      const wt = Q[ut], Ft = U(wt.key), At = Ne.get(Ft);
      At && (it += At.height || 0), nt.push(it);
    }
    return nt;
  }
  function I(Q) {
    return { key: Q, cellHeights: {}, height: r.rowHeight ?? r.rowMinHeight };
  }
  function G(Q) {
    var Ne;
    return !!((Ne = Q.children) != null && Ne.length);
  }
  function ee(Q) {
    const Ne = [], nt = [], it = /* @__PURE__ */ new Map(), ut = /* @__PURE__ */ new Set(), ht = (At) => At === !0 || At === "left" ? -1 : At === "right" ? 1 : 0, wt = (At, ye, Le = 0, Ue = []) => {
      At = At.filter(($t) => !("children" in $t) || G($t)).sort(($t, Jt) => ($t.order || 0) - (Jt.order || 0)).sort(($t, Jt) => ht($t.fixed) - ht(Jt.fixed)), ye = ye === !0 ? "left" : ye;
      const je = At, Lt = Ue[Le] ?? (Ue[Le] = []);
      let Pt = Le > 0 ? Ue[Le - 1].length - 1 : 0;
      for (const { ...$t } of je) {
        if (Tt(ye) || ($t.fixed = ye), Lt[Pt] = $t, G($t)) {
          const Jt = wt($t.children, $t.fixed, Le + 1, Ue);
          $t.key = Symbol("TableColumnGroup"), $t.headSpan = Jt - Pt, Pt = Jt;
        } else {
          const Jt = $t.type && or.includes($t.type);
          Jt && (ut.has($t.type) && console.warn(`[vexip-ui:Table] Table has duplicate column with type '${$t.type}'`), ut.add($t.type));
          let fn = $t.key;
          Tt(fn) && (Jt ? fn = `__vxp_${$t.type}` : (console.warn("[vexip-ui:Table] Table column requires key prop, but missing"), fn = ao())), $t.key = fn, nt.push($t), Pt += 1;
        }
        it.set($t.key, $t);
      }
      return Pt;
    };
    wt(Q, void 0, 0, Ne);
    let Ft = 0;
    for (const At of Ne)
      Ft = Math.max(At.length, Ft);
    for (const At of Ne)
      At.length && (gn(At).last = !0), At.length = Ft;
    for (let At = 0, ye = Ne.length; At < Ft; ++At) {
      let Le = 1;
      for (let Ue = ye - 1; Ue >= 0; --Ue) {
        const je = Ne[Ue][At];
        je ? (je.colIndex = At, je.rowSpan = Le, Le = 1) : ++Le;
      }
    }
    return { allColumns: Ne, baseColumns: nt, columnMap: it };
  }
  function O(Q) {
    const { widths: Ne, sorters: nt, filters: it } = r, { allColumns: ut, baseColumns: ht, columnMap: wt } = ee(Q), Ft = [], At = [], ye = [];
    for (let Le = 0, Ue = ht.length; Le < Ue; ++Le) {
      const je = ht[Le];
      if (je.first = !1, je.last = !1, je.index = Le, je.type && or.includes(je.type)) {
        switch (je.type) {
          case "order": {
            je.truthIndex = !!je.truthIndex, typeof je.orderLabel != "function" && (je.orderLabel = hw), Tt(je.width) && (je.width = 60, je.minWidth = 60);
            break;
          }
          case "selection": {
            je.selectionSize = je.selectionSize || "default", typeof je.disableRow != "function" && (je.disableRow = sa), Tt(je.width) && (je.width = 40, je.minWidth = 40);
            break;
          }
          case "expand": {
            typeof je.disableRow != "function" && (je.disableRow = sa), Tt(je.width) && (je.width = 40, je.minWidth = 40);
            break;
          }
          case "drag": {
            typeof je.disableRow != "function" && (je.disableRow = sa), Tt(je.width) && (je.width = 40, je.minWidth = 40);
            break;
          }
        }
        je.key || (je.key = `__vxp_${je.type}-${Le}`);
      } else
        je.type = void 0;
      Ne.set(
        je.key,
        typeof je.width == "string" ? hr : Math.round(
          cn(
            je.width || Ss,
            je.minWidth || hr,
            je.maxWidth || 1 / 0
          )
        )
      ), nt.set(je.key, Pn(je.sorter)), it.set(je.key, mn(je.filter));
      const Lt = je.fixed;
      Lt === !0 || Lt === "left" ? ye.push(je) : Lt === "right" ? At.push(je) : Ft.push(je);
    }
    if (r.allColumns.length > ut.length)
      for (let Le = ut.length - 1, Ue = r.allColumns.length; Le < Ue; ++Le)
        r.rowMap.delete(`${Tr}${Le}`);
    for (let Le = 0, Ue = ut.length; Le < Ue; ++Le) {
      const je = `${Tr}${Le}`;
      r.rowMap.set(je, I(je));
    }
    if (r.columnMap = wt, r.columns = Array.from(ye).concat(Ft, At), r.normalColumns = Ft, r.allColumns = ut, r.columns.length) {
      for (const Le of r.columns)
        if (!Le.type) {
          Le.first = !0;
          break;
        }
      gn(r.columns).last = !0;
    }
    ye.length && (r.leftFixedColumns = ye), At.length && (r.rightFixedColumns = At);
  }
  function H(Q, Ne, nt) {
    r.columnMap.has(Q) && (r.columnMap.get(Q)[Ne] = nt);
  }
  function U(Q) {
    return typeof Q == "symbol" ? Q : `${Xk}${Q}`;
  }
  function q(Q) {
    Q = Array.from(Q).sort((ht, wt) => (ht.order || 0) - (wt.order || 0));
    const Ne = new Set(r.summaries.map((ht) => ht.key)), nt = [], it = [], ut = /* @__PURE__ */ new Map();
    for (let ht = 0, wt = Q.length; ht < wt; ++ht) {
      const Ft = { ...Q[ht] };
      let At = Ft.key;
      if (Tt(At) && (console.error("[vexip-ui:Table] Table summary requires key prop, but missing"), At = ao()), Ft.key = At, (Ft.above ? nt : it).push(Ft), !Ne.has(Ft.key)) {
        const ye = U(Ft.key);
        r.rowMap.set(ye, I(ye));
      }
      Ne.delete(Ft.key), ut.set(Ft.key, Ft);
    }
    if (r.summaries = Array.from(nt).concat(it), r.summaryMap = ut, nt.length && (r.aboveSummaries = nt), it.length && (r.belowSummaries = it), Ne.size)
      for (const ht of Ne)
        r.rowMap.delete(U(ht));
  }
  function Z(Q, Ne, nt) {
    r.summaryMap.has(Q) && (r.summaryMap.get(Q)[Ne] = nt);
  }
  function K(Q) {
    const Ne = r.dataKey;
    if (!Tt(Q) && Ne !== Q) {
      const { rowData: nt, idMaps: it } = r;
      r.dataKey = Q, nt.forEach((ut) => {
        let ht = ut.data[Q];
        Tt(ht) && (ht = ao()), ut.key = ht, it.set(ut.data, ht);
      });
    }
  }
  function we(Q, Ne = []) {
    var nt;
    if (Q.treeExpanded && ((nt = Q.children) != null && nt.length))
      for (const it of Q.children)
        Ne.push(it), we(it, Ne);
    return Ne;
  }
  function de(Q) {
    const Ne = [], nt = /* @__PURE__ */ new Map(), { allColumns: it, dataKey: ut, keyConfig: ht, idMaps: wt, disabledTree: Ft } = r, At = r.rowMap, ye = !!r.virtual, {
      children: Le,
      checked: Ue,
      height: je,
      expanded: Lt,
      treeExpanded: Pt
    } = ht;
    for (let Jt = 0, fn = it.length; Jt < fn; ++Jt) {
      const $n = `${Tr}${Jt}`;
      nt.set($n, At.get($n) || I($n));
    }
    for (const Jt of r.summaries) {
      const fn = U(Jt.key);
      nt.set(fn, At.get(fn) || I(fn));
    }
    const $t = (Jt, fn, $n) => {
      for (let Fn = 0, Xn = Jt.length; Fn < Xn; ++Fn) {
        const bn = Jt[Fn];
        let rl = bn[ut];
        Tt(rl) && (rl = wt.get(bn), Tt(rl) && (rl = ao()));
        let yn;
        if (At.has(rl)) {
          yn = At.get(rl);
          const {
            [Ue]: ha,
            [je]: Na,
            [Lt]: Il,
            [Pt]: Ur
          } = yn.data !== bn ? Object.assign(yn.data, bn) : yn.data;
          yn.checked = Tt(ha) ? yn.checked : !!ha, yn.height = Tt(Na) ? yn.height : rn(Na), yn.expanded = Tt(Il) ? yn.expanded : !!Il, yn.treeExpanded = Tt(Ur) ? yn.treeExpanded : !!Ur;
        } else {
          const {
            [Ue]: ha,
            [je]: Na,
            [Lt]: Il,
            [Pt]: Ur
          } = bn;
          yn = {
            key: rl,
            hidden: ye,
            checked: !!ha,
            height: rn(Na),
            expanded: !!Il,
            hover: !1,
            expandHeight: 0,
            index: -1,
            children: [],
            depth: 0,
            treeExpanded: !!Ur,
            partial: !1,
            dragging: !1,
            listIndex: 0,
            cellHeights: pt({}),
            last: !1,
            expandAnimate: !1,
            data: bn
          }, wt.set(bn, rl);
        }
        $n && (yn.parent = $n.key, yn.depth = $n.depth + 1), yn.children = [];
        const ta = yn.data[Le];
        ta != null && ta.length && $t(ta, yn.children, yn), fn.push(yn), nt.set(rl, yn);
      }
    };
    $t(Q, Ne), r.rowMap = nt, r.treeRowData = Ne, Ft ? r.rowData = Ne : te(), r.data = Q, Wn(), Ut();
  }
  function te() {
    if (r.disabledTree) return;
    const Q = [];
    for (const Ne of r.treeRowData)
      Q.push(Ne), we(Ne, Q);
    r.rowData = Q;
  }
  function Ee() {
    so(r.treeRowData, (Q, Ne) => {
      Q.depth = Ne;
    });
  }
  function Se(Q) {
    r.currentPage = Q ?? 1;
  }
  function Ce(Q) {
    r.pageSize = Q || 0;
  }
  function fe(Q) {
    r.rowClass = Q ?? "";
  }
  function ot(Q) {
    r.rowStyle = Q ?? "";
  }
  function Ze(Q) {
    r.rowAttrs = Q ?? null;
  }
  function Je(Q) {
    r.cellClass = Q ?? "";
  }
  function se(Q) {
    r.cellStyle = Q ?? "";
  }
  function ne(Q) {
    r.cellAttrs = Q ?? null;
  }
  function ue(Q) {
    r.headClass = Q ?? "";
  }
  function J(Q) {
    r.headStyle = Q ?? "";
  }
  function N(Q) {
    r.headAttrs = Q ?? null;
  }
  function j(Q) {
    r.footClass = Q ?? "";
  }
  function ae(Q) {
    r.footStyle = Q ?? "";
  }
  function be(Q) {
    r.footAttrs = Q ?? null;
  }
  function re(Q) {
    Q = rn(Q);
    const { columns: Ne, widths: nt, resized: it } = r, ut = [];
    let ht = Q;
    for (let ye = 0, Le = Ne.length; ye < Le; ++ye) {
      const Ue = Ne[ye], { minWidth: je, maxWidth: Lt } = Ue;
      if (it.has(Ue.key))
        ht -= nt.get(Ue.key);
      else if (Ue.width)
        if (typeof Ue.width == "string") {
          const Pt = cn(rn(Ue.width), 0, 100);
          if (Pt) {
            const $t = Math.round(
              cn(
                Q * Pt / 100,
                je || hr,
                Lt || 1 / 0
              )
            );
            ht -= $t, nt.set(Ue.key, $t);
          } else
            ut.push(Ue);
        } else {
          const Pt = Math.round(
            cn(
              Ue.width || Ss,
              je || hr,
              Lt || 1 / 0
            )
          );
          ht -= Pt, nt.set(Ue.key, Pt);
        }
      else
        ut.push(Ue);
    }
    const wt = ut.length, Ft = ce(ut, ht);
    let At = 0;
    for (let ye = 0; ye < wt; ++ye) {
      const Le = ut[ye], Ue = Math[ye % 2 ? "ceil" : "floor"](Ft[ye]);
      ye < wt - 1 && (At += Ue), nt.set(Le.key, Ue);
    }
    wt && ht >= At + gn(Ft) && nt.set(gn(ut).key, ht - At), r.width = Q;
  }
  function ce(Q, Ne) {
    const nt = Q.length, it = Math.max(Ne / nt, Ss), ut = Q.map((Ue) => {
      let je = it;
      return Ue.minWidth != null && (je = Math.max(je, Ue.minWidth)), Ue.maxWidth != null && (je = Math.min(je, Ue.maxWidth)), je;
    }), ht = ut.reduce((Ue, je) => Ue + je, 0);
    let wt = Ne - ht;
    const Ft = (Ue) => Q[Ue].maxWidth == null || ut[Ue] < Q[Ue].maxWidth, At = (Ue) => Q[Ue].minWidth == null || ut[Ue] > Q[Ue].minWidth, ye = 0.1;
    let Le = !1;
    for (; Math.abs(wt) > ye; ) {
      const Ue = ut.map((Lt, Pt) => wt > 0 && Ft(Pt) || wt < 0 && At(Pt) ? Pt : -1).filter((Lt) => Lt !== -1);
      if (Ue.length === 0) {
        Le = !1;
        break;
      }
      const je = wt / Ue.length;
      for (const Lt of Ue) {
        const Pt = ut[Lt];
        let $t = Pt + je;
        Q[Lt].minWidth != null && ($t = Math.max($t, Q[Lt].minWidth)), Q[Lt].maxWidth != null && ($t = Math.min($t, Q[Lt].maxWidth)), wt -= $t - Pt, ut[Lt] = $t;
      }
      Le = !0;
    }
    return !Le && wt > ye && (ut[nt - 1] += wt), ut;
  }
  function Pe(Q) {
    r.rowHeight = Q;
  }
  function at(Q) {
    r.rowMinHeight = Q;
  }
  function yt(Q, Ne, nt) {
    !Tt(nt) && r.rowMap.has(Q) && (r.rowMap.get(Q).cellHeights[Ne] = nt);
  }
  function Nt(Q) {
    r.rowDraggable = !!Q;
  }
  function Mt(Q) {
    r.bodyYScroll = Q;
  }
  function Ht(Q) {
    r.bodyXScroll = Q;
  }
  function _t(Q) {
    r.border = !!Q;
  }
  function tn(Q) {
    r.stripe = !!Q;
  }
  function Wt(Q) {
    r.highlight = !!Q;
  }
  function un(Q) {
    r.virtual = !!Q;
  }
  function qt(Q, Ne, nt) {
    const it = r.rowMap.get(Q);
    it && it[Ne] !== nt && (it[Ne] = nt);
  }
  function pe(Q) {
    r.locale = Q;
  }
  function Re(Q) {
    r.tooltipTheme = Q;
  }
  function he(Q) {
    r.tooltipWidth = Q;
  }
  function Fe(Q) {
    r.singleSorter = !!Q;
  }
  function lt(Q) {
    r.singleFilter = !!Q;
  }
  function Ke(Q) {
    r.dragging = !!Q;
  }
  function Ct(Q) {
    r.keyConfig = Q;
  }
  function ve(Q) {
    r.disabledTree = !!Q;
  }
  function Ve(Q) {
    r.noCascaded = !!Q;
  }
  function Ie(Q) {
    r.colResizable = Q === !0 ? "lazy" : Q;
  }
  function Me(Q) {
    r.customSorter = !!Q;
  }
  function Ge(Q) {
    r.customFilter = !!Q;
  }
  function mt(Q) {
    r.colResizing = !!Q;
  }
  function bt(Q) {
    r.resizeLeft = Q;
  }
  function Ot(Q) {
    r.expandRenderer = Q;
  }
  function Vt(Q) {
    r.cellSpan = Q;
  }
  function $e(Q) {
    r.sidePadding = Array.isArray(Q) ? Q : [Q, Q];
  }
  function et(Q) {
    r.borderWidth = Math.max(Q, 0);
  }
  function vt(Q) {
    r.dataFilter = Q;
  }
  function an(Q) {
    r.ellipsis = Q;
  }
  function Rn(Q) {
    r.locked = Q;
  }
  function wn(Q) {
    r.barScrolling = Q;
  }
  function Te(Q) {
    if (r.hoveredRowKey !== Q) {
      const Ne = r.hoveredRowKey && r.rowMap.get(r.hoveredRowKey), nt = Q && r.rowMap.get(Q);
      Ne && (Ne.hover = !1), nt && (nt.hover = !0);
    }
    r.hoveredRowKey = Q;
  }
  function Y(Q, Ne) {
    r.sorters.has(Q) && (r.singleSorter && Ne && ke(), r.sorters.get(Q).type = Ne);
  }
  function ke() {
    const Q = r.sorters;
    for (const Ne of Q.values())
      Ne.type = null;
  }
  function xe(Q, Ne) {
    r.filters.has(Q) && (r.singleFilter && (Array.isArray(Ne) ? Ne.length : Ne) && We(), r.filters.get(Q).active = Array.isArray(Ne) ? Array.from(Ne) : Ne);
  }
  function We() {
    const Q = r.filters;
    for (const Ne of Q.values()) {
      Ne.active = null;
      for (const nt of Ne.options)
        nt.active = !1;
    }
  }
  const { updateCheckedUpward: V, updateCheckedDown: De } = mf({
    getNode: (Q) => r.rowMap.get(Q),
    disableNode: (Q) => c.value.has(Q.key)
  });
  function _e(Q) {
    const { rowMap: Ne, rowData: nt } = r, { disableCheckRows: it } = C;
    if (!Ne.has(Q)) return;
    const ut = [Ne.get(Q)].concat(
      // 需要包含被禁用且被勾选的节点
      nt.filter((ht) => it.has(ht.key) && ht.checked)
    );
    for (let ht = 0, wt = ut.length; ht < wt; ++ht)
      V(ut[ht].key), De(ut[ht].key);
  }
  function rt(Q, Ne, nt = !1) {
    const { rowMap: it, noCascaded: ut } = r, { disableCheckRows: ht } = C, wt = it.get(Q);
    wt && (nt && (Bt(!0), wt.checked = !!Ne), ht.has(Q) || (wt.checked = !!Ne, wt.partial = !1), !ut && _e(Q), Ut());
  }
  function xt() {
    const { rowData: Q, checkedAll: Ne } = r, { disableCheckRows: nt } = C;
    let it = !Ne;
    if (nt.size) {
      let ut = !0;
      for (const ht of Q)
        if (!nt.has(ht.key) && !ht.checked) {
          ut = !1;
          break;
        }
      it = !ut;
    }
    for (const ut of Q)
      nt.has(ut.key) || (ut.checked = it);
    r.checkedAll = it, r.partial = !1, Ut();
  }
  function Bt(Q = !1) {
    const { rowData: Ne } = r, { disableCheckRows: nt } = C;
    for (const it of Ne)
      (Q || !nt.has(it.key)) && (it.checked = !1), Q && (it.partial = !1);
    r.checkedAll = !1, r.partial = !1, !Q && Ut();
  }
  function Ut() {
    const Q = r.rowData;
    let Ne = !1, nt = !1, it = !1;
    for (let ut = 0, ht = Q.length; ut < ht; ++ut)
      if (Q[ut].checked ? Ne = !0 : nt = !0, Ne && nt) {
        it = !0;
        break;
      }
    Ne && !it ? r.checkedAll = !0 : r.checkedAll = !1, r.partial = it;
  }
  function xn(Q, Ne, nt = !1) {
    const { startRow: it, endRow: ut, heightBITree: ht, virtualData: wt } = r;
    if (!nt && Q === it && Ne === ut) return;
    const { processedData: Ft } = C;
    if (!Ft.length) {
      wt.length = 0;
      return;
    }
    const At = /* @__PURE__ */ new Set([...wt]), ye = [], Le = [];
    for (let je = 0, Lt = Ft.length; je < Lt; ++je) {
      const Pt = Ft[je];
      Pt.hidden = !(je >= Q && je < Ne), Pt.hidden ? (Pt.hover = !1, At.has(Pt) && Le.push(Pt)) : At.has(Pt) || ye.push(Pt), At.delete(Pt);
    }
    Le.push(...At);
    const Ue = Math.min(ye.length, Le.length);
    for (let je = 0; je < Ue; ++je)
      wt[wt.indexOf(Le[je])] = ye[je];
    ye.length > Le.length ? wt.push(...ye.slice(Ue)) : ye.length < Le.length && (r.virtualData = wt.filter((je) => !Le.includes(je))), r.padTop = (ht == null ? void 0 : ht.sum(Q)) ?? 0, r.startRow = Q, r.endRow = Ne;
  }
  function qn(Q, Ne) {
    const { rowMap: nt } = r, { disableExpandRows: it } = C;
    nt.has(Q) && !it.has(Q) && (nt.get(Q).expanded = !!Ne);
  }
  function ul(Q, Ne) {
    const { rowMap: nt } = r, { disableDragRows: it } = C;
    nt.has(Q) && !it.has(Q) && (nt.get(Q).dragging = !!Ne);
  }
  function Sn(Q, Ne) {
    var Ft;
    if (!m.value) return;
    const { rowMap: nt, rowData: it, virtual: ut } = r, ht = nt.get(Q);
    if (!((Ft = ht == null ? void 0 : ht.children) != null && Ft.length)) return;
    const wt = we({ ...ht, treeExpanded: !0 });
    Ne ? it.splice(ht.index + 1, 0, ...wt) : it.splice(ht.index + 1, wt.length), ht.treeExpanded = !!Ne, Wn(), ut && xn(r.startRow, r.endRow, !0);
  }
  function jn(Q) {
    const { key: Ne, value: nt, active: it = !1, disableOthers: ut = !1 } = Q;
    if (r.filters.has(Ne)) {
      const ht = r.filters.get(Ne).options;
      if (ut)
        for (let Ft = 0, At = ht.length; Ft < At; ++Ft)
          ht[Ft].active = !1;
      const wt = ht.find((Ft) => Ft.value === nt);
      wt && (wt.active = it);
    }
  }
  function Wn() {
    const Q = r.rowData;
    for (let Ne = 0, nt = Q.length; Ne < nt; ++Ne)
      Q[Ne].index = Ne;
  }
  function Kt() {
    const { heightBITree: Q } = r;
    Q ? r.totalHeight = Q.sum() ?? 0 : r.totalHeight = 0;
  }
  function Pn(Q = !1) {
    const Ne = typeof Q == "boolean" ? { able: Q } : Q, { able: nt = !0, type: it = null, order: ut = 0, method: ht = null } = Ne;
    return { able: nt, type: it, order: ut, method: ht };
  }
  function mn(Q) {
    Q = Q || { able: !1, options: [] };
    const {
      able: Ne = !0,
      custom: nt = !1,
      multiple: it = !1,
      active: ut = null,
      method: ht = null,
      meta: wt
    } = Q, Ft = Ic(Q.options ?? []), At = [];
    for (let ye = 0, Le = Ft.length; ye < Le; ++ye) {
      const Ue = Ft[ye], je = typeof Ue == "string" ? { value: Ue } : { ...Ue };
      je.label = je.label ?? je.value.toString();
      let Lt = !1;
      it && Array.isArray(ut) ? Lt = ut.includes(je.value) : Tt(ut) || (Lt = Object.is(je.value, ut)), je.active = Lt, At.push(je);
    }
    return { able: Ne, custom: nt, meta: wt, options: At, multiple: it, active: ut, method: ht };
  }
  function Tn(Q, Ne, nt) {
    const it = [], ut = [];
    for (const wt of Q.values()) {
      const { able: Ft, active: At, method: ye } = wt;
      if (Ft && At && typeof ye == "function" && (it.push(wt), nt))
        break;
    }
    const ht = it.length;
    for (let wt = 0, Ft = Ne.length; wt < Ft; ++wt) {
      const At = Ne[wt];
      let ye = !0;
      for (let Le = 0; Le < ht; Le++) {
        const { active: Ue, method: je } = it[Le];
        if (ye = je(Ue, At.data), !ye)
          break;
      }
      ye && ut.push(At);
    }
    return ut;
  }
  function ie(Q, Ne, nt, it) {
    const ut = [];
    for (const [ht, wt] of Q) {
      const Ft = ht, { able: At, type: ye, order: Le, method: Ue } = wt;
      if (At && ye) {
        const je = nt.find((Pt) => Pt.key === Ft), Lt = je == null ? void 0 : je.accessor;
        if (ut.push({
          able: At,
          key: Ft,
          order: Le,
          type: ye,
          method: Ue ?? void 0,
          accessor(Pt) {
            return typeof Lt == "function" ? Lt(Pt.data, Pt.index) : Pt.data[Ft];
          }
        }), it) break;
      }
    }
    return ut.sort((ht, wt) => ht.order - wt.order), Hp(Ne, ut);
  }
  function Ae(Q, Ne, nt) {
    return Ne > 0 ? nt.slice((Q - 1) * Ne, Q * Ne) : nt;
  }
  function tt(Q) {
    const { rowMap: Ne } = r, nt = Ne.get(Q);
    return Tt(nt == null ? void 0 : nt.parent) ? null : Ne.get(nt.parent) ?? null;
  }
  let St;
  function jt(Q, Ne) {
    const { resized: nt, widths: it, columns: ut, columnMap: ht, width: wt } = r, Ft = Q.length;
    if (!ut.length || !Ft) return;
    const At = Ne / Ft, ye = gn(ut).key;
    for (let Ue = 0; Ue < Ft; ++Ue) {
      const je = Q[Ue], Lt = ht.get(je);
      if (!Lt) continue;
      const Pt = Ft === 1 ? Math.round(At) : Math[Ue % 2 ? "ceil" : "floor"](At), { minWidth: $t, maxWidth: Jt } = Lt;
      nt.add(je), it.set(je, cn(Pt, $t || hr, Jt || 1 / 0));
    }
    let Le = 0;
    for (const Ue of it.values())
      Le += Ue;
    Le = _n(Le, 1), Le - it.get(ye) < wt - (St ?? it.get(ye)) ? (St || (St = it.get(ye)), it.set(ye, it.get(ye) + wt - Le)) : St && (it.set(ye, St), St = void 0);
  }
  function Zt() {
    const {
      normalColumns: Q,
      leftFixedColumns: Ne,
      rightFixedColumns: nt,
      aboveSummaries: it,
      belowSummaries: ut,
      rowData: ht,
      cellSpanMap: wt,
      collapseMap: Ft
    } = r, { processedData: At } = C;
    for (const Le of ["left", "default", "right"])
      wt.set(Le, /* @__PURE__ */ new Map()), Ft.set(Le, /* @__PURE__ */ new Map());
    function ye(Le, Ue, je, Lt, Pt = "") {
      const $t = `${Pt}${Le},${Ue}`, Jt = Ft.get(je);
      if (Jt.has($t)) {
        wt.get(je).set($t, { colSpan: 0, rowSpan: 0 });
        return;
      }
      const fn = Lt(), { colSpan: $n, rowSpan: Fn } = fn;
      for (let Xn = 0; Xn < $n; ++Xn)
        for (let bn = 0; bn < Fn; ++bn) {
          if (!Xn && !bn) continue;
          const rl = `${Pt}${Le + bn},${Ue + Xn}`;
          let yn = Jt.get(rl);
          yn || (yn = /* @__PURE__ */ new Set(), Jt.set(rl, yn)), yn.add($t);
        }
      wt.get(je).set($t, fn);
    }
    for (const Le of [Q, Ne, nt]) {
      if (!Le.length) continue;
      const Ue = Le[0].fixed === !0 ? "left" : Le[0].fixed || "default", je = Le[0].fixed === !0 ? "left" : Le[0].fixed || void 0, Lt = r.leftFixedColumns.length, Pt = r.allColumns[0].length - r.rightFixedColumns.length;
      let $t;
      Ue === "left" ? $t = r.allColumns.map((Jt) => Jt.slice(0, Lt)) : Ue === "right" ? $t = r.allColumns.map(
        (Jt) => Jt.slice(Pt, r.allColumns[0].length)
      ) : $t = r.allColumns.map((Jt) => Jt.slice(Lt, Pt));
      for (let Jt = 0, fn = $t.length; Jt < fn; ++Jt) {
        const $n = $t[Jt];
        for (let Fn = 0, Xn = $n.length; Fn < Xn; ++Fn) {
          const bn = $n[Fn];
          if (!bn) continue;
          const rl = bn.fixed === !0 ? "left" : bn.fixed || "default";
          ye(
            Jt,
            Fn,
            rl,
            () => {
              const yn = rl === "left" ? Ne : rl === "right" ? nt : Q;
              return { colSpan: cn(bn.headSpan ?? 1, 0, yn.length - Fn), rowSpan: bn.rowSpan };
            },
            "h"
          );
        }
      }
      for (let Jt = 0, fn = Le.length; Jt < fn; ++Jt) {
        const $n = Le[Jt];
        for (const Fn of ht)
          ye(Fn.index, $n.index, Ue, () => {
            let Xn;
            typeof $n.cellSpan == "function" ? Xn = $n.cellSpan({
              row: Fn.data,
              index: Fn.index,
              fixed: je
            }) : typeof r.cellSpan == "function" && (Xn = r.cellSpan({
              row: Fn.data,
              rowIndex: Fn.index,
              column: $n,
              columnIndex: $n.index,
              fixed: je
            })), Xn = Xn || { colSpan: 1, rowSpan: 1 };
            const bn = { colSpan: Xn.colSpan ?? 1, rowSpan: Xn.rowSpan ?? 1 };
            return bn.colSpan = cn(bn.colSpan, 0, Le.length - Jt), bn.rowSpan = cn(bn.rowSpan, 0, At.length - Fn.listIndex), bn;
          });
        for (const { prefix: Fn, summaries: Xn } of [
          { prefix: "af", summaries: it },
          { prefix: "bf", summaries: ut }
        ])
          for (let bn = 0, rl = Xn.length; bn < rl; ++bn) {
            const yn = Xn[bn];
            ye(
              bn,
              $n.index,
              Ue,
              () => {
                let ta;
                typeof yn.cellSpan == "function" && (ta = yn.cellSpan({
                  column: $n,
                  index: $n.index,
                  fixed: je
                }));
                const { colSpan: ha, rowSpan: Na } = ta || { colSpan: 1, rowSpan: 1 }, Il = { colSpan: ha ?? 1, rowSpan: Na ?? 1 };
                return Il.colSpan = cn(Il.colSpan, 0, Le.length - Jt), Il.rowSpan = cn(Il.rowSpan, 0, Xn.length - bn), Il;
              },
              Fn
            );
          }
      }
    }
  }
  function Nn() {
    const { treeRowData: Q, disabledTree: Ne, keyConfig: nt } = r;
    return Ne ? Q.map((it) => ({ ...it.data })) : Bc(Q, (it) => ({ ...it.data }), {
      childField: nt.children
    });
  }
  function Cn(Q) {
    const { dataKey: Ne, rowMap: nt, idMaps: it } = r;
    let ut;
    return typeof Q == "object" ? ut = it.get(Q) ?? Q[Ne] : ut = Q, Tt(ut) ? void 0 : nt.get(ut);
  }
  return { state: r, getters: C, mutations: E };
}
const bw = ["aria-rowcount"], gw = {
  role: "none",
  "aria-hidden": ""
}, yw = /* @__PURE__ */ Xe({
  name: "Table",
  __name: "table",
  props: Kk,
  emits: ["update:data"],
  setup(t, { expose: r, emit: l }) {
    const a = {
      id: "id",
      children: "children",
      checked: "checked",
      height: "height",
      expanded: "expanded",
      treeExpanded: "treeExpanded"
    }, o = ct("table", t, {
      locale: null,
      columns: {
        default: () => [],
        static: !0
      },
      summaries: {
        default: () => [],
        static: !0
      },
      data: {
        default: () => [],
        static: !0
      },
      width: null,
      height: null,
      minHeight: null,
      rowClass: null,
      rowStyle: null,
      rowAttrs: null,
      stripe: !1,
      border: !1,
      highlight: !1,
      useXBar: !1,
      useYBar: !1,
      barFade: 1500,
      rowDraggable: !1,
      rowHeight: {
        default: null,
        validator: (ye) => ye > 0
      },
      rowMinHeight: {
        default: 36,
        validator: (ye) => ye > 0
      },
      virtual: !1,
      bufferCount: {
        default: 5,
        validator: (ye) => ye >= 0
      },
      scrollClass: () => ({}),
      expandRenderer: {
        default: null,
        isFunc: !0
      },
      currentPage: {
        default: 1,
        validator: (ye) => ye > 0,
        static: !0
      },
      pageSize: 0,
      transparent: !1,
      tooltipTheme: {
        default: "dark",
        validator: (ye) => ["light", "dark"].includes(ye)
      },
      tooltipWidth: 500,
      singleSorter: !1,
      singleFilter: !1,
      cellClass: null,
      cellStyle: null,
      cellAttrs: null,
      headClass: null,
      headStyle: null,
      headAttrs: null,
      footClass: null,
      footStyle: null,
      footAttrs: null,
      customSorter: !1,
      customFilter: !1,
      keyConfig: () => ({}),
      disabledTree: !1,
      rowIndent: "16px",
      noCascaded: !1,
      colResizable: !1,
      cellSpan: {
        default: null,
        isFunc: !0
      },
      sidePadding: 0,
      icons: () => ({}),
      borderWidth: 1,
      dataFilter: {
        default: null,
        isFunc: !0
      },
      noTransition: !1,
      ellipsis: !1,
      slots: () => ({})
    }), s = l, c = kn(), d = Ye("table"), { timer: p } = Vn(), m = $(o.height), b = $(o.height || 0), f = $(!1), u = $(!1), h = $(0), i = $(0), v = $(0), k = $(0), w = $(!1), T = $(aa.BEFORE), F = pt(/* @__PURE__ */ new Set()), A = pt(/* @__PURE__ */ new Set()), z = $(), C = $(!1), E = $(0), P = $(), R = $(), L = $(), I = $(), G = $(), ee = $(), O = $(), H = $(), U = $(), q = $(), Z = $();
    let K = !1;
    const we = vn("table", qe(o, "locale")), de = g(() => ({ ...a, ...o.keyConfig })), te = g(() => Array.from(F)), Ee = g(() => Array.from(A)), Se = [
      "rowClass",
      "rowStyle",
      "rowAttrs",
      "cellClass",
      "cellStyle",
      "cellAttrs",
      "headClass",
      "headStyle",
      "headAttrs",
      "footClass",
      "footStyle",
      "footAttrs",
      "border",
      "stripe",
      "highlight",
      "currentPage",
      "pageSize",
      "rowHeight",
      "rowMinHeight",
      "rowDraggable",
      "tooltipTheme",
      "tooltipWidth",
      "singleSorter",
      "singleFilter",
      "customSorter",
      "customFilter",
      "noCascaded",
      "colResizable",
      "expandRenderer",
      "cellSpan",
      "sidePadding",
      "borderWidth",
      "dataFilter",
      "ellipsis"
    ], Ce = mw({
      ...Se.reduce(
        (ye, Le) => (ye[Le] = o[Le], ye),
        {}
      ),
      columns: te.value,
      summaries: Ee.value,
      data: o.data,
      dataKey: de.value.id,
      virtual: o.virtual,
      locale: we.value,
      keyConfig: de.value,
      disabledTree: o.disabledTree,
      colResizable: o.colResizable === !0 ? "lazy" : o.colResizable,
      sidePadding: Array.isArray(o.sidePadding) ? o.sidePadding : [o.sidePadding, o.sidePadding]
    });
    nn(pa, Ce), nn(ea, {
      increaseColumn: We,
      decreaseColumn: V,
      increaseSummary: De,
      decreaseSummary: _e,
      getTableElement: xn,
      refreshXScroll: qn,
      emitRowCheck: ul,
      emitAllRowCheck: Sn,
      emitRowExpand: jn,
      emitRowTreeExpand: Wn,
      emitRowFilter: Kt,
      emitRowSort: Pn,
      handleRowDragStart: Tn,
      handleRowDragOver: ie,
      handleRowDrop: tt,
      handleRowDragEnd: St,
      emitRowEvent: jt,
      emitCellEvent: Zt,
      emitHeadEvent: Nn,
      emitColResize: Cn,
      emitFootEvent: Q,
      hasIcon: (ye) => !!o.icons[ye],
      getIcon: (ye) => o.icons[ye],
      renderTableSlot: At,
      runInLocked: it,
      updateColumns: () => Ln(rt),
      setColumnProp: xt,
      updateSummaries: () => Ln(Bt),
      setSummaryProp: Ut
    }), nn(pf, c);
    const { state: fe, getters: ot, mutations: Ze } = Ce, Je = g(() => o.noTransition || fe.locked || fe.barScrolling), se = g(() => ({
      [d.b()]: !0,
      [d.bs("vars")]: !0,
      [d.bm("inherit")]: o.inherit,
      [d.bm("stripe")]: o.stripe,
      [d.bm("border")]: o.border,
      [d.bm("highlight")]: o.highlight,
      [d.bm("use-y-bar")]: o.useYBar,
      [d.bm("transparent")]: o.transparent,
      [d.bm("virtual")]: o.virtual,
      [d.bm("col-resizable")]: o.colResizable,
      [d.bm("col-resizing")]: fe.colResizing,
      [d.bm("locked")]: Je.value,
      [d.bm("above-foot")]: fe.aboveSummaries.length,
      [d.bm("below-foot")]: fe.belowSummaries.length,
      [d.bm("using-bar")]: fe.barScrolling
    })), ne = g(() => {
      const ye = z.value ?? o.width, [Le, Ue] = fe.sidePadding, je = {
        [d.cv("row-indent-width")]: typeof o.rowIndent == "number" ? `${o.rowIndent}px` : o.rowIndent,
        [d.cv("b-width")]: `${o.borderWidth}px`,
        [d.cv("viewport-width")]: `${E.value}px`
      };
      return Le && (je[d.cv("side-pad-left")] = `${Le}px`), Ue && (je[d.cv("side-pad-right")] = `${Ue}px`), dn(ye) && (typeof ye == "number" || tr(ye, !0) ? (je.width = `${ye}px`, je.minWidth = `${ye}px`) : je.width = ye), je;
    }), ue = g(() => !!(dn(o.width) || fe.leftFixedColumns.length || fe.rightFixedColumns.length)), J = g(() => {
      const { totalHeight: ye } = fe;
      return m.value ? Math.min(m.value, ye) : void 0;
    }), N = g(() => {
      var ye;
      return ((ye = R.value) == null ? void 0 : ye.xBarLength) || 35;
    }), j = g(() => {
      const { totalHeight: ye } = fe;
      return J.value && ye && Math.max(Math.min(J.value / ye * 100, 99), 5) || 35;
    }), ae = g(() => (gn(ot.totalWidths) || 0) + (fe.sidePadding[0] || 0) + (fe.sidePadding[1] || 0)), be = g(() => f.value && h.value > 0), re = g(() => f.value && h.value < 100), {
      setColumns: ce,
      setSummaries: Pe,
      setData: at,
      setDataKey: yt,
      setTableWidth: Nt,
      setBodyYScroll: Mt,
      setBodyXScroll: Ht,
      setRenderRows: _t,
      setVirtual: tn,
      setLocale: Wt,
      setDragging: un,
      setKeyConfig: qt,
      setDisabledTree: pe,
      setLocked: Re,
      setBarScrolling: he,
      clearSort: Fe,
      clearFilter: lt,
      refreshRowIndex: Ke,
      clearCheckAll: Ct,
      getParentRow: ve,
      getCurrentData: Ve,
      flatTreeRows: Ie,
      refreshRowDepth: Me,
      queryRow: Ge,
      handleCheck: mt,
      setTreeExpanded: bt
    } = Ze;
    le(te, rt), le(Ee, Bt), le(() => de.value.id, yt), le(() => o.data, $e, { deep: !0 }), le(() => o.width, et), le([() => o.height, () => o.borderWidth], () => {
      kt(vt);
    }), le(we, Wt, { deep: !0 }), le(
      () => o.virtual,
      (ye) => {
        tn(ye), at(o.data), ut();
      }
    ), le(
      de,
      (ye) => {
        qt(ye), at(o.data);
      },
      { deep: !0 }
    ), le(
      () => o.disabledTree,
      (ye) => {
        pe(ye), at(o.data);
      }
    ), le([() => o.rowHeight, () => o.rowMinHeight], () => {
      nt();
    });
    for (const ye of Se) {
      const Le = Ze[`set${ye.charAt(0).toLocaleUpperCase()}${ye.slice(1)}`];
      le(() => o[ye], Le);
    }
    function Ot() {
      var ye, Le;
      (ye = q.value) == null || ye.handleScroll(h.value), (Le = Z.value) == null || Le.handleScroll(i.value);
    }
    const Vt = da(nt);
    sn(() => {
      K = !0, le(J, ut), nt(), window.addEventListener("resize", Vt), kt(() => {
        C.value = ot.hasDragColumn;
      }), R.value && (f.value = R.value.enableXScroll, u.value = R.value.enableYScroll);
    }), pn(() => {
      K = !1, window.removeEventListener("resize", Vt);
    }), r({
      bodyHeight: m,
      xScrollEnabled: f,
      yScrollEnabled: u,
      xScrollPercent: h,
      yScrollPercent: i,
      headHeight: v,
      footHeight: k,
      indicatorShow: w,
      bodyScrollHeight: J,
      totalWidths: ae,
      totalHeight: g(() => fe.totalHeight),
      locked: Je,
      store: Ce,
      wrapper: P,
      mainScroll: R,
      xHeadScroll: L,
      xAboveScroll: I,
      xBelowScroll: G,
      thead: ee,
      aboveTfoot: O,
      belowTfoot: H,
      indicator: U,
      xScrollbar: q,
      yScrollbar: Z,
      clearSort: Fe,
      clearFilter: lt,
      clearSelected: Ct,
      refresh: nt,
      refreshData: $e,
      getSelected: ht,
      getData: Ve,
      selectRow: wt,
      treeExpandRow: Ft
    });
    function $e(ye = o.data) {
      return it(() => {
        at(ye), kt(() => Ne(!0)), ut();
      });
    }
    function et() {
      const ye = o.width;
      dn(ye) && (typeof ye == "string" && parseFloat(ye).toString() !== ye ? z.value = ye : z.value = `${rn(ye)}px`), kt(() => {
        var Le;
        (Le = R.value) != null && Le.content && Nt(R.value.content.offsetWidth), qn();
      });
    }
    function vt() {
      const ye = o.height, Le = o.minHeight, Ue = o.borderWidth;
      let je = 0;
      ee.value || O.value || H.value ? (ee.value && (je = ee.value.offsetHeight), O.value && (je += O.value.offsetHeight), H.value && (je = H.value.offsetHeight)) : je = o.rowHeight || o.rowMinHeight, je += 2 * Ue, dn(ye) ? m.value = ye - je : m.value = void 0, dn(Le) ? b.value = Math.min(Le, ye ?? 1 / 0) - je : b.value = 0;
    }
    function an(ye) {
      fe.barScrolling || (ye.type !== "vertical" && Rn(ye), ye.type !== "horizontal" && wn(ye));
    }
    function Rn({ clientX: ye, percentX: Le }) {
      fe.barScrolling || (h.value = Le, Ht(ye), Ot(), _(o.onScroll, {
        type: "horizontal",
        client: ye,
        percent: Le
      }));
    }
    function wn({ clientY: ye, percentY: Le }) {
      fe.barScrolling || (i.value = Le, Mt(ye), Ot(), ke(ye, Le));
    }
    function Te(ye) {
      if (!R.value) return;
      const Le = R.value.xScrollLimit * ye / 100;
      h.value = ye, Ht(Le), _(o.onScroll, { type: "horizontal", client: Le, percent: ye });
    }
    function Y(ye) {
      const { totalHeight: Le } = fe, Ue = ye * (Le - (J.value ?? 0)) / 100;
      i.value = ye, Mt(Ue), ke(Ue, ye);
    }
    function ke(ye, Le) {
      it(), qa(Ne), _(o.onScroll, { type: "vertical", client: ye, percent: Le });
    }
    function xe() {
      var ye;
      (ye = R.value) != null && ye.content && (E.value = R.value.content.offsetWidth), K && nt();
    }
    function We(ye) {
      F.add(ye);
    }
    function V(ye) {
      F.delete(ye);
    }
    function De(ye) {
      A.add(ye);
    }
    function _e(ye) {
      A.delete(ye);
    }
    function rt() {
      it(() => {
        ce(te.value), K && et(), kt(() => {
          C.value = ot.hasDragColumn;
        });
      });
    }
    function xt(ye, Le, Ue) {
      Ze.setColumnProp(ye, Le, Ue);
    }
    function Bt() {
      it(() => {
        Pe(Ee.value);
      });
    }
    function Ut(ye, Le, Ue) {
      Ze.setSummaryProp(ye, Le, Ue);
    }
    function xn() {
      return P.value;
    }
    function qn() {
      var ye, Le, Ue, je;
      (ye = R.value) == null || ye.refresh(), (Le = L.value) == null || Le.refresh(), (Ue = I.value) == null || Ue.refresh(), (je = G.value) == null || je.refresh();
    }
    function ul(ye) {
      _(o.onRowCheck, ye);
    }
    function Sn(ye, Le) {
      _(o.onRowCheckAll, ye, Le);
    }
    function jn(ye) {
      _(o.onRowExpand, ye);
    }
    function Wn(ye) {
      _(o.onRowTreeExpand, ye);
    }
    function Kt() {
      const { columns: ye, filters: Le } = fe, Ue = Rs(ye, "key"), je = Array.from(Le.keys()).filter((Lt) => Le.get(Lt).active).map((Lt) => {
        const Pt = Ue[Lt];
        return {
          name: Pt.name,
          key: Pt.key,
          meta: Pt.meta,
          active: Le.get(Lt).active
        };
      });
      Ne(!0), _(
        o.onRowFilter,
        je,
        ot.filteredData.map((Lt) => Lt.data)
      );
    }
    function Pn() {
      const { columns: ye, sorters: Le } = fe, Ue = Rs(ye, "key"), je = Array.from(Le.keys()).filter((Lt) => Le.get(Lt).type).map((Lt) => {
        const Pt = Ue[Lt], $t = Le.get(Lt);
        return {
          name: Pt.name,
          key: Pt.key,
          meta: Pt.meta,
          type: $t.type,
          order: $t.order
        };
      });
      Ne(!0), _(
        o.onRowSort,
        je,
        ot.sortedData.map((Lt) => Lt.data)
      );
    }
    let mn;
    function Tn(ye, Le) {
      mn = {
        draggingRow: ye.row,
        tableRect: P.value.getBoundingClientRect(),
        willDropRow: null,
        dropType: aa.BEFORE,
        dropped: !1
      }, un(!0), _(o.onRowDragStart, ye.row.data, Le);
    }
    function ie(ye, Le) {
      if (!mn || !ye.el) return;
      const Ue = ye.el.getBoundingClientRect(), je = mn.tableRect, Lt = fe.disabledTree ? 0.5 : 0.25, Pt = fe.disabledTree ? 0.5 : 0.75, $t = Le.clientY - Ue.top, Jt = Ue.height;
      let fn, $n = -9999, Fn = !0;
      $t < Jt * Lt ? (fn = aa.BEFORE, $n = Ue.top - je.top) : $t >= Jt * Pt ? (fn = aa.AFTER, $n = Ue.bottom - je.top) : (fn = aa.INNER, Fn = !1), U.value && (U.value.style.top = `${$n - 2}px`), mn.willDropRow = ye.row, mn.dropType = fn, w.value = Fn, T.value = fn, _(o.onRowDragOver, ye.row.data, Le);
    }
    function Ae(ye, Le) {
      if (!ye || !Le) return !0;
      for (; ye; ) {
        if (ye === Le || ye.key === Le.key)
          return !0;
        ye = ve(ye.key);
      }
      return !1;
    }
    function tt(ye, Le) {
      var Jt;
      if (!mn) return;
      const { draggingRow: Ue, willDropRow: je, dropType: Lt } = mn;
      if (!je || Ae(je, Ue)) return;
      let Pt, $t;
      if (Ue && ($t = ve(Ue.key), $t || ($t = {
        children: fe.treeRowData
      }), Pt = Ue.key, Ho($t.children, (fn) => fn.key === Pt), (Jt = $t.children) != null && Jt.length || ($t.treeExpanded = !1)), Lt === aa.INNER) {
        Array.isArray(je.children) || (je.children = []);
        const fn = Array.from(je.children);
        fn.push(Ue), je.children = fn, je.treeExpanded = !0, Ue.parent = je.key;
      } else {
        Pt = je.key, $t = ve(je.key), $t || ($t = {
          children: fe.treeRowData
        });
        const fn = $t.children.findIndex(($n) => $n.key === Pt);
        ~fn && ($t.children.splice(+(Lt === aa.AFTER) + fn, 0, Ue), Ue.parent = $t.key);
      }
      mn.dropped = !0, Me(), Ie(), Ke(), _(o.onRowDrop, ye.row.data, Lt, Le);
    }
    function St(ye) {
      if (!mn) return;
      const { draggingRow: Le, dropped: Ue } = mn;
      mn = null, w.value = !1, kt(() => {
        const je = Ue ? Ve() : fe.data;
        un(!1), Ue && s("update:data", je), _(o.onRowDragEnd, Le.data, je, ye);
      });
    }
    function jt(ye, Le) {
      _(o[`onRow${ye}`], Le);
    }
    function Zt(ye, Le) {
      _(o[`onCell${ye}`], Le);
    }
    function Nn(ye, Le) {
      _(o[`onHead${ye}`], Le);
    }
    function Cn(ye, Le) {
      _(o[`onColResize${ye}`], Le);
    }
    function Q(ye, Le) {
      _(o[`onFoot${ye}`], Le);
    }
    function Ne(ye = !1) {
      const { totalHeight: Le, bodyYScroll: Ue, heightBITree: je } = fe, { processedData: Lt } = ot, Pt = Lt.length;
      if (!o.virtual) {
        _t(0, Pt, ye);
        return;
      }
      const $t = Math.max(
        Math.min(m.value || 0, J.value || 0),
        b.value
      );
      $t || _t(0, 0, ye);
      let Jt = Ue, fn = Ue + $t;
      fn > Le && (fn = Le, Jt = fn - $t);
      const $n = je.boundIndex(Jt), Fn = je.boundIndex(fn), Xn = Math.max($n - o.bufferCount, 0), bn = Math.min(Fn + o.bufferCount + 1, Pt);
      _t(Xn, bn, ye);
    }
    function nt() {
      return it(() => {
        kt(et), setTimeout(() => {
          vt(), ut(), qa(Ne);
        }, 0);
      });
    }
    async function it(ye = Qt, Le = 250) {
      return clearTimeout(p.locked), Re(!0), await ye(), new Promise((Ue) => {
        p.locked = setTimeout(() => {
          Re(!1), Ue();
        }, Le);
      });
    }
    function ut() {
      clearTimeout(p.scroll), p.scroll = setTimeout(() => {
        const { totalHeight: ye, bodyYScroll: Le } = fe;
        i.value = Math.max(
          Math.min(Le / (ye - (J.value ?? 0) || 1) * 100, 100),
          0
        ), Ot(), kt(() => {
          vt();
        }), it(), qa(Ne);
      }, 10);
    }
    function ht() {
      const ye = fe.rowData, Le = [];
      for (let Ue = 0, je = ye.length; Ue < je; ++Ue) {
        const Lt = ye[Ue];
        Lt.checked && Le.push(Lt.data);
      }
      return Le;
    }
    function wt(ye, Le) {
      const Ue = Ge(ye);
      !Ue || ot.disableCheckRows.has(Ue.key) || mt(Ue.key, Le ?? !Ue.checked);
    }
    function Ft(ye, Le) {
      const Ue = Ge(ye);
      Ue && (it(), bt(Ue.key, Le ?? !Ue.treeExpanded));
    }
    function At({ name: ye }) {
      return W(c, ye);
    }
    return (ye, Le) => (S(), D("div", {
      ref_key: "wrapper",
      ref: P,
      class: x(se.value),
      role: "table",
      style: Qe(ne.value),
      "aria-rowcount": e(o).data.length
    }, [
      el(oe("div", gw, [
        W(ye.$slots, "default"),
        (S(!0), D(st, null, ln(e(o).columns, (Ue, je) => (S(), D(st, {
          key: Ue.key ?? `__inner-column-${je}`
        }, [
          "children" in Ue ? (S(), Be(e(Di), He({
            key: 0,
            ref_for: !0
          }, Ue), null, 16)) : (S(), Be(e(Ni), He({
            key: 1,
            ref_for: !0
          }, Ue, {
            "id-key": Ue.key
          }), null, 16, ["id-key"]))
        ], 64))), 128)),
        (S(!0), D(st, null, ln(e(o).summaries, ({ key: Ue, ...je }, Lt) => (S(), Be(e(hf), He({ ref_for: !0 }, je, {
          key: `__inner-summary-${Lt}`,
          "id-key": Ue
        }), null, 16, ["id-key"]))), 128))
      ], 512), [
        [tl, !1]
      ]),
      oe("div", {
        ref_key: "thead",
        ref: ee,
        class: x(e(d).be("head-wrapper"))
      }, [
        y(e(Al), {
          ref_key: "xHeadScroll",
          ref: L,
          inherit: "",
          mode: "horizontal",
          "scroll-only": "",
          class: x([e(d).be("wrapper"), e(o).scrollClass.horizontal]),
          "scroll-x": e(fe).bodyXScroll,
          onScroll: Rn
        }, {
          default: X(() => [
            e(fe).leftFixedColumns.length ? (S(), D("div", {
              key: 0,
              class: x({
                [e(d).bem("fixed", "left")]: !0,
                [e(d).bem("fixed", "active")]: be.value
              })
            }, [
              y(ws, { fixed: "left" })
            ], 2)) : ge("", !0),
            y(ws),
            e(fe).rightFixedColumns.length ? (S(), D("div", {
              key: 1,
              class: x({
                [e(d).bem("fixed", "right")]: !0,
                [e(d).bem("fixed", "active")]: re.value
              })
            }, [
              y(ws, { fixed: "right" })
            ], 2)) : ge("", !0)
          ]),
          _: 1
        }, 8, ["class", "scroll-x"])
      ], 2),
      e(fe).aboveSummaries.length ? (S(), D("div", {
        key: 0,
        ref_key: "aboveTfoot",
        ref: O,
        class: x([e(d).be("foot-wrapper"), e(d).bem("foot-wrapper", "above")])
      }, [
        y(e(Al), {
          ref_key: "xAboveScroll",
          ref: I,
          inherit: "",
          mode: "horizontal",
          "scroll-only": "",
          class: x([e(d).be("wrapper"), e(o).scrollClass.horizontal]),
          "scroll-x": e(fe).bodyXScroll,
          onScroll: Rn
        }, {
          default: X(() => [
            e(fe).leftFixedColumns.length ? (S(), D("div", {
              key: 0,
              class: x({
                [e(d).bem("fixed", "left")]: !0,
                [e(d).bem("fixed", "active")]: be.value
              })
            }, [
              y(Ua, {
                fixed: "left",
                above: ""
              })
            ], 2)) : ge("", !0),
            y(Ua, { above: "" }),
            e(fe).rightFixedColumns.length ? (S(), D("div", {
              key: 1,
              class: x({
                [e(d).bem("fixed", "right")]: !0,
                [e(d).bem("fixed", "active")]: re.value
              })
            }, [
              y(Ua, {
                fixed: "right",
                above: ""
              })
            ], 2)) : ge("", !0)
          ]),
          _: 1
        }, 8, ["class", "scroll-x"])
      ], 2)) : ge("", !0),
      oe("div", {
        class: x([
          e(d).be("body-wrapper"),
          e(fe).totalHeight >= b.value && e(d).bem("body-wrapper", "scrolled")
        ]),
        style: Qe({
          ...!J.value && e(fe).totalHeight ? {
            height: `${e(fe).totalHeight}px`,
            transition: e(o).noTransition || e(fe).locked ? void 0 : `height ${e(d).gnv("transition-base")}`
          } : void 0,
          minHeight: `${b.value}px`
        })
      }, [
        y(e(Al), {
          ref_key: "mainScroll",
          ref: R,
          inherit: "",
          mode: "both",
          "scroll-only": "",
          "observe-deep": "",
          class: x([e(d).be("wrapper"), e(o).scrollClass.major]),
          "bar-class": e(d).bem("bar", "horizontal"),
          height: J.value,
          "scroll-x": e(fe).bodyXScroll,
          "scroll-y": e(fe).bodyYScroll,
          onScroll: an,
          onXEnabledChange: Le[0] || (Le[0] = (Ue) => f.value = Ue),
          onYEnabledChange: Le[1] || (Le[1] = (Ue) => u.value = Ue),
          onResize: xe
        }, {
          default: X(() => [
            e(fe).leftFixedColumns.length ? (S(), D("div", {
              key: 0,
              class: x({
                [e(d).bem("fixed", "left")]: !0,
                [e(d).bem("fixed", "active")]: be.value
              }),
              style: Qe({ minHeight: `${e(fe).totalHeight}px` })
            }, [
              y(xs, { fixed: "left" }, nl({ _: 2 }, [
                c.empty || e(o).slots.empty ? {
                  name: "empty",
                  fn: X(() => [
                    W(ye.$slots, "empty", {}, () => [
                      y(e(me), {
                        renderer: e(o).slots.empty
                      }, null, 8, ["renderer"])
                    ])
                  ]),
                  key: "0"
                } : void 0
              ]), 1024)
            ], 6)) : ge("", !0),
            y(xs, null, nl({ _: 2 }, [
              c.empty || e(o).slots.empty ? {
                name: "empty",
                fn: X(() => [
                  W(ye.$slots, "empty", {}, () => [
                    y(e(me), {
                      renderer: e(o).slots.empty
                    }, null, 8, ["renderer"])
                  ])
                ]),
                key: "0"
              } : void 0
            ]), 1024),
            e(fe).rightFixedColumns.length ? (S(), D("div", {
              key: 1,
              class: x({
                [e(d).bem("fixed", "right")]: !0,
                [e(d).bem("fixed", "active")]: re.value
              }),
              style: Qe({ minHeight: `${e(fe).totalHeight}px` })
            }, [
              y(xs, { fixed: "right" }, nl({ _: 2 }, [
                c.empty || e(o).slots.empty ? {
                  name: "empty",
                  fn: X(() => [
                    W(ye.$slots, "empty", {}, () => [
                      y(e(me), {
                        renderer: e(o).slots.empty
                      }, null, 8, ["renderer"])
                    ])
                  ]),
                  key: "0"
                } : void 0
              ]), 1024)
            ], 6)) : ge("", !0)
          ]),
          _: 3
        }, 8, ["class", "bar-class", "height", "scroll-x", "scroll-y"])
      ], 6),
      e(fe).belowSummaries.length ? (S(), D("div", {
        key: 1,
        ref_key: "belowTfoot",
        ref: H,
        class: x([e(d).be("foot-wrapper"), e(d).bem("foot-wrapper", "below")])
      }, [
        y(e(Al), {
          ref_key: "xBelowScroll",
          ref: G,
          inherit: "",
          mode: "horizontal",
          "scroll-only": "",
          class: x([e(d).be("wrapper"), e(o).scrollClass.horizontal]),
          "bar-class": e(d).bem("bar", "horizontal"),
          "bar-fade": e(o).barFade,
          "scroll-x": e(fe).bodyXScroll,
          onScroll: Rn
        }, {
          default: X(() => [
            e(fe).leftFixedColumns.length ? (S(), D("div", {
              key: 0,
              class: x({
                [e(d).bem("fixed", "left")]: !0,
                [e(d).bem("fixed", "active")]: be.value
              })
            }, [
              y(Ua, { fixed: "left" })
            ], 2)) : ge("", !0),
            y(Ua),
            e(fe).rightFixedColumns.length ? (S(), D("div", {
              key: 1,
              class: x({
                [e(d).bem("fixed", "right")]: !0,
                [e(d).bem("fixed", "active")]: re.value
              })
            }, [
              y(Ua, { fixed: "right" })
            ], 2)) : ge("", !0)
          ]),
          _: 1
        }, 8, ["class", "bar-class", "bar-fade", "scroll-x"])
      ], 2)) : ge("", !0),
      e(o).useXBar && ue.value ? (S(), Be(e(Ma), {
        key: 2,
        ref_key: "xScrollbar",
        ref: q,
        inherit: "",
        placement: "bottom",
        class: x(e(d).bem("bar", "horizontal")),
        fade: e(o).barFade,
        disabled: !f.value,
        "bar-length": N.value,
        style: Qe({ bottom: `${k.value}px` }),
        onScrollStart: Le[2] || (Le[2] = (Ue) => e(he)(!0)),
        onScroll: Te,
        onScrollEnd: Le[3] || (Le[3] = (Ue) => e(he)(!1))
      }, null, 8, ["class", "fade", "disabled", "bar-length", "style"])) : ge("", !0),
      e(o).useYBar && J.value ? (S(), Be(e(Ma), {
        key: 3,
        ref_key: "yScrollbar",
        ref: Z,
        inherit: "",
        placement: "right",
        class: x(e(d).bem("bar", "vertical")),
        fade: e(o).barFade,
        disabled: !u.value,
        "bar-length": j.value,
        style: Qe({
          top: v.value ? `${v.value}px` : void 0,
          bottom: k.value ? `${k.value}px` : void 0
        }),
        onScrollStart: Le[4] || (Le[4] = (Ue) => e(he)(!0)),
        onScroll: Y,
        onScrollEnd: Le[5] || (Le[5] = (Ue) => e(he)(!1))
      }, null, 8, ["class", "fade", "disabled", "bar-length", "style"])) : ge("", !0),
      e(o).rowDraggable || C.value ? el((S(), D("div", {
        key: 4,
        ref_key: "indicator",
        ref: U,
        class: x([
          e(d).be("indicator"),
          T.value === "before" && e(d).bem("indicator", "before"),
          T.value === "after" && e(d).bem("indicator", "after")
        ])
      }, null, 2)), [
        [tl, w.value]
      ]) : ge("", !0),
      e(fe).colResizable === "lazy" ? el((S(), D("div", {
        key: 5,
        class: x(e(d).be("resize-indicator")),
        style: Qe({ left: `${e(fe).resizeLeft}px` })
      }, null, 6)), [
        [tl, e(fe).colResizing]
      ]) : ge("", !0)
    ], 14, bw));
  }
});
function cS(t) {
  return t;
}
function dS(t) {
  return t;
}
function fS(t) {
  return t;
}
function pS(t) {
  return t;
}
function vS(t) {
  return t;
}
function hS(t) {
  return t;
}
const kw = /* @__PURE__ */ Xe({
  name: "Tabs",
  __name: "tabs",
  props: Hk,
  emits: ["update:active"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("tabs", t, {
      active: {
        default: null,
        static: !0
      },
      card: !1,
      align: "left",
      placement: "top",
      closable: !1,
      showAdd: !1,
      lazy: !1,
      lazyLoad: !1,
      slots: () => ({})
    }), o = l, s = kn(), c = Ye("tabs"), d = $(n.active), p = $(0), m = pt(/* @__PURE__ */ new Set()), b = $(!1), f = g(() => Array.from(m)), u = Ln(() => {
      f.value.forEach((A, z) => {
        Tt(A.label) && (A.label = z + 1);
      }), f.value.length >= 1 && i() && (d.value = f.value[0].label);
    }), h = Ln(() => {
      const A = f.value.findIndex((z) => z.label === d.value);
      ~A && (p.value = A);
    });
    nn(
      uf,
      pt({
        currentActive: d,
        lazy: qe(n, "lazy"),
        lazyLoad: qe(n, "lazyLoad"),
        handleActive: w,
        increaseItem: v,
        decreaseItem: k,
        refreshLabels: u
      })
    ), le(
      () => n.active,
      (A) => {
        d.value = A;
      }
    ), sn(h), r({
      currentActive: d,
      inTransition: b,
      itemList: f,
      handleActive: w,
      handleAdd: T,
      handleClose: F
    });
    function i() {
      return Tt(d.value) || d.value === "";
    }
    function v(A) {
      m.add(A), u();
    }
    function k(A) {
      m.delete(A), u();
    }
    function w(A) {
      d.value = A, h(), o("update:active", A), _(n.onChange, A);
    }
    function T() {
      _(n.onAdd);
    }
    function F(A) {
      _(n.onClose, A);
    }
    return (A, z) => (S(), D("div", {
      class: x([e(c).b(), e(c).bm(e(n).placement), e(n).inherit && e(c).bm("inherit")])
    }, [
      oe("div", {
        class: x(e(c).be("header"))
      }, [
        y(e(sf), {
          inherit: "",
          active: d.value,
          card: e(n).card,
          align: e(n).align,
          placement: e(n).placement,
          closable: e(n).closable,
          "show-add": e(n).showAdd,
          onChange: w,
          onAdd: T,
          onClose: F
        }, nl({
          default: X(() => [
            (S(!0), D(st, null, ln(f.value, (C, E) => (S(), Be(e(Ii), {
              key: E,
              label: C.label,
              icon: C.icon,
              disabled: C.disabled,
              closable: C.closable
            }, {
              default: X(() => [
                e(on)(C.labelRenderer) ? (S(), Be(e(me), {
                  key: 0,
                  renderer: C.labelRenderer,
                  data: { label: C.label, disabled: C.disabled }
                }, null, 8, ["renderer", "data"])) : (S(), D(st, { key: 1 }, [
                  dt(ze(C.name || C.label), 1)
                ], 64))
              ]),
              _: 2
            }, 1032, ["label", "icon", "disabled", "closable"]))), 128)),
            s.add || e(n).slots.add ? W(A.$slots, "add", { key: 0 }, () => [
              y(e(me), {
                renderer: e(n).slots.add
              }, null, 8, ["renderer"])
            ]) : ge("", !0),
            s.marker || e(n).slots.marker ? W(A.$slots, "marker", { key: 1 }, () => [
              y(e(me), {
                renderer: e(n).slots.marker
              }, null, 8, ["renderer"])
            ]) : ge("", !0)
          ]),
          _: 2
        }, [
          s.prefix || e(n).slots.prefix ? {
            name: "prefix",
            fn: X(() => [
              W(A.$slots, "prefix", {}, () => [
                y(e(me), {
                  renderer: e(n).slots.prefix
                }, null, 8, ["renderer"])
              ])
            ]),
            key: "0"
          } : void 0,
          s.suffix || e(n).slots.suffix ? {
            name: "suffix",
            fn: X(() => [
              W(A.$slots, "suffix", {}, () => [
                y(e(me), {
                  renderer: e(n).slots.suffix
                }, null, 8, ["renderer"])
              ])
            ]),
            key: "1"
          } : void 0
        ]), 1032, ["active", "card", "align", "placement", "closable", "show-add"])
      ], 2),
      oe("div", {
        class: x({
          [e(c).be("main")]: !0,
          [e(c).bem("main", "transition")]: b.value
        }),
        onTransitionend: z[0] || (z[0] = (C) => b.value = !1)
      }, [
        W(A.$slots, "default")
      ], 34)
    ], 2));
  }
}), ww = ft({
  state: Zn,
  locale: Mn(),
  value: String,
  placeholder: String,
  rows: Number,
  noResize: M,
  autofocus: M,
  spellcheck: M,
  autocomplete: hn,
  readonly: M,
  disabled: M,
  debounce: M,
  delay: Number,
  maxLength: Number,
  hideCount: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  sync: M,
  controlClass: Bn,
  controlAttrs: Object,
  name: String,
  onFocus: B(),
  onBlur: B(),
  onInput: B(),
  onChange: B(),
  onEnter: B(),
  onKeyDown: B(),
  onKeyPress: B(),
  onKeyUp: B(),
  onCompositionStart: B(),
  onCompositionEnd: B()
}), xw = ["id"], Sw = ["value", "rows", "autofocus", "autocomplete", "spellcheck", "disabled", "readonly", "placeholder", "maxlength", "name", "aria-labelledby"], Cw = /* @__PURE__ */ Xe({
  name: "Textarea",
  __name: "textarea",
  props: ww,
  emits: ["update:value"],
  setup(t, { expose: r, emit: l }) {
    const { idFor: a, state: n, labelId: o, disabled: s, loading: c, validateField: d, getFieldValue: p, setFieldValue: m } = al(() => {
      var te;
      return (te = A.value) == null ? void 0 : te.focus();
    }), f = ct("textarea", t, {
      state: ll(n),
      locale: null,
      value: {
        default: () => p(),
        static: !0
      },
      placeholder: null,
      rows: 2,
      noResize: !1,
      autofocus: !1,
      spellcheck: !1,
      autocomplete: !1,
      readonly: !1,
      disabled: () => s.value,
      debounce: !1,
      delay: null,
      maxLength: 0,
      hideCount: !1,
      loading: () => c.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      sync: !1,
      controlClass: null,
      controlAttrs: null,
      name: {
        default: "",
        static: !0
      }
    }), u = l, h = Ye("textarea"), i = vn("input", qe(f, "locale")), v = Gt(), k = $(!1), w = $(f.value), T = $(f.value ? f.value.length : 0), F = $(!1), A = $();
    let z = f.value;
    const C = g(() => f.loading && f.loadingLock || f.readonly), E = g(() => ({
      [h.b()]: !0,
      [h.ns("input-vars")]: !0,
      [h.bs("vars")]: !0,
      [h.bm("inherit")]: f.inherit,
      [h.bm("focused")]: k.value,
      [h.bm("disabled")]: f.disabled,
      [h.bm("readonly")]: C.value,
      [h.bm("loading")]: f.loading,
      [h.bm("no-resize")]: f.noResize,
      [h.bm(f.state)]: f.state !== "default"
    })), P = g(() => typeof f.autocomplete == "boolean" ? f.autocomplete ? "on" : "off" : f.autocomplete);
    le(
      () => f.value,
      (te) => {
        w.value = te, z = te, U();
      }
    ), r({
      idFor: a,
      currentValue: w,
      currentLength: T,
      composing: F,
      isReadonly: C,
      textarea: A,
      copyValue: q,
      focus: (te) => {
        var Ee;
        return (Ee = A.value) == null ? void 0 : Ee.focus(te);
      },
      blur: () => {
        var te;
        return (te = A.value) == null ? void 0 : te.blur();
      }
    });
    function R(te) {
      k.value = !0, _(f.onFocus, te);
    }
    function L(te) {
      k.value = !1, _(f.onBlur, te);
    }
    function I(te) {
      const Ee = te.type;
      if (F.value) {
        if (Ee === "input") return;
        F.value = !1;
      }
      if (w.value = te.target.value, U(), Ee === "change") {
        if (z === w.value) return;
        z = w.value, f.sync || (u("update:value", w.value), m(w.value)), _(f.onChange, w.value), f.sync || d();
      } else
        f.sync && (u("update:value", w.value), m(w.value)), _(f.onInput, w.value), f.sync && d();
    }
    function G() {
      _(f.onEnter);
    }
    function ee(te) {
      _(f.onKeyDown, te);
    }
    function O(te) {
      _(f.onKeyPress, te);
    }
    function H(te) {
      _(f.onKeyUp, te);
    }
    function U() {
      let te = w.value;
      if (Tt(te)) {
        T.value = 0;
        return;
      }
      const Ee = f.maxLength;
      Ee && te.length > Ee && (te = te.slice(0, Ee)), T.value = te.length, w.value = te;
    }
    function q() {
      const te = document.createElement("textarea");
      te.style.height = "0", te.setAttribute("readonly", "readonly"), te.value = w.value, document.body.appendChild(te), te.select();
      const Ee = document.execCommand("copy");
      return document.body.removeChild(te), Ee;
    }
    const Z = rn(f.delay), K = f.debounce ? da(I, Z || 100) : Cl(I, Z || 16);
    function we(te) {
      F.value = !0, _(f.onCompositionStart, te);
    }
    function de(te) {
      F.value && (F.value = !1, A.value && A.value.dispatchEvent(new Event("input"))), _(f.onCompositionStart, te);
    }
    return (te, Ee) => {
      var Se, Ce;
      return S(), D("div", {
        id: e(a),
        class: x(E.value),
        onClick: Ee[1] || (Ee[1] = (fe) => {
          var ot;
          return (ot = A.value) == null ? void 0 : ot.focus();
        })
      }, [
        oe("textarea", He(e(f).controlAttrs, {
          ref_key: "textarea",
          ref: A,
          class: [e(h).be("control"), (Se = e(f).controlAttrs) == null ? void 0 : Se.class, e(f).controlClass],
          value: w.value,
          rows: e(f).rows,
          autofocus: e(f).autofocus,
          autocomplete: P.value,
          spellcheck: e(f).spellcheck,
          disabled: e(f).disabled,
          readonly: C.value,
          placeholder: e(f).placeholder ?? e(i).placeholder,
          maxlength: e(f).maxLength > 0 ? e(f).maxLength : void 0,
          name: e(f).name || ((Ce = e(f).controlAttrs) == null ? void 0 : Ce.name),
          "aria-labelledby": e(o),
          onBlur: L,
          onFocus: R,
          onKeyup: [
            Kn(G, ["enter"]),
            H
          ],
          onKeypress: O,
          onKeydown: ee,
          onInput: Ee[0] || (Ee[0] = //@ts-ignore
          (...fe) => e(K) && e(K)(...fe)),
          onChange: I,
          onCompositionstart: we,
          onCompositionend: de
        }), null, 16, Sw),
        oe("div", {
          class: x(e(h).be("extra"))
        }, [
          y(En, {
            name: e(h).ns("fade"),
            appear: ""
          }, {
            default: X(() => [
              e(f).loading ? (S(), D("div", {
                key: 0,
                class: x(e(h).be("loading"))
              }, [
                y(e(Oe), He(e(v).loading, {
                  effect: e(f).loadingEffect || e(v).loading.effect,
                  icon: e(f).loadingIcon || e(v).loading.icon,
                  label: "loading"
                }), null, 16, ["effect", "icon"])
              ], 2)) : ge("", !0)
            ]),
            _: 1
          }, 8, ["name"]),
          e(f).maxLength > 0 && !e(f).hideCount ? (S(), D("div", {
            key: 0,
            class: x(e(h).be("count"))
          }, [
            W(te.$slots, "count", { value: w.value }, () => [
              dt(ze(e(f).maxLength === 1 / 0 ? T.value : `${T.value}/${e(f).maxLength}`), 1)
            ])
          ], 2)) : ge("", !0)
        ], 2)
      ], 10, xw);
    };
  }
});
let Tw = 1;
function $w() {
  return Tw++;
}
const $r = /* @__PURE__ */ new Map();
let Ys, qs;
function Ew(t, r) {
  $r.set(t, r), $r.size && !qs && (clearInterval(Ys), Ys = setInterval(() => {
    qs = !0;
    const l = Date.now();
    $r.forEach((a) => {
      a.interval && l - a.updated > a.interval && (a.timeAgo.value = Gs(
        a.datetime,
        l,
        a.locale.value,
        a.wordSpace.value
      ), a.updated = l);
    });
  }, 5e3));
}
function Aw(t) {
  $r.delete(t), $r.size || (clearInterval(Ys), qs = !1);
}
function Gs(t, r, l, a) {
  const n = Math.abs(r - t.getTime()), o = r > t.getTime() ? l.ago : l.late;
  let s, c, d = !1;
  return n < 10 * Ea ? (s = l.justNow, d = !0) : n < Yi ? (s = l.second, c = Math.floor(n / Ea)) : n < qi ? (s = l.minute, c = Math.floor(n / Yi)) : n < Da ? (s = l.hour, c = Math.floor(n / qi)) : n < 30 * Da ? (c = Math.floor(n / Da), c === 1 ? (s = l.yesterday, d = !0) : s = l.days) : n < 365 * Da ? (c = Math.floor(n / (30 * Da)), c === 1 ? (s = l.lastMonth, d = !0) : s = l.months) : (c = Math.floor(n / 365 / Da), c === 1 ? (s = l.lastYear, d = !0) : s = l.years), d ? s : nr(`${uo(s, c)} ${o}`, a);
}
const Rw = ft({
  locale: Mn(),
  datetime: [String, Number, Date],
  interval: La,
  title: hn,
  titleFormat: String
}), Mw = ["title"], Pw = /* @__PURE__ */ Xe({
  name: "TimeAgo",
  __name: "time-ago",
  props: Rw,
  setup(t, { expose: r }) {
    const a = ct("timeAgo", t, {
      locale: null,
      datetime: {
        default: () => Date.now(),
        static: !0
      },
      interval: {
        default: !1,
        validator: (h) => typeof h == "boolean" || h >= 1
      },
      title: !1,
      titleFormat: "yyyy-MM-dd HH:mm:ss"
    }), n = Ye("time-ago"), o = u(a.datetime), s = vn("timeAgo", qe(a, "locale")), c = Vo(), d = $(Gs(o, Date.now(), s.value, c.value)), p = $w(), m = {
      datetime: o,
      timeAgo: d,
      locale: s,
      wordSpace: c,
      interval: f(a.interval),
      updated: Date.now()
    }, b = g(() => {
      if (a.title)
        return typeof a.title == "string" ? a.title : zc(a.datetime, a.titleFormat);
    });
    Ew(p, m), le(
      () => a.datetime,
      (h) => {
        m.datetime = u(h), d.value = Gs(o, Date.now(), s.value, c.value);
      }
    ), le(
      () => a.interval,
      (h) => {
        m.interval = f(h);
      }
    ), pn(() => {
      Aw(p);
    });
    function f(h) {
      return h && (h === !0 ? 1e4 : h * 1e3);
    }
    function u(h) {
      return typeof h == "string" && (h = h.replace(/-/g, "/")), gl(h);
    }
    return r({ timeAgo: d }), (h, i) => (S(), D("span", {
      class: x([e(n).b(), e(a).inherit && e(n).bm("inherit")]),
      title: b.value
    }, ze(d.value), 11, Mw));
  }
}), zw = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], Lw = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], Fw = ["aria-label", "aria-valuenow", "aria-valuetext", "aria-labelledby"], lc = /* @__PURE__ */ Xe({
  name: "TimeControl",
  __name: "time-control",
  props: {
    unitType: {
      type: String,
      default: ""
    },
    enabled: {
      type: Object,
      default: () => ({})
    },
    activated: {
      type: Object,
      default: () => ({})
    },
    timeValue: {
      type: Object,
      default: () => ({})
    },
    separator: {
      type: String,
      default: ":"
    },
    visible: {
      type: Boolean,
      default: !1
    },
    focused: {
      type: Boolean,
      default: !1
    },
    filler: {
      type: String,
      default: "-",
      validator: (t) => t.length === 1
    },
    steps: {
      type: Array,
      default: () => [1, 1, 1]
    },
    ctrlSteps: {
      type: Array,
      default: () => [5, 5, 5]
    },
    labels: {
      type: Object,
      default: () => ({})
    },
    hasError: {
      type: Boolean,
      default: !1
    },
    placeholder: {
      type: String,
      default: ""
    },
    readonly: {
      type: Boolean,
      default: !1
    },
    labeledBy: {
      type: String,
      default: void 0
    },
    locale: {
      type: Object,
      default: () => ({})
    }
  },
  emits: [
    "input",
    "plus",
    "minus",
    "enter",
    "cancel",
    "unit-focus",
    "unit-blur",
    "prev-unit",
    "next-unit",
    "blur"
  ],
  setup(t, { expose: r, emit: l }) {
    const a = t, n = l, o = Ye("time-picker"), s = $(), c = g(() => a.locale.ariaLabel ?? {}), d = g(() => Object.keys(a.enabled).every((T) => !a.enabled[T] || a.activated[T])), p = g(() => f("hour")), m = g(() => f("minute")), b = g(() => f("second"));
    r({
      isActivated: d,
      wrapper: s,
      focus: () => {
        var T;
        (T = s.value) == null || T.focus();
      },
      blur: () => {
        var T;
        (T = s.value) == null || T.blur();
      }
    });
    function f(T) {
      return a.activated[T] ? ol(a.timeValue[T]) : `${a.filler}${a.filler}`;
    }
    function u(T) {
      return a.visible && a.unitType === T ? o.bem("unit", "focused") : null;
    }
    function h(T) {
      a.readonly || n("unit-focus", T);
    }
    function i(T) {
      if (!a.visible) return;
      const F = _d(T);
      if (a.readonly) {
        switch (F) {
          case "ok": {
            n("enter");
            break;
          }
          case "esc": {
            n("cancel");
            break;
          }
        }
        return;
      }
      switch (F) {
        case "next": {
          n("next-unit");
          break;
        }
        case "prev": {
          n("prev-unit");
          break;
        }
        case "up": {
          n("minus", T.ctrlKey);
          break;
        }
        case "down": {
          n("plus", T.ctrlKey);
          break;
        }
        case "ok": {
          v();
          break;
        }
        case "esc": {
          k();
          break;
        }
        default:
          typeof F == "number" && n("input", F);
      }
    }
    function v() {
      n("enter");
    }
    function k() {
      n("cancel");
    }
    function w() {
      n("blur");
    }
    return (T, F) => (S(), D("div", {
      ref_key: "wrapper",
      ref: s,
      class: x([e(o).be("input"), t.hasError && e(o).bem("input", "error")]),
      role: "none",
      tabindex: "-1",
      onKeydown: i,
      onBlur: w
    }, [
      !t.focused && !d.value ? (S(), D("div", {
        key: 0,
        class: x(e(o).be("placeholder"))
      }, ze(t.placeholder), 3)) : (S(), D(st, { key: 1 }, [
        t.enabled.hour ? (S(), D("div", {
          key: 0,
          class: x([e(o).be("unit"), u("hour")]),
          role: "spinbutton",
          "aria-label": c.value.hour,
          "aria-valuenow": a.timeValue.hour,
          "aria-valuetext": p.value,
          "aria-valuemin": 0,
          "aria-valuemax": 23,
          "aria-labelledby": t.labeledBy,
          onClick: F[0] || (F[0] = (A) => h("hour"))
        }, ze(p.value), 11, zw)) : ge("", !0),
        t.labels.hour ? (S(), D("div", {
          key: 1,
          class: x(e(o).be("label")),
          "aria-hidden": "",
          onClick: F[1] || (F[1] = (A) => h("hour"))
        }, ze(t.labels.hour), 3)) : ge("", !0),
        t.enabled.minute ? (S(), D(st, { key: 2 }, [
          t.enabled.hour ? (S(), D("div", {
            key: 0,
            class: x(e(o).be("separator")),
            "aria-hidden": ""
          }, ze(t.separator), 3)) : ge("", !0),
          oe("div", {
            class: x([e(o).be("unit"), u("minute")]),
            role: "spinbutton",
            "aria-label": c.value.minute,
            "aria-valuenow": a.timeValue.minute,
            "aria-valuetext": m.value,
            "aria-valuemin": 0,
            "aria-valuemax": 59,
            "aria-labelledby": t.labeledBy,
            onClick: F[2] || (F[2] = (A) => h("minute"))
          }, ze(m.value), 11, Lw),
          t.labels.minute ? (S(), D("div", {
            key: 1,
            class: x(e(o).be("label")),
            "aria-hidden": "",
            onClick: F[3] || (F[3] = (A) => h("minute"))
          }, ze(t.labels.minute), 3)) : ge("", !0)
        ], 64)) : ge("", !0),
        t.enabled.second ? (S(), D(st, { key: 3 }, [
          t.enabled.minute || t.enabled.hour ? (S(), D("div", {
            key: 0,
            class: x(e(o).be("separator")),
            "aria-hidden": ""
          }, ze(t.separator), 3)) : ge("", !0),
          oe("div", {
            class: x([e(o).be("unit"), u("second")]),
            role: "spinbutton",
            "aria-label": c.value.second,
            "aria-valuenow": a.timeValue.second,
            "aria-valuetext": b.value,
            "aria-valuemin": 0,
            "aria-valuemax": 59,
            "aria-labelledby": t.labeledBy,
            onClick: F[4] || (F[4] = (A) => h("second"))
          }, ze(b.value), 11, Fw),
          t.labels.second ? (S(), D("div", {
            key: 1,
            class: x(e(o).be("label")),
            "aria-hidden": "",
            onClick: F[5] || (F[5] = (A) => h("second"))
          }, ze(t.labels.second), 3)) : ge("", !0)
        ], 64)) : ge("", !0)
      ], 64))
    ], 34));
  }
}), Iw = ["id", "aria-disabled", "aria-expanded", "aria-labelledby"], Nw = ["onKeydown"], Dw = ["aria-label"], Ow = ["aria-labelledby"], _w = ["title", "onClick"], Bw = /* @__PURE__ */ Xe({
  name: "TimePicker",
  __name: "time-picker",
  props: _0,
  emits: ["update:value", "update:visible"],
  setup(t, { expose: r, emit: l }) {
    const {
      idFor: a,
      labelId: n,
      state: o,
      disabled: s,
      loading: c,
      size: d,
      validateField: p,
      clearField: m,
      getFieldValue: b,
      setFieldValue: f
    } = al(() => {
      var $e;
      return ($e = U.value) == null ? void 0 : $e.focus();
    }), u = Ye("time-picker"), i = ct("timePicker", t, {
      size: On(d),
      state: ll(o),
      locale: null,
      visible: !1,
      placement: {
        default: "bottom-start",
        validator: ($e) => Wl.includes($e)
      },
      transfer: !1,
      format: "HH:mm:ss",
      separator: ":",
      value: {
        default: () => b(),
        static: !0
      },
      filler: {
        default: "-",
        validator: ($e) => $e.length === 1
      },
      clearable: !1,
      noAction: !1,
      noArrow: !1,
      pointer: wl,
      candidate: {
        default: 3,
        validator: ($e) => [0, 1, 2, 3].includes($e)
      },
      steps: () => [1, 1, 1],
      labels: () => ({}),
      shortcuts: () => [],
      range: null,
      disabled: () => s.value,
      transitionName: () => u.ns("drop"),
      confirmText: null,
      cancelText: null,
      ctrlSteps: () => [5, 5, 5],
      prefix: en(),
      prefixColor: "",
      suffix: en(),
      suffixColor: "",
      noSuffix: !1,
      exchange: !1,
      loading: () => c.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      min: null,
      max: null,
      outsideClose: !0,
      outsideCancel: !1,
      placeholder: null,
      unitReadonly: !1,
      popperAlive: null,
      shortcutsPlacement: "left",
      slots: () => ({})
    }), v = l, k = kn(), w = vn("timePicker", qe(i, "locale")), T = Gt(), F = Vo(), A = qe(i, "placement"), z = qe(i, "transfer"), C = $(i.visible), E = $(!1), P = $(""), R = J(), L = J(), I = $("start"), G = $(!1), { timer: ee } = Vn(), O = Hl(Vt), H = $(), { reference: U, transferTo: q, updatePopper: Z } = Kl({
      placement: A,
      transfer: z,
      wrapper: O,
      popper: g(() => {
        var $e;
        return ($e = H.value) == null ? void 0 : $e.wrapper;
      }),
      isDrop: !0
    }), { isHover: K } = Ql(U), { isTimeDisabled: we } = Ks(qe(i, "min"), qe(i, "max")), de = $(), te = $(), Ee = g(() => {
      if (i.placeholder)
        return Array.isArray(i.placeholder) ? i.placeholder[0] : i.placeholder;
      const { select: $e, start: et, time: vt } = w.value.placeholder;
      return nr(i.range ? `${et} ${vt}` : `${$e} ${vt}`, F.value);
    }), Se = g(() => {
      if (i.placeholder)
        return Array.isArray(i.placeholder) ? i.placeholder[1] || i.placeholder[0] : i.placeholder;
      const { end: $e, time: et } = w.value.placeholder;
      return nr(`${$e} ${et}`, F.value);
    }), Ce = g(() => [
      u.b(),
      u.ns("input-vars"),
      u.bs("vars"),
      {
        [u.bm("inherit")]: i.inherit,
        [u.bm("disabled")]: i.disabled,
        [u.bm(i.size)]: i.size !== "default",
        [u.bm("no-hour")]: !R.enabled.hour,
        [u.bm("no-minute")]: !R.enabled.minute,
        [u.bm("no-second")]: !R.enabled.second,
        [u.bm("visible")]: C.value,
        [u.bm(i.state)]: i.state !== "default",
        [u.bm("is-range")]: i.range
      }
    ]), fe = g(() => i.loading && i.loadingLock), ot = g(() => {
      const $e = u.be("selector");
      return {
        [$e]: !0,
        [`${$e}--disabled`]: i.disabled,
        [`${$e}--readonly`]: fe.value,
        [`${$e}--loading`]: i.loading,
        [`${$e}--${i.size}`]: i.size !== "default",
        [`${$e}--focused`]: E.value,
        [`${$e}--${i.state}`]: i.state !== "default"
      };
    }), Ze = g(() => !!(k.prefix || i.prefix || i.slots.prefix)), Je = g(() => {
      const $e = [R, L].map((et) => Object.values(et.timeValue).map(ol).join(":"));
      return i.range ? $e : $e[0];
    }), se = g(() => !i.disabled && !fe.value && i.clearable && K.value && !!P.value), ne = g(() => {
      const { hour: $e, minute: et, second: vt } = R.timeValue;
      return we.hour($e) || we.minute($e, et) || we.second($e, et, vt);
    }), ue = g(() => {
      if (!i.range) return !1;
      const { hour: $e, minute: et, second: vt } = L.timeValue;
      return we.hour($e) || we.minute($e, et) || we.second($e, et, vt);
    });
    le(
      () => i.value,
      ($e) => {
        j($e), P.value = (Array.isArray($e) ? $e[0] || $e[1] : $e) ? re() : "";
      },
      { immediate: !0 }
    ), le(() => i.format, ae, { immediate: !0 }), le(
      () => i.visible,
      ($e) => {
        C.value = $e;
      }
    ), le(C, ($e) => {
      $e && Z();
    }), le(E, ($e) => {
      _($e ? i.onFocus : i.onBlur);
    }), le(I, ($e) => {
      !i.unitReadonly && C.value && _(i.onChangeCol, N().column, $e);
    }), le(
      () => R.column,
      ($e) => {
        !i.unitReadonly && C.value && I.value === "start" && _(i.onChangeCol, $e, "start");
      }
    ), le(
      () => L.column,
      ($e) => {
        !i.unitReadonly && C.value && I.value === "end" && _(i.onChangeCol, $e, "end");
      }
    ), le(
      () => i.disabled,
      ($e) => {
        $e && (Pe(!1), Nt());
      }
    ), le(fe, ($e) => {
      $e && Pe(!1);
    }), r({
      idFor: a,
      isHover: K,
      currentVisible: C,
      focused: E,
      startState: R,
      endState: L,
      currentState: I,
      currentValue: Je,
      startError: ne,
      endError: ue,
      wrapper: O,
      reference: U,
      popper: H,
      start: de,
      end: te,
      updatePopper: Z,
      focus: ($e) => {
        var et;
        return (et = U.value) == null ? void 0 : et.focus($e);
      },
      blur: () => {
        var $e;
        return ($e = U.value) == null ? void 0 : $e.blur();
      }
    });
    function J() {
      const { currentColumn: $e, enabled: et, resetColumn: vt, enterColumn: an } = Bd([
        "hour",
        "minute",
        "second"
      ]), Rn = pt({
        hour: 0,
        minute: 0,
        second: 0
      }), wn = pt({
        hour: !1,
        minute: !1,
        second: !1
      });
      return pt({
        column: $e,
        enabled: et,
        activated: wn,
        timeValue: Rn,
        resetColumn: vt,
        enterColumn: an
      });
    }
    function N() {
      return I.value === "start" ? R : L;
    }
    function j($e) {
      Array.isArray($e) || ($e = [$e, $e]);
      const et = /* @__PURE__ */ new Date();
      for (let vt = 0; vt < 2; ++vt) {
        const an = b0.exec($e[vt] || ""), Rn = vt === 0 ? R : L, { timeValue: wn } = Rn;
        if (an) {
          be(!0, vt === 0 ? "start" : "end");
          const Te = parseInt(an[1]), Y = an[2] ? parseInt(an[2].slice(1)) : 0, ke = an[3] ? parseInt(an[3].slice(1)) : 0, xe = new Date(2e3, 1, 1, Te, Y, ke);
          wn.hour = xe.getHours(), wn.minute = xe.getMinutes(), wn.second = xe.getSeconds();
        } else
          wn.hour = et.getHours(), wn.minute = et.getMinutes(), wn.second = et.getSeconds(), be(!1, vt === 0 ? "start" : "end");
        if (!i.range) break;
      }
    }
    function ae() {
      [R, L].forEach(($e) => {
        $e.enabled.hour = i.format.includes("H"), $e.enabled.minute = i.format.includes("m"), $e.enabled.second = i.format.includes("s");
      });
    }
    function be($e, et) {
      (et ? et === "start" ? [R] : [L] : [R, L]).forEach((an) => {
        Object.keys(an.activated).forEach((Rn) => {
          an.activated[Rn] = $e;
        });
      });
    }
    function re() {
      return Array.isArray(Je.value) ? Je.value.join("|") : Je.value;
    }
    function ce() {
      (ne.value || i.range && ue.value) && j(i.value);
    }
    function Pe($e) {
      C.value !== $e && (C.value = $e, v("update:visible", $e), _(i.onToggle, $e));
    }
    function at() {
      ce(), P.value !== re() && (P.value = re(), be(!0), v("update:value", Je.value), f(Je.value), _(i.onChange, Je.value), p());
    }
    function yt() {
      i.disabled || (E.value = !0, ee.focus = setTimeout(() => {
        var $e, et;
        E.value && (I.value === "start" ? ($e = de.value) == null || $e.focus() : (et = te.value) == null || et.focus());
      }, 120));
    }
    function Nt() {
      var $e, et;
      clearTimeout(ee.focus), E.value = !1, ($e = de.value) == null || $e.blur(), (et = te.value) == null || et.blur();
    }
    function Mt($e) {
      if (i.disabled || fe.value) return;
      const et = $e.target;
      Pe(!0), yt(), O.value && et && (Array.from(O.value.querySelectorAll(`.${u.be("unit")}`)).some((an) => an === et || an.contains(et)) || (R.column = null, L.column = null));
    }
    function Ht($e = !0) {
      Pe(!1), $e && at(), R.resetColumn(), L.resetColumn();
    }
    function _t($e = !0) {
      i.disabled || fe.value || i.clearable && kt(() => {
        const et = i.range ? [] : "";
        j(null), $e && Ht(!1), v("update:value", et), _(i.onChange, et), _(i.onClear), m(et), $e && Nt(), P.value = "", kt(() => {
          be(!1);
        });
      });
    }
    function tn($e) {
      C.value && (N().activated[$e] = !0);
    }
    function Wt($e) {
      N().column = $e;
    }
    function un($e) {
      const et = N(), vt = et.column;
      vt && (qt(vt, $e), et.column !== "second" && et.timeValue[vt] >= 10 && et.enterColumn("next", !1));
    }
    function qt($e, et) {
      const vt = N(), an = vt.timeValue[$e];
      vt.activated[$e] && an > 0 && an < 10 ? vt.timeValue[$e] = an * 10 + et : vt.timeValue[$e] = et, pe($e), vt.activated[$e] = !0, _(i.onInput, $e, vt.timeValue[$e]);
    }
    function pe($e) {
      const et = N().timeValue;
      et[$e] = cn(et[$e], 0, $e === "hour" ? 23 : 59), et[$e] = Math.round(et[$e] / Fe($e)) * Fe($e);
    }
    function Re($e) {
      const et = N(), vt = et.column;
      vt && et.enabled[vt] && (et.timeValue[vt] += $e ? lt(vt) : Fe(vt), pe(vt), _(i.onPlus, vt, et.timeValue[vt]));
    }
    function he($e) {
      const et = N(), vt = et.column;
      vt && et.enabled[vt] && (et.timeValue[vt] -= $e ? lt(vt) : Fe(vt), pe(vt), _(i.onMinus, vt, et.timeValue[vt]));
    }
    function Fe($e) {
      return i.steps[$e === "hour" ? 0 : $e === "minute" ? 1 : 2] || 1;
    }
    function lt($e) {
      return i.ctrlSteps[$e === "hour" ? 0 : $e === "minute" ? 1 : 2] || 1;
    }
    function Ke() {
      requestAnimationFrame(() => {
        var $e;
        Nt(), ($e = U.value) == null || $e.focus();
      });
    }
    function Ct() {
      Ke(), Ht(), _(i.onEnter);
    }
    function ve() {
      Ke(), j(i.value), Ht(!1), _(i.onCancel);
    }
    function Ve($e) {
      const { value: et, name: vt } = i.shortcuts[$e], an = vl(et);
      Ke(), j(an), _(i.onShortcut, vt, an), Ht();
    }
    function Ie($e) {
      I.value = $e;
    }
    function Me($e) {
      if (i.range) {
        $e === "prev" && I.value === "start" && !R.column && Ie("end");
        const et = N(), vt = et.column;
        if (et.enterColumn($e, !vt), vt === et.column) {
          const an = I.value === "start";
          (an ? L : R).resetColumn($e === "prev" ? "second" : "hour", $e === "prev"), Ie(an ? "end" : "start");
        }
      } else
        R.enterColumn($e);
    }
    function Ge($e) {
      Ie("start"), Wt($e);
    }
    function mt($e) {
      Ie("end"), Wt($e);
    }
    function bt() {
      Object.keys(R.timeValue).forEach(($e) => {
        const et = L.timeValue[$e];
        L.timeValue[$e] = R.timeValue[$e], R.timeValue[$e] = et;
      });
    }
    function Ot($e) {
      i.exchange && (!C.value && $e.stopPropagation(), bt());
    }
    function Vt() {
      _(i.onClickOutside), i.outsideClose && C.value && (Ht(!i.outsideCancel), Nt(), _(i.onOutsideClose));
    }
    return ($e, et) => (S(), D("div", {
      id: e(a),
      ref_key: "wrapper",
      ref: O,
      class: x(Ce.value),
      role: "group",
      "aria-disabled": e(fl)(e(i).disabled),
      "aria-expanded": e(fl)(C.value),
      "aria-haspopup": "dialog",
      "aria-labelledby": e(n),
      onClick: Mt
    }, [
      oe("div", {
        ref_key: "reference",
        ref: U,
        class: x(ot.value),
        tabindex: "0",
        onKeydown: [
          Kn(gt(Mt, ["prevent"]), ["space"]),
          et[7] || (et[7] = Kn(gt((vt) => _t(!1), ["prevent"]), ["backspace"]))
        ]
      }, [
        Ze.value ? (S(), D("div", {
          key: 0,
          class: x([e(u).be("icon"), e(u).be("prefix")]),
          style: Qe({ color: e(i).prefixColor })
        }, [
          W($e.$slots, "prefix", {}, () => [
            y(e(me), {
              renderer: e(i).slots.prefix
            }, {
              default: X(() => [
                y(e(Oe), {
                  icon: e(i).prefix
                }, null, 8, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)) : ge("", !0),
        oe("div", {
          class: x(e(u).be("control"))
        }, [
          y(lc, {
            ref_key: "startInput",
            ref: de,
            "unit-type": I.value === "start" ? e(R).column : "",
            enabled: e(R).enabled,
            activated: e(R).activated,
            "time-value": e(R).timeValue,
            steps: e(i).steps,
            "ctrl-steps": e(i).ctrlSteps,
            focused: E.value,
            visible: C.value,
            separator: e(i).separator,
            filler: e(i).filler,
            labels: e(i).labels,
            "has-error": ne.value,
            placeholder: Ee.value,
            readonly: e(i).unitReadonly,
            "labeled-by": e(n),
            locale: e(w),
            onInput: un,
            onPlus: Re,
            onMinus: he,
            onEnter: Ct,
            onCancel: ve,
            onUnitFocus: Ge,
            onPrevUnit: et[0] || (et[0] = (vt) => Me("prev")),
            onNextUnit: et[1] || (et[1] = (vt) => Me("next")),
            onBlur: et[2] || (et[2] = (vt) => e(R).column = null)
          }, null, 8, ["unit-type", "enabled", "activated", "time-value", "steps", "ctrl-steps", "focused", "visible", "separator", "filler", "labels", "has-error", "placeholder", "readonly", "labeled-by", "locale"]),
          e(i).range ? (S(), D(st, { key: 0 }, [
            oe("div", {
              class: x([e(u).be("exchange"), e(i).exchange ? e(u).bem("exchange", "enabled") : ""]),
              onClick: Ot
            }, [
              W($e.$slots, "exchange", {}, () => [
                y(e(me), {
                  renderer: e(i).slots.exchange
                }, {
                  default: X(() => [
                    y(e(Oe), He(e(T).exchange, { style: { "padding-top": "1px" } }), null, 16)
                  ]),
                  _: 1
                }, 8, ["renderer"])
              ])
            ], 2),
            y(lc, {
              ref_key: "endInput",
              ref: te,
              "unit-type": I.value === "end" ? e(L).column : "",
              enabled: e(L).enabled,
              activated: e(L).activated,
              "time-value": e(L).timeValue,
              steps: e(i).steps,
              "ctrl-steps": e(i).ctrlSteps,
              focused: E.value,
              visible: C.value,
              separator: e(i).separator,
              filler: e(i).filler,
              labels: e(i).labels,
              "has-error": ue.value,
              placeholder: Se.value,
              readonly: e(i).unitReadonly,
              "labeled-by": e(n),
              locale: e(w),
              onInput: un,
              onPlus: Re,
              onMinus: he,
              onEnter: Ct,
              onCancel: ve,
              onUnitFocus: mt,
              onPrevUnit: et[3] || (et[3] = (vt) => Me("prev")),
              onNextUnit: et[4] || (et[4] = (vt) => Me("next")),
              onBlur: et[5] || (et[5] = (vt) => e(L).column = null)
            }, null, 8, ["unit-type", "enabled", "activated", "time-value", "steps", "ctrl-steps", "focused", "visible", "separator", "filler", "labels", "has-error", "placeholder", "readonly", "labeled-by", "locale"])
          ], 64)) : ge("", !0)
        ], 2),
        e(i).noSuffix ? e(i).clearable || e(i).loading ? (S(), D("div", {
          key: 2,
          class: x([e(u).be("icon"), e(u).bem("icon", "placeholder"), e(u).be("suffix")])
        }, null, 2)) : ge("", !0) : (S(), D("div", {
          key: 1,
          class: x([e(u).be("icon"), e(u).be("suffix")]),
          style: Qe({
            color: e(i).suffixColor,
            opacity: se.value || e(i).loading ? "0%" : ""
          })
        }, [
          W($e.$slots, "suffix", {}, () => [
            y(e(me), {
              renderer: e(i).slots.suffix
            }, {
              default: X(() => [
                y(e(Oe), He(e(T).clock, {
                  icon: e(i).suffix || e(T).clock.icon
                }), null, 16, ["icon"])
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 6)),
        y(En, {
          name: e(u).ns("fade"),
          appear: ""
        }, {
          default: X(() => [
            se.value ? (S(), D("button", {
              key: 0,
              class: x([e(u).be("icon"), e(u).be("clear")]),
              type: "button",
              tabindex: "-1",
              "aria-label": e(w).ariaLabel.clear,
              onClick: et[6] || (et[6] = gt((vt) => _t(), ["stop"]))
            }, [
              y(e(Oe), It(Yt(e(T).clear)), null, 16)
            ], 10, Dw)) : e(i).loading ? (S(), D("div", {
              key: 1,
              class: x([e(u).be("icon"), e(u).be("loading")])
            }, [
              y(e(Oe), He(e(T).loading, {
                effect: e(i).loadingEffect || e(T).loading.effect,
                icon: e(i).loadingIcon || e(T).loading.icon
              }), null, 16, ["effect", "icon"])
            ], 2)) : ge("", !0)
          ]),
          _: 1
        }, 8, ["name"])
      ], 42, Nw),
      y(e(Xl), {
        ref_key: "popper",
        ref: H,
        class: x([e(u).be("popper"), e(u).bs("vars")]),
        visible: C.value,
        to: e(q),
        transition: e(i).transitionName,
        alive: e(i).popperAlive ?? !e(q),
        onClick: gt(yt, ["stop"]),
        onBeforeEnter: et[16] || (et[16] = (vt) => G.value = !0),
        onBeforeLeave: et[17] || (et[17] = (vt) => G.value = !0),
        onAfterEnter: et[18] || (et[18] = (vt) => G.value = !1),
        onAfterLeave: et[19] || (et[19] = (vt) => G.value = !1)
      }, {
        default: X(() => [
          oe("div", {
            class: x({
              [e(u).be("panel")]: !0,
              [e(u).bem("panel", "vertical")]: e(i).shortcuts.length && (e(i).shortcutsPlacement === "top" || e(i).shortcutsPlacement === "bottom")
            }),
            "aria-labelledby": e(n)
          }, [
            e(i).shortcuts.length ? (S(), D("div", {
              key: 0,
              class: x([
                e(u).be("list"),
                e(u).bem("list", "sub"),
                e(u).be("shortcuts"),
                e(u).bem("shortcuts", e(i).shortcutsPlacement)
              ])
            }, [
              (S(!0), D(st, null, ln(e(i).shortcuts, (vt, an) => (S(), D("div", {
                key: an,
                class: x(e(u).be("shortcut")),
                title: vt.name,
                onClick: (Rn) => Ve(an)
              }, ze(vt.name), 11, _w))), 128))
            ], 2)) : ge("", !0),
            oe("div", {
              class: x(e(u).be("list"))
            }, [
              oe("div", {
                class: x(e(u).be("wheels"))
              }, [
                y(Io, {
                  hour: e(R).timeValue.hour,
                  "onUpdate:hour": et[8] || (et[8] = (vt) => e(R).timeValue.hour = vt),
                  minute: e(R).timeValue.minute,
                  "onUpdate:minute": et[9] || (et[9] = (vt) => e(R).timeValue.minute = vt),
                  second: e(R).timeValue.second,
                  "onUpdate:second": et[10] || (et[10] = (vt) => e(R).timeValue.second = vt),
                  "no-arrow": e(i).noArrow,
                  candidate: e(i).candidate,
                  steps: e(i).steps,
                  pointer: e(i).pointer,
                  "disabled-time": e(we),
                  "no-transition": G.value,
                  onChange: tn,
                  onToggleCol: et[11] || (et[11] = (vt) => Ie("start"))
                }, null, 8, ["hour", "minute", "second", "no-arrow", "candidate", "steps", "pointer", "disabled-time", "no-transition"]),
                e(i).range ? (S(), Be(Io, {
                  key: 0,
                  hour: e(L).timeValue.hour,
                  "onUpdate:hour": et[12] || (et[12] = (vt) => e(L).timeValue.hour = vt),
                  minute: e(L).timeValue.minute,
                  "onUpdate:minute": et[13] || (et[13] = (vt) => e(L).timeValue.minute = vt),
                  second: e(L).timeValue.second,
                  "onUpdate:second": et[14] || (et[14] = (vt) => e(L).timeValue.second = vt),
                  "no-arrow": e(i).noArrow,
                  candidate: e(i).candidate,
                  steps: e(i).steps,
                  pointer: e(i).pointer,
                  "disabled-time": e(we),
                  "no-transition": G.value,
                  onChange: tn,
                  onToggleCol: et[15] || (et[15] = (vt) => Ie("end"))
                }, null, 8, ["hour", "minute", "second", "no-arrow", "candidate", "steps", "pointer", "disabled-time", "no-transition"])) : ge("", !0)
              ], 2),
              e(i).noAction ? ge("", !0) : (S(), D("div", {
                key: 0,
                class: x(e(u).be("action"))
              }, [
                y(e(Hn), {
                  inherit: "",
                  text: "",
                  size: "small",
                  onClick: gt(ve, ["stop"])
                }, {
                  default: X(() => [
                    dt(ze(e(i).cancelText || e(w).cancel), 1)
                  ]),
                  _: 1
                }),
                y(e(Hn), {
                  inherit: "",
                  type: "primary",
                  size: "small",
                  disabled: ne.value || ue.value,
                  onClick: gt(Ct, ["stop"])
                }, {
                  default: X(() => [
                    dt(ze(e(i).confirmText || e(w).confirm), 1)
                  ]),
                  _: 1
                }, 8, ["disabled"])
              ], 2))
            ], 2)
          ], 10, Ow)
        ]),
        _: 1
      }, 8, ["class", "visible", "to", "transition", "alive"])
    ], 10, Iw));
  }
}), Hw = ft({
  pending: M,
  dashed: M,
  lineColor: String,
  spacing: [Number, String],
  flip: M,
  horizontal: M,
  alternate: M,
  onSignalClick: B()
}), Vw = ft({
  type: String,
  color: String,
  label: [Number, String],
  dashed: M,
  lineColor: String,
  spacing: [Number, String],
  onSignalClick: B()
}), bf = "__VXP_TIMELINE_STATE", ac = Object.freeze([
  "primary",
  "info",
  "success",
  "error",
  "warning",
  "disabled"
]), jw = /* @__PURE__ */ Xe({
  name: "Timeline",
  __name: "timeline",
  props: Hw,
  setup(t, { expose: r }) {
    const a = ct("timeline", t, {
      pending: !1,
      dashed: !1,
      lineColor: null,
      spacing: null,
      flip: !1,
      horizontal: !1,
      alternate: !1
    }), n = Ye("timeline"), o = pt(/* @__PURE__ */ new Set()), s = g(() => ({
      [n.b()]: !0,
      [n.bs("vars")]: !0,
      [n.bm("inherit")]: a.inherit,
      [n.bm("pending")]: a.pending,
      [n.bm("alternate")]: a.alternate,
      [n.bm("flip")]: a.flip,
      [n.bm("horizontal")]: a.horizontal
    })), c = g(() => Math.max(...Array.from(o).map((u) => u.height)) * 2);
    r({ itemStates: o });
    const d = Ln(() => {
      const u = o.size;
      Array.from(o).forEach((h, i) => {
        h.index = i + 1, h.total = u, Tt(h.label) && (h.label = i + 1);
      });
    }), p = pt({
      dashed: qe(a, "dashed"),
      lineColor: qe(a, "lineColor"),
      spacing: qe(a, "spacing"),
      alternate: qe(a, "alternate"),
      horizontal: qe(a, "horizontal"),
      increaseItem: m,
      decreaseItem: b,
      handleSignalClick: f
    });
    nn(bf, p);
    function m(u) {
      o.add(u), d();
    }
    function b(u) {
      o.delete(u), d();
    }
    function f(u) {
      _(a.onSignalClick, u);
    }
    return (u, h) => (S(), D("div", {
      class: x(s.value),
      style: Qe({ height: e(a).horizontal && e(a).alternate ? `${c.value}px` : void 0 })
    }, [
      W(u.$slots, "default")
    ], 6));
  }
}), Ww = /* @__PURE__ */ Xe({
  name: "TimelineItem",
  __name: "timeline-item",
  props: Vw,
  setup(t, { expose: r }) {
    const a = ct("timelineItem", t, {
      type: {
        default: "primary",
        validator: (f) => ac.includes(f)
      },
      color: "",
      label: {
        default: null,
        static: !0
      },
      dashed: null,
      lineColor: null,
      spacing: null
    }), n = Et(bf, null), o = Ye("timeline"), s = $(a.label), c = $(), d = g(() => ({
      [o.be("item")]: !0,
      [o.bem("item", a.type)]: ac.includes(a.type)
    })), p = g(() => {
      const f = a.spacing || a.spacing === 0 ? a.spacing : n == null ? void 0 : n.spacing, u = {
        [o.cv("item-span")]: typeof f == "number" ? `${f}px` : f
      };
      return a.color && (u[o.cv("pointer-color")] = a.color, u[o.cv("pointer-b-color")] = a.color), u;
    }), m = g(() => {
      const f = a.dashed ?? (n == null ? void 0 : n.dashed) ?? !1, u = a.lineColor ?? (n == null ? void 0 : n.lineColor);
      return {
        borderInlineStartStyle: f ? "dashed" : void 0,
        borderInlineStartColor: u
      };
    });
    if (r({ currentLabel: s, content: c }), n) {
      let f = function() {
        requestAnimationFrame(() => {
          n != null && n.horizontal && c.value && (u.height = c.value.scrollHeight);
        });
      };
      const u = pt({
        label: s,
        index: 0,
        total: 0,
        height: 0
      });
      n.increaseItem(u), le(() => n.alternate, f), le(() => n.horizontal, f), sn(f), Qs(f), pn(() => {
        n.decreaseItem(u);
      });
    }
    function b() {
      _(a.onSignalClick, s.value), n == null || n.handleSignalClick(s.value);
    }
    return (f, u) => (S(), D("div", {
      class: x(d.value),
      style: Qe(p.value)
    }, [
      oe("div", {
        class: x(e(o).be("signal")),
        onClick: b
      }, [
        W(f.$slots, "signal", {}, () => [
          oe("div", {
            class: x(e(o).be("pointer"))
          }, null, 2)
        ])
      ], 2),
      oe("div", {
        class: x(e(o).be("line")),
        style: Qe(m.value)
      }, [
        W(f.$slots, "line")
      ], 6),
      oe("div", {
        ref_key: "content",
        ref: c,
        class: x(e(o).be("content"))
      }, [
        W(f.$slots, "default")
      ], 2)
    ], 6));
  }
}), Kw = ft({
  bodyWidth: Number,
  icon: Xt,
  iconProps: Object,
  position: String,
  transitionName: String,
  closable: M,
  maskClose: M,
  showMask: M,
  maskClass: Bn,
  maskStyle: kl,
  parseHtml: M,
  renderer: Function
}), rc = Object.freeze(["success", "warning", "error", "loading"]), Uw = ["innerHTML"], oc = /* @__PURE__ */ Xe({
  name: "Toast",
  __name: "toast",
  props: Kw,
  setup(t, { expose: r }) {
    const l = Ye("toast"), n = ct("toast", t, {
      bodyWidth: 100,
      icon: en(),
      iconProps: () => ({}),
      position: "center",
      transitionName: () => l.ns("ease"),
      closable: !1,
      maskClose: !1,
      showMask: !1,
      maskClass: null,
      maskStyle: null,
      renderer: {
        default: null,
        isFunc: !0,
        static: !0
      },
      parseHtml: !1
    }), o = Or(), s = Gt(), c = g(() => ({
      success: s.value.success,
      warning: s.value.warning,
      error: s.value.error,
      loading: s.value.loading
    })), d = pt({
      visible: !1,
      zIndex: 0,
      type: null,
      content: "",
      icon: n.icon,
      iconProps: n.iconProps,
      position: n.position,
      transition: n.transitionName,
      closable: n.closable,
      maskClose: n.maskClose,
      showMask: n.showMask,
      maskClass: n.maskClass,
      maskStyle: n.maskStyle,
      parseHtml: n.parseHtml,
      textOnly: !1,
      renderer: n.renderer,
      onClose: null
    }), p = new Promise((i) => {
      sn(() => {
        kt(i);
      });
    });
    r({ state: d, openToast: m, closeToast: b, handleReset: f });
    async function m(i) {
      if (await p, d.zIndex = o(), d.type = i.type ?? null, d.content = i.content ?? "", d.icon = i.icon ?? n.icon, d.iconProps = i.iconProps ?? n.iconProps, d.position = i.position ?? n.position, d.transition = i.transitionName ?? n.transitionName, d.closable = i.closable ?? n.closable, d.maskClose = i.maskClose ?? n.maskClose, d.showMask = i.showMask ?? n.showMask, d.maskClass = i.maskClass ?? n.maskClass, d.maskStyle = i.maskStyle ?? n.maskStyle, d.parseHtml = i.parseHtml ?? n.parseHtml, d.renderer = on(i.renderer) ? i.renderer : n.renderer, d.onClose = i.onClose || null, d.textOnly = !d.icon && !(d.type && rc.includes(d.type)), on(d.renderer)) {
        const v = d.renderer;
        d.renderer = () => v(i), d.textOnly = !1;
      }
      d.visible = !0;
    }
    function b() {
      d.visible = !1, on(d.onClose) && d.onClose();
    }
    function f() {
      d.visible || (d.type = null, d.content = "", d.icon = n.icon, d.iconProps = n.iconProps, d.position = n.position, d.transition = n.transitionName, d.closable = n.closable, d.maskClose = n.maskClose, d.showMask = n.showMask, d.maskClass = n.maskClass, d.maskStyle = n.maskStyle, d.parseHtml = n.parseHtml, d.textOnly = !1, d.renderer = n.renderer, d.onClose = null);
    }
    function u() {
      d.visible && d.closable && b();
    }
    function h() {
      d.visible && d.maskClose && b();
    }
    return (i, v) => (S(), D("div", {
      class: x({
        [e(l).b()]: !0,
        [e(l).bs("vars")]: !0,
        [e(l).bm("text-only")]: d.textOnly
      }),
      role: "alert",
      style: Qe({
        zIndex: d.zIndex
      }),
      "aria-atomic": "true",
      "aria-live": "assertive"
    }, [
      y(En, {
        name: e(l).ns("fade")
      }, {
        default: X(() => [
          d.showMask && d.visible ? (S(), D("div", {
            key: 0,
            class: x([e(l).be("mask"), d.maskClass]),
            style: Qe(d.maskStyle),
            onClick: h,
            onWheel: v[0] || (v[0] = gt(() => {
            }, ["stop", "prevent"]))
          }, null, 38)) : ge("", !0)
        ]),
        _: 1
      }, 8, ["name"]),
      y(En, {
        name: d.transition
      }, {
        default: X(() => [
          d.visible ? (S(), D("div", {
            key: 0,
            class: x({
              [e(l).be("wrapper")]: !0,
              [e(l).bem("wrapper", d.position)]: d.position !== "center",
              [e(l).bem("wrapper", "closable")]: d.closable
            }),
            onClick: u,
            onWheel: v[1] || (v[1] = gt(() => {
            }, ["stop", "prevent"]))
          }, [
            e(on)(d.renderer) ? (S(), Be(e(me), {
              key: 0,
              renderer: d.renderer
            }, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
              d.icon || d.type && e(rc).includes(d.type) ? (S(), D("div", {
                key: 0,
                class: x(e(l).be("icon"))
              }, [
                d.icon ? (S(), Be(e(Oe), He({
                  key: 0,
                  icon: d.icon,
                  scale: 1.8
                }, d.iconProps), null, 16, ["icon"])) : (S(), Be(e(Oe), It(He({ key: 1 }, { ...c.value[d.type], scale: 1.8, ...d.iconProps })), null, 16))
              ], 2)) : ge("", !0),
              d.parseHtml ? (S(), D("div", {
                key: 1,
                class: x(e(l).be("content")),
                innerHTML: d.content
              }, null, 10, Uw)) : (S(), D("div", {
                key: 2,
                class: x(e(l).be("content"))
              }, ze(d.content), 3))
            ], 64))
          ], 34)) : ge("", !0)
        ]),
        _: 1
      }, 8, ["name"])
    ], 6));
  }
}), Xw = {
  success: {},
  warning: {},
  error: {},
  loading: {
    showMask: !0
  }
};
class _i {
  constructor(r = {}) {
    Rt(this, "name");
    Rt(this, "defaults");
    Rt(this, "open");
    Rt(this, "success");
    Rt(this, "warning");
    Rt(this, "error");
    Rt(this, "loading");
    Rt(this, "_mountedApp");
    Rt(this, "_instance");
    Rt(this, "_innerApp");
    Rt(this, "_container");
    Rt(this, "_timer");
    Rt(this, "_wrapper");
    Rt(this, "_mountedEl");
    r = {
      ...r,
      duration: r.duration ? rn(r.duration) : 2e3
    }, this._mountedApp = null, this._instance = null, this._innerApp = null, this._container = null, this._timer = null, this._wrapper = null, this._mountedEl = null, this.name = "Toast", this.defaults = {}, this.config(r), this.open = (l, a) => this._open(null, l, a), this.success = (l, a) => this._open("success", l, a), this.warning = (l, a) => this._open("warning", l, a), this.error = (l, a) => this._open("error", l, a), this.loading = (l, a) => this._open("loading", l, a);
  }
  close() {
    var r;
    this._timer && clearTimeout(this._timer), (r = this._getInstance()) == null || r.closeToast();
  }
  config(r) {
    this.defaults = { ...this.defaults, ...r };
  }
  clone() {
    const r = new _i(this.defaults);
    return r._mountedApp = this._mountedApp, r;
  }
  destroy() {
    var r, l;
    this._mountedEl && ((r = this._wrapper) == null || r.removeChild(this._mountedEl)), (l = this._innerApp) == null || l.unmount(), this._container && sl(null, this._container), ir(this);
  }
  isDestroyed() {
    return !1;
  }
  install(r, l = {}) {
    const { property: a, ...n } = l;
    this.config(n), this._mountedApp = r, (a || !r.config.globalProperties.$toast) && (r.config.globalProperties[a || "$toast"] = this);
  }
  transferTo(r) {
    if (!zt) return;
    const l = El(r);
    l && (this._wrapper = l, this._instance ? this._mountedEl && this._wrapper.appendChild(this._mountedEl) : this._getInstance());
  }
  _getInstance() {
    if (!this._instance && zt) {
      if (!this._mountedApp)
        console.warn("[vexip-ui:Toast]: App missing, the plugin maybe not installed."), this._container = document.createElement("div"), this._innerApp = Pa(oc), this._instance = this._innerApp.mount(this._container);
      else {
        const r = y(oc, null, null);
        this._container = document.createElement("div"), r.appContext = this._mountedApp._context, sl(r, this._container), this._instance = Fa(r);
      }
      this._mountedEl = this._container.firstElementChild, (this._wrapper || document.body).appendChild(this._mountedEl);
    }
    return this._instance;
  }
  _open(r, l, a) {
    if (!zt)
      return Qt;
    this._timer && clearTimeout(this._timer);
    const n = typeof l == "string" ? { content: l, duration: a } : l, o = r ? Xw[r] ?? {} : {}, s = n.onClose, c = () => {
      if (this._timer && clearTimeout(this._timer), typeof s == "function")
        return s();
    }, d = this._getInstance(), p = {
      ...this.defaults,
      ...o,
      ...n,
      type: r ?? n.type,
      onClose: c
    };
    p.icon && typeof p.icon != "function" && (p.icon = Nr(p.icon)), d.openToast(p);
    const m = typeof p.duration == "number" ? p.duration : 2e3;
    return m >= 500 && (this._timer = setTimeout(() => {
      d.closeToast();
    }, m)), () => {
      this._timer && clearTimeout(this._timer), d.closeToast();
    };
  }
}
const Yw = new _i(), qw = ft({
  locale: Mn(),
  active: M,
  index: Number,
  steps: Array,
  type: String,
  hideMask: M,
  signType: String,
  padding: [Number, Array],
  closable: M,
  permeable: M,
  transfer: hn,
  slots: Object,
  onToggle: B(),
  onChange: B(),
  onClose: B(),
  onMaskClick: B()
}), gf = ft({
  target: [String, Object, Function],
  placement: String,
  title: String,
  content: String,
  order: Number,
  type: String,
  renderer: Function,
  onPrev: B(),
  onNext: B()
}), yf = "___VXP_TOUR_STATE", Gw = {
  role: "none",
  "aria-hidden": "true"
}, Zw = { style: { width: "100%", height: "100%" } }, Jw = ["id"], Qw = ["x", "y", "width", "height"], ex = ["mask"], tx = {
  key: 0,
  fill: "transparent",
  style: { "pointer-events": "auto" }
}, nx = ["x", "y", "width", "height"], lx = /* @__PURE__ */ Xe({
  name: "Tour",
  inheritAttrs: !1,
  __name: "tour",
  props: qw,
  emits: ["update:active", "update:index"],
  setup(t, { expose: r, emit: l }) {
    const n = ct("tour", t, {
      locale: null,
      active: !1,
      index: {
        static: !0,
        default: 0,
        validator: (Z) => Z >= 0
      },
      steps: {
        static: !0,
        default: () => []
      },
      type: "default",
      hideMask: !1,
      signType: "dot",
      padding: 10,
      closable: !0,
      permeable: !1,
      transfer: !1,
      slots: () => ({})
    }), o = l, s = Ye("tour"), c = vn("tour", qe(n, "locale")), d = Gt(), p = $(n.active), m = $(n.index), b = pt(/* @__PURE__ */ new Set()), f = $(), u = $(), h = $(), i = $(), v = g(() => {
      var Z;
      return (Z = h.value) == null ? void 0 : Z.wrapper;
    });
    cl({
      target: v,
      passive: !1,
      onKeyDown: (Z, K) => {
        p.value && za(
          [
            [() => K.left || K.up, O],
            [() => K.right || K.down, H],
            [() => K.escape, q]
          ],
          {
            beforeMatchAny: () => {
              Z.preventDefault(), Z.stopPropagation();
            },
            afterMatchAny: K.resetAll
          }
        );
      }
    });
    const k = g(() => Array.from(b).concat(n.steps).sort((Z, K) => (Z.order || 0) - (K.order || 0))), w = g(() => k.value[m.value]), T = g(() => {
      var K;
      const Z = ((K = w.value) == null ? void 0 : K.type) || n.type;
      return Z === "default" ? void 0 : Z;
    }), F = g(() => [
      s.b(),
      s.bs("vars"),
      {
        [s.bm("hide-mask")]: n.hideMask,
        [s.bm("permeable")]: n.permeable
      }
    ]), A = g(() => Array.isArray(n.padding) ? n.padding.length === 2 ? [n.padding[0], n.padding[1], n.padding[0], n.padding[1]] : n.padding : new Array(4).fill(n.padding)), z = Zl(), { reference: C, placement: E, updatePopper: P } = Kl({
      wrapper: v,
      placement: g(() => {
        var Z;
        return ((Z = w.value) == null ? void 0 : Z.placement) || "bottom";
      }),
      popper: g(() => {
        var Z;
        return (Z = i.value) == null ? void 0 : Z.$el;
      }),
      arrow: g(() => {
        var Z;
        return (Z = i.value) == null ? void 0 : Z.arrow;
      }),
      shift: { crossAxis: !0 },
      autoUpdate: !1
    });
    le(
      () => n.active,
      (Z) => {
        Z ? ee() : p.value = Z;
      }
    ), le(
      () => n.index,
      (Z) => {
        m.value = Math.max(0, Z);
      }
    ), le(
      [p, w],
      () => {
        if (u.value = void 0, !zt || !p.value || !w.value) return;
        const Z = El(vl(w.value.target));
        if (!Z) {
          f.value = void 0;
          return;
        }
        const { top: K, left: we, width: de, height: te } = Z.getBoundingClientRect();
        if (f.value = [
          we - A.value[3],
          K - A.value[0],
          de + A.value[1] + A.value[3],
          te + A.value[0] + A.value[2]
        ], n.permeable) {
          const [Ee, Se, Ce, fe] = f.value;
          u.value = [
            [0, 0, "100%", Se],
            [Ee + Ce, 0, `calc(100% - ${Ee + Ce}px)`, "100%"],
            [0, Se + fe, "100%", `calc(100% - ${Se + fe}px)`],
            [0, 0, Ee, "100%"]
          ];
        }
        P();
      },
      { immediate: !0, flush: "post" }
    ), nn(yf, {
      increaseStep: I,
      decreaseStep: G
    }), r({
      wrapper: v,
      currentActive: p,
      currentIndex: m,
      currentStep: w,
      allSteps: k,
      start: ee,
      prev: O,
      next: H,
      close: U
    });
    const R = { start: ee, prev: O, next: H, close: U }, L = yl(
      pt({
        ...R,
        step: w,
        index: m
      })
    );
    function I(Z) {
      b.add(Z);
    }
    function G(Z) {
      b.delete(Z);
    }
    function ee() {
      p.value || (p.value = !0, o("update:active", !0), _(n.onToggle, !0), m.value && (m.value = 0, o("update:index", 0)));
    }
    function O() {
      !p.value || m.value <= 0 || (--m.value, o("update:index", m.value), _(n.onChange, m.value, w.value));
    }
    function H(Z = !0) {
      if (p.value) {
        if (m.value >= k.value.length - 1) {
          Z && U();
          return;
        }
        ++m.value, o("update:index", m.value), _(n.onChange, m.value, w.value);
      }
    }
    function U() {
      p.value && (p.value = !1, o("update:active", !1), _(n.onToggle, !1));
    }
    function q() {
      p.value && (U(), _(n.onClose));
    }
    return (Z, K) => (S(), D(st, null, [
      el(oe("div", Gw, [
        W(Z.$slots, "default")
      ], 512), [
        [tl, !1]
      ]),
      y(e(fr), He(Z.$attrs, {
        ref_key: "masker",
        ref: h,
        active: p.value,
        "onUpdate:active": K[1] || (K[1] = (we) => p.value = we),
        inherit: e(n).inherit,
        class: F.value,
        transfer: Z.transfer,
        "auto-remove": "",
        "transition-name": "",
        disabled: e(n).hideMask,
        onShow: e(P),
        onHide: K[2] || (K[2] = (we) => f.value = void 0),
        onMaskClick: K[3] || (K[3] = (we) => e(_)(e(n).onMaskClick, we))
      }), {
        default: X(({ show: we }) => [
          f.value ? (S(), D("div", {
            key: 0,
            ref_key: "reference",
            ref: C,
            class: x(e(s).be("reference")),
            role: "none",
            "aria-hidden": "true",
            style: Qe({
              top: `${f.value[1]}px`,
              left: `${f.value[0]}px`,
              width: `${f.value[2]}px`,
              height: `${f.value[3]}px`
            })
          }, null, 6)) : ge("", !0),
          y(En, {
            appear: "",
            name: e(s).ns("fade")
          }, {
            default: X(() => [
              we && w.value ? (S(), Be(e(xi), {
                key: 0,
                ref_key: "bubble",
                ref: i,
                inherit: "",
                class: x([
                  e(s).be("bubble"),
                  !f.value && e(s).bem("bubble", "center"),
                  T.value && e(s).bem("bubble", "typed"),
                  T.value && e(s).bem("bubble", T.value)
                ]),
                "content-class": e(s).be("step"),
                placement: e(E),
                type: w.value.type || e(n).type
              }, {
                default: X(() => [
                  e(on)(w.value.renderer) ? (S(), Be(e(me), {
                    key: 0,
                    renderer: w.value.renderer,
                    data: R
                  }, null, 8, ["renderer"])) : (S(), D(st, { key: 1 }, [
                    oe("div", {
                      class: x(e(s).be("header"))
                    }, [
                      W(Z.$slots, "header", It(Yt(e(L))), () => [
                        y(e(me), {
                          renderer: e(n).slots.header,
                          data: e(L)
                        }, {
                          default: X(() => [
                            oe("div", {
                              class: x(e(s).be("title"))
                            }, [
                              W(Z.$slots, "title", It(Yt(e(L))), () => [
                                y(e(me), {
                                  renderer: e(n).slots.title,
                                  data: e(L)
                                }, {
                                  default: X(() => [
                                    dt(ze(w.value.title ?? e(jc)(e(c).stepCount, m.value)), 1)
                                  ]),
                                  _: 1
                                }, 8, ["renderer", "data"])
                              ])
                            ], 2),
                            e(n).closable ? (S(), D("button", {
                              key: 0,
                              type: "button",
                              class: x(e(s).be("close")),
                              onClick: q
                            }, [
                              W(Z.$slots, "close", It(Yt(e(L))), () => [
                                y(e(me), {
                                  renderer: e(n).slots.close,
                                  data: e(L)
                                }, {
                                  default: X(() => [
                                    y(e(Oe), He(e(d).close, {
                                      scale: +(e(d).close.scale || 1) * 1.2,
                                      label: "close"
                                    }), null, 16, ["scale"])
                                  ]),
                                  _: 1
                                }, 8, ["renderer", "data"])
                              ])
                            ], 2)) : ge("", !0)
                          ]),
                          _: 3
                        }, 8, ["renderer", "data"])
                      ])
                    ], 2),
                    oe("div", {
                      class: x(e(s).be("content"))
                    }, [
                      W(Z.$slots, "body", It(Yt(e(L))), () => [
                        y(e(me), {
                          renderer: e(n).slots.body,
                          data: e(L)
                        }, {
                          default: X(() => [
                            dt(ze(w.value.content), 1)
                          ]),
                          _: 1
                        }, 8, ["renderer", "data"])
                      ])
                    ], 2),
                    oe("div", {
                      class: x(e(s).be("footer"))
                    }, [
                      W(Z.$slots, "footer", It(Yt(e(L))), () => [
                        y(e(me), {
                          renderer: e(n).slots.footer,
                          data: e(L)
                        }, {
                          default: X(() => [
                            oe("div", {
                              class: x([e(s).be("sign"), e(s).bem("sign", e(n).signType)])
                            }, [
                              W(Z.$slots, "sign", It(Yt(e(L))), () => [
                                y(e(me), {
                                  renderer: e(n).slots.sign,
                                  data: e(L)
                                }, {
                                  default: X(() => [
                                    e(n).signType === "count" ? (S(), D(st, { key: 0 }, [
                                      oe("span", null, ze(m.value + 1), 1),
                                      oe("span", {
                                        class: x(e(s).be("count-sep"))
                                      }, "/", 2),
                                      oe("span", null, ze(k.value.length), 1)
                                    ], 64)) : (S(!0), D(st, { key: 1 }, ln(k.value.length, (de) => (S(), D("span", {
                                      key: de,
                                      class: x([
                                        e(s).be(`sign-${e(n).signType === "dot" ? "dot" : "bar"}`),
                                        de - 1 === m.value && e(s).bem(`sign-${e(n).signType === "dot" ? "dot" : "bar"}`, "active")
                                      ])
                                    }, null, 2))), 128))
                                  ]),
                                  _: 1
                                }, 8, ["renderer", "data"])
                              ])
                            ], 2),
                            K[4] || (K[4] = oe("span", {
                              style: { flex: "auto" },
                              role: "none"
                            }, null, -1)),
                            W(Z.$slots, "actions", It(Yt(e(L))), () => [
                              y(e(me), {
                                renderer: e(n).slots.actions,
                                data: e(L)
                              }, {
                                default: X(() => [
                                  m.value > 0 ? (S(), Be(e(Hn), {
                                    key: 0,
                                    inherit: "",
                                    class: x([e(s).be("action"), e(s).bem("action", "prev")]),
                                    size: "small",
                                    text: !!T.value,
                                    onClick: O
                                  }, {
                                    default: X(() => [
                                      dt(ze(e(c).prev), 1)
                                    ]),
                                    _: 1
                                  }, 8, ["class", "text"])) : ge("", !0),
                                  m.value <= k.value.length - 1 ? (S(), Be(e(Hn), {
                                    key: 1,
                                    inherit: "",
                                    class: x([e(s).be("action"), e(s).bem("action", "next")]),
                                    type: T.value ? "default" : "primary",
                                    size: "small",
                                    onClick: K[0] || (K[0] = (de) => H())
                                  }, {
                                    default: X(() => [
                                      dt(ze(m.value === k.value.length - 1 ? e(c).done : e(c).next), 1)
                                    ]),
                                    _: 1
                                  }, 8, ["class", "type"])) : ge("", !0)
                                ]),
                                _: 1
                              }, 8, ["renderer", "data"])
                            ])
                          ]),
                          _: 3,
                          __: [4]
                        }, 8, ["renderer", "data"])
                      ])
                    ], 2)
                  ], 64))
                ]),
                _: 3
              }, 8, ["class", "content-class", "placement", "type"])) : ge("", !0)
            ]),
            _: 2
          }, 1032, ["name"])
        ]),
        mask: X(() => {
          var we;
          return [
            (S(), D("svg", Zw, [
              oe("defs", null, [
                oe("mask", { id: e(z) }, [
                  K[5] || (K[5] = oe("rect", {
                    x: "0",
                    y: "0",
                    width: "100%",
                    height: "100%",
                    fill: "white"
                  }, null, -1)),
                  f.value ? (S(), D("rect", {
                    key: 0,
                    class: x([e(s).be("hollow"), e(s).bem("hollow", "active")]),
                    x: f.value[0],
                    y: f.value[1],
                    width: f.value[2],
                    height: f.value[3],
                    fill: "black"
                  }, null, 10, Qw)) : ge("", !0)
                ], 8, Jw)
              ]),
              oe("rect", {
                x: "0",
                y: "0",
                width: "100%",
                height: "100%",
                fill: "rgba(0, 0, 0, 45%)",
                mask: `url(#${e(z)})`
              }, null, 8, ex),
              (we = u.value) != null && we.length ? (S(), D("g", tx, [
                (S(!0), D(st, null, ln(u.value, (de, te) => (S(), D("rect", {
                  key: te,
                  x: de[0],
                  y: de[1],
                  width: de[2],
                  height: de[3]
                }, null, 8, nx))), 128))
              ])) : ge("", !0)
            ]))
          ];
        }),
        _: 3
      }, 16, ["active", "inherit", "class", "transfer", "disabled", "onShow"])
    ], 64));
  }
}), ax = Object.keys(gf), rx = [], ox = ["renderer"], sx = {
  default: null,
  isFunc: !0,
  static: !0
}, ix = Xe({
  name: "TourStep",
  props: gf,
  setup(t, { slots: r }) {
    const l = ct("tourStep", t, {
      target: {
        default: null,
        static: !0
      },
      placement: "bottom",
      title: "",
      content: "",
      order: {
        default: 0,
        static: !0
      },
      type: "default",
      renderer: sx
    }), a = Et(yf, null), n = pt({});
    for (const s of ax)
      ox.includes(s) || le(
        () => l[s],
        (c) => {
          n[s] = c;
        },
        { immediate: !0, deep: rx.includes(s) }
      );
    le(() => l.renderer, o), o(), a == null || a.increaseStep(n), pn(() => {
      a == null || a.decreaseStep(n);
    });
    function o() {
      typeof r.default == "function" ? n.renderer = (s) => W(r, "default", s) : typeof l.renderer == "function" ? n.renderer = l.renderer : n.renderer = void 0;
    }
    return () => null;
  }
}), sc = /* @__PURE__ */ Xe({
  name: "TransferPanel",
  props: {
    type: {
      type: String,
      default: null
    },
    state: {
      type: Zn,
      default: "default"
    },
    selected: {
      type: Set,
      default: () => /* @__PURE__ */ new Set()
    },
    paged: {
      type: Boolean,
      default: !1
    },
    filter: {
      type: Function,
      default: null
    },
    disabled: {
      type: Boolean,
      default: !1
    },
    title: {
      type: String,
      default: ""
    },
    options: {
      type: Array,
      default: () => []
    },
    emptyText: {
      type: String,
      default: "暂无数据"
    },
    optionHeight: {
      type: Number,
      default: 32
    },
    deepState: {
      type: Boolean,
      default: !1
    },
    loading: {
      type: Boolean,
      default: !1
    },
    loadingIcon: {
      type: [Object, Function],
      default: null
    },
    loadingLock: {
      type: Boolean,
      default: !1
    },
    loadingEffect: {
      type: String,
      default: null
    },
    locale: {
      type: Object,
      default: () => ({})
    }
  },
  emits: ["update:selected", "select", "enter", "switch"],
  setup(t, {
    slots: r,
    emit: l
  }) {
    const a = Ye("transfer"), n = Gt(), {
      isRtl: o
    } = Un(), s = $(new Set(t.selected)), c = $(10), d = $(1), p = $(null), m = $(-1), b = $(""), f = $(!1), u = $(), h = $(), i = $(), v = $(), k = $(), w = $();
    let T = 0, F = null, A = !1;
    const {
      target: z,
      modifier: C
    } = cl({
      passive: !1,
      onKeyDown: (ue, J) => {
        za([[() => J.up || J.down, () => {
          !A && m.value < 0 ? (A = !0, F ? m.value = t.options.findIndex((N) => N.value === F) : w.value && (m.value = Math.round(w.value.scrollOffset / t.optionHeight)), m.value = m.value === -1 ? 0 : m.value) : m.value = cn(Se(m.value + (J.up ? -1 : 1), J.up ? -1 : 1), 0, I.value.length - 1), t.paged || Ce(m.value, J.up ? "top" : "bottom");
        }], [() => t.paged && (J.left || J.right) && ue.ctrlKey, () => {
          te(d.value + (J.left ? -1 : 1)), m.value = 0;
        }], [() => t.type === "source" && J.right || t.type === "target" && J.left, () => {
          A = !1, m.value = -1, F = null, l("switch");
        }], [() => J.space, () => {
          const N = I.value[m.value];
          N && (s.value[s.value.has(N.value) ? "delete" : "add"](N.value), de());
        }], [() => J.enter, () => l("enter")], [() => typeof t.filter == "function" && !!k.value && J["ctrl+f"], () => {
          ue.stopPropagation(), k.value.focus();
        }]], {
          beforeMatchAny: () => ue.preventDefault(),
          afterMatchAny: J.resetAll
        });
      }
    }), E = g(() => ({
      [a.be("panel")]: !0,
      [a.bem("panel", t.state)]: t.state !== "default",
      [a.bem("panel", "disabled")]: t.disabled
    })), P = g(() => {
      const ue = t.filter, J = b.value;
      return ue && J ? t.options.filter((N) => ue(J, N)) : t.options;
    }), R = g(() => P.value.length), L = g(() => P.value.slice((d.value - 1) * c.value, d.value * c.value)), I = g(() => t.paged ? L.value : P.value), G = g(() => Math.ceil(R.value / (c.value || 1)));
    le(() => t.selected, (ue) => {
      s.value = ue;
    }), le(R, () => {
      A = !1, m.value = -1, F = null;
    });
    const ee = $(!1), O = $(!1);
    In(() => {
      const ue = P.value, J = s.value;
      let N = !1, j = !1;
      for (let ae = 0, be = R.value; ae < be; ++ae) {
        const re = ue[ae];
        if (re.disabled || (J.has(re.value) ? N = !0 : j = !0), N && j)
          break;
      }
      O.value = N && !j, ee.value = !O.value && J.size > 0;
    });
    function H() {
      requestAnimationFrame(() => {
        var J;
        const ue = h.value || ((J = w.value) == null ? void 0 : J.wrapper);
        if (ue) {
          const N = getComputedStyle(ue), j = parseInt(N.paddingTop), ae = parseInt(N.paddingBottom), be = ue.offsetHeight - j - ae;
          T = be, c.value = Math.floor(be / (t.optionHeight || 1));
        }
      });
    }
    function U(ue) {
      if (!(t.disabled || ue.disabled)) {
        if (p.value && C.shift) {
          q(p.value, ue.value);
          return;
        }
        s.value.has(ue.value) ? s.value.delete(ue.value) : s.value.add(ue.value), A = !1, m.value = -1, F = ue.value, p.value = ue.value, de();
      }
    }
    function q(ue, J) {
      var re;
      const N = P.value;
      let j = -1, ae = -1;
      for (let ce = 0, Pe = N.length; ce < Pe; ++ce) {
        const at = N[ce];
        if (at.value === ue ? j = ce : at.value === J && (ae = ce), j > 0 && ae > 0) break;
      }
      const be = s.value.has((re = N[j]) == null ? void 0 : re.value) ? "add" : "delete";
      j > ae && ([j, ae] = [ae, j]);
      for (let ce = j; ce <= ae; ++ce) {
        const Pe = N[ce];
        Pe.disabled || s.value[be](Pe.value);
      }
      de();
    }
    function Z(ue) {
      if (ue == null || ue.preventDefault(), !t.disabled) {
        if (O.value)
          for (const J of P.value)
            !J.disabled && s.value.delete(J.value);
        else
          for (const J of P.value)
            !J.disabled && s.value.add(J.value);
        p.value = null, de();
      }
    }
    function K() {
      if (!t.disabled)
        if (ee.value) {
          const ue = new Set(s.value);
          for (const J of P.value)
            J.disabled || (ue.has(J.value) ? s.value.delete(J.value) : s.value.add(J.value));
          p.value = null, de();
        } else
          Z();
    }
    function we() {
      p.value = null, C.resetAll();
    }
    function de() {
      l("update:selected", s.value), l("select");
    }
    function te(ue) {
      d.value = cn(ue, 1, G.value);
    }
    function Ee(ue, J) {
      var j;
      const N = I.value;
      for (J = J / Math.abs(J); (j = N[ue]) != null && j.disabled && (ue += J, !(ue < 0 || ue >= N.length)); )
        ;
      return ue;
    }
    function Se(ue, J = 1) {
      var j;
      const N = I.value;
      return (j = N[ue]) != null && j.disabled && (ue = Ee(ue, J), (J > 0 ? ue >= N.length : ue < 0) && (ue = Ee(ue, -J), (J > 0 ? ue < 0 : ue >= N.length) && (ue = -1))), ue;
    }
    function Ce(ue, J) {
      const N = t.options[ue];
      if (!(t.paged || !N || !w.value))
        if (J === "bottom") {
          const j = (ue + 1) * t.optionHeight;
          w.value.scrollOffset + T < j && w.value.scrollTo((ue - c.value + 1) * t.optionHeight);
        } else {
          const j = ue * t.optionHeight;
          w.value.scrollOffset > j && w.value.scrollTo(j);
        }
    }
    const fe = pt({
      type: qe(t, "type"),
      currentPage: d,
      pageSize: c,
      totalPages: G,
      allSelected: O,
      partial: ee,
      selected: g(() => Array.from(s.value)),
      options: g(() => P.value),
      toggleSelectAll: Z,
      handleReverse: K
    });
    function ot({
      option: ue,
      index: J
    }) {
      const N = t.disabled || ue.disabled, j = (ae) => {
        ae.preventDefault(), ae.stopPropagation(), U(ue);
      };
      return y("li", {
        class: {
          [a.be("option")]: !0,
          [a.bem("option", "disabled")]: N,
          [a.bem("option", "hitting")]: m.value === J
        },
        role: "option",
        "aria-disabled": N ? "true" : void 0,
        onClick: () => U(ue)
      }, [W(r, "option", {
        type: t.type,
        option: ue,
        index: J
      }, () => [y(xl, {
        key: 1,
        class: a.be("checkbox"),
        state: t.deepState ? t.state : void 0,
        checked: s.value.has(ue.value),
        disabled: N,
        "tab-index": -1,
        onClick: j
      }, null), y("span", {
        key: 2,
        class: a.be("label")
      }, [W(r, "label", {
        type: t.type,
        option: ue,
        index: J
      }, () => [ue.label])])])]);
    }
    function Ze() {
      return y("div", {
        ref: u,
        class: a.be("header")
      }, [W(r, "header", fe, () => [y(st, null, [y(xl, {
        inherit: !0,
        control: !0,
        class: a.be("checkbox"),
        state: t.deepState ? t.state : void 0,
        checked: O.value,
        partial: ee.value,
        disabled: t.disabled,
        "tab-index": -1,
        onClick: Z
      }, null), y("div", {
        class: [a.be("reverse"), t.disabled && a.bem("reverse", "disabled")],
        title: t.locale.reverse,
        onClick: K
      }, [y(Oe, He(n.value.retweet, {
        scale: +(n.value.retweet.scale || 1) * 1.2
      }), null)]), y("div", {
        class: a.be("counter")
      }, [`${s.value.size}/${P.value.length}`]), (t.title || r.title) && y("span", {
        class: a.be("title")
      }, [W(r, "title", fe, () => [t.title])]), y(Ul, {
        appear: !0,
        horizontal: !0,
        "fade-effect": !0
      }, {
        default: () => [t.loading && y("div", {
          class: a.be("loading")
        }, [y(Oe, He(n.value.loading, {
          effect: t.loadingEffect || n.value.loading.effect,
          icon: t.loadingIcon || n.value.loading.icon,
          label: "loading"
        }), null)])]
      })])])]);
    }
    function Je() {
      if (typeof t.filter != "function") return null;
      const ue = (J) => J.stopPropagation();
      return y("div", {
        ref: v,
        class: a.be("filter")
      }, [y(Vr, {
        ref: k,
        value: b.value,
        "onUpdate:value": (J) => b.value = J,
        inherit: !0,
        clearable: !0,
        sync: !0,
        disabled: t.disabled,
        placeholder: f.value ? void 0 : t.locale.search,
        onKeydown: ue,
        onFocus: () => f.value = !0,
        onBlur: () => f.value = !1
      }, {
        suffix: () => y(Oe, n.value.search, null)
      })]);
    }
    function se() {
      return t.paged || r.body ? y(zn, {
        throttle: !0,
        onResize: H
      }, {
        default: () => [y("ul", {
          ref: h,
          class: a.be("body"),
          role: "listbox"
        }, [W(r, "body", fe, () => [L.value.length ? L.value.map((ue, J) => ot({
          option: ue,
          index: J
        })) : y("div", {
          class: a.be("empty")
        }, [t.emptyText || t.locale.empty])])])]
      }) : y(Wr, {
        ref: w,
        inherit: !0,
        class: a.be("body"),
        items: P.value,
        "item-size": t.optionHeight,
        "item-fixed": !0,
        "use-y-bar": !0,
        "id-key": "value",
        "items-attrs": {
          role: "listbox",
          ariaLabel: t.type
        },
        onResize: H
      }, {
        default: ({
          item: ue,
          index: J
        }) => ot({
          option: ue,
          index: J
        }),
        empty: () => y("div", {
          class: a.be("empty")
        }, [t.emptyText || t.locale.empty])
      });
    }
    function ne() {
      return !t.paged && !r.footer ? null : y("div", {
        ref: i,
        class: a.be("footer")
      }, [W(r, "footer", fe, () => [y("div", {
        class: a.be("pagination")
      }, [y(Oe, He(o.value ? n.value.angleRight : n.value.angleLeft, {
        class: [a.be("page-plus"), d.value <= 1 && a.bem("page-plus", "disabled")],
        onClick: () => te(d.value - 1)
      }), null), y(Ir, {
        inherit: !0,
        value: d.value,
        class: a.be("page-input"),
        size: "small",
        min: 1,
        max: G.value,
        onChange: te
      }, null), y("span", {
        style: "margin: 0 4px"
      }, ["/"]), y("span", null, [G.value]), y(Oe, He(o.value ? n.value.angleLeft : n.value.angleRight, {
        class: [a.be("page-minus"), d.value >= G.value && a.bem("page-minus", "disabled")],
        onClick: () => te(d.value + 1)
      }), null)])])]);
    }
    return () => y("div", {
      ref: z,
      class: E.value,
      tabindex: 0,
      onBlur: we
    }, [Ze(), Je(), se(), ne()]);
  }
}), ux = ft({
  state: Zn,
  locale: Mn(),
  options: Array,
  value: Array,
  disabled: M,
  paged: M,
  filter: {
    type: [Boolean, Function],
    default: null
  },
  emptyText: String,
  keyConfig: Object,
  optionHeight: Number,
  ignoreCase: M,
  sourceTitle: String,
  targetTitle: String,
  deepState: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  slots: Object,
  onChange: B(),
  onSelect: B()
}), cx = {
  value: "value",
  label: "label",
  disabled: "disabled"
}, dx = /* @__PURE__ */ Xe({
  name: "Transfer",
  props: ux,
  emits: ["update:value"],
  setup(t, {
    slots: r,
    emit: l,
    expose: a
  }) {
    const {
      idFor: n,
      labelId: o,
      state: s,
      disabled: c,
      loading: d,
      validateField: p,
      getFieldValue: m,
      setFieldValue: b
    } = al(() => {
      var Je, se;
      return (se = (Je = C.value) == null ? void 0 : Je.$el) == null ? void 0 : se.focus();
    }), f = ct("transfer", t, {
      state: ll(s),
      locale: null,
      options: {
        default: () => [],
        static: !0
      },
      value: {
        default: () => m(),
        static: !0
      },
      disabled: () => c.value,
      paged: !1,
      filter: !1,
      emptyText: null,
      keyConfig: () => ({}),
      optionHeight: {
        default: 32,
        validator: (Je) => Je > 0
      },
      ignoreCase: !1,
      sourceTitle: null,
      targetTitle: null,
      deepState: !1,
      loading: () => d.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      slots: () => ({})
    }), {
      isRtl: u
    } = Un(), h = Ye("transfer"), i = vn("transfer", qe(f, "locale")), v = Gt(), k = $(null), w = $(/* @__PURE__ */ new Set()), T = $(/* @__PURE__ */ new Set()), F = $([]), A = $([]), z = $([]), C = $(), E = $(), P = g(() => ({
      ...cx,
      ...f.keyConfig
    }));
    let R = /* @__PURE__ */ new Map(), L = f.value;
    const I = $(0);
    In(() => {
      f.keyConfig.value, f.keyConfig.label, f.keyConfig.disabled;
      for (let Je = 0, se = f.options.length; Je < se; ++Je)
        f.options[Je];
      I.value++;
    }), le(I, G, {
      immediate: !0
    }), In(() => {
      if (!k.value.size) {
        F.value = Array.from(z.value), A.value = [];
        return;
      }
      const Je = new Set(k.value), se = [], ne = [];
      for (const ue of z.value)
        Je.has(ue.value) ? se.push(ue) : ne.push(ue);
      A.value = se, F.value = ne;
    });
    function G() {
      const {
        value: Je,
        label: se,
        disabled: ne
      } = P.value, ue = R, J = /* @__PURE__ */ new Map();
      f.options.forEach((N) => {
        const j = typeof N == "string" ? {
          [Je]: N
        } : N, ae = j[Je];
        if (Tt(ae)) return;
        const be = j[se] || String(ae), {
          [ne]: re = !1
        } = j, ce = ue.get(j.value), Pe = pt({
          disabled: re,
          value: ae,
          label: be,
          hidden: (ce == null ? void 0 : ce.hidden) ?? !1,
          hitting: (ce == null ? void 0 : ce.hitting) ?? !1,
          data: N
        });
        J.set(ae, Pe);
      }), R = J, z.value = Array.from(J.values()), k.value = new Set(L);
    }
    const ee = g(() => f.loading && f.loadingLock), O = g(() => [h.b(), h.bs("vars"), {
      [h.bm("inherit")]: f.inherit,
      [h.bm(f.state)]: f.state !== "default",
      [h.bm("readonly")]: ee.value,
      [h.bm("loading")]: f.loading
    }]), H = g(() => f.deepState && f.state !== "default" ? f.state : "primary"), U = g(() => !!w.value.size), q = g(() => !!T.value.size), Z = g(() => f.ignoreCase ? (Je, se) => se.label.toLocaleLowerCase().includes(Je) : (Je, se) => se.label.includes(Je)), K = g(() => de("source")), we = g(() => de("target"));
    le(() => f.value, (Je) => {
      L = Je, k.value = new Set(L);
    }), a({
      handleToTarget: Ee,
      handleToSource: Se,
      handlePanelFocus: fe,
      handlePanelBlur: ot,
      focus: (Je) => {
        var se, ne;
        return (ne = (se = C.value) == null ? void 0 : se.$el) == null ? void 0 : ne.focus(Je);
      },
      blur: () => {
        var Je, se, ne, ue;
        (se = (Je = C.value) == null ? void 0 : Je.$el) == null || se.blur(), (ue = (ne = E.value) == null ? void 0 : ne.$el) == null || ue.blur();
      }
    });
    function de(Je) {
      const se = f.filter;
      if (se)
        return typeof se == "function" ? (ne, ue) => se(ne, ue, Je) : Z.value;
    }
    function te() {
      L = Array.from(k.value), l("update:value", L), b(L), _(f.onChange, L), p();
    }
    function Ee() {
      for (const Je of w.value)
        k.value.add(Je);
      w.value.clear(), te();
    }
    function Se() {
      for (const Je of T.value)
        k.value.delete(Je);
      T.value.clear(), te();
    }
    function Ce(Je) {
      const se = {
        source: Array.from(w.value),
        target: Array.from(T.value)
      }, ne = {
        source: se.source.map((ue) => {
          var J;
          return ((J = R.get(ue)) == null ? void 0 : J.data) ?? "";
        }),
        target: se.target.map((ue) => {
          var J;
          return ((J = R.get(ue)) == null ? void 0 : J.data) ?? "";
        })
      };
      _(f.onSelect, Je, se, ne);
    }
    function fe(Je) {
      var se, ne;
      Je === "source" ? (se = C.value) == null || se.$el.focus() : (ne = E.value) == null || ne.$el.focus();
    }
    function ot() {
      var Je, se;
      (Je = C.value) == null || Je.$el.blur(), (se = E.value) == null || se.$el.blur();
    }
    function Ze(Je) {
      let se = Yn(r, Je);
      if (!se) {
        for (const ne of Je)
          if (se = f.slots[ne], typeof se == "function")
            break;
        return typeof se == "function" ? (ne) => y(me, {
          renderer: se,
          data: ne
        }, null) : null;
      }
      return null;
    }
    return () => y("div", {
      id: n.value,
      class: O.value,
      role: "application",
      "aria-labelledby": o.value
    }, [y(sc, {
      ref: C,
      selected: w.value,
      "onUpdate:selected": (Je) => w.value = Je,
      type: "source",
      class: h.bem("panel", "source"),
      state: f.state,
      paged: f.paged,
      filter: K.value,
      disabled: f.disabled,
      title: f.sourceTitle || i.value.source,
      options: F.value,
      "empty-text": f.emptyText || i.value.empty,
      "option-height": f.optionHeight,
      "ignore-case": f.ignoreCase,
      "deep-state": f.deepState,
      loading: f.loading,
      "loading-icon": f.loadingIcon,
      "loading-lock": f.loadingLock,
      "loading-effect": f.loadingEffect,
      locale: i.value,
      onSelect: () => Ce("source"),
      onEnter: Ee,
      onSwitch: () => fe("target")
    }, {
      header: Ze(["source-header", "sourceHeader", "header"]),
      title: Ze(["source-title", "sourceTitle", "title"]),
      body: Ze(["source-body", "sourceBody", "body"]),
      footer: Ze(["source-footer", "sourceFooter", "footer"]),
      option: Ze(["source-option", "sourceOption", "option"]),
      label: Ze(["source-label", "sourceLabel", "label"])
    }), y("div", {
      class: h.be("actions")
    }, [W(r, "actions", {
      handleToTarget: Ee,
      handleToSource: Se
    }, () => [y(me, {
      renderer: f.slots.actions,
      data: {
        handleToTarget: Ee,
        handleToSource: Se
      }
    }, {
      default: () => [y(Hn, {
        key: 1,
        inherit: !0,
        class: h.be("action"),
        type: H.value,
        size: "small",
        disabled: f.disabled || !U.value,
        loading: ee.value,
        "loading-icon": f.loadingIcon,
        "loading-effect": f.loadingEffect,
        style: {
          marginBottom: "6px"
        },
        onClick: Ee
      }, {
        icon: () => y(Oe, He(u.value ? v.value.angleLeft : v.value.angleRight, {
          label: u.value ? "to left" : "to right"
        }), null)
      }), y(Hn, {
        key: 2,
        inherit: !0,
        class: h.be("action"),
        type: H.value,
        size: "small",
        disabled: f.disabled || !q.value,
        loading: ee.value,
        "loading-icon": f.loadingIcon,
        "loading-effect": f.loadingEffect,
        style: {
          margin: "0"
        },
        onClick: Se
      }, {
        icon: () => y(Oe, He(u.value ? v.value.angleRight : v.value.angleLeft, {
          label: u.value ? "to right" : "to left"
        }), null)
      })]
    })])]), y(sc, {
      ref: E,
      selected: T.value,
      "onUpdate:selected": (Je) => T.value = Je,
      type: "target",
      class: h.bem("panel", "target"),
      state: f.state,
      paged: f.paged,
      filter: we.value,
      disabled: f.disabled,
      title: f.targetTitle || i.value.target,
      options: A.value,
      "empty-text": f.emptyText || i.value.empty,
      "option-height": f.optionHeight,
      "ignore-case": f.ignoreCase,
      "deep-state": f.deepState,
      loading: f.loading,
      "loading-icon": f.loadingIcon,
      "loading-lock": f.loadingLock,
      "loading-effect": f.loadingEffect,
      locale: i.value,
      onSelect: () => Ce("target"),
      onEnter: Se,
      onSwitch: () => fe("source")
    }, {
      header: Ze(["target-header", "targetHeader", "header"]),
      title: Ze(["target-title", "targetTitle", "title"]),
      body: Ze(["target-body", "targetBody", "body"]),
      footer: Ze(["target-footer", "targetFooter", "footer"]),
      option: Ze(["target-option", "targetOption", "option"]),
      label: Ze(["target-label", "targetLabel", "label"])
    })]);
  }
});
var ba = /* @__PURE__ */ ((t) => (t.BEFORE = "before", t.INNER = "inner", t.AFTER = "after", t))(ba || {});
const kf = "__VXP_TREE_STATE", fx = "__VXP_TREE_NODE_STATE", px = {
  id: "id",
  parent: "parent",
  label: "label",
  children: "children",
  visible: "visible",
  selected: "selected",
  expanded: "expanded",
  disabled: "disabled",
  checked: "checked",
  loading: "loading",
  loaded: "loaded",
  loadFail: "loadFail",
  readonly: "readonly",
  arrow: "arrow",
  checkbox: "checkbox",
  selectDisabled: "selectDisabled",
  expandDisabled: "expandDisabled",
  checkDisabled: "checkDisabled",
  isLeaf: "isLeaf"
}, vx = ["draggable", "aria-disabled", "aria-grabbed"], hx = ["aria-hidden"], ic = /* @__PURE__ */ Xe({
  name: "TreeNode",
  inheritAttrs: !1,
  __name: "tree-node",
  props: {
    node: {
      type: Object,
      default: () => ({})
    }
  },
  setup(t) {
    const r = t, l = Et(kf), a = Ye("tree"), n = Gt(), { isRtl: o } = Un(), s = $(), c = $(), d = g(() => r.node.parent ? l.nodeStates.get(r.node.parent) : void 0);
    cl({
      target: s,
      passive: !1,
      onKeyDown: (te, Ee) => {
        l.expanding || za(
          [
            [
              () => Ee.up || Ee.down,
              () => l.handleHittingChange(Ee.up ? "up" : "down")
            ],
            [
              () => Ee.left || Ee.right,
              () => {
                var Ce, fe;
                const Se = ((Ce = r.node.children) == null ? void 0 : Ce.length) > 0;
                Ee.right && r.node.expanded && Se ? l.handleHittingChange("down") : Ee.left && (!r.node.expanded || !Se) ? l.handleNodeHitting((fe = d.value) == null ? void 0 : fe.el) : G(Ee.right);
              }
            ],
            [() => A.value && Ee.space, I],
            [() => Ee.enter, ee]
          ],
          {
            beforeMatchAny: () => {
              te.preventDefault(), te.stopPropagation();
            },
            afterMatchAny: Ee.resetAll
          }
        );
      }
    });
    const p = $(!l.boundAsyncLoad || r.node.loaded), m = $(l.boundAsyncLoad && r.node.loadFail), b = $(!1), f = $(!1), u = $(!1), h = g(() => {
      var te;
      return !l.noCascaded && ((te = d.value) == null ? void 0 : te.disabled) || r.node.disabled;
    }), i = g(() => {
      var te;
      return !l.noCascaded && ((te = d.value) == null ? void 0 : te.readonly) || r.node.readonly;
    }), v = g(
      () => !r.node.matched && (r.node.childMatched || r.node.upperMatched)
    ), k = g(() => !!l.linkLine && r.node.depth > 0), w = g(() => {
      var te;
      return {
        [a.be("node")]: !0,
        [a.bem("node", "last")]: r.node.last,
        [a.bem("node", "focused")]: u.value,
        [a.bem("node", "selected")]: r.node.selected,
        [a.bem("node", "expanded")]: r.node.expanded,
        [a.bem("node", "disabled")]: h.value,
        [a.bem("node", "readonly")]: i.value,
        [a.bem("node", "secondary")]: v.value,
        [a.bem("node", "dragging")]: b.value,
        [a.bem("node", "drag-over")]: f.value,
        [a.bem("node", "link-line")]: k.value,
        [a.bem("node", "no-arrow")]: !F.value,
        [a.bem("node", "is-floor")]: l.floorSelect && ((te = r.node.children) == null ? void 0 : te.length),
        [a.bem("node", "loaded")]: p.value,
        [a.bem("node", "load-fail")]: m.value
      };
    }), T = g(() => {
      var Ce;
      const te = r.node.isLeaf;
      let Ee = "auto", Se = !1;
      return Tt(te) || te === "auto" ? (Ee = "auto", Se = l.boundAsyncLoad) : Ee = te, Ee === "auto" ? !((Ce = r.node.children) != null && Ce.length || Se && !p.value) : !!Ee;
    }), F = g(() => Tt(r.node.arrow) || r.node.arrow === "auto" ? l.arrow === "auto" ? !T.value : l.arrow : r.node.arrow), A = g(() => {
      const te = r.node.checkbox;
      return Tt(te) ? l.checkbox : te;
    }), z = g(() => l.suffixCheckbox), C = pt({
      el: s,
      depth: g(() => r.node.depth),
      disabled: h,
      readonly: i
    });
    le([() => l.boundAsyncLoad, () => r.node.loaded], (te) => {
      p.value = !te[0] || te[1];
    }), le([() => l.boundAsyncLoad, () => r.node.loadFail], (te) => {
      m.value = !te[0] || te[1];
    }), le(
      () => r.node.id,
      (te, Ee) => {
        l.nodeStates.delete(Ee), l.nodeStates.set(te, C);
      }
    ), l.nodeStates.set(r.node.id, C);
    let E;
    pn(() => {
      clearTimeout(E), l.nodeStates.set(r.node.id, C);
    });
    function P(te, Ee) {
      r.node[te] = Ee;
    }
    function R() {
      l.handleNodeClick(r.node), l.blockEffect && O();
    }
    function L(te) {
      l.handleNodeContextmenu(te, r.node);
    }
    function I(te = !r.node.checked) {
      h.value || r.node.checkDisabled || (P("checked", te), P("partial", !1), kt(() => {
        l.computeCheckedState(r.node, te);
      }));
    }
    async function G(te = !r.node.expanded) {
      if (!(l.expanding || r.node.loading || h.value || r.node.expandDisabled || T.value))
        if (te && l.boundAsyncLoad && !p.value) {
          P("loading", !0);
          const Ee = await l.handleAsyncLoad(r.node);
          H(Ee);
        } else
          P("expanded", te), te ? l.handleNodeExpand(r.node) : l.handleNodeReduce(r.node);
    }
    async function ee(te = !r.node.selected) {
      if (h.value || r.node.selectDisabled) return;
      if (l.floorSelect) {
        await G();
        return;
      }
      const Ee = !i.value && te;
      (Ee || !l.keepSelected) && P("selected", Ee), i.value || te ? l.handleNodeSelect(r.node) : (l.multiple || !l.keepSelected) && l.handleNodeCancel(r.node);
    }
    function O() {
      l.handleLabelClick(r.node), ee();
    }
    function H(te = !0) {
      var Ee;
      P("loading", !1), P("expanded", te !== !1), te !== !1 ? (P("loaded", !0), P("loadFail", !1), (Ee = r.node.children) != null && Ee.length ? l.handleNodeExpand(r.node) : P("arrow", !1)) : P("loadFail", !0);
    }
    function U() {
      return {
        el: s.value,
        arrow: c.value,
        node: r.node
      };
    }
    function q() {
      l.draggable && (b.value = !0, l.handleNodeDragStart(U()));
    }
    function Z(te) {
      !l.draggable || !l.dragging || (clearTimeout(E), te.stopPropagation(), te.preventDefault(), f.value = !0, l.handleNodeDragOver(U(), te));
    }
    function K(te) {
      l.draggable && (clearTimeout(E), te.preventDefault(), E = setTimeout(() => {
        f.value = !1;
      }, 100));
    }
    function we(te) {
      !l.draggable || !l.dragging || (clearTimeout(E), te.stopPropagation(), te.preventDefault(), f.value = !1, l.handleNodeDrop(U()));
    }
    function de(te) {
      !l.draggable || !l.dragging || (te.stopPropagation(), b.value = !1, l.handleNodeDragEnd(U()));
    }
    return (te, Ee) => (S(), D("li", He(te.$attrs, {
      ref_key: "wrapper",
      ref: s,
      class: w.value,
      draggable: e(l).draggable,
      tabindex: "-1",
      "aria-disabled": h.value,
      "aria-grabbed": e(l).draggable && b.value ? "true" : void 0,
      style: { [e(a).cv("depth")]: t.node.depth },
      onClick: gt(R, ["left"]),
      onContextmenu: L,
      onFocus: Ee[4] || (Ee[4] = (Se) => u.value = !0),
      onBlur: Ee[5] || (Ee[5] = (Se) => u.value = !1),
      onDragstart: gt(q, ["stop"]),
      onDragover: Z,
      onDragleave: K,
      onDragend: de,
      onDrop: we
    }), [
      W(te.$slots, "default", {
        data: t.node.data,
        node: t.node,
        depth: t.node.depth,
        focused: u.value,
        lineCount: 0,
        lineIndexes: t.node.lineIndexes,
        toggleCheck: I,
        toggleExpand: G,
        toggleSelect: ee
      }, () => [
        k.value ? (S(), D(st, { key: 0 }, [
          (S(!0), D(st, null, ln(t.node.lineIndexes, (Se, Ce) => (S(), D("div", {
            key: Ce,
            class: x([
              e(a).be("link-line"),
              e(a).bem("link-line", "vertical"),
              !Ce && e(a).bem("link-line", "first")
            ]),
            style: Qe({ [e(a).cv("link-line-index")]: Se }),
            "aria-hidden": "true"
          }, null, 6))), 128)),
          oe("div", {
            class: x([e(a).be("link-line"), e(a).bem("link-line", "horizontal")]),
            "aria-hidden": "true"
          }, null, 2)
        ], 64)) : ge("", !0),
        oe("div", {
          class: x({
            [e(a).be("content")]: !0,
            [e(a).bem("content", "effect")]: e(l).blockEffect,
            [e(a).bem("content", "disabled")]: e(l).blockEffect && (h.value || t.node.selectDisabled)
          })
        }, [
          oe("span", {
            ref_key: "arrowEl",
            ref: c,
            class: x({
              [e(a).be("arrow")]: !0,
              [e(a).bem("arrow", "transparent")]: !t.node.loading && !F.value,
              [e(a).bem("arrow", "expanded")]: t.node.expanded,
              [e(a).bem("arrow", "disabled")]: h.value || t.node.expandDisabled
            }),
            "aria-hidden": !t.node.loading && !F.value,
            onClick: Ee[0] || (Ee[0] = gt((Se) => G(), ["stop"]))
          }, [
            t.node.loading ? (S(), Be(e(Oe), He({ key: 0 }, e(n).loading, { label: "loading" }), null, 16)) : W(te.$slots, "arrow", {
              key: 1,
              data: t.node.data,
              node: t.node,
              depth: t.node.depth,
              focused: u.value
            }, () => [
              e(l).arrowIcon ? (S(), Be(e(Oe), {
                key: 0,
                icon: e(l).arrowIcon
              }, null, 8, ["icon"])) : (S(), Be(e(Oe), It(He({ key: 1 }, e(o) ? e(n).angleLeft : e(n).angleRight)), null, 16))
            ])
          ], 10, hx),
          A.value && !z.value ? (S(), Be(e(xl), {
            key: 0,
            inherit: "",
            class: x(e(a).be("checkbox")),
            "tab-index": -1,
            control: F.value,
            checked: t.node.checked,
            disabled: h.value || t.node.checkDisabled,
            partial: t.node.partial,
            onClick: Ee[1] || (Ee[1] = gt((Se) => I(), ["prevent", "stop"]))
          }, null, 8, ["class", "control", "checked", "disabled", "partial"])) : ge("", !0),
          oe("div", {
            class: x({
              [e(a).be("label")]: !0,
              [e(a).bem("label", "effect")]: !e(l).blockEffect,
              [e(a).bem("label", "disabled")]: !e(l).blockEffect && (h.value || t.node.selectDisabled)
            }),
            onClick: Ee[2] || (Ee[2] = (Se) => !e(l).blockEffect && O())
          }, [
            e(l).prefixRenderer || te.$slots.prefix ? (S(), D("div", {
              key: 0,
              class: x(e(a).be("prefix"))
            }, [
              e(l).prefixRenderer ? (S(), Be(e(me), {
                key: 0,
                renderer: e(l).prefixRenderer,
                data: { node: t.node, depth: t.node.depth, data: t.node.data, focused: u.value }
              }, null, 8, ["renderer", "data"])) : W(te.$slots, "prefix", {
                key: 1,
                data: t.node.data,
                node: t.node,
                depth: t.node.depth,
                focused: u.value
              })
            ], 2)) : ge("", !0),
            oe("div", {
              class: x(e(a).be("text"))
            }, [
              e(l).renderer ? (S(), Be(e(me), {
                key: 0,
                renderer: e(l).renderer,
                data: { node: t.node, depth: t.node.depth, data: t.node.data, focused: u.value }
              }, null, 8, ["renderer", "data"])) : W(te.$slots, "label", {
                key: 1,
                data: t.node.data,
                node: t.node,
                depth: t.node.depth,
                focused: u.value
              }, () => [
                dt(ze(t.node.data[e(l).labelKey]), 1)
              ])
            ], 2),
            e(l).suffixRenderer || te.$slots.suffix ? (S(), D("div", {
              key: 1,
              class: x(e(a).be("suffix"))
            }, [
              e(l).suffixRenderer ? (S(), Be(e(me), {
                key: 0,
                renderer: e(l).suffixRenderer,
                data: { node: t.node, depth: t.node.depth, data: t.node.data, focused: u.value }
              }, null, 8, ["renderer", "data"])) : W(te.$slots, "suffix", {
                key: 1,
                data: t.node.data,
                node: t.node,
                depth: t.node.depth,
                focused: u.value
              })
            ], 2)) : ge("", !0)
          ], 2),
          A.value && z.value ? (S(), Be(e(xl), {
            key: 1,
            inherit: "",
            class: x([e(a).be("checkbox"), e(a).bem("checkbox", "suffix")]),
            "tab-index": -1,
            control: F.value,
            checked: t.node.checked,
            disabled: h.value || t.node.checkDisabled,
            partial: t.node.partial,
            onClick: Ee[3] || (Ee[3] = gt((Se) => I(), ["prevent", "stop"]))
          }, null, 8, ["class", "control", "checked", "disabled", "partial"])) : ge("", !0)
        ], 2)
      ])
    ], 16, vx));
  }
}), mx = ft({
  locale: Mn(),
  arrow: {
    type: [Boolean, String],
    default: null
  },
  data: Array,
  noBuildTree: M,
  emptyText: String,
  disabled: M,
  readonly: M,
  checkbox: M,
  suffixCheckbox: M,
  renderer: Function,
  prefixRenderer: Function,
  suffixRenderer: Function,
  multiple: M,
  indent: [String, Number],
  accordion: M,
  draggable: M,
  appear: M,
  floorSelect: M,
  onAsyncLoad: Function,
  cacheNode: M,
  rootId: [String, Number],
  keyConfig: Object,
  noCascaded: M,
  filter: [String, Function],
  ignoreCase: M,
  nodeProps: [Object, Function],
  linkLine: {
    type: [Boolean, String],
    default: null
  },
  postCreate: Function,
  virtual: M,
  nodeMinHeight: Number,
  useYBar: M,
  noTransition: M,
  arrowIcon: Xt,
  blockEffect: M,
  filterLeaf: M,
  keepSelected: M,
  slots: Object,
  onNodeChange: B(),
  onNodeClick: B(),
  onNodeSelect: B(),
  onNodeCancel: B(),
  onNodeExpand: B(),
  onNodeReduce: B(),
  onNodeContextmenu: B(),
  onDragStart: B(),
  onDragOver: B(),
  onDrop: B(),
  onDragEnd: B(),
  onLabelClick: B()
}), bx = /* @__PURE__ */ Xe({
  name: "Tree",
  __name: "tree",
  props: mx,
  setup(t, { expose: r }) {
    const a = ct("tree", t, {
      arrow: {
        default: "auto",
        validator: (Te) => typeof Te == "boolean" || Te === "auto"
      },
      data: {
        default: () => [],
        static: !0
      },
      noBuildTree: !1,
      emptyText: null,
      disabled: !1,
      readonly: !1,
      checkbox: !1,
      suffixCheckbox: !1,
      renderer: {
        default: null,
        isFunc: !0
      },
      prefixRenderer: {
        default: null,
        isFunc: !0
      },
      suffixRenderer: {
        default: null,
        isFunc: !0
      },
      multiple: !1,
      indent: "16px",
      accordion: !1,
      draggable: !1,
      appear: !1,
      floorSelect: !1,
      onAsyncLoad: {
        default: null,
        isFunc: !0
      },
      cacheNode: !1,
      rootId: null,
      keyConfig: () => ({}),
      noCascaded: !1,
      filter: "",
      ignoreCase: !1,
      nodeProps: null,
      linkLine: !1,
      postCreate: {
        default: null,
        isFunc: !0
      },
      virtual: !1,
      nodeMinHeight: {
        default: 26,
        validator: (Te) => Te > 0
      },
      useYBar: !1,
      noTransition: !1,
      arrowIcon: en(),
      blockEffect: !1,
      filterLeaf: !1,
      keepSelected: !1,
      slots: () => ({})
    }), n = kn(), o = Ye("tree"), s = vn("tree", qe(a, "locale")), c = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), p = $([]), m = $([]), b = $(!1), f = $(!1), u = pt({ ...px }), h = pt(/* @__PURE__ */ new Map()), i = $(!1), v = $([]), k = $(/* @__PURE__ */ new Set()), { timer: w } = Vn(), { isMounted: T } = _r(), F = $(), A = $(), z = $(), C = g(() => {
      var Te;
      return (Te = F.value) == null ? void 0 : Te.wrapper;
    });
    let E = [];
    const P = {
      visible: !0,
      selected: !1,
      expanded: !1,
      disabled: !1,
      checked: !1,
      loading: !1,
      loaded: !1,
      loadFail: !1,
      readonly: !1,
      arrow: "auto",
      // will follow checkbox prop of tree when not set (be null)
      checkbox: null,
      selectDisabled: !1,
      expandDisabled: !1,
      checkDisabled: !1,
      isLeaf: "auto"
    }, R = g(() => typeof a.onAsyncLoad == "function"), L = g(() => a.linkLine === !0 ? "dashed" : a.linkLine === "none" ? !1 : a.linkLine), I = g(() => ({
      [o.cv("indent-width")]: typeof a.indent == "number" ? `${a.indent}px` : a.indent,
      [o.cv("link-line-type")]: L.value || void 0
    })), G = g(() => Ee(p.value)), ee = g(() => i.value ? v.value : G.value), O = g(() => typeof a.nodeProps == "function" ? a.nodeProps : () => a.nodeProps);
    function H(Te) {
      const Y = a.ignoreCase ? String(Te).toLocaleLowerCase() : Te;
      return (xe) => {
        const We = xe[u.label];
        return a.ignoreCase ? String(We).toLocaleLowerCase().includes(Y) : String(We).includes(Y);
      };
    }
    const U = da(() => {
      C.value && (E = Nc(`.${o.be("node")}`, C.value));
    }, 300);
    let q = !1;
    function Z() {
      q = !0, kt(() => {
        q = !1;
      });
    }
    In(() => {
      const Te = m.value;
      if (Z(), a.filter) {
        const Y = typeof a.filter == "function" ? a.filter : H(a.filter), ke = a.filterLeaf;
        for (let xe = 0, We = Te.length; xe < We; ++xe) {
          const V = Te[xe];
          if (ke && !te(V)) {
            V.matched = !1, V.childMatched = !1, V.upperMatched = !1;
            continue;
          }
          const De = V.parent ? c.get(V.parent) : void 0;
          if (V.matched = Y(V.data, V), V.childMatched = !1, V.upperMatched = !!De && (De.matched || De.upperMatched), V.matched) {
            let _e = De;
            for (; _e && !_e.childMatched; )
              _e.childMatched = !0, _e.expanded = !0, _e = _e.parent ? c.get(_e.parent) : void 0;
          }
        }
      } else
        for (let Y = 0, ke = Te.length; Y < ke; ++Y) {
          const xe = Te[Y];
          xe.matched = !0, xe.childMatched = !1, xe.upperMatched = !1;
        }
      pe();
    }), In(() => Object.assign(u, a.keyConfig)), In(() => {
      const Te = k.value, Y = /* @__PURE__ */ new Set();
      let ke = !1;
      for (const xe of m.value)
        xe.expanded && (Y.add(xe.id), !ke && !Te.has(xe.id) && (ke = !0));
      (ke || Y.size !== Te.size) && (k.value = Y);
    }), le(
      [
        () => a.data,
        () => a.data.length,
        () => u.id,
        () => u.children,
        () => u.parent,
        () => a.rootId
      ],
      ot,
      { immediate: !0 }
    ), le(
      [p, () => a.rootId],
      () => {
        m.value = Ms(p.value, {
          keyField: "id",
          parentField: "parent",
          childField: "children",
          rootId: a.rootId,
          injectId: !1,
          depthFirst: !0
        });
      },
      { immediate: !0 }
    ), le(k, (Te, Y) => {
      var Ut, xn, qn, ul;
      if (a.noTransition && U(), a.noTransition || q || !C.value) return;
      let ke, xe;
      for (const Sn of Te)
        if (!Y.has(Sn)) {
          if (ke != null) return;
          ke = Sn;
        }
      for (const Sn of Y)
        if (!Te.has(Sn)) {
          if (xe != null) return;
          xe = Sn;
        }
      if (ke == null && xe == null || ke && !((xn = (Ut = c.get(ke)) == null ? void 0 : Ut.children) != null && xn.length) || xe && !((ul = (qn = c.get(xe)) == null ? void 0 : qn.children) != null && ul.length))
        return;
      clearTimeout(w.expand), wn.value = !1, i.value = !0;
      let We;
      ke != null && (We = Y), xe != null && (We ? (We = new Set(We), We.delete(xe)) : We = Te);
      const V = Ee(p.value, We), De = a.virtual, _e = C.value.offsetHeight, rt = a.nodeMinHeight || 1, xt = Math.ceil(_e / rt) + 1, Bt = [
        ke != null && { id: ke, type: "expand" },
        xe != null && { id: xe, type: "reduce" }
      ];
      for (const Sn of Bt) {
        if (!Sn) continue;
        const { id: jn, type: Wn } = Sn, Kt = V.findIndex((Pn) => Pn.id === jn);
        if (~Kt) {
          const Pn = V[Kt].children;
          if (Pn != null && Pn.length) {
            const mn = Ee(Pn, Te);
            V.splice(Kt + 1, 0, {
              id: Symbol("TreeNodePlaceholder"),
              collapse: !0,
              type: Wn,
              height: De ? mn.length * rt : void 0,
              nodes: De ? mn.slice(0, xt) : mn
            });
          }
        }
      }
      v.value = V;
    }), nn(
      kf,
      pt({
        arrow: qe(a, "arrow"),
        checkbox: qe(a, "checkbox"),
        suffixCheckbox: qe(a, "suffixCheckbox"),
        noCascaded: qe(a, "noCascaded"),
        linkLine: L,
        virtual: qe(a, "virtual"),
        labelKey: qe(u, "label"),
        draggable: qe(a, "draggable"),
        floorSelect: qe(a, "floorSelect"),
        renderer: qe(a, "renderer"),
        prefixRenderer: qe(a, "prefixRenderer"),
        suffixRenderer: qe(a, "suffixRenderer"),
        arrowIcon: qe(a, "arrowIcon"),
        blockEffect: qe(a, "blockEffect"),
        dragging: b,
        boundAsyncLoad: R,
        nodeStates: h,
        expanding: i,
        keepSelected: qe(a, "keepSelected"),
        multiple: qe(a, "multiple"),
        getParentNode: Ve,
        updateVisibleNodeEls: U,
        computeCheckedState: ne,
        handleNodeClick: ue,
        handleNodeSelect: N,
        handleNodeCancel: j,
        handleNodeExpand: ae,
        handleNodeReduce: be,
        handleNodeContextmenu: re,
        handleAsyncLoad: ce,
        handleNodeDragStart: at,
        handleNodeDragOver: yt,
        handleNodeDrop: Mt,
        handleNodeDragEnd: Ht,
        handleHittingChange: _t,
        handleNodeHitting: tn,
        handleLabelClick: J
      })
    ), nn(
      fx,
      pt({
        depth: -1,
        disabled: qe(a, "disabled"),
        readonly: qe(a, "readonly")
      })
    ), r({
      treeNodes: p,
      flattedNodes: m,
      dragging: b,
      expanding: i,
      virtualList: F,
      trap: A,
      indicator: z,
      refreshScroll: qt,
      isLeafNode: te,
      parseAndTransformData: ot,
      forceUpdateData: Ze,
      syncNodeStateIntoData: Je,
      getCheckedNodes: he,
      getCheckedNodeData: Fe,
      getSelectedNodes: lt,
      getSelectedNodeData: Ke,
      getExpandedNodes: Ct,
      getDisabledNodes: ve,
      getParentNode: Ve,
      getNodeChildren: Ie,
      getSiblingNodes: Me,
      getPrevSiblingNode: Ge,
      getNextSiblingNode: mt,
      getNodeByData: bt,
      expandNodeByData: Ot,
      selectNodeByData: Vt,
      checkNodeByData: $e,
      toggleNodeLoadingByData: et,
      toggleAllExpanded: vt,
      getTreeData: an,
      getFlattedData: Rn,
      updateVisibleNodeEls: U
    }), sn(U);
    const { updateCheckedUpward: K, updateCheckedDown: we } = mf({
      getNode: (Te) => c.get(Te),
      disableNode: (Te) => Te.disabled
    });
    function de() {
      return `__vxp-tree-key-${Ac()}`;
    }
    function te(Te) {
      var We;
      const Y = Te.isLeaf;
      let ke = "auto", xe = !1;
      return Tt(Y) || Y === "auto" ? (ke = "auto", xe = R.value) : ke = Y, ke === "auto" ? !((We = Te.children) != null && We.length || xe && !Te.loaded) : !!ke;
    }
    function Ee(Te, Y) {
      const ke = new Set(Te);
      return Ms(Te, {
        keyField: "id",
        parentField: "parent",
        childField: "children",
        injectId: !1,
        depthFirst: !0,
        cascaded: !0,
        filter: (xe) => {
          if (ke.has(xe))
            return xe.matched || xe.childMatched || xe.upperMatched;
          const We = Ve(xe);
          return xe.visible && (xe.matched || xe.childMatched || xe.upperMatched) && (!We || (Y ? Y.has(We.id) : We.expanded));
        }
      });
    }
    function Se(Te) {
      return Te.collapse;
    }
    function Ce() {
      so(p.value, (Te, Y) => {
        if (Te.depth = Y, Te.lineIndexes = [0], Te.parent && c.has(Te.parent)) {
          const ke = c.get(Te.parent);
          Te.last = gn(ke.children) === Te, Te.upstreamLast = [ke.last, ...ke.upstreamLast];
        } else
          Te.last = gn(p.value) === Te, Te.upstreamLast = [];
        for (let ke = 1; ke < Y; ++ke)
          Te.upstreamLast[ke - 1] || Te.lineIndexes.push(ke);
      });
    }
    function fe(Te) {
      p.value = _c(Te, {
        keyField: "id",
        parentField: "parent",
        childField: "children",
        rootId: a.rootId
      }), Ce();
    }
    function ot() {
      const Te = u.id, Y = /* @__PURE__ */ new Map(), ke = /* @__PURE__ */ new Map();
      for (const We of c.values())
        Y.set(We.data, We), ke.set(We.data[Te], We);
      c.clear(), d.clear();
      const xe = [];
      if (a.noBuildTree)
        so(
          a.data,
          (We, V, De) => {
            var Bt;
            const _e = Y.get(We), rt = (_e == null ? void 0 : _e.id) ?? de(), xt = a.cacheNode ? _e ?? se(We) : se(We, _e);
            xt.id = rt, xt.parent = De ? (Bt = d.get(De)) == null ? void 0 : Bt.id : void 0, c.set(xt.id, xt), xe.push(xt), d.set(We, xt);
          },
          { childField: u.children, depthFirst: !0 }
        );
      else {
        const We = a.data;
        for (let V = 0, De = We.length; V < De; ++V) {
          const _e = We[V], rt = Y.get(_e) ?? ke.get(_e[Te]), xt = a.cacheNode ? rt ?? se(_e) : se(_e, rt);
          c.set(xt.id, xt), xe.push(xt), d.set(_e, xt);
        }
      }
      if (fe(xe), !a.noCascaded) {
        const We = m.value.filter((V) => V.checked);
        for (let V = 0, De = We.length; V < De; ++V) {
          const _e = We[V], rt = _e.parent;
          we(_e.id), rt && c.has(rt) && (c.get(rt).checked || K(_e.id));
        }
      }
      pe();
    }
    function Ze() {
      const Te = [], {
        id: Y,
        visible: ke,
        selected: xe,
        expanded: We,
        disabled: V,
        checked: De,
        loading: _e,
        loaded: rt,
        loadFail: xt,
        readonly: Bt,
        arrow: Ut,
        checkbox: xn,
        selectDisabled: qn,
        expandDisabled: ul,
        checkDisabled: Sn,
        isLeaf: jn
      } = u, Wn = (Kt, Pn) => {
        const {
          [ke]: mn = Kt.visible,
          [xe]: Tn = Kt.selected,
          [We]: ie = Kt.expanded,
          [V]: Ae = Kt.disabled,
          [De]: tt = Kt.checked,
          [_e]: St = Kt.loading,
          [rt]: jt = Kt.loaded,
          [xt]: Zt = Kt.loadFail,
          [Bt]: Nn = Kt.readonly,
          [Ut]: Cn = Kt.arrow,
          [xn]: Q = Kt.checkbox,
          [qn]: Ne = Kt.selectDisabled,
          [ul]: nt = Kt.expandDisabled,
          [Sn]: it = Kt.checkDisabled,
          [jn]: ut = Kt.isLeaf
        } = Pn;
        Kt.visible = mn, Kt.selected = Tn, Kt.expanded = ie, Kt.disabled = Ae, Kt.checked = tt, Kt.loading = St, Kt.loaded = jt, Kt.loadFail = Zt, Kt.readonly = Nn, Kt.arrow = Cn, Kt.checkbox = Q, Kt.selectDisabled = Ne, Kt.expandDisabled = nt, Kt.checkDisabled = it, Kt.isLeaf = ut;
      };
      if (a.noBuildTree)
        so(
          a.data,
          (Kt, Pn, mn) => {
            var ie;
            let Tn = d.get(Kt);
            Tn ? Wn(Tn, Kt) : (Tn = se(Kt), Tn.id = de(), Tn.parent = mn ? (ie = d.get(mn)) == null ? void 0 : ie.id : void 0, c.set(Tn.id, Tn), d.set(Kt, Tn)), Te.push(Tn);
          },
          { childField: u.children, depthFirst: !0 }
        );
      else {
        const Kt = a.data;
        for (let Pn = 0, mn = Kt.length; Pn < mn; ++Pn) {
          const Tn = Kt[Pn], ie = Tn[Y];
          let Ae = c.get(ie);
          Ae ? Wn(Ae, Tn) : (Ae = se(Tn), c.set(ie, Ae)), Te.push(Ae);
        }
      }
      fe(Te), pe();
    }
    function Je() {
      m.value.forEach((Te) => {
        if (!Te.data) return;
        const { data: Y, visible: ke, selected: xe, expanded: We, disabled: V, checked: De, loading: _e, readonly: rt } = Te;
        Y.visible = ke, Y.selected = xe, Y.expanded = We, Y.disabled = V, Y.checked = De, Y.loading = _e, Y.readonly = rt;
      }), pe();
    }
    function se(Te, Y = P) {
      const {
        id: ke,
        parent: xe,
        visible: We,
        selected: V,
        expanded: De,
        disabled: _e,
        checked: rt,
        loading: xt,
        loaded: Bt,
        loadFail: Ut,
        readonly: xn,
        arrow: qn,
        checkbox: ul,
        selectDisabled: Sn,
        expandDisabled: jn,
        checkDisabled: Wn,
        isLeaf: Kt
      } = u, {
        [We]: Pn = Y.visible,
        [V]: mn = Y.selected,
        [De]: Tn = Y.expanded,
        [_e]: ie = Y.disabled,
        [rt]: Ae = Y.checked,
        [xt]: tt = Y.loading,
        [Bt]: St = Y.loaded,
        [Ut]: jt = Y.loadFail,
        [xn]: Zt = Y.readonly,
        [qn]: Nn = Y.arrow,
        [ul]: Cn = Y.checkbox,
        [Sn]: Q = Y.selectDisabled,
        [jn]: Ne = Y.expandDisabled,
        [Wn]: nt = Y.checkDisabled,
        [Kt]: it = Y.isLeaf
      } = Te, ut = a.noBuildTree ? null : Te[ke], ht = a.noBuildTree ? null : Te[xe], wt = {
        id: ut,
        parent: ht,
        data: Te,
        visible: Pn,
        selected: mn,
        expanded: Tn,
        disabled: ie,
        checked: Ae,
        loading: tt,
        loaded: St,
        loadFail: jt,
        readonly: Zt,
        arrow: Nn,
        checkbox: Cn,
        selectDisabled: Q,
        expandDisabled: Ne,
        checkDisabled: nt,
        isLeaf: it
      };
      return typeof a.postCreate == "function" && a.postCreate(wt), pt({
        ...wt,
        id: ut,
        parent: ht,
        children: [],
        partial: !1,
        matched: !1,
        childMatched: !1,
        upperMatched: !1,
        depth: -1,
        last: !1,
        // inLastCount: 0,
        upstreamLast: [],
        lineIndexes: []
      });
    }
    function ne(Te, Y) {
      if (!a.noCascaded) {
        const ke = [Te].concat(
          // 需要包含被禁用且被勾选的节点
          m.value.filter((xe) => (xe.disabled || xe.checkDisabled) && xe.checked)
        );
        for (let xe = 0, We = ke.length; xe < We; ++xe) {
          const V = ke[xe];
          K(V.id), we(V.id);
        }
      }
      _(a.onNodeChange, Te.data, Te, Y);
    }
    function ue(Te) {
      _(a.onNodeClick, Te.data, Te);
    }
    function J(Te) {
      _(a.onLabelClick, Te.data, Te);
    }
    function N(Te) {
      const Y = m.value.filter((ke) => ke.selected);
      if (a.multiple)
        _(
          a.onNodeSelect,
          Y.map((ke) => ke.data),
          Y
        );
      else {
        const ke = Te.id;
        for (let xe = 0, We = Y.length; xe < We; ++xe) {
          const V = Y[xe];
          V.selected = V.id === ke;
        }
        _(a.onNodeSelect, Te.data, Te);
      }
    }
    function j(Te) {
      _(a.onNodeCancel, Te.data, Te);
    }
    function ae(Te) {
      if (a.accordion) {
        const Y = Me(Te);
        for (let ke = 0, xe = Y.length; ke < xe; ++ke)
          Y[ke].expanded = !1;
      }
      _(a.onNodeExpand, Te.data, Te);
    }
    function be(Te) {
      _(a.onNodeReduce, Te.data, Te);
    }
    function re(Te, Y) {
      _(a.onNodeContextmenu, Te, Y.data, Y);
    }
    async function ce(Te) {
      if (!R.value) return !1;
      let Y = a.onAsyncLoad(Te.data, Te);
      return Sl(Y) && (Y = await Y), Y !== !1;
    }
    let Pe = null;
    function at(Te) {
      C.value && (Pe = {
        draggingNode: Te.node,
        treeRect: C.value.getBoundingClientRect(),
        willDropNode: null,
        dropType: ba.BEFORE
      }, b.value = !0, _(a.onDragStart, Te.node.data, Te.node));
    }
    function yt(Te, Y) {
      if (!Pe || !Te.el || !Te.arrow) return;
      const ke = Te.el.getBoundingClientRect(), xe = Pe.treeRect, We = Te.arrow.getBoundingClientRect(), V = 0.25, De = 0.75, _e = Y.clientY - ke.top, rt = We.height;
      let xt, Bt = -9999, Ut = !0;
      _e < rt * V ? (xt = ba.BEFORE, Bt = We.top - xe.top) : _e > rt * De ? (xt = ba.AFTER, Bt = We.bottom - xe.top) : (xt = ba.INNER, Ut = !1), z.value && (z.value.style.top = `${Bt}px`, z.value.style.insetInlineStart = `${We.right - xe.left}px`), Pe.willDropNode = Te.node, Pe.dropType = xt, f.value = Ut, _(a.onDragOver, Te.node.data, Te.node);
    }
    function Nt(Te, Y) {
      if (!Te || !Y) return !0;
      for (; Te; ) {
        if (Te === Y || Te.id === Y.id)
          return !0;
        Te = Ve(Te);
      }
      return !1;
    }
    function Mt(Te) {
      if (!Pe) return;
      const { draggingNode: Y, willDropNode: ke, dropType: xe } = Pe;
      if (!ke || Nt(ke, Y)) return;
      let We, V;
      if (Y && (V = Ve(Y), V || (V = {
        children: p.value
      }), We = Y.id, Ho(V.children, (De) => De.id === We)), xe === ba.INNER) {
        Array.isArray(ke.children) || (ke.children = []);
        const De = Array.from(ke.children);
        De.push(Y), ke.children = De, Y.parent = ke.id;
      } else {
        V = Ve(ke), V || (V = {
          parent: void 0,
          children: p.value
        }), We = ke.id;
        const De = V.children.findIndex((_e) => _e.id === We);
        ~De && (V.children.splice(+(xe === ba.AFTER) + De, 0, Y), Y.parent = V.id);
      }
      Ce(), _(a.onDrop, Te.node.data, Te.node, xe);
    }
    function Ht(Te) {
      b.value = !0, f.value = !1, Pe = null, _(a.onDragEnd, Te.node.data, Te.node);
    }
    function _t(Te) {
      var xe;
      const Y = document.activeElement;
      if (!E.length || !Y) return;
      const ke = E.findIndex((We) => We === Y);
      ~ke && ((xe = E[(ke + (Te === "up" ? -1 : 1) + E.length) % E.length]) == null || xe.focus());
    }
    function tn(Te) {
      !Te || !E.length || E.includes(Te) && Te.focus();
    }
    function Wt() {
      U();
    }
    function un(Te) {
      const Y = Te.target;
      !E.length || !Y || !A.value || Y === A.value && E[0].focus();
    }
    function qt() {
      var Te;
      (Te = F.value) == null || Te.refresh();
    }
    function pe() {
      i.value = !1, T.value && U();
    }
    function Re() {
      if (a.virtual) {
        pe();
        return;
      }
      wn.value = !0, requestAnimationFrame(() => {
        pe(), w.expand = setTimeout(() => {
          wn.value = !1;
        }, 300);
      });
    }
    function he(Te = !1) {
      return m.value.filter((Y) => Y.checked || Te && Y.partial);
    }
    function Fe(Te = !1) {
      return he(Te).map((Y) => Y.data);
    }
    function lt() {
      return m.value.filter((Te) => Te.selected);
    }
    function Ke() {
      return lt().map((Te) => Te.data);
    }
    function Ct() {
      return m.value.filter((Te) => Te.expanded);
    }
    function ve() {
      return m.value.filter((Te) => Te.disabled);
    }
    function Ve(Te) {
      return Te.parent ? c.get(Te.parent) ?? null : null;
    }
    function Ie(Te) {
      return Te.children;
    }
    function Me(Te, Y = !1) {
      const ke = Ve(Te), xe = Te.id, We = ke ? ke.id : null;
      return m.value.filter((V) => {
        const De = We === null ? !V.parent : V.parent === We;
        return De && !Y ? V.id !== xe : De;
      });
    }
    function Ge(Te) {
      const Y = Ve(Te);
      if (!Y) return null;
      const ke = Te.id, xe = Y.id, We = m.value.filter((V) => V.parent === xe);
      if (We && We.length) {
        const V = We.findIndex((De) => De.id === ke);
        if (V > 0)
          return We[V - 1];
      }
      return null;
    }
    function mt(Te) {
      const Y = Ve(Te);
      if (!Y) return null;
      const ke = Te.id, xe = Y.id, We = m.value.filter((V) => V.parent === xe);
      if (We && We.length) {
        const V = We.findIndex((De) => De.id === ke);
        if (!~V && V < We.length - 1)
          return We[V + 1];
      }
      return null;
    }
    function bt(Te) {
      if (a.noBuildTree)
        return m.value.find((ke) => ke.data === Te) ?? null;
      const Y = u.id;
      return m.value.find(
        (ke) => ke.data === Te || ke.data[Y] === Te[Y]
      ) ?? null;
    }
    function Ot(Te, Y, ke = !1) {
      const xe = bt(Te);
      if (xe && (xe.expanded = Tt(Y) ? !xe.expanded : !!Y, ke)) {
        let We = Ve(xe);
        for (; We; )
          We.expanded = xe.expanded, We = Ve(We);
      }
    }
    function Vt(Te, Y) {
      const ke = bt(Te);
      ke && (ke.selected = Tt(Y) ? !ke.selected : !!Y);
    }
    function $e(Te, Y) {
      const ke = bt(Te);
      if (ke && (ke.checked = Tt(Y) ? !ke.checked : !!Y, !a.noCascaded)) {
        const xe = [ke].concat(
          m.value.filter((We) => We.disabled && We.checked)
        );
        for (let We = 0, V = xe.length; We < V; ++We) {
          const De = xe[We];
          K(De.id), we(De.id);
        }
      }
    }
    function et(Te, Y) {
      const ke = bt(Te);
      ke && (ke.checked = Tt(Y) ? !ke.loading : !!Y);
    }
    function vt(Te) {
      var Y;
      for (const ke of m.value)
        !ke.disabled && !ke.expandDisabled && !ke.loading && ((Y = ke.children) != null && Y.length) && (ke.expanded = Te);
    }
    function an(Te = !1) {
      return Bc(
        Te ? Bp(p.value, (Y) => Y.matched, {
          childField: "children",
          leafOnly: a.filterLeaf,
          isLeaf: te
        }) : p.value,
        (Y) => ({ ...Y.data })
      );
    }
    function Rn(Te = !1) {
      return (Te ? m.value.filter((Y) => Y.matched || Y.childMatched || Y.upperMatched) : m.value).map((Y) => ({ ...Y.data }));
    }
    const wn = $(!1);
    return (Te, Y) => (S(), Be(e(Wr), {
      ref_key: "virtualList",
      ref: F,
      class: x([e(o).b(), e(o).bs("vars"), e(a).inherit && e(o).bm("inherit")]),
      inherit: e(a).inherit,
      items: ee.value,
      "item-size": e(a).nodeMinHeight,
      "items-tag": "ul",
      "items-attrs": { class: e(o).be("list") },
      "hide-bar": !e(a).useYBar,
      "ignore-resize": wn.value,
      disabled: !e(a).virtual,
      role: "tree",
      tabindex: "-1",
      "aria-disabled": e(a).disabled,
      "aria-readonly": e(a).readonly,
      style: Qe(I.value),
      onScroll: Wt
    }, {
      "prefix-trap": X(() => [
        oe("div", {
          ref_key: "trap",
          ref: A,
          tabindex: "0",
          role: "none",
          style: { width: "0", height: "0", overflow: "hidden", outline: "none" },
          onFocus: un
        }, null, 544)
      ]),
      default: X(({ item: ke }) => [
        Se(ke) ? (S(), Be(e(Ul), {
          key: 0,
          appear: "",
          reverse: ke.type === "reduce",
          onAfterEnter: Re
        }, {
          default: X(() => [
            oe("div", {
              class: x(e(o).be("collapse")),
              style: Qe({ height: `${ke.height}px` })
            }, [
              (S(!0), D(st, null, ln(ke.nodes, (xe, We) => (S(), Be(ic, He({
                key: xe.id ?? We
              }, { ref_for: !0 }, O.value(xe.data, xe), { node: xe }), nl({ _: 2 }, [
                n.node || e(a).slots.node ? {
                  name: "default",
                  fn: X((V) => [
                    W(Te.$slots, "node", He({ ref_for: !0 }, V), () => [
                      y(e(me), {
                        renderer: e(a).slots.node,
                        data: V
                      }, null, 8, ["renderer", "data"])
                    ])
                  ]),
                  key: "0"
                } : void 0,
                n.arrow || e(a).slots.arrow ? {
                  name: "arrow",
                  fn: X((V) => [
                    W(Te.$slots, "arrow", He({ ref_for: !0 }, V), () => [
                      y(e(me), {
                        renderer: e(a).slots.arrow,
                        data: V
                      }, null, 8, ["renderer", "data"])
                    ])
                  ]),
                  key: "1"
                } : void 0,
                n.label || e(a).slots.label ? {
                  name: "label",
                  fn: X((V) => [
                    W(Te.$slots, "label", He({ ref_for: !0 }, V), () => [
                      y(e(me), {
                        renderer: e(a).slots.label,
                        data: V
                      }, null, 8, ["renderer", "data"])
                    ])
                  ]),
                  key: "2"
                } : void 0,
                n.prefix || e(a).slots.prefix ? {
                  name: "prefix",
                  fn: X((V) => [
                    W(Te.$slots, "prefix", He({ ref_for: !0 }, V), () => [
                      y(e(me), {
                        renderer: e(a).slots.prefix,
                        data: V
                      }, null, 8, ["renderer", "data"])
                    ])
                  ]),
                  key: "3"
                } : void 0,
                n.suffix || e(a).slots.suffix ? {
                  name: "suffix",
                  fn: X((V) => [
                    W(Te.$slots, "suffix", He({ ref_for: !0 }, V), () => [
                      y(e(me), {
                        renderer: e(a).slots.suffix,
                        data: V
                      }, null, 8, ["renderer", "data"])
                    ])
                  ]),
                  key: "4"
                } : void 0
              ]), 1040, ["node"]))), 128))
            ], 6)
          ]),
          _: 2
        }, 1032, ["reverse"])) : (S(), Be(ic, He({ key: 1 }, O.value(ke.data, ke), { node: ke }), nl({ _: 2 }, [
          n.node || e(a).slots.node ? {
            name: "default",
            fn: X((xe) => [
              W(Te.$slots, "node", It(Yt(xe)), () => [
                y(e(me), {
                  renderer: e(a).slots.node,
                  data: xe
                }, null, 8, ["renderer", "data"])
              ])
            ]),
            key: "0"
          } : void 0,
          n.arrow || e(a).slots.arrow ? {
            name: "arrow",
            fn: X((xe) => [
              W(Te.$slots, "arrow", It(Yt(xe)), () => [
                y(e(me), {
                  renderer: e(a).slots.arrow,
                  data: xe
                }, null, 8, ["renderer", "data"])
              ])
            ]),
            key: "1"
          } : void 0,
          n.label || e(a).slots.label ? {
            name: "label",
            fn: X((xe) => [
              W(Te.$slots, "label", It(Yt(xe)), () => [
                y(e(me), {
                  renderer: e(a).slots.label,
                  data: xe
                }, null, 8, ["renderer", "data"])
              ])
            ]),
            key: "2"
          } : void 0,
          n.prefix || e(a).slots.prefix ? {
            name: "prefix",
            fn: X((xe) => [
              W(Te.$slots, "prefix", It(Yt(xe)), () => [
                y(e(me), {
                  renderer: e(a).slots.prefix,
                  data: xe
                }, null, 8, ["renderer", "data"])
              ])
            ]),
            key: "3"
          } : void 0,
          n.suffix || e(a).slots.suffix ? {
            name: "suffix",
            fn: X((xe) => [
              W(Te.$slots, "suffix", It(Yt(xe)), () => [
                y(e(me), {
                  renderer: e(a).slots.suffix,
                  data: xe
                }, null, 8, ["renderer", "data"])
              ])
            ]),
            key: "4"
          } : void 0
        ]), 1040, ["node"]))
      ]),
      empty: X(() => [
        oe("div", {
          class: x(e(o).be("empty-tip"))
        }, [
          W(Te.$slots, "empty", {}, () => [
            y(e(me), {
              renderer: e(a).slots.empty
            }, {
              default: X(() => [
                dt(ze(e(a).emptyText ?? e(s).empty), 1)
              ]),
              _: 1
            }, 8, ["renderer"])
          ])
        ], 2)
      ]),
      "suffix-trap": X(() => [
        e(a).draggable ? el((S(), D("div", {
          key: 0,
          ref_key: "indicator",
          ref: z,
          class: x(e(o).be("indicator"))
        }, null, 2)), [
          [tl, f.value]
        ]) : ge("", !0)
      ]),
      _: 3
    }, 8, ["class", "inherit", "items", "item-size", "items-attrs", "hide-bar", "ignore-resize", "disabled", "aria-disabled", "aria-readonly", "style"]));
  }
}), gx = ft({
  state: Zn,
  locale: Mn(),
  url: String,
  fileList: Array,
  multiple: M,
  tip: String,
  accept: [String, Array],
  filter: [String, Array],
  maxSize: Number,
  field: String,
  data: Object,
  headers: Object,
  withCredentials: M,
  manual: M,
  hiddenFiles: M,
  countLimit: Number,
  allowDrag: M,
  onBeforeUpload: Function,
  onBeforeSelect: Function,
  iconRenderer: Function,
  selectToAdd: M,
  listType: String,
  block: M,
  loadingText: String,
  directory: M,
  pathField: String,
  disabledClick: M,
  buttonLabel: String,
  disabled: M,
  loading: M,
  loadingIcon: Xt,
  loadingLock: M,
  loadingEffect: String,
  image: M,
  defaultFiles: Array,
  canPreview: Function,
  listStyle: kl,
  name: String,
  customFetch: Function,
  slots: Object,
  onExceed: B(),
  onChange: B(),
  onFilterError: B(),
  onSizeError: B(),
  onDelete: B(),
  onPreview: B(),
  onProgress: B(),
  onSuccess: B(),
  onError: B()
}), yx = ft({
  files: Array,
  selectToAdd: M,
  iconRenderer: Function,
  type: String,
  loadingText: String,
  style: kl,
  precision: Number,
  canPreview: Function,
  slots: Object,
  onDelete: B(),
  onPreview: B()
}), kx = ft({
  locale: Mn(),
  file: Object,
  iconRenderer: Function,
  listType: String,
  loadingText: String,
  selectToAdd: M,
  precision: Number,
  canPreview: Function,
  slots: Object,
  onDelete: B(),
  onPreview: B()
}), va = /* @__PURE__ */ new Map();
va.set("fileVideo", [
  "mp4",
  "flv",
  "mkv",
  "rm",
  "rmvb",
  "mov",
  "mtv",
  "wnv",
  "avi",
  "3gp",
  "amv",
  "dmv"
]);
va.set("fileImage", [
  "bmp",
  "jpg",
  "jpeg",
  "png",
  "tif",
  "gif",
  "pcx",
  "tga",
  "exif",
  "fpx",
  "svg",
  "psd",
  "cdr",
  "pcd",
  "dxf",
  "ufo",
  "eps",
  "ai",
  "raw",
  "wmf",
  "webp"
]);
va.set(
  "fileCode",
  [
    [
      "json",
      "xml",
      "property",
      "class",
      "c",
      "cpp",
      "cc",
      "cxx",
      "h",
      "hpp",
      "hxx",
      "cs",
      "yml",
      "yaml",
      "ts",
      "tsx"
    ],
    ["js", "jsx", "mjs", "cjs", "ts", "tsx", "mts", "cts"],
    ["css", "styl", "pcss"],
    ["sass", "scss"],
    ["less"],
    ["java", "class", "jsp"],
    ["vue"],
    ["html", "htm"],
    ["py", "pyc", "pyw", "pyo", "pyd"]
  ].flat()
);
va.set("fileAudio", [
  "cd",
  "wave",
  "aiff",
  "mpeg",
  "mp3",
  "mpeg-4",
  "midi",
  "wma",
  "ra",
  "rm",
  "rmx",
  "vqf",
  "amr",
  "ape",
  "flac",
  "aac"
]);
va.set("fileZip", [
  "rar",
  "zip",
  "7z",
  "cab",
  "arj",
  "lzh",
  "tar",
  "gz",
  "ace",
  "uue",
  "bz2",
  "jar",
  "iso"
]);
va.set(
  "fileText",
  [
    ["doc", "docx"],
    ["xls", "xlsx", "xlsm", "xlsb", "xlam", "csv"],
    ["pdf", "txt", "md"]
  ].flat()
);
va.set("file", ["default"]);
function wx(t = Gt()) {
  return g(() => {
    const r = {};
    for (const [l, a] of va.entries())
      if (a != null && a.length)
        for (const n of a)
          r[n] = t.value[l];
    return r;
  });
}
var Gn = /* @__PURE__ */ ((t) => (t.PENDING = "pending", t.UPLOADING = "uploading", t.FAIL = "fail", t.SUCCESS = "success", t.DELETE = "delete", t))(Gn || {});
const Bi = Object.freeze([
  "name",
  "detail",
  "thumbnail",
  "card"
]), xx = ["title"], Sx = ["aria-label"], Cx = { style: { "margin-bottom": "0.3em" } }, Tx = ["src", "alt"], $x = ["disabled", "aria-label"], Ex = ["aria-label"], wf = /* @__PURE__ */ Xe({
  name: "UploadFile",
  __name: "upload-file",
  props: kx,
  setup(t) {
    const r = /\.(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i, l = /^data:image\//;
    function a(A) {
      if (A.type)
        return A.type.startsWith("image/");
      const { name: z, url: C, base64: E } = A;
      return !!(r.test(z) || C && (r.test(C) || l.test(C)) || E && l.test(E));
    }
    const o = ct("uploadFile", t, {
      locale: null,
      file: {
        default: () => ({}),
        static: !0
      },
      iconRenderer: {
        default: null,
        isFunc: !0
      },
      listType: {
        default: "name",
        validator: (A) => Bi.includes(A)
      },
      loadingText: null,
      selectToAdd: !1,
      precision: 2,
      canPreview: {
        default: a,
        isFunc: !0
      },
      slots: () => ({})
    }), s = Ye("upload"), c = vn("upload", qe(o, "locale")), d = Gt(), p = wx(d), m = g(() => typeof o.iconRenderer == "function"), b = g(() => o.file.path || o.file.name), f = g(() => o.file.status), u = g(() => _n(o.file.percentage, o.precision)), h = g(() => a(o.file) && (o.file.url || o.file.base64)), i = yl(
      pt({
        file: qe(o, "file"),
        status: f,
        percentage: u
      })
    );
    function v(A) {
      return A.name.split(".").pop().toLocaleLowerCase();
    }
    function k(A, z = 1) {
      const C = v(A), E = C && p.value[C] || p.value.default;
      return { ...E, scale: +(E.scale || 1) * z };
    }
    function w(A) {
      _(o.onDelete, A);
    }
    function T(A) {
      _(o.onPreview, A);
    }
    function F(A) {
      if (!A.source || !a(o.file)) return;
      const z = new FileReader();
      z.readAsDataURL(A.source), z.onload = () => {
        var C;
        A.status !== Gn.DELETE && (A.base64 = ((C = z.result) == null ? void 0 : C.toString()) ?? null);
      };
    }
    return (A, z) => (S(), D("li", {
      class: x([
        e(s).be("file"),
        e(s).bem("file", e(o).listType),
        e(s).bem("file", f.value),
        e(o).inherit && e(s).bem("file", "inherit")
      ]),
      title: b.value,
      tabindex: "-1"
    }, [
      W(A.$slots, "default", It(Yt(e(i))), () => [
        y(e(me), {
          renderer: e(o).slots.default,
          data: e(i)
        }, {
          default: X(() => [
            e(o).listType === "name" ? (S(), D(st, { key: 0 }, [
              oe("div", {
                class: x(e(s).be("label"))
              }, [
                oe("div", {
                  class: x([e(s).be("icon"), e(s).be("file-icon")])
                }, [
                  W(A.$slots, "icon", It(Yt(e(i))), () => [
                    y(e(me), {
                      renderer: e(o).slots.icon,
                      data: e(i)
                    }, {
                      default: X(() => [
                        m.value ? (S(), Be(e(me), {
                          key: 0,
                          renderer: e(o).iconRenderer,
                          data: { file: e(o).file }
                        }, null, 8, ["renderer", "data"])) : (S(), Be(e(Oe), It(He({ key: 1 }, k(e(o).file))), null, 16))
                      ]),
                      _: 1
                    }, 8, ["renderer", "data"])
                  ])
                ], 2),
                oe("span", {
                  class: x(e(s).be("filename"))
                }, ze(b.value), 3)
              ], 2),
              oe("div", {
                class: x(e(s).be("actions"))
              }, [
                f.value === "uploading" ? (S(), D("span", {
                  key: 0,
                  style: { "margin-inline-end": "0.5em" },
                  class: x(e(s).be("percentage"))
                }, ze(`${u.value}%`), 3)) : ge("", !0),
                f.value === "success" ? (S(), D("div", {
                  key: 1,
                  class: x([e(s).be("icon"), e(s).be("success")])
                }, [
                  y(e(Oe), It(Yt(e(d).success)), null, 16)
                ], 2)) : f.value === "fail" ? (S(), D("div", {
                  key: 2,
                  class: x([e(s).be("icon"), e(s).be("fail")])
                }, [
                  y(e(Oe), It(Yt(e(d).warning)), null, 16)
                ], 2)) : f.value === "uploading" ? (S(), D("div", {
                  key: 3,
                  class: x([e(s).be("icon"), e(s).be("loading")])
                }, [
                  y(e(Oe), It(Yt(e(d).loading)), null, 16)
                ], 2)) : ge("", !0),
                oe("button", {
                  type: "button",
                  class: x([e(s).be("icon"), e(s).be("close")]),
                  "aria-label": e(c).ariaLabel.delete,
                  onClick: z[0] || (z[0] = (C) => w(e(o).file))
                }, [
                  y(e(Oe), It(Yt(e(d).delete)), null, 16)
                ], 10, Sx)
              ], 2),
              f.value === "uploading" ? (S(), D("div", {
                key: 0,
                class: x(e(s).be("progress"))
              }, [
                y(e(Cr), {
                  inherit: "",
                  "info-type": "none",
                  "stroke-width": 2,
                  percentage: e(o).file.percentage,
                  precision: e(o).precision
                }, null, 8, ["percentage", "precision"])
              ], 2)) : ge("", !0)
            ], 64)) : e(o).listType === "thumbnail" || e(o).listType === "card" ? (S(), D("div", {
              key: 1,
              class: x(e(s).be("card"))
            }, [
              oe("div", {
                class: x(e(s).be("thumbnail"))
              }, [
                f.value === "uploading" ? (S(), D(st, { key: 0 }, [
                  e(o).listType === "thumbnail" ? (S(), D("div", {
                    key: 0,
                    class: x(e(s).be("progress"))
                  }, [
                    oe("span", Cx, ze(e(o).loadingText ?? e(c).uploading), 1),
                    y(e(Cr), {
                      inherit: "",
                      "info-type": "none",
                      "stroke-width": 2,
                      percentage: e(o).file.percentage,
                      precision: e(o).precision
                    }, null, 8, ["percentage", "precision"]),
                    oe("span", {
                      style: { "margin-top": "3px" },
                      class: x(e(s).be("percentage"))
                    }, ze(`${u.value}%`), 3)
                  ], 2)) : (S(), Be(e(Oe), He({ key: 1 }, e(d).loading, {
                    scale: +(e(d).loading.scale || 1) * 1.8,
                    label: "loading"
                  }), null, 16, ["scale"]))
                ], 64)) : h.value ? (S(), D("img", {
                  key: 1,
                  class: x(e(s).be("image")),
                  src: e(o).file.url || e(o).file.base64 || "",
                  alt: b.value
                }, null, 10, Tx)) : (S(), D(st, { key: 2 }, [
                  dt(ze(F(e(o).file)) + " ", 1),
                  W(A.$slots, "icon", It(Yt(e(i))), () => [
                    y(e(me), {
                      renderer: e(o).slots.icon,
                      data: e(i)
                    }, {
                      default: X(() => [
                        m.value ? (S(), Be(e(me), {
                          key: 0,
                          renderer: e(o).iconRenderer,
                          data: { file: e(o).file }
                        }, null, 8, ["renderer", "data"])) : (S(), Be(e(Oe), It(He({ key: 1 }, k(e(o).file, 2.8))), null, 16))
                      ]),
                      _: 1
                    }, 8, ["renderer", "data"])
                  ])
                ], 64))
              ], 2),
              e(o).listType === "card" ? (S(), D("div", {
                key: 0,
                class: x(e(s).be("info"))
              }, [
                oe("span", {
                  class: x(e(s).be("filename"))
                }, ze(b.value), 3),
                y(e(Ul), null, {
                  default: X(() => [
                    f.value === "uploading" ? (S(), D("div", {
                      key: 0,
                      class: x(e(s).be("progress"))
                    }, [
                      y(e(Cr), {
                        inherit: "",
                        "info-type": "none",
                        "stroke-width": 4,
                        percentage: e(o).file.percentage,
                        precision: e(o).precision
                      }, null, 8, ["percentage", "precision"])
                    ], 2)) : ge("", !0)
                  ]),
                  _: 1
                })
              ], 2)) : ge("", !0),
              e(o).listType === "card" || f.value !== "uploading" ? (S(), D("div", {
                key: 1,
                class: x(e(s).be("actions"))
              }, [
                e(o).listType === "thumbnail" ? (S(), D("div", {
                  key: 0,
                  class: x(e(s).be("mask"))
                }, null, 2)) : ge("", !0),
                oe("button", {
                  type: "button",
                  class: x([
                    e(s).be("icon"),
                    e(s).be("action"),
                    {
                      [e(s).bem("action", "disabled")]: !e(o).canPreview(e(o).file)
                    }
                  ]),
                  disabled: !e(o).canPreview(e(o).file),
                  "aria-label": e(c).ariaLabel.preview,
                  onClick: z[1] || (z[1] = (C) => T(e(o).file))
                }, [
                  y(e(Oe), He(e(d).preview, {
                    scale: +(e(d).preview.scale || 1) * 1.4
                  }), null, 16, ["scale"])
                ], 10, $x),
                oe("button", {
                  type: "button",
                  class: x([e(s).be("icon"), e(s).be("action")]),
                  "aria-label": e(c).ariaLabel.delete,
                  onClick: z[2] || (z[2] = (C) => w(e(o).file))
                }, [
                  y(e(Oe), He(e(d).delete, {
                    scale: +(e(d).delete.scale || 1) * 1.4
                  }), null, 16, ["scale"])
                ], 10, Ex)
              ], 2)) : ge("", !0)
            ], 2)) : ge("", !0)
          ]),
          _: 3
        }, 8, ["renderer", "data"])
      ])
    ], 10, xx));
  }
}), xf = /* @__PURE__ */ Xe({
  name: "UploadList",
  __name: "upload-list",
  props: yx,
  setup(t) {
    const l = ct("uploadList", t, {
      files: {
        default: () => [],
        static: !0
      },
      selectToAdd: !1,
      iconRenderer: {
        default: null,
        isFunc: !0
      },
      type: {
        default: "name",
        validator: (d) => Bi.includes(d)
      },
      loadingText: null,
      style: null,
      precision: 2,
      // 'canPreview' using UploadFile default
      slots: () => ({})
    }), a = kn(), n = Ye("upload"), o = g(() => n.ns("fade"));
    function s(d) {
      _(l.onDelete, d);
    }
    function c(d) {
      _(l.onPreview, d);
    }
    return (d, p) => (S(), D("ul", {
      class: x([e(n).be("files"), e(n).bs("vars"), e(l).inherit && e(n).bem("files", "inherit")]),
      style: Qe(e(l).style)
    }, [
      (S(!0), D(st, null, ln(e(l).files, (m) => (S(), Be(En, {
        key: m.id,
        appear: "",
        name: e(l).selectToAdd ? o.value : void 0
      }, {
        default: X(() => [
          y(e(wf), {
            inherit: "",
            file: m,
            "icon-renderer": e(l).iconRenderer,
            "list-type": e(l).type,
            "loading-text": e(l).loadingText,
            "select-to-add": e(l).selectToAdd,
            precision: e(l).precision,
            "can-preview": e(l).canPreview,
            onDelete: s,
            onPreview: c
          }, nl({ _: 2 }, [
            a.item || e(l).slots.item ? {
              name: "default",
              fn: X(({ file: b, status: f, percentage: u }) => [
                W(d.$slots, "item", {
                  file: b,
                  status: f,
                  percentage: u
                }, () => [
                  y(e(me), {
                    renderer: e(l).slots.item,
                    data: {
                      file: b,
                      status: f,
                      percentage: u
                    }
                  }, null, 8, ["renderer", "data"])
                ])
              ]),
              key: "0"
            } : void 0,
            a.icon || e(l).slots.icon ? {
              name: "icon",
              fn: X(({ file: b, status: f, percentage: u }) => [
                W(d.$slots, "icon", {
                  file: b,
                  status: f,
                  percentage: u
                }, () => [
                  y(e(me), {
                    renderer: e(l).slots.icon,
                    data: { file: b, status: f, percentage: u }
                  }, null, 8, ["renderer", "data"])
                ])
              ]),
              key: "1"
            } : void 0
          ]), 1032, ["file", "icon-renderer", "list-type", "loading-text", "select-to-add", "precision", "can-preview"])
        ]),
        _: 2
      }, 1032, ["name"]))), 128)),
      W(d.$slots, "suffix", {}, () => [
        y(e(me), {
          renderer: e(l).slots.suffix
        }, null, 8, ["renderer"])
      ])
    ], 6));
  }
});
function uc(t, r) {
  const l = `fail to post ${t} ${r.status}'`, a = new Error(l);
  return a.response = Sf(r), a.url = t, a.status = r.status, a.method = "POST", a;
}
function Sf(t) {
  const r = t.responseText || t.response;
  if (!r)
    return r;
  try {
    return JSON.parse(r);
  } catch {
    return r;
  }
}
function Ax(t) {
  if (typeof XMLHttpRequest > "u")
    return Qt;
  const r = new XMLHttpRequest(), l = t.url;
  r.upload && t.onProgress && (r.upload.onprogress = (o) => {
    let s = 0;
    o.total > 0 && (s = o.loaded / o.total * 100), t.onProgress(s);
  });
  const a = new FormData();
  if (t.data) {
    const o = t.data;
    Object.keys(o).forEach((s) => {
      a.append(s, o[s]);
    });
  }
  a.append(t.field || "file", t.file), t.file.path && a.append(t.pathField || "path", t.file.path), t.onError && (r.onerror = () => {
    t.onError(uc(l, r));
  }), r.onload = () => {
    var s;
    if (r.status < 200 || r.status >= 300) {
      t.onError && t.onError(uc(l, r));
      return;
    }
    const o = Sf(r);
    (s = t.onSuccess) == null || s.call(t, o);
  }, t.onAbort && (r.onabort = () => {
    t.onAbort();
  }), r.open("POST", l, !0), t.withCredentials && "withCredentials" in r && (r.withCredentials = !0);
  const n = t.headers ?? {};
  return Object.keys(n).forEach((o) => {
    ei(n, o) && dn(n[o]) && r.setRequestHeader(o, n[o]);
  }), r.send(a), () => r.abort();
}
function Rx(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
function Mx() {
  return {
    id: vc(),
    name: "",
    size: 0,
    type: "",
    base64: null,
    status: Gn.PENDING,
    percentage: 0,
    source: null,
    url: null,
    path: "",
    xhr: null,
    response: null,
    error: null,
    abort: Qt
  };
}
const Px = /* @__PURE__ */ Xe({
  name: "Upload",
  props: gx,
  emits: ["update:file-list"],
  setup(t, {
    slots: r,
    emit: l,
    expose: a
  }) {
    const {
      idFor: n,
      labelId: o,
      state: s,
      disabled: c,
      loading: d,
      size: p,
      validateField: m,
      getFieldValue: b,
      setFieldValue: f
    } = al(I), u = ct("upload", t, {
      state: ll(s),
      locale: null,
      url: {
        default: "",
        static: !0
      },
      fileList: {
        default: () => b(),
        static: !0
      },
      multiple: !1,
      tip: "",
      accept: null,
      filter: "",
      maxSize: {
        default: null,
        validator: (ce) => ce >= 0
      },
      field: "file",
      data: () => ({}),
      headers: () => ({}),
      withCredentials: !1,
      manual: !1,
      hiddenFiles: !1,
      countLimit: {
        default: 0,
        validator: (ce) => ce >= 0
      },
      allowDrag: !1,
      onBeforeUpload: {
        default: null,
        isFunc: !0
      },
      onBeforeSelect: {
        default: null,
        isFunc: !0
      },
      iconRenderer: {
        default: null,
        isFunc: !0
      },
      selectToAdd: !1,
      listType: {
        default: "name",
        validator: (ce) => Bi.includes(ce)
      },
      block: !1,
      loadingText: null,
      directory: !1,
      pathField: "path",
      disabledClick: !1,
      buttonLabel: null,
      disabled: () => c.value,
      loading: () => d.value,
      loadingIcon: en(),
      loadingLock: !1,
      loadingEffect: null,
      image: !1,
      defaultFiles: () => [],
      // canPreview: don't set, using UploadFile default value
      listStyle: null,
      name: {
        default: "",
        static: !0
      },
      customFetch: {
        default: null,
        isFunc: !0
      },
      slots: () => ({})
    }), h = Ye("upload"), i = vn("upload", qe(u, "locale")), v = Gt(), k = $([]), w = $(!1), T = $(), F = $(), A = $(), z = g(() => u.loading && u.loadingLock), C = g(() => [h.b(), h.bs("vars"), h.bm(`type-${u.listType}`), {
      [h.bm("inherit")]: u.inherit,
      [h.bm(u.state)]: u.state !== "default",
      [h.bm("multiple")]: u.multiple,
      [h.bm("drag")]: u.allowDrag,
      [h.bm("to-add")]: u.selectToAdd,
      [h.bm("block")]: u.block,
      [h.bm("drag-only")]: u.disabledClick,
      [h.bm("image")]: u.image,
      [h.bm("has-file")]: !u.hiddenFiles && L.value.length,
      [h.bm("readonly")]: z.value,
      [h.bm("loading")]: u.loading
    }]), E = g(() => u.image ? {
      [h.be("image-control")]: !0,
      [h.bem("image-control", "drag-over")]: w.value,
      [h.bem("image-control", "disabled")]: u.disabled
    } : {
      [h.be("control")]: !0,
      [h.bem("control", "drag-over")]: w.value
    }), P = g(() => {
      var Pe;
      const ce = u.image ? (Pe = u.accept) != null && Pe.length ? u.accept : "image/*" : u.accept;
      return ce && (typeof ce == "string" ? ce : ce.join());
    }), R = g(() => u.defaultFiles.map((ce) => Z(ce))), L = g(() => R.value.concat(k.value).filter((ce) => ce.status !== Gn.DELETE));
    le(() => u.fileList, (ce) => {
      const Pe = /* @__PURE__ */ new Map(), at = /* @__PURE__ */ new Map();
      for (const yt of k.value)
        dn(yt.id) && Pe.set(yt.id, yt), yt.source && at.set(yt.source, yt);
      k.value = (ce || []).map((yt) => Z(yt, yt.id ? Pe.get(yt.id) : yt.source ? at.get(yt.source) : void 0)), Ce();
    }, {
      immediate: !0,
      deep: !0
    }), a({
      isDragOver: w,
      execute: we,
      handleDelete: Ee,
      focus: I,
      blur: () => {
        var ce, Pe;
        (ce = F.value) == null || ce.$el.blur(), (Pe = A.value) == null || Pe.blur();
      }
    });
    function I(ce) {
      var Pe, at;
      (Pe = F.value) != null && Pe.$el ? F.value.$el.focus(ce) : (at = A.value) == null || at.focus(ce);
    }
    function G() {
      var ce;
      u.disabled || z.value || !u.disabledClick && ((ce = T.value) == null || ce.click());
    }
    function ee(ce) {
      const Pe = ce.code || ce.key;
      (Pe === "Enter" || Pe === "Space") && G();
    }
    function O(ce) {
      const Pe = ce.target;
      Pe != null && Pe.files && H(Pe.files);
    }
    async function H(ce) {
      const Pe = Array.from(ce || []), yt = u.selectToAdd ? Array.from(k.value) : [];
      for (const Mt of Pe) {
        Mt.path || (Mt.path = Mt.webkitRelativePath);
        let Ht = q(Mt);
        if (Ht ? Ht.status !== Gn.SUCCESS && Ht.status !== Gn.UPLOADING && (Ht.status = Gn.PENDING) : Ht = Z({
          name: Mt.name,
          size: Mt.size,
          type: Mt.type,
          source: Mt
        }), typeof u.onBeforeSelect == "function") {
          let _t = u.onBeforeSelect(Ht, yt);
          if (Sl(_t) && (_t = await _t), Wi(_t)) continue;
        }
        yt.includes(Ht) || yt.push(Ht);
      }
      const Nt = u.countLimit;
      if (Nt > 0 && yt.length > Nt) {
        const Mt = yt.slice(Nt);
        _(u.onExceed, Mt), k.value = yt.slice(0, Nt);
      } else
        k.value = yt;
      Ce(), U(), u.manual || we();
    }
    function U() {
      l("update:file-list", k.value), f(k.value), _(u.onChange, k.value), m();
    }
    function q(ce) {
      const {
        name: Pe,
        size: at,
        type: yt
      } = ce, Nt = ce.path || ce.webkitRelativePath;
      return k.value.find(({
        source: Mt
      }) => Mt && (Mt.path || Mt.webkitRelativePath) === Nt && Mt.name === Pe && Mt.size === at && Mt.type === yt);
    }
    function Z(ce, Pe = Mx()) {
      const {
        id: at,
        name: yt,
        size: Nt,
        type: Mt,
        base64: Ht,
        status: _t,
        percentage: tn,
        source: Wt,
        url: un,
        path: qt
      } = ce;
      return Object.assign(Pe, {
        id: at ?? Pe.id ?? vc(),
        name: yt || "",
        size: Nt || 0,
        type: Mt || "",
        base64: Ht || null,
        status: _t ?? Gn.PENDING,
        percentage: tn || 0,
        source: Wt || null,
        url: un || null,
        path: qt || "",
        xhr: null,
        response: null,
        error: null
      }), Pe;
    }
    function K(ce) {
      return ce.name.split(".").pop().toLocaleLowerCase();
    }
    async function we() {
      if (!u.url || !te())
        return !1;
      const ce = k.value.filter((at) => at.status !== Gn.SUCCESS && at.status !== Gn.DELETE), Pe = [];
      for (const at of ce)
        Pe.push(de(at).catch(Qt));
      return await Promise.all(Pe).then((at) => at.filter((yt) => yt));
    }
    async function de(ce) {
      if (typeof u.onBeforeUpload == "function") {
        let _t = u.onBeforeUpload(ce, k.value.filter((tn) => tn.status !== Gn.SUCCESS && tn.status !== Gn.DELETE));
        if (Sl(_t))
          try {
            _t = await _t;
          } catch {
            return;
          }
        if (Wi(_t)) return;
        _t instanceof Blob && (_t instanceof File ? ce.source = _t : ce.source = new File([_t], ce.name, {
          type: ce.type
        }));
      }
      if (!ce.source) return;
      ce.status = Gn.UPLOADING;
      const {
        url: Pe,
        headers: at,
        withCredentials: yt,
        data: Nt,
        field: Mt,
        pathField: Ht
      } = u;
      return await new Promise((_t, tn) => {
        ce.abort = (u.customFetch || Ax)({
          url: Pe,
          headers: at,
          withCredentials: yt,
          data: Nt,
          field: Mt,
          pathField: Ht,
          file: ce.source,
          onProgress: (Wt) => {
            fe(Wt, ce);
          },
          onSuccess: (Wt) => {
            ot(Wt, ce), _t(Wt);
          },
          onError: (Wt) => {
            Ze(Wt, ce), tn(Wt);
          },
          onAbort: () => {
            _t(null);
          }
        });
      });
    }
    function te() {
      const ce = u.maxSize ? u.maxSize * 1024 : 1 / 0, Pe = typeof u.filter == "string" ? u.filter ? [u.filter] : [] : u.filter.filter((at) => at);
      for (let at = 0, yt = k.value.length; at < yt; ++at) {
        const Nt = k.value[at], Mt = K(Nt);
        if (Pe.length && !Pe.includes(Mt))
          return _(u.onFilterError, Nt), !1;
        if (Nt.size > ce)
          return _(u.onSizeError, Nt), !1;
      }
      return !0;
    }
    function Ee(ce) {
      var Pe;
      ce.status = Gn.DELETE, (Pe = ce.abort) == null || Pe.call(ce), Ce(), _(u.onDelete, ce), U();
    }
    function Se(ce) {
      _(u.onPreview, ce);
    }
    function Ce() {
      if (!zt) return;
      const ce = new DataTransfer();
      k.value = k.value.filter((Pe) => Pe.status !== Gn.DELETE), k.value.forEach((Pe) => {
        Pe.source && ce.items.add(Pe.source);
      }), T.value && (T.value.files = ce.files);
    }
    function fe(ce, Pe) {
      Pe.status !== Gn.DELETE && (Pe.percentage = ce, _(u.onProgress, Pe, ce), U());
    }
    function ot(ce, Pe) {
      Pe.status !== Gn.DELETE && (Pe.status = Gn.SUCCESS, Pe.response = ce, Pe.error = null, _(u.onSuccess, Pe, ce), U());
    }
    function Ze(ce, Pe) {
      Pe.status !== Gn.DELETE && (Pe.status = Gn.FAIL, Pe.error = ce, _(u.onError, Pe, ce), U());
    }
    let Je;
    pn(() => {
      clearTimeout(Je);
    });
    async function se(ce) {
      if (!(!u.allowDrag || u.disabled || z.value) && (clearTimeout(Je), ce.preventDefault(), w.value = !1, ce.dataTransfer)) {
        const Pe = await J(ce.dataTransfer);
        Pe.length && H(Pe);
      }
    }
    function ne(ce) {
      !u.allowDrag || u.disabled || z.value || (clearTimeout(Je), ce.preventDefault(), w.value = !0);
    }
    function ue(ce) {
      !u.allowDrag || u.disabled || z.value || (ce.preventDefault(), Je = setTimeout(() => {
        w.value = !1;
      }, 100));
    }
    async function J(ce) {
      var Wt, un;
      const {
        items: Pe,
        files: at
      } = ce;
      if (!Pe.length) return [];
      const yt = [], Nt = [], Mt = [];
      for (let qt = 0, pe = Pe.length; qt < pe; ++qt) {
        const Re = (un = (Wt = Pe[qt]).webkitGetAsEntry) == null ? void 0 : un.call(Wt);
        if (!Re) return at;
        Re.isFile ? yt.push(at[qt]) : Nt.push({
          dir: Re,
          prefix: ""
        });
      }
      if (!u.directory || !Nt.length) return yt;
      const Ht = [];
      let _t = u.countLimit - (u.selectToAdd ? k.value.length : 0);
      _t = Math.round(_t) > 0 ? _t : 100;
      const tn = () => {
        for (; Nt.length; ) {
          const qt = Nt.shift(), pe = qt.dir, Re = qt.prefix ? `${qt.prefix}/${pe.name}` : pe.name, he = pe.createReader();
          Mt.push(new Promise((Fe) => {
            he.readEntries((lt) => {
              lt.forEach((Ke) => {
                Ke.isFile ? Ht.push({
                  entry: Ke,
                  prefix: Re
                }) : Nt.push({
                  dir: Ke,
                  prefix: Re
                });
              }), Fe();
            });
          }));
        }
      };
      for (; tn(), await Promise.all(Mt), !(!Nt.length || Ht.length >= _t); )
        ;
      return Ht.length > 0 ? yt.concat(await Promise.all(Ht.map(({
        entry: qt,
        prefix: pe
      }) => new Promise((Re) => qt.file((he) => {
        he.path = `${pe}/${he.name}`, Re(he);
      }))))) : yt;
    }
    function N(ce) {
      ce.preventDefault();
    }
    function j() {
      return !u.allowDrag && !u.disabledClick ? y(st, null, [y(Hn, {
        ref: F,
        inherit: !0,
        size: p.value,
        type: u.state,
        disabled: u.disabled,
        loading: u.loading
      }, {
        default: () => u.buttonLabel ?? i.value.upload,
        icon: () => y(Oe, v.value.upload, null),
        loading: () => y(Oe, He(v.value.loading, {
          class: h.be("loading-icon"),
          effect: u.loadingEffect || v.value.loading.effect,
          icon: u.loadingIcon || v.value.loading.icon,
          label: "loading"
        }), null)
      }), W(r, "tip", void 0, () => [y(me, {
        renderer: u.slots.tip
      }, {
        default: () => [u.tip && y("p", {
          class: h.be("tip")
        }, [u.tip])]
      })])]) : y("div", {
        ref: A,
        class: [h.be("drag-panel"), u.disabled && h.bem("drag-panel", "disabled")],
        tabindex: 0
      }, [W(r, "cloud", void 0, () => [y(me, {
        renderer: u.slots.cloud
      }, {
        default: () => [y(Oe, He(v.value.uploadCloud, {
          class: [h.be("cloud"), u.disabled && h.bem("cloud", "disabled")],
          scale: +(v.value.uploadCloud.scale || 1) * 4
        }), null)]
      })]), W(r, "tip", void 0, () => [y(me, {
        renderer: u.slots.tip
      }, {
        default: () => [y("p", {
          class: h.be("tip")
        }, [u.tip || i.value.dragOrClick])]
      })]), y(Oe, He(v.value.loading, {
        class: h.be("loading-icon"),
        effect: u.loadingEffect || v.value.loading.effect,
        icon: u.loadingIcon || v.value.loading.icon,
        label: "loading",
        style: {
          opacity: u.loading ? "100%" : "0%"
        }
      }), null)]);
    }
    function ae() {
      return y("button", {
        class: [h.be("image-action"), u.disabled && h.bem("image-action", "disabled")],
        type: "button"
      }, [W(r, "default", {
        isDragOver: (u.allowDrag || u.disabledClick) && w.value
      }, () => [y(me, {
        renderer: u.slots.default,
        data: {
          isDragOver: (u.allowDrag || u.disabledClick) && w.value
        }
      }, {
        default: () => [u.loading ? y(Oe, He(v.value.loading, {
          class: h.be("loading-icon"),
          effect: u.loadingEffect || v.value.loading.effect,
          icon: u.loadingIcon || v.value.loading.icon,
          label: "loading",
          style: {
            marginBottom: "6px"
          }
        }), null) : y(Oe, He(v.value.plus, {
          class: [h.be("cloud"), u.disabled && h.bem("cloud", "disabled")],
          scale: +(v.value.plus.scale || 1) * 1.2,
          style: {
            marginBottom: "6px"
          }
        }), null), y("span", null, [u.buttonLabel ?? i.value.upload])]
      })])]);
    }
    function be() {
      const ce = u.image ? "li" : "div";
      return y(ce, {
        class: E.value,
        tabindex: -1,
        onClick: G,
        onDrop: se,
        onDragover: ne,
        onDragleave: ue,
        onKeydown: ee
      }, {
        default: () => [!u.disabledClick && y("input", {
          ref: T,
          type: "file",
          class: h.be("input"),
          disabled: u.disabled,
          multiple: u.multiple,
          name: u.name,
          accept: P.value,
          webkitdirectory: u.directory || void 0,
          onChange: O,
          onSubmit: N
        }, null), u.image ? ae() : W(r, "default", {
          isDragOver: (u.allowDrag || u.disabledClick) && w.value
        }, () => {
          let Pe;
          return [y(me, {
            renderer: u.slots.default,
            data: {
              isDragOver: (u.allowDrag || u.disabledClick) && w.value
            }
          }, Rx(Pe = j()) ? Pe : {
            default: () => [Pe]
          })];
        })]
      });
    }
    function re() {
      return y(xf, {
        inherit: !0,
        files: L.value,
        "select-to-add": u.selectToAdd,
        type: u.image ? "thumbnail" : u.listType,
        "icon-renderer": u.iconRenderer,
        "loading-text": u.loadingText,
        "can-preview": u.canPreview,
        style: u.listStyle,
        onDelete: Ee,
        onPreview: Se
      }, {
        item: r.item || u.slots.item ? (ce) => W(r, "item", ce, () => [y(me, {
          renderer: u.slots.item,
          data: ce
        }, null)]) : null,
        icon: r.icon || u.slots.icon ? (ce) => W(r, "icon", ce, () => [y(me, {
          renderer: u.slots.icon,
          data: ce
        }, null)]) : null,
        suffix: () => u.image && (!u.countLimit || L.value.length < u.countLimit) ? be() : null
      });
    }
    return () => y("div", {
      id: n.value,
      class: C.value,
      role: "group",
      "aria-labelledby": o.value
    }, [!u.image && be(), !u.hiddenFiles && re()]);
  },
  methods: {
    execute: Qt,
    handleDelete: Qt,
    focus: Qt,
    blur: Qt
  }
}), zx = ft({
  src: String,
  srcList: Array,
  noControls: M,
  videoAttrs: Object,
  time: Number,
  volume: Number,
  playbackRate: Number,
  playbackRates: Array,
  // kernel: Object as PropType<VideoKernel>,
  controlLayout: Object,
  poster: String,
  video: Object,
  segments: Array,
  loading: M,
  loadingIcon: Xt,
  loadingEffect: String,
  shortcuts: Object,
  slots: Object,
  onPlay: B(),
  onPause: B(),
  onEnded: B(),
  onTimeChange: B(),
  onVolumeChange: B(),
  onRateChange: B(),
  onToggleFlip: B(),
  onTogglePip: B(),
  onToggleFull: B(),
  onPrev: B(),
  onNext: B(),
  onRefresh: B()
}), Lx = ft({
  type: String,
  label: String,
  tipClass: [String, Array, Object],
  disabled: M,
  shortcut: String,
  focusable: M,
  value: [Number, String],
  options: Array,
  onClick: B(),
  onEnter: B(),
  onLeave: B(),
  onFocus: B(),
  onBlur: B(),
  onSelect: B()
}), yo = {
  left: ["play-prev", "play", "play-next", "refresh", "timer"],
  center: [],
  right: ["playback-rate", "volume", "flip", "pip", "full-window", "full-browser"]
};
for (const t of Object.keys(yo))
  yo[t] = Object.freeze(yo[t]);
const ro = Object.freeze(yo), Fx = Object.freeze({
  play: "Space",
  "play-prev": "PageUp",
  "play-next": "PageDown",
  refresh: "R",
  flip: "C",
  volume: "M",
  pip: "P",
  "full-window": "G",
  "full-browser": "F"
}), Hi = "__VXP_VIDEO_STATE", Dl = /* @__PURE__ */ Xe({
  name: "VideoControl",
  __name: "video-control",
  props: Lx,
  setup(t) {
    const l = ct("videoControl", t, {
      type: "button",
      label: {
        static: !0,
        default: ""
      },
      tipClass: null,
      disabled: !1,
      shortcut: {
        static: !0,
        default: ""
      },
      focusable: !1,
      value: null,
      options: () => []
    }), a = Ye("video"), n = Et(Hi), o = $(l.value), s = g(() => ({
      [a.be("control")]: !0,
      [a.bem("control", l.type)]: l.type !== "button",
      [a.bem("control", "disabled")]: l.disabled
    })), c = g(() => l.type === "button" ? a.be("control-tip") : a.be("control-panel")), d = g(() => l.options.map((h) => typeof h == "string" ? { value: h } : h)), p = g(() => Rs(d.value, "value", void 0, !0)), m = g(() => p.value.get(o.value));
    let b;
    le(
      () => l.shortcut,
      (h) => {
        b == null || b(), h && (b = n.addShortcut(h, f));
      },
      { immediate: !0 }
    ), pn(() => b == null ? void 0 : b());
    function f() {
      !l.disabled && _(l.onClick);
    }
    function u(h) {
      l.disabled || h.disabled || (o.value = h.value, _(l.onSelect, h));
    }
    return (h, i) => (S(), D("div", {
      class: x(s.value)
    }, [
      y(e(Fl), {
        trigger: e(l).focusable ? "hover-focus" : "hover",
        raw: "",
        shift: "",
        transfer: e(n).placeId && `#${e(n).placeId}`,
        "tip-class": [c.value, e(l).tipClass],
        "no-hover": e(l).type === "button",
        disabled: e(l).type === "button" ? !e(l).label : e(l).disabled,
        onTipEnter: i[2] || (i[2] = (v) => e(_)(e(l).onEnter)),
        onTipLeave: i[3] || (i[3] = (v) => e(_)(e(l).onLeave))
      }, {
        trigger: X(() => [
          oe("button", {
            class: x(e(a).be("control-button")),
            type: "button",
            onFocus: i[0] || (i[0] = (v) => e(_)(e(l).onFocus, v)),
            onBlur: i[1] || (i[1] = (v) => e(_)(e(l).onBlur, v)),
            onClick: f
          }, [
            m.value ? W(h.$slots, "selected", {
              key: 0,
              option: m.value
            }, () => [
              dt(ze(m.value.selectedLabel || m.value.label || m.value.value), 1)
            ]) : W(h.$slots, "default", { key: 1 })
          ], 34)
        ]),
        default: X(() => [
          e(l).type === "button" ? (S(), D("span", {
            key: 0,
            class: x(e(a).be("control-name"))
          }, [
            W(h.$slots, "label", {}, () => [
              dt(ze(e(l).label) + " ", 1),
              e(l).shortcut ? (S(), D("span", {
                key: 0,
                class: x(e(a).be("control-shortcut"))
              }, ze(`(${e(l).shortcut})`), 3)) : ge("", !0)
            ])
          ], 2)) : W(h.$slots, "panel", { key: 1 }, () => [
            e(l).type === "select" ? (S(), D("ul", {
              key: 0,
              class: x(e(a).be("control-options"))
            }, [
              (S(!0), D(st, null, ln(d.value, (v, k) => (S(), Be(e(qo), {
                key: v.value,
                class: x({
                  [e(a).be("control-option")]: !0,
                  [e(a).bem("control-option", "selected")]: v.value === o.value
                }),
                label: v.label,
                value: v.value,
                disabled: v.disabled,
                divided: v.disabled,
                title: v.title,
                "no-hover": "",
                onSelect: (w) => u(v)
              }, {
                default: X(() => [
                  W(h.$slots, "option", {
                    option: v,
                    index: k,
                    selected: v.value === o.value
                  }, () => [
                    dt(ze(v.label || v.value), 1)
                  ])
                ]),
                _: 2
              }, 1032, ["class", "label", "value", "disabled", "divided", "title", "onSelect"]))), 128))
            ], 2)) : ge("", !0)
          ])
        ]),
        _: 3
      }, 8, ["trigger", "transfer", "tip-class", "no-hover", "disabled"])
    ], 2));
  }
});
function Zs(t) {
  if (t <= 0) return "00:00";
  const r = ep(Math.ceil(t), 60, 2);
  return r.length < 2 && r.unshift(0), r.length < 3 ? r.map(ol).join(":") : r.map((l, a) => a ? ol(l) : l).join(":");
}
function Ix(t, r) {
  return {
    ...r,
    scale: +(r.scale || 1) * t
  };
}
const Nx = ["src"], Dx = /* @__PURE__ */ Xe({
  name: "VideoProgress",
  __name: "video-progress",
  props: {
    time: {
      type: Number,
      default: 0
    },
    duration: {
      type: Number,
      default: 0
    },
    segments: {
      type: Array,
      default: () => []
    },
    noPreview: {
      type: Boolean,
      default: !1
    },
    previewSrc: {
      type: String,
      default: ""
    }
  },
  emits: ["change"],
  setup(t, { emit: r }) {
    const l = t, a = r, n = Ye("video"), o = vn("video"), { timer: s } = Vn(), c = $(0), d = $(!1), p = $(0), m = $(0), b = $(0);
    let f = [0, 0], u = 100, h = 60;
    const i = $(), v = $(), k = g(() => {
      var O;
      return (O = v.value) == null ? void 0 : O.$el;
    }), w = $(), T = g(() => {
      var O;
      return !!((O = v.value) != null && O.sliding[1]);
    }), F = g(() => l.duration ? (T.value ? c.value : l.time) / l.duration * 100 : 0), A = g(() => ({
      [n.be("progress")]: !0,
      [n.bem("progress", "sliding")]: T.value,
      [n.bem("progress", "disabled")]: l.duration <= 0
    })), z = g(() => {
      const O = Math.max(1, l.duration);
      let H = l.segments.map((q) => q.time);
      H.length || (H = [0, O]), H = H.at(-1) === O ? H : [...H, O], H = H[0] === 0 ? H : [0, ...H];
      const U = [];
      for (let q = 0, Z = H.length - 1; q < Z; ++q) {
        const K = H[q], we = H[q + 1], de = we - K;
        U.push({
          start: K,
          startPercent: K / O * 100,
          end: we,
          endPercent: we / O * 100,
          duration: de,
          durationPercent: de / O * 100,
          width: (we - K) / O * 100
        });
      }
      return U;
    }), C = g(() => {
      var Z;
      const O = p.value, H = l.segments;
      if (!H.length) return "";
      let U = -1;
      if (O <= 0)
        U = 0;
      else
        for (let K = 1, we = H.length; K < we; ++K)
          if (H[K].time > O) {
            U = K - 1;
            break;
          }
      U < 0 && (U = H.length - 1);
      const q = ((Z = H[U]) == null ? void 0 : Z.title) || jc(o.value.chapterCount, U + 1);
      return q && ` (${q})`;
    });
    Dn(k, "pointerenter", () => {
      clearTimeout(s.hover), s.hover = setTimeout(() => {
        d.value = !0;
      }, 100);
    }), Dn(k, "pointerleave", () => {
      clearTimeout(s.hover), s.hover = setTimeout(() => {
        d.value = !1;
      }, 100);
    }), Dn(
      k,
      "pointermove",
      Cl((O) => {
        T.value || E(O);
      })
    );
    function E(O) {
      if (!k.value) return;
      const H = cn(
        O.clientX - k.value.getBoundingClientRect().left,
        0,
        u
      );
      p.value = H / u * l.duration, m.value = H + f[0], b.value = cn(
        H - h * 0.5 + f[0],
        0,
        u - h + f[0] + f[1]
      );
    }
    function P(O) {
      var U, q;
      if (!i.value) return;
      const H = getComputedStyle(i.value);
      f = [parseFloat(H.paddingLeft), parseFloat(H.paddingRight)], u = ((q = (U = O.borderBoxSize) == null ? void 0 : U[0]) == null ? void 0 : q.inlineSize) ?? O.contentRect.width;
    }
    function R(O) {
      var H, U;
      h = ((U = (H = O.borderBoxSize) == null ? void 0 : H[0]) == null ? void 0 : U.inlineSize) ?? O.contentRect.width;
    }
    function L(O) {
      a("change", O / 1e3 * l.duration);
    }
    const I = Cl(E);
    function G() {
      c.value = l.time, document.addEventListener("pointermove", I), document.addEventListener("pointerup", ee);
    }
    function ee() {
      document.removeEventListener("pointermove", I), document.removeEventListener("pointerup", ee);
    }
    return (O, H) => (S(), D("div", {
      ref_key: "wrapper",
      ref: i,
      class: x(A.value)
    }, [
      y(e(zn), { "on-resize": P }, {
        default: X(() => [
          y(e(Fi), {
            ref_key: "slider",
            ref: v,
            class: x(e(n).be("progress-slider")),
            value: F.value * 10,
            max: 1e3,
            vertical: !1,
            range: !1,
            "hide-tip": "",
            "trigger-fade": "",
            "flip-marker": "",
            disabled: t.duration <= 0,
            onChange: L,
            onPointerdown: G
          }, {
            filler: X((U) => [
              (S(!0), D(st, null, ln(z.value, (q, Z) => (S(), D("div", {
                key: Z,
                class: x(e(n).be("progress-segment")),
                style: Qe({ width: `${q.width}%` })
              }, [
                oe("div", {
                  class: x(e(n).be("progress-track"))
                }, [
                  oe("div", {
                    class: x(e(n).be("progress-filler")),
                    style: Qe({
                      visibility: U.percent[1] < q.startPercent ? "hidden" : void 0,
                      transform: `translateX(${Math.min(
                        Math.max(U.percent[1] - q.startPercent, 0) / q.durationPercent * 100 - 100,
                        0
                      )}%) translateZ(0)`
                    })
                  }, null, 6)
                ], 2)
              ], 6))), 128))
            ]),
            trigger: X(() => [
              W(O.$slots, "trigger", {}, () => [
                oe("div", {
                  class: x(e(n).be("progress-trigger"))
                }, null, 2)
              ])
            ]),
            _: 3
          }, 8, ["class", "value", "disabled"])
        ]),
        _: 3
      }),
      oe("div", {
        class: x({
          [e(n).be("progress-indicator")]: !0,
          [e(n).bem("progress-indicator", "active")]: d.value && !T.value
        }),
        style: Qe({ transform: `translateX(${m.value}px) translateZ(0)` })
      }, null, 6),
      t.noPreview ? ge("", !0) : (S(), Be(e(zn), {
        key: 0,
        "on-resize": R
      }, {
        default: X(() => [
          oe("div", {
            ref_key: "preview",
            ref: w,
            class: x({
              [e(n).be("preview")]: !0,
              [e(n).bem("preview", "has-image")]: t.previewSrc,
              [e(n).bem("preview", "active")]: d.value || T.value
            }),
            style: Qe({ transform: `translateX(${b.value}px) translateZ(0)` })
          }, [
            W(O.$slots, "preview", {}, () => [
              t.previewSrc ? (S(), D("div", {
                key: 0,
                class: x(e(n).be("preview-image"))
              }, [
                oe("img", { src: t.previewSrc }, null, 8, Nx)
              ], 2)) : ge("", !0),
              oe("div", {
                class: x(e(n).be("preview-time"))
              }, ze(e(Zs)(p.value) + C.value), 3)
            ])
          ], 6)
        ]),
        _: 3
      }))
    ], 2));
  }
}), Ox = /* @__PURE__ */ Xe({
  name: "VideoTimer",
  __name: "video-timer",
  props: {
    time: {
      type: Number,
      default: 0
    },
    duration: {
      type: Number,
      default: 0
    },
    disabled: {
      type: Boolean,
      default: !1
    }
  },
  emits: ["change"],
  setup(t, { emit: r }) {
    const l = t, a = r, n = Ye("video"), o = $(l.time), s = $(!1), c = $(84), d = $(""), p = $(), m = $(), b = g(() => Zs(o.value));
    le(
      () => l.time,
      (h) => {
        o.value = h;
      }
    ), le(
      () => l.disabled,
      (h) => {
        h && (s.value = !1);
      }
    ), sn(() => {
      le(
        () => l.duration,
        () => {
          kt(() => {
            c.value = m.value ? Bo(m.value) * 2 + 20 : 84;
          });
        },
        { immediate: !0 }
      );
    });
    function f() {
      !l.disabled && !s.value && (s.value = !0, d.value = b.value, kt(() => {
        var h;
        (h = p.value) == null || h.focus();
      }));
    }
    function u(h) {
      if (s.value = !1, h) {
        const i = d.value.trim().split(":");
        i.every((v) => tr(v)) && (o.value = i.map(rn).reverse().slice(0, 3).reduce((v, k, w) => v + 60 ** w * k, 0), o.value = Math.min(o.value, l.duration), a("change", o.value));
      }
    }
    return (h, i) => (S(), D("div", {
      class: x([e(n).be("control"), e(n).be("timer"), l.disabled && e(n).bem("control", "disabled")]),
      style: Qe({ width: `${c.value}px` }),
      onClick: f
    }, [
      s.value ? (S(), Be(e(Vr), {
        key: 0,
        ref_key: "input",
        ref: p,
        value: d.value,
        "onUpdate:value": i[0] || (i[0] = (v) => d.value = v),
        class: x(e(n).be("timer-input")),
        size: "small",
        transparent: "",
        onBlur: i[1] || (i[1] = (v) => u(!1)),
        onEnter: i[2] || (i[2] = (v) => u(!0))
      }, null, 8, ["value", "class"])) : (S(), D(st, { key: 1 }, [
        oe("span", null, ze(b.value), 1),
        oe("span", {
          class: x(e(n).be("timer-separator"))
        }, "/", 2),
        oe("span", {
          ref_key: "durationEl",
          ref: m
        }, ze(e(Zs)(t.duration)), 513)
      ], 64))
    ], 6));
  }
}), _x = /* @__PURE__ */ Xe({
  name: "VideoVolume",
  __name: "video-volume",
  props: {
    volume: {
      type: Number,
      default: 1
    }
  },
  emits: ["change"],
  setup(t, { expose: r, emit: l }) {
    const a = t, n = l, o = Ye("video"), s = Gt(), c = Et(Hi), d = $(a.volume), p = $(!1), m = g(() => p.value ? s.value.volumeMute : d.value < 0.5 ? s.value.volumeLow : s.value.volume);
    le(
      () => a.volume,
      (h) => {
        d.value = h;
      }
    ), r({ toggleMute: f });
    let b = d.value;
    function f() {
      p.value ? d.value = b <= 0 ? 0.5 : b : (b = d.value, d.value = 0), p.value = !p.value, n("change", d.value);
    }
    function u(h) {
      h /= 100, b = h, d.value = h, p.value = h <= 0, n("change", d.value);
    }
    return (h, i) => (S(), Be(Dl, {
      class: x(e(o).be("volume")),
      type: "panel",
      "tip-class": e(o).be("volume-panel"),
      onClick: f
    }, {
      panel: X(() => [
        oe("div", {
          class: x(e(o).be("volume-text"))
        }, ze((d.value * 100).toFixed()), 3),
        y(e(Fi), {
          value: d.value * 100,
          class: x(e(o).be("volume-slider")),
          min: 0,
          max: 100,
          vertical: "",
          "hide-tip": "",
          reverse: "",
          range: !1,
          onInput: u
        }, null, 8, ["value", "class"])
      ]),
      default: X(() => [
        y(e(Oe), It(Yt(e(Ix)(e(c).iconScale, m.value))), null, 16)
      ]),
      _: 1
    }, 8, ["class", "tip-class"]));
  }
}), Bx = /* @__PURE__ */ Xe({
  name: "Video",
  props: zx,
  emits: ["update:src", "update:time", "update:volume", "update:playback-rate"],
  setup(t, {
    slots: r,
    emit: l,
    expose: a
  }) {
    var Ke, Ct;
    const n = ct("video", t, {
      src: {
        static: !0,
        default: ""
      },
      srcList: {
        static: !0,
        default: null
      },
      noControls: !1,
      videoAttrs: null,
      time: {
        static: !0,
        default: 0
      },
      volume: 1,
      playbackRate: 1,
      playbackRates: () => [0.5, 1, 1.25, 1.5, 2],
      // kernel: null,
      controlLayout: () => ro,
      poster: "",
      video: {
        static: !0,
        default: null
      },
      segments: () => [],
      loading: !1,
      loadingIcon: null,
      loadingEffect: null,
      shortcuts: () => ({}),
      slots: () => ({})
    }), o = Ye("video"), s = vn("video"), c = Gt(), {
      timer: d
    } = Vn(), p = zt && document.pictureInPictureEnabled, m = $(n.src || ((Ke = n.srcList) == null ? void 0 : Ke[0]) || ((Ct = n.videoAttrs) == null ? void 0 : Ct.src) || ""), b = $(!1), f = $(n.time), u = $(!1), h = $(0), i = $(n.volume), v = $(!1), k = $(!0), w = $(!1), T = $(n.playbackRate), F = $(!1), A = $(!1), z = $(!1), C = $(1.3), E = $(), P = g(() => {
      var ve;
      return (ve = E.value) == null ? void 0 : ve.wrapper;
    }), R = $(), L = $(), I = g(() => {
      var ve;
      return (ve = E.value) == null ? void 0 : ve.placeId;
    }), G = g(() => {
      var ve;
      return ((ve = E.value) == null ? void 0 : ve.full) ?? !1;
    }), ee = g(() => R.value || n.video), O = pt({}), H = g(() => ({
      ...Fx,
      ...n.shortcuts
    }));
    function U(ve, Ve) {
      return O[ve] ? (console.warn(`[vexip-ui:Video] duplicate shortcut key '${ve}' and it will be ignored`), Qt) : (O[ve] = Ve, () => {
        delete O[ve];
      });
    }
    cl({
      target: P,
      passive: !1,
      onKeyDown: (ve, Ve) => {
        ve.ctrlKey || ve.shiftKey || ve.altKey || ve.metaKey || za([[() => Ve.up, () => {
          i.value = Math.min(1, i.value + 0.05);
        }], [() => Ve.down, () => i.value = Math.max(0, i.value - 0.05)], [() => Ve.right, () => f.value = Math.min(h.value, f.value + 5)], [() => Ve.left, () => f.value = Math.max(0, f.value - 5)], [() => Ve[H.value.volume || "M"], () => {
          var Ie;
          return (Ie = L.value) == null ? void 0 : Ie.toggleMute();
        }], ...Object.keys(O).map((Ie) => [() => Ve[Ie], O[Ie]])], {
          afterMatchAny: Ve.resetAll
        });
      }
    });
    const q = g(() => [o.b(), o.bs("vars"), {
      [o.bm("loading")]: n.loading
    }]), Z = g(() => b.value ? c.value.pause : c.value.play), K = g(() => b.value ? c.value.pauseState : c.value.playState), we = g(() => {
      const ve = n.playbackRates.map((Ve) => {
        const Ie = typeof Ve == "number" ? {
          value: Ve
        } : Ve;
        return Ie.value = rn(Ie.value), Ie.label = Ie.label || `${Bl(Ie.value) ? Ie.value : Ie.value.toFixed(1)}x`, Ie;
      }).filter((Ve) => Ve.value > 0).sort((Ve, Ie) => Ie.value - Ve.value);
      if (!ve.find((Ve) => Ve.value === 1)) {
        const Ve = ve.findIndex((Ie) => Ie.value < 1);
        ve.splice((Ve + ve.length) % ve.length, 0, {
          value: 1,
          label: "1.0x"
        });
      }
      return ve;
    }), de = g(() => n.segments.map((ve) => typeof ve == "number" ? {
      time: ve
    } : ve).filter((ve) => ve.time >= 0 && ve.time <= h.value).sort((ve, Ve) => ve.time - Ve.time)), te = g(() => h.value ? f.value / h.value * 100 : 0), Ee = g(() => {
      var Ve;
      const ve = n.src || ((Ve = n.videoAttrs) == null ? void 0 : Ve.src) || "";
      return ve && n.srcList && !n.srcList.includes(ve) ? [ve].concat(n.srcList) : n.srcList || [ve];
    }), Se = g(() => Ee.value ? Ee.value.indexOf(m.value) : -1), Ce = yl(pt({
      playing: b,
      currentTime: f,
      currentVolume: i,
      currentRate: T,
      interacting: F,
      flipped: z,
      canPlay: u,
      duration: h,
      pip: v,
      hasPlayed: A,
      togglePlaying: fe,
      togglePip: Ze,
      changeRate: Je,
      changeTime: se,
      changeVolume: ne,
      toggleFull: Pe
    }));
    le(() => n.src, (ve) => {
      N(), m.value = ve;
    }, {
      flush: "pre"
    }), le(() => n.time, (ve) => {
      se(ve, !1);
    }), le(() => n.volume, (ve) => {
      ne(ve, !1);
    }), le(() => n.playbackRate, (ve) => {
      Je(ve, !1);
    }), le(b, (ve) => {
      ve ? requestAnimationFrame(() => {
        k.value = !1;
      }) : k.value = !0;
    }), le(u, (ve) => {
      ve || (b.value = !1);
    }), le(k, (ve) => {
      ve && (w.value = !1);
    }), sn(() => {
      kt(() => {
        var ve;
        zt && !ee.value && ((ve = E.value) != null && ve.wrapper) && (R.value = E.value.wrapper.querySelector("video") ?? void 0), ee.value && f.value > 0 && (ee.value.currentTime = f.value);
      });
    }), nn(Hi, pt({
      placeId: I,
      iconScale: C,
      addShortcut: U
    })), Dn(ee, "canplay", () => {
      var ve;
      u.value = !0, h.value = ((ve = ee.value) == null ? void 0 : ve.duration) ?? 0;
    }), Dn(ee, "timeupdate", () => {
      var ve;
      f.value = ((ve = ee.value) == null ? void 0 : ve.currentTime) ?? 0, l("update:time", f.value), _(n.onTimeChange, f.value);
    }), Dn(ee, "ended", ot), Dn(ee, "enterpictureinpicture", () => {
      v.value = !0, _(n.onTogglePip, !0);
    }), Dn(ee, "leavepictureinpicture", () => {
      v.value = !1, _(n.onTogglePip, !1);
    }), a({
      currentSrc: m,
      playing: b,
      currentTime: f,
      duration: h,
      pip: v,
      interacting: F,
      stateHidden: w,
      wrapper: P,
      video: R,
      resetMetaState: N
    });
    function fe(ve = !b.value) {
      var Ve, Ie, Me;
      if (!u.value) {
        b.value = !1;
        return;
      }
      b.value = ve, b.value ? (A.value = !0, (Ve = ee.value) == null || Ve.play()) : (Ie = ee.value) == null || Ie.pause(), (Me = P.value) == null || Me.focus(), _(b.value ? n.onPlay : n.onPause);
    }
    function ot() {
      var ve;
      b.value = !1, (ve = ee.value) == null || ve.pause(), _(n.onEnded);
    }
    async function Ze() {
      !p || !ee.value || (v.value ? await document.exitPictureInPicture() : await ee.value.requestPictureInPicture());
    }
    function Je(ve, Ve = !0) {
      T.value = ve, ee.value && (ee.value.playbackRate = ve), Ve && (l("update:playback-rate", ve), _(n.onRateChange, ve));
    }
    function se(ve, Ve = !0) {
      f.value = ve, ee.value && ve !== ee.value.currentTime && (ee.value.currentTime = ve, ve = ee.value.currentTime), Ve && (l("update:time", ve), _(n.onTimeChange, ve));
    }
    function ne(ve, Ve = !0) {
      i.value = ve, ee.value && (ee.value.volume = ve), Ve && (l("update:volume", ve), _(n.onVolumeChange, ve));
    }
    function ue(ve = !z.value, Ve = !0) {
      z.value = ve, Ve && _(n.onToggleFlip, z.value);
    }
    function J(ve) {
      kt(() => {
        var Ve;
        (Ve = P.value) == null || Ve.focus(), _(n.onToggleFull, ve);
      });
    }
    function N() {
      var ve;
      b.value = !1, f.value = 0, u.value = !1, h.value = 0, v.value = !1, A.value = !1, (ve = ee.value) == null || ve.pause();
    }
    function j() {
      clearTimeout(d.interact), F.value = !0, d.interact = setTimeout(() => {
        F.value = !1;
      }, 3e3);
    }
    function ae() {
      clearTimeout(d.interact), d.interact = setTimeout(() => {
        F.value = !1;
      }, 500);
    }
    function be(ve) {
      const Ve = Ee.value;
      n.srcList && (m.value = Ve[(Se.value + ve + Ve.length) % Ve.length], l("update:src", m.value));
    }
    function re() {
      be(-1), _(n.onPrev);
    }
    function ce() {
      be(1), _(n.onNext);
    }
    function Pe(ve) {
      var Ve;
      (Ve = E.value) == null || Ve.toggle(ve);
    }
    function at() {
      _(n.onRefresh);
    }
    function yt() {
      return y(Dl, {
        class: o.be("play-prev"),
        label: s.value.playPrev,
        shortcut: H.value["play-prev"],
        disabled: !!n.srcList && !Se.value,
        onClick: re
      }, {
        default: () => [y(Oe, He(c.value.playPrev, {
          scale: +(c.value.playPrev.scale || 1) * C.value
        }), null)]
      });
    }
    function Nt() {
      return y(Dl, {
        class: o.be("play"),
        label: b.value ? s.value.pause : s.value.play,
        shortcut: H.value.play,
        disabled: !u.value,
        onClick: fe
      }, {
        default: () => [y(Oe, He(Z.value, {
          scale: +(Z.value.scale || 1) * C.value * 1.16
        }), null)]
      });
    }
    function Mt() {
      return y(Dl, {
        class: o.be("play-next"),
        label: s.value.playNext,
        shortcut: H.value["play-next"],
        disabled: !!n.srcList && Se.value === Ee.value.length - 1,
        onClick: ce
      }, {
        default: () => [y(Oe, He(c.value.playNext, {
          scale: +(c.value.playNext.scale || 1) * C.value
        }), null)]
      });
    }
    function Ht() {
      return y(Dl, {
        class: o.be("play-refresh"),
        label: s.value.refresh,
        shortcut: H.value.refresh,
        onClick: at
      }, {
        default: () => [y(Oe, He(c.value.refresh, {
          scale: +(c.value.refresh.scale || 1) * C.value
        }), null)]
      });
    }
    function _t() {
      return y(Ox, {
        time: f.value,
        duration: h.value,
        disabled: !u.value,
        onChange: se
      }, null);
    }
    function tn() {
      return y(Dl, {
        class: o.be("playback-rate"),
        type: "select",
        value: T.value,
        options: we.value,
        onSelect: (ve) => Je(ve.value)
      }, null);
    }
    function Wt() {
      return y(_x, {
        ref: L,
        volume: i.value,
        onChange: ne
      }, null);
    }
    function un() {
      return y(Dl, {
        class: o.be("flip"),
        label: s.value.flip,
        shortcut: H.value.flip,
        onClick: ue
      }, {
        default: () => [y(Oe, He(c.value.flipX, {
          scale: +(c.value.flipX.scale || 1) * C.value
        }), null)]
      });
    }
    function qt() {
      return !p || !R.value ? null : y(Dl, {
        class: o.be("pip"),
        label: v.value ? s.value.exitPip : s.value.requestPip,
        shortcut: H.value.pip,
        disabled: !u.value,
        onClick: Ze
      }, {
        default: () => [y(Oe, He(c.value.pip, {
          scale: +(c.value.pip.scale || 1) * C.value
        }), null)]
      });
    }
    function pe() {
      return y(Dl, {
        class: o.be("full-window"),
        label: G.value === "window" ? s.value.fullWindowExit : s.value.fullWindow,
        shortcut: H.value["full-window"],
        onClick: () => Pe("window")
      }, {
        default: () => [y(Oe, He(c.value.fullWindow, {
          scale: +(c.value.fullWindow.scale || 1) * C.value
        }), null)]
      });
    }
    function Re() {
      return y(Dl, {
        class: o.be("full-browser"),
        label: G.value === "browser" ? s.value.fullScreenExit : s.value.fullScreen,
        shortcut: H.value["full-browser"],
        onClick: () => Pe("browser")
      }, {
        default: () => [y(Oe, He(c.value.fullScreen, {
          scale: +(c.value.fullScreen.scale || 1) * C.value
        }), null)]
      });
    }
    function he(ve) {
      var Ve;
      switch (ve) {
        case "play-prev":
          return yt();
        case "play":
          return Nt();
        case "play-next":
          return Mt();
        case "refresh":
          return Ht();
        case "timer":
          return _t();
        case "playback-rate":
          return tn();
        case "volume":
          return Wt();
        case "flip":
          return un();
        case "pip":
          return qt();
        case "full-window":
          return pe();
        case "full-browser":
          return Re();
        default:
          return (Ve = Yn(r, [`control-${ve}`, `control${Hc(ve)}`])) == null ? void 0 : Ve(Ce);
      }
    }
    function Fe() {
      return n.noControls ? y(Cr, {
        class: o.be("progress-line"),
        percentage: te.value,
        "stroke-width": 1,
        "info-type": "none"
      }, null) : y("div", {
        class: {
          [o.be("controls")]: !0,
          [o.bem("controls", "collapsed")]: A.value && !F.value
        }
      }, [y("section", {
        class: o.be("controls-top")
      }, [y(Dx, {
        time: f.value,
        duration: h.value,
        segments: de.value,
        onChange: se
      }, null)]), y("section", {
        class: o.be("controls-bottom")
      }, [y("div", {
        class: o.be("controls-left")
      }, [(n.controlLayout.left ?? ro.left).map(he)]), y("div", {
        class: o.be("controls-center")
      }, [(n.controlLayout.center ?? ro.center).map(he)]), y("div", {
        class: o.be("controls-right")
      }, [(n.controlLayout.right ?? ro.right).map(he)])])]);
    }
    function lt() {
      return y("div", {
        class: o.be("main")
      }, [y("div", {
        class: [o.be("player"), z.value && o.bem("player", "flipped")],
        onClick: () => fe()
      }, [W(r, "player", {}, () => {
        var ve;
        return [y("video", He(n.videoAttrs, {
          ref: R,
          class: o.be("video"),
          src: m.value || ((ve = n.videoAttrs) == null ? void 0 : ve.src)
        }), [W(r, "default")])];
      })]), !A.value && (n.poster || r.poster || n.slots.poster) && y("div", {
        class: o.be("poster")
      }, [W(r, "poster", void 0, () => [y(me, {
        renderer: n.slots.poster
      }, {
        default: () => [y("img", {
          src: n.poster
        }, null)]
      })])]), y(En, {
        name: o.bs("state-effect"),
        onAfterLeave: () => w.value = !0
      }, {
        default: () => [u.value && k.value && y("div", {
          class: o.be("state")
        }, [W(r, "state", {
          active: k.value
        }, () => [y(Oe, He(K.value, {
          scale: +(K.value.scale || 1) * 5
        }), null)])])]
      }), y(En, {
        name: o.ns("fade")
      }, {
        default: () => [(!u.value && !k.value || n.loading && w.value) && y("div", {
          class: o.be("loading")
        }, [W(r, "loading", {}, () => [y(Oe, He(c.value.loading, {
          icon: n.loadingIcon || c.value.loading.icon,
          label: "loading",
          effect: n.loadingEffect || c.value.loading.effect,
          scale: +(K.value.scale || 1) * 5
        }), null)])])]
      }), Fe(), W(r, "extra")]);
    }
    return () => y(jd, {
      ref: E,
      class: q.value,
      tabindex: "-1",
      onToggle: J,
      onPointermove: j,
      onPointerleave: ae
    }, {
      default: lt
    });
  }
}), Vi = ft({
  type: String,
  tag: String,
  delete: M,
  strong: M,
  italic: M,
  underline: M,
  code: M,
  mark: M,
  disabled: M,
  keyboard: M,
  thin: M,
  reversed: M
}), Hx = jo(Vi, ["tag", "code"]), Vx = jo(Vi, ["tag", "strong", "code"]), Cf = ft({
  type: String,
  level: Number,
  top: M,
  marker: M,
  aligned: M,
  thin: M,
  markerType: String
}), Ia = jo(Cf, ["level"]), mS = Ia, bS = Ia, gS = Ia, yS = Ia, kS = Ia, wS = Ia, jx = ft({
  type: String
}), Wx = ft({
  type: String
}), Kx = ft({
  listStyle: String
}), Tf = /* @__PURE__ */ Xe({
  name: "Title",
  props: Cf,
  emits: [],
  setup(t, {
    slots: r
  }) {
    const l = ct("title", t, {
      type: "default",
      level: 5,
      top: !1,
      marker: !1,
      aligned: !1,
      thin: !1,
      markerType: null
    }), a = Ye("title"), n = g(() => Tc(l.markerType)), o = g(() => l.markerType || l.type), s = g(() => ({
      [a.b()]: !0,
      [a.bs("vars")]: !0,
      [a.bm("inherit")]: l.inherit,
      [a.bm(l.type)]: l.type !== "default",
      [a.bm("top")]: l.top,
      [a.bm("marker")]: l.marker,
      [a.bm("aligned")]: l.aligned,
      [a.bm("thin")]: l.thin,
      [a.bm(`marker-${o.value}`)]: !n.value && o.value !== "default"
    })), c = g(() => cn(Math.round(l.level), 1, 6) || 5), d = g(() => n.value ? {
      [a.cv("marker-color")]: l.markerType
    } : null);
    return () => {
      const p = `h${c.value}`;
      return y(p, {
        class: s.value,
        style: d.value
      }, {
        default: () => {
          var m;
          return [(m = r.default) == null ? void 0 : m.call(r)];
        }
      });
    };
  }
});
function Ux(t) {
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !hl(t);
}
const ji = /* @__PURE__ */ Xe({
  name: "Text",
  props: Vi,
  emits: [],
  setup(t, {
    slots: r
  }) {
    const l = ct("text", t, {
      type: "default",
      tag: "span",
      delete: !1,
      strong: !1,
      italic: !1,
      underline: !1,
      code: !1,
      mark: !1,
      disabled: !1,
      keyboard: !1,
      thin: !1,
      reversed: !1
    }), a = Ye("text"), n = g(() => ({
      [a.b()]: !0,
      [a.bs("vars")]: !0,
      [a.bm("inherit")]: l.inherit,
      [a.bm(l.type)]: l.type !== "default",
      [a.bm("delete")]: l.delete,
      [a.bm("strong")]: l.strong,
      [a.bm("italic")]: l.italic,
      [a.bm("underline")]: l.underline,
      [a.bm("code")]: l.code,
      [a.bm("mark")]: l.mark,
      [a.bm("disabled")]: l.disabled,
      [a.bm("keyboard")]: l.keyboard,
      [a.bm("thin")]: l.thin,
      [a.bm("reversed")]: l.reversed
    }));
    return () => {
      const o = l.tag || "span", s = W(r, "default");
      return l.code ? y("code", {
        class: n.value
      }, [l.delete ? y("del", null, [s]) : s]) : l.keyboard ? y("kbd", {
        class: n.value
      }, [l.delete ? y("del", null, [s]) : s]) : l.delete ? y("del", {
        class: n.value
      }, [s]) : y(o, {
        class: n.value
      }, Ux(s) ? s : {
        default: () => [s]
      });
    };
  }
}), Xx = /* @__PURE__ */ Xe({
  name: "Blockquote",
  props: jx,
  emits: [],
  setup(t, {
    slots: r
  }) {
    const l = ct("blockquote", t, {
      type: "default"
    }), a = Ye("blockquote"), n = g(() => ({
      [a.b()]: !0,
      [a.bs("vars")]: !0,
      [a.bm("inherit")]: l.inherit,
      [a.bm(l.type)]: l.type !== "default"
    }));
    return () => {
      var o;
      return y("blockquote", {
        class: n.value
      }, [(o = r.default) == null ? void 0 : o.call(r)]);
    };
  }
}), Yx = /* @__PURE__ */ Xe({
  name: "OL",
  props: Wx,
  emits: [],
  setup(t, {
    slots: r
  }) {
    const l = ct("ol", t, {
      type: "1"
    }), a = Ye("ol");
    return () => {
      var n;
      return y("ol", {
        class: [a.b(), l.inherit && a.bm("inherit")],
        type: l.type
      }, [(n = r.default) == null ? void 0 : n.call(r)]);
    };
  }
}), qx = /* @__PURE__ */ Xe({
  name: "UL",
  props: Kx,
  emits: [],
  setup(t, {
    slots: r
  }) {
    const l = ct("ul", t, {
      listStyle: "circle"
    }), a = Ye("ul"), n = g(() => ({
      [a.b()]: !0,
      [a.bm("inherit")]: l.inherit,
      [a.bm("no-marker")]: l.listStyle === "none"
    }));
    return () => {
      var o;
      return y("ul", {
        class: n.value,
        style: {
          listStyleType: l.listStyle
        }
      }, [(o = r.default) == null ? void 0 : o.call(r)]);
    };
  }
});
function pr(t) {
  return /* @__PURE__ */ Xe({
    name: `H${t}`,
    props: Ia,
    emits: [],
    setup(r, {
      slots: l
    }) {
      const a = ct(`h${t}`, r, {
        type: "default",
        top: !1,
        marker: !1,
        aligned: !1,
        thin: !1
      });
      return () => y(Tf, He(a, {
        level: t
      }), {
        default: () => {
          var n;
          return [(n = l.default) == null ? void 0 : n.call(l)];
        }
      });
    }
  });
}
const Gx = pr(1), Zx = pr(2), Jx = pr(3), Qx = pr(4), eS = pr(5), tS = pr(6), nS = /* @__PURE__ */ Xe({
  name: "P",
  props: Hx,
  emits: [],
  setup(t, {
    slots: r
  }) {
    const l = ct("p", t, {
      type: "default",
      delete: !1,
      strong: !1,
      italic: !1,
      underline: !1,
      mark: !1,
      disabled: !1,
      keyboard: !1,
      thin: !1,
      reversed: !1
    });
    return () => y(ji, He(l, {
      tag: "p"
    }), {
      default: () => {
        var a;
        return [(a = r.default) == null ? void 0 : a.call(r)];
      }
    });
  }
}), lS = /* @__PURE__ */ Xe({
  name: "Strong",
  props: Vx,
  emits: [],
  setup(t, {
    slots: r
  }) {
    const l = ct("strong", t, {
      type: "default",
      delete: !1,
      italic: !1,
      underline: !1,
      mark: !1,
      disabled: !1,
      keyboard: !1,
      thin: !1,
      reversed: !1
    });
    return () => y(ji, He(l, {
      tag: "strong",
      strong: !0
    }), {
      default: () => {
        var a;
        return [(a = r.default) == null ? void 0 : a.call(r)];
      }
    });
  }
});
function aS(t = [], r) {
  return function(a, n = {}) {
    const {
      prefix: o = "",
      namespace: s = "",
      props: c = {},
      locale: d = r,
      zIndex: p,
      icons: m = {},
      hoverDelay: b = 100
    } = n, f = g(() => ({ ...r, ...e(d) }));
    ah(s, a), si(c, a), ri(f, a), oi(m, a), Vc(b, a), typeof e(p) == "number" && ii(p, a);
    const u = Hc(o || "");
    t.forEach((h) => {
      typeof h == "function" || typeof h.install == "function" ? a.use(h) : a.component(`${u}${h.name}`, h);
    });
  };
}
function rS(t, r) {
  !Cs(t) && si(t, r);
}
function xS(t = {}, r) {
  const { props: l = {}, locale: a = {}, zIndex: n, icons: o = {} } = t;
  rS(l, r), !Cs(a) && ri(a, r), !Cs(o) && oi(o, r), typeof e(n) == "number" && ii(n, r);
}
const SS = "2.3.39", oS = [
  Ym,
  eb,
  ob,
  kd,
  xg,
  wa,
  Ag,
  Cd,
  Fg,
  $d,
  xi,
  Hn,
  _g,
  Qg,
  Si,
  oy,
  Rd,
  iy,
  dy,
  fy,
  Sy,
  $y,
  xl,
  Ay,
  Py,
  Fy,
  Ul,
  Gy,
  Lo,
  Jy,
  j0,
  Vd,
  G0,
  Jo,
  es,
  Qo,
  ts,
  gb,
  e1,
  t1,
  n1,
  jd,
  s1,
  c1,
  Oe,
  x1,
  S1,
  Ai,
  Vr,
  j1,
  ef,
  Qd,
  Jd,
  qd,
  Us,
  fr,
  Ri,
  as,
  Kr,
  Ld,
  Al,
  Ir,
  qo,
  ck,
  Go,
  fk,
  Xl,
  Pi,
  Zo,
  Cr,
  Oo,
  wk,
  me,
  zn,
  Ck,
  gi,
  Ei,
  Ma,
  wi,
  Ud,
  Tk,
  Fi,
  Fk,
  ui,
  Ok,
  Zd,
  sf,
  Ii,
  Wk,
  yw,
  Ni,
  Di,
  hf,
  kw,
  Gl,
  Cw,
  Pw,
  Bw,
  jw,
  Ww,
  Fl,
  lx,
  ix,
  dx,
  bx,
  Px,
  wf,
  xf,
  Bx,
  Wd,
  Wr,
  bo,
  // plugins
  i0,
  m0,
  K1,
  tk,
  uk,
  Yw,
  // typography
  Tf,
  ji,
  Xx,
  Yx,
  qx,
  Gx,
  Zx,
  Jx,
  Qx,
  eS,
  tS,
  nS,
  lS,
  // directives
  Wm
], CS = aS(oS);
export {
  Ym as Affix,
  eb as Alert,
  ob as Anchor,
  kd as AnchorLink,
  xg as AutoComplete,
  wa as Avatar,
  Ag as AvatarGroup,
  Cd as Badge,
  Xx as Blockquote,
  Fg as Breadcrumb,
  $d as BreadcrumbItem,
  xi as Bubble,
  Hn as Button,
  _g as ButtonGroup,
  Qg as Calendar,
  Si as CalendarPanel,
  oy as Captcha,
  Rd as CaptchaSlider,
  iy as Card,
  dy as Carousel,
  fy as CarouselItem,
  Sy as Cascader,
  $y as Cell,
  xl as Checkbox,
  Ay as CheckboxGroup,
  Py as Collapse,
  Fy as CollapsePanel,
  Ul as CollapseTransition,
  Gy as ColorPicker,
  Lo as Column,
  Jy as ConfigProvider,
  i0 as Confirm,
  Ti as ConfirmManager,
  m0 as Contextmenu,
  h0 as ContextmenuManager,
  j0 as DatePicker,
  Vd as Divider,
  G0 as Drawer,
  Jo as Dropdown,
  es as DropdownItem,
  Qo as DropdownList,
  ts as Ellipsis,
  gb as Form,
  e1 as FormItem,
  t1 as FormReset,
  n1 as FormSubmit,
  jd as FullScreen,
  s1 as Grid,
  Gx as H1,
  Zx as H2,
  Jx as H3,
  Qx as H4,
  eS as H5,
  tS as H6,
  c1 as Highlight,
  Oe as Icon,
  x1 as Image,
  S1 as ImageGroup,
  Ai as ImageViewer,
  Vr as Input,
  j1 as Layout,
  ef as LayoutAside,
  Qd as LayoutFooter,
  Jd as LayoutHeader,
  qd as LayoutMain,
  Us as Linker,
  K1 as Loading,
  Mi as LoadingManager,
  fr as Masker,
  Ri as Menu,
  as as MenuGroup,
  Kr as MenuItem,
  tk as Message,
  zi as MessageManager,
  Ld as Modal,
  Al as NativeScroll,
  uk as Notice,
  Li as NoticeManager,
  Ir as NumberInput,
  Yx as OL,
  qo as Option,
  ck as OptionGroup,
  Go as Overflow,
  nS as P,
  fk as Pagination,
  Xl as Popper,
  Pi as Popup,
  Zo as Portal,
  Cr as Progress,
  Oo as Radio,
  wk as RadioGroup,
  me as Renderer,
  zn as ResizeObserver,
  Ck as Result,
  gi as Row,
  Ei as Scroll,
  Ma as Scrollbar,
  wi as Select,
  Ud as Skeleton,
  Tk as SkeletonGroup,
  Fi as Slider,
  Fk as Space,
  ui as Spin,
  Ok as Split,
  lS as Strong,
  Zd as Switch,
  sf as TabNav,
  Ii as TabNavItem,
  Wk as TabPanel,
  yw as Table,
  Ni as TableColumn,
  Di as TableColumnGroup,
  hf as TableSummary,
  kw as Tabs,
  Gl as Tag,
  ji as Text,
  Cw as Textarea,
  Pw as TimeAgo,
  Bw as TimePicker,
  jw as Timeline,
  Ww as TimelineItem,
  Tf as Title,
  Yw as Toast,
  _i as ToastManager,
  Fl as Tooltip,
  lx as Tour,
  ix as TourStep,
  dx as Transfer,
  bx as Tree,
  qx as UL,
  Px as Upload,
  wf as UploadFile,
  xf as UploadList,
  Bx as Video,
  Wd as Viewer,
  Wr as VirtualList,
  bo as Wheel,
  Km as affixProps,
  Jm as alertProps,
  nb as anchorLinkProps,
  tb as anchorProps,
  qb as animateScrollTo,
  kg as autoCompleteProps,
  Cg as avatarGroupProps,
  Sg as avatarProps,
  Rg as badgeProps,
  jx as blockquoteProps,
  Lg as breadcrumbItemProps,
  zg as breadcrumbProps,
  Ig as bubbleProps,
  aS as buildInstall,
  Og as buttonGroupProps,
  Dg as buttonProps,
  qg as calendarPanelProps,
  Gg as calendarProps,
  ty as captchaSliderProps,
  sy as cardProps,
  uy as carouselProps,
  yy as cascaderProps,
  Ty as cellProps,
  vy as checkboxGroupProps,
  py as checkboxProps,
  Gm as collapsePanelProps,
  qm as collapseProps,
  Zm as collapseTransitionProps,
  Wy as colorPickerProps,
  ib as columnProps,
  oi as configIcons,
  ri as configLocale,
  rS as configProps,
  Zy as configProviderProps,
  ii as configZIndex,
  o0 as confirmProps,
  Fo as currentBreakPoint,
  O0 as datePickerProps,
  fS as defineColumn,
  pS as defineColumns,
  cS as defineFilter,
  dS as defineSorter,
  hS as defineSummaries,
  vS as defineSummary,
  fS as defineTableColumn,
  pS as defineTableColumns,
  cS as defineTableFilter,
  dS as defineTableSorter,
  hS as defineTableSummaries,
  vS as defineTableSummary,
  W0 as dividerProps,
  K0 as drawerProps,
  d0 as dropdownItemProps,
  c0 as dropdownProps,
  Z0 as ellipsisProps,
  pb as formItemProps,
  fb as formProps,
  hb as formResetProps,
  vb as formSubmitProps,
  l1 as fullScreenProps,
  Au as getValueByPath,
  Cy as gridProps,
  mS as h1Props,
  bS as h2Props,
  gS as h3Props,
  yS as h4Props,
  kS as h5Props,
  wS as h6Props,
  i1 as highlightProps,
  hh as iconProps,
  h1 as imageGroupProps,
  v1 as imageProps,
  m1 as imageViewerProps,
  Bb as inputProps,
  CS as install,
  Wm as installDirectives,
  T1 as layoutAsideProps,
  A1 as layoutFooterProps,
  $1 as layoutHeaderProps,
  E1 as layoutMainProps,
  C1 as layoutProps,
  H1 as linkerProps,
  Qy as maskerProps,
  uS as menuGroupProps,
  z1 as menuItemProps,
  P1 as menuProps,
  t0 as modalProps,
  Yb as nativeScrollProps,
  Bg as numberInputProps,
  Wx as olProps,
  Qb as optionGroupProps,
  Jb as optionProps,
  tg as overflowProps,
  Hx as pProps,
  dk as paginationProps,
  lg as popperProps,
  pk as progressProps,
  xS as provideConfig,
  bk as radioGroupProps,
  mk as radioProps,
  gh as rendererProps,
  Xb as resizeObserverProps,
  xk as resultProps,
  sb as rowProps,
  $0 as scrollProps,
  jb as scrollbarProps,
  pg as selectProps,
  bs as setValueByPath,
  y1 as skeletonGroupProps,
  g1 as skeletonProps,
  Ek as sliderProps,
  Rk as spaceProps,
  yh as spinProps,
  Ik as splitProps,
  Vx as strongProps,
  O1 as switchProps,
  rf as tabNavItemProps,
  af as tabNavProps,
  Vk as tabPanelProps,
  df as tableColumnGroupProps,
  cf as tableColumnProps,
  Kk as tableProps,
  ff as tableSummaryProps,
  Hk as tabsProps,
  sg as tagProps,
  Vi as textProps,
  ww as textareaProps,
  Rw as timeAgoProps,
  _0 as timePickerProps,
  Vw as timelineItemProps,
  Hw as timelineProps,
  Cf as titleProps,
  Kw as toastProps,
  ug as tooltipProps,
  qw as tourProps,
  gf as tourStepProps,
  ux as transferProps,
  mx as treeProps,
  Kx as ulProps,
  kx as uploadFileProps,
  yx as uploadListProps,
  gx as uploadProps,
  al as useFieldStore,
  r0 as useModal,
  wh as vLoading,
  jm as vResize,
  Rb as validate,
  Fb as validateBoolean,
  Db as validateDate,
  _b as validateEmail,
  Pb as validateEnumeration,
  Nb as validateFloat,
  Ib as validateInt,
  ki as validateNumber,
  Mb as validateRequirement,
  Lb as validateString,
  zb as validateType,
  Ob as validateUrl,
  SS as version,
  ro as videoDefaultControlLayout,
  Fx as videoDefaultShortcuts,
  zx as videoProps,
  f1 as viewerDefaultActionLayout,
  d1 as viewerProps,
  fg as virtualListProps,
  P0 as wheelProps
};
//# sourceMappingURL=vexip-ui.mjs.map