@robot-admin/layout 2.3.1 → 2.3.2
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 +37 -3
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +15 -6
- package/dist/index.js +519 -349
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/src/styles/settings.scss +6 -0
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Fragment as e, KeepAlive as t, Transition as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createSlots as c, createTextVNode as l, createVNode as u, defineComponent as d, h as f, inject as p, nextTick as m, normalizeClass as h, normalizeStyle as g, onMounted as _, onUnmounted as v, openBlock as y, provide as b, ref as x, renderList as S, renderSlot as C, resolveComponent as w, resolveDynamicComponent as T, toDisplayString as E, toValue as D, unref as O, useModel as k, watch as A, withCtx as j,
|
|
2
|
-
import { defineStore as
|
|
3
|
-
import { NButton as
|
|
1
|
+
import { Fragment as e, KeepAlive as t, Transition as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createSlots as c, createTextVNode as l, createVNode as u, defineComponent as d, h as f, inject as p, nextTick as m, normalizeClass as h, normalizeStyle as g, onMounted as _, onUnmounted as v, openBlock as y, provide as b, ref as x, renderList as S, renderSlot as C, resolveComponent as w, resolveDynamicComponent as T, toDisplayString as E, toValue as D, unref as O, useModel as k, watch as A, withCtx as j, withKeys as M, withModifiers as N } from "vue";
|
|
2
|
+
import { defineStore as P } from "pinia";
|
|
3
|
+
import { NButton as F, NColorPicker as I, NDrawer as L, NDrawerContent as R, NDropdown as z, NInput as B, NLayout as V, NLayoutContent as H, NLayoutSider as ee, NMenu as te, NRadioButton as U, NRadioGroup as W, NSlider as ne, NSwitch as G, NTabPane as re, NTabs as ie, useDialog as ae, useMessage as oe } from "naive-ui";
|
|
4
4
|
import { useRoute as K, useRouter as q } from "vue-router";
|
|
5
5
|
//#region src/constants/index.ts
|
|
6
|
-
var
|
|
6
|
+
var se = [
|
|
7
7
|
{
|
|
8
8
|
name: "拂晓蓝",
|
|
9
9
|
value: "#409eff"
|
|
@@ -36,7 +36,7 @@ var oe = [
|
|
|
36
36
|
name: "酱紫",
|
|
37
37
|
value: "#722ed1"
|
|
38
38
|
}
|
|
39
|
-
],
|
|
39
|
+
], ce = [
|
|
40
40
|
{
|
|
41
41
|
name: "科技蓝",
|
|
42
42
|
icon: "💙",
|
|
@@ -67,7 +67,7 @@ var oe = [
|
|
|
67
67
|
icon: "❤️",
|
|
68
68
|
primaryColor: "#f5222d"
|
|
69
69
|
}
|
|
70
|
-
],
|
|
70
|
+
], le = [
|
|
71
71
|
{
|
|
72
72
|
mode: "side",
|
|
73
73
|
label: "左侧菜单",
|
|
@@ -104,11 +104,11 @@ var oe = [
|
|
|
104
104
|
description: "卡片式布局风格",
|
|
105
105
|
icon: "i-mdi:card-outline"
|
|
106
106
|
}
|
|
107
|
-
],
|
|
107
|
+
], ue = {
|
|
108
108
|
small: "4px",
|
|
109
109
|
medium: "6px",
|
|
110
110
|
large: "8px"
|
|
111
|
-
},
|
|
111
|
+
}, de = {
|
|
112
112
|
fade: "fade-transform",
|
|
113
113
|
slide: "fade-slide",
|
|
114
114
|
zoom: "fade-zoom",
|
|
@@ -133,24 +133,109 @@ var oe = [
|
|
|
133
133
|
sidebarCollapsedWidth: 64,
|
|
134
134
|
headerHeight: 56,
|
|
135
135
|
enableHotkeys: !0,
|
|
136
|
-
version: "2.
|
|
137
|
-
},
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
136
|
+
version: "2.3.2"
|
|
137
|
+
}, fe = se.map((e) => e.value), pe = {
|
|
138
|
+
themeMode: new Set([
|
|
139
|
+
"light",
|
|
140
|
+
"dark",
|
|
141
|
+
"system"
|
|
142
|
+
]),
|
|
143
|
+
borderRadius: new Set([
|
|
144
|
+
"small",
|
|
145
|
+
"medium",
|
|
146
|
+
"large"
|
|
147
|
+
]),
|
|
148
|
+
transitionType: new Set([
|
|
149
|
+
"fade",
|
|
150
|
+
"slide",
|
|
151
|
+
"zoom",
|
|
152
|
+
"none"
|
|
153
|
+
]),
|
|
154
|
+
layoutMode: new Set([
|
|
155
|
+
"side",
|
|
156
|
+
"top",
|
|
157
|
+
"mix",
|
|
158
|
+
"mix-top",
|
|
159
|
+
"reverse-horizontal-mix",
|
|
160
|
+
"card-layout"
|
|
161
|
+
]),
|
|
162
|
+
menuExpandMode: new Set(["inline", "panel"]),
|
|
163
|
+
tagsViewStyle: new Set([
|
|
164
|
+
"default",
|
|
165
|
+
"card",
|
|
166
|
+
"smart"
|
|
167
|
+
])
|
|
168
|
+
}, me = new Set([
|
|
169
|
+
"enableTransition",
|
|
170
|
+
"collapsed",
|
|
171
|
+
"fixedHeader",
|
|
172
|
+
"showBreadcrumb",
|
|
173
|
+
"showBreadcrumbIcon",
|
|
174
|
+
"showTagsView",
|
|
175
|
+
"showFooter",
|
|
176
|
+
"enableHotkeys"
|
|
177
|
+
]), he = {
|
|
178
|
+
tagsViewHeight: [24, 100],
|
|
179
|
+
sidebarWidth: [120, 480],
|
|
180
|
+
sidebarCollapsedWidth: [32, 160],
|
|
181
|
+
headerHeight: [32, 160]
|
|
182
|
+
};
|
|
183
|
+
function ge(e) {
|
|
184
|
+
if (!e || typeof e != "object" || Array.isArray(e)) throw TypeError("settings 必须是对象");
|
|
185
|
+
let t = e, n = {}, r = (e, t) => {
|
|
186
|
+
n[e] = t;
|
|
187
|
+
};
|
|
188
|
+
for (let [e, n] of Object.entries(pe)) {
|
|
189
|
+
let i = t[e];
|
|
190
|
+
if (i !== void 0) {
|
|
191
|
+
if (typeof i != "string" || !n.has(i)) throw RangeError(`无效的设置项 ${e}: ${String(i)}`);
|
|
192
|
+
r(e, i);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
for (let e of me) {
|
|
196
|
+
let n = t[e];
|
|
197
|
+
if (n !== void 0) {
|
|
198
|
+
if (typeof n != "boolean") throw TypeError(`设置项 ${e} 必须是布尔值`);
|
|
199
|
+
r(e, n);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
for (let [e, n] of Object.entries(he)) {
|
|
203
|
+
let i = t[e];
|
|
204
|
+
if (i !== void 0) {
|
|
205
|
+
if (typeof i != "number" || !Number.isFinite(i) || i < n[0] || i > n[1]) throw RangeError(`设置项 ${e} 超出允许范围`);
|
|
206
|
+
r(e, i);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (t.primaryColor !== void 0) {
|
|
210
|
+
if (typeof t.primaryColor != "string" || !/^#[0-9a-fA-F]{6}$/.test(t.primaryColor)) throw RangeError("primaryColor 必须是 #rrggbb 格式");
|
|
211
|
+
n.primaryColor = t.primaryColor;
|
|
212
|
+
}
|
|
213
|
+
if (t.version !== void 0) {
|
|
214
|
+
if (typeof t.version != "string" || t.version.length > 50) throw TypeError("version 必须是长度不超过 50 的字符串");
|
|
215
|
+
n.version = t.version;
|
|
216
|
+
}
|
|
217
|
+
return n;
|
|
143
218
|
}
|
|
144
|
-
function
|
|
145
|
-
|
|
219
|
+
function _e(e, t) {
|
|
220
|
+
if (typeof e != "string") return "#000000";
|
|
221
|
+
if (!Number.isFinite(t)) return e;
|
|
222
|
+
let n = Math.round(t), r = e.trim(), i = r.startsWith("#") ? r.slice(1) : r;
|
|
223
|
+
if (i.length === 3 && (i = i.split("").map((e) => e + e).join("")), !/^[0-9a-fA-F]{6}$/.test(i)) return e;
|
|
224
|
+
let a = parseInt(i, 16), o = Math.min(255, Math.max(0, (a >> 16) + n)), s = Math.min(255, Math.max(0, (a >> 8 & 255) + n)), c = Math.min(255, Math.max(0, (a & 255) + n));
|
|
225
|
+
return `#${(o << 16 | s << 8 | c).toString(16).padStart(6, "0")}`;
|
|
226
|
+
}
|
|
227
|
+
function ve(e = {}) {
|
|
228
|
+
let { id: t = "settings", defaults: n = {}, onThemeModeChange: i } = e;
|
|
229
|
+
if (typeof t != "string" || !t.trim()) throw RangeError("Settings store id 不能为空");
|
|
230
|
+
let a = {
|
|
146
231
|
...J,
|
|
147
|
-
...
|
|
232
|
+
...ge(n)
|
|
148
233
|
};
|
|
149
|
-
return
|
|
150
|
-
let e = x(
|
|
234
|
+
return P(t, () => {
|
|
235
|
+
let e = x(a.themeMode), t = x(a.primaryColor), n = x(a.borderRadius), o = x(a.transitionType), s = x(a.enableTransition), c = x(a.layoutMode), l = x(a.menuExpandMode), u = x(a.collapsed), d = x(a.fixedHeader), f = x(a.showBreadcrumb), p = x(a.showBreadcrumbIcon), m = x(a.showTagsView), h = x(a.tagsViewHeight), g = x(a.tagsViewStyle), _ = x(a.showFooter), v = x(a.sidebarWidth), y = x(a.sidebarCollapsedWidth), b = x(a.headerHeight), S = x(a.enableHotkeys), C = x(a.version), w = r(() => ue[n.value]), T = r(() => de[o.value]), E = r(() => s.value && o.value !== "none"), D = r(() => ({
|
|
151
236
|
themeMode: e.value,
|
|
152
237
|
primaryColor: t.value,
|
|
153
|
-
borderRadius:
|
|
238
|
+
borderRadius: n.value,
|
|
154
239
|
transitionType: o.value,
|
|
155
240
|
enableTransition: s.value,
|
|
156
241
|
layoutMode: c.value,
|
|
@@ -171,7 +256,7 @@ function pe(e = {}) {
|
|
|
171
256
|
})), O = () => {
|
|
172
257
|
if (typeof document > "u") return;
|
|
173
258
|
let e = document.documentElement;
|
|
174
|
-
e.style.setProperty("--primary-color", t.value), e.style.setProperty("--primary-color-hover",
|
|
259
|
+
e.style.setProperty("--primary-color", t.value), e.style.setProperty("--primary-color-hover", _e(t.value, 10)), e.style.setProperty("--primary-color-pressed", _e(t.value, -10)), e.style.setProperty("--border-radius", w.value), e.style.setProperty("--sidebar-width", `${v.value}px`), e.style.setProperty("--sidebar-collapsed-width", `${y.value}px`), e.style.setProperty("--header-height", `${b.value}px`), e.style.setProperty("--tags-view-height", `${h.value}px`);
|
|
175
260
|
};
|
|
176
261
|
return A([
|
|
177
262
|
t,
|
|
@@ -185,7 +270,7 @@ function pe(e = {}) {
|
|
|
185
270
|
}, { immediate: !0 }), {
|
|
186
271
|
themeMode: e,
|
|
187
272
|
primaryColor: t,
|
|
188
|
-
borderRadius:
|
|
273
|
+
borderRadius: n,
|
|
189
274
|
transitionType: o,
|
|
190
275
|
enableTransition: s,
|
|
191
276
|
layoutMode: c,
|
|
@@ -209,13 +294,20 @@ function pe(e = {}) {
|
|
|
209
294
|
settingsState: D,
|
|
210
295
|
syncCSSVariables: O,
|
|
211
296
|
applyPreset: async (e) => {
|
|
212
|
-
t.value = e.primaryColor, e.settings && (e.settings.borderRadius && (
|
|
297
|
+
t.value = e.primaryColor, e.settings && (e.settings.borderRadius && (n.value = e.settings.borderRadius), e.settings.transitionType && (o.value = e.settings.transitionType), e.settings.showBreadcrumb !== void 0 && (f.value = e.settings.showBreadcrumb), e.settings.showTagsView !== void 0 && (m.value = e.settings.showTagsView), e.settings.tagsViewStyle && (g.value = e.settings.tagsViewStyle));
|
|
213
298
|
},
|
|
214
299
|
resetSettings: () => {
|
|
215
|
-
e.value =
|
|
300
|
+
e.value = a.themeMode, t.value = a.primaryColor, n.value = a.borderRadius, o.value = a.transitionType, s.value = a.enableTransition, c.value = a.layoutMode, l.value = a.menuExpandMode, u.value = a.collapsed, d.value = a.fixedHeader, f.value = a.showBreadcrumb, p.value = a.showBreadcrumbIcon, m.value = a.showTagsView, h.value = a.tagsViewHeight, g.value = a.tagsViewStyle, _.value = a.showFooter, v.value = a.sidebarWidth, y.value = a.sidebarCollapsedWidth, b.value = a.headerHeight, S.value = a.enableHotkeys;
|
|
216
301
|
},
|
|
217
302
|
updateThemeMode: async (t) => {
|
|
218
|
-
|
|
303
|
+
if (!pe.themeMode.has(t)) throw RangeError(`未知的主题模式: ${String(t)}`);
|
|
304
|
+
let n = e.value;
|
|
305
|
+
e.value = t;
|
|
306
|
+
try {
|
|
307
|
+
i && await i(t);
|
|
308
|
+
} catch (t) {
|
|
309
|
+
throw e.value = n, t;
|
|
310
|
+
}
|
|
219
311
|
},
|
|
220
312
|
toggleCollapse: () => {
|
|
221
313
|
u.value = !u.value;
|
|
@@ -223,9 +315,9 @@ function pe(e = {}) {
|
|
|
223
315
|
};
|
|
224
316
|
});
|
|
225
317
|
}
|
|
226
|
-
var
|
|
318
|
+
var ye = ve(), be = Symbol("layout-context"), xe = Symbol("drawer-handlers");
|
|
227
319
|
function Y() {
|
|
228
|
-
let e = p(
|
|
320
|
+
let e = p(be);
|
|
229
321
|
if (!e) throw Error("[Layout] LayoutContext not provided. 请在上层组件中使用 provide(LAYOUT_CONTEXT_KEY, ...) 注入布局数据。");
|
|
230
322
|
return e;
|
|
231
323
|
}
|
|
@@ -241,27 +333,29 @@ var X = {
|
|
|
241
333
|
//#endregion
|
|
242
334
|
//#region src/composables/useLayoutCache.ts
|
|
243
335
|
function Z(e = {}) {
|
|
244
|
-
let { maxCacheCount: t = 20, enableDevLog: n = !
|
|
245
|
-
!a.value.includes(e) && s(e) && (a.value.push(e), a.value.length > o.value && a.value.shift());
|
|
246
|
-
}
|
|
247
|
-
|
|
336
|
+
let { maxCacheCount: t = 20, enableDevLog: n = !1, exposeToWindow: r = !1 } = e, i = K(), a = x([]), o = x(t), s = (e) => !e || typeof e != "string" ? !1 : i.meta?.keepAlive === !0, c = (e) => {
|
|
337
|
+
!a.value.includes(e) && s(e) && (a.value.push(e), a.value.length > o.value && a.value.shift(), n && console.debug(`[KeepAlive] ✅ 缓存: ${e} (${a.value.length}/${o.value})`));
|
|
338
|
+
}, l = (e) => {
|
|
339
|
+
let t = a.value.indexOf(e);
|
|
340
|
+
t > -1 && (a.value.splice(t, 1), n && console.debug(`[KeepAlive] ❌ 移除: ${e}`));
|
|
341
|
+
}, u = () => {
|
|
342
|
+
a.value = [], n && console.debug("[KeepAlive] 🗑️ 清空所有缓存");
|
|
343
|
+
}, d = () => a.value;
|
|
344
|
+
return r && typeof window < "u" && (window.__clearCache__ = u, window.__removeCache__ = l, window.__getCachedViews__ = d, v(() => {
|
|
345
|
+
window.__clearCache__ === u && delete window.__clearCache__, window.__removeCache__ === l && delete window.__removeCache__, window.__getCachedViews__ === d && delete window.__getCachedViews__;
|
|
346
|
+
})), A(() => i.name, (e) => {
|
|
248
347
|
e && typeof e == "string" && c(e);
|
|
249
348
|
}, { immediate: !0 }), {
|
|
250
349
|
cachedViews: a,
|
|
251
350
|
maxCacheCount: o,
|
|
252
351
|
addCache: c,
|
|
253
|
-
removeCache:
|
|
254
|
-
|
|
255
|
-
t > -1 && a.value.splice(t, 1);
|
|
256
|
-
},
|
|
257
|
-
clearAllCache: () => {
|
|
258
|
-
a.value = [];
|
|
259
|
-
}
|
|
352
|
+
removeCache: l,
|
|
353
|
+
clearAllCache: u
|
|
260
354
|
};
|
|
261
355
|
}
|
|
262
356
|
//#endregion
|
|
263
357
|
//#region src/components/layouts/SideLayout/index.vue
|
|
264
|
-
var
|
|
358
|
+
var Se = /* @__PURE__ */ d({
|
|
265
359
|
name: "SideLayout",
|
|
266
360
|
__name: "index",
|
|
267
361
|
props: { collapsed: {
|
|
@@ -285,8 +379,8 @@ var _e = /* @__PURE__ */ d({
|
|
|
285
379
|
}
|
|
286
380
|
}), (e, r) => {
|
|
287
381
|
let a = w("RouterView");
|
|
288
|
-
return y(), i(O(
|
|
289
|
-
default: j(() => [u(O(
|
|
382
|
+
return y(), i(O(V), { "has-sider": "" }, {
|
|
383
|
+
default: j(() => [u(O(ee), {
|
|
290
384
|
bordered: "",
|
|
291
385
|
"collapse-mode": "width",
|
|
292
386
|
"collapsed-width": O(l).sidebarCollapsedWidth.value,
|
|
@@ -307,10 +401,10 @@ var _e = /* @__PURE__ */ d({
|
|
|
307
401
|
"width",
|
|
308
402
|
"collapsed",
|
|
309
403
|
"class"
|
|
310
|
-
]), u(O(
|
|
404
|
+
]), u(O(V), null, {
|
|
311
405
|
default: j(() => [
|
|
312
406
|
C(e.$slots, "header"),
|
|
313
|
-
u(O(
|
|
407
|
+
u(O(H), { class: "content-with-header p16px app-content" }, {
|
|
314
408
|
default: j(() => [u(a, null, {
|
|
315
409
|
default: j(({ Component: e, route: r }) => [u(n, {
|
|
316
410
|
name: O(l).transitionName.value,
|
|
@@ -334,10 +428,10 @@ var _e = /* @__PURE__ */ d({
|
|
|
334
428
|
});
|
|
335
429
|
};
|
|
336
430
|
}
|
|
337
|
-
}),
|
|
431
|
+
}), Ce = {
|
|
338
432
|
ref: "visibleRef",
|
|
339
433
|
class: "responsive-menu__visible"
|
|
340
|
-
},
|
|
434
|
+
}, we = { class: "responsive-menu__more" }, Te = /* @__PURE__ */ d({
|
|
341
435
|
name: "ResponsiveMenu",
|
|
342
436
|
__name: "index",
|
|
343
437
|
props: { data: {} },
|
|
@@ -414,7 +508,7 @@ var _e = /* @__PURE__ */ d({
|
|
|
414
508
|
})) : void 0
|
|
415
509
|
}))), N = (e) => {
|
|
416
510
|
e && c.push(e);
|
|
417
|
-
},
|
|
511
|
+
}, P = (e) => {
|
|
418
512
|
let t = e.meta?.title || e.name || "", n = 0;
|
|
419
513
|
for (let e of t) {
|
|
420
514
|
let t = e.charCodeAt(0);
|
|
@@ -425,11 +519,11 @@ var _e = /* @__PURE__ */ d({
|
|
|
425
519
|
}, I = (e) => {
|
|
426
520
|
if (!d.value.length) return 0;
|
|
427
521
|
let t = 0;
|
|
428
|
-
for (let e of d.value) t +=
|
|
522
|
+
for (let e of d.value) t += P(e);
|
|
429
523
|
if (t + 15 <= e) return d.value.length;
|
|
430
524
|
let n = 0, r = 0, i = e - 80 - 15;
|
|
431
525
|
for (let e of d.value) {
|
|
432
|
-
let t =
|
|
526
|
+
let t = P(e);
|
|
433
527
|
if (n + t <= i) n += t, r++;
|
|
434
528
|
else break;
|
|
435
529
|
}
|
|
@@ -443,18 +537,18 @@ var _e = /* @__PURE__ */ d({
|
|
|
443
537
|
}
|
|
444
538
|
let t = I(e);
|
|
445
539
|
E.value = d.value.slice(0, t), D.value = d.value.slice(t);
|
|
446
|
-
},
|
|
447
|
-
|
|
540
|
+
}, R = null, B = () => {
|
|
541
|
+
R && clearTimeout(R), R = window.setTimeout(() => L(), 100);
|
|
448
542
|
}, V = null;
|
|
449
543
|
return _(() => {
|
|
450
544
|
m(() => L()), T.value && (V = new ResizeObserver(() => B()), V.observe(T.value));
|
|
451
545
|
}), v(() => {
|
|
452
|
-
V?.disconnect(),
|
|
546
|
+
V?.disconnect(), R && clearTimeout(R);
|
|
453
547
|
}), A(() => t.data, () => m(() => L()), { deep: !0 }), (e, t) => (y(), o("div", {
|
|
454
548
|
ref_key: "containerRef",
|
|
455
549
|
ref: T,
|
|
456
550
|
class: "responsive-menu"
|
|
457
|
-
}, [s("div",
|
|
551
|
+
}, [s("div", Ce, [k.value.length > 0 ? (y(), i(O(te), {
|
|
458
552
|
key: 0,
|
|
459
553
|
mode: "horizontal",
|
|
460
554
|
value: p.value,
|
|
@@ -465,14 +559,14 @@ var _e = /* @__PURE__ */ d({
|
|
|
465
559
|
"value",
|
|
466
560
|
"options",
|
|
467
561
|
"theme-overrides"
|
|
468
|
-
])) : a("", !0)], 512), D.value.length > 0 ? (y(), i(O(
|
|
562
|
+
])) : a("", !0)], 512), D.value.length > 0 ? (y(), i(O(z), {
|
|
469
563
|
key: 0,
|
|
470
564
|
options: M.value,
|
|
471
565
|
placement: "bottom-end",
|
|
472
566
|
trigger: "hover",
|
|
473
567
|
onSelect: N
|
|
474
568
|
}, {
|
|
475
|
-
default: j(() => [s("div",
|
|
569
|
+
default: j(() => [s("div", we, [u(O(F), {
|
|
476
570
|
text: "",
|
|
477
571
|
class: "responsive-menu__more-btn"
|
|
478
572
|
}, {
|
|
@@ -490,15 +584,15 @@ var _e = /* @__PURE__ */ d({
|
|
|
490
584
|
let n = e.__vccOpts || e;
|
|
491
585
|
for (let [e, r] of t) n[e] = r;
|
|
492
586
|
return n;
|
|
493
|
-
}, $ = /* @__PURE__ */ Q(
|
|
587
|
+
}, $ = /* @__PURE__ */ Q(Te, [["__scopeId", "data-v-d329131b"]]), Ee = { class: "top-layout-container" }, De = { class: "navbar-left" }, Oe = { class: "logo-container" }, ke = [
|
|
494
588
|
"src",
|
|
495
589
|
"width",
|
|
496
590
|
"height"
|
|
497
|
-
],
|
|
591
|
+
], Ae = [
|
|
498
592
|
"src",
|
|
499
593
|
"width",
|
|
500
594
|
"height"
|
|
501
|
-
],
|
|
595
|
+
], je = { class: "brand-name" }, Me = { class: "brand-title" }, Ne = { class: "brand-subtitle" }, Pe = { class: "navbar-center" }, Fe = { class: "page-content" }, Ie = /* @__PURE__ */ d({
|
|
502
596
|
name: "TopLayout",
|
|
503
597
|
__name: "index",
|
|
504
598
|
setup(e) {
|
|
@@ -508,10 +602,10 @@ var _e = /* @__PURE__ */ d({
|
|
|
508
602
|
};
|
|
509
603
|
return (e, r) => {
|
|
510
604
|
let c = w("RouterView");
|
|
511
|
-
return y(), o("div",
|
|
605
|
+
return y(), o("div", Ee, [
|
|
512
606
|
s("div", { class: h(["top-navbar", [O(f) ? "dark-theme" : "light-theme"]]) }, [
|
|
513
|
-
s("div",
|
|
514
|
-
s("div",
|
|
607
|
+
s("div", De, [C(e.$slots, "logo", {}, () => [
|
|
608
|
+
s("div", Oe, [r[0] ||= s("div", { class: "logo-glow" }, null, -1), x.logoType === "video" ? (y(), o("video", {
|
|
515
609
|
key: 0,
|
|
516
610
|
src: x.logoSrc,
|
|
517
611
|
width: x.logoSize || 36,
|
|
@@ -521,17 +615,17 @@ var _e = /* @__PURE__ */ d({
|
|
|
521
615
|
muted: "",
|
|
522
616
|
playsinline: "",
|
|
523
617
|
class: "logo-video"
|
|
524
|
-
}, " 您的浏览器不支持 video 标签。 ", 8,
|
|
618
|
+
}, " 您的浏览器不支持 video 标签。 ", 8, ke)) : (y(), o("img", {
|
|
525
619
|
key: 1,
|
|
526
620
|
src: x.logoSrc,
|
|
527
621
|
width: x.logoSize || 36,
|
|
528
622
|
height: x.logoSize || 36,
|
|
529
623
|
class: "logo-video"
|
|
530
|
-
}, null, 8,
|
|
531
|
-
s("div",
|
|
624
|
+
}, null, 8, Ae))]),
|
|
625
|
+
s("div", je, [s("span", Me, E(x.name), 1), s("span", Ne, E(x.subtitle), 1)]),
|
|
532
626
|
r[1] ||= s("div", { class: "navbar-divider" }, null, -1)
|
|
533
627
|
])]),
|
|
534
|
-
s("div",
|
|
628
|
+
s("div", Pe, [C(e.$slots, "menu", {}, () => [u($, { data: p.value }, null, 8, ["data"])])]),
|
|
535
629
|
C(e.$slots, "header-extra")
|
|
536
630
|
], 2),
|
|
537
631
|
m.value ? (y(), o("div", {
|
|
@@ -539,9 +633,9 @@ var _e = /* @__PURE__ */ d({
|
|
|
539
633
|
class: "tags-view-container",
|
|
540
634
|
style: g({ height: `${_.value}px` })
|
|
541
635
|
}, [C(e.$slots, "tags-view")], 4)) : a("", !0),
|
|
542
|
-
u(O(
|
|
543
|
-
default: j(() => [u(O(
|
|
544
|
-
default: j(() => [s("div",
|
|
636
|
+
u(O(V), null, {
|
|
637
|
+
default: j(() => [u(O(H), { class: "main-content" }, {
|
|
638
|
+
default: j(() => [s("div", Fe, [u(c, null, {
|
|
545
639
|
default: j(({ Component: e, route: r }) => [u(n, {
|
|
546
640
|
name: b.value,
|
|
547
641
|
mode: "out-in"
|
|
@@ -564,59 +658,58 @@ var _e = /* @__PURE__ */ d({
|
|
|
564
658
|
});
|
|
565
659
|
//#endregion
|
|
566
660
|
//#region src/composables/useMenuSplit.ts
|
|
567
|
-
function
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
for (let t of e) if (d(t.path) || t.children?.length && f(t.children)) return t;
|
|
661
|
+
function Le(e, t) {
|
|
662
|
+
if (!e) return !1;
|
|
663
|
+
let n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
|
|
664
|
+
return n.length === 0 ? r.length === 0 : n.every((e, t) => r[t] === e);
|
|
665
|
+
}
|
|
666
|
+
function Re(e) {
|
|
667
|
+
let { menus: t, floatingSecondMenu: n = !1 } = e, i = K(), a = q(), o = x(""), s = x(null), c = x(!1), l = r(() => s.value || f.value || null), u = (e) => Le(e, i.path), d = (e) => {
|
|
668
|
+
for (let t of e) if (u(t.path) || t.children?.length && d(t.children)) return t;
|
|
576
669
|
return null;
|
|
577
|
-
},
|
|
670
|
+
}, f = r(() => t.value.find((e) => e.path === o.value)), p = r(() => f.value?.children || []), m = (e) => {
|
|
578
671
|
D(n) ? e.children && e.children.length > 0 ? c.value && o.value === e.path ? c.value = !1 : (o.value = e.path || "", c.value = !0) : (o.value = e.path || "", c.value = !1, e.path && a.push(e.path)) : (!e.children || e.children.length === 0) && e.path && a.push(e.path);
|
|
579
|
-
},
|
|
672
|
+
}, h = (e) => {
|
|
580
673
|
e.path && a.push(e.path);
|
|
581
|
-
},
|
|
582
|
-
let e = t.value, r =
|
|
674
|
+
}, g = () => {
|
|
675
|
+
let e = t.value, r = d(e);
|
|
583
676
|
r ? (o.value = r.path || "", D(n) && r.children?.length && (c.value = !0)) : e.length > 0 && !o.value && (o.value = e[0].path || "");
|
|
584
677
|
};
|
|
585
|
-
return A(() => i.path, () =>
|
|
586
|
-
e && e.length > 0 &&
|
|
587
|
-
}, { immediate: !0 }), _(() =>
|
|
678
|
+
return A(() => i.path, () => g(), { immediate: !0 }), A(t, (e) => {
|
|
679
|
+
e && e.length > 0 && g();
|
|
680
|
+
}, { immediate: !0 }), _(() => g()), {
|
|
588
681
|
activeFirstMenu: o,
|
|
589
|
-
activeFirstMenuItem:
|
|
590
|
-
currentSecondMenus:
|
|
682
|
+
activeFirstMenuItem: f,
|
|
683
|
+
currentSecondMenus: p,
|
|
591
684
|
hoveredMenuItem: s,
|
|
592
685
|
displayMenuItem: l,
|
|
593
686
|
showSecondMenu: c,
|
|
594
|
-
handleFirstMenuClick:
|
|
595
|
-
handleSecondMenuClick:
|
|
596
|
-
isMenuItemActive:
|
|
687
|
+
handleFirstMenuClick: m,
|
|
688
|
+
handleSecondMenuClick: h,
|
|
689
|
+
isMenuItemActive: u
|
|
597
690
|
};
|
|
598
691
|
}
|
|
599
692
|
//#endregion
|
|
600
693
|
//#region src/components/layouts/MixLayout/index.vue?vue&type=script&setup=true&lang.ts
|
|
601
|
-
var
|
|
694
|
+
var ze = { class: "mix-layout-container" }, Be = { class: "logo-container" }, Ve = [
|
|
602
695
|
"src",
|
|
603
696
|
"width",
|
|
604
697
|
"height"
|
|
605
|
-
],
|
|
698
|
+
], He = [
|
|
606
699
|
"src",
|
|
607
700
|
"width",
|
|
608
701
|
"height"
|
|
609
|
-
],
|
|
702
|
+
], Ue = { class: "first-menu-list" }, We = ["onClick"], Ge = { class: "menu-item-content" }, Ke = {
|
|
610
703
|
key: 1,
|
|
611
704
|
class: "menu-item-text"
|
|
612
|
-
},
|
|
705
|
+
}, qe = { class: "menu-item-label" }, Je = { class: "second-menu-header" }, Ye = { class: "menu-title" }, Xe = { class: "second-menu-list" }, Ze = ["onClick"], Qe = { class: "menu-item-label" }, $e = { class: "main-layout" }, et = /* @__PURE__ */ d({
|
|
613
706
|
name: "MixLayout",
|
|
614
707
|
__name: "index",
|
|
615
708
|
setup(c) {
|
|
616
709
|
let l = Y(), { cachedViews: p, maxCacheCount: m } = Z(), g = l.isDark, _ = r(() => l.menus.value), v = r(() => l.showFooter.value), b = r(() => l.transitionName.value), x = {
|
|
617
710
|
...X,
|
|
618
711
|
...l.brand
|
|
619
|
-
}, D =
|
|
712
|
+
}, D = Re({
|
|
620
713
|
menus: l.menus,
|
|
621
714
|
floatingSecondMenu: r(() => !0)
|
|
622
715
|
}), k = l.iconComponent ?? d({
|
|
@@ -642,8 +735,8 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
642
735
|
});
|
|
643
736
|
return (r, c) => {
|
|
644
737
|
let l = w("RouterView");
|
|
645
|
-
return y(), o("div",
|
|
646
|
-
s("div", { class: h(["first-level-menu", [O(g) ? "dark-theme" : "light-theme"]]) }, [s("div",
|
|
738
|
+
return y(), o("div", ze, [
|
|
739
|
+
s("div", { class: h(["first-level-menu", [O(g) ? "dark-theme" : "light-theme"]]) }, [s("div", Be, [C(r.$slots, "logo", {}, () => [c[0] ||= s("div", { class: "logo-glow" }, null, -1), x.logoType === "video" ? (y(), o("video", {
|
|
647
740
|
key: 0,
|
|
648
741
|
src: x.logoSrc,
|
|
649
742
|
width: x.logoSize || 40,
|
|
@@ -653,30 +746,30 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
653
746
|
muted: "",
|
|
654
747
|
playsinline: "",
|
|
655
748
|
class: "logo-video"
|
|
656
|
-
}, " 您的浏览器不支持 video 标签。 ", 8,
|
|
749
|
+
}, " 您的浏览器不支持 video 标签。 ", 8, Ve)) : (y(), o("img", {
|
|
657
750
|
key: 1,
|
|
658
751
|
src: x.logoSrc,
|
|
659
752
|
width: x.logoSize || 40,
|
|
660
753
|
height: x.logoSize || 40,
|
|
661
754
|
class: "logo-video"
|
|
662
|
-
}, null, 8,
|
|
755
|
+
}, null, 8, He))])]), s("div", Ue, [(y(!0), o(e, null, S(_.value, (e) => (y(), o("div", {
|
|
663
756
|
key: e.path,
|
|
664
757
|
class: h(["first-menu-item", { active: O(D).activeFirstMenu.value === e.path }]),
|
|
665
758
|
onClick: (t) => O(D).handleFirstMenuClick(e)
|
|
666
|
-
}, [s("div",
|
|
759
|
+
}, [s("div", Ge, [e.meta?.icon ? (y(), i(T(O(k)), {
|
|
667
760
|
key: 0,
|
|
668
761
|
name: e.meta.icon,
|
|
669
762
|
size: 22
|
|
670
|
-
}, null, 8, ["name"])) : (y(), o("span",
|
|
763
|
+
}, null, 8, ["name"])) : (y(), o("span", Ke, E((e.meta?.title || "")[0]), 1))]), s("span", qe, E(e.meta?.title), 1)], 10, We))), 128))])], 2),
|
|
671
764
|
u(n, { name: "slide-fade" }, {
|
|
672
765
|
default: j(() => [O(D).showSecondMenu.value ? (y(), o("div", {
|
|
673
766
|
key: 0,
|
|
674
767
|
class: h(["second-level-menu-popup", [O(g) ? "dark-theme" : "light-theme"]])
|
|
675
|
-
}, [s("div",
|
|
768
|
+
}, [s("div", Je, [O(D).displayMenuItem.value?.meta?.icon ? (y(), i(T(O(k)), {
|
|
676
769
|
key: 0,
|
|
677
770
|
name: O(D).displayMenuItem.value.meta.icon,
|
|
678
771
|
size: 20
|
|
679
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
772
|
+
}, null, 8, ["name"])) : a("", !0), s("span", Ye, E(O(D).displayMenuItem.value?.meta?.title), 1)]), s("div", Xe, [(y(!0), o(e, null, S(O(D).displayMenuItem.value?.children || [], (e) => (y(), o("div", {
|
|
680
773
|
key: e.path,
|
|
681
774
|
class: h(["second-menu-item", { active: O(D).isMenuItemActive(e.path) }]),
|
|
682
775
|
onClick: (t) => O(D).handleSecondMenuClick(e)
|
|
@@ -684,11 +777,11 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
684
777
|
key: 0,
|
|
685
778
|
name: e.meta.icon,
|
|
686
779
|
size: 16
|
|
687
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
780
|
+
}, null, 8, ["name"])) : a("", !0), s("span", Qe, E(e.meta?.title), 1)], 10, Ze))), 128))])], 2)) : a("", !0)]),
|
|
688
781
|
_: 1
|
|
689
782
|
}),
|
|
690
|
-
s("div",
|
|
691
|
-
default: j(() => [u(O(
|
|
783
|
+
s("div", $e, [C(r.$slots, "header"), u(O(V), null, {
|
|
784
|
+
default: j(() => [u(O(H), { class: "content-with-header p16px app-content" }, {
|
|
692
785
|
default: j(() => [u(l, null, {
|
|
693
786
|
default: j(({ Component: e, route: r }) => [u(n, {
|
|
694
787
|
name: b.value,
|
|
@@ -709,25 +802,25 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
709
802
|
]);
|
|
710
803
|
};
|
|
711
804
|
}
|
|
712
|
-
}),
|
|
805
|
+
}), tt = { class: "mix-top-layout-container" }, nt = { class: "logo-container" }, rt = [
|
|
713
806
|
"src",
|
|
714
807
|
"width",
|
|
715
808
|
"height"
|
|
716
|
-
],
|
|
809
|
+
], it = [
|
|
717
810
|
"src",
|
|
718
811
|
"width",
|
|
719
812
|
"height"
|
|
720
|
-
],
|
|
813
|
+
], at = { class: "first-menu-list" }, ot = ["onClick"], st = { class: "menu-item-content" }, ct = {
|
|
721
814
|
key: 1,
|
|
722
815
|
class: "menu-item-text"
|
|
723
|
-
},
|
|
816
|
+
}, lt = { class: "menu-item-label" }, ut = { class: "main-area" }, dt = { class: "navbar-left" }, ft = { class: "brand-name" }, pt = { class: "brand-title" }, mt = { class: "brand-subtitle" }, ht = { class: "navbar-center" }, gt = { class: "page-content" }, _t = /* @__PURE__ */ d({
|
|
724
817
|
name: "MixTopLayout",
|
|
725
818
|
__name: "index",
|
|
726
819
|
setup(c) {
|
|
727
820
|
let l = Y(), { cachedViews: p, maxCacheCount: m } = Z(), _ = l.isDark, v = r(() => l.menus.value), b = r(() => l.showTagsView.value), x = r(() => l.tagsViewHeight.value), D = r(() => l.showFooter.value), k = r(() => l.transitionName.value), A = {
|
|
728
821
|
...X,
|
|
729
822
|
...l.brand
|
|
730
|
-
}, M =
|
|
823
|
+
}, M = Re({
|
|
731
824
|
menus: l.menus,
|
|
732
825
|
floatingSecondMenu: r(() => !1)
|
|
733
826
|
}), N = l.iconComponent ?? d({
|
|
@@ -753,7 +846,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
753
846
|
});
|
|
754
847
|
return (r, c) => {
|
|
755
848
|
let l = w("RouterView");
|
|
756
|
-
return y(), o("div",
|
|
849
|
+
return y(), o("div", tt, [s("div", { class: h(["first-level-sidebar", [O(_) ? "dark-theme" : "light-theme"]]) }, [s("div", nt, [C(r.$slots, "logo", {}, () => [c[0] ||= s("div", { class: "logo-glow" }, null, -1), A.logoType === "video" ? (y(), o("video", {
|
|
757
850
|
key: 0,
|
|
758
851
|
src: A.logoSrc,
|
|
759
852
|
width: A.logoSize || 40,
|
|
@@ -763,24 +856,24 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
763
856
|
muted: "",
|
|
764
857
|
playsinline: "",
|
|
765
858
|
class: "logo-video"
|
|
766
|
-
}, " 您的浏览器不支持 video 标签。 ", 8,
|
|
859
|
+
}, " 您的浏览器不支持 video 标签。 ", 8, rt)) : (y(), o("img", {
|
|
767
860
|
key: 1,
|
|
768
861
|
src: A.logoSrc,
|
|
769
862
|
width: A.logoSize || 40,
|
|
770
863
|
height: A.logoSize || 40,
|
|
771
864
|
class: "logo-video"
|
|
772
|
-
}, null, 8,
|
|
865
|
+
}, null, 8, it))])]), s("div", at, [(y(!0), o(e, null, S(v.value, (e) => (y(), o("div", {
|
|
773
866
|
key: e.path,
|
|
774
867
|
class: h(["first-menu-item", { active: O(M).activeFirstMenu.value === e.path }]),
|
|
775
868
|
onClick: (t) => O(M).handleFirstMenuClick(e)
|
|
776
|
-
}, [s("div",
|
|
869
|
+
}, [s("div", st, [e.meta?.icon ? (y(), i(T(O(N)), {
|
|
777
870
|
key: 0,
|
|
778
871
|
name: e.meta.icon,
|
|
779
872
|
size: 22
|
|
780
|
-
}, null, 8, ["name"])) : (y(), o("span",
|
|
873
|
+
}, null, 8, ["name"])) : (y(), o("span", ct, E((e.meta?.title || "")[0]), 1))]), s("span", lt, E(e.meta?.title), 1)], 10, ot))), 128))])], 2), s("div", ut, [
|
|
781
874
|
s("div", { class: h(["top-navbar", [O(_) ? "dark-theme" : "light-theme"]]) }, [
|
|
782
|
-
s("div",
|
|
783
|
-
s("div",
|
|
875
|
+
s("div", dt, [C(r.$slots, "brand", {}, () => [s("div", ft, [s("span", pt, E(A.name), 1), s("span", mt, E(A.subtitle), 1)]), c[1] ||= s("div", { class: "navbar-divider" }, null, -1)])]),
|
|
876
|
+
s("div", ht, [C(r.$slots, "top-menu", {}, () => [O(M).currentSecondMenus.value.length > 0 ? (y(), i($, {
|
|
784
877
|
key: 0,
|
|
785
878
|
data: O(M).currentSecondMenus.value
|
|
786
879
|
}, null, 8, ["data"])) : a("", !0)])]),
|
|
@@ -791,9 +884,9 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
791
884
|
class: "tags-view-container",
|
|
792
885
|
style: g({ height: `${x.value}px` })
|
|
793
886
|
}, [C(r.$slots, "tags-view")], 4)) : a("", !0),
|
|
794
|
-
u(O(
|
|
795
|
-
default: j(() => [u(O(
|
|
796
|
-
default: j(() => [s("div",
|
|
887
|
+
u(O(V), { class: "content-layout" }, {
|
|
888
|
+
default: j(() => [u(O(H), { class: "main-content" }, {
|
|
889
|
+
default: j(() => [s("div", gt, [u(l, null, {
|
|
797
890
|
default: j(({ Component: e, route: r }) => [u(n, {
|
|
798
891
|
name: k.value,
|
|
799
892
|
mode: "out-in"
|
|
@@ -813,25 +906,25 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
813
906
|
])]);
|
|
814
907
|
};
|
|
815
908
|
}
|
|
816
|
-
}),
|
|
909
|
+
}), vt = { class: "reverse-horizontal-mix-layout-container" }, yt = { class: "navbar-left" }, bt = { class: "logo-container" }, xt = [
|
|
817
910
|
"src",
|
|
818
911
|
"width",
|
|
819
912
|
"height"
|
|
820
|
-
],
|
|
913
|
+
], St = [
|
|
821
914
|
"src",
|
|
822
915
|
"width",
|
|
823
916
|
"height"
|
|
824
|
-
],
|
|
917
|
+
], Ct = { class: "brand-name" }, wt = { class: "brand-title" }, Tt = { class: "brand-subtitle" }, Et = { class: "navbar-center" }, Dt = { class: "main-area" }, Ot = { class: "page-content" }, kt = { class: "header-icon" }, At = { class: "header-title" }, jt = { class: "sidebar-menu-list" }, Mt = {
|
|
825
918
|
key: 0,
|
|
826
919
|
class: "menu-group"
|
|
827
|
-
},
|
|
920
|
+
}, Nt = { class: "group-title" }, Pt = ["onClick"], Ft = { class: "item-title" }, It = ["onClick"], Lt = { class: "item-title" }, Rt = /* @__PURE__ */ d({
|
|
828
921
|
name: "ReverseHorizontalMixLayout",
|
|
829
922
|
__name: "index",
|
|
830
923
|
setup(c) {
|
|
831
924
|
let l = Y(), { cachedViews: p, maxCacheCount: m } = Z(), _ = l.isDark, v = r(() => l.menus.value), b = r(() => l.showTagsView.value), D = r(() => l.tagsViewHeight.value), k = r(() => l.showFooter.value), A = r(() => l.transitionName.value), M = {
|
|
832
925
|
...X,
|
|
833
926
|
...l.brand
|
|
834
|
-
}, N =
|
|
927
|
+
}, N = Re({
|
|
835
928
|
menus: l.menus,
|
|
836
929
|
floatingSecondMenu: r(() => !1)
|
|
837
930
|
}), P = x(!1), F = () => {
|
|
@@ -859,10 +952,10 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
859
952
|
});
|
|
860
953
|
return (r, c) => {
|
|
861
954
|
let l = w("RouterView");
|
|
862
|
-
return y(), o("div",
|
|
955
|
+
return y(), o("div", vt, [
|
|
863
956
|
s("div", { class: h(["top-navbar", [O(_) ? "dark-theme" : "light-theme"]]) }, [
|
|
864
|
-
s("div",
|
|
865
|
-
s("div",
|
|
957
|
+
s("div", yt, [C(r.$slots, "logo", {}, () => [
|
|
958
|
+
s("div", bt, [c[0] ||= s("div", { class: "logo-glow" }, null, -1), M.logoType === "video" ? (y(), o("video", {
|
|
866
959
|
key: 0,
|
|
867
960
|
src: M.logoSrc,
|
|
868
961
|
width: M.logoSize || 36,
|
|
@@ -872,17 +965,17 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
872
965
|
muted: "",
|
|
873
966
|
playsinline: "",
|
|
874
967
|
class: "logo-video"
|
|
875
|
-
}, " 您的浏览器不支持 video 标签。 ", 8,
|
|
968
|
+
}, " 您的浏览器不支持 video 标签。 ", 8, xt)) : (y(), o("img", {
|
|
876
969
|
key: 1,
|
|
877
970
|
src: M.logoSrc,
|
|
878
971
|
width: M.logoSize || 36,
|
|
879
972
|
height: M.logoSize || 36,
|
|
880
973
|
class: "logo-video"
|
|
881
|
-
}, null, 8,
|
|
882
|
-
s("div",
|
|
974
|
+
}, null, 8, St))]),
|
|
975
|
+
s("div", Ct, [s("span", wt, E(M.name), 1), s("span", Tt, E(M.subtitle), 1)]),
|
|
883
976
|
c[1] ||= s("div", { class: "navbar-divider" }, null, -1)
|
|
884
977
|
])]),
|
|
885
|
-
s("div",
|
|
978
|
+
s("div", Et, [C(r.$slots, "top-menu", {}, () => [u($, { data: v.value }, null, 8, ["data"])])]),
|
|
886
979
|
C(r.$slots, "header-extra")
|
|
887
980
|
], 2),
|
|
888
981
|
b.value ? (y(), o("div", {
|
|
@@ -890,10 +983,10 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
890
983
|
class: "tags-view-container",
|
|
891
984
|
style: g({ height: `${D.value}px` })
|
|
892
985
|
}, [C(r.$slots, "tags-view")], 4)) : a("", !0),
|
|
893
|
-
s("div",
|
|
894
|
-
u(O(
|
|
895
|
-
default: j(() => [u(O(
|
|
896
|
-
default: j(() => [s("div",
|
|
986
|
+
s("div", Dt, [
|
|
987
|
+
u(O(V), { class: "content-layout" }, {
|
|
988
|
+
default: j(() => [u(O(H), { class: "main-content" }, {
|
|
989
|
+
default: j(() => [s("div", Ot, [u(l, null, {
|
|
897
990
|
default: j(({ Component: e, route: r }) => [u(n, {
|
|
898
991
|
name: A.value,
|
|
899
992
|
mode: "out-in"
|
|
@@ -922,11 +1015,11 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
922
1015
|
O(N).currentSecondMenus.value.length > 0 ? (y(), o("div", {
|
|
923
1016
|
key: 1,
|
|
924
1017
|
class: h(["right-sidebar-wrapper", { collapsed: P.value }])
|
|
925
|
-
}, [s("div", { class: h(["right-sidebar", [O(_) ? "dark-theme" : "light-theme"]]) }, [s("div", { class: h(["sidebar-header", [O(_) ? "dark-theme" : "light-theme"]]) }, [s("div",
|
|
1018
|
+
}, [s("div", { class: h(["right-sidebar", [O(_) ? "dark-theme" : "light-theme"]]) }, [s("div", { class: h(["sidebar-header", [O(_) ? "dark-theme" : "light-theme"]]) }, [s("div", kt, [O(N).activeFirstMenuItem.value?.meta?.icon ? (y(), i(T(O(I)), {
|
|
926
1019
|
key: 0,
|
|
927
1020
|
name: O(N).activeFirstMenuItem.value.meta.icon,
|
|
928
1021
|
size: 20
|
|
929
|
-
}, null, 8, ["name"])) : a("", !0)]), s("span",
|
|
1022
|
+
}, null, 8, ["name"])) : a("", !0)]), s("span", At, E(O(N).activeFirstMenuItem.value?.meta?.title || "菜单"), 1)], 2), s("div", jt, [(y(!0), o(e, null, S(O(N).currentSecondMenus.value, (t) => (y(), o(e, { key: t.path }, [t.children && t.children.length > 0 ? (y(), o("div", Mt, [s("div", Nt, [t.meta?.icon ? (y(), i(T(O(I)), {
|
|
930
1023
|
key: 0,
|
|
931
1024
|
name: t.meta.icon,
|
|
932
1025
|
size: 16
|
|
@@ -938,7 +1031,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
938
1031
|
key: 0,
|
|
939
1032
|
name: e.meta.icon,
|
|
940
1033
|
size: 16
|
|
941
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
1034
|
+
}, null, 8, ["name"])) : a("", !0), s("span", Ft, E(e.meta?.title), 1)], 10, Pt))), 128))])) : (y(), o("div", {
|
|
942
1035
|
key: 1,
|
|
943
1036
|
class: h(["menu-item", { active: O(N).isMenuItemActive(t.path) }]),
|
|
944
1037
|
onClick: (e) => O(N).handleSecondMenuClick(t)
|
|
@@ -946,26 +1039,26 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
946
1039
|
key: 0,
|
|
947
1040
|
name: t.meta.icon,
|
|
948
1041
|
size: 18
|
|
949
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
1042
|
+
}, null, 8, ["name"])) : a("", !0), s("span", Lt, E(t.meta?.title), 1)], 10, It))], 64))), 128))])], 2)], 2)) : a("", !0)
|
|
950
1043
|
])
|
|
951
1044
|
]);
|
|
952
1045
|
};
|
|
953
1046
|
}
|
|
954
|
-
}),
|
|
1047
|
+
}), zt = { class: "card-layout-container" }, Bt = { class: "navbar-left" }, Vt = { class: "logo-container" }, Ht = [
|
|
955
1048
|
"src",
|
|
956
1049
|
"width",
|
|
957
1050
|
"height"
|
|
958
|
-
],
|
|
1051
|
+
], Ut = [
|
|
959
1052
|
"src",
|
|
960
1053
|
"width",
|
|
961
1054
|
"height"
|
|
962
|
-
],
|
|
1055
|
+
], Wt = { class: "brand-name" }, Gt = { class: "brand-title" }, Kt = { class: "brand-subtitle" }, qt = { class: "drawer-content" }, Jt = { class: "menu-grid" }, Yt = ["onClick"], Xt = {
|
|
963
1056
|
key: 0,
|
|
964
1057
|
class: "category-items"
|
|
965
|
-
},
|
|
1058
|
+
}, Zt = ["onClick"], Qt = { class: "item-title" }, $t = {
|
|
966
1059
|
key: 0,
|
|
967
1060
|
class: "submenu-items"
|
|
968
|
-
},
|
|
1061
|
+
}, en = { class: "submenu-title" }, tn = ["onClick"], nn = { class: "item-title" }, rn = { class: "main-content-area" }, an = { class: "page-content" }, on = /* @__PURE__ */ Q(/* @__PURE__ */ d({
|
|
969
1062
|
name: "CardLayout",
|
|
970
1063
|
__name: "index",
|
|
971
1064
|
setup(c) {
|
|
@@ -980,7 +1073,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
980
1073
|
I.value &&= (clearTimeout(I.value), null), F.value = !0;
|
|
981
1074
|
}, z = (e) => {
|
|
982
1075
|
e.path && (_.push(e.path), F.value = !1);
|
|
983
|
-
},
|
|
1076
|
+
}, B = l.iconComponent ?? d({
|
|
984
1077
|
name: "LayoutIcon",
|
|
985
1078
|
props: {
|
|
986
1079
|
name: String,
|
|
@@ -1005,8 +1098,8 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1005
1098
|
I.value && clearTimeout(I.value);
|
|
1006
1099
|
}), (r, c) => {
|
|
1007
1100
|
let l = w("RouterView");
|
|
1008
|
-
return y(), o("div",
|
|
1009
|
-
s("div", { class: h(["top-navbar", [O(b) ? "dark-theme" : "light-theme"]]) }, [s("div",
|
|
1101
|
+
return y(), o("div", zt, [
|
|
1102
|
+
s("div", { class: h(["top-navbar", [O(b) ? "dark-theme" : "light-theme"]]) }, [s("div", Bt, [s("div", {
|
|
1010
1103
|
class: "hover-trigger-area",
|
|
1011
1104
|
onMouseenter: R,
|
|
1012
1105
|
onMouseleave: L
|
|
@@ -1015,7 +1108,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1015
1108
|
s("span"),
|
|
1016
1109
|
s("span")
|
|
1017
1110
|
])], -1)], !0)], 32), C(r.$slots, "logo", {}, () => [
|
|
1018
|
-
s("div",
|
|
1111
|
+
s("div", Vt, [c[1] ||= s("div", { class: "logo-glow" }, null, -1), P.logoType === "video" ? (y(), o("video", {
|
|
1019
1112
|
key: 0,
|
|
1020
1113
|
src: P.logoSrc,
|
|
1021
1114
|
width: P.logoSize || 36,
|
|
@@ -1025,14 +1118,14 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1025
1118
|
muted: "",
|
|
1026
1119
|
playsinline: "",
|
|
1027
1120
|
class: "logo-video"
|
|
1028
|
-
}, " 您的浏览器不支持 video 标签。 ", 8,
|
|
1121
|
+
}, " 您的浏览器不支持 video 标签。 ", 8, Ht)) : (y(), o("img", {
|
|
1029
1122
|
key: 1,
|
|
1030
1123
|
src: P.logoSrc,
|
|
1031
1124
|
width: P.logoSize || 36,
|
|
1032
1125
|
height: P.logoSize || 36,
|
|
1033
1126
|
class: "logo-video"
|
|
1034
|
-
}, null, 8,
|
|
1035
|
-
s("div",
|
|
1127
|
+
}, null, 8, Ut))]),
|
|
1128
|
+
s("div", Wt, [s("span", Gt, E(P.name), 1), s("span", Kt, E(P.subtitle), 1)]),
|
|
1036
1129
|
c[2] ||= s("div", { class: "navbar-divider" }, null, -1)
|
|
1037
1130
|
], !0)]), C(r.$slots, "header-extra", {}, void 0, !0)], 2),
|
|
1038
1131
|
k.value ? (y(), o("div", {
|
|
@@ -1049,36 +1142,36 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1049
1142
|
s("span"),
|
|
1050
1143
|
s("span"),
|
|
1051
1144
|
s("span")
|
|
1052
|
-
]), s("span", null, "功能导航")])], -1), s("div",
|
|
1145
|
+
]), s("span", null, "功能导航")])], -1), s("div", qt, [s("div", Jt, [(y(!0), o(e, null, S(D.value, (t) => (y(), o("div", {
|
|
1053
1146
|
key: t.path,
|
|
1054
1147
|
class: "menu-category"
|
|
1055
1148
|
}, [s("div", {
|
|
1056
1149
|
class: "category-header",
|
|
1057
1150
|
onClick: (e) => z(t)
|
|
1058
|
-
}, [t.meta?.icon ? (y(), i(T(O(
|
|
1151
|
+
}, [t.meta?.icon ? (y(), i(T(O(B)), {
|
|
1059
1152
|
key: 0,
|
|
1060
1153
|
name: t.meta.icon,
|
|
1061
1154
|
size: 18
|
|
1062
|
-
}, null, 8, ["name"])) : a("", !0), s("span", null, E(t.meta?.title), 1)], 8,
|
|
1155
|
+
}, null, 8, ["name"])) : a("", !0), s("span", null, E(t.meta?.title), 1)], 8, Yt), t.children && t.children.length > 0 ? (y(), o("div", Xt, [(y(!0), o(e, null, S(t.children, (e) => (y(), o("div", {
|
|
1063
1156
|
key: e.path,
|
|
1064
1157
|
class: "menu-item",
|
|
1065
1158
|
onClick: (t) => z(e)
|
|
1066
|
-
}, [e.meta?.icon ? (y(), i(T(O(
|
|
1159
|
+
}, [e.meta?.icon ? (y(), i(T(O(B)), {
|
|
1067
1160
|
key: 0,
|
|
1068
1161
|
name: e.meta.icon,
|
|
1069
1162
|
size: 16
|
|
1070
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
1163
|
+
}, null, 8, ["name"])) : a("", !0), s("span", Qt, E(e.meta?.title), 1)], 8, Zt))), 128)), (y(!0), o(e, null, S(t.children, (t) => (y(), o(e, { key: "sub-" + t.path }, [t.children && t.children.length > 0 ? (y(), o("div", $t, [s("div", en, E(t.meta?.title), 1), (y(!0), o(e, null, S(t.children, (e) => (y(), o("div", {
|
|
1071
1164
|
key: e.path,
|
|
1072
1165
|
class: "menu-item submenu-item",
|
|
1073
1166
|
onClick: (t) => z(e)
|
|
1074
|
-
}, [e.meta?.icon ? (y(), i(T(O(
|
|
1167
|
+
}, [e.meta?.icon ? (y(), i(T(O(B)), {
|
|
1075
1168
|
key: 0,
|
|
1076
1169
|
name: e.meta.icon,
|
|
1077
1170
|
size: 14
|
|
1078
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
1079
|
-
s("div",
|
|
1080
|
-
default: j(() => [u(O(
|
|
1081
|
-
default: j(() => [s("div",
|
|
1171
|
+
}, null, 8, ["name"])) : a("", !0), s("span", nn, E(e.meta?.title), 1)], 8, tn))), 128))])) : a("", !0)], 64))), 128))])) : a("", !0)]))), 128))])])], !0)], 34),
|
|
1172
|
+
s("div", rn, [u(O(V), { class: "content-layout" }, {
|
|
1173
|
+
default: j(() => [u(O(H), { class: "main-content p16px app-content" }, {
|
|
1174
|
+
default: j(() => [s("div", an, [u(l, null, {
|
|
1082
1175
|
default: j(({ Component: e, route: r }) => [u(n, {
|
|
1083
1176
|
name: N.value,
|
|
1084
1177
|
mode: "out-in"
|
|
@@ -1098,20 +1191,20 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1098
1191
|
]);
|
|
1099
1192
|
};
|
|
1100
1193
|
}
|
|
1101
|
-
}), [["__scopeId", "data-v-3e4915c5"]]),
|
|
1194
|
+
}), [["__scopeId", "data-v-3e4915c5"]]), sn = {
|
|
1102
1195
|
key: 6,
|
|
1103
1196
|
class: "layout-coming-soon"
|
|
1104
|
-
},
|
|
1197
|
+
}, cn = /* @__PURE__ */ d({
|
|
1105
1198
|
name: "C_LayoutContainer",
|
|
1106
1199
|
__name: "index",
|
|
1107
1200
|
setup(e) {
|
|
1108
|
-
let t =
|
|
1201
|
+
let t = ye(), n = Y(), a = r(() => t.layoutMode), l = n.isDark, u = x(!1);
|
|
1109
1202
|
return b("menuCollapse", {
|
|
1110
1203
|
isCollapsed: u,
|
|
1111
1204
|
handleCollapsedChange: (e) => {
|
|
1112
1205
|
u.value = e;
|
|
1113
1206
|
}
|
|
1114
|
-
}), (e, t) => (y(), o("div", { class: h(["layout-container", O(l) ? "dark-mode" : "light-mode"]) }, [a.value === "side" ? (y(), i(
|
|
1207
|
+
}), (e, t) => (y(), o("div", { class: h(["layout-container", O(l) ? "dark-mode" : "light-mode"]) }, [a.value === "side" ? (y(), i(Se, {
|
|
1115
1208
|
key: 0,
|
|
1116
1209
|
collapsed: u.value,
|
|
1117
1210
|
"onUpdate:collapsed": t[0] ||= (e) => u.value = e
|
|
@@ -1124,7 +1217,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1124
1217
|
name: "logo",
|
|
1125
1218
|
fn: j(() => [C(e.$slots, "logo")]),
|
|
1126
1219
|
key: "0"
|
|
1127
|
-
} : void 0]), 1032, ["collapsed"])) : a.value === "top" ? (y(), i(
|
|
1220
|
+
} : void 0]), 1032, ["collapsed"])) : a.value === "top" ? (y(), i(Ie, { key: 1 }, c({ _: 2 }, [
|
|
1128
1221
|
e.$slots.logo ? {
|
|
1129
1222
|
name: "logo",
|
|
1130
1223
|
fn: j(() => [C(e.$slots, "logo")]),
|
|
@@ -1150,7 +1243,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1150
1243
|
fn: j(() => [C(e.$slots, "footer")]),
|
|
1151
1244
|
key: "4"
|
|
1152
1245
|
} : void 0
|
|
1153
|
-
]), 1024)) : a.value === "mix" ? (y(), i(
|
|
1246
|
+
]), 1024)) : a.value === "mix" ? (y(), i(et, { key: 2 }, c({
|
|
1154
1247
|
header: j(() => [C(e.$slots, "header")]),
|
|
1155
1248
|
_: 2
|
|
1156
1249
|
}, [e.$slots.logo ? {
|
|
@@ -1161,7 +1254,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1161
1254
|
name: "footer",
|
|
1162
1255
|
fn: j(() => [C(e.$slots, "footer")]),
|
|
1163
1256
|
key: "1"
|
|
1164
|
-
} : void 0]), 1024)) : a.value === "mix-top" ? (y(), i(
|
|
1257
|
+
} : void 0]), 1024)) : a.value === "mix-top" ? (y(), i(_t, { key: 3 }, c({ _: 2 }, [
|
|
1165
1258
|
e.$slots.logo ? {
|
|
1166
1259
|
name: "logo",
|
|
1167
1260
|
fn: j(() => [C(e.$slots, "logo")]),
|
|
@@ -1192,7 +1285,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1192
1285
|
fn: j(() => [C(e.$slots, "footer")]),
|
|
1193
1286
|
key: "5"
|
|
1194
1287
|
} : void 0
|
|
1195
|
-
]), 1024)) : a.value === "reverse-horizontal-mix" ? (y(), i(
|
|
1288
|
+
]), 1024)) : a.value === "reverse-horizontal-mix" ? (y(), i(Rt, { key: 4 }, c({ _: 2 }, [
|
|
1196
1289
|
e.$slots.logo ? {
|
|
1197
1290
|
name: "logo",
|
|
1198
1291
|
fn: j(() => [C(e.$slots, "logo")]),
|
|
@@ -1218,7 +1311,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1218
1311
|
fn: j(() => [C(e.$slots, "footer")]),
|
|
1219
1312
|
key: "4"
|
|
1220
1313
|
} : void 0
|
|
1221
|
-
]), 1024)) : a.value === "card-layout" ? (y(), i(
|
|
1314
|
+
]), 1024)) : a.value === "card-layout" ? (y(), i(on, { key: 5 }, c({ _: 2 }, [
|
|
1222
1315
|
e.$slots["menu-trigger"] ? {
|
|
1223
1316
|
name: "menu-trigger",
|
|
1224
1317
|
fn: j(() => [C(e.$slots, "menu-trigger")]),
|
|
@@ -1249,9 +1342,9 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1249
1342
|
fn: j(() => [C(e.$slots, "footer")]),
|
|
1250
1343
|
key: "5"
|
|
1251
1344
|
} : void 0
|
|
1252
|
-
]), 1024)) : (y(), o("div",
|
|
1345
|
+
]), 1024)) : (y(), o("div", sn, [...t[1] ||= [s("div", { class: "coming-soon-content" }, [s("div", { class: "coming-soon-icon" }, "🚧"), s("div", { class: "coming-soon-title" }, "布局开发中")], -1)]]))], 2));
|
|
1253
1346
|
}
|
|
1254
|
-
}),
|
|
1347
|
+
}), ln = [
|
|
1255
1348
|
{
|
|
1256
1349
|
label: "左侧菜单(默认)",
|
|
1257
1350
|
value: "side",
|
|
@@ -1288,21 +1381,31 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1288
1381
|
disabled: !1,
|
|
1289
1382
|
svg: "\n <rect x=\"0\" y=\"0\" width=\"24\" height=\"20\" rx=\"2\" fill=\"currentColor\" fill-opacity=\"0.9\"/>\n <rect x=\"32\" y=\"0\" width=\"24\" height=\"20\" rx=\"2\" fill=\"currentColor\" fill-opacity=\"0.7\"/>\n <rect x=\"0\" y=\"24\" width=\"24\" height=\"20\" rx=\"2\" fill=\"currentColor\" fill-opacity=\"0.6\"/>\n <rect x=\"32\" y=\"24\" width=\"24\" height=\"20\" rx=\"2\" fill=\"currentColor\" fill-opacity=\"0.4\"/>\n "
|
|
1290
1383
|
}
|
|
1291
|
-
],
|
|
1384
|
+
], un = { class: "settings-section" }, dn = { class: "preset-grid" }, fn = [
|
|
1385
|
+
"aria-pressed",
|
|
1386
|
+
"onClick",
|
|
1387
|
+
"onKeydown"
|
|
1388
|
+
], pn = { class: "preset-icon" }, mn = { class: "preset-name" }, hn = { class: "preset-color" }, gn = { class: "settings-section" }, _n = { class: "settings-section" }, vn = { class: "color-picker-wrapper" }, yn = { class: "color-value" }, bn = { class: "settings-section" }, xn = { class: "settings-section" }, Sn = { class: "flex items-center justify-between mb-2" }, Cn = { class: "settings-section" }, wn = { class: "settings-section" }, Tn = { class: "layout-grid" }, En = [
|
|
1389
|
+
"tabindex",
|
|
1390
|
+
"aria-disabled",
|
|
1391
|
+
"aria-pressed",
|
|
1392
|
+
"onClick",
|
|
1393
|
+
"onKeydown"
|
|
1394
|
+
], Dn = { class: "layout-screenshot" }, On = {
|
|
1292
1395
|
class: "layout-svg",
|
|
1293
1396
|
viewBox: "0 0 56 48",
|
|
1294
1397
|
fill: "none",
|
|
1295
1398
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1296
|
-
},
|
|
1399
|
+
}, kn = ["innerHTML"], An = { class: "layout-label" }, jn = {
|
|
1297
1400
|
key: 0,
|
|
1298
1401
|
class: "badge-soon"
|
|
1299
|
-
},
|
|
1402
|
+
}, Mn = {
|
|
1300
1403
|
class: "settings-section menu-expand-section",
|
|
1301
1404
|
"data-menu-expand-mode": "built-in"
|
|
1302
|
-
},
|
|
1405
|
+
}, Nn = { class: "settings-section" }, Pn = { class: "setting-item" }, Fn = { class: "setting-item" }, In = { class: "setting-item" }, Ln = { class: "setting-item" }, Rn = { class: "settings-section" }, zn = { class: "slider-item" }, Bn = { class: "slider-label" }, Vn = { class: "slider-value" }, Hn = { class: "slider-item" }, Un = { class: "slider-label" }, Wn = { class: "slider-value" }, Gn = { class: "settings-section" }, Kn = { class: "settings-section" }, qn = { class: "action-buttons-grid" }, Jn = { class: "settings-section" }, Yn = { class: "action-buttons-grid" }, Xn = { class: "settings-section" }, Zn = { class: "setting-item" }, Qn = { class: "setting-item" }, $n = { class: "settings-section" }, er = { class: "setting-item" }, tr = {
|
|
1303
1406
|
key: 0,
|
|
1304
1407
|
class: "mt-2"
|
|
1305
|
-
},
|
|
1408
|
+
}, nr = { class: "settings-section" }, rr = { class: "system-info" }, ir = { class: "info-item" }, ar = { class: "info-value" }, or = { class: "info-item" }, sr = { class: "info-value" }, cr = { class: "info-item" }, lr = { class: "info-value" }, ur = { class: "info-item" }, dr = { class: "info-value" }, fr = { class: "info-item" }, pr = { class: "info-value" }, mr = { class: "info-item" }, hr = { class: "info-value" }, gr = /* @__PURE__ */ Q(/* @__PURE__ */ d({
|
|
1306
1409
|
__name: "index",
|
|
1307
1410
|
props: {
|
|
1308
1411
|
show: {
|
|
@@ -1313,10 +1416,14 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1313
1416
|
},
|
|
1314
1417
|
emits: ["update:show"],
|
|
1315
1418
|
setup(t) {
|
|
1316
|
-
let n =
|
|
1419
|
+
let n = oe(), c = ae(), d = ye(), f = k(t, "show"), p = x("appearance"), m = x(!1), _ = x(!1), b = x(!1), C = x("Robot Admin"), w = null, T = (e) => {
|
|
1317
1420
|
w &&= (document.body.removeChild(w), null);
|
|
1318
|
-
let t = document.createElement("canvas"),
|
|
1319
|
-
|
|
1421
|
+
let t = document.createElement("canvas"), r = t.getContext("2d");
|
|
1422
|
+
if (!r) {
|
|
1423
|
+
n.error("当前浏览器无法创建水印画布");
|
|
1424
|
+
return;
|
|
1425
|
+
}
|
|
1426
|
+
t.width = 200, t.height = 150, r.font = "14px Microsoft JhengHei", r.fillStyle = "rgba(120, 120, 120, 0.15)", r.rotate(-20 * Math.PI / 180), r.fillText(e, 0, 80), w = document.createElement("div"), w.style.cssText = `
|
|
1320
1427
|
position: fixed;
|
|
1321
1428
|
top: 0;
|
|
1322
1429
|
left: 0;
|
|
@@ -1340,7 +1447,15 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1340
1447
|
}), A(C, (e) => {
|
|
1341
1448
|
b.value && T(e);
|
|
1342
1449
|
});
|
|
1343
|
-
let
|
|
1450
|
+
let P = r(() => {
|
|
1451
|
+
if (typeof navigator > "u" || typeof window > "u") return {
|
|
1452
|
+
browser: "Unknown",
|
|
1453
|
+
os: "Unknown",
|
|
1454
|
+
resolution: "Unknown",
|
|
1455
|
+
pixelRatio: "Unknown",
|
|
1456
|
+
language: "Unknown",
|
|
1457
|
+
timezone: "Unknown"
|
|
1458
|
+
};
|
|
1344
1459
|
let e = navigator.userAgent, t = "Unknown", n = "Unknown";
|
|
1345
1460
|
return e.includes("Chrome") ? t = "Chrome" : e.includes("Firefox") ? t = "Firefox" : e.includes("Safari") ? t = "Safari" : e.includes("Edge") && (t = "Edge"), e.includes("Windows") ? n = "Windows" : e.includes("Mac") ? n = "macOS" : e.includes("Linux") ? n = "Linux" : e.includes("Android") ? n = "Android" : e.includes("iOS") && (n = "iOS"), {
|
|
1346
1461
|
browser: t,
|
|
@@ -1354,15 +1469,21 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1354
1469
|
v(() => {
|
|
1355
1470
|
D();
|
|
1356
1471
|
});
|
|
1357
|
-
let
|
|
1472
|
+
let z = (e, t) => {
|
|
1358
1473
|
t || (d.layoutMode = e);
|
|
1359
|
-
},
|
|
1474
|
+
}, V = (e) => d.primaryColor === e.primaryColor, H = (e) => {
|
|
1360
1475
|
d.applyPreset(e), n.success(`已应用「${e.name}」主题方案`);
|
|
1361
|
-
},
|
|
1476
|
+
}, ee = async (e) => {
|
|
1477
|
+
try {
|
|
1478
|
+
await d.updateThemeMode(e);
|
|
1479
|
+
} catch {
|
|
1480
|
+
n.error("主题模式切换失败");
|
|
1481
|
+
}
|
|
1482
|
+
}, te = () => {
|
|
1362
1483
|
d.themeMode = J.themeMode, d.primaryColor = J.primaryColor, d.borderRadius = J.borderRadius, d.transitionType = J.transitionType, d.enableTransition = J.enableTransition, n.success("已恢复外观默认设置");
|
|
1363
|
-
}, ee = () => {
|
|
1364
|
-
d.layoutMode = J.layoutMode, d.menuExpandMode = J.menuExpandMode, d.fixedHeader = J.fixedHeader, d.showBreadcrumb = J.showBreadcrumb, d.showBreadcrumbIcon = J.showBreadcrumbIcon, d.showTagsView = J.showTagsView, d.tagsViewHeight = J.tagsViewHeight, d.tagsViewStyle = J.tagsViewStyle, d.showFooter = J.showFooter, d.sidebarWidth = J.sidebarWidth, d.sidebarCollapsedWidth = J.sidebarCollapsedWidth, d.headerHeight = J.headerHeight, n.success("已恢复布局默认设置");
|
|
1365
1484
|
}, K = () => {
|
|
1485
|
+
d.layoutMode = J.layoutMode, d.menuExpandMode = J.menuExpandMode, d.fixedHeader = J.fixedHeader, d.showBreadcrumb = J.showBreadcrumb, d.showBreadcrumbIcon = J.showBreadcrumbIcon, d.showTagsView = J.showTagsView, d.tagsViewHeight = J.tagsViewHeight, d.tagsViewStyle = J.tagsViewStyle, d.showFooter = J.showFooter, d.sidebarWidth = J.sidebarWidth, d.sidebarCollapsedWidth = J.sidebarCollapsedWidth, d.headerHeight = J.headerHeight, n.success("已恢复布局默认设置");
|
|
1486
|
+
}, q = () => {
|
|
1366
1487
|
c.warning({
|
|
1367
1488
|
title: "确认重置",
|
|
1368
1489
|
content: "确定要恢复默认配置吗?此操作不可撤销。",
|
|
@@ -1372,7 +1493,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1372
1493
|
d.resetSettings(), n.success("已恢复默认配置");
|
|
1373
1494
|
}
|
|
1374
1495
|
});
|
|
1375
|
-
},
|
|
1496
|
+
}, se = () => {
|
|
1376
1497
|
c.warning({
|
|
1377
1498
|
title: "确认清除",
|
|
1378
1499
|
content: "确定要清除浏览器缓存吗?",
|
|
@@ -1385,9 +1506,9 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1385
1506
|
}), sessionStorage.clear(), n.success("缓存已清除");
|
|
1386
1507
|
}
|
|
1387
1508
|
});
|
|
1388
|
-
},
|
|
1509
|
+
}, le = () => {
|
|
1389
1510
|
location.reload();
|
|
1390
|
-
},
|
|
1511
|
+
}, ue = () => {
|
|
1391
1512
|
let e = {
|
|
1392
1513
|
settings: d.settingsState,
|
|
1393
1514
|
gray: m.value,
|
|
@@ -1399,200 +1520,229 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1399
1520
|
exportTime: (/* @__PURE__ */ new Date()).toISOString()
|
|
1400
1521
|
}, t = new Blob([JSON.stringify(e, null, 2)], { type: "application/json" }), r = URL.createObjectURL(t), i = document.createElement("a");
|
|
1401
1522
|
i.href = r, i.download = `robot-admin-config-${Date.now()}.json`, i.click(), URL.revokeObjectURL(r), n.success("配置已导出");
|
|
1402
|
-
},
|
|
1523
|
+
}, de = () => {
|
|
1403
1524
|
let e = document.createElement("input");
|
|
1404
1525
|
e.type = "file", e.accept = "application/json", e.onchange = async (e) => {
|
|
1405
1526
|
let t = e.target.files?.[0];
|
|
1406
1527
|
if (t) try {
|
|
1407
1528
|
let e = await t.text(), r = JSON.parse(e);
|
|
1408
|
-
|
|
1529
|
+
if (!r || typeof r != "object" || Array.isArray(r)) throw TypeError("配置文件根节点必须是对象");
|
|
1530
|
+
let i = r;
|
|
1531
|
+
if (i.settings !== void 0) {
|
|
1532
|
+
let e = ge(i.settings);
|
|
1533
|
+
e.themeMode !== void 0 && (await d.updateThemeMode(e.themeMode), delete e.themeMode), d.$patch(e);
|
|
1534
|
+
}
|
|
1535
|
+
if (i.gray !== void 0) {
|
|
1536
|
+
if (typeof i.gray != "boolean") throw TypeError("gray");
|
|
1537
|
+
m.value = i.gray;
|
|
1538
|
+
}
|
|
1539
|
+
if (i.colorWeak !== void 0) {
|
|
1540
|
+
if (typeof i.colorWeak != "boolean") throw TypeError("colorWeak");
|
|
1541
|
+
_.value = i.colorWeak;
|
|
1542
|
+
}
|
|
1543
|
+
if (i.watermark !== void 0) {
|
|
1544
|
+
if (!i.watermark || typeof i.watermark != "object" || Array.isArray(i.watermark)) throw TypeError("watermark");
|
|
1545
|
+
let e = i.watermark;
|
|
1546
|
+
if (typeof e.enabled != "boolean" || typeof e.text != "string" || e.text.length > 200) throw TypeError("watermark");
|
|
1547
|
+
b.value = e.enabled, C.value = e.text;
|
|
1548
|
+
}
|
|
1549
|
+
n.success("配置已导入");
|
|
1409
1550
|
} catch {
|
|
1410
1551
|
n.error("配置文件格式错误");
|
|
1411
1552
|
}
|
|
1412
1553
|
}, e.click();
|
|
1413
1554
|
};
|
|
1414
|
-
return (t, n) => (y(), i(O(
|
|
1555
|
+
return (t, n) => (y(), i(O(L), {
|
|
1415
1556
|
show: f.value,
|
|
1416
|
-
"onUpdate:show": n[
|
|
1557
|
+
"onUpdate:show": n[16] ||= (e) => f.value = e,
|
|
1417
1558
|
width: 380,
|
|
1418
1559
|
placement: "right",
|
|
1419
|
-
"trap-focus": !
|
|
1420
|
-
"block-scroll": !
|
|
1560
|
+
"trap-focus": !0,
|
|
1561
|
+
"block-scroll": !0
|
|
1421
1562
|
}, {
|
|
1422
|
-
default: j(() => [u(O(
|
|
1563
|
+
default: j(() => [u(O(R), {
|
|
1423
1564
|
title: "⚙️ 布局配置",
|
|
1424
1565
|
closable: ""
|
|
1425
1566
|
}, {
|
|
1426
|
-
default: j(() => [u(O(
|
|
1567
|
+
default: j(() => [u(O(ie), {
|
|
1427
1568
|
value: p.value,
|
|
1428
|
-
"onUpdate:value": n[
|
|
1569
|
+
"onUpdate:value": n[15] ||= (e) => p.value = e,
|
|
1429
1570
|
animated: "",
|
|
1430
1571
|
class: "settings-tabs"
|
|
1431
1572
|
}, {
|
|
1432
1573
|
default: j(() => [
|
|
1433
|
-
u(O(
|
|
1574
|
+
u(O(re), {
|
|
1434
1575
|
name: "appearance",
|
|
1435
1576
|
tab: "🎨 外观"
|
|
1436
1577
|
}, {
|
|
1437
1578
|
default: j(() => [
|
|
1438
|
-
s("div",
|
|
1579
|
+
s("div", un, [s("div", dn, [(y(!0), o(e, null, S(O(ce), (e) => (y(), o("div", {
|
|
1439
1580
|
key: e.name,
|
|
1440
|
-
class: h(["preset-card", { active:
|
|
1441
|
-
|
|
1581
|
+
class: h(["preset-card", { active: V(e) }]),
|
|
1582
|
+
role: "button",
|
|
1583
|
+
tabindex: "0",
|
|
1584
|
+
"aria-pressed": V(e),
|
|
1585
|
+
onClick: (t) => H(e),
|
|
1586
|
+
onKeydown: [M((t) => H(e), ["enter"]), M(N((t) => H(e), ["prevent"]), ["space"])]
|
|
1442
1587
|
}, [
|
|
1443
|
-
s("div",
|
|
1444
|
-
s("div",
|
|
1445
|
-
s("div",
|
|
1588
|
+
s("div", pn, E(e.icon), 1),
|
|
1589
|
+
s("div", mn, E(e.name), 1),
|
|
1590
|
+
s("div", hn, [s("span", {
|
|
1446
1591
|
class: "color-dot",
|
|
1447
1592
|
style: g({ backgroundColor: e.primaryColor })
|
|
1448
1593
|
}, null, 4)])
|
|
1449
|
-
],
|
|
1450
|
-
s("div",
|
|
1594
|
+
], 42, fn))), 128))])]),
|
|
1595
|
+
s("div", gn, [n[20] ||= s("div", { class: "section-title" }, "主题模式", -1), u(O(W), {
|
|
1451
1596
|
value: O(d).themeMode,
|
|
1452
|
-
|
|
1453
|
-
|
|
1597
|
+
class: "mode-group",
|
|
1598
|
+
"onUpdate:value": ee
|
|
1454
1599
|
}, {
|
|
1455
1600
|
default: j(() => [
|
|
1456
1601
|
u(O(U), { value: "light" }, {
|
|
1457
|
-
default: j(() => [...n[
|
|
1602
|
+
default: j(() => [...n[17] ||= [s("span", { class: "i-mdi:white-balance-sunny mr-1" }, null, -1), l(" 浅色 ", -1)]]),
|
|
1458
1603
|
_: 1
|
|
1459
1604
|
}),
|
|
1460
1605
|
u(O(U), { value: "dark" }, {
|
|
1461
|
-
default: j(() => [...n[
|
|
1606
|
+
default: j(() => [...n[18] ||= [s("span", { class: "i-mdi:moon-waning-crescent mr-1" }, null, -1), l(" 深色 ", -1)]]),
|
|
1462
1607
|
_: 1
|
|
1463
1608
|
}),
|
|
1464
|
-
u(O(U), { value: "
|
|
1465
|
-
default: j(() => [...n[
|
|
1609
|
+
u(O(U), { value: "system" }, {
|
|
1610
|
+
default: j(() => [...n[19] ||= [s("span", { class: "i-mdi:theme-light-dark mr-1" }, null, -1), l(" 自动 ", -1)]]),
|
|
1466
1611
|
_: 1
|
|
1467
1612
|
})
|
|
1468
1613
|
]),
|
|
1469
1614
|
_: 1
|
|
1470
1615
|
}, 8, ["value"])]),
|
|
1471
|
-
s("div",
|
|
1616
|
+
s("div", _n, [n[21] ||= s("div", { class: "section-title" }, "主题色", -1), s("div", vn, [u(O(I), {
|
|
1472
1617
|
value: O(d).primaryColor,
|
|
1473
|
-
"onUpdate:value": n[
|
|
1618
|
+
"onUpdate:value": n[0] ||= (e) => O(d).primaryColor = e,
|
|
1474
1619
|
"show-alpha": !1,
|
|
1475
|
-
swatches: O(
|
|
1620
|
+
swatches: O(fe),
|
|
1476
1621
|
actions: ["confirm"]
|
|
1477
|
-
}, null, 8, ["value", "swatches"]), s("span",
|
|
1478
|
-
s("div",
|
|
1622
|
+
}, null, 8, ["value", "swatches"]), s("span", yn, E(O(d).primaryColor), 1)])]),
|
|
1623
|
+
s("div", bn, [n[25] ||= s("div", { class: "section-title" }, "圆角大小", -1), u(O(W), {
|
|
1479
1624
|
value: O(d).borderRadius,
|
|
1480
|
-
"onUpdate:value": n[
|
|
1625
|
+
"onUpdate:value": n[1] ||= (e) => O(d).borderRadius = e,
|
|
1481
1626
|
class: "radius-group"
|
|
1482
1627
|
}, {
|
|
1483
1628
|
default: j(() => [
|
|
1484
1629
|
u(O(U), { value: "small" }, {
|
|
1485
|
-
default: j(() => [...n[
|
|
1630
|
+
default: j(() => [...n[22] ||= [l("小 (4px)", -1)]]),
|
|
1486
1631
|
_: 1
|
|
1487
1632
|
}),
|
|
1488
1633
|
u(O(U), { value: "medium" }, {
|
|
1489
|
-
default: j(() => [...n[
|
|
1634
|
+
default: j(() => [...n[23] ||= [l("中 (6px)", -1)]]),
|
|
1490
1635
|
_: 1
|
|
1491
1636
|
}),
|
|
1492
1637
|
u(O(U), { value: "large" }, {
|
|
1493
|
-
default: j(() => [...n[
|
|
1638
|
+
default: j(() => [...n[24] ||= [l("大 (8px)", -1)]]),
|
|
1494
1639
|
_: 1
|
|
1495
1640
|
})
|
|
1496
1641
|
]),
|
|
1497
1642
|
_: 1
|
|
1498
1643
|
}, 8, ["value"])]),
|
|
1499
|
-
s("div",
|
|
1500
|
-
n[
|
|
1501
|
-
s("div",
|
|
1644
|
+
s("div", xn, [
|
|
1645
|
+
n[31] ||= s("div", { class: "section-title" }, "页面动画", -1),
|
|
1646
|
+
s("div", Sn, [n[26] ||= s("span", { class: "text-sm" }, "启用动画", -1), u(O(G), {
|
|
1502
1647
|
value: O(d).enableTransition,
|
|
1503
|
-
"onUpdate:value": n[
|
|
1648
|
+
"onUpdate:value": n[2] ||= (e) => O(d).enableTransition = e
|
|
1504
1649
|
}, null, 8, ["value"])]),
|
|
1505
1650
|
u(O(W), {
|
|
1506
1651
|
value: O(d).transitionType,
|
|
1507
|
-
"onUpdate:value": n[
|
|
1652
|
+
"onUpdate:value": n[3] ||= (e) => O(d).transitionType = e,
|
|
1508
1653
|
disabled: !O(d).enableTransition,
|
|
1509
1654
|
class: "transition-group"
|
|
1510
1655
|
}, {
|
|
1511
1656
|
default: j(() => [
|
|
1512
1657
|
u(O(U), { value: "fade" }, {
|
|
1513
|
-
default: j(() => [...n[
|
|
1658
|
+
default: j(() => [...n[27] ||= [l("淡入", -1)]]),
|
|
1514
1659
|
_: 1
|
|
1515
1660
|
}),
|
|
1516
1661
|
u(O(U), { value: "slide" }, {
|
|
1517
|
-
default: j(() => [...n[
|
|
1662
|
+
default: j(() => [...n[28] ||= [l("滑动", -1)]]),
|
|
1518
1663
|
_: 1
|
|
1519
1664
|
}),
|
|
1520
1665
|
u(O(U), { value: "zoom" }, {
|
|
1521
|
-
default: j(() => [...n[
|
|
1666
|
+
default: j(() => [...n[29] ||= [l("缩放", -1)]]),
|
|
1522
1667
|
_: 1
|
|
1523
1668
|
}),
|
|
1524
1669
|
u(O(U), { value: "none" }, {
|
|
1525
|
-
default: j(() => [...n[
|
|
1670
|
+
default: j(() => [...n[30] ||= [l("无", -1)]]),
|
|
1526
1671
|
_: 1
|
|
1527
1672
|
})
|
|
1528
1673
|
]),
|
|
1529
1674
|
_: 1
|
|
1530
1675
|
}, 8, ["value", "disabled"])
|
|
1531
1676
|
]),
|
|
1532
|
-
s("div",
|
|
1677
|
+
s("div", Cn, [u(O(F), {
|
|
1533
1678
|
block: "",
|
|
1534
1679
|
secondary: "",
|
|
1535
|
-
onClick:
|
|
1680
|
+
onClick: te
|
|
1536
1681
|
}, {
|
|
1537
|
-
icon: j(() => [...n[
|
|
1538
|
-
default: j(() => [n[
|
|
1682
|
+
icon: j(() => [...n[32] ||= [s("span", { class: "i-mdi:restore" }, null, -1)]]),
|
|
1683
|
+
default: j(() => [n[33] ||= l(" 恢复外观默认设置 ", -1)]),
|
|
1539
1684
|
_: 1
|
|
1540
1685
|
})])
|
|
1541
1686
|
]),
|
|
1542
1687
|
_: 1
|
|
1543
1688
|
}),
|
|
1544
|
-
u(O(
|
|
1689
|
+
u(O(re), {
|
|
1545
1690
|
name: "layout",
|
|
1546
1691
|
tab: "📐 布局"
|
|
1547
1692
|
}, {
|
|
1548
1693
|
default: j(() => [
|
|
1549
|
-
s("div",
|
|
1694
|
+
s("div", wn, [n[34] ||= s("div", { class: "section-title" }, "布局模式", -1), s("div", Tn, [(y(!0), o(e, null, S(O(ln), (e) => (y(), o("div", {
|
|
1550
1695
|
key: e.value,
|
|
1551
1696
|
class: h(["layout-item", {
|
|
1552
1697
|
active: O(d).layoutMode === e.value,
|
|
1553
1698
|
disabled: e.disabled
|
|
1554
1699
|
}]),
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1700
|
+
role: "button",
|
|
1701
|
+
tabindex: e.disabled ? -1 : 0,
|
|
1702
|
+
"aria-disabled": e.disabled,
|
|
1703
|
+
"aria-pressed": O(d).layoutMode === e.value,
|
|
1704
|
+
onClick: N((t) => z(e.value, e.disabled), ["stop"]),
|
|
1705
|
+
onKeydown: [M(N((t) => z(e.value, e.disabled), ["stop"]), ["enter"]), M(N((t) => z(e.value, e.disabled), ["stop", "prevent"]), ["space"])]
|
|
1706
|
+
}, [s("div", Dn, [(y(), o("svg", On, [s("g", { innerHTML: e.svg }, null, 8, kn)]))]), s("div", An, [l(E(e.label) + " ", 1), e.disabled ? (y(), o("span", jn, "敬请期待")) : a("", !0)])], 42, En))), 128))])]),
|
|
1707
|
+
s("div", Mn, [n[37] ||= s("div", { class: "section-title" }, "菜单展开方式", -1), u(O(W), {
|
|
1558
1708
|
value: O(d).menuExpandMode,
|
|
1559
|
-
"onUpdate:value": n[
|
|
1709
|
+
"onUpdate:value": n[4] ||= (e) => O(d).menuExpandMode = e,
|
|
1560
1710
|
class: "menu-expand-group"
|
|
1561
1711
|
}, {
|
|
1562
1712
|
default: j(() => [u(O(U), { value: "inline" }, {
|
|
1563
|
-
default: j(() => [...n[
|
|
1713
|
+
default: j(() => [...n[35] ||= [l("传统展开", -1)]]),
|
|
1564
1714
|
_: 1
|
|
1565
1715
|
}), u(O(U), { value: "panel" }, {
|
|
1566
|
-
default: j(() => [...n[
|
|
1716
|
+
default: j(() => [...n[36] ||= [l("右侧面板", -1)]]),
|
|
1567
1717
|
_: 1
|
|
1568
1718
|
})]),
|
|
1569
1719
|
_: 1
|
|
1570
1720
|
}, 8, ["value"])]),
|
|
1571
|
-
s("div",
|
|
1572
|
-
n[
|
|
1573
|
-
s("div",
|
|
1721
|
+
s("div", Nn, [
|
|
1722
|
+
n[42] ||= s("div", { class: "section-title" }, "界面元素", -1),
|
|
1723
|
+
s("div", Pn, [n[38] ||= s("span", null, "显示面包屑", -1), u(O(G), {
|
|
1574
1724
|
value: O(d).showBreadcrumb,
|
|
1575
|
-
"onUpdate:value": n[
|
|
1725
|
+
"onUpdate:value": n[5] ||= (e) => O(d).showBreadcrumb = e
|
|
1576
1726
|
}, null, 8, ["value"])]),
|
|
1577
|
-
s("div",
|
|
1727
|
+
s("div", Fn, [n[39] ||= s("span", null, "显示面包屑图标", -1), u(O(G), {
|
|
1578
1728
|
value: O(d).showBreadcrumbIcon,
|
|
1579
|
-
"onUpdate:value": n[
|
|
1729
|
+
"onUpdate:value": n[6] ||= (e) => O(d).showBreadcrumbIcon = e,
|
|
1580
1730
|
disabled: !O(d).showBreadcrumb
|
|
1581
1731
|
}, null, 8, ["value", "disabled"])]),
|
|
1582
|
-
s("div",
|
|
1732
|
+
s("div", In, [n[40] ||= s("span", null, "显示标签页", -1), u(O(G), {
|
|
1583
1733
|
value: O(d).showTagsView,
|
|
1584
|
-
"onUpdate:value": n[
|
|
1734
|
+
"onUpdate:value": n[7] ||= (e) => O(d).showTagsView = e
|
|
1585
1735
|
}, null, 8, ["value"])]),
|
|
1586
|
-
s("div",
|
|
1736
|
+
s("div", Ln, [n[41] ||= s("span", null, "显示页脚", -1), u(O(G), {
|
|
1587
1737
|
value: O(d).showFooter,
|
|
1588
|
-
"onUpdate:value": n[
|
|
1738
|
+
"onUpdate:value": n[8] ||= (e) => O(d).showFooter = e
|
|
1589
1739
|
}, null, 8, ["value"])])
|
|
1590
1740
|
]),
|
|
1591
|
-
s("div",
|
|
1592
|
-
n[
|
|
1593
|
-
s("div",
|
|
1741
|
+
s("div", Rn, [
|
|
1742
|
+
n[45] ||= s("div", { class: "section-title" }, "尺寸调整", -1),
|
|
1743
|
+
s("div", zn, [s("div", Bn, [n[43] ||= s("span", null, "侧边栏宽度", -1), s("span", Vn, E(O(d).sidebarWidth) + "px", 1)]), u(O(ne), {
|
|
1594
1744
|
value: O(d).sidebarWidth,
|
|
1595
|
-
"onUpdate:value": n[
|
|
1745
|
+
"onUpdate:value": n[9] ||= (e) => O(d).sidebarWidth = e,
|
|
1596
1746
|
min: 180,
|
|
1597
1747
|
max: 280,
|
|
1598
1748
|
step: 10,
|
|
@@ -1602,9 +1752,9 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1602
1752
|
280: "280"
|
|
1603
1753
|
}
|
|
1604
1754
|
}, null, 8, ["value"])]),
|
|
1605
|
-
s("div",
|
|
1755
|
+
s("div", Hn, [s("div", Un, [n[44] ||= s("span", null, "头部高度", -1), s("span", Wn, E(O(d).headerHeight) + "px", 1)]), u(O(ne), {
|
|
1606
1756
|
value: O(d).headerHeight,
|
|
1607
|
-
"onUpdate:value": n[
|
|
1757
|
+
"onUpdate:value": n[10] ||= (e) => O(d).headerHeight = e,
|
|
1608
1758
|
min: 48,
|
|
1609
1759
|
max: 64,
|
|
1610
1760
|
step: 4,
|
|
@@ -1615,98 +1765,98 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1615
1765
|
}
|
|
1616
1766
|
}, null, 8, ["value"])])
|
|
1617
1767
|
]),
|
|
1618
|
-
s("div",
|
|
1768
|
+
s("div", Gn, [u(O(F), {
|
|
1619
1769
|
block: "",
|
|
1620
1770
|
secondary: "",
|
|
1621
|
-
onClick:
|
|
1771
|
+
onClick: K
|
|
1622
1772
|
}, {
|
|
1623
|
-
icon: j(() => [...n[
|
|
1624
|
-
default: j(() => [n[
|
|
1773
|
+
icon: j(() => [...n[46] ||= [s("span", { class: "i-mdi:restore" }, null, -1)]]),
|
|
1774
|
+
default: j(() => [n[47] ||= l(" 恢复布局默认设置 ", -1)]),
|
|
1625
1775
|
_: 1
|
|
1626
1776
|
})])
|
|
1627
1777
|
]),
|
|
1628
1778
|
_: 1
|
|
1629
1779
|
}),
|
|
1630
|
-
u(O(
|
|
1780
|
+
u(O(re), {
|
|
1631
1781
|
name: "features",
|
|
1632
1782
|
tab: "🔧 功能"
|
|
1633
1783
|
}, {
|
|
1634
1784
|
default: j(() => [
|
|
1635
|
-
s("div",
|
|
1785
|
+
s("div", Kn, [n[52] ||= s("div", { class: "section-title" }, "缓存管理", -1), s("div", qn, [u(O(F), {
|
|
1636
1786
|
secondary: "",
|
|
1637
|
-
onClick:
|
|
1787
|
+
onClick: se
|
|
1638
1788
|
}, {
|
|
1639
|
-
icon: j(() => [...n[
|
|
1640
|
-
default: j(() => [n[
|
|
1789
|
+
icon: j(() => [...n[48] ||= [s("span", { class: "i-mdi:delete-sweep" }, null, -1)]]),
|
|
1790
|
+
default: j(() => [n[49] ||= l(" 清除缓存 ", -1)]),
|
|
1641
1791
|
_: 1
|
|
1642
|
-
}), u(O(
|
|
1792
|
+
}), u(O(F), {
|
|
1643
1793
|
secondary: "",
|
|
1644
|
-
onClick:
|
|
1794
|
+
onClick: le
|
|
1645
1795
|
}, {
|
|
1646
|
-
icon: j(() => [...n[
|
|
1647
|
-
default: j(() => [n[
|
|
1796
|
+
icon: j(() => [...n[50] ||= [s("span", { class: "i-mdi:refresh" }, null, -1)]]),
|
|
1797
|
+
default: j(() => [n[51] ||= l(" 重新加载 ", -1)]),
|
|
1648
1798
|
_: 1
|
|
1649
1799
|
})])]),
|
|
1650
|
-
s("div",
|
|
1651
|
-
n[
|
|
1652
|
-
s("div",
|
|
1800
|
+
s("div", Jn, [
|
|
1801
|
+
n[59] ||= s("div", { class: "section-title" }, "配置管理", -1),
|
|
1802
|
+
s("div", Yn, [u(O(F), {
|
|
1653
1803
|
secondary: "",
|
|
1654
|
-
onClick:
|
|
1804
|
+
onClick: ue
|
|
1655
1805
|
}, {
|
|
1656
|
-
icon: j(() => [...n[
|
|
1657
|
-
default: j(() => [n[
|
|
1806
|
+
icon: j(() => [...n[53] ||= [s("span", { class: "i-mdi:download" }, null, -1)]]),
|
|
1807
|
+
default: j(() => [n[54] ||= l(" 导出配置 ", -1)]),
|
|
1658
1808
|
_: 1
|
|
1659
|
-
}), u(O(
|
|
1809
|
+
}), u(O(F), {
|
|
1660
1810
|
secondary: "",
|
|
1661
|
-
onClick:
|
|
1811
|
+
onClick: de
|
|
1662
1812
|
}, {
|
|
1663
|
-
icon: j(() => [...n[
|
|
1664
|
-
default: j(() => [n[
|
|
1813
|
+
icon: j(() => [...n[55] ||= [s("span", { class: "i-mdi:upload" }, null, -1)]]),
|
|
1814
|
+
default: j(() => [n[56] ||= l(" 导入配置 ", -1)]),
|
|
1665
1815
|
_: 1
|
|
1666
1816
|
})]),
|
|
1667
|
-
u(O(
|
|
1817
|
+
u(O(F), {
|
|
1668
1818
|
block: "",
|
|
1669
1819
|
type: "error",
|
|
1670
1820
|
secondary: "",
|
|
1671
1821
|
class: "mt-2",
|
|
1672
|
-
onClick:
|
|
1822
|
+
onClick: q
|
|
1673
1823
|
}, {
|
|
1674
|
-
icon: j(() => [...n[
|
|
1675
|
-
default: j(() => [n[
|
|
1824
|
+
icon: j(() => [...n[57] ||= [s("span", { class: "i-mdi:restore" }, null, -1)]]),
|
|
1825
|
+
default: j(() => [n[58] ||= l(" 重置所有配置 ", -1)]),
|
|
1676
1826
|
_: 1
|
|
1677
1827
|
})
|
|
1678
1828
|
]),
|
|
1679
|
-
s("div",
|
|
1680
|
-
n[
|
|
1681
|
-
s("div",
|
|
1829
|
+
s("div", Xn, [
|
|
1830
|
+
n[62] ||= s("div", { class: "section-title" }, "系统模式", -1),
|
|
1831
|
+
s("div", Zn, [n[60] ||= s("div", { class: "setting-label" }, [s("span", null, "灰色模式"), s("span", { class: "setting-desc" }, "用于哀悼日场景")], -1), u(O(G), {
|
|
1682
1832
|
value: m.value,
|
|
1683
|
-
"onUpdate:value": n[
|
|
1833
|
+
"onUpdate:value": n[11] ||= (e) => m.value = e
|
|
1684
1834
|
}, null, 8, ["value"])]),
|
|
1685
|
-
s("div",
|
|
1835
|
+
s("div", Qn, [n[61] ||= s("div", { class: "setting-label" }, [s("span", null, "色弱模式"), s("span", { class: "setting-desc" }, "提供无障碍访问支持")], -1), u(O(G), {
|
|
1686
1836
|
value: _.value,
|
|
1687
|
-
"onUpdate:value": n[
|
|
1837
|
+
"onUpdate:value": n[12] ||= (e) => _.value = e
|
|
1688
1838
|
}, null, 8, ["value"])])
|
|
1689
1839
|
]),
|
|
1690
|
-
s("div",
|
|
1691
|
-
n[
|
|
1692
|
-
s("div",
|
|
1840
|
+
s("div", $n, [
|
|
1841
|
+
n[64] ||= s("div", { class: "section-title" }, "水印设置", -1),
|
|
1842
|
+
s("div", er, [n[63] ||= s("span", null, "启用水印", -1), u(O(G), {
|
|
1693
1843
|
value: b.value,
|
|
1694
|
-
"onUpdate:value": n[
|
|
1844
|
+
"onUpdate:value": n[13] ||= (e) => b.value = e
|
|
1695
1845
|
}, null, 8, ["value"])]),
|
|
1696
|
-
b.value ? (y(), o("div",
|
|
1846
|
+
b.value ? (y(), o("div", tr, [u(O(B), {
|
|
1697
1847
|
value: C.value,
|
|
1698
|
-
"onUpdate:value": n[
|
|
1848
|
+
"onUpdate:value": n[14] ||= (e) => C.value = e,
|
|
1699
1849
|
placeholder: "请输入水印内容",
|
|
1700
1850
|
size: "small"
|
|
1701
1851
|
}, null, 8, ["value"])])) : a("", !0)
|
|
1702
1852
|
]),
|
|
1703
|
-
s("div",
|
|
1704
|
-
s("div",
|
|
1705
|
-
s("div",
|
|
1706
|
-
s("div",
|
|
1707
|
-
s("div",
|
|
1708
|
-
s("div",
|
|
1709
|
-
s("div",
|
|
1853
|
+
s("div", nr, [n[71] ||= s("div", { class: "section-title" }, "系统信息", -1), s("div", rr, [
|
|
1854
|
+
s("div", ir, [n[65] ||= s("span", { class: "info-label" }, "浏览器", -1), s("span", ar, E(P.value.browser), 1)]),
|
|
1855
|
+
s("div", or, [n[66] ||= s("span", { class: "info-label" }, "操作系统", -1), s("span", sr, E(P.value.os), 1)]),
|
|
1856
|
+
s("div", cr, [n[67] ||= s("span", { class: "info-label" }, "屏幕分辨率", -1), s("span", lr, E(P.value.resolution), 1)]),
|
|
1857
|
+
s("div", ur, [n[68] ||= s("span", { class: "info-label" }, "设备像素比", -1), s("span", dr, E(P.value.pixelRatio), 1)]),
|
|
1858
|
+
s("div", fr, [n[69] ||= s("span", { class: "info-label" }, "语言", -1), s("span", pr, E(P.value.language), 1)]),
|
|
1859
|
+
s("div", mr, [n[70] ||= s("span", { class: "info-label" }, "时区", -1), s("span", hr, E(P.value.timezone), 1)])
|
|
1710
1860
|
])])
|
|
1711
1861
|
]),
|
|
1712
1862
|
_: 1
|
|
@@ -1719,21 +1869,21 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1719
1869
|
_: 1
|
|
1720
1870
|
}, 8, ["show"]));
|
|
1721
1871
|
}
|
|
1722
|
-
}), [["__scopeId", "data-v-
|
|
1872
|
+
}), [["__scopeId", "data-v-99f8c69e"]]), _r = { class: "brand-logo__icon" }, vr = [
|
|
1723
1873
|
"src",
|
|
1724
1874
|
"width",
|
|
1725
1875
|
"height"
|
|
1726
|
-
],
|
|
1876
|
+
], yr = [
|
|
1727
1877
|
"src",
|
|
1728
1878
|
"width",
|
|
1729
1879
|
"height"
|
|
1730
|
-
],
|
|
1880
|
+
], br = { class: "brand-logo__name" }, xr = { class: "brand-logo__title" }, Sr = {
|
|
1731
1881
|
key: 0,
|
|
1732
1882
|
class: "brand-logo__subtitle"
|
|
1733
|
-
},
|
|
1883
|
+
}, Cr = {
|
|
1734
1884
|
key: 0,
|
|
1735
1885
|
class: "brand-logo__divider"
|
|
1736
|
-
},
|
|
1886
|
+
}, wr = /* @__PURE__ */ Q(/* @__PURE__ */ d({
|
|
1737
1887
|
name: "BrandLogo",
|
|
1738
1888
|
__name: "index",
|
|
1739
1889
|
props: {
|
|
@@ -1760,7 +1910,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1760
1910
|
return (n, i) => (y(), o("div", { class: h(["brand-logo", {
|
|
1761
1911
|
"brand-logo--collapsed": t.collapsed,
|
|
1762
1912
|
"brand-logo--horizontal": t.variant === "horizontal"
|
|
1763
|
-
}]) }, [s("div",
|
|
1913
|
+
}]) }, [s("div", _r, [i[0] ||= s("div", { class: "brand-logo__glow" }, null, -1), r.logoType === "video" && r.logoSrc ? (y(), o("video", {
|
|
1764
1914
|
key: 0,
|
|
1765
1915
|
src: r.logoSrc,
|
|
1766
1916
|
width: t.size,
|
|
@@ -1770,19 +1920,19 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1770
1920
|
muted: "",
|
|
1771
1921
|
playsinline: "",
|
|
1772
1922
|
class: "brand-logo__media"
|
|
1773
|
-
}, null, 8,
|
|
1923
|
+
}, null, 8, vr)) : r.logoSrc ? (y(), o("img", {
|
|
1774
1924
|
key: 1,
|
|
1775
1925
|
src: r.logoSrc,
|
|
1776
1926
|
width: t.size,
|
|
1777
1927
|
height: t.size,
|
|
1778
1928
|
class: "brand-logo__media",
|
|
1779
1929
|
alt: "Logo"
|
|
1780
|
-
}, null, 8,
|
|
1930
|
+
}, null, 8, yr)) : a("", !0)]), t.showName && !t.collapsed ? (y(), o(e, { key: 0 }, [s("div", br, [s("span", xr, E(r.name), 1), r.subtitle ? (y(), o("span", Sr, E(r.subtitle), 1)) : a("", !0)]), t.showDivider ? (y(), o("div", Cr)) : a("", !0)], 64)) : a("", !0)], 2));
|
|
1781
1931
|
}
|
|
1782
|
-
}), [["__scopeId", "data-v-fd1c2eec"]]),
|
|
1932
|
+
}), [["__scopeId", "data-v-fd1c2eec"]]), Tr = { class: "icon-menu" }, Er = ["onClick"], Dr = { class: "icon-menu__icon" }, Or = {
|
|
1783
1933
|
key: 1,
|
|
1784
1934
|
class: "icon-menu__fallback"
|
|
1785
|
-
},
|
|
1935
|
+
}, kr = { class: "icon-menu__label" }, Ar = /* @__PURE__ */ Q(/* @__PURE__ */ d({
|
|
1786
1936
|
name: "IconMenu",
|
|
1787
1937
|
__name: "index",
|
|
1788
1938
|
props: {
|
|
@@ -1792,20 +1942,20 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1792
1942
|
emits: ["click"],
|
|
1793
1943
|
setup(t, { emit: n }) {
|
|
1794
1944
|
let r = n, a = Y();
|
|
1795
|
-
return (n, c) => (y(), o("div",
|
|
1945
|
+
return (n, c) => (y(), o("div", Tr, [(y(!0), o(e, null, S(t.menus, (e) => (y(), o("div", {
|
|
1796
1946
|
key: e.path,
|
|
1797
1947
|
class: h(["icon-menu__item", { "icon-menu__item--active": t.active === e.path }]),
|
|
1798
1948
|
onClick: (t) => r("click", e)
|
|
1799
|
-
}, [s("div",
|
|
1949
|
+
}, [s("div", Dr, [O(a).iconComponent && e.meta?.icon ? (y(), i(T(O(a).iconComponent), {
|
|
1800
1950
|
key: 0,
|
|
1801
1951
|
name: e.meta.icon,
|
|
1802
1952
|
size: 20
|
|
1803
|
-
}, null, 8, ["name"])) : (y(), o("span",
|
|
1953
|
+
}, null, 8, ["name"])) : (y(), o("span", Or, E(e.meta?.title?.charAt(0) || "?"), 1))]), s("div", kr, E(e.meta?.title), 1)], 10, Er))), 128))]));
|
|
1804
1954
|
}
|
|
1805
|
-
}), [["__scopeId", "data-v-f985d475"]]),
|
|
1955
|
+
}), [["__scopeId", "data-v-f985d475"]]), jr = { class: "floating-menu__header" }, Mr = { class: "floating-menu__brand" }, Nr = { class: "floating-menu__brand-title" }, Pr = { class: "floating-menu__brand-subtitle" }, Fr = { class: "floating-menu__list" }, Ir = {
|
|
1806
1956
|
key: 0,
|
|
1807
1957
|
class: "floating-menu__group"
|
|
1808
|
-
},
|
|
1958
|
+
}, Lr = { class: "floating-menu__group-title" }, Rr = ["onClick", "onKeydown"], zr = { class: "floating-menu__item-text" }, Br = ["onClick", "onKeydown"], Vr = { class: "floating-menu__item-text" }, Hr = /* @__PURE__ */ Q(/* @__PURE__ */ d({
|
|
1809
1959
|
name: "FloatingMenu",
|
|
1810
1960
|
__name: "index",
|
|
1811
1961
|
props: {
|
|
@@ -1822,35 +1972,43 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1822
1972
|
return (r, d) => (y(), i(n, { name: "slide-fade" }, {
|
|
1823
1973
|
default: j(() => [t.show && t.menuItem ? (y(), o("div", {
|
|
1824
1974
|
key: 0,
|
|
1825
|
-
class: h(["floating-menu", [O(l).isDark.value ? "dark-theme" : "light-theme"]])
|
|
1826
|
-
|
|
1975
|
+
class: h(["floating-menu", [O(l).isDark.value ? "dark-theme" : "light-theme"]]),
|
|
1976
|
+
role: "navigation",
|
|
1977
|
+
"aria-label": "二级功能导航"
|
|
1978
|
+
}, [s("div", jr, [s("div", Mr, [s("span", Nr, E(u.name), 1), s("span", Pr, E(u.subtitle), 1)])]), s("div", Fr, [(y(!0), o(e, null, S(t.menuItem.children, (n) => (y(), o(e, { key: n.path }, [n.children && n.children.length > 0 ? (y(), o("div", Ir, [s("div", Lr, [O(l).iconComponent && n.meta?.icon ? (y(), i(T(O(l).iconComponent), {
|
|
1827
1979
|
key: 0,
|
|
1828
1980
|
name: n.meta.icon,
|
|
1829
1981
|
size: 16
|
|
1830
1982
|
}, null, 8, ["name"])) : a("", !0), s("span", null, E(n.meta?.title), 1)]), (y(!0), o(e, null, S(n.children, (e) => (y(), o("div", {
|
|
1831
1983
|
key: e.path,
|
|
1832
1984
|
class: h(["floating-menu__item floating-menu__item--sub", { active: t.isActive?.(e.path) }]),
|
|
1833
|
-
|
|
1985
|
+
role: "link",
|
|
1986
|
+
tabindex: "0",
|
|
1987
|
+
onClick: (t) => c("click", e),
|
|
1988
|
+
onKeydown: [M((t) => c("click", e), ["enter"]), M(N((t) => c("click", e), ["prevent"]), ["space"])]
|
|
1834
1989
|
}, [O(l).iconComponent && e.meta?.icon ? (y(), i(T(O(l).iconComponent), {
|
|
1835
1990
|
key: 0,
|
|
1836
1991
|
name: e.meta.icon,
|
|
1837
1992
|
size: 16
|
|
1838
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
1993
|
+
}, null, 8, ["name"])) : a("", !0), s("span", zr, E(e.meta?.title), 1)], 42, Rr))), 128))])) : (y(), o("div", {
|
|
1839
1994
|
key: 1,
|
|
1840
1995
|
class: h(["floating-menu__item", { active: t.isActive?.(n.path) }]),
|
|
1841
|
-
|
|
1996
|
+
role: "link",
|
|
1997
|
+
tabindex: "0",
|
|
1998
|
+
onClick: (e) => c("click", n),
|
|
1999
|
+
onKeydown: [M((e) => c("click", n), ["enter"]), M(N((e) => c("click", n), ["prevent"]), ["space"])]
|
|
1842
2000
|
}, [O(l).iconComponent && n.meta?.icon ? (y(), i(T(O(l).iconComponent), {
|
|
1843
2001
|
key: 0,
|
|
1844
2002
|
name: n.meta.icon,
|
|
1845
2003
|
size: 18
|
|
1846
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
2004
|
+
}, null, 8, ["name"])) : a("", !0), s("span", Vr, E(n.meta?.title), 1)], 42, Br))], 64))), 128))])], 2)) : a("", !0)]),
|
|
1847
2005
|
_: 1
|
|
1848
2006
|
}));
|
|
1849
2007
|
}
|
|
1850
|
-
}), [["__scopeId", "data-v-
|
|
2008
|
+
}), [["__scopeId", "data-v-3dc6f434"]]), Ur = { class: "side-menu__header" }, Wr = { class: "side-menu__header-icon" }, Gr = { class: "side-menu__header-title" }, Kr = { class: "side-menu__list" }, qr = {
|
|
1851
2009
|
key: 0,
|
|
1852
2010
|
class: "side-menu__group"
|
|
1853
|
-
},
|
|
2011
|
+
}, Jr = { class: "side-menu__group-label" }, Yr = ["onClick"], Xr = { class: "side-menu__item-text" }, Zr = ["onClick"], Qr = { class: "side-menu__item-text" }, $r = /* @__PURE__ */ Q(/* @__PURE__ */ d({
|
|
1854
2012
|
name: "SideMenu",
|
|
1855
2013
|
__name: "index",
|
|
1856
2014
|
props: {
|
|
@@ -1868,11 +2026,11 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1868
2026
|
default: j(() => [d.value ? a("", !0) : (y(), o("div", {
|
|
1869
2027
|
key: 0,
|
|
1870
2028
|
class: h(["side-menu", [O(l).isDark.value ? "dark-theme" : "light-theme"]])
|
|
1871
|
-
}, [s("div",
|
|
2029
|
+
}, [s("div", Ur, [s("div", Wr, [O(l).iconComponent && t.activeItem?.meta?.icon ? (y(), i(T(O(l).iconComponent), {
|
|
1872
2030
|
key: 0,
|
|
1873
2031
|
name: t.activeItem.meta.icon,
|
|
1874
2032
|
size: 17
|
|
1875
|
-
}, null, 8, ["name"])) : a("", !0)]), s("span",
|
|
2033
|
+
}, null, 8, ["name"])) : a("", !0)]), s("span", Gr, E(t.activeItem?.meta?.title || "菜单"), 1)]), s("div", Kr, [(y(!0), o(e, null, S(t.menus, (n) => (y(), o(e, { key: n.path }, [n.children && n.children.length > 0 ? (y(), o("div", qr, [s("div", Jr, [O(l).iconComponent && n.meta?.icon ? (y(), i(T(O(l).iconComponent), {
|
|
1876
2034
|
key: 0,
|
|
1877
2035
|
name: n.meta.icon,
|
|
1878
2036
|
size: 14
|
|
@@ -1884,7 +2042,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1884
2042
|
key: 0,
|
|
1885
2043
|
name: e.meta.icon,
|
|
1886
2044
|
size: 15
|
|
1887
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
2045
|
+
}, null, 8, ["name"])) : a("", !0), s("span", Xr, E(e.meta?.title), 1)], 10, Yr))), 128))])) : (y(), o("div", {
|
|
1888
2046
|
key: 1,
|
|
1889
2047
|
class: h(["side-menu__item", { active: t.isActive?.(n.path) }]),
|
|
1890
2048
|
onClick: (e) => c("click", n)
|
|
@@ -1892,17 +2050,17 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1892
2050
|
key: 0,
|
|
1893
2051
|
name: n.meta.icon,
|
|
1894
2052
|
size: 16
|
|
1895
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
2053
|
+
}, null, 8, ["name"])) : a("", !0), s("span", Qr, E(n.meta?.title), 1)], 10, Zr))], 64))), 128))])], 2))]),
|
|
1896
2054
|
_: 1
|
|
1897
2055
|
})], 64)) : a("", !0);
|
|
1898
2056
|
}
|
|
1899
|
-
}), [["__scopeId", "data-v-1909f229"]]),
|
|
2057
|
+
}), [["__scopeId", "data-v-1909f229"]]), ei = ["aria-hidden"], ti = { class: "drawer-menu__content" }, ni = { class: "drawer-menu__grid" }, ri = ["onClick", "onKeydown"], ii = {
|
|
1900
2058
|
key: 0,
|
|
1901
2059
|
class: "drawer-menu__items"
|
|
1902
|
-
},
|
|
2060
|
+
}, ai = ["onClick", "onKeydown"], oi = { class: "drawer-menu__item-text" }, si = {
|
|
1903
2061
|
key: 0,
|
|
1904
2062
|
class: "drawer-menu__sub-items"
|
|
1905
|
-
},
|
|
2063
|
+
}, ci = { class: "drawer-menu__sub-title" }, li = ["onClick", "onKeydown"], ui = { class: "drawer-menu__item-text" }, di = /* @__PURE__ */ Q(/* @__PURE__ */ d({
|
|
1906
2064
|
name: "DrawerMenu",
|
|
1907
2065
|
__name: "index",
|
|
1908
2066
|
props: {
|
|
@@ -1910,7 +2068,7 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1910
2068
|
show: { type: Boolean }
|
|
1911
2069
|
},
|
|
1912
2070
|
setup(t) {
|
|
1913
|
-
let n = Y(), r = q(), c = p(
|
|
2071
|
+
let n = Y(), r = q(), c = p(xe, {
|
|
1914
2072
|
show: () => {},
|
|
1915
2073
|
startHide: () => {},
|
|
1916
2074
|
hide: () => {}
|
|
@@ -1919,6 +2077,9 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1919
2077
|
};
|
|
1920
2078
|
return (r, u) => (y(), o("div", {
|
|
1921
2079
|
class: h(["drawer-menu", [O(n).isDark.value ? "dark-theme" : "light-theme", { visible: t.show }]]),
|
|
2080
|
+
role: "navigation",
|
|
2081
|
+
"aria-label": "功能导航",
|
|
2082
|
+
"aria-hidden": !t.show,
|
|
1922
2083
|
onMouseenter: u[0] ||= (e) => O(c).show(),
|
|
1923
2084
|
onMouseleave: u[1] ||= (e) => O(c).startHide()
|
|
1924
2085
|
}, [u[2] ||= s("div", { class: "drawer-menu__header" }, [s("div", { class: "drawer-menu__title" }, [s("span", { class: "grid-icon" }, [
|
|
@@ -1926,40 +2087,49 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1926
2087
|
s("span"),
|
|
1927
2088
|
s("span"),
|
|
1928
2089
|
s("span")
|
|
1929
|
-
]), s("span", null, "功能导航")])], -1), s("div",
|
|
2090
|
+
]), s("span", null, "功能导航")])], -1), s("div", ti, [s("div", ni, [(y(!0), o(e, null, S(t.menus, (t) => (y(), o("div", {
|
|
1930
2091
|
key: t.path,
|
|
1931
2092
|
class: "drawer-menu__category"
|
|
1932
2093
|
}, [s("div", {
|
|
1933
2094
|
class: "drawer-menu__category-header",
|
|
1934
|
-
|
|
2095
|
+
role: "link",
|
|
2096
|
+
tabindex: "0",
|
|
2097
|
+
onClick: (e) => l(t),
|
|
2098
|
+
onKeydown: [M((e) => l(t), ["enter"]), M(N((e) => l(t), ["prevent"]), ["space"])]
|
|
1935
2099
|
}, [O(n).iconComponent && t.meta?.icon ? (y(), i(T(O(n).iconComponent), {
|
|
1936
2100
|
key: 0,
|
|
1937
2101
|
name: t.meta.icon,
|
|
1938
2102
|
size: 18
|
|
1939
|
-
}, null, 8, ["name"])) : a("", !0), s("span", null, E(t.meta?.title), 1)],
|
|
2103
|
+
}, null, 8, ["name"])) : a("", !0), s("span", null, E(t.meta?.title), 1)], 40, ri), t.children && t.children.length > 0 ? (y(), o("div", ii, [(y(!0), o(e, null, S(t.children, (e) => (y(), o("div", {
|
|
1940
2104
|
key: e.path,
|
|
1941
2105
|
class: "drawer-menu__item",
|
|
1942
|
-
|
|
2106
|
+
role: "link",
|
|
2107
|
+
tabindex: "0",
|
|
2108
|
+
onClick: (t) => l(e),
|
|
2109
|
+
onKeydown: [M((t) => l(e), ["enter"]), M(N((t) => l(e), ["prevent"]), ["space"])]
|
|
1943
2110
|
}, [O(n).iconComponent && e.meta?.icon ? (y(), i(T(O(n).iconComponent), {
|
|
1944
2111
|
key: 0,
|
|
1945
2112
|
name: e.meta.icon,
|
|
1946
2113
|
size: 16
|
|
1947
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
2114
|
+
}, null, 8, ["name"])) : a("", !0), s("span", oi, E(e.meta?.title), 1)], 40, ai))), 128)), (y(!0), o(e, null, S(t.children, (t) => (y(), o(e, { key: t.path }, [t.children && t.children.length > 0 ? (y(), o("div", si, [s("div", ci, E(t.meta?.title), 1), (y(!0), o(e, null, S(t.children, (e) => (y(), o("div", {
|
|
1948
2115
|
key: e.path,
|
|
1949
2116
|
class: "drawer-menu__item drawer-menu__item--sub",
|
|
1950
|
-
|
|
2117
|
+
role: "link",
|
|
2118
|
+
tabindex: "0",
|
|
2119
|
+
onClick: (t) => l(e),
|
|
2120
|
+
onKeydown: [M((t) => l(e), ["enter"]), M(N((t) => l(e), ["prevent"]), ["space"])]
|
|
1951
2121
|
}, [O(n).iconComponent && e.meta?.icon ? (y(), i(T(O(n).iconComponent), {
|
|
1952
2122
|
key: 0,
|
|
1953
2123
|
name: e.meta.icon,
|
|
1954
2124
|
size: 14
|
|
1955
|
-
}, null, 8, ["name"])) : a("", !0), s("span",
|
|
2125
|
+
}, null, 8, ["name"])) : a("", !0), s("span", ui, E(e.meta?.title), 1)], 40, li))), 128))])) : a("", !0)], 64))), 128))])) : a("", !0)]))), 128))])])], 42, ei));
|
|
1956
2126
|
}
|
|
1957
|
-
}), [["__scopeId", "data-v-
|
|
2127
|
+
}), [["__scopeId", "data-v-91d54a20"]]), fi = /* @__PURE__ */ Q(/* @__PURE__ */ d({
|
|
1958
2128
|
name: "MenuTrigger",
|
|
1959
2129
|
__name: "index",
|
|
1960
2130
|
props: { show: { type: Boolean } },
|
|
1961
2131
|
setup(e) {
|
|
1962
|
-
let t = p(
|
|
2132
|
+
let t = p(xe, {
|
|
1963
2133
|
show: () => {},
|
|
1964
2134
|
startHide: () => {},
|
|
1965
2135
|
hide: () => {}
|
|
@@ -1977,11 +2147,11 @@ var Ne = { class: "mix-layout-container" }, Pe = { class: "logo-container" }, Fe
|
|
|
1977
2147
|
}), [["__scopeId", "data-v-2c20af78"]]);
|
|
1978
2148
|
//#endregion
|
|
1979
2149
|
//#region src/setup.ts
|
|
1980
|
-
function
|
|
1981
|
-
let n =
|
|
2150
|
+
function pi(e, t = {}) {
|
|
2151
|
+
let n = ve(t);
|
|
1982
2152
|
return n().syncCSSVariables(), n;
|
|
1983
2153
|
}
|
|
1984
2154
|
//#endregion
|
|
1985
|
-
export {
|
|
2155
|
+
export { ue as BORDER_RADIUS_MAP, wr as BrandLogo, fe as COLOR_SWATCHES, on as C_CardLayout, on as CardLayout, cn as C_LayoutContainer, et as C_MixLayout, et as MixLayout, _t as C_MixTopLayout, _t as MixTopLayout, Rt as C_ReverseHorizontalMixLayout, Rt as ReverseHorizontalMixLayout, Se as C_SideLayout, Se as SideLayout, Ie as C_TopLayout, Ie as TopLayout, X as DEFAULT_BRAND_CONFIG, J as DEFAULT_SETTINGS, xe as DRAWER_HANDLER_KEY, di as DrawerMenu, Hr as FloatingMenu, Ar as IconMenu, be as LAYOUT_CONTEXT_KEY, le as LAYOUT_MODES, fi as MenuTrigger, se as PRESET_COLORS, $ as ResponsiveMenu, gr as SettingsDrawer, $r as SideMenu, ce as THEME_PRESETS, de as TRANSITION_MAP, _e as adjustColor, ve as createSettingsStore, ge as sanitizeSettingsPatch, pi as setupLayout, Z as useLayoutCache, Y as useLayoutContext, Re as useMenuSplit, ye as useSettingsStore };
|
|
1986
2156
|
|
|
1987
2157
|
//# sourceMappingURL=index.js.map
|