china-mobile-international-custom-components 0.0.26 → 0.0.28

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