@opentiny/tiny-engine-plugin-bridge 2.3.0-rc.0 → 2.4.0-rc.0

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.
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import "./style.css";
2
- import { reactive as z, ref as N, watchEffect as Z, resolveComponent as i, createElementBlock as L, openBlock as f, createElementVNode as v, createVNode as s, withCtx as l, Fragment as te, renderList as ne, withModifiers as K, normalizeClass as oe, toDisplayString as U, computed as C, watch as ae, onMounted as se, createBlock as E, createCommentVNode as T, createTextVNode as w, nextTick as re } from "vue";
3
- import { SvgButton as j, SearchEmpty as le, ButtonGroup as ce, VueMonaco as ie, PluginSetting as de, PluginPanel as pe } from "@opentiny/tiny-engine-common";
4
- import { getMetaApi as b, META_SERVICE as S, useResource as B, useNotify as k, useModal as ue, getMergeMeta as me } from "@opentiny/tiny-engine-meta-register";
5
- import { isVsCodeEnv as ge } from "@opentiny/tiny-engine-common/js/environments";
6
- import { generateBridge as ye, generateUtil as _e } from "@opentiny/tiny-engine-common/js/vscodeGenerateFile";
7
- import { Search as fe, Radio as ve, RadioGroup as he, Checkbox as Ee, FormItem as Re, Button as Ce, Input as Ve, Form as be } from "@opentiny/vue";
8
- import { iconSearch as Se } from "@opentiny/vue-icon";
9
- const xe = (n, t) => b(S.Http).get(`/app-center/api/apps/extension/list?app=${n}&category=${t}`), Te = (n) => b(S.Http).post("/app-center/api/apps/extension/create", n), ke = (n) => b(S.Http).post("/app-center/api/apps/extension/update", n), Ne = (n) => b(S.Http).get(`/app-center/api/apps/extension/delete?${n}`), Ue = (n) => {
10
- b(S.Http).get(`/app-center/api/apps/schema/${n}`).then((t) => {
11
- ye(t.bridge), _e(t.utils);
2
+ import { reactive as G, ref as N, watchEffect as ee, resolveComponent as d, createElementBlock as I, openBlock as E, createElementVNode as h, createVNode as a, withCtx as l, Fragment as oe, renderList as ae, withModifiers as X, normalizeClass as se, toDisplayString as U, computed as F, watch as re, onMounted as le, nextTick as ie, createBlock as R, createCommentVNode as S, createTextVNode as D, provide as ce } from "vue";
3
+ import { SvgButton as j, SearchEmpty as ue, ButtonGroup as de, VueMonaco as pe, PluginSetting as me, PluginPanel as ge } from "@opentiny/tiny-engine-common";
4
+ import { getMetaApi as V, META_SERVICE as B, useResource as k, useNotify as x, useModal as ye, useLayout as te, getMergeMeta as fe } from "@opentiny/tiny-engine-meta-register";
5
+ import { isVsCodeEnv as _e } from "@opentiny/tiny-engine-common/js/environments";
6
+ import { generateBridge as ve, generateUtil as Ee } from "@opentiny/tiny-engine-common/js/vscodeGenerateFile";
7
+ import { Search as he, Radio as Ce, RadioGroup as Fe, Checkbox as Re, FormItem as be, Button as Ve, Input as Be, Form as Se } from "@opentiny/vue";
8
+ import { iconSearch as xe } from "@opentiny/vue-icon";
9
+ const Ne = (n, t) => V(B.Http).get(`/app-center/api/apps/extension/list?app=${n}&category=${t}`), Te = (n) => V(B.Http).post("/app-center/api/apps/extension/create", n), Ue = (n) => V(B.Http).post("/app-center/api/apps/extension/update", n), ke = (n) => V(B.Http).get(`/app-center/api/apps/extension/delete?${n}`), Ae = (n) => {
10
+ V(B.Http).get(`/app-center/api/apps/schema/${n}`).then((t) => {
11
+ ve(t.bridge), Ee(t.utils);
12
12
  });
13
- }, u = z({
13
+ }, m = G({
14
14
  actionType: "",
15
15
  type: "",
16
16
  category: "",
@@ -19,7 +19,7 @@ const xe = (n, t) => b(S.Http).get(`/app-center/api/apps/extension/list?app=${n}
19
19
  resourceNames: {},
20
20
  refresh: !1,
21
21
  id: ""
22
- }), Q = {
22
+ }), Z = {
23
23
  name: "",
24
24
  type: "npm",
25
25
  content: {
@@ -30,254 +30,256 @@ const xe = (n, t) => b(S.Http).get(`/app-center/api/apps/extension/list?app=${n}
30
30
  destructuring: !0,
31
31
  main: ""
32
32
  }
33
- }, Be = {
33
+ }, De = {
34
34
  name: "",
35
35
  type: "function",
36
36
  content: {
37
37
  type: "JSFunction",
38
38
  value: ""
39
39
  }
40
- }, V = {
40
+ }, b = {
41
41
  Util: "utils",
42
42
  Bridge: "bridge"
43
- }, A = {
43
+ }, w = {
44
44
  Npm: "npm",
45
45
  Function: "function"
46
46
  }, Ie = {
47
- [V.Util]: "新建工具类",
48
- [V.Bridge]: "新建桥接源"
49
- }, I = {
47
+ [b.Util]: "新建工具类",
48
+ [b.Bridge]: "新建桥接源"
49
+ }, A = {
50
50
  Edit: "edit"
51
- }, D = () => b(S.GlobalService).getBaseInfo().id, Oe = (n) => u.resourceNames[n], we = (n, t) => {
52
- u.resourceNames[n] = t;
53
- }, Le = (n) => {
54
- const t = D();
55
- return xe(t, n);
56
- }, Y = () => u.actionType, G = (n) => {
57
- u.actionType = n;
58
- }, Ae = () => u.resource, M = (n = Q) => {
59
- n || (n = u.category === A.Function ? Be : Q), u.resource = n;
60
- }, F = () => u.type, X = (n) => {
61
- u.type = n;
62
- }, H = (n) => {
63
- u.category = n;
64
- }, q = () => u.category, $ = (...n) => {
65
- ge && Ue(...n);
66
- }, Fe = async (n, t, m) => {
67
- const e = Y() === I.Edit;
51
+ }, P = () => V(B.GlobalService).getBaseInfo().id, we = (n) => m.resourceNames[n], Le = (n, t) => {
52
+ m.resourceNames[n] = t;
53
+ }, Oe = (n) => {
54
+ const t = P();
55
+ return Ne(t, n);
56
+ }, H = () => m.actionType, M = (n) => {
57
+ m.actionType = n;
58
+ }, Pe = () => m.resource, q = (n = Z) => {
59
+ n || (n = m.category === w.Function ? De : Z), m.resource = n;
60
+ }, L = () => m.type, $ = (n) => {
61
+ m.type = n;
62
+ }, z = (n) => {
63
+ m.category = n;
64
+ }, Y = () => m.category, ne = (...n) => {
65
+ _e && Ae(...n);
66
+ }, Ge = async (n, t, p) => {
67
+ const e = H() === A.Edit;
68
68
  try {
69
69
  if (e) {
70
- n.id = u.resource.id;
71
- const o = await ke(n);
72
- if (o) {
73
- const y = B().appSchemaState[n.category].findIndex((c) => c.name === o.name);
74
- if (y === -1) {
75
- k({
70
+ n.id = m.resource.id;
71
+ const i = await Ue(n);
72
+ if (i) {
73
+ const g = k().appSchemaState[n.category].findIndex((y) => y.name === i.name);
74
+ if (g === -1) {
75
+ x({
76
76
  type: "error",
77
77
  message: "修改失败"
78
78
  });
79
79
  return;
80
80
  }
81
- B().appSchemaState[n.category][y] = o;
81
+ k().appSchemaState[n.category][g] = i;
82
82
  }
83
83
  } else {
84
- const o = await Te(n);
85
- o && B().appSchemaState[n.category].push(o);
84
+ const i = await Te(n);
85
+ i && k().appSchemaState[n.category].push(i);
86
86
  }
87
- $(D()), k({
87
+ ne(P()), x({
88
88
  type: "success",
89
89
  message: `${e ? "修改" : "创建"}成功`
90
- }), m("refresh", u.type), u.refresh = !0, t();
91
- } catch (o) {
92
- k({
90
+ }), p("refresh", m.type), m.refresh = !0, t();
91
+ } catch (i) {
92
+ x({
93
93
  type: "error",
94
- message: `工具类${e ? "修改" : "创建"}失败:${o.message}`
94
+ message: `工具类${e ? "修改" : "创建"}失败:${i.message}`
95
95
  });
96
96
  }
97
- }, Pe = (n, t, m) => {
98
- var o;
99
- const e = `app=${D()}&id=${(o = u.resource) == null ? void 0 : o.id}`;
100
- Ne(e).then((y) => {
101
- if (y) {
102
- const c = B().appSchemaState[u.type].findIndex((_) => _.name === y.name);
103
- if (c === -1) {
104
- k({
97
+ }, Me = (n, t, p) => {
98
+ var i;
99
+ const e = `app=${P()}&id=${(i = m.resource) == null ? void 0 : i.id}`;
100
+ ke(e).then((g) => {
101
+ if (g) {
102
+ const y = k().appSchemaState[m.type].findIndex((o) => o.name === g.name);
103
+ if (y === -1) {
104
+ x({
105
105
  type: "error",
106
106
  message: "删除失败"
107
107
  });
108
108
  return;
109
109
  }
110
- B().appSchemaState[u.type].splice(c, 1), $(D()), k({
110
+ k().appSchemaState[m.type].splice(y, 1), ne(P()), x({
111
111
  type: "success",
112
112
  message: "删除成功"
113
- }), m("refresh", u.type), u.refresh = !0, t();
113
+ }), p("refresh", m.type), m.refresh = !0, t();
114
114
  }
115
115
  });
116
- }, J = (n, t) => {
117
- const m = n.__vccOpts || n;
118
- for (const [e, o] of t)
119
- m[e] = o;
120
- return m;
121
- }, De = {
116
+ }, qe = {
122
117
  components: {
123
- TinySearch: fe,
124
- TinyIconSearch: Se(),
125
- SearchEmpty: le,
118
+ TinySearch: he,
119
+ TinyIconSearch: xe(),
120
+ SearchEmpty: ue,
126
121
  SvgButton: j
127
122
  },
128
123
  props: {
129
124
  name: {
130
125
  type: String,
131
- default: V.Util
126
+ default: b.Util
132
127
  }
133
128
  },
134
129
  emits: ["open"],
135
130
  setup(n, { emit: t }) {
136
- const m = N([]), e = z({
131
+ const p = N([]), e = G({
137
132
  resourceList: [],
138
133
  activeIndex: -1,
139
134
  searchValue: ""
140
- }), o = (d = e.resourceList, r = e.searchValue) => d.filter((a) => a.name.toLowerCase().indexOf(r.toLowerCase()) > -1), y = async (d) => {
141
- e.resourceList = await Le(d), we(
142
- d,
143
- Array.isArray(e.resourceList) ? e.resourceList.map((r) => r.name) : []
144
- ), m.value = o(e.resourceList);
135
+ }), i = (r = e.resourceList, s = e.searchValue) => r.filter((f) => f.name.toLowerCase().indexOf(s.toLowerCase()) > -1), g = async (r) => {
136
+ e.resourceList = await Oe(r), Le(
137
+ r,
138
+ Array.isArray(e.resourceList) ? e.resourceList.map((s) => s.name) : []
139
+ ), p.value = i(e.resourceList);
145
140
  };
146
- return Z(async () => {
147
- y(n.name);
141
+ return ee(async () => {
142
+ g(n.name);
148
143
  }), {
149
144
  state: e,
150
- list: m,
151
- add: (d) => {
152
- G(""), X(n.name), M(""), H(d), t("open");
145
+ list: p,
146
+ add: (r) => {
147
+ M(""), $(n.name), q(""), z(r), t("open");
153
148
  },
154
- openRead: (d, r) => {
155
- e.activeIndex = r, M(d), G(I.Edit), t("open");
149
+ openRead: (r, s) => {
150
+ e.activeIndex = s, q(r), M(A.Edit), t("open");
156
151
  },
157
- openEdit: (d, r) => {
158
- e.activeIndex = r, M(d), G(I.Edit), X(n.name), H(d.type), t("open");
152
+ openEdit: (r, s) => {
153
+ e.activeIndex = s, q(r), M(A.Edit), $(n.name), z(r.type), t("open");
159
154
  },
160
- refresh: y,
161
- getType: F,
162
- RESOURCE_TYPE: V,
163
- searchBridgeData: (d) => {
164
- m.value = o(e.resourceList, d);
155
+ refresh: g,
156
+ getType: L,
157
+ RESOURCE_TYPE: b,
158
+ searchBridgeData: (r) => {
159
+ p.value = i(e.resourceList, r);
165
160
  }
166
161
  };
167
162
  }
168
- }, Ge = { class: "manage-panel" }, Me = { class: "manage-panel-search" }, qe = { class: "list" }, Ye = ["onClick"], He = { class: "item-label" };
169
- function ze(n, t, m, e, o, y) {
170
- const c = i("tiny-icon-search"), _ = i("tiny-search"), R = i("svg-icon"), h = i("svg-button"), d = i("search-empty");
171
- return f(), L("div", Ge, [
172
- v("div", Me, [
173
- s(_, {
163
+ }, J = (n, t) => {
164
+ const p = n.__vccOpts || n;
165
+ for (const [e, i] of t)
166
+ p[e] = i;
167
+ return p;
168
+ }, Ye = { class: "manage-panel" }, He = { class: "manage-panel-search" }, ze = { class: "list lowcode-scrollbar" }, je = ["onClick"], Je = { class: "item-label" };
169
+ function We(n, t, p, e, i, g) {
170
+ const y = d("tiny-icon-search"), o = d("tiny-search"), C = d("svg-icon"), v = d("svg-button"), r = d("search-empty");
171
+ return E(), I("div", Ye, [
172
+ h("div", He, [
173
+ a(o, {
174
174
  modelValue: e.state.searchValue,
175
175
  "onUpdate:modelValue": [
176
- t[0] || (t[0] = (r) => e.state.searchValue = r),
176
+ t[0] || (t[0] = (s) => e.state.searchValue = s),
177
177
  e.searchBridgeData
178
178
  ],
179
179
  clearable: "",
180
180
  placeholder: "搜索"
181
181
  }, {
182
182
  prefix: l(() => [
183
- s(c)
183
+ a(y)
184
184
  ]),
185
185
  _: 1
186
186
  }, 8, ["modelValue", "onUpdate:modelValue"])
187
187
  ]),
188
- v("div", qe, [
189
- (f(!0), L(te, null, ne(e.list, (r, a) => (f(), L("div", {
190
- key: r.name,
191
- class: oe(["list-item", a === e.state.activeIndex ? "active" : ""]),
192
- onClick: K((g) => e.openEdit(r, a), ["stop"])
188
+ h("div", ze, [
189
+ (E(!0), I(oe, null, ae(e.list, (s, f) => (E(), I("div", {
190
+ key: s.name,
191
+ class: se(["list-item", f === e.state.activeIndex ? "active" : ""]),
192
+ onClick: X((T) => e.openEdit(s, f), ["stop"])
193
193
  }, [
194
- s(R, {
194
+ a(C, {
195
195
  name: "plugin-icon-sresources",
196
196
  class: "list-item-icon"
197
197
  }),
198
- v("div", He, U(r.name), 1),
199
- s(h, {
198
+ h("div", Je, U(s.name), 1),
199
+ a(v, {
200
200
  class: "setting-icon",
201
201
  hoverBgColor: !1,
202
202
  name: "setting",
203
- onClick: K((g) => e.openEdit(r, a), ["stop"])
203
+ onClick: X((T) => e.openEdit(s, f), ["stop"])
204
204
  }, null, 8, ["onClick"])
205
- ], 10, Ye))), 128)),
206
- s(d, {
205
+ ], 10, je))), 128)),
206
+ a(r, {
207
207
  isShow: !e.list.length
208
208
  }, null, 8, ["isShow"])
209
209
  ])
210
210
  ]);
211
211
  }
212
- const je = /* @__PURE__ */ J(De, [["render", ze], ["__scopeId", "data-v-3a53f0e5"]]), W = N(!1), Je = () => {
213
- W.value = !0, re(() => window.dispatchEvent(new Event("resize")));
214
- }, P = () => {
212
+ const Ke = /* @__PURE__ */ J(qe, [["render", We], ["__scopeId", "data-v-accaf761"]]), W = N(!1), Qe = () => {
213
+ W.value = !0, ie(() => window.dispatchEvent(new Event("resize")));
214
+ }, O = () => {
215
215
  W.value = !1;
216
- }, We = {
216
+ }, Xe = {
217
217
  components: {
218
- TinyForm: be,
219
- TinyInput: Ve,
220
- TinyButton: Ce,
221
- TinyFormItem: Re,
222
- TinyCheckbox: Ee,
223
- PluginSetting: de,
224
- MonacoEditor: ie,
225
- TinyRadioGroup: he,
226
- TinyRadio: ve,
218
+ TinyForm: Se,
219
+ TinyInput: Be,
220
+ TinyButton: Ve,
221
+ TinyFormItem: be,
222
+ TinyCheckbox: Re,
223
+ PluginSetting: me,
224
+ MonacoEditor: pe,
225
+ TinyRadioGroup: Fe,
226
+ TinyRadio: Ce,
227
227
  SvgButton: j,
228
- ButtonGroup: ce
228
+ ButtonGroup: de
229
229
  },
230
230
  setup(n, { emit: t }) {
231
- const m = {
231
+ const p = {
232
232
  language: "javascript",
233
233
  mouseStyle: "default",
234
234
  minimap: { enabled: !1 },
235
235
  // 禁用滚动条边边一直显示的边框
236
236
  overviewRulerBorder: !1,
237
237
  renderLineHighlightOnlyWhenFocus: !0
238
- }, { confirm: e } = ue(), o = z({
239
- resource: C(() => Ae()),
238
+ }, { confirm: e } = ye(), { PLUGIN_NAME: i, getPluginByLayout: g } = te(), y = F(() => g(i.Bridge)), o = G({
239
+ resource: F(() => Pe()),
240
240
  name: "",
241
241
  value: "",
242
242
  content: {},
243
- status: C(() => Y() === I.Edit),
244
- category: C(() => q() === A.Npm),
245
- mode: C(() => {
246
- var a;
247
- return ((a = me("engine.config")) == null ? void 0 : a.dslMode) !== "Vue";
243
+ status: F(() => H() === A.Edit),
244
+ category: F(() => Y() === w.Npm),
245
+ mode: F(() => {
246
+ var u;
247
+ return ((u = fe("engine.config")) == null ? void 0 : u.dslMode) !== "Vue";
248
248
  }),
249
249
  isInstance: !1,
250
- title: C(() => {
251
- const a = Y() === I.Edit ? "编辑" : "添加", g = F() === V.Bridge ? "桥接源" : "工具类";
252
- return a + g;
250
+ title: F(() => {
251
+ const u = H() === A.Edit ? "编辑" : "添加", _ = L() === b.Bridge ? "桥接源" : "工具类";
252
+ return u + _;
253
253
  }),
254
- type: A.Npm
255
- }), y = C(() => {
256
- const a = o.name || "name";
257
- let g = a;
258
- o.content.destructuring && (o.name && o.name === o.content.exportName ? g = `{ ${o.content.exportName || "exportName"} }` : g = `{ ${o.content.exportName || "exportName"} as ${a} }`);
259
- const x = `${o.content.package || "package"}${o.content.main || ""}`;
260
- return `import ${g} from '${x}'
261
- export { ${a} }`;
254
+ type: w.Npm
255
+ }), C = F(() => {
256
+ const u = o.name || "name";
257
+ let _ = u;
258
+ o.content.destructuring && (o.name && o.name === o.content.exportName ? _ = `{ ${o.content.exportName || "exportName"} }` : _ = `{ ${o.content.exportName || "exportName"} as ${u} }`);
259
+ const c = `${o.content.package || "package"}${o.content.main || ""}`;
260
+ return `import ${_} from '${c}'
261
+ export { ${u} }`;
262
262
  });
263
- Z(() => {
264
- var a, g;
265
- o.name = o.resource.name, o.content = o.resource.content || {}, o.value = ((g = (a = o.resource) == null ? void 0 : a.content) == null ? void 0 : g.value) || "", o.type = q();
266
- }), ae(
263
+ ee(() => {
264
+ var u, _;
265
+ o.name = o.resource.name, o.content = o.resource.content || {}, o.value = ((_ = (u = o.resource) == null ? void 0 : u.content) == null ? void 0 : _.value) || "", o.type = Y();
266
+ }), re(
267
267
  () => o.isInstance,
268
- (a) => {
269
- a || (o.content.instance = "");
268
+ (u) => {
269
+ u || (o.content.instance = "");
270
270
  }
271
271
  );
272
- const c = N(null), _ = N(null);
273
- return se(() => window.dispatchEvent(new Event("resize"))), {
272
+ const v = N(null), r = N(null);
273
+ return le(() => window.dispatchEvent(new Event("resize"))), {
274
+ align: y,
275
+ PLUGIN_NAME: i,
274
276
  rules: {
275
277
  name: [
276
278
  { required: !0, message: "必填", trigger: "change" },
277
279
  {
278
- validator: (a, g, x) => {
279
- const O = Oe(F());
280
- Array.isArray(O) && O.includes(g) ? x(new Error("资源名称已存在")) : x();
280
+ validator: (u, _, c) => {
281
+ const Q = we(L());
282
+ Array.isArray(Q) && Q.includes(_) ? c(new Error("资源名称已存在")) : c();
281
283
  },
282
284
  trigger: "change"
283
285
  }
@@ -286,33 +288,33 @@ export { ${a} }`;
286
288
  "content.exportName": [{ required: !0, message: "必填", trigger: "change" }],
287
289
  "content.instanceName": { required: !0, message: "必填", trigger: "change" }
288
290
  },
289
- resourceForm: _,
290
- editor: c,
291
+ resourceForm: r,
292
+ editor: v,
291
293
  state: o,
292
- codePreview: y,
294
+ codePreview: C,
293
295
  isOpen: W,
294
- closePanel: P,
296
+ closePanel: O,
295
297
  save: () => {
296
- const a = {
297
- category: F(),
298
- type: q(),
298
+ const u = {
299
+ category: L(),
300
+ type: Y(),
299
301
  name: o.name,
300
- app: b(S.GlobalService).getBaseInfo().id,
302
+ app: V(B.GlobalService).getBaseInfo().id,
301
303
  content: o.category ? o.content : {
302
304
  type: "JSFunction",
303
- value: c.value.getEditor().getValue()
305
+ value: v.value.getEditor().getValue()
304
306
  }
305
307
  };
306
- _.value.validate((g) => {
307
- if (g) {
308
- if (!o.category && !c.value.getEditor().getValue()) {
309
- k({
308
+ r.value.validate((_) => {
309
+ if (_) {
310
+ if (!o.category && !v.value.getEditor().getValue()) {
311
+ x({
310
312
  type: "error",
311
313
  message: "function 内容必填"
312
314
  });
313
315
  return;
314
316
  }
315
- Fe(a, P, t);
317
+ Ge(u, O, t);
316
318
  }
317
319
  });
318
320
  },
@@ -321,46 +323,50 @@ export { ${a} }`;
321
323
  title: "删除资源",
322
324
  message: "如果删除正在使用的资源,将无法正常预览页面,确认要删除吗?",
323
325
  exec: () => {
324
- Pe(o.name, P, t);
326
+ Me(o.name, O, t);
325
327
  }
326
328
  });
327
329
  },
328
- options: m,
329
- handleChangeType: (a) => {
330
- H(a);
330
+ options: p,
331
+ handleChangeType: (u) => {
332
+ z(u);
331
333
  },
332
- RESOURCE_CATEGORY: A
334
+ RESOURCE_CATEGORY: w
333
335
  };
334
336
  }
335
- }, Ke = { class: "title-wrap" }, Qe = { class: "right-item" }, Xe = { key: 2 }, Ze = { class: "code-preview" };
336
- function $e(n, t, m, e, o, y) {
337
- const c = i("tiny-button"), _ = i("svg-button"), R = i("button-group"), h = i("tiny-radio"), d = i("tiny-radio-group"), r = i("tiny-form-item"), a = i("tiny-input"), g = i("tiny-checkbox"), x = i("monaco-editor"), O = i("tiny-form"), ee = i("plugin-setting");
338
- return e.isOpen ? (f(), E(ee, { key: 0 }, {
337
+ }, Ze = { class: "title-wrap" }, $e = { class: "right-item" }, et = { key: 2 }, tt = { class: "code-preview" };
338
+ function nt(n, t, p, e, i, g) {
339
+ const y = d("tiny-button"), o = d("svg-button"), C = d("button-group"), v = d("tiny-radio"), r = d("tiny-radio-group"), s = d("tiny-form-item"), f = d("tiny-input"), T = d("tiny-checkbox"), K = d("monaco-editor"), u = d("tiny-form"), _ = d("plugin-setting");
340
+ return e.isOpen ? (E(), R(_, {
341
+ key: 0,
342
+ align: e.align,
343
+ "fixed-name": e.PLUGIN_NAME.Bridge
344
+ }, {
339
345
  title: l(() => [
340
- v("div", Ke, [
341
- v("span", null, U(e.state.title), 1)
346
+ h("div", Ze, [
347
+ h("span", null, U(e.state.title), 1)
342
348
  ])
343
349
  ]),
344
350
  header: l(() => [
345
- s(R, null, {
351
+ a(C, null, {
346
352
  default: l(() => [
347
- s(c, {
353
+ a(y, {
348
354
  class: "save-btn",
349
355
  type: "primary",
350
356
  onClick: e.save
351
357
  }, {
352
358
  default: l(() => t[10] || (t[10] = [
353
- w("保存")
359
+ D("保存")
354
360
  ])),
355
361
  _: 1
356
362
  }, 8, ["onClick"]),
357
- e.state.status ? (f(), E(_, {
363
+ e.state.status ? (E(), R(o, {
358
364
  key: 0,
359
365
  class: "delete-btn",
360
366
  name: "delete",
361
367
  onClick: e.deleteReSource
362
- }, null, 8, ["onClick"])) : T("", !0),
363
- s(_, {
368
+ }, null, 8, ["onClick"])) : S("", !0),
369
+ a(o, {
364
370
  class: "close-btn",
365
371
  name: "close",
366
372
  onClick: e.closePanel
@@ -370,7 +376,7 @@ function $e(n, t, m, e, o, y) {
370
376
  })
371
377
  ]),
372
378
  content: l(() => [
373
- s(O, {
379
+ a(u, {
374
380
  ref: "resourceForm",
375
381
  class: "resource-form",
376
382
  rules: e.rules,
@@ -381,33 +387,33 @@ function $e(n, t, m, e, o, y) {
381
387
  "label-align": !0
382
388
  }, {
383
389
  default: l(() => [
384
- v("div", Qe, [
385
- e.state.status ? T("", !0) : (f(), E(r, {
390
+ h("div", $e, [
391
+ e.state.status ? S("", !0) : (E(), R(s, {
386
392
  key: 0,
387
393
  label: "工具类型",
388
394
  prop: "type"
389
395
  }, {
390
396
  default: l(() => [
391
- s(d, {
397
+ a(r, {
392
398
  modelValue: e.state.type,
393
- "onUpdate:modelValue": t[0] || (t[0] = (p) => e.state.type = p),
399
+ "onUpdate:modelValue": t[0] || (t[0] = (c) => e.state.type = c),
394
400
  class: "resource-type-radio-group",
395
401
  onChange: e.handleChangeType
396
402
  }, {
397
403
  default: l(() => [
398
- s(h, {
404
+ a(v, {
399
405
  label: e.RESOURCE_CATEGORY.Npm
400
406
  }, {
401
407
  default: l(() => [
402
- w(U(e.RESOURCE_CATEGORY.Npm), 1)
408
+ D(U(e.RESOURCE_CATEGORY.Npm), 1)
403
409
  ]),
404
410
  _: 1
405
411
  }, 8, ["label"]),
406
- s(h, {
412
+ a(v, {
407
413
  label: e.RESOURCE_CATEGORY.Function
408
414
  }, {
409
415
  default: l(() => [
410
- w(U(e.RESOURCE_CATEGORY.Function), 1)
416
+ D(U(e.RESOURCE_CATEGORY.Function), 1)
411
417
  ]),
412
418
  _: 1
413
419
  }, 8, ["label"])
@@ -417,131 +423,131 @@ function $e(n, t, m, e, o, y) {
417
423
  ]),
418
424
  _: 1
419
425
  })),
420
- e.state.status ? T("", !0) : (f(), E(r, {
426
+ e.state.status ? S("", !0) : (E(), R(s, {
421
427
  key: 1,
422
428
  label: "工具名称",
423
429
  prop: "name"
424
430
  }, {
425
431
  default: l(() => [
426
- s(a, {
432
+ a(f, {
427
433
  modelValue: e.state.name,
428
- "onUpdate:modelValue": t[1] || (t[1] = (p) => e.state.name = p),
434
+ "onUpdate:modelValue": t[1] || (t[1] = (c) => e.state.name = c),
429
435
  placeholder: "请输入工具类名称"
430
436
  }, null, 8, ["modelValue"])
431
437
  ]),
432
438
  _: 1
433
439
  })),
434
- e.state.category ? (f(), L("div", Xe, [
435
- s(r, {
440
+ e.state.category ? (E(), I("div", et, [
441
+ a(s, {
436
442
  label: "npm包名",
437
443
  prop: "content.package"
438
444
  }, {
439
445
  default: l(() => [
440
- s(a, {
446
+ a(f, {
441
447
  modelValue: e.state.content.package,
442
- "onUpdate:modelValue": t[2] || (t[2] = (p) => e.state.content.package = p),
448
+ "onUpdate:modelValue": t[2] || (t[2] = (c) => e.state.content.package = c),
443
449
  placeholder: "请输入npm包名称"
444
450
  }, null, 8, ["modelValue"])
445
451
  ]),
446
452
  _: 1
447
453
  }),
448
- s(r, {
454
+ a(s, {
449
455
  label: "npm包导出名",
450
456
  prop: "content.exportName"
451
457
  }, {
452
458
  default: l(() => [
453
- s(a, {
459
+ a(f, {
454
460
  modelValue: e.state.content.exportName,
455
- "onUpdate:modelValue": t[3] || (t[3] = (p) => e.state.content.exportName = p),
461
+ "onUpdate:modelValue": t[3] || (t[3] = (c) => e.state.content.exportName = c),
456
462
  placeholder: "请输入npm包的导出名称"
457
463
  }, null, 8, ["modelValue"])
458
464
  ]),
459
465
  _: 1
460
466
  }),
461
- s(r, { label: "" }, {
467
+ a(s, { label: "" }, {
462
468
  default: l(() => [
463
- s(g, {
469
+ a(T, {
464
470
  modelValue: e.state.content.destructuring,
465
- "onUpdate:modelValue": t[4] || (t[4] = (p) => e.state.content.destructuring = p)
471
+ "onUpdate:modelValue": t[4] || (t[4] = (c) => e.state.content.destructuring = c)
466
472
  }, {
467
473
  default: l(() => t[11] || (t[11] = [
468
- w("解构npm包")
474
+ D("解构npm包")
469
475
  ])),
470
476
  _: 1
471
477
  }, 8, ["modelValue"])
472
478
  ]),
473
479
  _: 1
474
480
  }),
475
- e.state.mode ? (f(), E(r, {
481
+ e.state.mode ? (E(), R(s, {
476
482
  key: 0,
477
483
  label: "是否作为实例"
478
484
  }, {
479
485
  default: l(() => [
480
- s(g, {
486
+ a(T, {
481
487
  modelValue: e.state.isInstance,
482
- "onUpdate:modelValue": t[5] || (t[5] = (p) => e.state.isInstance = p)
488
+ "onUpdate:modelValue": t[5] || (t[5] = (c) => e.state.isInstance = c)
483
489
  }, null, 8, ["modelValue"])
484
490
  ]),
485
491
  _: 1
486
- })) : T("", !0),
487
- e.state.isInstance ? (f(), E(r, {
492
+ })) : S("", !0),
493
+ e.state.isInstance ? (E(), R(s, {
488
494
  key: 1,
489
495
  label: "实例名称",
490
496
  prop: "content.instanceName"
491
497
  }, {
492
498
  default: l(() => [
493
- s(a, {
499
+ a(f, {
494
500
  modelValue: e.state.content.instance,
495
- "onUpdate:modelValue": t[6] || (t[6] = (p) => e.state.content.instance = p)
501
+ "onUpdate:modelValue": t[6] || (t[6] = (c) => e.state.content.instance = c)
496
502
  }, null, 8, ["modelValue"])
497
503
  ]),
498
504
  _: 1
499
- })) : T("", !0),
500
- s(r, { label: "入口路径" }, {
505
+ })) : S("", !0),
506
+ a(s, { label: "入口路径" }, {
501
507
  default: l(() => [
502
- s(a, {
508
+ a(f, {
503
509
  modelValue: e.state.content.main,
504
- "onUpdate:modelValue": t[7] || (t[7] = (p) => e.state.content.main = p),
510
+ "onUpdate:modelValue": t[7] || (t[7] = (c) => e.state.content.main = c),
505
511
  placeholder: "main"
506
512
  }, null, 8, ["modelValue"])
507
513
  ]),
508
514
  _: 1
509
515
  }),
510
- s(r, { label: "版本号" }, {
516
+ a(s, { label: "版本号" }, {
511
517
  default: l(() => [
512
- s(a, {
518
+ a(f, {
513
519
  modelValue: e.state.content.version,
514
- "onUpdate:modelValue": t[8] || (t[8] = (p) => e.state.content.version = p),
520
+ "onUpdate:modelValue": t[8] || (t[8] = (c) => e.state.content.version = c),
515
521
  placeholder: "latest"
516
522
  }, null, 8, ["modelValue"])
517
523
  ]),
518
524
  _: 1
519
525
  }),
520
- s(r, null, {
526
+ a(s, null, {
521
527
  label: l(() => t[12] || (t[12] = [
522
- v("div", { class: "cdn-label-wrap" }, [
523
- v("span", null, "CDN")
528
+ h("div", { class: "cdn-label-wrap" }, [
529
+ h("span", null, "CDN")
524
530
  ], -1)
525
531
  ])),
526
532
  default: l(() => [
527
- s(a, {
533
+ a(f, {
528
534
  modelValue: e.state.content.cdnLink,
529
- "onUpdate:modelValue": t[9] || (t[9] = (p) => e.state.content.cdnLink = p),
535
+ "onUpdate:modelValue": t[9] || (t[9] = (c) => e.state.content.cdnLink = c),
530
536
  placeholder: "CDN"
531
537
  }, null, 8, ["modelValue"]),
532
- t[13] || (t[13] = v("div", { class: "tip" }, "浏览器直接可用的生产包链接,请确保可用,否则可能会造成页面预览失败", -1))
538
+ t[13] || (t[13] = h("div", { class: "tip" }, "浏览器直接可用的生产包链接,请确保可用,否则可能会造成页面预览失败", -1))
533
539
  ]),
534
540
  _: 1
535
541
  }),
536
- s(r, { label: "生成utils.js代码预览" }, {
542
+ a(s, { label: "生成utils.js代码预览" }, {
537
543
  default: l(() => [
538
- v("div", Ze, [
539
- v("pre", null, U(e.codePreview), 1)
544
+ h("div", tt, [
545
+ h("pre", null, U(e.codePreview), 1)
540
546
  ])
541
547
  ]),
542
548
  _: 1
543
549
  })
544
- ])) : (f(), E(x, {
550
+ ])) : (E(), R(K, {
545
551
  key: 3,
546
552
  ref: "editor",
547
553
  value: e.state.value,
@@ -554,72 +560,81 @@ function $e(n, t, m, e, o, y) {
554
560
  }, 8, ["rules", "model"])
555
561
  ]),
556
562
  _: 1
557
- })) : T("", !0);
563
+ }, 8, ["align", "fixed-name"])) : S("", !0);
558
564
  }
559
- const et = /* @__PURE__ */ J(We, [["render", $e], ["__scopeId", "data-v-080f54ec"]]), tt = {
565
+ const ot = /* @__PURE__ */ J(Xe, [["render", nt], ["__scopeId", "data-v-a30fa265"]]), at = {
560
566
  components: {
561
- PluginPanel: pe,
567
+ PluginPanel: ge,
562
568
  SvgButton: j,
563
- BridgeManage: je,
564
- BridgeSetting: et
569
+ BridgeManage: Ke,
570
+ BridgeSetting: ot
571
+ },
572
+ props: {
573
+ fixedPanels: {
574
+ type: Array
575
+ }
565
576
  },
566
- setup() {
567
- const n = N(V.Util), t = N(null), m = C(() => Ie[n.value]);
568
- return {
569
- addResource: (c) => {
570
- n.value == t.value.add(c);
577
+ setup(n, { emit: t }) {
578
+ const p = N(b.Util), e = N(null), i = F(() => Ie[p.value]), { PLUGIN_NAME: g } = te(), y = G({
579
+ emitEvent: t
580
+ });
581
+ return ce("panelState", y), {
582
+ PLUGIN_NAME: g,
583
+ addResource: (r) => {
584
+ e.value.add(r);
571
585
  },
572
- RESOURCE_TYPE: V,
573
- activedName: n,
586
+ RESOURCE_TYPE: b,
587
+ activedName: p,
574
588
  openBridgePanel: () => {
575
- Je();
589
+ Qe();
576
590
  },
577
- closePanel: P,
578
- refreshList: (c) => {
579
- c == t.value.refresh(c);
591
+ closePanel: O,
592
+ refreshList: (r) => {
593
+ e.value.refresh(r);
580
594
  },
581
- utilsRef: t,
582
- tips: m
595
+ utilsRef: e,
596
+ tips: i
583
597
  };
584
598
  }
585
599
  };
586
- function nt(n, t, m, e, o, y) {
587
- const c = i("svg-button"), _ = i("bridge-manage"), R = i("bridge-setting"), h = i("plugin-panel");
588
- return f(), E(h, {
600
+ function st(n, t, p, e, i, g) {
601
+ const y = d("svg-button"), o = d("bridge-manage"), C = d("bridge-setting"), v = d("plugin-panel");
602
+ return E(), R(v, {
589
603
  title: "资源管理",
590
- class: "bridge-manage",
591
- isCloseLeft: !1,
604
+ class: "plugin-bridge",
605
+ "fixed-name": e.PLUGIN_NAME.Bridge,
606
+ fixedPanels: p.fixedPanels,
592
607
  onClose: e.closePanel
593
608
  }, {
594
609
  header: l(() => [
595
- s(c, {
610
+ a(y, {
596
611
  name: "add-utils",
597
612
  placement: "left",
598
613
  tips: e.tips,
599
- onClick: t[0] || (t[0] = (d) => e.addResource("npm"))
614
+ onClick: t[0] || (t[0] = (r) => e.addResource("npm"))
600
615
  }, null, 8, ["tips"])
601
616
  ]),
602
617
  content: l(() => [
603
- s(_, {
618
+ a(o, {
604
619
  ref: "utilsRef",
605
620
  name: e.RESOURCE_TYPE.Util,
606
621
  onOpen: e.openBridgePanel
607
622
  }, null, 8, ["name", "onOpen"]),
608
- s(R, { onRefresh: e.refreshList }, null, 8, ["onRefresh"])
623
+ a(C, { onRefresh: e.refreshList }, null, 8, ["onRefresh"])
609
624
  ]),
610
625
  _: 1
611
- }, 8, ["onClose"]);
626
+ }, 8, ["fixed-name", "fixedPanels", "onClose"]);
612
627
  }
613
- const ot = /* @__PURE__ */ J(tt, [["render", nt], ["__scopeId", "data-v-751d1a2d"]]), at = {
628
+ const rt = /* @__PURE__ */ J(at, [["render", st], ["__scopeId", "data-v-1a60fd05"]]), lt = {
614
629
  id: "engine.plugins.bridge",
615
630
  title: "资源管理",
616
631
  type: "plugins",
617
- align: "top",
632
+ align: "leftTop",
618
633
  icon: "plugin-icon-sresources"
619
- }, mt = {
620
- ...at,
621
- entry: ot
634
+ }, ft = {
635
+ ...lt,
636
+ entry: rt
622
637
  };
623
638
  export {
624
- mt as default
639
+ ft as default
625
640
  };
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .manage-panel[data-v-3a53f0e5]{height:100%;display:flex;flex-direction:column;position:relative}.manage-panel .manage-panel-search[data-v-3a53f0e5]{padding:0 12px 12px}.manage-panel .add-button[data-v-3a53f0e5]{align-self:flex-end;margin:6px}.manage-panel .list[data-v-3a53f0e5]{flex:1;border-top:1px solid var(--te-bridge-list-border-color);overflow:auto;padding:12px 0}.manage-panel .list-item[data-v-3a53f0e5]{height:24px;line-height:24px;display:grid;grid-template-columns:16px 1fr auto;column-gap:8px;align-items:center;padding:0 12px;position:relative;color:var(--te-bridge-list-text-color);cursor:pointer;font-size:12px}.manage-panel .list-item[data-v-3a53f0e5]:hover,.manage-panel .list-item.active[data-v-3a53f0e5]{background:var(--te-bridge-list-bg-color)}.manage-panel .list-item:hover .setting-icon[data-v-3a53f0e5],.manage-panel .list-item.active .setting-icon[data-v-3a53f0e5]{display:grid}.manage-panel .list-item .setting-icon[data-v-3a53f0e5]{display:none}.manage-panel .list-item .list-item-icon[data-v-3a53f0e5]{color:var(--te-bridge-list-icon-color);margin-right:8px}.plugin-setting[data-v-080f54ec] .icon-wrap{margin-right:8px}.plugin-setting .resource-form .tip[data-v-080f54ec]{font-size:11px;line-height:18px;margin-top:8px;color:var(--te-bridge-setting-tip-text-color)}.plugin-setting .resource-form[data-v-080f54ec] .tiny-form-item__label .cdn-tips-icon{margin-left:4px}.plugin-setting .title-wrap[data-v-080f54ec]{font-size:12px;font-weight:700;color:var(--te-bridge-setting-title-text-color)}.plugin-setting .title-wrap .help-link[data-v-080f54ec]{display:inline-block;color:var(--te-bridge-setting-link-text-color);font-size:12px;margin-left:16px}.plugin-setting .title-wrap .help-link[data-v-080f54ec]:hover{text-decoration:underline}.plugin-setting .header-wrap[data-v-080f54ec]{display:flex;align-items:center;column-gap:6px}.plugin-setting .header-wrap .tiny-button[data-v-080f54ec]{width:40px;padding:0;min-width:40px;margin-right:2px}.plugin-setting .monaco-editor[data-v-080f54ec]{height:500px;margin-top:8px;border:1px solid var(--te-bridge-editor-border-color)}.plugin-setting .cdn-label-wrap[data-v-080f54ec]{display:flex;align-items:center}.code-preview[data-v-080f54ec]{font-size:12px;line-height:20px;background:var(--te-bridge-setting-code-bg-color);color:var(--te-bridge-setting-code-text-color);border-radius:4px}.code-preview .pre-title[data-v-080f54ec]{font-family:Microsoft YaHei}.code-preview>pre[data-v-080f54ec]{margin:0;padding:8px 20px;font-family:Consolas,Courier New,monospace}[data-v-751d1a2d] .tiny-button{border-radius:4px;height:24px;line-height:24px}.bridge-manage{--te-bridge-list-text-color: var(--te-common-text-primary);--te-bridge-list-bg-color: var(--te-common-bg-container);--te-bridge-list-icon-color: var(--te-common-icon-secondary);--te-bridge-list-border-color: var(--te-common-border-default);--te-bridge-editor-border-color: var(--te-common-border-divider);--te-bridge-setting-tip-text-color: var(--te-common-text-weaken);--te-bridge-setting-title-text-color: var(--te-common-text-primary);--te-bridge-setting-link-text-color: var(--te-common-text-link);--te-bridge-setting-code-text-color: var(--te-common-text-weaken);--te-bridge-setting-code-bg-color: var(--te-common-bg-container)}
1
+ .manage-panel[data-v-accaf761]{height:100%;display:flex;flex-direction:column;position:relative}.manage-panel .manage-panel-search[data-v-accaf761]{padding:0 12px 12px}.manage-panel .add-button[data-v-accaf761]{align-self:flex-end;margin:6px}.manage-panel .list[data-v-accaf761]{flex:1;border-top:1px solid var(--te-bridge-list-border-color);overflow:auto;padding:12px 0}.manage-panel .list-item[data-v-accaf761]{height:24px;line-height:24px;display:grid;grid-template-columns:16px 1fr auto;column-gap:8px;align-items:center;padding:0 12px;position:relative;color:var(--te-bridge-list-text-color);cursor:pointer;font-size:12px}.manage-panel .list-item[data-v-accaf761]:hover,.manage-panel .list-item.active[data-v-accaf761]{background:var(--te-bridge-list-bg-color)}.manage-panel .list-item:hover .setting-icon[data-v-accaf761],.manage-panel .list-item.active .setting-icon[data-v-accaf761]{display:grid}.manage-panel .list-item .setting-icon[data-v-accaf761]{display:none}.manage-panel .list-item .list-item-icon[data-v-accaf761]{color:var(--te-bridge-list-icon-color);margin-right:8px}.plugin-setting[data-v-a30fa265] .icon-wrap{margin-right:8px}.plugin-setting .resource-form .tip[data-v-a30fa265]{font-size:11px;line-height:18px;margin-top:8px;color:var(--te-bridge-setting-tip-text-color)}.plugin-setting .resource-form[data-v-a30fa265] .tiny-form-item__label .cdn-tips-icon{margin-left:4px}.plugin-setting .title-wrap[data-v-a30fa265]{font-size:12px;font-weight:700;color:var(--te-bridge-setting-title-text-color)}.plugin-setting .title-wrap .help-link[data-v-a30fa265]{display:inline-block;color:var(--te-bridge-setting-link-text-color);font-size:12px;margin-left:16px}.plugin-setting .title-wrap .help-link[data-v-a30fa265]:hover{text-decoration:underline}.plugin-setting .header-wrap[data-v-a30fa265]{display:flex;align-items:center;column-gap:6px}.plugin-setting .header-wrap .tiny-button[data-v-a30fa265]{width:40px;padding:0;min-width:40px;margin-right:2px}.plugin-setting .monaco-editor[data-v-a30fa265]{height:500px;margin-top:8px;border:1px solid var(--te-bridge-editor-border-color)}.plugin-setting .cdn-label-wrap[data-v-a30fa265]{display:flex;align-items:center}.code-preview[data-v-a30fa265]{font-size:12px;line-height:20px;background:var(--te-bridge-setting-code-bg-color);color:var(--te-bridge-setting-code-text-color);border-radius:4px}.code-preview .pre-title[data-v-a30fa265]{font-family:Microsoft YaHei}.code-preview>pre[data-v-a30fa265]{margin:0;padding:8px 20px;font-family:Consolas,Courier New,monospace}[data-v-1a60fd05] .tiny-button{border-radius:4px;height:24px;line-height:24px}.plugin-bridge{--te-bridge-list-text-color: var(--te-common-text-primary);--te-bridge-list-bg-color: var(--te-common-bg-container);--te-bridge-list-icon-color: var(--te-common-icon-secondary);--te-bridge-list-border-color: var(--te-common-border-default);--te-bridge-editor-border-color: var(--te-common-border-divider);--te-bridge-setting-tip-text-color: var(--te-common-text-weaken);--te-bridge-setting-title-text-color: var(--te-common-text-primary);--te-bridge-setting-link-text-color: var(--te-common-text-link);--te-bridge-setting-code-text-color: var(--te-common-text-weaken);--te-bridge-setting-code-bg-color: var(--te-common-bg-container)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentiny/tiny-engine-plugin-bridge",
3
- "version": "2.3.0-rc.0",
3
+ "version": "2.4.0-rc.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,11 +25,11 @@
25
25
  "license": "MIT",
26
26
  "homepage": "https://opentiny.design/tiny-engine",
27
27
  "dependencies": {
28
- "@opentiny/tiny-engine-common": "2.3.0-rc.0",
29
- "@opentiny/tiny-engine-meta-register": "2.3.0-rc.0"
28
+ "@opentiny/tiny-engine-common": "2.4.0-rc.0",
29
+ "@opentiny/tiny-engine-meta-register": "2.4.0-rc.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.3.0-rc.0",
32
+ "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.4.0-rc.0",
33
33
  "@vitejs/plugin-vue": "^5.1.2",
34
34
  "@vitejs/plugin-vue-jsx": "^4.0.1",
35
35
  "vite": "^5.4.2"
@@ -39,5 +39,5 @@
39
39
  "@opentiny/vue-icon": "^3.20.0",
40
40
  "vue": "^3.4.15"
41
41
  },
42
- "gitHead": "5ea78adea68ea21caaf13ff9f8dcb008a1ad78cc"
42
+ "gitHead": "40df6ee51c80bf918c176f7e8ad97b6b687ddc7b"
43
43
  }