vue-data-ui 3.22.7 → 3.22.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/dist/{Arrow-DaGI9u-b.js → Arrow-DdymhUfY.js} +1 -1
  2. package/dist/{BaseDraggableDialog-1wwwdwV2.js → BaseDraggableDialog-Av7Uxq5V.js} +2 -2
  3. package/dist/BaseIcon-UdRAvP2h.js +483 -0
  4. package/dist/{BaseLegendToggle-CHnlKalt.js → BaseLegendToggle-DWtet-Hh.js} +1 -1
  5. package/dist/{BaseZoomControls-C9bdZSCj.js → BaseZoomControls-BY2KLqs6.js} +2 -2
  6. package/dist/{ColorPicker-TB3KhY3j.js → ColorPicker-DR_ummtM.js} +2 -2
  7. package/dist/{DataTable-CVF7DoZn.js → DataTable-BxpTMgfK.js} +2 -2
  8. package/dist/DefGrad-DVBqDjhO.js +48 -0
  9. package/dist/{Legend-kAr7Vqqu.js → Legend-ROt6ugzW.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-CEiv7_gM.js → NonSvgPenAndPaper-B6EG_Sga.js} +3 -3
  11. package/dist/{PackageVersion-Dse0n05o.js → PackageVersion-D__dRVRA.js} +1 -1
  12. package/dist/{PenAndPaper-gaV1QPpP.js → PenAndPaper-DsXi7GJ-.js} +3 -3
  13. package/dist/{Shape-CiQIxyyT.js → Shape-UpH0a4Ur.js} +3 -3
  14. package/dist/{Slicer-6FOtg9py.js → Slicer-CW_XPIKL.js} +369 -364
  15. package/dist/{SlicerPreview-DUywypFu.js → SlicerPreview-CTz41lOu.js} +542 -537
  16. package/dist/{SparkTooltip-B-qsPj68.js → SparkTooltip-BTLN-Kex.js} +6 -6
  17. package/dist/{Title-PiTKr6sp.js → Title-CcNiYzEo.js} +1 -1
  18. package/dist/{Tooltip-B8yYfISA.js → Tooltip-CxOrWlFy.js} +1 -1
  19. package/dist/{UserOptions-BL9VlHop.js → UserOptions-trvJ26nz.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-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-mini-loader.js +1 -1
  51. package/dist/components/vue-ui-molecule.js +1 -1
  52. package/dist/components/vue-ui-mood-radar.js +1 -1
  53. package/dist/components/vue-ui-nested-donuts.js +1 -1
  54. package/dist/components/vue-ui-onion.js +1 -1
  55. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  56. package/dist/components/vue-ui-quadrant.js +1 -1
  57. package/dist/components/vue-ui-quick-chart.js +1 -1
  58. package/dist/components/vue-ui-radar.js +1 -1
  59. package/dist/components/vue-ui-rating.js +1 -1
  60. package/dist/components/vue-ui-relation-circle.js +1 -1
  61. package/dist/components/vue-ui-ridgeline.js +1 -1
  62. package/dist/components/vue-ui-rings.js +1 -1
  63. package/dist/components/vue-ui-scatter.js +1 -1
  64. package/dist/components/vue-ui-skeleton.js +1 -1
  65. package/dist/components/vue-ui-smiley.js +1 -1
  66. package/dist/components/vue-ui-spark-trend.js +1 -1
  67. package/dist/components/vue-ui-sparkbar.js +1 -1
  68. package/dist/components/vue-ui-sparkgauge.js +1 -1
  69. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  70. package/dist/components/vue-ui-sparkline.js +1 -1
  71. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  72. package/dist/components/vue-ui-stackbar.js +1 -1
  73. package/dist/components/vue-ui-stackline.js +1 -1
  74. package/dist/components/vue-ui-strip-plot.js +1 -1
  75. package/dist/components/vue-ui-table-heatmap.js +1 -1
  76. package/dist/components/vue-ui-table-sparkline.js +1 -1
  77. package/dist/components/vue-ui-table.js +1 -1
  78. package/dist/components/vue-ui-thermometer.js +1 -1
  79. package/dist/components/vue-ui-timer.js +1 -1
  80. package/dist/components/vue-ui-tiremarks.js +1 -1
  81. package/dist/components/vue-ui-treemap.js +1 -1
  82. package/dist/components/vue-ui-vertical-bar.js +1 -1
  83. package/dist/components/vue-ui-waffle.js +1 -1
  84. package/dist/components/vue-ui-wheel.js +1 -1
  85. package/dist/components/vue-ui-word-cloud.js +1 -1
  86. package/dist/components/vue-ui-world.js +1 -1
  87. package/dist/components/vue-ui-xy-canvas.js +1 -1
  88. package/dist/components/vue-ui-xy.js +1 -1
  89. package/dist/{dom-to-png-BZjYWNEg.js → dom-to-png-BbwhsRIr.js} +1 -1
  90. package/dist/exposedLib-VXFp3Z2c.js +19 -0
  91. package/dist/{geoProjections-Czak6Jn1.js → geoProjections-BbN7z57k.js} +172 -15
  92. package/dist/{img-B_abIg0o.js → img-DnP3eXuv.js} +1 -1
  93. package/dist/{labelUtils-CTDRZdP1.js → labelUtils-DBEh078l.js} +1 -1
  94. package/dist/{lib-EAmk-PgA.js → lib-JqW18y5I.js} +36 -30
  95. package/dist/{package-DeMimPej.js → package-ByOT60IK.js} +1 -1
  96. package/dist/{pdf-B6qrdEqB.js → pdf-hj3gzrE7.js} +1 -1
  97. package/dist/{render-common-DMai0gHB.js → render-common-D18VrP0h.js} +20 -20
  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/utils.d.ts +18 -0
  103. package/dist/{useAutoSizeLabelsInsideViewbox-CyOGrdD_.js → useAutoSizeLabelsInsideViewbox-BGnDfZdg.js} +1 -1
  104. package/dist/{useNestedProp-D8XqxgOU.js → useNestedProp-DIuuzG1r.js} +1 -1
  105. package/dist/{usePrinter-DnGzpp6Q.js → usePrinter-CqqHmnBI.js} +2 -2
  106. package/dist/utils.js +24 -24
  107. package/dist/{vue-data-ui-D6qVWloL.js → vue-data-ui-ub3fCh6P.js} +68 -68
  108. package/dist/vue-data-ui.js +77 -77
  109. package/dist/vue-ui-3d-bar-taPI41_I.js +1825 -0
  110. package/dist/{vue-ui-accordion-Dzz8XhX3.js → vue-ui-accordion-CjAGqEJg.js} +3 -3
  111. package/dist/vue-ui-age-pyramid-jvQZbF8E.js +1247 -0
  112. package/dist/{vue-ui-annotator-DXZumSP8.js → vue-ui-annotator-BIucnT0L.js} +67 -67
  113. package/dist/vue-ui-bullet-CIATzlsk.js +710 -0
  114. package/dist/vue-ui-bump-D8MxltQE.js +1249 -0
  115. package/dist/vue-ui-candlestick-DULUMU-Q.js +1840 -0
  116. package/dist/vue-ui-carousel-table-BSmdexG7.js +455 -0
  117. package/dist/{vue-ui-chestnut-C3IbAdkQ.js → vue-ui-chestnut-BIh1nQ7q.js} +585 -553
  118. package/dist/vue-ui-chord-DL1M7cgL.js +1391 -0
  119. package/dist/{vue-ui-circle-pack-Cq4lkmee.js → vue-ui-circle-pack-C1Pgq6si.js} +424 -418
  120. package/dist/{vue-ui-cursor-DLJcFwRZ.js → vue-ui-cursor-d2uLAKTQ.js} +61 -61
  121. package/dist/{vue-ui-dag-DemsIecS.js → vue-ui-dag-CVh9FpZr.js} +43 -43
  122. package/dist/{vue-ui-dashboard-DWHD_wNN.js → vue-ui-dashboard-BH0N3ebj.js} +69 -69
  123. package/dist/{vue-ui-digits-sIKc85vS.js → vue-ui-digits-R6wi3J-Y.js} +3 -3
  124. package/dist/{vue-ui-donut-Dp6GW0dw.js → vue-ui-donut-BWDeVzLc.js} +201 -201
  125. package/dist/{vue-ui-donut-CLheJPcO.js → vue-ui-donut-BoZdciGh.js} +825 -816
  126. package/dist/{vue-ui-donut-evolution-zmRPpJLj.js → vue-ui-donut-evolution-CpC9EMro.js} +486 -474
  127. package/dist/{vue-ui-dumbbell-bSbgHd0U.js → vue-ui-dumbbell-DGA5Bfnl.js} +520 -486
  128. package/dist/{vue-ui-flow-q_M7O1BK.js → vue-ui-flow-CNczKwTh.js} +119 -119
  129. package/dist/vue-ui-funnel-CaD2tZCT.js +782 -0
  130. package/dist/{vue-ui-galaxy-DCCWmIyH.js → vue-ui-galaxy-v3cTbUiM.js} +342 -342
  131. package/dist/vue-ui-gauge-DxvMjfoc.js +926 -0
  132. package/dist/{vue-ui-geo-CM59rpnj.js → vue-ui-geo-BgmLkZZ2.js} +14 -14
  133. package/dist/{vue-ui-gizmo-D2RL6IVp.js → vue-ui-gizmo-n1kmcGeE.js} +66 -61
  134. package/dist/{vue-ui-heatmap-BX6PQxML.js → vue-ui-heatmap-dSTh8ah_.js} +163 -163
  135. package/dist/{vue-ui-history-plot-DaHAeQph.js → vue-ui-history-plot-N8BqMFVU.js} +572 -561
  136. package/dist/vue-ui-horizontal-bar-CwiQxYzv.js +1689 -0
  137. package/dist/{vue-ui-kpi-DLbP7lJR.js → vue-ui-kpi-BKrUk9o8.js} +4 -4
  138. package/dist/{vue-ui-mini-loader-DPHzHsM7.js → vue-ui-mini-loader-D5we7V_W.js} +2 -2
  139. package/dist/vue-ui-molecule--kK1JfnP.js +931 -0
  140. package/dist/{vue-ui-mood-radar-CCWaPr0P.js → vue-ui-mood-radar-CpBRHQo_.js} +246 -241
  141. package/dist/vue-ui-nested-donuts-8Ehwcuns.js +1493 -0
  142. package/dist/vue-ui-onion-Cf6JiYTH.js +1200 -0
  143. package/dist/vue-ui-parallel-coordinate-plot-Blnqp1DB.js +1416 -0
  144. package/dist/{vue-ui-quadrant-T_UmRAAy.js → vue-ui-quadrant-CxU0jiOm.js} +410 -404
  145. package/dist/vue-ui-quick-chart-BO98uEPl.js +2469 -0
  146. package/dist/{vue-ui-radar-CHjeGOMC.js → vue-ui-radar-eH2Qih4_.js} +323 -317
  147. package/dist/{vue-ui-rating-Bek8Tgr-.js → vue-ui-rating-CN-ZiAES.js} +137 -128
  148. package/dist/{vue-ui-relation-circle-DRZGQ_UX.js → vue-ui-relation-circle-BIcP-aAt.js} +167 -167
  149. package/dist/{vue-ui-ridgeline-DIODGiu8.js → vue-ui-ridgeline-ChXHzEJw.js} +538 -532
  150. package/dist/vue-ui-rings-J990vNbX.js +1252 -0
  151. package/dist/vue-ui-scatter-BeJB0EKg.js +2422 -0
  152. package/dist/{vue-ui-skeleton-Fmue6DAG.js → vue-ui-skeleton-DC2bZ0nk.js} +385 -382
  153. package/dist/{vue-ui-smiley-BVMI5vUy.js → vue-ui-smiley-Dyyu1je3.js} +119 -106
  154. package/dist/vue-ui-spark-trend-CpDX85H3.js +443 -0
  155. package/dist/vue-ui-sparkbar-DhIo1qsW.js +398 -0
  156. package/dist/{vue-ui-sparkgauge-DDNNBIdf.js → vue-ui-sparkgauge-D0Fo3Hts.js} +79 -74
  157. package/dist/vue-ui-sparkhistogram-CUjFiuAh.js +576 -0
  158. package/dist/{vue-ui-sparkline-BNxdO-Bx.js → vue-ui-sparkline-ApivEMBP.js} +397 -384
  159. package/dist/{vue-ui-sparkstackbar-BfF5-Wg2.js → vue-ui-sparkstackbar-DsKQJx_n.js} +207 -195
  160. package/dist/{vue-ui-stackbar-B-2Me3d-.js → vue-ui-stackbar-Ds4hXATH.js} +595 -588
  161. package/dist/vue-ui-stackline-DJbcVvmN.js +2425 -0
  162. package/dist/vue-ui-strip-plot-C3ZHf4bD.js +1736 -0
  163. package/dist/{vue-ui-table-heatmap-D-Qrm3oX.js → vue-ui-table-heatmap-CNXNXXBU.js} +14 -14
  164. package/dist/vue-ui-table-sparkline-B9JJ4pFF.js +712 -0
  165. package/dist/{vue-ui-table-Dr1dK3d_.js → vue-ui-table-uudidrYt.js} +62 -62
  166. package/dist/vue-ui-thermometer-Bvw3oQb3.js +770 -0
  167. package/dist/{vue-ui-timer-B5bkNNHS.js → vue-ui-timer-5NAWw5BN.js} +94 -89
  168. package/dist/{vue-ui-tiremarks-Bn8b-ZSz.js → vue-ui-tiremarks-Caz_g1c5.js} +13 -13
  169. package/dist/vue-ui-treemap-F9upPyOI.js +1718 -0
  170. package/dist/vue-ui-waffle-Bk9AsrPp.js +1368 -0
  171. package/dist/{vue-ui-wheel-CeVwXtEX.js → vue-ui-wheel-DD6Q39BA.js} +130 -130
  172. package/dist/{vue-ui-word-cloud-D81-qJLw.js → vue-ui-word-cloud-BZLT5svo.js} +27 -27
  173. package/dist/vue-ui-world-DbEJN5NA.js +3027 -0
  174. package/dist/{vue-ui-xy-C2p9H2IX.js → vue-ui-xy-BYMAITk_.js} +1655 -1629
  175. package/dist/{vue-ui-xy-OhwS0kcZ.js → vue-ui-xy-Cn9Q8YPr.js} +116 -116
  176. package/dist/{vue-ui-xy-canvas-DLKDdH35.js → vue-ui-xy-canvas-Dcm2ftwm.js} +58 -58
  177. package/package.json +1 -1
  178. package/dist/BaseIcon-_-BX7be3.js +0 -502
  179. package/dist/exposedLib-Be0ifkti.js +0 -19
  180. package/dist/vue-ui-3d-bar-CjNuWXoA.js +0 -1757
  181. package/dist/vue-ui-age-pyramid-CC7Dxli-.js +0 -1238
  182. package/dist/vue-ui-bullet-Dde6FhbR.js +0 -710
  183. package/dist/vue-ui-bump-C5pni1JV.js +0 -1249
  184. package/dist/vue-ui-candlestick-Ctw65O4_.js +0 -1829
  185. package/dist/vue-ui-carousel-table-BEUvhUH0.js +0 -455
  186. package/dist/vue-ui-chord-5eCWG4br.js +0 -1391
  187. package/dist/vue-ui-funnel-BEZUEuuh.js +0 -777
  188. package/dist/vue-ui-gauge-B1ljgfE1.js +0 -920
  189. package/dist/vue-ui-horizontal-bar-CTW6l4n3.js +0 -1683
  190. package/dist/vue-ui-molecule-aD0SMTiX.js +0 -925
  191. package/dist/vue-ui-nested-donuts--BCPWkl7.js +0 -1487
  192. package/dist/vue-ui-onion-s4iMCGAP.js +0 -1200
  193. package/dist/vue-ui-parallel-coordinate-plot-CfgvpyoC.js +0 -1416
  194. package/dist/vue-ui-quick-chart-D1OWBgQJ.js +0 -2469
  195. package/dist/vue-ui-rings-CcdUSXGG.js +0 -1246
  196. package/dist/vue-ui-scatter-CixnqLoi.js +0 -2413
  197. package/dist/vue-ui-spark-trend-DfZeLiWA.js +0 -438
  198. package/dist/vue-ui-sparkbar-Cl1e49sw.js +0 -393
  199. package/dist/vue-ui-sparkhistogram-ny_liYa6.js +0 -560
  200. package/dist/vue-ui-stackline-CdvVPQUM.js +0 -2419
  201. package/dist/vue-ui-strip-plot-CRXPXA5V.js +0 -1729
  202. package/dist/vue-ui-table-sparkline-C31Q32My.js +0 -712
  203. package/dist/vue-ui-thermometer-BUrtIfuo.js +0 -763
  204. package/dist/vue-ui-treemap-LMWiicop.js +0 -1713
  205. package/dist/vue-ui-waffle-B_L3gkky.js +0 -1362
  206. package/dist/vue-ui-world-B7npRmTa.js +0 -14264
@@ -0,0 +1,1252 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, G as n, It as r, J as i, Kt as a, Mt as o, Rt as ee, S as te, T as ne, U as re, Wt as ie, Z as ae, b as oe, dt as se, i as ce, kt as le, ot as ue, t as de, v as fe, yt as pe, zt as me } from "./lib-JqW18y5I.js";
3
+ import { t as he } from "./useConfig-DYM3f6EI.js";
4
+ import { t as ge } from "./usePrinter-CqqHmnBI.js";
5
+ import { n as _e, t as ve } from "./BaseScanner-DZvpgOjM.js";
6
+ import { t as ye } from "./useSvgExport-SVIsDot8.js";
7
+ import { t as be } from "./useNestedProp-DIuuzG1r.js";
8
+ import { t as xe } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as Se } from "./img-DnP3eXuv.js";
10
+ import { n as Ce } from "./Title-CcNiYzEo.js";
11
+ import { t as we } from "./Shape-UpH0a4Ur.js";
12
+ import { t as Te } from "./_plugin-vue_export-helper-B3ysoDQm.js";
13
+ import { c as Ee } from "./canvas-lib-BOP_HS11.js";
14
+ import { t as De } from "./useResponsive-BfnK0KxU.js";
15
+ import { t as Oe } from "./DefGrad-DVBqDjhO.js";
16
+ import { t as ke } from "./BaseLegendToggle-DWtet-Hh.js";
17
+ import { t as Ae } from "./A11yDataTable-DdRsVULz.js";
18
+ import { t as je } from "./useUserOptionState-DK-_1ddE.js";
19
+ import { t as Me } from "./useChartAccessibility-DYqac8yF.js";
20
+ import { t as Ne } from "./labelUtils-DBEh078l.js";
21
+ import { t as Pe } from "./Legend-ROt6ugzW.js";
22
+ import { t as Fe } from "./vue_ui_rings-BVgD2aMn.js";
23
+ import { Fragment as Ie, Teleport as Le, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createSlots as Re, createTextVNode as ze, createVNode as Be, defineAsyncComponent as f, guardReactiveProps as p, mergeProps as Ve, nextTick as He, normalizeClass as m, normalizeProps as h, normalizeStyle as g, onBeforeUnmount as Ue, onMounted as We, openBlock as _, ref as v, renderList as Ge, renderSlot as y, resolveDynamicComponent as Ke, shallowRef as qe, toDisplayString as Je, toRefs as Ye, unref as b, useSlots as Xe, watch as Ze, withCtx as x } from "vue";
24
+ //#region src/components/vue-ui-rings.vue
25
+ var Qe = /* @__PURE__ */ e({ default: () => vt }), $e = ["id"], et = ["id"], tt = ["id"], nt = { style: { position: "relative" } }, rt = [
26
+ "xmlns",
27
+ "viewBox",
28
+ "aria-describedby"
29
+ ], it = ["width", "height"], at = { key: 1 }, ot = [
30
+ "stroke",
31
+ "cx",
32
+ "cy",
33
+ "r",
34
+ "fill"
35
+ ], st = [
36
+ "stroke",
37
+ "stroke-width",
38
+ "cx",
39
+ "cy",
40
+ "r",
41
+ "fill"
42
+ ], ct = [
43
+ "stroke",
44
+ "stroke-width",
45
+ "cx",
46
+ "cy",
47
+ "r",
48
+ "fill"
49
+ ], lt = [
50
+ "cx",
51
+ "cy",
52
+ "r",
53
+ "onMouseenter",
54
+ "onMouseleave",
55
+ "onClick"
56
+ ], ut = [
57
+ "x",
58
+ "y",
59
+ "width",
60
+ "height",
61
+ "fill",
62
+ "rx"
63
+ ], dt = [
64
+ "cx",
65
+ "cy",
66
+ "r",
67
+ "fill",
68
+ "stroke"
69
+ ], ft = [
70
+ "x",
71
+ "y",
72
+ "text-anchor",
73
+ "font-size",
74
+ "fill",
75
+ "font-weight",
76
+ "onMouseenter",
77
+ "onMouseleave",
78
+ "onClick",
79
+ "innerHTML"
80
+ ], pt = {
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
+ }, mt = {
91
+ key: 5,
92
+ class: "vue-data-ui-watermark"
93
+ }, ht = ["id"], gt = ["onClick"], _t = ["innerHTML"], vt = /*#__PURE__*/ Te({
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: Te, emit: Qe }) {
111
+ let vt = f(() => import("./Tooltip-CxOrWlFy.js")), yt = f(() => import("./BaseIcon-UdRAvP2h.js").then((e) => e.n)), bt = f(() => import("./vue-ui-accordion-CjAGqEJg.js").then((e) => e.n)), xt = f(() => import("./DataTable-BxpTMgfK.js")), St = f(() => import("./PenAndPaper-DsXi7GJ-.js").then((e) => e.t)), Ct = f(() => import("./UserOptions-trvJ26nz.js").then((e) => e.n)), wt = f(() => import("./PackageVersion-D__dRVRA.js").then((e) => e.t)), Tt = f(() => import("./BaseDraggableDialog-Av7Uxq5V.js").then((e) => e.n)), { vue_ui_rings: Et } = he(), { isThemeValid: Dt, warnInvalidTheme: Ot } = xe(), kt = Xe(), S = e, C = v(!1), At = s(() => !!S.dataset && S.dataset.length), w = v(n()), T = v(!1), jt = v(""), E = v(null), Mt = v(0), D = v(null), Nt = v(null), Pt = v(null), Ft = v(null), It = v(null), Lt = v(0), Rt = v(0), zt = v(0), Bt = v(!1), Vt = v(!1), O = v(null), Ht = v(null), Ut = v(!1), Wt = v(!1), k = v(null), Gt = v({
112
+ x: 0,
113
+ y: 0
114
+ }), A = v("pointer"), Kt = v(!1), j = v($t()), M = s(() => j.value.userOptions.useCursorPointer), qt = s(() => a({
115
+ defaultConfig: {
116
+ userOptions: { show: !1 },
117
+ table: { show: !1 },
118
+ style: { chart: {
119
+ backgroundColor: "#99999930",
120
+ layout: {
121
+ rings: {
122
+ stroke: "#6A6A6A",
123
+ gradient: { underlayerColor: "#FFFFFF" }
124
+ },
125
+ labels: { dataLabels: { show: !1 } }
126
+ },
127
+ legend: { backgroundColor: "transparent" }
128
+ } }
129
+ },
130
+ userConfig: j.value.skeletonConfig ?? {}
131
+ })), { loading: N, FINAL_DATASET: Jt, manualLoading: Yt } = _e({
132
+ ...Ye(S),
133
+ FINAL_CONFIG: j,
134
+ prepareConfig: $t,
135
+ skeletonDataset: S.config?.skeletonDataset ?? [
136
+ {
137
+ name: "_",
138
+ values: [13],
139
+ color: "#808080"
140
+ },
141
+ {
142
+ name: "_",
143
+ values: [8],
144
+ color: "#969696"
145
+ },
146
+ {
147
+ name: "_",
148
+ values: [5],
149
+ color: "#ADADAD"
150
+ },
151
+ {
152
+ name: "_",
153
+ values: [3],
154
+ color: "#C4C4C4"
155
+ },
156
+ {
157
+ name: "_",
158
+ values: [2],
159
+ color: "#DBDBDB"
160
+ }
161
+ ],
162
+ skeletonConfig: a({
163
+ defaultConfig: j.value,
164
+ userConfig: qt.value
165
+ })
166
+ }), { userOptionsVisible: Xt, setUserOptionsVisibility: Zt, keepUserOptionState: Qt } = je({ config: j.value }), { svgRef: P } = Me({ config: j.value.style.chart.title });
167
+ function $t() {
168
+ let e = be({
169
+ userConfig: S.config,
170
+ defaultConfig: Et
171
+ }), t = e.theme;
172
+ if (!t) return e;
173
+ if (!Dt.value(e)) return Ot(e), e;
174
+ let n = be({
175
+ userConfig: Fe[t] || S.config,
176
+ defaultConfig: e
177
+ });
178
+ return {
179
+ ...be({
180
+ userConfig: S.config,
181
+ defaultConfig: n
182
+ }),
183
+ customPalette: e.customPalette.length ? e.customPalette : ie[e.theme] || o
184
+ };
185
+ }
186
+ Ze(() => S.config, (e) => {
187
+ N.value || (j.value = $t()), Xt.value = !j.value.userOptions.showOnChartHover, nn(), Lt.value += 1, Rt.value += 1, zt.value += 1, R.value.showTable = j.value.table.show, R.value.showTooltip = j.value.style.chart.tooltip.show, R.value.showLabels = j.value.style.chart.layout.labels.dataLabels.show, z.value.width = j.value.style.chart.size, z.value.height = j.value.style.chart.size;
188
+ }, { deep: !0 });
189
+ let en = s(() => {
190
+ let { markers: e } = j.value.style.chart.layout.labels.dataLabels, t = K.value / 2, n = R.value.showLabels ? e.position === "left" ? t : -t : 0, r = R.value.showLabels ? z.value.width / 2 - t : 0, i = e.position === "left" ? r : -r;
191
+ return {
192
+ x: j.value.responsive ? i : n / j.value.style.chart.size * z.value.width,
193
+ y: 0 / j.value.style.chart.size * z.value.height
194
+ };
195
+ }), F = s(() => ({
196
+ x: z.value.width / 2 + en.value.x,
197
+ y: z.value.height / 2 + en.value.y
198
+ }));
199
+ Ze(() => S.dataset, (e) => {
200
+ Array.isArray(e) && e.length > 0 && (Yt.value = !1);
201
+ }, { deep: !0 });
202
+ let I = qe(null), L = qe(null);
203
+ We(() => {
204
+ Vt.value = !0, nn();
205
+ });
206
+ let tn = s(() => !!j.value.debug);
207
+ function nn() {
208
+ if (le(S.dataset) ? (t({
209
+ componentName: "VueUiRings",
210
+ type: "dataset",
211
+ debug: tn.value
212
+ }), Yt.value = !0) : S.dataset.forEach((e, n) => {
213
+ e.values.length || (t({
214
+ componentName: "VueUiRings",
215
+ type: "dataset",
216
+ debug: tn.value
217
+ }), Yt.value = !0), se({
218
+ datasetObject: e,
219
+ requiredAttributes: ["name", "values"]
220
+ }).forEach((e) => {
221
+ t({
222
+ componentName: "VueUiRings",
223
+ type: "datasetSerieAttribute",
224
+ property: e,
225
+ index: n,
226
+ debug: tn.value
227
+ });
228
+ });
229
+ }), le(S.dataset) || (Yt.value = j.value.loading), j.value.responsive) {
230
+ let e = Ee(() => {
231
+ Bt.value = !0;
232
+ let { width: e, height: t } = De({
233
+ chart: D.value,
234
+ title: j.value.style.chart.title.text ? Nt.value : null,
235
+ legend: j.value.style.chart.legend.show ? Pt.value : null,
236
+ source: Ft.value,
237
+ noTitle: It.value
238
+ });
239
+ requestAnimationFrame(() => {
240
+ z.value.width = e, z.value.height = t - 12, Bt.value = !1;
241
+ });
242
+ });
243
+ I.value && (L.value && I.value.unobserve(L.value), I.value.disconnect()), I.value = new ResizeObserver(e), L.value = D.value.parentNode, I.value.observe(L.value);
244
+ }
245
+ setTimeout(() => {
246
+ C.value = !0;
247
+ }, 600);
248
+ }
249
+ Ue(() => {
250
+ I.value && (L.value && I.value.unobserve(L.value), I.value.disconnect());
251
+ });
252
+ let { isPrinting: rn, isImaging: an, generatePdf: on, generateImage: sn } = ge({
253
+ elementId: `rings_${w.value}`,
254
+ fileName: j.value.style.chart.title.text || "vue-ui-rings",
255
+ options: j.value.userOptions.print
256
+ }), cn = s(() => j.value.userOptions.show && !j.value.style.chart.title.text), ln = s(() => te(j.value.customPalette)), R = v({
257
+ showTable: j.value.table.show,
258
+ showTooltip: j.value.style.chart.tooltip.show,
259
+ showLabels: j.value.style.chart.layout.labels.dataLabels.show
260
+ });
261
+ Ze(j, () => {
262
+ R.value = {
263
+ showTable: j.value.table.show,
264
+ showTooltip: j.value.style.chart.tooltip.show,
265
+ showLabels: j.value.style.chart.layout.labels.dataLabels.show
266
+ };
267
+ }, { immediate: !0 });
268
+ let z = v({
269
+ height: j.value.style.chart.size,
270
+ width: j.value.style.chart.size
271
+ }), un = s(() => Math.min(z.value.height, z.value.width)), dn = Qe, B = v([]);
272
+ function fn() {
273
+ B.value.length ? B.value = [] : U.value.forEach((e) => {
274
+ B.value.push(e.uid);
275
+ }), pn();
276
+ }
277
+ function pn() {
278
+ dn("selectLegend", G.value.map((e) => ({
279
+ name: e.name,
280
+ color: e.color,
281
+ value: e.value
282
+ })));
283
+ }
284
+ function V(e) {
285
+ if (B.value.includes(e)) B.value = B.value.filter((t) => t !== e);
286
+ else {
287
+ if (B.value.length === H.value.length - 1) return;
288
+ B.value.push(e);
289
+ }
290
+ pn();
291
+ }
292
+ function mn(e) {
293
+ return H.value.length ? H.value.find((t) => t.name === e) || (j.value.debug && console.warn(`VueUiRings - Series name not found "${e}"`), null) : (j.value.debug && console.warn("VueUiRings - There are no series to show."), null);
294
+ }
295
+ function hn(e) {
296
+ let t = mn(e);
297
+ t !== null && B.value.includes(t.uid) && V(t.uid);
298
+ }
299
+ function gn(e) {
300
+ let t = mn(e);
301
+ t !== null && (B.value.includes(t.uid) || V(t.uid));
302
+ }
303
+ let _n = s(() => Math.max(...H.value.filter((e) => !B.value.includes(e.uid)).map(({ value: e }) => e)));
304
+ function vn(e) {
305
+ return e / _n.value;
306
+ }
307
+ let H = s(() => Jt.value.map(({ values: e, name: t, color: i = null }, a) => {
308
+ let ee = r(e).reduce((e, t) => e + t, 0);
309
+ return {
310
+ name: t,
311
+ color: i || oe(i) || ln.value[a] || o[a] || o[a % o.length],
312
+ value: ee,
313
+ proportion: ee / Jt.value.map((e) => (e.values || []).reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0),
314
+ uid: n(),
315
+ absoluteIndex: a
316
+ };
317
+ })), U = s(() => H.value.map((e, t) => {
318
+ let n = ce(j.value.style.chart.layout.labels.dataLabels.formatter, e.value, i({
319
+ p: j.value.style.chart.layout.labels.dataLabels.prefix,
320
+ v: e.value,
321
+ s: j.value.style.chart.layout.labels.dataLabels.suffix,
322
+ r: j.value.style.chart.legend.roundingValue
323
+ }), {
324
+ datapoint: e,
325
+ index: t
326
+ }), r = isNaN(e.value / W.value) ? "-" : i({
327
+ v: e.value / W.value * 100,
328
+ s: "%",
329
+ r: j.value.style.chart.legend.roundingPercentage
330
+ }), a = Cn({
331
+ showVal: j.value.style.chart.legend.showValue,
332
+ showPercentage: j.value.style.chart.legend.showPercentage,
333
+ val: n,
334
+ percentage: B.value.includes(e.uid) ? "-%" : r
335
+ });
336
+ return {
337
+ ...e,
338
+ shape: "circle",
339
+ opacity: B.value.includes(e.uid) ? .5 : 1,
340
+ segregate: () => V(e.uid),
341
+ isSegregated: B.value.includes(e.uid),
342
+ display: `${e.name}${j.value.style.chart.legend.showPercentage || j.value.style.chart.legend.showValue ? ": " : ""}${a}`
343
+ };
344
+ }).toSorted((e, t) => t.value - e.value)), yn = s(() => ({
345
+ cy: "rings-div-legend",
346
+ backgroundColor: j.value.style.chart.legend.backgroundColor,
347
+ color: j.value.style.chart.legend.color,
348
+ fontSize: j.value.style.chart.legend.fontSize,
349
+ paddingBottom: 12,
350
+ fontWeight: j.value.style.chart.legend.bold ? "bold" : ""
351
+ })), W = s(() => H.value.filter((e) => !B.value.includes(e.uid)).map(({ value: e }) => e).reduce((e, t) => e + t, 0)), G = s(() => H.value.filter((e) => !B.value.includes(e.uid)).map(({ name: e, value: t, color: n = null, uid: r, absoluteIndex: i }, a) => ({
352
+ absoluteIndex: i,
353
+ uid: r,
354
+ name: e,
355
+ color: n || oe(n) || ln.value[a] || o[a] || o[a % o.length],
356
+ value: t,
357
+ proportion: vn(t),
358
+ percentage: t / W.value * 100,
359
+ strokeWidth: j.value.style.chart.layout.rings.strokeWidth * vn(t)
360
+ })).toSorted((e, t) => t.value - e.value));
361
+ function bn() {
362
+ return G.value.map(({ name: e, color: t, value: n, absoluteValues: r, percentage: i }) => ({
363
+ name: e,
364
+ color: t,
365
+ value: n,
366
+ absoluteValues: r,
367
+ percentage: i
368
+ }));
369
+ }
370
+ let K = s(() => un.value - j.value.style.chart.layout.rings.strokeWidth * 2);
371
+ function xn(e, t) {
372
+ j.value.events.datapointClick && j.value.events.datapointClick({
373
+ datapoint: e,
374
+ seriesIndex: t
375
+ });
376
+ }
377
+ function Sn(e, t) {
378
+ E.value = null, T.value = !1, k.value = null, A.value = "pointer", j.value.events.datapointLeave && j.value.events.datapointLeave({
379
+ datapoint: e,
380
+ seriesIndex: t
381
+ });
382
+ }
383
+ function Cn({ val: e, percentage: t, showVal: n, showPercentage: r }) {
384
+ let i = j.value.style.chart.layout.labels.dataLabels;
385
+ return Ne({
386
+ config: i,
387
+ val: e,
388
+ percentage: t,
389
+ showVal: n,
390
+ showPercentage: r
391
+ });
392
+ }
393
+ function wn(e) {
394
+ let t = j.value.style.chart.layout.labels.dataLabels, n = ce(t.formatter, e.value, i({
395
+ p: t.prefix,
396
+ v: e.value,
397
+ s: t.suffix,
398
+ r: t.roundingValue
399
+ })), r = i({
400
+ v: e.percentage,
401
+ s: "%",
402
+ r: t.roundingPercentage
403
+ });
404
+ return `${e.name}\n${Cn({
405
+ val: n,
406
+ percentage: r,
407
+ showVal: t.showValue,
408
+ showPercentage: t.showPercentage
409
+ })}`;
410
+ }
411
+ function q(e) {
412
+ return fe(K.value * e.proportion / 2 * .9 <= 0 ? 1e-4 : K.value * e.proportion / 2 * .9);
413
+ }
414
+ function J(e, t) {
415
+ return t === 0 ? F.value.y : F.value.y + K.value * G.value[0].proportion / 2 - K.value * e.proportion / 2 - 2 * (t + 1);
416
+ }
417
+ function Y(e, t) {
418
+ let n = j.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? -(K.value / 2) : K.value / 2;
419
+ return {
420
+ x: F.value.x + n,
421
+ y: J(e, t) - q(e)
422
+ };
423
+ }
424
+ let Tn = v(null);
425
+ function En(e, t, n = "pointer") {
426
+ if (j.value.events.datapointEnter && j.value.events.datapointEnter({
427
+ datapoint: e,
428
+ seriesIndex: t
429
+ }), B.value.length === S.dataset.length) return;
430
+ Tn.value = {
431
+ datapoint: e,
432
+ seriesIndex: t,
433
+ series: G.value,
434
+ config: j.value
435
+ }, E.value = t, k.value = t, A.value = n;
436
+ let r = G.value[t], a = j.value.style.chart.tooltip.customFormat;
437
+ if (pe(a) && ue(() => a({
438
+ seriesIndex: t,
439
+ datapoint: e,
440
+ series: G.value,
441
+ config: j.value
442
+ }))) jt.value = a({
443
+ seriesIndex: t,
444
+ datapoint: e,
445
+ series: G.value,
446
+ config: j.value
447
+ });
448
+ else {
449
+ let n = "";
450
+ n += `<div style="width:100%;text-align:center;border-bottom:1px solid ${j.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}" />${kt.pattern ? `<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${w.value}_${e.absoluteIndex})" />` : ""}</svg>`, n += `<b>${Cn({
451
+ showVal: j.value.style.chart.tooltip.showValue,
452
+ showPercentage: j.value.style.chart.tooltip.showPercentage,
453
+ val: `<span>${ce(j.value.style.chart.layout.labels.dataLabels.formatter, r.value, i({
454
+ p: j.value.style.chart.layout.labels.dataLabels.prefix,
455
+ v: r.value,
456
+ s: j.value.style.chart.layout.labels.dataLabels.suffix,
457
+ r: j.value.style.chart.tooltip.roundingValue
458
+ }), {
459
+ datapoint: e,
460
+ seriesIndex: t
461
+ })}</span>`,
462
+ percentage: i({
463
+ v: r.value / W.value * 100,
464
+ s: "%",
465
+ r: j.value.style.chart.tooltip.roundingPercentage
466
+ })
467
+ })}</b></div>`, jt.value = n;
468
+ }
469
+ T.value = !0;
470
+ }
471
+ let X = s(() => ({
472
+ head: G.value.map((e) => ({
473
+ name: e.name,
474
+ color: e.color
475
+ })),
476
+ body: G.value.map((e) => e.value)
477
+ })), Z = s(() => {
478
+ let e = [
479
+ " <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2\" /></svg>",
480
+ i({
481
+ p: j.value.style.chart.layout.labels.dataLabels.prefix,
482
+ v: W.value,
483
+ s: j.value.style.chart.layout.labels.dataLabels.suffix,
484
+ r: j.value.table.td.roundingValue
485
+ }),
486
+ "100%"
487
+ ], t = X.value.head.map((e, t) => [
488
+ {
489
+ color: e.color,
490
+ name: e.name
491
+ },
492
+ i({
493
+ p: j.value.style.chart.layout.labels.dataLabels.prefix,
494
+ v: X.value.body[t],
495
+ s: j.value.style.chart.layout.labels.dataLabels.suffix,
496
+ r: j.value.table.td.roundingValue
497
+ }),
498
+ isNaN(X.value.body[t] / W.value) ? "-" : (X.value.body[t] / W.value * 100).toFixed(j.value.table.td.roundingPercentage) + "%"
499
+ ]);
500
+ return {
501
+ head: e,
502
+ body: t,
503
+ a11yBody: t.map((e) => e.map((e, t) => t === 0 ? e.name : e)),
504
+ config: {
505
+ th: {
506
+ backgroundColor: j.value.table.th.backgroundColor,
507
+ color: j.value.table.th.color,
508
+ outline: j.value.table.th.outline
509
+ },
510
+ td: {
511
+ backgroundColor: j.value.table.td.backgroundColor,
512
+ color: j.value.table.td.color,
513
+ outline: j.value.table.td.outline
514
+ },
515
+ breakpoint: j.value.table.responsiveBreakpoint
516
+ },
517
+ colNames: [
518
+ j.value.table.columnNames.series,
519
+ j.value.table.columnNames.value,
520
+ j.value.table.columnNames.percentage
521
+ ]
522
+ };
523
+ });
524
+ function Dn(e = null) {
525
+ He(() => {
526
+ let t = X.value.head.map((e, t) => [
527
+ [e.name],
528
+ [X.value.body[t]],
529
+ [isNaN(X.value.body[t] / W.value) ? "-" : X.value.body[t] / W.value * 100]
530
+ ]), n = ne([
531
+ [j.value.style.chart.title.text],
532
+ [j.value.style.chart.title.subtitle.text],
533
+ [
534
+ [""],
535
+ ["val"],
536
+ ["%"]
537
+ ]
538
+ ].concat(t));
539
+ e ? e(n) : ae({
540
+ csvContent: n,
541
+ title: j.value.style.chart.title.text || "vue-ui-rings"
542
+ });
543
+ });
544
+ }
545
+ let Q = v(!1);
546
+ function On(e) {
547
+ Q.value = e, Mt.value += 1;
548
+ }
549
+ function kn() {
550
+ R.value.showTable = !R.value.showTable;
551
+ }
552
+ function An() {
553
+ R.value.showTooltip = !R.value.showTooltip;
554
+ }
555
+ function jn() {
556
+ R.value.showLabels = !R.value.showLabels;
557
+ }
558
+ let $ = v(!1);
559
+ function Mn() {
560
+ $.value = !$.value;
561
+ }
562
+ async function Nn({ scale: e = 2 } = {}) {
563
+ if (!D.value) return;
564
+ let { width: t, height: n } = D.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await Se({
565
+ domElement: D.value,
566
+ base64: !0,
567
+ img: !0,
568
+ scale: e
569
+ });
570
+ return {
571
+ imageUri: i,
572
+ base64: a,
573
+ title: j.value.style.chart.title.text,
574
+ width: t,
575
+ height: n,
576
+ aspectRatio: r
577
+ };
578
+ }
579
+ let Pn = s(() => {
580
+ let e = j.value.table.useDialog && !j.value.table.show, t = R.value.showTable;
581
+ return {
582
+ component: e ? Tt : bt,
583
+ title: `${j.value.style.chart.title.text}${j.value.style.chart.title.subtitle.text ? `: ${j.value.style.chart.title.subtitle.text}` : ""}`,
584
+ props: e ? {
585
+ backgroundColor: j.value.table.th.backgroundColor,
586
+ color: j.value.table.th.color,
587
+ headerColor: j.value.table.th.color,
588
+ headerBg: j.value.table.th.backgroundColor,
589
+ isFullscreen: Q.value,
590
+ fullscreenParent: D.value,
591
+ forcedWidth: Math.min(800, window.innerWidth * .8),
592
+ isCursorPointer: M.value
593
+ } : {
594
+ hideDetails: !0,
595
+ config: {
596
+ open: t,
597
+ maxHeight: 1e4,
598
+ body: {
599
+ backgroundColor: j.value.style.chart.backgroundColor,
600
+ color: j.value.style.chart.color
601
+ },
602
+ head: {
603
+ backgroundColor: j.value.style.chart.backgroundColor,
604
+ color: j.value.style.chart.color
605
+ }
606
+ }
607
+ }
608
+ };
609
+ });
610
+ Ze(() => R.value.showTable, (e) => {
611
+ j.value.table.show || (e && j.value.table.useDialog && O.value ? O.value.open() : "close" in O.value && O.value.close());
612
+ });
613
+ function Fn() {
614
+ R.value.showTable = !1, Ht.value && Ht.value.setTableIconState(!1);
615
+ }
616
+ let In = s(() => U.value.map((e) => ({
617
+ ...e,
618
+ name: e.display
619
+ }))), Ln = s(() => j.value.style.chart.backgroundColor), Rn = s(() => j.value.style.chart.legend), { exportSvg: zn, getSvg: Bn } = ye({
620
+ svg: P,
621
+ title: s(() => j.value.style.chart.title),
622
+ legend: Rn,
623
+ legendItems: In,
624
+ backgroundColor: Ln
625
+ });
626
+ async function Vn({ isCb: e }) {
627
+ Wt.value = !0, await He();
628
+ try {
629
+ if (e) {
630
+ let { blob: e, url: t, text: n, dataUrl: r } = await Bn();
631
+ await Promise.resolve(j.value.userOptions.callbacks.svg({
632
+ blob: e,
633
+ url: t,
634
+ text: n,
635
+ dataUrl: r
636
+ }));
637
+ } else await Promise.resolve(zn());
638
+ } finally {
639
+ Wt.value = !1;
640
+ }
641
+ }
642
+ function Hn(e) {
643
+ if (e?.stage === "start") {
644
+ Ut.value = !0;
645
+ return;
646
+ }
647
+ if (e?.stage === "end") {
648
+ Ut.value = !1;
649
+ return;
650
+ }
651
+ sn();
652
+ }
653
+ async function Un() {
654
+ if (dn("copyAlt", {
655
+ config: j.value,
656
+ dataset: G.value
657
+ }), !j.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(j.value.userOptions.callbacks.altCopy({
662
+ config: j.value,
663
+ dataset: G.value
664
+ }));
665
+ }
666
+ function Wn() {
667
+ k.value = null, Kt.value = !0;
668
+ }
669
+ function Gn() {
670
+ k.value = null, A.value = "pointer", T.value = !1, E.value = null, Kt.value = !1;
671
+ }
672
+ function Kn(e) {
673
+ if (!P.value || $.value || document.activeElement !== P.value || !G.value.length || B.value.length === S.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
+ k.value = null, A.value = "pointer", T.value = !1, E.value = null;
678
+ return;
679
+ }
680
+ if (r) {
681
+ if (k.value === null) return;
682
+ let e = G.value[k.value];
683
+ if (!e) return;
684
+ xn(e, k.value);
685
+ return;
686
+ }
687
+ let a = k.value;
688
+ a === null || a < 0 || a >= G.value.length ? a = n ? 0 : G.value.length - 1 : n ? (a += 1, a >= G.value.length && (a = 0)) : t && (--a, a < 0 && (a = G.value.length - 1));
689
+ let o = G.value[a];
690
+ o && (qn(a), En(o, a, "keyboard"));
691
+ }
692
+ function qn(e) {
693
+ if (!Number.isFinite(e) || !P.value) return;
694
+ let t = G.value[e];
695
+ if (!t) return;
696
+ let n = Y(t, e), r = P.value.getBoundingClientRect();
697
+ Gt.value = {
698
+ x: r.left + n.x / z.value.width * r.width,
699
+ y: r.top + n.y / z.value.height * r.height
700
+ };
701
+ }
702
+ let Jn = s(() => ({
703
+ headers: Z.value?.colNames ?? [],
704
+ rows: Z.value?.a11yBody ?? []
705
+ }));
706
+ return Te({
707
+ getData: bn,
708
+ getImage: Nn,
709
+ generatePdf: on,
710
+ generateCsv: Dn,
711
+ generateImage: sn,
712
+ generateSvg: Vn,
713
+ hideSeries: gn,
714
+ showSeries: hn,
715
+ toggleTable: kn,
716
+ toggleTooltip: An,
717
+ toggleAnnotator: Mn,
718
+ toggleFullscreen: On,
719
+ toggleLabels: jn,
720
+ copyAlt: Un
721
+ }), (e, t) => (_(), u("div", {
722
+ ref_key: "ringsChart",
723
+ ref: D,
724
+ class: m(`vue-data-ui-component vue-ui-rings ${Q.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${j.value.useCssAnimation ? "" : "vue-ui-dna"}`),
725
+ style: g(`font-family:${j.value.style.fontFamily};text-align:center;width:100%;background:${j.value.style.chart.backgroundColor};${j.value.responsive ? "height: 100%" : ""}`),
726
+ id: `rings_${w.value}`,
727
+ onMouseleave: t[2] ||= (e) => {
728
+ E.value = null, T.value = !1, b(Zt)(!1);
729
+ },
730
+ onMouseenter: t[3] ||= () => b(Zt)(!0)
731
+ }, [
732
+ d("div", {
733
+ id: `chart-instructions-${w.value}`,
734
+ class: "sr-only"
735
+ }, [d("p", null, Je(j.value.a11y.translations.keyboardNavigation), 1)], 8, et),
736
+ Jn.value?.rows?.length ? (_(), c(Ae, {
737
+ key: 0,
738
+ uid: w.value,
739
+ head: Jn.value.headers,
740
+ body: Jn.value.rows,
741
+ notice: j.value.a11y.translations.tableAvailable,
742
+ caption: j.value.a11y.translations.tableCaption
743
+ }, null, 8, [
744
+ "uid",
745
+ "head",
746
+ "body",
747
+ "notice",
748
+ "caption"
749
+ ])) : l("", !0),
750
+ j.value.userOptions.buttons.annotator ? (_(), c(b(St), {
751
+ key: 1,
752
+ svgRef: b(P),
753
+ backgroundColor: j.value.style.chart.backgroundColor,
754
+ color: j.value.style.chart.color,
755
+ active: $.value,
756
+ isCursorPointer: M.value,
757
+ onClose: Mn
758
+ }, {
759
+ "annotator-action-close": x(() => [y(e.$slots, "annotator-action-close", {}, void 0, !0)]),
760
+ "annotator-action-color": x(({ color: t }) => [y(e.$slots, "annotator-action-color", h(p({ color: t })), void 0, !0)]),
761
+ "annotator-action-draw": x(({ mode: t }) => [y(e.$slots, "annotator-action-draw", h(p({ mode: t })), void 0, !0)]),
762
+ "annotator-action-undo": x(({ disabled: t }) => [y(e.$slots, "annotator-action-undo", h(p({ disabled: t })), void 0, !0)]),
763
+ "annotator-action-redo": x(({ disabled: t }) => [y(e.$slots, "annotator-action-redo", h(p({ disabled: t })), void 0, !0)]),
764
+ "annotator-action-delete": x(({ disabled: t }) => [y(e.$slots, "annotator-action-delete", h(p({ disabled: t })), void 0, !0)]),
765
+ _: 3
766
+ }, 8, [
767
+ "svgRef",
768
+ "backgroundColor",
769
+ "color",
770
+ "active",
771
+ "isCursorPointer"
772
+ ])) : l("", !0),
773
+ cn.value ? (_(), u("div", {
774
+ key: 2,
775
+ ref_key: "noTitle",
776
+ ref: It,
777
+ class: "vue-data-ui-no-title-space",
778
+ style: "height:36px; width: 100%;background:transparent"
779
+ }, null, 512)) : l("", !0),
780
+ j.value.style.chart.title.text ? (_(), u("div", {
781
+ key: 3,
782
+ ref_key: "chartTitle",
783
+ ref: Nt,
784
+ style: "width:100%;background:transparent"
785
+ }, [(_(), c(Ce, {
786
+ key: `title_${Lt.value}`,
787
+ config: {
788
+ title: {
789
+ cy: "rings-div-title",
790
+ ...j.value.style.chart.title
791
+ },
792
+ subtitle: {
793
+ cy: "rings-div-subtitle",
794
+ ...j.value.style.chart.title.subtitle
795
+ }
796
+ }
797
+ }, null, 8, ["config"]))], 512)) : l("", !0),
798
+ d("div", { id: `legend-top-${w.value}` }, null, 8, tt),
799
+ j.value.userOptions.show && At.value && (b(Qt) || b(Xt)) ? (_(), c(b(Ct), {
800
+ ref_key: "userOptionsRef",
801
+ ref: Ht,
802
+ key: `user_options_${Mt.value}`,
803
+ backgroundColor: j.value.style.chart.backgroundColor,
804
+ color: j.value.style.chart.color,
805
+ isPrinting: b(rn),
806
+ isImaging: b(an),
807
+ uid: w.value,
808
+ hasTooltip: j.value.userOptions.buttons.tooltip && j.value.style.chart.tooltip.show,
809
+ hasPdf: j.value.userOptions.buttons.pdf,
810
+ hasXls: j.value.userOptions.buttons.csv,
811
+ hasImg: j.value.userOptions.buttons.img,
812
+ hasSvg: j.value.userOptions.buttons.svg,
813
+ hasTable: j.value.userOptions.buttons.table,
814
+ hasFullscreen: j.value.userOptions.buttons.fullscreen,
815
+ hasAltCopy: j.value.userOptions.buttons.altCopy,
816
+ hasLabel: j.value.userOptions.buttons.labels,
817
+ isTooltip: R.value.showTooltip,
818
+ isFullscreen: Q.value,
819
+ titles: { ...j.value.userOptions.buttonTitles },
820
+ chartElement: D.value,
821
+ position: j.value.userOptions.position,
822
+ hasAnnotator: j.value.userOptions.buttons.annotator,
823
+ isAnnotation: $.value,
824
+ callbacks: j.value.userOptions.callbacks,
825
+ printScale: j.value.userOptions.print.scale,
826
+ tableDialog: j.value.table.useDialog,
827
+ isCursorPointer: M.value,
828
+ onToggleFullscreen: On,
829
+ onGeneratePdf: b(on),
830
+ onGenerateCsv: Dn,
831
+ onGenerateImage: Hn,
832
+ onGenerateSvg: Vn,
833
+ onToggleTable: kn,
834
+ onToggleTooltip: An,
835
+ onToggleAnnotator: Mn,
836
+ onToggleLabels: jn,
837
+ onCopyAlt: Un,
838
+ style: g({ visibility: b(Qt) ? b(Xt) ? "visible" : "hidden" : "visible" })
839
+ }, Re({ _: 2 }, [
840
+ e.$slots.menuIcon ? {
841
+ name: "menuIcon",
842
+ fn: x(({ isOpen: t, color: n }) => [y(e.$slots, "menuIcon", h(p({
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: x(() => [y(e.$slots, "optionTooltip", {}, void 0, !0)]),
851
+ key: "1"
852
+ } : void 0,
853
+ e.$slots.optionPdf ? {
854
+ name: "optionPdf",
855
+ fn: x(() => [y(e.$slots, "optionPdf", {}, void 0, !0)]),
856
+ key: "2"
857
+ } : void 0,
858
+ e.$slots.optionCsv ? {
859
+ name: "optionCsv",
860
+ fn: x(() => [y(e.$slots, "optionCsv", {}, void 0, !0)]),
861
+ key: "3"
862
+ } : void 0,
863
+ e.$slots.optionImg ? {
864
+ name: "optionImg",
865
+ fn: x(() => [y(e.$slots, "optionImg", {}, void 0, !0)]),
866
+ key: "4"
867
+ } : void 0,
868
+ e.$slots.optionSvg ? {
869
+ name: "optionSvg",
870
+ fn: x(() => [y(e.$slots, "optionSvg", {}, void 0, !0)]),
871
+ key: "5"
872
+ } : void 0,
873
+ e.$slots.optionTable ? {
874
+ name: "optionTable",
875
+ fn: x(() => [y(e.$slots, "optionTable", {}, void 0, !0)]),
876
+ key: "6"
877
+ } : void 0,
878
+ e.$slots.optionLabels ? {
879
+ name: "optionLabels",
880
+ fn: x(() => [y(e.$slots, "optionLabels", {}, void 0, !0)]),
881
+ key: "7"
882
+ } : void 0,
883
+ e.$slots.optionFullscreen ? {
884
+ name: "optionFullscreen",
885
+ fn: x(({ toggleFullscreen: t, isFullscreen: n }) => [y(e.$slots, "optionFullscreen", h(p({
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: x(({ toggleAnnotator: t, isAnnotator: n }) => [y(e.$slots, "optionAnnotator", h(p({
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: x(({ altCopy: t }) => [y(e.$slots, "optionAltCopy", h(p({ altCopy: t })), void 0, !0)]),
902
+ key: "10"
903
+ } : void 0,
904
+ e.$slots["custom-menu-before"] ? {
905
+ name: "custom-menu-before",
906
+ fn: x(() => [y(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: x(() => [y(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.style".split("."))) : l("", !0),
915
+ d("div", nt, [(_(), u("svg", {
916
+ ref_key: "svgRef",
917
+ ref: P,
918
+ xmlns: b(de),
919
+ class: m({
920
+ "vue-data-ui-fullscreen--on": Q.value,
921
+ "vue-data-ui-fulscreen--off": !Q.value,
922
+ resizing: Bt.value || b(N)
923
+ }),
924
+ viewBox: `0 0 ${z.value.width <= 0 ? 10 : z.value.width} ${z.value.height <= 0 ? 10 : z.value.height}`,
925
+ style: g(`max-width:100%;overflow:hidden;background:transparent;color:${j.value.style.chart.color}`),
926
+ "aria-describedby": `chart-instructions-${w.value}`,
927
+ tabindex: "0",
928
+ onFocus: Wn,
929
+ onBlur: Gn,
930
+ onKeydown: Kn
931
+ }, [
932
+ Be(b(wt)),
933
+ e.$slots["chart-background"] ? (_(), u("foreignObject", {
934
+ key: 0,
935
+ x: 0,
936
+ y: 0,
937
+ width: z.value.width <= 0 ? 10 : z.value.width,
938
+ height: z.value.height <= 0 ? 10 : z.value.height,
939
+ style: { pointerEvents: "none" }
940
+ }, [y(e.$slots, "chart-background", {}, void 0, !0)], 8, it)) : l("", !0),
941
+ d("defs", null, [(_(!0), u(Ie, null, Ge(G.value, (e, t) => (_(), c(Oe, {
942
+ t: "radial",
943
+ cx: "50%",
944
+ cy: "30%",
945
+ r: "50%",
946
+ fx: "50%",
947
+ fy: "50%",
948
+ id: `gradient_${w.value}_${t}`,
949
+ key: `gradient_${w.value}_${t}`,
950
+ stops: [[
951
+ "0%",
952
+ b(ee)(b(me)(e.color, .05), 100 - j.value.style.chart.layout.rings.gradient.intensity),
953
+ 1
954
+ ], [
955
+ "100%",
956
+ e.color,
957
+ 1
958
+ ]]
959
+ }, null, 8, ["id", "stops"]))), 128))]),
960
+ e.$slots.pattern ? (_(), u("g", at, [(_(!0), u(Ie, null, Ge(G.value, (t) => (_(), u("defs", null, [y(e.$slots, "pattern", Ve({ ref_for: !0 }, {
961
+ seriesIndex: t.absoluteIndex,
962
+ patternId: `pattern_${w.value}_${t.absoluteIndex}`
963
+ }), void 0, !0)]))), 256))])) : l("", !0),
964
+ (_(!0), u(Ie, null, Ge(G.value, (t, n) => (_(), u("g", null, [
965
+ d("circle", {
966
+ class: m({
967
+ "vue-ui-rings-item": C.value && j.value.useCssAnimation,
968
+ "vue-rings-item-onload": !C.value && j.value.useCssAnimation && !b(N),
969
+ "vue-ui-rings-opacity": E.value !== null && E.value !== n
970
+ }),
971
+ style: g(`animation-delay:${n * 100}ms`),
972
+ stroke: j.value.style.chart.layout.rings.stroke,
973
+ cx: F.value.x,
974
+ cy: J(t, n),
975
+ r: q(t),
976
+ fill: j.value.style.chart.layout.rings.gradient.underlayerColor
977
+ }, null, 14, ot),
978
+ d("circle", {
979
+ class: m({
980
+ "vue-ui-rings-item": C.value && j.value.useCssAnimation,
981
+ "vue-rings-item-onload": !C.value && j.value.useCssAnimation && !b(N),
982
+ "vue-ui-rings-shadow": j.value.style.chart.layout.rings.useShadow,
983
+ "vue-ui-rings-blur": E.value !== null && E.value !== n
984
+ }),
985
+ style: g(`animation-delay:${n * 100}ms`),
986
+ stroke: j.value.style.chart.layout.rings.stroke,
987
+ "stroke-width": t.strokeWidth < .5 ? .5 : t.strokeWidth,
988
+ cx: F.value.x,
989
+ cy: J(t, n),
990
+ r: q(t),
991
+ fill: j.value.style.chart.layout.rings.gradient.show ? `url(#gradient_${w.value}_${n})` : t.color
992
+ }, null, 14, st),
993
+ e.$slots.pattern ? (_(), u("circle", {
994
+ key: 0,
995
+ class: m({
996
+ "vue-ui-rings-item": C.value && j.value.useCssAnimation,
997
+ "vue-rings-item-onload": !C.value && j.value.useCssAnimation && !b(N),
998
+ "vue-ui-rings-shadow": j.value.style.chart.layout.rings.useShadow,
999
+ "vue-ui-rings-blur": E.value !== null && E.value !== n
1000
+ }),
1001
+ style: g(`animation-delay:${n * 100}ms`),
1002
+ stroke: j.value.style.chart.layout.rings.stroke,
1003
+ "stroke-width": t.strokeWidth < .5 ? .5 : t.strokeWidth,
1004
+ cx: F.value.x,
1005
+ cy: J(t, n),
1006
+ r: q(t),
1007
+ fill: `url(#pattern_${w.value}_${t.absoluteIndex})`
1008
+ }, null, 14, ct)) : l("", !0),
1009
+ d("circle", {
1010
+ stroke: "none",
1011
+ cx: F.value.x,
1012
+ cy: J(t, n),
1013
+ r: q(t),
1014
+ fill: "transparent",
1015
+ onMouseenter: (e) => En(t, n, "pointer"),
1016
+ onMouseleave: (e) => Sn(t, n),
1017
+ onClick: (e) => xn(t, n)
1018
+ }, null, 40, lt),
1019
+ R.value.showLabels ? (_(), u(Ie, { key: 1 }, [
1020
+ d("rect", {
1021
+ x: j.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? Y(t, n).x : F.value.x,
1022
+ y: Y(t, n).y - j.value.style.chart.layout.labels.dataLabels.markers.strokeWidth / 2,
1023
+ width: Math.abs(F.value.x - Y(t, n).x),
1024
+ height: j.value.style.chart.layout.labels.dataLabels.markers.strokeWidth,
1025
+ fill: j.value.style.chart.layout.labels.dataLabels.markers.stroke,
1026
+ rx: j.value.style.chart.layout.labels.dataLabels.markers.strokeWidth,
1027
+ class: m({
1028
+ "vue-ui-rings-item": C.value && j.value.useCssAnimation,
1029
+ "vue-rings-item-onload": !C.value && j.value.useCssAnimation && !b(N),
1030
+ "vue-ui-rings-shadow": j.value.style.chart.layout.rings.useShadow,
1031
+ "vue-ui-rings-blur": E.value !== null && E.value !== n
1032
+ })
1033
+ }, null, 10, ut),
1034
+ d("circle", {
1035
+ cx: Y(t, n).x,
1036
+ cy: Y(t, n).y,
1037
+ r: j.value.style.chart.layout.labels.dataLabels.markers.radius,
1038
+ fill: t.color,
1039
+ stroke: j.value.style.chart.backgroundColor,
1040
+ class: m({
1041
+ "vue-ui-rings-item": C.value && j.value.useCssAnimation,
1042
+ "vue-rings-item-onload": !C.value && j.value.useCssAnimation && !b(N),
1043
+ "vue-ui-rings-shadow": j.value.style.chart.layout.rings.useShadow,
1044
+ "vue-ui-rings-blur": E.value !== null && E.value !== n
1045
+ })
1046
+ }, null, 10, dt),
1047
+ d("text", {
1048
+ x: Y(t, n).x + (j.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? -j.value.style.chart.layout.labels.dataLabels.offsetX : j.value.style.chart.layout.labels.dataLabels.offsetX),
1049
+ y: Y(t, n).y + j.value.style.chart.layout.labels.dataLabels.fontSize / 3,
1050
+ "text-anchor": j.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? "end" : "start",
1051
+ "font-size": j.value.style.chart.layout.labels.dataLabels.fontSize,
1052
+ fill: j.value.style.chart.layout.labels.dataLabels.color,
1053
+ "font-weight": j.value.style.chart.layout.labels.dataLabels.bold ? "bold" : "normal",
1054
+ class: m({
1055
+ "vue-ui-rings-item": C.value && j.value.useCssAnimation,
1056
+ "vue-rings-item-onload": !C.value && j.value.useCssAnimation && !b(N),
1057
+ "vue-ui-rings-shadow": j.value.style.chart.layout.rings.useShadow,
1058
+ "vue-ui-rings-blur": E.value !== null && E.value !== n
1059
+ }),
1060
+ onMouseenter: (e) => En(t, n, "pointer"),
1061
+ onMouseleave: (e) => Sn(t, n),
1062
+ onClick: (e) => xn(t, n),
1063
+ innerHTML: b(re)({
1064
+ content: wn(t),
1065
+ fontSize: j.value.style.chart.layout.labels.dataLabels.fontSize,
1066
+ fill: j.value.style.chart.layout.labels.dataLabels.color,
1067
+ x: Y(t, n).x + (j.value.style.chart.layout.labels.dataLabels.markers.position === "left" ? -j.value.style.chart.layout.labels.dataLabels.offsetX - 6 - j.value.style.chart.layout.labels.dataLabels.markers.radius : j.value.style.chart.layout.labels.dataLabels.offsetX + 6 + j.value.style.chart.layout.labels.dataLabels.markers.radius),
1068
+ y: Y(t, n).y + j.value.style.chart.layout.labels.dataLabels.fontSize / 3,
1069
+ translateY: !0
1070
+ })
1071
+ }, null, 42, ft)
1072
+ ], 64)) : l("", !0)
1073
+ ]))), 256)),
1074
+ y(e.$slots, "svg", { svg: {
1075
+ ...z.value,
1076
+ isPrintingImg: b(rn) || b(an) || Ut.value,
1077
+ isPrintingSvg: Wt.value
1078
+ } }, void 0, !0)
1079
+ ], 46, rt)), e.$slots.hint ? (_(), u("div", pt, [y(e.$slots, "hint", h(p({
1080
+ hint: j.value.a11y.translations.keyboardNavigation,
1081
+ isVisible: Kt.value
1082
+ })), void 0, !0)])) : l("", !0)]),
1083
+ e.$slots.watermark ? (_(), u("div", mt, [y(e.$slots, "watermark", h(p({ isPrinting: b(rn) || b(an) || Ut.value || Wt.value })), void 0, !0)])) : l("", !0),
1084
+ d("div", { id: `legend-bottom-${w.value}` }, null, 8, ht),
1085
+ Vt.value && (j.value.style.chart.legend.show || e.$slots.legend) ? (_(), c(Le, {
1086
+ key: 6,
1087
+ to: j.value.style.chart.legend.position === "top" ? `#legend-top-${w.value}` : `#legend-bottom-${w.value}`
1088
+ }, [d("div", {
1089
+ ref_key: "chartLegend",
1090
+ ref: Pt
1091
+ }, [y(e.$slots, "legend", { legend: U.value }, () => [j.value.style.chart.legend.show ? (_(), c(Pe, {
1092
+ key: `legend_${zt.value}`,
1093
+ legendSet: U.value,
1094
+ config: yn.value,
1095
+ isCursorPointer: M.value,
1096
+ onClickMarker: t[0] ||= ({ legend: e }) => V(e.uid)
1097
+ }, Re({
1098
+ item: x(({ legend: e, index: t }) => [b(N) ? l("", !0) : (_(), u("div", {
1099
+ key: 0,
1100
+ onClick: (t) => V(e.uid),
1101
+ style: g(`opacity:${B.value.includes(e.uid) ? .5 : 1}`)
1102
+ }, Je(e.display), 13, gt))]),
1103
+ legendToggle: x(() => [U.value.length > 2 && j.value.style.chart.legend.selectAllToggle.show && !b(N) ? (_(), c(ke, {
1104
+ key: 0,
1105
+ backgroundColor: j.value.style.chart.legend.selectAllToggle.backgroundColor,
1106
+ color: j.value.style.chart.legend.selectAllToggle.color,
1107
+ fontSize: j.value.style.chart.legend.fontSize,
1108
+ checked: B.value.length > 0,
1109
+ isCursorPointer: M.value,
1110
+ onToggle: fn
1111
+ }, null, 8, [
1112
+ "backgroundColor",
1113
+ "color",
1114
+ "fontSize",
1115
+ "checked",
1116
+ "isCursorPointer"
1117
+ ])) : l("", !0)]),
1118
+ _: 2
1119
+ }, [e.$slots.pattern ? {
1120
+ name: "legend-pattern",
1121
+ fn: x(({ legend: e, index: t }) => [Be(we, {
1122
+ shape: e.shape,
1123
+ radius: 30,
1124
+ stroke: "none",
1125
+ plot: {
1126
+ x: 30,
1127
+ y: 30
1128
+ },
1129
+ fill: `url(#pattern_${w.value}_${t})`
1130
+ }, null, 8, ["shape", "fill"])]),
1131
+ key: "0"
1132
+ } : void 0]), 1032, [
1133
+ "legendSet",
1134
+ "config",
1135
+ "isCursorPointer"
1136
+ ])) : l("", !0)], !0)], 512)], 8, ["to"])) : l("", !0),
1137
+ e.$slots.source ? (_(), u("div", {
1138
+ key: 7,
1139
+ ref_key: "source",
1140
+ ref: Ft,
1141
+ dir: "auto"
1142
+ }, [y(e.$slots, "source", {}, void 0, !0)], 512)) : l("", !0),
1143
+ Be(b(vt), {
1144
+ teleportTo: j.value.style.chart.tooltip.teleportTo,
1145
+ show: R.value.showTooltip && T.value && B.value.length < S.dataset.length,
1146
+ backgroundColor: j.value.style.chart.tooltip.backgroundColor,
1147
+ color: j.value.style.chart.tooltip.color,
1148
+ borderRadius: j.value.style.chart.tooltip.borderRadius,
1149
+ borderColor: j.value.style.chart.tooltip.borderColor,
1150
+ borderWidth: j.value.style.chart.tooltip.borderWidth,
1151
+ fontSize: j.value.style.chart.tooltip.fontSize,
1152
+ backgroundOpacity: j.value.style.chart.tooltip.backgroundOpacity,
1153
+ position: j.value.style.chart.tooltip.position,
1154
+ offsetX: j.value.style.chart.tooltip.offsetX,
1155
+ offsetY: j.value.style.chart.tooltip.offsetY,
1156
+ parent: D.value,
1157
+ content: jt.value,
1158
+ isFullscreen: Q.value,
1159
+ isCustom: j.value.style.chart.tooltip.customFormat && typeof j.value.style.chart.tooltip.customFormat == "function",
1160
+ smooth: j.value.style.chart.tooltip.smooth,
1161
+ backdropFilter: j.value.style.chart.tooltip.backdropFilter,
1162
+ smoothForce: j.value.style.chart.tooltip.smoothForce,
1163
+ smoothSnapThreshold: j.value.style.chart.tooltip.smoothSnapThreshold,
1164
+ isA11yMode: A.value === "keyboard",
1165
+ a11yPosition: Gt.value
1166
+ }, {
1167
+ "tooltip-before": x(() => [y(e.$slots, "tooltip-before", h(p({ ...Tn.value })), void 0, !0)]),
1168
+ tooltip: x(() => [y(e.$slots, "tooltip", h(p({ ...Tn.value })), void 0, !0)]),
1169
+ "tooltip-after": x(() => [y(e.$slots, "tooltip-after", h(p({ ...Tn.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
+ At.value && j.value.userOptions.buttons.table ? (_(), c(Ke(Pn.value.component), Ve({ key: 8 }, Pn.value.props, {
1196
+ ref_key: "tableUnit",
1197
+ ref: O,
1198
+ onClose: Fn
1199
+ }), Re({
1200
+ content: x(() => [(_(), c(b(xt), {
1201
+ key: `table_${Rt.value}`,
1202
+ colNames: Z.value.colNames,
1203
+ head: Z.value.head,
1204
+ body: Z.value.body,
1205
+ config: Z.value.config,
1206
+ title: j.value.table.useDialog ? "" : Pn.value.title,
1207
+ withCloseButton: !j.value.table.useDialog,
1208
+ isCursorPointer: M.value,
1209
+ onClose: Fn
1210
+ }, {
1211
+ th: x(({ th: e }) => [d("div", {
1212
+ innerHTML: e,
1213
+ style: {
1214
+ display: "flex",
1215
+ "align-items": "center"
1216
+ }
1217
+ }, null, 8, _t)]),
1218
+ td: x(({ td: e }) => [ze(Je(e.name || e), 1)]),
1219
+ _: 1
1220
+ }, 8, [
1221
+ "colNames",
1222
+ "head",
1223
+ "body",
1224
+ "config",
1225
+ "title",
1226
+ "withCloseButton",
1227
+ "isCursorPointer"
1228
+ ]))]),
1229
+ _: 2
1230
+ }, [j.value.table.useDialog ? {
1231
+ name: "title",
1232
+ fn: x(() => [ze(Je(Pn.value.title), 1)]),
1233
+ key: "0"
1234
+ } : void 0, j.value.table.useDialog ? {
1235
+ name: "actions",
1236
+ fn: x(() => [d("button", {
1237
+ tabindex: "0",
1238
+ class: "vue-ui-user-options-button",
1239
+ onClick: t[1] ||= (e) => Dn(j.value.userOptions.callbacks.csv),
1240
+ style: g({ cursor: M.value ? "pointer" : "default" })
1241
+ }, [Be(b(yt), {
1242
+ name: "fileCsv",
1243
+ stroke: Pn.value.props.color
1244
+ }, null, 8, ["stroke"])], 4)]),
1245
+ key: "1"
1246
+ } : void 0]), 1040)) : l("", !0),
1247
+ y(e.$slots, "skeleton", {}, () => [b(N) ? (_(), c(ve, { key: 0 })) : l("", !0)], !0)
1248
+ ], 46, $e));
1249
+ }
1250
+ }, [["__scopeId", "data-v-7ca35ef0"]]);
1251
+ //#endregion
1252
+ export { Qe as n, vt as t };