vue-data-ui 3.25.7 → 3.25.9

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 (163) hide show
  1. package/dist/{BaseScanner-DZvpgOjM.js → BaseScanner-Dzc8VT3j.js} +6 -3
  2. package/dist/{PackageVersion-UfoQuPMf.js → PackageVersion-KBMdaOXg.js} +1 -1
  3. package/dist/components/vue-ui-3d-bar.js +1 -1
  4. package/dist/components/vue-ui-accordion.js +1 -1
  5. package/dist/components/vue-ui-age-pyramid.js +1 -1
  6. package/dist/components/vue-ui-annotator.js +1 -1
  7. package/dist/components/vue-ui-bullet.js +1 -1
  8. package/dist/components/vue-ui-bump.js +1 -1
  9. package/dist/components/vue-ui-candlestick.js +1 -1
  10. package/dist/components/vue-ui-carousel-table.js +1 -1
  11. package/dist/components/vue-ui-chestnut.js +1 -1
  12. package/dist/components/vue-ui-chord.js +1 -1
  13. package/dist/components/vue-ui-circle-pack.js +1 -1
  14. package/dist/components/vue-ui-cursor.js +1 -1
  15. package/dist/components/vue-ui-dag.js +1 -1
  16. package/dist/components/vue-ui-dashboard.js +1 -1
  17. package/dist/components/vue-ui-digits.js +1 -1
  18. package/dist/components/vue-ui-donut-evolution.js +1 -1
  19. package/dist/components/vue-ui-donut.js +1 -1
  20. package/dist/components/vue-ui-dumbbell.js +1 -1
  21. package/dist/components/vue-ui-flow.js +1 -1
  22. package/dist/components/vue-ui-funnel.js +1 -1
  23. package/dist/components/vue-ui-galaxy.js +1 -1
  24. package/dist/components/vue-ui-gauge.js +1 -1
  25. package/dist/components/vue-ui-geo.js +1 -1
  26. package/dist/components/vue-ui-gizmo.js +1 -1
  27. package/dist/components/vue-ui-heatmap.js +1 -1
  28. package/dist/components/vue-ui-hill.js +1 -1
  29. package/dist/components/vue-ui-history-plot.js +1 -1
  30. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  31. package/dist/components/vue-ui-kpi.js +1 -1
  32. package/dist/components/vue-ui-label.js +1 -1
  33. package/dist/components/vue-ui-mini-loader.js +1 -1
  34. package/dist/components/vue-ui-molecule.js +1 -1
  35. package/dist/components/vue-ui-mood-radar.js +1 -1
  36. package/dist/components/vue-ui-nested-donuts.js +1 -1
  37. package/dist/components/vue-ui-onion.js +1 -1
  38. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  39. package/dist/components/vue-ui-quadrant.js +1 -1
  40. package/dist/components/vue-ui-quick-chart.js +1 -1
  41. package/dist/components/vue-ui-radar.js +1 -1
  42. package/dist/components/vue-ui-rating.js +1 -1
  43. package/dist/components/vue-ui-relation-circle.js +1 -1
  44. package/dist/components/vue-ui-ridgeline.js +1 -1
  45. package/dist/components/vue-ui-rings.js +1 -1
  46. package/dist/components/vue-ui-scatter.js +1 -1
  47. package/dist/components/vue-ui-skeleton.js +1 -1
  48. package/dist/components/vue-ui-smiley.js +1 -1
  49. package/dist/components/vue-ui-spark-trend.js +1 -1
  50. package/dist/components/vue-ui-sparkbar.js +1 -1
  51. package/dist/components/vue-ui-sparkgauge.js +1 -1
  52. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  53. package/dist/components/vue-ui-sparkline.js +1 -1
  54. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  55. package/dist/components/vue-ui-stackbar.js +1 -1
  56. package/dist/components/vue-ui-stackline.js +1 -1
  57. package/dist/components/vue-ui-strip-plot.js +1 -1
  58. package/dist/components/vue-ui-table-heatmap.js +1 -1
  59. package/dist/components/vue-ui-table-sparkline.js +1 -1
  60. package/dist/components/vue-ui-table.js +1 -1
  61. package/dist/components/vue-ui-thermometer.js +1 -1
  62. package/dist/components/vue-ui-timer.js +1 -1
  63. package/dist/components/vue-ui-tiremarks.js +1 -1
  64. package/dist/components/vue-ui-treemap.js +1 -1
  65. package/dist/components/vue-ui-vertical-bar.js +1 -1
  66. package/dist/components/vue-ui-waffle.js +1 -1
  67. package/dist/components/vue-ui-wheel.js +1 -1
  68. package/dist/components/vue-ui-word-cloud.js +1 -1
  69. package/dist/components/vue-ui-world.js +1 -1
  70. package/dist/components/vue-ui-xy-canvas.js +1 -1
  71. package/dist/components/vue-ui-xy.js +1 -1
  72. package/dist/{package-B-3S5q00.js → package-BL27Ev_h.js} +1 -1
  73. package/dist/{render-common-CAXK7ycr.js → render-common-By8J0AE-.js} +1 -1
  74. package/dist/ssr/vue-ui-donut.js +1 -1
  75. package/dist/ssr/vue-ui-xy.js +1 -1
  76. package/dist/ssr.js +2 -2
  77. package/dist/style.css +1 -1
  78. package/dist/types/vue-data-ui.d.ts +2 -0
  79. package/dist/{useConfig-CIQZ6_r7.js → useConfig-D32D002m.js} +2 -0
  80. package/dist/{useObjectBindings---mHNfbS.js → useObjectBindings-Cd_WuYIn.js} +1 -1
  81. package/dist/utils.js +1 -1
  82. package/dist/{vue-data-ui-DlWT702n.js → vue-data-ui-CBWuUAXT.js} +69 -69
  83. package/dist/vue-data-ui.js +70 -70
  84. package/dist/{vue-ui-3d-bar-DbOk2kpM.js → vue-ui-3d-bar-BSbq90H3.js} +3 -3
  85. package/dist/{vue-ui-accordion-BSmBUjwZ.js → vue-ui-accordion-DmkL8A59.js} +1 -1
  86. package/dist/{vue-ui-age-pyramid-C7_mGIRk.js → vue-ui-age-pyramid-CrXl71iC.js} +263 -251
  87. package/dist/{vue-ui-annotator-CTQHAPho.js → vue-ui-annotator-BO5ihHOB.js} +2 -2
  88. package/dist/{vue-ui-bullet-CDy_dkYz.js → vue-ui-bullet-B2Y3Wqh9.js} +3 -3
  89. package/dist/{vue-ui-bump-DP24leiD.js → vue-ui-bump-DXvvjG4I.js} +3 -3
  90. package/dist/{vue-ui-candlestick-kJLmYaR7.js → vue-ui-candlestick-CFqR6W56.js} +453 -441
  91. package/dist/{vue-ui-carousel-table-BQzAQDw6.js → vue-ui-carousel-table-D-ZkPRta.js} +2 -2
  92. package/dist/{vue-ui-chestnut-DnnRp3Kl.js → vue-ui-chestnut-CyW3IoYC.js} +3 -3
  93. package/dist/{vue-ui-chord-DO15ZDCS.js → vue-ui-chord-DS0jni9A.js} +3 -3
  94. package/dist/{vue-ui-circle-pack-DYTllMPV.js → vue-ui-circle-pack-j2ChgLWr.js} +494 -482
  95. package/dist/{vue-ui-cursor-CtViSjNp.js → vue-ui-cursor-qOONOtcv.js} +2 -2
  96. package/dist/{vue-ui-dag-NXtGYzqg.js → vue-ui-dag-CmeFsKhR.js} +3 -3
  97. package/dist/{vue-ui-dashboard-D3_4QohV.js → vue-ui-dashboard-C7Z5BTN4.js} +65 -65
  98. package/dist/{vue-ui-digits-CB09pLQx.js → vue-ui-digits-Bf68x6fb.js} +2 -2
  99. package/dist/{vue-ui-donut-yTE6D8yV.js → vue-ui-donut-CkBPJW_T.js} +837 -825
  100. package/dist/{vue-ui-donut-eysaEyTy.js → vue-ui-donut-DzDSYgVp.js} +2 -2
  101. package/dist/{vue-ui-donut-evolution-DhrtxvAd.js → vue-ui-donut-evolution-CDJumo0t.js} +3 -3
  102. package/dist/{vue-ui-dumbbell-CmGIeULQ.js → vue-ui-dumbbell-Cr__26dN.js} +3 -3
  103. package/dist/vue-ui-flow-Cz6WRi2c.js +1229 -0
  104. package/dist/{vue-ui-funnel-CLAii4wi.js → vue-ui-funnel-BlC7KxS6.js} +2 -2
  105. package/dist/vue-ui-galaxy-Bg2smlcI.js +1097 -0
  106. package/dist/{vue-ui-gauge-D76-4Z_0.js → vue-ui-gauge-BHsaent1.js} +3 -3
  107. package/dist/{vue-ui-geo-BQ7-UnuG.js → vue-ui-geo-CE3Cr0or.js} +407 -395
  108. package/dist/{vue-ui-gizmo-C47zjcs-.js → vue-ui-gizmo-DqFUBEai.js} +3 -3
  109. package/dist/{vue-ui-heatmap-XJef60IZ.js → vue-ui-heatmap-DXqj9ial.js} +478 -446
  110. package/dist/{vue-ui-hill-D5BYGPXB.js → vue-ui-hill-B3fPAfhL.js} +2 -2
  111. package/dist/vue-ui-history-plot-CrnTnpaM.js +1710 -0
  112. package/dist/{vue-ui-horizontal-bar-BgFHi6_7.js → vue-ui-horizontal-bar-DqvN3imH.js} +432 -420
  113. package/dist/{vue-ui-kpi-Cb8QJeaj.js → vue-ui-kpi-Mf318HvK.js} +2 -2
  114. package/dist/{vue-ui-label-ClMQ5Gez.js → vue-ui-label-C1UAzvAu.js} +1 -1
  115. package/dist/{vue-ui-mini-loader-DtPOVIkK.js → vue-ui-mini-loader-wGeACd-Y.js} +1 -1
  116. package/dist/{vue-ui-molecule-BzwMl-in.js → vue-ui-molecule-CaLReo4h.js} +346 -334
  117. package/dist/{vue-ui-mood-radar-BUR_YCcr.js → vue-ui-mood-radar-jkE2ENX5.js} +3 -3
  118. package/dist/{vue-ui-nested-donuts-BEB4nfsD.js → vue-ui-nested-donuts-BgMOKjil.js} +360 -348
  119. package/dist/vue-ui-onion-DBN3Ev4j.js +1247 -0
  120. package/dist/{vue-ui-parallel-coordinate-plot-CSO4johj.js → vue-ui-parallel-coordinate-plot-BcJzEGJ-.js} +387 -375
  121. package/dist/{vue-ui-quadrant-CKav0I6g.js → vue-ui-quadrant-BvoVlxTI.js} +418 -406
  122. package/dist/{vue-ui-quick-chart-BAQNS9_2.js → vue-ui-quick-chart-2hn8-F_C.js} +550 -538
  123. package/dist/{vue-ui-radar-ClPAgf5I.js → vue-ui-radar-O3AjGrc-.js} +330 -318
  124. package/dist/{vue-ui-rating-CWFMoYpE.js → vue-ui-rating-Criq0ofQ.js} +1 -1
  125. package/dist/{vue-ui-relation-circle-Da2MhrVe.js → vue-ui-relation-circle-CRnH2ikm.js} +3 -3
  126. package/dist/{vue-ui-ridgeline-D7gFs8yR.js → vue-ui-ridgeline-Blejn8LY.js} +3 -3
  127. package/dist/{vue-ui-rings-DkDJ0k5b.js → vue-ui-rings-C1U38Bp0.js} +321 -309
  128. package/dist/{vue-ui-scatter-yv4JzJID.js → vue-ui-scatter-DTsCc9hg.js} +584 -572
  129. package/dist/{vue-ui-skeleton-oFnh5zWs.js → vue-ui-skeleton-BPr3u7IL.js} +2 -2
  130. package/dist/{vue-ui-smiley-DJVusLnp.js → vue-ui-smiley-BIjAIpJ9.js} +1 -1
  131. package/dist/{vue-ui-spark-trend-IqZWPvSB.js → vue-ui-spark-trend-B7w4Mg8O.js} +3 -3
  132. package/dist/{vue-ui-sparkbar-_FW47iYj.js → vue-ui-sparkbar-lVDnYEYA.js} +3 -3
  133. package/dist/{vue-ui-sparkgauge--2vk2Y23.js → vue-ui-sparkgauge-BryoGCoc.js} +3 -3
  134. package/dist/{vue-ui-sparkhistogram-CFEIPa5n.js → vue-ui-sparkhistogram-BdNoLb9L.js} +3 -3
  135. package/dist/{vue-ui-sparkline-Cs9CJR6W.js → vue-ui-sparkline-CNFD5K6z.js} +3 -3
  136. package/dist/vue-ui-sparkstackbar-CZ4tGL-_.js +750 -0
  137. package/dist/vue-ui-stackbar-DfsgaZy7.js +2369 -0
  138. package/dist/vue-ui-stackline-Cx7q2sGF.js +2483 -0
  139. package/dist/vue-ui-strip-plot-BcYhLPHM.js +1752 -0
  140. package/dist/{vue-ui-table-CiccGbRB.js → vue-ui-table-BzF75YjN.js} +3 -3
  141. package/dist/{vue-ui-table-heatmap-DnP3pzh2.js → vue-ui-table-heatmap-BSUab4fG.js} +1 -1
  142. package/dist/{vue-ui-table-sparkline-Bp7RiZh4.js → vue-ui-table-sparkline-B9ICTtoE.js} +2 -2
  143. package/dist/{vue-ui-thermometer-CawumQKP.js → vue-ui-thermometer-Am7llqdI.js} +3 -3
  144. package/dist/{vue-ui-timer-CXinMW7q.js → vue-ui-timer-D6EvkM31.js} +2 -2
  145. package/dist/{vue-ui-tiremarks-BnI2uhki.js → vue-ui-tiremarks-DiQJu8Em.js} +3 -3
  146. package/dist/{vue-ui-treemap-DTlFbfD6.js → vue-ui-treemap-wUZpijpr.js} +310 -298
  147. package/dist/vue-ui-waffle-6hO0flDT.js +1633 -0
  148. package/dist/{vue-ui-wheel-B02tiG0p.js → vue-ui-wheel-DnyCE0CK.js} +3 -3
  149. package/dist/{vue-ui-word-cloud-BZnCOMHx.js → vue-ui-word-cloud-D_MZ3gCS.js} +385 -372
  150. package/dist/{vue-ui-world-DO2VZ-T-.js → vue-ui-world-QNGY2WPz.js} +474 -462
  151. package/dist/{vue-ui-xy-CD6BiP_g.js → vue-ui-xy-BD-ighya.js} +2 -2
  152. package/dist/{vue-ui-xy-BC9GVdWE.js → vue-ui-xy-Ctcwn7Rk.js} +1447 -1432
  153. package/dist/{vue-ui-xy-canvas-DANPuyf4.js → vue-ui-xy-canvas-DUeglcdP.js} +523 -511
  154. package/package.json +1 -1
  155. package/dist/vue-ui-flow-qYAq3Rmn.js +0 -1217
  156. package/dist/vue-ui-galaxy-BVX-o2f-.js +0 -1085
  157. package/dist/vue-ui-history-plot-D-d-1ZiM.js +0 -1698
  158. package/dist/vue-ui-onion-CG6myK7a.js +0 -1235
  159. package/dist/vue-ui-sparkstackbar-Cvbue77A.js +0 -738
  160. package/dist/vue-ui-stackbar-C5ANS2hd.js +0 -2355
  161. package/dist/vue-ui-stackline-7yajJFW4.js +0 -2469
  162. package/dist/vue-ui-strip-plot-BT6Eqhup.js +0 -1740
  163. package/dist/vue-ui-waffle-CjgRkQAp.js +0 -1621
@@ -0,0 +1,1247 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, Ct as n, D as r, Lt as i, Pt as a, S as o, X as s, Yt as ee, Z as te, Zt as ne, i as re, lt as ie, nt as ae, q as oe, t as se, w as ce } from "./lib-Dql7cqyA.js";
3
+ import { n as le, t as ue } from "./useHints-Dq_w2E8B.js";
4
+ import { t as de } from "./useConfig-D32D002m.js";
5
+ import { t as fe } from "./usePrinter-DISD7q5m.js";
6
+ import { n as pe, t as me } from "./BaseScanner-Dzc8VT3j.js";
7
+ import { t as he } from "./useNestedProp-Chvyfpl-.js";
8
+ import { t as ge } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as _e } from "./useChartExport-iwOqiIWX.js";
10
+ import { t as ve } from "./useTransitions-g_zBREk2.js";
11
+ import { t as ye } from "./img-DhGApYG0.js";
12
+ import { n as be } from "./Title-CPHi-evi.js";
13
+ import { t as xe } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
+ import { l as Se, t as Ce } from "./useResponsive-ZtArZtUf.js";
15
+ import { t as we } from "./BaseLegendToggle-CXQrLjd-.js";
16
+ import { t as Te } from "./A11yDataTable-DdRsVULz.js";
17
+ import { t as Ee } from "./useUserOptionState-DK-_1ddE.js";
18
+ import { t as De } from "./useChartAccessibility-DYqac8yF.js";
19
+ import { t as Oe } from "./labelUtils-BXX2NzRe.js";
20
+ import { t as ke } from "./Legend-X4kF4PvW.js";
21
+ import { t as Ae } from "./useAutoSizeLabelsInsideViewbox-DvDwcwi_.js";
22
+ import { t as je } from "./vue_ui_onion-1FTFFS46.js";
23
+ import { Fragment as Me, Teleport as Ne, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as Pe, createTextVNode as Fe, createVNode as Ie, defineAsyncComponent as p, guardReactiveProps as m, mergeProps as Le, nextTick as Re, normalizeClass as h, normalizeProps as g, normalizeStyle as _, onBeforeUnmount as ze, onMounted as Be, openBlock as v, ref as y, renderList as Ve, renderSlot as b, resolveDynamicComponent as He, shallowRef as Ue, toDisplayString as x, toRefs as We, unref as S, watch as C, withCtx as w } from "vue";
24
+ //#region src/components/vue-ui-onion.vue
25
+ var Ge = /* @__PURE__ */ e({ default: () => pt }), Ke = ["id"], qe = ["id"], Je = ["id"], Ye = { style: { position: "relative" } }, Xe = [
26
+ "xmlns",
27
+ "aria-describedby",
28
+ "viewBox"
29
+ ], Ze = ["width", "height"], Qe = [
30
+ "cx",
31
+ "cy",
32
+ "r",
33
+ "stroke",
34
+ "stroke-width",
35
+ "stroke-dasharray",
36
+ "stroke-dashoffset"
37
+ ], $e = [
38
+ "cx",
39
+ "cy",
40
+ "r",
41
+ "stroke",
42
+ "stroke-width",
43
+ "stroke-dasharray",
44
+ "stroke-dashoffset"
45
+ ], et = ["id"], tt = ["stdDeviation"], nt = ["filter"], rt = [
46
+ "cx",
47
+ "cy",
48
+ "r",
49
+ "stroke-width",
50
+ "stroke-dasharray",
51
+ "stroke-dashoffset"
52
+ ], it = [
53
+ "cx",
54
+ "cy",
55
+ "r",
56
+ "stroke-width",
57
+ "stroke-dasharray",
58
+ "stroke-dashoffset",
59
+ "onMouseenter",
60
+ "onMouseleave",
61
+ "onClick"
62
+ ], at = { key: 2 }, ot = [
63
+ "onMouseenter",
64
+ "onMouseleave",
65
+ "onClick"
66
+ ], st = [
67
+ "transform",
68
+ "font-size",
69
+ "fill",
70
+ "font-weight"
71
+ ], ct = {
72
+ key: 0,
73
+ style: {
74
+ position: "absolute",
75
+ top: "100%",
76
+ left: "0",
77
+ width: "100%"
78
+ },
79
+ "data-dom-to-png-ignore": "",
80
+ "aria-hidden": "true"
81
+ }, lt = {
82
+ key: 5,
83
+ class: "vue-data-ui-watermark"
84
+ }, ut = ["id"], dt = ["onClick"], ft = ["innerHTML"], pt = /*#__PURE__*/ xe({
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: xe, emit: Ge }) {
102
+ let pt = p(() => import("./Tooltip-hhrkQ3Lk.js")), mt = p(() => import("./BaseIcon-D8R6_sKH.js").then((e) => e.n)), ht = p(() => import("./vue-ui-accordion-DmkL8A59.js").then((e) => e.n)), gt = p(() => import("./DataTable-oiM9uWrQ.js")), _t = p(() => import("./UserOptions-2x4VklMW.js").then((e) => e.n)), vt = p(() => import("./PenAndPaper-KFzKlvbi.js").then((e) => e.t)), yt = p(() => import("./PackageVersion-KBMdaOXg.js").then((e) => e.t)), bt = p(() => import("./BaseDraggableDialog-Gm4Q30j0.js").then((e) => e.n)), { vue_ui_onion: xt } = de(), { isThemeValid: St, warnInvalidTheme: Ct } = ge(), T = e, wt = c(() => !!T.dataset && T.dataset.length), E = y(oe()), Tt = y(null), Et = y(0), Dt = y(!1), Ot = y(""), D = y([]), O = y(null), kt = y(null), At = y(null), jt = y(null), Mt = y(null), Nt = y(0), Pt = y(0), Ft = y(0), It = y(!1), Lt = y(!1), k = y(null), A = y(null), Rt = y({
103
+ x: 0,
104
+ y: 0
105
+ }), zt = y("pointer"), Bt = y(!1), j = y(qt()), M = c(() => j.value.userOptions), N = c(() => j.value.style.chart.layout.labels), P = c(() => j.value.style.chart.layout), F = c(() => j.value.style.chart.tooltip), I = c(() => j.value.style.chart);
106
+ le({
107
+ config: () => j.value,
108
+ dataset: () => T.dataset,
109
+ component: "VueUiOnion",
110
+ rules: [ue.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: L } = ve({
124
+ config: () => j.value.transitions,
125
+ dataset: () => T.dataset
126
+ }), R = c(() => j.value.userOptions.useCursorPointer), Vt = c(() => ne({
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: j.value.skeletonConfig ?? {}
140
+ })), { loading: z, FINAL_DATASET: Ht, manualLoading: Ut } = pe({
141
+ ...We(T),
142
+ FINAL_CONFIG: j,
143
+ prepareConfig: qt,
144
+ callback: () => {
145
+ Promise.resolve().then(async () => {
146
+ await Re(), yn();
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: ne({
176
+ defaultConfig: j.value,
177
+ userConfig: Vt.value
178
+ })
179
+ }), { userOptionsVisible: Wt, setUserOptionsVisibility: Gt, keepUserOptionState: Kt } = Ee({ config: j.value }), { svgRef: B } = De({ config: I.value.title });
180
+ function qt() {
181
+ let e = he({
182
+ userConfig: T.config,
183
+ defaultConfig: xt
184
+ }), t = e.theme;
185
+ if (!t) return e;
186
+ if (!St.value(e)) return Ct(e), e;
187
+ let n = he({
188
+ userConfig: je[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 : ee[t] || i
197
+ };
198
+ }
199
+ function Jt(e) {
200
+ let t = te(e);
201
+ return t?.style?.chart && delete t.style.chart.tooltip, JSON.stringify(t);
202
+ }
203
+ let Yt = Jt(T.config);
204
+ C(() => T.config, (e, t) => {
205
+ let n = Jt(e), r = n !== Yt;
206
+ Yt = n;
207
+ let i = qt();
208
+ if (!r) {
209
+ j.value.style.chart.tooltip = i.style.chart.tooltip, V.value.showTooltip = j.value.style.chart.tooltip.show;
210
+ return;
211
+ }
212
+ z.value || (j.value = i), Wt.value = !j.value.userOptions.showOnChartHover, fn(), Nt.value += 1, Pt.value += 1, Ft.value += 1, V.value.showTable = j.value.table.show, V.value.showTooltip = F.value.show;
213
+ }, { deep: !0 });
214
+ let { isPrinting: Xt, isImaging: Zt, generatePdf: Qt, generateImage: $t } = fe({
215
+ elementId: `vue-ui-onion_${E.value}`,
216
+ fileName: I.value.title.text || "vue-ui-onion",
217
+ options: j.value.userOptions.print
218
+ }), en = c(() => j.value.userOptions.show && !I.value.title.text), tn = c(() => ce(j.value.customPalette)), V = y({
219
+ showTable: j.value.table.show,
220
+ showTooltip: F.value.show
221
+ });
222
+ C(j, () => {
223
+ V.value = {
224
+ showTable: j.value.table.show,
225
+ showTooltip: F.value.show
226
+ };
227
+ }, { immediate: !0 });
228
+ let H = y({
229
+ height: 512,
230
+ width: 512,
231
+ padding: {
232
+ top: 64,
233
+ left: 64,
234
+ right: 64,
235
+ bottom: 64
236
+ },
237
+ minRadius: 64
238
+ }), U = Ue(null), W = Ue(null);
239
+ Be(() => {
240
+ Lt.value = !0, fn();
241
+ });
242
+ let { autoSizeLabels: nn } = Ae({
243
+ svgRef: B,
244
+ fontSize: () => N.value.fontSize,
245
+ minFontSize: () => N.value.minFontSize,
246
+ labelClass: ".vue-ui-onion-label"
247
+ }), G = null, K = null, rn = 0;
248
+ function an() {
249
+ G !== null && (cancelAnimationFrame(G), G = null), K !== null && (clearTimeout(K), K = null);
250
+ }
251
+ function on(e) {
252
+ return String(e).split(",").map((e) => {
253
+ let t = e.trim(), n = Number.parseFloat(t);
254
+ return Number.isFinite(n) ? t.endsWith("ms") ? n : n * 1e3 : 0;
255
+ });
256
+ }
257
+ function sn() {
258
+ return typeof window > "u" || !L.value || It.value || z.value || !B.value ? 0 : Array.from(B.value.querySelectorAll(".vue-ui-onion-label.vue-data-ui-transition")).reduce((e, t) => {
259
+ let n = window.getComputedStyle(t);
260
+ if (n.transitionProperty === "none") return e;
261
+ let r = on(n.transitionDuration), i = on(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);
262
+ return Math.max(e, o);
263
+ }, 0);
264
+ }
265
+ function cn() {
266
+ typeof window > "u" || (G = requestAnimationFrame(() => {
267
+ G = null, nn();
268
+ }));
269
+ }
270
+ function ln() {
271
+ if (typeof window > "u") return;
272
+ let e = ++rn;
273
+ an(), Re(() => {
274
+ e === rn && (G = requestAnimationFrame(() => {
275
+ if (G = null, e !== rn) return;
276
+ let t = sn();
277
+ if (t <= 0) {
278
+ cn();
279
+ return;
280
+ }
281
+ K = setTimeout(() => {
282
+ K = null, e === rn && cn();
283
+ }, t + 34);
284
+ }));
285
+ });
286
+ }
287
+ let un = c(() => j.value.debug), dn = null;
288
+ function fn() {
289
+ if (a(T.dataset) && (ae({
290
+ componentName: "VueUiOnion",
291
+ type: "dataset",
292
+ debug: un.value
293
+ }), Ut.value = !0), a(T.dataset) || (Ut.value = j.value.loading), j.value.responsive) {
294
+ let e = 64 / 512, t = Se(() => {
295
+ dn && clearTimeout(dn), It.value = !0;
296
+ let { width: t, height: n } = Ce({
297
+ chart: O.value,
298
+ title: I.value.title.text ? kt.value : null,
299
+ legend: I.value.legend.show ? At.value : null,
300
+ source: jt.value,
301
+ noTitle: Mt.value
302
+ });
303
+ n -= 12, requestAnimationFrame(async () => {
304
+ H.value.width = t, H.value.height = n, H.value.padding.top = Math.max(t, n) * e, H.value.padding.right = Math.max(t, n) * e, H.value.padding.bottom = Math.max(t, n) * e, H.value.padding.left = Math.max(t, n) * e, H.value.minRadius = Math.min(t, n) * e, dn = setTimeout(() => {
305
+ It.value = !1, ln();
306
+ }, 0);
307
+ });
308
+ });
309
+ U.value && (W.value && U.value.unobserve(W.value), U.value.disconnect()), U.value = new ResizeObserver(t), W.value = O.value.parentNode, U.value.observe(W.value);
310
+ }
311
+ ln();
312
+ }
313
+ ze(() => {
314
+ rn += 1, an(), U.value && (W.value && U.value.unobserve(W.value), U.value.disconnect());
315
+ });
316
+ let q = c(() => ({
317
+ top: H.value.padding.top,
318
+ left: H.value.padding.left,
319
+ right: H.value.width - H.value.padding.right,
320
+ bottom: H.value.height - H.value.padding.bottom,
321
+ centerX: H.value.width / 2,
322
+ centerY: H.value.height / 2,
323
+ width: H.value.width - H.value.padding.right - H.value.padding.left,
324
+ height: H.value.height - H.value.padding.bottom - H.value.padding.top,
325
+ minRadius: H.value.minRadius,
326
+ maxRadius: Math.min(H.value.width, H.value.height) - H.value.padding.top * 2
327
+ })), J = c(() => (un.value && Ht.value.forEach((e, t) => {
328
+ [null, void 0].includes(e.name) && ae({
329
+ componentName: "VueUiOnion",
330
+ type: "datasetSerieAttribute",
331
+ property: "name",
332
+ index: t
333
+ }), [void 0].includes(e.percentage) && ae({
334
+ componentName: "VueUiOnion",
335
+ type: "datasetSerieAttribute",
336
+ property: "percentage",
337
+ index: t
338
+ });
339
+ }), Ht.value.map((e, t) => {
340
+ let n = `onion_serie_${t}_${E.value}`;
341
+ return {
342
+ ...e,
343
+ percentage: e.percentage || 0,
344
+ targetPercentage: e.percentage || 0,
345
+ color: o(e.color) || tn.value[t] || i[t],
346
+ id: n,
347
+ shape: "circle",
348
+ opacity: D.value.includes(n) ? .5 : 1,
349
+ absoluteIndex: t,
350
+ segregate: () => Tn(n),
351
+ isSegregated: D.value.includes(n)
352
+ };
353
+ }))), pn = c(() => J.value.map((e, t) => {
354
+ let n = I.value.legend.showValue, r = I.value.legend.showPercentage, i = Fn({
355
+ showVal: n,
356
+ showPercentage: r,
357
+ val: re(N.value.value.formatter, e.value, s({
358
+ p: e.prefix || "",
359
+ v: e.value,
360
+ s: e.suffix || "",
361
+ r: I.value.legend.roundingValue
362
+ })),
363
+ percentage: s({
364
+ v: e.percentage ?? 0,
365
+ s: "%",
366
+ r: I.value.legend.roundingPercentage
367
+ }),
368
+ config: I.value.legend
369
+ });
370
+ return {
371
+ ...e,
372
+ display: `${e.name}${n || r ? ": " : ""}${i}`
373
+ };
374
+ })), mn = y(J.value), hn = c(() => j.value.useStartAnimation), gn = y(null), _n = c(() => Math.max(...J.value.map((e) => e.percentage))), vn = y(!1);
375
+ C(() => J.value, yn, {
376
+ immediate: !0,
377
+ deep: !0
378
+ }), C(() => T.dataset, (e) => {
379
+ Array.isArray(e) && e.length > 0 && (Ut.value = !1), ln();
380
+ }, {
381
+ deep: !0,
382
+ flush: "post"
383
+ });
384
+ function yn() {
385
+ if (hn.value && !vn.value && !z.value) {
386
+ mn.value = J.value.map((e) => ({
387
+ ...e,
388
+ percentage: 0
389
+ }));
390
+ let e = 0;
391
+ function t() {
392
+ e >= _n.value ? (cancelAnimationFrame(gn.value), mn.value = J.value, vn.value = !0) : (mn.value = J.value.map((t) => ({
393
+ ...t,
394
+ percentage: e < t.targetPercentage ? e : t.targetPercentage
395
+ })), e += 1, requestAnimationFrame(t), vn.value = !0);
396
+ }
397
+ t();
398
+ } else mn.value = J.value;
399
+ }
400
+ let bn = c(() => ({
401
+ cy: "onion-div-legend",
402
+ backgroundColor: I.value.legend.backgroundColor,
403
+ color: I.value.legend.color,
404
+ fontSize: I.value.legend.fontSize,
405
+ paddingBottom: 12,
406
+ fontWeight: I.value.legend.bold ? "bold" : ""
407
+ })), xn = c(() => J.value.filter((e) => !D.value.includes(e.id)).length), Y = c(() => {
408
+ let e = Math.min(q.value.width, q.value.height) / 2 / J.value.length;
409
+ return {
410
+ gutter: (e > P.value.maxThickness ? P.value.maxThickness : e) * P.value.gutter.width,
411
+ track: (e > P.value.maxThickness ? P.value.maxThickness : e) * P.value.track.width
412
+ };
413
+ }), X = c(() => mn.value.filter((e) => !D.value.includes(e.id)).map((e, t) => {
414
+ let n = (q.value.maxRadius - Y.value.track) / xn.value / 2 * (1 + t), r = q.value.centerY - n;
415
+ return {
416
+ percentage: e.percentage || 0,
417
+ ...e,
418
+ labelY: r,
419
+ radius: n,
420
+ path: Sn(n, e.percentage || 0)
421
+ };
422
+ }));
423
+ function Sn(e, t) {
424
+ let n = 2 * Math.PI * e, r = n * .75, i = `${r} ${n}`, a = r * (1 - t / 100);
425
+ return {
426
+ bgDashArray: `${r} ${n}`,
427
+ bgDashOffset: 0,
428
+ dashArray: i,
429
+ dashOffset: a,
430
+ fullOffset: 0,
431
+ active: `
432
+ M ${q.value.centerX},${q.value.centerY - e}
433
+ A ${e},${e} 0 1 1
434
+ ${q.value.centerX + e * Math.cos(Math.PI * 3 / 4)},${q.value.centerY + e * Math.sin(Math.PI * 3 / 4)}
435
+ `.trim()
436
+ };
437
+ }
438
+ let Cn = Ge;
439
+ function wn() {
440
+ D.value.length ? D.value = [] : pn.value.forEach((e) => {
441
+ D.value.push(e.id);
442
+ }), ln(), Cn("selectLegend", X.value);
443
+ }
444
+ function Tn(e) {
445
+ if (D.value.includes(e)) D.value = D.value.filter((t) => t !== e);
446
+ else {
447
+ if (D.value.length === J.value.length - 1) return;
448
+ D.value.push(e);
449
+ }
450
+ ln(), Cn("selectLegend", X.value);
451
+ }
452
+ function En(e) {
453
+ return J.value.length ? J.value.find((t) => t.name === e) || (un.value && console.warn(`VueUiOnion - Series name not found "${e}"`), null) : (un.value && console.warn("VueUiOnion - There are no series to show."), null);
454
+ }
455
+ function Dn(e) {
456
+ let t = En(e);
457
+ t !== null && D.value.includes(t.id) && Tn(t.id);
458
+ }
459
+ function On(e) {
460
+ let t = En(e);
461
+ t !== null && (D.value.includes(t.id) || Tn(t.id));
462
+ }
463
+ function kn() {
464
+ return X.value;
465
+ }
466
+ let An = c(() => ({
467
+ head: [
468
+ j.value.table.translations.serie,
469
+ j.value.table.translations.percentage,
470
+ j.value.table.translations.value
471
+ ],
472
+ body: X.value.map((e) => [
473
+ e.name,
474
+ e.percentage,
475
+ e.value
476
+ ])
477
+ })), Z = c(() => {
478
+ let e = An.value.head;
479
+ return {
480
+ head: e,
481
+ body: X.value.map((e) => [
482
+ `<span style="color:${e.color}" aria-hidden="true">⬤</span> ${e.name}`,
483
+ `${Number(e.percentage ?? 0).toFixed(j.value.table.td.roundingPercentage).toLocaleString()}%`,
484
+ `${e.prefix || ""}${[
485
+ null,
486
+ void 0,
487
+ NaN,
488
+ "NaN"
489
+ ].includes(e.value) ? "-" : e.value.toFixed(j.value.table.td.roundingValue).toLocaleString()}${e.suffix || ""}`
490
+ ]),
491
+ config: {
492
+ th: {
493
+ backgroundColor: j.value.table.th.backgroundColor,
494
+ color: j.value.table.th.color,
495
+ outline: j.value.table.th.outline
496
+ },
497
+ td: {
498
+ backgroundColor: j.value.table.td.backgroundColor,
499
+ color: j.value.table.td.color,
500
+ outline: j.value.table.td.outline
501
+ },
502
+ breakpoint: j.value.table.responsiveBreakpoint
503
+ },
504
+ colNames: e
505
+ };
506
+ });
507
+ function jn(e = null) {
508
+ Re(() => {
509
+ let n = [
510
+ [I.value.title.text],
511
+ [I.value.title.subtitle.text],
512
+ [""]
513
+ ], i = An.value.head, a = An.value.body, o = n.concat([i]).concat(a), s = r(o);
514
+ e ? e(s) : t({
515
+ csvContent: s,
516
+ title: I.value.title.text || "vue-ui-onion"
517
+ });
518
+ });
519
+ }
520
+ let Q = y(void 0), $ = y(!1);
521
+ function Mn(e) {
522
+ $.value = e, Et.value += 1;
523
+ }
524
+ function Nn({ datapoint: e }) {
525
+ j.value.events.datapointClick && j.value.events.datapointClick({
526
+ datapoint: e,
527
+ seriesIndex: e.absoluteIndex
528
+ });
529
+ }
530
+ function Pn({ datapoint: e }) {
531
+ Q.value = void 0, Dt.value = !1, A.value = null, zt.value = "pointer", j.value.events.datapointLeave && j.value.events.datapointLeave({
532
+ datapoint: e,
533
+ seriesIndex: e.absoluteIndex
534
+ });
535
+ }
536
+ function Fn({ val: e, percentage: t, showVal: n, showPercentage: r, config: i }) {
537
+ return Oe({
538
+ config: i,
539
+ val: e,
540
+ percentage: t,
541
+ showVal: n,
542
+ showPercentage: r
543
+ });
544
+ }
545
+ function In(e, t) {
546
+ let n = N.value.value.show, r = N.value.percentage.show, i = Fn({
547
+ config: N.value,
548
+ showVal: n,
549
+ showPercentage: r,
550
+ val: re(N.value.value.formatter, e.value, s({
551
+ p: e.prefix || "",
552
+ v: e.value || 0,
553
+ s: e.suffix || "",
554
+ r: N.value.roundingValue
555
+ }), {
556
+ datapoint: e,
557
+ seriesIndex: t
558
+ }),
559
+ percentage: s({
560
+ v: e.percentage,
561
+ s: "%",
562
+ r: N.value.roundingPercentage
563
+ })
564
+ });
565
+ return `${e.name}${n || r ? ": " : ""}${i}`;
566
+ }
567
+ let Ln = y(null);
568
+ function Rn({ datapoint: e, seriesIndex: t, show: r = !0, triggerMode: i = "pointer" }) {
569
+ j.value.events.datapointEnter && j.value.events.datapointEnter({
570
+ datapoint: e,
571
+ seriesIndex: e.absoluteIndex
572
+ }), zt.value = i, A.value = t;
573
+ let a = e.absoluteIndex;
574
+ Q.value = t, Ln.value = {
575
+ datapoint: e,
576
+ seriesIndex: a,
577
+ series: J.value,
578
+ config: j.value
579
+ }, Dt.value = r;
580
+ let o = "", ee = F.value.customFormat;
581
+ if (n(ee) && ie(() => ee({
582
+ seriesIndex: a,
583
+ datapoint: e,
584
+ series: J.value,
585
+ config: j.value
586
+ }))) Ot.value = ee({
587
+ seriesIndex: a,
588
+ datapoint: e,
589
+ series: J.value,
590
+ config: j.value
591
+ });
592
+ else {
593
+ let n = F.value.showPercentage, r = F.value.showValue;
594
+ o += `<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`, o += `<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>`, o += `<b>${Fn({
595
+ config: F.value,
596
+ showVal: r,
597
+ showPercentage: n,
598
+ val: `<span>${re(N.value.value.formatter, e.value, s({
599
+ p: e.prefix || "",
600
+ v: e.value,
601
+ s: e.suffix || "",
602
+ r: F.value.roundingValue
603
+ }), {
604
+ datapoint: e,
605
+ seriesIndex: t
606
+ })}</span>`,
607
+ percentage: s({
608
+ v: e.percentage,
609
+ s: "%",
610
+ r: F.value.roundingPercentage
611
+ })
612
+ })}</b></div>`, Ot.value = `<div>${o}</div>`;
613
+ }
614
+ }
615
+ function zn() {
616
+ V.value.showTable = !V.value.showTable;
617
+ }
618
+ function Bn() {
619
+ V.value.showTooltip = !V.value.showTooltip;
620
+ }
621
+ let Vn = y(!1);
622
+ function Hn() {
623
+ Vn.value = !Vn.value;
624
+ }
625
+ async function Un({ scale: e = 2 } = {}) {
626
+ if (!O.value) return;
627
+ let { width: t, height: n } = O.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await ye({
628
+ domElement: O.value,
629
+ base64: !0,
630
+ img: !0,
631
+ scale: e
632
+ });
633
+ return {
634
+ imageUri: i,
635
+ base64: a,
636
+ title: I.value.title.text,
637
+ width: t,
638
+ height: n,
639
+ aspectRatio: r
640
+ };
641
+ }
642
+ let Wn = c(() => {
643
+ let e = j.value.table.useDialog && !j.value.table.show, t = V.value.showTable;
644
+ return {
645
+ component: e ? bt : ht,
646
+ title: `${I.value.title.text}${I.value.title.subtitle.text ? `: ${I.value.title.subtitle.text}` : ""}`,
647
+ props: e ? {
648
+ backgroundColor: j.value.table.th.backgroundColor,
649
+ color: j.value.table.th.color,
650
+ headerColor: j.value.table.th.color,
651
+ headerBg: j.value.table.th.backgroundColor,
652
+ isFullscreen: $.value,
653
+ fullscreenParent: O.value,
654
+ forcedWidth: Math.min(600, window.innerWidth * .8),
655
+ isCursorPointer: R.value
656
+ } : {
657
+ hideDetails: !0,
658
+ config: {
659
+ open: t,
660
+ maxHeight: 1e4,
661
+ body: {
662
+ backgroundColor: I.value.backgroundColor,
663
+ color: I.value.color
664
+ },
665
+ head: {
666
+ backgroundColor: I.value.backgroundColor,
667
+ color: I.value.color
668
+ }
669
+ }
670
+ }
671
+ };
672
+ });
673
+ C(() => V.value.showTable, (e) => {
674
+ j.value.table.show || (e && j.value.table.useDialog && k.value ? k.value.open() : "close" in k.value && k.value.close());
675
+ });
676
+ let Gn = c(() => pn.value.map((e) => ({
677
+ ...e,
678
+ name: e.display
679
+ }))), Kn = c(() => I.value.backgroundColor), qn = c(() => I.value.legend), Jn = c(() => I.value.title), { isCallbackImaging: Yn, isCallbackSvg: Xn, generateSvg: Zn, onGenerateImage: Qn } = _e({
680
+ svg: B,
681
+ title: Jn,
682
+ legend: qn,
683
+ legendItems: Gn,
684
+ backgroundColor: Kn,
685
+ getSvgCallback: () => j.value.userOptions.callbacks.svg,
686
+ generateImage: $t
687
+ });
688
+ async function $n() {
689
+ if (Cn("copyAlt", {
690
+ config: j.value,
691
+ dataset: X.value
692
+ }), !j.value.userOptions.callbacks.altCopy) {
693
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
694
+ return;
695
+ }
696
+ await Promise.resolve(j.value.userOptions.callbacks.altCopy({
697
+ config: j.value,
698
+ dataset: X.value
699
+ }));
700
+ }
701
+ function er() {
702
+ A.value = null, Bt.value = !0;
703
+ }
704
+ function tr() {
705
+ A.value = null, zt.value = "pointer", Dt.value = !1, Q.value = void 0, Bt.value = !1;
706
+ }
707
+ function nr(e) {
708
+ if (!B.value || Vn.value || document.activeElement !== B.value || !X.value.length) return;
709
+ let t = ["ArrowLeft", "ArrowDown"].includes(e.key), n = ["ArrowRight", "ArrowUp"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
710
+ if (!t && !n && !r && !i) return;
711
+ if (e.preventDefault(), e.stopPropagation(), i) {
712
+ A.value = null, zt.value = "pointer", Dt.value = !1, Q.value = void 0;
713
+ return;
714
+ }
715
+ if (r) {
716
+ if (A.value === null) return;
717
+ let e = X.value[A.value];
718
+ if (!e) return;
719
+ Nn({ datapoint: e });
720
+ return;
721
+ }
722
+ let a = A.value;
723
+ 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));
724
+ let o = X.value[a];
725
+ o && (rr(a), Rn({
726
+ datapoint: o,
727
+ seriesIndex: a,
728
+ show: !0,
729
+ triggerMode: "keyboard"
730
+ }));
731
+ }
732
+ function rr(e) {
733
+ if (!Number.isFinite(e) || !B.value) return;
734
+ let t = X.value[e];
735
+ if (!t) return;
736
+ 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 = B.value.getBoundingClientRect();
737
+ Rt.value = {
738
+ x: o.left + i / H.value.width * o.width,
739
+ y: o.top + a / H.value.height * o.height
740
+ };
741
+ }
742
+ let ir = c(() => ({
743
+ headers: Z.value?.colNames ?? [],
744
+ rows: Z.value?.body ?? []
745
+ }));
746
+ return xe({
747
+ getData: kn,
748
+ getImage: Un,
749
+ generatePdf: Qt,
750
+ generateCsv: jn,
751
+ generateImage: $t,
752
+ generateSvg: Zn,
753
+ hideSeries: On,
754
+ showSeries: Dn,
755
+ toggleTable: zn,
756
+ toggleTooltip: Bn,
757
+ toggleAnnotator: Hn,
758
+ toggleFullscreen: Mn,
759
+ copyAlt: $n
760
+ }), (e, t) => (v(), d("div", {
761
+ class: h(`vue-data-ui-component vue-ui-onion ${$.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${j.value.useCssAnimation ? "" : "vue-ui-dna"}`),
762
+ ref_key: "onionChart",
763
+ ref: O,
764
+ id: `vue-ui-onion_${E.value}`,
765
+ style: _(`font-family:${j.value.style.fontFamily};width:100%; ${j.value.responsive ? "height: 100%;" : ""} text-align:center;background:${I.value.backgroundColor}`),
766
+ onMouseenter: t[4] ||= () => S(Gt)(!0),
767
+ onMouseleave: t[5] ||= () => S(Gt)(!1)
768
+ }, [
769
+ f("div", {
770
+ id: `chart-instructions-${E.value}`,
771
+ class: "sr-only"
772
+ }, [f("p", null, x(j.value.a11y.translations.keyboardNavigation), 1)], 8, qe),
773
+ ir.value?.rows?.length ? (v(), l(Te, {
774
+ key: 0,
775
+ uid: E.value,
776
+ head: ir.value.headers,
777
+ body: ir.value.rows,
778
+ notice: j.value.a11y.translations.tableAvailable,
779
+ caption: j.value.a11y.translations.tableCaption
780
+ }, null, 8, [
781
+ "uid",
782
+ "head",
783
+ "body",
784
+ "notice",
785
+ "caption"
786
+ ])) : u("", !0),
787
+ M.value.buttons.annotator ? (v(), l(S(vt), {
788
+ key: 1,
789
+ svgRef: S(B),
790
+ backgroundColor: I.value.backgroundColor,
791
+ color: I.value.color,
792
+ active: Vn.value,
793
+ isCursorPointer: R.value,
794
+ palette: M.value.annotatorPalette,
795
+ onClose: Hn
796
+ }, {
797
+ "annotator-action-close": w(() => [b(e.$slots, "annotator-action-close", {}, void 0, !0)]),
798
+ "annotator-action-color": w(({ color: t }) => [b(e.$slots, "annotator-action-color", g(m({ color: t })), void 0, !0)]),
799
+ "annotator-action-draw": w(({ mode: t }) => [b(e.$slots, "annotator-action-draw", g(m({ mode: t })), void 0, !0)]),
800
+ "annotator-action-undo": w(({ disabled: t }) => [b(e.$slots, "annotator-action-undo", g(m({ disabled: t })), void 0, !0)]),
801
+ "annotator-action-redo": w(({ disabled: t }) => [b(e.$slots, "annotator-action-redo", g(m({ disabled: t })), void 0, !0)]),
802
+ "annotator-action-delete": w(({ disabled: t }) => [b(e.$slots, "annotator-action-delete", g(m({ disabled: t })), void 0, !0)]),
803
+ _: 3
804
+ }, 8, [
805
+ "svgRef",
806
+ "backgroundColor",
807
+ "color",
808
+ "active",
809
+ "isCursorPointer",
810
+ "palette"
811
+ ])) : u("", !0),
812
+ en.value ? (v(), d("div", {
813
+ key: 2,
814
+ ref_key: "noTitle",
815
+ ref: Mt,
816
+ class: "vue-data-ui-no-title-space",
817
+ style: "height:36px; width: 100%;background:transparent"
818
+ }, null, 512)) : u("", !0),
819
+ I.value.title.text ? (v(), d("div", {
820
+ key: 3,
821
+ ref_key: "chartTitle",
822
+ ref: kt,
823
+ style: "width:100%;background:transparent"
824
+ }, [(v(), l(be, {
825
+ key: `title_${Nt.value}`,
826
+ config: {
827
+ title: {
828
+ cy: "onion-div-title",
829
+ ...I.value.title
830
+ },
831
+ subtitle: {
832
+ cy: "onion-div-subtitle",
833
+ ...I.value.title.subtitle
834
+ }
835
+ }
836
+ }, null, 8, ["config"]))], 512)) : u("", !0),
837
+ f("div", { id: `legend-top-${E.value}` }, null, 8, Je),
838
+ M.value.show && wt.value && (S(Kt) || S(Wt)) ? (v(), l(S(_t), {
839
+ ref_key: "details",
840
+ ref: Tt,
841
+ key: `user_options${Et.value}`,
842
+ backgroundColor: I.value.backgroundColor,
843
+ color: I.value.color,
844
+ isImaging: S(Zt),
845
+ isPrinting: S(Xt),
846
+ uid: E.value,
847
+ hasTooltip: M.value.buttons.tooltip && F.value.show,
848
+ hasPdf: M.value.buttons.pdf,
849
+ hasImg: M.value.buttons.img,
850
+ hasSvg: M.value.buttons.svg,
851
+ hasXls: M.value.buttons.csv,
852
+ hasTable: M.value.buttons.table,
853
+ hasFullscreen: M.value.buttons.fullscreen,
854
+ hasAltCopy: M.value.buttons.altCopy,
855
+ isFullscreen: $.value,
856
+ isTooltip: V.value.showTooltip,
857
+ titles: { ...M.value.buttonTitles },
858
+ chartElement: O.value,
859
+ position: M.value.position,
860
+ hasAnnotator: M.value.buttons.annotator,
861
+ isAnnotation: Vn.value,
862
+ callbacks: M.value.callbacks,
863
+ printScale: M.value.print.scale,
864
+ tableDialog: j.value.table.useDialog,
865
+ isCursorPointer: R.value,
866
+ onToggleFullscreen: Mn,
867
+ onGeneratePdf: S(Qt),
868
+ onGenerateCsv: jn,
869
+ onGenerateImage: S(Qn),
870
+ onGenerateSvg: S(Zn),
871
+ onToggleTable: zn,
872
+ onToggleTooltip: Bn,
873
+ onToggleAnnotator: Hn,
874
+ onCopyAlt: $n,
875
+ style: _({ visibility: S(Kt) ? S(Wt) ? "visible" : "hidden" : "visible" })
876
+ }, Pe({ _: 2 }, [
877
+ e.$slots.menuIcon ? {
878
+ name: "menuIcon",
879
+ fn: w(({ isOpen: t, color: n }) => [b(e.$slots, "menuIcon", g(m({
880
+ isOpen: t,
881
+ color: n
882
+ })), void 0, !0)]),
883
+ key: "0"
884
+ } : void 0,
885
+ e.$slots.optionTooltip ? {
886
+ name: "optionTooltip",
887
+ fn: w(() => [b(e.$slots, "optionTooltip", {}, void 0, !0)]),
888
+ key: "1"
889
+ } : void 0,
890
+ e.$slots.optionPdf ? {
891
+ name: "optionPdf",
892
+ fn: w(() => [b(e.$slots, "optionPdf", {}, void 0, !0)]),
893
+ key: "2"
894
+ } : void 0,
895
+ e.$slots.optionCsv ? {
896
+ name: "optionCsv",
897
+ fn: w(() => [b(e.$slots, "optionCsv", {}, void 0, !0)]),
898
+ key: "3"
899
+ } : void 0,
900
+ e.$slots.optionImg ? {
901
+ name: "optionImg",
902
+ fn: w(() => [b(e.$slots, "optionImg", {}, void 0, !0)]),
903
+ key: "4"
904
+ } : void 0,
905
+ e.$slots.optionSvg ? {
906
+ name: "optionSvg",
907
+ fn: w(() => [b(e.$slots, "optionSvg", {}, void 0, !0)]),
908
+ key: "5"
909
+ } : void 0,
910
+ e.$slots.optionTable ? {
911
+ name: "optionTable",
912
+ fn: w(() => [b(e.$slots, "optionTable", {}, void 0, !0)]),
913
+ key: "6"
914
+ } : void 0,
915
+ e.$slots.optionFullscreen ? {
916
+ name: "optionFullscreen",
917
+ fn: w(({ toggleFullscreen: t, isFullscreen: n }) => [b(e.$slots, "optionFullscreen", g(m({
918
+ toggleFullscreen: t,
919
+ isFullscreen: n
920
+ })), void 0, !0)]),
921
+ key: "7"
922
+ } : void 0,
923
+ e.$slots.optionAnnotator ? {
924
+ name: "optionAnnotator",
925
+ fn: w(({ toggleAnnotator: t, isAnnotator: n }) => [b(e.$slots, "optionAnnotator", g(m({
926
+ toggleAnnotator: t,
927
+ isAnnotator: n
928
+ })), void 0, !0)]),
929
+ key: "8"
930
+ } : void 0,
931
+ e.$slots.optionAltCopy ? {
932
+ name: "optionAltCopy",
933
+ fn: w(({ altCopy: t }) => [b(e.$slots, "optionAltCopy", g(m({ altCopy: t })), void 0, !0)]),
934
+ key: "9"
935
+ } : void 0,
936
+ e.$slots["custom-menu-before"] ? {
937
+ name: "custom-menu-before",
938
+ fn: w(() => [b(e.$slots, "custom-menu-before", {}, void 0, !0)]),
939
+ key: "10"
940
+ } : void 0,
941
+ e.$slots["custom-menu-after"] ? {
942
+ name: "custom-menu-after",
943
+ fn: w(() => [b(e.$slots, "custom-menu-after", {}, void 0, !0)]),
944
+ key: "11"
945
+ } : void 0
946
+ ]), 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.onGenerateImage.onGenerateSvg.style".split("."))) : u("", !0),
947
+ f("div", Ye, [(v(), d("svg", {
948
+ ref_key: "svgRef",
949
+ ref: B,
950
+ xmlns: S(se),
951
+ "aria-describedby": `chart-instructions-${E.value}`,
952
+ class: h({
953
+ "vue-data-ui-fullscreen--on": $.value,
954
+ "vue-data-ui-fulscreen--off": !$.value,
955
+ resizing: It.value,
956
+ "vue-data-ui-no-transition": !S(L) || It.value || S(z)
957
+ }),
958
+ viewBox: `0 0 ${H.value.width <= 0 ? 10 : H.value.width} ${H.value.height <= 0 ? 10 : H.value.height}`,
959
+ style: _(`max-width:100%;overflow:visible;background:transparent;color:${I.value.color}`),
960
+ tabindex: "0",
961
+ onFocus: er,
962
+ onBlur: tr,
963
+ onKeydown: nr
964
+ }, [
965
+ Ie(S(yt)),
966
+ e.$slots["chart-background"] ? (v(), d("foreignObject", {
967
+ key: 0,
968
+ x: 0,
969
+ y: 0,
970
+ width: H.value.width <= 0 ? 10 : H.value.width,
971
+ height: H.value.height <= 0 ? 10 : H.value.height,
972
+ style: { pointerEvents: "none" }
973
+ }, [b(e.$slots, "chart-background", {}, void 0, !0)], 8, Ze)) : u("", !0),
974
+ (v(!0), d(Me, null, Ve(X.value, (e, t) => (v(), d("circle", {
975
+ cx: q.value.centerX,
976
+ cy: q.value.centerY,
977
+ r: e.radius <= 0 ? 1e-4 : e.radius,
978
+ stroke: P.value.gutter.color,
979
+ "stroke-width": Y.value.gutter,
980
+ fill: "none",
981
+ "stroke-dasharray": e.path.bgDashArray,
982
+ "stroke-dashoffset": e.path.fullOffset,
983
+ "stroke-linecap": "round",
984
+ class: h({
985
+ "vue-ui-onion-path": !0,
986
+ "vue-ui-onion-blur": j.value.useBlurOnHover && ![null, void 0].includes(Q.value) && Q.value !== t,
987
+ "vue-data-ui-transition": S(L)
988
+ }),
989
+ style: {
990
+ transform: "rotate(-90deg)",
991
+ transformOrigin: "50% 50%"
992
+ }
993
+ }, null, 10, Qe))), 256)),
994
+ (v(!0), d(Me, null, Ve(X.value, (e, t) => (v(), d("circle", {
995
+ cx: q.value.centerX,
996
+ cy: q.value.centerY,
997
+ r: e.radius < 0 ? 1e-4 : e.radius,
998
+ stroke: `${e.color}`,
999
+ "stroke-width": Y.value.track,
1000
+ fill: "none",
1001
+ "stroke-dasharray": e.path.dashArray,
1002
+ "stroke-dashoffset": e.path.dashOffset,
1003
+ class: h({
1004
+ "vue-ui-onion-path": !0,
1005
+ "vue-ui-onion-blur": j.value.useBlurOnHover && ![null, void 0].includes(Q.value) && Q.value !== t,
1006
+ "vue-data-ui-transition": S(L)
1007
+ }),
1008
+ "stroke-linecap": "round",
1009
+ style: {
1010
+ transform: "rotate(-90deg)",
1011
+ transformOrigin: "50% 50%"
1012
+ }
1013
+ }, null, 10, $e))), 256)),
1014
+ f("defs", null, [f("filter", {
1015
+ id: `blur_${E.value}`,
1016
+ x: "-50%",
1017
+ y: "-50%",
1018
+ width: "200%",
1019
+ height: "200%"
1020
+ }, [f("feGaussianBlur", {
1021
+ in: "SourceGraphic",
1022
+ stdDeviation: 100 / I.value.gradientIntensity
1023
+ }, null, 8, tt)], 8, et)]),
1024
+ I.value.useGradient ? (v(), d("g", {
1025
+ key: 1,
1026
+ filter: `url(#blur_${E.value})`
1027
+ }, [(v(!0), d(Me, null, Ve(X.value, (e, t) => (v(), d("circle", {
1028
+ cx: q.value.centerX,
1029
+ cy: q.value.centerY,
1030
+ r: e.radius <= 0 ? 1e-4 : e.radius,
1031
+ stroke: "white",
1032
+ "stroke-width": Y.value.track / 3,
1033
+ fill: "none",
1034
+ "stroke-linecap": "round",
1035
+ "stroke-dasharray": e.path.dashArray,
1036
+ "stroke-dashoffset": e.path.dashOffset,
1037
+ style: {
1038
+ transform: "rotate(-90deg)",
1039
+ transformOrigin: "50% 50%"
1040
+ },
1041
+ class: h({ "vue-data-ui-transition": S(L) })
1042
+ }, null, 10, rt))), 256))], 8, nt)) : u("", !0),
1043
+ (v(!0), d(Me, null, Ve(X.value, (e, t) => (v(), d("circle", {
1044
+ cx: q.value.centerX,
1045
+ cy: q.value.centerY,
1046
+ r: e.radius <= 0 ? 1e-4 : e.radius,
1047
+ stroke: "transparent",
1048
+ "stroke-width": Math.max(Y.value.track, Y.value.gutter),
1049
+ fill: "none",
1050
+ "stroke-dasharray": e.path.bgDashArray,
1051
+ "stroke-dashoffset": e.path.fullOffset,
1052
+ "stroke-linecap": "round",
1053
+ class: "vue-ui-onion-path",
1054
+ style: {
1055
+ transform: "rotate(-90deg)",
1056
+ transformOrigin: "50% 50%"
1057
+ },
1058
+ onMouseenter: (n) => Rn({
1059
+ datapoint: e,
1060
+ show: !0,
1061
+ seriesIndex: t,
1062
+ triggerMode: "pointer"
1063
+ }),
1064
+ onMouseleave: (t) => Pn({ datapoint: e }),
1065
+ onClick: (t) => Nn({ datapoint: e })
1066
+ }, null, 40, it))), 256)),
1067
+ N.value.show ? (v(), d("g", at, [(v(!0), d(Me, null, Ve(X.value, (e, t) => (v(), d("g", {
1068
+ key: `dl_${e.id}`,
1069
+ onMouseenter: (n) => Rn({
1070
+ datapoint: e,
1071
+ show: !0,
1072
+ seriesIndex: t,
1073
+ triggerMode: "pointer"
1074
+ }),
1075
+ onMouseleave: (t) => Pn({ datapoint: e }),
1076
+ onClick: (t) => Nn({ datapoint: e })
1077
+ }, [D.value.includes(e.id) ? u("", !0) : (v(), d("text", {
1078
+ key: 0,
1079
+ class: h(["vue-ui-onion-label", { "vue-data-ui-transition": S(L) }]),
1080
+ transform: `translate(${H.value.width / 2 - Y.value.gutter * .8 + N.value.offsetX},${e.labelY + N.value.offsetY})`,
1081
+ "text-anchor": "end",
1082
+ "font-size": N.value.fontSize,
1083
+ fill: j.value.useBlurOnHover && ![null, void 0].includes(Q.value) && Q.value === t ? e.color : N.value.color,
1084
+ "font-weight": N.value.bold ? "bold" : "normal"
1085
+ }, x(In(e, t)), 11, st))], 40, ot))), 128))])) : u("", !0),
1086
+ b(e.$slots, "svg", { svg: {
1087
+ ...H.value,
1088
+ drawingArea: q.value,
1089
+ isPrintingImg: S(Xt) || S(Zt) || S(Yn),
1090
+ isPrintingSvg: S(Xn)
1091
+ } }, void 0, !0)
1092
+ ], 46, Xe)), e.$slots.hint ? (v(), d("div", ct, [b(e.$slots, "hint", g(m({
1093
+ hint: j.value.a11y.translations.keyboardNavigation,
1094
+ isVisible: Bt.value
1095
+ })), void 0, !0)])) : u("", !0)]),
1096
+ e.$slots.watermark ? (v(), d("div", lt, [b(e.$slots, "watermark", g(m({ isPrinting: S(Xt) || S(Zt) || S(Yn) || S(Xn) })), void 0, !0)])) : u("", !0),
1097
+ f("div", { id: `legend-bottom-${E.value}` }, null, 8, ut),
1098
+ Lt.value && (I.value.legend.show || e.$slots.legend) ? (v(), l(Ne, {
1099
+ key: 6,
1100
+ to: I.value.legend.position === "top" ? `#legend-top-${E.value}` : `#legend-bottom-${E.value}`
1101
+ }, [f("div", {
1102
+ ref_key: "chartLegend",
1103
+ ref: At
1104
+ }, [b(e.$slots, "legend", { legend: pn.value }, () => [I.value.legend.show ? (v(), l(ke, {
1105
+ key: `legend_${Ft.value}`,
1106
+ legendSet: pn.value,
1107
+ config: bn.value,
1108
+ isCursorPointer: R.value,
1109
+ onClickMarker: t[0] ||= ({ legend: e }) => Tn(e.id)
1110
+ }, {
1111
+ item: w(({ legend: e }) => [S(z) ? u("", !0) : (v(), d("div", {
1112
+ key: 0,
1113
+ "data-cy-legend-item": "",
1114
+ onClick: (t) => e.segregate(),
1115
+ style: _(`opacity:${D.value.includes(e.id) ? .5 : 1}`)
1116
+ }, x(e.display), 13, dt))]),
1117
+ legendToggle: w(() => [pn.value.length > 2 && I.value.legend.selectAllToggle.show && !S(z) ? (v(), l(we, {
1118
+ key: 0,
1119
+ backgroundColor: I.value.legend.selectAllToggle.backgroundColor,
1120
+ color: I.value.legend.selectAllToggle.color,
1121
+ fontSize: I.value.legend.fontSize,
1122
+ checked: D.value.length > 0,
1123
+ isCursorPointer: R.value,
1124
+ onToggle: wn
1125
+ }, null, 8, [
1126
+ "backgroundColor",
1127
+ "color",
1128
+ "fontSize",
1129
+ "checked",
1130
+ "isCursorPointer"
1131
+ ])) : u("", !0)]),
1132
+ _: 1
1133
+ }, 8, [
1134
+ "legendSet",
1135
+ "config",
1136
+ "isCursorPointer"
1137
+ ])) : u("", !0)], !0)], 512)], 8, ["to"])) : u("", !0),
1138
+ e.$slots.source ? (v(), d("div", {
1139
+ key: 7,
1140
+ ref_key: "source",
1141
+ ref: jt,
1142
+ dir: "auto"
1143
+ }, [b(e.$slots, "source", {}, void 0, !0)], 512)) : u("", !0),
1144
+ Ie(S(pt), {
1145
+ teleportTo: F.value.teleportTo,
1146
+ show: V.value.showTooltip && Dt.value,
1147
+ backgroundColor: F.value.backgroundColor,
1148
+ color: F.value.color,
1149
+ borderRadius: F.value.borderRadius,
1150
+ borderColor: F.value.borderColor,
1151
+ borderWidth: F.value.borderWidth,
1152
+ fontSize: F.value.fontSize,
1153
+ backgroundOpacity: F.value.backgroundOpacity,
1154
+ position: F.value.position,
1155
+ offsetX: F.value.offsetX,
1156
+ offsetY: F.value.offsetY,
1157
+ parent: O.value,
1158
+ content: Ot.value,
1159
+ isFullscreen: $.value,
1160
+ isCustom: S(n)(F.value.customFormat),
1161
+ smooth: F.value.smooth,
1162
+ backdropFilter: F.value.backdropFilter,
1163
+ smoothForce: F.value.smoothForce,
1164
+ smoothSnapThreshold: F.value.smoothSnapThreshold,
1165
+ isA11yMode: zt.value === "keyboard",
1166
+ a11yPosition: Rt.value
1167
+ }, {
1168
+ "tooltip-before": w(() => [b(e.$slots, "tooltip-before", g(m({ ...Ln.value })), void 0, !0)]),
1169
+ tooltip: w(() => [b(e.$slots, "tooltip", g(m({ ...Ln.value })), void 0, !0)]),
1170
+ "tooltip-after": w(() => [b(e.$slots, "tooltip-after", g(m({ ...Ln.value })), void 0, !0)]),
1171
+ _: 3
1172
+ }, 8, [
1173
+ "teleportTo",
1174
+ "show",
1175
+ "backgroundColor",
1176
+ "color",
1177
+ "borderRadius",
1178
+ "borderColor",
1179
+ "borderWidth",
1180
+ "fontSize",
1181
+ "backgroundOpacity",
1182
+ "position",
1183
+ "offsetX",
1184
+ "offsetY",
1185
+ "parent",
1186
+ "content",
1187
+ "isFullscreen",
1188
+ "isCustom",
1189
+ "smooth",
1190
+ "backdropFilter",
1191
+ "smoothForce",
1192
+ "smoothSnapThreshold",
1193
+ "isA11yMode",
1194
+ "a11yPosition"
1195
+ ]),
1196
+ wt.value && M.value.buttons.table ? (v(), l(He(Wn.value.component), Le({ key: 8 }, Wn.value.props, {
1197
+ ref_key: "tableUnit",
1198
+ ref: k,
1199
+ onClose: t[3] ||= (e) => V.value.showTable = !1
1200
+ }), Pe({
1201
+ content: w(() => [(v(), l(S(gt), {
1202
+ key: `table_${Pt.value}`,
1203
+ colNames: Z.value.colNames,
1204
+ head: Z.value.head,
1205
+ body: Z.value.body,
1206
+ config: Z.value.config,
1207
+ title: j.value.table.useDialog ? "" : Wn.value.title,
1208
+ withCloseButton: !j.value.table.useDialog,
1209
+ isCursorPointer: R.value,
1210
+ onClose: t[2] ||= (e) => V.value.showTable = !1
1211
+ }, {
1212
+ th: w(({ th: e }) => [Fe(x(e), 1)]),
1213
+ td: w(({ td: e }) => [f("div", { innerHTML: e }, null, 8, ft)]),
1214
+ _: 1
1215
+ }, 8, [
1216
+ "colNames",
1217
+ "head",
1218
+ "body",
1219
+ "config",
1220
+ "title",
1221
+ "withCloseButton",
1222
+ "isCursorPointer"
1223
+ ]))]),
1224
+ _: 2
1225
+ }, [j.value.table.useDialog ? {
1226
+ name: "title",
1227
+ fn: w(() => [Fe(x(Wn.value.title), 1)]),
1228
+ key: "0"
1229
+ } : void 0, j.value.table.useDialog ? {
1230
+ name: "actions",
1231
+ fn: w(() => [f("button", {
1232
+ tabindex: "0",
1233
+ class: "vue-ui-user-options-button",
1234
+ onClick: t[1] ||= (e) => jn(M.value.callbacks.csv),
1235
+ style: _({ cursor: R.value ? "pointer" : "default" })
1236
+ }, [Ie(S(mt), {
1237
+ name: "fileCsv",
1238
+ stroke: Wn.value.props.color
1239
+ }, null, 8, ["stroke"])], 4)]),
1240
+ key: "1"
1241
+ } : void 0]), 1040)) : u("", !0),
1242
+ b(e.$slots, "skeleton", {}, () => [S(z) ? (v(), l(me, { key: 0 })) : u("", !0)], !0)
1243
+ ], 46, Ke));
1244
+ }
1245
+ }, [["__scopeId", "data-v-bf80dd33"]]);
1246
+ //#endregion
1247
+ export { Ge as n, pt as t };