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