@skyfox2000/webui 0.1.2 → 0.1.3

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 (56) hide show
  1. package/lib/AceEditor.d.ts +0 -3
  2. package/lib/BasicLayout.d.ts +0 -3
  3. package/lib/Error403.d.ts +0 -3
  4. package/lib/Error404.d.ts +0 -3
  5. package/lib/ExcelForm.d.ts +0 -3
  6. package/lib/UploadForm.d.ts +0 -3
  7. package/lib/assets/modules/{index-FzWSvscZ.js → index-B8vL5FiT.js} +1 -1
  8. package/lib/assets/modules/menuTabs-DQt4U8CY.js +638 -0
  9. package/lib/assets/modules/uploadList-sP-EZUPi.js +182 -0
  10. package/lib/components/content/index.d.ts +0 -4
  11. package/lib/components/content/index.d.ts.map +1 -1
  12. package/lib/components/form/autoComplete/index.vue.d.ts +3 -3
  13. package/lib/components/form/cascader/index.vue.d.ts +3 -3
  14. package/lib/components/form/checkbox/index.vue.d.ts +1 -1
  15. package/lib/components/form/index.d.ts +0 -2
  16. package/lib/components/form/index.d.ts.map +1 -1
  17. package/lib/components/form/radio/index.vue.d.ts +3 -3
  18. package/lib/components/form/select/index.vue.d.ts +3 -3
  19. package/lib/components/form/transfer/index.vue.d.ts +2 -2
  20. package/lib/components/form/treeSelect/index.vue.d.ts +2 -2
  21. package/lib/components/index.d.ts +3 -6
  22. package/lib/components/index.d.ts.map +1 -1
  23. package/lib/components/layout/index.d.ts +0 -2
  24. package/lib/components/layout/index.d.ts.map +1 -1
  25. package/lib/es/AceEditor/index.js +9 -11
  26. package/lib/es/BasicLayout/index.js +94 -2
  27. package/lib/es/Error403/index.js +31 -2
  28. package/lib/es/Error404/index.js +31 -2
  29. package/lib/es/ExcelForm/index.js +315 -3
  30. package/lib/es/UploadForm/index.js +133 -3
  31. package/lib/webui.css +1 -1
  32. package/lib/webui.es.js +1565 -1573
  33. package/package.json +1 -1
  34. package/src/components/content/index.ts +4 -4
  35. package/src/components/form/index.ts +2 -2
  36. package/src/components/index.ts +1 -10
  37. package/src/components/layout/index.ts +2 -2
  38. package/lib/assets/modules/basicLayout-YP_-EySb.js +0 -726
  39. package/lib/assets/modules/error403-Bi0E2twj.js +0 -33
  40. package/lib/assets/modules/error404-BF7vasR_.js +0 -33
  41. package/lib/assets/modules/excelForm-WJVQmaDT.js +0 -317
  42. package/lib/assets/modules/uploadForm-CwXiG05t.js +0 -309
  43. package/lib/components/content/dialog/excelForm.vue.d.ts +0 -31
  44. package/lib/components/content/dialog/excelForm.vue.d.ts.map +0 -1
  45. package/lib/components/content/dialog/uploadForm.vue.d.ts +0 -25
  46. package/lib/components/content/dialog/uploadForm.vue.d.ts.map +0 -1
  47. package/lib/components/error/error403.vue.d.ts +0 -4
  48. package/lib/components/error/error403.vue.d.ts.map +0 -1
  49. package/lib/components/error/error404.vue.d.ts +0 -4
  50. package/lib/components/error/error404.vue.d.ts.map +0 -1
  51. package/lib/components/form/aceEditor/index.vue.d.ts +0 -13
  52. package/lib/components/form/aceEditor/index.vue.d.ts.map +0 -1
  53. package/lib/components/layout/page/basicLayout.vue.d.ts +0 -7
  54. package/lib/components/layout/page/basicLayout.vue.d.ts.map +0 -1
  55. /package/lib/assets/modules/{uploadForm-BahGnrAq.js → index-BahGnrAq.js} +0 -0
  56. /package/lib/assets/modules/{excelForm-Dzndz-SG.js → index-Dzndz-SG.js} +0 -0
@@ -1,726 +0,0 @@
1
- import { defineComponent as h, createBlock as f, createCommentVNode as _, openBlock as c, unref as t, mergeProps as S, useAttrs as H, computed as K, ref as b, watch as C, withCtx as d, createElementBlock as g, normalizeStyle as z, createElementVNode as y, inject as W, onMounted as N, createVNode as p, toDisplayString as P, Fragment as D, createTextVNode as T, reactive as q, nextTick as J, renderList as G, withModifiers as Q, resolveComponent as X, normalizeClass as Y, KeepAlive as Z, resolveDynamicComponent as ee } from "vue";
2
- import { theme as O, Breadcrumb as te, Modal as ne, Flex as oe, LayoutHeader as se, Space as le, Avatar as ie, Menu as ce, Tabs as ae, TabPane as re, Layout as U, LayoutSider as pe } from "ant-design-vue";
3
- import { a as j, _ as I } from "./index-ekkaExvB.js";
4
- import { createFromIconfont as F, getIconTransform as L, usePageInfo as $, showBreadcrumb as M, crumbs as R, useUserInfo as ue, useSettingInfo as E, initMenu as de, AppRouter as fe, useAppInfo as w } from "@skyfox2000/webbase";
5
- import { SERVER_HOST as B } from "@skyfox2000/fapi";
6
- import { mainAppApis as V } from "@skyfox2000/microbase";
7
- import me from "vue-m-message";
8
- const xe = /* @__PURE__ */ h({
9
- __name: "appicon",
10
- props: {
11
- icon: {
12
- type: String
13
- }
14
- },
15
- setup(s) {
16
- const a = s, e = F({
17
- iconUrl: `${B.APP_ICONS}`,
18
- icon: a.icon
19
- });
20
- return (r, i) => s.icon ? (c(), f(t(e), S({
21
- key: 0,
22
- icon: s.icon,
23
- class: ["text-2xl", "align-middle", "w-6", "h-6"]
24
- }, r.$attrs), null, 16, ["icon"])) : _("", !0);
25
- }
26
- }), ve = ["xlink:href"], ye = /* @__PURE__ */ h({
27
- inheritAttrs: !1,
28
- __name: "index",
29
- props: {
30
- /**
31
- * 点击后自动切换
32
- * @props
33
- * @name autoSwitch
34
- * @type {boolean}
35
- * @default true
36
- */
37
- autoSwitch: {
38
- type: Boolean,
39
- default: !0
40
- },
41
- /**
42
- * 提示标题
43
- * @props
44
- * @name tiptext
45
- * @type {string}
46
- */
47
- tiptext: {
48
- type: String
49
- },
50
- /**
51
- * 提示尺寸
52
- * @props
53
- * @name tipsize
54
- * @type {string}
55
- */
56
- tipsize: {
57
- type: String
58
- },
59
- /**
60
- * 提示背景色
61
- * @props
62
- * @name tipcolor
63
- * @type {string}
64
- */
65
- tipcolor: {
66
- type: String
67
- },
68
- /**
69
- * 提示显示位置
70
- * @props
71
- * @name placement
72
- * @type {string}
73
- * @default 'top'
74
- */
75
- placement: {
76
- type: String,
77
- default: "top"
78
- },
79
- /**
80
- * IconFont图标
81
- * @props
82
- * @name icon
83
- * @type {string}
84
- * @summary IconFont图标显示,使用sym-开头的使用svg模式显示
85
- */
86
- icon: {
87
- type: String
88
- },
89
- /**
90
- * IconFont图标组
91
- * @props
92
- * @name icons
93
- * @type {Array<string>}
94
- * @summary IconFont图标组显示,使用sym-开头的使用svg模式显示
95
- * @default []
96
- */
97
- icons: {
98
- type: Array,
99
- default: () => []
100
- },
101
- /**
102
- * 图标索引
103
- * @props
104
- * @name iconIndex
105
- * @type {number}
106
- * @default 0
107
- */
108
- iconIndex: {
109
- type: Number,
110
- default: 0
111
- },
112
- /**
113
- * 可点击,鼠标手
114
- * @props
115
- * @name clickable
116
- * @type {boolean}
117
- * @default false
118
- */
119
- clickable: {
120
- type: Boolean,
121
- default: !1
122
- },
123
- /**
124
- * 点击事件
125
- * @props
126
- * @name clickEvent
127
- * @summary 格式 "空间名#事件名",空间名和事件名用#分隔,事件名用.分隔
128
- * @type {string}
129
- */
130
- clickEvent: {
131
- type: String
132
- },
133
- /**
134
- * 点击传输数据
135
- * @props
136
- * @name data
137
- * @summary 点击事件传输的默认数据
138
- * @type {object|string}
139
- */
140
- data: {
141
- type: [Object, String]
142
- },
143
- /**
144
- * 字体大小
145
- * @props
146
- * @name size
147
- * @summary 字体大小
148
- * @type {string}
149
- * @default 20px
150
- */
151
- fontsize: {
152
- type: String,
153
- // 大小
154
- default: "20px"
155
- },
156
- /**
157
- * 空间大小
158
- * @props
159
- * @name size
160
- * @summary 空间大小
161
- * @type {string, [string, string]}
162
- * @default 20px
163
- */
164
- size: {
165
- type: [String, Array],
166
- // 大小
167
- default: () => ["20px", "20px"]
168
- },
169
- /**
170
- * 图标位置
171
- * @props
172
- * @name position
173
- * @summary 图标位置
174
- * @type {[string|number, string|number]}
175
- */
176
- position: {
177
- type: Array
178
- // 图标位置
179
- },
180
- /**
181
- * 旋转中心
182
- * @props
183
- * @name center
184
- * @summary 旋转中心
185
- * @type {string}
186
- */
187
- center: {
188
- type: String
189
- // 旋转中心
190
- },
191
- /**
192
- * 指定角度
193
- * @props
194
- * @name angle
195
- * @summary 指定角度
196
- * @type {number}
197
- */
198
- angle: {
199
- type: Number
200
- // 指定角度
201
- },
202
- /**
203
- * 颜色
204
- * @props
205
- * @name color
206
- * @summary 颜色
207
- * @type {string}
208
- */
209
- color: {
210
- type: String,
211
- // 颜色
212
- default: ""
213
- },
214
- /**
215
- * 样式
216
- * @props
217
- * @name hovercolor
218
- * @summary 样式
219
- * @type {string}
220
- */
221
- className: {
222
- type: String,
223
- // 样式
224
- default: ""
225
- },
226
- /**
227
- * 水平翻转
228
- * @props
229
- * @name flip
230
- * @summary 水平翻转
231
- * @type {boolean}
232
- * @default false
233
- */
234
- flip: {
235
- type: Boolean,
236
- // 水平翻转
237
- default: !1
238
- },
239
- /**
240
- * 自动旋转
241
- * @props
242
- * @name spin
243
- * @summary 自动旋转
244
- * @type {boolean}
245
- * @default false
246
- */
247
- spin: {
248
- type: Boolean,
249
- // 自动旋转
250
- default: !1
251
- }
252
- },
253
- emits: [
254
- /**
255
- * 点击事件
256
- * @emits
257
- * @name click
258
- * @summary 图标按钮点击时触发的事件
259
- */
260
- "click",
261
- /**
262
- * 图标索引更新
263
- * @emits
264
- * @name update:iconIndex
265
- * @summary 图标索引发生变化时触发的事件
266
- * @param {number} index - 新的图标索引
267
- */
268
- "update:iconIndex"
269
- ],
270
- setup(s, { emit: a }) {
271
- const n = H(), e = s, r = a, i = K(() => {
272
- if (Array.isArray(e.size)) return e.size;
273
- {
274
- let l = e.size;
275
- return [l, l];
276
- }
277
- }), o = b(e.icon), m = b(e.iconIndex);
278
- C(
279
- () => e.icon,
280
- (l) => {
281
- o.value = l;
282
- }
283
- ), C(
284
- () => e.iconIndex,
285
- (l) => {
286
- m.value = l, o.value = e.icons[l];
287
- }
288
- );
289
- const u = K({
290
- get() {
291
- return m.value;
292
- },
293
- set(l) {
294
- m.value = l, r("update:iconIndex", m.value);
295
- }
296
- });
297
- e.icons.length > 0 ? (u.value = u.value >= e.icons.length ? 0 : u.value, o.value = e.icons[m.value]) : o.value = e.icon;
298
- const x = (l) => {
299
- if (l.stopPropagation(), e.clickEvent) {
300
- const k = e.clickEvent.split("#");
301
- k.length === 2 && W("$" + k[0]).$emit(k[1], e.data);
302
- }
303
- e.autoSwitch && e.icons.length > 0 && (u.value = (u.value + 1) % e.icons.length, o.value = e.icons[m.value]), r("click");
304
- }, v = () => {
305
- let l = "";
306
- return e.spin && (l += "rotate"), e.flip && (l += " flip"), l;
307
- };
308
- return (l, k) => (c(), f(j, {
309
- title: e.tiptext,
310
- disabled: e.tiptext ? void 0 : "disabled",
311
- color: s.tipcolor,
312
- placement: s.placement,
313
- size: s.tipsize
314
- }, {
315
- default: d(() => {
316
- var A;
317
- return [
318
- o.value ? (c(), g("div", {
319
- key: 0,
320
- class: "re-icon-container",
321
- style: z({
322
- width: i.value[0].toString(),
323
- height: i.value[1].toString()
324
- })
325
- }, [
326
- (A = o.value) != null && A.startsWith("sym-") ? (c(), g("svg", S({ key: 1 }, t(n), {
327
- class: ["re-icon symbol", [e.clickable ? "clickable" : "", v(), e.className]],
328
- "aria-hidden": "true",
329
- style: {
330
- top: e.position ? e.position[1] : 0,
331
- left: e.position ? e.position[0] : 0,
332
- fontSize: e.fontsize,
333
- transformOrigin: e.center ?? "center center",
334
- transform: t(L)(),
335
- color: e.color
336
- }
337
- }), [
338
- y("use", {
339
- "xlink:href": "#icon-" + o.value.replace("sym-", "")
340
- }, null, 8, ve)
341
- ], 16)) : (c(), g("i", S({ key: 0 }, t(n), {
342
- class: ["re-icon iconfont fontclass", [e.clickable ? "clickable" : "", "icon-" + o.value, v(), e.className]],
343
- style: {
344
- top: e.position ? e.position[1] : 1,
345
- left: e.position ? e.position[0] : 0,
346
- fontSize: e.fontsize,
347
- transformOrigin: e.center ?? "center center",
348
- transform: t(L)(e.angle, e.flip),
349
- color: e.color
350
- },
351
- "aria-hidden": "true",
352
- onClick: x
353
- }), null, 16))
354
- ], 4)) : _("", !0)
355
- ];
356
- }),
357
- _: 1
358
- }, 8, ["title", "disabled", "color", "placement", "size"]));
359
- }
360
- }), ge = (s, a) => {
361
- const n = s.__vccOpts || s;
362
- for (const [e, r] of a)
363
- n[e] = r;
364
- return n;
365
- }, _e = /* @__PURE__ */ ge(ye, [["__scopeId", "data-v-e29c02e6"]]), he = /* @__PURE__ */ h({
366
- __name: "projectIcon",
367
- props: {
368
- icon: {
369
- type: String
370
- },
371
- icons: {
372
- type: Array
373
- },
374
- iconUrl: {
375
- type: String
376
- },
377
- monoColor: {
378
- type: Boolean,
379
- default: !0
380
- }
381
- },
382
- setup(s) {
383
- const a = s, e = F({
384
- iconUrl: `${a.iconUrl ?? B.PROJECT_ICONS ?? B.TOOL_ICONS}`,
385
- monoColor: a.monoColor,
386
- icon: a.icon,
387
- icons: a.icons
388
- });
389
- return (r, i) => s.icon || s.icons ? (c(), f(t(e), S({
390
- key: 0,
391
- icon: s.icon,
392
- icons: s.icons
393
- }, r.$attrs), null, 16, ["icon", "icons"])) : _("", !0);
394
- }
395
- }), ke = { class: "text-xs leading-[3]" }, be = {
396
- key: 0,
397
- class: "leading-[2.5] mx-[6px] text-[rgba(0,0,0,0.45)]"
398
- }, Ce = /* @__PURE__ */ h({
399
- __name: "index",
400
- setup(s) {
401
- const { useToken: a } = O, { token: n } = a(), e = $();
402
- return C(
403
- () => e.TabActive,
404
- () => M()
405
- ), N(() => {
406
- M();
407
- }), (r, i) => (c(), g("div", {
408
- class: "ml-5 h-fit p-0 flex items-center justify-between",
409
- style: z({
410
- backgroundColor: t(n).colorBgContainer
411
- })
412
- }, [
413
- p(t(I), {
414
- icon: "icon-home",
415
- class: "w-[15px] h-[15px]"
416
- }),
417
- i[0] || (i[0] = y("span", { class: "leading-[2.5] mx-[6px] text-[rgba(0,0,0,0.45)]" }, ">", -1)),
418
- p(t(te), {
419
- routes: t(R),
420
- separator: ""
421
- }, {
422
- itemRender: d(({ route: o }) => [
423
- y("span", ke, P(o.breadcrumbName), 1),
424
- p(t(I), {
425
- icon: o.icon,
426
- fontsize: "15px"
427
- }, null, 8, ["icon"]),
428
- o.index < t(R).length - 1 ? (c(), g("span", be, ">")) : _("", !0)
429
- ]),
430
- _: 1
431
- }, 8, ["routes"])
432
- ], 4));
433
- }
434
- }), Ie = /* @__PURE__ */ h({
435
- __name: "headerExits",
436
- setup(s) {
437
- const a = ue(), n = b(!1), e = () => {
438
- n.value = !1, V.value ? V.value.userLogout() : a.logout();
439
- };
440
- return (r, i) => (c(), g(D, null, [
441
- p(t(I), {
442
- icon: "icon-logout",
443
- onClick: i[0] || (i[0] = (o) => n.value = !0),
444
- clickable: "",
445
- class: "w-5 h-5"
446
- }),
447
- p(t(ne), {
448
- open: n.value,
449
- "onUpdate:open": i[1] || (i[1] = (o) => n.value = o),
450
- title: "确定退出?",
451
- "ok-text": "确定",
452
- "cancel-text": "取消",
453
- width: 380,
454
- onOk: e
455
- }, {
456
- default: d(() => [
457
- p(t(oe), {
458
- align: "center",
459
- justify: "flex-start",
460
- style: { padding: "0 32px", margin: "20px 0" }
461
- }, {
462
- default: d(() => [
463
- p(t(I), {
464
- icon: "icon-question-circle",
465
- color: "orange",
466
- class: "w-[60px] h-[60px]"
467
- }),
468
- i[2] || (i[2] = y("div", { style: { margin: "0 0 0 20px", "font-weight": "400", "font-size": "16px" } }, [
469
- T("是否退出系统,"),
470
- y("br"),
471
- T("清除用户缓存信息?")
472
- ], -1))
473
- ]),
474
- _: 1,
475
- __: [2]
476
- })
477
- ]),
478
- _: 1
479
- }, 8, ["open"])
480
- ], 64));
481
- }
482
- }), Se = { class: "flex items-center" }, we = /* @__PURE__ */ h({
483
- __name: "index",
484
- setup(s) {
485
- const { useToken: a } = O, { token: n } = a(), e = E(), r = () => {
486
- e.setMenuCollapse(!e.menuCollapse);
487
- };
488
- return (i, o) => (c(), f(t(se), {
489
- class: "w-full relative z-[1] shadow-[0_-3px_6px_#000] py-0 flex items-center justify-between",
490
- style: z({
491
- height: "40px",
492
- lineHeight: "1",
493
- paddingLeft: "10px",
494
- paddingRight: "10px",
495
- backgroundColor: t(n).colorBgContainer
496
- })
497
- }, {
498
- default: d(() => [
499
- y("div", Se, [
500
- p(t(I), {
501
- icon: "icon-menu",
502
- class: "w-[18px] h-[18px] cursor-pointer",
503
- angle: t(e).menuCollapse ? 90 : 0,
504
- onClick: r
505
- }, null, 8, ["angle"]),
506
- p(Ce)
507
- ]),
508
- y("div", null, [
509
- p(t(le), {
510
- size: "middle",
511
- class: "flex items-center"
512
- }, {
513
- default: d(() => [
514
- p(t(ie), {
515
- class: "avatar",
516
- style: { backgroundColor: "#f56a00", fontSize: "14px" },
517
- size: 24
518
- }, {
519
- default: d(() => o[0] || (o[0] = [
520
- T(" U ")
521
- ])),
522
- _: 1,
523
- __: [0]
524
- }),
525
- p(Ie)
526
- ]),
527
- _: 1
528
- })
529
- ])
530
- ]),
531
- _: 1
532
- }, 8, ["style"]));
533
- }
534
- }), ze = /* @__PURE__ */ h({
535
- __name: "index",
536
- props: {
537
- routes: {}
538
- },
539
- setup(s) {
540
- const a = s, n = b([]), e = b([]), r = q([]), i = $(), o = (v) => {
541
- w().push(v.key.toString());
542
- }, m = E(), u = b([]), x = () => {
543
- let v = i.TabActive;
544
- const l = v.split("/");
545
- l.pop(), n.value = [l.join("/")], m.menuCollapse || (u.value = [l.join("/")]), e.value = [v];
546
- };
547
- return C(
548
- () => m.menuCollapse,
549
- (v) => {
550
- v || (u.value = [], J(() => {
551
- u.value = [...n.value];
552
- }));
553
- }
554
- ), C(
555
- () => i.TabActive,
556
- () => {
557
- x();
558
- }
559
- ), N(() => {
560
- de(a.routes, r, he, { class: "!w-5 !h-5" }), i.setTabActive(fe.currentRoute.value.path), x();
561
- }), (v, l) => (c(), f(t(ce), {
562
- openKeys: u.value,
563
- "onUpdate:openKeys": l[0] || (l[0] = (k) => u.value = k),
564
- selectedKeys: e.value,
565
- "onUpdate:selectedKeys": l[1] || (l[1] = (k) => e.value = k),
566
- mode: "inline",
567
- theme: "dark",
568
- items: r,
569
- onClick: o
570
- }, null, 8, ["openKeys", "selectedKeys", "items"]));
571
- }
572
- }), $e = { class: "flex items-center" }, Ae = { class: "flex" }, Te = ["onClick"], Be = /* @__PURE__ */ h({
573
- __name: "menuTabs",
574
- setup(s) {
575
- const { useToken: a } = O, { token: n } = a(), e = $(), r = (o) => {
576
- w().push(o);
577
- }, i = (o) => {
578
- e.removeTabPane(o), w().push(e.TabActive);
579
- };
580
- return (o, m) => (c(), g("div", {
581
- style: z({ height: "38px", backgroundColor: t(n).colorBgBase })
582
- }, [
583
- p(t(ae), {
584
- activeKey: t(e).TabActive,
585
- "hide-add": "",
586
- size: "small",
587
- tabBarStyle: { padding: "0 20px" },
588
- onTabClick: r
589
- }, {
590
- default: d(() => [
591
- (c(!0), g(D, null, G(t(e).TabPanes, (u) => (c(), f(t(re), {
592
- key: u.key
593
- }, {
594
- tab: d(() => [
595
- y("div", $e, [
596
- y("span", Ae, P(u.title), 1),
597
- p(t(j), {
598
- title: "关闭",
599
- placement: "top",
600
- size: "small"
601
- }, {
602
- default: d(() => [
603
- t(e).TabPanes.length > 1 && u.closable ? (c(), g("div", {
604
- key: 0,
605
- class: "inline-block mx-auto relative flex items-center",
606
- onClick: Q((x) => i(u.key), ["stop"])
607
- }, [
608
- p(t(I), {
609
- icon: "icon-new",
610
- angle: 45,
611
- clickable: "",
612
- class: "w-[15px] h-[15px] ml-1",
613
- tipcolor: t(n).colorBgSpotlight
614
- }, null, 8, ["tipcolor"])
615
- ], 8, Te)) : _("", !0)
616
- ]),
617
- _: 2
618
- }, 1024)
619
- ])
620
- ]),
621
- _: 2
622
- }, 1024))), 128))
623
- ]),
624
- _: 1
625
- }, 8, ["activeKey"])
626
- ], 4));
627
- }
628
- }), Ne = { class: "h-[40px] max-h-[40px] bg-[rgba(240,240,240,0.2)] flex flex-nowrap items-center justify-center text-white font-bold text-lg overflow-hidden text-ellipsis" }, Pe = {
629
- key: 0,
630
- class: "ml-[10px]"
631
- }, Re = /* @__PURE__ */ h({
632
- __name: "basicLayout",
633
- props: {
634
- routes: {}
635
- },
636
- setup(s) {
637
- const a = s, n = w(), e = E(), r = $(), i = b("h-[calc(100vh-80px)]");
638
- return C(
639
- () => e.fullscreen,
640
- (o) => {
641
- i.value = o ? "h-[calc(100vh-40px)]" : "h-[calc(100vh-80px)]";
642
- }
643
- ), N(() => {
644
- me.closeAll();
645
- }), (o, m) => {
646
- const u = X("router-view");
647
- return c(), f(t(U), { class: "h-screen" }, {
648
- default: d(() => [
649
- t(e).fullscreen ? _("", !0) : (c(), f(t(pe), {
650
- key: 0,
651
- class: "overflow-auto h-screen left-0 top-0 bottom-0",
652
- collapsed: t(e).menuCollapse,
653
- "onUpdate:collapsed": m[0] || (m[0] = (x) => t(e).menuCollapse = x),
654
- collapsible: ""
655
- }, {
656
- default: d(() => [
657
- y("div", Ne, [
658
- p(j, {
659
- title: t(e).menuCollapse ? t(n).appInfo.Name : "",
660
- placement: "right"
661
- }, {
662
- default: d(() => {
663
- var x;
664
- return [
665
- (x = t(n).appInfo.Icon) != null && x.startsWith("sym-") ? (c(), f(_e, {
666
- key: 0,
667
- icon: t(n).appInfo.Icon,
668
- fontsize: "30px",
669
- size: "26px"
670
- }, null, 8, ["icon"])) : (c(), f(xe, {
671
- key: 1,
672
- icon: t(n).appInfo.Icon,
673
- class: "mx-1"
674
- }, null, 8, ["icon"]))
675
- ];
676
- }),
677
- _: 1
678
- }, 8, ["title"]),
679
- t(e).menuCollapse ? _("", !0) : (c(), g("span", Pe, P(t(n).appInfo.Name), 1))
680
- ]),
681
- p(ze, {
682
- routes: a.routes
683
- }, null, 8, ["routes"])
684
- ]),
685
- _: 1
686
- }, 8, ["collapsed"])),
687
- p(t(U), { class: "overflow-y-auto block" }, {
688
- default: d(() => [
689
- t(e).fullscreen ? _("", !0) : (c(), f(we, { key: 0 })),
690
- t(r).TabEnabled ? (c(), f(Be, { key: 1 })) : _("", !0),
691
- y("div", {
692
- class: Y(["relative overflow-y-auto", i.value])
693
- }, [
694
- p(u, null, {
695
- default: d(({ Component: x, route: v }) => [
696
- (c(), f(Z, {
697
- include: t(n).CachedComponents,
698
- exclude: t(n).ExcludeComponents
699
- }, [
700
- (c(), f(ee(t(n).cacheComponent(x, v))))
701
- ], 1032, ["include", "exclude"]))
702
- ]),
703
- _: 1
704
- })
705
- ], 2)
706
- ]),
707
- _: 1
708
- })
709
- ]),
710
- _: 1
711
- });
712
- };
713
- }
714
- });
715
- export {
716
- _e as I,
717
- ge as _,
718
- xe as a,
719
- he as b,
720
- Ce as c,
721
- we as d,
722
- Ie as e,
723
- ze as f,
724
- Be as g,
725
- Re as h
726
- };