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
@@ -0,0 +1,988 @@
1
+ import { defineAsyncComponent as U, computed as w, ref as r, toRefs as Ut, watch as de, onMounted as Vt, onBeforeUnmount as Gt, openBlock as d, createElementBlock as C, unref as v, normalizeStyle as ae, normalizeClass as _e, createElementVNode as O, toDisplayString as ne, createBlock as K, createCommentVNode as $, withCtx as g, renderSlot as c, normalizeProps as P, guardReactiveProps as S, createSlots as vt, createVNode as Oe, Fragment as W, renderList as Fe, mergeProps as fe, resolveDynamicComponent as Kt, createTextVNode as ct, nextTick as dt } from "vue";
2
+ import { u as Yt } from "./useConfig-DO94Aj5s.js";
3
+ import { j as ft, t as pt, m as De, p as pe, o as jt, q as Xt, n as qt, s as Wt, l as ht, X as Ht, x as Zt, w as Jt, W as Ie, d as Qt, a0 as eo, a1 as to, T as oo, k as lo, a3 as ao } from "./lib-DBptbyyI.js";
4
+ import { u as no } from "./usePrinter-CEpYU3r5.js";
5
+ import { u as so, B as uo } from "./BaseScanner-BhhkKVoj.js";
6
+ import { u as ro } from "./useSvgExport-ByUukOZt.js";
7
+ import { u as Ne } from "./useNestedProp-Bf5XFbs8.js";
8
+ import { u as io } from "./useThemeCheck-D1ZYXUwG.js";
9
+ import { u as vo } from "./useUserOptionState-BIvW1Kz7.js";
10
+ import { u as co } from "./useChartAccessibility-9icAAmYg.js";
11
+ import { t as fo, u as po } from "./useResponsive-DfdjqQps.js";
12
+ import ho from "./img-LXxMLmCg.js";
13
+ import yo from "./Title-BeMKE1cj.js";
14
+ import mo from "./vue_ui_circle_pack-CLmw8nHe.js";
15
+ import { A as bo } from "./A11yDataTable-KcVAX2cP.js";
16
+ import { _ as go } from "./_plugin-vue_export-helper-CHgC5LLL.js";
17
+ function ko(i, f = 0) {
18
+ const y = i.reduce((a, { x: s, r: h }) => Math.min(a, s - h - f), 1 / 0), b = i.reduce((a, { x: s, r: h }) => Math.max(a, s + h + f), -1 / 0), p = i.reduce((a, { y: s, r: h }) => Math.min(a, s - h - f), 1 / 0), n = i.reduce((a, { y: s, r: h }) => Math.max(a, s + h + f), -1 / 0);
19
+ return [y, p, b - y, n - p];
20
+ }
21
+ function Co(i, f, y) {
22
+ const b = i._, p = i.next._, n = b.r + p.r, a = (b.x * p.r + p.x * b.r) / n, s = (b.y * p.r + p.y * b.r) / n;
23
+ return Math.max(Math.abs(a * y), Math.abs(s * f));
24
+ }
25
+ function wo(i, f, y) {
26
+ const b = Co, p = i.length;
27
+ if (!p) return i;
28
+ let n, a, s;
29
+ if (n = i[0], n.x = 0, n.y = 0, !(p > 1) || (a = i[1], n.x = -a.r, a.x = n.r, a.y = 0, !(p > 2))) return i;
30
+ yt(a, n, s = i[2]), n = new he(n), a = new he(a), s = new he(s), n.next = s.previous = a, a.next = n.previous = s, s.next = a.previous = n;
31
+ e: for (let h = 3; h < p; ++h) {
32
+ yt(n._, a._, s = i[h]), s = new he(s);
33
+ let T = a.next, B = n.previous, A = a._.r, H = n._.r;
34
+ do
35
+ if (A <= H) {
36
+ if (mt(T._, s._)) {
37
+ a = T, n.next = a, a.previous = n, --h;
38
+ continue e;
39
+ }
40
+ A += T._.r, T = T.next;
41
+ } else {
42
+ if (mt(B._, s._)) {
43
+ n = B, n.next = a, a.previous = n, --h;
44
+ continue e;
45
+ }
46
+ H += B._.r, B = B.previous;
47
+ }
48
+ while (T !== B.next);
49
+ s.previous = n, s.next = a, n.next = a.previous = a = s;
50
+ let se = b(n, y, f), ue;
51
+ for (; (s = s.next) !== a; )
52
+ (ue = b(s, y, f)) < se && (n = s, se = ue);
53
+ a = n.next;
54
+ }
55
+ return i;
56
+ }
57
+ function yt(i, f, y) {
58
+ const b = i.x - f.x, p = i.y - f.y, n = b * b + p * p;
59
+ if (n) {
60
+ const a = (f.r + y.r) ** 2, s = (i.r + y.r) ** 2;
61
+ if (a > s) {
62
+ const h = (n + s - a) / (2 * n), T = Math.sqrt(Math.max(0, s / n - h * h));
63
+ y.x = i.x - h * b - T * p, y.y = i.y - h * p + T * b;
64
+ } else {
65
+ const h = (n + a - s) / (2 * n), T = Math.sqrt(Math.max(0, a / n - h * h));
66
+ y.x = f.x + h * b - T * p, y.y = f.y + h * p + T * b;
67
+ }
68
+ } else
69
+ y.x = f.x + y.r, y.y = f.y;
70
+ }
71
+ function mt(i, f) {
72
+ const y = i.r + f.r - 1e-6, b = f.x - i.x, p = f.y - i.y;
73
+ return y > 0 && y * y > b * b + p * p;
74
+ }
75
+ class he {
76
+ constructor(f) {
77
+ this._ = f, this.next = null, this.previous = null;
78
+ }
79
+ }
80
+ const xo = ["id"], $o = ["id"], To = ["xmlns", "aria-describedby", "viewBox"], Po = ["x", "y", "width", "height"], So = ["id"], Ao = ["stop-color"], _o = ["stop-color"], Oo = ["stop-color"], Fo = { key: 0 }, Do = ["x", "y", "width", "height", "stroke", "stroke-width", "fill", "rx", "onMouseenter", "onMouseout", "onClick"], Io = ["x", "y", "width", "height", "stroke", "stroke-width", "fill", "rx"], No = ["x", "y", "width", "height", "fill", "rx"], Mo = ["x", "y", "font-size", "fill", "font-weight"], Ro = ["x", "y", "font-size", "fill", "font-weight"], Bo = {
81
+ key: 0,
82
+ style: { position: "absolute", top: "100%", left: "0", width: "100%" },
83
+ "data-dom-to-png-ignore": "",
84
+ "aria-hidden": "true"
85
+ }, Eo = {
86
+ key: 5,
87
+ class: "vue-data-ui-watermark"
88
+ }, zo = ["innerHTML"], Lo = {
89
+ __name: "vue-ui-circle-pack",
90
+ props: {
91
+ config: {
92
+ type: Object,
93
+ default() {
94
+ return {};
95
+ }
96
+ },
97
+ dataset: {
98
+ type: Array,
99
+ default() {
100
+ return [];
101
+ }
102
+ }
103
+ },
104
+ emits: ["selectDatapoint", "copyAlt"],
105
+ setup(i, { expose: f, emit: y }) {
106
+ const b = U(() => import("./Tooltip-Bf-kM3_A.js")), p = U(() => import("./BaseIcon-Cb3zzG6s.js")), n = U(() => import("./vue-ui-accordion-nvggWcGN.js")), a = U(() => import("./DataTable-DT2kIdQ6.js")), s = U(() => import("./UserOptions-rW2fRf3V.js")), h = U(() => import("./PenAndPaper-Ct3qJ4lA.js")), T = U(() => import("./PackageVersion-DPO-OOVI.js")), B = U(() => import("./BaseDraggableDialog-CIb-iD9g.js")), A = i, H = y, { vue_ui_circle_pack: se } = Yt(), { isThemeValid: ue, warnInvalidTheme: bt } = io(), Me = w(() => !!A.dataset && A.dataset.length), M = r(ft()), F = r(null), Re = r(null), Be = r(null), Ee = r(0), ze = r(0), Le = r(0), Ue = r(null), Y = r(null), ye = r(null), re = r(!1), me = r(""), I = r(null), ie = r(!1), ve = r(!1), _ = r(null), Ve = r({ x: 0, y: 0 }), Z = r("pointer"), be = r(!1), e = r(ke()), J = w(() => e.value.userOptions.useCursorPointer), gt = w(() => pt({
107
+ defaultConfig: {
108
+ userOptions: { show: !1 },
109
+ table: { show: !1 },
110
+ style: {
111
+ chart: {
112
+ backgroundColor: "#99999930",
113
+ circles: {
114
+ stroke: "#6A6A6A",
115
+ labels: {
116
+ name: { show: !1 },
117
+ value: { show: !1 }
118
+ }
119
+ }
120
+ }
121
+ }
122
+ },
123
+ userConfig: e.value.skeletonConfig ?? {}
124
+ })), { loading: Ge, FINAL_DATASET: Ke } = so({
125
+ ...Ut(A),
126
+ FINAL_CONFIG: e,
127
+ prepareConfig: ke,
128
+ skeletonDataset: A.config?.skeletonDataset ?? [
129
+ { name: "_", value: 13, color: "#F2F2F2" },
130
+ { name: "_", value: 8, color: "#DBDBDB" },
131
+ { name: "_", value: 5, color: "#ADADAD" },
132
+ { name: "_", value: 3, color: "#969696" },
133
+ { name: "_", value: 2, color: "#808080" },
134
+ { name: "_", value: 1, color: "#696969" }
135
+ ],
136
+ skeletonConfig: pt({
137
+ defaultConfig: e.value,
138
+ userConfig: gt.value
139
+ })
140
+ }), { svgRef: N } = co({ config: e.value.style.chart.title }), {
141
+ userOptionsVisible: ge,
142
+ setUserOptionsVisibility: Ye,
143
+ keepUserOptionState: je
144
+ } = vo({ config: e.value });
145
+ function ke() {
146
+ const t = Ne({
147
+ userConfig: A.config,
148
+ defaultConfig: se
149
+ }), l = t.theme;
150
+ if (!l) return t;
151
+ if (!ue.value(t))
152
+ return bt(t), t;
153
+ const o = Ne({
154
+ userConfig: mo[l] || A.config,
155
+ defaultConfig: t
156
+ }), u = Ne({
157
+ userConfig: A.config,
158
+ defaultConfig: o
159
+ });
160
+ return {
161
+ ...u,
162
+ customPalette: u.customPalette.length ? u.customPalette : De[l] || pe
163
+ };
164
+ }
165
+ de(() => A.config, (t) => {
166
+ e.value = ke(), ge.value = !e.value.userOptions.showOnChartHover, xe(), Ee.value += 1, ze.value += 1, D.value.showTable = e.value.table.show;
167
+ }, { deep: !0 });
168
+ const { isPrinting: Ce, isImaging: we, generatePdf: Xe, generateImage: qe } = no({
169
+ elementId: `vue-ui-circle-pack_${M.value}`,
170
+ fileName: e.value.style.chart.title.text || "vue-ui-circle-pack",
171
+ options: e.value.userOptions.print
172
+ }), kt = w(() => e.value.userOptions.show && !e.value.style.chart.title.text), D = r({
173
+ showTable: e.value.table.show,
174
+ showTooltip: e.value.style.chart.tooltip.show
175
+ });
176
+ de(e, () => {
177
+ D.value = {
178
+ showTable: e.value.table.show,
179
+ showTooltip: e.value.style.chart.tooltip.show
180
+ };
181
+ }, { immediate: !0 });
182
+ const Ct = r({ h: 10, w: 10 }), We = r([0, 0, 100, 100]), wt = w(() => e.value.debug), xt = w(() => {
183
+ const t = e.value.style?.chart || {};
184
+ return t.dimensions && typeof t.dimensions.width == "number" ? t.dimensions.width : typeof t.width == "number" ? t.width : 300;
185
+ }), $t = w(() => {
186
+ const t = e.value.style?.chart || {};
187
+ return t.dimensions && typeof t.dimensions.height == "number" ? t.dimensions.height : typeof t.height == "number" ? t.height : 300;
188
+ }), x = r([]), E = r("0 0 100 100"), R = r(null), z = r(null);
189
+ function He(t, l) {
190
+ Ct.value = {
191
+ w: t,
192
+ h: l
193
+ };
194
+ const o = V.value.map((q) => ({ ...q }));
195
+ if (!o.length) {
196
+ x.value = [], We.value = [0, 0, t, l], E.value = `0 0 ${t} ${l}`;
197
+ return;
198
+ }
199
+ const u = wo(o, l, t), [m, k, L, X] = ko(u, 1), le = Math.min(
200
+ L ? t / L : 1,
201
+ X ? l / X : 1
202
+ ), zt = (t - L * le) / 2, Lt = (l - X * le) / 2;
203
+ x.value = u.map((q) => ({
204
+ ...q,
205
+ x: (q.x - m) * le + zt,
206
+ y: (q.y - k) * le + Lt,
207
+ r: q.r * le
208
+ })), We.value = [0, 0, t, l], E.value = `0 0 ${t} ${l}`;
209
+ }
210
+ function Tt() {
211
+ if (!e.value.responsive || !F.value) return;
212
+ const t = fo(() => {
213
+ const { width: l, height: o } = po({
214
+ chart: F.value,
215
+ title: e.value.style.chart.title.text ? Re.value : null,
216
+ legend: null,
217
+ source: Ue.value,
218
+ noTitle: Be.value
219
+ });
220
+ requestAnimationFrame(() => {
221
+ !l || !o || (N.value && (N.value.setAttribute("width", l), N.value.setAttribute("height", o)), He(l, o));
222
+ });
223
+ });
224
+ R.value && (z.value && R.value.unobserve(z.value), R.value.disconnect()), R.value = new ResizeObserver(t), z.value = F.value.parentNode || F.value, z.value && R.value.observe(z.value), t();
225
+ }
226
+ function Ze() {
227
+ R.value && (z.value && R.value.unobserve(z.value), R.value.disconnect(), R.value = null, z.value = null);
228
+ }
229
+ async function xe() {
230
+ jt(A.dataset) && Xt({
231
+ componentName: "VueUiCirclePack",
232
+ type: "dataset",
233
+ debug: wt.value
234
+ });
235
+ const t = xt.value, l = $t.value;
236
+ He(t, l), e.value.responsive ? Tt() : Ze();
237
+ }
238
+ Vt(xe), Gt(() => {
239
+ Ze();
240
+ }), de(() => Ke.value, async (t) => {
241
+ await xe();
242
+ }, { deep: !0 });
243
+ const Pt = w(() => qt(e.value.customPalette)), V = w(() => Ke.value.map((t, l) => {
244
+ const o = Wt(t.color) || Pt.value[l] || De[e.value.theme || "default"][l % De[e.value.theme || "default"].length] || pe[l] || pe[l % pe.length];
245
+ return {
246
+ ...t,
247
+ r: t.value,
248
+ id: ft(),
249
+ color: o
250
+ };
251
+ }).filter((t) => ![null, void 0, 1 / 0, -1 / 0].includes(t.value))), Q = w(() => x.value.length ? Math.max(...x.value.map((t) => t.r)) : 0);
252
+ function Je(t, l) {
253
+ return Q.value ? l / Q.value * t : 0;
254
+ }
255
+ function Qe(t, l) {
256
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: l }), !(Z.value === "keyboard" && I.value?.id === t?.id) && (re.value = !1, I.value = null, _.value = null, Z.value = "pointer");
257
+ }
258
+ function et(t, l) {
259
+ H("selectDatapoint", t), e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: l });
260
+ }
261
+ const $e = r(null), ee = r(!1);
262
+ function tt(t, l, o = "pointer") {
263
+ I.value = t, _.value = l, Z.value = o, e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: l }), $e.value = { datapoint: t, seriesIndex: l, config: e.value, series: V.value }, re.value = !0;
264
+ const u = e.value.style.chart.tooltip.customFormat;
265
+ if (ee.value = !1, oo(u))
266
+ try {
267
+ const m = u({
268
+ seriesIndex: l,
269
+ datapoint: t,
270
+ series: V.value,
271
+ config: e.value
272
+ });
273
+ typeof m == "string" && (me.value = m, ee.value = !0);
274
+ } catch {
275
+ console.warn("Custom format cannot be applied."), ee.value = !1;
276
+ }
277
+ if (!ee.value) {
278
+ let m = "";
279
+ m += `
280
+ <div style="display:flex;align-items:center;gap:4px;">
281
+ <svg viewBox="0 0 10 10" height="${e.value.style.chart.tooltip.fontSize}" width="${e.value.style.chart.tooltip.fontSize}">
282
+ <circle
283
+ cx="5"
284
+ cy="5"
285
+ r="5"
286
+ fill="${e.value.style.chart.circles.gradient.show ? `url(#${t.id})` : t.color}"
287
+ />
288
+ </svg>
289
+ <span>${t.name}: <b>${Te(t)}</b></span>
290
+ </div>
291
+ `, me.value = m;
292
+ }
293
+ }
294
+ function Te(t) {
295
+ return lo(
296
+ e.value.style.chart.circles.labels.value.formatter,
297
+ t.value,
298
+ ht({
299
+ p: e.value.style.chart.circles.labels.value.prefix,
300
+ v: t.value,
301
+ s: e.value.style.chart.circles.labels.value.suffix,
302
+ r: e.value.style.chart.circles.labels.value.rounding
303
+ })
304
+ );
305
+ }
306
+ function ot(t) {
307
+ if (!t)
308
+ return 0;
309
+ const l = Te(t), o = t.r / (l.length || 1) * (l.length === 1 ? 1 : 2);
310
+ return Math.min(t.r / 2.5, o);
311
+ }
312
+ const G = r(!1);
313
+ function lt(t) {
314
+ G.value = t, Le.value += 1;
315
+ }
316
+ const te = r(!1);
317
+ function Pe() {
318
+ te.value = !te.value;
319
+ }
320
+ const ce = w(() => {
321
+ const t = V.value.map((o) => ({
322
+ name: o.name,
323
+ value: o.value,
324
+ color: o.color
325
+ })).toSorted((o, u) => u.value - o.value), l = t.map((o) => o.value);
326
+ return { head: t, body: l };
327
+ });
328
+ function Se(t = null) {
329
+ dt(() => {
330
+ const l = ce.value.head.map((m, k) => [[m.name], [ce.value.body[k]]]), o = [
331
+ [e.value.style.chart.title.text],
332
+ [e.value.style.chart.title.subtitle.text],
333
+ [[""], [e.value.table.columnNames.value]]
334
+ ].concat(l), u = eo(o);
335
+ t ? t(u) : to({ csvContent: u, title: e.value.style.chart.title.text || "vue-ui-circle-pack" });
336
+ });
337
+ }
338
+ const j = w(() => {
339
+ const t = [
340
+ e.value.table.columnNames.datapoint,
341
+ e.value.table.columnNames.value
342
+ ], l = ce.value.head.map((m, k) => {
343
+ const L = ht({
344
+ p: e.value.style.chart.circles.labels.value.prefix,
345
+ v: ce.value.body[k],
346
+ s: e.value.style.chart.circles.labels.value.suffix,
347
+ r: e.value.style.chart.circles.labels.value.rounding
348
+ });
349
+ return [
350
+ {
351
+ color: m.color,
352
+ name: m.name
353
+ },
354
+ L
355
+ ];
356
+ }), o = {
357
+ th: {
358
+ backgroundColor: e.value.table.th.backgroundColor,
359
+ color: e.value.table.th.color,
360
+ outline: e.value.table.th.outline
361
+ },
362
+ td: {
363
+ backgroundColor: e.value.table.td.backgroundColor,
364
+ color: e.value.table.td.color,
365
+ outline: e.value.table.td.outline
366
+ },
367
+ breakpoint: e.value.table.responsiveBreakpoint
368
+ };
369
+ return {
370
+ colNames: [
371
+ e.value.table.columnNames.datapoint,
372
+ e.value.table.columnNames.value
373
+ ],
374
+ head: t,
375
+ body: l,
376
+ config: o
377
+ };
378
+ });
379
+ function at() {
380
+ D.value.showTable = !D.value.showTable;
381
+ }
382
+ function St() {
383
+ D.value.showTooltip = !D.value.showTooltip;
384
+ }
385
+ function At() {
386
+ return V.value;
387
+ }
388
+ async function _t({ scale: t = 2 } = {}) {
389
+ if (!F.value) return;
390
+ const { width: l, height: o } = F.value.getBoundingClientRect(), u = l / o, { imageUri: m, base64: k } = await ho({ domElement: F.value, base64: !0, img: !0, scale: t });
391
+ return {
392
+ imageUri: m,
393
+ base64: k,
394
+ title: e.value.style.chart.title.text,
395
+ width: l,
396
+ height: o,
397
+ aspectRatio: u
398
+ };
399
+ }
400
+ const oe = w(() => {
401
+ const t = e.value.table.useDialog && !e.value.table.show, l = D.value.showTable;
402
+ return {
403
+ component: t ? B : n,
404
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
405
+ props: t ? {
406
+ backgroundColor: e.value.table.th.backgroundColor,
407
+ color: e.value.table.th.color,
408
+ headerColor: e.value.table.th.color,
409
+ headerBg: e.value.table.th.backgroundColor,
410
+ isFullscreen: G.value,
411
+ fullscreenParent: F.value,
412
+ forcedWidth: Math.min(500, window.innerWidth * 0.8),
413
+ isCursorPointer: J.value
414
+ } : {
415
+ hideDetails: !0,
416
+ config: {
417
+ open: l,
418
+ maxHeight: 1e4,
419
+ body: {
420
+ backgroundColor: e.value.style.chart.backgroundColor,
421
+ color: e.value.style.chart.color
422
+ },
423
+ head: {
424
+ backgroundColor: e.value.style.chart.backgroundColor,
425
+ color: e.value.style.chart.color
426
+ }
427
+ }
428
+ }
429
+ };
430
+ });
431
+ de(() => D.value.showTable, (t) => {
432
+ e.value.table.show || (t && e.value.table.useDialog && Y.value ? Y.value.open() : Y.value && "close" in Y.value && Y.value.close());
433
+ });
434
+ function nt() {
435
+ D.value.showTable = !1, ye.value && ye.value.setTableIconState(!1);
436
+ }
437
+ const Ot = w(() => e.value.style.chart.backgroundColor), Ft = w(() => e.value.style.chart.title), { exportSvg: Dt, getSvg: It } = ro({
438
+ svg: N,
439
+ title: Ft,
440
+ backgroundColor: Ot
441
+ });
442
+ async function st({ isCb: t }) {
443
+ ve.value = !0, await dt();
444
+ try {
445
+ if (t) {
446
+ const { blob: l, url: o, text: u, dataUrl: m } = await It();
447
+ await Promise.resolve(e.value.userOptions.callbacks.svg({ blob: l, url: o, text: u, dataUrl: m }));
448
+ } else
449
+ await Promise.resolve(Dt());
450
+ } finally {
451
+ ve.value = !1;
452
+ }
453
+ }
454
+ function Nt(t) {
455
+ if (t?.stage === "start") {
456
+ ie.value = !0;
457
+ return;
458
+ }
459
+ if (t?.stage === "end") {
460
+ ie.value = !1;
461
+ return;
462
+ }
463
+ qe();
464
+ }
465
+ async function ut() {
466
+ if (H("copyAlt", {
467
+ config: e.value,
468
+ dataset: V.value
469
+ }), !e.value.userOptions.callbacks.altCopy) {
470
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
471
+ return;
472
+ }
473
+ await Promise.resolve(e.value.userOptions.callbacks.altCopy({
474
+ config: e.value,
475
+ dataset: V.value
476
+ }));
477
+ }
478
+ function Mt(t) {
479
+ if (!Number.isFinite(t) || !N.value) return;
480
+ const l = x.value[t];
481
+ if (!l) return;
482
+ const o = ao(l.x, l.y, N.value);
483
+ o && (Ve.value = o);
484
+ }
485
+ function rt() {
486
+ if (_.value !== null) {
487
+ const t = x.value[_.value];
488
+ t && Qe(t, _.value);
489
+ }
490
+ _.value = null, Z.value = "pointer", re.value = !1, I.value = null;
491
+ }
492
+ function Rt() {
493
+ _.value = null, be.value = !0;
494
+ }
495
+ function Bt() {
496
+ rt(), be.value = !1;
497
+ }
498
+ function it(t, l) {
499
+ const o = x.value.length;
500
+ return o ? t === null || t < 0 || t >= o ? l === "next" ? 0 : o - 1 : l === "previous" ? (t - 1 + o) % o : (t + 1) % o : null;
501
+ }
502
+ function Et(t) {
503
+ if (!N.value || te.value || document.activeElement !== N.value || !x.value.length) return;
504
+ const l = ["ArrowLeft", "ArrowUp"].includes(t.key), o = ["ArrowRight", "ArrowDown"].includes(t.key), u = t.key === "Enter" || t.key === " ", m = t.key === "Escape";
505
+ if (!l && !o && !u && !m) return;
506
+ if (t.preventDefault(), t.stopPropagation(), m) {
507
+ rt();
508
+ return;
509
+ }
510
+ if (u) {
511
+ if (_.value === null) return;
512
+ const X = x.value[_.value];
513
+ if (!X) return;
514
+ et(X, _.value);
515
+ return;
516
+ }
517
+ let k = _.value;
518
+ k === null || k < 0 || k >= x.value.length ? k = o ? 0 : x.value.length - 1 : o ? k = it(k, "next") : l && (k = it(k, "previous"));
519
+ const L = x.value[k];
520
+ L && (_.value = k, Mt(k), tt(L, k, "keyboard"));
521
+ }
522
+ const Ae = w(() => {
523
+ const t = j.value?.colNames ?? [], l = j.value?.body?.map((o) => [
524
+ o[0]?.name ?? "",
525
+ o[1]
526
+ ]) ?? [];
527
+ return { headers: t, rows: l };
528
+ });
529
+ return f({
530
+ getData: At,
531
+ getImage: _t,
532
+ generateCsv: Se,
533
+ generatePdf: Xe,
534
+ generateImage: qe,
535
+ generateSvg: st,
536
+ toggleTable: at,
537
+ toggleAnnotator: Pe,
538
+ toggleFullscreen: lt,
539
+ copyAlt: ut
540
+ }), (t, l) => (d(), C("div", {
541
+ id: `vue-ui-circle-pack_${M.value}`,
542
+ class: _e(`vue-data-ui-component vue-ui-circle-pack ${G.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${v(Ge) ? "loading" : ""}`),
543
+ ref_key: "circlePackChart",
544
+ ref: F,
545
+ style: ae(`font-family:${e.value.style.fontFamily};text-align:center;background:${e.value.style.chart.backgroundColor};`),
546
+ onMouseenter: l[1] || (l[1] = () => v(Ye)(!0)),
547
+ onMouseleave: l[2] || (l[2] = () => v(Ye)(!1))
548
+ }, [
549
+ O("div", {
550
+ id: `chart-instructions-${M.value}`,
551
+ class: "sr-only"
552
+ }, [
553
+ O("p", null, ne(e.value.a11y.translations.keyboardNavigation), 1)
554
+ ], 8, $o),
555
+ Ae.value?.rows?.length ? (d(), K(bo, {
556
+ key: 0,
557
+ uid: M.value,
558
+ head: Ae.value.headers,
559
+ body: Ae.value.rows,
560
+ notice: e.value.a11y.translations.tableAvailable,
561
+ caption: e.value.a11y.translations.tableCaption
562
+ }, null, 8, ["uid", "head", "body", "notice", "caption"])) : $("", !0),
563
+ e.value.userOptions.buttons.annotator ? (d(), K(v(h), {
564
+ key: 1,
565
+ svgRef: v(N),
566
+ backgroundColor: e.value.style.chart.backgroundColor,
567
+ color: e.value.style.chart.color,
568
+ active: te.value,
569
+ scale: Q.value / 100,
570
+ isCursorPointer: J.value,
571
+ onClose: Pe
572
+ }, {
573
+ "annotator-action-close": g(() => [
574
+ c(t.$slots, "annotator-action-close", {}, void 0, !0)
575
+ ]),
576
+ "annotator-action-color": g(({ color: o }) => [
577
+ c(t.$slots, "annotator-action-color", P(S({ color: o })), void 0, !0)
578
+ ]),
579
+ "annotator-action-draw": g(({ mode: o }) => [
580
+ c(t.$slots, "annotator-action-draw", P(S({ mode: o })), void 0, !0)
581
+ ]),
582
+ "annotator-action-undo": g(({ disabled: o }) => [
583
+ c(t.$slots, "annotator-action-undo", P(S({ disabled: o })), void 0, !0)
584
+ ]),
585
+ "annotator-action-redo": g(({ disabled: o }) => [
586
+ c(t.$slots, "annotator-action-redo", P(S({ disabled: o })), void 0, !0)
587
+ ]),
588
+ "annotator-action-delete": g(({ disabled: o }) => [
589
+ c(t.$slots, "annotator-action-delete", P(S({ disabled: o })), void 0, !0)
590
+ ]),
591
+ _: 3
592
+ }, 8, ["svgRef", "backgroundColor", "color", "active", "scale", "isCursorPointer"])) : $("", !0),
593
+ c(t.$slots, "userConfig", {}, void 0, !0),
594
+ kt.value ? (d(), C("div", {
595
+ key: 2,
596
+ ref_key: "noTitle",
597
+ ref: Be,
598
+ class: "vue-data-ui-no-title-space",
599
+ style: "height:36px; width: 100%;background:transparent"
600
+ }, null, 512)) : $("", !0),
601
+ e.value.style.chart.title.text ? (d(), C("div", {
602
+ key: 3,
603
+ ref_key: "chartTitle",
604
+ ref: Re,
605
+ style: "width:100%;background:transparent;padding-bottom:12px"
606
+ }, [
607
+ (d(), K(yo, {
608
+ key: `title_${Ee.value}`,
609
+ config: {
610
+ title: {
611
+ cy: "donut-div-title",
612
+ ...e.value.style.chart.title
613
+ },
614
+ subtitle: {
615
+ cy: "donut-div-subtitle",
616
+ ...e.value.style.chart.title.subtitle
617
+ }
618
+ }
619
+ }, null, 8, ["config"]))
620
+ ], 512)) : $("", !0),
621
+ e.value.userOptions.show && Me.value && (v(je) || v(ge)) ? (d(), K(v(s), {
622
+ ref_key: "userOptionsRef",
623
+ ref: ye,
624
+ key: `user_option_${Le.value}`,
625
+ backgroundColor: e.value.style.chart.backgroundColor,
626
+ color: e.value.style.chart.color,
627
+ isPrinting: v(Ce),
628
+ isImaging: v(we),
629
+ uid: M.value,
630
+ hasTooltip: e.value.userOptions.buttons.tooltip,
631
+ isTooltip: D.value.showTooltip,
632
+ hasLabel: !1,
633
+ hasPdf: e.value.userOptions.buttons.pdf,
634
+ hasImg: e.value.userOptions.buttons.img,
635
+ hasSvg: e.value.userOptions.buttons.svg,
636
+ hasXls: e.value.userOptions.buttons.csv,
637
+ hasTable: e.value.userOptions.buttons.table,
638
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
639
+ hasAltCopy: e.value.userOptions.buttons.altCopy,
640
+ isFullscreen: G.value,
641
+ chartElement: F.value,
642
+ position: e.value.userOptions.position,
643
+ callbacks: e.value.userOptions.callbacks,
644
+ printScale: e.value.userOptions.print.scale,
645
+ titles: { ...e.value.userOptions.buttonTitles },
646
+ hasAnnotator: e.value.userOptions.buttons.annotator,
647
+ isAnnotation: te.value,
648
+ tableDialog: e.value.table.useDialog,
649
+ isCursorPointer: J.value,
650
+ onToggleFullscreen: lt,
651
+ onGeneratePdf: v(Xe),
652
+ onGenerateCsv: Se,
653
+ onGenerateImage: Nt,
654
+ onGenerateSvg: st,
655
+ onToggleTable: at,
656
+ onToggleTooltip: St,
657
+ onToggleAnnotator: Pe,
658
+ onCopyAlt: ut,
659
+ style: ae({ visibility: v(je) ? v(ge) ? "visible" : "hidden" : "visible" })
660
+ }, vt({ _: 2 }, [
661
+ t.$slots.menuIcon ? {
662
+ name: "menuIcon",
663
+ fn: g(({ isOpen: o, color: u }) => [
664
+ c(t.$slots, "menuIcon", P(S({ isOpen: o, color: u })), void 0, !0)
665
+ ]),
666
+ key: "0"
667
+ } : void 0,
668
+ t.$slots.optionPdf ? {
669
+ name: "optionPdf",
670
+ fn: g(() => [
671
+ c(t.$slots, "optionPdf", {}, void 0, !0)
672
+ ]),
673
+ key: "1"
674
+ } : void 0,
675
+ t.$slots.optionCsv ? {
676
+ name: "optionCsv",
677
+ fn: g(() => [
678
+ c(t.$slots, "optionCsv", {}, void 0, !0)
679
+ ]),
680
+ key: "2"
681
+ } : void 0,
682
+ t.$slots.optionImg ? {
683
+ name: "optionImg",
684
+ fn: g(() => [
685
+ c(t.$slots, "optionImg", {}, void 0, !0)
686
+ ]),
687
+ key: "3"
688
+ } : void 0,
689
+ t.$slots.optionSvg ? {
690
+ name: "optionSvg",
691
+ fn: g(() => [
692
+ c(t.$slots, "optionSvg", {}, void 0, !0)
693
+ ]),
694
+ key: "4"
695
+ } : void 0,
696
+ t.$slots.optionTable ? {
697
+ name: "optionTable",
698
+ fn: g(() => [
699
+ c(t.$slots, "optionTable", {}, void 0, !0)
700
+ ]),
701
+ key: "5"
702
+ } : void 0,
703
+ t.$slots.optionFullscreen ? {
704
+ name: "optionFullscreen",
705
+ fn: g(({ toggleFullscreen: o, isFullscreen: u }) => [
706
+ c(t.$slots, "optionFullscreen", P(S({ toggleFullscreen: o, isFullscreen: u })), void 0, !0)
707
+ ]),
708
+ key: "6"
709
+ } : void 0,
710
+ t.$slots.optionAnnotator ? {
711
+ name: "optionAnnotator",
712
+ fn: g(({ toggleAnnotator: o, isAnnotator: u }) => [
713
+ c(t.$slots, "optionAnnotator", P(S({ toggleAnnotator: o, isAnnotator: u })), void 0, !0)
714
+ ]),
715
+ key: "7"
716
+ } : void 0,
717
+ t.$slots.optionAltCopy ? {
718
+ name: "optionAltCopy",
719
+ fn: g(({ altCopy: o }) => [
720
+ c(t.$slots, "optionAltCopy", P(S({ altCopy: o })), void 0, !0)
721
+ ]),
722
+ key: "8"
723
+ } : void 0
724
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "isTooltip", "hasPdf", "hasImg", "hasSvg", "hasXls", "hasTable", "hasFullscreen", "hasAltCopy", "isFullscreen", "chartElement", "position", "callbacks", "printScale", "titles", "hasAnnotator", "isAnnotation", "tableDialog", "isCursorPointer", "onGeneratePdf", "style"])) : $("", !0),
725
+ O("div", {
726
+ class: _e({ "vue-ui-circle-pack-svg-container": !0, "not-responsive": !e.value.responsive })
727
+ }, [
728
+ (d(), C("svg", {
729
+ ref_key: "svgRef",
730
+ ref: N,
731
+ xmlns: v(Ht),
732
+ "aria-describedby": `chart-instructions-${M.value}`,
733
+ viewBox: E.value,
734
+ preserveAspectRatio: "xMidYMid meet",
735
+ class: _e({ "vue-data-ui-fullscreen--on": G.value, "vue-data-ui-fulscreen--off": !G.value, "not-responsive": !e.value.responsive }),
736
+ style: ae(`display:block;${e.value.responsive ? "width:100%;height:auto" : "height:100%;"};overflow:visible;background:transparent;color:${e.value.style.chart.color};background:${e.value.style.chart.backgroundColor};`),
737
+ tabindex: "0",
738
+ onFocus: Rt,
739
+ onBlur: Bt,
740
+ onKeydown: Et
741
+ }, [
742
+ Oe(v(T)),
743
+ t.$slots["chart-background"] ? (d(), C("foreignObject", {
744
+ key: 0,
745
+ x: E.value.x,
746
+ y: E.value.y,
747
+ width: E.value.width,
748
+ height: E.value.height,
749
+ style: { pointerEvents: "none" }
750
+ }, [
751
+ c(t.$slots, "chart-background", {}, void 0, !0)
752
+ ], 8, Po)) : $("", !0),
753
+ (d(!0), C(W, null, Fe(x.value, (o, u) => (d(), C(W, {
754
+ key: o.id
755
+ }, [
756
+ O("defs", null, [
757
+ O("radialGradient", {
758
+ id: o.id,
759
+ fy: "30%"
760
+ }, [
761
+ O("stop", {
762
+ offset: "10%",
763
+ "stop-color": v(Zt)(o.color, e.value.style.chart.circles.gradient.intensity / 100)
764
+ }, null, 8, Ao),
765
+ O("stop", {
766
+ offset: "90%",
767
+ "stop-color": v(Jt)(o.color, 0.1)
768
+ }, null, 8, _o),
769
+ O("stop", {
770
+ offset: "100%",
771
+ "stop-color": o.color
772
+ }, null, 8, Oo)
773
+ ], 8, So)
774
+ ]),
775
+ t.$slots.pattern ? (d(), C("g", Fo, [
776
+ O("defs", null, [
777
+ c(t.$slots, "pattern", fe({ ref_for: !0 }, { ...o, patternId: `pattern_${M.value}_${o.id}` }), void 0, !0)
778
+ ])
779
+ ])) : $("", !0),
780
+ O("rect", {
781
+ x: o.x - o.r,
782
+ y: o.y - o.r,
783
+ width: o.r * 2,
784
+ height: o.r * 2,
785
+ stroke: e.value.style.chart.circles.stroke,
786
+ "stroke-width": e.value.style.chart.circles.strokeWidth * (Q.value || 1) / 100,
787
+ fill: e.value.style.chart.circles.gradient.show ? `url(#${o.id})` : o.color,
788
+ rx: o.r,
789
+ onMouseenter: (m) => tt(o, u, "pointer"),
790
+ onMouseout: (m) => Qe(o, u),
791
+ onClick: (m) => et(o, u)
792
+ }, null, 40, Do),
793
+ t.$slots.pattern ? (d(), C("rect", {
794
+ key: 1,
795
+ x: o.x - o.r,
796
+ y: o.y - o.r,
797
+ width: o.r * 2,
798
+ height: o.r * 2,
799
+ stroke: e.value.style.chart.circles.stroke,
800
+ "stroke-width": e.value.style.chart.circles.strokeWidth * (Q.value || 1) / 100,
801
+ fill: `url(#pattern_${M.value}_${o.id})`,
802
+ rx: o.r,
803
+ style: { pointerEvents: "none" }
804
+ }, null, 8, Io)) : $("", !0)
805
+ ], 64))), 128)),
806
+ (d(!0), C(W, null, Fe(x.value, (o, u) => (d(), C("rect", {
807
+ key: o.id,
808
+ x: o.x - o.r,
809
+ y: o.y - o.r,
810
+ width: o.r * 2,
811
+ height: o.r * 2,
812
+ stroke: "none",
813
+ fill: I.value && I.value.id === o.id ? e.value.style.chart.circles.gradient.show ? `url(#${o.id})` : o.color : "transparent",
814
+ rx: o.r,
815
+ style: ae({
816
+ filter: I.value && I.value.id === o.id ? `drop-shadow(0px 0px 6px ${e.value.style.chart.circles.selectedShadowColor})` : "none",
817
+ opacity: I.value ? 1 : 0,
818
+ pointerEvents: "none",
819
+ transition: "opacity 0.2s ease-in-out"
820
+ })
821
+ }, null, 12, No))), 128)),
822
+ (d(!0), C(W, null, Fe(x.value, (o, u) => (d(), C(W, {
823
+ key: o.id
824
+ }, [
825
+ t.$slots["data-label"] ? c(t.$slots, "data-label", fe({
826
+ key: 0,
827
+ ref_for: !0
828
+ }, {
829
+ ...o,
830
+ createTSpans: v(Qt),
831
+ fontSize: {
832
+ name: o.r / 3 * e.value.style.chart.circles.labels.name.fontSizeRatio,
833
+ value: ot(o) * e.value.style.chart.circles.labels.value.fontSizeRatio
834
+ },
835
+ color: e.value.style.chart.circles.labels.name.color ? e.value.style.chart.circles.labels.name.color : v(Ie)(o.color)
836
+ }), void 0, !0) : (d(), C(W, { key: 1 }, [
837
+ e.value.style.chart.circles.labels.name.show && o.name ? (d(), C("text", {
838
+ key: 0,
839
+ style: {
840
+ pointerEvents: "none",
841
+ transition: "opacity 0.2s ease-in-out"
842
+ },
843
+ x: o.x,
844
+ y: o.y + Je(o.r, e.value.style.chart.circles.labels.name.offsetY) - o.r / 10,
845
+ "font-size": o.r / 3 * e.value.style.chart.circles.labels.name.fontSizeRatio,
846
+ fill: e.value.style.chart.circles.labels.name.color === "auto" ? v(Ie)(o.color) : e.value.style.chart.circles.labels.name.color,
847
+ "font-weight": e.value.style.chart.circles.labels.name.bold ? "bold" : "normal",
848
+ "text-anchor": "middle"
849
+ }, ne(o.name), 9, Mo)) : $("", !0),
850
+ e.value.style.chart.circles.labels.value.show ? (d(), C("text", {
851
+ key: 1,
852
+ style: {
853
+ pointerEvents: "none",
854
+ transition: "opacity 0.2s ease-in-out"
855
+ },
856
+ x: o.x,
857
+ y: o.y + Je(o.r, e.value.style.chart.circles.labels.value.offsetY) + o.r / 2.5,
858
+ "font-size": ot(o) * e.value.style.chart.circles.labels.value.fontSizeRatio,
859
+ fill: e.value.style.chart.circles.labels.value.color === "auto" ? v(Ie)(o.color) : e.value.style.chart.circles.labels.value.color,
860
+ "font-weight": e.value.style.chart.circles.labels.value.bold ? "bold" : "normal",
861
+ "text-anchor": "middle"
862
+ }, ne(Te(o)), 9, Ro)) : $("", !0)
863
+ ], 64)),
864
+ c(t.$slots, "circle", fe({ ref_for: !0 }, {
865
+ ...o,
866
+ isSelected: I.value?.id === o.id,
867
+ uid: `${u}_${M.value}`
868
+ }), void 0, !0)
869
+ ], 64))), 128)),
870
+ c(t.$slots, "svg", {
871
+ svg: {
872
+ ...E.value,
873
+ isPrintingImg: v(Ce) | v(we) | ie.value,
874
+ isPrintingSvg: ve.value
875
+ }
876
+ }, void 0, !0)
877
+ ], 46, To)),
878
+ t.$slots.hint ? (d(), C("div", Bo, [
879
+ c(t.$slots, "hint", P(S({ hint: e.value.a11y.translations.keyboardNavigation, isVisible: be.value })), void 0, !0)
880
+ ])) : $("", !0)
881
+ ], 2),
882
+ t.$slots.watermark ? (d(), C("div", Eo, [
883
+ c(t.$slots, "watermark", P(S({ isPrinting: v(Ce) || v(we) || ie.value || ve.value })), void 0, !0)
884
+ ])) : $("", !0),
885
+ t.$slots.source ? (d(), C("div", {
886
+ key: 6,
887
+ ref_key: "source",
888
+ ref: Ue,
889
+ dir: "auto"
890
+ }, [
891
+ c(t.$slots, "source", {}, void 0, !0)
892
+ ], 512)) : $("", !0),
893
+ Oe(v(b), {
894
+ teleportTo: e.value.style.chart.tooltip.teleportTo,
895
+ show: D.value.showTooltip && re.value,
896
+ backgroundColor: e.value.style.chart.tooltip.backgroundColor,
897
+ color: e.value.style.chart.tooltip.color,
898
+ fontSize: e.value.style.chart.tooltip.fontSize,
899
+ borderRadius: e.value.style.chart.tooltip.borderRadius,
900
+ borderColor: e.value.style.chart.tooltip.borderColor,
901
+ borderWidth: e.value.style.chart.tooltip.borderWidth,
902
+ backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
903
+ position: e.value.style.chart.tooltip.position,
904
+ offsetY: e.value.style.chart.tooltip.offsetY,
905
+ parent: F.value,
906
+ content: me.value,
907
+ isCustom: ee.value,
908
+ isFullscreen: G.value,
909
+ smooth: e.value.style.chart.tooltip.smooth,
910
+ backdropFilter: e.value.style.chart.tooltip.backdropFilter,
911
+ smoothForce: e.value.style.chart.tooltip.smoothForce,
912
+ smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThrehsold,
913
+ isA11yMode: Z.value === "keyboard",
914
+ a11yPosition: Ve.value
915
+ }, {
916
+ "tooltip-before": g(() => [
917
+ c(t.$slots, "tooltip-before", P(S({ ...$e.value })), void 0, !0)
918
+ ]),
919
+ "tooltip-after": g(() => [
920
+ c(t.$slots, "tooltip-after", P(S({ ...$e.value })), void 0, !0)
921
+ ]),
922
+ _: 3
923
+ }, 8, ["teleportTo", "show", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "position", "offsetY", "parent", "content", "isCustom", "isFullscreen", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold", "isA11yMode", "a11yPosition"]),
924
+ Me.value && e.value.userOptions.buttons.table ? (d(), K(Kt(oe.value.component), fe({ key: 7 }, oe.value.props, {
925
+ ref_key: "tableUnit",
926
+ ref: Y,
927
+ onClose: nt
928
+ }), vt({
929
+ content: g(() => [
930
+ (d(), K(v(a), {
931
+ key: `table_${ze.value}`,
932
+ colNames: j.value.colNames,
933
+ head: j.value.head,
934
+ body: j.value.body,
935
+ config: j.value.config,
936
+ title: e.value.table.useDialog ? "" : oe.value.title,
937
+ withCloseButton: !e.value.table.useDialog,
938
+ isCursorPointer: J.value,
939
+ onClose: nt
940
+ }, {
941
+ th: g(({ th: o }) => [
942
+ O("div", {
943
+ innerHTML: o,
944
+ style: { display: "flex", "align-items": "center" }
945
+ }, null, 8, zo)
946
+ ]),
947
+ td: g(({ td: o }) => [
948
+ ct(ne(o.name || o), 1)
949
+ ]),
950
+ _: 1
951
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton", "isCursorPointer"]))
952
+ ]),
953
+ _: 2
954
+ }, [
955
+ e.value.table.useDialog ? {
956
+ name: "title",
957
+ fn: g(() => [
958
+ ct(ne(oe.value.title), 1)
959
+ ]),
960
+ key: "0"
961
+ } : void 0,
962
+ e.value.table.useDialog ? {
963
+ name: "actions",
964
+ fn: g(() => [
965
+ O("button", {
966
+ tabindex: "0",
967
+ class: "vue-ui-user-options-button",
968
+ onClick: l[0] || (l[0] = (o) => Se(e.value.userOptions.callbacks.csv)),
969
+ style: ae({ cursor: J.value ? "pointer" : "default" })
970
+ }, [
971
+ Oe(v(p), {
972
+ name: "fileCsv",
973
+ stroke: oe.value.props.color
974
+ }, null, 8, ["stroke"])
975
+ ], 4)
976
+ ]),
977
+ key: "1"
978
+ } : void 0
979
+ ]), 1040)) : $("", !0),
980
+ c(t.$slots, "skeleton", {}, () => [
981
+ v(Ge) ? (d(), K(uo, { key: 0 })) : $("", !0)
982
+ ], !0)
983
+ ], 46, xo));
984
+ }
985
+ }, ll = /* @__PURE__ */ go(Lo, [["__scopeId", "data-v-977c045f"]]);
986
+ export {
987
+ ll as default
988
+ };