vue-data-ui 3.2.8 → 3.3.1

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 (159) hide show
  1. package/dist/{Arrow-Bb0bGghy.js → Arrow-DLi6NnGD.js} +1 -1
  2. package/dist/{BaseDraggableDialog-CHhZIht2.js → BaseDraggableDialog-CVGErydD.js} +2 -2
  3. package/dist/{BaseIcon-Bz-1GQhu.js → BaseIcon-eZbszQrv.js} +4 -3
  4. package/dist/{ColorPicker-B-WUqMoV.js → ColorPicker-BoPM4Ejg.js} +2 -2
  5. package/dist/{DataTable-BvjacRbw.js → DataTable-yAMEyP6y.js} +2 -2
  6. package/dist/{Legend-BpoFJ8fc.js → Legend-By4rru90.js} +2 -2
  7. package/dist/{NonSvgPenAndPaper-l9giyY1Z.js → NonSvgPenAndPaper-C7QqIewT.js} +3 -3
  8. package/dist/{PackageVersion-C40g0Rfc.js → PackageVersion-BfykJm_B.js} +1 -1
  9. package/dist/{PenAndPaper-CR8q353D.js → PenAndPaper-Bo-lMUik.js} +3 -3
  10. package/dist/{Shape-C_C_OmqR.js → Shape-BceHSLHf.js} +1 -1
  11. package/dist/{Slicer-BA2GhOmY.js → Slicer-Znzt0gSE.js} +2 -2
  12. package/dist/{SparkTooltip-Dz1PDE_h.js → SparkTooltip--YwqrrgZ.js} +1 -1
  13. package/dist/{Title-DG2nloSB.js → Title-Camz1Lce.js} +1 -1
  14. package/dist/{Tooltip-BOXz8skU.js → Tooltip-VOcQEHa4.js} +1 -1
  15. package/dist/{UserOptions-DsTgvAok.js → UserOptions-CSja1SGU.js} +168 -126
  16. package/dist/components/arrow.js +1 -1
  17. package/dist/components/vue-ui-3d-bar.js +1 -1
  18. package/dist/components/vue-ui-accordion.js +1 -1
  19. package/dist/components/vue-ui-age-pyramid.js +1 -1
  20. package/dist/components/vue-ui-annotator.js +1 -1
  21. package/dist/components/vue-ui-bullet.js +1 -1
  22. package/dist/components/vue-ui-candlestick.js +1 -1
  23. package/dist/components/vue-ui-carousel-table.js +1 -1
  24. package/dist/components/vue-ui-chestnut.js +1 -1
  25. package/dist/components/vue-ui-chord.js +1 -1
  26. package/dist/components/vue-ui-circle-pack.js +1 -1
  27. package/dist/components/vue-ui-cursor.js +1 -1
  28. package/dist/components/vue-ui-dashboard.js +1 -1
  29. package/dist/components/vue-ui-digits.js +1 -1
  30. package/dist/components/vue-ui-donut-evolution.js +1 -1
  31. package/dist/components/vue-ui-donut.js +1 -1
  32. package/dist/components/vue-ui-dumbbell.js +1 -1
  33. package/dist/components/vue-ui-flow.js +1 -1
  34. package/dist/components/vue-ui-funnel.js +1 -1
  35. package/dist/components/vue-ui-galaxy.js +1 -1
  36. package/dist/components/vue-ui-gauge.js +1 -1
  37. package/dist/components/vue-ui-gizmo.js +1 -1
  38. package/dist/components/vue-ui-heatmap.js +1 -1
  39. package/dist/components/vue-ui-history-plot.js +1 -1
  40. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  41. package/dist/components/vue-ui-icon.js +1 -1
  42. package/dist/components/vue-ui-kpi.js +1 -1
  43. package/dist/components/vue-ui-mini-loader.js +1 -1
  44. package/dist/components/vue-ui-molecule.js +1 -1
  45. package/dist/components/vue-ui-mood-radar.js +1 -1
  46. package/dist/components/vue-ui-nested-donuts.js +1 -1
  47. package/dist/components/vue-ui-onion.js +1 -1
  48. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  49. package/dist/components/vue-ui-quadrant.js +1 -1
  50. package/dist/components/vue-ui-quick-chart.js +1 -1
  51. package/dist/components/vue-ui-radar.js +1 -1
  52. package/dist/components/vue-ui-rating.js +1 -1
  53. package/dist/components/vue-ui-relation-circle.js +1 -1
  54. package/dist/components/vue-ui-ridgeline.js +1 -1
  55. package/dist/components/vue-ui-rings.js +1 -1
  56. package/dist/components/vue-ui-scatter.js +1 -1
  57. package/dist/components/vue-ui-skeleton.js +1 -1
  58. package/dist/components/vue-ui-smiley.js +1 -1
  59. package/dist/components/vue-ui-spark-trend.js +1 -1
  60. package/dist/components/vue-ui-sparkbar.js +1 -1
  61. package/dist/components/vue-ui-sparkgauge.js +1 -1
  62. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  63. package/dist/components/vue-ui-sparkline.js +1 -1
  64. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  65. package/dist/components/vue-ui-stackbar.js +1 -1
  66. package/dist/components/vue-ui-strip-plot.js +1 -1
  67. package/dist/components/vue-ui-table-heatmap.js +1 -1
  68. package/dist/components/vue-ui-table-sparkline.js +1 -1
  69. package/dist/components/vue-ui-table.js +1 -1
  70. package/dist/components/vue-ui-thermometer.js +1 -1
  71. package/dist/components/vue-ui-timer.js +1 -1
  72. package/dist/components/vue-ui-tiremarks.js +1 -1
  73. package/dist/components/vue-ui-treemap.js +1 -1
  74. package/dist/components/vue-ui-vertical-bar.js +1 -1
  75. package/dist/components/vue-ui-waffle.js +1 -1
  76. package/dist/components/vue-ui-wheel.js +1 -1
  77. package/dist/components/vue-ui-word-cloud.js +1 -1
  78. package/dist/components/vue-ui-world.js +1 -1
  79. package/dist/components/vue-ui-xy-canvas.js +1 -1
  80. package/dist/components/vue-ui-xy.js +1 -1
  81. package/dist/{dom-to-png-BgvOdfyW.js → dom-to-png-DxyZSvDx.js} +1 -1
  82. package/dist/{img-DjWwQXVS.js → img-J2dLIr8Y.js} +1 -1
  83. package/dist/{lib-BEpWEyMm.js → lib-CEjkWSLj.js} +462 -446
  84. package/dist/{pdf-YD0ShN36.js → pdf-anN8VbM7.js} +1 -1
  85. package/dist/style.css +1 -1
  86. package/dist/types/vue-data-ui.d.ts +8 -1
  87. package/dist/{useAutoSizeLabelsInsideViewbox-BVJkib7z.js → useAutoSizeLabelsInsideViewbox-CovTrBjm.js} +1 -1
  88. package/dist/{useNestedProp-BOk-tPdu.js → useNestedProp-Ce3PwN8T.js} +291 -246
  89. package/dist/{usePrinter-w23K-ezx.js → usePrinter-DJ1iH-F_.js} +2 -2
  90. package/dist/useSvgExport-DrjCWun4.js +750 -0
  91. package/dist/vue-data-ui-j8Dnx_Ui.js +326 -0
  92. package/dist/vue-data-ui.js +68 -68
  93. package/dist/{vue-ui-3d-bar-Cf7zHemQ.js → vue-ui-3d-bar-Cml_eeEU.js} +358 -342
  94. package/dist/{vue-ui-accordion-CDIzGCG1.js → vue-ui-accordion-VTP418mC.js} +3 -3
  95. package/dist/{vue-ui-age-pyramid-T09D0LHr.js → vue-ui-age-pyramid-MULKSv5c.js} +228 -212
  96. package/dist/{vue-ui-annotator-3bUg-1Zy.js → vue-ui-annotator-CmwDyy9m.js} +7 -7
  97. package/dist/{vue-ui-bullet-DKgdFa2v.js → vue-ui-bullet-BHO5zu9m.js} +197 -179
  98. package/dist/{vue-ui-candlestick-g6PO_L_7.js → vue-ui-candlestick-B7EjAlSi.js} +278 -262
  99. package/dist/{vue-ui-carousel-table-Ch2xooE8.js → vue-ui-carousel-table-DXnYj0Gc.js} +4 -4
  100. package/dist/{vue-ui-chestnut-B-nzp0b6.js → vue-ui-chestnut-B1Usqda-.js} +425 -379
  101. package/dist/{vue-ui-chord-BqS8DoTd.js → vue-ui-chord-DgXH82Hg.js} +317 -299
  102. package/dist/{vue-ui-circle-pack-B1axDP9l.js → vue-ui-circle-pack-BQfaZFFz.js} +249 -233
  103. package/dist/{vue-ui-cursor-Detis-4Y.js → vue-ui-cursor-Dt8Zzw22.js} +2 -2
  104. package/dist/{vue-ui-dashboard-TXcw45j_.js → vue-ui-dashboard-C6xHAPp8.js} +67 -67
  105. package/dist/{vue-ui-digits-pW7YVqxy.js → vue-ui-digits-nKPRJ9Vz.js} +2 -2
  106. package/dist/{vue-ui-donut-evolution-BoVslTri.js → vue-ui-donut-evolution-D_CKlaay.js} +406 -384
  107. package/dist/{vue-ui-donut-BFpWEe2s.js → vue-ui-donut-swJu7UL2.js} +662 -645
  108. package/dist/{vue-ui-dumbbell-CRHvtmq9.js → vue-ui-dumbbell-siD31WFG.js} +295 -274
  109. package/dist/vue-ui-flow-BZCnqIs-.js +931 -0
  110. package/dist/{vue-ui-funnel-CKUlzitM.js → vue-ui-funnel-DmgcIRzW.js} +174 -158
  111. package/dist/{vue-ui-galaxy-DZqCAK9c.js → vue-ui-galaxy-C-zegxf9.js} +265 -252
  112. package/dist/{vue-ui-gauge-D3bPFF59.js → vue-ui-gauge-D6C8eUvP.js} +256 -240
  113. package/dist/{vue-ui-gizmo-oVLp367W.js → vue-ui-gizmo-iSYUVKlt.js} +3 -3
  114. package/dist/{vue-ui-heatmap-C1RctcPx.js → vue-ui-heatmap-RHDxexNf.js} +386 -365
  115. package/dist/{vue-ui-history-plot-CoQYOlF4.js → vue-ui-history-plot-4nwAd1qA.js} +307 -289
  116. package/dist/{vue-ui-kpi-BZX-tqIm.js → vue-ui-kpi-Dphnwumo.js} +3 -3
  117. package/dist/{vue-ui-mini-loader-hMqB-KQI.js → vue-ui-mini-loader-DFk9GZ5V.js} +2 -2
  118. package/dist/{vue-ui-molecule-D0Kr_w-v.js → vue-ui-molecule-BhisFSGQ.js} +176 -160
  119. package/dist/vue-ui-mood-radar-B8yHPdrV.js +876 -0
  120. package/dist/{vue-ui-nested-donuts-94Gu95Z9.js → vue-ui-nested-donuts-Bfp0oVSK.js} +541 -518
  121. package/dist/{vue-ui-onion-Dy_aTvGI.js → vue-ui-onion-f1B0W_oT.js} +318 -289
  122. package/dist/{vue-ui-parallel-coordinate-plot-D_oo5lQW.js → vue-ui-parallel-coordinate-plot-DcY-0R-7.js} +252 -233
  123. package/dist/{vue-ui-quadrant-CRYpRl_q.js → vue-ui-quadrant-DuzopA33.js} +294 -276
  124. package/dist/{vue-ui-quick-chart-B1s047tz.js → vue-ui-quick-chart-45Tm1UnC.js} +723 -685
  125. package/dist/{vue-ui-radar-DA7EuchK.js → vue-ui-radar-DDS405TF.js} +307 -282
  126. package/dist/{vue-ui-rating-z2bsnprP.js → vue-ui-rating-eKlTJch9.js} +2 -2
  127. package/dist/{vue-ui-relation-circle-DZ8IiUNu.js → vue-ui-relation-circle-BqXHJEvi.js} +146 -131
  128. package/dist/{vue-ui-ridgeline-5IWuJgs6.js → vue-ui-ridgeline-Lx7YOCRg.js} +320 -299
  129. package/dist/{vue-ui-rings-gY2f8mVf.js → vue-ui-rings-crjrV65X.js} +323 -310
  130. package/dist/{vue-ui-scatter-OLidvHlx.js → vue-ui-scatter-Bk4liS2c.js} +390 -372
  131. package/dist/{vue-ui-skeleton-BaysGsg0.js → vue-ui-skeleton-Pu9gPf97.js} +3 -3
  132. package/dist/{vue-ui-smiley-Dn2IR0oC.js → vue-ui-smiley-C4mhT7ZV.js} +2 -2
  133. package/dist/{vue-ui-spark-trend-gp5B9uF7.js → vue-ui-spark-trend-BmaybxJn.js} +3 -3
  134. package/dist/{vue-ui-sparkbar-8t63RYc7.js → vue-ui-sparkbar-DvhcXniz.js} +3 -3
  135. package/dist/{vue-ui-sparkgauge-BWSykUpn.js → vue-ui-sparkgauge-D4Brfset.js} +3 -3
  136. package/dist/{vue-ui-sparkhistogram-BEjxKMG5.js → vue-ui-sparkhistogram-D5_lR__d.js} +4 -4
  137. package/dist/{vue-ui-sparkline-bFF-ZCCH.js → vue-ui-sparkline-DxNG5QQg.js} +3 -3
  138. package/dist/{vue-ui-sparkstackbar-HtAlEtzK.js → vue-ui-sparkstackbar-BTFzo3fq.js} +3 -3
  139. package/dist/{vue-ui-stackbar-CUIWPgfk.js → vue-ui-stackbar-B8glHsE6.js} +355 -337
  140. package/dist/{vue-ui-strip-plot-DwS52yGc.js → vue-ui-strip-plot-C5Bro8-W.js} +368 -352
  141. package/dist/{vue-ui-table-BYqPx7k4.js → vue-ui-table-Ddu9yx2S.js} +5 -5
  142. package/dist/{vue-ui-table-heatmap-CRfjUoa1.js → vue-ui-table-heatmap-J29d8nds.js} +5 -5
  143. package/dist/{vue-ui-table-sparkline-Bvf0ZBOi.js → vue-ui-table-sparkline-D3tgrV_k.js} +4 -4
  144. package/dist/{vue-ui-thermometer-BB7cHec0.js → vue-ui-thermometer-BxQIZoXd.js} +148 -133
  145. package/dist/{vue-ui-timer-BVDKvC4v.js → vue-ui-timer-BwFlr_19.js} +5 -5
  146. package/dist/vue-ui-tiremarks-KwISwJS6.js +423 -0
  147. package/dist/{vue-ui-treemap-nGgRTw0l.js → vue-ui-treemap-C6PLDL2Y.js} +403 -373
  148. package/dist/{vue-ui-vertical-bar-BJOm2JQh.js → vue-ui-vertical-bar-CTmRo06n.js} +295 -260
  149. package/dist/{vue-ui-waffle-aCMPaHbw.js → vue-ui-waffle-BwOLL9aa.js} +396 -377
  150. package/dist/{vue-ui-wheel-D_q23eOk.js → vue-ui-wheel-KI9mkz8y.js} +196 -180
  151. package/dist/{vue-ui-word-cloud-C7TMR4Zq.js → vue-ui-word-cloud-DTyjx6X4.js} +233 -217
  152. package/dist/{vue-ui-world-DtMYYQ6T.js → vue-ui-world-C3QXAlC7.js} +344 -326
  153. package/dist/{vue-ui-xy-Dputm9QT.js → vue-ui-xy-b-CN-G4J.js} +1601 -1707
  154. package/dist/{vue-ui-xy-canvas-BCeQoXNM.js → vue-ui-xy-canvas-CdkE1NHd.js} +10 -10
  155. package/package.json +1 -1
  156. package/dist/vue-data-ui-BcRg499t.js +0 -325
  157. package/dist/vue-ui-flow-CKGjSZoj.js +0 -909
  158. package/dist/vue-ui-mood-radar-C6UCofDb.js +0 -853
  159. package/dist/vue-ui-tiremarks-CBVuu_Zi.js +0 -407
@@ -0,0 +1,931 @@
1
+ import { defineAsyncComponent as H, ref as c, computed as d, onMounted as no, toRefs as so, watch as Te, createElementBlock as g, openBlock as i, unref as r, normalizeStyle as W, normalizeClass as wt, createBlock as q, createCommentVNode as T, createElementVNode as G, createVNode as xe, createSlots as $t, withCtx as b, renderSlot as k, normalizeProps as Q, guardReactiveProps as ee, Fragment as ve, renderList as de, toDisplayString as he, Teleport as ro, resolveDynamicComponent as uo, mergeProps as io, createTextVNode as At, nextTick as co } from "vue";
2
+ import { c as Ge, t as vo, o as Tt, f as ho, b as fo, p as L, e as po, q as x, h as go, d as fe, X as mo, E as xt, O as yo, a as Ue, x as bo, y as Co, z as ko } from "./lib-CEjkWSLj.js";
3
+ import { t as wo, u as $o } from "./useResponsive-DfdjqQps.js";
4
+ import { u as Ao, a as St } from "./useNestedProp-Ce3PwN8T.js";
5
+ import { u as To } from "./usePrinter-DJ1iH-F_.js";
6
+ import { u as xo, B as So } from "./BaseScanner-BgWxam9d.js";
7
+ import { u as _o } from "./useSvgExport-DrjCWun4.js";
8
+ import { u as Oo } from "./useUserOptionState-BIvW1Kz7.js";
9
+ import { u as No } from "./useChartAccessibility-9icAAmYg.js";
10
+ import { t as Fo } from "./themes-Dw-dDudK.js";
11
+ import Eo from "./Legend-By4rru90.js";
12
+ import Io from "./Title-Camz1Lce.js";
13
+ import Po from "./img-J2dLIr8Y.js";
14
+ import { _ as Mo } from "./_plugin-vue_export-helper-CHgC5LLL.js";
15
+ const Do = ["id"], Lo = {
16
+ key: 1,
17
+ ref: "noTitle",
18
+ class: "vue-data-ui-no-title-space",
19
+ style: "height:36px; width: 100%;background:transparent"
20
+ }, zo = ["id"], Bo = ["xmlns", "viewBox"], Ro = ["width", "height"], Ho = ["id"], Wo = ["stop-color"], Go = ["stop-color"], Uo = ["d", "fill", "stroke", "stroke-width"], Yo = ["x", "y", "height", "width", "fill", "stroke", "stroke-width", "onMouseenter", "onMouseleave", "onClick"], jo = { key: 1 }, Vo = ["x", "y", "font-size", "fill"], Xo = ["x", "y", "font-size", "fill"], qo = {
21
+ key: 4,
22
+ class: "vue-data-ui-watermark"
23
+ }, Ko = ["id"], Zo = ["onClick"], Jo = ["innerHTML"], Qo = {
24
+ __name: "vue-ui-flow",
25
+ props: {
26
+ config: {
27
+ type: Object,
28
+ default() {
29
+ return {};
30
+ }
31
+ },
32
+ dataset: {
33
+ type: Array,
34
+ default() {
35
+ return [];
36
+ }
37
+ }
38
+ },
39
+ setup(_t, { expose: Ot }) {
40
+ const Nt = H(() => import("./Tooltip-VOcQEHa4.js")), Ft = H(() => import("./BaseIcon-eZbszQrv.js")), Et = H(() => import("./vue-ui-accordion-VTP418mC.js")), It = H(() => import("./DataTable-yAMEyP6y.js")), Pt = H(() => import("./PenAndPaper-Bo-lMUik.js")), Mt = H(() => import("./UserOptions-CSja1SGU.js")), Dt = H(() => import("./PackageVersion-BfykJm_B.js")), Lt = H(() => import("./BaseDraggableDialog-CVGErydD.js")), { vue_ui_flow: zt } = Ao(), F = _t, U = c(Ge()), M = c(null), Ye = c(0), je = c(0), Se = c(!1), _e = c(""), Ve = c(null), Xe = c(null), qe = c(null), te = c(null), pe = c(null), Ke = c(!1), oe = c(null), Oe = c(null), Ze = d(() => !!F.dataset && F.dataset.length);
41
+ no(() => {
42
+ Ke.value = !0, Qe();
43
+ });
44
+ const Y = c(!1);
45
+ function Je(t) {
46
+ Y.value = t, Ye.value += 1;
47
+ }
48
+ const e = c(Pe()), { loading: Ne, FINAL_DATASET: ge, manualLoading: Fe } = xo({
49
+ ...so(F),
50
+ FINAL_CONFIG: e,
51
+ prepareConfig: Pe,
52
+ skeletonDataset: [
53
+ ["A", "B", 2, "#CACACA"],
54
+ ["B", "C", 1, "#CACACA"],
55
+ ["C", "D", 0.5, "#CACACA"],
56
+ ["E", "F", 1, "#AAAAAA"],
57
+ ["F", "G", 0.5, "#AAAAAA"],
58
+ ["G", "H", 0.25, "#AAAAAA"]
59
+ ],
60
+ skeletonConfig: vo({
61
+ defaultConfig: e.value,
62
+ userConfig: {
63
+ userOptions: { show: !1 },
64
+ nodeCategories: {
65
+ B: "A",
66
+ C: "B"
67
+ },
68
+ nodeCategoryColors: {
69
+ A: "#CACACA",
70
+ B: "#AAAAAA"
71
+ },
72
+ table: { show: !1 },
73
+ style: {
74
+ chart: {
75
+ backgroundColor: "#99999930",
76
+ legend: {
77
+ backgroundColor: "transparent"
78
+ },
79
+ nodes: {
80
+ labels: {
81
+ show: !1
82
+ },
83
+ stroke: "#666666"
84
+ },
85
+ links: {
86
+ stroke: "#666666"
87
+ }
88
+ }
89
+ }
90
+ }
91
+ })
92
+ }), Bt = d(() => !!e.value.debug);
93
+ function Qe() {
94
+ if (Tt(F.dataset) && (ho({
95
+ componentName: "VueUiFlow",
96
+ type: "dataset",
97
+ debug: Bt.value
98
+ }), Fe.value = !0), Tt(F.dataset) || (Fe.value = e.value.loading), e.value.responsive) {
99
+ const t = wo(() => {
100
+ const { width: l, height: o } = $o({
101
+ chart: M.value,
102
+ title: e.value.style.chart.title.text ? Xe.value : null,
103
+ legend: e.value.style.chart.legend.show ? Ve.value : null,
104
+ source: qe.value
105
+ });
106
+ requestAnimationFrame(() => {
107
+ ot.value = l, lt.value = o;
108
+ });
109
+ });
110
+ te.value && (pe.value && te.value.unobserve(pe.value), te.value.disconnect()), te.value = new ResizeObserver(t), pe.value = M.value.parentNode, te.value.observe(pe.value);
111
+ }
112
+ }
113
+ const { userOptionsVisible: Ee, setUserOptionsVisibility: et, keepUserOptionState: tt } = Oo({ config: e.value }), { svgRef: Ie } = No({
114
+ config: e.value.style.chart.title
115
+ });
116
+ function Pe() {
117
+ const t = St({
118
+ userConfig: F.config,
119
+ defaultConfig: zt
120
+ });
121
+ let l = t;
122
+ return t.theme ? l = {
123
+ ...St({
124
+ userConfig: Fo.vue_ui_flow[t.theme] || F.config,
125
+ defaultConfig: t
126
+ }),
127
+ customPalette: fo[t.theme] || L
128
+ } : l = t, l.nodeCategories = F.config.nodeCategories || {}, l.nodeCategoryColors = F.config.nodeCategoryColors || {}, l;
129
+ }
130
+ const ot = c(e.value.style.chart.width), lt = c(e.value.style.chart.height);
131
+ Te(
132
+ () => F.config,
133
+ (t) => {
134
+ Ne.value || (e.value = Pe()), Ee.value = !e.value.userOptions.showOnChartHover, Qe(), je.value += 1, E.value.showTable = e.value.table.show;
135
+ },
136
+ { deep: !0 }
137
+ ), Te(() => F.dataset, (t) => {
138
+ Array.isArray(t) && t.length > 0 && (Fe.value = !1);
139
+ }, { deep: !0 });
140
+ const { isPrinting: at, isImaging: nt, generatePdf: st, generateImage: rt } = To({
141
+ elementId: `flow_${U.value}`,
142
+ fileName: e.value.style.chart.title.text || "vue-ui-flow",
143
+ options: e.value.userOptions.print
144
+ }), Rt = d(() => e.value.userOptions.show && !e.value.style.chart.title.text), me = d(() => po(e.value.customPalette)), ye = d(() => e.value.style.chart.nodes.width), E = c({
145
+ showTable: e.value.table.show,
146
+ showTooltip: e.value.style.chart.tooltip.show
147
+ });
148
+ Te(e, () => {
149
+ E.value = {
150
+ showTable: e.value.table.show,
151
+ showTooltip: e.value.style.chart.tooltip.show
152
+ };
153
+ }, { immediate: !0 });
154
+ const ut = d(() => !ge.value || !ge.value.length ? [] : ge.value.map((t, l) => [
155
+ t[0],
156
+ t[1],
157
+ x(t[2]),
158
+ t[3] ? go(t[3]) : me.value[l] || me.value[l % me.value.length] || L[l] || L[l % L.length]
159
+ ]));
160
+ function Ht(t) {
161
+ const l = {}, o = {};
162
+ function n(a, u) {
163
+ l[a] || (l[a] = {
164
+ level: null,
165
+ inflow: 0,
166
+ outflow: 0,
167
+ children: [],
168
+ color: null,
169
+ uid: Ge()
170
+ }), l[a].level === null && (l[a].level = u), o[u] || (o[u] = []), o[u].includes(a) || o[u].push(a);
171
+ }
172
+ t.forEach(([a, u, h]) => {
173
+ const f = l[a]?.level ?? 0, _ = f + 1;
174
+ n(a, f), n(u, _), l[a].children.push({ target: u, value: h }), l[a].outflow += h, l[u].inflow += h;
175
+ });
176
+ const s = new Set(t.map(([a]) => a)), $ = new Set(t.map(([, a]) => a)), Z = Array.from(s).filter((a) => !$.has(a)), re = {};
177
+ Z.forEach((a, u) => {
178
+ re[a] = me.value[u] || L[u % L.length];
179
+ });
180
+ const ue = {};
181
+ t.forEach(([a, u, h, f]) => {
182
+ f && (ue[a] = f, ue[u] = f);
183
+ }), Object.keys(l).forEach((a, u) => {
184
+ const h = e.value.nodeCategories?.[a], f = h ? e.value.nodeCategoryColors?.[h] : null;
185
+ l[a].color = ue[a] || f || (Z.includes(a) ? re[a] : null) || L[u % L.length];
186
+ }), Object.keys(l).forEach((a) => {
187
+ l[a].value = Math.max(l[a].inflow, l[a].outflow);
188
+ });
189
+ const we = le.value, Be = vt.value.width, J = vt.value.height, D = Object.keys(o).map(Number).sort((a, u) => a - u), $e = D.length || 1, Re = $e > 1 ? Be / ($e - 1) : 0, A = Number(ye.value), P = Number(
190
+ e.value.style.chart.nodes.gapPx ?? e.value.style.chart.nodes.gap ?? 8
191
+ ), ie = Number(e.value.style.chart.nodes.minHeight || 0);
192
+ function v(a) {
193
+ const u = o[a], h = u.length;
194
+ if (!h) return 1 / 0;
195
+ const f = Math.max(0, (h - 1) * P), _ = Math.max(0, J - f), z = Math.min(ie, h ? _ / h : 0);
196
+ let C = 0, O = u.map((p) => l[p].value || 0), y = O.reduce((p, N) => p + N, 0);
197
+ for (let p = 0; p < 12; p += 1) {
198
+ const N = y > 0 ? (_ - C) / y : 0, B = [];
199
+ for (let I = 0; I < O.length; I += 1) {
200
+ const R = O[I];
201
+ R < 0 || R * N < z && B.push(I);
202
+ }
203
+ if (!B.length) return Math.max(0, N);
204
+ for (const I of B)
205
+ C += z, y -= O[I], O[I] = -1;
206
+ if (y <= 0) return 0;
207
+ }
208
+ return y > 0 ? Math.max(0, (_ - C) / y) : 0;
209
+ }
210
+ const m = D.map(v), V = m.length ? Math.min(...m) : 0, X = {};
211
+ D.forEach((a) => {
212
+ const u = o[a], h = u.length, f = Math.max(0, (h - 1) * P), _ = Math.max(0, J - f), z = Math.min(ie, h ? _ / h : 0), C = u.map(
213
+ (p) => Math.max(z, (l[p].value || 0) * V)
214
+ ), O = C.reduce((p, N) => p + N, 0) + f;
215
+ let y = Math.max(0, (J - O) / 2);
216
+ u.forEach((p, N) => {
217
+ const B = C[N], I = we.left + a * Re, R = y;
218
+ X[p] = {
219
+ x: I,
220
+ y: R,
221
+ absoluteY: R,
222
+ height: B,
223
+ i: N,
224
+ color: l[p].color,
225
+ value: l[p].value
226
+ }, y += B, N < h - 1 && (y += P);
227
+ });
228
+ });
229
+ const bt = [], ce = we.top, He = {}, We = {};
230
+ Object.keys(l).forEach((a) => {
231
+ He[a] = X[a]?.y ?? 0, We[a] = 0;
232
+ });
233
+ const eo = 1e-6, to = 0.25;
234
+ return D.forEach((a) => {
235
+ o[a].forEach((h) => {
236
+ const f = l[h], _ = X[h];
237
+ if (!f.children || !f.children.length) return;
238
+ let z = _.y;
239
+ f.children.forEach(({ target: C, value: O }) => {
240
+ const y = X[C], p = l[C], N = f.outflow > 0 ? O / f.outflow : 0, B = p.inflow > 0 ? O / p.inflow : 0, I = x(z + ce), R = x(z + N * _.height + ce), Ct = He[C];
241
+ let Ae = Ct + B * y.height;
242
+ We[C] += O;
243
+ const oo = p.inflow > 0 && We[C] >= p.inflow - eo, kt = y.y + y.height;
244
+ (oo || Ae > kt - to) && (Ae = kt);
245
+ const lo = x(Ct + ce), ao = x(Ae + ce);
246
+ bt.push({
247
+ id: Ge(),
248
+ source: h,
249
+ target: C,
250
+ path: `M ${x(_.x + A)} ${I} L ${x(_.x + A)} ${R} L ${x(y.x)} ${ao} L ${x(y.x)} ${lo} Z`,
251
+ value: O,
252
+ sourceColor: f.color,
253
+ targetColor: l[C].color
254
+ }), z = R - ce, He[C] = Ae;
255
+ });
256
+ });
257
+ }), { nodeCoordinates: X, links: bt };
258
+ }
259
+ const S = d(() => {
260
+ const t = Ht(ge.value);
261
+ return {
262
+ nodes: Object.keys(t.nodeCoordinates).map((l, o) => ({
263
+ ...t.nodeCoordinates[l],
264
+ name: l
265
+ })),
266
+ links: t.links
267
+ };
268
+ }), it = d(() => ot.value), ct = d(() => lt.value), le = d(() => e.value.style.chart.padding), vt = d(() => ({
269
+ width: Math.max(0, it.value - 40 - le.value.right - le.value.left),
270
+ height: Math.max(0, ct.value - le.value.top - le.value.bottom)
271
+ })), ae = d(() => ({
272
+ width: it.value,
273
+ height: ct.value
274
+ }));
275
+ function Wt(t) {
276
+ const l = {}, o = {}, n = /* @__PURE__ */ new Set();
277
+ return ut.value.forEach(([s, $, Z]) => {
278
+ l[s] || (l[s] = []), o[$] || (o[$] = []), l[s].push($), o[$].push(s);
279
+ }), l[t] && l[t].forEach((s) => n.add(s)), o[t] && o[t].forEach((s) => n.add(s)), Array.from(n).concat(t);
280
+ }
281
+ const w = c(null), K = c(null), ne = c(null), be = c(!1);
282
+ function Gt(t, l) {
283
+ j.value = [], w.value = Wt(t.name), K.value = t.name;
284
+ const o = t.name, n = ut.value;
285
+ let s = 0, $ = 0, Z = [], re = [];
286
+ const ue = new Set(n.map(([v]) => v)), we = new Set(n.map(([, v]) => v)), Be = Array.from(ue).filter((v) => !we.has(v)), J = n.filter(([v]) => Be.includes(v)).reduce((v, [m, V, X]) => v + X, 0), D = {};
287
+ S.value.nodes.forEach((v) => {
288
+ D[v.name] = v.color;
289
+ }), n.forEach(([v, m, V]) => {
290
+ m === o && (s += V, Z.push({ source: v, value: V, color: D[v] })), v === o && ($ += V, re.push({ target: m, value: V, color: D[m] }));
291
+ });
292
+ const $e = Math.max(s, $), Re = J > 0 ? $e / J * 100 : 0, A = {
293
+ name: o,
294
+ inflow: s,
295
+ outflow: $,
296
+ from: Z,
297
+ to: re,
298
+ percentOfTotal: Re,
299
+ color: D[o] || "#000000"
300
+ };
301
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: A, seriesIndex: l }), ne.value = { datapoint: A }, Se.value = !0;
302
+ let P = "";
303
+ const ie = e.value.style.chart.tooltip.customFormat;
304
+ if (be.value = !1, ko(ie))
305
+ try {
306
+ const v = ie({
307
+ datapoint: A,
308
+ series: S.value,
309
+ config: e.value
310
+ });
311
+ typeof v == "string" && (_e.value = v, be.value = !0);
312
+ } catch {
313
+ console.warn("Custom format cannot be applied.");
314
+ }
315
+ if (!be.value) {
316
+ const v = e.value.style.chart.tooltip.showPercentage ? `<div>${fe({
317
+ p: e.value.style.chart.tooltip.translations.percentOfTotal,
318
+ v: A.percentOfTotal,
319
+ s: "%",
320
+ r: e.value.style.chart.tooltip.roundingPercentage
321
+ })}</div>` : "";
322
+ P += `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;"><span style="margin-right:4px; color:${A.color}">⏹</span>${A.name}${v}</div>`, A.from.length && (P += `<div>${e.value.style.chart.tooltip.translations.from}</div>`, A.from.forEach((m) => {
323
+ P += `<div><span style="color:${m.color}">⏹←</span> ${m.source}: ${Ue(
324
+ e.value.style.chart.nodes.labels.formatter,
325
+ m.value,
326
+ fe({
327
+ p: e.value.style.chart.nodes.labels.prefix,
328
+ v: m.value,
329
+ s: e.value.style.chart.nodes.labels.suffix,
330
+ r: e.value.style.chart.nodes.labels.rounding
331
+ })
332
+ )}</div>`;
333
+ })), A.to.length && (P += `<div style="margin-top:6px;">${e.value.style.chart.tooltip.translations.to}</div>`, A.to.forEach((m) => {
334
+ P += `<div><span style="color:${m.color}">⏹→</span> ${m.target}: ${Ue(
335
+ e.value.style.chart.nodes.labels.formatter,
336
+ m.value,
337
+ fe({
338
+ p: e.value.style.chart.nodes.labels.prefix,
339
+ v: m.value,
340
+ s: e.value.style.chart.nodes.labels.suffix,
341
+ r: e.value.style.chart.nodes.labels.rounding
342
+ })
343
+ )}</div>`;
344
+ })), _e.value = P;
345
+ }
346
+ }
347
+ function dt(t) {
348
+ const l = ne.value;
349
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: l, seriesIndex: t }), w.value = null, K.value = null, Se.value = !1;
350
+ }
351
+ function Ut(t) {
352
+ const l = ne.value;
353
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: l, seriesIndex: t });
354
+ }
355
+ const ht = d(() => S.value.links.map(
356
+ ({ source: t, target: l, sourceColor: o, targetColor: n, value: s }) => ({
357
+ source: t,
358
+ target: l,
359
+ sourceColor: o,
360
+ targetColor: n,
361
+ value: s
362
+ })
363
+ ));
364
+ function Me(t = null) {
365
+ co(() => {
366
+ const l = ht.value.map((s, $) => [[s.source], [s.target], [s.value]]), o = [
367
+ [e.value.style.chart.title.text],
368
+ [e.value.style.chart.title.subtitle.text],
369
+ [
370
+ [e.value.table.columnNames.source],
371
+ [e.value.table.columnNames.target],
372
+ [e.value.table.columnNames.value]
373
+ ]
374
+ ].concat(l), n = bo(o);
375
+ t ? t(n) : Co({
376
+ csvContent: n,
377
+ title: e.value.style.chart.title.text || "vue-ui-flow"
378
+ });
379
+ });
380
+ }
381
+ const Ce = d(() => {
382
+ const t = [
383
+ e.value.table.columnNames.source,
384
+ e.value.table.columnNames.target,
385
+ e.value.table.columnNames.value
386
+ ], l = ht.value.map((s, $) => [
387
+ {
388
+ color: s.sourceColor,
389
+ name: s.source,
390
+ shape: "square"
391
+ },
392
+ {
393
+ color: s.targetColor,
394
+ name: s.target,
395
+ shape: "square"
396
+ },
397
+ fe({
398
+ p: e.value.style.chart.nodes.labels.prefix,
399
+ v: s.value,
400
+ s: e.value.style.chart.nodes.labels.suffix,
401
+ r: e.value.style.chart.nodes.labels.rounding
402
+ })
403
+ ]), o = {
404
+ th: {
405
+ backgroundColor: e.value.table.th.backgroundColor,
406
+ color: e.value.table.th.color,
407
+ outline: e.value.table.th.outline
408
+ },
409
+ td: {
410
+ backgroundColor: e.value.table.td.backgroundColor,
411
+ color: e.value.table.td.color,
412
+ outline: e.value.table.td.outline
413
+ },
414
+ breakpoint: e.value.table.responsiveBreakpoint
415
+ };
416
+ return {
417
+ colNames: [
418
+ e.value.table.columnNames.source,
419
+ e.value.table.columnNames.target,
420
+ e.value.table.columnNames.value
421
+ ],
422
+ head: t,
423
+ body: l,
424
+ config: o
425
+ };
426
+ });
427
+ function Yt() {
428
+ return S.value;
429
+ }
430
+ function ft() {
431
+ E.value.showTable = !E.value.showTable;
432
+ }
433
+ const ke = c(!1);
434
+ function De() {
435
+ ke.value = !ke.value;
436
+ }
437
+ function pt() {
438
+ E.value.showTooltip = !E.value.showTooltip;
439
+ }
440
+ const gt = d(() => {
441
+ const t = new Set(
442
+ S.value.nodes.map(
443
+ (l) => e.value.nodeCategories[l.name] || "__uncategorized__"
444
+ )
445
+ );
446
+ return Array.from(t).map((l) => ({
447
+ name: l,
448
+ color: e.value.nodeCategoryColors[l] || L[0],
449
+ shape: "square",
450
+ count: S.value.nodes.filter(
451
+ (o) => (e.value.nodeCategories[o.name] || "__uncategorized__") === l
452
+ ).length
453
+ })).map((l, o) => ({
454
+ ...l,
455
+ segregate: () => ze({ legend: l, i: o }),
456
+ opacity: j.value.length ? j.value.includes(o) ? 1 : 0.5 : 1,
457
+ display: `${l.name} (${l.count})`
458
+ }));
459
+ }), Le = d(
460
+ () => gt.value.filter((t) => t.name !== "__uncategorized__")
461
+ ), j = c([]);
462
+ function ze({ legend: t, i: l }) {
463
+ const o = t.name;
464
+ if (w.value?.every(
465
+ (n) => e.value.nodeCategories[n] === o
466
+ )) {
467
+ w.value = null, K.value = null, j.value = [];
468
+ return;
469
+ }
470
+ j.value = [l], w.value = S.value.nodes.filter((n) => e.value.nodeCategories[n.name] === o).map((n) => n.name), K.value = null;
471
+ }
472
+ const jt = d(() => ({
473
+ cy: "flow-legend",
474
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
475
+ color: e.value.style.chart.legend.color,
476
+ fontSize: e.value.style.chart.legend.fontSize,
477
+ paddingBottom: e.value.style.chart.legend.paddingBottom,
478
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : "normal"
479
+ }));
480
+ async function Vt({ scale: t = 2 } = {}) {
481
+ if (!M.value) return;
482
+ const { width: l, height: o } = M.value.getBoundingClientRect(), n = l / o, { imageUri: s, base64: $ } = await Po({ domElement: M.value, base64: !0, img: !0, scale: t });
483
+ return {
484
+ imageUri: s,
485
+ base64: $,
486
+ title: e.value.style.chart.title.text,
487
+ width: l,
488
+ height: o,
489
+ aspectRatio: n
490
+ };
491
+ }
492
+ const se = d(() => {
493
+ const t = e.value.table.useDialog && !e.value.table.show, l = E.value.showTable;
494
+ return {
495
+ component: t ? Lt : Et,
496
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
497
+ props: t ? {
498
+ backgroundColor: e.value.table.th.backgroundColor,
499
+ color: e.value.table.th.color,
500
+ headerColor: e.value.table.th.color,
501
+ headerBg: e.value.table.th.backgroundColor,
502
+ isFullscreen: Y.value,
503
+ fullscreenParent: M.value,
504
+ forcedWidth: Math.min(800, window.innerWidth * 0.8)
505
+ } : {
506
+ hideDetails: !0,
507
+ config: {
508
+ open: l,
509
+ maxHeight: 1e4,
510
+ body: {
511
+ backgroundColor: e.value.style.chart.backgroundColor,
512
+ color: e.value.style.chart.color
513
+ },
514
+ head: {
515
+ backgroundColor: e.value.style.chart.backgroundColor,
516
+ color: e.value.style.chart.color
517
+ }
518
+ }
519
+ }
520
+ };
521
+ });
522
+ Te(() => E.value.showTable, (t) => {
523
+ e.value.table.show || (t && e.value.table.useDialog && oe.value ? oe.value.open() : "close" in oe.value && oe.value.close());
524
+ });
525
+ function mt() {
526
+ E.value.showTable = !1, Oe.value && Oe.value.setTableIconState(!1);
527
+ }
528
+ const Xt = d(() => Le.value.map((t) => ({
529
+ ...t,
530
+ name: t.display
531
+ }))), qt = d(() => e.value.style.chart.backgroundColor), Kt = d(() => e.value.style.chart.legend), Zt = d(() => e.value.style.chart.title), { exportSvg: Jt, getSvg: Qt } = _o({
532
+ svg: Ie,
533
+ title: Zt,
534
+ legend: Kt,
535
+ legendItems: Xt,
536
+ backgroundColor: qt
537
+ });
538
+ async function yt({ isCb: t }) {
539
+ if (t) {
540
+ const { blob: l, url: o, text: n, dataUrl: s } = await Qt();
541
+ e.value.userOptions.callbacks.svg({ blob: l, url: o, text: n, dataUrl: s });
542
+ } else
543
+ Jt();
544
+ }
545
+ return Ot({
546
+ getData: Yt,
547
+ getImage: Vt,
548
+ generateCsv: Me,
549
+ generateImage: rt,
550
+ generateSvg: yt,
551
+ generatePdf: st,
552
+ toggleTable: ft,
553
+ toggleAnnotator: De,
554
+ toggleTooltip: pt,
555
+ drillCategory: ze,
556
+ unselectNode: dt,
557
+ toggleFullscreen: Je
558
+ }), (t, l) => (i(), g("div", {
559
+ ref_key: "flowChart",
560
+ ref: M,
561
+ class: wt(`vue-data-ui-component vue-ui-flow ${Y.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
562
+ style: W(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;background:${e.value.style.chart.backgroundColor}`),
563
+ id: `flow_${U.value}`,
564
+ onMouseenter: l[2] || (l[2] = () => r(et)(!0)),
565
+ onMouseleave: l[3] || (l[3] = () => r(et)(!1))
566
+ }, [
567
+ e.value.userOptions.buttons.annotator ? (i(), q(r(Pt), {
568
+ key: 0,
569
+ svgRef: r(Ie),
570
+ backgroundColor: e.value.style.chart.backgroundColor,
571
+ color: e.value.style.chart.color,
572
+ active: ke.value,
573
+ onClose: De
574
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : T("", !0),
575
+ Rt.value ? (i(), g("div", Lo, null, 512)) : T("", !0),
576
+ e.value.style.chart.title.text ? (i(), g("div", {
577
+ key: 2,
578
+ ref_key: "chartTitle",
579
+ ref: Xe,
580
+ style: "width:100%;background:transparent;padding-bottom:24px"
581
+ }, [
582
+ (i(), q(Io, {
583
+ key: `title_${je.value}`,
584
+ config: {
585
+ title: {
586
+ cy: "flow-title",
587
+ ...e.value.style.chart.title
588
+ },
589
+ subtitle: {
590
+ cy: "flow-subtitle",
591
+ ...e.value.style.chart.title.subtitle
592
+ }
593
+ }
594
+ }, null, 8, ["config"]))
595
+ ], 512)) : T("", !0),
596
+ G("div", {
597
+ id: `legend-top-${U.value}`
598
+ }, null, 8, zo),
599
+ e.value.userOptions.show && Ze.value && (r(tt) || r(Ee)) ? (i(), q(r(Mt), {
600
+ ref_key: "userOptionsRef",
601
+ ref: Oe,
602
+ key: `user_option_${Ye.value}`,
603
+ backgroundColor: e.value.style.chart.backgroundColor,
604
+ color: e.value.style.chart.color,
605
+ isPrinting: r(at),
606
+ isImaging: r(nt),
607
+ uid: U.value,
608
+ hasPdf: e.value.userOptions.buttons.pdf,
609
+ hasXls: e.value.userOptions.buttons.csv,
610
+ hasImg: e.value.userOptions.buttons.img,
611
+ hasSvg: e.value.userOptions.buttons.svg,
612
+ hasTable: e.value.userOptions.buttons.table,
613
+ callbacks: e.value.userOptions.callbacks,
614
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
615
+ isFullscreen: Y.value,
616
+ titles: { ...e.value.userOptions.buttonTitles },
617
+ chartElement: M.value,
618
+ position: e.value.userOptions.position,
619
+ hasAnnotator: e.value.userOptions.buttons.annotator,
620
+ printScale: e.value.userOptions.print.scale,
621
+ isAnnotation: ke.value,
622
+ hasTooltip: e.value.style.chart.tooltip.show && e.value.userOptions.buttons.tooltip,
623
+ isTooltip: E.value.showTooltip,
624
+ tableDialog: e.value.table.useDialog,
625
+ onToggleTooltip: pt,
626
+ onToggleFullscreen: Je,
627
+ onGeneratePdf: r(st),
628
+ onGenerateCsv: Me,
629
+ onGenerateImage: r(rt),
630
+ onGenerateSvg: yt,
631
+ onToggleTable: ft,
632
+ onToggleAnnotator: De,
633
+ style: W({
634
+ visibility: r(tt) ? r(Ee) ? "visible" : "hidden" : "visible"
635
+ })
636
+ }, $t({ _: 2 }, [
637
+ t.$slots.menuIcon ? {
638
+ name: "menuIcon",
639
+ fn: b(({ isOpen: o, color: n }) => [
640
+ k(t.$slots, "menuIcon", Q(ee({ isOpen: o, color: n })), void 0, !0)
641
+ ]),
642
+ key: "0"
643
+ } : void 0,
644
+ t.$slots.optionTooltip ? {
645
+ name: "optionTooltip",
646
+ fn: b(() => [
647
+ k(t.$slots, "optionTooltip", {}, void 0, !0)
648
+ ]),
649
+ key: "1"
650
+ } : void 0,
651
+ t.$slots.optionPdf ? {
652
+ name: "optionPdf",
653
+ fn: b(() => [
654
+ k(t.$slots, "optionPdf", {}, void 0, !0)
655
+ ]),
656
+ key: "2"
657
+ } : void 0,
658
+ t.$slots.optionCsv ? {
659
+ name: "optionCsv",
660
+ fn: b(() => [
661
+ k(t.$slots, "optionCsv", {}, void 0, !0)
662
+ ]),
663
+ key: "3"
664
+ } : void 0,
665
+ t.$slots.optionImg ? {
666
+ name: "optionImg",
667
+ fn: b(() => [
668
+ k(t.$slots, "optionImg", {}, void 0, !0)
669
+ ]),
670
+ key: "4"
671
+ } : void 0,
672
+ t.$slots.optionTable ? {
673
+ name: "optionTable",
674
+ fn: b(() => [
675
+ k(t.$slots, "optionTable", {}, void 0, !0)
676
+ ]),
677
+ key: "5"
678
+ } : void 0,
679
+ t.$slots.optionFullscreen ? {
680
+ name: "optionFullscreen",
681
+ fn: b(({ toggleFullscreen: o, isFullscreen: n }) => [
682
+ k(t.$slots, "optionFullscreen", Q(ee({ toggleFullscreen: o, isFullscreen: n })), void 0, !0)
683
+ ]),
684
+ key: "6"
685
+ } : void 0,
686
+ t.$slots.optionAnnotator ? {
687
+ name: "optionAnnotator",
688
+ fn: b(({ toggleAnnotator: o, isAnnotator: n }) => [
689
+ k(t.$slots, "optionAnnotator", Q(ee({ toggleAnnotator: o, isAnnotator: n })), void 0, !0)
690
+ ]),
691
+ key: "7"
692
+ } : void 0
693
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasXls", "hasImg", "hasSvg", "hasTable", "callbacks", "hasFullscreen", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "printScale", "isAnnotation", "hasTooltip", "isTooltip", "tableDialog", "onGeneratePdf", "onGenerateImage", "style"])) : T("", !0),
694
+ (i(), g("svg", {
695
+ ref_key: "svgRef",
696
+ ref: Ie,
697
+ xmlns: r(mo),
698
+ viewBox: `0 0 ${ae.value.width} ${ae.value.height}`,
699
+ class: wt({
700
+ "vue-data-ui-fullscreen--on": Y.value,
701
+ "vue-data-ui-fulscreen--off": !Y.value
702
+ }),
703
+ style: W({
704
+ maxWidth: "100%",
705
+ overflow: "visible",
706
+ background: "transparent",
707
+ color: e.value.style.chart.color
708
+ })
709
+ }, [
710
+ xe(r(Dt)),
711
+ t.$slots["chart-background"] ? (i(), g("foreignObject", {
712
+ key: 0,
713
+ x: 0,
714
+ y: 0,
715
+ width: ae.value.width,
716
+ height: ae.value.height,
717
+ style: {
718
+ pointerEvents: "none"
719
+ }
720
+ }, [
721
+ k(t.$slots, "chart-background", {}, void 0, !0)
722
+ ], 8, Ro)) : T("", !0),
723
+ G("defs", null, [
724
+ (i(!0), g(ve, null, de(S.value.links, (o, n) => (i(), g("linearGradient", {
725
+ id: o.id,
726
+ x1: "0%",
727
+ y1: "0%",
728
+ x2: "100%",
729
+ y2: "0%"
730
+ }, [
731
+ G("stop", {
732
+ offset: "0%",
733
+ "stop-color": o.sourceColor
734
+ }, null, 8, Wo),
735
+ G("stop", {
736
+ offset: "100%",
737
+ "stop-color": o.targetColor
738
+ }, null, 8, Go)
739
+ ], 8, Ho))), 256))
740
+ ]),
741
+ (i(!0), g(ve, null, de(S.value.links, (o) => (i(), g("path", {
742
+ class: "vue-ui-flow-link",
743
+ d: o.path,
744
+ "stroke-linejoin": "round",
745
+ "stroke-miterlimit": "1",
746
+ fill: `url(#${o.id})`,
747
+ stroke: e.value.style.chart.links.stroke,
748
+ "stroke-width": e.value.style.chart.links.strokeWidth,
749
+ style: W(`
750
+ opacity:${w.value ? w.value.includes(o.source) && w.value.includes(o.target) ? 1 : 0.3 : K.value ? [o.target, o.source].includes(K.value) ? 1 : 0.3 : e.value.style.chart.links.opacity}
751
+ `)
752
+ }, null, 12, Uo))), 256)),
753
+ (i(!0), g(ve, null, de(S.value.nodes, (o, n) => (i(), g("rect", {
754
+ class: "vue-ui-flow-node",
755
+ x: o.x,
756
+ y: r(x)(o.absoluteY) + e.value.style.chart.padding.top,
757
+ height: r(x)(o.height),
758
+ width: ye.value,
759
+ fill: o.color,
760
+ stroke: e.value.style.chart.nodes.stroke,
761
+ "stroke-width": e.value.style.chart.nodes.strokeWidth,
762
+ onMouseenter: (s) => Gt(o, n),
763
+ onMouseleave: (s) => dt(n),
764
+ style: W(`opacity:${w.value ? w.value.includes(o.name) ? 1 : 0.3 : 1}`),
765
+ onClick: (s) => Ut(n)
766
+ }, null, 44, Yo))), 256)),
767
+ e.value.style.chart.nodes.labels.show ? (i(), g("g", jo, [
768
+ (i(!0), g(ve, null, de(S.value.nodes, (o, n) => (i(), g("text", {
769
+ x: o.x + ye.value / 2,
770
+ y: r(x)(
771
+ o.absoluteY + o.height / 2 - e.value.style.chart.nodes.labels.fontSize / 4
772
+ ) + e.value.style.chart.padding.top,
773
+ "font-size": e.value.style.chart.nodes.labels.fontSize,
774
+ fill: r(xt)(o.color),
775
+ "text-anchor": "middle",
776
+ style: W(`pointer-events: none; opacity:${w.value ? w.value.includes(o.name) ? 1 : 0 : 1}`)
777
+ }, he(e.value.style.chart.nodes.labels.abbreviation.use ? r(yo)({
778
+ source: o.name,
779
+ length: e.value.style.chart.nodes.labels.abbreviation.length
780
+ }) : o.name), 13, Vo))), 256)),
781
+ (i(!0), g(ve, null, de(S.value.nodes, (o, n) => (i(), g("text", {
782
+ x: o.x + ye.value / 2,
783
+ y: r(x)(
784
+ o.absoluteY + o.height / 2 + e.value.style.chart.nodes.labels.fontSize
785
+ ) + e.value.style.chart.padding.top,
786
+ "font-size": e.value.style.chart.nodes.labels.fontSize,
787
+ fill: r(xt)(o.color),
788
+ "text-anchor": "middle",
789
+ style: W(`pointer-events: none; opacity:${w.value ? w.value.includes(o.name) ? 1 : 0 : 1}`)
790
+ }, he(r(Ue)(
791
+ e.value.style.chart.nodes.labels.formatter,
792
+ o.value,
793
+ r(fe)({
794
+ p: e.value.style.chart.nodes.labels.prefix,
795
+ v: o.value,
796
+ s: e.value.style.chart.nodes.labels.suffix,
797
+ r: e.value.style.chart.nodes.labels.rounding
798
+ }),
799
+ { datapoint: o, seriesIndex: n }
800
+ )), 13, Xo))), 256))
801
+ ])) : T("", !0),
802
+ k(t.$slots, "svg", { svg: ae.value }, void 0, !0)
803
+ ], 14, Bo)),
804
+ t.$slots.watermark ? (i(), g("div", qo, [
805
+ k(t.$slots, "watermark", Q(ee({ isPrinting: r(at) || r(nt) })), void 0, !0)
806
+ ])) : T("", !0),
807
+ G("div", {
808
+ id: `legend-bottom-${U.value}`
809
+ }, null, 8, Ko),
810
+ Ke.value ? (i(), q(ro, {
811
+ key: 5,
812
+ to: e.value.style.chart.legend.position === "top" ? `#legend-top-${U.value}` : `#legend-bottom-${U.value}`
813
+ }, [
814
+ G("div", {
815
+ ref_key: "chartLegend",
816
+ ref: Ve
817
+ }, [
818
+ e.value.style.chart.legend.show && Le.value.length ? (i(), q(Eo, {
819
+ key: 0,
820
+ legendSet: Le.value,
821
+ config: jt.value,
822
+ onClickMarker: l[0] || (l[0] = (o) => ze(o))
823
+ }, {
824
+ item: b(({ legend: o, index: n }) => [
825
+ r(Ne) ? T("", !0) : (i(), g("div", {
826
+ key: 0,
827
+ onClick: (s) => o.segregate(),
828
+ style: W(`opacity:${j.value.length ? j.value.includes(n) ? 1 : 0.5 : 1}`)
829
+ }, he(o.display), 13, Zo))
830
+ ]),
831
+ _: 1
832
+ }, 8, ["legendSet", "config"])) : T("", !0),
833
+ k(t.$slots, "legend", { legend: gt.value }, void 0, !0)
834
+ ], 512)
835
+ ], 8, ["to"])) : T("", !0),
836
+ t.$slots.source ? (i(), g("div", {
837
+ key: 6,
838
+ ref_key: "source",
839
+ ref: qe,
840
+ dir: "auto"
841
+ }, [
842
+ k(t.$slots, "source", {}, void 0, !0)
843
+ ], 512)) : T("", !0),
844
+ xe(r(Nt), {
845
+ show: E.value.showTooltip && Se.value,
846
+ backgroundColor: e.value.style.chart.tooltip.backgroundColor,
847
+ color: e.value.style.chart.tooltip.color,
848
+ fontSize: e.value.style.chart.tooltip.fontSize,
849
+ borderRadius: e.value.style.chart.tooltip.borderRadius,
850
+ borderColor: e.value.style.chart.tooltip.borderColor,
851
+ borderWidth: e.value.style.chart.tooltip.borderWidth,
852
+ backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
853
+ position: e.value.style.chart.tooltip.position,
854
+ offsetY: e.value.style.chart.tooltip.offsetY,
855
+ parent: M.value,
856
+ content: _e.value,
857
+ isCustom: be.value,
858
+ isFullscreen: Y.value,
859
+ smooth: e.value.style.chart.tooltip.smooth,
860
+ backdropFilter: e.value.style.chart.tooltip.backdropFilter,
861
+ smoothForce: e.value.style.chart.tooltip.smoothForce,
862
+ smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThreshold
863
+ }, {
864
+ "tooltip-before": b(() => [
865
+ k(t.$slots, "tooltip-before", Q(ee({ ...ne.value })), void 0, !0)
866
+ ]),
867
+ "tooltip-after": b(() => [
868
+ k(t.$slots, "tooltip-after", Q(ee({ ...ne.value })), void 0, !0)
869
+ ]),
870
+ _: 3
871
+ }, 8, ["show", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "position", "offsetY", "parent", "content", "isCustom", "isFullscreen", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
872
+ Ze.value && e.value.userOptions.buttons.table ? (i(), q(uo(se.value.component), io({ key: 7 }, se.value.props, {
873
+ ref_key: "tableUnit",
874
+ ref: oe,
875
+ onClose: mt
876
+ }), $t({
877
+ content: b(() => [
878
+ xe(r(It), {
879
+ colNames: Ce.value.colNames,
880
+ head: Ce.value.head,
881
+ body: Ce.value.body,
882
+ config: Ce.value.config,
883
+ title: e.value.table.useDialog ? "" : se.value.title,
884
+ withCloseButton: !e.value.table.useDialog,
885
+ onClose: mt
886
+ }, {
887
+ th: b(({ th: o }) => [
888
+ G("div", {
889
+ innerHTML: o,
890
+ style: { display: "flex", "align-items": "center" }
891
+ }, null, 8, Jo)
892
+ ]),
893
+ td: b(({ td: o }) => [
894
+ At(he(o.name || o), 1)
895
+ ]),
896
+ _: 1
897
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"])
898
+ ]),
899
+ _: 2
900
+ }, [
901
+ e.value.table.useDialog ? {
902
+ name: "title",
903
+ fn: b(() => [
904
+ At(he(se.value.title), 1)
905
+ ]),
906
+ key: "0"
907
+ } : void 0,
908
+ e.value.table.useDialog ? {
909
+ name: "actions",
910
+ fn: b(() => [
911
+ G("button", {
912
+ tabindex: "0",
913
+ class: "vue-ui-user-options-button",
914
+ onClick: l[1] || (l[1] = (o) => Me(e.value.userOptions.callbacks.csv))
915
+ }, [
916
+ xe(r(Ft), {
917
+ name: "excel",
918
+ stroke: se.value.props.color
919
+ }, null, 8, ["stroke"])
920
+ ])
921
+ ]),
922
+ key: "1"
923
+ } : void 0
924
+ ]), 1040)) : T("", !0),
925
+ r(Ne) ? (i(), q(So, { key: 8 })) : T("", !0)
926
+ ], 46, Do));
927
+ }
928
+ }, fl = /* @__PURE__ */ Mo(Qo, [["__scopeId", "data-v-277f5344"]]);
929
+ export {
930
+ fl as default
931
+ };