mamba-layout 0.4.0 → 0.5.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/layout.es.js CHANGED
@@ -50941,325 +50941,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
50941
50941
  }, 16, ["src", "data-src", "alt", "class"]);
50942
50942
  };
50943
50943
  }
50944
- }), lC = /* @__PURE__ */ aa(jle, [["__scopeId", "data-v-50be58a7"]]), Ule = {
50945
- key: 0,
50946
- class: "layout-breadcrumb text-xs",
50947
- "aria-label": "Breadcrumb"
50948
- }, Yle = ["aria-label", "title"], qle = {
50949
- key: 1,
50950
- class: "flex min-w-0 items-center gap-1"
50951
- }, Gle = ["href"], Xle = ["onClick"], Jle = {
50952
- key: 3,
50953
- class: "layout-breadcrumb__current"
50954
- }, Qle = /* @__PURE__ */ ue({
50955
- __name: "LayoutBreadcrumb",
50956
- props: {
50957
- items: { default: void 0 },
50958
- currentTitle: { default: "" },
50959
- parentPath: { default: "" },
50960
- preserveQueryKeys: { default: () => [] },
50961
- showCurrent: { type: Boolean, default: !0 },
50962
- showBack: { type: Boolean, default: !0 },
50963
- backTo: { default: void 0 },
50964
- backLabel: { default: "返回" }
50965
- },
50966
- setup(e) {
50967
- const t = e, n = px(), a = fx(), o = Eo(), l = ps(null), s = k(() => {
50968
- var D, z, K, U, G, te;
50969
- if ((D = t.items) != null && D.length)
50970
- return t.items.filter((ne) => ne.title);
50971
- const _ = v(n.path), O = v(
50972
- ((z = n.meta) == null ? void 0 : z.parent) || ((K = n.meta) == null ? void 0 : K.parentPath) || n.path
50973
- ), N = r(), A = (G = (U = l == null ? void 0 : l.currentEndRoute) == null ? void 0 : U.value) == null ? void 0 : G.paths, P = u(A || []);
50974
- let L = P.length ? P : p(N, O);
50975
- const W = v(
50976
- t.parentPath || ((te = n.meta) == null ? void 0 : te.parentPath) || ""
50977
- );
50978
- if (!L.length && W && (L = p(N, W)), !L.length) {
50979
- const ne = W || g(_, N);
50980
- L = ne ? p(N, ne) : [];
50981
- }
50982
- const j = L.map(c).filter((ne) => ne.title), H = j[j.length - 1], R = f();
50983
- return t.showCurrent && R && m(H == null ? void 0 : H.path) !== m(_) ? j.push({
50984
- title: R,
50985
- path: _,
50986
- disabled: !0
50987
- }) : R && H && m(H.path) === m(_) && (H.title = R, H.disabled = !0), !j.length && R && j.push({
50988
- title: R,
50989
- path: _,
50990
- disabled: !0
50991
- }), j;
50992
- }), r = () => {
50993
- const _ = [], O = /* @__PURE__ */ new Set();
50994
- return (o.value.menus || []).forEach((N) => {
50995
- var P;
50996
- const A = N.path || N.name || JSON.stringify(((P = N.meta) == null ? void 0 : P.translations) || {});
50997
- !A || O.has(A) || (O.add(A), _.push(N));
50998
- }), _;
50999
- }, u = (_) => _.filter((O) => {
51000
- var N;
51001
- return O && ((N = O.meta) == null ? void 0 : N.visible) !== "0";
51002
- }), c = (_) => {
51003
- var O;
51004
- return {
51005
- title: d(_),
51006
- path: _.path,
51007
- disabled: ((O = _.meta) == null ? void 0 : O.visible) === "0",
51008
- children: _.children
51009
- };
51010
- }, d = (_) => {
51011
- var N;
51012
- return ((N = _ == null ? void 0 : _.meta) != null && N.translations ? lf(Iu(_.meta.translations, "name", _.name)) : "") || (_ == null ? void 0 : _.title) || (_ == null ? void 0 : _.name) || "";
51013
- }, f = () => {
51014
- var _;
51015
- return t.currentTitle ? t.currentTitle : typeof ((_ = n.meta) == null ? void 0 : _.title) == "string" ? n.meta.title : String(n.params.id || n.params.tenantId || "");
51016
- }, p = (_, O, N = []) => {
51017
- if (!O) return [];
51018
- for (const A of _) {
51019
- const P = [...N, A];
51020
- if (h(A.path, O))
51021
- return u(P);
51022
- const L = p(A.children || [], O, P);
51023
- if (L.length) return L;
51024
- }
51025
- return [];
51026
- }, g = (_, O) => {
51027
- const N = _.split("/").filter(Boolean);
51028
- for (let A = N.length - 1; A > 0; A -= 1) {
51029
- const P = `/${N.slice(0, A).join("/")}`;
51030
- if (p(O, P).length) return P;
51031
- }
51032
- return "";
51033
- }, h = (_ = "", O = "") => {
51034
- const N = m(_), A = m(O);
51035
- if (!N || !A) return !1;
51036
- if (N === A) return !0;
51037
- const P = N.replace(/\/:(\w+)/g, "/([^/]+)");
51038
- return new RegExp(`^${P}$`, "i").test(A);
51039
- }, v = (_ = "") => _ ? _.split("?")[0].split("#")[0] : "", m = (_ = "") => (v(_).replace(/\/+$/, "") || "/").toLowerCase(), y = (_) => /^https?:\/\//.test(_.path || ""), b = (_) => {
51040
- var O;
51041
- return !!((O = _.children) != null && O.some((N) => !N.disabled));
51042
- }, C = (_, O) => _.disabled || O === s.value.length - 1 || !_.path ? !1 : y(_) || !b(_), w = (_) => {
51043
- const O = _.to || T(_);
51044
- O && a.push(O);
51045
- }, S = () => {
51046
- var O;
51047
- if (t.backTo) {
51048
- a.push(t.backTo);
51049
- return;
51050
- }
51051
- if ((O = a.options.history.state) != null && O.back && window.history.length > 1) {
51052
- a.back();
51053
- return;
51054
- }
51055
- const _ = E();
51056
- _ && a.push(_);
51057
- }, E = () => {
51058
- var N, A;
51059
- const _ = t.parentPath || ((N = n.meta) == null ? void 0 : N.parentPath) || ((A = n.meta) == null ? void 0 : A.parent) || "";
51060
- if (_)
51061
- return T({ path: _ });
51062
- const O = s.value[s.value.length - 2];
51063
- if (O != null && O.to) return O.to;
51064
- if (O != null && O.path && !y(O))
51065
- return T(O);
51066
- }, T = (_) => {
51067
- if (!_.path) return;
51068
- const O = t.preserveQueryKeys.reduce((N, A) => {
51069
- const P = n.query[A];
51070
- return typeof P == "string" && (N[A] = P), Array.isArray(P) && (N[A] = P.filter(
51071
- (L) => typeof L == "string"
51072
- )), N;
51073
- }, {});
51074
- return Object.keys(O).length ? { path: _.path, query: O } : { path: _.path };
51075
- };
51076
- return (_, O) => {
51077
- const N = mt("el-icon");
51078
- return t.showBack || s.value.length ? (x(), B("nav", Ule, [
51079
- t.showBack ? (x(), B("button", {
51080
- key: 0,
51081
- class: "layout-breadcrumb__back",
51082
- type: "button",
51083
- "aria-label": t.backLabel,
51084
- title: t.backLabel,
51085
- onClick: S
51086
- }, [
51087
- q(N, null, {
51088
- default: Z(() => [
51089
- q(i(Xo))
51090
- ]),
51091
- _: 1
51092
- })
51093
- ], 8, Yle)) : le("", !0),
51094
- s.value.length ? (x(), B("ol", qle, [
51095
- (x(!0), B(De, null, gt(s.value, (A, P) => (x(), B("li", {
51096
- key: `${A.path || A.title}-${P}`,
51097
- class: "flex min-w-0 items-center gap-1"
51098
- }, [
51099
- P > 0 ? (x(), ie(N, {
51100
- key: 0,
51101
- class: "layout-breadcrumb__separator"
51102
- }, {
51103
- default: Z(() => [
51104
- q(i(Wn))
51105
- ]),
51106
- _: 1
51107
- })) : le("", !0),
51108
- y(A) && C(A, P) ? (x(), B("a", {
51109
- key: 1,
51110
- class: "layout-breadcrumb__link",
51111
- href: A.path
51112
- }, Te(A.title), 9, Gle)) : C(A, P) ? (x(), B("button", {
51113
- key: 2,
51114
- class: "layout-breadcrumb__link",
51115
- type: "button",
51116
- onClick: (L) => w(A)
51117
- }, Te(A.title), 9, Xle)) : (x(), B("span", Jle, Te(A.title), 1))
51118
- ]))), 128))
51119
- ])) : le("", !0)
51120
- ])) : le("", !0);
51121
- };
51122
- }
51123
- }), Zle = /* @__PURE__ */ aa(Qle, [["__scopeId", "data-v-21c4b2fb"]]), ese = {
51124
- key: 0,
51125
- class: "min-w-0 flex-1"
51126
- }, tse = /* @__PURE__ */ ue({
51127
- __name: "AppSelectMobile",
51128
- setup(e) {
51129
- const { currentAppId: t } = ps(), { appList: n, getAppPath: a, findAppById: o } = Tx(), l = k(() => {
51130
- const r = o(t.value);
51131
- return r ? a(r) : "";
51132
- }), s = (r) => {
51133
- r && (location.href = r);
51134
- };
51135
- return (r, u) => {
51136
- var p;
51137
- const c = mt("el-option"), d = mt("el-option-group"), f = mt("el-select");
51138
- return (p = i(n)) != null && p.length ? (x(), B("div", ese, [
51139
- q(f, {
51140
- "model-value": l.value,
51141
- class: "w-full",
51142
- onChange: s
51143
- }, {
51144
- default: Z(() => [
51145
- (x(!0), B(De, null, gt(i(n), (g) => {
51146
- var h;
51147
- return x(), B(De, {
51148
- key: g.appId
51149
- }, [
51150
- (h = g.children) != null && h.length ? (x(), ie(d, {
51151
- key: 0,
51152
- label: g.name
51153
- }, {
51154
- default: Z(() => [
51155
- (x(!0), B(De, null, gt(g.children, (v) => (x(), ie(c, {
51156
- key: v.appId,
51157
- label: v.name,
51158
- value: i(a)(v),
51159
- style: { "padding-left": "30px" }
51160
- }, null, 8, ["label", "value"]))), 128))
51161
- ]),
51162
- _: 2
51163
- }, 1032, ["label"])) : (x(), ie(c, {
51164
- key: 1,
51165
- label: g.name,
51166
- value: i(a)(g)
51167
- }, null, 8, ["label", "value"]))
51168
- ], 64);
51169
- }), 128))
51170
- ]),
51171
- _: 1
51172
- }, 8, ["model-value"])
51173
- ])) : le("", !0);
51174
- };
51175
- }
51176
- }), nse = { class: "aside-user-mobile" }, ase = { class: "flex-1" }, ose = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, lse = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, sse = /* @__PURE__ */ ue({
51177
- __name: "AsideUserMobile",
51178
- setup(e) {
51179
- const t = Eo(), n = k(() => t.value.user || {}), a = k(() => !!(n.value.id || n.value.userId)), o = k(() => n.value.name || n.value.username), l = () => {
51180
- var s, r;
51181
- (r = (s = t.value).onLogin) != null && r.call(s) || lp(t.value);
51182
- };
51183
- return (s, r) => {
51184
- const u = mt("el-icon");
51185
- return a.value ? (x(), ie(tN, { key: 0 }, {
51186
- reference: Z(() => [
51187
- V("div", nse, [
51188
- r[0] || (r[0] = V("div", { class: "aside-user-mobile__icon text-lg" }, [
51189
- V("i", { class: "metisicon-yonghu1" })
51190
- ], -1)),
51191
- V("div", ase, Te(o.value), 1),
51192
- V("div", ose, [
51193
- q(u, null, {
51194
- default: Z(() => [
51195
- q(i(Wn))
51196
- ]),
51197
- _: 1
51198
- })
51199
- ])
51200
- ])
51201
- ]),
51202
- _: 1
51203
- })) : (x(), B("div", {
51204
- key: 1,
51205
- class: "aside-user-mobile",
51206
- onClick: l
51207
- }, [
51208
- r[1] || (r[1] = V("div", { class: "aside-user-mobile__icon text-lg" }, [
51209
- V("i", { class: "metisicon-yonghu1" })
51210
- ], -1)),
51211
- r[2] || (r[2] = V("div", { class: "flex-1" }, "登录/注册", -1)),
51212
- V("div", lse, [
51213
- q(u, null, {
51214
- default: Z(() => [
51215
- q(i(Wn))
51216
- ]),
51217
- _: 1
51218
- })
51219
- ])
51220
- ]));
51221
- };
51222
- }
51223
- }), rse = /* @__PURE__ */ aa(sse, [["__scopeId", "data-v-c56964a5"]]), ise = { class: "aside-bar-mobile__head flex items-center gap-3" }, use = { class: "p-3" }, cse = /* @__PURE__ */ ue({
51224
- __name: "AsideBarMobile",
51225
- setup(e) {
51226
- const { menus: t, sideOpen: n } = ps(), a = () => void (n.value = !1);
51227
- return (o, l) => {
51228
- const s = mt("el-icon"), r = mt("el-scrollbar");
51229
- return i(t).length && !o.$route.meta.hideSidebar ? (x(), B("div", {
51230
- key: 0,
51231
- class: I(["aside-bar-mobile fixed inset-y-0 left-0 z-200 flex min-h-0 flex-col transition-transform", [i(n) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
51232
- }, [
51233
- V("div", ise, [
51234
- V("button", {
51235
- type: "button",
51236
- class: "aside-bar-mobile__close",
51237
- "aria-label": "Close menu",
51238
- onClick: a
51239
- }, [
51240
- q(s, null, {
51241
- default: Z(() => [
51242
- q(i(PE))
51243
- ]),
51244
- _: 1
51245
- })
51246
- ]),
51247
- q(tse)
51248
- ]),
51249
- q(r, { ref: "leftScrollRef" }, {
51250
- default: Z(() => [
51251
- V("div", use, [
51252
- q(Ex, { menus: i(t) }, null, 8, ["menus"])
51253
- ])
51254
- ]),
51255
- _: 1
51256
- }, 512),
51257
- se(o.$slots, "sidebar-foot", {}, void 0, !0),
51258
- q(rse)
51259
- ], 2)) : le("", !0);
51260
- };
51261
- }
51262
- }), dse = /* @__PURE__ */ aa(cse, [["__scopeId", "data-v-ffd10c8b"]]), fse = { class: "user-info__panel" }, pse = { class: "user-info__profile" }, hse = { class: "user-info__profile-main" }, vse = ["title"], mse = ["title"], gse = { class: "user-info__meta" }, yse = { class: "user-info__meta-label" }, bse = ["title"], wse = ["href"], Cse = /* @__PURE__ */ ue({
50944
+ }), lC = /* @__PURE__ */ aa(jle, [["__scopeId", "data-v-50be58a7"]]), Ule = { class: "user-info__panel" }, Yle = { class: "user-info__profile" }, qle = { class: "user-info__profile-main" }, Gle = ["title"], Xle = ["title"], Jle = { class: "user-info__meta" }, Qle = { class: "user-info__meta-label" }, Zle = ["title"], ese = ["href"], tse = /* @__PURE__ */ ue({
51263
50945
  __name: "UserInfo",
51264
50946
  setup(e) {
51265
50947
  const { t } = hc.global, n = Eo(), a = k(() => n.value.user || {}), o = k(() => n.value.accountMenu || []), l = k(
@@ -51299,35 +50981,35 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51299
50981
  default: Z(() => {
51300
50982
  var f;
51301
50983
  return [
51302
- V("div", fse, [
51303
- V("div", pse, [
50984
+ V("div", Ule, [
50985
+ V("div", Yle, [
51304
50986
  q(i(lC), {
51305
50987
  class: "user-info__profile-avatar",
51306
50988
  src: a.value.avatar,
51307
50989
  name: l.value
51308
50990
  }, null, 8, ["src", "name"]),
51309
- V("div", hse, [
50991
+ V("div", qle, [
51310
50992
  V("div", {
51311
50993
  class: "user-info__display-name",
51312
50994
  title: l.value
51313
- }, Te(l.value), 9, vse),
50995
+ }, Te(l.value), 9, Gle),
51314
50996
  (f = a.value) != null && f.username ? (x(), B("div", {
51315
50997
  key: 0,
51316
50998
  class: "user-info__username",
51317
50999
  title: a.value.username
51318
- }, " @" + Te(a.value.username), 9, mse)) : le("", !0)
51000
+ }, " @" + Te(a.value.username), 9, Xle)) : le("", !0)
51319
51001
  ])
51320
51002
  ]),
51321
- V("div", gse, [
51003
+ V("div", Jle, [
51322
51004
  (x(!0), B(De, null, gt(s.value, (p) => (x(), B("div", {
51323
51005
  key: p.label,
51324
51006
  class: "user-info__meta-row"
51325
51007
  }, [
51326
- V("span", yse, Te(p.label), 1),
51008
+ V("span", Qle, Te(p.label), 1),
51327
51009
  V("span", {
51328
51010
  class: "user-info__meta-value",
51329
51011
  title: p.value
51330
- }, Te(p.value), 9, bse)
51012
+ }, Te(p.value), 9, Zle)
51331
51013
  ]))), 128))
51332
51014
  ]),
51333
51015
  c[1] || (c[1] = V("div", { class: "user-info__divider" }, null, -1)),
@@ -51342,7 +51024,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51342
51024
  icon: p.icon || ((h = p.meta) == null ? void 0 : h.icon)
51343
51025
  }, null, 8, ["icon"]),
51344
51026
  V("span", null, Te(i(Iu)(((v = p.meta) == null ? void 0 : v.translations) || {}, "name", p.name)), 1)
51345
- ], 8, wse);
51027
+ ], 8, ese);
51346
51028
  }), 128)),
51347
51029
  c[2] || (c[2] = V("div", { class: "user-info__divider" }, null, -1)),
51348
51030
  V("div", {
@@ -51359,7 +51041,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51359
51041
  });
51360
51042
  };
51361
51043
  }
51362
- }), Sse = /* @__PURE__ */ aa(Cse, [["__scopeId", "data-v-ac052463"]]), kse = { class: "header-right" }, Ese = ["href"], Tse = /* @__PURE__ */ ue({
51044
+ }), nse = /* @__PURE__ */ aa(tse, [["__scopeId", "data-v-ac052463"]]), ase = { class: "header-right" }, ose = ["href"], lse = /* @__PURE__ */ ue({
51363
51045
  __name: "SHeaderRight",
51364
51046
  setup(e) {
51365
51047
  const { t } = hc.global, n = Eo(), a = k(() => n.value.hideDoc ?? !1), o = k(() => Sx(n.value)), l = k(() => n.value.user), s = k(() => {
@@ -51370,7 +51052,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51370
51052
  }, u = k(() => n.value.docsPath || "");
51371
51053
  return (c, d) => {
51372
51054
  const f = mt("el-icon");
51373
- return x(), B("div", kse, [
51055
+ return x(), B("div", ase, [
51374
51056
  !a.value && u.value ? (x(), ie(Pu, {
51375
51057
  key: 0,
51376
51058
  tag: "a",
@@ -51406,60 +51088,199 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51406
51088
  }, 8, ["href"])) : le("", !0),
51407
51089
  q(eN),
51408
51090
  q(xx),
51409
- s.value ? (x(), ie(Sse, { key: 1 })) : (x(), B("a", {
51091
+ s.value ? (x(), ie(nse, { key: 1 })) : (x(), B("a", {
51410
51092
  key: 2,
51411
51093
  class: "header-right__login",
51412
51094
  href: o.value,
51413
51095
  onClick: r
51414
- }, Te(i(t)("common.btn.login")), 9, Ese))
51096
+ }, Te(i(t)("common.btn.login")), 9, ose))
51415
51097
  ]);
51416
51098
  };
51417
51099
  }
51418
- }), _se = /* @__PURE__ */ aa(Tse, [["__scopeId", "data-v-3c5e16a6"]]), xse = {
51419
- "header-bar": "",
51420
- class: "header-bar sticky top-0 z-200"
51421
- }, Nse = { class: "header-bar__left" }, Ose = { class: "header-bar__logo-wrap" }, Ise = {
51422
- href: "/",
51423
- target: "_self",
51424
- rel: "noopener",
51425
- class: "header-bar__logo-link"
51426
- }, Ase = {
51427
- key: 1,
51428
- class: "header-bar__divider"
51429
- }, Pse = { class: "header-bar__right" }, Rse = /* @__PURE__ */ ue({
51430
- __name: "HeaderBar",
51100
+ }), sse = /* @__PURE__ */ aa(lse, [["__scopeId", "data-v-3c5e16a6"]]), rse = {
51101
+ "header-bar": "",
51102
+ class: "header-bar sticky top-0 z-200"
51103
+ }, ise = { class: "header-bar__left" }, use = { class: "header-bar__logo-wrap" }, cse = {
51104
+ href: "/",
51105
+ target: "_self",
51106
+ rel: "noopener",
51107
+ class: "header-bar__logo-link"
51108
+ }, dse = {
51109
+ key: 1,
51110
+ class: "header-bar__divider"
51111
+ }, fse = { class: "header-bar__right" }, pse = /* @__PURE__ */ ue({
51112
+ __name: "HeaderBar",
51113
+ setup(e) {
51114
+ const t = Eo(), { isMobile: n } = ps(), a = k(
51115
+ () => {
51116
+ var o, l;
51117
+ return !!((o = t.value.user) != null && o.id || (l = t.value.user) != null && l.userId);
51118
+ }
51119
+ );
51120
+ return (o, l) => {
51121
+ const s = mt("el-image");
51122
+ return x(), B("div", rse, [
51123
+ V("div", ise, [
51124
+ i(n) ? (x(), ie(Kle, { key: 0 })) : le("", !0),
51125
+ V("div", use, [
51126
+ V("a", cse, [
51127
+ q(s, {
51128
+ src: i(t).logo,
51129
+ class: "h-7"
51130
+ }, null, 8, ["src"])
51131
+ ])
51132
+ ]),
51133
+ a.value && !i(n) ? (x(), B("div", dse)) : le("", !0),
51134
+ a.value && !i(n) ? (x(), ie(cae, { key: 2 })) : le("", !0)
51135
+ ]),
51136
+ V("div", fse, [
51137
+ se(o.$slots, "default", {}, void 0, !0),
51138
+ i(n) ? le("", !0) : (x(), ie(sse, { key: 0 })),
51139
+ i(n) ? (x(), ie(Fle, { key: 1 })) : le("", !0)
51140
+ ])
51141
+ ]);
51142
+ };
51143
+ }
51144
+ }), hse = /* @__PURE__ */ aa(pse, [["__scopeId", "data-v-9ee7aec2"]]), vse = {
51145
+ key: 0,
51146
+ class: "min-w-0 flex-1"
51147
+ }, mse = /* @__PURE__ */ ue({
51148
+ __name: "AppSelectMobile",
51149
+ setup(e) {
51150
+ const { currentAppId: t } = ps(), { appList: n, getAppPath: a, findAppById: o } = Tx(), l = k(() => {
51151
+ const r = o(t.value);
51152
+ return r ? a(r) : "";
51153
+ }), s = (r) => {
51154
+ r && (location.href = r);
51155
+ };
51156
+ return (r, u) => {
51157
+ var p;
51158
+ const c = mt("el-option"), d = mt("el-option-group"), f = mt("el-select");
51159
+ return (p = i(n)) != null && p.length ? (x(), B("div", vse, [
51160
+ q(f, {
51161
+ "model-value": l.value,
51162
+ class: "w-full",
51163
+ onChange: s
51164
+ }, {
51165
+ default: Z(() => [
51166
+ (x(!0), B(De, null, gt(i(n), (g) => {
51167
+ var h;
51168
+ return x(), B(De, {
51169
+ key: g.appId
51170
+ }, [
51171
+ (h = g.children) != null && h.length ? (x(), ie(d, {
51172
+ key: 0,
51173
+ label: g.name
51174
+ }, {
51175
+ default: Z(() => [
51176
+ (x(!0), B(De, null, gt(g.children, (v) => (x(), ie(c, {
51177
+ key: v.appId,
51178
+ label: v.name,
51179
+ value: i(a)(v),
51180
+ style: { "padding-left": "30px" }
51181
+ }, null, 8, ["label", "value"]))), 128))
51182
+ ]),
51183
+ _: 2
51184
+ }, 1032, ["label"])) : (x(), ie(c, {
51185
+ key: 1,
51186
+ label: g.name,
51187
+ value: i(a)(g)
51188
+ }, null, 8, ["label", "value"]))
51189
+ ], 64);
51190
+ }), 128))
51191
+ ]),
51192
+ _: 1
51193
+ }, 8, ["model-value"])
51194
+ ])) : le("", !0);
51195
+ };
51196
+ }
51197
+ }), gse = { class: "aside-user-mobile" }, yse = { class: "flex-1" }, bse = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, wse = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Cse = /* @__PURE__ */ ue({
51198
+ __name: "AsideUserMobile",
51199
+ setup(e) {
51200
+ const t = Eo(), n = k(() => t.value.user || {}), a = k(() => !!(n.value.id || n.value.userId)), o = k(() => n.value.name || n.value.username), l = () => {
51201
+ var s, r;
51202
+ (r = (s = t.value).onLogin) != null && r.call(s) || lp(t.value);
51203
+ };
51204
+ return (s, r) => {
51205
+ const u = mt("el-icon");
51206
+ return a.value ? (x(), ie(tN, { key: 0 }, {
51207
+ reference: Z(() => [
51208
+ V("div", gse, [
51209
+ r[0] || (r[0] = V("div", { class: "aside-user-mobile__icon text-lg" }, [
51210
+ V("i", { class: "metisicon-yonghu1" })
51211
+ ], -1)),
51212
+ V("div", yse, Te(o.value), 1),
51213
+ V("div", bse, [
51214
+ q(u, null, {
51215
+ default: Z(() => [
51216
+ q(i(Wn))
51217
+ ]),
51218
+ _: 1
51219
+ })
51220
+ ])
51221
+ ])
51222
+ ]),
51223
+ _: 1
51224
+ })) : (x(), B("div", {
51225
+ key: 1,
51226
+ class: "aside-user-mobile",
51227
+ onClick: l
51228
+ }, [
51229
+ r[1] || (r[1] = V("div", { class: "aside-user-mobile__icon text-lg" }, [
51230
+ V("i", { class: "metisicon-yonghu1" })
51231
+ ], -1)),
51232
+ r[2] || (r[2] = V("div", { class: "flex-1" }, "登录/注册", -1)),
51233
+ V("div", wse, [
51234
+ q(u, null, {
51235
+ default: Z(() => [
51236
+ q(i(Wn))
51237
+ ]),
51238
+ _: 1
51239
+ })
51240
+ ])
51241
+ ]));
51242
+ };
51243
+ }
51244
+ }), Sse = /* @__PURE__ */ aa(Cse, [["__scopeId", "data-v-c56964a5"]]), kse = { class: "aside-bar-mobile__head flex items-center gap-3" }, Ese = { class: "p-3" }, Tse = /* @__PURE__ */ ue({
51245
+ __name: "AsideBarMobile",
51431
51246
  setup(e) {
51432
- const t = Eo(), { isMobile: n } = ps(), a = k(
51433
- () => {
51434
- var o, l;
51435
- return !!((o = t.value.user) != null && o.id || (l = t.value.user) != null && l.userId);
51436
- }
51437
- );
51247
+ const { menus: t, sideOpen: n } = ps(), a = () => void (n.value = !1);
51438
51248
  return (o, l) => {
51439
- const s = mt("el-image");
51440
- return x(), B("div", xse, [
51441
- V("div", Nse, [
51442
- i(n) ? (x(), ie(Kle, { key: 0 })) : le("", !0),
51443
- V("div", Ose, [
51444
- V("a", Ise, [
51445
- q(s, {
51446
- src: i(t).logo,
51447
- class: "h-7"
51448
- }, null, 8, ["src"])
51449
- ])
51249
+ const s = mt("el-icon"), r = mt("el-scrollbar");
51250
+ return i(t).length && !o.$route.meta.hideSidebar ? (x(), B("div", {
51251
+ key: 0,
51252
+ class: I(["aside-bar-mobile fixed inset-y-0 left-0 z-200 flex min-h-0 flex-col transition-transform", [i(n) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
51253
+ }, [
51254
+ V("div", kse, [
51255
+ V("button", {
51256
+ type: "button",
51257
+ class: "aside-bar-mobile__close",
51258
+ "aria-label": "Close menu",
51259
+ onClick: a
51260
+ }, [
51261
+ q(s, null, {
51262
+ default: Z(() => [
51263
+ q(i(PE))
51264
+ ]),
51265
+ _: 1
51266
+ })
51450
51267
  ]),
51451
- a.value && !i(n) ? (x(), B("div", Ase)) : le("", !0),
51452
- a.value && !i(n) ? (x(), ie(cae, { key: 2 })) : le("", !0)
51268
+ q(mse)
51453
51269
  ]),
51454
- V("div", Pse, [
51455
- se(o.$slots, "default", {}, void 0, !0),
51456
- i(n) ? le("", !0) : (x(), ie(_se, { key: 0 })),
51457
- i(n) ? (x(), ie(Fle, { key: 1 })) : le("", !0)
51458
- ])
51459
- ]);
51270
+ q(r, { ref: "leftScrollRef" }, {
51271
+ default: Z(() => [
51272
+ V("div", Ese, [
51273
+ q(Ex, { menus: i(t) }, null, 8, ["menus"])
51274
+ ])
51275
+ ]),
51276
+ _: 1
51277
+ }, 512),
51278
+ se(o.$slots, "sidebar-foot", {}, void 0, !0),
51279
+ q(Sse)
51280
+ ], 2)) : le("", !0);
51460
51281
  };
51461
51282
  }
51462
- }), Mse = /* @__PURE__ */ aa(Rse, [["__scopeId", "data-v-9ee7aec2"]]), $se = "data:image/png;base64,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", Lse = { class: "layout-shell w-full flex flex-col" }, Dse = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Bse = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, Fse = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, Vse = /* @__PURE__ */ ue({
51283
+ }), _se = /* @__PURE__ */ aa(Tse, [["__scopeId", "data-v-ffd10c8b"]]), xse = "data:image/png;base64,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", Nse = { class: "layout-shell w-full flex flex-col" }, Ose = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Ise = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, Ase = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, Pse = /* @__PURE__ */ ue({
51463
51284
  __name: "BaseLayout",
51464
51285
  props: {
51465
51286
  setting: {}
@@ -51469,7 +51290,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51469
51290
  var f, p, g, h, v, m, y;
51470
51291
  return {
51471
51292
  ...t.setting || {},
51472
- logo: ((f = t.setting) == null ? void 0 : f.logo) || $se,
51293
+ logo: ((f = t.setting) == null ? void 0 : f.logo) || xse,
51473
51294
  menus: ((p = t.setting) == null ? void 0 : p.menus) || [],
51474
51295
  accountMenu: ((g = t.setting) == null ? void 0 : g.accountMenu) || [],
51475
51296
  user: ((h = t.setting) == null ? void 0 : h.user) ?? null,
@@ -51513,17 +51334,17 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51513
51334
  window.removeEventListener("keydown", d), typeof document < "u" && s && (document.body.style.overflow = l);
51514
51335
  }), (f, p) => {
51515
51336
  const g = mt("router-view");
51516
- return x(), B("div", Lse, [
51517
- q(Mse, null, {
51337
+ return x(), B("div", Nse, [
51338
+ q(hse, null, {
51518
51339
  default: Z(() => [
51519
51340
  se(f.$slots, "header-right", {}, void 0, !0)
51520
51341
  ]),
51521
51342
  _: 3
51522
51343
  }),
51523
- V("div", Dse, [
51524
- i(a) ? (x(), ie(dse, { key: 1 })) : (x(), ie(nae, { key: 0 })),
51525
- V("main", Bse, [
51526
- V("div", Fse, [
51344
+ V("div", Ose, [
51345
+ i(a) ? (x(), ie(_se, { key: 1 })) : (x(), ie(nae, { key: 0 })),
51346
+ V("main", Ise, [
51347
+ V("div", Ase, [
51527
51348
  q(g, null, {
51528
51349
  default: Z(({ Component: h, route: v }) => [
51529
51350
  q(Vn, {
@@ -51559,7 +51380,186 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51559
51380
  ]);
51560
51381
  };
51561
51382
  }
51562
- }), Hse = /* @__PURE__ */ aa(Vse, [["__scopeId", "data-v-bcf098e8"]]), sC = "mamba-layout", zse = (e) => ({
51383
+ }), Rse = /* @__PURE__ */ aa(Pse, [["__scopeId", "data-v-bcf098e8"]]), Mse = {
51384
+ key: 0,
51385
+ class: "layout-breadcrumb text-xs",
51386
+ "aria-label": "Breadcrumb"
51387
+ }, $se = ["aria-label", "title"], Lse = {
51388
+ key: 1,
51389
+ class: "flex min-w-0 items-center gap-1"
51390
+ }, Dse = ["href"], Bse = ["onClick"], Fse = {
51391
+ key: 3,
51392
+ class: "layout-breadcrumb__current"
51393
+ }, Vse = /* @__PURE__ */ ue({
51394
+ __name: "LayoutBreadcrumb",
51395
+ props: {
51396
+ items: { default: void 0 },
51397
+ currentTitle: { default: "" },
51398
+ parentPath: { default: "" },
51399
+ preserveQueryKeys: { default: () => [] },
51400
+ showCurrent: { type: Boolean, default: !0 },
51401
+ showBack: { type: Boolean, default: !0 },
51402
+ backTo: { default: void 0 },
51403
+ backLabel: { default: "返回" }
51404
+ },
51405
+ setup(e) {
51406
+ const t = e, n = px(), a = fx(), o = Eo(), l = ps(null), s = k(() => {
51407
+ var D, z, K, U, G, te;
51408
+ if ((D = t.items) != null && D.length)
51409
+ return t.items.filter((ne) => ne.title);
51410
+ const _ = v(n.path), O = v(
51411
+ ((z = n.meta) == null ? void 0 : z.parent) || ((K = n.meta) == null ? void 0 : K.parentPath) || n.path
51412
+ ), N = r(), A = (G = (U = l == null ? void 0 : l.currentEndRoute) == null ? void 0 : U.value) == null ? void 0 : G.paths, P = u(A || []);
51413
+ let L = P.length ? P : p(N, O);
51414
+ const W = v(
51415
+ t.parentPath || ((te = n.meta) == null ? void 0 : te.parentPath) || ""
51416
+ );
51417
+ if (!L.length && W && (L = p(N, W)), !L.length) {
51418
+ const ne = W || g(_, N);
51419
+ L = ne ? p(N, ne) : [];
51420
+ }
51421
+ const j = L.map(c).filter((ne) => ne.title), H = j[j.length - 1], R = f();
51422
+ return t.showCurrent && R && m(H == null ? void 0 : H.path) !== m(_) ? j.push({
51423
+ title: R,
51424
+ path: _,
51425
+ disabled: !0
51426
+ }) : R && H && m(H.path) === m(_) && (H.title = R, H.disabled = !0), !j.length && R && j.push({
51427
+ title: R,
51428
+ path: _,
51429
+ disabled: !0
51430
+ }), j;
51431
+ }), r = () => {
51432
+ const _ = [], O = /* @__PURE__ */ new Set();
51433
+ return (o.value.menus || []).forEach((N) => {
51434
+ var P;
51435
+ const A = N.path || N.name || JSON.stringify(((P = N.meta) == null ? void 0 : P.translations) || {});
51436
+ !A || O.has(A) || (O.add(A), _.push(N));
51437
+ }), _;
51438
+ }, u = (_) => _.filter((O) => {
51439
+ var N;
51440
+ return O && ((N = O.meta) == null ? void 0 : N.visible) !== "0";
51441
+ }), c = (_) => {
51442
+ var O;
51443
+ return {
51444
+ title: d(_),
51445
+ path: _.path,
51446
+ disabled: ((O = _.meta) == null ? void 0 : O.visible) === "0",
51447
+ children: _.children
51448
+ };
51449
+ }, d = (_) => {
51450
+ var N;
51451
+ return ((N = _ == null ? void 0 : _.meta) != null && N.translations ? lf(Iu(_.meta.translations, "name", _.name)) : "") || (_ == null ? void 0 : _.title) || (_ == null ? void 0 : _.name) || "";
51452
+ }, f = () => {
51453
+ var _;
51454
+ return t.currentTitle ? t.currentTitle : typeof ((_ = n.meta) == null ? void 0 : _.title) == "string" ? n.meta.title : String(n.params.id || n.params.tenantId || "");
51455
+ }, p = (_, O, N = []) => {
51456
+ if (!O) return [];
51457
+ for (const A of _) {
51458
+ const P = [...N, A];
51459
+ if (h(A.path, O))
51460
+ return u(P);
51461
+ const L = p(A.children || [], O, P);
51462
+ if (L.length) return L;
51463
+ }
51464
+ return [];
51465
+ }, g = (_, O) => {
51466
+ const N = _.split("/").filter(Boolean);
51467
+ for (let A = N.length - 1; A > 0; A -= 1) {
51468
+ const P = `/${N.slice(0, A).join("/")}`;
51469
+ if (p(O, P).length) return P;
51470
+ }
51471
+ return "";
51472
+ }, h = (_ = "", O = "") => {
51473
+ const N = m(_), A = m(O);
51474
+ if (!N || !A) return !1;
51475
+ if (N === A) return !0;
51476
+ const P = N.replace(/\/:(\w+)/g, "/([^/]+)");
51477
+ return new RegExp(`^${P}$`, "i").test(A);
51478
+ }, v = (_ = "") => _ ? _.split("?")[0].split("#")[0] : "", m = (_ = "") => (v(_).replace(/\/+$/, "") || "/").toLowerCase(), y = (_) => /^https?:\/\//.test(_.path || ""), b = (_) => {
51479
+ var O;
51480
+ return !!((O = _.children) != null && O.some((N) => !N.disabled));
51481
+ }, C = (_, O) => _.disabled || O === s.value.length - 1 || !_.path ? !1 : y(_) || !b(_), w = (_) => {
51482
+ const O = _.to || T(_);
51483
+ O && a.push(O);
51484
+ }, S = () => {
51485
+ var O;
51486
+ if (t.backTo) {
51487
+ a.push(t.backTo);
51488
+ return;
51489
+ }
51490
+ if ((O = a.options.history.state) != null && O.back && window.history.length > 1) {
51491
+ a.back();
51492
+ return;
51493
+ }
51494
+ const _ = E();
51495
+ _ && a.push(_);
51496
+ }, E = () => {
51497
+ var N, A;
51498
+ const _ = t.parentPath || ((N = n.meta) == null ? void 0 : N.parentPath) || ((A = n.meta) == null ? void 0 : A.parent) || "";
51499
+ if (_)
51500
+ return T({ path: _ });
51501
+ const O = s.value[s.value.length - 2];
51502
+ if (O != null && O.to) return O.to;
51503
+ if (O != null && O.path && !y(O))
51504
+ return T(O);
51505
+ }, T = (_) => {
51506
+ if (!_.path) return;
51507
+ const O = t.preserveQueryKeys.reduce((N, A) => {
51508
+ const P = n.query[A];
51509
+ return typeof P == "string" && (N[A] = P), Array.isArray(P) && (N[A] = P.filter(
51510
+ (L) => typeof L == "string"
51511
+ )), N;
51512
+ }, {});
51513
+ return Object.keys(O).length ? { path: _.path, query: O } : { path: _.path };
51514
+ };
51515
+ return (_, O) => {
51516
+ const N = mt("el-icon");
51517
+ return t.showBack || s.value.length ? (x(), B("nav", Mse, [
51518
+ t.showBack ? (x(), B("button", {
51519
+ key: 0,
51520
+ class: "layout-breadcrumb__back",
51521
+ type: "button",
51522
+ "aria-label": t.backLabel,
51523
+ title: t.backLabel,
51524
+ onClick: S
51525
+ }, [
51526
+ q(N, null, {
51527
+ default: Z(() => [
51528
+ q(i(Xo))
51529
+ ]),
51530
+ _: 1
51531
+ })
51532
+ ], 8, $se)) : le("", !0),
51533
+ s.value.length ? (x(), B("ol", Lse, [
51534
+ (x(!0), B(De, null, gt(s.value, (A, P) => (x(), B("li", {
51535
+ key: `${A.path || A.title}-${P}`,
51536
+ class: "flex min-w-0 items-center gap-1"
51537
+ }, [
51538
+ P > 0 ? (x(), ie(N, {
51539
+ key: 0,
51540
+ class: "layout-breadcrumb__separator"
51541
+ }, {
51542
+ default: Z(() => [
51543
+ q(i(Wn))
51544
+ ]),
51545
+ _: 1
51546
+ })) : le("", !0),
51547
+ y(A) && C(A, P) ? (x(), B("a", {
51548
+ key: 1,
51549
+ class: "layout-breadcrumb__link",
51550
+ href: A.path
51551
+ }, Te(A.title), 9, Dse)) : C(A, P) ? (x(), B("button", {
51552
+ key: 2,
51553
+ class: "layout-breadcrumb__link",
51554
+ type: "button",
51555
+ onClick: (L) => w(A)
51556
+ }, Te(A.title), 9, Bse)) : (x(), B("span", Fse, Te(A.title), 1))
51557
+ ]))), 128))
51558
+ ])) : le("", !0)
51559
+ ])) : le("", !0);
51560
+ };
51561
+ }
51562
+ }), Hse = /* @__PURE__ */ aa(Vse, [["__scopeId", "data-v-21c4b2fb"]]), sC = "mamba-layout", zse = (e) => ({
51563
51563
  "zh-CN": { name: e },
51564
51564
  "en-US": { name: e }
51565
51565
  }), Kse = (e, t, n = "metisicon-yingyong") => ({
@@ -51625,7 +51625,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51625
51625
  name: `${e.title.replace(/\W/g, "") || "Standalone"}Page`,
51626
51626
  setup() {
51627
51627
  return () => We("main", { class: "p-6" }, [
51628
- We(Zle, { showBack: !1 }),
51628
+ We(Hse, { showBack: !1 }),
51629
51629
  We(
51630
51630
  "section",
51631
51631
  {
@@ -51670,7 +51670,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {
51670
51670
  }), l = LS(/* @__PURE__ */ ue({
51671
51671
  name: "StandaloneLayoutRoot",
51672
51672
  setup() {
51673
- return () => We(Hse, { setting: t });
51673
+ return () => We(Rse, { setting: t });
51674
51674
  }
51675
51675
  }));
51676
51676
  return ry(e.theme || t.theme), l.use(a), l.use(hc), l.use(vte), l;