@yuku123/z-team-component 0.2.84 → 0.2.89

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 (69) hide show
  1. package/dist/{ChangeLogView-_bRZ55Yi.js → ChangeLogView-DagOxr6O.js} +1 -1
  2. package/dist/{ComponentDoc-BFoF51we.js → ComponentDoc-CP8PmT4l.js} +3 -3
  3. package/dist/ComponentDoc-D1vtx1CE.js +3998 -0
  4. package/dist/{InvitationManagementPage-CTPCZXHu.js → InvitationManagementPage-C-8t565B.js} +1 -1
  5. package/dist/InvitationManagementPage-DDx-AX4v.js +495 -0
  6. package/dist/{OnboardingPage-DwtuTL61.js → OnboardingPage-DUUHQLSp.js} +2 -2
  7. package/dist/OnboardingPage-DUVza4FC.js +393 -0
  8. package/dist/ScheduledTasks-BSJP-8rB.js +10708 -0
  9. package/dist/ScheduledTasks-CGNB0zlb.js +10708 -0
  10. package/dist/{SystemShell-D9OzKxL-.js → SystemShell-DTFR-Pfd.js} +5 -5
  11. package/dist/SystemShell-DZ-W2gUt.js +689 -0
  12. package/dist/{api-CIhVblfa.js → api-BftpestH.js} +392 -391
  13. package/dist/{api-DXLNhtCX.js → api-GfWm5pTp.js} +1 -1
  14. package/dist/api-nf4Uaca5.js +20 -0
  15. package/dist/{createWorkspaceWsHandler-BWP5S5X3.js → createWorkspaceWsHandler-rKc7vc8k.js} +4373 -4294
  16. package/dist/index-3qkbu-HG.js +9844 -0
  17. package/dist/{index-BCp5EtqR.js → index-9Vozb4E5.js} +3 -3
  18. package/dist/{index-PKkV63Sw.js → index-B1lzhb6f.js} +1 -1
  19. package/dist/{index-CxFAICql.js → index-B51WSpDM.js} +7 -7
  20. package/dist/{index-uF04Ucsi.js → index-B5dDwxhs.js} +1 -1
  21. package/dist/{index-Cvx6rrxD.js → index-BMQ6XkO3.js} +1 -1
  22. package/dist/{index-CESmMALI.js → index-BR0HXBjY.js} +3 -3
  23. package/dist/index-B_H-Ynz5.js +9844 -0
  24. package/dist/index-BngdCYiY.js +149 -0
  25. package/dist/{index-SbMjh8t4.js → index-BqG6XqTh.js} +2 -2
  26. package/dist/{index-CijskN6t.js → index-BxBGVGKQ.js} +4 -4
  27. package/dist/{index-x_7Rmav9.js → index-C1kpuot_.js} +2 -2
  28. package/dist/{index-nW0ikV2R.js → index-C5FC0WCa.js} +5 -5
  29. package/dist/{index-CoBZZQBy.js → index-CHTu5H1U.js} +3 -3
  30. package/dist/{index-CBQMS6rx.js → index-CUhSJJL0.js} +2 -2
  31. package/dist/index-D8ncig8C.js +149 -0
  32. package/dist/index-D92Y4nix.js +178 -0
  33. package/dist/index-DTFcQizU.js +3488 -0
  34. package/dist/index-D_t92tEF.js +2700 -0
  35. package/dist/{index-DK70mOTz.js → index-DcHrkop2.js} +3 -3
  36. package/dist/index-DelMCvoP.js +118 -0
  37. package/dist/{index-mnWs_wA3.js → index-DoC-nKZZ.js} +2 -2
  38. package/dist/index-Dxx0UEBW.js +93 -0
  39. package/dist/{index-Dm3wmB0K.js → index-DyFaoD5W.js} +2 -2
  40. package/dist/index-EdPtymBD.js +574 -0
  41. package/dist/index-JS2OVZ4Q.js +3488 -0
  42. package/dist/index-LkYDFjtJ.js +914 -0
  43. package/dist/{index-nU-V276i.js → index-MYohlrH6.js} +4 -4
  44. package/dist/{index-cdB5K3gx.js → index-VGtET31b.js} +1 -1
  45. package/dist/index-d7BD8lzt.js +242 -0
  46. package/dist/{index-DT80Pwa_.js → index-ji8TPz9K.js} +4 -4
  47. package/dist/index-mIk8zAAm.js +1143 -0
  48. package/dist/index-p1jMVRnp.js +112 -0
  49. package/dist/{index-Cwr5Slv1.js → index-pScDd5cp.js} +6 -6
  50. package/dist/{index-DzS6-D3M.js → index-s_ikMJ2V.js} +1 -1
  51. package/dist/{index-BgIheStI.js → index-v3WaXkDJ.js} +3 -3
  52. package/dist/index.js +1 -1
  53. package/dist/{instance-CDmueqyu.js → instance-CI6-4BZ6.js} +1 -1
  54. package/dist/{menuPermission-DHUqvHfu.js → menuPermission-CF3r6JEV.js} +3 -3
  55. package/dist/menuPermission-CZvOK8eU.js +60 -0
  56. package/dist/pages.js +1 -1
  57. package/dist/{personal-Bn3RLYB8.js → personal-D-eMMf0_.js} +2 -2
  58. package/dist/{schedule-CETzN_0H.js → schedule-ChO2xIGd.js} +1 -1
  59. package/dist/{send-default-agent-team-message-CfVaEN2y.js → send-default-agent-team-message-c5oKdQQA.js} +1 -1
  60. package/dist/{sso-user-ZUKv4XMX.js → sso-user-DToM5dPy.js} +1 -1
  61. package/dist/{training-bxftgU55.js → training-B38tnwLL.js} +1 -1
  62. package/dist/{useAppStore-BBr_Fwsz.js → useAppStore-BFO_h1L2.js} +1 -1
  63. package/dist/{webide-Cuj_Pvkk.js → webide-DTZ46LPR.js} +4 -4
  64. package/dist/z-team-component.css +2 -2
  65. package/package.json +1 -1
  66. package/dist/ScheduledTasks-yeTm2bOY.js +0 -9407
  67. package/dist/index-BHrMl3Jq.js +0 -9585
  68. package/dist/index-BP7WTzVH.js +0 -137
  69. package/dist/index-Co_0idJY.js +0 -2936
@@ -0,0 +1,689 @@
1
+ import { jsxs as p, jsx as e } from "react/jsx-runtime";
2
+ import { useNavigate as Q, useLocation as M, Navigate as l } from "react-router-dom";
3
+ import { useMemo as g, useState as z, Suspense as oe, lazy as u } from "react";
4
+ import { DownOutlined as L, RightOutlined as T, AppstoreOutlined as Y, UserOutlined as ce, SafetyCertificateOutlined as E, CloudOutlined as v, DeploymentUnitOutlined as x, AuditOutlined as j, CodeOutlined as f, FolderOpenOutlined as le, DesktopOutlined as Z, ThunderboltOutlined as se, BookOutlined as H, DashboardOutlined as S, ProfileOutlined as R, ApartmentOutlined as pe, FileImageOutlined as re, FileTextOutlined as A, CalendarOutlined as b, ApiOutlined as ie, ProjectOutlined as V, ClusterOutlined as me, DatabaseOutlined as ue, TeamOutlined as de, BarChartOutlined as q } from "@ant-design/icons";
5
+ import { f as he, M as be } from "./menuPermission-CZvOK8eU.js";
6
+ import { u as B } from "./useAppStore-BFO_h1L2.js";
7
+ import { ProductApp as ge } from "@yuku123/z-product-component";
8
+ import { P as ke, R as _e } from "./index-Dxx0UEBW.js";
9
+ import { b as ye } from "./ComponentDoc-D1vtx1CE.js";
10
+ const Se = "_container_wbul9_7", Ae = "_sidebar_wbul9_17", we = "_menuList_wbul9_37", fe = "_menuGroup_wbul9_44", Pe = "_menuGroupHeader_wbul9_48", ve = "_menuGroupIcon_wbul9_66", De = "_menuGroupLabel_wbul9_75", Me = "_menuGroupArrow_wbul9_80", Ge = "_menuSubList_wbul9_87", Ie = "_menuSubItem_wbul9_93", Ce = "_menuSubItemActive_wbul9_110", Ne = "_menuSubItemIcon_wbul9_117", Oe = "_menuSubGroup_wbul9_132", ze = "_menuSubGroupHeader_wbul9_136", Le = "_menuSubGroupHeaderActive_wbul9_154", Te = "_menuSubGroupLabel_wbul9_158", Ee = "_main_wbul9_169", xe = "_detailPanel_wbul9_179", je = "_detailHeader_wbul9_189", He = "_detailIcon_wbul9_196", Re = "_detailTitle_wbul9_209", qe = "_detailDesc_wbul9_216", Be = "_detailAction_wbul9_223", $e = "_goBtn_wbul9_228", Ue = "_emptyState_wbul9_248", n = {
11
+ container: Se,
12
+ sidebar: Ae,
13
+ menuList: we,
14
+ menuGroup: fe,
15
+ menuGroupHeader: Pe,
16
+ menuGroupIcon: ve,
17
+ menuGroupLabel: De,
18
+ menuGroupArrow: Me,
19
+ menuSubList: Ge,
20
+ menuSubItem: Ie,
21
+ menuSubItemActive: Ce,
22
+ menuSubItemIcon: Ne,
23
+ menuSubGroup: Oe,
24
+ menuSubGroupHeader: ze,
25
+ menuSubGroupHeaderActive: Le,
26
+ menuSubGroupLabel: Te,
27
+ main: Ee,
28
+ detailPanel: xe,
29
+ detailHeader: je,
30
+ detailIcon: He,
31
+ detailTitle: Re,
32
+ detailDesc: qe,
33
+ detailAction: Be,
34
+ goBtn: $e,
35
+ emptyState: Ue
36
+ };
37
+ function D(o) {
38
+ return o.flatMap((s) => [s, ...D(s.children ?? [])]);
39
+ }
40
+ const We = {
41
+ title: "测试中心",
42
+ icon: /* @__PURE__ */ e(S, {}),
43
+ // 测试 Tab 的入口权限点 (顶栏 test mode 同码)。4A 普通用户角色 USER 持有 TEST_ENTRY
44
+ // ⇒ 全员可见; 未绑测试角色的账号看不到这一组。
45
+ permission: "TEST_ENTRY",
46
+ items: [
47
+ {
48
+ key: "test-dashboard",
49
+ label: "测试总览",
50
+ icon: /* @__PURE__ */ e(S, {}),
51
+ path: "/test/qa/dashboard",
52
+ desc: "测试统计、趋势与套件健康度"
53
+ },
54
+ {
55
+ key: "test-design",
56
+ label: "用例与编排",
57
+ icon: /* @__PURE__ */ e(A, {}),
58
+ children: [
59
+ {
60
+ key: "test-case",
61
+ label: "测试用例",
62
+ icon: /* @__PURE__ */ e(A, {}),
63
+ path: "/test/qa/cases",
64
+ desc: "接口用例与断言模板"
65
+ },
66
+ {
67
+ key: "test-suite",
68
+ label: "测试套件",
69
+ icon: /* @__PURE__ */ e(me, {}),
70
+ path: "/test/qa/suites",
71
+ desc: "步骤编排与变量传递"
72
+ },
73
+ {
74
+ key: "test-plan",
75
+ label: "测试计划",
76
+ icon: /* @__PURE__ */ e(V, {}),
77
+ path: "/test/qa/plans",
78
+ desc: "套件组合与环境绑定"
79
+ }
80
+ ]
81
+ },
82
+ {
83
+ key: "test-exec",
84
+ label: "执行与调度",
85
+ icon: /* @__PURE__ */ e(b, {}),
86
+ children: [
87
+ {
88
+ key: "test-run",
89
+ label: "执行记录",
90
+ icon: /* @__PURE__ */ e(b, {}),
91
+ path: "/test/qa/runs",
92
+ desc: "执行触发、状态与报告"
93
+ },
94
+ {
95
+ key: "test-schedule",
96
+ label: "定时调度",
97
+ icon: /* @__PURE__ */ e(b, {}),
98
+ path: "/test/qa/schedules",
99
+ desc: "cron 定时执行"
100
+ },
101
+ {
102
+ key: "test-e2e",
103
+ label: "E2E 测试",
104
+ icon: /* @__PURE__ */ e(Z, {}),
105
+ path: "/test/qa/e2e",
106
+ desc: "浏览器自动化测试"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ key: "test-support",
112
+ label: "环境与工具",
113
+ icon: /* @__PURE__ */ e(v, {}),
114
+ children: [
115
+ {
116
+ key: "test-env",
117
+ label: "环境管理",
118
+ icon: /* @__PURE__ */ e(v, {}),
119
+ path: "/test/qa/envs",
120
+ desc: "多环境变量管理"
121
+ },
122
+ {
123
+ key: "test-mock",
124
+ label: "Mock 平台",
125
+ icon: /* @__PURE__ */ e(ue, {}),
126
+ path: "/test/mock",
127
+ desc: "API Mock 服务管理"
128
+ }
129
+ ]
130
+ },
131
+ {
132
+ key: "test-eval",
133
+ label: "智能测评",
134
+ icon: /* @__PURE__ */ e(q, {}),
135
+ children: [
136
+ {
137
+ key: "test-eval-start",
138
+ label: "发起测评",
139
+ icon: /* @__PURE__ */ e(S, {}),
140
+ path: "/test/evaluation/start",
141
+ desc: "Agent 质量测评"
142
+ },
143
+ {
144
+ key: "test-eval-schedule",
145
+ label: "自动测评",
146
+ icon: /* @__PURE__ */ e(b, {}),
147
+ path: "/test/evaluation/schedule",
148
+ desc: "定时批量测评"
149
+ },
150
+ {
151
+ key: "test-eval-group",
152
+ label: "群聊评测",
153
+ icon: /* @__PURE__ */ e(de, {}),
154
+ path: "/test/evaluation/group",
155
+ desc: "群聊场景评测"
156
+ },
157
+ {
158
+ key: "test-eval-report",
159
+ label: "分析报告",
160
+ icon: /* @__PURE__ */ e(q, {}),
161
+ path: "/test/evaluation/report",
162
+ desc: "测评结果分析"
163
+ }
164
+ ]
165
+ }
166
+ ]
167
+ }, J = [
168
+ {
169
+ title: "认证与权限",
170
+ icon: /* @__PURE__ */ e(E, {}),
171
+ // 4A 授权中心自身的资源管理动作 (账号/角色/应用/租户/组织/权限分配)
172
+ // ⇒ 4A 权限管理域 PERMISSION_MANAGE。普通用户角色 USER 不含该码,
173
+ // 之前照样能点进这些页面 (进去就是 403 / 空白) —— 现在入口先收敛。
174
+ permission: "PERMISSION_MANAGE",
175
+ items: [
176
+ {
177
+ key: "4a-account",
178
+ label: "账号管理",
179
+ icon: /* @__PURE__ */ e(ce, {}),
180
+ path: "/ctc/4a/account",
181
+ desc: "用户账号创建、编辑与状态管理"
182
+ },
183
+ {
184
+ key: "4a-role",
185
+ label: "角色管理",
186
+ icon: /* @__PURE__ */ e(E, {}),
187
+ path: "/ctc/4a/role",
188
+ desc: "角色定义与权限分配"
189
+ },
190
+ {
191
+ key: "4a-app",
192
+ label: "应用管理",
193
+ icon: /* @__PURE__ */ e(Y, {}),
194
+ path: "/ctc/4a/application",
195
+ desc: "应用注册、资源与权限配置"
196
+ },
197
+ {
198
+ key: "4a-tenant",
199
+ label: "租户管理",
200
+ icon: /* @__PURE__ */ e(v, {}),
201
+ path: "/ctc/4a/tenant",
202
+ desc: "多租户管理与配置"
203
+ },
204
+ {
205
+ key: "4a-org",
206
+ label: "组织管理",
207
+ icon: /* @__PURE__ */ e(x, {}),
208
+ path: "/ctc/4a/org",
209
+ desc: "组织架构与部门管理"
210
+ },
211
+ {
212
+ key: "4a-permission",
213
+ label: "权限管理",
214
+ icon: /* @__PURE__ */ e(j, {}),
215
+ path: "/ctc/4a/permission",
216
+ desc: "细粒度权限控制与审批"
217
+ }
218
+ ]
219
+ },
220
+ {
221
+ title: "开发与工具",
222
+ icon: /* @__PURE__ */ e(f, {}),
223
+ items: [
224
+ {
225
+ key: "script",
226
+ label: "脚本中心",
227
+ icon: /* @__PURE__ */ e(f, {}),
228
+ path: "/script/manage",
229
+ desc: "DSL 脚本注册与执行"
230
+ },
231
+ { key: "lc", label: "研发中心", icon: /* @__PURE__ */ e(f, {}), path: "/lc/apps", desc: "低代码应用开发与管理" },
232
+ {
233
+ key: "tool-curl",
234
+ label: "短链管理",
235
+ icon: /* @__PURE__ */ e(le, {}),
236
+ path: "/z-tool/curl",
237
+ desc: "短链接创建与管理"
238
+ },
239
+ {
240
+ key: "tool-webide",
241
+ label: "WebIDE 容器",
242
+ icon: /* @__PURE__ */ e(Z, {}),
243
+ path: "/z-tool/webide",
244
+ desc: "在线 IDE 代码编辑器"
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ title: "产品认知",
250
+ icon: /* @__PURE__ */ e(R, {}),
251
+ items: [
252
+ {
253
+ // 工坊是「一个面板干完产品业务开发」的主入口:对话 + 小册子 + 产物 + 台账。
254
+ // 它和小册子库原先只注册在 z-product-component 的 menuItems 里,
255
+ // 而主壳导航用的是这份写死的清单 ⇒ 面板做好了却在界面上进不去。
256
+ key: "product-atelier",
257
+ label: "产品工坊",
258
+ icon: /* @__PURE__ */ e(se, {}),
259
+ path: "/z-product/atelier",
260
+ desc: "在一个面板里对话、沉淀产品稿与设计稿、渲染演示稿、建工程落地"
261
+ },
262
+ {
263
+ key: "product-booklets",
264
+ label: "小册子库",
265
+ icon: /* @__PURE__ */ e(H, {}),
266
+ path: "/z-product/booklets",
267
+ desc: "可被对话引用的方法、清单与规范"
268
+ },
269
+ {
270
+ key: "product-board",
271
+ label: "产品全景",
272
+ icon: /* @__PURE__ */ e(S, {}),
273
+ path: "/z-product/board",
274
+ desc: "业务/产品/研发三线可见的全量认知(术语·模型·链路·设计稿·缺口)"
275
+ },
276
+ {
277
+ key: "product-blueprint",
278
+ label: "产品蓝图",
279
+ icon: /* @__PURE__ */ e(R, {}),
280
+ path: "/z-product/blueprint",
281
+ desc: "AI 的唯一入口:后端实时投影的全量认知快照"
282
+ },
283
+ {
284
+ key: "product-glossary",
285
+ label: "统一语言",
286
+ icon: /* @__PURE__ */ e(H, {}),
287
+ path: "/z-product/glossary",
288
+ desc: "术语仲裁表:标准词/别名/适用范围/反例"
289
+ },
290
+ {
291
+ key: "product-concept",
292
+ label: "领域模型",
293
+ icon: /* @__PURE__ */ e(pe, {}),
294
+ path: "/z-product/concept-model",
295
+ desc: "概念与关系画布(四种投影)"
296
+ },
297
+ {
298
+ key: "product-scenarios",
299
+ label: "用户链路",
300
+ icon: /* @__PURE__ */ e(x, {}),
301
+ path: "/z-product/scenarios",
302
+ desc: "端到端场景:步骤引用领域概念"
303
+ },
304
+ {
305
+ key: "product-designs",
306
+ label: "设计稿 ⇄ 模型",
307
+ icon: /* @__PURE__ */ e(re, {}),
308
+ path: "/z-product/designs",
309
+ desc: "设计与认知的双向收敛回路"
310
+ }
311
+ ]
312
+ },
313
+ {
314
+ title: "业务流程",
315
+ icon: /* @__PURE__ */ e(A, {}),
316
+ items: [
317
+ {
318
+ key: "workflow",
319
+ label: "流程中心",
320
+ icon: /* @__PURE__ */ e(j, {}),
321
+ path: "/workflow/dashboard",
322
+ desc: "工作流定义与审批管理"
323
+ },
324
+ {
325
+ key: "task",
326
+ label: "任务中心",
327
+ icon: /* @__PURE__ */ e(A, {}),
328
+ path: "/task/dashboard",
329
+ desc: "任务创建、分配与跟踪"
330
+ },
331
+ {
332
+ key: "schedule",
333
+ label: "调度中心",
334
+ icon: /* @__PURE__ */ e(b, {}),
335
+ // z-schedule-component 的路由只有 jobs / group / log,**没有 dashboard**:
336
+ // 原来写 /schedule/dashboard,点进去命中 /schedule/* 通配后组件内部匹配不到
337
+ // 任何路由 ⇒ 右侧一片空白。默认页取 jobs。
338
+ path: "/schedule/jobs",
339
+ desc: "定时任务调度与管理"
340
+ },
341
+ {
342
+ key: "subscribe",
343
+ label: "订阅中心",
344
+ icon: /* @__PURE__ */ e(ie, {}),
345
+ path: "/subscribe/list",
346
+ desc: "第三方数据订阅与拉取"
347
+ },
348
+ {
349
+ key: "project",
350
+ label: "项目中心",
351
+ icon: /* @__PURE__ */ e(V, {}),
352
+ path: "/project/list",
353
+ desc: "项目创建与进度管理"
354
+ }
355
+ ]
356
+ }
357
+ ], P = [...J, We];
358
+ function Ke({
359
+ activePathOverride: o,
360
+ menuOnly: s = !1,
361
+ visibleGroups: r
362
+ } = {}) {
363
+ const k = Q(), { pathname: G } = M(), w = g(
364
+ () => r ? P.filter((a) => r.includes(a.title)) : J,
365
+ [r]
366
+ ), I = B((a) => a.permissionState), C = B((a) => a.currentUser), _ = g(
367
+ () => I === "failed" ? w : he(w, C),
368
+ [w, C, I]
369
+ ), [X, ee] = z(
370
+ new Set(P.map((a) => a.title))
371
+ ), [N, te] = z(
372
+ () => new Set(
373
+ P.flatMap((a) => a.items).filter((a) => a.children).map((a) => a.key)
374
+ )
375
+ ), y = g(() => {
376
+ var i;
377
+ const a = o ?? G;
378
+ return ((i = _.flatMap((c) => D(c.items)).find(
379
+ (c) => c.path === a
380
+ )) == null ? void 0 : i.key) ?? null;
381
+ }, [o, G, _]), ae = (a) => {
382
+ ee((i) => {
383
+ const c = new Set(i);
384
+ return c.has(a) ? c.delete(a) : c.add(a), c;
385
+ });
386
+ }, ne = (a) => {
387
+ te((i) => {
388
+ const c = new Set(i);
389
+ return c.has(a) ? c.delete(a) : c.add(a), c;
390
+ });
391
+ }, O = (a) => {
392
+ a.path && k(a.path);
393
+ }, d = _.flatMap((a) => D(a.items)).find(
394
+ (a) => a.key === y
395
+ );
396
+ return /* @__PURE__ */ p("div", { className: n.container, children: [
397
+ /* @__PURE__ */ p("aside", { className: n.sidebar, children: [
398
+ /* @__PURE__ */ e(be, {}),
399
+ /* @__PURE__ */ e("nav", { className: n.menuList, children: _.map((a) => {
400
+ const i = X.has(a.title);
401
+ return /* @__PURE__ */ p("div", { className: n.menuGroup, children: [
402
+ /* @__PURE__ */ p(
403
+ "div",
404
+ {
405
+ className: n.menuGroupHeader,
406
+ onClick: () => ae(a.title),
407
+ children: [
408
+ /* @__PURE__ */ e("span", { className: n.menuGroupIcon, children: a.icon }),
409
+ /* @__PURE__ */ e("span", { className: n.menuGroupLabel, children: a.title }),
410
+ /* @__PURE__ */ e("span", { className: n.menuGroupArrow, children: i ? /* @__PURE__ */ e(L, {}) : /* @__PURE__ */ e(T, {}) })
411
+ ]
412
+ }
413
+ ),
414
+ i && /* @__PURE__ */ e("ul", { className: n.menuSubList, children: a.items.map(
415
+ (c) => c.children ? (
416
+ /* 子菜单分组头 — 可折叠; active 项落在其中时高亮 */
417
+ /* @__PURE__ */ p("li", { className: n.menuSubGroup, children: [
418
+ /* @__PURE__ */ p(
419
+ "div",
420
+ {
421
+ className: `${n.menuSubGroupHeader} ${c.children.some((m) => m.key === y) ? n.menuSubGroupHeaderActive : ""}`,
422
+ onClick: () => ne(c.key),
423
+ children: [
424
+ /* @__PURE__ */ e("span", { className: n.menuGroupIcon, children: c.icon }),
425
+ /* @__PURE__ */ e("span", { className: n.menuSubGroupLabel, children: c.label }),
426
+ /* @__PURE__ */ e("span", { className: n.menuGroupArrow, children: N.has(c.key) ? /* @__PURE__ */ e(L, {}) : /* @__PURE__ */ e(T, {}) })
427
+ ]
428
+ }
429
+ ),
430
+ N.has(c.key) && /* @__PURE__ */ e("ul", { className: n.menuSubList, children: c.children.map((m) => /* @__PURE__ */ p(
431
+ "li",
432
+ {
433
+ className: `${n.menuSubItem} ${y === m.key ? n.menuSubItemActive : ""}`,
434
+ onClick: () => O(m),
435
+ children: [
436
+ /* @__PURE__ */ e(
437
+ "span",
438
+ {
439
+ className: n.menuSubItemIcon,
440
+ children: m.icon
441
+ }
442
+ ),
443
+ /* @__PURE__ */ e("span", { children: m.label })
444
+ ]
445
+ },
446
+ m.key
447
+ )) })
448
+ ] }, c.key)
449
+ ) : /* @__PURE__ */ p(
450
+ "li",
451
+ {
452
+ className: `${n.menuSubItem} ${y === c.key ? n.menuSubItemActive : ""}`,
453
+ onClick: () => O(c),
454
+ children: [
455
+ /* @__PURE__ */ e("span", { className: n.menuSubItemIcon, children: c.icon }),
456
+ /* @__PURE__ */ e("span", { children: c.label })
457
+ ]
458
+ },
459
+ c.key
460
+ )
461
+ ) })
462
+ ] }, a.title);
463
+ }) })
464
+ ] }),
465
+ s ? null : /* @__PURE__ */ e("main", { className: n.main, children: d ? /* @__PURE__ */ p("div", { className: n.detailPanel, children: [
466
+ /* @__PURE__ */ p("div", { className: n.detailHeader, children: [
467
+ /* @__PURE__ */ e("div", { className: n.detailIcon, children: d.icon }),
468
+ /* @__PURE__ */ p("div", { children: [
469
+ /* @__PURE__ */ e("h2", { className: n.detailTitle, children: d.label }),
470
+ /* @__PURE__ */ e("p", { className: n.detailDesc, children: d.desc })
471
+ ] })
472
+ ] }),
473
+ /* @__PURE__ */ e("div", { className: n.detailAction, children: /* @__PURE__ */ p(
474
+ "button",
475
+ {
476
+ className: n.goBtn,
477
+ onClick: () => k(d.path),
478
+ children: [
479
+ "进入 ",
480
+ d.label
481
+ ]
482
+ }
483
+ ) })
484
+ ] }) : /* @__PURE__ */ p("div", { className: n.emptyState, children: [
485
+ /* @__PURE__ */ e(Y, { style: { fontSize: 48, color: "#ccc" } }),
486
+ /* @__PURE__ */ e("p", { children: "点击左侧菜单进入对应功能模块" })
487
+ ] }) })
488
+ ] });
489
+ }
490
+ const Fe = "_shell_10jrt_6", Qe = "_main_10jrt_21", Ye = "_empty_10jrt_31", Ze = "_emptyIcon_10jrt_41", Ve = "_emptyText_10jrt_46", h = {
491
+ shell: Fe,
492
+ main: Qe,
493
+ empty: Ye,
494
+ emptyIcon: Ze,
495
+ emptyText: Ve
496
+ };
497
+ ye();
498
+ const t = (o, s) => u(() => o().then((r) => ({ default: r[s] }))), Je = t(() => import("@yuku123/z-ctc-component"), "AccountManagement"), Xe = t(() => import("@yuku123/z-ctc-component"), "ApplicationManagement"), et = t(() => import("@yuku123/z-ctc-component"), "AuditPage"), tt = t(() => import("@yuku123/z-ctc-component"), "CtcOverview"), at = t(() => import("@yuku123/z-ctc-component"), "DictPage"), nt = t(() => import("@yuku123/z-ctc-component"), "OrgPage"), ot = t(() => import("@yuku123/z-ctc-component"), "PermissionManagement"), ct = t(() => import("@yuku123/z-ctc-component"), "RoleManagement"), $ = t(() => import("@yuku123/z-ctc-component"), "SurlManagement"), lt = t(() => import("@yuku123/z-ctc-component"), "TenantManagement"), st = t(() => import("@yuku123/z-agent-component"), "AgentAppList"), pt = t(() => import("@yuku123/z-agent-component"), "AgentDashboard"), rt = t(() => import("@yuku123/z-agent-component"), "AkManage"), it = t(() => import("@yuku123/z-agent-component"), "BucketList"), mt = t(() => import("@yuku123/z-agent-component"), "LlmManage"), ut = t(() => import("@yuku123/z-agent-component"), "McpPage"), dt = t(() => import("@yuku123/z-agent-component"), "ObjectBrowser"), ht = t(() => import("@yuku123/z-agent-component"), "ScriptCenterPage"), bt = t(() => import("@yuku123/z-agent-component"), "ScriptProductizationPage"), gt = t(() => import("@yuku123/z-agent-component"), "SkillMarket"), kt = t(() => import("./index-D92Y4nix.js"), "AgentTeamIM"), U = t(() => import("./index-D92Y4nix.js"), "DebugPlayground"), _t = t(() => import("./index-D92Y4nix.js"), "Overview"), W = t(() => import("./index-D92Y4nix.js"), "Webide"), yt = u(() => import("./OnboardingPage-DUUHQLSp.js")), St = u(() => import("./InvitationManagementPage-DDx-AX4v.js")), At = t(() => import("@yuku123/z-config-component"), "ConfigApp"), wt = t(() => import("@yuku123/z-task-component"), "TaskApp"), ft = t(() => import("@yuku123/z-wf-component"), "WorkflowApp"), Pt = t(() => import("@yuku123/z-schedule-component"), "ScheduleApp"), vt = t(() => import("@yuku123/z-mist-component"), "MistApp"), Dt = t(() => import("@yuku123/z-meta-component"), "MetaApp"), Mt = t(() => import("@yuku123/z-msg-component"), "MsgApp"), Gt = t(() => import("@yuku123/z-rpc-component"), "RpcApp"), It = u(() => import("./ComponentDoc-D1vtx1CE.js").then((o) => o.p)), Ct = u(() => import("./ComponentDoc-D1vtx1CE.js").then((o) => o.q)), Nt = t(() => import("@yuku123/z-config-component"), "ComponentDocPage"), Ot = t(() => import("@yuku123/z-task-component"), "ComponentDocPage"), zt = t(() => import("@yuku123/z-wf-component"), "ComponentDocPage"), Lt = t(() => import("@yuku123/z-schedule-component"), "ComponentDocPage"), Tt = t(() => import("@yuku123/z-mist-component"), "ComponentDocPage"), Et = t(() => import("@yuku123/z-meta-component"), "ComponentDocPage"), xt = t(() => import("@yuku123/z-msg-component"), "ComponentDocPage"), jt = t(() => import("@yuku123/z-rpc-component"), "ComponentDocPage"), Ht = t(() => import("@yuku123/z-kb-component"), "ComponentDocPage"), Rt = t(() => import("@yuku123/z-product-component"), "ComponentDocPage"), qt = t(() => import("@yuku123/z-oss-component"), "ComponentDocPage"), Bt = t(() => import("@yuku123/z-vector-component"), "ComponentDocPage"), $t = t(() => import("@yuku123/z-graph-component"), "ComponentDocPage"), Ut = t(() => import("@yuku123/z-gw-component"), "ComponentDocPage"), Wt = t(() => import("@yuku123/z-cache-component"), "ComponentDocPage"), Kt = t(() => import("@yuku123/z-mq-component"), "ComponentDocPage"), Ft = t(() => import("@yuku123/z-ctc-component"), "ComponentDocPage"), Qt = t(() => import("@yuku123/z-agent-component"), "ComponentDocPage"), Yt = t(() => import("@yuku123/z-lc-component"), "ComponentDocPage"), Zt = t(() => import("@yuku123/z-qa-component"), "ComponentDocPage"), Vt = u(() => import("./ComponentDoc-D1vtx1CE.js").then((o) => o.o)), K = u(() => import("@yuku123/z-qa-component"));
499
+ function Jt() {
500
+ return /* @__PURE__ */ p("div", { className: h.empty, children: [
501
+ /* @__PURE__ */ e("div", { className: h.emptyIcon, children: "📋" }),
502
+ /* @__PURE__ */ e("div", { className: h.emptyText, children: "请从左侧菜单选择模块" })
503
+ ] });
504
+ }
505
+ function Xt() {
506
+ const { pathname: o } = M();
507
+ return /* @__PURE__ */ e(l, { to: o.replace(/^\/product/, "/z-product"), replace: !0 });
508
+ }
509
+ const F = [
510
+ // ─── 顶层 / 概览 ───
511
+ { path: "/overview", element: /* @__PURE__ */ e(_t, {}) },
512
+ // ─── 4A 中心 (/ctc/*) ───
513
+ { path: "/ctc", element: /* @__PURE__ */ e(l, { to: "/ctc/4a/account", replace: !0 }) },
514
+ { path: "/ctc/4a/account", element: /* @__PURE__ */ e(Je, {}) },
515
+ { path: "/ctc/4a/role", element: /* @__PURE__ */ e(ct, {}) },
516
+ { path: "/ctc/4a/application", element: /* @__PURE__ */ e(Xe, {}) },
517
+ { path: "/ctc/4a/tenant", element: /* @__PURE__ */ e(lt, {}) },
518
+ { path: "/ctc/4a/org", element: /* @__PURE__ */ e(nt, {}) },
519
+ { path: "/ctc/4a/permission", element: /* @__PURE__ */ e(ot, {}) },
520
+ { path: "/ctc/4a/surl", element: /* @__PURE__ */ e($, {}) },
521
+ { path: "/ctc/dict", element: /* @__PURE__ */ e(at, {}) },
522
+ { path: "/ctc/overview", element: /* @__PURE__ */ e(tt, {}) },
523
+ { path: "/ctc/audit", element: /* @__PURE__ */ e(et, {}) },
524
+ { path: "/ctc/webide", element: /* @__PURE__ */ e(W, {}) },
525
+ { path: "/ctc/agent-team", element: /* @__PURE__ */ e(kt, {}) },
526
+ { path: "/ctc/invitation", element: /* @__PURE__ */ e(St, {}) },
527
+ { path: "/onboarding", element: /* @__PURE__ */ e(yt, {}) },
528
+ // ─── 智能中心 (/ai/*) ───
529
+ { path: "/ai", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
530
+ { path: "/ai/agent", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
531
+ { path: "/ai/agent/app", element: /* @__PURE__ */ e(st, {}) },
532
+ { path: "/ai/llm", element: /* @__PURE__ */ e(mt, {}) },
533
+ { path: "/ai/llm/provider", element: /* @__PURE__ */ e(l, { to: "/ai/llm", replace: !0 }) },
534
+ { path: "/ai/llm/model", element: /* @__PURE__ */ e(l, { to: "/ai/llm", replace: !0 }) },
535
+ { path: "/ai/usage", element: /* @__PURE__ */ e(l, { to: "/ai/llm", replace: !0 }) },
536
+ { path: "/ai/ak", element: /* @__PURE__ */ e(rt, {}) },
537
+ { path: "/ai/mcp", element: /* @__PURE__ */ e(ut, {}) },
538
+ { path: "/ai/skill", element: /* @__PURE__ */ e(gt, {}) },
539
+ { path: "/ai/oss", element: /* @__PURE__ */ e(l, { to: "/ai/oss/bucket", replace: !0 }) },
540
+ { path: "/ai/oss/bucket", element: /* @__PURE__ */ e(it, {}) },
541
+ { path: "/ai/oss/bucket/:bucketName", element: /* @__PURE__ */ e(dt, {}) },
542
+ { path: "/ai/trace", element: /* @__PURE__ */ e(U, {}) },
543
+ { path: "/ai/trace/debug", element: /* @__PURE__ */ e(U, {}) },
544
+ { path: "/ai/dashboard", element: /* @__PURE__ */ e(pt, {}) },
545
+ // 多 Agent 实例 / 模板市场已下线 (2026-10-22): 模板并入 Agent 应用页,
546
+ // 旧深链重定向, 别再回到独立菜单
547
+ { path: "/ai/template", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
548
+ { path: "/ai/agent-instance", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
549
+ { path: "/ai/agent/instances", element: /* @__PURE__ */ e(l, { to: "/ai/agent/app", replace: !0 }) },
550
+ // ─── 配置中心 ───
551
+ { path: "/config/*", element: /* @__PURE__ */ e(At, {}) },
552
+ // ─── 任务中心 ───
553
+ // 模块根路径要重定向到默认页:通配 /task/* 匹配不到裸 /task(matchPattern 要求
554
+ // 前缀带斜杠),落到 SystemShellEmpty 就是一句"请从左侧菜单选择模块"的空壳。
555
+ { path: "/task", element: /* @__PURE__ */ e(l, { to: "/task/dashboard", replace: !0 }) },
556
+ { path: "/task/*", element: /* @__PURE__ */ e(wt, {}) },
557
+ // ─── 流程中心 ───
558
+ { path: "/workflow", element: /* @__PURE__ */ e(l, { to: "/workflow/dashboard", replace: !0 }) },
559
+ { path: "/workflow/*", element: /* @__PURE__ */ e(ft, {}) },
560
+ // ─── 调度中心 ───
561
+ // 默认页是 jobs:z-schedule-component 的路由只有 jobs / group / log,没有 dashboard。
562
+ { path: "/schedule", element: /* @__PURE__ */ e(l, { to: "/schedule/jobs", replace: !0 }) },
563
+ { path: "/schedule/*", element: /* @__PURE__ */ e(Pt, {}) },
564
+ // ─── 密钥中心 ───
565
+ { path: "/mist/*", element: /* @__PURE__ */ e(vt, {}) },
566
+ // ─── 中间件孵化页 (大需求 004) — 主入口在运维工作台 (?mode=ops),此处兜住直链/刷新 ───
567
+ { path: "/meta", element: /* @__PURE__ */ e(l, { to: "/meta/app", replace: !0 }) },
568
+ { path: "/meta/*", element: /* @__PURE__ */ e(Dt, {}) },
569
+ { path: "/msg", element: /* @__PURE__ */ e(l, { to: "/msg/inbox", replace: !0 }) },
570
+ { path: "/msg/*", element: /* @__PURE__ */ e(Mt, {}) },
571
+ { path: "/rpc", element: /* @__PURE__ */ e(l, { to: "/rpc/service", replace: !0 }) },
572
+ { path: "/rpc/*", element: /* @__PURE__ */ e(Gt, {}) },
573
+ // ─── 订阅中心 ───
574
+ { path: "/subscribe", element: /* @__PURE__ */ e(l, { to: "/subscribe/list", replace: !0 }) },
575
+ { path: "/subscribe/*", element: /* @__PURE__ */ e(It, {}) },
576
+ // ─── 产品工作台 z-product (2026-10-21 接入) ───
577
+ // /z-product/* 由 z-product 组件自己的 ProductApp 渲染(内部按 manifest 的绝对路径手工匹配,
578
+ // 不用嵌套 <Routes>:这里没有 Route 父上下文,绝对路径不会被再拼一次父前缀)。
579
+ // §14:z-product 的菜单 key / 路由 path 一律带产品名前缀(/z-product/xxx),
580
+ // 避免 /board、/products 这类短路径跟宿主自己的同名路由撞车。
581
+ // 产品域的默认落地页是工坊:它是「一个面板干完产品业务开发」的入口,
582
+ // 全景/蓝图是看板,不是第一动作。
583
+ { path: "/z-product", element: /* @__PURE__ */ e(l, { to: "/z-product/atelier", replace: !0 }) },
584
+ { path: "/z-product/*", element: /* @__PURE__ */ e(ge, { basePath: "/z-product" }) },
585
+ // 旧前缀 /product/* → 新前缀 /z-product/*:§14 前缀化之前的老 URL 仍可达(书签 / 旧分享链接)。
586
+ { path: "/product", element: /* @__PURE__ */ e(l, { to: "/z-product/atelier", replace: !0 }) },
587
+ { path: "/product/*", element: /* @__PURE__ */ e(Xt, {}) },
588
+ // ─── 项目中心 ───
589
+ { path: "/project", element: /* @__PURE__ */ e(l, { to: "/project/list", replace: !0 }) },
590
+ { path: "/project/*", element: /* @__PURE__ */ e(Ct, {}) },
591
+ // ─── 脚本中心 (/script/*) — FEATURE052 ───
592
+ { path: "/script", element: /* @__PURE__ */ e(l, { to: "/script/manage", replace: !0 }) },
593
+ { path: "/script/manage", element: /* @__PURE__ */ e(ht, {}) },
594
+ { path: "/script/productization", element: /* @__PURE__ */ e(bt, {}) },
595
+ // ─── 工具中心 (/z-tool/*) — FEATURE054 ───
596
+ { path: "/z-tool", element: /* @__PURE__ */ e(l, { to: "/z-tool/curl", replace: !0 }) },
597
+ { path: "/z-tool/curl", element: /* @__PURE__ */ e($, {}) },
598
+ { path: "/z-tool/webide", element: /* @__PURE__ */ e(W, {}) },
599
+ // ─── 测试中心 (/test/*) — FEATURE061 ───
600
+ { path: "/test", element: /* @__PURE__ */ e(l, { to: "/test/qa/dashboard", replace: !0 }) },
601
+ { path: "/test/mock", element: /* @__PURE__ */ e(Vt, {}) },
602
+ // QAApp 内部用 <Routes> 相对路由, 通配匹配后由 QAApp 自己接管子路径
603
+ { path: "/test/qa", element: /* @__PURE__ */ e(K, {}) },
604
+ { path: "/test/qa/*", element: /* @__PURE__ */ e(K, {}) },
605
+ // ─── 低代码 ───
606
+ // /lc/* 刻意不在这里注册。它早就迁到 src/lc/(TS 重写), 挂载点是
607
+ // main.jsx 的 <Route path="/lc/*" element={<ZTeamApp forcedMode="dev"/>}/>,
608
+ // 由 DevWorkbench 把 pathname 原样交给 @/lc 自己的嵌套 <Routes>。
609
+ // 本表早先还挂着一行 {path:'/lc/*', element:<LcIndex/>}, 它的 import 写的是
610
+ // '@/pages/lc' —— 该别名解析到 src/zteam/pages/lc(不存在), 真身在 src/lc,
611
+ // 于是这行既解析不了、又因 main.jsx 先消费了 /lc/* 而永远不可达。
612
+ // /form/:entity 与 /form/_model 是 z-lc Phase 1 手写原型的两条 URL
613
+ // (LowCodeModel 实体字段编辑器 / LowCodeRuntime 通用 CRUD), 现已由
614
+ // @yuku123/z-lc-component 承接 —— 它是同一套 /api/lc 后端的完整前端客户,
615
+ // 能力严格更强(designer 模型编辑、workspace 七种视图 CRUD、admin 全套、
616
+ // db-import、AI 建模), 挂在 main.jsx 的 <Route path="/lc/*"> 下经
617
+ // DevWorkbench 的 <LcApp/> 渲染。
618
+ //
619
+ // 不做逐条映射: z-lc 的工作区路由是 /lc/{appCode}/{entityCode}/{viewType},
620
+ // 比 /form/{entityCode} 多一层 appCode, 旧 URL 里没有这个信息, 无法还原。
621
+ // 故统一重定向到应用列表, 由用户自行进入对应应用。
622
+ { path: "/form/:entity", element: /* @__PURE__ */ e(l, { to: "/lc/apps", replace: !0 }) },
623
+ // ─── 各域组件文档(lead 008 §7)───
624
+ // 放在本表末尾即可:matchSystemPath 是「先全表精确匹配、再全表通配匹配」,
625
+ // 所以 /config/docs 这类精确路径**不会**被上面的 /config/* 吃掉。
626
+ //
627
+ // 为什么路径用宿主前缀(/config/docs)而不是各域 manifest 里的 /z-config/docs:
628
+ // manifest 的 routes 是给**独立壳**用的(suit 里 <Route path={r.path}> 直接铺);
629
+ // 工作台把各域挂在宿主前缀下(/config/* ⇒ ConfigApp 内部相对路由),
630
+ // 两套路径对不上 ⇒ manifest 的 routes 在工作台里不生效,文档页会 404。
631
+ // 这里统一按**宿主前缀**挂,各域自己的 manifest 路径仍然保留给独立壳用。
632
+ //
633
+ // §14 铁律(菜单 key 必须带产品名前缀)针对的是**同一宿主内多套件共存**的撞车问题;
634
+ // 这里每个域的宿主前缀本身就已经是产品名(/config / /task / /workflow …),
635
+ // 且各域之间前缀互不相同 ⇒ 不存在撞车,不需要再加 z- 前缀。
636
+ { path: "/config/docs", element: /* @__PURE__ */ e(Nt, {}) },
637
+ { path: "/task/docs", element: /* @__PURE__ */ e(Ot, {}) },
638
+ { path: "/workflow/docs", element: /* @__PURE__ */ e(zt, {}) },
639
+ { path: "/schedule/docs", element: /* @__PURE__ */ e(Lt, {}) },
640
+ { path: "/mist/docs", element: /* @__PURE__ */ e(Tt, {}) },
641
+ { path: "/meta/docs", element: /* @__PURE__ */ e(Et, {}) },
642
+ { path: "/msg/docs", element: /* @__PURE__ */ e(xt, {}) },
643
+ { path: "/rpc/docs", element: /* @__PURE__ */ e(jt, {}) },
644
+ { path: "/kb/docs", element: /* @__PURE__ */ e(Ht, {}) },
645
+ { path: "/z-product/docs", element: /* @__PURE__ */ e(Rt, {}) },
646
+ { path: "/oss/docs", element: /* @__PURE__ */ e(qt, {}) },
647
+ { path: "/vector/docs", element: /* @__PURE__ */ e(Bt, {}) },
648
+ { path: "/graph/docs", element: /* @__PURE__ */ e($t, {}) },
649
+ { path: "/gw/docs", element: /* @__PURE__ */ e(Ut, {}) },
650
+ { path: "/cache/docs", element: /* @__PURE__ */ e(Wt, {}) },
651
+ { path: "/mq/docs", element: /* @__PURE__ */ e(Kt, {}) },
652
+ { path: "/ctc/docs", element: /* @__PURE__ */ e(Ft, {}) },
653
+ { path: "/ai/docs", element: /* @__PURE__ */ e(Qt, {}) },
654
+ { path: "/lc/docs", element: /* @__PURE__ */ e(Yt, {}) },
655
+ { path: "/test/qa/docs", element: /* @__PURE__ */ e(Zt, {}) }
656
+ ];
657
+ function ea(o) {
658
+ for (const s of F)
659
+ if (s.path === o) return s.element;
660
+ for (const s of F)
661
+ if (ta(s.path, o)) return s.element;
662
+ return /* @__PURE__ */ e(Jt, {});
663
+ }
664
+ function ta(o, s) {
665
+ if (!o.includes("*") && !o.includes(":")) return !1;
666
+ const r = "^" + o.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*").replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g, "[^/]+") + "$";
667
+ return new RegExp(r).test(s);
668
+ }
669
+ function ma() {
670
+ Q();
671
+ const { pathname: o } = M(), s = o.startsWith("/test/"), r = g(() => o, [o]), k = g(() => ea(o), [o]);
672
+ return /* @__PURE__ */ p("div", { className: h.shell, children: [
673
+ /* @__PURE__ */ e(
674
+ Ke,
675
+ {
676
+ activePathOverride: r,
677
+ menuOnly: !0,
678
+ visibleGroups: s ? ["测试中心"] : void 0
679
+ }
680
+ ),
681
+ /* @__PURE__ */ p("main", { className: h.main, children: [
682
+ /* @__PURE__ */ e(ke, {}),
683
+ /* @__PURE__ */ e(_e, { resetKey: o, children: /* @__PURE__ */ e(oe, { fallback: /* @__PURE__ */ e("div", { className: h.empty, children: "加载中…" }), children: k }) })
684
+ ] })
685
+ ] });
686
+ }
687
+ export {
688
+ ma as default
689
+ };