china-mobile-international-custom-components 0.1.22 → 0.1.23

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.
@@ -0,0 +1,648 @@
1
+ import { createElementBlock as m, openBlock as a, createBlock as b, createCommentVNode as x, createElementVNode as s, unref as u, normalizeStyle as A, toDisplayString as g, withCtx as v, resolveDynamicComponent as O, ref as E, watch as R, nextTick as D, createVNode as h, normalizeClass as $, withModifiers as P, Fragment as k, renderList as U, Transition as B, withDirectives as K, vShow as _ } from "vue";
2
+ import { ElIcon as N, ElAutoResizer as G, ElTreeV2 as W } from "element-plus";
3
+ import { Logo as H, LOGO_CONFIG as V } from "../Logo.mjs";
4
+ import { _ as I } from "./_plugin-vue_export-helper.CHgC5LLL.js";
5
+ import { IconRenderer as Y, iconLibraryMap as q } from "color-star-custom-components";
6
+ import { IconYou as J } from "color-message-aibox-vue";
7
+ import '../assets/layout2.css';const Q = { class: "nav-title overflow-hidden" }, X = /* @__PURE__ */ Object.assign({
8
+ name: "NavTitle"
9
+ }, {
10
+ __name: "NavTitle",
11
+ props: {
12
+ // 标题文本
13
+ title: {
14
+ type: String,
15
+ default: ""
16
+ },
17
+ // Logo 图标组件
18
+ logo: {
19
+ type: [Object, String],
20
+ default: null
21
+ },
22
+ // Logo 尺寸
23
+ logoSize: {
24
+ type: Number,
25
+ default: 30
26
+ },
27
+ // 标题样式
28
+ titleStyle: {
29
+ type: Object,
30
+ default: () => ({ fontSize: "16px" })
31
+ },
32
+ // 是否显示折叠按钮
33
+ showToggle: {
34
+ type: Boolean,
35
+ default: !0
36
+ },
37
+ // 折叠按钮图标
38
+ toggleIcon: {
39
+ type: [Object, String],
40
+ default: null
41
+ }
42
+ },
43
+ emits: ["toggle"],
44
+ setup(e, { emit: n }) {
45
+ const t = n, o = () => {
46
+ t("toggle");
47
+ };
48
+ return (l, y) => (a(), m("div", Q, [
49
+ e.logo ? (a(), b(u(H), {
50
+ key: 0,
51
+ shape: u(V).circle,
52
+ "background-color": "#eaf0fe"
53
+ }, null, 8, ["shape"])) : x("", !0),
54
+ s("span", {
55
+ class: "weight-500 text-1f2329 title-text",
56
+ style: A(e.titleStyle)
57
+ }, g(e.title), 5),
58
+ e.showToggle ? (a(), b(u(N), {
59
+ key: 1,
60
+ size: 20,
61
+ class: "collapse-unfold-icon",
62
+ onClick: o
63
+ }, {
64
+ default: v(() => [
65
+ (a(), b(O(e.toggleIcon)))
66
+ ]),
67
+ _: 1
68
+ })) : x("", !0)
69
+ ]));
70
+ }
71
+ }), Z = /* @__PURE__ */ I(X, [["__scopeId", "data-v-018f7423"]]), M = {
72
+ DIR: "DIR",
73
+ // 目录
74
+ MENU: "MENU",
75
+ // 菜单
76
+ BUTTON: "BUTTON"
77
+ // 按钮
78
+ }, ee = /* @__PURE__ */ new Map([
79
+ ["active", "#3271FE"],
80
+ ["parent_active", "#3271FE"],
81
+ ["normal", "#1F2329"]
82
+ ]), te = (e, n) => !Array.isArray(e) || !n ? !1 : e.some((t) => t.path === n ? !0 : t.children?.length > 0 ? te(t.children, n) : !1), ne = (e, n = 1) => e.filter((o) => [M.DIR, M.MENU].includes(o.type)).map((o) => ({
83
+ ...o,
84
+ id: o.bnid,
85
+ name: o.name,
86
+ path: o?.path || "",
87
+ children: o.children?.length > 0 ? ne(o.children || [], n + 1) : [],
88
+ level: n
89
+ })), oe = (e, n) => e?.children?.length ? e.children.some(
90
+ (t) => t?.path === n || t.children?.length && oe(t, n)
91
+ ) : !1, L = (e, n) => e?.children?.length ? e.children.some(
92
+ (t) => t?.id === n || t.children?.length && L(t, n)
93
+ ) : !1, le = (e, n) => {
94
+ const t = e?.id === n, o = L(e, n);
95
+ let l = "normal";
96
+ return t ? l = "active" : o && (l = "parent_active"), ee.get(l);
97
+ }, De = (e, n) => e.includes(n) ? e : [...e, n], $e = (e, n) => e.filter((t) => t !== n), ie = (e, n, t = []) => e.some((o) => {
98
+ if (o?.path === n)
99
+ return !0;
100
+ if (o.children?.length > 0) {
101
+ t.push(o.id);
102
+ const l = ie(o.children, n, t);
103
+ return l || t.pop(), l;
104
+ }
105
+ return !1;
106
+ }), z = (e, n, t = []) => e.some((o) => {
107
+ if (o?.id === n)
108
+ return !0;
109
+ if (o.children?.length > 0) {
110
+ t.push(o.id);
111
+ const l = z(o.children, n, t);
112
+ return l || t.pop(), l;
113
+ }
114
+ return !1;
115
+ }), Pe = (e, n) => {
116
+ const t = [];
117
+ return z(e, n, t), t;
118
+ }, re = (e, n) => {
119
+ if (!Array.isArray(e) || !n) return null;
120
+ for (const t of e) {
121
+ if (t.path === n)
122
+ return t;
123
+ if (t.children?.length > 0) {
124
+ const o = re(t.children, n);
125
+ if (o) return o;
126
+ }
127
+ }
128
+ return null;
129
+ }, ae = (e) => Array.isArray(e) ? e.map((n) => {
130
+ const t = { ...n };
131
+ return t.children && Array.isArray(t.children) && t.children.length > 0 ? t.children = ae(t.children) : t.isLeaf = !0, t;
132
+ }) : [], se = (e) => {
133
+ if (!Array.isArray(e) || e.length === 0) return null;
134
+ for (const n of e) {
135
+ if (n.isLeaf && n.path)
136
+ return n;
137
+ if (n.children?.length > 0) {
138
+ const t = se(n.children);
139
+ if (t) return t;
140
+ }
141
+ }
142
+ return null;
143
+ }, Ue = ["/404", "/login", "/unauthorized"], w = {
144
+ label: "name",
145
+ children: "children",
146
+ isLeaf: "isLeaf"
147
+ }, T = {
148
+ PARENT: "parent",
149
+ LEAF: "leaf"
150
+ }, Be = {
151
+ LOADING: "loading",
152
+ LOADED: "loaded",
153
+ ERROR: "error"
154
+ }, ce = { class: "node-label" }, ue = ["onClick"], de = /* @__PURE__ */ Object.assign({
155
+ name: "MenuList"
156
+ }, {
157
+ __name: "MenuList",
158
+ props: {
159
+ // 菜单数据(已处理好的树形结构)
160
+ menuData: {
161
+ type: Array,
162
+ default: () => []
163
+ },
164
+ // 当前选中的菜单ID
165
+ currentMenuId: {
166
+ type: String,
167
+ default: null
168
+ },
169
+ // 展开的节点ID数组
170
+ expandedKeys: {
171
+ type: Array,
172
+ default: () => []
173
+ },
174
+ // 树形组件配置
175
+ treeProps: {
176
+ type: Object,
177
+ default: () => w
178
+ },
179
+ // 菜单项高度
180
+ itemHeight: {
181
+ type: Number,
182
+ default: 36
183
+ },
184
+ // 缩进距离
185
+ indent: {
186
+ type: Number,
187
+ default: 24
188
+ },
189
+ // 图标大小
190
+ iconSize: {
191
+ type: Number,
192
+ default: 16
193
+ },
194
+ // 展开图标组件
195
+ expandedIcon: {
196
+ type: [Object, String],
197
+ default: null
198
+ },
199
+ // 收起图标组件
200
+ collapsedIcon: {
201
+ type: [Object, String],
202
+ default: null
203
+ }
204
+ // 图标渲染器组件(可选)
205
+ // iconRenderer: {
206
+ // type: [Object, String],
207
+ // default: null,
208
+ // },
209
+ // // 图标库配置
210
+ // iconLibrary: {
211
+ // type: [String, Object],
212
+ // default: null,
213
+ // },
214
+ },
215
+ emits: ["node-click", "node-expand", "node-collapse"],
216
+ setup(e, { emit: n }) {
217
+ const t = e, o = n, l = E(null), y = (r) => r?.icon && r.level === 1 || !r.isLeaf, d = (r) => le(r, t.currentMenuId), f = (r) => {
218
+ const S = r.isLeaf ? T.LEAF : T.PARENT;
219
+ o("node-click", r, S);
220
+ }, i = (r) => {
221
+ o("node-expand", r.id, r);
222
+ }, c = (r) => {
223
+ o("node-collapse", r.id, r);
224
+ }, j = (r) => {
225
+ if (!l.value) return;
226
+ t.expandedKeys.includes(r.data.id) ? l.value.collapseNode(r) : l.value.expandNode(r);
227
+ };
228
+ return R(
229
+ () => t.expandedKeys,
230
+ (r) => {
231
+ D(() => {
232
+ l.value && l.value.setExpandedKeys([...r]);
233
+ });
234
+ },
235
+ { deep: !0 }
236
+ ), (r, S) => (a(), b(u(G), { class: "flex-1 overflow-hidden" }, {
237
+ default: v(({ height: F }) => [
238
+ h(u(W), {
239
+ ref_key: "treeRef",
240
+ ref: l,
241
+ "node-key": "id",
242
+ data: e.menuData,
243
+ props: e.treeProps,
244
+ height: F,
245
+ "current-node-key": e.currentMenuId,
246
+ "highlight-current": !0,
247
+ "expanded-keys": e.expandedKeys,
248
+ "show-checkbox": !1,
249
+ "item-size": e.itemHeight + 8,
250
+ "expand-on-click-node": !1,
251
+ indent: e.indent,
252
+ onNodeClick: f,
253
+ onNodeExpand: i,
254
+ onNodeCollapse: c,
255
+ class: "custom-tree"
256
+ }, {
257
+ default: v(({ node: C, data: p }) => [
258
+ s("div", {
259
+ class: $(["tree-node-content-custom", {
260
+ "has-children": !p.isLeaf,
261
+ "is-current": p.id === e.currentMenuId && p.isLeaf,
262
+ "is-parent-active": u(L)(p, e.currentMenuId) && !p.isLeaf
263
+ }])
264
+ }, [
265
+ y(p) ? (a(), b(u(N), {
266
+ key: 0,
267
+ size: e.iconSize,
268
+ class: "node-icon",
269
+ color: d(p)
270
+ }, {
271
+ default: v(() => [
272
+ h(u(Y), {
273
+ "icon-name": p?.icon,
274
+ "icon-library": u(q).aibox
275
+ }, null, 8, ["icon-name", "icon-library"])
276
+ ]),
277
+ _: 2
278
+ }, 1032, ["size", "color"])) : x("", !0),
279
+ s("span", ce, g(C.label), 1),
280
+ p.isLeaf ? x("", !0) : (a(), m("div", {
281
+ key: 1,
282
+ class: "expand-arrow",
283
+ onClick: P((Me) => j(C), ["stop"])
284
+ }, [
285
+ h(u(N), {
286
+ size: e.iconSize,
287
+ color: d(p)
288
+ }, {
289
+ default: v(() => [
290
+ (a(), b(O(
291
+ e.expandedKeys.includes(p.id) ? e.expandedIcon : e.collapsedIcon
292
+ )))
293
+ ]),
294
+ _: 2
295
+ }, 1032, ["size", "color"])
296
+ ], 8, ue))
297
+ ], 2)
298
+ ]),
299
+ _: 1
300
+ }, 8, ["data", "props", "height", "current-node-key", "expanded-keys", "item-size", "indent"])
301
+ ]),
302
+ _: 1
303
+ }));
304
+ }
305
+ }), fe = /* @__PURE__ */ I(de, [["__scopeId", "data-v-96f902de"]]), pe = { class: "user-popup-content" }, ye = { class: "user_info_wrap_data" }, he = { class: "user-avatar" }, me = { class: "avatar-text" }, ge = { class: "user-details" }, ve = { class: "user-name" }, be = { class: "user-email" }, xe = ["onClick"], Ne = /* @__PURE__ */ Object.assign({
306
+ name: "UserPopup"
307
+ }, {
308
+ __name: "UserPopup",
309
+ props: {
310
+ // 操作列表配置
311
+ actions: {
312
+ type: Array,
313
+ default: () => [],
314
+ validator: (e) => e.every(
315
+ (n) => n.key && (n.icon || n.iconName)
316
+ )
317
+ },
318
+ // 用户信息
319
+ userInfo: {
320
+ type: Object,
321
+ default: () => ({})
322
+ }
323
+ },
324
+ emits: ["action-click"],
325
+ setup(e, { emit: n }) {
326
+ const t = n, o = (l) => {
327
+ t("action-click", l.key, l);
328
+ };
329
+ return (l, y) => (a(), m("div", pe, [
330
+ s("div", ye, [
331
+ s("div", he, [
332
+ s("span", me, g(e.userInfo?.name?.charAt(0)?.toUpperCase() || ""), 1)
333
+ ]),
334
+ s("div", ge, [
335
+ s("div", ve, g(e.userInfo?.name || ""), 1),
336
+ s("div", be, g(e.userInfo?.bnid || ""), 1)
337
+ ])
338
+ ]),
339
+ (a(!0), m(k, null, U(e.actions, (d, f) => (a(), m(k, { key: f }, [
340
+ d.hidden ? x("", !0) : (a(), m("div", {
341
+ key: 0,
342
+ class: "list__item",
343
+ onClick: (i) => o(d)
344
+ }, [
345
+ h(u(N), {
346
+ class: "list__item-icon",
347
+ size: d.iconSize || 20,
348
+ color: "#262626"
349
+ }, {
350
+ default: v(() => [
351
+ (a(), b(O(d.icon)))
352
+ ]),
353
+ _: 2
354
+ }, 1032, ["size"]),
355
+ s("span", null, g(d.label), 1)
356
+ ], 8, xe))
357
+ ], 64))), 128))
358
+ ]));
359
+ }
360
+ }), Ie = /* @__PURE__ */ I(Ne, [["__scopeId", "data-v-9ec38608"]]), ke = { class: "navbar-box__footer__left" }, Se = { class: "name-first" }, Ae = { class: "name-text" }, Ee = /* @__PURE__ */ Object.assign({
361
+ name: "NavFooter"
362
+ }, {
363
+ __name: "NavFooter",
364
+ props: {
365
+ // 用户信息
366
+ userInfo: {
367
+ type: Object,
368
+ default: null,
369
+ validator: (e) => e ? e.name !== void 0 : !0
370
+ },
371
+ // 用户操作列表
372
+ actions: {
373
+ type: Array,
374
+ default: () => []
375
+ },
376
+ // 弹窗显示延迟(毫秒)
377
+ popupDelay: {
378
+ type: Number,
379
+ default: 200
380
+ },
381
+ // 弹窗左侧位置(像素)
382
+ popupLeft: {
383
+ type: Number,
384
+ default: 240
385
+ },
386
+ navFooterWidth: {
387
+ type: Number,
388
+ default: 240
389
+ }
390
+ },
391
+ emits: ["action-click"],
392
+ setup(e, { emit: n }) {
393
+ const t = n, o = E(null), l = E(!1), y = (f) => {
394
+ f && f && (l.value = f, clearTimeout(o.value));
395
+ }, d = (f, i) => {
396
+ l.value = !1, t("action-click", f, i);
397
+ };
398
+ return (f, i) => (a(), m(k, null, [
399
+ e.userInfo ? (a(), m("div", {
400
+ key: 0,
401
+ class: "navbar-box__footer",
402
+ style: A({ width: e.navFooterWidth + "px" }),
403
+ onMouseenter: i[0] || (i[0] = (c) => y(!0)),
404
+ onMouseleave: i[1] || (i[1] = (c) => y(!1))
405
+ }, [
406
+ s("div", ke, [
407
+ s("div", Se, g(e.userInfo?.name?.charAt(0)?.toUpperCase() || ""), 1),
408
+ s("div", null, [
409
+ s("div", Ae, g(e.userInfo?.name), 1)
410
+ ])
411
+ ]),
412
+ h(u(N), {
413
+ size: 12,
414
+ class: "navbar-box__footer__right",
415
+ color: "#1F2329"
416
+ }, {
417
+ default: v(() => [
418
+ h(u(J))
419
+ ]),
420
+ _: 1
421
+ })
422
+ ], 36)) : x("", !0),
423
+ h(B, { name: "fade" }, {
424
+ default: v(() => [
425
+ K(s("div", {
426
+ class: "footer-popup content-bg",
427
+ style: A({ left: e.popupLeft + "px" }),
428
+ onMouseenter: i[2] || (i[2] = (c) => y(!0)),
429
+ onMouseleave: i[3] || (i[3] = (c) => y(!1))
430
+ }, [
431
+ h(Ie, {
432
+ actions: e.actions,
433
+ onActionClick: d,
434
+ userInfo: e.userInfo
435
+ }, null, 8, ["actions", "userInfo"])
436
+ ], 36), [
437
+ [_, l.value]
438
+ ])
439
+ ]),
440
+ _: 1
441
+ })
442
+ ], 64));
443
+ }
444
+ }), Oe = /* @__PURE__ */ I(Ee, [["__scopeId", "data-v-4e8e4de1"]]), Le = { class: "sidebar pd-l-12 pd-r-12 flex flex-col overflow-hidden" }, Ce = /* @__PURE__ */ Object.assign({
445
+ name: "CustomSidebar"
446
+ }, {
447
+ __name: "layout",
448
+ props: {
449
+ // ========== 菜单数据 ==========
450
+ // 菜单树数据(已处理好的树形结构)
451
+ menuData: {
452
+ type: Array,
453
+ default: () => []
454
+ },
455
+ // 当前选中的菜单ID
456
+ currentMenuId: {
457
+ type: String,
458
+ default: null
459
+ },
460
+ // 展开的节点ID数组
461
+ expandedKeys: {
462
+ type: Array,
463
+ default: () => []
464
+ },
465
+ // ========== 头部配置 ==========
466
+ // 标题文本
467
+ title: {
468
+ type: String,
469
+ default: ""
470
+ },
471
+ // Logo 图标组件
472
+ logo: {
473
+ type: [Object, String],
474
+ default: null
475
+ },
476
+ // Logo 尺寸
477
+ logoSize: {
478
+ type: Number,
479
+ default: 30
480
+ },
481
+ // 是否显示折叠按钮
482
+ showToggle: {
483
+ type: Boolean,
484
+ default: !0
485
+ },
486
+ // 折叠按钮图标
487
+ toggleIcon: {
488
+ type: [Object, String],
489
+ default: null
490
+ },
491
+ // ========== 菜单配置 ==========
492
+ // 树形组件配置
493
+ treeProps: {
494
+ type: Object,
495
+ default: () => w
496
+ },
497
+ // 菜单项高度
498
+ itemHeight: {
499
+ type: Number,
500
+ default: 36
501
+ },
502
+ // 缩进距离
503
+ indent: {
504
+ type: Number,
505
+ default: 24
506
+ },
507
+ // 图标大小
508
+ iconSize: {
509
+ type: Number,
510
+ default: 16
511
+ },
512
+ // 标题样式
513
+ titleStyle: {
514
+ type: Object,
515
+ default: () => ({ fontSize: "16px" })
516
+ },
517
+ // 展开图标组件
518
+ expandedIcon: {
519
+ type: [Object, String],
520
+ default: null
521
+ },
522
+ // 收起图标组件
523
+ collapsedIcon: {
524
+ type: [Object, String],
525
+ default: null
526
+ },
527
+ // 图标渲染器组件
528
+ iconRenderer: {
529
+ type: [Object, String],
530
+ default: null
531
+ },
532
+ // 图标库配置
533
+ iconLibrary: {
534
+ type: [String, Object],
535
+ default: null
536
+ },
537
+ // ========== 底部配置 ==========
538
+ // 是否显示底部
539
+ showFooter: {
540
+ type: Boolean,
541
+ default: !0
542
+ },
543
+ // 用户信息
544
+ userInfo: {
545
+ type: Object,
546
+ default: null
547
+ },
548
+ // 用户操作列表
549
+ userActions: {
550
+ type: Array,
551
+ default: () => []
552
+ },
553
+ // 弹窗显示延迟
554
+ popupDelay: {
555
+ type: Number,
556
+ default: 200
557
+ },
558
+ // 弹窗左侧位置(像素)
559
+ popupLeft: {
560
+ type: Number,
561
+ default: 240
562
+ },
563
+ navFooterWidth: {
564
+ type: Number,
565
+ default: 240
566
+ }
567
+ },
568
+ emits: [
569
+ "toggle",
570
+ "node-click",
571
+ "node-expand",
572
+ "node-collapse",
573
+ "user-action-click"
574
+ ],
575
+ setup(e, { emit: n }) {
576
+ const t = n, o = () => {
577
+ t("toggle");
578
+ }, l = (i, c) => {
579
+ t("node-click", i, c);
580
+ }, y = (i, c) => {
581
+ t("node-expand", i, c);
582
+ }, d = (i, c) => {
583
+ t("node-collapse", i, c);
584
+ }, f = (i, c) => {
585
+ t("user-action-click", i, c);
586
+ };
587
+ return (i, c) => (a(), m(k, null, [
588
+ s("div", Le, [
589
+ h(Z, {
590
+ "title-style": e.titleStyle,
591
+ title: e.title,
592
+ logo: e.logo,
593
+ "logo-size": e.logoSize,
594
+ "show-toggle": e.showToggle,
595
+ "toggle-icon": e.toggleIcon,
596
+ onToggle: o
597
+ }, null, 8, ["title-style", "title", "logo", "logo-size", "show-toggle", "toggle-icon"]),
598
+ h(fe, {
599
+ "menu-data": e.menuData,
600
+ "current-menu-id": e.currentMenuId,
601
+ "expanded-keys": e.expandedKeys,
602
+ "tree-props": e.treeProps,
603
+ "item-height": e.itemHeight,
604
+ indent: e.indent,
605
+ "icon-size": e.iconSize,
606
+ "expanded-icon": e.expandedIcon,
607
+ "collapsed-icon": e.collapsedIcon,
608
+ "icon-renderer": e.iconRenderer,
609
+ "icon-library": e.iconLibrary,
610
+ onNodeClick: l,
611
+ onNodeExpand: y,
612
+ onNodeCollapse: d
613
+ }, null, 8, ["menu-data", "current-menu-id", "expanded-keys", "tree-props", "item-height", "indent", "icon-size", "expanded-icon", "collapsed-icon", "icon-renderer", "icon-library"])
614
+ ]),
615
+ e.showFooter ? (a(), b(Oe, {
616
+ key: 0,
617
+ "popup-left": e.popupLeft,
618
+ "user-info": e.userInfo,
619
+ actions: e.userActions,
620
+ "popup-delay": e.popupDelay,
621
+ "nav-footer-width": e.navFooterWidth,
622
+ onActionClick: f
623
+ }, null, 8, ["popup-left", "user-info", "actions", "popup-delay", "nav-footer-width"])) : x("", !0)
624
+ ], 64));
625
+ }
626
+ }), Ke = /* @__PURE__ */ I(Ce, [["__scopeId", "data-v-0350c21a"]]);
627
+ export {
628
+ M,
629
+ T as N,
630
+ Ue as S,
631
+ w as T,
632
+ ee as a,
633
+ oe as b,
634
+ L as c,
635
+ $e as d,
636
+ De as e,
637
+ ie as f,
638
+ le as g,
639
+ z as h,
640
+ te as i,
641
+ Pe as j,
642
+ re as k,
643
+ Ke as l,
644
+ se as m,
645
+ Be as n,
646
+ ae as p,
647
+ ne as t
648
+ };
package/es/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { CustomToggle as t } from "./CustomToggle.mjs";
2
2
  import { CustomTitle as r } from "./CustomTitle.mjs";
3
3
  import { PageContainer as i } from "./PageContainer.mjs";
4
- import { l as n, a as m, n as l, M as p, N as T, S as f, T as S, d as g, e as u, f as E, h as c, k as d, m as A, g as P, j as _, c as C, b as I, i as L, p as N, t as M } from "./chunks/layout.4cXSFqV7.js";
4
+ import { l as n, a as m, n as l, M as p, N as T, S as f, T as S, d as g, e as u, f as E, h as c, k as d, m as A, g as P, j as _, c as C, b as I, i as L, p as N, t as M } from "./chunks/layout.BGxsktpj.js";
5
5
  import { AvailableRangeSetting as O } from "./AvailableRangeSetting.mjs";
6
6
  import { A as F, T as h } from "./chunks/index.C3QfeHLU.js";
7
7
  import { ApplicationTypeTag as y, useApplicationTypeTag as D } from "./ApplicationTypeTag.mjs";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/layout.ByVWo0V4.js");exports.CustomSidebar=e.layout;exports.MENU_COLOR_STRATEGY=e.MENU_COLOR_STRATEGY;exports.MENU_LOADING_STATES=e.MENU_LOADING_STATES;exports.MENU_TYPE=e.MENU_TYPE;exports.NODE_CLICK_TYPES=e.NODE_CLICK_TYPES;exports.SPECIAL_ROUTES=e.SPECIAL_ROUTES;exports.TREE_PROPS=e.TREE_PROPS;exports.collapseNodeKeys=e.collapseNodeKeys;exports.expandNodeKeys=e.expandNodeKeys;exports.findExpandPath=e.findExpandPath;exports.findExpandPathById=e.findExpandPathById;exports.findMenuByPath=e.findMenuByPath;exports.getFirstLeafMenu=e.getFirstLeafMenu;exports.getMenuIconColorById=e.getMenuIconColorById;exports.getParentNodeIdsById=e.getParentNodeIdsById;exports.isParentMenuActive=e.isParentMenuActive;exports.isParentRouteActive=e.isParentRouteActive;exports.isPathInMenu=e.isPathInMenu;exports.processMenuTreeWithLeaf=e.processMenuTreeWithLeaf;exports.transformMenuData=e.transformMenuData;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/layout.BPaMqsSV.js");exports.CustomSidebar=e.layout;exports.MENU_COLOR_STRATEGY=e.MENU_COLOR_STRATEGY;exports.MENU_LOADING_STATES=e.MENU_LOADING_STATES;exports.MENU_TYPE=e.MENU_TYPE;exports.NODE_CLICK_TYPES=e.NODE_CLICK_TYPES;exports.SPECIAL_ROUTES=e.SPECIAL_ROUTES;exports.TREE_PROPS=e.TREE_PROPS;exports.collapseNodeKeys=e.collapseNodeKeys;exports.expandNodeKeys=e.expandNodeKeys;exports.findExpandPath=e.findExpandPath;exports.findExpandPathById=e.findExpandPathById;exports.findMenuByPath=e.findMenuByPath;exports.getFirstLeafMenu=e.getFirstLeafMenu;exports.getMenuIconColorById=e.getMenuIconColorById;exports.getParentNodeIdsById=e.getParentNodeIdsById;exports.isParentMenuActive=e.isParentMenuActive;exports.isParentRouteActive=e.isParentRouteActive;exports.isPathInMenu=e.isPathInMenu;exports.processMenuTreeWithLeaf=e.processMenuTreeWithLeaf;exports.transformMenuData=e.transformMenuData;
@@ -1 +1 @@
1
- .nav-title[data-v-e91227d1]{height:72px;padding-left:2px;display:flex;align-items:center;justify-content:space-between}.nav-title .title-text[data-v-e91227d1]{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nav-title .collapse-unfold-icon[data-v-e91227d1]{cursor:pointer;flex-shrink:0;transition:transform .2s ease;display:flex;justify-content:center}.nav-title .collapse-unfold-icon[data-v-e91227d1]:hover{transform:scale(1.1)}.custom-tree[data-v-96f902de]{background-color:transparent}.custom-tree[data-v-96f902de] .el-tree-node__expand-icon{display:none}.custom-tree[data-v-96f902de] .el-tree-node__content{height:var(--item-height, 36px)!important;min-height:calc(var(--item-height, 36px) - 8px)!important;box-sizing:border-box}.custom-tree[data-v-96f902de] .el-tree-node.is-current .el-tree-node__content{background:#eaf0fe;border-radius:6px}.custom-tree .tree-node-content-custom[data-v-96f902de]{display:flex;align-items:center;transition:all .3s ease;border-radius:6px;font-weight:400;font-size:14px;color:#1f2329;width:100%;height:calc(var(--item-height, 36px) - 8px)!important;min-height:calc(var(--item-height, 36px) - 8px)!important;padding:8px 12px;box-sizing:border-box;cursor:pointer}.custom-tree .tree-node-content-custom.is-current[data-v-96f902de]{color:#3271fe}.custom-tree .tree-node-content-custom.is-parent-active[data-v-96f902de]{color:#3271fe;border-radius:6px;background:transparent}.custom-tree .tree-node-content-custom .expand-arrow[data-v-96f902de]{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease;flex-shrink:0}.custom-tree .tree-node-content-custom .node-icon[data-v-96f902de]{width:24px;justify-content:flex-start;flex-shrink:0}.custom-tree .tree-node-content-custom .node-label[data-v-96f902de]{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-popup-content[data-v-9ec38608]{padding:8px}.user-popup-content .user_info_wrap_data[data-v-9ec38608]{display:flex;align-items:center;padding:8px 3px 12px;margin-bottom:12px;border-radius:8px;border-bottom:1px solid #EFF2F5}.user-popup-content .user_info_wrap_data .user-avatar[data-v-9ec38608]{width:32px;height:32px;border-radius:50%;background:#3965ff;display:flex;align-items:center;justify-content:center;margin-right:3px;flex-shrink:0}.user-popup-content .user_info_wrap_data .user-avatar .avatar-text[data-v-9ec38608]{font-weight:700;font-size:18px;color:#fff;display:flex;justify-content:center;align-items:center}.user-popup-content .user_info_wrap_data .user-details[data-v-9ec38608]{flex:1;overflow:hidden}.user-popup-content .user_info_wrap_data .user-details .user-name[data-v-9ec38608]{line-height:20px;font-weight:400;font-size:14px;color:#1f2329;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-popup-content .user_info_wrap_data .user-details .user-email[data-v-9ec38608]{line-height:20px;font-weight:400;font-size:12px;color:#8f959e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-popup-content .list__item[data-v-9ec38608]{cursor:pointer;display:flex;align-items:center;gap:6px;padding:0 12px;border-radius:8px;font-weight:400;font-size:14px;color:#1f2329;height:48px;transition:background-color .2s ease}.user-popup-content .list__item[data-v-9ec38608]:hover{background:#f0f0f0}.user-popup-content .list__item-icon[data-v-9ec38608]{text-align:center;display:flex;align-items:center}.navbar-box__footer[data-v-2056263d]{height:52px;width:100%;cursor:pointer;position:relative;bottom:0;padding:10px 8px;display:flex;align-items:center;justify-content:space-between;background:#e6e8ea;box-shadow:0 6px 40px 16px #00000005,0 4px 28px #00000005,0 3px 16px -8px #0000000a;border-radius:0;border:1px solid #dee0e3}.navbar-box__footer__left[data-v-2056263d]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.navbar-box__footer__left>div[data-v-2056263d]:last-child{flex:1;min-width:0}.navbar-box__footer__left .name-first[data-v-2056263d]{display:flex;justify-content:center;align-items:center;width:22px;height:22px;background:#3965ff;border-radius:50%;color:#fff;text-align:center;font-weight:700;font-size:12px;flex-shrink:0}.navbar-box__footer__left .name-text[data-v-2056263d]{font-weight:400;font-size:12px;color:#1f2329;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.navbar-box__footer__left .user-id[data-v-2056263d]{font-size:12px;color:#a8abb2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-box__footer__right[data-v-2056263d]{width:16px}.footer-popup[data-v-2056263d]{position:fixed;bottom:0;z-index:2001;width:300px}.footer-popup .footer-popup__content[data-v-2056263d]{width:100%;height:100%}.content-bg[data-v-2056263d]{background:#fff;box-shadow:0 9px 28px 8px #0000000d,0 6px 16px #00000014,0 3px 6px -4px #0000001f;border-radius:4px;border:1px solid rgba(255,255,255,.8)}.fade-enter-from[data-v-2056263d],.fade-leave-to[data-v-2056263d]{opacity:0}.fade-enter-active[data-v-2056263d],.fade-leave-active[data-v-2056263d]{transition:opacity .3s ease}.fade-enter-to[data-v-2056263d],.fade-leave-from[data-v-2056263d]{opacity:1}.sidebar[data-v-0350c21a]{width:240px;transition:width .3s ease;position:relative;height:calc(100% - 52px)}.sidebar[data-v-0350c21a] .el-tree{--el-tree-node-hover-bg-color: transparent !important}
1
+ .nav-title[data-v-018f7423]{height:72px;padding-left:2px;display:flex;align-items:center;justify-content:space-between}.nav-title .title-text[data-v-018f7423]{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nav-title .collapse-unfold-icon[data-v-018f7423]{cursor:pointer;flex-shrink:0;transition:transform .2s ease;display:flex;justify-content:center}.nav-title .collapse-unfold-icon[data-v-018f7423]:hover{transform:scale(1.1)}.custom-tree[data-v-96f902de]{background-color:transparent}.custom-tree[data-v-96f902de] .el-tree-node__expand-icon{display:none}.custom-tree[data-v-96f902de] .el-tree-node__content{height:var(--item-height, 36px)!important;min-height:calc(var(--item-height, 36px) - 8px)!important;box-sizing:border-box}.custom-tree[data-v-96f902de] .el-tree-node.is-current .el-tree-node__content{background:#eaf0fe;border-radius:6px}.custom-tree .tree-node-content-custom[data-v-96f902de]{display:flex;align-items:center;transition:all .3s ease;border-radius:6px;font-weight:400;font-size:14px;color:#1f2329;width:100%;height:calc(var(--item-height, 36px) - 8px)!important;min-height:calc(var(--item-height, 36px) - 8px)!important;padding:8px 12px;box-sizing:border-box;cursor:pointer}.custom-tree .tree-node-content-custom.is-current[data-v-96f902de]{color:#3271fe}.custom-tree .tree-node-content-custom.is-parent-active[data-v-96f902de]{color:#3271fe;border-radius:6px;background:transparent}.custom-tree .tree-node-content-custom .expand-arrow[data-v-96f902de]{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease;flex-shrink:0}.custom-tree .tree-node-content-custom .node-icon[data-v-96f902de]{width:24px;justify-content:flex-start;flex-shrink:0}.custom-tree .tree-node-content-custom .node-label[data-v-96f902de]{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-popup-content[data-v-369cef7b]{padding:8px}.user-popup-content .user_info_wrap_data[data-v-369cef7b]{display:flex;align-items:center;padding:8px 3px 12px;margin-bottom:12px;border-radius:8px;border-bottom:1px solid #eff2f5}.user-popup-content .user_info_wrap_data .user-avatar[data-v-369cef7b]{width:32px;height:32px;border-radius:50%;background:#3965ff;display:flex;align-items:center;justify-content:center;margin-right:3px;flex-shrink:0}.user-popup-content .user_info_wrap_data .user-avatar .avatar-text[data-v-369cef7b]{font-weight:700;font-size:18px;color:#fff;display:flex;justify-content:center;align-items:center}.user-popup-content .user_info_wrap_data .user-details[data-v-369cef7b]{flex:1;overflow:hidden}.user-popup-content .user_info_wrap_data .user-details .user-name[data-v-369cef7b]{line-height:20px;font-weight:400;font-size:14px;color:#1f2329;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-popup-content .user_info_wrap_data .user-details .user-email[data-v-369cef7b]{line-height:20px;font-weight:400;font-size:12px;color:#8f959e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-popup-content .list__item[data-v-369cef7b]{cursor:pointer;display:flex;align-items:center;gap:6px;padding:0 12px;border-radius:8px;font-weight:400;font-size:14px;color:#1f2329;height:48px;transition:background-color .2s ease}.user-popup-content .list__item[data-v-369cef7b]:hover{background:#f0f0f0}.user-popup-content .list__item-icon[data-v-369cef7b]{text-align:center;display:flex;align-items:center}.navbar-box__footer[data-v-a7108193]{height:52px;width:100%;cursor:pointer;position:relative;bottom:0;padding:10px 8px;display:flex;align-items:center;justify-content:space-between;background:#e6e8ea;box-shadow:0 6px 40px 16px #00000005,0 4px 28px #00000005,0 3px 16px -8px #0000000a;border-radius:0;border:1px solid #dee0e3}.navbar-box__footer__left[data-v-a7108193]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.navbar-box__footer__left>div[data-v-a7108193]:last-child{flex:1;min-width:0}.navbar-box__footer__left .name-first[data-v-a7108193]{display:flex;justify-content:center;align-items:center;width:22px;height:22px;background:#3965ff;border-radius:50%;color:#fff;text-align:center;font-weight:700;font-size:12px;flex-shrink:0}.navbar-box__footer__left .name-text[data-v-a7108193]{font-weight:400;font-size:12px;color:#1f2329;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.navbar-box__footer__left .user-id[data-v-a7108193]{font-size:12px;color:#a8abb2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-box__footer__right[data-v-a7108193]{width:16px}.footer-popup[data-v-a7108193]{position:fixed;bottom:0;z-index:2001;width:300px}.footer-popup .footer-popup__content[data-v-a7108193]{width:100%;height:100%}.content-bg[data-v-a7108193]{background:#fff;box-shadow:0 9px 28px 8px #0000000d,0 6px 16px #00000014,0 3px 6px -4px #0000001f;border-radius:4px;border:1px solid rgba(255,255,255,.8)}.fade-enter-from[data-v-a7108193],.fade-leave-to[data-v-a7108193]{opacity:0}.fade-enter-active[data-v-a7108193],.fade-leave-active[data-v-a7108193]{transition:opacity .3s ease}.fade-enter-to[data-v-a7108193],.fade-leave-from[data-v-a7108193]{opacity:1}.sidebar[data-v-0350c21a]{width:240px;transition:width .3s ease;position:relative;height:calc(100% - 52px)}.sidebar[data-v-0350c21a] .el-tree{--el-tree-node-hover-bg-color: transparent !important}