vue-data-ui 3.17.13 → 3.18.0

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 (493) hide show
  1. package/README.md +1 -1
  2. package/dist/A11yDataTable-q2-8fSlJ.js +45 -0
  3. package/dist/Arrow-BU2Z7mfz.js +116 -0
  4. package/dist/BaseDraggableDialog-LE75fWYz.js +272 -0
  5. package/dist/BaseIcon-CL6Y7alf.js +499 -0
  6. package/dist/BaseLegendToggle-BvPOFMVZ.js +56 -0
  7. package/dist/BaseScanner-C7dmAref.js +27 -0
  8. package/dist/BaseZoomControls-DSwf4HhS.js +111 -0
  9. package/dist/ColorPicker-BGbMrtup.js +255 -0
  10. package/dist/DataTable-ZG4GX2Zg.js +150 -0
  11. package/dist/Legend-BPb8i4aC.js +114 -0
  12. package/dist/NonSvgPenAndPaper-BT3YMjgo.js +577 -0
  13. package/dist/PackageVersion-B1cPtZ3Q.js +11 -0
  14. package/dist/PenAndPaper-DxBCVZAx.js +461 -0
  15. package/dist/RecursiveCircles-DPpLel6f.js +117 -0
  16. package/dist/RecursiveLabels-DBMJf_to.js +56 -0
  17. package/dist/RecursiveLinks-D06dBL4a.js +78 -0
  18. package/dist/Shape-Dbug7CtK.js +141 -0
  19. package/dist/Slicer-SEdaKYPX.js +1144 -0
  20. package/dist/SlicerPreview-BLlQTUI_.js +1523 -0
  21. package/dist/SparkTooltip-BaONR2nq.js +93 -0
  22. package/dist/Title-ByyzJzpc.js +87 -0
  23. package/dist/Tooltip-V6Z0Ko-1.js +307 -0
  24. package/dist/UserOptions-Gaw1761w.js +1407 -0
  25. package/dist/_plugin-vue_export-helper-Dq1MygBL.js +8 -0
  26. package/dist/canvas-lib-DTaADQOK.js +79 -0
  27. package/dist/components/arrow.js +2 -5
  28. package/dist/components/vue-ui-3d-bar.js +2 -5
  29. package/dist/components/vue-ui-accordion.js +2 -5
  30. package/dist/components/vue-ui-age-pyramid.js +2 -5
  31. package/dist/components/vue-ui-annotator.js +2 -5
  32. package/dist/components/vue-ui-bullet.js +2 -5
  33. package/dist/components/vue-ui-bump.js +2 -5
  34. package/dist/components/vue-ui-candlestick.js +2 -5
  35. package/dist/components/vue-ui-carousel-table.js +2 -5
  36. package/dist/components/vue-ui-chestnut.js +2 -5
  37. package/dist/components/vue-ui-chord.js +2 -5
  38. package/dist/components/vue-ui-circle-pack.js +2 -5
  39. package/dist/components/vue-ui-cursor.js +2 -5
  40. package/dist/components/vue-ui-dag.js +2 -5
  41. package/dist/components/vue-ui-dashboard.js +2 -5
  42. package/dist/components/vue-ui-digits.js +2 -5
  43. package/dist/components/vue-ui-donut-evolution.js +2 -5
  44. package/dist/components/vue-ui-donut.js +2 -5
  45. package/dist/components/vue-ui-dumbbell.js +2 -5
  46. package/dist/components/vue-ui-flow.js +2 -5
  47. package/dist/components/vue-ui-funnel.js +2 -5
  48. package/dist/components/vue-ui-galaxy.js +2 -5
  49. package/dist/components/vue-ui-gauge.js +2 -5
  50. package/dist/components/vue-ui-geo.js +2 -5
  51. package/dist/components/vue-ui-gizmo.js +2 -5
  52. package/dist/components/vue-ui-heatmap.js +2 -5
  53. package/dist/components/vue-ui-history-plot.js +2 -5
  54. package/dist/components/vue-ui-horizontal-bar.js +2 -5
  55. package/dist/components/vue-ui-icon.js +2 -5
  56. package/dist/components/vue-ui-kpi.js +2 -5
  57. package/dist/components/vue-ui-mini-loader.js +2 -5
  58. package/dist/components/vue-ui-molecule.js +2 -5
  59. package/dist/components/vue-ui-mood-radar.js +2 -5
  60. package/dist/components/vue-ui-nested-donuts.js +2 -5
  61. package/dist/components/vue-ui-onion.js +2 -5
  62. package/dist/components/vue-ui-parallel-coordinate-plot.js +2 -5
  63. package/dist/components/vue-ui-pattern-seed.js +2 -5
  64. package/dist/components/vue-ui-pattern.js +2 -5
  65. package/dist/components/vue-ui-quadrant.js +2 -5
  66. package/dist/components/vue-ui-quick-chart.js +2 -5
  67. package/dist/components/vue-ui-radar.js +2 -5
  68. package/dist/components/vue-ui-rating.js +2 -5
  69. package/dist/components/vue-ui-relation-circle.js +2 -5
  70. package/dist/components/vue-ui-ridgeline.js +2 -5
  71. package/dist/components/vue-ui-rings.js +2 -5
  72. package/dist/components/vue-ui-scatter.js +2 -5
  73. package/dist/components/vue-ui-skeleton.js +2 -5
  74. package/dist/components/vue-ui-smiley.js +2 -5
  75. package/dist/components/vue-ui-spark-trend.js +2 -5
  76. package/dist/components/vue-ui-sparkbar.js +2 -5
  77. package/dist/components/vue-ui-sparkgauge.js +2 -5
  78. package/dist/components/vue-ui-sparkhistogram.js +2 -5
  79. package/dist/components/vue-ui-sparkline.js +2 -5
  80. package/dist/components/vue-ui-sparkstackbar.js +2 -5
  81. package/dist/components/vue-ui-stackbar.js +2 -5
  82. package/dist/components/vue-ui-stackline.js +2 -5
  83. package/dist/components/vue-ui-strip-plot.js +2 -5
  84. package/dist/components/vue-ui-table-heatmap.js +2 -5
  85. package/dist/components/vue-ui-table-sparkline.js +2 -5
  86. package/dist/components/vue-ui-table.js +2 -5
  87. package/dist/components/vue-ui-thermometer.js +2 -5
  88. package/dist/components/vue-ui-timer.js +2 -5
  89. package/dist/components/vue-ui-tiremarks.js +2 -5
  90. package/dist/components/vue-ui-treemap.js +2 -5
  91. package/dist/components/vue-ui-vertical-bar.js +2 -5
  92. package/dist/components/vue-ui-waffle.js +2 -5
  93. package/dist/components/vue-ui-wheel.js +2 -5
  94. package/dist/components/vue-ui-word-cloud.js +2 -5
  95. package/dist/components/vue-ui-world.js +2 -5
  96. package/dist/components/vue-ui-xy-canvas.js +2 -5
  97. package/dist/components/vue-ui-xy.js +2 -5
  98. package/dist/dom-to-png-C9UOX1d2.js +237 -0
  99. package/dist/exposedLib-BQjH823l.js +19 -0
  100. package/dist/geoProjections-CQIkC70z.js +146 -0
  101. package/dist/img-NMY-_LiJ.js +74 -0
  102. package/dist/labelUtils-BiSegLOT.js +19 -0
  103. package/dist/lib-B83ZCydz.js +1879 -0
  104. package/dist/patternUtils-B7BWu5bV.js +258 -0
  105. package/dist/pdf-Ey2KFETK.js +90 -0
  106. package/dist/rolldown-runtime-CAFD8bLK.js +11 -0
  107. package/dist/style.css +2 -1
  108. package/dist/types/arrow.d.ts +1 -1
  109. package/dist/types/utils.d.ts +23 -0
  110. package/dist/types/vue-data-ui.d.ts +4766 -630
  111. package/dist/types/vue-ui-3d-bar.d.ts +64 -9
  112. package/dist/types/vue-ui-accordion.d.ts +4 -3
  113. package/dist/types/vue-ui-age-pyramid.d.ts +79 -9
  114. package/dist/types/vue-ui-annotator.d.ts +3 -5
  115. package/dist/types/vue-ui-bullet.d.ts +60 -9
  116. package/dist/types/vue-ui-bump.d.ts +65 -9
  117. package/dist/types/vue-ui-candlestick.d.ts +83 -9
  118. package/dist/types/vue-ui-carousel-table.d.ts +36 -6
  119. package/dist/types/vue-ui-chestnut.d.ts +66 -9
  120. package/dist/types/vue-ui-chord.d.ts +78 -9
  121. package/dist/types/vue-ui-circle-pack.d.ts +86 -9
  122. package/dist/types/vue-ui-cursor.d.ts +4 -2
  123. package/dist/types/vue-ui-dag.d.ts +92 -9
  124. package/dist/types/vue-ui-dashboard.d.ts +43 -6
  125. package/dist/types/vue-ui-digits.d.ts +4 -2
  126. package/dist/types/vue-ui-donut-evolution.d.ts +70 -9
  127. package/dist/types/vue-ui-donut.d.ts +92 -9
  128. package/dist/types/vue-ui-dumbbell.d.ts +65 -9
  129. package/dist/types/vue-ui-flow.d.ts +79 -9
  130. package/dist/types/vue-ui-funnel.d.ts +55 -9
  131. package/dist/types/vue-ui-galaxy.d.ts +83 -9
  132. package/dist/types/vue-ui-gauge.d.ts +64 -9
  133. package/dist/types/vue-ui-geo.d.ts +71 -9
  134. package/dist/types/vue-ui-gizmo.d.ts +17 -6
  135. package/dist/types/vue-ui-heatmap.d.ts +73 -9
  136. package/dist/types/vue-ui-history-plot.d.ts +82 -9
  137. package/dist/types/vue-ui-horizontal-bar.d.ts +84 -9
  138. package/dist/types/vue-ui-icon.d.ts +2 -2
  139. package/dist/types/vue-ui-kpi.d.ts +21 -7
  140. package/dist/types/vue-ui-mini-loader.d.ts +5 -3
  141. package/dist/types/vue-ui-molecule.d.ts +86 -9
  142. package/dist/types/vue-ui-mood-radar.d.ts +66 -9
  143. package/dist/types/vue-ui-nested-donuts.d.ts +80 -9
  144. package/dist/types/vue-ui-onion.d.ts +77 -9
  145. package/dist/types/vue-ui-parallel-coordinate-plot.d.ts +92 -9
  146. package/dist/types/vue-ui-pattern-seed.d.ts +1 -1
  147. package/dist/types/vue-ui-pattern.d.ts +2 -2
  148. package/dist/types/vue-ui-quadrant.d.ts +86 -9
  149. package/dist/types/vue-ui-quick-chart.d.ts +79 -9
  150. package/dist/types/vue-ui-radar.d.ts +83 -9
  151. package/dist/types/vue-ui-rating.d.ts +22 -6
  152. package/dist/types/vue-ui-relation-circle.d.ts +66 -9
  153. package/dist/types/vue-ui-ridgeline.d.ts +69 -9
  154. package/dist/types/vue-ui-rings.d.ts +70 -9
  155. package/dist/types/vue-ui-scatter.d.ts +67 -9
  156. package/dist/types/vue-ui-skeleton.d.ts +3 -2
  157. package/dist/types/vue-ui-smiley.d.ts +3 -2
  158. package/dist/types/vue-ui-spark-trend.d.ts +14 -6
  159. package/dist/types/vue-ui-sparkbar.d.ts +27 -6
  160. package/dist/types/vue-ui-sparkgauge.d.ts +20 -6
  161. package/dist/types/vue-ui-sparkhistogram.d.ts +24 -6
  162. package/dist/types/vue-ui-sparkline.d.ts +35 -6
  163. package/dist/types/vue-ui-sparkstackbar.d.ts +35 -6
  164. package/dist/types/vue-ui-stackbar.d.ts +85 -9
  165. package/dist/types/vue-ui-stackline.d.ts +81 -9
  166. package/dist/types/vue-ui-strip-plot.d.ts +66 -9
  167. package/dist/types/vue-ui-table-heatmap.d.ts +52 -6
  168. package/dist/types/vue-ui-table-sparkline.d.ts +30 -6
  169. package/dist/types/vue-ui-table.d.ts +10 -2
  170. package/dist/types/vue-ui-thermometer.d.ts +46 -9
  171. package/dist/types/vue-ui-timer.d.ts +31 -5
  172. package/dist/types/vue-ui-tiremarks.d.ts +46 -9
  173. package/dist/types/vue-ui-treemap.d.ts +73 -9
  174. package/dist/types/vue-ui-vertical-bar.d.ts +2 -2
  175. package/dist/types/vue-ui-waffle.d.ts +72 -9
  176. package/dist/types/vue-ui-wheel.d.ts +46 -9
  177. package/dist/types/vue-ui-word-cloud.d.ts +73 -9
  178. package/dist/types/vue-ui-world.d.ts +68 -9
  179. package/dist/types/vue-ui-xy-canvas.d.ts +75 -9
  180. package/dist/types/vue-ui-xy.d.ts +108 -10
  181. package/dist/useAutoSizeLabelsInsideViewbox-De0rTecW.js +50 -0
  182. package/dist/useChartAccessibility-Do37qcw2.js +12 -0
  183. package/dist/useConfig-KnOLHtlJ.js +7419 -0
  184. package/dist/useFitSvgText-C-MEdAfe.js +63 -0
  185. package/dist/useNestedProp-CcxL1gUU.js +10 -0
  186. package/dist/useObjectBindings-Dc8Rf6Qy.js +189 -0
  187. package/dist/usePanZoom-B-4M_gmY.js +157 -0
  188. package/dist/usePrefersMotion-BywLbIko.js +15 -0
  189. package/dist/usePrinter-CMLF900n.js +49 -0
  190. package/dist/useResponsive-CrAInupd.js +19 -0
  191. package/dist/useStableElementSize-0I1IpHPl.js +77 -0
  192. package/dist/useSvgExport-Dtu973wa.js +755 -0
  193. package/dist/useTableResponsive-DrM1xqII.js +24 -0
  194. package/dist/useThemeCheck-rFK9Zlb_.js +24 -0
  195. package/dist/useTimeLabelCollider-Dm55Emzg.js +57 -0
  196. package/dist/useTimeLabels-C0x7zUXP.js +272 -0
  197. package/dist/useUserOptionState-CjPJPTg2.js +15 -0
  198. package/dist/utils.js +27 -44
  199. package/dist/vClickOutside-CbX_bC9A.js +13 -0
  200. package/dist/vue-data-ui-D1REqS_k.js +274 -0
  201. package/dist/vue-data-ui.js +76 -167
  202. package/dist/vue-ui-3d-bar-vO_kSCd6.js +1747 -0
  203. package/dist/vue-ui-accordion-Cf-jZELj.js +81 -0
  204. package/dist/vue-ui-age-pyramid-DHXhrP_3.js +1226 -0
  205. package/dist/vue-ui-annotator-B0o6czmF.js +2899 -0
  206. package/dist/vue-ui-bullet-C93-cf0H.js +700 -0
  207. package/dist/vue-ui-bump-C_Szk9AZ.js +1239 -0
  208. package/dist/vue-ui-candlestick-6JdMEJKO.js +1802 -0
  209. package/dist/vue-ui-carousel-table-CZ_HK0Iw.js +445 -0
  210. package/dist/vue-ui-chestnut-B8ixU585.js +2000 -0
  211. package/dist/vue-ui-chord-DC5sLapz.js +1381 -0
  212. package/dist/vue-ui-circle-pack-CsmSEwt3.js +1183 -0
  213. package/dist/vue-ui-cursor-B-QODIL3.js +283 -0
  214. package/dist/vue-ui-dag-C9LYfjS_.js +2899 -0
  215. package/dist/vue-ui-dashboard-D-f4ZaLi.js +503 -0
  216. package/dist/vue-ui-digits-CcB3odN7.js +209 -0
  217. package/dist/vue-ui-donut-DR0ngnZC.js +2396 -0
  218. package/dist/vue-ui-donut-evolution-BXpOscCe.js +1490 -0
  219. package/dist/vue-ui-dumbbell-CB_clJWA.js +1517 -0
  220. package/dist/vue-ui-flow-CUiOAEy1.js +1223 -0
  221. package/dist/vue-ui-funnel-BAlGDK0o.js +767 -0
  222. package/dist/vue-ui-galaxy-DbYNfSHb.js +1062 -0
  223. package/dist/vue-ui-gauge-Cie7jykM.js +910 -0
  224. package/dist/vue-ui-geo-Ce_gBRye.js +1504 -0
  225. package/dist/vue-ui-gizmo-B9POi_SN.js +225 -0
  226. package/dist/vue-ui-heatmap-DFfRSbnk.js +1556 -0
  227. package/dist/vue-ui-history-plot-DHp5WFgx.js +1551 -0
  228. package/dist/vue-ui-horizontal-bar-DI4yoARv.js +1669 -0
  229. package/dist/vue-ui-kpi-oUfso4UP.js +96 -0
  230. package/dist/vue-ui-mini-loader-aZMi1_uX.js +125 -0
  231. package/dist/vue-ui-molecule-D72kzel_.js +912 -0
  232. package/dist/vue-ui-mood-radar-Tw2ZFP7Y.js +1138 -0
  233. package/dist/vue-ui-nested-donuts-Bza1LczX.js +1472 -0
  234. package/dist/vue-ui-onion-BOuuib5d.js +1188 -0
  235. package/dist/vue-ui-parallel-coordinate-plot-BuQUq6-o.js +1413 -0
  236. package/dist/vue-ui-pattern-Bj-IPFr2.js +154 -0
  237. package/dist/vue-ui-pattern-seed-abRweCDE.js +61 -0
  238. package/dist/vue-ui-quadrant-zNFIXNt9.js +1966 -0
  239. package/dist/vue-ui-quick-chart-B1a8QVUn.js +2459 -0
  240. package/dist/vue-ui-radar-VFn-YP_2.js +1214 -0
  241. package/dist/vue-ui-rating-Dxgn21FA.js +343 -0
  242. package/dist/vue-ui-relation-circle-B0sZaCgX.js +914 -0
  243. package/dist/vue-ui-ridgeline-BsBAbg5V.js +1612 -0
  244. package/dist/vue-ui-rings-CDwUzMF-.js +1231 -0
  245. package/dist/vue-ui-scatter-Du_b-zM8.js +2380 -0
  246. package/dist/vue-ui-skeleton-BAq6J_6G.js +2556 -0
  247. package/dist/vue-ui-smiley-CoHvkS0c.js +356 -0
  248. package/dist/vue-ui-spark-trend-BmCcJ17C.js +438 -0
  249. package/dist/vue-ui-sparkbar-9z05IMx8.js +393 -0
  250. package/dist/vue-ui-sparkgauge-BlWri9DP.js +255 -0
  251. package/dist/vue-ui-sparkhistogram-CHZTt8d8.js +560 -0
  252. package/dist/vue-ui-sparkline-DirLW9Nd.js +1503 -0
  253. package/dist/vue-ui-sparkstackbar-Dk6cEI2o.js +660 -0
  254. package/dist/vue-ui-stackbar-DNIrGHkt.js +2235 -0
  255. package/dist/vue-ui-stackline-HoWn_ur2.js +2362 -0
  256. package/dist/vue-ui-strip-plot-Bi8u_fLr.js +1328 -0
  257. package/dist/vue-ui-table-XLjOOfdI.js +1338 -0
  258. package/dist/vue-ui-table-heatmap-DvnFiveI.js +334 -0
  259. package/dist/vue-ui-table-sparkline-CSZf8XxP.js +697 -0
  260. package/dist/vue-ui-thermometer-7eUO_7CP.js +753 -0
  261. package/dist/vue-ui-timer-DCbxsREb.js +439 -0
  262. package/dist/vue-ui-tiremarks-p_sfTufv.js +542 -0
  263. package/dist/vue-ui-treemap-BdZOW7TM.js +1575 -0
  264. package/dist/vue-ui-waffle-Bf9dWWCM.js +1350 -0
  265. package/dist/vue-ui-wheel-CZrIiB0K.js +875 -0
  266. package/dist/vue-ui-word-cloud-BeLjxoRe.js +1644 -0
  267. package/dist/vue-ui-world-D9ahzEQ2.js +14252 -0
  268. package/dist/vue-ui-xy-DrvbVuHO.js +4063 -0
  269. package/dist/vue-ui-xy-canvas-DU7vFrQr.js +1774 -0
  270. package/dist/vue_ui_3d_bar-CXKqO5Ej.js +185 -0
  271. package/dist/vue_ui_age_pyramid-BON8QI6X.js +301 -0
  272. package/dist/vue_ui_bullet-CE5sFT7u.js +186 -0
  273. package/dist/vue_ui_bump-frnXaXul.js +201 -0
  274. package/dist/vue_ui_candlestick-sY6UtOop.js +374 -0
  275. package/dist/vue_ui_chestnut-BiUZFv40.js +305 -0
  276. package/dist/vue_ui_chord-DpyR_b9A.js +275 -0
  277. package/dist/vue_ui_circle_pack-DBKz_Fi_.js +130 -0
  278. package/dist/vue_ui_dag-Ci_MOnvd.js +258 -0
  279. package/dist/vue_ui_donut-Cx2_BGcQ.js +358 -0
  280. package/dist/vue_ui_donut_evolution-CAJefrHs.js +717 -0
  281. package/dist/vue_ui_dumbbell-CClzAZTN.js +304 -0
  282. package/dist/vue_ui_flow-CCHO1Lo9.js +238 -0
  283. package/dist/vue_ui_funnel-h8q2mRpC.js +234 -0
  284. package/dist/vue_ui_galaxy-70vtkEBw.js +265 -0
  285. package/dist/vue_ui_gauge-C17CgfzN.js +178 -0
  286. package/dist/vue_ui_geo-C0UbQ0Lc.js +248 -0
  287. package/dist/vue_ui_heatmap-BqPP3J4M.js +319 -0
  288. package/dist/vue_ui_history_plot-C5nytDHh.js +413 -0
  289. package/dist/vue_ui_horizontal_bar-Bqxorkc_.js +341 -0
  290. package/dist/vue_ui_molecule-Dka4JBOp.js +231 -0
  291. package/dist/vue_ui_mood_radar-Dg4ijm53.js +281 -0
  292. package/dist/vue_ui_nested_donuts-BY9cOoHF.js +273 -0
  293. package/dist/vue_ui_onion-DTV9cup-.js +293 -0
  294. package/dist/vue_ui_parallel_coordinate_plot-CNWrDh96.js +278 -0
  295. package/dist/vue_ui_quadrant-3kjYvxpj.js +428 -0
  296. package/dist/vue_ui_quick_chart--VaYQuM4.js +139 -0
  297. package/dist/vue_ui_radar-Dxx9GJmj.js +306 -0
  298. package/dist/vue_ui_relation_circle-Cr0I2SoU.js +98 -0
  299. package/dist/vue_ui_ridgeline-CAtYca4b.js +767 -0
  300. package/dist/vue_ui_rings-DXC1VeX5.js +320 -0
  301. package/dist/vue_ui_scatter-D2S2j0ap.js +479 -0
  302. package/dist/vue_ui_spark_trend-BHMQ6_1p.js +82 -0
  303. package/dist/vue_ui_sparkbar-BR6hbuDE.js +64 -0
  304. package/dist/vue_ui_sparkgauge-xfPRHnMv.js +90 -0
  305. package/dist/vue_ui_sparkhistogram-CJRENZ1C.js +123 -0
  306. package/dist/vue_ui_sparkline-wgk7yO7E.js +151 -0
  307. package/dist/vue_ui_sparkstackbar-C5qZMmAl.js +175 -0
  308. package/dist/vue_ui_stackbar-BW_C3MXw.js +412 -0
  309. package/dist/vue_ui_stackline-DpI2LnjO.js +426 -0
  310. package/dist/vue_ui_strip_plot-8ZelqC5b.js +301 -0
  311. package/dist/vue_ui_table_heatmap-BGUjA0WA.js +80 -0
  312. package/dist/vue_ui_table_sparkline-i0Q-N_we.js +124 -0
  313. package/dist/vue_ui_thermometer-CuN7Gpez.js +123 -0
  314. package/dist/vue_ui_tiremarks-A6UHC0c3.js +122 -0
  315. package/dist/vue_ui_treemap-BQp06q-g.js +328 -0
  316. package/dist/vue_ui_vertical_bar-CJSD1FZS.js +247 -0
  317. package/dist/vue_ui_waffle-C_Ev4l7B.js +292 -0
  318. package/dist/vue_ui_wheel-DdkTPXJU.js +133 -0
  319. package/dist/vue_ui_word_cloud-B1PbsYPc.js +254 -0
  320. package/dist/vue_ui_xy-BYPqfYyx.js +482 -0
  321. package/dist/vue_ui_xy_canvas-CMHGNrLf.js +408 -0
  322. package/package.json +7 -7
  323. package/dist/A11yDataTable-BpmuNomI.js +0 -54
  324. package/dist/Arrow-dSvLFssU.js +0 -101
  325. package/dist/BaseDraggableDialog-Di8Hlru3.js +0 -249
  326. package/dist/BaseIcon-DX0hTWa-.js +0 -476
  327. package/dist/BaseLegendToggle-cMP8M2u0.js +0 -47
  328. package/dist/BaseScanner-C2j3TsSY.js +0 -36
  329. package/dist/BaseZoomControls-CVSC1-SU.js +0 -123
  330. package/dist/ColorPicker-bAxGcXK0.js +0 -271
  331. package/dist/DataTable-cMnb68Ik.js +0 -145
  332. package/dist/Legend-DGN5lY60.js +0 -104
  333. package/dist/NonSvgPenAndPaper-B6E0zEYe.js +0 -573
  334. package/dist/PackageVersion-BfrCAH6_.js +0 -10
  335. package/dist/PenAndPaper-CJDoB5H9.js +0 -527
  336. package/dist/RecursiveCircles-BE6GoMmo.js +0 -101
  337. package/dist/RecursiveLabels-BhQMS9Sm.js +0 -55
  338. package/dist/RecursiveLinks-BDwyYfP-.js +0 -83
  339. package/dist/Shape-CxJ5_Rre.js +0 -116
  340. package/dist/Slicer-D7UcO8sN.js +0 -1145
  341. package/dist/SlicerPreview-D_CgrN_7.js +0 -1580
  342. package/dist/SparkTooltip-D4bM-kfz.js +0 -68
  343. package/dist/Title-BbKoiBk2.js +0 -88
  344. package/dist/Tooltip-Cvt7Fi0Q.js +0 -299
  345. package/dist/UserOptions-DVduN6X7.js +0 -1474
  346. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  347. package/dist/dom-to-png-DGvx6i5V.js +0 -262
  348. package/dist/exposedLib-sJvY1pST.js +0 -22
  349. package/dist/geoProjections-BFq2sOBY.js +0 -162
  350. package/dist/img-CjTQXS0U.js +0 -57
  351. package/dist/labelUtils-DX9oyq3C.js +0 -26
  352. package/dist/lib-DMzrGQHK.js +0 -2477
  353. package/dist/patternUtils-BINhU4Ky.js +0 -615
  354. package/dist/pdf-C4H4o1Cj.js +0 -88
  355. package/dist/useAutoSizeLabelsInsideViewbox-izlGDfwu.js +0 -55
  356. package/dist/useChartAccessibility-cp6XQtqi.js +0 -15
  357. package/dist/useConfig-CG4HT3wS.js +0 -7901
  358. package/dist/useFitSvgText-2crs6Fv5.js +0 -69
  359. package/dist/useNestedProp-DH0BEVVS.js +0 -13
  360. package/dist/useObjectBindings-Dixg-RIe.js +0 -228
  361. package/dist/usePanZoom-BbDhcKWf.js +0 -141
  362. package/dist/usePrefersMotion-Co0nj1eS.js +0 -17
  363. package/dist/usePrinter-C4t8DdQ-.js +0 -51
  364. package/dist/useResponsive-DfdjqQps.js +0 -195
  365. package/dist/useStableElementSize-C48ZVcZQ.js +0 -77
  366. package/dist/useSvgExport-BTG4hVPO.js +0 -870
  367. package/dist/useTableResponsive-BpfiEtzR.js +0 -26
  368. package/dist/useThemeCheck-C9Ccl7U9.js +0 -36
  369. package/dist/useTimeLabelCollider-D3JeJ6Ye.js +0 -86
  370. package/dist/useTimeLabels-Cv0tD9In.js +0 -307
  371. package/dist/useUserOptionState-B7Ej974k.js +0 -19
  372. package/dist/vClickOutside-C6WiFswA.js +0 -13
  373. package/dist/vue-data-ui-D1ZI7Y4l.js +0 -433
  374. package/dist/vue-ui-3d-bar-DEjKYzI5.js +0 -1824
  375. package/dist/vue-ui-accordion-DFtpH_16.js +0 -92
  376. package/dist/vue-ui-age-pyramid-LiC9hTjP.js +0 -1179
  377. package/dist/vue-ui-annotator-DrKnQoHf.js +0 -2991
  378. package/dist/vue-ui-bullet-DdxEINdq.js +0 -769
  379. package/dist/vue-ui-bump-CdgO1V7z.js +0 -1250
  380. package/dist/vue-ui-candlestick-DxJnPwto.js +0 -1775
  381. package/dist/vue-ui-carousel-table-CMefu5TI.js +0 -487
  382. package/dist/vue-ui-chestnut-BnGN72PO.js +0 -2001
  383. package/dist/vue-ui-chord-DWyar45U.js +0 -1457
  384. package/dist/vue-ui-circle-pack-CQ8vF2XH.js +0 -1076
  385. package/dist/vue-ui-cursor-HHOdkmyB.js +0 -260
  386. package/dist/vue-ui-dag-BDWPBElq.js +0 -3209
  387. package/dist/vue-ui-dashboard-Dg_I3X2a.js +0 -627
  388. package/dist/vue-ui-digits-CZmdir8V.js +0 -211
  389. package/dist/vue-ui-donut-BKegKHxj.js +0 -2608
  390. package/dist/vue-ui-donut-evolution-047dE4Lu.js +0 -1578
  391. package/dist/vue-ui-dumbbell-BL4ZMChj.js +0 -1552
  392. package/dist/vue-ui-flow-BAqtyunQ.js +0 -1279
  393. package/dist/vue-ui-funnel-Pl2sEOZs.js +0 -823
  394. package/dist/vue-ui-galaxy-CBF5Wsax.js +0 -1108
  395. package/dist/vue-ui-gauge-COV_S0Vp.js +0 -955
  396. package/dist/vue-ui-geo-CaPXElPf.js +0 -1510
  397. package/dist/vue-ui-gizmo-Csn7up96.js +0 -238
  398. package/dist/vue-ui-heatmap-Cpb0BYLa.js +0 -1694
  399. package/dist/vue-ui-history-plot-ZZEdzFCE.js +0 -1564
  400. package/dist/vue-ui-horizontal-bar-BonPYUZf.js +0 -1735
  401. package/dist/vue-ui-kpi-DoHhSsDK.js +0 -130
  402. package/dist/vue-ui-mini-loader-DOTBVCLE.js +0 -138
  403. package/dist/vue-ui-molecule-mVYnXouV.js +0 -945
  404. package/dist/vue-ui-mood-radar-DPvwnc3z.js +0 -1197
  405. package/dist/vue-ui-nested-donuts-C7E6TXrZ.js +0 -1702
  406. package/dist/vue-ui-onion-BGIlFhGB.js +0 -1207
  407. package/dist/vue-ui-parallel-coordinate-plot-C6G_A9ua.js +0 -1432
  408. package/dist/vue-ui-pattern-mXZW_pvA.js +0 -146
  409. package/dist/vue-ui-pattern-seed-BcNlxb2i.js +0 -36
  410. package/dist/vue-ui-quadrant-CVpIeYOB.js +0 -1918
  411. package/dist/vue-ui-quick-chart-CcV8qn9-.js +0 -2514
  412. package/dist/vue-ui-radar-G4AV1rBo.js +0 -1259
  413. package/dist/vue-ui-rating-CqPlP88P.js +0 -370
  414. package/dist/vue-ui-relation-circle-CkZ8oFVV.js +0 -856
  415. package/dist/vue-ui-ridgeline-CBTyYn6Q.js +0 -1737
  416. package/dist/vue-ui-rings-CSIOqFiP.js +0 -1256
  417. package/dist/vue-ui-scatter-AuC46ufT.js +0 -2345
  418. package/dist/vue-ui-skeleton-YD6rZjY_.js +0 -2475
  419. package/dist/vue-ui-smiley-CY0WFv2j.js +0 -391
  420. package/dist/vue-ui-spark-trend-D8KGIt-R.js +0 -423
  421. package/dist/vue-ui-sparkbar-BjWGJjzN.js +0 -424
  422. package/dist/vue-ui-sparkgauge-Dab5mss7.js +0 -285
  423. package/dist/vue-ui-sparkhistogram-D0rsmiPh.js +0 -559
  424. package/dist/vue-ui-sparkline-BCaauQuX.js +0 -1550
  425. package/dist/vue-ui-sparkstackbar-NT5yD6xA.js +0 -672
  426. package/dist/vue-ui-stackbar-ChBk_A1c.js +0 -2393
  427. package/dist/vue-ui-stackline-Cujamlze.js +0 -2490
  428. package/dist/vue-ui-strip-plot-CGBumG6I.js +0 -1293
  429. package/dist/vue-ui-table-BX2iMku4.js +0 -1726
  430. package/dist/vue-ui-table-heatmap-KXgXYVXm.js +0 -353
  431. package/dist/vue-ui-table-sparkline-C3NWnry0.js +0 -803
  432. package/dist/vue-ui-thermometer-DvdceZB1.js +0 -743
  433. package/dist/vue-ui-timer-XWAbvuAY.js +0 -504
  434. package/dist/vue-ui-tiremarks-B-YI1RlT.js +0 -578
  435. package/dist/vue-ui-treemap-AzorGfmd.js +0 -1757
  436. package/dist/vue-ui-waffle-CKtUvdTE.js +0 -1442
  437. package/dist/vue-ui-wheel-CnsLEArZ.js +0 -908
  438. package/dist/vue-ui-word-cloud-iAme2ihe.js +0 -1644
  439. package/dist/vue-ui-world-D5rrC9rw.js +0 -14452
  440. package/dist/vue-ui-xy-C_Q9chQe.js +0 -4468
  441. package/dist/vue-ui-xy-canvas-DG0299qE.js +0 -2107
  442. package/dist/vue_ui_3d_bar-CL0iX8Qi.js +0 -22
  443. package/dist/vue_ui_age_pyramid-8H8WSL7J.js +0 -22
  444. package/dist/vue_ui_bullet-Ckqieba5.js +0 -22
  445. package/dist/vue_ui_bump-CIht647H.js +0 -22
  446. package/dist/vue_ui_candlestick-BAMn-VGw.js +0 -22
  447. package/dist/vue_ui_chestnut-BloFvDuV.js +0 -22
  448. package/dist/vue_ui_chord-Bc1_ocwK.js +0 -22
  449. package/dist/vue_ui_circle_pack-CLmw8nHe.js +0 -22
  450. package/dist/vue_ui_dag-ZOwuDBZ8.js +0 -22
  451. package/dist/vue_ui_donut-CA4dgV8J.js +0 -22
  452. package/dist/vue_ui_donut_evolution-DFQU-rqE.js +0 -22
  453. package/dist/vue_ui_dumbbell-BCOHDiPk.js +0 -22
  454. package/dist/vue_ui_flow-BErINgox.js +0 -22
  455. package/dist/vue_ui_funnel-yuaMZ-yb.js +0 -22
  456. package/dist/vue_ui_galaxy-D95AN4FT.js +0 -22
  457. package/dist/vue_ui_gauge-BMEuRC4J.js +0 -22
  458. package/dist/vue_ui_geo--kg4VoVX.js +0 -22
  459. package/dist/vue_ui_heatmap-C9u993qE.js +0 -22
  460. package/dist/vue_ui_history_plot-BCKk1CrQ.js +0 -22
  461. package/dist/vue_ui_horizontal_bar-BEagrV0T.js +0 -22
  462. package/dist/vue_ui_molecule-BtvlINUh.js +0 -22
  463. package/dist/vue_ui_mood_radar-BUs6Fdn8.js +0 -22
  464. package/dist/vue_ui_nested_donuts-DvTrWT_C.js +0 -22
  465. package/dist/vue_ui_onion-CxWH9_OZ.js +0 -22
  466. package/dist/vue_ui_parallel_coordinate_plot-DH3cFJ3n.js +0 -22
  467. package/dist/vue_ui_quadrant-DjRs--Uz.js +0 -22
  468. package/dist/vue_ui_quick_chart-DMCjEjPe.js +0 -22
  469. package/dist/vue_ui_radar-DryGBOrz.js +0 -22
  470. package/dist/vue_ui_relation_circle-CCroen7h.js +0 -22
  471. package/dist/vue_ui_ridgeline-j4rVmpEp.js +0 -22
  472. package/dist/vue_ui_rings-CxOrekqA.js +0 -22
  473. package/dist/vue_ui_scatter-Bu1EAy9H.js +0 -22
  474. package/dist/vue_ui_spark_trend-3BjrSprO.js +0 -22
  475. package/dist/vue_ui_sparkbar-BsMzz5Um.js +0 -22
  476. package/dist/vue_ui_sparkgauge-KnjASOZs.js +0 -22
  477. package/dist/vue_ui_sparkhistogram-GBdzIVvS.js +0 -22
  478. package/dist/vue_ui_sparkline-CQ8DJVJx.js +0 -22
  479. package/dist/vue_ui_sparkstackbar-BSexvOuM.js +0 -22
  480. package/dist/vue_ui_stackbar-CuDC4O4b.js +0 -22
  481. package/dist/vue_ui_stackline-QTh-nuxE.js +0 -22
  482. package/dist/vue_ui_strip_plot-B9ypi_F3.js +0 -22
  483. package/dist/vue_ui_table_heatmap-CkvipPVy.js +0 -16
  484. package/dist/vue_ui_table_sparkline-yQdijcyJ.js +0 -22
  485. package/dist/vue_ui_thermometer-BTmjRBH8.js +0 -22
  486. package/dist/vue_ui_tiremarks-DBotWfi8.js +0 -22
  487. package/dist/vue_ui_treemap-D9-AIkT-.js +0 -22
  488. package/dist/vue_ui_vertical_bar-CELc39b8.js +0 -18
  489. package/dist/vue_ui_waffle-M2h-uJQ_.js +0 -22
  490. package/dist/vue_ui_wheel-LqBz3lv4.js +0 -22
  491. package/dist/vue_ui_word_cloud-mKAtBxHR.js +0 -22
  492. package/dist/vue_ui_xy-esktmpg-.js +0 -22
  493. package/dist/vue_ui_xy_canvas-6BBDSowT.js +0 -22
@@ -0,0 +1,1472 @@
1
+ import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
2
+ import { Et as t, G as n, H as r, J as i, Lt as a, S as o, St as s, Tt as c, X as l, Y as ee, bt as te, d as ne, i as u, jt as re, kt as d, n as ie, nt as ae, pt as oe, t as se, u as ce, v as le, x as ue, y as de, zt as fe } from "./lib-B83ZCydz.js";
3
+ import { t as pe } from "./useConfig-KnOLHtlJ.js";
4
+ import { t as me } from "./usePrinter-CMLF900n.js";
5
+ import { n as he, t as ge } from "./BaseScanner-C7dmAref.js";
6
+ import { t as _e } from "./useSvgExport-Dtu973wa.js";
7
+ import { t as ve } from "./useNestedProp-CcxL1gUU.js";
8
+ import { t as ye } from "./useThemeCheck-rFK9Zlb_.js";
9
+ import { t as be } from "./img-NMY-_LiJ.js";
10
+ import { n as xe } from "./Title-ByyzJzpc.js";
11
+ import { t as Se } from "./_plugin-vue_export-helper-Dq1MygBL.js";
12
+ import { c as Ce } from "./canvas-lib-DTaADQOK.js";
13
+ import { t as we } from "./useResponsive-CrAInupd.js";
14
+ import { t as Te } from "./BaseLegendToggle-BvPOFMVZ.js";
15
+ import { t as Ee } from "./A11yDataTable-q2-8fSlJ.js";
16
+ import { t as De } from "./useUserOptionState-CjPJPTg2.js";
17
+ import { t as Oe } from "./useChartAccessibility-Do37qcw2.js";
18
+ import { t as ke } from "./labelUtils-BiSegLOT.js";
19
+ import { t as Ae } from "./Legend-BPb8i4aC.js";
20
+ import { t as je } from "./vue_ui_nested_donuts-BY9cOoHF.js";
21
+ import { Fragment as f, Teleport as Me, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createSlots as Ne, createTextVNode as Pe, createVNode as Fe, defineAsyncComponent as v, guardReactiveProps as y, mergeProps as Ie, nextTick as Le, normalizeClass as b, normalizeProps as x, normalizeStyle as Re, onBeforeUnmount as ze, onMounted as Be, openBlock as S, ref as C, renderList as w, renderSlot as T, resolveDynamicComponent as Ve, shallowRef as He, toDisplayString as E, toRefs as Ue, unref as D, vShow as We, watch as Ge, withCtx as O, withDirectives as Ke } from "vue";
22
+ //#region src/components/vue-ui-nested-donuts.vue
23
+ var qe = /* @__PURE__ */ e({ default: () => Dt }), Je = ["id"], Ye = ["id"], Xe = ["id"], Ze = { style: { position: "relative" } }, Qe = [
24
+ "xmlns",
25
+ "aria-describedby",
26
+ "viewBox"
27
+ ], $e = ["width", "height"], et = ["id"], tt = ["offset", "stop-color"], nt = ["offset", "stop-opacity"], rt = ["id"], it = ["id"], at = ["id"], ot = ["flood-color"], st = ["id", "d"], ct = [
28
+ "d",
29
+ "fill",
30
+ "stroke",
31
+ "stroke-width",
32
+ "filter"
33
+ ], lt = [
34
+ "d",
35
+ "fill",
36
+ "stroke",
37
+ "stroke-width"
38
+ ], ut = { key: 1 }, dt = ["d", "fill"], ft = { key: 2 }, pt = [
39
+ "font-size",
40
+ "font-weight",
41
+ "fill",
42
+ "dy"
43
+ ], mt = ["href"], ht = [
44
+ "x",
45
+ "y",
46
+ "font-size",
47
+ "font-weight",
48
+ "fill"
49
+ ], gt = { key: 3 }, _t = ["filter"], vt = [
50
+ "opacity",
51
+ "text-anchor",
52
+ "x",
53
+ "y",
54
+ "fill",
55
+ "font-size",
56
+ "font-weight"
57
+ ], yt = [
58
+ "opacity",
59
+ "text-anchor",
60
+ "x",
61
+ "y",
62
+ "fill",
63
+ "font-size",
64
+ "font-weight"
65
+ ], bt = [
66
+ "d",
67
+ "fill",
68
+ "onMouseenter",
69
+ "onClick",
70
+ "onMouseleave"
71
+ ], xt = {
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
+ }, St = {
82
+ key: 5,
83
+ class: "vue-data-ui-watermark"
84
+ }, Ct = ["id"], wt = {
85
+ key: 0,
86
+ class: "vue-ui-nested-donuts-legend-title"
87
+ }, Tt = ["onClick"], Et = ["innerHTML"], Dt = /* @__PURE__ */ Se({
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: Se, emit: qe }) {
109
+ let Dt = v(() => import("./Tooltip-V6Z0Ko-1.js")), Ot = v(() => import("./BaseIcon-CL6Y7alf.js").then((e) => e.n)), kt = v(() => import("./vue-ui-accordion-Cf-jZELj.js").then((e) => e.n)), At = v(() => import("./DataTable-ZG4GX2Zg.js")), jt = v(() => import("./UserOptions-Gaw1761w.js").then((e) => e.n)), Mt = v(() => import("./PenAndPaper-DxBCVZAx.js").then((e) => e.t)), Nt = v(() => import("./PackageVersion-B1cPtZ3Q.js").then((e) => e.t)), Pt = v(() => import("./BaseDraggableDialog-LE75fWYz.js").then((e) => e.n)), { vue_ui_nested_donuts: Ft } = pe(), { isThemeValid: It, warnInvalidTheme: Lt } = ye(), k = e, Rt = p({
110
+ get() {
111
+ return !!k.dataset && k.dataset.length;
112
+ },
113
+ set(e) {
114
+ return e;
115
+ }
116
+ }), A = C(r()), zt = C(!1), Bt = C(""), Vt = C(null), Ht = C(0), j = C(null), Ut = C(null), Wt = C(null), Gt = C(null), Kt = C(null), qt = C(0), Jt = C(0), Yt = C(0), M = C(!0), N = C([]), Xt = C([]), Zt = C(!1), Qt = C(null), $t = C(null), en = C(!1), tn = C(!1), P = C(null), nn = C({
117
+ x: 0,
118
+ y: 0
119
+ }), rn = C("pointer"), an = C(!1), F = C(!1);
120
+ function on(e) {
121
+ F.value = e, Ht.value += 1;
122
+ }
123
+ let I = C(mn()), L = p(() => I.value.userOptions.useCursorPointer), sn = {
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
+ }, cn = p(() => fe({
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: I.value.skeletonConfig ?? {}
163
+ })), { loading: ln, FINAL_DATASET: R, manualLoading: un } = he({
164
+ ...Ue(k),
165
+ FINAL_CONFIG: I,
166
+ prepareConfig: mn,
167
+ callback: () => {
168
+ Promise.resolve().then(async () => {
169
+ await _n();
170
+ });
171
+ },
172
+ skeletonDataset: k.config?.skeletonDataset ?? [sn, sn],
173
+ skeletonConfig: fe({
174
+ defaultConfig: I.value,
175
+ userConfig: cn.value
176
+ })
177
+ }), { userOptionsVisible: dn, setUserOptionsVisibility: fn, keepUserOptionState: pn } = De({ config: I.value }), { svgRef: z } = Oe({ config: I.value.style.chart.title });
178
+ function mn() {
179
+ let e = ve({
180
+ userConfig: k.config,
181
+ defaultConfig: Ft
182
+ }), t = {}, n = e.theme;
183
+ if (n) if (!It.value(e)) Lt(e), t = e;
184
+ else {
185
+ let r = ve({
186
+ userConfig: je[n] || k.config,
187
+ defaultConfig: e
188
+ });
189
+ t = {
190
+ ...ve({
191
+ userConfig: k.config,
192
+ defaultConfig: r
193
+ }),
194
+ customPalette: e.customPalette.length ? e.customPalette : a[n] || c
195
+ };
196
+ }
197
+ else t = e;
198
+ return t;
199
+ }
200
+ Ge(() => k.config, (e) => {
201
+ ln.value || (I.value = mn()), dn.value = !I.value.userOptions.showOnChartHover, vn(), qt.value += 1, Jt.value += 1, Yt.value += 1, U.value.dataLabels.show = I.value.style.chart.layout.labels.dataLabels.show, U.value.showTable = I.value.table.show, U.value.showTooltip = I.value.style.chart.tooltip.show, W.value.width = I.value.style.chart.width, W.value.height = I.value.style.chart.height;
202
+ }, { deep: !0 });
203
+ let hn = p(() => {
204
+ let { top: e, right: t, bottom: n, left: r } = I.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 gn(e, t = 1e3, n = 50) {
214
+ return new Promise((r) => {
215
+ let i = e.length;
216
+ N.value = Array(i).fill(0), Xt.value = [];
217
+ let a = 0;
218
+ e.forEach((e, o) => {
219
+ setTimeout(() => {
220
+ let n = performance.now();
221
+ function s(c) {
222
+ let l = Math.min((c - n) / t, 1), te = e * ee(l);
223
+ N.value[o] = te, N.value = [...N.value];
224
+ let ne = [], u = 0;
225
+ k.dataset.forEach((e, t) => {
226
+ let n = le(e.series.reduce((e, t) => e + le(d(t.values).reduce((e, t) => e + t, 0)), 0)) - le(N.value.slice(u, u + e.series.length).reduce((e, t) => e + t, 0));
227
+ n > Number.MIN_VALUE && ne.push({
228
+ name: "__ghost__",
229
+ arcOf: e.name,
230
+ arcOfId: `${A.value}_${t}`,
231
+ id: `ghost_${A.value}_${t}`,
232
+ seriesIndex: -1,
233
+ datasetIndex: t,
234
+ color: "transparent",
235
+ value: n,
236
+ fullValue: n,
237
+ absoluteValues: [],
238
+ ghost: !0
239
+ }), u += e.series.length;
240
+ }), Xt.value = ne, l < 1 ? requestAnimationFrame(s) : (a += 1, a === i && r());
241
+ }
242
+ requestAnimationFrame(s);
243
+ }, o * n);
244
+ });
245
+ });
246
+ }
247
+ async function _n() {
248
+ if (I.value.startAnimation?.show) {
249
+ let e = R.value.flatMap((e) => e.series).map((e) => d(e.values).reduce((e, t) => e + t, 0));
250
+ N.value = e.map(() => 0), M.value = !0, Xt.value = R.value.map((e, t) => {
251
+ let n = e.series.reduce((e, t) => e + d(t.values).reduce((e, t) => e + t, 0), 0);
252
+ return {
253
+ name: "__ghost__",
254
+ arcOf: e.name,
255
+ arcOfId: `${A.value}_${t}`,
256
+ id: `ghost_${A.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 Le(), gn(e, I.value.startAnimation.durationMs, I.value.startAnimation.staggerMs).then(() => {
266
+ M.value = !1, Xt.value = [];
267
+ });
268
+ } else M.value = !1;
269
+ }
270
+ Be(async () => {
271
+ Zt.value = !0, vn(), await _n();
272
+ });
273
+ let B = He(null), V = He(null), H = p(() => !!I.value.debug);
274
+ function vn() {
275
+ if (s(k.dataset) ? (l({
276
+ componentName: "VueUiNestedDonuts",
277
+ type: "dataset",
278
+ debug: H.value
279
+ }), Rt.value = !1, un.value = !0) : un.value = I.value.loading, I.value.responsive) {
280
+ let e = Ce(() => {
281
+ let { width: e, height: t } = we({
282
+ chart: j.value,
283
+ title: I.value.style.chart.title.text ? Ut.value : null,
284
+ legend: I.value.style.chart.legend.show ? Wt.value : null,
285
+ source: Gt.value,
286
+ noTitle: Kt.value,
287
+ padding: hn.value
288
+ });
289
+ requestAnimationFrame(() => {
290
+ W.value.width = e, W.value.height = t;
291
+ });
292
+ });
293
+ B.value && (V.value && B.value.unobserve(V.value), B.value.disconnect()), B.value = new ResizeObserver(e), V.value = j.value.parentNode, B.value.observe(V.value);
294
+ }
295
+ }
296
+ ze(() => {
297
+ B.value && (V.value && B.value.unobserve(V.value), B.value.disconnect());
298
+ });
299
+ let { isPrinting: yn, isImaging: bn, generatePdf: xn, generateImage: Sn } = me({
300
+ elementId: `nested_donuts_${A.value}`,
301
+ fileName: I.value.style.chart.title.text || "vue-ui-nested-donuts",
302
+ options: I.value.userOptions.print
303
+ }), Cn = p(() => I.value.userOptions.show && !I.value.style.chart.title.text), wn = p(() => ue(I.value.customPalette)), U = C({
304
+ dataLabels: { show: I.value.style.chart.layout.labels.dataLabels.show },
305
+ showTable: I.value.table.show,
306
+ showTooltip: I.value.style.chart.tooltip.show
307
+ });
308
+ Ge(I, () => {
309
+ U.value = {
310
+ dataLabels: { show: I.value.style.chart.layout.labels.dataLabels.show },
311
+ showTable: I.value.table.show,
312
+ showTooltip: I.value.style.chart.tooltip.show
313
+ };
314
+ }, { immediate: !0 });
315
+ let W = C({
316
+ width: I.value.style.chart.width,
317
+ height: I.value.style.chart.height
318
+ }), Tn = qe;
319
+ function En({ datapoint: e, index: t, seriesIndex: n }) {
320
+ I.value.events.datapointClick && I.value.events.datapointClick({
321
+ datapoint: e,
322
+ seriesIndex: n
323
+ }), Tn("selectDatapoint", {
324
+ datapoint: e,
325
+ index: t
326
+ });
327
+ }
328
+ function Dn({ from: e, to: t, duration: n, onUpdate: r, onDone: i, easing: a = ee }) {
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 G = C([]), K = p(() => {
337
+ ln.value, R.value.forEach((e, t) => {
338
+ [null, void 0].includes(e.name) && l({
339
+ componentName: "VueUiNestedDonuts",
340
+ type: "datasetSerieAttribute",
341
+ property: "name",
342
+ index: t,
343
+ debug: H.value
344
+ }), [null, void 0].includes(e.series) ? l({
345
+ componentName: "VueUiNestedDonuts",
346
+ type: "datasetSerieAttribute",
347
+ property: "series",
348
+ index: t,
349
+ debug: H.value
350
+ }) : e.series.length === 0 ? l({
351
+ componentName: "VueUiNestedDonuts",
352
+ type: "datasetAttributeEmpty",
353
+ property: `series at index ${t}`,
354
+ debug: H.value
355
+ }) : e.series.forEach((e, t) => {
356
+ [null, void 0].includes(e.name) && l({
357
+ componentName: "VueUiNestedDonuts",
358
+ type: "datasetSerieAttribute",
359
+ property: "name",
360
+ index: t,
361
+ key: "serie",
362
+ debug: H.value
363
+ }), [null, void 0].includes(e.values) && l({
364
+ componentName: "VueUiNestedDonuts",
365
+ type: "datasetSerieAttribute",
366
+ property: "values",
367
+ index: t,
368
+ key: "serie",
369
+ debug: H.value
370
+ });
371
+ });
372
+ });
373
+ let e = 0;
374
+ return R.value.map((t, n) => ({
375
+ ...t,
376
+ total: t.series.filter((e) => !G.value.includes(e.id)).map((e) => d(e.values).reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0),
377
+ datasetIndex: n,
378
+ id: `${A.value}_${n}`,
379
+ series: t.series.map((r, i) => {
380
+ let a = d(r.values).reduce((e, t) => e + t, 0);
381
+ return {
382
+ name: r.name,
383
+ arcOf: t.name,
384
+ arcOfId: `${A.value}_${n}`,
385
+ id: `${A.value}_${n}_${i}`,
386
+ seriesIndex: i,
387
+ datasetIndex: n,
388
+ color: de(r.color) || wn.value[i] || c[i % c.length],
389
+ value: M.value ? N.value[e++] ?? 0 : a,
390
+ absoluteValues: r.values || []
391
+ };
392
+ })
393
+ }));
394
+ });
395
+ Ge(() => k.dataset, (e) => {
396
+ Array.isArray(e) && e.length > 0 && (un.value = !1);
397
+ }, { immediate: !0 });
398
+ let q = p(() => Math.min(W.value.height, W.value.width) * (I.value.style.chart.layout.donut.strokeWidth / 512)), On = p(() => [...K.value].map((e, t) => {
399
+ let n = e.series.filter((e) => !G.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) => !G.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 = C(On.value);
415
+ Ge(() => On.value, (e) => J.value = e);
416
+ function An(e) {
417
+ let t = e.map((e) => e.id);
418
+ if (e.some((e) => G.value.includes(e.id))) {
419
+ let e = new Set(t);
420
+ G.value = G.value.filter((t) => !e.has(t));
421
+ } else G.value.push(...t);
422
+ }
423
+ function Y(e) {
424
+ Tn("selectLegend", e);
425
+ let t = k.dataset.flatMap((e, t) => e.series.map((e, n) => ({
426
+ value: d(e.values).reduce((e, t) => e + t, 0),
427
+ id: `${A.value}_${t}_${n}`,
428
+ arcOfId: `${A.value}_${t}`
429
+ }))).find((t) => t.id === e.id);
430
+ if (!t) return;
431
+ let n = K.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 = K.value.find((e) => e.id === t.arcOfId);
432
+ if (!a) return;
433
+ let o = a.series.map((e) => e.id), s = kn(o, o.length - 1, G.value);
434
+ G.value.includes(e.id) ? (G.value = G.value.filter((t) => t !== e.id), I.value.serieToggleAnimation.show ? Dn({
435
+ from: i,
436
+ to: n,
437
+ duration: I.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
+ }) : J.value = J.value.map((t) => ({
448
+ ...t,
449
+ series: t.series.map((t) => t.id === e.id ? {
450
+ ...t,
451
+ value: n
452
+ } : t)
453
+ }))) : s && (I.value.serieToggleAnimation.show ? Dn({
454
+ from: i,
455
+ to: 0,
456
+ duration: I.value.serieToggleAnimation.durationMs,
457
+ onUpdate: (t) => {
458
+ J.value = J.value.map((n) => ({
459
+ ...n,
460
+ series: n.series.map((n) => n.id === e.id ? {
461
+ ...n,
462
+ value: t
463
+ } : n)
464
+ }));
465
+ },
466
+ onDone: () => {
467
+ G.value.push(e.id);
468
+ }
469
+ }) : (J.value = J.value.map((t) => ({
470
+ ...t,
471
+ series: t.series.map((t) => t.id === e.id ? {
472
+ ...t,
473
+ value: 0
474
+ } : t)
475
+ })), G.value.push(e.id)));
476
+ }
477
+ function jn(e) {
478
+ return K.value.length ? K.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);
479
+ }
480
+ function Mn(e) {
481
+ let t = jn(e);
482
+ t !== null && (Array.isArray(t) ? t.forEach((e) => {
483
+ G.value.includes(e.id) && Y({ id: e.id });
484
+ }) : G.value.includes(t.id) && Y({ id: t.id }));
485
+ }
486
+ function Nn(e) {
487
+ let t = jn(e);
488
+ t !== null && (Array.isArray(t) ? t.forEach((e) => {
489
+ G.value.includes(e.id) || Y({ id: e.id });
490
+ }) : G.value.includes(t.id) || Y({ id: t.id }));
491
+ }
492
+ let Pn = p(() => q.value / K.value.length * I.value.style.chart.layout.donut.spacingRatio), Fn = p(() => J.value.map((e, t) => q.value - t * q.value / K.value.length)), X = p(() => J.value.map((e, t) => {
493
+ let n = Math.abs(e.series.map((e) => e.value).reduce((e, t) => e + t, 0)) > 0, r = q.value - t * q.value / J.value.length, i = M.value ? Xt.value.find((e) => e.datasetIndex === t) : null, a = [...e.series, ...i ? [i] : []].map((e) => ({
494
+ ...e,
495
+ value: e.value < 1e-11 ? Number.MIN_VALUE : e.value
496
+ })), o = te({ series: [{
497
+ name: "_",
498
+ color: I.value.style.chart.layout.donut.emptyFill,
499
+ value: 1
500
+ }] }, W.value.width / 2, W.value.height / 2, r, r, 1.99999, 2, 1, 360, 105.25, Pn.value), s = `M ${W.value.width / 2},${W.value.height / 2 + r}
501
+ a ${r},${r} 0 1,1 0,${-2 * r}
502
+ a ${r},${r} 0 1,1 0,${2 * r}`;
503
+ return {
504
+ ...e,
505
+ hasData: n,
506
+ radius: r,
507
+ skeleton: o,
508
+ fullCirclePath: s,
509
+ donut: te({ series: a }, W.value.width / 2, W.value.height / 2, r, r, 1.99999, 2, 1, 360, 105.25, Pn.value)
510
+ };
511
+ })), In = p(() => [...K.value].map((e, t) => {
512
+ let n = t * q.value / K.value.length;
513
+ return {
514
+ sizeRatio: n,
515
+ donut: te({ series: [{ value: 1 }] }, W.value.width / 2, W.value.height / 2, q.value - n, q.value - n, 1.99999, 2, 1, 360, 105.25, q.value / K.value.length * I.value.style.chart.layout.donut.spacingRatio)[0]
516
+ };
517
+ })), Ln = C(null), Rn = C(null), Z = C(null), zn = C(null);
518
+ function Bn({ datapoint: e, seriesIndex: t }) {
519
+ I.value.events.datapointLeave && I.value.events.datapointLeave({
520
+ datapoint: e,
521
+ seriesIndex: t
522
+ }), zt.value = !1, Ln.value = null, Vt.value = null, Rn.value = null, Z.value = null, P.value = null, rn.value = "pointer";
523
+ }
524
+ function Vn({ val: e, percentage: t, showVal: n, showPercentage: r, config: i }) {
525
+ return ke({
526
+ config: i,
527
+ val: e,
528
+ percentage: t,
529
+ showVal: n,
530
+ showPercentage: r
531
+ });
532
+ }
533
+ function Hn({ datapoint: e, _relativeIndex: t, seriesIndex: r, triggerMode: i = "pointer" }) {
534
+ I.value.events.datapointEnter && I.value.events.datapointEnter({
535
+ datapoint: e,
536
+ seriesIndex: r
537
+ }), rn.value = i, P.value = r, Ln.value = e.arcOfId, Rn.value = e.id, Z.value = r, Vt.value = e.id, zn.value = {
538
+ datapoint: e,
539
+ seriesIndex: r,
540
+ series: J.value,
541
+ config: I.value
542
+ };
543
+ let a = I.value.style.chart.tooltip.customFormat;
544
+ if (oe(a) && ae(() => a({
545
+ seriesIndex: r,
546
+ datapoint: e,
547
+ series: J.value,
548
+ config: I.value
549
+ }))) Bt.value = a({
550
+ seriesIndex: r,
551
+ datapoint: e,
552
+ series: J.value,
553
+ config: I.value
554
+ });
555
+ else {
556
+ let t = "";
557
+ if (I.value.style.chart.tooltip.showAllItemsAtIndex && G.value.length === 0) {
558
+ let i = J.value.map((e) => e.series.find((e) => e.seriesIndex === r));
559
+ i.forEach((a, o) => {
560
+ if (!a) return "";
561
+ t += `
562
+ <div style="display:flex; flex-direction: column; justify-content:flex-start; align-items:flex-start;padding:6px 0; ${o < i.length - 1 ? `border-bottom:1px solid ${I.value.style.chart.tooltip.borderColor}` : ""}">
563
+ <div style="display:flex; flex-direction: row; gap: 3px; justify-content:flex-start; align-items:center;">
564
+ <svg viewBox="0 0 20 20" height="${I.value.style.chart.tooltip.fontSize}" width="${I.value.style.chart.tooltip.fontSize}">
565
+ <circle cx="10" cy="10" r="10" fill="${a.color}"/>
566
+ </svg>
567
+ <span>
568
+ ${a.arcOf ?? ""} - ${a.name}
569
+ </span>
570
+ </div>
571
+ <span>
572
+ <b>
573
+ ${Vn({
574
+ config: I.value.style.chart.tooltip,
575
+ showVal: I.value.style.chart.tooltip.showValue,
576
+ showPercentage: I.value.style.chart.tooltip.showPercentage,
577
+ val: u(I.value.style.chart.layout.labels.dataLabels.formatter, e.value, n({
578
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
579
+ v: e.value,
580
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
581
+ r: I.value.style.chart.tooltip.roundingValue
582
+ }), {
583
+ datapoint: e,
584
+ seriesIndex: r
585
+ }),
586
+ percentage: n({
587
+ v: a.proportion * 100,
588
+ s: "%",
589
+ r: I.value.style.chart.tooltip.roundingPercentage
590
+ })
591
+ })}
592
+ </b>
593
+ </span>
594
+ </div>
595
+ `;
596
+ });
597
+ } 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>${u(I.value.style.chart.layout.labels.dataLabels.formatter, e.value, n({
598
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
599
+ v: e.value,
600
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
601
+ r: I.value.style.chart.tooltip.roundingValue
602
+ }), {
603
+ datapoint: e,
604
+ seriesIndex: r
605
+ })}</b>`), I.value.style.chart.tooltip.showPercentage && (I.value.style.chart.tooltip.showValue ? t += `<span>(${n({
606
+ v: e.proportion * 100,
607
+ s: "%",
608
+ r: I.value.style.chart.tooltip.roundingPercentage
609
+ })})</span></div>` : t += `<b>${n({
610
+ v: e.proportion * 100,
611
+ s: "%",
612
+ r: I.value.style.chart.tooltip.roundingPercentage
613
+ })}</b></div>`);
614
+ Bt.value = `<div style="font-size:${I.value.style.chart.tooltip.fontSize}px">${t}</div>`;
615
+ }
616
+ zt.value = !0;
617
+ }
618
+ function Un(e) {
619
+ return e.proportion * 100 > I.value.style.chart.layout.labels.dataLabels.hideUnderValue;
620
+ }
621
+ function Wn(e, t) {
622
+ if (!I.value.useBlurOnHover) return "";
623
+ if (I.value.style.chart.tooltip.showAllItemsAtIndex && G.value.length === 0) return [null, void 0].includes(Z.value) || Z.value === t ? "" : `url(#blur_${A.value})`;
624
+ if (!I.value.style.chart.tooltip.showAllItemsAtIndex || G.value.length) return [null, void 0].includes(Rn.value) || Rn.value === e.id ? "" : `url(#blur_${A.value})`;
625
+ }
626
+ let Gn = p(() => K.value.map((e, t) => {
627
+ let r = e.series.filter((e) => !G.value.includes(e.id)), i = M.value ? r.map((e) => {
628
+ let n = R.value[t].series.findIndex((t) => t.name === e.name);
629
+ return d(R.value[t].series[n].values).reduce((e, t) => e + t, 0);
630
+ }).reduce((e, t) => e + t, 0) : r.map((e) => e.value).reduce((e, t) => e + t, 0);
631
+ return e.series.map((e, r) => {
632
+ let a = d(R.value[t].series[r].values).reduce((e, t) => e + t, 0), o = M.value ? a : e.value, s = Vn({
633
+ val: u(I.value.style.chart.layout.labels.dataLabels.formatter, o, n({
634
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
635
+ v: o,
636
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
637
+ r: I.value.style.chart.legend.roundingValue
638
+ }), {
639
+ datapoint: e,
640
+ seriesIndex: r
641
+ }),
642
+ percentage: isNaN(o / i) || G.value.includes(e.id) ? "-" : n({
643
+ v: o / i * 100,
644
+ s: "%",
645
+ r: I.value.style.chart.legend.roundingPercentage
646
+ }),
647
+ showVal: I.value.style.chart.legend.showValue,
648
+ showPercentage: I.value.style.chart.legend.showPercentage,
649
+ config: I.value.style.chart.legend
650
+ }), c = `${e.name}${I.value.style.chart.legend.showPercentage || I.value.style.chart.legend.showValue ? ": " : ""}${s}`;
651
+ return {
652
+ name: e.name,
653
+ color: e.color,
654
+ value: o,
655
+ display: c,
656
+ svgDisplay: `${e.arcOf ? `${e.arcOf} - ` : ""}${c}`,
657
+ shape: "circle",
658
+ arcOf: e.arcOf,
659
+ id: e.id,
660
+ seriesIndex: r,
661
+ datasetIndex: t,
662
+ total: i,
663
+ opacity: G.value.includes(e.id) ? .5 : 1,
664
+ segregate: () => Y(e),
665
+ isSegregated: G.value.includes(e.id)
666
+ };
667
+ });
668
+ })), Kn = p(() => ({
669
+ cy: "nested-donuts-legend",
670
+ backgroundColor: I.value.style.chart.legend.backgroundColor,
671
+ color: I.value.style.chart.legend.color,
672
+ fontSize: I.value.style.chart.legend.fontSize,
673
+ paddingBottom: 12,
674
+ fontWeight: I.value.style.chart.legend.bold ? "bold" : ""
675
+ })), Q = p(() => ({
676
+ head: J.value.flatMap((e) => e.series.map((t) => ({
677
+ name: `${e.name} - ${t.name}`,
678
+ color: t.color,
679
+ total: e.total
680
+ }))),
681
+ body: J.value.flatMap((e) => e.series.map((e) => e.value))
682
+ }));
683
+ function qn(e = null) {
684
+ Le(() => {
685
+ let t = Q.value.head.map((e, t) => [
686
+ [e.name],
687
+ [Q.value.body[t]],
688
+ [isNaN(Q.value.body[t] / e.total) ? "-" : Q.value.body[t] / e.total * 100]
689
+ ]), n = o([
690
+ [I.value.style.chart.title.text],
691
+ [I.value.style.chart.title.subtitle.text],
692
+ [
693
+ [""],
694
+ ["val"],
695
+ ["%"]
696
+ ]
697
+ ].concat(t));
698
+ e ? e(n) : i({
699
+ csvContent: n,
700
+ title: I.value.style.chart.title.text || "vue-ui-nested-donuts"
701
+ });
702
+ });
703
+ }
704
+ let Jn = p(() => {
705
+ let e = [
706
+ I.value.table.columnNames.series,
707
+ I.value.table.columnNames.value,
708
+ I.value.table.columnNames.percentage
709
+ ], t = Q.value.head.map((e, t) => {
710
+ let r = n({
711
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
712
+ v: Q.value.body[t],
713
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
714
+ r: I.value.table.td.roundingValue
715
+ });
716
+ return [
717
+ {
718
+ color: e.color,
719
+ name: e.name
720
+ },
721
+ r,
722
+ isNaN(Q.value.body[t] / e.total) ? "-" : n({
723
+ v: Q.value.body[t] / e.total * 100,
724
+ s: "%",
725
+ r: I.value.table.td.roundingPercentage
726
+ })
727
+ ];
728
+ }), r = t.map((e) => e.map((e, t) => t === 0 ? e.name : e)), i = {
729
+ th: {
730
+ backgroundColor: I.value.table.th.backgroundColor,
731
+ color: I.value.table.th.color,
732
+ outline: I.value.table.th.outline
733
+ },
734
+ td: {
735
+ backgroundColor: I.value.table.td.backgroundColor,
736
+ color: I.value.table.td.color,
737
+ outline: I.value.table.td.outline
738
+ },
739
+ breakpoint: I.value.table.responsiveBreakpoint
740
+ };
741
+ return {
742
+ colNames: [
743
+ I.value.table.columnNames.series,
744
+ I.value.table.columnNames.value,
745
+ I.value.table.columnNames.percentage
746
+ ],
747
+ head: e,
748
+ body: t,
749
+ a11yBody: r,
750
+ config: i
751
+ };
752
+ });
753
+ function Yn() {
754
+ return K.value;
755
+ }
756
+ function Xn() {
757
+ U.value.showTable = !U.value.showTable;
758
+ }
759
+ function Zn() {
760
+ U.value.dataLabels.show = !U.value.dataLabels.show;
761
+ }
762
+ function Qn() {
763
+ U.value.showTooltip = !U.value.showTooltip;
764
+ }
765
+ let $n = C(!1);
766
+ function er() {
767
+ $n.value = !$n.value;
768
+ }
769
+ async function tr({ scale: e = 2 } = {}) {
770
+ if (!j.value) return;
771
+ let { width: t, height: n } = j.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await be({
772
+ domElement: j.value,
773
+ base64: !0,
774
+ img: !0,
775
+ scale: e
776
+ });
777
+ return {
778
+ imageUri: i,
779
+ base64: a,
780
+ title: I.value.style.chart.title.text,
781
+ width: t,
782
+ height: n,
783
+ aspectRatio: r
784
+ };
785
+ }
786
+ let nr = C(null);
787
+ function rr() {
788
+ if (!nr.value) return;
789
+ let { x: e, y: t, width: n, height: r } = nr.value.getBBox();
790
+ z.value && z.value.setAttribute("viewBox", `${e} ${t} ${n + Math.min(0, e)} ${r + Math.min(0, t)}`);
791
+ }
792
+ let ir = p(() => {
793
+ let e = I.value.table.useDialog && !I.value.table.show, t = U.value.showTable;
794
+ return {
795
+ component: e ? Pt : kt,
796
+ title: `${I.value.style.chart.title.text}${I.value.style.chart.title.subtitle.text ? `: ${I.value.style.chart.title.subtitle.text}` : ""}`,
797
+ props: e ? {
798
+ backgroundColor: I.value.table.th.backgroundColor,
799
+ color: I.value.table.th.color,
800
+ headerColor: I.value.table.th.color,
801
+ headerBg: I.value.table.th.backgroundColor,
802
+ isFullscreen: F.value,
803
+ fullscreenParent: j.value,
804
+ forcedWidth: Math.min(800, window.innerWidth * .8),
805
+ isCursorPointer: L.value
806
+ } : {
807
+ hideDetails: !0,
808
+ config: {
809
+ open: t,
810
+ maxHeight: 1e4,
811
+ body: {
812
+ backgroundColor: I.value.style.chart.backgroundColor,
813
+ color: I.value.style.chart.color
814
+ },
815
+ head: {
816
+ backgroundColor: I.value.style.chart.backgroundColor,
817
+ color: I.value.style.chart.color
818
+ }
819
+ }
820
+ }
821
+ };
822
+ });
823
+ Ge(() => U.value.showTable, (e) => {
824
+ I.value.table.show || (e && I.value.table.useDialog && Qt.value ? Qt.value.open() : "close" in Qt.value && Qt.value.close());
825
+ });
826
+ function ar() {
827
+ U.value.showTable = !1, $t.value && $t.value.setTableIconState(!1);
828
+ }
829
+ let or = p(() => I.value.style.chart.backgroundColor), sr = p(() => I.value.style.chart.legend), { exportSvg: cr, getSvg: lr } = _e({
830
+ svg: z,
831
+ title: p(() => I.value.style.chart.title),
832
+ legend: sr,
833
+ legendItems: p(() => Gn.value.flat().map((e) => ({
834
+ ...e,
835
+ name: e.svgDisplay
836
+ }))),
837
+ backgroundColor: or
838
+ });
839
+ async function ur({ isCb: e }) {
840
+ tn.value = !0, await Le();
841
+ try {
842
+ if (e) {
843
+ let { blob: e, url: t, text: n, dataUrl: r } = await lr();
844
+ await Promise.resolve(I.value.userOptions.callbacks.svg({
845
+ blob: e,
846
+ url: t,
847
+ text: n,
848
+ dataUrl: r
849
+ }));
850
+ } else await Promise.resolve(cr());
851
+ } finally {
852
+ tn.value = !1;
853
+ }
854
+ }
855
+ function dr(e) {
856
+ if (e?.stage === "start") {
857
+ en.value = !0;
858
+ return;
859
+ }
860
+ if (e?.stage === "end") {
861
+ en.value = !1;
862
+ return;
863
+ }
864
+ Sn();
865
+ }
866
+ async function fr() {
867
+ if (Tn("copyAlt", {
868
+ config: I.value,
869
+ dataset: J.value
870
+ }), !I.value.userOptions.callbacks.altCopy) {
871
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
872
+ return;
873
+ }
874
+ await Promise.resolve(I.value.userOptions.callbacks.altCopy({
875
+ config: I.value,
876
+ dataset: J.value
877
+ }));
878
+ }
879
+ let $ = p(() => X.value.flatMap((e) => e.donut.filter((e) => !e.ghost)));
880
+ function pr() {
881
+ P.value = null, an.value = !0;
882
+ }
883
+ function mr() {
884
+ P.value = null, rn.value = "pointer", zt.value = !1, Ln.value = null, Vt.value = null, Rn.value = null, Z.value = null, an.value = !1;
885
+ }
886
+ function hr(e) {
887
+ if (!z.value || $n.value || document.activeElement !== z.value || !$.value.length) return;
888
+ let t = ["ArrowLeft", "ArrowUp"].includes(e.key), n = ["ArrowRight", "ArrowDown"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
889
+ if (!t && !n && !r && !i) return;
890
+ if (e.preventDefault(), e.stopPropagation(), i) {
891
+ P.value = null, rn.value = "pointer", zt.value = !1, Ln.value = null, Vt.value = null, Rn.value = null, Z.value = null;
892
+ return;
893
+ }
894
+ if (r) {
895
+ if (P.value === null) return;
896
+ let e = $.value[P.value];
897
+ if (!e) return;
898
+ En({
899
+ datapoint: e,
900
+ index: P.value,
901
+ seriesIndex: e.seriesIndex
902
+ });
903
+ return;
904
+ }
905
+ let a = P.value, o = Z.value, s = a !== null && a >= 0 && a < $.value.length, c = o !== null && o >= 0 && o < $.value.length;
906
+ 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;
907
+ let l = $.value[a];
908
+ l && (P.value = a, gr(), Hn({
909
+ datapoint: l,
910
+ relativeIndex: a,
911
+ seriesIndex: l.seriesIndex,
912
+ show: !0,
913
+ triggerMode: "keyboard"
914
+ }));
915
+ }
916
+ function gr() {
917
+ if (!z.value) return;
918
+ let e = z.value.getBoundingClientRect();
919
+ nn.value = {
920
+ x: e.left + e.width / 2,
921
+ y: e.top + e.height / 2
922
+ };
923
+ }
924
+ let _r = p(() => ({
925
+ headers: Jn.value?.colNames ?? [],
926
+ rows: Jn.value?.a11yBody ?? []
927
+ }));
928
+ return Se({
929
+ autoSize: rr,
930
+ getData: Yn,
931
+ getImage: tr,
932
+ generatePdf: xn,
933
+ generateCsv: qn,
934
+ generateImage: Sn,
935
+ generateSvg: ur,
936
+ hideSeries: Nn,
937
+ showSeries: Mn,
938
+ toggleTable: Xn,
939
+ toggleLabels: Zn,
940
+ toggleTooltip: Qn,
941
+ toggleAnnotator: er,
942
+ toggleFullscreen: on,
943
+ copyAlt: fr
944
+ }), (e, r) => (S(), g("div", {
945
+ ref_key: "nestedDonutsChart",
946
+ ref: j,
947
+ class: b(`vue-data-ui-component vue-ui-nested-donuts ${F.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${I.value.useCssAnimation ? "" : "vue-ui-dna"}`),
948
+ style: Re(`font-family:${I.value.style.fontFamily};width:100%; text-align:center;background:${I.value.style.chart.backgroundColor}`),
949
+ id: `nested_donuts_${A.value}`,
950
+ onMouseenter: r[2] ||= () => D(fn)(!0),
951
+ onMouseleave: r[3] ||= () => D(fn)(!1)
952
+ }, [
953
+ _("div", {
954
+ id: `chart-instructions-${A.value}`,
955
+ class: "sr-only"
956
+ }, [_("p", null, E(I.value.a11y.translations.keyboardNavigation), 1)], 8, Ye),
957
+ _r.value?.rows?.length ? (S(), m(Ee, {
958
+ key: 0,
959
+ uid: A.value,
960
+ head: _r.value.headers,
961
+ body: _r.value.rows,
962
+ notice: I.value.a11y.translations.tableAvailable,
963
+ caption: I.value.a11y.translations.tableCaption
964
+ }, null, 8, [
965
+ "uid",
966
+ "head",
967
+ "body",
968
+ "notice",
969
+ "caption"
970
+ ])) : h("", !0),
971
+ I.value.userOptions.buttons.annotator ? (S(), m(D(Mt), {
972
+ key: 1,
973
+ svgRef: D(z),
974
+ backgroundColor: I.value.style.chart.backgroundColor,
975
+ color: I.value.style.chart.color,
976
+ active: $n.value,
977
+ isCursorPointer: L.value,
978
+ onClose: er
979
+ }, {
980
+ "annotator-action-close": O(() => [T(e.$slots, "annotator-action-close", {}, void 0, !0)]),
981
+ "annotator-action-color": O(({ color: t }) => [T(e.$slots, "annotator-action-color", x(y({ color: t })), void 0, !0)]),
982
+ "annotator-action-draw": O(({ mode: t }) => [T(e.$slots, "annotator-action-draw", x(y({ mode: t })), void 0, !0)]),
983
+ "annotator-action-undo": O(({ disabled: t }) => [T(e.$slots, "annotator-action-undo", x(y({ disabled: t })), void 0, !0)]),
984
+ "annotator-action-redo": O(({ disabled: t }) => [T(e.$slots, "annotator-action-redo", x(y({ disabled: t })), void 0, !0)]),
985
+ "annotator-action-delete": O(({ disabled: t }) => [T(e.$slots, "annotator-action-delete", x(y({ disabled: t })), void 0, !0)]),
986
+ _: 3
987
+ }, 8, [
988
+ "svgRef",
989
+ "backgroundColor",
990
+ "color",
991
+ "active",
992
+ "isCursorPointer"
993
+ ])) : h("", !0),
994
+ Cn.value ? (S(), g("div", {
995
+ key: 2,
996
+ ref_key: "noTitle",
997
+ ref: Kt,
998
+ class: "vue-data-ui-no-title-space",
999
+ style: "height:36px; width: 100%;background:transparent"
1000
+ }, null, 512)) : h("", !0),
1001
+ I.value.style.chart.title.text ? (S(), g("div", {
1002
+ key: 3,
1003
+ ref_key: "chartTitle",
1004
+ ref: Ut
1005
+ }, [(S(), m(xe, {
1006
+ key: `title_${qt.value}`,
1007
+ config: {
1008
+ title: {
1009
+ cy: "donut-div-title",
1010
+ ...I.value.style.chart.title
1011
+ },
1012
+ subtitle: {
1013
+ cy: "donut-div-subtitle",
1014
+ ...I.value.style.chart.title.subtitle
1015
+ }
1016
+ }
1017
+ }, null, 8, ["config"]))], 512)) : h("", !0),
1018
+ _("div", { id: `legend-top-${A.value}` }, null, 8, Xe),
1019
+ I.value.userOptions.show && Rt.value && (D(pn) || D(dn)) ? (S(), m(D(jt), {
1020
+ ref_key: "userOptionsRef",
1021
+ ref: $t,
1022
+ key: `user_option_${Ht.value}`,
1023
+ backgroundColor: I.value.style.chart.backgroundColor,
1024
+ color: I.value.style.chart.color,
1025
+ isPrinting: D(yn),
1026
+ isImaging: D(bn),
1027
+ uid: A.value,
1028
+ hasTooltip: I.value.userOptions.buttons.tooltip && I.value.style.chart.tooltip.show,
1029
+ hasPdf: I.value.userOptions.buttons.pdf,
1030
+ hasXls: I.value.userOptions.buttons.csv,
1031
+ hasImg: I.value.userOptions.buttons.img,
1032
+ hasSvg: I.value.userOptions.buttons.svg,
1033
+ hasTable: I.value.userOptions.buttons.table,
1034
+ hasLabel: I.value.userOptions.buttons.labels,
1035
+ hasFullscreen: I.value.userOptions.buttons.fullscreen,
1036
+ hasAltCopy: I.value.userOptions.buttons.altCopy,
1037
+ isFullscreen: F.value,
1038
+ isTooltip: U.value.showTooltip,
1039
+ titles: { ...I.value.userOptions.buttonTitles },
1040
+ chartElement: j.value,
1041
+ position: I.value.userOptions.position,
1042
+ hasAnnotator: I.value.userOptions.buttons.annotator,
1043
+ isAnnotation: $n.value,
1044
+ callbacks: I.value.userOptions.callbacks,
1045
+ printScale: I.value.userOptions.print.scale,
1046
+ tableDialog: I.value.table.useDialog,
1047
+ isCursorPointer: L.value,
1048
+ onToggleFullscreen: on,
1049
+ onGeneratePdf: D(xn),
1050
+ onGenerateCsv: qn,
1051
+ onGenerateImage: dr,
1052
+ onGenerateSvg: ur,
1053
+ onToggleTable: Xn,
1054
+ onToggleLabels: Zn,
1055
+ onToggleTooltip: Qn,
1056
+ onToggleAnnotator: er,
1057
+ onCopyAlt: fr,
1058
+ style: Re({ visibility: D(pn) ? D(dn) ? "visible" : "hidden" : "visible" })
1059
+ }, Ne({ _: 2 }, [
1060
+ e.$slots.menuIcon ? {
1061
+ name: "menuIcon",
1062
+ fn: O(({ isOpen: t, color: n }) => [T(e.$slots, "menuIcon", x(y({
1063
+ isOpen: t,
1064
+ color: n
1065
+ })), void 0, !0)]),
1066
+ key: "0"
1067
+ } : void 0,
1068
+ e.$slots.optionTooltip ? {
1069
+ name: "optionTooltip",
1070
+ fn: O(() => [T(e.$slots, "optionTooltip", {}, void 0, !0)]),
1071
+ key: "1"
1072
+ } : void 0,
1073
+ e.$slots.optionPdf ? {
1074
+ name: "optionPdf",
1075
+ fn: O(() => [T(e.$slots, "optionPdf", {}, void 0, !0)]),
1076
+ key: "2"
1077
+ } : void 0,
1078
+ e.$slots.optionCsv ? {
1079
+ name: "optionCsv",
1080
+ fn: O(() => [T(e.$slots, "optionCsv", {}, void 0, !0)]),
1081
+ key: "3"
1082
+ } : void 0,
1083
+ e.$slots.optionImg ? {
1084
+ name: "optionImg",
1085
+ fn: O(() => [T(e.$slots, "optionImg", {}, void 0, !0)]),
1086
+ key: "4"
1087
+ } : void 0,
1088
+ e.$slots.optionSvg ? {
1089
+ name: "optionSvg",
1090
+ fn: O(() => [T(e.$slots, "optionSvg", {}, void 0, !0)]),
1091
+ key: "5"
1092
+ } : void 0,
1093
+ e.$slots.optionTable ? {
1094
+ name: "optionTable",
1095
+ fn: O(() => [T(e.$slots, "optionTable", {}, void 0, !0)]),
1096
+ key: "6"
1097
+ } : void 0,
1098
+ e.$slots.optionLabels ? {
1099
+ name: "optionLabels",
1100
+ fn: O(() => [T(e.$slots, "optionLabels", {}, void 0, !0)]),
1101
+ key: "7"
1102
+ } : void 0,
1103
+ e.$slots.optionFullscreen ? {
1104
+ name: "optionFullscreen",
1105
+ fn: O(({ toggleFullscreen: t, isFullscreen: n }) => [T(e.$slots, "optionFullscreen", x(y({
1106
+ toggleFullscreen: t,
1107
+ isFullscreen: n
1108
+ })), void 0, !0)]),
1109
+ key: "8"
1110
+ } : void 0,
1111
+ e.$slots.optionAnnotator ? {
1112
+ name: "optionAnnotator",
1113
+ fn: O(({ toggleAnnotator: t, isAnnotator: n }) => [T(e.$slots, "optionAnnotator", x(y({
1114
+ toggleAnnotator: t,
1115
+ isAnnotator: n
1116
+ })), void 0, !0)]),
1117
+ key: "9"
1118
+ } : void 0,
1119
+ e.$slots.optionAltCopy ? {
1120
+ name: "optionAltCopy",
1121
+ fn: O(({ altCopy: t }) => [T(e.$slots, "optionAltCopy", x(y({ altCopy: t })), void 0, !0)]),
1122
+ key: "10"
1123
+ } : void 0
1124
+ ]), 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),
1125
+ _("div", Ze, [(S(), g("svg", {
1126
+ ref_key: "svgRef",
1127
+ ref: z,
1128
+ xmlns: D(se),
1129
+ "aria-describedby": `chart-instructions-${A.value}`,
1130
+ class: b({
1131
+ "vue-data-ui-fullscreen--on": F.value,
1132
+ "vue-data-ui-fulscreen--off": !F.value,
1133
+ "vue-data-ui-svg": !0
1134
+ }),
1135
+ viewBox: `0 0 ${W.value.width <= 0 ? .001 : W.value.width} ${W.value.height < 0 ? .001 : W.value.height}`,
1136
+ style: Re(`max-width:100%; overflow: visible; background:transparent;color:${I.value.style.chart.color};${hn.value.css}`),
1137
+ tabindex: "0",
1138
+ onFocus: pr,
1139
+ onBlur: mr,
1140
+ onKeydown: hr
1141
+ }, [_("g", {
1142
+ ref_key: "G",
1143
+ ref: nr,
1144
+ class: "vue-data-ui-g"
1145
+ }, [
1146
+ Fe(D(Nt)),
1147
+ e.$slots["chart-background"] ? (S(), g("foreignObject", {
1148
+ key: 0,
1149
+ x: 0,
1150
+ y: 0,
1151
+ width: W.value.width <= 0 ? .001 : W.value.width,
1152
+ height: W.value.height < 0 ? .001 : W.value.height,
1153
+ style: { pointerEvents: "none" }
1154
+ }, [T(e.$slots, "chart-background", {}, void 0, !0)], 8, $e)) : h("", !0),
1155
+ _("defs", null, [(S(!0), g(f, null, w(In.value, (e, t) => (S(), g("radialGradient", { id: `radial_${A.value}_${t}` }, [
1156
+ r[4] ||= _("stop", {
1157
+ offset: "0%",
1158
+ "stop-color": "#FFFFFF",
1159
+ "stop-opacity": "0"
1160
+ }, null, -1),
1161
+ _("stop", {
1162
+ offset: `${(1 - Pn.value / Fn.value[t]) * 100}%`,
1163
+ "stop-color": D(re)("#FFFFFF", 0),
1164
+ "stop-opacity": "0"
1165
+ }, null, 8, tt),
1166
+ _("stop", {
1167
+ offset: `${(1 - Pn.value / Fn.value[t] / 2) * 100}%`,
1168
+ "stop-color": "#FFFFFF",
1169
+ "stop-opacity": I.value.style.chart.gradientIntensity / 100
1170
+ }, null, 8, nt),
1171
+ r[5] ||= _("stop", {
1172
+ offset: "100%",
1173
+ "stop-color": "#FFFFFF",
1174
+ "stop-opacity": "0"
1175
+ }, null, -1)
1176
+ ], 8, et))), 256))]),
1177
+ _("defs", null, [_("filter", {
1178
+ id: `blur_${A.value}`,
1179
+ x: "-50%",
1180
+ y: "-50%",
1181
+ width: "200%",
1182
+ height: "200%"
1183
+ }, [_("feGaussianBlur", {
1184
+ in: "SourceGraphic",
1185
+ stdDeviation: 2,
1186
+ id: `blur_std_${A.value}`
1187
+ }, null, 8, it), r[6] ||= _("feColorMatrix", {
1188
+ type: "saturate",
1189
+ values: "0"
1190
+ }, null, -1)], 8, rt), _("filter", {
1191
+ id: `shadow_${A.value}`,
1192
+ "color-interpolation-filters": "sRGB"
1193
+ }, [_("feDropShadow", {
1194
+ dx: "0",
1195
+ dy: "0",
1196
+ stdDeviation: "10",
1197
+ "flood-opacity": "0.5",
1198
+ "flood-color": I.value.style.chart.layout.donut.shadowColor
1199
+ }, null, 8, ot)], 8, at)]),
1200
+ _("defs", null, [(S(!0), g(f, null, w(X.value, (e, t) => (S(), g("path", {
1201
+ key: `path-full-${t}`,
1202
+ id: `path-full-${t}-${A.value}`,
1203
+ d: e.fullCirclePath,
1204
+ fill: "none"
1205
+ }, null, 8, st))), 128))]),
1206
+ (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", {
1207
+ class: "vue-ui-donut-arc-path",
1208
+ d: e.arcSlice,
1209
+ fill: e.color,
1210
+ stroke: I.value.style.chart.layout.donut.borderColorAuto ? I.value.style.chart.backgroundColor : I.value.style.chart.layout.donut.borderColor,
1211
+ "stroke-width": I.value.style.chart.layout.donut.borderWidth,
1212
+ filter: Wn(e, t)
1213
+ }, null, 8, ct)]))), 256)) : (S(!0), g(f, { key: 1 }, w(e.skeleton, (e, t) => (S(), g("g", null, [_("path", {
1214
+ class: "vue-ui-donut-arc-path",
1215
+ d: e.arcSlice,
1216
+ fill: e.color,
1217
+ stroke: I.value.style.chart.layout.donut.borderColorAuto ? I.value.style.chart.backgroundColor : I.value.style.chart.layout.donut.borderColor,
1218
+ "stroke-width": I.value.style.chart.layout.donut.borderWidth
1219
+ }, null, 8, lt)]))), 256))]))), 256)),
1220
+ I.value.style.chart.useGradient ? (S(), g("g", ut, [(S(!0), g(f, null, w(In.value, (e, t) => (S(), g("g", null, [_("path", {
1221
+ d: e.donut.arcSlice,
1222
+ fill: `url(#radial_${A.value}_${t})`,
1223
+ stroke: "transparent",
1224
+ "stroke-width": "0"
1225
+ }, null, 8, dt)]))), 256))])) : h("", !0),
1226
+ I.value.style.chart.layout.labels.dataLabels.showDonutName ? (S(), g("g", ft, [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 && W.value.width && W.value.height ? (S(), g("text", {
1227
+ key: 0,
1228
+ class: b({ animated: I.value.useCssAnimation }),
1229
+ "text-anchor": "middle",
1230
+ "font-size": I.value.style.chart.layout.labels.dataLabels.fontSize,
1231
+ "font-weight": I.value.style.chart.layout.labels.dataLabels.boldDonutName ? "bold" : "normal",
1232
+ fill: I.value.style.chart.layout.labels.dataLabels.color,
1233
+ dy: I.value.style.chart.layout.labels.dataLabels.donutNameOffsetY
1234
+ }, [_("textPath", {
1235
+ href: `#path-full-${t}-${A.value}`,
1236
+ startOffset: "50%",
1237
+ "text-anchor": "middle",
1238
+ method: "align",
1239
+ spacing: "auto"
1240
+ }, E(I.value.style.chart.layout.labels.dataLabels.donutNameAbbreviation ? D(ie)({
1241
+ source: e.name,
1242
+ length: I.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize
1243
+ }) : e.name), 9, mt)], 10, pt)) : 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 && W.value.width && W.value.height ? (S(), g("text", {
1244
+ key: 0,
1245
+ class: b({ animated: I.value.useCssAnimation }),
1246
+ x: W.value.width / 2,
1247
+ y: t.startY - I.value.style.chart.layout.labels.dataLabels.fontSize + I.value.style.chart.layout.labels.dataLabels.donutNameOffsetY,
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
+ }, E(I.value.style.chart.layout.labels.dataLabels.donutNameAbbreviation ? D(ie)({
1253
+ source: e.name,
1254
+ length: I.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize
1255
+ }) : e.name), 11, ht)) : h("", !0)]))), 256))]))), 256))])) : h("", !0),
1256
+ I.value.style.chart.layout.labels.dataLabels.show ? (S(), g("g", gt, [(S(!0), g(f, null, w(X.value, (e, r) => (S(), g("g", null, [(S(!0), g(f, null, w(e.donut.filter((e) => !e.ghost), (e, i) => (S(), g("g", { filter: Wn(e, i) }, [Ke(_("text", {
1257
+ class: b({ animated: I.value.useCssAnimation }),
1258
+ opacity: +!!Un(e),
1259
+ "text-anchor": D(ce)(e, !0).anchor,
1260
+ x: D(ce)(e, !1, I.value.style.chart.layout.labels.dataLabels.offsetX).x || 0,
1261
+ y: D(ne)(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),
1262
+ fill: I.value.style.chart.layout.labels.dataLabels.useSerieColor ? e.color : I.value.style.chart.layout.labels.dataLabels.color,
1263
+ "font-size": I.value.style.chart.layout.labels.dataLabels.fontSize,
1264
+ "font-weight": I.value.style.chart.layout.labels.dataLabels.boldPercentage ? "bold" : "normal"
1265
+ }, E(D(t)(D(n)({
1266
+ v: e.proportion * 100,
1267
+ s: "%",
1268
+ r: I.value.style.chart.layout.labels.dataLabels.roundingPercentage
1269
+ }), I.value.style.chart.layout.labels.dataLabels.usePercentageParens ? "(" : "", I.value.style.chart.layout.labels.dataLabels.usePercentageParens ? ")" : "")), 11, vt), [[We, U.value.dataLabels.show && I.value.style.chart.layout.labels.dataLabels.showPercentage]]), Ke(_("text", {
1270
+ class: b({ animated: I.value.useCssAnimation }),
1271
+ opacity: +!!Un(e),
1272
+ "text-anchor": D(ce)(e, !0).anchor,
1273
+ x: D(ce)(e, !1, I.value.style.chart.layout.labels.dataLabels.offsetX).x || 0,
1274
+ y: D(ne)(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),
1275
+ fill: I.value.style.chart.layout.labels.dataLabels.useSerieColor ? e.color : I.value.style.chart.layout.labels.dataLabels.color,
1276
+ "font-size": I.value.style.chart.layout.labels.dataLabels.fontSize,
1277
+ "font-weight": I.value.style.chart.layout.labels.dataLabels.boldValue ? "bold" : "normal"
1278
+ }, E(D(t)(D(u)(I.value.style.chart.layout.labels.dataLabels.formatter, e.value, D(n)({
1279
+ p: I.value.style.chart.layout.labels.dataLabels.prefix,
1280
+ v: e.value,
1281
+ s: I.value.style.chart.layout.labels.dataLabels.suffix,
1282
+ r: I.value.style.chart.layout.labels.dataLabels.roundingValue
1283
+ }), {
1284
+ datapoint: e,
1285
+ seriesIndex: r,
1286
+ datapointIndex: i
1287
+ }), I.value.style.chart.layout.labels.dataLabels.useValueParens ? "(" : "", I.value.style.chart.layout.labels.dataLabels.useValueParens ? ")" : "")), 11, yt), [[We, U.value.dataLabels.show && I.value.style.chart.layout.labels.dataLabels.showValue]])], 8, _t))), 256))]))), 256))])) : h("", !0),
1288
+ (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", {
1289
+ d: e.arcSlice,
1290
+ fill: Vt.value === e.id ? I.value.style.chart.layout.donut.selectedColor : "transparent",
1291
+ onMouseenter: (t) => Hn({
1292
+ datapoint: e,
1293
+ relativeIndex: $.value.findIndex((t) => t.id === e.id),
1294
+ seriesIndex: e.seriesIndex
1295
+ }),
1296
+ onClick: (n) => En({
1297
+ datapoint: e,
1298
+ index: t,
1299
+ seriesIndex: e.seriesIndex
1300
+ }),
1301
+ onMouseleave: (t) => Bn({
1302
+ datapoint: e,
1303
+ seriesIndex: e.seriesIndex
1304
+ })
1305
+ }, null, 40, bt)]))), 256))]))), 256)),
1306
+ T(e.$slots, "svg", { svg: {
1307
+ ...W.value,
1308
+ isPrintingImg: D(yn) || D(bn) || en.value,
1309
+ isPrintingSvg: tn.value
1310
+ } }, void 0, !0)
1311
+ ], 512)], 46, Qe)), e.$slots.hint ? (S(), g("div", xt, [T(e.$slots, "hint", x(y({
1312
+ hint: I.value.a11y.translations.keyboardNavigation,
1313
+ isVisible: an.value
1314
+ })), void 0, !0)])) : h("", !0)]),
1315
+ e.$slots.watermark ? (S(), g("div", St, [T(e.$slots, "watermark", x(y({ isPrinting: D(yn) || D(bn) || en.value || tn.value })), void 0, !0)])) : h("", !0),
1316
+ Fe(D(Dt), {
1317
+ teleportTo: I.value.style.chart.tooltip.teleportTo,
1318
+ show: U.value.showTooltip && zt.value,
1319
+ backgroundColor: I.value.style.chart.tooltip.backgroundColor,
1320
+ color: I.value.style.chart.tooltip.color,
1321
+ borderRadius: I.value.style.chart.tooltip.borderRadius,
1322
+ borderColor: I.value.style.chart.tooltip.borderColor,
1323
+ borderWidth: I.value.style.chart.tooltip.borderWidth,
1324
+ fontSize: I.value.style.chart.tooltip.fontSize,
1325
+ backgroundOpacity: I.value.style.chart.tooltip.backgroundOpacity,
1326
+ position: I.value.style.chart.tooltip.position,
1327
+ offsetY: I.value.style.chart.tooltip.offsetY,
1328
+ parent: j.value,
1329
+ content: Bt.value,
1330
+ isFullscreen: F.value,
1331
+ isCustom: D(oe)(I.value.style.chart.tooltip.customFormat),
1332
+ smooth: I.value.style.chart.tooltip.smooth,
1333
+ backdropFilter: I.value.style.chart.tooltip.backdropFilter,
1334
+ smoothForce: I.value.style.chart.tooltip.smoothForce,
1335
+ smoothSnapThreshold: I.value.style.chart.tooltip.smoothSnapThreshold,
1336
+ isA11yMode: rn.value === "keyboard",
1337
+ a11yPosition: nn.value
1338
+ }, {
1339
+ "tooltip-before": O(() => [T(e.$slots, "tooltip-before", x(y({ ...zn.value })), void 0, !0)]),
1340
+ tooltip: O(() => [T(e.$slots, "tooltip", x(y({ ...zn.value })), void 0, !0)]),
1341
+ "tooltip-after": O(() => [T(e.$slots, "tooltip-after", x(y({ ...zn.value })), void 0, !0)]),
1342
+ _: 3
1343
+ }, 8, [
1344
+ "teleportTo",
1345
+ "show",
1346
+ "backgroundColor",
1347
+ "color",
1348
+ "borderRadius",
1349
+ "borderColor",
1350
+ "borderWidth",
1351
+ "fontSize",
1352
+ "backgroundOpacity",
1353
+ "position",
1354
+ "offsetY",
1355
+ "parent",
1356
+ "content",
1357
+ "isFullscreen",
1358
+ "isCustom",
1359
+ "smooth",
1360
+ "backdropFilter",
1361
+ "smoothForce",
1362
+ "smoothSnapThreshold",
1363
+ "isA11yMode",
1364
+ "a11yPosition"
1365
+ ]),
1366
+ _("div", { id: `legend-bottom-${A.value}` }, null, 8, Ct),
1367
+ Zt.value && (I.value.style.chart.legend.show || e.$slots.legend) ? (S(), m(Me, {
1368
+ key: 6,
1369
+ to: I.value.style.chart.legend.position === "top" ? `#legend-top-${A.value}` : `#legend-bottom-${A.value}`
1370
+ }, [I.value.style.chart.legend.show ? (S(), g("div", {
1371
+ key: 0,
1372
+ ref_key: "chartLegend",
1373
+ ref: Wt,
1374
+ class: b({ "vue-ui-nested-donuts-legend": Gn.value.length > 1 })
1375
+ }, [T(e.$slots, "legend", { legend: Gn.value }, () => [(S(!0), g(f, null, w(Gn.value, (e, t) => (S(), m(Ae, {
1376
+ key: `legend_${t}_${Yt.value}`,
1377
+ legendSet: e,
1378
+ config: Kn.value,
1379
+ isCursorPointer: L.value,
1380
+ onClickMarker: r[0] ||= ({ legend: e }) => Y(e)
1381
+ }, {
1382
+ legendTitle: O(({ titleSet: e }) => [e[0] && e[0].arcOf ? (S(), g("div", wt, E(e[0].arcOf), 1)) : h("", !0)]),
1383
+ item: O(({ legend: e, index: t }) => [_("div", {
1384
+ onClick: (t) => Y(e),
1385
+ style: Re(`opacity:${G.value.includes(e.id) ? .5 : 1}`)
1386
+ }, E(e.display), 13, Tt)]),
1387
+ legendToggle: O(() => [e.length > 2 && I.value.style.chart.legend.selectAllToggle.show && !D(ln) ? (S(), m(Te, {
1388
+ key: `toggle-${t}`,
1389
+ backgroundColor: I.value.style.chart.legend.selectAllToggle.backgroundColor,
1390
+ color: I.value.style.chart.legend.selectAllToggle.color,
1391
+ fontSize: I.value.style.chart.legend.fontSize,
1392
+ checked: e.some((e) => G.value.includes(e.id)),
1393
+ isCursorPointer: L.value,
1394
+ onToggle: (t) => An(e)
1395
+ }, null, 8, [
1396
+ "backgroundColor",
1397
+ "color",
1398
+ "fontSize",
1399
+ "checked",
1400
+ "isCursorPointer",
1401
+ "onToggle"
1402
+ ])) : h("", !0)]),
1403
+ _: 2
1404
+ }, 1032, [
1405
+ "legendSet",
1406
+ "config",
1407
+ "isCursorPointer"
1408
+ ]))), 128))], !0)], 2)) : h("", !0)], 8, ["to"])) : h("", !0),
1409
+ e.$slots.source ? (S(), g("div", {
1410
+ key: 7,
1411
+ ref_key: "source",
1412
+ ref: Gt,
1413
+ dir: "auto"
1414
+ }, [T(e.$slots, "source", {}, void 0, !0)], 512)) : h("", !0),
1415
+ Rt.value && I.value.userOptions.buttons.table ? (S(), m(Ve(ir.value.component), Ie({ key: 8 }, ir.value.props, {
1416
+ ref_key: "tableUnit",
1417
+ ref: Qt,
1418
+ onClose: ar
1419
+ }), Ne({
1420
+ content: O(() => [(S(), m(D(At), {
1421
+ key: `table_${Jt.value}`,
1422
+ colNames: Jn.value.colNames,
1423
+ head: Jn.value.head,
1424
+ body: Jn.value.body,
1425
+ config: Jn.value.config,
1426
+ title: I.value.table.useDialog ? "" : ir.value.title,
1427
+ withCloseButton: !I.value.table.useDialog,
1428
+ isCursorPointer: L.value,
1429
+ onClose: ar
1430
+ }, {
1431
+ th: O(({ th: e }) => [_("div", {
1432
+ innerHTML: e,
1433
+ style: {
1434
+ display: "flex",
1435
+ "align-items": "center"
1436
+ }
1437
+ }, null, 8, Et)]),
1438
+ td: O(({ td: e }) => [Pe(E(e.name || e), 1)]),
1439
+ _: 1
1440
+ }, 8, [
1441
+ "colNames",
1442
+ "head",
1443
+ "body",
1444
+ "config",
1445
+ "title",
1446
+ "withCloseButton",
1447
+ "isCursorPointer"
1448
+ ]))]),
1449
+ _: 2
1450
+ }, [I.value.table.useDialog ? {
1451
+ name: "title",
1452
+ fn: O(() => [Pe(E(ir.value.title), 1)]),
1453
+ key: "0"
1454
+ } : void 0, I.value.table.useDialog ? {
1455
+ name: "actions",
1456
+ fn: O(() => [_("button", {
1457
+ tabindex: "0",
1458
+ class: "vue-ui-user-options-button",
1459
+ onClick: r[1] ||= (e) => qn(I.value.userOptions.callbacks.csv),
1460
+ style: Re({ cursor: L.value ? "pointer" : "default" })
1461
+ }, [Fe(D(Ot), {
1462
+ name: "fileCsv",
1463
+ stroke: ir.value.props.color
1464
+ }, null, 8, ["stroke"])], 4)]),
1465
+ key: "1"
1466
+ } : void 0]), 1040)) : h("", !0),
1467
+ T(e.$slots, "skeleton", {}, () => [D(ln) ? (S(), m(ge, { key: 0 })) : h("", !0)], !0)
1468
+ ], 46, Je));
1469
+ }
1470
+ }, [["__scopeId", "data-v-d21e2fa1"]]);
1471
+ //#endregion
1472
+ export { qe as n, Dt as t };