vue-data-ui 3.25.7 → 3.25.9

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 (163) hide show
  1. package/dist/{BaseScanner-DZvpgOjM.js → BaseScanner-Dzc8VT3j.js} +6 -3
  2. package/dist/{PackageVersion-UfoQuPMf.js → PackageVersion-KBMdaOXg.js} +1 -1
  3. package/dist/components/vue-ui-3d-bar.js +1 -1
  4. package/dist/components/vue-ui-accordion.js +1 -1
  5. package/dist/components/vue-ui-age-pyramid.js +1 -1
  6. package/dist/components/vue-ui-annotator.js +1 -1
  7. package/dist/components/vue-ui-bullet.js +1 -1
  8. package/dist/components/vue-ui-bump.js +1 -1
  9. package/dist/components/vue-ui-candlestick.js +1 -1
  10. package/dist/components/vue-ui-carousel-table.js +1 -1
  11. package/dist/components/vue-ui-chestnut.js +1 -1
  12. package/dist/components/vue-ui-chord.js +1 -1
  13. package/dist/components/vue-ui-circle-pack.js +1 -1
  14. package/dist/components/vue-ui-cursor.js +1 -1
  15. package/dist/components/vue-ui-dag.js +1 -1
  16. package/dist/components/vue-ui-dashboard.js +1 -1
  17. package/dist/components/vue-ui-digits.js +1 -1
  18. package/dist/components/vue-ui-donut-evolution.js +1 -1
  19. package/dist/components/vue-ui-donut.js +1 -1
  20. package/dist/components/vue-ui-dumbbell.js +1 -1
  21. package/dist/components/vue-ui-flow.js +1 -1
  22. package/dist/components/vue-ui-funnel.js +1 -1
  23. package/dist/components/vue-ui-galaxy.js +1 -1
  24. package/dist/components/vue-ui-gauge.js +1 -1
  25. package/dist/components/vue-ui-geo.js +1 -1
  26. package/dist/components/vue-ui-gizmo.js +1 -1
  27. package/dist/components/vue-ui-heatmap.js +1 -1
  28. package/dist/components/vue-ui-hill.js +1 -1
  29. package/dist/components/vue-ui-history-plot.js +1 -1
  30. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  31. package/dist/components/vue-ui-kpi.js +1 -1
  32. package/dist/components/vue-ui-label.js +1 -1
  33. package/dist/components/vue-ui-mini-loader.js +1 -1
  34. package/dist/components/vue-ui-molecule.js +1 -1
  35. package/dist/components/vue-ui-mood-radar.js +1 -1
  36. package/dist/components/vue-ui-nested-donuts.js +1 -1
  37. package/dist/components/vue-ui-onion.js +1 -1
  38. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  39. package/dist/components/vue-ui-quadrant.js +1 -1
  40. package/dist/components/vue-ui-quick-chart.js +1 -1
  41. package/dist/components/vue-ui-radar.js +1 -1
  42. package/dist/components/vue-ui-rating.js +1 -1
  43. package/dist/components/vue-ui-relation-circle.js +1 -1
  44. package/dist/components/vue-ui-ridgeline.js +1 -1
  45. package/dist/components/vue-ui-rings.js +1 -1
  46. package/dist/components/vue-ui-scatter.js +1 -1
  47. package/dist/components/vue-ui-skeleton.js +1 -1
  48. package/dist/components/vue-ui-smiley.js +1 -1
  49. package/dist/components/vue-ui-spark-trend.js +1 -1
  50. package/dist/components/vue-ui-sparkbar.js +1 -1
  51. package/dist/components/vue-ui-sparkgauge.js +1 -1
  52. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  53. package/dist/components/vue-ui-sparkline.js +1 -1
  54. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  55. package/dist/components/vue-ui-stackbar.js +1 -1
  56. package/dist/components/vue-ui-stackline.js +1 -1
  57. package/dist/components/vue-ui-strip-plot.js +1 -1
  58. package/dist/components/vue-ui-table-heatmap.js +1 -1
  59. package/dist/components/vue-ui-table-sparkline.js +1 -1
  60. package/dist/components/vue-ui-table.js +1 -1
  61. package/dist/components/vue-ui-thermometer.js +1 -1
  62. package/dist/components/vue-ui-timer.js +1 -1
  63. package/dist/components/vue-ui-tiremarks.js +1 -1
  64. package/dist/components/vue-ui-treemap.js +1 -1
  65. package/dist/components/vue-ui-vertical-bar.js +1 -1
  66. package/dist/components/vue-ui-waffle.js +1 -1
  67. package/dist/components/vue-ui-wheel.js +1 -1
  68. package/dist/components/vue-ui-word-cloud.js +1 -1
  69. package/dist/components/vue-ui-world.js +1 -1
  70. package/dist/components/vue-ui-xy-canvas.js +1 -1
  71. package/dist/components/vue-ui-xy.js +1 -1
  72. package/dist/{package-B-3S5q00.js → package-BL27Ev_h.js} +1 -1
  73. package/dist/{render-common-CAXK7ycr.js → render-common-By8J0AE-.js} +1 -1
  74. package/dist/ssr/vue-ui-donut.js +1 -1
  75. package/dist/ssr/vue-ui-xy.js +1 -1
  76. package/dist/ssr.js +2 -2
  77. package/dist/style.css +1 -1
  78. package/dist/types/vue-data-ui.d.ts +2 -0
  79. package/dist/{useConfig-CIQZ6_r7.js → useConfig-D32D002m.js} +2 -0
  80. package/dist/{useObjectBindings---mHNfbS.js → useObjectBindings-Cd_WuYIn.js} +1 -1
  81. package/dist/utils.js +1 -1
  82. package/dist/{vue-data-ui-DlWT702n.js → vue-data-ui-CBWuUAXT.js} +69 -69
  83. package/dist/vue-data-ui.js +70 -70
  84. package/dist/{vue-ui-3d-bar-DbOk2kpM.js → vue-ui-3d-bar-BSbq90H3.js} +3 -3
  85. package/dist/{vue-ui-accordion-BSmBUjwZ.js → vue-ui-accordion-DmkL8A59.js} +1 -1
  86. package/dist/{vue-ui-age-pyramid-C7_mGIRk.js → vue-ui-age-pyramid-CrXl71iC.js} +263 -251
  87. package/dist/{vue-ui-annotator-CTQHAPho.js → vue-ui-annotator-BO5ihHOB.js} +2 -2
  88. package/dist/{vue-ui-bullet-CDy_dkYz.js → vue-ui-bullet-B2Y3Wqh9.js} +3 -3
  89. package/dist/{vue-ui-bump-DP24leiD.js → vue-ui-bump-DXvvjG4I.js} +3 -3
  90. package/dist/{vue-ui-candlestick-kJLmYaR7.js → vue-ui-candlestick-CFqR6W56.js} +453 -441
  91. package/dist/{vue-ui-carousel-table-BQzAQDw6.js → vue-ui-carousel-table-D-ZkPRta.js} +2 -2
  92. package/dist/{vue-ui-chestnut-DnnRp3Kl.js → vue-ui-chestnut-CyW3IoYC.js} +3 -3
  93. package/dist/{vue-ui-chord-DO15ZDCS.js → vue-ui-chord-DS0jni9A.js} +3 -3
  94. package/dist/{vue-ui-circle-pack-DYTllMPV.js → vue-ui-circle-pack-j2ChgLWr.js} +494 -482
  95. package/dist/{vue-ui-cursor-CtViSjNp.js → vue-ui-cursor-qOONOtcv.js} +2 -2
  96. package/dist/{vue-ui-dag-NXtGYzqg.js → vue-ui-dag-CmeFsKhR.js} +3 -3
  97. package/dist/{vue-ui-dashboard-D3_4QohV.js → vue-ui-dashboard-C7Z5BTN4.js} +65 -65
  98. package/dist/{vue-ui-digits-CB09pLQx.js → vue-ui-digits-Bf68x6fb.js} +2 -2
  99. package/dist/{vue-ui-donut-yTE6D8yV.js → vue-ui-donut-CkBPJW_T.js} +837 -825
  100. package/dist/{vue-ui-donut-eysaEyTy.js → vue-ui-donut-DzDSYgVp.js} +2 -2
  101. package/dist/{vue-ui-donut-evolution-DhrtxvAd.js → vue-ui-donut-evolution-CDJumo0t.js} +3 -3
  102. package/dist/{vue-ui-dumbbell-CmGIeULQ.js → vue-ui-dumbbell-Cr__26dN.js} +3 -3
  103. package/dist/vue-ui-flow-Cz6WRi2c.js +1229 -0
  104. package/dist/{vue-ui-funnel-CLAii4wi.js → vue-ui-funnel-BlC7KxS6.js} +2 -2
  105. package/dist/vue-ui-galaxy-Bg2smlcI.js +1097 -0
  106. package/dist/{vue-ui-gauge-D76-4Z_0.js → vue-ui-gauge-BHsaent1.js} +3 -3
  107. package/dist/{vue-ui-geo-BQ7-UnuG.js → vue-ui-geo-CE3Cr0or.js} +407 -395
  108. package/dist/{vue-ui-gizmo-C47zjcs-.js → vue-ui-gizmo-DqFUBEai.js} +3 -3
  109. package/dist/{vue-ui-heatmap-XJef60IZ.js → vue-ui-heatmap-DXqj9ial.js} +478 -446
  110. package/dist/{vue-ui-hill-D5BYGPXB.js → vue-ui-hill-B3fPAfhL.js} +2 -2
  111. package/dist/vue-ui-history-plot-CrnTnpaM.js +1710 -0
  112. package/dist/{vue-ui-horizontal-bar-BgFHi6_7.js → vue-ui-horizontal-bar-DqvN3imH.js} +432 -420
  113. package/dist/{vue-ui-kpi-Cb8QJeaj.js → vue-ui-kpi-Mf318HvK.js} +2 -2
  114. package/dist/{vue-ui-label-ClMQ5Gez.js → vue-ui-label-C1UAzvAu.js} +1 -1
  115. package/dist/{vue-ui-mini-loader-DtPOVIkK.js → vue-ui-mini-loader-wGeACd-Y.js} +1 -1
  116. package/dist/{vue-ui-molecule-BzwMl-in.js → vue-ui-molecule-CaLReo4h.js} +346 -334
  117. package/dist/{vue-ui-mood-radar-BUR_YCcr.js → vue-ui-mood-radar-jkE2ENX5.js} +3 -3
  118. package/dist/{vue-ui-nested-donuts-BEB4nfsD.js → vue-ui-nested-donuts-BgMOKjil.js} +360 -348
  119. package/dist/vue-ui-onion-DBN3Ev4j.js +1247 -0
  120. package/dist/{vue-ui-parallel-coordinate-plot-CSO4johj.js → vue-ui-parallel-coordinate-plot-BcJzEGJ-.js} +387 -375
  121. package/dist/{vue-ui-quadrant-CKav0I6g.js → vue-ui-quadrant-BvoVlxTI.js} +418 -406
  122. package/dist/{vue-ui-quick-chart-BAQNS9_2.js → vue-ui-quick-chart-2hn8-F_C.js} +550 -538
  123. package/dist/{vue-ui-radar-ClPAgf5I.js → vue-ui-radar-O3AjGrc-.js} +330 -318
  124. package/dist/{vue-ui-rating-CWFMoYpE.js → vue-ui-rating-Criq0ofQ.js} +1 -1
  125. package/dist/{vue-ui-relation-circle-Da2MhrVe.js → vue-ui-relation-circle-CRnH2ikm.js} +3 -3
  126. package/dist/{vue-ui-ridgeline-D7gFs8yR.js → vue-ui-ridgeline-Blejn8LY.js} +3 -3
  127. package/dist/{vue-ui-rings-DkDJ0k5b.js → vue-ui-rings-C1U38Bp0.js} +321 -309
  128. package/dist/{vue-ui-scatter-yv4JzJID.js → vue-ui-scatter-DTsCc9hg.js} +584 -572
  129. package/dist/{vue-ui-skeleton-oFnh5zWs.js → vue-ui-skeleton-BPr3u7IL.js} +2 -2
  130. package/dist/{vue-ui-smiley-DJVusLnp.js → vue-ui-smiley-BIjAIpJ9.js} +1 -1
  131. package/dist/{vue-ui-spark-trend-IqZWPvSB.js → vue-ui-spark-trend-B7w4Mg8O.js} +3 -3
  132. package/dist/{vue-ui-sparkbar-_FW47iYj.js → vue-ui-sparkbar-lVDnYEYA.js} +3 -3
  133. package/dist/{vue-ui-sparkgauge--2vk2Y23.js → vue-ui-sparkgauge-BryoGCoc.js} +3 -3
  134. package/dist/{vue-ui-sparkhistogram-CFEIPa5n.js → vue-ui-sparkhistogram-BdNoLb9L.js} +3 -3
  135. package/dist/{vue-ui-sparkline-Cs9CJR6W.js → vue-ui-sparkline-CNFD5K6z.js} +3 -3
  136. package/dist/vue-ui-sparkstackbar-CZ4tGL-_.js +750 -0
  137. package/dist/vue-ui-stackbar-DfsgaZy7.js +2369 -0
  138. package/dist/vue-ui-stackline-Cx7q2sGF.js +2483 -0
  139. package/dist/vue-ui-strip-plot-BcYhLPHM.js +1752 -0
  140. package/dist/{vue-ui-table-CiccGbRB.js → vue-ui-table-BzF75YjN.js} +3 -3
  141. package/dist/{vue-ui-table-heatmap-DnP3pzh2.js → vue-ui-table-heatmap-BSUab4fG.js} +1 -1
  142. package/dist/{vue-ui-table-sparkline-Bp7RiZh4.js → vue-ui-table-sparkline-B9ICTtoE.js} +2 -2
  143. package/dist/{vue-ui-thermometer-CawumQKP.js → vue-ui-thermometer-Am7llqdI.js} +3 -3
  144. package/dist/{vue-ui-timer-CXinMW7q.js → vue-ui-timer-D6EvkM31.js} +2 -2
  145. package/dist/{vue-ui-tiremarks-BnI2uhki.js → vue-ui-tiremarks-DiQJu8Em.js} +3 -3
  146. package/dist/{vue-ui-treemap-DTlFbfD6.js → vue-ui-treemap-wUZpijpr.js} +310 -298
  147. package/dist/vue-ui-waffle-6hO0flDT.js +1633 -0
  148. package/dist/{vue-ui-wheel-B02tiG0p.js → vue-ui-wheel-DnyCE0CK.js} +3 -3
  149. package/dist/{vue-ui-word-cloud-BZnCOMHx.js → vue-ui-word-cloud-D_MZ3gCS.js} +385 -372
  150. package/dist/{vue-ui-world-DO2VZ-T-.js → vue-ui-world-QNGY2WPz.js} +474 -462
  151. package/dist/{vue-ui-xy-CD6BiP_g.js → vue-ui-xy-BD-ighya.js} +2 -2
  152. package/dist/{vue-ui-xy-BC9GVdWE.js → vue-ui-xy-Ctcwn7Rk.js} +1447 -1432
  153. package/dist/{vue-ui-xy-canvas-DANPuyf4.js → vue-ui-xy-canvas-DUeglcdP.js} +523 -511
  154. package/package.json +1 -1
  155. package/dist/vue-ui-flow-qYAq3Rmn.js +0 -1217
  156. package/dist/vue-ui-galaxy-BVX-o2f-.js +0 -1085
  157. package/dist/vue-ui-history-plot-D-d-1ZiM.js +0 -1698
  158. package/dist/vue-ui-onion-CG6myK7a.js +0 -1235
  159. package/dist/vue-ui-sparkstackbar-Cvbue77A.js +0 -738
  160. package/dist/vue-ui-stackbar-C5ANS2hd.js +0 -2355
  161. package/dist/vue-ui-stackline-7yajJFW4.js +0 -2469
  162. package/dist/vue-ui-strip-plot-BT6Eqhup.js +0 -1740
  163. package/dist/vue-ui-waffle-CjgRkQAp.js +0 -1621
@@ -0,0 +1,1097 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, Ct as n, D as r, Lt as i, Pt as a, R as o, S as s, Vt as c, X as l, Yt as ee, Z as te, Zt as ne, ht as re, i as ie, lt as ae, nt as oe, q as se, t as ce, w as le } from "./lib-Dql7cqyA.js";
3
+ import { n as ue, t as de } from "./useHints-Dq_w2E8B.js";
4
+ import { t as fe } from "./useConfig-D32D002m.js";
5
+ import { t as pe } from "./usePrinter-DISD7q5m.js";
6
+ import { n as me, t as he } from "./BaseScanner-Dzc8VT3j.js";
7
+ import { t as ge } from "./useNestedProp-Chvyfpl-.js";
8
+ import { t as _e } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as ve } from "./useChartExport-iwOqiIWX.js";
10
+ import { t as ye } from "./useTransitions-g_zBREk2.js";
11
+ import { t as be } from "./img-DhGApYG0.js";
12
+ import { n as xe } from "./Title-CPHi-evi.js";
13
+ import { t as Se } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
+ import { l as Ce, t as we } from "./useResponsive-ZtArZtUf.js";
15
+ import { t as Te } from "./BaseLegendToggle-CXQrLjd-.js";
16
+ import { t as Ee } from "./A11yDataTable-DdRsVULz.js";
17
+ import { t as De } from "./useUserOptionState-DK-_1ddE.js";
18
+ import { t as Oe } from "./useChartAccessibility-DYqac8yF.js";
19
+ import { t as ke } from "./labelUtils-BXX2NzRe.js";
20
+ import { t as Ae } from "./Legend-X4kF4PvW.js";
21
+ import { t as je } from "./vue_ui_galaxy-Ig0cc1_h.js";
22
+ import { Fragment as Me, Teleport as Ne, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createSlots as Pe, createTextVNode as Fe, createVNode as Ie, defineAsyncComponent as h, guardReactiveProps as g, mergeProps as Le, nextTick as Re, normalizeClass as _, normalizeProps as v, normalizeStyle as y, onMounted as ze, openBlock as b, ref as x, renderList as Be, renderSlot as S, resolveDynamicComponent as Ve, toDisplayString as C, toRefs as He, unref as w, watch as Ue, withCtx as T } from "vue";
23
+ //#region src/components/vue-ui-galaxy.vue
24
+ var We = /* @__PURE__ */ e({ default: () => ut }), Ge = ["id"], Ke = ["id"], qe = ["id"], Je = { style: { position: "relative" } }, Ye = [
25
+ "xmlns",
26
+ "aria-describedby",
27
+ "viewBox"
28
+ ], Xe = ["width", "height"], Ze = ["id"], Qe = ["stdDeviation"], $e = [
29
+ "d",
30
+ "stroke",
31
+ "stroke-width"
32
+ ], et = [
33
+ "d",
34
+ "stroke",
35
+ "stroke-width"
36
+ ], tt = ["filter"], nt = [
37
+ "d",
38
+ "stroke",
39
+ "stroke-width"
40
+ ], rt = [
41
+ "data-a11y-serie-id",
42
+ "d",
43
+ "stroke-width",
44
+ "aria-label",
45
+ "onMouseenter",
46
+ "onMouseleave",
47
+ "onClick"
48
+ ], it = {
49
+ key: 0,
50
+ style: {
51
+ position: "absolute",
52
+ top: "100%",
53
+ left: "0",
54
+ width: "100%"
55
+ },
56
+ "data-dom-to-png-ignore": "",
57
+ "aria-hidden": "true"
58
+ }, at = {
59
+ key: 5,
60
+ class: "vue-data-ui-watermark"
61
+ }, ot = ["id"], st = ["onClick"], ct = { key: 0 }, lt = { key: 1 }, ut = /*#__PURE__*/ Se({
62
+ __name: "vue-ui-galaxy",
63
+ props: {
64
+ config: {
65
+ type: Object,
66
+ default() {
67
+ return {};
68
+ }
69
+ },
70
+ dataset: {
71
+ type: Array,
72
+ default() {
73
+ return [];
74
+ }
75
+ }
76
+ },
77
+ emits: [
78
+ "selectLegend",
79
+ "selectDatapoint",
80
+ "copyAlt"
81
+ ],
82
+ setup(e, { expose: Se, emit: We }) {
83
+ let ut = h(() => import("./Tooltip-hhrkQ3Lk.js")), dt = h(() => import("./BaseIcon-D8R6_sKH.js").then((e) => e.n)), ft = h(() => import("./vue-ui-accordion-DmkL8A59.js").then((e) => e.n)), pt = h(() => import("./DataTable-oiM9uWrQ.js")), mt = h(() => import("./PenAndPaper-KFzKlvbi.js").then((e) => e.t)), ht = h(() => import("./UserOptions-2x4VklMW.js").then((e) => e.n)), gt = h(() => import("./PackageVersion-KBMdaOXg.js").then((e) => e.t)), _t = h(() => import("./BaseDraggableDialog-Gm4Q30j0.js").then((e) => e.n)), { vue_ui_galaxy: vt } = fe(), { isThemeValid: yt, warnInvalidTheme: bt } = _e(), E = e, D = x(se()), O = x(null), xt = x(!1), St = x(""), k = x(null), Ct = x(0), wt = x(0), Tt = x(0), Et = x(0), Dt = x(null), Ot = x(null), kt = x(null), At = x(null), A = x(null), j = x(null), jt = x(!1), M = x(null), Mt = x(null), N = x(null), Nt = x(null), Pt = x({
84
+ x: 0,
85
+ y: 0
86
+ }), Ft = x("pointer"), It = x(!1), Lt = u(() => !!E.dataset && E.dataset.length), P = x(qt()), F = u(() => P.value.style.chart.layout.arcs), I = u(() => P.value.style.chart.layout), L = u(() => P.value.style.chart);
87
+ ue({
88
+ config: () => P.value,
89
+ dataset: () => E.dataset,
90
+ component: "VueUiGalaxy",
91
+ rules: [
92
+ de.singleSeries,
93
+ de.emptyArray,
94
+ {
95
+ test: (e) => e.length > 6,
96
+ message: [
97
+ "👀 The number of series is > 6. Consider:",
98
+ "",
99
+ "▶️ Grouping small values dynamically into a single \"Other\" series.",
100
+ "",
101
+ "▶️ Using filters to let users choose a maximum number of series to display.",
102
+ "",
103
+ "▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read."
104
+ ]
105
+ }
106
+ ]
107
+ });
108
+ let { transitionEnabled: Rt } = ye({
109
+ config: () => P.value.transitions,
110
+ dataset: () => E.dataset
111
+ }), R = u(() => P.value.userOptions.useCursorPointer), zt = u(() => ne({
112
+ defaultConfig: {
113
+ userOptions: { show: !1 },
114
+ table: { show: !1 },
115
+ useCssAnimation: !1,
116
+ style: { chart: {
117
+ backgroundColor: "#99999930",
118
+ legend: { backgroundColor: "transparent" }
119
+ } }
120
+ },
121
+ userConfig: P.value.skeletonConfig ?? {}
122
+ })), { loading: Bt, FINAL_DATASET: Vt } = me({
123
+ ...He(E),
124
+ FINAL_CONFIG: P,
125
+ prepareConfig: qt,
126
+ callback: () => {
127
+ Promise.resolve().then(async () => {
128
+ await Re(), B.value.showTable = P.value.table.show;
129
+ });
130
+ },
131
+ skeletonDataset: E.config?.skeletonDataset ?? [
132
+ {
133
+ name: "_",
134
+ values: [21],
135
+ color: "#DBDBDB"
136
+ },
137
+ {
138
+ name: "_",
139
+ values: [13],
140
+ color: "#C4C4C4"
141
+ },
142
+ {
143
+ name: "_",
144
+ values: [8],
145
+ color: "#ADADAD"
146
+ }
147
+ ],
148
+ skeletonConfig: ne({
149
+ defaultConfig: P.value,
150
+ userConfig: zt.value
151
+ })
152
+ });
153
+ ze(() => {
154
+ jt.value = !0, Ut();
155
+ });
156
+ let Ht = u(() => P.value.debug);
157
+ function Ut() {
158
+ if (a(E.dataset) ? oe({
159
+ componentName: "VueUiGalaxy",
160
+ type: "dataset",
161
+ debug: Ht.value
162
+ }) : Ht.value && E.dataset.forEach((e, t) => {
163
+ re({
164
+ datasetObject: e,
165
+ requiredAttributes: ["name", "values"]
166
+ }).forEach((e) => {
167
+ oe({
168
+ componentName: "VueUiGalaxy",
169
+ type: "datasetSerieAttribute",
170
+ property: e,
171
+ index: t
172
+ });
173
+ });
174
+ }), P.value.responsive) {
175
+ let e = Ce(() => {
176
+ let { width: e, height: t } = we({
177
+ chart: O.value,
178
+ title: L.value.title.text ? Dt.value : null,
179
+ legend: L.value.legend.show ? Ot.value : null,
180
+ noTitle: At.value,
181
+ source: kt.value
182
+ });
183
+ requestAnimationFrame(() => {
184
+ nn.value = Math.max(.1, e), rn.value = Math.max(.1, t - 12);
185
+ });
186
+ });
187
+ A.value && (j.value && A.value.unobserve(j.value), A.value.disconnect()), A.value = new ResizeObserver(e), j.value = O.value.parentNode, A.value.observe(j.value);
188
+ }
189
+ }
190
+ let { userOptionsVisible: Wt, setUserOptionsVisibility: Gt, keepUserOptionState: Kt } = De({ config: P.value }), { svgRef: z } = Oe({ config: L.value.title });
191
+ function qt() {
192
+ let e = ge({
193
+ userConfig: E.config,
194
+ defaultConfig: vt
195
+ }), t = e.theme;
196
+ if (!t) return e;
197
+ if (!yt.value(e)) return bt(e), e;
198
+ let n = ge({
199
+ userConfig: je[t] || E.config,
200
+ defaultConfig: e
201
+ }), r = ge({
202
+ userConfig: E.config,
203
+ defaultConfig: n
204
+ });
205
+ return {
206
+ ...r,
207
+ customPalette: r.customPalette.length ? r.customPalette : ee[t] || i
208
+ };
209
+ }
210
+ function Jt(e) {
211
+ let t = te(e);
212
+ return t?.style?.chart && delete t.style.chart.tooltip, JSON.stringify(t);
213
+ }
214
+ let Yt = Jt(E.config);
215
+ Ue(() => E.config, (e, t) => {
216
+ let n = Jt(e), r = n !== Yt;
217
+ Yt = n;
218
+ let i = qt();
219
+ if (!r) {
220
+ P.value.style.chart.tooltip = i.style.chart.tooltip, B.value.showTooltip = P.value.style.chart.tooltip.show;
221
+ return;
222
+ }
223
+ P.value = i, Wt.value = !P.value.userOptions.showOnChartHover, Ut(), wt.value += 1, Tt.value += 1, Et.value += 1, B.value.dataLabels.show = I.value.labels.dataLabels.show, B.value.showTable = P.value.table.show, B.value.showTooltip = L.value.tooltip.show;
224
+ }, { deep: !0 });
225
+ let { isPrinting: Xt, isImaging: Zt, generatePdf: Qt, generateImage: $t } = pe({
226
+ elementId: `galaxy_${D.value}`,
227
+ fileName: L.value.title.text || "vue-ui-galaxy",
228
+ options: P.value.userOptions.print
229
+ }), en = u(() => P.value.userOptions.show && !L.value.title.text), tn = u(() => le(P.value.customPalette)), B = x({
230
+ dataLabels: { show: I.value.labels.dataLabels.show },
231
+ showTable: P.value.table.show,
232
+ showTooltip: L.value.tooltip.show
233
+ }), nn = x(250), rn = x(180), an = x(0), on = x(0), V = u(() => ({
234
+ width: nn.value,
235
+ height: rn.value,
236
+ viewBox: `${an.value} ${on.value} ${nn.value} ${rn.value}`
237
+ })), sn = We, H = x([]);
238
+ function cn() {
239
+ sn("selectLegend", K.value.map((e) => ({
240
+ name: e.name,
241
+ color: e.color,
242
+ value: e.value
243
+ })));
244
+ }
245
+ function ln() {
246
+ H.value.length ? H.value = [] : J.value.forEach((e) => {
247
+ H.value.push(e.id);
248
+ }), cn();
249
+ }
250
+ function U(e) {
251
+ H.value.includes(e.id) ? H.value = H.value.filter((t) => t !== e.id) : H.value.push(e.id), cn();
252
+ }
253
+ function un(e) {
254
+ return W.value.length ? W.value.find((t) => t.name === e) || (Ht.value && console.warn(`VueUiGalaxy - Series name not found "${e}"`), null) : (Ht.value && console.warn("VueUiGalaxy - There are no series to show."), null);
255
+ }
256
+ function dn(e) {
257
+ let t = un(e);
258
+ t !== null && H.value.includes(t.id) && U({ id: t.id });
259
+ }
260
+ function fn(e) {
261
+ let t = un(e);
262
+ t !== null && (H.value.includes(t.id) || U({ id: t.id }));
263
+ }
264
+ let W = u(() => Vt.value.map((e, t) => ({
265
+ name: e.name,
266
+ color: s(e.color) || tn.value[t] || i[t] || i[t % i.length],
267
+ value: e.values ? c(e.values).reduce((e, t) => e + t, 0) : 0,
268
+ absoluteValues: c(e.values),
269
+ id: se()
270
+ })).sort((e, t) => t.value - e.value).map((e, t) => ({
271
+ ...e,
272
+ absoluteIndex: t
273
+ })));
274
+ function pn() {
275
+ return W.value.map((e) => ({
276
+ name: e.name,
277
+ color: e.color,
278
+ value: e.value
279
+ }));
280
+ }
281
+ let G = u(() => W.value.filter((e) => !H.value.includes(e.id)).map((e) => e.value).reduce((e, t) => e + t, 0)), mn = x(190), hn = u(() => W.value.filter((e) => !H.value.includes(e.id))), gn = u(() => (F.value.strokeWidth + F.value.borderWidth) / 2 + (I.value.padding ?? 12)), _n = u(() => o({
282
+ maxPoints: mn.value,
283
+ a: F.value.a ?? 6,
284
+ b: F.value.b ?? 6,
285
+ angleStep: F.value.angleStep ?? .07,
286
+ startX: V.value.width / 2 + F.value.offsetX,
287
+ startY: V.value.height / 2 + F.value.offsetY,
288
+ boxWidth: V.value.width,
289
+ boxHeight: V.value.height,
290
+ padding: gn.value
291
+ })), K = u(() => {
292
+ let e = [];
293
+ for (let t = 0; t < hn.value.length; t += 1) {
294
+ let n = hn.value[t], r = n.value / G.value * mn.value + (t > 0 && e.length ? e[t - 1].points : 0);
295
+ e.push({
296
+ points: r,
297
+ ...n,
298
+ seriesIndex: t,
299
+ proportion: n.value / G.value,
300
+ path: _n.value(r)
301
+ });
302
+ }
303
+ return e.filter((e) => !H.value.includes(e.id)).toSorted((e, t) => t.points - e.points);
304
+ });
305
+ function vn(e) {
306
+ let t = Math.min(nn.value, rn.value), n = k.value === e.id && F.value.hoverEffect.show ? F.value.hoverEffect.multiplicator : 1, r = (F.value.strokeWidth + F.value.borderWidth) * n, i = F.value.strokeWidth * n, a = F.value.strokeWidth / 2 * n;
307
+ return {
308
+ border: r / 180 * t,
309
+ path: i / 180 * t,
310
+ blur: a / 180 * t
311
+ };
312
+ }
313
+ let q = x(!1);
314
+ function yn(e) {
315
+ q.value = e, Ct.value += 1;
316
+ }
317
+ let bn = x(null);
318
+ function xn() {
319
+ xt.value = !1, k.value = null, N.value = null, Nt.value = null;
320
+ }
321
+ function Sn(e) {
322
+ if (!z.value || !e) return;
323
+ let t = z.value.querySelector(`[data-a11y-serie-id="${e}"]`);
324
+ if (!t) return;
325
+ let n = t.getBoundingClientRect();
326
+ Pt.value = {
327
+ x: n.left + n.width / 2,
328
+ y: n.top + n.height / 2
329
+ };
330
+ }
331
+ function Cn(e) {
332
+ P.value.events.datapointLeave && P.value.events.datapointLeave({
333
+ datapoint: e,
334
+ seriesIndex: e.absoluteIndex
335
+ }), (Nt.value !== e.id || Ft.value !== "keyboard") && (xt.value = !1, k.value = null);
336
+ }
337
+ function wn(e) {
338
+ sn("selectDatapoint", e), P.value.events.datapointClick && P.value.events.datapointClick({
339
+ datapoint: e,
340
+ seriesIndex: e.absoluteIndex
341
+ });
342
+ }
343
+ function Tn({ val: e, percentage: t, showVal: n, showPercentage: r }) {
344
+ let i = I.value.labels.dataLabels;
345
+ return ke({
346
+ config: i,
347
+ val: e,
348
+ percentage: t,
349
+ showVal: n,
350
+ showPercentage: r
351
+ });
352
+ }
353
+ function En({ datapoint: e, _relativeIndex: t, seriesIndex: r, show: i = !1, triggerMode: a = "pointer", flatIndex: o = null }) {
354
+ if (P.value.events.datapointEnter && P.value.events.datapointEnter({
355
+ datapoint: e,
356
+ seriesIndex: e.absoluteIndex
357
+ }), !B.value.showTooltip) return;
358
+ Ft.value = a, N.value = o, Nt.value = e.id, bn.value = {
359
+ datapoint: e,
360
+ seriesIndex: r,
361
+ series: W.value,
362
+ config: P.value
363
+ }, xt.value = i, k.value = e.id;
364
+ let s = "", c = L.value.tooltip.customFormat;
365
+ n(c) && ae(() => c({
366
+ seriesIndex: r,
367
+ datapoint: e,
368
+ series: W.value,
369
+ config: P.value
370
+ })) ? St.value = c({
371
+ seriesIndex: r,
372
+ datapoint: e,
373
+ series: W.value,
374
+ config: P.value
375
+ }) : (s += `<div style="width:100%;text-align:center;border-bottom:1px solid ${L.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`, s += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${e.color}"/></svg>`, s += `<b>${Tn({
376
+ showVal: L.value.tooltip.showValue,
377
+ showPercentage: L.value.tooltip.showPercentage,
378
+ val: ie(I.value.labels.dataLabels.formatter, e.value, l({
379
+ p: I.value.labels.dataLabels.prefix,
380
+ v: e.value,
381
+ s: I.value.labels.dataLabels.suffix,
382
+ r: L.value.tooltip.roundingValue
383
+ }), {
384
+ datapoint: e,
385
+ seriesIndex: r
386
+ }),
387
+ percentage: l({
388
+ v: e.proportion * 100,
389
+ s: "%",
390
+ r: L.value.tooltip.roundingPercentage
391
+ })
392
+ })}</b></div>`, St.value = `<div>${s}</div>`), a === "keyboard" && Re(() => {
393
+ Sn(e.id);
394
+ });
395
+ }
396
+ let J = u(() => W.value.map((e, t) => {
397
+ let n = ie(I.value.labels.dataLabels.formatter, e.value, l({
398
+ p: I.value.labels.dataLabels.prefix,
399
+ v: e.value,
400
+ s: I.value.labels.dataLabels.suffix,
401
+ r: L.value.legend.roundingValue
402
+ }), {
403
+ datapoint: e,
404
+ index: t
405
+ }), r = isNaN(e.value / G.value) || H.value.includes(e.id) ? "-" : l({
406
+ v: e.value / G.value * 100,
407
+ s: "%",
408
+ r: L.value.legend.roundingPercentage
409
+ }), i = Tn({
410
+ showVal: L.value.legend.showValue,
411
+ showPercentage: L.value.legend.showPercentage,
412
+ val: n,
413
+ percentage: r
414
+ });
415
+ return {
416
+ ...e,
417
+ proportion: (e.value || 0) / Vt.value.map((e) => (e.values || []).reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0),
418
+ opacity: H.value.includes(e.id) ? .5 : 1,
419
+ shape: e.shape || "circle",
420
+ segregate: () => U(e),
421
+ isSegregated: H.value.includes(e.id),
422
+ display: `${e.name}${L.value.legend.showPercentage || L.value.legend.showValue ? ": " : ""}${i}`
423
+ };
424
+ })), Dn = u(() => ({
425
+ cy: "galaxy-div-legend",
426
+ backgroundColor: L.value.legend.backgroundColor,
427
+ color: L.value.legend.color,
428
+ fontSize: L.value.legend.fontSize,
429
+ paddingBottom: 12,
430
+ fontWeight: L.value.legend.bold ? "bold" : ""
431
+ })), Y = u(() => ({
432
+ head: K.value.map((e) => ({
433
+ name: e.name,
434
+ color: e.color
435
+ })),
436
+ body: K.value.map((e) => e.value)
437
+ }));
438
+ function On(e = null) {
439
+ Re(() => {
440
+ let n = Y.value.head.map((e, t) => [
441
+ [e.name],
442
+ [Y.value.body[t]],
443
+ [isNaN(Y.value.body[t] / G.value) ? "-" : Y.value.body[t] / G.value * 100]
444
+ ]), i = [
445
+ [L.value.title.text],
446
+ [L.value.title.subtitle.text],
447
+ [
448
+ [""],
449
+ ["val"],
450
+ ["%"]
451
+ ]
452
+ ].concat(n), a = r(i);
453
+ e ? e(a) : t({
454
+ csvContent: a,
455
+ title: L.value.title.text || "vue-ui-galaxy"
456
+ });
457
+ });
458
+ }
459
+ let X = u(() => {
460
+ let e = [
461
+ "__SUM__",
462
+ l({
463
+ p: I.value.labels.dataLabels.prefix,
464
+ v: G.value,
465
+ s: I.value.labels.dataLabels.suffix,
466
+ r: P.value.table.td.roundingValue
467
+ }),
468
+ "100%"
469
+ ], t = Y.value.head.map((e, t) => {
470
+ let n = l({
471
+ p: I.value.labels.dataLabels.prefix,
472
+ v: Y.value.body[t],
473
+ s: I.value.labels.dataLabels.suffix,
474
+ r: P.value.table.td.roundingValue
475
+ });
476
+ return [
477
+ {
478
+ color: e.color,
479
+ name: e.name
480
+ },
481
+ n,
482
+ isNaN(Y.value.body[t] / G.value) ? "-" : l({
483
+ v: Y.value.body[t] / G.value * 100,
484
+ s: "%",
485
+ r: P.value.table.td.roundingPercentage
486
+ })
487
+ ];
488
+ }), n = {
489
+ th: {
490
+ backgroundColor: P.value.table.th.backgroundColor,
491
+ color: P.value.table.th.color,
492
+ outline: P.value.table.th.outline
493
+ },
494
+ td: {
495
+ backgroundColor: P.value.table.td.backgroundColor,
496
+ color: P.value.table.td.color,
497
+ outline: P.value.table.td.outline
498
+ },
499
+ breakpoint: P.value.table.responsiveBreakpoint
500
+ };
501
+ return {
502
+ colNames: [
503
+ P.value.table.columnNames.series,
504
+ P.value.table.columnNames.value,
505
+ P.value.table.columnNames.percentage
506
+ ],
507
+ head: e,
508
+ body: t,
509
+ config: n
510
+ };
511
+ });
512
+ function kn() {
513
+ B.value.showTable = !B.value.showTable;
514
+ }
515
+ function An() {
516
+ B.value.showTooltip = !B.value.showTooltip;
517
+ }
518
+ let Z = x(!1);
519
+ function jn() {
520
+ Z.value = !Z.value;
521
+ }
522
+ async function Mn({ scale: e = 2 } = {}) {
523
+ if (!O.value) return;
524
+ let { width: t, height: n } = O.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await be({
525
+ domElement: O.value,
526
+ base64: !0,
527
+ img: !0,
528
+ scale: e
529
+ });
530
+ return {
531
+ imageUri: i,
532
+ base64: a,
533
+ title: L.value.title.text,
534
+ width: t,
535
+ height: n,
536
+ aspectRatio: r
537
+ };
538
+ }
539
+ let Q = u(() => {
540
+ let e = P.value.table.useDialog && !P.value.table.show, t = B.value.showTable;
541
+ return {
542
+ component: e ? _t : ft,
543
+ title: `${L.value.title.text}${L.value.title.subtitle.text ? `: ${L.value.title.subtitle.text}` : ""}`,
544
+ props: e ? {
545
+ backgroundColor: P.value.table.th.backgroundColor,
546
+ color: P.value.table.th.color,
547
+ headerColor: P.value.table.th.color,
548
+ headerBg: P.value.table.th.backgroundColor,
549
+ isFullscreen: q.value,
550
+ fullscreenParent: O.value,
551
+ forcedWidth: Math.min(500, window.innerWidth * .8),
552
+ isCursorPointer: R.value
553
+ } : {
554
+ hideDetails: !0,
555
+ config: {
556
+ open: t,
557
+ maxHeight: 1e4,
558
+ body: {
559
+ backgroundColor: L.value.backgroundColor,
560
+ color: L.value.color
561
+ },
562
+ head: {
563
+ backgroundColor: L.value.backgroundColor,
564
+ color: L.value.color
565
+ }
566
+ }
567
+ }
568
+ };
569
+ });
570
+ Ue(() => B.value.showTable, (e) => {
571
+ P.value.table.show || (e && P.value.table.useDialog && M.value ? M.value.open() : "close" in M.value && M.value.close());
572
+ });
573
+ function Nn() {
574
+ B.value.showTable = !1, Mt.value && Mt.value.setTableIconState(!1);
575
+ }
576
+ let Pn = u(() => J.value.map((e) => ({
577
+ ...e,
578
+ name: e.display
579
+ }))), Fn = u(() => L.value.backgroundColor), In = u(() => L.value.legend), Ln = u(() => L.value.title), { isCallbackImaging: Rn, isCallbackSvg: zn, generateSvg: Bn, onGenerateImage: Vn } = ve({
580
+ svg: z,
581
+ title: Ln,
582
+ legend: In,
583
+ legendItems: Pn,
584
+ backgroundColor: Fn,
585
+ getSvgCallback: () => P.value.userOptions.callbacks.svg,
586
+ generateImage: $t
587
+ });
588
+ async function Hn() {
589
+ if (sn("copyAlt", {
590
+ config: P.value,
591
+ dataset: W.value
592
+ }), !P.value.userOptions.callbacks.altCopy) {
593
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
594
+ return;
595
+ }
596
+ await Promise.resolve(P.value.userOptions.callbacks.altCopy({
597
+ config: P.value,
598
+ dataset: W.value
599
+ }));
600
+ }
601
+ function Un() {
602
+ N.value = null, Nt.value = null, It.value = !0;
603
+ }
604
+ function Wn() {
605
+ xn(), It.value = !1;
606
+ }
607
+ function Gn(e) {
608
+ if (!z.value || Z.value || document.activeElement !== z.value || !$.value.length) return;
609
+ let t = e.key === "ArrowLeft" || e.key === "ArrowUp", n = e.key === "ArrowRight" || e.key === "ArrowDown", r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
610
+ if (!t && !n && !r && !i) return;
611
+ if (e.preventDefault(), e.stopPropagation(), i) {
612
+ xn();
613
+ return;
614
+ }
615
+ if (r) {
616
+ if (N.value === null) return;
617
+ let e = $.value[N.value];
618
+ if (!e) return;
619
+ wn(e.datapoint);
620
+ return;
621
+ }
622
+ let a = N.value;
623
+ a === null || a < 0 || a >= $.value.length ? a = n ? 0 : $.value.length - 1 : (a += n ? 1 : -1, a < 0 && (a = $.value.length - 1), a >= $.value.length && (a = 0));
624
+ let o = $.value[a];
625
+ o && En({
626
+ datapoint: o.datapoint,
627
+ seriesIndex: o.datapoint.seriesIndex,
628
+ show: !0,
629
+ triggerMode: "keyboard",
630
+ flatIndex: a
631
+ });
632
+ }
633
+ let Kn = u(() => ({
634
+ headers: X.value?.colNames ?? [],
635
+ rows: X.value?.body ?? []
636
+ })), $ = u(() => K.value.map((e, t) => ({
637
+ datapoint: e,
638
+ index: t
639
+ })));
640
+ return Se({
641
+ getData: pn,
642
+ getImage: Mn,
643
+ generatePdf: Qt,
644
+ generateCsv: On,
645
+ generateImage: $t,
646
+ generateSvg: Bn,
647
+ hideSeries: fn,
648
+ showSeries: dn,
649
+ toggleTable: kn,
650
+ toggleTooltip: An,
651
+ toggleAnnotator: jn,
652
+ toggleFullscreen: yn,
653
+ copyAlt: Hn
654
+ }), (e, t) => (b(), p("div", {
655
+ ref_key: "galaxyChart",
656
+ ref: O,
657
+ class: _(`vue-data-ui-component vue-ui-galaxy ${q.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${P.value.useCssAnimation ? "" : "vue-ui-dna"} ${w(Bt) ? "loading" : ""}`),
658
+ style: y(`font-family:${P.value.style.fontFamily};width:100%; text-align:center;${L.value.title.text ? "" : "padding-top:36px"};background:${L.value.backgroundColor}`),
659
+ id: `galaxy_${D.value}`,
660
+ onMouseenter: t[2] ||= () => w(Gt)(!0),
661
+ onMouseleave: t[3] ||= () => {
662
+ w(Gt)(!1), It.value || xn();
663
+ }
664
+ }, [
665
+ m("div", {
666
+ id: `chart-instructions-${D.value}`,
667
+ class: "sr-only"
668
+ }, [m("p", null, C(P.value.a11y.translations.keyboardNavigation), 1)], 8, Ke),
669
+ Kn.value?.rows?.length ? (b(), d(Ee, {
670
+ key: 0,
671
+ uid: D.value,
672
+ head: Kn.value.headers,
673
+ body: Kn.value.rows,
674
+ notice: P.value.a11y.translations.tableAvailable,
675
+ caption: P.value.a11y.translations.tableCaption
676
+ }, null, 8, [
677
+ "uid",
678
+ "head",
679
+ "body",
680
+ "notice",
681
+ "caption"
682
+ ])) : f("", !0),
683
+ P.value.userOptions.buttons.annotator ? (b(), d(w(mt), {
684
+ key: 1,
685
+ svgRef: w(z),
686
+ backgroundColor: L.value.backgroundColor,
687
+ color: L.value.color,
688
+ active: Z.value,
689
+ isCursorPointer: R.value,
690
+ palette: P.value.userOptions.annotatorPalette,
691
+ onClose: jn
692
+ }, {
693
+ "annotator-action-close": T(() => [S(e.$slots, "annotator-action-close", {}, void 0, !0)]),
694
+ "annotator-action-color": T(({ color: t }) => [S(e.$slots, "annotator-action-color", v(g({ color: t })), void 0, !0)]),
695
+ "annotator-action-draw": T(({ mode: t }) => [S(e.$slots, "annotator-action-draw", v(g({ mode: t })), void 0, !0)]),
696
+ "annotator-action-undo": T(({ disabled: t }) => [S(e.$slots, "annotator-action-undo", v(g({ disabled: t })), void 0, !0)]),
697
+ "annotator-action-redo": T(({ disabled: t }) => [S(e.$slots, "annotator-action-redo", v(g({ disabled: t })), void 0, !0)]),
698
+ "annotator-action-delete": T(({ disabled: t }) => [S(e.$slots, "annotator-action-delete", v(g({ disabled: t })), void 0, !0)]),
699
+ _: 3
700
+ }, 8, [
701
+ "svgRef",
702
+ "backgroundColor",
703
+ "color",
704
+ "active",
705
+ "isCursorPointer",
706
+ "palette"
707
+ ])) : f("", !0),
708
+ en.value ? (b(), p("div", {
709
+ key: 2,
710
+ ref_key: "noTitle",
711
+ ref: At,
712
+ class: "vue-data-ui-no-title-space",
713
+ style: "height:36px; width: 100%;background:transparent"
714
+ }, null, 512)) : f("", !0),
715
+ L.value.title.text ? (b(), p("div", {
716
+ key: 3,
717
+ ref_key: "chartTitle",
718
+ ref: Dt,
719
+ style: "width:100%;background:transparent;padding-bottom:24px"
720
+ }, [(b(), d(xe, {
721
+ key: `title_${wt.value}`,
722
+ config: {
723
+ title: {
724
+ cy: "galaxy-div-title",
725
+ ...L.value.title
726
+ },
727
+ subtitle: {
728
+ cy: "galaxy-div-subtitle",
729
+ ...L.value.title.subtitle
730
+ }
731
+ }
732
+ }, null, 8, ["config"]))], 512)) : f("", !0),
733
+ m("div", { id: `legend-top-${D.value}` }, null, 8, qe),
734
+ P.value.userOptions.show && Lt.value && (w(Kt) || w(Wt)) ? (b(), d(w(ht), {
735
+ ref_key: "userOptionsRef",
736
+ ref: Mt,
737
+ key: `user_option_${Ct.value}`,
738
+ backgroundColor: L.value.backgroundColor,
739
+ color: L.value.color,
740
+ isPrinting: w(Xt),
741
+ isImaging: w(Zt),
742
+ uid: D.value,
743
+ hasTooltip: P.value.userOptions.buttons.tooltip && L.value.tooltip.show,
744
+ hasPdf: P.value.userOptions.buttons.pdf,
745
+ hasXls: P.value.userOptions.buttons.csv,
746
+ hasImg: P.value.userOptions.buttons.img,
747
+ hasSvg: P.value.userOptions.buttons.svg,
748
+ hasTable: P.value.userOptions.buttons.table,
749
+ hasFullscreen: P.value.userOptions.buttons.fullscreen,
750
+ hasAltCopy: P.value.userOptions.buttons.altCopy,
751
+ isTooltip: B.value.showTooltip,
752
+ isFullscreen: q.value,
753
+ titles: { ...P.value.userOptions.buttonTitles },
754
+ chartElement: O.value,
755
+ position: P.value.userOptions.position,
756
+ hasAnnotator: P.value.userOptions.buttons.annotator,
757
+ isAnnotation: Z.value,
758
+ callbacks: P.value.userOptions.callbacks,
759
+ printScale: P.value.userOptions.print.scale,
760
+ tableDialog: P.value.table.useDialog,
761
+ isCursorPointer: R.value,
762
+ onToggleFullscreen: yn,
763
+ onGeneratePdf: w(Qt),
764
+ onGenerateCsv: On,
765
+ onGenerateImage: w(Vn),
766
+ onGenerateSvg: w(Bn),
767
+ onToggleTable: kn,
768
+ onToggleTooltip: An,
769
+ onToggleAnnotator: jn,
770
+ onCopyAlt: Hn,
771
+ style: y({ visibility: w(Kt) ? w(Wt) ? "visible" : "hidden" : "visible" })
772
+ }, Pe({ _: 2 }, [
773
+ e.$slots.menuIcon ? {
774
+ name: "menuIcon",
775
+ fn: T(({ isOpen: t, color: n }) => [S(e.$slots, "menuIcon", v(g({
776
+ isOpen: t,
777
+ color: n
778
+ })), void 0, !0)]),
779
+ key: "0"
780
+ } : void 0,
781
+ e.$slots.optionTooltip ? {
782
+ name: "optionTooltip",
783
+ fn: T(() => [S(e.$slots, "optionTooltip", {}, void 0, !0)]),
784
+ key: "1"
785
+ } : void 0,
786
+ e.$slots.optionPdf ? {
787
+ name: "optionPdf",
788
+ fn: T(() => [S(e.$slots, "optionPdf", {}, void 0, !0)]),
789
+ key: "2"
790
+ } : void 0,
791
+ e.$slots.optionCsv ? {
792
+ name: "optionCsv",
793
+ fn: T(() => [S(e.$slots, "optionCsv", {}, void 0, !0)]),
794
+ key: "3"
795
+ } : void 0,
796
+ e.$slots.optionImg ? {
797
+ name: "optionImg",
798
+ fn: T(() => [S(e.$slots, "optionImg", {}, void 0, !0)]),
799
+ key: "4"
800
+ } : void 0,
801
+ e.$slots.optionSvg ? {
802
+ name: "optionSvg",
803
+ fn: T(() => [S(e.$slots, "optionSvg", {}, void 0, !0)]),
804
+ key: "5"
805
+ } : void 0,
806
+ e.$slots.optionTable ? {
807
+ name: "optionTable",
808
+ fn: T(() => [S(e.$slots, "optionTable", {}, void 0, !0)]),
809
+ key: "6"
810
+ } : void 0,
811
+ e.$slots.optionFullscreen ? {
812
+ name: "optionFullscreen",
813
+ fn: T(({ toggleFullscreen: t, isFullscreen: n }) => [S(e.$slots, "optionFullscreen", v(g({
814
+ toggleFullscreen: t,
815
+ isFullscreen: n
816
+ })), void 0, !0)]),
817
+ key: "7"
818
+ } : void 0,
819
+ e.$slots.optionAnnotator ? {
820
+ name: "optionAnnotator",
821
+ fn: T(({ toggleAnnotator: t, isAnnotator: n }) => [S(e.$slots, "optionAnnotator", v(g({
822
+ toggleAnnotator: t,
823
+ isAnnotator: n
824
+ })), void 0, !0)]),
825
+ key: "8"
826
+ } : void 0,
827
+ e.$slots.optionAltCopy ? {
828
+ name: "optionAltCopy",
829
+ fn: T(({ altCopy: t }) => [S(e.$slots, "optionAltCopy", v(g({ altCopy: t })), void 0, !0)]),
830
+ key: "9"
831
+ } : void 0,
832
+ e.$slots["custom-menu-before"] ? {
833
+ name: "custom-menu-before",
834
+ fn: T(() => [S(e.$slots, "custom-menu-before", {}, void 0, !0)]),
835
+ key: "10"
836
+ } : void 0,
837
+ e.$slots["custom-menu-after"] ? {
838
+ name: "custom-menu-after",
839
+ fn: T(() => [S(e.$slots, "custom-menu-after", {}, void 0, !0)]),
840
+ key: "11"
841
+ } : void 0
842
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : f("", !0),
843
+ m("div", Je, [(b(), p("svg", {
844
+ ref_key: "svgRef",
845
+ ref: z,
846
+ xmlns: w(ce),
847
+ "aria-describedby": `chart-instructions-${D.value}`,
848
+ class: _({
849
+ "vue-data-ui-fullscreen--on": q.value,
850
+ "vue-data-ui-fulscreen--off": !q.value
851
+ }),
852
+ viewBox: V.value.viewBox,
853
+ style: y(`max-width:100%; overflow: visible; background:transparent;color:${L.value.color}`),
854
+ tabindex: "0",
855
+ onFocus: Un,
856
+ onBlur: Wn,
857
+ onKeydown: Gn
858
+ }, [
859
+ Ie(w(gt)),
860
+ e.$slots["chart-background"] ? (b(), p("foreignObject", {
861
+ key: 0,
862
+ x: 0,
863
+ y: 0,
864
+ width: V.value.width,
865
+ height: V.value.height,
866
+ style: { pointerEvents: "none" }
867
+ }, [S(e.$slots, "chart-background", {}, void 0, !0)], 8, Xe)) : f("", !0),
868
+ m("defs", null, [m("filter", {
869
+ id: `blur_${D.value}`,
870
+ x: "-50%",
871
+ y: "-50%",
872
+ width: "200%",
873
+ height: "200%"
874
+ }, [m("feGaussianBlur", {
875
+ in: "SourceGraphic",
876
+ stdDeviation: 100 / F.value.gradient.intensity
877
+ }, null, 8, Qe)], 8, Ze)]),
878
+ (b(!0), p(Me, null, Be(K.value, (e) => (b(), p("g", { key: `dp_${e.id}` }, [
879
+ e.value ? (b(), p("path", {
880
+ key: 0,
881
+ d: e.path,
882
+ fill: "none",
883
+ stroke: L.value.backgroundColor,
884
+ "stroke-width": vn(e).border,
885
+ class: _({ "vue-data-ui-transition": w(Rt) }),
886
+ "stroke-linecap": "round"
887
+ }, null, 10, $e)) : f("", !0),
888
+ e.value ? (b(), p("path", {
889
+ key: 1,
890
+ d: e.path,
891
+ fill: "none",
892
+ stroke: e.color,
893
+ "stroke-width": vn(e).path,
894
+ "stroke-linecap": "round",
895
+ class: _({
896
+ "vue-data-ui-transition": w(Rt),
897
+ "vue-ui-galaxy-blur": k.value && k.value !== e.id && P.value.useBlurOnHover
898
+ })
899
+ }, null, 10, et)) : f("", !0),
900
+ e.value && F.value.gradient.show ? (b(), p("g", {
901
+ key: 2,
902
+ filter: `url(#blur_${D.value})`
903
+ }, [m("path", {
904
+ d: e.path,
905
+ fill: "none",
906
+ stroke: F.value.gradient.color,
907
+ "stroke-width": vn(e).blur,
908
+ "stroke-linecap": "round",
909
+ class: _({
910
+ "vue-ui-galaxy-gradient": !0,
911
+ "vue-data-ui-transition": w(Rt),
912
+ "vue-ui-galaxy-blur": k.value && k.value !== e.id && P.value.useBlurOnHover
913
+ })
914
+ }, null, 10, nt)], 8, tt)) : f("", !0)
915
+ ]))), 128)),
916
+ (b(!0), p(Me, null, Be(K.value, (e, t) => (b(), p("g", null, [e.value ? (b(), p("path", {
917
+ key: 0,
918
+ "data-a11y-serie-id": e.id,
919
+ d: e.path,
920
+ fill: "none",
921
+ stroke: "transparent",
922
+ "stroke-width": F.value.strokeWidth + F.value.borderWidth,
923
+ "stroke-linecap": "round",
924
+ "aria-label": `${e.name}: ${w(l)({
925
+ p: I.value.labels.dataLabels.prefix,
926
+ v: e.value,
927
+ s: I.value.labels.dataLabels.suffix,
928
+ r: L.value.tooltip.roundingValue
929
+ })}`,
930
+ onMouseenter: (n) => En({
931
+ datapoint: e,
932
+ relativeIndex: t,
933
+ seriesIndex: e.seriesIndex,
934
+ show: !0,
935
+ triggerMode: "pointer",
936
+ flatIndex: t
937
+ }),
938
+ onMouseleave: (t) => Cn(e),
939
+ onClick: (t) => wn(e)
940
+ }, null, 40, rt)) : f("", !0)]))), 256)),
941
+ S(e.$slots, "svg", { svg: {
942
+ ...V.value,
943
+ isPrintingImg: w(Xt) || w(Zt) || w(Rn),
944
+ isPrintingSvg: w(zn)
945
+ } }, void 0, !0)
946
+ ], 46, Ye)), e.$slots.hint ? (b(), p("div", it, [S(e.$slots, "hint", v(g({
947
+ hint: P.value.a11y.translations.keyboardNavigation,
948
+ isVisible: It.value
949
+ })), void 0, !0)])) : f("", !0)]),
950
+ e.$slots.watermark ? (b(), p("div", at, [S(e.$slots, "watermark", v(g({ isPrinting: w(Xt) || w(Zt) || w(Rn) || w(zn) })), void 0, !0)])) : f("", !0),
951
+ m("div", { id: `legend-bottom-${D.value}` }, null, 8, ot),
952
+ jt.value && (L.value.legend.show || e.$slots.legend) ? (b(), d(Ne, {
953
+ key: 6,
954
+ to: L.value.legend.position === "top" ? `#legend-top-${D.value}` : `#legend-bottom-${D.value}`
955
+ }, [m("div", {
956
+ ref_key: "chartLegend",
957
+ ref: Ot
958
+ }, [S(e.$slots, "legend", { legend: J.value }, () => [L.value.legend.show ? (b(), d(Ae, {
959
+ key: `legend_${Et.value}`,
960
+ legendSet: J.value,
961
+ config: Dn.value,
962
+ onClickMarker: t[0] ||= ({ legend: e }) => U(e)
963
+ }, {
964
+ item: T(({ legend: e, index: t }) => [w(Bt) ? f("", !0) : (b(), p("div", {
965
+ key: 0,
966
+ onClick: (t) => U(e),
967
+ style: y(`opacity:${H.value.includes(e.id) ? .5 : 1}`)
968
+ }, C(e.display), 13, st))]),
969
+ legendToggle: T(() => [J.value.length > 2 && L.value.legend.selectAllToggle.show && !w(Bt) ? (b(), d(Te, {
970
+ key: 0,
971
+ backgroundColor: L.value.legend.selectAllToggle.backgroundColor,
972
+ color: L.value.legend.selectAllToggle.color,
973
+ fontSize: L.value.legend.fontSize,
974
+ checked: H.value.length > 0,
975
+ onToggle: ln
976
+ }, null, 8, [
977
+ "backgroundColor",
978
+ "color",
979
+ "fontSize",
980
+ "checked"
981
+ ])) : f("", !0)]),
982
+ _: 1
983
+ }, 8, ["legendSet", "config"])) : f("", !0)], !0)], 512)], 8, ["to"])) : f("", !0),
984
+ e.$slots.source ? (b(), p("div", {
985
+ key: 7,
986
+ ref_key: "source",
987
+ ref: kt,
988
+ dir: "auto"
989
+ }, [S(e.$slots, "source", {}, void 0, !0)], 512)) : f("", !0),
990
+ Ie(w(ut), {
991
+ teleportTo: L.value.tooltip.teleportTo,
992
+ show: B.value.showTooltip && xt.value,
993
+ backgroundColor: L.value.tooltip.backgroundColor,
994
+ color: L.value.tooltip.color,
995
+ borderRadius: L.value.tooltip.borderRadius,
996
+ borderColor: L.value.tooltip.borderColor,
997
+ borderWidth: L.value.tooltip.borderWidth,
998
+ fontSize: L.value.tooltip.fontSize,
999
+ backgroundOpacity: L.value.tooltip.backgroundOpacity,
1000
+ position: L.value.tooltip.position,
1001
+ offsetX: L.value.tooltip.offsetX,
1002
+ offsetY: L.value.tooltip.offsetY,
1003
+ parent: O.value,
1004
+ content: St.value,
1005
+ isFullscreen: q.value,
1006
+ isCustom: w(n)(L.value.tooltip.customFormat),
1007
+ smooth: L.value.tooltip.smooth,
1008
+ backdropFilter: L.value.tooltip.backdropFilter,
1009
+ smoothForce: L.value.tooltip.smoothForce,
1010
+ smoothSnapThreshold: L.value.tooltip.smoothSnapThreshold,
1011
+ isA11yMode: Ft.value === "keyboard",
1012
+ a11yPosition: Pt.value
1013
+ }, {
1014
+ "tooltip-before": T(() => [S(e.$slots, "tooltip-before", v(g({ ...bn.value })), void 0, !0)]),
1015
+ tooltip: T(() => [S(e.$slots, "tooltip", v(g({ ...bn.value })), void 0, !0)]),
1016
+ "tooltip-after": T(() => [S(e.$slots, "tooltip-after", v(g({ ...bn.value })), void 0, !0)]),
1017
+ _: 3
1018
+ }, 8, [
1019
+ "teleportTo",
1020
+ "show",
1021
+ "backgroundColor",
1022
+ "color",
1023
+ "borderRadius",
1024
+ "borderColor",
1025
+ "borderWidth",
1026
+ "fontSize",
1027
+ "backgroundOpacity",
1028
+ "position",
1029
+ "offsetX",
1030
+ "offsetY",
1031
+ "parent",
1032
+ "content",
1033
+ "isFullscreen",
1034
+ "isCustom",
1035
+ "smooth",
1036
+ "backdropFilter",
1037
+ "smoothForce",
1038
+ "smoothSnapThreshold",
1039
+ "isA11yMode",
1040
+ "a11yPosition"
1041
+ ]),
1042
+ Lt.value && P.value.userOptions.buttons.table ? (b(), d(Ve(Q.value.component), Le({ key: 8 }, Q.value.props, {
1043
+ ref_key: "tableUnit",
1044
+ ref: M,
1045
+ onClose: Nn
1046
+ }), Pe({
1047
+ content: T(() => [(b(), d(w(pt), {
1048
+ key: `table_${Tt.value}`,
1049
+ colNames: X.value.colNames,
1050
+ head: X.value.head,
1051
+ body: X.value.body,
1052
+ config: X.value.config,
1053
+ title: P.value.table.useDialog ? "" : Q.value.title,
1054
+ withCloseButton: !P.value.table.useDialog,
1055
+ isCursorPointer: R.value,
1056
+ onClose: Nn
1057
+ }, {
1058
+ th: T(({ th: e }) => [e === "__SUM__" ? (b(), p("div", ct, [Ie(w(dt), {
1059
+ name: "sigma",
1060
+ stroke: X.value.config.th.color,
1061
+ size: 16
1062
+ }, null, 8, ["stroke"])])) : (b(), p("div", lt, C(e), 1))]),
1063
+ td: T(({ td: e }) => [Fe(C(e.name || e), 1)]),
1064
+ _: 1
1065
+ }, 8, [
1066
+ "colNames",
1067
+ "head",
1068
+ "body",
1069
+ "config",
1070
+ "title",
1071
+ "withCloseButton",
1072
+ "isCursorPointer"
1073
+ ]))]),
1074
+ _: 2
1075
+ }, [P.value.table.useDialog ? {
1076
+ name: "title",
1077
+ fn: T(() => [Fe(C(Q.value.title), 1)]),
1078
+ key: "0"
1079
+ } : void 0, P.value.table.useDialog ? {
1080
+ name: "actions",
1081
+ fn: T(() => [m("button", {
1082
+ tabindex: "0",
1083
+ class: "vue-ui-user-options-button",
1084
+ onClick: t[1] ||= (e) => On(P.value.userOptions.callbacks.csv),
1085
+ style: y({ cursor: R.value ? "pointer" : "default" })
1086
+ }, [Ie(w(dt), {
1087
+ name: "fileCsv",
1088
+ stroke: Q.value.props.color
1089
+ }, null, 8, ["stroke"])], 4)]),
1090
+ key: "1"
1091
+ } : void 0]), 1040)) : f("", !0),
1092
+ S(e.$slots, "skeleton", {}, () => [w(Bt) ? (b(), d(he, { key: 0 })) : f("", !0)], !0)
1093
+ ], 46, Ge));
1094
+ }
1095
+ }, [["__scopeId", "data-v-d02837da"]]);
1096
+ //#endregion
1097
+ export { We as n, ut as t };