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,1049 +0,0 @@
1
- import { useCssVars as zt, defineAsyncComponent as H, ref as d, shallowRef as et, toRefs as Xt, watch as tt, computed as M, onMounted as at, onBeforeUnmount as ot, createElementBlock as i, openBlock as r, unref as v, normalizeStyle as D, normalizeClass as F, createBlock as V, createCommentVNode as h, renderSlot as $, createElementVNode as T, createSlots as lt, withCtx as S, normalizeProps as ie, guardReactiveProps as ce, withModifiers as nt, createVNode as ke, Fragment as z, renderList as G, mergeProps as Ut, toDisplayString as Q, Teleport as Vt, createTextVNode as jt, nextTick as Yt } from "vue";
2
- import { u as Gt, c as $e, t as Wt, a as qt, p as ve, b as Ht, o as Qt, f as st, g as Zt, d as Jt, e as Kt, X as ea, F as ta, i as we, a0 as aa, ab as oa, v as la, w as na, k as sa } from "./index-BEuUtONc.js";
3
- import { u as ra } from "./useUserOptionState-BIvW1Kz7.js";
4
- import { u as rt } from "./useNestedProp-DhLFhguL.js";
5
- import { u as ua } from "./useChartAccessibility-9icAAmYg.js";
6
- import { u as ia } from "./usePrinter-DiB0_UNt.js";
7
- import { t as ca, u as va } from "./useResponsive-DfdjqQps.js";
8
- import da from "./Legend-CyYXMSsW.js";
9
- import ha from "./Title-D_e0SFWS.js";
10
- import { _ as fa } from "./Shape-CYVs2kYz.js";
11
- import ga from "./img-z5p1gGfY.js";
12
- import { u as pa, B as ba } from "./useLoading-D7YHNtLX.js";
13
- import { _ as ma } from "./_plugin-vue_export-helper-CHgC5LLL.js";
14
- const ya = ["id"], ka = ["id"], $a = ["xmlns", "viewBox"], wa = ["width", "height"], Ca = { key: 1 }, Ma = ["id", "d"], xa = { key: 2 }, Aa = ["transform"], Ia = ["d", "fill", "stroke", "stroke-width", "onMouseenter", "onMouseleave", "onClick"], _a = ["d", "fill", "stroke", "stroke-width"], Pa = ["d", "fill"], Ta = ["d", "fill", "stroke", "stroke-width", "onMouseenter", "onClick", "onMouseleave"], Sa = ["d", "fill", "stroke", "stroke-width"], Ba = ["d", "fill", "stroke", "stroke-width"], La = ["d", "fill", "stroke", "stroke-width"], Oa = { key: 0 }, Ea = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], Na = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], Ra = ["cx", "cy", "r", "stroke", "stroke-width", "fill"], Da = ["transform", "fill", "text-anchor", "font-size", "font-weight"], Fa = { key: 1 }, za = ["font-size", "font-weight", "fill"], Xa = ["href"], Ua = ["transform", "text-anchor", "font-size", "font-weight", "fill", "innerHTML"], Va = {
15
- key: 4,
16
- class: "vue-data-ui-watermark"
17
- }, ja = ["id"], Ya = ["onClick"], Ga = {
18
- key: 7,
19
- "data-dom-to-png-ignore": "",
20
- class: "reset-wrapper"
21
- }, Wa = { style: { "text-align": "right", width: "100%" } }, qa = {
22
- __name: "vue-ui-chord",
23
- props: {
24
- dataset: {
25
- type: Object,
26
- default() {
27
- return {};
28
- }
29
- },
30
- config: {
31
- type: Object,
32
- default() {
33
- return {};
34
- }
35
- }
36
- },
37
- emits: ["selectLegend", "selectGroup", "selectRibbon"],
38
- setup(ut, { expose: it, emit: ct }) {
39
- zt((e) => ({
40
- "82435eb8": e.slicerColor
41
- }));
42
- const vt = H(() => import("./vue-ui-accordion-B4YfUjZ5.js")), dt = H(() => import("./BaseIcon-CgUOIGjr.js")), ht = H(() => import("./DataTable-nO6ydJO2.js")), ft = H(() => import("./PackageVersion-B6M-3jRt.js")), gt = H(() => import("./PenAndPaper-zym5uEeN.js")), pt = H(() => import("./UserOptions-z0NWZ7aQ.js")), { vue_ui_chord: bt } = Gt(), B = ut, oe = ct, E = d(!!B.dataset && Object.hasOwn(B.dataset, "matrix")), k = d($e()), w = d(null), b = d(null), g = d(null), Ce = d(0), N = d(null), Me = d(null), xe = d(null), Ae = d(null), Ie = d(null), de = d(0), he = d(0), fe = d(0), W = d(!1), X = et(null), q = et(null), _e = d(!1), a = d(pe()), { loading: Pe, FINAL_DATASET: C, manualLoading: Z } = pa({
43
- ...Xt(B),
44
- FINAL_CONFIG: a,
45
- prepareConfig: pe,
46
- skeletonDataset: {
47
- matrix: [
48
- [12e3, 6e3, 9e3, 3e3],
49
- [2e3, 1e4, 2e3, 6001],
50
- [8e3, 1600, 8e3, 8001],
51
- [1e3, 1e3, 1e3, 7001]
52
- ],
53
- labels: [],
54
- colors: ["#DBDBDB", "#C4C4C4", "#ADADAD", "#969696"]
55
- },
56
- skeletonConfig: Wt({
57
- defaultConfig: a.value,
58
- userConfig: {
59
- useCssAnimation: !1,
60
- userOptions: { show: !1 },
61
- table: { show: !1 },
62
- style: {
63
- chart: {
64
- backgroundColor: "#99999930",
65
- legend: {
66
- backgroundColor: "transparent"
67
- },
68
- arcs: {
69
- stroke: "#6A6A6A",
70
- labels: {
71
- show: !1
72
- }
73
- },
74
- ribbons: {
75
- stroke: "#6A6A6A",
76
- underlayerOpacity: 0,
77
- labels: {
78
- show: !1
79
- }
80
- }
81
- }
82
- }
83
- }
84
- })
85
- }), { userOptionsVisible: ge, setUserOptionsVisibility: Te, keepUserOptionState: Se } = ra({ config: a.value }), { svgRef: J } = ua({ config: a.value.style.chart.title }), { isPrinting: Be, isImaging: Le, generatePdf: Oe, generateImage: Ee } = ia({
86
- elementId: `chord_${k.value}`,
87
- fileName: a.value.style.chart.title.text || "vue-ui-chord",
88
- options: a.value.userOptions.print
89
- }), K = d({
90
- showTable: a.value.table.show
91
- });
92
- function pe() {
93
- const e = rt({
94
- userConfig: B.config,
95
- defaultConfig: bt
96
- });
97
- return e.theme ? {
98
- ...rt({
99
- userConfig: Ht.vue_ui_chord[e.theme] || B.config,
100
- defaultConfig: e
101
- }),
102
- customPalette: qt[e.theme] || ve
103
- } : e;
104
- }
105
- tt(() => B.config, (e) => {
106
- Pe.value || (a.value = pe()), ge.value = !a.value.userOptions.showOnChartHover, be(), de.value += 1, he.value += 1, fe.value += 1, A.value = a.value.initialRotation, K.value.showTable = a.value.table.show;
107
- }, { deep: !0 });
108
- const Ne = M(() => a.value.debug);
109
- tt(() => B.dataset, () => {
110
- Re(), be(), de.value += 1, he.value += 1, fe.value += 1;
111
- });
112
- function Re() {
113
- if (Qt(B.dataset)) {
114
- st({
115
- componentName: "VueUiChord",
116
- type: "dataset",
117
- debug: Ne.value
118
- }), E.value = !1, Z.value = !0;
119
- return;
120
- }
121
- const e = Zt({
122
- datasetObject: B.dataset,
123
- requiredAttributes: ["matrix"]
124
- });
125
- if (e.length) {
126
- e.forEach((s) => {
127
- st({
128
- componentName: "VueUiChord",
129
- type: "datasetAttribute",
130
- property: s,
131
- debug: Ne.value
132
- });
133
- }), E.value = !1, Z.value = !0;
134
- return;
135
- }
136
- const o = B.dataset.matrix;
137
- if (!Array.isArray(o) || o.length < 2) {
138
- console.warn(`VueUiChord: dataset.matrix requires a minimum of 2 datapoints, for example:
139
-
140
- matrix:[
141
- [1, 1],
142
- [1, 1]
143
- ]`), E.value = !1, Z.value = !0;
144
- return;
145
- }
146
- const t = o.length, l = o.findIndex((s) => !Array.isArray(s) || s.length !== t);
147
- if (l !== -1) {
148
- console.warn(
149
- `VueUiChord - Invalid matrix: dataset.matrix at index ${l} has ${Array.isArray(o[l]) ? o[l].length : "NaN"} elements instead of the required ${t}
150
-
151
- dataset.matrix[${l}] = [${Array.isArray(o[l]) ? o[l].toString() : "invalid"}]`
152
- ), E.value = !1, Z.value = !0;
153
- return;
154
- }
155
- E.value = !0, Z.value = !1;
156
- }
157
- function be() {
158
- if (Re(), a.value.responsive) {
159
- const e = ca(() => {
160
- const { width: o, height: t, heightNoTitle: l, heightSource: s, heightTitle: n, heightLegend: u } = va({
161
- chart: N.value,
162
- title: a.value.style.chart.title.text ? Me.value : null,
163
- legend: a.value.style.chart.legend.show ? xe.value : null,
164
- source: Ae.value,
165
- noTitle: Ie.value
166
- }), f = n + u + s + l;
167
- o < t ? N.value.style.width = "100%" : (N.value.style.height = "100%", J.value.style.height = `calc(100% - ${f}px)`);
168
- }, 100);
169
- X.value && (q.value && X.value.unobserve(q.value), X.value.disconnect()), X.value = new ResizeObserver(e), q.value = N.value.parentNode, X.value.observe(q.value), e();
170
- }
171
- De.value = setTimeout(() => {
172
- W.value = !0;
173
- }, 500);
174
- }
175
- function mt() {
176
- if (!C.value || !Object.hasOwn(C.value, "matrix") || C.value.matrix.length < 2) {
177
- console.warn(`VueUiChord: dataset.matrix requires a minimum of 2 datapoints, for example:
178
-
179
- matrix:[
180
- [1, 1],
181
- [1, 1]
182
- ]`), E.value = !1;
183
- return;
184
- }
185
- C.value.matrix.forEach((e, o) => {
186
- e.length !== C.value.matrix.length && (console.warn(`VueUiChord - Invalid matrix: dataset.matrix at index ${o} has ${e.length} elements instead of the required ${C.value.matrix.length}
187
-
188
- dataset.matrix[${o}] = [${e.toString()}] has a length of ${e.length} but should have the same length as the matrix itself (${C.value.matrix.length})`), E.value = !1);
189
- });
190
- }
191
- const De = d(null);
192
- at(() => {
193
- _e.value = !0, be();
194
- });
195
- const L = d({
196
- height: 600,
197
- width: 600
198
- }), yt = M(() => a.value.userOptions.show && !a.value.style.chart.title.text), kt = M(() => Jt(a.value.customPalette)), p = M(() => ({
199
- inner: L.value.width * 0.3 * a.value.style.chart.arcs.innerRadiusRatio,
200
- outer: L.value.width * 0.34 * a.value.style.chart.arcs.outerRadiusRatio
201
- })), $t = M(() => a.value.style.chart.arcs.padAngle / 100), m = M(() => ({
202
- matrix: C.value.matrix ?? [[0]],
203
- labels: C.value.labels ?? [""],
204
- colors: C.value.colors && Array.isArray(C.value.colors) && C.value.colors.length ? C.value.colors.map((e) => Kt(e)) : C.value.matrix.map((e, o) => kt.value[o] || ve[o] || ve[o % ve.length])
205
- }));
206
- function wt(e, o) {
207
- const t = e.length, l = p.value.inner, s = new Array(t).fill(0);
208
- let n = 0;
209
- for (let c = 0; c < t; c += 1)
210
- for (let y = 0; y < t; y += 1)
211
- s[c] += e[c][y], n += e[c][y];
212
- const u = (2 * Math.PI - o * t) / n, f = [];
213
- let I = 0;
214
- for (let c = 0; c < t; c += 1) {
215
- const y = I, P = y + s[c] * u;
216
- f.push({
217
- index: c,
218
- pattern: `pattern_${k.value}_${c}`,
219
- startAngle: y,
220
- endAngle: P,
221
- name: m.value.labels[c],
222
- id: $e(),
223
- color: m.value.colors[c],
224
- proportion: s[c] / n
225
- }), I = P + o;
226
- }
227
- const _ = [];
228
- for (let c = 0; c < t; c += 1) {
229
- const y = e[c].map((O, U) => ({ j: U, v: O }));
230
- y.sort((O, U) => U.v - O.v);
231
- let P = f[c].startAngle;
232
- for (const { j: O, v: U } of y) {
233
- const Y = P, ae = Y + U * u;
234
- _.push({
235
- index: c,
236
- subIndex: O,
237
- pattern: `pattern_${k.value}_${c}`,
238
- startAngle: Y,
239
- endAngle: ae,
240
- value: U,
241
- groupName: m.value.labels[c],
242
- groupId: f[c].id,
243
- groupColor: m.value.colors[c],
244
- midAngle: (Y + ae) / 2,
245
- midBaseX: Math.cos((Y + ae) / 2 - Math.PI / 2) * l,
246
- midBaseY: Math.sin((Y + ae) / 2 - Math.PI / 2) * l
247
- }), P = ae;
248
- }
249
- }
250
- const R = [];
251
- for (const c of _) {
252
- const y = _.find(
253
- (P) => P.index === c.subIndex && P.subIndex === c.index
254
- );
255
- R.push({ source: c, target: y, id: $e() });
256
- }
257
- return { groups: f, chords: R };
258
- }
259
- const x = M(() => {
260
- const e = wt(m.value.matrix, $t.value);
261
- return mt(), e.chords.sort(
262
- (o, t) => Math.max(t.source.value, t.target.value) - Math.max(o.source.value, o.target.value)
263
- ), e;
264
- }), Ct = M(() => {
265
- const e = p.value.outer + a.value.style.chart.ribbons.labels.offset + 12, t = a.value.style.chart.ribbons.labels.fontSize * 0.6, l = [];
266
- if (b.value) {
267
- const n = b.value;
268
- if (n.source.value) {
269
- const u = String(n.source.value);
270
- l.push({
271
- id: n.id + "-src",
272
- theta: n.source.midAngle,
273
- w: u.length * t / e,
274
- midBaseX: n.source.midBaseX,
275
- midBaseY: n.source.midBaseY,
276
- groupColor: n.source.groupColor,
277
- value: n.source.value
278
- });
279
- }
280
- if (n.target && n.target.value && n.target.value !== n.source.value) {
281
- const u = String(n.target.value);
282
- l.push({
283
- id: n.id + "-tgt",
284
- theta: n.target.midAngle,
285
- w: u.length * t / e,
286
- midBaseX: n.target.midBaseX,
287
- midBaseY: n.target.midBaseY,
288
- groupColor: n.target.groupColor,
289
- value: n.target.value
290
- });
291
- }
292
- return l;
293
- }
294
- function s(n) {
295
- x.value.chords.filter((u) => u.source.groupId === n && u.source.value).forEach((u) => {
296
- {
297
- const f = String(u.source.value);
298
- l.push({
299
- id: u.id + "-src",
300
- theta: u.source.midAngle,
301
- w: f.length * t / e,
302
- midBaseX: u.source.midBaseX,
303
- midBaseY: u.source.midBaseY,
304
- groupColor: u.source.groupColor,
305
- value: u.source.value
306
- });
307
- }
308
- if (u.target && u.target.value && u.target.value !== u.source.value) {
309
- const f = String(u.target.value);
310
- l.push({
311
- id: u.id + "-tgt",
312
- theta: u.target.midAngle,
313
- w: f.length * t / e,
314
- midBaseX: u.target.midBaseX,
315
- midBaseY: u.target.midBaseY,
316
- groupColor: u.target.groupColor,
317
- value: u.target.value
318
- });
319
- }
320
- });
321
- }
322
- return g.value && s(g.value), w.value && s(w.value.id), l;
323
- }), Mt = M(() => {
324
- const e = Ct.value.map((s) => ({ ...s })).sort((s, n) => s.theta - n.theta), o = a.value.style.chart.ribbons.labels.minSeparationDeg * Math.PI / 180;
325
- let t = !0, l = 0;
326
- for (; t && l++ < 10; ) {
327
- t = !1;
328
- for (let f = 1; f < e.length; f += 1) {
329
- const I = e[f - 1], _ = e[f], R = I.theta + I.w + o;
330
- _.theta < R && (_.theta = R, t = !0);
331
- }
332
- const s = e[0], n = e[e.length - 1], u = n.theta + n.w + o - 2 * Math.PI;
333
- s.theta < u && (s.theta = u, t = !0);
334
- }
335
- return e;
336
- });
337
- function Fe(e, o, t, l) {
338
- const s = e - Math.PI / 2, n = o - Math.PI / 2, u = Math.cos(s) * t, f = Math.sin(s) * t, I = Math.cos(n) * t, _ = Math.sin(n) * t, R = Math.cos(n) * l, c = Math.sin(n) * l, y = Math.cos(s) * l, P = Math.sin(s) * l, O = o - e > Math.PI ? 1 : 0;
339
- return `M${u},${f} A${t},${t} 0 ${O} 1 ${I},${_} L${R},${c} A${l},${l} 0 ${O} 0 ${y},${P} Z`;
340
- }
341
- function le(e, o) {
342
- const t = p.value.inner, l = e.startAngle - Math.PI / 2, s = e.endAngle - Math.PI / 2, n = o.startAngle - Math.PI / 2, u = o.endAngle - Math.PI / 2, f = Math.cos(l) * t, I = Math.sin(l) * t, _ = Math.cos(s) * t, R = Math.sin(s) * t, c = Math.cos(n) * t, y = Math.sin(n) * t, P = Math.cos(u) * t, O = Math.sin(u) * t, U = e.endAngle - e.startAngle > Math.PI ? 1 : 0, Y = o.endAngle - o.startAngle > Math.PI ? 1 : 0;
343
- return `M${f},${I}A${t},${t} 0 ${U} 1 ${_},${R}Q0,0 ${c},${y}A${t},${t} 0 ${Y} 1 ${P},${O}Q0,0 ${f},${I}Z`;
344
- }
345
- const ze = M(() => A.value * Math.PI / 180);
346
- function xt(e) {
347
- return (e.startAngle + e.endAngle) / 2;
348
- }
349
- function At(e) {
350
- return ((xt(e) + ze.value) % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI);
351
- }
352
- function It(e) {
353
- let o = e + ze.value;
354
- return o = (o % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI), o > Math.PI ? "end" : "start";
355
- }
356
- function _t(e) {
357
- const o = e - Math.PI / 2, t = Math.cos(o) * (p.value.outer + a.value.style.chart.arcs.labels.offset + 24), l = Math.sin(o) * (p.value.outer + a.value.style.chart.arcs.labels.offset + 24);
358
- return `translate(${t},${l})`;
359
- }
360
- function Pt(e, o, t) {
361
- const l = e - Math.PI / 2, s = o - Math.PI / 2, n = Math.cos(l) * t, u = Math.sin(l) * t, f = Math.cos(s) * t, I = Math.sin(s) * t, _ = o - e > Math.PI ? 1 : 0;
362
- return `M${n},${u} A${t},${t} 0 ${_} 1 ${f},${I}`;
363
- }
364
- const A = d(a.value.initialRotation), ee = d(!1);
365
- let Xe = 0, Ue = 0;
366
- function Ve(e) {
367
- const o = J.value.getBoundingClientRect(), t = o.left + o.width / 2, l = o.top + o.height / 2, s = e.clientX ?? e.touches[0].clientX, n = e.clientY ?? e.touches[0].clientY;
368
- return Math.atan2(n - l, s - t);
369
- }
370
- function je(e) {
371
- !a.value.enableRotation || te.value || (e.preventDefault(), ee.value = !0, Xe = A.value, Ue = Ve(e));
372
- }
373
- function ne(e) {
374
- if (!ee.value) return;
375
- const o = Ve(e);
376
- A.value = Xe + (o - Ue) * 180 / Math.PI;
377
- }
378
- function se() {
379
- ee.value = !1;
380
- }
381
- function Ye(e) {
382
- return sa(
383
- a.value.style.chart.ribbons.labels.formatter,
384
- e,
385
- we({
386
- p: a.value.style.chart.ribbons.labels.prefix,
387
- v: e,
388
- s: a.value.style.chart.ribbons.labels.suffix,
389
- r: a.value.style.chart.ribbons.labels.rounding
390
- })
391
- );
392
- }
393
- at(() => {
394
- window.addEventListener("mousemove", ne), window.addEventListener("mouseup", se), window.addEventListener("touchmove", ne, { passive: !1 }), window.addEventListener("touchend", se);
395
- }), ot(() => {
396
- window.removeEventListener("mousemove", ne), window.removeEventListener("mouseup", se), window.removeEventListener("touchmove", ne), window.removeEventListener("touchend", se), clearTimeout(De.value), X.value && (q.value && X.value.unobserve(q.value), X.value.disconnect());
397
- });
398
- const me = d(!1);
399
- function Ge(e) {
400
- me.value = e, Ce.value += 1;
401
- }
402
- function Tt(e, o) {
403
- a.value.events.datapointEnter && a.value.events.datapointEnter({ datapoint: e, seriesIndex: o }), !g.value && (w.value = e);
404
- }
405
- function St(e, o) {
406
- w.value = null, a.value.events.datapointLeave && a.value.events.datapointLeave({ datapoint: e, seriesIndex: o });
407
- }
408
- function Bt(e, o) {
409
- oe("selectGroup", e), a.value.events.datapointClick && a.value.events.datapointClick({ datapoint: e, seriesIndex: o });
410
- }
411
- function Lt(e, o) {
412
- a.value.events.datapointEnter && a.value.events.datapointEnter({ datapoint: e, seriesIndex: o }), !g.value && (b.value = e);
413
- }
414
- function Ot(e, o) {
415
- b.value = null, a.value.events.datapointLeave && a.value.events.datapointLeave({ datapoint: e, seriesIndex: o });
416
- }
417
- function Et(e, o) {
418
- oe("selectRibbon", e), a.value.events.datapointClick && a.value.events.datapointClick({ datapoint: e, seriesIndex: o });
419
- }
420
- function We(e) {
421
- return !g.value && !w.value && !b.value ? 0.8 : (g.value ? g.value === e.source.groupId : w.value ? w.value.id === e.source.groupId : b.value?.id === e.id) ? 1 : 0.1;
422
- }
423
- function qe(e) {
424
- return !g.value && !w.value && !b.value || (g.value ? g.value === e.id : w.value ? w.value.id === e.id : [b.value?.source.groupId, b.value?.target.groupId].includes(e.id)) ? 1 : 0.3;
425
- }
426
- const te = d(!1);
427
- function ye() {
428
- te.value = !te.value;
429
- }
430
- function He() {
431
- K.value.showTable = !K.value.showTable;
432
- }
433
- function Nt() {
434
- return x.value;
435
- }
436
- const j = d(null);
437
- function Qe() {
438
- const e = a.value.initialRotation;
439
- j.value !== null && cancelAnimationFrame(j.value);
440
- const o = () => {
441
- A.value += (e - A.value) * 0.05, Math.abs(A.value - e) < 0.1 ? (A.value = e, j.value = null) : j.value = requestAnimationFrame(o);
442
- };
443
- j.value = requestAnimationFrame(o);
444
- }
445
- ot(() => {
446
- j.value !== null && cancelAnimationFrame(j.value);
447
- });
448
- function Ze(e) {
449
- e === g.value ? (g.value = null, oe("selectLegend", null)) : (g.value = e, oe("selectLegend", x.value.groups.find((o) => o.id === e)));
450
- }
451
- const Je = M(() => x.value.groups.map((e, o) => ({
452
- name: e.name,
453
- color: e.color,
454
- shape: "circle",
455
- patternIndex: o,
456
- pattern: `pattern_${k.value}_${o}`,
457
- id: e.id,
458
- select: () => Ze(e.id),
459
- opacity: g.value ? g.value === e.id ? 1 : 0.3 : 1
460
- }))), Rt = M(() => ({
461
- cy: "chord-div-legend",
462
- backgroundColor: a.value.style.chart.legend.backgroundColor,
463
- color: a.value.style.chart.legend.color,
464
- fontSize: a.value.style.chart.legend.fontSize,
465
- paddingBottom: 12,
466
- fontWeight: a.value.style.chart.legend.bold ? "bold" : ""
467
- })), re = M(() => {
468
- const e = x.value.groups.map((t, l) => ({
469
- name: t.name || l,
470
- color: t.color
471
- })), o = m.value.matrix;
472
- return { head: e, body: o };
473
- }), ue = M(() => {
474
- const e = [{ name: "", color: null }, ...re.value.head], o = re.value.body.map((s, n) => [
475
- re.value.head[n],
476
- ...re.value.body[n]
477
- ]), t = {
478
- th: {
479
- backgroundColor: a.value.table.th.backgroundColor,
480
- color: a.value.table.th.color,
481
- outline: a.value.table.th.outline
482
- },
483
- td: {
484
- backgroundColor: a.value.table.td.backgroundColor,
485
- color: a.value.table.td.color,
486
- outline: a.value.table.td.outline
487
- },
488
- breakpoint: a.value.table.responsiveBreakpoint
489
- };
490
- return {
491
- colNames: e,
492
- head: e,
493
- body: o,
494
- config: t
495
- };
496
- });
497
- function Ke(e = null) {
498
- Yt(() => {
499
- const o = m.value.matrix.map((s, n) => [
500
- [m.value.labels[n] || n],
501
- s
502
- ]), t = [
503
- [a.value.style.chart.title.text],
504
- [a.value.style.chart.title.subtitle.text],
505
- [
506
- [""],
507
- ...m.value.labels.map((s, n) => [s || n])
508
- ]
509
- ].concat(o), l = la(t);
510
- e ? e(l) : na({ csvContent: l, title: a.value.style.chart.title.text || "vue-ui-chord" });
511
- });
512
- }
513
- async function Dt({ scale: e = 2 } = {}) {
514
- if (!N.value) return;
515
- const { width: o, height: t } = N.value.getBoundingClientRect(), l = o / t, { imageUri: s, base64: n } = await ga({ domElement: N.value, base64: !0, img: !0, scale: e });
516
- return {
517
- imageUri: s,
518
- base64: n,
519
- title: a.value.style.chart.title.text,
520
- width: o,
521
- height: t,
522
- aspectRatio: l
523
- };
524
- }
525
- function Ft(e, o) {
526
- return `${m.value.labels[o]}${a.value.style.chart.arcs.labels.showPercentage ? we({
527
- p: " (",
528
- v: isNaN(e.proportion) ? 0 : e.proportion * 100,
529
- s: "%)",
530
- r: a.value.style.chart.arcs.labels.roundingPercentage
531
- }) : ""}`;
532
- }
533
- return it({
534
- getData: Nt,
535
- getImage: Dt,
536
- generateCsv: Ke,
537
- generateImage: Ee,
538
- generatePdf: Oe,
539
- toggleAnnotator: ye,
540
- toggleTable: He,
541
- toggleFullscreen: Ge
542
- }), (e, o) => (r(), i("div", {
543
- ref_key: "chordChart",
544
- ref: N,
545
- class: F({
546
- "vue-ui-chord": !0,
547
- "vue-data-ui-wrapper-fullscreen": me.value,
548
- "vue-data-ui-responsive": a.value.responsive
549
- }),
550
- style: D(`font-family:${a.value.style.fontFamily};width:100%; text-align:center;background:${a.value.style.chart.backgroundColor}`),
551
- id: `chord_${k.value}`,
552
- onMouseenter: o[2] || (o[2] = () => v(Te)(!0)),
553
- onMouseleave: o[3] || (o[3] = () => v(Te)(!1))
554
- }, [
555
- a.value.userOptions.buttons.annotator && v(J) ? (r(), V(v(gt), {
556
- key: 0,
557
- color: a.value.style.chart.color,
558
- backgroundColor: a.value.style.chart.backgroundColor,
559
- active: te.value,
560
- svgRef: v(J),
561
- onClose: ye
562
- }, null, 8, ["color", "backgroundColor", "active", "svgRef"])) : h("", !0),
563
- $(e.$slots, "userConfig", {}, void 0, !0),
564
- yt.value ? (r(), i("div", {
565
- key: 1,
566
- ref_key: "noTitle",
567
- ref: Ie,
568
- class: "vue-data-ui-no-title-space",
569
- style: "height:36px; width: 100%;background:transparent"
570
- }, null, 512)) : h("", !0),
571
- a.value.style.chart.title.text ? (r(), i("div", {
572
- key: 2,
573
- ref_key: "chartTitle",
574
- ref: Me,
575
- style: "width:100%;background:transparent;padding-bottom:24px"
576
- }, [
577
- (r(), V(ha, {
578
- key: `title_${de.value}`,
579
- config: {
580
- title: {
581
- cy: "chord-div-title",
582
- ...a.value.style.chart.title
583
- },
584
- subtitle: {
585
- cy: "chord-div-subtitle",
586
- ...a.value.style.chart.title.subtitle
587
- }
588
- }
589
- }, null, 8, ["config"]))
590
- ], 512)) : h("", !0),
591
- T("div", {
592
- id: `legend-top-${k.value}`
593
- }, null, 8, ka),
594
- a.value.userOptions.show && E.value && (v(Se) || v(ge)) ? (r(), V(v(pt), {
595
- ref: "details",
596
- key: `user_option_${Ce.value}`,
597
- backgroundColor: a.value.style.chart.backgroundColor,
598
- color: a.value.style.chart.color,
599
- isPrinting: v(Be),
600
- isImaging: v(Le),
601
- uid: k.value,
602
- hasTooltip: !1,
603
- hasPdf: a.value.userOptions.buttons.pdf,
604
- hasImg: a.value.userOptions.buttons.img,
605
- hasXls: a.value.userOptions.buttons.csv,
606
- hasTable: a.value.userOptions.buttons.table,
607
- hasLabel: !1,
608
- hasFullscreen: a.value.userOptions.buttons.fullscreen,
609
- isFullscreen: me.value,
610
- chartElement: N.value,
611
- position: a.value.userOptions.position,
612
- titles: { ...a.value.userOptions.buttonTitles },
613
- hasAnnotator: a.value.userOptions.buttons.annotator,
614
- isAnnotation: te.value,
615
- callbacks: a.value.userOptions.callbacks,
616
- printScale: a.value.userOptions.print.scale,
617
- onToggleFullscreen: Ge,
618
- onGeneratePdf: v(Oe),
619
- onGenerateCsv: Ke,
620
- onGenerateImage: v(Ee),
621
- onToggleTable: He,
622
- onToggleAnnotator: ye,
623
- style: D({
624
- visibility: v(Se) ? v(ge) ? "visible" : "hidden" : "visible"
625
- })
626
- }, lt({ _: 2 }, [
627
- e.$slots.menuIcon ? {
628
- name: "menuIcon",
629
- fn: S(({ isOpen: t, color: l }) => [
630
- $(e.$slots, "menuIcon", ie(ce({ isOpen: t, color: l })), void 0, !0)
631
- ]),
632
- key: "0"
633
- } : void 0,
634
- e.$slots.optionPdf ? {
635
- name: "optionPdf",
636
- fn: S(() => [
637
- $(e.$slots, "optionPdf", {}, void 0, !0)
638
- ]),
639
- key: "1"
640
- } : void 0,
641
- e.$slots.optionCsv ? {
642
- name: "optionCsv",
643
- fn: S(() => [
644
- $(e.$slots, "optionCsv", {}, void 0, !0)
645
- ]),
646
- key: "2"
647
- } : void 0,
648
- e.$slots.optionImg ? {
649
- name: "optionImg",
650
- fn: S(() => [
651
- $(e.$slots, "optionImg", {}, void 0, !0)
652
- ]),
653
- key: "3"
654
- } : void 0,
655
- e.$slots.optionTable ? {
656
- name: "optionTable",
657
- fn: S(() => [
658
- $(e.$slots, "optionTable", {}, void 0, !0)
659
- ]),
660
- key: "4"
661
- } : void 0,
662
- e.$slots.optionFullscreen ? {
663
- name: "optionFullscreen",
664
- fn: S(({ toggleFullscreen: t, isFullscreen: l }) => [
665
- $(e.$slots, "optionFullscreen", ie(ce({ toggleFullscreen: t, isFullscreen: l })), void 0, !0)
666
- ]),
667
- key: "5"
668
- } : void 0,
669
- e.$slots.optionAnnotator ? {
670
- name: "optionAnnotator",
671
- fn: S(({ toggleAnnotator: t, isAnnotator: l }) => [
672
- $(e.$slots, "optionAnnotator", ie(ce({ toggleAnnotator: t, isAnnotator: l })), void 0, !0)
673
- ]),
674
- key: "6"
675
- } : void 0
676
- ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasImg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "chartElement", "position", "titles", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : h("", !0),
677
- (r(), i("svg", {
678
- xmlns: v(ea),
679
- ref_key: "svgRef",
680
- ref: J,
681
- viewBox: `0 0 ${L.value.width} ${L.value.height}`,
682
- preserveAspectRatio: "xMidYMid meet",
683
- style: {
684
- overflow: "visible"
685
- },
686
- class: F({ "vue-ui-chord-rotating": ee.value, "vue-ui-chord-idle": !ee.value }),
687
- onMousedown: nt(je, ["prevent"]),
688
- onTouchstart: nt(je, ["prevent"])
689
- }, [
690
- ke(v(ft)),
691
- e.$slots["chart-background"] ? (r(), i("foreignObject", {
692
- key: 0,
693
- x: 0,
694
- y: 0,
695
- width: L.value.width <= 0 ? 10 : L.value.width,
696
- height: L.value.height <= 0 ? 10 : L.value.height,
697
- style: {
698
- pointerEvents: "none"
699
- }
700
- }, [
701
- $(e.$slots, "chart-background", {}, void 0, !0)
702
- ], 8, wa)) : h("", !0),
703
- a.value.style.chart.arcs.labels.curved ? (r(), i("defs", Ca, [
704
- (r(!0), i(z, null, G(x.value.groups, (t, l) => (r(), i("path", {
705
- key: `labelPath-${l}`,
706
- id: `labelPath-${l}_${k.value}`,
707
- d: Pt(
708
- t.startAngle,
709
- t.endAngle,
710
- (p.value.inner + p.value.outer) / 2 + a.value.style.chart.arcs.labels.offset
711
- ),
712
- fill: "none"
713
- }, null, 8, Ma))), 128))
714
- ])) : h("", !0),
715
- e.$slots.pattern ? (r(), i("g", xa, [
716
- (r(!0), i(z, null, G(x.value.groups, (t, l) => (r(), i("defs", null, [
717
- $(e.$slots, "pattern", Ut({ ref_for: !0 }, { seriesIndex: t.index, patternId: `pattern_${k.value}_${l}` }), void 0, !0)
718
- ]))), 256))
719
- ])) : h("", !0),
720
- T("g", {
721
- transform: `translate(${L.value.width / 2}, ${L.value.height / 2}) rotate(${A.value})`
722
- }, [
723
- (r(!0), i(z, null, G(x.value.groups, (t, l) => (r(), i("g", null, [
724
- (r(), i("path", {
725
- class: F({ "vue-ui-chord-arc": !0, "vue-ui-chord-arc-animated": a.value.useCssAnimation && !W.value }),
726
- key: `arc-${l}`,
727
- d: Fe(
728
- t.startAngle,
729
- t.endAngle,
730
- p.value.outer,
731
- p.value.inner
732
- ),
733
- fill: m.value.colors[l],
734
- stroke: a.value.style.chart.arcs.stroke,
735
- "stroke-width": a.value.style.chart.arcs.strokeWidth,
736
- "stroke-linecap": "round",
737
- "stroke-linejoin": "round",
738
- style: D({
739
- opacity: qe(t)
740
- }),
741
- onMouseenter: (s) => Tt(t, l),
742
- onMouseleave: (s) => St(t, l),
743
- onClick: (s) => Bt(t, l)
744
- }, null, 46, Ia)),
745
- e.$slots.pattern ? (r(), i("path", {
746
- class: F({ "vue-ui-chord-arc": !0, "vue-ui-chord-arc-animated": a.value.useCssAnimation && !W.value }),
747
- key: `arc-${l}`,
748
- d: Fe(
749
- t.startAngle,
750
- t.endAngle,
751
- p.value.outer,
752
- p.value.inner
753
- ),
754
- fill: `url(#${t.pattern})`,
755
- stroke: a.value.style.chart.arcs.stroke,
756
- "stroke-width": a.value.style.chart.arcs.strokeWidth,
757
- "stroke-linecap": "round",
758
- "stroke-linejoin": "round",
759
- style: D({
760
- opacity: qe(t),
761
- pointerEvents: "none"
762
- })
763
- }, null, 14, _a)) : h("", !0)
764
- ]))), 256)),
765
- T("g", null, [
766
- (r(!0), i(z, null, G(w.value ? x.value.chords.filter((t) => t.source.groupId === w.value.id) : g.value ? x.value.chords.filter((t) => t.source.groupId === g.value) : x.value.chords, (t, l) => (r(), i(z, {
767
- key: `ribbon-${t.id}`
768
- }, [
769
- t.source.value ? (r(), i("path", {
770
- key: 0,
771
- class: F({ "vue-ui-chord-ribbon": !0, "vue-ui-chord-ribbon-animated": a.value.useCssAnimation && !W.value }),
772
- d: le(t.source, t.target),
773
- fill: a.value.style.chart.backgroundColor,
774
- style: D({ opacity: a.value.style.chart.ribbons.underlayerOpacity })
775
- }, null, 14, Pa)) : h("", !0),
776
- t.source.value ? (r(), i("path", {
777
- key: 1,
778
- class: F({ "vue-ui-chord-ribbon": !0, "vue-ui-chord-ribbon-animated": a.value.useCssAnimation && !W.value }),
779
- d: le(t.source, t.target),
780
- fill: m.value.colors[t.source.index],
781
- stroke: a.value.style.chart.ribbons.stroke,
782
- "stroke-width": a.value.style.chart.ribbons.strokeWidth,
783
- "stroke-linecap": "round",
784
- "stroke-linejoin": "round",
785
- style: D({ opacity: We(t) }),
786
- onMouseenter: (s) => Lt({
787
- ...t,
788
- path: le(t.source, t.target),
789
- color: m.value.colors[t.source.index]
790
- }, l),
791
- onClick: (s) => Et({
792
- ...t,
793
- color: m.value.colors[t.source.index]
794
- }, l),
795
- onMouseleave: (s) => Ot({
796
- ...t,
797
- color: m.value.colors[t.source.index]
798
- }, l)
799
- }, null, 46, Ta)) : h("", !0),
800
- t.source.value && e.$slots.pattern ? (r(), i("path", {
801
- key: 2,
802
- class: F({ "vue-ui-chord-ribbon": !0, "vue-ui-chord-ribbon-animated": a.value.useCssAnimation && !W.value }),
803
- d: le(t.source, t.target),
804
- fill: `url(#pattern_${k.value}_${t.source.index})`,
805
- stroke: a.value.style.chart.ribbons.stroke,
806
- "stroke-width": a.value.style.chart.ribbons.strokeWidth,
807
- "stroke-linecap": "round",
808
- "stroke-linejoin": "round",
809
- style: D({
810
- opacity: We(t),
811
- pointerEvents: "none"
812
- })
813
- }, null, 14, Sa)) : h("", !0)
814
- ], 64))), 128)),
815
- b.value ? (r(), i("path", {
816
- key: 0,
817
- d: b.value.path,
818
- fill: b.value.color,
819
- stroke: a.value.style.chart.ribbons.stroke,
820
- "stroke-width": a.value.style.chart.ribbons.strokeWidth,
821
- "stroke-linecap": "round",
822
- "stroke-linejoin": "round",
823
- class: F({ "vue-ui-chord-ribbon": !0 }),
824
- style: {
825
- pointerEvents: "none"
826
- }
827
- }, null, 8, Ba)) : h("", !0),
828
- b.value && e.$slots.pattern ? (r(), i("path", {
829
- key: 1,
830
- d: b.value.path,
831
- fill: `url(#${b.value.source.pattern})`,
832
- stroke: a.value.style.chart.ribbons.stroke,
833
- "stroke-width": a.value.style.chart.ribbons.strokeWidth,
834
- "stroke-linecap": "round",
835
- "stroke-linejoin": "round",
836
- class: F({ "vue-ui-chord-ribbon": !0 }),
837
- style: {
838
- pointerEvents: "none"
839
- }
840
- }, null, 8, La)) : h("", !0)
841
- ]),
842
- (w.value || b.value || g.value) && a.value.style.chart.ribbons.labels.show ? (r(), i("g", Oa, [
843
- (r(!0), i(z, null, G(Mt.value, (t) => (r(), i(z, {
844
- key: t.id
845
- }, [
846
- T("line", {
847
- x1: t.midBaseX,
848
- y1: t.midBaseY,
849
- x2: Math.cos(t.theta - Math.PI / 2) * (p.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
850
- y2: Math.sin(t.theta - Math.PI / 2) * (p.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
851
- stroke: a.value.style.chart.backgroundColor,
852
- "stroke-width": a.value.style.chart.ribbons.labels.connector.strokeWidth * 3,
853
- "pointer-events": "none"
854
- }, null, 8, Ea),
855
- T("line", {
856
- x1: t.midBaseX,
857
- y1: t.midBaseY,
858
- x2: Math.cos(t.theta - Math.PI / 2) * (p.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
859
- y2: Math.sin(t.theta - Math.PI / 2) * (p.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
860
- stroke: a.value.style.chart.ribbons.labels.connector.stroke,
861
- "stroke-width": a.value.style.chart.ribbons.labels.connector.strokeWidth,
862
- "pointer-events": "none"
863
- }, null, 8, Na),
864
- a.value.style.chart.ribbons.labels.marker.show ? (r(), i("circle", {
865
- key: 0,
866
- cx: Math.cos(t.theta - Math.PI / 2) * (p.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
867
- cy: Math.sin(t.theta - Math.PI / 2) * (p.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
868
- r: a.value.style.chart.ribbons.labels.marker.radius,
869
- stroke: a.value.style.chart.ribbons.labels.marker.stroke,
870
- "stroke-width": a.value.style.chart.ribbons.labels.marker.strokeWidth,
871
- fill: t.groupColor,
872
- "pointer-events": "none"
873
- }, null, 8, Ra)) : h("", !0),
874
- T("text", {
875
- transform: `
876
- translate(
877
- ${Math.cos(t.theta - Math.PI / 2) * (p.value.outer + a.value.style.chart.ribbons.labels.offset + 24)},
878
- ${Math.sin(t.theta - Math.PI / 2) * (p.value.outer + a.value.style.chart.ribbons.labels.offset + 24)}
879
- ) rotate(${-A.value})
880
- `,
881
- fill: a.value.style.chart.ribbons.labels.useSerieColor ? t.groupColor : a.value.style.chart.ribbons.labels.color,
882
- "text-anchor": It(t.theta),
883
- "font-size": a.value.style.chart.ribbons.labels.fontSize,
884
- "font-weight": a.value.style.chart.ribbons.labels.bold ? "bold" : "normal",
885
- dy: ".35em",
886
- "pointer-events": "none"
887
- }, Q(Ye(t.value)), 9, Da)
888
- ], 64))), 128))
889
- ])) : h("", !0),
890
- a.value.style.chart.arcs.labels.show ? (r(), i("g", Fa, [
891
- a.value.style.chart.arcs.labels.curved ? (r(!0), i(z, { key: 0 }, G(x.value.groups, (t, l) => (r(), i("text", {
892
- class: "vue-ui-chord-label-curved",
893
- key: `curved-label-${l}`,
894
- "font-size": a.value.style.chart.arcs.labels.fontSize,
895
- "font-weight": a.value.style.chart.arcs.labels.bold ? "bold" : "normal",
896
- fill: a.value.style.chart.arcs.labels.adaptColorToBackground ? v(ta)(m.value.colors[l]) : a.value.style.chart.arcs.labels.color
897
- }, [
898
- T("textPath", {
899
- href: `#labelPath-${l}_${k.value}`,
900
- startOffset: "50%",
901
- "text-anchor": "middle"
902
- }, Q(m.value.labels[l]) + Q(a.value.style.chart.arcs.labels.showPercentage ? v(we)({
903
- p: " (",
904
- v: isNaN(t.proportion) ? 0 : t.proportion * 100,
905
- s: "%)",
906
- r: a.value.style.chart.arcs.labels.roundingPercentage
907
- }) : ""), 9, Xa)
908
- ], 8, za))), 128)) : !w.value && !b.value && !g.value ? (r(!0), i(z, { key: 1 }, G(x.value.groups, (t, l) => (r(), i("text", {
909
- class: "vue-ui-chord-label-straight",
910
- key: `label-${l}`,
911
- transform: `
912
- ${_t((t.startAngle + t.endAngle) / 2)}
913
- rotate(${-A.value})
914
- `,
915
- dy: ".35em",
916
- "text-anchor": At(t) > Math.PI ? "end" : "start",
917
- "font-size": a.value.style.chart.arcs.labels.fontSize,
918
- "font-weight": a.value.style.chart.arcs.labels.bold ? "bold" : "normal",
919
- fill: a.value.style.chart.arcs.labels.color,
920
- innerHTML: v(aa)({
921
- content: v(oa)(Ft(t, l)),
922
- fontSize: a.value.style.chart.arcs.labels.fontSize,
923
- fill: a.value.style.chart.arcs.labels.color,
924
- x: 0,
925
- y: 0
926
- })
927
- }, null, 8, Ua))), 128)) : h("", !0)
928
- ])) : h("", !0)
929
- ], 8, Aa),
930
- $(e.$slots, "svg", { svg: { height: 600, width: 600 } }, void 0, !0)
931
- ], 42, $a)),
932
- e.$slots.watermark ? (r(), i("div", Va, [
933
- $(e.$slots, "watermark", ie(ce({ isPrinting: v(Be) || v(Le) })), void 0, !0)
934
- ])) : h("", !0),
935
- T("div", {
936
- id: `legend-bottom-${k.value}`
937
- }, null, 8, ja),
938
- _e.value ? (r(), V(Vt, {
939
- key: 5,
940
- to: a.value.style.chart.legend.position === "top" ? `#legend-top-${k.value}` : `#legend-bottom-${k.value}`
941
- }, [
942
- T("div", {
943
- ref_key: "chartLegend",
944
- ref: xe
945
- }, [
946
- a.value.style.chart.legend.show ? (r(), V(da, {
947
- key: `legend_${fe.value}`,
948
- legendSet: Je.value,
949
- config: Rt.value,
950
- onClickMarker: o[0] || (o[0] = ({ legend: t }) => Ze(t.id))
951
- }, lt({
952
- item: S(({ legend: t }) => [
953
- T("div", {
954
- style: D({
955
- opacity: g.value ? g.value === t.id ? 1 : 0.3 : 1
956
- }),
957
- onClick: (l) => t.select()
958
- }, Q(t.name), 13, Ya)
959
- ]),
960
- _: 2
961
- }, [
962
- e.$slots.pattern ? {
963
- name: "legend-pattern",
964
- fn: S(({ legend: t, index: l }) => [
965
- ke(fa, {
966
- shape: t.shape,
967
- radius: 30,
968
- stroke: "none",
969
- plot: { x: 30, y: 30 },
970
- fill: `url(#pattern_${k.value}_${l})`
971
- }, null, 8, ["shape", "fill"])
972
- ]),
973
- key: "0"
974
- } : void 0
975
- ]), 1032, ["legendSet", "config"])) : h("", !0),
976
- $(e.$slots, "legend", { legend: Je.value }, void 0, !0)
977
- ], 512)
978
- ], 8, ["to"])) : h("", !0),
979
- e.$slots.source ? (r(), i("div", {
980
- key: 6,
981
- ref_key: "source",
982
- ref: Ae,
983
- dir: "auto"
984
- }, [
985
- $(e.$slots, "source", {}, void 0, !0)
986
- ], 512)) : h("", !0),
987
- A.value !== a.value.initialRotation ? (r(), i("div", Ga, [
988
- $(e.$slots, "reset-action", { reset: Qe }, () => [
989
- T("button", {
990
- "data-cy-reset": "",
991
- tabindex: "0",
992
- role: "button",
993
- class: "vue-data-ui-refresh-button",
994
- style: D({
995
- background: a.value.style.chart.backgroundColor
996
- }),
997
- onClick: Qe
998
- }, [
999
- ke(v(dt), {
1000
- name: "refresh",
1001
- stroke: a.value.style.chart.color
1002
- }, null, 8, ["stroke"])
1003
- ], 4)
1004
- ], !0)
1005
- ])) : h("", !0),
1006
- E.value ? (r(), V(v(vt), {
1007
- key: 8,
1008
- hideDetails: "",
1009
- config: {
1010
- open: K.value.showTable,
1011
- maxHeight: 1e4,
1012
- body: {
1013
- backgroundColor: a.value.style.chart.backgroundColor,
1014
- color: a.value.style.chart.color
1015
- },
1016
- head: {
1017
- backgroundColor: a.value.style.chart.backgroundColor,
1018
- color: a.value.style.chart.color
1019
- }
1020
- }
1021
- }, {
1022
- content: S(() => [
1023
- (r(), V(v(ht), {
1024
- key: `table_${he.value}`,
1025
- colNames: ue.value.colNames,
1026
- head: ue.value.head,
1027
- body: ue.value.body,
1028
- config: ue.value.config,
1029
- title: `${a.value.style.chart.title.text}${a.value.style.chart.title.subtitle.text ? ` : ${a.value.style.chart.title.subtitle.text}` : ""}`,
1030
- onClose: o[1] || (o[1] = (t) => K.value.showTable = !1)
1031
- }, {
1032
- th: S(({ th: t }) => [
1033
- jt(Q(t.name), 1)
1034
- ]),
1035
- td: S(({ td: t }) => [
1036
- T("div", Wa, Q(t.name ? t.name : Ye(t)), 1)
1037
- ]),
1038
- _: 1
1039
- }, 8, ["colNames", "head", "body", "config", "title"]))
1040
- ]),
1041
- _: 1
1042
- }, 8, ["config"])) : h("", !0),
1043
- v(Pe) ? (r(), V(ba, { key: 9 })) : h("", !0)
1044
- ], 46, ya));
1045
- }
1046
- }, uo = /* @__PURE__ */ ma(qa, [["__scopeId", "data-v-a189383f"]]);
1047
- export {
1048
- uo as default
1049
- };