mamba-layout 0.1.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/README.md +47 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
- package/dist/assets/logo.png.js +4 -0
- package/dist/components/UserAvatar/index.d.ts +2 -0
- package/dist/components/UserAvatar/index.js +5 -0
- package/dist/components/UserAvatar/src/UserAvatar.css +1 -0
- package/dist/components/UserAvatar/src/UserAvatar.vue.d.ts +9 -0
- package/dist/components/UserAvatar/src/UserAvatar.vue.js +7 -0
- package/dist/components/UserAvatar/src/UserAvatar.vue2.js +61 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +51 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +80 -0
- package/dist/layout/BaseLayout.css +1 -0
- package/dist/layout/BaseLayout.vue.d.ts +23 -0
- package/dist/layout/BaseLayout.vue.js +7 -0
- package/dist/layout/BaseLayout.vue2.js +75 -0
- package/dist/layout/components/AppSelect.css +1 -0
- package/dist/layout/components/AppSelect.vue.d.ts +2 -0
- package/dist/layout/components/AppSelect.vue.js +7 -0
- package/dist/layout/components/AppSelect.vue2.js +69 -0
- package/dist/layout/components/AsideBar.css +1 -0
- package/dist/layout/components/AsideBar.vue.d.ts +21 -0
- package/dist/layout/components/AsideBar.vue.js +7 -0
- package/dist/layout/components/AsideBar.vue2.js +49 -0
- package/dist/layout/components/AsideSubMenuItem.vue.d.ts +25 -0
- package/dist/layout/components/AsideSubMenuItem.vue.js +84 -0
- package/dist/layout/components/AsideSubMenuItem.vue2.js +4 -0
- package/dist/layout/components/AsideSubMenus.vue.d.ts +16 -0
- package/dist/layout/components/AsideSubMenus.vue.js +36 -0
- package/dist/layout/components/AsideSubMenus.vue2.js +4 -0
- package/dist/layout/components/AsideTabMenus.vue.d.ts +2 -0
- package/dist/layout/components/AsideTabMenus.vue.js +41 -0
- package/dist/layout/components/AsideTabMenus.vue2.js +4 -0
- package/dist/layout/components/AsideUser.vue.d.ts +2 -0
- package/dist/layout/components/AsideUser.vue.js +58 -0
- package/dist/layout/components/AsideUser.vue2.js +4 -0
- package/dist/layout/components/HeaderBar.css +1 -0
- package/dist/layout/components/HeaderBar.vue.d.ts +17 -0
- package/dist/layout/components/HeaderBar.vue.js +7 -0
- package/dist/layout/components/HeaderBar.vue2.js +55 -0
- package/dist/layout/components/HeaderMenuToggle.vue.d.ts +25 -0
- package/dist/layout/components/HeaderMenuToggle.vue.js +40 -0
- package/dist/layout/components/HeaderMenuToggle.vue2.js +4 -0
- package/dist/layout/components/LanguageSelect.css +1 -0
- package/dist/layout/components/LanguageSelect.vue.d.ts +22 -0
- package/dist/layout/components/LanguageSelect.vue.js +8 -0
- package/dist/layout/components/LanguageSelect.vue2.js +101 -0
- package/dist/layout/components/LanguageSelect2.css +1 -0
- package/dist/layout/components/LayoutBreadcrumb.css +1 -0
- package/dist/layout/components/LayoutBreadcrumb.vue.d.ts +29 -0
- package/dist/layout/components/LayoutBreadcrumb.vue.js +7 -0
- package/dist/layout/components/LayoutBreadcrumb.vue2.js +189 -0
- package/dist/layout/components/MenuDrawer.css +1 -0
- package/dist/layout/components/MenuDrawer.vue.d.ts +12 -0
- package/dist/layout/components/MenuDrawer.vue.js +163 -0
- package/dist/layout/components/MenuDrawer.vue3.js +5 -0
- package/dist/layout/components/MenuItemIcon.css +1 -0
- package/dist/layout/components/MenuItemIcon.vue.d.ts +7 -0
- package/dist/layout/components/MenuItemIcon.vue.js +7 -0
- package/dist/layout/components/MenuItemIcon.vue2.js +23 -0
- package/dist/layout/components/NavIconBtn.css +1 -0
- package/dist/layout/components/NavIconBtn.vue.d.ts +26 -0
- package/dist/layout/components/NavIconBtn.vue.js +7 -0
- package/dist/layout/components/NavIconBtn.vue2.js +23 -0
- package/dist/layout/components/SHeaderRight.css +1 -0
- package/dist/layout/components/SHeaderRight.vue.d.ts +2 -0
- package/dist/layout/components/SHeaderRight.vue.js +7 -0
- package/dist/layout/components/SHeaderRight.vue2.js +80 -0
- package/dist/layout/components/ThemeToggle.css +1 -0
- package/dist/layout/components/ThemeToggle.vue.d.ts +2 -0
- package/dist/layout/components/ThemeToggle.vue.js +7 -0
- package/dist/layout/components/ThemeToggle.vue2.js +30 -0
- package/dist/layout/components/TimezoneSelect.css +1 -0
- package/dist/layout/components/TimezoneSelect.vue.d.ts +7 -0
- package/dist/layout/components/TimezoneSelect.vue.js +8 -0
- package/dist/layout/components/TimezoneSelect.vue2.js +78 -0
- package/dist/layout/components/TimezoneSelect2.css +1 -0
- package/dist/layout/components/UserInfo.css +1 -0
- package/dist/layout/components/UserInfo.vue.d.ts +2 -0
- package/dist/layout/components/UserInfo.vue.js +8 -0
- package/dist/layout/components/UserInfo.vue2.js +111 -0
- package/dist/layout/components/UserInfo2.css +1 -0
- package/dist/layout/components/index.d.ts +23 -0
- package/dist/layout/components/index.js +49 -0
- package/dist/layout/components/mobile/AppSelectMobile.vue.d.ts +2 -0
- package/dist/layout/components/mobile/AppSelectMobile.vue.js +60 -0
- package/dist/layout/components/mobile/AppSelectMobile.vue2.js +4 -0
- package/dist/layout/components/mobile/AsideBarMobile.css +1 -0
- package/dist/layout/components/mobile/AsideBarMobile.vue.d.ts +21 -0
- package/dist/layout/components/mobile/AsideBarMobile.vue.js +7 -0
- package/dist/layout/components/mobile/AsideBarMobile.vue2.js +47 -0
- package/dist/layout/components/mobile/AsideUserMobile.css +1 -0
- package/dist/layout/components/mobile/AsideUserMobile.vue.d.ts +2 -0
- package/dist/layout/components/mobile/AsideUserMobile.vue.js +7 -0
- package/dist/layout/components/mobile/AsideUserMobile.vue2.js +56 -0
- package/dist/layout/components/mobile/AsideUserMobilePopover.css +1 -0
- package/dist/layout/components/mobile/AsideUserMobilePopover.vue.d.ts +17 -0
- package/dist/layout/components/mobile/AsideUserMobilePopover.vue.js +7 -0
- package/dist/layout/components/mobile/AsideUserMobilePopover.vue2.js +52 -0
- package/dist/layout/components/mobile/HeaderRightMobile.css +1 -0
- package/dist/layout/components/mobile/HeaderRightMobile.vue.d.ts +2 -0
- package/dist/layout/components/mobile/HeaderRightMobile.vue.js +7 -0
- package/dist/layout/components/mobile/HeaderRightMobile.vue2.js +50 -0
- package/dist/layout/components/mobile/MobileMenuToggle.css +1 -0
- package/dist/layout/components/mobile/MobileMenuToggle.vue.d.ts +2 -0
- package/dist/layout/components/mobile/MobileMenuToggle.vue.js +7 -0
- package/dist/layout/components/mobile/MobileMenuToggle.vue2.js +31 -0
- package/dist/layout/hooks/index.d.ts +4 -0
- package/dist/layout/hooks/index.js +17 -0
- package/dist/layout/hooks/useApp.d.ts +6 -0
- package/dist/layout/hooks/useApp.js +20 -0
- package/dist/layout/hooks/useSetting.d.ts +62 -0
- package/dist/layout/hooks/useSetting.js +24 -0
- package/dist/layout/hooks/useState.d.ts +763 -0
- package/dist/layout/hooks/useState.js +99 -0
- package/dist/layout/hooks/useTheme.d.ts +15 -0
- package/dist/layout/hooks/useTheme.js +44 -0
- package/dist/layout/utils/index.d.ts +7 -0
- package/dist/layout/utils/index.js +59 -0
- package/dist/layout.css +1 -0
- package/dist/layout.es.js +53770 -0
- package/dist/layout.global.js +78 -0
- package/dist/locales/en/account.d.ts +10 -0
- package/dist/locales/en/account.js +12 -0
- package/dist/locales/en/admin.d.ts +207 -0
- package/dist/locales/en/admin.js +209 -0
- package/dist/locales/en/common.d.ts +40 -0
- package/dist/locales/en/common.js +42 -0
- package/dist/locales/en/components.d.ts +37 -0
- package/dist/locales/en/components.js +39 -0
- package/dist/locales/en/constant.d.ts +151 -0
- package/dist/locales/en/constant.js +153 -0
- package/dist/locales/en/filterBox.d.ts +11 -0
- package/dist/locales/en/filterBox.js +13 -0
- package/dist/locales/en/index.d.ts +487 -0
- package/dist/locales/en/index.js +22 -0
- package/dist/locales/en/instanceForm.d.ts +17 -0
- package/dist/locales/en/instanceForm.js +19 -0
- package/dist/locales/en/password.d.ts +18 -0
- package/dist/locales/en/password.js +20 -0
- package/dist/locales/index.d.ts +973 -0
- package/dist/locales/index.js +12 -0
- package/dist/locales/messages.d.ts +973 -0
- package/dist/locales/messages.js +9 -0
- package/dist/locales/zh-cn/account.d.ts +10 -0
- package/dist/locales/zh-cn/account.js +12 -0
- package/dist/locales/zh-cn/admin.d.ts +205 -0
- package/dist/locales/zh-cn/admin.js +207 -0
- package/dist/locales/zh-cn/common.d.ts +40 -0
- package/dist/locales/zh-cn/common.js +42 -0
- package/dist/locales/zh-cn/components.d.ts +37 -0
- package/dist/locales/zh-cn/components.js +39 -0
- package/dist/locales/zh-cn/constant.d.ts +151 -0
- package/dist/locales/zh-cn/constant.js +153 -0
- package/dist/locales/zh-cn/filterBox.d.ts +11 -0
- package/dist/locales/zh-cn/filterBox.js +13 -0
- package/dist/locales/zh-cn/index.d.ts +485 -0
- package/dist/locales/zh-cn/index.js +22 -0
- package/dist/locales/zh-cn/instanceForm.d.ts +17 -0
- package/dist/locales/zh-cn/instanceForm.js +19 -0
- package/dist/locales/zh-cn/password.d.ts +18 -0
- package/dist/locales/zh-cn/password.js +20 -0
- package/dist/standalone.d.ts +0 -0
- package/dist/utils/createContext.d.ts +8 -0
- package/dist/utils/createContext.js +14 -0
- package/dist/utils/repoUtils.d.ts +59 -0
- package/dist/utils/repoUtils.js +160 -0
- package/package.json +110 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { defineComponent as g, ref as w, computed as r, resolveComponent as v, createBlock as f, openBlock as t, withCtx as n, createElementVNode as i, createElementBlock as c, Fragment as y, renderList as T, normalizeClass as Z, toDisplayString as u, createVNode as l, createCommentVNode as d, unref as b } from "vue";
|
|
2
|
+
import { Clock as L, ArrowDown as B } from "@element-plus/icons-vue";
|
|
3
|
+
import { useCurrentTimeZone as N, getTimeZoneOptions as V, getTimeZoneLabel as D, setCurrentTimeZone as E } from "../../utils/repoUtils.js";
|
|
4
|
+
import O from "./NavIconBtn.vue.js";
|
|
5
|
+
const S = {
|
|
6
|
+
key: 0,
|
|
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__ */ g({
|
|
9
|
+
__name: "TimezoneSelect",
|
|
10
|
+
props: {
|
|
11
|
+
showLabel: { type: Boolean, default: !1 }
|
|
12
|
+
},
|
|
13
|
+
setup(U) {
|
|
14
|
+
const h = N(), s = w(!1), a = r(() => h.value), z = r(() => V()), p = r(() => D(a.value)), C = (o) => {
|
|
15
|
+
E(o), s.value = !1;
|
|
16
|
+
};
|
|
17
|
+
return (o, m) => {
|
|
18
|
+
const _ = v("el-icon"), k = v("el-popover");
|
|
19
|
+
return t(), f(k, {
|
|
20
|
+
visible: s.value,
|
|
21
|
+
"onUpdate:visible": m[0] || (m[0] = (e) => s.value = e),
|
|
22
|
+
placement: "bottom",
|
|
23
|
+
width: 280,
|
|
24
|
+
trigger: "hover",
|
|
25
|
+
"popper-class": "top-timezone-popover"
|
|
26
|
+
}, {
|
|
27
|
+
reference: n(() => [
|
|
28
|
+
l(O, {
|
|
29
|
+
tag: "div",
|
|
30
|
+
class: "timezone-select",
|
|
31
|
+
"icon-only": !o.showLabel,
|
|
32
|
+
title: p.value,
|
|
33
|
+
"aria-label": p.value
|
|
34
|
+
}, {
|
|
35
|
+
default: n(() => [
|
|
36
|
+
l(_, null, {
|
|
37
|
+
default: n(() => [
|
|
38
|
+
l(b(L))
|
|
39
|
+
]),
|
|
40
|
+
_: 1
|
|
41
|
+
}),
|
|
42
|
+
o.showLabel ? (t(), c("span", S, u(a.value), 1)) : d("", !0),
|
|
43
|
+
o.showLabel ? (t(), f(_, {
|
|
44
|
+
key: 1,
|
|
45
|
+
class: "timezone-select__caret"
|
|
46
|
+
}, {
|
|
47
|
+
default: n(() => [
|
|
48
|
+
l(b(B))
|
|
49
|
+
]),
|
|
50
|
+
_: 1
|
|
51
|
+
})) : d("", !0)
|
|
52
|
+
]),
|
|
53
|
+
_: 1
|
|
54
|
+
}, 8, ["icon-only", "title", "aria-label"])
|
|
55
|
+
]),
|
|
56
|
+
default: n(() => [
|
|
57
|
+
i("div", A, [
|
|
58
|
+
(t(!0), c(y, null, T(z.value, (e) => (t(), c("button", {
|
|
59
|
+
key: e.value,
|
|
60
|
+
type: "button",
|
|
61
|
+
class: Z(["timezone-select__option", {
|
|
62
|
+
"timezone-select__option--active": e.value === a.value
|
|
63
|
+
}]),
|
|
64
|
+
onClick: ($) => C(e.value)
|
|
65
|
+
}, [
|
|
66
|
+
i("span", I, u(e.value), 1),
|
|
67
|
+
i("span", R, u(e.offset), 1)
|
|
68
|
+
], 10, F))), 128))
|
|
69
|
+
])
|
|
70
|
+
]),
|
|
71
|
+
_: 1
|
|
72
|
+
}, 8, ["visible"]);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
export {
|
|
77
|
+
H as default
|
|
78
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.timezone-select[data-v-e62f5f2d]{flex-shrink:0}.timezone-select__current[data-v-e62f5f2d]{max-width:132px;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1}.timezone-select__caret[data-v-e62f5f2d]{font-size:12px}.timezone-select__panel[data-v-e62f5f2d]{display:grid;gap:4px;max-height:min(360px,70vh);overflow-y:auto}.timezone-select__option[data-v-e62f5f2d]{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:var(--ui-radius-control);background:transparent;color:var(--ui-text-primary);text-align:left;cursor:pointer;transition:background var(--ui-transition-fast),color var(--ui-transition-fast)}.timezone-select__option[data-v-e62f5f2d]:hover{background:var(--ui-bg-muted)}.timezone-select__name[data-v-e62f5f2d]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timezone-select__offset[data-v-e62f5f2d]{color:var(--ui-text-muted);font-size:12px;white-space:nowrap}.timezone-select__option--active[data-v-e62f5f2d]{color:var(--el-color-primary);background:var(--el-color-primary-light-10)}.timezone-select__option--active .timezone-select__offset[data-v-e62f5f2d]{color:var(--el-color-primary)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.top-userinfo-popover{padding:8px!important;border:1px solid var(--ui-border-default)!important;background:var(--ui-bg-card)!important;border-radius:var(--ui-radius-card)!important;box-shadow:var(--ui-shadow-pop)!important}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { defineComponent as x, computed as v, resolveComponent as M, createBlock as w, openBlock as r, withCtx as b, createElementVNode as l, createElementBlock as m, createVNode as f, unref as d, createCommentVNode as B, toDisplayString as u, Fragment as h, renderList as y } from "vue";
|
|
2
|
+
import k from "../../components/UserAvatar/src/UserAvatar.vue.js";
|
|
3
|
+
import U from "./MenuItemIcon.vue.js";
|
|
4
|
+
import V from "../../locales/index.js";
|
|
5
|
+
import { tname as E } from "../../utils/repoUtils.js";
|
|
6
|
+
import { useSetting as S } from "../hooks/useSetting.js";
|
|
7
|
+
import { redirectToLayoutLogin as A } from "../utils/index.js";
|
|
8
|
+
const D = { class: "user-info__panel" }, F = { class: "user-info__profile" }, P = { class: "user-info__profile-main" }, T = ["title"], j = ["title"], q = { class: "user-info__meta" }, z = { class: "user-info__meta-label" }, G = ["title"], H = ["href"], Z = /* @__PURE__ */ x({
|
|
9
|
+
__name: "UserInfo",
|
|
10
|
+
setup(J) {
|
|
11
|
+
const { t: _ } = V.global, i = S(), a = v(() => i.value.user || {}), L = v(() => i.value.accountMenu || []), c = v(
|
|
12
|
+
() => {
|
|
13
|
+
var o, e, n, t;
|
|
14
|
+
return ((o = a.value) == null ? void 0 : o.name) || ((e = a.value) == null ? void 0 : e.username) || ((n = a.value) == null ? void 0 : n.email) || ((t = a.value) == null ? void 0 : t.userId) || "User";
|
|
15
|
+
}
|
|
16
|
+
), I = v(
|
|
17
|
+
() => {
|
|
18
|
+
var o, e, n;
|
|
19
|
+
return [
|
|
20
|
+
{ label: _("admin.label.userName"), value: (o = a.value) == null ? void 0 : o.username },
|
|
21
|
+
{ label: _("admin.label.email"), value: (e = a.value) == null ? void 0 : e.email },
|
|
22
|
+
{ label: _("admin.label.userId"), value: (n = a.value) == null ? void 0 : n.userId }
|
|
23
|
+
].filter((t) => !!t.value);
|
|
24
|
+
}
|
|
25
|
+
), C = () => {
|
|
26
|
+
var o, e;
|
|
27
|
+
Promise.resolve((e = (o = i.value).onLogout) == null ? void 0 : e.call(o)).finally(() => {
|
|
28
|
+
i.value.onLogout || A(i.value);
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
return (o, e) => {
|
|
32
|
+
const n = M("el-popover");
|
|
33
|
+
return r(), w(n, {
|
|
34
|
+
width: 280,
|
|
35
|
+
trigger: "hover",
|
|
36
|
+
"popper-class": "top-userinfo-popover"
|
|
37
|
+
}, {
|
|
38
|
+
reference: b(() => [
|
|
39
|
+
f(d(k), {
|
|
40
|
+
class: "user-info__trigger ml-2",
|
|
41
|
+
src: a.value.avatar,
|
|
42
|
+
name: c.value
|
|
43
|
+
}, null, 8, ["src", "name"])
|
|
44
|
+
]),
|
|
45
|
+
default: b(() => {
|
|
46
|
+
var t;
|
|
47
|
+
return [
|
|
48
|
+
l("div", D, [
|
|
49
|
+
l("div", F, [
|
|
50
|
+
f(d(k), {
|
|
51
|
+
class: "user-info__profile-avatar",
|
|
52
|
+
src: a.value.avatar,
|
|
53
|
+
name: c.value
|
|
54
|
+
}, null, 8, ["src", "name"]),
|
|
55
|
+
l("div", P, [
|
|
56
|
+
l("div", {
|
|
57
|
+
class: "user-info__display-name",
|
|
58
|
+
title: c.value
|
|
59
|
+
}, u(c.value), 9, T),
|
|
60
|
+
(t = a.value) != null && t.username ? (r(), m("div", {
|
|
61
|
+
key: 0,
|
|
62
|
+
class: "user-info__username",
|
|
63
|
+
title: a.value.username
|
|
64
|
+
}, " @" + u(a.value.username), 9, j)) : B("", !0)
|
|
65
|
+
])
|
|
66
|
+
]),
|
|
67
|
+
l("div", q, [
|
|
68
|
+
(r(!0), m(h, null, y(I.value, (s) => (r(), m("div", {
|
|
69
|
+
key: s.label,
|
|
70
|
+
class: "user-info__meta-row"
|
|
71
|
+
}, [
|
|
72
|
+
l("span", z, u(s.label), 1),
|
|
73
|
+
l("span", {
|
|
74
|
+
class: "user-info__meta-value",
|
|
75
|
+
title: s.value
|
|
76
|
+
}, u(s.value), 9, G)
|
|
77
|
+
]))), 128))
|
|
78
|
+
]),
|
|
79
|
+
e[1] || (e[1] = l("div", { class: "user-info__divider" }, null, -1)),
|
|
80
|
+
(r(!0), m(h, null, y(L.value, (s, N) => {
|
|
81
|
+
var p, g;
|
|
82
|
+
return r(), m("a", {
|
|
83
|
+
key: N,
|
|
84
|
+
href: s.path,
|
|
85
|
+
class: "user-info__item"
|
|
86
|
+
}, [
|
|
87
|
+
f(U, {
|
|
88
|
+
icon: s.icon || ((p = s.meta) == null ? void 0 : p.icon)
|
|
89
|
+
}, null, 8, ["icon"]),
|
|
90
|
+
l("span", null, u(d(E)(((g = s.meta) == null ? void 0 : g.translations) || {}, "name", s.name)), 1)
|
|
91
|
+
], 8, H);
|
|
92
|
+
}), 128)),
|
|
93
|
+
e[2] || (e[2] = l("div", { class: "user-info__divider" }, null, -1)),
|
|
94
|
+
l("div", {
|
|
95
|
+
class: "user-info__item user-info__item--danger",
|
|
96
|
+
onClick: C
|
|
97
|
+
}, [
|
|
98
|
+
e[0] || (e[0] = l("i", { class: "metisicon-exit-full" }, null, -1)),
|
|
99
|
+
l("span", null, u(d(_)("common.btn.logout")), 1)
|
|
100
|
+
])
|
|
101
|
+
])
|
|
102
|
+
];
|
|
103
|
+
}),
|
|
104
|
+
_: 1
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
export {
|
|
110
|
+
Z as default
|
|
111
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.user-info__trigger[data-v-63bc60f6]{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-63bc60f6]:hover{border-color:var(--ui-topnav-foreground);filter:brightness(1.05)}.user-info__panel[data-v-63bc60f6]{display:grid;gap:4px}.user-info__profile[data-v-63bc60f6]{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:8px 8px 10px}.user-info__profile-avatar[data-v-63bc60f6]{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-63bc60f6]{min-width:0}.user-info__display-name[data-v-63bc60f6]{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-63bc60f6]{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-63bc60f6]{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-63bc60f6]{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-63bc60f6]{color:var(--ui-text-muted)}.user-info__meta-value[data-v-63bc60f6]{min-width:0;color:var(--ui-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.user-info__item[data-v-63bc60f6]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--ui-radius-control);color:var(--ui-text-primary);cursor:pointer;transition:background var(--ui-transition-fast),color var(--ui-transition-fast)}.user-info__item[data-v-63bc60f6]:hover{background:var(--ui-bg-muted)}.user-info__item--danger[data-v-63bc60f6]{color:var(--el-color-danger)}.user-info__divider[data-v-63bc60f6]{height:1px;background:var(--ui-border-soft);margin:4px 0}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export { default as AppSelect } from './AppSelect.vue';
|
|
2
|
+
export { default as AsideBar } from './AsideBar.vue';
|
|
3
|
+
export { default as AsideSubMenuItem } from './AsideSubMenuItem.vue';
|
|
4
|
+
export { default as AsideSubMenus } from './AsideSubMenus.vue';
|
|
5
|
+
export { default as AsideTabMenus } from './AsideTabMenus.vue';
|
|
6
|
+
export { default as AsideUser } from './AsideUser.vue';
|
|
7
|
+
export { default as HeaderBar } from './HeaderBar.vue';
|
|
8
|
+
export { default as HeaderMenuToggle } from './HeaderMenuToggle.vue';
|
|
9
|
+
export { default as LanguageSelect } from './LanguageSelect.vue';
|
|
10
|
+
export { default as LayoutBreadcrumb } from './LayoutBreadcrumb.vue';
|
|
11
|
+
export { default as MenuDrawer } from './MenuDrawer.vue';
|
|
12
|
+
export { default as MenuItemIcon } from './MenuItemIcon.vue';
|
|
13
|
+
export { default as NavIconBtn } from './NavIconBtn.vue';
|
|
14
|
+
export { default as SHeaderRight } from './SHeaderRight.vue';
|
|
15
|
+
export { default as ThemeToggle } from './ThemeToggle.vue';
|
|
16
|
+
export { default as TimezoneSelect } from './TimezoneSelect.vue';
|
|
17
|
+
export { default as UserInfo } from './UserInfo.vue';
|
|
18
|
+
export { default as AppSelectMobile } from './mobile/AppSelectMobile.vue';
|
|
19
|
+
export { default as AsideBarMobile } from './mobile/AsideBarMobile.vue';
|
|
20
|
+
export { default as AsideUserMobile } from './mobile/AsideUserMobile.vue';
|
|
21
|
+
export { default as AsideUserMobilePopover } from './mobile/AsideUserMobilePopover.vue';
|
|
22
|
+
export { default as HeaderRightMobile } from './mobile/HeaderRightMobile.vue';
|
|
23
|
+
export { default as MobileMenuToggle } from './mobile/MobileMenuToggle.vue';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { default as a } from "./AppSelect.vue.js";
|
|
2
|
+
import { default as f } from "./AsideBar.vue.js";
|
|
3
|
+
import { default as d } from "./AsideSubMenuItem.vue.js";
|
|
4
|
+
import { default as u } from "./AsideSubMenus.vue.js";
|
|
5
|
+
import { default as p } from "./AsideTabMenus.vue.js";
|
|
6
|
+
import { default as i } from "./AsideUser.vue.js";
|
|
7
|
+
import { default as M } from "./HeaderBar.vue.js";
|
|
8
|
+
import { default as g } from "./HeaderMenuToggle.vue.js";
|
|
9
|
+
import { default as c } from "./LanguageSelect.vue.js";
|
|
10
|
+
import { default as T } from "./LayoutBreadcrumb.vue.js";
|
|
11
|
+
import { default as I } from "./MenuDrawer.vue.js";
|
|
12
|
+
/* empty css */
|
|
13
|
+
import { default as U } from "./MenuItemIcon.vue.js";
|
|
14
|
+
import { default as v } from "./NavIconBtn.vue.js";
|
|
15
|
+
import { default as R } from "./SHeaderRight.vue.js";
|
|
16
|
+
import { default as y } from "./ThemeToggle.vue.js";
|
|
17
|
+
import { default as D } from "./TimezoneSelect.vue.js";
|
|
18
|
+
import { default as P } from "./UserInfo.vue.js";
|
|
19
|
+
import { default as k } from "./mobile/AppSelectMobile.vue.js";
|
|
20
|
+
import { default as C } from "./mobile/AsideBarMobile.vue.js";
|
|
21
|
+
import { default as F } from "./mobile/AsideUserMobile.vue.js";
|
|
22
|
+
import { default as J } from "./mobile/AsideUserMobilePopover.vue.js";
|
|
23
|
+
import { default as O } from "./mobile/HeaderRightMobile.vue.js";
|
|
24
|
+
import { default as V } from "./mobile/MobileMenuToggle.vue.js";
|
|
25
|
+
export {
|
|
26
|
+
a as AppSelect,
|
|
27
|
+
k as AppSelectMobile,
|
|
28
|
+
f as AsideBar,
|
|
29
|
+
C as AsideBarMobile,
|
|
30
|
+
d as AsideSubMenuItem,
|
|
31
|
+
u as AsideSubMenus,
|
|
32
|
+
p as AsideTabMenus,
|
|
33
|
+
i as AsideUser,
|
|
34
|
+
F as AsideUserMobile,
|
|
35
|
+
J as AsideUserMobilePopover,
|
|
36
|
+
M as HeaderBar,
|
|
37
|
+
g as HeaderMenuToggle,
|
|
38
|
+
O as HeaderRightMobile,
|
|
39
|
+
c as LanguageSelect,
|
|
40
|
+
T as LayoutBreadcrumb,
|
|
41
|
+
I as MenuDrawer,
|
|
42
|
+
U as MenuItemIcon,
|
|
43
|
+
V as MobileMenuToggle,
|
|
44
|
+
v as NavIconBtn,
|
|
45
|
+
R as SHeaderRight,
|
|
46
|
+
y as ThemeToggle,
|
|
47
|
+
D as TimezoneSelect,
|
|
48
|
+
P as UserInfo
|
|
49
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { defineComponent as C, computed as x, resolveComponent as p, createElementBlock as l, createCommentVNode as A, unref as o, openBlock as e, createVNode as B, withCtx as i, Fragment as c, renderList as f, createBlock as u } from "vue";
|
|
2
|
+
import { useApp as I } from "../../hooks/useApp.js";
|
|
3
|
+
import { injectLayoutContext as w } from "../../hooks/useState.js";
|
|
4
|
+
const L = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "w-full px-3"
|
|
7
|
+
}, F = /* @__PURE__ */ C({
|
|
8
|
+
__name: "AppSelectMobile",
|
|
9
|
+
setup(N) {
|
|
10
|
+
const { currentAppId: v } = w(), { appList: s, getAppPath: a, findAppById: h } = I(), g = x(() => {
|
|
11
|
+
const t = h(v.value);
|
|
12
|
+
return t ? a(t) : "";
|
|
13
|
+
}), k = (t) => {
|
|
14
|
+
t && (location.href = t);
|
|
15
|
+
};
|
|
16
|
+
return (t, P) => {
|
|
17
|
+
var d;
|
|
18
|
+
const _ = p("el-option"), y = p("el-option-group"), b = p("el-select");
|
|
19
|
+
return (d = o(s)) != null && d.length ? (e(), l("div", L, [
|
|
20
|
+
B(b, {
|
|
21
|
+
"model-value": g.value,
|
|
22
|
+
class: "w-full",
|
|
23
|
+
onChange: k
|
|
24
|
+
}, {
|
|
25
|
+
default: i(() => [
|
|
26
|
+
(e(!0), l(c, null, f(o(s), (n) => {
|
|
27
|
+
var m;
|
|
28
|
+
return e(), l(c, {
|
|
29
|
+
key: n.appId
|
|
30
|
+
}, [
|
|
31
|
+
(m = n.children) != null && m.length ? (e(), u(y, {
|
|
32
|
+
key: 0,
|
|
33
|
+
label: n.name
|
|
34
|
+
}, {
|
|
35
|
+
default: i(() => [
|
|
36
|
+
(e(!0), l(c, null, f(n.children, (r) => (e(), u(_, {
|
|
37
|
+
key: r.appId,
|
|
38
|
+
label: r.name,
|
|
39
|
+
value: o(a)(r),
|
|
40
|
+
style: { "padding-left": "30px" }
|
|
41
|
+
}, null, 8, ["label", "value"]))), 128))
|
|
42
|
+
]),
|
|
43
|
+
_: 2
|
|
44
|
+
}, 1032, ["label"])) : (e(), u(_, {
|
|
45
|
+
key: 1,
|
|
46
|
+
label: n.name,
|
|
47
|
+
value: o(a)(n)
|
|
48
|
+
}, null, 8, ["label", "value"]))
|
|
49
|
+
], 64);
|
|
50
|
+
}), 128))
|
|
51
|
+
]),
|
|
52
|
+
_: 1
|
|
53
|
+
}, 8, ["model-value"])
|
|
54
|
+
])) : A("", !0);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
export {
|
|
59
|
+
F as default
|
|
60
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.aside-bar-mobile[data-v-dede8d1e]{border-right:1px solid var(--ui-sidebar-border);background:var(--ui-sidebar-bg);color:var(--ui-sidebar-foreground);box-shadow:var(--ui-shadow-pop)}.aside-bar-mobile__head[data-v-dede8d1e]{border-bottom:1px solid var(--ui-sidebar-border)}.aside-bar-mobile__close[data-v-dede8d1e]{color:var(--ui-text-muted)}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare function __VLS_template(): {
|
|
2
|
+
attrs: Partial<{}>;
|
|
3
|
+
slots: {
|
|
4
|
+
'sidebar-foot'?(_: {}): any;
|
|
5
|
+
};
|
|
6
|
+
refs: {
|
|
7
|
+
leftScrollRef: unknown;
|
|
8
|
+
};
|
|
9
|
+
rootEl: any;
|
|
10
|
+
};
|
|
11
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
12
|
+
declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
13
|
+
leftScrollRef: unknown;
|
|
14
|
+
}, any>;
|
|
15
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { defineComponent as d, resolveComponent as s, createElementBlock as _, createCommentVNode as f, unref as o, openBlock as p, normalizeClass as u, createElementVNode as l, createVNode as e, renderSlot as b, withCtx as i } from "vue";
|
|
2
|
+
import { Fold as x } from "@element-plus/icons-vue";
|
|
3
|
+
import { injectLayoutContext as h } from "../../hooks/useState.js";
|
|
4
|
+
import v from "../AsideSubMenus.vue.js";
|
|
5
|
+
import C from "./AppSelectMobile.vue.js";
|
|
6
|
+
import g from "./AsideUserMobile.vue.js";
|
|
7
|
+
const k = { class: "aside-bar-mobile__head flex justify-between items-center pt-4 pb-4 px-4" }, w = { class: "p-3" }, A = /* @__PURE__ */ d({
|
|
8
|
+
__name: "AsideBarMobile",
|
|
9
|
+
setup($) {
|
|
10
|
+
const { menus: n, sideOpen: t } = h(), a = () => void (t.value = !t.value);
|
|
11
|
+
return (r, y) => {
|
|
12
|
+
const m = s("el-icon"), c = s("el-scrollbar");
|
|
13
|
+
return o(n).length && !r.$route.meta.hideSidebar ? (p(), _("div", {
|
|
14
|
+
key: 0,
|
|
15
|
+
class: u(["aside-bar-mobile flex flex-col h-full min-h-0 w-1/2 min-w-70 fixed top-0 left-0 z-200 transition-all", [o(t) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
|
|
16
|
+
}, [
|
|
17
|
+
l("div", k, [
|
|
18
|
+
l("div", {
|
|
19
|
+
class: "aside-bar-mobile__close text-lg cursor-pointer p-2 leading-4",
|
|
20
|
+
onClick: a
|
|
21
|
+
}, [
|
|
22
|
+
e(m, null, {
|
|
23
|
+
default: i(() => [
|
|
24
|
+
e(o(x))
|
|
25
|
+
]),
|
|
26
|
+
_: 1
|
|
27
|
+
})
|
|
28
|
+
]),
|
|
29
|
+
e(C)
|
|
30
|
+
]),
|
|
31
|
+
e(c, { ref: "leftScrollRef" }, {
|
|
32
|
+
default: i(() => [
|
|
33
|
+
l("div", w, [
|
|
34
|
+
e(v, { menus: o(n) }, null, 8, ["menus"])
|
|
35
|
+
])
|
|
36
|
+
]),
|
|
37
|
+
_: 1
|
|
38
|
+
}, 512),
|
|
39
|
+
b(r.$slots, "sidebar-foot", {}, void 0, !0),
|
|
40
|
+
e(g)
|
|
41
|
+
], 2)) : f("", !0);
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
export {
|
|
46
|
+
A as default
|
|
47
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.aside-user-mobile[data-v-c56964a5]{width:100%;position:relative;display:flex;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--ui-sidebar-border);color:var(--ui-sidebar-foreground);cursor:pointer}.aside-user-mobile__icon[data-v-c56964a5]{color:var(--ui-text-muted)}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { defineComponent as v, computed as n, resolveComponent as f, createBlock as g, createElementBlock as b, openBlock as u, withCtx as r, createElementVNode as o, toDisplayString as y, createVNode as t, unref as c } from "vue";
|
|
2
|
+
import { ArrowRight as d } from "@element-plus/icons-vue";
|
|
3
|
+
import { useSetting as h } from "../../hooks/useSetting.js";
|
|
4
|
+
import { redirectToLayoutLogin as k } from "../../utils/index.js";
|
|
5
|
+
import x from "./AsideUserMobilePopover.vue.js";
|
|
6
|
+
const C = { class: "aside-user-mobile" }, L = { class: "flex-1" }, A = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, B = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, T = /* @__PURE__ */ v({
|
|
7
|
+
__name: "AsideUserMobile",
|
|
8
|
+
setup(U) {
|
|
9
|
+
const i = h(), s = n(() => i.value.user || {}), m = n(() => !!(s.value.id || s.value.userId)), _ = n(() => s.value.name || s.value.username), p = () => {
|
|
10
|
+
var l, e;
|
|
11
|
+
(e = (l = i.value).onLogin) != null && e.call(l) || k(i.value);
|
|
12
|
+
};
|
|
13
|
+
return (l, e) => {
|
|
14
|
+
const a = f("el-icon");
|
|
15
|
+
return m.value ? (u(), g(x, { key: 0 }, {
|
|
16
|
+
reference: r(() => [
|
|
17
|
+
o("div", C, [
|
|
18
|
+
e[0] || (e[0] = o("div", { class: "aside-user-mobile__icon text-lg" }, [
|
|
19
|
+
o("i", { class: "metisicon-yonghu1" })
|
|
20
|
+
], -1)),
|
|
21
|
+
o("div", L, y(_.value), 1),
|
|
22
|
+
o("div", A, [
|
|
23
|
+
t(a, null, {
|
|
24
|
+
default: r(() => [
|
|
25
|
+
t(c(d))
|
|
26
|
+
]),
|
|
27
|
+
_: 1
|
|
28
|
+
})
|
|
29
|
+
])
|
|
30
|
+
])
|
|
31
|
+
]),
|
|
32
|
+
_: 1
|
|
33
|
+
})) : (u(), b("div", {
|
|
34
|
+
key: 1,
|
|
35
|
+
class: "aside-user-mobile",
|
|
36
|
+
onClick: p
|
|
37
|
+
}, [
|
|
38
|
+
e[1] || (e[1] = o("div", { class: "aside-user-mobile__icon text-lg" }, [
|
|
39
|
+
o("i", { class: "metisicon-yonghu1" })
|
|
40
|
+
], -1)),
|
|
41
|
+
e[2] || (e[2] = o("div", { class: "flex-1" }, "登录/注册", -1)),
|
|
42
|
+
o("div", B, [
|
|
43
|
+
t(a, null, {
|
|
44
|
+
default: r(() => [
|
|
45
|
+
t(c(d))
|
|
46
|
+
]),
|
|
47
|
+
_: 1
|
|
48
|
+
})
|
|
49
|
+
])
|
|
50
|
+
]));
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
export {
|
|
55
|
+
T as default
|
|
56
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.mobile-user-popover[data-v-87e082b1]{display:grid;gap:4px}.mobile-user-popover__item[data-v-87e082b1]{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:var(--ui-radius-control);color:var(--ui-text-primary);cursor:pointer;transition:background var(--ui-transition-fast),color var(--ui-transition-fast)}.mobile-user-popover__item[data-v-87e082b1]:hover{background:var(--ui-bg-muted)}.mobile-user-popover__item--danger[data-v-87e082b1]{color:var(--el-color-danger)}.mobile-user-popover__divider[data-v-87e082b1]{height:1px;background:var(--ui-border-default);margin:2px 0}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare function __VLS_template(): {
|
|
2
|
+
attrs: Partial<{}>;
|
|
3
|
+
slots: {
|
|
4
|
+
reference?(_: {}): any;
|
|
5
|
+
};
|
|
6
|
+
refs: {};
|
|
7
|
+
rootEl: any;
|
|
8
|
+
};
|
|
9
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
10
|
+
declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
11
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { defineComponent as a, computed as c, resolveComponent as v, createBlock as d, openBlock as f, withCtx as n, createElementVNode as o, createVNode as _, toDisplayString as i, unref as s, renderSlot as g } from "vue";
|
|
2
|
+
import b from "../../../locales/index.js";
|
|
3
|
+
import { useSetting as C } from "../../hooks/useSetting.js";
|
|
4
|
+
import { getLayoutUserCenterPath as L, redirectToLayoutLogin as y } from "../../utils/index.js";
|
|
5
|
+
import h from "../LanguageSelect.vue.js";
|
|
6
|
+
const k = { class: "mobile-user-popover" }, P = ["href"], V = /* @__PURE__ */ a({
|
|
7
|
+
__name: "AsideUserMobilePopover",
|
|
8
|
+
setup(S) {
|
|
9
|
+
const { t: l } = b.global, t = C(), p = c(() => L(t.value)), u = () => {
|
|
10
|
+
var r, e;
|
|
11
|
+
Promise.resolve((e = (r = t.value).onLogout) == null ? void 0 : e.call(r)).finally(() => {
|
|
12
|
+
t.value.onLogout || y(t.value);
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
return (r, e) => {
|
|
16
|
+
const m = v("el-popover");
|
|
17
|
+
return f(), d(m, {
|
|
18
|
+
width: 220,
|
|
19
|
+
trigger: "click",
|
|
20
|
+
"popper-class": "top-userinfo-popover"
|
|
21
|
+
}, {
|
|
22
|
+
reference: n(() => [
|
|
23
|
+
g(r.$slots, "reference", {}, void 0, !0)
|
|
24
|
+
]),
|
|
25
|
+
default: n(() => [
|
|
26
|
+
o("div", k, [
|
|
27
|
+
o("a", {
|
|
28
|
+
href: p.value,
|
|
29
|
+
class: "mobile-user-popover__item"
|
|
30
|
+
}, [
|
|
31
|
+
e[0] || (e[0] = o("i", { class: "metisicon-yonghu1" }, null, -1)),
|
|
32
|
+
o("span", null, i(s(l)("admin.label.profile")), 1)
|
|
33
|
+
], 8, P),
|
|
34
|
+
_(h),
|
|
35
|
+
e[2] || (e[2] = o("div", { class: "mobile-user-popover__divider" }, null, -1)),
|
|
36
|
+
o("div", {
|
|
37
|
+
class: "mobile-user-popover__item mobile-user-popover__item--danger",
|
|
38
|
+
onClick: u
|
|
39
|
+
}, [
|
|
40
|
+
e[1] || (e[1] = o("i", { class: "metisicon-exit-full" }, null, -1)),
|
|
41
|
+
o("span", null, i(s(l)("common.btn.logout")), 1)
|
|
42
|
+
])
|
|
43
|
+
])
|
|
44
|
+
]),
|
|
45
|
+
_: 3
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
export {
|
|
51
|
+
V as default
|
|
52
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.header-right-mobile[data-v-03748150]{--nav-icon-btn-size: 40px;display:flex;align-items:center;gap:10px;padding-right:4px}.header-right-mobile__action[data-v-03748150]{--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)}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
2
|
+
export default _default;
|