vue-data-ui 2.3.2 → 2.3.4

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 (148) hide show
  1. package/dist/Arrow-B6gJebT9.js +101 -0
  2. package/dist/Arrow-C5yj6zwY.cjs +1 -0
  3. package/dist/BaseIcon-7_g11dRj.js +174 -0
  4. package/dist/BaseIcon-JtWoVorZ.cjs +1 -0
  5. package/dist/DataTable-CwaOlAsy.js +127 -0
  6. package/dist/DataTable-Rm9II-m2.cjs +1 -0
  7. package/dist/Legend-CxvJTjEm.js +62 -0
  8. package/dist/Legend-D59FIuMs.cjs +1 -0
  9. package/dist/Shape-CVItL3vh.cjs +1 -0
  10. package/dist/Shape-CjLV0scA.js +107 -0
  11. package/dist/Slicer-Bxg5niHl.js +156 -0
  12. package/dist/Slicer-Cdss5Rus.cjs +1 -0
  13. package/dist/Title-2iks1ziC.js +46 -0
  14. package/dist/Title-Bb-A5OSV.cjs +1 -0
  15. package/dist/Tooltip-C3phqKuU.js +94 -0
  16. package/dist/Tooltip-C_UE6y-E.cjs +1 -0
  17. package/dist/_plugin-vue_export-helper-BHFhmbuH.cjs +1 -0
  18. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  19. package/dist/html2canvas.esm-BA_v9SIU.cjs +22 -0
  20. package/dist/html2canvas.esm-d2sM-0Wm.js +4870 -0
  21. package/dist/index-p5gfZSvB.cjs +4 -0
  22. package/dist/index-uOtklCCx.js +10268 -0
  23. package/dist/{index.es-BoVO5twe.js → index.es-YufTdp0y.js} +1 -1
  24. package/dist/{index.es-w_iDpZ-o.cjs → index.es-uyeSCnWE.cjs} +1 -1
  25. package/dist/jspdf.es.min-C660YX78.js +8038 -0
  26. package/dist/jspdf.es.min-DLYY9DTT.cjs +243 -0
  27. package/dist/pdf-97UbtKC2.js +44 -0
  28. package/dist/pdf-Cz3729tZ.cjs +1 -0
  29. package/dist/style.css +1 -1
  30. package/dist/useNestedProp-2kIU-7On.cjs +1 -0
  31. package/dist/useNestedProp-BgWkUab_.js +13 -0
  32. package/dist/usePrinter-B6xQCyL-.js +464 -0
  33. package/dist/usePrinter-fZlsJid8.cjs +1 -0
  34. package/dist/useResponsive-B3TrDDIG.cjs +1 -0
  35. package/dist/useResponsive-NZB-WLRF.js +187 -0
  36. package/dist/vue-data-ui-Be0rgmbA.cjs +9 -0
  37. package/dist/vue-data-ui-Ccy6rBZN.js +246 -0
  38. package/dist/vue-data-ui.cjs +1 -1
  39. package/dist/vue-data-ui.js +62 -61
  40. package/dist/vue-ui-3d-bar-BKMPFDi2.js +1085 -0
  41. package/dist/vue-ui-3d-bar-CKa4UXq4.cjs +19 -0
  42. package/dist/vue-ui-accordion-C_pwrAJl.cjs +1 -0
  43. package/dist/vue-ui-accordion-HJPf7My0.js +77 -0
  44. package/dist/vue-ui-age-pyramid-CE1xnA-8.cjs +1 -0
  45. package/dist/vue-ui-age-pyramid-DB_CL-gu.js +596 -0
  46. package/dist/vue-ui-annotator-BAMZcPlH.cjs +371 -0
  47. package/dist/vue-ui-annotator-DQsAL-nZ.js +2177 -0
  48. package/dist/vue-ui-candlestick-DCl8fpNu.js +657 -0
  49. package/dist/vue-ui-candlestick-Duv6oG79.cjs +2 -0
  50. package/dist/vue-ui-chestnut-BYHA6MT4.js +1051 -0
  51. package/dist/vue-ui-chestnut-mIZ4-ZEM.cjs +6 -0
  52. package/dist/vue-ui-cursor-C96IChA3.js +229 -0
  53. package/dist/vue-ui-cursor-De7dy4Mo.cjs +1 -0
  54. package/dist/vue-ui-dashboard-B2Yz41yO.js +232 -0
  55. package/dist/vue-ui-dashboard-BMGwKr0K.cjs +1 -0
  56. package/dist/vue-ui-digits-BnxLp7zQ.js +153 -0
  57. package/dist/vue-ui-digits-DSWyL-5K.cjs +1 -0
  58. package/dist/vue-ui-donut-1kei9ws5.cjs +1 -0
  59. package/dist/vue-ui-donut-B9iXisHK.js +743 -0
  60. package/dist/vue-ui-donut-evolution-B7Sun8sw.js +799 -0
  61. package/dist/vue-ui-donut-evolution-yv17DnGy.cjs +1 -0
  62. package/dist/vue-ui-dumbbell-BJEf_JEq.cjs +9 -0
  63. package/dist/vue-ui-dumbbell-DIsDnD1d.js +624 -0
  64. package/dist/vue-ui-flow-BTivYoGd.js +454 -0
  65. package/dist/vue-ui-flow-DOxJa8di.cjs +1 -0
  66. package/dist/vue-ui-galaxy-BEmywfFB.js +485 -0
  67. package/dist/vue-ui-galaxy-CHGOwCwM.cjs +1 -0
  68. package/dist/vue-ui-gauge-QAfMl-8t.cjs +1 -0
  69. package/dist/vue-ui-gauge-o4rDOqF3.js +466 -0
  70. package/dist/vue-ui-heatmap-BS4EzedX.cjs +1 -0
  71. package/dist/vue-ui-heatmap-DwqQqEsk.js +598 -0
  72. package/dist/vue-ui-kpi-F4qkJ_U-.cjs +1 -0
  73. package/dist/vue-ui-kpi-h8elYTcA.js +54 -0
  74. package/dist/vue-ui-mini-loader-C_8B2Pm6.cjs +1 -0
  75. package/dist/vue-ui-mini-loader-Cgoi9rhH.js +131 -0
  76. package/dist/vue-ui-molecule-Bmv76SWz.js +750 -0
  77. package/dist/vue-ui-molecule-C5CY_YYc.cjs +1 -0
  78. package/dist/vue-ui-mood-radar-BN0dzlfp.cjs +1 -0
  79. package/dist/vue-ui-mood-radar-DeMouUIe.js +548 -0
  80. package/dist/vue-ui-nested-donuts-ZyFoV-Zn.cjs +16 -0
  81. package/dist/vue-ui-nested-donuts-wOUkSVyZ.js +771 -0
  82. package/dist/vue-ui-onion-DCOKG2wG.js +554 -0
  83. package/dist/vue-ui-onion-VmTUo7TR.cjs +1 -0
  84. package/dist/vue-ui-parallel-coordinate-plot-BGtO2P4a.js +651 -0
  85. package/dist/vue-ui-parallel-coordinate-plot-BziXRF8E.cjs +8 -0
  86. package/dist/vue-ui-quadrant--JOTjPZh.js +1178 -0
  87. package/dist/vue-ui-quadrant-DawUUrur.cjs +1 -0
  88. package/dist/vue-ui-quick-chart-LXKfaJgS.js +1310 -0
  89. package/dist/vue-ui-quick-chart-jFlFtiNV.cjs +13 -0
  90. package/dist/vue-ui-radar-CWNIqvcA.js +614 -0
  91. package/dist/vue-ui-radar-VGH-lhaT.cjs +1 -0
  92. package/dist/vue-ui-rating-BNrIoJHN.js +271 -0
  93. package/dist/vue-ui-rating-Dtu6pwGx.cjs +1 -0
  94. package/dist/vue-ui-relation-circle-B3NKudOy.js +304 -0
  95. package/dist/vue-ui-relation-circle-Dwpx9o18.cjs +1 -0
  96. package/dist/vue-ui-rings-CsUngX_F.js +510 -0
  97. package/dist/vue-ui-rings-D9_OG--0.cjs +1 -0
  98. package/dist/vue-ui-scatter-DUsuh7bd.cjs +1 -0
  99. package/dist/vue-ui-scatter-DgxTz4Jx.js +874 -0
  100. package/dist/vue-ui-screenshot-51H_VrYY.js +160 -0
  101. package/dist/vue-ui-screenshot-C2Dz7CAe.cjs +3 -0
  102. package/dist/vue-ui-skeleton-BM9rwmxY.js +2064 -0
  103. package/dist/vue-ui-skeleton-sjfOtCZr.cjs +41 -0
  104. package/dist/vue-ui-smiley-DNnBtHht.cjs +2 -0
  105. package/dist/vue-ui-smiley-H5rSN-1B.js +763 -0
  106. package/dist/vue-ui-spark-trend-CLXZDYlk.js +246 -0
  107. package/dist/vue-ui-spark-trend-R4JJvfry.cjs +1 -0
  108. package/dist/vue-ui-sparkbar-C0k4ah-7.js +242 -0
  109. package/dist/vue-ui-sparkbar-CEUDIw0A.cjs +1 -0
  110. package/dist/vue-ui-sparkgauge-BHj00A07.js +157 -0
  111. package/dist/vue-ui-sparkgauge-CaEw6nmI.cjs +1 -0
  112. package/dist/vue-ui-sparkhistogram-B6GuavEu.cjs +1 -0
  113. package/dist/vue-ui-sparkhistogram-DbMLYKqE.js +244 -0
  114. package/dist/vue-ui-sparkline-CJydanLS.cjs +1 -0
  115. package/dist/vue-ui-sparkline-CYova9x3.js +333 -0
  116. package/dist/vue-ui-sparkstackbar-Df__yM5b.cjs +1 -0
  117. package/dist/vue-ui-sparkstackbar-N5rVBM2h.js +244 -0
  118. package/dist/vue-ui-strip-plot-DJJ1vEWz.js +618 -0
  119. package/dist/vue-ui-strip-plot-b5lhB35d.cjs +1 -0
  120. package/dist/vue-ui-table-NHhOVDbs.cjs +14 -0
  121. package/dist/vue-ui-table-heatmap-Cro2etCY.js +237 -0
  122. package/dist/vue-ui-table-heatmap-DlL2nCqz.cjs +1 -0
  123. package/dist/vue-ui-table-sparkline-Bw2Gc_ur.cjs +1 -0
  124. package/dist/vue-ui-table-sparkline-DppMitqF.js +420 -0
  125. package/dist/vue-ui-table-xSvwJIa7.js +1430 -0
  126. package/dist/vue-ui-thermometer-M2kdp1x5.js +385 -0
  127. package/dist/vue-ui-thermometer-Q_3PX2V3.cjs +1 -0
  128. package/dist/vue-ui-timer-BtSDeIRp.cjs +64 -0
  129. package/dist/vue-ui-timer-CAaQ-QD6.js +453 -0
  130. package/dist/vue-ui-tiremarks-CbGOSEvD.cjs +1 -0
  131. package/dist/vue-ui-tiremarks-JFv4JLP0.js +249 -0
  132. package/dist/vue-ui-treemap-BqDX-bPf.cjs +1 -0
  133. package/dist/vue-ui-treemap-DCnv-xYr.js +722 -0
  134. package/dist/vue-ui-vertical-bar-CEbApJZl.js +737 -0
  135. package/dist/vue-ui-vertical-bar-CJB_KXyr.cjs +4 -0
  136. package/dist/vue-ui-waffle-CTS6C7gu.js +638 -0
  137. package/dist/vue-ui-waffle-IMEbGe-b.cjs +1 -0
  138. package/dist/vue-ui-wheel-CuOmEWMQ.cjs +1 -0
  139. package/dist/vue-ui-wheel-_zyCdFiI.js +227 -0
  140. package/dist/vue-ui-word-cloud-RDlXBEAN.js +346 -0
  141. package/dist/vue-ui-word-cloud-Y7Yk7uUJ.cjs +1 -0
  142. package/dist/vue-ui-xy-BZJQBKnU.cjs +3 -0
  143. package/dist/vue-ui-xy-DsvN9EIQ.js +2064 -0
  144. package/dist/vue-ui-xy-canvas-D_dnbyFS.cjs +9 -0
  145. package/dist/vue-ui-xy-canvas-Dbcw8-9Q.js +1006 -0
  146. package/package.json +1 -1
  147. package/dist/index-C6KVJkgd.cjs +0 -843
  148. package/dist/index-bDBuMYfe.js +0 -57303
@@ -0,0 +1,454 @@
1
+ import { computed as f, onMounted as _e, ref as k, openBlock as r, createElementBlock as v, normalizeClass as oe, normalizeStyle as w, createVNode as ae, createCommentVNode as L, createBlock as G, unref as g, createSlots as Ne, withCtx as b, renderSlot as $, normalizeProps as Te, guardReactiveProps as Pe, createElementVNode as E, Fragment as N, renderList as T, toDisplayString as B, createTextVNode as Fe, nextTick as Ie } from "vue";
2
+ import { u as He, o as Le, e as Ee, c as ne, t as Oe, a as Me, p as A, b as Se, f as se, X as ze, C as ue, E as Ye, n as De, q as Ge } from "./index-uOtklCCx.js";
3
+ import { _ as Be } from "./Title-2iks1ziC.js";
4
+ import { u as Ae, U as Ue } from "./usePrinter-B6xQCyL-.js";
5
+ import { D as Ve } from "./DataTable-CwaOlAsy.js";
6
+ import je from "./vue-ui-accordion-HJPf7My0.js";
7
+ import Xe from "./vue-ui-skeleton-BM9rwmxY.js";
8
+ import { u as re } from "./useNestedProp-BgWkUab_.js";
9
+ import { _ as We } from "./_plugin-vue_export-helper-CHgC5LLL.js";
10
+ const qe = ["id"], Re = ["xmlns", "viewBox"], Ze = ["id"], Je = ["stop-color"], Ke = ["stop-color"], Qe = ["d", "fill", "stroke", "stroke-width"], et = ["x", "y", "height", "width", "fill", "stroke", "stroke-width", "onMouseenter"], tt = ["x", "y", "font-size", "fill"], lt = ["x", "y", "font-size", "fill"], ot = ["innerHTML"], at = {
11
+ __name: "vue-ui-flow",
12
+ props: {
13
+ config: {
14
+ type: Object,
15
+ default() {
16
+ return {};
17
+ }
18
+ },
19
+ dataset: {
20
+ type: Array,
21
+ default() {
22
+ return [];
23
+ }
24
+ }
25
+ },
26
+ setup(ie, { expose: ce }) {
27
+ const h = ie, { vue_ui_flow: de } = He(), O = f(() => !!h.dataset && h.dataset.length);
28
+ _e(() => {
29
+ Le(h.dataset) && Ee({
30
+ componentName: "VueUiFlow",
31
+ type: "dataset"
32
+ });
33
+ });
34
+ const M = k(ne()), U = k(null), V = k(0), _ = k(!1);
35
+ function ve(o) {
36
+ _.value = o, V.value += 1;
37
+ }
38
+ const e = f(() => {
39
+ const o = re({
40
+ userConfig: h.config,
41
+ defaultConfig: de
42
+ });
43
+ return o.theme ? {
44
+ ...re({
45
+ userConfig: Oe.vue_ui_flow[o.theme] || h.config,
46
+ defaultConfig: o
47
+ }),
48
+ customPalette: Me[o.theme] || A
49
+ } : o;
50
+ }), { isPrinting: fe, isImaging: he, generatePdf: j, generateImage: X } = Ae({
51
+ elementId: `flow_${M.value}`,
52
+ fileName: e.value.style.chart.title.text || "vue-ui-flow"
53
+ }), S = f(() => Se(e.value.customPalette)), W = f(() => e.value.style.chart.nodes.gap), C = f(() => e.value.style.chart.nodes.width), P = k({
54
+ showTable: e.value.table.show
55
+ }), q = f(() => e.value.style.chart.links.width), R = f(() => {
56
+ const o = {};
57
+ function l(s) {
58
+ o[s] || (o[s] = { inflow: 0, outflow: 0 });
59
+ }
60
+ h.dataset.forEach(([s, a, i]) => {
61
+ l(s), l(a), o[s].outflow += i, o[a].inflow += i;
62
+ });
63
+ let t = 0;
64
+ for (const s in o) {
65
+ const a = Math.max(o[s].inflow, o[s].outflow);
66
+ t = Math.max(t, a);
67
+ }
68
+ return t;
69
+ });
70
+ function me(o) {
71
+ return o / R.value * 100 + e.value.style.chart.nodes.minHeight;
72
+ }
73
+ function ge(o) {
74
+ const l = e.value.style.chart.nodes.minHeight;
75
+ return (o - l) / 100 * R.value;
76
+ }
77
+ function pe(o) {
78
+ const l = {}, t = {};
79
+ function s(n, u) {
80
+ l[n] || (l[n] = { height: 0, level: null, inflow: 0, outflow: 0 }), l[n].level === null && (l[n].level = u), t[u] || (t[u] = []), t[u].includes(n) || t[u].push(n);
81
+ }
82
+ o.forEach(([n, u, c], x) => {
83
+ const y = l[n] ? l[n].level : 0, H = y + 1;
84
+ s(n, y), s(u, H), l[n].children || (l[n].children = []), l[n].children.push({ target: u, value: c }), l[n].outflow += c, l[u].inflow += c;
85
+ }), Object.keys(l).forEach((n, u) => {
86
+ l[n].color = S.value[u] || S.value[u % S.value.length] || A[u] || A[u % d.length];
87
+ });
88
+ for (const n in l)
89
+ l[n].height = me(Math.max(l[n].inflow, l[n].outflow)), l[n].name = n;
90
+ const a = {};
91
+ for (const n in t) {
92
+ let u = 0;
93
+ t[n].forEach((c, x) => {
94
+ const y = l[c].height;
95
+ a[c] = {
96
+ x: parseInt(n, 10) * q.value + e.value.style.chart.padding.left,
97
+ y: u,
98
+ absoluteY: u,
99
+ height: y,
100
+ i: x,
101
+ color: l[c].color,
102
+ value: ge(y)
103
+ }, u += y + W.value;
104
+ });
105
+ }
106
+ const i = [];
107
+ for (const n in l) {
108
+ let u = a[n].absoluteY;
109
+ l[n].children && l[n].children.forEach(({ target: c, value: x }, y) => {
110
+ const H = a[c].y, Y = a[n], D = a[c], Q = u, ee = u + x / l[n].outflow * Y.height, te = H, le = H + x / l[c].inflow * D.height, $e = {
111
+ id: ne(),
112
+ source: n,
113
+ target: c,
114
+ path: `M ${Y.x + C.value} ${Q} L ${Y.x + C.value} ${ee} L ${D.x} ${le} L ${D.x} ${te} Z`,
115
+ value: x,
116
+ sourceColor: l[n].color,
117
+ targetColor: l[c].color
118
+ };
119
+ i.push($e), u += ee - Q, a[c].y += le - te;
120
+ });
121
+ }
122
+ return { nodeCoordinates: a, links: i };
123
+ }
124
+ const m = f(() => {
125
+ const o = pe(h.dataset);
126
+ return {
127
+ nodes: Object.keys(o.nodeCoordinates).map((l, t) => ({
128
+ ...o.nodeCoordinates[l],
129
+ name: l
130
+ })),
131
+ links: o.links
132
+ };
133
+ }), be = f(() => ye(m.value.nodes));
134
+ function ye(o) {
135
+ const l = {};
136
+ for (const s in o) {
137
+ const { x: a, height: i } = o[s];
138
+ l[a] || (l[a] = 0), l[a] += i + W.value;
139
+ }
140
+ return Math.max(...Object.values(l));
141
+ }
142
+ const z = f(() => {
143
+ const { top: o, right: l, left: t, bottom: s } = e.value.style.chart.padding, a = h.dataset.length * q.value;
144
+ return {
145
+ height: be.value + o + s,
146
+ width: l + Math.max(...m.value.nodes.map((i) => i.x)) + C.value,
147
+ left: t,
148
+ top: o,
149
+ right: a - l,
150
+ p_top: o,
151
+ p_bottom: s
152
+ };
153
+ });
154
+ function ke(o) {
155
+ const l = {}, t = {}, s = /* @__PURE__ */ new Set();
156
+ return h.dataset.forEach(([a, i, n]) => {
157
+ l[a] || (l[a] = []), t[i] || (t[i] = []), l[a].push(i), t[i].push(a);
158
+ }), l[o] && l[o].forEach((a) => s.add(a)), t[o] && t[o].forEach((a) => s.add(a)), Array.from(s).concat(o);
159
+ }
160
+ const p = k(null), F = k(null);
161
+ function we(o) {
162
+ p.value = ke(o.name), F.value = o.name;
163
+ }
164
+ function Ce() {
165
+ p.value = null, F.value = null;
166
+ }
167
+ const Z = f(() => m.value.links.map(({ source: o, target: l, sourceColor: t, targetColor: s, value: a }) => ({
168
+ source: o,
169
+ target: l,
170
+ sourceColor: t,
171
+ targetColor: s,
172
+ value: a
173
+ })));
174
+ function J() {
175
+ Ie(() => {
176
+ const o = Z.value.map((s, a) => [
177
+ [s.source],
178
+ [s.target],
179
+ [s.value]
180
+ ]), l = [
181
+ [e.value.style.chart.title.text],
182
+ [e.value.style.chart.title.subtitle.text],
183
+ [
184
+ [e.value.table.columnNames.source],
185
+ [e.value.table.columnNames.target],
186
+ [e.value.table.columnNames.value]
187
+ ]
188
+ ].concat(o), t = De(l);
189
+ Ge({
190
+ csvContent: t,
191
+ title: e.value.style.chart.title.text || "vue-ui-flow"
192
+ });
193
+ });
194
+ }
195
+ const I = f(() => {
196
+ const o = [
197
+ e.value.table.columnNames.source,
198
+ e.value.table.columnNames.target,
199
+ e.value.table.columnNames.value
200
+ ], l = Z.value.map((a, i) => [
201
+ {
202
+ color: a.sourceColor,
203
+ name: a.source
204
+ },
205
+ {
206
+ color: a.targetColor,
207
+ name: a.target
208
+ },
209
+ se({
210
+ p: e.value.style.chart.nodes.labels.prefix,
211
+ v: a.value,
212
+ s: e.value.style.chart.nodes.labels.suffix,
213
+ r: e.value.style.chart.nodes.labels.rounding
214
+ })
215
+ ]), t = {
216
+ th: {
217
+ backgroundColor: e.value.table.th.backgroundColor,
218
+ color: e.value.table.th.color,
219
+ outline: e.value.table.th.outline
220
+ },
221
+ td: {
222
+ backgroundColor: e.value.table.td.backgroundColor,
223
+ color: e.value.table.td.color,
224
+ outline: e.value.table.td.outline
225
+ },
226
+ breakpoint: e.value.table.responsiveBreakpoint
227
+ };
228
+ return {
229
+ colNames: [
230
+ e.value.table.columnNames.source,
231
+ e.value.table.columnNames.target,
232
+ e.value.table.columnNames.value
233
+ ],
234
+ head: o,
235
+ body: l,
236
+ config: t
237
+ };
238
+ });
239
+ function xe() {
240
+ return m.value;
241
+ }
242
+ function K() {
243
+ P.value.showTable = !P.value.showTable;
244
+ }
245
+ return ce({
246
+ getData: xe,
247
+ generateCsv: J,
248
+ generateImage: X,
249
+ generatePdf: j,
250
+ toggleTable: K
251
+ }), (o, l) => (r(), v("div", {
252
+ ref_key: "flowChart",
253
+ ref: U,
254
+ class: oe(`vue-ui-flow ${_.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
255
+ style: w(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;${e.value.style.chart.title.text ? "" : "padding-top:36px"};background:${e.value.style.chart.backgroundColor}`),
256
+ id: `flow_${M.value}`
257
+ }, [
258
+ e.value.style.chart.title.text ? (r(), v("div", {
259
+ key: 0,
260
+ style: w(`width:100%;background:${e.value.style.chart.backgroundColor};padding-bottom:24px`)
261
+ }, [
262
+ ae(Be, {
263
+ config: {
264
+ title: {
265
+ cy: "flow-title",
266
+ ...e.value.style.chart.title
267
+ },
268
+ subtitle: {
269
+ cy: "flow-subtitle",
270
+ ...e.value.style.chart.title.subtitle
271
+ }
272
+ }
273
+ }, null, 8, ["config"])
274
+ ], 4)) : L("", !0),
275
+ e.value.userOptions.show && O.value ? (r(), G(Ue, {
276
+ ref: "details",
277
+ key: `user_option_${V.value}`,
278
+ backgroundColor: e.value.style.chart.backgroundColor,
279
+ color: e.value.style.chart.color,
280
+ isPrinting: g(fe),
281
+ isImaging: g(he),
282
+ uid: M.value,
283
+ hasPdf: e.value.userOptions.buttons.pdf,
284
+ hasXls: e.value.userOptions.buttons.csv,
285
+ hasImg: e.value.userOptions.buttons.img,
286
+ hasTable: e.value.userOptions.buttons.table,
287
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
288
+ isFullscreen: _.value,
289
+ titles: { ...e.value.userOptions.buttonTitles },
290
+ chartElement: U.value,
291
+ onToggleFullscreen: ve,
292
+ onGeneratePdf: g(j),
293
+ onGenerateCsv: J,
294
+ onGenerateImage: g(X),
295
+ onToggleTable: K
296
+ }, Ne({ _: 2 }, [
297
+ o.$slots.optionPdf ? {
298
+ name: "optionPdf",
299
+ fn: b(() => [
300
+ $(o.$slots, "optionPdf", {}, void 0, !0)
301
+ ]),
302
+ key: "0"
303
+ } : void 0,
304
+ o.$slots.optionCsv ? {
305
+ name: "optionCsv",
306
+ fn: b(() => [
307
+ $(o.$slots, "optionCsv", {}, void 0, !0)
308
+ ]),
309
+ key: "1"
310
+ } : void 0,
311
+ o.$slots.optionImg ? {
312
+ name: "optionImg",
313
+ fn: b(() => [
314
+ $(o.$slots, "optionImg", {}, void 0, !0)
315
+ ]),
316
+ key: "2"
317
+ } : void 0,
318
+ o.$slots.optionTable ? {
319
+ name: "optionTable",
320
+ fn: b(() => [
321
+ $(o.$slots, "optionTable", {}, void 0, !0)
322
+ ]),
323
+ key: "3"
324
+ } : void 0,
325
+ o.$slots.optionFullscreen ? {
326
+ name: "optionFullscreen",
327
+ fn: b(({ toggleFullscreen: t, isFullscreen: s }) => [
328
+ $(o.$slots, "optionFullscreen", Te(Pe({ toggleFullscreen: t, isFullscreen: s })), void 0, !0)
329
+ ]),
330
+ key: "4"
331
+ } : void 0
332
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasXls", "hasImg", "hasTable", "hasFullscreen", "isFullscreen", "titles", "chartElement", "onGeneratePdf", "onGenerateImage"])) : L("", !0),
333
+ (r(), v("svg", {
334
+ xmlns: g(ze),
335
+ viewBox: `0 0 ${z.value.width} ${z.value.height}`,
336
+ class: oe({ "vue-data-ui-fullscreen--on": _.value, "vue-data-ui-fulscreen--off": !_.value }),
337
+ style: w(`max-width:100%; overflow: visible; background:${e.value.style.chart.backgroundColor};color:${e.value.style.chart.color}`)
338
+ }, [
339
+ E("defs", null, [
340
+ (r(!0), v(N, null, T(m.value.links, (t, s) => (r(), v("linearGradient", {
341
+ id: t.id,
342
+ x1: "0%",
343
+ y1: "0%",
344
+ x2: "100%",
345
+ y2: "0%"
346
+ }, [
347
+ E("stop", {
348
+ offset: "0%",
349
+ "stop-color": t.sourceColor
350
+ }, null, 8, Je),
351
+ E("stop", {
352
+ offset: "100%",
353
+ "stop-color": t.targetColor
354
+ }, null, 8, Ke)
355
+ ], 8, Ze))), 256))
356
+ ]),
357
+ (r(!0), v(N, null, T(m.value.links, (t) => (r(), v("path", {
358
+ class: "vue-ui-flow-link",
359
+ d: t.path,
360
+ fill: `url(#${t.id})`,
361
+ stroke: e.value.style.chart.links.stroke,
362
+ "stroke-width": e.value.style.chart.links.strokeWidth,
363
+ style: w(`opacity:${F.value ? [t.target, t.source].includes(F.value) ? 1 : 0.3 : e.value.style.chart.links.opacity}`)
364
+ }, null, 12, Qe))), 256)),
365
+ (r(!0), v(N, null, T(m.value.nodes, (t, s) => (r(), v("rect", {
366
+ class: "vue-ui-flow-node",
367
+ x: t.x,
368
+ y: t.absoluteY,
369
+ height: t.height,
370
+ width: C.value,
371
+ fill: t.color,
372
+ stroke: e.value.style.chart.nodes.stroke,
373
+ "stroke-width": e.value.style.chart.nodes.strokeWidth,
374
+ onMouseenter: (a) => we(t),
375
+ onMouseleave: l[0] || (l[0] = (a) => Ce()),
376
+ style: w(`opacity:${p.value ? p.value.includes(t.name) ? 1 : 0.2 : 1}`)
377
+ }, null, 44, et))), 256)),
378
+ (r(!0), v(N, null, T(m.value.nodes, (t, s) => (r(), v("text", {
379
+ x: t.x + C.value / 2,
380
+ y: t.absoluteY + t.height / 2 - e.value.style.chart.nodes.labels.fontSize / 4,
381
+ "font-size": e.value.style.chart.nodes.labels.fontSize,
382
+ fill: g(ue)(t.color),
383
+ "text-anchor": "middle",
384
+ style: w(`pointer-events: none; opacity:${p.value ? p.value.includes(t.name) ? 1 : 0 : 1}`)
385
+ }, B(e.value.style.chart.nodes.labels.abbreviation.use ? g(Ye)({ source: t.name, length: e.value.style.chart.nodes.labels.abbreviation.length }) : t.name), 13, tt))), 256)),
386
+ (r(!0), v(N, null, T(m.value.nodes, (t, s) => (r(), v("text", {
387
+ x: t.x + C.value / 2,
388
+ y: t.absoluteY + t.height / 2 + e.value.style.chart.nodes.labels.fontSize,
389
+ "font-size": e.value.style.chart.nodes.labels.fontSize,
390
+ fill: g(ue)(t.color),
391
+ "text-anchor": "middle",
392
+ style: w(`pointer-events: none; opacity:${p.value ? p.value.includes(t.name) ? 1 : 0 : 1}`)
393
+ }, B(g(se)({
394
+ p: e.value.style.chart.nodes.labels.prefix,
395
+ v: t.value,
396
+ s: e.value.style.chart.nodes.labels.suffix,
397
+ r: e.value.style.chart.nodes.labels.rounding
398
+ })), 13, lt))), 256)),
399
+ $(o.$slots, "svg", { svg: z.value }, void 0, !0)
400
+ ], 14, Re)),
401
+ O.value ? L("", !0) : (r(), G(Xe, {
402
+ key: 2,
403
+ config: {
404
+ type: "flow",
405
+ style: {
406
+ backgroundColor: e.value.style.chart.backgroundColor
407
+ }
408
+ }
409
+ }, null, 8, ["config"])),
410
+ O.value ? (r(), G(je, {
411
+ key: 3,
412
+ hideDetails: "",
413
+ config: {
414
+ open: P.value.showTable,
415
+ maxHeight: 1e4,
416
+ body: {
417
+ backgroundColor: e.value.style.chart.backgroundColor,
418
+ color: e.value.style.chart.color
419
+ },
420
+ head: {
421
+ backgroundColor: e.value.style.chart.backgroundColor,
422
+ color: e.value.style.chart.color
423
+ }
424
+ }
425
+ }, {
426
+ content: b(() => [
427
+ ae(Ve, {
428
+ colNames: I.value.colNames,
429
+ head: I.value.head,
430
+ body: I.value.body,
431
+ config: I.value.config,
432
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? ` : ${e.value.style.chart.title.subtitle.text}` : ""}`,
433
+ onClose: l[1] || (l[1] = (t) => P.value.showTable = !1)
434
+ }, {
435
+ th: b(({ th: t }) => [
436
+ E("div", {
437
+ innerHTML: t,
438
+ style: { display: "flex", "align-items": "center" }
439
+ }, null, 8, ot)
440
+ ]),
441
+ td: b(({ td: t }) => [
442
+ Fe(B(t.name || t), 1)
443
+ ]),
444
+ _: 1
445
+ }, 8, ["colNames", "head", "body", "config", "title"])
446
+ ]),
447
+ _: 1
448
+ }, 8, ["config"])) : L("", !0)
449
+ ], 14, qe));
450
+ }
451
+ }, ht = /* @__PURE__ */ We(at, [["__scopeId", "data-v-f8a1c2bf"]]);
452
+ export {
453
+ ht as default
454
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),i=require("./index-p5gfZSvB.cjs"),ue=require("./Title-Bb-A5OSV.cjs"),U=require("./usePrinter-fZlsJid8.cjs"),ie=require("./DataTable-Rm9II-m2.cjs"),ce=require("./vue-ui-accordion-C_pwrAJl.cjs"),de=require("./vue-ui-skeleton-sjfOtCZr.cjs"),j=require("./useNestedProp-2kIU-7On.cjs"),ve=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),fe=["id"],he=["xmlns","viewBox"],me=["id"],ge=["stop-color"],pe=["stop-color"],ye=["d","fill","stroke","stroke-width"],be=["x","y","height","width","fill","stroke","stroke-width","onMouseenter"],ke=["x","y","font-size","fill"],we=["x","y","font-size","fill"],Ce=["innerHTML"],xe={__name:"vue-ui-flow",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},setup(A,{expose:W}){const f=A,{vue_ui_flow:X}=i.useConfig(),$=e.computed(()=>!!f.dataset&&f.dataset.length);e.onMounted(()=>{i.objectIsEmpty(f.dataset)&&i.error({componentName:"VueUiFlow",type:"dataset"})});const B=e.ref(i.createUid()),T=e.ref(null),P=e.ref(0),b=e.ref(!1);function R(n){b.value=n,P.value+=1}const t=e.computed(()=>{const n=j.useNestedProp({userConfig:f.config,defaultConfig:X});return n.theme?{...j.useNestedProp({userConfig:i.themes.vue_ui_flow[n.theme]||f.config,defaultConfig:n}),customPalette:i.themePalettes[n.theme]||i.palette}:n}),{isPrinting:Z,isImaging:J,generatePdf:F,generateImage:L}=U.usePrinter({elementId:`flow_${B.value}`,fileName:t.value.style.chart.title.text||"vue-ui-flow"}),N=e.computed(()=>i.convertCustomPalette(t.value.customPalette)),z=e.computed(()=>t.value.style.chart.nodes.gap),p=e.computed(()=>t.value.style.chart.nodes.width),k=e.ref({showTable:t.value.table.show}),I=e.computed(()=>t.value.style.chart.links.width),H=e.computed(()=>{const n={};function o(r){n[r]||(n[r]={inflow:0,outflow:0})}f.dataset.forEach(([r,a,c])=>{o(r),o(a),n[r].outflow+=c,n[a].inflow+=c});let l=0;for(const r in n){const a=Math.max(n[r].inflow,n[r].outflow);l=Math.max(l,a)}return l});function K(n){return n/H.value*100+t.value.style.chart.nodes.minHeight}function Q(n){const o=t.value.style.chart.nodes.minHeight;return(n-o)/100*H.value}function ee(n){const o={},l={};function r(s,u){o[s]||(o[s]={height:0,level:null,inflow:0,outflow:0}),o[s].level===null&&(o[s].level=u),l[u]||(l[u]=[]),l[u].includes(s)||l[u].push(s)}n.forEach(([s,u,v],y)=>{const g=o[s]?o[s].level:0,x=g+1;r(s,g),r(u,x),o[s].children||(o[s].children=[]),o[s].children.push({target:u,value:v}),o[s].outflow+=v,o[u].inflow+=v}),Object.keys(o).forEach((s,u)=>{o[s].color=N.value[u]||N.value[u%N.value.length]||i.palette[u]||i.palette[u%d.length]});for(const s in o)o[s].height=K(Math.max(o[s].inflow,o[s].outflow)),o[s].name=s;const a={};for(const s in l){let u=0;l[s].forEach((v,y)=>{const g=o[v].height;a[v]={x:parseInt(s,10)*I.value+t.value.style.chart.padding.left,y:u,absoluteY:u,height:g,i:y,color:o[v].color,value:Q(g)},u+=g+z.value})}const c=[];for(const s in o){let u=a[s].absoluteY;o[s].children&&o[s].children.forEach(({target:v,value:y},g)=>{const x=a[v].y,E=a[s],S=a[v],Y=u,D=u+y/o[s].outflow*E.height,q=x,G=x+y/o[v].inflow*S.height,re={id:i.createUid(),source:s,target:v,path:`M ${E.x+p.value} ${Y} L ${E.x+p.value} ${D} L ${S.x} ${G} L ${S.x} ${q} Z`,value:y,sourceColor:o[s].color,targetColor:o[v].color};c.push(re),u+=D-Y,a[v].y+=G-q})}return{nodeCoordinates:a,links:c}}const h=e.computed(()=>{const n=ee(f.dataset);return{nodes:Object.keys(n.nodeCoordinates).map((o,l)=>({...n.nodeCoordinates[o],name:o})),links:n.links}}),te=e.computed(()=>le(h.value.nodes));function le(n){const o={};for(const r in n){const{x:a,height:c}=n[r];o[a]||(o[a]=0),o[a]+=c+z.value}return Math.max(...Object.values(o))}const _=e.computed(()=>{const{top:n,right:o,left:l,bottom:r}=t.value.style.chart.padding,a=f.dataset.length*I.value;return{height:te.value+n+r,width:o+Math.max(...h.value.nodes.map(c=>c.x))+p.value,left:l,top:n,right:a-o,p_top:n,p_bottom:r}});function oe(n){const o={},l={},r=new Set;return f.dataset.forEach(([a,c,s])=>{o[a]||(o[a]=[]),l[c]||(l[c]=[]),o[a].push(c),l[c].push(a)}),o[n]&&o[n].forEach(a=>r.add(a)),l[n]&&l[n].forEach(a=>r.add(a)),Array.from(r).concat(n)}const m=e.ref(null),w=e.ref(null);function ne(n){m.value=oe(n.name),w.value=n.name}function ae(){m.value=null,w.value=null}const O=e.computed(()=>h.value.links.map(({source:n,target:o,sourceColor:l,targetColor:r,value:a})=>({source:n,target:o,sourceColor:l,targetColor:r,value:a})));function M(){e.nextTick(()=>{const n=O.value.map((r,a)=>[[r.source],[r.target],[r.value]]),o=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[t.value.table.columnNames.source],[t.value.table.columnNames.target],[t.value.table.columnNames.value]]].concat(n),l=i.createCsvContent(o);i.downloadCsv({csvContent:l,title:t.value.style.chart.title.text||"vue-ui-flow"})})}const C=e.computed(()=>{const n=[t.value.table.columnNames.source,t.value.table.columnNames.target,t.value.table.columnNames.value],o=O.value.map((a,c)=>[{color:a.sourceColor,name:a.source},{color:a.targetColor,name:a.target},i.dataLabel({p:t.value.style.chart.nodes.labels.prefix,v:a.value,s:t.value.style.chart.nodes.labels.suffix,r:t.value.style.chart.nodes.labels.rounding})]),l={th:{backgroundColor:t.value.table.th.backgroundColor,color:t.value.table.th.color,outline:t.value.table.th.outline},td:{backgroundColor:t.value.table.td.backgroundColor,color:t.value.table.td.color,outline:t.value.table.td.outline},breakpoint:t.value.table.responsiveBreakpoint};return{colNames:[t.value.table.columnNames.source,t.value.table.columnNames.target,t.value.table.columnNames.value],head:n,body:o,config:l}});function se(){return h.value}function V(){k.value.showTable=!k.value.showTable}return W({getData:se,generateCsv:M,generateImage:L,generatePdf:F,toggleTable:V}),(n,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"flowChart",ref:T,class:e.normalizeClass(`vue-ui-flow ${b.value?"vue-data-ui-wrapper-fullscreen":""}`),style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; text-align:center;${t.value.style.chart.title.text?"":"padding-top:36px"};background:${t.value.style.chart.backgroundColor}`),id:`flow_${B.value}`},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:24px`)},[e.createVNode(ue._sfc_main,{config:{title:{cy:"flow-title",...t.value.style.chart.title},subtitle:{cy:"flow-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&$.value?(e.openBlock(),e.createBlock(U.UserOptions,{ref:"details",key:`user_option_${P.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(Z),isImaging:e.unref(J),uid:B.value,hasPdf:t.value.userOptions.buttons.pdf,hasXls:t.value.userOptions.buttons.csv,hasImg:t.value.userOptions.buttons.img,hasTable:t.value.userOptions.buttons.table,hasFullscreen:t.value.userOptions.buttons.fullscreen,isFullscreen:b.value,titles:{...t.value.userOptions.buttonTitles},chartElement:T.value,onToggleFullscreen:R,onGeneratePdf:e.unref(F),onGenerateCsv:M,onGenerateImage:e.unref(L),onToggleTable:V},e.createSlots({_:2},[n.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"optionPdf",{},void 0,!0)]),key:"0"}:void 0,n.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"optionCsv",{},void 0,!0)]),key:"1"}:void 0,n.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"optionImg",{},void 0,!0)]),key:"2"}:void 0,n.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"optionTable",{},void 0,!0)]),key:"3"}:void 0,n.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:r})=>[e.renderSlot(n.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:r})),void 0,!0)]),key:"4"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isFullscreen","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{xmlns:e.unref(i.XMLNS),viewBox:`0 0 ${_.value.width} ${_.value.height}`,class:e.normalizeClass({"vue-data-ui-fullscreen--on":b.value,"vue-data-ui-fulscreen--off":!b.value}),style:e.normalizeStyle(`max-width:100%; overflow: visible; background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.links,(l,r)=>(e.openBlock(),e.createElementBlock("linearGradient",{id:l.id,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":l.sourceColor},null,8,ge),e.createElementVNode("stop",{offset:"100%","stop-color":l.targetColor},null,8,pe)],8,me))),256))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.links,l=>(e.openBlock(),e.createElementBlock("path",{class:"vue-ui-flow-link",d:l.path,fill:`url(#${l.id})`,stroke:t.value.style.chart.links.stroke,"stroke-width":t.value.style.chart.links.strokeWidth,style:e.normalizeStyle(`opacity:${w.value?[l.target,l.source].includes(w.value)?1:.3:t.value.style.chart.links.opacity}`)},null,12,ye))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.nodes,(l,r)=>(e.openBlock(),e.createElementBlock("rect",{class:"vue-ui-flow-node",x:l.x,y:l.absoluteY,height:l.height,width:p.value,fill:l.color,stroke:t.value.style.chart.nodes.stroke,"stroke-width":t.value.style.chart.nodes.strokeWidth,onMouseenter:a=>ne(l),onMouseleave:o[0]||(o[0]=a=>ae()),style:e.normalizeStyle(`opacity:${m.value?m.value.includes(l.name)?1:.2:1}`)},null,44,be))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.nodes,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:l.x+p.value/2,y:l.absoluteY+l.height/2-t.value.style.chart.nodes.labels.fontSize/4,"font-size":t.value.style.chart.nodes.labels.fontSize,fill:e.unref(i.adaptColorToBackground)(l.color),"text-anchor":"middle",style:e.normalizeStyle(`pointer-events: none; opacity:${m.value?m.value.includes(l.name)?1:0:1}`)},e.toDisplayString(t.value.style.chart.nodes.labels.abbreviation.use?e.unref(i.abbreviate)({source:l.name,length:t.value.style.chart.nodes.labels.abbreviation.length}):l.name),13,ke))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.nodes,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:l.x+p.value/2,y:l.absoluteY+l.height/2+t.value.style.chart.nodes.labels.fontSize,"font-size":t.value.style.chart.nodes.labels.fontSize,fill:e.unref(i.adaptColorToBackground)(l.color),"text-anchor":"middle",style:e.normalizeStyle(`pointer-events: none; opacity:${m.value?m.value.includes(l.name)?1:0:1}`)},e.toDisplayString(e.unref(i.dataLabel)({p:t.value.style.chart.nodes.labels.prefix,v:l.value,s:t.value.style.chart.nodes.labels.suffix,r:t.value.style.chart.nodes.labels.rounding})),13,we))),256)),e.renderSlot(n.$slots,"svg",{svg:_.value},void 0,!0)],14,he)),$.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(de.default,{key:2,config:{type:"flow",style:{backgroundColor:t.value.style.chart.backgroundColor}}},null,8,["config"])),$.value?(e.openBlock(),e.createBlock(ce.default,{key:3,hideDetails:"",config:{open:k.value.showTable,maxHeight:1e4,body:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color},head:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color}}},{content:e.withCtx(()=>[e.createVNode(ie.DataTable,{colNames:C.value.colNames,head:C.value.head,body:C.value.body,config:C.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:o[1]||(o[1]=l=>k.value.showTable=!1)},{th:e.withCtx(({th:l})=>[e.createElementVNode("div",{innerHTML:l,style:{display:"flex","align-items":"center"}},null,8,Ce)]),td:e.withCtx(({td:l})=>[e.createTextVNode(e.toDisplayString(l.name||l),1)]),_:1},8,["colNames","head","body","config","title"])]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,fe))}},$e=ve._export_sfc(xe,[["__scopeId","data-v-f8a1c2bf"]]);exports.default=$e;