vue-data-ui 3.22.13 → 3.23.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 (224) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +13 -1
  3. package/dist/{Arrow-DKx74WtM.js → Arrow-o2qHNvrC.js} +1 -1
  4. package/dist/{BaseDraggableDialog-3n8udWmh.js → BaseDraggableDialog-qTnfhLBz.js} +2 -2
  5. package/dist/{BaseIcon-CP5RWnqt.js → BaseIcon-91MZoczJ.js} +4 -3
  6. package/dist/{BaseLegendToggle-DsWphmIb.js → BaseLegendToggle-CtAPwzr2.js} +1 -1
  7. package/dist/{BaseZoomControls-C9_ygNN4.js → BaseZoomControls-rdzlicuz.js} +2 -2
  8. package/dist/{ColorPicker-3N_HVgXs.js → ColorPicker-CIAkdPrj.js} +2 -2
  9. package/dist/{DataTable-DzPEVvSo.js → DataTable-D4tM9s5Y.js} +2 -2
  10. package/dist/HillActions-BWhxHlrj.js +187 -0
  11. package/dist/{Legend-C0xAnJdO.js → Legend-CQTRlzK-.js} +2 -2
  12. package/dist/{NonSvgPenAndPaper-B_mE5UbR.js → NonSvgPenAndPaper-Cawacw1W.js} +19 -19
  13. package/dist/{PackageVersion-B6Hokxw9.js → PackageVersion--QCMh5k_.js} +1 -1
  14. package/dist/{PenAndPaper-CSMVXpg2.js → PenAndPaper-cE4J8-rA.js} +11 -11
  15. package/dist/{Shape-BfnXr1nJ.js → Shape-BPMV94Ij.js} +3 -3
  16. package/dist/{Slicer-C6qNUmZ4.js → Slicer-5yIrdoJv.js} +15 -15
  17. package/dist/SlicerPreview-DvjLV2TW.js +1689 -0
  18. package/dist/{SparkTooltip-uoUiL_P8.js → SparkTooltip-BaYtEKS6.js} +6 -6
  19. package/dist/Title-BODtwViI.js +87 -0
  20. package/dist/{Tooltip-CA1rtSyl.js → Tooltip-CMTGxeYO.js} +1 -1
  21. package/dist/{UserOptions-DzAFK9cY.js → UserOptions-3ujTo3LD.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/{dom-to-png-BdAFKZQg.js → dom-to-png-4tdMNGPX.js} +1 -1
  93. package/dist/exposedLib-DWLRqRhv.js +25 -0
  94. package/dist/{img-Bikk1dGb.js → img-DIQG5q8T.js} +1 -1
  95. package/dist/{labelUtils-BUhssos9.js → labelUtils-C5lnc_xc.js} +1 -1
  96. package/dist/{lib-CFm_J26b.js → lib-BuMGJ_a0.js} +216 -173
  97. package/dist/{package-DmDydylu.js → package-BMc_ZieJ.js} +1 -1
  98. package/dist/{pdf-zmz3l2uy.js → pdf-Cnz4NKM9.js} +1 -1
  99. package/dist/{render-common-BIG8JYGK.js → render-common-Ktg2LZFG.js} +21 -21
  100. package/dist/ssr/vue-ui-donut.js +1 -1
  101. package/dist/ssr/vue-ui-xy.js +1 -1
  102. package/dist/ssr.js +2 -2
  103. package/dist/style.css +1 -1
  104. package/dist/types/vue-data-ui.d.ts +493 -0
  105. package/dist/types/vue-ui-hill.d.ts +90 -0
  106. package/dist/useAutoSizeLabelsInsideViewbox-DvDwcwi_.js +122 -0
  107. package/dist/{useConfig-C0V0eG7L.js → useConfig-BilxnBNr.js} +767 -476
  108. package/dist/useHints-Dq_w2E8B.js +66 -0
  109. package/dist/{useNestedProp-BY6DNN3i.js → useNestedProp--NSEmhOH.js} +1 -1
  110. package/dist/{useObjectBindings-Djwpii4d.js → useObjectBindings-Cwq7NcQz.js} +3 -2
  111. package/dist/{usePrinter-BH-xle1O.js → usePrinter-BFvi4jVy.js} +2 -2
  112. package/dist/useTransitions-g_zBREk2.js +39 -0
  113. package/dist/utils.js +14 -14
  114. package/dist/{vue-data-ui-rkzh6EkO.js → vue-data-ui-EsawKe_W.js} +85 -81
  115. package/dist/vue-data-ui.js +77 -76
  116. package/dist/vue-ui-3d-bar-RSUS2xpL.js +1849 -0
  117. package/dist/{vue-ui-accordion-UA88lv4d.js → vue-ui-accordion-61MlW-Ge.js} +4 -4
  118. package/dist/vue-ui-age-pyramid-CgnPWA93.js +1263 -0
  119. package/dist/vue-ui-annotator-DBRT85HG.js +2913 -0
  120. package/dist/vue-ui-bullet-Bc3-WaN1.js +724 -0
  121. package/dist/{vue-ui-bump-BS7RCf0Z.js → vue-ui-bump-Dvv3iSKr.js} +332 -295
  122. package/dist/{vue-ui-candlestick-BZSGDKrM.js → vue-ui-candlestick-DvvsrIdp.js} +464 -440
  123. package/dist/vue-ui-carousel-table-DtsNVim8.js +463 -0
  124. package/dist/vue-ui-chestnut-ArloORzP.js +2068 -0
  125. package/dist/{vue-ui-chord-D6G7ceE-.js → vue-ui-chord-xX5gWZy8.js} +430 -424
  126. package/dist/vue-ui-circle-pack-D8wykmqg.js +1638 -0
  127. package/dist/{vue-ui-cursor-BpN5MsXM.js → vue-ui-cursor-CxgE6Phh.js} +61 -61
  128. package/dist/{vue-ui-dag-BzgOgXzU.js → vue-ui-dag-C9Sf9vH7.js} +924 -916
  129. package/dist/vue-ui-dashboard-bGmaglAj.js +520 -0
  130. package/dist/{vue-ui-digits-OMPrn8fb.js → vue-ui-digits-DgDE-_Fn.js} +58 -50
  131. package/dist/vue-ui-donut-B_n6wF6B.js +2440 -0
  132. package/dist/{vue-ui-donut-Cp5NbZ1r.js → vue-ui-donut-Bmo149AR.js} +113 -113
  133. package/dist/{vue-ui-donut-evolution-DHVi5rOn.js → vue-ui-donut-evolution-D6vH_hfx.js} +528 -447
  134. package/dist/vue-ui-dumbbell-BX4Ao_wR.js +1582 -0
  135. package/dist/{vue-ui-flow-BusUK3H0.js → vue-ui-flow-Bshw8pT_.js} +415 -407
  136. package/dist/vue-ui-funnel-CjYosIik.js +797 -0
  137. package/dist/vue-ui-galaxy-CvXgy-dy.js +1111 -0
  138. package/dist/vue-ui-gauge-CByT0_vF.js +953 -0
  139. package/dist/{vue-ui-geo-CyFgFKlh.js → vue-ui-geo-C-gSZL2q.js} +378 -363
  140. package/dist/{vue-ui-gizmo-DdeXwCQp.js → vue-ui-gizmo-CJdxyPID.js} +57 -49
  141. package/dist/{vue-ui-heatmap-D8-qJ7fg.js → vue-ui-heatmap-DEEKv8ip.js} +498 -490
  142. package/dist/vue-ui-hill-D7LYAgAL.js +1768 -0
  143. package/dist/{vue-ui-history-plot-C2Aqk2ON.js → vue-ui-history-plot-BhcU94Pt.js} +553 -556
  144. package/dist/vue-ui-horizontal-bar-CfFye5tL.js +1733 -0
  145. package/dist/vue-ui-kpi-DCBnNfTb.js +104 -0
  146. package/dist/vue-ui-mini-loader-CtWpqnLW.js +133 -0
  147. package/dist/vue-ui-molecule-D3igGyOy.js +958 -0
  148. package/dist/{vue-ui-mood-radar-BiOjxFEN.js → vue-ui-mood-radar-sl6DMxqR.js} +349 -341
  149. package/dist/{vue-ui-nested-donuts-Cl1HVvDp.js → vue-ui-nested-donuts-aS4YzaB3.js} +449 -413
  150. package/dist/vue-ui-onion-EhPTZpW_.js +1258 -0
  151. package/dist/vue-ui-parallel-coordinate-plot-DE9wTmQQ.js +1455 -0
  152. package/dist/{vue-ui-quadrant-B21LkUc8.js → vue-ui-quadrant-SaY_RPSE.js} +625 -617
  153. package/dist/vue-ui-quick-chart-CJ9rejnj.js +2389 -0
  154. package/dist/{vue-ui-radar-CyzAyVos.js → vue-ui-radar-CaNen5Fj.js} +356 -310
  155. package/dist/vue-ui-rating--K7rX2an.js +360 -0
  156. package/dist/vue-ui-relation-circle-FLs8vOxQ.js +925 -0
  157. package/dist/vue-ui-ridgeline-Beg5hshN.js +1663 -0
  158. package/dist/{vue-ui-rings-FtcdX8xl.js → vue-ui-rings-BevKD8P-.js} +449 -423
  159. package/dist/{vue-ui-scatter-Cp_-2ahf.js → vue-ui-scatter-CNA7jF-o.js} +721 -702
  160. package/dist/{vue-ui-skeleton-COytVrfN.js → vue-ui-skeleton-B9ZP1w-i.js} +395 -387
  161. package/dist/{vue-ui-smiley-Da2jgkb7.js → vue-ui-smiley-DYnqqk6u.js} +128 -120
  162. package/dist/{vue-ui-spark-trend-DC2KUlEY.js → vue-ui-spark-trend-R0ebpg-G.js} +132 -117
  163. package/dist/{vue-ui-sparkbar-DdxQOFIF.js → vue-ui-sparkbar-DYC3By0v.js} +119 -111
  164. package/dist/{vue-ui-sparkgauge-DTA-fORH.js → vue-ui-sparkgauge-Bw6no-In.js} +76 -68
  165. package/dist/vue-ui-sparkhistogram-DvRKy8rq.js +590 -0
  166. package/dist/{vue-ui-sparkline-DcR_N-zT.js → vue-ui-sparkline-Dz1uzBos.js} +389 -364
  167. package/dist/vue-ui-sparkstackbar-DlnPdZih.js +692 -0
  168. package/dist/vue-ui-stackbar-B-THcavY.js +2350 -0
  169. package/dist/vue-ui-stackline-3dBPoI0h.js +2464 -0
  170. package/dist/{vue-ui-strip-plot-NLCwYvyw.js → vue-ui-strip-plot-ACeYOoHj.js} +505 -484
  171. package/dist/vue-ui-table-heatmap-DVwMqzje.js +364 -0
  172. package/dist/{vue-ui-table-AM9brdwU.js → vue-ui-table-rFy16bp0.js} +512 -504
  173. package/dist/{vue-ui-table-sparkline-BE6DAvur.js → vue-ui-table-sparkline-CABJzK8p.js} +207 -181
  174. package/dist/vue-ui-thermometer-CVQ-H69Q.js +777 -0
  175. package/dist/{vue-ui-timer-BZM5ITG9.js → vue-ui-timer-Bm8LpsnI.js} +66 -58
  176. package/dist/{vue-ui-tiremarks-BCncDpHX.js → vue-ui-tiremarks-DB3f5qiz.js} +127 -119
  177. package/dist/vue-ui-treemap-DP0Sx8Y8.js +1760 -0
  178. package/dist/vue-ui-waffle-iPpdk1Bm.js +1412 -0
  179. package/dist/vue-ui-wheel-BJkEYfLj.js +892 -0
  180. package/dist/{vue-ui-word-cloud-D7R7nhk1.js → vue-ui-word-cloud-B2sxtel9.js} +440 -432
  181. package/dist/{vue-ui-world-DZBt-07p.js → vue-ui-world-BBQZLnzm.js} +343 -335
  182. package/dist/vue-ui-xy-ChZg7AtI.js +1364 -0
  183. package/dist/{vue-ui-xy-CluEZ7lS.js → vue-ui-xy-DZj5DT-q.js} +1633 -1587
  184. package/dist/{vue-ui-xy-canvas-7YSYRdwr.js → vue-ui-xy-canvas-BN2u0bOJ.js} +456 -430
  185. package/dist/vue_ui_hill-dnltu0L-.js +368 -0
  186. package/package.json +2 -2
  187. package/dist/SlicerPreview-Cw6WMVhG.js +0 -1689
  188. package/dist/Title-BuPs74IB.js +0 -87
  189. package/dist/exposedLib-Ciw6TGtP.js +0 -25
  190. package/dist/useAutoSizeLabelsInsideViewbox-C9RNjsGv.js +0 -50
  191. package/dist/useMountedDelay-BAjrhRJb.js +0 -14
  192. package/dist/vue-ui-3d-bar-D5xHEWr1.js +0 -1824
  193. package/dist/vue-ui-age-pyramid-CAJg01c7.js +0 -1246
  194. package/dist/vue-ui-annotator-q3ZKx6ua.js +0 -2905
  195. package/dist/vue-ui-bullet-ByeaWGfI.js +0 -709
  196. package/dist/vue-ui-carousel-table-DO5NRXvX.js +0 -455
  197. package/dist/vue-ui-chestnut-BfeSPeEh.js +0 -2042
  198. package/dist/vue-ui-circle-pack-Cqmlw7AV.js +0 -1610
  199. package/dist/vue-ui-dashboard-DLvGJXJY.js +0 -512
  200. package/dist/vue-ui-donut-ZIRebAWc.js +0 -2418
  201. package/dist/vue-ui-dumbbell-gDYjU2oF.js +0 -1564
  202. package/dist/vue-ui-funnel-BtaYaU0r.js +0 -781
  203. package/dist/vue-ui-galaxy-BMp-HzDh.js +0 -1076
  204. package/dist/vue-ui-gauge-CBou0cFE.js +0 -925
  205. package/dist/vue-ui-horizontal-bar-BuwxI7d1.js +0 -1689
  206. package/dist/vue-ui-kpi-ByxoO01r.js +0 -96
  207. package/dist/vue-ui-mini-loader-D9pprk2c.js +0 -125
  208. package/dist/vue-ui-molecule-BqJJq49_.js +0 -932
  209. package/dist/vue-ui-onion-CRQOxurS.js +0 -1199
  210. package/dist/vue-ui-parallel-coordinate-plot-Dhn18RtR.js +0 -1412
  211. package/dist/vue-ui-quick-chart-DAhSXYnp.js +0 -2443
  212. package/dist/vue-ui-rating-DbxK-ftN.js +0 -352
  213. package/dist/vue-ui-relation-circle-Cb33DMZo.js +0 -917
  214. package/dist/vue-ui-ridgeline-D7aArzQk.js +0 -1627
  215. package/dist/vue-ui-sparkhistogram-D1oFTrvt.js +0 -575
  216. package/dist/vue-ui-sparkstackbar-BlFio0lP.js +0 -674
  217. package/dist/vue-ui-stackbar-Cu13EdVa.js +0 -2322
  218. package/dist/vue-ui-stackline-DKL0o_-3.js +0 -2427
  219. package/dist/vue-ui-table-heatmap-CSI482KG.js +0 -338
  220. package/dist/vue-ui-thermometer-D6Czx7Fb.js +0 -769
  221. package/dist/vue-ui-treemap-BOEYCOdk.js +0 -1727
  222. package/dist/vue-ui-waffle-BrM8IHdG.js +0 -1367
  223. package/dist/vue-ui-wheel-BNsajigQ.js +0 -884
  224. package/dist/vue-ui-xy-Dt_1bSBT.js +0 -1364
@@ -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-BuMGJ_a0.js";
3
+ import { n as ce, t as le } from "./useHints-Dq_w2E8B.js";
4
+ import { t as ue } from "./useConfig-BilxnBNr.js";
5
+ import { t as de } from "./usePrinter-BFvi4jVy.js";
6
+ import { n as fe, t as pe } from "./BaseScanner-DZvpgOjM.js";
7
+ import { t as me } from "./useSvgExport-Ba9qBr9M.js";
8
+ import { t as he } from "./useNestedProp--NSEmhOH.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-DIQG5q8T.js";
12
+ import { n as ye } from "./Title-BODtwViI.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-CtAPwzr2.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-C5lnc_xc.js";
20
+ import { t as Oe } from "./Legend-CQTRlzK-.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 c, Teleport as je, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createSlots as Me, createTextVNode as Ne, createVNode as Pe, defineAsyncComponent as m, guardReactiveProps as h, mergeProps as Fe, nextTick as Ie, normalizeClass as g, normalizeProps as _, normalizeStyle as v, onBeforeUnmount as Le, onMounted as Re, openBlock as y, ref as b, renderList as x, renderSlot as S, resolveDynamicComponent as ze, shallowRef as Be, toDisplayString as C, toRefs as Ve, unref as w, watch as He, withCtx as T } from "vue";
24
+ //#region src/components/vue-ui-onion.vue
25
+ var Ue = /* @__PURE__ */ e({ default: () => dt }), We = ["id"], Ge = ["id"], Ke = ["id"], qe = { style: { position: "relative" } }, Je = [
26
+ "xmlns",
27
+ "aria-describedby",
28
+ "viewBox"
29
+ ], Ye = ["width", "height"], Xe = [
30
+ "cx",
31
+ "cy",
32
+ "r",
33
+ "stroke",
34
+ "stroke-width",
35
+ "stroke-dasharray",
36
+ "stroke-dashoffset"
37
+ ], Ze = [
38
+ "cx",
39
+ "cy",
40
+ "r",
41
+ "stroke",
42
+ "stroke-width",
43
+ "stroke-dasharray",
44
+ "stroke-dashoffset"
45
+ ], Qe = ["id"], $e = ["stdDeviation"], et = ["filter"], tt = [
46
+ "cx",
47
+ "cy",
48
+ "r",
49
+ "stroke-width",
50
+ "stroke-dasharray",
51
+ "stroke-dashoffset"
52
+ ], nt = [
53
+ "cx",
54
+ "cy",
55
+ "r",
56
+ "stroke-width",
57
+ "stroke-dasharray",
58
+ "stroke-dashoffset",
59
+ "onMouseenter",
60
+ "onMouseleave",
61
+ "onClick"
62
+ ], rt = { key: 2 }, it = [
63
+ "onMouseenter",
64
+ "onMouseleave",
65
+ "onClick"
66
+ ], at = [
67
+ "transform",
68
+ "font-size",
69
+ "fill",
70
+ "font-weight"
71
+ ], ot = {
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"], lt = ["onClick"], ut = ["innerHTML"], dt = /*#__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: Ue }) {
102
+ let dt = m(() => import("./Tooltip-CMTGxeYO.js")), ft = m(() => import("./BaseIcon-91MZoczJ.js").then((e) => e.n)), pt = m(() => import("./vue-ui-accordion-61MlW-Ge.js").then((e) => e.n)), mt = m(() => import("./DataTable-D4tM9s5Y.js")), ht = m(() => import("./UserOptions-3ujTo3LD.js").then((e) => e.n)), gt = m(() => import("./PenAndPaper-cE4J8-rA.js").then((e) => e.t)), _t = m(() => import("./PackageVersion--QCMh5k_.js").then((e) => e.t)), vt = m(() => import("./BaseDraggableDialog-qTnfhLBz.js").then((e) => e.n)), { vue_ui_onion: yt } = ue(), { isThemeValid: bt, warnInvalidTheme: xt } = ge(), E = e, St = l(() => !!E.dataset && E.dataset.length), D = b(re()), Ct = b(null), wt = b(0), Tt = b(!1), Et = b(""), O = b([]), k = b(null), Dt = b(null), Ot = b(null), kt = b(null), At = b(null), jt = b(0), Mt = b(0), Nt = b(0), A = b(!1), Pt = b(!1), j = b(null), Ft = b(!1), It = b(!1), M = b(null), Lt = b({
103
+ x: 0,
104
+ y: 0
105
+ }), N = b("pointer"), Rt = b(!1), P = b(Gt());
106
+ ce({
107
+ config: () => P.value,
108
+ dataset: () => E.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: F } = _e({
124
+ config: () => P.value.transitions,
125
+ dataset: () => E.dataset
126
+ }), I = l(() => P.value.userOptions.useCursorPointer), zt = l(() => 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: P.value.skeletonConfig ?? {}
140
+ })), { loading: L, FINAL_DATASET: Bt, manualLoading: Vt } = fe({
141
+ ...Ve(E),
142
+ FINAL_CONFIG: P,
143
+ prepareConfig: Gt,
144
+ callback: () => {
145
+ Promise.resolve().then(async () => {
146
+ await Ie(), pn();
147
+ });
148
+ },
149
+ skeletonDataset: E.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: P.value,
177
+ userConfig: zt.value
178
+ })
179
+ }), { userOptionsVisible: Ht, setUserOptionsVisibility: Ut, keepUserOptionState: Wt } = Te({ config: P.value }), { svgRef: R } = Ee({ config: P.value.style.chart.title });
180
+ function Gt() {
181
+ let e = he({
182
+ userConfig: E.config,
183
+ defaultConfig: yt
184
+ }), t = e.theme;
185
+ if (!t) return e;
186
+ if (!bt.value(e)) return xt(e), e;
187
+ let n = he({
188
+ userConfig: Ae[t] || E.config,
189
+ defaultConfig: e
190
+ }), r = he({
191
+ userConfig: E.config,
192
+ defaultConfig: n
193
+ });
194
+ return {
195
+ ...r,
196
+ customPalette: r.customPalette.length ? r.customPalette : i[t] || a
197
+ };
198
+ }
199
+ He(() => E.config, (e) => {
200
+ L.value || (P.value = Gt()), Ht.value = !P.value.userOptions.showOnChartHover, on(), jt.value += 1, Mt.value += 1, Nt.value += 1, z.value.showTable = P.value.table.show, z.value.showTooltip = P.value.style.chart.tooltip.show;
201
+ }, { deep: !0 });
202
+ let { isPrinting: Kt, isImaging: qt, generatePdf: Jt, generateImage: Yt } = de({
203
+ elementId: `vue-ui-onion_${D.value}`,
204
+ fileName: P.value.style.chart.title.text || "vue-ui-onion",
205
+ options: P.value.userOptions.print
206
+ }), Xt = l(() => P.value.userOptions.show && !P.value.style.chart.title.text), Zt = l(() => oe(P.value.customPalette)), z = b({
207
+ showTable: P.value.table.show,
208
+ showTooltip: P.value.style.chart.tooltip.show
209
+ });
210
+ He(P, () => {
211
+ z.value = {
212
+ showTable: P.value.table.show,
213
+ showTooltip: P.value.style.chart.tooltip.show
214
+ };
215
+ }, { immediate: !0 });
216
+ let B = b({
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
+ }), V = Be(null), H = Be(null);
227
+ Re(() => {
228
+ Pt.value = !0, on();
229
+ });
230
+ let { autoSizeLabels: Qt } = ke({
231
+ svgRef: R,
232
+ fontSize: () => P.value.style.chart.layout.labels.fontSize,
233
+ minFontSize: () => P.value.style.chart.layout.labels.minFontSize,
234
+ labelClass: ".vue-ui-onion-label"
235
+ }), U = null, W = null, G = 0;
236
+ function $t() {
237
+ U !== null && (cancelAnimationFrame(U), U = null), W !== null && (clearTimeout(W), W = null);
238
+ }
239
+ function en(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 tn() {
246
+ return typeof window > "u" || !F.value || A.value || L.value || !R.value ? 0 : Array.from(R.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 = en(n.transitionDuration), i = en(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 nn() {
254
+ typeof window > "u" || (U = requestAnimationFrame(() => {
255
+ U = null, Qt();
256
+ }));
257
+ }
258
+ function K() {
259
+ if (typeof window > "u") return;
260
+ let e = ++G;
261
+ $t(), Ie(() => {
262
+ e === G && (U = requestAnimationFrame(() => {
263
+ if (U = null, e !== G) return;
264
+ let t = tn();
265
+ if (t <= 0) {
266
+ nn();
267
+ return;
268
+ }
269
+ W = setTimeout(() => {
270
+ W = null, e === G && nn();
271
+ }, t + 34);
272
+ }));
273
+ });
274
+ }
275
+ let rn = l(() => P.value.debug), an = null;
276
+ function on() {
277
+ if (ne(E.dataset) && (ae({
278
+ componentName: "VueUiOnion",
279
+ type: "dataset",
280
+ debug: rn.value
281
+ }), Vt.value = !0), ne(E.dataset) || (Vt.value = P.value.loading), P.value.responsive) {
282
+ let e = 64 / 512, t = xe(() => {
283
+ an && clearTimeout(an), A.value = !0;
284
+ let { width: t, height: n } = Se({
285
+ chart: k.value,
286
+ title: P.value.style.chart.title.text ? Dt.value : null,
287
+ legend: P.value.style.chart.legend.show ? Ot.value : null,
288
+ source: kt.value,
289
+ noTitle: At.value
290
+ });
291
+ n -= 12, requestAnimationFrame(async () => {
292
+ B.value.width = t, B.value.height = n, B.value.padding.top = Math.max(t, n) * e, B.value.padding.right = Math.max(t, n) * e, B.value.padding.bottom = Math.max(t, n) * e, B.value.padding.left = Math.max(t, n) * e, B.value.minRadius = Math.min(t, n) * e, an = setTimeout(() => {
293
+ A.value = !1, K();
294
+ }, 0);
295
+ });
296
+ });
297
+ V.value && (H.value && V.value.unobserve(H.value), V.value.disconnect()), V.value = new ResizeObserver(t), H.value = k.value.parentNode, V.value.observe(H.value);
298
+ }
299
+ K();
300
+ }
301
+ Le(() => {
302
+ G += 1, $t(), V.value && (H.value && V.value.unobserve(H.value), V.value.disconnect());
303
+ });
304
+ let q = l(() => ({
305
+ top: B.value.padding.top,
306
+ left: B.value.padding.left,
307
+ right: B.value.width - B.value.padding.right,
308
+ bottom: B.value.height - B.value.padding.bottom,
309
+ centerX: B.value.width / 2,
310
+ centerY: B.value.height / 2,
311
+ width: B.value.width - B.value.padding.right - B.value.padding.left,
312
+ height: B.value.height - B.value.padding.bottom - B.value.padding.top,
313
+ minRadius: B.value.minRadius,
314
+ maxRadius: Math.min(B.value.width, B.value.height) - B.value.padding.top * 2
315
+ })), J = l(() => (Bt.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
+ }), Bt.value.map((e, t) => {
328
+ let n = `onion_serie_${t}_${D.value}`;
329
+ return {
330
+ ...e,
331
+ percentage: e.percentage || 0,
332
+ targetPercentage: e.percentage || 0,
333
+ color: o(e.color) || Zt.value[t] || a[t],
334
+ id: n,
335
+ shape: "circle",
336
+ opacity: O.value.includes(n) ? .5 : 1,
337
+ absoluteIndex: t,
338
+ segregate: () => yn(n),
339
+ isSegregated: O.value.includes(n)
340
+ };
341
+ }))), sn = l(() => J.value.map((e, t) => {
342
+ let n = P.value.style.chart.legend.showValue, r = P.value.style.chart.legend.showPercentage, i = kn({
343
+ showVal: n,
344
+ showPercentage: r,
345
+ val: te(P.value.style.chart.layout.labels.value.formatter, e.value, s({
346
+ p: e.prefix || "",
347
+ v: e.value,
348
+ s: e.suffix || "",
349
+ r: P.value.style.chart.legend.roundingValue
350
+ })),
351
+ percentage: s({
352
+ v: e.percentage ?? 0,
353
+ s: "%",
354
+ r: P.value.style.chart.legend.roundingPercentage
355
+ }),
356
+ config: P.value.style.chart.legend
357
+ });
358
+ return {
359
+ ...e,
360
+ display: `${e.name}${n || r ? ": " : ""}${i}`
361
+ };
362
+ })), cn = b(J.value), ln = l(() => P.value.useStartAnimation), un = b(null), dn = l(() => Math.max(...J.value.map((e) => e.percentage))), fn = b(!1);
363
+ He(() => J.value, pn, {
364
+ immediate: !0,
365
+ deep: !0
366
+ }), He(() => E.dataset, (e) => {
367
+ Array.isArray(e) && e.length > 0 && (Vt.value = !1), K();
368
+ }, {
369
+ deep: !0,
370
+ flush: "post"
371
+ });
372
+ function pn() {
373
+ if (ln.value && !fn.value && !L.value) {
374
+ cn.value = J.value.map((e) => ({
375
+ ...e,
376
+ percentage: 0
377
+ }));
378
+ let e = 0;
379
+ function t() {
380
+ e >= dn.value ? (cancelAnimationFrame(un.value), cn.value = J.value, fn.value = !0) : (cn.value = J.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 cn.value = J.value;
387
+ }
388
+ let mn = l(() => ({
389
+ cy: "onion-div-legend",
390
+ backgroundColor: P.value.style.chart.legend.backgroundColor,
391
+ color: P.value.style.chart.legend.color,
392
+ fontSize: P.value.style.chart.legend.fontSize,
393
+ paddingBottom: 12,
394
+ fontWeight: P.value.style.chart.legend.bold ? "bold" : ""
395
+ })), hn = l(() => J.value.filter((e) => !O.value.includes(e.id)).length), Y = l(() => {
396
+ let e = Math.min(q.value.width, q.value.height) / 2 / J.value.length;
397
+ return {
398
+ gutter: (e > P.value.style.chart.layout.maxThickness ? P.value.style.chart.layout.maxThickness : e) * P.value.style.chart.layout.gutter.width,
399
+ track: (e > P.value.style.chart.layout.maxThickness ? P.value.style.chart.layout.maxThickness : e) * P.value.style.chart.layout.track.width
400
+ };
401
+ }), X = l(() => cn.value.filter((e) => !O.value.includes(e.id)).map((e, t) => {
402
+ let n = (q.value.maxRadius - Y.value.track) / hn.value / 2 * (1 + t), r = q.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 ${q.value.centerX},${q.value.centerY - e}
421
+ A ${e},${e} 0 1 1
422
+ ${q.value.centerX + e * Math.cos(Math.PI * 3 / 4)},${q.value.centerY + e * Math.sin(Math.PI * 3 / 4)}
423
+ `.trim()
424
+ };
425
+ }
426
+ let _n = Ue;
427
+ function vn() {
428
+ O.value.length ? O.value = [] : sn.value.forEach((e) => {
429
+ O.value.push(e.id);
430
+ }), K(), _n("selectLegend", X.value);
431
+ }
432
+ function yn(e) {
433
+ if (O.value.includes(e)) O.value = O.value.filter((t) => t !== e);
434
+ else {
435
+ if (O.value.length === J.value.length - 1) return;
436
+ O.value.push(e);
437
+ }
438
+ K(), _n("selectLegend", X.value);
439
+ }
440
+ function bn(e) {
441
+ return J.value.length ? J.value.find((t) => t.name === e) || (P.value.debug && console.warn(`VueUiOnion - Series name not found "${e}"`), null) : (P.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 && O.value.includes(t.id) && yn(t.id);
446
+ }
447
+ function Sn(e) {
448
+ let t = bn(e);
449
+ t !== null && (O.value.includes(t.id) || yn(t.id));
450
+ }
451
+ function Cn() {
452
+ return X.value;
453
+ }
454
+ let wn = l(() => ({
455
+ head: [
456
+ P.value.table.translations.serie,
457
+ P.value.table.translations.percentage,
458
+ P.value.table.translations.value
459
+ ],
460
+ body: X.value.map((e) => [
461
+ e.name,
462
+ e.percentage,
463
+ e.value
464
+ ])
465
+ })), Z = l(() => {
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(P.value.table.td.roundingPercentage).toLocaleString()}%`,
472
+ `${e.prefix || ""}${[
473
+ null,
474
+ void 0,
475
+ NaN,
476
+ "NaN"
477
+ ].includes(e.value) ? "-" : e.value.toFixed(P.value.table.td.roundingValue).toLocaleString()}${e.suffix || ""}`
478
+ ]),
479
+ config: {
480
+ th: {
481
+ backgroundColor: P.value.table.th.backgroundColor,
482
+ color: P.value.table.th.color,
483
+ outline: P.value.table.th.outline
484
+ },
485
+ td: {
486
+ backgroundColor: P.value.table.td.backgroundColor,
487
+ color: P.value.table.td.color,
488
+ outline: P.value.table.td.outline
489
+ },
490
+ breakpoint: P.value.table.responsiveBreakpoint
491
+ },
492
+ colNames: e
493
+ };
494
+ });
495
+ function Tn(e = null) {
496
+ Ie(() => {
497
+ let r = [
498
+ [P.value.style.chart.title.text],
499
+ [P.value.style.chart.title.subtitle.text],
500
+ [""]
501
+ ], i = wn.value.head, a = wn.value.body, o = n(r.concat([i]).concat(a));
502
+ e ? e(o) : t({
503
+ csvContent: o,
504
+ title: P.value.style.chart.title.text || "vue-ui-onion"
505
+ });
506
+ });
507
+ }
508
+ let Q = b(void 0), $ = b(!1);
509
+ function En(e) {
510
+ $.value = e, wt.value += 1;
511
+ }
512
+ function Dn({ datapoint: e }) {
513
+ P.value.events.datapointClick && P.value.events.datapointClick({
514
+ datapoint: e,
515
+ seriesIndex: e.absoluteIndex
516
+ });
517
+ }
518
+ function On({ datapoint: e }) {
519
+ Q.value = void 0, Tt.value = !1, M.value = null, N.value = "pointer", P.value.events.datapointLeave && P.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 = P.value.style.chart.layout.labels.value.show, r = P.value.style.chart.layout.labels.percentage.show, i = kn({
535
+ config: P.value.style.chart.layout.labels,
536
+ showVal: n,
537
+ showPercentage: r,
538
+ val: te(P.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: P.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: P.value.style.chart.layout.labels.roundingPercentage
551
+ })
552
+ });
553
+ return `${e.name}${n || r ? ": " : ""}${i}`;
554
+ }
555
+ let jn = b(null);
556
+ function Mn({ datapoint: e, seriesIndex: t, show: n = !0, triggerMode: r = "pointer" }) {
557
+ P.value.events.datapointEnter && P.value.events.datapointEnter({
558
+ datapoint: e,
559
+ seriesIndex: e.absoluteIndex
560
+ }), N.value = r, M.value = t;
561
+ let i = e.absoluteIndex;
562
+ Q.value = t, jn.value = {
563
+ datapoint: e,
564
+ seriesIndex: i,
565
+ series: J.value,
566
+ config: P.value
567
+ }, Tt.value = n;
568
+ let a = "", o = P.value.style.chart.tooltip.customFormat;
569
+ if (se(o) && ee(() => o({
570
+ seriesIndex: i,
571
+ datapoint: e,
572
+ series: J.value,
573
+ config: P.value
574
+ }))) Et.value = o({
575
+ seriesIndex: i,
576
+ datapoint: e,
577
+ series: J.value,
578
+ config: P.value
579
+ });
580
+ else {
581
+ let n = P.value.style.chart.tooltip.showPercentage, r = P.value.style.chart.tooltip.showValue;
582
+ a += `<div style="width:100%;text-align:center;border-bottom:1px solid ${P.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: P.value.style.chart.tooltip,
584
+ showVal: r,
585
+ showPercentage: n,
586
+ val: `<span>${te(P.value.style.chart.layout.labels.value.formatter, e.value, s({
587
+ p: e.prefix || "",
588
+ v: e.value,
589
+ s: e.suffix || "",
590
+ r: P.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: P.value.style.chart.tooltip.roundingPercentage
599
+ })
600
+ })}</b></div>`, Et.value = `<div>${a}</div>`;
601
+ }
602
+ }
603
+ function Nn() {
604
+ z.value.showTable = !z.value.showTable;
605
+ }
606
+ function Pn() {
607
+ z.value.showTooltip = !z.value.showTooltip;
608
+ }
609
+ let Fn = b(!1);
610
+ function In() {
611
+ Fn.value = !Fn.value;
612
+ }
613
+ async function Ln({ scale: e = 2 } = {}) {
614
+ if (!k.value) return;
615
+ let { width: t, height: n } = k.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await ve({
616
+ domElement: k.value,
617
+ base64: !0,
618
+ img: !0,
619
+ scale: e
620
+ });
621
+ return {
622
+ imageUri: i,
623
+ base64: a,
624
+ title: P.value.style.chart.title.text,
625
+ width: t,
626
+ height: n,
627
+ aspectRatio: r
628
+ };
629
+ }
630
+ let Rn = l(() => {
631
+ let e = P.value.table.useDialog && !P.value.table.show, t = z.value.showTable;
632
+ return {
633
+ component: e ? vt : pt,
634
+ title: `${P.value.style.chart.title.text}${P.value.style.chart.title.subtitle.text ? `: ${P.value.style.chart.title.subtitle.text}` : ""}`,
635
+ props: e ? {
636
+ backgroundColor: P.value.table.th.backgroundColor,
637
+ color: P.value.table.th.color,
638
+ headerColor: P.value.table.th.color,
639
+ headerBg: P.value.table.th.backgroundColor,
640
+ isFullscreen: $.value,
641
+ fullscreenParent: k.value,
642
+ forcedWidth: Math.min(600, window.innerWidth * .8),
643
+ isCursorPointer: I.value
644
+ } : {
645
+ hideDetails: !0,
646
+ config: {
647
+ open: t,
648
+ maxHeight: 1e4,
649
+ body: {
650
+ backgroundColor: P.value.style.chart.backgroundColor,
651
+ color: P.value.style.chart.color
652
+ },
653
+ head: {
654
+ backgroundColor: P.value.style.chart.backgroundColor,
655
+ color: P.value.style.chart.color
656
+ }
657
+ }
658
+ }
659
+ };
660
+ });
661
+ He(() => z.value.showTable, (e) => {
662
+ P.value.table.show || (e && P.value.table.useDialog && j.value ? j.value.open() : "close" in j.value && j.value.close());
663
+ });
664
+ let zn = l(() => sn.value.map((e) => ({
665
+ ...e,
666
+ name: e.display
667
+ }))), Bn = l(() => P.value.style.chart.backgroundColor), Vn = l(() => P.value.style.chart.legend), { exportSvg: Hn, getSvg: Un } = me({
668
+ svg: R,
669
+ title: l(() => P.value.style.chart.title),
670
+ legend: Vn,
671
+ legendItems: zn,
672
+ backgroundColor: Bn
673
+ });
674
+ async function Wn({ isCb: e }) {
675
+ It.value = !0, await Ie();
676
+ try {
677
+ if (e) {
678
+ let { blob: e, url: t, text: n, dataUrl: r } = await Un();
679
+ await Promise.resolve(P.value.userOptions.callbacks.svg({
680
+ blob: e,
681
+ url: t,
682
+ text: n,
683
+ dataUrl: r
684
+ }));
685
+ } else await Promise.resolve(Hn());
686
+ } finally {
687
+ It.value = !1;
688
+ }
689
+ }
690
+ function Gn(e) {
691
+ if (e?.stage === "start") {
692
+ Ft.value = !0;
693
+ return;
694
+ }
695
+ if (e?.stage === "end") {
696
+ Ft.value = !1;
697
+ return;
698
+ }
699
+ Yt();
700
+ }
701
+ async function Kn() {
702
+ if (_n("copyAlt", {
703
+ config: P.value,
704
+ dataset: X.value
705
+ }), !P.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(P.value.userOptions.callbacks.altCopy({
710
+ config: P.value,
711
+ dataset: X.value
712
+ }));
713
+ }
714
+ function qn() {
715
+ M.value = null, Rt.value = !0;
716
+ }
717
+ function Jn() {
718
+ M.value = null, N.value = "pointer", Tt.value = !1, Q.value = void 0, Rt.value = !1;
719
+ }
720
+ function Yn(e) {
721
+ if (!R.value || Fn.value || document.activeElement !== R.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
+ M.value = null, N.value = "pointer", Tt.value = !1, Q.value = void 0;
726
+ return;
727
+ }
728
+ if (r) {
729
+ if (M.value === null) return;
730
+ let e = X.value[M.value];
731
+ if (!e) return;
732
+ Dn({ datapoint: e });
733
+ return;
734
+ }
735
+ let a = M.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 && (Xn(a), Mn({
739
+ datapoint: o,
740
+ seriesIndex: a,
741
+ show: !0,
742
+ triggerMode: "keyboard"
743
+ }));
744
+ }
745
+ function Xn(e) {
746
+ if (!Number.isFinite(e) || !R.value) return;
747
+ let t = X.value[e];
748
+ if (!t) return;
749
+ let n = t.radius, r = Math.PI * 7 / 4, i = q.value.centerX + n * Math.cos(r), a = q.value.centerY + n * Math.sin(r), o = R.value.getBoundingClientRect();
750
+ Lt.value = {
751
+ x: o.left + i / B.value.width * o.width,
752
+ y: o.top + a / B.value.height * o.height
753
+ };
754
+ }
755
+ let Zn = l(() => ({
756
+ headers: Z.value?.colNames ?? [],
757
+ rows: Z.value?.body ?? []
758
+ }));
759
+ return be({
760
+ getData: Cn,
761
+ getImage: Ln,
762
+ generatePdf: Jt,
763
+ generateCsv: Tn,
764
+ generateImage: Yt,
765
+ generateSvg: Wn,
766
+ hideSeries: Sn,
767
+ showSeries: xn,
768
+ toggleTable: Nn,
769
+ toggleTooltip: Pn,
770
+ toggleAnnotator: In,
771
+ toggleFullscreen: En,
772
+ copyAlt: Kn
773
+ }), (e, t) => (y(), f("div", {
774
+ class: g(`vue-data-ui-component vue-ui-onion ${$.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${P.value.useCssAnimation ? "" : "vue-ui-dna"}`),
775
+ ref_key: "onionChart",
776
+ ref: k,
777
+ id: `vue-ui-onion_${D.value}`,
778
+ style: v(`font-family:${P.value.style.fontFamily};width:100%; ${P.value.responsive ? "height: 100%;" : ""} text-align:center;background:${P.value.style.chart.backgroundColor}`),
779
+ onMouseenter: t[4] ||= () => w(Ut)(!0),
780
+ onMouseleave: t[5] ||= () => w(Ut)(!1)
781
+ }, [
782
+ p("div", {
783
+ id: `chart-instructions-${D.value}`,
784
+ class: "sr-only"
785
+ }, [p("p", null, C(P.value.a11y.translations.keyboardNavigation), 1)], 8, Ge),
786
+ Zn.value?.rows?.length ? (y(), u(we, {
787
+ key: 0,
788
+ uid: D.value,
789
+ head: Zn.value.headers,
790
+ body: Zn.value.rows,
791
+ notice: P.value.a11y.translations.tableAvailable,
792
+ caption: P.value.a11y.translations.tableCaption
793
+ }, null, 8, [
794
+ "uid",
795
+ "head",
796
+ "body",
797
+ "notice",
798
+ "caption"
799
+ ])) : d("", !0),
800
+ P.value.userOptions.buttons.annotator ? (y(), u(w(gt), {
801
+ key: 1,
802
+ svgRef: w(R),
803
+ backgroundColor: P.value.style.chart.backgroundColor,
804
+ color: P.value.style.chart.color,
805
+ active: Fn.value,
806
+ isCursorPointer: I.value,
807
+ onClose: In
808
+ }, {
809
+ "annotator-action-close": T(() => [S(e.$slots, "annotator-action-close", {}, void 0, !0)]),
810
+ "annotator-action-color": T(({ color: t }) => [S(e.$slots, "annotator-action-color", _(h({ color: t })), void 0, !0)]),
811
+ "annotator-action-draw": T(({ mode: t }) => [S(e.$slots, "annotator-action-draw", _(h({ mode: t })), void 0, !0)]),
812
+ "annotator-action-undo": T(({ disabled: t }) => [S(e.$slots, "annotator-action-undo", _(h({ disabled: t })), void 0, !0)]),
813
+ "annotator-action-redo": T(({ disabled: t }) => [S(e.$slots, "annotator-action-redo", _(h({ disabled: t })), void 0, !0)]),
814
+ "annotator-action-delete": T(({ disabled: t }) => [S(e.$slots, "annotator-action-delete", _(h({ disabled: t })), void 0, !0)]),
815
+ _: 3
816
+ }, 8, [
817
+ "svgRef",
818
+ "backgroundColor",
819
+ "color",
820
+ "active",
821
+ "isCursorPointer"
822
+ ])) : d("", !0),
823
+ Xt.value ? (y(), f("div", {
824
+ key: 2,
825
+ ref_key: "noTitle",
826
+ ref: At,
827
+ class: "vue-data-ui-no-title-space",
828
+ style: "height:36px; width: 100%;background:transparent"
829
+ }, null, 512)) : d("", !0),
830
+ P.value.style.chart.title.text ? (y(), f("div", {
831
+ key: 3,
832
+ ref_key: "chartTitle",
833
+ ref: Dt,
834
+ style: "width:100%;background:transparent"
835
+ }, [(y(), u(ye, {
836
+ key: `title_${jt.value}`,
837
+ config: {
838
+ title: {
839
+ cy: "onion-div-title",
840
+ ...P.value.style.chart.title
841
+ },
842
+ subtitle: {
843
+ cy: "onion-div-subtitle",
844
+ ...P.value.style.chart.title.subtitle
845
+ }
846
+ }
847
+ }, null, 8, ["config"]))], 512)) : d("", !0),
848
+ p("div", { id: `legend-top-${D.value}` }, null, 8, Ke),
849
+ P.value.userOptions.show && St.value && (w(Wt) || w(Ht)) ? (y(), u(w(ht), {
850
+ ref_key: "details",
851
+ ref: Ct,
852
+ key: `user_options${wt.value}`,
853
+ backgroundColor: P.value.style.chart.backgroundColor,
854
+ color: P.value.style.chart.color,
855
+ isImaging: w(qt),
856
+ isPrinting: w(Kt),
857
+ uid: D.value,
858
+ hasTooltip: P.value.userOptions.buttons.tooltip && P.value.style.chart.tooltip.show,
859
+ hasPdf: P.value.userOptions.buttons.pdf,
860
+ hasImg: P.value.userOptions.buttons.img,
861
+ hasSvg: P.value.userOptions.buttons.svg,
862
+ hasXls: P.value.userOptions.buttons.csv,
863
+ hasTable: P.value.userOptions.buttons.table,
864
+ hasFullscreen: P.value.userOptions.buttons.fullscreen,
865
+ hasAltCopy: P.value.userOptions.buttons.altCopy,
866
+ isFullscreen: $.value,
867
+ isTooltip: z.value.showTooltip,
868
+ titles: { ...P.value.userOptions.buttonTitles },
869
+ chartElement: k.value,
870
+ position: P.value.userOptions.position,
871
+ hasAnnotator: P.value.userOptions.buttons.annotator,
872
+ isAnnotation: Fn.value,
873
+ callbacks: P.value.userOptions.callbacks,
874
+ printScale: P.value.userOptions.print.scale,
875
+ tableDialog: P.value.table.useDialog,
876
+ isCursorPointer: I.value,
877
+ onToggleFullscreen: En,
878
+ onGeneratePdf: w(Jt),
879
+ onGenerateCsv: Tn,
880
+ onGenerateImage: Gn,
881
+ onGenerateSvg: Wn,
882
+ onToggleTable: Nn,
883
+ onToggleTooltip: Pn,
884
+ onToggleAnnotator: In,
885
+ onCopyAlt: Kn,
886
+ style: v({ visibility: w(Wt) ? w(Ht) ? "visible" : "hidden" : "visible" })
887
+ }, Me({ _: 2 }, [
888
+ e.$slots.menuIcon ? {
889
+ name: "menuIcon",
890
+ fn: T(({ isOpen: t, color: n }) => [S(e.$slots, "menuIcon", _(h({
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: T(() => [S(e.$slots, "optionTooltip", {}, void 0, !0)]),
899
+ key: "1"
900
+ } : void 0,
901
+ e.$slots.optionPdf ? {
902
+ name: "optionPdf",
903
+ fn: T(() => [S(e.$slots, "optionPdf", {}, void 0, !0)]),
904
+ key: "2"
905
+ } : void 0,
906
+ e.$slots.optionCsv ? {
907
+ name: "optionCsv",
908
+ fn: T(() => [S(e.$slots, "optionCsv", {}, void 0, !0)]),
909
+ key: "3"
910
+ } : void 0,
911
+ e.$slots.optionImg ? {
912
+ name: "optionImg",
913
+ fn: T(() => [S(e.$slots, "optionImg", {}, void 0, !0)]),
914
+ key: "4"
915
+ } : void 0,
916
+ e.$slots.optionSvg ? {
917
+ name: "optionSvg",
918
+ fn: T(() => [S(e.$slots, "optionSvg", {}, void 0, !0)]),
919
+ key: "5"
920
+ } : void 0,
921
+ e.$slots.optionTable ? {
922
+ name: "optionTable",
923
+ fn: T(() => [S(e.$slots, "optionTable", {}, void 0, !0)]),
924
+ key: "6"
925
+ } : void 0,
926
+ e.$slots.optionFullscreen ? {
927
+ name: "optionFullscreen",
928
+ fn: T(({ toggleFullscreen: t, isFullscreen: n }) => [S(e.$slots, "optionFullscreen", _(h({
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: T(({ toggleAnnotator: t, isAnnotator: n }) => [S(e.$slots, "optionAnnotator", _(h({
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: T(({ altCopy: t }) => [S(e.$slots, "optionAltCopy", _(h({ altCopy: t })), void 0, !0)]),
945
+ key: "9"
946
+ } : void 0,
947
+ e.$slots["custom-menu-before"] ? {
948
+ name: "custom-menu-before",
949
+ fn: T(() => [S(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: T(() => [S(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("."))) : d("", !0),
958
+ p("div", qe, [(y(), f("svg", {
959
+ ref_key: "svgRef",
960
+ ref: R,
961
+ xmlns: w(ie),
962
+ "aria-describedby": `chart-instructions-${D.value}`,
963
+ class: g({
964
+ "vue-data-ui-fullscreen--on": $.value,
965
+ "vue-data-ui-fulscreen--off": !$.value,
966
+ resizing: A.value,
967
+ "vue-data-ui-no-transition": !w(F) || A.value || w(L)
968
+ }),
969
+ viewBox: `0 0 ${B.value.width <= 0 ? 10 : B.value.width} ${B.value.height <= 0 ? 10 : B.value.height}`,
970
+ style: v(`max-width:100%;overflow:visible;background:transparent;color:${P.value.style.chart.color}`),
971
+ tabindex: "0",
972
+ onFocus: qn,
973
+ onBlur: Jn,
974
+ onKeydown: Yn
975
+ }, [
976
+ Pe(w(_t)),
977
+ e.$slots["chart-background"] ? (y(), f("foreignObject", {
978
+ key: 0,
979
+ x: 0,
980
+ y: 0,
981
+ width: B.value.width <= 0 ? 10 : B.value.width,
982
+ height: B.value.height <= 0 ? 10 : B.value.height,
983
+ style: { pointerEvents: "none" }
984
+ }, [S(e.$slots, "chart-background", {}, void 0, !0)], 8, Ye)) : d("", !0),
985
+ (y(!0), f(c, null, x(X.value, (e, t) => (y(), f("circle", {
986
+ cx: q.value.centerX,
987
+ cy: q.value.centerY,
988
+ r: e.radius <= 0 ? 1e-4 : e.radius,
989
+ stroke: P.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: g({
996
+ "vue-ui-onion-path": !0,
997
+ "vue-ui-onion-blur": P.value.useBlurOnHover && ![null, void 0].includes(Q.value) && Q.value !== t,
998
+ "vue-data-ui-transition": w(F)
999
+ }),
1000
+ style: {
1001
+ transform: "rotate(-90deg)",
1002
+ transformOrigin: "50% 50%"
1003
+ }
1004
+ }, null, 10, Xe))), 256)),
1005
+ (y(!0), f(c, null, x(X.value, (e, t) => (y(), f("circle", {
1006
+ cx: q.value.centerX,
1007
+ cy: q.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: g({
1015
+ "vue-ui-onion-path": !0,
1016
+ "vue-ui-onion-blur": P.value.useBlurOnHover && ![null, void 0].includes(Q.value) && Q.value !== t,
1017
+ "vue-data-ui-transition": w(F)
1018
+ }),
1019
+ "stroke-linecap": "round",
1020
+ style: {
1021
+ transform: "rotate(-90deg)",
1022
+ transformOrigin: "50% 50%"
1023
+ }
1024
+ }, null, 10, Ze))), 256)),
1025
+ p("defs", null, [p("filter", {
1026
+ id: `blur_${D.value}`,
1027
+ x: "-50%",
1028
+ y: "-50%",
1029
+ width: "200%",
1030
+ height: "200%"
1031
+ }, [p("feGaussianBlur", {
1032
+ in: "SourceGraphic",
1033
+ stdDeviation: 100 / P.value.style.chart.gradientIntensity
1034
+ }, null, 8, $e)], 8, Qe)]),
1035
+ P.value.style.chart.useGradient ? (y(), f("g", {
1036
+ key: 1,
1037
+ filter: `url(#blur_${D.value})`
1038
+ }, [(y(!0), f(c, null, x(X.value, (e, t) => (y(), f("circle", {
1039
+ cx: q.value.centerX,
1040
+ cy: q.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: g({ "vue-data-ui-transition": w(F) })
1053
+ }, null, 10, tt))), 256))], 8, et)) : d("", !0),
1054
+ (y(!0), f(c, null, x(X.value, (e, t) => (y(), f("circle", {
1055
+ cx: q.value.centerX,
1056
+ cy: q.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, nt))), 256)),
1078
+ P.value.style.chart.layout.labels.show ? (y(), f("g", rt, [(y(!0), f(c, null, x(X.value, (e, t) => (y(), f("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
+ }, [O.value.includes(e.id) ? d("", !0) : (y(), f("text", {
1089
+ key: 0,
1090
+ class: g(["vue-ui-onion-label", { "vue-data-ui-transition": w(F) }]),
1091
+ transform: `translate(${B.value.width / 2 - Y.value.gutter * .8 + P.value.style.chart.layout.labels.offsetX},${e.labelY + P.value.style.chart.layout.labels.offsetY})`,
1092
+ "text-anchor": "end",
1093
+ "font-size": P.value.style.chart.layout.labels.fontSize,
1094
+ fill: P.value.useBlurOnHover && ![null, void 0].includes(Q.value) && Q.value === t ? e.color : P.value.style.chart.layout.labels.color,
1095
+ "font-weight": P.value.style.chart.layout.labels.bold ? "bold" : "normal"
1096
+ }, C(An(e, t)), 11, at))], 40, it))), 128))])) : d("", !0),
1097
+ S(e.$slots, "svg", { svg: {
1098
+ ...B.value,
1099
+ drawingArea: q.value,
1100
+ isPrintingImg: w(Kt) || w(qt) || Ft.value,
1101
+ isPrintingSvg: It.value
1102
+ } }, void 0, !0)
1103
+ ], 46, Je)), e.$slots.hint ? (y(), f("div", ot, [S(e.$slots, "hint", _(h({
1104
+ hint: P.value.a11y.translations.keyboardNavigation,
1105
+ isVisible: Rt.value
1106
+ })), void 0, !0)])) : d("", !0)]),
1107
+ e.$slots.watermark ? (y(), f("div", st, [S(e.$slots, "watermark", _(h({ isPrinting: w(Kt) || w(qt) || Ft.value || It.value })), void 0, !0)])) : d("", !0),
1108
+ p("div", { id: `legend-bottom-${D.value}` }, null, 8, ct),
1109
+ Pt.value && (P.value.style.chart.legend.show || e.$slots.legend) ? (y(), u(je, {
1110
+ key: 6,
1111
+ to: P.value.style.chart.legend.position === "top" ? `#legend-top-${D.value}` : `#legend-bottom-${D.value}`
1112
+ }, [p("div", {
1113
+ ref_key: "chartLegend",
1114
+ ref: Ot
1115
+ }, [S(e.$slots, "legend", { legend: sn.value }, () => [P.value.style.chart.legend.show ? (y(), u(Oe, {
1116
+ key: `legend_${Nt.value}`,
1117
+ legendSet: sn.value,
1118
+ config: mn.value,
1119
+ isCursorPointer: I.value,
1120
+ onClickMarker: t[0] ||= ({ legend: e }) => yn(e.id)
1121
+ }, {
1122
+ item: T(({ legend: e }) => [w(L) ? d("", !0) : (y(), f("div", {
1123
+ key: 0,
1124
+ "data-cy-legend-item": "",
1125
+ onClick: (t) => e.segregate(),
1126
+ style: v(`opacity:${O.value.includes(e.id) ? .5 : 1}`)
1127
+ }, C(e.display), 13, lt))]),
1128
+ legendToggle: T(() => [sn.value.length > 2 && P.value.style.chart.legend.selectAllToggle.show && !w(L) ? (y(), u(Ce, {
1129
+ key: 0,
1130
+ backgroundColor: P.value.style.chart.legend.selectAllToggle.backgroundColor,
1131
+ color: P.value.style.chart.legend.selectAllToggle.color,
1132
+ fontSize: P.value.style.chart.legend.fontSize,
1133
+ checked: O.value.length > 0,
1134
+ isCursorPointer: I.value,
1135
+ onToggle: vn
1136
+ }, null, 8, [
1137
+ "backgroundColor",
1138
+ "color",
1139
+ "fontSize",
1140
+ "checked",
1141
+ "isCursorPointer"
1142
+ ])) : d("", !0)]),
1143
+ _: 1
1144
+ }, 8, [
1145
+ "legendSet",
1146
+ "config",
1147
+ "isCursorPointer"
1148
+ ])) : d("", !0)], !0)], 512)], 8, ["to"])) : d("", !0),
1149
+ e.$slots.source ? (y(), f("div", {
1150
+ key: 7,
1151
+ ref_key: "source",
1152
+ ref: kt,
1153
+ dir: "auto"
1154
+ }, [S(e.$slots, "source", {}, void 0, !0)], 512)) : d("", !0),
1155
+ Pe(w(dt), {
1156
+ teleportTo: P.value.style.chart.tooltip.teleportTo,
1157
+ show: z.value.showTooltip && Tt.value,
1158
+ backgroundColor: P.value.style.chart.tooltip.backgroundColor,
1159
+ color: P.value.style.chart.tooltip.color,
1160
+ borderRadius: P.value.style.chart.tooltip.borderRadius,
1161
+ borderColor: P.value.style.chart.tooltip.borderColor,
1162
+ borderWidth: P.value.style.chart.tooltip.borderWidth,
1163
+ fontSize: P.value.style.chart.tooltip.fontSize,
1164
+ backgroundOpacity: P.value.style.chart.tooltip.backgroundOpacity,
1165
+ position: P.value.style.chart.tooltip.position,
1166
+ offsetX: P.value.style.chart.tooltip.offsetX,
1167
+ offsetY: P.value.style.chart.tooltip.offsetY,
1168
+ parent: k.value,
1169
+ content: Et.value,
1170
+ isFullscreen: $.value,
1171
+ isCustom: w(se)(P.value.style.chart.tooltip.customFormat),
1172
+ smooth: P.value.style.chart.tooltip.smooth,
1173
+ backdropFilter: P.value.style.chart.tooltip.backdropFilter,
1174
+ smoothForce: P.value.style.chart.tooltip.smoothForce,
1175
+ smoothSnapThreshold: P.value.style.chart.tooltip.smoothSnapThreshold,
1176
+ isA11yMode: N.value === "keyboard",
1177
+ a11yPosition: Lt.value
1178
+ }, {
1179
+ "tooltip-before": T(() => [S(e.$slots, "tooltip-before", _(h({ ...jn.value })), void 0, !0)]),
1180
+ tooltip: T(() => [S(e.$slots, "tooltip", _(h({ ...jn.value })), void 0, !0)]),
1181
+ "tooltip-after": T(() => [S(e.$slots, "tooltip-after", _(h({ ...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
+ St.value && P.value.userOptions.buttons.table ? (y(), u(ze(Rn.value.component), Fe({ key: 8 }, Rn.value.props, {
1208
+ ref_key: "tableUnit",
1209
+ ref: j,
1210
+ onClose: t[3] ||= (e) => z.value.showTable = !1
1211
+ }), Me({
1212
+ content: T(() => [(y(), u(w(mt), {
1213
+ key: `table_${Mt.value}`,
1214
+ colNames: Z.value.colNames,
1215
+ head: Z.value.head,
1216
+ body: Z.value.body,
1217
+ config: Z.value.config,
1218
+ title: P.value.table.useDialog ? "" : Rn.value.title,
1219
+ withCloseButton: !P.value.table.useDialog,
1220
+ isCursorPointer: I.value,
1221
+ onClose: t[2] ||= (e) => z.value.showTable = !1
1222
+ }, {
1223
+ th: T(({ th: e }) => [Ne(C(e), 1)]),
1224
+ td: T(({ td: e }) => [p("div", { innerHTML: e }, null, 8, ut)]),
1225
+ _: 1
1226
+ }, 8, [
1227
+ "colNames",
1228
+ "head",
1229
+ "body",
1230
+ "config",
1231
+ "title",
1232
+ "withCloseButton",
1233
+ "isCursorPointer"
1234
+ ]))]),
1235
+ _: 2
1236
+ }, [P.value.table.useDialog ? {
1237
+ name: "title",
1238
+ fn: T(() => [Ne(C(Rn.value.title), 1)]),
1239
+ key: "0"
1240
+ } : void 0, P.value.table.useDialog ? {
1241
+ name: "actions",
1242
+ fn: T(() => [p("button", {
1243
+ tabindex: "0",
1244
+ class: "vue-ui-user-options-button",
1245
+ onClick: t[1] ||= (e) => Tn(P.value.userOptions.callbacks.csv),
1246
+ style: v({ cursor: I.value ? "pointer" : "default" })
1247
+ }, [Pe(w(ft), {
1248
+ name: "fileCsv",
1249
+ stroke: Rn.value.props.color
1250
+ }, null, 8, ["stroke"])], 4)]),
1251
+ key: "1"
1252
+ } : void 0]), 1040)) : d("", !0),
1253
+ S(e.$slots, "skeleton", {}, () => [w(L) ? (y(), u(pe, { key: 0 })) : d("", !0)], !0)
1254
+ ], 46, We));
1255
+ }
1256
+ }, [["__scopeId", "data-v-4d2bd2f8"]]);
1257
+ //#endregion
1258
+ export { Ue as n, dt as t };