mamba-layout 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.js CHANGED
@@ -1,18 +1,8 @@
1
- import { inject as Ve, provide as $e, ref as R, readonly as et, computed as T, unref as m, onActivated as tt, onMounted as Le, onUnmounted as xe, watch as le, defineComponent as N, openBlock as l, createElementBlock as v, normalizeClass as F, resolveComponent as E, Fragment as K, createBlock as I, resolveDynamicComponent as he, mergeProps as Ee, withCtx as w, createCommentVNode as x, createElementVNode as d, toDisplayString as M, renderList as H, withDirectives as nt, vShow as ot, createVNode as _, renderSlot as V, watchEffect as Me, Transition as Se } from "vue";
2
- import { Fold as De, ArrowDown as ge, Moon as at, Sunny as st, Expand as rt, User as lt, ArrowLeft as it, ArrowRight as pe, Clock as ct } from "@element-plus/icons-vue";
3
- import { useRoute as Ne, useRouter as Be } from "vue-router";
4
- import { createI18n as ut } from "vue-i18n";
5
- function dt(o, e) {
6
- const t = `${o}Context`, n = Symbol(t);
7
- return [(r) => {
8
- const c = Ve(n, r);
9
- if (c || c === null) return c;
10
- throw new Error(
11
- `Injection \`${n.toString()}\` not found. Component must be used within ${Array.isArray(o) ? `one of the following components: ${o.join(", ")}` : `\`${o}\``}`
12
- );
13
- }, (r) => ($e(n, r), r)];
14
- }
15
- const pt = 3600 * 24 * 7, fe = "UTC", Ue = "timezone", mt = [
1
+ import { ref as N, readonly as pt, computed as S, unref as f, onActivated as mt, watch as re, onMounted as Re, onUnmounted as Ke, defineComponent as M, openBlock as l, createElementBlock as y, normalizeClass as K, resolveComponent as L, Fragment as U, createBlock as k, resolveDynamicComponent as be, mergeProps as Je, withCtx as C, createCommentVNode as I, createElementVNode as d, toDisplayString as E, renderList as J, withDirectives as ht, vShow as gt, createVNode as _, renderSlot as z, watchEffect as Oe, Transition as Ee } from "vue";
2
+ import { Fold as Fe, ArrowDown as Ae, Moon as ft, Sunny as vt, Expand as yt, User as bt, ArrowLeft as At, ArrowRight as he, Clock as _t } from "@element-plus/icons-vue";
3
+ import { useRoute as ie, useRouter as He } from "vue-router";
4
+ import { createI18n as Ct } from "vue-i18n";
5
+ const St = 3600 * 24 * 7, _e = "UTC", Qe = "timezone", wt = [
16
6
  "UTC",
17
7
  "Asia/Shanghai",
18
8
  "Asia/Hong_Kong",
@@ -22,101 +12,101 @@ const pt = 3600 * 24 * 7, fe = "UTC", Ue = "timezone", mt = [
22
12
  "Europe/Berlin",
23
13
  "America/New_York",
24
14
  "America/Los_Angeles"
25
- ], Pe = /* @__PURE__ */ new Map(), de = () => {
15
+ ], Me = /* @__PURE__ */ new Map(), me = () => {
26
16
  try {
27
17
  return globalThis.localStorage;
28
18
  } catch {
29
19
  return;
30
20
  }
31
- }, te = {
32
- get(o, e = null) {
33
- const t = de(), n = t == null ? void 0 : t.getItem(o.toUpperCase());
34
- if (!n) return e;
21
+ }, W = {
22
+ get(n, e = null) {
23
+ const t = me(), a = t == null ? void 0 : t.getItem(n.toUpperCase());
24
+ if (!a) return e;
35
25
  try {
36
- const a = JSON.parse(n);
37
- if (a.expire === null || a.expire >= Date.now())
38
- return a.value;
39
- t == null || t.removeItem(o.toUpperCase());
26
+ const o = JSON.parse(a);
27
+ if (o.expire === null || o.expire >= Date.now())
28
+ return o.value;
29
+ t == null || t.removeItem(n.toUpperCase());
40
30
  } catch {
41
31
  return e;
42
32
  }
43
33
  return e;
44
34
  },
45
- set(o, e, t = pt) {
46
- const n = de(), a = {
35
+ set(n, e, t = St) {
36
+ const a = me(), o = {
47
37
  value: e,
48
38
  expire: t === null ? null : Date.now() + t * 1e3
49
39
  };
50
- n == null || n.setItem(o.toUpperCase(), JSON.stringify(a));
40
+ a == null || a.setItem(n.toUpperCase(), JSON.stringify(o));
51
41
  },
52
42
  clear() {
53
- var o;
54
- (o = de()) == null || o.clear();
43
+ var n;
44
+ (n = me()) == null || n.clear();
55
45
  }
56
- }, ht = (o) => typeof o == "object" && o !== null, Te = (o) => {
57
- if (!ht(o) || Object.prototype.toString.call(o) !== "[object Object]") return !1;
58
- const e = Object.getPrototypeOf(o);
46
+ }, Pt = (n) => typeof n == "object" && n !== null, De = (n) => {
47
+ if (!Pt(n) || Object.prototype.toString.call(n) !== "[object Object]") return !1;
48
+ const e = Object.getPrototypeOf(n);
59
49
  return e === null || e === Object.prototype;
60
50
  };
61
- function Re(o, e) {
62
- if (!Te(o)) return e;
63
- if (!Te(e)) return o;
64
- const t = o;
65
- return Object.keys(e).concat(Object.getOwnPropertySymbols(e)).forEach((n) => {
66
- t[n] = Re(
67
- t[n],
68
- e[n]
51
+ function ze(n, e) {
52
+ if (!De(n)) return e;
53
+ if (!De(e)) return n;
54
+ const t = n;
55
+ return Object.keys(e).concat(Object.getOwnPropertySymbols(e)).forEach((a) => {
56
+ t[a] = ze(
57
+ t[a],
58
+ e[a]
69
59
  );
70
60
  }), t;
71
61
  }
72
- function Ke() {
73
- const o = typeof navigator > "u" ? "en-US" : navigator.language;
74
- return String(te.get("locale", o)).includes("zh") ? "zh-CN" : "en-US";
62
+ function Ze() {
63
+ const n = typeof navigator > "u" ? "en-US" : navigator.language;
64
+ return String(W.get("locale", n)).includes("zh") ? "zh-CN" : "en-US";
75
65
  }
76
- const ke = (o, e, t) => {
77
- var n;
78
- return ((n = e == null ? void 0 : e[t]) == null ? void 0 : n[o]) || "";
79
- }, ae = (o, e, t = "") => {
80
- const n = o;
81
- return ke(e, n, Ke()) || t || ke(e, n, "en-US");
82
- }, ie = (o = "") => o.replace(/【.*】/, ""), Je = (o, e, t) => {
83
- var n, a, s, r, c;
84
- for (const h of e) {
85
- const i = ((n = h.path) == null ? void 0 : n.replace(/\/:(\w+)/g, "/([^/]+)")) || "", g = new RegExp(`^${i}$`);
86
- if (((a = h.path) == null ? void 0 : a.toLowerCase()) === o || g.test(o))
87
- return ((s = h.meta) == null ? void 0 : s.visible) === "0" && (t == null ? void 0 : t.path) || "";
88
- if ((r = h.children) != null && r.length) {
89
- const f = Je(
90
- o,
91
- h.children,
92
- ((c = h.meta) == null ? void 0 : c.visible) === "1" ? h : t
66
+ const Ne = (n, e, t) => {
67
+ var a;
68
+ return ((a = e == null ? void 0 : e[t]) == null ? void 0 : a[n]) || "";
69
+ }, $ = (n, e, t = "") => {
70
+ const a = n;
71
+ return Ne(e, a, Ze()) || t || Ne(e, a, "en-US");
72
+ }, le = (n = "") => n.replace(/【.*】/, ""), je = (n, e, t) => {
73
+ var a, o, s, r, c;
74
+ for (const g of e) {
75
+ const i = ((a = g.path) == null ? void 0 : a.replace(/\/:(\w+)/g, "/([^/]+)")) || "", h = new RegExp(`^${i}$`);
76
+ if (((o = g.path) == null ? void 0 : o.toLowerCase()) === n || h.test(n))
77
+ return ((s = g.meta) == null ? void 0 : s.visible) === "0" && (t == null ? void 0 : t.path) || "";
78
+ if ((r = g.children) != null && r.length) {
79
+ const v = je(
80
+ n,
81
+ g.children,
82
+ ((c = g.meta) == null ? void 0 : c.visible) === "1" ? g : t
93
83
  );
94
- if (f) return f;
84
+ if (v) return v;
95
85
  }
96
86
  }
97
87
  return "";
98
- }, gt = (o, e) => {
99
- const t = o.resolve(e);
88
+ }, Tt = (n, e) => {
89
+ const t = n.resolve(e);
100
90
  if (!(t != null && t.name)) return !1;
101
- const n = String(t.name).split("-").filter((s) => !!s && s !== "index"), a = t.path.split("-").join("/").split("/").filter(Boolean);
102
- return n.length === a.length && n.every((s, r) => s === a[r]);
103
- }, se = (o) => typeof o == "string" && Oe(o) ? o : "", Oe = (o) => {
91
+ const a = String(t.name).split("-").filter((s) => !!s && s !== "index"), o = t.path.split("-").join("/").split("/").filter(Boolean);
92
+ return a.length === o.length && a.every((s, r) => s === o[r]);
93
+ }, ne = (n) => typeof n == "string" && qe(n) ? n : "", qe = (n) => {
104
94
  try {
105
- return new Intl.DateTimeFormat("en-US", { timeZone: o }).format(/* @__PURE__ */ new Date()), !0;
95
+ return new Intl.DateTimeFormat("en-US", { timeZone: n }).format(/* @__PURE__ */ new Date()), !0;
106
96
  } catch {
107
97
  return !1;
108
98
  }
109
- }, Fe = () => se(Intl.DateTimeFormat().resolvedOptions().timeZone) || fe, ve = R(
110
- se(te.get(Ue)) || Fe()
111
- ), ft = () => et(ve);
112
- function vt(o) {
113
- const e = se(o);
114
- e && (ve.value = e, te.set(Ue, e, null));
99
+ }, Ye = () => ne(Intl.DateTimeFormat().resolvedOptions().timeZone) || _e, Ce = N(
100
+ ne(W.get(Qe)) || Ye()
101
+ ), kt = () => pt(Ce);
102
+ function It(n) {
103
+ const e = ne(n);
104
+ e && (Ce.value = e, W.set(Qe, e, null));
115
105
  }
116
- const yt = (o) => {
117
- const e = se(o) || fe, t = Pe.get(e);
106
+ const Lt = (n) => {
107
+ const e = ne(n) || _e, t = Me.get(e);
118
108
  if (t) return t;
119
- const n = new Intl.DateTimeFormat("en-US", {
109
+ const a = new Intl.DateTimeFormat("en-US", {
120
110
  timeZone: e,
121
111
  year: "numeric",
122
112
  month: "2-digit",
@@ -126,105 +116,105 @@ const yt = (o) => {
126
116
  second: "2-digit",
127
117
  hourCycle: "h23"
128
118
  });
129
- return Pe.set(e, n), n;
130
- }, bt = (o, e) => yt(e).formatToParts(o).reduce((n, a) => (a.type !== "literal" && (n[a.type] = Number(a.value)), n), {}), At = (o, e = /* @__PURE__ */ new Date()) => {
131
- const t = se(o) || fe, n = bt(e, t), a = Date.UTC(
132
- n.year || 0,
133
- (n.month || 1) - 1,
134
- n.day || 1,
135
- n.hour || 0,
136
- n.minute || 0,
137
- n.second || 0,
119
+ return Me.set(e, a), a;
120
+ }, xt = (n, e) => Lt(e).formatToParts(n).reduce((a, o) => (o.type !== "literal" && (a[o.type] = Number(o.value)), a), {}), Et = (n, e = /* @__PURE__ */ new Date()) => {
121
+ const t = ne(n) || _e, a = xt(e, t), o = Date.UTC(
122
+ a.year || 0,
123
+ (a.month || 1) - 1,
124
+ a.day || 1,
125
+ a.hour || 0,
126
+ a.minute || 0,
127
+ a.second || 0,
138
128
  e.getMilliseconds()
139
129
  );
140
- return Math.round((a - e.getTime()) / 6e4);
141
- }, He = (o, e = /* @__PURE__ */ new Date()) => {
142
- const t = At(o, e), n = t >= 0 ? "+" : "-", a = Math.abs(t), s = Math.floor(a / 60), r = a % 60;
143
- return `UTC${n}${String(s).padStart(2, "0")}:${String(
130
+ return Math.round((o - e.getTime()) / 6e4);
131
+ }, We = (n, e = /* @__PURE__ */ new Date()) => {
132
+ const t = Et(n, e), a = t >= 0 ? "+" : "-", o = Math.abs(t), s = Math.floor(o / 60), r = o % 60;
133
+ return `UTC${a}${String(s).padStart(2, "0")}:${String(
144
134
  r
145
135
  ).padStart(2, "0")}`;
146
- }, _t = (o, e = /* @__PURE__ */ new Date()) => `${o} (${He(o, e)})`, Ct = (o = /* @__PURE__ */ new Date()) => {
136
+ }, Mt = (n, e = /* @__PURE__ */ new Date()) => `${n} (${We(n, e)})`, Dt = (n = /* @__PURE__ */ new Date()) => {
147
137
  const e = new Set(
148
- [Fe(), ...mt, ve.value].filter(
149
- Oe
138
+ [Ye(), ...wt, Ce.value].filter(
139
+ qe
150
140
  )
151
141
  );
152
142
  return Array.from(e).map((t) => {
153
- const n = He(t, o);
143
+ const a = We(t, n);
154
144
  return {
155
145
  value: t,
156
- label: `${t} (${n})`,
157
- offset: n
146
+ label: `${t} (${a})`,
147
+ offset: a
158
148
  };
159
149
  });
160
- }, oe = R("light");
161
- function Qe() {
162
- const o = "theme", e = "(prefers-color-scheme: dark)", t = R(!1);
163
- let n = !1;
164
- const a = (b) => b === "dark" || b === "light" ? b : null, s = () => typeof window > "u" || typeof window.matchMedia != "function" ? "light" : window.matchMedia(e).matches ? "dark" : "light", r = (b) => {
165
- const P = a(te.get(o, null));
166
- return P ? (t.value = !0, P) : b || s();
167
- }, c = (b) => {
168
- typeof document > "u" || document.documentElement.classList.toggle("dark", b === "dark");
169
- }, h = (b) => {
170
- const P = r(b);
171
- return oe.value = P, c(P), n = !0, P;
172
- }, i = (b, P) => {
173
- oe.value = b, c(b), (P == null ? void 0 : P.persist) !== !1 && (te.set(o, b, null), t.value = !0);
174
- }, g = () => {
175
- i(oe.value === "dark" ? "light" : "dark");
176
- }, p = (b) => {
177
- if (!n) {
178
- h(b);
150
+ }, G = N("light");
151
+ function Xe() {
152
+ const n = "theme", e = "(prefers-color-scheme: dark)", t = N(!1);
153
+ let a = !1;
154
+ const o = (p) => p === "dark" || p === "light" ? p : null, s = () => typeof window > "u" || typeof window.matchMedia != "function" ? "light" : window.matchMedia(e).matches ? "dark" : "light", r = (p) => {
155
+ const b = o(W.get(n, null));
156
+ return b ? (t.value = !0, b) : p || s();
157
+ }, c = (p) => {
158
+ typeof document > "u" || document.documentElement.classList.toggle("dark", p === "dark");
159
+ }, g = (p) => {
160
+ const b = r(p);
161
+ return G.value = b, c(b), a = !0, b;
162
+ }, i = (p, b) => {
163
+ G.value = p, c(p), (b == null ? void 0 : b.persist) !== !1 && (W.set(n, p, null), t.value = !0);
164
+ }, h = () => {
165
+ i(G.value === "dark" ? "light" : "dark");
166
+ }, m = (p) => {
167
+ if (!a) {
168
+ g(p);
179
169
  return;
180
170
  }
181
- !t.value && b && i(b, { persist: !1 });
182
- }, f = T(() => oe.value === "dark");
171
+ !t.value && p && i(p, { persist: !1 });
172
+ }, v = S(() => G.value === "dark");
183
173
  return {
184
- theme: oe,
185
- isDark: f,
186
- initTheme: h,
174
+ theme: G,
175
+ isDark: v,
176
+ initTheme: g,
187
177
  setTheme: i,
188
- toggleTheme: g,
189
- syncThemeFromSetting: p
178
+ toggleTheme: h,
179
+ syncThemeFromSetting: m
190
180
  };
191
181
  }
192
- const wt = () => typeof location > "u" ? "" : location.href, je = (o) => (o == null ? void 0 : o.loginPath) || `/login?redirect=${encodeURIComponent(wt())}`, ce = (o) => {
193
- typeof location > "u" || (location.href = je(o));
194
- }, St = (o) => (o == null ? void 0 : o.userCenterPath) || "/usercenter/home", Pt = (o) => {
182
+ const Nt = () => typeof location > "u" ? "" : location.href, Ge = (n) => (n == null ? void 0 : n.loginPath) || `/login?redirect=${encodeURIComponent(Nt())}`, ce = (n) => {
183
+ typeof location > "u" || (location.href = Ge(n));
184
+ }, Bt = (n) => (n == null ? void 0 : n.userCenterPath) || "/usercenter/home", Ut = (n) => {
195
185
  var s;
196
- const e = o.themeColor, t = {};
186
+ const e = n.themeColor, t = {};
197
187
  if (e)
198
188
  for (const r in e) {
199
189
  if (!e[r]) continue;
200
190
  const c = "--layout-" + r.replace(/([A-Z])/g, "-$1").toLocaleLowerCase();
201
- t[c] = e[r], r == "colorPrimary" && Tt(e[r]);
191
+ t[c] = e[r], r == "colorPrimary" && Rt(e[r]);
202
192
  }
203
- let n = document.getElementById("layout-style");
204
- n && ((s = n.parentNode) == null || s.removeChild(n)), n = document.createElement("style"), n.id = "layout-style", document.head.appendChild(n);
205
- const a = Object.keys(t).map((r) => r + ":" + t[r]).join(";");
206
- n.innerHTML = `html:root{${a}}`;
193
+ let a = document.getElementById("layout-style");
194
+ a && ((s = a.parentNode) == null || s.removeChild(a)), a = document.createElement("style"), a.id = "layout-style", document.head.appendChild(a);
195
+ const o = Object.keys(t).map((r) => r + ":" + t[r]).join(";");
196
+ a.innerHTML = `html:root{${o}}`;
207
197
  };
208
- function Tt(o) {
209
- var a;
198
+ function Rt(n) {
199
+ var o;
210
200
  let e = document.getElementById("primary-style");
211
- if (o == "theme-default" && e) {
212
- (a = e.parentNode) == null || a.removeChild(e);
201
+ if (n == "theme-default" && e) {
202
+ (o = e.parentNode) == null || o.removeChild(e);
213
203
  return;
214
204
  }
215
- const t = kt(o);
205
+ const t = Kt(n);
216
206
  e || (e = document.createElement("style"), e.id = "primary-style", document.head.appendChild(e));
217
- const n = Object.keys(t).map((s) => s + ":" + t[s]).join(";");
218
- e.innerHTML = `html:root{${n}}`;
207
+ const a = Object.keys(t).map((s) => s + ":" + t[s]).join(";");
208
+ e.innerHTML = `html:root{${a}}`;
219
209
  }
220
- function kt(o) {
221
- var h;
222
- const e = ((h = o.match(/\d+/g)) == null ? void 0 : h.map(Number)) || [], [t, n, a] = e, s = `rgb(${t}, ${n}, ${a})`, r = (i) => {
223
- const g = i / 100, p = Math.min(255, t + (255 - t) * g), f = Math.min(255, n + (255 - n) * g), b = Math.min(255, a + (255 - a) * g);
224
- return `rgb(${p.toFixed(1)}, ${f.toFixed(1)}, ${b.toFixed(1)})`;
210
+ function Kt(n) {
211
+ var g;
212
+ const e = ((g = n.match(/\d+/g)) == null ? void 0 : g.map(Number)) || [], [t, a, o] = e, s = `rgb(${t}, ${a}, ${o})`, r = (i) => {
213
+ const h = i / 100, m = Math.min(255, t + (255 - t) * h), v = Math.min(255, a + (255 - a) * h), p = Math.min(255, o + (255 - o) * h);
214
+ return `rgb(${m.toFixed(1)}, ${v.toFixed(1)}, ${p.toFixed(1)})`;
225
215
  }, c = (i) => {
226
- const g = 1 - i / 100;
227
- return `rgb(${Math.round(t * g)} ${Math.round(n * g)} ${Math.round(a * g)})`;
216
+ const h = 1 - i / 100;
217
+ return `rgb(${Math.round(t * h)} ${Math.round(a * h)} ${Math.round(o * h)})`;
228
218
  };
229
219
  return {
230
220
  "--el-color-primary": s,
@@ -236,7 +226,7 @@ function kt(o) {
236
226
  "--el-color-primary-dark-2": c(20)
237
227
  };
238
228
  }
239
- const me = R({
229
+ const ge = N({
240
230
  menus: [],
241
231
  layout: "classic",
242
232
  title: "",
@@ -244,129 +234,119 @@ const me = R({
244
234
  tabs: "tab",
245
235
  pageType: "common"
246
236
  });
247
- function Q() {
248
- return me;
237
+ function O() {
238
+ return ge;
249
239
  }
250
- const It = (o) => {
251
- const e = Q(), t = o && m(o) || {};
240
+ const Jt = (n) => {
241
+ const e = O(), t = n && f(n) || {};
252
242
  if (!(e != null && e.value)) return t;
253
- me.value = Re(e.value, t);
254
- const { syncThemeFromSetting: n } = Qe();
255
- n(), Pt(me.value);
256
- }, Lt = 1024, [W, xt] = dt("LayoutRoot");
257
- function Et() {
258
- const o = Ne(), e = R([]), t = R(), n = R(), a = R(""), s = R(""), r = R(""), c = Q(), h = R(!0), i = R(!1), g = R(), p = () => {
259
- var k;
260
- return ((k = c.value.menus) == null ? void 0 : k.filter((U) => {
261
- var J;
262
- return ((J = U.meta) == null ? void 0 : J.appId) == s.value;
263
- })) || [];
264
- }, f = (k, U, J = 0, z) => {
265
- var u, y, C, S;
266
- const Z = z ? [...z] : [], q = [], X = [];
267
- for (const A in k) {
268
- [...Z], k[A];
269
- const D = ((u = o.meta) == null ? void 0 : u.parent) || o.path, O = ((y = k[A].path) == null ? void 0 : y.replace(/\/:(\w+)/g, "/([^/]+)")) || "", Y = new RegExp(`^${O}$`);
270
- D == k[A].path ? q.push({ index: A, item: k[A] }) : Y.test(D) && X.push({ index: A, item: k[A] });
271
- }
272
- const j = q.length > 0 ? q : X;
273
- if (j.length > 0) {
274
- const A = j[0], D = [...Z];
275
- D[J] = A.item, t.value = {
276
- ...A.item,
277
- paths: D.slice(0, J + 1)
278
- }, s.value = ((C = A.item.meta) == null ? void 0 : C.appId) || "", n.value = U;
243
+ ge.value = ze(e.value, t);
244
+ const { syncThemeFromSetting: a } = Xe();
245
+ a(), Ut(ge.value);
246
+ }, Ot = 1024, Ve = N(), ae = N([]), Y = N(), V = N(""), ee = N(""), fe = N(""), te = O(), ve = N(!0), ye = N(!1), Ft = N(), oe = () => {
247
+ var n;
248
+ return ((n = te.value.menus) == null ? void 0 : n.filter((e) => {
249
+ var t;
250
+ return ((t = e.meta) == null ? void 0 : t.appId) == ee.value;
251
+ })) || [];
252
+ }, $e = (n, e, t = 0, a) => {
253
+ var i, h, m, v;
254
+ const o = ie(), s = a ? [...a] : [], r = [], c = [];
255
+ for (const p in n) {
256
+ [...s], n[p];
257
+ const b = ((i = o.meta) == null ? void 0 : i.parent) || o.path, T = ((h = n[p].path) == null ? void 0 : h.replace(/\/:(\w+)/g, "/([^/]+)")) || "", B = new RegExp(`^${T}$`);
258
+ b == n[p].path ? r.push({ index: p, item: n[p] }) : B.test(b) && c.push({ index: p, item: n[p] });
259
+ }
260
+ const g = r.length > 0 ? r : c;
261
+ if (g.length > 0) {
262
+ const p = g[0], b = [...s];
263
+ b[t] = p.item, Y.value = {
264
+ ...p.item,
265
+ paths: b.slice(0, t + 1)
266
+ }, ee.value = ((m = p.item.meta) == null ? void 0 : m.appId) || "", Ve.value = e;
267
+ }
268
+ for (const p in n)
269
+ if (n[p].children && ((v = n[p].children) != null && v.length)) {
270
+ const b = n[p].children || [], T = [...s];
271
+ T[t] = n[p], $e(b, n[p], t + 1, T);
279
272
  }
280
- for (const A in k)
281
- if (k[A].children && ((S = k[A].children) != null && S.length)) {
282
- const D = k[A].children || [], O = [...Z];
283
- O[J] = k[A], f(D, k[A], J + 1, O);
284
- }
285
- r.value = o.meta.parentPath || Je(
286
- o.path.toLowerCase(),
287
- c.value.menus || []
288
- ) || o.path;
289
- }, b = () => {
290
- var z, Z, q, X, j, u, y, C, S, A;
291
- f(c.value.menus || []), s.value || (s.value = ((q = (Z = (z = c.value.menus) == null ? void 0 : z.find(
292
- (D) => {
293
- var O;
294
- return (O = D.path) == null ? void 0 : O.startsWith(a.value);
295
- }
296
- )) == null ? void 0 : Z.meta) == null ? void 0 : q.appId) || "");
297
- const k = ((X = t.value) == null ? void 0 : X.paths) || [], U = ie(
298
- ae(((u = (j = t.value) == null ? void 0 : j.meta) == null ? void 0 : u.translations) || {}, "name")
299
- ), J = ((y = t.value) == null ? void 0 : y.path) == ((C = k[1]) == null ? void 0 : C.path) ? "" : ie(ae(((A = (S = k[1]) == null ? void 0 : S.meta) == null ? void 0 : A.translations) || {}, "name"));
300
- document.title = U + (J ? ` - ${J}` : "");
301
- }, P = () => {
302
- a.value = "/" + (o.path.split("/").filter(Boolean).shift() || ""), b(), e.value = p();
303
- };
304
- P(), tt(() => {
305
- P();
306
- });
307
- const L = () => {
308
- const k = window.innerWidth < Lt;
309
- i.value = k, h.value = !k;
310
- };
311
- return L(), Le(() => {
312
- window.addEventListener("resize", L);
313
- }), xe(() => {
314
- window.removeEventListener("resize", L);
315
- }), le(
316
- () => a.value,
317
- () => void (e.value = p())
318
- ), le(
319
- () => [o.path, c.value.menus],
273
+ fe.value = o.meta.parentPath || je(
274
+ o.path.toLowerCase(),
275
+ te.value.menus || []
276
+ ) || o.path;
277
+ }, et = () => {
278
+ var a, o, s, r, c, g, i, h, m, v;
279
+ $e(te.value.menus || []), ee.value || (ee.value = ((s = (o = (a = te.value.menus) == null ? void 0 : a.find((p) => {
280
+ var b;
281
+ return (b = p.path) == null ? void 0 : b.startsWith(V.value);
282
+ })) == null ? void 0 : o.meta) == null ? void 0 : s.appId) || "");
283
+ const n = ((r = Y.value) == null ? void 0 : r.paths) || [], e = le(
284
+ $(((g = (c = Y.value) == null ? void 0 : c.meta) == null ? void 0 : g.translations) || {}, "name")
285
+ ), t = ((i = Y.value) == null ? void 0 : i.path) == ((h = n[1]) == null ? void 0 : h.path) ? "" : le($(((v = (m = n[1]) == null ? void 0 : m.meta) == null ? void 0 : v.translations) || {}, "name"));
286
+ document.title = e + (t ? ` - ${t}` : "");
287
+ }, Be = () => {
288
+ const n = ie();
289
+ V.value = "/" + (n.path.split("/").filter(Boolean).shift() || ""), et(), ae.value = oe();
290
+ }, Se = () => {
291
+ const n = window.innerWidth < Ot;
292
+ ye.value = n, ve.value = !n;
293
+ };
294
+ Se();
295
+ Re(() => {
296
+ window.addEventListener("resize", Se);
297
+ });
298
+ Ke(() => {
299
+ window.removeEventListener("resize", Se);
300
+ });
301
+ function H() {
302
+ const n = ie();
303
+ return Be(), mt(() => {
304
+ Be();
305
+ }), re(
306
+ () => V.value,
307
+ () => void (ae.value = oe())
308
+ ), re(
309
+ () => [n.path, te.value.menus],
320
310
  () => {
321
- r.value = "", t.value = void 0, a.value = "/" + (o.path.split("/").filter(Boolean).shift() || ""), b(), e.value = p(), i.value && (h.value = !1);
311
+ fe.value = "", Y.value = void 0, V.value = "/" + (n.path.split("/").filter(Boolean).shift() || ""), et(), ae.value = oe(), ye.value && (ve.value = !1);
322
312
  }
323
- ), xt({
324
- menus: e,
325
- currentEndRoute: t,
326
- currentTabPath: a,
327
- currentAppId: s,
328
- defaultParentActive: r,
329
- sideOpen: h,
330
- isMobile: i,
331
- getMenus: p,
332
- currentEndParentRoute: n
333
- }), {
334
- menus: e,
335
- currentEndRoute: t,
336
- currentTabPath: a,
337
- currentAppId: s,
338
- defaultParentActive: r,
339
- sideOpen: h,
340
- isMobile: i,
341
- getMenus: p,
342
- currentEndParentRoute: n,
343
- leftScrollRef: g
313
+ ), {
314
+ menus: ae,
315
+ currentEndRoute: Y,
316
+ currentTabPath: V,
317
+ currentAppId: ee,
318
+ defaultParentActive: fe,
319
+ sideOpen: ve,
320
+ isMobile: ye,
321
+ getMenus: oe,
322
+ currentEndParentRoute: Ve,
323
+ leftScrollRef: Ft
344
324
  };
345
325
  }
346
- const Mt = { class: "menu-item-icon" }, Dt = ["innerHTML"], Nt = /* @__PURE__ */ N({
326
+ const Ht = { class: "menu-item-icon" }, Qt = ["innerHTML"], zt = /* @__PURE__ */ M({
347
327
  __name: "MenuItemIcon",
348
328
  props: {
349
329
  icon: { default: "metisicon-yingyong" }
350
330
  },
351
- setup(o) {
352
- const e = o, t = T(() => e.icon || "metisicon-yingyong"), n = /^\s*<svg[\s>]/i, a = /\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi, s = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, r = /\s(?:href|xlink:href)\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi, c = (g) => !!g && n.test(g), h = (g) => !g || !c(g) ? "" : g.replace(s, "").replace(a, "").replace(r, ""), i = T(() => h(t.value));
353
- return (g, p) => (l(), v("div", Mt, [
354
- c(t.value) ? (l(), v("span", {
331
+ setup(n) {
332
+ const e = n, t = S(() => e.icon || "metisicon-yingyong"), a = /^\s*<svg[\s>]/i, o = /\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi, s = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, r = /\s(?:href|xlink:href)\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi, c = (h) => !!h && a.test(h), g = (h) => !h || !c(h) ? "" : h.replace(s, "").replace(o, "").replace(r, ""), i = S(() => g(t.value));
333
+ return (h, m) => (l(), y("div", Ht, [
334
+ c(t.value) ? (l(), y("span", {
355
335
  key: 0,
356
336
  class: "menu-item-icon__svg",
357
337
  innerHTML: i.value
358
- }, null, 8, Dt)) : (l(), v("i", {
338
+ }, null, 8, Qt)) : (l(), y("i", {
359
339
  key: 1,
360
- class: F(t.value)
340
+ class: K(t.value)
361
341
  }, null, 2))
362
342
  ]));
363
343
  }
364
- }), B = (o, e) => {
365
- const t = o.__vccOpts || o;
366
- for (const [n, a] of e)
367
- t[n] = a;
344
+ }), D = (n, e) => {
345
+ const t = n.__vccOpts || n;
346
+ for (const [a, o] of e)
347
+ t[a] = o;
368
348
  return t;
369
- }, ze = /* @__PURE__ */ B(Nt, [["__scopeId", "data-v-ed060390"]]), Bt = { key: 0 }, Ut = /* @__PURE__ */ N({
349
+ }, tt = /* @__PURE__ */ D(zt, [["__scopeId", "data-v-ed060390"]]), Zt = { key: 0 }, jt = /* @__PURE__ */ M({
370
350
  __name: "AsideSubMenuItem",
371
351
  props: {
372
352
  menu: {
@@ -378,73 +358,73 @@ const Mt = { class: "menu-item-icon" }, Dt = ["innerHTML"], Nt = /* @__PURE__ */
378
358
  default: 1
379
359
  }
380
360
  },
381
- setup(o) {
382
- const e = o, t = T(
361
+ setup(n) {
362
+ const e = n, t = S(
383
363
  () => {
384
364
  var i;
385
- return (i = e.menu.children) == null ? void 0 : i.filter((g) => {
386
- var p;
387
- return ((p = g.meta) == null ? void 0 : p.visible) != "0";
365
+ return (i = e.menu.children) == null ? void 0 : i.filter((h) => {
366
+ var m;
367
+ return ((m = h.meta) == null ? void 0 : m.visible) != "0";
388
368
  });
389
369
  }
390
- ), { defaultParentActive: n, currentTabPath: a } = W(), s = Be(), r = T(() => {
370
+ ), { defaultParentActive: a, currentTabPath: o } = H(), s = He(), r = S(() => {
391
371
  var i;
392
- return e.level == 1 && !gt(s, e.menu.path || "") ? "div" : /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(a.value)) ? "a" : "router-link";
393
- }), c = T(() => {
372
+ return e.level == 1 && !Tt(s, e.menu.path || "") ? "div" : /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(o.value)) ? "a" : "router-link";
373
+ }), c = S(() => {
394
374
  var i;
395
- return /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(a.value)) ? {
375
+ return /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(o.value)) ? {
396
376
  href: e.menu.path || ""
397
377
  } : {
398
378
  to: e.menu.path || ""
399
379
  };
400
- }), h = T(
380
+ }), g = S(
401
381
  () => {
402
382
  var i;
403
383
  return String(e.menu.icon || ((i = e.menu.meta) == null ? void 0 : i.icon) || "metisicon-yingyong");
404
384
  }
405
385
  );
406
- return (i, g) => {
407
- var f, b;
408
- const p = E("AsideSubMenuItem", !0);
409
- return l(), v(K, null, [
410
- (l(), I(he(r.value), Ee({
386
+ return (i, h) => {
387
+ var v, p;
388
+ const m = L("AsideSubMenuItem", !0);
389
+ return l(), y(U, null, [
390
+ (l(), k(be(r.value), Je({
411
391
  class: ["pt-1 pb-1 pl-3 pr-3 flex items-center gap-2 rounded-md", [
412
- e.menu.path == m(n) ? "bg-[var(--ui-sidebar-active-bg,var(--el-fill-color))] text-[var(--ui-sidebar-active-fg)] font-medium" : "text-[var(--ui-sidebar-foreground)]",
413
- (f = t.value) != null && f.length ? " h-7" : " h-9.5 cursor-pointer hover:bg-[var(--ui-sidebar-hover-bg)]"
392
+ e.menu.path == f(a) ? "bg-[var(--ui-sidebar-active-bg,var(--el-fill-color))] text-[var(--ui-sidebar-active-fg)] font-medium" : "text-[var(--ui-sidebar-foreground)]",
393
+ (v = t.value) != null && v.length ? " h-7" : " h-9.5 cursor-pointer hover:bg-[var(--ui-sidebar-hover-bg)]"
414
394
  ]],
415
395
  style: { paddingLeft: "calc(var(--spacing) * 3)" }
416
396
  }, c.value), {
417
- default: w(() => {
418
- var P, L, k, U;
397
+ default: C(() => {
398
+ var b, T, B, F;
419
399
  return [
420
- (P = t.value) != null && P.length ? x("", !0) : (l(), I(ze, {
400
+ (b = t.value) != null && b.length ? I("", !0) : (l(), k(tt, {
421
401
  key: 0,
422
- icon: h.value,
423
- class: F(["text-md", [
424
- e.menu.path == m(n) ? "opacity-100" : "opacity-60"
402
+ icon: g.value,
403
+ class: K(["text-md", [
404
+ e.menu.path == f(a) ? "opacity-100" : "opacity-60"
425
405
  ]])
426
406
  }, null, 8, ["icon", "class"])),
427
407
  d("div", {
428
- class: F(["truncate", (L = t.value) != null && L.length ? "text-xs text-gray-400" : ""])
429
- }, M(m(ie)(m(ae)(((U = (k = e.menu) == null ? void 0 : k.meta) == null ? void 0 : U.translations) || {}, "name"))), 3)
408
+ class: K(["truncate", (T = t.value) != null && T.length ? "text-xs text-gray-400" : ""])
409
+ }, E(f(le)(f($)(((F = (B = e.menu) == null ? void 0 : B.meta) == null ? void 0 : F.translations) || {}, "name"))), 3)
430
410
  ];
431
411
  }),
432
412
  _: 1
433
413
  }, 16, ["class"])),
434
- (b = t.value) != null && b.length ? (l(), v("div", Bt, [
435
- (l(!0), v(K, null, H(t.value, (P, L) => (l(), I(p, {
436
- menu: P,
437
- key: L,
414
+ (p = t.value) != null && p.length ? (l(), y("div", Zt, [
415
+ (l(!0), y(U, null, J(t.value, (b, T) => (l(), k(m, {
416
+ menu: b,
417
+ key: T,
438
418
  level: e.level + 1
439
419
  }, null, 8, ["menu", "level"]))), 128))
440
- ])) : x("", !0)
420
+ ])) : I("", !0)
441
421
  ], 64);
442
422
  };
443
423
  }
444
- }), Rt = { class: "h-full" }, Kt = {
424
+ }), qt = { class: "h-full" }, Yt = {
445
425
  key: 0,
446
426
  class: ""
447
- }, Ze = /* @__PURE__ */ N({
427
+ }, nt = /* @__PURE__ */ M({
448
428
  __name: "AsideSubMenus",
449
429
  props: {
450
430
  menus: {
@@ -452,173 +432,173 @@ const Mt = { class: "menu-item-icon" }, Dt = ["innerHTML"], Nt = /* @__PURE__ */
452
432
  default: () => []
453
433
  }
454
434
  },
455
- setup(o) {
456
- const e = o;
457
- return (t, n) => {
458
- var a;
459
- return nt((l(), v("div", Rt, [
460
- (a = e.menus) != null && a.length ? (l(), v("div", Kt, [
461
- (l(!0), v(K, null, H(e.menus.filter((s) => {
435
+ setup(n) {
436
+ const e = n;
437
+ return (t, a) => {
438
+ var o;
439
+ return ht((l(), y("div", qt, [
440
+ (o = e.menus) != null && o.length ? (l(), y("div", Yt, [
441
+ (l(!0), y(U, null, J(e.menus.filter((s) => {
462
442
  var r;
463
443
  return ((r = s.meta) == null ? void 0 : r.visible) != "0";
464
- }), (s, r) => (l(), I(Ut, {
444
+ }), (s, r) => (l(), k(jt, {
465
445
  key: r,
466
446
  menu: s
467
447
  }, null, 8, ["menu"]))), 128))
468
- ])) : x("", !0)
448
+ ])) : I("", !0)
469
449
  ], 512)), [
470
- [ot, e.menus.length]
450
+ [gt, e.menus.length]
471
451
  ]);
472
452
  };
473
453
  }
474
- }), Jt = {
454
+ }), Wt = {
475
455
  key: 0,
476
456
  class: "aside-bar__mobile-head flex justify-between items-center pt-4 pb-4 px-4"
477
- }, Ot = { class: "p-3" }, Ft = /* @__PURE__ */ N({
457
+ }, Xt = { class: "p-3" }, Gt = /* @__PURE__ */ M({
478
458
  __name: "AsideBar",
479
- setup(o) {
480
- const { menus: e, isMobile: t, sideOpen: n } = W(), a = () => void (n.value = !n.value);
459
+ setup(n) {
460
+ const { menus: e, isMobile: t, sideOpen: a } = H(), o = () => void (a.value = !a.value);
481
461
  return (s, r) => {
482
- const c = E("el-icon"), h = E("el-scrollbar");
483
- return m(e).length && !s.$route.meta.hideSidebar ? (l(), v("div", {
462
+ const c = L("el-icon"), g = L("el-scrollbar");
463
+ return f(e).length && !s.$route.meta.hideSidebar ? (l(), y("div", {
484
464
  key: 0,
485
- class: F(["aside-bar flex flex-col h-full min-h-0 w-64 min-width-50", [
486
- m(t) ? "fixed top-0 left-0 z-200 transition-all" : "",
487
- m(n) ? "translate-x-[0px]" : "translate-x-[-100%]"
465
+ class: K(["aside-bar flex flex-col h-full min-h-0 w-64 min-width-50", [
466
+ f(t) ? "fixed top-0 left-0 z-200 transition-all" : "",
467
+ f(a) ? "translate-x-[0px]" : "translate-x-[-100%]"
488
468
  ]])
489
469
  }, [
490
- m(t) ? (l(), v("div", Jt, [
470
+ f(t) ? (l(), y("div", Wt, [
491
471
  d("div", {
492
472
  class: "aside-bar__close text-lg cursor-pointer p-2 leading-4",
493
- onClick: a
473
+ onClick: o
494
474
  }, [
495
475
  _(c, null, {
496
- default: w(() => [
497
- _(m(De))
476
+ default: C(() => [
477
+ _(f(Fe))
498
478
  ]),
499
479
  _: 1
500
480
  })
501
481
  ])
502
- ])) : x("", !0),
503
- _(h, { ref: "leftScrollRef" }, {
504
- default: w(() => [
505
- d("div", Ot, [
506
- _(Ze, { menus: m(e) }, null, 8, ["menus"])
482
+ ])) : I("", !0),
483
+ _(g, { ref: "leftScrollRef" }, {
484
+ default: C(() => [
485
+ d("div", Xt, [
486
+ _(nt, { menus: f(e) }, null, 8, ["menus"])
507
487
  ])
508
488
  ]),
509
489
  _: 1
510
490
  }, 512),
511
- V(s.$slots, "sidebar-foot", {}, void 0, !0)
512
- ], 2)) : x("", !0);
491
+ z(s.$slots, "sidebar-foot", {}, void 0, !0)
492
+ ], 2)) : I("", !0);
513
493
  };
514
494
  }
515
- }), Ht = /* @__PURE__ */ B(Ft, [["__scopeId", "data-v-f328029c"]]);
516
- function qe() {
517
- const o = Q(), e = T(() => o.value.appList || []);
495
+ }), Vt = /* @__PURE__ */ D(Gt, [["__scopeId", "data-v-ff960d0f"]]);
496
+ function at() {
497
+ const n = O(), e = S(() => n.value.appList || []);
518
498
  return {
519
499
  appList: e,
520
- getAppPath: (a) => (a == null ? void 0 : a.path) || "",
521
- findAppById: (a) => {
522
- if (a)
523
- return Ye(e.value, a);
500
+ getAppPath: (o) => (o == null ? void 0 : o.path) || "",
501
+ findAppById: (o) => {
502
+ if (o)
503
+ return ot(e.value, o);
524
504
  }
525
505
  };
526
506
  }
527
- const Ye = (o, e) => o.reduce(
528
- (t, n) => t || (n.appId === e ? n : Ye(n.children || [], e)),
507
+ const ot = (n, e) => n.reduce(
508
+ (t, a) => t || (a.appId === e ? a : ot(a.children || [], e)),
529
509
  void 0
530
- ), Qt = {
510
+ ), $t = {
531
511
  key: 0,
532
512
  class: "app-select"
533
- }, jt = ["href"], zt = {
513
+ }, en = ["href"], tn = {
534
514
  key: 0,
535
515
  class: "app-select__dropdown"
536
- }, Zt = ["href"], qt = { class: "app-select__dropdown-icon text-xl" }, Yt = { class: "app-select__dropdown-desc" }, Wt = /* @__PURE__ */ N({
516
+ }, nn = ["href"], an = { class: "app-select__dropdown-icon text-xl" }, on = { class: "app-select__dropdown-desc" }, sn = /* @__PURE__ */ M({
537
517
  __name: "AppSelect",
538
- setup(o) {
539
- const { currentAppId: e } = W(), { appList: t, getAppPath: n } = qe(), a = (s) => {
518
+ setup(n) {
519
+ const { currentAppId: e } = H(), { appList: t, getAppPath: a } = at(), o = (s) => {
540
520
  var r;
541
521
  return e.value === s.appId || !!((r = s.children) != null && r.some((c) => c.appId === e.value));
542
522
  };
543
523
  return (s, r) => {
544
- var h;
545
- const c = E("el-icon");
546
- return (h = m(t)) != null && h.length ? (l(), v("div", Qt, [
547
- (l(!0), v(K, null, H(m(t), (i) => {
548
- var g, p;
549
- return l(), v("div", {
524
+ var g;
525
+ const c = L("el-icon");
526
+ return (g = f(t)) != null && g.length ? (l(), y("div", $t, [
527
+ (l(!0), y(U, null, J(f(t), (i) => {
528
+ var h, m;
529
+ return l(), y("div", {
550
530
  key: i.appId,
551
531
  class: "app-select__group"
552
532
  }, [
553
533
  d("a", {
554
- class: F(["app-select__link", {
555
- "app-select__link--active": a(i)
534
+ class: K(["app-select__link", {
535
+ "app-select__link--active": o(i)
556
536
  }]),
557
- href: m(n)(i) || void 0
537
+ href: f(a)(i) || void 0
558
538
  }, [
559
- d("span", null, M(i.name), 1),
560
- (g = i.children) != null && g.length ? (l(), I(c, { key: 0 }, {
561
- default: w(() => [
562
- _(m(ge))
539
+ d("span", null, E(i.name), 1),
540
+ (h = i.children) != null && h.length ? (l(), k(c, { key: 0 }, {
541
+ default: C(() => [
542
+ _(f(Ae))
563
543
  ]),
564
544
  _: 1
565
- })) : x("", !0)
566
- ], 10, jt),
567
- (p = i.children) != null && p.length ? (l(), v("div", zt, [
568
- (l(!0), v(K, null, H(i.children, (f) => (l(), v("a", {
569
- key: f.appId,
570
- class: F(["app-select__dropdown-item", {
571
- "app-select__dropdown-item--active": a(f)
545
+ })) : I("", !0)
546
+ ], 10, en),
547
+ (m = i.children) != null && m.length ? (l(), y("div", tn, [
548
+ (l(!0), y(U, null, J(i.children, (v) => (l(), y("a", {
549
+ key: v.appId,
550
+ class: K(["app-select__dropdown-item", {
551
+ "app-select__dropdown-item--active": o(v)
572
552
  }]),
573
- href: m(n)(f) || void 0
553
+ href: f(a)(v) || void 0
574
554
  }, [
575
- d("span", qt, [
555
+ d("span", an, [
576
556
  d("i", {
577
- class: F(f.icon || "metisicon-moxingku")
557
+ class: K(v.icon || "metisicon-moxingku")
578
558
  }, null, 2)
579
559
  ]),
580
560
  d("div", null, [
581
- d("div", null, M(f.name), 1),
582
- d("div", Yt, M(f.desc), 1)
561
+ d("div", null, E(v.name), 1),
562
+ d("div", on, E(v.desc), 1)
583
563
  ])
584
- ], 10, Zt))), 128))
585
- ])) : x("", !0)
564
+ ], 10, nn))), 128))
565
+ ])) : I("", !0)
586
566
  ]);
587
567
  }), 128))
588
- ])) : x("", !0);
568
+ ])) : I("", !0);
589
569
  };
590
570
  }
591
- }), Xt = /* @__PURE__ */ B(Wt, [["__scopeId", "data-v-b6da0897"]]), Gt = /* @__PURE__ */ N({
571
+ }), rn = /* @__PURE__ */ D(sn, [["__scopeId", "data-v-e2f5efb7"]]), ln = /* @__PURE__ */ M({
592
572
  __name: "NavIconBtn",
593
573
  props: {
594
574
  tag: { default: "button" },
595
575
  type: { default: "button" },
596
576
  iconOnly: { type: Boolean, default: !0 }
597
577
  },
598
- setup(o) {
599
- return (e, t) => (l(), I(he(o.tag), {
600
- type: o.tag === "button" ? o.type : void 0,
601
- class: F(["nav-icon-btn", { "nav-icon-btn--icon-only": o.iconOnly }])
578
+ setup(n) {
579
+ return (e, t) => (l(), k(be(n.tag), {
580
+ type: n.tag === "button" ? n.type : void 0,
581
+ class: K(["nav-icon-btn", { "nav-icon-btn--icon-only": n.iconOnly }])
602
582
  }, {
603
- default: w(() => [
604
- V(e.$slots, "default", {}, void 0, !0)
583
+ default: C(() => [
584
+ z(e.$slots, "default", {}, void 0, !0)
605
585
  ]),
606
586
  _: 3
607
587
  }, 8, ["type", "class"]));
608
588
  }
609
- }), ne = /* @__PURE__ */ B(Gt, [["__scopeId", "data-v-824bbddc"]]), Vt = /* @__PURE__ */ N({
589
+ }), X = /* @__PURE__ */ D(ln, [["__scopeId", "data-v-824bbddc"]]), cn = /* @__PURE__ */ M({
610
590
  __name: "ThemeToggle",
611
- setup(o) {
612
- const e = Q(), { theme: t, isDark: n, toggleTheme: a } = Qe();
613
- return Me(() => {
591
+ setup(n) {
592
+ const e = O(), { theme: t, isDark: a, toggleTheme: o } = Xe();
593
+ return Oe(() => {
614
594
  e.value.theme = t.value;
615
595
  }), (s, r) => {
616
- const c = E("el-icon");
617
- return l(), I(ne, { onClick: m(a) }, {
618
- default: w(() => [
596
+ const c = L("el-icon");
597
+ return l(), k(X, { onClick: f(o) }, {
598
+ default: C(() => [
619
599
  _(c, null, {
620
- default: w(() => [
621
- m(n) ? (l(), I(m(st), { key: 1 })) : (l(), I(m(at), { key: 0 }))
600
+ default: C(() => [
601
+ f(a) ? (l(), k(f(vt), { key: 1 })) : (l(), k(f(ft), { key: 0 }))
622
602
  ]),
623
603
  _: 1
624
604
  })
@@ -627,7 +607,7 @@ const Ye = (o, e) => o.reduce(
627
607
  }, 8, ["onClick"]);
628
608
  };
629
609
  }
630
- }), We = /* @__PURE__ */ B(Vt, [["__scopeId", "data-v-e6ea60b7"]]), $t = {
610
+ }), st = /* @__PURE__ */ D(cn, [["__scopeId", "data-v-e6ea60b7"]]), un = {
631
611
  label: {
632
612
  clickToChangeImage: "Click to change image"
633
613
  },
@@ -635,7 +615,7 @@ const Ye = (o, e) => o.reduce(
635
615
  uploadIng: "Uploading...",
636
616
  agreementTip1: "Terms of Service and Privacy Policy"
637
617
  }
638
- }, en = {
618
+ }, dn = {
639
619
  label: {
640
620
  agreement: "I agree to",
641
621
  and: "and",
@@ -840,7 +820,7 @@ const Ye = (o, e) => o.reduce(
840
820
  loginHeroTitle: "Enterprise AI Platform for Model Services & Compute",
841
821
  loginHeroDesc: "Unified API access to multi-model routing, compute orchestration, and AI service operations, built for enterprise."
842
822
  }
843
- }, tn = {
823
+ }, pn = {
844
824
  btn: {
845
825
  agree: "Agree",
846
826
  disagree: "Disagree",
@@ -878,7 +858,7 @@ const Ye = (o, e) => o.reduce(
878
858
  },
879
859
  pleaseSelect: "Please select {0}",
880
860
  seeMore: "See More"
881
- }, nn = {
861
+ }, mn = {
882
862
  notFound: {
883
863
  title: "Coming Soon!",
884
864
  description: "This page is under development. Please refresh the page or click the button below to return to the homepage.",
@@ -913,7 +893,7 @@ const Ye = (o, e) => o.reduce(
913
893
  folder: "folder",
914
894
  file: "file"
915
895
  }
916
- }, on = {
896
+ }, hn = {
917
897
  label: {
918
898
  languageModel: "Language Model"
919
899
  },
@@ -1062,7 +1042,7 @@ const Ye = (o, e) => o.reduce(
1062
1042
  CNY: "Chinese Yuan",
1063
1043
  USD: "US Dollar"
1064
1044
  }
1065
- }, an = {
1045
+ }, gn = {
1066
1046
  label: {},
1067
1047
  btn: {
1068
1048
  search: "Search",
@@ -1071,7 +1051,7 @@ const Ye = (o, e) => o.reduce(
1071
1051
  expand: "Expand"
1072
1052
  },
1073
1053
  msg: {}
1074
- }, sn = {
1054
+ }, fn = {
1075
1055
  label: {
1076
1056
  otherConfig: "Other Settings"
1077
1057
  },
@@ -1086,7 +1066,7 @@ const Ye = (o, e) => o.reduce(
1086
1066
  StaticPrefixInput: {
1087
1067
  notEmpty: "Cannot be empty"
1088
1068
  }
1089
- }, rn = {
1069
+ }, vn = {
1090
1070
  label: {},
1091
1071
  btn: {},
1092
1072
  msg: {
@@ -1102,17 +1082,17 @@ const Ye = (o, e) => o.reduce(
1102
1082
  charError: "Passwords must contain letters, numbers, and special symbols",
1103
1083
  charTypeError: "The password must contain at least three types: uppercase letters, lowercase letters, numbers, and special symbols"
1104
1084
  }
1105
- }, ln = {
1085
+ }, yn = {
1106
1086
  name: "English",
1107
- common: tn,
1108
- account: $t,
1109
- admin: en,
1110
- components: nn,
1111
- constant: on,
1112
- filterBox: an,
1113
- password: rn,
1114
- instanceForm: sn
1115
- }, cn = {
1087
+ common: pn,
1088
+ account: un,
1089
+ admin: dn,
1090
+ components: mn,
1091
+ constant: hn,
1092
+ filterBox: gn,
1093
+ password: vn,
1094
+ instanceForm: fn
1095
+ }, bn = {
1116
1096
  label: {
1117
1097
  clickToChangeImage: "点击更换图像"
1118
1098
  },
@@ -1120,7 +1100,7 @@ const Ye = (o, e) => o.reduce(
1120
1100
  uploadIng: "上传中...",
1121
1101
  agreementTip1: "服务协议及隐私保护"
1122
1102
  }
1123
- }, un = {
1103
+ }, An = {
1124
1104
  label: {
1125
1105
  agreement: "我已同意",
1126
1106
  and: "和",
@@ -1323,7 +1303,7 @@ const Ye = (o, e) => o.reduce(
1323
1303
  loginHeroTitle: "泛 AI 聚合与分发服务",
1324
1304
  loginHeroDesc: "通过 API 调度,实现模型调用、AI 应用构建、数据与工具服务的在线分发与使用。"
1325
1305
  }
1326
- }, dn = {
1306
+ }, _n = {
1327
1307
  btn: {
1328
1308
  agree: "同意",
1329
1309
  disagree: "不同意",
@@ -1361,7 +1341,7 @@ const Ye = (o, e) => o.reduce(
1361
1341
  },
1362
1342
  pleaseSelect: "请选择{0}",
1363
1343
  seeMore: "查看更多"
1364
- }, pn = {
1344
+ }, Cn = {
1365
1345
  notFound: {
1366
1346
  title: "开发中,敬请期待!",
1367
1347
  description: "页面开发中,请刷新页面,或者点击下面的按钮返回主页.",
@@ -1396,7 +1376,7 @@ const Ye = (o, e) => o.reduce(
1396
1376
  folder: "文件夹",
1397
1377
  file: "文件"
1398
1378
  }
1399
- }, mn = {
1379
+ }, Sn = {
1400
1380
  label: {
1401
1381
  languageModel: "语言模型"
1402
1382
  },
@@ -1545,7 +1525,7 @@ const Ye = (o, e) => o.reduce(
1545
1525
  CNY: "人民币",
1546
1526
  USD: "美元"
1547
1527
  }
1548
- }, hn = {
1528
+ }, wn = {
1549
1529
  label: {},
1550
1530
  btn: {
1551
1531
  search: "搜索",
@@ -1554,7 +1534,7 @@ const Ye = (o, e) => o.reduce(
1554
1534
  expand: "展开"
1555
1535
  },
1556
1536
  msg: {}
1557
- }, gn = {
1537
+ }, Pn = {
1558
1538
  label: {
1559
1539
  otherConfig: "其他配置"
1560
1540
  },
@@ -1569,7 +1549,7 @@ const Ye = (o, e) => o.reduce(
1569
1549
  StaticPrefixInput: {
1570
1550
  notEmpty: "不能为空"
1571
1551
  }
1572
- }, fn = {
1552
+ }, Tn = {
1573
1553
  label: {},
1574
1554
  btn: {},
1575
1555
  msg: {
@@ -1585,62 +1565,62 @@ const Ye = (o, e) => o.reduce(
1585
1565
  charError: "密码必须包含字母、数字、特殊符号",
1586
1566
  charTypeError: "密码必须包含至少以下三种(大写字母、小写字母、数字、特殊符号)"
1587
1567
  }
1588
- }, vn = {
1568
+ }, kn = {
1589
1569
  name: "中文简体",
1590
- common: dn,
1591
- account: cn,
1592
- admin: un,
1593
- components: pn,
1594
- constant: mn,
1595
- filterBox: hn,
1596
- password: fn,
1597
- instanceForm: gn
1598
- }, re = {
1599
- "en-US": ln,
1600
- "zh-CN": vn
1601
- }, ue = ut({
1602
- locale: Ke(),
1570
+ common: _n,
1571
+ account: bn,
1572
+ admin: An,
1573
+ components: Cn,
1574
+ constant: Sn,
1575
+ filterBox: wn,
1576
+ password: Tn,
1577
+ instanceForm: Pn
1578
+ }, se = {
1579
+ "en-US": yn,
1580
+ "zh-CN": kn
1581
+ }, ue = Ct({
1582
+ locale: Ze(),
1603
1583
  fallbackLocale: "en-US",
1604
- messages: re,
1584
+ messages: se,
1605
1585
  legacy: !1
1606
- }), yn = {
1586
+ }), In = {
1607
1587
  key: 0,
1608
1588
  class: "language-select__current"
1609
- }, bn = { class: "language-select__panel" }, An = ["onClick"], _n = /* @__PURE__ */ N({
1589
+ }, Ln = { class: "language-select__panel" }, xn = ["onClick"], En = /* @__PURE__ */ M({
1610
1590
  __name: "LanguageSelect",
1611
1591
  props: {
1612
1592
  showLabel: { type: Boolean, default: !1 }
1613
1593
  },
1614
- setup(o) {
1615
- const { locale: e } = ue.global, t = T(
1616
- () => re[e.value].name
1617
- ), n = Object.keys(re).map((s) => ({
1618
- label: re[s].name,
1594
+ setup(n) {
1595
+ const { locale: e } = ue.global, t = S(
1596
+ () => se[e.value].name
1597
+ ), a = Object.keys(se).map((s) => ({
1598
+ label: se[s].name,
1619
1599
  value: s
1620
- })), a = (s) => {
1621
- te.set("locale", s), location.reload();
1600
+ })), o = (s) => {
1601
+ W.set("locale", s), location.reload();
1622
1602
  };
1623
1603
  return (s, r) => {
1624
- const c = E("el-icon"), h = E("el-popover");
1625
- return l(), I(h, {
1604
+ const c = L("el-icon"), g = L("el-popover");
1605
+ return l(), k(g, {
1626
1606
  placement: "bottom",
1627
1607
  width: 180,
1628
1608
  trigger: "hover",
1629
1609
  "popper-class": "top-language-popover"
1630
1610
  }, {
1631
- reference: w(() => [
1632
- _(ne, {
1611
+ reference: C(() => [
1612
+ _(X, {
1633
1613
  "langselect-toggle": "",
1634
1614
  tag: "div",
1635
1615
  class: "language-select",
1636
- "icon-only": !o.showLabel,
1616
+ "icon-only": !n.showLabel,
1637
1617
  title: t.value,
1638
1618
  "aria-label": t.value
1639
1619
  }, {
1640
- default: w(() => [
1641
- V(s.$slots, "prefix", {}, void 0, !0),
1620
+ default: C(() => [
1621
+ z(s.$slots, "prefix", {}, void 0, !0),
1642
1622
  _(c, null, {
1643
- default: w(() => [...r[0] || (r[0] = [
1623
+ default: C(() => [...r[0] || (r[0] = [
1644
1624
  d("svg", {
1645
1625
  xmlns: "http://www.w3.org/2000/svg",
1646
1626
  width: "24",
@@ -1666,69 +1646,69 @@ const Ye = (o, e) => o.reduce(
1666
1646
  ])]),
1667
1647
  _: 1
1668
1648
  }),
1669
- o.showLabel ? (l(), v("span", yn, M(t.value), 1)) : x("", !0),
1670
- o.showLabel ? (l(), I(c, {
1649
+ n.showLabel ? (l(), y("span", In, E(t.value), 1)) : I("", !0),
1650
+ n.showLabel ? (l(), k(c, {
1671
1651
  key: 1,
1672
1652
  class: "language-select__caret"
1673
1653
  }, {
1674
- default: w(() => [
1675
- _(m(ge))
1654
+ default: C(() => [
1655
+ _(f(Ae))
1676
1656
  ]),
1677
1657
  _: 1
1678
- })) : x("", !0)
1658
+ })) : I("", !0)
1679
1659
  ]),
1680
1660
  _: 3
1681
1661
  }, 8, ["icon-only", "title", "aria-label"])
1682
1662
  ]),
1683
- default: w(() => [
1684
- d("div", bn, [
1685
- (l(!0), v(K, null, H(m(n), (i) => (l(), v("div", {
1663
+ default: C(() => [
1664
+ d("div", Ln, [
1665
+ (l(!0), y(U, null, J(f(a), (i) => (l(), y("div", {
1686
1666
  key: i.value,
1687
- class: F(["language-select__option", { "language-select__option--active": i.value === m(e) }]),
1688
- onClick: (g) => a(i.value)
1689
- }, M(i.label), 11, An))), 128))
1667
+ class: K(["language-select__option", { "language-select__option--active": i.value === f(e) }]),
1668
+ onClick: (h) => o(i.value)
1669
+ }, E(i.label), 11, xn))), 128))
1690
1670
  ])
1691
1671
  ]),
1692
1672
  _: 3
1693
1673
  });
1694
1674
  };
1695
1675
  }
1696
- }), Xe = /* @__PURE__ */ B(_n, [["__scopeId", "data-v-48306ad1"]]), Cn = { class: "mobile-user-popover" }, wn = ["href"], Sn = /* @__PURE__ */ N({
1676
+ }), rt = /* @__PURE__ */ D(En, [["__scopeId", "data-v-48306ad1"]]), Mn = { class: "mobile-user-popover" }, Dn = ["href"], Nn = /* @__PURE__ */ M({
1697
1677
  __name: "AsideUserMobilePopover",
1698
- setup(o) {
1699
- const { t: e } = ue.global, t = Q(), n = T(() => St(t.value)), a = () => {
1678
+ setup(n) {
1679
+ const { t: e } = ue.global, t = O(), a = S(() => Bt(t.value)), o = () => {
1700
1680
  var s, r;
1701
1681
  Promise.resolve((r = (s = t.value).onLogout) == null ? void 0 : r.call(s)).finally(() => {
1702
1682
  t.value.onLogout || ce(t.value);
1703
1683
  });
1704
1684
  };
1705
1685
  return (s, r) => {
1706
- const c = E("el-popover");
1707
- return l(), I(c, {
1686
+ const c = L("el-popover");
1687
+ return l(), k(c, {
1708
1688
  width: 220,
1709
1689
  trigger: "click",
1710
1690
  "popper-class": "top-userinfo-popover"
1711
1691
  }, {
1712
- reference: w(() => [
1713
- V(s.$slots, "reference", {}, void 0, !0)
1692
+ reference: C(() => [
1693
+ z(s.$slots, "reference", {}, void 0, !0)
1714
1694
  ]),
1715
- default: w(() => [
1716
- d("div", Cn, [
1695
+ default: C(() => [
1696
+ d("div", Mn, [
1717
1697
  d("a", {
1718
- href: n.value,
1698
+ href: a.value,
1719
1699
  class: "mobile-user-popover__item"
1720
1700
  }, [
1721
1701
  r[0] || (r[0] = d("i", { class: "metisicon-yonghu1" }, null, -1)),
1722
- d("span", null, M(m(e)("admin.label.profile")), 1)
1723
- ], 8, wn),
1724
- _(Xe),
1702
+ d("span", null, E(f(e)("admin.label.profile")), 1)
1703
+ ], 8, Dn),
1704
+ _(rt),
1725
1705
  r[2] || (r[2] = d("div", { class: "mobile-user-popover__divider" }, null, -1)),
1726
1706
  d("div", {
1727
1707
  class: "mobile-user-popover__item mobile-user-popover__item--danger",
1728
- onClick: a
1708
+ onClick: o
1729
1709
  }, [
1730
1710
  r[1] || (r[1] = d("i", { class: "metisicon-exit-full" }, null, -1)),
1731
- d("span", null, M(m(e)("common.btn.logout")), 1)
1711
+ d("span", null, E(f(e)("common.btn.logout")), 1)
1732
1712
  ])
1733
1713
  ])
1734
1714
  ]),
@@ -1736,134 +1716,134 @@ const Ye = (o, e) => o.reduce(
1736
1716
  });
1737
1717
  };
1738
1718
  }
1739
- }), Ge = /* @__PURE__ */ B(Sn, [["__scopeId", "data-v-87e082b1"]]), Pn = { class: "header-right-mobile" }, Tn = /* @__PURE__ */ N({
1719
+ }), lt = /* @__PURE__ */ D(Nn, [["__scopeId", "data-v-87e082b1"]]), Bn = { class: "header-right-mobile" }, Un = /* @__PURE__ */ M({
1740
1720
  __name: "HeaderRightMobile",
1741
- setup(o) {
1742
- const e = Q(), t = T(
1721
+ setup(n) {
1722
+ const e = O(), t = S(
1743
1723
  () => {
1744
- var a, s;
1745
- return !!((a = e.value.user) != null && a.id || (s = e.value.user) != null && s.userId);
1724
+ var o, s;
1725
+ return !!((o = e.value.user) != null && o.id || (s = e.value.user) != null && s.userId);
1746
1726
  }
1747
- ), n = () => {
1748
- var a, s;
1749
- (s = (a = e.value).onLogin) != null && s.call(a) || ce(e.value);
1727
+ ), a = () => {
1728
+ var o, s;
1729
+ (s = (o = e.value).onLogin) != null && s.call(o) || ce(e.value);
1750
1730
  };
1751
- return (a, s) => (l(), v("div", Pn, [
1752
- _(We),
1753
- t.value ? (l(), I(Ge, { key: 0 }, {
1754
- reference: w(() => [
1755
- _(ne, { class: "header-right-mobile__action" }, {
1756
- default: w(() => [...s[0] || (s[0] = [
1731
+ return (o, s) => (l(), y("div", Bn, [
1732
+ _(st),
1733
+ t.value ? (l(), k(lt, { key: 0 }, {
1734
+ reference: C(() => [
1735
+ _(X, { class: "header-right-mobile__action" }, {
1736
+ default: C(() => [...s[0] || (s[0] = [
1757
1737
  d("i", { class: "metisicon-yonghu1" }, null, -1)
1758
1738
  ])]),
1759
1739
  _: 1
1760
1740
  })
1761
1741
  ]),
1762
1742
  _: 1
1763
- })) : (l(), I(ne, {
1743
+ })) : (l(), k(X, {
1764
1744
  key: 1,
1765
1745
  class: "header-right-mobile__action",
1766
- onClick: n
1746
+ onClick: a
1767
1747
  }, {
1768
- default: w(() => [...s[1] || (s[1] = [
1748
+ default: C(() => [...s[1] || (s[1] = [
1769
1749
  d("i", { class: "metisicon-yonghu1" }, null, -1)
1770
1750
  ])]),
1771
1751
  _: 1
1772
1752
  }))
1773
1753
  ]));
1774
1754
  }
1775
- }), kn = /* @__PURE__ */ B(Tn, [["__scopeId", "data-v-48792b0a"]]), In = ["aria-label", "aria-expanded"], Ln = { class: "mobile-menu-toggle__icon" }, xn = /* @__PURE__ */ N({
1755
+ }), Rn = /* @__PURE__ */ D(Un, [["__scopeId", "data-v-48792b0a"]]), Kn = ["aria-label", "aria-expanded"], Jn = { class: "mobile-menu-toggle__icon" }, On = /* @__PURE__ */ M({
1776
1756
  __name: "MobileMenuToggle",
1777
- setup(o) {
1778
- const { sideOpen: e } = W(), t = () => {
1757
+ setup(n) {
1758
+ const { sideOpen: e } = H(), t = () => {
1779
1759
  e.value = !e.value;
1780
1760
  };
1781
- return (n, a) => {
1782
- const s = E("el-icon");
1783
- return l(), v("button", {
1761
+ return (a, o) => {
1762
+ const s = L("el-icon");
1763
+ return l(), y("button", {
1784
1764
  type: "button",
1785
1765
  class: "mobile-menu-toggle",
1786
- "aria-label": m(e) ? "Close menu" : "Open menu",
1787
- "aria-expanded": m(e),
1766
+ "aria-label": f(e) ? "Close menu" : "Open menu",
1767
+ "aria-expanded": f(e),
1788
1768
  onClick: t
1789
1769
  }, [
1790
- d("div", Ln, [
1770
+ d("div", Jn, [
1791
1771
  _(s, null, {
1792
- default: w(() => [
1793
- _(m(rt))
1772
+ default: C(() => [
1773
+ _(f(yt))
1794
1774
  ]),
1795
1775
  _: 1
1796
1776
  })
1797
1777
  ])
1798
- ], 8, In);
1778
+ ], 8, Kn);
1799
1779
  };
1800
1780
  }
1801
- }), En = /* @__PURE__ */ B(xn, [["__scopeId", "data-v-c14b8f72"]]), Mn = {
1781
+ }), Fn = /* @__PURE__ */ D(On, [["__scopeId", "data-v-b1a4f38a"]]), Hn = {
1802
1782
  key: 0,
1803
1783
  class: "user-avatar__fallback"
1804
- }, Dn = /* @__PURE__ */ N({
1784
+ }, Qn = /* @__PURE__ */ M({
1805
1785
  __name: "UserAvatar",
1806
1786
  props: {
1807
1787
  src: { default: "" },
1808
1788
  name: { default: "" }
1809
1789
  },
1810
- setup(o) {
1811
- const e = o, t = R(!1), n = T(() => e.name.trim()), a = T(
1812
- () => n.value.charAt(0).toUpperCase() || "U"
1813
- ), s = T(() => n.value || "User avatar"), r = T(() => e.src.trim()), c = T(
1790
+ setup(n) {
1791
+ const e = n, t = N(!1), a = S(() => e.name.trim()), o = S(
1792
+ () => a.value.charAt(0).toUpperCase() || "U"
1793
+ ), s = S(() => a.value || "User avatar"), r = S(() => e.src.trim()), c = S(
1814
1794
  () => !r.value || t.value
1815
- ), h = T(
1816
- () => c.value && !!n.value
1817
- ), i = T(
1818
- () => c.value && !n.value
1819
- ), g = T(
1795
+ ), g = S(
1796
+ () => c.value && !!a.value
1797
+ ), i = S(
1798
+ () => c.value && !a.value
1799
+ ), h = S(
1820
1800
  () => r.value && !t.value ? r.value : void 0
1821
1801
  );
1822
- le(
1802
+ re(
1823
1803
  () => e.src,
1824
1804
  () => {
1825
1805
  t.value = !1;
1826
1806
  }
1827
1807
  );
1828
- const p = () => {
1808
+ const m = () => {
1829
1809
  t.value = !0;
1830
1810
  };
1831
- return (f, b) => {
1832
- const P = E("el-icon"), L = E("el-avatar");
1833
- return l(), I(L, Ee(f.$attrs, {
1834
- src: g.value,
1835
- "data-src": g.value,
1811
+ return (v, p) => {
1812
+ const b = L("el-icon"), T = L("el-avatar");
1813
+ return l(), k(T, Je(v.$attrs, {
1814
+ src: h.value,
1815
+ "data-src": h.value,
1836
1816
  alt: s.value,
1837
1817
  class: ["user-avatar", { "user-avatar--fallback": c.value }],
1838
- onError: p
1818
+ onError: m
1839
1819
  }), {
1840
- default: w(() => [
1841
- h.value ? (l(), v("span", Mn, M(a.value), 1)) : i.value ? (l(), I(P, {
1820
+ default: C(() => [
1821
+ g.value ? (l(), y("span", Hn, E(o.value), 1)) : i.value ? (l(), k(b, {
1842
1822
  key: 1,
1843
1823
  class: "user-avatar__icon",
1844
1824
  "aria-hidden": "true"
1845
1825
  }, {
1846
- default: w(() => [
1847
- _(m(lt))
1826
+ default: C(() => [
1827
+ _(f(bt))
1848
1828
  ]),
1849
1829
  _: 1
1850
- })) : x("", !0)
1830
+ })) : I("", !0)
1851
1831
  ]),
1852
1832
  _: 1
1853
1833
  }, 16, ["src", "data-src", "alt", "class"]);
1854
1834
  };
1855
1835
  }
1856
- }), Ie = /* @__PURE__ */ B(Dn, [["__scopeId", "data-v-50be58a7"]]), Nn = {
1836
+ }), Ue = /* @__PURE__ */ D(Qn, [["__scopeId", "data-v-50be58a7"]]), zn = {
1857
1837
  key: 0,
1858
1838
  class: "layout-breadcrumb text-xs",
1859
1839
  "aria-label": "Breadcrumb"
1860
- }, Bn = ["aria-label", "title"], Un = {
1840
+ }, Zn = ["aria-label", "title"], jn = {
1861
1841
  key: 1,
1862
1842
  class: "flex min-w-0 items-center gap-1"
1863
- }, Rn = ["href"], Kn = ["onClick"], Jn = {
1843
+ }, qn = ["href"], Yn = ["onClick"], Wn = {
1864
1844
  key: 3,
1865
1845
  class: "layout-breadcrumb__current"
1866
- }, On = /* @__PURE__ */ N({
1846
+ }, Xn = /* @__PURE__ */ M({
1867
1847
  __name: "LayoutBreadcrumb",
1868
1848
  props: {
1869
1849
  items: { default: void 0 },
@@ -1875,317 +1855,317 @@ const Ye = (o, e) => o.reduce(
1875
1855
  backTo: { default: void 0 },
1876
1856
  backLabel: { default: "返回" }
1877
1857
  },
1878
- setup(o) {
1879
- const e = o, t = Ne(), n = Be(), a = Q(), s = W(null), r = T(() => {
1880
- var ye, be, Ae, _e, Ce, we;
1881
- if ((ye = e.items) != null && ye.length)
1882
- return e.items.filter((ee) => ee.title);
1883
- const u = L(t.path), y = L(
1884
- ((be = t.meta) == null ? void 0 : be.parent) || ((Ae = t.meta) == null ? void 0 : Ae.parentPath) || t.path
1885
- ), C = c(), S = (Ce = (_e = s == null ? void 0 : s.currentEndRoute) == null ? void 0 : _e.value) == null ? void 0 : Ce.paths, A = h(S || []);
1886
- let D = A.length ? A : f(C, y);
1887
- const O = L(
1888
- e.parentPath || ((we = t.meta) == null ? void 0 : we.parentPath) || ""
1858
+ setup(n) {
1859
+ const e = n, t = ie(), a = He(), o = O(), s = H(), r = S(() => {
1860
+ var Pe, Te, ke, Ie, Le, xe;
1861
+ if ((Pe = e.items) != null && Pe.length)
1862
+ return e.items.filter((q) => q.title);
1863
+ const u = T(t.path), A = T(
1864
+ ((Te = t.meta) == null ? void 0 : Te.parent) || ((ke = t.meta) == null ? void 0 : ke.parentPath) || t.path
1865
+ ), w = c(), P = (Le = (Ie = s == null ? void 0 : s.currentEndRoute) == null ? void 0 : Ie.value) == null ? void 0 : Le.paths, x = g(P || []);
1866
+ let R = x.length ? x : v(w, A);
1867
+ const pe = T(
1868
+ e.parentPath || ((xe = t.meta) == null ? void 0 : xe.parentPath) || ""
1889
1869
  );
1890
- if (!D.length && O && (D = f(C, O)), !D.length) {
1891
- const ee = O || b(u, C);
1892
- D = ee ? f(C, ee) : [];
1870
+ if (!R.length && pe && (R = v(w, pe)), !R.length) {
1871
+ const q = pe || p(u, w);
1872
+ R = q ? v(w, q) : [];
1893
1873
  }
1894
- const Y = D.map(i).filter((ee) => ee.title), G = Y[Y.length - 1], $ = p();
1895
- return e.showCurrent && $ && k(G == null ? void 0 : G.path) !== k(u) ? Y.push({
1896
- title: $,
1874
+ const Z = R.map(i).filter((q) => q.title), Q = Z[Z.length - 1], j = m();
1875
+ return e.showCurrent && j && B(Q == null ? void 0 : Q.path) !== B(u) ? Z.push({
1876
+ title: j,
1897
1877
  path: u,
1898
1878
  disabled: !0
1899
- }) : $ && G && k(G.path) === k(u) && (G.title = $, G.disabled = !0), !Y.length && $ && Y.push({
1900
- title: $,
1879
+ }) : j && Q && B(Q.path) === B(u) && (Q.title = j, Q.disabled = !0), !Z.length && j && Z.push({
1880
+ title: j,
1901
1881
  path: u,
1902
1882
  disabled: !0
1903
- }), Y;
1883
+ }), Z;
1904
1884
  }), c = () => {
1905
- const u = [], y = /* @__PURE__ */ new Set();
1906
- return (a.value.menus || []).forEach((C) => {
1907
- var A;
1908
- const S = C.path || C.name || JSON.stringify(((A = C.meta) == null ? void 0 : A.translations) || {});
1909
- !S || y.has(S) || (y.add(S), u.push(C));
1885
+ const u = [], A = /* @__PURE__ */ new Set();
1886
+ return (o.value.menus || []).forEach((w) => {
1887
+ var x;
1888
+ const P = w.path || w.name || JSON.stringify(((x = w.meta) == null ? void 0 : x.translations) || {});
1889
+ !P || A.has(P) || (A.add(P), u.push(w));
1910
1890
  }), u;
1911
- }, h = (u) => u.filter((y) => {
1912
- var C;
1913
- return y && ((C = y.meta) == null ? void 0 : C.visible) !== "0";
1891
+ }, g = (u) => u.filter((A) => {
1892
+ var w;
1893
+ return A && ((w = A.meta) == null ? void 0 : w.visible) !== "0";
1914
1894
  }), i = (u) => {
1915
- var y;
1895
+ var A;
1916
1896
  return {
1917
- title: g(u),
1897
+ title: h(u),
1918
1898
  path: u.path,
1919
- disabled: ((y = u.meta) == null ? void 0 : y.visible) === "0",
1899
+ disabled: ((A = u.meta) == null ? void 0 : A.visible) === "0",
1920
1900
  children: u.children
1921
1901
  };
1922
- }, g = (u) => {
1923
- var C;
1924
- return ((C = u == null ? void 0 : u.meta) != null && C.translations ? ie(ae(u.meta.translations, "name", u.name)) : "") || (u == null ? void 0 : u.title) || (u == null ? void 0 : u.name) || "";
1925
- }, p = () => {
1902
+ }, h = (u) => {
1903
+ var w;
1904
+ return ((w = u == null ? void 0 : u.meta) != null && w.translations ? le($(u.meta.translations, "name", u.name)) : "") || (u == null ? void 0 : u.title) || (u == null ? void 0 : u.name) || "";
1905
+ }, m = () => {
1926
1906
  var u;
1927
1907
  return e.currentTitle ? e.currentTitle : typeof ((u = t.meta) == null ? void 0 : u.title) == "string" ? t.meta.title : String(t.params.id || t.params.tenantId || "");
1928
- }, f = (u, y, C = []) => {
1929
- if (!y) return [];
1930
- for (const S of u) {
1931
- const A = [...C, S];
1932
- if (P(S.path, y))
1933
- return h(A);
1934
- const D = f(S.children || [], y, A);
1935
- if (D.length) return D;
1908
+ }, v = (u, A, w = []) => {
1909
+ if (!A) return [];
1910
+ for (const P of u) {
1911
+ const x = [...w, P];
1912
+ if (b(P.path, A))
1913
+ return g(x);
1914
+ const R = v(P.children || [], A, x);
1915
+ if (R.length) return R;
1936
1916
  }
1937
1917
  return [];
1938
- }, b = (u, y) => {
1939
- const C = u.split("/").filter(Boolean);
1940
- for (let S = C.length - 1; S > 0; S -= 1) {
1941
- const A = `/${C.slice(0, S).join("/")}`;
1942
- if (f(y, A).length) return A;
1918
+ }, p = (u, A) => {
1919
+ const w = u.split("/").filter(Boolean);
1920
+ for (let P = w.length - 1; P > 0; P -= 1) {
1921
+ const x = `/${w.slice(0, P).join("/")}`;
1922
+ if (v(A, x).length) return x;
1943
1923
  }
1944
1924
  return "";
1945
- }, P = (u = "", y = "") => {
1946
- const C = k(u), S = k(y);
1947
- if (!C || !S) return !1;
1948
- if (C === S) return !0;
1949
- const A = C.replace(/\/:(\w+)/g, "/([^/]+)");
1950
- return new RegExp(`^${A}$`, "i").test(S);
1951
- }, L = (u = "") => u ? u.split("?")[0].split("#")[0] : "", k = (u = "") => (L(u).replace(/\/+$/, "") || "/").toLowerCase(), U = (u) => /^https?:\/\//.test(u.path || ""), J = (u) => {
1952
- var y;
1953
- return !!((y = u.children) != null && y.some((C) => !C.disabled));
1954
- }, z = (u, y) => u.disabled || y === r.value.length - 1 || !u.path ? !1 : U(u) || !J(u), Z = (u) => {
1955
- const y = u.to || j(u);
1956
- y && n.push(y);
1957
- }, q = () => {
1958
- var y;
1925
+ }, b = (u = "", A = "") => {
1926
+ const w = B(u), P = B(A);
1927
+ if (!w || !P) return !1;
1928
+ if (w === P) return !0;
1929
+ const x = w.replace(/\/:(\w+)/g, "/([^/]+)");
1930
+ return new RegExp(`^${x}$`, "i").test(P);
1931
+ }, T = (u = "") => u ? u.split("?")[0].split("#")[0] : "", B = (u = "") => (T(u).replace(/\/+$/, "") || "/").toLowerCase(), F = (u) => /^https?:\/\//.test(u.path || ""), it = (u) => {
1932
+ var A;
1933
+ return !!((A = u.children) != null && A.some((w) => !w.disabled));
1934
+ }, we = (u, A) => u.disabled || A === r.value.length - 1 || !u.path ? !1 : F(u) || !it(u), ct = (u) => {
1935
+ const A = u.to || de(u);
1936
+ A && a.push(A);
1937
+ }, ut = () => {
1938
+ var A;
1959
1939
  if (e.backTo) {
1960
- n.push(e.backTo);
1940
+ a.push(e.backTo);
1961
1941
  return;
1962
1942
  }
1963
- if ((y = n.options.history.state) != null && y.back && window.history.length > 1) {
1964
- n.back();
1943
+ if ((A = a.options.history.state) != null && A.back && window.history.length > 1) {
1944
+ a.back();
1965
1945
  return;
1966
1946
  }
1967
- const u = X();
1968
- u && n.push(u);
1969
- }, X = () => {
1970
- var C, S;
1971
- const u = e.parentPath || ((C = t.meta) == null ? void 0 : C.parentPath) || ((S = t.meta) == null ? void 0 : S.parent) || "";
1947
+ const u = dt();
1948
+ u && a.push(u);
1949
+ }, dt = () => {
1950
+ var w, P;
1951
+ const u = e.parentPath || ((w = t.meta) == null ? void 0 : w.parentPath) || ((P = t.meta) == null ? void 0 : P.parent) || "";
1972
1952
  if (u)
1973
- return j({ path: u });
1974
- const y = r.value[r.value.length - 2];
1975
- if (y != null && y.to) return y.to;
1976
- if (y != null && y.path && !U(y))
1977
- return j(y);
1978
- }, j = (u) => {
1953
+ return de({ path: u });
1954
+ const A = r.value[r.value.length - 2];
1955
+ if (A != null && A.to) return A.to;
1956
+ if (A != null && A.path && !F(A))
1957
+ return de(A);
1958
+ }, de = (u) => {
1979
1959
  if (!u.path) return;
1980
- const y = e.preserveQueryKeys.reduce((C, S) => {
1981
- const A = t.query[S];
1982
- return typeof A == "string" && (C[S] = A), Array.isArray(A) && (C[S] = A.filter(
1983
- (D) => typeof D == "string"
1984
- )), C;
1960
+ const A = e.preserveQueryKeys.reduce((w, P) => {
1961
+ const x = t.query[P];
1962
+ return typeof x == "string" && (w[P] = x), Array.isArray(x) && (w[P] = x.filter(
1963
+ (R) => typeof R == "string"
1964
+ )), w;
1985
1965
  }, {});
1986
- return Object.keys(y).length ? { path: u.path, query: y } : { path: u.path };
1966
+ return Object.keys(A).length ? { path: u.path, query: A } : { path: u.path };
1987
1967
  };
1988
- return (u, y) => {
1989
- const C = E("el-icon");
1990
- return e.showBack || r.value.length ? (l(), v("nav", Nn, [
1991
- e.showBack ? (l(), v("button", {
1968
+ return (u, A) => {
1969
+ const w = L("el-icon");
1970
+ return e.showBack || r.value.length ? (l(), y("nav", zn, [
1971
+ e.showBack ? (l(), y("button", {
1992
1972
  key: 0,
1993
1973
  class: "layout-breadcrumb__back",
1994
1974
  type: "button",
1995
1975
  "aria-label": e.backLabel,
1996
1976
  title: e.backLabel,
1997
- onClick: q
1977
+ onClick: ut
1998
1978
  }, [
1999
- _(C, null, {
2000
- default: w(() => [
2001
- _(m(it))
1979
+ _(w, null, {
1980
+ default: C(() => [
1981
+ _(f(At))
2002
1982
  ]),
2003
1983
  _: 1
2004
1984
  })
2005
- ], 8, Bn)) : x("", !0),
2006
- r.value.length ? (l(), v("ol", Un, [
2007
- (l(!0), v(K, null, H(r.value, (S, A) => (l(), v("li", {
2008
- key: `${S.path || S.title}-${A}`,
1985
+ ], 8, Zn)) : I("", !0),
1986
+ r.value.length ? (l(), y("ol", jn, [
1987
+ (l(!0), y(U, null, J(r.value, (P, x) => (l(), y("li", {
1988
+ key: `${P.path || P.title}-${x}`,
2009
1989
  class: "flex min-w-0 items-center gap-1"
2010
1990
  }, [
2011
- A > 0 ? (l(), I(C, {
1991
+ x > 0 ? (l(), k(w, {
2012
1992
  key: 0,
2013
1993
  class: "layout-breadcrumb__separator"
2014
1994
  }, {
2015
- default: w(() => [
2016
- _(m(pe))
1995
+ default: C(() => [
1996
+ _(f(he))
2017
1997
  ]),
2018
1998
  _: 1
2019
- })) : x("", !0),
2020
- U(S) && z(S, A) ? (l(), v("a", {
1999
+ })) : I("", !0),
2000
+ F(P) && we(P, x) ? (l(), y("a", {
2021
2001
  key: 1,
2022
2002
  class: "layout-breadcrumb__link",
2023
- href: S.path
2024
- }, M(S.title), 9, Rn)) : z(S, A) ? (l(), v("button", {
2003
+ href: P.path
2004
+ }, E(P.title), 9, qn)) : we(P, x) ? (l(), y("button", {
2025
2005
  key: 2,
2026
2006
  class: "layout-breadcrumb__link",
2027
2007
  type: "button",
2028
- onClick: (D) => Z(S)
2029
- }, M(S.title), 9, Kn)) : (l(), v("span", Jn, M(S.title), 1))
2008
+ onClick: (R) => ct(P)
2009
+ }, E(P.title), 9, Yn)) : (l(), y("span", Wn, E(P.title), 1))
2030
2010
  ]))), 128))
2031
- ])) : x("", !0)
2032
- ])) : x("", !0);
2011
+ ])) : I("", !0)
2012
+ ])) : I("", !0);
2033
2013
  };
2034
2014
  }
2035
- }), Oo = /* @__PURE__ */ B(On, [["__scopeId", "data-v-21c4b2fb"]]), Fn = {
2015
+ }), Wa = /* @__PURE__ */ D(Xn, [["__scopeId", "data-v-f7586477"]]), Gn = {
2036
2016
  key: 0,
2037
2017
  class: "timezone-select__current"
2038
- }, Hn = { class: "timezone-select__panel" }, Qn = ["onClick"], jn = { class: "timezone-select__name" }, zn = { class: "timezone-select__offset" }, Zn = /* @__PURE__ */ N({
2018
+ }, Vn = { class: "timezone-select__panel" }, $n = ["onClick"], ea = { class: "timezone-select__name" }, ta = { class: "timezone-select__offset" }, na = /* @__PURE__ */ M({
2039
2019
  __name: "TimezoneSelect",
2040
2020
  props: {
2041
2021
  showLabel: { type: Boolean, default: !1 }
2042
2022
  },
2043
- setup(o) {
2044
- const e = ft(), t = R(!1), n = T(() => e.value), a = T(() => Ct()), s = T(() => _t(n.value)), r = (c) => {
2045
- vt(c), t.value = !1;
2023
+ setup(n) {
2024
+ const e = kt(), t = N(!1), a = S(() => e.value), o = S(() => Dt()), s = S(() => Mt(a.value)), r = (c) => {
2025
+ It(c), t.value = !1;
2046
2026
  };
2047
- return (c, h) => {
2048
- const i = E("el-icon"), g = E("el-popover");
2049
- return l(), I(g, {
2027
+ return (c, g) => {
2028
+ const i = L("el-icon"), h = L("el-popover");
2029
+ return l(), k(h, {
2050
2030
  visible: t.value,
2051
- "onUpdate:visible": h[0] || (h[0] = (p) => t.value = p),
2031
+ "onUpdate:visible": g[0] || (g[0] = (m) => t.value = m),
2052
2032
  placement: "bottom",
2053
2033
  width: 280,
2054
2034
  trigger: "hover",
2055
2035
  "popper-class": "top-timezone-popover"
2056
2036
  }, {
2057
- reference: w(() => [
2058
- _(ne, {
2037
+ reference: C(() => [
2038
+ _(X, {
2059
2039
  tag: "div",
2060
2040
  class: "timezone-select",
2061
- "icon-only": !o.showLabel,
2041
+ "icon-only": !n.showLabel,
2062
2042
  title: s.value,
2063
2043
  "aria-label": s.value
2064
2044
  }, {
2065
- default: w(() => [
2045
+ default: C(() => [
2066
2046
  _(i, null, {
2067
- default: w(() => [
2068
- _(m(ct))
2047
+ default: C(() => [
2048
+ _(f(_t))
2069
2049
  ]),
2070
2050
  _: 1
2071
2051
  }),
2072
- o.showLabel ? (l(), v("span", Fn, M(n.value), 1)) : x("", !0),
2073
- o.showLabel ? (l(), I(i, {
2052
+ n.showLabel ? (l(), y("span", Gn, E(a.value), 1)) : I("", !0),
2053
+ n.showLabel ? (l(), k(i, {
2074
2054
  key: 1,
2075
2055
  class: "timezone-select__caret"
2076
2056
  }, {
2077
- default: w(() => [
2078
- _(m(ge))
2057
+ default: C(() => [
2058
+ _(f(Ae))
2079
2059
  ]),
2080
2060
  _: 1
2081
- })) : x("", !0)
2061
+ })) : I("", !0)
2082
2062
  ]),
2083
2063
  _: 1
2084
2064
  }, 8, ["icon-only", "title", "aria-label"])
2085
2065
  ]),
2086
- default: w(() => [
2087
- d("div", Hn, [
2088
- (l(!0), v(K, null, H(a.value, (p) => (l(), v("button", {
2089
- key: p.value,
2066
+ default: C(() => [
2067
+ d("div", Vn, [
2068
+ (l(!0), y(U, null, J(o.value, (m) => (l(), y("button", {
2069
+ key: m.value,
2090
2070
  type: "button",
2091
- class: F(["timezone-select__option", {
2092
- "timezone-select__option--active": p.value === n.value
2071
+ class: K(["timezone-select__option", {
2072
+ "timezone-select__option--active": m.value === a.value
2093
2073
  }]),
2094
- onClick: (f) => r(p.value)
2074
+ onClick: (v) => r(m.value)
2095
2075
  }, [
2096
- d("span", jn, M(p.value), 1),
2097
- d("span", zn, M(p.offset), 1)
2098
- ], 10, Qn))), 128))
2076
+ d("span", ea, E(m.value), 1),
2077
+ d("span", ta, E(m.offset), 1)
2078
+ ], 10, $n))), 128))
2099
2079
  ])
2100
2080
  ]),
2101
2081
  _: 1
2102
2082
  }, 8, ["visible"]);
2103
2083
  };
2104
2084
  }
2105
- }), Fo = /* @__PURE__ */ B(Zn, [["__scopeId", "data-v-e62f5f2d"]]), qn = { class: "user-info__panel" }, Yn = { class: "user-info__profile" }, Wn = { class: "user-info__profile-main" }, Xn = ["title"], Gn = ["title"], Vn = { class: "user-info__meta" }, $n = { class: "user-info__meta-label" }, eo = ["title"], to = ["href"], no = /* @__PURE__ */ N({
2085
+ }), Xa = /* @__PURE__ */ D(na, [["__scopeId", "data-v-e62f5f2d"]]), aa = { class: "user-info__panel" }, oa = { class: "user-info__profile" }, sa = { class: "user-info__profile-main" }, ra = ["title"], la = ["title"], ia = { class: "user-info__meta" }, ca = { class: "user-info__meta-label" }, ua = ["title"], da = ["href"], pa = /* @__PURE__ */ M({
2106
2086
  __name: "UserInfo",
2107
- setup(o) {
2108
- const { t: e } = ue.global, t = Q(), n = T(() => t.value.user || {}), a = T(() => t.value.accountMenu || []), s = T(
2087
+ setup(n) {
2088
+ const { t: e } = ue.global, t = O(), a = S(() => t.value.user || {}), o = S(() => t.value.accountMenu || []), s = S(
2109
2089
  () => {
2110
- var h, i, g, p;
2111
- return ((h = n.value) == null ? void 0 : h.name) || ((i = n.value) == null ? void 0 : i.username) || ((g = n.value) == null ? void 0 : g.email) || ((p = n.value) == null ? void 0 : p.userId) || "User";
2090
+ var g, i, h, m;
2091
+ return ((g = a.value) == null ? void 0 : g.name) || ((i = a.value) == null ? void 0 : i.username) || ((h = a.value) == null ? void 0 : h.email) || ((m = a.value) == null ? void 0 : m.userId) || "User";
2112
2092
  }
2113
- ), r = T(
2093
+ ), r = S(
2114
2094
  () => {
2115
- var h, i, g;
2095
+ var g, i, h;
2116
2096
  return [
2117
- { label: e("admin.label.userName"), value: (h = n.value) == null ? void 0 : h.username },
2118
- { label: e("admin.label.email"), value: (i = n.value) == null ? void 0 : i.email },
2119
- { label: e("admin.label.userId"), value: (g = n.value) == null ? void 0 : g.userId }
2120
- ].filter((p) => !!p.value);
2097
+ { label: e("admin.label.userName"), value: (g = a.value) == null ? void 0 : g.username },
2098
+ { label: e("admin.label.email"), value: (i = a.value) == null ? void 0 : i.email },
2099
+ { label: e("admin.label.userId"), value: (h = a.value) == null ? void 0 : h.userId }
2100
+ ].filter((m) => !!m.value);
2121
2101
  }
2122
2102
  ), c = () => {
2123
- var h, i;
2124
- Promise.resolve((i = (h = t.value).onLogout) == null ? void 0 : i.call(h)).finally(() => {
2103
+ var g, i;
2104
+ Promise.resolve((i = (g = t.value).onLogout) == null ? void 0 : i.call(g)).finally(() => {
2125
2105
  t.value.onLogout || ce(t.value);
2126
2106
  });
2127
2107
  };
2128
- return (h, i) => {
2129
- const g = E("el-popover");
2130
- return l(), I(g, {
2108
+ return (g, i) => {
2109
+ const h = L("el-popover");
2110
+ return l(), k(h, {
2131
2111
  width: 280,
2132
2112
  trigger: "hover",
2133
2113
  "popper-class": "top-userinfo-popover"
2134
2114
  }, {
2135
- reference: w(() => [
2136
- _(m(Ie), {
2115
+ reference: C(() => [
2116
+ _(f(Ue), {
2137
2117
  class: "user-info__trigger ml-2",
2138
- src: n.value.avatar,
2118
+ src: a.value.avatar,
2139
2119
  name: s.value
2140
2120
  }, null, 8, ["src", "name"])
2141
2121
  ]),
2142
- default: w(() => {
2143
- var p;
2122
+ default: C(() => {
2123
+ var m;
2144
2124
  return [
2145
- d("div", qn, [
2146
- d("div", Yn, [
2147
- _(m(Ie), {
2125
+ d("div", aa, [
2126
+ d("div", oa, [
2127
+ _(f(Ue), {
2148
2128
  class: "user-info__profile-avatar",
2149
- src: n.value.avatar,
2129
+ src: a.value.avatar,
2150
2130
  name: s.value
2151
2131
  }, null, 8, ["src", "name"]),
2152
- d("div", Wn, [
2132
+ d("div", sa, [
2153
2133
  d("div", {
2154
2134
  class: "user-info__display-name",
2155
2135
  title: s.value
2156
- }, M(s.value), 9, Xn),
2157
- (p = n.value) != null && p.username ? (l(), v("div", {
2136
+ }, E(s.value), 9, ra),
2137
+ (m = a.value) != null && m.username ? (l(), y("div", {
2158
2138
  key: 0,
2159
2139
  class: "user-info__username",
2160
- title: n.value.username
2161
- }, " @" + M(n.value.username), 9, Gn)) : x("", !0)
2140
+ title: a.value.username
2141
+ }, " @" + E(a.value.username), 9, la)) : I("", !0)
2162
2142
  ])
2163
2143
  ]),
2164
- d("div", Vn, [
2165
- (l(!0), v(K, null, H(r.value, (f) => (l(), v("div", {
2166
- key: f.label,
2144
+ d("div", ia, [
2145
+ (l(!0), y(U, null, J(r.value, (v) => (l(), y("div", {
2146
+ key: v.label,
2167
2147
  class: "user-info__meta-row"
2168
2148
  }, [
2169
- d("span", $n, M(f.label), 1),
2149
+ d("span", ca, E(v.label), 1),
2170
2150
  d("span", {
2171
2151
  class: "user-info__meta-value",
2172
- title: f.value
2173
- }, M(f.value), 9, eo)
2152
+ title: v.value
2153
+ }, E(v.value), 9, ua)
2174
2154
  ]))), 128))
2175
2155
  ]),
2176
2156
  i[1] || (i[1] = d("div", { class: "user-info__divider" }, null, -1)),
2177
- (l(!0), v(K, null, H(a.value, (f, b) => {
2178
- var P, L;
2179
- return l(), v("a", {
2180
- key: b,
2181
- href: f.path,
2157
+ (l(!0), y(U, null, J(o.value, (v, p) => {
2158
+ var b, T;
2159
+ return l(), y("a", {
2160
+ key: p,
2161
+ href: v.path,
2182
2162
  class: "user-info__item"
2183
2163
  }, [
2184
- _(ze, {
2185
- icon: f.icon || ((P = f.meta) == null ? void 0 : P.icon)
2164
+ _(tt, {
2165
+ icon: v.icon || ((b = v.meta) == null ? void 0 : b.icon)
2186
2166
  }, null, 8, ["icon"]),
2187
- d("span", null, M(m(ae)(((L = f.meta) == null ? void 0 : L.translations) || {}, "name", f.name)), 1)
2188
- ], 8, to);
2167
+ d("span", null, E(f($)(((T = v.meta) == null ? void 0 : T.translations) || {}, "name", v.name)), 1)
2168
+ ], 8, da);
2189
2169
  }), 128)),
2190
2170
  i[2] || (i[2] = d("div", { class: "user-info__divider" }, null, -1)),
2191
2171
  d("div", {
@@ -2193,7 +2173,7 @@ const Ye = (o, e) => o.reduce(
2193
2173
  onClick: c
2194
2174
  }, [
2195
2175
  i[0] || (i[0] = d("i", { class: "metisicon-exit-full" }, null, -1)),
2196
- d("span", null, M(m(e)("common.btn.logout")), 1)
2176
+ d("span", null, E(f(e)("common.btn.logout")), 1)
2197
2177
  ])
2198
2178
  ])
2199
2179
  ];
@@ -2202,28 +2182,28 @@ const Ye = (o, e) => o.reduce(
2202
2182
  });
2203
2183
  };
2204
2184
  }
2205
- }), oo = /* @__PURE__ */ B(no, [["__scopeId", "data-v-ac052463"]]), ao = { class: "header-right" }, so = ["href"], ro = /* @__PURE__ */ N({
2185
+ }), ma = /* @__PURE__ */ D(pa, [["__scopeId", "data-v-ac052463"]]), ha = { class: "header-right" }, ga = ["href"], fa = /* @__PURE__ */ M({
2206
2186
  __name: "SHeaderRight",
2207
- setup(o) {
2208
- const { t: e } = ue.global, t = Q(), n = T(() => t.value.hideDoc ?? !1), a = T(() => je(t.value)), s = T(() => t.value.user), r = T(() => {
2209
- var i, g;
2210
- return !!((i = s.value) != null && i.id || (g = s.value) != null && g.userId);
2187
+ setup(n) {
2188
+ const { t: e } = ue.global, t = O(), a = S(() => t.value.hideDoc ?? !1), o = S(() => Ge(t.value)), s = S(() => t.value.user), r = S(() => {
2189
+ var i, h;
2190
+ return !!((i = s.value) != null && i.id || (h = s.value) != null && h.userId);
2211
2191
  }), c = (i) => {
2212
2192
  t.value.onLogin && (i.preventDefault(), t.value.onLogin());
2213
- }, h = T(() => t.value.docsPath || "");
2214
- return (i, g) => {
2215
- const p = E("el-icon");
2216
- return l(), v("div", ao, [
2217
- !n.value && h.value ? (l(), I(ne, {
2193
+ }, g = S(() => t.value.docsPath || "");
2194
+ return (i, h) => {
2195
+ const m = L("el-icon");
2196
+ return l(), y("div", ha, [
2197
+ !a.value && g.value ? (l(), k(X, {
2218
2198
  key: 0,
2219
2199
  tag: "a",
2220
2200
  class: "whitespace-nowrap",
2221
- href: h.value,
2201
+ href: g.value,
2222
2202
  target: "_blank"
2223
2203
  }, {
2224
- default: w(() => [
2225
- _(p, null, {
2226
- default: w(() => [...g[0] || (g[0] = [
2204
+ default: C(() => [
2205
+ _(m, null, {
2206
+ default: C(() => [...h[0] || (h[0] = [
2227
2207
  d("svg", {
2228
2208
  xmlns: "http://www.w3.org/2000/svg",
2229
2209
  width: "24",
@@ -2246,135 +2226,135 @@ const Ye = (o, e) => o.reduce(
2246
2226
  })
2247
2227
  ]),
2248
2228
  _: 1
2249
- }, 8, ["href"])) : x("", !0),
2250
- _(Xe),
2251
- _(We),
2252
- r.value ? (l(), I(oo, { key: 1 })) : (l(), v("a", {
2229
+ }, 8, ["href"])) : I("", !0),
2230
+ _(rt),
2231
+ _(st),
2232
+ r.value ? (l(), k(ma, { key: 1 })) : (l(), y("a", {
2253
2233
  key: 2,
2254
2234
  class: "header-right__login",
2255
- href: a.value,
2235
+ href: o.value,
2256
2236
  onClick: c
2257
- }, M(m(e)("common.btn.login")), 9, so))
2237
+ }, E(f(e)("common.btn.login")), 9, ga))
2258
2238
  ]);
2259
2239
  };
2260
2240
  }
2261
- }), lo = /* @__PURE__ */ B(ro, [["__scopeId", "data-v-3c5e16a6"]]), io = {
2241
+ }), va = /* @__PURE__ */ D(fa, [["__scopeId", "data-v-3c5e16a6"]]), ya = {
2262
2242
  "header-bar": "",
2263
2243
  class: "header-bar sticky top-0 z-200"
2264
- }, co = { class: "header-bar__left" }, uo = { class: "header-bar__logo-wrap" }, po = {
2244
+ }, ba = { class: "header-bar__left" }, Aa = { class: "header-bar__logo-wrap" }, _a = {
2265
2245
  href: "/",
2266
2246
  target: "_self",
2267
2247
  rel: "noopener",
2268
2248
  class: "header-bar__logo-link"
2269
- }, mo = {
2249
+ }, Ca = {
2270
2250
  key: 1,
2271
2251
  class: "header-bar__divider"
2272
- }, ho = { class: "header-bar__right" }, go = /* @__PURE__ */ N({
2252
+ }, Sa = { class: "header-bar__right" }, wa = /* @__PURE__ */ M({
2273
2253
  __name: "HeaderBar",
2274
- setup(o) {
2275
- const e = Q(), { isMobile: t } = W(), n = T(
2254
+ setup(n) {
2255
+ const e = O(), { isMobile: t } = H(), a = S(
2276
2256
  () => {
2277
- var a, s;
2278
- return !!((a = e.value.user) != null && a.id || (s = e.value.user) != null && s.userId);
2257
+ var o, s;
2258
+ return !!((o = e.value.user) != null && o.id || (s = e.value.user) != null && s.userId);
2279
2259
  }
2280
2260
  );
2281
- return (a, s) => {
2282
- const r = E("el-image");
2283
- return l(), v("div", io, [
2284
- d("div", co, [
2285
- m(t) ? (l(), I(En, { key: 0 })) : x("", !0),
2286
- d("div", uo, [
2287
- d("a", po, [
2261
+ return (o, s) => {
2262
+ const r = L("el-image");
2263
+ return l(), y("div", ya, [
2264
+ d("div", ba, [
2265
+ f(t) ? (l(), k(Fn, { key: 0 })) : I("", !0),
2266
+ d("div", Aa, [
2267
+ d("a", _a, [
2288
2268
  _(r, {
2289
- src: m(e).logo,
2269
+ src: f(e).logo,
2290
2270
  class: "h-7"
2291
2271
  }, null, 8, ["src"])
2292
2272
  ])
2293
2273
  ]),
2294
- n.value && !m(t) ? (l(), v("div", mo)) : x("", !0),
2295
- n.value && !m(t) ? (l(), I(Xt, { key: 2 })) : x("", !0)
2274
+ a.value && !f(t) ? (l(), y("div", Ca)) : I("", !0),
2275
+ a.value && !f(t) ? (l(), k(rn, { key: 2 })) : I("", !0)
2296
2276
  ]),
2297
- d("div", ho, [
2298
- V(a.$slots, "default", {}, void 0, !0),
2299
- m(t) ? x("", !0) : (l(), I(lo, { key: 0 })),
2300
- m(t) ? (l(), I(kn, { key: 1 })) : x("", !0)
2277
+ d("div", Sa, [
2278
+ z(o.$slots, "default", {}, void 0, !0),
2279
+ f(t) ? I("", !0) : (l(), k(va, { key: 0 })),
2280
+ f(t) ? (l(), k(Rn, { key: 1 })) : I("", !0)
2301
2281
  ])
2302
2282
  ]);
2303
2283
  };
2304
2284
  }
2305
- }), fo = /* @__PURE__ */ B(go, [["__scopeId", "data-v-9ee7aec2"]]), vo = {
2285
+ }), Pa = /* @__PURE__ */ D(wa, [["__scopeId", "data-v-0ce1ab70"]]), Ta = {
2306
2286
  key: 0,
2307
2287
  class: "min-w-0 flex-1"
2308
- }, yo = /* @__PURE__ */ N({
2288
+ }, ka = /* @__PURE__ */ M({
2309
2289
  __name: "AppSelectMobile",
2310
- setup(o) {
2311
- const { currentAppId: e } = W(), { appList: t, getAppPath: n, findAppById: a } = qe(), s = T(() => {
2312
- const c = a(e.value);
2313
- return c ? n(c) : "";
2290
+ setup(n) {
2291
+ const { currentAppId: e } = H(), { appList: t, getAppPath: a, findAppById: o } = at(), s = S(() => {
2292
+ const c = o(e.value);
2293
+ return c ? a(c) : "";
2314
2294
  }), r = (c) => {
2315
2295
  c && (location.href = c);
2316
2296
  };
2317
- return (c, h) => {
2318
- var f;
2319
- const i = E("el-option"), g = E("el-option-group"), p = E("el-select");
2320
- return (f = m(t)) != null && f.length ? (l(), v("div", vo, [
2321
- _(p, {
2297
+ return (c, g) => {
2298
+ var v;
2299
+ const i = L("el-option"), h = L("el-option-group"), m = L("el-select");
2300
+ return (v = f(t)) != null && v.length ? (l(), y("div", Ta, [
2301
+ _(m, {
2322
2302
  "model-value": s.value,
2323
2303
  class: "w-full",
2324
2304
  onChange: r
2325
2305
  }, {
2326
- default: w(() => [
2327
- (l(!0), v(K, null, H(m(t), (b) => {
2328
- var P;
2329
- return l(), v(K, {
2330
- key: b.appId
2306
+ default: C(() => [
2307
+ (l(!0), y(U, null, J(f(t), (p) => {
2308
+ var b;
2309
+ return l(), y(U, {
2310
+ key: p.appId
2331
2311
  }, [
2332
- (P = b.children) != null && P.length ? (l(), I(g, {
2312
+ (b = p.children) != null && b.length ? (l(), k(h, {
2333
2313
  key: 0,
2334
- label: b.name
2314
+ label: p.name
2335
2315
  }, {
2336
- default: w(() => [
2337
- (l(!0), v(K, null, H(b.children, (L) => (l(), I(i, {
2338
- key: L.appId,
2339
- label: L.name,
2340
- value: m(n)(L),
2316
+ default: C(() => [
2317
+ (l(!0), y(U, null, J(p.children, (T) => (l(), k(i, {
2318
+ key: T.appId,
2319
+ label: T.name,
2320
+ value: f(a)(T),
2341
2321
  style: { "padding-left": "30px" }
2342
2322
  }, null, 8, ["label", "value"]))), 128))
2343
2323
  ]),
2344
2324
  _: 2
2345
- }, 1032, ["label"])) : (l(), I(i, {
2325
+ }, 1032, ["label"])) : (l(), k(i, {
2346
2326
  key: 1,
2347
- label: b.name,
2348
- value: m(n)(b)
2327
+ label: p.name,
2328
+ value: f(a)(p)
2349
2329
  }, null, 8, ["label", "value"]))
2350
2330
  ], 64);
2351
2331
  }), 128))
2352
2332
  ]),
2353
2333
  _: 1
2354
2334
  }, 8, ["model-value"])
2355
- ])) : x("", !0);
2335
+ ])) : I("", !0);
2356
2336
  };
2357
2337
  }
2358
- }), bo = { class: "aside-user-mobile" }, Ao = { class: "flex-1" }, _o = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Co = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, wo = /* @__PURE__ */ N({
2338
+ }), Ia = { class: "aside-user-mobile" }, La = { class: "flex-1" }, xa = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Ea = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Ma = /* @__PURE__ */ M({
2359
2339
  __name: "AsideUserMobile",
2360
- setup(o) {
2361
- const e = Q(), t = T(() => e.value.user || {}), n = T(() => !!(t.value.id || t.value.userId)), a = T(() => t.value.name || t.value.username), s = () => {
2340
+ setup(n) {
2341
+ const e = O(), t = S(() => e.value.user || {}), a = S(() => !!(t.value.id || t.value.userId)), o = S(() => t.value.name || t.value.username), s = () => {
2362
2342
  var r, c;
2363
2343
  (c = (r = e.value).onLogin) != null && c.call(r) || ce(e.value);
2364
2344
  };
2365
2345
  return (r, c) => {
2366
- const h = E("el-icon");
2367
- return n.value ? (l(), I(Ge, { key: 0 }, {
2368
- reference: w(() => [
2369
- d("div", bo, [
2346
+ const g = L("el-icon");
2347
+ return a.value ? (l(), k(lt, { key: 0 }, {
2348
+ reference: C(() => [
2349
+ d("div", Ia, [
2370
2350
  c[0] || (c[0] = d("div", { class: "aside-user-mobile__icon text-lg" }, [
2371
2351
  d("i", { class: "metisicon-yonghu1" })
2372
2352
  ], -1)),
2373
- d("div", Ao, M(a.value), 1),
2374
- d("div", _o, [
2375
- _(h, null, {
2376
- default: w(() => [
2377
- _(m(pe))
2353
+ d("div", La, E(o.value), 1),
2354
+ d("div", xa, [
2355
+ _(g, null, {
2356
+ default: C(() => [
2357
+ _(f(he))
2378
2358
  ]),
2379
2359
  _: 1
2380
2360
  })
@@ -2382,7 +2362,7 @@ const Ye = (o, e) => o.reduce(
2382
2362
  ])
2383
2363
  ]),
2384
2364
  _: 1
2385
- })) : (l(), v("div", {
2365
+ })) : (l(), y("div", {
2386
2366
  key: 1,
2387
2367
  class: "aside-user-mobile",
2388
2368
  onClick: s
@@ -2391,10 +2371,10 @@ const Ye = (o, e) => o.reduce(
2391
2371
  d("i", { class: "metisicon-yonghu1" })
2392
2372
  ], -1)),
2393
2373
  c[2] || (c[2] = d("div", { class: "flex-1" }, "登录/注册", -1)),
2394
- d("div", Co, [
2395
- _(h, null, {
2396
- default: w(() => [
2397
- _(m(pe))
2374
+ d("div", Ea, [
2375
+ _(g, null, {
2376
+ default: C(() => [
2377
+ _(f(he))
2398
2378
  ]),
2399
2379
  _: 1
2400
2380
  })
@@ -2402,122 +2382,122 @@ const Ye = (o, e) => o.reduce(
2402
2382
  ]));
2403
2383
  };
2404
2384
  }
2405
- }), So = /* @__PURE__ */ B(wo, [["__scopeId", "data-v-c56964a5"]]), Po = { class: "aside-bar-mobile__head flex items-center gap-3" }, To = { class: "p-3" }, ko = /* @__PURE__ */ N({
2385
+ }), Da = /* @__PURE__ */ D(Ma, [["__scopeId", "data-v-c56964a5"]]), Na = { class: "aside-bar-mobile__head flex items-center gap-3" }, Ba = { class: "p-3" }, Ua = /* @__PURE__ */ M({
2406
2386
  __name: "AsideBarMobile",
2407
- setup(o) {
2408
- const { menus: e, sideOpen: t } = W(), n = () => void (t.value = !1);
2409
- return (a, s) => {
2410
- const r = E("el-icon"), c = E("el-scrollbar");
2411
- return m(e).length && !a.$route.meta.hideSidebar ? (l(), v("div", {
2387
+ setup(n) {
2388
+ const { menus: e, sideOpen: t } = H(), a = () => void (t.value = !1);
2389
+ return (o, s) => {
2390
+ const r = L("el-icon"), c = L("el-scrollbar");
2391
+ return f(e).length && !o.$route.meta.hideSidebar ? (l(), y("div", {
2412
2392
  key: 0,
2413
- class: F(["aside-bar-mobile fixed inset-y-0 left-0 z-200 flex min-h-0 flex-col transition-transform", [m(t) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
2393
+ class: K(["aside-bar-mobile fixed inset-y-0 left-0 z-200 flex min-h-0 flex-col transition-transform", [f(t) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
2414
2394
  }, [
2415
- d("div", Po, [
2395
+ d("div", Na, [
2416
2396
  d("button", {
2417
2397
  type: "button",
2418
2398
  class: "aside-bar-mobile__close",
2419
2399
  "aria-label": "Close menu",
2420
- onClick: n
2400
+ onClick: a
2421
2401
  }, [
2422
2402
  _(r, null, {
2423
- default: w(() => [
2424
- _(m(De))
2403
+ default: C(() => [
2404
+ _(f(Fe))
2425
2405
  ]),
2426
2406
  _: 1
2427
2407
  })
2428
2408
  ]),
2429
- _(yo)
2409
+ _(ka)
2430
2410
  ]),
2431
2411
  _(c, { ref: "leftScrollRef" }, {
2432
- default: w(() => [
2433
- d("div", To, [
2434
- _(Ze, { menus: m(e) }, null, 8, ["menus"])
2412
+ default: C(() => [
2413
+ d("div", Ba, [
2414
+ _(nt, { menus: f(e) }, null, 8, ["menus"])
2435
2415
  ])
2436
2416
  ]),
2437
2417
  _: 1
2438
2418
  }, 512),
2439
- V(a.$slots, "sidebar-foot", {}, void 0, !0),
2440
- _(So)
2441
- ], 2)) : x("", !0);
2419
+ z(o.$slots, "sidebar-foot", {}, void 0, !0),
2420
+ _(Da)
2421
+ ], 2)) : I("", !0);
2442
2422
  };
2443
2423
  }
2444
- }), Io = /* @__PURE__ */ B(ko, [["__scopeId", "data-v-ffd10c8b"]]), Lo = "data:image/png;base64,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", xo = { class: "layout-shell w-full flex flex-col" }, Eo = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Mo = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, Do = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, No = /* @__PURE__ */ N({
2424
+ }), Ra = /* @__PURE__ */ D(Ua, [["__scopeId", "data-v-05675378"]]), Ka = "data:image/png;base64,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", Ja = { class: "layout-shell w-full flex flex-col" }, Oa = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Fa = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, Ha = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, Qa = /* @__PURE__ */ M({
2445
2425
  __name: "BaseLayout",
2446
2426
  props: {
2447
2427
  setting: {}
2448
2428
  },
2449
- setup(o) {
2450
- const e = o, t = T(() => {
2451
- var p, f, b, P, L, k, U;
2429
+ setup(n) {
2430
+ const e = n, t = S(() => {
2431
+ var m, v, p, b, T, B, F;
2452
2432
  return {
2453
2433
  ...e.setting || {},
2454
- logo: ((p = e.setting) == null ? void 0 : p.logo) || Lo,
2455
- menus: ((f = e.setting) == null ? void 0 : f.menus) || [],
2456
- accountMenu: ((b = e.setting) == null ? void 0 : b.accountMenu) || [],
2457
- user: ((P = e.setting) == null ? void 0 : P.user) ?? null,
2458
- appList: ((L = e.setting) == null ? void 0 : L.appList) || [],
2459
- onLogin: (k = e.setting) == null ? void 0 : k.onLogin,
2460
- onLogout: (U = e.setting) == null ? void 0 : U.onLogout
2434
+ logo: ((m = e.setting) == null ? void 0 : m.logo) || Ka,
2435
+ menus: ((v = e.setting) == null ? void 0 : v.menus) || [],
2436
+ accountMenu: ((p = e.setting) == null ? void 0 : p.accountMenu) || [],
2437
+ user: ((b = e.setting) == null ? void 0 : b.user) ?? null,
2438
+ appList: ((T = e.setting) == null ? void 0 : T.appList) || [],
2439
+ onLogin: (B = e.setting) == null ? void 0 : B.onLogin,
2440
+ onLogout: (F = e.setting) == null ? void 0 : F.onLogout
2461
2441
  };
2462
2442
  });
2463
- Me(() => void It(t.value));
2464
- const { isMobile: n, sideOpen: a } = Et();
2443
+ Oe(() => void Jt(t.value));
2444
+ const { isMobile: a, sideOpen: o } = H();
2465
2445
  let s = "", r = !1;
2466
- const c = () => void (a.value = !1), h = (p) => {
2467
- const f = p.matched[1];
2468
- if (!f) return p.path;
2469
- const b = i(f, p);
2470
- return [f.path, b].filter(Boolean).join("|");
2471
- }, i = (p, f) => Array.from(
2472
- p.path.matchAll(/:(\w+)/g),
2473
- ([, P]) => P
2474
- ).map((P) => {
2475
- const L = f.params[P];
2476
- return `${P}:${Array.isArray(L) ? L.join(",") : L || ""}`;
2477
- }).join("|"), g = (p) => {
2478
- p.key === "Escape" && n.value && a.value && c();
2446
+ const c = () => void (o.value = !1), g = (m) => {
2447
+ const v = m.matched[1];
2448
+ if (!v) return m.path;
2449
+ const p = i(v, m);
2450
+ return [v.path, p].filter(Boolean).join("|");
2451
+ }, i = (m, v) => Array.from(
2452
+ m.path.matchAll(/:(\w+)/g),
2453
+ ([, b]) => b
2454
+ ).map((b) => {
2455
+ const T = v.params[b];
2456
+ return `${b}:${Array.isArray(T) ? T.join(",") : T || ""}`;
2457
+ }).join("|"), h = (m) => {
2458
+ m.key === "Escape" && a.value && o.value && c();
2479
2459
  };
2480
- return le(
2481
- () => n.value && a.value,
2482
- (p) => {
2460
+ return re(
2461
+ () => a.value && o.value,
2462
+ (m) => {
2483
2463
  if (!(typeof document > "u")) {
2484
- if (p && !r) {
2464
+ if (m && !r) {
2485
2465
  s = document.body.style.overflow, document.body.style.overflow = "hidden", r = !0;
2486
2466
  return;
2487
2467
  }
2488
- !p && r && (document.body.style.overflow = s, r = !1);
2468
+ !m && r && (document.body.style.overflow = s, r = !1);
2489
2469
  }
2490
2470
  },
2491
2471
  { immediate: !0 }
2492
- ), Le(() => {
2493
- window.addEventListener("keydown", g);
2494
- }), xe(() => {
2495
- window.removeEventListener("keydown", g), typeof document < "u" && r && (document.body.style.overflow = s);
2496
- }), (p, f) => {
2497
- const b = E("router-view");
2498
- return l(), v("div", xo, [
2499
- _(fo, null, {
2500
- default: w(() => [
2501
- V(p.$slots, "header-right", {}, void 0, !0)
2472
+ ), Re(() => {
2473
+ window.addEventListener("keydown", h);
2474
+ }), Ke(() => {
2475
+ window.removeEventListener("keydown", h), typeof document < "u" && r && (document.body.style.overflow = s);
2476
+ }), (m, v) => {
2477
+ const p = L("router-view");
2478
+ return l(), y("div", Ja, [
2479
+ _(Pa, null, {
2480
+ default: C(() => [
2481
+ z(m.$slots, "header-right", {}, void 0, !0)
2502
2482
  ]),
2503
2483
  _: 3
2504
2484
  }),
2505
- d("div", Eo, [
2506
- m(n) ? (l(), I(Io, { key: 1 })) : (l(), I(Ht, { key: 0 })),
2507
- d("main", Mo, [
2508
- d("div", Do, [
2509
- _(b, null, {
2510
- default: w(({ Component: P, route: L }) => [
2511
- _(Se, {
2512
- name: String(L.meta.transition || "layout-page"),
2485
+ d("div", Oa, [
2486
+ f(a) ? (l(), k(Ra, { key: 1 })) : (l(), k(Vt, { key: 0 })),
2487
+ d("main", Fa, [
2488
+ d("div", Ha, [
2489
+ _(p, null, {
2490
+ default: C(({ Component: b, route: T }) => [
2491
+ _(Ee, {
2492
+ name: String(T.meta.transition || "layout-page"),
2513
2493
  mode: "out-in"
2514
2494
  }, {
2515
- default: w(() => [
2516
- (l(), v("div", {
2517
- key: h(L),
2495
+ default: C(() => [
2496
+ (l(), y("div", {
2497
+ key: g(T),
2518
2498
  class: "layout-page-view"
2519
2499
  }, [
2520
- (l(), I(he(P)))
2500
+ (l(), k(be(b)))
2521
2501
  ]))
2522
2502
  ]),
2523
2503
  _: 2
@@ -2528,35 +2508,33 @@ const Ye = (o, e) => o.reduce(
2528
2508
  ])
2529
2509
  ])
2530
2510
  ]),
2531
- _(Se, { name: "layout-overlay" }, {
2532
- default: w(() => [
2533
- m(n) && m(a) ? (l(), v("div", {
2511
+ _(Ee, { name: "layout-overlay" }, {
2512
+ default: C(() => [
2513
+ f(a) && f(o) ? (l(), y("div", {
2534
2514
  key: 0,
2535
2515
  class: "layout-shell__overlay",
2536
2516
  onClick: c
2537
- })) : x("", !0)
2517
+ })) : I("", !0)
2538
2518
  ]),
2539
2519
  _: 1
2540
2520
  })
2541
2521
  ]);
2542
2522
  };
2543
2523
  }
2544
- }), Ho = /* @__PURE__ */ B(No, [["__scopeId", "data-v-bcf098e8"]]);
2524
+ }), Ga = /* @__PURE__ */ D(Qa, [["__scopeId", "data-v-87720a5b"]]);
2545
2525
  export {
2546
- Ho as BaseLayout,
2547
- Xe as LanguageSelect,
2548
- Oo as LayoutBreadcrumb,
2549
- We as ThemeToggle,
2550
- Fo as TimezoneSelect,
2551
- Ie as UserAvatar,
2552
- oo as UserInfo,
2526
+ Ga as BaseLayout,
2527
+ rt as LanguageSelect,
2528
+ Wa as LayoutBreadcrumb,
2529
+ st as ThemeToggle,
2530
+ Xa as TimezoneSelect,
2531
+ Ue as UserAvatar,
2532
+ ma as UserInfo,
2553
2533
  ue as i18n,
2554
- W as injectLayoutContext,
2555
- re as messages,
2556
- xt as provideLayoutContext,
2557
- It as provideSetting,
2558
- qe as useApp,
2559
- Q as useSetting,
2560
- Et as useStateHook,
2561
- Qe as useTheme
2534
+ se as messages,
2535
+ Jt as provideSetting,
2536
+ at as useApp,
2537
+ H as useLayoutState,
2538
+ O as useSetting,
2539
+ Xe as useTheme
2562
2540
  };