vue-data-ui 3.22.9 → 3.22.10

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 (204) hide show
  1. package/dist/{Arrow-DdymhUfY.js → Arrow-Ku6rQ87g.js} +1 -1
  2. package/dist/{BaseDraggableDialog-Av7Uxq5V.js → BaseDraggableDialog-CdkCqtag.js} +2 -2
  3. package/dist/{BaseIcon-UdRAvP2h.js → BaseIcon-CDTIUIKV.js} +1 -1
  4. package/dist/{BaseLegendToggle-DWtet-Hh.js → BaseLegendToggle-BrQ2OlzI.js} +1 -1
  5. package/dist/{BaseZoomControls-BY2KLqs6.js → BaseZoomControls-CkEX0292.js} +2 -2
  6. package/dist/{ColorPicker-DR_ummtM.js → ColorPicker-C959ZIW9.js} +2 -2
  7. package/dist/{DataTable-BxpTMgfK.js → DataTable-ByZy5gt1.js} +2 -2
  8. package/dist/{Legend-ROt6ugzW.js → Legend-5VQGLnmx.js} +2 -2
  9. package/dist/{NonSvgPenAndPaper-B6EG_Sga.js → NonSvgPenAndPaper-Bd8OzTqw.js} +3 -3
  10. package/dist/{PackageVersion-D__dRVRA.js → PackageVersion-BoTvk0i5.js} +1 -1
  11. package/dist/{PenAndPaper-DsXi7GJ-.js → PenAndPaper-CLaZJl6K.js} +3 -3
  12. package/dist/{Shape-UpH0a4Ur.js → Shape-B5ksaGa1.js} +3 -3
  13. package/dist/{Slicer-CW_XPIKL.js → Slicer-WsWTQPKt.js} +21 -21
  14. package/dist/{SlicerPreview-CTz41lOu.js → SlicerPreview-3n516NyE.js} +214 -214
  15. package/dist/{SparkTooltip-BTLN-Kex.js → SparkTooltip-CbYYc-xb.js} +1 -1
  16. package/dist/{Title-CcNiYzEo.js → Title-Cr3jP7Qd.js} +1 -1
  17. package/dist/{Tooltip-CxOrWlFy.js → Tooltip-CDbLl3TD.js} +1 -1
  18. package/dist/{UserOptions-trvJ26nz.js → UserOptions-BUQOnoPR.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-history-plot.js +1 -1
  46. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  47. package/dist/components/vue-ui-icon.js +1 -1
  48. package/dist/components/vue-ui-kpi.js +1 -1
  49. package/dist/components/vue-ui-mini-loader.js +1 -1
  50. package/dist/components/vue-ui-molecule.js +1 -1
  51. package/dist/components/vue-ui-mood-radar.js +1 -1
  52. package/dist/components/vue-ui-nested-donuts.js +1 -1
  53. package/dist/components/vue-ui-onion.js +1 -1
  54. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  55. package/dist/components/vue-ui-quadrant.js +1 -1
  56. package/dist/components/vue-ui-quick-chart.js +1 -1
  57. package/dist/components/vue-ui-radar.js +1 -1
  58. package/dist/components/vue-ui-rating.js +1 -1
  59. package/dist/components/vue-ui-relation-circle.js +1 -1
  60. package/dist/components/vue-ui-ridgeline.js +1 -1
  61. package/dist/components/vue-ui-rings.js +1 -1
  62. package/dist/components/vue-ui-scatter.js +1 -1
  63. package/dist/components/vue-ui-skeleton.js +1 -1
  64. package/dist/components/vue-ui-smiley.js +1 -1
  65. package/dist/components/vue-ui-spark-trend.js +1 -1
  66. package/dist/components/vue-ui-sparkbar.js +1 -1
  67. package/dist/components/vue-ui-sparkgauge.js +1 -1
  68. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  69. package/dist/components/vue-ui-sparkline.js +1 -1
  70. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  71. package/dist/components/vue-ui-stackbar.js +1 -1
  72. package/dist/components/vue-ui-stackline.js +1 -1
  73. package/dist/components/vue-ui-strip-plot.js +1 -1
  74. package/dist/components/vue-ui-table-heatmap.js +1 -1
  75. package/dist/components/vue-ui-table-sparkline.js +1 -1
  76. package/dist/components/vue-ui-table.js +1 -1
  77. package/dist/components/vue-ui-thermometer.js +1 -1
  78. package/dist/components/vue-ui-timer.js +1 -1
  79. package/dist/components/vue-ui-tiremarks.js +1 -1
  80. package/dist/components/vue-ui-treemap.js +1 -1
  81. package/dist/components/vue-ui-vertical-bar.js +1 -1
  82. package/dist/components/vue-ui-waffle.js +1 -1
  83. package/dist/components/vue-ui-wheel.js +1 -1
  84. package/dist/components/vue-ui-word-cloud.js +1 -1
  85. package/dist/components/vue-ui-world.js +1 -1
  86. package/dist/components/vue-ui-xy-canvas.js +1 -1
  87. package/dist/components/vue-ui-xy.js +1 -1
  88. package/dist/{dom-to-png-BbwhsRIr.js → dom-to-png-COPbGrdd.js} +1 -1
  89. package/dist/exposedLib-CZbtc2a6.js +25 -0
  90. package/dist/{img-DnP3eXuv.js → img-CNdXiUfZ.js} +1 -1
  91. package/dist/{labelUtils-DBEh078l.js → labelUtils-JaoYKi2N.js} +1 -1
  92. package/dist/{lib-JqW18y5I.js → lib-CnHx5WfV.js} +118 -107
  93. package/dist/{package-ByOT60IK.js → package-BRBLwZUc.js} +1 -1
  94. package/dist/{pdf-hj3gzrE7.js → pdf-CEMzBeuV.js} +1 -1
  95. package/dist/{render-common-D18VrP0h.js → render-common-DJXFRGhU.js} +10 -10
  96. package/dist/ssr/vue-ui-donut.js +1 -1
  97. package/dist/ssr/vue-ui-xy.js +1 -1
  98. package/dist/ssr.js +2 -2
  99. package/dist/types/utils.d.ts +40 -0
  100. package/dist/{useAutoSizeLabelsInsideViewbox-BGnDfZdg.js → useAutoSizeLabelsInsideViewbox-BUPt2iaP.js} +1 -1
  101. package/dist/{useNestedProp-DIuuzG1r.js → useNestedProp-D8NuRneO.js} +2 -2
  102. package/dist/{usePrinter-CqqHmnBI.js → usePrinter-B-X_Pub0.js} +2 -2
  103. package/dist/utils.js +26 -24
  104. package/dist/{vue-data-ui-ub3fCh6P.js → vue-data-ui-Bx_8d3b_.js} +68 -68
  105. package/dist/vue-data-ui.js +77 -77
  106. package/dist/vue-ui-3d-bar-CfUfbpSE.js +1825 -0
  107. package/dist/{vue-ui-accordion-CjAGqEJg.js → vue-ui-accordion-Oo3IsX3-.js} +3 -3
  108. package/dist/vue-ui-age-pyramid-DD-4y5Jd.js +1247 -0
  109. package/dist/{vue-ui-annotator-BIucnT0L.js → vue-ui-annotator-BvGE3lzE.js} +8 -8
  110. package/dist/vue-ui-bullet-DYOdbaO2.js +710 -0
  111. package/dist/vue-ui-bump-B8fJoxHF.js +1249 -0
  112. package/dist/{vue-ui-candlestick-DULUMU-Q.js → vue-ui-candlestick-BUP1JoNs.js} +287 -287
  113. package/dist/vue-ui-carousel-table-D-Bwhydt.js +455 -0
  114. package/dist/vue-ui-chestnut-C2VK2NEx.js +2042 -0
  115. package/dist/{vue-ui-chord-DL1M7cgL.js → vue-ui-chord-AA-QjUQI.js} +42 -42
  116. package/dist/{vue-ui-circle-pack-C1Pgq6si.js → vue-ui-circle-pack-CdBFGYOK.js} +37 -37
  117. package/dist/{vue-ui-cursor-d2uLAKTQ.js → vue-ui-cursor-Cm_J_5Gk.js} +5 -5
  118. package/dist/{vue-ui-dag-CVh9FpZr.js → vue-ui-dag-CgRph4-n.js} +32 -32
  119. package/dist/{vue-ui-dashboard-BH0N3ebj.js → vue-ui-dashboard-BuPw5QjB.js} +69 -69
  120. package/dist/{vue-ui-digits-R6wi3J-Y.js → vue-ui-digits-ClrukmcB.js} +3 -3
  121. package/dist/vue-ui-donut-Bc-EPZvu.js +2419 -0
  122. package/dist/{vue-ui-donut-BWDeVzLc.js → vue-ui-donut-DtQCrMKL.js} +207 -207
  123. package/dist/vue-ui-donut-evolution-DHkiY-BD.js +1522 -0
  124. package/dist/vue-ui-dumbbell-BlHEH4Mw.js +1564 -0
  125. package/dist/{vue-ui-flow-CNczKwTh.js → vue-ui-flow-PjwAW2tY.js} +71 -71
  126. package/dist/vue-ui-funnel-DojI09FV.js +782 -0
  127. package/dist/{vue-ui-galaxy-v3cTbUiM.js → vue-ui-galaxy-txYIK_LG.js} +276 -276
  128. package/dist/{vue-ui-gauge-DxvMjfoc.js → vue-ui-gauge-CoL0OzSd.js} +178 -178
  129. package/dist/{vue-ui-geo-BgmLkZZ2.js → vue-ui-geo-yuL-_sqF.js} +20 -20
  130. package/dist/{vue-ui-gizmo-n1kmcGeE.js → vue-ui-gizmo-CbC5zV3K.js} +9 -9
  131. package/dist/{vue-ui-heatmap-dSTh8ah_.js → vue-ui-heatmap-CwqsZIsR.js} +331 -331
  132. package/dist/{vue-ui-history-plot-N8BqMFVU.js → vue-ui-history-plot-CuWssH-D.js} +414 -414
  133. package/dist/vue-ui-horizontal-bar-Dyje3GND.js +1689 -0
  134. package/dist/{vue-ui-kpi-BKrUk9o8.js → vue-ui-kpi-BdYenScF.js} +3 -3
  135. package/dist/{vue-ui-mini-loader-D5we7V_W.js → vue-ui-mini-loader-BbwE3vBT.js} +2 -2
  136. package/dist/vue-ui-molecule-BBh31vmd.js +931 -0
  137. package/dist/{vue-ui-mood-radar-CpBRHQo_.js → vue-ui-mood-radar-B_6GFlaR.js} +261 -261
  138. package/dist/vue-ui-nested-donuts-BWq-At5Y.js +1493 -0
  139. package/dist/vue-ui-onion-BwGbSE-6.js +1200 -0
  140. package/dist/vue-ui-parallel-coordinate-plot-Bh9hNoqf.js +1416 -0
  141. package/dist/vue-ui-quadrant-B72Y4Zuw.js +1984 -0
  142. package/dist/{vue-ui-quick-chart-BO98uEPl.js → vue-ui-quick-chart-B3LF2ViM.js} +108 -108
  143. package/dist/vue-ui-radar-4v_E8oGX.js +1287 -0
  144. package/dist/{vue-ui-rating-CN-ZiAES.js → vue-ui-rating-CzLGCFWK.js} +101 -101
  145. package/dist/vue-ui-relation-circle-B_8dyIv2.js +924 -0
  146. package/dist/vue-ui-ridgeline-BArLhskj.js +1628 -0
  147. package/dist/vue-ui-rings-Csn5BgLk.js +1252 -0
  148. package/dist/vue-ui-scatter-BBaOx94M.js +2422 -0
  149. package/dist/{vue-ui-skeleton-DC2bZ0nk.js → vue-ui-skeleton-KeIPGp9U.js} +99 -99
  150. package/dist/{vue-ui-smiley-Dyyu1je3.js → vue-ui-smiley-C1mYDh4R.js} +17 -17
  151. package/dist/vue-ui-spark-trend-EqCqmHmU.js +443 -0
  152. package/dist/{vue-ui-sparkbar-DhIo1qsW.js → vue-ui-sparkbar-BPh45vBP.js} +66 -66
  153. package/dist/{vue-ui-sparkgauge-D0Fo3Hts.js → vue-ui-sparkgauge-CtouPcyW.js} +65 -65
  154. package/dist/vue-ui-sparkhistogram-D4sI0DHN.js +576 -0
  155. package/dist/{vue-ui-sparkline-ApivEMBP.js → vue-ui-sparkline-BDFZ78Fz.js} +51 -51
  156. package/dist/vue-ui-sparkstackbar-CbTXIfxm.js +674 -0
  157. package/dist/{vue-ui-stackbar-Ds4hXATH.js → vue-ui-stackbar-nMXIY9x8.js} +108 -108
  158. package/dist/vue-ui-stackline-CzfXl5ah.js +2425 -0
  159. package/dist/{vue-ui-strip-plot-C3ZHf4bD.js → vue-ui-strip-plot-BCf5nthl.js} +65 -65
  160. package/dist/vue-ui-table-BAKkFXki.js +1338 -0
  161. package/dist/{vue-ui-table-heatmap-CNXNXXBU.js → vue-ui-table-heatmap-CUMxqHKK.js} +15 -15
  162. package/dist/{vue-ui-table-sparkline-B9JJ4pFF.js → vue-ui-table-sparkline-BVTm16fd.js} +20 -20
  163. package/dist/vue-ui-thermometer-CGeEW1KV.js +770 -0
  164. package/dist/{vue-ui-timer-5NAWw5BN.js → vue-ui-timer-Bz7EnsM1.js} +5 -5
  165. package/dist/{vue-ui-tiremarks-Caz_g1c5.js → vue-ui-tiremarks-IOqtk_Rr.js} +17 -17
  166. package/dist/{vue-ui-treemap-F9upPyOI.js → vue-ui-treemap-JxNNtb7v.js} +232 -232
  167. package/dist/vue-ui-waffle-D34mcJWi.js +1368 -0
  168. package/dist/{vue-ui-wheel-DD6Q39BA.js → vue-ui-wheel-B_qEhyvk.js} +44 -44
  169. package/dist/{vue-ui-word-cloud-BZLT5svo.js → vue-ui-word-cloud-TtObhd91.js} +32 -32
  170. package/dist/{vue-ui-world-DbEJN5NA.js → vue-ui-world-R9o00A6c.js} +210 -210
  171. package/dist/{vue-ui-xy-BYMAITk_.js → vue-ui-xy-CUt6sU1s.js} +766 -766
  172. package/dist/{vue-ui-xy-Cn9Q8YPr.js → vue-ui-xy-Do34-UbE.js} +134 -134
  173. package/dist/vue-ui-xy-canvas-C6eRRH--.js +1790 -0
  174. package/package.json +1 -1
  175. package/dist/exposedLib-VXFp3Z2c.js +0 -19
  176. package/dist/vue-ui-3d-bar-taPI41_I.js +0 -1825
  177. package/dist/vue-ui-age-pyramid-jvQZbF8E.js +0 -1247
  178. package/dist/vue-ui-bullet-CIATzlsk.js +0 -710
  179. package/dist/vue-ui-bump-D8MxltQE.js +0 -1249
  180. package/dist/vue-ui-carousel-table-BSmdexG7.js +0 -455
  181. package/dist/vue-ui-chestnut-BIh1nQ7q.js +0 -2042
  182. package/dist/vue-ui-donut-BoZdciGh.js +0 -2419
  183. package/dist/vue-ui-donut-evolution-CpC9EMro.js +0 -1522
  184. package/dist/vue-ui-dumbbell-DGA5Bfnl.js +0 -1564
  185. package/dist/vue-ui-funnel-CaD2tZCT.js +0 -782
  186. package/dist/vue-ui-horizontal-bar-CwiQxYzv.js +0 -1689
  187. package/dist/vue-ui-molecule--kK1JfnP.js +0 -931
  188. package/dist/vue-ui-nested-donuts-8Ehwcuns.js +0 -1493
  189. package/dist/vue-ui-onion-Cf6JiYTH.js +0 -1200
  190. package/dist/vue-ui-parallel-coordinate-plot-Blnqp1DB.js +0 -1416
  191. package/dist/vue-ui-quadrant-CxU0jiOm.js +0 -1984
  192. package/dist/vue-ui-radar-eH2Qih4_.js +0 -1287
  193. package/dist/vue-ui-relation-circle-BIcP-aAt.js +0 -924
  194. package/dist/vue-ui-ridgeline-ChXHzEJw.js +0 -1628
  195. package/dist/vue-ui-rings-J990vNbX.js +0 -1252
  196. package/dist/vue-ui-scatter-BeJB0EKg.js +0 -2422
  197. package/dist/vue-ui-spark-trend-CpDX85H3.js +0 -443
  198. package/dist/vue-ui-sparkhistogram-CUjFiuAh.js +0 -576
  199. package/dist/vue-ui-sparkstackbar-DsKQJx_n.js +0 -674
  200. package/dist/vue-ui-stackline-DJbcVvmN.js +0 -2425
  201. package/dist/vue-ui-table-uudidrYt.js +0 -1338
  202. package/dist/vue-ui-thermometer-Bvw3oQb3.js +0 -770
  203. package/dist/vue-ui-waffle-Bk9AsrPp.js +0 -1368
  204. package/dist/vue-ui-xy-canvas-Dcm2ftwm.js +0 -1790
@@ -0,0 +1,1493 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, At as n, C as r, E as i, Gt as a, K as o, Lt as s, Nt as c, Ot as l, Pt as ee, Q as te, Y as u, bt as ne, d, et as re, f as ie, i as ae, n as oe, qt as se, st as ce, t as le, x as ue, y as de, zt as fe } from "./lib-CnHx5WfV.js";
3
+ import { t as pe } from "./useConfig-DYM3f6EI.js";
4
+ import { t as me } from "./usePrinter-B-X_Pub0.js";
5
+ import { n as he, t as ge } from "./BaseScanner-DZvpgOjM.js";
6
+ import { t as _e } from "./useSvgExport-SVIsDot8.js";
7
+ import { t as ve } from "./useNestedProp-D8NuRneO.js";
8
+ import { t as ye } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as be } from "./img-CNdXiUfZ.js";
10
+ import { n as xe } from "./Title-Cr3jP7Qd.js";
11
+ import { t as Se } from "./_plugin-vue_export-helper-B3ysoDQm.js";
12
+ import { c as Ce } from "./canvas-lib-BOP_HS11.js";
13
+ import { t as we } from "./useResponsive-BfnK0KxU.js";
14
+ import { t as Te } from "./DefGrad-DVBqDjhO.js";
15
+ import { t as Ee } from "./BaseLegendToggle-BrQ2OlzI.js";
16
+ import { t as De } from "./A11yDataTable-DdRsVULz.js";
17
+ import { t as Oe } from "./useUserOptionState-DK-_1ddE.js";
18
+ import { t as ke } from "./useChartAccessibility-DYqac8yF.js";
19
+ import { t as Ae } from "./labelUtils-JaoYKi2N.js";
20
+ import { t as je } from "./Legend-5VQGLnmx.js";
21
+ import { t as Me } from "./vue_ui_nested_donuts-B8csIoVO.js";
22
+ import { Fragment as f, Teleport as Ne, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createSlots as Pe, createTextVNode as Fe, createVNode as Ie, defineAsyncComponent as v, guardReactiveProps as y, mergeProps as Le, nextTick as Re, normalizeClass as b, normalizeProps as x, normalizeStyle as ze, onBeforeUnmount as Be, onMounted as Ve, openBlock as S, ref as C, renderList as w, renderSlot as T, resolveDynamicComponent as He, shallowRef as Ue, toDisplayString as E, toRefs as We, unref as D, vShow as Ge, watch as Ke, withCtx as O, withDirectives as qe } from "vue";
23
+ //#region src/components/vue-ui-nested-donuts.vue
24
+ var Je = /* @__PURE__ */ e({ default: () => Tt }), Ye = ["id"], Xe = ["id"], Ze = ["id"], Qe = { style: { position: "relative" } }, $e = [
25
+ "xmlns",
26
+ "aria-describedby",
27
+ "viewBox"
28
+ ], et = ["width", "height"], tt = ["id"], nt = ["id"], rt = ["id"], it = ["flood-color"], at = ["id", "d"], ot = [
29
+ "d",
30
+ "fill",
31
+ "stroke",
32
+ "stroke-width",
33
+ "filter"
34
+ ], st = [
35
+ "d",
36
+ "fill",
37
+ "stroke",
38
+ "stroke-width"
39
+ ], ct = { key: 1 }, lt = ["d", "fill"], ut = { key: 2 }, dt = [
40
+ "font-size",
41
+ "font-weight",
42
+ "fill",
43
+ "dy"
44
+ ], ft = ["href"], pt = [
45
+ "x",
46
+ "y",
47
+ "font-size",
48
+ "font-weight",
49
+ "fill"
50
+ ], mt = { key: 3 }, ht = ["filter"], gt = [
51
+ "opacity",
52
+ "text-anchor",
53
+ "x",
54
+ "y",
55
+ "fill",
56
+ "font-size",
57
+ "font-weight"
58
+ ], _t = [
59
+ "opacity",
60
+ "text-anchor",
61
+ "x",
62
+ "y",
63
+ "fill",
64
+ "font-size",
65
+ "font-weight"
66
+ ], vt = [
67
+ "d",
68
+ "fill",
69
+ "onMouseenter",
70
+ "onClick",
71
+ "onMouseleave"
72
+ ], yt = {
73
+ key: 0,
74
+ style: {
75
+ position: "absolute",
76
+ top: "100%",
77
+ left: "0",
78
+ width: "100%"
79
+ },
80
+ "data-dom-to-png-ignore": "",
81
+ "aria-hidden": "true"
82
+ }, bt = {
83
+ key: 5,
84
+ class: "vue-data-ui-watermark"
85
+ }, xt = ["id"], St = {
86
+ key: 0,
87
+ class: "vue-ui-nested-donuts-legend-title"
88
+ }, Ct = ["onClick"], wt = ["innerHTML"], Tt = /*#__PURE__*/ Se({
89
+ __name: "vue-ui-nested-donuts",
90
+ props: {
91
+ config: {
92
+ type: Object,
93
+ default() {
94
+ return {};
95
+ }
96
+ },
97
+ dataset: {
98
+ type: Array,
99
+ default() {
100
+ return [];
101
+ }
102
+ }
103
+ },
104
+ emits: [
105
+ "selectLegend",
106
+ "selectDatapoint",
107
+ "copyAlt"
108
+ ],
109
+ setup(e, { expose: Se, emit: Je }) {
110
+ let Tt = v(() => import("./Tooltip-CDbLl3TD.js")), Et = v(() => import("./BaseIcon-CDTIUIKV.js").then((e) => e.n)), Dt = v(() => import("./vue-ui-accordion-Oo3IsX3-.js").then((e) => e.n)), Ot = v(() => import("./DataTable-ByZy5gt1.js")), kt = v(() => import("./UserOptions-BUQOnoPR.js").then((e) => e.n)), At = v(() => import("./PenAndPaper-CLaZJl6K.js").then((e) => e.t)), jt = v(() => import("./PackageVersion-BoTvk0i5.js").then((e) => e.t)), Mt = v(() => import("./BaseDraggableDialog-CdkCqtag.js").then((e) => e.n)), { vue_ui_nested_donuts: Nt } = pe(), { isThemeValid: Pt, warnInvalidTheme: Ft } = ye(), k = e, It = p({
111
+ get() {
112
+ return !!k.dataset && k.dataset.length;
113
+ },
114
+ set(e) {
115
+ return e;
116
+ }
117
+ }), A = C(o()), Lt = C(!1), Rt = C(""), zt = C(null), Bt = C(0), j = C(null), Vt = C(null), Ht = C(null), Ut = C(null), Wt = C(null), Gt = C(0), Kt = C(0), qt = C(0), M = C(!0), N = C([]), Jt = C([]), Yt = C(!1), Xt = C(null), Zt = C(null), Qt = C(!1), $t = C(!1), P = C(null), en = C({
118
+ x: 0,
119
+ y: 0
120
+ }), tn = C("pointer"), nn = C(!1), F = C(!1);
121
+ function rn(e) {
122
+ F.value = e, Bt.value += 1;
123
+ }
124
+ let I = C(fn()), L = p(() => I.value.userOptions.useCursorPointer), an = {
125
+ name: "",
126
+ series: [
127
+ {
128
+ name: "",
129
+ values: [3],
130
+ color: "#BABABA"
131
+ },
132
+ {
133
+ name: "",
134
+ values: [2],
135
+ color: "#AAAAAA"
136
+ },
137
+ {
138
+ name: "",
139
+ values: [1],
140
+ color: "#CACACA"
141
+ }
142
+ ]
143
+ }, on = p(() => se({
144
+ defaultConfig: {
145
+ useCssAnimation: !1,
146
+ table: { show: !1 },
147
+ startAnimation: { show: !1 },
148
+ userOptions: { show: !1 },
149
+ style: { chart: {
150
+ backgroundColor: "#99999930",
151
+ layout: { labels: { dataLabels: { show: !1 } } },
152
+ legend: {
153
+ backgroundColor: "transparent",
154
+ showValue: !1,
155
+ showPercentage: !1
156
+ },
157
+ title: {
158
+ color: "#1A1A1A",
159
+ subtitle: { color: "#5A5A5A" }
160
+ }
161
+ } }
162
+ },
163
+ userConfig: I.value.skeletonConfig ?? {}
164
+ })), { loading: sn, FINAL_DATASET: R, manualLoading: cn } = he({
165
+ ...We(k),
166
+ FINAL_CONFIG: I,
167
+ prepareConfig: fn,
168
+ callback: () => {
169
+ Promise.resolve().then(async () => {
170
+ await hn();
171
+ });
172
+ },
173
+ skeletonDataset: k.config?.skeletonDataset ?? [an, an],
174
+ skeletonConfig: se({
175
+ defaultConfig: I.value,
176
+ userConfig: on.value
177
+ })
178
+ }), { userOptionsVisible: ln, setUserOptionsVisibility: un, keepUserOptionState: dn } = Oe({ config: I.value }), { svgRef: z } = ke({ config: I.value.style.chart.title });
179
+ function fn() {
180
+ let e = ve({
181
+ userConfig: k.config,
182
+ defaultConfig: Nt
183
+ }), t = {}, n = e.theme;
184
+ if (n) if (!Pt.value(e)) Ft(e), t = e;
185
+ else {
186
+ let r = ve({
187
+ userConfig: Me[n] || k.config,
188
+ defaultConfig: e
189
+ });
190
+ t = {
191
+ ...ve({
192
+ userConfig: k.config,
193
+ defaultConfig: r
194
+ }),
195
+ customPalette: e.customPalette.length ? e.customPalette : a[n] || c
196
+ };
197
+ }
198
+ else t = e;
199
+ return t;
200
+ }
201
+ Ke(() => k.config, (e) => {
202
+ sn.value || (I.value = fn()), ln.value = !I.value.userOptions.showOnChartHover, vn(), Gt.value += 1, Kt.value += 1, qt.value += 1, V.value.dataLabels.show = I.value.style.chart.layout.labels.dataLabels.show, V.value.showTable = I.value.table.show, V.value.showTooltip = I.value.style.chart.tooltip.show, H.value.width = I.value.style.chart.width, H.value.height = I.value.style.chart.height;
203
+ }, { deep: !0 });
204
+ let pn = p(() => {
205
+ let { top: e, right: t, bottom: n, left: r } = I.value.style.chart.padding;
206
+ return {
207
+ css: `padding:${e}px ${t}px ${n}px ${r}px`,
208
+ top: e,
209
+ right: t,
210
+ bottom: n,
211
+ left: r
212
+ };
213
+ });
214
+ function mn(e, n = 1e3, r = 50) {
215
+ return new Promise((i) => {
216
+ let a = e.length;
217
+ N.value = Array(a).fill(0), Jt.value = [];
218
+ let o = 0;
219
+ e.forEach((e, c) => {
220
+ setTimeout(() => {
221
+ let r = performance.now();
222
+ function l(ee) {
223
+ let te = Math.min((ee - r) / n, 1), u = e * t(te);
224
+ N.value[c] = u, N.value = [...N.value];
225
+ let ne = [], d = 0;
226
+ k.dataset.forEach((e, t) => {
227
+ let n = de(e.series.reduce((e, t) => e + de(s(t.values).reduce((e, t) => e + t, 0)), 0)) - de(N.value.slice(d, d + e.series.length).reduce((e, t) => e + t, 0));
228
+ n > Number.MIN_VALUE && ne.push({
229
+ name: "__ghost__",
230
+ arcOf: e.name,
231
+ arcOfId: `${A.value}_${t}`,
232
+ id: `ghost_${A.value}_${t}`,
233
+ seriesIndex: -1,
234
+ datasetIndex: t,
235
+ color: "transparent",
236
+ value: n,
237
+ fullValue: n,
238
+ absoluteValues: [],
239
+ ghost: !0
240
+ }), d += e.series.length;
241
+ }), Jt.value = ne, te < 1 ? requestAnimationFrame(l) : (o += 1, o === a && i());
242
+ }
243
+ requestAnimationFrame(l);
244
+ }, c * r);
245
+ });
246
+ });
247
+ }
248
+ async function hn() {
249
+ if (I.value.startAnimation?.show) {
250
+ let e = R.value.flatMap((e) => e.series).map((e) => s(e.values).reduce((e, t) => e + t, 0));
251
+ N.value = e.map(() => 0), M.value = !0, Jt.value = R.value.map((e, t) => {
252
+ let n = e.series.reduce((e, t) => e + s(t.values).reduce((e, t) => e + t, 0), 0);
253
+ return {
254
+ name: "__ghost__",
255
+ arcOf: e.name,
256
+ arcOfId: `${A.value}_${t}`,
257
+ id: `ghost_${A.value}_${t}`,
258
+ seriesIndex: -1,
259
+ datasetIndex: t,
260
+ color: "transparent",
261
+ value: n,
262
+ fullValue: n,
263
+ absoluteValues: [],
264
+ ghost: !0
265
+ };
266
+ }), await Re(), mn(e, I.value.startAnimation.durationMs, I.value.startAnimation.staggerMs).then(() => {
267
+ M.value = !1, Jt.value = [];
268
+ });
269
+ } else M.value = !1;
270
+ }
271
+ Ve(async () => {
272
+ Yt.value = !0, vn(), await hn();
273
+ });
274
+ let B = Ue(null), gn = Ue(null), _n = p(() => !!I.value.debug);
275
+ function vn() {
276
+ if (n(k.dataset) ? (re({
277
+ componentName: "VueUiNestedDonuts",
278
+ type: "dataset",
279
+ debug: _n.value
280
+ }), It.value = !1, cn.value = !0) : cn.value = I.value.loading, I.value.responsive) {
281
+ let e = Ce(() => {
282
+ let { width: e, height: t } = we({
283
+ chart: j.value,
284
+ title: I.value.style.chart.title.text ? Vt.value : null,
285
+ legend: I.value.style.chart.legend.show ? Ht.value : null,
286
+ source: Ut.value,
287
+ noTitle: Wt.value,
288
+ padding: pn.value
289
+ });
290
+ requestAnimationFrame(() => {
291
+ H.value.width = e, H.value.height = t;
292
+ });
293
+ });
294
+ B.value && (gn.value && B.value.unobserve(gn.value), B.value.disconnect()), B.value = new ResizeObserver(e), gn.value = j.value.parentNode, B.value.observe(gn.value);
295
+ }
296
+ }
297
+ Be(() => {
298
+ B.value && (gn.value && B.value.unobserve(gn.value), B.value.disconnect());
299
+ });
300
+ let { isPrinting: yn, isImaging: bn, generatePdf: xn, generateImage: Sn } = me({
301
+ elementId: `nested_donuts_${A.value}`,
302
+ fileName: I.value.style.chart.title.text || "vue-ui-nested-donuts",
303
+ options: I.value.userOptions.print
304
+ }), Cn = p(() => I.value.userOptions.show && !I.value.style.chart.title.text), wn = p(() => r(I.value.customPalette)), V = C({
305
+ dataLabels: { show: I.value.style.chart.layout.labels.dataLabels.show },
306
+ showTable: I.value.table.show,
307
+ showTooltip: I.value.style.chart.tooltip.show
308
+ });
309
+ Ke(I, () => {
310
+ V.value = {
311
+ dataLabels: { show: I.value.style.chart.layout.labels.dataLabels.show },
312
+ showTable: I.value.table.show,
313
+ showTooltip: I.value.style.chart.tooltip.show
314
+ };
315
+ }, { immediate: !0 });
316
+ let H = C({
317
+ width: I.value.style.chart.width,
318
+ height: I.value.style.chart.height
319
+ }), U = Je;
320
+ function Tn({ datapoint: e, index: t, seriesIndex: n }) {
321
+ I.value.events.datapointClick && I.value.events.datapointClick({
322
+ datapoint: e,
323
+ seriesIndex: n
324
+ }), U("selectDatapoint", {
325
+ datapoint: e,
326
+ index: t
327
+ });
328
+ }
329
+ function En({ from: e, to: n, duration: r, onUpdate: i, onDone: a, easing: o = t }) {
330
+ let s = performance.now();
331
+ function c(t) {
332
+ let l = Math.min((t - s) / r, 1), ee = o(l);
333
+ i(e + (n - e) * ee, l), l < 1 ? requestAnimationFrame(c) : (i(n, 1), a && a());
334
+ }
335
+ requestAnimationFrame(c);
336
+ }
337
+ let W = C([]), G = p(() => {
338
+ sn.value, R.value.forEach((e, t) => {
339
+ [null, void 0].includes(e.name) && re({
340
+ componentName: "VueUiNestedDonuts",
341
+ type: "datasetSerieAttribute",
342
+ property: "name",
343
+ index: t,
344
+ debug: _n.value
345
+ }), [null, void 0].includes(e.series) ? re({
346
+ componentName: "VueUiNestedDonuts",
347
+ type: "datasetSerieAttribute",
348
+ property: "series",
349
+ index: t,
350
+ debug: _n.value
351
+ }) : e.series.length === 0 ? re({
352
+ componentName: "VueUiNestedDonuts",
353
+ type: "datasetAttributeEmpty",
354
+ property: `series at index ${t}`,
355
+ debug: _n.value
356
+ }) : e.series.forEach((e, t) => {
357
+ [null, void 0].includes(e.name) && re({
358
+ componentName: "VueUiNestedDonuts",
359
+ type: "datasetSerieAttribute",
360
+ property: "name",
361
+ index: t,
362
+ key: "serie",
363
+ debug: _n.value
364
+ }), [null, void 0].includes(e.values) && re({
365
+ componentName: "VueUiNestedDonuts",
366
+ type: "datasetSerieAttribute",
367
+ property: "values",
368
+ index: t,
369
+ key: "serie",
370
+ debug: _n.value
371
+ });
372
+ });
373
+ });
374
+ let e = 0;
375
+ return R.value.map((t, n) => ({
376
+ ...t,
377
+ total: t.series.filter((e) => !W.value.includes(e.id)).map((e) => s(e.values).reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0),
378
+ datasetIndex: n,
379
+ id: `${A.value}_${n}`,
380
+ series: t.series.map((r, i) => {
381
+ let a = s(r.values).reduce((e, t) => e + t, 0);
382
+ return {
383
+ name: r.name,
384
+ arcOf: t.name,
385
+ arcOfId: `${A.value}_${n}`,
386
+ id: `${A.value}_${n}_${i}`,
387
+ seriesIndex: i,
388
+ datasetIndex: n,
389
+ color: ue(r.color) || wn.value[i] || c[i % c.length],
390
+ value: M.value ? N.value[e++] ?? 0 : a,
391
+ absoluteValues: r.values || []
392
+ };
393
+ })
394
+ }));
395
+ });
396
+ Ke(() => k.dataset, (e) => {
397
+ Array.isArray(e) && e.length > 0 && (cn.value = !1);
398
+ }, { immediate: !0 });
399
+ let K = p(() => Math.min(H.value.height, H.value.width) * (I.value.style.chart.layout.donut.strokeWidth / 512)), q = p(() => [...G.value].map((e, t) => {
400
+ let n = e.series.filter((e) => !W.value.includes(e.id)).map((e) => e.value).reduce((e, t) => e + t, 0);
401
+ return {
402
+ ...e,
403
+ total: n,
404
+ series: e.series.filter((e) => !W.value.includes(e.id)).map((e) => ({
405
+ ...e,
406
+ proportion: e.value / n
407
+ }))
408
+ };
409
+ }));
410
+ function Dn(e, t, n) {
411
+ let r = 0;
412
+ for (let t = 0; t < e.length; t += 1) n.includes(e[t]) && (r += 1);
413
+ return r < t;
414
+ }
415
+ let J = C(q.value);
416
+ Ke(() => q.value, (e) => J.value = e);
417
+ function On(e) {
418
+ let t = e.map((e) => e.id);
419
+ if (e.some((e) => W.value.includes(e.id))) {
420
+ let e = new Set(t);
421
+ W.value = W.value.filter((t) => !e.has(t));
422
+ } else W.value.push(...t);
423
+ U("selectLegend", q.value);
424
+ }
425
+ function Y(e) {
426
+ let t = k.dataset.flatMap((e, t) => e.series.map((e, n) => ({
427
+ value: s(e.values).reduce((e, t) => e + t, 0),
428
+ id: `${A.value}_${t}_${n}`,
429
+ arcOfId: `${A.value}_${t}`
430
+ }))).find((t) => t.id === e.id);
431
+ if (!t) return;
432
+ let n = G.value.flatMap((e) => e.series).find((t) => t.id === e.id)?.value ?? 0, r = J.value.flatMap((e) => e.series).find((t) => t.id === e.id), i = r ? r.value : 0, a = G.value.find((e) => e.id === t.arcOfId);
433
+ if (!a) return;
434
+ let o = a.series.map((e) => e.id), c = Dn(o, o.length - 1, W.value);
435
+ W.value.includes(e.id) ? (W.value = W.value.filter((t) => t !== e.id), I.value.serieToggleAnimation.show ? En({
436
+ from: i,
437
+ to: n,
438
+ duration: I.value.serieToggleAnimation.durationMs,
439
+ onUpdate: (t) => {
440
+ J.value = J.value.map((n) => ({
441
+ ...n,
442
+ series: n.series.map((n) => n.id === e.id ? {
443
+ ...n,
444
+ value: t
445
+ } : n)
446
+ }));
447
+ },
448
+ onDone: () => {
449
+ U("selectLegend", q.value);
450
+ }
451
+ }) : (J.value = J.value.map((t) => ({
452
+ ...t,
453
+ series: t.series.map((t) => t.id === e.id ? {
454
+ ...t,
455
+ value: n
456
+ } : t)
457
+ })), U("selectLegend", q.value))) : c && (I.value.serieToggleAnimation.show ? En({
458
+ from: i,
459
+ to: 0,
460
+ duration: I.value.serieToggleAnimation.durationMs,
461
+ onUpdate: (t) => {
462
+ J.value = J.value.map((n) => ({
463
+ ...n,
464
+ series: n.series.map((n) => n.id === e.id ? {
465
+ ...n,
466
+ value: t
467
+ } : n)
468
+ }));
469
+ },
470
+ onDone: () => {
471
+ W.value.push(e.id), U("selectLegend", q.value);
472
+ }
473
+ }) : (J.value = J.value.map((t) => ({
474
+ ...t,
475
+ series: t.series.map((t) => t.id === e.id ? {
476
+ ...t,
477
+ value: 0
478
+ } : t)
479
+ })), W.value.push(e.id), U("selectLegend", q.value)));
480
+ }
481
+ function kn(e) {
482
+ return G.value.length ? G.value.flatMap((e) => e.series).filter((t) => t.name === e) || (I.value.debug && console.warn(`VueUiNestedDonuts - Series name not found "${e}"`), null) : (I.value.debug && console.warn("VueUiNestedDonuts - There are no series to show."), null);
483
+ }
484
+ function An(e) {
485
+ let t = kn(e);
486
+ t !== null && (Array.isArray(t) ? t.forEach((e) => {
487
+ W.value.includes(e.id) && Y({ id: e.id });
488
+ }) : W.value.includes(t.id) && Y({ id: t.id }));
489
+ }
490
+ function jn(e) {
491
+ let t = kn(e);
492
+ t !== null && (Array.isArray(t) ? t.forEach((e) => {
493
+ W.value.includes(e.id) || Y({ id: e.id });
494
+ }) : W.value.includes(t.id) || Y({ id: t.id }));
495
+ }
496
+ let Mn = p(() => K.value / G.value.length * I.value.style.chart.layout.donut.spacingRatio), Nn = p(() => J.value.map((e, t) => K.value - t * K.value / G.value.length)), X = p(() => J.value.map((e, t) => {
497
+ let n = Math.abs(e.series.map((e) => e.value).reduce((e, t) => e + t, 0)) > 0, r = K.value - t * K.value / J.value.length, i = M.value ? Jt.value.find((e) => e.datasetIndex === t) : null, a = [...e.series, ...i ? [i] : []].map((e) => ({
498
+ ...e,
499
+ value: e.value < 1e-11 ? Number.MIN_VALUE : e.value
500
+ })), o = l({ series: [{
501
+ name: "_",
502
+ color: I.value.style.chart.layout.donut.emptyFill,
503
+ value: 1
504
+ }] }, H.value.width / 2, H.value.height / 2, r, r, 1.99999, 2, 1, 360, 105.25, Mn.value), s = `M ${H.value.width / 2},${H.value.height / 2 + r}
505
+ a ${r},${r} 0 1,1 0,${-2 * r}
506
+ a ${r},${r} 0 1,1 0,${2 * r}`;
507
+ return {
508
+ ...e,
509
+ hasData: n,
510
+ radius: r,
511
+ skeleton: o,
512
+ fullCirclePath: s,
513
+ donut: l({ series: a }, H.value.width / 2, H.value.height / 2, r, r, 1.99999, 2, 1, 360, 105.25, Mn.value)
514
+ };
515
+ })), Pn = p(() => [...G.value].map((e, t) => {
516
+ let n = t * K.value / G.value.length;
517
+ return {
518
+ sizeRatio: n,
519
+ donut: l({ series: [{ value: 1 }] }, H.value.width / 2, H.value.height / 2, K.value - n, K.value - n, 1.99999, 2, 1, 360, 105.25, K.value / G.value.length * I.value.style.chart.layout.donut.spacingRatio)[0]
520
+ };
521
+ })), Fn = C(null), In = C(null), Z = C(null), Ln = C(null);
522
+ function Rn({ datapoint: e, seriesIndex: t }) {
523
+ I.value.events.datapointLeave && I.value.events.datapointLeave({
524
+ datapoint: e,
525
+ seriesIndex: t
526
+ }), Lt.value = !1, Fn.value = null, zt.value = null, In.value = null, Z.value = null, P.value = null, tn.value = "pointer";
527
+ }
528
+ function zn({ val: e, percentage: t, showVal: n, showPercentage: r, config: i }) {
529
+ return Ae({
530
+ config: i,
531
+ val: e,
532
+ percentage: t,
533
+ showVal: n,
534
+ showPercentage: r
535
+ });
536
+ }
537
+ function Bn({ datapoint: e, _relativeIndex: t, seriesIndex: n, triggerMode: r = "pointer" }) {
538
+ I.value.events.datapointEnter && I.value.events.datapointEnter({
539
+ datapoint: e,
540
+ seriesIndex: n
541
+ }), tn.value = r, P.value = n, Fn.value = e.arcOfId, In.value = e.id, Z.value = n, zt.value = e.id, Ln.value = {
542
+ datapoint: e,
543
+ seriesIndex: n,
544
+ series: J.value,
545
+ config: I.value
546
+ };
547
+ let i = I.value.style.chart.tooltip.customFormat;
548
+ if (ne(i) && ce(() => i({
549
+ seriesIndex: n,
550
+ datapoint: e,
551
+ series: J.value,
552
+ config: I.value
553
+ }))) Rt.value = i({
554
+ seriesIndex: n,
555
+ datapoint: e,
556
+ series: J.value,
557
+ config: I.value
558
+ });
559
+ else {
560
+ let t = "";
561
+ if (I.value.style.chart.tooltip.showAllItemsAtIndex && W.value.length === 0) {
562
+ let r = J.value.map((e) => e.series.find((e) => e.seriesIndex === n));
563
+ r.forEach((i, a) => {
564
+ if (!i) return "";
565
+ t += `
566
+ <div style="display:flex; flex-direction: column; justify-content:flex-start; align-items:flex-start;padding:6px 0; ${a < r.length - 1 ? `border-bottom:1px solid ${I.value.style.chart.tooltip.borderColor}` : ""}">
567
+ <div style="display:flex; flex-direction: row; gap: 3px; justify-content:flex-start; align-items:center;">
568
+ <svg viewBox="0 0 20 20" height="${I.value.style.chart.tooltip.fontSize}" width="${I.value.style.chart.tooltip.fontSize}">
569
+ <circle cx="10" cy="10" r="10" fill="${i.color}"/>
570
+ </svg>
571
+ <span>
572
+ ${i.arcOf ?? ""} - ${i.name}
573
+ </span>
574
+ </div>
575
+ <span>
576
+ <b>
577
+ ${zn({
578
+ config: I.value.style.chart.tooltip,
579
+ showVal: I.value.style.chart.tooltip.showValue,
580
+ showPercentage: I.value.style.chart.tooltip.showPercentage,
581
+ val: ae(I.value.style.chart.layout.labels.dataLabels.formatter, e.value, u({
582
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
583
+ v: e.value,
584
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
585
+ r: I.value.style.chart.tooltip.roundingValue
586
+ }), {
587
+ datapoint: e,
588
+ seriesIndex: n
589
+ }),
590
+ percentage: u({
591
+ v: i.proportion * 100,
592
+ s: "%",
593
+ r: I.value.style.chart.tooltip.roundingPercentage
594
+ })
595
+ })}
596
+ </b>
597
+ </span>
598
+ </div>
599
+ `;
600
+ });
601
+ } else t += `<div style="width:100%;text-align:center;border-bottom:1px solid ${I.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.arcOf ?? ""} - ${e.name}</div>`, t += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${e.color}"/></svg>`, I.value.style.chart.tooltip.showValue && (t += `<b>${ae(I.value.style.chart.layout.labels.dataLabels.formatter, e.value, u({
602
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
603
+ v: e.value,
604
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
605
+ r: I.value.style.chart.tooltip.roundingValue
606
+ }), {
607
+ datapoint: e,
608
+ seriesIndex: n
609
+ })}</b>`), I.value.style.chart.tooltip.showPercentage && (I.value.style.chart.tooltip.showValue ? t += `<span>(${u({
610
+ v: e.proportion * 100,
611
+ s: "%",
612
+ r: I.value.style.chart.tooltip.roundingPercentage
613
+ })})</span></div>` : t += `<b>${u({
614
+ v: e.proportion * 100,
615
+ s: "%",
616
+ r: I.value.style.chart.tooltip.roundingPercentage
617
+ })}</b></div>`);
618
+ Rt.value = `<div style="font-size:${I.value.style.chart.tooltip.fontSize}px">${t}</div>`;
619
+ }
620
+ Lt.value = !0;
621
+ }
622
+ function Vn(e) {
623
+ return e.proportion * 100 > I.value.style.chart.layout.labels.dataLabels.hideUnderValue;
624
+ }
625
+ function Hn(e, t) {
626
+ if (!I.value.useBlurOnHover) return "";
627
+ if (I.value.style.chart.tooltip.showAllItemsAtIndex && W.value.length === 0) return [null, void 0].includes(Z.value) || Z.value === t ? "" : `url(#blur_${A.value})`;
628
+ if (!I.value.style.chart.tooltip.showAllItemsAtIndex || W.value.length) return [null, void 0].includes(In.value) || In.value === e.id ? "" : `url(#blur_${A.value})`;
629
+ }
630
+ let Un = p(() => G.value.map((e, t) => {
631
+ let n = e.series.filter((e) => !W.value.includes(e.id)), r = M.value ? n.map((e) => {
632
+ let n = R.value[t].series.findIndex((t) => t.name === e.name);
633
+ return s(R.value[t].series[n].values).reduce((e, t) => e + t, 0);
634
+ }).reduce((e, t) => e + t, 0) : n.map((e) => e.value).reduce((e, t) => e + t, 0);
635
+ return e.series.map((e, n) => {
636
+ let i = s(R.value[t].series[n].values).reduce((e, t) => e + t, 0), a = M.value ? i : e.value, o = zn({
637
+ val: ae(I.value.style.chart.layout.labels.dataLabels.formatter, a, u({
638
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
639
+ v: a,
640
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
641
+ r: I.value.style.chart.legend.roundingValue
642
+ }), {
643
+ datapoint: e,
644
+ seriesIndex: n
645
+ }),
646
+ percentage: isNaN(a / r) || W.value.includes(e.id) ? "-" : u({
647
+ v: a / r * 100,
648
+ s: "%",
649
+ r: I.value.style.chart.legend.roundingPercentage
650
+ }),
651
+ showVal: I.value.style.chart.legend.showValue,
652
+ showPercentage: I.value.style.chart.legend.showPercentage,
653
+ config: I.value.style.chart.legend
654
+ }), c = `${e.name}${I.value.style.chart.legend.showPercentage || I.value.style.chart.legend.showValue ? ": " : ""}${o}`;
655
+ return {
656
+ name: e.name,
657
+ color: e.color,
658
+ value: a,
659
+ display: c,
660
+ svgDisplay: `${e.arcOf ? `${e.arcOf} - ` : ""}${c}`,
661
+ shape: "circle",
662
+ arcOf: e.arcOf,
663
+ id: e.id,
664
+ seriesIndex: n,
665
+ datasetIndex: t,
666
+ total: r,
667
+ opacity: W.value.includes(e.id) ? .5 : 1,
668
+ segregate: () => Y(e),
669
+ isSegregated: W.value.includes(e.id)
670
+ };
671
+ });
672
+ })), Wn = p(() => ({
673
+ cy: "nested-donuts-legend",
674
+ backgroundColor: I.value.style.chart.legend.backgroundColor,
675
+ color: I.value.style.chart.legend.color,
676
+ fontSize: I.value.style.chart.legend.fontSize,
677
+ paddingBottom: 12,
678
+ fontWeight: I.value.style.chart.legend.bold ? "bold" : ""
679
+ })), Q = p(() => ({
680
+ head: J.value.flatMap((e) => e.series.map((t) => ({
681
+ name: `${e.name} - ${t.name}`,
682
+ color: t.color,
683
+ total: e.total
684
+ }))),
685
+ body: J.value.flatMap((e) => e.series.map((e) => e.value))
686
+ }));
687
+ function Gn(e = null) {
688
+ Re(() => {
689
+ let t = Q.value.head.map((e, t) => [
690
+ [e.name],
691
+ [Q.value.body[t]],
692
+ [isNaN(Q.value.body[t] / e.total) ? "-" : Q.value.body[t] / e.total * 100]
693
+ ]), n = i([
694
+ [I.value.style.chart.title.text],
695
+ [I.value.style.chart.title.subtitle.text],
696
+ [
697
+ [""],
698
+ ["val"],
699
+ ["%"]
700
+ ]
701
+ ].concat(t));
702
+ e ? e(n) : te({
703
+ csvContent: n,
704
+ title: I.value.style.chart.title.text || "vue-ui-nested-donuts"
705
+ });
706
+ });
707
+ }
708
+ let Kn = p(() => {
709
+ let e = [
710
+ I.value.table.columnNames.series,
711
+ I.value.table.columnNames.value,
712
+ I.value.table.columnNames.percentage
713
+ ], t = Q.value.head.map((e, t) => {
714
+ let n = u({
715
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
716
+ v: Q.value.body[t],
717
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
718
+ r: I.value.table.td.roundingValue
719
+ });
720
+ return [
721
+ {
722
+ color: e.color,
723
+ name: e.name
724
+ },
725
+ n,
726
+ isNaN(Q.value.body[t] / e.total) ? "-" : u({
727
+ v: Q.value.body[t] / e.total * 100,
728
+ s: "%",
729
+ r: I.value.table.td.roundingPercentage
730
+ })
731
+ ];
732
+ }), n = t.map((e) => e.map((e, t) => t === 0 ? e.name : e)), r = {
733
+ th: {
734
+ backgroundColor: I.value.table.th.backgroundColor,
735
+ color: I.value.table.th.color,
736
+ outline: I.value.table.th.outline
737
+ },
738
+ td: {
739
+ backgroundColor: I.value.table.td.backgroundColor,
740
+ color: I.value.table.td.color,
741
+ outline: I.value.table.td.outline
742
+ },
743
+ breakpoint: I.value.table.responsiveBreakpoint
744
+ };
745
+ return {
746
+ colNames: [
747
+ I.value.table.columnNames.series,
748
+ I.value.table.columnNames.value,
749
+ I.value.table.columnNames.percentage
750
+ ],
751
+ head: e,
752
+ body: t,
753
+ a11yBody: n,
754
+ config: r
755
+ };
756
+ });
757
+ function qn() {
758
+ return G.value;
759
+ }
760
+ function Jn() {
761
+ V.value.showTable = !V.value.showTable;
762
+ }
763
+ function Yn() {
764
+ V.value.dataLabels.show = !V.value.dataLabels.show;
765
+ }
766
+ function Xn() {
767
+ V.value.showTooltip = !V.value.showTooltip;
768
+ }
769
+ let Zn = C(!1);
770
+ function Qn() {
771
+ Zn.value = !Zn.value;
772
+ }
773
+ async function $n({ scale: e = 2 } = {}) {
774
+ if (!j.value) return;
775
+ let { width: t, height: n } = j.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await be({
776
+ domElement: j.value,
777
+ base64: !0,
778
+ img: !0,
779
+ scale: e
780
+ });
781
+ return {
782
+ imageUri: i,
783
+ base64: a,
784
+ title: I.value.style.chart.title.text,
785
+ width: t,
786
+ height: n,
787
+ aspectRatio: r
788
+ };
789
+ }
790
+ let er = C(null);
791
+ function tr() {
792
+ if (!er.value) return;
793
+ let { x: e, y: t, width: n, height: r } = er.value.getBBox();
794
+ z.value && z.value.setAttribute("viewBox", `${e} ${t} ${n + Math.min(0, e)} ${r + Math.min(0, t)}`);
795
+ }
796
+ let nr = p(() => {
797
+ let e = I.value.table.useDialog && !I.value.table.show, t = V.value.showTable;
798
+ return {
799
+ component: e ? Mt : Dt,
800
+ title: `${I.value.style.chart.title.text}${I.value.style.chart.title.subtitle.text ? `: ${I.value.style.chart.title.subtitle.text}` : ""}`,
801
+ props: e ? {
802
+ backgroundColor: I.value.table.th.backgroundColor,
803
+ color: I.value.table.th.color,
804
+ headerColor: I.value.table.th.color,
805
+ headerBg: I.value.table.th.backgroundColor,
806
+ isFullscreen: F.value,
807
+ fullscreenParent: j.value,
808
+ forcedWidth: Math.min(800, window.innerWidth * .8),
809
+ isCursorPointer: L.value
810
+ } : {
811
+ hideDetails: !0,
812
+ config: {
813
+ open: t,
814
+ maxHeight: 1e4,
815
+ body: {
816
+ backgroundColor: I.value.style.chart.backgroundColor,
817
+ color: I.value.style.chart.color
818
+ },
819
+ head: {
820
+ backgroundColor: I.value.style.chart.backgroundColor,
821
+ color: I.value.style.chart.color
822
+ }
823
+ }
824
+ }
825
+ };
826
+ });
827
+ Ke(() => V.value.showTable, (e) => {
828
+ I.value.table.show || (e && I.value.table.useDialog && Xt.value ? Xt.value.open() : "close" in Xt.value && Xt.value.close());
829
+ });
830
+ function rr() {
831
+ V.value.showTable = !1, Zt.value && Zt.value.setTableIconState(!1);
832
+ }
833
+ let ir = p(() => I.value.style.chart.backgroundColor), ar = p(() => I.value.style.chart.legend), { exportSvg: or, getSvg: sr } = _e({
834
+ svg: z,
835
+ title: p(() => I.value.style.chart.title),
836
+ legend: ar,
837
+ legendItems: p(() => Un.value.flat().map((e) => ({
838
+ ...e,
839
+ name: e.svgDisplay
840
+ }))),
841
+ backgroundColor: ir
842
+ });
843
+ async function cr({ isCb: e }) {
844
+ $t.value = !0, await Re();
845
+ try {
846
+ if (e) {
847
+ let { blob: e, url: t, text: n, dataUrl: r } = await sr();
848
+ await Promise.resolve(I.value.userOptions.callbacks.svg({
849
+ blob: e,
850
+ url: t,
851
+ text: n,
852
+ dataUrl: r
853
+ }));
854
+ } else await Promise.resolve(or());
855
+ } finally {
856
+ $t.value = !1;
857
+ }
858
+ }
859
+ function lr(e) {
860
+ if (e?.stage === "start") {
861
+ Qt.value = !0;
862
+ return;
863
+ }
864
+ if (e?.stage === "end") {
865
+ Qt.value = !1;
866
+ return;
867
+ }
868
+ Sn();
869
+ }
870
+ async function ur() {
871
+ if (U("copyAlt", {
872
+ config: I.value,
873
+ dataset: J.value
874
+ }), !I.value.userOptions.callbacks.altCopy) {
875
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
876
+ return;
877
+ }
878
+ await Promise.resolve(I.value.userOptions.callbacks.altCopy({
879
+ config: I.value,
880
+ dataset: J.value
881
+ }));
882
+ }
883
+ let $ = p(() => X.value.flatMap((e) => e.donut.filter((e) => !e.ghost)));
884
+ function dr() {
885
+ P.value = null, nn.value = !0;
886
+ }
887
+ function fr() {
888
+ P.value = null, tn.value = "pointer", Lt.value = !1, Fn.value = null, zt.value = null, In.value = null, Z.value = null, nn.value = !1;
889
+ }
890
+ function pr(e) {
891
+ if (!z.value || Zn.value || document.activeElement !== z.value || !$.value.length) return;
892
+ let t = ["ArrowLeft", "ArrowUp"].includes(e.key), n = ["ArrowRight", "ArrowDown"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
893
+ if (!t && !n && !r && !i) return;
894
+ if (e.preventDefault(), e.stopPropagation(), i) {
895
+ P.value = null, tn.value = "pointer", Lt.value = !1, Fn.value = null, zt.value = null, In.value = null, Z.value = null;
896
+ return;
897
+ }
898
+ if (r) {
899
+ if (P.value === null) return;
900
+ let e = $.value[P.value];
901
+ if (!e) return;
902
+ Tn({
903
+ datapoint: e,
904
+ index: P.value,
905
+ seriesIndex: e.seriesIndex
906
+ });
907
+ return;
908
+ }
909
+ let a = P.value, o = Z.value, s = a !== null && a >= 0 && a < $.value.length, c = o !== null && o >= 0 && o < $.value.length;
910
+ s ? n ? (a += 1, a >= $.value.length && (a = 0)) : t && (--a, a < 0 && (a = $.value.length - 1)) : c ? (a = n ? o + 1 : o - 1, a >= $.value.length && (a = 0), a < 0 && (a = $.value.length - 1)) : a = n ? 0 : $.value.length - 1;
911
+ let l = $.value[a];
912
+ l && (P.value = a, mr(), Bn({
913
+ datapoint: l,
914
+ relativeIndex: a,
915
+ seriesIndex: l.seriesIndex,
916
+ show: !0,
917
+ triggerMode: "keyboard"
918
+ }));
919
+ }
920
+ function mr() {
921
+ if (!z.value) return;
922
+ let e = z.value.getBoundingClientRect();
923
+ en.value = {
924
+ x: e.left + e.width / 2,
925
+ y: e.top + e.height / 2
926
+ };
927
+ }
928
+ let hr = p(() => ({
929
+ headers: Kn.value?.colNames ?? [],
930
+ rows: Kn.value?.a11yBody ?? []
931
+ }));
932
+ return Se({
933
+ autoSize: tr,
934
+ getData: qn,
935
+ getImage: $n,
936
+ generatePdf: xn,
937
+ generateCsv: Gn,
938
+ generateImage: Sn,
939
+ generateSvg: cr,
940
+ hideSeries: jn,
941
+ showSeries: An,
942
+ toggleTable: Jn,
943
+ toggleLabels: Yn,
944
+ toggleTooltip: Xn,
945
+ toggleAnnotator: Qn,
946
+ toggleFullscreen: rn,
947
+ copyAlt: ur
948
+ }), (e, t) => (S(), g("div", {
949
+ ref_key: "nestedDonutsChart",
950
+ ref: j,
951
+ class: b(`vue-data-ui-component vue-ui-nested-donuts ${F.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${I.value.useCssAnimation ? "" : "vue-ui-dna"}`),
952
+ style: ze(`font-family:${I.value.style.fontFamily};width:100%; text-align:center;background:${I.value.style.chart.backgroundColor}`),
953
+ id: `nested_donuts_${A.value}`,
954
+ onMouseenter: t[2] ||= () => D(un)(!0),
955
+ onMouseleave: t[3] ||= () => D(un)(!1)
956
+ }, [
957
+ _("div", {
958
+ id: `chart-instructions-${A.value}`,
959
+ class: "sr-only"
960
+ }, [_("p", null, E(I.value.a11y.translations.keyboardNavigation), 1)], 8, Xe),
961
+ hr.value?.rows?.length ? (S(), m(De, {
962
+ key: 0,
963
+ uid: A.value,
964
+ head: hr.value.headers,
965
+ body: hr.value.rows,
966
+ notice: I.value.a11y.translations.tableAvailable,
967
+ caption: I.value.a11y.translations.tableCaption
968
+ }, null, 8, [
969
+ "uid",
970
+ "head",
971
+ "body",
972
+ "notice",
973
+ "caption"
974
+ ])) : h("", !0),
975
+ I.value.userOptions.buttons.annotator ? (S(), m(D(At), {
976
+ key: 1,
977
+ svgRef: D(z),
978
+ backgroundColor: I.value.style.chart.backgroundColor,
979
+ color: I.value.style.chart.color,
980
+ active: Zn.value,
981
+ isCursorPointer: L.value,
982
+ onClose: Qn
983
+ }, {
984
+ "annotator-action-close": O(() => [T(e.$slots, "annotator-action-close", {}, void 0, !0)]),
985
+ "annotator-action-color": O(({ color: t }) => [T(e.$slots, "annotator-action-color", x(y({ color: t })), void 0, !0)]),
986
+ "annotator-action-draw": O(({ mode: t }) => [T(e.$slots, "annotator-action-draw", x(y({ mode: t })), void 0, !0)]),
987
+ "annotator-action-undo": O(({ disabled: t }) => [T(e.$slots, "annotator-action-undo", x(y({ disabled: t })), void 0, !0)]),
988
+ "annotator-action-redo": O(({ disabled: t }) => [T(e.$slots, "annotator-action-redo", x(y({ disabled: t })), void 0, !0)]),
989
+ "annotator-action-delete": O(({ disabled: t }) => [T(e.$slots, "annotator-action-delete", x(y({ disabled: t })), void 0, !0)]),
990
+ _: 3
991
+ }, 8, [
992
+ "svgRef",
993
+ "backgroundColor",
994
+ "color",
995
+ "active",
996
+ "isCursorPointer"
997
+ ])) : h("", !0),
998
+ Cn.value ? (S(), g("div", {
999
+ key: 2,
1000
+ ref_key: "noTitle",
1001
+ ref: Wt,
1002
+ class: "vue-data-ui-no-title-space",
1003
+ style: "height:36px; width: 100%;background:transparent"
1004
+ }, null, 512)) : h("", !0),
1005
+ I.value.style.chart.title.text ? (S(), g("div", {
1006
+ key: 3,
1007
+ ref_key: "chartTitle",
1008
+ ref: Vt
1009
+ }, [(S(), m(xe, {
1010
+ key: `title_${Gt.value}`,
1011
+ config: {
1012
+ title: {
1013
+ cy: "donut-div-title",
1014
+ ...I.value.style.chart.title
1015
+ },
1016
+ subtitle: {
1017
+ cy: "donut-div-subtitle",
1018
+ ...I.value.style.chart.title.subtitle
1019
+ }
1020
+ }
1021
+ }, null, 8, ["config"]))], 512)) : h("", !0),
1022
+ _("div", { id: `legend-top-${A.value}` }, null, 8, Ze),
1023
+ I.value.userOptions.show && It.value && (D(dn) || D(ln)) ? (S(), m(D(kt), {
1024
+ ref_key: "userOptionsRef",
1025
+ ref: Zt,
1026
+ key: `user_option_${Bt.value}`,
1027
+ backgroundColor: I.value.style.chart.backgroundColor,
1028
+ color: I.value.style.chart.color,
1029
+ isPrinting: D(yn),
1030
+ isImaging: D(bn),
1031
+ uid: A.value,
1032
+ hasTooltip: I.value.userOptions.buttons.tooltip && I.value.style.chart.tooltip.show,
1033
+ hasPdf: I.value.userOptions.buttons.pdf,
1034
+ hasXls: I.value.userOptions.buttons.csv,
1035
+ hasImg: I.value.userOptions.buttons.img,
1036
+ hasSvg: I.value.userOptions.buttons.svg,
1037
+ hasTable: I.value.userOptions.buttons.table,
1038
+ hasLabel: I.value.userOptions.buttons.labels,
1039
+ hasFullscreen: I.value.userOptions.buttons.fullscreen,
1040
+ hasAltCopy: I.value.userOptions.buttons.altCopy,
1041
+ isFullscreen: F.value,
1042
+ isTooltip: V.value.showTooltip,
1043
+ titles: { ...I.value.userOptions.buttonTitles },
1044
+ chartElement: j.value,
1045
+ position: I.value.userOptions.position,
1046
+ hasAnnotator: I.value.userOptions.buttons.annotator,
1047
+ isAnnotation: Zn.value,
1048
+ callbacks: I.value.userOptions.callbacks,
1049
+ printScale: I.value.userOptions.print.scale,
1050
+ tableDialog: I.value.table.useDialog,
1051
+ isCursorPointer: L.value,
1052
+ onToggleFullscreen: rn,
1053
+ onGeneratePdf: D(xn),
1054
+ onGenerateCsv: Gn,
1055
+ onGenerateImage: lr,
1056
+ onGenerateSvg: cr,
1057
+ onToggleTable: Jn,
1058
+ onToggleLabels: Yn,
1059
+ onToggleTooltip: Xn,
1060
+ onToggleAnnotator: Qn,
1061
+ onCopyAlt: ur,
1062
+ style: ze({ visibility: D(dn) ? D(ln) ? "visible" : "hidden" : "visible" })
1063
+ }, Pe({ _: 2 }, [
1064
+ e.$slots.menuIcon ? {
1065
+ name: "menuIcon",
1066
+ fn: O(({ isOpen: t, color: n }) => [T(e.$slots, "menuIcon", x(y({
1067
+ isOpen: t,
1068
+ color: n
1069
+ })), void 0, !0)]),
1070
+ key: "0"
1071
+ } : void 0,
1072
+ e.$slots.optionTooltip ? {
1073
+ name: "optionTooltip",
1074
+ fn: O(() => [T(e.$slots, "optionTooltip", {}, void 0, !0)]),
1075
+ key: "1"
1076
+ } : void 0,
1077
+ e.$slots.optionPdf ? {
1078
+ name: "optionPdf",
1079
+ fn: O(() => [T(e.$slots, "optionPdf", {}, void 0, !0)]),
1080
+ key: "2"
1081
+ } : void 0,
1082
+ e.$slots.optionCsv ? {
1083
+ name: "optionCsv",
1084
+ fn: O(() => [T(e.$slots, "optionCsv", {}, void 0, !0)]),
1085
+ key: "3"
1086
+ } : void 0,
1087
+ e.$slots.optionImg ? {
1088
+ name: "optionImg",
1089
+ fn: O(() => [T(e.$slots, "optionImg", {}, void 0, !0)]),
1090
+ key: "4"
1091
+ } : void 0,
1092
+ e.$slots.optionSvg ? {
1093
+ name: "optionSvg",
1094
+ fn: O(() => [T(e.$slots, "optionSvg", {}, void 0, !0)]),
1095
+ key: "5"
1096
+ } : void 0,
1097
+ e.$slots.optionTable ? {
1098
+ name: "optionTable",
1099
+ fn: O(() => [T(e.$slots, "optionTable", {}, void 0, !0)]),
1100
+ key: "6"
1101
+ } : void 0,
1102
+ e.$slots.optionLabels ? {
1103
+ name: "optionLabels",
1104
+ fn: O(() => [T(e.$slots, "optionLabels", {}, void 0, !0)]),
1105
+ key: "7"
1106
+ } : void 0,
1107
+ e.$slots.optionFullscreen ? {
1108
+ name: "optionFullscreen",
1109
+ fn: O(({ toggleFullscreen: t, isFullscreen: n }) => [T(e.$slots, "optionFullscreen", x(y({
1110
+ toggleFullscreen: t,
1111
+ isFullscreen: n
1112
+ })), void 0, !0)]),
1113
+ key: "8"
1114
+ } : void 0,
1115
+ e.$slots.optionAnnotator ? {
1116
+ name: "optionAnnotator",
1117
+ fn: O(({ toggleAnnotator: t, isAnnotator: n }) => [T(e.$slots, "optionAnnotator", x(y({
1118
+ toggleAnnotator: t,
1119
+ isAnnotator: n
1120
+ })), void 0, !0)]),
1121
+ key: "9"
1122
+ } : void 0,
1123
+ e.$slots.optionAltCopy ? {
1124
+ name: "optionAltCopy",
1125
+ fn: O(({ altCopy: t }) => [T(e.$slots, "optionAltCopy", x(y({ altCopy: t })), void 0, !0)]),
1126
+ key: "10"
1127
+ } : void 0,
1128
+ e.$slots["custom-menu-before"] ? {
1129
+ name: "custom-menu-before",
1130
+ fn: O(() => [T(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1131
+ key: "11"
1132
+ } : void 0,
1133
+ e.$slots["custom-menu-after"] ? {
1134
+ name: "custom-menu-after",
1135
+ fn: O(() => [T(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1136
+ key: "12"
1137
+ } : void 0
1138
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.style".split("."))) : h("", !0),
1139
+ _("div", Qe, [(S(), g("svg", {
1140
+ ref_key: "svgRef",
1141
+ ref: z,
1142
+ xmlns: D(le),
1143
+ "aria-describedby": `chart-instructions-${A.value}`,
1144
+ class: b({
1145
+ "vue-data-ui-fullscreen--on": F.value,
1146
+ "vue-data-ui-fulscreen--off": !F.value,
1147
+ "vue-data-ui-svg": !0
1148
+ }),
1149
+ viewBox: `0 0 ${H.value.width <= 0 ? .001 : H.value.width} ${H.value.height < 0 ? .001 : H.value.height}`,
1150
+ style: ze(`max-width:100%; overflow: visible; background:transparent;color:${I.value.style.chart.color};${pn.value.css}`),
1151
+ tabindex: "0",
1152
+ onFocus: dr,
1153
+ onBlur: fr,
1154
+ onKeydown: pr
1155
+ }, [_("g", {
1156
+ ref_key: "G",
1157
+ ref: er,
1158
+ class: "vue-data-ui-g"
1159
+ }, [
1160
+ Ie(D(jt)),
1161
+ e.$slots["chart-background"] ? (S(), g("foreignObject", {
1162
+ key: 0,
1163
+ x: 0,
1164
+ y: 0,
1165
+ width: H.value.width <= 0 ? .001 : H.value.width,
1166
+ height: H.value.height < 0 ? .001 : H.value.height,
1167
+ style: { pointerEvents: "none" }
1168
+ }, [T(e.$slots, "chart-background", {}, void 0, !0)], 8, et)) : h("", !0),
1169
+ _("defs", null, [(S(!0), g(f, null, w(Pn.value, (e, t) => (S(), m(Te, {
1170
+ t: "radial",
1171
+ id: `radial_${A.value}_${t}`,
1172
+ key: `radial_${A.value}_${t}`,
1173
+ stops: [
1174
+ [
1175
+ "0%",
1176
+ "#FFFFFF",
1177
+ 0
1178
+ ],
1179
+ [
1180
+ `${(1 - Mn.value / Nn.value[t]) * 100}%`,
1181
+ D(fe)("#FFFFFF", 0),
1182
+ 0
1183
+ ],
1184
+ [
1185
+ `${(1 - Mn.value / Nn.value[t] / 2) * 100}%`,
1186
+ "#FFFFFF",
1187
+ I.value.style.chart.gradientIntensity / 100
1188
+ ],
1189
+ [
1190
+ "100%",
1191
+ "#FFFFFF",
1192
+ 0
1193
+ ]
1194
+ ]
1195
+ }, null, 8, ["id", "stops"]))), 128))]),
1196
+ _("defs", null, [_("filter", {
1197
+ id: `blur_${A.value}`,
1198
+ x: "-50%",
1199
+ y: "-50%",
1200
+ width: "200%",
1201
+ height: "200%"
1202
+ }, [_("feGaussianBlur", {
1203
+ in: "SourceGraphic",
1204
+ stdDeviation: 2,
1205
+ id: `blur_std_${A.value}`
1206
+ }, null, 8, nt), t[4] ||= _("feColorMatrix", {
1207
+ type: "saturate",
1208
+ values: "0"
1209
+ }, null, -1)], 8, tt), _("filter", {
1210
+ id: `shadow_${A.value}`,
1211
+ "color-interpolation-filters": "sRGB"
1212
+ }, [_("feDropShadow", {
1213
+ dx: "0",
1214
+ dy: "0",
1215
+ stdDeviation: "10",
1216
+ "flood-opacity": "0.5",
1217
+ "flood-color": I.value.style.chart.layout.donut.shadowColor
1218
+ }, null, 8, it)], 8, rt)]),
1219
+ _("defs", null, [(S(!0), g(f, null, w(X.value, (e, t) => (S(), g("path", {
1220
+ key: `path-full-${t}`,
1221
+ id: `path-full-${t}-${A.value}`,
1222
+ d: e.fullCirclePath,
1223
+ fill: "none"
1224
+ }, null, 8, at))), 128))]),
1225
+ (S(!0), g(f, null, w(X.value, (e, t) => (S(), g("g", null, [e.hasData ? (S(!0), g(f, { key: 0 }, w(e.donut.filter((e) => !e.ghost), (e, t) => (S(), g("g", null, [_("path", {
1226
+ class: "vue-ui-donut-arc-path",
1227
+ d: e.arcSlice,
1228
+ fill: e.color,
1229
+ stroke: I.value.style.chart.layout.donut.borderColorAuto ? I.value.style.chart.backgroundColor : I.value.style.chart.layout.donut.borderColor,
1230
+ "stroke-width": I.value.style.chart.layout.donut.borderWidth,
1231
+ filter: Hn(e, t)
1232
+ }, null, 8, ot)]))), 256)) : (S(!0), g(f, { key: 1 }, w(e.skeleton, (e, t) => (S(), g("g", null, [_("path", {
1233
+ class: "vue-ui-donut-arc-path",
1234
+ d: e.arcSlice,
1235
+ fill: e.color,
1236
+ stroke: I.value.style.chart.layout.donut.borderColorAuto ? I.value.style.chart.backgroundColor : I.value.style.chart.layout.donut.borderColor,
1237
+ "stroke-width": I.value.style.chart.layout.donut.borderWidth
1238
+ }, null, 8, st)]))), 256))]))), 256)),
1239
+ I.value.style.chart.useGradient ? (S(), g("g", ct, [(S(!0), g(f, null, w(Pn.value, (e, t) => (S(), g("g", null, [_("path", {
1240
+ d: e.donut.arcSlice,
1241
+ fill: `url(#radial_${A.value}_${t})`,
1242
+ stroke: "transparent",
1243
+ "stroke-width": "0"
1244
+ }, null, 8, lt)]))), 256))])) : h("", !0),
1245
+ I.value.style.chart.layout.labels.dataLabels.showDonutName ? (S(), g("g", ut, [I.value.style.chart.layout.labels.dataLabels.curvedDonutName ? (S(!0), g(f, { key: 0 }, w(X.value, (e, t) => (S(), g("g", null, [(S(!0), g(f, null, w(e.donut, (n, r) => (S(), g("g", null, [r === 0 && H.value.width && H.value.height ? (S(), g("text", {
1246
+ key: 0,
1247
+ class: b({ animated: I.value.useCssAnimation }),
1248
+ "text-anchor": "middle",
1249
+ "font-size": I.value.style.chart.layout.labels.dataLabels.fontSize,
1250
+ "font-weight": I.value.style.chart.layout.labels.dataLabels.boldDonutName ? "bold" : "normal",
1251
+ fill: I.value.style.chart.layout.labels.dataLabels.color,
1252
+ dy: I.value.style.chart.layout.labels.dataLabels.donutNameOffsetY
1253
+ }, [_("textPath", {
1254
+ href: `#path-full-${t}-${A.value}`,
1255
+ startOffset: "50%",
1256
+ "text-anchor": "middle",
1257
+ method: "align",
1258
+ spacing: "auto"
1259
+ }, E(I.value.style.chart.layout.labels.dataLabels.donutNameAbbreviation ? D(oe)({
1260
+ source: e.name,
1261
+ length: I.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize
1262
+ }) : e.name), 9, ft)], 10, dt)) : h("", !0)]))), 256))]))), 256)) : (S(!0), g(f, { key: 1 }, w(X.value, (e, t) => (S(), g("g", null, [(S(!0), g(f, null, w(e.donut, (t, n) => (S(), g("g", null, [n === 0 && H.value.width && H.value.height ? (S(), g("text", {
1263
+ key: 0,
1264
+ class: b({ animated: I.value.useCssAnimation }),
1265
+ x: H.value.width / 2,
1266
+ y: t.startY - I.value.style.chart.layout.labels.dataLabels.fontSize + I.value.style.chart.layout.labels.dataLabels.donutNameOffsetY,
1267
+ "text-anchor": "middle",
1268
+ "font-size": I.value.style.chart.layout.labels.dataLabels.fontSize,
1269
+ "font-weight": I.value.style.chart.layout.labels.dataLabels.boldDonutName ? "bold" : "normal",
1270
+ fill: I.value.style.chart.layout.labels.dataLabels.color
1271
+ }, E(I.value.style.chart.layout.labels.dataLabels.donutNameAbbreviation ? D(oe)({
1272
+ source: e.name,
1273
+ length: I.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize
1274
+ }) : e.name), 11, pt)) : h("", !0)]))), 256))]))), 256))])) : h("", !0),
1275
+ I.value.style.chart.layout.labels.dataLabels.show ? (S(), g("g", mt, [(S(!0), g(f, null, w(X.value, (e, t) => (S(), g("g", null, [(S(!0), g(f, null, w(e.donut.filter((e) => !e.ghost), (e, n) => (S(), g("g", { filter: Hn(e, n) }, [qe(_("text", {
1276
+ class: b({ animated: I.value.useCssAnimation }),
1277
+ opacity: +!!Vn(e),
1278
+ "text-anchor": D(d)(e, !0).anchor,
1279
+ x: D(d)(e, !1, I.value.style.chart.layout.labels.dataLabels.offsetX).x || 0,
1280
+ y: D(ie)(e, I.value.style.chart.layout.labels.dataLabels.offsetY, I.value.style.chart.layout.labels.dataLabels.offsetY) + (I.value.style.chart.layout.labels.dataLabels.showValueFirst && I.value.style.chart.layout.labels.dataLabels.showValue ? I.value.style.chart.layout.labels.dataLabels.fontSize : 0),
1281
+ fill: I.value.style.chart.layout.labels.dataLabels.useSerieColor ? e.color : I.value.style.chart.layout.labels.dataLabels.color,
1282
+ "font-size": I.value.style.chart.layout.labels.dataLabels.fontSize,
1283
+ "font-weight": I.value.style.chart.layout.labels.dataLabels.boldPercentage ? "bold" : "normal"
1284
+ }, E(D(ee)(D(u)({
1285
+ v: e.proportion * 100,
1286
+ s: "%",
1287
+ r: I.value.style.chart.layout.labels.dataLabels.roundingPercentage
1288
+ }), I.value.style.chart.layout.labels.dataLabels.usePercentageParens ? "(" : "", I.value.style.chart.layout.labels.dataLabels.usePercentageParens ? ")" : "")), 11, gt), [[Ge, V.value.dataLabels.show && I.value.style.chart.layout.labels.dataLabels.showPercentage]]), qe(_("text", {
1289
+ class: b({ animated: I.value.useCssAnimation }),
1290
+ opacity: +!!Vn(e),
1291
+ "text-anchor": D(d)(e, !0).anchor,
1292
+ x: D(d)(e, !1, I.value.style.chart.layout.labels.dataLabels.offsetX).x || 0,
1293
+ y: D(ie)(e, I.value.style.chart.layout.labels.dataLabels.offsetY, I.value.style.chart.layout.labels.dataLabels.offsetY) + (I.value.style.chart.layout.labels.dataLabels.showValueFirst || !I.value.style.chart.layout.labels.dataLabels.showPercentage ? 0 : I.value.style.chart.layout.labels.dataLabels.fontSize),
1294
+ fill: I.value.style.chart.layout.labels.dataLabels.useSerieColor ? e.color : I.value.style.chart.layout.labels.dataLabels.color,
1295
+ "font-size": I.value.style.chart.layout.labels.dataLabels.fontSize,
1296
+ "font-weight": I.value.style.chart.layout.labels.dataLabels.boldValue ? "bold" : "normal"
1297
+ }, E(D(ee)(D(ae)(I.value.style.chart.layout.labels.dataLabels.formatter, e.value, D(u)({
1298
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
1299
+ v: e.value,
1300
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
1301
+ r: I.value.style.chart.layout.labels.dataLabels.roundingValue
1302
+ }), {
1303
+ datapoint: e,
1304
+ seriesIndex: t,
1305
+ datapointIndex: n
1306
+ }), I.value.style.chart.layout.labels.dataLabels.useValueParens ? "(" : "", I.value.style.chart.layout.labels.dataLabels.useValueParens ? ")" : "")), 11, _t), [[Ge, V.value.dataLabels.show && I.value.style.chart.layout.labels.dataLabels.showValue]])], 8, ht))), 256))]))), 256))])) : h("", !0),
1307
+ (S(!0), g(f, null, w(X.value, (e, t) => (S(), g("g", null, [(S(!0), g(f, null, w(e.donut, (e, t) => (S(), g("g", null, [_("path", {
1308
+ d: e.arcSlice,
1309
+ fill: zt.value === e.id ? I.value.style.chart.layout.donut.selectedColor : "transparent",
1310
+ onMouseenter: (t) => Bn({
1311
+ datapoint: e,
1312
+ relativeIndex: $.value.findIndex((t) => t.id === e.id),
1313
+ seriesIndex: e.seriesIndex
1314
+ }),
1315
+ onClick: (n) => Tn({
1316
+ datapoint: e,
1317
+ index: t,
1318
+ seriesIndex: e.seriesIndex
1319
+ }),
1320
+ onMouseleave: (t) => Rn({
1321
+ datapoint: e,
1322
+ seriesIndex: e.seriesIndex
1323
+ })
1324
+ }, null, 40, vt)]))), 256))]))), 256)),
1325
+ T(e.$slots, "svg", { svg: {
1326
+ ...H.value,
1327
+ isPrintingImg: D(yn) || D(bn) || Qt.value,
1328
+ isPrintingSvg: $t.value
1329
+ } }, void 0, !0)
1330
+ ], 512)], 46, $e)), e.$slots.hint ? (S(), g("div", yt, [T(e.$slots, "hint", x(y({
1331
+ hint: I.value.a11y.translations.keyboardNavigation,
1332
+ isVisible: nn.value
1333
+ })), void 0, !0)])) : h("", !0)]),
1334
+ e.$slots.watermark ? (S(), g("div", bt, [T(e.$slots, "watermark", x(y({ isPrinting: D(yn) || D(bn) || Qt.value || $t.value })), void 0, !0)])) : h("", !0),
1335
+ Ie(D(Tt), {
1336
+ teleportTo: I.value.style.chart.tooltip.teleportTo,
1337
+ show: V.value.showTooltip && Lt.value,
1338
+ backgroundColor: I.value.style.chart.tooltip.backgroundColor,
1339
+ color: I.value.style.chart.tooltip.color,
1340
+ borderRadius: I.value.style.chart.tooltip.borderRadius,
1341
+ borderColor: I.value.style.chart.tooltip.borderColor,
1342
+ borderWidth: I.value.style.chart.tooltip.borderWidth,
1343
+ fontSize: I.value.style.chart.tooltip.fontSize,
1344
+ backgroundOpacity: I.value.style.chart.tooltip.backgroundOpacity,
1345
+ position: I.value.style.chart.tooltip.position,
1346
+ offsetX: I.value.style.chart.tooltip.offsetX,
1347
+ offsetY: I.value.style.chart.tooltip.offsetY,
1348
+ parent: j.value,
1349
+ content: Rt.value,
1350
+ isFullscreen: F.value,
1351
+ isCustom: D(ne)(I.value.style.chart.tooltip.customFormat),
1352
+ smooth: I.value.style.chart.tooltip.smooth,
1353
+ backdropFilter: I.value.style.chart.tooltip.backdropFilter,
1354
+ smoothForce: I.value.style.chart.tooltip.smoothForce,
1355
+ smoothSnapThreshold: I.value.style.chart.tooltip.smoothSnapThreshold,
1356
+ isA11yMode: tn.value === "keyboard",
1357
+ a11yPosition: en.value
1358
+ }, {
1359
+ "tooltip-before": O(() => [T(e.$slots, "tooltip-before", x(y({ ...Ln.value })), void 0, !0)]),
1360
+ tooltip: O(() => [T(e.$slots, "tooltip", x(y({ ...Ln.value })), void 0, !0)]),
1361
+ "tooltip-after": O(() => [T(e.$slots, "tooltip-after", x(y({ ...Ln.value })), void 0, !0)]),
1362
+ _: 3
1363
+ }, 8, [
1364
+ "teleportTo",
1365
+ "show",
1366
+ "backgroundColor",
1367
+ "color",
1368
+ "borderRadius",
1369
+ "borderColor",
1370
+ "borderWidth",
1371
+ "fontSize",
1372
+ "backgroundOpacity",
1373
+ "position",
1374
+ "offsetX",
1375
+ "offsetY",
1376
+ "parent",
1377
+ "content",
1378
+ "isFullscreen",
1379
+ "isCustom",
1380
+ "smooth",
1381
+ "backdropFilter",
1382
+ "smoothForce",
1383
+ "smoothSnapThreshold",
1384
+ "isA11yMode",
1385
+ "a11yPosition"
1386
+ ]),
1387
+ _("div", { id: `legend-bottom-${A.value}` }, null, 8, xt),
1388
+ Yt.value && (I.value.style.chart.legend.show || e.$slots.legend) ? (S(), m(Ne, {
1389
+ key: 6,
1390
+ to: I.value.style.chart.legend.position === "top" ? `#legend-top-${A.value}` : `#legend-bottom-${A.value}`
1391
+ }, [I.value.style.chart.legend.show ? (S(), g("div", {
1392
+ key: 0,
1393
+ ref_key: "chartLegend",
1394
+ ref: Ht,
1395
+ class: b({ "vue-ui-nested-donuts-legend": Un.value.length > 1 })
1396
+ }, [T(e.$slots, "legend", { legend: Un.value }, () => [(S(!0), g(f, null, w(Un.value, (e, n) => (S(), m(je, {
1397
+ key: `legend_${n}_${qt.value}`,
1398
+ legendSet: e,
1399
+ config: Wn.value,
1400
+ isCursorPointer: L.value,
1401
+ onClickMarker: t[0] ||= ({ legend: e }) => Y(e)
1402
+ }, {
1403
+ legendTitle: O(({ titleSet: e }) => [e[0] && e[0].arcOf ? (S(), g("div", St, E(e[0].arcOf), 1)) : h("", !0)]),
1404
+ item: O(({ legend: e, index: t }) => [_("div", {
1405
+ onClick: (t) => Y(e),
1406
+ style: ze(`opacity:${W.value.includes(e.id) ? .5 : 1}`)
1407
+ }, E(e.display), 13, Ct)]),
1408
+ legendToggle: O(() => [e.length > 2 && I.value.style.chart.legend.selectAllToggle.show && !D(sn) ? (S(), m(Ee, {
1409
+ key: `toggle-${n}`,
1410
+ backgroundColor: I.value.style.chart.legend.selectAllToggle.backgroundColor,
1411
+ color: I.value.style.chart.legend.selectAllToggle.color,
1412
+ fontSize: I.value.style.chart.legend.fontSize,
1413
+ checked: e.some((e) => W.value.includes(e.id)),
1414
+ isCursorPointer: L.value,
1415
+ onToggle: (t) => On(e)
1416
+ }, null, 8, [
1417
+ "backgroundColor",
1418
+ "color",
1419
+ "fontSize",
1420
+ "checked",
1421
+ "isCursorPointer",
1422
+ "onToggle"
1423
+ ])) : h("", !0)]),
1424
+ _: 2
1425
+ }, 1032, [
1426
+ "legendSet",
1427
+ "config",
1428
+ "isCursorPointer"
1429
+ ]))), 128))], !0)], 2)) : h("", !0)], 8, ["to"])) : h("", !0),
1430
+ e.$slots.source ? (S(), g("div", {
1431
+ key: 7,
1432
+ ref_key: "source",
1433
+ ref: Ut,
1434
+ dir: "auto"
1435
+ }, [T(e.$slots, "source", {}, void 0, !0)], 512)) : h("", !0),
1436
+ It.value && I.value.userOptions.buttons.table ? (S(), m(He(nr.value.component), Le({ key: 8 }, nr.value.props, {
1437
+ ref_key: "tableUnit",
1438
+ ref: Xt,
1439
+ onClose: rr
1440
+ }), Pe({
1441
+ content: O(() => [(S(), m(D(Ot), {
1442
+ key: `table_${Kt.value}`,
1443
+ colNames: Kn.value.colNames,
1444
+ head: Kn.value.head,
1445
+ body: Kn.value.body,
1446
+ config: Kn.value.config,
1447
+ title: I.value.table.useDialog ? "" : nr.value.title,
1448
+ withCloseButton: !I.value.table.useDialog,
1449
+ isCursorPointer: L.value,
1450
+ onClose: rr
1451
+ }, {
1452
+ th: O(({ th: e }) => [_("div", {
1453
+ innerHTML: e,
1454
+ style: {
1455
+ display: "flex",
1456
+ "align-items": "center"
1457
+ }
1458
+ }, null, 8, wt)]),
1459
+ td: O(({ td: e }) => [Fe(E(e.name || e), 1)]),
1460
+ _: 1
1461
+ }, 8, [
1462
+ "colNames",
1463
+ "head",
1464
+ "body",
1465
+ "config",
1466
+ "title",
1467
+ "withCloseButton",
1468
+ "isCursorPointer"
1469
+ ]))]),
1470
+ _: 2
1471
+ }, [I.value.table.useDialog ? {
1472
+ name: "title",
1473
+ fn: O(() => [Fe(E(nr.value.title), 1)]),
1474
+ key: "0"
1475
+ } : void 0, I.value.table.useDialog ? {
1476
+ name: "actions",
1477
+ fn: O(() => [_("button", {
1478
+ tabindex: "0",
1479
+ class: "vue-ui-user-options-button",
1480
+ onClick: t[1] ||= (e) => Gn(I.value.userOptions.callbacks.csv),
1481
+ style: ze({ cursor: L.value ? "pointer" : "default" })
1482
+ }, [Ie(D(Et), {
1483
+ name: "fileCsv",
1484
+ stroke: nr.value.props.color
1485
+ }, null, 8, ["stroke"])], 4)]),
1486
+ key: "1"
1487
+ } : void 0]), 1040)) : h("", !0),
1488
+ T(e.$slots, "skeleton", {}, () => [D(sn) ? (S(), m(ge, { key: 0 })) : h("", !0)], !0)
1489
+ ], 46, Ye));
1490
+ }
1491
+ }, [["__scopeId", "data-v-24615b3d"]]);
1492
+ //#endregion
1493
+ export { Je as n, Tt as t };