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,1083 +0,0 @@
1
- import { defineAsyncComponent as D, useSlots as Ht, ref as u, computed as c, toRefs as Xt, watch as ae, shallowRef as lt, onMounted as Gt, onBeforeUnmount as jt, openBlock as i, createElementBlock as f, unref as s, normalizeStyle as N, normalizeClass as z, createBlock as _, withCtx as r, renderSlot as v, normalizeProps as T, guardReactiveProps as L, createCommentVNode as b, createElementVNode as C, createSlots as me, createVNode as oe, Fragment as se, renderList as ke, mergeProps as at, Teleport as Yt, toDisplayString as Ce, resolveDynamicComponent as qt, createTextVNode as ot, nextTick as st } from "vue";
2
- import { j as nt, t as ut, m as Kt, p as E, o as rt, q as we, r as Zt, n as Jt, a7 as Qt, s as it, k as $e, l as R, X as el, u as tl, v as ll, Z as al, a0 as ol, a1 as sl, K as nl, T as ul, U as rl } from "./lib-GwPnJSrY.js";
3
- import { b as il } from "./labelUtils-CTXUc3V9.js";
4
- import { t as vl, u as cl } from "./useResponsive-DfdjqQps.js";
5
- import { u as dl } from "./useConfig-CIgyKZ6R.js";
6
- import { u as hl } from "./usePrinter-DiK5R6k-.js";
7
- import { u as gl, B as pl } from "./BaseScanner-BhhkKVoj.js";
8
- import { u as fl } from "./useSvgExport-ByUukOZt.js";
9
- import { u as Te } from "./useNestedProp-BBT0mbHh.js";
10
- import { u as yl } from "./useThemeCheck-D1ZYXUwG.js";
11
- import { u as bl } from "./useUserOptionState-BIvW1Kz7.js";
12
- import { u as ml } from "./useChartAccessibility-9icAAmYg.js";
13
- import kl from "./img-BYYzY_QU.js";
14
- import { _ as Cl } from "./Shape-CSyWYgXc.js";
15
- import wl from "./Title-BfyrP-jp.js";
16
- import $l from "./vue_ui_rings-CxOrekqA.js";
17
- import Tl from "./Legend-1LMMsPxL.js";
18
- import { B as Ll } from "./BaseLegendToggle-Y61xahI4.js";
19
- import { _ as xl } from "./_plugin-vue_export-helper-CHgC5LLL.js";
20
- const Sl = ["id"], Al = ["id"], Pl = ["xmlns", "viewBox"], Ol = ["width", "height"], _l = ["id"], Il = ["stop-color"], Fl = ["stop-color"], Dl = { key: 1 }, Nl = ["stroke", "cx", "cy", "r", "fill"], zl = ["stroke", "stroke-width", "cx", "cy", "r", "fill"], Rl = ["stroke", "stroke-width", "cx", "cy", "r", "fill"], Vl = ["cx", "cy", "r", "onMouseenter", "onMouseleave", "onClick"], Ml = ["x", "y", "width", "height", "fill", "rx"], Bl = ["cx", "cy", "r", "fill", "stroke"], Ul = ["x", "y", "text-anchor", "font-size", "fill", "font-weight", "onMouseenter", "onMouseleave", "onClick", "innerHTML"], El = {
21
- key: 4,
22
- class: "vue-data-ui-watermark"
23
- }, Wl = ["id"], Hl = ["onClick"], Xl = ["innerHTML"], Gl = {
24
- __name: "vue-ui-rings",
25
- props: {
26
- config: {
27
- type: Object,
28
- default() {
29
- return {};
30
- }
31
- },
32
- dataset: {
33
- type: Array,
34
- default() {
35
- return [];
36
- }
37
- }
38
- },
39
- emits: ["selectLegend", "copyAlt"],
40
- setup(vt, { expose: ct, emit: dt }) {
41
- const ht = D(() => import("./Tooltip-DL3QgjZf.js")), gt = D(() => import("./BaseIcon-CNx8Tzl5.js")), pt = D(() => import("./vue-ui-accordion-BGHTqIBt.js")), ft = D(() => import("./DataTable-Bo1pmAqG.js")), yt = D(() => import("./PenAndPaper-DWV1FMIi.js")), bt = D(() => import("./UserOptions-CrLqEimB.js")), mt = D(() => import("./PackageVersion-DN9d0ME5.js")), kt = D(() => import("./BaseDraggableDialog-DSpKTn3R.js")), { vue_ui_rings: Ct } = dl(), { isThemeValid: wt, warnInvalidTheme: $t } = yl(), Tt = Ht(), m = vt, w = u(!1), Le = c(() => !!m.dataset && m.dataset.length), $ = u(nt()), Z = u(!1), ne = u(""), y = u(null), xe = u(0), S = u(null), Se = u(null), Ae = u(null), Pe = u(null), Oe = u(null), _e = u(0), Ie = u(0), Fe = u(0), ue = u(!1), De = u(!1), H = u(null), re = u(null), J = u(!1), Q = u(!1), e = u(ce()), V = c(() => e.value.userOptions.useCursorPointer), Lt = c(() => ut({
42
- defaultConfig: {
43
- userOptions: { show: !1 },
44
- table: { show: !1 },
45
- style: {
46
- chart: {
47
- backgroundColor: "#99999930",
48
- layout: {
49
- rings: {
50
- stroke: "#6A6A6A",
51
- gradient: {
52
- underlayerColor: "#FFFFFF"
53
- }
54
- },
55
- labels: {
56
- dataLabels: {
57
- show: !1
58
- }
59
- }
60
- },
61
- legend: {
62
- backgroundColor: "transparent"
63
- }
64
- }
65
- }
66
- },
67
- userConfig: e.value.skeletonConfig ?? {}
68
- })), { loading: x, FINAL_DATASET: Ne, manualLoading: ee } = gl({
69
- ...Xt(m),
70
- FINAL_CONFIG: e,
71
- prepareConfig: ce,
72
- skeletonDataset: m.config?.skeletonDataset ?? [
73
- { name: "_", values: [13], color: "#808080" },
74
- { name: "_", values: [8], color: "#969696" },
75
- { name: "_", values: [5], color: "#ADADAD" },
76
- { name: "_", values: [3], color: "#C4C4C4" },
77
- { name: "_", values: [2], color: "#DBDBDB" }
78
- ],
79
- skeletonConfig: ut({
80
- defaultConfig: e.value,
81
- userConfig: Lt.value
82
- })
83
- }), { userOptionsVisible: ie, setUserOptionsVisibility: ze, keepUserOptionState: Re } = bl({ config: e.value }), { svgRef: ve } = ml({ config: e.value.style.chart.title });
84
- function ce() {
85
- const t = Te({
86
- userConfig: m.config,
87
- defaultConfig: Ct
88
- }), a = t.theme;
89
- if (!a) return t;
90
- if (!wt.value(t))
91
- return $t(t), t;
92
- const l = Te({
93
- userConfig: $l[a] || m.config,
94
- defaultConfig: t
95
- });
96
- return {
97
- ...Te({
98
- userConfig: m.config,
99
- defaultConfig: l
100
- }),
101
- customPalette: t.customPalette.length ? t.customPalette : Kt[t.theme] || E
102
- };
103
- }
104
- ae(() => m.config, (t) => {
105
- x.value || (e.value = ce()), ie.value = !e.value.userOptions.showOnChartHover, Me(), _e.value += 1, Ie.value += 1, Fe.value += 1, p.value.showTable = e.value.table.show, p.value.showTooltip = e.value.style.chart.tooltip.show, p.value.showLabels = e.value.style.chart.layout.labels.dataLabels.show, d.value.width = e.value.style.chart.size, d.value.height = e.value.style.chart.size;
106
- }, { deep: !0 });
107
- const Ve = c(() => {
108
- const { markers: t } = e.value.style.chart.layout.labels.dataLabels, a = B.value / 2, l = p.value.showLabels ? t.position === "left" ? a : -a : 0, o = p.value.showLabels ? d.value.width / 2 - a : 0, n = t.position === "left" ? o : -o;
109
- return {
110
- x: e.value.responsive ? n : l / e.value.style.chart.size * d.value.width,
111
- y: 0 / e.value.style.chart.size * d.value.height
112
- };
113
- }), A = c(() => ({
114
- x: d.value.width / 2 + Ve.value.x,
115
- y: d.value.height / 2 + Ve.value.y
116
- }));
117
- ae(() => m.dataset, (t) => {
118
- Array.isArray(t) && t.length > 0 && (ee.value = !1);
119
- }, { deep: !0 });
120
- const I = lt(null), W = lt(null);
121
- Gt(() => {
122
- De.value = !0, Me();
123
- });
124
- const de = c(() => !!e.value.debug);
125
- function Me() {
126
- if (rt(m.dataset) ? (we({
127
- componentName: "VueUiRings",
128
- type: "dataset",
129
- debug: de.value
130
- }), ee.value = !0) : m.dataset.forEach((t, a) => {
131
- t.values.length || (we({
132
- componentName: "VueUiRings",
133
- type: "dataset",
134
- debug: de.value
135
- }), ee.value = !0), Zt({
136
- datasetObject: t,
137
- requiredAttributes: ["name", "values"]
138
- }).forEach((l) => {
139
- we({
140
- componentName: "VueUiRings",
141
- type: "datasetSerieAttribute",
142
- property: l,
143
- index: a,
144
- debug: de.value
145
- });
146
- });
147
- }), rt(m.dataset) || (ee.value = e.value.loading), e.value.responsive) {
148
- const t = vl(() => {
149
- ue.value = !0;
150
- const { width: a, height: l } = cl({
151
- chart: S.value,
152
- title: e.value.style.chart.title.text ? Se.value : null,
153
- legend: e.value.style.chart.legend.show ? Ae.value : null,
154
- source: Pe.value,
155
- noTitle: Oe.value
156
- });
157
- requestAnimationFrame(() => {
158
- d.value.width = a, d.value.height = l - 12, ue.value = !1;
159
- });
160
- });
161
- I.value && (W.value && I.value.unobserve(W.value), I.value.disconnect()), I.value = new ResizeObserver(t), W.value = S.value.parentNode, I.value.observe(W.value);
162
- }
163
- setTimeout(() => {
164
- w.value = !0;
165
- }, 600);
166
- }
167
- jt(() => {
168
- I.value && (W.value && I.value.unobserve(W.value), I.value.disconnect());
169
- });
170
- const { isPrinting: he, isImaging: ge, generatePdf: Be, generateImage: Ue } = hl({
171
- elementId: `rings_${$.value}`,
172
- fileName: e.value.style.chart.title.text || "vue-ui-rings",
173
- options: e.value.userOptions.print
174
- }), xt = c(() => e.value.userOptions.show && !e.value.style.chart.title.text), Ee = c(() => Jt(e.value.customPalette)), p = u({
175
- showTable: e.value.table.show,
176
- showTooltip: e.value.style.chart.tooltip.show,
177
- showLabels: e.value.style.chart.layout.labels.dataLabels.show
178
- });
179
- ae(e, () => {
180
- p.value = {
181
- showTable: e.value.table.show,
182
- showTooltip: e.value.style.chart.tooltip.show,
183
- showLabels: e.value.style.chart.layout.labels.dataLabels.show
184
- };
185
- }, { immediate: !0 });
186
- const d = u({
187
- height: e.value.style.chart.size,
188
- width: e.value.style.chart.size
189
- }), St = c(() => Math.min(d.value.height, d.value.width)), We = dt, h = u([]);
190
- function At() {
191
- h.value.length ? h.value = [] : G.value.forEach((t) => {
192
- h.value.push(t.uid);
193
- });
194
- }
195
- function X(t) {
196
- if (h.value.includes(t))
197
- h.value = h.value.filter((a) => a !== t);
198
- else {
199
- if (h.value.length === M.value.length - 1) return;
200
- h.value.push(t);
201
- }
202
- We("selectLegend", k.value.map((a) => ({
203
- name: a.name,
204
- color: a.color,
205
- value: a.value
206
- })));
207
- }
208
- function He(t) {
209
- if (!M.value.length)
210
- return e.value.debug && console.warn("VueUiRings - There are no series to show."), null;
211
- const a = M.value.find((l) => l.name === t);
212
- return a || (e.value.debug && console.warn(`VueUiRings - Series name not found "${t}"`), null);
213
- }
214
- function Pt(t) {
215
- const a = He(t);
216
- a !== null && h.value.includes(a.uid) && X(a.uid);
217
- }
218
- function Ot(t) {
219
- const a = He(t);
220
- a !== null && (h.value.includes(a.uid) || X(a.uid));
221
- }
222
- const _t = c(() => Math.max(
223
- ...M.value.filter((t) => !h.value.includes(t.uid)).map(({ value: t }) => t)
224
- ));
225
- function Xe(t) {
226
- return t / _t.value;
227
- }
228
- const M = c(() => Ne.value.map(({ values: t, name: a, color: l = null }, o) => {
229
- const n = Qt(t).reduce((g, K) => g + K, 0);
230
- return {
231
- name: a,
232
- color: l || it(l) || Ee.value[o] || E[o] || E[o % E.length],
233
- value: n,
234
- proportion: n / Ne.value.map((g) => (g.values || []).reduce((K, Wt) => K + Wt, 0)).reduce((g, K) => g + K, 0),
235
- uid: nt(),
236
- absoluteIndex: o
237
- };
238
- })), G = c(() => M.value.map((t, a) => {
239
- const l = $e(e.value.style.chart.layout.labels.dataLabels.formatter, t.value, R({
240
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
241
- v: t.value,
242
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
243
- r: e.value.style.chart.legend.roundingValue
244
- }), { datapoint: t, index: a }), o = isNaN(t.value / P.value) ? "-" : R({ v: t.value / P.value * 100, s: "%", r: e.value.style.chart.legend.roundingPercentage }), n = pe({
245
- showVal: e.value.style.chart.legend.showValue,
246
- showPercentage: e.value.style.chart.legend.showPercentage,
247
- val: l,
248
- percentage: h.value.includes(t.uid) ? "-%" : o
249
- });
250
- return {
251
- ...t,
252
- shape: "circle",
253
- opacity: h.value.includes(t.uid) ? 0.5 : 1,
254
- segregate: () => X(t.uid),
255
- isSegregated: h.value.includes(t.uid),
256
- display: `${t.name}${e.value.style.chart.legend.showPercentage || e.value.style.chart.legend.showValue ? ": " : ""}${n}`
257
- };
258
- }).toSorted((t, a) => a.value - t.value)), It = c(() => ({
259
- cy: "rings-div-legend",
260
- backgroundColor: e.value.style.chart.legend.backgroundColor,
261
- color: e.value.style.chart.legend.color,
262
- fontSize: e.value.style.chart.legend.fontSize,
263
- paddingBottom: 12,
264
- fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
265
- })), P = c(() => M.value.filter((t) => !h.value.includes(t.uid)).map(({ value: t }) => t).reduce((t, a) => t + a, 0)), k = c(() => M.value.filter((t) => !h.value.includes(t.uid)).map(({ name: t, value: a, color: l = null, uid: o, absoluteIndex: n }, g) => ({
266
- absoluteIndex: n,
267
- uid: o,
268
- name: t,
269
- color: l || it(l) || Ee.value[g] || E[g] || E[g % E.length],
270
- value: a,
271
- proportion: Xe(a),
272
- percentage: a / P.value * 100,
273
- strokeWidth: e.value.style.chart.layout.rings.strokeWidth * Xe(a)
274
- })).toSorted((t, a) => a.value - t.value));
275
- function Ft() {
276
- return k.value.map(
277
- ({ name: t, color: a, value: l, absoluteValues: o, percentage: n }) => ({
278
- name: t,
279
- color: a,
280
- value: l,
281
- absoluteValues: o,
282
- percentage: n
283
- })
284
- );
285
- }
286
- const B = c(() => St.value - e.value.style.chart.layout.rings.strokeWidth * 2);
287
- function Ge(t, a) {
288
- e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: a });
289
- }
290
- function je(t, a) {
291
- y.value = null, Z.value = !1, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: a });
292
- }
293
- function pe({
294
- val: t,
295
- percentage: a,
296
- showVal: l,
297
- showPercentage: o
298
- }) {
299
- const n = e.value.style.chart.layout.labels.dataLabels;
300
- return il({
301
- config: n,
302
- val: t,
303
- percentage: a,
304
- showVal: l,
305
- showPercentage: o
306
- });
307
- }
308
- function Dt(t) {
309
- const a = e.value.style.chart.layout.labels.dataLabels, l = $e(
310
- a.formatter,
311
- t.value,
312
- R({
313
- p: a.prefix,
314
- v: t.value,
315
- s: a.suffix,
316
- r: a.roundingValue
317
- })
318
- ), o = R({
319
- v: t.percentage,
320
- s: "%",
321
- r: a.roundingPercentage
322
- });
323
- return `${t.name}
324
- ${pe({
325
- val: l,
326
- percentage: o,
327
- showVal: a.showValue,
328
- showPercentage: a.showPercentage
329
- })}`;
330
- }
331
- function j(t) {
332
- return nl(B.value * t.proportion / 2 * 0.9 <= 0 ? 1e-4 : B.value * t.proportion / 2 * 0.9);
333
- }
334
- function Y(t, a) {
335
- return a === 0 ? A.value.y : A.value.y + B.value * k.value[0].proportion / 2 - B.value * t.proportion / 2 - 2 * (a + 1);
336
- }
337
- function O(t, a) {
338
- const o = e.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? -(B.value / 2) : B.value / 2;
339
- return {
340
- x: A.value.x + o,
341
- y: Y(t, a) - j(t)
342
- };
343
- }
344
- const fe = u(null);
345
- function Ye(t, a) {
346
- if (e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: a }), h.value.length === m.dataset.length) return;
347
- fe.value = {
348
- datapoint: t,
349
- seriesIndex: a,
350
- series: k.value,
351
- config: e.value
352
- }, y.value = a;
353
- const l = k.value[a], o = e.value.style.chart.tooltip.customFormat;
354
- if (ul(o) && rl(() => o({
355
- seriesIndex: a,
356
- datapoint: t,
357
- series: k.value,
358
- config: e.value
359
- })))
360
- ne.value = o({
361
- seriesIndex: a,
362
- datapoint: t,
363
- series: k.value,
364
- config: e.value
365
- });
366
- else {
367
- let n = "";
368
- n += `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${l.name}</div>`, n += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${l.color}" />${Tt.pattern ? `<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${$.value}_${t.absoluteIndex})" />` : ""}</svg>`, n += `<b>${pe({
369
- showVal: e.value.style.chart.tooltip.showValue,
370
- showPercentage: e.value.style.chart.tooltip.showPercentage,
371
- val: `<span>${$e(
372
- e.value.style.chart.layout.labels.dataLabels.formatter,
373
- l.value,
374
- R({
375
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
376
- v: l.value,
377
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
378
- r: e.value.style.chart.tooltip.roundingValue
379
- }),
380
- { datapoint: t, seriesIndex: a }
381
- )}</span>`,
382
- percentage: R({
383
- v: l.value / P.value * 100,
384
- s: "%",
385
- r: e.value.style.chart.tooltip.roundingPercentage
386
- })
387
- })}</b></div>`, ne.value = n;
388
- }
389
- Z.value = !0;
390
- }
391
- const F = c(() => {
392
- const t = k.value.map((l) => ({
393
- name: l.name,
394
- color: l.color
395
- })), a = k.value.map((l) => l.value);
396
- return { head: t, body: a };
397
- }), te = c(() => {
398
- const t = [
399
- ' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>',
400
- R({ p: e.value.style.chart.layout.labels.dataLabels.prefix, v: P.value, s: e.value.style.chart.layout.labels.dataLabels.suffix, r: e.value.table.td.roundingValue }),
401
- "100%"
402
- ], a = F.value.head.map((n, g) => [
403
- {
404
- color: n.color,
405
- name: n.name
406
- },
407
- R({ p: e.value.style.chart.layout.labels.dataLabels.prefix, v: F.value.body[g], s: e.value.style.chart.layout.labels.dataLabels.suffix, r: e.value.table.td.roundingValue }),
408
- isNaN(F.value.body[g] / P.value) ? "-" : (F.value.body[g] / P.value * 100).toFixed(e.value.table.td.roundingPercentage) + "%"
409
- ]), l = {
410
- th: {
411
- backgroundColor: e.value.table.th.backgroundColor,
412
- color: e.value.table.th.color,
413
- outline: e.value.table.th.outline
414
- },
415
- td: {
416
- backgroundColor: e.value.table.td.backgroundColor,
417
- color: e.value.table.td.color,
418
- outline: e.value.table.td.outline
419
- },
420
- breakpoint: e.value.table.responsiveBreakpoint
421
- }, o = [
422
- e.value.table.columnNames.series,
423
- e.value.table.columnNames.value,
424
- e.value.table.columnNames.percentage
425
- ];
426
- return {
427
- head: t,
428
- body: a,
429
- config: l,
430
- colNames: o
431
- };
432
- });
433
- function ye(t = null) {
434
- st(() => {
435
- const a = F.value.head.map((n, g) => [[
436
- n.name
437
- ], [F.value.body[g]], [isNaN(F.value.body[g] / P.value) ? "-" : F.value.body[g] / P.value * 100]]), l = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [[""], ["val"], ["%"]]].concat(a), o = ol(l);
438
- t ? t(o) : sl({ csvContent: o, title: e.value.style.chart.title.text || "vue-ui-rings" });
439
- });
440
- }
441
- const U = u(!1);
442
- function qe(t) {
443
- U.value = t, xe.value += 1;
444
- }
445
- function Ke() {
446
- p.value.showTable = !p.value.showTable;
447
- }
448
- function Ze() {
449
- p.value.showTooltip = !p.value.showTooltip;
450
- }
451
- function Je() {
452
- p.value.showLabels = !p.value.showLabels;
453
- }
454
- const le = u(!1);
455
- function be() {
456
- le.value = !le.value;
457
- }
458
- async function Nt({ scale: t = 2 } = {}) {
459
- if (!S.value) return;
460
- const { width: a, height: l } = S.value.getBoundingClientRect(), o = a / l, { imageUri: n, base64: g } = await kl({ domElement: S.value, base64: !0, img: !0, scale: t });
461
- return {
462
- imageUri: n,
463
- base64: g,
464
- title: e.value.style.chart.title.text,
465
- width: a,
466
- height: l,
467
- aspectRatio: o
468
- };
469
- }
470
- const q = c(() => {
471
- const t = e.value.table.useDialog && !e.value.table.show, a = p.value.showTable;
472
- return {
473
- component: t ? kt : pt,
474
- title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
475
- props: t ? {
476
- backgroundColor: e.value.table.th.backgroundColor,
477
- color: e.value.table.th.color,
478
- headerColor: e.value.table.th.color,
479
- headerBg: e.value.table.th.backgroundColor,
480
- isFullscreen: U.value,
481
- fullscreenParent: S.value,
482
- forcedWidth: Math.min(800, window.innerWidth * 0.8),
483
- isCursorPointer: V.value
484
- } : {
485
- hideDetails: !0,
486
- config: {
487
- open: a,
488
- maxHeight: 1e4,
489
- body: {
490
- backgroundColor: e.value.style.chart.backgroundColor,
491
- color: e.value.style.chart.color
492
- },
493
- head: {
494
- backgroundColor: e.value.style.chart.backgroundColor,
495
- color: e.value.style.chart.color
496
- }
497
- }
498
- }
499
- };
500
- });
501
- ae(() => p.value.showTable, (t) => {
502
- e.value.table.show || (t && e.value.table.useDialog && H.value ? H.value.open() : "close" in H.value && H.value.close());
503
- });
504
- function Qe() {
505
- p.value.showTable = !1, re.value && re.value.setTableIconState(!1);
506
- }
507
- const zt = c(() => G.value.map((t) => ({
508
- ...t,
509
- name: t.display
510
- }))), Rt = c(() => e.value.style.chart.backgroundColor), Vt = c(() => e.value.style.chart.legend), Mt = c(() => e.value.style.chart.title), { exportSvg: Bt, getSvg: Ut } = fl({
511
- svg: ve,
512
- title: Mt,
513
- legend: Vt,
514
- legendItems: zt,
515
- backgroundColor: Rt
516
- });
517
- async function et({ isCb: t }) {
518
- Q.value = !0, await st();
519
- try {
520
- if (t) {
521
- const { blob: a, url: l, text: o, dataUrl: n } = await Ut();
522
- await Promise.resolve(e.value.userOptions.callbacks.svg({ blob: a, url: l, text: o, dataUrl: n }));
523
- } else
524
- await Promise.resolve(Bt());
525
- } finally {
526
- Q.value = !1;
527
- }
528
- }
529
- function Et(t) {
530
- if (t?.stage === "start") {
531
- J.value = !0;
532
- return;
533
- }
534
- if (t?.stage === "end") {
535
- J.value = !1;
536
- return;
537
- }
538
- Ue();
539
- }
540
- async function tt() {
541
- if (We("copyAlt", {
542
- config: e.value,
543
- dataset: k.value
544
- }), !e.value.userOptions.callbacks.altCopy) {
545
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
546
- return;
547
- }
548
- await Promise.resolve(e.value.userOptions.callbacks.altCopy({
549
- config: e.value,
550
- dataset: k.value
551
- }));
552
- }
553
- return ct({
554
- getData: Ft,
555
- getImage: Nt,
556
- generatePdf: Be,
557
- generateCsv: ye,
558
- generateImage: Ue,
559
- generateSvg: et,
560
- hideSeries: Ot,
561
- showSeries: Pt,
562
- toggleTable: Ke,
563
- toggleTooltip: Ze,
564
- toggleAnnotator: be,
565
- toggleFullscreen: qe,
566
- toggleLabels: Je,
567
- copyAlt: tt
568
- }), (t, a) => (i(), f("div", {
569
- ref_key: "ringsChart",
570
- ref: S,
571
- class: z(`vue-data-ui-component vue-ui-rings ${U.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
572
- style: N(`font-family:${e.value.style.fontFamily};text-align:center;width:100%;background:${e.value.style.chart.backgroundColor};${e.value.responsive ? "height: 100%" : ""}`),
573
- id: `rings_${$.value}`,
574
- onMouseleave: a[2] || (a[2] = (l) => {
575
- y.value = null, Z.value = !1, s(ze)(!1);
576
- }),
577
- onMouseenter: a[3] || (a[3] = () => s(ze)(!0))
578
- }, [
579
- e.value.userOptions.buttons.annotator ? (i(), _(s(yt), {
580
- key: 0,
581
- svgRef: s(ve),
582
- backgroundColor: e.value.style.chart.backgroundColor,
583
- color: e.value.style.chart.color,
584
- active: le.value,
585
- isCursorPointer: V.value,
586
- onClose: be
587
- }, {
588
- "annotator-action-close": r(() => [
589
- v(t.$slots, "annotator-action-close", {}, void 0, !0)
590
- ]),
591
- "annotator-action-color": r(({ color: l }) => [
592
- v(t.$slots, "annotator-action-color", T(L({ color: l })), void 0, !0)
593
- ]),
594
- "annotator-action-draw": r(({ mode: l }) => [
595
- v(t.$slots, "annotator-action-draw", T(L({ mode: l })), void 0, !0)
596
- ]),
597
- "annotator-action-undo": r(({ disabled: l }) => [
598
- v(t.$slots, "annotator-action-undo", T(L({ disabled: l })), void 0, !0)
599
- ]),
600
- "annotator-action-redo": r(({ disabled: l }) => [
601
- v(t.$slots, "annotator-action-redo", T(L({ disabled: l })), void 0, !0)
602
- ]),
603
- "annotator-action-delete": r(({ disabled: l }) => [
604
- v(t.$slots, "annotator-action-delete", T(L({ disabled: l })), void 0, !0)
605
- ]),
606
- _: 3
607
- }, 8, ["svgRef", "backgroundColor", "color", "active", "isCursorPointer"])) : b("", !0),
608
- xt.value ? (i(), f("div", {
609
- key: 1,
610
- ref_key: "noTitle",
611
- ref: Oe,
612
- class: "vue-data-ui-no-title-space",
613
- style: "height:36px; width: 100%;background:transparent"
614
- }, null, 512)) : b("", !0),
615
- e.value.style.chart.title.text ? (i(), f("div", {
616
- key: 2,
617
- ref_key: "chartTitle",
618
- ref: Se,
619
- style: "width:100%;background:transparent"
620
- }, [
621
- (i(), _(wl, {
622
- key: `title_${_e.value}`,
623
- config: {
624
- title: {
625
- cy: "rings-div-title",
626
- ...e.value.style.chart.title
627
- },
628
- subtitle: {
629
- cy: "rings-div-subtitle",
630
- ...e.value.style.chart.title.subtitle
631
- }
632
- }
633
- }, null, 8, ["config"]))
634
- ], 512)) : b("", !0),
635
- C("div", {
636
- id: `legend-top-${$.value}`
637
- }, null, 8, Al),
638
- e.value.userOptions.show && Le.value && (s(Re) || s(ie)) ? (i(), _(s(bt), {
639
- ref_key: "userOptionsRef",
640
- ref: re,
641
- key: `user_options_${xe.value}`,
642
- backgroundColor: e.value.style.chart.backgroundColor,
643
- color: e.value.style.chart.color,
644
- isPrinting: s(he),
645
- isImaging: s(ge),
646
- uid: $.value,
647
- hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.chart.tooltip.show,
648
- hasPdf: e.value.userOptions.buttons.pdf,
649
- hasXls: e.value.userOptions.buttons.csv,
650
- hasImg: e.value.userOptions.buttons.img,
651
- hasSvg: e.value.userOptions.buttons.svg,
652
- hasTable: e.value.userOptions.buttons.table,
653
- hasFullscreen: e.value.userOptions.buttons.fullscreen,
654
- hasAltCopy: e.value.userOptions.buttons.altCopy,
655
- hasLabel: e.value.userOptions.buttons.labels,
656
- isTooltip: p.value.showTooltip,
657
- isFullscreen: U.value,
658
- titles: { ...e.value.userOptions.buttonTitles },
659
- chartElement: S.value,
660
- position: e.value.userOptions.position,
661
- hasAnnotator: e.value.userOptions.buttons.annotator,
662
- isAnnotation: le.value,
663
- callbacks: e.value.userOptions.callbacks,
664
- printScale: e.value.userOptions.print.scale,
665
- tableDialog: e.value.table.useDialog,
666
- isCursorPointer: V.value,
667
- onToggleFullscreen: qe,
668
- onGeneratePdf: s(Be),
669
- onGenerateCsv: ye,
670
- onGenerateImage: Et,
671
- onGenerateSvg: et,
672
- onToggleTable: Ke,
673
- onToggleTooltip: Ze,
674
- onToggleAnnotator: be,
675
- onToggleLabels: Je,
676
- onCopyAlt: tt,
677
- style: N({
678
- visibility: s(Re) ? s(ie) ? "visible" : "hidden" : "visible"
679
- })
680
- }, me({ _: 2 }, [
681
- t.$slots.menuIcon ? {
682
- name: "menuIcon",
683
- fn: r(({ isOpen: l, color: o }) => [
684
- v(t.$slots, "menuIcon", T(L({ isOpen: l, color: o })), void 0, !0)
685
- ]),
686
- key: "0"
687
- } : void 0,
688
- t.$slots.optionTooltip ? {
689
- name: "optionTooltip",
690
- fn: r(() => [
691
- v(t.$slots, "optionTooltip", {}, void 0, !0)
692
- ]),
693
- key: "1"
694
- } : void 0,
695
- t.$slots.optionPdf ? {
696
- name: "optionPdf",
697
- fn: r(() => [
698
- v(t.$slots, "optionPdf", {}, void 0, !0)
699
- ]),
700
- key: "2"
701
- } : void 0,
702
- t.$slots.optionCsv ? {
703
- name: "optionCsv",
704
- fn: r(() => [
705
- v(t.$slots, "optionCsv", {}, void 0, !0)
706
- ]),
707
- key: "3"
708
- } : void 0,
709
- t.$slots.optionImg ? {
710
- name: "optionImg",
711
- fn: r(() => [
712
- v(t.$slots, "optionImg", {}, void 0, !0)
713
- ]),
714
- key: "4"
715
- } : void 0,
716
- t.$slots.optionSvg ? {
717
- name: "optionSvg",
718
- fn: r(() => [
719
- v(t.$slots, "optionSvg", {}, void 0, !0)
720
- ]),
721
- key: "5"
722
- } : void 0,
723
- t.$slots.optionTable ? {
724
- name: "optionTable",
725
- fn: r(() => [
726
- v(t.$slots, "optionTable", {}, void 0, !0)
727
- ]),
728
- key: "6"
729
- } : void 0,
730
- t.$slots.optionLabels ? {
731
- name: "optionLabels",
732
- fn: r(() => [
733
- v(t.$slots, "optionLabels", {}, void 0, !0)
734
- ]),
735
- key: "7"
736
- } : void 0,
737
- t.$slots.optionFullscreen ? {
738
- name: "optionFullscreen",
739
- fn: r(({ toggleFullscreen: l, isFullscreen: o }) => [
740
- v(t.$slots, "optionFullscreen", T(L({ toggleFullscreen: l, isFullscreen: o })), void 0, !0)
741
- ]),
742
- key: "8"
743
- } : void 0,
744
- t.$slots.optionAnnotator ? {
745
- name: "optionAnnotator",
746
- fn: r(({ toggleAnnotator: l, isAnnotator: o }) => [
747
- v(t.$slots, "optionAnnotator", T(L({ toggleAnnotator: l, isAnnotator: o })), void 0, !0)
748
- ]),
749
- key: "9"
750
- } : void 0,
751
- t.$slots.optionAltCopy ? {
752
- name: "optionAltCopy",
753
- fn: r(({ altCopy: l }) => [
754
- v(t.$slots, "optionAltCopy", T(L({ altCopy: l })), void 0, !0)
755
- ]),
756
- key: "10"
757
- } : void 0
758
- ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasXls", "hasImg", "hasSvg", "hasTable", "hasFullscreen", "hasAltCopy", "hasLabel", "isTooltip", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "tableDialog", "isCursorPointer", "onGeneratePdf", "style"])) : b("", !0),
759
- (i(), f("svg", {
760
- ref_key: "svgRef",
761
- ref: ve,
762
- xmlns: s(el),
763
- class: z({ "vue-data-ui-fullscreen--on": U.value, "vue-data-ui-fulscreen--off": !U.value, resizing: ue.value || s(x) }),
764
- viewBox: `0 0 ${d.value.width <= 0 ? 10 : d.value.width} ${d.value.height <= 0 ? 10 : d.value.height}`,
765
- style: N(`max-width:100%;overflow:hidden;background:transparent;color:${e.value.style.chart.color}`)
766
- }, [
767
- oe(s(mt)),
768
- t.$slots["chart-background"] ? (i(), f("foreignObject", {
769
- key: 0,
770
- x: 0,
771
- y: 0,
772
- width: d.value.width <= 0 ? 10 : d.value.width,
773
- height: d.value.height <= 0 ? 10 : d.value.height,
774
- style: {
775
- pointerEvents: "none"
776
- }
777
- }, [
778
- v(t.$slots, "chart-background", {}, void 0, !0)
779
- ], 8, Ol)) : b("", !0),
780
- C("defs", null, [
781
- (i(!0), f(se, null, ke(k.value, (l, o) => (i(), f("radialGradient", {
782
- cx: "50%",
783
- cy: "30%",
784
- r: "50%",
785
- fx: "50%",
786
- fy: "50%",
787
- id: `gradient_${$.value}_${o}`
788
- }, [
789
- C("stop", {
790
- offset: "0%",
791
- "stop-color": s(tl)(s(ll)(l.color, 0.05), 100 - e.value.style.chart.layout.rings.gradient.intensity)
792
- }, null, 8, Il),
793
- C("stop", {
794
- offset: "100%",
795
- "stop-color": l.color
796
- }, null, 8, Fl)
797
- ], 8, _l))), 256))
798
- ]),
799
- t.$slots.pattern ? (i(), f("g", Dl, [
800
- (i(!0), f(se, null, ke(k.value, (l) => (i(), f("defs", null, [
801
- v(t.$slots, "pattern", at({ ref_for: !0 }, { seriesIndex: l.absoluteIndex, patternId: `pattern_${$.value}_${l.absoluteIndex}` }), void 0, !0)
802
- ]))), 256))
803
- ])) : b("", !0),
804
- (i(!0), f(se, null, ke(k.value, (l, o) => (i(), f("g", null, [
805
- C("circle", {
806
- class: z({
807
- "vue-ui-rings-item": w.value && e.value.useCssAnimation,
808
- "vue-rings-item-onload": !w.value && e.value.useCssAnimation && !s(x),
809
- "vue-ui-rings-opacity": y.value !== null && y.value !== o
810
- }),
811
- style: N(`animation-delay:${o * 100}ms`),
812
- stroke: e.value.style.chart.layout.rings.stroke,
813
- cx: A.value.x,
814
- cy: Y(l, o),
815
- r: j(l),
816
- fill: e.value.style.chart.layout.rings.gradient.underlayerColor
817
- }, null, 14, Nl),
818
- C("circle", {
819
- class: z({
820
- "vue-ui-rings-item": w.value && e.value.useCssAnimation,
821
- "vue-rings-item-onload": !w.value && e.value.useCssAnimation && !s(x),
822
- "vue-ui-rings-shadow": e.value.style.chart.layout.rings.useShadow,
823
- "vue-ui-rings-blur": y.value !== null && y.value !== o
824
- }),
825
- style: N(`animation-delay:${o * 100}ms`),
826
- stroke: e.value.style.chart.layout.rings.stroke,
827
- "stroke-width": l.strokeWidth < 0.5 ? 0.5 : l.strokeWidth,
828
- cx: A.value.x,
829
- cy: Y(l, o),
830
- r: j(l),
831
- fill: e.value.style.chart.layout.rings.gradient.show ? `url(#gradient_${$.value}_${o})` : l.color
832
- }, null, 14, zl),
833
- t.$slots.pattern ? (i(), f("circle", {
834
- key: 0,
835
- class: z({
836
- "vue-ui-rings-item": w.value && e.value.useCssAnimation,
837
- "vue-rings-item-onload": !w.value && e.value.useCssAnimation && !s(x),
838
- "vue-ui-rings-shadow": e.value.style.chart.layout.rings.useShadow,
839
- "vue-ui-rings-blur": y.value !== null && y.value !== o
840
- }),
841
- style: N(`animation-delay:${o * 100}ms`),
842
- stroke: e.value.style.chart.layout.rings.stroke,
843
- "stroke-width": l.strokeWidth < 0.5 ? 0.5 : l.strokeWidth,
844
- cx: A.value.x,
845
- cy: Y(l, o),
846
- r: j(l),
847
- fill: `url(#pattern_${$.value}_${l.absoluteIndex})`
848
- }, null, 14, Rl)) : b("", !0),
849
- C("circle", {
850
- stroke: "none",
851
- cx: A.value.x,
852
- cy: Y(l, o),
853
- r: j(l),
854
- fill: "transparent",
855
- onMouseenter: (n) => Ye(l, o),
856
- onMouseleave: (n) => je(l, o),
857
- onClick: (n) => Ge(l, o)
858
- }, null, 40, Vl),
859
- p.value.showLabels ? (i(), f(se, { key: 1 }, [
860
- C("rect", {
861
- x: e.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? O(l, o).x : A.value.x,
862
- y: O(l, o).y - e.value.style.chart.layout.labels.dataLabels.markers.strokeWidth / 2,
863
- width: Math.abs(A.value.x - O(l, o).x),
864
- height: e.value.style.chart.layout.labels.dataLabels.markers.strokeWidth,
865
- fill: e.value.style.chart.layout.labels.dataLabels.markers.stroke,
866
- rx: e.value.style.chart.layout.labels.dataLabels.markers.strokeWidth,
867
- class: z({
868
- "vue-ui-rings-item": w.value && e.value.useCssAnimation,
869
- "vue-rings-item-onload": !w.value && e.value.useCssAnimation && !s(x),
870
- "vue-ui-rings-shadow": e.value.style.chart.layout.rings.useShadow,
871
- "vue-ui-rings-blur": y.value !== null && y.value !== o
872
- })
873
- }, null, 10, Ml),
874
- C("circle", {
875
- cx: O(l, o).x,
876
- cy: O(l, o).y,
877
- r: e.value.style.chart.layout.labels.dataLabels.markers.radius,
878
- fill: l.color,
879
- stroke: e.value.style.chart.backgroundColor,
880
- class: z({
881
- "vue-ui-rings-item": w.value && e.value.useCssAnimation,
882
- "vue-rings-item-onload": !w.value && e.value.useCssAnimation && !s(x),
883
- "vue-ui-rings-shadow": e.value.style.chart.layout.rings.useShadow,
884
- "vue-ui-rings-blur": y.value !== null && y.value !== o
885
- })
886
- }, null, 10, Bl),
887
- C("text", {
888
- x: O(l, o).x + (e.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? -e.value.style.chart.layout.labels.dataLabels.offsetX : e.value.style.chart.layout.labels.dataLabels.offsetX),
889
- y: O(l, o).y + e.value.style.chart.layout.labels.dataLabels.fontSize / 3,
890
- "text-anchor": e.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? "end" : "start",
891
- "font-size": e.value.style.chart.layout.labels.dataLabels.fontSize,
892
- fill: e.value.style.chart.layout.labels.dataLabels.color,
893
- "font-weight": e.value.style.chart.layout.labels.dataLabels.bold ? "bold" : "normal",
894
- class: z({
895
- "vue-ui-rings-item": w.value && e.value.useCssAnimation,
896
- "vue-rings-item-onload": !w.value && e.value.useCssAnimation && !s(x),
897
- "vue-ui-rings-shadow": e.value.style.chart.layout.rings.useShadow,
898
- "vue-ui-rings-blur": y.value !== null && y.value !== o
899
- }),
900
- onMouseenter: (n) => Ye(l, o),
901
- onMouseleave: (n) => je(l, o),
902
- onClick: (n) => Ge(l, o),
903
- innerHTML: s(al)({
904
- content: Dt(l),
905
- fontSize: e.value.style.chart.layout.labels.dataLabels.fontSize,
906
- fill: e.value.style.chart.layout.labels.dataLabels.color,
907
- x: O(l, o).x + (e.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? -e.value.style.chart.layout.labels.dataLabels.offsetX - 6 - e.value.style.chart.layout.labels.dataLabels.markers.radius : e.value.style.chart.layout.labels.dataLabels.offsetX + 6 + e.value.style.chart.layout.labels.dataLabels.markers.radius),
908
- y: O(l, o).y + e.value.style.chart.layout.labels.dataLabels.fontSize / 3,
909
- translateY: !0
910
- })
911
- }, null, 42, Ul)
912
- ], 64)) : b("", !0)
913
- ]))), 256)),
914
- v(t.$slots, "svg", {
915
- svg: {
916
- ...d.value,
917
- isPrintingImg: s(he) | s(ge) | J.value,
918
- isPrintingSvg: Q.value
919
- }
920
- }, void 0, !0)
921
- ], 14, Pl)),
922
- t.$slots.watermark ? (i(), f("div", El, [
923
- v(t.$slots, "watermark", T(L({ isPrinting: s(he) || s(ge) || J.value || Q.value })), void 0, !0)
924
- ])) : b("", !0),
925
- C("div", {
926
- id: `legend-bottom-${$.value}`
927
- }, null, 8, Wl),
928
- De.value ? (i(), _(Yt, {
929
- key: 5,
930
- to: e.value.style.chart.legend.position === "top" ? `#legend-top-${$.value}` : `#legend-bottom-${$.value}`
931
- }, [
932
- C("div", {
933
- ref_key: "chartLegend",
934
- ref: Ae
935
- }, [
936
- e.value.style.chart.legend.show ? (i(), _(Tl, {
937
- key: `legend_${Fe.value}`,
938
- legendSet: G.value,
939
- config: It.value,
940
- isCursorPointer: V.value,
941
- onClickMarker: a[0] || (a[0] = ({ legend: l }) => X(l.uid))
942
- }, me({
943
- item: r(({ legend: l, index: o }) => [
944
- s(x) ? b("", !0) : (i(), f("div", {
945
- key: 0,
946
- onClick: (n) => X(l.uid),
947
- style: N(`opacity:${h.value.includes(l.uid) ? 0.5 : 1}`)
948
- }, Ce(l.display), 13, Hl))
949
- ]),
950
- legendToggle: r(() => [
951
- G.value.length > 2 && e.value.style.chart.legend.selectAllToggle.show && !s(x) ? (i(), _(Ll, {
952
- key: 0,
953
- backgroundColor: e.value.style.chart.legend.selectAllToggle.backgroundColor,
954
- color: e.value.style.chart.legend.selectAllToggle.color,
955
- fontSize: e.value.style.chart.legend.fontSize,
956
- checked: h.value.length > 0,
957
- isCursorPointer: V.value,
958
- onToggle: At
959
- }, null, 8, ["backgroundColor", "color", "fontSize", "checked", "isCursorPointer"])) : b("", !0)
960
- ]),
961
- _: 2
962
- }, [
963
- t.$slots.pattern ? {
964
- name: "legend-pattern",
965
- fn: r(({ legend: l, index: o }) => [
966
- oe(Cl, {
967
- shape: l.shape,
968
- radius: 30,
969
- stroke: "none",
970
- plot: { x: 30, y: 30 },
971
- fill: `url(#pattern_${$.value}_${o})`
972
- }, null, 8, ["shape", "fill"])
973
- ]),
974
- key: "0"
975
- } : void 0
976
- ]), 1032, ["legendSet", "config", "isCursorPointer"])) : v(t.$slots, "legend", {
977
- key: 1,
978
- legend: G.value
979
- }, void 0, !0)
980
- ], 512)
981
- ], 8, ["to"])) : b("", !0),
982
- t.$slots.source ? (i(), f("div", {
983
- key: 6,
984
- ref_key: "source",
985
- ref: Pe,
986
- dir: "auto"
987
- }, [
988
- v(t.$slots, "source", {}, void 0, !0)
989
- ], 512)) : b("", !0),
990
- oe(s(ht), {
991
- teleportTo: e.value.style.chart.tooltip.teleportTo,
992
- show: p.value.showTooltip && Z.value && h.value.length < m.dataset.length,
993
- backgroundColor: e.value.style.chart.tooltip.backgroundColor,
994
- color: e.value.style.chart.tooltip.color,
995
- borderRadius: e.value.style.chart.tooltip.borderRadius,
996
- borderColor: e.value.style.chart.tooltip.borderColor,
997
- borderWidth: e.value.style.chart.tooltip.borderWidth,
998
- fontSize: e.value.style.chart.tooltip.fontSize,
999
- backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
1000
- position: e.value.style.chart.tooltip.position,
1001
- offsetY: e.value.style.chart.tooltip.offsetY,
1002
- parent: S.value,
1003
- content: ne.value,
1004
- isFullscreen: U.value,
1005
- isCustom: e.value.style.chart.tooltip.customFormat && typeof e.value.style.chart.tooltip.customFormat == "function",
1006
- smooth: e.value.style.chart.tooltip.smooth,
1007
- backdropFilter: e.value.style.chart.tooltip.backdropFilter,
1008
- smoothForce: e.value.style.chart.tooltip.smoothForce,
1009
- smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThreshold
1010
- }, {
1011
- "tooltip-before": r(() => [
1012
- v(t.$slots, "tooltip-before", T(L({ ...fe.value })), void 0, !0)
1013
- ]),
1014
- "tooltip-after": r(() => [
1015
- v(t.$slots, "tooltip-after", T(L({ ...fe.value })), void 0, !0)
1016
- ]),
1017
- _: 3
1018
- }, 8, ["teleportTo", "show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
1019
- Le.value && e.value.userOptions.buttons.table ? (i(), _(qt(q.value.component), at({ key: 7 }, q.value.props, {
1020
- ref_key: "tableUnit",
1021
- ref: H,
1022
- onClose: Qe
1023
- }), me({
1024
- content: r(() => [
1025
- (i(), _(s(ft), {
1026
- key: `table_${Ie.value}`,
1027
- colNames: te.value.colNames,
1028
- head: te.value.head,
1029
- body: te.value.body,
1030
- config: te.value.config,
1031
- title: e.value.table.useDialog ? "" : q.value.title,
1032
- withCloseButton: !e.value.table.useDialog,
1033
- isCursorPointer: V.value,
1034
- onClose: Qe
1035
- }, {
1036
- th: r(({ th: l }) => [
1037
- C("div", {
1038
- innerHTML: l,
1039
- style: { display: "flex", "align-items": "center" }
1040
- }, null, 8, Xl)
1041
- ]),
1042
- td: r(({ td: l }) => [
1043
- ot(Ce(l.name || l), 1)
1044
- ]),
1045
- _: 1
1046
- }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton", "isCursorPointer"]))
1047
- ]),
1048
- _: 2
1049
- }, [
1050
- e.value.table.useDialog ? {
1051
- name: "title",
1052
- fn: r(() => [
1053
- ot(Ce(q.value.title), 1)
1054
- ]),
1055
- key: "0"
1056
- } : void 0,
1057
- e.value.table.useDialog ? {
1058
- name: "actions",
1059
- fn: r(() => [
1060
- C("button", {
1061
- tabindex: "0",
1062
- class: "vue-ui-user-options-button",
1063
- onClick: a[1] || (a[1] = (l) => ye(e.value.userOptions.callbacks.csv)),
1064
- style: N({ cursor: V.value ? "pointer" : "default" })
1065
- }, [
1066
- oe(s(gt), {
1067
- name: "fileCsv",
1068
- stroke: q.value.props.color
1069
- }, null, 8, ["stroke"])
1070
- ], 4)
1071
- ]),
1072
- key: "1"
1073
- } : void 0
1074
- ]), 1040)) : b("", !0),
1075
- v(t.$slots, "skeleton", {}, () => [
1076
- s(x) ? (i(), _(pl, { key: 0 })) : b("", !0)
1077
- ], !0)
1078
- ], 46, Sl));
1079
- }
1080
- }, da = /* @__PURE__ */ xl(Gl, [["__scopeId", "data-v-3b6f84e5"]]);
1081
- export {
1082
- da as default
1083
- };