mamba-layout 0.30.0 → 0.32.0

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