vue-data-ui 3.23.9 → 3.23.11

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 (200) hide show
  1. package/README.md +40 -40
  2. package/dist/{Arrow-CF0VFcBH.js → Arrow-DrF4NNJO.js} +1 -1
  3. package/dist/{BaseDraggableDialog-LoqqwRtV.js → BaseDraggableDialog-Dr_Q6Yt5.js} +2 -2
  4. package/dist/{BaseIcon-BfndwIWE.js → BaseIcon-BbElSC8_.js} +1 -1
  5. package/dist/{BaseLegendToggle-DZVucLnv.js → BaseLegendToggle-CtEdLr4R.js} +1 -1
  6. package/dist/{BaseZoomControls-BZvCnZEi.js → BaseZoomControls-Cvq4UmNG.js} +2 -2
  7. package/dist/{ColorPicker--ayG2YHf.js → ColorPicker-ChOgAmCi.js} +2 -2
  8. package/dist/{DataTable-BbKgJ5UI.js → DataTable-CmyEubtT.js} +2 -2
  9. package/dist/{HillActions-BD9j_sOU.js → HillActions-3HneGJhS.js} +1 -1
  10. package/dist/{Legend-CQxUgOd-.js → Legend-BJtY2RA9.js} +2 -2
  11. package/dist/{NonSvgPenAndPaper-4ypecDg1.js → NonSvgPenAndPaper-DmxzHJtV.js} +3 -3
  12. package/dist/{PackageVersion-B629oKuX.js → PackageVersion-C0b7KAMa.js} +1 -1
  13. package/dist/{PenAndPaper-C0UZ74fa.js → PenAndPaper-CIa1F5Jq.js} +3 -3
  14. package/dist/{Shape-C21CMlWS.js → Shape-BAL5bQmA.js} +1 -1
  15. package/dist/{SlicerPreview-wUw1hFwe.js → SlicerPreview-BRRyc1p7.js} +426 -426
  16. package/dist/{SparkTooltip-CjsbIhzi.js → SparkTooltip-Bou05CV_.js} +1 -1
  17. package/dist/{Title-BE3qg9xl.js → Title-CaVA8EIw.js} +1 -1
  18. package/dist/{Tooltip-DhjyfHwz.js → Tooltip-CVxJe3UW.js} +1 -1
  19. package/dist/{UserOptions-Dt98of5H.js → UserOptions-WH7-49V0.js} +2 -2
  20. package/dist/components/arrow.js +1 -1
  21. package/dist/components/vue-ui-3d-bar.js +1 -1
  22. package/dist/components/vue-ui-accordion.js +1 -1
  23. package/dist/components/vue-ui-age-pyramid.js +1 -1
  24. package/dist/components/vue-ui-annotator.js +1 -1
  25. package/dist/components/vue-ui-bullet.js +1 -1
  26. package/dist/components/vue-ui-bump.js +1 -1
  27. package/dist/components/vue-ui-candlestick.js +1 -1
  28. package/dist/components/vue-ui-carousel-table.js +1 -1
  29. package/dist/components/vue-ui-chestnut.js +1 -1
  30. package/dist/components/vue-ui-chord.js +1 -1
  31. package/dist/components/vue-ui-circle-pack.js +1 -1
  32. package/dist/components/vue-ui-cursor.js +1 -1
  33. package/dist/components/vue-ui-dag.js +1 -1
  34. package/dist/components/vue-ui-dashboard.js +1 -1
  35. package/dist/components/vue-ui-digits.js +1 -1
  36. package/dist/components/vue-ui-donut-evolution.js +1 -1
  37. package/dist/components/vue-ui-donut.js +1 -1
  38. package/dist/components/vue-ui-dumbbell.js +1 -1
  39. package/dist/components/vue-ui-flow.js +1 -1
  40. package/dist/components/vue-ui-funnel.js +1 -1
  41. package/dist/components/vue-ui-galaxy.js +1 -1
  42. package/dist/components/vue-ui-gauge.js +1 -1
  43. package/dist/components/vue-ui-geo.js +1 -1
  44. package/dist/components/vue-ui-gizmo.js +1 -1
  45. package/dist/components/vue-ui-heatmap.js +1 -1
  46. package/dist/components/vue-ui-hill.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-BYIvdTe8.js → dom-to-png-COvyU2SG.js} +1 -1
  91. package/dist/exposedLib-DrUEXSyf.js +28 -0
  92. package/dist/{img-Bnokohej.js → img-Bkzj3lDD.js} +1 -1
  93. package/dist/{labelUtils-BeVpDvTJ.js → labelUtils-iX76cA2-.js} +1 -1
  94. package/dist/{lib-Bttd6u5E.js → lib-Dqr_-I6Y.js} +166 -163
  95. package/dist/{package-C01DAl-Z.js → package-D7_0M69J.js} +1 -1
  96. package/dist/{pdf-CVIDfCrS.js → pdf-Bk_9lTdQ.js} +1 -1
  97. package/dist/{render-common-Dv5BvuwZ.js → render-common-B0f5NTO9.js} +12 -12
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/types/vue-data-ui.d.ts +13 -2
  103. package/dist/types/vue-ui-dag.d.ts +2 -0
  104. package/dist/{useNestedProp-vPNvh7rV.js → useNestedProp-CulPqtou.js} +1 -1
  105. package/dist/{usePrinter-DN5bYhTG.js → usePrinter-CEiH1b6R.js} +2 -2
  106. package/dist/utils.js +9 -9
  107. package/dist/{vue-data-ui-DDZLOx_v.js → vue-data-ui-BlZHZHoH.js} +69 -69
  108. package/dist/vue-data-ui.js +73 -73
  109. package/dist/{vue-ui-3d-bar-C9Y9Uklb.js → vue-ui-3d-bar-CtT2BovY.js} +379 -381
  110. package/dist/{vue-ui-accordion-CLU_su1P.js → vue-ui-accordion-C6L7glHU.js} +3 -3
  111. package/dist/{vue-ui-age-pyramid-D98P16h3.js → vue-ui-age-pyramid-BhGNgnLB.js} +27 -27
  112. package/dist/{vue-ui-annotator-QjHngrui.js → vue-ui-annotator-BwIu0JUV.js} +9 -9
  113. package/dist/vue-ui-bullet-BI7KJyJx.js +700 -0
  114. package/dist/{vue-ui-bump-BP7UOMFX.js → vue-ui-bump-BCQ97z1G.js} +325 -325
  115. package/dist/{vue-ui-candlestick-XPQeeduK.js → vue-ui-candlestick-Cs7I5MQS.js} +245 -245
  116. package/dist/{vue-ui-carousel-table-D39rMqRb.js → vue-ui-carousel-table-CDjAjc4b.js} +108 -108
  117. package/dist/{vue-ui-chestnut-B0xezYHS.js → vue-ui-chestnut-d6GxjfcP.js} +86 -86
  118. package/dist/vue-ui-chord-BuConnPN.js +1345 -0
  119. package/dist/vue-ui-circle-pack-CmxANHap.js +1633 -0
  120. package/dist/{vue-ui-cursor-JXCd2JAw.js → vue-ui-cursor-CQcnZYBv.js} +3 -3
  121. package/dist/{vue-ui-dag-D42c5rJN.js → vue-ui-dag-DKUZN-aQ.js} +923 -885
  122. package/dist/{vue-ui-dashboard-9-9eUWEy.js → vue-ui-dashboard-ciI4wMe6.js} +69 -69
  123. package/dist/{vue-ui-digits-CCkSVNpz.js → vue-ui-digits-DWf1vzYE.js} +3 -3
  124. package/dist/{vue-ui-donut-BnVCS9Ll.js → vue-ui-donut-CvCViwSI.js} +64 -64
  125. package/dist/vue-ui-donut-DZTtuFAG.js +2413 -0
  126. package/dist/{vue-ui-donut-evolution-CgjBE6EG.js → vue-ui-donut-evolution-BvZX3Gi8.js} +347 -347
  127. package/dist/{vue-ui-dumbbell-CVX2tGDU.js → vue-ui-dumbbell-BZywCpHd.js} +233 -236
  128. package/dist/vue-ui-flow-D5jcKr_S.js +1214 -0
  129. package/dist/vue-ui-funnel-7zX5QnQx.js +747 -0
  130. package/dist/{vue-ui-galaxy-CThLjvdQ.js → vue-ui-galaxy-BuGd-Ojm.js} +323 -325
  131. package/dist/vue-ui-gauge-BlDQIpBk.js +932 -0
  132. package/dist/{vue-ui-geo-DwNCnH_W.js → vue-ui-geo-PWGZw4Un.js} +34 -34
  133. package/dist/{vue-ui-gizmo-BkQUnPvN.js → vue-ui-gizmo-CTxB3PAl.js} +10 -10
  134. package/dist/{vue-ui-heatmap-COX6rafn.js → vue-ui-heatmap-sFF5IbM8.js} +472 -472
  135. package/dist/{vue-ui-hill-7BisXEYH.js → vue-ui-hill-DO3r2s-i.js} +10 -10
  136. package/dist/vue-ui-history-plot-Cj-Olvhn.js +1695 -0
  137. package/dist/vue-ui-horizontal-bar-B34aYuDZ.js +1708 -0
  138. package/dist/{vue-ui-kpi-R9bl7je_.js → vue-ui-kpi-Co6y1YlE.js} +3 -3
  139. package/dist/{vue-ui-mini-loader-SNMKnmMa.js → vue-ui-mini-loader-BVSIAFYi.js} +2 -2
  140. package/dist/{vue-ui-molecule-CNtY2_yF.js → vue-ui-molecule-ERAB4YzZ.js} +157 -163
  141. package/dist/{vue-ui-mood-radar-DUxhOQpR.js → vue-ui-mood-radar-BPp7L6OP.js} +302 -304
  142. package/dist/{vue-ui-nested-donuts-Bbub_wCe.js → vue-ui-nested-donuts-CX5ut2yp.js} +110 -113
  143. package/dist/vue-ui-onion-CWYJTUCq.js +1233 -0
  144. package/dist/vue-ui-parallel-coordinate-plot-DJrV-dVt.js +1430 -0
  145. package/dist/{vue-ui-quadrant-CFvonilu.js → vue-ui-quadrant-wj8Up03L.js} +32 -32
  146. package/dist/{vue-ui-quick-chart-iEJt6333.js → vue-ui-quick-chart-CPYdScHL.js} +153 -153
  147. package/dist/{vue-ui-radar-ClZ_OIr5.js → vue-ui-radar-D3gLQcI5.js} +41 -41
  148. package/dist/{vue-ui-rating-BnXrMeGg.js → vue-ui-rating-dBCk6ECe.js} +26 -26
  149. package/dist/vue-ui-relation-circle-DeNBOPjz.js +903 -0
  150. package/dist/vue-ui-ridgeline-DQcZJ_hv.js +1614 -0
  151. package/dist/vue-ui-rings-CF9NfFW2.js +1250 -0
  152. package/dist/vue-ui-scatter-U_xxKOte.js +2403 -0
  153. package/dist/{vue-ui-skeleton-Drk48XZi.js → vue-ui-skeleton-GA4wzjXV.js} +3 -3
  154. package/dist/{vue-ui-smiley-BQuXRW4o.js → vue-ui-smiley-D1pW2Fdy.js} +23 -23
  155. package/dist/{vue-ui-spark-trend-CYcS6-FN.js → vue-ui-spark-trend-BXRGMn5-.js} +23 -23
  156. package/dist/{vue-ui-sparkbar-eqLrT50j.js → vue-ui-sparkbar-96D0eR-o.js} +24 -24
  157. package/dist/{vue-ui-sparkgauge-C_b1h4DY.js → vue-ui-sparkgauge-BWBek2u2.js} +61 -61
  158. package/dist/{vue-ui-sparkhistogram-BzJr83-i.js → vue-ui-sparkhistogram-Cqs068RX.js} +15 -15
  159. package/dist/vue-ui-sparkline-B8cyY_P1.js +1584 -0
  160. package/dist/{vue-ui-sparkstackbar-O6Ojc2m8.js → vue-ui-sparkstackbar-C0BkLc2b.js} +207 -207
  161. package/dist/vue-ui-stackbar-DtsOc7B_.js +2332 -0
  162. package/dist/{vue-ui-stackline-D7d_Yqid.js → vue-ui-stackline-MSs0pdhE.js} +751 -747
  163. package/dist/{vue-ui-strip-plot-AljSBqsw.js → vue-ui-strip-plot-Df-TomML.js} +63 -66
  164. package/dist/vue-ui-table-BKSRQGVK.js +1352 -0
  165. package/dist/{vue-ui-table-heatmap-DRABMw2H.js → vue-ui-table-heatmap-CglQqfWH.js} +84 -84
  166. package/dist/{vue-ui-table-sparkline-OScDr7Z5.js → vue-ui-table-sparkline-B7Dh-fN2.js} +11 -11
  167. package/dist/vue-ui-thermometer-DXuLn8NC.js +756 -0
  168. package/dist/{vue-ui-timer--q-f8RPJ.js → vue-ui-timer-orCjVwS4.js} +12 -12
  169. package/dist/{vue-ui-tiremarks-B2Fji5g0.js → vue-ui-tiremarks-DNoQ6Fl2.js} +12 -12
  170. package/dist/{vue-ui-treemap-CHqCU3Mt.js → vue-ui-treemap-90_Clj0e.js} +51 -54
  171. package/dist/vue-ui-waffle-BSQXyJ1S.js +1610 -0
  172. package/dist/{vue-ui-wheel-Dz2QzZcJ.js → vue-ui-wheel-CfU0Nnn0.js} +28 -28
  173. package/dist/{vue-ui-word-cloud-DBp8kZ4A.js → vue-ui-word-cloud-AgMvmPlI.js} +38 -41
  174. package/dist/{vue-ui-world-DbYSOiC4.js → vue-ui-world-D0Z9B6M2.js} +120 -123
  175. package/dist/{vue-ui-xy-C23skZ-G.js → vue-ui-xy-5Te2TfRK.js} +1645 -1641
  176. package/dist/vue-ui-xy-canvas-BHpBO5dS.js +1823 -0
  177. package/dist/{vue-ui-xy-CrHCmWhv.js → vue-ui-xy-ua_mFu_a.js} +99 -99
  178. package/package.json +1 -1
  179. package/dist/exposedLib-C0DPCgFj.js +0 -28
  180. package/dist/vue-ui-bullet-GgRg9sbN.js +0 -700
  181. package/dist/vue-ui-chord-eOIKOfDO.js +0 -1345
  182. package/dist/vue-ui-circle-pack-kCN1R-pw.js +0 -1636
  183. package/dist/vue-ui-donut-HrEXYDqO.js +0 -2415
  184. package/dist/vue-ui-flow-R-fW_EeT.js +0 -1217
  185. package/dist/vue-ui-funnel-CT3ixpCM.js +0 -750
  186. package/dist/vue-ui-gauge-DRXsVxYq.js +0 -932
  187. package/dist/vue-ui-history-plot-Bn_M0AFg.js +0 -1698
  188. package/dist/vue-ui-horizontal-bar-CkRRidx3.js +0 -1708
  189. package/dist/vue-ui-onion-Bix9MN3w.js +0 -1233
  190. package/dist/vue-ui-parallel-coordinate-plot-6SI2vJOo.js +0 -1430
  191. package/dist/vue-ui-relation-circle-CZ68uWhc.js +0 -903
  192. package/dist/vue-ui-ridgeline-BSiPLA08.js +0 -1614
  193. package/dist/vue-ui-rings-mGN_bpo1.js +0 -1252
  194. package/dist/vue-ui-scatter-C0PouRMY.js +0 -2403
  195. package/dist/vue-ui-sparkline-CyJKVGYw.js +0 -1584
  196. package/dist/vue-ui-stackbar-J5QzbBaA.js +0 -2328
  197. package/dist/vue-ui-table-CBdCPS2r.js +0 -1352
  198. package/dist/vue-ui-thermometer-DWmM_Hn9.js +0 -756
  199. package/dist/vue-ui-waffle-C1ksX6OD.js +0 -1612
  200. package/dist/vue-ui-xy-canvas-B-KxaFGF.js +0 -1819
@@ -0,0 +1,1250 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, Bt as n, D as r, G as i, Ht as a, It as o, Jt as ee, Nt as te, S as ne, St as re, Ut as ie, X as s, Xt as ae, b as oe, i as se, lt as ce, mt as le, nt as ue, q as de, t as fe, w as pe } from "./lib-Dqr_-I6Y.js";
3
+ import { n as me, t as he } from "./useHints-Dq_w2E8B.js";
4
+ import { t as ge } from "./useConfig-DwdGsXTx.js";
5
+ import { t as _e } from "./usePrinter-CEiH1b6R.js";
6
+ import { n as ve, t as ye } from "./BaseScanner-DZvpgOjM.js";
7
+ import { t as be } from "./useNestedProp-CulPqtou.js";
8
+ import { t as xe } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as Se } from "./useChartExport-DNiwdPmb.js";
10
+ import { t as Ce } from "./useTransitions-g_zBREk2.js";
11
+ import { t as we } from "./img-Bkzj3lDD.js";
12
+ import { n as Te } from "./Title-CaVA8EIw.js";
13
+ import { t as Ee } from "./Shape-BAL5bQmA.js";
14
+ import { t as De } from "./_plugin-vue_export-helper-B3ysoDQm.js";
15
+ import { l as Oe, t as ke } from "./useResponsive-ZtArZtUf.js";
16
+ import { t as Ae } from "./DefGrad-DVBqDjhO.js";
17
+ import { t as je } from "./BaseLegendToggle-CtEdLr4R.js";
18
+ import { t as Me } from "./A11yDataTable-DdRsVULz.js";
19
+ import { t as Ne } from "./useUserOptionState-DK-_1ddE.js";
20
+ import { t as Pe } from "./useChartAccessibility-DYqac8yF.js";
21
+ import { t as Fe } from "./labelUtils-iX76cA2-.js";
22
+ import { t as Ie } from "./Legend-BJtY2RA9.js";
23
+ import { t as Le } from "./vue_ui_rings-BVgD2aMn.js";
24
+ import { Fragment as Re, Teleport as ze, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as Be, createTextVNode as Ve, createVNode as He, defineAsyncComponent as p, guardReactiveProps as m, mergeProps as Ue, nextTick as We, normalizeClass as h, normalizeProps as g, normalizeStyle as _, onBeforeUnmount as Ge, onMounted as Ke, openBlock as v, ref as y, renderList as qe, renderSlot as b, resolveDynamicComponent as Je, shallowRef as Ye, toDisplayString as x, toRefs as Xe, unref as S, useSlots as Ze, watch as Qe, withCtx as C } from "vue";
25
+ //#region src/components/vue-ui-rings.vue
26
+ var $e = /* @__PURE__ */ e({ default: () => bt }), et = ["id"], tt = ["id"], nt = ["id"], rt = { style: { position: "relative" } }, it = [
27
+ "xmlns",
28
+ "viewBox",
29
+ "aria-describedby"
30
+ ], at = ["width", "height"], ot = { key: 1 }, st = [
31
+ "stroke",
32
+ "cx",
33
+ "cy",
34
+ "r",
35
+ "fill"
36
+ ], ct = [
37
+ "stroke",
38
+ "stroke-width",
39
+ "cx",
40
+ "cy",
41
+ "r",
42
+ "fill"
43
+ ], lt = [
44
+ "stroke",
45
+ "stroke-width",
46
+ "cx",
47
+ "cy",
48
+ "r",
49
+ "fill"
50
+ ], ut = [
51
+ "cx",
52
+ "cy",
53
+ "r",
54
+ "onMouseenter",
55
+ "onMouseleave",
56
+ "onClick"
57
+ ], dt = [
58
+ "x",
59
+ "y",
60
+ "width",
61
+ "height",
62
+ "fill",
63
+ "rx"
64
+ ], ft = [
65
+ "cx",
66
+ "cy",
67
+ "r",
68
+ "fill",
69
+ "stroke"
70
+ ], pt = [
71
+ "text-anchor",
72
+ "font-size",
73
+ "fill",
74
+ "font-weight",
75
+ "transform",
76
+ "onMouseenter",
77
+ "onMouseleave",
78
+ "onClick",
79
+ "innerHTML"
80
+ ], mt = {
81
+ key: 0,
82
+ style: {
83
+ position: "absolute",
84
+ top: "100%",
85
+ left: "0",
86
+ width: "100%"
87
+ },
88
+ "data-dom-to-png-ignore": "",
89
+ "aria-hidden": "true"
90
+ }, ht = {
91
+ key: 5,
92
+ class: "vue-data-ui-watermark"
93
+ }, gt = ["id"], _t = ["onClick"], vt = { key: 0 }, yt = { key: 1 }, bt = /*#__PURE__*/ De({
94
+ __name: "vue-ui-rings",
95
+ props: {
96
+ config: {
97
+ type: Object,
98
+ default() {
99
+ return {};
100
+ }
101
+ },
102
+ dataset: {
103
+ type: Array,
104
+ default() {
105
+ return [];
106
+ }
107
+ }
108
+ },
109
+ emits: ["selectLegend", "copyAlt"],
110
+ setup(e, { expose: De, emit: $e }) {
111
+ let bt = p(() => import("./Tooltip-CVxJe3UW.js")), xt = p(() => import("./BaseIcon-BbElSC8_.js").then((e) => e.n)), St = p(() => import("./vue-ui-accordion-C6L7glHU.js").then((e) => e.n)), Ct = p(() => import("./DataTable-CmyEubtT.js")), wt = p(() => import("./PenAndPaper-CIa1F5Jq.js").then((e) => e.t)), Tt = p(() => import("./UserOptions-WH7-49V0.js").then((e) => e.n)), Et = p(() => import("./PackageVersion-C0b7KAMa.js").then((e) => e.t)), Dt = p(() => import("./BaseDraggableDialog-Dr_Q6Yt5.js").then((e) => e.n)), { vue_ui_rings: Ot } = ge(), { isThemeValid: kt, warnInvalidTheme: At } = xe(), jt = Ze(), w = e, T = y(!1), Mt = c(() => !!w.dataset && w.dataset.length), E = y(de()), D = y(!1), Nt = y(""), O = y(null), Pt = y(0), k = y(null), Ft = y(null), It = y(null), Lt = y(null), Rt = y(null), zt = y(0), Bt = y(0), Vt = y(0), Ht = y(!1), Ut = y(!1), A = y(null), Wt = y(null), j = y(null), Gt = y({
112
+ x: 0,
113
+ y: 0
114
+ }), Kt = y("pointer"), qt = y(!1), M = y(en());
115
+ me({
116
+ config: () => M.value,
117
+ dataset: () => w.dataset,
118
+ component: "VueUiRings",
119
+ rules: [
120
+ he.singleSeries,
121
+ he.emptyArray,
122
+ {
123
+ test: (e) => e.length > 6,
124
+ message: [
125
+ "👀 The number of series is > 6. Consider:",
126
+ "",
127
+ "▶️ Grouping small values dynamically into a single \"Other\" series.",
128
+ "",
129
+ "▶️ Using filters to let users choose a maximum number of series to display.",
130
+ "",
131
+ "▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read."
132
+ ]
133
+ }
134
+ ]
135
+ });
136
+ let { transitionEnabled: N } = Ce({
137
+ config: () => M.value.transitions,
138
+ dataset: () => w.dataset
139
+ }), P = c(() => M.value.userOptions.useCursorPointer), Jt = c(() => ae({
140
+ defaultConfig: {
141
+ userOptions: { show: !1 },
142
+ table: { show: !1 },
143
+ style: { chart: {
144
+ backgroundColor: "#99999930",
145
+ layout: {
146
+ rings: {
147
+ stroke: "#6A6A6A",
148
+ gradient: { underlayerColor: "#FFFFFF" }
149
+ },
150
+ labels: { dataLabels: { show: !1 } }
151
+ },
152
+ legend: { backgroundColor: "transparent" }
153
+ } }
154
+ },
155
+ userConfig: M.value.skeletonConfig ?? {}
156
+ })), { loading: F, FINAL_DATASET: Yt, manualLoading: Xt } = ve({
157
+ ...Xe(w),
158
+ FINAL_CONFIG: M,
159
+ prepareConfig: en,
160
+ skeletonDataset: w.config?.skeletonDataset ?? [
161
+ {
162
+ name: "_",
163
+ values: [13],
164
+ color: "#808080"
165
+ },
166
+ {
167
+ name: "_",
168
+ values: [8],
169
+ color: "#969696"
170
+ },
171
+ {
172
+ name: "_",
173
+ values: [5],
174
+ color: "#ADADAD"
175
+ },
176
+ {
177
+ name: "_",
178
+ values: [3],
179
+ color: "#C4C4C4"
180
+ },
181
+ {
182
+ name: "_",
183
+ values: [2],
184
+ color: "#DBDBDB"
185
+ }
186
+ ],
187
+ skeletonConfig: ae({
188
+ defaultConfig: M.value,
189
+ userConfig: Jt.value
190
+ })
191
+ }), { userOptionsVisible: Zt, setUserOptionsVisibility: Qt, keepUserOptionState: $t } = Ne({ config: M.value }), { svgRef: I } = Pe({ config: M.value.style.chart.title });
192
+ function en() {
193
+ let e = be({
194
+ userConfig: w.config,
195
+ defaultConfig: Ot
196
+ }), t = e.theme;
197
+ if (!t) return e;
198
+ if (!kt.value(e)) return At(e), e;
199
+ let n = be({
200
+ userConfig: Le[t] || w.config,
201
+ defaultConfig: e
202
+ });
203
+ return {
204
+ ...be({
205
+ userConfig: w.config,
206
+ defaultConfig: n
207
+ }),
208
+ customPalette: e.customPalette.length ? e.customPalette : ee[e.theme] || o
209
+ };
210
+ }
211
+ Qe(() => w.config, (e) => {
212
+ F.value || (M.value = en()), Zt.value = !M.value.userOptions.showOnChartHover, nn(), zt.value += 1, Bt.value += 1, Vt.value += 1, V.value.showTable = M.value.table.show, V.value.showTooltip = M.value.style.chart.tooltip.show, V.value.showLabels = M.value.style.chart.layout.labels.dataLabels.show, H.value.width = M.value.style.chart.size, H.value.height = M.value.style.chart.size;
213
+ }, { deep: !0 });
214
+ let tn = c(() => {
215
+ let { markers: e } = M.value.style.chart.layout.labels.dataLabels, t = J.value / 2, n = V.value.showLabels ? e.position === "left" ? t : -t : 0, r = V.value.showLabels ? H.value.width / 2 - t : 0, i = e.position === "left" ? r : -r;
216
+ return {
217
+ x: M.value.responsive ? i : n / M.value.style.chart.size * H.value.width,
218
+ y: 0 / M.value.style.chart.size * H.value.height
219
+ };
220
+ }), L = c(() => ({
221
+ x: H.value.width / 2 + tn.value.x,
222
+ y: H.value.height / 2 + tn.value.y
223
+ }));
224
+ Qe(() => w.dataset, (e) => {
225
+ Array.isArray(e) && e.length > 0 && (Xt.value = !1);
226
+ }, { deep: !0 });
227
+ let R = Ye(null), z = Ye(null);
228
+ Ke(() => {
229
+ Ut.value = !0, nn();
230
+ });
231
+ let B = c(() => M.value.debug);
232
+ function nn() {
233
+ if (te(w.dataset) ? (ue({
234
+ componentName: "VueUiRings",
235
+ type: "dataset",
236
+ debug: B.value
237
+ }), Xt.value = !0) : w.dataset.forEach((e, t) => {
238
+ e.values.length || (ue({
239
+ componentName: "VueUiRings",
240
+ type: "dataset",
241
+ debug: B.value
242
+ }), Xt.value = !0), le({
243
+ datasetObject: e,
244
+ requiredAttributes: ["name", "values"]
245
+ }).forEach((e) => {
246
+ ue({
247
+ componentName: "VueUiRings",
248
+ type: "datasetSerieAttribute",
249
+ property: e,
250
+ index: t,
251
+ debug: B.value
252
+ });
253
+ });
254
+ }), te(w.dataset) || (Xt.value = M.value.loading), M.value.responsive) {
255
+ let e = Oe(() => {
256
+ Ht.value = !0;
257
+ let { width: e, height: t } = ke({
258
+ chart: k.value,
259
+ title: M.value.style.chart.title.text ? Ft.value : null,
260
+ legend: M.value.style.chart.legend.show ? It.value : null,
261
+ source: Lt.value,
262
+ noTitle: Rt.value
263
+ });
264
+ requestAnimationFrame(() => {
265
+ H.value.width = e, H.value.height = t - 12, Ht.value = !1;
266
+ });
267
+ });
268
+ R.value && (z.value && R.value.unobserve(z.value), R.value.disconnect()), R.value = new ResizeObserver(e), z.value = k.value.parentNode, R.value.observe(z.value);
269
+ }
270
+ setTimeout(() => {
271
+ T.value = !0;
272
+ }, 600);
273
+ }
274
+ Ge(() => {
275
+ R.value && (z.value && R.value.unobserve(z.value), R.value.disconnect());
276
+ });
277
+ let { isPrinting: rn, isImaging: an, generatePdf: on, generateImage: sn } = _e({
278
+ elementId: `rings_${E.value}`,
279
+ fileName: M.value.style.chart.title.text || "vue-ui-rings",
280
+ options: M.value.userOptions.print
281
+ }), cn = c(() => M.value.userOptions.show && !M.value.style.chart.title.text), ln = c(() => pe(M.value.customPalette)), V = y({
282
+ showTable: M.value.table.show,
283
+ showTooltip: M.value.style.chart.tooltip.show,
284
+ showLabels: M.value.style.chart.layout.labels.dataLabels.show
285
+ });
286
+ Qe(M, () => {
287
+ V.value = {
288
+ showTable: M.value.table.show,
289
+ showTooltip: M.value.style.chart.tooltip.show,
290
+ showLabels: M.value.style.chart.layout.labels.dataLabels.show
291
+ };
292
+ }, { immediate: !0 });
293
+ let H = y({
294
+ height: M.value.style.chart.size,
295
+ width: M.value.style.chart.size
296
+ }), un = c(() => Math.min(H.value.height, H.value.width)), dn = $e, U = y([]);
297
+ function fn() {
298
+ U.value.length ? U.value = [] : yn.value.forEach((e) => {
299
+ U.value.push(e.uid);
300
+ }), pn();
301
+ }
302
+ function pn() {
303
+ dn("selectLegend", q.value.map((e) => ({
304
+ name: e.name,
305
+ color: e.color,
306
+ value: e.value
307
+ })));
308
+ }
309
+ function W(e) {
310
+ if (U.value.includes(e)) U.value = U.value.filter((t) => t !== e);
311
+ else {
312
+ if (U.value.length === G.value.length - 1) return;
313
+ U.value.push(e);
314
+ }
315
+ pn();
316
+ }
317
+ function mn(e) {
318
+ return G.value.length ? G.value.find((t) => t.name === e) || (B.value && console.warn(`VueUiRings - Series name not found "${e}"`), null) : (B.value && console.warn("VueUiRings - There are no series to show."), null);
319
+ }
320
+ function hn(e) {
321
+ let t = mn(e);
322
+ t !== null && U.value.includes(t.uid) && W(t.uid);
323
+ }
324
+ function gn(e) {
325
+ let t = mn(e);
326
+ t !== null && (U.value.includes(t.uid) || W(t.uid));
327
+ }
328
+ let _n = c(() => Math.max(...G.value.filter((e) => !U.value.includes(e.uid)).map(({ value: e }) => e)));
329
+ function vn(e) {
330
+ return e / _n.value;
331
+ }
332
+ let G = c(() => Yt.value.map(({ values: e, name: t, color: r = null }, i) => {
333
+ let a = n(e).reduce((e, t) => e + t, 0);
334
+ return {
335
+ name: t,
336
+ color: r || ne(r) || ln.value[i] || o[i] || o[i % o.length],
337
+ value: a,
338
+ proportion: a / Yt.value.map((e) => (e.values || []).reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0),
339
+ uid: de(),
340
+ absoluteIndex: i
341
+ };
342
+ })), yn = c(() => G.value.map((e, t) => {
343
+ let n = se(M.value.style.chart.layout.labels.dataLabels.formatter, e.value, s({
344
+ p: M.value.style.chart.layout.labels.dataLabels.prefix,
345
+ v: e.value,
346
+ s: M.value.style.chart.layout.labels.dataLabels.suffix,
347
+ r: M.value.style.chart.legend.roundingValue
348
+ }), {
349
+ datapoint: e,
350
+ index: t
351
+ }), r = isNaN(e.value / K.value) ? "-" : s({
352
+ v: e.value / K.value * 100,
353
+ s: "%",
354
+ r: M.value.style.chart.legend.roundingPercentage
355
+ }), i = wn({
356
+ showVal: M.value.style.chart.legend.showValue,
357
+ showPercentage: M.value.style.chart.legend.showPercentage,
358
+ val: n,
359
+ percentage: U.value.includes(e.uid) ? "-%" : r
360
+ });
361
+ return {
362
+ ...e,
363
+ shape: "circle",
364
+ opacity: U.value.includes(e.uid) ? .5 : 1,
365
+ segregate: () => W(e.uid),
366
+ isSegregated: U.value.includes(e.uid),
367
+ display: `${e.name}${M.value.style.chart.legend.showPercentage || M.value.style.chart.legend.showValue ? ": " : ""}${i}`
368
+ };
369
+ }).toSorted((e, t) => t.value - e.value)), bn = c(() => ({
370
+ cy: "rings-div-legend",
371
+ backgroundColor: M.value.style.chart.legend.backgroundColor,
372
+ color: M.value.style.chart.legend.color,
373
+ fontSize: M.value.style.chart.legend.fontSize,
374
+ paddingBottom: 12,
375
+ fontWeight: M.value.style.chart.legend.bold ? "bold" : ""
376
+ })), K = c(() => G.value.filter((e) => !U.value.includes(e.uid)).map(({ value: e }) => e).reduce((e, t) => e + t, 0)), q = c(() => G.value.filter((e) => !U.value.includes(e.uid)).map(({ name: e, value: t, color: n = null, uid: r, absoluteIndex: i }, a) => ({
377
+ absoluteIndex: i,
378
+ uid: r,
379
+ name: e,
380
+ color: n || ne(n) || ln.value[a] || o[a] || o[a % o.length],
381
+ value: t,
382
+ proportion: vn(t),
383
+ percentage: t / K.value * 100,
384
+ strokeWidth: M.value.style.chart.layout.rings.strokeWidth * vn(t)
385
+ })).toSorted((e, t) => t.value - e.value));
386
+ function xn() {
387
+ return q.value.map(({ name: e, color: t, value: n, absoluteValues: r, percentage: i }) => ({
388
+ name: e,
389
+ color: t,
390
+ value: n,
391
+ absoluteValues: r,
392
+ percentage: i
393
+ }));
394
+ }
395
+ let J = c(() => un.value - M.value.style.chart.layout.rings.strokeWidth * 2);
396
+ function Sn(e, t) {
397
+ M.value.events.datapointClick && M.value.events.datapointClick({
398
+ datapoint: e,
399
+ seriesIndex: t
400
+ });
401
+ }
402
+ function Cn(e, t) {
403
+ O.value = null, D.value = !1, j.value = null, Kt.value = "pointer", M.value.events.datapointLeave && M.value.events.datapointLeave({
404
+ datapoint: e,
405
+ seriesIndex: t
406
+ });
407
+ }
408
+ function wn({ val: e, percentage: t, showVal: n, showPercentage: r }) {
409
+ let i = M.value.style.chart.layout.labels.dataLabels;
410
+ return Fe({
411
+ config: i,
412
+ val: e,
413
+ percentage: t,
414
+ showVal: n,
415
+ showPercentage: r
416
+ });
417
+ }
418
+ function Tn(e) {
419
+ let t = M.value.style.chart.layout.labels.dataLabels, n = se(t.formatter, e.value, s({
420
+ p: t.prefix,
421
+ v: e.value,
422
+ s: t.suffix,
423
+ r: t.roundingValue
424
+ })), r = s({
425
+ v: e.percentage,
426
+ s: "%",
427
+ r: t.roundingPercentage
428
+ });
429
+ return `${e.name}\n${wn({
430
+ val: n,
431
+ percentage: r,
432
+ showVal: t.showValue,
433
+ showPercentage: t.showPercentage
434
+ })}`;
435
+ }
436
+ function En(e) {
437
+ return oe(J.value * e.proportion / 2 * .9 <= 0 ? 1e-4 : J.value * e.proportion / 2 * .9);
438
+ }
439
+ function Dn(e, t) {
440
+ return t === 0 ? L.value.y : L.value.y + J.value * q.value[0].proportion / 2 - J.value * e.proportion / 2 - 2 * (t + 1);
441
+ }
442
+ function Y(e, t) {
443
+ let n = M.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? -(J.value / 2) : J.value / 2;
444
+ return {
445
+ x: L.value.x + n,
446
+ y: Dn(e, t) - En(e)
447
+ };
448
+ }
449
+ let On = y(null);
450
+ function kn(e, t, n = "pointer") {
451
+ if (M.value.events.datapointEnter && M.value.events.datapointEnter({
452
+ datapoint: e,
453
+ seriesIndex: t
454
+ }), U.value.length === w.dataset.length) return;
455
+ On.value = {
456
+ datapoint: e,
457
+ seriesIndex: t,
458
+ series: q.value,
459
+ config: M.value
460
+ }, O.value = t, j.value = t, Kt.value = n;
461
+ let r = q.value[t], i = M.value.style.chart.tooltip.customFormat;
462
+ if (re(i) && ce(() => i({
463
+ seriesIndex: t,
464
+ datapoint: e,
465
+ series: q.value,
466
+ config: M.value
467
+ }))) Nt.value = i({
468
+ seriesIndex: t,
469
+ datapoint: e,
470
+ series: q.value,
471
+ config: M.value
472
+ });
473
+ else {
474
+ let n = "";
475
+ n += `<div style="width:100%;text-align:center;border-bottom:1px solid ${M.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${r.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="${r.color}" />${jt.pattern ? `<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${E.value}_${e.absoluteIndex})" />` : ""}</svg>`, n += `<b>${wn({
476
+ showVal: M.value.style.chart.tooltip.showValue,
477
+ showPercentage: M.value.style.chart.tooltip.showPercentage,
478
+ val: `<span>${se(M.value.style.chart.layout.labels.dataLabels.formatter, r.value, s({
479
+ p: M.value.style.chart.layout.labels.dataLabels.prefix,
480
+ v: r.value,
481
+ s: M.value.style.chart.layout.labels.dataLabels.suffix,
482
+ r: M.value.style.chart.tooltip.roundingValue
483
+ }), {
484
+ datapoint: e,
485
+ seriesIndex: t
486
+ })}</span>`,
487
+ percentage: s({
488
+ v: r.value / K.value * 100,
489
+ s: "%",
490
+ r: M.value.style.chart.tooltip.roundingPercentage
491
+ })
492
+ })}</b></div>`, Nt.value = n;
493
+ }
494
+ D.value = !0;
495
+ }
496
+ let X = c(() => ({
497
+ head: q.value.map((e) => ({
498
+ name: e.name,
499
+ color: e.color
500
+ })),
501
+ body: q.value.map((e) => e.value)
502
+ })), Z = c(() => {
503
+ let e = [
504
+ "__SUM__",
505
+ s({
506
+ p: M.value.style.chart.layout.labels.dataLabels.prefix,
507
+ v: K.value,
508
+ s: M.value.style.chart.layout.labels.dataLabels.suffix,
509
+ r: M.value.table.td.roundingValue
510
+ }),
511
+ "100%"
512
+ ], t = X.value.head.map((e, t) => [
513
+ {
514
+ color: e.color,
515
+ name: e.name
516
+ },
517
+ s({
518
+ p: M.value.style.chart.layout.labels.dataLabels.prefix,
519
+ v: X.value.body[t],
520
+ s: M.value.style.chart.layout.labels.dataLabels.suffix,
521
+ r: M.value.table.td.roundingValue
522
+ }),
523
+ isNaN(X.value.body[t] / K.value) ? "-" : (X.value.body[t] / K.value * 100).toFixed(M.value.table.td.roundingPercentage) + "%"
524
+ ]);
525
+ return {
526
+ head: e,
527
+ body: t,
528
+ a11yBody: t.map((e) => e.map((e, t) => t === 0 ? e.name : e)),
529
+ config: {
530
+ th: {
531
+ backgroundColor: M.value.table.th.backgroundColor,
532
+ color: M.value.table.th.color,
533
+ outline: M.value.table.th.outline
534
+ },
535
+ td: {
536
+ backgroundColor: M.value.table.td.backgroundColor,
537
+ color: M.value.table.td.color,
538
+ outline: M.value.table.td.outline
539
+ },
540
+ breakpoint: M.value.table.responsiveBreakpoint
541
+ },
542
+ colNames: [
543
+ M.value.table.columnNames.series,
544
+ M.value.table.columnNames.value,
545
+ M.value.table.columnNames.percentage
546
+ ]
547
+ };
548
+ });
549
+ function An(e = null) {
550
+ We(() => {
551
+ let n = X.value.head.map((e, t) => [
552
+ [e.name],
553
+ [X.value.body[t]],
554
+ [isNaN(X.value.body[t] / K.value) ? "-" : X.value.body[t] / K.value * 100]
555
+ ]), i = [
556
+ [M.value.style.chart.title.text],
557
+ [M.value.style.chart.title.subtitle.text],
558
+ [
559
+ [""],
560
+ ["val"],
561
+ ["%"]
562
+ ]
563
+ ].concat(n), a = r(i);
564
+ e ? e(a) : t({
565
+ csvContent: a,
566
+ title: M.value.style.chart.title.text || "vue-ui-rings"
567
+ });
568
+ });
569
+ }
570
+ let Q = y(!1);
571
+ function jn(e) {
572
+ Q.value = e, Pt.value += 1;
573
+ }
574
+ function Mn() {
575
+ V.value.showTable = !V.value.showTable;
576
+ }
577
+ function Nn() {
578
+ V.value.showTooltip = !V.value.showTooltip;
579
+ }
580
+ function Pn() {
581
+ V.value.showLabels = !V.value.showLabels;
582
+ }
583
+ let Fn = y(!1);
584
+ function In() {
585
+ Fn.value = !Fn.value;
586
+ }
587
+ async function Ln({ scale: e = 2 } = {}) {
588
+ if (!k.value) return;
589
+ let { width: t, height: n } = k.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await we({
590
+ domElement: k.value,
591
+ base64: !0,
592
+ img: !0,
593
+ scale: e
594
+ });
595
+ return {
596
+ imageUri: i,
597
+ base64: a,
598
+ title: M.value.style.chart.title.text,
599
+ width: t,
600
+ height: n,
601
+ aspectRatio: r
602
+ };
603
+ }
604
+ let $ = c(() => {
605
+ let e = M.value.table.useDialog && !M.value.table.show, t = V.value.showTable;
606
+ return {
607
+ component: e ? Dt : St,
608
+ title: `${M.value.style.chart.title.text}${M.value.style.chart.title.subtitle.text ? `: ${M.value.style.chart.title.subtitle.text}` : ""}`,
609
+ props: e ? {
610
+ backgroundColor: M.value.table.th.backgroundColor,
611
+ color: M.value.table.th.color,
612
+ headerColor: M.value.table.th.color,
613
+ headerBg: M.value.table.th.backgroundColor,
614
+ isFullscreen: Q.value,
615
+ fullscreenParent: k.value,
616
+ forcedWidth: Math.min(800, window.innerWidth * .8),
617
+ isCursorPointer: P.value
618
+ } : {
619
+ hideDetails: !0,
620
+ config: {
621
+ open: t,
622
+ maxHeight: 1e4,
623
+ body: {
624
+ backgroundColor: M.value.style.chart.backgroundColor,
625
+ color: M.value.style.chart.color
626
+ },
627
+ head: {
628
+ backgroundColor: M.value.style.chart.backgroundColor,
629
+ color: M.value.style.chart.color
630
+ }
631
+ }
632
+ }
633
+ };
634
+ });
635
+ Qe(() => V.value.showTable, (e) => {
636
+ M.value.table.show || (e && M.value.table.useDialog && A.value ? A.value.open() : "close" in A.value && A.value.close());
637
+ });
638
+ function Rn() {
639
+ V.value.showTable = !1, Wt.value && Wt.value.setTableIconState(!1);
640
+ }
641
+ let zn = c(() => yn.value.map((e) => ({
642
+ ...e,
643
+ name: e.display
644
+ }))), Bn = c(() => M.value.style.chart.backgroundColor), Vn = c(() => M.value.style.chart.legend), Hn = c(() => M.value.style.chart.title), { isCallbackImaging: Un, isCallbackSvg: Wn, generateSvg: Gn, onGenerateImage: Kn } = Se({
645
+ svg: I,
646
+ title: Hn,
647
+ legend: Vn,
648
+ legendItems: zn,
649
+ backgroundColor: Bn,
650
+ getSvgCallback: () => M.value.userOptions.callbacks.svg,
651
+ generateImage: sn
652
+ });
653
+ async function qn() {
654
+ if (dn("copyAlt", {
655
+ config: M.value,
656
+ dataset: q.value
657
+ }), !M.value.userOptions.callbacks.altCopy) {
658
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
659
+ return;
660
+ }
661
+ await Promise.resolve(M.value.userOptions.callbacks.altCopy({
662
+ config: M.value,
663
+ dataset: q.value
664
+ }));
665
+ }
666
+ function Jn() {
667
+ j.value = null, qt.value = !0;
668
+ }
669
+ function Yn() {
670
+ j.value = null, Kt.value = "pointer", D.value = !1, O.value = null, qt.value = !1;
671
+ }
672
+ function Xn(e) {
673
+ if (!I.value || Fn.value || document.activeElement !== I.value || !q.value.length || U.value.length === w.dataset.length) return;
674
+ let t = ["ArrowLeft", "ArrowUp"].includes(e.key), n = ["ArrowRight", "ArrowDown"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
675
+ if (!t && !n && !r && !i) return;
676
+ if (e.preventDefault(), e.stopPropagation(), i) {
677
+ j.value = null, Kt.value = "pointer", D.value = !1, O.value = null;
678
+ return;
679
+ }
680
+ if (r) {
681
+ if (j.value === null) return;
682
+ let e = q.value[j.value];
683
+ if (!e) return;
684
+ Sn(e, j.value);
685
+ return;
686
+ }
687
+ let a = j.value;
688
+ a === null || a < 0 || a >= q.value.length ? a = n ? 0 : q.value.length - 1 : n ? (a += 1, a >= q.value.length && (a = 0)) : t && (--a, a < 0 && (a = q.value.length - 1));
689
+ let o = q.value[a];
690
+ o && (Zn(a), kn(o, a, "keyboard"));
691
+ }
692
+ function Zn(e) {
693
+ if (!Number.isFinite(e) || !I.value) return;
694
+ let t = q.value[e];
695
+ if (!t) return;
696
+ let n = Y(t, e), r = I.value.getBoundingClientRect();
697
+ Gt.value = {
698
+ x: r.left + n.x / H.value.width * r.width,
699
+ y: r.top + n.y / H.value.height * r.height
700
+ };
701
+ }
702
+ let Qn = c(() => ({
703
+ headers: Z.value?.colNames ?? [],
704
+ rows: Z.value?.a11yBody ?? []
705
+ }));
706
+ return De({
707
+ getData: xn,
708
+ getImage: Ln,
709
+ generatePdf: on,
710
+ generateCsv: An,
711
+ generateImage: sn,
712
+ generateSvg: Gn,
713
+ hideSeries: gn,
714
+ showSeries: hn,
715
+ toggleTable: Mn,
716
+ toggleTooltip: Nn,
717
+ toggleAnnotator: In,
718
+ toggleFullscreen: jn,
719
+ toggleLabels: Pn,
720
+ copyAlt: qn
721
+ }), (e, t) => (v(), d("div", {
722
+ ref_key: "ringsChart",
723
+ ref: k,
724
+ class: h(`vue-data-ui-component vue-ui-rings ${Q.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${M.value.useCssAnimation ? "" : "vue-ui-dna"}`),
725
+ style: _(`font-family:${M.value.style.fontFamily};text-align:center;width:100%;background:${M.value.style.chart.backgroundColor};${M.value.responsive ? "height: 100%" : ""}`),
726
+ id: `rings_${E.value}`,
727
+ onMouseleave: t[2] ||= (e) => {
728
+ O.value = null, D.value = !1, S(Qt)(!1);
729
+ },
730
+ onMouseenter: t[3] ||= () => S(Qt)(!0)
731
+ }, [
732
+ f("div", {
733
+ id: `chart-instructions-${E.value}`,
734
+ class: "sr-only"
735
+ }, [f("p", null, x(M.value.a11y.translations.keyboardNavigation), 1)], 8, tt),
736
+ Qn.value?.rows?.length ? (v(), l(Me, {
737
+ key: 0,
738
+ uid: E.value,
739
+ head: Qn.value.headers,
740
+ body: Qn.value.rows,
741
+ notice: M.value.a11y.translations.tableAvailable,
742
+ caption: M.value.a11y.translations.tableCaption
743
+ }, null, 8, [
744
+ "uid",
745
+ "head",
746
+ "body",
747
+ "notice",
748
+ "caption"
749
+ ])) : u("", !0),
750
+ M.value.userOptions.buttons.annotator ? (v(), l(S(wt), {
751
+ key: 1,
752
+ svgRef: S(I),
753
+ backgroundColor: M.value.style.chart.backgroundColor,
754
+ color: M.value.style.chart.color,
755
+ active: Fn.value,
756
+ isCursorPointer: P.value,
757
+ onClose: In
758
+ }, {
759
+ "annotator-action-close": C(() => [b(e.$slots, "annotator-action-close", {}, void 0, !0)]),
760
+ "annotator-action-color": C(({ color: t }) => [b(e.$slots, "annotator-action-color", g(m({ color: t })), void 0, !0)]),
761
+ "annotator-action-draw": C(({ mode: t }) => [b(e.$slots, "annotator-action-draw", g(m({ mode: t })), void 0, !0)]),
762
+ "annotator-action-undo": C(({ disabled: t }) => [b(e.$slots, "annotator-action-undo", g(m({ disabled: t })), void 0, !0)]),
763
+ "annotator-action-redo": C(({ disabled: t }) => [b(e.$slots, "annotator-action-redo", g(m({ disabled: t })), void 0, !0)]),
764
+ "annotator-action-delete": C(({ disabled: t }) => [b(e.$slots, "annotator-action-delete", g(m({ disabled: t })), void 0, !0)]),
765
+ _: 3
766
+ }, 8, [
767
+ "svgRef",
768
+ "backgroundColor",
769
+ "color",
770
+ "active",
771
+ "isCursorPointer"
772
+ ])) : u("", !0),
773
+ cn.value ? (v(), d("div", {
774
+ key: 2,
775
+ ref_key: "noTitle",
776
+ ref: Rt,
777
+ class: "vue-data-ui-no-title-space",
778
+ style: "height:36px; width: 100%;background:transparent"
779
+ }, null, 512)) : u("", !0),
780
+ M.value.style.chart.title.text ? (v(), d("div", {
781
+ key: 3,
782
+ ref_key: "chartTitle",
783
+ ref: Ft,
784
+ style: "width:100%;background:transparent"
785
+ }, [(v(), l(Te, {
786
+ key: `title_${zt.value}`,
787
+ config: {
788
+ title: {
789
+ cy: "rings-div-title",
790
+ ...M.value.style.chart.title
791
+ },
792
+ subtitle: {
793
+ cy: "rings-div-subtitle",
794
+ ...M.value.style.chart.title.subtitle
795
+ }
796
+ }
797
+ }, null, 8, ["config"]))], 512)) : u("", !0),
798
+ f("div", { id: `legend-top-${E.value}` }, null, 8, nt),
799
+ M.value.userOptions.show && Mt.value && (S($t) || S(Zt)) ? (v(), l(S(Tt), {
800
+ ref_key: "userOptionsRef",
801
+ ref: Wt,
802
+ key: `user_options_${Pt.value}`,
803
+ backgroundColor: M.value.style.chart.backgroundColor,
804
+ color: M.value.style.chart.color,
805
+ isPrinting: S(rn),
806
+ isImaging: S(an),
807
+ uid: E.value,
808
+ hasTooltip: M.value.userOptions.buttons.tooltip && M.value.style.chart.tooltip.show,
809
+ hasPdf: M.value.userOptions.buttons.pdf,
810
+ hasXls: M.value.userOptions.buttons.csv,
811
+ hasImg: M.value.userOptions.buttons.img,
812
+ hasSvg: M.value.userOptions.buttons.svg,
813
+ hasTable: M.value.userOptions.buttons.table,
814
+ hasFullscreen: M.value.userOptions.buttons.fullscreen,
815
+ hasAltCopy: M.value.userOptions.buttons.altCopy,
816
+ hasLabel: M.value.userOptions.buttons.labels,
817
+ isTooltip: V.value.showTooltip,
818
+ isFullscreen: Q.value,
819
+ titles: { ...M.value.userOptions.buttonTitles },
820
+ chartElement: k.value,
821
+ position: M.value.userOptions.position,
822
+ hasAnnotator: M.value.userOptions.buttons.annotator,
823
+ isAnnotation: Fn.value,
824
+ callbacks: M.value.userOptions.callbacks,
825
+ printScale: M.value.userOptions.print.scale,
826
+ tableDialog: M.value.table.useDialog,
827
+ isCursorPointer: P.value,
828
+ onToggleFullscreen: jn,
829
+ onGeneratePdf: S(on),
830
+ onGenerateCsv: An,
831
+ onGenerateImage: S(Kn),
832
+ onGenerateSvg: S(Gn),
833
+ onToggleTable: Mn,
834
+ onToggleTooltip: Nn,
835
+ onToggleAnnotator: In,
836
+ onToggleLabels: Pn,
837
+ onCopyAlt: qn,
838
+ style: _({ visibility: S($t) ? S(Zt) ? "visible" : "hidden" : "visible" })
839
+ }, Be({ _: 2 }, [
840
+ e.$slots.menuIcon ? {
841
+ name: "menuIcon",
842
+ fn: C(({ isOpen: t, color: n }) => [b(e.$slots, "menuIcon", g(m({
843
+ isOpen: t,
844
+ color: n
845
+ })), void 0, !0)]),
846
+ key: "0"
847
+ } : void 0,
848
+ e.$slots.optionTooltip ? {
849
+ name: "optionTooltip",
850
+ fn: C(() => [b(e.$slots, "optionTooltip", {}, void 0, !0)]),
851
+ key: "1"
852
+ } : void 0,
853
+ e.$slots.optionPdf ? {
854
+ name: "optionPdf",
855
+ fn: C(() => [b(e.$slots, "optionPdf", {}, void 0, !0)]),
856
+ key: "2"
857
+ } : void 0,
858
+ e.$slots.optionCsv ? {
859
+ name: "optionCsv",
860
+ fn: C(() => [b(e.$slots, "optionCsv", {}, void 0, !0)]),
861
+ key: "3"
862
+ } : void 0,
863
+ e.$slots.optionImg ? {
864
+ name: "optionImg",
865
+ fn: C(() => [b(e.$slots, "optionImg", {}, void 0, !0)]),
866
+ key: "4"
867
+ } : void 0,
868
+ e.$slots.optionSvg ? {
869
+ name: "optionSvg",
870
+ fn: C(() => [b(e.$slots, "optionSvg", {}, void 0, !0)]),
871
+ key: "5"
872
+ } : void 0,
873
+ e.$slots.optionTable ? {
874
+ name: "optionTable",
875
+ fn: C(() => [b(e.$slots, "optionTable", {}, void 0, !0)]),
876
+ key: "6"
877
+ } : void 0,
878
+ e.$slots.optionLabels ? {
879
+ name: "optionLabels",
880
+ fn: C(() => [b(e.$slots, "optionLabels", {}, void 0, !0)]),
881
+ key: "7"
882
+ } : void 0,
883
+ e.$slots.optionFullscreen ? {
884
+ name: "optionFullscreen",
885
+ fn: C(({ toggleFullscreen: t, isFullscreen: n }) => [b(e.$slots, "optionFullscreen", g(m({
886
+ toggleFullscreen: t,
887
+ isFullscreen: n
888
+ })), void 0, !0)]),
889
+ key: "8"
890
+ } : void 0,
891
+ e.$slots.optionAnnotator ? {
892
+ name: "optionAnnotator",
893
+ fn: C(({ toggleAnnotator: t, isAnnotator: n }) => [b(e.$slots, "optionAnnotator", g(m({
894
+ toggleAnnotator: t,
895
+ isAnnotator: n
896
+ })), void 0, !0)]),
897
+ key: "9"
898
+ } : void 0,
899
+ e.$slots.optionAltCopy ? {
900
+ name: "optionAltCopy",
901
+ fn: C(({ altCopy: t }) => [b(e.$slots, "optionAltCopy", g(m({ altCopy: t })), void 0, !0)]),
902
+ key: "10"
903
+ } : void 0,
904
+ e.$slots["custom-menu-before"] ? {
905
+ name: "custom-menu-before",
906
+ fn: C(() => [b(e.$slots, "custom-menu-before", {}, void 0, !0)]),
907
+ key: "11"
908
+ } : void 0,
909
+ e.$slots["custom-menu-after"] ? {
910
+ name: "custom-menu-after",
911
+ fn: C(() => [b(e.$slots, "custom-menu-after", {}, void 0, !0)]),
912
+ key: "12"
913
+ } : void 0
914
+ ]), 1032, /* @__PURE__ */ "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.onGenerateImage.onGenerateSvg.style".split("."))) : u("", !0),
915
+ f("div", rt, [(v(), d("svg", {
916
+ ref_key: "svgRef",
917
+ ref: I,
918
+ xmlns: S(fe),
919
+ class: h({
920
+ "vue-data-ui-fullscreen--on": Q.value,
921
+ "vue-data-ui-fulscreen--off": !Q.value,
922
+ resizing: Ht.value || S(F),
923
+ "vue-data-ui-no-transition": !S(N)
924
+ }),
925
+ viewBox: `0 0 ${H.value.width <= 0 ? 10 : H.value.width} ${H.value.height <= 0 ? 10 : H.value.height}`,
926
+ style: _(`max-width:100%;overflow:hidden;background:transparent;color:${M.value.style.chart.color}`),
927
+ "aria-describedby": `chart-instructions-${E.value}`,
928
+ tabindex: "0",
929
+ onFocus: Jn,
930
+ onBlur: Yn,
931
+ onKeydown: Xn
932
+ }, [
933
+ He(S(Et)),
934
+ e.$slots["chart-background"] ? (v(), d("foreignObject", {
935
+ key: 0,
936
+ x: 0,
937
+ y: 0,
938
+ width: H.value.width <= 0 ? 10 : H.value.width,
939
+ height: H.value.height <= 0 ? 10 : H.value.height,
940
+ style: { pointerEvents: "none" }
941
+ }, [b(e.$slots, "chart-background", {}, void 0, !0)], 8, at)) : u("", !0),
942
+ f("defs", null, [(v(!0), d(Re, null, qe(q.value, (e, t) => (v(), l(Ae, {
943
+ t: "radial",
944
+ cx: "50%",
945
+ cy: "30%",
946
+ r: "50%",
947
+ fx: "50%",
948
+ fy: "50%",
949
+ id: `gradient_${E.value}_${t}`,
950
+ key: `gradient_${E.value}_${t}`,
951
+ stops: [[
952
+ "0%",
953
+ S(a)(S(ie)(e.color, .05), 100 - M.value.style.chart.layout.rings.gradient.intensity),
954
+ 1
955
+ ], [
956
+ "100%",
957
+ e.color,
958
+ 1
959
+ ]]
960
+ }, null, 8, ["id", "stops"]))), 128))]),
961
+ e.$slots.pattern ? (v(), d("g", ot, [(v(!0), d(Re, null, qe(q.value, (t) => (v(), d("defs", null, [b(e.$slots, "pattern", Ue({ ref_for: !0 }, {
962
+ seriesIndex: t.absoluteIndex,
963
+ patternId: `pattern_${E.value}_${t.absoluteIndex}`
964
+ }), void 0, !0)]))), 256))])) : u("", !0),
965
+ (v(!0), d(Re, null, qe(q.value, (t, n) => (v(), d("g", { key: `r_${t.uid}` }, [
966
+ f("circle", {
967
+ class: h({
968
+ "vue-data-ui-transition": T.value && S(N),
969
+ "vue-rings-item-onload": !T.value && M.value.useCssAnimation && !S(F),
970
+ "vue-ui-rings-opacity": O.value !== null && O.value !== n
971
+ }),
972
+ style: _(`animation-delay:${n * 100}ms`),
973
+ stroke: M.value.style.chart.layout.rings.stroke,
974
+ cx: L.value.x,
975
+ cy: Dn(t, n),
976
+ r: En(t),
977
+ fill: M.value.style.chart.layout.rings.gradient.underlayerColor
978
+ }, null, 14, st),
979
+ f("circle", {
980
+ class: h({
981
+ "vue-data-ui-transition": T.value && S(N),
982
+ "vue-rings-item-onload": !T.value && M.value.useCssAnimation && !S(F),
983
+ "vue-ui-rings-shadow": M.value.style.chart.layout.rings.useShadow,
984
+ "vue-ui-rings-blur": O.value !== null && O.value !== n
985
+ }),
986
+ style: _(`animation-delay:${n * 100}ms`),
987
+ stroke: M.value.style.chart.layout.rings.stroke,
988
+ "stroke-width": t.strokeWidth < .5 ? .5 : t.strokeWidth,
989
+ cx: L.value.x,
990
+ cy: Dn(t, n),
991
+ r: En(t),
992
+ fill: M.value.style.chart.layout.rings.gradient.show ? `url(#gradient_${E.value}_${n})` : t.color
993
+ }, null, 14, ct),
994
+ e.$slots.pattern ? (v(), d("circle", {
995
+ key: 0,
996
+ class: h({
997
+ "vue-data-ui-transition": T.value && S(N),
998
+ "vue-rings-item-onload": !T.value && M.value.useCssAnimation && !S(F),
999
+ "vue-ui-rings-shadow": M.value.style.chart.layout.rings.useShadow,
1000
+ "vue-ui-rings-blur": O.value !== null && O.value !== n
1001
+ }),
1002
+ style: _(`animation-delay:${n * 100}ms`),
1003
+ stroke: M.value.style.chart.layout.rings.stroke,
1004
+ "stroke-width": t.strokeWidth < .5 ? .5 : t.strokeWidth,
1005
+ cx: L.value.x,
1006
+ cy: Dn(t, n),
1007
+ r: En(t),
1008
+ fill: `url(#pattern_${E.value}_${t.absoluteIndex})`
1009
+ }, null, 14, lt)) : u("", !0),
1010
+ f("circle", {
1011
+ stroke: "none",
1012
+ cx: L.value.x,
1013
+ cy: Dn(t, n),
1014
+ r: En(t),
1015
+ fill: "transparent",
1016
+ onMouseenter: (e) => kn(t, n, "pointer"),
1017
+ onMouseleave: (e) => Cn(t, n),
1018
+ onClick: (e) => Sn(t, n)
1019
+ }, null, 40, ut),
1020
+ V.value.showLabels ? (v(), d(Re, { key: 1 }, [
1021
+ f("rect", {
1022
+ x: M.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? Y(t, n).x : L.value.x,
1023
+ y: Y(t, n).y - M.value.style.chart.layout.labels.dataLabels.markers.strokeWidth / 2,
1024
+ width: Math.abs(L.value.x - Y(t, n).x),
1025
+ height: M.value.style.chart.layout.labels.dataLabels.markers.strokeWidth,
1026
+ fill: M.value.style.chart.layout.labels.dataLabels.markers.stroke,
1027
+ rx: M.value.style.chart.layout.labels.dataLabels.markers.strokeWidth,
1028
+ class: h({
1029
+ "vue-data-ui-transition": T.value && S(N),
1030
+ "vue-rings-item-onload": !T.value && M.value.useCssAnimation && !S(F),
1031
+ "vue-ui-rings-shadow": M.value.style.chart.layout.rings.useShadow,
1032
+ "vue-ui-rings-blur": O.value !== null && O.value !== n
1033
+ })
1034
+ }, null, 10, dt),
1035
+ f("circle", {
1036
+ cx: Y(t, n).x,
1037
+ cy: Y(t, n).y,
1038
+ r: M.value.style.chart.layout.labels.dataLabels.markers.radius,
1039
+ fill: t.color,
1040
+ stroke: M.value.style.chart.backgroundColor,
1041
+ class: h({
1042
+ "vue-data-ui-transition": T.value && S(N),
1043
+ "vue-rings-item-onload": !T.value && M.value.useCssAnimation && !S(F),
1044
+ "vue-ui-rings-shadow": M.value.style.chart.layout.rings.useShadow,
1045
+ "vue-ui-rings-blur": O.value !== null && O.value !== n
1046
+ })
1047
+ }, null, 10, ft),
1048
+ f("text", {
1049
+ "text-anchor": M.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? "end" : "start",
1050
+ "font-size": M.value.style.chart.layout.labels.dataLabels.fontSize,
1051
+ fill: M.value.style.chart.layout.labels.dataLabels.color,
1052
+ "font-weight": M.value.style.chart.layout.labels.dataLabels.bold ? "bold" : "normal",
1053
+ class: h({
1054
+ "vue-data-ui-transition": T.value && S(N),
1055
+ "vue-rings-item-onload": !T.value && M.value.useCssAnimation && !S(F),
1056
+ "vue-ui-rings-shadow": M.value.style.chart.layout.rings.useShadow,
1057
+ "vue-ui-rings-blur": O.value !== null && O.value !== n
1058
+ }),
1059
+ transform: `translate(${Y(t, n).x + (M.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? -M.value.style.chart.layout.labels.dataLabels.offsetX - 6 : M.value.style.chart.layout.labels.dataLabels.offsetX) + 6}, ${Y(t, n).y + M.value.style.chart.layout.labels.dataLabels.fontSize / 3})`,
1060
+ onMouseenter: (e) => kn(t, n, "pointer"),
1061
+ onMouseleave: (e) => Cn(t, n),
1062
+ onClick: (e) => Sn(t, n),
1063
+ innerHTML: S(i)({
1064
+ content: Tn(t),
1065
+ fontSize: M.value.style.chart.layout.labels.dataLabels.fontSize,
1066
+ fill: M.value.style.chart.layout.labels.dataLabels.color,
1067
+ x: 0,
1068
+ y: 0,
1069
+ translateY: !0
1070
+ })
1071
+ }, null, 42, pt)
1072
+ ], 64)) : u("", !0)
1073
+ ]))), 128)),
1074
+ b(e.$slots, "svg", { svg: {
1075
+ ...H.value,
1076
+ isPrintingImg: S(rn) || S(an) || S(Un),
1077
+ isPrintingSvg: S(Wn)
1078
+ } }, void 0, !0)
1079
+ ], 46, it)), e.$slots.hint ? (v(), d("div", mt, [b(e.$slots, "hint", g(m({
1080
+ hint: M.value.a11y.translations.keyboardNavigation,
1081
+ isVisible: qt.value
1082
+ })), void 0, !0)])) : u("", !0)]),
1083
+ e.$slots.watermark ? (v(), d("div", ht, [b(e.$slots, "watermark", g(m({ isPrinting: S(rn) || S(an) || S(Un) || S(Wn) })), void 0, !0)])) : u("", !0),
1084
+ f("div", { id: `legend-bottom-${E.value}` }, null, 8, gt),
1085
+ Ut.value && (M.value.style.chart.legend.show || e.$slots.legend) ? (v(), l(ze, {
1086
+ key: 6,
1087
+ to: M.value.style.chart.legend.position === "top" ? `#legend-top-${E.value}` : `#legend-bottom-${E.value}`
1088
+ }, [f("div", {
1089
+ ref_key: "chartLegend",
1090
+ ref: It
1091
+ }, [b(e.$slots, "legend", { legend: yn.value }, () => [M.value.style.chart.legend.show ? (v(), l(Ie, {
1092
+ key: `legend_${Vt.value}`,
1093
+ legendSet: yn.value,
1094
+ config: bn.value,
1095
+ isCursorPointer: P.value,
1096
+ onClickMarker: t[0] ||= ({ legend: e }) => W(e.uid)
1097
+ }, Be({
1098
+ item: C(({ legend: e, index: t }) => [S(F) ? u("", !0) : (v(), d("div", {
1099
+ key: 0,
1100
+ onClick: (t) => W(e.uid),
1101
+ style: _(`opacity:${U.value.includes(e.uid) ? .5 : 1}`)
1102
+ }, x(e.display), 13, _t))]),
1103
+ legendToggle: C(() => [yn.value.length > 2 && M.value.style.chart.legend.selectAllToggle.show && !S(F) ? (v(), l(je, {
1104
+ key: 0,
1105
+ backgroundColor: M.value.style.chart.legend.selectAllToggle.backgroundColor,
1106
+ color: M.value.style.chart.legend.selectAllToggle.color,
1107
+ fontSize: M.value.style.chart.legend.fontSize,
1108
+ checked: U.value.length > 0,
1109
+ isCursorPointer: P.value,
1110
+ onToggle: fn
1111
+ }, null, 8, [
1112
+ "backgroundColor",
1113
+ "color",
1114
+ "fontSize",
1115
+ "checked",
1116
+ "isCursorPointer"
1117
+ ])) : u("", !0)]),
1118
+ _: 2
1119
+ }, [e.$slots.pattern ? {
1120
+ name: "legend-pattern",
1121
+ fn: C(({ legend: e, index: t }) => [He(Ee, {
1122
+ shape: e.shape,
1123
+ radius: 30,
1124
+ stroke: "none",
1125
+ plot: {
1126
+ x: 30,
1127
+ y: 30
1128
+ },
1129
+ fill: `url(#pattern_${E.value}_${t})`
1130
+ }, null, 8, ["shape", "fill"])]),
1131
+ key: "0"
1132
+ } : void 0]), 1032, [
1133
+ "legendSet",
1134
+ "config",
1135
+ "isCursorPointer"
1136
+ ])) : u("", !0)], !0)], 512)], 8, ["to"])) : u("", !0),
1137
+ e.$slots.source ? (v(), d("div", {
1138
+ key: 7,
1139
+ ref_key: "source",
1140
+ ref: Lt,
1141
+ dir: "auto"
1142
+ }, [b(e.$slots, "source", {}, void 0, !0)], 512)) : u("", !0),
1143
+ He(S(bt), {
1144
+ teleportTo: M.value.style.chart.tooltip.teleportTo,
1145
+ show: V.value.showTooltip && D.value && U.value.length < w.dataset.length,
1146
+ backgroundColor: M.value.style.chart.tooltip.backgroundColor,
1147
+ color: M.value.style.chart.tooltip.color,
1148
+ borderRadius: M.value.style.chart.tooltip.borderRadius,
1149
+ borderColor: M.value.style.chart.tooltip.borderColor,
1150
+ borderWidth: M.value.style.chart.tooltip.borderWidth,
1151
+ fontSize: M.value.style.chart.tooltip.fontSize,
1152
+ backgroundOpacity: M.value.style.chart.tooltip.backgroundOpacity,
1153
+ position: M.value.style.chart.tooltip.position,
1154
+ offsetX: M.value.style.chart.tooltip.offsetX,
1155
+ offsetY: M.value.style.chart.tooltip.offsetY,
1156
+ parent: k.value,
1157
+ content: Nt.value,
1158
+ isFullscreen: Q.value,
1159
+ isCustom: M.value.style.chart.tooltip.customFormat && typeof M.value.style.chart.tooltip.customFormat == "function",
1160
+ smooth: M.value.style.chart.tooltip.smooth,
1161
+ backdropFilter: M.value.style.chart.tooltip.backdropFilter,
1162
+ smoothForce: M.value.style.chart.tooltip.smoothForce,
1163
+ smoothSnapThreshold: M.value.style.chart.tooltip.smoothSnapThreshold,
1164
+ isA11yMode: Kt.value === "keyboard",
1165
+ a11yPosition: Gt.value
1166
+ }, {
1167
+ "tooltip-before": C(() => [b(e.$slots, "tooltip-before", g(m({ ...On.value })), void 0, !0)]),
1168
+ tooltip: C(() => [b(e.$slots, "tooltip", g(m({ ...On.value })), void 0, !0)]),
1169
+ "tooltip-after": C(() => [b(e.$slots, "tooltip-after", g(m({ ...On.value })), void 0, !0)]),
1170
+ _: 3
1171
+ }, 8, [
1172
+ "teleportTo",
1173
+ "show",
1174
+ "backgroundColor",
1175
+ "color",
1176
+ "borderRadius",
1177
+ "borderColor",
1178
+ "borderWidth",
1179
+ "fontSize",
1180
+ "backgroundOpacity",
1181
+ "position",
1182
+ "offsetX",
1183
+ "offsetY",
1184
+ "parent",
1185
+ "content",
1186
+ "isFullscreen",
1187
+ "isCustom",
1188
+ "smooth",
1189
+ "backdropFilter",
1190
+ "smoothForce",
1191
+ "smoothSnapThreshold",
1192
+ "isA11yMode",
1193
+ "a11yPosition"
1194
+ ]),
1195
+ Mt.value && M.value.userOptions.buttons.table ? (v(), l(Je($.value.component), Ue({ key: 8 }, $.value.props, {
1196
+ ref_key: "tableUnit",
1197
+ ref: A,
1198
+ onClose: Rn
1199
+ }), Be({
1200
+ content: C(() => [(v(), l(S(Ct), {
1201
+ key: `table_${Bt.value}`,
1202
+ colNames: Z.value.colNames,
1203
+ head: Z.value.head,
1204
+ body: Z.value.body,
1205
+ config: Z.value.config,
1206
+ title: M.value.table.useDialog ? "" : $.value.title,
1207
+ withCloseButton: !M.value.table.useDialog,
1208
+ isCursorPointer: P.value,
1209
+ onClose: Rn
1210
+ }, {
1211
+ th: C(({ th: e }) => [e === "__SUM__" ? (v(), d("div", vt, [He(S(xt), {
1212
+ name: "sigma",
1213
+ stroke: Z.value.config.th.color,
1214
+ size: 16
1215
+ }, null, 8, ["stroke"])])) : (v(), d("div", yt, x(e), 1))]),
1216
+ td: C(({ td: e }) => [Ve(x(e.name || e), 1)]),
1217
+ _: 1
1218
+ }, 8, [
1219
+ "colNames",
1220
+ "head",
1221
+ "body",
1222
+ "config",
1223
+ "title",
1224
+ "withCloseButton",
1225
+ "isCursorPointer"
1226
+ ]))]),
1227
+ _: 2
1228
+ }, [M.value.table.useDialog ? {
1229
+ name: "title",
1230
+ fn: C(() => [Ve(x($.value.title), 1)]),
1231
+ key: "0"
1232
+ } : void 0, M.value.table.useDialog ? {
1233
+ name: "actions",
1234
+ fn: C(() => [f("button", {
1235
+ tabindex: "0",
1236
+ class: "vue-ui-user-options-button",
1237
+ onClick: t[1] ||= (e) => An(M.value.userOptions.callbacks.csv),
1238
+ style: _({ cursor: P.value ? "pointer" : "default" })
1239
+ }, [He(S(xt), {
1240
+ name: "fileCsv",
1241
+ stroke: $.value.props.color
1242
+ }, null, 8, ["stroke"])], 4)]),
1243
+ key: "1"
1244
+ } : void 0]), 1040)) : u("", !0),
1245
+ b(e.$slots, "skeleton", {}, () => [S(F) ? (v(), l(ye, { key: 0 })) : u("", !0)], !0)
1246
+ ], 46, et));
1247
+ }
1248
+ }, [["__scopeId", "data-v-e181a4c5"]]);
1249
+ //#endregion
1250
+ export { $e as n, bt as t };