vue-data-ui 3.27.1-beta.0 → 3.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/{Arrow-CJeSufxg.js → Arrow-C2W0uGrq.js} +1 -1
  2. package/dist/{BaseDraggableDialog-T1gEsQid.js → BaseDraggableDialog-D_tuHEjO.js} +1 -1
  3. package/dist/{BaseIcon-Cz30ODFA.js → BaseIcon-DdIyewwY.js} +1 -1
  4. package/dist/{BaseLegendToggle-Dn_tNvn4.js → BaseLegendToggle-Bq5FjyuI.js} +1 -1
  5. package/dist/{BaseZoomControls-xq3tWD3j.js → BaseZoomControls-DoYifY2y.js} +1 -1
  6. package/dist/{ColorPicker-CUjEw53A.js → ColorPicker-MLwiwxl5.js} +1 -1
  7. package/dist/{DataTable-DSUA5M9p.js → DataTable-WNecJMcY.js} +1 -1
  8. package/dist/{HillActions-DdvXld3a.js → HillActions-CHg1AQ3p.js} +1 -1
  9. package/dist/{Legend-DokTll4u.js → Legend-D8YoT1RJ.js} +1 -1
  10. package/dist/{NonSvgPenAndPaper-BLzQuIm6.js → NonSvgPenAndPaper-CqtJpZKh.js} +1 -1
  11. package/dist/{PackageVersion-D6pKL176.js → PackageVersion-CdkxOy58.js} +1 -1
  12. package/dist/{PenAndPaper-DvJJaeU2.js → PenAndPaper-IMw576MC.js} +1 -1
  13. package/dist/{Shape-tkp65OcG.js → Shape-Bp9YNtPc.js} +1 -1
  14. package/dist/SlicerPreview-CNUciSbY.js +1 -0
  15. package/dist/{SparkTooltip-BlJLvizH.js → SparkTooltip-C5JMcBXT.js} +1 -1
  16. package/dist/{Title-BRAjxtjG.js → Title-BGYFqulv.js} +1 -1
  17. package/dist/{Tooltip-BUXB0i6z.js → Tooltip-Cus2-XNQ.js} +1 -1
  18. package/dist/{UserOptions-D65t74CM.js → UserOptions-DTxMeZv3.js} +1 -1
  19. package/dist/{chartImage-NwZO-elv.js → chartImage-CIvU_04o.js} +1 -1
  20. package/dist/components/arrow.js +1 -1
  21. package/dist/components/vue-ui-3d-bar.js +1 -1
  22. package/dist/components/vue-ui-accordion.js +1 -1
  23. package/dist/components/vue-ui-age-pyramid.js +1 -1
  24. package/dist/components/vue-ui-annotator.js +1 -1
  25. package/dist/components/vue-ui-bullet.js +1 -1
  26. package/dist/components/vue-ui-bump.js +1 -1
  27. package/dist/components/vue-ui-candlestick.js +1 -1
  28. package/dist/components/vue-ui-carousel-table.js +1 -1
  29. package/dist/components/vue-ui-chestnut.js +1 -1
  30. package/dist/components/vue-ui-chord.js +1 -1
  31. package/dist/components/vue-ui-circle-pack.js +1 -1
  32. package/dist/components/vue-ui-cursor.js +1 -1
  33. package/dist/components/vue-ui-dag.js +1 -1
  34. package/dist/components/vue-ui-dashboard.js +1 -1
  35. package/dist/components/vue-ui-digits.js +1 -1
  36. package/dist/components/vue-ui-donut-evolution.js +1 -1
  37. package/dist/components/vue-ui-donut.js +1 -1
  38. package/dist/components/vue-ui-dumbbell.js +1 -1
  39. package/dist/components/vue-ui-flow.js +1 -1
  40. package/dist/components/vue-ui-funnel.js +1 -1
  41. package/dist/components/vue-ui-galaxy.js +1 -1
  42. package/dist/components/vue-ui-gauge.js +1 -1
  43. package/dist/components/vue-ui-geo.js +1 -1
  44. package/dist/components/vue-ui-gizmo.js +1 -1
  45. package/dist/components/vue-ui-heatmap.js +1 -1
  46. package/dist/components/vue-ui-hill.js +1 -1
  47. package/dist/components/vue-ui-history-plot.js +1 -1
  48. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  49. package/dist/components/vue-ui-icon.js +1 -1
  50. package/dist/components/vue-ui-kpi.js +1 -1
  51. package/dist/components/vue-ui-label.js +1 -1
  52. package/dist/components/vue-ui-mini-loader.js +1 -1
  53. package/dist/components/vue-ui-molecule.js +1 -1
  54. package/dist/components/vue-ui-mood-radar.js +1 -1
  55. package/dist/components/vue-ui-nested-donuts.js +1 -1
  56. package/dist/components/vue-ui-onion.js +1 -1
  57. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  58. package/dist/components/vue-ui-quadrant.js +1 -1
  59. package/dist/components/vue-ui-quick-chart.js +1 -1
  60. package/dist/components/vue-ui-radar.js +1 -1
  61. package/dist/components/vue-ui-rating.js +1 -1
  62. package/dist/components/vue-ui-relation-circle.js +1 -1
  63. package/dist/components/vue-ui-ridgeline.js +1 -1
  64. package/dist/components/vue-ui-rings.js +1 -1
  65. package/dist/components/vue-ui-scatter.js +1 -1
  66. package/dist/components/vue-ui-skeleton.js +1 -1
  67. package/dist/components/vue-ui-smiley.js +1 -1
  68. package/dist/components/vue-ui-spark-trend.js +1 -1
  69. package/dist/components/vue-ui-sparkbar.js +1 -1
  70. package/dist/components/vue-ui-sparkgauge.js +1 -1
  71. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  72. package/dist/components/vue-ui-sparkline.js +1 -1
  73. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  74. package/dist/components/vue-ui-stackbar.js +1 -1
  75. package/dist/components/vue-ui-stackline.js +1 -1
  76. package/dist/components/vue-ui-strip-plot.js +1 -1
  77. package/dist/components/vue-ui-table-heatmap.js +1 -1
  78. package/dist/components/vue-ui-table-sparkline.js +1 -1
  79. package/dist/components/vue-ui-table.js +1 -1
  80. package/dist/components/vue-ui-thermometer.js +1 -1
  81. package/dist/components/vue-ui-timer.js +1 -1
  82. package/dist/components/vue-ui-tiremarks.js +1 -1
  83. package/dist/components/vue-ui-treemap.js +1 -1
  84. package/dist/components/vue-ui-vertical-bar.js +1 -1
  85. package/dist/components/vue-ui-waffle.js +1 -1
  86. package/dist/components/vue-ui-wheel.js +1 -1
  87. package/dist/components/vue-ui-word-cloud.js +1 -1
  88. package/dist/components/vue-ui-world.js +1 -1
  89. package/dist/components/vue-ui-xy-canvas.js +1 -1
  90. package/dist/components/vue-ui-xy.js +1 -1
  91. package/dist/{dom-to-png-Cp3WLHmJ.js → dom-to-png-D8t3Bm7s.js} +1 -1
  92. package/dist/{exposedLib-CMTeSmyW.js → exposedLib-DHtyEc_G.js} +1 -1
  93. package/dist/{img-8sM3sVWU.js → img-DiT4ivZ5.js} +1 -1
  94. package/dist/{labelUtils-Djp5nJtN.js → labelUtils-CG3uVXoZ.js} +1 -1
  95. package/dist/{lib-zDxoqrgo.js → lib-CV_IANZ6.js} +2 -2
  96. package/dist/package-DE5cU1Rg.js +1 -0
  97. package/dist/{pdf-Dlv_ks7R.js → pdf-BQSB1V3H.js} +1 -1
  98. package/dist/{render-common-DOYi0f4Z.js → render-common-BdZ5aRyn.js} +1 -1
  99. package/dist/{resolveChartConfig-BSo1Oe9n.js → resolveChartConfig-DZg-korK.js} +1 -1
  100. package/dist/ssr/vue-ui-donut.js +1 -1
  101. package/dist/ssr/vue-ui-xy.js +1 -1
  102. package/dist/ssr.js +1 -1
  103. package/dist/style.css +1 -1
  104. package/dist/{useNestedProp-CT9phgWx.js → useNestedProp-CB186vF2.js} +1 -1
  105. package/dist/{useObjectBindings-DM3xDKV3.js → useObjectBindings-Dse7YyAf.js} +1 -1
  106. package/dist/{usePrinter-CnyKPIFM.js → usePrinter-hLW3cv4N.js} +1 -1
  107. package/dist/utils.js +1 -1
  108. package/dist/vue-data-ui-DyYgLIZN.js +1 -0
  109. package/dist/vue-data-ui.js +1 -1
  110. package/dist/{vue-ui-3d-bar-DiaiNy-k.js → vue-ui-3d-bar-BZAoyWkc.js} +1 -1
  111. package/dist/{vue-ui-accordion-Dy5OVFKr.js → vue-ui-accordion-BNvevckx.js} +1 -1
  112. package/dist/{vue-ui-age-pyramid-OeUr1yxi.js → vue-ui-age-pyramid-DkA6vpU3.js} +1 -1
  113. package/dist/{vue-ui-annotator-DA_xAFql.js → vue-ui-annotator-DuQME4Hh.js} +1 -1
  114. package/dist/{vue-ui-bullet-B9lcCTVb.js → vue-ui-bullet-BVs8JX8S.js} +1 -1
  115. package/dist/{vue-ui-bump-DYajIrva.js → vue-ui-bump-DYdm3EvF.js} +1 -1
  116. package/dist/{vue-ui-candlestick-CdAZuNxo.js → vue-ui-candlestick-DZgxl4mW.js} +1 -1
  117. package/dist/{vue-ui-carousel-table-ihGH0LDH.js → vue-ui-carousel-table-BB7DsTUt.js} +1 -1
  118. package/dist/{vue-ui-chestnut-B2aNXFNO.js → vue-ui-chestnut-Bo1h5rBt.js} +1 -1
  119. package/dist/{vue-ui-chord-fAckHfOW.js → vue-ui-chord-B6_veyvO.js} +1 -1
  120. package/dist/{vue-ui-circle-pack-BWHVImkS.js → vue-ui-circle-pack-Bm7e2YNh.js} +1 -1
  121. package/dist/{vue-ui-cursor-DdXKXmhr.js → vue-ui-cursor-TidZDuSh.js} +1 -1
  122. package/dist/{vue-ui-dag-a0fNoIcJ.js → vue-ui-dag-BiN_AnLo.js} +1 -1
  123. package/dist/{vue-ui-dashboard-DkdYMB7n.js → vue-ui-dashboard-zepAVN_W.js} +1 -1
  124. package/dist/{vue-ui-digits-CL9SuIEI.js → vue-ui-digits-CXKKmfGj.js} +1 -1
  125. package/dist/{vue-ui-donut-BaEodt-3.js → vue-ui-donut-CKkBtyPK.js} +1 -1
  126. package/dist/{vue-ui-donut-DaYxdQmP.js → vue-ui-donut-DLDUpjDU.js} +2 -2
  127. package/dist/{vue-ui-donut-evolution-T8cRXKRQ.js → vue-ui-donut-evolution-BxMTdE5G.js} +1 -1
  128. package/dist/{vue-ui-dumbbell-B6HJxEZp.js → vue-ui-dumbbell-C8rNwdz0.js} +1 -1
  129. package/dist/{vue-ui-flow-BlTCVFr3.js → vue-ui-flow-Dru76A2O.js} +1 -1
  130. package/dist/{vue-ui-funnel-WgLFJadZ.js → vue-ui-funnel-D_u1h5S9.js} +1 -1
  131. package/dist/{vue-ui-galaxy-B3nuI6E8.js → vue-ui-galaxy-sBEH18Xj.js} +1 -1
  132. package/dist/{vue-ui-gauge-BwTP65O4.js → vue-ui-gauge-Do3RN8ne.js} +1 -1
  133. package/dist/{vue-ui-geo-CX3yH18H.js → vue-ui-geo-DDbtx_iJ.js} +1 -1
  134. package/dist/{vue-ui-gizmo-CNHcBsku.js → vue-ui-gizmo-eic6xLjB.js} +1 -1
  135. package/dist/{vue-ui-heatmap-CTdeoar7.js → vue-ui-heatmap-DlmJRsM8.js} +1 -1
  136. package/dist/{vue-ui-hill-DR5k8GWZ.js → vue-ui-hill-C5oiuIXh.js} +1 -1
  137. package/dist/{vue-ui-history-plot-C-9uH-Uj.js → vue-ui-history-plot-BJjnkWcT.js} +1 -1
  138. package/dist/{vue-ui-horizontal-bar-qqF7pL7U.js → vue-ui-horizontal-bar-BRDBJEl1.js} +1 -1
  139. package/dist/{vue-ui-kpi-DVcLXGqG.js → vue-ui-kpi-C-eed3jO.js} +1 -1
  140. package/dist/{vue-ui-label-D1Aog-zO.js → vue-ui-label-B4pkXBxc.js} +1 -1
  141. package/dist/{vue-ui-mini-loader-CX0Dx9tT.js → vue-ui-mini-loader-CElmv_iF.js} +1 -1
  142. package/dist/{vue-ui-molecule-B13qVX71.js → vue-ui-molecule-BeyQWZU9.js} +1 -1
  143. package/dist/{vue-ui-mood-radar-C1BtB8lg.js → vue-ui-mood-radar-Bh0kHfiZ.js} +1 -1
  144. package/dist/{vue-ui-nested-donuts-B90yrlJG.js → vue-ui-nested-donuts-FlnJfDaF.js} +1 -1
  145. package/dist/{vue-ui-onion-UMVO2DE_.js → vue-ui-onion-BjhSpjtW.js} +1 -1
  146. package/dist/vue-ui-parallel-coordinate-plot-CHV6XDti.js +9 -0
  147. package/dist/{vue-ui-quadrant-CPG6yAiu.js → vue-ui-quadrant-BaKSTJDv.js} +1 -1
  148. package/dist/{vue-ui-quick-chart-BTPb-Iz8.js → vue-ui-quick-chart-Nc2mVlle.js} +1 -1
  149. package/dist/{vue-ui-radar-Hd-pE9ih.js → vue-ui-radar-BzUfkLlC.js} +1 -1
  150. package/dist/{vue-ui-rating-C_YxQYa_.js → vue-ui-rating-BwWXvbAg.js} +1 -1
  151. package/dist/{vue-ui-relation-circle-CHYG7ZJl.js → vue-ui-relation-circle-nAZEg-BL.js} +1 -1
  152. package/dist/{vue-ui-ridgeline-DS1Gvljt.js → vue-ui-ridgeline-DxLZg1E2.js} +1 -1
  153. package/dist/{vue-ui-rings-B-Hb13Uu.js → vue-ui-rings-BOti0NGb.js} +1 -1
  154. package/dist/{vue-ui-scatter-BTgvOmuo.js → vue-ui-scatter-CCNMggyo.js} +1 -1
  155. package/dist/{vue-ui-skeleton-B-Acw3CC.js → vue-ui-skeleton-DI7pcimU.js} +1 -1
  156. package/dist/{vue-ui-smiley-Ciwqt6ek.js → vue-ui-smiley-D70sJZWl.js} +1 -1
  157. package/dist/{vue-ui-spark-trend-CYqy6c0S.js → vue-ui-spark-trend-BVtfEalS.js} +1 -1
  158. package/dist/{vue-ui-sparkbar-CTXIgjmP.js → vue-ui-sparkbar-CdsLI7Ke.js} +1 -1
  159. package/dist/{vue-ui-sparkgauge-CObOL6s2.js → vue-ui-sparkgauge-wmj5Wnnp.js} +1 -1
  160. package/dist/{vue-ui-sparkhistogram-ClFyDez-.js → vue-ui-sparkhistogram-D8S_P_P4.js} +1 -1
  161. package/dist/{vue-ui-sparkline-DP_nYlW8.js → vue-ui-sparkline-BjsJnS_9.js} +1 -1
  162. package/dist/{vue-ui-sparkstackbar-B2f0ePMg.js → vue-ui-sparkstackbar-ZN8LXzoV.js} +1 -1
  163. package/dist/{vue-ui-stackbar-nMWHZ-f0.js → vue-ui-stackbar-Dx_EN3pT.js} +1 -1
  164. package/dist/{vue-ui-stackline-B95y6Zc5.js → vue-ui-stackline-DW-oxJvA.js} +1 -1
  165. package/dist/{vue-ui-strip-plot-gFNC4r-X.js → vue-ui-strip-plot-D7kjJ3Qh.js} +1 -1
  166. package/dist/{vue-ui-table-Br2JgD_L.js → vue-ui-table-CaFVLHxE.js} +1 -1
  167. package/dist/{vue-ui-table-heatmap-Btu2ejF4.js → vue-ui-table-heatmap-Ctf7Rhqo.js} +1 -1
  168. package/dist/vue-ui-table-sparkline-C0I0cXBS.js +1 -0
  169. package/dist/{vue-ui-thermometer-C6u1eLfo.js → vue-ui-thermometer-B6og15Al.js} +1 -1
  170. package/dist/{vue-ui-timer-DLgsfB1U.js → vue-ui-timer-DgXvO2Q7.js} +2 -2
  171. package/dist/{vue-ui-tiremarks-8B9uE1Bx.js → vue-ui-tiremarks-Dh6fZ454.js} +1 -1
  172. package/dist/{vue-ui-treemap-C4Mot-Os.js → vue-ui-treemap-7JuvN6P_.js} +1 -1
  173. package/dist/{vue-ui-waffle-BwcwNpf7.js → vue-ui-waffle-BqvGzfse.js} +1 -1
  174. package/dist/{vue-ui-wheel-B3OGCXg7.js → vue-ui-wheel-SdwJqKA7.js} +1 -1
  175. package/dist/{vue-ui-word-cloud-BPIyMBXq.js → vue-ui-word-cloud-1WVV_k12.js} +1 -1
  176. package/dist/{vue-ui-world-Cp0DeauH.js → vue-ui-world-DjMy_utm.js} +1 -1
  177. package/dist/{vue-ui-xy-BOE1jvUS.js → vue-ui-xy-DaozHMfg.js} +1 -1
  178. package/dist/{vue-ui-xy-canvas-CaxxiKSa.js → vue-ui-xy-canvas-CegvS9RR.js} +1 -1
  179. package/dist/{vue-ui-xy-DSyKSn4L.js → vue-ui-xy-rGHSI1am.js} +3 -3
  180. package/dist/vue_ui_donut_evolution-CVoh3twl.js +1 -0
  181. package/dist/vue_ui_quick_chart-BRfcRW6Z.js +1 -0
  182. package/package.json +1 -1
  183. package/dist/SlicerPreview-GFRs2EWB.js +0 -1
  184. package/dist/package-DIR2F6AE.js +0 -1
  185. package/dist/vue-data-ui-BG41UScx.js +0 -1
  186. package/dist/vue-ui-parallel-coordinate-plot-C0ofFivm.js +0 -9
  187. package/dist/vue-ui-table-sparkline-B9mYHAxp.js +0 -1
  188. package/dist/vue_ui_donut_evolution-nzVwNQYv.js +0 -1
  189. package/dist/vue_ui_quick_chart-Da1GwklM.js +0 -1
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{$ as t,Dt as n,Ht as r,Jt as i,Qt as a,S as o,X as s,Yt as c,at as ee,i as te,in as ne,t as re,w as ie,yt as ae,zt as oe}from"./lib-zDxoqrgo.js";import{n as se,t as ce}from"./useHints-BH9r_0Vd.js";import{t as le}from"./useConfig-CKdzPrcf.js";import{n as ue,t as de}from"./BaseScanner-8NdoBs7B.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as pe}from"./DefGrad-DKMq1REY.js";import{t as me}from"./BaseLegendToggle-Dn_tNvn4.js";import{t as he}from"./A11yDataTable-DWNlWXzs.js";import{n as ge}from"./resolveChartConfig-BSo1Oe9n.js";import{t as _e}from"./useChartAccessibility-DOMuYJfm.js";import{t as ve}from"./usePrefersMotion-XLHwega2.js";import{t as ye}from"./vue_ui_sparkstackbar-Chtog7hC.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createVNode as be,defineAsyncComponent as xe,guardReactiveProps as h,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onMounted as Se,openBlock as y,ref as b,renderList as x,renderSlot as S,toDisplayString as C,toRefs as Ce,unref as w,useSlots as we,watch as Te,withCtx as Ee}from"vue";var De=/* @__PURE__ */ e({default:()=>qe}),Oe=[`id`],ke={style:{position:`relative`}},Ae=[`xmlns`,`viewBox`,`aria-describedby`],je=[`id`],Me=[`width`,`height`,`rx`],Ne=[`clip-path`],Pe=[`x`,`width`,`height`,`fill`],Fe=[`x`,`width`,`height`,`fill`],Ie=[`x`,`height`,`fill`],Le=[`x`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`],Re=[`width`,`height`,`rx`,`stroke`],ze=[`width`,`height`,`rx`],Be={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ve=[`aria-pressed`,`aria-label`,`onClick`,`onFocus`,`onKeydown`],He={style:{display:`flex`,"flex-direction":`row`,"align-items":`center`,gap:`4px`,"justify-content":`center`}},Ue=[`height`,`width`],We=[`rx`,`fill`],Ge=[`rx`,`fill`],Ke={key:3,ref:`source`,dir:`auto`},qe=/*#__PURE__*/ fe({__name:`vue-ui-sparkstackbar`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`selectLegend`],setup(e,{expose:fe,emit:De}){let qe=xe(()=>import(`./PackageVersion-D6pKL176.js`).then(e=>e.t)),Je=xe(()=>import(`./Tooltip-BUXB0i6z.js`)),{vue_ui_sparkstackbar:Ye}=le(),Xe=ve(),Ze=we(),T=e,Qe=b(null),E=b(s()),D=b(!1),$e=b(``),O=b(null),k=b(!1),A=b(null),et=b({x:0,y:0}),j=b(`pointer`),tt=b(!1),M=b(null),nt=b([]),N=b(ot()),P=u(()=>N.value.style.bar),F=u(()=>N.value.style.legend),I=u(()=>N.value.style.tooltip),L=u(()=>N.value.style),rt=u(()=>N.value.debug);Se(()=>{Ze[`chart-background`]&&rt.value&&console.warn(`VueUiSparkStackbar does not support the #chart-background slot.`)}),se({config:()=>N.value,dataset:()=>T.dataset,component:`VueUiSparkStackbar`,rules:[ce.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let it=u(()=>N.value.useCursorPointer),at=u(()=>ne({defaultConfig:{style:{backgroundColor:`#99999930`,animation:{show:!1},bar:{gradient:{inderlayerColor:`#6A6A6A`}},title:{backgroundColor:`transparent`}}},userConfig:N.value.skeletonConfig??{}})),{loading:R,FINAL_DATASET:z}=ue({...Ce(T),FINAL_CONFIG:N,prepareConfig:ot,skeletonDataset:T.config?.skeletonDataset??[{name:`_`,value:8,color:`#808080`},{name:`_`,value:5,color:`#ADADAD`},{name:`_`,value:3,color:`#DBDBDB`}],skeletonConfig:ne({defaultConfig:N.value,userConfig:at.value})}),{svgRef:B}=_e({config:L.value.title});function ot(){return ge(T.config,Ye,ye)}let st=a(T.config);Te(()=>T.config,(e,t)=>{let n=a(e),r=n!==st;st=n;let i=ot();if(!r){N.value.style.tooltip=i.style.tooltip;return}N.value=i,lt()},{deep:!0}),Te(()=>z.value,e=>{H.value=z.value.map((e,t)=>({...e,color:e.color?o(e.color):V.value[t]||r[t]||r[t%r.length]})),ct()},{deep:!0});let V=u(()=>ie(N.value.customPalette)),H=b(z.value.map((e,t)=>({...e,value:L.value.animation.show?0:e.value||0,color:e.color?o(e.color):V.value[t]||r[t]||r[t%r.length]}))),U=b(!0);function ct(){if(!L.value.animation.show||Xe.value){U.value=!1;return}let e=L.value.animation.animationFrames,t=z.value.map(e=>e.value||0),n=t.map(t=>t/e),i=t.reduce((e,t)=>e+t,0),a=0;U.value=!0,H.value=z.value.map((e,t)=>({...e,value:0,color:e.color?o(e.color):V.value[t]||r[t]||r[t%r.length]}));function c(){a+=i/e,a<i?(H.value=H.value.map((e,i)=>({...e,value:Math.min(e.value+n[i],t[i]),color:e.color?o(e.color):V.value[i]||r[i]||r[i%r.length]})),requestAnimationFrame(c)):(U.value=!1,H.value=z.value.map((e,n)=>({...e,value:t[n],color:e.color?o(e.color):V.value[n]||r[n]||r[n%r.length],id:s()})))}c()}Se(()=>{lt()});function lt(){oe(T.dataset)?ee({componentName:`VueUiSparkStackbar`,type:`dataset`,debug:rt.value}):rt.value&&T.dataset.forEach((e,t)=>{ae({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{ee({componentName:`VueUiSparkStackbar`,type:`datasetSerieAttribute`,property:e,index:t})})}),ct()}let W=b({width:500,height:16}),G=b([]),ut=u(()=>z.value.map(e=>e.value||0).filter((e,t)=>!G.value.includes(t)).reduce((e,t)=>e+t,0)),K=u(()=>H.value.map((e,n)=>{let i=e.value||0,a=i/ut.value,s=isNaN(a)?0:a,c=s*W.value.width;return{...e,color:o(z.value[n]?.color?z.value[n]?.color:V.value[n]||r[n]||r[n%r.length]),value:i,proportion:s,width:c,seriesIndex:n,proportionLabel:t({v:s*100,s:`%`,r:F.value.percentage.rounding})}})),q=u(()=>K.value.filter((e,t)=>!G.value.includes(t)));function dt(){D.value=!1,M.value=null,A.value=null,j.value=`pointer`}function ft(){dt(),G.value.length?G.value=[]:K.value.forEach((e,t)=>{G.value.push(t)}),_t(`selectLegend`,q.value)}function J(e){dt(),G.value.includes(e)?G.value=G.value.filter(t=>t!==e):G.value.length<H.value.length-1&&G.value.push(e),_t(`selectLegend`,q.value)}function pt(e){return K.value.length?K.value.find(t=>t.name===e)||(N.value.debug&&console.warn(`VueUiSparkStackbar - Series name not found "${e}"`),null):(N.value.debug&&console.warn(`VueUiSparkStackbar - There are no series to show.`),null)}function mt(e){let t=pt(e);t!==null&&G.value.includes(t.id)&&J(t.seriesIndex)}function ht(e){let t=pt(e);t!==null&&(G.value.includes(t.id)||J(t.seriesIndex))}let Y=u(()=>{let e=0,t=[];for(let n=0;n<q.value.length;n+=1)t.push({...q.value[n],start:e}),e+=q.value[n].width;return t}),gt=u(()=>{let e=Y.value.reduce((e,t)=>e+t.width,0);return Math.min(Math.max(e,0),W.value.width)}),_t=De;function X(e,t,n=!1){_t(`selectDatapoint`,{datapoint:e,index:t}),N.value.events.datapointClick&&!n&&N.value.events.datapointClick({datapoint:e,seriesIndex:e.seriesIndex})}function vt({datapoint:e,seriesIndex:t}){D.value=!1,M.value=null,A.value=null,j.value=`pointer`,N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex})}function yt({datapoint:e,seriesIndex:r,triggerMode:a=`pointer`}){if(k.value=!1,N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:e,seriesIndex:e.seriesIndex}),!I.value.show)return;j.value=a,O.value={datapoint:e,seriesIndex:r,config:N.value,series:K.value},D.value=!0,M.value=e.seriesIndex;let o=I.value.customFormat;if(n(o))try{let t=o({seriesIndex:e.seriesIndex,datapoint:e,series:K.value,config:N.value});typeof t==`string`&&($e.value=t,k.value=!0)}catch{console.warn(`Custom format cannot be applied.`),k.value=!1}if(!k.value){let n=``,a=P.value.gradient.show,o=`tooltip_grad_${r}_${E.value}`,s=i(c(e.color,.05),100-P.value.gradient.intensity),ee=a?`<rect x="0" y="0" width="10" height="10" rx="${Z.value}" fill="${P.value.gradient.underlayerColor}"/>`:``,ne=a?`<defs><radialGradient id="${o}"><stop offset="0%" stop-color="${s}"/><stop offset="100%" stop-color="${e.color}"/></radialGradient></defs>`:``;n+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${I.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,n+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 10 10" height="14" width="14">${ne}${ee}<rect x="0" y="0" width="10" height="10" rx="${Z.value}" fill="${a?`url(#${o})`:e.color}"/></svg>`,n+=`<b>${e.proportionLabel}</b>`,n+=`<span>(${te(F.value.value.formatter,e.value,t({p:F.value.value.prefix,v:e.value,s:F.value.value.suffix,r:F.value.value.rounding}),{datapoint:e,seriesIndex:r})})</span>`,$e.value=`<div>${n}</div>`}}let bt=u(()=>{let e=P.value.borderRadius==null?W.value.height/2:P.value.borderRadius;return Math.min(Math.max(e,0),W.value.height/2)}),Z=u(()=>{let e=W.value.height/2;return e===0?5:bt.value/e*5});function Q(e){let t=nt.value[e];t&&typeof t.focus==`function`&&t.focus()}function xt(e){if(!Number.isFinite(e)||!B.value)return;let t=Y.value[e];if(!t)return;let n=B.value.getBoundingClientRect(),r=t.start+t.width/2,i=W.value.height/2;et.value={x:n.left+r/W.value.width*n.width,y:n.top+i/W.value.height*n.height}}function St(){A.value=null,tt.value=!0}function Ct(){A.value=null,j.value=`pointer`,D.value=!1,M.value=null,tt.value=!1}function wt(e){if(!B.value||document.activeElement!==B.value||!Y.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`,a=e.key===`Home`,o=e.key===`End`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),i){A.value=null,j.value=`pointer`,D.value=!1,M.value=null;return}if(r){if(A.value===null)return;let e=Y.value[A.value];if(!e)return;X(e,e.seriesIndex);return}let s=A.value;a?s=0:o?s=Y.value.length-1:s===null||s<0||s>=Y.value.length?s=n?0:Y.value.length-1:n?(s+=1,s>=Y.value.length&&(s=0)):t&&(--s,s<0&&(s=Y.value.length-1));let c=Y.value[s];c&&(A.value=s,xt(s),yt({datapoint:c,seriesIndex:c.seriesIndex,triggerMode:`keyboard`}))}function Tt(e){D.value=!1,A.value=null,j.value=`pointer`,M.value=e.seriesIndex}function Et(){A.value=null,j.value=`pointer`,D.value=!1,M.value=null}function Dt(e,t,n){let r=e.key===`Enter`||e.key===` `,i=e.key===`ArrowLeft`||e.key===`ArrowUp`,a=e.key===`ArrowRight`||e.key===`ArrowDown`,o=e.key===`Home`,s=e.key===`End`,c=e.key===`Escape`;if(r||i||a||o||s||c){if(e.preventDefault(),e.stopPropagation(),c){Et();return}if(r){J(n),X(t,n,!0);return}if(o){Q(0);return}if(s){Q(K.value.length-1);return}if(i){Q(n<=0?K.value.length-1:n-1);return}a&&Q(n>=K.value.length-1?0:n+1)}}let $=u(()=>({headers:[N.value.a11y.translations.series,N.value.a11y.translations.percentage,N.value.a11y.translations.value],rows:K.value.map((e,n)=>[e.name,G.value.includes(n)?` - `:e.proportionLabel,te(F.value.value.formatter,e.value,t({p:F.value.value.prefix,v:e.value,s:F.value.value.suffix,r:F.value.value.rounding}),{datapoint:e,seriesIndex:n})])}));return fe({hideSeries:ht,showSeries:mt}),(e,n)=>(y(),p(`div`,{class:`vue-data-ui-component vue-ui-spark-stackbar`,ref_key:`sparkstackbarChart`,ref:Qe,style:v(`width:100%; background:${L.value.backgroundColor}`)},[m(`div`,{id:`chart-instructions-${E.value}`,class:`sr-only`},[m(`p`,null,C(N.value.a11y.translations.keyboardNavigation),1)],8,Oe),$.value?.rows?.length?(y(),d(he,{key:0,uid:E.value,head:$.value.headers,body:$.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),L.value.title.text?(y(),p(`div`,{key:1,style:v(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${L.value.title.margin};padding: 0 6px;text-align:${L.value.title.textAlign}`)},[m(`div`,{class:`atom-title`,style:v(`font-size:${L.value.title.fontSize}px;color:${L.value.title.color};font-weight:${L.value.title.bold?`bold`:`normal`}`)},C(L.value.title.text),5),L.value.title.subtitle.text?(y(),p(`div`,{key:0,class:`atom-subtitle`,style:v(`font-size:${L.value.title.subtitle.fontSize}px;color:${L.value.title.subtitle.color};font-weight:${L.value.title.subtitle.bold?`bold`:`normal`}`)},C(L.value.title.subtitle.text),5)):f(``,!0)],4)):f(``,!0),m(`div`,ke,[(y(),p(`svg`,{ref_key:`svgRef`,ref:B,xmlns:w(re),width:`100%`,viewBox:`0 0 ${W.value.width} ${W.value.height}`,"aria-describedby":`chart-instructions-${E.value}`,tabindex:`0`,onFocus:St,onBlur:Ct,onKeydown:wt},[be(w(qe)),m(`defs`,null,[(y(!0),p(l,null,x(Y.value,(e,t)=>(y(),d(pe,{t:`linear`,id:`stack_gradient_${t}_${E.value}`,key:`stack_gradient_${t}`,gradientTransform:`rotate(90)`,stops:[[`0%`,e.color,1],[`50%`,w(i)(w(c)(e.color,.05),100-P.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128)),m(`clipPath`,{id:`stackPill_${E.value}`},[m(`rect`,{x:`0`,y:`0`,width:gt.value,height:W.value.height,rx:bt.value,class:g({animated:!U.value&&!w(R)})},null,10,Me)],8,je)]),ut.value>0?(y(),p(l,{key:0},[m(`g`,{"clip-path":`url(#stackPill_${E.value})`},[(y(!0),p(l,null,x(Y.value,(e,t)=>(y(),p(`rect`,{key:`stack_underlayer_${t}`,x:e.start,y:0,width:e.width,height:W.value.height,fill:P.value.gradient.underlayerColor,class:g({animated:!U.value&&!w(R)}),style:v({opacity:D.value&&M.value!==null&&I.value.show?M.value===e.seriesIndex?1:.5:1})},null,14,Pe))),128)),(y(!0),p(l,null,x(Y.value,(e,t)=>(y(),p(`rect`,{key:`stack_${t}`,x:e.start,y:0,width:e.width,height:W.value.height,fill:P.value.gradient.show?`url(#stack_gradient_${t}_${E.value})`:e.color,class:g({animated:!U.value&&!w(R)}),style:v({opacity:D.value&&M.value!==null&&I.value.show?M.value===e.seriesIndex?1:.5:1})},null,14,Fe))),128)),(y(!0),p(l,null,x(Y.value.slice(1),(e,t)=>(y(),p(`rect`,{key:`stack_separator_${t}`,x:e.start-.5,y:`0`,width:`1`,height:W.value.height,fill:L.value.backgroundColor,"pointer-events":`none`,class:g({animated:!U.value&&!w(R)})},null,10,Ie))),128)),(y(!0),p(l,null,x(Y.value,(e,t)=>(y(),p(`rect`,{key:`stack_trap_${t}`,x:e.start,y:0,width:e.width,height:W.value.height,fill:`transparent`,stroke:`none`,class:g({animated:!U.value&&!w(R)}),onClick:()=>X(e,t),onMouseenter:()=>yt({datapoint:e,seriesIndex:e.seriesIndex}),onMouseleave:t=>vt({datapoint:e,seriesIndex:e.seriesIndex})},null,42,Le))),128))],8,Ne),m(`rect`,{x:`0.5`,y:`0.5`,width:W.value.width-1,height:W.value.height-1,rx:Math.max(0,bt.value-.5),fill:`none`,stroke:L.value.backgroundColor,"stroke-width":`1`,"pointer-events":`none`},null,8,Re)],64)):(y(),p(`rect`,{key:1,x:2,y:1,width:W.value.width-4,height:W.value.height-2,stroke:`#CCCCCC`,"stroke-width":`2`,fill:`transparent`,rx:(W.value.height-4)/2},null,8,ze))],40,Ae)),e.$slots.hint?(y(),p(`div`,Be,[S(e.$slots,`hint`,_(h({hint:N.value.a11y.translations.keyboardNavigation,isVisible:tt.value})),void 0,!0)])):f(``,!0)]),F.value.show?(y(),p(`div`,{key:2,style:v(`background:transparent;margin:0 auto;margin:${F.value.margin};justify-content:${F.value.textAlign===`left`?`flex-start`:F.value.textAlign===`right`?`flex-end`:`center`}`),class:`vue-ui-sparkstackbar-legend`,"aria-label":`legend`,role:`toolbar`},[F.value.selectAllToggle.show&&K.value.length>2&&!w(R)?(y(),d(me,{key:0,backgroundColor:F.value.selectAllToggle.backgroundColor,color:F.value.selectAllToggle.color,fontSize:F.value.fontSize,checked:G.value.length>0,isCursorPointer:it.value,onToggle:ft},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0),(y(!0),p(l,null,x(K.value,(e,n)=>(y(),p(`div`,{role:`button`,tabindex:`0`,"aria-pressed":G.value.includes(n),"aria-label":`${e.name}, ${G.value.includes(n)?`hidden`:`visible`}, ${e.proportionLabel}`,style:v(`font-size:${F.value.fontSize}px;cursor:${it.value?`pointer`:`default`}`),class:g({"vue-ui-sparkstackbar-legend-item":!0,"vue-ui-sparkstackbar-legend-item-unselected":G.value.includes(n)}),onClick:t=>{J(n),X(e,n,!0)},onFocus:t=>Tt(e),onBlur:Et,onKeydown:t=>Dt(t,e,n)},[m(`div`,He,[(y(),p(`svg`,{height:`${F.value.fontSize}px`,width:`${F.value.fontSize}px`,viewBox:`0 0 10 10`},[m(`defs`,null,[be(pe,{t:`radial`,id:`legend_grad_${n}-${E.value}`,stops:[[`0%`,w(R)?`#FFFFFF`:w(i)(w(c)(e.color,.05),100-P.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`])]),P.value.gradient.show?(y(),p(`rect`,{key:0,x:`0`,y:`0`,width:`10`,height:`10`,rx:Z.value,fill:P.value.gradient.underlayerColor},null,8,We)):f(``,!0),m(`rect`,{x:`0`,y:`0`,width:`10`,height:`10`,rx:Z.value,fill:P.value.gradient.show?`url(#legend_grad_${n}-${E.value})`:e.color},null,8,Ge)],8,Ue)),w(R)?f(``,!0):(y(),p(l,{key:0},[m(`span`,{style:v(`color:${F.value.name.color}; font-weight:${F.value.name.bold?`bold`:`normal`}`)},C(e.name),5),U.value?f(``,!0):(y(),p(l,{key:0},[F.value.percentage.show?(y(),p(`span`,{key:0,style:v(`font-weight:${F.value.percentage.bold?`bold`:`normal`};color:${F.value.percentage.color}`)},C(G.value.includes(n)?` - `:e.proportionLabel),5)):f(``,!0),F.value.value.show?(y(),p(`span`,{key:1,style:v(`font-weight:${F.value.value.bold?`bold`:`normal`};color:${F.value.value.color}`)},` (`+C(w(te)(F.value.value.formatter,e.value,w(t)({p:F.value.value.prefix,v:e.value,s:F.value.value.suffix,r:F.value.value.rounding}),{datapoint:e,seriesIndex:n}))+`) `,5)):f(``,!0)],64))],64))])],46,Ve))),256))],4)):f(``,!0),be(w(Je),{teleportTo:I.value.teleportTo,show:D.value&&I.value.show,parent:Qe.value,backgroundColor:I.value.backgroundColor,color:I.value.color,fontSize:I.value.fontSize,borderRadius:I.value.borderRadius,borderColor:I.value.borderColor,borderWidth:I.value.borderWidth,backgroundOpacity:I.value.backgroundOpacity,position:I.value.position,content:$e.value,isCustom:k.value,offsetX:I.value.offsetX,offsetY:-124+I.value.offsetY,blockShiftY:!0,smooth:I.value.smooth,backdropFilter:I.value.backdropFilter,smoothForce:I.value.smoothForce,smoothSnapThreshold:I.value.smoothSnapThreshold,isA11yMode:j.value===`keyboard`,a11yPosition:et.value},{"tooltip-before":Ee(()=>[S(e.$slots,`tooltip-before`,_(h({...O.value})),void 0,!0)]),tooltip:Ee(()=>[S(e.$slots,`tooltip`,_(h({...O.value})),void 0,!0)]),"tooltip-after":Ee(()=>[S(e.$slots,`tooltip-after`,_(h({...O.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`parent`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`content`,`isCustom`,`offsetX`,`offsetY`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),e.$slots.source?(y(),p(`div`,Ke,[S(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),S(e.$slots,`skeleton`,{},()=>[w(R)?(y(),d(de,{key:0})):f(``,!0)],!0)],4))}},[[`__scopeId`,`data-v-c969a2ef`]]);export{De as n,qe as t};
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{$ as t,Dt as n,Ht as r,Jt as i,Qt as a,S as o,X as s,Yt as c,at as ee,i as te,in as ne,t as re,w as ie,yt as ae,zt as oe}from"./lib-CV_IANZ6.js";import{n as se,t as ce}from"./useHints-BH9r_0Vd.js";import{t as le}from"./useConfig-CKdzPrcf.js";import{n as ue,t as de}from"./BaseScanner-8NdoBs7B.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as pe}from"./DefGrad-DKMq1REY.js";import{t as me}from"./BaseLegendToggle-Bq5FjyuI.js";import{t as he}from"./A11yDataTable-DWNlWXzs.js";import{n as ge}from"./resolveChartConfig-DZg-korK.js";import{t as _e}from"./useChartAccessibility-DOMuYJfm.js";import{t as ve}from"./usePrefersMotion-XLHwega2.js";import{t as ye}from"./vue_ui_sparkstackbar-Chtog7hC.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createVNode as be,defineAsyncComponent as xe,guardReactiveProps as h,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onMounted as Se,openBlock as y,ref as b,renderList as x,renderSlot as S,toDisplayString as C,toRefs as Ce,unref as w,useSlots as we,watch as Te,withCtx as Ee}from"vue";var De=/* @__PURE__ */ e({default:()=>qe}),Oe=[`id`],ke={style:{position:`relative`}},Ae=[`xmlns`,`viewBox`,`aria-describedby`],je=[`id`],Me=[`width`,`height`,`rx`],Ne=[`clip-path`],Pe=[`x`,`width`,`height`,`fill`],Fe=[`x`,`width`,`height`,`fill`],Ie=[`x`,`height`,`fill`],Le=[`x`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`],Re=[`width`,`height`,`rx`,`stroke`],ze=[`width`,`height`,`rx`],Be={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ve=[`aria-pressed`,`aria-label`,`onClick`,`onFocus`,`onKeydown`],He={style:{display:`flex`,"flex-direction":`row`,"align-items":`center`,gap:`4px`,"justify-content":`center`}},Ue=[`height`,`width`],We=[`rx`,`fill`],Ge=[`rx`,`fill`],Ke={key:3,ref:`source`,dir:`auto`},qe=/*#__PURE__*/ fe({__name:`vue-ui-sparkstackbar`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`selectLegend`],setup(e,{expose:fe,emit:De}){let qe=xe(()=>import(`./PackageVersion-CdkxOy58.js`).then(e=>e.t)),Je=xe(()=>import(`./Tooltip-Cus2-XNQ.js`)),{vue_ui_sparkstackbar:Ye}=le(),Xe=ve(),Ze=we(),T=e,Qe=b(null),E=b(s()),D=b(!1),$e=b(``),O=b(null),k=b(!1),A=b(null),et=b({x:0,y:0}),j=b(`pointer`),tt=b(!1),M=b(null),nt=b([]),N=b(ot()),P=u(()=>N.value.style.bar),F=u(()=>N.value.style.legend),I=u(()=>N.value.style.tooltip),L=u(()=>N.value.style),rt=u(()=>N.value.debug);Se(()=>{Ze[`chart-background`]&&rt.value&&console.warn(`VueUiSparkStackbar does not support the #chart-background slot.`)}),se({config:()=>N.value,dataset:()=>T.dataset,component:`VueUiSparkStackbar`,rules:[ce.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let it=u(()=>N.value.useCursorPointer),at=u(()=>ne({defaultConfig:{style:{backgroundColor:`#99999930`,animation:{show:!1},bar:{gradient:{inderlayerColor:`#6A6A6A`}},title:{backgroundColor:`transparent`}}},userConfig:N.value.skeletonConfig??{}})),{loading:R,FINAL_DATASET:z}=ue({...Ce(T),FINAL_CONFIG:N,prepareConfig:ot,skeletonDataset:T.config?.skeletonDataset??[{name:`_`,value:8,color:`#808080`},{name:`_`,value:5,color:`#ADADAD`},{name:`_`,value:3,color:`#DBDBDB`}],skeletonConfig:ne({defaultConfig:N.value,userConfig:at.value})}),{svgRef:B}=_e({config:L.value.title});function ot(){return ge(T.config,Ye,ye)}let st=a(T.config);Te(()=>T.config,(e,t)=>{let n=a(e),r=n!==st;st=n;let i=ot();if(!r){N.value.style.tooltip=i.style.tooltip;return}N.value=i,lt()},{deep:!0}),Te(()=>z.value,e=>{H.value=z.value.map((e,t)=>({...e,color:e.color?o(e.color):V.value[t]||r[t]||r[t%r.length]})),ct()},{deep:!0});let V=u(()=>ie(N.value.customPalette)),H=b(z.value.map((e,t)=>({...e,value:L.value.animation.show?0:e.value||0,color:e.color?o(e.color):V.value[t]||r[t]||r[t%r.length]}))),U=b(!0);function ct(){if(!L.value.animation.show||Xe.value){U.value=!1;return}let e=L.value.animation.animationFrames,t=z.value.map(e=>e.value||0),n=t.map(t=>t/e),i=t.reduce((e,t)=>e+t,0),a=0;U.value=!0,H.value=z.value.map((e,t)=>({...e,value:0,color:e.color?o(e.color):V.value[t]||r[t]||r[t%r.length]}));function c(){a+=i/e,a<i?(H.value=H.value.map((e,i)=>({...e,value:Math.min(e.value+n[i],t[i]),color:e.color?o(e.color):V.value[i]||r[i]||r[i%r.length]})),requestAnimationFrame(c)):(U.value=!1,H.value=z.value.map((e,n)=>({...e,value:t[n],color:e.color?o(e.color):V.value[n]||r[n]||r[n%r.length],id:s()})))}c()}Se(()=>{lt()});function lt(){oe(T.dataset)?ee({componentName:`VueUiSparkStackbar`,type:`dataset`,debug:rt.value}):rt.value&&T.dataset.forEach((e,t)=>{ae({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{ee({componentName:`VueUiSparkStackbar`,type:`datasetSerieAttribute`,property:e,index:t})})}),ct()}let W=b({width:500,height:16}),G=b([]),ut=u(()=>z.value.map(e=>e.value||0).filter((e,t)=>!G.value.includes(t)).reduce((e,t)=>e+t,0)),K=u(()=>H.value.map((e,n)=>{let i=e.value||0,a=i/ut.value,s=isNaN(a)?0:a,c=s*W.value.width;return{...e,color:o(z.value[n]?.color?z.value[n]?.color:V.value[n]||r[n]||r[n%r.length]),value:i,proportion:s,width:c,seriesIndex:n,proportionLabel:t({v:s*100,s:`%`,r:F.value.percentage.rounding})}})),q=u(()=>K.value.filter((e,t)=>!G.value.includes(t)));function dt(){D.value=!1,M.value=null,A.value=null,j.value=`pointer`}function ft(){dt(),G.value.length?G.value=[]:K.value.forEach((e,t)=>{G.value.push(t)}),_t(`selectLegend`,q.value)}function J(e){dt(),G.value.includes(e)?G.value=G.value.filter(t=>t!==e):G.value.length<H.value.length-1&&G.value.push(e),_t(`selectLegend`,q.value)}function pt(e){return K.value.length?K.value.find(t=>t.name===e)||(N.value.debug&&console.warn(`VueUiSparkStackbar - Series name not found "${e}"`),null):(N.value.debug&&console.warn(`VueUiSparkStackbar - There are no series to show.`),null)}function mt(e){let t=pt(e);t!==null&&G.value.includes(t.id)&&J(t.seriesIndex)}function ht(e){let t=pt(e);t!==null&&(G.value.includes(t.id)||J(t.seriesIndex))}let Y=u(()=>{let e=0,t=[];for(let n=0;n<q.value.length;n+=1)t.push({...q.value[n],start:e}),e+=q.value[n].width;return t}),gt=u(()=>{let e=Y.value.reduce((e,t)=>e+t.width,0);return Math.min(Math.max(e,0),W.value.width)}),_t=De;function X(e,t,n=!1){_t(`selectDatapoint`,{datapoint:e,index:t}),N.value.events.datapointClick&&!n&&N.value.events.datapointClick({datapoint:e,seriesIndex:e.seriesIndex})}function vt({datapoint:e,seriesIndex:t}){D.value=!1,M.value=null,A.value=null,j.value=`pointer`,N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex})}function yt({datapoint:e,seriesIndex:r,triggerMode:a=`pointer`}){if(k.value=!1,N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:e,seriesIndex:e.seriesIndex}),!I.value.show)return;j.value=a,O.value={datapoint:e,seriesIndex:r,config:N.value,series:K.value},D.value=!0,M.value=e.seriesIndex;let o=I.value.customFormat;if(n(o))try{let t=o({seriesIndex:e.seriesIndex,datapoint:e,series:K.value,config:N.value});typeof t==`string`&&($e.value=t,k.value=!0)}catch{console.warn(`Custom format cannot be applied.`),k.value=!1}if(!k.value){let n=``,a=P.value.gradient.show,o=`tooltip_grad_${r}_${E.value}`,s=i(c(e.color,.05),100-P.value.gradient.intensity),ee=a?`<rect x="0" y="0" width="10" height="10" rx="${Z.value}" fill="${P.value.gradient.underlayerColor}"/>`:``,ne=a?`<defs><radialGradient id="${o}"><stop offset="0%" stop-color="${s}"/><stop offset="100%" stop-color="${e.color}"/></radialGradient></defs>`:``;n+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${I.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,n+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 10 10" height="14" width="14">${ne}${ee}<rect x="0" y="0" width="10" height="10" rx="${Z.value}" fill="${a?`url(#${o})`:e.color}"/></svg>`,n+=`<b>${e.proportionLabel}</b>`,n+=`<span>(${te(F.value.value.formatter,e.value,t({p:F.value.value.prefix,v:e.value,s:F.value.value.suffix,r:F.value.value.rounding}),{datapoint:e,seriesIndex:r})})</span>`,$e.value=`<div>${n}</div>`}}let bt=u(()=>{let e=P.value.borderRadius==null?W.value.height/2:P.value.borderRadius;return Math.min(Math.max(e,0),W.value.height/2)}),Z=u(()=>{let e=W.value.height/2;return e===0?5:bt.value/e*5});function Q(e){let t=nt.value[e];t&&typeof t.focus==`function`&&t.focus()}function xt(e){if(!Number.isFinite(e)||!B.value)return;let t=Y.value[e];if(!t)return;let n=B.value.getBoundingClientRect(),r=t.start+t.width/2,i=W.value.height/2;et.value={x:n.left+r/W.value.width*n.width,y:n.top+i/W.value.height*n.height}}function St(){A.value=null,tt.value=!0}function Ct(){A.value=null,j.value=`pointer`,D.value=!1,M.value=null,tt.value=!1}function wt(e){if(!B.value||document.activeElement!==B.value||!Y.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`,a=e.key===`Home`,o=e.key===`End`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),i){A.value=null,j.value=`pointer`,D.value=!1,M.value=null;return}if(r){if(A.value===null)return;let e=Y.value[A.value];if(!e)return;X(e,e.seriesIndex);return}let s=A.value;a?s=0:o?s=Y.value.length-1:s===null||s<0||s>=Y.value.length?s=n?0:Y.value.length-1:n?(s+=1,s>=Y.value.length&&(s=0)):t&&(--s,s<0&&(s=Y.value.length-1));let c=Y.value[s];c&&(A.value=s,xt(s),yt({datapoint:c,seriesIndex:c.seriesIndex,triggerMode:`keyboard`}))}function Tt(e){D.value=!1,A.value=null,j.value=`pointer`,M.value=e.seriesIndex}function Et(){A.value=null,j.value=`pointer`,D.value=!1,M.value=null}function Dt(e,t,n){let r=e.key===`Enter`||e.key===` `,i=e.key===`ArrowLeft`||e.key===`ArrowUp`,a=e.key===`ArrowRight`||e.key===`ArrowDown`,o=e.key===`Home`,s=e.key===`End`,c=e.key===`Escape`;if(r||i||a||o||s||c){if(e.preventDefault(),e.stopPropagation(),c){Et();return}if(r){J(n),X(t,n,!0);return}if(o){Q(0);return}if(s){Q(K.value.length-1);return}if(i){Q(n<=0?K.value.length-1:n-1);return}a&&Q(n>=K.value.length-1?0:n+1)}}let $=u(()=>({headers:[N.value.a11y.translations.series,N.value.a11y.translations.percentage,N.value.a11y.translations.value],rows:K.value.map((e,n)=>[e.name,G.value.includes(n)?` - `:e.proportionLabel,te(F.value.value.formatter,e.value,t({p:F.value.value.prefix,v:e.value,s:F.value.value.suffix,r:F.value.value.rounding}),{datapoint:e,seriesIndex:n})])}));return fe({hideSeries:ht,showSeries:mt}),(e,n)=>(y(),p(`div`,{class:`vue-data-ui-component vue-ui-spark-stackbar`,ref_key:`sparkstackbarChart`,ref:Qe,style:v(`width:100%; background:${L.value.backgroundColor}`)},[m(`div`,{id:`chart-instructions-${E.value}`,class:`sr-only`},[m(`p`,null,C(N.value.a11y.translations.keyboardNavigation),1)],8,Oe),$.value?.rows?.length?(y(),d(he,{key:0,uid:E.value,head:$.value.headers,body:$.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),L.value.title.text?(y(),p(`div`,{key:1,style:v(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${L.value.title.margin};padding: 0 6px;text-align:${L.value.title.textAlign}`)},[m(`div`,{class:`atom-title`,style:v(`font-size:${L.value.title.fontSize}px;color:${L.value.title.color};font-weight:${L.value.title.bold?`bold`:`normal`}`)},C(L.value.title.text),5),L.value.title.subtitle.text?(y(),p(`div`,{key:0,class:`atom-subtitle`,style:v(`font-size:${L.value.title.subtitle.fontSize}px;color:${L.value.title.subtitle.color};font-weight:${L.value.title.subtitle.bold?`bold`:`normal`}`)},C(L.value.title.subtitle.text),5)):f(``,!0)],4)):f(``,!0),m(`div`,ke,[(y(),p(`svg`,{ref_key:`svgRef`,ref:B,xmlns:w(re),width:`100%`,viewBox:`0 0 ${W.value.width} ${W.value.height}`,"aria-describedby":`chart-instructions-${E.value}`,tabindex:`0`,onFocus:St,onBlur:Ct,onKeydown:wt},[be(w(qe)),m(`defs`,null,[(y(!0),p(l,null,x(Y.value,(e,t)=>(y(),d(pe,{t:`linear`,id:`stack_gradient_${t}_${E.value}`,key:`stack_gradient_${t}`,gradientTransform:`rotate(90)`,stops:[[`0%`,e.color,1],[`50%`,w(i)(w(c)(e.color,.05),100-P.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128)),m(`clipPath`,{id:`stackPill_${E.value}`},[m(`rect`,{x:`0`,y:`0`,width:gt.value,height:W.value.height,rx:bt.value,class:g({animated:!U.value&&!w(R)})},null,10,Me)],8,je)]),ut.value>0?(y(),p(l,{key:0},[m(`g`,{"clip-path":`url(#stackPill_${E.value})`},[(y(!0),p(l,null,x(Y.value,(e,t)=>(y(),p(`rect`,{key:`stack_underlayer_${t}`,x:e.start,y:0,width:e.width,height:W.value.height,fill:P.value.gradient.underlayerColor,class:g({animated:!U.value&&!w(R)}),style:v({opacity:D.value&&M.value!==null&&I.value.show?M.value===e.seriesIndex?1:.5:1})},null,14,Pe))),128)),(y(!0),p(l,null,x(Y.value,(e,t)=>(y(),p(`rect`,{key:`stack_${t}`,x:e.start,y:0,width:e.width,height:W.value.height,fill:P.value.gradient.show?`url(#stack_gradient_${t}_${E.value})`:e.color,class:g({animated:!U.value&&!w(R)}),style:v({opacity:D.value&&M.value!==null&&I.value.show?M.value===e.seriesIndex?1:.5:1})},null,14,Fe))),128)),(y(!0),p(l,null,x(Y.value.slice(1),(e,t)=>(y(),p(`rect`,{key:`stack_separator_${t}`,x:e.start-.5,y:`0`,width:`1`,height:W.value.height,fill:L.value.backgroundColor,"pointer-events":`none`,class:g({animated:!U.value&&!w(R)})},null,10,Ie))),128)),(y(!0),p(l,null,x(Y.value,(e,t)=>(y(),p(`rect`,{key:`stack_trap_${t}`,x:e.start,y:0,width:e.width,height:W.value.height,fill:`transparent`,stroke:`none`,class:g({animated:!U.value&&!w(R)}),onClick:()=>X(e,t),onMouseenter:()=>yt({datapoint:e,seriesIndex:e.seriesIndex}),onMouseleave:t=>vt({datapoint:e,seriesIndex:e.seriesIndex})},null,42,Le))),128))],8,Ne),m(`rect`,{x:`0.5`,y:`0.5`,width:W.value.width-1,height:W.value.height-1,rx:Math.max(0,bt.value-.5),fill:`none`,stroke:L.value.backgroundColor,"stroke-width":`1`,"pointer-events":`none`},null,8,Re)],64)):(y(),p(`rect`,{key:1,x:2,y:1,width:W.value.width-4,height:W.value.height-2,stroke:`#CCCCCC`,"stroke-width":`2`,fill:`transparent`,rx:(W.value.height-4)/2},null,8,ze))],40,Ae)),e.$slots.hint?(y(),p(`div`,Be,[S(e.$slots,`hint`,_(h({hint:N.value.a11y.translations.keyboardNavigation,isVisible:tt.value})),void 0,!0)])):f(``,!0)]),F.value.show?(y(),p(`div`,{key:2,style:v(`background:transparent;margin:0 auto;margin:${F.value.margin};justify-content:${F.value.textAlign===`left`?`flex-start`:F.value.textAlign===`right`?`flex-end`:`center`}`),class:`vue-ui-sparkstackbar-legend`,"aria-label":`legend`,role:`toolbar`},[F.value.selectAllToggle.show&&K.value.length>2&&!w(R)?(y(),d(me,{key:0,backgroundColor:F.value.selectAllToggle.backgroundColor,color:F.value.selectAllToggle.color,fontSize:F.value.fontSize,checked:G.value.length>0,isCursorPointer:it.value,onToggle:ft},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0),(y(!0),p(l,null,x(K.value,(e,n)=>(y(),p(`div`,{role:`button`,tabindex:`0`,"aria-pressed":G.value.includes(n),"aria-label":`${e.name}, ${G.value.includes(n)?`hidden`:`visible`}, ${e.proportionLabel}`,style:v(`font-size:${F.value.fontSize}px;cursor:${it.value?`pointer`:`default`}`),class:g({"vue-ui-sparkstackbar-legend-item":!0,"vue-ui-sparkstackbar-legend-item-unselected":G.value.includes(n)}),onClick:t=>{J(n),X(e,n,!0)},onFocus:t=>Tt(e),onBlur:Et,onKeydown:t=>Dt(t,e,n)},[m(`div`,He,[(y(),p(`svg`,{height:`${F.value.fontSize}px`,width:`${F.value.fontSize}px`,viewBox:`0 0 10 10`},[m(`defs`,null,[be(pe,{t:`radial`,id:`legend_grad_${n}-${E.value}`,stops:[[`0%`,w(R)?`#FFFFFF`:w(i)(w(c)(e.color,.05),100-P.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`])]),P.value.gradient.show?(y(),p(`rect`,{key:0,x:`0`,y:`0`,width:`10`,height:`10`,rx:Z.value,fill:P.value.gradient.underlayerColor},null,8,We)):f(``,!0),m(`rect`,{x:`0`,y:`0`,width:`10`,height:`10`,rx:Z.value,fill:P.value.gradient.show?`url(#legend_grad_${n}-${E.value})`:e.color},null,8,Ge)],8,Ue)),w(R)?f(``,!0):(y(),p(l,{key:0},[m(`span`,{style:v(`color:${F.value.name.color}; font-weight:${F.value.name.bold?`bold`:`normal`}`)},C(e.name),5),U.value?f(``,!0):(y(),p(l,{key:0},[F.value.percentage.show?(y(),p(`span`,{key:0,style:v(`font-weight:${F.value.percentage.bold?`bold`:`normal`};color:${F.value.percentage.color}`)},C(G.value.includes(n)?` - `:e.proportionLabel),5)):f(``,!0),F.value.value.show?(y(),p(`span`,{key:1,style:v(`font-weight:${F.value.value.bold?`bold`:`normal`};color:${F.value.value.color}`)},` (`+C(w(te)(F.value.value.formatter,e.value,w(t)({p:F.value.value.prefix,v:e.value,s:F.value.value.suffix,r:F.value.value.rounding}),{datapoint:e,seriesIndex:n}))+`) `,5)):f(``,!0)],64))],64))])],46,Ve))),256))],4)):f(``,!0),be(w(Je),{teleportTo:I.value.teleportTo,show:D.value&&I.value.show,parent:Qe.value,backgroundColor:I.value.backgroundColor,color:I.value.color,fontSize:I.value.fontSize,borderRadius:I.value.borderRadius,borderColor:I.value.borderColor,borderWidth:I.value.borderWidth,backgroundOpacity:I.value.backgroundOpacity,position:I.value.position,content:$e.value,isCustom:k.value,offsetX:I.value.offsetX,offsetY:-124+I.value.offsetY,blockShiftY:!0,smooth:I.value.smooth,backdropFilter:I.value.backdropFilter,smoothForce:I.value.smoothForce,smoothSnapThreshold:I.value.smoothSnapThreshold,isA11yMode:j.value===`keyboard`,a11yPosition:et.value},{"tooltip-before":Ee(()=>[S(e.$slots,`tooltip-before`,_(h({...O.value})),void 0,!0)]),tooltip:Ee(()=>[S(e.$slots,`tooltip`,_(h({...O.value})),void 0,!0)]),"tooltip-after":Ee(()=>[S(e.$slots,`tooltip-after`,_(h({...O.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`parent`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`content`,`isCustom`,`offsetX`,`offsetY`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),e.$slots.source?(y(),p(`div`,Ke,[S(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),S(e.$slots,`skeleton`,{},()=>[w(R)?(y(),d(de,{key:0})):f(``,!0)],!0)],4))}},[[`__scopeId`,`data-v-c969a2ef`]]);export{De as n,qe as t};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{n as t,t as n}from"./tableIntegration-CNoJ1CIY.js";import{n as r,t as a}from"./annotationSlots-BRR85CqJ.js";import{n as o,t as s}from"./userOptionsSlots-DYuo-E5m.js";import{$ as c,D as l,Dt as u,Ft as d,Ht as f,J as p,S as m,X as ee,Y as te,Zt as ne,_ as re,_t as ie,at as ae,c as oe,dt as se,en as ce,gt as le,i as ue,in as de,nn as fe,nt as pe,ot as me,pt as he,r as ge,t as _e,tn as ve,v as ye,w as be,wt as xe,yt as Se,zt as Ce}from"./lib-zDxoqrgo.js";import{n as we,t as Te}from"./useHints-BH9r_0Vd.js";import{n as Ee,r as De,t as Oe}from"./useTimeLabels-Das5O74F.js";import{t as ke}from"./useConfig-CKdzPrcf.js";import{t as Ae}from"./usePrinter-CnyKPIFM.js";import{n as je,t as Me}from"./BaseScanner-8NdoBs7B.js";import{t as Ne}from"./useNestedProp-CT9phgWx.js";import{t as Pe}from"./useThemeCheck-BKNRbGeC.js";import{t as Fe}from"./useChartExport-DtPNpc9M.js";import{t as Ie}from"./useTransitions-DfSHzsdz.js";import{t as Le}from"./useStableElementSize-CegFbRlF.js";import{t as Re}from"./useTimeLabelCollider-XQf_S7-z.js";import{t as ze}from"./img-8sM3sVWU.js";import{n as Be}from"./Title-BRAjxtjG.js";import{t as Ve}from"./Shape-tkp65OcG.js";import{t as He}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{l as Ue,t as We}from"./useResponsive-D2CPcpda.js";import{t as Ge}from"./DefGrad-DKMq1REY.js";import{t as Ke}from"./SlicerPreview-GFRs2EWB.js";import{t as qe}from"./BaseLegendToggle-Dn_tNvn4.js";import{t as Je}from"./A11yDataTable-DWNlWXzs.js";import{t as Ye}from"./useUserOptionState-CXlFnwPv.js";import{t as Xe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ze}from"./Legend-DokTll4u.js";import{t as Qe}from"./vue_ui_stackbar-BkBIi_bL.js";import{Fragment as h,Teleport as $e,computed as g,createBlock as et,createCommentVNode as _,createElementBlock as v,createElementVNode as tt,createSlots as nt,createTextVNode as rt,createVNode as it,defineAsyncComponent as at,guardReactiveProps as ot,mergeProps as st,nextTick as ct,normalizeClass as y,normalizeProps as lt,normalizeStyle as b,onBeforeUnmount as ut,onMounted as dt,openBlock as x,ref as S,renderList as C,renderSlot as w,resolveDynamicComponent as ft,shallowRef as pt,toDisplayString as T,toRefs as mt,unref as E,useSlots as ht,vShow as gt,watch as _t,watchEffect as vt,withCtx as D,withDirectives as yt}from"vue";var bt=/* @__PURE__ */ e({default:()=>kn}),xt=[`id`],St=[`id`],Ct=[`id`],wt={style:{position:`relative`}},Tt=[`xmlns`,`aria-describedby`,`viewBox`],Et=[`x`,`y`,`width`,`height`],Dt={key:1},Ot={key:2},kt={key:3},At=[`id`],jt=[`x`,`y`,`width`,`height`,`rx`],Mt=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],Nt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Pt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Ft=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],It=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Lt={key:0},Rt=[`data-cy`,`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],zt={key:0},Bt=[`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],Vt=[`data-cy`,`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Ht={key:0},Ut=[`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Wt={key:9,style:{"pointer-events":`none`}},Gt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Kt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],qt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Jt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Yt=[`transform`,`font-size`,`fill`,`font-weight`],Xt=[`transform`,`font-size`,`fill`,`font-weight`],Zt=[`transform`,`font-size`,`font-weight`,`fill`],Qt=[`transform`,`font-size`,`fill`,`font-weight`],$t=[`transform`,`font-size`,`font-weight`,`fill`],en={key:16,style:{"pointer-events":`none`}},tn=[`x`,`y`,`text-anchor`,`font-size`,`font-weight`,`fill`],nn=[`stroke`,`d`],rn=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],an=[`d`,`stroke`],on=[`font-size`,`font-weight`,`fill`,`text-anchor`,`transform`],sn={key:0},cn={key:1},ln=[`text-anchor`,`font-size`,`font-weight`,`fill`,`transform`,`onClick`],un=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],dn={key:0},fn={key:1},pn=[`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],mn=[`font-size`,`font-weight`,`fill`,`transform`,`onClick`,`innerHTML`],hn=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],gn=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],_n=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],vn=[`data-start`,`data-end`],yn={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},bn={key:4,class:`vue-data-ui-watermark`},xn={key:0},Sn=[`id`],Cn=[`x`,`y`,`width`,`height`,`rx`],wn=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`clip-path`],Tn=[`id`],En=[`onClick`],Dn={key:0},On={key:1},kn=/*#__PURE__*/ He({__name:`vue-ui-stackbar`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},selectedXIndex:{type:Number,default:void 0},zoomState:{type:Object,default:null}},emits:[`selectDatapoint`,`selectLegend`,`selectTimeLabel`,`selectX`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:He,emit:bt}){let kn=at(()=>import(`./Tooltip-BUXB0i6z.js`)),An=at(()=>import(`./BaseIcon-Cz30ODFA.js`).then(e=>e.n)),jn=at(()=>import(`./vue-ui-accordion-Dy5OVFKr.js`).then(e=>e.n)),Mn=at(()=>import(`./DataTable-DSUA5M9p.js`)),Nn=at(()=>import(`./PenAndPaper-DvJJaeU2.js`).then(e=>e.t)),Pn=at(()=>import(`./UserOptions-D65t74CM.js`).then(e=>e.n)),Fn=at(()=>import(`./PackageVersion-D6pKL176.js`).then(e=>e.t)),In=at(()=>import(`./BaseDraggableDialog-T1gEsQid.js`).then(e=>e.n)),{vue_ui_stackbar:Ln}=ke(),{isThemeValid:Rn,warnInvalidTheme:zn}=Pe(),Bn=ht(),O=e,k=bt,Vn=g({get(){return!!O.dataset&&O.dataset.length},set(e){return e}}),Hn=S(null),A=S(ee()),Un=S(!1),Wn=S(null),Gn=S(``),j=S([]),Kn=S(0),qn=S(null),Jn=S(null),Yn=S(null),Xn=S(null),Zn=S(!1),M=S(null),Qn=S(!1),$n=S(0),er=S(0),tr=S(0),nr=S(!1),rr=S(null),ir=S(null),ar=S(null),or=S(null),sr=S(null),cr=S(null),lr=S(null),ur=S(null),dr=pt(null),fr=S(!1),pr=S(0),mr=S(0),N=S(null),hr=S({x:0,y:0}),gr=S(`pointer`),_r=Le({elementRef:dr,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{br()}});function vr(){dr.value=Hn.value?.parentNode??null}function yr(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function br(){let e=++mr.value;fr.value=!1,await ct(),await yr(),await yr(),e===mr.value&&(pr.value+=1,fr.value=!0)}let xr=S(null);dt(()=>{nr.value=!0,vr(),_r.start(),di()});let P=S(Zr()),F=g(()=>P.value.userOptions),I=g(()=>P.value.style.chart.grid),L=g(()=>P.value.style.chart.bars),R=g(()=>{let e=P.value.style.chart.grid.x.timeLabels;if(!H.value)return e;let t=U.value.categoryLabels;return{...e,...t,values:G.value.map(e=>e.name),datetimeFormatter:{...e.datetimeFormatter,enable:!1}}}),z=g(()=>P.value.style.chart.tooltip),B=g(()=>P.value.style.chart);we({config:()=>P.value,dataset:()=>O.dataset,component:`VueUiStackbar`,rules:[Te.emptyArray,{test:e=>e.some(e=>e.series.length>60),message:[`👀 Some series have > 60 datapoints. Consider`,``,`▶️ Using VueUiStackline instead, for better readability.`,``,`▶️ Aggregating data to larger time units, to reduce the number of datapoints.`,``,`▶️ Using filters to constraint the data to a specific time range.`]},{test:e=>e.length>6,message:[`👀 The number of series > 6, which can make the chart hard to read. Consider:`,``,`▶️ Grouping small values into an "Other" category.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`]}]});let{transitionEnabled:Sr}=Ie({config:()=>P.value.transitions,dataset:()=>O.dataset}),V=g(()=>P.value.userOptions.useCursorPointer),Cr=g(()=>de({defaultConfig:{userOptions:{show:!1},useCssAnimation:!1,table:{show:!1},tooltip:{show:!1},style:{chart:{backgroundColor:`#99999930`,bars:{totalValues:{show:!1},dataLabels:{show:!1}},grid:{frame:{stroke:`#6A6A6A`},scale:{scaleMin:0,scaleMax:40},x:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},timeLabels:{show:!1}},y:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},axisLabels:{show:!1}}},legend:{backgroundColor:`transparent`},padding:{left:24,right:24,bottom:12},zoom:{show:!1,startIndex:null,endIndex:null}}}},userConfig:P.value.skeletonConfig??{}})),{loading:wr,FINAL_DATASET:Tr,manualLoading:Er}=je({...mt(O),FINAL_CONFIG:P,prepareConfig:Zr,callback:()=>{Promise.resolve().then(async()=>{(!B.value.zoom.keepState||!po.value||X.value.start===0&&X.value.end===0)&&await mo()})},skeletonDataset:O.config?.skeletonDataset??[{name:``,series:[2,3,5,8,13,21],color:`#BABABA`},{name:``,series:[1,2,3,5,8,13],color:`#CACACA`}],skeletonConfig:de({defaultConfig:P.value,userConfig:Cr.value})}),Dr=g(()=>(Tr.value??[]).find(e=>e?.type===`waterfall`)??null),H=g(()=>!!Dr.value&&!wr.value),U=g(()=>P.value.style.chart.waterfall),W=g(()=>{let e=Number(H.value?U.value.bars.gapRatio:L.value.gapRatio);return Number.isFinite(e)?Math.max(0,Math.min(1.9,e)):.45}),Or=g(()=>H.value?U.value.bars.borderRadius:L.value.borderRadius);function kr(e,t){return String(e?.key??e?.id??e?.name??`Segment ${t+1}`)}function Ar(e){return Array.isArray(e?.series)?e.series:[]}function jr(e,t){let n=String(e?.type??(t===0?`total`:`change`)).toLowerCase();return[`total`,`subtotal`,`change`].includes(n)?n:`change`}let Mr=Object.freeze({total:`__waterfall_total__`,subtotal:`__waterfall_subtotal__`}),Nr=g(()=>{if(!H.value)return[];let e=/* @__PURE__ */ new Map;return(Dr.value?.series??[]).forEach(t=>{Ar(t).forEach((t,n)=>{if(!t||typeof t!=`object`)return;let r=kr(t,n);if(e.has(r))return;let a=e.size,o=m(t.color)||oi.value[a%(oi.value.length||1)]||f[a%f.length];e.set(r,{name:String(t.name??r),datasetKey:r,id:`waterfall-segment-${A.value}-${a}`,color:o,absoluteIndex:a})})}),Array.from(e.values())}),G=g(()=>{if(!H.value)return[];let e=Dr.value,t=Array.isArray(e?.series)?e.series:[],n=new Set(Nr.value.filter(e=>!j.value.includes(e.id)).map(e=>e.datasetKey)),r=new Map(Nr.value.map(e=>[e.datasetKey,e.color])),a=U.value,o=Number(e.startValue??0);return Number.isFinite(o)||(o=0),t.map((e,t)=>{let s=jr(e,t),c=s===`total`||s===`subtotal`,l=o,u=c?0:l,d=u,f=u,p=0,ee=Ar(e);c&&!ee.length&&(ee=[{name:s===`total`?`Total`:`Subtotal`,key:Mr[s],value:l}]);let te=[];ee.forEach((t,o)=>{if(!t||typeof t!=`object`)return;let c=kr(t,o);if(c!==Mr.total&&c!==Mr.subtotal&&!n.has(c))return;let l=Number(t.value??0);if(!Number.isFinite(l))return;let u=l<0?f:d,ee=u+l;l<0?f=ee:d=ee,p+=l;let ne=m(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;te.push({key:c,name:String(t.name??c),label:String(t.label??t.name??c),value:l,start:u,end:ee,color:ne||m(e?.color)||(a.colors.useSeriesColor?r.get(c):null)||re})});let ne=u+p,re=ne-l;return o=ne,{index:t,name:String(e?.label??e?.name??`${t+1}`),kind:s,isTotal:c,previousBalance:l,start:u,end:ne,balance:ne,change:re,hasMixedSigns:d>u&&f<u,positiveExtent:d,negativeExtent:f,segments:te,color:m(e?.color)||null}})});function Pr(e,t=`vertical`,n=q.value){let r=ea.value.max-ea.value.min||1,a=(e-ea.value.min)/r;return t===`vertical`?n.bottom-a*n.height:n.left+a*n.width}let Fr=g(()=>{let e=G.value,t=Nr.value.filter(e=>!j.value.includes(e.id)),n=e.slice(X.value.start,X.value.end);n.length;let r=W.value,a=[0,...e.flatMap(e=>[e.start,e.end,...e.segments.flatMap(e=>[e.start,e.end])])],o=Math.min(...a),s=Math.max(...a)-o||1,c=[...t],l=Nr.value.length;for(let[t,n]of[`total`,`subtotal`].entries()){let r=Mr[n];e.some(e=>e.segments.some(e=>e.key===r))&&c.push({name:n===`total`?`Total`:`Subtotal`,datasetKey:r,color:U.value.colors[n],id:`waterfall-${n}-${A.value}`,absoluteIndex:l+t})}return c.map(t=>{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)=>{let n=q.value.left+Q.value*t+Q.value*r/4,a=q.value.top+Q.value*t+Q.value*r/4;if(!e)return{x:n,horizontal_y:a,top:0,height:0,left:0,width:0};let o=Pr(e.start),s=Pr(e.end),c=Pr(e.start,`horizontal`),l=Pr(e.end,`horizontal`);return{x:n,horizontal_y:a,top:Math.min(o,s),height:Math.abs(s-o),left:Math.min(c,l),width:Math.abs(l-c)}});return{...t,series:u,signedSeries:u.map(e=>e<0?-1:1),waterfallSegments:c,waterfallColors:c.map(e=>e?.color||t.color),minimapWaterfallColors:a.map(e=>e?.color||t.color),rectKeys:u.map((e,n)=>ya(t,X.value.start+n)),minimapRectKeys:l.map((e,n)=>ya(t,n)),proportions:u.map((e,t)=>{let r=n[t]?.segments.reduce((e,t)=>e+Math.abs(t.value),0)||1;return Math.abs(e)/r}),x:d.map(e=>e.x),y:d.map(e=>e.top),height:d.map(e=>e.height),horizontal_y:d.map(e=>e.horizontal_y),horizontal_x:d.map(e=>e.left),horizontal_width:d.map(e=>e.width),xMinimap:({left:e,unitW:t})=>l.map((n,a)=>e+t*a+t*r/4),yMinimap:({minimapH:e})=>a.map(t=>t?e*(1-(Math.max(t.start,t.end)-o)/s):e),heightMinimap:({minimapH:e})=>a.map(t=>t?e*Math.abs(t.end-t.start)/s:0)}})}),Ir=g(()=>G.value.slice(X.value.start,X.value.end)),Lr=g(()=>{let e=P.value.orientation===`vertical`,t=Q.value*(1-W.value/2);return Ir.value.map((n,r)=>{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=Pr(s,e?`vertical`:`horizontal`),u=Pr(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;return{x:e?d:Math.min(l,u),y:e?Math.min(l,u):d,width:f,height:p,radius:Math.min(Math.max(0,Or.value),f/2,p/2),step:n,index:r}})});function Rr(e,t,n){let r=Number(e.radius)||0;if(r<=0)return 0;let a=n?e.y:e.x,o=n?e.height:e.width;if(o<=0)return 0;let s=Math.max(0,Math.min(t-a,a+o-t));if(s>=r)return 0;let c=r-s;return r-Math.sqrt(Math.max(0,r*r-c*c))}let zr=g(()=>{if(!H.value||!U.value.connectors.show)return[];let e=P.value.orientation===`vertical`,t=U.value.connectors,n=Lr.value,r=[],a=1e-7,o=e=>e.kind===`change`&&e.segments.every(e=>Math.abs(e.end-e.start)<=a);for(let s=0;s<n.length-1;s+=1){let c=n[s];if(o(c.step)||!c.step.segments.length)continue;let l=s+1;for(;l<n.length&&o(n[l].step);)l+=1;if(l>=n.length)continue;let u=n[l];if(!u.step.segments.length)continue;let d=u.step.isTotal?u.step.end:u.step.start;if(Math.abs(c.step.end-d)>a)continue;let f=Pr(c.step.end,e?`vertical`:`horizontal`),p=(t.adaptToRadius?Rr(c,f,e):0)+Number(t.inset||0),m=(t.adaptToRadius?Rr(u,f,e):0)+Number(t.inset||0);if(e){let e=c.x+c.width-p,t=u.x+m;if(t<e)continue;r.push({x1:e,y1:f,x2:t,y2:f,key:`${c.step.index}-${u.step.index}`})}else{let e=c.y+c.height-p,t=u.y+m;if(t<e)continue;r.push({x1:f,y1:e,x2:f,y2:t,key:`${c.step.index}-${u.step.index}`})}}return r}),Br=g(()=>{if(!H.value||!U.value.stepLabels.show)return[];let e=P.value.orientation===`vertical`,t=U.value.stepLabels;return Lr.value.map(n=>{let r=n.step,a=r.isTotal&&t.useBalanceForTotals?r.balance:r.change;if(!t.showZero&&!a)return null;let o=c({p:t.prefix+(t.showPlusSign&&a>0?`+`:``),v:a,s:t.suffix,r:t.rounding}),s=ue(t.formatter,a,o,{datapoint:r,seriesIndex:0,datapointIndex:r.index}),l=(Number(t.offset)||0)+7,u=r.isTotal?Math.sign(r.balance):Math.sign(r.change);return e?{key:r.index,text:s,x:n.x+n.width/2,y:u<0?n.y+n.height+l+t.fontSize:n.y-l,anchor:`middle`}:{key:r.index,text:s,x:u<0?n.x-l:n.x+n.width+l,y:n.y+n.height/2+t.fontSize/3,anchor:u<0?`end`:`start`}}).filter(Boolean)});function Vr(e,t){let n=U.value.segmentLabels;if(!n.show||!e.waterfallSegments?.[t]||e.series[t]===0&&!n.showZero)return!1;let r=P.value.orientation===`vertical`?e.height[t]:Q.value*(1-W.value/2),a=P.value.orientation===`vertical`?Q.value*(1-W.value/2):e.horizontal_width[t];return r>=n.minHeight&&a>=n.minWidth}function Hr(e,t){let n=e.waterfallSegments[t],r=U.value.segmentLabels;return ue(r.formatter,n.value,c({p:r.prefix,v:n.value,s:r.suffix,r:r.rounding}),{datapoint:{...n,step:Ir.value[t]},seriesIndex:e.absoluteIndex,datapointIndex:X.value.start+t})}function Ur(e,t){return H.value?U.value.bars.gradient.show?`url(#waterfall-gradient-${A.value}-${e.absoluteIndex}-${X.value.start+t})`:e.waterfallColors?.[t]||e.color:L.value.gradient.show?`url(#gradient_${e.id})`:e.color}function Wr(e){return me(String(e??``))}let{userOptionsVisible:Gr,setUserOptionsVisibility:Kr,keepUserOptionState:qr}=Ye({config:P.value}),{svgRef:Jr}=Xe({config:B.value.title});function Yr(){Kr(!0)}function Xr(){Kr(!1),k(`selectX`,{index:null,indexLabel:null,dataset:null}),M.value=null,N.value=null,Un.value=!1}function Zr(){let e=Ne({userConfig:O.config,defaultConfig:Ln}),t={};O.config&&xe(O.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!O.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!Rn.value(e))zn(e),t=e;else{let r=Ne({userConfig:Qe[n]||O.config,defaultConfig:e});t={...Ne({userConfig:O.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:fe[n]||f}}}else t=e;return t}let Qr=g(()=>L.value.dataLabels.hideUnderValue!=null),$r=g(()=>L.value.dataLabels.hideUnderPercentage!=null),ei=ne(O.config);_t(()=>O.config,(e,t)=>{let n=ne(e),r=n!==ei;ei=n;let a=Zr();if(!r){P.value.style.chart.tooltip=a.style.chart.tooltip,K.value.showTooltip=P.value.style.chart.tooltip.show;return}wr.value||(P.value=a),Gr.value=!P.value.userOptions.showOnChartHover,K.value.dataLabels.show=H.value?U.value.segmentLabels.show||U.value.stepLabels.show:L.value.dataLabels.show,K.value.showTable=P.value.table.show,K.value.showTooltip=z.value.show,di({resetSlicer:!B.value.zoom.keepState}),$n.value+=1,er.value+=1,tr.value+=1,vr(),!B.value.zoom.keepState||!po.value||X.value.start===0&&X.value.end===0?mo():Wi()},{deep:!0}),_t(()=>O.dataset,e=>{Array.isArray(e)&&e.length>0&&(Er.value=!1),vr(),B.value.zoom.keepState?Wi():qi()},{deep:!0});let K=S({dataLabels:{show:H.value?U.value.segmentLabels.show||U.value.stepLabels.show:L.value.dataLabels.show},showTable:P.value.table.show,showTooltip:z.value.show});_t(P,()=>{K.value={dataLabels:{show:H.value?U.value.segmentLabels.show||U.value.stepLabels.show:L.value.dataLabels.show},showTable:P.value.table.show,showTooltip:z.value.show}},{immediate:!0});let{isPrinting:ti,isImaging:ni,generatePdf:ri,generateImage:ii}=Ae({elementId:`stackbar_${A.value}`,fileName:B.value.title.text||`vue-ui-stackbar`,options:P.value.userOptions.print}),ai=S({width:B.value.width,height:B.value.height,paddingRatio:{top:B.value.padding.top/B.value.height,right:B.value.padding.right/B.value.width,bottom:B.value.padding.bottom/B.value.height,left:B.value.padding.left/B.value.width}}),oi=g(()=>be(P.value.customPalette)),si=pt(null),ci=pt(null),li=S(null),ui=g(()=>P.value.debug);function di({resetSlicer:e=!0}={}){if(Ce(O.dataset)?(ae({componentName:`VueUiStackbar`,type:`dataset`,debug:ui.value}),Er.value=!0):O.dataset.forEach((e,t)=>{Se({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{Vn.value=!1,ae({componentName:`VueUiStackbar`,type:`datasetSerieAttribute`,property:e,index:t,debug:ui.value}),Er.value=!0})}),Ce(O.dataset)||(Er.value=P.value.loading),setTimeout(()=>{Qn.value=!0},10),P.value.responsive){let e=Ue(()=>{Qn.value=!1;let{width:e,height:t}=We({chart:Hn.value,title:B.value.title.text?qn.value:null,legend:B.value.legend.show?Jn.value:null,slicer:B.value.zoom.show&&Y.value>6?Yn.value.$el:null,source:Xn.value});requestAnimationFrame(()=>{ai.value.width=e,ai.value.height=t-12,clearTimeout(li.value),li.value=setTimeout(()=>{Qn.value=!0},10)})});si.value&&(ci.value&&si.value.unobserve(ci.value),si.value.disconnect()),si.value=new ResizeObserver(e),ci.value=Hn.value.parentNode,si.value.observe(ci.value)}br(),e&&mo()}ut(()=>{_r.stop(),si.value&&(ci.value&&si.value.unobserve(ci.value),si.value.disconnect())});let fi=g(()=>I.value.y.position===`right`);function pi(){let e=0;P.value.orientation===`vertical`&&sr.value&&(e=Array.from(sr.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0)),P.value.orientation===`horizontal`&&cr.value&&(e=Array.from(cr.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0));let t=or.value?or.value.getBoundingClientRect().width+I.value.y.axisName.fontSize+I.value.y.axisName.offsetX:0;return{left:fi.value?0:e+t,right:fi.value?e+t:0,scaleLabelsWidth:e,yAxisLabelWidth:t}}let mi=S(0),hi=S(0),gi=Ue(e=>{hi.value=e+L.value.totalValues.fontSize},100);function _i(){if(P.value.orientation!==`horizontal`)return 0;let e=ur.value;if(!e)return 0;let t=Array.from(e.querySelectorAll(`text`));if(!t.length)return 0;let n=-1/0;for(let e of t)try{let t=e.getBBox(),r=t.x+t.width;r>n&&(n=r)}catch{}return Math.max(0,n-(q.value?.right??0))}vt(e=>{if(P.value.orientation!==`horizontal`)return;let t=ur.value;if(!t)return;let n=()=>{let e=_i();gi(e)};n();let r=new ResizeObserver(n);r.observe(t);let a=new MutationObserver(n);a.observe(t,{childList:!0,subtree:!0,characterData:!0}),e(()=>{r.disconnect(),a.disconnect()})}),ut(()=>{mi.value=0,hi.value=0});let vi=S(0),yi=S(0);function bi(e){let t=Number.isFinite(e)?e:0;vi.value!==t&&(vi.value=t)}function xi(){let e=P.value.orientation===`vertical`?cr.value:sr.value;if(!e){bi(0);return}try{bi(e.getBBox()?.height)}catch{bi(0)}}function Si(){yi.value&&cancelAnimationFrame(yi.value),yi.value=requestAnimationFrame(()=>{requestAnimationFrame(()=>{xi()})})}ut(()=>{yi.value&&cancelAnimationFrame(yi.value)});let Ci=g(()=>{let e=0;if(ar.value)try{e=ar.value.getBBox().height}catch{e=0}let t=R.value.show?vi.value:0;return e+t}),q=g(()=>{pr.value;let{height:e,width:t}=ai.value,{right:n}=ai.value.paddingRatio,r=H.value&&U.value.stepLabels.show?U.value.stepLabels.fontSize*1.5+U.value.stepLabels.offset:L.value.totalValues.show&&O.dataset&&O.dataset.length>1?L.value.totalValues.fontSize*1.3:0,a=0,o=0,s=0,c=0;if(I.value.y.axisLabels.show){let e=pi();a=e.left,o=e.right,s=e.scaleLabelsWidth,c=e.yAxisLabelWidth}let l=B.value.padding.top+r,u=t-t*n-hi.value-o,d=e-B.value.padding.bottom-Ci.value-r,f=B.value.padding.left+a,p=t-f-t*n-hi.value-o,m=e-l-B.value.padding.bottom-Ci.value-r;return{chartHeight:e,chartWidth:t,top:l,right:u,bottom:d,left:f,width:Math.max(0,p),height:Math.max(0,m),offsetLeft:a,offsetRightAxis:o,scaleLabelsWidth:s,yAxisLabelWidth:c}}),wi=g(()=>{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={fill:B.value.zoom.preview.fill,stroke:B.value.zoom.preview.stroke,"stroke-width":B.value.zoom.preview.strokeWidth,"stroke-dasharray":B.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}};if(P.value.orientation===`horizontal`){let a=r/s;return{x:e,y:t+c*a,width:n,height:u*a,...d}}{let a=n/s;return{x:e+c*a,y:t,width:u*a,height:r,...d}}}),J=g(()=>{if(H.value){let e=Dr.value.series??[];return Nr.value.map(t=>{let n=e.map(e=>Ar(e).filter((e,n)=>kr(e,n)===t.datasetKey).reduce((e,t)=>e+(Number(t.value)||0),0));return{...t,series:n,signedSeries:n.map(e=>e<0?-1:1)}})}return Tr.value.map((e,t)=>{let n=ee(),r=String(e.key??e.id??e.name??n),a=m(e.color)||oi.value[t]||f[t]||f[t%f.length];return{...e,datasetKey:r,series:JSON.parse(JSON.stringify(e.series)).map(e=>L.value.distributed?Math.abs(e):e),signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:a}})}),Y=g(()=>{if(H.value)return Dr.value.series?.length??0;let e=Math.max(...J.value.filter(e=>!j.value.includes(e.id)).map(e=>e.series.length));return isFinite(e)?e:Math.max(...J.value.map(e=>e.series.length))});function Ti(e){xr.value=e}let X=S({start:0,end:Y.value}),Z=S({start:0,end:Y.value}),Ei=S(!1),Di=S(!1),Oi=S(null),ki=S(null),Ai=S(null),ji=S(!1),Mi=S({time:0,x:0,y:0,pointerType:null}),Ni=g(()=>B.value.zoom?.dragToZoom),Pi=g(()=>Ni.value.show&&Vn.value&&po.value&&Y.value>1&&!wr.value),Fi=null,Ii={},Li=g(()=>B.value.zoom.preview.enable&&(Z.value.start!==X.value.start||Z.value.end!==X.value.end));function Ri(e,t){Z.value[e]=t}function zi(e,t=X.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let a=Number(n?e.start:t.start),o=Number(r?e.end:t.end);return!Number.isFinite(a)||!Number.isFinite(o)?null:{start:a,end:o}}function Bi(e){let t=zi(e);t&&k(`update:zoomState`,t)}function Vi(){Fi&&=(cancelAnimationFrame(Fi),null),Ii={}}function Hi(e){let t=zi(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(X.value.start)||r!==Number(X.value.end))&&(Vi(),X.value={start:n,end:r},Z.value={start:n,end:r},Wi()),{start:Number(X.value.start),end:Number(X.value.end)}}function Ui(e){let t=Hi(e);return t?(k(`update:zoomState`,t),t):null}function Wi(){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));(!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,Yn.value&&Yn.value.setRangeValues(t,n)}let Gi=S(null);function Ki(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}ut(()=>{Gi.value&&cancelAnimationFrame(Gi.value),Vi(),Lo()});async function qi({force:e=!1,publish:t=!1}={}){if(B.value.zoom.keepState&&!e&&po.value&&(X.value.start!==0||X.value.end!==0)){Wi();return}let n=!e;mo(n),await ct(),Gi.value&&cancelAnimationFrame(Gi.value),Gi.value=requestAnimationFrame(async()=>{await Ki(),mo(n),Gi.value=null,t&&(Bi({start:Number(X.value.start),end:Number(X.value.end)}),k(`zoomReset`))})}let Q=g(()=>{let e;return e=P.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}),Ji=g(()=>ce(J.value.filter(e=>!j.value.includes(e.id))).slice(X.value.start,X.value.end)),Yi=g(()=>j.value.length===J.value.length),Xi=g(()=>B.value.zoom.minimap.show?H.value?G.value.map(e=>e.balance):ce(J.value.map(e=>({...e,series:e.series.map(e=>e??0)})).filter(e=>Yi.value?!0:!j.value.includes(e.id))):[]),Zi=g(()=>B.value.zoom.minimap.show?[{name:``,series:Xi.value,color:`#000000`,isVisible:!0}]:[]),Qi=g(()=>H.value?Ir.value.map(e=>e.change):ce(J.value.filter(e=>!j.value.includes(e.id)).map(e=>({...e,series:e.series.map((t,n)=>e.signedSeries[n]===-1&&t>=0?-t:t)}))).slice(X.value.start,X.value.end)),$i=g(()=>{let e=J.value.filter(e=>!j.value.includes(e.id));return{positive:ce(e.map(e=>({...e,series:e.series.slice(X.value.start,X.value.end).map(e=>e>=0?e:0)}))),negative:ce(e.map(e=>({...e,series:e.series.slice(X.value.start,X.value.end).map(e=>e<0?e:0)})))}}),ea=g(()=>{if(H.value){let e=[0,...Ir.value.flatMap(e=>[e.start,e.end,...e.segments.flatMap(e=>[e.start,e.end])])],t=Math.min(...e),n=Math.max(...e),r=I.value.scale.scaleMin,a=I.value.scale.scaleMax,o=r===null?t:Number(r),s=a===null?n:Number(a);return r!==null||a!==null?ye(o,s,I.value.scale.ticks):re(o,s,I.value.scale.ticks)}let e=I.value.scale.scaleMax!==null&&!L.value.distributed?I.value.scale.scaleMax:Math.max(...$i.value.positive),t=Math.min(...$i.value.negative),n=I.value.scale.scaleMin!==null&&!L.value.distributed?I.value.scale.scaleMin:[-1/0,1/0,NaN,void 0,null].includes(t)?0:t;return!L.value.distributed&&(I.value.scale.scaleMax!==null||I.value.scale.scaleMin!==null)?ye(n>0?0:n,e<0?0:e,I.value.scale.ticks):re(n>0?0:n,e<0?0:e,I.value.scale.ticks)}),ta=g(()=>ea.value.ticks),na=g(()=>{let e=ea.value,t=e.max+Math.abs(e.min);return ta.value.map(n=>({zero:q.value.bottom-q.value.height*(Math.abs(e.min)/t),y:q.value.bottom-q.value.height*((n+Math.abs(e.min))/t),x:fi.value?q.value.right+8:q.value.left-8,horizontal_zero:q.value.left+q.value.width*(Math.abs(e.min)/t),horizontal_x:q.value.left+q.value.width*((n+Math.abs(e.min))/t),horizontal_y:q.value.bottom-8,value:n}))}),ra=g(()=>{let e=I.value.y.axisLabels,{prefix:t,suffix:n}=L.value.dataLabels;return ta.value.map(r=>String(ue(e.formatter,r,c({p:t,v:r,s:n,r:e.rounding}),{datapoint:{value:r}})??``)).join(`|`)});_t(()=>[ra.value,P.value.orientation,I.value.y.axisLabels.show,I.value.y.axisLabels.fontSize,I.value.y.axisLabels.bold,I.value.y.position],()=>{I.value.y.axisLabels.show&&br()},{flush:`post`});let ia=S([]),aa=S([]),oa=0;vt(()=>{let e=++oa;if(H.value){let e=X.value.start;ia.value=G.value.slice(e,X.value.end).map((t,n)=>({text:t.name,absoluteIndex:e+n}));return}(async()=>{let t=await Oe({values:R.value.values,maxDatapoints:Y.value,formatter:R.value.datetimeFormatter,start:X.value.start,end:X.value.end});e===oa&&(ia.value=t)})()});let sa=0;vt(()=>{let e=++sa;if(H.value){aa.value=G.value.map(e=>({text:e.name,absoluteIndex:e.index}));return}(async()=>{let t=await Oe({values:R.value.values,maxDatapoints:Y.value,formatter:R.value.datetimeFormatter,start:0,end:Y.value});e===sa&&(aa.value=t)})()});let ca=g(()=>{let e=Math.max(1,Math.floor(Number(R.value.modulo)||1)),t=(ia.value||[]).map(e=>e?.text??``),n=(aa.value||[]).map(e=>e?.text??``),r=X.value.start??0,a=r>0||t.length<n.length;return le({configuredModulo:e,visibleTexts:t,allTexts:n,startAbs:r,isZoomed:a})});function la(e){if(H.value){let e=X.value.start??0,t=X.value.end??G.value.length;return G.value.slice(e,t).map((t,n)=>({text:t.name,absoluteIndex:e+n}))}let t=R.value,n=ia.value||[],r=aa.value||[],a=X.value.start??0,o=Y.value,s=n.map(e=>e?.text??``),c=r.map(e=>e?.text??``),l=oe(!!t.showOnlyFirstAndLast,!!t.showOnlyAtModulo,ca.value,s,c,a,e,o);if(!t.showFirstAndLast||t.showOnlyFirstAndLast||!l.length)return l;let u=l.length-1;return l.map((e,t)=>t!==0&&t!==u?e:{...e,text:s[t]??``})}let ua=g(()=>la(M.value)),da=g(()=>la(null));vt(()=>{P.value.orientation,R.value.show,R.value.fontSize,R.value.rotation,R.value.offsetY,da.value?.map(e=>e?.text??``).join(`|`),ra.value,ai.value.width,ai.value.height,cr.value,sr.value,ar.value,Si()},{flush:`post`});let fa=S({months:[],shortMonths:[],days:[],shortDays:[]}),pa=0;vt(()=>{let e=++pa,t=R.value.datetimeFormatter;(async()=>{let n=await De(t.locale).catch(()=>De(`en`));e===pa&&(fa.value=n.data)})()});let ma=g(()=>{let e=R.value.datetimeFormatter,t=Ee({useUTC:e.useUTC,locale:fa.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{if(H.value)return G.value[e]?.name??``;let r=R.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),ha=g(()=>H.value?G.value.map(e=>({text:e.name,absoluteIndex:e.index})):(R.value.values||[]).map((e,t)=>({text:ma.value(t,B.value.zoom.timeFormat),absoluteIndex:t}))),ga=g(()=>H.value?G.value.map(e=>({text:e.name,absoluteIndex:e.index})):(R.value.values||[]).map((e,t)=>({text:ma.value(t,z.value.timeFormat),absoluteIndex:t}))),_a=g(()=>{let e=/* @__PURE__ */ new Map;return(R.value.values||[]).forEach(t=>{if([null,void 0,``].includes(t))return;let n=String(t);e.set(n,(e.get(n)||0)+1)}),e});function va(e){let t=(R.value.values||[])[e];if([null,void 0,``].includes(t))return`fallback-${e}`;let n=String(t);return(_a.value.get(n)||0)>1?`${n}-${e}`:n}function ya(e,t){return`${e.datasetKey}:${va(t)}`}let $=g(()=>{if(!Vn.value&&!wr.value)return[];if(H.value)return Fr.value;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(...$i.value.positive)||0,o=Math.min(...$i.value.negative),s=[-1/0,1/0,NaN,void 0,null].includes(o)?0:o,{min:c,max:l}=!L.value.distributed&&(I.value.scale.scaleMax!==null||I.value.scale.scaleMin!==null)?ye(I.value.scale.scaleMin===null?s>0?0:s:I.value.scale.scaleMin,I.value.scale.scaleMax===null?a<0?0:a:I.value.scale.scaleMax,I.value.scale.ticks):re(I.value.scale.scaleMin===null?s>0?0:s:I.value.scale.scaleMin,I.value.scale.scaleMax===null?a<0?0:a:I.value.scale.scaleMax,I.value.scale.ticks),u=l+(c>=0?0:Math.abs(c))||1,d=q.value.height,f=q.value.width,p=na.value[0]?na.value[0].zero:q.value.bottom,m=na.value[0]?na.value[0].horizontal_zero:q.value.left,ee=Array(Xi.value.length).fill(0),te=Array(Xi.value.length).fill(0);return J.value.filter(e=>!j.value.includes(e.id)).map(a=>{let o=a.series.slice(),s=o.map((e,t)=>ee[t]),c=o.map((e,t)=>te[t]);o.forEach((e,t)=>{(Number(e)||0)>=0?ee[t]+=Number(e)||0:te[t]+=Math.abs(Number(e)||0)});let l=a.series.slice(X.value.start,X.value.end),ne=a.signedSeries.slice(X.value.start,X.value.end),re=l.map((e,t)=>ya(a,X.value.start+t)),ie=o.map((e,t)=>ya(a,t)),ae=l.map((e,t)=>q.value.left+Q.value*t+Q.value*W.value/4),oe=(Xi.value||[]).filter(Number.isFinite),se=oe.length?Math.max(...oe):0,ce=oe.length?Math.min(...oe):0;function le({minimapH:e}){let t=1e-9,n=se>0;if(n&&ce<0){let n=Math.max(se,Math.abs(ce))||t;return{pxPerUnit:e/2/n,zero:e/2}}return n?{pxPerUnit:e/Math.max(t,se),zero:e}:{pxPerUnit:e/Math.max(t,Math.abs(ce)),zero:0}}let ue=({left:e,unitW:t})=>{let n=t*(W.value/4);return o.map((r,a)=>e+t*a+n)},de=l.map((e,t)=>q.value.top+Q.value*t+Q.value*W.value/4),fe=l.map((t,r)=>{let a=L.value.distributed?(t||0)/Ji.value[r]:(t||0)/u,o,s;return t>0?(s=d*a,o=p-s-e[r],e[r]+=s):(s=d*a,o=p+n[r],n[r]+=Math.abs(s)),o}),pe=({minimapH:e})=>{if(L.value.distributed)return o.map((t,n)=>{let r=Math.abs(Number(t)||0),a=Math.abs(Xi.value?.[n]||0)||1e-9;return e-(s[n]+r)/a*e});let{pxPerUnit:t,zero:n}=le({minimapH:e});return o.map((e,r)=>{let a=Number(e)||0;return a>=0?n-(s[r]+a)*t:n+c[r]*t})},me=l.map((e,n)=>{let a=L.value.distributed?(e||0)/Ji.value[n]:(e||0)/u,o,s;return e>0?(s=f*a,o=m+t[n],t[n]+=s):(s=f*a,o=m-Math.abs(s)-r[n],r[n]+=Math.abs(s)),o}),he=l.map((e,t)=>{let n=L.value.distributed?(e||0)/Ji.value[t]:(e||0)/u;return e>0?d*n:d*Math.abs(n)}),ge=({minimapH:e})=>{if(L.value.distributed)return o.map((t,n)=>Math.abs(Number(t)||0)/(Math.abs(Xi.value?.[n]||0)||1e-9)*e);let{pxPerUnit:t}=le({minimapH:e});return o.map(e=>Math.abs(Number(e)||0)*t)},_e=l.map((e,t)=>{let n=L.value.distributed?(e||0)/Ji.value[t]:(e||0)/u;return e>0?f*n:f*Math.abs(n)}),ve=l.map(e=>Math.abs(e)).reduce((e,t)=>e+t,0);return{...a,proportions:l.map((e,t)=>L.value.distributed?(e||0)/Ji.value[t]:(e||0)/ve),series:l,signedSeries:ne,rectKeys:re,minimapRectKeys:ie,x:ae,y:fe,height:he,horizontal_width:_e,horizontal_y:de,horizontal_x:me,xMinimap:ue,yMinimap:pe,heightMinimap:ge}})}),ba=g(()=>{if(!(Number(Or.value)>0))return[];let e=$.value;if(!e.length)return[];let t=P.value.orientation===`vertical`,n=Math.max(0,Q.value*(1-W.value/2));if(!Number.isFinite(n)||n<=0)return[];let r=Math.max(0,X.value.end-X.value.start);return Array.from({length:r},(r,a)=>{let o=1/0,s=-1/0,c=NaN;for(let n of e){let e=Number(n.series[a]);if(!Number.isFinite(e)||e===0)continue;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]);!Number.isFinite(r)||!Number.isFinite(l)||l<=0||!Number.isFinite(u)||(o=Math.min(o,r),s=Math.max(s,r+l),c=u)}if(!Number.isFinite(o)||!Number.isFinite(s))return null;let l=t?c:o,u=t?o:c,d=t?n:s-o,f=t?s-o:n;return{x:l,y:u,width:d,height:f,rx:Math.min(Number(Or.value),d/2,f/2)}})});function xa(e){if(ba.value[e])return`url(#stackbar-outer-clip-${A.value}-${X.value.start+e})`}function Sa({minimapH:e,unitW:t}){let n=Number(Or.value);if(!(n>0)||!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0)return[];let r=$.value.map(t=>({y:t.yMinimap({minimapH:e}),height:t.heightMinimap({minimapH:e})})),a=t*(1-W.value/2),o=t*(W.value/4);return Array.from({length:Y.value},(s,c)=>{let l=c===0||c===Y.value-1?a/2:a,u=c===0?0:c*t+o-t/2,d=1/0,f=-1/0;for(let t of r){let n=Number(t.y[c]),r=Number(t.height[c]);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)continue;let a=Math.max(0,Math.min(e,n));d=Math.min(d,a),f=Math.max(f,a+r)}return!Number.isFinite(d)||!Number.isFinite(f)||!(f>d)||!(l>0)?null:{x:u,y:d,width:l,height:f-d,rx:Math.min(n,l/2,(f-d)/2)}})}let Ca=g(()=>Qi.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function wa(e,t,n,r,a){let o=a===-1&&e>=0?-e:e;return ue(L.value.dataLabels.formatter,o,c({p:L.value.dataLabels.prefix,v:o,s:L.value.dataLabels.suffix,r:L.value.dataLabels.rounding}),{datapoint:t,seriesIndex:n,datapointIndex:r})}function Ta(e,t,n,r){return ue(L.value.dataLabels.formatter,e,c({v:isNaN(e)?0:e,s:`%`,r:L.value.dataLabels.rounding}),{datapoint:t,seriesIndex:n,datapointIndex:r})}function Ea(e){if(H.value){let t=Da(e),n=Ir.value[e],r={datapoint:t,seriesIndex:e+X.value.start,waterfall:n};P.value.events.datapointClick?.(r),k(`selectDatapoint`,{...r,period:ia.value[e]});return}let t=JSON.parse(JSON.stringify($.value)).map(t=>({name:t.name,value:t.series[e]===0?0:t.series[e]||null,proportion:t.proportions[e]||null,color:t.color,id:t.id}));P.value.events.datapointClick&&P.value.events.datapointClick({datapoint:t,seriesIndex:e+X.value.start}),k(`selectDatapoint`,{datapoint:t,period:ia.value[e]})}function Da(e){if(H.value){let t=Ir.value[e];return t?t.segments.map(e=>({name:e.name,value:e.value,start:e.start,end:e.end,color:e.color,id:e.key,kind:t.kind,balance:t.balance,change:t.change,stepName:t.name,absoluteIndex:t.index,proportion:Math.abs(e.value)/(t.segments.reduce((e,t)=>e+Math.abs(t.value),0)||1),timeLabel:{text:t.name}})):[]}return JSON.parse(JSON.stringify($.value)).map(t=>({name:t.name,absoluteIndex:t.absoluteIndex,value:t.series[e]===0?0:(t.signedSeries[e]===-1&&t.series[e]>=0?-t.series[e]:t.series[e])||null,proportion:t.proportions[e]||null,color:t.color,id:t.id,timeLabel:aa.value[e]}))}function Oa(e){if(P.value.events.datapointLeave){let t=Da(e);P.value.events.datapointLeave({datapoint:t,seriesIndex:e+X.value.start})}Un.value=!1,M.value=null,N.value===e&&(N.value=null)}let ka=g(()=>Array(Y.value).fill(0).map((e,t)=>Da(t)));_t(()=>O.selectedXIndex,e=>{if([null,void 0].includes(O.selectedXIndex)){M.value=null;return}let t=e-X.value.start;t<0||e>=X.value.end?M.value=null:M.value=t??null},{immediate:!0});function Aa(e){if(!z.value.showTimeLabel)return null;let t=ia.value?.[e]?.text||null,n=ga.value?.[e]?.text||null,r=aa.value?.[e]?.text||null;return H.value?Ir.value?.[e]?.name||null:z.value.useDefaultTimeFormat?t:n||r}function ja(e,t=`pointer`){if(Yi.value)return;gr.value=t,N.value=e,M.value=e,Un.value=!0;let n=z.value.customFormat,r=Da(e);yo({seriesIndex:e,datapoint:r}),P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:r,seriesIndex:e+X.value.start}),Wn.value={waterfall:H.value?Ir.value[e]:null,timeLabel:Aa(e),datapoint:r,seriesIndex:e,config:P.value,series:$.value};let a=r.map(e=>Math.abs(e.value)).reduce((e,t)=>e+t,0),o=r.map(e=>se(e.value)).reduce((e,t)=>e+t,0);if(u(n)&&he(()=>n({seriesIndex:e,datapoint:r,series:$.value,config:P.value})))Gn.value=n({seriesIndex:e,datapoint:r,series:$.value,config:P.value});else if(H.value){let t=Ir.value[e];if(!t)return;let n=U.value.tooltip,r=e=>c({v:e,r:n.rounding}),a=t.segments.map(e=>`
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{n as t,t as n}from"./tableIntegration-CNoJ1CIY.js";import{n as r,t as a}from"./annotationSlots-BRR85CqJ.js";import{n as o,t as s}from"./userOptionsSlots-DYuo-E5m.js";import{$ as c,D as l,Dt as u,Ft as d,Ht as f,J as p,S as m,X as ee,Y as te,Zt as ne,_ as re,_t as ie,at as ae,c as oe,dt as se,en as ce,gt as le,i as ue,in as de,nn as fe,nt as pe,ot as me,pt as he,r as ge,t as _e,tn as ve,v as ye,w as be,wt as xe,yt as Se,zt as Ce}from"./lib-CV_IANZ6.js";import{n as we,t as Te}from"./useHints-BH9r_0Vd.js";import{n as Ee,r as De,t as Oe}from"./useTimeLabels-Das5O74F.js";import{t as ke}from"./useConfig-CKdzPrcf.js";import{t as Ae}from"./usePrinter-hLW3cv4N.js";import{n as je,t as Me}from"./BaseScanner-8NdoBs7B.js";import{t as Ne}from"./useNestedProp-CB186vF2.js";import{t as Pe}from"./useThemeCheck-BKNRbGeC.js";import{t as Fe}from"./useChartExport-DtPNpc9M.js";import{t as Ie}from"./useTransitions-DfSHzsdz.js";import{t as Le}from"./useStableElementSize-CegFbRlF.js";import{t as Re}from"./useTimeLabelCollider-XQf_S7-z.js";import{t as ze}from"./img-DiT4ivZ5.js";import{n as Be}from"./Title-BGYFqulv.js";import{t as Ve}from"./Shape-Bp9YNtPc.js";import{t as He}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{l as Ue,t as We}from"./useResponsive-D2CPcpda.js";import{t as Ge}from"./DefGrad-DKMq1REY.js";import{t as Ke}from"./SlicerPreview-CNUciSbY.js";import{t as qe}from"./BaseLegendToggle-Bq5FjyuI.js";import{t as Je}from"./A11yDataTable-DWNlWXzs.js";import{t as Ye}from"./useUserOptionState-CXlFnwPv.js";import{t as Xe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ze}from"./Legend-D8YoT1RJ.js";import{t as Qe}from"./vue_ui_stackbar-BkBIi_bL.js";import{Fragment as h,Teleport as $e,computed as g,createBlock as et,createCommentVNode as _,createElementBlock as v,createElementVNode as tt,createSlots as nt,createTextVNode as rt,createVNode as it,defineAsyncComponent as at,guardReactiveProps as ot,mergeProps as st,nextTick as ct,normalizeClass as y,normalizeProps as lt,normalizeStyle as b,onBeforeUnmount as ut,onMounted as dt,openBlock as x,ref as S,renderList as C,renderSlot as w,resolveDynamicComponent as ft,shallowRef as pt,toDisplayString as T,toRefs as mt,unref as E,useSlots as ht,vShow as gt,watch as _t,watchEffect as vt,withCtx as D,withDirectives as yt}from"vue";var bt=/* @__PURE__ */ e({default:()=>kn}),xt=[`id`],St=[`id`],Ct=[`id`],wt={style:{position:`relative`}},Tt=[`xmlns`,`aria-describedby`,`viewBox`],Et=[`x`,`y`,`width`,`height`],Dt={key:1},Ot={key:2},kt={key:3},At=[`id`],jt=[`x`,`y`,`width`,`height`,`rx`],Mt=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],Nt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Pt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Ft=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],It=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Lt={key:0},Rt=[`data-cy`,`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],zt={key:0},Bt=[`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],Vt=[`data-cy`,`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Ht={key:0},Ut=[`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Wt={key:9,style:{"pointer-events":`none`}},Gt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Kt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],qt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Jt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Yt=[`transform`,`font-size`,`fill`,`font-weight`],Xt=[`transform`,`font-size`,`fill`,`font-weight`],Zt=[`transform`,`font-size`,`font-weight`,`fill`],Qt=[`transform`,`font-size`,`fill`,`font-weight`],$t=[`transform`,`font-size`,`font-weight`,`fill`],en={key:16,style:{"pointer-events":`none`}},tn=[`x`,`y`,`text-anchor`,`font-size`,`font-weight`,`fill`],nn=[`stroke`,`d`],rn=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],an=[`d`,`stroke`],on=[`font-size`,`font-weight`,`fill`,`text-anchor`,`transform`],sn={key:0},cn={key:1},ln=[`text-anchor`,`font-size`,`font-weight`,`fill`,`transform`,`onClick`],un=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],dn={key:0},fn={key:1},pn=[`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],mn=[`font-size`,`font-weight`,`fill`,`transform`,`onClick`,`innerHTML`],hn=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],gn=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],_n=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],vn=[`data-start`,`data-end`],yn={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},bn={key:4,class:`vue-data-ui-watermark`},xn={key:0},Sn=[`id`],Cn=[`x`,`y`,`width`,`height`,`rx`],wn=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`clip-path`],Tn=[`id`],En=[`onClick`],Dn={key:0},On={key:1},kn=/*#__PURE__*/ He({__name:`vue-ui-stackbar`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},selectedXIndex:{type:Number,default:void 0},zoomState:{type:Object,default:null}},emits:[`selectDatapoint`,`selectLegend`,`selectTimeLabel`,`selectX`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:He,emit:bt}){let kn=at(()=>import(`./Tooltip-Cus2-XNQ.js`)),An=at(()=>import(`./BaseIcon-DdIyewwY.js`).then(e=>e.n)),jn=at(()=>import(`./vue-ui-accordion-BNvevckx.js`).then(e=>e.n)),Mn=at(()=>import(`./DataTable-WNecJMcY.js`)),Nn=at(()=>import(`./PenAndPaper-IMw576MC.js`).then(e=>e.t)),Pn=at(()=>import(`./UserOptions-DTxMeZv3.js`).then(e=>e.n)),Fn=at(()=>import(`./PackageVersion-CdkxOy58.js`).then(e=>e.t)),In=at(()=>import(`./BaseDraggableDialog-D_tuHEjO.js`).then(e=>e.n)),{vue_ui_stackbar:Ln}=ke(),{isThemeValid:Rn,warnInvalidTheme:zn}=Pe(),Bn=ht(),O=e,k=bt,Vn=g({get(){return!!O.dataset&&O.dataset.length},set(e){return e}}),Hn=S(null),A=S(ee()),Un=S(!1),Wn=S(null),Gn=S(``),j=S([]),Kn=S(0),qn=S(null),Jn=S(null),Yn=S(null),Xn=S(null),Zn=S(!1),M=S(null),Qn=S(!1),$n=S(0),er=S(0),tr=S(0),nr=S(!1),rr=S(null),ir=S(null),ar=S(null),or=S(null),sr=S(null),cr=S(null),lr=S(null),ur=S(null),dr=pt(null),fr=S(!1),pr=S(0),mr=S(0),N=S(null),hr=S({x:0,y:0}),gr=S(`pointer`),_r=Le({elementRef:dr,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{br()}});function vr(){dr.value=Hn.value?.parentNode??null}function yr(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function br(){let e=++mr.value;fr.value=!1,await ct(),await yr(),await yr(),e===mr.value&&(pr.value+=1,fr.value=!0)}let xr=S(null);dt(()=>{nr.value=!0,vr(),_r.start(),di()});let P=S(Zr()),F=g(()=>P.value.userOptions),I=g(()=>P.value.style.chart.grid),L=g(()=>P.value.style.chart.bars),R=g(()=>{let e=P.value.style.chart.grid.x.timeLabels;if(!H.value)return e;let t=U.value.categoryLabels;return{...e,...t,values:G.value.map(e=>e.name),datetimeFormatter:{...e.datetimeFormatter,enable:!1}}}),z=g(()=>P.value.style.chart.tooltip),B=g(()=>P.value.style.chart);we({config:()=>P.value,dataset:()=>O.dataset,component:`VueUiStackbar`,rules:[Te.emptyArray,{test:e=>e.some(e=>e.series.length>60),message:[`👀 Some series have > 60 datapoints. Consider`,``,`▶️ Using VueUiStackline instead, for better readability.`,``,`▶️ Aggregating data to larger time units, to reduce the number of datapoints.`,``,`▶️ Using filters to constraint the data to a specific time range.`]},{test:e=>e.length>6,message:[`👀 The number of series > 6, which can make the chart hard to read. Consider:`,``,`▶️ Grouping small values into an "Other" category.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`]}]});let{transitionEnabled:Sr}=Ie({config:()=>P.value.transitions,dataset:()=>O.dataset}),V=g(()=>P.value.userOptions.useCursorPointer),Cr=g(()=>de({defaultConfig:{userOptions:{show:!1},useCssAnimation:!1,table:{show:!1},tooltip:{show:!1},style:{chart:{backgroundColor:`#99999930`,bars:{totalValues:{show:!1},dataLabels:{show:!1}},grid:{frame:{stroke:`#6A6A6A`},scale:{scaleMin:0,scaleMax:40},x:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},timeLabels:{show:!1}},y:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},axisLabels:{show:!1}}},legend:{backgroundColor:`transparent`},padding:{left:24,right:24,bottom:12},zoom:{show:!1,startIndex:null,endIndex:null}}}},userConfig:P.value.skeletonConfig??{}})),{loading:wr,FINAL_DATASET:Tr,manualLoading:Er}=je({...mt(O),FINAL_CONFIG:P,prepareConfig:Zr,callback:()=>{Promise.resolve().then(async()=>{(!B.value.zoom.keepState||!po.value||X.value.start===0&&X.value.end===0)&&await mo()})},skeletonDataset:O.config?.skeletonDataset??[{name:``,series:[2,3,5,8,13,21],color:`#BABABA`},{name:``,series:[1,2,3,5,8,13],color:`#CACACA`}],skeletonConfig:de({defaultConfig:P.value,userConfig:Cr.value})}),Dr=g(()=>(Tr.value??[]).find(e=>e?.type===`waterfall`)??null),H=g(()=>!!Dr.value&&!wr.value),U=g(()=>P.value.style.chart.waterfall),W=g(()=>{let e=Number(H.value?U.value.bars.gapRatio:L.value.gapRatio);return Number.isFinite(e)?Math.max(0,Math.min(1.9,e)):.45}),Or=g(()=>H.value?U.value.bars.borderRadius:L.value.borderRadius);function kr(e,t){return String(e?.key??e?.id??e?.name??`Segment ${t+1}`)}function Ar(e){return Array.isArray(e?.series)?e.series:[]}function jr(e,t){let n=String(e?.type??(t===0?`total`:`change`)).toLowerCase();return[`total`,`subtotal`,`change`].includes(n)?n:`change`}let Mr=Object.freeze({total:`__waterfall_total__`,subtotal:`__waterfall_subtotal__`}),Nr=g(()=>{if(!H.value)return[];let e=/* @__PURE__ */ new Map;return(Dr.value?.series??[]).forEach(t=>{Ar(t).forEach((t,n)=>{if(!t||typeof t!=`object`)return;let r=kr(t,n);if(e.has(r))return;let a=e.size,o=m(t.color)||oi.value[a%(oi.value.length||1)]||f[a%f.length];e.set(r,{name:String(t.name??r),datasetKey:r,id:`waterfall-segment-${A.value}-${a}`,color:o,absoluteIndex:a})})}),Array.from(e.values())}),G=g(()=>{if(!H.value)return[];let e=Dr.value,t=Array.isArray(e?.series)?e.series:[],n=new Set(Nr.value.filter(e=>!j.value.includes(e.id)).map(e=>e.datasetKey)),r=new Map(Nr.value.map(e=>[e.datasetKey,e.color])),a=U.value,o=Number(e.startValue??0);return Number.isFinite(o)||(o=0),t.map((e,t)=>{let s=jr(e,t),c=s===`total`||s===`subtotal`,l=o,u=c?0:l,d=u,f=u,p=0,ee=Ar(e);c&&!ee.length&&(ee=[{name:s===`total`?`Total`:`Subtotal`,key:Mr[s],value:l}]);let te=[];ee.forEach((t,o)=>{if(!t||typeof t!=`object`)return;let c=kr(t,o);if(c!==Mr.total&&c!==Mr.subtotal&&!n.has(c))return;let l=Number(t.value??0);if(!Number.isFinite(l))return;let u=l<0?f:d,ee=u+l;l<0?f=ee:d=ee,p+=l;let ne=m(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;te.push({key:c,name:String(t.name??c),label:String(t.label??t.name??c),value:l,start:u,end:ee,color:ne||m(e?.color)||(a.colors.useSeriesColor?r.get(c):null)||re})});let ne=u+p,re=ne-l;return o=ne,{index:t,name:String(e?.label??e?.name??`${t+1}`),kind:s,isTotal:c,previousBalance:l,start:u,end:ne,balance:ne,change:re,hasMixedSigns:d>u&&f<u,positiveExtent:d,negativeExtent:f,segments:te,color:m(e?.color)||null}})});function Pr(e,t=`vertical`,n=q.value){let r=ea.value.max-ea.value.min||1,a=(e-ea.value.min)/r;return t===`vertical`?n.bottom-a*n.height:n.left+a*n.width}let Fr=g(()=>{let e=G.value,t=Nr.value.filter(e=>!j.value.includes(e.id)),n=e.slice(X.value.start,X.value.end);n.length;let r=W.value,a=[0,...e.flatMap(e=>[e.start,e.end,...e.segments.flatMap(e=>[e.start,e.end])])],o=Math.min(...a),s=Math.max(...a)-o||1,c=[...t],l=Nr.value.length;for(let[t,n]of[`total`,`subtotal`].entries()){let r=Mr[n];e.some(e=>e.segments.some(e=>e.key===r))&&c.push({name:n===`total`?`Total`:`Subtotal`,datasetKey:r,color:U.value.colors[n],id:`waterfall-${n}-${A.value}`,absoluteIndex:l+t})}return c.map(t=>{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)=>{let n=q.value.left+Q.value*t+Q.value*r/4,a=q.value.top+Q.value*t+Q.value*r/4;if(!e)return{x:n,horizontal_y:a,top:0,height:0,left:0,width:0};let o=Pr(e.start),s=Pr(e.end),c=Pr(e.start,`horizontal`),l=Pr(e.end,`horizontal`);return{x:n,horizontal_y:a,top:Math.min(o,s),height:Math.abs(s-o),left:Math.min(c,l),width:Math.abs(l-c)}});return{...t,series:u,signedSeries:u.map(e=>e<0?-1:1),waterfallSegments:c,waterfallColors:c.map(e=>e?.color||t.color),minimapWaterfallColors:a.map(e=>e?.color||t.color),rectKeys:u.map((e,n)=>ya(t,X.value.start+n)),minimapRectKeys:l.map((e,n)=>ya(t,n)),proportions:u.map((e,t)=>{let r=n[t]?.segments.reduce((e,t)=>e+Math.abs(t.value),0)||1;return Math.abs(e)/r}),x:d.map(e=>e.x),y:d.map(e=>e.top),height:d.map(e=>e.height),horizontal_y:d.map(e=>e.horizontal_y),horizontal_x:d.map(e=>e.left),horizontal_width:d.map(e=>e.width),xMinimap:({left:e,unitW:t})=>l.map((n,a)=>e+t*a+t*r/4),yMinimap:({minimapH:e})=>a.map(t=>t?e*(1-(Math.max(t.start,t.end)-o)/s):e),heightMinimap:({minimapH:e})=>a.map(t=>t?e*Math.abs(t.end-t.start)/s:0)}})}),Ir=g(()=>G.value.slice(X.value.start,X.value.end)),Lr=g(()=>{let e=P.value.orientation===`vertical`,t=Q.value*(1-W.value/2);return Ir.value.map((n,r)=>{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=Pr(s,e?`vertical`:`horizontal`),u=Pr(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;return{x:e?d:Math.min(l,u),y:e?Math.min(l,u):d,width:f,height:p,radius:Math.min(Math.max(0,Or.value),f/2,p/2),step:n,index:r}})});function Rr(e,t,n){let r=Number(e.radius)||0;if(r<=0)return 0;let a=n?e.y:e.x,o=n?e.height:e.width;if(o<=0)return 0;let s=Math.max(0,Math.min(t-a,a+o-t));if(s>=r)return 0;let c=r-s;return r-Math.sqrt(Math.max(0,r*r-c*c))}let zr=g(()=>{if(!H.value||!U.value.connectors.show)return[];let e=P.value.orientation===`vertical`,t=U.value.connectors,n=Lr.value,r=[],a=1e-7,o=e=>e.kind===`change`&&e.segments.every(e=>Math.abs(e.end-e.start)<=a);for(let s=0;s<n.length-1;s+=1){let c=n[s];if(o(c.step)||!c.step.segments.length)continue;let l=s+1;for(;l<n.length&&o(n[l].step);)l+=1;if(l>=n.length)continue;let u=n[l];if(!u.step.segments.length)continue;let d=u.step.isTotal?u.step.end:u.step.start;if(Math.abs(c.step.end-d)>a)continue;let f=Pr(c.step.end,e?`vertical`:`horizontal`),p=(t.adaptToRadius?Rr(c,f,e):0)+Number(t.inset||0),m=(t.adaptToRadius?Rr(u,f,e):0)+Number(t.inset||0);if(e){let e=c.x+c.width-p,t=u.x+m;if(t<e)continue;r.push({x1:e,y1:f,x2:t,y2:f,key:`${c.step.index}-${u.step.index}`})}else{let e=c.y+c.height-p,t=u.y+m;if(t<e)continue;r.push({x1:f,y1:e,x2:f,y2:t,key:`${c.step.index}-${u.step.index}`})}}return r}),Br=g(()=>{if(!H.value||!U.value.stepLabels.show)return[];let e=P.value.orientation===`vertical`,t=U.value.stepLabels;return Lr.value.map(n=>{let r=n.step,a=r.isTotal&&t.useBalanceForTotals?r.balance:r.change;if(!t.showZero&&!a)return null;let o=c({p:t.prefix+(t.showPlusSign&&a>0?`+`:``),v:a,s:t.suffix,r:t.rounding}),s=ue(t.formatter,a,o,{datapoint:r,seriesIndex:0,datapointIndex:r.index}),l=(Number(t.offset)||0)+7,u=r.isTotal?Math.sign(r.balance):Math.sign(r.change);return e?{key:r.index,text:s,x:n.x+n.width/2,y:u<0?n.y+n.height+l+t.fontSize:n.y-l,anchor:`middle`}:{key:r.index,text:s,x:u<0?n.x-l:n.x+n.width+l,y:n.y+n.height/2+t.fontSize/3,anchor:u<0?`end`:`start`}}).filter(Boolean)});function Vr(e,t){let n=U.value.segmentLabels;if(!n.show||!e.waterfallSegments?.[t]||e.series[t]===0&&!n.showZero)return!1;let r=P.value.orientation===`vertical`?e.height[t]:Q.value*(1-W.value/2),a=P.value.orientation===`vertical`?Q.value*(1-W.value/2):e.horizontal_width[t];return r>=n.minHeight&&a>=n.minWidth}function Hr(e,t){let n=e.waterfallSegments[t],r=U.value.segmentLabels;return ue(r.formatter,n.value,c({p:r.prefix,v:n.value,s:r.suffix,r:r.rounding}),{datapoint:{...n,step:Ir.value[t]},seriesIndex:e.absoluteIndex,datapointIndex:X.value.start+t})}function Ur(e,t){return H.value?U.value.bars.gradient.show?`url(#waterfall-gradient-${A.value}-${e.absoluteIndex}-${X.value.start+t})`:e.waterfallColors?.[t]||e.color:L.value.gradient.show?`url(#gradient_${e.id})`:e.color}function Wr(e){return me(String(e??``))}let{userOptionsVisible:Gr,setUserOptionsVisibility:Kr,keepUserOptionState:qr}=Ye({config:P.value}),{svgRef:Jr}=Xe({config:B.value.title});function Yr(){Kr(!0)}function Xr(){Kr(!1),k(`selectX`,{index:null,indexLabel:null,dataset:null}),M.value=null,N.value=null,Un.value=!1}function Zr(){let e=Ne({userConfig:O.config,defaultConfig:Ln}),t={};O.config&&xe(O.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!O.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!Rn.value(e))zn(e),t=e;else{let r=Ne({userConfig:Qe[n]||O.config,defaultConfig:e});t={...Ne({userConfig:O.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:fe[n]||f}}}else t=e;return t}let Qr=g(()=>L.value.dataLabels.hideUnderValue!=null),$r=g(()=>L.value.dataLabels.hideUnderPercentage!=null),ei=ne(O.config);_t(()=>O.config,(e,t)=>{let n=ne(e),r=n!==ei;ei=n;let a=Zr();if(!r){P.value.style.chart.tooltip=a.style.chart.tooltip,K.value.showTooltip=P.value.style.chart.tooltip.show;return}wr.value||(P.value=a),Gr.value=!P.value.userOptions.showOnChartHover,K.value.dataLabels.show=H.value?U.value.segmentLabels.show||U.value.stepLabels.show:L.value.dataLabels.show,K.value.showTable=P.value.table.show,K.value.showTooltip=z.value.show,di({resetSlicer:!B.value.zoom.keepState}),$n.value+=1,er.value+=1,tr.value+=1,vr(),!B.value.zoom.keepState||!po.value||X.value.start===0&&X.value.end===0?mo():Wi()},{deep:!0}),_t(()=>O.dataset,e=>{Array.isArray(e)&&e.length>0&&(Er.value=!1),vr(),B.value.zoom.keepState?Wi():qi()},{deep:!0});let K=S({dataLabels:{show:H.value?U.value.segmentLabels.show||U.value.stepLabels.show:L.value.dataLabels.show},showTable:P.value.table.show,showTooltip:z.value.show});_t(P,()=>{K.value={dataLabels:{show:H.value?U.value.segmentLabels.show||U.value.stepLabels.show:L.value.dataLabels.show},showTable:P.value.table.show,showTooltip:z.value.show}},{immediate:!0});let{isPrinting:ti,isImaging:ni,generatePdf:ri,generateImage:ii}=Ae({elementId:`stackbar_${A.value}`,fileName:B.value.title.text||`vue-ui-stackbar`,options:P.value.userOptions.print}),ai=S({width:B.value.width,height:B.value.height,paddingRatio:{top:B.value.padding.top/B.value.height,right:B.value.padding.right/B.value.width,bottom:B.value.padding.bottom/B.value.height,left:B.value.padding.left/B.value.width}}),oi=g(()=>be(P.value.customPalette)),si=pt(null),ci=pt(null),li=S(null),ui=g(()=>P.value.debug);function di({resetSlicer:e=!0}={}){if(Ce(O.dataset)?(ae({componentName:`VueUiStackbar`,type:`dataset`,debug:ui.value}),Er.value=!0):O.dataset.forEach((e,t)=>{Se({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{Vn.value=!1,ae({componentName:`VueUiStackbar`,type:`datasetSerieAttribute`,property:e,index:t,debug:ui.value}),Er.value=!0})}),Ce(O.dataset)||(Er.value=P.value.loading),setTimeout(()=>{Qn.value=!0},10),P.value.responsive){let e=Ue(()=>{Qn.value=!1;let{width:e,height:t}=We({chart:Hn.value,title:B.value.title.text?qn.value:null,legend:B.value.legend.show?Jn.value:null,slicer:B.value.zoom.show&&Y.value>6?Yn.value.$el:null,source:Xn.value});requestAnimationFrame(()=>{ai.value.width=e,ai.value.height=t-12,clearTimeout(li.value),li.value=setTimeout(()=>{Qn.value=!0},10)})});si.value&&(ci.value&&si.value.unobserve(ci.value),si.value.disconnect()),si.value=new ResizeObserver(e),ci.value=Hn.value.parentNode,si.value.observe(ci.value)}br(),e&&mo()}ut(()=>{_r.stop(),si.value&&(ci.value&&si.value.unobserve(ci.value),si.value.disconnect())});let fi=g(()=>I.value.y.position===`right`);function pi(){let e=0;P.value.orientation===`vertical`&&sr.value&&(e=Array.from(sr.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0)),P.value.orientation===`horizontal`&&cr.value&&(e=Array.from(cr.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0));let t=or.value?or.value.getBoundingClientRect().width+I.value.y.axisName.fontSize+I.value.y.axisName.offsetX:0;return{left:fi.value?0:e+t,right:fi.value?e+t:0,scaleLabelsWidth:e,yAxisLabelWidth:t}}let mi=S(0),hi=S(0),gi=Ue(e=>{hi.value=e+L.value.totalValues.fontSize},100);function _i(){if(P.value.orientation!==`horizontal`)return 0;let e=ur.value;if(!e)return 0;let t=Array.from(e.querySelectorAll(`text`));if(!t.length)return 0;let n=-1/0;for(let e of t)try{let t=e.getBBox(),r=t.x+t.width;r>n&&(n=r)}catch{}return Math.max(0,n-(q.value?.right??0))}vt(e=>{if(P.value.orientation!==`horizontal`)return;let t=ur.value;if(!t)return;let n=()=>{let e=_i();gi(e)};n();let r=new ResizeObserver(n);r.observe(t);let a=new MutationObserver(n);a.observe(t,{childList:!0,subtree:!0,characterData:!0}),e(()=>{r.disconnect(),a.disconnect()})}),ut(()=>{mi.value=0,hi.value=0});let vi=S(0),yi=S(0);function bi(e){let t=Number.isFinite(e)?e:0;vi.value!==t&&(vi.value=t)}function xi(){let e=P.value.orientation===`vertical`?cr.value:sr.value;if(!e){bi(0);return}try{bi(e.getBBox()?.height)}catch{bi(0)}}function Si(){yi.value&&cancelAnimationFrame(yi.value),yi.value=requestAnimationFrame(()=>{requestAnimationFrame(()=>{xi()})})}ut(()=>{yi.value&&cancelAnimationFrame(yi.value)});let Ci=g(()=>{let e=0;if(ar.value)try{e=ar.value.getBBox().height}catch{e=0}let t=R.value.show?vi.value:0;return e+t}),q=g(()=>{pr.value;let{height:e,width:t}=ai.value,{right:n}=ai.value.paddingRatio,r=H.value&&U.value.stepLabels.show?U.value.stepLabels.fontSize*1.5+U.value.stepLabels.offset:L.value.totalValues.show&&O.dataset&&O.dataset.length>1?L.value.totalValues.fontSize*1.3:0,a=0,o=0,s=0,c=0;if(I.value.y.axisLabels.show){let e=pi();a=e.left,o=e.right,s=e.scaleLabelsWidth,c=e.yAxisLabelWidth}let l=B.value.padding.top+r,u=t-t*n-hi.value-o,d=e-B.value.padding.bottom-Ci.value-r,f=B.value.padding.left+a,p=t-f-t*n-hi.value-o,m=e-l-B.value.padding.bottom-Ci.value-r;return{chartHeight:e,chartWidth:t,top:l,right:u,bottom:d,left:f,width:Math.max(0,p),height:Math.max(0,m),offsetLeft:a,offsetRightAxis:o,scaleLabelsWidth:s,yAxisLabelWidth:c}}),wi=g(()=>{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={fill:B.value.zoom.preview.fill,stroke:B.value.zoom.preview.stroke,"stroke-width":B.value.zoom.preview.strokeWidth,"stroke-dasharray":B.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}};if(P.value.orientation===`horizontal`){let a=r/s;return{x:e,y:t+c*a,width:n,height:u*a,...d}}{let a=n/s;return{x:e+c*a,y:t,width:u*a,height:r,...d}}}),J=g(()=>{if(H.value){let e=Dr.value.series??[];return Nr.value.map(t=>{let n=e.map(e=>Ar(e).filter((e,n)=>kr(e,n)===t.datasetKey).reduce((e,t)=>e+(Number(t.value)||0),0));return{...t,series:n,signedSeries:n.map(e=>e<0?-1:1)}})}return Tr.value.map((e,t)=>{let n=ee(),r=String(e.key??e.id??e.name??n),a=m(e.color)||oi.value[t]||f[t]||f[t%f.length];return{...e,datasetKey:r,series:JSON.parse(JSON.stringify(e.series)).map(e=>L.value.distributed?Math.abs(e):e),signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:a}})}),Y=g(()=>{if(H.value)return Dr.value.series?.length??0;let e=Math.max(...J.value.filter(e=>!j.value.includes(e.id)).map(e=>e.series.length));return isFinite(e)?e:Math.max(...J.value.map(e=>e.series.length))});function Ti(e){xr.value=e}let X=S({start:0,end:Y.value}),Z=S({start:0,end:Y.value}),Ei=S(!1),Di=S(!1),Oi=S(null),ki=S(null),Ai=S(null),ji=S(!1),Mi=S({time:0,x:0,y:0,pointerType:null}),Ni=g(()=>B.value.zoom?.dragToZoom),Pi=g(()=>Ni.value.show&&Vn.value&&po.value&&Y.value>1&&!wr.value),Fi=null,Ii={},Li=g(()=>B.value.zoom.preview.enable&&(Z.value.start!==X.value.start||Z.value.end!==X.value.end));function Ri(e,t){Z.value[e]=t}function zi(e,t=X.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let a=Number(n?e.start:t.start),o=Number(r?e.end:t.end);return!Number.isFinite(a)||!Number.isFinite(o)?null:{start:a,end:o}}function Bi(e){let t=zi(e);t&&k(`update:zoomState`,t)}function Vi(){Fi&&=(cancelAnimationFrame(Fi),null),Ii={}}function Hi(e){let t=zi(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(X.value.start)||r!==Number(X.value.end))&&(Vi(),X.value={start:n,end:r},Z.value={start:n,end:r},Wi()),{start:Number(X.value.start),end:Number(X.value.end)}}function Ui(e){let t=Hi(e);return t?(k(`update:zoomState`,t),t):null}function Wi(){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));(!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,Yn.value&&Yn.value.setRangeValues(t,n)}let Gi=S(null);function Ki(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}ut(()=>{Gi.value&&cancelAnimationFrame(Gi.value),Vi(),Lo()});async function qi({force:e=!1,publish:t=!1}={}){if(B.value.zoom.keepState&&!e&&po.value&&(X.value.start!==0||X.value.end!==0)){Wi();return}let n=!e;mo(n),await ct(),Gi.value&&cancelAnimationFrame(Gi.value),Gi.value=requestAnimationFrame(async()=>{await Ki(),mo(n),Gi.value=null,t&&(Bi({start:Number(X.value.start),end:Number(X.value.end)}),k(`zoomReset`))})}let Q=g(()=>{let e;return e=P.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}),Ji=g(()=>ce(J.value.filter(e=>!j.value.includes(e.id))).slice(X.value.start,X.value.end)),Yi=g(()=>j.value.length===J.value.length),Xi=g(()=>B.value.zoom.minimap.show?H.value?G.value.map(e=>e.balance):ce(J.value.map(e=>({...e,series:e.series.map(e=>e??0)})).filter(e=>Yi.value?!0:!j.value.includes(e.id))):[]),Zi=g(()=>B.value.zoom.minimap.show?[{name:``,series:Xi.value,color:`#000000`,isVisible:!0}]:[]),Qi=g(()=>H.value?Ir.value.map(e=>e.change):ce(J.value.filter(e=>!j.value.includes(e.id)).map(e=>({...e,series:e.series.map((t,n)=>e.signedSeries[n]===-1&&t>=0?-t:t)}))).slice(X.value.start,X.value.end)),$i=g(()=>{let e=J.value.filter(e=>!j.value.includes(e.id));return{positive:ce(e.map(e=>({...e,series:e.series.slice(X.value.start,X.value.end).map(e=>e>=0?e:0)}))),negative:ce(e.map(e=>({...e,series:e.series.slice(X.value.start,X.value.end).map(e=>e<0?e:0)})))}}),ea=g(()=>{if(H.value){let e=[0,...Ir.value.flatMap(e=>[e.start,e.end,...e.segments.flatMap(e=>[e.start,e.end])])],t=Math.min(...e),n=Math.max(...e),r=I.value.scale.scaleMin,a=I.value.scale.scaleMax,o=r===null?t:Number(r),s=a===null?n:Number(a);return r!==null||a!==null?ye(o,s,I.value.scale.ticks):re(o,s,I.value.scale.ticks)}let e=I.value.scale.scaleMax!==null&&!L.value.distributed?I.value.scale.scaleMax:Math.max(...$i.value.positive),t=Math.min(...$i.value.negative),n=I.value.scale.scaleMin!==null&&!L.value.distributed?I.value.scale.scaleMin:[-1/0,1/0,NaN,void 0,null].includes(t)?0:t;return!L.value.distributed&&(I.value.scale.scaleMax!==null||I.value.scale.scaleMin!==null)?ye(n>0?0:n,e<0?0:e,I.value.scale.ticks):re(n>0?0:n,e<0?0:e,I.value.scale.ticks)}),ta=g(()=>ea.value.ticks),na=g(()=>{let e=ea.value,t=e.max+Math.abs(e.min);return ta.value.map(n=>({zero:q.value.bottom-q.value.height*(Math.abs(e.min)/t),y:q.value.bottom-q.value.height*((n+Math.abs(e.min))/t),x:fi.value?q.value.right+8:q.value.left-8,horizontal_zero:q.value.left+q.value.width*(Math.abs(e.min)/t),horizontal_x:q.value.left+q.value.width*((n+Math.abs(e.min))/t),horizontal_y:q.value.bottom-8,value:n}))}),ra=g(()=>{let e=I.value.y.axisLabels,{prefix:t,suffix:n}=L.value.dataLabels;return ta.value.map(r=>String(ue(e.formatter,r,c({p:t,v:r,s:n,r:e.rounding}),{datapoint:{value:r}})??``)).join(`|`)});_t(()=>[ra.value,P.value.orientation,I.value.y.axisLabels.show,I.value.y.axisLabels.fontSize,I.value.y.axisLabels.bold,I.value.y.position],()=>{I.value.y.axisLabels.show&&br()},{flush:`post`});let ia=S([]),aa=S([]),oa=0;vt(()=>{let e=++oa;if(H.value){let e=X.value.start;ia.value=G.value.slice(e,X.value.end).map((t,n)=>({text:t.name,absoluteIndex:e+n}));return}(async()=>{let t=await Oe({values:R.value.values,maxDatapoints:Y.value,formatter:R.value.datetimeFormatter,start:X.value.start,end:X.value.end});e===oa&&(ia.value=t)})()});let sa=0;vt(()=>{let e=++sa;if(H.value){aa.value=G.value.map(e=>({text:e.name,absoluteIndex:e.index}));return}(async()=>{let t=await Oe({values:R.value.values,maxDatapoints:Y.value,formatter:R.value.datetimeFormatter,start:0,end:Y.value});e===sa&&(aa.value=t)})()});let ca=g(()=>{let e=Math.max(1,Math.floor(Number(R.value.modulo)||1)),t=(ia.value||[]).map(e=>e?.text??``),n=(aa.value||[]).map(e=>e?.text??``),r=X.value.start??0,a=r>0||t.length<n.length;return le({configuredModulo:e,visibleTexts:t,allTexts:n,startAbs:r,isZoomed:a})});function la(e){if(H.value){let e=X.value.start??0,t=X.value.end??G.value.length;return G.value.slice(e,t).map((t,n)=>({text:t.name,absoluteIndex:e+n}))}let t=R.value,n=ia.value||[],r=aa.value||[],a=X.value.start??0,o=Y.value,s=n.map(e=>e?.text??``),c=r.map(e=>e?.text??``),l=oe(!!t.showOnlyFirstAndLast,!!t.showOnlyAtModulo,ca.value,s,c,a,e,o);if(!t.showFirstAndLast||t.showOnlyFirstAndLast||!l.length)return l;let u=l.length-1;return l.map((e,t)=>t!==0&&t!==u?e:{...e,text:s[t]??``})}let ua=g(()=>la(M.value)),da=g(()=>la(null));vt(()=>{P.value.orientation,R.value.show,R.value.fontSize,R.value.rotation,R.value.offsetY,da.value?.map(e=>e?.text??``).join(`|`),ra.value,ai.value.width,ai.value.height,cr.value,sr.value,ar.value,Si()},{flush:`post`});let fa=S({months:[],shortMonths:[],days:[],shortDays:[]}),pa=0;vt(()=>{let e=++pa,t=R.value.datetimeFormatter;(async()=>{let n=await De(t.locale).catch(()=>De(`en`));e===pa&&(fa.value=n.data)})()});let ma=g(()=>{let e=R.value.datetimeFormatter,t=Ee({useUTC:e.useUTC,locale:fa.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{if(H.value)return G.value[e]?.name??``;let r=R.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),ha=g(()=>H.value?G.value.map(e=>({text:e.name,absoluteIndex:e.index})):(R.value.values||[]).map((e,t)=>({text:ma.value(t,B.value.zoom.timeFormat),absoluteIndex:t}))),ga=g(()=>H.value?G.value.map(e=>({text:e.name,absoluteIndex:e.index})):(R.value.values||[]).map((e,t)=>({text:ma.value(t,z.value.timeFormat),absoluteIndex:t}))),_a=g(()=>{let e=/* @__PURE__ */ new Map;return(R.value.values||[]).forEach(t=>{if([null,void 0,``].includes(t))return;let n=String(t);e.set(n,(e.get(n)||0)+1)}),e});function va(e){let t=(R.value.values||[])[e];if([null,void 0,``].includes(t))return`fallback-${e}`;let n=String(t);return(_a.value.get(n)||0)>1?`${n}-${e}`:n}function ya(e,t){return`${e.datasetKey}:${va(t)}`}let $=g(()=>{if(!Vn.value&&!wr.value)return[];if(H.value)return Fr.value;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(...$i.value.positive)||0,o=Math.min(...$i.value.negative),s=[-1/0,1/0,NaN,void 0,null].includes(o)?0:o,{min:c,max:l}=!L.value.distributed&&(I.value.scale.scaleMax!==null||I.value.scale.scaleMin!==null)?ye(I.value.scale.scaleMin===null?s>0?0:s:I.value.scale.scaleMin,I.value.scale.scaleMax===null?a<0?0:a:I.value.scale.scaleMax,I.value.scale.ticks):re(I.value.scale.scaleMin===null?s>0?0:s:I.value.scale.scaleMin,I.value.scale.scaleMax===null?a<0?0:a:I.value.scale.scaleMax,I.value.scale.ticks),u=l+(c>=0?0:Math.abs(c))||1,d=q.value.height,f=q.value.width,p=na.value[0]?na.value[0].zero:q.value.bottom,m=na.value[0]?na.value[0].horizontal_zero:q.value.left,ee=Array(Xi.value.length).fill(0),te=Array(Xi.value.length).fill(0);return J.value.filter(e=>!j.value.includes(e.id)).map(a=>{let o=a.series.slice(),s=o.map((e,t)=>ee[t]),c=o.map((e,t)=>te[t]);o.forEach((e,t)=>{(Number(e)||0)>=0?ee[t]+=Number(e)||0:te[t]+=Math.abs(Number(e)||0)});let l=a.series.slice(X.value.start,X.value.end),ne=a.signedSeries.slice(X.value.start,X.value.end),re=l.map((e,t)=>ya(a,X.value.start+t)),ie=o.map((e,t)=>ya(a,t)),ae=l.map((e,t)=>q.value.left+Q.value*t+Q.value*W.value/4),oe=(Xi.value||[]).filter(Number.isFinite),se=oe.length?Math.max(...oe):0,ce=oe.length?Math.min(...oe):0;function le({minimapH:e}){let t=1e-9,n=se>0;if(n&&ce<0){let n=Math.max(se,Math.abs(ce))||t;return{pxPerUnit:e/2/n,zero:e/2}}return n?{pxPerUnit:e/Math.max(t,se),zero:e}:{pxPerUnit:e/Math.max(t,Math.abs(ce)),zero:0}}let ue=({left:e,unitW:t})=>{let n=t*(W.value/4);return o.map((r,a)=>e+t*a+n)},de=l.map((e,t)=>q.value.top+Q.value*t+Q.value*W.value/4),fe=l.map((t,r)=>{let a=L.value.distributed?(t||0)/Ji.value[r]:(t||0)/u,o,s;return t>0?(s=d*a,o=p-s-e[r],e[r]+=s):(s=d*a,o=p+n[r],n[r]+=Math.abs(s)),o}),pe=({minimapH:e})=>{if(L.value.distributed)return o.map((t,n)=>{let r=Math.abs(Number(t)||0),a=Math.abs(Xi.value?.[n]||0)||1e-9;return e-(s[n]+r)/a*e});let{pxPerUnit:t,zero:n}=le({minimapH:e});return o.map((e,r)=>{let a=Number(e)||0;return a>=0?n-(s[r]+a)*t:n+c[r]*t})},me=l.map((e,n)=>{let a=L.value.distributed?(e||0)/Ji.value[n]:(e||0)/u,o,s;return e>0?(s=f*a,o=m+t[n],t[n]+=s):(s=f*a,o=m-Math.abs(s)-r[n],r[n]+=Math.abs(s)),o}),he=l.map((e,t)=>{let n=L.value.distributed?(e||0)/Ji.value[t]:(e||0)/u;return e>0?d*n:d*Math.abs(n)}),ge=({minimapH:e})=>{if(L.value.distributed)return o.map((t,n)=>Math.abs(Number(t)||0)/(Math.abs(Xi.value?.[n]||0)||1e-9)*e);let{pxPerUnit:t}=le({minimapH:e});return o.map(e=>Math.abs(Number(e)||0)*t)},_e=l.map((e,t)=>{let n=L.value.distributed?(e||0)/Ji.value[t]:(e||0)/u;return e>0?f*n:f*Math.abs(n)}),ve=l.map(e=>Math.abs(e)).reduce((e,t)=>e+t,0);return{...a,proportions:l.map((e,t)=>L.value.distributed?(e||0)/Ji.value[t]:(e||0)/ve),series:l,signedSeries:ne,rectKeys:re,minimapRectKeys:ie,x:ae,y:fe,height:he,horizontal_width:_e,horizontal_y:de,horizontal_x:me,xMinimap:ue,yMinimap:pe,heightMinimap:ge}})}),ba=g(()=>{if(!(Number(Or.value)>0))return[];let e=$.value;if(!e.length)return[];let t=P.value.orientation===`vertical`,n=Math.max(0,Q.value*(1-W.value/2));if(!Number.isFinite(n)||n<=0)return[];let r=Math.max(0,X.value.end-X.value.start);return Array.from({length:r},(r,a)=>{let o=1/0,s=-1/0,c=NaN;for(let n of e){let e=Number(n.series[a]);if(!Number.isFinite(e)||e===0)continue;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]);!Number.isFinite(r)||!Number.isFinite(l)||l<=0||!Number.isFinite(u)||(o=Math.min(o,r),s=Math.max(s,r+l),c=u)}if(!Number.isFinite(o)||!Number.isFinite(s))return null;let l=t?c:o,u=t?o:c,d=t?n:s-o,f=t?s-o:n;return{x:l,y:u,width:d,height:f,rx:Math.min(Number(Or.value),d/2,f/2)}})});function xa(e){if(ba.value[e])return`url(#stackbar-outer-clip-${A.value}-${X.value.start+e})`}function Sa({minimapH:e,unitW:t}){let n=Number(Or.value);if(!(n>0)||!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0)return[];let r=$.value.map(t=>({y:t.yMinimap({minimapH:e}),height:t.heightMinimap({minimapH:e})})),a=t*(1-W.value/2),o=t*(W.value/4);return Array.from({length:Y.value},(s,c)=>{let l=c===0||c===Y.value-1?a/2:a,u=c===0?0:c*t+o-t/2,d=1/0,f=-1/0;for(let t of r){let n=Number(t.y[c]),r=Number(t.height[c]);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)continue;let a=Math.max(0,Math.min(e,n));d=Math.min(d,a),f=Math.max(f,a+r)}return!Number.isFinite(d)||!Number.isFinite(f)||!(f>d)||!(l>0)?null:{x:u,y:d,width:l,height:f-d,rx:Math.min(n,l/2,(f-d)/2)}})}let Ca=g(()=>Qi.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function wa(e,t,n,r,a){let o=a===-1&&e>=0?-e:e;return ue(L.value.dataLabels.formatter,o,c({p:L.value.dataLabels.prefix,v:o,s:L.value.dataLabels.suffix,r:L.value.dataLabels.rounding}),{datapoint:t,seriesIndex:n,datapointIndex:r})}function Ta(e,t,n,r){return ue(L.value.dataLabels.formatter,e,c({v:isNaN(e)?0:e,s:`%`,r:L.value.dataLabels.rounding}),{datapoint:t,seriesIndex:n,datapointIndex:r})}function Ea(e){if(H.value){let t=Da(e),n=Ir.value[e],r={datapoint:t,seriesIndex:e+X.value.start,waterfall:n};P.value.events.datapointClick?.(r),k(`selectDatapoint`,{...r,period:ia.value[e]});return}let t=JSON.parse(JSON.stringify($.value)).map(t=>({name:t.name,value:t.series[e]===0?0:t.series[e]||null,proportion:t.proportions[e]||null,color:t.color,id:t.id}));P.value.events.datapointClick&&P.value.events.datapointClick({datapoint:t,seriesIndex:e+X.value.start}),k(`selectDatapoint`,{datapoint:t,period:ia.value[e]})}function Da(e){if(H.value){let t=Ir.value[e];return t?t.segments.map(e=>({name:e.name,value:e.value,start:e.start,end:e.end,color:e.color,id:e.key,kind:t.kind,balance:t.balance,change:t.change,stepName:t.name,absoluteIndex:t.index,proportion:Math.abs(e.value)/(t.segments.reduce((e,t)=>e+Math.abs(t.value),0)||1),timeLabel:{text:t.name}})):[]}return JSON.parse(JSON.stringify($.value)).map(t=>({name:t.name,absoluteIndex:t.absoluteIndex,value:t.series[e]===0?0:(t.signedSeries[e]===-1&&t.series[e]>=0?-t.series[e]:t.series[e])||null,proportion:t.proportions[e]||null,color:t.color,id:t.id,timeLabel:aa.value[e]}))}function Oa(e){if(P.value.events.datapointLeave){let t=Da(e);P.value.events.datapointLeave({datapoint:t,seriesIndex:e+X.value.start})}Un.value=!1,M.value=null,N.value===e&&(N.value=null)}let ka=g(()=>Array(Y.value).fill(0).map((e,t)=>Da(t)));_t(()=>O.selectedXIndex,e=>{if([null,void 0].includes(O.selectedXIndex)){M.value=null;return}let t=e-X.value.start;t<0||e>=X.value.end?M.value=null:M.value=t??null},{immediate:!0});function Aa(e){if(!z.value.showTimeLabel)return null;let t=ia.value?.[e]?.text||null,n=ga.value?.[e]?.text||null,r=aa.value?.[e]?.text||null;return H.value?Ir.value?.[e]?.name||null:z.value.useDefaultTimeFormat?t:n||r}function ja(e,t=`pointer`){if(Yi.value)return;gr.value=t,N.value=e,M.value=e,Un.value=!0;let n=z.value.customFormat,r=Da(e);yo({seriesIndex:e,datapoint:r}),P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:r,seriesIndex:e+X.value.start}),Wn.value={waterfall:H.value?Ir.value[e]:null,timeLabel:Aa(e),datapoint:r,seriesIndex:e,config:P.value,series:$.value};let a=r.map(e=>Math.abs(e.value)).reduce((e,t)=>e+t,0),o=r.map(e=>se(e.value)).reduce((e,t)=>e+t,0);if(u(n)&&he(()=>n({seriesIndex:e,datapoint:r,series:$.value,config:P.value})))Gn.value=n({seriesIndex:e,datapoint:r,series:$.value,config:P.value});else if(H.value){let t=Ir.value[e];if(!t)return;let n=U.value.tooltip,r=e=>c({v:e,r:n.rounding}),a=t.segments.map(e=>`
2
2
  <div style="display:flex;justify-content:space-between;gap:16px;align-items:center">
3
3
  <span><span style="display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:2px;background:${e.color}"></span>${Wr(e.label)}</span>
4
4
  <b>${Wr(r(e.value))}</b>
@@ -1,4 +1,4 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{n as t,t as n}from"./tableIntegration-CNoJ1CIY.js";import{n as r,t as i}from"./annotationSlots-BRR85CqJ.js";import{n as a,t as o}from"./userOptionsSlots-DYuo-E5m.js";import{$ as s,B as c,D as l,Dt as u,Ft as d,Ht as f,Jt as p,M as m,Ot as ee,P as h,S as te,U as ne,X as g,Zt as re,_,_t as ie,at as ae,b as oe,c as se,dt as ce,en as le,gt as ue,i as de,in as fe,nn as pe,nt as me,pt as he,t as ge,tn as _e,v as ve,w as ye,wt as be,yt as xe,zt as Se}from"./lib-zDxoqrgo.js";import{n as Ce,t as we}from"./useHints-BH9r_0Vd.js";import{n as Te,r as Ee,t as De}from"./useTimeLabels-Das5O74F.js";import{t as Oe}from"./useConfig-CKdzPrcf.js";import{t as ke}from"./usePrinter-CnyKPIFM.js";import{n as Ae,t as je}from"./BaseScanner-8NdoBs7B.js";import{t as Me}from"./useNestedProp-CT9phgWx.js";import{t as Ne}from"./useThemeCheck-BKNRbGeC.js";import{t as Pe}from"./useChartExport-DtPNpc9M.js";import{t as Fe}from"./useTransitions-DfSHzsdz.js";import{t as Ie}from"./useStableElementSize-CegFbRlF.js";import{t as Le}from"./useTimeLabelCollider-XQf_S7-z.js";import{t as Re}from"./img-8sM3sVWU.js";import{n as ze}from"./Title-BRAjxtjG.js";import{t as Be}from"./Shape-tkp65OcG.js";import{t as Ve}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{l as He,t as Ue}from"./useResponsive-D2CPcpda.js";import{t as We}from"./DefGrad-DKMq1REY.js";import{t as Ge}from"./SlicerPreview-GFRs2EWB.js";import{t as Ke}from"./BaseLegendToggle-Dn_tNvn4.js";import{t as qe}from"./A11yDataTable-DWNlWXzs.js";import{t as Je}from"./useUserOptionState-CXlFnwPv.js";import{t as Ye}from"./useChartAccessibility-DOMuYJfm.js";import{t as Xe}from"./Legend-DokTll4u.js";import{t as Ze}from"./vue_ui_stackline-D7b63K84.js";import{Fragment as v,Teleport as Qe,computed as y,createBlock as b,createCommentVNode as x,createElementBlock as S,createElementVNode as C,createSlots as $e,createTextVNode as et,createVNode as tt,defineAsyncComponent as nt,guardReactiveProps as rt,mergeProps as it,nextTick as at,normalizeClass as w,normalizeProps as ot,normalizeStyle as st,onBeforeUnmount as ct,onMounted as lt,openBlock as T,ref as E,renderList as D,renderSlot as O,resolveDynamicComponent as ut,shallowRef as dt,toDisplayString as k,toRefs as ft,unref as A,useSlots as pt,watch as mt,watchEffect as ht,withCtx as j}from"vue";var gt=/* @__PURE__ */ e({default:()=>sn}),_t=[`id`],vt=[`id`],yt=[`id`],bt={style:{position:`relative`}},xt=[`aria-describedby`,`xmlns`,`viewBox`],St=[`id`],Ct=[`x`,`y`,`width`,`height`],wt={key:0},Tt=[`x`,`y`,`width`,`height`],Et={key:1},Dt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Ot=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],kt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],At=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],jt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Mt=[`transform`,`font-size`,`fill`,`font-weight`],Nt=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],Pt=[`clip-path`],Ft=[`d`,`fill`,`opacity`],It=[`d`,`stroke`,`stroke-width`],Lt=[`x1`,`x2`,`y1`,`y2`,`stroke`],Rt=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],zt={key:0},Bt={key:1},Vt=[`text-anchor`,`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],Ht=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],Ut=[`x`,`y`,`height`,`width`,`fill`],Wt={key:0},Gt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Kt=[`clip-path`],qt={key:0},Jt=[`transform`,`font-size`,`fill`,`font-weight`],Yt=[`transform`,`font-size`,`font-weight`,`fill`],Xt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],Zt=[`data-start`,`data-end`],Qt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},$t={key:5,class:`vue-data-ui-watermark`},en=[`onClick`],tn={key:0},nn={key:1},rn=[`innerHTML`],an=[`id`],on=280,sn=/*#__PURE__*/ Ve({__name:`vue-ui-stackline`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},selectedXIndex:{type:Number,default:void 0},zoomState:{type:Object,default:null}},emits:[`selectDatapoint`,`selectLegend`,`selectTimeLabel`,`selectX`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:Ve,emit:gt}){let sn=nt(()=>import(`./Tooltip-BUXB0i6z.js`)),cn=nt(()=>import(`./BaseIcon-Cz30ODFA.js`).then(e=>e.n)),ln=nt(()=>import(`./vue-ui-accordion-Dy5OVFKr.js`).then(e=>e.n)),un=nt(()=>import(`./DataTable-DSUA5M9p.js`)),dn=nt(()=>import(`./PenAndPaper-DvJJaeU2.js`).then(e=>e.t)),fn=nt(()=>import(`./UserOptions-D65t74CM.js`).then(e=>e.n)),pn=nt(()=>import(`./PackageVersion-D6pKL176.js`).then(e=>e.t)),mn=nt(()=>import(`./BaseDraggableDialog-T1gEsQid.js`).then(e=>e.n)),{vue_ui_stackline:hn}=Oe(),{isThemeValid:gn,warnInvalidTheme:_n}=Ne(),vn=pt(),M=e,N=gt,yn=y({get(){return!!M.dataset&&M.dataset.length},set(e){return e}}),bn=E(null),P=E(g()),xn=E(!1),F=E([]),Sn=E(0),Cn=E(null),wn=E(null),Tn=E(null),En=E(null),Dn=E(null),On=E(!1),kn=E(!1),An=E(0),jn=E(0),Mn=E(0),Nn=E(!1),Pn=E(null),Fn=E(null),In=E(!1),Ln=E(null),Rn=E(null),zn=E(null),Bn=E(null),Vn=E(null),Hn=dt(null),Un=E(!1),Wn=E(0),Gn=E(0),Kn=E(null),qn=E({x:0,y:0}),Jn=E(`pointer`),Yn=Ie({elementRef:Hn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{Qn()}});function Xn(){Hn.value=bn.value?.parentNode??null}function Zn(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function Qn(){let e=++Gn.value;Un.value=!1,await at(),await Zn(),await Zn(),e===Gn.value&&(Wn.value+=1,Un.value=!0)}let $n=E(null),er=E(!1);function tr(){er.value=!er.value}lt(()=>{Xn(),Yn.start(),Nn.value=!0,Dr(),Qn()});let I=E(pr()),L=y(()=>I.value.userOptions),R=y(()=>I.value.style.chart.grid.x.timeLabels),z=y(()=>I.value.style.chart.grid),B=y(()=>I.value.style.chart.lines),V=y(()=>I.value.style.chart.tooltip),H=y(()=>I.value.style.chart);Ce({config:()=>I.value,dataset:()=>M.dataset,component:`VueUiStackline`,rules:[we.emptyArray,{test:e=>e.some(e=>e.series.length>200),message:[`👀 Some series have > 200 datapoints, which can impact performance. Consider:`,``,`▶️ Aggregating data to larger time units, to reduce the number of datapoints.`,``,`▶️ Using filters to constraint the data to a specific time range.`]},{test:e=>e.length>6,message:[`👀 The number of series > 6, which can make the chart hard to read. Consider:`,``,`▶️ Grouping small values into an "Other" category.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`]}]});let{transitionEnabled:nr}=Fe({config:()=>I.value.transitions,dataset:()=>M.dataset}),rr=y(()=>I.value.userOptions.useCursorPointer),ir=y(()=>fe({defaultConfig:{userOptions:{show:!1},useCssAnimation:!1,table:{show:!1},tooltip:{show:!1},style:{chart:{backgroundColor:`#99999930`,lines:{totalValues:{show:!1},dataLabels:{show:!1}},grid:{frame:{stroke:`#6A6A6A`},scale:{scaleMin:0,scaleMax:144},x:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},timeLabels:{show:!1}},y:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},axisLabels:{show:!1}}},legend:{backgroundColor:`transparent`},padding:{left:24,right:24,bottom:12},zoom:{show:!1,startIndex:null,endIndex:null,keepState:!1}}}},userConfig:I.value.skeletonConfig??{}})),{loading:ar,FINAL_DATASET:or,manualLoading:sr}=Ae({...ft(M),FINAL_CONFIG:I,prepareConfig:pr,callback:()=>{Promise.resolve().then(async()=>{(!H.value.zoom.keepState||!ta.value||Y.value.start===0&&Y.value.end===0)&&await ra()})},skeletonDataset:M.config?.skeletonDataset??[{name:``,series:[3,2,1,5,13,21,8,89,34,55],color:`#8A8A8A`},{name:``,series:[1,2,3,5,8,13,21,34,55,89],color:`#CACACA`}],skeletonConfig:fe({defaultConfig:I.value,userConfig:ir.value})}),{userOptionsVisible:cr,setUserOptionsVisibility:lr,keepUserOptionState:ur}=Je({config:I.value}),{svgRef:U}=Ye({config:H.value.title});function dr(){In.value=!0,lr(!0)}function fr(){lr(!1),In.value=!1,Kn.value=null,Jn.value=`pointer`,xn.value=!1,$.value=null,N(`selectX`,{index:null,indexLabel:null,dataset:null})}function pr(){let e=Me({userConfig:M.config,defaultConfig:hn}),t={};M.config&&be(M.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!M.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!gn.value(e))_n(e),t=e;else{let r=Me({userConfig:Ze[n]||M.config,defaultConfig:e});t={...Me({userConfig:M.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:pe[n]||f}}}else t=e;return t}let mr=y(()=>B.value.dataLabels.hideUnderValue!==null),hr=y(()=>B.value.dataLabels.hideUnderPercentage!==null),gr=re(M.config);mt(()=>M.config,(e,t)=>{let n=re(e),r=n!==gr;gr=n;let i=pr();if(!r){I.value.style.chart.tooltip=i.style.chart.tooltip,W.value.showTooltip=I.value.style.chart.tooltip.show;return}ar.value||(I.value=i),cr.value=!I.value.userOptions.showOnChartHover,W.value.dataLabels.show=B.value.dataLabels.show,W.value.showTable=I.value.table.show,W.value.showTooltip=V.value.show,Dr({resetSlicer:!H.value.zoom.keepState}),An.value+=1,jn.value+=1,Mn.value+=1,G.value.width=H.value.width,G.value.height=H.value.height,G.value.paddingRatio={top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width},Xn(),Qn(),!H.value.zoom.keepState||!ta.value||Y.value.start===0&&Y.value.end===0?ra():Ci()},{deep:!0}),mt(()=>M.dataset,e=>{Array.isArray(e)&&e.length>0&&(sr.value=!1),H.value.zoom.keepState?Ci():Ei(),Xn(),Qn()},{deep:!0});let W=E({dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show});mt(I,()=>{W.value={dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show}},{immediate:!0});let{isPrinting:_r,isImaging:vr,generatePdf:yr,generateImage:br}=ke({elementId:`stackline_${P.value}`,fileName:H.value.title.text||`vue-ui-stackline`,options:I.value.userOptions.print}),xr=y(()=>I.value.userOptions.show&&!H.value.title.text),G=E({width:H.value.width,height:H.value.height,paddingRatio:{top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width}}),Sr=y(()=>ye(I.value.customPalette)),Cr=dt(null),wr=dt(null),Tr=E(null),Er=y(()=>I.value.debug);function Dr({resetSlicer:e=!0}={}){if(Se(M.dataset)?(ae({componentName:`VueUiStackline`,type:`dataset`,debug:Er.value}),sr.value=!0):M.dataset.forEach((e,t)=>{xe({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{yn.value=!1,ae({componentName:`VueUiStackline`,type:`datasetSerieAttribute`,property:e,index:t,debug:Er.value}),sr.value=!0})}),Se(M.dataset)||(sr.value=I.value.loading),setTimeout(()=>{kn.value=!0},10),I.value.responsive){let e=He(()=>{kn.value=!1;let{width:e,height:t}=Ue({chart:bn.value,noTitle:En.value,title:H.value.title.text?Cn.value:null,legend:H.value.legend.show?wn.value:null,slicer:H.value.zoom.show&&J.value>6?Tn.value.$el:null,source:Dn.value});requestAnimationFrame(()=>{G.value.width=e,G.value.height=t-12,clearTimeout(Tr.value),Tr.value=setTimeout(()=>{kn.value=!0},10)})});Cr.value&&(wr.value&&Cr.value.unobserve(wr.value),Cr.value.disconnect()),Cr.value=new ResizeObserver(e),wr.value=bn.value.parentNode,Cr.value.observe(wr.value)}e&&ra()}ct(()=>{Yn.stop(),Cr.value&&(wr.value&&Cr.value.unobserve(wr.value),Cr.value.disconnect())});let Or=y(()=>z.value.y.position===`right`);function kr(){let e=0;zn.value&&(e=Array.from(zn.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0));let t=Rn.value?Rn.value.getBoundingClientRect().width+z.value.y.axisName.fontSize+z.value.y.axisName.offsetX:0;return{left:Or.value?0:e+t,right:Or.value?e+t:0,scaleLabelsWidth:e,yAxisLabelWidth:t}}let Ar=E(0),jr=E(0),Mr=E(0);function Nr(){let e=Bn.value;if(!e){jr.value=0;return}try{let t=e.getBBox();jr.value=Number.isFinite(t?.height)?t.height:0}catch{jr.value=0}}function Pr(){Mr.value&&cancelAnimationFrame(Mr.value),Mr.value=requestAnimationFrame(()=>{requestAnimationFrame(()=>{Nr()})})}ct(()=>{Mr.value&&cancelAnimationFrame(Mr.value),jr.value=0,Ar.value=0});let Fr=y(()=>{let e=0;if(Ln.value)try{e=Ln.value.getBBox().height}catch{e=0}let t=R.value.show?jr.value:0;return e+t}),K=y(()=>{Wn.value;let{height:e,width:t}=G.value,{right:n}=G.value.paddingRatio,r=B.value.totalValues.show&&M.dataset&&M.dataset.length>1?B.value.totalValues.fontSize*1.3:0,i=0,a=0,o=0,s=0;if(z.value.y.axisLabels.show){let e=kr();i=e.left,a=e.right,o=e.scaleLabelsWidth,s=e.yAxisLabelWidth}let c=H.value.padding.top+r,l=t-t*n-Ar.value-a,u=e-H.value.padding.bottom-Fr.value-r,d=H.value.padding.left+i,f=t-d-t*n-Ar.value-a,p=e-c-H.value.padding.bottom-Fr.value-r;return{chartHeight:Math.max(0,e),chartWidth:Math.max(0,t),top:c,right:Math.max(0,l),bottom:Math.max(0,u),left:Math.max(0,d),width:Math.max(0,f),height:Math.max(0,p),offsetLeftAxis:i,offsetRightAxis:a,scaleLabelsWidth:o,yAxisLabelWidth:s}}),Ir=y(()=>{let{left:e,top:t,width:n,height:r}=K.value,i=Y.value.start,a=Y.value.end,o=Math.max(1,a-i),s=Math.max(0,Math.min(o,(Br.value.start??i)-i)),c=Math.max(0,Math.min(o,(Br.value.end??a)-i)),l=Math.max(0,c-s),u={fill:H.value.zoom.preview.fill,stroke:H.value.zoom.preview.stroke,"stroke-width":H.value.zoom.preview.strokeWidth,"stroke-dasharray":H.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}},d=n/o;return{x:e+s*d,y:t,width:l*d,height:r,...u}}),q=y(()=>or.value.map((e,t)=>{let n=g(),r=te(e.color)||Sr.value[t]||f[t]||f[t%f.length];return{...e,shape:e.shape||`circle`,standalone:!!e.standalone,series:JSON.parse(JSON.stringify(e.series)).map(e=>B.value.distributed?Math.abs(e):e),seriesSource:e.series,signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:r}})),Lr=y(()=>q.value.filter(e=>!F.value.includes(e.id)&&!e.standalone)),Rr=y(()=>q.value.filter(e=>!F.value.includes(e.id)&&e.standalone)),J=y(()=>{let e=Math.max(...q.value.filter(e=>!F.value.includes(e.id)).map(e=>e.series.length));return isFinite(e)?e:Math.max(...q.value.map(e=>e.series.length))});function zr(e){$n.value=e}let Y=E({start:0,end:Math.max(...or.value.map(e=>e.series.length))}),Br=E({start:0,end:Math.max(...or.value.map(e=>e.series.length))}),Vr=E(!1),Hr=E(!1),Ur=E(!1),Wr=E(`matrix(1, 0, 0, 1, 0, 0)`),Gr=E(!1),Kr=0,qr=0,Jr=0,Yr=0,Xr=E(null),Zr=E(null),Qr=E(null),$r=E(!1),ei=E({time:0,x:0,y:0,pointerType:null}),ti=y(()=>H.value.zoom?.dragToZoom),ni=y(()=>ti.value.show&&yn.value&&ta.value&&!ar.value),ri=null,ii={};function ai(e){return(Y.value.start??0)+(e??0)}let oi=y(()=>H.value.zoom.preview.enable&&(Br.value.start!==Y.value.start||Br.value.end!==Y.value.end));function si(e,t){Br.value[e]=t}function ci(e,t=Y.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function li(e){let t=ci(e);t&&N(`update:zoomState`,t)}function ui(){ri&&=(cancelAnimationFrame(ri),null),ii={}}function di(e=Y.value){return{start:Number(e.start),end:Number(e.end)}}function fi(e,t){let n=Number(K.value?.left)||0,r=Math.max(0,Number(K.value?.width)||0),i=Number(t?.start),a=Number(t?.end),o=a-i;return!Number.isFinite(e)||!Number.isFinite(i)||!Number.isFinite(a)||o<=0?n:o<=1?n+r/2:n+(e-i)/(o-1)*r}function pi(){if(B.value.distributed)return null;let e=(Ri.value||[]).filter(e=>Number.isFinite(e?.value)&&Number.isFinite(e?.y));if(e.length<2)return null;let t=e.reduce((e,t)=>t.value<e.value?t:e),n=e.reduce((e,t)=>t.value>e.value?t:e);return n.value===t.value||n.y===t.y?null:{minValue:t.value,maxValue:n.value,minY:t.y,maxY:n.y}}function mi(e,t){if(!t||!Number.isFinite(e))return Number(K.value?.bottom)||0;let n=t.maxValue-t.minValue;if(!Number.isFinite(n)||n===0)return t.minY;let r=(e-t.minValue)/n;return t.minY+(t.maxY-t.minY)*r}function hi({previousRange:e,targetRange:t,previousYScale:n,targetYScale:r}){let i=Number(t.start),a=Number(t.end)-1,o=1,s=0;if(Number.isFinite(i)&&Number.isFinite(a)&&a>i){let n=fi(i,t),r=fi(a,t),c=fi(i,e),l=fi(a,e),u=r-n;Number.isFinite(u)&&Math.abs(u)>1e-9&&(o=(l-c)/u,s=c-o*n)}let c=1,l=0;if(n&&r){let e=r.minValue,t=r.maxValue,i=mi(e,r),a=mi(t,r),o=mi(e,n),s=mi(t,n),u=a-i;Number.isFinite(u)&&Math.abs(u)>1e-9&&(c=(s-o)/u,l=o-c*i)}return[o,s,c,l].every(Number.isFinite)?`matrix(${o}, 0, 0, ${c}, ${s}, ${l})`:`matrix(1, 0, 0, 1, 0, 0)`}function gi({resetTransform:e=!0}={}){Yr+=1,Kr&&=(cancelAnimationFrame(Kr),0),qr&&=(cancelAnimationFrame(qr),0),Jr&&=(clearTimeout(Jr),0),Gr.value=!1,Ur.value=!1,e&&(Wr.value=`matrix(1, 0, 0, 1, 0, 0)`)}function _i(e,t){return!U.value||ar.value||!yn.value||!e||!t||typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`)?.matches?!1:Number.isFinite(e.start)&&Number.isFinite(e.end)&&Number.isFinite(t.start)&&Number.isFinite(t.end)&&e.end>e.start&&t.end>t.start}function vi(e,t){let n=di();if(!_i(e,n))return gi(),!1;let r=hi({previousRange:e,targetRange:n,previousYScale:t,targetYScale:pi()});if(r===`matrix(1, 0, 0, 1, 0, 0)`)return gi(),!1;gi();let i=++Yr;return Ur.value=!0,Gr.value=!1,Wr.value=r,Kr=requestAnimationFrame(()=>{Kr=0,qr=requestAnimationFrame(()=>{qr=0,i===Yr&&(Gr.value=!0,Wr.value=`matrix(1, 0, 0, 1, 0, 0)`,Jr=setTimeout(()=>{Jr=0,i===Yr&&(Gr.value=!1,Ur.value=!1)},on))})}),!0}let yi=y(()=>({transform:Wr.value,transformOrigin:`0 0`,transformBox:`view-box`,transition:Gr.value?`transform ${on}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:Ur.value?`transform`:void 0})),bi=y(()=>Ur.value?`url(#vue_ui_stackline_zoom_clip_${P.value})`:void 0);function xi(e,{transition:t=!1}={}){let n=ci(e);if(!n)return null;let{start:r,end:i}=n;if(r!==Number(Y.value.start)||i!==Number(Y.value.end)){let e=di(),n=pi();ui(),Y.value={start:r,end:i},Br.value={start:r,end:i},Ci(),t&&vi(e,n)}return{start:Number(Y.value.start),end:Number(Y.value.end)}}function Si(e,{transition:t=!0}={}){let n=xi(e,{transition:t});return n?(N(`update:zoomState`,n),n):null}function Ci(){let e=J.value,t=Math.max(0,Math.min(Y.value.start??0,e-1)),n=Math.max(t+1,Math.min(Y.value.end??e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),Y.value.start=t,Y.value.end=n,Br.value.start=t,Br.value.end=n,Tn.value&&Tn.value.setRangeValues(t,n)}let wi=E(null);function Ti(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}ct(()=>{wi.value&&cancelAnimationFrame(wi.value),ui(),_a(),gi()});async function Ei({force:e=!1,publish:t=!1,transition:n=e&&t}={}){if(H.value.zoom.keepState&&!e&&ta.value&&(Y.value.start!==0||Y.value.end!==0)){Ci();return}let r=!e,i=n?di():null,a=n?pi():null;ra(r),n&&vi(i,a),await at(),wi.value&&cancelAnimationFrame(wi.value),wi.value=requestAnimationFrame(async()=>{await Ti(),ra(r),wi.value=null,t&&(li({start:Number(Y.value.start),end:Number(Y.value.end)}),N(`zoomReset`))})}let Di=y(()=>Math.max(0,K.value.width/(Y.value.end-Y.value.start))),Oi=y(()=>le(Lr.value.map(e=>({...e,series:e.series.map(e=>e??0)}))).slice(Y.value.start,Y.value.end)),ki=y(()=>F.value.length===q.value.length),Ai=y(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>ki.value?!0:!F.value.includes(e.id)&&!e.standalone);if(e.length)return le(e.map(e=>({...e,series:(e.series||[]).map(e=>e??0)})));let t=Rr.value;if(!t.length)return[];let n=Math.max(...t.map(e=>e.series.length||0));return Array.from({length:n},(e,n)=>t.reduce((e,t)=>e+Math.abs(t.series[n]??0),0))}),ji=y(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>ki.value?!0:!F.value.includes(e.id)&&!e.standalone),t=Rr.value,n=e.length?[{name:``,series:Ai.value,color:`#000000`,isVisible:!0}]:[],r=t.map(e=>({name:e.name||``,series:(e.series||[]).map(e=>e??0),color:e.color,isVisible:!0}));return n.concat(r)}),Mi=y(()=>le(Lr.value.filter(e=>!F.value.includes(e.id)).map(e=>({...e,series:e.series.map((t,n)=>{let r=t??0;return e.signedSeries[n]===-1&&r>=0?-r:r})}))).slice(Y.value.start,Y.value.end)),Ni=y(()=>{let e=Lr.value.filter(e=>!F.value.includes(e.id));return{positive:le(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)>=0?e??0:0)}))),negative:le(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)<0?e??0:0)})))}}),Pi=y(()=>{let e=Math.max(0,Y.value.end-Y.value.start),t=Array(e).fill(0),n=Array(e).fill(0);return Rr.value.forEach(r=>{for(let i=0;i<e;i+=1){let e=r.series[Y.value.start+i]??0;e>0&&(t[i]=Math.max(t[i],e)),e<0&&(n[i]=Math.min(n[i],e))}}),{positive:t,negative:n}}),Fi=y(()=>Mi.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function Ii(){return{y0:Ri.value?.[0]?.zero??K.value.bottom}}function Li(e){let{y0:t}=Ii(),n=B.value.totalValues,r=Math.max(2,n.fontSize*1.3+n.offsetY),i=e=>Math.min(Math.max(e,K.value.top-B.value.totalValues.fontSize*1.3),K.value.bottom+B.value.totalValues.fontSize*2);if((Fi.value?.[e]?.value??0)>=0||B.value.distributed){let n=1/0;for(let t of X.value||[]){let r=t?.series?.[e],i=t?.topY?.[e];(r??0)>0&&Number.isFinite(i)&&i<n&&(n=i)}return i((Number.isFinite(n)?n:t)-r-B.value.totalValues.offsetY)}{let a=-1/0;for(let t of X.value||[]){let n=t?.series?.[e],r=t?.topY?.[e];(n??0)<0&&Number.isFinite(r)&&r>a&&(a=r)}return i((Number.isFinite(a)?a:t)+r+n.fontSize*.7+B.value.totalValues.offsetY)}}let Ri=y(()=>{let e=Math.max(...Ni.value.positive,0),t=Math.min(...Ni.value.negative,0),n=Math.max(...Pi.value.positive,0),r=Math.min(...Pi.value.negative,0),i=Math.max(e,n),a=Math.min(t,r),o=[-1/0,1/0,NaN,void 0,null].includes(a)?0:a,s=z.value.scale.scaleMin,c=z.value.scale.scaleMax,l=!B.value.distributed&&(s!==null||c!==null),u=s!==null&&!B.value.distributed?s:o>0?0:o,d=c!==null&&!B.value.distributed?c:i<0?0:i,f=l?ve(u,d,z.value.scale.ticks):_(u,d,z.value.scale.ticks),p=Math.abs(Number(f.min)||0),m=(Number(f.max)||0)+p,ee=m===0||!Number.isFinite(m)?1:m,h=Array.isArray(f.ticks)&&f.ticks.length?f.ticks:[0],te=K.value.bottom-K.value.height*(p/ee);return h.map(e=>{let t=Number(e)||0,n=K.value.bottom-K.value.height*((t+p)/ee);return{zero:te,y:n,x:Or.value?Z.value.right+8:Z.value.left-8,value:t}})}),zi=E([]),Bi=E([]),Vi=0;ht(()=>{let e=++Vi;(async()=>{let t=await De({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:Y.value.start,end:Y.value.end});e===Vi&&(zi.value=t)})()});let Hi=0;ht(()=>{let e=++Hi;(async()=>{let t=await De({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:0,end:J.value});e===Hi&&(Bi.value=t)})()});let Ui=y(()=>{let e=Math.max(1,Math.floor(Number(R.value.modulo)||1)),t=(zi.value||[]).map(e=>e?.text??``),n=(Bi.value||[]).map(e=>e?.text??``),r=Y.value.start??0,i=r>0||t.length<n.length;return ue({configuredModulo:e,visibleTexts:t,allTexts:n,startAbs:r,isZoomed:i})});function Wi(e){let t=R.value,n=zi.value||[],r=Bi.value||[],i=Y.value.start??0,a=J.value,o=n.map(e=>e?.text??``),s=r.map(e=>e?.text??``),c=se(!!t.showOnlyFirstAndLast,!!t.showOnlyAtModulo,Ui.value,o,s,i,e,a);if(!t.showFirstAndLast||t.showOnlyFirstAndLast||!c.length)return c;let l=c.length-1;return c.map((e,t)=>t!==0&&t!==l?e:{...e,text:o[t]??``})}let Gi=y(()=>Wi($.value)),Ki=y(()=>Wi(null));ht(()=>{R.value.show,R.value.fontSize,R.value.rotation,R.value.offsetY,(Ki.value||[]).map(e=>e?.text??``).join(`|`),G.value.width,G.value.height,Bn.value,Ln.value,Pr()},{flush:`post`});let qi=E({months:[],shortMonths:[],days:[],shortDays:[]}),Ji=0;ht(()=>{let e=++Ji,t=R.value.datetimeFormatter;(async()=>{let n=await Ee(t.locale).catch(()=>Ee(`en`));e===Ji&&(qi.value=n.data)})()});let Yi=y(()=>{let e=R.value.datetimeFormatter,t=Te({useUTC:e.useUTC,locale:qi.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{let r=R.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),Xi=y(()=>(R.value.values||[]).map((e,t)=>({text:Yi.value(t,H.value.zoom.timeFormat),absoluteIndex:t}))),Zi=y(()=>(R.value.values||[]).map((e,t)=>({text:Yi.value(t,V.value.timeFormat),absoluteIndex:t}))),Qi=y(()=>{if(!yn.value&&!ar.value)return[];let e=K.value.height,t=Ri.value[0]?Ri.value[0].zero:K.value.bottom,n=Y.value.start??0,r=Y.value.end??0,i=Math.max(1,r-n),a=Math.max(...Ni.value.positive,0),o=Math.min(...Ni.value.negative,0),s=Math.max(...Pi.value.positive,0),c=Math.min(...Pi.value.negative,0),l=Math.max(a,s),u=Math.min(o,c),{min:d,max:f}=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?ve(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks),p=f+(d>=0?0:Math.abs(d))||1,m=Array(i).fill(0),ee=Array(i).fill(0),h=e=>i<=1?K.value.left+K.value.width/2:K.value.left+e/(i-1)*K.value.width;return q.value.filter(e=>!F.value.includes(e.id)).map(r=>{let a=[],o=[],s=[],c=Array(i).fill(null),l=Array(i).fill(null);for(let u=0;u<i;u+=1){let i=n+u,d=r.series?.[i],f=r.signedSeries?.[i],h=d==null||Number.isNaN(d)?0:d,te=r.standalone?h/p:B.value.distributed?h/(Oi.value[u]||1):h/p;if(h>=0){let n=e*Math.abs(te);if(r.standalone)c[u]=t,l[u]=t-n;else{let e=m[u],r=e+n;c[u]=t-e,l[u]=t-r,m[u]=r}}else{let n=e*Math.abs(te);if(r.standalone)c[u]=t,l[u]=t+n;else{let e=ee[u],r=e+n;c[u]=t+e,l[u]=t+r,ee[u]=r}}a.push(u),o.push(h),s.push(f??(h>=0?1:-1))}let u=a.map(e=>({x:h(e),y:l[e]})),d=u.map(e=>e.x),f=o.reduce((e,t)=>e+Math.abs(t||0),0),te=f===0?1:f,ne=o.map((e,t)=>{if(B.value.distributed&&!r.standalone){let n=a[t],r=Oi.value[n]||1;return(e||0)/r}return(e||0)/te});return{...r,x:d,points:u,baseY:a.map(e=>c[e]),topY:a.map(e=>l[e]),series:o,signedSeries:s,proportions:ne,rel:a,fullSeries:Array.isArray(r.fullSeries)?r.fullSeries:r.series}})}),X=y(()=>{let e=e=>typeof e==`string`?e.replace(/^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i,``).trim():``,t=Math.max(...Ni.value.positive,0),n=Math.min(...Ni.value.negative,0),r=Math.max(...Pi.value.positive,0),i=Math.min(...Pi.value.negative,0),a=Math.max(t,r),o=Math.min(n,i),s=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?ve(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks),c=Number(s.min)||0,l=Number(s.max)||0,u=Math.abs(c),d=l+u||1,f=e=>{if(B.value.distributed){let t=Math.max(0,Math.min(1,e));return minimapH-minimapH*t}return clampY(minimapH-minimapH*(((e??0)+u)/d))};return Qi.value.map(t=>{let n=t.x.length,r=Array.isArray(t.fullSeries)?t.fullSeries:t.series,i=({left:e=0,unitW:t})=>{let n=r.length;return!Number.isFinite(t)||t<=0||n<=0?[]:n===1?[e+t*.5]:r.map((n,r)=>e+r*t)},a=({minimapH:e})=>!Number.isFinite(e)||e<=0?[]:r.map(t=>f(t||0,e)),o=({minimapH:e})=>{if(!Number.isFinite(e)||e<=0)return[];let t=f(0,e);return r.map(()=>t)};if(n===0)return{...t,points:[],smoothPath:``,straightPath:``,smoothArea:``,straightArea:``,xMinimap:i,yMinimap:a,yMinimapBase:o};let s=t.x.map((e,n)=>({x:e,y:t.topY[n]})),c=t.x.map((e,n)=>({x:e,y:t.baseY[n]})),l=n>=2?h(s):`M${s[0].x},${s[0].y}`,u=n>=2?ne(s):`M${s[0].x},${s[0].y}`,d=n>=2?`M${e(l)}`:l,p=n>=2?`M${e(u)}`:u,m=``,ee=``;if(B.value.useArea&&n>=2){let t=h([...c].reverse()),n=ne([...c].reverse()),r=c[c.length-1];m=`M${s[0].x},${s[0].y} ${e(l)} L${r.x},${r.y} ${e(t)} Z`,ee=`M${s[0].x},${s[0].y} ${e(u)} L${r.x},${r.y} ${e(n)} Z`}return{...t,points:s,smoothPath:d,straightPath:p,smoothArea:m,straightArea:ee,xMinimap:i,yMinimap:a,yMinimapBase:o}})}),$i=y(()=>$.value===null||$.value===void 0?null:{timeLabel:La($.value),absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ia.value,series:X.value,config:I.value}),ea=E(!1),ta=E(!1);function na(e,t=Y.value.start){let n=J.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function ra(e=!0){if(!ea.value){ea.value=!0;try{let{startIndex:t,endIndex:n,keepState:r}=H.value.zoom,i=r?Math.max(0,J.value):J.value;if(r&&i<=0)return;let a=t??0,o=n==null?i:Math.min(na(n+1,a),i);ca.value=!0,Y.value.start=a,Y.value.end=o,Br.value.start=a,Br.value.end=o,Ci(),ta.value=!0,e&&M.zoomState&&xi(M.zoomState)}finally{queueMicrotask(()=>{ca.value=!1}),ea.value=!1}}}function ia(e){ii={...ii,...e},ri&&cancelAnimationFrame(ri),ri=requestAnimationFrame(()=>{let e={...Y.value,...ii};ii={},ri=null,Y.value=e,Br.value={...e},Ci(),li({start:Number(Y.value.start),end:Number(Y.value.end)})})}function aa(e){if(ea.value||ca.value)return;let t=Number(e);Number.isFinite(t)&&(N(`zoomStart`,{index:t,isZoom:t!==0}),t!==Y.value.start&&ia({start:t}))}function oa(e){if(ea.value||ca.value)return;let t=ii.start===void 0?Y.value.start:ii.start,n=na(Number(e),t);Number.isFinite(n)&&(N(`zoomEnd`,{index:n,isZoom:n!==J.value}),(n!==Y.value.end||ii.start!==void 0)&&ia({end:n}))}let Z=y(()=>({left:K.value.left,right:K.value.right,width:K.value.width})),sa=y(()=>{let e=z.value.y.axisLabels,{prefix:t,suffix:n}=B.value.dataLabels;return Ri.value.map(r=>String(de(e.formatter,r.value,s({p:t,v:r.value,s:n,r:e.rounding}),{datapoint:r})??``)).join(`|`)});mt([sa,()=>z.value.y.axisLabels.show,()=>z.value.y.axisLabels.fontSize,()=>z.value.y.axisLabels.bold,()=>z.value.y.position],()=>{z.value.y.axisLabels.show&&Qn()},{flush:`post`});let ca=E(!1);mt([()=>M.zoomState,ta],([e,t])=>{t&&e&&xi(e,{transition:!0})},{deep:!0,immediate:!0});let la=y(()=>G.value.width),ua=y(()=>G.value.height);Le({timeLabelsEls:Bn,timeLabels:zi,slicer:Y,configRef:I,rotationPath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:la,height:ua,rotation:R.value.autoRotate.angle});let da=E(null);function fa(e){let t=U.value;if(!t)return null;if(t.createSVGPoint&&t.getScreenCTM){let n=t.createSVGPoint();n.x=e.clientX,n.y=e.clientY;let r=t.getScreenCTM();if(r){let e=n.matrixTransform(r.inverse());return{x:e.x,y:e.y,ok:!0}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},i=Math.min(n.width/r.width,n.height/r.height),a=r.width*i,o=r.height*i,s=(n.width-a)/2,c=(n.height-o)/2;return{x:(e.clientX-n.left-s)/i+r.x,y:(e.clientY-n.top-c)/i+r.y,ok:!0}}let pa=y(()=>!Vr.value||Xr.value==null||Zr.value==null?null:{x:Math.min(Xr.value,Zr.value),y:K.value.top,width:Math.abs(Zr.value-Xr.value),height:K.value.height}),ma=y(()=>ta.value?Number(Y.value.start)!==0||Number(Y.value.end)!==Number(J.value):!1);function ha(e){return Math.min(Math.max(e,K.value.left),K.value.right)}function ga(){Oa&&=(cancelAnimationFrame(Oa),0),da.value=null,$n.value=null,Kn.value=null,$.value=null,za(!1,null)}function _a(e){let t=e?.pointerId==null?Qr.value:e.pointerId;t!=null&&U.value?.hasPointerCapture?.(t)&&U.value.releasePointerCapture(t),Vr.value=!1,Xr.value=null,Zr.value=null,Qr.value=null}function va(){$r.value=!0,setTimeout(()=>{$r.value=!1},0)}function ya(e){if(!ni.value||!ma.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=ei.value,i=n===`touch`?450:350,a=n===`touch`?28:10,o=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=i&&o<=a?(ei.value={time:0,x:0,y:0,pointerType:null},va(),_a(e),Ei({force:!0,publish:!0}),!0):(ei.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function ba(e){if(Q.value<=0)return null;if(Q.value===1||ka.value<=0)return 0;let t=(ha(e)-K.value.left)/ka.value;return Math.max(0,Math.min(Q.value-1,Math.round(t)))}function xa(e,t){let n=ba(e),r=ba(t);if(n==null||r==null)return null;let i=Math.min(n,r),a=Math.max(n,r);return a<=i?null:{start:Number(Y.value.start)+i,end:Number(Y.value.start)+a+1}}function Sa(e){let t=Si(e,{transition:!0});return t?(N(`zoomStart`,{index:t.start,isZoom:t.start!==0}),N(`zoomEnd`,{index:t.end,isZoom:t.end!==J.value}),t):null}function Ca(){Hr.value=!0,U.value?.classList?.add(`vue-ui-stackline-chart-zoom-pointer-focus`)}function wa(){Hr.value=!1,U.value?.classList?.remove(`vue-ui-stackline-chart-zoom-pointer-focus`)}function Ta(e){if(!ni.value||er.value||e.button!==void 0&&e.button!==0||Qr.value!=null&&e.pointerId!==Qr.value)return;let t=fa(e);if(!t)return;let{left:n,right:r,top:i,bottom:a}=K.value;t.x<n||t.x>r||t.y<i||t.y>a||Q.value<=1||(Ca(),U.value?.focus?.({preventScroll:!0}),ga(),Qr.value=e.pointerId,Vr.value=!0,Xr.value=ha(t.x),Zr.value=ha(t.x))}function Ea(e){if(!ni.value||!Vr.value||Qr.value!=null&&e.pointerId!==Qr.value)return;let t=fa(e);t&&(Zr.value=ha(t.x),Xr.value!=null&&Math.abs(Zr.value-Xr.value)>=2&&!U.value?.hasPointerCapture?.(e.pointerId)&&U.value?.setPointerCapture?.(e.pointerId))}function Da(e){if(!ni.value||!Vr.value||Qr.value!=null&&e.pointerId!==Qr.value)return;let t=fa(e);t&&(Zr.value=ha(t.x));let n=Xr.value,r=Zr.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,K.value.width*.01)){if(ya(e))return;_a(e);return}let i=xa(Math.min(n,r),Math.max(n,r));if(!i){_a(e);return}_a(e),Sa(i)&&(ei.value={time:0,x:0,y:0,pointerType:null},ga(),va())}let Oa=0,Q=y(()=>Math.max(1,Y.value.end-Y.value.start)),ka=y(()=>Q.value>1?K.value.width/(Q.value-1):0);function Aa(e){return Q.value<=1?K.value.left+K.value.width/2:K.value.left+e*ka.value}function ja(e){if(Q.value<=1)return{x:K.value.left,width:K.value.width};let t=e===0?K.value.left:(Aa(e-1)+Aa(e))/2,n=e===Q.value-1?K.value.left+K.value.width:(Aa(e)+Aa(e+1))/2;return{x:t,width:Math.max(0,n-t)}}function Ma(e){er.value||Vr.value||(Oa&&cancelAnimationFrame(Oa),Oa=requestAnimationFrame(()=>{Oa=0;let t=fa(e);if(!t||!U.value){Fa();return}let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a){Fa();return}let o=0;if(Q.value>1){let e=(t.x-n)/ka.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),da.value!==o&&(da.value=o,za(!0,o))}))}function Na(e){if($r.value){$r.value=!1;return}if(Vr.value)return;let t=fa(e);if(!t||!U.value)return;let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a)return;let o=0;if(Q.value>1){let e=(t.x-n)/ka.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),xo({seriesIndex:o,datapoint:po(o)}),Pa(o)}function Pa(e){let t=JSON.parse(JSON.stringify(X.value)).map(t=>({name:t.name,value:t.series[e]===0?0:t.series[e]||null,proportion:t.proportions[e]||null,color:t.color,id:t.id}));I.value.events.datapointClick&&I.value.events.datapointClick({datapoint:t,seriesIndex:e+Y.value.start}),N(`selectDatapoint`,{datapoint:t,period:zi.value[e]})}mt(()=>[Y.value.start,Y.value.end,X.value.length],()=>{let e=Q.value;if($.value!=null){if(e<=0){$.value=null;return}$.value<0&&($.value=0),$.value>e-1&&($.value=e-1)}});function Fa(){Oa&&=(cancelAnimationFrame(Oa),0),da.value=null,za(!1,null)}let $=E(null),Ia=y(()=>{let e=$.value,t=e==null?null:ai(e);return X.value.map(n=>({slotAbsoluteIndex:n.absoluteIndex,shape:n.shape||`circle`,name:n.name,color:n.color,value:e==null?null:n.series.find((t,n)=>n===e),sourceValue:t==null?null:n.seriesSource?.[t],comments:n.comments||[],id:n.id,standalone:!!n.standalone}))});function La(e){if(e==null||!V.value.showTimeLabel)return null;let t=zi.value?.[e]?.text||null,n=Zi.value?.[e]?.text||null,r=Bi.value?.[e]?.text||null;return V.value.useDefaultTimeFormat?t:n||r}let Ra=y(()=>{let e=V.value.customFormat,t=[...Ia.value].reverse(),n=t.filter(e=>!e.standalone),r=t.filter(e=>e.standalone),i=n.map(e=>e.value).filter(e=>ee(e)&&e!==null).reduce((e,t)=>Math.abs(e)+Math.abs(t),0);if(u(e)&&he(()=>e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ia.value,series:q.value,config:I.value})))return e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ia.value,series:q.value,config:I.value});let{showValue:a,showTotal:o,totalTranslation:l,showPercentage:d,borderColor:f,roundingValue:p,roundingPercentage:h}=V.value,te=e=>!e.shape||![`star`,`triangle`,`square`,`diamond`,`pentagon`,`hexagon`].includes(e.shape)?`<svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" /></svg>`:e.shape===`star`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><polygon stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" points="${c({plot:{x:6,y:6},radius:5})}" /></svg>`:e.shape===`triangle`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${m({plot:{x:6,y:6},radius:6,sides:3,rotation:.52}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`square`?`<svg viewBox="0 0 12 12" height="14" width="14"><path d="${m({plot:{x:6,y:6},radius:6,sides:4,rotation:.8}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`diamond`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${m({plot:{x:6,y:6},radius:5,sides:4,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`pentagon`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${m({plot:{x:6,y:6},radius:5,sides:5,rotation:.95}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${m({plot:{x:6,y:6},radius:5,sides:6,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`,ne=(e,t)=>{let n=t?s({v:isNaN((e.value??0)/(i||1))?0:Math.abs(e.value??0)/(i||1)*100,s:`%`,r:h}):``,r=a&&t?`(`:``,o=a&&t?`)`:``;return`
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{n as t,t as n}from"./tableIntegration-CNoJ1CIY.js";import{n as r,t as i}from"./annotationSlots-BRR85CqJ.js";import{n as a,t as o}from"./userOptionsSlots-DYuo-E5m.js";import{$ as s,B as c,D as l,Dt as u,Ft as d,Ht as f,Jt as p,M as m,Ot as ee,P as h,S as te,U as ne,X as g,Zt as re,_,_t as ie,at as ae,b as oe,c as se,dt as ce,en as le,gt as ue,i as de,in as fe,nn as pe,nt as me,pt as he,t as ge,tn as _e,v as ve,w as ye,wt as be,yt as xe,zt as Se}from"./lib-CV_IANZ6.js";import{n as Ce,t as we}from"./useHints-BH9r_0Vd.js";import{n as Te,r as Ee,t as De}from"./useTimeLabels-Das5O74F.js";import{t as Oe}from"./useConfig-CKdzPrcf.js";import{t as ke}from"./usePrinter-hLW3cv4N.js";import{n as Ae,t as je}from"./BaseScanner-8NdoBs7B.js";import{t as Me}from"./useNestedProp-CB186vF2.js";import{t as Ne}from"./useThemeCheck-BKNRbGeC.js";import{t as Pe}from"./useChartExport-DtPNpc9M.js";import{t as Fe}from"./useTransitions-DfSHzsdz.js";import{t as Ie}from"./useStableElementSize-CegFbRlF.js";import{t as Le}from"./useTimeLabelCollider-XQf_S7-z.js";import{t as Re}from"./img-DiT4ivZ5.js";import{n as ze}from"./Title-BGYFqulv.js";import{t as Be}from"./Shape-Bp9YNtPc.js";import{t as Ve}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{l as He,t as Ue}from"./useResponsive-D2CPcpda.js";import{t as We}from"./DefGrad-DKMq1REY.js";import{t as Ge}from"./SlicerPreview-CNUciSbY.js";import{t as Ke}from"./BaseLegendToggle-Bq5FjyuI.js";import{t as qe}from"./A11yDataTable-DWNlWXzs.js";import{t as Je}from"./useUserOptionState-CXlFnwPv.js";import{t as Ye}from"./useChartAccessibility-DOMuYJfm.js";import{t as Xe}from"./Legend-D8YoT1RJ.js";import{t as Ze}from"./vue_ui_stackline-D7b63K84.js";import{Fragment as v,Teleport as Qe,computed as y,createBlock as b,createCommentVNode as x,createElementBlock as S,createElementVNode as C,createSlots as $e,createTextVNode as et,createVNode as tt,defineAsyncComponent as nt,guardReactiveProps as rt,mergeProps as it,nextTick as at,normalizeClass as w,normalizeProps as ot,normalizeStyle as st,onBeforeUnmount as ct,onMounted as lt,openBlock as T,ref as E,renderList as D,renderSlot as O,resolveDynamicComponent as ut,shallowRef as dt,toDisplayString as k,toRefs as ft,unref as A,useSlots as pt,watch as mt,watchEffect as ht,withCtx as j}from"vue";var gt=/* @__PURE__ */ e({default:()=>sn}),_t=[`id`],vt=[`id`],yt=[`id`],bt={style:{position:`relative`}},xt=[`aria-describedby`,`xmlns`,`viewBox`],St=[`id`],Ct=[`x`,`y`,`width`,`height`],wt={key:0},Tt=[`x`,`y`,`width`,`height`],Et={key:1},Dt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Ot=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],kt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],At=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],jt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Mt=[`transform`,`font-size`,`fill`,`font-weight`],Nt=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],Pt=[`clip-path`],Ft=[`d`,`fill`,`opacity`],It=[`d`,`stroke`,`stroke-width`],Lt=[`x1`,`x2`,`y1`,`y2`,`stroke`],Rt=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],zt={key:0},Bt={key:1},Vt=[`text-anchor`,`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],Ht=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],Ut=[`x`,`y`,`height`,`width`,`fill`],Wt={key:0},Gt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Kt=[`clip-path`],qt={key:0},Jt=[`transform`,`font-size`,`fill`,`font-weight`],Yt=[`transform`,`font-size`,`font-weight`,`fill`],Xt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],Zt=[`data-start`,`data-end`],Qt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},$t={key:5,class:`vue-data-ui-watermark`},en=[`onClick`],tn={key:0},nn={key:1},rn=[`innerHTML`],an=[`id`],on=280,sn=/*#__PURE__*/ Ve({__name:`vue-ui-stackline`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},selectedXIndex:{type:Number,default:void 0},zoomState:{type:Object,default:null}},emits:[`selectDatapoint`,`selectLegend`,`selectTimeLabel`,`selectX`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:Ve,emit:gt}){let sn=nt(()=>import(`./Tooltip-Cus2-XNQ.js`)),cn=nt(()=>import(`./BaseIcon-DdIyewwY.js`).then(e=>e.n)),ln=nt(()=>import(`./vue-ui-accordion-BNvevckx.js`).then(e=>e.n)),un=nt(()=>import(`./DataTable-WNecJMcY.js`)),dn=nt(()=>import(`./PenAndPaper-IMw576MC.js`).then(e=>e.t)),fn=nt(()=>import(`./UserOptions-DTxMeZv3.js`).then(e=>e.n)),pn=nt(()=>import(`./PackageVersion-CdkxOy58.js`).then(e=>e.t)),mn=nt(()=>import(`./BaseDraggableDialog-D_tuHEjO.js`).then(e=>e.n)),{vue_ui_stackline:hn}=Oe(),{isThemeValid:gn,warnInvalidTheme:_n}=Ne(),vn=pt(),M=e,N=gt,yn=y({get(){return!!M.dataset&&M.dataset.length},set(e){return e}}),bn=E(null),P=E(g()),xn=E(!1),F=E([]),Sn=E(0),Cn=E(null),wn=E(null),Tn=E(null),En=E(null),Dn=E(null),On=E(!1),kn=E(!1),An=E(0),jn=E(0),Mn=E(0),Nn=E(!1),Pn=E(null),Fn=E(null),In=E(!1),Ln=E(null),Rn=E(null),zn=E(null),Bn=E(null),Vn=E(null),Hn=dt(null),Un=E(!1),Wn=E(0),Gn=E(0),Kn=E(null),qn=E({x:0,y:0}),Jn=E(`pointer`),Yn=Ie({elementRef:Hn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{Qn()}});function Xn(){Hn.value=bn.value?.parentNode??null}function Zn(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function Qn(){let e=++Gn.value;Un.value=!1,await at(),await Zn(),await Zn(),e===Gn.value&&(Wn.value+=1,Un.value=!0)}let $n=E(null),er=E(!1);function tr(){er.value=!er.value}lt(()=>{Xn(),Yn.start(),Nn.value=!0,Dr(),Qn()});let I=E(pr()),L=y(()=>I.value.userOptions),R=y(()=>I.value.style.chart.grid.x.timeLabels),z=y(()=>I.value.style.chart.grid),B=y(()=>I.value.style.chart.lines),V=y(()=>I.value.style.chart.tooltip),H=y(()=>I.value.style.chart);Ce({config:()=>I.value,dataset:()=>M.dataset,component:`VueUiStackline`,rules:[we.emptyArray,{test:e=>e.some(e=>e.series.length>200),message:[`👀 Some series have > 200 datapoints, which can impact performance. Consider:`,``,`▶️ Aggregating data to larger time units, to reduce the number of datapoints.`,``,`▶️ Using filters to constraint the data to a specific time range.`]},{test:e=>e.length>6,message:[`👀 The number of series > 6, which can make the chart hard to read. Consider:`,``,`▶️ Grouping small values into an "Other" category.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`]}]});let{transitionEnabled:nr}=Fe({config:()=>I.value.transitions,dataset:()=>M.dataset}),rr=y(()=>I.value.userOptions.useCursorPointer),ir=y(()=>fe({defaultConfig:{userOptions:{show:!1},useCssAnimation:!1,table:{show:!1},tooltip:{show:!1},style:{chart:{backgroundColor:`#99999930`,lines:{totalValues:{show:!1},dataLabels:{show:!1}},grid:{frame:{stroke:`#6A6A6A`},scale:{scaleMin:0,scaleMax:144},x:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},timeLabels:{show:!1}},y:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},axisLabels:{show:!1}}},legend:{backgroundColor:`transparent`},padding:{left:24,right:24,bottom:12},zoom:{show:!1,startIndex:null,endIndex:null,keepState:!1}}}},userConfig:I.value.skeletonConfig??{}})),{loading:ar,FINAL_DATASET:or,manualLoading:sr}=Ae({...ft(M),FINAL_CONFIG:I,prepareConfig:pr,callback:()=>{Promise.resolve().then(async()=>{(!H.value.zoom.keepState||!ta.value||Y.value.start===0&&Y.value.end===0)&&await ra()})},skeletonDataset:M.config?.skeletonDataset??[{name:``,series:[3,2,1,5,13,21,8,89,34,55],color:`#8A8A8A`},{name:``,series:[1,2,3,5,8,13,21,34,55,89],color:`#CACACA`}],skeletonConfig:fe({defaultConfig:I.value,userConfig:ir.value})}),{userOptionsVisible:cr,setUserOptionsVisibility:lr,keepUserOptionState:ur}=Je({config:I.value}),{svgRef:U}=Ye({config:H.value.title});function dr(){In.value=!0,lr(!0)}function fr(){lr(!1),In.value=!1,Kn.value=null,Jn.value=`pointer`,xn.value=!1,$.value=null,N(`selectX`,{index:null,indexLabel:null,dataset:null})}function pr(){let e=Me({userConfig:M.config,defaultConfig:hn}),t={};M.config&&be(M.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!M.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!gn.value(e))_n(e),t=e;else{let r=Me({userConfig:Ze[n]||M.config,defaultConfig:e});t={...Me({userConfig:M.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:pe[n]||f}}}else t=e;return t}let mr=y(()=>B.value.dataLabels.hideUnderValue!==null),hr=y(()=>B.value.dataLabels.hideUnderPercentage!==null),gr=re(M.config);mt(()=>M.config,(e,t)=>{let n=re(e),r=n!==gr;gr=n;let i=pr();if(!r){I.value.style.chart.tooltip=i.style.chart.tooltip,W.value.showTooltip=I.value.style.chart.tooltip.show;return}ar.value||(I.value=i),cr.value=!I.value.userOptions.showOnChartHover,W.value.dataLabels.show=B.value.dataLabels.show,W.value.showTable=I.value.table.show,W.value.showTooltip=V.value.show,Dr({resetSlicer:!H.value.zoom.keepState}),An.value+=1,jn.value+=1,Mn.value+=1,G.value.width=H.value.width,G.value.height=H.value.height,G.value.paddingRatio={top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width},Xn(),Qn(),!H.value.zoom.keepState||!ta.value||Y.value.start===0&&Y.value.end===0?ra():Ci()},{deep:!0}),mt(()=>M.dataset,e=>{Array.isArray(e)&&e.length>0&&(sr.value=!1),H.value.zoom.keepState?Ci():Ei(),Xn(),Qn()},{deep:!0});let W=E({dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show});mt(I,()=>{W.value={dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show}},{immediate:!0});let{isPrinting:_r,isImaging:vr,generatePdf:yr,generateImage:br}=ke({elementId:`stackline_${P.value}`,fileName:H.value.title.text||`vue-ui-stackline`,options:I.value.userOptions.print}),xr=y(()=>I.value.userOptions.show&&!H.value.title.text),G=E({width:H.value.width,height:H.value.height,paddingRatio:{top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width}}),Sr=y(()=>ye(I.value.customPalette)),Cr=dt(null),wr=dt(null),Tr=E(null),Er=y(()=>I.value.debug);function Dr({resetSlicer:e=!0}={}){if(Se(M.dataset)?(ae({componentName:`VueUiStackline`,type:`dataset`,debug:Er.value}),sr.value=!0):M.dataset.forEach((e,t)=>{xe({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{yn.value=!1,ae({componentName:`VueUiStackline`,type:`datasetSerieAttribute`,property:e,index:t,debug:Er.value}),sr.value=!0})}),Se(M.dataset)||(sr.value=I.value.loading),setTimeout(()=>{kn.value=!0},10),I.value.responsive){let e=He(()=>{kn.value=!1;let{width:e,height:t}=Ue({chart:bn.value,noTitle:En.value,title:H.value.title.text?Cn.value:null,legend:H.value.legend.show?wn.value:null,slicer:H.value.zoom.show&&J.value>6?Tn.value.$el:null,source:Dn.value});requestAnimationFrame(()=>{G.value.width=e,G.value.height=t-12,clearTimeout(Tr.value),Tr.value=setTimeout(()=>{kn.value=!0},10)})});Cr.value&&(wr.value&&Cr.value.unobserve(wr.value),Cr.value.disconnect()),Cr.value=new ResizeObserver(e),wr.value=bn.value.parentNode,Cr.value.observe(wr.value)}e&&ra()}ct(()=>{Yn.stop(),Cr.value&&(wr.value&&Cr.value.unobserve(wr.value),Cr.value.disconnect())});let Or=y(()=>z.value.y.position===`right`);function kr(){let e=0;zn.value&&(e=Array.from(zn.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0));let t=Rn.value?Rn.value.getBoundingClientRect().width+z.value.y.axisName.fontSize+z.value.y.axisName.offsetX:0;return{left:Or.value?0:e+t,right:Or.value?e+t:0,scaleLabelsWidth:e,yAxisLabelWidth:t}}let Ar=E(0),jr=E(0),Mr=E(0);function Nr(){let e=Bn.value;if(!e){jr.value=0;return}try{let t=e.getBBox();jr.value=Number.isFinite(t?.height)?t.height:0}catch{jr.value=0}}function Pr(){Mr.value&&cancelAnimationFrame(Mr.value),Mr.value=requestAnimationFrame(()=>{requestAnimationFrame(()=>{Nr()})})}ct(()=>{Mr.value&&cancelAnimationFrame(Mr.value),jr.value=0,Ar.value=0});let Fr=y(()=>{let e=0;if(Ln.value)try{e=Ln.value.getBBox().height}catch{e=0}let t=R.value.show?jr.value:0;return e+t}),K=y(()=>{Wn.value;let{height:e,width:t}=G.value,{right:n}=G.value.paddingRatio,r=B.value.totalValues.show&&M.dataset&&M.dataset.length>1?B.value.totalValues.fontSize*1.3:0,i=0,a=0,o=0,s=0;if(z.value.y.axisLabels.show){let e=kr();i=e.left,a=e.right,o=e.scaleLabelsWidth,s=e.yAxisLabelWidth}let c=H.value.padding.top+r,l=t-t*n-Ar.value-a,u=e-H.value.padding.bottom-Fr.value-r,d=H.value.padding.left+i,f=t-d-t*n-Ar.value-a,p=e-c-H.value.padding.bottom-Fr.value-r;return{chartHeight:Math.max(0,e),chartWidth:Math.max(0,t),top:c,right:Math.max(0,l),bottom:Math.max(0,u),left:Math.max(0,d),width:Math.max(0,f),height:Math.max(0,p),offsetLeftAxis:i,offsetRightAxis:a,scaleLabelsWidth:o,yAxisLabelWidth:s}}),Ir=y(()=>{let{left:e,top:t,width:n,height:r}=K.value,i=Y.value.start,a=Y.value.end,o=Math.max(1,a-i),s=Math.max(0,Math.min(o,(Br.value.start??i)-i)),c=Math.max(0,Math.min(o,(Br.value.end??a)-i)),l=Math.max(0,c-s),u={fill:H.value.zoom.preview.fill,stroke:H.value.zoom.preview.stroke,"stroke-width":H.value.zoom.preview.strokeWidth,"stroke-dasharray":H.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}},d=n/o;return{x:e+s*d,y:t,width:l*d,height:r,...u}}),q=y(()=>or.value.map((e,t)=>{let n=g(),r=te(e.color)||Sr.value[t]||f[t]||f[t%f.length];return{...e,shape:e.shape||`circle`,standalone:!!e.standalone,series:JSON.parse(JSON.stringify(e.series)).map(e=>B.value.distributed?Math.abs(e):e),seriesSource:e.series,signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:r}})),Lr=y(()=>q.value.filter(e=>!F.value.includes(e.id)&&!e.standalone)),Rr=y(()=>q.value.filter(e=>!F.value.includes(e.id)&&e.standalone)),J=y(()=>{let e=Math.max(...q.value.filter(e=>!F.value.includes(e.id)).map(e=>e.series.length));return isFinite(e)?e:Math.max(...q.value.map(e=>e.series.length))});function zr(e){$n.value=e}let Y=E({start:0,end:Math.max(...or.value.map(e=>e.series.length))}),Br=E({start:0,end:Math.max(...or.value.map(e=>e.series.length))}),Vr=E(!1),Hr=E(!1),Ur=E(!1),Wr=E(`matrix(1, 0, 0, 1, 0, 0)`),Gr=E(!1),Kr=0,qr=0,Jr=0,Yr=0,Xr=E(null),Zr=E(null),Qr=E(null),$r=E(!1),ei=E({time:0,x:0,y:0,pointerType:null}),ti=y(()=>H.value.zoom?.dragToZoom),ni=y(()=>ti.value.show&&yn.value&&ta.value&&!ar.value),ri=null,ii={};function ai(e){return(Y.value.start??0)+(e??0)}let oi=y(()=>H.value.zoom.preview.enable&&(Br.value.start!==Y.value.start||Br.value.end!==Y.value.end));function si(e,t){Br.value[e]=t}function ci(e,t=Y.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function li(e){let t=ci(e);t&&N(`update:zoomState`,t)}function ui(){ri&&=(cancelAnimationFrame(ri),null),ii={}}function di(e=Y.value){return{start:Number(e.start),end:Number(e.end)}}function fi(e,t){let n=Number(K.value?.left)||0,r=Math.max(0,Number(K.value?.width)||0),i=Number(t?.start),a=Number(t?.end),o=a-i;return!Number.isFinite(e)||!Number.isFinite(i)||!Number.isFinite(a)||o<=0?n:o<=1?n+r/2:n+(e-i)/(o-1)*r}function pi(){if(B.value.distributed)return null;let e=(Ri.value||[]).filter(e=>Number.isFinite(e?.value)&&Number.isFinite(e?.y));if(e.length<2)return null;let t=e.reduce((e,t)=>t.value<e.value?t:e),n=e.reduce((e,t)=>t.value>e.value?t:e);return n.value===t.value||n.y===t.y?null:{minValue:t.value,maxValue:n.value,minY:t.y,maxY:n.y}}function mi(e,t){if(!t||!Number.isFinite(e))return Number(K.value?.bottom)||0;let n=t.maxValue-t.minValue;if(!Number.isFinite(n)||n===0)return t.minY;let r=(e-t.minValue)/n;return t.minY+(t.maxY-t.minY)*r}function hi({previousRange:e,targetRange:t,previousYScale:n,targetYScale:r}){let i=Number(t.start),a=Number(t.end)-1,o=1,s=0;if(Number.isFinite(i)&&Number.isFinite(a)&&a>i){let n=fi(i,t),r=fi(a,t),c=fi(i,e),l=fi(a,e),u=r-n;Number.isFinite(u)&&Math.abs(u)>1e-9&&(o=(l-c)/u,s=c-o*n)}let c=1,l=0;if(n&&r){let e=r.minValue,t=r.maxValue,i=mi(e,r),a=mi(t,r),o=mi(e,n),s=mi(t,n),u=a-i;Number.isFinite(u)&&Math.abs(u)>1e-9&&(c=(s-o)/u,l=o-c*i)}return[o,s,c,l].every(Number.isFinite)?`matrix(${o}, 0, 0, ${c}, ${s}, ${l})`:`matrix(1, 0, 0, 1, 0, 0)`}function gi({resetTransform:e=!0}={}){Yr+=1,Kr&&=(cancelAnimationFrame(Kr),0),qr&&=(cancelAnimationFrame(qr),0),Jr&&=(clearTimeout(Jr),0),Gr.value=!1,Ur.value=!1,e&&(Wr.value=`matrix(1, 0, 0, 1, 0, 0)`)}function _i(e,t){return!U.value||ar.value||!yn.value||!e||!t||typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`)?.matches?!1:Number.isFinite(e.start)&&Number.isFinite(e.end)&&Number.isFinite(t.start)&&Number.isFinite(t.end)&&e.end>e.start&&t.end>t.start}function vi(e,t){let n=di();if(!_i(e,n))return gi(),!1;let r=hi({previousRange:e,targetRange:n,previousYScale:t,targetYScale:pi()});if(r===`matrix(1, 0, 0, 1, 0, 0)`)return gi(),!1;gi();let i=++Yr;return Ur.value=!0,Gr.value=!1,Wr.value=r,Kr=requestAnimationFrame(()=>{Kr=0,qr=requestAnimationFrame(()=>{qr=0,i===Yr&&(Gr.value=!0,Wr.value=`matrix(1, 0, 0, 1, 0, 0)`,Jr=setTimeout(()=>{Jr=0,i===Yr&&(Gr.value=!1,Ur.value=!1)},on))})}),!0}let yi=y(()=>({transform:Wr.value,transformOrigin:`0 0`,transformBox:`view-box`,transition:Gr.value?`transform ${on}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:Ur.value?`transform`:void 0})),bi=y(()=>Ur.value?`url(#vue_ui_stackline_zoom_clip_${P.value})`:void 0);function xi(e,{transition:t=!1}={}){let n=ci(e);if(!n)return null;let{start:r,end:i}=n;if(r!==Number(Y.value.start)||i!==Number(Y.value.end)){let e=di(),n=pi();ui(),Y.value={start:r,end:i},Br.value={start:r,end:i},Ci(),t&&vi(e,n)}return{start:Number(Y.value.start),end:Number(Y.value.end)}}function Si(e,{transition:t=!0}={}){let n=xi(e,{transition:t});return n?(N(`update:zoomState`,n),n):null}function Ci(){let e=J.value,t=Math.max(0,Math.min(Y.value.start??0,e-1)),n=Math.max(t+1,Math.min(Y.value.end??e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),Y.value.start=t,Y.value.end=n,Br.value.start=t,Br.value.end=n,Tn.value&&Tn.value.setRangeValues(t,n)}let wi=E(null);function Ti(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}ct(()=>{wi.value&&cancelAnimationFrame(wi.value),ui(),_a(),gi()});async function Ei({force:e=!1,publish:t=!1,transition:n=e&&t}={}){if(H.value.zoom.keepState&&!e&&ta.value&&(Y.value.start!==0||Y.value.end!==0)){Ci();return}let r=!e,i=n?di():null,a=n?pi():null;ra(r),n&&vi(i,a),await at(),wi.value&&cancelAnimationFrame(wi.value),wi.value=requestAnimationFrame(async()=>{await Ti(),ra(r),wi.value=null,t&&(li({start:Number(Y.value.start),end:Number(Y.value.end)}),N(`zoomReset`))})}let Di=y(()=>Math.max(0,K.value.width/(Y.value.end-Y.value.start))),Oi=y(()=>le(Lr.value.map(e=>({...e,series:e.series.map(e=>e??0)}))).slice(Y.value.start,Y.value.end)),ki=y(()=>F.value.length===q.value.length),Ai=y(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>ki.value?!0:!F.value.includes(e.id)&&!e.standalone);if(e.length)return le(e.map(e=>({...e,series:(e.series||[]).map(e=>e??0)})));let t=Rr.value;if(!t.length)return[];let n=Math.max(...t.map(e=>e.series.length||0));return Array.from({length:n},(e,n)=>t.reduce((e,t)=>e+Math.abs(t.series[n]??0),0))}),ji=y(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>ki.value?!0:!F.value.includes(e.id)&&!e.standalone),t=Rr.value,n=e.length?[{name:``,series:Ai.value,color:`#000000`,isVisible:!0}]:[],r=t.map(e=>({name:e.name||``,series:(e.series||[]).map(e=>e??0),color:e.color,isVisible:!0}));return n.concat(r)}),Mi=y(()=>le(Lr.value.filter(e=>!F.value.includes(e.id)).map(e=>({...e,series:e.series.map((t,n)=>{let r=t??0;return e.signedSeries[n]===-1&&r>=0?-r:r})}))).slice(Y.value.start,Y.value.end)),Ni=y(()=>{let e=Lr.value.filter(e=>!F.value.includes(e.id));return{positive:le(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)>=0?e??0:0)}))),negative:le(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)<0?e??0:0)})))}}),Pi=y(()=>{let e=Math.max(0,Y.value.end-Y.value.start),t=Array(e).fill(0),n=Array(e).fill(0);return Rr.value.forEach(r=>{for(let i=0;i<e;i+=1){let e=r.series[Y.value.start+i]??0;e>0&&(t[i]=Math.max(t[i],e)),e<0&&(n[i]=Math.min(n[i],e))}}),{positive:t,negative:n}}),Fi=y(()=>Mi.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function Ii(){return{y0:Ri.value?.[0]?.zero??K.value.bottom}}function Li(e){let{y0:t}=Ii(),n=B.value.totalValues,r=Math.max(2,n.fontSize*1.3+n.offsetY),i=e=>Math.min(Math.max(e,K.value.top-B.value.totalValues.fontSize*1.3),K.value.bottom+B.value.totalValues.fontSize*2);if((Fi.value?.[e]?.value??0)>=0||B.value.distributed){let n=1/0;for(let t of X.value||[]){let r=t?.series?.[e],i=t?.topY?.[e];(r??0)>0&&Number.isFinite(i)&&i<n&&(n=i)}return i((Number.isFinite(n)?n:t)-r-B.value.totalValues.offsetY)}{let a=-1/0;for(let t of X.value||[]){let n=t?.series?.[e],r=t?.topY?.[e];(n??0)<0&&Number.isFinite(r)&&r>a&&(a=r)}return i((Number.isFinite(a)?a:t)+r+n.fontSize*.7+B.value.totalValues.offsetY)}}let Ri=y(()=>{let e=Math.max(...Ni.value.positive,0),t=Math.min(...Ni.value.negative,0),n=Math.max(...Pi.value.positive,0),r=Math.min(...Pi.value.negative,0),i=Math.max(e,n),a=Math.min(t,r),o=[-1/0,1/0,NaN,void 0,null].includes(a)?0:a,s=z.value.scale.scaleMin,c=z.value.scale.scaleMax,l=!B.value.distributed&&(s!==null||c!==null),u=s!==null&&!B.value.distributed?s:o>0?0:o,d=c!==null&&!B.value.distributed?c:i<0?0:i,f=l?ve(u,d,z.value.scale.ticks):_(u,d,z.value.scale.ticks),p=Math.abs(Number(f.min)||0),m=(Number(f.max)||0)+p,ee=m===0||!Number.isFinite(m)?1:m,h=Array.isArray(f.ticks)&&f.ticks.length?f.ticks:[0],te=K.value.bottom-K.value.height*(p/ee);return h.map(e=>{let t=Number(e)||0,n=K.value.bottom-K.value.height*((t+p)/ee);return{zero:te,y:n,x:Or.value?Z.value.right+8:Z.value.left-8,value:t}})}),zi=E([]),Bi=E([]),Vi=0;ht(()=>{let e=++Vi;(async()=>{let t=await De({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:Y.value.start,end:Y.value.end});e===Vi&&(zi.value=t)})()});let Hi=0;ht(()=>{let e=++Hi;(async()=>{let t=await De({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:0,end:J.value});e===Hi&&(Bi.value=t)})()});let Ui=y(()=>{let e=Math.max(1,Math.floor(Number(R.value.modulo)||1)),t=(zi.value||[]).map(e=>e?.text??``),n=(Bi.value||[]).map(e=>e?.text??``),r=Y.value.start??0,i=r>0||t.length<n.length;return ue({configuredModulo:e,visibleTexts:t,allTexts:n,startAbs:r,isZoomed:i})});function Wi(e){let t=R.value,n=zi.value||[],r=Bi.value||[],i=Y.value.start??0,a=J.value,o=n.map(e=>e?.text??``),s=r.map(e=>e?.text??``),c=se(!!t.showOnlyFirstAndLast,!!t.showOnlyAtModulo,Ui.value,o,s,i,e,a);if(!t.showFirstAndLast||t.showOnlyFirstAndLast||!c.length)return c;let l=c.length-1;return c.map((e,t)=>t!==0&&t!==l?e:{...e,text:o[t]??``})}let Gi=y(()=>Wi($.value)),Ki=y(()=>Wi(null));ht(()=>{R.value.show,R.value.fontSize,R.value.rotation,R.value.offsetY,(Ki.value||[]).map(e=>e?.text??``).join(`|`),G.value.width,G.value.height,Bn.value,Ln.value,Pr()},{flush:`post`});let qi=E({months:[],shortMonths:[],days:[],shortDays:[]}),Ji=0;ht(()=>{let e=++Ji,t=R.value.datetimeFormatter;(async()=>{let n=await Ee(t.locale).catch(()=>Ee(`en`));e===Ji&&(qi.value=n.data)})()});let Yi=y(()=>{let e=R.value.datetimeFormatter,t=Te({useUTC:e.useUTC,locale:qi.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{let r=R.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),Xi=y(()=>(R.value.values||[]).map((e,t)=>({text:Yi.value(t,H.value.zoom.timeFormat),absoluteIndex:t}))),Zi=y(()=>(R.value.values||[]).map((e,t)=>({text:Yi.value(t,V.value.timeFormat),absoluteIndex:t}))),Qi=y(()=>{if(!yn.value&&!ar.value)return[];let e=K.value.height,t=Ri.value[0]?Ri.value[0].zero:K.value.bottom,n=Y.value.start??0,r=Y.value.end??0,i=Math.max(1,r-n),a=Math.max(...Ni.value.positive,0),o=Math.min(...Ni.value.negative,0),s=Math.max(...Pi.value.positive,0),c=Math.min(...Pi.value.negative,0),l=Math.max(a,s),u=Math.min(o,c),{min:d,max:f}=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?ve(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks),p=f+(d>=0?0:Math.abs(d))||1,m=Array(i).fill(0),ee=Array(i).fill(0),h=e=>i<=1?K.value.left+K.value.width/2:K.value.left+e/(i-1)*K.value.width;return q.value.filter(e=>!F.value.includes(e.id)).map(r=>{let a=[],o=[],s=[],c=Array(i).fill(null),l=Array(i).fill(null);for(let u=0;u<i;u+=1){let i=n+u,d=r.series?.[i],f=r.signedSeries?.[i],h=d==null||Number.isNaN(d)?0:d,te=r.standalone?h/p:B.value.distributed?h/(Oi.value[u]||1):h/p;if(h>=0){let n=e*Math.abs(te);if(r.standalone)c[u]=t,l[u]=t-n;else{let e=m[u],r=e+n;c[u]=t-e,l[u]=t-r,m[u]=r}}else{let n=e*Math.abs(te);if(r.standalone)c[u]=t,l[u]=t+n;else{let e=ee[u],r=e+n;c[u]=t+e,l[u]=t+r,ee[u]=r}}a.push(u),o.push(h),s.push(f??(h>=0?1:-1))}let u=a.map(e=>({x:h(e),y:l[e]})),d=u.map(e=>e.x),f=o.reduce((e,t)=>e+Math.abs(t||0),0),te=f===0?1:f,ne=o.map((e,t)=>{if(B.value.distributed&&!r.standalone){let n=a[t],r=Oi.value[n]||1;return(e||0)/r}return(e||0)/te});return{...r,x:d,points:u,baseY:a.map(e=>c[e]),topY:a.map(e=>l[e]),series:o,signedSeries:s,proportions:ne,rel:a,fullSeries:Array.isArray(r.fullSeries)?r.fullSeries:r.series}})}),X=y(()=>{let e=e=>typeof e==`string`?e.replace(/^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i,``).trim():``,t=Math.max(...Ni.value.positive,0),n=Math.min(...Ni.value.negative,0),r=Math.max(...Pi.value.positive,0),i=Math.min(...Pi.value.negative,0),a=Math.max(t,r),o=Math.min(n,i),s=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?ve(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks),c=Number(s.min)||0,l=Number(s.max)||0,u=Math.abs(c),d=l+u||1,f=e=>{if(B.value.distributed){let t=Math.max(0,Math.min(1,e));return minimapH-minimapH*t}return clampY(minimapH-minimapH*(((e??0)+u)/d))};return Qi.value.map(t=>{let n=t.x.length,r=Array.isArray(t.fullSeries)?t.fullSeries:t.series,i=({left:e=0,unitW:t})=>{let n=r.length;return!Number.isFinite(t)||t<=0||n<=0?[]:n===1?[e+t*.5]:r.map((n,r)=>e+r*t)},a=({minimapH:e})=>!Number.isFinite(e)||e<=0?[]:r.map(t=>f(t||0,e)),o=({minimapH:e})=>{if(!Number.isFinite(e)||e<=0)return[];let t=f(0,e);return r.map(()=>t)};if(n===0)return{...t,points:[],smoothPath:``,straightPath:``,smoothArea:``,straightArea:``,xMinimap:i,yMinimap:a,yMinimapBase:o};let s=t.x.map((e,n)=>({x:e,y:t.topY[n]})),c=t.x.map((e,n)=>({x:e,y:t.baseY[n]})),l=n>=2?h(s):`M${s[0].x},${s[0].y}`,u=n>=2?ne(s):`M${s[0].x},${s[0].y}`,d=n>=2?`M${e(l)}`:l,p=n>=2?`M${e(u)}`:u,m=``,ee=``;if(B.value.useArea&&n>=2){let t=h([...c].reverse()),n=ne([...c].reverse()),r=c[c.length-1];m=`M${s[0].x},${s[0].y} ${e(l)} L${r.x},${r.y} ${e(t)} Z`,ee=`M${s[0].x},${s[0].y} ${e(u)} L${r.x},${r.y} ${e(n)} Z`}return{...t,points:s,smoothPath:d,straightPath:p,smoothArea:m,straightArea:ee,xMinimap:i,yMinimap:a,yMinimapBase:o}})}),$i=y(()=>$.value===null||$.value===void 0?null:{timeLabel:La($.value),absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ia.value,series:X.value,config:I.value}),ea=E(!1),ta=E(!1);function na(e,t=Y.value.start){let n=J.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function ra(e=!0){if(!ea.value){ea.value=!0;try{let{startIndex:t,endIndex:n,keepState:r}=H.value.zoom,i=r?Math.max(0,J.value):J.value;if(r&&i<=0)return;let a=t??0,o=n==null?i:Math.min(na(n+1,a),i);ca.value=!0,Y.value.start=a,Y.value.end=o,Br.value.start=a,Br.value.end=o,Ci(),ta.value=!0,e&&M.zoomState&&xi(M.zoomState)}finally{queueMicrotask(()=>{ca.value=!1}),ea.value=!1}}}function ia(e){ii={...ii,...e},ri&&cancelAnimationFrame(ri),ri=requestAnimationFrame(()=>{let e={...Y.value,...ii};ii={},ri=null,Y.value=e,Br.value={...e},Ci(),li({start:Number(Y.value.start),end:Number(Y.value.end)})})}function aa(e){if(ea.value||ca.value)return;let t=Number(e);Number.isFinite(t)&&(N(`zoomStart`,{index:t,isZoom:t!==0}),t!==Y.value.start&&ia({start:t}))}function oa(e){if(ea.value||ca.value)return;let t=ii.start===void 0?Y.value.start:ii.start,n=na(Number(e),t);Number.isFinite(n)&&(N(`zoomEnd`,{index:n,isZoom:n!==J.value}),(n!==Y.value.end||ii.start!==void 0)&&ia({end:n}))}let Z=y(()=>({left:K.value.left,right:K.value.right,width:K.value.width})),sa=y(()=>{let e=z.value.y.axisLabels,{prefix:t,suffix:n}=B.value.dataLabels;return Ri.value.map(r=>String(de(e.formatter,r.value,s({p:t,v:r.value,s:n,r:e.rounding}),{datapoint:r})??``)).join(`|`)});mt([sa,()=>z.value.y.axisLabels.show,()=>z.value.y.axisLabels.fontSize,()=>z.value.y.axisLabels.bold,()=>z.value.y.position],()=>{z.value.y.axisLabels.show&&Qn()},{flush:`post`});let ca=E(!1);mt([()=>M.zoomState,ta],([e,t])=>{t&&e&&xi(e,{transition:!0})},{deep:!0,immediate:!0});let la=y(()=>G.value.width),ua=y(()=>G.value.height);Le({timeLabelsEls:Bn,timeLabels:zi,slicer:Y,configRef:I,rotationPath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:la,height:ua,rotation:R.value.autoRotate.angle});let da=E(null);function fa(e){let t=U.value;if(!t)return null;if(t.createSVGPoint&&t.getScreenCTM){let n=t.createSVGPoint();n.x=e.clientX,n.y=e.clientY;let r=t.getScreenCTM();if(r){let e=n.matrixTransform(r.inverse());return{x:e.x,y:e.y,ok:!0}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},i=Math.min(n.width/r.width,n.height/r.height),a=r.width*i,o=r.height*i,s=(n.width-a)/2,c=(n.height-o)/2;return{x:(e.clientX-n.left-s)/i+r.x,y:(e.clientY-n.top-c)/i+r.y,ok:!0}}let pa=y(()=>!Vr.value||Xr.value==null||Zr.value==null?null:{x:Math.min(Xr.value,Zr.value),y:K.value.top,width:Math.abs(Zr.value-Xr.value),height:K.value.height}),ma=y(()=>ta.value?Number(Y.value.start)!==0||Number(Y.value.end)!==Number(J.value):!1);function ha(e){return Math.min(Math.max(e,K.value.left),K.value.right)}function ga(){Oa&&=(cancelAnimationFrame(Oa),0),da.value=null,$n.value=null,Kn.value=null,$.value=null,za(!1,null)}function _a(e){let t=e?.pointerId==null?Qr.value:e.pointerId;t!=null&&U.value?.hasPointerCapture?.(t)&&U.value.releasePointerCapture(t),Vr.value=!1,Xr.value=null,Zr.value=null,Qr.value=null}function va(){$r.value=!0,setTimeout(()=>{$r.value=!1},0)}function ya(e){if(!ni.value||!ma.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=ei.value,i=n===`touch`?450:350,a=n===`touch`?28:10,o=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=i&&o<=a?(ei.value={time:0,x:0,y:0,pointerType:null},va(),_a(e),Ei({force:!0,publish:!0}),!0):(ei.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function ba(e){if(Q.value<=0)return null;if(Q.value===1||ka.value<=0)return 0;let t=(ha(e)-K.value.left)/ka.value;return Math.max(0,Math.min(Q.value-1,Math.round(t)))}function xa(e,t){let n=ba(e),r=ba(t);if(n==null||r==null)return null;let i=Math.min(n,r),a=Math.max(n,r);return a<=i?null:{start:Number(Y.value.start)+i,end:Number(Y.value.start)+a+1}}function Sa(e){let t=Si(e,{transition:!0});return t?(N(`zoomStart`,{index:t.start,isZoom:t.start!==0}),N(`zoomEnd`,{index:t.end,isZoom:t.end!==J.value}),t):null}function Ca(){Hr.value=!0,U.value?.classList?.add(`vue-ui-stackline-chart-zoom-pointer-focus`)}function wa(){Hr.value=!1,U.value?.classList?.remove(`vue-ui-stackline-chart-zoom-pointer-focus`)}function Ta(e){if(!ni.value||er.value||e.button!==void 0&&e.button!==0||Qr.value!=null&&e.pointerId!==Qr.value)return;let t=fa(e);if(!t)return;let{left:n,right:r,top:i,bottom:a}=K.value;t.x<n||t.x>r||t.y<i||t.y>a||Q.value<=1||(Ca(),U.value?.focus?.({preventScroll:!0}),ga(),Qr.value=e.pointerId,Vr.value=!0,Xr.value=ha(t.x),Zr.value=ha(t.x))}function Ea(e){if(!ni.value||!Vr.value||Qr.value!=null&&e.pointerId!==Qr.value)return;let t=fa(e);t&&(Zr.value=ha(t.x),Xr.value!=null&&Math.abs(Zr.value-Xr.value)>=2&&!U.value?.hasPointerCapture?.(e.pointerId)&&U.value?.setPointerCapture?.(e.pointerId))}function Da(e){if(!ni.value||!Vr.value||Qr.value!=null&&e.pointerId!==Qr.value)return;let t=fa(e);t&&(Zr.value=ha(t.x));let n=Xr.value,r=Zr.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,K.value.width*.01)){if(ya(e))return;_a(e);return}let i=xa(Math.min(n,r),Math.max(n,r));if(!i){_a(e);return}_a(e),Sa(i)&&(ei.value={time:0,x:0,y:0,pointerType:null},ga(),va())}let Oa=0,Q=y(()=>Math.max(1,Y.value.end-Y.value.start)),ka=y(()=>Q.value>1?K.value.width/(Q.value-1):0);function Aa(e){return Q.value<=1?K.value.left+K.value.width/2:K.value.left+e*ka.value}function ja(e){if(Q.value<=1)return{x:K.value.left,width:K.value.width};let t=e===0?K.value.left:(Aa(e-1)+Aa(e))/2,n=e===Q.value-1?K.value.left+K.value.width:(Aa(e)+Aa(e+1))/2;return{x:t,width:Math.max(0,n-t)}}function Ma(e){er.value||Vr.value||(Oa&&cancelAnimationFrame(Oa),Oa=requestAnimationFrame(()=>{Oa=0;let t=fa(e);if(!t||!U.value){Fa();return}let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a){Fa();return}let o=0;if(Q.value>1){let e=(t.x-n)/ka.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),da.value!==o&&(da.value=o,za(!0,o))}))}function Na(e){if($r.value){$r.value=!1;return}if(Vr.value)return;let t=fa(e);if(!t||!U.value)return;let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a)return;let o=0;if(Q.value>1){let e=(t.x-n)/ka.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),xo({seriesIndex:o,datapoint:po(o)}),Pa(o)}function Pa(e){let t=JSON.parse(JSON.stringify(X.value)).map(t=>({name:t.name,value:t.series[e]===0?0:t.series[e]||null,proportion:t.proportions[e]||null,color:t.color,id:t.id}));I.value.events.datapointClick&&I.value.events.datapointClick({datapoint:t,seriesIndex:e+Y.value.start}),N(`selectDatapoint`,{datapoint:t,period:zi.value[e]})}mt(()=>[Y.value.start,Y.value.end,X.value.length],()=>{let e=Q.value;if($.value!=null){if(e<=0){$.value=null;return}$.value<0&&($.value=0),$.value>e-1&&($.value=e-1)}});function Fa(){Oa&&=(cancelAnimationFrame(Oa),0),da.value=null,za(!1,null)}let $=E(null),Ia=y(()=>{let e=$.value,t=e==null?null:ai(e);return X.value.map(n=>({slotAbsoluteIndex:n.absoluteIndex,shape:n.shape||`circle`,name:n.name,color:n.color,value:e==null?null:n.series.find((t,n)=>n===e),sourceValue:t==null?null:n.seriesSource?.[t],comments:n.comments||[],id:n.id,standalone:!!n.standalone}))});function La(e){if(e==null||!V.value.showTimeLabel)return null;let t=zi.value?.[e]?.text||null,n=Zi.value?.[e]?.text||null,r=Bi.value?.[e]?.text||null;return V.value.useDefaultTimeFormat?t:n||r}let Ra=y(()=>{let e=V.value.customFormat,t=[...Ia.value].reverse(),n=t.filter(e=>!e.standalone),r=t.filter(e=>e.standalone),i=n.map(e=>e.value).filter(e=>ee(e)&&e!==null).reduce((e,t)=>Math.abs(e)+Math.abs(t),0);if(u(e)&&he(()=>e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ia.value,series:q.value,config:I.value})))return e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ia.value,series:q.value,config:I.value});let{showValue:a,showTotal:o,totalTranslation:l,showPercentage:d,borderColor:f,roundingValue:p,roundingPercentage:h}=V.value,te=e=>!e.shape||![`star`,`triangle`,`square`,`diamond`,`pentagon`,`hexagon`].includes(e.shape)?`<svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" /></svg>`:e.shape===`star`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><polygon stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" points="${c({plot:{x:6,y:6},radius:5})}" /></svg>`:e.shape===`triangle`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${m({plot:{x:6,y:6},radius:6,sides:3,rotation:.52}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`square`?`<svg viewBox="0 0 12 12" height="14" width="14"><path d="${m({plot:{x:6,y:6},radius:6,sides:4,rotation:.8}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`diamond`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${m({plot:{x:6,y:6},radius:5,sides:4,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`pentagon`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${m({plot:{x:6,y:6},radius:5,sides:5,rotation:.95}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${m({plot:{x:6,y:6},radius:5,sides:6,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`,ne=(e,t)=>{let n=t?s({v:isNaN((e.value??0)/(i||1))?0:Math.abs(e.value??0)/(i||1)*100,s:`%`,r:h}):``,r=a&&t?`(`:``,o=a&&t?`)`:``;return`
2
2
  <div style="display:flex;flex-direction:row;align-items:center;gap:4px">
3
3
  <div style="width:20px;height:20px;display:flex;align-items:center;justify-content:center;">${te(e)}</div>
4
4
  ${e.name}${a||t?`:`:``}