vue-data-ui 3.25.8 → 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 (145) hide show
  1. package/dist/{BaseScanner-DZvpgOjM.js → BaseScanner-Dzc8VT3j.js} +6 -3
  2. package/dist/{PackageVersion-ekRvV3aF.js → PackageVersion-KBMdaOXg.js} +1 -1
  3. package/dist/components/vue-ui-3d-bar.js +1 -1
  4. package/dist/components/vue-ui-age-pyramid.js +1 -1
  5. package/dist/components/vue-ui-bullet.js +1 -1
  6. package/dist/components/vue-ui-bump.js +1 -1
  7. package/dist/components/vue-ui-candlestick.js +1 -1
  8. package/dist/components/vue-ui-carousel-table.js +1 -1
  9. package/dist/components/vue-ui-chestnut.js +1 -1
  10. package/dist/components/vue-ui-chord.js +1 -1
  11. package/dist/components/vue-ui-circle-pack.js +1 -1
  12. package/dist/components/vue-ui-cursor.js +1 -1
  13. package/dist/components/vue-ui-dag.js +1 -1
  14. package/dist/components/vue-ui-dashboard.js +1 -1
  15. package/dist/components/vue-ui-digits.js +1 -1
  16. package/dist/components/vue-ui-donut-evolution.js +1 -1
  17. package/dist/components/vue-ui-donut.js +1 -1
  18. package/dist/components/vue-ui-dumbbell.js +1 -1
  19. package/dist/components/vue-ui-flow.js +1 -1
  20. package/dist/components/vue-ui-funnel.js +1 -1
  21. package/dist/components/vue-ui-galaxy.js +1 -1
  22. package/dist/components/vue-ui-gauge.js +1 -1
  23. package/dist/components/vue-ui-geo.js +1 -1
  24. package/dist/components/vue-ui-gizmo.js +1 -1
  25. package/dist/components/vue-ui-heatmap.js +1 -1
  26. package/dist/components/vue-ui-hill.js +1 -1
  27. package/dist/components/vue-ui-history-plot.js +1 -1
  28. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  29. package/dist/components/vue-ui-kpi.js +1 -1
  30. package/dist/components/vue-ui-molecule.js +1 -1
  31. package/dist/components/vue-ui-mood-radar.js +1 -1
  32. package/dist/components/vue-ui-nested-donuts.js +1 -1
  33. package/dist/components/vue-ui-onion.js +1 -1
  34. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  35. package/dist/components/vue-ui-quadrant.js +1 -1
  36. package/dist/components/vue-ui-quick-chart.js +1 -1
  37. package/dist/components/vue-ui-radar.js +1 -1
  38. package/dist/components/vue-ui-relation-circle.js +1 -1
  39. package/dist/components/vue-ui-ridgeline.js +1 -1
  40. package/dist/components/vue-ui-rings.js +1 -1
  41. package/dist/components/vue-ui-scatter.js +1 -1
  42. package/dist/components/vue-ui-skeleton.js +1 -1
  43. package/dist/components/vue-ui-spark-trend.js +1 -1
  44. package/dist/components/vue-ui-sparkbar.js +1 -1
  45. package/dist/components/vue-ui-sparkgauge.js +1 -1
  46. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  47. package/dist/components/vue-ui-sparkline.js +1 -1
  48. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  49. package/dist/components/vue-ui-stackbar.js +1 -1
  50. package/dist/components/vue-ui-stackline.js +1 -1
  51. package/dist/components/vue-ui-strip-plot.js +1 -1
  52. package/dist/components/vue-ui-table-sparkline.js +1 -1
  53. package/dist/components/vue-ui-table.js +1 -1
  54. package/dist/components/vue-ui-thermometer.js +1 -1
  55. package/dist/components/vue-ui-timer.js +1 -1
  56. package/dist/components/vue-ui-tiremarks.js +1 -1
  57. package/dist/components/vue-ui-treemap.js +1 -1
  58. package/dist/components/vue-ui-vertical-bar.js +1 -1
  59. package/dist/components/vue-ui-waffle.js +1 -1
  60. package/dist/components/vue-ui-wheel.js +1 -1
  61. package/dist/components/vue-ui-word-cloud.js +1 -1
  62. package/dist/components/vue-ui-world.js +1 -1
  63. package/dist/components/vue-ui-xy-canvas.js +1 -1
  64. package/dist/components/vue-ui-xy.js +1 -1
  65. package/dist/{package-C4XeEHJx.js → package-BL27Ev_h.js} +1 -1
  66. package/dist/{render-common-CQUp12xB.js → render-common-By8J0AE-.js} +1 -1
  67. package/dist/ssr/vue-ui-donut.js +1 -1
  68. package/dist/ssr/vue-ui-xy.js +1 -1
  69. package/dist/ssr.js +2 -2
  70. package/dist/style.css +1 -1
  71. package/dist/{vue-data-ui-BChCkqtW.js → vue-data-ui-CBWuUAXT.js} +62 -62
  72. package/dist/vue-data-ui.js +62 -62
  73. package/dist/{vue-ui-3d-bar-BkVOy4Y_.js → vue-ui-3d-bar-BSbq90H3.js} +2 -2
  74. package/dist/{vue-ui-age-pyramid-1_yQ64LX.js → vue-ui-age-pyramid-CrXl71iC.js} +263 -251
  75. package/dist/{vue-ui-bullet-BF1FeBst.js → vue-ui-bullet-B2Y3Wqh9.js} +2 -2
  76. package/dist/{vue-ui-bump-ZtKya76Y.js → vue-ui-bump-DXvvjG4I.js} +2 -2
  77. package/dist/{vue-ui-candlestick-P-clTYIt.js → vue-ui-candlestick-CFqR6W56.js} +453 -441
  78. package/dist/{vue-ui-carousel-table-BVS-4A3h.js → vue-ui-carousel-table-D-ZkPRta.js} +1 -1
  79. package/dist/{vue-ui-chestnut-DHOIbpib.js → vue-ui-chestnut-CyW3IoYC.js} +2 -2
  80. package/dist/{vue-ui-chord-CX_Mc3Fp.js → vue-ui-chord-DS0jni9A.js} +2 -2
  81. package/dist/{vue-ui-circle-pack-Caqvblsl.js → vue-ui-circle-pack-j2ChgLWr.js} +494 -482
  82. package/dist/{vue-ui-cursor-BFF4tWUb.js → vue-ui-cursor-qOONOtcv.js} +1 -1
  83. package/dist/{vue-ui-dag-CtG3HUh4.js → vue-ui-dag-CmeFsKhR.js} +2 -2
  84. package/dist/{vue-ui-dashboard-DASHNFPT.js → vue-ui-dashboard-C7Z5BTN4.js} +58 -58
  85. package/dist/{vue-ui-digits-BQWHzntO.js → vue-ui-digits-Bf68x6fb.js} +1 -1
  86. package/dist/{vue-ui-donut-DHP_lm0m.js → vue-ui-donut-CkBPJW_T.js} +836 -824
  87. package/dist/{vue-ui-donut-vbqlIlij.js → vue-ui-donut-DzDSYgVp.js} +1 -1
  88. package/dist/{vue-ui-donut-evolution-Cio3lNLz.js → vue-ui-donut-evolution-CDJumo0t.js} +2 -2
  89. package/dist/{vue-ui-dumbbell-C2lQhCfq.js → vue-ui-dumbbell-Cr__26dN.js} +2 -2
  90. package/dist/vue-ui-flow-Cz6WRi2c.js +1229 -0
  91. package/dist/{vue-ui-funnel-DDncfHgI.js → vue-ui-funnel-BlC7KxS6.js} +1 -1
  92. package/dist/vue-ui-galaxy-Bg2smlcI.js +1097 -0
  93. package/dist/{vue-ui-gauge-OQbET2bh.js → vue-ui-gauge-BHsaent1.js} +2 -2
  94. package/dist/{vue-ui-geo-Ddw87hVT.js → vue-ui-geo-CE3Cr0or.js} +407 -395
  95. package/dist/{vue-ui-gizmo-DJVWEvWS.js → vue-ui-gizmo-DqFUBEai.js} +2 -2
  96. package/dist/{vue-ui-heatmap-BKG4xt6j.js → vue-ui-heatmap-DXqj9ial.js} +405 -393
  97. package/dist/{vue-ui-hill-BAruBiw6.js → vue-ui-hill-B3fPAfhL.js} +1 -1
  98. package/dist/vue-ui-history-plot-CrnTnpaM.js +1710 -0
  99. package/dist/{vue-ui-horizontal-bar-CXT7-P_o.js → vue-ui-horizontal-bar-DqvN3imH.js} +432 -420
  100. package/dist/{vue-ui-kpi-uOGX20hs.js → vue-ui-kpi-Mf318HvK.js} +1 -1
  101. package/dist/{vue-ui-molecule-BcA064dR.js → vue-ui-molecule-CaLReo4h.js} +346 -334
  102. package/dist/{vue-ui-mood-radar-CXtC0IqT.js → vue-ui-mood-radar-jkE2ENX5.js} +2 -2
  103. package/dist/{vue-ui-nested-donuts-BFE0oXF_.js → vue-ui-nested-donuts-BgMOKjil.js} +360 -348
  104. package/dist/vue-ui-onion-DBN3Ev4j.js +1247 -0
  105. package/dist/{vue-ui-parallel-coordinate-plot-5kKVnNmE.js → vue-ui-parallel-coordinate-plot-BcJzEGJ-.js} +387 -375
  106. package/dist/{vue-ui-quadrant-BPg8L6Sw.js → vue-ui-quadrant-BvoVlxTI.js} +418 -406
  107. package/dist/{vue-ui-quick-chart-DQ_rhjqc.js → vue-ui-quick-chart-2hn8-F_C.js} +550 -538
  108. package/dist/{vue-ui-radar-C65wD7cW.js → vue-ui-radar-O3AjGrc-.js} +330 -318
  109. package/dist/{vue-ui-relation-circle-nZaZcCh1.js → vue-ui-relation-circle-CRnH2ikm.js} +2 -2
  110. package/dist/{vue-ui-ridgeline-Bsi2hN14.js → vue-ui-ridgeline-Blejn8LY.js} +2 -2
  111. package/dist/{vue-ui-rings-DkCzxDyQ.js → vue-ui-rings-C1U38Bp0.js} +321 -309
  112. package/dist/{vue-ui-scatter-V01qkcN8.js → vue-ui-scatter-DTsCc9hg.js} +584 -572
  113. package/dist/{vue-ui-skeleton-BgYtv_I2.js → vue-ui-skeleton-BPr3u7IL.js} +1 -1
  114. package/dist/{vue-ui-spark-trend-Dm1OyGyr.js → vue-ui-spark-trend-B7w4Mg8O.js} +2 -2
  115. package/dist/{vue-ui-sparkbar-D3hChHHS.js → vue-ui-sparkbar-lVDnYEYA.js} +2 -2
  116. package/dist/{vue-ui-sparkgauge-CAeJapmG.js → vue-ui-sparkgauge-BryoGCoc.js} +2 -2
  117. package/dist/{vue-ui-sparkhistogram-ZIo_Vg7F.js → vue-ui-sparkhistogram-BdNoLb9L.js} +2 -2
  118. package/dist/{vue-ui-sparkline-BjvSeM83.js → vue-ui-sparkline-CNFD5K6z.js} +2 -2
  119. package/dist/vue-ui-sparkstackbar-CZ4tGL-_.js +750 -0
  120. package/dist/vue-ui-stackbar-DfsgaZy7.js +2369 -0
  121. package/dist/vue-ui-stackline-Cx7q2sGF.js +2483 -0
  122. package/dist/vue-ui-strip-plot-BcYhLPHM.js +1752 -0
  123. package/dist/{vue-ui-table-C8cvK-x_.js → vue-ui-table-BzF75YjN.js} +2 -2
  124. package/dist/{vue-ui-table-sparkline-Dam9BFsU.js → vue-ui-table-sparkline-B9ICTtoE.js} +1 -1
  125. package/dist/{vue-ui-thermometer-zyBeCINd.js → vue-ui-thermometer-Am7llqdI.js} +2 -2
  126. package/dist/{vue-ui-timer-CDXczagK.js → vue-ui-timer-D6EvkM31.js} +1 -1
  127. package/dist/{vue-ui-tiremarks-CG8LNC9c.js → vue-ui-tiremarks-DiQJu8Em.js} +2 -2
  128. package/dist/{vue-ui-treemap-DfDRwoZc.js → vue-ui-treemap-wUZpijpr.js} +309 -297
  129. package/dist/vue-ui-waffle-6hO0flDT.js +1633 -0
  130. package/dist/{vue-ui-wheel-DDJIPE_z.js → vue-ui-wheel-DnyCE0CK.js} +2 -2
  131. package/dist/{vue-ui-word-cloud-DBOXRp-e.js → vue-ui-word-cloud-D_MZ3gCS.js} +385 -372
  132. package/dist/{vue-ui-world-CiIyp7WH.js → vue-ui-world-QNGY2WPz.js} +474 -462
  133. package/dist/{vue-ui-xy-s_IZ573M.js → vue-ui-xy-BD-ighya.js} +1 -1
  134. package/dist/{vue-ui-xy-AGYE0Vsz.js → vue-ui-xy-Ctcwn7Rk.js} +1447 -1432
  135. package/dist/{vue-ui-xy-canvas-MOMyUdJg.js → vue-ui-xy-canvas-DUeglcdP.js} +523 -511
  136. package/package.json +1 -1
  137. package/dist/vue-ui-flow-Dmnz4LCl.js +0 -1217
  138. package/dist/vue-ui-galaxy-Dw7TyOH0.js +0 -1085
  139. package/dist/vue-ui-history-plot-BKUg8Gz_.js +0 -1698
  140. package/dist/vue-ui-onion-DhedgEnV.js +0 -1235
  141. package/dist/vue-ui-sparkstackbar-DGQcpWK4.js +0 -738
  142. package/dist/vue-ui-stackbar-D0qmFn5Y.js +0 -2355
  143. package/dist/vue-ui-stackline-BBtEVl9V.js +0 -2469
  144. package/dist/vue-ui-strip-plot-CkU-nCt4.js +0 -1740
  145. package/dist/vue-ui-waffle-D6_cGi1-.js +0 -1621
@@ -1,1621 +0,0 @@
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, S as o, Ut as s, Wt as ee, X as c, Yt as te, Zt as ne, ht as re, i as ie, lt as ae, n as oe, nt as se, q as ce, r as le, t as ue, w as de } from "./lib-Dql7cqyA.js";
3
- import { n as fe, t as pe } from "./useHints-Dq_w2E8B.js";
4
- import { t as me } from "./useConfig-D32D002m.js";
5
- import { t as he } from "./usePrinter-DISD7q5m.js";
6
- import { n as ge, t as _e } from "./BaseScanner-DZvpgOjM.js";
7
- import { t as ve } from "./useNestedProp-Chvyfpl-.js";
8
- import { t as ye } from "./useThemeCheck-C43Tcqmk.js";
9
- import { t as be } from "./useChartExport-iwOqiIWX.js";
10
- import { t as xe } from "./useTransitions-g_zBREk2.js";
11
- import { t as Se } from "./img-DhGApYG0.js";
12
- import { n as Ce } from "./Title-CPHi-evi.js";
13
- import { t as we } from "./Shape-CIqU-p2F.js";
14
- import { t as Te } from "./_plugin-vue_export-helper-B3ysoDQm.js";
15
- import { l as Ee, t as De } from "./useResponsive-ZtArZtUf.js";
16
- import { t as Oe } from "./DefGrad-DVBqDjhO.js";
17
- import { t as ke } from "./BaseLegendToggle-CXQrLjd-.js";
18
- import { t as Ae } from "./A11yDataTable-DdRsVULz.js";
19
- import { t as je } from "./useUserOptionState-DK-_1ddE.js";
20
- import { t as Me } from "./useChartAccessibility-DYqac8yF.js";
21
- import { t as Ne } from "./labelUtils-BXX2NzRe.js";
22
- import { t as Pe } from "./Legend-X4kF4PvW.js";
23
- import { t as Fe } from "./usePrefersMotion-BC-CsqR1.js";
24
- import { t as Ie } from "./vue_ui_waffle-DE_DiSVP.js";
25
- import { Fragment as l, Teleport as Le, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createSlots as Re, createTextVNode as ze, createVNode as Be, defineAsyncComponent as h, guardReactiveProps as g, mergeProps as Ve, nextTick as He, normalizeClass as _, normalizeProps as v, normalizeStyle as y, onBeforeUnmount as Ue, onMounted as We, openBlock as b, ref as x, renderList as S, renderSlot as C, resolveDynamicComponent as Ge, shallowRef as Ke, toDisplayString as qe, toRefs as Je, unref as w, useSlots as Ye, watch as Xe, withCtx as T } from "vue";
26
- //#region src/components/vue-ui-waffle.vue
27
- var Ze = /* @__PURE__ */ e({ default: () => Tt }), Qe = ["id"], $e = ["id"], et = ["id"], tt = { style: { position: "relative" } }, nt = [
28
- "xmlns",
29
- "aria-describedby",
30
- "viewBox"
31
- ], rt = ["id"], it = [
32
- "x",
33
- "y",
34
- "height",
35
- "width"
36
- ], at = ["height", "width"], ot = { key: 0 }, st = [
37
- "d",
38
- "stroke",
39
- "stroke-width",
40
- "filter"
41
- ], ct = [
42
- "d",
43
- "fill",
44
- "stroke",
45
- "stroke-width",
46
- "filter"
47
- ], lt = { key: 0 }, ut = [
48
- "d",
49
- "fill",
50
- "filter"
51
- ], dt = [
52
- "rx",
53
- "x",
54
- "y",
55
- "height",
56
- "width",
57
- "stroke",
58
- "stroke-width",
59
- "filter"
60
- ], ft = [
61
- "rx",
62
- "x",
63
- "y",
64
- "height",
65
- "width",
66
- "fill",
67
- "stroke",
68
- "stroke-width",
69
- "filter"
70
- ], pt = { key: 0 }, mt = [
71
- "rx",
72
- "x",
73
- "y",
74
- "height",
75
- "width",
76
- "fill",
77
- "filter"
78
- ], ht = [
79
- "points",
80
- "stroke",
81
- "stroke-width",
82
- "stroke-linejoin"
83
- ], gt = [
84
- "textContent",
85
- "x",
86
- "y",
87
- "font-size",
88
- "fill",
89
- "filter"
90
- ], _t = [
91
- "d",
92
- "onMouseover",
93
- "onMouseleave",
94
- "onClick"
95
- ], vt = [
96
- "x",
97
- "y",
98
- "height",
99
- "width",
100
- "onMouseover",
101
- "onMouseleave",
102
- "onClick"
103
- ], yt = {
104
- key: 0,
105
- style: {
106
- position: "absolute",
107
- top: "100%",
108
- left: "0",
109
- width: "100%"
110
- },
111
- "data-dom-to-png-ignore": "",
112
- "aria-hidden": "true"
113
- }, bt = {
114
- key: 5,
115
- class: "vue-data-ui-watermark"
116
- }, xt = ["id"], St = ["onClick"], Ct = { key: 0 }, wt = { key: 1 }, Tt = /*#__PURE__*/ Te({
117
- __name: "vue-ui-waffle",
118
- props: {
119
- config: {
120
- type: Object,
121
- default() {
122
- return {};
123
- }
124
- },
125
- dataset: {
126
- type: Array,
127
- default() {
128
- return [];
129
- }
130
- }
131
- },
132
- emits: ["selectLegend", "copyAlt"],
133
- setup(e, { expose: Te, emit: Ze }) {
134
- let Tt = h(() => import("./Tooltip-hhrkQ3Lk.js")), Et = h(() => import("./BaseIcon-D8R6_sKH.js").then((e) => e.n)), Dt = h(() => import("./DataTable-oiM9uWrQ.js")), Ot = h(() => import("./vue-ui-accordion-DmkL8A59.js").then((e) => e.n)), kt = h(() => import("./UserOptions-2x4VklMW.js").then((e) => e.n)), At = h(() => import("./PenAndPaper-KFzKlvbi.js").then((e) => e.t)), jt = h(() => import("./PackageVersion-ekRvV3aF.js").then((e) => e.t)), Mt = h(() => import("./BaseDraggableDialog-Gm4Q30j0.js").then((e) => e.n)), { vue_ui_waffle: Nt } = me(), { isThemeValid: Pt, warnInvalidTheme: Ft } = ye(), It = Fe(), E = e, Lt = Ye(), Rt = u({
135
- get() {
136
- return !!E.dataset && E.dataset.length;
137
- },
138
- set(e) {
139
- return e;
140
- }
141
- }), D = x(ce()), zt = x(!1), Bt = x(""), O = x(null), Vt = x(0), k = x(null), Ht = x(null), Ut = x(null), Wt = x(null), Gt = x(null), Kt = x(0), qt = x(0), Jt = x(0), Yt = x(!1), Xt = x(null), Zt = x(null), A = x(null), Qt = x({
142
- x: 0,
143
- y: 0
144
- }), $t = x("pointer"), en = x(!1), j = x(dn()), M = u(() => j.value.userOptions), N = u(() => j.value.style.chart.tooltip), P = u(() => j.value.style.chart.legend), F = u(() => j.value.style.chart.layout.rect), I = u(() => j.value.style.chart.layout.grid), L = u(() => j.value.style.chart.layout), R = u(() => j.value.style.chart), { transitionEnabled: z } = xe({
145
- config: () => j.value.transitions,
146
- dataset: () => E.dataset
147
- });
148
- fe({
149
- config: () => j.value,
150
- dataset: () => E.dataset,
151
- component: "VueUiWaffle",
152
- rules: [
153
- pe.singleSeries,
154
- pe.emptyArray,
155
- {
156
- test: (e) => e.length > 6,
157
- message: [
158
- "👀 The number of series is > 6. Consider:",
159
- "",
160
- "▶️ Grouping small values dynamically into a single \"Other\" series.",
161
- "",
162
- "▶️ Using filters to let users choose a maximum number of series to display.",
163
- "",
164
- "▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read."
165
- ]
166
- }
167
- ]
168
- });
169
- let tn = u(() => j.value.userOptions.useCursorPointer), nn = u(() => ne({
170
- defaultConfig: {
171
- useCustomCells: !1,
172
- userOptions: { show: !1 },
173
- table: { show: !1 },
174
- style: { chart: {
175
- backgroundColor: "#99999930",
176
- layout: {
177
- labels: { captions: { show: !1 } },
178
- rect: { stroke: "#999999" }
179
- },
180
- legend: {
181
- backgroundColor: "transparent",
182
- showValue: !1,
183
- showPercentage: !1
184
- }
185
- } }
186
- },
187
- userConfig: j.value.skeletonConfig ?? {}
188
- })), { loading: rn, FINAL_DATASET: an, manualLoading: on } = ge({
189
- ...Je(E),
190
- FINAL_CONFIG: j,
191
- prepareConfig: dn,
192
- callback: () => {
193
- Promise.resolve().then(async () => {
194
- G.value = En();
195
- });
196
- },
197
- skeletonDataset: E.config?.skeletonDataset ?? [
198
- {
199
- name: "",
200
- values: [1],
201
- color: "#AAAAAA"
202
- },
203
- {
204
- name: "",
205
- values: [1],
206
- color: "#BABABA"
207
- },
208
- {
209
- name: "",
210
- values: [1],
211
- color: "#CACACA"
212
- }
213
- ],
214
- skeletonConfig: ne({
215
- defaultConfig: j.value,
216
- userConfig: nn.value
217
- })
218
- }), { userOptionsVisible: sn, setUserOptionsVisibility: cn, keepUserOptionState: ln } = je({ config: j.value }), { svgRef: un } = Me({ config: R.value.title });
219
- function dn() {
220
- let e = ve({
221
- userConfig: E.config,
222
- defaultConfig: Nt
223
- }), t = e.theme;
224
- if (!t) return e;
225
- if (!Pt.value(e)) return Ft(e), e;
226
- let n = ve({
227
- userConfig: Ie[t] || E.config,
228
- defaultConfig: e
229
- }), r = ve({
230
- userConfig: E.config,
231
- defaultConfig: n
232
- });
233
- return {
234
- ...r,
235
- customPalette: r.customPalette.length ? r.customPalette : te[t] || i
236
- };
237
- }
238
- Xe(() => E.config, (e) => {
239
- rn.value || (j.value = dn()), sn.value = !j.value.userOptions.showOnChartHover, hn(), Kt.value += 1, qt.value += 1, Jt.value += 1, B.value.showTable = j.value.table.show, B.value.showTooltip = N.value.show;
240
- }, { deep: !0 });
241
- let fn = Ke(null), pn = Ke(null), mn = u(() => j.value.debug);
242
- function hn() {
243
- if (a(E.dataset) ? (se({
244
- componentName: "VueUiWaffle",
245
- type: "dataset",
246
- debug: mn.value
247
- }), Rt.value = !1, on.value = !0) : mn.value && E.dataset.forEach((e, t) => {
248
- re({
249
- datasetObject: e,
250
- requiredAttributes: ["name", "values"]
251
- }).forEach((e) => {
252
- se({
253
- componentName: "VueUiWaffle",
254
- type: "datasetSerieAttribute",
255
- property: e,
256
- index: t
257
- });
258
- });
259
- }), a(E.dataset) || (on.value = j.value.loading), j.value.responsive) {
260
- let e = Ee(() => {
261
- let { width: e, height: t } = De({
262
- chart: k.value,
263
- title: R.value.title.text ? Ht.value : null,
264
- legend: P.value.show ? Ut.value : null,
265
- source: Wt.value,
266
- noTitle: Gt.value
267
- });
268
- requestAnimationFrame(() => {
269
- V.value.width = e, V.value.height = t, H.value.width = e, H.value.height = t;
270
- });
271
- });
272
- fn.value && (pn.value && fn.value.unobserve(pn.value), fn.value.disconnect()), fn.value = new ResizeObserver(e), pn.value = k.value.parentNode, fn.value.observe(pn.value);
273
- }
274
- }
275
- We(() => {
276
- Yt.value = !0, hn();
277
- }), Ue(() => {
278
- fn.value && (pn.value && fn.value.unobserve(pn.value), fn.value.disconnect());
279
- });
280
- let { isPrinting: gn, isImaging: _n, generatePdf: vn, generateImage: yn } = he({
281
- elementId: `vue-ui-waffle_${D.value}`,
282
- fileName: R.value.title.text || "vue-ui-waffle",
283
- options: j.value.userOptions.print
284
- }), bn = u(() => j.value.userOptions.show && !R.value.title.text), xn = u(() => de(j.value.customPalette)), B = x({
285
- showTable: j.value.table.show,
286
- showTooltip: N.value.show
287
- });
288
- Xe(j, () => {
289
- B.value = {
290
- showTable: j.value.table.show,
291
- showTooltip: N.value.show
292
- };
293
- }, { immediate: !0 });
294
- let V = x({
295
- height: 512,
296
- width: 512
297
- }), H = x({
298
- top: 0,
299
- left: 0,
300
- height: 512,
301
- width: 512
302
- }), U = u(() => (H.value.width - I.value.size * I.value.spaceBetween) / I.value.size), W = u(() => (H.value.height - I.value.size * I.value.spaceBetween) / I.value.size), Sn = u(() => Math.max(1e-4, H.value.width / I.value.size)), Cn = u(() => Math.max(1e-4, H.value.height / I.value.size));
303
- function wn(e) {
304
- let t = I.value.size * I.value.size, n = e.reduce((e, t) => e + t, 0), r = e.map((e) => e / n * t), i = r.map(Math.floor), a = r.map((e) => e % 1), o = t - i.reduce((e, t) => e + t, 0);
305
- for (; o > 0;) {
306
- let e = a.indexOf(Math.max(...a));
307
- i[e] += 1, a[e] = 0, --o;
308
- }
309
- return i;
310
- }
311
- let Tn = x(!1);
312
- function En() {
313
- return Tn.value = an.value.flatMap((e) => e.values.reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0) === 0, an.value.map((e, t) => ({
314
- ...e,
315
- color: o(e.color) || xn.value[t] || i[t] || i[t % i.length],
316
- uid: `serie_${t}`,
317
- absoluteIndex: t
318
- }));
319
- }
320
- let Dn = u(() => En()), G = x(Dn.value);
321
- Xe(() => E.dataset, (e) => {
322
- Array.isArray(e) && e.length > 0 && (on.value = !1);
323
- }, { immediate: !0 }), Xe(() => E.dataset, (e) => {
324
- G.value = En();
325
- }, { deep: !0 });
326
- let On = u(() => wn(G.value.filter((e, t) => !Y.value.includes(e.uid)).map((e, t) => Tn.value ? 1 : (e.values || []).reduce((e, t) => e + t, 0)))), kn = u(() => wn(G.value.map((e, t) => Tn.value ? 1 : (e.values || []).reduce((e, t) => e + t)))), An = u(() => I.value.size ** 2), K = u(() => (mn.value && an.value.forEach((e, t) => {
327
- [null, void 0].includes(e.values) && se({
328
- componentName: "VueUiWaffle",
329
- type: "datasetSerieAttribute",
330
- property: "values (number[])",
331
- index: t
332
- });
333
- }), G.value.filter((e, t) => !Y.value.includes(e.uid)).map((e, t) => {
334
- let n = On.value[t];
335
- return {
336
- absoluteIndex: e.absoluteIndex,
337
- uid: e.uid,
338
- name: e.name,
339
- color: e.color,
340
- value: (e.values || []).reduce((e, t) => e + t, 0),
341
- absoluteValues: e.values || [],
342
- squareCount: n,
343
- proportion: n / An.value
344
- };
345
- }))), jn = u(() => G.value.map((e, t) => {
346
- let n = kn.value[t];
347
- return {
348
- absoluteIndex: e.absoluteIndex,
349
- uid: e.uid,
350
- name: e.name,
351
- color: e.color,
352
- value: (e.values || []).reduce((e, t) => e + t, 0),
353
- absoluteValues: e.values || [],
354
- squareCount: n,
355
- proportion: n / An.value
356
- };
357
- }));
358
- function Mn() {
359
- return jn.value.map((e) => ({
360
- name: e.name,
361
- color: e.color,
362
- value: e.value,
363
- squareCount: e.squareCount,
364
- proportion: e.proportion
365
- }));
366
- }
367
- let Nn = u(() => {
368
- let e = 0;
369
- return K.value.map((t, n) => {
370
- let r = e, i = r + t.squareCount, a = [];
371
- for (let e = Math.floor(r); e < Math.floor(i); e += 1) a.push(e);
372
- return e = i, {
373
- ...t,
374
- start: r,
375
- rects: a
376
- };
377
- });
378
- }), q = u(() => Nn.value.flatMap((e, t) => e.rects.map((n, r) => ({
379
- isFirst: r === 0,
380
- isLongEnough: n.length > 2,
381
- name: e.name,
382
- color: e.color,
383
- value: e.value,
384
- serieIndex: t,
385
- absoluteStartIndex: r < 3,
386
- serieId: e.uid,
387
- ...e
388
- }))).map((e, t) => ({
389
- ...e,
390
- isAbsoluteFirst: t % I.value.size === 0
391
- }))), J = u(() => {
392
- let e = [];
393
- for (let t = 0; t < I.value.size; t += 1) for (let n = 0; n < I.value.size; n += 1) e.push({
394
- isStartOfLine: n === 0,
395
- position: I.value.vertical ? t : n,
396
- x: (I.value.vertical ? t : n) * (U.value + I.value.spaceBetween),
397
- y: (I.value.vertical ? n : t) * (W.value + I.value.spaceBetween) + H.value.top
398
- });
399
- return e;
400
- }), Y = x([]), Pn = x(!1), Fn = x(Object.create(null)), In = x(Object.create(null)), X = x(0);
401
- function Ln(e, t) {
402
- G.value = G.value.map((n) => n.uid === e ? {
403
- ...n,
404
- values: [t]
405
- } : n);
406
- }
407
- function Rn(e, t) {
408
- let n = t.find((t) => t.uid === e);
409
- return n ? (n.values || []).reduce((e, t) => e + t, 0) : 0;
410
- }
411
- function zn(e) {
412
- let t = !1;
413
- Fn.value[e] && (cancelAnimationFrame(Fn.value[e]), delete Fn.value[e], t = !0), In.value[e] && (cancelAnimationFrame(In.value[e]), delete In.value[e], t = !0), t && (X.value = Math.max(0, X.value - 1), Pn.value = X.value > 0);
414
- }
415
- function Bn({ seriesId: e, fromValue: t, toValue: n, mode: r }) {
416
- zn(e), X.value += 1, Pn.value = !0;
417
- let i = t;
418
- return new Promise((a) => {
419
- function o() {
420
- if (r === "increase") {
421
- if (i >= n) {
422
- Ln(e, n), --X.value, X.value <= 0 && (Pn.value = !1), delete Fn.value[e], a();
423
- return;
424
- }
425
- i += n * .025, i > n && (i = n), Ln(e, i), Fn.value[e] = requestAnimationFrame(o);
426
- } else {
427
- if (i <= t / 100) {
428
- Ln(e, 0), --X.value, X.value <= 0 && (Pn.value = !1), delete In.value[e], a();
429
- return;
430
- }
431
- i /= 1.15, Ln(e, i), In.value[e] = requestAnimationFrame(o);
432
- }
433
- }
434
- o();
435
- });
436
- }
437
- function Vn() {
438
- G.value = Dn.value;
439
- let e = Y.value.length > 0;
440
- if (!j.value.useAnimation) {
441
- e ? Y.value = [] : Y.value = qn.value.map((e) => e.uid);
442
- return;
443
- }
444
- e ? [...Y.value].forEach((e) => {
445
- Hn(e, !0);
446
- }) : qn.value.map((e) => e.uid).forEach((e) => {
447
- Hn(e, !0);
448
- });
449
- }
450
- function Hn(e, t = !1) {
451
- if (Tn.value && !t) return;
452
- let n = t || Y.value.length < qn.value.length - 1 && qn.value.length > 1;
453
- if (!j.value.useAnimation) {
454
- Y.value.includes(e) ? Y.value = Y.value.filter((t) => t !== e) : n && Y.value.push(e);
455
- return;
456
- }
457
- let r = Rn(e, Dn.value), i = Rn(e, G.value);
458
- if (i !== 0 || r !== 0) {
459
- if (Y.value.includes(e)) {
460
- if (Y.value = Y.value.filter((t) => t !== e), It.value) {
461
- zn(e), Ln(e, r), nr("selectLegend", K.value.map((e) => ({
462
- name: e.name,
463
- color: e.color,
464
- value: e.value,
465
- proportion: e.proportion
466
- })));
467
- return;
468
- }
469
- Bn({
470
- seriesId: e,
471
- fromValue: i,
472
- toValue: r,
473
- mode: "increase"
474
- }).then(() => {
475
- nr("selectLegend", K.value.map((e) => ({
476
- name: e.name,
477
- color: e.color,
478
- value: e.value,
479
- proportion: e.proportion
480
- })));
481
- });
482
- return;
483
- }
484
- if (n) {
485
- if (It.value) {
486
- zn(e), Y.value.includes(e) || Y.value.push(e), Ln(e, 0), nr("selectLegend", K.value.map((e) => ({
487
- name: e.name,
488
- color: e.color,
489
- value: e.value,
490
- proportion: e.proportion
491
- })));
492
- return;
493
- }
494
- Bn({
495
- seriesId: e,
496
- fromValue: i,
497
- toValue: 0,
498
- mode: "decrease"
499
- }).then(() => {
500
- Y.value.includes(e) || Y.value.push(e), Ln(e, 0), nr("selectLegend", K.value.map((e) => ({
501
- name: e.name,
502
- color: e.color,
503
- value: e.value,
504
- proportion: e.proportion
505
- })));
506
- });
507
- }
508
- }
509
- }
510
- function Un(e) {
511
- return jn.value.length ? jn.value.find((t) => t.name === e) || (mn.value && console.warn(`VueUiWaffle - Series name not found "${e}"`), null) : (mn.value && console.warn("VueUiWaffle - There are no series to show."), null);
512
- }
513
- function Wn(e) {
514
- let t = Un(e);
515
- t !== null && Y.value.includes(t.uid) && Hn(t.uid);
516
- }
517
- function Gn(e) {
518
- let t = Un(e);
519
- t !== null && (Y.value.includes(t.uid) || Hn(t.uid));
520
- }
521
- function Kn({ val: e, percentage: t, showVal: n, showPercentage: r, config: i }) {
522
- return Ne({
523
- config: i,
524
- val: e,
525
- percentage: t,
526
- showVal: n,
527
- showPercentage: r
528
- });
529
- }
530
- let qn = u(() => G.value.map((e, t) => {
531
- let n = (e.values || []).reduce((e, t) => e + t, 0), r = n / G.value.map((e) => (e.values || []).reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0);
532
- return {
533
- name: e.name,
534
- color: e.color || xn[t] || i[t] || i[t % i.length],
535
- value: n,
536
- proportion: r,
537
- uid: e.uid,
538
- shape: "square"
539
- };
540
- }).map((e, t) => {
541
- let n = Kn({
542
- val: ie(L.value.labels.dataLabels.formatter, e.value, c({
543
- p: L.value.labels.dataLabels.prefix,
544
- v: e.value,
545
- s: L.value.labels.dataLabels.suffix,
546
- r: P.value.roundingValue
547
- }), {
548
- datapoint: e,
549
- index: t
550
- }),
551
- percentage: isNaN(e.value / Z.value) ? "-" : c({
552
- v: e.value / Z.value * 100,
553
- s: "%",
554
- r: P.value.roundingPercentage
555
- }),
556
- showVal: P.value.showValue,
557
- showPercentage: P.value.showPercentage,
558
- config: P.value
559
- });
560
- return {
561
- ...e,
562
- opacity: Y.value.includes(e.uid) ? .5 : 1,
563
- segregate: () => Hn(e.uid),
564
- isSegregated: Y.value.includes(e.uid),
565
- display: `${e.name}${P.value.showPercentage || P.value.showValue ? ": " : ""}${n}`
566
- };
567
- })), Jn = u(() => ({
568
- cy: "waffle-div-legend",
569
- backgroundColor: P.value.backgroundColor,
570
- color: P.value.color,
571
- fontSize: P.value.fontSize,
572
- paddingBottom: 12,
573
- fontWeight: P.value.bold ? "bold" : ""
574
- })), Z = u(() => K.value.map((e) => e.value).reduce((e, t) => e + t, 0)), Yn = x(null), Xn = x(null), Q = u(() => {
575
- let e = /* @__PURE__ */ new Map();
576
- return q.value.forEach((t, n) => {
577
- e.has(t.serieIndex) ? e.get(t.serieIndex).rectIndexes.push(n) : e.set(t.serieIndex, {
578
- serieIndex: t.serieIndex,
579
- absoluteIndex: t.absoluteIndex,
580
- serieId: t.serieId,
581
- name: t.name,
582
- color: t.color,
583
- value: t.value,
584
- proportion: t.proportion,
585
- rectIndexes: [n]
586
- });
587
- }), Array.from(e.values()).sort((e, t) => e.serieIndex - t.serieIndex);
588
- });
589
- function Zn(e) {
590
- return Q.value.find((t) => t.serieIndex === e) || null;
591
- }
592
- function Qn(e) {
593
- let t = Zn(e);
594
- return !t || !t.rectIndexes.length ? null : t.rectIndexes[0];
595
- }
596
- function $n(e) {
597
- let t = q.value[e];
598
- j.value.events.datapointClick && j.value.events.datapointClick({
599
- datapoint: t,
600
- seriesIndex: t.serieIndex
601
- });
602
- }
603
- function er(e) {
604
- let t = q.value[e];
605
- j.value.events.datapointLeave && j.value.events.datapointLeave({
606
- datapoint: t,
607
- seriesIndex: t.serieIndex
608
- }), Xn.value = null, zt.value = !1, O.value = null, A.value = null, $t.value = "pointer";
609
- }
610
- function tr(e, t = "pointer") {
611
- if (Y.value.length === E.dataset.length) return;
612
- let r = q.value[e];
613
- if (!r) return;
614
- $t.value = t, A.value = r.serieIndex, Yn.value = {
615
- datapoint: r,
616
- seriesIndex: r.absoluteIndex,
617
- series: G.value,
618
- config: j.value
619
- }, j.value.events.datapointEnter && Xn.value !== r.serieIndex && j.value.events.datapointEnter({
620
- datapoint: r,
621
- seriesIndex: r.serieIndex
622
- }), Xn.value = r.serieIndex, zt.value = !0, O.value = r.serieIndex;
623
- let i = N.value.customFormat;
624
- if (n(i) && ae(() => i({
625
- seriesIndex: r.absoluteIndex,
626
- datapoint: r,
627
- series: G.value,
628
- config: j.value
629
- }))) Bt.value = i({
630
- seriesIndex: r.absoluteIndex,
631
- datapoint: r,
632
- series: G.value,
633
- config: j.value
634
- });
635
- else {
636
- let e = "";
637
- e += `<div style="width:100%;text-align:center;border-bottom:1px solid ${N.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${r.name}</div>`, e += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><rect x="0" y="0" height="60" width="60" stroke="none" rx="1" fill="${r.color}" />${Lt.pattern ? `<rect x="0" y="0" height="60" width="60" stroke="none" rx="1" stroke="none" fill="url(#pattern_${D.value}_${r.absoluteIndex})"/>` : ""}</svg>`, e += `<b>${Kn({
638
- config: N.value,
639
- showVal: N.value.showValue,
640
- showPercentage: N.value.showPercentage,
641
- val: `<span>${ie(L.value.labels.dataLabels.formatter, r.value, c({
642
- p: L.value.labels.dataLabels.prefix,
643
- v: r.value,
644
- s: L.value.labels.dataLabels.suffix,
645
- r: N.value.roundingValue
646
- }), {
647
- datapoint: r,
648
- seriesIndex: r.absoluteIndex,
649
- series: G.value
650
- })}</span>`,
651
- percentage: `<span>${c({
652
- v: Tn.value ? 1 / an.value.length * 100 : r.value / Z.value * 100,
653
- s: "%",
654
- r: N.value.roundingPercentage
655
- })}</span>`
656
- })}</b></div>`, Bt.value = e;
657
- }
658
- }
659
- let nr = Ze, $ = u(() => ({
660
- head: K.value.map((e) => ({
661
- name: e.name,
662
- color: e.color
663
- })),
664
- body: K.value.map((e) => e.value)
665
- }));
666
- function rr(e) {
667
- return j.value.useBlurOnHover && ![null, void 0].includes(O.value) && O.value !== e ? `url(#blur_${D.value})` : "";
668
- }
669
- function ir(e) {
670
- return [null, void 0].includes(O.value) || O.value === e ? { opacity: 1 } : { opacity: F.value.selection.unselectedOpacity };
671
- }
672
- function ar(e) {
673
- return e.length <= 3 ? e : e.filter((t, n) => {
674
- let r = e[(n - 1 + e.length) % e.length], i = e[(n + 1) % e.length], a = r.x === t.x && t.x === i.x, o = r.y === t.y && t.y === i.y;
675
- return !a && !o;
676
- });
677
- }
678
- function or(e) {
679
- if (!e.length) return [];
680
- let t = new Set(e.map(({ row: e, col: t }) => `${e}:${t}`)), n = [], r = /* @__PURE__ */ new Set(), i = [
681
- [-1, 0],
682
- [0, 1],
683
- [1, 0],
684
- [0, -1]
685
- ];
686
- e.forEach((e) => {
687
- let a = `${e.row}:${e.col}`;
688
- if (r.has(a)) return;
689
- let o = [], s = [e];
690
- for (r.add(a); s.length;) {
691
- let e = s.shift();
692
- o.push(e), i.forEach(([n, i]) => {
693
- let a = e.row + n, o = e.col + i, ee = `${a}:${o}`;
694
- !t.has(ee) || r.has(ee) || (r.add(ee), s.push({
695
- row: a,
696
- col: o
697
- }));
698
- });
699
- }
700
- n.push(o);
701
- });
702
- let a = [];
703
- return n.forEach((e) => {
704
- let t = new Set(e.map(({ row: e, col: t }) => `${e}:${t}`)), n = [];
705
- e.forEach(({ row: e, col: r }) => {
706
- t.has(`${e - 1}:${r}`) || n.push({
707
- start: {
708
- x: r,
709
- y: e
710
- },
711
- end: {
712
- x: r + 1,
713
- y: e
714
- }
715
- }), t.has(`${e}:${r + 1}`) || n.push({
716
- start: {
717
- x: r + 1,
718
- y: e
719
- },
720
- end: {
721
- x: r + 1,
722
- y: e + 1
723
- }
724
- }), t.has(`${e + 1}:${r}`) || n.push({
725
- start: {
726
- x: r + 1,
727
- y: e + 1
728
- },
729
- end: {
730
- x: r,
731
- y: e + 1
732
- }
733
- }), t.has(`${e}:${r - 1}`) || n.push({
734
- start: {
735
- x: r,
736
- y: e + 1
737
- },
738
- end: {
739
- x: r,
740
- y: e
741
- }
742
- });
743
- });
744
- let r = /* @__PURE__ */ new Map(), i = (e) => `${e.start.x}:${e.start.y}>${e.end.x}:${e.end.y}`, o = (e) => `${e.x}:${e.y}`, s = new Set(n.map(i));
745
- for (n.forEach((e) => {
746
- let t = o(e.start);
747
- r.has(t) || r.set(t, []), r.get(t).push(e);
748
- }); s.size;) {
749
- let e = s.values().next().value, t = n.find((t) => i(t) === e), ee = t.start, c = [ee], te = t;
750
- for (; te;) {
751
- s.delete(i(te));
752
- let e = te.end;
753
- if (o(e) === o(ee)) break;
754
- c.push(e), te = (r.get(o(e)) || []).find((e) => s.has(i(e)));
755
- }
756
- c.length >= 4 && a.push(ar(c));
757
- }
758
- }), a;
759
- }
760
- function sr(e) {
761
- let t = I.value.size, n = I.value.vertical, r = [];
762
- return q.value.forEach((i, a) => {
763
- if (i.serieIndex !== e) return;
764
- let o = Math.floor(a / t), s = a % t;
765
- r.push({
766
- row: n ? s : o,
767
- col: n ? o : s
768
- });
769
- }), r;
770
- }
771
- function cr(e) {
772
- let t = Sn.value, n = Cn.value;
773
- return or(sr(e)).map((e) => e.map(({ x: e, y: r }) => ({
774
- x: e * t,
775
- y: H.value.top + r * n
776
- })));
777
- }
778
- function lr(e) {
779
- return e.map(({ x: e, y: t }) => `${e},${t}`).join(" ");
780
- }
781
- function ur(e) {
782
- return e.map((e) => {
783
- if (!e.length) return "";
784
- let [t, ...n] = e, r = n.map(({ x: e, y: t }) => `L ${e} ${t}`).join(" ");
785
- return `M ${t.x} ${t.y} ${r} Z`;
786
- }).filter(Boolean).join(" ");
787
- }
788
- let dr = u(() => !F.value.selection?.wrap?.show || [null, void 0].includes(O.value) ? [] : cr(O.value).map(lr)), fr = u(() => {
789
- if (!F.value.merged) return [];
790
- let e = /* @__PURE__ */ new Map();
791
- return q.value.forEach((t, n) => {
792
- e.has(t.serieIndex) || e.set(t.serieIndex, {
793
- serieIndex: t.serieIndex,
794
- absoluteIndex: t.absoluteIndex,
795
- color: t.color,
796
- gradientIndex: n,
797
- rectIndex: n
798
- });
799
- }), Array.from(e.values()).map((e) => ({
800
- ...e,
801
- d: ur(cr(e.serieIndex))
802
- })).filter((e) => e.d);
803
- });
804
- function pr(e, t) {
805
- return L.value.labels.captions.show ? q.value.length && !Pn.value && !I.value.vertical && (q.value[e].isFirst && t.position < I.value.size - 2 || q.value[e].isAbsoluteFirst && e % I.value.size === 0 && q.value[e].absoluteStartIndex) : !1;
806
- }
807
- function mr(e, t = null) {
808
- let n = ie(L.value.labels.dataLabels.formatter, q.value[e].value, c({
809
- p: L.value.labels.dataLabels.prefix,
810
- v: q.value[e].value,
811
- s: L.value.labels.dataLabels.suffix,
812
- r: L.value.labels.captions.roundingValue
813
- }), {
814
- datapoint: q.value[e],
815
- position: t
816
- }), r = c({
817
- v: q.value[e].proportion * 100,
818
- s: "%",
819
- r: L.value.labels.captions.roundingPercentage
820
- }), i = (L.value.labels.captions.serieNameAbbreviation ? oe({
821
- source: q.value[e].name,
822
- length: L.value.labels.captions.serieNameMaxAbbreviationSize
823
- }) : q.value[e].name) + (L.value.labels.captions.showPercentage || L.value.labels.captions.showValue ? ":" : "");
824
- return `${L.value.labels.captions.showSerieName ? i : ""} ${Kn({
825
- val: n,
826
- percentage: r,
827
- showVal: L.value.labels.captions.showValue,
828
- showPercentage: L.value.labels.captions.showPercentage,
829
- config: L.value.labels.dataLabels
830
- })}`;
831
- }
832
- function hr(e = null) {
833
- He(() => {
834
- let n = $.value.head.map((e, t) => [
835
- [e.name],
836
- [$.value.body[t]],
837
- [isNaN($.value.body[t] / Z.value) ? "-" : $.value.body[t] / Z.value * 100]
838
- ]), i = [
839
- [R.value.title.text],
840
- [R.value.title.subtitle.text],
841
- [
842
- [""],
843
- ["val"],
844
- ["%"]
845
- ]
846
- ].concat(n), a = r(i);
847
- e ? e(a) : t({
848
- csvContent: a,
849
- title: R.value.title.text || "vue-ui-waffle"
850
- });
851
- });
852
- }
853
- let gr = u(() => ({
854
- head: [
855
- "__SUM__",
856
- ie(L.value.labels.dataLabels.formatter, Z.value, c({
857
- p: L.value.labels.dataLabels.prefix,
858
- v: Z.value,
859
- s: L.value.labels.dataLabels.suffix,
860
- r: j.value.table.td.roundingValue
861
- })),
862
- "100%"
863
- ],
864
- body: $.value.head.map((e, t) => [
865
- {
866
- color: e.color,
867
- name: e.name
868
- },
869
- ie(L.value.labels.dataLabels.formatter, $.value.body[t], c({
870
- p: L.value.labels.dataLabels.prefix,
871
- v: $.value.body[t],
872
- s: L.value.labels.dataLabels.suffix,
873
- r: j.value.table.td.roundingValue
874
- })),
875
- isNaN($.value.body[t] / Z.value) ? "-" : c({
876
- v: $.value.body[t] / Z.value * 100,
877
- s: "%",
878
- r: j.value.table.td.roundingPercentage
879
- })
880
- ]),
881
- config: {
882
- th: {
883
- backgroundColor: j.value.table.th.backgroundColor,
884
- color: j.value.table.th.color,
885
- outline: j.value.table.th.outline
886
- },
887
- td: {
888
- backgroundColor: j.value.table.td.backgroundColor,
889
- color: j.value.table.td.color,
890
- outline: j.value.table.td.outline
891
- },
892
- shape: "square",
893
- breakpoint: j.value.table.responsiveBreakpoint
894
- },
895
- colNames: [
896
- j.value.table.columnNames.series,
897
- j.value.table.columnNames.value,
898
- j.value.table.columnNames.percentage
899
- ]
900
- })), _r = x(!1);
901
- function vr(e) {
902
- _r.value = e, Vt.value += 1;
903
- }
904
- function yr() {
905
- B.value.showTable = !B.value.showTable;
906
- }
907
- function br() {
908
- B.value.showTooltip = !B.value.showTooltip;
909
- }
910
- let xr = x(!1);
911
- function Sr() {
912
- xr.value = !xr.value;
913
- }
914
- async function Cr({ scale: e = 2 } = {}) {
915
- if (!k.value) return;
916
- let { width: t, height: n } = k.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await Se({
917
- domElement: k.value,
918
- base64: !0,
919
- img: !0,
920
- scale: e
921
- });
922
- return {
923
- imageUri: i,
924
- base64: a,
925
- title: R.value.title.text,
926
- width: t,
927
- height: n,
928
- aspectRatio: r
929
- };
930
- }
931
- let wr = u(() => {
932
- let e = j.value.table.useDialog && !j.value.table.show, t = B.value.showTable;
933
- return {
934
- component: e ? Mt : Ot,
935
- title: `${R.value.title.text}${R.value.title.subtitle.text ? `: ${R.value.title.subtitle.text}` : ""}`,
936
- props: e ? {
937
- backgroundColor: j.value.table.th.backgroundColor,
938
- color: j.value.table.th.color,
939
- headerColor: j.value.table.th.color,
940
- headerBg: j.value.table.th.backgroundColor,
941
- isFullscreen: _r.value,
942
- fullscreenParent: k.value,
943
- forcedWidth: Math.min(500, window.innerWidth * .8),
944
- isCursorPointer: tn.value
945
- } : {
946
- hideDetails: !0,
947
- config: {
948
- open: t,
949
- maxHeight: 1e4,
950
- body: {
951
- backgroundColor: R.value.backgroundColor,
952
- color: R.value.color
953
- },
954
- head: {
955
- backgroundColor: R.value.backgroundColor,
956
- color: R.value.color
957
- }
958
- }
959
- }
960
- };
961
- });
962
- Xe(() => B.value.showTable, (e) => {
963
- j.value.table.show || (e && j.value.table.useDialog && Xt.value ? Xt.value.open() : "close" in Xt.value && Xt.value.close());
964
- });
965
- function Tr() {
966
- B.value.showTable = !1, Zt.value && Zt.value.setTableIconState(!1);
967
- }
968
- let Er = u(() => qn.value.map((e) => ({
969
- ...e,
970
- name: e.display
971
- }))), Dr = u(() => R.value.backgroundColor), Or = u(() => R.value.title), { isCallbackImaging: kr, isCallbackSvg: Ar, generateSvg: jr, onGenerateImage: Mr } = be({
972
- svg: un,
973
- title: Or,
974
- legend: P,
975
- legendItems: Er,
976
- backgroundColor: Dr,
977
- getSvgCallback: () => j.value.userOptions.callbacks.svg,
978
- generateImage: yn
979
- });
980
- async function Nr() {
981
- if (nr("copyAlt", {
982
- config: j.value,
983
- dataset: jn.value
984
- }), !j.value.userOptions.callbacks.altCopy) {
985
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
986
- return;
987
- }
988
- await Promise.resolve(j.value.userOptions.callbacks.altCopy({
989
- config: j.value,
990
- dataset: jn.value
991
- }));
992
- }
993
- function Pr() {
994
- A.value = null, en.value = !0;
995
- }
996
- function Fr() {
997
- A.value = null, $t.value = "pointer", zt.value = !1, O.value = null, Xn.value = null, en.value = !1;
998
- }
999
- function Ir(e) {
1000
- if (!un.value || xr.value || document.activeElement !== un.value || !Q.value.length || Y.value.length === E.dataset.length) return;
1001
- let t = ["ArrowLeft", "ArrowUp"].includes(e.key), n = ["ArrowRight", "ArrowDown"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
1002
- if (!t && !n && !r && !i) return;
1003
- if (e.preventDefault(), e.stopPropagation(), i) {
1004
- A.value = null, $t.value = "pointer", zt.value = !1, O.value = null, Xn.value = null;
1005
- return;
1006
- }
1007
- if (r) {
1008
- if (A.value === null) return;
1009
- let e = Qn(A.value);
1010
- if (e === null) return;
1011
- $n(e);
1012
- return;
1013
- }
1014
- let a = Q.value.findIndex((e) => e.serieIndex === A.value), o = null;
1015
- if (o = a === -1 ? n ? Q.value[0] : Q.value[Q.value.length - 1] : n ? Q.value[(a + 1) % Q.value.length] : Q.value[(a - 1 + Q.value.length) % Q.value.length], !o) return;
1016
- let s = Qn(o.serieIndex);
1017
- s !== null && (Lr(o.serieIndex), tr(s, "keyboard"));
1018
- }
1019
- function Lr(e) {
1020
- if (!Number.isFinite(e) || !un.value) return;
1021
- let t = Zn(e);
1022
- if (!t || !t.rectIndexes.length) return;
1023
- let n = t.rectIndexes.map((e) => {
1024
- let t = J.value[e];
1025
- return t ? {
1026
- x: t.x + I.value.spaceBetween / 2 + Sn.value / 2,
1027
- y: t.y + I.value.spaceBetween / 2 + Cn.value / 2
1028
- } : null;
1029
- }).filter(Boolean);
1030
- if (!n.length) return;
1031
- let r = Math.min(...n.map((e) => e.x)), i = Math.max(...n.map((e) => e.x)), a = Math.min(...n.map((e) => e.y)), o = Math.max(...n.map((e) => e.y)), s = (r + i) / 2, ee = (a + o) / 2, c = un.value.getBoundingClientRect();
1032
- Qt.value = {
1033
- x: c.left + s / V.value.width * c.width,
1034
- y: c.top + ee / V.value.height * c.height
1035
- };
1036
- }
1037
- let Rr = u(() => ({
1038
- headers: gr.value?.colNames ?? [],
1039
- rows: gr.value?.body ?? []
1040
- }));
1041
- return Te({
1042
- getData: Mn,
1043
- getImage: Cr,
1044
- generatePdf: vn,
1045
- generateCsv: hr,
1046
- generateImage: yn,
1047
- generateSvg: jr,
1048
- hideSeries: Gn,
1049
- showSeries: Wn,
1050
- toggleTable: yr,
1051
- toggleTooltip: br,
1052
- toggleAnnotator: Sr,
1053
- toggleFullscreen: vr,
1054
- copyAlt: Nr
1055
- }), (e, t) => (b(), p("div", {
1056
- class: _(`vue-data-ui-component vue-ui-waffle ${_r.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
1057
- ref_key: "waffleChart",
1058
- ref: k,
1059
- id: `vue-ui-waffle_${D.value}`,
1060
- style: y(`font-family:${j.value.style.fontFamily};width:100%; text-align:center;background:${R.value.backgroundColor};${j.value.responsive ? "height: 100%" : ""}`),
1061
- onMouseenter: t[2] ||= () => w(cn)(!0),
1062
- onMouseleave: t[3] ||= () => w(cn)(!1)
1063
- }, [
1064
- m("div", {
1065
- id: `chart-instructions-${D.value}`,
1066
- class: "sr-only"
1067
- }, [m("p", null, qe(j.value.a11y.translations.keyboardNavigation), 1)], 8, $e),
1068
- Rr.value?.rows?.length ? (b(), d(Ae, {
1069
- key: 0,
1070
- uid: D.value,
1071
- head: Rr.value.headers,
1072
- body: Rr.value.rows,
1073
- notice: j.value.a11y.translations.tableAvailable,
1074
- caption: j.value.a11y.translations.tableCaption
1075
- }, null, 8, [
1076
- "uid",
1077
- "head",
1078
- "body",
1079
- "notice",
1080
- "caption"
1081
- ])) : f("", !0),
1082
- M.value.buttons.annotator ? (b(), d(w(At), {
1083
- key: 1,
1084
- svgRef: w(un),
1085
- backgroundColor: R.value.backgroundColor,
1086
- color: R.value.color,
1087
- active: xr.value,
1088
- isCursorPointer: tn.value,
1089
- palette: M.value.annotatorPalette,
1090
- onClose: Sr
1091
- }, {
1092
- "annotator-action-close": T(() => [C(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1093
- "annotator-action-color": T(({ color: t }) => [C(e.$slots, "annotator-action-color", v(g({ color: t })), void 0, !0)]),
1094
- "annotator-action-draw": T(({ mode: t }) => [C(e.$slots, "annotator-action-draw", v(g({ mode: t })), void 0, !0)]),
1095
- "annotator-action-undo": T(({ disabled: t }) => [C(e.$slots, "annotator-action-undo", v(g({ disabled: t })), void 0, !0)]),
1096
- "annotator-action-redo": T(({ disabled: t }) => [C(e.$slots, "annotator-action-redo", v(g({ disabled: t })), void 0, !0)]),
1097
- "annotator-action-delete": T(({ disabled: t }) => [C(e.$slots, "annotator-action-delete", v(g({ disabled: t })), void 0, !0)]),
1098
- _: 3
1099
- }, 8, [
1100
- "svgRef",
1101
- "backgroundColor",
1102
- "color",
1103
- "active",
1104
- "isCursorPointer",
1105
- "palette"
1106
- ])) : f("", !0),
1107
- bn.value ? (b(), p("div", {
1108
- key: 2,
1109
- ref_key: "noTitle",
1110
- ref: Gt,
1111
- class: "vue-data-ui-no-title-space",
1112
- style: "height:36px; width: 100%;background:transparent"
1113
- }, null, 512)) : f("", !0),
1114
- R.value.title.text ? (b(), p("div", {
1115
- key: 3,
1116
- ref_key: "chartTitle",
1117
- ref: Ht,
1118
- style: "width:100%;background:transparent;padding-bottom:12px"
1119
- }, [(b(), d(Ce, {
1120
- key: `title_${Kt.value}`,
1121
- config: {
1122
- title: {
1123
- cy: "waffle-title",
1124
- ...R.value.title
1125
- },
1126
- subtitle: {
1127
- cy: "waffle-subtitle",
1128
- ...R.value.title.subtitle
1129
- }
1130
- }
1131
- }, null, 8, ["config"]))], 512)) : f("", !0),
1132
- m("div", { id: `legend-top-${D.value}` }, null, 8, et),
1133
- M.value.show && Rt.value && (w(ln) || w(sn)) ? (b(), d(w(kt), {
1134
- ref_key: "userOptionsRef",
1135
- ref: Zt,
1136
- key: `user_options_${Vt.value}`,
1137
- backgroundColor: R.value.backgroundColor,
1138
- color: R.value.color,
1139
- isPrinting: w(gn),
1140
- isImaging: w(_n),
1141
- uid: D.value,
1142
- hasTooltip: M.value.buttons.tooltip && N.value.show,
1143
- hasPdf: M.value.buttons.pdf,
1144
- hasImg: M.value.buttons.img,
1145
- hasSvg: M.value.buttons.svg,
1146
- hasXls: M.value.buttons.csv,
1147
- hasTable: M.value.buttons.table,
1148
- hasFullscreen: M.value.buttons.fullscreen,
1149
- hasAltCopy: M.value.buttons.altCopy,
1150
- isFullscreen: _r.value,
1151
- isTooltip: B.value.showTooltip,
1152
- titles: { ...M.value.buttonTitles },
1153
- chartElement: k.value,
1154
- position: M.value.position,
1155
- hasAnnotator: M.value.buttons.annotator,
1156
- isAnnotation: xr.value,
1157
- callbacks: M.value.callbacks,
1158
- printScale: M.value.print.scale,
1159
- tableDialog: j.value.table.useDialog,
1160
- isCursorPointer: tn.value,
1161
- onToggleFullscreen: vr,
1162
- onGeneratePdf: w(vn),
1163
- onGenerateCsv: hr,
1164
- onGenerateImage: w(Mr),
1165
- onGenerateSvg: w(jr),
1166
- onToggleTable: yr,
1167
- onToggleTooltip: br,
1168
- onToggleAnnotator: Sr,
1169
- onCopyAlt: Nr,
1170
- style: y({ visibility: w(ln) ? w(sn) ? "visible" : "hidden" : "visible" })
1171
- }, Re({ _: 2 }, [
1172
- e.$slots.menuIcon ? {
1173
- name: "menuIcon",
1174
- fn: T(({ isOpen: t, color: n }) => [C(e.$slots, "menuIcon", v(g({
1175
- isOpen: t,
1176
- color: n
1177
- })), void 0, !0)]),
1178
- key: "0"
1179
- } : void 0,
1180
- e.$slots.optionTooltip ? {
1181
- name: "optionTooltip",
1182
- fn: T(() => [C(e.$slots, "optionTooltip", {}, void 0, !0)]),
1183
- key: "1"
1184
- } : void 0,
1185
- e.$slots.optionPdf ? {
1186
- name: "optionPdf",
1187
- fn: T(() => [C(e.$slots, "optionPdf", {}, void 0, !0)]),
1188
- key: "2"
1189
- } : void 0,
1190
- e.$slots.optionCsv ? {
1191
- name: "optionCsv",
1192
- fn: T(() => [C(e.$slots, "optionCsv", {}, void 0, !0)]),
1193
- key: "3"
1194
- } : void 0,
1195
- e.$slots.optionImg ? {
1196
- name: "optionImg",
1197
- fn: T(() => [C(e.$slots, "optionImg", {}, void 0, !0)]),
1198
- key: "4"
1199
- } : void 0,
1200
- e.$slots.optionSvg ? {
1201
- name: "optionSvg",
1202
- fn: T(() => [C(e.$slots, "optionSvg", {}, void 0, !0)]),
1203
- key: "5"
1204
- } : void 0,
1205
- e.$slots.optionTable ? {
1206
- name: "optionTable",
1207
- fn: T(() => [C(e.$slots, "optionTable", {}, void 0, !0)]),
1208
- key: "6"
1209
- } : void 0,
1210
- e.$slots.optionFullscreen ? {
1211
- name: "optionFullscreen",
1212
- fn: T(({ toggleFullscreen: t, isFullscreen: n }) => [C(e.$slots, "optionFullscreen", v(g({
1213
- toggleFullscreen: t,
1214
- isFullscreen: n
1215
- })), void 0, !0)]),
1216
- key: "7"
1217
- } : void 0,
1218
- e.$slots.optionAnnotator ? {
1219
- name: "optionAnnotator",
1220
- fn: T(({ toggleAnnotator: t, isAnnotator: n }) => [C(e.$slots, "optionAnnotator", v(g({
1221
- toggleAnnotator: t,
1222
- isAnnotator: n
1223
- })), void 0, !0)]),
1224
- key: "8"
1225
- } : void 0,
1226
- e.$slots.optionAltCopy ? {
1227
- name: "optionAltCopy",
1228
- fn: T(({ altCopy: t }) => [C(e.$slots, "optionAltCopy", v(g({ altCopy: t })), void 0, !0)]),
1229
- key: "9"
1230
- } : void 0,
1231
- e.$slots["custom-menu-before"] ? {
1232
- name: "custom-menu-before",
1233
- fn: T(() => [C(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1234
- key: "10"
1235
- } : void 0,
1236
- e.$slots["custom-menu-after"] ? {
1237
- name: "custom-menu-after",
1238
- fn: T(() => [C(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1239
- key: "11"
1240
- } : void 0
1241
- ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : f("", !0),
1242
- m("div", tt, [(b(), p("svg", {
1243
- ref_key: "svgRef",
1244
- ref: un,
1245
- xmlns: w(ue),
1246
- "aria-describedby": `chart-instructions-${D.value}`,
1247
- class: _({
1248
- "vue-data-ui-fullscreen--on": _r.value,
1249
- "vue-data-ui-fulscreen--off": !_r.value,
1250
- "vue-data-ui-no-transition": !w(z)
1251
- }),
1252
- tabindex: "0",
1253
- viewBox: `0 0 ${V.value.width <= 0 ? 10 : V.value.width} ${V.value.height <= 0 ? 10 : V.value.height}`,
1254
- style: y(`max-width:100%;overflow:visible;background:transparent;color:${R.value.color}`),
1255
- onFocus: Pr,
1256
- onBlur: Fr,
1257
- onKeydown: Ir
1258
- }, [
1259
- Be(w(jt)),
1260
- m("defs", null, [(b(!0), p(l, null, S(q.value, (e, t) => (b(), d(Oe, {
1261
- t: "radial",
1262
- cx: "50%",
1263
- cy: "50%",
1264
- r: "50%",
1265
- fx: "50%",
1266
- fy: "50%",
1267
- id: `gradient_${D.value}_${t}`,
1268
- key: `gradient_${D.value}_${t}`,
1269
- stops: [[
1270
- "0%",
1271
- w(s)(w(ee)(e.color, .05), 100 - F.value.gradientIntensity),
1272
- 1
1273
- ], [
1274
- "100%",
1275
- e.color,
1276
- 1
1277
- ]]
1278
- }, null, 8, ["id", "stops"]))), 128))]),
1279
- m("defs", null, [m("filter", {
1280
- id: `blur_${D.value}`,
1281
- x: "-50%",
1282
- y: "-50%",
1283
- width: "200%",
1284
- height: "200%"
1285
- }, [...t[4] ||= [m("feGaussianBlur", {
1286
- in: "SourceGraphic",
1287
- stdDeviation: 2
1288
- }, null, -1), m("feColorMatrix", {
1289
- type: "saturate",
1290
- values: "0"
1291
- }, null, -1)]], 8, rt)]),
1292
- j.value.useCustomCells && q.value.length && e.$slots.cell ? (b(!0), p(l, { key: 0 }, S(J.value, (t, n) => (b(), p("foreignObject", {
1293
- x: t.x,
1294
- y: t.y,
1295
- height: W.value <= 0 ? 1e-4 : W.value,
1296
- width: U.value <= 0 ? 1e-4 : U.value,
1297
- class: "vue-ui-waffle-custom-cell-foreignObject"
1298
- }, [C(e.$slots, "cell", Ve({ ref_for: !0 }, {
1299
- cell: {
1300
- ...t,
1301
- color: q.value[n].color,
1302
- height: Math.max(0, W.value),
1303
- width: Math.max(0, U.value),
1304
- ...q.value[n]
1305
- },
1306
- isSelected: [null, void 0].includes(O.value) ? !0 : q.value[n].serieIndex === O.value
1307
- }), void 0, !0)], 8, it))), 256)) : f("", !0),
1308
- !q.value.length && !j.value.useCustomCells ? (b(), p("rect", {
1309
- key: 1,
1310
- x: 12,
1311
- y: 12,
1312
- height: H.value.height - 24,
1313
- width: H.value.width - 24,
1314
- rx: 3,
1315
- fill: "none",
1316
- stroke: "black"
1317
- }, null, 8, at)) : q.value.length && !j.value.useCustomCells ? (b(), p(l, { key: 2 }, [e.$slots.pattern ? (b(), p("g", ot, [(b(!0), p(l, null, S(Dn.value, (t) => (b(), p("defs", null, [C(e.$slots, "pattern", Ve({ ref_for: !0 }, {
1318
- seriesIndex: t.absoluteIndex,
1319
- patternId: `pattern_${D.value}_${t.absoluteIndex}`
1320
- }), void 0, !0)]))), 256))])) : f("", !0), F.value.merged ? (b(), p(l, { key: 1 }, [
1321
- (b(!0), p(l, null, S(fr.value, (e) => (b(), p("path", {
1322
- key: `merged-underlayer-${e.serieIndex}`,
1323
- d: e.d,
1324
- fill: "white",
1325
- "fill-rule": "evenodd",
1326
- stroke: F.value.stroke,
1327
- "stroke-width": F.value.strokeWidth,
1328
- "stroke-linejoin": "round",
1329
- filter: rr(e.serieIndex),
1330
- style: y(ir(e.serieIndex)),
1331
- class: _({ "vue-data-ui-transition": w(z) })
1332
- }, null, 14, st))), 128)),
1333
- (b(!0), p(l, null, S(fr.value, (e) => (b(), p("path", {
1334
- key: `merged-serie-${e.serieIndex}`,
1335
- d: e.d,
1336
- fill: F.value.useGradient && F.value.gradientIntensity > 0 ? `url(#gradient_${D.value}_${e.gradientIndex})` : e.color,
1337
- "fill-rule": "evenodd",
1338
- stroke: F.value.stroke,
1339
- "stroke-width": F.value.strokeWidth,
1340
- "stroke-linejoin": "round",
1341
- filter: rr(e.serieIndex),
1342
- style: y(ir(e.serieIndex)),
1343
- class: _({ "vue-data-ui-transition": w(z) })
1344
- }, null, 14, ct))), 128)),
1345
- e.$slots.pattern ? (b(), p("g", lt, [(b(!0), p(l, null, S(fr.value, (e) => (b(), p("path", {
1346
- key: `merged-pattern-${e.serieIndex}`,
1347
- d: e.d,
1348
- fill: `url(#pattern_${D.value}_${e.absoluteIndex})`,
1349
- "fill-rule": "evenodd",
1350
- stroke: "none",
1351
- filter: rr(e.serieIndex),
1352
- style: y(ir(e.serieIndex)),
1353
- class: _({ "vue-data-ui-transition": w(z) })
1354
- }, null, 14, ut))), 128))])) : f("", !0)
1355
- ], 64)) : (b(), p(l, { key: 2 }, [
1356
- (b(!0), p(l, null, S(J.value, (e, t) => (b(), p("rect", {
1357
- rx: F.value.rounded ? F.value.rounding : 0,
1358
- x: e.x + I.value.spaceBetween / 2,
1359
- y: e.y + I.value.spaceBetween / 2,
1360
- height: W.value <= 0 ? 1e-4 : W.value,
1361
- width: U.value <= 0 ? 1e-4 : U.value,
1362
- fill: "white",
1363
- stroke: F.value.stroke,
1364
- "stroke-width": F.value.strokeWidth,
1365
- filter: rr(q.value[t].serieIndex),
1366
- style: y(ir(q.value[t].serieIndex)),
1367
- class: _({ "vue-data-ui-transition": w(z) })
1368
- }, null, 14, dt))), 256)),
1369
- (b(!0), p(l, null, S(J.value, (e, t) => (b(), p("rect", {
1370
- rx: F.value.rounded ? F.value.rounding : 0,
1371
- x: e.x + I.value.spaceBetween / 2,
1372
- y: e.y + I.value.spaceBetween / 2,
1373
- height: W.value <= 0 ? 1e-4 : W.value,
1374
- width: U.value <= 0 ? 1e-4 : U.value,
1375
- fill: F.value.useGradient && F.value.gradientIntensity > 0 ? `url(#gradient_${D.value}_${t})` : q.value[t].color,
1376
- stroke: F.value.stroke,
1377
- "stroke-width": F.value.strokeWidth,
1378
- filter: rr(q.value[t].serieIndex),
1379
- style: y(ir(q.value[t].serieIndex)),
1380
- class: _({ "vue-data-ui-transition": w(z) })
1381
- }, null, 14, ft))), 256)),
1382
- e.$slots.pattern ? (b(), p("g", pt, [(b(!0), p(l, null, S(J.value, (e, t) => (b(), p("rect", {
1383
- rx: F.value.rounded ? F.value.rounding : 0,
1384
- x: e.x + I.value.spaceBetween / 2,
1385
- y: e.y + I.value.spaceBetween / 2,
1386
- height: W.value <= 0 ? 1e-4 : W.value,
1387
- width: U.value <= 0 ? 1e-4 : U.value,
1388
- fill: `url(#pattern_${D.value}_${q.value[t].absoluteIndex})`,
1389
- stroke: "none",
1390
- filter: rr(q.value[t].serieIndex),
1391
- style: y(ir(q.value[t].serieIndex)),
1392
- class: _({ "vue-data-ui-transition": w(z) })
1393
- }, null, 14, mt))), 256))])) : f("", !0)
1394
- ], 64))], 64)) : f("", !0),
1395
- e.$slots.cellSvg ? (b(!0), p(l, { key: 3 }, S(J.value, (t, n) => (b(), p("g", null, [C(e.$slots, "cellSvg", Ve({ ref_for: !0 }, {
1396
- cell: {
1397
- ...t,
1398
- color: q.value[n].color,
1399
- height: Math.max(0, W.value),
1400
- width: Math.max(0, U.value),
1401
- ...q.value[n]
1402
- },
1403
- isSelected: [null, void 0].includes(O.value) ? !0 : q.value[n].serieIndex === O.value
1404
- }), void 0, !0)]))), 256)) : f("", !0),
1405
- (b(!0), p(l, null, S(dr.value, (e, t) => (b(), p("polygon", {
1406
- key: `selected-series-wrap-${t}`,
1407
- points: e,
1408
- fill: "none",
1409
- stroke: F.value.selection.wrap.stroke,
1410
- "stroke-width": F.value.selection.wrap.strokeWidth,
1411
- "stroke-linejoin": F.value.selection.wrap.strokeLinejoin,
1412
- "pointer-events": "none"
1413
- }, null, 8, ht))), 128)),
1414
- (b(!0), p(l, null, S(J.value, (e, t) => (b(), p(l, null, [pr(t, e) ? (b(), p("text", {
1415
- key: `datalabel_${t}`,
1416
- textContent: qe(mr(t, e)),
1417
- x: e.x + L.value.labels.captions.offsetX + I.value.spaceBetween / 2 + 6,
1418
- y: e.y + L.value.labels.captions.offsetY + I.value.spaceBetween / 2 + Cn.value / 2 + L.value.labels.captions.fontSize / 3,
1419
- "font-size": L.value.labels.captions.fontSize,
1420
- fill: w(le)(q.value[t].color),
1421
- filter: rr(q.value[t].serieIndex),
1422
- class: _({ "vue-data-ui-transition": w(z) })
1423
- }, null, 10, gt)) : f("", !0)], 64))), 256)),
1424
- F.value.merged && !j.value.useCustomCells ? (b(!0), p(l, { key: 4 }, S(fr.value, (e) => (b(), p("path", {
1425
- key: `tooltip-trap-${e.serieIndex}`,
1426
- d: e.d,
1427
- fill: "transparent",
1428
- "fill-rule": "evenodd",
1429
- stroke: "none",
1430
- "pointer-events": "fill",
1431
- onMouseover: (t) => tr(e.rectIndex),
1432
- onMouseleave: (t) => er(e.rectIndex),
1433
- onClick: (t) => $n(e.rectIndex)
1434
- }, null, 40, _t))), 128)) : (b(!0), p(l, { key: 5 }, S(J.value, (e, t) => (b(), p("rect", {
1435
- key: `tooltip-trap-${t}`,
1436
- x: e.x + I.value.spaceBetween / 2,
1437
- y: e.y + I.value.spaceBetween / 2,
1438
- height: Cn.value,
1439
- width: Sn.value,
1440
- fill: "transparent",
1441
- stroke: "none",
1442
- onMouseover: (e) => tr(t),
1443
- onMouseleave: (e) => er(t),
1444
- onClick: (e) => $n(t)
1445
- }, null, 40, vt))), 128)),
1446
- C(e.$slots, "svg", { svg: {
1447
- ...V.value,
1448
- isPrintingImg: w(gn) || w(_n) || w(kr),
1449
- isPrintingSvg: w(Ar)
1450
- } }, void 0, !0)
1451
- ], 46, nt)), e.$slots.hint ? (b(), p("div", yt, [C(e.$slots, "hint", v(g({
1452
- hint: j.value.a11y.translations.keyboardNavigation,
1453
- isVisible: en.value
1454
- })), void 0, !0)])) : f("", !0)]),
1455
- e.$slots.watermark ? (b(), p("div", bt, [C(e.$slots, "watermark", v(g({ isPrinting: w(gn) || w(_n) || w(kr) || w(Ar) })), void 0, !0)])) : f("", !0),
1456
- m("div", { id: `legend-bottom-${D.value}` }, null, 8, xt),
1457
- Yt.value && (P.value.show || e.$slots.legend) ? (b(), d(Le, {
1458
- key: 6,
1459
- to: P.value.position === "top" ? `#legend-top-${D.value}` : `#legend-bottom-${D.value}`
1460
- }, [m("div", {
1461
- ref_key: "chartLegend",
1462
- ref: Ut
1463
- }, [C(e.$slots, "legend", { legend: qn.value }, () => [P.value.show ? (b(), d(Pe, {
1464
- key: `legend_${Jt.value}`,
1465
- legendSet: qn.value,
1466
- config: Jn.value,
1467
- isCursorPointer: tn.value,
1468
- onClickMarker: t[0] ||= ({ legend: e }) => Hn(e.uid)
1469
- }, Re({
1470
- item: T(({ legend: e }) => [m("div", {
1471
- onClick: (t) => e.segregate(),
1472
- style: y(`opacity:${Y.value.includes(e.uid) ? .5 : 1}`)
1473
- }, qe(e.display), 13, St)]),
1474
- legendToggle: T(() => [qn.value.length > 2 && P.value.selectAllToggle.show && !w(rn) ? (b(), d(ke, {
1475
- key: 0,
1476
- backgroundColor: P.value.selectAllToggle.backgroundColor,
1477
- color: P.value.selectAllToggle.color,
1478
- fontSize: P.value.fontSize,
1479
- checked: Y.value.length > 0,
1480
- isCursorPointer: tn.value,
1481
- onToggle: Vn
1482
- }, null, 8, [
1483
- "backgroundColor",
1484
- "color",
1485
- "fontSize",
1486
- "checked",
1487
- "isCursorPointer"
1488
- ])) : f("", !0)]),
1489
- _: 2
1490
- }, [e.$slots.pattern ? {
1491
- name: "legend-pattern",
1492
- fn: T(({ legend: e, index: t }) => [Be(we, {
1493
- shape: e.shape,
1494
- radius: 30,
1495
- stroke: "none",
1496
- plot: {
1497
- x: 30,
1498
- y: 30
1499
- },
1500
- fill: `url(#pattern_${D.value}_${t})`
1501
- }, null, 8, ["shape", "fill"])]),
1502
- key: "0"
1503
- } : void 0]), 1032, [
1504
- "legendSet",
1505
- "config",
1506
- "isCursorPointer"
1507
- ])) : f("", !0)], !0)], 512)], 8, ["to"])) : f("", !0),
1508
- e.$slots.source ? (b(), p("div", {
1509
- key: 7,
1510
- ref_key: "source",
1511
- ref: Wt,
1512
- dir: "auto"
1513
- }, [C(e.$slots, "source", {}, void 0, !0)], 512)) : f("", !0),
1514
- Be(w(Tt), {
1515
- teleportTo: N.value.teleportTo,
1516
- show: B.value.showTooltip && zt.value && Y.value.length < E.dataset.length,
1517
- backgroundColor: N.value.backgroundColor,
1518
- color: N.value.color,
1519
- borderRadius: N.value.borderRadius,
1520
- borderColor: N.value.borderColor,
1521
- borderWidth: N.value.borderWidth,
1522
- backgroundOpacity: N.value.backgroundOpacity,
1523
- position: N.value.position,
1524
- offsetX: N.value.offsetX,
1525
- offsetY: N.value.offsetY,
1526
- parent: k.value,
1527
- content: Bt.value,
1528
- isCustom: N.value.customFormat && typeof N.value.customFormat == "function",
1529
- fontSize: N.value.fontSize,
1530
- isFullscreen: _r.value,
1531
- smooth: N.value.smooth,
1532
- backdropFilter: N.value.backdropFilter,
1533
- smoothForce: N.value.smoothForce,
1534
- smoothSnapThreshold: N.value.smoothSnapThreshold,
1535
- isA11yMode: $t.value === "keyboard",
1536
- a11yPosition: Qt.value
1537
- }, {
1538
- "tooltip-before": T(() => [C(e.$slots, "tooltip-before", v(g({ ...Yn.value })), void 0, !0)]),
1539
- tooltip: T(() => [C(e.$slots, "tooltip", v(g({ ...Yn.value })), void 0, !0)]),
1540
- "tooltip-after": T(() => [C(e.$slots, "tooltip-after", v(g({ ...Yn.value })), void 0, !0)]),
1541
- _: 3
1542
- }, 8, [
1543
- "teleportTo",
1544
- "show",
1545
- "backgroundColor",
1546
- "color",
1547
- "borderRadius",
1548
- "borderColor",
1549
- "borderWidth",
1550
- "backgroundOpacity",
1551
- "position",
1552
- "offsetX",
1553
- "offsetY",
1554
- "parent",
1555
- "content",
1556
- "isCustom",
1557
- "fontSize",
1558
- "isFullscreen",
1559
- "smooth",
1560
- "backdropFilter",
1561
- "smoothForce",
1562
- "smoothSnapThreshold",
1563
- "isA11yMode",
1564
- "a11yPosition"
1565
- ]),
1566
- Rt.value && M.value.buttons.table ? (b(), d(Ge(wr.value.component), Ve({ key: 8 }, wr.value.props, {
1567
- ref_key: "tableUnit",
1568
- ref: Xt,
1569
- onClose: Tr
1570
- }), Re({
1571
- content: T(() => [(b(), d(w(Dt), {
1572
- key: `table_${qt.value}`,
1573
- colNames: gr.value.colNames,
1574
- head: gr.value.head,
1575
- body: gr.value.body,
1576
- config: gr.value.config,
1577
- title: j.value.table.useDialog ? "" : wr.value.title,
1578
- withCloseButton: !j.value.table.useDialog,
1579
- isCursorPointer: tn.value,
1580
- onClose: Tr
1581
- }, {
1582
- th: T(({ th: e }) => [e === "__SUM__" ? (b(), p("div", Ct, [Be(w(Et), {
1583
- name: "sigma",
1584
- stroke: gr.value.config.th.color,
1585
- size: 16
1586
- }, null, 8, ["stroke"])])) : (b(), p("div", wt, qe(e), 1))]),
1587
- td: T(({ td: e }) => [ze(qe(e.name || e), 1)]),
1588
- _: 1
1589
- }, 8, [
1590
- "colNames",
1591
- "head",
1592
- "body",
1593
- "config",
1594
- "title",
1595
- "withCloseButton",
1596
- "isCursorPointer"
1597
- ]))]),
1598
- _: 2
1599
- }, [j.value.table.useDialog ? {
1600
- name: "title",
1601
- fn: T(() => [ze(qe(wr.value.title), 1)]),
1602
- key: "0"
1603
- } : void 0, j.value.table.useDialog ? {
1604
- name: "actions",
1605
- fn: T(() => [m("button", {
1606
- tabindex: "0",
1607
- class: "vue-ui-user-options-button",
1608
- onClick: t[1] ||= (e) => hr(M.value.callbacks.csv),
1609
- style: y({ cursor: tn.value ? "pointer" : "default" })
1610
- }, [Be(w(Et), {
1611
- name: "fileCsv",
1612
- stroke: wr.value.props.color
1613
- }, null, 8, ["stroke"])], 4)]),
1614
- key: "1"
1615
- } : void 0]), 1040)) : f("", !0),
1616
- C(e.$slots, "skeleton", {}, () => [w(rn) ? (b(), d(_e, { key: 0 })) : f("", !0)], !0)
1617
- ], 46, Qe));
1618
- }
1619
- }, [["__scopeId", "data-v-0bd4069c"]]);
1620
- //#endregion
1621
- export { Ze as n, Tt as t };