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.
@@ -1,160 +1,98 @@
1
- import { ref as E, readonly as Z } from "vue";
2
- const D = 3600 * 24 * 7, u = "UTC", S = "timezone", A = [
3
- "UTC",
4
- "Asia/Shanghai",
5
- "Asia/Hong_Kong",
6
- "Asia/Singapore",
7
- "Asia/Tokyo",
8
- "Europe/London",
9
- "Europe/Berlin",
10
- "America/New_York",
11
- "America/Los_Angeles"
12
- ], T = /* @__PURE__ */ new Map(), l = () => {
1
+ import { ref as S } from "vue";
2
+ const T = 3600 * 24 * 7, b = "UTC", j = "timezone", a = () => {
13
3
  try {
14
4
  return globalThis.localStorage;
15
5
  } catch {
16
6
  return;
17
7
  }
18
- }, m = {
19
- get(e, t = null) {
20
- const n = l(), o = n == null ? void 0 : n.getItem(e.toUpperCase());
21
- if (!o) return t;
8
+ }, g = {
9
+ get(t, n = null) {
10
+ const e = a(), r = e == null ? void 0 : e.getItem(t.toUpperCase());
11
+ if (!r) return n;
22
12
  try {
23
- const r = JSON.parse(o);
24
- if (r.expire === null || r.expire >= Date.now())
25
- return r.value;
26
- n == null || n.removeItem(e.toUpperCase());
13
+ const o = JSON.parse(r);
14
+ if (o.expire === null || o.expire >= Date.now())
15
+ return o.value;
16
+ e == null || e.removeItem(t.toUpperCase());
27
17
  } catch {
28
- return t;
18
+ return n;
29
19
  }
30
- return t;
20
+ return n;
31
21
  },
32
- set(e, t, n = D) {
33
- const o = l(), r = {
34
- value: t,
35
- expire: n === null ? null : Date.now() + n * 1e3
22
+ set(t, n, e = T) {
23
+ const r = a(), o = {
24
+ value: n,
25
+ expire: e === null ? null : Date.now() + e * 1e3
36
26
  };
37
- o == null || o.setItem(e.toUpperCase(), JSON.stringify(r));
27
+ r == null || r.setItem(t.toUpperCase(), JSON.stringify(o));
38
28
  },
39
29
  clear() {
40
- var e;
41
- (e = l()) == null || e.clear();
30
+ var t;
31
+ (t = a()) == null || t.clear();
42
32
  }
43
- }, L = (e) => typeof e == "object" && e !== null, h = (e) => {
44
- if (!L(e) || Object.prototype.toString.call(e) !== "[object Object]") return !1;
45
- const t = Object.getPrototypeOf(e);
46
- return t === null || t === Object.prototype;
33
+ }, y = (t) => typeof t == "object" && t !== null, f = (t) => {
34
+ if (!y(t) || Object.prototype.toString.call(t) !== "[object Object]") return !1;
35
+ const n = Object.getPrototypeOf(t);
36
+ return n === null || n === Object.prototype;
47
37
  };
48
- function U(e, t) {
49
- if (!h(e)) return t;
50
- if (!h(t)) return e;
51
- const n = e;
52
- return Object.keys(t).concat(Object.getOwnPropertySymbols(t)).forEach((o) => {
53
- n[o] = U(
54
- n[o],
55
- t[o]
38
+ function E(t, n) {
39
+ if (!f(t)) return n;
40
+ if (!f(n)) return t;
41
+ const e = t;
42
+ return Object.keys(n).concat(Object.getOwnPropertySymbols(n)).forEach((r) => {
43
+ e[r] = E(
44
+ e[r],
45
+ n[r]
56
46
  );
57
- }), n;
47
+ }), e;
58
48
  }
59
- function M() {
60
- const e = typeof navigator > "u" ? "en-US" : navigator.language;
61
- return String(m.get("locale", e)).includes("zh") ? "zh-CN" : "en-US";
49
+ function w() {
50
+ const t = typeof navigator > "u" ? "en-US" : navigator.language;
51
+ return String(g.get("locale", t)).includes("zh") ? "zh-CN" : "en-US";
62
52
  }
63
- const d = (e, t, n) => {
64
- var o;
65
- return ((o = t == null ? void 0 : t[n]) == null ? void 0 : o[e]) || "";
66
- }, z = (e, t, n = "") => {
67
- const o = e;
68
- return d(t, o, M()) || n || d(t, o, "en-US");
69
- }, F = (e = "") => e.replace(/【.*】/, ""), j = (e, t, n) => {
70
- var o, r, s, i, f;
71
- for (const c of t) {
72
- const C = ((o = c.path) == null ? void 0 : o.replace(/\/:(\w+)/g, "/([^/]+)")) || "", b = new RegExp(`^${C}$`);
73
- if (((r = c.path) == null ? void 0 : r.toLowerCase()) === e || b.test(e))
74
- return ((s = c.meta) == null ? void 0 : s.visible) === "0" && (n == null ? void 0 : n.path) || "";
75
- if ((i = c.children) != null && i.length) {
76
- const g = j(
77
- e,
78
- c.children,
79
- ((f = c.meta) == null ? void 0 : f.visible) === "1" ? c : n
53
+ const m = (t, n, e) => {
54
+ var r;
55
+ return ((r = n == null ? void 0 : n[e]) == null ? void 0 : r[t]) || "";
56
+ }, v = (t, n, e = "") => {
57
+ const r = t;
58
+ return m(n, r, w()) || e || m(n, r, "en-US");
59
+ }, x = (t = "") => t.replace(/【.*】/, ""), C = (t, n, e) => {
60
+ var r, o, c, i, l;
61
+ for (const s of n) {
62
+ const h = ((r = s.path) == null ? void 0 : r.replace(/\/:(\w+)/g, "/([^/]+)")) || "", O = new RegExp(`^${h}$`);
63
+ if (((o = s.path) == null ? void 0 : o.toLowerCase()) === t || O.test(t))
64
+ return ((c = s.meta) == null ? void 0 : c.visible) === "0" && (e == null ? void 0 : e.path) || "";
65
+ if ((i = s.children) != null && i.length) {
66
+ const p = C(
67
+ t,
68
+ s.children,
69
+ ((l = s.meta) == null ? void 0 : l.visible) === "1" ? s : e
80
70
  );
81
- if (g) return g;
71
+ if (p) return p;
82
72
  }
83
73
  }
84
74
  return "";
85
- }, x = (e, t) => {
86
- const n = e.resolve(t);
87
- if (!(n != null && n.name)) return !1;
88
- const o = String(n.name).split("-").filter((s) => !!s && s !== "index"), r = n.path.split("-").join("/").split("/").filter(Boolean);
89
- return o.length === r.length && o.every((s, i) => s === r[i]);
90
- }, a = (e) => typeof e == "string" && O(e) ? e : "", O = (e) => {
75
+ }, D = (t, n) => {
76
+ const e = t.resolve(n);
77
+ if (!(e != null && e.name)) return !1;
78
+ const r = String(e.name).split("-").filter((c) => !!c && c !== "index"), o = e.path.split("-").join("/").split("/").filter(Boolean);
79
+ return r.length === o.length && r.every((c, i) => c === o[i]);
80
+ }, u = (t) => typeof t == "string" && L(t) ? t : "", L = (t) => {
91
81
  try {
92
- return new Intl.DateTimeFormat("en-US", { timeZone: e }).format(/* @__PURE__ */ new Date()), !0;
82
+ return new Intl.DateTimeFormat("en-US", { timeZone: t }).format(/* @__PURE__ */ new Date()), !0;
93
83
  } catch {
94
84
  return !1;
95
85
  }
96
- }, y = () => a(Intl.DateTimeFormat().resolvedOptions().timeZone) || u, p = E(
97
- a(m.get(S)) || y()
98
- ), B = () => Z(p);
99
- function R(e) {
100
- const t = a(e);
101
- t && (p.value = t, m.set(S, t, null));
102
- }
103
- const _ = (e) => {
104
- const t = a(e) || u, n = T.get(t);
105
- if (n) return n;
106
- const o = new Intl.DateTimeFormat("en-US", {
107
- timeZone: t,
108
- year: "numeric",
109
- month: "2-digit",
110
- day: "2-digit",
111
- hour: "2-digit",
112
- minute: "2-digit",
113
- second: "2-digit",
114
- hourCycle: "h23"
115
- });
116
- return T.set(t, o), o;
117
- }, v = (e, t) => _(t).formatToParts(e).reduce((o, r) => (r.type !== "literal" && (o[r.type] = Number(r.value)), o), {}), I = (e, t = /* @__PURE__ */ new Date()) => {
118
- const n = a(e) || u, o = v(t, n), r = Date.UTC(
119
- o.year || 0,
120
- (o.month || 1) - 1,
121
- o.day || 1,
122
- o.hour || 0,
123
- o.minute || 0,
124
- o.second || 0,
125
- t.getMilliseconds()
126
- );
127
- return Math.round((r - t.getTime()) / 6e4);
128
- }, w = (e, t = /* @__PURE__ */ new Date()) => {
129
- const n = I(e, t), o = n >= 0 ? "+" : "-", r = Math.abs(n), s = Math.floor(r / 60), i = r % 60;
130
- return `UTC${o}${String(s).padStart(2, "0")}:${String(
131
- i
132
- ).padStart(2, "0")}`;
133
- }, K = (e, t = /* @__PURE__ */ new Date()) => `${e} (${w(e, t)})`, H = (e = /* @__PURE__ */ new Date()) => {
134
- const t = new Set(
135
- [y(), ...A, p.value].filter(
136
- O
137
- )
138
- );
139
- return Array.from(t).map((n) => {
140
- const o = w(n, e);
141
- return {
142
- value: n,
143
- label: `${n} (${o})`,
144
- offset: o
145
- };
146
- });
147
- };
86
+ }, d = () => u(Intl.DateTimeFormat().resolvedOptions().timeZone) || b;
87
+ S(
88
+ u(g.get(j)) || d()
89
+ );
148
90
  export {
149
- m as Storage,
150
- U as deepMerge,
151
- M as getCurrentLocale,
152
- j as getRouteLastVisibleParentMenu,
153
- K as getTimeZoneLabel,
154
- H as getTimeZoneOptions,
155
- x as hasRoutePermission,
156
- F as replaceName,
157
- R as setCurrentTimeZone,
158
- z as tname,
159
- B as useCurrentTimeZone
91
+ g as Storage,
92
+ E as deepMerge,
93
+ w as getCurrentLocale,
94
+ C as getRouteLastVisibleParentMenu,
95
+ D as hasRoutePermission,
96
+ x as replaceName,
97
+ v as tname
160
98
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mamba-layout",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Shared Mamba Vue layout shell and standalone browser layout.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -1,2 +0,0 @@
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;
@@ -1,41 +0,0 @@
1
- import { defineComponent as h, openBlock as o, createElementBlock as r, Fragment as _, renderList as f, unref as a, normalizeClass as i, createElementVNode as u, createCommentVNode as m, toDisplayString as x } from "vue";
2
- import { useRouter as g } from "vue-router";
3
- import { injectLayoutContext as v } from "../hooks/useState.js";
4
- const b = { class: "flex-1 p-2 w-full" }, y = ["onClick"], k = {
5
- key: 0,
6
- class: "text-lg"
7
- }, C = { class: "text-xs" }, T = /* @__PURE__ */ h({
8
- __name: "AsideTabMenus",
9
- setup(w) {
10
- const l = g(), { menus: p, currentTabPath: c } = v(), d = (n) => {
11
- var s, e;
12
- if (c.value = n.path || "", !((s = n.children) != null && s.length))
13
- n.path && l.push(n.path);
14
- else {
15
- let t = n;
16
- for (; (e = t.children) != null && e.length; )
17
- t = t.children[0];
18
- t.path && l.push(t.path);
19
- }
20
- };
21
- return (n, s) => (o(), r("div", b, [
22
- (o(!0), r(_, null, f(a(p), (e, t) => (o(), r("div", {
23
- key: t,
24
- class: i(["pt-2 pb-2 mt-1 mb-1 flex flex-col items-center cursor-pointer rounded-2xl hover:bg-gray-100", [
25
- a(c) == e.path ? "bg-gray-100 text-blue-500" : "text-gray-500"
26
- ]]),
27
- onClick: (B) => d(e)
28
- }, [
29
- e.icon ? (o(), r("div", k, [
30
- u("i", {
31
- class: i(e.icon)
32
- }, null, 2)
33
- ])) : m("", !0),
34
- u("div", C, x(e.name), 1)
35
- ], 10, y))), 128))
36
- ]));
37
- }
38
- });
39
- export {
40
- T as default
41
- };
@@ -1,4 +0,0 @@
1
- import f from "./AsideTabMenus.vue.js";
2
- export {
3
- f as default
4
- };
@@ -1,2 +0,0 @@
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;
@@ -1,58 +0,0 @@
1
- import { defineComponent as b, computed as c, resolveComponent as y, openBlock as n, createBlock as x, withCtx as i, createElementVNode as t, createElementBlock as u, createCommentVNode as p, toDisplayString as a, unref as k } from "vue";
2
- import { useRouter as C } from "vue-router";
3
- import h from "../../locales/index.js";
4
- import { useSetting as T } from "../hooks/useSetting.js";
5
- const B = { class: "pb-4 flex flex-col items-center cursor-pointer" }, L = { class: "" }, w = {
6
- key: 1,
7
- class: "mt-2 mb-2 border border-gray-200 border-t border-b-0"
8
- }, P = /* @__PURE__ */ b({
9
- __name: "AsideUser",
10
- setup(E) {
11
- const { t: m } = h.global, r = T(), d = {
12
- 0: "管理员",
13
- 1: "创作者",
14
- 2: "用户"
15
- }, s = c(() => r.value.user || {}), v = c(() => d[s.value.userType]), l = C(), f = () => {
16
- var o, e;
17
- Promise.resolve((e = (o = r.value).onLogout) == null ? void 0 : e.call(o)).finally(() => {
18
- r.value.onLogout || l.replace("/login");
19
- });
20
- }, g = (o) => {
21
- l.push(o);
22
- };
23
- return (o, e) => {
24
- const _ = y("el-popover");
25
- return n(), x(_, {
26
- width: 200,
27
- trigger: "click"
28
- }, {
29
- reference: i(() => [
30
- t("div", B, [
31
- e[1] || (e[1] = t("div", { class: "text-lg text-blue-500" }, [
32
- t("i", { class: "metisicon-yonghu1" })
33
- ], -1)),
34
- t("div", L, a(v.value), 1)
35
- ])
36
- ]),
37
- default: i(() => [
38
- t("div", null, [
39
- s.value.userType == "0" ? (n(), u("div", {
40
- key: 0,
41
- class: "cursor-pointer pt-2 pb-2 text-center",
42
- onClick: e[0] || (e[0] = (N) => g("/admin/user"))
43
- }, " 用户管理 ")) : p("", !0),
44
- s.value.userType == "0" ? (n(), u("div", w)) : p("", !0),
45
- t("div", {
46
- class: "cursor-pointer pt-2 pb-2 text-center",
47
- onClick: f
48
- }, a(k(m)("common.btn.logout")), 1)
49
- ])
50
- ]),
51
- _: 1
52
- });
53
- };
54
- }
55
- });
56
- export {
57
- P as default
58
- };
@@ -1,4 +0,0 @@
1
- import f from "./AsideUser.vue.js";
2
- export {
3
- f as default
4
- };
@@ -1,25 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
2
- drawerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
3
- modelValue?: boolean;
4
- }> & Readonly<{
5
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
6
- }>, {
7
- visible: import('vue').ModelRef<boolean, string, boolean, boolean>;
8
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
- "update:modelValue": (value: boolean) => any;
10
- }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
11
- P: {};
12
- B: {};
13
- D: {};
14
- C: {};
15
- M: {};
16
- Defaults: {};
17
- }, Readonly<{
18
- modelValue?: boolean;
19
- }> & Readonly<{
20
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
21
- }>, {
22
- visible: import('vue').ModelRef<boolean, string, boolean, boolean>;
23
- }, {}, {}, {}, {}> | null;
24
- }, any>;
25
- export default _default;
@@ -1,40 +0,0 @@
1
- import { defineComponent as f, ref as r, resolveComponent as p, openBlock as t, createElementBlock as d, Fragment as _, createElementVNode as l, createVNode as a, withCtx as v, createBlock as s, unref as c } from "vue";
2
- import { Expand as x, Close as g } from "@element-plus/icons-vue";
3
- import k from "./MenuDrawer.vue.js";
4
- /* empty css */
5
- const w = { class: "text-lg w-6 h-6 flex items-center justify-center pointer-events-none" }, b = /* @__PURE__ */ f({
6
- __name: "HeaderMenuToggle",
7
- setup(y) {
8
- const e = r(!1), u = r(), o = () => {
9
- e.value = !e.value;
10
- };
11
- return (C, n) => {
12
- const i = p("el-icon");
13
- return t(), d(_, null, [
14
- l("div", {
15
- class: "bg-blue-500 h-13 w-13 flex items-center justify-center text-white cursor-pointer",
16
- onMouseenter: o,
17
- onClick: o
18
- }, [
19
- l("div", w, [
20
- a(i, null, {
21
- default: v(() => [
22
- e.value ? (t(), s(c(g), { key: 1 })) : (t(), s(c(x), { key: 0 }))
23
- ]),
24
- _: 1
25
- })
26
- ])
27
- ], 32),
28
- a(k, {
29
- modelValue: e.value,
30
- "onUpdate:modelValue": n[0] || (n[0] = (m) => e.value = m),
31
- ref_key: "drawerRef",
32
- ref: u
33
- }, null, 8, ["modelValue"])
34
- ], 64);
35
- };
36
- }
37
- });
38
- export {
39
- b as default
40
- };
@@ -1,4 +0,0 @@
1
- import f from "./HeaderMenuToggle.vue.js";
2
- export {
3
- f as default
4
- };
@@ -1 +0,0 @@
1
- .menu-drawer-modal{height:calc(100% - 52px);top:auto}.menu-drawer-modal .el-drawer__body{overflow:hidden;padding:0}
@@ -1,12 +0,0 @@
1
- declare const visible: import('vue').ModelRef<boolean, string, boolean, boolean>;
2
- type __VLS_PublicProps = {
3
- "modelValue"?: typeof visible['value'];
4
- };
5
- declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
6
- visible: import('vue').ModelRef<boolean, string, boolean, boolean>;
7
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
- "update:modelValue": (value: boolean) => any;
9
- }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
10
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
11
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
- export default _default;
@@ -1,163 +0,0 @@
1
- import { defineComponent as $, computed as D, useModel as q, resolveComponent as B, openBlock as d, createBlock as E, withCtx as b, createVNode as H, createElementVNode as a, createElementBlock as m, Fragment as x, renderList as g, toDisplayString as v, normalizeClass as M, unref as p, resolveDynamicComponent as J, mergeProps as K } from "vue";
2
- import { replaceName as y, tname as I } from "../../utils/repoUtils.js";
3
- import { useApp as Q } from "../hooks/useApp.js";
4
- import { useSetting as Y } from "../hooks/useSetting.js";
5
- import { injectLayoutContext as Z } from "../hooks/useState.js";
6
- const ee = { class: "py-5" }, te = { class: "flex-1 min-w-0 flex items-center px-5" }, ae = { class: "flex-1 min-w-0 flex items-center" }, se = { class: "flex-1 min-w-0" }, le = ["href"], re = ["title"], ne = { class: "p-5" }, oe = { class: "font-bold mb-3 leading-4 text-sm px-2 border-l-3 border-blue-500" }, de = { class: "grid grid-cols-4 gap-3" }, ie = { class: "truncate" }, he = /* @__PURE__ */ $({
7
- __name: "MenuDrawer",
8
- props: {
9
- modelValue: {
10
- type: Boolean,
11
- default: !1
12
- },
13
- modelModifiers: {}
14
- },
15
- emits: ["update:modelValue"],
16
- setup(j, { expose: L }) {
17
- const O = Y(), { appList: S, getAppPath: z, findAppById: F } = Q(), T = D(() => V(S.value)), W = D(
18
- () => (O.value.menus || []).reduce((t, e) => {
19
- var o, s, f, i;
20
- const n = t.find((l) => {
21
- var c;
22
- return l.appId == ((c = e.meta) == null ? void 0 : c.appId);
23
- });
24
- if (n)
25
- (o = n.children) == null || o.push(e);
26
- else {
27
- const l = F((s = e.meta) == null ? void 0 : s.appId);
28
- t.push({
29
- appId: ((f = e.meta) == null ? void 0 : f.appId) || "",
30
- appName: (l == null ? void 0 : l.name) || ((i = e.meta) == null ? void 0 : i.appId) || "",
31
- appDesc: l == null ? void 0 : l.desc,
32
- appPath: z(l),
33
- children: [e]
34
- });
35
- }
36
- return t;
37
- }, []).sort((t, e) => C(t.appId) - C(e.appId))
38
- ), u = q(j, "modelValue"), G = (t) => R.value === t, { defaultParentActive: R, currentAppId: w, currentTabPath: k } = Z(), U = (t) => {
39
- var e;
40
- return /^http/.test(t.path || "") || !((e = t.path) != null && e.startsWith(k.value)) ? "a" : "router-link";
41
- }, X = (t) => {
42
- var e, n, o;
43
- return /^http/.test(t.path || "") || !((e = t.path) != null && e.startsWith(k.value)) ? {
44
- href: t.path,
45
- "data-tag": "a",
46
- "data-appid": (n = t.meta) == null ? void 0 : n.appId,
47
- "data-current-appid": w.value
48
- } : {
49
- to: t.path,
50
- "data-tag": "router-link",
51
- "data-appid": (o = t.meta) == null ? void 0 : o.appId,
52
- "data-current-appid": w.value
53
- };
54
- };
55
- L({ visible: u });
56
- function C(t) {
57
- const e = T.value.indexOf(t);
58
- return e === -1 ? Number.MAX_SAFE_INTEGER : e;
59
- }
60
- function V(t) {
61
- return t.flatMap((e) => [
62
- e.appId,
63
- ...V(e.children || [])
64
- ]);
65
- }
66
- return (t, e) => {
67
- const n = B("el-scrollbar"), o = B("el-drawer");
68
- return d(), E(o, {
69
- modelValue: u.value,
70
- "onUpdate:modelValue": e[1] || (e[1] = (s) => u.value = s),
71
- direction: "ltr",
72
- "append-to-body": "",
73
- size: "800",
74
- class: "menu-drawer",
75
- "modal-class": "menu-drawer-modal",
76
- "with-header": !1
77
- }, {
78
- default: b(() => [
79
- H(n, { class: "" }, {
80
- default: b(() => [
81
- a("div", ee, [
82
- (d(!0), m(x, null, g(W.value, (s, f) => (d(), m("div", {
83
- key: f,
84
- class: "flex flex-col h-full mb-4"
85
- }, [
86
- a("div", te, [
87
- a("div", ae, [
88
- e[2] || (e[2] = a("div", { class: "bg-blue-100 rounded-lg flex items-center justify-center w-10 h-10 mr-4 text-blue-500 text-3xl" }, [
89
- a("i", { class: "metisicon-tishici" })
90
- ], -1)),
91
- a("div", se, [
92
- a("a", {
93
- class: "text-base font-bold",
94
- href: s.appPath || void 0
95
- }, v(s.appName || s.appId), 9, le),
96
- a("div", {
97
- class: "text-xs text-gray-500 truncate",
98
- title: s.appDesc
99
- }, v(s.appDesc), 9, re)
100
- ])
101
- ])
102
- ]),
103
- a("div", ne, [
104
- (d(!0), m(x, null, g(s.children, (i, l) => {
105
- var c, A;
106
- return d(), m("div", {
107
- key: l,
108
- class: M({ "mb-4": l < s.children.length - 1 })
109
- }, [
110
- a("div", oe, v(p(y)(
111
- p(I)(((c = i.meta) == null ? void 0 : c.translations) || {}, "name", i.name)
112
- )), 1),
113
- a("div", de, [
114
- (d(!0), m(x, null, g((A = i.children) == null ? void 0 : A.filter(
115
- (r) => {
116
- var h;
117
- return ((h = r.meta) == null ? void 0 : h.visible) != "0";
118
- }
119
- ), (r, h) => {
120
- var N;
121
- return d(), E(J(U(r)), K({
122
- key: h,
123
- class: ["px-4 h-9 flex items-center justify-start rounded-lg gap-2", [
124
- G(r.path) ? "border-blue-500 text-white bg-blue-500" : "bg-gray-100 border-1 border-gray-100 hover:border-blue-500 hover:text-blue-500"
125
- ]],
126
- title: p(y)(
127
- p(I)(((N = r.meta) == null ? void 0 : N.translations) || {}, "name", r.name)
128
- )
129
- }, { ref_for: !0 }, X(r), {
130
- onClick: e[0] || (e[0] = (_) => u.value = !1)
131
- }), {
132
- default: b(() => {
133
- var _, P;
134
- return [
135
- a("i", {
136
- class: M(((_ = r.meta) == null ? void 0 : _.icon) || "metisicon-yingyong")
137
- }, null, 2),
138
- a("span", ie, v(p(y)(
139
- p(I)(((P = r.meta) == null ? void 0 : P.translations) || {}, "name", r.name)
140
- )), 1)
141
- ];
142
- }),
143
- _: 2
144
- }, 1040, ["class", "title"]);
145
- }), 128))
146
- ])
147
- ], 2);
148
- }), 128))
149
- ])
150
- ]))), 128))
151
- ])
152
- ]),
153
- _: 1
154
- })
155
- ]),
156
- _: 1
157
- }, 8, ["modelValue"]);
158
- };
159
- }
160
- });
161
- export {
162
- he as default
163
- };
@@ -1,5 +0,0 @@
1
- import o from "./MenuDrawer.vue.js";
2
- /* empty css */
3
- export {
4
- o as default
5
- };
@@ -1 +0,0 @@
1
- .top-timezone-popover{padding:6px!important;border:1px solid var(--ui-border-default)!important;background:var(--ui-bg-card)!important;box-shadow:var(--ui-shadow-pop)!important}
@@ -1,7 +0,0 @@
1
- type __VLS_Props = {
2
- showLabel?: boolean;
3
- };
4
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
5
- showLabel: boolean;
6
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
- export default _default;
@@ -1,8 +0,0 @@
1
- import o from "./TimezoneSelect.vue2.js";
2
- /* empty css */
3
- /* empty css */
4
- import t from "../../_virtual/_plugin-vue_export-helper.js";
5
- const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-e62f5f2d"]]);
6
- export {
7
- p as default
8
- };