vue-data-ui 3.15.12 → 3.16.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 (218) hide show
  1. package/README.md +132 -59
  2. package/dist/A11yDataTable-KcVAX2cP.js +54 -0
  3. package/dist/{Arrow-DlPyR6HQ.js → Arrow-Bn-9n3bm.js} +1 -1
  4. package/dist/{BaseDraggableDialog-DSpKTn3R.js → BaseDraggableDialog-CIb-iD9g.js} +2 -2
  5. package/dist/{BaseIcon-CNx8Tzl5.js → BaseIcon-Cb3zzG6s.js} +1 -1
  6. package/dist/{BaseLegendToggle-Y61xahI4.js → BaseLegendToggle-BQVIawmA.js} +1 -1
  7. package/dist/{BaseZoomControls-CoFievy9.js → BaseZoomControls-DievbOeJ.js} +2 -2
  8. package/dist/ColorPicker-B0mV4xzu.js +255 -0
  9. package/dist/{DataTable-Bo1pmAqG.js → DataTable-DT2kIdQ6.js} +2 -2
  10. package/dist/Legend-CS7Xo5LK.js +101 -0
  11. package/dist/{NonSvgPenAndPaper-CGk_xThe.js → NonSvgPenAndPaper-VyJFyJ6X.js} +3 -3
  12. package/dist/{PackageVersion-DN9d0ME5.js → PackageVersion-DPO-OOVI.js} +1 -1
  13. package/dist/{PenAndPaper-DWV1FMIi.js → PenAndPaper-Ct3qJ4lA.js} +109 -101
  14. package/dist/{Shape-CSyWYgXc.js → Shape-BKRUOeKk.js} +1 -1
  15. package/dist/{Slicer-DZJA9IG-.js → Slicer-DUycDH_N.js} +2 -2
  16. package/dist/{SlicerPreview-I2J0UUF_.js → SlicerPreview-DTjwV0iY.js} +2 -2
  17. package/dist/{SparkTooltip-BiseJed3.js → SparkTooltip-BorBpltj.js} +1 -1
  18. package/dist/{Title-BfyrP-jp.js → Title-BeMKE1cj.js} +1 -1
  19. package/dist/{Tooltip-DL3QgjZf.js → Tooltip-Bf-kM3_A.js} +86 -68
  20. package/dist/{UserOptions-CrLqEimB.js → UserOptions-rW2fRf3V.js} +228 -222
  21. package/dist/components/arrow.js +1 -1
  22. package/dist/components/vue-ui-3d-bar.js +1 -1
  23. package/dist/components/vue-ui-accordion.js +1 -1
  24. package/dist/components/vue-ui-age-pyramid.js +1 -1
  25. package/dist/components/vue-ui-annotator.js +1 -1
  26. package/dist/components/vue-ui-bullet.js +1 -1
  27. package/dist/components/vue-ui-bump.js +1 -1
  28. package/dist/components/vue-ui-candlestick.js +1 -1
  29. package/dist/components/vue-ui-carousel-table.js +1 -1
  30. package/dist/components/vue-ui-chestnut.js +1 -1
  31. package/dist/components/vue-ui-chord.js +1 -1
  32. package/dist/components/vue-ui-circle-pack.js +1 -1
  33. package/dist/components/vue-ui-cursor.js +1 -1
  34. package/dist/components/vue-ui-dag.js +1 -1
  35. package/dist/components/vue-ui-dashboard.js +1 -1
  36. package/dist/components/vue-ui-digits.js +1 -1
  37. package/dist/components/vue-ui-donut-evolution.js +1 -1
  38. package/dist/components/vue-ui-donut.js +1 -1
  39. package/dist/components/vue-ui-dumbbell.js +1 -1
  40. package/dist/components/vue-ui-flow.js +1 -1
  41. package/dist/components/vue-ui-funnel.js +1 -1
  42. package/dist/components/vue-ui-galaxy.js +1 -1
  43. package/dist/components/vue-ui-gauge.js +1 -1
  44. package/dist/components/vue-ui-geo.js +1 -1
  45. package/dist/components/vue-ui-gizmo.js +1 -1
  46. package/dist/components/vue-ui-heatmap.js +1 -1
  47. package/dist/components/vue-ui-history-plot.js +1 -1
  48. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  49. package/dist/components/vue-ui-icon.js +1 -1
  50. package/dist/components/vue-ui-kpi.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-BAqzNjb1.js → dom-to-png-CtxhhdWb.js} +1 -1
  91. package/dist/{exposedLib-H4lmBl1t.js → exposedLib-DlqmhBx3.js} +1 -1
  92. package/dist/{img-BYYzY_QU.js → img-LXxMLmCg.js} +1 -1
  93. package/dist/{labelUtils-CTXUc3V9.js → labelUtils-CqTHa20R.js} +1 -1
  94. package/dist/{lib-GwPnJSrY.js → lib-DBptbyyI.js} +106 -84
  95. package/dist/{pdf-z-YiJeJQ.js → pdf-B4tTdfvl.js} +1 -1
  96. package/dist/style.css +1 -1
  97. package/dist/types/vue-data-ui.d.ts +59 -0
  98. package/dist/{useAutoSizeLabelsInsideViewbox-80fzdfxt.js → useAutoSizeLabelsInsideViewbox-DX7LdvFX.js} +1 -1
  99. package/dist/{useConfig-CIgyKZ6R.js → useConfig-DO94Aj5s.js} +953 -700
  100. package/dist/{useNestedProp-BBT0mbHh.js → useNestedProp-Bf5XFbs8.js} +1 -1
  101. package/dist/{useObjectBindings-BlXBVtRa.js → useObjectBindings-DQ8g8Jwi.js} +1 -1
  102. package/dist/usePrefersMotion-CUKm8_t8.js +15 -0
  103. package/dist/{usePrinter-DiK5R6k-.js → usePrinter-CEpYU3r5.js} +2 -2
  104. package/dist/utils.js +3 -3
  105. package/dist/{vue-data-ui-C2kPofmi.js → vue-data-ui-DXGkXRnC.js} +68 -68
  106. package/dist/vue-data-ui.js +72 -72
  107. package/dist/vue-ui-3d-bar-BaFpQnd5.js +1597 -0
  108. package/dist/{vue-ui-accordion-BGHTqIBt.js → vue-ui-accordion-nvggWcGN.js} +4 -4
  109. package/dist/vue-ui-age-pyramid-CRM498Pc.js +1069 -0
  110. package/dist/{vue-ui-annotator-B1GWVtPp.js → vue-ui-annotator-CkPi9moo.js} +7 -7
  111. package/dist/{vue-ui-bullet-DPoGGtaG.js → vue-ui-bullet-BBiwof3c.js} +158 -150
  112. package/dist/vue-ui-bump-Brxpu4xV.js +1147 -0
  113. package/dist/vue-ui-candlestick-DAnZv77-.js +1587 -0
  114. package/dist/{vue-ui-carousel-table-CmiHTJ8E.js → vue-ui-carousel-table-BHRZBYY0.js} +168 -160
  115. package/dist/vue-ui-chestnut-CbrYnRgm.js +1812 -0
  116. package/dist/vue-ui-chord-CaX_IUVs.js +1326 -0
  117. package/dist/vue-ui-circle-pack-CR3h53sc.js +988 -0
  118. package/dist/{vue-ui-cursor-B4mHR7QC.js → vue-ui-cursor-Cjfazw7Z.js} +4 -4
  119. package/dist/vue-ui-dag-B9vH3c66.js +3047 -0
  120. package/dist/{vue-ui-dashboard-Bo5FX73U.js → vue-ui-dashboard-DWll05qs.js} +70 -70
  121. package/dist/{vue-ui-digits-mpo2IcM5.js → vue-ui-digits-DcM67rMx.js} +76 -66
  122. package/dist/vue-ui-donut-Be5G38P5.js +2229 -0
  123. package/dist/vue-ui-donut-evolution-BLSesj3c.js +1358 -0
  124. package/dist/vue-ui-dumbbell-DIMiCY4r.js +1380 -0
  125. package/dist/vue-ui-flow-zvZylhgr.js +1202 -0
  126. package/dist/{vue-ui-funnel-BRkaEkBb.js → vue-ui-funnel-CSri-oWm.js} +7 -7
  127. package/dist/vue-ui-galaxy-CGykxsAI.js +1012 -0
  128. package/dist/{vue-ui-gauge-J2VYHsQe.js → vue-ui-gauge-D1MNB9Jq.js} +8 -8
  129. package/dist/vue-ui-geo-DdJDGhG2.js +1437 -0
  130. package/dist/{vue-ui-gizmo-DEec3-v9.js → vue-ui-gizmo-BZYRHGFm.js} +77 -68
  131. package/dist/vue-ui-heatmap-CryOx6XK.js +1500 -0
  132. package/dist/vue-ui-history-plot-C85iw9Kl.js +1449 -0
  133. package/dist/vue-ui-horizontal-bar-BoBZOybC.js +1637 -0
  134. package/dist/vue-ui-kpi-DHrolXw6.js +109 -0
  135. package/dist/{vue-ui-mini-loader-CoOHvZUk.js → vue-ui-mini-loader-Bc3fEQ9j.js} +3 -3
  136. package/dist/{vue-ui-molecule-Chq1qWDK.js → vue-ui-molecule-DJ_BQ4DK.js} +6 -6
  137. package/dist/vue-ui-mood-radar-CBE02TpQ.js +1086 -0
  138. package/dist/vue-ui-nested-donuts-YTFtb4CL.js +1595 -0
  139. package/dist/vue-ui-onion-B9l81-PS.js +1124 -0
  140. package/dist/vue-ui-parallel-coordinate-plot-C1e_rs8J.js +1252 -0
  141. package/dist/vue-ui-quadrant-C1qsLCRn.js +1759 -0
  142. package/dist/vue-ui-quick-chart-DFoz3WiA.js +2216 -0
  143. package/dist/vue-ui-radar-Cmo3p-UA.js +1139 -0
  144. package/dist/{vue-ui-rating-zV58MDQh.js → vue-ui-rating-BAHhYt_A.js} +3 -3
  145. package/dist/vue-ui-relation-circle-BqwznVwf.js +782 -0
  146. package/dist/vue-ui-ridgeline-CDk9eXJq.js +1473 -0
  147. package/dist/vue-ui-rings-BRkGoQdL.js +1156 -0
  148. package/dist/vue-ui-scatter-BxDtWASQ.js +1831 -0
  149. package/dist/{vue-ui-skeleton-CbqNz9IE.js → vue-ui-skeleton-D6kTb9aO.js} +4 -4
  150. package/dist/{vue-ui-smiley-BK5EKp9u.js → vue-ui-smiley-CzVaLlpB.js} +3 -3
  151. package/dist/vue-ui-spark-trend-D8Mf2A1w.js +378 -0
  152. package/dist/{vue-ui-sparkbar-DUDWvTo-.js → vue-ui-sparkbar-BbYj56c3.js} +86 -84
  153. package/dist/vue-ui-sparkgauge-DXzOSLRb.js +256 -0
  154. package/dist/vue-ui-sparkhistogram-DMfSx1iH.js +474 -0
  155. package/dist/vue-ui-sparkline-D-rQ9PsC.js +1327 -0
  156. package/dist/vue-ui-sparkstackbar-DK5n8IKP.js +621 -0
  157. package/dist/vue-ui-stackbar-BHthy6jf.js +2070 -0
  158. package/dist/vue-ui-stackline-C6-WNpKD.js +2164 -0
  159. package/dist/vue-ui-strip-plot-CHu-1ilI.js +1183 -0
  160. package/dist/{vue-ui-table-BHuXI4Eq.js → vue-ui-table-DW9JGsLq.js} +6 -6
  161. package/dist/{vue-ui-table-heatmap-y88sBfu3.js → vue-ui-table-heatmap-LYqoBit9.js} +6 -6
  162. package/dist/{vue-ui-table-sparkline-ClpLLKi2.js → vue-ui-table-sparkline-CXK1dFr-.js} +5 -5
  163. package/dist/{vue-ui-thermometer-sjruUGQx.js → vue-ui-thermometer-BN8tflOz.js} +272 -256
  164. package/dist/{vue-ui-timer-CgdgMKIc.js → vue-ui-timer-DGT0UBOF.js} +6 -6
  165. package/dist/{vue-ui-tiremarks-UBDpAIVr.js → vue-ui-tiremarks-BZ-osQqY.js} +204 -191
  166. package/dist/vue-ui-treemap-98KaVRyd.js +1723 -0
  167. package/dist/vue-ui-waffle-Cb7oJnIc.js +1321 -0
  168. package/dist/vue-ui-wheel-sfew1fjw.js +738 -0
  169. package/dist/vue-ui-word-cloud-vq1t9JHr.js +1548 -0
  170. package/dist/{vue-ui-world-D-3wgoTn.js → vue-ui-world-CN0f6elD.js} +8 -8
  171. package/dist/vue-ui-xy-BdzEiImZ.js +3877 -0
  172. package/dist/vue-ui-xy-canvas-CWQzUQzY.js +1810 -0
  173. package/package.json +2 -2
  174. package/dist/ColorPicker-j0ySewhI.js +0 -244
  175. package/dist/Legend-1LMMsPxL.js +0 -90
  176. package/dist/vue-ui-3d-bar-BhNgFaJA.js +0 -1484
  177. package/dist/vue-ui-age-pyramid-CuYRf5v-.js +0 -997
  178. package/dist/vue-ui-bump-C_fKharc.js +0 -1059
  179. package/dist/vue-ui-candlestick-BY-_E7eZ.js +0 -1487
  180. package/dist/vue-ui-chestnut-C-bQYaNI.js +0 -1557
  181. package/dist/vue-ui-chord-uQYQgyGM.js +0 -1220
  182. package/dist/vue-ui-circle-pack-CdbDcuDw.js +0 -907
  183. package/dist/vue-ui-dag-DsHUvjvm.js +0 -2885
  184. package/dist/vue-ui-donut-CzCgCVsx.js +0 -2139
  185. package/dist/vue-ui-donut-evolution-C_ck_TOR.js +0 -1297
  186. package/dist/vue-ui-dumbbell-CVSA90b2.js +0 -1293
  187. package/dist/vue-ui-flow-CsbSaFnu.js +0 -1075
  188. package/dist/vue-ui-galaxy-DWKHDciu.js +0 -914
  189. package/dist/vue-ui-geo-DykhEWVq.js +0 -1331
  190. package/dist/vue-ui-heatmap-BEDirv8T.js +0 -1334
  191. package/dist/vue-ui-history-plot-Bs96PebH.js +0 -1292
  192. package/dist/vue-ui-horizontal-bar-ClQcB9nL.js +0 -1522
  193. package/dist/vue-ui-kpi-DlUEHKuw.js +0 -101
  194. package/dist/vue-ui-mood-radar-A2LBLgUi.js +0 -967
  195. package/dist/vue-ui-nested-donuts-DFX251aT.js +0 -1513
  196. package/dist/vue-ui-onion-CW0YO9Ro.js +0 -1045
  197. package/dist/vue-ui-parallel-coordinate-plot-UFg10bHP.js +0 -1134
  198. package/dist/vue-ui-quadrant-C1pLW2zA.js +0 -1647
  199. package/dist/vue-ui-quick-chart-FaxttnJY.js +0 -2030
  200. package/dist/vue-ui-radar-DE70LPBZ.js +0 -1067
  201. package/dist/vue-ui-relation-circle-iuRXIyRU.js +0 -704
  202. package/dist/vue-ui-ridgeline-CwvDh5pG.js +0 -1385
  203. package/dist/vue-ui-rings-80ZUki42.js +0 -1083
  204. package/dist/vue-ui-scatter-FdAAYJOK.js +0 -1670
  205. package/dist/vue-ui-spark-trend-C68p8-Xp.js +0 -349
  206. package/dist/vue-ui-sparkgauge-DdRtHQDe.js +0 -245
  207. package/dist/vue-ui-sparkhistogram-C9DvzQae.js +0 -396
  208. package/dist/vue-ui-sparkline-B2RDrdiR.js +0 -1273
  209. package/dist/vue-ui-sparkstackbar-BsIOHUE5.js +0 -475
  210. package/dist/vue-ui-stackbar-BZl0kEkb.js +0 -2001
  211. package/dist/vue-ui-stackline-2VKxwFei.js +0 -2099
  212. package/dist/vue-ui-strip-plot-B9nBSRyY.js +0 -1080
  213. package/dist/vue-ui-treemap-BS5EilZf.js +0 -1645
  214. package/dist/vue-ui-waffle-CbX5K9Q2.js +0 -1211
  215. package/dist/vue-ui-wheel-BIJ09H5D.js +0 -723
  216. package/dist/vue-ui-word-cloud-DJmJ-oYT.js +0 -1466
  217. package/dist/vue-ui-xy-canvas-4auyhlTr.js +0 -1717
  218. package/dist/vue-ui-xy-f67V1xjd.js +0 -3713
@@ -1,1067 +0,0 @@
1
- import { defineAsyncComponent as O, computed as d, ref as i, toRefs as Yt, watch as me, shallowRef as et, onMounted as jt, onBeforeUnmount as qt, openBlock as n, createElementBlock as u, unref as r, normalizeStyle as q, normalizeClass as H, createBlock as I, withCtx as v, renderSlot as p, normalizeProps as b, guardReactiveProps as k, createCommentVNode as h, createElementVNode as $, createSlots as tt, createVNode as oe, Fragment as V, renderList as z, toDisplayString as D, Teleport as Ht, resolveDynamicComponent as Kt, mergeProps as Jt, createTextVNode as be, nextTick as ke } from "vue";
2
- import { j as Qt, t as at, m as Zt, p as U, o as ea, q as B, n as ta, s as ot, A as lt, K as aa, l as G, k as Ce, X as oa, u as we, v as la, ag as nt, r as st, a0 as na, a1 as sa, T as ra, U as ua } from "./lib-GwPnJSrY.js";
3
- import { t as ia, u as ca } from "./useResponsive-DfdjqQps.js";
4
- import { u as va } from "./useConfig-CIgyKZ6R.js";
5
- import { u as da, B as pa } from "./BaseScanner-BhhkKVoj.js";
6
- import { u as ga } from "./usePrinter-DiK5R6k-.js";
7
- import { u as ha } from "./useSvgExport-ByUukOZt.js";
8
- import { u as $e } from "./useNestedProp-BBT0mbHh.js";
9
- import { u as fa } from "./useThemeCheck-D1ZYXUwG.js";
10
- import { u as ya } from "./useUserOptionState-BIvW1Kz7.js";
11
- import { u as ma } from "./useChartAccessibility-9icAAmYg.js";
12
- import { u as ba } from "./useAutoSizeLabelsInsideViewbox-80fzdfxt.js";
13
- import ka from "./img-BYYzY_QU.js";
14
- import Ca from "./Title-BfyrP-jp.js";
15
- import wa from "./Legend-1LMMsPxL.js";
16
- import $a from "./vue_ui_radar-DryGBOrz.js";
17
- import { B as Ta } from "./BaseLegendToggle-Y61xahI4.js";
18
- import { _ as Pa } from "./_plugin-vue_export-helper-CHgC5LLL.js";
19
- const Aa = ["id"], _a = ["id"], Sa = ["xmlns", "viewBox"], Oa = ["width", "height"], Ia = ["id"], Fa = ["stop-color"], xa = ["stop-color"], La = { key: 1 }, Na = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], Ra = { key: 0 }, Va = ["d", "stroke", "stroke-width"], za = ["d", "stroke", "stroke-width"], Da = { key: 2 }, Ua = ["x", "y", "text-anchor", "font-size", "fill", "onMouseenter", "onMouseleave", "onClick"], Ba = ["points", "stroke", "stroke-width"], Ea = ["points", "stroke", "stroke-width", "fill"], Ma = { key: 3 }, Wa = ["cx", "cy", "fill", "r", "stroke"], Ga = {
20
- key: 4,
21
- class: "vue-data-ui-watermark"
22
- }, Xa = ["id"], Ya = ["onClick"], ja = {
23
- key: 0,
24
- style: { "max-width": "200px", margin: "0 auto" }
25
- }, qa = {
26
- class: "vue-ui-radar-tooltip-datalabel",
27
- style: { width: "100%" }
28
- }, Ha = { class: "vue-ui-radar-tooltip-datalabel-name" }, Ka = { key: 0 }, Ja = {
29
- __name: "vue-ui-radar",
30
- props: {
31
- config: {
32
- type: Object,
33
- default() {
34
- return {};
35
- }
36
- },
37
- dataset: {
38
- type: Object,
39
- default() {
40
- return {};
41
- }
42
- }
43
- },
44
- emits: ["selectLegend", "copyAlt"],
45
- setup(rt, { expose: ut, emit: it }) {
46
- const ct = O(() => import("./Tooltip-DL3QgjZf.js")), vt = O(() => import("./BaseIcon-CNx8Tzl5.js")), dt = O(() => import("./vue-ui-sparkbar-DUDWvTo-.js")), pt = O(() => import("./vue-ui-accordion-BGHTqIBt.js")), gt = O(() => import("./DataTable-Bo1pmAqG.js")), ht = O(() => import("./PenAndPaper-DWV1FMIi.js")), ft = O(() => import("./UserOptions-CrLqEimB.js")), yt = O(() => import("./PackageVersion-DN9d0ME5.js")), mt = O(() => import("./BaseDraggableDialog-DSpKTn3R.js")), { vue_ui_radar: bt } = va(), { isThemeValid: kt, warnInvalidTheme: Ct } = fa(), _ = rt, Te = d(() => !!_.dataset && Object.keys(_.dataset).length), C = i(Qt()), le = i(!1), ne = i(""), Pe = i(0), S = i(null), Ae = i(null), _e = i(null), Se = i(null), Oe = i(null), Ie = i(0), Fe = i(0), xe = i(0), Le = i(!1), X = i(null), se = i(null), K = i(!1), J = i(!1), e = i(ie()), x = d(() => e.value.userOptions.useCursorPointer), wt = d(() => at({
47
- defaultConfig: {
48
- userOptions: { show: !1 },
49
- table: { show: !1 },
50
- useCssAnimation: !1,
51
- style: {
52
- chart: {
53
- backgroundColor: "#99999930",
54
- layout: {
55
- grid: {
56
- stroke: "#6A6A6A90"
57
- },
58
- labels: {
59
- dataLabels: { show: !1 }
60
- },
61
- outerPolygon: {
62
- stroke: "#6A6A6A"
63
- }
64
- },
65
- legend: {
66
- backgroundColor: "transparent"
67
- }
68
- }
69
- }
70
- },
71
- userConfig: e.value.skeletonConfig ?? {}
72
- })), { loading: re, FINAL_DATASET: L } = da({
73
- ...Yt(_),
74
- FINAL_CONFIG: e,
75
- prepareConfig: ie,
76
- callback: () => {
77
- Promise.resolve().then(async () => {
78
- await ke(), y.value.showTable = e.value.table.show;
79
- });
80
- },
81
- skeletonDataset: _.config?.skeletonDataset ?? {
82
- categories: [{ name: "_", color: "#6A6A6A" }],
83
- series: [
84
- { name: "_", values: [0.6], target: 1 },
85
- { name: "_", values: [0.6], target: 1 },
86
- { name: "_", values: [0.6], target: 1 },
87
- { name: "_", values: [0.6], target: 1 },
88
- { name: "_", values: [0.6], target: 1 },
89
- { name: "_", values: [0.6], target: 1 }
90
- ]
91
- },
92
- skeletonConfig: at({
93
- defaultConfig: e.value,
94
- userConfig: wt.value
95
- })
96
- }), { userOptionsVisible: ue, setUserOptionsVisibility: Ne, keepUserOptionState: Re } = ya({ config: e.value }), { svgRef: Q } = ma({ config: e.value.style.chart.title });
97
- function ie() {
98
- const t = $e({
99
- userConfig: _.config,
100
- defaultConfig: bt
101
- }), o = t.theme;
102
- if (!o) return t;
103
- if (!kt.value(t))
104
- return Ct(t), t;
105
- const a = $e({
106
- userConfig: $a[o] || _.config,
107
- defaultConfig: t
108
- }), l = $e({
109
- userConfig: _.config,
110
- defaultConfig: a
111
- });
112
- return {
113
- ...l,
114
- customPalette: l.customPalette.length ? l.customPalette : Zt[o] || U
115
- };
116
- }
117
- me(() => _.config, (t) => {
118
- e.value = ie(), ue.value = !e.value.userOptions.showOnChartHover, Ve(), Ie.value += 1, Fe.value += 1, xe.value += 1, y.value.dataLabels.show = e.value.style.chart.layout.labels.dataLabels.show, y.value.showTable = e.value.table.show, y.value.showTooltip = e.value.style.chart.tooltip ? e.value.style.chart.tooltip.show : !1;
119
- }, { deep: !0 });
120
- const F = et(null), E = et(null), N = d(() => e.value.debug);
121
- function Ve() {
122
- if (ea(_.dataset) && B({
123
- componentName: "VueUiRadar",
124
- type: "dataset",
125
- debug: N.value
126
- }), e.value.responsive) {
127
- const t = ia(() => {
128
- const { width: o, height: a } = ca({
129
- chart: S.value,
130
- title: e.value.style.chart.title.text ? Ae.value : null,
131
- legend: e.value.style.chart.legend.show ? _e.value : null,
132
- source: Se.value,
133
- noTitle: Oe.value
134
- });
135
- requestAnimationFrame(() => {
136
- c.value.width = o, c.value.height = a, Xe();
137
- });
138
- });
139
- F.value && (E.value && F.value.unobserve(E.value), F.value.disconnect()), F.value = new ResizeObserver(t), E.value = S.value.parentNode, F.value.observe(E.value);
140
- }
141
- Xe();
142
- }
143
- jt(() => {
144
- Le.value = !0, Ve();
145
- }), qt(() => {
146
- F.value && (E.value && F.value.unobserve(E.value), F.value.disconnect());
147
- });
148
- const { isPrinting: ce, isImaging: ve, generatePdf: ze, generateImage: De } = ga({
149
- elementId: `vue-ui-radar_${C.value}`,
150
- fileName: e.value.style.chart.title.text || "vue-ui-radar",
151
- options: e.value.userOptions.print
152
- }), $t = d(() => e.value.userOptions.show && !e.value.style.chart.title.text), Ue = d(() => ta(e.value.customPalette)), y = i({
153
- dataLabels: {
154
- show: e.value.style.chart.layout.labels.dataLabels.show
155
- },
156
- showTable: e.value.table.show,
157
- showTooltip: e.value.style.chart.tooltip.show
158
- }), Tt = d(() => ({
159
- style: {
160
- backgroundColor: "#FFFFFF00",
161
- animation: {
162
- show: e.value.style.chart.tooltip.animation.show,
163
- animationFrames: e.value.style.chart.tooltip.animation.animationFrames
164
- },
165
- labels: {
166
- fontSize: e.value.style.chart.tooltip.fontSize,
167
- name: {
168
- color: e.value.style.chart.tooltip.color
169
- }
170
- },
171
- gutter: {
172
- backgroundColor: "#CCCCCC",
173
- opacity: 30
174
- }
175
- }
176
- })), c = i({
177
- height: 312,
178
- width: 512
179
- }), Be = it, g = i([]), Y = i(null), M = i(!1);
180
- function Pt() {
181
- g.value.length ? g.value = [] : A.value.forEach((t, o) => {
182
- g.value.push(o);
183
- });
184
- }
185
- function Z(t) {
186
- M.value = !0, g.value.includes(t) ? (Y.value = t, g.value = g.value.filter((o) => o !== t), setTimeout(() => {
187
- M.value = !1, Y.value = null;
188
- }, 500)) : (g.value.push(t), setTimeout(() => {
189
- M.value = !1;
190
- }, 500)), Be("selectLegend", A.value.filter((o, a) => !g.value.includes(a)).map((o) => ({
191
- name: o.name,
192
- color: o.color,
193
- proportion: o.totalProportion
194
- })));
195
- }
196
- function At() {
197
- return A.value.map((t) => ({
198
- name: t.name,
199
- color: t.color,
200
- proportion: t.totalProportion
201
- }));
202
- }
203
- function _t() {
204
- const t = L.value;
205
- if ([null, void 0].includes(t?.categories)) {
206
- B({
207
- componentName: "VueUiRadar",
208
- type: "dataset",
209
- debug: N.value
210
- }), B({
211
- componentName: "VueUiRadar",
212
- type: "datasetAttribute",
213
- property: "categories ({ name: string; prefix?: string; suffix?: string}[])",
214
- debug: N.value
215
- });
216
- return;
217
- }
218
- t.categories.length === 0 ? B({
219
- componentName: "VueUiRadar",
220
- type: "datasetAttributeEmpty",
221
- property: "categories",
222
- debug: N.value
223
- }) : t.categories.forEach((o, a) => {
224
- st({
225
- datasetObject: o,
226
- requiredAttributes: ["name"]
227
- }).forEach((l) => {
228
- B({
229
- componentName: "VueUiRadar",
230
- type: "datasetAttribute",
231
- property: `category.${l} at index ${a}`,
232
- index: a,
233
- debug: N.value
234
- });
235
- });
236
- }), [null, void 0].includes(t?.series) ? B({
237
- componentName: "VueUiRadar",
238
- type: "datasetAttribute",
239
- property: "series ({ name: string; values: number[]; color?: string; target: number}[])",
240
- debug: N.value
241
- }) : t.series.forEach((o, a) => {
242
- st({
243
- datasetObject: o,
244
- requiredAttributes: ["name", "values", "target"]
245
- }).forEach((l) => {
246
- B({
247
- componentName: "VueUiRadar",
248
- type: "datasetSerieAttribute",
249
- key: "series",
250
- property: l,
251
- index: a,
252
- debug: N.value
253
- });
254
- });
255
- });
256
- }
257
- me(
258
- () => L.value,
259
- () => _t(),
260
- { deep: !0, immediate: !0 }
261
- );
262
- const T = d(() => {
263
- const t = Array.isArray(L.value?.categories) ? L.value.categories : [], o = Ue.value ?? U;
264
- return t.map((a, l) => ({
265
- name: a?.name ?? "",
266
- categoryId: `radar_category_${C.value}_${l}`,
267
- color: ot(a?.color) || o[l] || U[l % U.length],
268
- prefix: a?.prefix ?? "",
269
- suffix: a?.suffix ?? ""
270
- }));
271
- }), w = d(() => L.value.series.map((t, o) => ({
272
- ...t,
273
- color: ot(t.color) || Ue.value[o] || U[o] || U[o % U.length],
274
- serieId: `radar_serie_${C.value}_${o}`,
275
- formatter: t.formatter || null,
276
- absoluteIndex: o
277
- })));
278
- function Ee(t) {
279
- if (!w.value.length)
280
- return e.value.debug && console.warn("VueUiRadar - There are no series to show."), null;
281
- const o = A.value.find((a) => a.name === t);
282
- return o || (e.value.debug && console.warn(`VueUiRadar - Series name not found "${t}"`), null);
283
- }
284
- function St(t) {
285
- const o = Ee(t);
286
- o !== null && g.value.includes(o.absoluteIndex) && Z(o.absoluteIndex);
287
- }
288
- function Ot(t) {
289
- const o = Ee(t);
290
- o !== null && (g.value.includes(o.absoluteIndex) || Z(o.absoluteIndex));
291
- }
292
- const Me = d(() => Math.max(...w.value.flatMap((t) => t.values))), We = d(() => w.value.length), de = d(() => Math.min(c.value.width, c.value.height) / 3), Ge = d(() => lt({
293
- plot: { x: c.value.width / 2, y: c.value.height / 2 },
294
- radius: de.value,
295
- sides: We.value,
296
- rotation: 0
297
- })), It = d(() => {
298
- const t = [];
299
- for (let o = 0; o < de.value; o += de.value / e.value.style.chart.layout.grid.graduations)
300
- t.push(o);
301
- return t;
302
- }), P = d(() => Ge.value.coordinates.map((t, o) => {
303
- const a = w.value[o].values.map((l) => xt({
304
- centerX: c.value.width / 2,
305
- centerY: c.value.height / 2,
306
- apexX: t.x,
307
- apexY: t.y,
308
- proportion: l / (w.value[o].target || Me.value)
309
- }));
310
- return {
311
- ...t,
312
- ...w.value[o],
313
- plots: a
314
- };
315
- }).map((t) => ({
316
- ...t,
317
- labelX: pe(t).x,
318
- labelY: pe(t).y,
319
- labelAnchor: pe(t).anchor
320
- })));
321
- function pe({ x: t, y: o }) {
322
- let a = "middle";
323
- return t = Math.round(t), o = Math.round(o), t > c.value.width / 2 && (t += 12, a = "start"), t < c.value.width / 2 && (t -= 12, a = "end"), o > c.value.height / 2 + 1 && (o += 20), o < c.value.height / 2 - 1 && (o -= 12), o === c.value.height / 2 && (o += 4), { x: t, y: o, anchor: a };
324
- }
325
- const Ft = d({
326
- get: () => e.value.style.chart.layout.labels.dataLabels.fontSize,
327
- set: (t) => t
328
- }), { autoSizeLabels: Xe } = ba({
329
- svgRef: Q,
330
- fontSize: e.value.style.chart.layout.labels.dataLabels.fontSize,
331
- minFontSize: 6,
332
- sizeRef: Ft,
333
- labelClass: ".vue-ui-radar-apex-label"
334
- });
335
- function xt({ centerX: t, centerY: o, apexX: a, apexY: l, proportion: s }) {
336
- return {
337
- x: t + (a - t) * s,
338
- y: o + (l - o) * s
339
- };
340
- }
341
- const A = d(() => {
342
- const t = w.value.map((o, a) => o.values.map((l) => l / (o.target || Me.value)));
343
- return T.value.map((o, a) => {
344
- const l = aa(t.map((s) => s[a]).reduce((s, f) => s + f, 0) / w.value.length);
345
- return {
346
- ...o,
347
- absoluteIndex: a,
348
- totalProportion: l,
349
- shape: "circle",
350
- opacity: g.value.includes(a) ? 0.5 : 1,
351
- segregate: () => Z(a),
352
- isSegregated: g.value.includes(a),
353
- display: `${o.name}: ${G({
354
- v: (l ?? 0) * 100,
355
- s: "%",
356
- r: e.value.style.chart.legend.roundingPercentage
357
- })}`
358
- };
359
- });
360
- }), Lt = d(() => ({
361
- cy: "radar-div-legend",
362
- backgroundColor: e.value.style.chart.legend.backgroundColor,
363
- color: e.value.style.chart.legend.color,
364
- fontSize: e.value.style.chart.legend.fontSize,
365
- paddingBottom: 12,
366
- fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
367
- })), ee = d(() => {
368
- const t = [
369
- { name: e.value.translations.datapoint, color: "" },
370
- { name: e.value.translations.target, color: "" },
371
- ...A.value
372
- ], o = L.value.series.map((l) => [
373
- l.name,
374
- Ce(
375
- l.formatter,
376
- l.target,
377
- G({
378
- p: l.prefix,
379
- v: l.target,
380
- s: l.suffix,
381
- r: e.value.table.td.roundingValue
382
- })
383
- ),
384
- ...l.values.map((s, f) => `${Ce(
385
- l.formatter,
386
- s,
387
- G({ p: T.value[f]?.prefix ?? "", v: s, s: T.value[f]?.suffix ?? "", r: e.value.table.td.roundingValue })
388
- )} (${isNaN(s / l.target) ? "" : G({
389
- v: s / l.target * 100,
390
- s: "%",
391
- r: e.value.table.td.roundingPercentage
392
- })})`)
393
- ]), a = {
394
- th: {
395
- backgroundColor: e.value.table.th.backgroundColor,
396
- color: e.value.table.th.color,
397
- outline: e.value.table.th.outline
398
- },
399
- td: {
400
- backgroundColor: e.value.table.td.backgroundColor,
401
- color: e.value.table.td.color,
402
- outline: e.value.table.td.outline
403
- },
404
- breakpoint: e.value.table.responsiveBreakpoint
405
- };
406
- return { head: t, body: o, config: a, colNames: t };
407
- }), te = i(null), ge = i([]), he = i(null);
408
- function Nt(t, o) {
409
- le.value = !1, te.value = null, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: o });
410
- }
411
- function Rt(t, o) {
412
- e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: o });
413
- }
414
- function Vt(t, o) {
415
- e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: o });
416
- const a = T.value.slice();
417
- ge.value = [], te.value = o, le.value = !0, he.value = {
418
- datapoint: t,
419
- seriesIndex: o,
420
- series: {
421
- categories: a,
422
- datapoints: w.value,
423
- radar: P.value
424
- },
425
- config: e.value
426
- };
427
- const l = e.value.style.chart.tooltip.customFormat;
428
- if (ra(l) && ua(() => l({
429
- seriesIndex: o,
430
- datapoint: t,
431
- series: { categories: a, datapoints: w.value, radar: P.value },
432
- config: e.value
433
- }))) {
434
- ne.value = l({
435
- seriesIndex: o,
436
- datapoint: t,
437
- series: { categories: a, datapoints: w.value, radar: P.value },
438
- config: e.value
439
- });
440
- return;
441
- }
442
- ne.value = `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${t.name}</div>`;
443
- for (let s = 0; s < t.values.length; s += 1)
444
- if (!g.value.includes(s)) {
445
- const f = a[s], m = t.values[s], Qe = isNaN(m / t.target) ? 0 : m / t.target * 100, W = Ce(
446
- t.formatter,
447
- m,
448
- G({
449
- p: T.value[s].prefix,
450
- v: m,
451
- s: T.value[s].suffix,
452
- r: e.value.style.chart.tooltip.roundingValue
453
- }),
454
- { datapoint: t }
455
- ), Ze = G({
456
- v: Qe,
457
- s: "%",
458
- r: e.value.style.chart.tooltip.roundingPercentage
459
- }), Xt = e.value.style.chart.tooltip.showValue && e.value.style.chart.tooltip.showPercentage ? `${W} (${Ze})` : e.value.style.chart.tooltip.showValue && !e.value.style.chart.tooltip.showPercentage ? W : !e.value.style.chart.tooltip.showValue && e.value.style.chart.tooltip.showPercentage ? `${Ze}` : "";
460
- ge.value.push({
461
- name: f?.name ?? `#${s + 1}`,
462
- value: t.values[s] / t.target * 100,
463
- color: f?.color,
464
- suffix: Xt,
465
- prefix: "",
466
- rounding: e.value.style.chart.tooltip.roundingPercentage,
467
- formatter: t.formatter
468
- });
469
- }
470
- }
471
- function fe(t = null) {
472
- ke(() => {
473
- const o = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [""]], a = [[""], [e.value.translations.target], ...A.value.flatMap((m) => [[m.name], ["%"]])], l = L.value.series.map((m, Qe) => [m.name, m.target, ...m.values.flatMap((W) => [
474
- W,
475
- isNaN(W / m.target) ? "" : W / m.target * 100
476
- ])]), s = o.concat([a]).concat(l), f = na(s);
477
- t ? t(f) : sa({ csvContent: f, title: e.value.style.chart.title.text || "vue-ui-radar" });
478
- });
479
- }
480
- const R = i(!1);
481
- function Ye(t) {
482
- R.value = t, Pe.value += 1;
483
- }
484
- function je() {
485
- y.value.showTable = !y.value.showTable;
486
- }
487
- function qe() {
488
- y.value.showTooltip = !y.value.showTooltip;
489
- }
490
- const ae = i(!1);
491
- function ye() {
492
- ae.value = !ae.value;
493
- }
494
- async function zt({ scale: t = 2 } = {}) {
495
- if (!S.value) return;
496
- const { width: o, height: a } = S.value.getBoundingClientRect(), l = o / a, { imageUri: s, base64: f } = await ka({ domElement: S.value, base64: !0, img: !0, scale: t });
497
- return {
498
- imageUri: s,
499
- base64: f,
500
- title: e.value.style.chart.title.text,
501
- width: o,
502
- height: a,
503
- aspectRatio: l
504
- };
505
- }
506
- const j = d(() => {
507
- const t = e.value.table.useDialog && !e.value.table.show, o = y.value.showTable;
508
- return {
509
- component: t ? mt : pt,
510
- title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
511
- props: t ? {
512
- backgroundColor: e.value.table.th.backgroundColor,
513
- color: e.value.table.th.color,
514
- headerColor: e.value.table.th.color,
515
- headerBg: e.value.table.th.backgroundColor,
516
- isFullscreen: R.value,
517
- fullscreenParent: S.value,
518
- forcedWidth: Math.min(800, window.innerWidth * 0.8),
519
- isCursorPointer: x.value
520
- } : {
521
- hideDetails: !0,
522
- config: {
523
- open: o,
524
- maxHeight: 1e4,
525
- body: {
526
- backgroundColor: e.value.style.chart.backgroundColor,
527
- color: e.value.style.chart.color
528
- },
529
- head: {
530
- backgroundColor: e.value.style.chart.backgroundColor,
531
- color: e.value.style.chart.color
532
- }
533
- }
534
- }
535
- };
536
- });
537
- me(() => y.value.showTable, (t) => {
538
- e.value.table.show || (t && e.value.table.useDialog && X.value ? X.value.open() : "close" in X.value && X.value.close());
539
- });
540
- function He() {
541
- y.value.showTable = !1, se.value && se.value.setTableIconState(!1);
542
- }
543
- const Dt = d(() => A.value.map((t) => ({
544
- ...t,
545
- name: t.display
546
- }))), Ut = d(() => e.value.style.chart.backgroundColor), Bt = d(() => e.value.style.chart.legend), Et = d(() => e.value.style.chart.title), { exportSvg: Mt, getSvg: Wt } = ha({
547
- svg: Q,
548
- title: Et,
549
- legend: Bt,
550
- legendItems: Dt,
551
- backgroundColor: Ut
552
- });
553
- async function Ke({ isCb: t }) {
554
- J.value = !0, await ke();
555
- try {
556
- if (t) {
557
- const { blob: o, url: a, text: l, dataUrl: s } = await Wt();
558
- await Promise.resolve(e.value.userOptions.callbacks.svg({ blob: o, url: a, text: l, dataUrl: s }));
559
- } else
560
- await Promise.resolve(Mt());
561
- } finally {
562
- J.value = !1;
563
- }
564
- }
565
- function Gt(t) {
566
- if (t?.stage === "start") {
567
- K.value = !0;
568
- return;
569
- }
570
- if (t?.stage === "end") {
571
- K.value = !1;
572
- return;
573
- }
574
- De();
575
- }
576
- async function Je() {
577
- if (Be("copyAlt", {
578
- config: e.value,
579
- dataset: P.value
580
- }), !e.value.userOptions.callbacks.altCopy) {
581
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
582
- return;
583
- }
584
- await Promise.resolve(e.value.userOptions.callbacks.altCopy({
585
- config: e.value,
586
- dataset: P.value
587
- }));
588
- }
589
- return ut({
590
- getData: At,
591
- getImage: zt,
592
- generatePdf: ze,
593
- generateCsv: fe,
594
- generateImage: De,
595
- generateSvg: Ke,
596
- hideSeries: Ot,
597
- showSeries: St,
598
- toggleTable: je,
599
- toggleTooltip: qe,
600
- toggleAnnotator: ye,
601
- toggleFullscreen: Ye,
602
- copyAlt: Je
603
- }), (t, o) => (n(), u("div", {
604
- class: H(`vue-data-ui-component vue-ui-radar ${R.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
605
- ref_key: "radarChart",
606
- ref: S,
607
- id: `vue-ui-radar_${C.value}`,
608
- style: q(`font-family:${e.value.style.fontFamily};width:100%; ${e.value.responsive ? "height: 100%;" : ""} text-align:center;background:${e.value.style.chart.backgroundColor}`),
609
- onMouseenter: o[2] || (o[2] = () => r(Ne)(!0)),
610
- onMouseleave: o[3] || (o[3] = () => r(Ne)(!1))
611
- }, [
612
- e.value.userOptions.buttons.annotator ? (n(), I(r(ht), {
613
- key: 0,
614
- svgRef: r(Q),
615
- backgroundColor: e.value.style.chart.backgroundColor,
616
- color: e.value.style.chart.color,
617
- active: ae.value,
618
- isCursorPointer: x.value,
619
- onClose: ye
620
- }, {
621
- "annotator-action-close": v(() => [
622
- p(t.$slots, "annotator-action-close", {}, void 0, !0)
623
- ]),
624
- "annotator-action-color": v(({ color: a }) => [
625
- p(t.$slots, "annotator-action-color", b(k({ color: a })), void 0, !0)
626
- ]),
627
- "annotator-action-draw": v(({ mode: a }) => [
628
- p(t.$slots, "annotator-action-draw", b(k({ mode: a })), void 0, !0)
629
- ]),
630
- "annotator-action-undo": v(({ disabled: a }) => [
631
- p(t.$slots, "annotator-action-undo", b(k({ disabled: a })), void 0, !0)
632
- ]),
633
- "annotator-action-redo": v(({ disabled: a }) => [
634
- p(t.$slots, "annotator-action-redo", b(k({ disabled: a })), void 0, !0)
635
- ]),
636
- "annotator-action-delete": v(({ disabled: a }) => [
637
- p(t.$slots, "annotator-action-delete", b(k({ disabled: a })), void 0, !0)
638
- ]),
639
- _: 3
640
- }, 8, ["svgRef", "backgroundColor", "color", "active", "isCursorPointer"])) : h("", !0),
641
- $t.value ? (n(), u("div", {
642
- key: 1,
643
- ref_key: "noTitle",
644
- ref: Oe,
645
- class: "vue-data-ui-no-title-space",
646
- style: "height:36px; width: 100%;background:transparent"
647
- }, null, 512)) : h("", !0),
648
- e.value.style.chart.title.text ? (n(), u("div", {
649
- key: 2,
650
- ref_key: "chartTitle",
651
- ref: Ae,
652
- style: "width:100%;background:transparent;padding-bottom:12px"
653
- }, [
654
- (n(), I(Ca, {
655
- key: `title_${Ie.value}`,
656
- config: {
657
- title: {
658
- cy: "radar-div-title",
659
- ...e.value.style.chart.title
660
- },
661
- subtitle: {
662
- cy: "radar-div-subtitle",
663
- ...e.value.style.chart.title.subtitle
664
- }
665
- }
666
- }, null, 8, ["config"]))
667
- ], 512)) : h("", !0),
668
- $("div", {
669
- id: `legend-top-${C.value}`
670
- }, null, 8, _a),
671
- e.value.userOptions.show && Te.value && (r(Re) || r(ue)) ? (n(), I(r(ft), {
672
- ref_key: "userOptionsRef",
673
- ref: se,
674
- key: `user_options_${Pe.value}`,
675
- backgroundColor: e.value.style.chart.backgroundColor,
676
- color: e.value.style.chart.color,
677
- isImaging: r(ve),
678
- isPrinting: r(ce),
679
- uid: C.value,
680
- hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.chart.tooltip.show,
681
- hasPdf: e.value.userOptions.buttons.pdf,
682
- hasImg: e.value.userOptions.buttons.img,
683
- hasSvg: e.value.userOptions.buttons.svg,
684
- hasXls: e.value.userOptions.buttons.csv,
685
- hasTable: e.value.userOptions.buttons.table,
686
- hasFullscreen: e.value.userOptions.buttons.fullscreen,
687
- hasAltCopy: e.value.userOptions.buttons.altCopy,
688
- isFullscreen: R.value,
689
- isTooltip: y.value.showTooltip,
690
- titles: { ...e.value.userOptions.buttonTitles },
691
- chartElement: S.value,
692
- position: e.value.userOptions.position,
693
- hasAnnotator: e.value.userOptions.buttons.annotator,
694
- isAnnotation: ae.value,
695
- callbacks: e.value.userOptions.callbacks,
696
- printScale: e.value.userOptions.print.scale,
697
- tableDialog: e.value.table.useDialog,
698
- isCursorPointer: x.value,
699
- onToggleFullscreen: Ye,
700
- onGeneratePdf: r(ze),
701
- onGenerateCsv: fe,
702
- onGenerateImage: Gt,
703
- onGenerateSvg: Ke,
704
- onToggleTable: je,
705
- onToggleTooltip: qe,
706
- onToggleAnnotator: ye,
707
- onCopyAlt: Je,
708
- style: q({
709
- visibility: r(Re) ? r(ue) ? "visible" : "hidden" : "visible"
710
- })
711
- }, tt({ _: 2 }, [
712
- t.$slots.menuIcon ? {
713
- name: "menuIcon",
714
- fn: v(({ isOpen: a, color: l }) => [
715
- p(t.$slots, "menuIcon", b(k({ isOpen: a, color: l })), void 0, !0)
716
- ]),
717
- key: "0"
718
- } : void 0,
719
- t.$slots.optionTooltip ? {
720
- name: "optionTooltip",
721
- fn: v(() => [
722
- p(t.$slots, "optionTooltip", {}, void 0, !0)
723
- ]),
724
- key: "1"
725
- } : void 0,
726
- t.$slots.optionPdf ? {
727
- name: "optionPdf",
728
- fn: v(() => [
729
- p(t.$slots, "optionPdf", {}, void 0, !0)
730
- ]),
731
- key: "2"
732
- } : void 0,
733
- t.$slots.optionCsv ? {
734
- name: "optionCsv",
735
- fn: v(() => [
736
- p(t.$slots, "optionCsv", {}, void 0, !0)
737
- ]),
738
- key: "3"
739
- } : void 0,
740
- t.$slots.optionImg ? {
741
- name: "optionImg",
742
- fn: v(() => [
743
- p(t.$slots, "optionImg", {}, void 0, !0)
744
- ]),
745
- key: "4"
746
- } : void 0,
747
- t.$slots.optionSvg ? {
748
- name: "optionSvg",
749
- fn: v(() => [
750
- p(t.$slots, "optionSvg", {}, void 0, !0)
751
- ]),
752
- key: "5"
753
- } : void 0,
754
- t.$slots.optionTable ? {
755
- name: "optionTable",
756
- fn: v(() => [
757
- p(t.$slots, "optionTable", {}, void 0, !0)
758
- ]),
759
- key: "6"
760
- } : void 0,
761
- t.$slots.optionFullscreen ? {
762
- name: "optionFullscreen",
763
- fn: v(({ toggleFullscreen: a, isFullscreen: l }) => [
764
- p(t.$slots, "optionFullscreen", b(k({ toggleFullscreen: a, isFullscreen: l })), void 0, !0)
765
- ]),
766
- key: "7"
767
- } : void 0,
768
- t.$slots.optionAnnotator ? {
769
- name: "optionAnnotator",
770
- fn: v(({ toggleAnnotator: a, isAnnotator: l }) => [
771
- p(t.$slots, "optionAnnotator", b(k({ toggleAnnotator: a, isAnnotator: l })), void 0, !0)
772
- ]),
773
- key: "8"
774
- } : void 0,
775
- t.$slots.optionAltCopy ? {
776
- name: "optionAltCopy",
777
- fn: v(({ altCopy: a }) => [
778
- p(t.$slots, "optionAltCopy", b(k({ altCopy: a })), void 0, !0)
779
- ]),
780
- key: "9"
781
- } : void 0
782
- ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasImg", "hasSvg", "hasXls", "hasTable", "hasFullscreen", "hasAltCopy", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "tableDialog", "isCursorPointer", "onGeneratePdf", "style"])) : h("", !0),
783
- (n(), u("svg", {
784
- ref_key: "svgRef",
785
- ref: Q,
786
- xmlns: r(oa),
787
- class: H({ "vue-data-ui-fullscreen--on": R.value, "vue-data-ui-fulscreen--off": !R.value }),
788
- viewBox: `0 0 ${c.value.width <= 0 ? 10 : c.value.width} ${c.value.height <= 0 ? 10 : c.value.height}`,
789
- style: q(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.chart.color}`)
790
- }, [
791
- oe(r(yt)),
792
- t.$slots["chart-background"] ? (n(), u("foreignObject", {
793
- key: 0,
794
- x: 0,
795
- y: 0,
796
- width: c.value.width <= 0 ? 10 : c.value.width,
797
- height: c.value.height <= 0 ? 10 : c.value.height,
798
- style: {
799
- pointerEvents: "none"
800
- }
801
- }, [
802
- p(t.$slots, "chart-background", {}, void 0, !0)
803
- ], 8, Oa)) : h("", !0),
804
- $("defs", null, [
805
- (n(!0), u(V, null, z(T.value, (a, l) => (n(), u("radialGradient", {
806
- cx: "50%",
807
- cy: "50%",
808
- r: "50%",
809
- fx: "50%",
810
- fy: "50%",
811
- id: `radar_gradient_${C.value}_${l}`
812
- }, [
813
- $("stop", {
814
- offset: "0%",
815
- "stop-color": r(we)(r(la)(a.color, 0.05), e.value.style.chart.layout.dataPolygon.opacity)
816
- }, null, 8, Fa),
817
- $("stop", {
818
- offset: "100%",
819
- "stop-color": r(we)(a.color, e.value.style.chart.layout.dataPolygon.opacity)
820
- }, null, 8, xa)
821
- ], 8, Ia))), 256))
822
- ]),
823
- e.value.style.chart.layout.grid.show ? (n(), u("g", La, [
824
- (n(!0), u(V, null, z(P.value, (a) => (n(), u("line", {
825
- x1: c.value.width / 2,
826
- y1: c.value.height / 2,
827
- x2: a.x,
828
- y2: a.y,
829
- stroke: e.value.style.chart.layout.grid.stroke,
830
- "stroke-width": e.value.style.chart.layout.grid.strokeWidth
831
- }, null, 8, Na))), 256)),
832
- e.value.style.chart.layout.grid.graduations > 0 ? (n(), u("g", Ra, [
833
- (n(!0), u(V, null, z(It.value, (a) => (n(), u("path", {
834
- d: r(lt)({
835
- plot: { x: c.value.width / 2, y: c.value.height / 2 },
836
- radius: a,
837
- sides: We.value,
838
- rotation: 0
839
- }).path,
840
- fill: "none",
841
- stroke: e.value.style.chart.layout.grid.stroke,
842
- "stroke-width": e.value.style.chart.layout.grid.strokeWidth
843
- }, null, 8, Va))), 256))
844
- ])) : h("", !0)
845
- ])) : h("", !0),
846
- $("path", {
847
- d: Ge.value.path,
848
- fill: "none",
849
- stroke: e.value.style.chart.layout.outerPolygon.stroke,
850
- "stroke-width": e.value.style.chart.layout.outerPolygon.strokeWidth,
851
- "stroke-linejoin": "round",
852
- "stroke-linecap": "round"
853
- }, null, 8, za),
854
- e.value.style.chart.layout.labels.dataLabels.show ? (n(), u("g", Da, [
855
- (n(!0), u(V, null, z(P.value, (a, l) => (n(), u("text", {
856
- class: "vue-ui-radar-apex-label",
857
- x: a.labelX,
858
- y: a.labelY,
859
- "text-anchor": a.labelAnchor,
860
- "font-size": e.value.style.chart.layout.labels.dataLabels.fontSize,
861
- fill: e.value.style.chart.layout.labels.dataLabels.color,
862
- onMouseenter: (s) => Vt(a, l),
863
- onMouseleave: (s) => Nt(a, l),
864
- onClick: (s) => Rt(a, l)
865
- }, D(a.name), 41, Ua))), 256))
866
- ])) : h("", !0),
867
- (n(!0), u(V, null, z(T.value, (a, l) => (n(), u("g", null, [
868
- $("g", null, [
869
- e.value.useCssAnimation || !e.value.useCssAnimation && !g.value.includes(l) ? (n(), u("polygon", {
870
- key: 0,
871
- points: r(nt)(P.value.map((s) => s.plots[l]), !1, !0),
872
- stroke: e.value.style.chart.backgroundColor,
873
- "stroke-width": e.value.style.chart.layout.dataPolygon.strokeWidth + 1,
874
- fill: "none",
875
- class: H({ "animated-out": g.value.includes(l) && e.value.useCssAnimation, "animated-in": M.value && Y.value === l && e.value.useCssAnimation })
876
- }, null, 10, Ba)) : h("", !0),
877
- e.value.useCssAnimation || !e.value.useCssAnimation && !g.value.includes(l) ? (n(), u("polygon", {
878
- key: 1,
879
- points: r(nt)(P.value.map((s) => s.plots[l]), !1, !0),
880
- stroke: a.color,
881
- "stroke-width": e.value.style.chart.layout.dataPolygon.strokeWidth,
882
- fill: e.value.style.chart.layout.dataPolygon.transparent ? "transparent" : e.value.style.chart.layout.dataPolygon.useGradient ? `url(#radar_gradient_${C.value}_${l})` : r(we)(a.color, e.value.style.chart.layout.dataPolygon.opacity),
883
- class: H({ "animated-out": g.value.includes(l) && e.value.useCssAnimation, "animated-in": M.value && Y.value === l && e.value.useCssAnimation })
884
- }, null, 10, Ea)) : h("", !0)
885
- ])
886
- ]))), 256)),
887
- e.value.style.chart.layout.plots.show ? (n(), u("g", Ma, [
888
- (n(!0), u(V, null, z(P.value, (a, l) => (n(), u("g", null, [
889
- (n(!0), u(V, null, z(a.plots, (s, f) => (n(), u("circle", {
890
- cx: s.x,
891
- cy: s.y,
892
- fill: g.value.includes(f) ? "transparent" : T.value[f] ? T.value[f].color : "transparent",
893
- r: te.value !== null && te.value === l ? e.value.style.chart.layout.plots.radius * 1.6 : e.value.style.chart.layout.plots.radius,
894
- stroke: g.value.includes(f) ? "transparent" : e.value.style.chart.backgroundColor,
895
- "stroke-width": 0.5,
896
- class: H({ "animated-out": g.value.includes(f) && e.value.useCssAnimation, "animated-in": M.value && Y.value === f && e.value.useCssAnimation })
897
- }, null, 10, Wa))), 256))
898
- ]))), 256))
899
- ])) : h("", !0),
900
- p(t.$slots, "svg", {
901
- svg: {
902
- ...c.value,
903
- isPrintingImg: r(ce) | r(ve) | K.value,
904
- isPrintingSvg: J.value
905
- }
906
- }, void 0, !0)
907
- ], 14, Sa)),
908
- t.$slots.watermark ? (n(), u("div", Ga, [
909
- p(t.$slots, "watermark", b(k({ isPrinting: r(ce) || r(ve) || K.value || J.value })), void 0, !0)
910
- ])) : h("", !0),
911
- $("div", {
912
- id: `legend-bottom-${C.value}`
913
- }, null, 8, Xa),
914
- Le.value ? (n(), I(Ht, {
915
- key: 5,
916
- to: e.value.style.chart.legend.position === "top" ? `#legend-top-${C.value}` : `#legend-bottom-${C.value}`
917
- }, [
918
- $("div", {
919
- ref_key: "chartLegend",
920
- ref: _e
921
- }, [
922
- e.value.style.chart.legend.show ? (n(), I(wa, {
923
- key: `legend_${xe.value}`,
924
- legendSet: A.value,
925
- config: Lt.value,
926
- isCursorPointer: x.value,
927
- onClickMarker: o[0] || (o[0] = ({ i: a }) => Z(a))
928
- }, {
929
- item: v(({ legend: a, index: l }) => [
930
- r(re) ? h("", !0) : (n(), u("div", {
931
- key: 0,
932
- onClick: (s) => a.segregate(),
933
- style: q(`opacity:${g.value.includes(l) ? 0.5 : 1}`)
934
- }, D(a.display), 13, Ya))
935
- ]),
936
- legendToggle: v(() => [
937
- A.value.length > 2 && e.value.style.chart.legend.selectAllToggle.show && !r(re) ? (n(), I(Ta, {
938
- key: 0,
939
- backgroundColor: e.value.style.chart.legend.selectAllToggle.backgroundColor,
940
- color: e.value.style.chart.legend.selectAllToggle.color,
941
- fontSize: e.value.style.chart.legend.fontSize,
942
- checked: g.value.length > 0,
943
- isCursorPointer: x.value,
944
- onToggle: Pt
945
- }, null, 8, ["backgroundColor", "color", "fontSize", "checked", "isCursorPointer"])) : h("", !0)
946
- ]),
947
- _: 1
948
- }, 8, ["legendSet", "config", "isCursorPointer"])) : p(t.$slots, "legend", {
949
- key: 1,
950
- legend: A.value
951
- }, void 0, !0)
952
- ], 512)
953
- ], 8, ["to"])) : h("", !0),
954
- t.$slots.source ? (n(), u("div", {
955
- key: 6,
956
- ref_key: "source",
957
- ref: Se,
958
- dir: "auto"
959
- }, [
960
- p(t.$slots, "source", {}, void 0, !0)
961
- ], 512)) : h("", !0),
962
- oe(r(ct), {
963
- teleportTo: e.value.style.chart.tooltip.teleportTo,
964
- show: y.value.showTooltip && le.value,
965
- backgroundColor: e.value.style.chart.tooltip.backgroundColor,
966
- color: e.value.style.chart.tooltip.color,
967
- borderRadius: e.value.style.chart.tooltip.borderRadius,
968
- borderColor: e.value.style.chart.tooltip.borderColor,
969
- borderWidth: e.value.style.chart.tooltip.borderWidth,
970
- backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
971
- fontSize: e.value.style.chart.tooltip.fontSize,
972
- position: e.value.style.chart.tooltip.position,
973
- offsetY: e.value.style.chart.tooltip.offsetY,
974
- parent: S.value,
975
- content: ne.value,
976
- isFullscreen: R.value,
977
- isCustom: e.value.style.chart.tooltip.customFormat && typeof e.value.style.chart.tooltip.customFormat == "function",
978
- smooth: e.value.style.chart.tooltip.smooth,
979
- backdropFilter: e.value.style.chart.tooltip.backdropFilter,
980
- smoothForce: e.value.style.chart.tooltip.smoothForce,
981
- smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThreshold
982
- }, {
983
- "tooltip-before": v(() => [
984
- p(t.$slots, "tooltip-before", b(k({ ...he.value })), void 0, !0)
985
- ]),
986
- "tooltip-after": v(() => [
987
- ["function"].includes(typeof e.value.style.chart.tooltip.customFormat) ? h("", !0) : (n(), u("div", ja, [
988
- oe(r(dt), {
989
- dataset: ge.value,
990
- config: Tt.value,
991
- backgroundOpacity: 0
992
- }, {
993
- "data-label": v(({ bar: a }) => [
994
- $("div", qa, [
995
- $("span", Ha, D(a.name + (e.value.style.chart.tooltip.showValue || e.value.style.chart.tooltip.showPercentage ? ":" : "")), 1),
996
- e.value.style.chart.tooltip.showValue || e.value.style.chart.tooltip.showPercentage ? (n(), u("span", Ka, D(a.suffix), 1)) : h("", !0)
997
- ])
998
- ]),
999
- _: 1
1000
- }, 8, ["dataset", "config"])
1001
- ])),
1002
- p(t.$slots, "tooltip-after", b(k({ ...he.value })), void 0, !0)
1003
- ]),
1004
- _: 3
1005
- }, 8, ["teleportTo", "show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "fontSize", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
1006
- Te.value && e.value.userOptions.buttons.table ? (n(), I(Kt(j.value.component), Jt({ key: 7 }, j.value.props, {
1007
- ref_key: "tableUnit",
1008
- ref: X,
1009
- onClose: He
1010
- }), tt({
1011
- content: v(() => [
1012
- (n(), I(r(gt), {
1013
- key: `table_${Fe.value}`,
1014
- colNames: ee.value.colNames,
1015
- head: ee.value.head,
1016
- body: ee.value.body,
1017
- config: ee.value.config,
1018
- title: e.value.table.useDialog ? "" : j.value.title,
1019
- withCloseButton: !e.value.table.useDialog,
1020
- isCursorPointer: x.value,
1021
- onClose: He
1022
- }, {
1023
- th: v(({ th: a }) => [
1024
- be(D(a.name), 1)
1025
- ]),
1026
- td: v(({ td: a }) => [
1027
- be(D(a), 1)
1028
- ]),
1029
- _: 1
1030
- }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton", "isCursorPointer"]))
1031
- ]),
1032
- _: 2
1033
- }, [
1034
- e.value.table.useDialog ? {
1035
- name: "title",
1036
- fn: v(() => [
1037
- be(D(j.value.title), 1)
1038
- ]),
1039
- key: "0"
1040
- } : void 0,
1041
- e.value.table.useDialog ? {
1042
- name: "actions",
1043
- fn: v(() => [
1044
- $("button", {
1045
- tabindex: "0",
1046
- class: "vue-ui-user-options-button",
1047
- onClick: o[1] || (o[1] = (a) => fe(e.value.userOptions.callbacks.csv)),
1048
- style: q({ cursor: x.value ? "pointer" : "default" })
1049
- }, [
1050
- oe(r(vt), {
1051
- name: "fileCsv",
1052
- stroke: j.value.props.color
1053
- }, null, 8, ["stroke"])
1054
- ], 4)
1055
- ]),
1056
- key: "1"
1057
- } : void 0
1058
- ]), 1040)) : h("", !0),
1059
- p(t.$slots, "skeleton", {}, () => [
1060
- r(re) ? (n(), I(pa, { key: 0 })) : h("", !0)
1061
- ], !0)
1062
- ], 46, Aa));
1063
- }
1064
- }, yo = /* @__PURE__ */ Pa(Ja, [["__scopeId", "data-v-ed2dc0a6"]]);
1065
- export {
1066
- yo as default
1067
- };