vue-data-ui 3.22.14 → 3.23.1

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 (229) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +13 -1
  3. package/dist/{Arrow-Ci7Burxz.js → Arrow-CF0VFcBH.js} +1 -1
  4. package/dist/{BaseDraggableDialog-hyW32gLf.js → BaseDraggableDialog-LoqqwRtV.js} +2 -2
  5. package/dist/{BaseIcon-DJbOzCDs.js → BaseIcon-BfndwIWE.js} +4 -3
  6. package/dist/{BaseLegendToggle-DJU4VsLO.js → BaseLegendToggle-DZVucLnv.js} +1 -1
  7. package/dist/{BaseZoomControls-CwhpsHIL.js → BaseZoomControls-BZvCnZEi.js} +2 -2
  8. package/dist/{ColorPicker-BVWrKEQl.js → ColorPicker--ayG2YHf.js} +2 -2
  9. package/dist/{DataTable-rIsBpJMt.js → DataTable-BbKgJ5UI.js} +2 -2
  10. package/dist/HillActions-BD9j_sOU.js +187 -0
  11. package/dist/{Legend-DSPDFP3n.js → Legend-CQxUgOd-.js} +2 -2
  12. package/dist/{NonSvgPenAndPaper-DZyYthbM.js → NonSvgPenAndPaper-4ypecDg1.js} +22 -22
  13. package/dist/{PackageVersion-BUmadjVO.js → PackageVersion-D6d8SCp9.js} +1 -1
  14. package/dist/{PenAndPaper-D--sbRMA.js → PenAndPaper-DAE-tnEQ.js} +14 -14
  15. package/dist/{Shape-Dmh9jBFh.js → Shape-C21CMlWS.js} +3 -3
  16. package/dist/Slicer-CIk57nL4.js +1163 -0
  17. package/dist/{SlicerPreview-CCIb3v8u.js → SlicerPreview-wUw1hFwe.js} +384 -370
  18. package/dist/{SparkTooltip-GjWLZ39s.js → SparkTooltip-CjsbIhzi.js} +6 -6
  19. package/dist/Title-BE3qg9xl.js +87 -0
  20. package/dist/{Tooltip-CEbqzIhL.js → Tooltip-DhjyfHwz.js} +2 -2
  21. package/dist/{UserOptions-BknvMNU1.js → UserOptions-Dt98of5H.js} +2 -2
  22. package/dist/components/arrow.js +1 -1
  23. package/dist/components/vue-ui-3d-bar.js +1 -1
  24. package/dist/components/vue-ui-accordion.js +1 -1
  25. package/dist/components/vue-ui-age-pyramid.js +1 -1
  26. package/dist/components/vue-ui-annotator.js +1 -1
  27. package/dist/components/vue-ui-bullet.js +1 -1
  28. package/dist/components/vue-ui-bump.js +1 -1
  29. package/dist/components/vue-ui-candlestick.js +1 -1
  30. package/dist/components/vue-ui-carousel-table.js +1 -1
  31. package/dist/components/vue-ui-chestnut.js +1 -1
  32. package/dist/components/vue-ui-chord.js +1 -1
  33. package/dist/components/vue-ui-circle-pack.js +1 -1
  34. package/dist/components/vue-ui-cursor.js +1 -1
  35. package/dist/components/vue-ui-dag.js +1 -1
  36. package/dist/components/vue-ui-dashboard.js +1 -1
  37. package/dist/components/vue-ui-digits.js +1 -1
  38. package/dist/components/vue-ui-donut-evolution.js +1 -1
  39. package/dist/components/vue-ui-donut.js +1 -1
  40. package/dist/components/vue-ui-dumbbell.js +1 -1
  41. package/dist/components/vue-ui-flow.js +1 -1
  42. package/dist/components/vue-ui-funnel.js +1 -1
  43. package/dist/components/vue-ui-galaxy.js +1 -1
  44. package/dist/components/vue-ui-gauge.js +1 -1
  45. package/dist/components/vue-ui-geo.js +1 -1
  46. package/dist/components/vue-ui-gizmo.js +1 -1
  47. package/dist/components/vue-ui-heatmap.js +1 -1
  48. package/dist/components/vue-ui-hill.js +2 -0
  49. package/dist/components/vue-ui-history-plot.js +1 -1
  50. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  51. package/dist/components/vue-ui-icon.js +1 -1
  52. package/dist/components/vue-ui-kpi.js +1 -1
  53. package/dist/components/vue-ui-mini-loader.js +1 -1
  54. package/dist/components/vue-ui-molecule.js +1 -1
  55. package/dist/components/vue-ui-mood-radar.js +1 -1
  56. package/dist/components/vue-ui-nested-donuts.js +1 -1
  57. package/dist/components/vue-ui-onion.js +1 -1
  58. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  59. package/dist/components/vue-ui-quadrant.js +1 -1
  60. package/dist/components/vue-ui-quick-chart.js +1 -1
  61. package/dist/components/vue-ui-radar.js +1 -1
  62. package/dist/components/vue-ui-rating.js +1 -1
  63. package/dist/components/vue-ui-relation-circle.js +1 -1
  64. package/dist/components/vue-ui-ridgeline.js +1 -1
  65. package/dist/components/vue-ui-rings.js +1 -1
  66. package/dist/components/vue-ui-scatter.js +1 -1
  67. package/dist/components/vue-ui-skeleton.js +1 -1
  68. package/dist/components/vue-ui-smiley.js +1 -1
  69. package/dist/components/vue-ui-spark-trend.js +1 -1
  70. package/dist/components/vue-ui-sparkbar.js +1 -1
  71. package/dist/components/vue-ui-sparkgauge.js +1 -1
  72. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  73. package/dist/components/vue-ui-sparkline.js +1 -1
  74. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  75. package/dist/components/vue-ui-stackbar.js +1 -1
  76. package/dist/components/vue-ui-stackline.js +1 -1
  77. package/dist/components/vue-ui-strip-plot.js +1 -1
  78. package/dist/components/vue-ui-table-heatmap.js +1 -1
  79. package/dist/components/vue-ui-table-sparkline.js +1 -1
  80. package/dist/components/vue-ui-table.js +1 -1
  81. package/dist/components/vue-ui-thermometer.js +1 -1
  82. package/dist/components/vue-ui-timer.js +1 -1
  83. package/dist/components/vue-ui-tiremarks.js +1 -1
  84. package/dist/components/vue-ui-treemap.js +1 -1
  85. package/dist/components/vue-ui-vertical-bar.js +1 -1
  86. package/dist/components/vue-ui-waffle.js +1 -1
  87. package/dist/components/vue-ui-wheel.js +1 -1
  88. package/dist/components/vue-ui-word-cloud.js +1 -1
  89. package/dist/components/vue-ui-world.js +1 -1
  90. package/dist/components/vue-ui-xy-canvas.js +1 -1
  91. package/dist/components/vue-ui-xy.js +1 -1
  92. package/dist/composables.js +1 -1
  93. package/dist/{dom-to-png-BbPRUKX6.js → dom-to-png-BYIvdTe8.js} +1 -1
  94. package/dist/exposedLib-C0DPCgFj.js +28 -0
  95. package/dist/{geoProjections-BCP_PoiB.js → geoProjections-CEo3dVaL.js} +1 -1
  96. package/dist/{img-zY7_pJz1.js → img-Bnokohej.js} +1 -1
  97. package/dist/{labelUtils-DYdYmN_Q.js → labelUtils-BeVpDvTJ.js} +1 -1
  98. package/dist/{lib-C-QGo8GG.js → lib-Bttd6u5E.js} +27 -12
  99. package/dist/{package-QmuZcjWs.js → package-KvlL5CqE.js} +1 -1
  100. package/dist/{pdf-CuSS-5_j.js → pdf-CVIDfCrS.js} +1 -1
  101. package/dist/{render-common-DasqIYp9.js → render-common-oDYGTc5P.js} +21 -21
  102. package/dist/ssr/vue-ui-donut.js +1 -1
  103. package/dist/ssr/vue-ui-xy.js +1 -1
  104. package/dist/ssr.js +2 -2
  105. package/dist/style.css +1 -1
  106. package/dist/types/vue-data-ui.d.ts +496 -0
  107. package/dist/types/vue-ui-hill.d.ts +90 -0
  108. package/dist/useAutoSizeLabelsInsideViewbox-DvDwcwi_.js +122 -0
  109. package/dist/{useConfig-C0V0eG7L.js → useConfig-D3scuR88.js} +774 -477
  110. package/dist/useHints-Dq_w2E8B.js +66 -0
  111. package/dist/{useNestedProp-BYfiWVP8.js → useNestedProp-vPNvh7rV.js} +5 -3
  112. package/dist/{useObjectBindings-Djwpii4d.js → useObjectBindings-Brg8mm5J.js} +3 -2
  113. package/dist/{usePrinter-C5ordS-4.js → usePrinter-DN5bYhTG.js} +2 -2
  114. package/dist/{useSvgExport-Ba9qBr9M.js → useSvgExport-DH-FfcqQ.js} +1 -1
  115. package/dist/{useTimeLabels-B9CEuiLZ.js → useTimeLabels-d2f-W1L4.js} +2 -4
  116. package/dist/{useTooltipPosition-BsRysTrw.js → useTooltipPosition-DifeoeQW.js} +13 -13
  117. package/dist/useTransitions-g_zBREk2.js +39 -0
  118. package/dist/utils.js +14 -14
  119. package/dist/{vue-data-ui-D3jZ4lg1.js → vue-data-ui-DGWDPCwC.js} +85 -81
  120. package/dist/vue-data-ui.js +77 -76
  121. package/dist/vue-ui-3d-bar-C_Su9fve.js +1849 -0
  122. package/dist/{vue-ui-accordion-FimGHtuy.js → vue-ui-accordion-BxGriZik.js} +4 -4
  123. package/dist/vue-ui-age-pyramid-D4k1MkAL.js +1264 -0
  124. package/dist/vue-ui-annotator-CCtnM8Rv.js +2886 -0
  125. package/dist/vue-ui-bullet-DLZr2Uk8.js +724 -0
  126. package/dist/{vue-ui-bump-CG3WTTFy.js → vue-ui-bump-CcdzJZ9n.js} +334 -297
  127. package/dist/{vue-ui-candlestick-C3smYvQA.js → vue-ui-candlestick-EEEt7ORC.js} +468 -442
  128. package/dist/vue-ui-carousel-table-BicIpNAD.js +463 -0
  129. package/dist/{vue-ui-chestnut-i7FYoqi8.js → vue-ui-chestnut-BI7mC5dd.js} +523 -497
  130. package/dist/{vue-ui-chord-DCZo55QA.js → vue-ui-chord-DXaq8ZMu.js} +432 -426
  131. package/dist/vue-ui-circle-pack-XHJBMG51.js +1659 -0
  132. package/dist/{vue-ui-cursor-DEf_l0Xc.js → vue-ui-cursor-BqHr0n1Z.js} +61 -61
  133. package/dist/{vue-ui-dag-beo3-quD.js → vue-ui-dag-jMLVoQkb.js} +677 -674
  134. package/dist/vue-ui-dashboard-DVAUFETR.js +520 -0
  135. package/dist/{vue-ui-digits-BnMqGAhl.js → vue-ui-digits-Dy4gG6qm.js} +59 -51
  136. package/dist/vue-ui-donut-C0cWRLbU.js +2441 -0
  137. package/dist/{vue-ui-donut-Cr0uTWGk.js → vue-ui-donut-CYpxGBhl.js} +117 -116
  138. package/dist/{vue-ui-donut-evolution-D54NP3FP.js → vue-ui-donut-evolution-DwR47A2r.js} +534 -448
  139. package/dist/vue-ui-dumbbell-DxVbRjKR.js +1582 -0
  140. package/dist/{vue-ui-flow-CnateJjc.js → vue-ui-flow-DWaZF4FS.js} +415 -407
  141. package/dist/vue-ui-funnel-Bmpx5GHR.js +797 -0
  142. package/dist/vue-ui-galaxy-CWBP9oH9.js +1111 -0
  143. package/dist/vue-ui-gauge-ByE_txav.js +953 -0
  144. package/dist/{vue-ui-geo-DnO1RIFR.js → vue-ui-geo-ZA7CBy8f.js} +372 -357
  145. package/dist/{vue-ui-gizmo-DyxeSKIk.js → vue-ui-gizmo-SQCou0bQ.js} +57 -49
  146. package/dist/{vue-ui-heatmap-6Ja5LKYE.js → vue-ui-heatmap-CHd9gs_p.js} +473 -465
  147. package/dist/vue-ui-hill-BT183G-_.js +1768 -0
  148. package/dist/vue-ui-history-plot-BwnlC1mx.js +1723 -0
  149. package/dist/vue-ui-horizontal-bar-BUar2HUH.js +1733 -0
  150. package/dist/vue-ui-kpi-BF_9WWoo.js +104 -0
  151. package/dist/vue-ui-mini-loader-CvfukjXi.js +133 -0
  152. package/dist/vue-ui-molecule-Bi2CKHer.js +958 -0
  153. package/dist/{vue-ui-mood-radar-TWo57SKD.js → vue-ui-mood-radar-_zpbmvJs.js} +349 -341
  154. package/dist/{vue-ui-nested-donuts-W0TpPXIQ.js → vue-ui-nested-donuts-qHZAJ70u.js} +452 -416
  155. package/dist/vue-ui-onion-CB5RYIy5.js +1258 -0
  156. package/dist/vue-ui-parallel-coordinate-plot-BUwt-apg.js +1455 -0
  157. package/dist/{vue-ui-quadrant-BM9VLDcC.js → vue-ui-quadrant-CoROD3er.js} +636 -628
  158. package/dist/vue-ui-quick-chart-BcH7eY4-.js +2397 -0
  159. package/dist/{vue-ui-radar-BVz6Uq2k.js → vue-ui-radar-DGbaXGme.js} +380 -334
  160. package/dist/vue-ui-rating-Bo3zD3yW.js +360 -0
  161. package/dist/vue-ui-relation-circle-DaU1eTsG.js +925 -0
  162. package/dist/vue-ui-ridgeline-BCaGcyfk.js +1664 -0
  163. package/dist/{vue-ui-rings-DEZrfBYX.js → vue-ui-rings-BJUBn8_b.js} +450 -424
  164. package/dist/{vue-ui-scatter-owaIOpD0.js → vue-ui-scatter-Pcft1bUt.js} +721 -702
  165. package/dist/{vue-ui-skeleton-Cxszgax7.js → vue-ui-skeleton-EeJcGbCo.js} +395 -387
  166. package/dist/{vue-ui-smiley-DZBPvVeN.js → vue-ui-smiley-D0gibt5c.js} +128 -120
  167. package/dist/{vue-ui-spark-trend-CW4cLUqP.js → vue-ui-spark-trend-BRoQ7JpQ.js} +132 -117
  168. package/dist/{vue-ui-sparkbar-DeSSqv4v.js → vue-ui-sparkbar-DFp2k7-7.js} +119 -111
  169. package/dist/{vue-ui-sparkgauge-VSiPVgUQ.js → vue-ui-sparkgauge-D0Bq85Hs.js} +76 -68
  170. package/dist/vue-ui-sparkhistogram-BPln7v63.js +590 -0
  171. package/dist/{vue-ui-sparkline-DyZdAQMl.js → vue-ui-sparkline-C6Q45Dqp.js} +391 -365
  172. package/dist/vue-ui-sparkstackbar-CjK4bcQg.js +692 -0
  173. package/dist/vue-ui-stackbar-Ca8EPf3e.js +2353 -0
  174. package/dist/vue-ui-stackline-Pz5WWlWT.js +2467 -0
  175. package/dist/{vue-ui-strip-plot-BquHFKHA.js → vue-ui-strip-plot-Dw4MGDSO.js} +508 -487
  176. package/dist/vue-ui-table-Bjg-ujJu.js +1352 -0
  177. package/dist/vue-ui-table-heatmap-ljeYW8Wc.js +364 -0
  178. package/dist/{vue-ui-table-sparkline-CyGqW88t.js → vue-ui-table-sparkline-iRFmtK5S.js} +207 -181
  179. package/dist/vue-ui-thermometer-D8uiOaeA.js +777 -0
  180. package/dist/{vue-ui-timer-BVjydam-.js → vue-ui-timer-CYw983oL.js} +66 -58
  181. package/dist/vue-ui-tiremarks-CekiW2Ru.js +559 -0
  182. package/dist/vue-ui-treemap-h4VbnqPA.js +1760 -0
  183. package/dist/vue-ui-waffle-cu0w_s6L.js +1412 -0
  184. package/dist/{vue-ui-wheel-D-VVxvxY.js → vue-ui-wheel-tLvJadk5.js} +225 -217
  185. package/dist/{vue-ui-word-cloud-CcRch2t2.js → vue-ui-word-cloud-BjpGSsod.js} +440 -432
  186. package/dist/{vue-ui-world-BJq4PZqF.js → vue-ui-world-B4fCS3jN.js} +350 -342
  187. package/dist/{vue-ui-xy-D64AB5Qy.js → vue-ui-xy-7ZT9IRD8.js} +1639 -1595
  188. package/dist/{vue-ui-xy-canvas-mDqjPtxh.js → vue-ui-xy-canvas-BnLEwBpi.js} +459 -431
  189. package/dist/{vue-ui-xy-B8XBn08L.js → vue-ui-xy-gyNS0yH0.js} +216 -213
  190. package/dist/vue_ui_hill-dnltu0L-.js +368 -0
  191. package/package.json +4 -4
  192. package/dist/Slicer-JdCzBeYM.js +0 -1149
  193. package/dist/Title-Thf71-8D.js +0 -87
  194. package/dist/exposedLib-CfZhN94x.js +0 -25
  195. package/dist/useAutoSizeLabelsInsideViewbox-CSzmRywi.js +0 -50
  196. package/dist/useMountedDelay-BAjrhRJb.js +0 -14
  197. package/dist/vue-ui-3d-bar-D9-jAA5Z.js +0 -1824
  198. package/dist/vue-ui-age-pyramid-D4f-Agb7.js +0 -1246
  199. package/dist/vue-ui-annotator-P9E8hpJl.js +0 -2905
  200. package/dist/vue-ui-bullet-CKg0bShN.js +0 -709
  201. package/dist/vue-ui-carousel-table-BD_fxykj.js +0 -455
  202. package/dist/vue-ui-circle-pack--DUVDQx3.js +0 -1610
  203. package/dist/vue-ui-dashboard-mGLvP0UA.js +0 -512
  204. package/dist/vue-ui-donut-BCLG16Vb.js +0 -2418
  205. package/dist/vue-ui-dumbbell-DZ78WASa.js +0 -1564
  206. package/dist/vue-ui-funnel-DSpUMyDO.js +0 -781
  207. package/dist/vue-ui-galaxy-CxKafV1X.js +0 -1076
  208. package/dist/vue-ui-gauge-CegUK3FD.js +0 -925
  209. package/dist/vue-ui-history-plot-XOexkxeI.js +0 -1725
  210. package/dist/vue-ui-horizontal-bar-BCTdLxjK.js +0 -1689
  211. package/dist/vue-ui-kpi-EenGDZ-l.js +0 -96
  212. package/dist/vue-ui-mini-loader-CA7XxPk7.js +0 -125
  213. package/dist/vue-ui-molecule-5rpD2mlK.js +0 -932
  214. package/dist/vue-ui-onion-CDC9AGh1.js +0 -1199
  215. package/dist/vue-ui-parallel-coordinate-plot-DUOI7HoD.js +0 -1412
  216. package/dist/vue-ui-quick-chart-B8XCKef-.js +0 -2443
  217. package/dist/vue-ui-rating-B7ApWpIJ.js +0 -352
  218. package/dist/vue-ui-relation-circle-LVOR5VZ6.js +0 -917
  219. package/dist/vue-ui-ridgeline-BlyzSJHc.js +0 -1627
  220. package/dist/vue-ui-sparkhistogram-B5252IVr.js +0 -575
  221. package/dist/vue-ui-sparkstackbar-CiLgNzaI.js +0 -674
  222. package/dist/vue-ui-stackbar-Bwz6Z7M4.js +0 -2322
  223. package/dist/vue-ui-stackline-DX3YDRSg.js +0 -2427
  224. package/dist/vue-ui-table-DEhy61ln.js +0 -1339
  225. package/dist/vue-ui-table-heatmap-1LTxQfQX.js +0 -338
  226. package/dist/vue-ui-thermometer-CNvTQJUq.js +0 -769
  227. package/dist/vue-ui-tiremarks-3ZBAE8SA.js +0 -551
  228. package/dist/vue-ui-treemap-FqqXQvZw.js +0 -1727
  229. package/dist/vue-ui-waffle-B37Yx9uw.js +0 -1367
@@ -0,0 +1,1258 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, D as n, Jt as r, Kt as i, Pt as a, S as o, X as s, ct as ee, i as te, jt as ne, q as re, t as ie, tt as ae, w as oe, xt as se } from "./lib-Bttd6u5E.js";
3
+ import { n as ce, t as le } from "./useHints-Dq_w2E8B.js";
4
+ import { t as ue } from "./useConfig-D3scuR88.js";
5
+ import { t as de } from "./usePrinter-DN5bYhTG.js";
6
+ import { n as fe, t as pe } from "./BaseScanner-DZvpgOjM.js";
7
+ import { t as me } from "./useSvgExport-DH-FfcqQ.js";
8
+ import { t as he } from "./useNestedProp-vPNvh7rV.js";
9
+ import { t as ge } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as _e } from "./useTransitions-g_zBREk2.js";
11
+ import { t as ve } from "./img-Bnokohej.js";
12
+ import { n as ye } from "./Title-BE3qg9xl.js";
13
+ import { t as be } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
+ import { l as xe, t as Se } from "./useResponsive-ZtArZtUf.js";
15
+ import { t as Ce } from "./BaseLegendToggle-DZVucLnv.js";
16
+ import { t as we } from "./A11yDataTable-DdRsVULz.js";
17
+ import { t as Te } from "./useUserOptionState-DK-_1ddE.js";
18
+ import { t as Ee } from "./useChartAccessibility-DYqac8yF.js";
19
+ import { t as De } from "./labelUtils-BeVpDvTJ.js";
20
+ import { t as Oe } from "./Legend-CQxUgOd-.js";
21
+ import { t as ke } from "./useAutoSizeLabelsInsideViewbox-DvDwcwi_.js";
22
+ import { t as Ae } from "./vue_ui_onion-1FTFFS46.js";
23
+ import { Fragment as je, Teleport as Me, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as Ne, createTextVNode as Pe, createVNode as Fe, defineAsyncComponent as p, guardReactiveProps as m, mergeProps as Ie, nextTick as Le, normalizeClass as h, normalizeProps as g, normalizeStyle as _, onBeforeUnmount as Re, onMounted as ze, openBlock as v, ref as y, renderList as Be, renderSlot as b, resolveDynamicComponent as Ve, shallowRef as He, toDisplayString as x, toRefs as Ue, unref as S, watch as C, withCtx as w } from "vue";
24
+ //#region src/components/vue-ui-onion.vue
25
+ var We = /* @__PURE__ */ e({ default: () => ft }), Ge = ["id"], Ke = ["id"], qe = ["id"], Je = { style: { position: "relative" } }, Ye = [
26
+ "xmlns",
27
+ "aria-describedby",
28
+ "viewBox"
29
+ ], Xe = ["width", "height"], Ze = [
30
+ "cx",
31
+ "cy",
32
+ "r",
33
+ "stroke",
34
+ "stroke-width",
35
+ "stroke-dasharray",
36
+ "stroke-dashoffset"
37
+ ], Qe = [
38
+ "cx",
39
+ "cy",
40
+ "r",
41
+ "stroke",
42
+ "stroke-width",
43
+ "stroke-dasharray",
44
+ "stroke-dashoffset"
45
+ ], $e = ["id"], et = ["stdDeviation"], tt = ["filter"], nt = [
46
+ "cx",
47
+ "cy",
48
+ "r",
49
+ "stroke-width",
50
+ "stroke-dasharray",
51
+ "stroke-dashoffset"
52
+ ], rt = [
53
+ "cx",
54
+ "cy",
55
+ "r",
56
+ "stroke-width",
57
+ "stroke-dasharray",
58
+ "stroke-dashoffset",
59
+ "onMouseenter",
60
+ "onMouseleave",
61
+ "onClick"
62
+ ], it = { key: 2 }, at = [
63
+ "onMouseenter",
64
+ "onMouseleave",
65
+ "onClick"
66
+ ], ot = [
67
+ "transform",
68
+ "font-size",
69
+ "fill",
70
+ "font-weight"
71
+ ], st = {
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
+ }, ct = {
82
+ key: 5,
83
+ class: "vue-data-ui-watermark"
84
+ }, lt = ["id"], ut = ["onClick"], dt = ["innerHTML"], ft = /*#__PURE__*/ be({
85
+ __name: "vue-ui-onion",
86
+ props: {
87
+ config: {
88
+ type: Object,
89
+ default() {
90
+ return {};
91
+ }
92
+ },
93
+ dataset: {
94
+ type: Array,
95
+ default() {
96
+ return [];
97
+ }
98
+ }
99
+ },
100
+ emits: ["selectLegend", "copyAlt"],
101
+ setup(e, { expose: be, emit: We }) {
102
+ let ft = p(() => import("./Tooltip-DhjyfHwz.js")), pt = p(() => import("./BaseIcon-BfndwIWE.js").then((e) => e.n)), mt = p(() => import("./vue-ui-accordion-BxGriZik.js").then((e) => e.n)), ht = p(() => import("./DataTable-BbKgJ5UI.js")), gt = p(() => import("./UserOptions-Dt98of5H.js").then((e) => e.n)), _t = p(() => import("./PenAndPaper-DAE-tnEQ.js").then((e) => e.t)), vt = p(() => import("./PackageVersion-D6d8SCp9.js").then((e) => e.t)), yt = p(() => import("./BaseDraggableDialog-LoqqwRtV.js").then((e) => e.n)), { vue_ui_onion: bt } = ue(), { isThemeValid: xt, warnInvalidTheme: St } = ge(), T = e, Ct = c(() => !!T.dataset && T.dataset.length), E = y(re()), wt = y(null), Tt = y(0), Et = y(!1), Dt = y(""), D = y([]), O = y(null), Ot = y(null), kt = y(null), At = y(null), jt = y(null), Mt = y(0), Nt = y(0), Pt = y(0), k = y(!1), Ft = y(!1), A = y(null), It = y(!1), Lt = y(!1), j = y(null), Rt = y({
103
+ x: 0,
104
+ y: 0
105
+ }), zt = y("pointer"), Bt = y(!1), M = y(qt());
106
+ ce({
107
+ config: () => M.value,
108
+ dataset: () => T.dataset,
109
+ component: "VueUiOnion",
110
+ rules: [le.emptyArray, {
111
+ test: (e) => e.length > 8,
112
+ message: [
113
+ "👀 The number of series is > 8. Consider:",
114
+ "",
115
+ "▶️ Grouping small values dynamically into a single \"Other\" series.",
116
+ "",
117
+ "▶️ Using filters to let users choose a maximum number of series to display.",
118
+ "",
119
+ "▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read."
120
+ ]
121
+ }]
122
+ });
123
+ let { transitionEnabled: N } = _e({
124
+ config: () => M.value.transitions,
125
+ dataset: () => T.dataset
126
+ }), P = c(() => M.value.userOptions.useCursorPointer), Vt = c(() => r({
127
+ defaultConfig: {
128
+ userOptions: { show: !1 },
129
+ table: { show: !1 },
130
+ style: { chart: {
131
+ backgroundColor: "#99999930",
132
+ layout: {
133
+ gutter: { color: "#99999950" },
134
+ labels: { show: !1 }
135
+ },
136
+ legend: { backgroundColor: "transparent" }
137
+ } }
138
+ },
139
+ userConfig: M.value.skeletonConfig ?? {}
140
+ })), { loading: F, FINAL_DATASET: Ht, manualLoading: Ut } = fe({
141
+ ...Ue(T),
142
+ FINAL_CONFIG: M,
143
+ prepareConfig: qt,
144
+ callback: () => {
145
+ Promise.resolve().then(async () => {
146
+ await Le(), pn();
147
+ });
148
+ },
149
+ skeletonDataset: T.config?.skeletonDataset ?? [
150
+ {
151
+ name: "_",
152
+ percentage: 50,
153
+ value: 1,
154
+ color: "#DBDBDB"
155
+ },
156
+ {
157
+ name: "_",
158
+ percentage: 50,
159
+ value: 1,
160
+ color: "#C4C4C4"
161
+ },
162
+ {
163
+ name: "_",
164
+ percentage: 50,
165
+ value: 1,
166
+ color: "#ADADAD"
167
+ },
168
+ {
169
+ name: "_",
170
+ percentage: 50,
171
+ value: 1,
172
+ color: "#969696"
173
+ }
174
+ ],
175
+ skeletonConfig: r({
176
+ defaultConfig: M.value,
177
+ userConfig: Vt.value
178
+ })
179
+ }), { userOptionsVisible: Wt, setUserOptionsVisibility: Gt, keepUserOptionState: Kt } = Te({ config: M.value }), { svgRef: I } = Ee({ config: M.value.style.chart.title });
180
+ function qt() {
181
+ let e = he({
182
+ userConfig: T.config,
183
+ defaultConfig: bt
184
+ }), t = e.theme;
185
+ if (!t) return e;
186
+ if (!xt.value(e)) return St(e), e;
187
+ let n = he({
188
+ userConfig: Ae[t] || T.config,
189
+ defaultConfig: e
190
+ }), r = he({
191
+ userConfig: T.config,
192
+ defaultConfig: n
193
+ });
194
+ return {
195
+ ...r,
196
+ customPalette: r.customPalette.length ? r.customPalette : i[t] || a
197
+ };
198
+ }
199
+ C(() => T.config, (e) => {
200
+ F.value || (M.value = qt()), Wt.value = !M.value.userOptions.showOnChartHover, cn(), Mt.value += 1, Nt.value += 1, Pt.value += 1, L.value.showTable = M.value.table.show, L.value.showTooltip = M.value.style.chart.tooltip.show;
201
+ }, { deep: !0 });
202
+ let { isPrinting: Jt, isImaging: Yt, generatePdf: Xt, generateImage: Zt } = de({
203
+ elementId: `vue-ui-onion_${E.value}`,
204
+ fileName: M.value.style.chart.title.text || "vue-ui-onion",
205
+ options: M.value.userOptions.print
206
+ }), Qt = c(() => M.value.userOptions.show && !M.value.style.chart.title.text), $t = c(() => oe(M.value.customPalette)), L = y({
207
+ showTable: M.value.table.show,
208
+ showTooltip: M.value.style.chart.tooltip.show
209
+ });
210
+ C(M, () => {
211
+ L.value = {
212
+ showTable: M.value.table.show,
213
+ showTooltip: M.value.style.chart.tooltip.show
214
+ };
215
+ }, { immediate: !0 });
216
+ let R = y({
217
+ height: 512,
218
+ width: 512,
219
+ padding: {
220
+ top: 64,
221
+ left: 64,
222
+ right: 64,
223
+ bottom: 64
224
+ },
225
+ minRadius: 64
226
+ }), z = He(null), B = He(null);
227
+ ze(() => {
228
+ Ft.value = !0, cn();
229
+ });
230
+ let { autoSizeLabels: en } = ke({
231
+ svgRef: I,
232
+ fontSize: () => M.value.style.chart.layout.labels.fontSize,
233
+ minFontSize: () => M.value.style.chart.layout.labels.minFontSize,
234
+ labelClass: ".vue-ui-onion-label"
235
+ }), V = null, H = null, U = 0;
236
+ function tn() {
237
+ V !== null && (cancelAnimationFrame(V), V = null), H !== null && (clearTimeout(H), H = null);
238
+ }
239
+ function nn(e) {
240
+ return String(e).split(",").map((e) => {
241
+ let t = e.trim(), n = Number.parseFloat(t);
242
+ return Number.isFinite(n) ? t.endsWith("ms") ? n : n * 1e3 : 0;
243
+ });
244
+ }
245
+ function rn() {
246
+ return typeof window > "u" || !N.value || k.value || F.value || !I.value ? 0 : Array.from(I.value.querySelectorAll(".vue-ui-onion-label.vue-data-ui-transition")).reduce((e, t) => {
247
+ let n = window.getComputedStyle(t);
248
+ if (n.transitionProperty === "none") return e;
249
+ let r = nn(n.transitionDuration), i = nn(n.transitionDelay), a = Math.max(r.length, i.length), o = Array.from({ length: a }, (e, t) => (r[t % r.length] ?? 0) + (i[t % i.length] ?? 0)).reduce((e, t) => Math.max(e, t), 0);
250
+ return Math.max(e, o);
251
+ }, 0);
252
+ }
253
+ function an() {
254
+ typeof window > "u" || (V = requestAnimationFrame(() => {
255
+ V = null, en();
256
+ }));
257
+ }
258
+ function W() {
259
+ if (typeof window > "u") return;
260
+ let e = ++U;
261
+ tn(), Le(() => {
262
+ e === U && (V = requestAnimationFrame(() => {
263
+ if (V = null, e !== U) return;
264
+ let t = rn();
265
+ if (t <= 0) {
266
+ an();
267
+ return;
268
+ }
269
+ H = setTimeout(() => {
270
+ H = null, e === U && an();
271
+ }, t + 34);
272
+ }));
273
+ });
274
+ }
275
+ let on = c(() => M.value.debug), sn = null;
276
+ function cn() {
277
+ if (ne(T.dataset) && (ae({
278
+ componentName: "VueUiOnion",
279
+ type: "dataset",
280
+ debug: on.value
281
+ }), Ut.value = !0), ne(T.dataset) || (Ut.value = M.value.loading), M.value.responsive) {
282
+ let e = 64 / 512, t = xe(() => {
283
+ sn && clearTimeout(sn), k.value = !0;
284
+ let { width: t, height: n } = Se({
285
+ chart: O.value,
286
+ title: M.value.style.chart.title.text ? Ot.value : null,
287
+ legend: M.value.style.chart.legend.show ? kt.value : null,
288
+ source: At.value,
289
+ noTitle: jt.value
290
+ });
291
+ n -= 12, requestAnimationFrame(async () => {
292
+ R.value.width = t, R.value.height = n, R.value.padding.top = Math.max(t, n) * e, R.value.padding.right = Math.max(t, n) * e, R.value.padding.bottom = Math.max(t, n) * e, R.value.padding.left = Math.max(t, n) * e, R.value.minRadius = Math.min(t, n) * e, sn = setTimeout(() => {
293
+ k.value = !1, W();
294
+ }, 0);
295
+ });
296
+ });
297
+ z.value && (B.value && z.value.unobserve(B.value), z.value.disconnect()), z.value = new ResizeObserver(t), B.value = O.value.parentNode, z.value.observe(B.value);
298
+ }
299
+ W();
300
+ }
301
+ Re(() => {
302
+ U += 1, tn(), z.value && (B.value && z.value.unobserve(B.value), z.value.disconnect());
303
+ });
304
+ let G = c(() => ({
305
+ top: R.value.padding.top,
306
+ left: R.value.padding.left,
307
+ right: R.value.width - R.value.padding.right,
308
+ bottom: R.value.height - R.value.padding.bottom,
309
+ centerX: R.value.width / 2,
310
+ centerY: R.value.height / 2,
311
+ width: R.value.width - R.value.padding.right - R.value.padding.left,
312
+ height: R.value.height - R.value.padding.bottom - R.value.padding.top,
313
+ minRadius: R.value.minRadius,
314
+ maxRadius: Math.min(R.value.width, R.value.height) - R.value.padding.top * 2
315
+ })), K = c(() => (Ht.value.forEach((e, t) => {
316
+ [null, void 0].includes(e.name) && ae({
317
+ componentName: "VueUiOnion",
318
+ type: "datasetSerieAttribute",
319
+ property: "name",
320
+ index: t
321
+ }), [void 0].includes(e.percentage) && ae({
322
+ componentName: "VueUiOnion",
323
+ type: "datasetSerieAttribute",
324
+ property: "percentage",
325
+ index: t
326
+ });
327
+ }), Ht.value.map((e, t) => {
328
+ let n = `onion_serie_${t}_${E.value}`;
329
+ return {
330
+ ...e,
331
+ percentage: e.percentage || 0,
332
+ targetPercentage: e.percentage || 0,
333
+ color: o(e.color) || $t.value[t] || a[t],
334
+ id: n,
335
+ shape: "circle",
336
+ opacity: D.value.includes(n) ? .5 : 1,
337
+ absoluteIndex: t,
338
+ segregate: () => yn(n),
339
+ isSegregated: D.value.includes(n)
340
+ };
341
+ }))), q = c(() => K.value.map((e, t) => {
342
+ let n = M.value.style.chart.legend.showValue, r = M.value.style.chart.legend.showPercentage, i = kn({
343
+ showVal: n,
344
+ showPercentage: r,
345
+ val: te(M.value.style.chart.layout.labels.value.formatter, e.value, s({
346
+ p: e.prefix || "",
347
+ v: e.value,
348
+ s: e.suffix || "",
349
+ r: M.value.style.chart.legend.roundingValue
350
+ })),
351
+ percentage: s({
352
+ v: e.percentage ?? 0,
353
+ s: "%",
354
+ r: M.value.style.chart.legend.roundingPercentage
355
+ }),
356
+ config: M.value.style.chart.legend
357
+ });
358
+ return {
359
+ ...e,
360
+ display: `${e.name}${n || r ? ": " : ""}${i}`
361
+ };
362
+ })), J = y(K.value), ln = c(() => M.value.useStartAnimation), un = y(null), dn = c(() => Math.max(...K.value.map((e) => e.percentage))), fn = y(!1);
363
+ C(() => K.value, pn, {
364
+ immediate: !0,
365
+ deep: !0
366
+ }), C(() => T.dataset, (e) => {
367
+ Array.isArray(e) && e.length > 0 && (Ut.value = !1), W();
368
+ }, {
369
+ deep: !0,
370
+ flush: "post"
371
+ });
372
+ function pn() {
373
+ if (ln.value && !fn.value && !F.value) {
374
+ J.value = K.value.map((e) => ({
375
+ ...e,
376
+ percentage: 0
377
+ }));
378
+ let e = 0;
379
+ function t() {
380
+ e >= dn.value ? (cancelAnimationFrame(un.value), J.value = K.value, fn.value = !0) : (J.value = K.value.map((t) => ({
381
+ ...t,
382
+ percentage: e < t.targetPercentage ? e : t.targetPercentage
383
+ })), e += 1, requestAnimationFrame(t), fn.value = !0);
384
+ }
385
+ t();
386
+ } else J.value = K.value;
387
+ }
388
+ let mn = c(() => ({
389
+ cy: "onion-div-legend",
390
+ backgroundColor: M.value.style.chart.legend.backgroundColor,
391
+ color: M.value.style.chart.legend.color,
392
+ fontSize: M.value.style.chart.legend.fontSize,
393
+ paddingBottom: 12,
394
+ fontWeight: M.value.style.chart.legend.bold ? "bold" : ""
395
+ })), hn = c(() => K.value.filter((e) => !D.value.includes(e.id)).length), Y = c(() => {
396
+ let e = Math.min(G.value.width, G.value.height) / 2 / K.value.length;
397
+ return {
398
+ gutter: (e > M.value.style.chart.layout.maxThickness ? M.value.style.chart.layout.maxThickness : e) * M.value.style.chart.layout.gutter.width,
399
+ track: (e > M.value.style.chart.layout.maxThickness ? M.value.style.chart.layout.maxThickness : e) * M.value.style.chart.layout.track.width
400
+ };
401
+ }), X = c(() => J.value.filter((e) => !D.value.includes(e.id)).map((e, t) => {
402
+ let n = (G.value.maxRadius - Y.value.track) / hn.value / 2 * (1 + t), r = G.value.centerY - n;
403
+ return {
404
+ percentage: e.percentage || 0,
405
+ ...e,
406
+ labelY: r,
407
+ radius: n,
408
+ path: gn(n, e.percentage || 0)
409
+ };
410
+ }));
411
+ function gn(e, t) {
412
+ let n = 2 * Math.PI * e, r = n * .75, i = `${r} ${n}`, a = r * (1 - t / 100);
413
+ return {
414
+ bgDashArray: `${r} ${n}`,
415
+ bgDashOffset: 0,
416
+ dashArray: i,
417
+ dashOffset: a,
418
+ fullOffset: 0,
419
+ active: `
420
+ M ${G.value.centerX},${G.value.centerY - e}
421
+ A ${e},${e} 0 1 1
422
+ ${G.value.centerX + e * Math.cos(Math.PI * 3 / 4)},${G.value.centerY + e * Math.sin(Math.PI * 3 / 4)}
423
+ `.trim()
424
+ };
425
+ }
426
+ let _n = We;
427
+ function vn() {
428
+ D.value.length ? D.value = [] : q.value.forEach((e) => {
429
+ D.value.push(e.id);
430
+ }), W(), _n("selectLegend", X.value);
431
+ }
432
+ function yn(e) {
433
+ if (D.value.includes(e)) D.value = D.value.filter((t) => t !== e);
434
+ else {
435
+ if (D.value.length === K.value.length - 1) return;
436
+ D.value.push(e);
437
+ }
438
+ W(), _n("selectLegend", X.value);
439
+ }
440
+ function bn(e) {
441
+ return K.value.length ? K.value.find((t) => t.name === e) || (M.value.debug && console.warn(`VueUiOnion - Series name not found "${e}"`), null) : (M.value.debug && console.warn("VueUiOnion - There are no series to show."), null);
442
+ }
443
+ function xn(e) {
444
+ let t = bn(e);
445
+ t !== null && D.value.includes(t.id) && yn(t.id);
446
+ }
447
+ function Sn(e) {
448
+ let t = bn(e);
449
+ t !== null && (D.value.includes(t.id) || yn(t.id));
450
+ }
451
+ function Cn() {
452
+ return X.value;
453
+ }
454
+ let wn = c(() => ({
455
+ head: [
456
+ M.value.table.translations.serie,
457
+ M.value.table.translations.percentage,
458
+ M.value.table.translations.value
459
+ ],
460
+ body: X.value.map((e) => [
461
+ e.name,
462
+ e.percentage,
463
+ e.value
464
+ ])
465
+ })), Z = c(() => {
466
+ let e = wn.value.head;
467
+ return {
468
+ head: e,
469
+ body: X.value.map((e) => [
470
+ `<span style="color:${e.color}" aria-hidden="true">⬤</span> ${e.name}`,
471
+ `${Number(e.percentage ?? 0).toFixed(M.value.table.td.roundingPercentage).toLocaleString()}%`,
472
+ `${e.prefix || ""}${[
473
+ null,
474
+ void 0,
475
+ NaN,
476
+ "NaN"
477
+ ].includes(e.value) ? "-" : e.value.toFixed(M.value.table.td.roundingValue).toLocaleString()}${e.suffix || ""}`
478
+ ]),
479
+ config: {
480
+ th: {
481
+ backgroundColor: M.value.table.th.backgroundColor,
482
+ color: M.value.table.th.color,
483
+ outline: M.value.table.th.outline
484
+ },
485
+ td: {
486
+ backgroundColor: M.value.table.td.backgroundColor,
487
+ color: M.value.table.td.color,
488
+ outline: M.value.table.td.outline
489
+ },
490
+ breakpoint: M.value.table.responsiveBreakpoint
491
+ },
492
+ colNames: e
493
+ };
494
+ });
495
+ function Tn(e = null) {
496
+ Le(() => {
497
+ let r = [
498
+ [M.value.style.chart.title.text],
499
+ [M.value.style.chart.title.subtitle.text],
500
+ [""]
501
+ ], i = wn.value.head, a = wn.value.body, o = r.concat([i]).concat(a), s = n(o);
502
+ e ? e(s) : t({
503
+ csvContent: s,
504
+ title: M.value.style.chart.title.text || "vue-ui-onion"
505
+ });
506
+ });
507
+ }
508
+ let Q = y(void 0), $ = y(!1);
509
+ function En(e) {
510
+ $.value = e, Tt.value += 1;
511
+ }
512
+ function Dn({ datapoint: e }) {
513
+ M.value.events.datapointClick && M.value.events.datapointClick({
514
+ datapoint: e,
515
+ seriesIndex: e.absoluteIndex
516
+ });
517
+ }
518
+ function On({ datapoint: e }) {
519
+ Q.value = void 0, Et.value = !1, j.value = null, zt.value = "pointer", M.value.events.datapointLeave && M.value.events.datapointLeave({
520
+ datapoint: e,
521
+ seriesIndex: e.absoluteIndex
522
+ });
523
+ }
524
+ function kn({ val: e, percentage: t, showVal: n, showPercentage: r, config: i }) {
525
+ return De({
526
+ config: i,
527
+ val: e,
528
+ percentage: t,
529
+ showVal: n,
530
+ showPercentage: r
531
+ });
532
+ }
533
+ function An(e, t) {
534
+ let n = M.value.style.chart.layout.labels.value.show, r = M.value.style.chart.layout.labels.percentage.show, i = kn({
535
+ config: M.value.style.chart.layout.labels,
536
+ showVal: n,
537
+ showPercentage: r,
538
+ val: te(M.value.style.chart.layout.labels.value.formatter, e.value, s({
539
+ p: e.prefix || "",
540
+ v: e.value || 0,
541
+ s: e.suffix || "",
542
+ r: M.value.style.chart.layout.labels.roundingValue
543
+ }), {
544
+ datapoint: e,
545
+ seriesIndex: t
546
+ }),
547
+ percentage: s({
548
+ v: e.percentage,
549
+ s: "%",
550
+ r: M.value.style.chart.layout.labels.roundingPercentage
551
+ })
552
+ });
553
+ return `${e.name}${n || r ? ": " : ""}${i}`;
554
+ }
555
+ let jn = y(null);
556
+ function Mn({ datapoint: e, seriesIndex: t, show: n = !0, triggerMode: r = "pointer" }) {
557
+ M.value.events.datapointEnter && M.value.events.datapointEnter({
558
+ datapoint: e,
559
+ seriesIndex: e.absoluteIndex
560
+ }), zt.value = r, j.value = t;
561
+ let i = e.absoluteIndex;
562
+ Q.value = t, jn.value = {
563
+ datapoint: e,
564
+ seriesIndex: i,
565
+ series: K.value,
566
+ config: M.value
567
+ }, Et.value = n;
568
+ let a = "", o = M.value.style.chart.tooltip.customFormat;
569
+ if (se(o) && ee(() => o({
570
+ seriesIndex: i,
571
+ datapoint: e,
572
+ series: K.value,
573
+ config: M.value
574
+ }))) Dt.value = o({
575
+ seriesIndex: i,
576
+ datapoint: e,
577
+ series: K.value,
578
+ config: M.value
579
+ });
580
+ else {
581
+ let n = M.value.style.chart.tooltip.showPercentage, r = M.value.style.chart.tooltip.showValue;
582
+ a += `<div style="width:100%;text-align:center;border-bottom:1px solid ${M.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`, a += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${e.color}"/></svg>`, a += `<b>${kn({
583
+ config: M.value.style.chart.tooltip,
584
+ showVal: r,
585
+ showPercentage: n,
586
+ val: `<span>${te(M.value.style.chart.layout.labels.value.formatter, e.value, s({
587
+ p: e.prefix || "",
588
+ v: e.value,
589
+ s: e.suffix || "",
590
+ r: M.value.style.chart.tooltip.roundingValue
591
+ }), {
592
+ datapoint: e,
593
+ seriesIndex: t
594
+ })}</span>`,
595
+ percentage: s({
596
+ v: e.percentage,
597
+ s: "%",
598
+ r: M.value.style.chart.tooltip.roundingPercentage
599
+ })
600
+ })}</b></div>`, Dt.value = `<div>${a}</div>`;
601
+ }
602
+ }
603
+ function Nn() {
604
+ L.value.showTable = !L.value.showTable;
605
+ }
606
+ function Pn() {
607
+ L.value.showTooltip = !L.value.showTooltip;
608
+ }
609
+ let Fn = y(!1);
610
+ function In() {
611
+ Fn.value = !Fn.value;
612
+ }
613
+ async function Ln({ scale: e = 2 } = {}) {
614
+ if (!O.value) return;
615
+ let { width: t, height: n } = O.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await ve({
616
+ domElement: O.value,
617
+ base64: !0,
618
+ img: !0,
619
+ scale: e
620
+ });
621
+ return {
622
+ imageUri: i,
623
+ base64: a,
624
+ title: M.value.style.chart.title.text,
625
+ width: t,
626
+ height: n,
627
+ aspectRatio: r
628
+ };
629
+ }
630
+ let Rn = c(() => {
631
+ let e = M.value.table.useDialog && !M.value.table.show, t = L.value.showTable;
632
+ return {
633
+ component: e ? yt : mt,
634
+ title: `${M.value.style.chart.title.text}${M.value.style.chart.title.subtitle.text ? `: ${M.value.style.chart.title.subtitle.text}` : ""}`,
635
+ props: e ? {
636
+ backgroundColor: M.value.table.th.backgroundColor,
637
+ color: M.value.table.th.color,
638
+ headerColor: M.value.table.th.color,
639
+ headerBg: M.value.table.th.backgroundColor,
640
+ isFullscreen: $.value,
641
+ fullscreenParent: O.value,
642
+ forcedWidth: Math.min(600, window.innerWidth * .8),
643
+ isCursorPointer: P.value
644
+ } : {
645
+ hideDetails: !0,
646
+ config: {
647
+ open: t,
648
+ maxHeight: 1e4,
649
+ body: {
650
+ backgroundColor: M.value.style.chart.backgroundColor,
651
+ color: M.value.style.chart.color
652
+ },
653
+ head: {
654
+ backgroundColor: M.value.style.chart.backgroundColor,
655
+ color: M.value.style.chart.color
656
+ }
657
+ }
658
+ }
659
+ };
660
+ });
661
+ C(() => L.value.showTable, (e) => {
662
+ M.value.table.show || (e && M.value.table.useDialog && A.value ? A.value.open() : "close" in A.value && A.value.close());
663
+ });
664
+ let zn = c(() => q.value.map((e) => ({
665
+ ...e,
666
+ name: e.display
667
+ }))), Bn = c(() => M.value.style.chart.backgroundColor), Vn = c(() => M.value.style.chart.legend), Hn = c(() => M.value.style.chart.title), { exportSvg: Un, getSvg: Wn } = me({
668
+ svg: I,
669
+ title: Hn,
670
+ legend: Vn,
671
+ legendItems: zn,
672
+ backgroundColor: Bn
673
+ });
674
+ async function Gn({ isCb: e }) {
675
+ Lt.value = !0, await Le();
676
+ try {
677
+ if (e) {
678
+ let { blob: e, url: t, text: n, dataUrl: r } = await Wn();
679
+ await Promise.resolve(M.value.userOptions.callbacks.svg({
680
+ blob: e,
681
+ url: t,
682
+ text: n,
683
+ dataUrl: r
684
+ }));
685
+ } else await Promise.resolve(Un());
686
+ } finally {
687
+ Lt.value = !1;
688
+ }
689
+ }
690
+ function Kn(e) {
691
+ if (e?.stage === "start") {
692
+ It.value = !0;
693
+ return;
694
+ }
695
+ if (e?.stage === "end") {
696
+ It.value = !1;
697
+ return;
698
+ }
699
+ Zt();
700
+ }
701
+ async function qn() {
702
+ if (_n("copyAlt", {
703
+ config: M.value,
704
+ dataset: X.value
705
+ }), !M.value.userOptions.callbacks.altCopy) {
706
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
707
+ return;
708
+ }
709
+ await Promise.resolve(M.value.userOptions.callbacks.altCopy({
710
+ config: M.value,
711
+ dataset: X.value
712
+ }));
713
+ }
714
+ function Jn() {
715
+ j.value = null, Bt.value = !0;
716
+ }
717
+ function Yn() {
718
+ j.value = null, zt.value = "pointer", Et.value = !1, Q.value = void 0, Bt.value = !1;
719
+ }
720
+ function Xn(e) {
721
+ if (!I.value || Fn.value || document.activeElement !== I.value || !X.value.length) return;
722
+ let t = ["ArrowLeft", "ArrowDown"].includes(e.key), n = ["ArrowRight", "ArrowUp"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
723
+ if (!t && !n && !r && !i) return;
724
+ if (e.preventDefault(), e.stopPropagation(), i) {
725
+ j.value = null, zt.value = "pointer", Et.value = !1, Q.value = void 0;
726
+ return;
727
+ }
728
+ if (r) {
729
+ if (j.value === null) return;
730
+ let e = X.value[j.value];
731
+ if (!e) return;
732
+ Dn({ datapoint: e });
733
+ return;
734
+ }
735
+ let a = j.value;
736
+ a === null || a < 0 || a >= X.value.length ? a = n ? 0 : X.value.length - 1 : n ? (a += 1, a >= X.value.length && (a = 0)) : t && (--a, a < 0 && (a = X.value.length - 1));
737
+ let o = X.value[a];
738
+ o && (Zn(a), Mn({
739
+ datapoint: o,
740
+ seriesIndex: a,
741
+ show: !0,
742
+ triggerMode: "keyboard"
743
+ }));
744
+ }
745
+ function Zn(e) {
746
+ if (!Number.isFinite(e) || !I.value) return;
747
+ let t = X.value[e];
748
+ if (!t) return;
749
+ let n = t.radius, r = Math.PI * 7 / 4, i = G.value.centerX + n * Math.cos(r), a = G.value.centerY + n * Math.sin(r), o = I.value.getBoundingClientRect();
750
+ Rt.value = {
751
+ x: o.left + i / R.value.width * o.width,
752
+ y: o.top + a / R.value.height * o.height
753
+ };
754
+ }
755
+ let Qn = c(() => ({
756
+ headers: Z.value?.colNames ?? [],
757
+ rows: Z.value?.body ?? []
758
+ }));
759
+ return be({
760
+ getData: Cn,
761
+ getImage: Ln,
762
+ generatePdf: Xt,
763
+ generateCsv: Tn,
764
+ generateImage: Zt,
765
+ generateSvg: Gn,
766
+ hideSeries: Sn,
767
+ showSeries: xn,
768
+ toggleTable: Nn,
769
+ toggleTooltip: Pn,
770
+ toggleAnnotator: In,
771
+ toggleFullscreen: En,
772
+ copyAlt: qn
773
+ }), (e, t) => (v(), d("div", {
774
+ class: h(`vue-data-ui-component vue-ui-onion ${$.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${M.value.useCssAnimation ? "" : "vue-ui-dna"}`),
775
+ ref_key: "onionChart",
776
+ ref: O,
777
+ id: `vue-ui-onion_${E.value}`,
778
+ style: _(`font-family:${M.value.style.fontFamily};width:100%; ${M.value.responsive ? "height: 100%;" : ""} text-align:center;background:${M.value.style.chart.backgroundColor}`),
779
+ onMouseenter: t[4] ||= () => S(Gt)(!0),
780
+ onMouseleave: t[5] ||= () => S(Gt)(!1)
781
+ }, [
782
+ f("div", {
783
+ id: `chart-instructions-${E.value}`,
784
+ class: "sr-only"
785
+ }, [f("p", null, x(M.value.a11y.translations.keyboardNavigation), 1)], 8, Ke),
786
+ Qn.value?.rows?.length ? (v(), l(we, {
787
+ key: 0,
788
+ uid: E.value,
789
+ head: Qn.value.headers,
790
+ body: Qn.value.rows,
791
+ notice: M.value.a11y.translations.tableAvailable,
792
+ caption: M.value.a11y.translations.tableCaption
793
+ }, null, 8, [
794
+ "uid",
795
+ "head",
796
+ "body",
797
+ "notice",
798
+ "caption"
799
+ ])) : u("", !0),
800
+ M.value.userOptions.buttons.annotator ? (v(), l(S(_t), {
801
+ key: 1,
802
+ svgRef: S(I),
803
+ backgroundColor: M.value.style.chart.backgroundColor,
804
+ color: M.value.style.chart.color,
805
+ active: Fn.value,
806
+ isCursorPointer: P.value,
807
+ onClose: In
808
+ }, {
809
+ "annotator-action-close": w(() => [b(e.$slots, "annotator-action-close", {}, void 0, !0)]),
810
+ "annotator-action-color": w(({ color: t }) => [b(e.$slots, "annotator-action-color", g(m({ color: t })), void 0, !0)]),
811
+ "annotator-action-draw": w(({ mode: t }) => [b(e.$slots, "annotator-action-draw", g(m({ mode: t })), void 0, !0)]),
812
+ "annotator-action-undo": w(({ disabled: t }) => [b(e.$slots, "annotator-action-undo", g(m({ disabled: t })), void 0, !0)]),
813
+ "annotator-action-redo": w(({ disabled: t }) => [b(e.$slots, "annotator-action-redo", g(m({ disabled: t })), void 0, !0)]),
814
+ "annotator-action-delete": w(({ disabled: t }) => [b(e.$slots, "annotator-action-delete", g(m({ disabled: t })), void 0, !0)]),
815
+ _: 3
816
+ }, 8, [
817
+ "svgRef",
818
+ "backgroundColor",
819
+ "color",
820
+ "active",
821
+ "isCursorPointer"
822
+ ])) : u("", !0),
823
+ Qt.value ? (v(), d("div", {
824
+ key: 2,
825
+ ref_key: "noTitle",
826
+ ref: jt,
827
+ class: "vue-data-ui-no-title-space",
828
+ style: "height:36px; width: 100%;background:transparent"
829
+ }, null, 512)) : u("", !0),
830
+ M.value.style.chart.title.text ? (v(), d("div", {
831
+ key: 3,
832
+ ref_key: "chartTitle",
833
+ ref: Ot,
834
+ style: "width:100%;background:transparent"
835
+ }, [(v(), l(ye, {
836
+ key: `title_${Mt.value}`,
837
+ config: {
838
+ title: {
839
+ cy: "onion-div-title",
840
+ ...M.value.style.chart.title
841
+ },
842
+ subtitle: {
843
+ cy: "onion-div-subtitle",
844
+ ...M.value.style.chart.title.subtitle
845
+ }
846
+ }
847
+ }, null, 8, ["config"]))], 512)) : u("", !0),
848
+ f("div", { id: `legend-top-${E.value}` }, null, 8, qe),
849
+ M.value.userOptions.show && Ct.value && (S(Kt) || S(Wt)) ? (v(), l(S(gt), {
850
+ ref_key: "details",
851
+ ref: wt,
852
+ key: `user_options${Tt.value}`,
853
+ backgroundColor: M.value.style.chart.backgroundColor,
854
+ color: M.value.style.chart.color,
855
+ isImaging: S(Yt),
856
+ isPrinting: S(Jt),
857
+ uid: E.value,
858
+ hasTooltip: M.value.userOptions.buttons.tooltip && M.value.style.chart.tooltip.show,
859
+ hasPdf: M.value.userOptions.buttons.pdf,
860
+ hasImg: M.value.userOptions.buttons.img,
861
+ hasSvg: M.value.userOptions.buttons.svg,
862
+ hasXls: M.value.userOptions.buttons.csv,
863
+ hasTable: M.value.userOptions.buttons.table,
864
+ hasFullscreen: M.value.userOptions.buttons.fullscreen,
865
+ hasAltCopy: M.value.userOptions.buttons.altCopy,
866
+ isFullscreen: $.value,
867
+ isTooltip: L.value.showTooltip,
868
+ titles: { ...M.value.userOptions.buttonTitles },
869
+ chartElement: O.value,
870
+ position: M.value.userOptions.position,
871
+ hasAnnotator: M.value.userOptions.buttons.annotator,
872
+ isAnnotation: Fn.value,
873
+ callbacks: M.value.userOptions.callbacks,
874
+ printScale: M.value.userOptions.print.scale,
875
+ tableDialog: M.value.table.useDialog,
876
+ isCursorPointer: P.value,
877
+ onToggleFullscreen: En,
878
+ onGeneratePdf: S(Xt),
879
+ onGenerateCsv: Tn,
880
+ onGenerateImage: Kn,
881
+ onGenerateSvg: Gn,
882
+ onToggleTable: Nn,
883
+ onToggleTooltip: Pn,
884
+ onToggleAnnotator: In,
885
+ onCopyAlt: qn,
886
+ style: _({ visibility: S(Kt) ? S(Wt) ? "visible" : "hidden" : "visible" })
887
+ }, Ne({ _: 2 }, [
888
+ e.$slots.menuIcon ? {
889
+ name: "menuIcon",
890
+ fn: w(({ isOpen: t, color: n }) => [b(e.$slots, "menuIcon", g(m({
891
+ isOpen: t,
892
+ color: n
893
+ })), void 0, !0)]),
894
+ key: "0"
895
+ } : void 0,
896
+ e.$slots.optionTooltip ? {
897
+ name: "optionTooltip",
898
+ fn: w(() => [b(e.$slots, "optionTooltip", {}, void 0, !0)]),
899
+ key: "1"
900
+ } : void 0,
901
+ e.$slots.optionPdf ? {
902
+ name: "optionPdf",
903
+ fn: w(() => [b(e.$slots, "optionPdf", {}, void 0, !0)]),
904
+ key: "2"
905
+ } : void 0,
906
+ e.$slots.optionCsv ? {
907
+ name: "optionCsv",
908
+ fn: w(() => [b(e.$slots, "optionCsv", {}, void 0, !0)]),
909
+ key: "3"
910
+ } : void 0,
911
+ e.$slots.optionImg ? {
912
+ name: "optionImg",
913
+ fn: w(() => [b(e.$slots, "optionImg", {}, void 0, !0)]),
914
+ key: "4"
915
+ } : void 0,
916
+ e.$slots.optionSvg ? {
917
+ name: "optionSvg",
918
+ fn: w(() => [b(e.$slots, "optionSvg", {}, void 0, !0)]),
919
+ key: "5"
920
+ } : void 0,
921
+ e.$slots.optionTable ? {
922
+ name: "optionTable",
923
+ fn: w(() => [b(e.$slots, "optionTable", {}, void 0, !0)]),
924
+ key: "6"
925
+ } : void 0,
926
+ e.$slots.optionFullscreen ? {
927
+ name: "optionFullscreen",
928
+ fn: w(({ toggleFullscreen: t, isFullscreen: n }) => [b(e.$slots, "optionFullscreen", g(m({
929
+ toggleFullscreen: t,
930
+ isFullscreen: n
931
+ })), void 0, !0)]),
932
+ key: "7"
933
+ } : void 0,
934
+ e.$slots.optionAnnotator ? {
935
+ name: "optionAnnotator",
936
+ fn: w(({ toggleAnnotator: t, isAnnotator: n }) => [b(e.$slots, "optionAnnotator", g(m({
937
+ toggleAnnotator: t,
938
+ isAnnotator: n
939
+ })), void 0, !0)]),
940
+ key: "8"
941
+ } : void 0,
942
+ e.$slots.optionAltCopy ? {
943
+ name: "optionAltCopy",
944
+ fn: w(({ altCopy: t }) => [b(e.$slots, "optionAltCopy", g(m({ altCopy: t })), void 0, !0)]),
945
+ key: "9"
946
+ } : void 0,
947
+ e.$slots["custom-menu-before"] ? {
948
+ name: "custom-menu-before",
949
+ fn: w(() => [b(e.$slots, "custom-menu-before", {}, void 0, !0)]),
950
+ key: "10"
951
+ } : void 0,
952
+ e.$slots["custom-menu-after"] ? {
953
+ name: "custom-menu-after",
954
+ fn: w(() => [b(e.$slots, "custom-menu-after", {}, void 0, !0)]),
955
+ key: "11"
956
+ } : void 0
957
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.style".split("."))) : u("", !0),
958
+ f("div", Je, [(v(), d("svg", {
959
+ ref_key: "svgRef",
960
+ ref: I,
961
+ xmlns: S(ie),
962
+ "aria-describedby": `chart-instructions-${E.value}`,
963
+ class: h({
964
+ "vue-data-ui-fullscreen--on": $.value,
965
+ "vue-data-ui-fulscreen--off": !$.value,
966
+ resizing: k.value,
967
+ "vue-data-ui-no-transition": !S(N) || k.value || S(F)
968
+ }),
969
+ viewBox: `0 0 ${R.value.width <= 0 ? 10 : R.value.width} ${R.value.height <= 0 ? 10 : R.value.height}`,
970
+ style: _(`max-width:100%;overflow:visible;background:transparent;color:${M.value.style.chart.color}`),
971
+ tabindex: "0",
972
+ onFocus: Jn,
973
+ onBlur: Yn,
974
+ onKeydown: Xn
975
+ }, [
976
+ Fe(S(vt)),
977
+ e.$slots["chart-background"] ? (v(), d("foreignObject", {
978
+ key: 0,
979
+ x: 0,
980
+ y: 0,
981
+ width: R.value.width <= 0 ? 10 : R.value.width,
982
+ height: R.value.height <= 0 ? 10 : R.value.height,
983
+ style: { pointerEvents: "none" }
984
+ }, [b(e.$slots, "chart-background", {}, void 0, !0)], 8, Xe)) : u("", !0),
985
+ (v(!0), d(je, null, Be(X.value, (e, t) => (v(), d("circle", {
986
+ cx: G.value.centerX,
987
+ cy: G.value.centerY,
988
+ r: e.radius <= 0 ? 1e-4 : e.radius,
989
+ stroke: M.value.style.chart.layout.gutter.color,
990
+ "stroke-width": Y.value.gutter,
991
+ fill: "none",
992
+ "stroke-dasharray": e.path.bgDashArray,
993
+ "stroke-dashoffset": e.path.fullOffset,
994
+ "stroke-linecap": "round",
995
+ class: h({
996
+ "vue-ui-onion-path": !0,
997
+ "vue-ui-onion-blur": M.value.useBlurOnHover && ![null, void 0].includes(Q.value) && Q.value !== t,
998
+ "vue-data-ui-transition": S(N)
999
+ }),
1000
+ style: {
1001
+ transform: "rotate(-90deg)",
1002
+ transformOrigin: "50% 50%"
1003
+ }
1004
+ }, null, 10, Ze))), 256)),
1005
+ (v(!0), d(je, null, Be(X.value, (e, t) => (v(), d("circle", {
1006
+ cx: G.value.centerX,
1007
+ cy: G.value.centerY,
1008
+ r: e.radius < 0 ? 1e-4 : e.radius,
1009
+ stroke: `${e.color}`,
1010
+ "stroke-width": Y.value.track,
1011
+ fill: "none",
1012
+ "stroke-dasharray": e.path.dashArray,
1013
+ "stroke-dashoffset": e.path.dashOffset,
1014
+ class: h({
1015
+ "vue-ui-onion-path": !0,
1016
+ "vue-ui-onion-blur": M.value.useBlurOnHover && ![null, void 0].includes(Q.value) && Q.value !== t,
1017
+ "vue-data-ui-transition": S(N)
1018
+ }),
1019
+ "stroke-linecap": "round",
1020
+ style: {
1021
+ transform: "rotate(-90deg)",
1022
+ transformOrigin: "50% 50%"
1023
+ }
1024
+ }, null, 10, Qe))), 256)),
1025
+ f("defs", null, [f("filter", {
1026
+ id: `blur_${E.value}`,
1027
+ x: "-50%",
1028
+ y: "-50%",
1029
+ width: "200%",
1030
+ height: "200%"
1031
+ }, [f("feGaussianBlur", {
1032
+ in: "SourceGraphic",
1033
+ stdDeviation: 100 / M.value.style.chart.gradientIntensity
1034
+ }, null, 8, et)], 8, $e)]),
1035
+ M.value.style.chart.useGradient ? (v(), d("g", {
1036
+ key: 1,
1037
+ filter: `url(#blur_${E.value})`
1038
+ }, [(v(!0), d(je, null, Be(X.value, (e, t) => (v(), d("circle", {
1039
+ cx: G.value.centerX,
1040
+ cy: G.value.centerY,
1041
+ r: e.radius <= 0 ? 1e-4 : e.radius,
1042
+ stroke: "white",
1043
+ "stroke-width": Y.value.track / 3,
1044
+ fill: "none",
1045
+ "stroke-linecap": "round",
1046
+ "stroke-dasharray": e.path.dashArray,
1047
+ "stroke-dashoffset": e.path.dashOffset,
1048
+ style: {
1049
+ transform: "rotate(-90deg)",
1050
+ transformOrigin: "50% 50%"
1051
+ },
1052
+ class: h({ "vue-data-ui-transition": S(N) })
1053
+ }, null, 10, nt))), 256))], 8, tt)) : u("", !0),
1054
+ (v(!0), d(je, null, Be(X.value, (e, t) => (v(), d("circle", {
1055
+ cx: G.value.centerX,
1056
+ cy: G.value.centerY,
1057
+ r: e.radius <= 0 ? 1e-4 : e.radius,
1058
+ stroke: "transparent",
1059
+ "stroke-width": Math.max(Y.value.track, Y.value.gutter),
1060
+ fill: "none",
1061
+ "stroke-dasharray": e.path.bgDashArray,
1062
+ "stroke-dashoffset": e.path.fullOffset,
1063
+ "stroke-linecap": "round",
1064
+ class: "vue-ui-onion-path",
1065
+ style: {
1066
+ transform: "rotate(-90deg)",
1067
+ transformOrigin: "50% 50%"
1068
+ },
1069
+ onMouseenter: (n) => Mn({
1070
+ datapoint: e,
1071
+ show: !0,
1072
+ seriesIndex: t,
1073
+ triggerMode: "pointer"
1074
+ }),
1075
+ onMouseleave: (t) => On({ datapoint: e }),
1076
+ onClick: (t) => Dn({ datapoint: e })
1077
+ }, null, 40, rt))), 256)),
1078
+ M.value.style.chart.layout.labels.show ? (v(), d("g", it, [(v(!0), d(je, null, Be(X.value, (e, t) => (v(), d("g", {
1079
+ key: `dl_${e.id}`,
1080
+ onMouseenter: (n) => Mn({
1081
+ datapoint: e,
1082
+ show: !0,
1083
+ seriesIndex: t,
1084
+ triggerMode: "pointer"
1085
+ }),
1086
+ onMouseleave: (t) => On({ datapoint: e }),
1087
+ onClick: (t) => Dn({ datapoint: e })
1088
+ }, [D.value.includes(e.id) ? u("", !0) : (v(), d("text", {
1089
+ key: 0,
1090
+ class: h(["vue-ui-onion-label", { "vue-data-ui-transition": S(N) }]),
1091
+ transform: `translate(${R.value.width / 2 - Y.value.gutter * .8 + M.value.style.chart.layout.labels.offsetX},${e.labelY + M.value.style.chart.layout.labels.offsetY})`,
1092
+ "text-anchor": "end",
1093
+ "font-size": M.value.style.chart.layout.labels.fontSize,
1094
+ fill: M.value.useBlurOnHover && ![null, void 0].includes(Q.value) && Q.value === t ? e.color : M.value.style.chart.layout.labels.color,
1095
+ "font-weight": M.value.style.chart.layout.labels.bold ? "bold" : "normal"
1096
+ }, x(An(e, t)), 11, ot))], 40, at))), 128))])) : u("", !0),
1097
+ b(e.$slots, "svg", { svg: {
1098
+ ...R.value,
1099
+ drawingArea: G.value,
1100
+ isPrintingImg: S(Jt) || S(Yt) || It.value,
1101
+ isPrintingSvg: Lt.value
1102
+ } }, void 0, !0)
1103
+ ], 46, Ye)), e.$slots.hint ? (v(), d("div", st, [b(e.$slots, "hint", g(m({
1104
+ hint: M.value.a11y.translations.keyboardNavigation,
1105
+ isVisible: Bt.value
1106
+ })), void 0, !0)])) : u("", !0)]),
1107
+ e.$slots.watermark ? (v(), d("div", ct, [b(e.$slots, "watermark", g(m({ isPrinting: S(Jt) || S(Yt) || It.value || Lt.value })), void 0, !0)])) : u("", !0),
1108
+ f("div", { id: `legend-bottom-${E.value}` }, null, 8, lt),
1109
+ Ft.value && (M.value.style.chart.legend.show || e.$slots.legend) ? (v(), l(Me, {
1110
+ key: 6,
1111
+ to: M.value.style.chart.legend.position === "top" ? `#legend-top-${E.value}` : `#legend-bottom-${E.value}`
1112
+ }, [f("div", {
1113
+ ref_key: "chartLegend",
1114
+ ref: kt
1115
+ }, [b(e.$slots, "legend", { legend: q.value }, () => [M.value.style.chart.legend.show ? (v(), l(Oe, {
1116
+ key: `legend_${Pt.value}`,
1117
+ legendSet: q.value,
1118
+ config: mn.value,
1119
+ isCursorPointer: P.value,
1120
+ onClickMarker: t[0] ||= ({ legend: e }) => yn(e.id)
1121
+ }, {
1122
+ item: w(({ legend: e }) => [S(F) ? u("", !0) : (v(), d("div", {
1123
+ key: 0,
1124
+ "data-cy-legend-item": "",
1125
+ onClick: (t) => e.segregate(),
1126
+ style: _(`opacity:${D.value.includes(e.id) ? .5 : 1}`)
1127
+ }, x(e.display), 13, ut))]),
1128
+ legendToggle: w(() => [q.value.length > 2 && M.value.style.chart.legend.selectAllToggle.show && !S(F) ? (v(), l(Ce, {
1129
+ key: 0,
1130
+ backgroundColor: M.value.style.chart.legend.selectAllToggle.backgroundColor,
1131
+ color: M.value.style.chart.legend.selectAllToggle.color,
1132
+ fontSize: M.value.style.chart.legend.fontSize,
1133
+ checked: D.value.length > 0,
1134
+ isCursorPointer: P.value,
1135
+ onToggle: vn
1136
+ }, null, 8, [
1137
+ "backgroundColor",
1138
+ "color",
1139
+ "fontSize",
1140
+ "checked",
1141
+ "isCursorPointer"
1142
+ ])) : u("", !0)]),
1143
+ _: 1
1144
+ }, 8, [
1145
+ "legendSet",
1146
+ "config",
1147
+ "isCursorPointer"
1148
+ ])) : u("", !0)], !0)], 512)], 8, ["to"])) : u("", !0),
1149
+ e.$slots.source ? (v(), d("div", {
1150
+ key: 7,
1151
+ ref_key: "source",
1152
+ ref: At,
1153
+ dir: "auto"
1154
+ }, [b(e.$slots, "source", {}, void 0, !0)], 512)) : u("", !0),
1155
+ Fe(S(ft), {
1156
+ teleportTo: M.value.style.chart.tooltip.teleportTo,
1157
+ show: L.value.showTooltip && Et.value,
1158
+ backgroundColor: M.value.style.chart.tooltip.backgroundColor,
1159
+ color: M.value.style.chart.tooltip.color,
1160
+ borderRadius: M.value.style.chart.tooltip.borderRadius,
1161
+ borderColor: M.value.style.chart.tooltip.borderColor,
1162
+ borderWidth: M.value.style.chart.tooltip.borderWidth,
1163
+ fontSize: M.value.style.chart.tooltip.fontSize,
1164
+ backgroundOpacity: M.value.style.chart.tooltip.backgroundOpacity,
1165
+ position: M.value.style.chart.tooltip.position,
1166
+ offsetX: M.value.style.chart.tooltip.offsetX,
1167
+ offsetY: M.value.style.chart.tooltip.offsetY,
1168
+ parent: O.value,
1169
+ content: Dt.value,
1170
+ isFullscreen: $.value,
1171
+ isCustom: S(se)(M.value.style.chart.tooltip.customFormat),
1172
+ smooth: M.value.style.chart.tooltip.smooth,
1173
+ backdropFilter: M.value.style.chart.tooltip.backdropFilter,
1174
+ smoothForce: M.value.style.chart.tooltip.smoothForce,
1175
+ smoothSnapThreshold: M.value.style.chart.tooltip.smoothSnapThreshold,
1176
+ isA11yMode: zt.value === "keyboard",
1177
+ a11yPosition: Rt.value
1178
+ }, {
1179
+ "tooltip-before": w(() => [b(e.$slots, "tooltip-before", g(m({ ...jn.value })), void 0, !0)]),
1180
+ tooltip: w(() => [b(e.$slots, "tooltip", g(m({ ...jn.value })), void 0, !0)]),
1181
+ "tooltip-after": w(() => [b(e.$slots, "tooltip-after", g(m({ ...jn.value })), void 0, !0)]),
1182
+ _: 3
1183
+ }, 8, [
1184
+ "teleportTo",
1185
+ "show",
1186
+ "backgroundColor",
1187
+ "color",
1188
+ "borderRadius",
1189
+ "borderColor",
1190
+ "borderWidth",
1191
+ "fontSize",
1192
+ "backgroundOpacity",
1193
+ "position",
1194
+ "offsetX",
1195
+ "offsetY",
1196
+ "parent",
1197
+ "content",
1198
+ "isFullscreen",
1199
+ "isCustom",
1200
+ "smooth",
1201
+ "backdropFilter",
1202
+ "smoothForce",
1203
+ "smoothSnapThreshold",
1204
+ "isA11yMode",
1205
+ "a11yPosition"
1206
+ ]),
1207
+ Ct.value && M.value.userOptions.buttons.table ? (v(), l(Ve(Rn.value.component), Ie({ key: 8 }, Rn.value.props, {
1208
+ ref_key: "tableUnit",
1209
+ ref: A,
1210
+ onClose: t[3] ||= (e) => L.value.showTable = !1
1211
+ }), Ne({
1212
+ content: w(() => [(v(), l(S(ht), {
1213
+ key: `table_${Nt.value}`,
1214
+ colNames: Z.value.colNames,
1215
+ head: Z.value.head,
1216
+ body: Z.value.body,
1217
+ config: Z.value.config,
1218
+ title: M.value.table.useDialog ? "" : Rn.value.title,
1219
+ withCloseButton: !M.value.table.useDialog,
1220
+ isCursorPointer: P.value,
1221
+ onClose: t[2] ||= (e) => L.value.showTable = !1
1222
+ }, {
1223
+ th: w(({ th: e }) => [Pe(x(e), 1)]),
1224
+ td: w(({ td: e }) => [f("div", { innerHTML: e }, null, 8, dt)]),
1225
+ _: 1
1226
+ }, 8, [
1227
+ "colNames",
1228
+ "head",
1229
+ "body",
1230
+ "config",
1231
+ "title",
1232
+ "withCloseButton",
1233
+ "isCursorPointer"
1234
+ ]))]),
1235
+ _: 2
1236
+ }, [M.value.table.useDialog ? {
1237
+ name: "title",
1238
+ fn: w(() => [Pe(x(Rn.value.title), 1)]),
1239
+ key: "0"
1240
+ } : void 0, M.value.table.useDialog ? {
1241
+ name: "actions",
1242
+ fn: w(() => [f("button", {
1243
+ tabindex: "0",
1244
+ class: "vue-ui-user-options-button",
1245
+ onClick: t[1] ||= (e) => Tn(M.value.userOptions.callbacks.csv),
1246
+ style: _({ cursor: P.value ? "pointer" : "default" })
1247
+ }, [Fe(S(pt), {
1248
+ name: "fileCsv",
1249
+ stroke: Rn.value.props.color
1250
+ }, null, 8, ["stroke"])], 4)]),
1251
+ key: "1"
1252
+ } : void 0]), 1040)) : u("", !0),
1253
+ b(e.$slots, "skeleton", {}, () => [S(F) ? (v(), l(pe, { key: 0 })) : u("", !0)], !0)
1254
+ ], 46, Ge));
1255
+ }
1256
+ }, [["__scopeId", "data-v-4d2bd2f8"]]);
1257
+ //#endregion
1258
+ export { We as n, ft as t };