vue-data-ui 3.5.2 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/README.md +36 -27
  2. package/dist/{Arrow-BGVin3AS.js → Arrow-CWYIBV-7.js} +1 -1
  3. package/dist/{BaseDraggableDialog-ymf2sfB8.js → BaseDraggableDialog-CRF94NJQ.js} +2 -2
  4. package/dist/{BaseIcon-BmMbm4d0.js → BaseIcon-CofSxalQ.js} +6 -5
  5. package/dist/{ColorPicker-ChuwChMo.js → ColorPicker-e1-OSGlQ.js} +10 -10
  6. package/dist/{DataTable-BT7VF2ua.js → DataTable-CHaOCmsE.js} +2 -2
  7. package/dist/{Legend-G6GMcdAc.js → Legend-Web3GjlR.js} +10 -10
  8. package/dist/{NonSvgPenAndPaper-DVgKKLIf.js → NonSvgPenAndPaper-CjYFLlns.js} +3 -3
  9. package/dist/{PackageVersion-Y7t79Jtq.js → PackageVersion-Bq_mtsqr.js} +1 -1
  10. package/dist/{PenAndPaper-SZQIAgkg.js → PenAndPaper-HCZQTkqi.js} +20 -20
  11. package/dist/{Shape-CNXKB8O0.js → Shape-DE6X_t31.js} +3 -3
  12. package/dist/{Slicer-D2wm0coO.js → Slicer-BFBBG6xv.js} +23 -23
  13. package/dist/{SlicerPreview-ij72TAs6.js → SlicerPreview-D76aSViW.js} +2 -2
  14. package/dist/{SparkTooltip-BEewz-_Q.js → SparkTooltip-B2rpVWE1.js} +6 -6
  15. package/dist/{Title-BzH_LEA3.js → Title-DfFUb9hd.js} +1 -1
  16. package/dist/{Tooltip-oWCO1HKy.js → Tooltip-WD0Ros6G.js} +1 -1
  17. package/dist/{UserOptions-CGnQt6Fd.js → UserOptions-B3I-s3Lw.js} +2 -2
  18. package/dist/components/arrow.js +1 -1
  19. package/dist/components/vue-ui-3d-bar.js +3 -3
  20. package/dist/components/vue-ui-accordion.js +1 -1
  21. package/dist/components/vue-ui-age-pyramid.js +3 -3
  22. package/dist/components/vue-ui-annotator.js +1 -1
  23. package/dist/components/vue-ui-bullet.js +3 -3
  24. package/dist/components/vue-ui-candlestick.js +3 -3
  25. package/dist/components/vue-ui-carousel-table.js +1 -1
  26. package/dist/components/vue-ui-chestnut.js +3 -3
  27. package/dist/components/vue-ui-chord.js +3 -3
  28. package/dist/components/vue-ui-circle-pack.js +3 -3
  29. package/dist/components/vue-ui-cursor.js +1 -1
  30. package/dist/components/vue-ui-dashboard.js +1 -1
  31. package/dist/components/vue-ui-digits.js +1 -1
  32. package/dist/components/vue-ui-donut-evolution.js +2 -2
  33. package/dist/components/vue-ui-donut.js +3 -3
  34. package/dist/components/vue-ui-dumbbell.js +3 -3
  35. package/dist/components/vue-ui-flow.js +3 -3
  36. package/dist/components/vue-ui-funnel.js +2 -2
  37. package/dist/components/vue-ui-galaxy.js +1 -1
  38. package/dist/components/vue-ui-gauge.js +1 -1
  39. package/dist/components/vue-ui-gizmo.js +1 -1
  40. package/dist/components/vue-ui-heatmap.js +1 -1
  41. package/dist/components/vue-ui-history-plot.js +3 -3
  42. package/dist/components/vue-ui-horizontal-bar.js +3 -3
  43. package/dist/components/vue-ui-icon.js +1 -1
  44. package/dist/components/vue-ui-kpi.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +3 -3
  47. package/dist/components/vue-ui-mood-radar.js +3 -3
  48. package/dist/components/vue-ui-nested-donuts.js +2 -2
  49. package/dist/components/vue-ui-onion.js +3 -3
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +3 -3
  52. package/dist/components/vue-ui-quick-chart.js +3 -3
  53. package/dist/components/vue-ui-radar.js +3 -3
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +3 -3
  56. package/dist/components/vue-ui-ridgeline.js +3 -3
  57. package/dist/components/vue-ui-rings.js +3 -3
  58. package/dist/components/vue-ui-scatter.js +3 -3
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +2 -2
  63. package/dist/components/vue-ui-sparkgauge.js +3 -3
  64. package/dist/components/vue-ui-sparkhistogram.js +3 -3
  65. package/dist/components/vue-ui-sparkline.js +3 -3
  66. package/dist/components/vue-ui-sparkstackbar.js +2 -2
  67. package/dist/components/vue-ui-stackbar.js +3 -3
  68. package/dist/components/vue-ui-stackline.js +5 -0
  69. package/dist/components/vue-ui-strip-plot.js +3 -3
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +2 -2
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +3 -3
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +2 -2
  76. package/dist/components/vue-ui-treemap.js +3 -3
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +2 -2
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +3 -3
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +3 -3
  83. package/dist/components/vue-ui-xy.js +3 -3
  84. package/dist/{dom-to-png--BNgrTZV.js → dom-to-png-CH2DfsJe.js} +1 -1
  85. package/dist/{img-BecE5qXd.js → img-DUzJeMlr.js} +1 -1
  86. package/dist/{lib-C_mNZmhD.js → lib-C5BH09_g.js} +111 -110
  87. package/dist/{pdf-DuG5j3Wv.js → pdf-BSWQncok.js} +1 -1
  88. package/dist/style.css +1 -1
  89. package/dist/types/vue-data-ui.d.ts +303 -9
  90. package/dist/types/vue-ui-stackline.d.ts +18 -0
  91. package/dist/{useAutoSizeLabelsInsideViewbox-BhzfwQ_k.js → useAutoSizeLabelsInsideViewbox-DOALwU4q.js} +7 -7
  92. package/dist/{useNestedProp-CReNavA0.js → useNestedProp-CWo6bftQ.js} +535 -329
  93. package/dist/{usePrinter-DTzqpYKF.js → usePrinter-DCJzEiS8.js} +2 -2
  94. package/dist/useThemeCheck-DGJ31Vi5.js +32 -0
  95. package/dist/{useTimeLabels-BGFjWgrv.js → useTimeLabels-C5qMhpbe.js} +50 -49
  96. package/dist/{vue-data-ui-BRaq4hRp.js → vue-data-ui-ByLTJx5V.js} +79 -77
  97. package/dist/vue-data-ui.js +226 -204
  98. package/dist/{vue-ui-3d-bar-BB4ii8Nt.js → vue-ui-3d-bar-Dkds4k5N.js} +546 -517
  99. package/dist/{vue-ui-accordion-BmFTVF1a.js → vue-ui-accordion-DSdZUn2C.js} +3 -3
  100. package/dist/vue-ui-age-pyramid-C-fwZRYE.js +960 -0
  101. package/dist/{vue-ui-annotator-CcpaXBNK.js → vue-ui-annotator-DRaH8hXn.js} +7 -7
  102. package/dist/vue-ui-bullet-BKVJRjGh.js +657 -0
  103. package/dist/{vue-ui-candlestick-CMP7UL6z.js → vue-ui-candlestick-BKFWHU4O.js} +596 -561
  104. package/dist/{vue-ui-carousel-table-CzOcKsDj.js → vue-ui-carousel-table-VmPH6y2g.js} +48 -48
  105. package/dist/{vue-ui-chestnut-S787oASt.js → vue-ui-chestnut-DpMHe-OI.js} +534 -505
  106. package/dist/vue-ui-chord-Djdr0PY_.js +1182 -0
  107. package/dist/vue-ui-circle-pack-CyUqNJQt.js +832 -0
  108. package/dist/{vue-ui-cursor-C3yD_TUr.js → vue-ui-cursor-BMe8ZiV6.js} +2 -2
  109. package/dist/{vue-ui-dashboard-BfEcVRxQ.js → vue-ui-dashboard-eBXj-KCw.js} +140 -140
  110. package/dist/{vue-ui-digits-pRh179Gg.js → vue-ui-digits-D382I0-w.js} +2 -2
  111. package/dist/{vue-ui-donut-B_tEm4dT.js → vue-ui-donut-BLb0kj_P.js} +634 -602
  112. package/dist/vue-ui-donut-evolution-BqrldXpI.js +1243 -0
  113. package/dist/vue-ui-dumbbell-BuZT5a-d.js +1258 -0
  114. package/dist/vue-ui-flow-LLp6ntEP.js +1026 -0
  115. package/dist/vue-ui-funnel-pILUR-OG.js +743 -0
  116. package/dist/vue-ui-galaxy-X6yiw8kx.js +837 -0
  117. package/dist/vue-ui-gauge-DBh-vFb9.js +864 -0
  118. package/dist/{vue-ui-gizmo-BQzQlUJ8.js → vue-ui-gizmo-DtyEukIP.js} +3 -3
  119. package/dist/{vue-ui-heatmap-C9MhHWpp.js → vue-ui-heatmap-mkD6QkXo.js} +501 -466
  120. package/dist/vue-ui-history-plot-CyTaBaxA.js +1239 -0
  121. package/dist/{vue-ui-kpi-jcrPjW4C.js → vue-ui-kpi-CKMZDc3n.js} +3 -3
  122. package/dist/{vue-ui-mini-loader-DTM98mRN.js → vue-ui-mini-loader-BN72OfS0.js} +2 -2
  123. package/dist/vue-ui-molecule-UzQ3o5HW.js +782 -0
  124. package/dist/vue-ui-mood-radar-C2zkRLGy.js +930 -0
  125. package/dist/vue-ui-nested-donuts-B5OpvmJ9.js +1454 -0
  126. package/dist/vue-ui-onion-DbhIOGtF.js +944 -0
  127. package/dist/vue-ui-parallel-coordinate-plot-Dv_T4mWW.js +1080 -0
  128. package/dist/{vue-ui-quadrant-CeM23s0z.js → vue-ui-quadrant-CG6_CWsQ.js} +510 -481
  129. package/dist/{vue-ui-quick-chart-C0RMQzjC.js → vue-ui-quick-chart-DOeRhk7r.js} +795 -758
  130. package/dist/vue-ui-radar-DdHa9Hsh.js +1013 -0
  131. package/dist/{vue-ui-rating-tj97undO.js → vue-ui-rating-DtzmtJwF.js} +26 -26
  132. package/dist/vue-ui-relation-circle-B5lL4l9w.js +670 -0
  133. package/dist/vue-ui-ridgeline-3pk4Mlft.js +1302 -0
  134. package/dist/vue-ui-rings-DhyrjrZi.js +884 -0
  135. package/dist/vue-ui-scatter-DKCD70mi.js +1619 -0
  136. package/dist/{vue-ui-skeleton-87TORm6s.js → vue-ui-skeleton-CzzdmraB.js} +3 -3
  137. package/dist/{vue-ui-smiley-B74geHT3.js → vue-ui-smiley-OYyM-ukP.js} +2 -2
  138. package/dist/vue-ui-spark-trend-BMTcxeCT.js +364 -0
  139. package/dist/vue-ui-sparkbar-DVk1JiPL.js +381 -0
  140. package/dist/vue-ui-sparkgauge-Cq9Nw_xu.js +260 -0
  141. package/dist/vue-ui-sparkhistogram-PFHlCE_k.js +411 -0
  142. package/dist/vue-ui-sparkline-BHHwO_cV.js +549 -0
  143. package/dist/vue-ui-sparkstackbar-BosVkkiC.js +470 -0
  144. package/dist/vue-ui-stackbar-Djk5CPUy.js +1867 -0
  145. package/dist/vue-ui-stackline-mU4CSol9.js +1963 -0
  146. package/dist/{vue-ui-strip-plot-C1N2n39d.js → vue-ui-strip-plot-CZQSL0GK.js} +343 -314
  147. package/dist/{vue-ui-table-CcuoPHgI.js → vue-ui-table-DMM090pe.js} +5 -5
  148. package/dist/vue-ui-table-heatmap-vQEFrjCX.js +307 -0
  149. package/dist/{vue-ui-table-sparkline-BAxmZRff.js → vue-ui-table-sparkline-CQJc0mJY.js} +292 -263
  150. package/dist/vue-ui-thermometer-D1uxoVeZ.js +613 -0
  151. package/dist/{vue-ui-timer-BVsUQJz_.js → vue-ui-timer-jTnS3ES5.js} +25 -25
  152. package/dist/vue-ui-tiremarks-Bv-oIFVV.js +477 -0
  153. package/dist/vue-ui-treemap-B9MVtunp.js +1359 -0
  154. package/dist/{vue-ui-vertical-bar-B3gfBqD_.js → vue-ui-vertical-bar-BSbDj5qZ.js} +520 -485
  155. package/dist/{vue-ui-waffle-Bhlqo4xM.js → vue-ui-waffle-DIALVfvc.js} +376 -347
  156. package/dist/vue-ui-wheel-aUhrFpGk.js +690 -0
  157. package/dist/vue-ui-word-cloud-DZmMWsUu.js +904 -0
  158. package/dist/{vue-ui-world-C8KVyDim.js → vue-ui-world-CVLlgp2f.js} +57 -57
  159. package/dist/vue-ui-xy-Cy7mOurZ.js +3455 -0
  160. package/dist/vue-ui-xy-canvas-Cr13t9M5.js +1599 -0
  161. package/dist/vue_ui_vertical_bar-CELc39b8.js +18 -0
  162. package/package.json +5 -5
  163. package/dist/themes-AUNCOb2G.js +0 -53
  164. package/dist/vue-ui-age-pyramid-8bUepd28.js +0 -933
  165. package/dist/vue-ui-bullet-BvT4scFv.js +0 -630
  166. package/dist/vue-ui-chord-Dl9Y4mcz.js +0 -1153
  167. package/dist/vue-ui-circle-pack-CU09BzOV.js +0 -803
  168. package/dist/vue-ui-donut-evolution-DiGhMwMO.js +0 -1208
  169. package/dist/vue-ui-dumbbell-BlF3CLbN.js +0 -1231
  170. package/dist/vue-ui-flow-BQi5L8mJ.js +0 -991
  171. package/dist/vue-ui-funnel-CM_6Sare.js +0 -716
  172. package/dist/vue-ui-galaxy-BnZA62Li.js +0 -808
  173. package/dist/vue-ui-gauge-DAk72bez.js +0 -835
  174. package/dist/vue-ui-history-plot-BYQh3E8U.js +0 -1204
  175. package/dist/vue-ui-molecule-Bd1OXvl3.js +0 -753
  176. package/dist/vue-ui-mood-radar-DuoiTsYn.js +0 -903
  177. package/dist/vue-ui-nested-donuts-BTswQFjz.js +0 -1419
  178. package/dist/vue-ui-onion-D-1U2Qgl.js +0 -915
  179. package/dist/vue-ui-parallel-coordinate-plot-D-7VFHas.js +0 -1051
  180. package/dist/vue-ui-radar-BSfxyur3.js +0 -984
  181. package/dist/vue-ui-relation-circle-C7uV2mIj.js +0 -641
  182. package/dist/vue-ui-ridgeline-CYMfTlwI.js +0 -1273
  183. package/dist/vue-ui-rings-C96aj57d.js +0 -855
  184. package/dist/vue-ui-scatter-CtvOXUnx.js +0 -1590
  185. package/dist/vue-ui-spark-trend-6_Ibziyv.js +0 -337
  186. package/dist/vue-ui-sparkbar-BDCocMLI.js +0 -352
  187. package/dist/vue-ui-sparkgauge-CQ4Zk9-f.js +0 -233
  188. package/dist/vue-ui-sparkhistogram-BlTV9wfn.js +0 -384
  189. package/dist/vue-ui-sparkline-DWESyiqL.js +0 -514
  190. package/dist/vue-ui-sparkstackbar-DK_7X8mL.js +0 -441
  191. package/dist/vue-ui-stackbar-BWuw8ff4.js +0 -1827
  192. package/dist/vue-ui-table-heatmap-C9EMEM3Z.js +0 -282
  193. package/dist/vue-ui-thermometer-CDrM-WFq.js +0 -584
  194. package/dist/vue-ui-tiremarks-BQH2pNkG.js +0 -450
  195. package/dist/vue-ui-treemap-6WLoCHsH.js +0 -1330
  196. package/dist/vue-ui-wheel-CqHw1WuW.js +0 -663
  197. package/dist/vue-ui-word-cloud-CKuWZGLv.js +0 -875
  198. package/dist/vue-ui-xy-Cz2qIEfi.js +0 -3424
  199. package/dist/vue-ui-xy-canvas-y4h7gEFp.js +0 -1564
@@ -0,0 +1,1026 @@
1
+ import { defineAsyncComponent as W, ref as u, computed as f, onMounted as ko, toRefs as Ao, watch as Ee, createElementBlock as m, openBlock as c, unref as r, normalizeStyle as U, normalizeClass as xt, createBlock as Z, createCommentVNode as T, createElementVNode as G, createVNode as Se, withCtx as v, renderSlot as h, normalizeProps as P, guardReactiveProps as I, createSlots as Ot, Fragment as ve, renderList as fe, withKeys as qe, withModifiers as Ke, toDisplayString as he, Teleport as wo, resolveDynamicComponent as $o, mergeProps as To, createTextVNode as _t, nextTick as Nt } from "vue";
2
+ import { c as xe, t as Fo, o as Bt, g as Eo, i as So, p as L, j as xo, M as F, l as Oo, d as te, X as _o, a as Oe, w as Dt, S as No, u as Bo, q as Do, x as Po } from "./lib-C5BH09_g.js";
3
+ import { t as Io, u as Mo } from "./useResponsive-DfdjqQps.js";
4
+ import { u as zo, a as Ze } from "./useNestedProp-CWo6bftQ.js";
5
+ import { u as Lo } from "./usePrinter-DCJzEiS8.js";
6
+ import { u as Ro, B as Ho } from "./BaseScanner-BgWxam9d.js";
7
+ import { u as jo } from "./useSvgExport-DrjCWun4.js";
8
+ import { u as Wo } from "./useThemeCheck-DGJ31Vi5.js";
9
+ import { u as Uo } from "./useUserOptionState-BIvW1Kz7.js";
10
+ import { u as Go } from "./useChartAccessibility-9icAAmYg.js";
11
+ import Yo from "./Legend-Web3GjlR.js";
12
+ import Vo from "./Title-DfFUb9hd.js";
13
+ import Xo from "./img-DUzJeMlr.js";
14
+ import { _ as qo } from "./_plugin-vue_export-helper-CHgC5LLL.js";
15
+ const Pt = { style: { chart: { backgroundColor: "#1A1A1A", color: "#CCCCCC", tooltip: { backgroundColor: "#1A1A1A", backgroundOpacity: 70, color: "#CCCCCC", borderColor: "#5A5A5A" }, legend: { backgroundColor: "#1A1A1A", color: "#CCCCCC" }, title: { color: "#CCCCCC", subtitle: { color: "#757575" } }, nodes: { stroke: "#1A1A1A" }, links: { stroke: "#5A5A5A" } } }, table: { th: { backgroundColor: "#1A1A1A", color: "#CCCCCC" }, td: { backgroundColor: "#1A1A1A", color: "#CCCCCC" } } }, It = { style: { chart: { backgroundColor: "#FFF8E1", color: "#424242", tooltip: { backgroundColor: "#FFECB3", backgroundOpacity: 30, color: "#424242", borderColor: "#FF8A65" }, legend: { backgroundColor: "#FFF8E1", color: "#424242" }, title: { color: "#424242", subtitle: { color: "#757575" } }, nodes: { stroke: "#3A3A3A" }, links: { stroke: "#3A3A3A" } } }, table: { th: { backgroundColor: "#FFF8E1", color: "#424242" }, td: { backgroundColor: "#FFF8E1", color: "#424242" } } }, Mt = { style: { chart: { backgroundColor: "#1E1E1E", color: "#BDBDBD", tooltip: { backgroundColor: "#1E1E1E", backgroundOpacity: 30, color: "#FFF8E1", borderColor: "#FF8A65" }, title: { color: "#FFF8E1", subtitle: { color: "#BDBDBD" } }, legend: { backgroundColor: "#1E1E1E", color: "#BDBDBD" }, nodes: { stroke: "#1E1E1E" }, links: { stroke: "#1E1E1E" } } }, table: { th: { backgroundColor: "#1E1E1E", color: "#BDBDBD" }, td: { backgroundColor: "#1E1E1E", color: "#BDBDBD" } } }, zt = { style: { chart: { backgroundColor: "#1A1A1A", color: "#99AA99", tooltip: { backgroundColor: "#2A2F2A", color: "#AACCAA", borderColor: "#66CC66" }, title: { color: "#66CC66", subtitle: { color: "#99AA99" } }, legend: { backgroundColor: "#1A1A1A", color: "#99AA99" }, nodes: { stroke: "#1A1A1A" }, links: { stroke: "#1A1A1A" } } }, table: { th: { backgroundColor: "#1A1A1A", color: "#99AA99" }, td: { backgroundColor: "#1A1A1A", color: "#AACCAA" } } }, Lt = { style: { chart: { backgroundColor: "#fbfafa", color: "#8A9892", tooltip: { backgroundColor: "#fbfafa", color: "#8A9892" }, title: { color: "#8A9892", subtitle: { color: "#99AA99" } }, legend: { backgroundColor: "#fbfafa", color: "#99AA99" }, nodes: { stroke: "#fbfafa" }, links: { stroke: "#fbfafa" } } }, table: { th: { backgroundColor: "#fbfafa", color: "#8F837A" }, td: { backgroundColor: "#fbfafa", color: "#8F837A" } } }, Rt = { style: { chart: { backgroundColor: "#f6f6fb", color: "#50606C", tooltip: { backgroundColor: "#f6f6fb", color: "#50606C" }, title: { color: "#50606C", subtitle: { color: "#718890" } }, legend: { backgroundColor: "#f6f6fb", color: "#61747E" }, nodes: { stroke: "#f6f6fb" }, links: { stroke: "#f6f6fb" } } }, table: { th: { backgroundColor: "#f6f6fb", color: "#50606C" }, td: { backgroundColor: "#f6f6fb", color: "#50606C" } } }, Ht = {
16
+ default: {},
17
+ dark: Pt,
18
+ celebration: It,
19
+ celebrationNight: Mt,
20
+ hack: zt,
21
+ zen: Lt,
22
+ concrete: Rt
23
+ }, xl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
24
+ __proto__: null,
25
+ celebration: It,
26
+ celebrationNight: Mt,
27
+ concrete: Rt,
28
+ dark: Pt,
29
+ default: Ht,
30
+ hack: zt,
31
+ zen: Lt
32
+ }, Symbol.toStringTag, { value: "Module" })), Ko = ["id"], Zo = {
33
+ key: 1,
34
+ ref: "noTitle",
35
+ class: "vue-data-ui-no-title-space",
36
+ style: "height:36px; width: 100%;background:transparent"
37
+ }, Jo = ["id"], Qo = ["xmlns", "viewBox"], el = ["width", "height"], tl = ["id"], ol = ["stop-color"], ll = ["stop-color"], al = ["d", "fill", "stroke", "stroke-width"], nl = ["x", "y", "height", "width", "fill", "stroke", "stroke-width", "rx", "aria-label", "onMouseenter", "onMouseleave", "onClick", "onKeydown", "onFocus", "onBlur"], sl = { key: 1 }, rl = ["x", "y", "font-size", "fill"], ul = ["x", "y", "font-size", "fill"], il = {
38
+ key: 4,
39
+ class: "vue-data-ui-watermark"
40
+ }, cl = ["id"], dl = ["onClick"], vl = ["innerHTML"], fl = {
41
+ __name: "vue-ui-flow",
42
+ props: {
43
+ config: {
44
+ type: Object,
45
+ default() {
46
+ return {};
47
+ }
48
+ },
49
+ dataset: {
50
+ type: Array,
51
+ default() {
52
+ return [];
53
+ }
54
+ }
55
+ },
56
+ setup(jt, { expose: Wt }) {
57
+ const Ut = W(() => import("./Tooltip-WD0Ros6G.js")), Gt = W(() => import("./BaseIcon-CofSxalQ.js")), Yt = W(() => import("./vue-ui-accordion-DSdZUn2C.js")), Vt = W(() => import("./DataTable-CHaOCmsE.js")), Xt = W(() => import("./PenAndPaper-HCZQTkqi.js")), qt = W(() => import("./UserOptions-B3I-s3Lw.js")), Kt = W(() => import("./PackageVersion-Bq_mtsqr.js")), Zt = W(() => import("./BaseDraggableDialog-CRF94NJQ.js")), { vue_ui_flow: Jt } = zo(), { isThemeValid: Qt, warnInvalidTheme: eo } = Wo(), E = jt, Y = u(xe()), B = u(null), Je = u(0), Qe = u(0), _e = u(!1), Ne = u(""), et = u(null), tt = u(null), ot = u(null), oe = u(null), ge = u(null), lt = u(!1), le = u(null), Be = u(null), De = u(null), at = f(() => !!E.dataset && E.dataset.length);
58
+ ko(() => {
59
+ lt.value = !0, st();
60
+ });
61
+ const V = u(!1);
62
+ function nt(o) {
63
+ V.value = o, Je.value += 1;
64
+ }
65
+ const e = u(Le()), { loading: Pe, FINAL_DATASET: pe, manualLoading: Ie } = Ro({
66
+ ...Ao(E),
67
+ FINAL_CONFIG: e,
68
+ prepareConfig: Le,
69
+ skeletonDataset: [
70
+ ["A", "B", 2, "#CACACA"],
71
+ ["B", "C", 1, "#CACACA"],
72
+ ["C", "D", 0.5, "#CACACA"],
73
+ ["E", "F", 1, "#AAAAAA"],
74
+ ["F", "G", 0.5, "#AAAAAA"],
75
+ ["G", "H", 0.25, "#AAAAAA"]
76
+ ],
77
+ skeletonConfig: Fo({
78
+ defaultConfig: e.value,
79
+ userConfig: {
80
+ userOptions: { show: !1 },
81
+ nodeCategories: {
82
+ B: "A",
83
+ C: "B"
84
+ },
85
+ nodeCategoryColors: {
86
+ A: "#CACACA",
87
+ B: "#AAAAAA"
88
+ },
89
+ table: { show: !1 },
90
+ style: {
91
+ chart: {
92
+ backgroundColor: "#99999930",
93
+ legend: {
94
+ backgroundColor: "transparent"
95
+ },
96
+ nodes: {
97
+ labels: {
98
+ show: !1
99
+ },
100
+ stroke: "#666666"
101
+ },
102
+ links: {
103
+ stroke: "#666666"
104
+ }
105
+ }
106
+ }
107
+ }
108
+ })
109
+ }), to = f(() => !!e.value.debug);
110
+ function st() {
111
+ if (Bt(E.dataset) && (Eo({
112
+ componentName: "VueUiFlow",
113
+ type: "dataset",
114
+ debug: to.value
115
+ }), Ie.value = !0), Bt(E.dataset) || (Ie.value = e.value.loading), e.value.responsive) {
116
+ const o = Io(() => {
117
+ const { width: l, height: t } = Mo({
118
+ chart: B.value,
119
+ title: e.value.style.chart.title.text ? tt.value : null,
120
+ legend: e.value.style.chart.legend.show ? et.value : null,
121
+ source: ot.value
122
+ });
123
+ requestAnimationFrame(() => {
124
+ it.value = l, ct.value = t;
125
+ });
126
+ });
127
+ oe.value && (ge.value && oe.value.unobserve(ge.value), oe.value.disconnect()), oe.value = new ResizeObserver(o), ge.value = B.value.parentNode, oe.value.observe(ge.value);
128
+ }
129
+ }
130
+ const { userOptionsVisible: Me, setUserOptionsVisibility: rt, keepUserOptionState: ut } = Uo({ config: e.value }), { svgRef: ze } = Go({
131
+ config: e.value.style.chart.title
132
+ });
133
+ function Le() {
134
+ const o = Ze({
135
+ userConfig: E.config,
136
+ defaultConfig: Jt
137
+ });
138
+ let l = o;
139
+ const t = o.theme;
140
+ if (t)
141
+ if (!Qt.value(o))
142
+ eo(o), l = o;
143
+ else {
144
+ const a = Ze({
145
+ userConfig: Ht[t] || E.config,
146
+ defaultConfig: o
147
+ });
148
+ l = {
149
+ ...Ze({
150
+ userConfig: E.config,
151
+ defaultConfig: a
152
+ }),
153
+ customPalette: o.customPalette.length ? o.customPalette : So[t] || L
154
+ };
155
+ }
156
+ else
157
+ l = o;
158
+ return l.nodeCategories = E.config.nodeCategories || {}, l.nodeCategoryColors = E.config.nodeCategoryColors || {}, l;
159
+ }
160
+ const it = u(e.value.style.chart.width), ct = u(e.value.style.chart.height);
161
+ Ee(
162
+ () => E.config,
163
+ (o) => {
164
+ Pe.value || (e.value = Le()), Me.value = !e.value.userOptions.showOnChartHover, st(), Qe.value += 1, S.value.showTable = e.value.table.show;
165
+ },
166
+ { deep: !0 }
167
+ ), Ee(() => E.dataset, (o) => {
168
+ Array.isArray(o) && o.length > 0 && (Ie.value = !1);
169
+ }, { deep: !0 });
170
+ const { isPrinting: dt, isImaging: vt, generatePdf: ft, generateImage: ht } = Lo({
171
+ elementId: `flow_${Y.value}`,
172
+ fileName: e.value.style.chart.title.text || "vue-ui-flow",
173
+ options: e.value.userOptions.print
174
+ }), oo = f(() => e.value.userOptions.show && !e.value.style.chart.title.text), be = f(() => xo(e.value.customPalette)), me = f(() => e.value.style.chart.nodes.width), S = u({
175
+ showTable: e.value.table.show,
176
+ showTooltip: e.value.style.chart.tooltip.show
177
+ });
178
+ Ee(e, () => {
179
+ S.value = {
180
+ showTable: e.value.table.show,
181
+ showTooltip: e.value.style.chart.tooltip.show
182
+ };
183
+ }, { immediate: !0 });
184
+ const gt = f(() => !pe.value || !pe.value.length ? [] : pe.value.map((o, l) => [
185
+ o[0],
186
+ o[1],
187
+ F(o[2]),
188
+ o[3] ? Oo(o[3]) : be.value[l] || be.value[l % be.value.length] || L[l] || L[l % L.length]
189
+ ]));
190
+ function lo(o) {
191
+ const l = {}, t = {};
192
+ function a(n, i) {
193
+ l[n] || (l[n] = {
194
+ level: null,
195
+ inflow: 0,
196
+ outflow: 0,
197
+ children: [],
198
+ color: null,
199
+ uid: xe()
200
+ }), l[n].level === null && (l[n].level = i), t[i] || (t[i] = []), t[i].includes(n) || t[i].push(n);
201
+ }
202
+ o.forEach(([n, i, g]) => {
203
+ const p = l[n]?.level ?? 0, O = p + 1;
204
+ a(n, p), a(i, O), l[n].children.push({ target: i, value: g }), l[n].outflow += g, l[i].inflow += g;
205
+ });
206
+ const s = new Set(o.map(([n]) => n)), w = new Set(o.map(([, n]) => n)), Q = Array.from(s).filter((n) => !w.has(n)), ue = {};
207
+ Q.forEach((n, i) => {
208
+ ue[n] = be.value[i] || L[i % L.length];
209
+ });
210
+ const ie = {};
211
+ o.forEach(([n, i, g, p]) => {
212
+ p && (ie[n] = p, ie[i] = p);
213
+ }), Object.keys(l).forEach((n, i) => {
214
+ const g = e.value.nodeCategories?.[n], p = g ? e.value.nodeCategoryColors?.[g] : null;
215
+ l[n].color = ie[n] || p || (Q.includes(n) ? ue[n] : null) || L[i % L.length];
216
+ }), Object.keys(l).forEach((n) => {
217
+ l[n].value = Math.max(l[n].inflow, l[n].outflow);
218
+ });
219
+ const $e = ae.value, Ge = mt.value.width, ee = mt.value.height, z = Object.keys(t).map(Number).sort((n, i) => n - i), Te = z.length || 1, Ye = Te > 1 ? Ge / (Te - 1) : 0, $ = Number(me.value), M = Number(
220
+ e.value.style.chart.nodes.gapPx ?? e.value.style.chart.nodes.gap ?? 8
221
+ ), ce = Number(e.value.style.chart.nodes.minHeight || 0);
222
+ function d(n) {
223
+ const i = t[n], g = i.length;
224
+ if (!g) return 1 / 0;
225
+ const p = Math.max(0, (g - 1) * M), O = Math.max(0, ee - p), R = Math.min(ce, g ? O / g : 0);
226
+ let k = 0, _ = i.map((b) => l[b].value || 0), C = _.reduce((b, N) => b + N, 0);
227
+ for (let b = 0; b < 12; b += 1) {
228
+ const N = C > 0 ? (O - k) / C : 0, H = [];
229
+ for (let D = 0; D < _.length; D += 1) {
230
+ const j = _[D];
231
+ j < 0 || j * N < R && H.push(D);
232
+ }
233
+ if (!H.length) return Math.max(0, N);
234
+ for (const D of H)
235
+ k += R, C -= _[D], _[D] = -1;
236
+ if (C <= 0) return 0;
237
+ }
238
+ return C > 0 ? Math.max(0, (O - k) / C) : 0;
239
+ }
240
+ const y = z.map(d), q = y.length ? Math.min(...y) : 0, K = {};
241
+ z.forEach((n) => {
242
+ const i = t[n], g = i.length, p = Math.max(0, (g - 1) * M), O = Math.max(0, ee - p), R = Math.min(ce, g ? O / g : 0), k = i.map(
243
+ (b) => Math.max(R, (l[b].value || 0) * q)
244
+ ), _ = k.reduce((b, N) => b + N, 0) + p;
245
+ let C = Math.max(0, (ee - _) / 2);
246
+ i.forEach((b, N) => {
247
+ const H = k[N], D = $e.left + n * Ye, j = C;
248
+ K[b] = {
249
+ x: D,
250
+ y: j,
251
+ absoluteY: j,
252
+ height: H,
253
+ i: N,
254
+ color: l[b].color,
255
+ value: l[b].value,
256
+ id: xe()
257
+ }, C += H, N < g - 1 && (C += M);
258
+ });
259
+ });
260
+ const Ft = [], de = $e.top, Ve = {}, Xe = {};
261
+ Object.keys(l).forEach((n) => {
262
+ Ve[n] = K[n]?.y ?? 0, Xe[n] = 0;
263
+ });
264
+ const po = 1e-6, bo = 0.25;
265
+ return z.forEach((n) => {
266
+ t[n].forEach((g) => {
267
+ const p = l[g], O = K[g];
268
+ if (!p.children || !p.children.length) return;
269
+ let R = O.y;
270
+ p.children.forEach(({ target: k, value: _ }) => {
271
+ const C = K[k], b = l[k], N = p.outflow > 0 ? _ / p.outflow : 0, H = b.inflow > 0 ? _ / b.inflow : 0, D = F(R + de), j = F(R + N * O.height + de), Et = Ve[k];
272
+ let Fe = Et + H * C.height;
273
+ Xe[k] += _;
274
+ const mo = b.inflow > 0 && Xe[k] >= b.inflow - po, St = C.y + C.height;
275
+ (mo || Fe > St - bo) && (Fe = St);
276
+ const yo = F(Et + de), Co = F(Fe + de);
277
+ Ft.push({
278
+ id: xe(),
279
+ source: g,
280
+ target: k,
281
+ path: `M ${F(O.x + $)} ${D} L ${F(O.x + $)} ${j} L ${F(C.x)} ${Co} L ${F(C.x)} ${yo} Z`,
282
+ value: _,
283
+ sourceColor: p.color,
284
+ targetColor: l[k].color
285
+ }), R = j - de, Ve[k] = Fe;
286
+ });
287
+ });
288
+ }), { nodeCoordinates: K, links: Ft };
289
+ }
290
+ const x = f(() => {
291
+ const o = lo(pe.value);
292
+ return {
293
+ nodes: Object.keys(o.nodeCoordinates).map((l, t) => ({
294
+ ...o.nodeCoordinates[l],
295
+ name: l
296
+ })),
297
+ links: o.links
298
+ };
299
+ }), pt = f(() => it.value), bt = f(() => ct.value), ae = f(() => e.value.style.chart.padding), mt = f(() => ({
300
+ width: Math.max(0, pt.value - 40 - ae.value.right - ae.value.left),
301
+ height: Math.max(0, bt.value - ae.value.top - ae.value.bottom)
302
+ })), ne = f(() => ({
303
+ width: pt.value,
304
+ height: bt.value
305
+ }));
306
+ function ao(o) {
307
+ const l = {}, t = {}, a = /* @__PURE__ */ new Set();
308
+ return gt.value.forEach(([s, w, Q]) => {
309
+ l[s] || (l[s] = []), t[w] || (t[w] = []), l[s].push(w), t[w].push(s);
310
+ }), l[o] && l[o].forEach((s) => a.add(s)), t[o] && t[o].forEach((s) => a.add(s)), Array.from(a).concat(o);
311
+ }
312
+ const A = u(null), J = u(null), se = u(null), ye = u(!1), Ce = u(null);
313
+ function yt(o, l) {
314
+ X.value = [], A.value = ao(o.name), J.value = o.name, Ce.value = o.id;
315
+ const t = o.name, a = gt.value;
316
+ let s = 0, w = 0, Q = [], ue = [];
317
+ const ie = new Set(a.map(([d]) => d)), $e = new Set(a.map(([, d]) => d)), Ge = Array.from(ie).filter((d) => !$e.has(d)), ee = a.filter(([d]) => Ge.includes(d)).reduce((d, [y, q, K]) => d + K, 0), z = {};
318
+ x.value.nodes.forEach((d) => {
319
+ z[d.name] = d.color;
320
+ }), a.forEach(([d, y, q]) => {
321
+ y === t && (s += q, Q.push({ source: d, value: q, color: z[d] })), d === t && (w += q, ue.push({ target: y, value: q, color: z[y] }));
322
+ });
323
+ const Te = Math.max(s, w), Ye = ee > 0 ? Te / ee * 100 : 0, $ = {
324
+ name: t,
325
+ inflow: s,
326
+ outflow: w,
327
+ from: Q,
328
+ to: ue,
329
+ percentOfTotal: Ye,
330
+ color: z[t] || "#000000"
331
+ };
332
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: $, seriesIndex: l }), se.value = { datapoint: $ }, _e.value = !0;
333
+ let M = "";
334
+ const ce = e.value.style.chart.tooltip.customFormat;
335
+ if (ye.value = !1, Po(ce))
336
+ try {
337
+ const d = ce({
338
+ datapoint: $,
339
+ series: x.value,
340
+ config: e.value
341
+ });
342
+ typeof d == "string" && (Ne.value = d, ye.value = !0);
343
+ } catch {
344
+ console.warn("Custom format cannot be applied.");
345
+ }
346
+ if (!ye.value) {
347
+ const d = e.value.style.chart.tooltip.showPercentage ? `<div>${te({
348
+ p: e.value.style.chart.tooltip.translations.percentOfTotal,
349
+ v: $.percentOfTotal,
350
+ s: "%",
351
+ r: e.value.style.chart.tooltip.roundingPercentage
352
+ })}</div>` : "";
353
+ M += `<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:${$.color}">⏹</span>${$.name}${d}</div>`, $.from.length && (M += `<div>${e.value.style.chart.tooltip.translations.from}</div>`, $.from.forEach((y) => {
354
+ M += `<div><span style="color:${y.color}">⏹←</span> ${y.source}: ${Oe(
355
+ e.value.style.chart.nodes.labels.formatter,
356
+ y.value,
357
+ te({
358
+ p: e.value.style.chart.nodes.labels.prefix,
359
+ v: y.value,
360
+ s: e.value.style.chart.nodes.labels.suffix,
361
+ r: e.value.style.chart.nodes.labels.rounding
362
+ })
363
+ )}</div>`;
364
+ })), $.to.length && (M += `<div style="margin-top:6px;">${e.value.style.chart.tooltip.translations.to}</div>`, $.to.forEach((y) => {
365
+ M += `<div><span style="color:${y.color}">⏹→</span> ${y.target}: ${Oe(
366
+ e.value.style.chart.nodes.labels.formatter,
367
+ y.value,
368
+ te({
369
+ p: e.value.style.chart.nodes.labels.prefix,
370
+ v: y.value,
371
+ s: e.value.style.chart.nodes.labels.suffix,
372
+ r: e.value.style.chart.nodes.labels.rounding
373
+ })
374
+ )}</div>`;
375
+ })), Ne.value = M;
376
+ }
377
+ }
378
+ function ke(o) {
379
+ Ce.value = null;
380
+ const l = se.value;
381
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: l, seriesIndex: o }), A.value = null, J.value = null, _e.value = !1;
382
+ }
383
+ function Re(o) {
384
+ const l = se.value;
385
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: l, seriesIndex: o });
386
+ }
387
+ const Ct = f(() => x.value.links.map(
388
+ ({ source: o, target: l, sourceColor: t, targetColor: a, value: s }) => ({
389
+ source: o,
390
+ target: l,
391
+ sourceColor: t,
392
+ targetColor: a,
393
+ value: s
394
+ })
395
+ ));
396
+ function He(o = null) {
397
+ Nt(() => {
398
+ const l = Ct.value.map((s, w) => [[s.source], [s.target], [s.value]]), t = [
399
+ [e.value.style.chart.title.text],
400
+ [e.value.style.chart.title.subtitle.text],
401
+ [
402
+ [e.value.table.columnNames.source],
403
+ [e.value.table.columnNames.target],
404
+ [e.value.table.columnNames.value]
405
+ ]
406
+ ].concat(l), a = Bo(t);
407
+ o ? o(a) : Do({
408
+ csvContent: a,
409
+ title: e.value.style.chart.title.text || "vue-ui-flow"
410
+ });
411
+ });
412
+ }
413
+ const Ae = f(() => {
414
+ const o = [
415
+ e.value.table.columnNames.source,
416
+ e.value.table.columnNames.target,
417
+ e.value.table.columnNames.value
418
+ ], l = Ct.value.map((s, w) => [
419
+ {
420
+ color: s.sourceColor,
421
+ name: s.source,
422
+ shape: "square"
423
+ },
424
+ {
425
+ color: s.targetColor,
426
+ name: s.target,
427
+ shape: "square"
428
+ },
429
+ te({
430
+ p: e.value.style.chart.nodes.labels.prefix,
431
+ v: s.value,
432
+ s: e.value.style.chart.nodes.labels.suffix,
433
+ r: e.value.style.chart.nodes.labels.rounding
434
+ })
435
+ ]), t = {
436
+ th: {
437
+ backgroundColor: e.value.table.th.backgroundColor,
438
+ color: e.value.table.th.color,
439
+ outline: e.value.table.th.outline
440
+ },
441
+ td: {
442
+ backgroundColor: e.value.table.td.backgroundColor,
443
+ color: e.value.table.td.color,
444
+ outline: e.value.table.td.outline
445
+ },
446
+ breakpoint: e.value.table.responsiveBreakpoint
447
+ };
448
+ return {
449
+ colNames: [
450
+ e.value.table.columnNames.source,
451
+ e.value.table.columnNames.target,
452
+ e.value.table.columnNames.value
453
+ ],
454
+ head: o,
455
+ body: l,
456
+ config: t
457
+ };
458
+ });
459
+ function no() {
460
+ return x.value;
461
+ }
462
+ function kt() {
463
+ S.value.showTable = !S.value.showTable;
464
+ }
465
+ const we = u(!1);
466
+ function je() {
467
+ we.value = !we.value;
468
+ }
469
+ function At() {
470
+ S.value.showTooltip = !S.value.showTooltip;
471
+ }
472
+ const wt = f(() => {
473
+ const o = new Set(
474
+ x.value.nodes.map(
475
+ (l) => e.value.nodeCategories[l.name] || "__uncategorized__"
476
+ )
477
+ );
478
+ return Array.from(o).map((l) => ({
479
+ name: l,
480
+ color: e.value.nodeCategoryColors[l] || L[0],
481
+ shape: "square",
482
+ count: x.value.nodes.filter(
483
+ (t) => (e.value.nodeCategories[t.name] || "__uncategorized__") === l
484
+ ).length
485
+ })).map((l, t) => ({
486
+ ...l,
487
+ segregate: () => Ue({ legend: l, i: t }),
488
+ opacity: X.value.length ? X.value.includes(t) ? 1 : 0.5 : 1,
489
+ display: `${l.name} (${l.count})`
490
+ }));
491
+ }), We = f(
492
+ () => wt.value.filter((o) => o.name !== "__uncategorized__")
493
+ ), X = u([]);
494
+ function Ue({ legend: o, i: l }) {
495
+ const t = o.name;
496
+ if (A.value?.every(
497
+ (a) => e.value.nodeCategories[a] === t
498
+ )) {
499
+ A.value = null, J.value = null, X.value = [];
500
+ return;
501
+ }
502
+ X.value = [l], A.value = x.value.nodes.filter((a) => e.value.nodeCategories[a.name] === t).map((a) => a.name), J.value = null;
503
+ }
504
+ const so = f(() => ({
505
+ cy: "flow-legend",
506
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
507
+ color: e.value.style.chart.legend.color,
508
+ fontSize: e.value.style.chart.legend.fontSize,
509
+ paddingBottom: e.value.style.chart.legend.paddingBottom,
510
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : "normal"
511
+ }));
512
+ async function ro({ scale: o = 2 } = {}) {
513
+ if (!B.value) return;
514
+ const { width: l, height: t } = B.value.getBoundingClientRect(), a = l / t, { imageUri: s, base64: w } = await Xo({ domElement: B.value, base64: !0, img: !0, scale: o });
515
+ return {
516
+ imageUri: s,
517
+ base64: w,
518
+ title: e.value.style.chart.title.text,
519
+ width: l,
520
+ height: t,
521
+ aspectRatio: a
522
+ };
523
+ }
524
+ const re = f(() => {
525
+ const o = e.value.table.useDialog && !e.value.table.show, l = S.value.showTable;
526
+ return {
527
+ component: o ? Zt : Yt,
528
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
529
+ props: o ? {
530
+ backgroundColor: e.value.table.th.backgroundColor,
531
+ color: e.value.table.th.color,
532
+ headerColor: e.value.table.th.color,
533
+ headerBg: e.value.table.th.backgroundColor,
534
+ isFullscreen: V.value,
535
+ fullscreenParent: B.value,
536
+ forcedWidth: Math.min(800, window.innerWidth * 0.8)
537
+ } : {
538
+ hideDetails: !0,
539
+ config: {
540
+ open: l,
541
+ maxHeight: 1e4,
542
+ body: {
543
+ backgroundColor: e.value.style.chart.backgroundColor,
544
+ color: e.value.style.chart.color
545
+ },
546
+ head: {
547
+ backgroundColor: e.value.style.chart.backgroundColor,
548
+ color: e.value.style.chart.color
549
+ }
550
+ }
551
+ }
552
+ };
553
+ });
554
+ Ee(() => S.value.showTable, (o) => {
555
+ e.value.table.show || (o && e.value.table.useDialog && le.value ? le.value.open() : "close" in le.value && le.value.close());
556
+ });
557
+ function $t() {
558
+ S.value.showTable = !1, Be.value && Be.value.setTableIconState(!1);
559
+ }
560
+ const uo = f(() => We.value.map((o) => ({
561
+ ...o,
562
+ name: o.display
563
+ }))), io = f(() => e.value.style.chart.backgroundColor), co = f(() => e.value.style.chart.legend), vo = f(() => e.value.style.chart.title), { exportSvg: fo, getSvg: ho } = jo({
564
+ svg: ze,
565
+ title: vo,
566
+ legend: co,
567
+ legendItems: uo,
568
+ backgroundColor: io
569
+ });
570
+ async function Tt({ isCb: o }) {
571
+ if (o) {
572
+ const { blob: l, url: t, text: a, dataUrl: s } = await ho();
573
+ e.value.userOptions.callbacks.svg({ blob: l, url: t, text: a, dataUrl: s });
574
+ } else
575
+ fo();
576
+ }
577
+ async function go(o, l) {
578
+ if (yt(o, l), S.value.showTooltip && (await Nt(), B.value && De.value)) {
579
+ const { left: t, top: a } = B.value.getBoundingClientRect();
580
+ De.value.placeTooltip({ x: (t ?? 0) + 12, y: (a ?? 0) + 12 });
581
+ }
582
+ }
583
+ return Wt({
584
+ getData: no,
585
+ getImage: ro,
586
+ generateCsv: He,
587
+ generateImage: ht,
588
+ generateSvg: Tt,
589
+ generatePdf: ft,
590
+ toggleTable: kt,
591
+ toggleAnnotator: je,
592
+ toggleTooltip: At,
593
+ drillCategory: Ue,
594
+ unselectNode: ke,
595
+ toggleFullscreen: nt
596
+ }), (o, l) => (c(), m("div", {
597
+ ref_key: "flowChart",
598
+ ref: B,
599
+ class: xt(`vue-data-ui-component vue-ui-flow ${V.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
600
+ style: U(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;background:${e.value.style.chart.backgroundColor}`),
601
+ id: `flow_${Y.value}`,
602
+ onMouseenter: l[2] || (l[2] = () => r(rt)(!0)),
603
+ onMouseleave: l[3] || (l[3] = () => r(rt)(!1))
604
+ }, [
605
+ e.value.userOptions.buttons.annotator ? (c(), Z(r(Xt), {
606
+ key: 0,
607
+ svgRef: r(ze),
608
+ backgroundColor: e.value.style.chart.backgroundColor,
609
+ color: e.value.style.chart.color,
610
+ active: we.value,
611
+ onClose: je
612
+ }, {
613
+ "annotator-action-close": v(() => [
614
+ h(o.$slots, "annotator-action-close", {}, void 0, !0)
615
+ ]),
616
+ "annotator-action-color": v(({ color: t }) => [
617
+ h(o.$slots, "annotator-action-color", P(I({ color: t })), void 0, !0)
618
+ ]),
619
+ "annotator-action-draw": v(({ mode: t }) => [
620
+ h(o.$slots, "annotator-action-draw", P(I({ mode: t })), void 0, !0)
621
+ ]),
622
+ "annotator-action-undo": v(({ disabled: t }) => [
623
+ h(o.$slots, "annotator-action-undo", P(I({ disabled: t })), void 0, !0)
624
+ ]),
625
+ "annotator-action-redo": v(({ disabled: t }) => [
626
+ h(o.$slots, "annotator-action-redo", P(I({ disabled: t })), void 0, !0)
627
+ ]),
628
+ "annotator-action-delete": v(({ disabled: t }) => [
629
+ h(o.$slots, "annotator-action-delete", P(I({ disabled: t })), void 0, !0)
630
+ ]),
631
+ _: 3
632
+ }, 8, ["svgRef", "backgroundColor", "color", "active"])) : T("", !0),
633
+ oo.value ? (c(), m("div", Zo, null, 512)) : T("", !0),
634
+ e.value.style.chart.title.text ? (c(), m("div", {
635
+ key: 2,
636
+ ref_key: "chartTitle",
637
+ ref: tt,
638
+ style: "width:100%;background:transparent;padding-bottom:24px"
639
+ }, [
640
+ (c(), Z(Vo, {
641
+ key: `title_${Qe.value}`,
642
+ config: {
643
+ title: {
644
+ cy: "flow-title",
645
+ ...e.value.style.chart.title
646
+ },
647
+ subtitle: {
648
+ cy: "flow-subtitle",
649
+ ...e.value.style.chart.title.subtitle
650
+ }
651
+ }
652
+ }, null, 8, ["config"]))
653
+ ], 512)) : T("", !0),
654
+ G("div", {
655
+ id: `legend-top-${Y.value}`
656
+ }, null, 8, Jo),
657
+ e.value.userOptions.show && at.value && (r(ut) || r(Me)) ? (c(), Z(r(qt), {
658
+ ref_key: "userOptionsRef",
659
+ ref: Be,
660
+ key: `user_option_${Je.value}`,
661
+ backgroundColor: e.value.style.chart.backgroundColor,
662
+ color: e.value.style.chart.color,
663
+ isPrinting: r(dt),
664
+ isImaging: r(vt),
665
+ uid: Y.value,
666
+ hasPdf: e.value.userOptions.buttons.pdf,
667
+ hasXls: e.value.userOptions.buttons.csv,
668
+ hasImg: e.value.userOptions.buttons.img,
669
+ hasSvg: e.value.userOptions.buttons.svg,
670
+ hasTable: e.value.userOptions.buttons.table,
671
+ callbacks: e.value.userOptions.callbacks,
672
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
673
+ isFullscreen: V.value,
674
+ titles: { ...e.value.userOptions.buttonTitles },
675
+ chartElement: B.value,
676
+ position: e.value.userOptions.position,
677
+ hasAnnotator: e.value.userOptions.buttons.annotator,
678
+ printScale: e.value.userOptions.print.scale,
679
+ isAnnotation: we.value,
680
+ hasTooltip: e.value.style.chart.tooltip.show && e.value.userOptions.buttons.tooltip,
681
+ isTooltip: S.value.showTooltip,
682
+ tableDialog: e.value.table.useDialog,
683
+ onToggleTooltip: At,
684
+ onToggleFullscreen: nt,
685
+ onGeneratePdf: r(ft),
686
+ onGenerateCsv: He,
687
+ onGenerateImage: r(ht),
688
+ onGenerateSvg: Tt,
689
+ onToggleTable: kt,
690
+ onToggleAnnotator: je,
691
+ style: U({
692
+ visibility: r(ut) ? r(Me) ? "visible" : "hidden" : "visible"
693
+ })
694
+ }, Ot({ _: 2 }, [
695
+ o.$slots.menuIcon ? {
696
+ name: "menuIcon",
697
+ fn: v(({ isOpen: t, color: a }) => [
698
+ h(o.$slots, "menuIcon", P(I({ isOpen: t, color: a })), void 0, !0)
699
+ ]),
700
+ key: "0"
701
+ } : void 0,
702
+ o.$slots.optionTooltip ? {
703
+ name: "optionTooltip",
704
+ fn: v(() => [
705
+ h(o.$slots, "optionTooltip", {}, void 0, !0)
706
+ ]),
707
+ key: "1"
708
+ } : void 0,
709
+ o.$slots.optionPdf ? {
710
+ name: "optionPdf",
711
+ fn: v(() => [
712
+ h(o.$slots, "optionPdf", {}, void 0, !0)
713
+ ]),
714
+ key: "2"
715
+ } : void 0,
716
+ o.$slots.optionCsv ? {
717
+ name: "optionCsv",
718
+ fn: v(() => [
719
+ h(o.$slots, "optionCsv", {}, void 0, !0)
720
+ ]),
721
+ key: "3"
722
+ } : void 0,
723
+ o.$slots.optionImg ? {
724
+ name: "optionImg",
725
+ fn: v(() => [
726
+ h(o.$slots, "optionImg", {}, void 0, !0)
727
+ ]),
728
+ key: "4"
729
+ } : void 0,
730
+ o.$slots.optionSvg ? {
731
+ name: "optionSvg",
732
+ fn: v(() => [
733
+ h(o.$slots, "optionSvg", {}, void 0, !0)
734
+ ]),
735
+ key: "5"
736
+ } : void 0,
737
+ o.$slots.optionTable ? {
738
+ name: "optionTable",
739
+ fn: v(() => [
740
+ h(o.$slots, "optionTable", {}, void 0, !0)
741
+ ]),
742
+ key: "6"
743
+ } : void 0,
744
+ o.$slots.optionFullscreen ? {
745
+ name: "optionFullscreen",
746
+ fn: v(({ toggleFullscreen: t, isFullscreen: a }) => [
747
+ h(o.$slots, "optionFullscreen", P(I({ toggleFullscreen: t, isFullscreen: a })), void 0, !0)
748
+ ]),
749
+ key: "7"
750
+ } : void 0,
751
+ o.$slots.optionAnnotator ? {
752
+ name: "optionAnnotator",
753
+ fn: v(({ toggleAnnotator: t, isAnnotator: a }) => [
754
+ h(o.$slots, "optionAnnotator", P(I({ toggleAnnotator: t, isAnnotator: a })), void 0, !0)
755
+ ]),
756
+ key: "8"
757
+ } : void 0
758
+ ]), 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),
759
+ (c(), m("svg", {
760
+ ref_key: "svgRef",
761
+ ref: ze,
762
+ xmlns: r(_o),
763
+ viewBox: `0 0 ${ne.value.width} ${ne.value.height}`,
764
+ class: xt({
765
+ "vue-data-ui-fullscreen--on": V.value,
766
+ "vue-data-ui-fulscreen--off": !V.value
767
+ }),
768
+ style: U({
769
+ maxWidth: "100%",
770
+ overflow: "visible",
771
+ background: "transparent",
772
+ color: e.value.style.chart.color
773
+ })
774
+ }, [
775
+ Se(r(Kt)),
776
+ o.$slots["chart-background"] ? (c(), m("foreignObject", {
777
+ key: 0,
778
+ x: 0,
779
+ y: 0,
780
+ width: ne.value.width,
781
+ height: ne.value.height,
782
+ style: {
783
+ pointerEvents: "none"
784
+ }
785
+ }, [
786
+ h(o.$slots, "chart-background", {}, void 0, !0)
787
+ ], 8, el)) : T("", !0),
788
+ G("defs", null, [
789
+ (c(!0), m(ve, null, fe(x.value.links, (t, a) => (c(), m("linearGradient", {
790
+ id: t.id,
791
+ x1: "0%",
792
+ y1: "0%",
793
+ x2: "100%",
794
+ y2: "0%"
795
+ }, [
796
+ G("stop", {
797
+ offset: "0%",
798
+ "stop-color": t.sourceColor
799
+ }, null, 8, ol),
800
+ G("stop", {
801
+ offset: "100%",
802
+ "stop-color": t.targetColor
803
+ }, null, 8, ll)
804
+ ], 8, tl))), 256))
805
+ ]),
806
+ (c(!0), m(ve, null, fe(x.value.links, (t) => (c(), m("path", {
807
+ class: "vue-ui-flow-link",
808
+ d: t.path,
809
+ "stroke-linejoin": "round",
810
+ "stroke-miterlimit": "1",
811
+ fill: `url(#${t.id})`,
812
+ stroke: e.value.style.chart.links.stroke,
813
+ "stroke-width": e.value.style.chart.links.strokeWidth,
814
+ style: U(`
815
+ opacity:${A.value ? A.value.includes(t.source) && A.value.includes(t.target) ? 1 : 0.3 : J.value ? [t.target, t.source].includes(J.value) ? 1 : 0.3 : e.value.style.chart.links.opacity}
816
+ `)
817
+ }, null, 12, al))), 256)),
818
+ (c(!0), m(ve, null, fe(x.value.nodes, (t, a) => (c(), m("rect", {
819
+ class: "vue-ui-flow-node",
820
+ x: t.x,
821
+ y: r(F)(t.absoluteY) + e.value.style.chart.padding.top,
822
+ height: r(F)(t.height),
823
+ width: me.value,
824
+ fill: t.color,
825
+ stroke: e.value.style.chart.nodes.stroke,
826
+ "stroke-width": e.value.style.chart.nodes.strokeWidth,
827
+ rx: e.value.style.chart.nodes.borderRadius,
828
+ style: U({
829
+ opacity: A.value ? A.value.includes(t.name) ? 1 : 0.3 : 1,
830
+ outline: Ce.value !== null && Ce.value === t.id ? "2px solid currentColor" : void 0
831
+ }),
832
+ role: "button",
833
+ tabindex: "0",
834
+ "aria-label": `${t.name}: ${r(Oe)(
835
+ e.value.style.chart.nodes.labels.formatter,
836
+ t.value,
837
+ r(te)({
838
+ p: e.value.style.chart.nodes.labels.prefix,
839
+ v: t.value,
840
+ s: e.value.style.chart.nodes.labels.suffix,
841
+ r: e.value.style.chart.nodes.labels.rounding
842
+ })
843
+ )}`,
844
+ onMouseenter: (s) => yt(t, a),
845
+ onMouseleave: (s) => ke(a),
846
+ onClick: (s) => Re(a),
847
+ onKeydown: [
848
+ qe(Ke((s) => Re(a), ["prevent"]), ["enter"]),
849
+ qe(Ke((s) => Re(a), ["prevent"]), ["space"]),
850
+ qe(Ke((s) => ke(a), ["prevent"]), ["esc"])
851
+ ],
852
+ onFocus: (s) => go(t, a),
853
+ onBlur: (s) => ke(a)
854
+ }, null, 44, nl))), 256)),
855
+ e.value.style.chart.nodes.labels.show ? (c(), m("g", sl, [
856
+ (c(!0), m(ve, null, fe(x.value.nodes, (t, a) => (c(), m("text", {
857
+ x: t.x + me.value / 2,
858
+ y: r(F)(
859
+ t.absoluteY + t.height / 2 - e.value.style.chart.nodes.labels.fontSize / 4
860
+ ) + e.value.style.chart.padding.top,
861
+ "font-size": e.value.style.chart.nodes.labels.fontSize,
862
+ fill: r(Dt)(t.color),
863
+ "text-anchor": "middle",
864
+ style: U(`pointer-events: none; opacity:${A.value ? A.value.includes(t.name) ? 1 : 0 : 1}`)
865
+ }, he(e.value.style.chart.nodes.labels.abbreviation.use ? r(No)({
866
+ source: t.name,
867
+ length: e.value.style.chart.nodes.labels.abbreviation.length
868
+ }) : t.name), 13, rl))), 256)),
869
+ (c(!0), m(ve, null, fe(x.value.nodes, (t, a) => (c(), m("text", {
870
+ x: t.x + me.value / 2,
871
+ y: r(F)(
872
+ t.absoluteY + t.height / 2 + e.value.style.chart.nodes.labels.fontSize
873
+ ) + e.value.style.chart.padding.top,
874
+ "font-size": e.value.style.chart.nodes.labels.fontSize,
875
+ fill: r(Dt)(t.color),
876
+ "text-anchor": "middle",
877
+ style: U(`pointer-events: none; opacity:${A.value ? A.value.includes(t.name) ? 1 : 0 : 1}`)
878
+ }, he(r(Oe)(
879
+ e.value.style.chart.nodes.labels.formatter,
880
+ t.value,
881
+ r(te)({
882
+ p: e.value.style.chart.nodes.labels.prefix,
883
+ v: t.value,
884
+ s: e.value.style.chart.nodes.labels.suffix,
885
+ r: e.value.style.chart.nodes.labels.rounding
886
+ }),
887
+ { datapoint: t, seriesIndex: a }
888
+ )), 13, ul))), 256))
889
+ ])) : T("", !0),
890
+ h(o.$slots, "svg", { svg: ne.value }, void 0, !0)
891
+ ], 14, Qo)),
892
+ o.$slots.watermark ? (c(), m("div", il, [
893
+ h(o.$slots, "watermark", P(I({ isPrinting: r(dt) || r(vt) })), void 0, !0)
894
+ ])) : T("", !0),
895
+ G("div", {
896
+ id: `legend-bottom-${Y.value}`
897
+ }, null, 8, cl),
898
+ lt.value ? (c(), Z(wo, {
899
+ key: 5,
900
+ to: e.value.style.chart.legend.position === "top" ? `#legend-top-${Y.value}` : `#legend-bottom-${Y.value}`
901
+ }, [
902
+ G("div", {
903
+ ref_key: "chartLegend",
904
+ ref: et
905
+ }, [
906
+ e.value.style.chart.legend.show && We.value.length ? (c(), Z(Yo, {
907
+ key: 0,
908
+ legendSet: We.value,
909
+ config: so.value,
910
+ onClickMarker: l[0] || (l[0] = (t) => Ue(t))
911
+ }, {
912
+ item: v(({ legend: t, index: a }) => [
913
+ r(Pe) ? T("", !0) : (c(), m("div", {
914
+ key: 0,
915
+ onClick: (s) => t.segregate(),
916
+ style: U(`opacity:${X.value.length ? X.value.includes(a) ? 1 : 0.5 : 1}`)
917
+ }, he(t.display), 13, dl))
918
+ ]),
919
+ _: 1
920
+ }, 8, ["legendSet", "config"])) : T("", !0),
921
+ h(o.$slots, "legend", { legend: wt.value }, void 0, !0)
922
+ ], 512)
923
+ ], 8, ["to"])) : T("", !0),
924
+ o.$slots.source ? (c(), m("div", {
925
+ key: 6,
926
+ ref_key: "source",
927
+ ref: ot,
928
+ dir: "auto"
929
+ }, [
930
+ h(o.$slots, "source", {}, void 0, !0)
931
+ ], 512)) : T("", !0),
932
+ Se(r(Ut), {
933
+ ref_key: "tooltip",
934
+ ref: De,
935
+ show: S.value.showTooltip && _e.value,
936
+ backgroundColor: e.value.style.chart.tooltip.backgroundColor,
937
+ color: e.value.style.chart.tooltip.color,
938
+ fontSize: e.value.style.chart.tooltip.fontSize,
939
+ borderRadius: e.value.style.chart.tooltip.borderRadius,
940
+ borderColor: e.value.style.chart.tooltip.borderColor,
941
+ borderWidth: e.value.style.chart.tooltip.borderWidth,
942
+ backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
943
+ position: e.value.style.chart.tooltip.position,
944
+ offsetY: e.value.style.chart.tooltip.offsetY,
945
+ parent: B.value,
946
+ content: Ne.value,
947
+ isCustom: ye.value,
948
+ isFullscreen: V.value,
949
+ smooth: e.value.style.chart.tooltip.smooth,
950
+ backdropFilter: e.value.style.chart.tooltip.backdropFilter,
951
+ smoothForce: e.value.style.chart.tooltip.smoothForce,
952
+ smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThreshold
953
+ }, {
954
+ "tooltip-before": v(() => [
955
+ h(o.$slots, "tooltip-before", P(I({ ...se.value })), void 0, !0)
956
+ ]),
957
+ "tooltip-after": v(() => [
958
+ h(o.$slots, "tooltip-after", P(I({ ...se.value })), void 0, !0)
959
+ ]),
960
+ _: 3
961
+ }, 8, ["show", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "position", "offsetY", "parent", "content", "isCustom", "isFullscreen", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
962
+ at.value && e.value.userOptions.buttons.table ? (c(), Z($o(re.value.component), To({ key: 7 }, re.value.props, {
963
+ ref_key: "tableUnit",
964
+ ref: le,
965
+ onClose: $t
966
+ }), Ot({
967
+ content: v(() => [
968
+ Se(r(Vt), {
969
+ colNames: Ae.value.colNames,
970
+ head: Ae.value.head,
971
+ body: Ae.value.body,
972
+ config: Ae.value.config,
973
+ title: e.value.table.useDialog ? "" : re.value.title,
974
+ withCloseButton: !e.value.table.useDialog,
975
+ onClose: $t
976
+ }, {
977
+ th: v(({ th: t }) => [
978
+ G("div", {
979
+ innerHTML: t,
980
+ style: { display: "flex", "align-items": "center" }
981
+ }, null, 8, vl)
982
+ ]),
983
+ td: v(({ td: t }) => [
984
+ _t(he(t.name || t), 1)
985
+ ]),
986
+ _: 1
987
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"])
988
+ ]),
989
+ _: 2
990
+ }, [
991
+ e.value.table.useDialog ? {
992
+ name: "title",
993
+ fn: v(() => [
994
+ _t(he(re.value.title), 1)
995
+ ]),
996
+ key: "0"
997
+ } : void 0,
998
+ e.value.table.useDialog ? {
999
+ name: "actions",
1000
+ fn: v(() => [
1001
+ G("button", {
1002
+ tabindex: "0",
1003
+ class: "vue-ui-user-options-button",
1004
+ onClick: l[1] || (l[1] = (t) => He(e.value.userOptions.callbacks.csv))
1005
+ }, [
1006
+ Se(r(Gt), {
1007
+ name: "excel",
1008
+ stroke: re.value.props.color
1009
+ }, null, 8, ["stroke"])
1010
+ ])
1011
+ ]),
1012
+ key: "1"
1013
+ } : void 0
1014
+ ]), 1040)) : T("", !0),
1015
+ r(Pe) ? (c(), Z(Ho, { key: 8 })) : T("", !0)
1016
+ ], 46, Ko));
1017
+ }
1018
+ }, hl = /* @__PURE__ */ qo(fl, [["__scopeId", "data-v-06724f69"]]), Ol = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1019
+ __proto__: null,
1020
+ default: hl
1021
+ }, Symbol.toStringTag, { value: "Module" }));
1022
+ export {
1023
+ xl as a,
1024
+ Ol as b,
1025
+ hl as v
1026
+ };