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