sun-form-v3 1.0.205 → 1.0.206

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,5 +1,5 @@
1
1
  import { computed as j, ref as y, resolveComponent as i, openBlock as C, createElementBlock as k, Fragment as U, createVNode as e, withCtx as l, createTextVNode as V, unref as d, isRef as z, createElementVNode as m, pushScopeId as I, popScopeId as J } from "vue";
2
- import { ae as E, ah as H } from "./index-DbWl2qFS.js";
2
+ import { ae as E, ah as H } from "./index-BlFb5rc8.js";
3
3
  const B = (r) => (I("data-v-657a5bea"), r = r(), J(), r), T = /* @__PURE__ */ B(() => /* @__PURE__ */ m("span", null, "数据配置", -1)), D = { class: "h-full flex flex-col" }, F = { class: "flex-1 overflow-hidden" }, M = /* @__PURE__ */ Object.assign({ name: "commonStyleConfig" }, {
4
4
  __name: "dataConfig",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { computed as N, ref as h, resolveComponent as u, openBlock as C, createElementBlock as U, Fragment as k, createVNode as e, withCtx as l, createTextVNode as g, unref as d, isRef as j, createElementVNode as c, pushScopeId as I, popScopeId as J } from "vue";
2
- import { ae as T } from "./index-DbWl2qFS.js";
2
+ import { ae as T } from "./index-BlFb5rc8.js";
3
3
  const E = (m) => (I("data-v-ede8dcab"), m = m(), J(), m), H = /* @__PURE__ */ E(() => /* @__PURE__ */ c("span", null, "数据配置", -1)), B = { class: "h-full flex flex-col" }, D = { class: "flex-1 overflow-hidden" }, F = {
4
4
  __name: "dataConfig",
5
5
  props: {
@@ -101076,8 +101076,21 @@ const DC = /* @__PURE__ */ sn(G4t), $u = {
101076
101076
  width: 24,
101077
101077
  fileField: "file",
101078
101078
  //文件上传字段
101079
- fileUrlField: "",
101079
+ fileIdField: "id",
101080
+ //文件ID字段
101081
+ fileNameField: "name",
101082
+ //文件名称字段
101083
+ fileUrlField: "url",
101080
101084
  //文件URL字段
101085
+ fileSaveType: "name,id",
101086
+ fileDownType: "blob",
101087
+ //文件下载方式
101088
+ fileGetUrl: "",
101089
+ //文件获取地址
101090
+ fileDownUrl: "",
101091
+ //文件下载地址
101092
+ fileSize: 10,
101093
+ //限制文件大小mb
101081
101094
  apiSet: {
101082
101095
  method: "post",
101083
101096
  apiurl: "",
@@ -152096,6 +152109,40 @@ const urn = /* @__PURE__ */ Object.assign({ name: "widget-editor" }, {
152096
152109
  plugins: "lists link image table code help wordcount preview fullscreen emoticons",
152097
152110
  language: "zh_CN",
152098
152111
  toolbar: "undo redo | formatselect | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | link image | preview fullscreen emoticons",
152112
+ images_upload_handler: (d, p) => new Promise((h, f) => {
152113
+ if (!o.value.apiSet.apiurl) {
152114
+ f("请配置富文本图片上传接口");
152115
+ return;
152116
+ }
152117
+ const m = d.blob();
152118
+ if (o.value.fileSize && m.size > o.value.fileSize * 1024 * 1024) {
152119
+ f("上传图片大小不能超过 " + o.value.fileSize + "MB");
152120
+ return;
152121
+ }
152122
+ const g = new FormData();
152123
+ g.append(
152124
+ o.value.fileField || "file",
152125
+ m,
152126
+ d.filename()
152127
+ ), r.designer.requestByApisetConfig({
152128
+ widget: r.widget,
152129
+ paramCb: (v) => {
152130
+ for (const _ in v)
152131
+ g.append(_, v[_]);
152132
+ return g;
152133
+ },
152134
+ resultCb: ({ funRes: v, httpRes: _ }) => {
152135
+ var S;
152136
+ const y = v || _;
152137
+ if (y) {
152138
+ console.log("上传响应详情:", y);
152139
+ const b = r.designer.$utils.get(y, o.value.fileUrlField) || y.url || ((S = y.data) == null ? void 0 : S.url) || (typeof y == "string" ? y : null);
152140
+ typeof b == "string" && (b.startsWith("http") || b.startsWith("/") || b.startsWith("./")) ? h(b) : f("上传成功但未通过 " + (o.value.fileUrlField || "url") + " 字段获取到有效 URL");
152141
+ } else
152142
+ f("上传失败,未获取到响应数据");
152143
+ }
152144
+ });
152145
+ }),
152099
152146
  setup: function(d) {
152100
152147
  d.on("change", function(p) {
152101
152148
  u(d.getContent());
@@ -152136,7 +152183,7 @@ const urn = /* @__PURE__ */ Object.assign({ name: "widget-editor" }, {
152136
152183
  return Ci((oe(), It(h, { props: O(o) }, {
152137
152184
  default: Ye(() => [
152138
152185
  Ue(O(crn), {
152139
- "api-key": "xv3z5fnwzx259p1uyu2ut3jknv6hpcl71phjwf88nwynrffc",
152186
+ "api-key": "e32q47rdzli9jawfdwjn50qnd5gx3yooyoc47oq77ujp0wd4",
152140
152187
  modelValue: c.value,
152141
152188
  "onUpdate:modelValue": p[0] || (p[0] = (m) => c.value = m),
152142
152189
  init: s,
@@ -152151,7 +152198,7 @@ const urn = /* @__PURE__ */ Object.assign({ name: "widget-editor" }, {
152151
152198
  ]);
152152
152199
  };
152153
152200
  }
152154
- }), drn = /* @__PURE__ */ Ic(urn, [["__scopeId", "data-v-d23e9ebc"]]), prn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
152201
+ }), drn = /* @__PURE__ */ Ic(urn, [["__scopeId", "data-v-504f5a90"]]), prn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
152155
152202
  __proto__: null,
152156
152203
  default: drn
152157
152204
  }, Symbol.toStringTag, { value: "Module" })), frn = /* @__PURE__ */ Object.assign({ name: "widget-expendDiv" }, {
@@ -231080,7 +231127,7 @@ const kAn = { key: 1 }, LAn = /* @__PURE__ */ Object.assign({ name: "widget-sfc"
231080
231127
  "element-plus": gDt,
231081
231128
  "@element-plus/icons-vue": Qht,
231082
231129
  echarts: Wnn,
231083
- "echarts-gl": () => import("./index-nqCeCQsL.js")
231130
+ "echarts-gl": () => import("./index-DPtUBbn9.js")
231084
231131
  },
231085
231132
  async getFile(d) {
231086
231133
  return d === "element-plus" ? "export * from 'element-plus'; export { default } from 'element-plus';" : d === "@element-plus/icons-vue" ? "export * from '@element-plus/icons-vue'; export { default } from '@element-plus/icons-vue';" : d === "echarts" ? "export * from 'echarts'; export { default } from 'echarts';" : d === "echarts-gl" ? "import 'echarts-gl'; export {};" : d === "vue" ? "export * from 'vue'; export { default } from 'vue';" : s();
@@ -235610,7 +235657,7 @@ const kAn = { key: 1 }, LAn = /* @__PURE__ */ Object.assign({ name: "widget-sfc"
235610
235657
  },
235611
235658
  setup(t) {
235612
235659
  const n = Object.fromEntries(
235613
- Object.entries(/* @__PURE__ */ Object.assign({ "../widgetConfigComps/config-alert/index.vue": () => import("./index-ZVIqhtUw.js"), "../widgetConfigComps/config-button/index.vue": () => import("./index-CvnfmMTc.js"), "../widgetConfigComps/config-card/index.vue": () => import("./index-BJ0vPF5A.js"), "../widgetConfigComps/config-cascader/index.vue": () => import("./index-BcUJtkEW.js"), "../widgetConfigComps/config-checkCode/index.vue": () => import("./index-kUQct_cM.js"), "../widgetConfigComps/config-checkbox/index.vue": () => import("./index-B2ieNi21.js"), "../widgetConfigComps/config-codeEditor/index.vue": () => import("./index-CzkuANsf.js"), "../widgetConfigComps/config-datatable/index.vue": () => import("./index-C4BrjT9E.js"), "../widgetConfigComps/config-date/index.vue": () => import("./index-C0NmmaE2.js"), "../widgetConfigComps/config-div/index.vue": () => import("./index-BAEL_Fhr.js"), "../widgetConfigComps/config-dropdown/index.vue": () => import("./index-BZ_40krq.js"), "../widgetConfigComps/config-echarts/index.vue": () => import("./index-ml3IIzB5.js"), "../widgetConfigComps/config-editor/index.vue": () => import("./index-CXNYHPLK.js"), "../widgetConfigComps/config-file/index.vue": () => import("./index-nY_E-1Gm.js"), "../widgetConfigComps/config-flowForm/index.vue": () => import("./index-CHAFY_vi.js"), "../widgetConfigComps/config-form/index.vue": () => import("./index-CIaeKFCl.js"), "../widgetConfigComps/config-homepage/index.vue": () => import("./index-CifChfEv.js"), "../widgetConfigComps/config-iframe/index.vue": () => import("./index-BkftF1Ew.js"), "../widgetConfigComps/config-image/index.vue": () => import("./index-dGJDj4ro.js"), "../widgetConfigComps/config-input/index.vue": () => import("./index-kzElMYkk.js"), "../widgetConfigComps/config-layout/index.vue": () => import("./index-FVwll8uc.js"), "../widgetConfigComps/config-modal/index.vue": () => import("./index-CiNAZsvy.js"), "../widgetConfigComps/config-modal2/index.vue": () => import("./index-D7zr1ztZ.js"), "../widgetConfigComps/config-progress/index.vue": () => import("./index-c0zw96Jm.js"), "../widgetConfigComps/config-qrcode/index.vue": () => import("./index-DHjsGntq.js"), "../widgetConfigComps/config-radio/index.vue": () => import("./index-DYFp4hH-.js"), "../widgetConfigComps/config-rate/index.vue": () => import("./index-B0fldwhm.js"), "../widgetConfigComps/config-select/index.vue": () => import("./index-B1b5cejN.js"), "../widgetConfigComps/config-selects/index.vue": () => import("./index-CE0gDB6E.js"), "../widgetConfigComps/config-slot/index.vue": () => import("./index-HNpIFY7h.js"), "../widgetConfigComps/config-statistic/index.vue": () => import("./index-DogH9Dyy.js"), "../widgetConfigComps/config-steps/index.vue": () => import("./index-D_kUCK58.js"), "../widgetConfigComps/config-switch/index.vue": () => import("./index-Dag4zSq7.js"), "../widgetConfigComps/config-tag/index.vue": () => import("./index-Du4QSSDQ.js"), "../widgetConfigComps/config-text/index.vue": () => import("./index-BYbxnzUx.js"), "../widgetConfigComps/config-time/index.vue": () => import("./index-zkXVDNsL.js"), "../widgetConfigComps/config-timeline/index.vue": () => import("./index-sdleF61v.js"), "../widgetConfigComps/config-title/index.vue": () => import("./index-C78PiK5v.js"), "../widgetConfigComps/config-transfer/index.vue": () => import("./index-DQ3y00Pa.js") })).map(([$, k]) => {
235660
+ Object.entries(/* @__PURE__ */ Object.assign({ "../widgetConfigComps/config-alert/index.vue": () => import("./index-ZVIqhtUw.js"), "../widgetConfigComps/config-button/index.vue": () => import("./index-CvnfmMTc.js"), "../widgetConfigComps/config-card/index.vue": () => import("./index-BJ0vPF5A.js"), "../widgetConfigComps/config-cascader/index.vue": () => import("./index-BcUJtkEW.js"), "../widgetConfigComps/config-checkCode/index.vue": () => import("./index-kUQct_cM.js"), "../widgetConfigComps/config-checkbox/index.vue": () => import("./index-B2ieNi21.js"), "../widgetConfigComps/config-codeEditor/index.vue": () => import("./index-CzkuANsf.js"), "../widgetConfigComps/config-datatable/index.vue": () => import("./index-CEAh4wxr.js"), "../widgetConfigComps/config-date/index.vue": () => import("./index-C0NmmaE2.js"), "../widgetConfigComps/config-div/index.vue": () => import("./index-BAEL_Fhr.js"), "../widgetConfigComps/config-dropdown/index.vue": () => import("./index-BZ_40krq.js"), "../widgetConfigComps/config-echarts/index.vue": () => import("./index-CWUIrzrQ.js"), "../widgetConfigComps/config-editor/index.vue": () => import("./index-TI_vl3EZ.js"), "../widgetConfigComps/config-file/index.vue": () => import("./index-nY_E-1Gm.js"), "../widgetConfigComps/config-flowForm/index.vue": () => import("./index-CHAFY_vi.js"), "../widgetConfigComps/config-form/index.vue": () => import("./index-CIaeKFCl.js"), "../widgetConfigComps/config-homepage/index.vue": () => import("./index-CifChfEv.js"), "../widgetConfigComps/config-iframe/index.vue": () => import("./index-BkftF1Ew.js"), "../widgetConfigComps/config-image/index.vue": () => import("./index-dGJDj4ro.js"), "../widgetConfigComps/config-input/index.vue": () => import("./index-kzElMYkk.js"), "../widgetConfigComps/config-layout/index.vue": () => import("./index-FVwll8uc.js"), "../widgetConfigComps/config-modal/index.vue": () => import("./index-CiNAZsvy.js"), "../widgetConfigComps/config-modal2/index.vue": () => import("./index-D7zr1ztZ.js"), "../widgetConfigComps/config-progress/index.vue": () => import("./index-c0zw96Jm.js"), "../widgetConfigComps/config-qrcode/index.vue": () => import("./index-DHjsGntq.js"), "../widgetConfigComps/config-radio/index.vue": () => import("./index-DYFp4hH-.js"), "../widgetConfigComps/config-rate/index.vue": () => import("./index-B0fldwhm.js"), "../widgetConfigComps/config-select/index.vue": () => import("./index-B1b5cejN.js"), "../widgetConfigComps/config-selects/index.vue": () => import("./index-CE0gDB6E.js"), "../widgetConfigComps/config-slot/index.vue": () => import("./index-HNpIFY7h.js"), "../widgetConfigComps/config-statistic/index.vue": () => import("./index-B1oltZcZ.js"), "../widgetConfigComps/config-steps/index.vue": () => import("./index-C3BezOlp.js"), "../widgetConfigComps/config-switch/index.vue": () => import("./index-Dag4zSq7.js"), "../widgetConfigComps/config-tag/index.vue": () => import("./index-biJChqwq.js"), "../widgetConfigComps/config-text/index.vue": () => import("./index-BYbxnzUx.js"), "../widgetConfigComps/config-time/index.vue": () => import("./index-zkXVDNsL.js"), "../widgetConfigComps/config-timeline/index.vue": () => import("./index-B4pH5soj.js"), "../widgetConfigComps/config-title/index.vue": () => import("./index-C78PiK5v.js"), "../widgetConfigComps/config-transfer/index.vue": () => import("./index-DQ3y00Pa.js") })).map(([$, k]) => {
235614
235661
  const j = $.match(/\/([^/]+)\/index\.vue$/);
235615
235662
  return [j ? j[1] : null, E7e(k)];
235616
235663
  })
@@ -1,5 +1,5 @@
1
1
  import { computed as N, ref as y, resolveComponent as i, openBlock as C, createElementBlock as k, Fragment as O, createVNode as e, withCtx as l, createTextVNode as m, unref as d, isRef as j, createElementVNode as _, pushScopeId as I, popScopeId as J } from "vue";
2
- import { ae as E } from "./index-DbWl2qFS.js";
2
+ import { ae as E } from "./index-BlFb5rc8.js";
3
3
  const H = (p) => (I("data-v-4c8b2df2"), p = p(), J(), p), B = /* @__PURE__ */ H(() => /* @__PURE__ */ _("span", null, "数据配置", -1)), T = { class: "h-full flex flex-col" }, D = { class: "flex-1 overflow-hidden" }, F = {
4
4
  __name: "dataConfig",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { ref as k, resolveComponent as m, openBlock as f, createElementBlock as H, Fragment as I, createVNode as e, unref as l, withCtx as a, createTextVNode as v, isRef as M, createElementVNode as V, toDisplayString as S, createCommentVNode as T, pushScopeId as J, popScopeId as K, createBlock as N, renderList as Q } from "vue";
2
- import { ae as W } from "./index-DbWl2qFS.js";
2
+ import { ae as W } from "./index-BlFb5rc8.js";
3
3
  const A = (_) => (J("data-v-75dc2686"), _ = _(), K(), _), G = /* @__PURE__ */ A(() => /* @__PURE__ */ V("span", null, "复杂表头配置", -1)), X = {
4
4
  key: 0,
5
5
  class: "flex h-full flex-col"
@@ -1,5 +1,5 @@
1
1
  import { computed as j, ref as g, onMounted as $, resolveComponent as f, openBlock as _, createElementBlock as v, Fragment as x, createVNode as r, withCtx as o, createTextVNode as C, createElementVNode as u, renderList as B, unref as V, toDisplayString as N, nextTick as U, createBlock as D } from "vue";
2
- import { af as E, ag as M } from "./index-DbWl2qFS.js";
2
+ import { af as E, ag as M } from "./index-BlFb5rc8.js";
3
3
  const R = /* @__PURE__ */ u("span", null, "图表选择", -1), S = { class: "flex-wrap flex" }, T = ["onClick"], z = { class: "inner cursor-pointer hover:shadow-md hover:shadow-blue-200 border w-full h-full p-1 flex flex-col overflow-hidden items-center rounded-md shadow-sm" }, F = { class: "lab border-t w-full text-center mt-1 font-bold" }, L = /* @__PURE__ */ Object.assign({ name: "chatChoose" }, {
4
4
  __name: "chartChoose",
5
5
  props: {
@@ -1,4 +1,4 @@
1
- import { u as He, i as Hs, a as Vs, b as ks, c as yt, m as da, A as Ws, L as Xs, p as Mo, R as No, g as Zs, r as Pn, e as xt, d as js, f as qs, h as Ys, j as Ks, Z as Qs, C as Dr, k as se, l as Ut, n as $s, o as Po, M as Xi, q as Ni, s as Pi, t as oi, v as Ro, w as Io, x as Oo, y as Zi, z as ji, B as jn, D as Js, O as el, E as tl, F as rl, G as Rn, H as si, S as Tt, I as qn, J as il, K as nl, N as va, P as al, Q as ol, T as Yn, U as sl, V as pr, W as pa, X as ll, Y as hl, _ as ul, $ as Bo, a0 as ft, a1 as ct, a2 as fl, a3 as cl, a4 as di, a5 as dl, a6 as vl, a7 as pl, a8 as Fo, a9 as ml, aa as _l, ab as ma, ac as _a, ad as ga } from "./index-DbWl2qFS.js";
1
+ import { u as He, i as Hs, a as Vs, b as ks, c as yt, m as da, A as Ws, L as Xs, p as Mo, R as No, g as Zs, r as Pn, e as xt, d as js, f as qs, h as Ys, j as Ks, Z as Qs, C as Dr, k as se, l as Ut, n as $s, o as Po, M as Xi, q as Ni, s as Pi, t as oi, v as Ro, w as Io, x as Oo, y as Zi, z as ji, B as jn, D as Js, O as el, E as tl, F as rl, G as Rn, H as si, S as Tt, I as qn, J as il, K as nl, N as va, P as al, Q as ol, T as Yn, U as sl, V as pr, W as pa, X as ll, Y as hl, _ as ul, $ as Bo, a0 as ft, a1 as ct, a2 as fl, a3 as cl, a4 as di, a5 as dl, a6 as vl, a7 as pl, a8 as Fo, a9 as ml, aa as _l, ab as ma, ac as _a, ad as ga } from "./index-BlFb5rc8.js";
2
2
  He([Hs, Vs]);
3
3
  He(ks);
4
4
  function ya(e, t, r) {
@@ -0,0 +1,96 @@
1
+ import { resolveComponent as a, openBlock as s, createElementBlock as f, Fragment as V, createVNode as o, withCtx as p, unref as d } from "vue";
2
+ const b = /* @__PURE__ */ Object.assign({ name: "config-editor" }, {
3
+ __name: "index",
4
+ props: {
5
+ designer: {
6
+ type: Object,
7
+ default: {}
8
+ },
9
+ widget: {
10
+ type: Object,
11
+ default: {}
12
+ }
13
+ },
14
+ setup(r) {
15
+ let e = r;
16
+ return (g, l) => {
17
+ const i = a("el-input"), n = a("common-label-container"), m = a("el-input-number"), u = a("el-switch");
18
+ return s(), f(V, null, [
19
+ o(n, { label: "上传字段" }, {
20
+ default: p(() => [
21
+ o(i, {
22
+ modelValue: d(e).widget.props.fileField,
23
+ "onUpdate:modelValue": l[0] || (l[0] = (t) => d(e).widget.props.fileField = t),
24
+ placeholder: "填写上传字段"
25
+ }, null, 8, ["modelValue"])
26
+ ]),
27
+ _: 1
28
+ }),
29
+ o(n, { label: "文件ID字段" }, {
30
+ default: p(() => [
31
+ o(i, {
32
+ modelValue: d(e).widget.props.fileIdField,
33
+ "onUpdate:modelValue": l[1] || (l[1] = (t) => d(e).widget.props.fileIdField = t),
34
+ placeholder: "填写文件ID字段"
35
+ }, null, 8, ["modelValue"])
36
+ ]),
37
+ _: 1
38
+ }),
39
+ o(n, { label: "文件名称字段" }, {
40
+ default: p(() => [
41
+ o(i, {
42
+ modelValue: d(e).widget.props.fileNameField,
43
+ "onUpdate:modelValue": l[2] || (l[2] = (t) => d(e).widget.props.fileNameField = t),
44
+ placeholder: "填写文件名称字段"
45
+ }, null, 8, ["modelValue"])
46
+ ]),
47
+ _: 1
48
+ }),
49
+ o(n, { label: "文件URL字段" }, {
50
+ default: p(() => [
51
+ o(i, {
52
+ modelValue: d(e).widget.props.fileUrlField,
53
+ "onUpdate:modelValue": l[3] || (l[3] = (t) => d(e).widget.props.fileUrlField = t),
54
+ placeholder: "填写文件URL字段"
55
+ }, null, 8, ["modelValue"])
56
+ ]),
57
+ _: 1
58
+ }),
59
+ o(n, { label: "大小限制(mb)" }, {
60
+ default: p(() => [
61
+ o(m, {
62
+ class: "w-full",
63
+ placeholder: "填写最大文件大小",
64
+ modelValue: d(e).widget.props.fileSize,
65
+ "onUpdate:modelValue": l[4] || (l[4] = (t) => d(e).widget.props.fileSize = t),
66
+ min: 0,
67
+ "controls-position": "right"
68
+ }, null, 8, ["modelValue"])
69
+ ]),
70
+ _: 1
71
+ }),
72
+ o(n, { label: "是否必填" }, {
73
+ default: p(() => [
74
+ o(u, {
75
+ modelValue: d(e).widget.props.required,
76
+ "onUpdate:modelValue": l[5] || (l[5] = (t) => d(e).widget.props.required = t)
77
+ }, null, 8, ["modelValue"])
78
+ ]),
79
+ _: 1
80
+ }),
81
+ o(n, { label: "是否只读" }, {
82
+ default: p(() => [
83
+ o(u, {
84
+ modelValue: d(e).widget.props.readonly,
85
+ "onUpdate:modelValue": l[6] || (l[6] = (t) => d(e).widget.props.readonly = t)
86
+ }, null, 8, ["modelValue"])
87
+ ]),
88
+ _: 1
89
+ })
90
+ ], 64);
91
+ };
92
+ }
93
+ });
94
+ export {
95
+ b as default
96
+ };
@@ -1,5 +1,5 @@
1
1
  import { ref as g, resolveComponent as u, openBlock as b, createElementBlock as V, Fragment as w, createVNode as e, withCtx as n, unref as a } from "vue";
2
- import { ah as c } from "./index-DbWl2qFS.js";
2
+ import { ah as c } from "./index-BlFb5rc8.js";
3
3
  const k = /* @__PURE__ */ Object.assign({ name: "config-text" }, {
4
4
  __name: "index",
5
5
  props: {