vue-data-ui 3.0.23 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/{Arrow-B1Op9F3x.js → Arrow-xQM7mBzd.js} +1 -1
  2. package/dist/{BaseDraggableDialog-B4OaMIom.js → BaseDraggableDialog-B2BQC0-h.js} +72 -59
  3. package/dist/{BaseIcon-CgUOIGjr.js → BaseIcon-DLesaZpW.js} +1 -1
  4. package/dist/{useLoading-D7YHNtLX.js → BaseScanner-BgWxam9d.js} +11 -11
  5. package/dist/{ColorPicker-C0nf8VH0.js → ColorPicker-BKvJvFtX.js} +2 -2
  6. package/dist/DataTable-BAf4Obr9.js +140 -0
  7. package/dist/{Legend-CyYXMSsW.js → Legend-8_V5egWW.js} +2 -2
  8. package/dist/{NonSvgPenAndPaper-D63qeScu.js → NonSvgPenAndPaper-Cq4fHmA0.js} +3 -3
  9. package/dist/{PackageVersion-B6M-3jRt.js → PackageVersion-Cv_ypT0N.js} +1 -1
  10. package/dist/{PenAndPaper-zym5uEeN.js → PenAndPaper-B6OvfyHH.js} +3 -3
  11. package/dist/{Shape-CYVs2kYz.js → Shape-Cjca5zta.js} +1 -1
  12. package/dist/{Slicer-BTIFUO4x.js → Slicer-6w3K8gAc.js} +2 -2
  13. package/dist/{SparkTooltip-CNz7AYUL.js → SparkTooltip-BV4Z-NMp.js} +1 -1
  14. package/dist/{Title-D_e0SFWS.js → Title-Dz-j6ERs.js} +1 -1
  15. package/dist/{Tooltip-DjVoFYj1.js → Tooltip-BTGOEC7w.js} +1 -1
  16. package/dist/{UserOptions-z0NWZ7aQ.js → UserOptions-CsDlFB0L.js} +2 -2
  17. package/dist/{dom-to-png-DD0au3Qz.js → dom-to-png-BOu5-Ohz.js} +1 -1
  18. package/dist/{img-z5p1gGfY.js → img-gBDz7xQQ.js} +1 -1
  19. package/dist/{index-BEuUtONc.js → index-BKQqb9lF.js} +37 -2
  20. package/dist/{pdf-BmUjVBni.js → pdf-Cjsn5GEE.js} +1 -1
  21. package/dist/style.css +1 -1
  22. package/dist/types/vue-data-ui.d.cts +35 -0
  23. package/dist/types/vue-data-ui.d.ts +35 -0
  24. package/dist/{useAutoSizeLabelsInsideViewbox-CchB8S-o.js → useAutoSizeLabelsInsideViewbox-IO2dh0Uq.js} +1 -1
  25. package/dist/{useNestedProp-DhLFhguL.js → useNestedProp-aBOhgs4U.js} +1 -1
  26. package/dist/{usePrinter-DiB0_UNt.js → usePrinter-BzuXiubT.js} +2 -2
  27. package/dist/useTableResponsive-Cbx-ACcP.js +22 -0
  28. package/dist/{vue-data-ui-DJIAas-7.js → vue-data-ui-B6eM6hF3.js} +64 -64
  29. package/dist/vue-data-ui.js +1 -1
  30. package/dist/vue-ui-3d-bar-DBeWmnvH.js +1369 -0
  31. package/dist/{vue-ui-accordion-B4YfUjZ5.js → vue-ui-accordion-B5QeV3BK.js} +3 -3
  32. package/dist/{vue-ui-age-pyramid-CkXXNN79.js → vue-ui-age-pyramid-rZFdUsgz.js} +333 -286
  33. package/dist/{vue-ui-annotator-DnSsIkvU.js → vue-ui-annotator-CCCuslrT.js} +2 -2
  34. package/dist/{vue-ui-bullet-kZkBsWPY.js → vue-ui-bullet-DhJf9mvK.js} +8 -8
  35. package/dist/{vue-ui-candlestick-CIn0xZm0.js → vue-ui-candlestick-CGVtDKqZ.js} +453 -406
  36. package/dist/{vue-ui-carousel-table-f1FDOAqH.js → vue-ui-carousel-table-DLAR3WY8.js} +4 -4
  37. package/dist/{vue-ui-chestnut-B-jSj7FT.js → vue-ui-chestnut-BXnSxoXB.js} +563 -520
  38. package/dist/vue-ui-chord-DH_MwAKX.js +1100 -0
  39. package/dist/vue-ui-circle-pack-Cx_E1R63.js +755 -0
  40. package/dist/{vue-ui-cursor-DdBrui6i.js → vue-ui-cursor-CEvH1qDS.js} +2 -2
  41. package/dist/{vue-ui-dashboard-DSUfW7mI.js → vue-ui-dashboard-CvduVgEy.js} +62 -62
  42. package/dist/{vue-ui-digits-Cb3Wq5WR.js → vue-ui-digits-PTozKs3l.js} +2 -2
  43. package/dist/{vue-ui-donut-BCZqlAO3.js → vue-ui-donut-CsEtKJJD.js} +477 -431
  44. package/dist/{vue-ui-donut-evolution-HmQBq9VP.js → vue-ui-donut-evolution-DD7o-CxF.js} +482 -435
  45. package/dist/{vue-ui-dumbbell-B5w2oqNO.js → vue-ui-dumbbell-DfPYl3fu.js} +443 -398
  46. package/dist/vue-ui-flow-CSTTZHwg.js +900 -0
  47. package/dist/vue-ui-funnel-C-NUZqIo.js +666 -0
  48. package/dist/vue-ui-galaxy-BwsZnU6T.js +744 -0
  49. package/dist/{vue-ui-gauge-C_KLPWk2.js → vue-ui-gauge-D9MUneq0.js} +8 -8
  50. package/dist/{vue-ui-gizmo-CsPX25Ti.js → vue-ui-gizmo-Dnzs9wSf.js} +4 -4
  51. package/dist/{vue-ui-heatmap-BHq6hBaL.js → vue-ui-heatmap-CYaQIhy8.js} +501 -461
  52. package/dist/{vue-ui-history-plot-DgpYiaUD.js → vue-ui-history-plot-DMTFzl-_.js} +408 -361
  53. package/dist/{vue-ui-kpi-DOgibU7W.js → vue-ui-kpi-CkPotdff.js} +3 -3
  54. package/dist/{vue-ui-mini-loader-BjsQAxDx.js → vue-ui-mini-loader-CCE-bDOJ.js} +2 -2
  55. package/dist/vue-ui-molecule-DaN5lroq.js +702 -0
  56. package/dist/{vue-ui-mood-radar-DMwVl3wz.js → vue-ui-mood-radar-tM0mmZh8.js} +342 -291
  57. package/dist/{vue-ui-nested-donuts-H0GzIAF0.js → vue-ui-nested-donuts-RB4r6beI.js} +548 -502
  58. package/dist/{vue-ui-onion-A6nKcus1.js → vue-ui-onion-CxDozHg3.js} +363 -317
  59. package/dist/vue-ui-parallel-coordinate-plot-CK9nNExU.js +979 -0
  60. package/dist/vue-ui-quadrant-C7tLJYn7.js +1483 -0
  61. package/dist/{vue-ui-quick-chart-mwXE3w_o.js → vue-ui-quick-chart-MUBAkrHb.js} +7 -7
  62. package/dist/vue-ui-radar-Br4K80I9.js +858 -0
  63. package/dist/{vue-ui-rating-CleNHFo5.js → vue-ui-rating-NtvT9r_M.js} +2 -2
  64. package/dist/{vue-ui-relation-circle-CMCH7Ia6.js → vue-ui-relation-circle-CPQjAy1g.js} +8 -8
  65. package/dist/vue-ui-ridgeline-C2M_Cjlh.js +1204 -0
  66. package/dist/vue-ui-rings-DEru-cWN.js +785 -0
  67. package/dist/{vue-ui-scatter-kv28dsT3.js → vue-ui-scatter-CJKkiKle.js} +594 -548
  68. package/dist/{vue-ui-skeleton-DCNOYh9x.js → vue-ui-skeleton--twnjS2t.js} +3 -3
  69. package/dist/{vue-ui-smiley-DcS0CM-z.js → vue-ui-smiley-CNccdPZ7.js} +2 -2
  70. package/dist/{vue-ui-spark-trend-LHgReXth.js → vue-ui-spark-trend-9BFkkC0u.js} +4 -4
  71. package/dist/{vue-ui-sparkbar-Da315uRq.js → vue-ui-sparkbar-RYAThoA4.js} +4 -4
  72. package/dist/{vue-ui-sparkgauge-BeAkjGap.js → vue-ui-sparkgauge-DkPlmgMF.js} +4 -4
  73. package/dist/{vue-ui-sparkhistogram-Cy19W3y1.js → vue-ui-sparkhistogram-6EkCyYRF.js} +5 -5
  74. package/dist/{vue-ui-sparkline-IjlQWgs3.js → vue-ui-sparkline-Bl3nj8zd.js} +4 -4
  75. package/dist/{vue-ui-sparkstackbar-CoFgOa3r.js → vue-ui-sparkstackbar-B88lA7iy.js} +4 -4
  76. package/dist/{vue-ui-stackbar-fbCs4sHF.js → vue-ui-stackbar-Csj7NhT6.js} +525 -479
  77. package/dist/{vue-ui-strip-plot-Cm8Zr6RE.js → vue-ui-strip-plot-yY9NsUUI.js} +390 -343
  78. package/dist/{vue-ui-table-q7jWgS26.js → vue-ui-table-Dg6U31ex.js} +3 -3
  79. package/dist/{vue-ui-table-heatmap-CsK9gR1G.js → vue-ui-table-heatmap-BWU7CAWP.js} +5 -5
  80. package/dist/{vue-ui-table-sparkline-CXTPucPr.js → vue-ui-table-sparkline-DV4Y9aRL.js} +4 -4
  81. package/dist/{vue-ui-thermometer-BFxdNgrd.js → vue-ui-thermometer-C3fKamV-.js} +8 -8
  82. package/dist/{vue-ui-timer-BsoeDFjK.js → vue-ui-timer-6VAK9XyF.js} +5 -5
  83. package/dist/{vue-ui-tiremarks-BW_jSayT.js → vue-ui-tiremarks-BB-KAkF7.js} +7 -7
  84. package/dist/vue-ui-treemap-GrXkD_3Z.js +1092 -0
  85. package/dist/{vue-ui-vertical-bar-OrLV4CxH.js → vue-ui-vertical-bar-Mmz6u4aX.js} +504 -461
  86. package/dist/{vue-ui-waffle-BA6rNfVs.js → vue-ui-waffle-DzPVRUOA.js} +416 -370
  87. package/dist/{vue-ui-wheel-B_BkI-5f.js → vue-ui-wheel-idRCvS5t.js} +7 -7
  88. package/dist/vue-ui-word-cloud-B2641uNP.js +811 -0
  89. package/dist/{vue-ui-world-B4mKuSSn.js → vue-ui-world-D6s5Eph8.js} +512 -466
  90. package/dist/{vue-ui-xy-m1SWJk77.js → vue-ui-xy-BKTGSvfU.js} +1551 -1500
  91. package/dist/vue-ui-xy-canvas-BOQyxVRl.js +1291 -0
  92. package/package.json +1 -1
  93. package/dist/DataTable-nO6ydJO2.js +0 -133
  94. package/dist/vue-ui-3d-bar-B56WqLJ-.js +0 -1323
  95. package/dist/vue-ui-chord-Ck4yV3Tb.js +0 -1049
  96. package/dist/vue-ui-circle-pack-BAfRk_Hd.js +0 -709
  97. package/dist/vue-ui-flow-BXkxtUoF.js +0 -852
  98. package/dist/vue-ui-funnel-DFvDO--q.js +0 -620
  99. package/dist/vue-ui-galaxy-BXNLLc3U.js +0 -691
  100. package/dist/vue-ui-molecule-BtyMTwEn.js +0 -656
  101. package/dist/vue-ui-parallel-coordinate-plot-DZ9_0F5c.js +0 -927
  102. package/dist/vue-ui-quadrant-CUggSeUN.js +0 -1432
  103. package/dist/vue-ui-radar-BRKZ8e_X.js +0 -807
  104. package/dist/vue-ui-ridgeline-xW7UrSfR.js +0 -1157
  105. package/dist/vue-ui-rings-D3NfFMaO.js +0 -739
  106. package/dist/vue-ui-treemap-DhAYSVB9.js +0 -1046
  107. package/dist/vue-ui-word-cloud-CrSLGFOK.js +0 -765
  108. package/dist/vue-ui-xy-canvas-CX2JT6T3.js +0 -1243
@@ -1,691 +0,0 @@
1
- import { defineAsyncComponent as $, ref as s, computed as d, toRefs as nt, onMounted as rt, watch as it, createElementBlock as i, openBlock as n, unref as o, normalizeStyle as z, normalizeClass as R, createBlock as x, createCommentVNode as c, createElementVNode as T, createVNode as _e, createSlots as ct, withCtx as g, renderSlot as h, normalizeProps as I, guardReactiveProps as L, Fragment as Se, renderList as Pe, Teleport as vt, toDisplayString as F, createTextVNode as dt, nextTick as ht } from "vue";
2
- import { u as gt, c as Oe, t as pt, o as yt, f as Ie, g as ft, a as bt, p as W, b as mt, d as kt, G as Le, e as wt, M as Ct, i as _, X as $t, k as Ae, y as Ne, v as xt, w as Tt, z as _t } from "./index-BEuUtONc.js";
3
- import { t as St, u as Pt } from "./useResponsive-DfdjqQps.js";
4
- import { u as Ot, B as It } from "./useLoading-D7YHNtLX.js";
5
- import { u as Lt } from "./usePrinter-DiB0_UNt.js";
6
- import { u as Fe } from "./useNestedProp-DhLFhguL.js";
7
- import { u as At } from "./useUserOptionState-BIvW1Kz7.js";
8
- import { u as Nt } from "./useChartAccessibility-9icAAmYg.js";
9
- import Ft from "./img-z5p1gGfY.js";
10
- import { _ as Vt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
11
- const Dt = ["id"], Bt = ["id"], Mt = ["xmlns", "viewBox"], Et = ["width", "height"], zt = ["id"], Rt = ["stdDeviation"], Wt = ["d", "stroke", "stroke-width"], Gt = ["d", "stroke", "stroke-width"], Ht = ["filter"], Ut = ["d", "stroke", "stroke-width"], Xt = ["d", "stroke-width", "onMouseenter", "onMouseleave", "onClick"], Yt = {
12
- key: 4,
13
- class: "vue-data-ui-watermark"
14
- }, jt = ["id"], qt = ["onClick"], Jt = ["innerHTML"], Kt = {
15
- __name: "vue-ui-galaxy",
16
- props: {
17
- config: {
18
- type: Object,
19
- default() {
20
- return {};
21
- }
22
- },
23
- dataset: {
24
- type: Array,
25
- default() {
26
- return [];
27
- }
28
- }
29
- },
30
- emits: ["selectLegend", "selectDatapoint"],
31
- setup(Ve, { expose: De, emit: Be }) {
32
- const Me = $(() => import("./Title-D_e0SFWS.js")), Ee = $(() => import("./Legend-CyYXMSsW.js")), ze = $(() => import("./vue-ui-accordion-B4YfUjZ5.js")), Re = $(() => import("./DataTable-nO6ydJO2.js")), We = $(() => import("./Tooltip-DjVoFYj1.js")), Ge = $(() => import("./PenAndPaper-zym5uEeN.js")), He = $(() => import("./UserOptions-z0NWZ7aQ.js")), Ue = $(() => import("./PackageVersion-B6M-3jRt.js")), { vue_ui_galaxy: Xe } = gt(), m = Ve, f = s(Oe()), k = s(null), Ye = s(null), G = s(!1), H = s(""), S = s(null), Q = s(0), Z = s(0), ee = s(0), te = s(0), le = s(null), ae = s(null), oe = s(null), se = s(null), A = s(null), V = s(null), ue = s(!1), ne = d(() => !!m.dataset && m.dataset.length), e = s(Y()), { loading: U, FINAL_DATASET: re } = Ot({
33
- ...nt(m),
34
- FINAL_CONFIG: e,
35
- prepareConfig: Y,
36
- skeletonDataset: [
37
- { name: "_", values: [21], color: "#DBDBDB" },
38
- { name: "_", values: [13], color: "#C4C4C4" },
39
- { name: "_", values: [8], color: "#ADADAD" }
40
- ],
41
- skeletonConfig: pt({
42
- defaultConfig: e.value,
43
- userConfig: {
44
- userOptions: { show: !1 },
45
- table: { show: !1 },
46
- useCssAnimation: !1,
47
- style: {
48
- chart: {
49
- backgroundColor: "#99999930",
50
- legend: {
51
- backgroundColor: "transparent"
52
- }
53
- }
54
- }
55
- }
56
- })
57
- });
58
- rt(() => {
59
- ue.value = !0, ce();
60
- });
61
- const ie = d(() => !!e.value.debug);
62
- function ce() {
63
- if (yt(m.dataset) ? Ie({
64
- componentName: "VueUiGalaxy",
65
- type: "dataset",
66
- debug: ie.value
67
- }) : m.dataset.forEach((t, a) => {
68
- ft({
69
- datasetObject: t,
70
- requiredAttributes: ["name", "values"]
71
- }).forEach((l) => {
72
- Ie({
73
- componentName: "VueUiGalaxy",
74
- type: "datasetSerieAttribute",
75
- property: l,
76
- index: a,
77
- debug: ie.value
78
- });
79
- });
80
- }), e.value.responsive) {
81
- const t = St(() => {
82
- const { width: a, height: l } = Pt({
83
- chart: k.value,
84
- title: e.value.style.chart.title.text ? le.value : null,
85
- legend: e.value.style.chart.legend.show ? ae.value : null,
86
- noTitle: se.value,
87
- source: oe.value
88
- });
89
- requestAnimationFrame(() => {
90
- D.value = Math.max(0.1, a), B.value = Math.max(0.1, l - 12);
91
- });
92
- });
93
- A.value && (V.value && A.value.unobserve(V.value), A.value.disconnect()), A.value = new ResizeObserver(t), V.value = k.value.parentNode, A.value.observe(V.value);
94
- }
95
- }
96
- const { userOptionsVisible: X, setUserOptionsVisibility: ve, keepUserOptionState: de } = At({ config: e.value }), { svgRef: he } = Nt({ config: e.value.style.chart.title });
97
- function Y() {
98
- const t = Fe({
99
- userConfig: m.config,
100
- defaultConfig: Xe
101
- });
102
- return t.theme ? {
103
- ...Fe({
104
- userConfig: mt.vue_ui_galaxy[t.theme] || m.config,
105
- defaultConfig: t
106
- }),
107
- customPalette: bt[t.theme] || W
108
- } : t;
109
- }
110
- it(() => m.config, (t) => {
111
- e.value = Y(), X.value = !e.value.userOptions.showOnChartHover, ce(), Z.value += 1, ee.value += 1, te.value += 1, p.value.dataLabels.show = e.value.style.chart.layout.labels.dataLabels.show, p.value.showTable = e.value.table.show, p.value.showTooltip = e.value.style.chart.tooltip.show;
112
- }, { deep: !0 });
113
- const { isPrinting: ge, isImaging: pe, generatePdf: ye, generateImage: fe } = Lt({
114
- elementId: `galaxy_${f.value}`,
115
- fileName: e.value.style.chart.title.text || "vue-ui-galaxy",
116
- options: e.value.userOptions.print
117
- }), je = d(() => e.value.userOptions.show && !e.value.style.chart.title.text), qe = d(() => kt(e.value.customPalette)), p = s({
118
- dataLabels: {
119
- show: e.value.style.chart.layout.labels.dataLabels.show
120
- },
121
- showTable: e.value.table.show,
122
- showTooltip: e.value.style.chart.tooltip.show
123
- }), D = s(250), B = s(180), Je = s(0), Ke = s(0), w = d(() => ({
124
- width: D.value,
125
- height: B.value,
126
- viewBox: `${Je.value} ${Ke.value} ${D.value} ${B.value}`
127
- })), be = Be, y = s([]);
128
- function j(t) {
129
- y.value.includes(t.id) ? y.value = y.value.filter((a) => a !== t.id) : y.value.push(t.id), be("selectLegend", N.value.map((a) => ({
130
- name: a.name,
131
- color: a.color,
132
- value: a.value
133
- })));
134
- }
135
- const P = d(() => re.value.map((t, a) => ({
136
- name: t.name,
137
- color: wt(t.color) || qe.value[a] || W[a] || W[a % W.length],
138
- value: t.values ? Le(t.values).reduce((l, u) => l + u, 0) : 0,
139
- absoluteValues: Le(t.values),
140
- id: Oe()
141
- })).sort((t, a) => a.value - t.value).map((t, a) => ({
142
- ...t,
143
- absoluteIndex: a
144
- })));
145
- function Qe() {
146
- return P.value.map((t) => ({
147
- name: t.name,
148
- color: t.color,
149
- value: t.value
150
- }));
151
- }
152
- const b = d(() => P.value.filter((t) => !y.value.includes(t.id)).map((t) => t.value).reduce((t, a) => t + a, 0)), me = s(190), ke = d(() => P.value.filter((t) => !y.value.includes(t.id))), Ze = d(
153
- () => (e.value.style.chart.layout.arcs.strokeWidth + e.value.style.chart.layout.arcs.borderWidth) / 2 + (e.value.style.chart.layout.padding ?? 12)
154
- ), et = d(() => Ct({
155
- maxPoints: me.value,
156
- a: e.value.style.chart.layout.arcs.a ?? 6,
157
- b: e.value.style.chart.layout.arcs.b ?? 6,
158
- angleStep: e.value.style.chart.layout.arcs.angleStep ?? 0.07,
159
- startX: w.value.width / 2 + e.value.style.chart.layout.arcs.offsetX,
160
- startY: w.value.height / 2 + e.value.style.chart.layout.arcs.offsetY,
161
- boxWidth: w.value.width,
162
- boxHeight: w.value.height,
163
- padding: Ze.value
164
- })), N = d(() => {
165
- const t = [];
166
- for (let a = 0; a < ke.value.length; a += 1) {
167
- const l = ke.value[a], u = l.value / b.value * me.value + (a > 0 && t.length ? t[a - 1].points : 0);
168
- t.push({
169
- points: u,
170
- ...l,
171
- seriesIndex: a,
172
- proportion: l.value / b.value,
173
- path: et.value(u)
174
- });
175
- }
176
- return t.filter((a) => !y.value.includes(a.id)).toSorted((a, l) => l.points - a.points);
177
- });
178
- function q(t) {
179
- const a = Math.min(D.value, B.value), l = S.value === t.id && e.value.style.chart.layout.arcs.hoverEffect.show ? e.value.style.chart.layout.arcs.hoverEffect.multiplicator : 1, u = (e.value.style.chart.layout.arcs.strokeWidth + e.value.style.chart.layout.arcs.borderWidth) * l, r = e.value.style.chart.layout.arcs.strokeWidth * l, v = e.value.style.chart.layout.arcs.strokeWidth / 2 * l;
180
- return {
181
- border: u / 180 * a,
182
- path: r / 180 * a,
183
- blur: v / 180 * a
184
- };
185
- }
186
- const O = s(!1);
187
- function we(t) {
188
- O.value = t, Q.value += 1;
189
- }
190
- const J = s(null);
191
- function tt(t) {
192
- G.value = !1, S.value = null, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: t.absoluteIndex });
193
- }
194
- function lt(t) {
195
- be("selectDatapoint", t), e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: t.absoluteIndex });
196
- }
197
- function at({ datapoint: t, _relativeIndex: a, seriesIndex: l, show: u = !1 }) {
198
- e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: t.absoluteIndex }), J.value = {
199
- datapoint: t,
200
- seriesIndex: l,
201
- series: P.value,
202
- config: e.value
203
- }, G.value = u, S.value = t.id;
204
- let r = "";
205
- const v = e.value.style.chart.tooltip.customFormat;
206
- Ne(v) && _t(() => v({
207
- seriesIndex: l,
208
- datapoint: t,
209
- series: P.value,
210
- config: e.value
211
- })) ? H.value = v({
212
- seriesIndex: l,
213
- datapoint: t,
214
- series: P.value,
215
- config: e.value
216
- }) : (r += `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${t.name}</div>`, r += `<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="${t.color}"/></svg>`, e.value.style.chart.tooltip.showValue && (r += `<b>${Ae(
217
- e.value.style.chart.layout.labels.dataLabels.formatter,
218
- t.value,
219
- _({
220
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
221
- v: t.value,
222
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
223
- r: e.value.style.chart.tooltip.roundingValue
224
- }),
225
- { datapoint: t, seriesIndex: l }
226
- )}</b>`), e.value.style.chart.tooltip.showPercentage && (e.value.style.chart.tooltip.showValue ? r += `<span>(${_({
227
- v: t.proportion * 100,
228
- s: "%",
229
- r: e.value.style.chart.tooltip.roundingPercentage
230
- })})</span></div>` : r += `<b>${_({
231
- v: t.proportion * 100,
232
- s: "%",
233
- r: e.value.style.chart.tooltip.roundingPercentage
234
- })}</b></div>`), H.value = `<div>${r}</div>`);
235
- }
236
- const Ce = d(() => P.value.map((t, a) => ({
237
- ...t,
238
- proportion: (t.value || 0) / re.value.map((l) => (l.values || []).reduce((u, r) => u + r, 0)).reduce((l, u) => l + u, 0),
239
- opacity: y.value.includes(t.id) ? 0.5 : 1,
240
- shape: t.shape || "circle",
241
- segregate: () => j(t),
242
- isSegregated: y.value.includes(t.id)
243
- }))), ot = d(() => ({
244
- cy: "galaxy-div-legend",
245
- backgroundColor: e.value.style.chart.legend.backgroundColor,
246
- color: e.value.style.chart.legend.color,
247
- fontSize: e.value.style.chart.legend.fontSize,
248
- paddingBottom: 12,
249
- fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
250
- })), C = d(() => {
251
- const t = N.value.map((l) => ({
252
- name: l.name,
253
- color: l.color
254
- })), a = N.value.map((l) => l.value);
255
- return { head: t, body: a };
256
- });
257
- function $e(t = null) {
258
- ht(() => {
259
- const a = C.value.head.map((r, v) => [[
260
- r.name
261
- ], [C.value.body[v]], [isNaN(C.value.body[v] / b.value) ? "-" : C.value.body[v] / b.value * 100]]), l = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [[""], ["val"], ["%"]]].concat(a), u = xt(l);
262
- t ? t(u) : Tt({ csvContent: u, title: e.value.style.chart.title.text || "vue-ui-galaxy" });
263
- });
264
- }
265
- const M = d(() => {
266
- const t = [
267
- ' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>',
268
- _({ p: e.value.style.chart.layout.labels.dataLabels.prefix, v: b.value, s: e.value.style.chart.layout.labels.dataLabels.suffix, r: e.value.table.td.roundingValue }),
269
- "100%"
270
- ], a = C.value.head.map((r, v) => {
271
- const ut = _({ p: e.value.style.chart.layout.labels.dataLabels.prefix, v: C.value.body[v], s: e.value.style.chart.layout.labels.dataLabels.suffix, r: e.value.table.td.roundingValue });
272
- return [
273
- {
274
- color: r.color,
275
- name: r.name
276
- },
277
- ut,
278
- isNaN(C.value.body[v] / b.value) ? "-" : _({
279
- v: C.value.body[v] / b.value * 100,
280
- s: "%",
281
- r: e.value.table.td.roundingPercentage
282
- })
283
- ];
284
- }), l = {
285
- th: {
286
- backgroundColor: e.value.table.th.backgroundColor,
287
- color: e.value.table.th.color,
288
- outline: e.value.table.th.outline
289
- },
290
- td: {
291
- backgroundColor: e.value.table.td.backgroundColor,
292
- color: e.value.table.td.color,
293
- outline: e.value.table.td.outline
294
- },
295
- breakpoint: e.value.table.responsiveBreakpoint
296
- };
297
- return {
298
- colNames: [
299
- e.value.table.columnNames.series,
300
- e.value.table.columnNames.value,
301
- e.value.table.columnNames.percentage
302
- ],
303
- head: t,
304
- body: a,
305
- config: l
306
- };
307
- });
308
- function xe() {
309
- p.value.showTable = !p.value.showTable;
310
- }
311
- function Te() {
312
- p.value.showTooltip = !p.value.showTooltip;
313
- }
314
- const E = s(!1);
315
- function K() {
316
- E.value = !E.value;
317
- }
318
- async function st({ scale: t = 2 } = {}) {
319
- if (!k.value) return;
320
- const { width: a, height: l } = k.value.getBoundingClientRect(), u = a / l, { imageUri: r, base64: v } = await Ft({ domElement: k.value, base64: !0, img: !0, scale: t });
321
- return {
322
- imageUri: r,
323
- base64: v,
324
- title: e.value.style.chart.title.text,
325
- width: a,
326
- height: l,
327
- aspectRatio: u
328
- };
329
- }
330
- return De({
331
- getData: Qe,
332
- getImage: st,
333
- generatePdf: ye,
334
- generateCsv: $e,
335
- generateImage: fe,
336
- toggleTable: xe,
337
- toggleTooltip: Te,
338
- toggleAnnotator: K,
339
- toggleFullscreen: we
340
- }), (t, a) => (n(), i("div", {
341
- ref_key: "galaxyChart",
342
- ref: k,
343
- class: R(`vue-ui-galaxy ${O.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"} ${o(U) ? "loading" : ""}`),
344
- style: z(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;${e.value.style.chart.title.text ? "" : "padding-top:36px"};background:${e.value.style.chart.backgroundColor}`),
345
- id: `galaxy_${f.value}`,
346
- onMouseenter: a[2] || (a[2] = () => o(ve)(!0)),
347
- onMouseleave: a[3] || (a[3] = () => o(ve)(!1))
348
- }, [
349
- e.value.userOptions.buttons.annotator ? (n(), x(o(Ge), {
350
- key: 0,
351
- svgRef: o(he),
352
- backgroundColor: e.value.style.chart.backgroundColor,
353
- color: e.value.style.chart.color,
354
- active: E.value,
355
- onClose: K
356
- }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : c("", !0),
357
- je.value ? (n(), i("div", {
358
- key: 1,
359
- ref_key: "noTitle",
360
- ref: se,
361
- class: "vue-data-ui-no-title-space",
362
- style: "height:36px; width: 100%;background:transparent"
363
- }, null, 512)) : c("", !0),
364
- e.value.style.chart.title.text ? (n(), i("div", {
365
- key: 2,
366
- ref_key: "chartTitle",
367
- ref: le,
368
- style: "width:100%;background:transparent;padding-bottom:24px"
369
- }, [
370
- (n(), x(o(Me), {
371
- key: `title_${Z.value}`,
372
- config: {
373
- title: {
374
- cy: "galaxy-div-title",
375
- ...e.value.style.chart.title
376
- },
377
- subtitle: {
378
- cy: "galaxy-div-subtitle",
379
- ...e.value.style.chart.title.subtitle
380
- }
381
- }
382
- }, null, 8, ["config"]))
383
- ], 512)) : c("", !0),
384
- T("div", {
385
- id: `legend-top-${f.value}`
386
- }, null, 8, Bt),
387
- e.value.userOptions.show && ne.value && (o(de) || o(X)) ? (n(), x(o(He), {
388
- ref_key: "details",
389
- ref: Ye,
390
- key: `user_option_${Q.value}`,
391
- backgroundColor: e.value.style.chart.backgroundColor,
392
- color: e.value.style.chart.color,
393
- isPrinting: o(ge),
394
- isImaging: o(pe),
395
- uid: f.value,
396
- hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.chart.tooltip.show,
397
- hasPdf: e.value.userOptions.buttons.pdf,
398
- hasXls: e.value.userOptions.buttons.csv,
399
- hasImg: e.value.userOptions.buttons.img,
400
- hasTable: e.value.userOptions.buttons.table,
401
- hasFullscreen: e.value.userOptions.buttons.fullscreen,
402
- isTooltip: p.value.showTooltip,
403
- isFullscreen: O.value,
404
- titles: { ...e.value.userOptions.buttonTitles },
405
- chartElement: k.value,
406
- position: e.value.userOptions.position,
407
- hasAnnotator: e.value.userOptions.buttons.annotator,
408
- isAnnotation: E.value,
409
- callbacks: e.value.userOptions.callbacks,
410
- printScale: e.value.userOptions.print.scale,
411
- onToggleFullscreen: we,
412
- onGeneratePdf: o(ye),
413
- onGenerateCsv: $e,
414
- onGenerateImage: o(fe),
415
- onToggleTable: xe,
416
- onToggleTooltip: Te,
417
- onToggleAnnotator: K,
418
- style: z({
419
- visibility: o(de) ? o(X) ? "visible" : "hidden" : "visible"
420
- })
421
- }, ct({ _: 2 }, [
422
- t.$slots.menuIcon ? {
423
- name: "menuIcon",
424
- fn: g(({ isOpen: l, color: u }) => [
425
- h(t.$slots, "menuIcon", I(L({ isOpen: l, color: u })), void 0, !0)
426
- ]),
427
- key: "0"
428
- } : void 0,
429
- t.$slots.optionTooltip ? {
430
- name: "optionTooltip",
431
- fn: g(() => [
432
- h(t.$slots, "optionTooltip", {}, void 0, !0)
433
- ]),
434
- key: "1"
435
- } : void 0,
436
- t.$slots.optionPdf ? {
437
- name: "optionPdf",
438
- fn: g(() => [
439
- h(t.$slots, "optionPdf", {}, void 0, !0)
440
- ]),
441
- key: "2"
442
- } : void 0,
443
- t.$slots.optionCsv ? {
444
- name: "optionCsv",
445
- fn: g(() => [
446
- h(t.$slots, "optionCsv", {}, void 0, !0)
447
- ]),
448
- key: "3"
449
- } : void 0,
450
- t.$slots.optionImg ? {
451
- name: "optionImg",
452
- fn: g(() => [
453
- h(t.$slots, "optionImg", {}, void 0, !0)
454
- ]),
455
- key: "4"
456
- } : void 0,
457
- t.$slots.optionTable ? {
458
- name: "optionTable",
459
- fn: g(() => [
460
- h(t.$slots, "optionTable", {}, void 0, !0)
461
- ]),
462
- key: "5"
463
- } : void 0,
464
- t.$slots.optionFullscreen ? {
465
- name: "optionFullscreen",
466
- fn: g(({ toggleFullscreen: l, isFullscreen: u }) => [
467
- h(t.$slots, "optionFullscreen", I(L({ toggleFullscreen: l, isFullscreen: u })), void 0, !0)
468
- ]),
469
- key: "6"
470
- } : void 0,
471
- t.$slots.optionAnnotator ? {
472
- name: "optionAnnotator",
473
- fn: g(({ toggleAnnotator: l, isAnnotator: u }) => [
474
- h(t.$slots, "optionAnnotator", I(L({ toggleAnnotator: l, isAnnotator: u })), void 0, !0)
475
- ]),
476
- key: "7"
477
- } : void 0
478
- ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasXls", "hasImg", "hasTable", "hasFullscreen", "isTooltip", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : c("", !0),
479
- (n(), i("svg", {
480
- ref_key: "svgRef",
481
- ref: he,
482
- xmlns: o($t),
483
- class: R({ "vue-data-ui-fullscreen--on": O.value, "vue-data-ui-fulscreen--off": !O.value }),
484
- viewBox: w.value.viewBox,
485
- style: z(`max-width:100%; overflow: visible; background:transparent;color:${e.value.style.chart.color}`)
486
- }, [
487
- _e(o(Ue)),
488
- t.$slots["chart-background"] ? (n(), i("foreignObject", {
489
- key: 0,
490
- x: 0,
491
- y: 0,
492
- width: w.value.width,
493
- height: w.value.height,
494
- style: {
495
- pointerEvents: "none"
496
- }
497
- }, [
498
- h(t.$slots, "chart-background", {}, void 0, !0)
499
- ], 8, Et)) : c("", !0),
500
- T("defs", null, [
501
- T("filter", {
502
- id: `blur_${f.value}`,
503
- x: "-50%",
504
- y: "-50%",
505
- width: "200%",
506
- height: "200%"
507
- }, [
508
- T("feGaussianBlur", {
509
- in: "SourceGraphic",
510
- stdDeviation: 100 / e.value.style.chart.layout.arcs.gradient.intensity
511
- }, null, 8, Rt)
512
- ], 8, zt)
513
- ]),
514
- (n(!0), i(Se, null, Pe(N.value, (l) => (n(), i("g", null, [
515
- l.value ? (n(), i("path", {
516
- key: 0,
517
- d: l.path,
518
- fill: "none",
519
- stroke: e.value.style.chart.backgroundColor,
520
- "stroke-width": q(l).border,
521
- "stroke-linecap": "round"
522
- }, null, 8, Wt)) : c("", !0),
523
- l.value ? (n(), i("path", {
524
- key: 1,
525
- d: l.path,
526
- fill: "none",
527
- stroke: l.color,
528
- "stroke-width": q(l).path,
529
- "stroke-linecap": "round",
530
- class: R(`${S.value && S.value !== l.id && e.value.useBlurOnHover ? "vue-ui-galaxy-blur" : ""}`)
531
- }, null, 10, Gt)) : c("", !0),
532
- l.value && e.value.style.chart.layout.arcs.gradient.show ? (n(), i("g", {
533
- key: 2,
534
- filter: `url(#blur_${f.value})`
535
- }, [
536
- T("path", {
537
- d: l.path,
538
- fill: "none",
539
- stroke: e.value.style.chart.layout.arcs.gradient.color,
540
- "stroke-width": q(l).blur,
541
- "stroke-linecap": "round",
542
- class: R(`vue-ui-galaxy-gradient ${S.value && S.value !== l.id && e.value.useBlurOnHover ? "vue-ui-galaxy-blur" : ""}`)
543
- }, null, 10, Ut)
544
- ], 8, Ht)) : c("", !0)
545
- ]))), 256)),
546
- (n(!0), i(Se, null, Pe(N.value, (l, u) => (n(), i("g", null, [
547
- l.value ? (n(), i("path", {
548
- key: 0,
549
- d: l.path,
550
- fill: "none",
551
- stroke: "transparent",
552
- "stroke-width": e.value.style.chart.layout.arcs.strokeWidth + e.value.style.chart.layout.arcs.borderWidth,
553
- "stroke-linecap": "round",
554
- onMouseenter: (r) => at({
555
- datapoint: l,
556
- seriesIndex: l.seriesIndex,
557
- show: !0
558
- }),
559
- onMouseleave: (r) => tt(l),
560
- onClick: (r) => lt(l)
561
- }, null, 40, Xt)) : c("", !0)
562
- ]))), 256)),
563
- h(t.$slots, "svg", { svg: w.value }, void 0, !0)
564
- ], 14, Mt)),
565
- t.$slots.watermark ? (n(), i("div", Yt, [
566
- h(t.$slots, "watermark", I(L({ isPrinting: o(ge) || o(pe) })), void 0, !0)
567
- ])) : c("", !0),
568
- T("div", {
569
- id: `legend-bottom-${f.value}`
570
- }, null, 8, jt),
571
- ue.value ? (n(), x(vt, {
572
- key: 5,
573
- to: e.value.style.chart.legend.position === "top" ? `#legend-top-${f.value}` : `#legend-bottom-${f.value}`
574
- }, [
575
- T("div", {
576
- ref_key: "chartLegend",
577
- ref: ae
578
- }, [
579
- e.value.style.chart.legend.show ? (n(), x(o(Ee), {
580
- key: `legend_${te.value}`,
581
- legendSet: Ce.value,
582
- config: ot.value,
583
- onClickMarker: a[0] || (a[0] = ({ legend: l }) => j(l))
584
- }, {
585
- item: g(({ legend: l, index: u }) => [
586
- o(U) ? c("", !0) : (n(), i("div", {
587
- key: 0,
588
- onClick: (r) => j(l),
589
- style: z(`opacity:${y.value.includes(l.id) ? 0.5 : 1}`)
590
- }, F(l.name) + F(e.value.style.chart.legend.showPercentage || e.value.style.chart.legend.showValue ? ":" : "") + " " + F(e.value.style.chart.legend.showValue ? o(Ae)(
591
- e.value.style.chart.layout.labels.dataLabels.formatter,
592
- l.value,
593
- o(_)({
594
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
595
- v: l.value,
596
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
597
- r: e.value.style.chart.legend.roundingValue
598
- }),
599
- { datapoint: l, seriesIndex: u }
600
- ) : "") + " " + F(e.value.style.chart.legend.showPercentage ? y.value.includes(l.id) ? `${e.value.style.chart.legend.showValue ? "(" : ""}- %${e.value.style.chart.legend.showValue ? ")" : ""}` : `${e.value.style.chart.legend.showValue ? "(" : ""}${isNaN(l.value / b.value) ? "-" : o(_)({
601
- v: l.value / b.value * 100,
602
- s: "%",
603
- r: e.value.style.chart.legend.roundingPercentage
604
- })}${e.value.style.chart.legend.showValue ? ")" : ""}` : ""), 13, qt))
605
- ]),
606
- _: 1
607
- }, 8, ["legendSet", "config"])) : c("", !0),
608
- h(t.$slots, "legend", { legend: Ce.value }, void 0, !0)
609
- ], 512)
610
- ], 8, ["to"])) : c("", !0),
611
- t.$slots.source ? (n(), i("div", {
612
- key: 6,
613
- ref_key: "source",
614
- ref: oe,
615
- dir: "auto"
616
- }, [
617
- h(t.$slots, "source", {}, void 0, !0)
618
- ], 512)) : c("", !0),
619
- _e(o(We), {
620
- show: p.value.showTooltip && G.value,
621
- backgroundColor: e.value.style.chart.tooltip.backgroundColor,
622
- color: e.value.style.chart.tooltip.color,
623
- borderRadius: e.value.style.chart.tooltip.borderRadius,
624
- borderColor: e.value.style.chart.tooltip.borderColor,
625
- borderWidth: e.value.style.chart.tooltip.borderWidth,
626
- fontSize: e.value.style.chart.tooltip.fontSize,
627
- backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
628
- position: e.value.style.chart.tooltip.position,
629
- offsetY: e.value.style.chart.tooltip.offsetY,
630
- parent: k.value,
631
- content: H.value,
632
- isFullscreen: O.value,
633
- isCustom: o(Ne)(e.value.style.chart.tooltip.customFormat),
634
- smooth: e.value.style.chart.tooltip.smooth,
635
- backdropFilter: e.value.style.chart.tooltip.backdropFilter
636
- }, {
637
- "tooltip-before": g(() => [
638
- h(t.$slots, "tooltip-before", I(L({ ...J.value })), void 0, !0)
639
- ]),
640
- "tooltip-after": g(() => [
641
- h(t.$slots, "tooltip-after", I(L({ ...J.value })), void 0, !0)
642
- ]),
643
- _: 3
644
- }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter"]),
645
- ne.value ? (n(), x(o(ze), {
646
- key: 7,
647
- hideDetails: "",
648
- config: {
649
- open: p.value.showTable,
650
- maxHeight: 1e4,
651
- body: {
652
- backgroundColor: e.value.style.chart.backgroundColor,
653
- color: e.value.style.chart.color
654
- },
655
- head: {
656
- backgroundColor: e.value.style.chart.backgroundColor,
657
- color: e.value.style.chart.color
658
- }
659
- }
660
- }, {
661
- content: g(() => [
662
- (n(), x(o(Re), {
663
- key: `table_${ee.value}`,
664
- colNames: M.value.colNames,
665
- head: M.value.head,
666
- body: M.value.body,
667
- config: M.value.config,
668
- title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? ` : ${e.value.style.chart.title.subtitle.text}` : ""}`,
669
- onClose: a[1] || (a[1] = (l) => p.value.showTable = !1)
670
- }, {
671
- th: g(({ th: l }) => [
672
- T("div", {
673
- innerHTML: l,
674
- style: { display: "flex", "align-items": "center" }
675
- }, null, 8, Jt)
676
- ]),
677
- td: g(({ td: l }) => [
678
- dt(F(l.name || l), 1)
679
- ]),
680
- _: 1
681
- }, 8, ["colNames", "head", "body", "config", "title"]))
682
- ]),
683
- _: 1
684
- }, 8, ["config"])) : c("", !0),
685
- o(U) ? (n(), x(It, { key: 8 })) : c("", !0)
686
- ], 46, Dt));
687
- }
688
- }, rl = /* @__PURE__ */ Vt(Kt, [["__scopeId", "data-v-f08fb5f3"]]);
689
- export {
690
- rl as default
691
- };