@das-fed/web 7.1.0-dev.30 → 7.1.0-dev.31

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