@das-fed/web 6.3.0-beta.0 → 6.3.0-beta.10

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 (40) hide show
  1. package/esm-map.json +27 -0
  2. package/index.js +2078 -9818
  3. package/index.js.gz +0 -0
  4. package/package.json +32 -16
  5. package/packages/create-das-web-app/index.js +799 -0
  6. package/packages/create-das-web-app/index.js.gz +0 -0
  7. package/packages/i18n/index.js +35 -0
  8. package/packages/layout/index.js +736 -0
  9. package/packages/layout/index.js.gz +0 -0
  10. package/packages/layout/style.css +7 -0
  11. package/packages/layout/style.css.gz +0 -0
  12. package/packages/micro-frontend/index.js +820 -0
  13. package/packages/micro-frontend/index.js.gz +0 -0
  14. package/packages/micro-frontend/style.css +1 -0
  15. package/packages/style/index.js +2 -0
  16. package/packages/style/style.css +1 -0
  17. package/packages/style/style.css.gz +0 -0
  18. package/packages/theme/index.js +76 -0
  19. package/packages/theme/index.js.gz +0 -0
  20. package/style.css +2 -2
  21. package/style.css.gz +0 -0
  22. package/types/create-das-web-app/get-global-config.d.ts +2 -0
  23. package/types/create-das-web-app/index.d.ts +9 -0
  24. package/types/create-das-web-app/plugins/index.d.ts +4 -0
  25. package/types/create-das-web-app/router/index.d.ts +4 -0
  26. package/types/create-das-web-app/store/index.d.ts +2 -0
  27. package/types/i18n/index.d.ts +21 -0
  28. package/types/index.d.ts +5 -0
  29. package/types/layout/index.d.ts +5 -0
  30. package/types/layout/store/iframe-view.d.ts +12 -0
  31. package/types/layout/store/index.d.ts +70 -0
  32. package/types/layout/store/menu.d.ts +16 -0
  33. package/types/layout/store/nav.d.ts +26 -0
  34. package/types/layout/store/overlay.d.ts +5 -0
  35. package/types/layout/store/tab.d.ts +17 -0
  36. package/types/micro-frontend/bus.d.ts +33 -0
  37. package/types/micro-frontend/index.d.ts +7 -0
  38. package/types/micro-frontend/store.d.ts +5 -0
  39. package/types/theme/index.d.ts +13 -0
  40. package/index.umd.cjs +0 -41
@@ -0,0 +1,736 @@
1
+ import { reactive as F, ref as V, defineComponent as U, computed as v, watch as Y, openBlock as p, createElementBlock as C, Fragment as G, createBlock as A, TransitionGroup as fe, normalizeProps as Z, mergeProps as te, withCtx as O, renderList as oe, withDirectives as E, resolveDynamicComponent as N, vShow as P, unref as b, createCommentVNode as _, nextTick as ie, resolveComponent as ge, createElementVNode as D, normalizeClass as pe, normalizeStyle as he, renderSlot as H, createVNode as K, Transition as le, guardReactiveProps as ce, KeepAlive as ue, h as J, onBeforeMount as we, onMounted as ye, onUnmounted as be } from "vue";
2
+ import { useRouter as _e, useRoute as ve } from "vue-router";
3
+ import { setHtmlMinWH as X } from "@das-fed/utils/common-tools/setHtmlMinWH";
4
+ import { createCeNav as Ie, createCeTabs as Le, createCeMenu as Ce } from "@das-fed/web-components";
5
+ import { flatTree as ke } from "@das-fed/utils/common-tools/nest-tree-format";
6
+ const g = F({
7
+ visible: !1,
8
+ logo: "",
9
+ items: [],
10
+ projects: [],
11
+ userInfo: {},
12
+ config: {},
13
+ searchConfig: {},
14
+ // activeItem: '',
15
+ // activeProject: {},
16
+ eventListeners: {}
17
+ }), Te = {
18
+ show: () => {
19
+ g.visible = !0;
20
+ },
21
+ hide: () => {
22
+ g.visible = !1;
23
+ },
24
+ setLogo: (e) => {
25
+ g.logo = e;
26
+ },
27
+ setItems: (e) => {
28
+ g.visible || (g.visible = !0), g.items = e;
29
+ },
30
+ getItems: () => g.items,
31
+ removeItem: (e) => {
32
+ const t = g.items.filter((n) => n.value !== e);
33
+ g.items = t;
34
+ },
35
+ appendItem: (e) => {
36
+ g.visible || (g.visible = !0), !g.items.find((n) => n.value == e.value) && g.items.push(e);
37
+ },
38
+ setActiveItem: (e) => {
39
+ g.activeItem = e;
40
+ },
41
+ setConfig: (e) => {
42
+ g.config = e;
43
+ },
44
+ setProjects: (e) => {
45
+ g.projects = e;
46
+ },
47
+ setProjectConfig: (e) => {
48
+ g.projectConfig = e;
49
+ },
50
+ setActiveProject: (e) => {
51
+ g.activeProject = e;
52
+ },
53
+ setUserInfo: (e) => {
54
+ g.userInfo = e;
55
+ },
56
+ setSearchConfig: (e) => {
57
+ g.searchConfig = e;
58
+ },
59
+ triggerEventListener: (e, t, n) => {
60
+ var h;
61
+ const l = g.eventListeners, { autoRemove: i = !1 } = n || {}, c = [];
62
+ for (const y in l) {
63
+ const r = l[y];
64
+ r.type === e && c.push(
65
+ (h = r == null ? void 0 : r.handler) == null ? void 0 : h.call(r, t).then(() => {
66
+ i && r.remove();
67
+ })
68
+ );
69
+ }
70
+ return Promise.all(c).then(() => !0).catch(() => !1);
71
+ },
72
+ addEventListener: (e, t) => {
73
+ const n = (/* @__PURE__ */ new Date()).getTime() + Math.random().toString(36).slice(-8), l = () => {
74
+ g.eventListeners[n] && delete g.eventListeners[n];
75
+ };
76
+ return g.eventListeners[n] = {
77
+ type: e,
78
+ handler: async (i) => {
79
+ try {
80
+ await t(i);
81
+ } catch (c) {
82
+ throw c;
83
+ }
84
+ },
85
+ remove: l
86
+ }, {
87
+ remove: l
88
+ };
89
+ }
90
+ }, M = F({
91
+ items: [],
92
+ eventListeners: {}
93
+ }), Ae = {
94
+ setItems: (e) => {
95
+ M.items = e;
96
+ },
97
+ getItems: () => M.items,
98
+ setActiveItem: (e) => {
99
+ M.activeItem = e;
100
+ },
101
+ setPopupClassName: (e) => {
102
+ M.popupClassName = e;
103
+ },
104
+ triggerEventListener: (e, t, n) => {
105
+ var h;
106
+ const l = M.eventListeners, { autoRemove: i = !1 } = n || {}, c = [];
107
+ for (const y in l) {
108
+ const r = l[y];
109
+ r.type === e && c.push(
110
+ (h = r == null ? void 0 : r.handler) == null ? void 0 : h.call(r, t).then(() => {
111
+ i && r.remove();
112
+ })
113
+ );
114
+ }
115
+ return Promise.all(c).then(() => !0).catch(() => !1);
116
+ },
117
+ addEventListener: (e, t) => {
118
+ const n = (/* @__PURE__ */ new Date()).getTime() + Math.random().toString(36).slice(-8), l = () => {
119
+ M.eventListeners[n] && delete M.eventListeners[n];
120
+ };
121
+ return M.eventListeners[n] = {
122
+ type: e,
123
+ handler: async (i) => {
124
+ try {
125
+ await t(i);
126
+ } catch (c) {
127
+ throw c;
128
+ }
129
+ },
130
+ remove: l
131
+ }, {
132
+ remove: l
133
+ };
134
+ }
135
+ }, T = F({
136
+ items: [],
137
+ eventListeners: {}
138
+ }), Re = {
139
+ setItems: (e) => {
140
+ T.items = e;
141
+ },
142
+ getItems: () => T.items,
143
+ removeItem: (e) => {
144
+ const t = T.items.filter((n) => n.value !== e);
145
+ T.items = t;
146
+ },
147
+ appendItem: (e) => {
148
+ const t = T.items.findIndex((n) => n.value == e.value);
149
+ t !== -1 ? T.items.splice(t, 1, e) : T.items.push(e);
150
+ },
151
+ setActiveItem: (e) => {
152
+ T.activeItem = e;
153
+ },
154
+ triggerEventListener: (e, t, n) => {
155
+ var h;
156
+ const l = T.eventListeners, { autoRemove: i = !1 } = n || {}, c = [];
157
+ for (const y in l) {
158
+ const r = l[y];
159
+ r.type === e && c.push(
160
+ (h = r == null ? void 0 : r.handler) == null ? void 0 : h.call(r, t).then(() => {
161
+ i && r.remove();
162
+ })
163
+ );
164
+ }
165
+ return Promise.all(c).then(() => !0).catch(() => !1);
166
+ },
167
+ addEventListener: (e, t) => {
168
+ const n = (/* @__PURE__ */ new Date()).getTime() + Math.random().toString(36).slice(-8), l = () => {
169
+ T.eventListeners[n] && delete T.eventListeners[n];
170
+ };
171
+ return T.eventListeners[n] = {
172
+ type: e,
173
+ handler: async (i) => {
174
+ try {
175
+ await t(i);
176
+ } catch (c) {
177
+ throw c;
178
+ }
179
+ },
180
+ remove: l
181
+ }, {
182
+ remove: l
183
+ };
184
+ }
185
+ }, W = F({
186
+ eventListeners: {}
187
+ }), Ee = {
188
+ triggerEventListener: (e, t, n) => {
189
+ var h;
190
+ const l = W.eventListeners, { autoRemove: i = !1 } = n || {}, c = [];
191
+ for (const y in l) {
192
+ const r = l[y];
193
+ r.type === e && c.push(
194
+ (h = r == null ? void 0 : r.handler) == null ? void 0 : h.call(r, t).then(() => {
195
+ i && r.remove();
196
+ })
197
+ );
198
+ }
199
+ return Promise.all(c).then(() => !0).catch(() => !1);
200
+ },
201
+ addEventListener: (e, t) => {
202
+ const n = (/* @__PURE__ */ new Date()).getTime() + Math.random().toString(36).slice(-8), l = () => {
203
+ W.eventListeners[n] && delete W.eventListeners[n];
204
+ };
205
+ return W.eventListeners[n] = {
206
+ type: e,
207
+ handler: async (i) => {
208
+ try {
209
+ await t(i);
210
+ } catch (c) {
211
+ throw c;
212
+ }
213
+ },
214
+ remove: l
215
+ }, {
216
+ remove: l
217
+ };
218
+ }
219
+ }, ee = F({
220
+ visible: !1,
221
+ style: {}
222
+ }), Pe = {
223
+ set: (e, t) => {
224
+ ee.visible = e, t || (t = {}), t.transition || (t.transition = "all 0.3s"), t && (ee.style = t);
225
+ }
226
+ }, $ = {
227
+ nav: g,
228
+ menu: M,
229
+ tab: T,
230
+ overlay: ee,
231
+ iframeView: W,
232
+ visible: V(!0)
233
+ }, m = {
234
+ nav: Te,
235
+ menu: Ae,
236
+ tab: Re,
237
+ overlay: Pe,
238
+ iframeView: Ee,
239
+ setVisible: (e) => $.visible.value = e
240
+ }, Ve = ["name"], Se = ["name"], De = /* @__PURE__ */ U({
241
+ __name: "das-iframe-router-view",
242
+ props: {
243
+ needTransition: { type: Boolean },
244
+ transitionConfig: {},
245
+ exclude: { default: () => [] }
246
+ },
247
+ setup(e) {
248
+ const t = e, n = v(() => {
249
+ const { mode: s = "", ...o } = {
250
+ mode: "out-in",
251
+ "enter-active-class": "animate__animated animate__fadeInLeft",
252
+ ...t.transitionConfig || {}
253
+ };
254
+ return o;
255
+ }), l = _e(), i = ve(), c = V([]), h = v(() => c.value.filter((s) => {
256
+ var o;
257
+ return (o = s.meta) == null ? void 0 : o.isOpen;
258
+ })), y = (s) => {
259
+ const o = s.lastIndexOf("-");
260
+ let a = o !== -1 ? s.substring(o + 1) : "";
261
+ a === "0" ? a = "1" : a = "0", h.value.forEach((f) => {
262
+ f.meta.key === s && (f.meta.key = `${f.path}-${a}`);
263
+ });
264
+ };
265
+ Y(
266
+ () => t.exclude,
267
+ (s) => {
268
+ if (!s || !s.length) return;
269
+ const o = h.value.find((a) => s.includes(a.path));
270
+ o && y(o.meta.key);
271
+ },
272
+ { deep: !0 }
273
+ );
274
+ const r = async (s) => {
275
+ const o = s.component;
276
+ let a = null;
277
+ return typeof o == "function" ? a = (await o()).default : a = o, a;
278
+ }, R = async () => {
279
+ var o;
280
+ const s = l.options.routes;
281
+ for (const a of s)
282
+ if ((o = a == null ? void 0 : a.meta) != null && o.isIframe) {
283
+ const f = await r(a);
284
+ c.value.push({
285
+ ...a,
286
+ meta: { ...a.meta, key: `${a.path}-0`, componentInstance: f, isOpen: !1, isShow: !1 }
287
+ });
288
+ }
289
+ I();
290
+ }, I = async () => {
291
+ var a, f;
292
+ if (!c.value || !c.value.length) return;
293
+ const s = c.value.find((k) => k.meta.isShow);
294
+ s && (s.meta.isShow = !1, await ie(), m.iframeView.triggerEventListener("onDeactivated", { route: s }));
295
+ const o = c.value.find((k) => k.path === i.path);
296
+ o && ((a = o.meta) != null && a.isOpen || (o.meta.isOpen = !0), (f = o.meta) != null && f.isShow || (o.meta.isShow = !0), await ie(), m.iframeView.triggerEventListener("onActivated", { route: o }));
297
+ };
298
+ return R(), Y(
299
+ () => i.path,
300
+ () => {
301
+ I();
302
+ }
303
+ ), (s, o) => (p(), C(
304
+ G,
305
+ null,
306
+ [
307
+ s.needTransition ? (p(), A(
308
+ fe,
309
+ Z(te({ key: 0 }, n.value)),
310
+ {
311
+ default: O(() => [
312
+ (p(!0), C(
313
+ G,
314
+ null,
315
+ oe(h.value, ({ path: a, meta: f }) => E((p(), C("div", {
316
+ class: "das-iframe-router-view",
317
+ key: a,
318
+ name: a
319
+ }, [
320
+ (p(), A(N(f.componentInstance), {
321
+ key: f.key
322
+ }))
323
+ ], 8, Ve)), [
324
+ [P, f.componentInstance && a === b(i).path]
325
+ ])),
326
+ 128
327
+ /* KEYED_FRAGMENT */
328
+ ))
329
+ ]),
330
+ _: 1
331
+ /* STABLE */
332
+ },
333
+ 16
334
+ /* FULL_PROPS */
335
+ )) : _("v-if", !0),
336
+ s.needTransition ? _("v-if", !0) : (p(!0), C(
337
+ G,
338
+ { key: 1 },
339
+ oe(h.value, ({ path: a, meta: f }) => E((p(), C("div", {
340
+ class: "das-iframe-router-view",
341
+ key: a,
342
+ name: a
343
+ }, [
344
+ (p(), A(N(f.componentInstance), {
345
+ key: f.key
346
+ }))
347
+ ], 8, Se)), [
348
+ [P, f.componentInstance && a === b(i).path]
349
+ ])),
350
+ 128
351
+ /* KEYED_FRAGMENT */
352
+ ))
353
+ ],
354
+ 64
355
+ /* STABLE_FRAGMENT */
356
+ ));
357
+ }
358
+ }), de = (e, t) => {
359
+ const n = e.__vccOpts || e;
360
+ for (const [l, i] of t)
361
+ n[l] = i;
362
+ return n;
363
+ }, Me = /* @__PURE__ */ de(De, [["__scopeId", "data-v-71479406"]]);
364
+ V("/das-micro-app");
365
+ V([]);
366
+ V(!1);
367
+ const xe = V([]), je = V(!0), $e = { class: "das-web-app-container" }, He = {
368
+ key: 0,
369
+ class: "das-web-app-header"
370
+ }, Ne = { class: "das-web-app-main" }, Be = {
371
+ key: 0,
372
+ class: "aside"
373
+ }, Oe = { class: "das-web-app-main-container" }, We = {
374
+ key: 0,
375
+ class: "tab"
376
+ }, Fe = { class: "das-web-app-main-content" }, Ue = { class: "banner" }, ze = { class: "das-web-app-main-router-view" }, Qe = { style: { width: "100%", height: "100%" } }, qe = {
377
+ key: 0,
378
+ style: { width: "100%", height: "100%" }
379
+ }, Ge = {
380
+ key: 1,
381
+ style: { width: "100%", height: "100%" }
382
+ }, Ke = { style: { width: "100%", height: "100%" } }, Je = {
383
+ class: "micro-app",
384
+ style: { height: "100%", width: "100%" }
385
+ }, Xe = /* @__PURE__ */ U({
386
+ __name: "das-web-layout",
387
+ props: {
388
+ needTransition: { type: Boolean, default: !0 },
389
+ transitionConfig: {},
390
+ showLayout: { type: Boolean, default: !0 },
391
+ showAside: { type: Boolean, default: !0 },
392
+ showTabs: { type: Boolean, default: !0 },
393
+ routerViewVisible: { type: Boolean, default: !0 }
394
+ },
395
+ setup(e) {
396
+ const t = e;
397
+ Ie(), Le(), Ce();
398
+ const n = ve(), l = V(!1), i = V(!1), c = V(!1), h = v(() => l.value && t.showLayout), y = v(() => i.value && t.showLayout && t.showAside), r = v(() => l.value && t.showLayout && t.showTabs), R = v(() => t.routerViewVisible ?? !0), I = v(() => $.overlay.visible ?? !1), s = v(() => ({
399
+ "das-web-app-overlay-show": I.value === !0,
400
+ "das-web-app-overlay-hide": I.value === !1,
401
+ "das-web-app-overlay-destroy": I.value === "destroy"
402
+ })), o = v(() => $.overlay.style ?? { backgroundColor: "rgba(0,0,0,0.5)" }), a = v(() => xe.value), f = v(() => je.value);
403
+ Y(
404
+ () => [n.meta, n.query],
405
+ ([L, u]) => {
406
+ const { showLayout: d = !0, showAside: w = !0, showTabs: S = !0, layout: j = {} } = L, {
407
+ showLayout: ne = !0,
408
+ showAside: se = !0,
409
+ showTabs: ae = !0,
410
+ app: me
411
+ } = u;
412
+ window.__IN_DAS_MAIN_APP && (me ? X({ minHeight: "auto", minWidth: "auto" }) : X({ minHeight: "600px", minWidth: "1200px" })), window.__IN_DAS_MICRO_APP && X(j);
413
+ let re = !0, Q = !0, q = !0;
414
+ (d === !1 || ne === !1 || ne === "false") && (re = !1, Q = !1, q = !1), (w === !1 || se === !1 || se === "false") && (Q = !1), (S === !1 || ae === !1 || ae === "false") && (q = !1), l.value = re, i.value = Q, c.value = q;
415
+ }
416
+ );
417
+ const k = v(() => ({
418
+ mode: "out-in",
419
+ "enter-active-class": "animate__animated animate__fadeInLeft",
420
+ ...t.transitionConfig || {}
421
+ }));
422
+ let B = /* @__PURE__ */ new Map();
423
+ const z = (L, u) => {
424
+ let d;
425
+ return B.has(u) ? d = B.get(u) : (d = {
426
+ name: u,
427
+ render() {
428
+ return J("div", { style: { width: "100%", height: "100%" } }, [J(L)]);
429
+ }
430
+ }, B.set(u, d)), J(d);
431
+ }, x = v(() => $.visible.value);
432
+ return (L, u) => {
433
+ const d = ge("router-view");
434
+ return p(), C("div", $e, [
435
+ E(D(
436
+ "div",
437
+ {
438
+ class: pe(["das-web-app-overlay", s.value]),
439
+ style: he(o.value)
440
+ },
441
+ null,
442
+ 6
443
+ /* CLASS, STYLE */
444
+ ), [
445
+ [P, x.value]
446
+ ]),
447
+ h.value ? E((p(), C(
448
+ "div",
449
+ He,
450
+ [
451
+ H(L.$slots, "header", {}, void 0, !0)
452
+ ],
453
+ 512
454
+ /* NEED_PATCH */
455
+ )), [
456
+ [P, x.value]
457
+ ]) : _("v-if", !0),
458
+ D("div", Ne, [
459
+ y.value ? E((p(), C(
460
+ "div",
461
+ Be,
462
+ [
463
+ H(L.$slots, "aside", {}, void 0, !0)
464
+ ],
465
+ 512
466
+ /* NEED_PATCH */
467
+ )), [
468
+ [P, x.value]
469
+ ]) : _("v-if", !0),
470
+ D("div", Oe, [
471
+ r.value ? E((p(), C(
472
+ "div",
473
+ We,
474
+ [
475
+ H(L.$slots, "tab", {}, void 0, !0)
476
+ ],
477
+ 512
478
+ /* NEED_PATCH */
479
+ )), [
480
+ [P, x.value]
481
+ ]) : _("v-if", !0),
482
+ D("div", Fe, [
483
+ E(D(
484
+ "div",
485
+ Ue,
486
+ [
487
+ H(L.$slots, "banner", {}, void 0, !0)
488
+ ],
489
+ 512
490
+ /* NEED_PATCH */
491
+ ), [
492
+ [P, x.value]
493
+ ]),
494
+ D("div", ze, [
495
+ E(D(
496
+ "div",
497
+ Qe,
498
+ [
499
+ H(L.$slots, "router-view", {}, () => [
500
+ _(" 有动画 "),
501
+ L.needTransition ? (p(), A(d, { key: 0 }, {
502
+ default: O(({ Component: w }) => [
503
+ K(
504
+ le,
505
+ Z(ce(k.value)),
506
+ {
507
+ default: O(() => [
508
+ b(n).meta.keepAlive ? (p(), A(ue, {
509
+ key: 0,
510
+ exclude: a.value
511
+ }, [
512
+ f.value && !b(n).meta.isIframe ? (p(), A(N(z(w, b(n).path)), {
513
+ key: b(n).path
514
+ })) : _("v-if", !0)
515
+ ], 1032, ["exclude"])) : _("v-if", !0)
516
+ ]),
517
+ _: 2
518
+ /* DYNAMIC */
519
+ },
520
+ 1040
521
+ /* FULL_PROPS, DYNAMIC_SLOTS */
522
+ ),
523
+ K(
524
+ le,
525
+ Z(ce(k.value)),
526
+ {
527
+ default: O(() => [
528
+ !b(n).meta.keepAlive && !b(n).meta.isIframe ? (p(), C("div", qe, [
529
+ (p(), A(N(w), {
530
+ key: b(n).path
531
+ }))
532
+ ])) : _("v-if", !0)
533
+ ]),
534
+ _: 2
535
+ /* DYNAMIC */
536
+ },
537
+ 1040
538
+ /* FULL_PROPS, DYNAMIC_SLOTS */
539
+ )
540
+ ]),
541
+ _: 1
542
+ /* STABLE */
543
+ })) : _("v-if", !0),
544
+ _(" 无动画 "),
545
+ L.needTransition ? _("v-if", !0) : (p(), A(d, { key: 1 }, {
546
+ default: O(({ Component: w }) => [
547
+ b(n).meta.keepAlive ? (p(), A(ue, {
548
+ key: 0,
549
+ exclude: a.value
550
+ }, [
551
+ f.value && !b(n).meta.isIframe ? (p(), A(N(z(w, b(n).path)), {
552
+ key: b(n).path
553
+ })) : _("v-if", !0)
554
+ ], 1032, ["exclude"])) : _("v-if", !0),
555
+ !b(n).meta.keepAlive && !b(n).meta.isIframe ? (p(), C("div", Ge, [
556
+ (p(), A(N(w), {
557
+ key: b(n).path
558
+ }))
559
+ ])) : _("v-if", !0)
560
+ ]),
561
+ _: 1
562
+ /* STABLE */
563
+ })),
564
+ E(D(
565
+ "div",
566
+ Ke,
567
+ [
568
+ K(Me, {
569
+ exclude: a.value,
570
+ transitionConfig: k.value,
571
+ needTransition: L.needTransition
572
+ }, null, 8, ["exclude", "transitionConfig", "needTransition"])
573
+ ],
574
+ 512
575
+ /* NEED_PATCH */
576
+ ), [
577
+ [P, b(n).meta.isIframe]
578
+ ])
579
+ ], !0)
580
+ ],
581
+ 512
582
+ /* NEED_PATCH */
583
+ ), [
584
+ [P, R.value]
585
+ ]),
586
+ E(D(
587
+ "div",
588
+ Je,
589
+ [
590
+ H(L.$slots, "default", {}, void 0, !0)
591
+ ],
592
+ 512
593
+ /* NEED_PATCH */
594
+ ), [
595
+ [P, !R.value]
596
+ ])
597
+ ])
598
+ ])
599
+ ])
600
+ ])
601
+ ]);
602
+ };
603
+ }
604
+ }), ot = /* @__PURE__ */ de(Xe, [["__scopeId", "data-v-0c14299d"]]), Ye = ["modelValue", "logoUrl", "config", "innerPagesConfig", "searchConfig", "projectTreeConfig", "userInfoConfig"], it = /* @__PURE__ */ U({
605
+ __name: "das-web-nav",
606
+ setup(e) {
607
+ const { nav: t } = $, n = v(() => t.logo || ""), l = v(() => t.activeItem || ""), i = v(() => (t.items || []).filter((d) => d.fixed)), c = v(() => (t.items || []).filter((d) => !d.fixed)), h = v(() => {
608
+ var u, d, w;
609
+ return {
610
+ showChangeEnterprise: ((u = t.config) == null ? void 0 : u.showChangeEnterprise) ?? !1,
611
+ showSearch: ((d = t.config) == null ? void 0 : d.showSearch) ?? !0,
612
+ showProjectTree: ((w = t.config) == null ? void 0 : w.showProjectTree) ?? !0,
613
+ subAppList: c.value.map((S) => ({ code: S.value, name: S.label, ...S }))
614
+ };
615
+ }), y = v(() => {
616
+ const u = i.value.find((d) => d.value === t.activeItem);
617
+ return {
618
+ activeInnerPagePath: (u == null ? void 0 : u.path) || "",
619
+ innerPages: i.value.map((d) => ({ title: d.label, ...d }))
620
+ };
621
+ }), r = v(() => ({
622
+ projectStore: {
623
+ projectTree: t.projects,
624
+ currentProject: t.activeProject
625
+ },
626
+ ...t.projectConfig
627
+ })), R = v(() => t.userInfo), I = v(() => t.searchConfig), s = async (u) => {
628
+ const d = u.detail[0], w = i.value.find((j) => d.value === j.value);
629
+ await m.nav.triggerEventListener("onItemClick", w) && m.nav.setActiveItem(w.value);
630
+ }, o = async (u) => {
631
+ const d = u.detail[0], w = c.value.find((j) => d === j.value);
632
+ await m.nav.triggerEventListener("onItemClick", w) && m.nav.setActiveItem(w.value);
633
+ }, a = async (u) => {
634
+ const d = u.detail[0], w = c.value.find((j) => d === j.value);
635
+ await m.nav.triggerEventListener("onItemRemove", w) && m.nav.removeItem(w.value);
636
+ }, f = async (u) => {
637
+ const [d, w] = u.detail;
638
+ !d || !await m.nav.triggerEventListener("onProjectChange", w) || m.nav.setActiveProject(w);
639
+ }, k = (u) => {
640
+ m.nav.triggerEventListener("onUserCommandChange", u.detail[0]);
641
+ }, B = (u) => {
642
+ m.nav.triggerEventListener("searchToPage", { item: u.detail[0], keyword: u.detail[1], cb: u.detail[2] });
643
+ }, z = (u) => {
644
+ m.nav.triggerEventListener("clearSearchList", { cb: u.detail[0] });
645
+ }, x = (u) => {
646
+ m.nav.triggerEventListener("deleteSearchItem", { value: u.detail[0], cb: u.detail[1] });
647
+ }, L = () => {
648
+ m.nav.triggerEventListener("changeEnterpriseHandle");
649
+ };
650
+ return we(() => {
651
+ m.nav.triggerEventListener("onBeforeMount", null, { autoRemove: !0 });
652
+ }), ye(() => {
653
+ m.nav.triggerEventListener("onMounted", null, { autoRemove: !0 });
654
+ }), be(() => {
655
+ m.nav.triggerEventListener("onUnmounted", null, { autoRemove: !0 });
656
+ }), (u, d) => (p(), C("das-ce-nav", {
657
+ modelValue: l.value,
658
+ logoUrl: n.value,
659
+ config: h.value,
660
+ innerPagesConfig: y.value,
661
+ searchConfig: I.value,
662
+ projectTreeConfig: r.value,
663
+ userInfoConfig: R.value,
664
+ "on:userCommandHandle": k,
665
+ "on:changeInnerPage": s,
666
+ "on:handleTabClick": o,
667
+ "on:handleTabDelete": a,
668
+ "on:changeTreeHandle": f,
669
+ "on:searchToPage": B,
670
+ "on:clearSearchList": z,
671
+ "on:deleteSearchItem": x,
672
+ "on:changeEnterpriseHandle": L
673
+ }, null, 40, Ye));
674
+ }
675
+ }), Ze = ["modelValue", "data", "collapse", "fixedTopMenu", "subMenuAttrs"], lt = /* @__PURE__ */ U({
676
+ __name: "das-web-menu",
677
+ props: {
678
+ menuAttr: {}
679
+ },
680
+ setup(e) {
681
+ const { menu: t } = $, n = e, l = v(() => n.menuAttr || {}), i = v(() => t.items), c = v(() => t.items.find((I) => I.fixed)), h = v(() => t.activeItem || ""), y = v(() => t.collapse ?? !1), r = v(() => ({ popupClassName: t.popupClassName ?? "" })), R = async (I) => {
682
+ const s = I.detail[0], o = ke(i.value).find((f) => s === f.id);
683
+ await m.menu.triggerEventListener("onItemClick", o) && m.menu.setActiveItem(o.id);
684
+ };
685
+ return (I, s) => i.value.length > 0 ? (p(), C("das-ce-menu", te({
686
+ key: 0,
687
+ modelValue: h.value,
688
+ data: i.value,
689
+ collapse: y.value,
690
+ fixedTopMenu: c.value,
691
+ subMenuAttrs: r.value
692
+ }, l.value, { onChange: R }), null, 16, Ze)) : _("v-if", !0);
693
+ }
694
+ }), et = ["modelValue", "options"], ct = /* @__PURE__ */ U({
695
+ __name: "das-web-tabs",
696
+ props: {
697
+ tabsAttr: {}
698
+ },
699
+ setup(e) {
700
+ const { tab: t } = $, n = e, l = v(() => n.tabsAttr || {}), i = v(() => t.items.map((s) => ({
701
+ ...s,
702
+ key: s.value,
703
+ tab: s.label
704
+ }))), c = v(() => t.activeItem || ""), h = async (s) => {
705
+ const o = s.detail[0], a = i.value.find((k) => o === k.value);
706
+ await m.tab.triggerEventListener("onItemClick", a) && m.tab.setActiveItem(a.value);
707
+ }, y = async (s) => {
708
+ const o = s.detail[0], a = i.value.find((k) => o === k.value);
709
+ await m.tab.triggerEventListener("onItemRemove", a) && m.tab.removeItem(a.value);
710
+ }, r = async (s) => {
711
+ await m.tab.triggerEventListener("onMenuClick", { type: s.detail[0], data: s.detail[1] });
712
+ }, R = async (s) => {
713
+ await m.tab.triggerEventListener("onPageRefresh", s.detail[0]);
714
+ }, I = () => {
715
+ m.tab.triggerEventListener("onToggleFullScreen");
716
+ };
717
+ return (s, o) => i.value.length > 0 ? (p(), C("das-ce-tabs", te({
718
+ key: 0,
719
+ modelValue: c.value,
720
+ options: i.value
721
+ }, l.value, {
722
+ "on:tabClick": h,
723
+ "on:tabDelete": y,
724
+ "on:menuClick": r,
725
+ "on:pageRefresh": R,
726
+ "on:toggleFullScreen": I
727
+ }), null, 16, et)) : _("v-if", !0);
728
+ }
729
+ });
730
+ export {
731
+ ot as DasWebLayout,
732
+ lt as DasWebMenu,
733
+ it as DasWebNav,
734
+ ct as DasWebTabs,
735
+ m as layout
736
+ };