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