china-mobile-international-custom-components 0.0.58 → 0.0.60

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.
@@ -1,653 +0,0 @@
1
- import { createElementBlock as y, openBlock as a, createCommentVNode as x, createElementVNode as c, createBlock as m, createVNode as p, unref as u, withCtx as h, resolveDynamicComponent as S, normalizeStyle as L, toDisplayString as g, ref as O, watch as R, nextTick as $, normalizeClass as D, withModifiers as P, Fragment as A, renderList as U, Transition as B, withDirectives as K, vShow as W } from "vue";
2
- import { ElIcon as N, ElAutoResizer as _, ElTreeV2 as H } from "element-plus";
3
- import { _ as k } from "./_plugin-vue_export-helper.CHgC5LLL.js";
4
- import { IconRenderer as V, iconLibraryMap as Y } from "color-star-custom-components";
5
- import { IconYou as G } from "color-message-aibox-vue";
6
- import '../assets/layout2.css';const q = { class: "nav-title overflow-hidden" }, J = {
7
- key: 0,
8
- class: "title-logo"
9
- }, Q = /* @__PURE__ */ Object.assign({
10
- name: "NavTitle"
11
- }, {
12
- __name: "NavTitle",
13
- props: {
14
- // 标题文本
15
- title: {
16
- type: String,
17
- default: ""
18
- },
19
- // Logo 图标组件
20
- logo: {
21
- type: [Object, String],
22
- default: null
23
- },
24
- // Logo 尺寸
25
- logoSize: {
26
- type: Number,
27
- default: 30
28
- },
29
- // 标题样式
30
- titleStyle: {
31
- type: Object,
32
- default: () => ({ fontSize: "16px" })
33
- },
34
- // 是否显示折叠按钮
35
- showToggle: {
36
- type: Boolean,
37
- default: !0
38
- },
39
- // 折叠按钮图标
40
- toggleIcon: {
41
- type: [Object, String],
42
- default: null
43
- }
44
- },
45
- emits: ["toggle"],
46
- setup(e, { emit: n }) {
47
- const t = n, o = () => {
48
- t("toggle");
49
- };
50
- return (l, v) => (a(), y("div", q, [
51
- e.logo ? (a(), y("div", J, [
52
- p(u(N), { size: e.logoSize }, {
53
- default: h(() => [
54
- (a(), m(S(e.logo)))
55
- ]),
56
- _: 1
57
- }, 8, ["size"])
58
- ])) : x("", !0),
59
- c("span", {
60
- class: "weight-500 text-1f2329 title-text",
61
- style: L(e.titleStyle)
62
- }, g(e.title), 5),
63
- e.showToggle ? (a(), m(u(N), {
64
- key: 1,
65
- size: 20,
66
- class: "collapse-unfold-icon",
67
- onClick: o
68
- }, {
69
- default: h(() => [
70
- (a(), m(S(e.toggleIcon)))
71
- ]),
72
- _: 1
73
- })) : x("", !0)
74
- ]));
75
- }
76
- }), X = /* @__PURE__ */ k(Q, [["__scopeId", "data-v-8cc29b72"]]), T = {
77
- DIR: "DIR",
78
- // 目录
79
- MENU: "MENU",
80
- // 菜单
81
- BUTTON: "BUTTON"
82
- // 按钮
83
- }, Z = /* @__PURE__ */ new Map([
84
- ["active", "#3271FE"],
85
- ["parent_active", "#3271FE"],
86
- ["normal", "#1F2329"]
87
- ]), ee = (e, n) => !Array.isArray(e) || !n ? !1 : e.some((t) => t.path === n ? !0 : t.children?.length > 0 ? ee(t.children, n) : !1), te = (e, n = 1) => e.filter((o) => [T.DIR, T.MENU].includes(o.type)).map((o) => ({
88
- ...o,
89
- id: o.bnid,
90
- name: o.name,
91
- path: o?.path || "",
92
- children: o.children?.length > 0 ? te(o.children || [], n + 1) : [],
93
- level: n
94
- })), ne = (e, n) => e?.children?.length ? e.children.some(
95
- (t) => t?.path === n || t.children?.length && ne(t, n)
96
- ) : !1, z = (e, n) => e?.children?.length ? e.children.some(
97
- (t) => t?.id === n || t.children?.length && z(t, n)
98
- ) : !1, oe = (e, n) => {
99
- const t = e?.id === n, o = z(e, n);
100
- let l = "normal";
101
- return t ? l = "active" : o && (l = "parent_active"), Z.get(l);
102
- }, Fe = (e, n) => e.includes(n) ? e : [...e, n], Re = (e, n) => e.filter((t) => t !== n), le = (e, n, t = []) => e.some((o) => {
103
- if (o?.path === n)
104
- return !0;
105
- if (o.children?.length > 0) {
106
- t.push(o.id);
107
- const l = le(o.children, n, t);
108
- return l || t.pop(), l;
109
- }
110
- return !1;
111
- }), w = (e, n, t = []) => e.some((o) => {
112
- if (o?.id === n)
113
- return !0;
114
- if (o.children?.length > 0) {
115
- t.push(o.id);
116
- const l = w(o.children, n, t);
117
- return l || t.pop(), l;
118
- }
119
- return !1;
120
- }), $e = (e, n) => {
121
- const t = [];
122
- return w(e, n, t), t;
123
- }, ie = (e, n) => {
124
- if (!Array.isArray(e) || !n) return null;
125
- for (const t of e) {
126
- if (t.path === n)
127
- return t;
128
- if (t.children?.length > 0) {
129
- const o = ie(t.children, n);
130
- if (o) return o;
131
- }
132
- }
133
- return null;
134
- }, re = (e) => Array.isArray(e) ? e.map((n) => {
135
- const t = { ...n };
136
- return t.children && Array.isArray(t.children) && t.children.length > 0 ? t.children = re(t.children) : t.isLeaf = !0, t;
137
- }) : [], se = (e) => {
138
- if (!Array.isArray(e) || e.length === 0) return null;
139
- for (const n of e) {
140
- if (n.isLeaf && n.path)
141
- return n;
142
- if (n.children?.length > 0) {
143
- const t = se(n.children);
144
- if (t) return t;
145
- }
146
- }
147
- return null;
148
- }, De = ["/404", "/login", "/unauthorized"], j = {
149
- label: "name",
150
- children: "children",
151
- isLeaf: "isLeaf"
152
- }, C = {
153
- PARENT: "parent",
154
- LEAF: "leaf"
155
- }, Pe = {
156
- LOADING: "loading",
157
- LOADED: "loaded",
158
- ERROR: "error"
159
- }, ae = { class: "node-label" }, ce = ["onClick"], de = /* @__PURE__ */ Object.assign({
160
- name: "MenuList"
161
- }, {
162
- __name: "MenuList",
163
- props: {
164
- // 菜单数据(已处理好的树形结构)
165
- menuData: {
166
- type: Array,
167
- default: () => []
168
- },
169
- // 当前选中的菜单ID
170
- currentMenuId: {
171
- type: String,
172
- default: null
173
- },
174
- // 展开的节点ID数组
175
- expandedKeys: {
176
- type: Array,
177
- default: () => []
178
- },
179
- // 树形组件配置
180
- treeProps: {
181
- type: Object,
182
- default: () => j
183
- },
184
- // 菜单项高度
185
- itemHeight: {
186
- type: Number,
187
- default: 36
188
- },
189
- // 缩进距离
190
- indent: {
191
- type: Number,
192
- default: 24
193
- },
194
- // 图标大小
195
- iconSize: {
196
- type: Number,
197
- default: 16
198
- },
199
- // 展开图标组件
200
- expandedIcon: {
201
- type: [Object, String],
202
- default: null
203
- },
204
- // 收起图标组件
205
- collapsedIcon: {
206
- type: [Object, String],
207
- default: null
208
- }
209
- // 图标渲染器组件(可选)
210
- // iconRenderer: {
211
- // type: [Object, String],
212
- // default: null,
213
- // },
214
- // // 图标库配置
215
- // iconLibrary: {
216
- // type: [String, Object],
217
- // default: null,
218
- // },
219
- },
220
- emits: ["node-click", "node-expand", "node-collapse"],
221
- setup(e, { emit: n }) {
222
- const t = e, o = n, l = O(null), v = (s) => s?.icon && s.level === 1 || !s.isLeaf, d = (s) => oe(s, t.currentMenuId), b = (s) => {
223
- const E = s.isLeaf ? C.LEAF : C.PARENT;
224
- o("node-click", s, E);
225
- }, i = (s) => {
226
- o("node-expand", s.id, s);
227
- }, r = (s) => {
228
- o("node-collapse", s.id, s);
229
- }, I = (s) => {
230
- if (!l.value) return;
231
- t.expandedKeys.includes(s.data.id) ? l.value.collapseNode(s) : l.value.expandNode(s);
232
- };
233
- return R(
234
- () => t.expandedKeys,
235
- (s) => {
236
- $(() => {
237
- l.value && l.value.setExpandedKeys([...s]);
238
- });
239
- },
240
- { deep: !0 }
241
- ), (s, E) => (a(), m(u(_), { class: "flex-1 overflow-hidden" }, {
242
- default: h(({ height: F }) => [
243
- p(u(H), {
244
- ref_key: "treeRef",
245
- ref: l,
246
- "node-key": "id",
247
- data: e.menuData,
248
- props: e.treeProps,
249
- height: F,
250
- "current-node-key": e.currentMenuId,
251
- "highlight-current": !0,
252
- "expanded-keys": e.expandedKeys,
253
- "show-checkbox": !1,
254
- "item-size": e.itemHeight,
255
- "expand-on-click-node": !1,
256
- indent: e.indent,
257
- onNodeClick: b,
258
- onNodeExpand: i,
259
- onNodeCollapse: r,
260
- class: "custom-tree"
261
- }, {
262
- default: h(({ node: M, data: f }) => [
263
- c("div", {
264
- class: D(["tree-node-content-custom", {
265
- "has-children": !f.isLeaf,
266
- "is-current": f.id === e.currentMenuId && f.isLeaf,
267
- "is-parent-active": u(z)(f, e.currentMenuId) && !f.isLeaf
268
- }])
269
- }, [
270
- v(f) ? (a(), m(u(N), {
271
- key: 0,
272
- size: e.iconSize,
273
- class: "node-icon",
274
- color: d(f)
275
- }, {
276
- default: h(() => [
277
- p(u(V), {
278
- "icon-name": f?.icon,
279
- "icon-library": u(Y).aibox
280
- }, null, 8, ["icon-name", "icon-library"])
281
- ]),
282
- _: 2
283
- }, 1032, ["size", "color"])) : x("", !0),
284
- c("span", ae, g(M.label), 1),
285
- f.isLeaf ? x("", !0) : (a(), y("div", {
286
- key: 1,
287
- class: "expand-arrow",
288
- onClick: P((ze) => I(M), ["stop"])
289
- }, [
290
- p(u(N), {
291
- size: e.iconSize,
292
- color: d(f)
293
- }, {
294
- default: h(() => [
295
- (a(), m(S(
296
- e.expandedKeys.includes(f.id) ? e.expandedIcon : e.collapsedIcon
297
- )))
298
- ]),
299
- _: 2
300
- }, 1032, ["size", "color"])
301
- ], 8, ce))
302
- ], 2)
303
- ]),
304
- _: 1
305
- }, 8, ["data", "props", "height", "current-node-key", "expanded-keys", "item-size", "indent"])
306
- ]),
307
- _: 1
308
- }));
309
- }
310
- }), ue = /* @__PURE__ */ k(de, [["__scopeId", "data-v-0a105c70"]]), fe = { class: "user-popup-content" }, pe = { class: "user_info_wrap_data" }, ye = { class: "user-avatar" }, he = { class: "avatar-text" }, ge = { class: "user-details" }, me = { class: "user-name" }, ve = { class: "user-email" }, be = ["onClick"], xe = /* @__PURE__ */ Object.assign({
311
- name: "UserPopup"
312
- }, {
313
- __name: "UserPopup",
314
- props: {
315
- // 操作列表配置
316
- actions: {
317
- type: Array,
318
- default: () => [],
319
- validator: (e) => e.every(
320
- (n) => n.key && (n.icon || n.iconName)
321
- )
322
- },
323
- // 用户信息
324
- userInfo: {
325
- type: Object,
326
- default: () => ({})
327
- }
328
- },
329
- emits: ["action-click"],
330
- setup(e, { emit: n }) {
331
- const t = n, o = (l) => {
332
- t("action-click", l.key, l);
333
- };
334
- return (l, v) => (a(), y("div", fe, [
335
- c("div", pe, [
336
- c("div", ye, [
337
- c("span", he, g(e.userInfo?.name?.charAt(0)?.toUpperCase() || ""), 1)
338
- ]),
339
- c("div", ge, [
340
- c("div", me, g(e.userInfo?.name || ""), 1),
341
- c("div", ve, g(e.userInfo?.bnid || ""), 1)
342
- ])
343
- ]),
344
- (a(!0), y(A, null, U(e.actions, (d, b) => (a(), y(A, { key: b }, [
345
- d.hidden ? x("", !0) : (a(), y("div", {
346
- key: 0,
347
- class: "list__item",
348
- onClick: (i) => o(d)
349
- }, [
350
- p(u(N), {
351
- class: "list__item-icon",
352
- size: d.iconSize || 20,
353
- color: "#262626"
354
- }, {
355
- default: h(() => [
356
- (a(), m(S(d.icon)))
357
- ]),
358
- _: 2
359
- }, 1032, ["size"]),
360
- c("span", null, g(d.label), 1)
361
- ], 8, be))
362
- ], 64))), 128))
363
- ]));
364
- }
365
- }), Ne = /* @__PURE__ */ k(xe, [["__scopeId", "data-v-9ec38608"]]), Ie = { class: "navbar-box__footer__left" }, ke = { class: "name-first" }, Se = { class: "name-text" }, Ae = /* @__PURE__ */ Object.assign({
366
- name: "NavFooter"
367
- }, {
368
- __name: "NavFooter",
369
- props: {
370
- // 用户信息
371
- userInfo: {
372
- type: Object,
373
- default: null,
374
- validator: (e) => e ? e.name !== void 0 : !0
375
- },
376
- // 用户操作列表
377
- actions: {
378
- type: Array,
379
- default: () => []
380
- },
381
- // 弹窗显示延迟(毫秒)
382
- popupDelay: {
383
- type: Number,
384
- default: 200
385
- },
386
- // 弹窗左侧位置(像素)
387
- popupLeft: {
388
- type: Number,
389
- default: 240
390
- },
391
- navFooterWidth: {
392
- type: Number,
393
- default: 240
394
- }
395
- },
396
- emits: ["action-click"],
397
- setup(e, { emit: n }) {
398
- const t = n, o = O(null), l = O(!1), v = (i) => i && i[0] ? i[0] : "", d = (i) => {
399
- i && i && (l.value = i, clearTimeout(o.value));
400
- }, b = (i, r) => {
401
- l.value = !1, t("action-click", i, r);
402
- };
403
- return (i, r) => (a(), y(A, null, [
404
- e.userInfo ? (a(), y("div", {
405
- key: 0,
406
- class: "navbar-box__footer",
407
- style: L({ width: e.navFooterWidth + "px" }),
408
- onMouseenter: r[0] || (r[0] = (I) => d(!0)),
409
- onMouseleave: r[1] || (r[1] = (I) => d(!1))
410
- }, [
411
- c("div", Ie, [
412
- c("div", ke, g(v(e.userInfo?.name)), 1),
413
- c("div", null, [
414
- c("div", Se, g(e.userInfo?.name), 1)
415
- ])
416
- ]),
417
- p(u(N), {
418
- size: 12,
419
- class: "navbar-box__footer__right",
420
- color: "#1F2329"
421
- }, {
422
- default: h(() => [
423
- p(u(G))
424
- ]),
425
- _: 1
426
- })
427
- ], 36)) : x("", !0),
428
- p(B, { name: "fade" }, {
429
- default: h(() => [
430
- K(c("div", {
431
- class: "footer-popup content-bg",
432
- style: L({ left: e.popupLeft + "px" }),
433
- onMouseenter: r[2] || (r[2] = (I) => d(!0)),
434
- onMouseleave: r[3] || (r[3] = (I) => d(!1))
435
- }, [
436
- p(Ne, {
437
- actions: e.actions,
438
- onActionClick: b,
439
- userInfo: e.userInfo
440
- }, null, 8, ["actions", "userInfo"])
441
- ], 36), [
442
- [W, l.value]
443
- ])
444
- ]),
445
- _: 1
446
- })
447
- ], 64));
448
- }
449
- }), Ee = /* @__PURE__ */ k(Ae, [["__scopeId", "data-v-3eb978be"]]), Le = { class: "sidebar pd-l-12 pd-r-12 flex flex-col overflow-hidden" }, Oe = /* @__PURE__ */ Object.assign({
450
- name: "CustomSidebar"
451
- }, {
452
- __name: "layout",
453
- props: {
454
- // ========== 菜单数据 ==========
455
- // 菜单树数据(已处理好的树形结构)
456
- menuData: {
457
- type: Array,
458
- default: () => []
459
- },
460
- // 当前选中的菜单ID
461
- currentMenuId: {
462
- type: String,
463
- default: null
464
- },
465
- // 展开的节点ID数组
466
- expandedKeys: {
467
- type: Array,
468
- default: () => []
469
- },
470
- // ========== 头部配置 ==========
471
- // 标题文本
472
- title: {
473
- type: String,
474
- default: ""
475
- },
476
- // Logo 图标组件
477
- logo: {
478
- type: [Object, String],
479
- default: null
480
- },
481
- // Logo 尺寸
482
- logoSize: {
483
- type: Number,
484
- default: 30
485
- },
486
- // 是否显示折叠按钮
487
- showToggle: {
488
- type: Boolean,
489
- default: !0
490
- },
491
- // 折叠按钮图标
492
- toggleIcon: {
493
- type: [Object, String],
494
- default: null
495
- },
496
- // ========== 菜单配置 ==========
497
- // 树形组件配置
498
- treeProps: {
499
- type: Object,
500
- default: () => j
501
- },
502
- // 菜单项高度
503
- itemHeight: {
504
- type: Number,
505
- default: 36
506
- },
507
- // 缩进距离
508
- indent: {
509
- type: Number,
510
- default: 24
511
- },
512
- // 图标大小
513
- iconSize: {
514
- type: Number,
515
- default: 16
516
- },
517
- // 标题样式
518
- titleStyle: {
519
- type: Object,
520
- default: () => ({ fontSize: "16px" })
521
- },
522
- // 展开图标组件
523
- expandedIcon: {
524
- type: [Object, String],
525
- default: null
526
- },
527
- // 收起图标组件
528
- collapsedIcon: {
529
- type: [Object, String],
530
- default: null
531
- },
532
- // 图标渲染器组件
533
- iconRenderer: {
534
- type: [Object, String],
535
- default: null
536
- },
537
- // 图标库配置
538
- iconLibrary: {
539
- type: [String, Object],
540
- default: null
541
- },
542
- // ========== 底部配置 ==========
543
- // 是否显示底部
544
- showFooter: {
545
- type: Boolean,
546
- default: !0
547
- },
548
- // 用户信息
549
- userInfo: {
550
- type: Object,
551
- default: null
552
- },
553
- // 用户操作列表
554
- userActions: {
555
- type: Array,
556
- default: () => []
557
- },
558
- // 弹窗显示延迟
559
- popupDelay: {
560
- type: Number,
561
- default: 200
562
- },
563
- // 弹窗左侧位置(像素)
564
- popupLeft: {
565
- type: Number,
566
- default: 240
567
- },
568
- navFooterWidth: {
569
- type: Number,
570
- default: 240
571
- }
572
- },
573
- emits: [
574
- "toggle",
575
- "node-click",
576
- "node-expand",
577
- "node-collapse",
578
- "user-action-click"
579
- ],
580
- setup(e, { emit: n }) {
581
- const t = n, o = () => {
582
- t("toggle");
583
- }, l = (i, r) => {
584
- t("node-click", i, r);
585
- }, v = (i, r) => {
586
- t("node-expand", i, r);
587
- }, d = (i, r) => {
588
- t("node-collapse", i, r);
589
- }, b = (i, r) => {
590
- t("user-action-click", i, r);
591
- };
592
- return (i, r) => (a(), y(A, null, [
593
- c("div", Le, [
594
- p(X, {
595
- "title-style": e.titleStyle,
596
- title: e.title,
597
- logo: e.logo,
598
- "logo-size": e.logoSize,
599
- "show-toggle": e.showToggle,
600
- "toggle-icon": e.toggleIcon,
601
- onToggle: o
602
- }, null, 8, ["title-style", "title", "logo", "logo-size", "show-toggle", "toggle-icon"]),
603
- p(ue, {
604
- "menu-data": e.menuData,
605
- "current-menu-id": e.currentMenuId,
606
- "expanded-keys": e.expandedKeys,
607
- "tree-props": e.treeProps,
608
- "item-height": e.itemHeight,
609
- indent: e.indent,
610
- "icon-size": e.iconSize,
611
- "expanded-icon": e.expandedIcon,
612
- "collapsed-icon": e.collapsedIcon,
613
- "icon-renderer": e.iconRenderer,
614
- "icon-library": e.iconLibrary,
615
- onNodeClick: l,
616
- onNodeExpand: v,
617
- onNodeCollapse: d
618
- }, null, 8, ["menu-data", "current-menu-id", "expanded-keys", "tree-props", "item-height", "indent", "icon-size", "expanded-icon", "collapsed-icon", "icon-renderer", "icon-library"])
619
- ]),
620
- e.showFooter ? (a(), m(Ee, {
621
- key: 0,
622
- "popup-left": e.popupLeft,
623
- "user-info": e.userInfo,
624
- actions: e.userActions,
625
- "popup-delay": e.popupDelay,
626
- "nav-footer-width": e.navFooterWidth,
627
- onActionClick: b
628
- }, null, 8, ["popup-left", "user-info", "actions", "popup-delay", "nav-footer-width"])) : x("", !0)
629
- ], 64));
630
- }
631
- }), Ue = /* @__PURE__ */ k(Oe, [["__scopeId", "data-v-f272ad1e"]]);
632
- export {
633
- T as M,
634
- C as N,
635
- De as S,
636
- j as T,
637
- Z as a,
638
- ne as b,
639
- z as c,
640
- Re as d,
641
- Fe as e,
642
- le as f,
643
- oe as g,
644
- w as h,
645
- ee as i,
646
- $e as j,
647
- ie as k,
648
- Ue as l,
649
- se as m,
650
- Pe as n,
651
- re as p,
652
- te as t
653
- };
@@ -1 +0,0 @@
1
- .viewer-zoom-in:before,.viewer-zoom-out:before,.viewer-one-to-one:before,.viewer-reset:before,.viewer-prev:before,.viewer-play:before,.viewer-next:before,.viewer-rotate-left:before,.viewer-rotate-right:before,.viewer-flip-horizontal:before,.viewer-flip-vertical:before,.viewer-fullscreen:before,.viewer-fullscreen-exit:before,.viewer-close:before{background-image:url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 560 40%22%3E%3Cpath fill%3D%22%23fff%22 d%3D%22M49.6 17.9h20.2v3.9H49.6zm123.1 2 10.9-11 2.7 2.8-8.2 8.2 8.2 8.2-2.7 2.7-10.9-10.9zm94 0-10.8-11-2.7 2.8 8.1 8.2-8.1 8.2 2.7 2.7 10.8-10.9zM212 9.3l20.1 10.6L212 30.5V9.3zm161.5 4.6-7.2 6 7.2 5.9v-4h12.4v4l7.3-5.9-7.3-6v4h-12.4v-4zm40.2 12.3 5.9 7.2 5.9-7.2h-4V13.6h4l-5.9-7.3-5.9 7.3h4v12.6h-4zm35.9-16.5h6.3v2h-4.3V16h-2V9.7Zm14 0h6.2V16h-2v-4.3h-4.2v-2Zm6.2 14V30h-6.2v-2h4.2v-4.3h2Zm-14 6.3h-6.2v-6.3h2v4.4h4.3v2Zm-438 .1v-8.3H9.6v-3.9h8.2V9.7h3.9v8.2h8.1v3.9h-8.1v8.3h-3.9zM93.6 9.7h-5.8v3.9h2V30h3.8V9.7zm16.1 0h-5.8v3.9h1.9V30h3.9V9.7zm-11.9 4.1h3.9v3.9h-3.9zm0 8.2h3.9v3.9h-3.9zm244.6-11.7 7.2 5.9-7.2 6v-3.6c-5.4-.4-7.8.8-8.7 2.8-.8 1.7-1.8 4.9 2.8 8.2-6.3-2-7.5-6.9-6-11.3 1.6-4.4 8-5 11.9-4.9v-3.1Zm147.2 13.4h6.3V30h-2v-4.3h-4.3v-2zm14 6.3v-6.3h6.2v2h-4.3V30h-1.9zm6.2-14h-6.2V9.7h1.9V14h4.3v2zm-13.9 0h-6.3v-2h4.3V9.7h2V16zm33.3 12.5 8.6-8.6-8.6-8.7 1.9-1.9 8.6 8.7 8.6-8.7 1.9 1.9-8.6 8.7 8.6 8.6-1.9 2-8.6-8.7-8.6 8.7-1.9-2zM297 10.3l-7.1 5.9 7.2 6v-3.6c5.3-.4 7.7.8 8.7 2.8.8 1.7 1.7 4.9-2.9 8.2 6.3-2 7.5-6.9 6-11.3-1.6-4.4-7.9-5-11.8-4.9v-3.1Zm-157.3-.6c2.3 0 4.4.7 6 2l2.5-3 1.9 9.2h-9.3l2.6-3.1a6.2 6.2 0 0 0-9.9 5.1c0 3.4 2.8 6.3 6.2 6.3 2.8 0 5.1-1.9 6-4.4h4c-1 4.7-5 8.3-10 8.3a10 10 0 0 1-10-10.2 10 10 0 0 1 10-10.2Z%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:280px;color:transparent;display:block;font-size:0;height:20px;line-height:0;width:20px}.viewer-zoom-in:before{background-position:0 0;content:"Zoom In"}.viewer-zoom-out:before{background-position:-20px 0;content:"Zoom Out"}.viewer-one-to-one:before{background-position:-40px 0;content:"One to One"}.viewer-reset:before{background-position:-60px 0;content:"Reset"}.viewer-prev:before{background-position:-80px 0;content:"Previous"}.viewer-play:before{background-position:-100px 0;content:"Play"}.viewer-next:before{background-position:-120px 0;content:"Next"}.viewer-rotate-left:before{background-position:-140px 0;content:"Rotate Left"}.viewer-rotate-right:before{background-position:-160px 0;content:"Rotate Right"}.viewer-flip-horizontal:before{background-position:-180px 0;content:"Flip Horizontal"}.viewer-flip-vertical:before{background-position:-200px 0;content:"Flip Vertical"}.viewer-fullscreen:before{background-position:-220px 0;content:"Enter Full Screen"}.viewer-fullscreen-exit:before{background-position:-240px 0;content:"Exit Full Screen"}.viewer-close:before{background-position:-260px 0;content:"Close"}.viewer-container{direction:ltr;font-size:0;inset:0;line-height:0;overflow:hidden;position:absolute;-webkit-tap-highlight-color:transparent;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.viewer-container::-moz-selection,.viewer-container *::-moz-selection{background-color:transparent}.viewer-container::selection,.viewer-container *::selection{background-color:transparent}.viewer-container:focus{outline:0}.viewer-container img{display:block;height:auto;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.viewer-canvas{inset:0;overflow:hidden;position:absolute}.viewer-canvas>img{height:auto;margin:15px auto;max-width:90%!important;width:auto}.viewer-footer{bottom:0;left:0;overflow:hidden;position:absolute;right:0;text-align:center}.viewer-navbar{background-color:#00000080;overflow:hidden}.viewer-list{box-sizing:content-box;height:50px;margin:0;overflow:hidden;padding:1px 0}.viewer-list>li{color:transparent;cursor:pointer;float:left;font-size:0;height:50px;line-height:0;opacity:.5;overflow:hidden;transition:opacity .15s;width:30px}.viewer-list>li:focus,.viewer-list>li:hover{opacity:.75}.viewer-list>li:focus{outline:0}.viewer-list>li+li{margin-left:1px}.viewer-list>.viewer-loading{position:relative}.viewer-list>.viewer-loading:after{border-width:2px;height:20px;margin-left:-10px;margin-top:-10px;width:20px}.viewer-list>.viewer-active,.viewer-list>.viewer-active:focus,.viewer-list>.viewer-active:hover{opacity:1}.viewer-player{background-color:#000;cursor:none;display:none;inset:0;position:absolute;z-index:1}.viewer-player>img{left:0;position:absolute;top:0}.viewer-toolbar>ul{display:inline-block;margin:0 auto 5px;overflow:hidden;padding:6px 3px}.viewer-toolbar>ul>li{background-color:#00000080;border-radius:50%;cursor:pointer;float:left;height:24px;overflow:hidden;transition:background-color .15s;width:24px}.viewer-toolbar>ul>li:focus,.viewer-toolbar>ul>li:hover{background-color:#000c}.viewer-toolbar>ul>li:focus{box-shadow:0 0 3px #fff;outline:0;position:relative;z-index:1}.viewer-toolbar>ul>li:before{margin:2px}.viewer-toolbar>ul>li+li{margin-left:1px}.viewer-toolbar>ul>.viewer-small{height:18px;margin-bottom:3px;margin-top:3px;width:18px}.viewer-toolbar>ul>.viewer-small:before{margin:-1px}.viewer-toolbar>ul>.viewer-large{height:30px;margin-bottom:-3px;margin-top:-3px;width:30px}.viewer-toolbar>ul>.viewer-large:before{margin:5px}.viewer-tooltip{background-color:#000c;border-radius:10px;color:#fff;display:none;font-size:12px;height:20px;left:50%;line-height:20px;margin-left:-25px;margin-top:-10px;position:absolute;text-align:center;top:50%;width:50px}.viewer-title{color:#ccc;display:inline-block;font-size:12px;line-height:1.2;margin:5px 5%;max-width:90%;min-height:14px;opacity:.8;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s;white-space:nowrap}.viewer-title:hover{opacity:1}.viewer-button{-webkit-app-region:no-drag;background-color:#00000080;border-radius:50%;cursor:pointer;height:80px;overflow:hidden;position:absolute;right:-40px;top:-40px;transition:background-color .15s;width:80px}.viewer-button:focus,.viewer-button:hover{background-color:#000c}.viewer-button:focus{box-shadow:0 0 3px #fff;outline:0}.viewer-button:before{bottom:15px;left:15px;position:absolute}.viewer-fixed{position:fixed}.viewer-open{overflow:hidden}.viewer-show{display:block}.viewer-hide{display:none}.viewer-backdrop{background-color:#00000080}.viewer-invisible{visibility:hidden}.viewer-move{cursor:move;cursor:grab}.viewer-fade{opacity:0}.viewer-in{opacity:1}.viewer-transition{transition:all .3s}@keyframes viewer-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.viewer-loading:after{animation:viewer-spinner 1s linear infinite;border:4px solid rgba(255,255,255,.1);border-left-color:#ffffff80;border-radius:50%;content:"";display:inline-block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px;z-index:1}@media(max-width:767px){.viewer-hide-xs-down{display:none}}@media(max-width:991px){.viewer-hide-sm-down{display:none}}@media(max-width:1199px){.viewer-hide-md-down{display:none}}.upload-preview[data-v-58503153]{display:flex;flex-wrap:wrap}.upload-preview .preview-item[data-v-58503153]{position:relative;width:64px;height:64px;margin-right:10px;display:inline-block;cursor:pointer}.upload-preview .preview-item__img[data-v-58503153]{width:64px;height:64px;display:block;border:1px dashed #ccc;border-radius:5px;cursor:pointer}.upload-preview .preview-item__mask[data-v-58503153]{display:none;width:100%;height:100%;position:absolute;border-radius:5px;left:0;top:0;background:#000;opacity:.6;text-align:center;line-height:75px}.upload-preview .preview-item__mask--view[data-v-58503153]{font-size:18px;color:#fff;cursor:pointer;margin-right:10px}.upload-preview .preview-item__mask--delete[data-v-58503153]{font-size:18px;color:#fff;cursor:pointer}.upload-preview .preview-item:hover .preview-item__mask[data-v-58503153]{display:block}.panel-preview[data-v-58503153]{background-color:#fff;width:100%}.panel-preview__row[data-v-58503153]{margin:10px 0}.panel-preview__box[data-v-58503153]{display:flex;width:calc(100% - 70px);align-items:center;cursor:pointer}.panel-preview__item[data-v-58503153]{padding:15px;box-sizing:border-box;border-radius:4px;border:1px solid #f0f0f0;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.panel-preview__item>div[data-v-58503153]{display:flex}.panel-preview__name[data-v-58503153]{font-family:"Alibaba PuHuiTi 3-55";font-weight:400;font-size:14px;color:var(--el-color-primary);margin-left:5px}.panel-preview__img[data-v-58503153]{width:32px;height:32px;border-radius:4px}.ai-box-tabs[data-v-82d3878d]{display:inline-block;height:auto!important;padding:2px;height:32px;background:#f5f5f5;border-radius:4px}.ai-box-tabs ul[data-v-82d3878d]{display:flex}.ai-box-tabs ul li[data-v-82d3878d]{padding:4px 12px;cursor:pointer;border-radius:4px;transition:all .3s}.ai-box-tabs ul li[data-v-82d3878d]:hover{background:#ffffff80}.ai-box-tabs ul li.current[data-v-82d3878d]{background:#fff!important;box-shadow:0 9px 28px 8px #0000000d,0 6px 16px #00000014,0 3px 6px -4px #0000001f}.delete-title[data-v-14a370b7]{color:var(--color-text-base);display:flex;align-items:center}.delete-title .warning-icon[data-v-14a370b7]{color:var(--el-color-warning);margin-right:12px;font-size:18px}.delete-tabs[data-v-14a370b7]{margin-top:8px;padding:14px;background:#fafafa;border-radius:8px}.delete-tabs[data-v-14a370b7] .ai-box-tabs{display:inline-block;height:auto!important;padding:2px;height:32px;box-shadow:0 9px 28px 8px #0000000d,0 6px 16px #00000014,0 3px 6px -4px #0000001f;background:#f5f5f5;border-radius:4px}.delete-tabs[data-v-14a370b7] .ai-box-tabs ul li{margin-right:0}.delete-tabs[data-v-14a370b7] .ai-box-tabs ul li.current{background:#fff!important;box-shadow:0 9px 28px 8px #0000000d,0 6px 16px #00000014,0 3px 6px -4px #0000001f}.delete-tabs .resource-list[data-v-14a370b7]{margin-top:12px}.delete-tabs .resource-list .resource-item[data-v-14a370b7]:hover{background-color:#f5f5f5}.delete-tabs .resource-list .resource-item[data-v-14a370b7]{display:flex;align-items:center;cursor:pointer;padding:12px;border-radius:8px;height:56px;margin-bottom:4px}.delete-tabs .resource-list .resource-item .flow-name__icon[data-v-14a370b7],.delete-tabs .resource-list .resource-item .flow-name__icon-placeholder[data-v-14a370b7]{width:32px;height:32px;margin-right:8px;background-color:#f0f0f0;border-radius:4px}.delete-tabs .resource-list .resource-item .item-title[data-v-14a370b7]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400;font-size:14px;color:#262626;line-height:20px}.cursor-pointer[data-v-c03894a1]{cursor:pointer}.vertical-form[data-v-c03894a1]{max-height:60vh;width:100%;overflow-y:auto;padding-right:24px}.vertical-form[data-v-c03894a1]::-webkit-scrollbar{width:6px;height:6px}.vertical-form[data-v-c03894a1]::-webkit-scrollbar-thumb{border-radius:3px;background:#0003}.vertical-form[data-v-c03894a1]::-webkit-scrollbar-track{border-radius:3px;background:#0000001a}.vertical-form[data-v-c03894a1] .el-form-item{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:20px}.vertical-form[data-v-c03894a1] .el-form-item:last-child{margin-bottom:0}.vertical-form[data-v-c03894a1] .el-form-item .el-form-item__label{text-align:left;padding:0;margin-bottom:4px}.vertical-form[data-v-c03894a1] .el-form-item .el-form-item__label-wrap{margin-left:0!important}.vertical-form[data-v-c03894a1] .el-form-item .el-form-item__content{width:100%;margin-left:0!important}.dialog-footer[data-v-c03894a1]{padding-right:24px}[data-v-c03894a1] .el-textarea__inner::-webkit-scrollbar{width:6px}[data-v-c03894a1] .el-textarea__inner::-webkit-scrollbar-thumb{border-radius:3px}.custom-model-dialog{padding-right:0!important}