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