vue-data-ui 3.26.4 → 3.27.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 (200) hide show
  1. package/dist/{Arrow-BW_Fs3gD.js → Arrow-DKO1l8oR.js} +1 -1
  2. package/dist/{BaseDraggableDialog-BniZj4c8.js → BaseDraggableDialog-C50TEJFv.js} +2 -2
  3. package/dist/{BaseIcon-CPBlYfWq.js → BaseIcon-Cx9FD751.js} +1 -1
  4. package/dist/{BaseLegendToggle-CWtURpCj.js → BaseLegendToggle-CP3sddwv.js} +1 -1
  5. package/dist/{BaseZoomControls-jfXIQvEi.js → BaseZoomControls-vNi8YykO.js} +2 -2
  6. package/dist/{ColorPicker-BKndMOAm.js → ColorPicker-hmC2bvwS.js} +2 -2
  7. package/dist/{DataTable-DV4Plrm3.js → DataTable-CjF_An2h.js} +2 -2
  8. package/dist/{HillActions-B45z2DmP.js → HillActions-DqqGB33u.js} +1 -1
  9. package/dist/{Legend-CJzCVAWl.js → Legend-CulFgjUY.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-B3I_UGDm.js → NonSvgPenAndPaper-BK1v_MfW.js} +3 -3
  11. package/dist/{PackageVersion-DEAYvEjl.js → PackageVersion-D7H9nfK0.js} +1 -1
  12. package/dist/{PenAndPaper-Dv8WPVwA.js → PenAndPaper-CNiuGw6k.js} +3 -3
  13. package/dist/{Shape-BIe6C0HJ.js → Shape-DSwamtmO.js} +1 -1
  14. package/dist/{SlicerPreview-8atniw0P.js → SlicerPreview-k5YerMA9.js} +12 -12
  15. package/dist/{SparkTooltip-DsGcGbm2.js → SparkTooltip-D35KVv6N.js} +6 -6
  16. package/dist/{Title-B4UpMerH.js → Title-BMCuINbv.js} +1 -1
  17. package/dist/{Tooltip-BmfGHn1L.js → Tooltip-C4ZTwkLF.js} +1 -1
  18. package/dist/{UserOptions-C92R4ACT.js → UserOptions-CORYQiif.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-hill.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-label.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-BL08UcHI.js → dom-to-png-CBusMkua.js} +1 -1
  91. package/dist/{exposedLib-CBUiJ5b-.js → exposedLib-UNxZlnAS.js} +10 -10
  92. package/dist/{img--C0otIB0.js → img-Bb5rHcpO.js} +1 -1
  93. package/dist/{labelUtils-CfQIxXGL.js → labelUtils-Ccn9kK7T.js} +1 -1
  94. package/dist/{lib-DTiqmM1G.js → lib-D4wK6ljP.js} +130 -136
  95. package/dist/{package-Dj6ohGVJ.js → package-DmQufM0G.js} +1 -1
  96. package/dist/{pdf-CbSwKZjC.js → pdf-BzIQHx-F.js} +1 -1
  97. package/dist/{render-common-vuBsglf8.js → render-common-BtfjXdkJ.js} +10 -10
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/types/vue-data-ui.d.ts +212 -60
  103. package/dist/types/vue-ui-stackbar.d.ts +10 -0
  104. package/dist/{useConfig-DObkR9Aa.js → useConfig-D_6ZrPMD.js} +82 -0
  105. package/dist/{useNestedProp-D8cRQaVo.js → useNestedProp-DR_8JPol.js} +1 -1
  106. package/dist/{useObjectBindings-CPmyIJxB.js → useObjectBindings-DvasYMGu.js} +2 -2
  107. package/dist/{usePrinter-R2nu9g4B.js → usePrinter-DdW2GSm0.js} +2 -2
  108. package/dist/utils.js +10 -10
  109. package/dist/{vue-data-ui-CijFk00w.js → vue-data-ui-Df7WV80w.js} +70 -70
  110. package/dist/vue-data-ui.js +75 -75
  111. package/dist/{vue-ui-3d-bar-BxmndVBz.js → vue-ui-3d-bar-CJjNPwhG.js} +463 -463
  112. package/dist/{vue-ui-accordion-CxMo-mXC.js → vue-ui-accordion-CaoNWreI.js} +4 -4
  113. package/dist/{vue-ui-age-pyramid-ysX_ySuK.js → vue-ui-age-pyramid-BYcM0uIP.js} +22 -22
  114. package/dist/{vue-ui-annotator-IAqTX-5M.js → vue-ui-annotator-BmqjDjRF.js} +10 -10
  115. package/dist/{vue-ui-bullet-rO5_pB7t.js → vue-ui-bullet-DBOAvpBB.js} +18 -18
  116. package/dist/vue-ui-bump-rPYwDJ4o.js +1242 -0
  117. package/dist/{vue-ui-candlestick-BLxP54W4.js → vue-ui-candlestick-WQHIQNv_.js} +625 -625
  118. package/dist/{vue-ui-carousel-table-DHbt40ze.js → vue-ui-carousel-table-Dojcvt49.js} +106 -106
  119. package/dist/{vue-ui-chestnut-CHHZx5ek.js → vue-ui-chestnut-BdhEByUf.js} +65 -65
  120. package/dist/{vue-ui-chord-WmqFMK4A.js → vue-ui-chord-MF4xF5az.js} +46 -46
  121. package/dist/{vue-ui-circle-pack-D2RXFToP.js → vue-ui-circle-pack-BwDim7G8.js} +26 -26
  122. package/dist/{vue-ui-cursor-CDf6s7AZ.js → vue-ui-cursor-w_5cbpSb.js} +61 -61
  123. package/dist/{vue-ui-dag-Ba3Bkxd7.js → vue-ui-dag-D2EUqeDN.js} +65 -65
  124. package/dist/{vue-ui-dashboard-DKCEm56d.js → vue-ui-dashboard-BLnVXosj.js} +70 -70
  125. package/dist/{vue-ui-digits-B6cSEytP.js → vue-ui-digits-zSqwYWHm.js} +4 -4
  126. package/dist/{vue-ui-donut-BfAlXtvS.js → vue-ui-donut-ZYZfqIhi.js} +117 -117
  127. package/dist/{vue-ui-donut-evolution-C2TYUKag.js → vue-ui-donut-evolution-DtLbWi3h.js} +216 -216
  128. package/dist/vue-ui-donut-nLDLZwig.js +2427 -0
  129. package/dist/{vue-ui-dumbbell-GMQ4JZf_.js → vue-ui-dumbbell-Qgn3wRyI.js} +20 -20
  130. package/dist/{vue-ui-flow-B53jXaVQ.js → vue-ui-flow-iSH6dyGw.js} +109 -109
  131. package/dist/vue-ui-funnel-Cc2z2zS5.js +749 -0
  132. package/dist/{vue-ui-galaxy-CE7LYi8M.js → vue-ui-galaxy-GhuBSU0o.js} +267 -267
  133. package/dist/vue-ui-gauge-BAjBO13a.js +934 -0
  134. package/dist/{vue-ui-geo-B4a2hwYf.js → vue-ui-geo-mwTtvIHY.js} +19 -19
  135. package/dist/{vue-ui-gizmo-CY4cLNcJ.js → vue-ui-gizmo-B5vOOrZX.js} +4 -4
  136. package/dist/vue-ui-heatmap-fimkY1nN.js +1613 -0
  137. package/dist/{vue-ui-hill-CTPzgkCs.js → vue-ui-hill-DPfTt3UE.js} +18 -18
  138. package/dist/{vue-ui-history-plot-CGFijdmp.js → vue-ui-history-plot-B1WgzqTb.js} +53 -53
  139. package/dist/vue-ui-horizontal-bar-Bkp5HQdt.js +1723 -0
  140. package/dist/{vue-ui-kpi-Bu2OpF5d.js → vue-ui-kpi-D-p0CSQh.js} +4 -4
  141. package/dist/{vue-ui-label-CWFQzKOy.js → vue-ui-label-r3-QloJL.js} +65 -65
  142. package/dist/{vue-ui-mini-loader-hdh8SSxW.js → vue-ui-mini-loader-CnrBGAtM.js} +3 -3
  143. package/dist/vue-ui-molecule-BhdAYX_H.js +941 -0
  144. package/dist/vue-ui-mood-radar-CdlnPrQf.js +1111 -0
  145. package/dist/{vue-ui-nested-donuts-DN2PgxeK.js → vue-ui-nested-donuts-DceVEyUc.js} +341 -341
  146. package/dist/{vue-ui-onion-lrDciRpg.js → vue-ui-onion-_L0uEATI.js} +209 -209
  147. package/dist/vue-ui-parallel-coordinate-plot-CbXwIM47.js +1444 -0
  148. package/dist/{vue-ui-quadrant-DrcflMPg.js → vue-ui-quadrant-CDDFLRcX.js} +55 -55
  149. package/dist/{vue-ui-quick-chart-D5ZFV0Aj.js → vue-ui-quick-chart-Dom257hl.js} +377 -377
  150. package/dist/vue-ui-radar-BLdri1bA.js +1386 -0
  151. package/dist/{vue-ui-rating-DxBJXbPW.js → vue-ui-rating-C_iTttXB.js} +25 -25
  152. package/dist/vue-ui-relation-circle-BmxTSgjd.js +905 -0
  153. package/dist/vue-ui-ridgeline-CsUrcVmL.js +1630 -0
  154. package/dist/{vue-ui-rings-6OHcBlOC.js → vue-ui-rings-D_GPkgbD.js} +318 -318
  155. package/dist/vue-ui-scatter-D_C-IhnW.js +2418 -0
  156. package/dist/{vue-ui-skeleton--HlS7ySk.js → vue-ui-skeleton-t7e6KEZ2.js} +60 -60
  157. package/dist/{vue-ui-smiley-ZrM6-QCy.js → vue-ui-smiley-Dl95YWVo.js} +14 -14
  158. package/dist/{vue-ui-spark-trend-CIfpocxI.js → vue-ui-spark-trend-pkZA7u5V.js} +20 -20
  159. package/dist/{vue-ui-sparkbar-Db7Ntacd.js → vue-ui-sparkbar-Ds7OJjhG.js} +77 -77
  160. package/dist/{vue-ui-sparkgauge-DEuNFkU_.js → vue-ui-sparkgauge-US1M88qc.js} +6 -6
  161. package/dist/vue-ui-sparkhistogram-FISVpSvv.js +589 -0
  162. package/dist/{vue-ui-sparkline-CSsnkXMJ.js → vue-ui-sparkline-DvE1dHcs.js} +37 -37
  163. package/dist/{vue-ui-sparkstackbar-BnN7KebI.js → vue-ui-sparkstackbar-CWtF9eG-.js} +39 -39
  164. package/dist/vue-ui-stackbar-fMgrHzZe.js +3273 -0
  165. package/dist/{vue-ui-stackline-CqjwxpU1.js → vue-ui-stackline-CSMuUup2.js} +303 -303
  166. package/dist/vue-ui-strip-plot-TGD2UFHS.js +1752 -0
  167. package/dist/{vue-ui-table-CsMozTrM.js → vue-ui-table-BCEIbg8-.js} +14 -14
  168. package/dist/{vue-ui-table-heatmap-DFcESbBy.js → vue-ui-table-heatmap-CvUcFWMf.js} +9 -9
  169. package/dist/vue-ui-table-sparkline-CoVQ1qGY.js +738 -0
  170. package/dist/vue-ui-thermometer-BYFAZCzh.js +758 -0
  171. package/dist/{vue-ui-timer-CFxvU_q1.js → vue-ui-timer-BKr8RVnn.js} +10 -10
  172. package/dist/{vue-ui-tiremarks-DIjsyNwO.js → vue-ui-tiremarks-BYu3cEoy.js} +35 -35
  173. package/dist/{vue-ui-treemap-BuvFUWJm.js → vue-ui-treemap-BR3rX5_L.js} +50 -50
  174. package/dist/{vue-ui-waffle-B8Knvp7m.js → vue-ui-waffle-mP8g5aQk.js} +275 -275
  175. package/dist/{vue-ui-wheel-2_4BOo6P.js → vue-ui-wheel-CZsSO2R6.js} +187 -187
  176. package/dist/{vue-ui-word-cloud-BEgmAfj1.js → vue-ui-word-cloud-CJ30onqy.js} +35 -35
  177. package/dist/{vue-ui-world-D4WMHq7E.js → vue-ui-world-BZ09DOiF.js} +498 -498
  178. package/dist/{vue-ui-xy-DBLJ8Uhc.js → vue-ui-xy-C3h54loZ.js} +405 -405
  179. package/dist/{vue-ui-xy-canvas-Dv0pk4Wd.js → vue-ui-xy-canvas-BwgK8drp.js} +165 -165
  180. package/dist/{vue-ui-xy-DGIz4MDV.js → vue-ui-xy-jemv5dsf.js} +288 -288
  181. package/dist/{vue_ui_stackbar-DdjDL6aq.js → vue_ui_stackbar-yQyvT4Su.js} +46 -0
  182. package/package.json +1 -1
  183. package/dist/vue-ui-bump-BIyTRpqJ.js +0 -1242
  184. package/dist/vue-ui-donut-DMISY-E8.js +0 -2427
  185. package/dist/vue-ui-funnel-eVH871L3.js +0 -749
  186. package/dist/vue-ui-gauge-D_jNBHjA.js +0 -934
  187. package/dist/vue-ui-heatmap-DW7bo_Um.js +0 -1613
  188. package/dist/vue-ui-horizontal-bar-vPeWNfxO.js +0 -1723
  189. package/dist/vue-ui-molecule-ejjPjG63.js +0 -941
  190. package/dist/vue-ui-mood-radar-pqMAcUWm.js +0 -1111
  191. package/dist/vue-ui-parallel-coordinate-plot-McES6sLT.js +0 -1444
  192. package/dist/vue-ui-radar-DZPVV9cU.js +0 -1386
  193. package/dist/vue-ui-relation-circle-BtESVsB0.js +0 -905
  194. package/dist/vue-ui-ridgeline-CSLuDJWq.js +0 -1630
  195. package/dist/vue-ui-scatter-CKJ87fhp.js +0 -2418
  196. package/dist/vue-ui-sparkhistogram-CQTwLaZi.js +0 -589
  197. package/dist/vue-ui-stackbar-CISQXhoK.js +0 -2660
  198. package/dist/vue-ui-strip-plot-CRZDCNc1.js +0 -1752
  199. package/dist/vue-ui-table-sparkline-CwsrD7te.js +0 -738
  200. package/dist/vue-ui-thermometer-_zSQM0Nk.js +0 -758
@@ -0,0 +1,3273 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, $t as n, D as r, Dt as a, Ft as o, Ht as s, J as c, Qt as l, S as u, X as d, Y as f, _ as p, _t as ee, at as te, c as ne, dt as m, en as re, et as ie, gt as ae, i as h, nn as oe, nt as se, ot as ce, pt as le, r as ue, t as de, v as fe, w as pe, wt as me, yt as he, zt as ge } from "./lib-D4wK6ljP.js";
3
+ import { n as _e, t as ve } from "./useHints-Dq_w2E8B.js";
4
+ import { n as ye, r as be, t as xe } from "./useTimeLabels-d2f-W1L4.js";
5
+ import { t as Se } from "./useConfig-D_6ZrPMD.js";
6
+ import { t as Ce } from "./usePrinter-DdW2GSm0.js";
7
+ import { n as we, t as Te } from "./BaseScanner-Dzc8VT3j.js";
8
+ import { t as Ee } from "./useNestedProp-DR_8JPol.js";
9
+ import { t as De } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as Oe } from "./useChartExport-iwOqiIWX.js";
11
+ import { t as ke } from "./useTransitions-g_zBREk2.js";
12
+ import { t as Ae } from "./useStableElementSize-C7KADDKj.js";
13
+ import { t as je } from "./useTimeLabelCollider-AEcY4Ioe.js";
14
+ import { t as Me } from "./img-Bb5rHcpO.js";
15
+ import { n as Ne } from "./Title-BMCuINbv.js";
16
+ import { t as Pe } from "./Shape-DSwamtmO.js";
17
+ import { t as Fe } from "./_plugin-vue_export-helper-B3ysoDQm.js";
18
+ import { l as Ie, t as Le } from "./useResponsive-ZtArZtUf.js";
19
+ import { t as Re } from "./DefGrad-DVBqDjhO.js";
20
+ import { t as ze } from "./SlicerPreview-k5YerMA9.js";
21
+ import { t as Be } from "./BaseLegendToggle-CP3sddwv.js";
22
+ import { t as Ve } from "./A11yDataTable-DdRsVULz.js";
23
+ import { t as He } from "./useUserOptionState-DK-_1ddE.js";
24
+ import { t as Ue } from "./useChartAccessibility-DYqac8yF.js";
25
+ import { t as We } from "./Legend-CulFgjUY.js";
26
+ import { t as Ge } from "./vue_ui_stackbar-yQyvT4Su.js";
27
+ import { Fragment as g, Teleport as Ke, computed as _, createBlock as qe, createCommentVNode as v, createElementBlock as y, createElementVNode as Je, createSlots as Ye, createTextVNode as Xe, createVNode as Ze, defineAsyncComponent as Qe, guardReactiveProps as b, mergeProps as $e, nextTick as et, normalizeClass as x, normalizeProps as S, normalizeStyle as tt, onBeforeUnmount as nt, onMounted as rt, openBlock as C, ref as w, renderList as T, renderSlot as E, resolveDynamicComponent as it, shallowRef as at, toDisplayString as D, toRefs as ot, unref as O, useSlots as st, vShow as ct, watch as lt, watchEffect as ut, withCtx as k, withDirectives as dt } from "vue";
28
+ //#region src/components/vue-ui-stackbar.vue
29
+ var ft = /* @__PURE__ */ e({ default: () => xn }), pt = ["id"], mt = ["id"], ht = ["id"], gt = { style: { position: "relative" } }, _t = [
30
+ "xmlns",
31
+ "aria-describedby",
32
+ "viewBox"
33
+ ], vt = [
34
+ "x",
35
+ "y",
36
+ "width",
37
+ "height"
38
+ ], yt = { key: 1 }, bt = { key: 2 }, xt = { key: 3 }, St = ["id"], Ct = [
39
+ "x",
40
+ "y",
41
+ "width",
42
+ "height",
43
+ "rx"
44
+ ], wt = [
45
+ "x",
46
+ "y",
47
+ "width",
48
+ "height",
49
+ "stroke",
50
+ "stroke-width",
51
+ "stroke-linecap",
52
+ "stroke-linejoin",
53
+ "stroke-dasharray"
54
+ ], Tt = [
55
+ "x1",
56
+ "x2",
57
+ "y1",
58
+ "y2",
59
+ "stroke",
60
+ "stroke-width",
61
+ "stroke-dasharray"
62
+ ], Et = [
63
+ "x1",
64
+ "x2",
65
+ "y1",
66
+ "y2",
67
+ "stroke",
68
+ "stroke-width",
69
+ "stroke-dasharray"
70
+ ], Dt = [
71
+ "x1",
72
+ "x2",
73
+ "y1",
74
+ "y2",
75
+ "stroke",
76
+ "stroke-width",
77
+ "stroke-dasharray"
78
+ ], Ot = [
79
+ "x1",
80
+ "x2",
81
+ "y1",
82
+ "y2",
83
+ "stroke",
84
+ "stroke-width",
85
+ "stroke-dasharray"
86
+ ], kt = { key: 0 }, At = [
87
+ "data-cy",
88
+ "x",
89
+ "y",
90
+ "height",
91
+ "clip-path",
92
+ "width",
93
+ "fill",
94
+ "stroke",
95
+ "stroke-width"
96
+ ], jt = { key: 0 }, Mt = [
97
+ "x",
98
+ "y",
99
+ "height",
100
+ "clip-path",
101
+ "width",
102
+ "fill",
103
+ "stroke",
104
+ "stroke-width"
105
+ ], Nt = [
106
+ "data-cy",
107
+ "x",
108
+ "y",
109
+ "width",
110
+ "clip-path",
111
+ "height",
112
+ "fill",
113
+ "stroke",
114
+ "stroke-width"
115
+ ], Pt = { key: 0 }, Ft = [
116
+ "x",
117
+ "y",
118
+ "width",
119
+ "clip-path",
120
+ "height",
121
+ "fill",
122
+ "stroke",
123
+ "stroke-width"
124
+ ], It = {
125
+ key: 9,
126
+ style: { "pointer-events": "none" }
127
+ }, Lt = [
128
+ "x1",
129
+ "y1",
130
+ "x2",
131
+ "y2",
132
+ "stroke",
133
+ "stroke-width",
134
+ "stroke-dasharray"
135
+ ], Rt = [
136
+ "x1",
137
+ "x2",
138
+ "y1",
139
+ "y2",
140
+ "stroke",
141
+ "stroke-width"
142
+ ], zt = [
143
+ "x1",
144
+ "x2",
145
+ "y1",
146
+ "y2",
147
+ "stroke",
148
+ "stroke-width"
149
+ ], Bt = [
150
+ "x",
151
+ "y",
152
+ "font-size",
153
+ "fill",
154
+ "font-weight"
155
+ ], Vt = [
156
+ "transform",
157
+ "font-size",
158
+ "fill",
159
+ "font-weight"
160
+ ], Ht = [
161
+ "transform",
162
+ "font-size",
163
+ "fill",
164
+ "font-weight"
165
+ ], Ut = [
166
+ "transform",
167
+ "font-size",
168
+ "font-weight",
169
+ "fill"
170
+ ], Wt = [
171
+ "transform",
172
+ "font-size",
173
+ "fill",
174
+ "font-weight"
175
+ ], Gt = [
176
+ "transform",
177
+ "font-size",
178
+ "font-weight",
179
+ "fill"
180
+ ], Kt = {
181
+ key: 16,
182
+ style: { "pointer-events": "none" }
183
+ }, qt = [
184
+ "x",
185
+ "y",
186
+ "text-anchor",
187
+ "font-size",
188
+ "font-weight",
189
+ "fill"
190
+ ], Jt = ["stroke", "d"], Yt = [
191
+ "transform",
192
+ "font-size",
193
+ "font-weight",
194
+ "fill",
195
+ "text-anchor"
196
+ ], Xt = ["d", "stroke"], Zt = [
197
+ "font-size",
198
+ "font-weight",
199
+ "fill",
200
+ "text-anchor",
201
+ "transform"
202
+ ], Qt = { key: 0 }, $t = { key: 1 }, en = [
203
+ "text-anchor",
204
+ "font-size",
205
+ "font-weight",
206
+ "fill",
207
+ "transform",
208
+ "onClick"
209
+ ], tn = [
210
+ "text-anchor",
211
+ "font-size",
212
+ "fill",
213
+ "transform",
214
+ "innerHTML",
215
+ "onClick"
216
+ ], nn = { key: 0 }, rn = { key: 1 }, an = [
217
+ "font-size",
218
+ "font-weight",
219
+ "fill",
220
+ "stroke",
221
+ "transform",
222
+ "onClick"
223
+ ], on = [
224
+ "font-size",
225
+ "font-weight",
226
+ "fill",
227
+ "transform",
228
+ "onClick",
229
+ "innerHTML"
230
+ ], sn = [
231
+ "x",
232
+ "y",
233
+ "width",
234
+ "height",
235
+ "onClick",
236
+ "onMouseenter",
237
+ "onMouseleave",
238
+ "fill"
239
+ ], cn = [
240
+ "x",
241
+ "y",
242
+ "width",
243
+ "height",
244
+ "onClick",
245
+ "onMouseenter",
246
+ "onMouseleave",
247
+ "fill"
248
+ ], ln = [
249
+ "x",
250
+ "y",
251
+ "width",
252
+ "height",
253
+ "fill",
254
+ "fill-opacity",
255
+ "stroke",
256
+ "stroke-opacity",
257
+ "stroke-width",
258
+ "stroke-dasharray"
259
+ ], un = ["data-start", "data-end"], dn = {
260
+ key: 0,
261
+ style: {
262
+ position: "absolute",
263
+ top: "100%",
264
+ left: "0",
265
+ width: "100%"
266
+ },
267
+ "data-dom-to-png-ignore": "",
268
+ "aria-hidden": "true"
269
+ }, fn = {
270
+ key: 4,
271
+ class: "vue-data-ui-watermark"
272
+ }, pn = { key: 0 }, mn = ["id"], hn = [
273
+ "x",
274
+ "y",
275
+ "width",
276
+ "height",
277
+ "rx"
278
+ ], gn = [
279
+ "x",
280
+ "y",
281
+ "height",
282
+ "width",
283
+ "fill",
284
+ "stroke",
285
+ "clip-path"
286
+ ], _n = ["id"], vn = ["onClick"], yn = { key: 0 }, bn = { key: 1 }, xn = /*#__PURE__*/ Fe({
287
+ __name: "vue-ui-stackbar",
288
+ props: {
289
+ config: {
290
+ type: Object,
291
+ default() {
292
+ return {};
293
+ }
294
+ },
295
+ dataset: {
296
+ type: Array,
297
+ default() {
298
+ return [];
299
+ }
300
+ },
301
+ selectedXIndex: {
302
+ type: Number,
303
+ default: void 0
304
+ },
305
+ zoomState: {
306
+ type: Object,
307
+ default: null
308
+ }
309
+ },
310
+ emits: [
311
+ "selectDatapoint",
312
+ "selectLegend",
313
+ "selectTimeLabel",
314
+ "selectX",
315
+ "zoomStart",
316
+ "zoomEnd",
317
+ "zoomReset",
318
+ "update:zoomState",
319
+ "copyAlt"
320
+ ],
321
+ setup(e, { expose: Fe, emit: ft }) {
322
+ let xn = Qe(() => import("./Tooltip-C4ZTwkLF.js")), Sn = Qe(() => import("./BaseIcon-Cx9FD751.js").then((e) => e.n)), Cn = Qe(() => import("./vue-ui-accordion-CaoNWreI.js").then((e) => e.n)), wn = Qe(() => import("./DataTable-CjF_An2h.js")), Tn = Qe(() => import("./PenAndPaper-CNiuGw6k.js").then((e) => e.t)), En = Qe(() => import("./UserOptions-CORYQiif.js").then((e) => e.n)), Dn = Qe(() => import("./PackageVersion-D7H9nfK0.js").then((e) => e.t)), On = Qe(() => import("./BaseDraggableDialog-C50TEJFv.js").then((e) => e.n)), { vue_ui_stackbar: kn } = Se(), { isThemeValid: An, warnInvalidTheme: jn } = De(), Mn = st(), A = e, j = ft, Nn = _({
323
+ get() {
324
+ return !!A.dataset && A.dataset.length;
325
+ },
326
+ set(e) {
327
+ return e;
328
+ }
329
+ }), Pn = w(null), M = w(d()), Fn = w(!1), In = w(null), Ln = w(""), N = w([]), Rn = w(0), zn = w(null), Bn = w(null), Vn = w(null), Hn = w(null), Un = w(!1), P = w(null), Wn = w(!1), Gn = w(0), Kn = w(0), qn = w(0), Jn = w(!1), Yn = w(null), Xn = w(null), Zn = w(null), Qn = w(null), $n = w(null), er = w(null), tr = w(null), nr = w(null), rr = at(null), ir = w(!1), ar = w(0), or = w(0), sr = w(null), cr = w({
330
+ x: 0,
331
+ y: 0
332
+ }), lr = w("pointer"), ur = Ae({
333
+ elementRef: rr,
334
+ minimumWidth: 2,
335
+ minimumHeight: 2,
336
+ stableFramesRequired: 2,
337
+ once: !1,
338
+ onSizeAccepted: () => {
339
+ pr();
340
+ }
341
+ });
342
+ function dr() {
343
+ rr.value = Pn.value?.parentNode ?? null;
344
+ }
345
+ function fr() {
346
+ return new Promise((e) => {
347
+ requestAnimationFrame(() => {
348
+ requestAnimationFrame(e);
349
+ });
350
+ });
351
+ }
352
+ async function pr() {
353
+ let e = ++or.value;
354
+ ir.value = !1, await et(), await fr(), await fr(), e === or.value && (ar.value += 1, ir.value = !0);
355
+ }
356
+ let mr = w(null);
357
+ rt(() => {
358
+ Jn.value = !0, dr(), ur.start(), oi();
359
+ });
360
+ let F = w(Gr()), I = _(() => F.value.userOptions), L = _(() => F.value.style.chart.grid), R = _(() => F.value.style.chart.bars), z = _(() => {
361
+ let e = F.value.style.chart.grid.x.timeLabels;
362
+ if (!H.value) return e;
363
+ let t = U.value.categoryLabels;
364
+ return {
365
+ ...e,
366
+ ...t,
367
+ values: G.value.map((e) => e.name),
368
+ datetimeFormatter: {
369
+ ...e.datetimeFormatter,
370
+ enable: !1
371
+ }
372
+ };
373
+ }), B = _(() => F.value.style.chart.tooltip), V = _(() => F.value.style.chart);
374
+ _e({
375
+ config: () => F.value,
376
+ dataset: () => A.dataset,
377
+ component: "VueUiStackbar",
378
+ rules: [
379
+ ve.emptyArray,
380
+ {
381
+ test: (e) => e.some((e) => e.series.length > 60),
382
+ message: [
383
+ "👀 Some series have > 60 datapoints. Consider",
384
+ "",
385
+ "▶️ Using VueUiStackline instead, for better readability.",
386
+ "",
387
+ "▶️ Aggregating data to larger time units, to reduce the number of datapoints.",
388
+ "",
389
+ "▶️ Using filters to constraint the data to a specific time range."
390
+ ]
391
+ },
392
+ {
393
+ test: (e) => e.length > 6,
394
+ message: [
395
+ "👀 The number of series > 6, which can make the chart hard to read. Consider:",
396
+ "",
397
+ "▶️ Grouping small values into an \"Other\" category.",
398
+ "",
399
+ "▶️ Using filters to let users choose a maximum number of series to display."
400
+ ]
401
+ }
402
+ ]
403
+ });
404
+ let { transitionEnabled: hr } = ke({
405
+ config: () => F.value.transitions,
406
+ dataset: () => A.dataset
407
+ }), gr = _(() => F.value.userOptions.useCursorPointer), _r = _(() => oe({
408
+ defaultConfig: {
409
+ userOptions: { show: !1 },
410
+ useCssAnimation: !1,
411
+ table: { show: !1 },
412
+ tooltip: { show: !1 },
413
+ style: { chart: {
414
+ backgroundColor: "#99999930",
415
+ bars: {
416
+ totalValues: { show: !1 },
417
+ dataLabels: { show: !1 }
418
+ },
419
+ grid: {
420
+ frame: { stroke: "#6A6A6A" },
421
+ scale: {
422
+ scaleMin: 0,
423
+ scaleMax: 40
424
+ },
425
+ x: {
426
+ axisColor: "#6A6A6A",
427
+ linesColor: "#6A6A6A",
428
+ axisName: { show: !1 },
429
+ timeLabels: { show: !1 }
430
+ },
431
+ y: {
432
+ axisColor: "#6A6A6A",
433
+ linesColor: "#6A6A6A",
434
+ axisName: { show: !1 },
435
+ axisLabels: { show: !1 }
436
+ }
437
+ },
438
+ legend: { backgroundColor: "transparent" },
439
+ padding: {
440
+ left: 24,
441
+ right: 24,
442
+ bottom: 12
443
+ },
444
+ zoom: {
445
+ show: !1,
446
+ startIndex: null,
447
+ endIndex: null
448
+ }
449
+ } }
450
+ },
451
+ userConfig: F.value.skeletonConfig ?? {}
452
+ })), { loading: vr, FINAL_DATASET: yr, manualLoading: br } = we({
453
+ ...ot(A),
454
+ FINAL_CONFIG: F,
455
+ prepareConfig: Gr,
456
+ callback: () => {
457
+ Promise.resolve().then(async () => {
458
+ (!V.value.zoom.keepState || !so.value || X.value.start === 0 && X.value.end === 0) && await co();
459
+ });
460
+ },
461
+ skeletonDataset: A.config?.skeletonDataset ?? [{
462
+ name: "",
463
+ series: [
464
+ 2,
465
+ 3,
466
+ 5,
467
+ 8,
468
+ 13,
469
+ 21
470
+ ],
471
+ color: "#BABABA"
472
+ }, {
473
+ name: "",
474
+ series: [
475
+ 1,
476
+ 2,
477
+ 3,
478
+ 5,
479
+ 8,
480
+ 13
481
+ ],
482
+ color: "#CACACA"
483
+ }],
484
+ skeletonConfig: oe({
485
+ defaultConfig: F.value,
486
+ userConfig: _r.value
487
+ })
488
+ }), xr = _(() => (yr.value ?? []).find((e) => e?.type === "waterfall") ?? null), H = _(() => !!xr.value && !vr.value), U = _(() => F.value.style.chart.waterfall), W = _(() => {
489
+ let e = Number(H.value ? U.value.bars.gapRatio : R.value.gapRatio);
490
+ return Number.isFinite(e) ? Math.max(0, Math.min(1.9, e)) : .45;
491
+ }), Sr = _(() => H.value ? U.value.bars.borderRadius : R.value.borderRadius);
492
+ function Cr(e, t) {
493
+ return String(e?.key ?? e?.id ?? e?.name ?? `Segment ${t + 1}`);
494
+ }
495
+ function wr(e) {
496
+ return Array.isArray(e?.series) ? e.series : [];
497
+ }
498
+ function Tr(e, t) {
499
+ let n = String(e?.type ?? (t === 0 ? "total" : "change")).toLowerCase();
500
+ return [
501
+ "total",
502
+ "subtotal",
503
+ "change"
504
+ ].includes(n) ? n : "change";
505
+ }
506
+ let Er = Object.freeze({
507
+ total: "__waterfall_total__",
508
+ subtotal: "__waterfall_subtotal__"
509
+ }), Dr = _(() => {
510
+ if (!H.value) return [];
511
+ let e = /* @__PURE__ */ new Map();
512
+ return (xr.value?.series ?? []).forEach((t) => {
513
+ wr(t).forEach((t, n) => {
514
+ if (!t || typeof t != "object") return;
515
+ let r = Cr(t, n);
516
+ if (e.has(r)) return;
517
+ let a = e.size, o = u(t.color) || ti.value[a % (ti.value.length || 1)] || s[a % s.length];
518
+ e.set(r, {
519
+ name: String(t.name ?? r),
520
+ datasetKey: r,
521
+ id: `waterfall-segment-${M.value}-${a}`,
522
+ color: o,
523
+ absoluteIndex: a
524
+ });
525
+ });
526
+ }), Array.from(e.values());
527
+ }), G = _(() => {
528
+ if (!H.value) return [];
529
+ let e = xr.value, t = Array.isArray(e?.series) ? e.series : [], n = new Set(Dr.value.filter((e) => !N.value.includes(e.id)).map((e) => e.datasetKey)), r = new Map(Dr.value.map((e) => [e.datasetKey, e.color])), a = U.value, o = Number(e.startValue ?? 0);
530
+ return Number.isFinite(o) || (o = 0), t.map((e, t) => {
531
+ let s = Tr(e, t), c = s === "total" || s === "subtotal", l = o, d = c ? 0 : l, f = d, p = d, ee = 0, te = wr(e);
532
+ c && !te.length && (te = [{
533
+ name: s === "total" ? "Total" : "Subtotal",
534
+ key: Er[s],
535
+ value: l
536
+ }]);
537
+ let ne = [];
538
+ te.forEach((t, o) => {
539
+ if (!t || typeof t != "object") return;
540
+ let c = Cr(t, o);
541
+ if (c !== Er.total && c !== Er.subtotal && !n.has(c)) return;
542
+ let l = Number(t.value ?? 0);
543
+ if (!Number.isFinite(l)) return;
544
+ let d = l < 0 ? p : f, te = d + l;
545
+ l < 0 ? p = te : f = te, ee += l;
546
+ let m = u(t.color), re = s === "total" ? a.colors.total : s === "subtotal" ? a.colors.subtotal : l > 0 ? a.colors.positive : l < 0 ? a.colors.negative : a.colors.neutral;
547
+ ne.push({
548
+ key: c,
549
+ name: String(t.name ?? c),
550
+ label: String(t.label ?? t.name ?? c),
551
+ value: l,
552
+ start: d,
553
+ end: te,
554
+ color: m || u(e?.color) || (a.colors.useSeriesColor ? r.get(c) : null) || re
555
+ });
556
+ });
557
+ let m = d + ee, re = m - l;
558
+ return o = m, {
559
+ index: t,
560
+ name: String(e?.label ?? e?.name ?? `${t + 1}`),
561
+ kind: s,
562
+ isTotal: c,
563
+ previousBalance: l,
564
+ start: d,
565
+ end: m,
566
+ balance: m,
567
+ change: re,
568
+ hasMixedSigns: f > d && p < d,
569
+ positiveExtent: f,
570
+ negativeExtent: p,
571
+ segments: ne,
572
+ color: u(e?.color) || null
573
+ };
574
+ });
575
+ });
576
+ function Or(e, t = "vertical", n = q.value) {
577
+ let r = Yi.value.max - Yi.value.min || 1, a = (e - Yi.value.min) / r;
578
+ return t === "vertical" ? n.bottom - a * n.height : n.left + a * n.width;
579
+ }
580
+ let kr = _(() => {
581
+ let e = G.value, t = Dr.value.filter((e) => !N.value.includes(e.id)), n = e.slice(X.value.start, X.value.end);
582
+ n.length;
583
+ let r = W.value, a = [0, ...e.flatMap((e) => [
584
+ e.start,
585
+ e.end,
586
+ ...e.segments.flatMap((e) => [e.start, e.end])
587
+ ])], o = Math.min(...a), s = Math.max(...a) - o || 1, c = [...t], l = Dr.value.length;
588
+ for (let [t, n] of ["total", "subtotal"].entries()) {
589
+ let r = Er[n];
590
+ e.some((e) => e.segments.some((e) => e.key === r)) && c.push({
591
+ name: n === "total" ? "Total" : "Subtotal",
592
+ datasetKey: r,
593
+ color: U.value.colors[n],
594
+ id: `waterfall-${n}-${M.value}`,
595
+ absoluteIndex: l + t
596
+ });
597
+ }
598
+ return c.map((t) => {
599
+ let a = e.map((e) => e.segments.find((e) => e.key === t.datasetKey) ?? null), c = a.slice(X.value.start, X.value.end), l = a.map((e) => e?.value ?? 0), u = c.map((e) => e?.value ?? 0), d = c.map((e, t) => {
600
+ let n = q.value.left + Q.value * t + Q.value * r / 4, a = q.value.top + Q.value * t + Q.value * r / 4;
601
+ if (!e) return {
602
+ x: n,
603
+ horizontal_y: a,
604
+ top: 0,
605
+ height: 0,
606
+ left: 0,
607
+ width: 0
608
+ };
609
+ let o = Or(e.start), s = Or(e.end), c = Or(e.start, "horizontal"), l = Or(e.end, "horizontal");
610
+ return {
611
+ x: n,
612
+ horizontal_y: a,
613
+ top: Math.min(o, s),
614
+ height: Math.abs(s - o),
615
+ left: Math.min(c, l),
616
+ width: Math.abs(l - c)
617
+ };
618
+ });
619
+ return {
620
+ ...t,
621
+ series: u,
622
+ signedSeries: u.map((e) => e < 0 ? -1 : 1),
623
+ waterfallSegments: c,
624
+ waterfallColors: c.map((e) => e?.color || t.color),
625
+ minimapWaterfallColors: a.map((e) => e?.color || t.color),
626
+ rectKeys: u.map((e, n) => ma(t, X.value.start + n)),
627
+ minimapRectKeys: l.map((e, n) => ma(t, n)),
628
+ proportions: u.map((e, t) => {
629
+ let r = n[t]?.segments.reduce((e, t) => e + Math.abs(t.value), 0) || 1;
630
+ return Math.abs(e) / r;
631
+ }),
632
+ x: d.map((e) => e.x),
633
+ y: d.map((e) => e.top),
634
+ height: d.map((e) => e.height),
635
+ horizontal_y: d.map((e) => e.horizontal_y),
636
+ horizontal_x: d.map((e) => e.left),
637
+ horizontal_width: d.map((e) => e.width),
638
+ xMinimap: ({ left: e, unitW: t }) => l.map((n, a) => e + t * a + t * r / 4),
639
+ yMinimap: ({ minimapH: e }) => a.map((t) => t ? e * (1 - (Math.max(t.start, t.end) - o) / s) : e),
640
+ heightMinimap: ({ minimapH: e }) => a.map((t) => t ? e * Math.abs(t.end - t.start) / s : 0)
641
+ };
642
+ });
643
+ }), Ar = _(() => G.value.slice(X.value.start, X.value.end)), jr = _(() => {
644
+ let e = F.value.orientation === "vertical", t = Q.value * (1 - W.value / 2);
645
+ return Ar.value.map((n, r) => {
646
+ let a = n.segments.map((e) => [e.start, e.end]).flat(), o = a.length ? a : [n.start, n.end], s = Math.min(...o), c = Math.max(...o), l = Or(s, e ? "vertical" : "horizontal"), u = Or(c, e ? "vertical" : "horizontal"), d = e ? q.value.left + Q.value * r + Q.value * W.value / 4 : q.value.top + Q.value * r + Q.value * W.value / 4, f = e ? t : Math.abs(u - l), p = e ? Math.abs(u - l) : t;
647
+ return {
648
+ x: e ? d : Math.min(l, u),
649
+ y: e ? Math.min(l, u) : d,
650
+ width: f,
651
+ height: p,
652
+ radius: Math.min(Math.max(0, Sr.value), f / 2, p / 2),
653
+ step: n,
654
+ index: r
655
+ };
656
+ });
657
+ });
658
+ function Mr(e, t, n) {
659
+ let r = Number(e.radius) || 0;
660
+ if (r <= 0) return 0;
661
+ let a = n ? e.y : e.x, o = n ? e.height : e.width;
662
+ if (o <= 0) return 0;
663
+ let s = Math.max(0, Math.min(t - a, a + o - t));
664
+ if (s >= r) return 0;
665
+ let c = r - s;
666
+ return r - Math.sqrt(Math.max(0, r * r - c * c));
667
+ }
668
+ let Nr = _(() => {
669
+ if (!H.value || !U.value.connectors.show) return [];
670
+ let e = F.value.orientation === "vertical", t = U.value.connectors, n = jr.value, r = [], a = 1e-7, o = (e) => e.kind === "change" && e.segments.every((e) => Math.abs(e.end - e.start) <= a);
671
+ for (let s = 0; s < n.length - 1; s += 1) {
672
+ let c = n[s];
673
+ if (o(c.step) || !c.step.segments.length) continue;
674
+ let l = s + 1;
675
+ for (; l < n.length && o(n[l].step);) l += 1;
676
+ if (l >= n.length) continue;
677
+ let u = n[l];
678
+ if (!u.step.segments.length) continue;
679
+ let d = u.step.isTotal ? u.step.end : u.step.start;
680
+ if (Math.abs(c.step.end - d) > a) continue;
681
+ let f = Or(c.step.end, e ? "vertical" : "horizontal"), p = (t.adaptToRadius ? Mr(c, f, e) : 0) + Number(t.inset || 0), ee = (t.adaptToRadius ? Mr(u, f, e) : 0) + Number(t.inset || 0);
682
+ if (e) {
683
+ let e = c.x + c.width - p, t = u.x + ee;
684
+ if (t < e) continue;
685
+ r.push({
686
+ x1: e,
687
+ y1: f,
688
+ x2: t,
689
+ y2: f,
690
+ key: `${c.step.index}-${u.step.index}`
691
+ });
692
+ } else {
693
+ let e = c.y + c.height - p, t = u.y + ee;
694
+ if (t < e) continue;
695
+ r.push({
696
+ x1: f,
697
+ y1: e,
698
+ x2: f,
699
+ y2: t,
700
+ key: `${c.step.index}-${u.step.index}`
701
+ });
702
+ }
703
+ }
704
+ return r;
705
+ }), Pr = _(() => {
706
+ if (!H.value || !U.value.stepLabels.show) return [];
707
+ let e = F.value.orientation === "vertical", n = U.value.stepLabels;
708
+ return jr.value.map((r) => {
709
+ let a = r.step, o = a.isTotal && n.useBalanceForTotals ? a.balance : a.change;
710
+ if (!n.showZero && !o) return null;
711
+ let s = t({
712
+ p: n.prefix + (n.showPlusSign && o > 0 ? "+" : ""),
713
+ v: o,
714
+ s: n.suffix,
715
+ r: n.rounding
716
+ }), c = h(n.formatter, o, s, {
717
+ datapoint: a,
718
+ seriesIndex: 0,
719
+ datapointIndex: a.index
720
+ }), l = (Number(n.offset) || 0) + 7, u = a.isTotal ? Math.sign(a.balance) : Math.sign(a.change);
721
+ return e ? {
722
+ key: a.index,
723
+ text: c,
724
+ x: r.x + r.width / 2,
725
+ y: u < 0 ? r.y + r.height + l + n.fontSize : r.y - l,
726
+ anchor: "middle"
727
+ } : {
728
+ key: a.index,
729
+ text: c,
730
+ x: u < 0 ? r.x - l : r.x + r.width + l,
731
+ y: r.y + r.height / 2 + n.fontSize / 3,
732
+ anchor: u < 0 ? "end" : "start"
733
+ };
734
+ }).filter(Boolean);
735
+ });
736
+ function Fr(e, t) {
737
+ let n = U.value.segmentLabels;
738
+ if (!n.show || !e.waterfallSegments?.[t] || e.series[t] === 0 && !n.showZero) return !1;
739
+ let r = F.value.orientation === "vertical" ? e.height[t] : Q.value * (1 - W.value / 2), a = F.value.orientation === "vertical" ? Q.value * (1 - W.value / 2) : e.horizontal_width[t];
740
+ return r >= n.minHeight && a >= n.minWidth;
741
+ }
742
+ function Ir(e, n) {
743
+ let r = e.waterfallSegments[n], a = U.value.segmentLabels;
744
+ return h(a.formatter, r.value, t({
745
+ p: a.prefix,
746
+ v: r.value,
747
+ s: a.suffix,
748
+ r: a.rounding
749
+ }), {
750
+ datapoint: {
751
+ ...r,
752
+ step: Ar.value[n]
753
+ },
754
+ seriesIndex: e.absoluteIndex,
755
+ datapointIndex: X.value.start + n
756
+ });
757
+ }
758
+ function Lr(e, t) {
759
+ return H.value ? U.value.bars.gradient.show ? `url(#waterfall-gradient-${M.value}-${e.absoluteIndex}-${X.value.start + t})` : e.waterfallColors?.[t] || e.color : R.value.gradient.show ? `url(#gradient_${e.id})` : e.color;
760
+ }
761
+ function Rr(e) {
762
+ return ce(String(e ?? ""));
763
+ }
764
+ let { userOptionsVisible: zr, setUserOptionsVisibility: Br, keepUserOptionState: Vr } = He({ config: F.value }), { svgRef: Hr } = Ue({ config: V.value.title });
765
+ function Ur() {
766
+ Br(!0);
767
+ }
768
+ function Wr() {
769
+ Br(!1), j("selectX", {
770
+ index: null,
771
+ indexLabel: null,
772
+ dataset: null
773
+ }), P.value = null, sr.value = null, Fn.value = !1;
774
+ }
775
+ function Gr() {
776
+ let e = Ee({
777
+ userConfig: A.config,
778
+ defaultConfig: kn
779
+ }), t = {};
780
+ A.config && me(A.config, "style.chart.grid.x.timeLabels.showFirstAndLast") && (e.style.chart.grid.x.timeLabels.showFirstAndLast = !!A.config.style.chart.grid.x.timeLabels.showFirstAndLast);
781
+ let n = e.theme;
782
+ if (n) {
783
+ if (!An.value(e)) jn(e), t = e;
784
+ else {
785
+ let r = Ee({
786
+ userConfig: Ge[n] || A.config,
787
+ defaultConfig: e
788
+ });
789
+ t = {
790
+ ...Ee({
791
+ userConfig: A.config,
792
+ defaultConfig: r
793
+ }),
794
+ customPalette: e.customPalette.length ? e.customPalette : re[n] || s
795
+ };
796
+ }
797
+ } else t = e;
798
+ return t;
799
+ }
800
+ let Kr = _(() => R.value.dataLabels.hideUnderValue != null), qr = _(() => R.value.dataLabels.hideUnderPercentage != null);
801
+ function Jr(e) {
802
+ let t = ie(e);
803
+ return t?.style?.chart && delete t.style.chart.tooltip, JSON.stringify(t);
804
+ }
805
+ let Yr = Jr(A.config);
806
+ lt(() => A.config, (e, t) => {
807
+ let n = Jr(e), r = n !== Yr;
808
+ Yr = n;
809
+ let a = Gr();
810
+ if (!r) {
811
+ F.value.style.chart.tooltip = a.style.chart.tooltip, K.value.showTooltip = F.value.style.chart.tooltip.show;
812
+ return;
813
+ }
814
+ vr.value || (F.value = a), zr.value = !F.value.userOptions.showOnChartHover, K.value.dataLabels.show = H.value ? U.value.segmentLabels.show || U.value.stepLabels.show : R.value.dataLabels.show, K.value.showTable = F.value.table.show, K.value.showTooltip = B.value.show, oi({ resetSlicer: !V.value.zoom.keepState }), Gn.value += 1, Kn.value += 1, qn.value += 1, dr(), !V.value.zoom.keepState || !so.value || X.value.start === 0 && X.value.end === 0 ? co() : zi();
815
+ }, { deep: !0 }), lt(() => A.dataset, (e) => {
816
+ Array.isArray(e) && e.length > 0 && (br.value = !1), dr(), V.value.zoom.keepState ? zi() : Hi();
817
+ }, { deep: !0 });
818
+ let K = w({
819
+ dataLabels: { show: H.value ? U.value.segmentLabels.show || U.value.stepLabels.show : R.value.dataLabels.show },
820
+ showTable: F.value.table.show,
821
+ showTooltip: B.value.show
822
+ });
823
+ lt(F, () => {
824
+ K.value = {
825
+ dataLabels: { show: H.value ? U.value.segmentLabels.show || U.value.stepLabels.show : R.value.dataLabels.show },
826
+ showTable: F.value.table.show,
827
+ showTooltip: B.value.show
828
+ };
829
+ }, { immediate: !0 });
830
+ let { isPrinting: Xr, isImaging: Zr, generatePdf: Qr, generateImage: $r } = Ce({
831
+ elementId: `stackbar_${M.value}`,
832
+ fileName: V.value.title.text || "vue-ui-stackbar",
833
+ options: F.value.userOptions.print
834
+ }), ei = w({
835
+ width: V.value.width,
836
+ height: V.value.height,
837
+ paddingRatio: {
838
+ top: V.value.padding.top / V.value.height,
839
+ right: V.value.padding.right / V.value.width,
840
+ bottom: V.value.padding.bottom / V.value.height,
841
+ left: V.value.padding.left / V.value.width
842
+ }
843
+ }), ti = _(() => pe(F.value.customPalette)), ni = at(null), ri = at(null), ii = w(null), ai = _(() => F.value.debug);
844
+ function oi({ resetSlicer: e = !0 } = {}) {
845
+ if (ge(A.dataset) ? (te({
846
+ componentName: "VueUiStackbar",
847
+ type: "dataset",
848
+ debug: ai.value
849
+ }), br.value = !0) : A.dataset.forEach((e, t) => {
850
+ he({
851
+ datasetObject: e,
852
+ requiredAttributes: ["name", "series"]
853
+ }).forEach((e) => {
854
+ Nn.value = !1, te({
855
+ componentName: "VueUiStackbar",
856
+ type: "datasetSerieAttribute",
857
+ property: e,
858
+ index: t,
859
+ debug: ai.value
860
+ }), br.value = !0;
861
+ });
862
+ }), ge(A.dataset) || (br.value = F.value.loading), setTimeout(() => {
863
+ Wn.value = !0;
864
+ }, 10), F.value.responsive) {
865
+ let e = Ie(() => {
866
+ Wn.value = !1;
867
+ let { width: e, height: t } = Le({
868
+ chart: Pn.value,
869
+ title: V.value.title.text ? zn.value : null,
870
+ legend: V.value.legend.show ? Bn.value : null,
871
+ slicer: V.value.zoom.show && Y.value > 6 ? Vn.value.$el : null,
872
+ source: Hn.value
873
+ });
874
+ requestAnimationFrame(() => {
875
+ ei.value.width = e, ei.value.height = t - 12, clearTimeout(ii.value), ii.value = setTimeout(() => {
876
+ Wn.value = !0;
877
+ }, 10);
878
+ });
879
+ });
880
+ ni.value && (ri.value && ni.value.unobserve(ri.value), ni.value.disconnect()), ni.value = new ResizeObserver(e), ri.value = Pn.value.parentNode, ni.value.observe(ri.value);
881
+ }
882
+ pr(), e && co();
883
+ }
884
+ nt(() => {
885
+ ur.stop(), ni.value && (ri.value && ni.value.unobserve(ri.value), ni.value.disconnect());
886
+ });
887
+ let si = _(() => L.value.y.position === "right");
888
+ function ci() {
889
+ let e = 0;
890
+ F.value.orientation === "vertical" && $n.value && (e = Array.from($n.value.querySelectorAll("text")).reduce((e, t) => {
891
+ let n = t.getComputedTextLength();
892
+ return n > e ? n : e;
893
+ }, 0)), F.value.orientation === "horizontal" && er.value && (e = Array.from(er.value.querySelectorAll("text")).reduce((e, t) => {
894
+ let n = t.getComputedTextLength();
895
+ return n > e ? n : e;
896
+ }, 0));
897
+ let t = Qn.value ? Qn.value.getBoundingClientRect().width + L.value.y.axisName.fontSize + L.value.y.axisName.offsetX : 0;
898
+ return {
899
+ left: si.value ? 0 : e + t,
900
+ right: si.value ? e + t : 0,
901
+ scaleLabelsWidth: e,
902
+ yAxisLabelWidth: t
903
+ };
904
+ }
905
+ let li = w(0), ui = w(0), di = Ie((e) => {
906
+ ui.value = e + R.value.totalValues.fontSize;
907
+ }, 100);
908
+ function fi() {
909
+ if (F.value.orientation !== "horizontal") return 0;
910
+ let e = nr.value;
911
+ if (!e) return 0;
912
+ let t = Array.from(e.querySelectorAll("text"));
913
+ if (!t.length) return 0;
914
+ let n = -Infinity;
915
+ for (let e of t) try {
916
+ let t = e.getBBox(), r = t.x + t.width;
917
+ r > n && (n = r);
918
+ } catch {}
919
+ return Math.max(0, n - (q.value?.right ?? 0));
920
+ }
921
+ ut((e) => {
922
+ if (F.value.orientation !== "horizontal") return;
923
+ let t = nr.value;
924
+ if (!t) return;
925
+ let n = () => {
926
+ let e = fi();
927
+ di(e);
928
+ };
929
+ n();
930
+ let r = new ResizeObserver(n);
931
+ r.observe(t);
932
+ let a = new MutationObserver(n);
933
+ a.observe(t, {
934
+ childList: !0,
935
+ subtree: !0,
936
+ characterData: !0
937
+ }), e(() => {
938
+ r.disconnect(), a.disconnect();
939
+ });
940
+ }), nt(() => {
941
+ li.value = 0, ui.value = 0;
942
+ });
943
+ let pi = w(0), mi = w(0);
944
+ function hi(e) {
945
+ let t = Number.isFinite(e) ? e : 0;
946
+ pi.value !== t && (pi.value = t);
947
+ }
948
+ function gi() {
949
+ let e = F.value.orientation === "vertical" ? er.value : $n.value;
950
+ if (!e) {
951
+ hi(0);
952
+ return;
953
+ }
954
+ try {
955
+ hi(e.getBBox()?.height);
956
+ } catch {
957
+ hi(0);
958
+ }
959
+ }
960
+ function _i() {
961
+ mi.value && cancelAnimationFrame(mi.value), mi.value = requestAnimationFrame(() => {
962
+ requestAnimationFrame(() => {
963
+ gi();
964
+ });
965
+ });
966
+ }
967
+ nt(() => {
968
+ mi.value && cancelAnimationFrame(mi.value);
969
+ });
970
+ let vi = _(() => {
971
+ let e = 0;
972
+ if (Zn.value) try {
973
+ e = Zn.value.getBBox().height;
974
+ } catch {
975
+ e = 0;
976
+ }
977
+ let t = z.value.show ? pi.value : 0;
978
+ return e + t;
979
+ }), q = _(() => {
980
+ ar.value;
981
+ let { height: e, width: t } = ei.value, { right: n } = ei.value.paddingRatio, r = H.value && U.value.stepLabels.show ? U.value.stepLabels.fontSize * 1.5 + U.value.stepLabels.offset : R.value.totalValues.show && A.dataset && A.dataset.length > 1 ? R.value.totalValues.fontSize * 1.3 : 0, a = 0, o = 0, s = 0, c = 0;
982
+ if (L.value.y.axisLabels.show) {
983
+ let e = ci();
984
+ a = e.left, o = e.right, s = e.scaleLabelsWidth, c = e.yAxisLabelWidth;
985
+ }
986
+ let l = V.value.padding.top + r, u = t - t * n - ui.value - o, d = e - V.value.padding.bottom - vi.value - r, f = V.value.padding.left + a, p = t - f - t * n - ui.value - o, ee = e - l - V.value.padding.bottom - vi.value - r;
987
+ return {
988
+ chartHeight: e,
989
+ chartWidth: t,
990
+ top: l,
991
+ right: u,
992
+ bottom: d,
993
+ left: f,
994
+ width: Math.max(0, p),
995
+ height: Math.max(0, ee),
996
+ offsetLeft: a,
997
+ offsetRightAxis: o,
998
+ scaleLabelsWidth: s,
999
+ yAxisLabelWidth: c
1000
+ };
1001
+ }), yi = _(() => {
1002
+ let { left: e, top: t, width: n, height: r } = q.value, a = X.value.start, o = X.value.end, s = Math.max(1, o - a), c = Math.max(0, Math.min(s, (Z.value.start ?? a) - a)), l = Math.max(0, Math.min(s, (Z.value.end ?? o) - a)), u = Math.max(0, l - c), d = {
1003
+ fill: V.value.zoom.preview.fill,
1004
+ stroke: V.value.zoom.preview.stroke,
1005
+ "stroke-width": V.value.zoom.preview.strokeWidth,
1006
+ "stroke-dasharray": V.value.zoom.preview.strokeDasharray,
1007
+ "stroke-linecap": "round",
1008
+ "stroke-linejoin": "round",
1009
+ style: {
1010
+ pointerEvents: "none",
1011
+ transition: "none !important",
1012
+ animation: "none !important"
1013
+ }
1014
+ };
1015
+ if (F.value.orientation === "horizontal") {
1016
+ let a = r / s;
1017
+ return {
1018
+ x: e,
1019
+ y: t + c * a,
1020
+ width: n,
1021
+ height: u * a,
1022
+ ...d
1023
+ };
1024
+ }
1025
+ {
1026
+ let a = n / s;
1027
+ return {
1028
+ x: e + c * a,
1029
+ y: t,
1030
+ width: u * a,
1031
+ height: r,
1032
+ ...d
1033
+ };
1034
+ }
1035
+ }), J = _(() => {
1036
+ if (H.value) {
1037
+ let e = xr.value.series ?? [];
1038
+ return Dr.value.map((t) => {
1039
+ let n = e.map((e) => wr(e).filter((e, n) => Cr(e, n) === t.datasetKey).reduce((e, t) => e + (Number(t.value) || 0), 0));
1040
+ return {
1041
+ ...t,
1042
+ series: n,
1043
+ signedSeries: n.map((e) => e < 0 ? -1 : 1)
1044
+ };
1045
+ });
1046
+ }
1047
+ return yr.value.map((e, t) => {
1048
+ let n = d(), r = String(e.key ?? e.id ?? e.name ?? n), a = u(e.color) || ti.value[t] || s[t] || s[t % s.length];
1049
+ return {
1050
+ ...e,
1051
+ datasetKey: r,
1052
+ series: JSON.parse(JSON.stringify(e.series)).map((e) => R.value.distributed ? Math.abs(e) : e),
1053
+ signedSeries: e.series.map((e) => e >= 0 ? 1 : -1),
1054
+ absoluteIndex: t,
1055
+ id: n,
1056
+ color: a
1057
+ };
1058
+ });
1059
+ }), Y = _(() => {
1060
+ if (H.value) return xr.value.series?.length ?? 0;
1061
+ let e = Math.max(...J.value.filter((e) => !N.value.includes(e.id)).map((e) => e.series.length));
1062
+ return isFinite(e) ? e : Math.max(...J.value.map((e) => e.series.length));
1063
+ });
1064
+ function bi(e) {
1065
+ mr.value = e;
1066
+ }
1067
+ let X = w({
1068
+ start: 0,
1069
+ end: Y.value
1070
+ }), Z = w({
1071
+ start: 0,
1072
+ end: Y.value
1073
+ }), xi = w(!1), Si = w(!1), Ci = w(null), wi = w(null), Ti = w(null), Ei = w(!1), Di = w({
1074
+ time: 0,
1075
+ x: 0,
1076
+ y: 0,
1077
+ pointerType: null
1078
+ }), Oi = _(() => V.value.zoom?.dragToZoom), ki = _(() => Oi.value.show && Nn.value && so.value && Y.value > 1 && !vr.value), Ai = null, ji = {}, Mi = _(() => V.value.zoom.preview.enable && (Z.value.start !== X.value.start || Z.value.end !== X.value.end));
1079
+ function Ni(e, t) {
1080
+ Z.value[e] = t;
1081
+ }
1082
+ function Pi(e, t = X.value) {
1083
+ if (!e || typeof e != "object") return null;
1084
+ let n = e.start !== void 0 && e.start !== null, r = e.end !== void 0 && e.end !== null;
1085
+ if (!n && !r) return null;
1086
+ let a = Number(n ? e.start : t.start), o = Number(r ? e.end : t.end);
1087
+ return !Number.isFinite(a) || !Number.isFinite(o) ? null : {
1088
+ start: a,
1089
+ end: o
1090
+ };
1091
+ }
1092
+ function Fi(e) {
1093
+ let t = Pi(e);
1094
+ t && j("update:zoomState", t);
1095
+ }
1096
+ function Ii() {
1097
+ Ai &&= (cancelAnimationFrame(Ai), null), ji = {};
1098
+ }
1099
+ function Li(e) {
1100
+ let t = Pi(e);
1101
+ if (!t) return null;
1102
+ let { start: n, end: r } = t;
1103
+ return (n !== Number(X.value.start) || r !== Number(X.value.end)) && (Ii(), X.value = {
1104
+ start: n,
1105
+ end: r
1106
+ }, Z.value = {
1107
+ start: n,
1108
+ end: r
1109
+ }, zi()), {
1110
+ start: Number(X.value.start),
1111
+ end: Number(X.value.end)
1112
+ };
1113
+ }
1114
+ function Ri(e) {
1115
+ let t = Li(e);
1116
+ return t ? (j("update:zoomState", t), t) : null;
1117
+ }
1118
+ function zi() {
1119
+ let e = Y.value, t = Math.max(0, Math.min(X.value.start ?? 0, e - 1)), n = Math.max(t + 1, Math.min(X.value.end ?? e, e));
1120
+ (!Number.isFinite(t) || !Number.isFinite(n) || n <= t) && (t = 0, n = e), X.value.start = t, X.value.end = n, Z.value.start = t, Z.value.end = n, Vn.value && Vn.value.setRangeValues(t, n);
1121
+ }
1122
+ let Bi = w(null);
1123
+ function Vi() {
1124
+ return new Promise((e) => requestAnimationFrame(() => requestAnimationFrame(() => e())));
1125
+ }
1126
+ nt(() => {
1127
+ Bi.value && cancelAnimationFrame(Bi.value), Ii(), Mo();
1128
+ });
1129
+ async function Hi({ force: e = !1, publish: t = !1 } = {}) {
1130
+ if (V.value.zoom.keepState && !e && so.value && (X.value.start !== 0 || X.value.end !== 0)) {
1131
+ zi();
1132
+ return;
1133
+ }
1134
+ let n = !e;
1135
+ co(n), await et(), Bi.value && cancelAnimationFrame(Bi.value), Bi.value = requestAnimationFrame(async () => {
1136
+ await Vi(), co(n), Bi.value = null, t && (Fi({
1137
+ start: Number(X.value.start),
1138
+ end: Number(X.value.end)
1139
+ }), j("zoomReset"));
1140
+ });
1141
+ }
1142
+ let Q = _(() => {
1143
+ let e;
1144
+ return e = F.value.orientation === "vertical" ? q.value.width / (X.value.end - X.value.start) : q.value.height / (X.value.end - X.value.start), e <= 0 ? 0 : e;
1145
+ }), Ui = _(() => l(J.value.filter((e) => !N.value.includes(e.id))).slice(X.value.start, X.value.end)), Wi = _(() => N.value.length === J.value.length), Gi = _(() => V.value.zoom.minimap.show ? H.value ? G.value.map((e) => e.balance) : l(J.value.map((e) => ({
1146
+ ...e,
1147
+ series: e.series.map((e) => e ?? 0)
1148
+ })).filter((e) => Wi.value ? !0 : !N.value.includes(e.id))) : []), Ki = _(() => V.value.zoom.minimap.show ? [{
1149
+ name: "",
1150
+ series: Gi.value,
1151
+ color: "#000000",
1152
+ isVisible: !0
1153
+ }] : []), qi = _(() => H.value ? Ar.value.map((e) => e.change) : l(J.value.filter((e) => !N.value.includes(e.id)).map((e) => ({
1154
+ ...e,
1155
+ series: e.series.map((t, n) => e.signedSeries[n] === -1 && t >= 0 ? -t : t)
1156
+ }))).slice(X.value.start, X.value.end)), Ji = _(() => {
1157
+ let e = J.value.filter((e) => !N.value.includes(e.id));
1158
+ return {
1159
+ positive: l(e.map((e) => ({
1160
+ ...e,
1161
+ series: e.series.slice(X.value.start, X.value.end).map((e) => e >= 0 ? e : 0)
1162
+ }))),
1163
+ negative: l(e.map((e) => ({
1164
+ ...e,
1165
+ series: e.series.slice(X.value.start, X.value.end).map((e) => e < 0 ? e : 0)
1166
+ })))
1167
+ };
1168
+ }), Yi = _(() => {
1169
+ if (H.value) {
1170
+ let e = [0, ...Ar.value.flatMap((e) => [
1171
+ e.start,
1172
+ e.end,
1173
+ ...e.segments.flatMap((e) => [e.start, e.end])
1174
+ ])], t = Math.min(...e), n = Math.max(...e), r = L.value.scale.scaleMin, a = L.value.scale.scaleMax, o = r === null ? t : Number(r), s = a === null ? n : Number(a);
1175
+ return r !== null || a !== null ? fe(o, s, L.value.scale.ticks) : p(o, s, L.value.scale.ticks);
1176
+ }
1177
+ let e = L.value.scale.scaleMax !== null && !R.value.distributed ? L.value.scale.scaleMax : Math.max(...Ji.value.positive), t = Math.min(...Ji.value.negative), n = L.value.scale.scaleMin !== null && !R.value.distributed ? L.value.scale.scaleMin : [
1178
+ -Infinity,
1179
+ Infinity,
1180
+ NaN,
1181
+ void 0,
1182
+ null
1183
+ ].includes(t) ? 0 : t;
1184
+ return !R.value.distributed && (L.value.scale.scaleMax !== null || L.value.scale.scaleMin !== null) ? fe(n > 0 ? 0 : n, e < 0 ? 0 : e, L.value.scale.ticks) : p(n > 0 ? 0 : n, e < 0 ? 0 : e, L.value.scale.ticks);
1185
+ }), Xi = _(() => Yi.value.ticks), Zi = _(() => {
1186
+ let e = Yi.value, t = e.max + Math.abs(e.min);
1187
+ return Xi.value.map((n) => ({
1188
+ zero: q.value.bottom - q.value.height * (Math.abs(e.min) / t),
1189
+ y: q.value.bottom - q.value.height * ((n + Math.abs(e.min)) / t),
1190
+ x: si.value ? q.value.right + 8 : q.value.left - 8,
1191
+ horizontal_zero: q.value.left + q.value.width * (Math.abs(e.min) / t),
1192
+ horizontal_x: q.value.left + q.value.width * ((n + Math.abs(e.min)) / t),
1193
+ horizontal_y: q.value.bottom - 8,
1194
+ value: n
1195
+ }));
1196
+ }), Qi = _(() => {
1197
+ let e = L.value.y.axisLabels, { prefix: n, suffix: r } = R.value.dataLabels;
1198
+ return Xi.value.map((a) => String(h(e.formatter, a, t({
1199
+ p: n,
1200
+ v: a,
1201
+ s: r,
1202
+ r: e.rounding
1203
+ }), { datapoint: { value: a } }) ?? "")).join("|");
1204
+ });
1205
+ lt(() => [
1206
+ Qi.value,
1207
+ F.value.orientation,
1208
+ L.value.y.axisLabels.show,
1209
+ L.value.y.axisLabels.fontSize,
1210
+ L.value.y.axisLabels.bold,
1211
+ L.value.y.position
1212
+ ], () => {
1213
+ L.value.y.axisLabels.show && pr();
1214
+ }, { flush: "post" });
1215
+ let $i = w([]), ea = w([]), ta = 0;
1216
+ ut(() => {
1217
+ let e = ++ta;
1218
+ if (H.value) {
1219
+ let e = X.value.start;
1220
+ $i.value = G.value.slice(e, X.value.end).map((t, n) => ({
1221
+ text: t.name,
1222
+ absoluteIndex: e + n
1223
+ }));
1224
+ return;
1225
+ }
1226
+ (async () => {
1227
+ let t = await xe({
1228
+ values: z.value.values,
1229
+ maxDatapoints: Y.value,
1230
+ formatter: z.value.datetimeFormatter,
1231
+ start: X.value.start,
1232
+ end: X.value.end
1233
+ });
1234
+ e === ta && ($i.value = t);
1235
+ })();
1236
+ });
1237
+ let na = 0;
1238
+ ut(() => {
1239
+ let e = ++na;
1240
+ if (H.value) {
1241
+ ea.value = G.value.map((e) => ({
1242
+ text: e.name,
1243
+ absoluteIndex: e.index
1244
+ }));
1245
+ return;
1246
+ }
1247
+ (async () => {
1248
+ let t = await xe({
1249
+ values: z.value.values,
1250
+ maxDatapoints: Y.value,
1251
+ formatter: z.value.datetimeFormatter,
1252
+ start: 0,
1253
+ end: Y.value
1254
+ });
1255
+ e === na && (ea.value = t);
1256
+ })();
1257
+ });
1258
+ let ra = _(() => {
1259
+ let e = Math.max(1, Math.floor(Number(z.value.modulo) || 1)), t = ($i.value || []).map((e) => e?.text ?? ""), n = (ea.value || []).map((e) => e?.text ?? ""), r = X.value.start ?? 0, a = r > 0 || t.length < n.length;
1260
+ return ae({
1261
+ configuredModulo: e,
1262
+ visibleTexts: t,
1263
+ allTexts: n,
1264
+ startAbs: r,
1265
+ isZoomed: a
1266
+ });
1267
+ });
1268
+ function ia(e) {
1269
+ if (H.value) {
1270
+ let e = X.value.start ?? 0, t = X.value.end ?? G.value.length;
1271
+ return G.value.slice(e, t).map((t, n) => ({
1272
+ text: t.name,
1273
+ absoluteIndex: e + n
1274
+ }));
1275
+ }
1276
+ let t = z.value, n = $i.value || [], r = ea.value || [], a = X.value.start ?? 0, o = Y.value, s = n.map((e) => e?.text ?? ""), c = r.map((e) => e?.text ?? ""), l = ne(!!t.showOnlyFirstAndLast, !!t.showOnlyAtModulo, ra.value, s, c, a, e, o);
1277
+ if (!t.showFirstAndLast || t.showOnlyFirstAndLast || !l.length) return l;
1278
+ let u = l.length - 1;
1279
+ return l.map((e, t) => t !== 0 && t !== u ? e : {
1280
+ ...e,
1281
+ text: s[t] ?? ""
1282
+ });
1283
+ }
1284
+ let aa = _(() => ia(P.value)), oa = _(() => ia(null));
1285
+ ut(() => {
1286
+ F.value.orientation, z.value.show, z.value.fontSize, z.value.rotation, z.value.offsetY, oa.value?.map((e) => e?.text ?? "").join("|"), Qi.value, ei.value.width, ei.value.height, er.value, $n.value, Zn.value, _i();
1287
+ }, { flush: "post" });
1288
+ let sa = w({
1289
+ months: [],
1290
+ shortMonths: [],
1291
+ days: [],
1292
+ shortDays: []
1293
+ }), ca = 0;
1294
+ ut(() => {
1295
+ let e = ++ca, t = z.value.datetimeFormatter;
1296
+ (async () => {
1297
+ let n = await be(t.locale).catch(() => be("en"));
1298
+ e === ca && (sa.value = n.data);
1299
+ })();
1300
+ });
1301
+ let la = _(() => {
1302
+ let e = z.value.datetimeFormatter, t = ye({
1303
+ useUTC: e.useUTC,
1304
+ locale: sa.value,
1305
+ januaryAsYear: e.januaryAsYear
1306
+ });
1307
+ return (e, n) => {
1308
+ if (H.value) return G.value[e]?.name ?? "";
1309
+ let r = z.value.values?.[e];
1310
+ return r == null ? "" : t.formatDate(new Date(r), n);
1311
+ };
1312
+ }), ua = _(() => H.value ? G.value.map((e) => ({
1313
+ text: e.name,
1314
+ absoluteIndex: e.index
1315
+ })) : (z.value.values || []).map((e, t) => ({
1316
+ text: la.value(t, V.value.zoom.timeFormat),
1317
+ absoluteIndex: t
1318
+ }))), da = _(() => H.value ? G.value.map((e) => ({
1319
+ text: e.name,
1320
+ absoluteIndex: e.index
1321
+ })) : (z.value.values || []).map((e, t) => ({
1322
+ text: la.value(t, B.value.timeFormat),
1323
+ absoluteIndex: t
1324
+ }))), fa = _(() => {
1325
+ let e = /* @__PURE__ */ new Map();
1326
+ return (z.value.values || []).forEach((t) => {
1327
+ if ([
1328
+ null,
1329
+ void 0,
1330
+ ""
1331
+ ].includes(t)) return;
1332
+ let n = String(t);
1333
+ e.set(n, (e.get(n) || 0) + 1);
1334
+ }), e;
1335
+ });
1336
+ function pa(e) {
1337
+ let t = (z.value.values || [])[e];
1338
+ if ([
1339
+ null,
1340
+ void 0,
1341
+ ""
1342
+ ].includes(t)) return `fallback-${e}`;
1343
+ let n = String(t);
1344
+ return (fa.value.get(n) || 0) > 1 ? `${n}-${e}` : n;
1345
+ }
1346
+ function ma(e, t) {
1347
+ return `${e.datasetKey}:${pa(t)}`;
1348
+ }
1349
+ let $ = _(() => {
1350
+ if (!Nn.value && !vr.value) return [];
1351
+ if (H.value) return kr.value;
1352
+ let e = Array(Y.value).fill(0), t = Array(Y.value).fill(0), n = Array(Y.value).fill(0), r = Array(Y.value).fill(0), a = Math.max(...Ji.value.positive) || 0, o = Math.min(...Ji.value.negative), s = [
1353
+ -Infinity,
1354
+ Infinity,
1355
+ NaN,
1356
+ void 0,
1357
+ null
1358
+ ].includes(o) ? 0 : o, { min: c, max: l } = !R.value.distributed && (L.value.scale.scaleMax !== null || L.value.scale.scaleMin !== null) ? fe(L.value.scale.scaleMin === null ? s > 0 ? 0 : s : L.value.scale.scaleMin, L.value.scale.scaleMax === null ? a < 0 ? 0 : a : L.value.scale.scaleMax, L.value.scale.ticks) : p(L.value.scale.scaleMin === null ? s > 0 ? 0 : s : L.value.scale.scaleMin, L.value.scale.scaleMax === null ? a < 0 ? 0 : a : L.value.scale.scaleMax, L.value.scale.ticks), u = l + (c >= 0 ? 0 : Math.abs(c)) || 1, d = q.value.height, f = q.value.width, ee = Zi.value[0] ? Zi.value[0].zero : q.value.bottom, te = Zi.value[0] ? Zi.value[0].horizontal_zero : q.value.left, ne = Array(Gi.value.length).fill(0), m = Array(Gi.value.length).fill(0);
1359
+ return J.value.filter((e) => !N.value.includes(e.id)).map((a) => {
1360
+ let o = a.series.slice(), s = o.map((e, t) => ne[t]), c = o.map((e, t) => m[t]);
1361
+ o.forEach((e, t) => {
1362
+ (Number(e) || 0) >= 0 ? ne[t] += Number(e) || 0 : m[t] += Math.abs(Number(e) || 0);
1363
+ });
1364
+ let l = a.series.slice(X.value.start, X.value.end), p = a.signedSeries.slice(X.value.start, X.value.end), re = l.map((e, t) => ma(a, X.value.start + t)), ie = o.map((e, t) => ma(a, t)), ae = l.map((e, t) => q.value.left + Q.value * t + Q.value * W.value / 4), h = (Gi.value || []).filter(Number.isFinite), oe = h.length ? Math.max(...h) : 0, se = h.length ? Math.min(...h) : 0;
1365
+ function ce({ minimapH: e }) {
1366
+ let t = 1e-9, n = oe > 0;
1367
+ if (n && se < 0) {
1368
+ let n = Math.max(oe, Math.abs(se)) || t;
1369
+ return {
1370
+ pxPerUnit: e / 2 / n,
1371
+ zero: e / 2
1372
+ };
1373
+ }
1374
+ return n ? {
1375
+ pxPerUnit: e / Math.max(t, oe),
1376
+ zero: e
1377
+ } : {
1378
+ pxPerUnit: e / Math.max(t, Math.abs(se)),
1379
+ zero: 0
1380
+ };
1381
+ }
1382
+ let le = ({ left: e, unitW: t }) => {
1383
+ let n = t * (W.value / 4);
1384
+ return o.map((r, a) => e + t * a + n);
1385
+ }, ue = l.map((e, t) => q.value.top + Q.value * t + Q.value * W.value / 4), de = l.map((t, r) => {
1386
+ let a = R.value.distributed ? (t || 0) / Ui.value[r] : (t || 0) / u, o, s;
1387
+ return t > 0 ? (s = d * a, o = ee - s - e[r], e[r] += s) : (s = d * a, o = ee + n[r], n[r] += Math.abs(s)), o;
1388
+ }), fe = ({ minimapH: e }) => {
1389
+ if (R.value.distributed) return o.map((t, n) => {
1390
+ let r = Math.abs(Number(t) || 0), a = Math.abs(Gi.value?.[n] || 0) || 1e-9;
1391
+ return e - (s[n] + r) / a * e;
1392
+ });
1393
+ let { pxPerUnit: t, zero: n } = ce({ minimapH: e });
1394
+ return o.map((e, r) => {
1395
+ let a = Number(e) || 0;
1396
+ return a >= 0 ? n - (s[r] + a) * t : n + c[r] * t;
1397
+ });
1398
+ }, pe = l.map((e, n) => {
1399
+ let a = R.value.distributed ? (e || 0) / Ui.value[n] : (e || 0) / u, o, s;
1400
+ return e > 0 ? (s = f * a, o = te + t[n], t[n] += s) : (s = f * a, o = te - Math.abs(s) - r[n], r[n] += Math.abs(s)), o;
1401
+ }), me = l.map((e, t) => {
1402
+ let n = R.value.distributed ? (e || 0) / Ui.value[t] : (e || 0) / u;
1403
+ return e > 0 ? d * n : d * Math.abs(n);
1404
+ }), he = ({ minimapH: e }) => {
1405
+ if (R.value.distributed) return o.map((t, n) => Math.abs(Number(t) || 0) / (Math.abs(Gi.value?.[n] || 0) || 1e-9) * e);
1406
+ let { pxPerUnit: t } = ce({ minimapH: e });
1407
+ return o.map((e) => Math.abs(Number(e) || 0) * t);
1408
+ }, ge = l.map((e, t) => {
1409
+ let n = R.value.distributed ? (e || 0) / Ui.value[t] : (e || 0) / u;
1410
+ return e > 0 ? f * n : f * Math.abs(n);
1411
+ }), _e = l.map((e) => Math.abs(e)).reduce((e, t) => e + t, 0);
1412
+ return {
1413
+ ...a,
1414
+ proportions: l.map((e, t) => R.value.distributed ? (e || 0) / Ui.value[t] : (e || 0) / _e),
1415
+ series: l,
1416
+ signedSeries: p,
1417
+ rectKeys: re,
1418
+ minimapRectKeys: ie,
1419
+ x: ae,
1420
+ y: de,
1421
+ height: me,
1422
+ horizontal_width: ge,
1423
+ horizontal_y: ue,
1424
+ horizontal_x: pe,
1425
+ xMinimap: le,
1426
+ yMinimap: fe,
1427
+ heightMinimap: he
1428
+ };
1429
+ });
1430
+ }), ha = _(() => {
1431
+ if (!(Number(Sr.value) > 0)) return [];
1432
+ let e = $.value;
1433
+ if (!e.length) return [];
1434
+ let t = F.value.orientation === "vertical", n = Math.max(0, Q.value * (1 - W.value / 2));
1435
+ if (!Number.isFinite(n) || n <= 0) return [];
1436
+ let r = Math.max(0, X.value.end - X.value.start);
1437
+ return Array.from({ length: r }, (r, a) => {
1438
+ let o = Infinity, s = -Infinity, c = NaN;
1439
+ for (let n of e) {
1440
+ let e = Number(n.series[a]);
1441
+ if (!Number.isFinite(e) || e === 0) continue;
1442
+ let r = Number(t ? n.y[a] : n.horizontal_x[a]), l = Number(t ? n.height[a] : n.horizontal_width[a]), u = Number(t ? n.x[a] : n.horizontal_y[a]);
1443
+ !Number.isFinite(r) || !Number.isFinite(l) || l <= 0 || !Number.isFinite(u) || (o = Math.min(o, r), s = Math.max(s, r + l), c = u);
1444
+ }
1445
+ if (!Number.isFinite(o) || !Number.isFinite(s)) return null;
1446
+ let l = t ? c : o, u = t ? o : c, d = t ? n : s - o, f = t ? s - o : n;
1447
+ return {
1448
+ x: l,
1449
+ y: u,
1450
+ width: d,
1451
+ height: f,
1452
+ rx: Math.min(Number(Sr.value), d / 2, f / 2)
1453
+ };
1454
+ });
1455
+ });
1456
+ function ga(e) {
1457
+ if (ha.value[e]) return `url(#stackbar-outer-clip-${M.value}-${X.value.start + e})`;
1458
+ }
1459
+ function _a({ minimapH: e, unitW: t }) {
1460
+ let n = Number(Sr.value);
1461
+ if (!(n > 0) || !Number.isFinite(e) || !Number.isFinite(t) || e <= 0 || t <= 0) return [];
1462
+ let r = $.value.map((t) => ({
1463
+ y: t.yMinimap({ minimapH: e }),
1464
+ height: t.heightMinimap({ minimapH: e })
1465
+ })), a = t * (1 - W.value / 2), o = t * (W.value / 4);
1466
+ return Array.from({ length: Y.value }, (s, c) => {
1467
+ let l = c === 0 || c === Y.value - 1 ? a / 2 : a, u = c === 0 ? 0 : c * t + o - t / 2, d = Infinity, f = -Infinity;
1468
+ for (let t of r) {
1469
+ let n = Number(t.y[c]), r = Number(t.height[c]);
1470
+ if (!Number.isFinite(n) || !Number.isFinite(r) || r <= 0) continue;
1471
+ let a = Math.max(0, Math.min(e, n));
1472
+ d = Math.min(d, a), f = Math.max(f, a + r);
1473
+ }
1474
+ return !Number.isFinite(d) || !Number.isFinite(f) || !(f > d) || !(l > 0) ? null : {
1475
+ x: u,
1476
+ y: d,
1477
+ width: l,
1478
+ height: f - d,
1479
+ rx: Math.min(n, l / 2, (f - d) / 2)
1480
+ };
1481
+ });
1482
+ }
1483
+ let va = _(() => qi.value.map((e, t) => ({
1484
+ value: e,
1485
+ sign: e >= 0 ? 1 : -1
1486
+ })));
1487
+ function ya(e, n, r, a, o) {
1488
+ let s = o === -1 && e >= 0 ? -e : e;
1489
+ return h(R.value.dataLabels.formatter, s, t({
1490
+ p: R.value.dataLabels.prefix,
1491
+ v: s,
1492
+ s: R.value.dataLabels.suffix,
1493
+ r: R.value.dataLabels.rounding
1494
+ }), {
1495
+ datapoint: n,
1496
+ seriesIndex: r,
1497
+ datapointIndex: a
1498
+ });
1499
+ }
1500
+ function ba(e, n, r, a) {
1501
+ return h(R.value.dataLabels.formatter, e, t({
1502
+ v: isNaN(e) ? 0 : e,
1503
+ s: "%",
1504
+ r: R.value.dataLabels.rounding
1505
+ }), {
1506
+ datapoint: n,
1507
+ seriesIndex: r,
1508
+ datapointIndex: a
1509
+ });
1510
+ }
1511
+ function xa(e) {
1512
+ if (H.value) {
1513
+ let t = Sa(e), n = Ar.value[e], r = {
1514
+ datapoint: t,
1515
+ seriesIndex: e + X.value.start,
1516
+ waterfall: n
1517
+ };
1518
+ F.value.events.datapointClick?.(r), j("selectDatapoint", {
1519
+ ...r,
1520
+ period: $i.value[e]
1521
+ });
1522
+ return;
1523
+ }
1524
+ let t = JSON.parse(JSON.stringify($.value)).map((t) => ({
1525
+ name: t.name,
1526
+ value: t.series[e] === 0 ? 0 : t.series[e] || null,
1527
+ proportion: t.proportions[e] || null,
1528
+ color: t.color,
1529
+ id: t.id
1530
+ }));
1531
+ F.value.events.datapointClick && F.value.events.datapointClick({
1532
+ datapoint: t,
1533
+ seriesIndex: e + X.value.start
1534
+ }), j("selectDatapoint", {
1535
+ datapoint: t,
1536
+ period: $i.value[e]
1537
+ });
1538
+ }
1539
+ function Sa(e) {
1540
+ if (H.value) {
1541
+ let t = Ar.value[e];
1542
+ return t ? t.segments.map((e) => ({
1543
+ name: e.name,
1544
+ value: e.value,
1545
+ start: e.start,
1546
+ end: e.end,
1547
+ color: e.color,
1548
+ id: e.key,
1549
+ kind: t.kind,
1550
+ balance: t.balance,
1551
+ change: t.change,
1552
+ stepName: t.name,
1553
+ absoluteIndex: t.index,
1554
+ proportion: Math.abs(e.value) / (t.segments.reduce((e, t) => e + Math.abs(t.value), 0) || 1),
1555
+ timeLabel: { text: t.name }
1556
+ })) : [];
1557
+ }
1558
+ return JSON.parse(JSON.stringify($.value)).map((t) => ({
1559
+ name: t.name,
1560
+ absoluteIndex: t.absoluteIndex,
1561
+ value: t.series[e] === 0 ? 0 : (t.signedSeries[e] === -1 && t.series[e] >= 0 ? -t.series[e] : t.series[e]) || null,
1562
+ proportion: t.proportions[e] || null,
1563
+ color: t.color,
1564
+ id: t.id,
1565
+ timeLabel: ea.value[e]
1566
+ }));
1567
+ }
1568
+ function Ca(e) {
1569
+ if (F.value.events.datapointLeave) {
1570
+ let t = Sa(e);
1571
+ F.value.events.datapointLeave({
1572
+ datapoint: t,
1573
+ seriesIndex: e + X.value.start
1574
+ });
1575
+ }
1576
+ Fn.value = !1, P.value = null, sr.value === e && (sr.value = null);
1577
+ }
1578
+ let wa = _(() => Array(Y.value).fill(0).map((e, t) => Sa(t)));
1579
+ lt(() => A.selectedXIndex, (e) => {
1580
+ if ([null, void 0].includes(A.selectedXIndex)) {
1581
+ P.value = null;
1582
+ return;
1583
+ }
1584
+ let t = e - X.value.start;
1585
+ t < 0 || e >= X.value.end ? P.value = null : P.value = t ?? null;
1586
+ }, { immediate: !0 });
1587
+ function Ta(e) {
1588
+ if (!B.value.showTimeLabel) return null;
1589
+ let t = $i.value?.[e]?.text || null, n = da.value?.[e]?.text || null, r = ea.value?.[e]?.text || null;
1590
+ return H.value ? Ar.value?.[e]?.name || null : B.value.useDefaultTimeFormat ? t : n || r;
1591
+ }
1592
+ function Ea(e, n = "pointer") {
1593
+ if (Wi.value) return;
1594
+ lr.value = n, sr.value = e, P.value = e, Fn.value = !0;
1595
+ let r = B.value.customFormat, o = Sa(e);
1596
+ mo({
1597
+ seriesIndex: e,
1598
+ datapoint: o
1599
+ }), F.value.events.datapointEnter && F.value.events.datapointEnter({
1600
+ datapoint: o,
1601
+ seriesIndex: e + X.value.start
1602
+ }), In.value = {
1603
+ waterfall: H.value ? Ar.value[e] : null,
1604
+ timeLabel: Ta(e),
1605
+ datapoint: o,
1606
+ seriesIndex: e,
1607
+ config: F.value,
1608
+ series: $.value
1609
+ };
1610
+ let s = o.map((e) => Math.abs(e.value)).reduce((e, t) => e + t, 0), c = o.map((e) => m(e.value)).reduce((e, t) => e + t, 0);
1611
+ if (a(r) && le(() => r({
1612
+ seriesIndex: e,
1613
+ datapoint: o,
1614
+ series: $.value,
1615
+ config: F.value
1616
+ }))) Ln.value = r({
1617
+ seriesIndex: e,
1618
+ datapoint: o,
1619
+ series: $.value,
1620
+ config: F.value
1621
+ });
1622
+ else if (H.value) {
1623
+ let n = Ar.value[e];
1624
+ if (!n) return;
1625
+ let r = U.value.tooltip, a = (e) => t({
1626
+ v: e,
1627
+ r: r.rounding
1628
+ }), o = n.segments.map((e) => `
1629
+ <div style="display:flex;justify-content:space-between;gap:16px;align-items:center">
1630
+ <span><span style="display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:2px;background:${e.color}"></span>${Rr(e.label)}</span>
1631
+ <b>${Rr(a(e.value))}</b>
1632
+ </div>`).join(""), s = [
1633
+ r.showStart ? [r.startTranslation, n.start] : null,
1634
+ r.showChange ? [n.isTotal ? n.kind === "subtotal" ? r.subtotalTranslation : r.totalTranslation : r.changeTranslation, n.isTotal ? n.balance : n.change] : null,
1635
+ r.showBalance ? [r.balanceTranslation, n.balance] : null
1636
+ ].filter(Boolean).map(([e, t]) => `
1637
+ <div style="display:flex;justify-content:space-between;gap:16px">
1638
+ <span>${Rr(e)}</span>
1639
+ <b>${Rr(a(t))}</b>
1640
+ </div>`).join("");
1641
+ Ln.value = `<div style="display:flex;flex-direction:column;gap:5px">
1642
+ <div style="font-weight:bold;border-bottom:1px solid ${B.value.borderColor};padding-bottom:5px">${Rr(n.name)}</div>
1643
+ ${o}<div style="border-top:1px solid ${B.value.borderColor};padding-top:5px">${s}</div></div>`;
1644
+ } else {
1645
+ let { showValue: n, showTotal: r, totalTranslation: a, showPercentage: l, borderColor: u, roundingValue: d, roundingPercentage: f } = B.value, p = "", ee = Ta(e);
1646
+ ee && (p += `<div style="width:100%;text-align:center;border-bottom:1px solid ${u};padding-bottom:6px;margin-bottom:3px;">${ee}</div>`), r && (p += `<div class="vue-data-ui-tooltip-total" style="display:flex;flex-direction:row;align-items:center;gap:4px">
1647
+ <span>${a}:</span>
1648
+ <span>
1649
+ ${h(R.value.dataLabels.formatter, c, t({
1650
+ p: R.value.dataLabels.prefix,
1651
+ v: c,
1652
+ s: R.value.dataLabels.suffix,
1653
+ r: d
1654
+ }), { datapoint: {
1655
+ name: a,
1656
+ value: c
1657
+ } })}
1658
+ </span>
1659
+ </div>`);
1660
+ let te = [n && l ? "(" : "", n && l ? ")" : ""];
1661
+ o.reverse().forEach((e) => {
1662
+ p += `
1663
+ <div style="display:flex;flex-direction:row;align-items:center;gap:4px">
1664
+ <svg viewBox="0 0 60 60" height="14" width="14"><rect rx="5" x="0" y="0" height="60" width="60" stroke="none" fill="${R.value.gradient.show ? `url(#gradient_${e.id})` : e.color}"/>${Mn.pattern ? `<rect rx="5" x="0" y="0" height="60" width="60" stroke="none" fill="url(#pattern_${M.value}_${e.absoluteIndex})"/>` : ""}</svg>
1665
+ ${e.name}${n || l ? ":" : ""} ${n ? h(R.value.dataLabels.formatter, e.value, t({
1666
+ p: R.value.dataLabels.prefix,
1667
+ v: e.value,
1668
+ s: R.value.dataLabels.suffix,
1669
+ r: d
1670
+ }, { datapoint: e })) : ""} ${te[0]}${l ? t({
1671
+ v: isNaN(e.value / s) ? 0 : Math.abs(e.value) / s * 100,
1672
+ s: "%",
1673
+ r: f
1674
+ }) : ""}${te[1]}
1675
+ </div>
1676
+ `;
1677
+ }), Ln.value = `<div>${p}</div>`;
1678
+ }
1679
+ }
1680
+ let Da = _(() => ei.value.width), Oa = _(() => ei.value.height);
1681
+ je({
1682
+ timeLabelsEls: F.value.orientation === "vertical" ? er : $n,
1683
+ timeLabels: $i,
1684
+ slicer: X,
1685
+ configRef: F,
1686
+ rotationPath: [
1687
+ "style",
1688
+ "chart",
1689
+ "grid",
1690
+ "x",
1691
+ "timeLabels",
1692
+ "rotation"
1693
+ ],
1694
+ autoRotatePath: [
1695
+ "style",
1696
+ "chart",
1697
+ "grid",
1698
+ "x",
1699
+ "timeLabels",
1700
+ "autoRotate",
1701
+ "enable"
1702
+ ],
1703
+ isAutoSize: !1,
1704
+ width: Da,
1705
+ height: Oa,
1706
+ rotation: z.value.autoRotate.angle
1707
+ });
1708
+ function ka(e) {
1709
+ Un.value = e, Rn.value += 1;
1710
+ }
1711
+ function Aa() {
1712
+ K.value.showTable = !K.value.showTable;
1713
+ }
1714
+ function ja() {
1715
+ K.value.dataLabels.show = !K.value.dataLabels.show;
1716
+ }
1717
+ function Ma() {
1718
+ K.value.showTooltip = !K.value.showTooltip;
1719
+ }
1720
+ function Na() {
1721
+ return $.value;
1722
+ }
1723
+ let Pa = _(() => {
1724
+ if (H.value) {
1725
+ let e = U.value.table, t = Dr.value.filter((e) => !N.value.includes(e.id));
1726
+ return {
1727
+ head: [
1728
+ ...t.map((e) => ({
1729
+ label: e.name,
1730
+ color: e.color
1731
+ })),
1732
+ { label: e.changeTranslation },
1733
+ ...e.showBalance ? [{ label: e.balanceTranslation }] : [],
1734
+ ...e.showKind ? [{ label: e.kindTranslation }] : []
1735
+ ],
1736
+ body: Ar.value.map((n) => [
1737
+ n.name,
1738
+ ...t.map((e) => n.segments.filter((t) => t.key === e.datasetKey).reduce((e, t) => e + t.value, 0)),
1739
+ n.change,
1740
+ ...e.showBalance ? [n.balance] : [],
1741
+ ...e.showKind ? [n.kind] : []
1742
+ ])
1743
+ };
1744
+ }
1745
+ if ($.value.length === 0) return {
1746
+ head: [],
1747
+ body: [],
1748
+ config: {},
1749
+ columnNames: []
1750
+ };
1751
+ let e = $.value.map(({ name: e, color: t }) => ({
1752
+ label: e,
1753
+ color: t
1754
+ })), t = [];
1755
+ return $i.value.forEach((e) => {
1756
+ let n = [z.value.values[e.absoluteIndex] ? e.text : i + 1];
1757
+ J.value.forEach((t) => {
1758
+ n.push(Number((t.series[e.absoluteIndex] || 0).toFixed(F.value.table.td.roundingValue)));
1759
+ }), t.push(n);
1760
+ }), {
1761
+ head: e,
1762
+ body: t
1763
+ };
1764
+ });
1765
+ function Fa(e = null) {
1766
+ let t = [
1767
+ [V.value.title.text],
1768
+ [V.value.title.subtitle.text],
1769
+ [""]
1770
+ ], n = ["", ...Pa.value.head.map((e) => e.label)], a = Pa.value.body, o = t.concat([n]).concat(a), s = r(o);
1771
+ e ? e(s) : se({
1772
+ csvContent: s,
1773
+ title: V.value.title.text || "vue-ui-stackbar"
1774
+ });
1775
+ }
1776
+ let Ia = _(() => {
1777
+ if (H.value) {
1778
+ let e = Pa.value, t = F.value.table;
1779
+ return {
1780
+ head: [""].concat(e.head.map((e) => e.label)),
1781
+ colNames: [t.columnNames.period].concat(e.head.map((e) => e.label)),
1782
+ body: e.body.map((e) => e.map((e, n) => typeof e == "number" ? e.toFixed(t.td.roundingValue) : e)),
1783
+ config: {
1784
+ th: {
1785
+ backgroundColor: t.th.backgroundColor,
1786
+ color: t.th.color,
1787
+ outline: t.th.outline
1788
+ },
1789
+ td: {
1790
+ backgroundColor: t.td.backgroundColor,
1791
+ color: t.td.color,
1792
+ outline: t.td.outline
1793
+ },
1794
+ breakpoint: t.responsiveBreakpoint
1795
+ }
1796
+ };
1797
+ }
1798
+ let e = [""].concat($.value.map((e) => e.name), "__SUM__"), t = [], n = X.value.end - X.value.start;
1799
+ for (let e = 0; e < n; e += 1) {
1800
+ let n = X.value.start + e, r = $.value.map((t) => t.series[e] ?? 0).reduce((e, t) => e + t, 0);
1801
+ t.push([z.value.values[n] && $i.value[e]?.text || n + 1].concat($.value.map((t) => (t.series[e] ?? 0).toFixed(F.value.table.td.roundingValue)), (r ?? 0).toFixed(F.value.table.td.roundingValue)));
1802
+ }
1803
+ let r = {
1804
+ th: {
1805
+ backgroundColor: F.value.table.th.backgroundColor,
1806
+ color: F.value.table.th.color,
1807
+ outline: F.value.table.th.outline
1808
+ },
1809
+ td: {
1810
+ backgroundColor: F.value.table.td.backgroundColor,
1811
+ color: F.value.table.td.color,
1812
+ outline: F.value.table.td.outline
1813
+ },
1814
+ breakpoint: F.value.table.responsiveBreakpoint
1815
+ }, a = [F.value.table.columnNames.period].concat($.value.map((e) => e.name), F.value.table.columnNames.total);
1816
+ return {
1817
+ head: e,
1818
+ body: t.slice(0, X.value.end - X.value.start),
1819
+ config: r,
1820
+ colNames: a
1821
+ };
1822
+ });
1823
+ function La() {
1824
+ N.value.length ? N.value = [] : Ha.value.forEach((e) => {
1825
+ N.value.push(e.id);
1826
+ }), j("selectLegend", $.value);
1827
+ }
1828
+ function Ra(e) {
1829
+ if (N.value.includes(e.id)) N.value = N.value.filter((t) => t !== e.id);
1830
+ else {
1831
+ if (N.value.length === J.value.length - 1) return;
1832
+ N.value.push(e.id);
1833
+ }
1834
+ j("selectLegend", $.value);
1835
+ }
1836
+ function za(e) {
1837
+ return J.value.length ? J.value.find((t) => t.name === e) || (ai.value && console.warn(`VueUiStackbar - Series name not found "${e}"`), null) : (ai.value && console.warn("VueUiStackbar - There are no series to show."), null);
1838
+ }
1839
+ function Ba(e) {
1840
+ let t = za(e);
1841
+ t !== null && N.value.includes(t.id) && Ra({ id: t.id });
1842
+ }
1843
+ function Va(e) {
1844
+ let t = za(e);
1845
+ t !== null && (N.value.includes(t.id) || Ra({ id: t.id }));
1846
+ }
1847
+ let Ha = _(() => J.value.map((e, t) => ({
1848
+ ...e,
1849
+ shape: "square"
1850
+ })).map((e) => ({
1851
+ ...e,
1852
+ opacity: N.value.includes(e.id) ? .5 : 1,
1853
+ segregate: () => Ra(e),
1854
+ isSegregated: N.value.includes(e.id)
1855
+ }))), Ua = _(() => ({
1856
+ cy: "stackbar-legend",
1857
+ backgroundColor: V.value.legend.backgroundColor,
1858
+ color: V.value.legend.color,
1859
+ fontSize: V.value.legend.fontSize,
1860
+ paddingBottom: 12,
1861
+ fontWeight: V.value.legend.bold ? "bold" : ""
1862
+ })), Wa = w(!1);
1863
+ function Ga() {
1864
+ Wa.value = !Wa.value;
1865
+ }
1866
+ function Ka(e, t) {
1867
+ if (H.value) {
1868
+ let n = Ar.value[t];
1869
+ j("selectTimeLabel", {
1870
+ datapoint: Sa(t),
1871
+ absoluteIndex: n?.index ?? e.absoluteIndex,
1872
+ label: n?.name ?? e.text,
1873
+ waterfall: n
1874
+ });
1875
+ return;
1876
+ }
1877
+ let n = JSON.parse(JSON.stringify($.value)).map((e) => ({
1878
+ name: e.name,
1879
+ value: e.series[t] === 0 ? 0 : (e.signedSeries[t] === -1 && e.series[t] >= 0 ? -e.series[t] : e.series[t]) || null,
1880
+ proportion: e.proportions[t] || null,
1881
+ color: e.color,
1882
+ id: e.id
1883
+ }));
1884
+ j("selectTimeLabel", {
1885
+ datapoint: n,
1886
+ absoluteIndex: e.absoluteIndex,
1887
+ label: e.text
1888
+ });
1889
+ }
1890
+ let qa = _(() => Math.max(...$.value.flatMap((e) => e.series)));
1891
+ function Ja(e, t) {
1892
+ return R.value.showDistributedPercentage && R.value.distributed ? qr.value ? t * 100 >= R.value.dataLabels.hideUnderPercentage : !R.value.dataLabels.hideEmptyPercentages || t > 0 : qr.value ? (Kr.value && ai.value && console.warn("Vue Data UI - VueUiStackbar - You cannot set both dataLabels.hideUnderPercentage and dataLabels.hideUnderValue. Note that dataLabels.hideUnderPercentage takes precedence in this case."), e > qa.value * R.value.dataLabels.hideUnderPercentage / 100) : Kr.value ? Math.abs(e) >= R.value.dataLabels.hideUnderValue : !R.value.dataLabels.hideEmptyValues || e !== 0;
1893
+ }
1894
+ async function Ya({ scale: e = 2 } = {}) {
1895
+ if (!Pn.value) return;
1896
+ let { imageUri: t, base64: n } = await Me({
1897
+ domElement: Pn.value,
1898
+ base64: !0,
1899
+ img: !0,
1900
+ scale: e
1901
+ }), r = Pn.value.getBoundingClientRect(), a = {
1902
+ width: r.width,
1903
+ height: r.height,
1904
+ aspectRatio: r.height ? r.width / r.height : 0
1905
+ }, o = await ee(t, e) ?? a;
1906
+ return {
1907
+ imageUri: t,
1908
+ base64: n,
1909
+ title: V.value.title.text,
1910
+ ...o
1911
+ };
1912
+ }
1913
+ let Xa = _(() => {
1914
+ let e = F.value.table.useDialog && !F.value.table.show, t = K.value.showTable;
1915
+ return {
1916
+ component: e ? On : Cn,
1917
+ title: `${V.value.title.text}${V.value.title.subtitle.text ? `: ${V.value.title.subtitle.text}` : ""}`,
1918
+ props: e ? {
1919
+ backgroundColor: F.value.table.th.backgroundColor,
1920
+ color: F.value.table.th.color,
1921
+ headerColor: F.value.table.th.color,
1922
+ headerBg: F.value.table.th.backgroundColor,
1923
+ isFullscreen: Un.value,
1924
+ fullscreenParent: Pn.value,
1925
+ forcedWidth: Math.min(800, window.innerWidth * .8),
1926
+ isCursorPointer: gr.value
1927
+ } : {
1928
+ hideDetails: !0,
1929
+ config: {
1930
+ open: t,
1931
+ maxHeight: 1e4,
1932
+ body: {
1933
+ backgroundColor: V.value.backgroundColor,
1934
+ color: V.value.color
1935
+ },
1936
+ head: {
1937
+ backgroundColor: V.value.backgroundColor,
1938
+ color: V.value.color
1939
+ }
1940
+ }
1941
+ }
1942
+ };
1943
+ });
1944
+ lt(() => K.value.showTable, (e) => {
1945
+ F.value.table.show || (e && F.value.table.useDialog && Yn.value ? Yn.value.open() : "close" in Yn.value && Yn.value.close());
1946
+ });
1947
+ function Za() {
1948
+ K.value.showTable = !1, Xn.value && Xn.value.setTableIconState(!1);
1949
+ }
1950
+ let Qa = _(() => V.value.backgroundColor), $a = _(() => V.value.legend), eo = _(() => V.value.title), { isCallbackImaging: to, isCallbackSvg: no, generateSvg: ro, onGenerateImage: io } = Oe({
1951
+ svg: Hr,
1952
+ title: eo,
1953
+ legend: $a,
1954
+ legendItems: Ha,
1955
+ backgroundColor: Qa,
1956
+ getSvgCallback: () => F.value.userOptions.callbacks.svg,
1957
+ generateImage: $r
1958
+ });
1959
+ function ao(e, t = X.value.start) {
1960
+ let n = Y.value, r = Number(t);
1961
+ return e > n ? n : e < 0 || e <= r ? Math.min(r + 1, n) : e;
1962
+ }
1963
+ let oo = w(!1), so = w(!1);
1964
+ function co(e = !0) {
1965
+ if (!oo.value) {
1966
+ oo.value = !0;
1967
+ try {
1968
+ let { startIndex: t, endIndex: n, keepState: r } = V.value.zoom, a = r ? Math.max(0, Y.value) : Y.value;
1969
+ if (r && a <= 0) return;
1970
+ let o = t ?? 0, s = n == null ? a : Math.min(ao(n + 1, o), a);
1971
+ lo.value = !0, X.value.start = o, X.value.end = s, Z.value.start = o, Z.value.end = s, zi(), so.value = !0, e && A.zoomState && Li(A.zoomState);
1972
+ } finally {
1973
+ queueMicrotask(() => {
1974
+ lo.value = !1;
1975
+ }), oo.value = !1;
1976
+ }
1977
+ }
1978
+ }
1979
+ let lo = w(!1);
1980
+ lt([() => A.zoomState, so], ([e, t]) => {
1981
+ t && e && Li(e);
1982
+ }, {
1983
+ deep: !0,
1984
+ immediate: !0
1985
+ });
1986
+ function uo(e) {
1987
+ ji = {
1988
+ ...ji,
1989
+ ...e
1990
+ }, Ai && cancelAnimationFrame(Ai), Ai = requestAnimationFrame(() => {
1991
+ let e = {
1992
+ ...X.value,
1993
+ ...ji
1994
+ };
1995
+ ji = {}, Ai = null, X.value = e, Z.value = { ...e }, zi(), Fi({
1996
+ start: Number(X.value.start),
1997
+ end: Number(X.value.end)
1998
+ });
1999
+ });
2000
+ }
2001
+ function fo(e) {
2002
+ if (oo.value || lo.value) return;
2003
+ let t = Number(e);
2004
+ Number.isFinite(t) && (j("zoomStart", {
2005
+ index: t,
2006
+ isZoom: t !== 0
2007
+ }), t !== X.value.start && uo({ start: t }));
2008
+ }
2009
+ function po(e) {
2010
+ if (oo.value || lo.value) return;
2011
+ let t = ji.start === void 0 ? X.value.start : ji.start, n = ao(Number(e), t);
2012
+ Number.isFinite(n) && (j("zoomEnd", {
2013
+ index: n,
2014
+ isZoom: n !== Y.value
2015
+ }), (n !== X.value.end || ji.start !== void 0) && uo({ end: n }));
2016
+ }
2017
+ function mo({ seriesIndex: e, datapoint: t }) {
2018
+ let n = X.value.start + e;
2019
+ j("selectX", {
2020
+ dataset: t,
2021
+ index: n,
2022
+ indexLabel: H.value ? G.value[n]?.name : z.value.values[n]
2023
+ });
2024
+ }
2025
+ function ho() {
2026
+ return { y0: Zi.value?.[0]?.zero ?? q.value.bottom };
2027
+ }
2028
+ function go(e) {
2029
+ let { y0: t } = ho(), n = R.value.totalValues, r = Math.max(2, n.fontSize * .3 + n.offsetY), a = Infinity, o = !1;
2030
+ for (let t of $.value || []) {
2031
+ let n = t?.series?.[e] ?? 0, r = t?.height?.[e] ?? 0, s = t?.y?.[e];
2032
+ n > 0 && r > 0 && Number.isFinite(s) && (o = !0, s < a && (a = s));
2033
+ }
2034
+ let s = (o && Number.isFinite(a) ? a : t) - r;
2035
+ return Math.min(Math.max(s, 0), q.value.bottom);
2036
+ }
2037
+ function _o(e) {
2038
+ let { x0: t } = ho(), n = Math.max(2, R.value.totalValues.fontSize * .3 + R.value.totalValues.offsetX), r = -Infinity, a = !1;
2039
+ for (let t of $.value || []) {
2040
+ let n = t?.series?.[e] ?? 0, o = t?.horizontal_x?.[e], s = t?.horizontal_width?.[e], c = Number.isFinite(s) ? Math.max(0, s) : 0;
2041
+ Number.isFinite(o) && n > 0 && c > 0 && (a = !0, r = Math.max(r, o + c));
2042
+ }
2043
+ return (a && Number.isFinite(r) ? r : t) + n;
2044
+ }
2045
+ async function vo() {
2046
+ if (j("copyAlt", {
2047
+ config: F.value,
2048
+ dataset: $.value
2049
+ }), !F.value.userOptions.callbacks.altCopy) {
2050
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
2051
+ return;
2052
+ }
2053
+ await Promise.resolve(F.value.userOptions.callbacks.altCopy({
2054
+ config: F.value,
2055
+ dataset: $.value
2056
+ }));
2057
+ }
2058
+ let yo = w(!1);
2059
+ function bo() {
2060
+ sr.value = null, yo.value = !0;
2061
+ }
2062
+ function xo() {
2063
+ Si.value = !1, sr.value = null, Fn.value = !1, P.value = null, j("selectX", {
2064
+ index: null,
2065
+ indexLabel: null,
2066
+ dataset: null
2067
+ }), yo.value = !1;
2068
+ }
2069
+ function So(e) {
2070
+ let t = Hr.value;
2071
+ if (!t) return null;
2072
+ if (t.createSVGPoint && t.getScreenCTM) {
2073
+ let n = t.createSVGPoint();
2074
+ n.x = e.clientX, n.y = e.clientY;
2075
+ let r = t.getScreenCTM();
2076
+ if (r) {
2077
+ let e = n.matrixTransform(r.inverse());
2078
+ return {
2079
+ x: e.x,
2080
+ y: e.y
2081
+ };
2082
+ }
2083
+ }
2084
+ let n = t.getBoundingClientRect(), r = t.viewBox?.baseVal || {
2085
+ x: 0,
2086
+ y: 0,
2087
+ width: n.width,
2088
+ height: n.height
2089
+ }, a = Math.min(n.width / r.width, n.height / r.height);
2090
+ if (!Number.isFinite(a) || a <= 0) return null;
2091
+ let o = r.width * a, s = r.height * a, c = (n.width - o) / 2, l = (n.height - s) / 2;
2092
+ return {
2093
+ x: (e.clientX - n.left - c) / a + r.x,
2094
+ y: (e.clientY - n.top - l) / a + r.y
2095
+ };
2096
+ }
2097
+ let Co = _(() => F.value.orientation === "horizontal"), wo = _(() => {
2098
+ if (!xi.value || Ci.value == null || wi.value == null) return null;
2099
+ let e = Math.min(Ci.value, wi.value), t = Math.abs(wi.value - Ci.value);
2100
+ return Co.value ? {
2101
+ x: q.value.left,
2102
+ y: e,
2103
+ width: q.value.width,
2104
+ height: t
2105
+ } : {
2106
+ x: e,
2107
+ y: q.value.top,
2108
+ width: t,
2109
+ height: q.value.height
2110
+ };
2111
+ }), To = _(() => so.value ? Number(X.value.start) !== 0 || Number(X.value.end) !== Number(Y.value) : !1);
2112
+ function Eo() {
2113
+ return Co.value ? q.value.top : q.value.left;
2114
+ }
2115
+ function Do() {
2116
+ return Co.value ? q.value.bottom : q.value.right;
2117
+ }
2118
+ function Oo() {
2119
+ return Co.value ? q.value.height : q.value.width;
2120
+ }
2121
+ function ko(e) {
2122
+ return Co.value ? e.y : e.x;
2123
+ }
2124
+ function Ao(e) {
2125
+ return Math.min(Math.max(e, Eo()), Do());
2126
+ }
2127
+ function jo() {
2128
+ P.value = null, mr.value = null, sr.value = null, lr.value = "pointer", Fn.value = !1;
2129
+ }
2130
+ function Mo(e) {
2131
+ let t = e?.pointerId == null ? Ti.value : e.pointerId;
2132
+ t != null && Hr.value?.hasPointerCapture?.(t) && Hr.value.releasePointerCapture(t), xi.value = !1, Ci.value = null, wi.value = null, Ti.value = null;
2133
+ }
2134
+ function No() {
2135
+ Ei.value = !0, setTimeout(() => {
2136
+ Ei.value = !1;
2137
+ }, 0);
2138
+ }
2139
+ function Po(e) {
2140
+ Ei.value && (Ei.value = !1, e.preventDefault(), e.stopPropagation());
2141
+ }
2142
+ function Fo(e) {
2143
+ if (!ki.value || !To.value || !e) return !1;
2144
+ let t = Date.now(), n = e.pointerType || "mouse", r = Di.value, a = n === "touch" ? 450 : 350, o = n === "touch" ? 28 : 10, s = Math.hypot(e.clientX - r.x, e.clientY - r.y);
2145
+ return r.time > 0 && r.pointerType === n && t - r.time <= a && s <= o ? (Di.value = {
2146
+ time: 0,
2147
+ x: 0,
2148
+ y: 0,
2149
+ pointerType: null
2150
+ }, No(), Mo(e), Hi({
2151
+ force: !0,
2152
+ publish: !0
2153
+ }), !0) : (Di.value = {
2154
+ time: t,
2155
+ x: e.clientX,
2156
+ y: e.clientY,
2157
+ pointerType: n
2158
+ }, !1);
2159
+ }
2160
+ function Io(e) {
2161
+ let t = Math.max(0, Number(X.value.end) - Number(X.value.start));
2162
+ if (t <= 0 || Q.value <= 0) return null;
2163
+ let n = Math.floor((Ao(e) - Eo()) / Q.value);
2164
+ return Math.max(0, Math.min(t - 1, n));
2165
+ }
2166
+ function Lo(e, t) {
2167
+ let n = Io(e), r = Io(t);
2168
+ if (n == null || r == null) return null;
2169
+ let a = Math.min(n, r), o = Math.max(n, r);
2170
+ return o <= a ? null : {
2171
+ start: Number(X.value.start) + a,
2172
+ end: Number(X.value.start) + o + 1
2173
+ };
2174
+ }
2175
+ function Ro(e) {
2176
+ let t = Ri(e);
2177
+ return t ? (j("zoomStart", {
2178
+ index: t.start,
2179
+ isZoom: t.start !== 0
2180
+ }), j("zoomEnd", {
2181
+ index: t.end,
2182
+ isZoom: t.end !== Y.value
2183
+ }), t) : null;
2184
+ }
2185
+ function zo(e) {
2186
+ if (!ki.value || Wa.value || e.button !== void 0 && e.button !== 0 || Ti.value != null && e.pointerId !== Ti.value) return;
2187
+ let t = So(e);
2188
+ if (!t) return;
2189
+ let { left: n, right: r, top: a, bottom: o } = q.value;
2190
+ if (t.x < n || t.x > r || t.y < a || t.y > o || Number(X.value.end) - Number(X.value.start) <= 1) return;
2191
+ Si.value = !0, Hr.value?.focus?.({ preventScroll: !0 }), jo();
2192
+ let s = Ao(ko(t));
2193
+ Ti.value = e.pointerId, xi.value = !0, Ci.value = s, wi.value = s;
2194
+ }
2195
+ function Bo(e) {
2196
+ if (!ki.value || !xi.value || Ti.value != null && e.pointerId !== Ti.value) return;
2197
+ let t = So(e);
2198
+ t && (wi.value = Ao(ko(t)), Ci.value != null && Math.abs(wi.value - Ci.value) >= 2 && !Hr.value?.hasPointerCapture?.(e.pointerId) && Hr.value?.setPointerCapture?.(e.pointerId));
2199
+ }
2200
+ function Vo(e) {
2201
+ if (!ki.value || !xi.value || Ti.value != null && e.pointerId !== Ti.value) return;
2202
+ let t = So(e);
2203
+ t && (wi.value = Ao(ko(t)));
2204
+ let n = Ci.value, r = wi.value;
2205
+ if ((n == null || r == null ? 0 : Math.abs(r - n)) < Math.max(4, Oo() * .01)) {
2206
+ if (Fo(e)) return;
2207
+ Mo(e);
2208
+ return;
2209
+ }
2210
+ let a = Lo(n, r);
2211
+ if (!a) {
2212
+ Mo(e);
2213
+ return;
2214
+ }
2215
+ Mo(e), Ro(a) && (Di.value = {
2216
+ time: 0,
2217
+ x: 0,
2218
+ y: 0,
2219
+ pointerType: null
2220
+ }, jo(), No());
2221
+ }
2222
+ function Ho(e) {
2223
+ if (!Hr.value || Wa.value || document.activeElement !== Hr.value || (Si.value = !1, Wi.value) || !X.value.end && X.value.end !== 0) return;
2224
+ let t = F.value.orientation === "vertical", n = F.value.orientation === "horizontal", r = t && e.key === "ArrowLeft" || n && e.key === "ArrowUp", a = t && e.key === "ArrowRight" || n && e.key === "ArrowDown", o = e.key === "Enter" || e.key === " ", s = e.key === "Escape";
2225
+ if (!r && !a && !o && !s) return;
2226
+ let c = X.value.end - X.value.start;
2227
+ if (c <= 0) return;
2228
+ if (e.preventDefault(), e.stopPropagation(), s) {
2229
+ if (ki.value && (To.value || xi.value)) {
2230
+ Mo(), Hi({
2231
+ force: !0,
2232
+ publish: !0
2233
+ });
2234
+ return;
2235
+ }
2236
+ sr.value = null, Fn.value = !1, P.value = null, j("selectX", {
2237
+ index: null,
2238
+ indexLabel: null,
2239
+ dataset: null
2240
+ });
2241
+ return;
2242
+ }
2243
+ if (o) {
2244
+ if (sr.value === null) return;
2245
+ xa(sr.value);
2246
+ return;
2247
+ }
2248
+ let l = sr.value, u = P.value;
2249
+ l !== null && l >= 0 && l < c ? a ? (l += 1, l >= c && (l = 0)) : r && (--l, l < 0 && (l = c - 1)) : u !== null && u >= 0 && u < c ? (l = a ? u + 1 : u - 1, l >= c && (l = 0), l < 0 && (l = c - 1)) : l = a ? 0 : c - 1, sr.value = l, Uo(l), Ea(l, "keyboard");
2250
+ }
2251
+ function Uo(e) {
2252
+ if (!Number.isFinite(e)) return;
2253
+ let t, r;
2254
+ F.value.orientation === "vertical" ? (t = q.value.left + e * Q.value + Q.value / 2, r = q.value.top + q.value.height / 2) : (t = q.value.left + q.value.width / 2, r = q.value.top + e * Q.value + Q.value / 2);
2255
+ let a = n(t, r, Hr.value);
2256
+ a && (cr.value = a);
2257
+ }
2258
+ let Wo = _(() => ({
2259
+ headers: Ia.value?.colNames ?? [],
2260
+ rows: Ia.value?.body ?? []
2261
+ }));
2262
+ return Fe({
2263
+ getData: Na,
2264
+ getImage: Ya,
2265
+ getWaterfallSteps: () => G.value,
2266
+ generatePdf: Qr,
2267
+ generateCsv: Fa,
2268
+ generateImage: $r,
2269
+ generateSvg: ro,
2270
+ hideSeries: Va,
2271
+ showSeries: Ba,
2272
+ toggleTable: Aa,
2273
+ toggleLabels: ja,
2274
+ toggleTooltip: Ma,
2275
+ toggleAnnotator: Ga,
2276
+ toggleFullscreen: ka,
2277
+ copyAlt: vo,
2278
+ resetZoom: () => Hi({
2279
+ force: !0,
2280
+ publish: !0
2281
+ }),
2282
+ setZoomState: Ri
2283
+ }), (n, r) => (C(), y("div", {
2284
+ id: `stackbar_${M.value}`,
2285
+ ref_key: "stackbarChart",
2286
+ ref: Pn,
2287
+ class: x({
2288
+ "vue-data-ui-component": !0,
2289
+ "vue-ui-stackbar": !0,
2290
+ "vue-data-ui-wrapper-fullscreen": Un.value
2291
+ }),
2292
+ style: tt(`background:${V.value.backgroundColor};color:${V.value.color};font-family:${F.value.style.fontFamily}; position: relative; ${F.value.responsive ? "height: 100%" : ""}`),
2293
+ onMouseenter: Ur,
2294
+ onMouseleave: Wr
2295
+ }, [
2296
+ Je("div", {
2297
+ id: `chart-instructions-${M.value}`,
2298
+ class: "sr-only"
2299
+ }, [Je("p", null, D(F.value.a11y.translations.keyboardNavigation), 1)], 8, mt),
2300
+ Wo.value?.rows?.length ? (C(), qe(Ve, {
2301
+ key: 0,
2302
+ uid: M.value,
2303
+ head: Wo.value.headers,
2304
+ body: Wo.value.rows,
2305
+ notice: F.value.a11y.translations.tableAvailable,
2306
+ caption: F.value.a11y.translations.tableCaption
2307
+ }, null, 8, [
2308
+ "uid",
2309
+ "head",
2310
+ "body",
2311
+ "notice",
2312
+ "caption"
2313
+ ])) : v("", !0),
2314
+ I.value.buttons.annotator ? (C(), qe(O(Tn), {
2315
+ key: 1,
2316
+ svgRef: O(Hr),
2317
+ backgroundColor: V.value.backgroundColor,
2318
+ color: V.value.color,
2319
+ active: Wa.value,
2320
+ isCursorPointer: gr.value,
2321
+ palette: I.value.annotatorPalette,
2322
+ onClose: Ga
2323
+ }, {
2324
+ "annotator-action-close": k(() => [E(n.$slots, "annotator-action-close", {}, void 0, !0)]),
2325
+ "annotator-action-color": k(({ color: e }) => [E(n.$slots, "annotator-action-color", S(b({ color: e })), void 0, !0)]),
2326
+ "annotator-action-draw": k(({ mode: e }) => [E(n.$slots, "annotator-action-draw", S(b({ mode: e })), void 0, !0)]),
2327
+ "annotator-action-undo": k(({ disabled: e }) => [E(n.$slots, "annotator-action-undo", S(b({ disabled: e })), void 0, !0)]),
2328
+ "annotator-action-redo": k(({ disabled: e }) => [E(n.$slots, "annotator-action-redo", S(b({ disabled: e })), void 0, !0)]),
2329
+ "annotator-action-delete": k(({ disabled: e }) => [E(n.$slots, "annotator-action-delete", S(b({ disabled: e })), void 0, !0)]),
2330
+ _: 3
2331
+ }, 8, [
2332
+ "svgRef",
2333
+ "backgroundColor",
2334
+ "color",
2335
+ "active",
2336
+ "isCursorPointer",
2337
+ "palette"
2338
+ ])) : v("", !0),
2339
+ E(n.$slots, "userConfig", {}, void 0, !0),
2340
+ V.value.title.text ? (C(), y("div", {
2341
+ key: 2,
2342
+ ref_key: "chartTitle",
2343
+ ref: zn,
2344
+ style: "width:100%;background:transparent;padding-bottom:24px"
2345
+ }, [(C(), qe(Ne, {
2346
+ key: `title_${Gn.value}`,
2347
+ config: {
2348
+ title: {
2349
+ cy: "stackbar-title",
2350
+ ...V.value.title
2351
+ },
2352
+ subtitle: {
2353
+ cy: "stackbar-subtitle",
2354
+ ...V.value.title.subtitle
2355
+ }
2356
+ }
2357
+ }, null, 8, ["config"]))], 512)) : v("", !0),
2358
+ Je("div", { id: `legend-top-${M.value}` }, null, 8, ht),
2359
+ I.value.show && Nn.value && (O(Vr) || O(zr)) ? (C(), qe(O(En), {
2360
+ ref_key: "userOptionsRef",
2361
+ ref: Xn,
2362
+ key: `user_option_${Rn.value}`,
2363
+ backgroundColor: V.value.backgroundColor,
2364
+ color: V.value.color,
2365
+ isPrinting: O(Xr),
2366
+ isImaging: O(Zr),
2367
+ uid: M.value,
2368
+ hasTooltip: B.value.show && I.value.buttons.tooltip,
2369
+ hasPdf: I.value.buttons.pdf,
2370
+ hasImg: I.value.buttons.img,
2371
+ hasSvg: I.value.buttons.svg,
2372
+ hasXls: I.value.buttons.csv,
2373
+ hasTable: I.value.buttons.table,
2374
+ hasLabel: I.value.buttons.labels,
2375
+ hasFullscreen: I.value.buttons.fullscreen,
2376
+ hasAltCopy: I.value.buttons.altCopy,
2377
+ isFullscreen: Un.value,
2378
+ chartElement: Pn.value,
2379
+ position: I.value.position,
2380
+ isTooltip: K.value.showTooltip,
2381
+ titles: { ...I.value.buttonTitles },
2382
+ hasAnnotator: I.value.buttons.annotator,
2383
+ isAnnotation: Wa.value,
2384
+ callbacks: I.value.callbacks,
2385
+ printScale: I.value.print.scale,
2386
+ tableDialog: F.value.table.useDialog,
2387
+ isCursorPointer: gr.value,
2388
+ onToggleFullscreen: ka,
2389
+ onGeneratePdf: O(Qr),
2390
+ onGenerateCsv: Fa,
2391
+ onGenerateImage: O(io),
2392
+ onGenerateSvg: O(ro),
2393
+ onToggleTable: Aa,
2394
+ onToggleLabels: ja,
2395
+ onToggleTooltip: Ma,
2396
+ onToggleAnnotator: Ga,
2397
+ onCopyAlt: vo,
2398
+ style: tt({ visibility: O(Vr) ? O(zr) ? "visible" : "hidden" : "visible" })
2399
+ }, Ye({ _: 2 }, [
2400
+ n.$slots.menuIcon ? {
2401
+ name: "menuIcon",
2402
+ fn: k(({ isOpen: e, color: t }) => [E(n.$slots, "menuIcon", S(b({
2403
+ isOpen: e,
2404
+ color: t
2405
+ })), void 0, !0)]),
2406
+ key: "0"
2407
+ } : void 0,
2408
+ n.$slots.optionTooltip ? {
2409
+ name: "optionTooltip",
2410
+ fn: k(() => [E(n.$slots, "optionTooltip", {}, void 0, !0)]),
2411
+ key: "1"
2412
+ } : void 0,
2413
+ n.$slots.optionPdf ? {
2414
+ name: "optionPdf",
2415
+ fn: k(() => [E(n.$slots, "optionPdf", {}, void 0, !0)]),
2416
+ key: "2"
2417
+ } : void 0,
2418
+ n.$slots.optionCsv ? {
2419
+ name: "optionCsv",
2420
+ fn: k(() => [E(n.$slots, "optionCsv", {}, void 0, !0)]),
2421
+ key: "3"
2422
+ } : void 0,
2423
+ n.$slots.optionImg ? {
2424
+ name: "optionImg",
2425
+ fn: k(() => [E(n.$slots, "optionImg", {}, void 0, !0)]),
2426
+ key: "4"
2427
+ } : void 0,
2428
+ n.$slots.optionSvg ? {
2429
+ name: "optionSvg",
2430
+ fn: k(() => [E(n.$slots, "optionSvg", {}, void 0, !0)]),
2431
+ key: "5"
2432
+ } : void 0,
2433
+ n.$slots.optionTable ? {
2434
+ name: "optionTable",
2435
+ fn: k(() => [E(n.$slots, "optionTable", {}, void 0, !0)]),
2436
+ key: "6"
2437
+ } : void 0,
2438
+ n.$slots.optionLabels ? {
2439
+ name: "optionLabels",
2440
+ fn: k(() => [E(n.$slots, "optionLabels", {}, void 0, !0)]),
2441
+ key: "7"
2442
+ } : void 0,
2443
+ n.$slots.optionFullscreen ? {
2444
+ name: "optionFullscreen",
2445
+ fn: k(({ toggleFullscreen: e, isFullscreen: t }) => [E(n.$slots, "optionFullscreen", S(b({
2446
+ toggleFullscreen: e,
2447
+ isFullscreen: t
2448
+ })), void 0, !0)]),
2449
+ key: "8"
2450
+ } : void 0,
2451
+ n.$slots.optionAnnotator ? {
2452
+ name: "optionAnnotator",
2453
+ fn: k(({ toggleAnnotator: e, isAnnotator: t }) => [E(n.$slots, "optionAnnotator", S(b({
2454
+ toggleAnnotator: e,
2455
+ isAnnotator: t
2456
+ })), void 0, !0)]),
2457
+ key: "9"
2458
+ } : void 0,
2459
+ n.$slots.optionAltCopy ? {
2460
+ name: "optionAltCopy",
2461
+ fn: k(({ altCopy: e }) => [E(n.$slots, "optionAltCopy", S(b({ altCopy: e })), void 0, !0)]),
2462
+ key: "10"
2463
+ } : void 0,
2464
+ n.$slots["custom-menu-before"] ? {
2465
+ name: "custom-menu-before",
2466
+ fn: k(() => [E(n.$slots, "custom-menu-before", {}, void 0, !0)]),
2467
+ key: "11"
2468
+ } : void 0,
2469
+ n.$slots["custom-menu-after"] ? {
2470
+ name: "custom-menu-after",
2471
+ fn: k(() => [E(n.$slots, "custom-menu-after", {}, void 0, !0)]),
2472
+ key: "12"
2473
+ } : void 0
2474
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.isTooltip.titles.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : v("", !0),
2475
+ Je("div", gt, [(C(), y("svg", {
2476
+ ref_key: "svgRef",
2477
+ ref: Hr,
2478
+ xmlns: O(de),
2479
+ "aria-describedby": `chart-instructions-${M.value}`,
2480
+ viewBox: `0 0 ${q.value.chartWidth <= 0 ? 10 : q.value.chartWidth} ${q.value.chartHeight <= 0 ? 10 : q.value.chartHeight}`,
2481
+ class: x({
2482
+ "vue-data-ui-loading": O(vr),
2483
+ "vue-data-ui-fullscreen--on": Un.value,
2484
+ "vue-data-ui-fulscreen--off": !Un.value,
2485
+ "vue-data-ui-no-transition": !O(hr),
2486
+ "vue-ui-stackbar-chart-zoom-pointer-focus": ki.value && Si.value
2487
+ }),
2488
+ style: tt({
2489
+ maxWidth: "100%",
2490
+ overflow: "visible",
2491
+ background: "transparent",
2492
+ color: V.value.color,
2493
+ cursor: ki.value ? xi.value ? Co.value ? "row-resize" : "col-resize" : "crosshair" : void 0,
2494
+ touchAction: ki.value ? Co.value ? "pan-x" : "pan-y" : void 0,
2495
+ userSelect: ki.value ? "none" : void 0
2496
+ }),
2497
+ tabindex: "0",
2498
+ onFocus: bo,
2499
+ onBlur: xo,
2500
+ onKeydown: Ho,
2501
+ onPointerdown: zo,
2502
+ onPointermove: Bo,
2503
+ onPointerup: Vo,
2504
+ onPointercancel: Mo,
2505
+ onClickCapture: Po
2506
+ }, [
2507
+ Ze(O(Dn)),
2508
+ n.$slots["chart-background"] ? (C(), y("foreignObject", {
2509
+ key: 0,
2510
+ x: q.value.left,
2511
+ y: q.value.top,
2512
+ width: q.value.width <= 0 ? 10 : q.value.width,
2513
+ height: q.value.height <= 0 ? 10 : q.value.height,
2514
+ style: { pointerEvents: "none" }
2515
+ }, [E(n.$slots, "chart-background", {}, void 0, !0)], 8, vt)) : v("", !0),
2516
+ R.value.gradient.show ? (C(), y("defs", yt, [(C(!0), y(g, null, T($.value, (e, t) => (C(), qe(Re, {
2517
+ t: "linear",
2518
+ id: `gradient_${e.id}`,
2519
+ key: `gradient_${e.id}_${t}`,
2520
+ x1: "0%",
2521
+ y1: "0%",
2522
+ x2: "0%",
2523
+ y2: "100%",
2524
+ stops: [
2525
+ [
2526
+ "0%",
2527
+ e.color,
2528
+ 1
2529
+ ],
2530
+ [
2531
+ "61.8%",
2532
+ O(o)(e.color, R.value.gradient.intensity / 100),
2533
+ 1
2534
+ ],
2535
+ [
2536
+ "100%",
2537
+ e.color,
2538
+ 1
2539
+ ]
2540
+ ]
2541
+ }, null, 8, ["id", "stops"]))), 128))])) : v("", !0),
2542
+ H.value && U.value.bars.gradient.show ? (C(), y("defs", bt, [(C(!0), y(g, null, T($.value, (e) => (C(), y(g, { key: `wf-gradient-${e.id}` }, [(C(!0), y(g, null, T(e.waterfallSegments, (t, n) => (C(), qe(Re, {
2543
+ key: `wf-grad-${e.id}-${X.value.start + n}`,
2544
+ t: "linear",
2545
+ id: `waterfall-gradient-${M.value}-${e.absoluteIndex}-${X.value.start + n}`,
2546
+ x1: "0%",
2547
+ y1: "0%",
2548
+ x2: "0%",
2549
+ y2: "100%",
2550
+ stops: [
2551
+ [
2552
+ "0%",
2553
+ e.waterfallColors[n],
2554
+ 1
2555
+ ],
2556
+ [
2557
+ "60%",
2558
+ O(o)(e.waterfallColors[n], U.value.bars.gradient.intensity / 100),
2559
+ 1
2560
+ ],
2561
+ [
2562
+ "100%",
2563
+ e.waterfallColors[n],
2564
+ 1
2565
+ ]
2566
+ ]
2567
+ }, null, 8, ["id", "stops"]))), 128))], 64))), 128))])) : v("", !0),
2568
+ ha.value.length ? (C(), y("defs", xt, [(C(!0), y(g, null, T(ha.value, (e, t) => (C(), y(g, { key: `stackbar-outer-clip-${t}` }, [e ? (C(), y("clipPath", {
2569
+ key: 0,
2570
+ id: `stackbar-outer-clip-${M.value}-${X.value.start + t}`,
2571
+ clipPathUnits: "userSpaceOnUse"
2572
+ }, [Je("rect", {
2573
+ x: e.x,
2574
+ y: e.y,
2575
+ width: e.width,
2576
+ height: e.height,
2577
+ rx: e.rx
2578
+ }, null, 8, Ct)], 8, St)) : v("", !0)], 64))), 128))])) : v("", !0),
2579
+ L.value.frame.show ? (C(), y("rect", {
2580
+ key: 4,
2581
+ style: {
2582
+ pointerEvents: "none",
2583
+ transition: "none",
2584
+ animation: "none !important"
2585
+ },
2586
+ x: Math.max(0, q.value.left),
2587
+ y: Math.max(0, q.value.top),
2588
+ width: Math.max(0, q.value.width),
2589
+ height: Math.max(0, q.value.height),
2590
+ fill: "transparent",
2591
+ stroke: L.value.frame.stroke,
2592
+ "stroke-width": L.value.frame.strokeWidth,
2593
+ "stroke-linecap": L.value.frame.strokeLinecap,
2594
+ "stroke-linejoin": L.value.frame.strokeLinejoin,
2595
+ "stroke-dasharray": L.value.frame.strokeDasharray
2596
+ }, null, 8, wt)) : v("", !0),
2597
+ L.value.x.showHorizontalLines && F.value.orientation === "vertical" ? (C(!0), y(g, { key: 5 }, T(Zi.value, (e, t) => (C(), y("line", {
2598
+ x1: q.value.left,
2599
+ x2: q.value.right,
2600
+ y1: e.y,
2601
+ y2: e.y,
2602
+ stroke: L.value.x.linesColor,
2603
+ "stroke-width": L.value.x.linesThickness,
2604
+ "stroke-dasharray": L.value.x.linesStrokeDasharray,
2605
+ "stroke-linecap": "round"
2606
+ }, null, 8, Tt))), 256)) : v("", !0),
2607
+ L.value.x.showHorizontalLines && F.value.orientation === "horizontal" ? (C(!0), y(g, { key: 6 }, T(X.value.end - X.value.start + 1, (e, t) => (C(), y("line", {
2608
+ x1: q.value.left,
2609
+ x2: q.value.right,
2610
+ y1: q.value.top + Q.value * t,
2611
+ y2: q.value.top + Q.value * t,
2612
+ stroke: L.value.x.linesColor,
2613
+ "stroke-width": L.value.x.linesThickness,
2614
+ "stroke-dasharray": L.value.x.linesStrokeDasharray,
2615
+ "stroke-linecap": "round"
2616
+ }, null, 8, Et))), 256)) : v("", !0),
2617
+ L.value.y.showVerticalLines && F.value.orientation === "vertical" ? (C(!0), y(g, { key: 7 }, T(X.value.end - X.value.start + 1, (e, t) => (C(), y("line", {
2618
+ x1: q.value.left + Q.value * t,
2619
+ x2: q.value.left + Q.value * t,
2620
+ y1: q.value.top,
2621
+ y2: q.value.bottom,
2622
+ stroke: L.value.y.linesColor,
2623
+ "stroke-width": L.value.y.linesThickness,
2624
+ "stroke-dasharray": L.value.y.linesStrokeDasharray,
2625
+ "stroke-linecap": "round"
2626
+ }, null, 8, Dt))), 256)) : v("", !0),
2627
+ L.value.y.showVerticalLines && F.value.orientation === "horizontal" ? (C(!0), y(g, { key: 8 }, T(Zi.value, (e, t) => (C(), y("line", {
2628
+ x1: e.horizontal_x,
2629
+ x2: e.horizontal_x,
2630
+ y1: q.value.top,
2631
+ y2: q.value.bottom,
2632
+ stroke: L.value.y.linesColor,
2633
+ "stroke-width": L.value.y.linesThickness,
2634
+ "stroke-dasharray": L.value.y.linesStrokeDasharray,
2635
+ "stroke-linecap": "round"
2636
+ }, null, 8, Ot))), 256)) : v("", !0),
2637
+ (C(!0), y(g, null, T($.value, (e, t) => (C(), y("g", { key: `stackbar-group-${e.datasetKey}-${t}-${M.value}` }, [n.$slots.pattern ? (C(), y("defs", kt, [E(n.$slots, "pattern", $e({ ref_for: !0 }, {
2638
+ seriesIndex: e.absoluteIndex,
2639
+ patternId: `pattern_${M.value}_${e.absoluteIndex}`
2640
+ }), void 0, !0)])) : v("", !0), F.value.orientation === "vertical" ? (C(), y(g, { key: 1 }, [(C(!0), y(g, null, T(e.x, (t, n) => dt((C(), y("rect", {
2641
+ key: `stackbar-rect-${e.rectKeys[n]}`,
2642
+ "data-cy": H.value ? "waterfall-segment" : "stackbar-rect",
2643
+ x: t,
2644
+ y: O(m)(e.y[n]),
2645
+ height: e.height[n] < 0 ? 1e-4 : e.height[n] || 0,
2646
+ rx: 0,
2647
+ "clip-path": ga(n),
2648
+ width: Q.value * (1 - W.value / 2),
2649
+ fill: Lr(e, n),
2650
+ stroke: H.value ? U.value.bars.stroke : V.value.backgroundColor,
2651
+ "stroke-width": H.value ? U.value.bars.strokeWidth : R.value.strokeWidth,
2652
+ "stroke-linecap": "round",
2653
+ "stroke-linejoin": "miter",
2654
+ class: x({ "vue-data-ui-bar-transition": Wn.value })
2655
+ }, null, 10, At)), [[ct, !H.value || e.waterfallSegments?.[n] && e.height[n] > 0]])), 128)), n.$slots.pattern ? (C(), y("g", jt, [(C(!0), y(g, null, T(e.x, (t, n) => dt((C(), y("rect", {
2656
+ key: `stackbar-pattern-rect-${e.rectKeys[n]}`,
2657
+ x: t,
2658
+ y: O(m)(e.y[n]),
2659
+ height: e.height[n] < 0 ? 1e-4 : e.height[n] || 0,
2660
+ rx: 0,
2661
+ "clip-path": ga(n),
2662
+ width: Q.value * (1 - W.value / 2),
2663
+ fill: `url(#pattern_${M.value}_${e.absoluteIndex})`,
2664
+ stroke: H.value ? U.value.bars.stroke : V.value.backgroundColor,
2665
+ "stroke-width": H.value ? U.value.bars.strokeWidth : R.value.strokeWidth,
2666
+ "stroke-linecap": "round",
2667
+ "stroke-linejoin": "miter",
2668
+ class: x({ "vue-data-ui-bar-transition": Wn.value })
2669
+ }, null, 10, Mt)), [[ct, !H.value || e.waterfallSegments?.[n] && e.height[n] > 0]])), 128))])) : v("", !0)], 64)) : (C(), y(g, { key: 2 }, [(C(!0), y(g, null, T(e.horizontal_x, (t, n) => dt((C(), y("rect", {
2670
+ key: `stackbar-rect-${e.rectKeys[n]}`,
2671
+ "data-cy": H.value ? "waterfall-segment" : "stackbar-rect",
2672
+ x: O(m)(t, q.value.left),
2673
+ y: e.horizontal_y[n] < 0 ? 0 : e.horizontal_y[n],
2674
+ width: O(m)(e.horizontal_width[n] < 0 ? 1e-4 : e.horizontal_width[n]),
2675
+ rx: 0,
2676
+ "clip-path": ga(n),
2677
+ height: Q.value * (1 - W.value / 2),
2678
+ fill: Lr(e, n),
2679
+ stroke: H.value ? U.value.bars.stroke : V.value.backgroundColor,
2680
+ "stroke-width": H.value ? U.value.bars.strokeWidth : R.value.strokeWidth,
2681
+ "stroke-linecap": "round",
2682
+ "stroke-linejoin": "miter",
2683
+ class: x({ "vue-data-ui-bar-transition": Wn.value })
2684
+ }, null, 10, Nt)), [[ct, !H.value || e.waterfallSegments?.[n] && e.horizontal_width[n] > 0]])), 128)), n.$slots.pattern ? (C(), y("g", Pt, [(C(!0), y(g, null, T(e.horizontal_x, (t, n) => dt((C(), y("rect", {
2685
+ key: `stackbar-pattern-rect-${e.rectKeys[n]}`,
2686
+ x: O(m)(t, q.value.left),
2687
+ y: e.horizontal_y[n] < 0 ? 0 : e.horizontal_y[n],
2688
+ width: O(m)(e.horizontal_width[n] < 0 ? 1e-4 : e.horizontal_width[n]),
2689
+ rx: 0,
2690
+ "clip-path": ga(n),
2691
+ height: Q.value * (1 - W.value / 2),
2692
+ fill: `url(#pattern_${M.value}_${e.absoluteIndex})`,
2693
+ stroke: H.value ? U.value.bars.stroke : V.value.backgroundColor,
2694
+ "stroke-width": H.value ? U.value.bars.strokeWidth : R.value.strokeWidth,
2695
+ "stroke-linecap": "round",
2696
+ "stroke-linejoin": "miter",
2697
+ class: x({ "vue-data-ui-bar-transition": Wn.value })
2698
+ }, null, 10, Ft)), [[ct, !H.value || e.waterfallSegments?.[n] && e.horizontal_width[n] > 0]])), 128))])) : v("", !0)], 64))]))), 128)),
2699
+ H.value && U.value.connectors.show ? (C(), y("g", It, [(C(!0), y(g, null, T(Nr.value, (e) => (C(), y("line", {
2700
+ key: `waterfall-link-${e.key}`,
2701
+ x1: e.x1,
2702
+ y1: e.y1,
2703
+ x2: e.x2,
2704
+ y2: e.y2,
2705
+ stroke: U.value.connectors.stroke,
2706
+ "stroke-width": U.value.connectors.strokeWidth,
2707
+ "stroke-dasharray": U.value.connectors.strokeDasharray,
2708
+ "stroke-linecap": "round"
2709
+ }, null, 8, Lt))), 128))])) : v("", !0),
2710
+ L.value.x.showAxis ? (C(), y("line", {
2711
+ key: 10,
2712
+ x1: q.value.left,
2713
+ x2: q.value.right,
2714
+ y1: q.value.bottom,
2715
+ y2: q.value.bottom,
2716
+ stroke: L.value.x.axisColor,
2717
+ "stroke-width": L.value.x.axisThickness,
2718
+ "stroke-linecap": "round",
2719
+ "stroke-linejoin": "round"
2720
+ }, null, 8, Rt)) : v("", !0),
2721
+ L.value.y.showAxis && (!R.value.distributed || H.value) ? (C(), y("line", {
2722
+ key: 11,
2723
+ x1: si.value ? q.value.right : q.value.left,
2724
+ x2: si.value ? q.value.right : q.value.left,
2725
+ y1: q.value.top,
2726
+ y2: q.value.bottom,
2727
+ stroke: L.value.y.axisColor,
2728
+ "stroke-width": L.value.y.axisThickness,
2729
+ "stroke-linecap": "round",
2730
+ "stroke-linejoin": "round"
2731
+ }, null, 8, zt)) : v("", !0),
2732
+ L.value.x.axisName.show && L.value.x.axisName.text ? (C(), y("text", {
2733
+ key: 12,
2734
+ ref_key: "xAxisLabel",
2735
+ ref: Zn,
2736
+ x: q.value.left + q.value.width / 2,
2737
+ y: q.value.chartHeight - 3,
2738
+ "font-size": L.value.x.axisName.fontSize,
2739
+ fill: L.value.x.axisName.color,
2740
+ "font-weight": L.value.x.axisName.bold ? "bold" : "normal",
2741
+ "text-anchor": "middle"
2742
+ }, D(L.value.x.axisName.text), 9, Bt)) : v("", !0),
2743
+ L.value.y.axisName.show && L.value.y.axisName.text ? (C(), y("text", {
2744
+ key: 13,
2745
+ ref_key: "yAxisLabel",
2746
+ ref: Qn,
2747
+ transform: `translate(${si.value ? ei.value.width - L.value.y.axisName.fontSize / 2 - L.value.y.axisName.offsetX : L.value.y.axisName.fontSize + L.value.y.axisName.offsetX}, ${q.value.top + q.value.height / 2}) rotate(-90)`,
2748
+ "font-size": L.value.y.axisName.fontSize,
2749
+ fill: L.value.y.axisName.color,
2750
+ "font-weight": L.value.y.axisName.bold ? "bold" : "normal",
2751
+ "text-anchor": "middle"
2752
+ }, D(L.value.y.axisName.text), 9, Vt)) : v("", !0),
2753
+ K.value.dataLabels.show && F.value.orientation === "vertical" ? (C(), y(g, { key: 14 }, [(C(!0), y(g, null, T($.value, (e, t) => (C(), y("g", { key: `dp_${e.id}` }, [(C(!0), y(g, null, T(e.x, (n, r) => (C(), y(g, { key: `rect_${e.id}_${X.value.start + r}` }, [(H.value ? Fr(e, r) : Ja(e.series[r], e.proportions[r])) ? (C(), y("text", {
2754
+ key: 0,
2755
+ class: x({ "vue-data-ui-transition": O(hr) }),
2756
+ transform: `translate(${n + Q.value * (1 - W.value / 2) / 2}, ${e.y[r] + e.height[r] / 2 + (H.value ? U.value.segmentLabels.fontSize ?? R.value.dataLabels.fontSize : R.value.dataLabels.fontSize) / 3})`,
2757
+ "font-size": H.value ? U.value.segmentLabels.fontSize ?? R.value.dataLabels.fontSize : R.value.dataLabels.fontSize,
2758
+ fill: H.value ? U.value.segmentLabels.adaptColorToBackground ? O(ue)(e.waterfallColors[r]) : U.value.segmentLabels.color ?? R.value.dataLabels.color : R.value.dataLabels.adaptColorToBackground ? O(ue)(e.color) : R.value.dataLabels.color,
2759
+ "font-weight": H.value ? U.value.segmentLabels.bold ?? R.value.dataLabels.bold ? "bold" : "normal" : R.value.dataLabels.bold ? "bold" : "normal",
2760
+ "text-anchor": "middle"
2761
+ }, D(H.value ? Ir(e, r) : R.value.showDistributedPercentage && R.value.distributed ? ba(e.proportions[r] * 100, e, t, r) : ya(e.series[r], e, t, r, e.signedSeries[r])), 11, Ht)) : v("", !0)], 64))), 128))]))), 128)), !H.value && R.value.totalValues.show && $.value.length > 1 ? (C(), y("g", {
2762
+ key: 0,
2763
+ ref_key: "sumTop",
2764
+ ref: tr
2765
+ }, [(C(!0), y(g, null, T(va.value, (e, t) => (C(), y(g, { key: `tl_${t + X.value.start}` }, [!R.value.dataLabels.hideEmptyValues || e.value !== 0 ? (C(), y("text", {
2766
+ key: 0,
2767
+ class: x({ "vue-data-ui-transition": O(hr) }),
2768
+ transform: `translate(${q.value.left + Q.value * t + Q.value / 2}, ${go(t)})`,
2769
+ "text-anchor": "middle",
2770
+ "font-size": R.value.totalValues.fontSize,
2771
+ "font-weight": R.value.totalValues.bold ? "bold" : "normal",
2772
+ fill: R.value.totalValues.color
2773
+ }, D(ya(e.value, e, t, e.sign)), 11, Ut)) : v("", !0)], 64))), 128))], 512)) : v("", !0)], 64)) : v("", !0),
2774
+ K.value.dataLabels.show && F.value.orientation === "horizontal" ? (C(), y(g, { key: 15 }, [(C(!0), y(g, null, T($.value, (e, t) => (C(), y("g", null, [(C(!0), y(g, null, T(e.horizontal_x, (n, r) => (C(), y(g, null, [(H.value ? Fr(e, r) : Ja(e.series[r], e.proportions[r])) ? (C(), y("text", {
2775
+ key: 0,
2776
+ class: x({ "vue-data-ui-transition": O(hr) }),
2777
+ transform: `translate(${n + (e.horizontal_width[r] < 0 ? 1e-4 : e.horizontal_width[r]) / 2}, ${e.horizontal_y[r] + Q.value * (1 - W.value / 2) / 2 + (H.value ? U.value.segmentLabels.fontSize ?? R.value.dataLabels.fontSize : R.value.dataLabels.fontSize) / 3})`,
2778
+ "font-size": H.value ? U.value.segmentLabels.fontSize ?? R.value.dataLabels.fontSize : R.value.dataLabels.fontSize,
2779
+ fill: H.value ? U.value.segmentLabels.adaptColorToBackground ? O(ue)(e.waterfallColors[r]) : U.value.segmentLabels.color ?? R.value.dataLabels.color : R.value.dataLabels.adaptColorToBackground ? O(ue)(e.color) : R.value.dataLabels.color,
2780
+ "font-weight": H.value ? U.value.segmentLabels.bold ?? R.value.dataLabels.bold ? "bold" : "normal" : R.value.dataLabels.bold ? "bold" : "normal",
2781
+ "text-anchor": "middle"
2782
+ }, D(H.value ? Ir(e, r) : R.value.showDistributedPercentage && R.value.distributed ? ba(e.proportions[r] * 100, e, t, r) : ya(e.series[r], e, t, r, e.signedSeries[r])), 11, Wt)) : v("", !0)], 64))), 256))]))), 256)), !H.value && R.value.totalValues.show && $.value.length > 1 ? (C(), y("g", {
2783
+ key: 0,
2784
+ ref_key: "sumRight",
2785
+ ref: nr
2786
+ }, [(C(!0), y(g, null, T(va.value, (e, t) => (C(), y(g, null, [!R.value.dataLabels.hideEmptyValues || e.value !== 0 ? (C(), y("text", {
2787
+ key: 0,
2788
+ class: x({ "vue-data-ui-transition": O(hr) }),
2789
+ transform: `translate(${_o(t)}, ${q.value.top + Q.value * t + Q.value / 2 + R.value.totalValues.fontSize / 3})`,
2790
+ "text-anchor": "start",
2791
+ "font-size": R.value.totalValues.fontSize,
2792
+ "font-weight": R.value.totalValues.bold ? "bold" : "normal",
2793
+ fill: R.value.totalValues.color
2794
+ }, D(ya(e.value, e, t, e.sign)), 11, Gt)) : v("", !0)], 64))), 256))], 512)) : v("", !0)], 64)) : v("", !0),
2795
+ H.value && U.value.stepLabels.show && K.value.dataLabels.show ? (C(), y("g", Kt, [(C(!0), y(g, null, T(Pr.value, (e) => (C(), y("text", {
2796
+ key: `wf-step-label-${e.key}`,
2797
+ x: e.x,
2798
+ y: e.y,
2799
+ "text-anchor": e.anchor,
2800
+ "font-size": U.value.stepLabels.fontSize,
2801
+ "font-weight": U.value.stepLabels.bold ? "bold" : "normal",
2802
+ fill: U.value.stepLabels.color
2803
+ }, D(e.text), 9, qt))), 128))])) : v("", !0),
2804
+ L.value.y.axisLabels.show && (!R.value.distributed || H.value) && F.value.orientation === "vertical" ? (C(), y("g", {
2805
+ key: 17,
2806
+ ref_key: "scaleLabels",
2807
+ ref: $n
2808
+ }, [(C(!0), y(g, null, T(Zi.value, (e, t) => (C(), y("path", {
2809
+ key: `ty_${t}`,
2810
+ stroke: L.value.x.axisColor,
2811
+ class: x({ "vue-data-ui-transition": O(hr) }),
2812
+ d: `M${si.value ? q.value.right : q.value.left},${e.y} ${si.value ? q.value.right + 6 : q.value.left - 6},${e.y}`,
2813
+ "stroke-width": 1,
2814
+ "stroke-linecap": "round"
2815
+ }, null, 10, Jt))), 128)), (C(!0), y(g, null, T(Zi.value, (e, n) => (C(), y("text", {
2816
+ class: x({ "vue-data-ui-transition": O(hr) }),
2817
+ key: `tl_${n}`,
2818
+ transform: `translate(${e.x}, ${e.y + L.value.y.axisLabels.fontSize / 3})`,
2819
+ "font-size": L.value.y.axisLabels.fontSize,
2820
+ "font-weight": L.value.y.axisLabels.bold ? "bold" : "normal",
2821
+ fill: L.value.y.axisLabels.color,
2822
+ "text-anchor": si.value ? "start" : "end"
2823
+ }, D(O(h)(L.value.y.axisLabels.formatter, e.value, O(t)({
2824
+ p: R.value.dataLabels.prefix,
2825
+ v: e.value,
2826
+ s: R.value.dataLabels.suffix,
2827
+ r: L.value.y.axisLabels.rounding
2828
+ }), { datapoint: e })), 11, Yt))), 128))], 512)) : v("", !0),
2829
+ L.value.y.axisLabels.show && (!R.value.distributed || H.value) && F.value.orientation === "horizontal" ? (C(), y("g", {
2830
+ key: 18,
2831
+ ref_key: "scaleLabels",
2832
+ ref: $n
2833
+ }, [(C(!0), y(g, null, T(Zi.value, (e, t) => (C(), y("path", {
2834
+ key: `scy_${t}`,
2835
+ d: `M${e.horizontal_x},${q.value.bottom} ${e.horizontal_x},${q.value.bottom + 6}`,
2836
+ class: x({ "vue-data-ui-transition": O(hr) }),
2837
+ stroke: L.value.x.axisColor,
2838
+ "stroke-width": 1,
2839
+ "stroke-linecap": "round"
2840
+ }, null, 10, Xt))), 128)), (C(!0), y(g, null, T(Zi.value, (e, n) => (C(), y("text", {
2841
+ class: x(["vue-data-ui-time-label", { "vue-data-ui-transition": O(hr) }]),
2842
+ key: `tly_${n}`,
2843
+ "font-size": z.value.fontSize,
2844
+ "font-weight": L.value.y.axisLabels.bold ? "bold" : "normal",
2845
+ fill: L.value.y.axisLabels.color,
2846
+ "text-anchor": z.value.rotation > 0 ? "start" : z.value.rotation < 0 ? "end" : "middle",
2847
+ transform: `translate(${e.horizontal_x}, ${q.value.bottom + z.value.fontSize * 1.3 + z.value.offsetY}), rotate(${z.value.rotation})`
2848
+ }, D(O(h)(L.value.y.axisLabels.formatter, e.value, O(t)({
2849
+ p: R.value.dataLabels.prefix,
2850
+ v: e.value,
2851
+ s: R.value.dataLabels.suffix,
2852
+ r: L.value.y.axisLabels.rounding
2853
+ }), { datapoint: e })), 11, Zt))), 128))], 512)) : v("", !0),
2854
+ z.value.show && F.value.orientation === "vertical" ? (C(), y("g", {
2855
+ key: 19,
2856
+ ref_key: "timeLabelsEls",
2857
+ ref: er
2858
+ }, [n.$slots["time-label"] ? (C(), y("g", Qt, [(C(!0), y(g, null, T(aa.value, (e, t) => (C(), y("g", null, [E(n.$slots, "time-label", $e({ ref_for: !0 }, {
2859
+ x: q.value.left + Q.value * t + Q.value / 2,
2860
+ y: q.value.bottom + z.value.fontSize * 1.3 + z.value.offsetY,
2861
+ fontSize: z.value.fontSize,
2862
+ fill: z.value.color,
2863
+ transform: `translate(${q.value.left + Q.value * t + Q.value / 2}, ${q.value.bottom + z.value.fontSize * 1.3 + z.value.offsetY}), rotate(${z.value.rotation})`,
2864
+ absoluteIndex: e.absoluteIndex,
2865
+ content: e.text,
2866
+ textAnchor: z.value.rotation > 0 ? "start" : z.value.rotation < 0 ? "end" : "middle",
2867
+ show: !0
2868
+ }), void 0, !0)]))), 256))])) : (C(), y("g", $t, [(C(!0), y(g, null, T(aa.value, (e, t) => (C(), y("g", null, [String(e.text).includes("\n") ? (C(), y("text", {
2869
+ class: x({ "vue-data-ui-transition": O(hr) }),
2870
+ key: t + "-multi",
2871
+ "text-anchor": z.value.rotation > 0 ? "start" : z.value.rotation < 0 ? "end" : "middle",
2872
+ "font-size": z.value.fontSize,
2873
+ fill: z.value.color,
2874
+ transform: `
2875
+ translate(
2876
+ ${q.value.left + Q.value * t + Q.value / 2},
2877
+ ${q.value.bottom + z.value.fontSize * 1.3 + z.value.offsetY}
2878
+ ),
2879
+ rotate(${z.value.rotation})
2880
+ `,
2881
+ style: tt({ cursor: gr.value ? "pointer" : "default" }),
2882
+ innerHTML: O(c)({
2883
+ content: String(e.text),
2884
+ fontSize: z.value.fontSize,
2885
+ fill: z.value.color,
2886
+ x: 0,
2887
+ y: 0
2888
+ }),
2889
+ onClick: () => Ka(e, t)
2890
+ }, null, 14, tn)) : (C(), y("text", {
2891
+ class: "vue-data-ui-time-label",
2892
+ key: t,
2893
+ "text-anchor": z.value.rotation > 0 ? "start" : z.value.rotation < 0 ? "end" : "middle",
2894
+ "font-size": z.value.fontSize,
2895
+ "font-weight": z.value.bold ? "bold" : "normal",
2896
+ fill: z.value.color,
2897
+ transform: `translate(${q.value.left + Q.value * t + Q.value / 2}, ${q.value.bottom + z.value.fontSize * 1.3 + z.value.offsetY}), rotate(${z.value.rotation})`,
2898
+ style: tt({ cursor: gr.value ? "pointer" : "default" }),
2899
+ onClick: () => Ka(e, t)
2900
+ }, D(e.text), 13, en))]))), 256))]))], 512)) : v("", !0),
2901
+ z.value.show && F.value.orientation === "horizontal" ? (C(), y("g", {
2902
+ key: 20,
2903
+ ref_key: "timeLabelsEls",
2904
+ ref: er
2905
+ }, [n.$slots["time-label"] ? (C(), y("g", nn, [(C(!0), y(g, null, T(aa.value, (e, t) => (C(), y("g", null, [E(n.$slots, "time-label", $e({ ref_for: !0 }, {
2906
+ x: q.value.left - 8,
2907
+ y: q.value.top + Q.value * t + Q.value / 2 + L.value.y.axisLabels.fontSize / 3,
2908
+ fontSize: z.value.fontSize,
2909
+ fill: z.value.color,
2910
+ transform: null,
2911
+ absoluteIndex: e.absoluteIndex,
2912
+ content: e.text,
2913
+ textAnchor: "end",
2914
+ show: !0
2915
+ }), void 0, !0)]))), 256))])) : (C(), y("g", rn, [(C(!0), y(g, null, T(aa.value, (e, t) => (C(), y("g", null, [String(e.text).includes("\n") ? (C(), y("text", {
2916
+ key: 1,
2917
+ "text-anchor": "end",
2918
+ "font-size": L.value.y.axisLabels.fontSize,
2919
+ "font-weight": L.value.y.axisLabels.bold ? "bold" : "normal",
2920
+ fill: L.value.y.axisLabels.color,
2921
+ transform: `translate(${q.value.left - 8}, ${q.value.top + Q.value * t + Q.value / 2 + L.value.y.axisLabels.fontSize / 3})`,
2922
+ style: tt({ cursor: gr.value ? "pointer" : "default" }),
2923
+ onClick: () => Ka(e, t),
2924
+ innerHTML: O(f)({
2925
+ content: String(e.text),
2926
+ fontSize: L.value.y.axisLabels.fontSize,
2927
+ fill: L.value.y.axisLabels.color,
2928
+ stroke: V.value.backgroundColor,
2929
+ x: q.value.left - 8,
2930
+ y: 0
2931
+ })
2932
+ }, null, 12, on)) : (C(), y("text", {
2933
+ key: 0,
2934
+ "text-anchor": "end",
2935
+ "font-size": L.value.y.axisLabels.fontSize,
2936
+ "font-weight": L.value.y.axisLabels.bold ? "bold" : "normal",
2937
+ fill: L.value.y.axisLabels.color,
2938
+ stroke: V.value.backgroundColor,
2939
+ "stroke-linecap": "round",
2940
+ "stroke-linejoin": "round",
2941
+ "stroke-width": "3",
2942
+ "paint-order": "stroke fill",
2943
+ transform: `translate(${q.value.left - 8}, ${q.value.top + Q.value * t + Q.value / 2 + L.value.y.axisLabels.fontSize / 3})`,
2944
+ style: tt({ cursor: gr.value ? "pointer" : "default" }),
2945
+ onClick: () => Ka(e, t)
2946
+ }, D(e.text), 13, an))]))), 256))]))], 512)) : v("", !0),
2947
+ K.value.showTooltip && F.value.orientation === "vertical" ? (C(!0), y(g, { key: 21 }, T(X.value.end - X.value.start, (e, t) => (C(), y("rect", {
2948
+ x: q.value.left + t * Q.value,
2949
+ y: q.value.top,
2950
+ width: Q.value,
2951
+ height: q.value.height < 0 ? 0 : q.value.height,
2952
+ onClick: () => xa(t),
2953
+ onMouseenter: () => Ea(t, "pointer"),
2954
+ onMouseleave: () => Ca(t),
2955
+ fill: t === P.value || t === mr.value ? V.value.highlighter.color : "transparent",
2956
+ style: tt({ opacity: V.value.highlighter.opacity / 100 })
2957
+ }, null, 44, sn))), 256)) : v("", !0),
2958
+ K.value.showTooltip && F.value.orientation === "horizontal" ? (C(!0), y(g, { key: 22 }, T(X.value.end - X.value.start, (e, t) => (C(), y("rect", {
2959
+ x: q.value.left,
2960
+ y: q.value.top + t * Q.value,
2961
+ width: q.value.width < 0 ? 0 : q.value.width,
2962
+ height: Q.value,
2963
+ onClick: () => xa(t),
2964
+ onMouseenter: () => Ea(t, "pointer"),
2965
+ onMouseleave: () => Ca(t),
2966
+ fill: t === P.value || t === mr.value ? V.value.highlighter.color : "transparent",
2967
+ style: tt({ opacity: V.value.highlighter.opacity / 100 })
2968
+ }, null, 44, cn))), 256)) : v("", !0),
2969
+ wo.value ? (C(), y("rect", {
2970
+ key: 23,
2971
+ x: wo.value.x,
2972
+ y: wo.value.y,
2973
+ width: wo.value.width,
2974
+ height: wo.value.height,
2975
+ fill: Oi.value.selection.fill,
2976
+ "fill-opacity": Oi.value.selection.fillOpacity,
2977
+ stroke: Oi.value.selection.stroke,
2978
+ "stroke-opacity": Oi.value.selection.strokeOpacity,
2979
+ "stroke-width": Oi.value.selection.strokeWidth,
2980
+ "stroke-dasharray": Oi.value.selection.strokeDasharray,
2981
+ "stroke-linecap": "round",
2982
+ "stroke-linejoin": "round",
2983
+ "pointer-events": "none"
2984
+ }, null, 8, ln)) : v("", !0),
2985
+ Mi.value ? (C(), y("rect", $e({ key: 24 }, yi.value, {
2986
+ "data-start": X.value.start,
2987
+ "data-end": X.value.end
2988
+ }), null, 16, un)) : v("", !0),
2989
+ E(n.$slots, "svg", { svg: {
2990
+ drawingArea: q.value,
2991
+ slicer: X.value,
2992
+ data: $.value,
2993
+ isPrintingImg: O(Xr) || O(Zr) || O(to),
2994
+ isPrintingSvg: O(no),
2995
+ barWidth: Q.value
2996
+ } }, void 0, !0)
2997
+ ], 46, _t)), n.$slots.hint ? (C(), y("div", dn, [E(n.$slots, "hint", S(b({
2998
+ hint: F.value.a11y.translations.keyboardNavigation,
2999
+ isVisible: yo.value
3000
+ })), void 0, !0)])) : v("", !0)]),
3001
+ n.$slots.watermark ? (C(), y("div", fn, [E(n.$slots, "watermark", S(b({ isPrinting: O(Xr) || O(Zr) || O(to) || O(no) })), void 0, !0)])) : v("", !0),
3002
+ V.value.zoom.show && Nn.value && so.value && Y.value > 6 ? (C(), qe(ze, {
3003
+ key: 5,
3004
+ ref_key: "chartSlicer",
3005
+ ref: Vn,
3006
+ "data-dom-to-png-ignore-layout": "",
3007
+ allMinimaps: Ki.value,
3008
+ background: V.value.zoom.color,
3009
+ borderColor: V.value.backgroundColor,
3010
+ customFormat: V.value.zoom.customFormat,
3011
+ cutNullValues: !1,
3012
+ forceZeroCenter: !0,
3013
+ enableRangeHandles: V.value.zoom.enableRangeHandles,
3014
+ enableSelectionDrag: V.value.zoom.enableSelectionDrag,
3015
+ end: X.value.end,
3016
+ focusOnDrag: V.value.zoom.focusOnDrag,
3017
+ focusRangeRatio: V.value.zoom.focusRangeRatio,
3018
+ fontSize: V.value.zoom.fontSize,
3019
+ immediate: !V.value.zoom.preview.enable,
3020
+ inputColor: V.value.zoom.color,
3021
+ isPreview: Mi.value,
3022
+ labelLeft: H.value || z.value.values[X.value.start] ? $i.value?.[0]?.text ?? "" : "",
3023
+ labelRight: H.value || z.value.values[X.value.end - 1] ? $i.value?.at(-1)?.text ?? "" : "",
3024
+ max: Math.max(...e.dataset.map((e) => e.series.length)),
3025
+ min: 0,
3026
+ minimap: Gi.value,
3027
+ minimapCompact: V.value.zoom.minimap.compact,
3028
+ minimapFrameColor: V.value.zoom.minimap.frameColor,
3029
+ minimapIndicatorColor: V.value.zoom.minimap.indicatorColor,
3030
+ minimapMerged: !1,
3031
+ minimapSelectedColor: V.value.zoom.minimap.selectedColor,
3032
+ minimapSelectedColorOpacity: V.value.zoom.minimap.selectedColorOpacity,
3033
+ minimapSelectedIndex: P.value,
3034
+ minimapSelectionRadius: 1,
3035
+ preciseLabels: ua.value.length ? ua.value : ea.value,
3036
+ refreshEndPoint: V.value.zoom.endIndex === null ? Math.max(...e.dataset.map((e) => e.series.length)) : V.value.zoom.endIndex + 1,
3037
+ refreshStartPoint: V.value.zoom.startIndex === null ? 0 : V.value.zoom.startIndex,
3038
+ selectColor: V.value.zoom.highlightColor,
3039
+ selectedSeries: wa.value,
3040
+ smoothMinimap: !1,
3041
+ start: X.value.start,
3042
+ textColor: V.value.color,
3043
+ timeLabels: ea.value,
3044
+ usePreciseLabels: !H.value && z.value.datetimeFormatter.enable && !V.value.zoom.useDefaultFormat,
3045
+ valueEnd: X.value.end,
3046
+ valueStart: X.value.start,
3047
+ verticalHandles: V.value.zoom.minimap.verticalHandles,
3048
+ maxWidth: V.value.zoom.maxWidth,
3049
+ minimapLeftInsetRatio: q.value.chartWidth > 0 && V.value.zoom.autoFit ? q.value.left / q.value.chartWidth : null,
3050
+ minimapRightInsetRatio: q.value.chartWidth > 0 && V.value.zoom.autoFit ? (q.value.chartWidth - q.value.right) / q.value.chartWidth : null,
3051
+ isCursorPointer: gr.value,
3052
+ additionalMinimapHeight: V.value.zoom.minimap.additionalHeight,
3053
+ handleType: V.value.zoom.minimap.handleType,
3054
+ handleIconColor: V.value.zoom.minimap.handleIconColor,
3055
+ handleBorderWidth: V.value.zoom.minimap.handleBorderWidth,
3056
+ handleBorderColor: V.value.zoom.minimap.handleBorderColor,
3057
+ handleFill: V.value.zoom.minimap.handleFill,
3058
+ handleWidth: V.value.zoom.minimap.handleWidth,
3059
+ "onUpdate:end": po,
3060
+ "onUpdate:start": fo,
3061
+ onTrapMouse: bi,
3062
+ onReset: r[0] ||= () => Hi({
3063
+ force: !0,
3064
+ publish: !0
3065
+ }),
3066
+ onFutureEnd: r[1] ||= (e) => Ni("end", e),
3067
+ onFutureStart: r[2] ||= (e) => Ni("start", e)
3068
+ }, {
3069
+ "reset-action": k(({ reset: e }) => [E(n.$slots, "reset-action", S(b({ reset: e })), void 0, !0)]),
3070
+ slotMap: k(({ width: e, height: t, unitW: n }) => [Number(Sr.value) > 0 ? (C(), y("defs", pn, [(C(!0), y(g, null, T(_a({
3071
+ minimapH: t,
3072
+ unitW: n
3073
+ }), (e, t) => (C(), y(g, { key: `stackbar-minimap-outer-clip-${t}` }, [e ? (C(), y("clipPath", {
3074
+ key: 0,
3075
+ id: `stackbar-minimap-outer-clip-${M.value}-${t}`,
3076
+ clipPathUnits: "userSpaceOnUse"
3077
+ }, [Je("rect", {
3078
+ x: e.x,
3079
+ y: e.y,
3080
+ width: e.width,
3081
+ height: e.height,
3082
+ rx: e.rx
3083
+ }, null, 8, hn)], 8, mn)) : v("", !0)], 64))), 128))])) : v("", !0), (C(!0), y(g, null, T($.value, (e) => (C(), y("g", { key: e.id }, [(C(!0), y(g, null, T(e.xMinimap({
3084
+ left: 0,
3085
+ unitW: n
3086
+ }), (r, a) => (C(), y(g, { key: `minimap-rect-${e.minimapRectKeys[a]}` }, [!H.value || e.heightMinimap({ minimapH: t })[a] > 0 ? (C(), y("rect", {
3087
+ key: 0,
3088
+ x: a === 0 ? r - n * (W.value / 4) : r - n / 2,
3089
+ y: Math.max(0, Math.min(t, e.yMinimap({ minimapH: t })[a])),
3090
+ height: e.heightMinimap({ minimapH: t })[a],
3091
+ width: [0, Y.value - 1].includes(a) ? n * (1 - W.value / 2) / 2 : n * (1 - W.value / 2),
3092
+ fill: H.value ? e.minimapWaterfallColors?.[a] || e.color : R.value.gradient.show ? `url(#gradient_${e.id})` : e.color,
3093
+ stroke: V.value.backgroundColor,
3094
+ "stroke-width": .5,
3095
+ rx: "0",
3096
+ "clip-path": Number(Sr.value) > 0 ? `url(#stackbar-minimap-outer-clip-${M.value}-${a})` : void 0,
3097
+ "stroke-linecap": "butt",
3098
+ "stroke-linejoin": "miter",
3099
+ style: tt({ opacity: a >= Z.value.start && a <= Z.value.end ? 1 : .62 })
3100
+ }, null, 12, gn)) : v("", !0)], 64))), 128))]))), 128))]),
3101
+ _: 3
3102
+ }, 8, /* @__PURE__ */ "allMinimaps.background.borderColor.customFormat.enableRangeHandles.enableSelectionDrag.end.focusOnDrag.focusRangeRatio.fontSize.immediate.inputColor.isPreview.labelLeft.labelRight.max.minimap.minimapCompact.minimapFrameColor.minimapIndicatorColor.minimapSelectedColor.minimapSelectedColorOpacity.minimapSelectedIndex.preciseLabels.refreshEndPoint.refreshStartPoint.selectColor.selectedSeries.start.textColor.timeLabels.usePreciseLabels.valueEnd.valueStart.verticalHandles.maxWidth.minimapLeftInsetRatio.minimapRightInsetRatio.isCursorPointer.additionalMinimapHeight.handleType.handleIconColor.handleBorderWidth.handleBorderColor.handleFill.handleWidth".split("."))) : v("", !0),
3103
+ Ze(O(xn), {
3104
+ teleportTo: B.value.teleportTo,
3105
+ show: K.value.showTooltip && Fn.value,
3106
+ backgroundColor: B.value.backgroundColor,
3107
+ color: B.value.color,
3108
+ fontSize: B.value.fontSize,
3109
+ borderRadius: B.value.borderRadius,
3110
+ borderColor: B.value.borderColor,
3111
+ borderWidth: B.value.borderWidth,
3112
+ backgroundOpacity: B.value.backgroundOpacity,
3113
+ position: B.value.position,
3114
+ offsetX: B.value.offsetX,
3115
+ offsetY: B.value.offsetY,
3116
+ parent: Pn.value,
3117
+ content: Ln.value,
3118
+ isFullscreen: Un.value,
3119
+ isCustom: O(a)(B.value.customFormat),
3120
+ smooth: B.value.smooth,
3121
+ backdropFilter: B.value.backdropFilter,
3122
+ smoothForce: B.value.smoothForce,
3123
+ smoothSnapThreshold: B.value.smoothSnapThreshold,
3124
+ isA11yMode: lr.value === "keyboard",
3125
+ a11yPosition: cr.value
3126
+ }, {
3127
+ "tooltip-before": k(() => [E(n.$slots, "tooltip-before", S(b({ ...In.value })), void 0, !0)]),
3128
+ tooltip: k(() => [E(n.$slots, "tooltip", S(b({ ...In.value })), void 0, !0)]),
3129
+ "tooltip-after": k(() => [E(n.$slots, "tooltip-after", S(b({ ...In.value })), void 0, !0)]),
3130
+ _: 3
3131
+ }, 8, [
3132
+ "teleportTo",
3133
+ "show",
3134
+ "backgroundColor",
3135
+ "color",
3136
+ "fontSize",
3137
+ "borderRadius",
3138
+ "borderColor",
3139
+ "borderWidth",
3140
+ "backgroundOpacity",
3141
+ "position",
3142
+ "offsetX",
3143
+ "offsetY",
3144
+ "parent",
3145
+ "content",
3146
+ "isFullscreen",
3147
+ "isCustom",
3148
+ "smooth",
3149
+ "backdropFilter",
3150
+ "smoothForce",
3151
+ "smoothSnapThreshold",
3152
+ "isA11yMode",
3153
+ "a11yPosition"
3154
+ ]),
3155
+ Je("div", { id: `legend-bottom-${M.value}` }, null, 8, _n),
3156
+ Jn.value && ($a.value.show || n.$slots.legend) ? (C(), qe(Ke, {
3157
+ key: 6,
3158
+ to: $a.value.position === "top" ? `#legend-top-${M.value}` : `#legend-bottom-${M.value}`
3159
+ }, [Je("div", {
3160
+ ref_key: "chartLegend",
3161
+ ref: Bn
3162
+ }, [E(n.$slots, "legend", { legend: Ha.value }, () => [$a.value.show ? (C(), qe(We, {
3163
+ key: 0,
3164
+ legendSet: Ha.value,
3165
+ config: Ua.value,
3166
+ isCursorPointer: gr.value,
3167
+ onClickMarker: r[3] ||= ({ legend: e }) => e.segregate()
3168
+ }, Ye({
3169
+ item: k(({ legend: e }) => [O(vr) ? v("", !0) : (C(), y("div", {
3170
+ key: 0,
3171
+ onClick: (t) => e.segregate(),
3172
+ style: tt(`opacity:${N.value.includes(e.id) ? .5 : 1}`)
3173
+ }, D(e.name), 13, vn))]),
3174
+ legendToggle: k(() => [Ha.value.length > 2 && $a.value.selectAllToggle.show && !O(vr) ? (C(), qe(Be, {
3175
+ key: 0,
3176
+ backgroundColor: $a.value.selectAllToggle.backgroundColor,
3177
+ color: $a.value.selectAllToggle.color,
3178
+ fontSize: $a.value.fontSize,
3179
+ checked: N.value.length > 0,
3180
+ isCursorPointer: gr.value,
3181
+ onToggle: La
3182
+ }, null, 8, [
3183
+ "backgroundColor",
3184
+ "color",
3185
+ "fontSize",
3186
+ "checked",
3187
+ "isCursorPointer"
3188
+ ])) : v("", !0)]),
3189
+ _: 2
3190
+ }, [n.$slots.pattern ? {
3191
+ name: "legend-pattern",
3192
+ fn: k(({ legend: e, index: t }) => [Ze(Pe, {
3193
+ shape: e.shape,
3194
+ radius: 30,
3195
+ stroke: "none",
3196
+ plot: {
3197
+ x: 30,
3198
+ y: 30
3199
+ },
3200
+ fill: `url(#pattern_${M.value}_${t})`
3201
+ }, null, 8, ["shape", "fill"])]),
3202
+ key: "0"
3203
+ } : void 0]), 1032, [
3204
+ "legendSet",
3205
+ "config",
3206
+ "isCursorPointer"
3207
+ ])) : v("", !0)], !0)], 512)], 8, ["to"])) : v("", !0),
3208
+ n.$slots.source ? (C(), y("div", {
3209
+ key: 7,
3210
+ ref_key: "source",
3211
+ ref: Hn,
3212
+ dir: "auto"
3213
+ }, [E(n.$slots, "source", {}, void 0, !0)], 512)) : v("", !0),
3214
+ Nn.value && I.value.buttons.table ? (C(), qe(it(Xa.value.component), $e({ key: 8 }, Xa.value.props, {
3215
+ ref_key: "tableUnit",
3216
+ ref: Yn,
3217
+ onClose: Za
3218
+ }), Ye({
3219
+ content: k(() => [Ze(O(wn), {
3220
+ colNames: Ia.value.colNames,
3221
+ head: Ia.value.head,
3222
+ body: Ia.value.body,
3223
+ config: Ia.value.config,
3224
+ title: F.value.table.useDialog ? "" : Xa.value.title,
3225
+ withCloseButton: !F.value.table.useDialog,
3226
+ isCursorPointer: gr.value,
3227
+ onClose: Za
3228
+ }, {
3229
+ th: k(({ th: e }) => [e === "__SUM__" ? (C(), y("div", yn, [Ze(O(Sn), {
3230
+ name: "sigma",
3231
+ stroke: Ia.value.config.th.color,
3232
+ size: 16
3233
+ }, null, 8, ["stroke"])])) : (C(), y("div", bn, D(e), 1))]),
3234
+ td: k(({ td: e }) => [Xe(D(isNaN(Number(e)) ? e : O(t)({
3235
+ p: R.value.dataLabels.prefix,
3236
+ v: e,
3237
+ s: R.value.dataLabels.suffix,
3238
+ r: F.value.table.td.roundingValue
3239
+ })), 1)]),
3240
+ _: 1
3241
+ }, 8, [
3242
+ "colNames",
3243
+ "head",
3244
+ "body",
3245
+ "config",
3246
+ "title",
3247
+ "withCloseButton",
3248
+ "isCursorPointer"
3249
+ ])]),
3250
+ _: 2
3251
+ }, [F.value.table.useDialog ? {
3252
+ name: "title",
3253
+ fn: k(() => [Xe(D(Xa.value.title), 1)]),
3254
+ key: "0"
3255
+ } : void 0, F.value.table.useDialog ? {
3256
+ name: "actions",
3257
+ fn: k(() => [Je("button", {
3258
+ tabindex: "0",
3259
+ class: "vue-ui-user-options-button",
3260
+ onClick: r[4] ||= (e) => Fa(I.value.callbacks.csv),
3261
+ style: tt({ cursor: gr.value ? "pointer" : "default" })
3262
+ }, [Ze(O(Sn), {
3263
+ name: "fileCsv",
3264
+ stroke: Xa.value.props.color
3265
+ }, null, 8, ["stroke"])], 4)]),
3266
+ key: "1"
3267
+ } : void 0]), 1040)) : v("", !0),
3268
+ E(n.$slots, "skeleton", {}, () => [O(vr) ? (C(), qe(Te, { key: 0 })) : v("", !0)], !0)
3269
+ ], 46, pt));
3270
+ }
3271
+ }, [["__scopeId", "data-v-83c79c30"]]);
3272
+ //#endregion
3273
+ export { ft as n, xn as t };