mamba-layout 0.1.0 → 0.3.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/components/UserAvatar/src/UserAvatar.vue2.js +4 -4
- package/dist/layout/BaseLayout.css +1 -1
- package/dist/layout/BaseLayout.vue.js +2 -2
- package/dist/layout/BaseLayout.vue2.js +81 -45
- package/dist/layout/components/AppSelect.vue2.js +10 -10
- package/dist/layout/components/AsideBar.vue2.js +9 -9
- package/dist/layout/components/AsideSubMenuItem.vue.js +5 -5
- package/dist/layout/components/AsideSubMenus.vue.js +4 -4
- package/dist/layout/components/AsideTabMenus.vue.js +4 -4
- package/dist/layout/components/AsideUser.vue.js +1 -1
- package/dist/layout/components/HeaderBar.vue2.js +1 -1
- package/dist/layout/components/HeaderMenuToggle.vue.js +1 -1
- package/dist/layout/components/LanguageSelect.vue2.js +32 -33
- package/dist/layout/components/LayoutBreadcrumb.css +1 -1
- package/dist/layout/components/LayoutBreadcrumb.vue.d.ts +1 -1
- package/dist/layout/components/LayoutBreadcrumb.vue2.js +1 -1
- package/dist/layout/components/MenuDrawer.vue.js +1 -1
- package/dist/layout/components/MenuItemIcon.vue2.js +4 -4
- package/dist/layout/components/NavIconBtn.vue2.js +8 -8
- package/dist/layout/components/SHeaderRight.css +1 -1
- package/dist/layout/components/SHeaderRight.vue.js +2 -2
- package/dist/layout/components/SHeaderRight.vue2.js +37 -49
- package/dist/layout/components/ThemeToggle.vue2.js +3 -3
- package/dist/layout/components/TimezoneSelect.vue2.js +29 -29
- package/dist/layout/components/UserInfo.vue.js +2 -2
- package/dist/layout/components/UserInfo.vue2.js +1 -1
- package/dist/layout/components/UserInfo2.css +1 -1
- package/dist/layout/components/mobile/AppSelectMobile.vue.js +19 -19
- package/dist/layout/components/mobile/AsideBarMobile.css +1 -1
- package/dist/layout/components/mobile/AsideBarMobile.vue.js +3 -3
- package/dist/layout/components/mobile/AsideBarMobile.vue2.js +25 -23
- package/dist/layout/components/mobile/AsideUserMobile.vue2.js +3 -3
- package/dist/layout/components/mobile/AsideUserMobilePopover.vue2.js +2 -2
- package/dist/layout/components/mobile/HeaderRightMobile.css +1 -1
- package/dist/layout/components/mobile/HeaderRightMobile.vue.js +1 -1
- package/dist/layout/components/mobile/HeaderRightMobile.vue2.js +21 -25
- package/dist/layout/components/mobile/MobileMenuToggle.css +1 -1
- package/dist/layout/components/mobile/MobileMenuToggle.vue.js +1 -1
- package/dist/layout/components/mobile/MobileMenuToggle.vue2.js +15 -13
- package/dist/layout/hooks/useSetting.d.ts +1 -2
- package/dist/layout/hooks/useState.d.ts +98 -514
- package/dist/layout/hooks/useState.js +56 -55
- package/dist/layout.css +1 -1
- package/dist/layout.es.js +43244 -45315
- package/dist/layout.global.js +84 -54
- package/dist/utils/repoUtils.js +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.header-right[data-v-
|
|
1
|
+
.header-right[data-v-3c5e16a6]{display:flex;align-items:center;gap:8px;font-size:13px;--nav-icon-btn-size: 30px}.header-right__login[data-v-3c5e16a6]{height:30px;line-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border-radius:var(--ui-radius-control);color:var(--ui-topnav-foreground);background:linear-gradient(135deg,var(--el-color-primary) 0%,var(--ui-topnav-accent) 100%);box-shadow:0 8px 18px rgba(var(--el-color-primary-rgb),.24);transition:background var(--ui-transition-fast),color var(--ui-transition-fast),border-color var(--ui-transition-fast)}.header-right__login[data-v-3c5e16a6]:hover{filter:brightness(1.05)}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./SHeaderRight.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-3c5e16a6"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
m as default
|
|
7
7
|
};
|
|
@@ -1,45 +1,34 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import { useSetting as
|
|
4
|
-
import { getLayoutLoginPath as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
const
|
|
1
|
+
import { defineComponent as _, computed as n, resolveComponent as k, openBlock as a, createElementBlock as c, createBlock as u, withCtx as d, createVNode as r, createElementVNode as l, createCommentVNode as w, toDisplayString as C, unref as L } from "vue";
|
|
2
|
+
import b from "../../locales/index.js";
|
|
3
|
+
import { useSetting as x } from "../hooks/useSetting.js";
|
|
4
|
+
import { getLayoutLoginPath as y } from "../utils/index.js";
|
|
5
|
+
import B from "./LanguageSelect.vue.js";
|
|
6
|
+
import D from "./NavIconBtn.vue.js";
|
|
7
|
+
import N from "./ThemeToggle.vue.js";
|
|
8
|
+
import P from "./UserInfo.vue.js";
|
|
9
|
+
const S = { class: "header-right" }, V = ["href"], q = /* @__PURE__ */ _({
|
|
10
10
|
__name: "SHeaderRight",
|
|
11
|
-
setup(
|
|
12
|
-
const { t:
|
|
13
|
-
var
|
|
14
|
-
return !!((
|
|
15
|
-
}),
|
|
16
|
-
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"03aafe62a76e21c9bb6e6224a62414b3",
|
|
23
|
-
"5c3dcb05be31bea98922705eb8fdad1f",
|
|
24
|
-
"69762cb59e9d97da2c970b7d4d4816bf",
|
|
25
|
-
"70c03df02f4d4888adea4e86dbc630fd"
|
|
26
|
-
];
|
|
27
|
-
return (u = (d = r.value) == null ? void 0 : d.roles) != null && u.some((w) => l.includes(w)) ? e = o.value.docOperatorPath || "" : e = o.value.docUserPath || "", t + e;
|
|
28
|
-
});
|
|
29
|
-
return (t, e) => {
|
|
30
|
-
const l = L("el-icon");
|
|
31
|
-
return n(), h("div", E, [
|
|
32
|
-
g.value ? P("", !0) : (n(), m(N, {
|
|
11
|
+
setup(I) {
|
|
12
|
+
const { t: h } = b.global, e = x(), m = n(() => e.value.hideDoc ?? !1), p = n(() => y(e.value)), i = n(() => e.value.user), g = n(() => {
|
|
13
|
+
var o, t;
|
|
14
|
+
return !!((o = i.value) != null && o.id || (t = i.value) != null && t.userId);
|
|
15
|
+
}), f = (o) => {
|
|
16
|
+
e.value.onLogin && (o.preventDefault(), e.value.onLogin());
|
|
17
|
+
}, s = n(() => e.value.docsPath || "");
|
|
18
|
+
return (o, t) => {
|
|
19
|
+
const v = k("el-icon");
|
|
20
|
+
return a(), c("div", S, [
|
|
21
|
+
!m.value && s.value ? (a(), u(D, {
|
|
33
22
|
key: 0,
|
|
34
23
|
tag: "a",
|
|
35
24
|
class: "whitespace-nowrap",
|
|
36
|
-
href:
|
|
25
|
+
href: s.value,
|
|
37
26
|
target: "_blank"
|
|
38
27
|
}, {
|
|
39
|
-
default:
|
|
40
|
-
|
|
41
|
-
default:
|
|
42
|
-
|
|
28
|
+
default: d(() => [
|
|
29
|
+
r(v, null, {
|
|
30
|
+
default: d(() => [...t[0] || (t[0] = [
|
|
31
|
+
l("svg", {
|
|
43
32
|
xmlns: "http://www.w3.org/2000/svg",
|
|
44
33
|
width: "24",
|
|
45
34
|
height: "24",
|
|
@@ -53,28 +42,27 @@ const E = { class: "header-right" }, M = ["href"], G = /* @__PURE__ */ C({
|
|
|
53
42
|
"aria-hidden": "true",
|
|
54
43
|
class: "lucide lucide-book-open"
|
|
55
44
|
}, [
|
|
56
|
-
|
|
57
|
-
|
|
45
|
+
l("path", { d: "M12 7v14" }),
|
|
46
|
+
l("path", { d: "M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z" })
|
|
58
47
|
], -1)
|
|
59
|
-
])),
|
|
60
|
-
_: 1
|
|
61
|
-
__: [0]
|
|
48
|
+
])]),
|
|
49
|
+
_: 1
|
|
62
50
|
})
|
|
63
51
|
]),
|
|
64
52
|
_: 1
|
|
65
|
-
}, 8, ["href"])),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
53
|
+
}, 8, ["href"])) : w("", !0),
|
|
54
|
+
r(B),
|
|
55
|
+
r(N),
|
|
56
|
+
g.value ? (a(), u(P, { key: 1 })) : (a(), c("a", {
|
|
69
57
|
key: 2,
|
|
70
58
|
class: "header-right__login",
|
|
71
|
-
href:
|
|
72
|
-
onClick:
|
|
73
|
-
},
|
|
59
|
+
href: p.value,
|
|
60
|
+
onClick: f
|
|
61
|
+
}, C(L(h)("common.btn.login")), 9, V))
|
|
74
62
|
]);
|
|
75
63
|
};
|
|
76
64
|
}
|
|
77
65
|
});
|
|
78
66
|
export {
|
|
79
|
-
|
|
67
|
+
q as default
|
|
80
68
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as a, watchEffect as f, resolveComponent as p,
|
|
1
|
+
import { defineComponent as a, watchEffect as f, resolveComponent as p, openBlock as o, createBlock as t, unref as e, withCtx as n, createVNode as s } from "vue";
|
|
2
2
|
import { Moon as u, Sunny as _ } from "@element-plus/icons-vue";
|
|
3
3
|
import { useSetting as h } from "../hooks/useSetting.js";
|
|
4
4
|
import { useTheme as k } from "../hooks/useTheme.js";
|
|
@@ -11,11 +11,11 @@ const N = /* @__PURE__ */ a({
|
|
|
11
11
|
r.value.theme = c.value;
|
|
12
12
|
}), (C, v) => {
|
|
13
13
|
const i = p("el-icon");
|
|
14
|
-
return
|
|
14
|
+
return o(), t(g, { onClick: e(l) }, {
|
|
15
15
|
default: n(() => [
|
|
16
16
|
s(i, null, {
|
|
17
17
|
default: n(() => [
|
|
18
|
-
e(m) ? (
|
|
18
|
+
e(m) ? (o(), t(e(_), { key: 1 })) : (o(), t(e(u), { key: 0 }))
|
|
19
19
|
]),
|
|
20
20
|
_: 1
|
|
21
21
|
})
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { Clock as
|
|
3
|
-
import { useCurrentTimeZone as
|
|
1
|
+
import { defineComponent as w, ref as y, computed as c, resolveComponent as f, openBlock as t, createBlock as d, withCtx as o, createElementVNode as i, createElementBlock as r, Fragment as T, renderList as Z, normalizeClass as L, toDisplayString as u, createVNode as n, unref as b, createCommentVNode as h } from "vue";
|
|
2
|
+
import { Clock as B, ArrowDown as N } from "@element-plus/icons-vue";
|
|
3
|
+
import { useCurrentTimeZone as x, getTimeZoneOptions as V, getTimeZoneLabel as D, setCurrentTimeZone as E } from "../../utils/repoUtils.js";
|
|
4
4
|
import O from "./NavIconBtn.vue.js";
|
|
5
5
|
const S = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "timezone-select__current"
|
|
8
|
-
}, A = { class: "timezone-select__panel" }, F = ["onClick"], I = { class: "timezone-select__name" }, R = { class: "timezone-select__offset" }, H = /* @__PURE__ */
|
|
8
|
+
}, A = { class: "timezone-select__panel" }, F = ["onClick"], I = { class: "timezone-select__name" }, R = { class: "timezone-select__offset" }, H = /* @__PURE__ */ w({
|
|
9
9
|
__name: "TimezoneSelect",
|
|
10
10
|
props: {
|
|
11
11
|
showLabel: { type: Boolean, default: !1 }
|
|
12
12
|
},
|
|
13
|
-
setup(
|
|
14
|
-
const
|
|
15
|
-
E(
|
|
13
|
+
setup(l) {
|
|
14
|
+
const z = x(), s = y(!1), a = c(() => z.value), C = c(() => V()), m = c(() => D(a.value)), k = (_) => {
|
|
15
|
+
E(_), s.value = !1;
|
|
16
16
|
};
|
|
17
|
-
return (
|
|
18
|
-
const
|
|
19
|
-
return t(),
|
|
17
|
+
return (_, p) => {
|
|
18
|
+
const v = f("el-icon"), g = f("el-popover");
|
|
19
|
+
return t(), d(g, {
|
|
20
20
|
visible: s.value,
|
|
21
|
-
"onUpdate:visible":
|
|
21
|
+
"onUpdate:visible": p[0] || (p[0] = (e) => s.value = e),
|
|
22
22
|
placement: "bottom",
|
|
23
23
|
width: 280,
|
|
24
24
|
trigger: "hover",
|
|
25
25
|
"popper-class": "top-timezone-popover"
|
|
26
26
|
}, {
|
|
27
|
-
reference:
|
|
28
|
-
|
|
27
|
+
reference: o(() => [
|
|
28
|
+
n(O, {
|
|
29
29
|
tag: "div",
|
|
30
30
|
class: "timezone-select",
|
|
31
|
-
"icon-only": !
|
|
32
|
-
title:
|
|
33
|
-
"aria-label":
|
|
31
|
+
"icon-only": !l.showLabel,
|
|
32
|
+
title: m.value,
|
|
33
|
+
"aria-label": m.value
|
|
34
34
|
}, {
|
|
35
|
-
default:
|
|
36
|
-
|
|
37
|
-
default:
|
|
38
|
-
|
|
35
|
+
default: o(() => [
|
|
36
|
+
n(v, null, {
|
|
37
|
+
default: o(() => [
|
|
38
|
+
n(b(B))
|
|
39
39
|
]),
|
|
40
40
|
_: 1
|
|
41
41
|
}),
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
l.showLabel ? (t(), r("span", S, u(a.value), 1)) : h("", !0),
|
|
43
|
+
l.showLabel ? (t(), d(v, {
|
|
44
44
|
key: 1,
|
|
45
45
|
class: "timezone-select__caret"
|
|
46
46
|
}, {
|
|
47
|
-
default:
|
|
48
|
-
|
|
47
|
+
default: o(() => [
|
|
48
|
+
n(b(N))
|
|
49
49
|
]),
|
|
50
50
|
_: 1
|
|
51
|
-
})) :
|
|
51
|
+
})) : h("", !0)
|
|
52
52
|
]),
|
|
53
53
|
_: 1
|
|
54
54
|
}, 8, ["icon-only", "title", "aria-label"])
|
|
55
55
|
]),
|
|
56
|
-
default:
|
|
56
|
+
default: o(() => [
|
|
57
57
|
i("div", A, [
|
|
58
|
-
(t(!0),
|
|
58
|
+
(t(!0), r(T, null, Z(C.value, (e) => (t(), r("button", {
|
|
59
59
|
key: e.value,
|
|
60
60
|
type: "button",
|
|
61
|
-
class:
|
|
61
|
+
class: L(["timezone-select__option", {
|
|
62
62
|
"timezone-select__option--active": e.value === a.value
|
|
63
63
|
}]),
|
|
64
|
-
onClick: (
|
|
64
|
+
onClick: (U) => k(e.value)
|
|
65
65
|
}, [
|
|
66
66
|
i("span", I, u(e.value), 1),
|
|
67
67
|
i("span", R, u(e.offset), 1)
|
|
@@ -2,7 +2,7 @@ import o from "./UserInfo.vue2.js";
|
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
4
|
import r from "../../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
-
const
|
|
5
|
+
const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-ac052463"]]);
|
|
6
6
|
export {
|
|
7
|
-
|
|
7
|
+
f as default
|
|
8
8
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as x, computed as v, resolveComponent as M,
|
|
1
|
+
import { defineComponent as x, computed as v, resolveComponent as M, openBlock as r, createBlock as w, withCtx as b, createElementVNode as l, createVNode as f, unref as d, toDisplayString as u, createElementBlock as m, createCommentVNode as B, Fragment as h, renderList as y } from "vue";
|
|
2
2
|
import k from "../../components/UserAvatar/src/UserAvatar.vue.js";
|
|
3
3
|
import U from "./MenuItemIcon.vue.js";
|
|
4
4
|
import V from "../../locales/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.user-info__trigger[data-v-
|
|
1
|
+
.user-info__trigger[data-v-ac052463]{display:inline-flex;width:28px;height:28px;overflow:hidden;border-radius:var(--ui-radius-pill);background:var(--ui-avatar-bg, var(--el-color-primary));border:1px solid var(--ui-topnav-border);align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ui-text-on-brand);cursor:pointer;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:border-color var(--ui-transition-fast),filter var(--ui-transition-fast)}.user-info__trigger[data-v-ac052463]:hover{border-color:var(--ui-topnav-foreground);filter:brightness(1.05)}.user-info__panel[data-v-ac052463]{display:grid;gap:2px}.user-info__profile[data-v-ac052463]{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:8px 8px 10px}.user-info__profile-avatar[data-v-ac052463]{width:44px;height:44px;overflow:hidden;border-radius:var(--ui-radius-pill);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--ui-avatar-bg, var(--el-color-primary));color:var(--ui-text-on-brand);font-size:16px;font-weight:700}.user-info__profile-main[data-v-ac052463]{min-width:0}.user-info__display-name[data-v-ac052463]{color:var(--ui-text-primary);font-size:14px;font-weight:700;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info__username[data-v-ac052463]{margin-top:2px;color:var(--ui-text-muted);font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info__meta[data-v-ac052463]{display:grid;gap:2px;padding:8px;margin-bottom:2px;border-radius:var(--ui-radius-control);background:var(--ui-bg-muted)}.user-info__meta-row[data-v-ac052463]{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:center;min-height:24px;font-size:12px;line-height:18px}.user-info__meta-label[data-v-ac052463]{color:var(--ui-text-muted)}.user-info__meta-value[data-v-ac052463]{min-width:0;color:var(--ui-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.user-info__item[data-v-ac052463]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--ui-radius-control);color:var(--ui-text-primary);font-size:12px;cursor:pointer;transition:background var(--ui-transition-fast),color var(--ui-transition-fast)}.user-info__item[data-v-ac052463]:hover{background:var(--ui-bg-muted)}.user-info__item--danger[data-v-ac052463]{color:var(--el-color-danger)}.user-info__divider[data-v-ac052463]{height:1px;background:var(--ui-border-soft);margin:4px 0}
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
import { defineComponent as C, computed as x, resolveComponent as p,
|
|
1
|
+
import { defineComponent as C, computed as x, resolveComponent as p, unref as l, openBlock as e, createElementBlock as o, createVNode as A, withCtx as i, Fragment as c, renderList as f, createBlock as u, createCommentVNode as B } from "vue";
|
|
2
2
|
import { useApp as I } from "../../hooks/useApp.js";
|
|
3
3
|
import { injectLayoutContext as w } from "../../hooks/useState.js";
|
|
4
4
|
const L = {
|
|
5
5
|
key: 0,
|
|
6
|
-
class: "w-
|
|
6
|
+
class: "min-w-0 flex-1"
|
|
7
7
|
}, F = /* @__PURE__ */ C({
|
|
8
8
|
__name: "AppSelectMobile",
|
|
9
9
|
setup(N) {
|
|
10
10
|
const { currentAppId: v } = w(), { appList: s, getAppPath: a, findAppById: h } = I(), g = x(() => {
|
|
11
|
-
const
|
|
12
|
-
return
|
|
13
|
-
}), k = (
|
|
14
|
-
|
|
11
|
+
const n = h(v.value);
|
|
12
|
+
return n ? a(n) : "";
|
|
13
|
+
}), k = (n) => {
|
|
14
|
+
n && (location.href = n);
|
|
15
15
|
};
|
|
16
|
-
return (
|
|
16
|
+
return (n, P) => {
|
|
17
17
|
var d;
|
|
18
18
|
const _ = p("el-option"), y = p("el-option-group"), b = p("el-select");
|
|
19
|
-
return (d =
|
|
20
|
-
|
|
19
|
+
return (d = l(s)) != null && d.length ? (e(), o("div", L, [
|
|
20
|
+
A(b, {
|
|
21
21
|
"model-value": g.value,
|
|
22
22
|
class: "w-full",
|
|
23
23
|
onChange: k
|
|
24
24
|
}, {
|
|
25
25
|
default: i(() => [
|
|
26
|
-
(e(!0),
|
|
26
|
+
(e(!0), o(c, null, f(l(s), (t) => {
|
|
27
27
|
var m;
|
|
28
|
-
return e(),
|
|
29
|
-
key:
|
|
28
|
+
return e(), o(c, {
|
|
29
|
+
key: t.appId
|
|
30
30
|
}, [
|
|
31
|
-
(m =
|
|
31
|
+
(m = t.children) != null && m.length ? (e(), u(y, {
|
|
32
32
|
key: 0,
|
|
33
|
-
label:
|
|
33
|
+
label: t.name
|
|
34
34
|
}, {
|
|
35
35
|
default: i(() => [
|
|
36
|
-
(e(!0),
|
|
36
|
+
(e(!0), o(c, null, f(t.children, (r) => (e(), u(_, {
|
|
37
37
|
key: r.appId,
|
|
38
38
|
label: r.name,
|
|
39
|
-
value:
|
|
39
|
+
value: l(a)(r),
|
|
40
40
|
style: { "padding-left": "30px" }
|
|
41
41
|
}, null, 8, ["label", "value"]))), 128))
|
|
42
42
|
]),
|
|
43
43
|
_: 2
|
|
44
44
|
}, 1032, ["label"])) : (e(), u(_, {
|
|
45
45
|
key: 1,
|
|
46
|
-
label:
|
|
47
|
-
value:
|
|
46
|
+
label: t.name,
|
|
47
|
+
value: l(a)(t)
|
|
48
48
|
}, null, 8, ["label", "value"]))
|
|
49
49
|
], 64);
|
|
50
50
|
}), 128))
|
|
51
51
|
]),
|
|
52
52
|
_: 1
|
|
53
53
|
}, 8, ["model-value"])
|
|
54
|
-
])) :
|
|
54
|
+
])) : B("", !0);
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
57
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.aside-bar-mobile[data-v-
|
|
1
|
+
.aside-bar-mobile[data-v-ffd10c8b]{width:min(86vw,320px);max-width:calc(100vw - 32px);height:100vh;height:100dvh;z-index:240;border-right:1px solid var(--ui-sidebar-border);background:var(--ui-sidebar-bg);color:var(--ui-sidebar-foreground);box-shadow:var(--ui-shadow-pop);will-change:transform}.aside-bar-mobile__head[data-v-ffd10c8b]{min-height:var(--layout-mobile-header-height, 56px);padding:10px 12px;border-bottom:1px solid var(--ui-sidebar-border);flex-shrink:0}.aside-bar-mobile__close[data-v-ffd10c8b]{width:36px;height:36px;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;border:1px solid var(--ui-sidebar-border);border-radius:var(--ui-radius-control);background:var(--ui-sidebar-accent);color:var(--ui-text-muted);cursor:pointer;transition:background var(--ui-transition-fast),color var(--ui-transition-fast),border-color var(--ui-transition-fast)}.aside-bar-mobile__close[data-v-ffd10c8b]:hover{background:var(--ui-sidebar-hover-bg);color:var(--ui-sidebar-foreground)}.aside-bar-mobile[data-v-ffd10c8b] .el-scrollbar{flex:1 1 auto;min-height:0}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./AsideBarMobile.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const
|
|
3
|
+
import r from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const e = /* @__PURE__ */ r(o, [["__scopeId", "data-v-ffd10c8b"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
e as default
|
|
7
7
|
};
|
|
@@ -1,47 +1,49 @@
|
|
|
1
|
-
import { defineComponent as d, resolveComponent as
|
|
1
|
+
import { defineComponent as d, resolveComponent as r, unref as o, openBlock as _, createElementBlock as f, normalizeClass as p, createElementVNode as t, createVNode as e, withCtx as a, renderSlot as u, createCommentVNode as b } from "vue";
|
|
2
2
|
import { Fold as x } from "@element-plus/icons-vue";
|
|
3
3
|
import { injectLayoutContext as h } from "../../hooks/useState.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
const
|
|
4
|
+
import C from "../AsideSubMenus.vue.js";
|
|
5
|
+
import v from "./AppSelectMobile.vue.js";
|
|
6
|
+
import k from "./AsideUserMobile.vue.js";
|
|
7
|
+
const y = { class: "aside-bar-mobile__head flex items-center gap-3" }, S = { class: "p-3" }, M = /* @__PURE__ */ d({
|
|
8
8
|
__name: "AsideBarMobile",
|
|
9
9
|
setup($) {
|
|
10
|
-
const { menus:
|
|
11
|
-
return (
|
|
12
|
-
const m =
|
|
13
|
-
return o(
|
|
10
|
+
const { menus: l, sideOpen: n } = h(), i = () => void (n.value = !1);
|
|
11
|
+
return (s, B) => {
|
|
12
|
+
const m = r("el-icon"), c = r("el-scrollbar");
|
|
13
|
+
return o(l).length && !s.$route.meta.hideSidebar ? (_(), f("div", {
|
|
14
14
|
key: 0,
|
|
15
|
-
class:
|
|
15
|
+
class: p(["aside-bar-mobile fixed inset-y-0 left-0 z-200 flex min-h-0 flex-col transition-transform", [o(n) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
|
|
16
16
|
}, [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
t("div", y, [
|
|
18
|
+
t("button", {
|
|
19
|
+
type: "button",
|
|
20
|
+
class: "aside-bar-mobile__close",
|
|
21
|
+
"aria-label": "Close menu",
|
|
22
|
+
onClick: i
|
|
21
23
|
}, [
|
|
22
24
|
e(m, null, {
|
|
23
|
-
default:
|
|
25
|
+
default: a(() => [
|
|
24
26
|
e(o(x))
|
|
25
27
|
]),
|
|
26
28
|
_: 1
|
|
27
29
|
})
|
|
28
30
|
]),
|
|
29
|
-
e(
|
|
31
|
+
e(v)
|
|
30
32
|
]),
|
|
31
33
|
e(c, { ref: "leftScrollRef" }, {
|
|
32
|
-
default:
|
|
33
|
-
|
|
34
|
-
e(
|
|
34
|
+
default: a(() => [
|
|
35
|
+
t("div", S, [
|
|
36
|
+
e(C, { menus: o(l) }, null, 8, ["menus"])
|
|
35
37
|
])
|
|
36
38
|
]),
|
|
37
39
|
_: 1
|
|
38
40
|
}, 512),
|
|
39
|
-
|
|
40
|
-
e(
|
|
41
|
-
], 2)) :
|
|
41
|
+
u(s.$slots, "sidebar-foot", {}, void 0, !0),
|
|
42
|
+
e(k)
|
|
43
|
+
], 2)) : b("", !0);
|
|
42
44
|
};
|
|
43
45
|
}
|
|
44
46
|
});
|
|
45
47
|
export {
|
|
46
|
-
|
|
48
|
+
M as default
|
|
47
49
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as v, computed as n, resolveComponent as f,
|
|
1
|
+
import { defineComponent as v, computed as n, resolveComponent as f, openBlock as u, createBlock as g, withCtx as r, createElementVNode as o, toDisplayString as b, createVNode as t, unref as c, createElementBlock as y } from "vue";
|
|
2
2
|
import { ArrowRight as d } from "@element-plus/icons-vue";
|
|
3
3
|
import { useSetting as h } from "../../hooks/useSetting.js";
|
|
4
4
|
import { redirectToLayoutLogin as k } from "../../utils/index.js";
|
|
@@ -18,7 +18,7 @@ const C = { class: "aside-user-mobile" }, L = { class: "flex-1" }, A = { class:
|
|
|
18
18
|
e[0] || (e[0] = o("div", { class: "aside-user-mobile__icon text-lg" }, [
|
|
19
19
|
o("i", { class: "metisicon-yonghu1" })
|
|
20
20
|
], -1)),
|
|
21
|
-
o("div", L,
|
|
21
|
+
o("div", L, b(_.value), 1),
|
|
22
22
|
o("div", A, [
|
|
23
23
|
t(a, null, {
|
|
24
24
|
default: r(() => [
|
|
@@ -30,7 +30,7 @@ const C = { class: "aside-user-mobile" }, L = { class: "flex-1" }, A = { class:
|
|
|
30
30
|
])
|
|
31
31
|
]),
|
|
32
32
|
_: 1
|
|
33
|
-
})) : (u(),
|
|
33
|
+
})) : (u(), y("div", {
|
|
34
34
|
key: 1,
|
|
35
35
|
class: "aside-user-mobile",
|
|
36
36
|
onClick: p
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as a, computed as c, resolveComponent as v,
|
|
1
|
+
import { defineComponent as a, computed as c, resolveComponent as v, openBlock as d, createBlock as f, withCtx as n, createElementVNode as o, toDisplayString as i, unref as s, createVNode as _, renderSlot as g } from "vue";
|
|
2
2
|
import b from "../../../locales/index.js";
|
|
3
3
|
import { useSetting as C } from "../../hooks/useSetting.js";
|
|
4
4
|
import { getLayoutUserCenterPath as L, redirectToLayoutLogin as y } from "../../utils/index.js";
|
|
@@ -14,7 +14,7 @@ const k = { class: "mobile-user-popover" }, P = ["href"], V = /* @__PURE__ */ a(
|
|
|
14
14
|
};
|
|
15
15
|
return (r, e) => {
|
|
16
16
|
const m = v("el-popover");
|
|
17
|
-
return
|
|
17
|
+
return d(), f(m, {
|
|
18
18
|
width: 220,
|
|
19
19
|
trigger: "click",
|
|
20
20
|
"popper-class": "top-userinfo-popover"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.header-right-mobile[data-v-
|
|
1
|
+
.header-right-mobile[data-v-48792b0a]{--nav-icon-btn-size: 40px;display:flex;align-items:center;gap:8px;padding-right:0;min-width:0}.header-right-mobile[data-v-48792b0a] .nav-icon-btn{--nav-icon-btn-size: 40px;--nav-icon-btn-color: var(--ui-topnav-foreground);--nav-icon-btn-bg: var(--ui-topnav-surface);--nav-icon-btn-border-color: var(--ui-topnav-border);--nav-icon-btn-hover-bg: var(--ui-topnav-hover);--nav-icon-btn-hover-color: var(--ui-topnav-foreground);--nav-icon-btn-hover-border-color: var(--ui-topnav-border)}.header-right-mobile__action[data-v-48792b0a]{--nav-icon-btn-color: var(--ui-topnav-foreground);--nav-icon-btn-bg: var(--ui-topnav-surface);--nav-icon-btn-border-color: var(--ui-topnav-border);--nav-icon-btn-hover-bg: var(--ui-topnav-hover);--nav-icon-btn-hover-color: var(--ui-topnav-foreground);--nav-icon-btn-hover-border-color: var(--ui-topnav-border)}@media(max-width:374px){.header-right-mobile[data-v-48792b0a]{--nav-icon-btn-size: 36px;gap:6px}.header-right-mobile[data-v-48792b0a] .nav-icon-btn{--nav-icon-btn-size: 36px}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./HeaderRightMobile.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-48792b0a"]]);
|
|
5
5
|
export {
|
|
6
6
|
i as default
|
|
7
7
|
};
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
import { defineComponent as u, computed as d,
|
|
2
|
-
import { useSetting as
|
|
3
|
-
import { redirectToLayoutLogin as
|
|
1
|
+
import { defineComponent as u, computed as d, openBlock as r, createElementBlock as p, createVNode as n, createBlock as l, withCtx as i, createElementVNode as s } from "vue";
|
|
2
|
+
import { useSetting as g } from "../../hooks/useSetting.js";
|
|
3
|
+
import { redirectToLayoutLogin as _ } from "../../utils/index.js";
|
|
4
4
|
import a from "../NavIconBtn.vue.js";
|
|
5
|
-
import
|
|
6
|
-
import h from "
|
|
7
|
-
|
|
8
|
-
const k = { class: "header-right-mobile" }, E = /* @__PURE__ */ u({
|
|
5
|
+
import f from "../ThemeToggle.vue.js";
|
|
6
|
+
import h from "./AsideUserMobilePopover.vue.js";
|
|
7
|
+
const v = { class: "header-right-mobile" }, N = /* @__PURE__ */ u({
|
|
9
8
|
__name: "HeaderRightMobile",
|
|
10
|
-
setup(
|
|
11
|
-
const t =
|
|
9
|
+
setup(k) {
|
|
10
|
+
const t = g(), m = d(
|
|
12
11
|
() => {
|
|
13
12
|
var o, e;
|
|
14
13
|
return !!((o = t.value.user) != null && o.id || (e = t.value.user) != null && e.userId);
|
|
15
14
|
}
|
|
16
15
|
), c = () => {
|
|
17
16
|
var o, e;
|
|
18
|
-
(e = (o = t.value).onLogin) != null && e.call(o) ||
|
|
17
|
+
(e = (o = t.value).onLogin) != null && e.call(o) || _(t.value);
|
|
19
18
|
};
|
|
20
|
-
return (o, e) => (r(),
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
default: n(() => e[0] || (e[0] = [
|
|
19
|
+
return (o, e) => (r(), p("div", v, [
|
|
20
|
+
n(f),
|
|
21
|
+
m.value ? (r(), l(h, { key: 0 }, {
|
|
22
|
+
reference: i(() => [
|
|
23
|
+
n(a, { class: "header-right-mobile__action" }, {
|
|
24
|
+
default: i(() => [...e[0] || (e[0] = [
|
|
27
25
|
s("i", { class: "metisicon-yonghu1" }, null, -1)
|
|
28
|
-
])),
|
|
29
|
-
_: 1
|
|
30
|
-
__: [0]
|
|
26
|
+
])]),
|
|
27
|
+
_: 1
|
|
31
28
|
})
|
|
32
29
|
]),
|
|
33
30
|
_: 1
|
|
@@ -36,15 +33,14 @@ const k = { class: "header-right-mobile" }, E = /* @__PURE__ */ u({
|
|
|
36
33
|
class: "header-right-mobile__action",
|
|
37
34
|
onClick: c
|
|
38
35
|
}, {
|
|
39
|
-
default:
|
|
36
|
+
default: i(() => [...e[1] || (e[1] = [
|
|
40
37
|
s("i", { class: "metisicon-yonghu1" }, null, -1)
|
|
41
|
-
])),
|
|
42
|
-
_: 1
|
|
43
|
-
__: [1]
|
|
38
|
+
])]),
|
|
39
|
+
_: 1
|
|
44
40
|
}))
|
|
45
41
|
]));
|
|
46
42
|
}
|
|
47
43
|
});
|
|
48
44
|
export {
|
|
49
|
-
|
|
45
|
+
N as default
|
|
50
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.mobile-menu-toggle[data-v-
|
|
1
|
+
.mobile-menu-toggle[data-v-c14b8f72]{width:40px;height:40px;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;border:1px solid var(--ui-topnav-border);border-radius:var(--ui-radius-control);background:var(--ui-topnav-surface);color:var(--ui-topnav-foreground);cursor:pointer;transition:background var(--ui-transition-fast),color var(--ui-transition-fast)}.mobile-menu-toggle[data-v-c14b8f72]:hover{background:var(--ui-topnav-hover)}.mobile-menu-toggle[data-v-c14b8f72]:focus-visible{outline:2px solid var(--ui-topnav-foreground);outline-offset:2px}.mobile-menu-toggle__icon[data-v-c14b8f72]{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./MobileMenuToggle.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-c14b8f72"]]);
|
|
5
5
|
export {
|
|
6
6
|
m as default
|
|
7
7
|
};
|